From 98263a7de64269898a2f81207e38943b5c8e8653 Mon Sep 17 00:00:00 2001 From: Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com> Date: Thu, 12 Aug 2021 21:03:24 +0200 Subject: [PATCH] Grand test fixup (#138) * start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig --- .drone.yml | 67 +- .github/workflows/golangci-lint.yml | 37 - CONTRIBUTING.md | 36 +- Dockerfile | 3 + README.md | 4 + internal/api/client/media/mediacreate_test.go | 2 +- .../api/client/status/statuscreate_test.go | 20 +- internal/federation/federator_test.go | 63 +- internal/oauth/clientstore_test.go | 49 +- internal/typeutils/astointernal_test.go | 57 - internal/typeutils/frontendtointernal.go | 2 + testrig/db.go | 11 +- vendor/github.com/aymerick/douceur/LICENSE | 22 + .../aymerick/douceur/css/declaration.go | 60 + .../github.com/aymerick/douceur/css/rule.go | 230 + .../aymerick/douceur/css/stylesheet.go | 25 + .../aymerick/douceur/parser/parser.go | 409 + .../github.com/buckket/go-blurhash/.gitignore | 2 + .../buckket/go-blurhash/.travis.yml | 14 + vendor/github.com/buckket/go-blurhash/LICENSE | 674 ++ .../github.com/buckket/go-blurhash/README.md | 96 + .../buckket/go-blurhash/base83/base83.go | 58 + .../github.com/buckket/go-blurhash/decode.go | 109 + .../github.com/buckket/go-blurhash/encode.go | 164 + vendor/github.com/buckket/go-blurhash/go.mod | 3 + .../github.com/buckket/go-blurhash/test.png | Bin 0 -> 62676 bytes .../buckket/go-blurhash/test_blur.png | Bin 0 -> 17886 bytes .../github.com/buckket/go-blurhash/utils.go | 23 + vendor/github.com/coreos/go-oidc/v3/LICENSE | 202 + vendor/github.com/coreos/go-oidc/v3/NOTICE | 5 + .../github.com/coreos/go-oidc/v3/oidc/jose.go | 16 + .../github.com/coreos/go-oidc/v3/oidc/jwks.go | 208 + .../github.com/coreos/go-oidc/v3/oidc/oidc.go | 459 + .../coreos/go-oidc/v3/oidc/verify.go | 336 + .../cpuguy83/go-md2man/v2/LICENSE.md | 21 + .../cpuguy83/go-md2man/v2/md2man/md2man.go | 14 + .../cpuguy83/go-md2man/v2/md2man/roff.go | 336 + vendor/github.com/davecgh/go-spew/LICENSE | 15 + .../github.com/davecgh/go-spew/spew/bypass.go | 145 + .../davecgh/go-spew/spew/bypasssafe.go | 38 + .../github.com/davecgh/go-spew/spew/common.go | 341 + .../github.com/davecgh/go-spew/spew/config.go | 306 + vendor/github.com/davecgh/go-spew/spew/doc.go | 211 + .../github.com/davecgh/go-spew/spew/dump.go | 509 + .../github.com/davecgh/go-spew/spew/format.go | 419 + .../github.com/davecgh/go-spew/spew/spew.go | 148 + vendor/github.com/dgrijalva/jwt-go/.gitignore | 4 + .../github.com/dgrijalva/jwt-go/.travis.yml | 13 + vendor/github.com/dgrijalva/jwt-go/LICENSE | 8 + .../dgrijalva/jwt-go/MIGRATION_GUIDE.md | 97 + vendor/github.com/dgrijalva/jwt-go/README.md | 100 + .../dgrijalva/jwt-go/VERSION_HISTORY.md | 118 + vendor/github.com/dgrijalva/jwt-go/claims.go | 134 + vendor/github.com/dgrijalva/jwt-go/doc.go | 4 + vendor/github.com/dgrijalva/jwt-go/ecdsa.go | 148 + .../dgrijalva/jwt-go/ecdsa_utils.go | 67 + vendor/github.com/dgrijalva/jwt-go/errors.go | 59 + vendor/github.com/dgrijalva/jwt-go/hmac.go | 95 + .../github.com/dgrijalva/jwt-go/map_claims.go | 94 + vendor/github.com/dgrijalva/jwt-go/none.go | 52 + vendor/github.com/dgrijalva/jwt-go/parser.go | 148 + vendor/github.com/dgrijalva/jwt-go/rsa.go | 101 + vendor/github.com/dgrijalva/jwt-go/rsa_pss.go | 126 + .../github.com/dgrijalva/jwt-go/rsa_utils.go | 101 + .../dgrijalva/jwt-go/signing_method.go | 35 + vendor/github.com/dgrijalva/jwt-go/token.go | 108 + vendor/github.com/dsoprea/go-exif/.travis.yml | 24 + vendor/github.com/dsoprea/go-exif/LICENSE | 9 + vendor/github.com/dsoprea/go-exif/README.md | 206 + vendor/github.com/dsoprea/go-exif/error.go | 10 + vendor/github.com/dsoprea/go-exif/exif.go | 247 + vendor/github.com/dsoprea/go-exif/go.mod | 11 + vendor/github.com/dsoprea/go-exif/go.sum | 14 + vendor/github.com/dsoprea/go-exif/gps.go | 56 + vendor/github.com/dsoprea/go-exif/ifd.go | 407 + .../github.com/dsoprea/go-exif/ifd_builder.go | 1265 +++ .../dsoprea/go-exif/ifd_builder_encode.go | 530 + .../dsoprea/go-exif/ifd_enumerate.go | 1356 +++ .../dsoprea/go-exif/ifd_tag_entry.go | 233 + vendor/github.com/dsoprea/go-exif/package.go | 4 + vendor/github.com/dsoprea/go-exif/parser.go | 190 + vendor/github.com/dsoprea/go-exif/tag_type.go | 397 + vendor/github.com/dsoprea/go-exif/tags.go | 229 + .../github.com/dsoprea/go-exif/tags_data.go | 951 ++ .../dsoprea/go-exif/tags_undefined.go | 417 + vendor/github.com/dsoprea/go-exif/type.go | 310 + .../github.com/dsoprea/go-exif/type_encode.go | 262 + vendor/github.com/dsoprea/go-exif/utility.go | 222 + .../dsoprea/go-exif/v2/.MODULE_ROOT | 0 vendor/github.com/dsoprea/go-exif/v2/LICENSE | 9 + .../dsoprea/go-exif/v2/common/ifd.go | 659 ++ .../dsoprea/go-exif/v2/common/parser.go | 219 + .../go-exif/v2/common/testing_common.go | 88 + .../dsoprea/go-exif/v2/common/type.go | 452 + .../dsoprea/go-exif/v2/common/utility.go | 79 + .../go-exif/v2/common/value_context.go | 412 + .../go-exif/v2/common/value_encoder.go | 229 + vendor/github.com/dsoprea/go-exif/v2/error.go | 14 + vendor/github.com/dsoprea/go-exif/v2/exif.go | 258 + vendor/github.com/dsoprea/go-exif/v2/go.mod | 15 + vendor/github.com/dsoprea/go-exif/v2/go.sum | 37 + vendor/github.com/dsoprea/go-exif/v2/gps.go | 117 + vendor/github.com/dsoprea/go-exif/v2/ifd.go | 34 + .../dsoprea/go-exif/v2/ifd_builder.go | 1199 +++ .../dsoprea/go-exif/v2/ifd_builder_encode.go | 532 + .../dsoprea/go-exif/v2/ifd_enumerate.go | 1521 +++ .../dsoprea/go-exif/v2/ifd_tag_entry.go | 297 + .../github.com/dsoprea/go-exif/v2/package.go | 8 + vendor/github.com/dsoprea/go-exif/v2/tags.go | 411 + .../dsoprea/go-exif/v2/tags_data.go | 929 ++ .../dsoprea/go-exif/v2/testing_common.go | 182 + .../dsoprea/go-exif/v2/undefined/README.md | 4 + .../dsoprea/go-exif/v2/undefined/accessor.go | 62 + .../go-exif/v2/undefined/exif_8828_oecf.go | 148 + .../v2/undefined/exif_9000_exif_version.go | 69 + .../exif_9101_components_configuration.go | 124 + .../v2/undefined/exif_927C_maker_note.go | 114 + .../v2/undefined/exif_9286_user_comment.go | 142 + .../undefined/exif_A000_flashpix_version.go | 69 + .../exif_A20C_spatial_frequency_response.go | 160 + .../v2/undefined/exif_A300_file_source.go | 79 + .../v2/undefined/exif_A301_scene_type.go | 76 + .../v2/undefined/exif_A302_cfa_pattern.go | 97 + .../exif_iop_0002_interop_version.go | 69 + .../gps_001B_gps_processing_method.go | 65 + .../gps_001C_gps_area_information.go | 65 + .../go-exif/v2/undefined/registration.go | 42 + .../dsoprea/go-exif/v2/undefined/type.go | 44 + .../github.com/dsoprea/go-exif/v2/utility.go | 233 + .../dsoprea/go-exif/value_context.go | 367 + .../github.com/dsoprea/go-iptc/.MODULE_ROOT | 0 vendor/github.com/dsoprea/go-iptc/.travis.yml | 14 + vendor/github.com/dsoprea/go-iptc/LICENSE | 21 + vendor/github.com/dsoprea/go-iptc/README.md | 8 + vendor/github.com/dsoprea/go-iptc/go.mod | 5 + vendor/github.com/dsoprea/go-iptc/go.sum | 10 + vendor/github.com/dsoprea/go-iptc/standard.go | 101 + vendor/github.com/dsoprea/go-iptc/tag.go | 277 + .../dsoprea/go-iptc/testing_common.go | 73 + vendor/github.com/dsoprea/go-iptc/utility.go | 25 + .../go-jpeg-image-structure/.MODULE_ROOT | 0 .../go-jpeg-image-structure/.travis.yml | 21 + .../dsoprea/go-jpeg-image-structure/LICENSE | 9 + .../dsoprea/go-jpeg-image-structure/README.md | 10 + .../dsoprea/go-jpeg-image-structure/go.mod | 22 + .../dsoprea/go-jpeg-image-structure/go.sum | 85 + .../go-jpeg-image-structure/markers.go | 212 + .../go-jpeg-image-structure/media_parser.go | 128 + .../go-jpeg-image-structure/segment.go | 349 + .../go-jpeg-image-structure/segment_list.go | 395 + .../go-jpeg-image-structure/splitter.go | 437 + .../go-jpeg-image-structure/testing_common.go | 73 + .../go-jpeg-image-structure/utility.go | 110 + .../github.com/dsoprea/go-logging/.travis.yml | 12 + vendor/github.com/dsoprea/go-logging/LICENSE | 9 + .../github.com/dsoprea/go-logging/README.md | 223 + .../github.com/dsoprea/go-logging/config.go | 246 + .../dsoprea/go-logging/console_adapter.go | 36 + vendor/github.com/dsoprea/go-logging/go.mod | 8 + vendor/github.com/dsoprea/go-logging/go.sum | 8 + vendor/github.com/dsoprea/go-logging/log.go | 537 + .../go-photoshop-info-format/.MODULE_ROOT | 0 .../go-photoshop-info-format/.travis.yml | 14 + .../dsoprea/go-photoshop-info-format/LICENSE | 21 + .../go-photoshop-info-format/README.md | 8 + .../dsoprea/go-photoshop-info-format/go.mod | 5 + .../dsoprea/go-photoshop-info-format/go.sum | 10 + .../dsoprea/go-photoshop-info-format/info.go | 119 + .../testing_common.go | 73 + .../go-png-image-structure/.MODULE_ROOT | 0 .../go-png-image-structure/.travis.yml | 21 + .../dsoprea/go-png-image-structure/LICENSE | 9 + .../dsoprea/go-png-image-structure/README.md | 8 + .../go-png-image-structure/chunk_decoder.go | 89 + .../dsoprea/go-png-image-structure/go.mod | 15 + .../dsoprea/go-png-image-structure/go.sum | 67 + .../go-png-image-structure/media_parser.go | 106 + .../dsoprea/go-png-image-structure/png.go | 414 + .../go-png-image-structure/testing_common.go | 64 + .../dsoprea/go-png-image-structure/utility.go | 65 + vendor/github.com/dsoprea/go-utility/LICENSE | 7 + .../dsoprea/go-utility/image/README.md | 9 + .../go-utility/image/media_parser_type.go | 34 + vendor/github.com/gin-contrib/cors/.gitignore | 23 + .../github.com/gin-contrib/cors/.travis.yml | 31 + vendor/github.com/gin-contrib/cors/LICENSE | 21 + vendor/github.com/gin-contrib/cors/README.md | 91 + vendor/github.com/gin-contrib/cors/config.go | 134 + vendor/github.com/gin-contrib/cors/cors.go | 171 + vendor/github.com/gin-contrib/cors/go.mod | 10 + vendor/github.com/gin-contrib/cors/go.sum | 52 + vendor/github.com/gin-contrib/cors/utils.go | 85 + .../gin-contrib/sessions/.gitignore | 3 + .../gin-contrib/sessions/.travis.yml | 44 + .../github.com/gin-contrib/sessions/LICENSE | 21 + .../github.com/gin-contrib/sessions/README.md | 329 + vendor/github.com/gin-contrib/sessions/go.mod | 17 + vendor/github.com/gin-contrib/sessions/go.sum | 69 + .../gin-contrib/sessions/memstore/memstore.go | 31 + .../sessions/session_options_go1.10.go | 30 + .../sessions/session_options_go1.11.go | 36 + .../gin-contrib/sessions/sessions.go | 145 + vendor/github.com/gin-contrib/sse/.travis.yml | 26 + vendor/github.com/gin-contrib/sse/LICENSE | 21 + vendor/github.com/gin-contrib/sse/README.md | 58 + vendor/github.com/gin-contrib/sse/go.mod | 5 + vendor/github.com/gin-contrib/sse/go.sum | 7 + .../github.com/gin-contrib/sse/sse-decoder.go | 116 + .../github.com/gin-contrib/sse/sse-encoder.go | 110 + vendor/github.com/gin-contrib/sse/writer.go | 24 + vendor/github.com/gin-gonic/gin/.gitignore | 7 + vendor/github.com/gin-gonic/gin/AUTHORS.md | 233 + vendor/github.com/gin-gonic/gin/BENCHMARKS.md | 666 ++ vendor/github.com/gin-gonic/gin/CHANGELOG.md | 418 + .../gin-gonic/gin/CODE_OF_CONDUCT.md | 46 + .../github.com/gin-gonic/gin/CONTRIBUTING.md | 13 + vendor/github.com/gin-gonic/gin/LICENSE | 21 + vendor/github.com/gin-gonic/gin/Makefile | 77 + vendor/github.com/gin-gonic/gin/README.md | 2289 ++++ vendor/github.com/gin-gonic/gin/auth.go | 91 + .../gin-gonic/gin/binding/binding.go | 118 + .../gin/binding/binding_nomsgpack.go | 112 + .../gin/binding/default_validator.go | 97 + .../github.com/gin-gonic/gin/binding/form.go | 61 + .../gin-gonic/gin/binding/form_mapping.go | 404 + .../gin-gonic/gin/binding/header.go | 34 + .../github.com/gin-gonic/gin/binding/json.go | 56 + .../gin-gonic/gin/binding/msgpack.go | 38 + .../gin/binding/multipart_form_mapping.go | 74 + .../gin-gonic/gin/binding/protobuf.go | 36 + .../github.com/gin-gonic/gin/binding/query.go | 21 + .../github.com/gin-gonic/gin/binding/uri.go | 18 + .../github.com/gin-gonic/gin/binding/xml.go | 33 + .../github.com/gin-gonic/gin/binding/yaml.go | 35 + vendor/github.com/gin-gonic/gin/codecov.yml | 5 + vendor/github.com/gin-gonic/gin/context.go | 1198 +++ .../gin-gonic/gin/context_appengine.go | 12 + vendor/github.com/gin-gonic/gin/debug.go | 101 + vendor/github.com/gin-gonic/gin/deprecated.go | 21 + vendor/github.com/gin-gonic/gin/doc.go | 6 + vendor/github.com/gin-gonic/gin/errors.go | 174 + vendor/github.com/gin-gonic/gin/fs.go | 45 + vendor/github.com/gin-gonic/gin/gin.go | 626 ++ vendor/github.com/gin-gonic/gin/go.mod | 15 + vendor/github.com/gin-gonic/gin/go.sum | 55 + .../gin/internal/bytesconv/bytesconv.go | 24 + .../gin-gonic/gin/internal/json/go_json.go | 23 + .../gin-gonic/gin/internal/json/json.go | 23 + .../gin-gonic/gin/internal/json/jsoniter.go | 24 + vendor/github.com/gin-gonic/gin/logger.go | 270 + vendor/github.com/gin-gonic/gin/mode.go | 92 + vendor/github.com/gin-gonic/gin/path.go | 150 + vendor/github.com/gin-gonic/gin/recovery.go | 171 + .../github.com/gin-gonic/gin/render/data.go | 25 + .../github.com/gin-gonic/gin/render/html.go | 92 + .../github.com/gin-gonic/gin/render/json.go | 195 + .../gin-gonic/gin/render/msgpack.go | 44 + .../gin-gonic/gin/render/protobuf.go | 36 + .../github.com/gin-gonic/gin/render/reader.go | 48 + .../gin-gonic/gin/render/redirect.go | 29 + .../github.com/gin-gonic/gin/render/render.go | 40 + .../github.com/gin-gonic/gin/render/text.go | 41 + vendor/github.com/gin-gonic/gin/render/xml.go | 28 + .../github.com/gin-gonic/gin/render/yaml.go | 36 + .../gin-gonic/gin/response_writer.go | 126 + .../github.com/gin-gonic/gin/routergroup.go | 233 + .../github.com/gin-gonic/gin/test_helpers.go | 16 + vendor/github.com/gin-gonic/gin/tree.go | 842 ++ vendor/github.com/gin-gonic/gin/utils.go | 153 + vendor/github.com/gin-gonic/gin/version.go | 8 + .../github.com/go-errors/errors/.travis.yml | 7 + .../github.com/go-errors/errors/LICENSE.MIT | 7 + vendor/github.com/go-errors/errors/README.md | 80 + vendor/github.com/go-errors/errors/cover.out | 89 + vendor/github.com/go-errors/errors/error.go | 209 + .../github.com/go-errors/errors/error_1_13.go | 31 + .../go-errors/errors/error_backward.go | 57 + vendor/github.com/go-errors/errors/go.mod | 6 + .../go-errors/errors/parse_panic.go | 127 + .../github.com/go-errors/errors/stackframe.go | 114 + vendor/github.com/go-fed/activity/LICENSE | 29 + .../github.com/go-fed/activity/pub/README.md | 270 + .../go-fed/activity/pub/activity.go | 49 + .../github.com/go-fed/activity/pub/actor.go | 127 + .../go-fed/activity/pub/base_actor.go | 494 + .../github.com/go-fed/activity/pub/clock.go | 11 + .../go-fed/activity/pub/common_behavior.go | 89 + .../go-fed/activity/pub/database.go | 139 + .../go-fed/activity/pub/delegate_actor.go | 248 + vendor/github.com/go-fed/activity/pub/doc.go | 9 + .../activity/pub/federating_protocol.go | 124 + .../pub/federating_wrapped_callbacks.go | 907 ++ .../go-fed/activity/pub/handlers.go | 113 + .../activity/pub/property_interfaces.go | 117 + .../go-fed/activity/pub/side_effect_actor.go | 810 ++ .../go-fed/activity/pub/social_protocol.go | 82 + .../activity/pub/social_wrapped_callbacks.go | 531 + .../go-fed/activity/pub/transport.go | 207 + vendor/github.com/go-fed/activity/pub/util.go | 995 ++ .../github.com/go-fed/activity/pub/version.go | 15 + .../go-fed/activity/streams/README.md | 152 + .../go-fed/activity/streams/gen_consts.go | 501 + .../go-fed/activity/streams/gen_doc.go | 51 + .../go-fed/activity/streams/gen_init.go | 408 + .../activity/streams/gen_json_resolver.go | 978 ++ .../go-fed/activity/streams/gen_manager.go | 2292 ++++ .../gen_pkg_activitystreams_disjoint.go | 385 + .../gen_pkg_activitystreams_extendedby.go | 439 + .../gen_pkg_activitystreams_extends.go | 385 + .../gen_pkg_activitystreams_isorextends.go | 388 + ...g_activitystreams_property_constructors.go | 504 + ...n_pkg_activitystreams_type_constructors.go | 334 + .../streams/gen_pkg_forgefed_disjoint.go | 49 + .../streams/gen_pkg_forgefed_extendedby.go | 55 + .../streams/gen_pkg_forgefed_extends.go | 48 + .../streams/gen_pkg_forgefed_isorextends.go | 49 + .../gen_pkg_forgefed_property_constructors.go | 126 + .../gen_pkg_forgefed_type_constructors.go | 43 + .../gen_pkg_jsonld_property_constructors.go | 19 + .../activity/streams/gen_pkg_toot_disjoint.go | 20 + .../streams/gen_pkg_toot_extendedby.go | 23 + .../activity/streams/gen_pkg_toot_extends.go | 20 + .../streams/gen_pkg_toot_isorextends.go | 21 + .../gen_pkg_toot_property_constructors.go | 44 + .../streams/gen_pkg_toot_type_constructors.go | 19 + .../gen_pkg_w3idsecurityv1_disjoint.go | 14 + .../gen_pkg_w3idsecurityv1_extendedby.go | 15 + .../streams/gen_pkg_w3idsecurityv1_extends.go | 14 + .../gen_pkg_w3idsecurityv1_isorextends.go | 14 + ...kg_w3idsecurityv1_property_constructors.go | 28 + ...en_pkg_w3idsecurityv1_type_constructors.go | 13 + .../activity/streams/gen_resolver_utils.go | 244 + .../streams/gen_type_predicated_resolver.go | 881 ++ .../activity/streams/gen_type_resolver.go | 744 ++ .../property_accuracy/gen_doc.go | 17 + .../property_accuracy/gen_pkg.go | 15 + .../gen_property_activitystreams_accuracy.go | 203 + .../activitystreams/property_actor/gen_doc.go | 17 + .../activitystreams/property_actor/gen_pkg.go | 265 + .../gen_property_activitystreams_actor.go | 7030 ++++++++++++ .../property_altitude/gen_doc.go | 17 + .../property_altitude/gen_pkg.go | 15 + .../gen_property_activitystreams_altitude.go | 203 + .../activitystreams/property_anyof/gen_doc.go | 17 + .../activitystreams/property_anyof/gen_pkg.go | 265 + .../gen_property_activitystreams_anyOf.go | 7030 ++++++++++++ .../property_attachment/gen_doc.go | 17 + .../property_attachment/gen_pkg.go | 265 + ...gen_property_activitystreams_attachment.go | 7047 ++++++++++++ .../property_attributedto/gen_doc.go | 17 + .../property_attributedto/gen_pkg.go | 265 + ...n_property_activitystreams_attributedTo.go | 7089 ++++++++++++ .../property_audience/gen_doc.go | 17 + .../property_audience/gen_pkg.go | 265 + .../gen_property_activitystreams_audience.go | 7042 ++++++++++++ .../activitystreams/property_bcc/gen_doc.go | 17 + .../activitystreams/property_bcc/gen_pkg.go | 265 + .../gen_property_activitystreams_bcc.go | 7028 ++++++++++++ .../activitystreams/property_bto/gen_doc.go | 17 + .../activitystreams/property_bto/gen_pkg.go | 265 + .../gen_property_activitystreams_bto.go | 7028 ++++++++++++ .../activitystreams/property_cc/gen_doc.go | 17 + .../activitystreams/property_cc/gen_pkg.go | 265 + .../gen_property_activitystreams_cc.go | 7028 ++++++++++++ .../property_closed/gen_doc.go | 17 + .../property_closed/gen_pkg.go | 265 + .../gen_property_activitystreams_closed.go | 7240 +++++++++++++ .../property_content/gen_doc.go | 17 + .../property_content/gen_pkg.go | 15 + .../gen_property_activitystreams_content.go | 668 ++ .../property_context/gen_doc.go | 17 + .../property_context/gen_pkg.go | 265 + .../gen_property_activitystreams_context.go | 7042 ++++++++++++ .../property_current/gen_doc.go | 17 + .../property_current/gen_pkg.go | 35 + .../gen_property_activitystreams_current.go | 359 + .../property_deleted/gen_doc.go | 17 + .../property_deleted/gen_pkg.go | 15 + .../gen_property_activitystreams_deleted.go | 204 + .../property_describes/gen_doc.go | 17 + .../property_describes/gen_pkg.go | 257 + .../gen_property_activitystreams_describes.go | 2932 +++++ .../property_duration/gen_doc.go | 17 + .../property_duration/gen_pkg.go | 15 + .../gen_property_activitystreams_duration.go | 204 + .../property_endtime/gen_doc.go | 17 + .../property_endtime/gen_pkg.go | 15 + .../gen_property_activitystreams_endTime.go | 204 + .../activitystreams/property_first/gen_doc.go | 17 + .../activitystreams/property_first/gen_pkg.go | 35 + .../gen_property_activitystreams_first.go | 359 + .../property_followers/gen_doc.go | 17 + .../property_followers/gen_pkg.go | 35 + .../gen_property_activitystreams_followers.go | 360 + .../property_following/gen_doc.go | 17 + .../property_following/gen_pkg.go | 35 + .../gen_property_activitystreams_following.go | 360 + .../property_formertype/gen_doc.go | 17 + .../property_formertype/gen_pkg.go | 257 + ...gen_property_activitystreams_formerType.go | 6940 ++++++++++++ .../property_generator/gen_doc.go | 17 + .../property_generator/gen_pkg.go | 265 + .../gen_property_activitystreams_generator.go | 7044 ++++++++++++ .../property_height/gen_doc.go | 17 + .../property_height/gen_pkg.go | 15 + .../gen_property_activitystreams_height.go | 204 + .../activitystreams/property_href/gen_doc.go | 17 + .../activitystreams/property_href/gen_pkg.go | 15 + .../gen_property_activitystreams_href.go | 181 + .../property_hreflang/gen_doc.go | 17 + .../property_hreflang/gen_pkg.go | 15 + .../gen_property_activitystreams_hreflang.go | 203 + .../activitystreams/property_icon/gen_doc.go | 17 + .../activitystreams/property_icon/gen_pkg.go | 30 + .../gen_property_activitystreams_icon.go | 824 ++ .../activitystreams/property_image/gen_doc.go | 17 + .../activitystreams/property_image/gen_pkg.go | 30 + .../gen_property_activitystreams_image.go | 824 ++ .../activitystreams/property_inbox/gen_doc.go | 17 + .../activitystreams/property_inbox/gen_pkg.go | 27 + .../gen_property_activitystreams_inbox.go | 268 + .../property_inreplyto/gen_doc.go | 17 + .../property_inreplyto/gen_pkg.go | 265 + .../gen_property_activitystreams_inReplyTo.go | 7044 ++++++++++++ .../property_instrument/gen_doc.go | 17 + .../property_instrument/gen_pkg.go | 265 + ...gen_property_activitystreams_instrument.go | 7047 ++++++++++++ .../activitystreams/property_items/gen_doc.go | 17 + .../activitystreams/property_items/gen_pkg.go | 265 + .../gen_property_activitystreams_items.go | 7030 ++++++++++++ .../activitystreams/property_last/gen_doc.go | 17 + .../activitystreams/property_last/gen_pkg.go | 35 + .../gen_property_activitystreams_last.go | 359 + .../property_latitude/gen_doc.go | 17 + .../property_latitude/gen_pkg.go | 15 + .../gen_property_activitystreams_latitude.go | 203 + .../activitystreams/property_liked/gen_doc.go | 17 + .../activitystreams/property_liked/gen_pkg.go | 35 + .../gen_property_activitystreams_liked.go | 360 + .../activitystreams/property_likes/gen_doc.go | 17 + .../activitystreams/property_likes/gen_pkg.go | 35 + .../gen_property_activitystreams_likes.go | 360 + .../property_location/gen_doc.go | 17 + .../property_location/gen_pkg.go | 265 + .../gen_property_activitystreams_location.go | 7042 ++++++++++++ .../property_longitude/gen_doc.go | 17 + .../property_longitude/gen_pkg.go | 15 + .../gen_property_activitystreams_longitude.go | 203 + .../property_mediatype/gen_doc.go | 17 + .../property_mediatype/gen_pkg.go | 15 + .../gen_property_activitystreams_mediaType.go | 203 + .../activitystreams/property_name/gen_doc.go | 17 + .../activitystreams/property_name/gen_pkg.go | 15 + .../gen_property_activitystreams_name.go | 667 ++ .../activitystreams/property_next/gen_doc.go | 17 + .../activitystreams/property_next/gen_pkg.go | 35 + .../gen_property_activitystreams_next.go | 359 + .../property_object/gen_doc.go | 17 + .../property_object/gen_pkg.go | 265 + .../gen_property_activitystreams_object.go | 7031 ++++++++++++ .../activitystreams/property_oneof/gen_doc.go | 17 + .../activitystreams/property_oneof/gen_pkg.go | 265 + .../gen_property_activitystreams_oneOf.go | 7030 ++++++++++++ .../property_ordereditems/gen_doc.go | 17 + .../property_ordereditems/gen_pkg.go | 265 + ...n_property_activitystreams_orderedItems.go | 7089 ++++++++++++ .../property_origin/gen_doc.go | 17 + .../property_origin/gen_pkg.go | 265 + .../gen_property_activitystreams_origin.go | 7031 ++++++++++++ .../property_outbox/gen_doc.go | 17 + .../property_outbox/gen_pkg.go | 27 + .../gen_property_activitystreams_outbox.go | 268 + .../property_partof/gen_doc.go | 17 + .../property_partof/gen_pkg.go | 43 + .../gen_property_activitystreams_partOf.go | 452 + .../property_preferredusername/gen_doc.go | 17 + .../property_preferredusername/gen_pkg.go | 15 + ...perty_activitystreams_preferredUsername.go | 284 + .../activitystreams/property_prev/gen_doc.go | 17 + .../activitystreams/property_prev/gen_pkg.go | 35 + .../gen_property_activitystreams_prev.go | 359 + .../property_preview/gen_doc.go | 17 + .../property_preview/gen_pkg.go | 265 + .../gen_property_activitystreams_preview.go | 7042 ++++++++++++ .../property_published/gen_doc.go | 17 + .../property_published/gen_pkg.go | 15 + .../gen_property_activitystreams_published.go | 204 + .../property_radius/gen_doc.go | 17 + .../property_radius/gen_pkg.go | 15 + .../gen_property_activitystreams_radius.go | 203 + .../activitystreams/property_rel/gen_doc.go | 17 + .../activitystreams/property_rel/gen_pkg.go | 15 + .../gen_property_activitystreams_rel.go | 528 + .../property_relationship/gen_doc.go | 17 + .../property_relationship/gen_pkg.go | 257 + ...n_property_activitystreams_relationship.go | 6877 ++++++++++++ .../property_replies/gen_doc.go | 17 + .../property_replies/gen_pkg.go | 35 + .../gen_property_activitystreams_replies.go | 360 + .../property_result/gen_doc.go | 17 + .../property_result/gen_pkg.go | 265 + .../gen_property_activitystreams_result.go | 7031 ++++++++++++ .../property_shares/gen_doc.go | 17 + .../property_shares/gen_pkg.go | 35 + .../gen_property_activitystreams_shares.go | 360 + .../property_source/gen_doc.go | 17 + .../property_source/gen_pkg.go | 265 + .../gen_property_activitystreams_source.go | 3024 ++++++ .../property_startindex/gen_doc.go | 17 + .../property_startindex/gen_pkg.go | 15 + ...gen_property_activitystreams_startIndex.go | 204 + .../property_starttime/gen_doc.go | 17 + .../property_starttime/gen_pkg.go | 15 + .../gen_property_activitystreams_startTime.go | 204 + .../property_streams/gen_doc.go | 17 + .../property_streams/gen_pkg.go | 35 + .../gen_property_activitystreams_streams.go | 938 ++ .../property_subject/gen_doc.go | 17 + .../property_subject/gen_pkg.go | 265 + .../gen_property_activitystreams_subject.go | 3024 ++++++ .../property_summary/gen_doc.go | 17 + .../property_summary/gen_pkg.go | 15 + .../gen_property_activitystreams_summary.go | 668 ++ .../activitystreams/property_tag/gen_doc.go | 17 + .../activitystreams/property_tag/gen_pkg.go | 265 + .../gen_property_activitystreams_tag.go | 7028 ++++++++++++ .../property_target/gen_doc.go | 17 + .../property_target/gen_pkg.go | 265 + .../gen_property_activitystreams_target.go | 7031 ++++++++++++ .../activitystreams/property_to/gen_doc.go | 17 + .../activitystreams/property_to/gen_pkg.go | 265 + .../gen_property_activitystreams_to.go | 7028 ++++++++++++ .../property_totalitems/gen_doc.go | 17 + .../property_totalitems/gen_pkg.go | 15 + ...gen_property_activitystreams_totalItems.go | 204 + .../activitystreams/property_units/gen_doc.go | 17 + .../activitystreams/property_units/gen_pkg.go | 15 + .../gen_property_activitystreams_units.go | 215 + .../property_updated/gen_doc.go | 17 + .../property_updated/gen_pkg.go | 15 + .../gen_property_activitystreams_updated.go | 204 + .../activitystreams/property_url/gen_doc.go | 17 + .../activitystreams/property_url/gen_pkg.go | 26 + .../gen_property_activitystreams_url.go | 796 ++ .../activitystreams/property_width/gen_doc.go | 17 + .../activitystreams/property_width/gen_pkg.go | 15 + .../gen_property_activitystreams_width.go | 204 + .../activitystreams/type_accept/gen_doc.go | 17 + .../activitystreams/type_accept/gen_pkg.go | 207 + .../gen_type_activitystreams_accept.go | 1976 ++++ .../activitystreams/type_activity/gen_doc.go | 17 + .../activitystreams/type_activity/gen_pkg.go | 207 + .../gen_type_activitystreams_activity.go | 1956 ++++ .../impl/activitystreams/type_add/gen_doc.go | 17 + .../impl/activitystreams/type_add/gen_pkg.go | 207 + .../type_add/gen_type_activitystreams_add.go | 1971 ++++ .../activitystreams/type_announce/gen_doc.go | 17 + .../activitystreams/type_announce/gen_pkg.go | 207 + .../gen_type_activitystreams_announce.go | 1953 ++++ .../type_application/gen_doc.go | 17 + .../type_application/gen_pkg.go | 228 + .../gen_type_activitystreams_application.go | 2150 ++++ .../activitystreams/type_arrive/gen_doc.go | 17 + .../activitystreams/type_arrive/gen_pkg.go | 203 + .../gen_type_activitystreams_arrive.go | 1911 ++++ .../activitystreams/type_article/gen_doc.go | 17 + .../activitystreams/type_article/gen_pkg.go | 187 + .../gen_type_activitystreams_article.go | 1732 +++ .../activitystreams/type_audio/gen_doc.go | 17 + .../activitystreams/type_audio/gen_pkg.go | 191 + .../gen_type_activitystreams_audio.go | 1775 +++ .../activitystreams/type_block/gen_doc.go | 17 + .../activitystreams/type_block/gen_pkg.go | 207 + .../gen_type_activitystreams_block.go | 1944 ++++ .../type_collection/gen_doc.go | 17 + .../type_collection/gen_pkg.go | 207 + .../gen_type_activitystreams_collection.go | 1957 ++++ .../type_collectionpage/gen_doc.go | 17 + .../type_collectionpage/gen_pkg.go | 219 + ...gen_type_activitystreams_collectionpage.go | 2084 ++++ .../activitystreams/type_create/gen_doc.go | 17 + .../activitystreams/type_create/gen_pkg.go | 207 + .../gen_type_activitystreams_create.go | 1948 ++++ .../activitystreams/type_delete/gen_doc.go | 17 + .../activitystreams/type_delete/gen_pkg.go | 207 + .../gen_type_activitystreams_delete.go | 1949 ++++ .../activitystreams/type_dislike/gen_doc.go | 17 + .../activitystreams/type_dislike/gen_pkg.go | 207 + .../gen_type_activitystreams_dislike.go | 1941 ++++ .../activitystreams/type_document/gen_doc.go | 17 + .../activitystreams/type_document/gen_pkg.go | 191 + .../gen_type_activitystreams_document.go | 1776 ++++ .../activitystreams/type_event/gen_doc.go | 17 + .../activitystreams/type_event/gen_pkg.go | 187 + .../gen_type_activitystreams_event.go | 1731 +++ .../impl/activitystreams/type_flag/gen_doc.go | 17 + .../impl/activitystreams/type_flag/gen_pkg.go | 207 + .../gen_type_activitystreams_flag.go | 1946 ++++ .../activitystreams/type_follow/gen_doc.go | 17 + .../activitystreams/type_follow/gen_pkg.go | 207 + .../gen_type_activitystreams_follow.go | 1950 ++++ .../activitystreams/type_group/gen_doc.go | 17 + .../activitystreams/type_group/gen_pkg.go | 228 + .../gen_type_activitystreams_group.go | 2150 ++++ .../activitystreams/type_ignore/gen_doc.go | 17 + .../activitystreams/type_ignore/gen_pkg.go | 207 + .../gen_type_activitystreams_ignore.go | 1950 ++++ .../activitystreams/type_image/gen_doc.go | 17 + .../activitystreams/type_image/gen_pkg.go | 199 + .../gen_type_activitystreams_image.go | 1866 ++++ .../type_intransitiveactivity/gen_doc.go | 17 + .../type_intransitiveactivity/gen_pkg.go | 203 + ...pe_activitystreams_intransitiveactivity.go | 1915 ++++ .../activitystreams/type_invite/gen_doc.go | 17 + .../activitystreams/type_invite/gen_pkg.go | 207 + .../gen_type_activitystreams_invite.go | 1958 ++++ .../impl/activitystreams/type_join/gen_doc.go | 17 + .../impl/activitystreams/type_join/gen_pkg.go | 207 + .../gen_type_activitystreams_join.go | 1948 ++++ .../activitystreams/type_leave/gen_doc.go | 17 + .../activitystreams/type_leave/gen_pkg.go | 207 + .../gen_type_activitystreams_leave.go | 1962 ++++ .../impl/activitystreams/type_like/gen_doc.go | 17 + .../impl/activitystreams/type_like/gen_pkg.go | 207 + .../gen_type_activitystreams_like.go | 1945 ++++ .../impl/activitystreams/type_link/gen_doc.go | 17 + .../impl/activitystreams/type_link/gen_pkg.go | 91 + .../gen_type_activitystreams_link.go | 731 ++ .../activitystreams/type_listen/gen_doc.go | 17 + .../activitystreams/type_listen/gen_pkg.go | 207 + .../gen_type_activitystreams_listen.go | 1944 ++++ .../activitystreams/type_mention/gen_doc.go | 17 + .../activitystreams/type_mention/gen_pkg.go | 91 + .../gen_type_activitystreams_mention.go | 724 ++ .../impl/activitystreams/type_move/gen_doc.go | 17 + .../impl/activitystreams/type_move/gen_pkg.go | 207 + .../gen_type_activitystreams_move.go | 1953 ++++ .../impl/activitystreams/type_note/gen_doc.go | 17 + .../impl/activitystreams/type_note/gen_pkg.go | 187 + .../gen_type_activitystreams_note.go | 1731 +++ .../activitystreams/type_object/gen_doc.go | 17 + .../activitystreams/type_object/gen_pkg.go | 187 + .../gen_type_activitystreams_object.go | 1733 +++ .../activitystreams/type_offer/gen_doc.go | 17 + .../activitystreams/type_offer/gen_pkg.go | 207 + .../gen_type_activitystreams_offer.go | 1957 ++++ .../type_orderedcollection/gen_doc.go | 17 + .../type_orderedcollection/gen_pkg.go | 212 + ..._type_activitystreams_orderedcollection.go | 1999 ++++ .../type_orderedcollectionpage/gen_doc.go | 17 + .../type_orderedcollectionpage/gen_pkg.go | 228 + ...e_activitystreams_orderedcollectionpage.go | 2166 ++++ .../type_organization/gen_doc.go | 17 + .../type_organization/gen_pkg.go | 228 + .../gen_type_activitystreams_organization.go | 2150 ++++ .../impl/activitystreams/type_page/gen_doc.go | 17 + .../impl/activitystreams/type_page/gen_pkg.go | 191 + .../gen_type_activitystreams_page.go | 1771 +++ .../activitystreams/type_person/gen_doc.go | 17 + .../activitystreams/type_person/gen_pkg.go | 228 + .../gen_type_activitystreams_person.go | 2150 ++++ .../activitystreams/type_place/gen_doc.go | 17 + .../activitystreams/type_place/gen_pkg.go | 207 + .../gen_type_activitystreams_place.go | 1950 ++++ .../activitystreams/type_profile/gen_doc.go | 17 + .../activitystreams/type_profile/gen_pkg.go | 191 + .../gen_type_activitystreams_profile.go | 1777 ++++ .../activitystreams/type_question/gen_doc.go | 17 + .../activitystreams/type_question/gen_pkg.go | 219 + .../gen_type_activitystreams_question.go | 2087 ++++ .../impl/activitystreams/type_read/gen_doc.go | 17 + .../impl/activitystreams/type_read/gen_pkg.go | 207 + .../gen_type_activitystreams_read.go | 1944 ++++ .../activitystreams/type_reject/gen_doc.go | 17 + .../activitystreams/type_reject/gen_pkg.go | 207 + .../gen_type_activitystreams_reject.go | 1957 ++++ .../type_relationship/gen_doc.go | 17 + .../type_relationship/gen_pkg.go | 196 + .../gen_type_activitystreams_relationship.go | 1829 ++++ .../activitystreams/type_remove/gen_doc.go | 17 + .../activitystreams/type_remove/gen_pkg.go | 207 + .../gen_type_activitystreams_remove.go | 1967 ++++ .../activitystreams/type_service/gen_doc.go | 17 + .../activitystreams/type_service/gen_pkg.go | 228 + .../gen_type_activitystreams_service.go | 2150 ++++ .../type_tentativeaccept/gen_doc.go | 17 + .../type_tentativeaccept/gen_pkg.go | 207 + ...en_type_activitystreams_tentativeaccept.go | 1952 ++++ .../type_tentativereject/gen_doc.go | 17 + .../type_tentativereject/gen_pkg.go | 207 + ...en_type_activitystreams_tentativereject.go | 1952 ++++ .../activitystreams/type_tombstone/gen_doc.go | 17 + .../activitystreams/type_tombstone/gen_pkg.go | 195 + .../gen_type_activitystreams_tombstone.go | 1832 ++++ .../activitystreams/type_travel/gen_doc.go | 17 + .../activitystreams/type_travel/gen_pkg.go | 203 + .../gen_type_activitystreams_travel.go | 1911 ++++ .../impl/activitystreams/type_undo/gen_doc.go | 17 + .../impl/activitystreams/type_undo/gen_pkg.go | 207 + .../gen_type_activitystreams_undo.go | 1950 ++++ .../activitystreams/type_update/gen_doc.go | 17 + .../activitystreams/type_update/gen_pkg.go | 207 + .../gen_type_activitystreams_update.go | 1947 ++++ .../activitystreams/type_video/gen_doc.go | 17 + .../activitystreams/type_video/gen_pkg.go | 191 + .../gen_type_activitystreams_video.go | 1772 +++ .../impl/activitystreams/type_view/gen_doc.go | 17 + .../impl/activitystreams/type_view/gen_pkg.go | 207 + .../gen_type_activitystreams_view.go | 1947 ++++ .../forgefed/property_assignedto/gen_doc.go | 17 + .../forgefed/property_assignedto/gen_pkg.go | 22 + .../gen_property_forgefed_assignedTo.go | 224 + .../forgefed/property_committed/gen_doc.go | 17 + .../forgefed/property_committed/gen_pkg.go | 15 + .../gen_property_forgefed_committed.go | 204 + .../forgefed/property_committedby/gen_doc.go | 17 + .../forgefed/property_committedby/gen_pkg.go | 257 + .../gen_property_forgefed_committedBy.go | 2933 +++++ .../forgefed/property_dependants/gen_doc.go | 17 + .../forgefed/property_dependants/gen_pkg.go | 27 + .../gen_property_forgefed_dependants.go | 268 + .../forgefed/property_dependedby/gen_doc.go | 17 + .../forgefed/property_dependedby/gen_pkg.go | 22 + .../gen_property_forgefed_dependedBy.go | 622 ++ .../forgefed/property_dependencies/gen_doc.go | 17 + .../forgefed/property_dependencies/gen_pkg.go | 27 + .../gen_property_forgefed_dependencies.go | 269 + .../forgefed/property_dependson/gen_doc.go | 17 + .../forgefed/property_dependson/gen_pkg.go | 22 + .../gen_property_forgefed_dependsOn.go | 619 ++ .../forgefed/property_description/gen_doc.go | 17 + .../forgefed/property_description/gen_pkg.go | 257 + .../gen_property_forgefed_description.go | 2933 +++++ .../forgefed/property_earlyitems/gen_doc.go | 17 + .../forgefed/property_earlyitems/gen_pkg.go | 265 + .../gen_property_forgefed_earlyItems.go | 7046 ++++++++++++ .../forgefed/property_filesadded/gen_doc.go | 17 + .../forgefed/property_filesadded/gen_pkg.go | 15 + .../gen_property_forgefed_filesAdded.go | 531 + .../property_filesmodified/gen_doc.go | 17 + .../property_filesmodified/gen_pkg.go | 15 + .../gen_property_forgefed_filesModified.go | 535 + .../forgefed/property_filesremoved/gen_doc.go | 17 + .../forgefed/property_filesremoved/gen_pkg.go | 15 + .../gen_property_forgefed_filesRemoved.go | 535 + .../impl/forgefed/property_forks/gen_doc.go | 17 + .../impl/forgefed/property_forks/gen_pkg.go | 27 + .../gen_property_forgefed_forks.go | 268 + .../impl/forgefed/property_hash/gen_doc.go | 17 + .../impl/forgefed/property_hash/gen_pkg.go | 15 + .../gen_property_forgefed_hash.go | 203 + .../forgefed/property_isresolved/gen_doc.go | 17 + .../forgefed/property_isresolved/gen_pkg.go | 15 + .../gen_property_forgefed_isResolved.go | 203 + .../impl/forgefed/property_ref/gen_doc.go | 17 + .../impl/forgefed/property_ref/gen_pkg.go | 15 + .../property_ref/gen_property_forgefed_ref.go | 203 + .../impl/forgefed/property_team/gen_doc.go | 17 + .../impl/forgefed/property_team/gen_pkg.go | 35 + .../gen_property_forgefed_team.go | 360 + .../property_ticketstrackedby/gen_doc.go | 17 + .../property_ticketstrackedby/gen_pkg.go | 257 + .../gen_property_forgefed_ticketsTrackedBy.go | 2933 +++++ .../property_tracksticketsfor/gen_doc.go | 17 + .../property_tracksticketsfor/gen_pkg.go | 257 + .../gen_property_forgefed_tracksTicketsFor.go | 6880 ++++++++++++ .../impl/forgefed/type_branch/gen_doc.go | 17 + .../impl/forgefed/type_branch/gen_pkg.go | 191 + .../type_branch/gen_type_forgefed_branch.go | 1778 ++++ .../impl/forgefed/type_commit/gen_doc.go | 17 + .../impl/forgefed/type_commit/gen_pkg.go | 215 + .../type_commit/gen_type_forgefed_commit.go | 2040 ++++ .../impl/forgefed/type_push/gen_doc.go | 17 + .../impl/forgefed/type_push/gen_pkg.go | 207 + .../type_push/gen_type_forgefed_push.go | 1967 ++++ .../impl/forgefed/type_repository/gen_doc.go | 17 + .../impl/forgefed/type_repository/gen_pkg.go | 191 + .../gen_type_forgefed_repository.go | 1786 ++++ .../impl/forgefed/type_ticket/gen_doc.go | 17 + .../impl/forgefed/type_ticket/gen_pkg.go | 211 + .../type_ticket/gen_type_forgefed_ticket.go | 1998 ++++ .../forgefed/type_ticketdependency/gen_doc.go | 17 + .../forgefed/type_ticketdependency/gen_pkg.go | 196 + .../gen_type_forgefed_ticketdependency.go | 1829 ++++ .../impl/jsonld/property_id/gen_doc.go | 17 + .../impl/jsonld/property_id/gen_pkg.go | 15 + .../property_id/gen_property_jsonld_id.go | 179 + .../impl/jsonld/property_type/gen_doc.go | 17 + .../impl/jsonld/property_type/gen_pkg.go | 15 + .../property_type/gen_property_jsonld_type.go | 596 ++ .../impl/toot/property_blurhash/gen_doc.go | 17 + .../impl/toot/property_blurhash/gen_pkg.go | 15 + .../gen_property_toot_blurhash.go | 203 + .../toot/property_discoverable/gen_doc.go | 17 + .../toot/property_discoverable/gen_pkg.go | 15 + .../gen_property_toot_discoverable.go | 204 + .../impl/toot/property_featured/gen_doc.go | 17 + .../impl/toot/property_featured/gen_pkg.go | 27 + .../gen_property_toot_featured.go | 268 + .../property_signaturealgorithm/gen_doc.go | 17 + .../property_signaturealgorithm/gen_pkg.go | 15 + .../gen_property_toot_signatureAlgorithm.go | 204 + .../toot/property_signaturevalue/gen_doc.go | 17 + .../toot/property_signaturevalue/gen_pkg.go | 15 + .../gen_property_toot_signatureValue.go | 204 + .../impl/toot/property_voterscount/gen_doc.go | 17 + .../impl/toot/property_voterscount/gen_pkg.go | 15 + .../gen_property_toot_votersCount.go | 205 + .../streams/impl/toot/type_emoji/gen_doc.go | 17 + .../streams/impl/toot/type_emoji/gen_pkg.go | 187 + .../toot/type_emoji/gen_type_toot_emoji.go | 1740 +++ .../impl/toot/type_identityproof/gen_doc.go | 17 + .../impl/toot/type_identityproof/gen_pkg.go | 195 + .../gen_type_toot_identityproof.go | 1809 ++++ .../w3idsecurityv1/property_owner/gen_doc.go | 17 + .../w3idsecurityv1/property_owner/gen_pkg.go | 15 + .../gen_property_w3idsecurityv1_owner.go | 181 + .../property_publickey/gen_doc.go | 17 + .../property_publickey/gen_pkg.go | 22 + .../gen_property_w3idsecurityv1_publicKey.go | 621 ++ .../property_publickeypem/gen_doc.go | 17 + .../property_publickeypem/gen_pkg.go | 15 + ...en_property_w3idsecurityv1_publicKeyPem.go | 204 + .../w3idsecurityv1/type_publickey/gen_doc.go | 17 + .../w3idsecurityv1/type_publickey/gen_pkg.go | 54 + .../gen_type_w3idsecurityv1_publickey.go | 289 + .../go-fed/activity/streams/util.go | 66 + .../streams/values/anyURI/gen_anyURI.go | 37 + .../streams/values/bcp47/gen_bcp47.go | 26 + .../streams/values/boolean/gen_boolean.go | 35 + .../streams/values/dateTime/gen_dateTime.go | 39 + .../streams/values/duration/gen_duration.go | 146 + .../streams/values/float/gen_float.go | 26 + .../values/langString/gen_langString.go | 63 + .../gen_nonNegativeInteger.go | 33 + .../streams/values/rfc2045/gen_rfc2045.go | 26 + .../streams/values/rfc5988/gen_rfc5988.go | 26 + .../streams/values/string/gen_string.go | 26 + .../go-fed/activity/streams/vocab/gen_doc.go | 61 + .../go-fed/activity/streams/vocab/gen_pkg.go | 23 + ...erty_activitystreams_accuracy_interface.go | 62 + ...roperty_activitystreams_actor_interface.go | 1813 ++++ ...erty_activitystreams_altitude_interface.go | 64 + ...roperty_activitystreams_anyOf_interface.go | 1794 ++++ ...ty_activitystreams_attachment_interface.go | 1800 ++++ ..._activitystreams_attributedTo_interface.go | 1816 ++++ ...erty_activitystreams_audience_interface.go | 1799 ++++ ..._property_activitystreams_bcc_interface.go | 1783 ++++ ..._property_activitystreams_bto_interface.go | 1783 ++++ ...n_property_activitystreams_cc_interface.go | 1779 ++++ ...operty_activitystreams_closed_interface.go | 1838 ++++ ...perty_activitystreams_content_interface.go | 208 + ...perty_activitystreams_context_interface.go | 1805 ++++ ...perty_activitystreams_current_interface.go | 133 + ...perty_activitystreams_deleted_interface.go | 63 + ...rty_activitystreams_describes_interface.go | 743 ++ ...erty_activitystreams_duration_interface.go | 67 + ...perty_activitystreams_endTime_interface.go | 65 + ...roperty_activitystreams_first_interface.go | 123 + ...rty_activitystreams_followers_interface.go | 128 + ...rty_activitystreams_following_interface.go | 129 + ...ty_activitystreams_formerType_interface.go | 1770 +++ ...rty_activitystreams_generator_interface.go | 1798 ++++ ...operty_activitystreams_height_interface.go | 63 + ...property_activitystreams_href_interface.go | 60 + ...erty_activitystreams_hreflang_interface.go | 62 + ...property_activitystreams_icon_interface.go | 249 + ...roperty_activitystreams_image_interface.go | 242 + ...rty_activitystreams_inReplyTo_interface.go | 1807 ++++ ...roperty_activitystreams_inbox_interface.go | 104 + ...ty_activitystreams_instrument_interface.go | 1804 ++++ ...roperty_activitystreams_items_interface.go | 1794 ++++ ...property_activitystreams_last_interface.go | 122 + ...erty_activitystreams_latitude_interface.go | 62 + ...roperty_activitystreams_liked_interface.go | 128 + ...roperty_activitystreams_likes_interface.go | 105 + ...erty_activitystreams_location_interface.go | 1801 ++++ ...rty_activitystreams_longitude_interface.go | 62 + ...rty_activitystreams_mediaType_interface.go | 64 + ...property_activitystreams_name_interface.go | 197 + ...property_activitystreams_next_interface.go | 130 + ...operty_activitystreams_object_interface.go | 1812 ++++ ...roperty_activitystreams_oneOf_interface.go | 1794 ++++ ..._activitystreams_orderedItems_interface.go | 1806 ++++ ...operty_activitystreams_origin_interface.go | 1795 ++++ ...operty_activitystreams_outbox_interface.go | 104 + ...operty_activitystreams_partOf_interface.go | 145 + ...vitystreams_preferredUsername_interface.go | 89 + ...property_activitystreams_prev_interface.go | 130 + ...perty_activitystreams_preview_interface.go | 1796 ++++ ...rty_activitystreams_published_interface.go | 63 + ...operty_activitystreams_radius_interface.go | 64 + ..._property_activitystreams_rel_interface.go | 145 + ..._activitystreams_relationship_interface.go | 1753 +++ ...perty_activitystreams_replies_interface.go | 124 + ...operty_activitystreams_result_interface.go | 1793 ++++ ...operty_activitystreams_shares_interface.go | 106 + ...operty_activitystreams_source_interface.go | 773 ++ ...ty_activitystreams_startIndex_interface.go | 72 + ...rty_activitystreams_startTime_interface.go | 65 + ...perty_activitystreams_streams_interface.go | 252 + ...perty_activitystreams_subject_interface.go | 770 ++ ...perty_activitystreams_summary_interface.go | 198 + ..._property_activitystreams_tag_interface.go | 1787 ++++ ...operty_activitystreams_target_interface.go | 1801 ++++ ...n_property_activitystreams_to_interface.go | 1779 ++++ ...ty_activitystreams_totalItems_interface.go | 73 + ...roperty_activitystreams_units_interface.go | 79 + ...perty_activitystreams_updated_interface.go | 63 + ..._property_activitystreams_url_interface.go | 244 + ...roperty_activitystreams_width_interface.go | 63 + ..._property_forgefed_assignedTo_interface.go | 60 + ...property_forgefed_committedBy_interface.go | 738 ++ ...n_property_forgefed_committed_interface.go | 60 + ..._property_forgefed_dependants_interface.go | 82 + ..._property_forgefed_dependedBy_interface.go | 156 + ...roperty_forgefed_dependencies_interface.go | 82 + ...n_property_forgefed_dependsOn_interface.go | 156 + ...property_forgefed_description_interface.go | 752 ++ ..._property_forgefed_earlyItems_interface.go | 1813 ++++ ..._property_forgefed_filesAdded_interface.go | 132 + ...operty_forgefed_filesModified_interface.go | 132 + ...roperty_forgefed_filesRemoved_interface.go | 132 + .../gen_property_forgefed_forks_interface.go | 82 + .../gen_property_forgefed_hash_interface.go | 56 + ..._property_forgefed_isResolved_interface.go | 53 + .../gen_property_forgefed_ref_interface.go | 66 + .../gen_property_forgefed_team_interface.go | 142 + ...rty_forgefed_ticketsTrackedBy_interface.go | 745 ++ ...rty_forgefed_tracksTicketsFor_interface.go | 1766 +++ .../vocab/gen_property_jsonld_id_interface.go | 52 + .../gen_property_jsonld_type_interface.go | 158 + .../gen_property_toot_blurhash_interface.go | 54 + ...en_property_toot_discoverable_interface.go | 54 + .../gen_property_toot_featured_interface.go | 82 + ...perty_toot_signatureAlgorithm_interface.go | 54 + ..._property_toot_signatureValue_interface.go | 54 + ...gen_property_toot_votersCount_interface.go | 56 + ...property_w3idsecurityv1_owner_interface.go | 52 + ...y_w3idsecurityv1_publicKeyPem_interface.go | 52 + ...erty_w3idsecurityv1_publicKey_interface.go | 159 + ...n_type_activitystreams_accept_interface.go | 273 + ...type_activitystreams_activity_interface.go | 254 + .../gen_type_activitystreams_add_interface.go | 273 + ...type_activitystreams_announce_interface.go | 256 + ...e_activitystreams_application_interface.go | 268 + ...n_type_activitystreams_arrive_interface.go | 250 + ..._type_activitystreams_article_interface.go | 220 + ...en_type_activitystreams_audio_interface.go | 226 + ...en_type_activitystreams_block_interface.go | 246 + ...pe_activitystreams_collection_interface.go | 255 + ...ctivitystreams_collectionpage_interface.go | 271 + ...n_type_activitystreams_create_interface.go | 250 + ...n_type_activitystreams_delete_interface.go | 251 + ..._type_activitystreams_dislike_interface.go | 244 + ...type_activitystreams_document_interface.go | 223 + ...en_type_activitystreams_event_interface.go | 218 + ...gen_type_activitystreams_flag_interface.go | 248 + ...n_type_activitystreams_follow_interface.go | 252 + ...en_type_activitystreams_group_interface.go | 267 + ...n_type_activitystreams_ignore_interface.go | 247 + ...en_type_activitystreams_image_interface.go | 243 + ...ystreams_intransitiveactivity_interface.go | 247 + ...n_type_activitystreams_invite_interface.go | 260 + ...gen_type_activitystreams_join_interface.go | 250 + ...en_type_activitystreams_leave_interface.go | 264 + ...gen_type_activitystreams_like_interface.go | 247 + ...gen_type_activitystreams_link_interface.go | 105 + ...n_type_activitystreams_listen_interface.go | 246 + ..._type_activitystreams_mention_interface.go | 99 + ...gen_type_activitystreams_move_interface.go | 255 + ...gen_type_activitystreams_note_interface.go | 218 + ...n_type_activitystreams_object_interface.go | 220 + ...en_type_activitystreams_offer_interface.go | 254 + ...vitystreams_orderedcollection_interface.go | 259 + ...streams_orderedcollectionpage_interface.go | 281 + ..._activitystreams_organization_interface.go | 268 + ...gen_type_activitystreams_page_interface.go | 222 + ...n_type_activitystreams_person_interface.go | 267 + ...en_type_activitystreams_place_interface.go | 252 + ..._type_activitystreams_profile_interface.go | 228 + ...type_activitystreams_question_interface.go | 279 + ...gen_type_activitystreams_read_interface.go | 246 + ...n_type_activitystreams_reject_interface.go | 254 + ..._activitystreams_relationship_interface.go | 238 + ...n_type_activitystreams_remove_interface.go | 269 + ..._type_activitystreams_service_interface.go | 268 + ...tivitystreams_tentativeaccept_interface.go | 254 + ...tivitystreams_tentativereject_interface.go | 254 + ...ype_activitystreams_tombstone_interface.go | 246 + ...n_type_activitystreams_travel_interface.go | 250 + ...gen_type_activitystreams_undo_interface.go | 252 + ...n_type_activitystreams_update_interface.go | 249 + ...en_type_activitystreams_video_interface.go | 223 + ...gen_type_activitystreams_view_interface.go | 249 + .../gen_type_forgefed_branch_interface.go | 229 + .../gen_type_forgefed_commit_interface.go | 269 + .../vocab/gen_type_forgefed_push_interface.go | 270 + .../gen_type_forgefed_repository_interface.go | 238 + .../gen_type_forgefed_ticket_interface.go | 263 + ...ype_forgefed_ticketdependency_interface.go | 242 + .../vocab/gen_type_toot_emoji_interface.go | 228 + .../gen_type_toot_identityproof_interface.go | 223 + ...type_w3idsecurityv1_publickey_interface.go | 46 + vendor/github.com/go-fed/httpsig/LICENSE | 29 + vendor/github.com/go-fed/httpsig/README.md | 94 + .../github.com/go-fed/httpsig/algorithms.go | 532 + vendor/github.com/go-fed/httpsig/digest.go | 120 + vendor/github.com/go-fed/httpsig/go.mod | 5 + vendor/github.com/go-fed/httpsig/go.sum | 8 + vendor/github.com/go-fed/httpsig/httpsig.go | 361 + vendor/github.com/go-fed/httpsig/signing.go | 334 + vendor/github.com/go-fed/httpsig/verifying.go | 184 + .../github.com/go-pg/pg/extra/pgdebug/LICENSE | 24 + .../github.com/go-pg/pg/extra/pgdebug/go.mod | 7 + .../github.com/go-pg/pg/extra/pgdebug/go.sum | 161 + .../go-pg/pg/extra/pgdebug/pgdebug.go | 42 + vendor/github.com/go-pg/pg/v10/.golangci.yml | 18 + vendor/github.com/go-pg/pg/v10/.prettierrc | 4 + vendor/github.com/go-pg/pg/v10/.travis.yml | 21 + vendor/github.com/go-pg/pg/v10/CHANGELOG.md | 204 + vendor/github.com/go-pg/pg/v10/LICENSE | 24 + vendor/github.com/go-pg/pg/v10/Makefile | 27 + vendor/github.com/go-pg/pg/v10/README.md | 240 + vendor/github.com/go-pg/pg/v10/base.go | 618 ++ vendor/github.com/go-pg/pg/v10/db.go | 142 + vendor/github.com/go-pg/pg/v10/doc.go | 4 + vendor/github.com/go-pg/pg/v10/error.go | 69 + vendor/github.com/go-pg/pg/v10/go.mod | 24 + vendor/github.com/go-pg/pg/v10/go.sum | 154 + vendor/github.com/go-pg/pg/v10/hook.go | 139 + .../go-pg/pg/v10/internal/context.go | 26 + .../github.com/go-pg/pg/v10/internal/error.go | 61 + .../go-pg/pg/v10/internal/internal.go | 27 + .../github.com/go-pg/pg/v10/internal/log.go | 28 + .../go-pg/pg/v10/internal/parser/parser.go | 141 + .../v10/internal/parser/streaming_parser.go | 65 + .../go-pg/pg/v10/internal/pool/conn.go | 158 + .../go-pg/pg/v10/internal/pool/pool.go | 506 + .../go-pg/pg/v10/internal/pool/pool_single.go | 58 + .../go-pg/pg/v10/internal/pool/pool_sticky.go | 202 + .../go-pg/pg/v10/internal/pool/reader.go | 80 + .../go-pg/pg/v10/internal/pool/reader_buf.go | 431 + .../pg/v10/internal/pool/reader_bytes.go | 121 + .../pg/v10/internal/pool/write_buffer.go | 114 + .../github.com/go-pg/pg/v10/internal/safe.go | 11 + .../go-pg/pg/v10/internal/strconv.go | 19 + .../go-pg/pg/v10/internal/underscore.go | 93 + .../go-pg/pg/v10/internal/unsafe.go | 22 + .../github.com/go-pg/pg/v10/internal/util.go | 71 + vendor/github.com/go-pg/pg/v10/listener.go | 414 + vendor/github.com/go-pg/pg/v10/messages.go | 1390 +++ vendor/github.com/go-pg/pg/v10/options.go | 277 + .../github.com/go-pg/pg/v10/orm/composite.go | 100 + .../go-pg/pg/v10/orm/composite_create.go | 89 + .../go-pg/pg/v10/orm/composite_drop.go | 70 + .../go-pg/pg/v10/orm/composite_parser.go | 140 + .../go-pg/pg/v10/orm/count_estimate.go | 90 + vendor/github.com/go-pg/pg/v10/orm/delete.go | 158 + vendor/github.com/go-pg/pg/v10/orm/field.go | 146 + vendor/github.com/go-pg/pg/v10/orm/format.go | 333 + vendor/github.com/go-pg/pg/v10/orm/hook.go | 248 + vendor/github.com/go-pg/pg/v10/orm/insert.go | 345 + vendor/github.com/go-pg/pg/v10/orm/join.go | 351 + vendor/github.com/go-pg/pg/v10/orm/model.go | 150 + .../go-pg/pg/v10/orm/model_discard.go | 27 + .../github.com/go-pg/pg/v10/orm/model_func.go | 89 + .../github.com/go-pg/pg/v10/orm/model_map.go | 53 + .../go-pg/pg/v10/orm/model_map_slice.go | 45 + .../github.com/go-pg/pg/v10/orm/model_scan.go | 69 + .../go-pg/pg/v10/orm/model_slice.go | 43 + .../go-pg/pg/v10/orm/model_table.go | 65 + .../go-pg/pg/v10/orm/model_table_m2m.go | 111 + .../go-pg/pg/v10/orm/model_table_many.go | 75 + .../go-pg/pg/v10/orm/model_table_slice.go | 156 + .../go-pg/pg/v10/orm/model_table_struct.go | 399 + vendor/github.com/go-pg/pg/v10/orm/msgpack.go | 52 + vendor/github.com/go-pg/pg/v10/orm/orm.go | 58 + vendor/github.com/go-pg/pg/v10/orm/query.go | 1680 +++ .../github.com/go-pg/pg/v10/orm/relation.go | 33 + vendor/github.com/go-pg/pg/v10/orm/result.go | 14 + vendor/github.com/go-pg/pg/v10/orm/select.go | 346 + vendor/github.com/go-pg/pg/v10/orm/table.go | 1560 +++ .../go-pg/pg/v10/orm/table_create.go | 248 + .../github.com/go-pg/pg/v10/orm/table_drop.go | 73 + .../go-pg/pg/v10/orm/table_params.go | 29 + vendor/github.com/go-pg/pg/v10/orm/tables.go | 136 + vendor/github.com/go-pg/pg/v10/orm/types.go | 48 + vendor/github.com/go-pg/pg/v10/orm/update.go | 378 + vendor/github.com/go-pg/pg/v10/orm/util.go | 151 + vendor/github.com/go-pg/pg/v10/pg.go | 274 + vendor/github.com/go-pg/pg/v10/pgjson/json.go | 26 + .../go-pg/pg/v10/pgjson/provider.go | 43 + vendor/github.com/go-pg/pg/v10/result.go | 53 + vendor/github.com/go-pg/pg/v10/stmt.go | 282 + vendor/github.com/go-pg/pg/v10/tx.go | 388 + .../github.com/go-pg/pg/v10/types/append.go | 201 + .../go-pg/pg/v10/types/append_ident.go | 46 + .../go-pg/pg/v10/types/append_jsonb.go | 49 + .../go-pg/pg/v10/types/append_value.go | 248 + vendor/github.com/go-pg/pg/v10/types/array.go | 58 + .../go-pg/pg/v10/types/array_append.go | 236 + .../go-pg/pg/v10/types/array_parser.go | 170 + .../go-pg/pg/v10/types/array_scan.go | 334 + .../github.com/go-pg/pg/v10/types/column.go | 113 + vendor/github.com/go-pg/pg/v10/types/doc.go | 4 + vendor/github.com/go-pg/pg/v10/types/flags.go | 25 + vendor/github.com/go-pg/pg/v10/types/hex.go | 81 + .../github.com/go-pg/pg/v10/types/hstore.go | 59 + .../go-pg/pg/v10/types/hstore_append.go | 50 + .../go-pg/pg/v10/types/hstore_parser.go | 65 + .../go-pg/pg/v10/types/hstore_scan.go | 51 + vendor/github.com/go-pg/pg/v10/types/in_op.go | 62 + .../go-pg/pg/v10/types/null_time.go | 58 + vendor/github.com/go-pg/pg/v10/types/scan.go | 244 + .../go-pg/pg/v10/types/scan_value.go | 418 + vendor/github.com/go-pg/pg/v10/types/time.go | 56 + vendor/github.com/go-pg/pg/v10/types/types.go | 37 + vendor/github.com/go-pg/zerochecker/LICENSE | 24 + vendor/github.com/go-pg/zerochecker/go.mod | 3 + .../go-pg/zerochecker/zerochecker.go | 126 + .../go-playground/locales/.gitignore | 24 + .../go-playground/locales/.travis.yml | 26 + .../github.com/go-playground/locales/LICENSE | 21 + .../go-playground/locales/README.md | 172 + .../locales/currency/currency.go | 308 + .../github.com/go-playground/locales/go.mod | 5 + .../github.com/go-playground/locales/go.sum | 3 + .../github.com/go-playground/locales/logo.png | Bin 0 -> 37360 bytes .../github.com/go-playground/locales/rules.go | 293 + .../universal-translator/.gitignore | 25 + .../universal-translator/.travis.yml | 27 + .../universal-translator/LICENSE | 21 + .../universal-translator/README.md | 89 + .../universal-translator/errors.go | 148 + .../go-playground/universal-translator/go.mod | 5 + .../go-playground/universal-translator/go.sum | 4 + .../universal-translator/import_export.go | 274 + .../universal-translator/logo.png | Bin 0 -> 16598 bytes .../universal-translator/translator.go | 420 + .../universal_translator.go | 113 + .../go-playground/validator/v10/.gitignore | 30 + .../go-playground/validator/v10/LICENSE | 22 + .../validator/v10/MAINTAINERS.md | 16 + .../go-playground/validator/v10/Makefile | 18 + .../go-playground/validator/v10/README.md | 304 + .../go-playground/validator/v10/baked_in.go | 2372 +++++ .../go-playground/validator/v10/cache.go | 322 + .../validator/v10/country_codes.go | 1132 ++ .../go-playground/validator/v10/doc.go | 1322 +++ .../go-playground/validator/v10/errors.go | 275 + .../validator/v10/field_level.go | 120 + .../go-playground/validator/v10/go.mod | 12 + .../go-playground/validator/v10/go.sum | 33 + .../go-playground/validator/v10/logo.png | Bin 0 -> 13443 bytes .../validator/v10/postcode_regexes.go | 173 + .../go-playground/validator/v10/regexes.go | 103 + .../validator/v10/struct_level.go | 175 + .../validator/v10/translations.go | 11 + .../go-playground/validator/v10/util.go | 288 + .../go-playground/validator/v10/validator.go | 477 + .../validator/v10/validator_instance.go | 654 ++ vendor/github.com/go-xmlfmt/xmlfmt/LICENSE | 21 + vendor/github.com/go-xmlfmt/xmlfmt/README.md | 178 + vendor/github.com/go-xmlfmt/xmlfmt/xmlfmt.go | 56 + vendor/github.com/goccy/go-json/.codecov.yml | 31 + vendor/github.com/goccy/go-json/.gitignore | 2 + vendor/github.com/goccy/go-json/.golangci.yml | 75 + vendor/github.com/goccy/go-json/CHANGELOG.md | 145 + vendor/github.com/goccy/go-json/LICENSE | 21 + vendor/github.com/goccy/go-json/Makefile | 39 + vendor/github.com/goccy/go-json/README.md | 513 + vendor/github.com/goccy/go-json/codec.go | 104 + vendor/github.com/goccy/go-json/decode.go | 261 + .../goccy/go-json/decode_anonymous_field.go | 35 + .../github.com/goccy/go-json/decode_array.go | 146 + .../github.com/goccy/go-json/decode_bool.go | 74 + .../github.com/goccy/go-json/decode_bytes.go | 172 + .../goccy/go-json/decode_compile.go | 467 + .../goccy/go-json/decode_compile_norace.go | 24 + .../goccy/go-json/decode_compile_race.go | 34 + .../goccy/go-json/decode_context.go | 228 + .../github.com/goccy/go-json/decode_float.go | 155 + vendor/github.com/goccy/go-json/decode_int.go | 235 + .../goccy/go-json/decode_interface.go | 410 + vendor/github.com/goccy/go-json/decode_map.go | 154 + .../github.com/goccy/go-json/decode_number.go | 105 + vendor/github.com/goccy/go-json/decode_ptr.go | 85 + .../github.com/goccy/go-json/decode_slice.go | 291 + .../github.com/goccy/go-json/decode_stream.go | 438 + .../github.com/goccy/go-json/decode_string.go | 355 + .../github.com/goccy/go-json/decode_struct.go | 623 ++ .../github.com/goccy/go-json/decode_uint.go | 187 + .../goccy/go-json/decode_unmarshal_json.go | 72 + .../goccy/go-json/decode_unmarshal_text.go | 276 + .../goccy/go-json/decode_wrapped_string.go | 63 + .../goccy/go-json/docker-compose.yml | 13 + vendor/github.com/goccy/go-json/encode.go | 284 + vendor/github.com/goccy/go-json/error.go | 49 + vendor/github.com/goccy/go-json/go.mod | 3 + vendor/github.com/goccy/go-json/go.sum | 0 .../goccy/go-json/internal/encoder/compact.go | 286 + .../go-json/internal/encoder/compiler.go | 1510 +++ .../internal/encoder/compiler_norace.go | 39 + .../go-json/internal/encoder/compiler_race.go | 47 + .../goccy/go-json/internal/encoder/context.go | 135 + .../goccy/go-json/internal/encoder/encoder.go | 533 + .../goccy/go-json/internal/encoder/indent.go | 211 + .../goccy/go-json/internal/encoder/int.go | 124 + .../goccy/go-json/internal/encoder/map112.go | 8 + .../goccy/go-json/internal/encoder/map113.go | 8 + .../goccy/go-json/internal/encoder/opcode.go | 743 ++ .../goccy/go-json/internal/encoder/optype.go | 932 ++ .../goccy/go-json/internal/encoder/string.go | 637 ++ .../go-json/internal/encoder/vm/debug_vm.go | 27 + .../goccy/go-json/internal/encoder/vm/hack.go | 9 + .../goccy/go-json/internal/encoder/vm/util.go | 215 + .../goccy/go-json/internal/encoder/vm/vm.go | 4993 +++++++++ .../internal/encoder/vm_escaped/debug_vm.go | 27 + .../internal/encoder/vm_escaped/hack.go | 9 + .../internal/encoder/vm_escaped/util.go | 215 + .../go-json/internal/encoder/vm_escaped/vm.go | 4993 +++++++++ .../encoder/vm_escaped_indent/debug_vm.go | 27 + .../encoder/vm_escaped_indent/hack.go | 6 + .../encoder/vm_escaped_indent/util.go | 241 + .../internal/encoder/vm_escaped_indent/vm.go | 4993 +++++++++ .../internal/encoder/vm_indent/debug_vm.go | 27 + .../internal/encoder/vm_indent/hack.go | 9 + .../internal/encoder/vm_indent/util.go | 241 + .../go-json/internal/encoder/vm_indent/vm.go | 4993 +++++++++ .../goccy/go-json/internal/errors/error.go | 157 + .../goccy/go-json/internal/runtime/rtype.go | 263 + .../go-json/internal/runtime/struct_field.go | 87 + .../goccy/go-json/internal/runtime/type.go | 100 + vendor/github.com/goccy/go-json/json.go | 345 + vendor/github.com/goccy/go-json/option.go | 15 + vendor/github.com/goccy/go-json/rtype.go | 27 + vendor/github.com/golang/geo/LICENSE | 202 + vendor/github.com/golang/geo/r1/doc.go | 20 + vendor/github.com/golang/geo/r1/interval.go | 177 + vendor/github.com/golang/geo/r2/doc.go | 20 + vendor/github.com/golang/geo/r2/rect.go | 255 + vendor/github.com/golang/geo/r3/doc.go | 20 + .../github.com/golang/geo/r3/precisevector.go | 198 + vendor/github.com/golang/geo/r3/vector.go | 183 + vendor/github.com/golang/geo/s1/angle.go | 120 + vendor/github.com/golang/geo/s1/chordangle.go | 320 + vendor/github.com/golang/geo/s1/doc.go | 20 + vendor/github.com/golang/geo/s1/interval.go | 462 + vendor/github.com/golang/geo/s2/bits_go18.go | 53 + vendor/github.com/golang/geo/s2/bits_go19.go | 39 + vendor/github.com/golang/geo/s2/cap.go | 519 + vendor/github.com/golang/geo/s2/cell.go | 698 ++ vendor/github.com/golang/geo/s2/cell_index.go | 498 + vendor/github.com/golang/geo/s2/cellid.go | 944 ++ vendor/github.com/golang/geo/s2/cellunion.go | 590 + vendor/github.com/golang/geo/s2/centroids.go | 133 + .../golang/geo/s2/contains_point_query.go | 190 + .../golang/geo/s2/contains_vertex_query.go | 63 + .../golang/geo/s2/convex_hull_query.go | 258 + .../golang/geo/s2/crossing_edge_query.go | 409 + .../golang/geo/s2/distance_target.go | 149 + vendor/github.com/golang/geo/s2/doc.go | 29 + .../github.com/golang/geo/s2/edge_clipping.go | 672 ++ .../github.com/golang/geo/s2/edge_crosser.go | 227 + .../golang/geo/s2/edge_crossings.go | 396 + .../golang/geo/s2/edge_distances.go | 408 + vendor/github.com/golang/geo/s2/edge_query.go | 803 ++ .../golang/geo/s2/edge_tessellator.go | 291 + vendor/github.com/golang/geo/s2/encode.go | 224 + vendor/github.com/golang/geo/s2/interleave.go | 143 + vendor/github.com/golang/geo/s2/latlng.go | 101 + vendor/github.com/golang/geo/s2/lexicon.go | 175 + vendor/github.com/golang/geo/s2/loop.go | 1833 ++++ vendor/github.com/golang/geo/s2/matrix3x3.go | 127 + .../golang/geo/s2/max_distance_targets.go | 306 + vendor/github.com/golang/geo/s2/metric.go | 164 + .../golang/geo/s2/min_distance_targets.go | 362 + .../github.com/golang/geo/s2/nthderivative.go | 88 + vendor/github.com/golang/geo/s2/paddedcell.go | 252 + vendor/github.com/golang/geo/s2/point.go | 258 + .../golang/geo/s2/point_measures.go | 149 + .../github.com/golang/geo/s2/point_vector.go | 42 + .../golang/geo/s2/pointcompression.go | 319 + vendor/github.com/golang/geo/s2/polygon.go | 1213 +++ vendor/github.com/golang/geo/s2/polyline.go | 589 + .../golang/geo/s2/polyline_measures.go | 53 + vendor/github.com/golang/geo/s2/predicates.go | 701 ++ .../github.com/golang/geo/s2/projections.go | 241 + .../github.com/golang/geo/s2/query_entry.go | 93 + .../github.com/golang/geo/s2/query_options.go | 196 + vendor/github.com/golang/geo/s2/rect.go | 710 ++ .../github.com/golang/geo/s2/rect_bounder.go | 352 + vendor/github.com/golang/geo/s2/region.go | 71 + .../github.com/golang/geo/s2/regioncoverer.go | 615 ++ .../github.com/golang/geo/s2/regionunion.go | 66 + vendor/github.com/golang/geo/s2/shape.go | 263 + vendor/github.com/golang/geo/s2/shapeindex.go | 1526 +++ vendor/github.com/golang/geo/s2/shapeutil.go | 228 + .../golang/geo/s2/shapeutil_edge_iterator.go | 72 + vendor/github.com/golang/geo/s2/stuv.go | 427 + vendor/github.com/golang/geo/s2/util.go | 125 + .../golang/geo/s2/wedge_relations.go | 97 + vendor/github.com/golang/protobuf/AUTHORS | 3 + .../github.com/golang/protobuf/CONTRIBUTORS | 3 + vendor/github.com/golang/protobuf/LICENSE | 28 + .../golang/protobuf/proto/buffer.go | 324 + .../golang/protobuf/proto/defaults.go | 63 + .../golang/protobuf/proto/deprecated.go | 113 + .../golang/protobuf/proto/discard.go | 58 + .../golang/protobuf/proto/extensions.go | 356 + .../golang/protobuf/proto/properties.go | 306 + .../github.com/golang/protobuf/proto/proto.go | 167 + .../golang/protobuf/proto/registry.go | 317 + .../golang/protobuf/proto/text_decode.go | 801 ++ .../golang/protobuf/proto/text_encode.go | 560 + .../github.com/golang/protobuf/proto/wire.go | 78 + .../golang/protobuf/proto/wrappers.go | 34 + vendor/github.com/google/uuid/.travis.yml | 9 + vendor/github.com/google/uuid/CONTRIBUTING.md | 10 + vendor/github.com/google/uuid/CONTRIBUTORS | 9 + vendor/github.com/google/uuid/LICENSE | 27 + vendor/github.com/google/uuid/README.md | 19 + vendor/github.com/google/uuid/dce.go | 80 + vendor/github.com/google/uuid/doc.go | 12 + vendor/github.com/google/uuid/go.mod | 1 + vendor/github.com/google/uuid/hash.go | 53 + vendor/github.com/google/uuid/marshal.go | 38 + vendor/github.com/google/uuid/node.go | 90 + vendor/github.com/google/uuid/node_js.go | 12 + vendor/github.com/google/uuid/node_net.go | 33 + vendor/github.com/google/uuid/null.go | 118 + vendor/github.com/google/uuid/sql.go | 59 + vendor/github.com/google/uuid/time.go | 123 + vendor/github.com/google/uuid/util.go | 43 + vendor/github.com/google/uuid/uuid.go | 294 + vendor/github.com/google/uuid/version1.go | 44 + vendor/github.com/google/uuid/version4.go | 76 + vendor/github.com/gorilla/context/.travis.yml | 19 + vendor/github.com/gorilla/context/LICENSE | 27 + vendor/github.com/gorilla/context/README.md | 10 + vendor/github.com/gorilla/context/context.go | 143 + vendor/github.com/gorilla/context/doc.go | 88 + vendor/github.com/gorilla/css/LICENSE | 27 + vendor/github.com/gorilla/css/scanner/doc.go | 33 + .../github.com/gorilla/css/scanner/scanner.go | 356 + .../gorilla/securecookie/.travis.yml | 19 + .../github.com/gorilla/securecookie/LICENSE | 27 + .../github.com/gorilla/securecookie/README.md | 80 + vendor/github.com/gorilla/securecookie/doc.go | 61 + .../github.com/gorilla/securecookie/fuzz.go | 25 + .../gorilla/securecookie/securecookie.go | 646 ++ vendor/github.com/gorilla/sessions/AUTHORS | 43 + vendor/github.com/gorilla/sessions/LICENSE | 27 + vendor/github.com/gorilla/sessions/README.md | 90 + vendor/github.com/gorilla/sessions/cookie.go | 19 + .../gorilla/sessions/cookie_go111.go | 20 + vendor/github.com/gorilla/sessions/doc.go | 207 + vendor/github.com/gorilla/sessions/go.mod | 3 + vendor/github.com/gorilla/sessions/go.sum | 2 + vendor/github.com/gorilla/sessions/lex.go | 102 + vendor/github.com/gorilla/sessions/options.go | 18 + .../gorilla/sessions/options_go111.go | 22 + .../github.com/gorilla/sessions/sessions.go | 218 + vendor/github.com/gorilla/sessions/store.go | 292 + .../github.com/gorilla/websocket/.gitignore | 25 + vendor/github.com/gorilla/websocket/AUTHORS | 9 + vendor/github.com/gorilla/websocket/LICENSE | 22 + vendor/github.com/gorilla/websocket/README.md | 64 + vendor/github.com/gorilla/websocket/client.go | 395 + .../gorilla/websocket/client_clone.go | 16 + .../gorilla/websocket/client_clone_legacy.go | 38 + .../gorilla/websocket/compression.go | 148 + vendor/github.com/gorilla/websocket/conn.go | 1201 +++ .../gorilla/websocket/conn_write.go | 15 + .../gorilla/websocket/conn_write_legacy.go | 18 + vendor/github.com/gorilla/websocket/doc.go | 227 + vendor/github.com/gorilla/websocket/go.mod | 3 + vendor/github.com/gorilla/websocket/go.sum | 0 vendor/github.com/gorilla/websocket/join.go | 42 + vendor/github.com/gorilla/websocket/json.go | 60 + vendor/github.com/gorilla/websocket/mask.go | 54 + .../github.com/gorilla/websocket/mask_safe.go | 15 + .../github.com/gorilla/websocket/prepared.go | 102 + vendor/github.com/gorilla/websocket/proxy.go | 77 + vendor/github.com/gorilla/websocket/server.go | 363 + vendor/github.com/gorilla/websocket/trace.go | 19 + .../github.com/gorilla/websocket/trace_17.go | 12 + vendor/github.com/gorilla/websocket/util.go | 283 + .../gorilla/websocket/x_net_proxy.go | 473 + .../github.com/h2non/filetype/.editorconfig | 12 + vendor/github.com/h2non/filetype/.gitignore | 2 + vendor/github.com/h2non/filetype/.travis.yml | 16 + vendor/github.com/h2non/filetype/History.md | 148 + vendor/github.com/h2non/filetype/LICENSE | 24 + vendor/github.com/h2non/filetype/README.md | 292 + vendor/github.com/h2non/filetype/filetype.go | 102 + vendor/github.com/h2non/filetype/go.mod | 3 + vendor/github.com/h2non/filetype/kind.go | 80 + vendor/github.com/h2non/filetype/match.go | 90 + .../h2non/filetype/matchers/application.go | 43 + .../h2non/filetype/matchers/archive.go | 246 + .../h2non/filetype/matchers/audio.go | 75 + .../h2non/filetype/matchers/document.go | 197 + .../h2non/filetype/matchers/font.go | 45 + .../h2non/filetype/matchers/image.go | 143 + .../filetype/matchers/isobmff/isobmff.go | 37 + .../h2non/filetype/matchers/matchers.go | 51 + .../h2non/filetype/matchers/video.go | 145 + .../h2non/filetype/types/defaults.go | 4 + .../github.com/h2non/filetype/types/mime.go | 14 + .../github.com/h2non/filetype/types/split.go | 11 + .../github.com/h2non/filetype/types/type.go | 16 + .../github.com/h2non/filetype/types/types.go | 23 + vendor/github.com/h2non/filetype/version.go | 4 + vendor/github.com/jinzhu/inflection/LICENSE | 21 + vendor/github.com/jinzhu/inflection/README.md | 55 + vendor/github.com/jinzhu/inflection/go.mod | 1 + .../jinzhu/inflection/inflections.go | 273 + .../github.com/jinzhu/inflection/wercker.yml | 23 + .../github.com/json-iterator/go/.codecov.yml | 3 + vendor/github.com/json-iterator/go/.gitignore | 4 + .../github.com/json-iterator/go/.travis.yml | 14 + vendor/github.com/json-iterator/go/Gopkg.lock | 21 + vendor/github.com/json-iterator/go/Gopkg.toml | 26 + vendor/github.com/json-iterator/go/LICENSE | 21 + vendor/github.com/json-iterator/go/README.md | 87 + vendor/github.com/json-iterator/go/adapter.go | 150 + vendor/github.com/json-iterator/go/any.go | 325 + .../github.com/json-iterator/go/any_array.go | 278 + .../github.com/json-iterator/go/any_bool.go | 137 + .../github.com/json-iterator/go/any_float.go | 83 + .../github.com/json-iterator/go/any_int32.go | 74 + .../github.com/json-iterator/go/any_int64.go | 74 + .../json-iterator/go/any_invalid.go | 82 + vendor/github.com/json-iterator/go/any_nil.go | 69 + .../github.com/json-iterator/go/any_number.go | 123 + .../github.com/json-iterator/go/any_object.go | 374 + vendor/github.com/json-iterator/go/any_str.go | 166 + .../github.com/json-iterator/go/any_uint32.go | 74 + .../github.com/json-iterator/go/any_uint64.go | 74 + vendor/github.com/json-iterator/go/build.sh | 12 + vendor/github.com/json-iterator/go/config.go | 375 + .../go/fuzzy_mode_convert_table.md | 7 + vendor/github.com/json-iterator/go/go.mod | 11 + vendor/github.com/json-iterator/go/go.sum | 15 + vendor/github.com/json-iterator/go/iter.go | 349 + .../github.com/json-iterator/go/iter_array.go | 64 + .../github.com/json-iterator/go/iter_float.go | 342 + .../github.com/json-iterator/go/iter_int.go | 346 + .../json-iterator/go/iter_object.go | 267 + .../github.com/json-iterator/go/iter_skip.go | 130 + .../json-iterator/go/iter_skip_sloppy.go | 163 + .../json-iterator/go/iter_skip_strict.go | 99 + .../github.com/json-iterator/go/iter_str.go | 215 + .../github.com/json-iterator/go/jsoniter.go | 18 + vendor/github.com/json-iterator/go/pool.go | 42 + vendor/github.com/json-iterator/go/reflect.go | 337 + .../json-iterator/go/reflect_array.go | 104 + .../json-iterator/go/reflect_dynamic.go | 70 + .../json-iterator/go/reflect_extension.go | 483 + .../json-iterator/go/reflect_json_number.go | 112 + .../go/reflect_json_raw_message.go | 76 + .../json-iterator/go/reflect_map.go | 346 + .../json-iterator/go/reflect_marshaler.go | 225 + .../json-iterator/go/reflect_native.go | 453 + .../json-iterator/go/reflect_optional.go | 129 + .../json-iterator/go/reflect_slice.go | 99 + .../go/reflect_struct_decoder.go | 1097 ++ .../go/reflect_struct_encoder.go | 211 + vendor/github.com/json-iterator/go/stream.go | 210 + .../json-iterator/go/stream_float.go | 111 + .../github.com/json-iterator/go/stream_int.go | 190 + .../github.com/json-iterator/go/stream_str.go | 372 + vendor/github.com/json-iterator/go/test.sh | 12 + vendor/github.com/leodido/go-urn/.gitignore | 11 + vendor/github.com/leodido/go-urn/.travis.yml | 16 + vendor/github.com/leodido/go-urn/LICENSE | 21 + vendor/github.com/leodido/go-urn/README.md | 55 + vendor/github.com/leodido/go-urn/go.mod | 5 + vendor/github.com/leodido/go-urn/go.sum | 11 + vendor/github.com/leodido/go-urn/machine.go | 1691 +++ .../github.com/leodido/go-urn/machine.go.rl | 159 + vendor/github.com/leodido/go-urn/makefile | 39 + vendor/github.com/leodido/go-urn/urn.go | 86 + vendor/github.com/mattn/go-isatty/.travis.yml | 14 + vendor/github.com/mattn/go-isatty/LICENSE | 9 + vendor/github.com/mattn/go-isatty/README.md | 50 + vendor/github.com/mattn/go-isatty/doc.go | 2 + vendor/github.com/mattn/go-isatty/go.mod | 5 + vendor/github.com/mattn/go-isatty/go.sum | 2 + vendor/github.com/mattn/go-isatty/go.test.sh | 12 + .../github.com/mattn/go-isatty/isatty_bsd.go | 18 + .../mattn/go-isatty/isatty_others.go | 15 + .../mattn/go-isatty/isatty_plan9.go | 22 + .../mattn/go-isatty/isatty_solaris.go | 21 + .../mattn/go-isatty/isatty_tcgets.go | 18 + .../mattn/go-isatty/isatty_windows.go | 125 + .../microcosm-cc/bluemonday/.coveralls.yml | 1 + .../microcosm-cc/bluemonday/.gitignore | 15 + .../microcosm-cc/bluemonday/.travis.yml | 26 + .../microcosm-cc/bluemonday/CONTRIBUTING.md | 52 + .../microcosm-cc/bluemonday/CREDITS.md | 7 + .../microcosm-cc/bluemonday/LICENSE.md | 28 + .../microcosm-cc/bluemonday/Makefile | 42 + .../microcosm-cc/bluemonday/README.md | 416 + .../microcosm-cc/bluemonday/SECURITY.md | 15 + .../microcosm-cc/bluemonday/css/handlers.go | 2086 ++++ .../github.com/microcosm-cc/bluemonday/doc.go | 104 + .../github.com/microcosm-cc/bluemonday/go.mod | 10 + .../github.com/microcosm-cc/bluemonday/go.sum | 18 + .../microcosm-cc/bluemonday/helpers.go | 297 + .../microcosm-cc/bluemonday/policies.go | 253 + .../microcosm-cc/bluemonday/policy.go | 835 ++ .../microcosm-cc/bluemonday/sanitize.go | 1061 ++ .../bluemonday/stringwriterwriter_go1.12.go | 10 + .../bluemonday/stringwriterwriter_ltgo1.12.go | 14 + .../modern-go/concurrent/.gitignore | 1 + .../modern-go/concurrent/.travis.yml | 14 + .../github.com/modern-go/concurrent/LICENSE | 201 + .../github.com/modern-go/concurrent/README.md | 49 + .../modern-go/concurrent/executor.go | 14 + .../modern-go/concurrent/go_above_19.go | 15 + .../modern-go/concurrent/go_below_19.go | 33 + vendor/github.com/modern-go/concurrent/log.go | 13 + .../github.com/modern-go/concurrent/test.sh | 12 + .../concurrent/unbounded_executor.go | 119 + .../github.com/modern-go/reflect2/.gitignore | 2 + .../github.com/modern-go/reflect2/.travis.yml | 15 + .../github.com/modern-go/reflect2/Gopkg.lock | 15 + .../github.com/modern-go/reflect2/Gopkg.toml | 35 + vendor/github.com/modern-go/reflect2/LICENSE | 201 + .../github.com/modern-go/reflect2/README.md | 71 + .../modern-go/reflect2/go_above_17.go | 8 + .../modern-go/reflect2/go_above_19.go | 14 + .../modern-go/reflect2/go_below_17.go | 9 + .../modern-go/reflect2/go_below_19.go | 14 + .../github.com/modern-go/reflect2/reflect2.go | 298 + .../modern-go/reflect2/reflect2_amd64.s | 0 .../modern-go/reflect2/reflect2_kind.go | 30 + .../modern-go/reflect2/relfect2_386.s | 0 .../modern-go/reflect2/relfect2_amd64p32.s | 0 .../modern-go/reflect2/relfect2_arm.s | 0 .../modern-go/reflect2/relfect2_arm64.s | 0 .../modern-go/reflect2/relfect2_mips64x.s | 0 .../modern-go/reflect2/relfect2_mipsx.s | 0 .../modern-go/reflect2/relfect2_ppc64x.s | 0 .../modern-go/reflect2/relfect2_s390x.s | 0 .../modern-go/reflect2/safe_field.go | 58 + .../github.com/modern-go/reflect2/safe_map.go | 101 + .../modern-go/reflect2/safe_slice.go | 92 + .../modern-go/reflect2/safe_struct.go | 29 + .../modern-go/reflect2/safe_type.go | 78 + vendor/github.com/modern-go/reflect2/test.sh | 12 + .../github.com/modern-go/reflect2/type_map.go | 113 + .../modern-go/reflect2/unsafe_array.go | 65 + .../modern-go/reflect2/unsafe_eface.go | 59 + .../modern-go/reflect2/unsafe_field.go | 74 + .../modern-go/reflect2/unsafe_iface.go | 64 + .../modern-go/reflect2/unsafe_link.go | 70 + .../modern-go/reflect2/unsafe_map.go | 138 + .../modern-go/reflect2/unsafe_ptr.go | 46 + .../modern-go/reflect2/unsafe_slice.go | 177 + .../modern-go/reflect2/unsafe_struct.go | 59 + .../modern-go/reflect2/unsafe_type.go | 85 + vendor/github.com/nfnt/resize/.travis.yml | 7 + vendor/github.com/nfnt/resize/LICENSE | 13 + vendor/github.com/nfnt/resize/README.md | 151 + vendor/github.com/nfnt/resize/converter.go | 438 + vendor/github.com/nfnt/resize/filters.go | 143 + vendor/github.com/nfnt/resize/nearest.go | 318 + vendor/github.com/nfnt/resize/resize.go | 620 ++ vendor/github.com/nfnt/resize/thumbnail.go | 55 + vendor/github.com/nfnt/resize/ycc.go | 387 + vendor/github.com/oklog/ulid/.gitignore | 29 + vendor/github.com/oklog/ulid/.travis.yml | 16 + vendor/github.com/oklog/ulid/AUTHORS.md | 2 + vendor/github.com/oklog/ulid/CHANGELOG.md | 33 + vendor/github.com/oklog/ulid/CONTRIBUTING.md | 17 + vendor/github.com/oklog/ulid/Gopkg.lock | 15 + vendor/github.com/oklog/ulid/Gopkg.toml | 26 + vendor/github.com/oklog/ulid/LICENSE | 201 + vendor/github.com/oklog/ulid/README.md | 150 + vendor/github.com/oklog/ulid/ulid.go | 614 ++ vendor/github.com/pmezard/go-difflib/LICENSE | 27 + .../pmezard/go-difflib/difflib/difflib.go | 772 ++ vendor/github.com/quasoft/memstore/.gitignore | 14 + .../github.com/quasoft/memstore/.travis.yml | 8 + vendor/github.com/quasoft/memstore/LICENSE | 29 + vendor/github.com/quasoft/memstore/README.md | 74 + vendor/github.com/quasoft/memstore/cache.go | 40 + .../github.com/quasoft/memstore/memstore.go | 155 + .../russross/blackfriday/v2/.gitignore | 8 + .../russross/blackfriday/v2/.travis.yml | 17 + .../russross/blackfriday/v2/LICENSE.txt | 29 + .../russross/blackfriday/v2/README.md | 335 + .../russross/blackfriday/v2/block.go | 1612 +++ .../github.com/russross/blackfriday/v2/doc.go | 46 + .../russross/blackfriday/v2/entities.go | 2236 ++++ .../github.com/russross/blackfriday/v2/esc.go | 70 + .../github.com/russross/blackfriday/v2/go.mod | 1 + .../russross/blackfriday/v2/html.go | 952 ++ .../russross/blackfriday/v2/inline.go | 1228 +++ .../russross/blackfriday/v2/markdown.go | 950 ++ .../russross/blackfriday/v2/node.go | 360 + .../russross/blackfriday/v2/smartypants.go | 457 + vendor/github.com/sirupsen/logrus/.gitignore | 4 + .../github.com/sirupsen/logrus/.golangci.yml | 40 + vendor/github.com/sirupsen/logrus/.travis.yml | 15 + .../github.com/sirupsen/logrus/CHANGELOG.md | 259 + vendor/github.com/sirupsen/logrus/LICENSE | 21 + vendor/github.com/sirupsen/logrus/README.md | 513 + vendor/github.com/sirupsen/logrus/alt_exit.go | 76 + .../github.com/sirupsen/logrus/appveyor.yml | 14 + .../github.com/sirupsen/logrus/buffer_pool.go | 52 + vendor/github.com/sirupsen/logrus/doc.go | 26 + vendor/github.com/sirupsen/logrus/entry.go | 431 + vendor/github.com/sirupsen/logrus/exported.go | 270 + .../github.com/sirupsen/logrus/formatter.go | 78 + vendor/github.com/sirupsen/logrus/go.mod | 10 + vendor/github.com/sirupsen/logrus/go.sum | 8 + vendor/github.com/sirupsen/logrus/hooks.go | 34 + .../sirupsen/logrus/json_formatter.go | 128 + vendor/github.com/sirupsen/logrus/logger.go | 404 + vendor/github.com/sirupsen/logrus/logrus.go | 186 + .../logrus/terminal_check_appengine.go | 11 + .../sirupsen/logrus/terminal_check_bsd.go | 13 + .../sirupsen/logrus/terminal_check_js.go | 7 + .../logrus/terminal_check_no_terminal.go | 11 + .../logrus/terminal_check_notappengine.go | 17 + .../sirupsen/logrus/terminal_check_solaris.go | 11 + .../sirupsen/logrus/terminal_check_unix.go | 13 + .../sirupsen/logrus/terminal_check_windows.go | 27 + .../sirupsen/logrus/text_formatter.go | 339 + vendor/github.com/sirupsen/logrus/writer.go | 70 + vendor/github.com/stretchr/testify/LICENSE | 21 + .../testify/assert/assertion_compare.go | 394 + .../testify/assert/assertion_format.go | 741 ++ .../testify/assert/assertion_format.go.tmpl | 5 + .../testify/assert/assertion_forward.go | 1470 +++ .../testify/assert/assertion_forward.go.tmpl | 5 + .../testify/assert/assertion_order.go | 81 + .../stretchr/testify/assert/assertions.go | 1774 +++ .../github.com/stretchr/testify/assert/doc.go | 45 + .../stretchr/testify/assert/errors.go | 10 + .../testify/assert/forward_assertions.go | 16 + .../testify/assert/http_assertions.go | 162 + .../stretchr/testify/require/doc.go | 28 + .../testify/require/forward_requirements.go | 16 + .../stretchr/testify/require/require.go | 1879 ++++ .../stretchr/testify/require/require.go.tmpl | 6 + .../testify/require/require_forward.go | 1471 +++ .../testify/require/require_forward.go.tmpl | 5 + .../stretchr/testify/require/requirements.go | 29 + .../github.com/stretchr/testify/suite/doc.go | 65 + .../stretchr/testify/suite/interfaces.go | 53 + .../stretchr/testify/suite/stats.go | 46 + .../stretchr/testify/suite/suite.go | 209 + .../superseriousbusiness/exifremove/LICENSE | 21 + .../exifremove/pkg/exifremove/exifremove.go | 140 + .../exifremove/pkg/exifremove/png_crc_fix.go | 104 + .../superseriousbusiness/oauth2/v4/.gitignore | 31 + .../oauth2/v4/.travis.yml | 13 + .../superseriousbusiness/oauth2/v4/LICENSE | 21 + .../superseriousbusiness/oauth2/v4/README.md | 3 + .../superseriousbusiness/oauth2/v4/const.go | 76 + .../superseriousbusiness/oauth2/v4/doc.go | 24 + .../oauth2/v4/errors/error.go | 19 + .../oauth2/v4/errors/response.go | 84 + .../oauth2/v4/generate.go | 28 + .../oauth2/v4/generates/access.go | 38 + .../oauth2/v4/generates/authorize.go | 30 + .../oauth2/v4/generates/jwt_access.go | 104 + .../superseriousbusiness/oauth2/v4/go.mod | 35 + .../superseriousbusiness/oauth2/v4/go.sum | 168 + .../superseriousbusiness/oauth2/v4/go.test.sh | 12 + .../superseriousbusiness/oauth2/v4/manage.go | 50 + .../oauth2/v4/manage/config.go | 39 + .../oauth2/v4/manage/manager.go | 500 + .../oauth2/v4/manage/util.go | 30 + .../superseriousbusiness/oauth2/v4/model.go | 59 + .../oauth2/v4/models/client.go | 46 + .../oauth2/v4/models/token.go | 186 + .../oauth2/v4/server/config.go | 50 + .../oauth2/v4/server/handler.go | 66 + .../oauth2/v4/server/server.go | 585 + .../oauth2/v4/server/server_config.go | 85 + .../superseriousbusiness/oauth2/v4/store.go | 36 + vendor/github.com/tmthrgd/go-hex/.travis.yml | 11 + vendor/github.com/tmthrgd/go-hex/LICENSE | 82 + vendor/github.com/tmthrgd/go-hex/README.md | 108 + vendor/github.com/tmthrgd/go-hex/hex.go | 137 + vendor/github.com/tmthrgd/go-hex/hex_amd64.go | 94 + .../tmthrgd/go-hex/hex_decode_amd64.s | 303 + .../tmthrgd/go-hex/hex_encode_amd64.s | 227 + vendor/github.com/tmthrgd/go-hex/hex_other.go | 36 + .../ugorji/go/codec/0_importpath.go | 7 + vendor/github.com/ugorji/go/codec/LICENSE | 22 + vendor/github.com/ugorji/go/codec/README.md | 283 + vendor/github.com/ugorji/go/codec/binc.go | 1308 +++ vendor/github.com/ugorji/go/codec/build.sh | 368 + vendor/github.com/ugorji/go/codec/cbor.go | 949 ++ vendor/github.com/ugorji/go/codec/codecgen.go | 17 + vendor/github.com/ugorji/go/codec/decimal.go | 491 + vendor/github.com/ugorji/go/codec/decode.go | 2350 ++++ vendor/github.com/ugorji/go/codec/doc.go | 228 + vendor/github.com/ugorji/go/codec/encode.go | 1479 +++ .../ugorji/go/codec/fast-path.generated.go | 6157 +++++++++++ .../ugorji/go/codec/fast-path.go.tmpl | 555 + .../ugorji/go/codec/fast-path.not.go | 41 + .../ugorji/go/codec/gen-dec-array.go.tmpl | 90 + .../ugorji/go/codec/gen-dec-map.go.tmpl | 58 + .../ugorji/go/codec/gen-enc-chan.go.tmpl | 27 + .../ugorji/go/codec/gen-helper.generated.go | 277 + .../ugorji/go/codec/gen-helper.go.tmpl | 249 + .../ugorji/go/codec/gen.generated.go | 192 + vendor/github.com/ugorji/go/codec/gen.go | 2801 +++++ vendor/github.com/ugorji/go/codec/go.mod | 5 + .../go/codec/goversion_arrayof_gte_go15.go | 15 + .../go/codec/goversion_arrayof_lt_go15.go | 20 + .../go/codec/goversion_fmt_time_gte_go15.go | 13 + .../go/codec/goversion_fmt_time_lt_go15.go | 16 + .../go/codec/goversion_makemap_lt_go110.go | 13 + .../goversion_makemap_not_unsafe_gte_go110.go | 14 + .../goversion_makemap_unsafe_gte_go110.go | 25 + .../go/codec/goversion_maprange_gte_go112.go | 41 + .../go/codec/goversion_maprange_lt_go112.go | 45 + ...version_unexportedembeddedptr_gte_go110.go | 9 + ...oversion_unexportedembeddedptr_lt_go110.go | 9 + .../go/codec/goversion_unsupported_lt_go14.go | 22 + .../go/codec/goversion_vendor_eq_go15.go | 11 + .../go/codec/goversion_vendor_eq_go16.go | 11 + .../go/codec/goversion_vendor_gte_go17.go | 9 + .../go/codec/goversion_vendor_lt_go15.go | 9 + vendor/github.com/ugorji/go/codec/helper.go | 2972 ++++++ vendor/github.com/ugorji/go/codec/helper.s | 0 .../ugorji/go/codec/helper_internal.go | 147 + .../ugorji/go/codec/helper_not_unsafe.go | 670 ++ .../go/codec/helper_not_unsafe_not_gc.go | 19 + .../ugorji/go/codec/helper_unsafe.go | 1301 +++ .../go/codec/helper_unsafe_compiler_gc.go | 171 + .../go/codec/helper_unsafe_compiler_not_gc.go | 80 + vendor/github.com/ugorji/go/codec/json.go | 1457 +++ .../ugorji/go/codec/mammoth-test.go.tmpl | 235 + .../ugorji/go/codec/mammoth2-test.go.tmpl | 101 + vendor/github.com/ugorji/go/codec/msgpack.go | 1229 +++ vendor/github.com/ugorji/go/codec/reader.go | 816 ++ .../ugorji/go/codec/register_ext.go | 38 + vendor/github.com/ugorji/go/codec/rpc.go | 232 + vendor/github.com/ugorji/go/codec/simple.go | 747 ++ .../ugorji/go/codec/sort-slice.generated.go | 158 + .../ugorji/go/codec/sort-slice.go.tmpl | 66 + .../ugorji/go/codec/test-cbor-goldens.json | 639 ++ vendor/github.com/ugorji/go/codec/test.py | 138 + vendor/github.com/ugorji/go/codec/writer.go | 289 + vendor/github.com/urfave/cli/v2/.flake8 | 2 + vendor/github.com/urfave/cli/v2/.gitignore | 7 + .../urfave/cli/v2/CODE_OF_CONDUCT.md | 74 + vendor/github.com/urfave/cli/v2/LICENSE | 21 + vendor/github.com/urfave/cli/v2/README.md | 70 + vendor/github.com/urfave/cli/v2/app.go | 540 + vendor/github.com/urfave/cli/v2/args.go | 54 + vendor/github.com/urfave/cli/v2/category.go | 79 + vendor/github.com/urfave/cli/v2/cli.go | 23 + vendor/github.com/urfave/cli/v2/command.go | 300 + vendor/github.com/urfave/cli/v2/context.go | 273 + vendor/github.com/urfave/cli/v2/docs.go | 148 + vendor/github.com/urfave/cli/v2/errors.go | 141 + vendor/github.com/urfave/cli/v2/fish.go | 196 + vendor/github.com/urfave/cli/v2/flag.go | 388 + vendor/github.com/urfave/cli/v2/flag_bool.go | 106 + .../github.com/urfave/cli/v2/flag_duration.go | 105 + .../github.com/urfave/cli/v2/flag_float64.go | 106 + .../urfave/cli/v2/flag_float64_slice.go | 163 + .../github.com/urfave/cli/v2/flag_generic.go | 108 + vendor/github.com/urfave/cli/v2/flag_int.go | 106 + vendor/github.com/urfave/cli/v2/flag_int64.go | 105 + .../urfave/cli/v2/flag_int64_slice.go | 159 + .../urfave/cli/v2/flag_int_slice.go | 173 + vendor/github.com/urfave/cli/v2/flag_path.go | 95 + .../github.com/urfave/cli/v2/flag_string.go | 95 + .../urfave/cli/v2/flag_string_slice.go | 180 + .../urfave/cli/v2/flag_timestamp.go | 154 + vendor/github.com/urfave/cli/v2/flag_uint.go | 105 + .../github.com/urfave/cli/v2/flag_uint64.go | 105 + vendor/github.com/urfave/cli/v2/funcs.go | 44 + vendor/github.com/urfave/cli/v2/go.mod | 9 + vendor/github.com/urfave/cli/v2/go.sum | 14 + vendor/github.com/urfave/cli/v2/help.go | 386 + vendor/github.com/urfave/cli/v2/parse.go | 94 + vendor/github.com/urfave/cli/v2/sort.go | 29 + vendor/github.com/urfave/cli/v2/template.go | 120 + .../vmihailenco/bufpool/.travis.yml | 20 + vendor/github.com/vmihailenco/bufpool/LICENSE | 23 + .../github.com/vmihailenco/bufpool/Makefile | 6 + .../github.com/vmihailenco/bufpool/README.md | 74 + .../vmihailenco/bufpool/buf_pool.go | 67 + .../github.com/vmihailenco/bufpool/buffer.go | 397 + .../vmihailenco/bufpool/buffer_ext.go | 66 + vendor/github.com/vmihailenco/bufpool/go.mod | 9 + vendor/github.com/vmihailenco/bufpool/go.sum | 17 + vendor/github.com/vmihailenco/bufpool/pool.go | 148 + .../vmihailenco/msgpack/v5/.golangci.yml | 18 + .../vmihailenco/msgpack/v5/.prettierrc | 4 + .../vmihailenco/msgpack/v5/.travis.yml | 20 + .../vmihailenco/msgpack/v5/CHANGELOG.md | 3 + .../github.com/vmihailenco/msgpack/v5/LICENSE | 25 + .../vmihailenco/msgpack/v5/Makefile | 7 + .../vmihailenco/msgpack/v5/README.md | 85 + .../vmihailenco/msgpack/v5/decode.go | 660 ++ .../vmihailenco/msgpack/v5/decode_map.go | 339 + .../vmihailenco/msgpack/v5/decode_number.go | 295 + .../vmihailenco/msgpack/v5/decode_query.go | 158 + .../vmihailenco/msgpack/v5/decode_slice.go | 191 + .../vmihailenco/msgpack/v5/decode_string.go | 192 + .../vmihailenco/msgpack/v5/decode_value.go | 250 + .../vmihailenco/msgpack/v5/encode.go | 269 + .../vmihailenco/msgpack/v5/encode_map.go | 178 + .../vmihailenco/msgpack/v5/encode_number.go | 252 + .../vmihailenco/msgpack/v5/encode_slice.go | 139 + .../vmihailenco/msgpack/v5/encode_value.go | 245 + .../github.com/vmihailenco/msgpack/v5/ext.go | 303 + .../github.com/vmihailenco/msgpack/v5/go.mod | 8 + .../github.com/vmihailenco/msgpack/v5/go.sum | 13 + .../vmihailenco/msgpack/v5/intern.go | 238 + .../vmihailenco/msgpack/v5/msgpack.go | 52 + .../msgpack/v5/msgpcode/msgpcode.go | 88 + .../github.com/vmihailenco/msgpack/v5/safe.go | 13 + .../github.com/vmihailenco/msgpack/v5/time.go | 145 + .../vmihailenco/msgpack/v5/types.go | 407 + .../vmihailenco/msgpack/v5/unsafe.go | 22 + .../vmihailenco/tagparser/.travis.yml | 24 + .../github.com/vmihailenco/tagparser/LICENSE | 25 + .../github.com/vmihailenco/tagparser/Makefile | 8 + .../vmihailenco/tagparser/README.md | 24 + .../github.com/vmihailenco/tagparser/go.mod | 3 + .../tagparser/internal/parser/parser.go | 82 + .../vmihailenco/tagparser/internal/safe.go | 11 + .../vmihailenco/tagparser/internal/unsafe.go | 22 + .../vmihailenco/tagparser/tagparser.go | 181 + .../vmihailenco/tagparser/v2/.travis.yml | 19 + .../vmihailenco/tagparser/v2/LICENSE | 25 + .../vmihailenco/tagparser/v2/Makefile | 9 + .../vmihailenco/tagparser/v2/README.md | 24 + .../vmihailenco/tagparser/v2/go.mod | 3 + .../tagparser/v2/internal/parser/parser.go | 82 + .../vmihailenco/tagparser/v2/internal/safe.go | 11 + .../tagparser/v2/internal/unsafe.go | 22 + .../vmihailenco/tagparser/v2/tagparser.go | 166 + .../wagslane/go-password-validator/LICENSE | 21 + .../wagslane/go-password-validator/Makefile | 21 + .../wagslane/go-password-validator/README.md | 137 + .../wagslane/go-password-validator/base.go | 75 + .../wagslane/go-password-validator/entropy.go | 39 + .../wagslane/go-password-validator/go.mod | 3 + .../wagslane/go-password-validator/length.go | 94 + .../go-password-validator/validate.go | 75 + vendor/golang.org/x/crypto/AUTHORS | 3 + vendor/golang.org/x/crypto/CONTRIBUTORS | 3 + vendor/golang.org/x/crypto/LICENSE | 27 + vendor/golang.org/x/crypto/PATENTS | 22 + vendor/golang.org/x/crypto/acme/acme.go | 1102 ++ .../x/crypto/acme/autocert/autocert.go | 1249 +++ .../x/crypto/acme/autocert/cache.go | 136 + .../x/crypto/acme/autocert/listener.go | 155 + .../x/crypto/acme/autocert/renewal.go | 141 + vendor/golang.org/x/crypto/acme/http.go | 321 + vendor/golang.org/x/crypto/acme/jws.go | 229 + vendor/golang.org/x/crypto/acme/rfc8555.go | 412 + vendor/golang.org/x/crypto/acme/types.go | 622 ++ .../golang.org/x/crypto/acme/version_go112.go | 28 + vendor/golang.org/x/crypto/bcrypt/base64.go | 35 + vendor/golang.org/x/crypto/bcrypt/bcrypt.go | 295 + vendor/golang.org/x/crypto/blake2b/blake2b.go | 291 + .../x/crypto/blake2b/blake2bAVX2_amd64.go | 38 + .../x/crypto/blake2b/blake2bAVX2_amd64.s | 745 ++ .../x/crypto/blake2b/blake2b_amd64.go | 25 + .../x/crypto/blake2b/blake2b_amd64.s | 279 + .../x/crypto/blake2b/blake2b_generic.go | 182 + .../x/crypto/blake2b/blake2b_ref.go | 12 + vendor/golang.org/x/crypto/blake2b/blake2x.go | 177 + .../golang.org/x/crypto/blake2b/register.go | 33 + vendor/golang.org/x/crypto/blake2s/blake2s.go | 246 + .../x/crypto/blake2s/blake2s_386.go | 33 + .../golang.org/x/crypto/blake2s/blake2s_386.s | 430 + .../x/crypto/blake2s/blake2s_amd64.go | 38 + .../x/crypto/blake2s/blake2s_amd64.s | 433 + .../x/crypto/blake2s/blake2s_generic.go | 178 + .../x/crypto/blake2s/blake2s_ref.go | 18 + vendor/golang.org/x/crypto/blake2s/blake2x.go | 178 + .../golang.org/x/crypto/blake2s/register.go | 22 + vendor/golang.org/x/crypto/blowfish/block.go | 159 + vendor/golang.org/x/crypto/blowfish/cipher.go | 99 + vendor/golang.org/x/crypto/blowfish/const.go | 199 + .../x/crypto/chacha20/chacha_arm64.go | 17 + .../x/crypto/chacha20/chacha_arm64.s | 308 + .../x/crypto/chacha20/chacha_generic.go | 398 + .../x/crypto/chacha20/chacha_noasm.go | 14 + .../x/crypto/chacha20/chacha_ppc64le.go | 17 + .../x/crypto/chacha20/chacha_ppc64le.s | 450 + .../x/crypto/chacha20/chacha_s390x.go | 27 + .../x/crypto/chacha20/chacha_s390x.s | 225 + vendor/golang.org/x/crypto/chacha20/xor.go | 42 + .../x/crypto/curve25519/curve25519.go | 145 + .../x/crypto/curve25519/internal/field/README | 7 + .../x/crypto/curve25519/internal/field/fe.go | 416 + .../curve25519/internal/field/fe_amd64.go | 13 + .../curve25519/internal/field/fe_amd64.s | 379 + .../internal/field/fe_amd64_noasm.go | 12 + .../curve25519/internal/field/fe_arm64.go | 16 + .../curve25519/internal/field/fe_arm64.s | 43 + .../internal/field/fe_arm64_noasm.go | 12 + .../curve25519/internal/field/fe_generic.go | 264 + .../curve25519/internal/field/sync.checkpoint | 1 + .../crypto/curve25519/internal/field/sync.sh | 19 + vendor/golang.org/x/crypto/ed25519/ed25519.go | 223 + .../x/crypto/ed25519/ed25519_go113.go | 74 + .../ed25519/internal/edwards25519/const.go | 1422 +++ .../internal/edwards25519/edwards25519.go | 1793 ++++ .../x/crypto/internal/subtle/aliasing.go | 33 + .../crypto/internal/subtle/aliasing_purego.go | 36 + vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go | 77 + .../x/crypto/poly1305/bits_compat.go | 40 + .../x/crypto/poly1305/bits_go1.13.go | 22 + .../golang.org/x/crypto/poly1305/mac_noasm.go | 10 + .../golang.org/x/crypto/poly1305/poly1305.go | 99 + .../golang.org/x/crypto/poly1305/sum_amd64.go | 48 + .../golang.org/x/crypto/poly1305/sum_amd64.s | 109 + .../x/crypto/poly1305/sum_generic.go | 310 + .../x/crypto/poly1305/sum_ppc64le.go | 48 + .../x/crypto/poly1305/sum_ppc64le.s | 182 + .../golang.org/x/crypto/poly1305/sum_s390x.go | 76 + .../golang.org/x/crypto/poly1305/sum_s390x.s | 504 + .../x/crypto/ripemd160/ripemd160.go | 124 + .../x/crypto/ripemd160/ripemd160block.go | 165 + vendor/golang.org/x/crypto/sha3/doc.go | 66 + vendor/golang.org/x/crypto/sha3/hashes.go | 97 + .../x/crypto/sha3/hashes_generic.go | 28 + vendor/golang.org/x/crypto/sha3/keccakf.go | 413 + .../golang.org/x/crypto/sha3/keccakf_amd64.go | 14 + .../golang.org/x/crypto/sha3/keccakf_amd64.s | 391 + vendor/golang.org/x/crypto/sha3/register.go | 19 + vendor/golang.org/x/crypto/sha3/sha3.go | 193 + vendor/golang.org/x/crypto/sha3/sha3_s390x.go | 285 + vendor/golang.org/x/crypto/sha3/sha3_s390x.s | 34 + vendor/golang.org/x/crypto/sha3/shake.go | 173 + .../golang.org/x/crypto/sha3/shake_generic.go | 20 + vendor/golang.org/x/crypto/sha3/xor.go | 24 + .../golang.org/x/crypto/sha3/xor_generic.go | 28 + .../golang.org/x/crypto/sha3/xor_unaligned.go | 68 + vendor/golang.org/x/crypto/ssh/buffer.go | 97 + vendor/golang.org/x/crypto/ssh/certs.go | 546 + vendor/golang.org/x/crypto/ssh/channel.go | 633 ++ vendor/golang.org/x/crypto/ssh/cipher.go | 781 ++ vendor/golang.org/x/crypto/ssh/client.go | 278 + vendor/golang.org/x/crypto/ssh/client_auth.go | 641 ++ vendor/golang.org/x/crypto/ssh/common.go | 404 + vendor/golang.org/x/crypto/ssh/connection.go | 143 + vendor/golang.org/x/crypto/ssh/doc.go | 21 + vendor/golang.org/x/crypto/ssh/handshake.go | 647 ++ .../ssh/internal/bcrypt_pbkdf/bcrypt_pbkdf.go | 93 + vendor/golang.org/x/crypto/ssh/kex.go | 782 ++ vendor/golang.org/x/crypto/ssh/keys.go | 1474 +++ vendor/golang.org/x/crypto/ssh/mac.go | 61 + vendor/golang.org/x/crypto/ssh/messages.go | 866 ++ vendor/golang.org/x/crypto/ssh/mux.go | 351 + vendor/golang.org/x/crypto/ssh/server.go | 720 ++ vendor/golang.org/x/crypto/ssh/session.go | 647 ++ vendor/golang.org/x/crypto/ssh/ssh_gss.go | 139 + vendor/golang.org/x/crypto/ssh/streamlocal.go | 116 + vendor/golang.org/x/crypto/ssh/tcpip.go | 474 + vendor/golang.org/x/crypto/ssh/transport.go | 353 + vendor/golang.org/x/net/AUTHORS | 3 + vendor/golang.org/x/net/CONTRIBUTORS | 3 + vendor/golang.org/x/net/LICENSE | 27 + vendor/golang.org/x/net/PATENTS | 22 + vendor/golang.org/x/net/context/context.go | 56 + .../x/net/context/ctxhttp/ctxhttp.go | 71 + vendor/golang.org/x/net/context/go17.go | 73 + vendor/golang.org/x/net/context/go19.go | 21 + vendor/golang.org/x/net/context/pre_go17.go | 301 + vendor/golang.org/x/net/context/pre_go19.go | 110 + vendor/golang.org/x/net/html/atom/atom.go | 78 + vendor/golang.org/x/net/html/atom/table.go | 783 ++ vendor/golang.org/x/net/html/const.go | 111 + vendor/golang.org/x/net/html/doc.go | 106 + vendor/golang.org/x/net/html/doctype.go | 156 + vendor/golang.org/x/net/html/entity.go | 2253 ++++ vendor/golang.org/x/net/html/escape.go | 258 + vendor/golang.org/x/net/html/foreign.go | 222 + vendor/golang.org/x/net/html/node.go | 225 + vendor/golang.org/x/net/html/parse.go | 2460 +++++ vendor/golang.org/x/net/html/render.go | 273 + vendor/golang.org/x/net/html/token.go | 1224 +++ vendor/golang.org/x/net/idna/idna10.0.0.go | 770 ++ vendor/golang.org/x/net/idna/idna9.0.0.go | 718 ++ vendor/golang.org/x/net/idna/punycode.go | 203 + vendor/golang.org/x/net/idna/tables10.0.0.go | 4560 ++++++++ vendor/golang.org/x/net/idna/tables11.0.0.go | 4654 ++++++++ vendor/golang.org/x/net/idna/tables12.0.0.go | 4734 +++++++++ vendor/golang.org/x/net/idna/tables13.0.0.go | 4840 +++++++++ vendor/golang.org/x/net/idna/tables9.0.0.go | 4487 ++++++++ vendor/golang.org/x/net/idna/trie.go | 72 + vendor/golang.org/x/net/idna/trieval.go | 119 + vendor/golang.org/x/oauth2/.travis.yml | 13 + vendor/golang.org/x/oauth2/AUTHORS | 3 + vendor/golang.org/x/oauth2/CONTRIBUTING.md | 26 + vendor/golang.org/x/oauth2/CONTRIBUTORS | 3 + vendor/golang.org/x/oauth2/LICENSE | 27 + vendor/golang.org/x/oauth2/README.md | 36 + vendor/golang.org/x/oauth2/go.mod | 9 + vendor/golang.org/x/oauth2/go.sum | 361 + .../x/oauth2/internal/client_appengine.go | 14 + vendor/golang.org/x/oauth2/internal/doc.go | 6 + vendor/golang.org/x/oauth2/internal/oauth2.go | 37 + vendor/golang.org/x/oauth2/internal/token.go | 294 + .../golang.org/x/oauth2/internal/transport.go | 33 + vendor/golang.org/x/oauth2/oauth2.go | 381 + vendor/golang.org/x/oauth2/token.go | 178 + vendor/golang.org/x/oauth2/transport.go | 89 + vendor/golang.org/x/sys/AUTHORS | 3 + vendor/golang.org/x/sys/CONTRIBUTORS | 3 + vendor/golang.org/x/sys/LICENSE | 27 + vendor/golang.org/x/sys/PATENTS | 22 + vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s | 18 + vendor/golang.org/x/sys/cpu/byteorder.go | 65 + vendor/golang.org/x/sys/cpu/cpu.go | 286 + vendor/golang.org/x/sys/cpu/cpu_aix.go | 34 + vendor/golang.org/x/sys/cpu/cpu_arm.go | 73 + vendor/golang.org/x/sys/cpu/cpu_arm64.go | 172 + vendor/golang.org/x/sys/cpu/cpu_arm64.s | 32 + vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go | 12 + vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go | 22 + vendor/golang.org/x/sys/cpu/cpu_gc_x86.go | 21 + .../golang.org/x/sys/cpu/cpu_gccgo_arm64.go | 12 + .../golang.org/x/sys/cpu/cpu_gccgo_s390x.go | 23 + vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c | 43 + vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go | 33 + vendor/golang.org/x/sys/cpu/cpu_linux.go | 16 + vendor/golang.org/x/sys/cpu/cpu_linux_arm.go | 39 + .../golang.org/x/sys/cpu/cpu_linux_arm64.go | 71 + .../golang.org/x/sys/cpu/cpu_linux_mips64x.go | 24 + .../golang.org/x/sys/cpu/cpu_linux_noinit.go | 10 + .../golang.org/x/sys/cpu/cpu_linux_ppc64x.go | 32 + .../golang.org/x/sys/cpu/cpu_linux_s390x.go | 40 + vendor/golang.org/x/sys/cpu/cpu_mips64x.go | 16 + vendor/golang.org/x/sys/cpu/cpu_mipsx.go | 12 + .../golang.org/x/sys/cpu/cpu_netbsd_arm64.go | 173 + vendor/golang.org/x/sys/cpu/cpu_other_arm.go | 10 + .../golang.org/x/sys/cpu/cpu_other_arm64.go | 10 + .../golang.org/x/sys/cpu/cpu_other_mips64x.go | 13 + vendor/golang.org/x/sys/cpu/cpu_ppc64x.go | 17 + vendor/golang.org/x/sys/cpu/cpu_riscv64.go | 12 + vendor/golang.org/x/sys/cpu/cpu_s390x.go | 172 + vendor/golang.org/x/sys/cpu/cpu_s390x.s | 58 + vendor/golang.org/x/sys/cpu/cpu_wasm.go | 18 + vendor/golang.org/x/sys/cpu/cpu_x86.go | 142 + vendor/golang.org/x/sys/cpu/cpu_x86.s | 52 + vendor/golang.org/x/sys/cpu/cpu_zos.go | 10 + vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go | 25 + vendor/golang.org/x/sys/cpu/hwcap_linux.go | 56 + .../golang.org/x/sys/cpu/syscall_aix_gccgo.go | 27 + .../x/sys/cpu/syscall_aix_ppc64_gc.go | 36 + .../sys/internal/unsafeheader/unsafeheader.go | 30 + vendor/golang.org/x/sys/unix/.gitignore | 2 + vendor/golang.org/x/sys/unix/README.md | 184 + .../golang.org/x/sys/unix/affinity_linux.go | 86 + vendor/golang.org/x/sys/unix/aliases.go | 15 + vendor/golang.org/x/sys/unix/asm_aix_ppc64.s | 18 + vendor/golang.org/x/sys/unix/asm_bsd_386.s | 29 + vendor/golang.org/x/sys/unix/asm_bsd_amd64.s | 29 + vendor/golang.org/x/sys/unix/asm_bsd_arm.s | 29 + vendor/golang.org/x/sys/unix/asm_bsd_arm64.s | 29 + vendor/golang.org/x/sys/unix/asm_linux_386.s | 66 + .../golang.org/x/sys/unix/asm_linux_amd64.s | 58 + vendor/golang.org/x/sys/unix/asm_linux_arm.s | 57 + .../golang.org/x/sys/unix/asm_linux_arm64.s | 53 + .../golang.org/x/sys/unix/asm_linux_mips64x.s | 57 + .../golang.org/x/sys/unix/asm_linux_mipsx.s | 55 + .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 45 + .../golang.org/x/sys/unix/asm_linux_riscv64.s | 49 + .../golang.org/x/sys/unix/asm_linux_s390x.s | 57 + .../x/sys/unix/asm_openbsd_mips64.s | 30 + .../golang.org/x/sys/unix/asm_solaris_amd64.s | 18 + vendor/golang.org/x/sys/unix/asm_zos_s390x.s | 426 + .../golang.org/x/sys/unix/bluetooth_linux.go | 36 + vendor/golang.org/x/sys/unix/cap_freebsd.go | 196 + vendor/golang.org/x/sys/unix/constants.go | 14 + vendor/golang.org/x/sys/unix/dev_aix_ppc.go | 27 + vendor/golang.org/x/sys/unix/dev_aix_ppc64.go | 29 + vendor/golang.org/x/sys/unix/dev_darwin.go | 24 + vendor/golang.org/x/sys/unix/dev_dragonfly.go | 30 + vendor/golang.org/x/sys/unix/dev_freebsd.go | 30 + vendor/golang.org/x/sys/unix/dev_linux.go | 42 + vendor/golang.org/x/sys/unix/dev_netbsd.go | 29 + vendor/golang.org/x/sys/unix/dev_openbsd.go | 29 + vendor/golang.org/x/sys/unix/dev_zos.go | 29 + vendor/golang.org/x/sys/unix/dirent.go | 103 + vendor/golang.org/x/sys/unix/endian_big.go | 10 + vendor/golang.org/x/sys/unix/endian_little.go | 10 + vendor/golang.org/x/sys/unix/env_unix.go | 32 + vendor/golang.org/x/sys/unix/epoll_zos.go | 221 + .../x/sys/unix/errors_freebsd_386.go | 233 + .../x/sys/unix/errors_freebsd_amd64.go | 233 + .../x/sys/unix/errors_freebsd_arm.go | 226 + .../x/sys/unix/errors_freebsd_arm64.go | 17 + vendor/golang.org/x/sys/unix/fcntl.go | 37 + vendor/golang.org/x/sys/unix/fcntl_darwin.go | 24 + .../x/sys/unix/fcntl_linux_32bit.go | 14 + vendor/golang.org/x/sys/unix/fdset.go | 30 + vendor/golang.org/x/sys/unix/fstatfs_zos.go | 164 + vendor/golang.org/x/sys/unix/gccgo.go | 60 + vendor/golang.org/x/sys/unix/gccgo_c.c | 45 + .../x/sys/unix/gccgo_linux_amd64.go | 21 + vendor/golang.org/x/sys/unix/ioctl.go | 75 + vendor/golang.org/x/sys/unix/ioctl_linux.go | 196 + vendor/golang.org/x/sys/unix/ioctl_zos.go | 74 + vendor/golang.org/x/sys/unix/mkall.sh | 231 + vendor/golang.org/x/sys/unix/mkerrors.sh | 759 ++ vendor/golang.org/x/sys/unix/pagesize_unix.go | 16 + .../golang.org/x/sys/unix/pledge_openbsd.go | 163 + vendor/golang.org/x/sys/unix/ptrace_darwin.go | 12 + vendor/golang.org/x/sys/unix/ptrace_ios.go | 12 + vendor/golang.org/x/sys/unix/race.go | 31 + vendor/golang.org/x/sys/unix/race0.go | 26 + .../x/sys/unix/readdirent_getdents.go | 13 + .../x/sys/unix/readdirent_getdirentries.go | 20 + .../x/sys/unix/sockcmsg_dragonfly.go | 16 + .../golang.org/x/sys/unix/sockcmsg_linux.go | 36 + vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 93 + .../x/sys/unix/sockcmsg_unix_other.go | 47 + vendor/golang.org/x/sys/unix/str.go | 27 + vendor/golang.org/x/sys/unix/syscall.go | 95 + vendor/golang.org/x/sys/unix/syscall_aix.go | 553 + .../golang.org/x/sys/unix/syscall_aix_ppc.go | 54 + .../x/sys/unix/syscall_aix_ppc64.go | 85 + vendor/golang.org/x/sys/unix/syscall_bsd.go | 664 ++ .../x/sys/unix/syscall_darwin.1_12.go | 32 + .../x/sys/unix/syscall_darwin.1_13.go | 108 + .../golang.org/x/sys/unix/syscall_darwin.go | 721 ++ .../x/sys/unix/syscall_darwin_amd64.go | 51 + .../x/sys/unix/syscall_darwin_arm64.go | 51 + .../x/sys/unix/syscall_darwin_libSystem.go | 27 + .../x/sys/unix/syscall_dragonfly.go | 541 + .../x/sys/unix/syscall_dragonfly_amd64.go | 57 + .../golang.org/x/sys/unix/syscall_freebsd.go | 872 ++ .../x/sys/unix/syscall_freebsd_386.go | 67 + .../x/sys/unix/syscall_freebsd_amd64.go | 67 + .../x/sys/unix/syscall_freebsd_arm.go | 63 + .../x/sys/unix/syscall_freebsd_arm64.go | 63 + .../golang.org/x/sys/unix/syscall_illumos.go | 178 + vendor/golang.org/x/sys/unix/syscall_linux.go | 2400 +++++ .../x/sys/unix/syscall_linux_386.go | 392 + .../x/sys/unix/syscall_linux_amd64.go | 199 + .../x/sys/unix/syscall_linux_amd64_gc.go | 13 + .../x/sys/unix/syscall_linux_arm.go | 291 + .../x/sys/unix/syscall_linux_arm64.go | 250 + .../golang.org/x/sys/unix/syscall_linux_gc.go | 15 + .../x/sys/unix/syscall_linux_gc_386.go | 17 + .../x/sys/unix/syscall_linux_gc_arm.go | 14 + .../x/sys/unix/syscall_linux_gccgo_386.go | 31 + .../x/sys/unix/syscall_linux_gccgo_arm.go | 21 + .../x/sys/unix/syscall_linux_mips64x.go | 235 + .../x/sys/unix/syscall_linux_mipsx.go | 243 + .../x/sys/unix/syscall_linux_ppc.go | 276 + .../x/sys/unix/syscall_linux_ppc64x.go | 161 + .../x/sys/unix/syscall_linux_riscv64.go | 235 + .../x/sys/unix/syscall_linux_s390x.go | 347 + .../x/sys/unix/syscall_linux_sparc64.go | 156 + .../golang.org/x/sys/unix/syscall_netbsd.go | 618 ++ .../x/sys/unix/syscall_netbsd_386.go | 38 + .../x/sys/unix/syscall_netbsd_amd64.go | 38 + .../x/sys/unix/syscall_netbsd_arm.go | 38 + .../x/sys/unix/syscall_netbsd_arm64.go | 38 + .../golang.org/x/sys/unix/syscall_openbsd.go | 390 + .../x/sys/unix/syscall_openbsd_386.go | 42 + .../x/sys/unix/syscall_openbsd_amd64.go | 42 + .../x/sys/unix/syscall_openbsd_arm.go | 42 + .../x/sys/unix/syscall_openbsd_arm64.go | 42 + .../x/sys/unix/syscall_openbsd_mips64.go | 35 + .../golang.org/x/sys/unix/syscall_solaris.go | 746 ++ .../x/sys/unix/syscall_solaris_amd64.go | 28 + vendor/golang.org/x/sys/unix/syscall_unix.go | 431 + .../golang.org/x/sys/unix/syscall_unix_gc.go | 18 + .../x/sys/unix/syscall_unix_gc_ppc64x.go | 25 + .../x/sys/unix/syscall_zos_s390x.go | 1829 ++++ vendor/golang.org/x/sys/unix/timestruct.go | 77 + .../golang.org/x/sys/unix/unveil_openbsd.go | 42 + vendor/golang.org/x/sys/unix/xattr_bsd.go | 241 + .../golang.org/x/sys/unix/zerrors_aix_ppc.go | 1385 +++ .../x/sys/unix/zerrors_aix_ppc64.go | 1386 +++ .../x/sys/unix/zerrors_darwin_amd64.go | 1865 ++++ .../x/sys/unix/zerrors_darwin_arm64.go | 1865 ++++ .../x/sys/unix/zerrors_dragonfly_amd64.go | 1738 +++ .../x/sys/unix/zerrors_freebsd_386.go | 1948 ++++ .../x/sys/unix/zerrors_freebsd_amd64.go | 1947 ++++ .../x/sys/unix/zerrors_freebsd_arm.go | 1846 ++++ .../x/sys/unix/zerrors_freebsd_arm64.go | 1948 ++++ vendor/golang.org/x/sys/unix/zerrors_linux.go | 2923 +++++ .../x/sys/unix/zerrors_linux_386.go | 820 ++ .../x/sys/unix/zerrors_linux_amd64.go | 820 ++ .../x/sys/unix/zerrors_linux_arm.go | 826 ++ .../x/sys/unix/zerrors_linux_arm64.go | 817 ++ .../x/sys/unix/zerrors_linux_mips.go | 827 ++ .../x/sys/unix/zerrors_linux_mips64.go | 827 ++ .../x/sys/unix/zerrors_linux_mips64le.go | 827 ++ .../x/sys/unix/zerrors_linux_mipsle.go | 827 ++ .../x/sys/unix/zerrors_linux_ppc.go | 879 ++ .../x/sys/unix/zerrors_linux_ppc64.go | 883 ++ .../x/sys/unix/zerrors_linux_ppc64le.go | 883 ++ .../x/sys/unix/zerrors_linux_riscv64.go | 807 ++ .../x/sys/unix/zerrors_linux_s390x.go | 882 ++ .../x/sys/unix/zerrors_linux_sparc64.go | 877 ++ .../x/sys/unix/zerrors_netbsd_386.go | 1780 ++++ .../x/sys/unix/zerrors_netbsd_amd64.go | 1770 +++ .../x/sys/unix/zerrors_netbsd_arm.go | 1759 +++ .../x/sys/unix/zerrors_netbsd_arm64.go | 1770 +++ .../x/sys/unix/zerrors_openbsd_386.go | 1665 +++ .../x/sys/unix/zerrors_openbsd_amd64.go | 1775 +++ .../x/sys/unix/zerrors_openbsd_arm.go | 1667 +++ .../x/sys/unix/zerrors_openbsd_arm64.go | 1798 ++++ .../x/sys/unix/zerrors_openbsd_mips64.go | 1863 ++++ .../x/sys/unix/zerrors_solaris_amd64.go | 1557 +++ .../x/sys/unix/zerrors_zos_s390x.go | 860 ++ .../x/sys/unix/zptrace_armnn_linux.go | 42 + .../x/sys/unix/zptrace_linux_arm64.go | 17 + .../x/sys/unix/zptrace_mipsnn_linux.go | 51 + .../x/sys/unix/zptrace_mipsnnle_linux.go | 51 + .../x/sys/unix/zptrace_x86_linux.go | 81 + .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 1485 +++ .../x/sys/unix/zsyscall_aix_ppc64.go | 1443 +++ .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 1192 +++ .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 1070 ++ .../x/sys/unix/zsyscall_darwin_amd64.1_13.go | 40 + .../x/sys/unix/zsyscall_darwin_amd64.1_13.s | 25 + .../x/sys/unix/zsyscall_darwin_amd64.go | 2431 +++++ .../x/sys/unix/zsyscall_darwin_amd64.s | 859 ++ .../x/sys/unix/zsyscall_darwin_arm64.1_13.go | 40 + .../x/sys/unix/zsyscall_darwin_arm64.1_13.s | 25 + .../x/sys/unix/zsyscall_darwin_arm64.go | 2431 +++++ .../x/sys/unix/zsyscall_darwin_arm64.s | 859 ++ .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1679 +++ .../x/sys/unix/zsyscall_freebsd_386.go | 2016 ++++ .../x/sys/unix/zsyscall_freebsd_amd64.go | 2016 ++++ .../x/sys/unix/zsyscall_freebsd_arm.go | 2016 ++++ .../x/sys/unix/zsyscall_freebsd_arm64.go | 2016 ++++ .../x/sys/unix/zsyscall_illumos_amd64.go | 128 + .../golang.org/x/sys/unix/zsyscall_linux.go | 1944 ++++ .../x/sys/unix/zsyscall_linux_386.go | 579 + .../x/sys/unix/zsyscall_linux_amd64.go | 746 ++ .../x/sys/unix/zsyscall_linux_arm.go | 716 ++ .../x/sys/unix/zsyscall_linux_arm64.go | 603 ++ .../x/sys/unix/zsyscall_linux_mips.go | 759 ++ .../x/sys/unix/zsyscall_linux_mips64.go | 730 ++ .../x/sys/unix/zsyscall_linux_mips64le.go | 730 ++ .../x/sys/unix/zsyscall_linux_mipsle.go | 759 ++ .../x/sys/unix/zsyscall_linux_ppc.go | 762 ++ .../x/sys/unix/zsyscall_linux_ppc64.go | 808 ++ .../x/sys/unix/zsyscall_linux_ppc64le.go | 808 ++ .../x/sys/unix/zsyscall_linux_riscv64.go | 583 + .../x/sys/unix/zsyscall_linux_s390x.go | 578 + .../x/sys/unix/zsyscall_linux_sparc64.go | 741 ++ .../x/sys/unix/zsyscall_netbsd_386.go | 1862 ++++ .../x/sys/unix/zsyscall_netbsd_amd64.go | 1862 ++++ .../x/sys/unix/zsyscall_netbsd_arm.go | 1862 ++++ .../x/sys/unix/zsyscall_netbsd_arm64.go | 1862 ++++ .../x/sys/unix/zsyscall_openbsd_386.go | 1693 +++ .../x/sys/unix/zsyscall_openbsd_amd64.go | 1693 +++ .../x/sys/unix/zsyscall_openbsd_arm.go | 1693 +++ .../x/sys/unix/zsyscall_openbsd_arm64.go | 1693 +++ .../x/sys/unix/zsyscall_openbsd_mips64.go | 1693 +++ .../x/sys/unix/zsyscall_solaris_amd64.go | 1983 ++++ .../x/sys/unix/zsyscall_zos_s390x.go | 1255 +++ .../x/sys/unix/zsysctl_openbsd_386.go | 274 + .../x/sys/unix/zsysctl_openbsd_amd64.go | 272 + .../x/sys/unix/zsysctl_openbsd_arm.go | 274 + .../x/sys/unix/zsysctl_openbsd_arm64.go | 276 + .../x/sys/unix/zsysctl_openbsd_mips64.go | 280 + .../x/sys/unix/zsysnum_darwin_amd64.go | 440 + .../x/sys/unix/zsysnum_darwin_arm64.go | 438 + .../x/sys/unix/zsysnum_dragonfly_amd64.go | 317 + .../x/sys/unix/zsysnum_freebsd_386.go | 397 + .../x/sys/unix/zsysnum_freebsd_amd64.go | 397 + .../x/sys/unix/zsysnum_freebsd_arm.go | 397 + .../x/sys/unix/zsysnum_freebsd_arm64.go | 397 + .../x/sys/unix/zsysnum_linux_386.go | 442 + .../x/sys/unix/zsysnum_linux_amd64.go | 364 + .../x/sys/unix/zsysnum_linux_arm.go | 406 + .../x/sys/unix/zsysnum_linux_arm64.go | 309 + .../x/sys/unix/zsysnum_linux_mips.go | 427 + .../x/sys/unix/zsysnum_linux_mips64.go | 357 + .../x/sys/unix/zsysnum_linux_mips64le.go | 357 + .../x/sys/unix/zsysnum_linux_mipsle.go | 427 + .../x/sys/unix/zsysnum_linux_ppc.go | 434 + .../x/sys/unix/zsysnum_linux_ppc64.go | 406 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 406 + .../x/sys/unix/zsysnum_linux_riscv64.go | 308 + .../x/sys/unix/zsysnum_linux_s390x.go | 371 + .../x/sys/unix/zsysnum_linux_sparc64.go | 385 + .../x/sys/unix/zsysnum_netbsd_386.go | 275 + .../x/sys/unix/zsysnum_netbsd_amd64.go | 275 + .../x/sys/unix/zsysnum_netbsd_arm.go | 275 + .../x/sys/unix/zsysnum_netbsd_arm64.go | 275 + .../x/sys/unix/zsysnum_openbsd_386.go | 219 + .../x/sys/unix/zsysnum_openbsd_amd64.go | 219 + .../x/sys/unix/zsysnum_openbsd_arm.go | 219 + .../x/sys/unix/zsysnum_openbsd_arm64.go | 218 + .../x/sys/unix/zsysnum_openbsd_mips64.go | 221 + .../x/sys/unix/zsysnum_zos_s390x.go | 2670 +++++ .../golang.org/x/sys/unix/ztypes_aix_ppc.go | 354 + .../golang.org/x/sys/unix/ztypes_aix_ppc64.go | 358 + .../x/sys/unix/ztypes_darwin_amd64.go | 641 ++ .../x/sys/unix/ztypes_darwin_arm64.go | 641 ++ .../x/sys/unix/ztypes_dragonfly_amd64.go | 474 + .../x/sys/unix/ztypes_freebsd_386.go | 721 ++ .../x/sys/unix/ztypes_freebsd_amd64.go | 724 ++ .../x/sys/unix/ztypes_freebsd_arm.go | 705 ++ .../x/sys/unix/ztypes_freebsd_arm64.go | 702 ++ .../x/sys/unix/ztypes_illumos_amd64.go | 40 + vendor/golang.org/x/sys/unix/ztypes_linux.go | 3909 +++++++ .../golang.org/x/sys/unix/ztypes_linux_386.go | 632 ++ .../x/sys/unix/ztypes_linux_amd64.go | 650 ++ .../golang.org/x/sys/unix/ztypes_linux_arm.go | 627 ++ .../x/sys/unix/ztypes_linux_arm64.go | 629 ++ .../x/sys/unix/ztypes_linux_mips.go | 633 ++ .../x/sys/unix/ztypes_linux_mips64.go | 632 ++ .../x/sys/unix/ztypes_linux_mips64le.go | 632 ++ .../x/sys/unix/ztypes_linux_mipsle.go | 633 ++ .../golang.org/x/sys/unix/ztypes_linux_ppc.go | 639 ++ .../x/sys/unix/ztypes_linux_ppc64.go | 639 ++ .../x/sys/unix/ztypes_linux_ppc64le.go | 639 ++ .../x/sys/unix/ztypes_linux_riscv64.go | 657 ++ .../x/sys/unix/ztypes_linux_s390x.go | 653 ++ .../x/sys/unix/ztypes_linux_sparc64.go | 634 ++ .../x/sys/unix/ztypes_netbsd_386.go | 502 + .../x/sys/unix/ztypes_netbsd_amd64.go | 510 + .../x/sys/unix/ztypes_netbsd_arm.go | 507 + .../x/sys/unix/ztypes_netbsd_arm64.go | 510 + .../x/sys/unix/ztypes_openbsd_386.go | 575 + .../x/sys/unix/ztypes_openbsd_amd64.go | 575 + .../x/sys/unix/ztypes_openbsd_arm.go | 576 + .../x/sys/unix/ztypes_openbsd_arm64.go | 569 + .../x/sys/unix/ztypes_openbsd_mips64.go | 569 + .../x/sys/unix/ztypes_solaris_amd64.go | 442 + .../golang.org/x/sys/unix/ztypes_zos_s390x.go | 406 + vendor/golang.org/x/sys/windows/aliases.go | 13 + .../golang.org/x/sys/windows/dll_windows.go | 416 + vendor/golang.org/x/sys/windows/empty.s | 9 + .../golang.org/x/sys/windows/env_windows.go | 54 + vendor/golang.org/x/sys/windows/eventlog.go | 20 + .../golang.org/x/sys/windows/exec_windows.go | 195 + .../x/sys/windows/memory_windows.go | 37 + vendor/golang.org/x/sys/windows/mkerrors.bash | 70 + .../x/sys/windows/mkknownfolderids.bash | 27 + vendor/golang.org/x/sys/windows/mksyscall.go | 9 + vendor/golang.org/x/sys/windows/race.go | 30 + vendor/golang.org/x/sys/windows/race0.go | 25 + .../x/sys/windows/security_windows.go | 1443 +++ vendor/golang.org/x/sys/windows/service.go | 237 + .../x/sys/windows/setupapierrors_windows.go | 100 + vendor/golang.org/x/sys/windows/str.go | 22 + vendor/golang.org/x/sys/windows/syscall.go | 112 + .../x/sys/windows/syscall_windows.go | 1672 +++ .../golang.org/x/sys/windows/types_windows.go | 2775 +++++ .../x/sys/windows/types_windows_386.go | 35 + .../x/sys/windows/types_windows_amd64.go | 34 + .../x/sys/windows/types_windows_arm.go | 35 + .../x/sys/windows/types_windows_arm64.go | 34 + .../x/sys/windows/zerrors_windows.go | 9468 +++++++++++++++++ .../x/sys/windows/zknownfolderids_windows.go | 149 + .../x/sys/windows/zsyscall_windows.go | 3652 +++++++ vendor/golang.org/x/text/AUTHORS | 3 + vendor/golang.org/x/text/CONTRIBUTORS | 3 + vendor/golang.org/x/text/LICENSE | 27 + vendor/golang.org/x/text/PATENTS | 22 + .../x/text/internal/language/common.go | 16 + .../x/text/internal/language/compact.go | 29 + .../text/internal/language/compact/compact.go | 61 + .../internal/language/compact/language.go | 260 + .../text/internal/language/compact/parents.go | 120 + .../text/internal/language/compact/tables.go | 1015 ++ .../x/text/internal/language/compact/tags.go | 91 + .../x/text/internal/language/compose.go | 167 + .../x/text/internal/language/coverage.go | 28 + .../x/text/internal/language/language.go | 592 ++ .../x/text/internal/language/lookup.go | 412 + .../x/text/internal/language/match.go | 226 + .../x/text/internal/language/parse.go | 597 ++ .../x/text/internal/language/tables.go | 3464 ++++++ .../x/text/internal/language/tags.go | 48 + vendor/golang.org/x/text/internal/tag/tag.go | 100 + vendor/golang.org/x/text/language/coverage.go | 187 + vendor/golang.org/x/text/language/doc.go | 102 + vendor/golang.org/x/text/language/go1_1.go | 39 + vendor/golang.org/x/text/language/go1_2.go | 12 + vendor/golang.org/x/text/language/language.go | 605 ++ vendor/golang.org/x/text/language/match.go | 735 ++ vendor/golang.org/x/text/language/parse.go | 228 + vendor/golang.org/x/text/language/tables.go | 298 + vendor/golang.org/x/text/language/tags.go | 145 + .../x/text/secure/bidirule/bidirule.go | 336 + .../x/text/secure/bidirule/bidirule10.0.0.go | 12 + .../x/text/secure/bidirule/bidirule9.0.0.go | 15 + .../golang.org/x/text/transform/transform.go | 709 ++ vendor/golang.org/x/text/unicode/bidi/bidi.go | 359 + .../golang.org/x/text/unicode/bidi/bracket.go | 335 + vendor/golang.org/x/text/unicode/bidi/core.go | 1071 ++ vendor/golang.org/x/text/unicode/bidi/prop.go | 206 + .../x/text/unicode/bidi/tables10.0.0.go | 1816 ++++ .../x/text/unicode/bidi/tables11.0.0.go | 1888 ++++ .../x/text/unicode/bidi/tables12.0.0.go | 1924 ++++ .../x/text/unicode/bidi/tables13.0.0.go | 1956 ++++ .../x/text/unicode/bidi/tables9.0.0.go | 1782 ++++ .../golang.org/x/text/unicode/bidi/trieval.go | 60 + .../x/text/unicode/norm/composition.go | 512 + .../x/text/unicode/norm/forminfo.go | 278 + .../golang.org/x/text/unicode/norm/input.go | 109 + vendor/golang.org/x/text/unicode/norm/iter.go | 458 + .../x/text/unicode/norm/normalize.go | 609 ++ .../x/text/unicode/norm/readwriter.go | 125 + .../x/text/unicode/norm/tables10.0.0.go | 7658 +++++++++++++ .../x/text/unicode/norm/tables11.0.0.go | 7694 ++++++++++++++ .../x/text/unicode/norm/tables12.0.0.go | 7711 ++++++++++++++ .../x/text/unicode/norm/tables13.0.0.go | 7761 ++++++++++++++ .../x/text/unicode/norm/tables9.0.0.go | 7638 +++++++++++++ .../x/text/unicode/norm/transform.go | 88 + vendor/golang.org/x/text/unicode/norm/trie.go | 54 + vendor/google.golang.org/appengine/LICENSE | 202 + .../appengine/internal/api.go | 678 ++ .../appengine/internal/api_classic.go | 169 + .../appengine/internal/api_common.go | 123 + .../appengine/internal/app_id.go | 28 + .../appengine/internal/base/api_base.pb.go | 308 + .../appengine/internal/base/api_base.proto | 33 + .../internal/datastore/datastore_v3.pb.go | 4367 ++++++++ .../internal/datastore/datastore_v3.proto | 551 + .../appengine/internal/identity.go | 55 + .../appengine/internal/identity_classic.go | 61 + .../appengine/internal/identity_flex.go | 11 + .../appengine/internal/identity_vm.go | 134 + .../appengine/internal/internal.go | 110 + .../appengine/internal/log/log_service.pb.go | 1313 +++ .../appengine/internal/log/log_service.proto | 150 + .../appengine/internal/main.go | 16 + .../appengine/internal/main_common.go | 7 + .../appengine/internal/main_vm.go | 69 + .../appengine/internal/metadata.go | 60 + .../appengine/internal/net.go | 56 + .../appengine/internal/regen.sh | 40 + .../internal/remote_api/remote_api.pb.go | 361 + .../internal/remote_api/remote_api.proto | 44 + .../appengine/internal/transaction.go | 115 + .../internal/urlfetch/urlfetch_service.pb.go | 527 + .../internal/urlfetch/urlfetch_service.proto | 64 + .../appengine/urlfetch/urlfetch.go | 210 + vendor/google.golang.org/protobuf/AUTHORS | 3 + .../google.golang.org/protobuf/CONTRIBUTORS | 3 + vendor/google.golang.org/protobuf/LICENSE | 27 + vendor/google.golang.org/protobuf/PATENTS | 22 + .../protobuf/encoding/prototext/decode.go | 773 ++ .../protobuf/encoding/prototext/doc.go | 7 + .../protobuf/encoding/prototext/encode.go | 371 + .../protobuf/encoding/protowire/wire.go | 538 + .../protobuf/internal/descfmt/stringer.go | 318 + .../protobuf/internal/descopts/options.go | 29 + .../protobuf/internal/detrand/rand.go | 69 + .../internal/encoding/defval/default.go | 213 + .../encoding/messageset/messageset.go | 241 + .../protobuf/internal/encoding/tag/tag.go | 207 + .../protobuf/internal/encoding/text/decode.go | 665 ++ .../internal/encoding/text/decode_number.go | 190 + .../internal/encoding/text/decode_string.go | 161 + .../internal/encoding/text/decode_token.go | 373 + .../protobuf/internal/encoding/text/doc.go | 29 + .../protobuf/internal/encoding/text/encode.go | 265 + .../protobuf/internal/errors/errors.go | 89 + .../protobuf/internal/errors/is_go112.go | 39 + .../protobuf/internal/errors/is_go113.go | 12 + .../protobuf/internal/filedesc/build.go | 158 + .../protobuf/internal/filedesc/desc.go | 631 ++ .../protobuf/internal/filedesc/desc_init.go | 471 + .../protobuf/internal/filedesc/desc_lazy.go | 704 ++ .../protobuf/internal/filedesc/desc_list.go | 450 + .../internal/filedesc/desc_list_gen.go | 356 + .../protobuf/internal/filedesc/placeholder.go | 107 + .../protobuf/internal/filetype/build.go | 297 + .../protobuf/internal/flags/flags.go | 24 + .../internal/flags/proto_legacy_disable.go | 9 + .../internal/flags/proto_legacy_enable.go | 9 + .../protobuf/internal/genid/any_gen.go | 34 + .../protobuf/internal/genid/api_gen.go | 106 + .../protobuf/internal/genid/descriptor_gen.go | 829 ++ .../protobuf/internal/genid/doc.go | 11 + .../protobuf/internal/genid/duration_gen.go | 34 + .../protobuf/internal/genid/empty_gen.go | 19 + .../protobuf/internal/genid/field_mask_gen.go | 31 + .../protobuf/internal/genid/goname.go | 25 + .../protobuf/internal/genid/map_entry.go | 16 + .../internal/genid/source_context_gen.go | 31 + .../protobuf/internal/genid/struct_gen.go | 116 + .../protobuf/internal/genid/timestamp_gen.go | 34 + .../protobuf/internal/genid/type_gen.go | 184 + .../protobuf/internal/genid/wrappers.go | 13 + .../protobuf/internal/genid/wrappers_gen.go | 175 + .../protobuf/internal/impl/api_export.go | 177 + .../protobuf/internal/impl/checkinit.go | 141 + .../protobuf/internal/impl/codec_extension.go | 223 + .../protobuf/internal/impl/codec_field.go | 830 ++ .../protobuf/internal/impl/codec_gen.go | 5637 ++++++++++ .../protobuf/internal/impl/codec_map.go | 388 + .../protobuf/internal/impl/codec_map_go111.go | 37 + .../protobuf/internal/impl/codec_map_go112.go | 11 + .../protobuf/internal/impl/codec_message.go | 217 + .../internal/impl/codec_messageset.go | 123 + .../protobuf/internal/impl/codec_reflect.go | 209 + .../protobuf/internal/impl/codec_tables.go | 557 + .../protobuf/internal/impl/codec_unsafe.go | 17 + .../protobuf/internal/impl/convert.go | 496 + .../protobuf/internal/impl/convert_list.go | 141 + .../protobuf/internal/impl/convert_map.go | 121 + .../protobuf/internal/impl/decode.go | 276 + .../protobuf/internal/impl/encode.go | 201 + .../protobuf/internal/impl/enum.go | 21 + .../protobuf/internal/impl/extension.go | 156 + .../protobuf/internal/impl/legacy_enum.go | 219 + .../protobuf/internal/impl/legacy_export.go | 92 + .../internal/impl/legacy_extension.go | 176 + .../protobuf/internal/impl/legacy_file.go | 81 + .../protobuf/internal/impl/legacy_message.go | 558 + .../protobuf/internal/impl/merge.go | 176 + .../protobuf/internal/impl/merge_gen.go | 209 + .../protobuf/internal/impl/message.go | 276 + .../protobuf/internal/impl/message_reflect.go | 465 + .../internal/impl/message_reflect_field.go | 543 + .../internal/impl/message_reflect_gen.go | 249 + .../protobuf/internal/impl/pointer_reflect.go | 178 + .../protobuf/internal/impl/pointer_unsafe.go | 174 + .../protobuf/internal/impl/validate.go | 576 + .../protobuf/internal/impl/weak.go | 74 + .../protobuf/internal/order/order.go | 89 + .../protobuf/internal/order/range.go | 115 + .../protobuf/internal/pragma/pragma.go | 29 + .../protobuf/internal/set/ints.go | 58 + .../protobuf/internal/strs/strings.go | 196 + .../protobuf/internal/strs/strings_pure.go | 27 + .../protobuf/internal/strs/strings_unsafe.go | 94 + .../protobuf/internal/version/version.go | 79 + .../protobuf/proto/checkinit.go | 71 + .../protobuf/proto/decode.go | 278 + .../protobuf/proto/decode_gen.go | 603 ++ .../google.golang.org/protobuf/proto/doc.go | 94 + .../protobuf/proto/encode.go | 319 + .../protobuf/proto/encode_gen.go | 97 + .../google.golang.org/protobuf/proto/equal.go | 167 + .../protobuf/proto/extension.go | 92 + .../google.golang.org/protobuf/proto/merge.go | 139 + .../protobuf/proto/messageset.go | 93 + .../google.golang.org/protobuf/proto/proto.go | 43 + .../protobuf/proto/proto_methods.go | 19 + .../protobuf/proto/proto_reflect.go | 19 + .../google.golang.org/protobuf/proto/reset.go | 43 + .../google.golang.org/protobuf/proto/size.go | 97 + .../protobuf/proto/size_gen.go | 55 + .../protobuf/proto/wrappers.go | 29 + .../protobuf/reflect/protodesc/desc.go | 276 + .../protobuf/reflect/protodesc/desc_init.go | 248 + .../reflect/protodesc/desc_resolve.go | 286 + .../reflect/protodesc/desc_validate.go | 374 + .../protobuf/reflect/protodesc/proto.go | 252 + .../protobuf/reflect/protoreflect/methods.go | 77 + .../protobuf/reflect/protoreflect/proto.go | 504 + .../protobuf/reflect/protoreflect/source.go | 128 + .../reflect/protoreflect/source_gen.go | 461 + .../protobuf/reflect/protoreflect/type.go | 665 ++ .../protobuf/reflect/protoreflect/value.go | 285 + .../reflect/protoreflect/value_pure.go | 59 + .../reflect/protoreflect/value_union.go | 411 + .../reflect/protoreflect/value_unsafe.go | 98 + .../reflect/protoregistry/registry.go | 869 ++ .../protobuf/runtime/protoiface/legacy.go | 15 + .../protobuf/runtime/protoiface/methods.go | 167 + .../protobuf/runtime/protoimpl/impl.go | 44 + .../protobuf/runtime/protoimpl/version.go | 56 + .../types/descriptorpb/descriptor.pb.go | 4039 +++++++ .../square/go-jose.v2/.gitcookies.sh.enc | 1 + vendor/gopkg.in/square/go-jose.v2/.gitignore | 8 + vendor/gopkg.in/square/go-jose.v2/.travis.yml | 45 + .../gopkg.in/square/go-jose.v2/BUG-BOUNTY.md | 10 + .../square/go-jose.v2/CONTRIBUTING.md | 14 + vendor/gopkg.in/square/go-jose.v2/LICENSE | 202 + vendor/gopkg.in/square/go-jose.v2/README.md | 118 + .../gopkg.in/square/go-jose.v2/asymmetric.go | 592 ++ .../square/go-jose.v2/cipher/cbc_hmac.go | 196 + .../square/go-jose.v2/cipher/concat_kdf.go | 75 + .../square/go-jose.v2/cipher/ecdh_es.go | 86 + .../square/go-jose.v2/cipher/key_wrap.go | 109 + vendor/gopkg.in/square/go-jose.v2/crypter.go | 541 + vendor/gopkg.in/square/go-jose.v2/doc.go | 27 + vendor/gopkg.in/square/go-jose.v2/encoding.go | 185 + .../gopkg.in/square/go-jose.v2/json/LICENSE | 27 + .../gopkg.in/square/go-jose.v2/json/README.md | 13 + .../gopkg.in/square/go-jose.v2/json/decode.go | 1183 ++ .../gopkg.in/square/go-jose.v2/json/encode.go | 1197 +++ .../gopkg.in/square/go-jose.v2/json/indent.go | 141 + .../square/go-jose.v2/json/scanner.go | 623 ++ .../gopkg.in/square/go-jose.v2/json/stream.go | 480 + .../gopkg.in/square/go-jose.v2/json/tags.go | 44 + vendor/gopkg.in/square/go-jose.v2/jwe.go | 294 + vendor/gopkg.in/square/go-jose.v2/jwk.go | 760 ++ vendor/gopkg.in/square/go-jose.v2/jws.go | 366 + vendor/gopkg.in/square/go-jose.v2/opaque.go | 144 + vendor/gopkg.in/square/go-jose.v2/shared.go | 520 + vendor/gopkg.in/square/go-jose.v2/signing.go | 441 + .../gopkg.in/square/go-jose.v2/symmetric.go | 482 + vendor/gopkg.in/yaml.v2/.travis.yml | 17 + vendor/gopkg.in/yaml.v2/LICENSE | 201 + vendor/gopkg.in/yaml.v2/LICENSE.libyaml | 31 + vendor/gopkg.in/yaml.v2/NOTICE | 13 + vendor/gopkg.in/yaml.v2/README.md | 133 + vendor/gopkg.in/yaml.v2/apic.go | 744 ++ vendor/gopkg.in/yaml.v2/decode.go | 815 ++ vendor/gopkg.in/yaml.v2/emitterc.go | 1685 +++ vendor/gopkg.in/yaml.v2/encode.go | 390 + vendor/gopkg.in/yaml.v2/go.mod | 5 + vendor/gopkg.in/yaml.v2/parserc.go | 1095 ++ vendor/gopkg.in/yaml.v2/readerc.go | 412 + vendor/gopkg.in/yaml.v2/resolve.go | 258 + vendor/gopkg.in/yaml.v2/scannerc.go | 2711 +++++ vendor/gopkg.in/yaml.v2/sorter.go | 113 + vendor/gopkg.in/yaml.v2/writerc.go | 26 + vendor/gopkg.in/yaml.v2/yaml.go | 478 + vendor/gopkg.in/yaml.v2/yamlh.go | 739 ++ vendor/gopkg.in/yaml.v2/yamlprivateh.go | 173 + vendor/gopkg.in/yaml.v3/LICENSE | 50 + vendor/gopkg.in/yaml.v3/NOTICE | 13 + vendor/gopkg.in/yaml.v3/README.md | 150 + vendor/gopkg.in/yaml.v3/apic.go | 747 ++ vendor/gopkg.in/yaml.v3/decode.go | 950 ++ vendor/gopkg.in/yaml.v3/emitterc.go | 2020 ++++ vendor/gopkg.in/yaml.v3/encode.go | 577 + vendor/gopkg.in/yaml.v3/go.mod | 5 + vendor/gopkg.in/yaml.v3/parserc.go | 1249 +++ vendor/gopkg.in/yaml.v3/readerc.go | 434 + vendor/gopkg.in/yaml.v3/resolve.go | 326 + vendor/gopkg.in/yaml.v3/scannerc.go | 3038 ++++++ vendor/gopkg.in/yaml.v3/sorter.go | 134 + vendor/gopkg.in/yaml.v3/writerc.go | 48 + vendor/gopkg.in/yaml.v3/yaml.go | 698 ++ vendor/gopkg.in/yaml.v3/yamlh.go | 807 ++ vendor/gopkg.in/yaml.v3/yamlprivateh.go | 198 + vendor/mellium.im/sasl/.gitignore | 6 + vendor/mellium.im/sasl/LICENSE.md | 25 + vendor/mellium.im/sasl/Makefile | 20 + vendor/mellium.im/sasl/README.md | 22 + .../mellium.im/sasl/bitbucket-pipelines.yml | 10 + vendor/mellium.im/sasl/doc.go | 15 + vendor/mellium.im/sasl/go.mod | 3 + vendor/mellium.im/sasl/go.sum | 2 + vendor/mellium.im/sasl/mechanism.go | 58 + vendor/mellium.im/sasl/negotiator.go | 192 + vendor/mellium.im/sasl/nonce.go | 30 + vendor/mellium.im/sasl/options.go | 53 + vendor/mellium.im/sasl/plain.go | 52 + vendor/mellium.im/sasl/scram.go | 227 + vendor/mellium.im/sasl/xor_generic.go | 24 + vendor/mellium.im/sasl/xor_unaligned.go | 52 + vendor/modules.txt | 491 + vendor/mvdan.cc/xurls/v2/.gitignore | 3 + vendor/mvdan.cc/xurls/v2/LICENSE | 27 + vendor/mvdan.cc/xurls/v2/README.md | 37 + vendor/mvdan.cc/xurls/v2/go.mod | 5 + vendor/mvdan.cc/xurls/v2/go.sum | 13 + vendor/mvdan.cc/xurls/v2/schemes.go | 353 + vendor/mvdan.cc/xurls/v2/tlds.go | 1519 +++ vendor/mvdan.cc/xurls/v2/tlds_pseudo.go | 24 + vendor/mvdan.cc/xurls/v2/unicode.go | 5 + vendor/mvdan.cc/xurls/v2/xurls.go | 140 + 2677 files changed, 1090869 insertions(+), 219 deletions(-) delete mode 100644 .github/workflows/golangci-lint.yml create mode 100644 vendor/github.com/aymerick/douceur/LICENSE create mode 100644 vendor/github.com/aymerick/douceur/css/declaration.go create mode 100644 vendor/github.com/aymerick/douceur/css/rule.go create mode 100644 vendor/github.com/aymerick/douceur/css/stylesheet.go create mode 100644 vendor/github.com/aymerick/douceur/parser/parser.go create mode 100644 vendor/github.com/buckket/go-blurhash/.gitignore create mode 100644 vendor/github.com/buckket/go-blurhash/.travis.yml create mode 100644 vendor/github.com/buckket/go-blurhash/LICENSE create mode 100644 vendor/github.com/buckket/go-blurhash/README.md create mode 100644 vendor/github.com/buckket/go-blurhash/base83/base83.go create mode 100644 vendor/github.com/buckket/go-blurhash/decode.go create mode 100644 vendor/github.com/buckket/go-blurhash/encode.go create mode 100644 vendor/github.com/buckket/go-blurhash/go.mod create mode 100644 vendor/github.com/buckket/go-blurhash/test.png create mode 100644 vendor/github.com/buckket/go-blurhash/test_blur.png create mode 100644 vendor/github.com/buckket/go-blurhash/utils.go create mode 100644 vendor/github.com/coreos/go-oidc/v3/LICENSE create mode 100644 vendor/github.com/coreos/go-oidc/v3/NOTICE create mode 100644 vendor/github.com/coreos/go-oidc/v3/oidc/jose.go create mode 100644 vendor/github.com/coreos/go-oidc/v3/oidc/jwks.go create mode 100644 vendor/github.com/coreos/go-oidc/v3/oidc/oidc.go create mode 100644 vendor/github.com/coreos/go-oidc/v3/oidc/verify.go create mode 100644 vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md create mode 100644 vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go create mode 100644 vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go create mode 100644 vendor/github.com/davecgh/go-spew/LICENSE create mode 100644 vendor/github.com/davecgh/go-spew/spew/bypass.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/bypasssafe.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/common.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/config.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/doc.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/dump.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/format.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/spew.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/.gitignore create mode 100644 vendor/github.com/dgrijalva/jwt-go/.travis.yml create mode 100644 vendor/github.com/dgrijalva/jwt-go/LICENSE create mode 100644 vendor/github.com/dgrijalva/jwt-go/MIGRATION_GUIDE.md create mode 100644 vendor/github.com/dgrijalva/jwt-go/README.md create mode 100644 vendor/github.com/dgrijalva/jwt-go/VERSION_HISTORY.md create mode 100644 vendor/github.com/dgrijalva/jwt-go/claims.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/doc.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/ecdsa.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/ecdsa_utils.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/errors.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/hmac.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/map_claims.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/none.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/parser.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/rsa.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/rsa_pss.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/rsa_utils.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/signing_method.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/token.go create mode 100644 vendor/github.com/dsoprea/go-exif/.travis.yml create mode 100644 vendor/github.com/dsoprea/go-exif/LICENSE create mode 100644 vendor/github.com/dsoprea/go-exif/README.md create mode 100644 vendor/github.com/dsoprea/go-exif/error.go create mode 100644 vendor/github.com/dsoprea/go-exif/exif.go create mode 100644 vendor/github.com/dsoprea/go-exif/go.mod create mode 100644 vendor/github.com/dsoprea/go-exif/go.sum create mode 100644 vendor/github.com/dsoprea/go-exif/gps.go create mode 100644 vendor/github.com/dsoprea/go-exif/ifd.go create mode 100644 vendor/github.com/dsoprea/go-exif/ifd_builder.go create mode 100644 vendor/github.com/dsoprea/go-exif/ifd_builder_encode.go create mode 100644 vendor/github.com/dsoprea/go-exif/ifd_enumerate.go create mode 100644 vendor/github.com/dsoprea/go-exif/ifd_tag_entry.go create mode 100644 vendor/github.com/dsoprea/go-exif/package.go create mode 100644 vendor/github.com/dsoprea/go-exif/parser.go create mode 100644 vendor/github.com/dsoprea/go-exif/tag_type.go create mode 100644 vendor/github.com/dsoprea/go-exif/tags.go create mode 100644 vendor/github.com/dsoprea/go-exif/tags_data.go create mode 100644 vendor/github.com/dsoprea/go-exif/tags_undefined.go create mode 100644 vendor/github.com/dsoprea/go-exif/type.go create mode 100644 vendor/github.com/dsoprea/go-exif/type_encode.go create mode 100644 vendor/github.com/dsoprea/go-exif/utility.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/.MODULE_ROOT create mode 100644 vendor/github.com/dsoprea/go-exif/v2/LICENSE create mode 100644 vendor/github.com/dsoprea/go-exif/v2/common/ifd.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/common/parser.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/common/testing_common.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/common/type.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/common/utility.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/common/value_context.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/common/value_encoder.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/error.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/exif.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/go.mod create mode 100644 vendor/github.com/dsoprea/go-exif/v2/go.sum create mode 100644 vendor/github.com/dsoprea/go-exif/v2/gps.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/ifd.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/ifd_builder.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/ifd_builder_encode.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/ifd_enumerate.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/ifd_tag_entry.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/package.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/tags.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/tags_data.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/testing_common.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/README.md create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/accessor.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_8828_oecf.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9000_exif_version.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9101_components_configuration.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_927C_maker_note.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9286_user_comment.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A000_flashpix_version.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A20C_spatial_frequency_response.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A300_file_source.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A301_scene_type.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A302_cfa_pattern.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/exif_iop_0002_interop_version.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/gps_001B_gps_processing_method.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/gps_001C_gps_area_information.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/registration.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/undefined/type.go create mode 100644 vendor/github.com/dsoprea/go-exif/v2/utility.go create mode 100644 vendor/github.com/dsoprea/go-exif/value_context.go create mode 100644 vendor/github.com/dsoprea/go-iptc/.MODULE_ROOT create mode 100644 vendor/github.com/dsoprea/go-iptc/.travis.yml create mode 100644 vendor/github.com/dsoprea/go-iptc/LICENSE create mode 100644 vendor/github.com/dsoprea/go-iptc/README.md create mode 100644 vendor/github.com/dsoprea/go-iptc/go.mod create mode 100644 vendor/github.com/dsoprea/go-iptc/go.sum create mode 100644 vendor/github.com/dsoprea/go-iptc/standard.go create mode 100644 vendor/github.com/dsoprea/go-iptc/tag.go create mode 100644 vendor/github.com/dsoprea/go-iptc/testing_common.go create mode 100644 vendor/github.com/dsoprea/go-iptc/utility.go create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/.MODULE_ROOT create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/.travis.yml create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/LICENSE create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/README.md create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/go.mod create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/go.sum create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/markers.go create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/media_parser.go create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/segment.go create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/segment_list.go create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/splitter.go create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/testing_common.go create mode 100644 vendor/github.com/dsoprea/go-jpeg-image-structure/utility.go create mode 100644 vendor/github.com/dsoprea/go-logging/.travis.yml create mode 100644 vendor/github.com/dsoprea/go-logging/LICENSE create mode 100644 vendor/github.com/dsoprea/go-logging/README.md create mode 100644 vendor/github.com/dsoprea/go-logging/config.go create mode 100644 vendor/github.com/dsoprea/go-logging/console_adapter.go create mode 100644 vendor/github.com/dsoprea/go-logging/go.mod create mode 100644 vendor/github.com/dsoprea/go-logging/go.sum create mode 100644 vendor/github.com/dsoprea/go-logging/log.go create mode 100644 vendor/github.com/dsoprea/go-photoshop-info-format/.MODULE_ROOT create mode 100644 vendor/github.com/dsoprea/go-photoshop-info-format/.travis.yml create mode 100644 vendor/github.com/dsoprea/go-photoshop-info-format/LICENSE create mode 100644 vendor/github.com/dsoprea/go-photoshop-info-format/README.md create mode 100644 vendor/github.com/dsoprea/go-photoshop-info-format/go.mod create mode 100644 vendor/github.com/dsoprea/go-photoshop-info-format/go.sum create mode 100644 vendor/github.com/dsoprea/go-photoshop-info-format/info.go create mode 100644 vendor/github.com/dsoprea/go-photoshop-info-format/testing_common.go create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/.MODULE_ROOT create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/.travis.yml create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/LICENSE create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/README.md create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/chunk_decoder.go create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/go.mod create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/go.sum create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/media_parser.go create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/png.go create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/testing_common.go create mode 100644 vendor/github.com/dsoprea/go-png-image-structure/utility.go create mode 100644 vendor/github.com/dsoprea/go-utility/LICENSE create mode 100644 vendor/github.com/dsoprea/go-utility/image/README.md create mode 100644 vendor/github.com/dsoprea/go-utility/image/media_parser_type.go create mode 100644 vendor/github.com/gin-contrib/cors/.gitignore create mode 100644 vendor/github.com/gin-contrib/cors/.travis.yml create mode 100644 vendor/github.com/gin-contrib/cors/LICENSE create mode 100644 vendor/github.com/gin-contrib/cors/README.md create mode 100644 vendor/github.com/gin-contrib/cors/config.go create mode 100644 vendor/github.com/gin-contrib/cors/cors.go create mode 100644 vendor/github.com/gin-contrib/cors/go.mod create mode 100644 vendor/github.com/gin-contrib/cors/go.sum create mode 100644 vendor/github.com/gin-contrib/cors/utils.go create mode 100644 vendor/github.com/gin-contrib/sessions/.gitignore create mode 100644 vendor/github.com/gin-contrib/sessions/.travis.yml create mode 100644 vendor/github.com/gin-contrib/sessions/LICENSE create mode 100644 vendor/github.com/gin-contrib/sessions/README.md create mode 100644 vendor/github.com/gin-contrib/sessions/go.mod create mode 100644 vendor/github.com/gin-contrib/sessions/go.sum create mode 100644 vendor/github.com/gin-contrib/sessions/memstore/memstore.go create mode 100644 vendor/github.com/gin-contrib/sessions/session_options_go1.10.go create mode 100644 vendor/github.com/gin-contrib/sessions/session_options_go1.11.go create mode 100644 vendor/github.com/gin-contrib/sessions/sessions.go create mode 100644 vendor/github.com/gin-contrib/sse/.travis.yml create mode 100644 vendor/github.com/gin-contrib/sse/LICENSE create mode 100644 vendor/github.com/gin-contrib/sse/README.md create mode 100644 vendor/github.com/gin-contrib/sse/go.mod create mode 100644 vendor/github.com/gin-contrib/sse/go.sum create mode 100644 vendor/github.com/gin-contrib/sse/sse-decoder.go create mode 100644 vendor/github.com/gin-contrib/sse/sse-encoder.go create mode 100644 vendor/github.com/gin-contrib/sse/writer.go create mode 100644 vendor/github.com/gin-gonic/gin/.gitignore create mode 100644 vendor/github.com/gin-gonic/gin/AUTHORS.md create mode 100644 vendor/github.com/gin-gonic/gin/BENCHMARKS.md create mode 100644 vendor/github.com/gin-gonic/gin/CHANGELOG.md create mode 100644 vendor/github.com/gin-gonic/gin/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/gin-gonic/gin/CONTRIBUTING.md create mode 100644 vendor/github.com/gin-gonic/gin/LICENSE create mode 100644 vendor/github.com/gin-gonic/gin/Makefile create mode 100644 vendor/github.com/gin-gonic/gin/README.md create mode 100644 vendor/github.com/gin-gonic/gin/auth.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/binding.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/binding_nomsgpack.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/default_validator.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/form.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/form_mapping.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/header.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/json.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/msgpack.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/multipart_form_mapping.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/protobuf.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/query.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/uri.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/xml.go create mode 100644 vendor/github.com/gin-gonic/gin/binding/yaml.go create mode 100644 vendor/github.com/gin-gonic/gin/codecov.yml create mode 100644 vendor/github.com/gin-gonic/gin/context.go create mode 100644 vendor/github.com/gin-gonic/gin/context_appengine.go create mode 100644 vendor/github.com/gin-gonic/gin/debug.go create mode 100644 vendor/github.com/gin-gonic/gin/deprecated.go create mode 100644 vendor/github.com/gin-gonic/gin/doc.go create mode 100644 vendor/github.com/gin-gonic/gin/errors.go create mode 100644 vendor/github.com/gin-gonic/gin/fs.go create mode 100644 vendor/github.com/gin-gonic/gin/gin.go create mode 100644 vendor/github.com/gin-gonic/gin/go.mod create mode 100644 vendor/github.com/gin-gonic/gin/go.sum create mode 100644 vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv.go create mode 100644 vendor/github.com/gin-gonic/gin/internal/json/go_json.go create mode 100644 vendor/github.com/gin-gonic/gin/internal/json/json.go create mode 100644 vendor/github.com/gin-gonic/gin/internal/json/jsoniter.go create mode 100644 vendor/github.com/gin-gonic/gin/logger.go create mode 100644 vendor/github.com/gin-gonic/gin/mode.go create mode 100644 vendor/github.com/gin-gonic/gin/path.go create mode 100644 vendor/github.com/gin-gonic/gin/recovery.go create mode 100644 vendor/github.com/gin-gonic/gin/render/data.go create mode 100644 vendor/github.com/gin-gonic/gin/render/html.go create mode 100644 vendor/github.com/gin-gonic/gin/render/json.go create mode 100644 vendor/github.com/gin-gonic/gin/render/msgpack.go create mode 100644 vendor/github.com/gin-gonic/gin/render/protobuf.go create mode 100644 vendor/github.com/gin-gonic/gin/render/reader.go create mode 100644 vendor/github.com/gin-gonic/gin/render/redirect.go create mode 100644 vendor/github.com/gin-gonic/gin/render/render.go create mode 100644 vendor/github.com/gin-gonic/gin/render/text.go create mode 100644 vendor/github.com/gin-gonic/gin/render/xml.go create mode 100644 vendor/github.com/gin-gonic/gin/render/yaml.go create mode 100644 vendor/github.com/gin-gonic/gin/response_writer.go create mode 100644 vendor/github.com/gin-gonic/gin/routergroup.go create mode 100644 vendor/github.com/gin-gonic/gin/test_helpers.go create mode 100644 vendor/github.com/gin-gonic/gin/tree.go create mode 100644 vendor/github.com/gin-gonic/gin/utils.go create mode 100644 vendor/github.com/gin-gonic/gin/version.go create mode 100644 vendor/github.com/go-errors/errors/.travis.yml create mode 100644 vendor/github.com/go-errors/errors/LICENSE.MIT create mode 100644 vendor/github.com/go-errors/errors/README.md create mode 100644 vendor/github.com/go-errors/errors/cover.out create mode 100644 vendor/github.com/go-errors/errors/error.go create mode 100644 vendor/github.com/go-errors/errors/error_1_13.go create mode 100644 vendor/github.com/go-errors/errors/error_backward.go create mode 100644 vendor/github.com/go-errors/errors/go.mod create mode 100644 vendor/github.com/go-errors/errors/parse_panic.go create mode 100644 vendor/github.com/go-errors/errors/stackframe.go create mode 100644 vendor/github.com/go-fed/activity/LICENSE create mode 100644 vendor/github.com/go-fed/activity/pub/README.md create mode 100644 vendor/github.com/go-fed/activity/pub/activity.go create mode 100644 vendor/github.com/go-fed/activity/pub/actor.go create mode 100644 vendor/github.com/go-fed/activity/pub/base_actor.go create mode 100644 vendor/github.com/go-fed/activity/pub/clock.go create mode 100644 vendor/github.com/go-fed/activity/pub/common_behavior.go create mode 100644 vendor/github.com/go-fed/activity/pub/database.go create mode 100644 vendor/github.com/go-fed/activity/pub/delegate_actor.go create mode 100644 vendor/github.com/go-fed/activity/pub/doc.go create mode 100644 vendor/github.com/go-fed/activity/pub/federating_protocol.go create mode 100644 vendor/github.com/go-fed/activity/pub/federating_wrapped_callbacks.go create mode 100644 vendor/github.com/go-fed/activity/pub/handlers.go create mode 100644 vendor/github.com/go-fed/activity/pub/property_interfaces.go create mode 100644 vendor/github.com/go-fed/activity/pub/side_effect_actor.go create mode 100644 vendor/github.com/go-fed/activity/pub/social_protocol.go create mode 100644 vendor/github.com/go-fed/activity/pub/social_wrapped_callbacks.go create mode 100644 vendor/github.com/go-fed/activity/pub/transport.go create mode 100644 vendor/github.com/go-fed/activity/pub/util.go create mode 100644 vendor/github.com/go-fed/activity/pub/version.go create mode 100644 vendor/github.com/go-fed/activity/streams/README.md create mode 100644 vendor/github.com/go-fed/activity/streams/gen_consts.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_init.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_json_resolver.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_manager.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_disjoint.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_extendedby.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_extends.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_isorextends.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_property_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_type_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_disjoint.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_extendedby.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_extends.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_isorextends.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_property_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_type_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_jsonld_property_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_toot_disjoint.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_toot_extendedby.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_toot_extends.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_toot_isorextends.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_toot_property_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_toot_type_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_disjoint.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_extendedby.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_extends.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_isorextends.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_property_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_type_constructors.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_resolver_utils.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_type_predicated_resolver.go create mode 100644 vendor/github.com/go-fed/activity/streams/gen_type_resolver.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_property_activitystreams_accuracy.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_property_activitystreams_actor.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_property_activitystreams_altitude.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_property_activitystreams_anyOf.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_property_activitystreams_attachment.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_property_activitystreams_attributedTo.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_property_activitystreams_audience.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_property_activitystreams_bcc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_property_activitystreams_bto.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_property_activitystreams_cc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_property_activitystreams_closed.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_property_activitystreams_content.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_property_activitystreams_context.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_property_activitystreams_current.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_property_activitystreams_deleted.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_property_activitystreams_describes.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_property_activitystreams_duration.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_property_activitystreams_endTime.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_property_activitystreams_first.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_property_activitystreams_followers.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_property_activitystreams_following.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_property_activitystreams_formerType.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_property_activitystreams_generator.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_property_activitystreams_height.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_property_activitystreams_href.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_property_activitystreams_hreflang.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_property_activitystreams_icon.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_property_activitystreams_image.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_property_activitystreams_inbox.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_property_activitystreams_inReplyTo.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_property_activitystreams_instrument.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_property_activitystreams_items.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_property_activitystreams_last.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_property_activitystreams_latitude.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_property_activitystreams_liked.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_property_activitystreams_likes.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_property_activitystreams_location.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_property_activitystreams_longitude.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_property_activitystreams_mediaType.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_property_activitystreams_name.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_property_activitystreams_next.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_property_activitystreams_object.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_property_activitystreams_oneOf.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_property_activitystreams_orderedItems.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_property_activitystreams_origin.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_property_activitystreams_outbox.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_property_activitystreams_partOf.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_property_activitystreams_preferredUsername.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_property_activitystreams_prev.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_property_activitystreams_preview.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_property_activitystreams_published.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_property_activitystreams_radius.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_property_activitystreams_rel.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_property_activitystreams_relationship.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_property_activitystreams_replies.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_property_activitystreams_result.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_property_activitystreams_shares.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_property_activitystreams_startIndex.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_property_activitystreams_startTime.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_property_activitystreams_streams.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_property_activitystreams_subject.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_property_activitystreams_summary.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_property_activitystreams_tag.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_property_activitystreams_target.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_property_activitystreams_to.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_property_activitystreams_totalItems.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_property_activitystreams_units.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_property_activitystreams_updated.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_property_activitystreams_url.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_property_activitystreams_width.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_type_activitystreams_accept.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_type_activitystreams_activity.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_type_activitystreams_add.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_type_activitystreams_announce.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_type_activitystreams_application.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_type_activitystreams_arrive.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_type_activitystreams_article.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_type_activitystreams_audio.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_type_activitystreams_block.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_type_activitystreams_collection.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_type_activitystreams_collectionpage.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_type_activitystreams_create.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_type_activitystreams_delete.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_type_activitystreams_dislike.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_type_activitystreams_document.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_type_activitystreams_event.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_type_activitystreams_flag.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_type_activitystreams_follow.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_type_activitystreams_group.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_type_activitystreams_ignore.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_type_activitystreams_image.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_type_activitystreams_intransitiveactivity.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_type_activitystreams_invite.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_type_activitystreams_join.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_type_activitystreams_leave.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_type_activitystreams_like.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_type_activitystreams_link.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_type_activitystreams_listen.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_type_activitystreams_mention.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_type_activitystreams_move.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_type_activitystreams_note.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_type_activitystreams_object.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_type_activitystreams_offer.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_type_activitystreams_orderedcollection.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_type_activitystreams_orderedcollectionpage.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_type_activitystreams_organization.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_type_activitystreams_page.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_type_activitystreams_person.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_type_activitystreams_place.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_type_activitystreams_profile.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_type_activitystreams_question.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_type_activitystreams_read.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_type_activitystreams_reject.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_type_activitystreams_relationship.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_type_activitystreams_remove.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_type_activitystreams_service.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_type_activitystreams_tentativeaccept.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_type_activitystreams_tentativereject.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_type_activitystreams_tombstone.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_type_activitystreams_travel.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_type_activitystreams_undo.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_type_activitystreams_update.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_type_activitystreams_video.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_type_activitystreams_view.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_property_forgefed_assignedTo.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_property_forgefed_committed.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_property_forgefed_committedBy.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_property_forgefed_dependants.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_property_forgefed_dependedBy.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_property_forgefed_dependencies.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_property_forgefed_dependsOn.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_property_forgefed_description.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_property_forgefed_earlyItems.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_property_forgefed_filesAdded.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_property_forgefed_filesModified.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_property_forgefed_filesRemoved.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_property_forgefed_forks.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_property_forgefed_hash.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_property_forgefed_isResolved.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_property_forgefed_ref.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_property_forgefed_team.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_property_forgefed_ticketsTrackedBy.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_property_forgefed_tracksTicketsFor.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_type_forgefed_branch.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_type_forgefed_commit.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_type_forgefed_push.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_type_forgefed_repository.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_type_forgefed_ticket.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_type_forgefed_ticketdependency.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_property_jsonld_id.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_property_jsonld_type.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_property_toot_blurhash.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_property_toot_discoverable.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_property_toot_featured.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_property_toot_signatureAlgorithm.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_property_toot_signatureValue.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_property_toot_votersCount.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_type_toot_emoji.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_type_toot_identityproof.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_property_w3idsecurityv1_owner.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_property_w3idsecurityv1_publicKey.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_property_w3idsecurityv1_publicKeyPem.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_type_w3idsecurityv1_publickey.go create mode 100644 vendor/github.com/go-fed/activity/streams/util.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/anyURI/gen_anyURI.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/bcp47/gen_bcp47.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/boolean/gen_boolean.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/dateTime/gen_dateTime.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/duration/gen_duration.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/float/gen_float.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/langString/gen_langString.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/nonNegativeInteger/gen_nonNegativeInteger.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/rfc2045/gen_rfc2045.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/rfc5988/gen_rfc5988.go create mode 100644 vendor/github.com/go-fed/activity/streams/values/string/gen_string.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_doc.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_pkg.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_accuracy_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_actor_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_altitude_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_anyOf_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_attachment_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_attributedTo_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_audience_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_bcc_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_bto_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_cc_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_closed_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_content_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_context_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_current_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_deleted_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_describes_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_duration_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_endTime_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_first_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_followers_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_following_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_formerType_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_generator_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_height_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_href_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_hreflang_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_icon_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_image_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_inReplyTo_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_inbox_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_instrument_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_items_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_last_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_latitude_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_liked_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_likes_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_location_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_longitude_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_mediaType_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_name_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_next_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_object_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_oneOf_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_orderedItems_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_origin_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_outbox_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_partOf_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_preferredUsername_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_prev_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_preview_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_published_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_radius_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_rel_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_relationship_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_replies_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_result_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_shares_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_source_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_startIndex_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_startTime_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_streams_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_subject_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_summary_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_tag_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_target_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_to_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_totalItems_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_units_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_updated_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_url_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_width_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_assignedTo_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_committedBy_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_committed_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependants_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependedBy_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependencies_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependsOn_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_description_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_earlyItems_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesAdded_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesModified_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesRemoved_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_forks_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_hash_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_isResolved_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_ref_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_team_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_ticketsTrackedBy_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_tracksTicketsFor_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_jsonld_id_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_jsonld_type_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_blurhash_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_discoverable_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_featured_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_signatureAlgorithm_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_signatureValue_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_votersCount_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_owner_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_publicKeyPem_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_publicKey_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_accept_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_activity_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_add_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_announce_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_application_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_arrive_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_article_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_audio_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_block_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_collection_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_collectionpage_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_create_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_delete_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_dislike_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_document_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_event_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_flag_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_follow_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_group_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_ignore_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_image_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_intransitiveactivity_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_invite_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_join_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_leave_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_like_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_link_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_listen_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_mention_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_move_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_note_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_object_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_offer_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_orderedcollection_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_orderedcollectionpage_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_organization_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_page_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_person_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_place_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_profile_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_question_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_read_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_reject_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_relationship_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_remove_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_service_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tentativeaccept_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tentativereject_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tombstone_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_travel_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_undo_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_update_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_video_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_view_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_branch_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_commit_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_push_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_repository_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_ticket_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_ticketdependency_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_toot_emoji_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_toot_identityproof_interface.go create mode 100644 vendor/github.com/go-fed/activity/streams/vocab/gen_type_w3idsecurityv1_publickey_interface.go create mode 100644 vendor/github.com/go-fed/httpsig/LICENSE create mode 100644 vendor/github.com/go-fed/httpsig/README.md create mode 100644 vendor/github.com/go-fed/httpsig/algorithms.go create mode 100644 vendor/github.com/go-fed/httpsig/digest.go create mode 100644 vendor/github.com/go-fed/httpsig/go.mod create mode 100644 vendor/github.com/go-fed/httpsig/go.sum create mode 100644 vendor/github.com/go-fed/httpsig/httpsig.go create mode 100644 vendor/github.com/go-fed/httpsig/signing.go create mode 100644 vendor/github.com/go-fed/httpsig/verifying.go create mode 100644 vendor/github.com/go-pg/pg/extra/pgdebug/LICENSE create mode 100644 vendor/github.com/go-pg/pg/extra/pgdebug/go.mod create mode 100644 vendor/github.com/go-pg/pg/extra/pgdebug/go.sum create mode 100644 vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go create mode 100644 vendor/github.com/go-pg/pg/v10/.golangci.yml create mode 100644 vendor/github.com/go-pg/pg/v10/.prettierrc create mode 100644 vendor/github.com/go-pg/pg/v10/.travis.yml create mode 100644 vendor/github.com/go-pg/pg/v10/CHANGELOG.md create mode 100644 vendor/github.com/go-pg/pg/v10/LICENSE create mode 100644 vendor/github.com/go-pg/pg/v10/Makefile create mode 100644 vendor/github.com/go-pg/pg/v10/README.md create mode 100644 vendor/github.com/go-pg/pg/v10/base.go create mode 100644 vendor/github.com/go-pg/pg/v10/db.go create mode 100644 vendor/github.com/go-pg/pg/v10/doc.go create mode 100644 vendor/github.com/go-pg/pg/v10/error.go create mode 100644 vendor/github.com/go-pg/pg/v10/go.mod create mode 100644 vendor/github.com/go-pg/pg/v10/go.sum create mode 100644 vendor/github.com/go-pg/pg/v10/hook.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/context.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/error.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/internal.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/log.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/parser/parser.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/parser/streaming_parser.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/pool/conn.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/pool/pool.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/pool/pool_single.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/pool/pool_sticky.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/pool/reader.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/pool/reader_buf.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/pool/reader_bytes.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/pool/write_buffer.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/safe.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/strconv.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/underscore.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/unsafe.go create mode 100644 vendor/github.com/go-pg/pg/v10/internal/util.go create mode 100644 vendor/github.com/go-pg/pg/v10/listener.go create mode 100644 vendor/github.com/go-pg/pg/v10/messages.go create mode 100644 vendor/github.com/go-pg/pg/v10/options.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/composite.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/composite_create.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/composite_drop.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/composite_parser.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/count_estimate.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/delete.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/field.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/format.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/hook.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/insert.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/join.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_discard.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_func.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_map.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_map_slice.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_scan.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_slice.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_table.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_table_m2m.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_table_many.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_table_slice.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/model_table_struct.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/msgpack.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/orm.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/query.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/relation.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/result.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/select.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/table.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/table_create.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/table_drop.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/table_params.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/tables.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/types.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/update.go create mode 100644 vendor/github.com/go-pg/pg/v10/orm/util.go create mode 100644 vendor/github.com/go-pg/pg/v10/pg.go create mode 100644 vendor/github.com/go-pg/pg/v10/pgjson/json.go create mode 100644 vendor/github.com/go-pg/pg/v10/pgjson/provider.go create mode 100644 vendor/github.com/go-pg/pg/v10/result.go create mode 100644 vendor/github.com/go-pg/pg/v10/stmt.go create mode 100644 vendor/github.com/go-pg/pg/v10/tx.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/append.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/append_ident.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/append_jsonb.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/append_value.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/array.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/array_append.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/array_parser.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/array_scan.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/column.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/doc.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/flags.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/hex.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/hstore.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/hstore_append.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/hstore_parser.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/hstore_scan.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/in_op.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/null_time.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/scan.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/scan_value.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/time.go create mode 100644 vendor/github.com/go-pg/pg/v10/types/types.go create mode 100644 vendor/github.com/go-pg/zerochecker/LICENSE create mode 100644 vendor/github.com/go-pg/zerochecker/go.mod create mode 100644 vendor/github.com/go-pg/zerochecker/zerochecker.go create mode 100644 vendor/github.com/go-playground/locales/.gitignore create mode 100644 vendor/github.com/go-playground/locales/.travis.yml create mode 100644 vendor/github.com/go-playground/locales/LICENSE create mode 100644 vendor/github.com/go-playground/locales/README.md create mode 100644 vendor/github.com/go-playground/locales/currency/currency.go create mode 100644 vendor/github.com/go-playground/locales/go.mod create mode 100644 vendor/github.com/go-playground/locales/go.sum create mode 100644 vendor/github.com/go-playground/locales/logo.png create mode 100644 vendor/github.com/go-playground/locales/rules.go create mode 100644 vendor/github.com/go-playground/universal-translator/.gitignore create mode 100644 vendor/github.com/go-playground/universal-translator/.travis.yml create mode 100644 vendor/github.com/go-playground/universal-translator/LICENSE create mode 100644 vendor/github.com/go-playground/universal-translator/README.md create mode 100644 vendor/github.com/go-playground/universal-translator/errors.go create mode 100644 vendor/github.com/go-playground/universal-translator/go.mod create mode 100644 vendor/github.com/go-playground/universal-translator/go.sum create mode 100644 vendor/github.com/go-playground/universal-translator/import_export.go create mode 100644 vendor/github.com/go-playground/universal-translator/logo.png create mode 100644 vendor/github.com/go-playground/universal-translator/translator.go create mode 100644 vendor/github.com/go-playground/universal-translator/universal_translator.go create mode 100644 vendor/github.com/go-playground/validator/v10/.gitignore create mode 100644 vendor/github.com/go-playground/validator/v10/LICENSE create mode 100644 vendor/github.com/go-playground/validator/v10/MAINTAINERS.md create mode 100644 vendor/github.com/go-playground/validator/v10/Makefile create mode 100644 vendor/github.com/go-playground/validator/v10/README.md create mode 100644 vendor/github.com/go-playground/validator/v10/baked_in.go create mode 100644 vendor/github.com/go-playground/validator/v10/cache.go create mode 100644 vendor/github.com/go-playground/validator/v10/country_codes.go create mode 100644 vendor/github.com/go-playground/validator/v10/doc.go create mode 100644 vendor/github.com/go-playground/validator/v10/errors.go create mode 100644 vendor/github.com/go-playground/validator/v10/field_level.go create mode 100644 vendor/github.com/go-playground/validator/v10/go.mod create mode 100644 vendor/github.com/go-playground/validator/v10/go.sum create mode 100644 vendor/github.com/go-playground/validator/v10/logo.png create mode 100644 vendor/github.com/go-playground/validator/v10/postcode_regexes.go create mode 100644 vendor/github.com/go-playground/validator/v10/regexes.go create mode 100644 vendor/github.com/go-playground/validator/v10/struct_level.go create mode 100644 vendor/github.com/go-playground/validator/v10/translations.go create mode 100644 vendor/github.com/go-playground/validator/v10/util.go create mode 100644 vendor/github.com/go-playground/validator/v10/validator.go create mode 100644 vendor/github.com/go-playground/validator/v10/validator_instance.go create mode 100644 vendor/github.com/go-xmlfmt/xmlfmt/LICENSE create mode 100644 vendor/github.com/go-xmlfmt/xmlfmt/README.md create mode 100644 vendor/github.com/go-xmlfmt/xmlfmt/xmlfmt.go create mode 100644 vendor/github.com/goccy/go-json/.codecov.yml create mode 100644 vendor/github.com/goccy/go-json/.gitignore create mode 100644 vendor/github.com/goccy/go-json/.golangci.yml create mode 100644 vendor/github.com/goccy/go-json/CHANGELOG.md create mode 100644 vendor/github.com/goccy/go-json/LICENSE create mode 100644 vendor/github.com/goccy/go-json/Makefile create mode 100644 vendor/github.com/goccy/go-json/README.md create mode 100644 vendor/github.com/goccy/go-json/codec.go create mode 100644 vendor/github.com/goccy/go-json/decode.go create mode 100644 vendor/github.com/goccy/go-json/decode_anonymous_field.go create mode 100644 vendor/github.com/goccy/go-json/decode_array.go create mode 100644 vendor/github.com/goccy/go-json/decode_bool.go create mode 100644 vendor/github.com/goccy/go-json/decode_bytes.go create mode 100644 vendor/github.com/goccy/go-json/decode_compile.go create mode 100644 vendor/github.com/goccy/go-json/decode_compile_norace.go create mode 100644 vendor/github.com/goccy/go-json/decode_compile_race.go create mode 100644 vendor/github.com/goccy/go-json/decode_context.go create mode 100644 vendor/github.com/goccy/go-json/decode_float.go create mode 100644 vendor/github.com/goccy/go-json/decode_int.go create mode 100644 vendor/github.com/goccy/go-json/decode_interface.go create mode 100644 vendor/github.com/goccy/go-json/decode_map.go create mode 100644 vendor/github.com/goccy/go-json/decode_number.go create mode 100644 vendor/github.com/goccy/go-json/decode_ptr.go create mode 100644 vendor/github.com/goccy/go-json/decode_slice.go create mode 100644 vendor/github.com/goccy/go-json/decode_stream.go create mode 100644 vendor/github.com/goccy/go-json/decode_string.go create mode 100644 vendor/github.com/goccy/go-json/decode_struct.go create mode 100644 vendor/github.com/goccy/go-json/decode_uint.go create mode 100644 vendor/github.com/goccy/go-json/decode_unmarshal_json.go create mode 100644 vendor/github.com/goccy/go-json/decode_unmarshal_text.go create mode 100644 vendor/github.com/goccy/go-json/decode_wrapped_string.go create mode 100644 vendor/github.com/goccy/go-json/docker-compose.yml create mode 100644 vendor/github.com/goccy/go-json/encode.go create mode 100644 vendor/github.com/goccy/go-json/error.go create mode 100644 vendor/github.com/goccy/go-json/go.mod create mode 100644 vendor/github.com/goccy/go-json/go.sum create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/compact.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/compiler.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/context.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/encoder.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/indent.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/int.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/map112.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/map113.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/opcode.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/optype.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/string.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm/util.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/debug_vm.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/hack.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/util.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/vm.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/debug_vm.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/hack.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/util.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/vm.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go create mode 100644 vendor/github.com/goccy/go-json/internal/encoder/vm_indent/vm.go create mode 100644 vendor/github.com/goccy/go-json/internal/errors/error.go create mode 100644 vendor/github.com/goccy/go-json/internal/runtime/rtype.go create mode 100644 vendor/github.com/goccy/go-json/internal/runtime/struct_field.go create mode 100644 vendor/github.com/goccy/go-json/internal/runtime/type.go create mode 100644 vendor/github.com/goccy/go-json/json.go create mode 100644 vendor/github.com/goccy/go-json/option.go create mode 100644 vendor/github.com/goccy/go-json/rtype.go create mode 100644 vendor/github.com/golang/geo/LICENSE create mode 100644 vendor/github.com/golang/geo/r1/doc.go create mode 100644 vendor/github.com/golang/geo/r1/interval.go create mode 100644 vendor/github.com/golang/geo/r2/doc.go create mode 100644 vendor/github.com/golang/geo/r2/rect.go create mode 100644 vendor/github.com/golang/geo/r3/doc.go create mode 100644 vendor/github.com/golang/geo/r3/precisevector.go create mode 100644 vendor/github.com/golang/geo/r3/vector.go create mode 100644 vendor/github.com/golang/geo/s1/angle.go create mode 100644 vendor/github.com/golang/geo/s1/chordangle.go create mode 100644 vendor/github.com/golang/geo/s1/doc.go create mode 100644 vendor/github.com/golang/geo/s1/interval.go create mode 100644 vendor/github.com/golang/geo/s2/bits_go18.go create mode 100644 vendor/github.com/golang/geo/s2/bits_go19.go create mode 100644 vendor/github.com/golang/geo/s2/cap.go create mode 100644 vendor/github.com/golang/geo/s2/cell.go create mode 100644 vendor/github.com/golang/geo/s2/cell_index.go create mode 100644 vendor/github.com/golang/geo/s2/cellid.go create mode 100644 vendor/github.com/golang/geo/s2/cellunion.go create mode 100644 vendor/github.com/golang/geo/s2/centroids.go create mode 100644 vendor/github.com/golang/geo/s2/contains_point_query.go create mode 100644 vendor/github.com/golang/geo/s2/contains_vertex_query.go create mode 100644 vendor/github.com/golang/geo/s2/convex_hull_query.go create mode 100644 vendor/github.com/golang/geo/s2/crossing_edge_query.go create mode 100644 vendor/github.com/golang/geo/s2/distance_target.go create mode 100644 vendor/github.com/golang/geo/s2/doc.go create mode 100644 vendor/github.com/golang/geo/s2/edge_clipping.go create mode 100644 vendor/github.com/golang/geo/s2/edge_crosser.go create mode 100644 vendor/github.com/golang/geo/s2/edge_crossings.go create mode 100644 vendor/github.com/golang/geo/s2/edge_distances.go create mode 100644 vendor/github.com/golang/geo/s2/edge_query.go create mode 100644 vendor/github.com/golang/geo/s2/edge_tessellator.go create mode 100644 vendor/github.com/golang/geo/s2/encode.go create mode 100644 vendor/github.com/golang/geo/s2/interleave.go create mode 100644 vendor/github.com/golang/geo/s2/latlng.go create mode 100644 vendor/github.com/golang/geo/s2/lexicon.go create mode 100644 vendor/github.com/golang/geo/s2/loop.go create mode 100644 vendor/github.com/golang/geo/s2/matrix3x3.go create mode 100644 vendor/github.com/golang/geo/s2/max_distance_targets.go create mode 100644 vendor/github.com/golang/geo/s2/metric.go create mode 100644 vendor/github.com/golang/geo/s2/min_distance_targets.go create mode 100644 vendor/github.com/golang/geo/s2/nthderivative.go create mode 100644 vendor/github.com/golang/geo/s2/paddedcell.go create mode 100644 vendor/github.com/golang/geo/s2/point.go create mode 100644 vendor/github.com/golang/geo/s2/point_measures.go create mode 100644 vendor/github.com/golang/geo/s2/point_vector.go create mode 100644 vendor/github.com/golang/geo/s2/pointcompression.go create mode 100644 vendor/github.com/golang/geo/s2/polygon.go create mode 100644 vendor/github.com/golang/geo/s2/polyline.go create mode 100644 vendor/github.com/golang/geo/s2/polyline_measures.go create mode 100644 vendor/github.com/golang/geo/s2/predicates.go create mode 100644 vendor/github.com/golang/geo/s2/projections.go create mode 100644 vendor/github.com/golang/geo/s2/query_entry.go create mode 100644 vendor/github.com/golang/geo/s2/query_options.go create mode 100644 vendor/github.com/golang/geo/s2/rect.go create mode 100644 vendor/github.com/golang/geo/s2/rect_bounder.go create mode 100644 vendor/github.com/golang/geo/s2/region.go create mode 100644 vendor/github.com/golang/geo/s2/regioncoverer.go create mode 100644 vendor/github.com/golang/geo/s2/regionunion.go create mode 100644 vendor/github.com/golang/geo/s2/shape.go create mode 100644 vendor/github.com/golang/geo/s2/shapeindex.go create mode 100644 vendor/github.com/golang/geo/s2/shapeutil.go create mode 100644 vendor/github.com/golang/geo/s2/shapeutil_edge_iterator.go create mode 100644 vendor/github.com/golang/geo/s2/stuv.go create mode 100644 vendor/github.com/golang/geo/s2/util.go create mode 100644 vendor/github.com/golang/geo/s2/wedge_relations.go create mode 100644 vendor/github.com/golang/protobuf/AUTHORS create mode 100644 vendor/github.com/golang/protobuf/CONTRIBUTORS create mode 100644 vendor/github.com/golang/protobuf/LICENSE create mode 100644 vendor/github.com/golang/protobuf/proto/buffer.go create mode 100644 vendor/github.com/golang/protobuf/proto/defaults.go create mode 100644 vendor/github.com/golang/protobuf/proto/deprecated.go create mode 100644 vendor/github.com/golang/protobuf/proto/discard.go create mode 100644 vendor/github.com/golang/protobuf/proto/extensions.go create mode 100644 vendor/github.com/golang/protobuf/proto/properties.go create mode 100644 vendor/github.com/golang/protobuf/proto/proto.go create mode 100644 vendor/github.com/golang/protobuf/proto/registry.go create mode 100644 vendor/github.com/golang/protobuf/proto/text_decode.go create mode 100644 vendor/github.com/golang/protobuf/proto/text_encode.go create mode 100644 vendor/github.com/golang/protobuf/proto/wire.go create mode 100644 vendor/github.com/golang/protobuf/proto/wrappers.go create mode 100644 vendor/github.com/google/uuid/.travis.yml create mode 100644 vendor/github.com/google/uuid/CONTRIBUTING.md create mode 100644 vendor/github.com/google/uuid/CONTRIBUTORS create mode 100644 vendor/github.com/google/uuid/LICENSE create mode 100644 vendor/github.com/google/uuid/README.md create mode 100644 vendor/github.com/google/uuid/dce.go create mode 100644 vendor/github.com/google/uuid/doc.go create mode 100644 vendor/github.com/google/uuid/go.mod create mode 100644 vendor/github.com/google/uuid/hash.go create mode 100644 vendor/github.com/google/uuid/marshal.go create mode 100644 vendor/github.com/google/uuid/node.go create mode 100644 vendor/github.com/google/uuid/node_js.go create mode 100644 vendor/github.com/google/uuid/node_net.go create mode 100644 vendor/github.com/google/uuid/null.go create mode 100644 vendor/github.com/google/uuid/sql.go create mode 100644 vendor/github.com/google/uuid/time.go create mode 100644 vendor/github.com/google/uuid/util.go create mode 100644 vendor/github.com/google/uuid/uuid.go create mode 100644 vendor/github.com/google/uuid/version1.go create mode 100644 vendor/github.com/google/uuid/version4.go create mode 100644 vendor/github.com/gorilla/context/.travis.yml create mode 100644 vendor/github.com/gorilla/context/LICENSE create mode 100644 vendor/github.com/gorilla/context/README.md create mode 100644 vendor/github.com/gorilla/context/context.go create mode 100644 vendor/github.com/gorilla/context/doc.go create mode 100644 vendor/github.com/gorilla/css/LICENSE create mode 100644 vendor/github.com/gorilla/css/scanner/doc.go create mode 100644 vendor/github.com/gorilla/css/scanner/scanner.go create mode 100644 vendor/github.com/gorilla/securecookie/.travis.yml create mode 100644 vendor/github.com/gorilla/securecookie/LICENSE create mode 100644 vendor/github.com/gorilla/securecookie/README.md create mode 100644 vendor/github.com/gorilla/securecookie/doc.go create mode 100644 vendor/github.com/gorilla/securecookie/fuzz.go create mode 100644 vendor/github.com/gorilla/securecookie/securecookie.go create mode 100644 vendor/github.com/gorilla/sessions/AUTHORS create mode 100644 vendor/github.com/gorilla/sessions/LICENSE create mode 100644 vendor/github.com/gorilla/sessions/README.md create mode 100644 vendor/github.com/gorilla/sessions/cookie.go create mode 100644 vendor/github.com/gorilla/sessions/cookie_go111.go create mode 100644 vendor/github.com/gorilla/sessions/doc.go create mode 100644 vendor/github.com/gorilla/sessions/go.mod create mode 100644 vendor/github.com/gorilla/sessions/go.sum create mode 100644 vendor/github.com/gorilla/sessions/lex.go create mode 100644 vendor/github.com/gorilla/sessions/options.go create mode 100644 vendor/github.com/gorilla/sessions/options_go111.go create mode 100644 vendor/github.com/gorilla/sessions/sessions.go create mode 100644 vendor/github.com/gorilla/sessions/store.go create mode 100644 vendor/github.com/gorilla/websocket/.gitignore create mode 100644 vendor/github.com/gorilla/websocket/AUTHORS create mode 100644 vendor/github.com/gorilla/websocket/LICENSE create mode 100644 vendor/github.com/gorilla/websocket/README.md create mode 100644 vendor/github.com/gorilla/websocket/client.go create mode 100644 vendor/github.com/gorilla/websocket/client_clone.go create mode 100644 vendor/github.com/gorilla/websocket/client_clone_legacy.go create mode 100644 vendor/github.com/gorilla/websocket/compression.go create mode 100644 vendor/github.com/gorilla/websocket/conn.go create mode 100644 vendor/github.com/gorilla/websocket/conn_write.go create mode 100644 vendor/github.com/gorilla/websocket/conn_write_legacy.go create mode 100644 vendor/github.com/gorilla/websocket/doc.go create mode 100644 vendor/github.com/gorilla/websocket/go.mod create mode 100644 vendor/github.com/gorilla/websocket/go.sum create mode 100644 vendor/github.com/gorilla/websocket/join.go create mode 100644 vendor/github.com/gorilla/websocket/json.go create mode 100644 vendor/github.com/gorilla/websocket/mask.go create mode 100644 vendor/github.com/gorilla/websocket/mask_safe.go create mode 100644 vendor/github.com/gorilla/websocket/prepared.go create mode 100644 vendor/github.com/gorilla/websocket/proxy.go create mode 100644 vendor/github.com/gorilla/websocket/server.go create mode 100644 vendor/github.com/gorilla/websocket/trace.go create mode 100644 vendor/github.com/gorilla/websocket/trace_17.go create mode 100644 vendor/github.com/gorilla/websocket/util.go create mode 100644 vendor/github.com/gorilla/websocket/x_net_proxy.go create mode 100644 vendor/github.com/h2non/filetype/.editorconfig create mode 100644 vendor/github.com/h2non/filetype/.gitignore create mode 100644 vendor/github.com/h2non/filetype/.travis.yml create mode 100644 vendor/github.com/h2non/filetype/History.md create mode 100644 vendor/github.com/h2non/filetype/LICENSE create mode 100644 vendor/github.com/h2non/filetype/README.md create mode 100644 vendor/github.com/h2non/filetype/filetype.go create mode 100644 vendor/github.com/h2non/filetype/go.mod create mode 100644 vendor/github.com/h2non/filetype/kind.go create mode 100644 vendor/github.com/h2non/filetype/match.go create mode 100644 vendor/github.com/h2non/filetype/matchers/application.go create mode 100644 vendor/github.com/h2non/filetype/matchers/archive.go create mode 100644 vendor/github.com/h2non/filetype/matchers/audio.go create mode 100644 vendor/github.com/h2non/filetype/matchers/document.go create mode 100644 vendor/github.com/h2non/filetype/matchers/font.go create mode 100644 vendor/github.com/h2non/filetype/matchers/image.go create mode 100644 vendor/github.com/h2non/filetype/matchers/isobmff/isobmff.go create mode 100644 vendor/github.com/h2non/filetype/matchers/matchers.go create mode 100644 vendor/github.com/h2non/filetype/matchers/video.go create mode 100644 vendor/github.com/h2non/filetype/types/defaults.go create mode 100644 vendor/github.com/h2non/filetype/types/mime.go create mode 100644 vendor/github.com/h2non/filetype/types/split.go create mode 100644 vendor/github.com/h2non/filetype/types/type.go create mode 100644 vendor/github.com/h2non/filetype/types/types.go create mode 100644 vendor/github.com/h2non/filetype/version.go create mode 100644 vendor/github.com/jinzhu/inflection/LICENSE create mode 100644 vendor/github.com/jinzhu/inflection/README.md create mode 100644 vendor/github.com/jinzhu/inflection/go.mod create mode 100644 vendor/github.com/jinzhu/inflection/inflections.go create mode 100644 vendor/github.com/jinzhu/inflection/wercker.yml create mode 100644 vendor/github.com/json-iterator/go/.codecov.yml create mode 100644 vendor/github.com/json-iterator/go/.gitignore create mode 100644 vendor/github.com/json-iterator/go/.travis.yml create mode 100644 vendor/github.com/json-iterator/go/Gopkg.lock create mode 100644 vendor/github.com/json-iterator/go/Gopkg.toml create mode 100644 vendor/github.com/json-iterator/go/LICENSE create mode 100644 vendor/github.com/json-iterator/go/README.md create mode 100644 vendor/github.com/json-iterator/go/adapter.go create mode 100644 vendor/github.com/json-iterator/go/any.go create mode 100644 vendor/github.com/json-iterator/go/any_array.go create mode 100644 vendor/github.com/json-iterator/go/any_bool.go create mode 100644 vendor/github.com/json-iterator/go/any_float.go create mode 100644 vendor/github.com/json-iterator/go/any_int32.go create mode 100644 vendor/github.com/json-iterator/go/any_int64.go create mode 100644 vendor/github.com/json-iterator/go/any_invalid.go create mode 100644 vendor/github.com/json-iterator/go/any_nil.go create mode 100644 vendor/github.com/json-iterator/go/any_number.go create mode 100644 vendor/github.com/json-iterator/go/any_object.go create mode 100644 vendor/github.com/json-iterator/go/any_str.go create mode 100644 vendor/github.com/json-iterator/go/any_uint32.go create mode 100644 vendor/github.com/json-iterator/go/any_uint64.go create mode 100644 vendor/github.com/json-iterator/go/build.sh create mode 100644 vendor/github.com/json-iterator/go/config.go create mode 100644 vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md create mode 100644 vendor/github.com/json-iterator/go/go.mod create mode 100644 vendor/github.com/json-iterator/go/go.sum create mode 100644 vendor/github.com/json-iterator/go/iter.go create mode 100644 vendor/github.com/json-iterator/go/iter_array.go create mode 100644 vendor/github.com/json-iterator/go/iter_float.go create mode 100644 vendor/github.com/json-iterator/go/iter_int.go create mode 100644 vendor/github.com/json-iterator/go/iter_object.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip_sloppy.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip_strict.go create mode 100644 vendor/github.com/json-iterator/go/iter_str.go create mode 100644 vendor/github.com/json-iterator/go/jsoniter.go create mode 100644 vendor/github.com/json-iterator/go/pool.go create mode 100644 vendor/github.com/json-iterator/go/reflect.go create mode 100644 vendor/github.com/json-iterator/go/reflect_array.go create mode 100644 vendor/github.com/json-iterator/go/reflect_dynamic.go create mode 100644 vendor/github.com/json-iterator/go/reflect_extension.go create mode 100644 vendor/github.com/json-iterator/go/reflect_json_number.go create mode 100644 vendor/github.com/json-iterator/go/reflect_json_raw_message.go create mode 100644 vendor/github.com/json-iterator/go/reflect_map.go create mode 100644 vendor/github.com/json-iterator/go/reflect_marshaler.go create mode 100644 vendor/github.com/json-iterator/go/reflect_native.go create mode 100644 vendor/github.com/json-iterator/go/reflect_optional.go create mode 100644 vendor/github.com/json-iterator/go/reflect_slice.go create mode 100644 vendor/github.com/json-iterator/go/reflect_struct_decoder.go create mode 100644 vendor/github.com/json-iterator/go/reflect_struct_encoder.go create mode 100644 vendor/github.com/json-iterator/go/stream.go create mode 100644 vendor/github.com/json-iterator/go/stream_float.go create mode 100644 vendor/github.com/json-iterator/go/stream_int.go create mode 100644 vendor/github.com/json-iterator/go/stream_str.go create mode 100644 vendor/github.com/json-iterator/go/test.sh create mode 100644 vendor/github.com/leodido/go-urn/.gitignore create mode 100644 vendor/github.com/leodido/go-urn/.travis.yml create mode 100644 vendor/github.com/leodido/go-urn/LICENSE create mode 100644 vendor/github.com/leodido/go-urn/README.md create mode 100644 vendor/github.com/leodido/go-urn/go.mod create mode 100644 vendor/github.com/leodido/go-urn/go.sum create mode 100644 vendor/github.com/leodido/go-urn/machine.go create mode 100644 vendor/github.com/leodido/go-urn/machine.go.rl create mode 100644 vendor/github.com/leodido/go-urn/makefile create mode 100644 vendor/github.com/leodido/go-urn/urn.go create mode 100644 vendor/github.com/mattn/go-isatty/.travis.yml create mode 100644 vendor/github.com/mattn/go-isatty/LICENSE create mode 100644 vendor/github.com/mattn/go-isatty/README.md create mode 100644 vendor/github.com/mattn/go-isatty/doc.go create mode 100644 vendor/github.com/mattn/go-isatty/go.mod create mode 100644 vendor/github.com/mattn/go-isatty/go.sum create mode 100644 vendor/github.com/mattn/go-isatty/go.test.sh create mode 100644 vendor/github.com/mattn/go-isatty/isatty_bsd.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_others.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_plan9.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_solaris.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_tcgets.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_windows.go create mode 100644 vendor/github.com/microcosm-cc/bluemonday/.coveralls.yml create mode 100644 vendor/github.com/microcosm-cc/bluemonday/.gitignore create mode 100644 vendor/github.com/microcosm-cc/bluemonday/.travis.yml create mode 100644 vendor/github.com/microcosm-cc/bluemonday/CONTRIBUTING.md create mode 100644 vendor/github.com/microcosm-cc/bluemonday/CREDITS.md create mode 100644 vendor/github.com/microcosm-cc/bluemonday/LICENSE.md create mode 100644 vendor/github.com/microcosm-cc/bluemonday/Makefile create mode 100644 vendor/github.com/microcosm-cc/bluemonday/README.md create mode 100644 vendor/github.com/microcosm-cc/bluemonday/SECURITY.md create mode 100644 vendor/github.com/microcosm-cc/bluemonday/css/handlers.go create mode 100644 vendor/github.com/microcosm-cc/bluemonday/doc.go create mode 100644 vendor/github.com/microcosm-cc/bluemonday/go.mod create mode 100644 vendor/github.com/microcosm-cc/bluemonday/go.sum create mode 100644 vendor/github.com/microcosm-cc/bluemonday/helpers.go create mode 100644 vendor/github.com/microcosm-cc/bluemonday/policies.go create mode 100644 vendor/github.com/microcosm-cc/bluemonday/policy.go create mode 100644 vendor/github.com/microcosm-cc/bluemonday/sanitize.go create mode 100644 vendor/github.com/microcosm-cc/bluemonday/stringwriterwriter_go1.12.go create mode 100644 vendor/github.com/microcosm-cc/bluemonday/stringwriterwriter_ltgo1.12.go create mode 100644 vendor/github.com/modern-go/concurrent/.gitignore create mode 100644 vendor/github.com/modern-go/concurrent/.travis.yml create mode 100644 vendor/github.com/modern-go/concurrent/LICENSE create mode 100644 vendor/github.com/modern-go/concurrent/README.md create mode 100644 vendor/github.com/modern-go/concurrent/executor.go create mode 100644 vendor/github.com/modern-go/concurrent/go_above_19.go create mode 100644 vendor/github.com/modern-go/concurrent/go_below_19.go create mode 100644 vendor/github.com/modern-go/concurrent/log.go create mode 100644 vendor/github.com/modern-go/concurrent/test.sh create mode 100644 vendor/github.com/modern-go/concurrent/unbounded_executor.go create mode 100644 vendor/github.com/modern-go/reflect2/.gitignore create mode 100644 vendor/github.com/modern-go/reflect2/.travis.yml create mode 100644 vendor/github.com/modern-go/reflect2/Gopkg.lock create mode 100644 vendor/github.com/modern-go/reflect2/Gopkg.toml create mode 100644 vendor/github.com/modern-go/reflect2/LICENSE create mode 100644 vendor/github.com/modern-go/reflect2/README.md create mode 100644 vendor/github.com/modern-go/reflect2/go_above_17.go create mode 100644 vendor/github.com/modern-go/reflect2/go_above_19.go create mode 100644 vendor/github.com/modern-go/reflect2/go_below_17.go create mode 100644 vendor/github.com/modern-go/reflect2/go_below_19.go create mode 100644 vendor/github.com/modern-go/reflect2/reflect2.go create mode 100644 vendor/github.com/modern-go/reflect2/reflect2_amd64.s create mode 100644 vendor/github.com/modern-go/reflect2/reflect2_kind.go create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_386.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_amd64p32.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_arm.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_arm64.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_mips64x.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_mipsx.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_ppc64x.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_s390x.s create mode 100644 vendor/github.com/modern-go/reflect2/safe_field.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_map.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_slice.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_struct.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_type.go create mode 100644 vendor/github.com/modern-go/reflect2/test.sh create mode 100644 vendor/github.com/modern-go/reflect2/type_map.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_array.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_eface.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_field.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_iface.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_link.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_map.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_ptr.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_slice.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_struct.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_type.go create mode 100644 vendor/github.com/nfnt/resize/.travis.yml create mode 100644 vendor/github.com/nfnt/resize/LICENSE create mode 100644 vendor/github.com/nfnt/resize/README.md create mode 100644 vendor/github.com/nfnt/resize/converter.go create mode 100644 vendor/github.com/nfnt/resize/filters.go create mode 100644 vendor/github.com/nfnt/resize/nearest.go create mode 100644 vendor/github.com/nfnt/resize/resize.go create mode 100644 vendor/github.com/nfnt/resize/thumbnail.go create mode 100644 vendor/github.com/nfnt/resize/ycc.go create mode 100644 vendor/github.com/oklog/ulid/.gitignore create mode 100644 vendor/github.com/oklog/ulid/.travis.yml create mode 100644 vendor/github.com/oklog/ulid/AUTHORS.md create mode 100644 vendor/github.com/oklog/ulid/CHANGELOG.md create mode 100644 vendor/github.com/oklog/ulid/CONTRIBUTING.md create mode 100644 vendor/github.com/oklog/ulid/Gopkg.lock create mode 100644 vendor/github.com/oklog/ulid/Gopkg.toml create mode 100644 vendor/github.com/oklog/ulid/LICENSE create mode 100644 vendor/github.com/oklog/ulid/README.md create mode 100644 vendor/github.com/oklog/ulid/ulid.go create mode 100644 vendor/github.com/pmezard/go-difflib/LICENSE create mode 100644 vendor/github.com/pmezard/go-difflib/difflib/difflib.go create mode 100644 vendor/github.com/quasoft/memstore/.gitignore create mode 100644 vendor/github.com/quasoft/memstore/.travis.yml create mode 100644 vendor/github.com/quasoft/memstore/LICENSE create mode 100644 vendor/github.com/quasoft/memstore/README.md create mode 100644 vendor/github.com/quasoft/memstore/cache.go create mode 100644 vendor/github.com/quasoft/memstore/memstore.go create mode 100644 vendor/github.com/russross/blackfriday/v2/.gitignore create mode 100644 vendor/github.com/russross/blackfriday/v2/.travis.yml create mode 100644 vendor/github.com/russross/blackfriday/v2/LICENSE.txt create mode 100644 vendor/github.com/russross/blackfriday/v2/README.md create mode 100644 vendor/github.com/russross/blackfriday/v2/block.go create mode 100644 vendor/github.com/russross/blackfriday/v2/doc.go create mode 100644 vendor/github.com/russross/blackfriday/v2/entities.go create mode 100644 vendor/github.com/russross/blackfriday/v2/esc.go create mode 100644 vendor/github.com/russross/blackfriday/v2/go.mod create mode 100644 vendor/github.com/russross/blackfriday/v2/html.go create mode 100644 vendor/github.com/russross/blackfriday/v2/inline.go create mode 100644 vendor/github.com/russross/blackfriday/v2/markdown.go create mode 100644 vendor/github.com/russross/blackfriday/v2/node.go create mode 100644 vendor/github.com/russross/blackfriday/v2/smartypants.go create mode 100644 vendor/github.com/sirupsen/logrus/.gitignore create mode 100644 vendor/github.com/sirupsen/logrus/.golangci.yml create mode 100644 vendor/github.com/sirupsen/logrus/.travis.yml create mode 100644 vendor/github.com/sirupsen/logrus/CHANGELOG.md create mode 100644 vendor/github.com/sirupsen/logrus/LICENSE create mode 100644 vendor/github.com/sirupsen/logrus/README.md create mode 100644 vendor/github.com/sirupsen/logrus/alt_exit.go create mode 100644 vendor/github.com/sirupsen/logrus/appveyor.yml create mode 100644 vendor/github.com/sirupsen/logrus/buffer_pool.go create mode 100644 vendor/github.com/sirupsen/logrus/doc.go create mode 100644 vendor/github.com/sirupsen/logrus/entry.go create mode 100644 vendor/github.com/sirupsen/logrus/exported.go create mode 100644 vendor/github.com/sirupsen/logrus/formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/go.mod create mode 100644 vendor/github.com/sirupsen/logrus/go.sum create mode 100644 vendor/github.com/sirupsen/logrus/hooks.go create mode 100644 vendor/github.com/sirupsen/logrus/json_formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/logger.go create mode 100644 vendor/github.com/sirupsen/logrus/logrus.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_appengine.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_bsd.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_js.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_solaris.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_unix.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_windows.go create mode 100644 vendor/github.com/sirupsen/logrus/text_formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/writer.go create mode 100644 vendor/github.com/stretchr/testify/LICENSE create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_compare.go create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_format.go create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_forward.go create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_order.go create mode 100644 vendor/github.com/stretchr/testify/assert/assertions.go create mode 100644 vendor/github.com/stretchr/testify/assert/doc.go create mode 100644 vendor/github.com/stretchr/testify/assert/errors.go create mode 100644 vendor/github.com/stretchr/testify/assert/forward_assertions.go create mode 100644 vendor/github.com/stretchr/testify/assert/http_assertions.go create mode 100644 vendor/github.com/stretchr/testify/require/doc.go create mode 100644 vendor/github.com/stretchr/testify/require/forward_requirements.go create mode 100644 vendor/github.com/stretchr/testify/require/require.go create mode 100644 vendor/github.com/stretchr/testify/require/require.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/require/require_forward.go create mode 100644 vendor/github.com/stretchr/testify/require/require_forward.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/require/requirements.go create mode 100644 vendor/github.com/stretchr/testify/suite/doc.go create mode 100644 vendor/github.com/stretchr/testify/suite/interfaces.go create mode 100644 vendor/github.com/stretchr/testify/suite/stats.go create mode 100644 vendor/github.com/stretchr/testify/suite/suite.go create mode 100644 vendor/github.com/superseriousbusiness/exifremove/LICENSE create mode 100644 vendor/github.com/superseriousbusiness/exifremove/pkg/exifremove/exifremove.go create mode 100644 vendor/github.com/superseriousbusiness/exifremove/pkg/exifremove/png_crc_fix.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/.gitignore create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/.travis.yml create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/LICENSE create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/README.md create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/const.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/doc.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/errors/error.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/errors/response.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/generate.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/generates/access.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/generates/authorize.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/generates/jwt_access.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/go.mod create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/go.sum create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/go.test.sh create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/manage.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/manage/config.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/manage/manager.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/manage/util.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/model.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/models/client.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/models/token.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/server/config.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/server/handler.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/server/server.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/server/server_config.go create mode 100644 vendor/github.com/superseriousbusiness/oauth2/v4/store.go create mode 100644 vendor/github.com/tmthrgd/go-hex/.travis.yml create mode 100644 vendor/github.com/tmthrgd/go-hex/LICENSE create mode 100644 vendor/github.com/tmthrgd/go-hex/README.md create mode 100644 vendor/github.com/tmthrgd/go-hex/hex.go create mode 100644 vendor/github.com/tmthrgd/go-hex/hex_amd64.go create mode 100644 vendor/github.com/tmthrgd/go-hex/hex_decode_amd64.s create mode 100644 vendor/github.com/tmthrgd/go-hex/hex_encode_amd64.s create mode 100644 vendor/github.com/tmthrgd/go-hex/hex_other.go create mode 100644 vendor/github.com/ugorji/go/codec/0_importpath.go create mode 100644 vendor/github.com/ugorji/go/codec/LICENSE create mode 100644 vendor/github.com/ugorji/go/codec/README.md create mode 100644 vendor/github.com/ugorji/go/codec/binc.go create mode 100644 vendor/github.com/ugorji/go/codec/build.sh create mode 100644 vendor/github.com/ugorji/go/codec/cbor.go create mode 100644 vendor/github.com/ugorji/go/codec/codecgen.go create mode 100644 vendor/github.com/ugorji/go/codec/decimal.go create mode 100644 vendor/github.com/ugorji/go/codec/decode.go create mode 100644 vendor/github.com/ugorji/go/codec/doc.go create mode 100644 vendor/github.com/ugorji/go/codec/encode.go create mode 100644 vendor/github.com/ugorji/go/codec/fast-path.generated.go create mode 100644 vendor/github.com/ugorji/go/codec/fast-path.go.tmpl create mode 100644 vendor/github.com/ugorji/go/codec/fast-path.not.go create mode 100644 vendor/github.com/ugorji/go/codec/gen-dec-array.go.tmpl create mode 100644 vendor/github.com/ugorji/go/codec/gen-dec-map.go.tmpl create mode 100644 vendor/github.com/ugorji/go/codec/gen-enc-chan.go.tmpl create mode 100644 vendor/github.com/ugorji/go/codec/gen-helper.generated.go create mode 100644 vendor/github.com/ugorji/go/codec/gen-helper.go.tmpl create mode 100644 vendor/github.com/ugorji/go/codec/gen.generated.go create mode 100644 vendor/github.com/ugorji/go/codec/gen.go create mode 100644 vendor/github.com/ugorji/go/codec/go.mod create mode 100644 vendor/github.com/ugorji/go/codec/goversion_arrayof_gte_go15.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_arrayof_lt_go15.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_fmt_time_gte_go15.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_fmt_time_lt_go15.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_makemap_lt_go110.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_makemap_not_unsafe_gte_go110.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_makemap_unsafe_gte_go110.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_maprange_gte_go112.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_maprange_lt_go112.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_unexportedembeddedptr_gte_go110.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_unexportedembeddedptr_lt_go110.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_unsupported_lt_go14.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_vendor_eq_go15.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_vendor_eq_go16.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_vendor_gte_go17.go create mode 100644 vendor/github.com/ugorji/go/codec/goversion_vendor_lt_go15.go create mode 100644 vendor/github.com/ugorji/go/codec/helper.go create mode 100644 vendor/github.com/ugorji/go/codec/helper.s create mode 100644 vendor/github.com/ugorji/go/codec/helper_internal.go create mode 100644 vendor/github.com/ugorji/go/codec/helper_not_unsafe.go create mode 100644 vendor/github.com/ugorji/go/codec/helper_not_unsafe_not_gc.go create mode 100644 vendor/github.com/ugorji/go/codec/helper_unsafe.go create mode 100644 vendor/github.com/ugorji/go/codec/helper_unsafe_compiler_gc.go create mode 100644 vendor/github.com/ugorji/go/codec/helper_unsafe_compiler_not_gc.go create mode 100644 vendor/github.com/ugorji/go/codec/json.go create mode 100644 vendor/github.com/ugorji/go/codec/mammoth-test.go.tmpl create mode 100644 vendor/github.com/ugorji/go/codec/mammoth2-test.go.tmpl create mode 100644 vendor/github.com/ugorji/go/codec/msgpack.go create mode 100644 vendor/github.com/ugorji/go/codec/reader.go create mode 100644 vendor/github.com/ugorji/go/codec/register_ext.go create mode 100644 vendor/github.com/ugorji/go/codec/rpc.go create mode 100644 vendor/github.com/ugorji/go/codec/simple.go create mode 100644 vendor/github.com/ugorji/go/codec/sort-slice.generated.go create mode 100644 vendor/github.com/ugorji/go/codec/sort-slice.go.tmpl create mode 100644 vendor/github.com/ugorji/go/codec/test-cbor-goldens.json create mode 100644 vendor/github.com/ugorji/go/codec/test.py create mode 100644 vendor/github.com/ugorji/go/codec/writer.go create mode 100644 vendor/github.com/urfave/cli/v2/.flake8 create mode 100644 vendor/github.com/urfave/cli/v2/.gitignore create mode 100644 vendor/github.com/urfave/cli/v2/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/urfave/cli/v2/LICENSE create mode 100644 vendor/github.com/urfave/cli/v2/README.md create mode 100644 vendor/github.com/urfave/cli/v2/app.go create mode 100644 vendor/github.com/urfave/cli/v2/args.go create mode 100644 vendor/github.com/urfave/cli/v2/category.go create mode 100644 vendor/github.com/urfave/cli/v2/cli.go create mode 100644 vendor/github.com/urfave/cli/v2/command.go create mode 100644 vendor/github.com/urfave/cli/v2/context.go create mode 100644 vendor/github.com/urfave/cli/v2/docs.go create mode 100644 vendor/github.com/urfave/cli/v2/errors.go create mode 100644 vendor/github.com/urfave/cli/v2/fish.go create mode 100644 vendor/github.com/urfave/cli/v2/flag.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_bool.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_duration.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_float64.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_float64_slice.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_generic.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_int.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_int64.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_int64_slice.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_int_slice.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_path.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_string.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_string_slice.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_timestamp.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_uint.go create mode 100644 vendor/github.com/urfave/cli/v2/flag_uint64.go create mode 100644 vendor/github.com/urfave/cli/v2/funcs.go create mode 100644 vendor/github.com/urfave/cli/v2/go.mod create mode 100644 vendor/github.com/urfave/cli/v2/go.sum create mode 100644 vendor/github.com/urfave/cli/v2/help.go create mode 100644 vendor/github.com/urfave/cli/v2/parse.go create mode 100644 vendor/github.com/urfave/cli/v2/sort.go create mode 100644 vendor/github.com/urfave/cli/v2/template.go create mode 100644 vendor/github.com/vmihailenco/bufpool/.travis.yml create mode 100644 vendor/github.com/vmihailenco/bufpool/LICENSE create mode 100644 vendor/github.com/vmihailenco/bufpool/Makefile create mode 100644 vendor/github.com/vmihailenco/bufpool/README.md create mode 100644 vendor/github.com/vmihailenco/bufpool/buf_pool.go create mode 100644 vendor/github.com/vmihailenco/bufpool/buffer.go create mode 100644 vendor/github.com/vmihailenco/bufpool/buffer_ext.go create mode 100644 vendor/github.com/vmihailenco/bufpool/go.mod create mode 100644 vendor/github.com/vmihailenco/bufpool/go.sum create mode 100644 vendor/github.com/vmihailenco/bufpool/pool.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/.golangci.yml create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/.prettierrc create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/.travis.yml create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/CHANGELOG.md create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/LICENSE create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/Makefile create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/README.md create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/decode.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/decode_map.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/decode_number.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/decode_query.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/decode_slice.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/decode_string.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/decode_value.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/encode.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/encode_map.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/encode_number.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/encode_slice.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/encode_value.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/ext.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/go.mod create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/go.sum create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/intern.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/msgpack.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/msgpcode/msgpcode.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/safe.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/time.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/types.go create mode 100644 vendor/github.com/vmihailenco/msgpack/v5/unsafe.go create mode 100644 vendor/github.com/vmihailenco/tagparser/.travis.yml create mode 100644 vendor/github.com/vmihailenco/tagparser/LICENSE create mode 100644 vendor/github.com/vmihailenco/tagparser/Makefile create mode 100644 vendor/github.com/vmihailenco/tagparser/README.md create mode 100644 vendor/github.com/vmihailenco/tagparser/go.mod create mode 100644 vendor/github.com/vmihailenco/tagparser/internal/parser/parser.go create mode 100644 vendor/github.com/vmihailenco/tagparser/internal/safe.go create mode 100644 vendor/github.com/vmihailenco/tagparser/internal/unsafe.go create mode 100644 vendor/github.com/vmihailenco/tagparser/tagparser.go create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/.travis.yml create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/LICENSE create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/Makefile create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/README.md create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/go.mod create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/internal/parser/parser.go create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/internal/safe.go create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/internal/unsafe.go create mode 100644 vendor/github.com/vmihailenco/tagparser/v2/tagparser.go create mode 100644 vendor/github.com/wagslane/go-password-validator/LICENSE create mode 100644 vendor/github.com/wagslane/go-password-validator/Makefile create mode 100644 vendor/github.com/wagslane/go-password-validator/README.md create mode 100644 vendor/github.com/wagslane/go-password-validator/base.go create mode 100644 vendor/github.com/wagslane/go-password-validator/entropy.go create mode 100644 vendor/github.com/wagslane/go-password-validator/go.mod create mode 100644 vendor/github.com/wagslane/go-password-validator/length.go create mode 100644 vendor/github.com/wagslane/go-password-validator/validate.go create mode 100644 vendor/golang.org/x/crypto/AUTHORS create mode 100644 vendor/golang.org/x/crypto/CONTRIBUTORS create mode 100644 vendor/golang.org/x/crypto/LICENSE create mode 100644 vendor/golang.org/x/crypto/PATENTS create mode 100644 vendor/golang.org/x/crypto/acme/acme.go create mode 100644 vendor/golang.org/x/crypto/acme/autocert/autocert.go create mode 100644 vendor/golang.org/x/crypto/acme/autocert/cache.go create mode 100644 vendor/golang.org/x/crypto/acme/autocert/listener.go create mode 100644 vendor/golang.org/x/crypto/acme/autocert/renewal.go create mode 100644 vendor/golang.org/x/crypto/acme/http.go create mode 100644 vendor/golang.org/x/crypto/acme/jws.go create mode 100644 vendor/golang.org/x/crypto/acme/rfc8555.go create mode 100644 vendor/golang.org/x/crypto/acme/types.go create mode 100644 vendor/golang.org/x/crypto/acme/version_go112.go create mode 100644 vendor/golang.org/x/crypto/bcrypt/base64.go create mode 100644 vendor/golang.org/x/crypto/bcrypt/bcrypt.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.s create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b_amd64.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b_amd64.s create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b_generic.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b_ref.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2x.go create mode 100644 vendor/golang.org/x/crypto/blake2b/register.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_386.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_386.s create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_amd64.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_amd64.s create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_generic.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_ref.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2x.go create mode 100644 vendor/golang.org/x/crypto/blake2s/register.go create mode 100644 vendor/golang.org/x/crypto/blowfish/block.go create mode 100644 vendor/golang.org/x/crypto/blowfish/cipher.go create mode 100644 vendor/golang.org/x/crypto/blowfish/const.go create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_arm64.go create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_arm64.s create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_generic.go create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_noasm.go create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_ppc64le.go create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_ppc64le.s create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_s390x.go create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_s390x.s create mode 100644 vendor/golang.org/x/crypto/chacha20/xor.go create mode 100644 vendor/golang.org/x/crypto/curve25519/curve25519.go create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/README create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/fe.go create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/fe_amd64.go create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/fe_amd64.s create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/fe_amd64_noasm.go create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/fe_arm64.go create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/fe_arm64.s create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/fe_arm64_noasm.go create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/fe_generic.go create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/sync.checkpoint create mode 100644 vendor/golang.org/x/crypto/curve25519/internal/field/sync.sh create mode 100644 vendor/golang.org/x/crypto/ed25519/ed25519.go create mode 100644 vendor/golang.org/x/crypto/ed25519/ed25519_go113.go create mode 100644 vendor/golang.org/x/crypto/ed25519/internal/edwards25519/const.go create mode 100644 vendor/golang.org/x/crypto/ed25519/internal/edwards25519/edwards25519.go create mode 100644 vendor/golang.org/x/crypto/internal/subtle/aliasing.go create mode 100644 vendor/golang.org/x/crypto/internal/subtle/aliasing_purego.go create mode 100644 vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go create mode 100644 vendor/golang.org/x/crypto/poly1305/bits_compat.go create mode 100644 vendor/golang.org/x/crypto/poly1305/bits_go1.13.go create mode 100644 vendor/golang.org/x/crypto/poly1305/mac_noasm.go create mode 100644 vendor/golang.org/x/crypto/poly1305/poly1305.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_amd64.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_amd64.s create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_generic.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_ppc64le.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_ppc64le.s create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_s390x.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_s390x.s create mode 100644 vendor/golang.org/x/crypto/ripemd160/ripemd160.go create mode 100644 vendor/golang.org/x/crypto/ripemd160/ripemd160block.go create mode 100644 vendor/golang.org/x/crypto/sha3/doc.go create mode 100644 vendor/golang.org/x/crypto/sha3/hashes.go create mode 100644 vendor/golang.org/x/crypto/sha3/hashes_generic.go create mode 100644 vendor/golang.org/x/crypto/sha3/keccakf.go create mode 100644 vendor/golang.org/x/crypto/sha3/keccakf_amd64.go create mode 100644 vendor/golang.org/x/crypto/sha3/keccakf_amd64.s create mode 100644 vendor/golang.org/x/crypto/sha3/register.go create mode 100644 vendor/golang.org/x/crypto/sha3/sha3.go create mode 100644 vendor/golang.org/x/crypto/sha3/sha3_s390x.go create mode 100644 vendor/golang.org/x/crypto/sha3/sha3_s390x.s create mode 100644 vendor/golang.org/x/crypto/sha3/shake.go create mode 100644 vendor/golang.org/x/crypto/sha3/shake_generic.go create mode 100644 vendor/golang.org/x/crypto/sha3/xor.go create mode 100644 vendor/golang.org/x/crypto/sha3/xor_generic.go create mode 100644 vendor/golang.org/x/crypto/sha3/xor_unaligned.go create mode 100644 vendor/golang.org/x/crypto/ssh/buffer.go create mode 100644 vendor/golang.org/x/crypto/ssh/certs.go create mode 100644 vendor/golang.org/x/crypto/ssh/channel.go create mode 100644 vendor/golang.org/x/crypto/ssh/cipher.go create mode 100644 vendor/golang.org/x/crypto/ssh/client.go create mode 100644 vendor/golang.org/x/crypto/ssh/client_auth.go create mode 100644 vendor/golang.org/x/crypto/ssh/common.go create mode 100644 vendor/golang.org/x/crypto/ssh/connection.go create mode 100644 vendor/golang.org/x/crypto/ssh/doc.go create mode 100644 vendor/golang.org/x/crypto/ssh/handshake.go create mode 100644 vendor/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf/bcrypt_pbkdf.go create mode 100644 vendor/golang.org/x/crypto/ssh/kex.go create mode 100644 vendor/golang.org/x/crypto/ssh/keys.go create mode 100644 vendor/golang.org/x/crypto/ssh/mac.go create mode 100644 vendor/golang.org/x/crypto/ssh/messages.go create mode 100644 vendor/golang.org/x/crypto/ssh/mux.go create mode 100644 vendor/golang.org/x/crypto/ssh/server.go create mode 100644 vendor/golang.org/x/crypto/ssh/session.go create mode 100644 vendor/golang.org/x/crypto/ssh/ssh_gss.go create mode 100644 vendor/golang.org/x/crypto/ssh/streamlocal.go create mode 100644 vendor/golang.org/x/crypto/ssh/tcpip.go create mode 100644 vendor/golang.org/x/crypto/ssh/transport.go create mode 100644 vendor/golang.org/x/net/AUTHORS create mode 100644 vendor/golang.org/x/net/CONTRIBUTORS create mode 100644 vendor/golang.org/x/net/LICENSE create mode 100644 vendor/golang.org/x/net/PATENTS create mode 100644 vendor/golang.org/x/net/context/context.go create mode 100644 vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go create mode 100644 vendor/golang.org/x/net/context/go17.go create mode 100644 vendor/golang.org/x/net/context/go19.go create mode 100644 vendor/golang.org/x/net/context/pre_go17.go create mode 100644 vendor/golang.org/x/net/context/pre_go19.go create mode 100644 vendor/golang.org/x/net/html/atom/atom.go create mode 100644 vendor/golang.org/x/net/html/atom/table.go create mode 100644 vendor/golang.org/x/net/html/const.go create mode 100644 vendor/golang.org/x/net/html/doc.go create mode 100644 vendor/golang.org/x/net/html/doctype.go create mode 100644 vendor/golang.org/x/net/html/entity.go create mode 100644 vendor/golang.org/x/net/html/escape.go create mode 100644 vendor/golang.org/x/net/html/foreign.go create mode 100644 vendor/golang.org/x/net/html/node.go create mode 100644 vendor/golang.org/x/net/html/parse.go create mode 100644 vendor/golang.org/x/net/html/render.go create mode 100644 vendor/golang.org/x/net/html/token.go create mode 100644 vendor/golang.org/x/net/idna/idna10.0.0.go create mode 100644 vendor/golang.org/x/net/idna/idna9.0.0.go create mode 100644 vendor/golang.org/x/net/idna/punycode.go create mode 100644 vendor/golang.org/x/net/idna/tables10.0.0.go create mode 100644 vendor/golang.org/x/net/idna/tables11.0.0.go create mode 100644 vendor/golang.org/x/net/idna/tables12.0.0.go create mode 100644 vendor/golang.org/x/net/idna/tables13.0.0.go create mode 100644 vendor/golang.org/x/net/idna/tables9.0.0.go create mode 100644 vendor/golang.org/x/net/idna/trie.go create mode 100644 vendor/golang.org/x/net/idna/trieval.go create mode 100644 vendor/golang.org/x/oauth2/.travis.yml create mode 100644 vendor/golang.org/x/oauth2/AUTHORS create mode 100644 vendor/golang.org/x/oauth2/CONTRIBUTING.md create mode 100644 vendor/golang.org/x/oauth2/CONTRIBUTORS create mode 100644 vendor/golang.org/x/oauth2/LICENSE create mode 100644 vendor/golang.org/x/oauth2/README.md create mode 100644 vendor/golang.org/x/oauth2/go.mod create mode 100644 vendor/golang.org/x/oauth2/go.sum create mode 100644 vendor/golang.org/x/oauth2/internal/client_appengine.go create mode 100644 vendor/golang.org/x/oauth2/internal/doc.go create mode 100644 vendor/golang.org/x/oauth2/internal/oauth2.go create mode 100644 vendor/golang.org/x/oauth2/internal/token.go create mode 100644 vendor/golang.org/x/oauth2/internal/transport.go create mode 100644 vendor/golang.org/x/oauth2/oauth2.go create mode 100644 vendor/golang.org/x/oauth2/token.go create mode 100644 vendor/golang.org/x/oauth2/transport.go create mode 100644 vendor/golang.org/x/sys/AUTHORS create mode 100644 vendor/golang.org/x/sys/CONTRIBUTORS create mode 100644 vendor/golang.org/x/sys/LICENSE create mode 100644 vendor/golang.org/x/sys/PATENTS create mode 100644 vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s create mode 100644 vendor/golang.org/x/sys/cpu/byteorder.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_aix.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_arm.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_arm64.s create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gc_x86.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux_arm.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_mips64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_mipsx.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_other_arm.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_other_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_ppc64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_riscv64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_s390x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_s390x.s create mode 100644 vendor/golang.org/x/sys/cpu/cpu_wasm.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_x86.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_x86.s create mode 100644 vendor/golang.org/x/sys/cpu/cpu_zos.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go create mode 100644 vendor/golang.org/x/sys/cpu/hwcap_linux.go create mode 100644 vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go create mode 100644 vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go create mode 100644 vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go create mode 100644 vendor/golang.org/x/sys/unix/.gitignore create mode 100644 vendor/golang.org/x/sys/unix/README.md create mode 100644 vendor/golang.org/x/sys/unix/affinity_linux.go create mode 100644 vendor/golang.org/x/sys/unix/aliases.go create mode 100644 vendor/golang.org/x/sys/unix/asm_aix_ppc64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_bsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_bsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_bsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_bsd_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mips64x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mipsx.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_riscv64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_s390x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_solaris_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_zos_s390x.s create mode 100644 vendor/golang.org/x/sys/unix/bluetooth_linux.go create mode 100644 vendor/golang.org/x/sys/unix/cap_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/constants.go create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/dev_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/dev_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/dev_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_linux.go create mode 100644 vendor/golang.org/x/sys/unix/dev_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_zos.go create mode 100644 vendor/golang.org/x/sys/unix/dirent.go create mode 100644 vendor/golang.org/x/sys/unix/endian_big.go create mode 100644 vendor/golang.org/x/sys/unix/endian_little.go create mode 100644 vendor/golang.org/x/sys/unix/env_unix.go create mode 100644 vendor/golang.org/x/sys/unix/epoll_zos.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/fcntl.go create mode 100644 vendor/golang.org/x/sys/unix/fcntl_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go create mode 100644 vendor/golang.org/x/sys/unix/fdset.go create mode 100644 vendor/golang.org/x/sys/unix/fstatfs_zos.go create mode 100644 vendor/golang.org/x/sys/unix/gccgo.go create mode 100644 vendor/golang.org/x/sys/unix/gccgo_c.c create mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ioctl.go create mode 100644 vendor/golang.org/x/sys/unix/ioctl_linux.go create mode 100644 vendor/golang.org/x/sys/unix/ioctl_zos.go create mode 100644 vendor/golang.org/x/sys/unix/mkall.sh create mode 100644 vendor/golang.org/x/sys/unix/mkerrors.sh create mode 100644 vendor/golang.org/x/sys/unix/pagesize_unix.go create mode 100644 vendor/golang.org/x/sys/unix/pledge_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/ptrace_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/ptrace_ios.go create mode 100644 vendor/golang.org/x/sys/unix/race.go create mode 100644 vendor/golang.org/x/sys/unix/race0.go create mode 100644 vendor/golang.org/x/sys/unix/readdirent_getdents.go create mode 100644 vendor/golang.org/x/sys/unix/readdirent_getdirentries.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_linux.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go create mode 100644 vendor/golang.org/x/sys/unix/str.go create mode 100644 vendor/golang.org/x/sys/unix/syscall.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_bsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_illumos.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_zos_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/timestruct.go create mode 100644 vendor/golang.org/x/sys/unix/unveil_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/xattr_bsd.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptrace_x86_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go create mode 100644 vendor/golang.org/x/sys/windows/aliases.go create mode 100644 vendor/golang.org/x/sys/windows/dll_windows.go create mode 100644 vendor/golang.org/x/sys/windows/empty.s create mode 100644 vendor/golang.org/x/sys/windows/env_windows.go create mode 100644 vendor/golang.org/x/sys/windows/eventlog.go create mode 100644 vendor/golang.org/x/sys/windows/exec_windows.go create mode 100644 vendor/golang.org/x/sys/windows/memory_windows.go create mode 100644 vendor/golang.org/x/sys/windows/mkerrors.bash create mode 100644 vendor/golang.org/x/sys/windows/mkknownfolderids.bash create mode 100644 vendor/golang.org/x/sys/windows/mksyscall.go create mode 100644 vendor/golang.org/x/sys/windows/race.go create mode 100644 vendor/golang.org/x/sys/windows/race0.go create mode 100644 vendor/golang.org/x/sys/windows/security_windows.go create mode 100644 vendor/golang.org/x/sys/windows/service.go create mode 100644 vendor/golang.org/x/sys/windows/setupapierrors_windows.go create mode 100644 vendor/golang.org/x/sys/windows/str.go create mode 100644 vendor/golang.org/x/sys/windows/syscall.go create mode 100644 vendor/golang.org/x/sys/windows/syscall_windows.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows_386.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows_amd64.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows_arm.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows_arm64.go create mode 100644 vendor/golang.org/x/sys/windows/zerrors_windows.go create mode 100644 vendor/golang.org/x/sys/windows/zknownfolderids_windows.go create mode 100644 vendor/golang.org/x/sys/windows/zsyscall_windows.go create mode 100644 vendor/golang.org/x/text/AUTHORS create mode 100644 vendor/golang.org/x/text/CONTRIBUTORS create mode 100644 vendor/golang.org/x/text/LICENSE create mode 100644 vendor/golang.org/x/text/PATENTS create mode 100644 vendor/golang.org/x/text/internal/language/common.go create mode 100644 vendor/golang.org/x/text/internal/language/compact.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/compact.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/language.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/parents.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/tables.go create mode 100644 vendor/golang.org/x/text/internal/language/compact/tags.go create mode 100644 vendor/golang.org/x/text/internal/language/compose.go create mode 100644 vendor/golang.org/x/text/internal/language/coverage.go create mode 100644 vendor/golang.org/x/text/internal/language/language.go create mode 100644 vendor/golang.org/x/text/internal/language/lookup.go create mode 100644 vendor/golang.org/x/text/internal/language/match.go create mode 100644 vendor/golang.org/x/text/internal/language/parse.go create mode 100644 vendor/golang.org/x/text/internal/language/tables.go create mode 100644 vendor/golang.org/x/text/internal/language/tags.go create mode 100644 vendor/golang.org/x/text/internal/tag/tag.go create mode 100644 vendor/golang.org/x/text/language/coverage.go create mode 100644 vendor/golang.org/x/text/language/doc.go create mode 100644 vendor/golang.org/x/text/language/go1_1.go create mode 100644 vendor/golang.org/x/text/language/go1_2.go create mode 100644 vendor/golang.org/x/text/language/language.go create mode 100644 vendor/golang.org/x/text/language/match.go create mode 100644 vendor/golang.org/x/text/language/parse.go create mode 100644 vendor/golang.org/x/text/language/tables.go create mode 100644 vendor/golang.org/x/text/language/tags.go create mode 100644 vendor/golang.org/x/text/secure/bidirule/bidirule.go create mode 100644 vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go create mode 100644 vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go create mode 100644 vendor/golang.org/x/text/transform/transform.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/bidi.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/bracket.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/core.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/prop.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/bidi/trieval.go create mode 100644 vendor/golang.org/x/text/unicode/norm/composition.go create mode 100644 vendor/golang.org/x/text/unicode/norm/forminfo.go create mode 100644 vendor/golang.org/x/text/unicode/norm/input.go create mode 100644 vendor/golang.org/x/text/unicode/norm/iter.go create mode 100644 vendor/golang.org/x/text/unicode/norm/normalize.go create mode 100644 vendor/golang.org/x/text/unicode/norm/readwriter.go create mode 100644 vendor/golang.org/x/text/unicode/norm/tables10.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/norm/tables11.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/norm/tables12.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/norm/tables13.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/norm/tables9.0.0.go create mode 100644 vendor/golang.org/x/text/unicode/norm/transform.go create mode 100644 vendor/golang.org/x/text/unicode/norm/trie.go create mode 100644 vendor/google.golang.org/appengine/LICENSE create mode 100644 vendor/google.golang.org/appengine/internal/api.go create mode 100644 vendor/google.golang.org/appengine/internal/api_classic.go create mode 100644 vendor/google.golang.org/appengine/internal/api_common.go create mode 100644 vendor/google.golang.org/appengine/internal/app_id.go create mode 100644 vendor/google.golang.org/appengine/internal/base/api_base.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/base/api_base.proto create mode 100644 vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto create mode 100644 vendor/google.golang.org/appengine/internal/identity.go create mode 100644 vendor/google.golang.org/appengine/internal/identity_classic.go create mode 100644 vendor/google.golang.org/appengine/internal/identity_flex.go create mode 100644 vendor/google.golang.org/appengine/internal/identity_vm.go create mode 100644 vendor/google.golang.org/appengine/internal/internal.go create mode 100644 vendor/google.golang.org/appengine/internal/log/log_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/log/log_service.proto create mode 100644 vendor/google.golang.org/appengine/internal/main.go create mode 100644 vendor/google.golang.org/appengine/internal/main_common.go create mode 100644 vendor/google.golang.org/appengine/internal/main_vm.go create mode 100644 vendor/google.golang.org/appengine/internal/metadata.go create mode 100644 vendor/google.golang.org/appengine/internal/net.go create mode 100644 vendor/google.golang.org/appengine/internal/regen.sh create mode 100644 vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto create mode 100644 vendor/google.golang.org/appengine/internal/transaction.go create mode 100644 vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go create mode 100644 vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto create mode 100644 vendor/google.golang.org/appengine/urlfetch/urlfetch.go create mode 100644 vendor/google.golang.org/protobuf/AUTHORS create mode 100644 vendor/google.golang.org/protobuf/CONTRIBUTORS create mode 100644 vendor/google.golang.org/protobuf/LICENSE create mode 100644 vendor/google.golang.org/protobuf/PATENTS create mode 100644 vendor/google.golang.org/protobuf/encoding/prototext/decode.go create mode 100644 vendor/google.golang.org/protobuf/encoding/prototext/doc.go create mode 100644 vendor/google.golang.org/protobuf/encoding/prototext/encode.go create mode 100644 vendor/google.golang.org/protobuf/encoding/protowire/wire.go create mode 100644 vendor/google.golang.org/protobuf/internal/descfmt/stringer.go create mode 100644 vendor/google.golang.org/protobuf/internal/descopts/options.go create mode 100644 vendor/google.golang.org/protobuf/internal/detrand/rand.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/defval/default.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/text/decode.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/text/doc.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/text/encode.go create mode 100644 vendor/google.golang.org/protobuf/internal/errors/errors.go create mode 100644 vendor/google.golang.org/protobuf/internal/errors/is_go112.go create mode 100644 vendor/google.golang.org/protobuf/internal/errors/is_go113.go create mode 100644 vendor/google.golang.org/protobuf/internal/filedesc/build.go create mode 100644 vendor/google.golang.org/protobuf/internal/filedesc/desc.go create mode 100644 vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go create mode 100644 vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go create mode 100644 vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go create mode 100644 vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go create mode 100644 vendor/google.golang.org/protobuf/internal/filetype/build.go create mode 100644 vendor/google.golang.org/protobuf/internal/flags/flags.go create mode 100644 vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go create mode 100644 vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/any_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/api_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/doc.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/duration_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/empty_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/goname.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/map_entry.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/struct_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/type_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/wrappers.go create mode 100644 vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/api_export.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/checkinit.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_extension.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_field.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_map.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_message.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_tables.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/convert.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/convert_list.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/convert_map.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/decode.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/encode.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/enum.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/extension.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/legacy_export.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/legacy_file.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/legacy_message.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/merge.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/merge_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/message.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/message_reflect.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/validate.go create mode 100644 vendor/google.golang.org/protobuf/internal/impl/weak.go create mode 100644 vendor/google.golang.org/protobuf/internal/order/order.go create mode 100644 vendor/google.golang.org/protobuf/internal/order/range.go create mode 100644 vendor/google.golang.org/protobuf/internal/pragma/pragma.go create mode 100644 vendor/google.golang.org/protobuf/internal/set/ints.go create mode 100644 vendor/google.golang.org/protobuf/internal/strs/strings.go create mode 100644 vendor/google.golang.org/protobuf/internal/strs/strings_pure.go create mode 100644 vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go create mode 100644 vendor/google.golang.org/protobuf/internal/version/version.go create mode 100644 vendor/google.golang.org/protobuf/proto/checkinit.go create mode 100644 vendor/google.golang.org/protobuf/proto/decode.go create mode 100644 vendor/google.golang.org/protobuf/proto/decode_gen.go create mode 100644 vendor/google.golang.org/protobuf/proto/doc.go create mode 100644 vendor/google.golang.org/protobuf/proto/encode.go create mode 100644 vendor/google.golang.org/protobuf/proto/encode_gen.go create mode 100644 vendor/google.golang.org/protobuf/proto/equal.go create mode 100644 vendor/google.golang.org/protobuf/proto/extension.go create mode 100644 vendor/google.golang.org/protobuf/proto/merge.go create mode 100644 vendor/google.golang.org/protobuf/proto/messageset.go create mode 100644 vendor/google.golang.org/protobuf/proto/proto.go create mode 100644 vendor/google.golang.org/protobuf/proto/proto_methods.go create mode 100644 vendor/google.golang.org/protobuf/proto/proto_reflect.go create mode 100644 vendor/google.golang.org/protobuf/proto/reset.go create mode 100644 vendor/google.golang.org/protobuf/proto/size.go create mode 100644 vendor/google.golang.org/protobuf/proto/size_gen.go create mode 100644 vendor/google.golang.org/protobuf/proto/wrappers.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/desc.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protodesc/proto.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/source.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/type.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/value.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go create mode 100644 vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go create mode 100644 vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go create mode 100644 vendor/google.golang.org/protobuf/runtime/protoiface/methods.go create mode 100644 vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go create mode 100644 vendor/google.golang.org/protobuf/runtime/protoimpl/version.go create mode 100644 vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/.gitcookies.sh.enc create mode 100644 vendor/gopkg.in/square/go-jose.v2/.gitignore create mode 100644 vendor/gopkg.in/square/go-jose.v2/.travis.yml create mode 100644 vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md create mode 100644 vendor/gopkg.in/square/go-jose.v2/CONTRIBUTING.md create mode 100644 vendor/gopkg.in/square/go-jose.v2/LICENSE create mode 100644 vendor/gopkg.in/square/go-jose.v2/README.md create mode 100644 vendor/gopkg.in/square/go-jose.v2/asymmetric.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/cipher/cbc_hmac.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/cipher/concat_kdf.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/cipher/ecdh_es.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/cipher/key_wrap.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/crypter.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/doc.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/encoding.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/LICENSE create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/README.md create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/decode.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/encode.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/indent.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/scanner.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/stream.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/json/tags.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/jwe.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/jwk.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/jws.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/opaque.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/shared.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/signing.go create mode 100644 vendor/gopkg.in/square/go-jose.v2/symmetric.go create mode 100644 vendor/gopkg.in/yaml.v2/.travis.yml create mode 100644 vendor/gopkg.in/yaml.v2/LICENSE create mode 100644 vendor/gopkg.in/yaml.v2/LICENSE.libyaml create mode 100644 vendor/gopkg.in/yaml.v2/NOTICE create mode 100644 vendor/gopkg.in/yaml.v2/README.md create mode 100644 vendor/gopkg.in/yaml.v2/apic.go create mode 100644 vendor/gopkg.in/yaml.v2/decode.go create mode 100644 vendor/gopkg.in/yaml.v2/emitterc.go create mode 100644 vendor/gopkg.in/yaml.v2/encode.go create mode 100644 vendor/gopkg.in/yaml.v2/go.mod create mode 100644 vendor/gopkg.in/yaml.v2/parserc.go create mode 100644 vendor/gopkg.in/yaml.v2/readerc.go create mode 100644 vendor/gopkg.in/yaml.v2/resolve.go create mode 100644 vendor/gopkg.in/yaml.v2/scannerc.go create mode 100644 vendor/gopkg.in/yaml.v2/sorter.go create mode 100644 vendor/gopkg.in/yaml.v2/writerc.go create mode 100644 vendor/gopkg.in/yaml.v2/yaml.go create mode 100644 vendor/gopkg.in/yaml.v2/yamlh.go create mode 100644 vendor/gopkg.in/yaml.v2/yamlprivateh.go create mode 100644 vendor/gopkg.in/yaml.v3/LICENSE create mode 100644 vendor/gopkg.in/yaml.v3/NOTICE create mode 100644 vendor/gopkg.in/yaml.v3/README.md create mode 100644 vendor/gopkg.in/yaml.v3/apic.go create mode 100644 vendor/gopkg.in/yaml.v3/decode.go create mode 100644 vendor/gopkg.in/yaml.v3/emitterc.go create mode 100644 vendor/gopkg.in/yaml.v3/encode.go create mode 100644 vendor/gopkg.in/yaml.v3/go.mod create mode 100644 vendor/gopkg.in/yaml.v3/parserc.go create mode 100644 vendor/gopkg.in/yaml.v3/readerc.go create mode 100644 vendor/gopkg.in/yaml.v3/resolve.go create mode 100644 vendor/gopkg.in/yaml.v3/scannerc.go create mode 100644 vendor/gopkg.in/yaml.v3/sorter.go create mode 100644 vendor/gopkg.in/yaml.v3/writerc.go create mode 100644 vendor/gopkg.in/yaml.v3/yaml.go create mode 100644 vendor/gopkg.in/yaml.v3/yamlh.go create mode 100644 vendor/gopkg.in/yaml.v3/yamlprivateh.go create mode 100644 vendor/mellium.im/sasl/.gitignore create mode 100644 vendor/mellium.im/sasl/LICENSE.md create mode 100644 vendor/mellium.im/sasl/Makefile create mode 100644 vendor/mellium.im/sasl/README.md create mode 100644 vendor/mellium.im/sasl/bitbucket-pipelines.yml create mode 100644 vendor/mellium.im/sasl/doc.go create mode 100644 vendor/mellium.im/sasl/go.mod create mode 100644 vendor/mellium.im/sasl/go.sum create mode 100644 vendor/mellium.im/sasl/mechanism.go create mode 100644 vendor/mellium.im/sasl/negotiator.go create mode 100644 vendor/mellium.im/sasl/nonce.go create mode 100644 vendor/mellium.im/sasl/options.go create mode 100644 vendor/mellium.im/sasl/plain.go create mode 100644 vendor/mellium.im/sasl/scram.go create mode 100644 vendor/mellium.im/sasl/xor_generic.go create mode 100644 vendor/mellium.im/sasl/xor_unaligned.go create mode 100644 vendor/modules.txt create mode 100644 vendor/mvdan.cc/xurls/v2/.gitignore create mode 100644 vendor/mvdan.cc/xurls/v2/LICENSE create mode 100644 vendor/mvdan.cc/xurls/v2/README.md create mode 100644 vendor/mvdan.cc/xurls/v2/go.mod create mode 100644 vendor/mvdan.cc/xurls/v2/go.sum create mode 100644 vendor/mvdan.cc/xurls/v2/schemes.go create mode 100644 vendor/mvdan.cc/xurls/v2/tlds.go create mode 100644 vendor/mvdan.cc/xurls/v2/tlds_pseudo.go create mode 100644 vendor/mvdan.cc/xurls/v2/unicode.go create mode 100644 vendor/mvdan.cc/xurls/v2/xurls.go diff --git a/.drone.yml b/.drone.yml index 672c3c821..57514a086 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,18 +1,55 @@ +--- +### Drone configuration file for GoToSocial. +### Connects to https://drone.superseriousbusiness.org to perform testing, linting, and automatic builds/pushes to docker. +### +### For documentation on drone, see: https://docs.drone.io/ +### For documentation on drone docker pipelines in particular: https://docs.drone.io/pipeline/docker/overview/ + kind: pipeline type: docker -name: dockerpublish +name: default steps: - - name: publish image - image: plugins/docker - settings: - auto_tag: true - username: - from_secret: gts_docker_username - password: - from_secret: gts_docker_password - repo: superseriousbusiness/gotosocial - tags: latest - when: - event: - exclude: - - pull_request + +# We use golangci-lint for linting. +# See: https://golangci-lint.run/ +- name: lint + image: golangci/golangci-lint:v1.41.1 + commands: + - golangci-lint run --timeout 5m0s --tests=false --verbose + +- name: test + image: golang:1.16.4 + environment: + GTS_DB_ADDRESS: postgres + commands: + # `-count 1` => run all tests at least once + # `-p 1` => run maximum one test at a time + # `./...` => run all tests + - go test -count 1 -p 1 ./... + +- name: publish + image: plugins/docker + settings: + auto_tag: true + username: gotosocial + password: + from_secret: gts_docker_password + repo: superseriousbusiness/gotosocial + tags: latest + when: + event: + exclude: + - pull_request + +services: +# We need this postgres service running for the test step. +# See: https://docs.drone.io/pipeline/docker/syntax/services/ +- name: postgres + image: postgres + environment: + POSTGRES_PASSWORD: postgres +--- +kind: signature +hmac: 78dd20d97444a9e2904552d56eb52f43ad30ba27e1d897a5ea6808971f9a0ae2 + +... diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml deleted file mode 100644 index aa5ee2124..000000000 --- a/.github/workflows/golangci-lint.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: golangci-lint -on: - push: - tags: - - v* - branches: - - main - pull_request: -jobs: - golangci: - name: lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: golangci-lint - uses: golangci/golangci-lint-action@v2 - with: - # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version - version: v1.29 - - # Optional: working directory, useful for monorepos - # working-directory: somedir - - # Optional: golangci-lint command line arguments. - # args: --issues-exit-code=0 - - # Optional: show only new issues if it's a pull request. The default value is `false`. - # only-new-issues: true - - # Optional: if set to true then the action will use pre-installed Go. - # skip-go-installation: true - - # Optional: if set to true then the action don't cache or restore ~/go/pkg. - # skip-pkg-cache: true - - # Optional: if set to true then the action don't cache or restore ~/.cache/go-build. - # skip-build-cache: true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c09832bfb..97220f221 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,9 +10,7 @@ Check the [issues](https://github.com/superseriousbusiness/gotosocial/issues) to ## Communications -Before starting on something, please comment on an issue to say that you're working on it, and send a message to `@dumpsterqueer@ondergrond.org` (Mastodon) to let them know. - -You can also drop into the GoToSocial Matrix room [here](https://matrix.to/#/!mdShFtfScQvVSmjIKX:ondergrond.org?via=ondergrond.org). +Before starting on something, please comment on an issue to say that you're working on it, and/or drop into the GoToSocial Matrix room [here](https://matrix.to/#/#gotosocial:superseriousbusiness.org). This is the recommended way of keeping in touch with other developers, asking direct questions about code, and letting everyone know what you're up to. @@ -36,6 +34,38 @@ If there are no errors, great, you're good to go! To work with the stylesheet for templates, you need [Node.js](https://nodejs.org/en/download/), then run `yarn install` in `web/source/`. Recompiling the bundle.css is `node build.js` but can be automated with [nodemon](https://www.npmjs.com/package/nodemon) on file change: `nodemon -w style.css build.js`. +### Golang forking quirks + +One of the quirks of Golang is that it relies on the source management path being the same as the one used within `go.mod` and in package imports within individual Go files. This makes working with forks a bit awkward. + +Let's say you fork GoToSocial to `github.com/yourgithubname/gotosocial`, and then clone that repository to `~/go/src/github.com/yourgithubname/gotosocial`. You will probably run into errors trying to run tests or build, so you might change your `go.mod` file so that the module is called `github.com/yourgithubname/gotosocial` instead of `github.com/superseriousbusiness/gotosocial`. But then this breaks all the imports within the project. Nightmare! So now you have to go through the source files and painstakingly replace `github.com/superseriousbusiness/gotosocial` with `github.com/yourgithubname/gotosocial`. This works OK, but when you decide to make a pull request against the original repo, all the changed paths are included! Argh! + +The correct solution to this is to fork, then clone the upstream repository, then set `origin` of the upstream repository to that of your fork. + +See [this blogpost](https://blog.sgmansfield.com/2016/06/working-with-forks-in-go/) for more details. + +In case this post disappears, here are the steps (slightly modified): + +> +> Pull the original package from the canonical place with the standard go get command: +> +> `go get github.com/superseriousbusiness/gotosocial` +> +> Fork the repository on Github or set up whatever other remote git repo you will be using. In this case, I would go to Github and fork the repository. +> +> Navigate to the top level of the repository on your computer. Note that this might not be the specific package you’re using: +> +> `cd $GOPATH/src/github.com/superseriousbusiness/gotosocial` +> +> Rename the current origin remote to upstream: +> +> `git remote rename origin upstream` +> +> Add your fork as origin: +> +> `git remote add origin git@github.com/yourgithubname/gotosocial` +> + ## Setting up your test environment GoToSocial provides a [testrig](https://github.com/superseriousbusiness/gotosocial/tree/main/testrig) with a bunch of mock packages you can use in integration tests. diff --git a/Dockerfile b/Dockerfile index 21d704c38..9f220fd2c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,8 +12,11 @@ ADD cmd /go/src/github.com/superseriousbusiness/gotosocial/cmd ADD internal /go/src/github.com/superseriousbusiness/gotosocial/internal ADD testrig /go/src/github.com/superseriousbusiness/gotosocial/testrig ADD docs/swagger.go /go/src/github.com/superseriousbusiness/gotosocial/docs/swagger.go + +# dependencies and vendor ADD go.mod /go/src/github.com/superseriousbusiness/gotosocial/go.mod ADD go.sum /go/src/github.com/superseriousbusiness/gotosocial/go.sum +ADD vendor /go/src/github.com/superseriousbusiness/gotosocial/vendor # move .git dir and version for versioning ADD .git /go/src/github.com/superseriousbusiness/gotosocial/.git diff --git a/README.md b/README.md index c99f31c06..f336b440a 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,10 @@ Proper documentation for running and maintaining GoToSocial will be forthcoming For now (if you want to run it pre-alpha, like a beast), check out the [quick and dirty getting started guide](https://docs.gotosocial.org/en/latest/installation_guide/quick_and_dirty/). +## Contributing + +You wanna contribute to GtS? Great! ❤️❤️❤️ Check out the issues page to see if there's anything you wanna jump in on, and read the [CONTRIBUTING.md](./CONTRIBUTING.md) file for guidelines and setting up your dev environment. + ## Contact For questions and comments, you can [join our Matrix channel](https://matrix.to/#/#gotosocial:superseriousbusiness.org) at `#gotosocial:superseriousbusiness.org`. This is the quickest way to reach the devs. You can also mail [admin@gotosocial.org](mailto:admin@gotosocial.org). diff --git a/internal/api/client/media/mediacreate_test.go b/internal/api/client/media/mediacreate_test.go index a61a36324..5c48a4381 100644 --- a/internal/api/client/media/mediacreate_test.go +++ b/internal/api/client/media/mediacreate_test.go @@ -156,7 +156,7 @@ func (suite *MediaCreateTestSuite) TestStatusCreatePOSTImageHandlerSuccessful() } // check response - suite.EqualValues(http.StatusAccepted, recorder.Code) + suite.EqualValues(http.StatusOK, recorder.Code) result := recorder.Result() defer result.Body.Close() diff --git a/internal/api/client/status/statuscreate_test.go b/internal/api/client/status/statuscreate_test.go index 603432724..c175a54ec 100644 --- a/internal/api/client/status/statuscreate_test.go +++ b/internal/api/client/status/statuscreate_test.go @@ -93,13 +93,13 @@ func (suite *StatusCreateTestSuite) TestPostNewStatus() { ctx.Set(oauth.SessionAuthorizedAccount, suite.testAccounts["local_account_1"]) ctx.Request = httptest.NewRequest(http.MethodPost, fmt.Sprintf("http://localhost:8080/%s", status.BasePath), nil) // the endpoint we're hitting ctx.Request.Form = url.Values{ - "status": {"this is a brand new status! #helloworld"}, - "spoiler_text": {"hello hello"}, - "sensitive": {"true"}, - "visibility_advanced": {"mutuals_only"}, - "likeable": {"false"}, - "replyable": {"false"}, - "federated": {"false"}, + "status": {"this is a brand new status! #helloworld"}, + "spoiler_text": {"hello hello"}, + "sensitive": {"true"}, + "visibility": {string(model.VisibilityMutualsOnly)}, + "likeable": {"false"}, + "replyable": {"false"}, + "federated": {"false"}, } suite.statusModule.StatusCreatePOSTHandler(ctx) @@ -120,7 +120,7 @@ func (suite *StatusCreateTestSuite) TestPostNewStatus() { assert.Equal(suite.T(), "hello hello", statusReply.SpoilerText) assert.Equal(suite.T(), "

this is a brand new status! #helloworld

", statusReply.Content) assert.True(suite.T(), statusReply.Sensitive) - assert.Equal(suite.T(), model.VisibilityPrivate, statusReply.Visibility) + assert.Equal(suite.T(), model.VisibilityPrivate, statusReply.Visibility) // even though we set this status to mutuals only, it should serialize to private, because masto has no idea about mutuals_only assert.Len(suite.T(), statusReply.Tags, 1) assert.Equal(suite.T(), model.Tag{ Name: "helloworld", @@ -161,13 +161,11 @@ func (suite *StatusCreateTestSuite) TestPostAnotherNewStatus() { b, err := ioutil.ReadAll(result.Body) assert.NoError(suite.T(), err) - fmt.Println(string(b)) - statusReply := &model.Status{} err = json.Unmarshal(b, statusReply) assert.NoError(suite.T(), err) - assert.Equal(suite.T(), "

#test alright, should be able to post #links with fragments in them now, let's see........

docs.gotosocial.org/en/latest/user_guide/posts/#links
#gotosocial

(tobi remember to pull the docker image challenge)

", statusReply.Content) + assert.Equal(suite.T(), "\u003cp\u003e\u003ca href=\"http://localhost:8080/tags/test\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\"\u003e#\u003cspan\u003etest\u003c/span\u003e\u003c/a\u003e alright, should be able to post \u003ca href=\"http://localhost:8080/tags/links\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\"\u003e#\u003cspan\u003elinks\u003c/span\u003e\u003c/a\u003e with fragments in them now, let\u0026#39;s see........\u003cbr/\u003e\u003cbr/\u003e\u003ca href=\"https://docs.gotosocial.org/en/latest/user_guide/posts/#links\" rel=\"noopener nofollow noreferrer\" target=\"_blank\"\u003edocs.gotosocial.org/en/latest/user_guide/posts/#links\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e\u003ca href=\"http://localhost:8080/tags/gotosocial\" class=\"mention hashtag\" rel=\"tag nofollow noreferrer noopener\" target=\"_blank\"\u003e#\u003cspan\u003egotosocial\u003c/span\u003e\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e(tobi remember to pull the docker image challenge)\u003c/p\u003e", statusReply.Content) } func (suite *StatusCreateTestSuite) TestPostNewStatusWithEmoji() { diff --git a/internal/federation/federator_test.go b/internal/federation/federator_test.go index d74070487..cb21d44c2 100644 --- a/internal/federation/federator_test.go +++ b/internal/federation/federator_test.go @@ -19,18 +19,13 @@ package federation_test import ( - "bytes" "context" - "crypto/x509" - "encoding/pem" - "fmt" - "io/ioutil" "net/http" "net/http/httptest" - "strings" "testing" "github.com/go-fed/activity/pub" + "github.com/go-fed/httpsig" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/suite" @@ -117,63 +112,31 @@ func (suite *ProtocolTestSuite) TestAuthenticatePostInbox() { sendingAccount := suite.accounts["remote_account_1"] inboxAccount := suite.accounts["local_account_1"] - encodedPublicKey, err := x509.MarshalPKIXPublicKey(sendingAccount.PublicKey) - assert.NoError(suite.T(), err) - publicKeyBytes := pem.EncodeToMemory(&pem.Block{ - Type: "PUBLIC KEY", - Bytes: encodedPublicKey, - }) - publicKeyString := strings.ReplaceAll(string(publicKeyBytes), "\n", "\\n") - - // for this test we need the client to return the public key of the activity creator on the 'remote' instance - responseBodyString := fmt.Sprintf(` - { - "@context": [ - "https://www.w3.org/ns/activitystreams", - "https://w3id.org/security/v1" - ], - - "id": "%s", - "type": "Person", - "preferredUsername": "%s", - "inbox": "%s", - - "publicKey": { - "id": "%s", - "owner": "%s", - "publicKeyPem": "%s" - } - }`, sendingAccount.URI, sendingAccount.Username, sendingAccount.InboxURI, sendingAccount.PublicKeyURI, sendingAccount.URI, publicKeyString) - - // create a transport controller whose client will just return the response body string we specified above - tc := testrig.NewTestTransportController(testrig.NewMockHTTPClient(func(req *http.Request) (*http.Response, error) { - r := ioutil.NopCloser(bytes.NewReader([]byte(responseBodyString))) - return &http.Response{ - StatusCode: 200, - Body: r, - }, nil - }), suite.db) - + tc := testrig.NewTestTransportController(testrig.NewMockHTTPClient(nil), suite.db) // now setup module being tested, with the mock transport controller federator := federation.NewFederator(suite.db, testrig.NewTestFederatingDB(suite.db), tc, suite.config, suite.log, suite.typeConverter, testrig.NewTestMediaHandler(suite.db, suite.storage)) - // setup request + request := httptest.NewRequest(http.MethodPost, "http://localhost:8080/users/the_mighty_zork/inbox", nil) + // we need these headers for the request to be validated + request.Header.Set("Signature", activity.SignatureHeader) + request.Header.Set("Date", activity.DateHeader) + request.Header.Set("Digest", activity.DigestHeader) + + verifier, err := httpsig.NewVerifier(request) + assert.NoError(suite.T(), err) + ctx := context.Background() // by the time AuthenticatePostInbox is called, PostInboxRequestBodyHook should have already been called, // which should have set the account and username onto the request. We can replicate that behavior here: ctxWithAccount := context.WithValue(ctx, util.APAccount, inboxAccount) ctxWithActivity := context.WithValue(ctxWithAccount, util.APActivity, activity) + ctxWithVerifier := context.WithValue(ctxWithActivity, util.APRequestingPublicKeyVerifier, verifier) - request := httptest.NewRequest(http.MethodPost, "http://localhost:8080/users/the_mighty_zork/inbox", nil) // the endpoint we're hitting - // we need these headers for the request to be validated - request.Header.Set("Signature", activity.SignatureHeader) - request.Header.Set("Date", activity.DateHeader) - request.Header.Set("Digest", activity.DigestHeader) // we can pass this recorder as a writer and read it back after recorder := httptest.NewRecorder() // trigger the function being tested, and return the new context it creates - newContext, authed, err := federator.AuthenticatePostInbox(ctxWithActivity, recorder, request) + newContext, authed, err := federator.AuthenticatePostInbox(ctxWithVerifier, recorder, request) assert.NoError(suite.T(), err) assert.True(suite.T(), authed) diff --git a/internal/oauth/clientstore_test.go b/internal/oauth/clientstore_test.go index 58c5148b2..c515ff513 100644 --- a/internal/oauth/clientstore_test.go +++ b/internal/oauth/clientstore_test.go @@ -21,12 +21,10 @@ import ( "context" "testing" - "github.com/sirupsen/logrus" "github.com/stretchr/testify/suite" - "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" - "github.com/superseriousbusiness/gotosocial/internal/db/pg" "github.com/superseriousbusiness/gotosocial/internal/oauth" + "github.com/superseriousbusiness/gotosocial/testrig" "github.com/superseriousbusiness/oauth2/v4/models" ) @@ -43,7 +41,7 @@ const () // SetupSuite sets some variables on the suite that we can use as consts (more or less) throughout func (suite *PgClientStoreTestSuite) SetupSuite() { - suite.testClientID = "test-client-id" + suite.testClientID = "01FCVB74EW6YBYAEY7QG9CQQF6" suite.testClientSecret = "test-client-secret" suite.testClientDomain = "https://example.org" suite.testClientUserID = "test-client-user-id" @@ -51,50 +49,13 @@ func (suite *PgClientStoreTestSuite) SetupSuite() { // SetupTest creates a postgres connection and creates the oauth_clients table before each test func (suite *PgClientStoreTestSuite) SetupTest() { - log := logrus.New() - log.SetLevel(logrus.TraceLevel) - c := config.Empty() - c.DBConfig = &config.DBConfig{ - Type: "postgres", - Address: "localhost", - Port: 5432, - User: "postgres", - Password: "postgres", - Database: "postgres", - ApplicationName: "gotosocial", - } - db, err := pg.NewPostgresService(context.Background(), c, log) - if err != nil { - logrus.Panicf("error creating database connection: %s", err) - } - - suite.db = db - - models := []interface{}{ - &oauth.Client{}, - } - - for _, m := range models { - if err := suite.db.CreateTable(m); err != nil { - logrus.Panicf("db connection error: %s", err) - } - } + suite.db = testrig.NewTestDB() + testrig.StandardDBSetup(suite.db, nil) } // TearDownTest drops the oauth_clients table and closes the pg connection after each test func (suite *PgClientStoreTestSuite) TearDownTest() { - models := []interface{}{ - &oauth.Client{}, - } - for _, m := range models { - if err := suite.db.DropTable(m); err != nil { - logrus.Panicf("error dropping table: %s", err) - } - } - if err := suite.db.Stop(context.Background()); err != nil { - logrus.Panicf("error closing db connection: %s", err) - } - suite.db = nil + testrig.StandardDBTeardown(suite.db) } func (suite *PgClientStoreTestSuite) TestClientStoreSetAndGet() { diff --git a/internal/typeutils/astointernal_test.go b/internal/typeutils/astointernal_test.go index 2e33271c5..5b8e30134 100644 --- a/internal/typeutils/astointernal_test.go +++ b/internal/typeutils/astointernal_test.go @@ -25,7 +25,6 @@ import ( "testing" "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/ap" @@ -375,62 +374,6 @@ func (suite *ASToInternalTestSuite) TestParseGargron() { // TODO: write assertions here, rn we're just eyeballing the output } -func (suite *ASToInternalTestSuite) TestParseStatus() { - m := make(map[string]interface{}) - err := json.Unmarshal([]byte(statusWithEmojisAndTagsAsActivityJson), &m) - assert.NoError(suite.T(), err) - - t, err := streams.ToType(context.Background(), m) - assert.NoError(suite.T(), err) - - create, ok := t.(vocab.ActivityStreamsCreate) - assert.True(suite.T(), ok) - - obj := create.GetActivityStreamsObject() - assert.NotNil(suite.T(), obj) - - first := obj.Begin() - assert.NotNil(suite.T(), first) - - rep, ok := first.GetType().(ap.Statusable) - assert.True(suite.T(), ok) - - status, err := suite.typeconverter.ASStatusToStatus(rep) - assert.NoError(suite.T(), err) - - assert.Len(suite.T(), status.GTSEmojis, 3) - // assert.Len(suite.T(), status.GTSTags, 2) TODO: implement this first so that it can pick up tags -} - -func (suite *ASToInternalTestSuite) TestParseStatusWithMention() { - m := make(map[string]interface{}) - err := json.Unmarshal([]byte(statusWithMentionsActivityJson), &m) - assert.NoError(suite.T(), err) - - t, err := streams.ToType(context.Background(), m) - assert.NoError(suite.T(), err) - - create, ok := t.(vocab.ActivityStreamsCreate) - assert.True(suite.T(), ok) - - obj := create.GetActivityStreamsObject() - assert.NotNil(suite.T(), obj) - - first := obj.Begin() - assert.NotNil(suite.T(), first) - - rep, ok := first.GetType().(ap.Statusable) - assert.True(suite.T(), ok) - - status, err := suite.typeconverter.ASStatusToStatus(rep) - assert.NoError(suite.T(), err) - - fmt.Printf("%+v", status) - - assert.Len(suite.T(), status.GTSMentions, 1) - fmt.Println(status.GTSMentions[0]) -} - func (suite *ASToInternalTestSuite) TearDownTest() { testrig.StandardDBTeardown(suite.db) } diff --git a/internal/typeutils/frontendtointernal.go b/internal/typeutils/frontendtointernal.go index 6bb45d61b..75c5168aa 100644 --- a/internal/typeutils/frontendtointernal.go +++ b/internal/typeutils/frontendtointernal.go @@ -32,6 +32,8 @@ func (c *converter) MastoVisToVis(m model.Visibility) gtsmodel.Visibility { return gtsmodel.VisibilityUnlocked case model.VisibilityPrivate: return gtsmodel.VisibilityFollowersOnly + case model.VisibilityMutualsOnly: + return gtsmodel.VisibilityMutualsOnly case model.VisibilityDirect: return gtsmodel.VisibilityDirect } diff --git a/testrig/db.go b/testrig/db.go index f34f7936b..659a74ca2 100644 --- a/testrig/db.go +++ b/testrig/db.go @@ -20,6 +20,7 @@ package testrig import ( "context" + "os" "github.com/sirupsen/logrus" "github.com/superseriousbusiness/gotosocial/internal/db" @@ -52,9 +53,17 @@ var testModels []interface{} = []interface{}{ &oauth.Client{}, } -// NewTestDB returns a new initialized, empty database for testing +// NewTestDB returns a new initialized, empty database for testing. +// +// If the environment variable GTS_DB_ADDRESS is set, it will take that +// value as the database address instead. func NewTestDB() db.DB { config := NewTestConfig() + alternateAddress := os.Getenv("GTS_DB_ADDRESS") + if alternateAddress != "" { + config.DBConfig.Address = alternateAddress + } + l := logrus.New() l.SetLevel(logrus.TraceLevel) testDB, err := pg.NewPostgresService(context.Background(), config, l) diff --git a/vendor/github.com/aymerick/douceur/LICENSE b/vendor/github.com/aymerick/douceur/LICENSE new file mode 100644 index 000000000..6ce87cd37 --- /dev/null +++ b/vendor/github.com/aymerick/douceur/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Aymerick JEHANNE + +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/aymerick/douceur/css/declaration.go b/vendor/github.com/aymerick/douceur/css/declaration.go new file mode 100644 index 000000000..61d29d335 --- /dev/null +++ b/vendor/github.com/aymerick/douceur/css/declaration.go @@ -0,0 +1,60 @@ +package css + +import "fmt" + +// Declaration represents a parsed style property +type Declaration struct { + Property string + Value string + Important bool +} + +// NewDeclaration instanciates a new Declaration +func NewDeclaration() *Declaration { + return &Declaration{} +} + +// Returns string representation of the Declaration +func (decl *Declaration) String() string { + return decl.StringWithImportant(true) +} + +// StringWithImportant returns string representation with optional !important part +func (decl *Declaration) StringWithImportant(option bool) string { + result := fmt.Sprintf("%s: %s", decl.Property, decl.Value) + + if option && decl.Important { + result += " !important" + } + + result += ";" + + return result +} + +// Equal returns true if both Declarations are equals +func (decl *Declaration) Equal(other *Declaration) bool { + return (decl.Property == other.Property) && (decl.Value == other.Value) && (decl.Important == other.Important) +} + +// +// DeclarationsByProperty +// + +// DeclarationsByProperty represents sortable style declarations +type DeclarationsByProperty []*Declaration + +// Implements sort.Interface +func (declarations DeclarationsByProperty) Len() int { + return len(declarations) +} + +// Implements sort.Interface +func (declarations DeclarationsByProperty) Swap(i, j int) { + declarations[i], declarations[j] = declarations[j], declarations[i] +} + +// Implements sort.Interface +func (declarations DeclarationsByProperty) Less(i, j int) bool { + return declarations[i].Property < declarations[j].Property +} diff --git a/vendor/github.com/aymerick/douceur/css/rule.go b/vendor/github.com/aymerick/douceur/css/rule.go new file mode 100644 index 000000000..b5a44b542 --- /dev/null +++ b/vendor/github.com/aymerick/douceur/css/rule.go @@ -0,0 +1,230 @@ +package css + +import ( + "fmt" + "strings" +) + +const ( + indentSpace = 2 +) + +// RuleKind represents a Rule kind +type RuleKind int + +// Rule kinds +const ( + QualifiedRule RuleKind = iota + AtRule +) + +// At Rules than have Rules inside their block instead of Declarations +var atRulesWithRulesBlock = []string{ + "@document", "@font-feature-values", "@keyframes", "@media", "@supports", +} + +// Rule represents a parsed CSS rule +type Rule struct { + Kind RuleKind + + // At Rule name (eg: "@media") + Name string + + // Raw prelude + Prelude string + + // Qualified Rule selectors parsed from prelude + Selectors []string + + // Style properties + Declarations []*Declaration + + // At Rule embedded rules + Rules []*Rule + + // Current rule embedding level + EmbedLevel int +} + +// NewRule instanciates a new Rule +func NewRule(kind RuleKind) *Rule { + return &Rule{ + Kind: kind, + } +} + +// Returns string representation of rule kind +func (kind RuleKind) String() string { + switch kind { + case QualifiedRule: + return "Qualified Rule" + case AtRule: + return "At Rule" + default: + return "WAT" + } +} + +// EmbedsRules returns true if this rule embeds another rules +func (rule *Rule) EmbedsRules() bool { + if rule.Kind == AtRule { + for _, atRuleName := range atRulesWithRulesBlock { + if rule.Name == atRuleName { + return true + } + } + } + + return false +} + +// Equal returns true if both rules are equals +func (rule *Rule) Equal(other *Rule) bool { + if (rule.Kind != other.Kind) || + (rule.Prelude != other.Prelude) || + (rule.Name != other.Name) { + return false + } + + if (len(rule.Selectors) != len(other.Selectors)) || + (len(rule.Declarations) != len(other.Declarations)) || + (len(rule.Rules) != len(other.Rules)) { + return false + } + + for i, sel := range rule.Selectors { + if sel != other.Selectors[i] { + return false + } + } + + for i, decl := range rule.Declarations { + if !decl.Equal(other.Declarations[i]) { + return false + } + } + + for i, rule := range rule.Rules { + if !rule.Equal(other.Rules[i]) { + return false + } + } + + return true +} + +// Diff returns a string representation of rules differences +func (rule *Rule) Diff(other *Rule) []string { + result := []string{} + + if rule.Kind != other.Kind { + result = append(result, fmt.Sprintf("Kind: %s | %s", rule.Kind.String(), other.Kind.String())) + } + + if rule.Prelude != other.Prelude { + result = append(result, fmt.Sprintf("Prelude: \"%s\" | \"%s\"", rule.Prelude, other.Prelude)) + } + + if rule.Name != other.Name { + result = append(result, fmt.Sprintf("Name: \"%s\" | \"%s\"", rule.Name, other.Name)) + } + + if len(rule.Selectors) != len(other.Selectors) { + result = append(result, fmt.Sprintf("Selectors: %v | %v", strings.Join(rule.Selectors, ", "), strings.Join(other.Selectors, ", "))) + } else { + for i, sel := range rule.Selectors { + if sel != other.Selectors[i] { + result = append(result, fmt.Sprintf("Selector: \"%s\" | \"%s\"", sel, other.Selectors[i])) + } + } + } + + if len(rule.Declarations) != len(other.Declarations) { + result = append(result, fmt.Sprintf("Declarations Nb: %d | %d", len(rule.Declarations), len(other.Declarations))) + } else { + for i, decl := range rule.Declarations { + if !decl.Equal(other.Declarations[i]) { + result = append(result, fmt.Sprintf("Declaration: \"%s\" | \"%s\"", decl.String(), other.Declarations[i].String())) + } + } + } + + if len(rule.Rules) != len(other.Rules) { + result = append(result, fmt.Sprintf("Rules Nb: %d | %d", len(rule.Rules), len(other.Rules))) + } else { + + for i, rule := range rule.Rules { + if !rule.Equal(other.Rules[i]) { + result = append(result, fmt.Sprintf("Rule: \"%s\" | \"%s\"", rule.String(), other.Rules[i].String())) + } + } + } + + return result +} + +// Returns the string representation of a rule +func (rule *Rule) String() string { + result := "" + + if rule.Kind == QualifiedRule { + for i, sel := range rule.Selectors { + if i != 0 { + result += ", " + } + result += sel + } + } else { + // AtRule + result += fmt.Sprintf("%s", rule.Name) + + if rule.Prelude != "" { + if result != "" { + result += " " + } + result += fmt.Sprintf("%s", rule.Prelude) + } + } + + if (len(rule.Declarations) == 0) && (len(rule.Rules) == 0) { + result += ";" + } else { + result += " {\n" + + if rule.EmbedsRules() { + for _, subRule := range rule.Rules { + result += fmt.Sprintf("%s%s\n", rule.indent(), subRule.String()) + } + } else { + for _, decl := range rule.Declarations { + result += fmt.Sprintf("%s%s\n", rule.indent(), decl.String()) + } + } + + result += fmt.Sprintf("%s}", rule.indentEndBlock()) + } + + return result +} + +// Returns identation spaces for declarations and rules +func (rule *Rule) indent() string { + result := "" + + for i := 0; i < ((rule.EmbedLevel + 1) * indentSpace); i++ { + result += " " + } + + return result +} + +// Returns identation spaces for end of block character +func (rule *Rule) indentEndBlock() string { + result := "" + + for i := 0; i < (rule.EmbedLevel * indentSpace); i++ { + result += " " + } + + return result +} diff --git a/vendor/github.com/aymerick/douceur/css/stylesheet.go b/vendor/github.com/aymerick/douceur/css/stylesheet.go new file mode 100644 index 000000000..6b32c2ec9 --- /dev/null +++ b/vendor/github.com/aymerick/douceur/css/stylesheet.go @@ -0,0 +1,25 @@ +package css + +// Stylesheet represents a parsed stylesheet +type Stylesheet struct { + Rules []*Rule +} + +// NewStylesheet instanciate a new Stylesheet +func NewStylesheet() *Stylesheet { + return &Stylesheet{} +} + +// Returns string representation of the Stylesheet +func (sheet *Stylesheet) String() string { + result := "" + + for _, rule := range sheet.Rules { + if result != "" { + result += "\n" + } + result += rule.String() + } + + return result +} diff --git a/vendor/github.com/aymerick/douceur/parser/parser.go b/vendor/github.com/aymerick/douceur/parser/parser.go new file mode 100644 index 000000000..6c4917ccf --- /dev/null +++ b/vendor/github.com/aymerick/douceur/parser/parser.go @@ -0,0 +1,409 @@ +package parser + +import ( + "errors" + "fmt" + "regexp" + "strings" + + "github.com/gorilla/css/scanner" + + "github.com/aymerick/douceur/css" +) + +const ( + importantSuffixRegexp = `(?i)\s*!important\s*$` +) + +var ( + importantRegexp *regexp.Regexp +) + +// Parser represents a CSS parser +type Parser struct { + scan *scanner.Scanner // Tokenizer + + // Tokens parsed but not consumed yet + tokens []*scanner.Token + + // Rule embedding level + embedLevel int +} + +func init() { + importantRegexp = regexp.MustCompile(importantSuffixRegexp) +} + +// NewParser instanciates a new parser +func NewParser(txt string) *Parser { + return &Parser{ + scan: scanner.New(txt), + } +} + +// Parse parses a whole stylesheet +func Parse(text string) (*css.Stylesheet, error) { + result, err := NewParser(text).ParseStylesheet() + if err != nil { + return nil, err + } + + return result, nil +} + +// ParseDeclarations parses CSS declarations +func ParseDeclarations(text string) ([]*css.Declaration, error) { + result, err := NewParser(text).ParseDeclarations() + if err != nil { + return nil, err + } + + return result, nil +} + +// ParseStylesheet parses a stylesheet +func (parser *Parser) ParseStylesheet() (*css.Stylesheet, error) { + result := css.NewStylesheet() + + // Parse BOM + if _, err := parser.parseBOM(); err != nil { + return result, err + } + + // Parse list of rules + rules, err := parser.ParseRules() + if err != nil { + return result, err + } + + result.Rules = rules + + return result, nil +} + +// ParseRules parses a list of rules +func (parser *Parser) ParseRules() ([]*css.Rule, error) { + result := []*css.Rule{} + + inBlock := false + if parser.tokenChar("{") { + // parsing a block of rules + inBlock = true + parser.embedLevel++ + + parser.shiftToken() + } + + for parser.tokenParsable() { + if parser.tokenIgnorable() { + parser.shiftToken() + } else if parser.tokenChar("}") { + if !inBlock { + errMsg := fmt.Sprintf("Unexpected } character: %s", parser.nextToken().String()) + return result, errors.New(errMsg) + } + + parser.shiftToken() + parser.embedLevel-- + + // finished + break + } else { + rule, err := parser.ParseRule() + if err != nil { + return result, err + } + + rule.EmbedLevel = parser.embedLevel + result = append(result, rule) + } + } + + return result, parser.err() +} + +// ParseRule parses a rule +func (parser *Parser) ParseRule() (*css.Rule, error) { + if parser.tokenAtKeyword() { + return parser.parseAtRule() + } + + return parser.parseQualifiedRule() +} + +// ParseDeclarations parses a list of declarations +func (parser *Parser) ParseDeclarations() ([]*css.Declaration, error) { + result := []*css.Declaration{} + + if parser.tokenChar("{") { + parser.shiftToken() + } + + for parser.tokenParsable() { + if parser.tokenIgnorable() { + parser.shiftToken() + } else if parser.tokenChar("}") { + // end of block + parser.shiftToken() + break + } else { + declaration, err := parser.ParseDeclaration() + if err != nil { + return result, err + } + + result = append(result, declaration) + } + } + + return result, parser.err() +} + +// ParseDeclaration parses a declaration +func (parser *Parser) ParseDeclaration() (*css.Declaration, error) { + result := css.NewDeclaration() + curValue := "" + + for parser.tokenParsable() { + if parser.tokenChar(":") { + result.Property = strings.TrimSpace(curValue) + curValue = "" + + parser.shiftToken() + } else if parser.tokenChar(";") || parser.tokenChar("}") { + if result.Property == "" { + errMsg := fmt.Sprintf("Unexpected ; character: %s", parser.nextToken().String()) + return result, errors.New(errMsg) + } + + if importantRegexp.MatchString(curValue) { + result.Important = true + curValue = importantRegexp.ReplaceAllString(curValue, "") + } + + result.Value = strings.TrimSpace(curValue) + + if parser.tokenChar(";") { + parser.shiftToken() + } + + // finished + break + } else { + token := parser.shiftToken() + curValue += token.Value + } + } + + // log.Printf("[parsed] Declaration: %s", result.String()) + + return result, parser.err() +} + +// Parse an At Rule +func (parser *Parser) parseAtRule() (*css.Rule, error) { + // parse rule name (eg: "@import") + token := parser.shiftToken() + + result := css.NewRule(css.AtRule) + result.Name = token.Value + + for parser.tokenParsable() { + if parser.tokenChar(";") { + parser.shiftToken() + + // finished + break + } else if parser.tokenChar("{") { + if result.EmbedsRules() { + // parse rules block + rules, err := parser.ParseRules() + if err != nil { + return result, err + } + + result.Rules = rules + } else { + // parse declarations block + declarations, err := parser.ParseDeclarations() + if err != nil { + return result, err + } + + result.Declarations = declarations + } + + // finished + break + } else { + // parse prelude + prelude, err := parser.parsePrelude() + if err != nil { + return result, err + } + + result.Prelude = prelude + } + } + + // log.Printf("[parsed] Rule: %s", result.String()) + + return result, parser.err() +} + +// Parse a Qualified Rule +func (parser *Parser) parseQualifiedRule() (*css.Rule, error) { + result := css.NewRule(css.QualifiedRule) + + for parser.tokenParsable() { + if parser.tokenChar("{") { + if result.Prelude == "" { + errMsg := fmt.Sprintf("Unexpected { character: %s", parser.nextToken().String()) + return result, errors.New(errMsg) + } + + // parse declarations block + declarations, err := parser.ParseDeclarations() + if err != nil { + return result, err + } + + result.Declarations = declarations + + // finished + break + } else { + // parse prelude + prelude, err := parser.parsePrelude() + if err != nil { + return result, err + } + + result.Prelude = prelude + } + } + + result.Selectors = strings.Split(result.Prelude, ",") + for i, sel := range result.Selectors { + result.Selectors[i] = strings.TrimSpace(sel) + } + + // log.Printf("[parsed] Rule: %s", result.String()) + + return result, parser.err() +} + +// Parse Rule prelude +func (parser *Parser) parsePrelude() (string, error) { + result := "" + + for parser.tokenParsable() && !parser.tokenEndOfPrelude() { + token := parser.shiftToken() + result += token.Value + } + + result = strings.TrimSpace(result) + + // log.Printf("[parsed] prelude: %s", result) + + return result, parser.err() +} + +// Parse BOM +func (parser *Parser) parseBOM() (bool, error) { + if parser.nextToken().Type == scanner.TokenBOM { + parser.shiftToken() + return true, nil + } + + return false, parser.err() +} + +// Returns next token without removing it from tokens buffer +func (parser *Parser) nextToken() *scanner.Token { + if len(parser.tokens) == 0 { + // fetch next token + nextToken := parser.scan.Next() + + // log.Printf("[token] %s => %v", nextToken.Type.String(), nextToken.Value) + + // queue it + parser.tokens = append(parser.tokens, nextToken) + } + + return parser.tokens[0] +} + +// Returns next token and remove it from the tokens buffer +func (parser *Parser) shiftToken() *scanner.Token { + var result *scanner.Token + + result, parser.tokens = parser.tokens[0], parser.tokens[1:] + return result +} + +// Returns tokenizer error, or nil if no error +func (parser *Parser) err() error { + if parser.tokenError() { + token := parser.nextToken() + return fmt.Errorf("Tokenizer error: %s", token.String()) + } + + return nil +} + +// Returns true if next token is Error +func (parser *Parser) tokenError() bool { + return parser.nextToken().Type == scanner.TokenError +} + +// Returns true if next token is EOF +func (parser *Parser) tokenEOF() bool { + return parser.nextToken().Type == scanner.TokenEOF +} + +// Returns true if next token is a whitespace +func (parser *Parser) tokenWS() bool { + return parser.nextToken().Type == scanner.TokenS +} + +// Returns true if next token is a comment +func (parser *Parser) tokenComment() bool { + return parser.nextToken().Type == scanner.TokenComment +} + +// Returns true if next token is a CDO or a CDC +func (parser *Parser) tokenCDOorCDC() bool { + switch parser.nextToken().Type { + case scanner.TokenCDO, scanner.TokenCDC: + return true + default: + return false + } +} + +// Returns true if next token is ignorable +func (parser *Parser) tokenIgnorable() bool { + return parser.tokenWS() || parser.tokenComment() || parser.tokenCDOorCDC() +} + +// Returns true if next token is parsable +func (parser *Parser) tokenParsable() bool { + return !parser.tokenEOF() && !parser.tokenError() +} + +// Returns true if next token is an At Rule keyword +func (parser *Parser) tokenAtKeyword() bool { + return parser.nextToken().Type == scanner.TokenAtKeyword +} + +// Returns true if next token is given character +func (parser *Parser) tokenChar(value string) bool { + token := parser.nextToken() + return (token.Type == scanner.TokenChar) && (token.Value == value) +} + +// Returns true if next token marks the end of a prelude +func (parser *Parser) tokenEndOfPrelude() bool { + return parser.tokenChar(";") || parser.tokenChar("{") +} diff --git a/vendor/github.com/buckket/go-blurhash/.gitignore b/vendor/github.com/buckket/go-blurhash/.gitignore new file mode 100644 index 000000000..3c56ae0d2 --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/.gitignore @@ -0,0 +1,2 @@ +.idea +coverage.txt \ No newline at end of file diff --git a/vendor/github.com/buckket/go-blurhash/.travis.yml b/vendor/github.com/buckket/go-blurhash/.travis.yml new file mode 100644 index 000000000..285391d4d --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/.travis.yml @@ -0,0 +1,14 @@ +language: go + +go: + - 1.13.x + - 1.14.x + +install: + - go get -t -v ./... + +script: + - go test -race -coverprofile=coverage.txt -covermode=atomic ./... + +after_success: + - bash <(curl -s https://codecov.io/bash) diff --git a/vendor/github.com/buckket/go-blurhash/LICENSE b/vendor/github.com/buckket/go-blurhash/LICENSE new file mode 100644 index 000000000..f288702d2 --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/vendor/github.com/buckket/go-blurhash/README.md b/vendor/github.com/buckket/go-blurhash/README.md new file mode 100644 index 000000000..c42db42b9 --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/README.md @@ -0,0 +1,96 @@ +# go-blurhash [![Build Status](https://travis-ci.org/buckket/go-blurhash.svg)](https://travis-ci.org/buckket/go-blurhash) [![Go Report Card](https://goreportcard.com/badge/github.com/buckket/go-blurhash)](https://goreportcard.com/report/github.com/buckket/go-blurhash) [![codecov](https://codecov.io/gh/buckket/go-blurhash/branch/master/graph/badge.svg)](https://codecov.io/gh/buckket/go-blurhash) [![GoDoc](https://godoc.org/github.com/buckket/go-blurhash?status.svg)](https://pkg.go.dev/github.com/buckket/go-blurhash) + +**go-blurhash** is a pure Go implementation of the [BlurHash](https://github.com/woltapp/blurhash) algorithm, which is used by +[Mastodon](https://github.com/tootsuite/mastodon) an other Fediverse software to implement a swift way of preloading placeholder images as well +as hiding sensitive media. Read more about it [here](https://blog.joinmastodon.org/2019/05/improving-support-for-adult-content-on-mastodon/). + +**tl;dr:** BlurHash is a compact representation of a placeholder for an image. + +This library allows generating the BlurHash of a given image, as well as +reconstructing a blurred version with specified dimensions from a given BlurHash. + +This library is based on the following reference implementations: +- Encoder: [https://github.com/woltapp/blurhash/blob/master/C](https://github.com/woltapp/blurhash/blob/master/C) (C) +- Deocder: [https://github.com/woltapp/blurhash/blob/master/TypeScript](https://github.com/woltapp/blurhash/blob/master/TypeScript) (TypeScript) + +BlurHash is written by [Dag Ågren](https://github.com/DagAgren) / [Wolt](https://github.com/woltapp). + +| | Before | After | +| ---------- |:------------------------------:| :-----------------------------:| +| **Image** | ![alt text][test] | "LFE.@D9F01_2%L%MIVD*9Goe-;WB" | +| **Hash** | "LFE.@D9F01_2%L%MIVD*9Goe-;WB" | ![alt text][test_blur] + +[test]: test.png "Blurhash example input." +[test_blur]: test_blur.png "Blurhash example output" + +## Installation + +### From source + + go get -u github.com/buckket/go-blurhash + +## Usage + +go-blurhash exports three functions: +```go +func blurhash.Encode(xComponents, yComponents int, rgba image.Image) (string, error) +func blurhash.Decode(hash string, width, height, punch int) (image.Image, error) +func blurhash.Components(hash string) (xComponents, yComponents int, err error) +``` + +Here’s a simple demonstration. Check [pkg.go.dev](https://pkg.go.dev/github.com/buckket/go-blurhash) for the full documentation. + +```go +package main + +import ( + "fmt" + "github.com/buckket/go-blurhash" + "image/png" + "os" +) + +func main() { + // Generate the BlurHash for a given image + imageFile, _ := os.Open("test.png") + loadedImage, err := png.Decode(imageFile) + str, _ := blurhash.Encode(4, 3, loadedImage) + if err != nil { + // Handle errors + } + fmt.Printf("Hash: %s\n", str) + + // Generate an image for a given BlurHash + // Width will be 300px and Height will be 500px + // Punch specifies the contrasts and defaults to 1 + img, err := blurhash.Decode(str, 300, 500, 1) + if err != nil { + // Handle errors + } + f, _ := os.Create("test_blur.png") + _ = png.Encode(f, img) + + // Get the x and y components used for encoding a given BlurHash + x, y, err := blurhash.Components("LFE.@D9F01_2%L%MIVD*9Goe-;WB") + if err != nil { + // Handle errors + } + fmt.Printf("xComponents: %d, yComponents: %d", x, y) +} +``` + +## Limitations + +- Presumably a bit slower than the C implementation (TODO: Benchmarks) + +## Notes + +- As mentioned [here](https://github.com/woltapp/blurhash#how-fast-is-encoding-decoding), it’s best to +generate very small images (~32x32px) via BlurHash and scale them up to the desired dimensions afterwards for optimal performance. +- Since [#2](https://github.com/buckket/go-blurhash/pull/2) we diverted from the reference implementation by memorizing sRGBtoLinear values, thus increasing encoding speed at the cost of higher memory usage. +- Starting with v1.1.0 the signature of blurhash.Encode() has changed slightly (see [#3](https://github.com/buckket/go-blurhash/issues/3)). + +## License + + GNU GPLv3+ + \ No newline at end of file diff --git a/vendor/github.com/buckket/go-blurhash/base83/base83.go b/vendor/github.com/buckket/go-blurhash/base83/base83.go new file mode 100644 index 000000000..6d1882811 --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/base83/base83.go @@ -0,0 +1,58 @@ +package base83 + +import ( + "fmt" + "math" + "strings" +) + +const characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$%*+,-.:;=?@[]^_{|}~" + +// An InvalidCharacterError occurs when a characters is found which is not part of the Base83 character set. +type InvalidCharacterError rune + +func (e InvalidCharacterError) Error() string { + return fmt.Sprintf("base83: invalid string (character %q out of range)", rune(e)) +} + +// An InvalidLengthError occurs when a given value cannot be encoded to a string of given length. +type InvalidLengthError int + +func (e InvalidLengthError) Error() string { + return fmt.Sprintf("base83: invalid length (%d)", int(e)) +} + +// Encode will encode the given integer value to a Base83 string with given length. +// If length is too short to encode the given value InvalidLengthError will be returned. +func Encode(value, length int) (string, error) { + divisor := int(math.Pow(83, float64(length))) + if value/divisor != 0 { + return "", InvalidLengthError(length) + } + divisor /= 83 + + var str strings.Builder + str.Grow(length) + for i := 0; i < length; i++ { + if divisor <= 0 { + return "", InvalidLengthError(length) + } + digit := (value / divisor) % 83 + divisor /= 83 + str.WriteRune(rune(characters[digit])) + } + + return str.String(), nil +} + +// Decode will decode the given Base83 string to an integer. +func Decode(str string) (value int, err error) { + for _, r := range str { + idx := strings.IndexRune(characters, r) + if idx == -1 { + return 0, InvalidCharacterError(r) + } + value = value*83 + idx + } + return value, nil +} diff --git a/vendor/github.com/buckket/go-blurhash/decode.go b/vendor/github.com/buckket/go-blurhash/decode.go new file mode 100644 index 000000000..58cd7eb63 --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/decode.go @@ -0,0 +1,109 @@ +package blurhash + +import ( + "fmt" + "github.com/buckket/go-blurhash/base83" + "image" + "image/color" + "math" +) + +// An InvalidHashError occurs when the given hash is either too short or the length does not match its size flag. +type InvalidHashError string + +func (e InvalidHashError) Error() string { + return fmt.Sprintf("blurhash: %s", string(e)) +} + +// Components decodes and returns the number of x and y components in the given BlurHash. +func Components(hash string) (xComponents, yComponents int, err error) { + if len(hash) < 6 { + return 0, 0, InvalidHashError("hash is invalid (too short)") + } + + sizeFlag, err := base83.Decode(string(hash[0])) + if err != nil { + return 0, 0, err + } + + yComponents = (sizeFlag / 9) + 1 + xComponents = (sizeFlag % 9) + 1 + + if len(hash) != 4+2*xComponents*yComponents { + return 0, 0, InvalidHashError("hash is invalid (length mismatch)") + } + + return xComponents, yComponents, nil +} + +// Decode generates an image of the given BlurHash with a size of width and height. +// Punch is a multiplier that adjusts the contrast of the resulting image. +func Decode(hash string, width, height, punch int) (image.Image, error) { + xComp, yComp, err := Components(hash) + if err != nil { + return nil, err + } + + quantisedMaximumValue, err := base83.Decode(string(hash[1])) + if err != nil { + return nil, err + } + maximumValue := (float64(quantisedMaximumValue) + 1) / 166 + + if punch == 0 { + punch = 1 + } + + colors := make([][3]float64, xComp*yComp) + + for i := range colors { + if i == 0 { + value, err := base83.Decode(hash[2:6]) + if err != nil { + return nil, err + } + colors[i] = decodeDC(value) + } else { + value, err := base83.Decode(hash[4+i*2 : 6+i*2]) + if err != nil { + return nil, err + } + colors[i] = decodeAC(value, maximumValue*float64(punch)) + } + } + + img := image.NewNRGBA(image.Rect(0, 0, width, height)) + + for y := 0; y < height; y++ { + for x := 0; x < width; x++ { + var r, g, b float64 + for j := 0; j < yComp; j++ { + for i := 0; i < xComp; i++ { + basis := math.Cos(math.Pi*float64(x)*float64(i)/float64(width)) * + math.Cos(math.Pi*float64(y)*float64(j)/float64(height)) + pcolor := colors[i+j*xComp] + r += pcolor[0] * basis + g += pcolor[1] * basis + b += pcolor[2] * basis + } + } + img.SetNRGBA(x, y, color.NRGBA{R: uint8(linearTosRGB(r)), G: uint8(linearTosRGB(g)), B: uint8(linearTosRGB(b)), A: 255}) + } + } + + return img, nil +} + +func decodeDC(value int) [3]float64 { + return [3]float64{sRGBToLinear(value >> 16), sRGBToLinear(value >> 8 & 255), sRGBToLinear(value & 255)} +} + +func decodeAC(value int, maximumValue float64) [3]float64 { + quantR := math.Floor(float64(value) / (19 * 19)) + quantG := math.Mod(math.Floor(float64(value)/19), 19) + quantB := math.Mod(float64(value), 19) + sp := func(quant float64) float64 { + return signPow((quant-9)/9, 2.0) * maximumValue + } + return [3]float64{sp(quantR), sp(quantG), sp(quantB)} +} diff --git a/vendor/github.com/buckket/go-blurhash/encode.go b/vendor/github.com/buckket/go-blurhash/encode.go new file mode 100644 index 000000000..dd1cdec6f --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/encode.go @@ -0,0 +1,164 @@ +package blurhash + +import ( + "fmt" + "github.com/buckket/go-blurhash/base83" + "image" + "math" + "strings" +) + +func init() { + initLinearTable(channelToLinear[:]) +} + +var channelToLinear [256]float64 + +func initLinearTable(table []float64) { + for i := range table { + channelToLinear[i] = sRGBToLinear(i) + } +} + +// An InvalidParameterError occurs when an invalid argument is passed to either the Decode or Encode function. +type InvalidParameterError struct { + Value int + Parameter string +} + +func (e InvalidParameterError) Error() string { + return fmt.Sprintf("blurhash: %sComponents (%d) must be element of [1-9]", e.Parameter, e.Value) +} + +// An EncodingError represents an error that occurred during the encoding of the given value. +// This most likely means that your input image is invalid and can not be processed. +type EncodingError string + +func (e EncodingError) Error() string { + return fmt.Sprintf("blurhash: %s", string(e)) +} + +// Encode calculates the Blurhash for an image using the given x and y component counts. +// The x and y components have to be between 1 and 9 respectively. +// The image must be of image.Image type. +func Encode(xComponents int, yComponents int, rgba image.Image) (string, error) { + if xComponents < 1 || xComponents > 9 { + return "", InvalidParameterError{xComponents, "x"} + } + if yComponents < 1 || yComponents > 9 { + return "", InvalidParameterError{yComponents, "y"} + } + + var blurhash strings.Builder + blurhash.Grow(4 + 2*xComponents*yComponents) + + // Size Flag + str, err := base83.Encode((xComponents-1)+(yComponents-1)*9, 1) + if err != nil { + return "", EncodingError("could not encode size flag") + } + blurhash.WriteString(str) + + factors := make([]float64, yComponents*xComponents*3) + multiplyBasisFunction(rgba, factors, xComponents, yComponents) + + var maximumValue float64 + var quantisedMaximumValue int + var acCount = xComponents*yComponents - 1 + if acCount > 0 { + var actualMaximumValue float64 + for i := 0; i < acCount*3; i++ { + actualMaximumValue = math.Max(math.Abs(factors[i+3]), actualMaximumValue) + } + quantisedMaximumValue = int(math.Max(0, math.Min(82, math.Floor(actualMaximumValue*166-0.5)))) + maximumValue = (float64(quantisedMaximumValue) + 1) / 166 + } else { + maximumValue = 1 + } + + // Quantised max AC component + str, err = base83.Encode(quantisedMaximumValue, 1) + if err != nil { + return "", EncodingError("could not encode quantised max AC component") + } + blurhash.WriteString(str) + + // DC value + str, err = base83.Encode(encodeDC(factors[0], factors[1], factors[2]), 4) + if err != nil { + return "", EncodingError("could not encode DC value") + } + blurhash.WriteString(str) + + // AC values + for i := 0; i < acCount; i++ { + str, err = base83.Encode(encodeAC(factors[3+(i*3+0)], factors[3+(i*3+1)], factors[3+(i*3+2)], maximumValue), 2) + if err != nil { + return "", EncodingError("could not encode AC value") + } + blurhash.WriteString(str) + } + + if blurhash.Len() != 4+2*xComponents*yComponents { + return "", EncodingError("hash does not match expected size") + } + + return blurhash.String(), nil +} + +func multiplyBasisFunction(rgba image.Image, factors []float64, xComponents int, yComponents int) { + height := rgba.Bounds().Max.Y + width := rgba.Bounds().Max.X + + xvalues := make([][]float64, xComponents) + for xComponent := 0; xComponent < xComponents; xComponent++ { + xvalues[xComponent] = make([]float64, width) + for x := 0; x < width; x++ { + xvalues[xComponent][x] = math.Cos(math.Pi * float64(xComponent) * float64(x) / float64(width)) + } + } + + yvalues := make([][]float64, yComponents) + for yComponent := 0; yComponent < yComponents; yComponent++ { + yvalues[yComponent] = make([]float64, height) + for y := 0; y < height; y++ { + yvalues[yComponent][y] = math.Cos(math.Pi * float64(yComponent) * float64(y) / float64(height)) + } + } + + for y := 0; y < height; y++ { + for x := 0; x < width; x++ { + rt, gt, bt, _ := rgba.At(x, y).RGBA() + lr := channelToLinear[rt>>8] + lg := channelToLinear[gt>>8] + lb := channelToLinear[bt>>8] + + for yc := 0; yc < yComponents; yc++ { + for xc := 0; xc < xComponents; xc++ { + + scale := 1 / float64(width*height) + + if xc != 0 || yc != 0 { + scale = 2 / float64(width*height) + } + + basis := xvalues[xc][x] * yvalues[yc][y] + factors[0+xc*3+yc*3*xComponents] += lr * basis * scale + factors[1+xc*3+yc*3*xComponents] += lg * basis * scale + factors[2+xc*3+yc*3*xComponents] += lb * basis * scale + } + } + } + } +} + +func encodeDC(r, g, b float64) int { + return (linearTosRGB(r) << 16) + (linearTosRGB(g) << 8) + linearTosRGB(b) +} + +func encodeAC(r, g, b, maximumValue float64) int { + quant := func(f float64) int { + return int(math.Max(0, math.Min(18, math.Floor(signPow(f/maximumValue, 0.5)*9+9.5)))) + } + return quant(r)*19*19 + quant(g)*19 + quant(b) +} diff --git a/vendor/github.com/buckket/go-blurhash/go.mod b/vendor/github.com/buckket/go-blurhash/go.mod new file mode 100644 index 000000000..0483219a0 --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/go.mod @@ -0,0 +1,3 @@ +module github.com/buckket/go-blurhash + +go 1.14 diff --git a/vendor/github.com/buckket/go-blurhash/test.png b/vendor/github.com/buckket/go-blurhash/test.png new file mode 100644 index 0000000000000000000000000000000000000000..315a1bd0956acdf301308ce23bb9d16e7f10889b GIT binary patch literal 62676 zcmXt91yq(x*QL9=<)ynp0qIUD>F(|ll;x7NSbTtKhD z^PD-e&))l-iB?mU!$c!PgMop;RFId}0H4R8|Dhm(k76{+7cel?FbdKVTE4k|I&2IK zb>f)ki;bLXufCavY)kP0Tlyho*97927k3y(Kd1Oa<7zgX>K@wJ}+bcX& z8{s1ZLI;ENMfRRWjm0TkOawQ@yZEl%D3TWzlGUW5*JoTg!%EmQWQk~+=hm7U%Eb@F48pS(y~oA1P_21%_vj zq^)aJ!8Ly+0N)hWt~iVOAB1R5oMS_xxH9yo0&0#Pa?NO5(prLV*nRaP2;BZ(={adW zM>#sn;x*Q~QsbPc)}*)}$%?*7V5#~gE8Hi61-<|a{7u{s_g&pz8mNrF6y|A^=>N3N zx9&e$X^2|Ry!<&e{%#FtJBl=&javJX@2_BC!uY5^>`%08GGxy30uz93x?rk@kXf4t z7Y_3`5kZ;GQkJO;hHkyF>(nWDZCO&H7fA^`$s1cMs>>|gb3L3(16;7M7m`qxaIqJY zER?Qxn)qys;gDl}7&2h?`D?i6KNv#wW>SWjNGF5f%O(=lok&4LdRjLE~@w z@+uD4W@|#tZ_UZZ-z;Yiqun*^kzj*b!y>=>k?LcR z`5LjK+$p0Vf~={!`jH@)7Zq{rDUm#x@MJh*j*Dz0yzSK=dv*(BZRb&M+)QEmQ3=jk zkXD>}UjBsfRMRogjFag`tb@Q5{98m!SoB9Jx>E_C>~j3!TFQOb)gMpOR1q)?dz=Uu z4LEF9*+U!(BIaE&zEcU7LlW$`wX}G(J*V6~cJn><6_Mi_*x&R*tvlc_vxPv84fQqR zpnrp`rx!Q*5!$op1Q}?;fp-9}U7)SmipQVEs-}5Q_#Z3DHx?Th&G#?#EQ*~4#zpmU ze_qhu@35-BZ$cxaXC;}`82M9Ots5Tm>*?^nk@bS7?=j4e*OfH5a6{Z=L;Y&RJqU7={jmUn!cv`M$;zCAu1BDxXAZ85PA@20`Xw`o zjp94ab~9m^B{<~6Eja-jh-MZ{!~x-X^5J<=_f;rD@n=h(TnDMP_DSN!ctytaVfw>C z(p^;u&0jGZe=F~4X||&MCLEhEF)#`N$HsGz@yFXO5$&S?J|cqGH*c3)L<0dTNlXbh z0WoU)UAnH7R@Byx@ZRd1yD77T*9TO47DbO5P6VZw)9pYTe-dXEJJ`&uq$)T#XJ+XT zo}p5H=)o@4LyfFLbuOb4O~g%3s#$4Jk#8a;&H?AuiBFUyzj8x5LOZo|q+iN^C^3O6s3NnuJ&%uJqbbZ@Iblc{USruWC zFJg`bgOc9T&&u*dH<{~=_GZ(}X5|@@?0=>7b(B1Uge3Uy8q)*|QiC=1VzOg2v~*Ip z9l?n}b9GSM?-@TmpAu(X`TAguvUD}y(% zq295dM%?{B?P;7O5?CcCFH{hA{?bZUH$wYwIw3kg@Mt7REkE0rr@cM!I+~Ncdn^0! zVW3#GBxN<^W9gm0O{Cf4_b(CL|Ikb~)t7m8b&IT`MtXQfms&?&>eH501L8}3Yb#ZJh*Ku7mcm>e zv1F5Fi0-%Ah(ks5xxay}t&+f(&C|AZVVmPS$1WUfwal;|?jMH#!ZYA{uw~JH;xLU# z@x5upEAadtp3&Hu6zE+cV`4idmI2CD;*tmYT(&{i4Lxix7g^^iyx!_jD#R?PE;B7Q z%n=2Vjn7PlvBTB{lYNO)3KqTn#JVNV?~S7h7x{ZG+fv)vr~>tKv#H?%m(NA&n#gIn zkwOxPE&R%&JvCK9(tR>{1q{TZ&>Dj9w4^bMIs(B<4IR}BUOFJeIcHU4EDsAZfTb$S z*Yr0AGJ<<%mP;&J?{2zH71bG_LOu_(d9obQof z9d}z0*JYt#MZ(&0dMoHbn{!jZekkQI5bL-U>gmorX(7eqEXA@RDbT?edMyYceav2} zmv|6{Mf+f6Ake~Rin1iu=s^HC5aBx;quZw_(i@1z)t8ez6-yaVCnbXylZ+jD9ME7V zwyDk-62J>0=4*)b<`_f7k$=9|+?*(?RVMyxgb>qCV^YjF>WXh6->Z?_QHkAAvAsg< z&)!&p7Y2cm&MV-#ZC3>48|O@sy6Rhqv{t;3M7{t+Y#t_&fT?dT52zaZ{+v7P3x%&x zhfz#Ryc(0DTa%*RfSN_UuD$I}%fL4p`jtSEYDYV{^ow&zV1LisG9LF5+JblbzdUF;bjxcuhWLCYSX=W}0@Rgg!4AT_0m8 zqh%`j>Nt@wa^^S~sA7EHm>;P?$eMZ&og*eK*h;!$V{|1tNwqyhjMzZga@=LuBO_EB zLGXO7GlDS16s|UW@9C2c9yQ6WAnCUxjk!BylTSY6x&t-7M`0>z!Dn>4%z=PBU0uwq%vROUM~B&TTzi(#MMeOYt(`V_qb{(i zGu7c>lfi5IHNsrm!+NUV>5gBYwO~ZaP{=cO>^UYD{NRl^nILHsDncZm{|jgR;c*^D zGq06=5GsJxnMa6x35s$T_8iD-5cBRNsF*StDs2>=_!}sLAx;Z8rcp-j7G^Yz;ZD3 z3A4QvZOQ4T%I^S_?PIMJ;7Tw|M9M1De=+N48T~1}Kk`oxfy6sJpUruImaBkPJWa`0 zP5yp1b{3U{bD;X<8zBu}Ilb+ye4%y}b;cPruA93yd{!oWYbxrX{KT(cm0_(iDpH&| zrLY{4SfFGU1|fpl33lX4pBb>ck^i#dSU`$~g=$;Q1c2AvgL~3}Nl|Fc;66P?!gv%F zz!6%ey|MveSjpq|TdP+Hsu`FaZ8 z7wMHnj8}%v%wa^nM{Y>glU|bL&c41dyekUQhX5cAvywD6V|rh|S@V5C{(!bmipx0o z93d>&g6dm@Vb6H5L>y8h37HjTDi6}zUqV>d9PwnRp7ChkNe&7fw8Q~lH|z=jUQGo4 zS4xV41JlrO52JXU9+^9$3cSh%Erk3d6|G}B5{V}d*+AX?p8Sw3dfVj$O4Pn~bo%91pdN_5Hg;>cdSG;uqA> za+IwlZ#hlm8I9!o^PQ(`rV9l~=7=)zPJRo zOFQ_r&L-=FXR=YLaXr*!uJlKw0~T4BtF)Ay{ciKtnXIFqav#0 z=?&%SFDebYY(hY;&s2x5S;*4a0^T3GwhR}kf*z{?54IodJ=hGa93mA=bAY>QLvNCz z12$6&c|x09ZhTfQq%% zonrjm3V!J8C!m9-(ywV#%mvo8Le7ce2C0wUQ>h`KRFQhGcDEB>`Vn8NeW=mY)q!Xb z_oTlNS&cQ7q6AOe3;_mUvc)uq+3Fr-X3x|Y$`#~BO;pbnJ{pC&*n;mQ6QsvMM{5cR zQUGE{hJ+q&k$XWHu`p4=HeJyd2bDWEcNXuLf{Uo?IKp)L6)mM3g#5CAmr&e>B}%y` z)VD7I6wHYm>Lr6`!O6kBQBdjbI@p0w`OYCRge>_Up9Tn3X^W01JY+P|$a>qis(|HQ z_RDEBRN!k#uvLa=86u{I#18o3evdb|SHbj}5{Q9PeZ_8>4t72$ z@I4Cn0b$se6{>sdFB{bJwYu1hH6#E(?MLmFS-tDxMJ_l}{8n_*dk0ZP&BDP6b2$2% z0hU|FmOX-9C82wE@de-5Ps{jtNs%>r_lEJ6nqu__RFj;Mbp>Zhc+tbG9uALs(>0; zur>-%hg82N{fKU!!u815iFNz~89;=oDdJNzysByzB=vAcHOUs#W!yOa8 zz+o(F66`YPzk`by55eW^wLSrAJ?1ix9=0L3ZU?8o@|Sy%0%NYctfPFSle`?j1d5@7 z+#$Nmc825zpys6NY!^aYr@{)paBF1JWeaRdWVZLp60=q`NcVb|q!@ep3{0)%NWRmd zsM?3o;C}rXg1jlpns!^(qiVV7eC0hbHBT-VXhN})w_zwb((;jk(_1Nv6dQ3uvCu_@{QW6rs%xR*gl|511!=u)52MOCb!4huHXZb z-dW!zt~<1{_s&U6^vq^vCQTpD&WzKo^G+XL`y047GK++~q{E?VytN;t-xCG#;(ogj z^Rh}HwA2GQbZsUd$XGy=ZKG_s?bhA*aAI|n6 zB*FWf-2YR{?7|}+rer~soQuxTK=J1@b61JEww;nM}rc5T7mQRpuN7sXi&O`?odgaYHwL&T-v@b&kkZ~M^U1XPGA^Ugj z!F$&%GF(^Esr2*WVv(quCKw*(*Ld9i9Ju2;--rLE$Nc~vm?{4}F`GGnQE(U)N3-Kt zmhcLa+^BK6?QOi>KA-cH;<%1dZ)Zq?oGWclKUvs*j&6pSx-Dd{yOEZ^wnDc>joxr0 z-SfhY$>cKWhx=o@5TQI03i4ZM2`;t6e)M5_hOoDd-)N!j1CD_Jrs+yH2QYsKYD@N% z76ibr-6$a4FTtlg9(&x$s-1+#$mzCzwBW86=WjREub zTij!k!f*wA0=F4ZxItE@6Y<9h30`5ElN|KhYMo6}Z*?zFhmZaWlBPR7AG)S9zcGBX z{#CNq@=v_$6k6gaj8O^#V0l1dD9aLBjSlrR>5-Z8F-^^?A*Y4x7jC#I#&&5S1vrrc zd0W(Ejfl{W2e>#Opyf8T2IS19e^f=@a==%$HNbXZXxzJ=41!ujS4ymNvmj=w^W&#wHC1J~kS=x06 z36>3M8-JXj6)B}hUlf)%yV zt&I4!@UXJU>0I@5a4_{Nv^fY&$tt51)8##e-u2}2AMSj&w%}v3WwL7EQ`?W9E+~)@ zYb{B)W3z~6xNqDMEc^@1wg6ZT8>k-M%ck?xq&EAqTu}x|10U8QanuHU!>Z=d)d@)i zqKU~7RUc@;bDkh*V_Vf(dkKS2Af7$qE_jFY-WFRA#+7<2!Cnq+wHC|vN2{$wbJcXLphC~w4B;gF*Qpd=cdajx16dUa>Z!ZrJ~8BB7eX|grHGoSKB^MA$WkmP zrtPY~-oxPaWYcY7^;r-hJo(*y67u~MU#m|rbr@Ez16aQYbq1Hr55V%i?)oi^>A$HI z^38?%$bvB$3dTm>@EUHfiXg-vop~$2GVs}#Bt<)@19=@~GQi{&zN0qs#&&Mlo!cj0 z*1EwwjNP*N{Nb%^o9^=}5fGcpTi0J6qwJ3- zEI?WFePA?WxYq!>wkjTntL`$pU@dM=87A)-7m9XM8L}=ua6m1zq1F?V!fFG~9Qtfm zsW%gjdFWT`U4s7&*?^npkE+wLJflGMY3Zu9WeerE$R&VE#W85j2G})|^2HJILvaOb zQECN<=jHJsr`?4U51&(D5zF{va|Mc#yE&Py_^f7!qAFr#nm&ZL26ao>W za~VM;ADg%cbERFb{vb0nWo7Q@pol9C-t#SUW}mt zX(_bf^)ar2>VQ;z8{fgA$8lAHZ2!$E$6)Ki*$i4~)%$a+Iy()@B4C}yKD>a*>1U?_ zZN_&>%|>AM4dBCfObsThk3)Ti`oA;geoI1jxMk$+Fb~3Z);)BBCyiu0$Wqk9)w)8! z>6DFFo}N#!d_UQdN=dg4X;lQKw!Z@k{3pA%g-E3Oy+Z|!i;$0HRar1?!WMuzSX{db z&sCmusRa^!TESS4Kw7G`_Cgk@JS;R@oKxx5?QDuP)^uR#!hvvz7^+fQ{b_fme9OTe z5@3OAN<>~UYBfXkz0oguyhSgFdCVt((-h^+3r-h6kJ%_X;J8j@X7=^>&3r`TQs!}y zp~;_g`Rpbq@lVOjy(V&I6(LpuvqKv$t%%60$NkJ+Cq%O`MDY)>TeA-cxoqE0y=E?O zNd2`0$K0c*f+@HdLt!6|0;K%Y(gj8Q4?H*yT9+CSe#lmrty&s12}Hhe#(Mt`N* z+k+C}_TPrs#S#+Vo{3T-{HS~A7TGYl_#LLSIKve=!gO_|!gJA>vB^qt$kKv_z36@? z&AyjpGcUJ}kHPNHMk_OlwOvSf&;)p6cZ??lz+Kv}~{fMd)A%?*>j1pa{Ta*{=CG z`61<%?}Me`{Ux%%rXaHl$RKphl6*CTK3VQZPlLs$hPlTA(oh?*XSHfQch}Z=-Oh7PF-%wu@)@Ke8OFB0=h|}E*kiJi)q@@by(k)3a zZ{X|t^$R96J^353&a}jtiL|94J48c=(J1w$dJ3_jvY~KT2Kc}G37ds#4PrAi3h-}| z*phzc(>?fWdUg|Y3eoUF0z*G?(A65es=pN(aH~xpWPuZmgYHm}idvX-0jM=_zao@1Fu_hb6=!Dc(b!nh zAh6MO6S=Zdw`=#=ye7co&E5mtBs z=Y!AYye)_MTKR2ag&usdF{V=}1sd}g`ufTs-65^}XuM25S3yS=+qqHZcvVS>G9x7q zrY1SMH5E7Pq0b5~$uP+)2H}CJOrJ|$Y!&CP=h%ZJ!e<(P~1gSJG7O4@(9Tgd9slFZ- zl$H-^T(lC*k%m1IDPOT77*ON<5Oe1k`g(41$*5IDhD`&>9OQ(c=`+wKcWBr~L`ebIjzkBV0 z0p(l}bkl}$)|$;cyy5lw?_4wx6R=me3{z|5ayI@^vfQ1l`~To!r3CucFiB*m_C~lZ zs4RbRSpHHi(Yz1KRX#Lr@4w*9PycU)>x1$}F3eXlm+&=Z*I? zvPunPZ49Vd?xFzU`J_wMN9;P~VP|aB2!{48aFKzxe0BS^*31aI$(gF}p>btzKZcl~ zB-Y0H+Or?*oOOQ21>qGbE+UM-u^!Ed^~HB0%(!@sz29E8)fqjOLw2+7tvNv2cF^t* zS@v`?wFwuu)^Y|XG~tvcWL<9+RuY>TEcT2zF6CIbeTrqd?|fgvHes|tChc8!!3(ox zNf`KN=&KP}@?{rhq*=%^NzbjaoBon=gT<|81QNoA-tcVfDu@tNy9jgQ%LUE%QS}+h z-gNLR@=u%@XSTfrGye5FItWi_?MrFE!UgSstdKHw#Bb`TWqR=i28nYm=u#_gm9Ol2 z&&1IjD`SN0o4c|kT28THq}Z>yWZ^IRU}96iuku=*c>IM=HtLOCk+PG zHpAL=tNs5h0I8@P{uq)Vh6-Lw-h&~V3sjIb>HwD?5P5o3d38<5mN;`w=?4r54>0)% z^*$T>e;L$GT43CAZX2x^Mnla}D1xIgr62xe;~(}JQJNCxENjo--w>(A5GivE)0Vq@ z`d4|7I(w)DZDh4X#8(E=Z1*BH8Ud@(=f(S9rh!P$9n7G$ghnFj?c~xroYKdO(R_CN7=I#8d=Opi2ozE@V(IS6H-g0E^r$d+~r~N??UlJ`@gvk z$fkak1lJj(=ILX_YrvIipv3D(`O(iv%MA$ZyORSRS2zy^AW&?9E=K%C?5*3Gi+d_h zB(#XLu-&V1!`$^W=kc-?1QABwPkT+ypQL0D4sfu6refKbB*oXfFh#lAT^Zyk67FP@ za7lXRpef&K$7~X8(0~T|h2TtQ2My9-S>jQ7mVDZC!ZfcHj==1#TKHLr{G$oe{5HYt zXq7+YlmGl?j#Q4@<{d}wOMsYaVCO5wgwvks-euRjL-vJEA4&n2qwa%lJ|X>Q`G_i% zwrj93T-!0Ywpt;$(o2#tg>-bZ_wO2vu{yM4fDvP>^%1mIfUo$S_A^Y}wyZRjls!iY z@8_yLXBW)EGS-BbRV@zeSO~Bngzybmq`vmx?C`?!+o>dtIzR}tBztN?^oPQ=X+k9E zL+cb!jZ!G=>0e#5NWiW~mq9!~$r+IJhF0k|w1wI~#=NH+jh8luj~E}rJ-rr0fAKid zgn3AWWyrI9*jAAx)N-e~YmD{MDhbRJ$xOf`(~Ey<{h}w7tgwP#dJv!acIYcI@O)1|}pHF4ER4`o&qD4PI_x zQ_diHcb|eFm05#U;vM=yOJrY{leml#n2sR0N4S!XrnNg~M^wI9nK|D!b+&iI(xhnq zi;x|*Z3B`WkDFK%^2)w<_qt=D;S)*ZO=WL%@3Py?Htf^WmYJboAjRwI{GRbcvGuul z-WHETwv!dXNPnM+jftv;mJiR!hCePuIR1Tv`#V835WV%o)pgCU(qtwfxSFZnjd4?g zx9BCE!j|nSmZ4wiM`QAw+Cqrp=TQ=m(AV;mkzo!9(k1jQfWiG9q^p65Foiw5qkoGi zBma5Zr%7%KSm;D34e*~r=hFBF* zyAI5cskdfgs$CjyNi1-cWWyXkP?F-Bv~`Ob2i@DW3$hYe5-A%g5RBB3wk;w4Xhh{f zMF!JF1w~hFY$Lbdsw-T8#vYfo+wXN?{JHKCM}M->Ep!OLZa)wWs>}ek;CRN zyIMs=%Osyy-GT<*d&fUlNVmW$6IHJzXi`;KnYG@!Y3Q-xQ#S^6^CpnILmTAVd zG<0Rem!L)oyIBf3qYBkqNyL!>)6p7pOqO0539*uapCTRU4ST$+?txh|U)S+$kC{VQ z?;J{v!552qwpM2?8&#N``Rhh2cpwsh%bRdA!Q|Ig1pZ)dOC9<%-?v)xcgmqQ1~sV< z4G9?K;sy4&xMnDdh8w-~6W*+wj-;jztW79Nl>mE$q<3XPTkT zy+?4vUyNsej=mheWB6xJ}arZI^$YsaTu{hoaQe1f8AVbq2gsj5=EN6>Ny z{g8UoGl4RDLg|mzy7{_&VVIxWSb*CMPO%_j1GX_T1SA zR<>&M5*%hdJijzlQdcZ3iTqJSVb$Eq=!K_Esuer6E{S24xea8y`hZ=;nmk`?XH8`K zM+wH-&9{-lbfFu-vOK<-dUrYmQfYp=aCnA?--kc04QFMJrfVFQ&Xh?&Zi5m@~C zIx?LY8B%h+HP;TpwN4IVH>U=%HQ3HQuOkJv_BNdEHfCWBU+xj0p#A7Gxdq*fKu<*I zW(@avz4dp;PvJb-{5|ULd;f$5-Iuz^3~s+uIK;UQ;lHl;fAQaV9Ka+{u0}iy%hkG- zP)dood6slUMY5qF>z6wx%zmeV@Ja^IhOAnLb&MA#)@bG{v;{T>*a6^yKXoWMYEe?h?>4_zaEfbK{LBAb=kn~WR$;O);&H(iv zv{6A`7w?-ThREgUW*)%PMx2!j%<`YPQ8VZUSX_jq_tWJFe4xSk*9Z4q&sOTRqDU5% z!i40;TxE!)wo+ON$N~bX zQTvwSIV;4<+Zw~eW#HWU0rxAzsl`RVQTxY$$O!v)4AmB(Q2c4}LnEG`>aN)Oaelpe zz0ha{VBFih<#q7MA5~Q$q94M&W5)?Ne!{(bPUuCfhjRWSy%;Fb!qaKj#Wl2Xt2a2H zoa`N8+NQCgGBhpxvj&{9M|ofsyBYVnb$0~?r*14AWD)3Dh`rm}jhu@kl z{*R1k1b7i5SuF{JTk~A}A70I9VsqVEQ@GeLatZTB%-6_r^MCjfVTB zd-y^hmw#crW!UDE)%?IOpw2s^p{VWoE6`JrCaFJ&VPS(p{M96S%sV~mKS-4YTCF{O zB9@3tCGj+oGcX9$x+IseQK(<=gYHv>*54swoO9e)ga&YZnxjeza40iE&uSrp3PYVt z%52=po(Y$Q4bmLvT{p$T&*-MS4#`n%(`z|Bz$;kz>4oycJI)lGh&P_5ya|-U{^`)Y z@UX$&I@n2pQcl@ZqkN9UMvA}vwN^Y6Ac z7hPO;w~ce(v|~ozRP|OL!}A5|Hh;|_ zhnbYJ{)+)K@ra3F)q$6e!A2=vi z6wWJ8R2iI9-S2F$*B7SQ7n*(8$H7TE>1|?vhW?VA*Ego1KHBHJ_O!ShpgLOaK$7$L z(6}e@-vvz07JWNCqqvy z=1!#kMs>&&oUcE0vXhs@yGrAV!}L1$zp!@^_}IQ!Rcv?o`i;5l`=|R+p^h(*73wYo z6NRDyi&Oj4bzqTYzsdgj;*li1@DYty)<}J4=pb`pRbR?2)YV&&blX6E} zYzC+E`h5dX4xLetw-f6F*Z3`0m$Kh@s&^jzGZ>UY4J2oIC3Qd7#C;$ z%GV9r;n7uPv7Vzbl4mh+9Q#NA`kaC1+WkwV+4Xd>L610E^NR7@+ZzrFkF&#{pcDye zoB>)Cfjl!*@+T_n;uu|8i2)3{a#RHe>A;EBAkdfz(s`v_ahJ9e0XGcz`INCT5gY+% zTt~}Cc2A>u)B{L^ufSaRXD{Z~mojlFDw6|2%QGK2@)=QwW&ugIO6as5Iz8)4%&#;I z(*+yui#Jx^PbAANsmc)SWx(92<|gvPFJ0kZ!N3!(1$L7nc?w+y?AR(?G`jGj4g4

$fLI$Rn%|5|wdc2m>ZH6r-@NC4n}0`& zEjzh6aXi!VVT-QXNF-W`xU;{tArcA_xk9bjYk|$gVlS>JV!1*=Gi#@V0Ih8ol$&)eA!8BT`6iMQwFbuBNVvbBE-xo;iJ^ygLesQ0;icYgki z{&ZTSd3X1MNVF>24NdKxUZtl8H@wb(+>*p+5cQYad1h$zcUR-K0L+|$6Rj20W~J$( z+IU>%1j|qyqk6A3l11d@GM~)~;M9o&Xb_ODf4R3$CWf(u2z(#7su_VoZAHI^gz*Oo|Mo<}(@(t70d( zJu*U}GE8@?`hy6JDprIcgMMlym3{9+qtQZp9Wk(3O4)Ex2URK7-m4YRX}NPt-S|F{ zL65Y}J7*33`|EGhaQ0bY=3`FQ!4p3}gxxo9WoG@1%-a8v8Sn`?h0|qyKV=k}=XG*_ z&(FF){Q2R5)$E+xou;%loxAm`-(~-_FW{$ZdsoVz2|}%C10iYxhrp#u+5-rAK1LJhixQ=UE)wUSMEek66Hm z@W7{wn4ie4&!dqUP_1I3yl^eCC}3C}75p3lRcu8&L_gQ$L9e|GE0? z?6~shod`w+Jr1YG!{hUte>1p-9Ut+aoC|8<021$ZIw9CbvY7S>uP3QJJSgI5m5wea zkF>64#j-E|2VR?IJIcsemxYJ#06f{Is#X9FzsJYnO2Kge{1Yub zy!joIcvM~R1qjL24G1K2`NAYE>dW9Q=h*iCBwOcix_rBnE$bA7kKXc zEBNY;D1s9O%vTSx04G5$ci1>T{#*fg8i`%HHBf!+ho{5^kket0{)oms`_FHzzhK@y ztTRxEw8v{yK}jJfgd2bmYI%J;93VZg0{TbVBO_zd*~0#U%D7`}aa*K4pg&Bc&w4G+ zEZ~G29L#~IWw)`(c=fKa@dR^cZ-NGwlfNfF5?dGLQuFik{lwGYC-eXGr9>a5xeP04kdvUwD3e@X&dzavSC z@@^`Yu50*ZVJI^`^MWp3UPkR-&W1~po7Bv;2{TEyM~tr8j-E22XO|BoHx3Ihblh|j zAL%URI`k1ln+XW50;RnAGg>RIch=`p3+j(f*MW#sHjMr1hg$g+TyJ5ZGtUp<=q?Oq z1G;#ii9K|o!vo>*wz|I%p4={P6I1~xy$E>Pz!^7jUU?(s;~~i^MhZQi&YL?8%f8o7 zSU}pW|K4`8*Q_~Nzn(Qxez($_vkwmLhp6yYZnm*_vw$1i)t?`NUeDZe3436>*vN5< z-Qu8oU~~Vwfvir5_ATo%cxHd`SC){n7YeI0CqH-Qt$Fq9ZCIGWQPQ`C*jm^gBz)A) zm;1zd&+~s58&fn1ksPz^Z`!g&Zx4#DzY- zUI!$fZ}A`SO#WBR-S>aM)m*HvA}YUakF(jD=f2-2`kKGeeF&}9_fGA8A5sWacaC;c z#*|mO|BQWVH~MvA7O*S2Ixf-`c`tWoWk%829vF9fxuxs-NP_P2g^g#ETmF~o!P}!A zX4nx>fcQKgI%M(g#YUjCONaAx1Bia8Z{U4u7!PFN^fILkn0uL8gX^3RD(DQ?n6T91 zIOhUw4&O#r$a>n;D%GYLFxLBuRS)=w9%vk*MQ&m~t+|^KF6Y$x-)FgfzlTszI>CB2 zMNa+31*80QHZm74V(?sH?@VGAsRJ1aYP&48Bp51WoyK*_D<0tZ-qayE5mRH_9KL?;?LQl}jvKV*k z=*lI@t7p=8uZ+86qse`*uLMBIdbS%3GW|X{;F^AAa53M#rfkn^O}w{q+!$wC9T)A2 zY!>Wl&$**B1$CD=C;}$3)(u2U%|#=(_+xclR*hIs)NM9EzuxIDb{xIi+!*~wmwWr3 zqw+%`K{er2of6jHaN)#RtY>$&wXDIMHSozl%UFieQ$?(dnqXw^#2tGrh;Uj4@J|0u zo1!@0lFm`zr?H z&bIh@&Di7ds}(EQOXnL{=$k&aM&6y>;EGNpZfrfhS?!=SAmR#ppikxG?)gXz5ENfr}l+tl^RaW@y<( zF(ILL2H9!f2V`ktN@>zcVJ-#P$jGHJbcqsuz-XlhMBg^K>|qABHy>|!l^zTU$Nx{A80hx`a!B{~rpdrVZ4Efl6Pv{{>)V?P)N4ADMYsmYF3U?w_idjUQk+t}a9Z`?}6y zkPFx|@4jtA4FM?g+}~`5HfFN76GhtN&LcCkAypC7!jGtgPt4f8*4;73lS5{! z<6=-HNYdd03uU&#&DdtwY7ta!nW}BzrufDs$-4Ie8det%8Nv78ZN}^cgU`v?7+KA- zeVIq9N}mJ4aLv2lh_RXoyD$Agkgen_=imLS2Wv3Og*&jC3&g$NrD0Xnm8AF7JPNNs zy~@6J2aU1KW~V38PA+IxK}&RXo-%GyfBv=D;{H$A_G^m@Na=J03{LN(ZDbU)|I!MgsM|) z#4p1F?f;(zU`Ihz1{nhy5-7CRU|1WzY-lleTfpB}NRQDm`|cL*tM1>SKYxe0twaeX z@fc0@5i)n|S-`C&ilHnOfA=WM?Zr&)qnW;*i0>Gyw?L834Dfo@FoVq{{0TT>&F2UAUhTf#gf;m_y@$lF zxp+UIyBMzw9L-XWse+Pn_`_HD6E-+d>~Le8=v#N!&lW(PaEk``#$lf_p1rKRS!Iv2 zFblvyzf9zMv?g%*OJxrJbV_uQ*kM32_~@gwhyWT@L*?C3`@iXMY0FdLd%p}NueLDahJ#PnfDMOmaXVV=_&`Xw5XfEv+iocYGMtvb^U&a1zJ z>982^>EZWsnK_jGPs@?M&0G;a=oVLQ7mvS!^psJaK$;!AhT2Jf2e4F$CcWVva!_l0 zuF|<5OjU!XR+96C@<@s>f7~?7XV_p%6i8O|0F|H&pVdY|nk;Sqf4)tt$wBsZ*itaP z#u;N@|9yd1zF9+77CMm-*extjh@f!IA~)k10;6rT>+>@+sVQ#A^>!u+twZmoUQs!g z1})abXQ?S1aDgVyCtB$ZCBKVBqjc#P(fdsS<9Dn5f37}_b^MHdUE{220UxdcX~2KJ z^}yc$1YYfI^hfk05(YWRKNFZSAQ7O(7?cY4Uk=tnU!mr>;1UMu0dLO{nz#UaOH4eyI9T~a3_oz~0?&|hQ_PNUh{xrugb!MrU<|ZJ zf>s1R1vV~&==0DA1_Ul>Za>aRpk-RfH4ziA2mW-;h1-2uxoio%eTzAcf_es(pCTQ> z!+)E(c)c>1XBgw+f zzZ8q3JlfFmPwaxL%8hdgPxL$eM|p%}LG0q7!3r5BTedgIyg4^TWvqc}Hi0fNa1l|Q zK444+YPMgUHHEx<;-QQXNloNSuA_fRWUSs?OmXnN-ej<5a3Sr=6r+(k=oZ{xv4?o2z*q&>AV=v^QWHh}W?)R$c~r zheAss@{A()mlp0egE&*Q@0@w}EW!1CiPH5RFlsZuqWpskpiqA5{r*jg7zI~2-?z;)9Lg`TA7C z*9EG3gWgzg{)g(}(-t_K`cr|EJ$Jg!hWj@c``0@R7C#cjZj(h6JefNoaZ(J@3-N|+nJD>uJCg4i z!fKR|!Gv~G;2z6huz?`sF4EmHlGG!CR44&mH>L$R`m+<02BOctqO@+EwjkAPURnXw z=#43trGDbeCk*`_VXR1t^Cn83sB_CYmj&JX93NOc@H4f4x!?G_(&TjBy54piZTk_M zIe!cJ2Q4eITyHO7oULU57lOHL#Da*8JpM{VYgy%t<3f8{F>ece8|;PFOR@Fzlkx8C z83okeEcj7P(89KHjjTd^p1BbfHN5UcI(2KD8ox|ut{6xPz8L@mRsuZj{Z1L+55~-; zl17(foJZj&1raAv@yKSO8+!>|M};}e9^DBewUX&CRAYc94NmPsgU{exk&op)kIW^m z_K-S@&y7QU*-*kGjS{gNriOh)#cqpLhH?&bFIv4Z0fk2(iJWjH*-vKxgNdcaoDm_hi zMtviMUJwz!md{vO?mBk8_t3L(H$>WsDUpB_|IFX&Swc7f%Lg=3--hiCe>mH ze2q3cp3ir!4SpdYn=y8vK~7nZZPkVYKO?2}s@-jzX!>36a{OKUFmTgP*B_}rsbL(p zX(;r_!ADlAl+kPpiIr5$YENuR?kNo$qX`{K#4HlUV30(Ld*HRvk{=w63K36-ZP6Sd z#?Ed zV`V>X@-d7K{#izw?%Oc&5i<#J@^m9$UC#+ZY0p>HXgF(s#=^*8%R})AU~Ld#(Dlev zv+5O3qCku1#TNA8hL2mTk*t}ID>NiT{rH86Fh4;zOGSws<-D4JJ<#WrQtO#Ya(5F zYoh(&>){38B#QB7CV_MD@|^17$k=EdsB7!jBecQ+t?_^Uq3IeE_if9O{?H#*|8OY# zc>?CAI$X2TYn}IlI2qV@j_*+&KBK$7W9MhjMn6bY+Oy}t&^}MyXdJUUVYf6L z=H&dD;%4Y z&_5h6isNRNMmnqIBE{(l3!5|{KU{YZK@bHn@vH>az4r4{7-@L~a4wpN_VJk^_T1~d z%52nb*!nWkd<_W z5;N5oDSA_Mn%CiL@I(Qxf{;^At^BgYkrWx*T}15PzHDy2rRE%o$RB};)uGYVWt5d* zRSZ$jhAnyn&mhU*V1>BsiE$aV-3-gbS6MUKRsGd)cAg-=x+E^MH5vK#(SdSKM@I6- zlw$c$XS!8&6K07C);vrYJPYh+?>nvEY$9t~lhb^809)i++ z39rM+OBsY&`=m_2ITU|PxWNham$kQ=C}OjMyYm=#{$#%GVo!I;W2T-h){{WR+3h#e zdXJ#4vng%*3tm7^hv=HISfTw*&b@0^yv9Pc0{;oPL_*)w5EFxYx-gN5Gb*FhxTZ?Q>vf1wu&4bq8+U5v-AwY zDvgr$>6pJKuHPM{%TiA(TEj+cr+2q7gkRzXKAqn?!;DVU(!4anUW#^M7@4pCbEe$5 zpYbO<9y51uMLenADgTOG*g6^hXh{08fvrw&n;Jn8d^WB$M*>8$H~8kTiH`XaX+c-B za>Zpb61B>EN@=T4MsJn?0@h4x*I=2znkom9CA=9Z$ z`*_TdBOcRf>yKWPd~W<(E&M2u|8^G3YevOCD2wW6DG-?;Jsfhqq4Dl!8@)Dn^QVz| zpGg;wj3>;`bV7qqIL*9;Z`5s1Y!q_sf7E~aYILH+;S@>fu8zy^?5@UV8IxYT#)DrSgH(1*2j(KRwKG<21? zk%(F}(GnB~jQor~hq5PXr&<<#r6Fx@xtLtmjr;s9r9ES6gTN}k=^OX3pDHrM_}8yc zPUE$%?DqpzRt3mza~rUdR5a^h6V}L(wuMzOQV8YYSrAHs@T_NP{1oU{{otM6k1nL2 zgc>u*PT#qibFmCRGI6*UP^rEy#<~M)$8}tV!|O)mNaa4v^Wm!{_pV%{q+TZO?jIM< z%0mGdCfzh~YY%^5dw3-7|1LViDy2;z)GEUlv0#9bJE&1)s#e-ObB{HHb|q?0~2PE@mP*_QOP^;IO+zZELf&O}S`1xym}s9pS@cG`KG zd%KG;4v0EPA;!@uFIeyyYd>-y-DWe+@Zw*gEC1_wzMx=zW*iX8SmmDjhqyE(|2~Fo z;y`BK6$N|HO1*AODcLev!OV14kzZv|PxILeHsaRyDLm-h9{cP-6v4!%99MrPY&Wul z3?g2OO;IU`0FluqA!9(SDoy!-0*5Z36%H>$WrpNh$?{4WL)ylfT~^ir(f6l4M0lZh zG(3$kvhKTRaA>3gMr5Z+F@>rW*58g%y;*W_~oThIxh!nToPh$h?+Ld}cuQuAbWF_bm=bdZADU@R+N89PxFp)B|6b5~h5#@q_kuUV4KYG%coa5K$!nyI z`@6!tI3(>XaBZ^h`3J>SS#B(hkS39{k0VsfFVPmSV;teI4)KWr!Jon6ew3{nOc`Ql z`OG?G#FS^mv=K-P%zd6kE{qpHRPBhrntOMiG3%+Oucry~O%3_-ELb9y72E={6xBZ{$#Shug+glbHA7u7{x zVS|X+jcWUQ8-v9^_Ns`aQmJ~9eyijzyX0=Gq;A{yojYpXThpCKb6s204U?nuTstMO zTJNoRI^Dm$=YEmZxZG>k@%&awYy$wlwfgRPk7HWRIlK}a$X>Ka@>?S?eGOdw{jtuRD9G3@T&a~9BpGRaM> zKhYb|6(PM7&xMypR7oZHq^5r?9#DfJnvhmunH3Lbug4KDsXwd?EudxcxQkyF%A$g zQKCeE1VnNaE0zNAXf_xopVx)#gPCpkDBbMv_KWHW!Vo>@u;LS_e6j|L#5_vm`<2$? zLv#wiehEgboDhSezjf!58J&a+vZxDYGyX9Qc=ATVLdev1IJa>`u*D6kNYWb^Fsns7 zfD<&9cmL6z6tLgh0W^y5Iq&7@lPA}VTGHRUHV4htl0H4jF)Wk}u)pxB6Ht8HRP!iF@5D6GmGdH$^4;-{h=Hej6vmkm_f(t~D zz{2^yNO0#*;(7kBU2q!#+>L{fXz@t}CgtRJ&*@y}iB{K+Mh@J_zaJJG&(&sO_ds^* ztca9m4W;!hej2QOv=zCNTtI)EfC|*K6xNNV4y<;OoN6l z4mWOXHe4$`l4NB2qWJ&WrnD5q}+C1|xanm9j-{J;!Cu{$G0~@w<1_b!U+@IBRU{ zk=fSd0WfmXy!g|_ElRnmsSlv4ivT71bpyLEm`bNp&bspZvu6gQcK+TLW3f&w=e*pn zNddO(m-eui$3qlQg6Qvoj%$9he^@SI?r$n*QBgB0Vd(>7NpF;v_8-^)Mu(EN^{)i< ztXj!fY_x_Tq!xoHOH*p^6-Uu0Bsk*yeYr^pK39gcnQdpRk3Eub&D^G{&?QNI%mWl-epTSTWtcPs#Jh;0t- zE?g>EvQHk;@xH5TY|HpmVEz72&!&n~3N(1TuWo8u>oQK?FtqW%@1Ht$4^I<;DcE{m zVF%nawk+Y+QpB7An_Pa+#5q?WW#wmM z|M<$5_AZW0(B|6oMi=g{q5Cjg42$Ka_X8431AK(5ZNlB@vp)#3(Gw^gHtt+d0H9e| z&FDRxhFF#UfQZuksEYRr0|$z#;kZ5s-&i-?4ia~8 z%ee$#S%o>s-4A&Oxy=d^>Fbzl)$_V$vB}@ygMVIDVgJ~8qJ&UX$QE1wpFx(wV$1~? zRIo0fI?m8J=B}=i5I0?il-FK$ygX6{&?5MMw7U;2nLhxyIA zzJ)9FddHP*4BgDB;XOaD2+^T^r<$_}(x=18`46Gb;|BW&RWe?(_)sJ+vKanfiRtml z=;l-?yWjl-W~H@_K{At2D%^z|&9B_eKZB2$FSl!=sP#tHQ)i38bv11Q;rEN8N^#BR z7Uje%P|jE@1$xh+{iVA4uC<4vYXKVHZvilc1Aw!YGX7kc^l|ftyFIPhx}OnwbL)F! zfmLfvv2k+CSgNH;abg1MsRy6WAoevv!y{5_-+0DEQRF}gKC{kpRlhY}>?cP#+;=8( zdB@@BdqtD4EgunsP=shq;5aZEmh~-s5K{N<&m0Tl%ki-Y0&Lf%Rhx zg|DMvak4Ie{FAoRL;|Ws3a0kebYBw5o4DUH*|FmCMZ^Ro$C6Vxbk9mLHvVInOjKw4 zj-S$V@%)zz>^`Vi^0e|@Gm-{d`peUbfP=FN7wtTlvfWhSw==N^LmWzR-%LLiV_f2{ z=;odb3@^jz>>}0i&cseVBVBoD6|~nQvwI-!+pvf`f8vYqJ>;5QiTZV;@7|(SRQX+j zpZ!0Zugve<97XkyVkcL1L&kTx-J8>js=tF97`2sPEC8o@_36^v#W^%{@Z$N)qhFM< zNIr^aaEzA<+HI{5p$R}Y^^p05=z33dtTzR`9(Lfm}(3E_Z;QxSnv*?4kDKv^`RUDiQ-RKfrFgp|51 zpr*YksccDbXn!#|$Hp(80EX1+Yqnz+&?WmEhCA*LMcv+R*^|&{PD7G)7yRCS-WyhT zf4IC=Jv*7lA~Jz$7OUfI1beR*)(XKyfn5V7F_Ir(zp^%}f&KvY%zrzuO>fe{e@hB< zss&xr0ic4FG6>c;@{JKZ{aw-PneL`~@U@%z^C1+}kSaEetuvFPlFrCiu~3=S#%{ zeB6I^OZcbY*L8wB=Pd@q*myoy*Cab;t8<#-5d;3& z=$W?v5DxjCX#`!6bsfQc1P`B%CKrvOf!Z=Vzl+8`JIpqlia4c~8JcxLHH>OFcylNn zRBrm)Qi4`F4B#N*XzUWqfQbLg0u0KiH!7hF(WUgboP5GQtcw025&du(@GY?p&|!o`7rT5PK#6Ec>OIP)-}rD0l{ zT$L20YC(L!JX0^E_L~ptvUWB_!*QI-Tx8Ebc`%K7<+sg7UT9Fppnd^AP>Ib)0GTHS z?E@Q5^PBVtn@nX;w*8tgW>P+6ngG`Y-rCKyr44)U%G>8Fix9en3fKK(w!}#9)Mz4eG;rnQF5nB^hF~PFt6p6qcVz;*uH|5#9mGT->@zl z{dF^rtR3C;9jQn!fqEj)C$m1oak0EDEymQK<}WFlvlj5Qt~J#GT6=wx&XxO$#Cuu% zCH-Mt_W}+*fWmRvGr?yVpX0spw5kWFts+_lY>>vNUtofAYYYZai3(B&sCj5{>@4BP z-Uxs-OGIMR`}YR@&0Ig%VZrWl z1_t!QTms)HS9qywql*UUFA%|HaCMa(!9g}jjGAUn=HPFW)6-@X5g&={Uwp}MxU6mcfU%S z#UPMN`;k~E#%cl={gT7-5U#@+PEl}#e@3+71@PIyhSvf18Bx*>7xjp}1oR3Ga077( zp-$wAulLCz59}5|a2{WK>&in03c}_qz$^Gq4MFaRd6-@vik?0?w?+}wL|mwTQ=ZOn za$+V&;@PG-CoQe=>#r(NKSNqG6r-Yl1eIqSukXfBye2*;HY?(!;=BK$i&hd95Tl-` zU`CbRFJ7b&p`Hhut%uYi8J|BN_2@v#67yJIJu3ZF?Kk^=uju{pep5u)IZPEOVd?&h2V6fs4&cSx8IzD7Gy#q1^Brvk8xa37?z^k33Wjnk|)N zR}IlmLTG2fx06Oiw?m1`0#70!o~-0HnHw?T8eWI6u6rCLk=7Mb4Mc|+GNQVXgWg*3 zO%Uy5jDG*LvTs2Rm!V%DpuQoEy5|4XO9#Gv7wytrnnk2bgYS?c9B;*3qoJRJQQf;g z7)WQM-`az;+!7L%IoRZ51A(<_y|(?o*x?Hp(6%P$H2VGgKuwe|;#tX%iOAvtpy;31 zeCEg%@Fe(!b$da>0ver~Hnx;bXOw~VBAD`?{w4k&LY3-?*49BA_?9ZXS@GzQ$9I}U zhFPs{+`cHphE}iGkbRYrf5b!2dkeUq3AtD8kDh1gaVdcQbcz%=Q5`%`5zLFJ6sVOYWc1OKacZdFJka25)lzXiv%o7_ z^a||W23%hZw7Q;XO07J?o!7rlOeO-dm0a(Dk&M}+wiQNtCN}(cUJ4RvZng)dyJP)r z#44sCk0Rc+&}m_;uQ8#m+G+7i7lyN`JNY#Q&sge^{$IX z8FhA4+C1Vs4R=2_677fwf*(|Z1~eWvkK(D_L)VzRXWs>FSkeFN2VYeLP_mD%Pm?jX z=zH$m7)%5*qwuWc>K7ft%PS|=$Lk*N1v&fH%K){eQyI#7Bw7avI%ybc{y8j`yIWHzQtvaNSxeL+4Gx-g`~% zL&2p^_?pxM`+O=rk;IF$^G`-s?5hW&j^HdpzW!ST@l$(&;Q6fojVXYJO zX*YtVsRcZ2fd)-l;LY|!{3iM^6}rdw|Mc<(I#bmF6m(nvD8LJxFY2j&yR@F2NpN*$ z5yaSpUn>o5s z0wxGi4qb!GuvWcsIUOgt@!Erm`k)ypefEMhmVmx!-#@!LEFI`f4jN9ztAi=Wq^UZA zaF7y+L+5K;a`pW23JkjU)5ZR*-~RX%s_ze{F1v9l=}eHo6oJkrAmJBojt=bGp)e6I zd*8|R?^YrLX-p7KJrguBYBeXxE|+-g4oW6jHS&j*f@pXs6!hRMGF?G+Ps+p&9gQO@ z&5+A08=yOwI_7FnSU>v0qk2V8*KZ`Q-;E)cLX#;~EuM**B1o?Df#C}SqOeXg6~q24 zt(c9ZrR{6SG0Q4^5kO7=K19djHS^BL&KZNVVTloDVs$Ctp9qFimrm-GIQs5cnY=ik zgb@a!Ce7T$8uDyFJI!dUGbF)k=GNQC0htk<;&-(}L48b-BL(4WtWik-c&h7BygR7| ze(7#eK}`@!D4;(k7Uh{9Q&9?%>W610*a;L4T$vSMbU}#1_1618SSvuBG;wo?j-B5D zhlAF5_3N;Vy&E&YfJCf7y&(owe*wnZ(K1z9JtiMeE$Q!AS|T9pWM_1dN{jo4XoYvQX9;^Y_ds^DPB`=T2-)5EA+D8zNdgtfBD$+v!1 za&?W*^VlzzhcM5W%vg5YYIR!bbX(8UfDnaV5?1w?B@ww3O2K?pZJe2-4}u%+2co~# zvZ@C3OC&Ms#yPPD_ySDq(CZr;pFH5=ezQeNSJ~rno4$k^akkIhEsR9P|6-CFJ2Ixa z=tq>2Hk44>#;5C(rK07-M72#`n3W6pQ-PzcRLuk^HSkRVx&{EU95lk!za(#}N-}5W z`su(xtar6zK!w2C)#WGUpaS_vAR~b40o9{2E1Ur7DQs^hyKcURYV}~u0hfbz%=l(k zPz*M}96>9_VwP1E^q-bRj4YdnyH%8l{cClVsLU8;DAV!_v=I;NqGa_v1;xN_V}rK}`7Tyy+4Mn_X$H`{kr( z+lAFv$hn~XI~?Ed`@x|GuFk}Lc>H^rb_9^6Ni!>@TQSL(2MB90%B}U|K?48FeFrVe zCJl|Vq0H47t6WrjaML#bAYF8#{3bM;vZX=GI1<-J#tQcFW@%AQv+{^S8<3>C7vxy~ zU~R%mdW=RQi~@QFFvirf?x$erbC@xps*)UI&Edw{smVMD3eigY%Ssj zzrShe_|@&TCfwWeFMDD2OE;iGB!{Sp>E_a4LqG`vh$3xD+(sfQ?a!_vbo}Z3==FTJ zg0$gUi!IucsPCNvZsqM(3J>b0Opvsp)GRovV@9-9i_N#m+<8N@&keZ_(6i&^o+(Vq z{fGa{W>qQBM+|@6y)yiD#>J8ILiC<9r{|g#pxQutrXNqbT;ZF?%@2-L8uvJS=$zkqji3f~WsBjMKHGr+yN-Ei~ zVzw2@;W7A3!j>4^yC)c)DA*sJHV}FN$Un!%oMGC?Cndtw~s3Rznar5*>CF2Ee_mW1n zxl*WOr@zK`MVWfb36>=eSe8;(W3f>Q-{TPKPn3Elo3@cHijh6y^-^GeiX&wk#gOF@ zd;IRscXaa)d7AOIB$_5+up8X=W@H%nIl1;H>T3+yUAv6#*vC>HrS*JRHfgDt8ml5a zZ~;Fkf;6<_8`Jk<>zjmuoxc_HHXr_*aD5uy17}l&0o|Zw-(dheUe}1M8=w-MbXkbl zAMpGxC*V#rG@IJ##$mS9Exz)o$Q50+yjEO`&Pi`@=Q1#X8v(Ca})L<@{78_d@aUdmuDwUCW*neh%3w~vs-@QF7 z?m98crjIoSZU7v`mNQ&j!Y>YV2uF6-Z^`0XB}dD4hWOu1T6s2F%#eNV3}US4HWaF8 zX&F1->15g@Jj&p(1^cMjUm>mgmC%nvQbNGaPnnD4ok^G^S8j(~3TOybmqb}Hw z#VVf=H&6HPZ+4`E%{@n_lCrxQ$kqVNynj^D2Zk-yLF(fNJ(7N4o&y+Cplx9^)6eE# z16V!0|Fy0@Q7=gLft4OPfYk!pF+NnpJE;)|ej0`cA`!8j3_y$@8`;U4U-A$#91;#@ zQE=#Y-^288O?I+}gw2mN8>G7EYnvJ9p*1o{$_?~(mB_StdrL6jKNLT6jKtv{r7#uK ztx7q}YJ+yx4TjqFdU~(b_kf4XLm;v;U9@KhEpHvHHRyVa_S&C#?Rvr^W%v>|W(!st z4aWmc@@5SUkZ`n;y`iDKuhXyHNvCuT!iMTG$tc*Ml!1$8)A;!@&gW}l*Xt5|Qu~yQ ztbG6=5I;6JKuAm2#Wx5)N=N~sA zb`L-9|M2R|%cHsB_d5YlMR7U4{G6}xFk@rx7n@L^;&be^@f?$X*!O9`7g`# zX00R$$>sgw!#>-!@>5?0?7(@pNy@xT#Ax~lwLG*TUWmJMlLh5!Ugmgw-|F|Et z%+J6|T1*kKs#a-eX>-7<@DmOE0q#%&S3@jBr{1r;#gg2AY5R&196ks03q*W?V_+sZ z;stBvP^_JgAAQl@#G)eo3~&fQjfp9iGIkeyy?tLI4M}?VgE%5_KrR%hkmVKQU4TT| zqYC@C#exWG*x1N364EGON_WCbSfr-HD&#-UL{!*AjBr2tr)e_oy@lyN(n6aUDKS_1 zNurXCiW!Sz6iHz86G;Xeav+Z_F~u%J0EaTB-K`3!I$gi9w8JdEVaFpPNA5qoJpac} zeixBz8;uEp32u4M*n}N-2zz2L@W1Yk*Ib`3*R~EzRI%}0Vb!tsT(`bJ6enfVlP{);ND9&XnGu4UWG_*|2nL%<|r?( z8uyQCQG$$K641?bg|eDUMR| z^|+4J^cgt^-G9gNvgdGr?||UuHyr=D0y#r^v+f?1t}T7n1y}L#7u0IMlN`cpEypDF(=D}+ly1b)x&{% zZPgCWFfaf&o9oRq%jf_S2}m{K3pIXSGrW4$JuWL6iAhn0Y4nr8C>u$S0v8^+#9Ysb z7S4(G(NtnWVnFFdrSlGu&krPT7I!sy(w~ZRxen+Oi)E-qb{OoLXU;eT&IJLxr{>-y zgZ_26OBfZ$&zQ_r6xJq2j|AGM>(1uh-LY!Nz(B_f;p4&WON^@6Gr8!?_U+x(R$$-v ziDwLOe+rvaVwinYLVMg`6sOB&KjHtH9t|fo*I&WuWSXR0vgpxmIV)Nljj|%hpWvHa z)KTTzO@Nu9rWFXXOJ003`}+%IoT2$(puK+vSk$jIOMMkq&4 zeIqkpqrrb?pW>NV&enCbF|+q?Z*!|YU|r3dyB8yBrsU`vk#s-*W&4bUC=vpVR(Vpd zsc3xJK%75Fl%|G_D@5ZICaQ6`+&j&KFz|Q`0uj`-8G-9_I#5ADO9s;Ox52l9Y<1XC zIFdn&OBqtC^X$-hT6-kpN-}(g4jy}I8={@N2l{J*!~xupmP@n0mc(cd=UEkv{s%Tw)_DF(n}i~|0@chZ9sVj znK*$;kgvng1L|9O3Jtpe62LiI-QUGFQ^cOpMDMpcHZD~ICSZ4sv0a}ulg8MDy_B}4 z=UxL~gpE=^pOlLef3?kI!5~XR%LSKQoDH&*>R+}bK4}VAmHE1O*F^y;4-IKLyg3ID z+wACvai9+tXWm*r0NQbt(j+hdaDZk9RbLuH3DQb6^uOT0Hf&Ic6>+dGE2@U`7Xi;V zv$3$B2L^$IMh7s$XI@$)L=vef0BV0a3$#P_Ll=W}Jp!RLq;QVE)J32(dzev<$ zS>-n;ywaql$-50(h!Ln^@5`gWQwM|QOF|8{lfx-no>s6U%Bgi4$pn>2vK>ZB&efQc zB@PL5rzJY&<$u7ozabazKt%lRgwSSXlUfn=;~sI`|AzDK4(sKW==0M{^u+U3ZL9mU zd9RFdh#|?VB2i@oCAj3xT3VnI0Kgc%fPM#8pOl{T+6|w%{(TaO7X~mWp?e^CPyD?B zALt)MA3_PYXom$>{EdZ$OdOYi?NRl54U`0+VS)2KYDOedoz`Z<*Agvk_&SZ~6zMWo z)l;baa8rULMlA94m?T6%KLyBi4JBjo zfC2zeZfYEygM4I3MMtlM_w~SOP3j`R+xc!XGn|--*Jlx?OacoLZ9!`J8k#|5KhU+> zHhKQDCHN^v&!P6Sxmh`4%P<`B4_+6&ZI?wYiOXpI6qRakcGMp$FOHpcrX_b76E)!j z)Vzq^T(GqUSP7bF>B@)+%C3j44quJ&Ox?41iy6>Te6kcl+G0>HR>JOM7(@-v$JCbj z?c%o*z^>9Idw7dSWl%IyYQeP^V&I0uwT;K`Ya7FTV$=*5s1}*$H2Bg;IWkoIrS!4@ zf}%PZbp(;V4bcaUX#ns4uJ(_>%cJdl-XfhXF4!wEIsjk6Pg_ncO94dgQL zc0e?%IP#y;@?tsK5*V57BmQ7t&=945#96mt&swk(yZ>;))EJ0ZI zH*L%^Z4^T5?Cva}#ILQ5u?tL7_hsfGqF1Dvr;`KsQ(IRE^X|$;a2v9(nXlC=kwqLn8pkwP zf}+McZNfFwH=iG7lnwWt7wp9;Ipr7`jYnm=-qm-0qaMAo#?lg_^6u)z1KpN7h2Llh z!Kcy9qO{QRUW#RWZ)r6BAD$Lei~S|o&v5wfryDd9yzNcsq`g!B%~d`rArlkDNSNSF zAP6-ABQGCVc);ngv12kr-v$`~C@}&Q{^uVaYGx{|utrQQf`Fss7TV%+`M2c-i35V9byMddLBfDWAedQ{}qbk(6TG*`{(-1jkQImFx)EeuvQ@ zg(PHoeRMk8`a!vPas7{Y$+$F$cwXeu_1#TkwD$~nndfIqyyZW&gSu8_*v2vH0&x!f zr#@u~&M>$V`c?MSlur2PZ+0NxT=2afJ^s26oT@NI z-ztP-q*d2Ry@#d`fO(I8^A^&a4K&2k%F$1&YK|8*9D1!^99vTzTiw}zvm<;XoWMK- z`U)=ZHuJ*~km>Y^gmEEmJRm?uZhnBr9G0wdb$)^`?B5#MlYJ<1$8NIhD12v)AI zYBF3<7Q*-(#lcalh=C;%jGUOb#h>&QMGVgOx5PpbF2VC%SIJlv@M|MSzJ~Nv1<7Xz z1GE>MoJ@cLNS1{Un+P9{f*y@lgOts-JfwWu1lvo;@C~0ZW^f2C6G^Tv9>SAV@Ue}0 z4^0i+pK8<$bnu+DbG8*lD6r{?hJha1~juM|L-?4I7_zyG{DBsIL64D zmDeEm1{GF;*ot|xD>)aQ;KXU_uOKkWyXFM)COn|Mlr~d% zJGZgeYfnJd4(RA^YE(C{6;Z1~Mtvvk0_a$L)Ne=7Lpkt)C)5Ck#5=oVYV}np?2CL` z0|;k=G^4IE&O)^W2}f1>*}KWkt!Wqa-7D-Lc5Mo!*p&CeA##la)w{Xx+;$5FaRQL> zP9J_X!fbgQu74|E=VpawXwpdHo5GF~O9$SKkC~PmsSo26q%orSRB_{5DI-WFY^vB8*oOV%3uvHqo8TJz&UYVuy8s}`ZGo!m7Co%4r%AZn3D1p1w{FB>-wtwcE&+~pkuaCy{* zaq`vaBx~h@fv*$FjSncf(xE$1GclmlCfvx~f!qI7{++A*%o4cO@Rw?S-CQ@L;S>=> z4`fu06j~r=bnkKH7t|1$)1H8;*>k?pkbg?bkU4DdUk7$y{{g1oo=rHj)nBKHb&%xx zz+~YetH2CaUEC*WEv$xPD&i7A-*(?Yf%GS@xrJFFGKe2bKjDLQiG|;jgnD=akfcNc zTFIx0X?>r8uMRZ9I^ZONY$j61(D`Q`*q%>UK;r0ff;{d)odS(*tDvDF?nZerJ`6dk z08m}D@x{RaK@Mkhv0pY|w{)U=NX}7?mw58lt1fFO??gLW9qd|16`;UO(qg_3C2X+zJ1Dxy5F~Aqt3%%XSz9Ic8Hdz{9B}s zl>pb=XV60kTtOCa5m8p*34ui1P51R7+ADDM?>ykmMua-=XmM6tXLn0p9$;Z!ZZtj` zEHYylUq8r+t*6870{sq}DYiGq8HgNl82Jb!Iz%5&T_qfELpyL(#MHetyqX@^06ehw zfVP2{b-@f>Pr0f&`(_}VNvarH#+vUqTwG6~#ZiY-Y|K!}uyki)H~q;eYYEC^g-T(J zd=6$K1H4r=0z)+dlKL;E$HYW|;C_oi3k7z+n11+(Hx$53AvOUL4Mboy{6smp@fs?s zY-{)+%Kg~)KAYS&&L3uLT!a_Mnfj1@NKx39V#I^-1Yko3d>5Ee5JJtEBRX9i3Jq56 zLGEnpS<=hjK=XqWok*f38GZh1i0l=|c_r_#q@T(;w$sGtHw?r(p~b&7k*l4UOvej5tr=ePVbWPfQ<517;dMVnLV@mi4wzwFyJCv# zVJfx>lgK}is)u?O<=lX`LCNsn1u4aX)X0t*97=nq()5*jTgp7tfEXor*y+jSSLh`s z2n2AWdYv>oL@^wX`Y`z0v)Efl1Qcv-f@8I?qrj50Cjic|2?(wL+klDlx&R!lHm9xD z)g!SoDd^}r-{1xt1{!$FUqh}IM6oJD06{FzN<)OW5Z3+QVwzVS@DTA9aowwrF^=Y3 zeT7l)cyPhtf0*_9Xh*ATmoGZ_%R0@F%K8d$Y}cfPX#*s03Wz^z_x&0-#})N7&^lY< zI}>!TBi#Y#{Hc@^#I1aJQ#a@6lW?^`a8HZzD~D%joTH?E6Lc zUOWP$-10KmM$)_rPoR$IZm1^7utbB$s=ovJ>aNv;tNW+u-<(Y*_)Z*Bd@#Sc-P22j zcr*FVX?)$i0>Sa{q&F4d*||IYOWskdL?z~Qo5~nLX9A-?{RHl{Vox*9SDFA}meB7= zjhQ+sM1vNJ6B{(hg79|FcRx-qd#?dBuj=Prl-8fq0 zD@9PsB;CwWz(WMtN|hF>QR_)d!9%!Fv)hpeOf|briz2WWm-7%X0@Q%Qeuj-=1T}w; zNkIQ);2wbQ-!d5?9fe1ap;ZYC&iT>)r#2OGLjwG(7(9zo zX`aqAgLII=ac3zIvYJ7&5C-uNu<8h^5#F??9>gqOZ(SDG{(i ztA@<^M)bD!jveI5X~s7{GHrN*gBcaQ#A7HXaui3j{rHWxVLv;z=(^7|eG(-9Rl=IT z9Ry8$12U{91p<8N{8u6Yk&|X~tQx(@xB!PW&DUy{b>+)j2NmoUw#>S^8ECm=hi^3? ztB(O?ht5e*L#p7nHGWxxeBmBYe00NxMx(%~GjXsTq04E{=06NJTh};m3$3e5cHL(c z6%QCOw|w8wj;MPT0zUNp!kypRgT(P1Mlt+av`LJN^4%K68}@{v%3DtYKCeLw8Y@JV z7Nvj`e+5>R+ znoPccC;grx>)(`tH%UkZ-ZlzaU(>iLcyLY*Yg&B~mfv05ihJcj<}~-@fjiid97Ke4Ba)$EXnzTbj!7fRql@CnoZ*wNp zkUbeW5fbQ#2a@TzQYUZxD3usg*cvBfH~VWy%QdI!T5`HV$-Wmg#7M070j(KLGn^f~ z5b#p<>E-U5EF_q$Ld@{ma1i7Rp(x4_VzJ=!%v#GNbw_Eq1EXb()+&pXelU=4Xd=knkknT6l{2W0pq_j!>CQp>J;PpE?v$8V|5il|Fv|18EoMA8} zNa@!UA!`Y z%k0Q>Z_aY&rLa>H#=gy4tZgWB@+46G<6uK(pt^|}-rdXLB{dX3UihfWj;A*&8g0wN zurL{^MwIT#MS{0w2ZPqOMg4Oo_ZthuBu4Z1T6R;2-YiV!&brS)2gdVGvdbF)#whW; z;bPuiXh|b|4d)h+#t(y1)k_Y|@-YKCQg-xpFk)@?fpCtMv*%xv>6&+z8iRlYRp#l} zZ-3nr;982r#Q&y(M1n2Z?(%Z%7IX@qfj2z?cGk(W&(G02=+8jm+6-TS@oY92{pb=K_Y@3QInKV#d5XQqI}GpRgd} z(HVV1?UB8+k%^vn49tDVyuvC{ZIQx>EL>g#Jep;0u9nz~_m9jI_)qTWVh{(d-tv?M ztqXn^drkF8dR2;%Ab+6vDx=3W^Pn9KkOS{L_#wQEGS{tel9B4@8G4hJ*Sxi&JPL5( zeH8w4-`KqB-6Leo1ir-()xC{OuQayO>!E$iB)r|Vhpk#PeO6b#%P zVjRZz(*3CJ)NOhJ3kBRqZfH7%)J}*iKU{H#ek_87nZPDt)g*n4KOL1&pgfD|lwV@i z)q-DuA1EjXihM`P1A2=6ZvlRtM%SU`NlSC^u=u0}+t9RLa=CI8MW3PIxX1d&K zDHOvv2DVDMS(o9iCf!TJ!l(rI3l|K~VwQNgt0%B%xCRO>+E8KKq%xK;n|oCNc=#El zq&7@`L0v_-YPvlA5oW#Rok4x}4@uZ8hw~k24zh4vyma%NtvVRy2(3>*0f5Qq>kkA) z@)LGxsu1Q)*dZNwrw ztzrnOARwk*yOE$Bb_P}*{B7kodyd?MmVP*SCnBCJ;feI$3iEobAQjs}UIbQO<>$-hKm$;Fa@Pc*J7>+z2PhO^KXd*p>KS=#{Roz0>A$%zV!LS8Hss;y$u+*wPO};N!0vfw9)jao z5LuR)-}pr)`tNOU3VSomCvVCIclv>_07-C|eVB>yMyV*=TgIA!g~gaVVu^BgY={qv??M7uJ~ZF`%}oZ)qia_zd! z#@CBT|1%9Kr;%6eGat6eDl&xK6uW93t3whF zExnRrvi66(y>=bz-a@iXi!ywJ#E5LorJQ63>Qdm)Xx&>)x)P-e#Tn1kyyR6gWo~u* z3{&>a-Af%T6lY^ME2OGLw$gV!yvvIJn#`Fu=Iz=CAMnl?8@`dBm!B-*X8AM0Ml_-s6KYxRKxtoFJ6nMT86?kCG+J+VHxu%} zhZg&)@~4fq(VB^Mk7z32&P1!f)MvgtaMe`&eZ0FT@%=lMY}tFy^@M^X$-W*5Dpg5{ zG@@KvDZy2>5gpNpp_PrOVj`((ENoIZSle!fgL+26J#TJ*vq#-}c8{4?_jf+erjO@r zKzPyOo-<|=gCqlK<3tY zUkgsIWnd8J+7p#bHlrwN&mRfr{u`}K@;yq`<+`<20qKgT8TtrO#mw$$-Zjppc|}Ql zdf5zDXJ&klkxJLbWK9;$m{BhJ2w4Xw%f6$%w|$01Q2}LTt~q|n{Y>s^Cb%}G2rVkcrG zIvkmV`|ezi3F`L?+>Dx*Gf{UcB~Y;bQvVt35t?MW`}NHa+ItSu1h9s{zP7xVPjjpC|CxjZqG9GU+^q=-T1YQnZmRs9_Qs=9~(J&r3hdoEBKXhfU zdv?mJGdv!kcq(i*AYY-KqMhcEnst^Z>yISx^o(WO_=i~j4c_PWTP zHVNyBF~|?Dkd-Sf65Bop2Rr1?k)Kud$E5K@w~`x)smqzot&V4iJseo+t!C(Y(iCPR z`5+cb(x%Cc0diu)E8zCGJ$ML1f5U%^@U_&fw>e-tf58NZ4&`gxS01_@&7mXsJPv!C zv#h?ei#Nw4Yrn5Zbp_<8*mwe>h2HZoy8-HEa?MtvY+#;X!|JD=wXci zK2Z9we8PwtyMMTw_xD@FLz~gHZ!A6|?@Jopzmv}UlkFrw;GaF#e7-%6VJDC_X~%$w zS1Q$H?A_3yBx|xMk1N8+I_`s5L`xRiE*5&YowlNWU%%xm!vG=U&jmF!z1V>-9Ru*A0#85kA2RdUwe>2d>oZy59PA)RD z@cpFwdvEN$jkx?}JHZ;l2}X5`4gBW8yJ-uHO;NdumiR=C>_!FaO}YmqLP-i7EjIp1 zlN!zol`wD7&(OQNzb1_1m~p-u2`uzb6A||BJK}&#gTV6F&~Nr9?8mEZey@MrK|gf4 z!Ad-tH@a?1b#N+A{jC_SLbs)@h|9}Xth%m%c7K-{+85NfNs$=F4rVw9vWC`nqwA2b zJ~eXdG@It+y6Y`evolH==jz_lEPY6Ha0#!$@#WY7#a}Mjf0%8mF!B*eTou#tVEJ#F zn7b{YW5~k7Z>wqv`n&YsApVd(JbGvET=}!-$@I`R<9Q{=mj=KCBV(oz{{@1dJwms7 z{EcN+&TeSC_6KX#g%faLH#%lXwua)O1hF9r7Q|mLV|vpCRo8uY^99yMzVA^gP)U=IQbRCIWJ{d{to{~BW!g{ zb-WZLv*}!kr4)pKR|b(bX#%+DcR!=o0?+SkO`Tv0-tEAmIx?mdZRh(%rKJ0wygt^L zVAh1h{K{J1acUu+kYFWzga?w{Q-Xh0Ts=FJ*##?p3X#wXP6(a6?Sc?~4>RYyG2Dm8 zdOHLHqk(DPkv$HmfC`3!J}vLF2XF&C;kP1j9`Yfl|m@o&Gr{-Hz(u*e5vdL~6}6QVDA-tg}5z z#@_x)`tNa5XP;vl-+rMTw=Rsl14(m~U`%WGM--7(Tu0EsbR4Bbjl-Wf9O#;M{_yZR zI*r5vR?dGvtBb(ZB>0&&<$zJ#4ArL=8@=Yi*%h^~CGDDWg_B%j1K+bckJ2CpTOo#; zA;xgU?DpzF=R_SdXgyFDr>xJEok7C}_oBtC78q0rh*Bx^O(Q*F%#VMayHaP(zb*Z{ zsrHFk?a5wo;`eW;ExNt4_bvbB8&ECJ4-v0HulkyGBK5gL)67y-)`^sd_cN!O=%O03 zsWA->dVJJ8u9&_K+IJgd9CTcZIj*X7l0<0R_aoZAPh@g_Zfrap0lnSt)}2JeyL~}O z6I;>^on9}9N_`?9oOn_MJIzGOO1*o2hqaRt!{i(xDPBUj`Tfem35BlOJ)AH>ZUd(l z)Bef?_eUxlBTE=H8EL<+30BSYQ~%u7hePYWTU?W2_H|!o7)g`f-Zxg-(i@1;f_Zw~;i zZ{1_~+W-`|^&)P5v;i)+R{iB)C1=mUY|p`Tm$4lfLG@o<32Db57Qi5F#SjFq13kJP zr28)CA+LMg{24ou#8rC17Fy?9xfr_SU_Nq~up})cMsea93>1&{kr`KdVS7T=$(21b zic?%ON04U;~L*c5pH$MPGwD#7jwl!^D&rG_&qrS*wF<$sc6#w zjs*RdSr3dBYO_8X_$iOhZ)?mz8%+JZ7RkVFU zFtvKnJ*f1NcHn`P>@a$Ke=kcz15B)9;+ksF(SL*SzZ3rSeeXM1z$EKjhvy-P;Rlnx zuo!YiNv7O0A?QT-)sFlhaA}fbCLU%`38an+Tu&DNvqLm$4CY|yoKZ>`NnPA=ID%oK z4@H$LFdYMNRHK(4bru*v=h> zR!7bI+uuisXTEo_j0k`ui&?J1MBE%;aBBp`ZeU{L%2n9#W`vM_N3dQVPVytb4-)pJsA91C zw}SbqF9?Cq`l%5IC}4HshkYlM>fdkX_Kbv6F_N6~HAdMy?T0R&2E1Ol)zKAM@uic7&S?GQ#yL5c(AujT5e4i z?oX;2gd=F-5}Dw>dTBKyx&L>?weF^qwa3^OAJm=pz~#~bWnFvdc+>B|kgrTvF}>sM z(5FE8P+&n(A6t;88krOgB4b~Kgd(G332Y?c0}xsPTRSk*aD5h=XuDDO`8ZFhGu!j< zwXo~2vjOFWF%6+4C%gCJF4nfOv8LWHpbdp7*VW$1TlD?$Ue{K%l#tDAJxp@>J@yET zGLPh8(tp$iEWy#L1-qxB>;$ws89l!x(T4gg8JXk^DTN}Uvs{H>i4SieR*q1hd=ilT zk&du1Hg>A5J!#8h|DGa44>P0WN(WjJ&7n2glBCPqWc^xhb7Fbw7iABY<}@@l_jR^z zhBsJ8(9ABU^3h|v0xoRA*l*@<_t&F7G%@e2iH{BzG4Ac#3Pi1^vEnM+?fJrSMpnS z1}0z6+b4HhF$fXnHN;6UV2NiBr4#e4|6sx)Ii&E$Z7p!VDVe;;6Mr4LcSjOCl~lxt z(hn3RB;>TJXwSzhd~SsW*gP~6MxWFK3(ONP4@F~e9jX-<{qOPETCB?_AjUQcu(VAC zUF(l<;2qMxhZ|@H`^9_Bb#r<=Z%c?{HxhZ>M7bRc(Q?twJZ}eQ6?uVCeF)a zpAkD7jA5KHqhWGVKB3}%Oy(H0GA%Hxj-OLsjD>5uSjadb zDz8p9!RcCp0Q~*6;z&;Fo;D%~y?Cps9|8e@r!Jn*x_qFrrp_C{e1Lc7&+aFFC6?-W z`DJumdowr{nPk^sXWJYOO|b*ST^WP+3Pf&~=@JrYs{nohU+(ab&U?#dzK3eQzA2TH%SmKwzaa)P+6@3*Pz$c#s}I7lAsY*K8n4&abM9J1{nfYq{CM+x*y|3qZZD34IT|j@!G7 zW%P@!#9#dr20ys_B!h?Z061QVdteQgeP03w^?KIbquxRhe^C}n%qnUu>;c_@B;{!z zDus(ak-YzCVlk8GDszj3_WF@n8C%4w+KKwWK^&3AE{aSR=VbT$?;BLrBGk6A$mqb& z*P0v|6XLvpS)h(uBHeeQ-8@R_4=r3re@yV3zuVHo4*^a;;Iv)I6b% z+-IAH%#pA3F^4g;Vg^70BvPN30UJH zU|c?nVupn-O@t)fSv9=Os`fBUPQ@`ObwK`{QI`WkefO9XB*B0zXdaN6D?xSeeEjBE z$fMhoL)iToLEr7nvi1DjL)z&YilyzAQ~z;_sr9sHMvq`R3EKkjFjZA}eKPE$iZ@fN z7t=%Z!l5F`+s8A3x`oNi-?Q{-JW>>OV)r~ow7j#LLX!+FG@F`)eB(_B0Ozx949z$m zSc!!Rp(GPEGSqbw_S-9hM!RhKSIOOz8Q+y{_p>M0Y$7n;l&C=+HPOU6<`<;}sh|hV zQz=#lw_s0@B%x96-~%$N`7r$Wu4%i%=@5gm-*iS_KtzH^D>JNaj1F3rDbtvX1qWxB zl~N~o{Vw(^Q%44*U5oVC2*-2~He}E$VSx=HiJp##eoD;%SzXlz1p+Sp`KFezm6OYg z3bI62EgiA?*7vA6yt5XzcNKLRV%faN$7dK(J&$RTEiH z--ZhbX(^a@^Z*xTVhg)H(|Vq7wA>Cwo;Y?Yi7EUXBNy~SpIGh)(&2G+xLemAj(EJ@ zCRyd;6OwcM9R?*PD({dO&=~`IO7zlOdbAxTR<{!IFs4Z}&osk`2_v$xZ~lYP)FzQ) zXNzVZQe^bQ3P;QAn8yh8hwd-^A^;zDH06!WG0+fP1073bK+LMQ3d5>qhW#I1s*;Ti zWX;>5UPeCs*Al~bT?EZBt6I+athzihGd=3jW=T)FSu?dRE0r$#OU~X-r5r^Ll5Fm6WQAN$Vf~4U*xX?)0SrP#0I{N*nuj zBi=+dZu%45fYaPNcJPr`NbdZzGrzw`GXs&INug2PJr6eH-Xcvp zDK+8f{yC0DV)Ce|5O+Uf#X-r;;|0SIDBh4qZCWJ8*u%<^6_8n56Yso8S%q4D z!3K1S%9HS&foo-41qCn!mm_Aquu}5~-OAA1&_9aUO#jX)%kwcO3ROm~$%Ufek#$Sb zxk67%!K(=8V)!yuS}Inff?#Tlp0Zy;QNbjp=YkB*+ILLVq?@>2u-c=lU5;OgVP`cl z*<7uPy`mj0B*3xOV*efDmXZYp>>rHs}A4oJc)rzpn_<-TusuIEXK1Va{@OhMSyoo zVXLH;gTvvE6)`19XD}~dw8|^;AXSsEvxxibSgCZPqOR{foo$V?E$AQ9%{Z%po0F%7 zQ6mkn`h^<6w8D6Gi>SoR@_eW|b^k)fk;G~x!q@t34o6Hw2M!=bkR)!b>p}H58UGs* z#CqT^Y{aBpq5^*4VM-WcAJ?)+DOH-_P*S>(h!Fa#?nWZ+=-G zG@dVvO#m$cJf1upDpNLB$!@bI*T?7L1d+1Btz`eCs^Mz)=XwxCX#BOn(*|Z|5xLpG zqVaE^D=sC2C7yIFLy{7f%=9uBO2BN*`)>xnj8FoP%4sEWV;cDnaOQ&tA(?;>;3`>j z-JhDW-Imz}KoITv2UwgGaRzx$wI&1*IyLvlp9_ab8K)KR3U05d*v#elTEXq!-1c|V zDCPS4_>W!n4iCS_dFY4ekXWh08BrMbde0R#f zu8q_cjfeYV3=Bb4;MpGzsQx=rsDA17Q4N5s`X}8w5Fqy-4-bz+J7ZjsKkc1YJ$cJ{ z5A{a4G=_y;ITEiWcJIUl#JUO|meKRdTYa+eGWs?dx+a2&;HF2g|J6`n(tqI+DFN?&Wfi+` z`WSBnMhsw^#%qSbb@q);4_G%RzrYQ@g3C>9kw3mh^17r6*-=)e#Tyn5y}xT;*e!q! zNO1@9yeZ02Iga@2`+d#}`Y4%?M)Pz%msblA8`bW@iom+~bW7(y@1hp8zcrHbeF?k3sZD6oal#}L!(*D0_OKCZ{FkY{$Qc-R8 z3RO3F3hXqoSM-r8-DeY5=zQ_V<1bDtfaG#$F&X=&b;A zKUQ-(KP|##65ua#M!xj_SAp2Ih9N$H7!?#w-GtRI<4ClW>OewXzJ5QaC*W~_1#aJ3 z`;?;$96EAr$VDdiG z>NeGm-#jHI(qbduWEG51Vbjrr0;y7mGwsQFF%P!09`BoVbDaGWSgoXb1-2y6 z_2O_u3{XB*6GCm&=ChmV@5OhUe({-cZC3xlfAVFP>y>S2Ek_E!%Cpd@^7Mled*Fbh zDr?5Dg3pPl1FkoBMZ%bkM$7VmylE!*3x)_r;k&ezUA9G`B&ZN%P->K-eqh}3DXza( z>yK&gmE*khVdOsS7t7|-iRQGb8BHymlv@{jw@Zuz*cdHVR=SS*1u$u{6I}a5oP)BN z8X8r`sze$~u^fe~iy_PvglkIV`Lu{YS{vwp%bRflx&{>S1_R)tI-GaCp2~|f2zQ~u zzB1ZavJ=b&#hZN6C>&#Ut>Vx7L>^}25588e4qr;_ZKs&_SKb2 zg7SsGNU8*pf==BkAB3MAI_cUA7s6hYKn_n3xlwCJS-fZ*uTn0S0fSR4g$~jo4hUIz z=ZK0qNz&GviYC6`C?c}LT8*0epQ$nf7Et~qhq%P z1koY5%5rKpy#H>#|W;r>aR2rBYSyBn$ z>w0RDYW%vx3XfwBf5jMQx?9OGHMr-5kIl&G6g&}5_2#%oybv|oo*Zu-+S+E+F+UQ@ z>293}mZvNHXgplnLK7jtHpc=3FiHf$$t!+ z>|g%X*H_YxyENZQZp2kl71Kh2)Q;6HE9nA5)oUTt{k&oZM`+MW<_@l- z@gEGLjP37@!4XfGS6hWM!UW_$nfCEL{)p-iGvjK~ip-&V5wN>ooEQ?5u*BH6LdmiK zS4ew&FacY?qkz__+_2#zODgCC%iufHbRZxH3go(MeIb7PM&_F}E@Ncf^w;k>OuMW>gbPadvP%JfY% zenlQ9wD(YlwgXkIoWVsy`j^gHAfr#3S+5uD@L7zG9kQN+n~%aO@A1tDrUZ_Zzx<1V+Hf*Q2wR;G0L8RCy6LOuRLhOBT1jxJfxlBNjNev6 zr9*|DYybPSm?zodj+b{DY9uwwgEU4$_9N;Wh@+B5TIh5(3C@ed>nDoNqh z>$=i*3887I!k?6%;nfnbAtB28F`+TtsKB92;~Z_+iWwI5!?S%%rBq8`Tv3=45|Mv= zhu(e7Vh?-X2@cd*0$lbAT2<}zVJyywZA-)zgGvx51=pi9SD33osTmiGs!82pyiQr6 zPjL~El>|B`Jt2769dFg)7M3uB6335PCYP0;Lw-L+? zEZjg|0-XIuPT10$OWpoVQuZ0|{TjM#M@p!G2@{t8o`yltZoSQ&)iWft?Ns&hsm1XMIZ0dgUy#Bsv zDtHy1O|b)m;#8xQl*@Z z=v0W)P5OZI+WyntJ!w-b^gq9+6?mZFNlGTefy&vYNzRi`7wwu63gxxSTHEqMWc^TV zy7$W}pL?TBcOJz^IH%xOaVu0E5^%DK;SI{Jx?YAz${m;`nHq3M|cnfY#QF{Z}4I|80qik9a-NP^Zx{};lE*urCskN#`4OZqQG`IXjVUAg3evNE%%Jp_|(k=vAuegp+fEJm(BlHhEc<(VYdp(LeUC{jHX zy^nG^b}&i*L9(bQ=(CKvlN)p7j)LVhEKKHS0z7@OaZ$CHa~snoeO~%TrLB zfdm4|E#K07oGTa8!;XUXxQ9ID3d!1P1uft00F=Um5iL%QPZfsFoJEMcaj;D@@9;#I z;nGB%S8@@PJJ0DlmH24Q@QwOG=mHxsCGAHePsK4`4<6Mu;KN>?v+=_H5`CszLBRj# zSlc=K2Pw3OP+{qVW)R!cSLpskU`}5-ZW(iFgK-!%AIZ4EpdT#j&%)6C8@!}4DnTz$ z$v|#BXcEz-SwJ;AAD>;+4i1$S9Z_*pQgwYXj%nXvdwy0n+N_9#z0(89gP5YES&}YpL zPG%R2gk}@{$)^X8ofQXuSvj2ibZOxBN0WblkGZ-}IH+)T|ApV=#j5`@9ESm{o^;}A z=;(sAGt$%`6s@Qph|@sPMNl%Ly1aHVoOcxnC5E;L{`YMbGukEJb!8f=d(B|=(a2?#2o>J-yD2vgIv$mcarYER%+?{n{Ej)mzjX;#< zM3>ay)y4RTOlb-$7>pkHhphEYg0#0Qw6!e+#J`zM^Kp)n zYt*x0baJ0OsrdzL(C9c@YY+ZK|82HrdQ~M7$5%EK88&eC7^!tSB(S}A@7p6U6x}lt4S?mOeybL!IfDp`gKv_P8#OgS z<9}$5w`HD1C#;iQSfi}%%>T&vVRXIgFjWCD{WZc=Fc@2B@Z++A_MU~>++?BE!U~Bm z40jHS&AsGq%0Z@Wv3P7N&iNlI&S9BMWwk8zd8iWU;PGp2xq#-%n553}Z4w2H7);Y7 z=gJ_$9dKgswQcSCE33GvnY<(_W74`s1qR7)&y-%*pkZeaZ}|@A_~zkEPTmL#$r*hy z#vAH|10{=`{IwCVIXGs{cT4~3E!S8})@nI>{^tA5Orsh6Nhc@zI5_}BD$0T}`f~zt zhRc$*Kf-oTlinqaf~|Z(1LBz`=l>~0UXE_Kq?w^cj@a*8?{RQYcho*h9R>=--tLSMe56>Y3%u;;fZ} zAk@T09!eom?0NIO^xileBd+!|k-IAn(<)N!biW-OGlEq}c?1`J{H~nQ{v=^ZHY|J2 zOH3P3s7hUBW~wDbKXMLmd@t_!a;ez9VWGI{2YSQFxgNtgR*@1_%s_S2P~~8aG7@bG zu34aYur2jgP!HwS6Lfnr>!tEtSPgqsRLKU8GbcGCCLPV(umHFE zJD~t8`B0)^0;wTBIih70g_nu`cA6bd@Y1NC50y2UiW&lEP8jnL>whE$g2X{+v~<>C zJVJDB2NmPDq02V+H>`tpA)e)p-HZvIwxM|A^=7p-)L{4$A3~)YwV7EX58@-GZZ;QIY=kYD}I2!RCLWEz-VVxhC zh86BKL023HU47D0g-1NuDof+fb!i}w%`6q|yx+NRPT$?D%o_O;FrV+cQutGuI#59i zwyhZfHq1Ar^8d8}dak2Vfew|p19`shm`UF`+577NU&?+oaIeU-v`oD5Dz;E8M~_J5gI%e_-6VSzRyQDS zza4kcq><3F@%@GdV;GTTgr0kNVN!05FE-xT6&t27av>|q+9p=}g4}v2kU_-Z4Wm%L zzZ~uOKK>fhf%SFqBEm9 zGG{hYpaQO}uzWDlRbPg$M?wf{lV40Lr}Z6=>9wel0^9C}%N)&QF+iK@(y8h4n8}r@ z$kWGMSuHaGfSc|QctVPBHga!#Yy2d1`E_CHn6>iCMvVHNpD`)vwTEs6laK&2LemmH&nZq?f2iVwptcsBq#T{J1sT3Po}%R z%y)mNDq4kOHF*DQ>Md=+=Q^Vjc`8;^<+zlb%Fh%OOnH1c({p0|Wt)N@mDM#T1Qyr| zw12X-lzp4`*Kvfax?2mP5}!63K*G&syAtmf0#7wDVPKC4 zcAYZ|R>Imb7`lDHO#)#X5Qd1*2cT7}4J#2{lo)@YQreBe*2B`#i=aqGqOM}~zh%78 zM~!eXw9bX?s#16jW&G2Def|`$s(5z?^!ak@eBNO!i{1Yim4`u^Wj4_5sqnmm5qdsN z{PvPQfBNq?Wj;*$=|aj{J>9=*y0s{7^&{7(7mUs{nqnMck14Vti7z?bm|Og;sd!`$ zJ)(R7hbC(E>~MlJ2dr~)n-Om~i0VBaJ#)imK|D#purmSyMRcy#z}rZ;QLVQgFsSlp zvZxmepV)uVS+X65tFpA_+`!=>qUoP;T?IWMx;t-%k(b!Mnn%UU?`0R?a#GFyM&YL?_Cw6Xa z;9?NK44xSR0h_&Wmw$q@k=^$XVRxEJ{CHde!AdNNYjP1B$X){dCamHHu|&y_!@FpA zpnqn-sS|_bn!Dv|Dy(TpL65nHK`%`C_6{F>t z7+R9VJ>;woYQqB#LN<39iphFKq!0>6@L}Xz?&x}@Ws?%~TL>W77*3WY8*P{vo&Iyp zWJZN0y82HXgO{drL5{w$bQHA{@LWym@ao3sfQD{d{)LW8o(Q@L)#K@9q$7Nh*^kz* z)k}7qw7yKJBhB>z=NHiD{`ZlsfN)D71-jh{8e4C1t*RW|w5DaCeoPmnx1H5p;o<0aj84%nKD zPC-aMpu*@K@9%I}I`;1ykakCE*h}oITYQj%3#aqVVj4D~3cJ3YTN;$W)J^9}8Zmnh*z%+7Qg|Q@DCx)epT{u9#ivPGPQl0F znrG!kT?x_nhY^-AGJI11j%~#dGWm{0Dz+6(<~v_XYVlNYQDB|=7@=sSSfpzKbowvu zOV>Ya3kThhinn603Sk&Out_eAsb+nPg7w9Fo`R&LqLPTkjF`RiG_k$}O9S&l%xw^W zEVq<~wyKS&uS0u`tZpQDcuDeJW@CxNq<54*(}6}&3T`Jn)s4_(GmI2bm6 zz+A*D@F|P*sRA{r0@u>JN?UVbdYw_ym-}?O$675XuZgTWWjd~I{ZH|Fpc^WE-e6{= z3~g0fHX21U z7&;r_IyKv&Ar>rDf}@gL+AcDMDf@8p8hqqN)37YudsJnzVR&38MnmEwkWF<-k&KEG zW}ni0f^f%rir*A0K7jQGLmadiWlW+TdZ5x$nT^kEFDJOF>$8Z7|MY=D!buDsl;fJ{ zDBnt%KERr|Q4;UF8aA$mM~i^I@CpI(6`KbAtpDjZp7k1PO}(_vZAUmAhM5K3h*$SR z)NvrOoiGL;fv>gh3G-=oOANKhrPZZ1A1gX70xrl8GzGJxfzet(T7A{=PZFQ2Ev=k z+haVQe(7ZdU;{KDyI=4+gZ^+~b4Hp@N2JePdVThG@Ek#l#b%|&Wz08A3fCskR#W1d zb5s?IzR$av*)wpP!xy3aDf0Lu&eQ^;rK67aohcRi1F>S{5IxZdU}SfCBu(FFED1j+`>LzZz0|u;CKA*&_)VB(txomWNI;eXx3z(Q$1)}y@~(2 z{|&HL8Jo-BzASl1|AdOgh^v4>D=W?SQ$_|MklP8Bk(N|Dg;)uo+8ShZybl*?DXMY* zEv`BLlNKA889h7QDMX`Y{dHUk7`VMCrjIkqks2O?VF-NMSM0U>rmRGptb4=|ZqBZ3 zbA$tcsljB|qt(@?0$A!cGB|`kY(mSy!O_fcQv3kGOPLho&!~F5GF=>kLCJd}8Zmt^ zuLh&$^PlTO2Jpq0i7hyM6DMIu?7x0r63&kYH46#VL;c!u44H7slcAj!@B4iPL7T+b%nc4Grhrb*(AWkcmH4om1A5!u4qNI086(NJj2FPhZ})#N z^dHw;S|6?%Za2Y2j;|I(L^Dlf5%wZCaK9!KdKx)7J>W6um0?F~P#q9CtALYhe!{(C zkDLm}cevRqopCn+Zl|7Wo@9qYaOMmjsZpOb_$kMCC^MkCil~|h0SP7)i2w%9L$@}V zhSdZHZA8Jpu*B?5LcW`}c8Py`o)2*xU=|ul-HNn0GgrQNcdU40bU^E+(_T8KPA!>s zDOI5Qt|*|n^06%+NZL311xZL^g@!@Qz+hi8_Hlspb;*TO zP7r9v6JnmD)im?^Y~5kKx@J3$Bs*EJ3S;Mw)T25=Yt)d9t2xV84dZvqm<)-?iEtxO zSH*6uyjrnx)ql#cKSZJ%FpvRkCsJ@(ru$#up5eAsCWCu4+7(!|YeDqzH2uNkbc=q5yOy>uyJNv zCU+FOG{TzqsRpe=C+W9Fe%vpexV#x zlvHBuht>RrnP);UOb-$?<3wPk0C~5z(VN#C{l1{Gojp8$6DKBE+H;Fnh$kR<&(QPI z!m$;X|%&vC`N7x5tUu_f?0&cdL8lLyO-ka?=XYAs4Zd0}+Socq){ghe$7jBq79k1FUE zP8HjIswpN4zuE$=WcyD+G|9JBmlR+uvKVkR+v{BZKUuWVW2YL5no^|$m;CfQ(0c@J z!_aGuohwO=Rh$I4hV@ZzXyA}75zw)X4$R*A|n18coq%{?~Ubi{kzu)({i(>ZiZ6;Z$AP}>p|8Yri1 ze{qlT3ykgRzbw{#djY;aBiu1IQXzLX&*BMUFu+DHmwFf}H-EpQ&sUV@bd12XNJC4d zqA1iLjDwy(NtylPWp^|K*91y(HP+R;WLwDnvZNWdnengjb%ZnHJ;E(zZ){mM7_?v( zj=b(m8rJ3&Dxu9)F39eah6k*6iYW;zl~V7oZN|>r8{S&vMGABI7Huu~bPa?WY2-kE zzQ4DJZq7f(Kg!q%Xl9E^#cB7F8vlv zAkHQcuI2syeUHYiQBcJUVqDnfdLvxYYbuKlLj{%-H{6ler_P48-o!uQx+VbDU2}0#d6e@`DGyWJ$5Al_?>qld0F#`A<7F9G1ghS^^oG-K@X46~zOmPJ>JcLC^{NCLLCrTv!BDteGA zW(G$}aR%hp?l$UcEKN1tT+euOU4EnrNf2FY-e=F}Kv9!@I@fkN{lAi~Ix5QU>r&DT zAu$XsB|S8PbV-9C-Hmj2Hx3LbB`>9fpn!l#Ntd*Ql(a~9=kNM`th-oi{(!~vaPGb5 z?6dbih8jJYkX-Vl2h{el6{c(cJL(Dpf;UQu3eOy`aj==>3z6dNWz>$zui#h8vd_}h z$TT@P8b5Iud<&os@cM?>JTib!?uj~2ql;%@|HJa~^XsyZ(aHK*?aHY(@t+b6Bm@@b zlh*7d!}HE4nKpWp5m;AV_uwNo3&f|DgeU@t!uZpI zM9Sbqdy;%oGRskM|SM* zPtfy*)u2TW_fVW)>eFt2H)u`$?qMNECw~uPk&ElCxPoU$w4uiN3r2SU^sDcL*1z*pm)4ikk21LT9&f;Mc!_j;%slT?in z{1$2iWSVRrff#FrK!S3pac_vNbl$PoJo6t=6D48}beh(z{RYLzTDs=fiMg3-hkX$96;R;ZXT9aY!Q)k`*u zYVw}_UTR3g-)H*!OQP*>M$P)f+V0pSu9pdJ|7f)JWahVx#-@VkTg)~uMBP~Wev9%i z6z`83kos@0E;GLc2U8^pJ=(4~DJYhOAabq^6Mj>5Ww((U#76<~GLxGeT{+oHeV zRHc`oShm{*#C!j*&t^>8d+wNxfhRQBW6e9Y`YP4;wtDPK*l^V~!SL>&WV@^n`Y0#k z7ILfsykxsFB4hDj0D>ywnizJ@0N?DGDWC|q04^1Iwi)3PzPS3=fhOQ>g2AD(KM@2+ zJHuYdKF-V$!}U)gOx4D1-;!<`Acxz?{9Ys1duaacR>S3Pn(xbNV)nriw4s0X;r|sh zz?Jr7AU`Bh*fbE+QyU%3Yf*GIfWRD;!Tf~;+egJ`11_1@WTx)#Up=wJ>+rRE-(Xsb z8luN>n>3km+gG;2N-$fDl2)YqwXV9n)d0OzKJDje^TTi$v6=MC7Qau1`l`cY4zPc1 zR?t+`!Mttwpd2a|oV}6yDhh5}_K);5rrp2Q#tlz7 zR5F*=Fw%tmUS!HGeyR&{c?1?O6{U>GWc0F|7@DjE0$FF}QTh0BaR>rgjZM(NC^DJU zt|=CC1LjtH0^w0&hlKET6V2v+T~S3>0_xUUSEK}xAibw`qG#s#tRgjQ{KhiSio6eK zNdp{cd|h`}dj3|ed@}nUCK+QrnCrODLL1!f3RHcI3$&{C{;8dceZt#$^OH(A7S6F%3s@nH-`RjOg` zB3YRj=!j|q&R4ofFil5P_U*pld6|ex5L*t^8uv&t!Wbeyr~kZFu>@kLHEtJU15$yEzmm{vc0BqDHl;1CID8R2IB0#B<;*w_z1;}dtWSh*XTT}b?fJjt|NYWX z&}G*vRYeuP0zn|Xt(^Li9kfE9=;-#ly~^k&9!JIvV}PU|(U{H4If4W@Bw%J+Fg>=Y zfqqf;0N6=GU|zl$Ph ztRKqp6lvdO#p9bZ2*pf+qnBH;x>;y&aWr&{NZ-!)H^TMHLaN z^5r9Gu@s>8<&_Y}ywwiWgBe~wSMc(kgHImV5IVI{MCL&hFi&rYV7pSFIGF9nF3qM` zT>}@_KYq~EpQqEhwnVuE<`U$cK)-wLLo)N*w0rIcJ_%l0+%P5_NK&`T3rTHN-bX0L z%<=LqcfDw%0H-(N+@JU7P6s&3gK30LuektpIlkuznk{kPA^e!l&d_bU*PG)OJZQzc zLCc^CZ_6y-0aWzoLK|)XLY?X&TWI}*cykewr15Yp21!34frs85 ziw7P5U0Q8uyTbV@yaohvAW{5KsWxUn()txgs20L4_E@{bZ06n!2iiv|+h23aDajqmXT1U~9s9WN$e7m#@^{laXr+wH|be>&^G?Y@N}ILV2$(hB!C z-ffmD9sG_`Al*AFR9|pZz_1>lB{Cv14N==HR=Ihay;8fioML^`x~GfpB|0|m&^JRw zWv>p<-Y1i906GC4JnKK0i~!$|r20wj?B-J}Ex(BI$+WfLfA6D9{`Ep&GtKR_H*zUw zHFFr7nr1Ff)a%@AR=>E2^;js9xE0`=<_%(qG@{{ecVJqN9No$Mq zlR5CS)4fa?`#$)<-aaN+bLvNGKJr5fnNW*jC0L;yhXzt)APxLj@*2>KWpq8+CrO#_ z2no3duTawEGE12axeUE4odj~z-JW^9jBziRcZ~*SG86sJ@vsG2^L+lHvLHj#aS5%$ zLl1V5xWGpEl%yN3(raPBvXK)PpqE};{ClV}9H^B=X?>W_W(=1ByK&!1x}hq=jsi{9 zwSg@1PCW{Z=GM3eGz$LJY`aa5PyE_XGy6U<4ci#e=i;M9;4KljgKg>?M$q*C&mEePu*$~J=7>b=vBr&s8 zEme->yaN6|0CI(HE!j$3Q#}8ws^sE+YGSdU@^}iHxsoW634sbcF@I4ofPb;M=|})r z)t3)H#7-{C20asR6yJS~`(m9p^!?!Gdyt(OKY#Xa6p@o-V5PV7rzvH59>_MEygWwz z>-sqPM}#u;S=GQIN`KFL#QQ$==JqgT$#*e(hzV6IAn*RrSdWj1A$y2*^hRPZ7?0R8 z@IN&yO>W|y_~Es?nJ?uLHQ~<_%He#xgpsyoISTcXN#iTeS$b8VG$Vz&YAKcQEE_b6 z$?p-g%`mF?$QeGZjzjaeXDYplZ=fG-G`Z4POxY-;)kz6fxJU*Yv9D_xbnq~;;#cs$ zBFNx^rrq88w7J4$hhx*YA$Juxwy%z^KReG{OheFq*oAid>LXn3Tp;Eg$!|}r0Hch& zU2vejH$OvnHXMvwJ#g_(CNAd{1GTm^+MP7vyuJZEA13}-7giIh=VD5?QQ~w=z?Yjz z;KS}_Ct)@mZ2BQgF%nx&rDmKQ6#T2tvuFC>JNC${YsCorn*f>`g#MVww|;lJFRY#sX;kR8Y;SunuS zGIq?rH%^p4+*H1!$)yGhc}#|w^yp`niMysDicnuCK|Q6g+~iT{ao7-Hztc)r(b5^@ zo&1P19`JlLfZ_4lT^2QuRnYsmqZBljm^V;5Hp|MlR^+n+6^C6hS6)PH9g)Thv6k%p zEJIicXfYgYTCZ3lhZ+4<6EneU1cNP5jf5`NQbOsvJV!~SzYCi!CHY>oMxfIjbc}b= ztuE|Z7&p05>rvRcnLLj zWx=o04kt~aUG^hfnbQl0hO%YPTw=WDWOa<>!DLgD6CEiAD$81Abmfc?@xj_f{dU9H z^3EtJH7n3NQ!$+R%lNid}pALDu>E_kW4TX9QZQaubC9|3Dtv@vRp`% zbMiWkV0FJywfdePkJftCbp3J2TboVj`czna`NXy6w1C14&%(mI;<+p`;- zE{j=RXBD*~&w`0Y#cw#G&~!H^NxpIo>J6#}$ae)aNpnO`y^r~2qrkK&^F%>TaZa$! z!0nn?CCnkyy^Q*$k-4Gq?$wI$w372{%dbtPhr@~zU8H;rq}tN!^7=3U;LsAv@FQC2 zP1#p$p7`T*48KFPa-*vTe5oB(VLRFxQt`Eoqi^a{YLAbmdBLi*#+e^a&vr=+5y>Wq zU9uu>edZh&^C?cgGOlm;1+#H~N$}J4?aq0xh_64*8r;o_78yTlj!8msIuh+?)F=7S zby;5ggxicXa%d8# z27g@8x*|L6DyTra*1-aXMY!A3B}oMwVWV}Y=IK*saG@}kR=^N;55)H4ic=IPFfAqs zeQ(rWi;?A%7yJ>`r@8%bOh6-1DAe;)fd!H^$T^(NTBhGlW;deE7(HD^Hjp1Y_ad^- zI4;`cFfguOL=gFEpt(@@H0~qMF>`h=P$$~zc34bx+Wbm$2n(aBsm5Cgi}auVMx)?T zsD|Etv6XdD|$Ji z-?jB~4rGKskFGAvGWuCvyn&W6nF|hBj45Xh!-t!ub^7LBzkIUHT+(^_lpt8`>oyHH zY6&GtNY}ACAHF2ffaLT?mJz!Ax7Kmr>b(pA3QDr(6QnDo0`E~GCr^p-Ci)A3BG z{3>D-Xj>4CD5VR<7BjskSp41gSh4MvV`PY?xARtjgGyV<#h7u5T{I+AIDEyTP(G6C zm-^cFD*kuTYvPcL`B-8cgC3ST%c*wFKlH~nFGVV0m(MXbDr${=9Pm_YD_>Tq4NjrS zw#D0uVkXnUxdO}k66&R4rnQ8|a`>|hqZ*+OqD~Hxv4qS zDDz&G25JZrowv8aF|jfKb>#B=9mvY1Zv82}o*H8PIAndRRpB;=6e8g{)@SdKo%G{S z9LBIMC*Y(g;3UgrZ}&y5JK6v%&2*gpZ0<)>5iyiTRa6k)@DW0k*>FH0`;_m9mpSuO zTx#O)B9_muxoLu27{Ssia^GGCQytvxSLz*Cz5HmhnPVMjpgflgSSebxkgs6 zS2F(!r71?R&&&{PJgeMyfCs3^d9Qv2 zw3?yTN^_lKq&rVt>m>wut9N{X{JxxY3^W%UT=`NFKc1Rqo%y0Y!EY={XC@x8EG@C+ zs?RpcdfSg{T4G`HBMPpsWLcfsJ-NYme|V#K)Y04w_gvLBCht4Cy1@xPIzCps6|$}f z8T4)3ouCPwtG!x!Flhf1opyQC5qx=8#j@g2W-+EDR~jR+Dd@pl%#j(TR289B5hY!0 zetu~9ffOv*hbWw9FmJwZyO`s+|EU%WFMT+0WcG1qZLdpsDcX(Ed-c;xg6!6%y$%{` z0D;n`PoXf%EgUut!R>8^Op&;^;~sq8&x+Y|2WRycxZ$Usn>6u4YfiRgz@GLwH%&yy zW3dPvOWlF)=lwVm=kF#=PL;WT?1%K|5M>yX*1x2V%wXzO^z^$Ph&?yV%|=BWg$3NsD05{rY%*RE>p!o(lVSE;&J;bq5UaUi5eD#X6vy;Qa}1riLSB24T61p@a7@1 zXaD`x)9VxB+v64Dma~n)ED4`5HRy!cU@Jxp?bT-7aD(vZ%1*ZI<%HvCaTcL$)n2&a zxO|c!J0-p$GpcOR2$hw0`kdhP|7W`_HmN@FTj%H))am62c&F0&yt*V_K$kl_{aB^-cs{eFdM>C7)~Y2vmjdZ zsIs)*j{A-_IbOoy4mMen`HZ3(k{Iwhs8ogB8Q%9+E_hA#8=I^V0?CdTtk9_ar26Cw zZ{R;Ei0v@e;7?-<`$TJ`CQ>Q-Z7)$wL^_{_p^ZSoH&{N0T<|!Xo}*D%#Ui7Yxa6b3 za9=W6%Zr%2{@zwlH6ZR>54ypf@Yy)01H|~Qe5fn`knrU}C{fsE^uz8J?s+7JKOZqqbU!)3Y&kP{f6K2nJ1U08KRN?MMUt^cluz9PW0r7bO&HjeDn$@kNJ zQ}ZrK>draSgb>+<-8P8d))!Gw^<9DJ)F5k=xiy(wUikImN}?~KxUCE9>>*ca?){!i zO~|~NADZHKKRQroWJ!i1%4>}q1w4`A&ti>)HEJ1W!Gnoh|4{_{A^!;}T)KEWOnn0V z(?_g;M0^%VmaaleK;k=e1)MzP@nj484{6kc0rDF8>h|ftO}oj0cVO9jhe6I{FMQ?i zfNnxYlEvxq=q=|n^PE4fZ_!KrMg0Yv`JQu<65&FkS;*b17v)8_WO?c2nbyN*>0|4B z#YLy9{{6=gBLo+<$IKapf9i9uOem`c@xl9OkR{AC!9r?dAyo*G6DSRlo9`NT4Mm)p z7Sw5;tD|!;Vi~hUJ!g@-)$NY(>F!d;CT1;S5KCP>XA3sPHSl0vS2TOwBjRZdeTv=R zy%2Yazz!rR%Xs2o{R>qIvVVXN5;nC%v zo$hb9)JJK173uanCO1&^5gzuhevdgatv317;Tt{!a&C^Zh97)P>y^qS+JoPcWlB?} zD^g{OH-Q(By_a;=R^;y@g??9OLe*xiY_alGK{~Rha4-CDOv$W9YJmoH)n*9-x=wYVy>5Z_R<`p4SPVQOTRK2Mz}OOcYA& zHZEYOh#kN0@XL<%4wRm2Q!j~MbP8IU+y`Hzm03CiQ}vY}fQOhw%9d&(V!ESc0N zUb<>-bI2M!`s0K_oKK0GNnTz?X2j|-Q**}~bbRD8^zM>Wk9&9-WB?#WCOqmdeXQ!+ z$5MGEITXJCtE@(r=^DO+tw2eAe=ED|w`E|hOebqugNhK+_N#MO*s?lt#H5;SrO3)D_yQ|xl_ z;+8^a?A#g|VILoPkeL_a12MLt(&tu`I}4)i=*Rm z8~#DUM?(z_{qDQBja7#oWhb)cOpu#Z8Di>PGtGY>GJ8?n@>uS&h+KzU3s zZ=lUj?oLn13el^7O=89P2w#_<=m{;jT;x+DddIr2F5`|TM|)#~Lqp_}bKe5YB{93&%)p5~uT#G|iH z`rv`vo-H*uHtEM`xu`dV;VXI74>sY2$%h|ozobxhOEEL-7p!ab_b$5|7U-T9HaLnm ziA{sQ8g}Xg_=FX*5HXsaWo-PD8 zmY0h@y3&QH{VNh(K}SLaj&xf*f!5Cej-|WVLGp`4nB&*z5S*19QRXl@2iA z6xZpo=Y&3vm8`!L><1X{7?z?81Bn806(tz-3s&Pd3goR5Mperx>7u`*7$o?ZWn_e= z^Y+T>o7WLWuAFI05U!q_&0Qec5P=ru#t#AY(U9=p&G&JypFtwO65=|riqUfAI~bbW z=Hj7npilT+vAP?zAKIu$ysbzgOGPF9+0j({WwT!E2Um3D+pPJ${f4<*0~~T(3^Rr` zhLzl$_cG+Ym-eWU=nnXV8}LR46ss!DPwM&!E;01 zG(laePYPB!zE<{M3ln&{A`MtLrAZB516U3ez3|O|@digj{J2rl|tygvY=($ z$%=wUb*(KaD9U+MGEwI_N^1$y=IykN z6-f)(^LSeOSFM@@fddChb9fo5o#70TFXskn^#*UC@KeYH_2B-gFcwcljiLFMRTiqf z#`Ri;QwpmGul8;$?yo*@3B&G9H(GEAIW6k+uFE|t?s`Ug!f@G&X|I#FxvwwFZrf@C ze!B%Yy76C^YyIM`r6;ZaV(WmgZOo!d2_utfkFlPK_o@r&_=~I}%{nrKJZ6-CGQ|3E zK=bH(zB+-$iM}MbIzeF+6-K}fOpYS)iSu!C6+LF|Z;NMYcaVN|qY&!rdD9{48w`pO znjVlO4f17DsIMM(Dsh@h^q3bGvn^r4Tj((}teX5*M85xbg$6vesGMM*KsEox`Im0s z3$Pu~>t&uqNEZ~C+mrr0fT%VH;-omJ*lyjGF5QvFcb&p*=xu-=$sQ1^k94@{bbe{5Q*`KUFZcsSqJ zu&VKJgnz!jm~?Tz-<=t|*tL~C3V#^Z`vx8d6bvH;g|jh|2}g>R%{cgZ$|ZRAzsT*} z0lMb5GfeZ8tmsfgZTE{Bmi7S{l}1KVW)0R$O#JAzz(*TCNb4(s6saOKXiLVNBs#oY zZf%-*inO@Xk2D87o~oKIub@HCvJ^~a5~o!mVm}FMtTBYENsKm1MtK@#GtSRscNCkh zfj~*o{ii!mR5JQN0eX4d8&uiMmP_Kh6_1471>~79%E{Oy{gs5G3UpJ0p2LsWi_%=U z-+Wv-IpN#k;Uv9j$cp=J$l0^q*?NM5gFv!ANNAj=XRQ0tZOvE8n9!7y?B!-uPsq~Z zbEK>cw1eG1F#P+KzN+=o3x>TYU1o74)o literal 0 HcmV?d00001 diff --git a/vendor/github.com/buckket/go-blurhash/test_blur.png b/vendor/github.com/buckket/go-blurhash/test_blur.png new file mode 100644 index 0000000000000000000000000000000000000000..9974290578b6a53136036254eefc787d3ba5222c GIT binary patch literal 17886 zcmV)5K*_&}P)hh`TtH;k0W%oXpA$9I5(* z|KKa0H8;+(MPvMp@ip3aSQZi2{Pp+z)Bc-_uK708wt^)zbI9^*0qk<{S1J5FKsz*7 zrd6e%#r)swRU+(vaLS$Yf2QU1|C7f0-vqKwW)DM-<2Zpx}?{u+flhX@3iG z%W{5vfd3H4{-6P#!{?v5t~aIn;u|Az*aW}b`r~E$jUJWqA7I00Ap6<%`-eOIytq~8 zS5D~}R#r>AUcOlTY{|{}{e0!v$amj=)>qrTYLML@sFE*?0RAI(;g;lbZD6ME@C^*T z+BKDYC#)5S{l48i*Cbsse@id+Ec>*SITav#R`8Ec=z;ur+Ac52#d$*fqk2^A_7R)u zQop5sWs+hq+nzL*QbPZ(&Y#P1P0r6y@IWpOLIN7|qriMT0)mKsUqDpz;$H%2gJAK?7a(Avz6tg6= zPZZOO1MG#UY*XL2URix%HOK(33))q2x6-kiKBD4BdJC(#cCTCZs>)q-O4+81f;O1m zpe!LRGuGzlnanBrD6(p3WPb&ww=7t%)v{l;hB&# zsBxb0@0gThc;`B3^R1>Q*YI*$gKVW?H(Ke5rA%WcHFGELt6#1je;(a@MFre%-Ok}^3__+ zAy{0l4?H-(2rL9>xHB`dV)9uJHyb359^lA^JO*m{a%-;OILfp zblYdVSasUnZq!QDwDms4Rmn}AcCD%-?1b09r)3f*dO>EM@l~CRmjNLevO73U1QuOVb5#Mj zA`o72RlWR<`F0@7anPgk7Hs{103U9nbZ3Gz*C=v68Z*CX<;P74%t=rP~=KLHcF$Jl(~`J{TbP%^%}-E$WJeWIxWj=>>;P zo>=MMSUH!-fl5#2J5T1BpQTME)j%Z?Z8rH!6?3ke{GvE>na4(yi^@t*w&onihRN(& zP1}5IwO`=EVpwT|@rR6-D3Iq$-cp8gSqd9^nj2piI9quC%99l|X5{yMg|L1Y$Ml#a zLzPGzkL*xCkxQz`tg?DCM6`=7OPy4)nm_1WKAiN07I4nLcD}znxLa8zUt{|@CQUia zGG7VvRaDr%e1x+!Gra!?a_M-m;(8@sa}FEb3OV;&1ta*6V>w|?n$!{PW>)@n6BJiP z{a~rDJlO+yuYd%nPK#VY>bShP)Tnqtc{cv@u!6Ic^e4X9OOGMsj2|^HNP^bLkj^ z<%>i{fx^r;Oq5?+23aCZSGaECMdg==*j*F2KAjk?WTY23^MVQ=;%q6JPK4}y&Z$+b zJta0)T#vh*e>^O%LL$P=eWxT_*}9&4VpEaFZwVoH;DotRTJwh_zNKd?rs>?lZ$qH4~ko1!g9$2e39t zXA7?zoEb>l4D$V!%yNwBwhAy)MJ%Pt3b|Z&k>*w0@_1)SDrQzWch6l~QN>rWOfZtm zYE0xjc%v>tOI{~h`0@O6-AK=U|r&Y$7(qcZjKxphDlZ(szq_L~; zld3v(brv)48(bxJG8;t*9lgslWtpqy;~C;kL~~D{q{!#-l)Ys27q^8pL$Tv-eWtN= zi4{9+wgFZWL@K$-ddJYxd8CK&AcksK9Vc!<+?$Y13A5__oxA%=CHW9K8{*i->+0!C zE`4aLb*Le*F2HyIyxKvar6K@=qrkCw%o+!+TTdOGdpy398HL%jrzsq6X>85`&3~em zrSUh;7xexW*CxSIqBMmU@Kz$Op3rbpIm6c}^p<0x#J2U6!hn>TU>A;s*)qqo)eE|q zpB2zy2#{}s>ya+U1w;7l0b$|ShPR3mygrOCQC5?k7saxQI?>kzSnbJR6G>s1OD6u) z2moopbF2R>iI(RS^-5igCV z32^$IA(IH73(pDzy`6vd(WNa2jJn6DQFZfmbm^9RA$5w?U;`j$^Qy7C`v)}UTb!B8 zQp5ZLz)MeCujJYJR~gZj@5IwIWOGSa2VR3rhuv9TU_=Q=3PL@)Feg)J#>il;#Oo&L zk5&Fn(N`OPZjcgT)n;oNt6tz^2+9c)0#em~2nRzB(<6FT0)?APc|Hk}0Jr*2naq;B zKW4JVF1Jk9vJMxuc!$X3mwxaNG|WaFmcQYfY#Cuw{92m!E5_OaWHo4TfiuAYgUC*I zNwQf4bh+3JbnpzyG>YPGiNlgJn~zt`jwjqj}MbGVg zE?YtksZ7|*O%;>u_9G^9VgKq3Ijh+TtjCuw$=Iow$Yf;8n9Sz!naZxJ1*|7*8Ah*= z$E|W8j6zyidA0bedpJ#={s`bwlBm3E(+O!eT4@DCm}uqvF8w)Phllm6p+@saU?W2P zdrYQe){|ZXV|PquE$b0IIiX}W(bf-yC}}w|2okbfc1jEGYzw4Hfb=cj-5dV`Pnps- z=v=LuaC@$m05(r?hpRfaWivCwuFPf8q_nMK?xRbm3azf&Ngzz}53@0bSg;lZ1cw;4;G9LJ1iJ+;~cOrIn|#A0}@2Gf`! zjrnk9Dd_-3Z}8-3+a!g7(`r~L&%pxEU#V@Kgl=6$EoX9st+i4)%yo?oF zxK~UC){e=_)*~kC@G@}yr-=5L5{8#9_G(;mg{6`$J4*}+DUrskq_M)5sr_Gd;ci@f z=E-UpEWn|*+t^_&c4s4|?8Kd91!&ViIE{T9GLgz9AxLR#1vQ<)qy`|Y_{dC_ffmL> z+QhND{zhmgC^(y84Pw!BXtr5UcFV_s+@8_cH1`-Pg5~Pab%AfdG1V5r{8tH!JmpIh z5S9Qi&&rL?(OizU!MN*|G>YQ4a+#nu(dML-54^u6gk=I_s1-CuXI$B`h8;}6atzS@ zzTDW;A=648b(nM%E2ss=k#qdhHC1Mgd>NTBp_}HQee^upBX}ip;wAUSUq2oD1p4V# zE2Z~(Xqjs17+^Y9XJE@psF`~KEOKLya8}aTH4&MCEgNDOQ!KAVEehy@n6k(wQ+SZccw}$4nU&<6LYntqLn6EX-O`#Vp;;>y!Bq-RWVtCusxII z(`Zu@N`OJnSv1ikCNoZ8R7@6}AtMOSMkT1tn6{4u0K5wOzY<44;e=yCYBK%>!Mgy! z5+t_!86nLpZUhCjLM!{yLMsJJ{#-F{!%PC!0$~eyiB9HL>x;%Mio=$5`;T_aKs8%$ zf=kCh(2N2@!q)W_jDJIyb9g%oCJxI`YlkcbnRI%Tj9nuv;e>QfTG)xg8dyT{N6E#T=vR);UcwWC2GR zEf}Pj&F*sq&|?n4nJLt+Ss_b$z+m9H-Rg5Qd4^ZUoa!T^!U$XigXtH9RrX}q>r@h9 zXX1_y2alkY-k(KyzgcYQ$dT%;pg40GuPv?o+ao^dHO5nXmf%OZqa) zkV1U`J`=>`PehtO(#nw@)rtX%z-A@ItVNU2#!$1Vl~!QOF%RQ4ys~GIbiXz6q7(+- zt4KJr$z(3~;Ulo7yv2lC%WZV1+H_{_CC&^URbh+9b0z+O2){}mDiNmKB9<)g;kXk^ zNG`C}N?icdln;i))LoWS8m(`7Bbt)YXh<`%X!D!hDyEWl|7cRxxQuVHp7$!oc(~*` zO!QQKP|FCgs?f5{_j`=UnSn~O{fAp|N4+uDxJ!1FDU4fq^@SNVyu7%GB@mpmE3HJC zR0>@@A|ZLT zO`s*TSzNW%RnqqF&p>UOpooDjLF73RDyAanp&KK)hBtWxXe3k3ZdXM=q<%ErCDZRC5!ukm{{;g@N5tc*CZ3;uP7?6)8Sg|QHNOV|#NKKov!+}-O zqgKp*$Q8~!^3D5Y>c33-KT2Wb-pfRVAj%msW5uMPi^^0KF?ZR*liBz+anCBM0Lx2N zG@V70pvIK8V=^>k#Z^EQVz@Ua0c>jV3OEd9F}(8o70!(F7>m?@3A?dv zox&)m71b?5%bj=<)C$<<GJJUt-`?Lo z=GInO{#pF>2SEV0utK_RiL)767C2k7+Txb7?Td*u_MfD68(LbWdBR{k%Z!$Va*kcD z1fHlXX(h;G63vV@g4!*UW&dWyeYr@Zu2^p6Oxq{+52D^=H&gN01f$Q!|8vPO%iQYD zUF4~!7Oh|4;r-E{Rw`MiF3a`%qI5;b8fliYw^9I?yYpmNm0QJBu{6&g69$Iu|L5L6 z@GU&;eruCN>?M5Nnaza1fl#`<1lVl8$_0)CMy|iD1+o+UZf|qCXHmXxyg%78!yWAW zl{gLl*Zr3BQrw1s8D3IDEbV1kZ4z4X&~wWAnE!bxnx#dXF(&}pH_;`EYTp(vgsMWG zMzU0n#|JVQj#%{5-ZB|R14eyrxSrD#sHXLi~!SrJ;UldW3R+rqWmKq8q3k#F`xB{ zo97-WB!-wYcfE0QS9iwV>!$XpYuR2x%#v1G#e8&@d=iVi|Ei+$&r8uv_p!mXW4c8+3rfJvgA1S0D3D z{?@&}@!f(2jX0tWGZ!Ntfsit~VN7nHHquEmRab3Fc`B}_e(&TG%P1l`X3zo^Ya+|Y zDj@7u=y5u?Oi=588#IDgxa&;(}p?oB1=i9!~6@oPMpDM0nX%94A3T|kZ`sXuIuaW=b;^}Y_WFr z^`TOx+PYSba5kys`Segdfeh@K=eg$yIlKeIASpYBl7=VacfbnUk9&9K4^WJeB8N;Yf6f)%lEGWIr~8+|rTxfK zpI+PRJT3Mj_N-7|P$~+&>y=UzRltpW;mYPLV#qDV7XA#NRys2)5avlViwpgh$^4GV ztQO!=I#e7g1=N)#(!p*Osz<%LlD8;(boYxS>kcL@qit5DEQolysV}Nw3aSjE-3itI zsH_5NHZ)3cW~!Xo{@WT7g(sVTDGV_6WS;biqGLm;AI^-g4)n^>v2%lrD(?7Yd*cpw z#@{o%Xl;cx6ZN}4#7*IUHr=C7j_MrixDo5j2;eSL=0s+Cgf){v1V@GsI(&jut~Hl! z=_(->#w7!956H}vIb@@;bgE_rGPmS{7kwd1$}Q{aESDGO_G7SV?eCKsw6nW2jX|%K zIMW$KTTP)1U*qyLIWo3Kka|gDppTv+N;;0s6QM@ebcT{y4X}E8RTd_@2rW<7a&);u zyi1+jh}{=#sarYm93H|V}6%WAU|f=kPej1i(i~s zjwq4Dlshe7;Vxb2R<0s+p3|%BoPFmh#vamC1+~Q@f4EAH-I(xqSu8H&Ky<&(p)cUC9_p)-E_{2n_xW&A*YpQP@#P} zcYrA&cDGw^>G`GJ35+zfDpDLZEcYxw z#25)-E@Z~wP#W7Y*)EdMa|BICSP;$#ynIw_LE7L!^HWXId@}yZ54+<2oTB~;&)pzw zt1pXxp2pJ(oTX3#!a+tx4mz^;$D_>8ek9W0!jjE1;wYGy#}fxvWLADRBJfYTZU6Jo z+x_+d=3=KmnKo>?-hkkx4R%{0g&N@umUyyg0-X(a99Vk!vU)$5N?SR-tOzmJZzz*&U}L!Myozw&^R!od0^8D426 zpYiw@HA-@6NS7?D+Df~A%j@bT@xlFM&VYr!KgJ&SC+JAlY=dNn_Ff?TGWY4mswX|-Uq+C@dG7x7qnT@M|XwY3g7Hyg3 z=n{|RIpnoENO7vJR#iQjRUWKZ^z&&QU9K25J=M0*SY*;v)ko7KCVLQa{;fb<0GFbLN$I9s@h4Cnn zv74lyqs>MWMiRKlp+N#iY@rjmm~y*603DGTubD7QUTV>ZX#bgo>d~G`F)i6L=2j-N z)mdei$$zUoA0y)rQW(1_cmKMhBhgp>!Tu9l5nU{!|6Ag0QIQ{l%NJjlib-4VY#A|x zrW0}sqo|mJ2jg0(Co`2pmCl7X_=IN4ZGQl=I~RYqca(dDAPv68QZi5ECH%%GnYO2} zL#9}*m2JGXWobv{4oV-a5LS9JQ>{#ZU5I;CoqCI(O#cv*&8Z-p<(6reXPH>5a8^^? zc4XlP)5g)%ON!fY35&O$%&d6T3Y89}4o+hw@7t!*^UA+6{XLLrtqOoVvt=Zjj}aPa z<0$C8ai!(WEmtMTQNxC$x23(<5V@P>L`nSxlv^=S3a|tsuafkw8|i) zG#71fYr2^oaQDZ!Q_N}0c!x0fJ6(S>{@0X>Qk*TU|2oE4PrK$wzG|~8kCAVW zu;mTEG5)p+1vZBy?krB~N04~*nu4n6$M&Dn60uZF&Bg+}b{L2rX2S6ZXTe2A8CvX4 z=;^dG(a>9!CM7aUpEVlzYi0bG6&suB+eS%Ak|5HyE z3atJ$px_#3a_GM%qoq;16HHvn0Mmrr$j7cNAuVvNMsdV_Ijd>2Av9*qWRC}qN}Pq_ zjmRuJeY9(V2!nkBHL@8qIWSQgA7+I!VZ0lheTKo$I;!$rwH?y%K?K(YO8~HSI*($D zPtM_4lkDWOhT2bYR$2Ry9STntla>f}Hqk~Q!as{Mvof!|ot~iWiQQXz|Ap4wz_nns z{nwvQ_bH4AhkB@+p@Bfa*AO_y149PDVr)e!#Gc};ZzbL4}pHQ&^8WnaltC7F|$R@Wr@;m&UA0iV%;d!l!&YNvf5=CWvZe7z>sa0uahHrI#2#bO!ny& zovc6LOvy}%#|oij(G;jfqOk?e=6r(P4KB*n=mxf}^og?0{=By=pN%)(#R~V+^YeS% z<;Q+7sc$hb=xqs@q=YcGP*Dh_2?B$LE+aTR70lJHZGttPKrI-SE2mbr#}B8^y60xN z=;LB}vro<_l*#_aJ&M3PsZtUHqFl0(O28?}EHaIO*oH7BeVdre7A^fjQ#s3BHNXeW zw4FZi>SOtB?>&g&suiDJC%pY%GyYYh1vDmkvH=}5VUx@-44`z_lEwl@-)Rh#F&9<@ zu!UCY&5<(+oZ1o+$@}K{Upjq~aIGE^+U|L6z8E0?aKcO7Bm@-yJ@u?XOXU*6KoTV- zGfn(6)M5r0CFYpmVv)7DJ?Wgl#r@`ye~z)gn#1}Vhg+QLuF*bcvIM9wxJ_cU1B#Qe zTqcAKt>hhxG{RsyL063Vu@smxl5_%Oh{x7YQ!9pr{tQ)-W{PirG~H&*emG@-Nu?Jc zyQv8Y7XK-GCSX62OXzLYN^t$eWKpRXLJjC^EDp%Vv2-$}aky%b_?>mg9GXv7DQ;)v z>h(W^*TbPl=fgZnudiVQ-HR*6?CV3XUs|tvGwB+uI0Y&@e zGWcz@_mcCM(av9VzkcDY@3cJJ$T5!Jp{3u0Z$EuDenl332e;2$KLKy;qgU{%{@sX5 z`xUqTrAK%83vBZ*&fT?aV!}Ugb=&EVUhlWe>aLd|$mO2TIHz=XjAWc(HYg9;{duRC zu*qZ?G@w@^x#k#vO?(8-^r9_xl$PR+B$p_f;~beYiOV+1I@>lnhB!3cO{QIqBJ>0~t5J*LQDewx0nx@M}RFPa73>IJ#PT-wIGm029 z%ofAv>Lpo4{}5WYyT^|Xv}UornQNNx^=C(!8`PN7%t~~9i|gZ*wf>X-{iojhuex79 zvVKWVcse(S)9mZVPl(#3f=v#Ce(2r$&y}8AUAs1gj<#Q~_&A5f(4vi+_g3&r@4IBS z6P{AqPGITJo_L(yz6tLiPI{Q4PYc?uOX+K$fULM4<#b}Z_MD&}n#<~TX8vBSwZH90 zYTM7ocI?d3+v@h!=b!Oo|2_a3)lB;d+g6Eg&KRO|Y-YjG7XSfZ!=GJO(1okv%+S6q z8#-jho+f*rO(l;-ayPfTe|W%$Otvdzjj((;$N45R&HOudKXf_Jlt~#3uTDN4DNJ4g zKb0&2LB(X(2YY{sjvx!ru8)BwCbM}p-HrP&2(k)4ovIyw4$-K~(j~FrJBI`E%mV8HTJqz16wPz@tr9 z)oClJtQaH0{YYJOF^@548cm^k`qasxo(Q$>;H+YYpeN6!IqPILKc{H&maBGKVM{km z{lRrqd!@5j(u3|@Y?=2lhm>HsMBb0IKf17K;1)dh)9gr*Ey7EH6_T)Z!AKa#?Bfu%%YX#s$Q7 z)xfe#&?YJ=fPT+p1uyGt=sDsh^)&)a)@bMIez%rXMVcADtGpoR#@9DRmhs;qn1z&1 zCNogoz5VBO@S4n;@7(1hnW<3gG)n@hyXx+cP5C_g6EcIffVygV3!?8&u|TtMj2xtY@Zm~&`{VTxuBqvgh0r_a;` zOjC9z!sg&o3_`5PtQj>1oH3crWQcJDkXt2_83vLq1{gRS7n_5*)UMA&QKWpIOi}mK zV&hv8Uls6ibh&KKLf)g&=U7OmX;_ZQ13*}h002X+SF{R(FkqqfrGp5ewo*^lXpI0y zbyG7cnGLt!hDci&jkc_n8J0`SD2u15vPeK$fsT1c9gtbne zz!~)6k!TC&Yy=Axz$T7~zIJ35bC@AWsY&FR%*Kg>vuvW-#+s&FdcT&IEt8RiOCnM( zi^o3&Ns*AGQ{6|Vj3{NMjd8aaEn|`7a&@7U1s9de2n#DtQWL8KVHMh@VzDv9kN_ft z!E5u|1WUtUPo2THNoLK737Nq#0H1;~nH5xKPGbuLmqq(>GlqN}o655fMK>99mmX$E zU{#W;I7;f%kRx65yA+08JaVK=V~nuMN#xkHmc8b%AoDe|WUxa}f|h$@0%|JeOu|L- zfkI}IrNe=(9tvb8GqGiuik-K~#k^y!X!A+|)}Acg_8dxMytOXH4pG=B?yBWc*F|>y zN(Jp`l}ZT4PgDq7Mbydj!Z>0~fwY|Mx4yk;le9(}Xmg^1Mq|!2=C&ZSRidsXH7uou ziJu5z{SHaOnOPd6f@_tVkpyZn`V=b&#b_Jpstm)-Z2}tBN~o_FvG0>%r3IHGPr?VC zIU+0;OoqEVrlU+T_2i~qAFz#y0SYXm0G!pjxgayiVyN>UqxCJ5TiAcV8KPBNSuRxg zgcUVSmF-+<-KMrXFxr;Jpb13nY zSNod4@M}qCwm1G=TfWS!XtUK+)0oXmjd4jGotzy3H6`~Ym|UYR;KW9eEqd&5>0f(? zoBp@a%`|>m*JIpTV)O9@!&`sCc#M>GWj-0Fgk)AIhEh*zlL}%27iv1)mI_hMTfim} znSGU18gjy6w={;J5BMX}na<{#Mqo1TSm>WiS4KNp2H9cu0+4qcVS228TI_Vw_)ZYM z!HioZ;4UUHXJp96jYL($tIa2YP@GX?@bi7CgVyp_m6UX<*pi9{$TQ(gxl9M&ahnhZ z;;C3d_LI&ajXXm}>KV7<89P{VR7XHjSZ&d&coU#Dk{WzJ2wf!ITbkTuOE~L8w7sHr zs?03e4aV89KL&aU*^FSi3MR4%#6Y?T#aSW}RwQvz=~>)4|CM`l`8{)H-eQ3{5GE{2 z3iG7!m!s+P#ld085y$I%Fa~lN>5~SQW_(GC*}>2mEDUcw8i#c=dW4~09l}^u*57e3 zs%TFkvpky8z*Rn3UtG*ZiwkaM`9f5;Z*0hxPGNm_KbgX3V#iYW6GZnx$cO7G7-wUe zUMyp+sNVIvF|Ux*jT3G5T7e9|T;^=t_R~EWZC^y1lY#XKlhKhpehQ;Y2KVlI5?#eb zs(uOxik1e-yl#G4m#IqHnwf8HmTn9PNiie^n08o9EPWXSJE zhKjM65c#bMEaNOy$xNSzrJ2=T7;vz(D$|$|Wf_NWH~x%|b7#gT!rqi+_Btlc!VWtX zQ$cpc042zLA`Q$La89k5ky&V*#e`aaK0Py8n7&{WdrqN}X$+n^hKEx}O(gHHZ5{>A zEDhc4=(6}ukmVNnTJN0qszE0~ zC9->}nD`*xH9-b#rI_P!hRI|xb}n>>>W0gxk@zwD%vBYQ*(40yreHr>%?o2L45&=* z+;r1oSUL_JiOMf%Eb<&6jLcag%SSYp7FoyH8$NbeyZ~+EzYev|XDuC%Q6&>FXU?LJ z)88m&A0e|j96ra&@a-S`)RJDi;`GBb8YnN&umWKVPgYWhvG+$Z5O}Our{tmK{bWTc zA)ga(>HKYoj!36PU|;}kx6QU*Ch`i~#u9(4<#^M=iL;Z~B3`GKzR@QCO_0goj^(CX80@Oy785?~-(GM4uMEO6%+FqLr}-ose4Cn!Sx!@`#MIxPRWXl2uy+@vGD#%eraKP*%CqM zX6#ar$=^BJF+BhAPMvuo5Z?uH|7}{#0A&+iV>;~cX337@c)eakPVMuw{0(ShHi;&K zOrVB$5nTw&FX|oN5lD=%{uIlW$S|YKbOtyHd7BmYPn2C7iJ3$ztK>yNeRb)@lHjpR zs79o7<+>#j((|88re=s6EQ2h%9{N1Qyp?&78U8y_bu@?8$mt3NPDYy~`o>!e0tiz5 zZy5m$8kh_=Zk;7hCh?_NdNOZlCESlGuPtCH%B>WHN`AqWVnQP=1&?40Q6gH2A{Ye> z5|y>9@H*zR*A&c?oIIG4H$daUWCg-T!-dopxckbeU%fgWAB+A2@qW%-=Bqig3u9-B zq7RRsV)=%e^4VFL>CC)UY6_D^06C*UH&w1!jPha;CNF?oGTA^In-Ks{9xN0-3({VI z#>CGKXI9{hwq#a|aq^+-tBn7e3AHwOHb~Zb5)JwDDMfc*dR@w@PALPljjR>KU)|r`v$ar}LnNLL+_GJ}pc7PGiqW6sR zb3Vsm{yJVg0(erokiO0ZY|#pk<><`GpQ&iJisK6o z@KMk4n!ovwG1@uq&JfWIV508D`1RnC=_Ki8R6f4sFiDmmykyHDs0G96v)2?@W%*}) zCXGel;bIyx4dqIZ%|>eXY4w+3_nYM1-Mi;MW6P7vF0jFW)@=WP+TgPo{E8M0Ga3cR zW<~=ZjS|s>R?P7wyhsur8y*el+IQnG04-8XKeHFAaWFDa(^zP{h`L1O5Jc2-&1#JA z^FDYR&t2+iv3O+&&y$~LfiyNTH-Fb5Fnh5E8J|(t6BuWv0Q0cdfZCb8xSUq=TSpMo zPU}C!^8C{++JGK%t=*^ zH46#d3Q8lwv*lW2MjJCqHnqtvmi`i(51>t^o`-M<@)wzX&r~G+_c~Ch_Hf89eJ7Iw%_~8UPY> zy*#pHFgtZbc_R_hs!tb4!k!}WA@Kr|3QER?Vyigqn(~OA)hJ-_qpU{RjZrhcmf>e5 z#=~ZA^WUq*mJMLn$kK3K0JV6d%q~7N3<8=no5AMvaOlvi2s7R22~q*tOm(CeFQ?~* z69;C5NdzzfKw8NvG{`G}#%2+OvjoYgab}hfRxR)4d6|r*nW)Ms89PjVSs?;r>%gxN z76jxq=#uLBba-Mh2H37d*=hH^r7NN)XOC3tossRzSzf2T8Ul6IBkd zUrb~9{Ds?q*e1wOHv^%D8S}|xSL(u#yx#wNl}?z(C-l4m(> zM!5{OW!9e;q1UAKD+HlNFBU3bhCEm@nOef>euMAyhrgKhuq;0+$Fwqd`@+c;5WLu( zLHwRs-hLekd~v(u zi7~tWTmUGR$!1soz0TByzufI@`u*j0+OXqw-GJRPuW=04iV*=scmG33EhtHg z-fR5Gz z;3&wV)X0pwrB+4|`b?;8ZYmhVByDiG4vI-n{&=5`lgyeOdwI{n+L(Dm?WC$VnZ@<& ziCq!EtaF1~%bQWHTtHTaneZ5sajtAaO>s6K0Z8wgSwJo118EF+vq>b`u;KZyTF#%c6YZ#kRcLfB3wx&6$Yr`-ir0Ap5u;{D0(-JwL) zypO~T9vkNWt&(pZv!1;$@%W9*#=qmDG^b@Rg5WyLT-q`xsq8g}9|ViFEn6~~B8>ej zVj#q_$odJe6^<%3t0XWgJ}MG*{d8uNkNBbG<0(L%5Xml6OjppsKzV<^u=oKo7 z6wHM!JNmqanPH>%ybUUMgdGiQZ*ch~l&>>wak1Eol+k8l%#}{(suP_T4ng7PQ@`_J z6RT}m(!Ff{`*6Qct;`n{b>|coY!&KUa^I2V68che8BueX6`|!#3PbGOIls=6h3){S zRYVjaWINC@uc4tjs+kA#nMIW|YY%0dH^lmt#OMe+g|Z>-y(QAvH6fXG6kTtjbaiG} zJ+_futj1is)m3bnQh- zQy5XpXNq7pm(J*rR$+z?d_6*^gCosp9L6nMZrzT>#btg8A6swK{9O(GE_|C?Eh$~@#5^@$I9_B%)w-)ucAe*L=x)|v(ZkVl~#CvHXsVK zNZg3Xq0rJ8w+Luo`O5k=1#*;P!6=y_H?u6!@dh+j2A9Xt^h%*-hOy82*#~E=xqc6S z!^+Q_{k=J`SM&8S`I);gz|+B^d7RjDOeSlX*`YOG*9cDl6xn~BZ9wv%hve{y0r*|d z&>kT>7C>j?!iLVUZk4AuS>g*0B=b?=OsEkRc>-aU+^)bnPlkle^~lT!SSE6h$z%`? z1>`gURsCZ^&1S?fE9PA@JIJmvfY+Hdf1R1wb9&k9Kz%$e<~k7qczR2vb2U6)3}cI# zGecX}G8wFxqivin_&mB~;}?a;Z%F9HjOhlj@D+`j7?=VLBAVL2-2aKgl*R-$6JE6O z_GfP@MA_Djp;j8EF&8v8P<5RDg~pq7ar9sfnCx{u`*Zp+qwuV`FrP`-i_b2#y6|+} z`QuD!C-iEI)=?(5Y&>8Nia8S*{ZC^e&HB@;KU1SKmr&j$AT>X_V(I-+3q#Ssu|x<) zL9R=*R=^1=Uv65g_hM`&H_phbX9sny5t$_>yAtNFW_+#`236e$ zy)@oBP9x?%&DjwSly-)h8haXZ*#pJQ?U;WW9TOVJWZL@EnPThCHNl-QQ)HIBza}6f z1CGlw%OWUPwV`7ni~3CU1bInoT0l_o76rn_;l-)7%eCi7#D44 zD<3iDtGTf*mzf8yI~cGE>ZF^aaxh1V=}9qtzRf@sbH1l#I(~y6 zUXquCYD<$&DUB`SeKc!AX*FI=Npk@y*(;>7sHgBC371o|*}O7VhAfdOAj(FtL(ozR zJO4W%0yvNry`_>mi+Q}x9y{L|b(a1@gmrkGIgWF_iRN+M9OM~iS~*W-28!9hf&&0E zQcSJb-@RgHaPy_!j7=AZ8R-%jGQ;4TQf10Xf~~-w>g7h#$CAUML`g+b!P|f7s;|`OrqFp1(s)H*X?&ykpEa z%-$^4%-JQQen66p$c&~LV>+Z`jP3u-MHHme;AP`SEAUQCwEo)Ca?RRw+`>RHb&^Oy zdp#CP6&23HG(_M!3@}V#V~7b0$|wno&R@oq zj;5AJ|MESdHk?^+RG&%z*UQg9@G9=b0Z$um_ReT;GCP^+5?9#_yDvRhjbupJQy&=DjeWk$pu+V?>B@7G6G-xwylH6hjdPg*epF z=Yu4bw(0@sP{3CcmH}W3($FYP8A7dpG#dME(s}-a(CA{a*XtrP|MiXtU%$>(zb3|f zu$K*low)K-Cmr3`=VUf0Y(Zx9e25wROfSAlR^D6CUa_~h7Xw&_WsH1FhDQ{=M?8~o zCA&QHWbgq4j;l_j`W$GrMpW-i-h2 zc;oEX`NZz8v+!S7pB5sVV*nT6+I_SQX9H|QH1F`mWCoeC@gNhBStXafVk;(dAC1OC z<;Yw{Ia!;rBWtB0`hukiy?-VohGt0LuGq_r4H>KAmlR?w+6muto@#>(HV7_c&;zoo zinH#*u8#{|-^cO$nu+(nqo2kbKd(zGU%w*0;&qI+hBOBx)J`y6kQzAaL*~Qw!>ov? z(LYDPae&EWRz6FqulTgUN3lAM3HxM(6_|)As1R?aEfp*b8|1WA{-P>5a3+EEE2=82 zivQ|a zk_j=mU*n>&m-~>$a|pAW{%bt5gqKO3JGcmEM!%kPLuNjH#=JkY(4M_&Ocprw32lt6 z+mHZq8Ay20ff39orm6CLjEz0 z^7#IK|NHm(@AtWa0%Ui4wSR->{;yvIe*&5J5VA2@T!w6rS?T}By>Jsx^MYxw>j^Sv zMIs}S*|c4O_mzzSOy?i;rB~xYKkzKcW${`KoP+`i9$uk-%>h~H<~m!4iSc`4<$ z1I#XXom%+B?0)3O9$B~n*1 z8mka@O4fwzmHXXVt@$ zgPukztZ~=8wJZjWjdy&`EL%bYb%6$UNmEg7;FEc>aOV}ylw3PBHkjW0fLE%ul_)o< zNaVGH$t?6%pEe@iEdSKX&SBTT-yLM*KAr)xGeOpQEPUeZ^?lx)eLeX5HvE2O!p{6{ zH~cTiye?_1lmDoDY0D@^oT4eIh{09u77QB!rWyQxp=oP#uM3T_dJJ=B;3Np*!OWg*7SM-rM&=Huf+hlC4Dz1kJ+9A>8Xs7x1aFo&5~`| zP)D%-7VEpp64j736RnKQWu`Q?($Iv3s7P|PHc_G7z5V(Qc9vASy7XX>tq`N5OXbmW z7QdU*zYzBCPGhTs|DH1X-Lo5h{L8;zFMpk{lzJWh?bk!UZyLkT$hTnV?MTK^%OtW6 zv=bi#XEsbcq`kzJT_21vK&Bb|ybtUi_@_vH*DVx<42FJF^HY}?pP^$us&MmS;^irX zuB{U)L#oF(Uzz!Da(N{zCc=Ji5jLjd#Nv5czppnh`oCWO>vjC{SNbumq$REnAYy40|AJP+Jps`J0P8F^?)LfqZdv|h#hy%u z*}u-26K7`%?O(6g*X#Io_^;zc*vVuU)Ls{bZN`xd6%$XWR!pN&Zcck)1I_fr2q(?( zwcZV9R=nZZvQf&G3A1I?r&e?sEQ~C}Md^$l0vI~Lq?fN%x7`hx7sMG1=YGCpwTKV& z)nKy2P%BFxwyDp*-~ZyO%0g@n4O{n(&&?6 z$b92f86;sv;;U##wn%gkYV2APv&=~^Zgeou6lEwm>h#Ln71c=C6xLe~KEyb8&`L9s zq;V73_jF?y$UdEphO_SzXKlcsjk41{9SiCr6(5kBqdDlRr`fci;bvAc<3Tlppbv0j zviB_8Sc7sW2GdIE`n9*DA8TH;{rnB?=5gD7es`QDwZAzA-mB5uZE%=b3N9OyeILiS zMbA_GepstCbtiX%?E5%}KKrO>zs2|QY}W#7&64<`HZ zbOxlyapLT)n7^;PAgf2!tI^bslc3}=pBXcmVPHczONxmsMr1Y*L0VZW=CYggYe8d+ zod9VCoy{d5Ui#POukCKdx|=IS>>qc}lndsuhBH9e&uHwLjz(tR$367X%+&u5J{$|Oss*VJHhCdYOi9a(h3-{B$ri&(I_b5L3l|`geVi+o(Pc@$>y=n} z*@ByJUd~3LWq+B#@i=X{h}>;=L_}8rEUP=KUKll%SQgaV!us+Z$nK{KLB|oGao9+KnIYol zwGd{MiVD7tSKeQR&4|7G{+QoNEd~1`@Qno$8E++MvphU>b>v6T*{llHN11-aWNT*% zYbmr;W$2ePhI9jGe`Sh}vp3WZ&Au8YT1}X2qz;IaMzXc{8*@s~*@tQ+S^m^$ferVJ zRCd?=e#cGjlyJ*iJS;z|FLxljD_aZ2b_!n374IhKZ2F@u{fkTnWOhA=k}cTON@glF{-S-uFhNZySz#49fLB8~pLr^bwQoNpZD9(PwjLgiN>c z!yisZ16em@M~5{~jZz8MQa4M@C!AK2L_VVpW7Vr-Ie%Z&x*DmX&)M+lhS#=#X8fPg zDJTi014b5#1F63@9R~T5V~!ooJQ#u;hsKf^W|b+7(wM6P%(PtzLRh%lVG%FxQTI{f zmWuS#=~IxEt-9WDcQs*h*0Rm{^Xb%I81)Ixrq{I*LsALOO4l~x1c$&~Z;aKpMYMoe z9_7jO^Ok?G=MS0e0X^UB9X$K75|{FNdXmJuUjf0{*$_VKqLg?H_xx zKbZ2h@((t2@F!5$jjJyZ`Drz8Fun9wAC&&168>>qw>vNYzW@LL|NlCgac^=68lC_E N002ovPDHLkV1n#ryIBAL literal 0 HcmV?d00001 diff --git a/vendor/github.com/buckket/go-blurhash/utils.go b/vendor/github.com/buckket/go-blurhash/utils.go new file mode 100644 index 000000000..593ab61d5 --- /dev/null +++ b/vendor/github.com/buckket/go-blurhash/utils.go @@ -0,0 +1,23 @@ +package blurhash + +import "math" + +func linearTosRGB(value float64) int { + v := math.Max(0, math.Min(1, value)) + if v <= 0.0031308 { + return int(v*12.92*255 + 0.5) + } + return int((1.055*math.Pow(v, 1/2.4)-0.055)*255 + 0.5) +} + +func sRGBToLinear(value int) float64 { + v := float64(value) / 255 + if v <= 0.04045 { + return v / 12.92 + } + return math.Pow((v+0.055)/1.055, 2.4) +} + +func signPow(value, exp float64) float64 { + return math.Copysign(math.Pow(math.Abs(value), exp), value) +} diff --git a/vendor/github.com/coreos/go-oidc/v3/LICENSE b/vendor/github.com/coreos/go-oidc/v3/LICENSE new file mode 100644 index 000000000..e06d20818 --- /dev/null +++ b/vendor/github.com/coreos/go-oidc/v3/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/coreos/go-oidc/v3/NOTICE b/vendor/github.com/coreos/go-oidc/v3/NOTICE new file mode 100644 index 000000000..b39ddfa5c --- /dev/null +++ b/vendor/github.com/coreos/go-oidc/v3/NOTICE @@ -0,0 +1,5 @@ +CoreOS Project +Copyright 2014 CoreOS, Inc + +This product includes software developed at CoreOS, Inc. +(http://www.coreos.com/). diff --git a/vendor/github.com/coreos/go-oidc/v3/oidc/jose.go b/vendor/github.com/coreos/go-oidc/v3/oidc/jose.go new file mode 100644 index 000000000..8afa895c1 --- /dev/null +++ b/vendor/github.com/coreos/go-oidc/v3/oidc/jose.go @@ -0,0 +1,16 @@ +package oidc + +// JOSE asymmetric signing algorithm values as defined by RFC 7518 +// +// see: https://tools.ietf.org/html/rfc7518#section-3.1 +const ( + RS256 = "RS256" // RSASSA-PKCS-v1.5 using SHA-256 + RS384 = "RS384" // RSASSA-PKCS-v1.5 using SHA-384 + RS512 = "RS512" // RSASSA-PKCS-v1.5 using SHA-512 + ES256 = "ES256" // ECDSA using P-256 and SHA-256 + ES384 = "ES384" // ECDSA using P-384 and SHA-384 + ES512 = "ES512" // ECDSA using P-521 and SHA-512 + PS256 = "PS256" // RSASSA-PSS using SHA256 and MGF1-SHA256 + PS384 = "PS384" // RSASSA-PSS using SHA384 and MGF1-SHA384 + PS512 = "PS512" // RSASSA-PSS using SHA512 and MGF1-SHA512 +) diff --git a/vendor/github.com/coreos/go-oidc/v3/oidc/jwks.go b/vendor/github.com/coreos/go-oidc/v3/oidc/jwks.go new file mode 100644 index 000000000..6a162689b --- /dev/null +++ b/vendor/github.com/coreos/go-oidc/v3/oidc/jwks.go @@ -0,0 +1,208 @@ +package oidc + +import ( + "context" + "errors" + "fmt" + "io/ioutil" + "net/http" + "sync" + "time" + + jose "gopkg.in/square/go-jose.v2" +) + +// NewRemoteKeySet returns a KeySet that can validate JSON web tokens by using HTTP +// GETs to fetch JSON web token sets hosted at a remote URL. This is automatically +// used by NewProvider using the URLs returned by OpenID Connect discovery, but is +// exposed for providers that don't support discovery or to prevent round trips to the +// discovery URL. +// +// The returned KeySet is a long lived verifier that caches keys based on cache-control +// headers. Reuse a common remote key set instead of creating new ones as needed. +func NewRemoteKeySet(ctx context.Context, jwksURL string) *RemoteKeySet { + return newRemoteKeySet(ctx, jwksURL, time.Now) +} + +func newRemoteKeySet(ctx context.Context, jwksURL string, now func() time.Time) *RemoteKeySet { + if now == nil { + now = time.Now + } + return &RemoteKeySet{jwksURL: jwksURL, ctx: cloneContext(ctx), now: now} +} + +// RemoteKeySet is a KeySet implementation that validates JSON web tokens against +// a jwks_uri endpoint. +type RemoteKeySet struct { + jwksURL string + ctx context.Context + now func() time.Time + + // guard all other fields + mu sync.Mutex + + // inflight suppresses parallel execution of updateKeys and allows + // multiple goroutines to wait for its result. + inflight *inflight + + // A set of cached keys. + cachedKeys []jose.JSONWebKey +} + +// inflight is used to wait on some in-flight request from multiple goroutines. +type inflight struct { + doneCh chan struct{} + + keys []jose.JSONWebKey + err error +} + +func newInflight() *inflight { + return &inflight{doneCh: make(chan struct{})} +} + +// wait returns a channel that multiple goroutines can receive on. Once it returns +// a value, the inflight request is done and result() can be inspected. +func (i *inflight) wait() <-chan struct{} { + return i.doneCh +} + +// done can only be called by a single goroutine. It records the result of the +// inflight request and signals other goroutines that the result is safe to +// inspect. +func (i *inflight) done(keys []jose.JSONWebKey, err error) { + i.keys = keys + i.err = err + close(i.doneCh) +} + +// result cannot be called until the wait() channel has returned a value. +func (i *inflight) result() ([]jose.JSONWebKey, error) { + return i.keys, i.err +} + +// VerifySignature validates a payload against a signature from the jwks_uri. +// +// Users MUST NOT call this method directly and should use an IDTokenVerifier +// instead. This method skips critical validations such as 'alg' values and is +// only exported to implement the KeySet interface. +func (r *RemoteKeySet) VerifySignature(ctx context.Context, jwt string) ([]byte, error) { + jws, err := jose.ParseSigned(jwt) + if err != nil { + return nil, fmt.Errorf("oidc: malformed jwt: %v", err) + } + return r.verify(ctx, jws) +} + +func (r *RemoteKeySet) verify(ctx context.Context, jws *jose.JSONWebSignature) ([]byte, error) { + // We don't support JWTs signed with multiple signatures. + keyID := "" + for _, sig := range jws.Signatures { + keyID = sig.Header.KeyID + break + } + + keys := r.keysFromCache() + for _, key := range keys { + if keyID == "" || key.KeyID == keyID { + if payload, err := jws.Verify(&key); err == nil { + return payload, nil + } + } + } + + // If the kid doesn't match, check for new keys from the remote. This is the + // strategy recommended by the spec. + // + // https://openid.net/specs/openid-connect-core-1_0.html#RotateSigKeys + keys, err := r.keysFromRemote(ctx) + if err != nil { + return nil, fmt.Errorf("fetching keys %v", err) + } + + for _, key := range keys { + if keyID == "" || key.KeyID == keyID { + if payload, err := jws.Verify(&key); err == nil { + return payload, nil + } + } + } + return nil, errors.New("failed to verify id token signature") +} + +func (r *RemoteKeySet) keysFromCache() (keys []jose.JSONWebKey) { + r.mu.Lock() + defer r.mu.Unlock() + return r.cachedKeys +} + +// keysFromRemote syncs the key set from the remote set, records the values in the +// cache, and returns the key set. +func (r *RemoteKeySet) keysFromRemote(ctx context.Context) ([]jose.JSONWebKey, error) { + // Need to lock to inspect the inflight request field. + r.mu.Lock() + // If there's not a current inflight request, create one. + if r.inflight == nil { + r.inflight = newInflight() + + // This goroutine has exclusive ownership over the current inflight + // request. It releases the resource by nil'ing the inflight field + // once the goroutine is done. + go func() { + // Sync keys and finish inflight when that's done. + keys, err := r.updateKeys() + + r.inflight.done(keys, err) + + // Lock to update the keys and indicate that there is no longer an + // inflight request. + r.mu.Lock() + defer r.mu.Unlock() + + if err == nil { + r.cachedKeys = keys + } + + // Free inflight so a different request can run. + r.inflight = nil + }() + } + inflight := r.inflight + r.mu.Unlock() + + select { + case <-ctx.Done(): + return nil, ctx.Err() + case <-inflight.wait(): + return inflight.result() + } +} + +func (r *RemoteKeySet) updateKeys() ([]jose.JSONWebKey, error) { + req, err := http.NewRequest("GET", r.jwksURL, nil) + if err != nil { + return nil, fmt.Errorf("oidc: can't create request: %v", err) + } + + resp, err := doRequest(r.ctx, req) + if err != nil { + return nil, fmt.Errorf("oidc: get keys failed %v", err) + } + defer resp.Body.Close() + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, fmt.Errorf("unable to read response body: %v", err) + } + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("oidc: get keys failed: %s %s", resp.Status, body) + } + + var keySet jose.JSONWebKeySet + err = unmarshalResp(resp, body, &keySet) + if err != nil { + return nil, fmt.Errorf("oidc: failed to decode keys: %v %s", err, body) + } + return keySet.Keys, nil +} diff --git a/vendor/github.com/coreos/go-oidc/v3/oidc/oidc.go b/vendor/github.com/coreos/go-oidc/v3/oidc/oidc.go new file mode 100644 index 000000000..9726f13bd --- /dev/null +++ b/vendor/github.com/coreos/go-oidc/v3/oidc/oidc.go @@ -0,0 +1,459 @@ +// Package oidc implements OpenID Connect client logic for the golang.org/x/oauth2 package. +package oidc + +import ( + "context" + "crypto/sha256" + "crypto/sha512" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "hash" + "io/ioutil" + "mime" + "net/http" + "strings" + "time" + + "golang.org/x/oauth2" + jose "gopkg.in/square/go-jose.v2" +) + +const ( + // ScopeOpenID is the mandatory scope for all OpenID Connect OAuth2 requests. + ScopeOpenID = "openid" + + // ScopeOfflineAccess is an optional scope defined by OpenID Connect for requesting + // OAuth2 refresh tokens. + // + // Support for this scope differs between OpenID Connect providers. For instance + // Google rejects it, favoring appending "access_type=offline" as part of the + // authorization request instead. + // + // See: https://openid.net/specs/openid-connect-core-1_0.html#OfflineAccess + ScopeOfflineAccess = "offline_access" +) + +var ( + errNoAtHash = errors.New("id token did not have an access token hash") + errInvalidAtHash = errors.New("access token hash does not match value in ID token") +) + +// ClientContext returns a new Context that carries the provided HTTP client. +// +// This method sets the same context key used by the golang.org/x/oauth2 package, +// so the returned context works for that package too. +// +// myClient := &http.Client{} +// ctx := oidc.ClientContext(parentContext, myClient) +// +// // This will use the custom client +// provider, err := oidc.NewProvider(ctx, "https://accounts.example.com") +// +func ClientContext(ctx context.Context, client *http.Client) context.Context { + return context.WithValue(ctx, oauth2.HTTPClient, client) +} + +// cloneContext copies a context's bag-of-values into a new context that isn't +// associated with its cancelation. This is used to initialize remote keys sets +// which run in the background and aren't associated with the initial context. +func cloneContext(ctx context.Context) context.Context { + cp := context.Background() + if c, ok := ctx.Value(oauth2.HTTPClient).(*http.Client); ok { + cp = ClientContext(cp, c) + } + return cp +} + +func doRequest(ctx context.Context, req *http.Request) (*http.Response, error) { + client := http.DefaultClient + if c, ok := ctx.Value(oauth2.HTTPClient).(*http.Client); ok { + client = c + } + return client.Do(req.WithContext(ctx)) +} + +// Provider represents an OpenID Connect server's configuration. +type Provider struct { + issuer string + authURL string + tokenURL string + userInfoURL string + algorithms []string + + // Raw claims returned by the server. + rawClaims []byte + + remoteKeySet KeySet +} + +type cachedKeys struct { + keys []jose.JSONWebKey + expiry time.Time +} + +type providerJSON struct { + Issuer string `json:"issuer"` + AuthURL string `json:"authorization_endpoint"` + TokenURL string `json:"token_endpoint"` + JWKSURL string `json:"jwks_uri"` + UserInfoURL string `json:"userinfo_endpoint"` + Algorithms []string `json:"id_token_signing_alg_values_supported"` +} + +// supportedAlgorithms is a list of algorithms explicitly supported by this +// package. If a provider supports other algorithms, such as HS256 or none, +// those values won't be passed to the IDTokenVerifier. +var supportedAlgorithms = map[string]bool{ + RS256: true, + RS384: true, + RS512: true, + ES256: true, + ES384: true, + ES512: true, + PS256: true, + PS384: true, + PS512: true, +} + +// NewProvider uses the OpenID Connect discovery mechanism to construct a Provider. +// +// The issuer is the URL identifier for the service. For example: "https://accounts.google.com" +// or "https://login.salesforce.com". +func NewProvider(ctx context.Context, issuer string) (*Provider, error) { + wellKnown := strings.TrimSuffix(issuer, "/") + "/.well-known/openid-configuration" + req, err := http.NewRequest("GET", wellKnown, nil) + if err != nil { + return nil, err + } + resp, err := doRequest(ctx, req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, fmt.Errorf("unable to read response body: %v", err) + } + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("%s: %s", resp.Status, body) + } + + var p providerJSON + err = unmarshalResp(resp, body, &p) + if err != nil { + return nil, fmt.Errorf("oidc: failed to decode provider discovery object: %v", err) + } + + if p.Issuer != issuer { + return nil, fmt.Errorf("oidc: issuer did not match the issuer returned by provider, expected %q got %q", issuer, p.Issuer) + } + var algs []string + for _, a := range p.Algorithms { + if supportedAlgorithms[a] { + algs = append(algs, a) + } + } + return &Provider{ + issuer: p.Issuer, + authURL: p.AuthURL, + tokenURL: p.TokenURL, + userInfoURL: p.UserInfoURL, + algorithms: algs, + rawClaims: body, + remoteKeySet: NewRemoteKeySet(cloneContext(ctx), p.JWKSURL), + }, nil +} + +// Claims unmarshals raw fields returned by the server during discovery. +// +// var claims struct { +// ScopesSupported []string `json:"scopes_supported"` +// ClaimsSupported []string `json:"claims_supported"` +// } +// +// if err := provider.Claims(&claims); err != nil { +// // handle unmarshaling error +// } +// +// For a list of fields defined by the OpenID Connect spec see: +// https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata +func (p *Provider) Claims(v interface{}) error { + if p.rawClaims == nil { + return errors.New("oidc: claims not set") + } + return json.Unmarshal(p.rawClaims, v) +} + +// Endpoint returns the OAuth2 auth and token endpoints for the given provider. +func (p *Provider) Endpoint() oauth2.Endpoint { + return oauth2.Endpoint{AuthURL: p.authURL, TokenURL: p.tokenURL} +} + +// UserInfo represents the OpenID Connect userinfo claims. +type UserInfo struct { + Subject string `json:"sub"` + Profile string `json:"profile"` + Email string `json:"email"` + EmailVerified bool `json:"email_verified"` + + claims []byte +} + +type userInfoRaw struct { + Subject string `json:"sub"` + Profile string `json:"profile"` + Email string `json:"email"` + // Handle providers that return email_verified as a string + // https://forums.aws.amazon.com/thread.jspa?messageID=949441󧳁 and + // https://discuss.elastic.co/t/openid-error-after-authenticating-against-aws-cognito/206018/11 + EmailVerified stringAsBool `json:"email_verified"` +} + +// Claims unmarshals the raw JSON object claims into the provided object. +func (u *UserInfo) Claims(v interface{}) error { + if u.claims == nil { + return errors.New("oidc: claims not set") + } + return json.Unmarshal(u.claims, v) +} + +// UserInfo uses the token source to query the provider's user info endpoint. +func (p *Provider) UserInfo(ctx context.Context, tokenSource oauth2.TokenSource) (*UserInfo, error) { + if p.userInfoURL == "" { + return nil, errors.New("oidc: user info endpoint is not supported by this provider") + } + + req, err := http.NewRequest("GET", p.userInfoURL, nil) + if err != nil { + return nil, fmt.Errorf("oidc: create GET request: %v", err) + } + + token, err := tokenSource.Token() + if err != nil { + return nil, fmt.Errorf("oidc: get access token: %v", err) + } + token.SetAuthHeader(req) + + resp, err := doRequest(ctx, req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, err + } + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("%s: %s", resp.Status, body) + } + + ct := resp.Header.Get("Content-Type") + mediaType, _, parseErr := mime.ParseMediaType(ct) + if parseErr == nil && mediaType == "application/jwt" { + payload, err := p.remoteKeySet.VerifySignature(ctx, string(body)) + if err != nil { + return nil, fmt.Errorf("oidc: invalid userinfo jwt signature %v", err) + } + body = payload + } + + var userInfo userInfoRaw + if err := json.Unmarshal(body, &userInfo); err != nil { + return nil, fmt.Errorf("oidc: failed to decode userinfo: %v", err) + } + return &UserInfo{ + Subject: userInfo.Subject, + Profile: userInfo.Profile, + Email: userInfo.Email, + EmailVerified: bool(userInfo.EmailVerified), + claims: body, + }, nil +} + +// IDToken is an OpenID Connect extension that provides a predictable representation +// of an authorization event. +// +// The ID Token only holds fields OpenID Connect requires. To access additional +// claims returned by the server, use the Claims method. +type IDToken struct { + // The URL of the server which issued this token. OpenID Connect + // requires this value always be identical to the URL used for + // initial discovery. + // + // Note: Because of a known issue with Google Accounts' implementation + // this value may differ when using Google. + // + // See: https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo + Issuer string + + // The client ID, or set of client IDs, that this token is issued for. For + // common uses, this is the client that initialized the auth flow. + // + // This package ensures the audience contains an expected value. + Audience []string + + // A unique string which identifies the end user. + Subject string + + // Expiry of the token. Ths package will not process tokens that have + // expired unless that validation is explicitly turned off. + Expiry time.Time + // When the token was issued by the provider. + IssuedAt time.Time + + // Initial nonce provided during the authentication redirect. + // + // This package does NOT provided verification on the value of this field + // and it's the user's responsibility to ensure it contains a valid value. + Nonce string + + // at_hash claim, if set in the ID token. Callers can verify an access token + // that corresponds to the ID token using the VerifyAccessToken method. + AccessTokenHash string + + // signature algorithm used for ID token, needed to compute a verification hash of an + // access token + sigAlgorithm string + + // Raw payload of the id_token. + claims []byte + + // Map of distributed claim names to claim sources + distributedClaims map[string]claimSource +} + +// Claims unmarshals the raw JSON payload of the ID Token into a provided struct. +// +// idToken, err := idTokenVerifier.Verify(rawIDToken) +// if err != nil { +// // handle error +// } +// var claims struct { +// Email string `json:"email"` +// EmailVerified bool `json:"email_verified"` +// } +// if err := idToken.Claims(&claims); err != nil { +// // handle error +// } +// +func (i *IDToken) Claims(v interface{}) error { + if i.claims == nil { + return errors.New("oidc: claims not set") + } + return json.Unmarshal(i.claims, v) +} + +// VerifyAccessToken verifies that the hash of the access token that corresponds to the iD token +// matches the hash in the id token. It returns an error if the hashes don't match. +// It is the caller's responsibility to ensure that the optional access token hash is present for the ID token +// before calling this method. See https://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken +func (i *IDToken) VerifyAccessToken(accessToken string) error { + if i.AccessTokenHash == "" { + return errNoAtHash + } + var h hash.Hash + switch i.sigAlgorithm { + case RS256, ES256, PS256: + h = sha256.New() + case RS384, ES384, PS384: + h = sha512.New384() + case RS512, ES512, PS512: + h = sha512.New() + default: + return fmt.Errorf("oidc: unsupported signing algorithm %q", i.sigAlgorithm) + } + h.Write([]byte(accessToken)) // hash documents that Write will never return an error + sum := h.Sum(nil)[:h.Size()/2] + actual := base64.RawURLEncoding.EncodeToString(sum) + if actual != i.AccessTokenHash { + return errInvalidAtHash + } + return nil +} + +type idToken struct { + Issuer string `json:"iss"` + Subject string `json:"sub"` + Audience audience `json:"aud"` + Expiry jsonTime `json:"exp"` + IssuedAt jsonTime `json:"iat"` + NotBefore *jsonTime `json:"nbf"` + Nonce string `json:"nonce"` + AtHash string `json:"at_hash"` + ClaimNames map[string]string `json:"_claim_names"` + ClaimSources map[string]claimSource `json:"_claim_sources"` +} + +type claimSource struct { + Endpoint string `json:"endpoint"` + AccessToken string `json:"access_token"` +} + +type stringAsBool bool + +func (sb *stringAsBool) UnmarshalJSON(b []byte) error { + switch string(b) { + case "true", `"true"`: + *sb = stringAsBool(true) + case "false", `"false"`: + *sb = stringAsBool(false) + default: + return errors.New("invalid value for boolean") + } + return nil +} + +type audience []string + +func (a *audience) UnmarshalJSON(b []byte) error { + var s string + if json.Unmarshal(b, &s) == nil { + *a = audience{s} + return nil + } + var auds []string + if err := json.Unmarshal(b, &auds); err != nil { + return err + } + *a = audience(auds) + return nil +} + +type jsonTime time.Time + +func (j *jsonTime) UnmarshalJSON(b []byte) error { + var n json.Number + if err := json.Unmarshal(b, &n); err != nil { + return err + } + var unix int64 + + if t, err := n.Int64(); err == nil { + unix = t + } else { + f, err := n.Float64() + if err != nil { + return err + } + unix = int64(f) + } + *j = jsonTime(time.Unix(unix, 0)) + return nil +} + +func unmarshalResp(r *http.Response, body []byte, v interface{}) error { + err := json.Unmarshal(body, &v) + if err == nil { + return nil + } + ct := r.Header.Get("Content-Type") + mediaType, _, parseErr := mime.ParseMediaType(ct) + if parseErr == nil && mediaType == "application/json" { + return fmt.Errorf("got Content-Type = application/json, but could not unmarshal as JSON: %v", err) + } + return fmt.Errorf("expected Content-Type = application/json, got %q: %v", ct, err) +} diff --git a/vendor/github.com/coreos/go-oidc/v3/oidc/verify.go b/vendor/github.com/coreos/go-oidc/v3/oidc/verify.go new file mode 100644 index 000000000..5c4d6582c --- /dev/null +++ b/vendor/github.com/coreos/go-oidc/v3/oidc/verify.go @@ -0,0 +1,336 @@ +package oidc + +import ( + "bytes" + "context" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "io/ioutil" + "net/http" + "strings" + "time" + + "golang.org/x/oauth2" + jose "gopkg.in/square/go-jose.v2" +) + +const ( + issuerGoogleAccounts = "https://accounts.google.com" + issuerGoogleAccountsNoScheme = "accounts.google.com" +) + +// KeySet is a set of publc JSON Web Keys that can be used to validate the signature +// of JSON web tokens. This is expected to be backed by a remote key set through +// provider metadata discovery or an in-memory set of keys delivered out-of-band. +type KeySet interface { + // VerifySignature parses the JSON web token, verifies the signature, and returns + // the raw payload. Header and claim fields are validated by other parts of the + // package. For example, the KeySet does not need to check values such as signature + // algorithm, issuer, and audience since the IDTokenVerifier validates these values + // independently. + // + // If VerifySignature makes HTTP requests to verify the token, it's expected to + // use any HTTP client associated with the context through ClientContext. + VerifySignature(ctx context.Context, jwt string) (payload []byte, err error) +} + +// IDTokenVerifier provides verification for ID Tokens. +type IDTokenVerifier struct { + keySet KeySet + config *Config + issuer string +} + +// NewVerifier returns a verifier manually constructed from a key set and issuer URL. +// +// It's easier to use provider discovery to construct an IDTokenVerifier than creating +// one directly. This method is intended to be used with provider that don't support +// metadata discovery, or avoiding round trips when the key set URL is already known. +// +// This constructor can be used to create a verifier directly using the issuer URL and +// JSON Web Key Set URL without using discovery: +// +// keySet := oidc.NewRemoteKeySet(ctx, "https://www.googleapis.com/oauth2/v3/certs") +// verifier := oidc.NewVerifier("https://accounts.google.com", keySet, config) +// +// Since KeySet is an interface, this constructor can also be used to supply custom +// public key sources. For example, if a user wanted to supply public keys out-of-band +// and hold them statically in-memory: +// +// // Custom KeySet implementation. +// keySet := newStatisKeySet(publicKeys...) +// +// // Verifier uses the custom KeySet implementation. +// verifier := oidc.NewVerifier("https://auth.example.com", keySet, config) +// +func NewVerifier(issuerURL string, keySet KeySet, config *Config) *IDTokenVerifier { + return &IDTokenVerifier{keySet: keySet, config: config, issuer: issuerURL} +} + +// Config is the configuration for an IDTokenVerifier. +type Config struct { + // Expected audience of the token. For a majority of the cases this is expected to be + // the ID of the client that initialized the login flow. It may occasionally differ if + // the provider supports the authorizing party (azp) claim. + // + // If not provided, users must explicitly set SkipClientIDCheck. + ClientID string + // If specified, only this set of algorithms may be used to sign the JWT. + // + // If the IDTokenVerifier is created from a provider with (*Provider).Verifier, this + // defaults to the set of algorithms the provider supports. Otherwise this values + // defaults to RS256. + SupportedSigningAlgs []string + + // If true, no ClientID check performed. Must be true if ClientID field is empty. + SkipClientIDCheck bool + // If true, token expiry is not checked. + SkipExpiryCheck bool + + // SkipIssuerCheck is intended for specialized cases where the the caller wishes to + // defer issuer validation. When enabled, callers MUST independently verify the Token's + // Issuer is a known good value. + // + // Mismatched issuers often indicate client mis-configuration. If mismatches are + // unexpected, evaluate if the provided issuer URL is incorrect instead of enabling + // this option. + SkipIssuerCheck bool + + // Time function to check Token expiry. Defaults to time.Now + Now func() time.Time +} + +// Verifier returns an IDTokenVerifier that uses the provider's key set to verify JWTs. +// +// The returned IDTokenVerifier is tied to the Provider's context and its behavior is +// undefined once the Provider's context is canceled. +func (p *Provider) Verifier(config *Config) *IDTokenVerifier { + if len(config.SupportedSigningAlgs) == 0 && len(p.algorithms) > 0 { + // Make a copy so we don't modify the config values. + cp := &Config{} + *cp = *config + cp.SupportedSigningAlgs = p.algorithms + config = cp + } + return NewVerifier(p.issuer, p.remoteKeySet, config) +} + +func parseJWT(p string) ([]byte, error) { + parts := strings.Split(p, ".") + if len(parts) < 2 { + return nil, fmt.Errorf("oidc: malformed jwt, expected 3 parts got %d", len(parts)) + } + payload, err := base64.RawURLEncoding.DecodeString(parts[1]) + if err != nil { + return nil, fmt.Errorf("oidc: malformed jwt payload: %v", err) + } + return payload, nil +} + +func contains(sli []string, ele string) bool { + for _, s := range sli { + if s == ele { + return true + } + } + return false +} + +// Returns the Claims from the distributed JWT token +func resolveDistributedClaim(ctx context.Context, verifier *IDTokenVerifier, src claimSource) ([]byte, error) { + req, err := http.NewRequest("GET", src.Endpoint, nil) + if err != nil { + return nil, fmt.Errorf("malformed request: %v", err) + } + if src.AccessToken != "" { + req.Header.Set("Authorization", "Bearer "+src.AccessToken) + } + + resp, err := doRequest(ctx, req) + if err != nil { + return nil, fmt.Errorf("oidc: Request to endpoint failed: %v", err) + } + defer resp.Body.Close() + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, fmt.Errorf("unable to read response body: %v", err) + } + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("oidc: request failed: %v", resp.StatusCode) + } + + token, err := verifier.Verify(ctx, string(body)) + if err != nil { + return nil, fmt.Errorf("malformed response body: %v", err) + } + + return token.claims, nil +} + +func parseClaim(raw []byte, name string, v interface{}) error { + var parsed map[string]json.RawMessage + if err := json.Unmarshal(raw, &parsed); err != nil { + return err + } + + val, ok := parsed[name] + if !ok { + return fmt.Errorf("claim doesn't exist: %s", name) + } + + return json.Unmarshal([]byte(val), v) +} + +// Verify parses a raw ID Token, verifies it's been signed by the provider, performs +// any additional checks depending on the Config, and returns the payload. +// +// Verify does NOT do nonce validation, which is the callers responsibility. +// +// See: https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation +// +// oauth2Token, err := oauth2Config.Exchange(ctx, r.URL.Query().Get("code")) +// if err != nil { +// // handle error +// } +// +// // Extract the ID Token from oauth2 token. +// rawIDToken, ok := oauth2Token.Extra("id_token").(string) +// if !ok { +// // handle error +// } +// +// token, err := verifier.Verify(ctx, rawIDToken) +// +func (v *IDTokenVerifier) Verify(ctx context.Context, rawIDToken string) (*IDToken, error) { + jws, err := jose.ParseSigned(rawIDToken) + if err != nil { + return nil, fmt.Errorf("oidc: malformed jwt: %v", err) + } + + // Throw out tokens with invalid claims before trying to verify the token. This lets + // us do cheap checks before possibly re-syncing keys. + payload, err := parseJWT(rawIDToken) + if err != nil { + return nil, fmt.Errorf("oidc: malformed jwt: %v", err) + } + var token idToken + if err := json.Unmarshal(payload, &token); err != nil { + return nil, fmt.Errorf("oidc: failed to unmarshal claims: %v", err) + } + + distributedClaims := make(map[string]claimSource) + + //step through the token to map claim names to claim sources" + for cn, src := range token.ClaimNames { + if src == "" { + return nil, fmt.Errorf("oidc: failed to obtain source from claim name") + } + s, ok := token.ClaimSources[src] + if !ok { + return nil, fmt.Errorf("oidc: source does not exist") + } + distributedClaims[cn] = s + } + + t := &IDToken{ + Issuer: token.Issuer, + Subject: token.Subject, + Audience: []string(token.Audience), + Expiry: time.Time(token.Expiry), + IssuedAt: time.Time(token.IssuedAt), + Nonce: token.Nonce, + AccessTokenHash: token.AtHash, + claims: payload, + distributedClaims: distributedClaims, + } + + // Check issuer. + if !v.config.SkipIssuerCheck && t.Issuer != v.issuer { + // Google sometimes returns "accounts.google.com" as the issuer claim instead of + // the required "https://accounts.google.com". Detect this case and allow it only + // for Google. + // + // We will not add hooks to let other providers go off spec like this. + if !(v.issuer == issuerGoogleAccounts && t.Issuer == issuerGoogleAccountsNoScheme) { + return nil, fmt.Errorf("oidc: id token issued by a different provider, expected %q got %q", v.issuer, t.Issuer) + } + } + + // If a client ID has been provided, make sure it's part of the audience. SkipClientIDCheck must be true if ClientID is empty. + // + // This check DOES NOT ensure that the ClientID is the party to which the ID Token was issued (i.e. Authorized party). + if !v.config.SkipClientIDCheck { + if v.config.ClientID != "" { + if !contains(t.Audience, v.config.ClientID) { + return nil, fmt.Errorf("oidc: expected audience %q got %q", v.config.ClientID, t.Audience) + } + } else { + return nil, fmt.Errorf("oidc: invalid configuration, clientID must be provided or SkipClientIDCheck must be set") + } + } + + // If a SkipExpiryCheck is false, make sure token is not expired. + if !v.config.SkipExpiryCheck { + now := time.Now + if v.config.Now != nil { + now = v.config.Now + } + nowTime := now() + + if t.Expiry.Before(nowTime) { + return nil, fmt.Errorf("oidc: token is expired (Token Expiry: %v)", t.Expiry) + } + + // If nbf claim is provided in token, ensure that it is indeed in the past. + if token.NotBefore != nil { + nbfTime := time.Time(*token.NotBefore) + leeway := 1 * time.Minute + + if nowTime.Add(leeway).Before(nbfTime) { + return nil, fmt.Errorf("oidc: current time %v before the nbf (not before) time: %v", nowTime, nbfTime) + } + } + } + + switch len(jws.Signatures) { + case 0: + return nil, fmt.Errorf("oidc: id token not signed") + case 1: + default: + return nil, fmt.Errorf("oidc: multiple signatures on id token not supported") + } + + sig := jws.Signatures[0] + supportedSigAlgs := v.config.SupportedSigningAlgs + if len(supportedSigAlgs) == 0 { + supportedSigAlgs = []string{RS256} + } + + if !contains(supportedSigAlgs, sig.Header.Algorithm) { + return nil, fmt.Errorf("oidc: id token signed with unsupported algorithm, expected %q got %q", supportedSigAlgs, sig.Header.Algorithm) + } + + t.sigAlgorithm = sig.Header.Algorithm + + gotPayload, err := v.keySet.VerifySignature(ctx, rawIDToken) + if err != nil { + return nil, fmt.Errorf("failed to verify signature: %v", err) + } + + // Ensure that the payload returned by the square actually matches the payload parsed earlier. + if !bytes.Equal(gotPayload, payload) { + return nil, errors.New("oidc: internal error, payload parsed did not match previous payload") + } + + return t, nil +} + +// Nonce returns an auth code option which requires the ID Token created by the +// OpenID Connect provider to contain the specified nonce. +func Nonce(nonce string) oauth2.AuthCodeOption { + return oauth2.SetAuthURLParam("nonce", nonce) +} diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md b/vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md new file mode 100644 index 000000000..1cade6cef --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Brian Goff + +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/cpuguy83/go-md2man/v2/md2man/md2man.go b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go new file mode 100644 index 000000000..b48005673 --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go @@ -0,0 +1,14 @@ +package md2man + +import ( + "github.com/russross/blackfriday/v2" +) + +// Render converts a markdown document into a roff formatted document. +func Render(doc []byte) []byte { + renderer := NewRoffRenderer() + + return blackfriday.Run(doc, + []blackfriday.Option{blackfriday.WithRenderer(renderer), + blackfriday.WithExtensions(renderer.GetExtensions())}...) +} diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go new file mode 100644 index 000000000..be2b34360 --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go @@ -0,0 +1,336 @@ +package md2man + +import ( + "fmt" + "io" + "os" + "strings" + + "github.com/russross/blackfriday/v2" +) + +// roffRenderer implements the blackfriday.Renderer interface for creating +// roff format (manpages) from markdown text +type roffRenderer struct { + extensions blackfriday.Extensions + listCounters []int + firstHeader bool + firstDD bool + listDepth int +} + +const ( + titleHeader = ".TH " + topLevelHeader = "\n\n.SH " + secondLevelHdr = "\n.SH " + otherHeader = "\n.SS " + crTag = "\n" + emphTag = "\\fI" + emphCloseTag = "\\fP" + strongTag = "\\fB" + strongCloseTag = "\\fP" + breakTag = "\n.br\n" + paraTag = "\n.PP\n" + hruleTag = "\n.ti 0\n\\l'\\n(.lu'\n" + linkTag = "\n\\[la]" + linkCloseTag = "\\[ra]" + codespanTag = "\\fB\\fC" + codespanCloseTag = "\\fR" + codeTag = "\n.PP\n.RS\n\n.nf\n" + codeCloseTag = "\n.fi\n.RE\n" + quoteTag = "\n.PP\n.RS\n" + quoteCloseTag = "\n.RE\n" + listTag = "\n.RS\n" + listCloseTag = "\n.RE\n" + dtTag = "\n.TP\n" + dd2Tag = "\n" + tableStart = "\n.TS\nallbox;\n" + tableEnd = ".TE\n" + tableCellStart = "T{\n" + tableCellEnd = "\nT}\n" +) + +// NewRoffRenderer creates a new blackfriday Renderer for generating roff documents +// from markdown +func NewRoffRenderer() *roffRenderer { // nolint: golint + var extensions blackfriday.Extensions + + extensions |= blackfriday.NoIntraEmphasis + extensions |= blackfriday.Tables + extensions |= blackfriday.FencedCode + extensions |= blackfriday.SpaceHeadings + extensions |= blackfriday.Footnotes + extensions |= blackfriday.Titleblock + extensions |= blackfriday.DefinitionLists + return &roffRenderer{ + extensions: extensions, + } +} + +// GetExtensions returns the list of extensions used by this renderer implementation +func (r *roffRenderer) GetExtensions() blackfriday.Extensions { + return r.extensions +} + +// RenderHeader handles outputting the header at document start +func (r *roffRenderer) RenderHeader(w io.Writer, ast *blackfriday.Node) { + // disable hyphenation + out(w, ".nh\n") +} + +// RenderFooter handles outputting the footer at the document end; the roff +// renderer has no footer information +func (r *roffRenderer) RenderFooter(w io.Writer, ast *blackfriday.Node) { +} + +// RenderNode is called for each node in a markdown document; based on the node +// type the equivalent roff output is sent to the writer +func (r *roffRenderer) RenderNode(w io.Writer, node *blackfriday.Node, entering bool) blackfriday.WalkStatus { + + var walkAction = blackfriday.GoToNext + + switch node.Type { + case blackfriday.Text: + escapeSpecialChars(w, node.Literal) + case blackfriday.Softbreak: + out(w, crTag) + case blackfriday.Hardbreak: + out(w, breakTag) + case blackfriday.Emph: + if entering { + out(w, emphTag) + } else { + out(w, emphCloseTag) + } + case blackfriday.Strong: + if entering { + out(w, strongTag) + } else { + out(w, strongCloseTag) + } + case blackfriday.Link: + if !entering { + out(w, linkTag+string(node.LinkData.Destination)+linkCloseTag) + } + case blackfriday.Image: + // ignore images + walkAction = blackfriday.SkipChildren + case blackfriday.Code: + out(w, codespanTag) + escapeSpecialChars(w, node.Literal) + out(w, codespanCloseTag) + case blackfriday.Document: + break + case blackfriday.Paragraph: + // roff .PP markers break lists + if r.listDepth > 0 { + return blackfriday.GoToNext + } + if entering { + out(w, paraTag) + } else { + out(w, crTag) + } + case blackfriday.BlockQuote: + if entering { + out(w, quoteTag) + } else { + out(w, quoteCloseTag) + } + case blackfriday.Heading: + r.handleHeading(w, node, entering) + case blackfriday.HorizontalRule: + out(w, hruleTag) + case blackfriday.List: + r.handleList(w, node, entering) + case blackfriday.Item: + r.handleItem(w, node, entering) + case blackfriday.CodeBlock: + out(w, codeTag) + escapeSpecialChars(w, node.Literal) + out(w, codeCloseTag) + case blackfriday.Table: + r.handleTable(w, node, entering) + case blackfriday.TableHead: + case blackfriday.TableBody: + case blackfriday.TableRow: + // no action as cell entries do all the nroff formatting + return blackfriday.GoToNext + case blackfriday.TableCell: + r.handleTableCell(w, node, entering) + case blackfriday.HTMLSpan: + // ignore other HTML tags + default: + fmt.Fprintln(os.Stderr, "WARNING: go-md2man does not handle node type "+node.Type.String()) + } + return walkAction +} + +func (r *roffRenderer) handleHeading(w io.Writer, node *blackfriday.Node, entering bool) { + if entering { + switch node.Level { + case 1: + if !r.firstHeader { + out(w, titleHeader) + r.firstHeader = true + break + } + out(w, topLevelHeader) + case 2: + out(w, secondLevelHdr) + default: + out(w, otherHeader) + } + } +} + +func (r *roffRenderer) handleList(w io.Writer, node *blackfriday.Node, entering bool) { + openTag := listTag + closeTag := listCloseTag + if node.ListFlags&blackfriday.ListTypeDefinition != 0 { + // tags for definition lists handled within Item node + openTag = "" + closeTag = "" + } + if entering { + r.listDepth++ + if node.ListFlags&blackfriday.ListTypeOrdered != 0 { + r.listCounters = append(r.listCounters, 1) + } + out(w, openTag) + } else { + if node.ListFlags&blackfriday.ListTypeOrdered != 0 { + r.listCounters = r.listCounters[:len(r.listCounters)-1] + } + out(w, closeTag) + r.listDepth-- + } +} + +func (r *roffRenderer) handleItem(w io.Writer, node *blackfriday.Node, entering bool) { + if entering { + if node.ListFlags&blackfriday.ListTypeOrdered != 0 { + out(w, fmt.Sprintf(".IP \"%3d.\" 5\n", r.listCounters[len(r.listCounters)-1])) + r.listCounters[len(r.listCounters)-1]++ + } else if node.ListFlags&blackfriday.ListTypeTerm != 0 { + // DT (definition term): line just before DD (see below). + out(w, dtTag) + r.firstDD = true + } else if node.ListFlags&blackfriday.ListTypeDefinition != 0 { + // DD (definition description): line that starts with ": ". + // + // We have to distinguish between the first DD and the + // subsequent ones, as there should be no vertical + // whitespace between the DT and the first DD. + if r.firstDD { + r.firstDD = false + } else { + out(w, dd2Tag) + } + } else { + out(w, ".IP \\(bu 2\n") + } + } else { + out(w, "\n") + } +} + +func (r *roffRenderer) handleTable(w io.Writer, node *blackfriday.Node, entering bool) { + if entering { + out(w, tableStart) + // call walker to count cells (and rows?) so format section can be produced + columns := countColumns(node) + out(w, strings.Repeat("l ", columns)+"\n") + out(w, strings.Repeat("l ", columns)+".\n") + } else { + out(w, tableEnd) + } +} + +func (r *roffRenderer) handleTableCell(w io.Writer, node *blackfriday.Node, entering bool) { + if entering { + var start string + if node.Prev != nil && node.Prev.Type == blackfriday.TableCell { + start = "\t" + } + if node.IsHeader { + start += codespanTag + } else if nodeLiteralSize(node) > 30 { + start += tableCellStart + } + out(w, start) + } else { + var end string + if node.IsHeader { + end = codespanCloseTag + } else if nodeLiteralSize(node) > 30 { + end = tableCellEnd + } + if node.Next == nil && end != tableCellEnd { + // Last cell: need to carriage return if we are at the end of the + // header row and content isn't wrapped in a "tablecell" + end += crTag + } + out(w, end) + } +} + +func nodeLiteralSize(node *blackfriday.Node) int { + total := 0 + for n := node.FirstChild; n != nil; n = n.FirstChild { + total += len(n.Literal) + } + return total +} + +// because roff format requires knowing the column count before outputting any table +// data we need to walk a table tree and count the columns +func countColumns(node *blackfriday.Node) int { + var columns int + + node.Walk(func(node *blackfriday.Node, entering bool) blackfriday.WalkStatus { + switch node.Type { + case blackfriday.TableRow: + if !entering { + return blackfriday.Terminate + } + case blackfriday.TableCell: + if entering { + columns++ + } + default: + } + return blackfriday.GoToNext + }) + return columns +} + +func out(w io.Writer, output string) { + io.WriteString(w, output) // nolint: errcheck +} + +func escapeSpecialChars(w io.Writer, text []byte) { + for i := 0; i < len(text); i++ { + // escape initial apostrophe or period + if len(text) >= 1 && (text[0] == '\'' || text[0] == '.') { + out(w, "\\&") + } + + // directly copy normal characters + org := i + + for i < len(text) && text[i] != '\\' { + i++ + } + if i > org { + w.Write(text[org:i]) // nolint: errcheck + } + + // escape a character + if i >= len(text) { + break + } + + w.Write([]byte{'\\', text[i]}) // nolint: errcheck + } +} diff --git a/vendor/github.com/davecgh/go-spew/LICENSE b/vendor/github.com/davecgh/go-spew/LICENSE new file mode 100644 index 000000000..bc52e96f2 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2012-2016 Dave Collins + +Permission to use, copy, modify, and/or 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. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/vendor/github.com/davecgh/go-spew/spew/bypass.go b/vendor/github.com/davecgh/go-spew/spew/bypass.go new file mode 100644 index 000000000..792994785 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/bypass.go @@ -0,0 +1,145 @@ +// Copyright (c) 2015-2016 Dave Collins +// +// 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. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// NOTE: Due to the following build constraints, this file will only be compiled +// when the code is not running on Google App Engine, compiled by GopherJS, and +// "-tags safe" is not added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// Go versions prior to 1.4 are disabled because they use a different layout +// for interfaces which make the implementation of unsafeReflectValue more complex. +// +build !js,!appengine,!safe,!disableunsafe,go1.4 + +package spew + +import ( + "reflect" + "unsafe" +) + +const ( + // UnsafeDisabled is a build-time constant which specifies whether or + // not access to the unsafe package is available. + UnsafeDisabled = false + + // ptrSize is the size of a pointer on the current arch. + ptrSize = unsafe.Sizeof((*byte)(nil)) +) + +type flag uintptr + +var ( + // flagRO indicates whether the value field of a reflect.Value + // is read-only. + flagRO flag + + // flagAddr indicates whether the address of the reflect.Value's + // value may be taken. + flagAddr flag +) + +// flagKindMask holds the bits that make up the kind +// part of the flags field. In all the supported versions, +// it is in the lower 5 bits. +const flagKindMask = flag(0x1f) + +// Different versions of Go have used different +// bit layouts for the flags type. This table +// records the known combinations. +var okFlags = []struct { + ro, addr flag +}{{ + // From Go 1.4 to 1.5 + ro: 1 << 5, + addr: 1 << 7, +}, { + // Up to Go tip. + ro: 1<<5 | 1<<6, + addr: 1 << 8, +}} + +var flagValOffset = func() uintptr { + field, ok := reflect.TypeOf(reflect.Value{}).FieldByName("flag") + if !ok { + panic("reflect.Value has no flag field") + } + return field.Offset +}() + +// flagField returns a pointer to the flag field of a reflect.Value. +func flagField(v *reflect.Value) *flag { + return (*flag)(unsafe.Pointer(uintptr(unsafe.Pointer(v)) + flagValOffset)) +} + +// unsafeReflectValue converts the passed reflect.Value into a one that bypasses +// the typical safety restrictions preventing access to unaddressable and +// unexported data. It works by digging the raw pointer to the underlying +// value out of the protected value and generating a new unprotected (unsafe) +// reflect.Value to it. +// +// This allows us to check for implementations of the Stringer and error +// interfaces to be used for pretty printing ordinarily unaddressable and +// inaccessible values such as unexported struct fields. +func unsafeReflectValue(v reflect.Value) reflect.Value { + if !v.IsValid() || (v.CanInterface() && v.CanAddr()) { + return v + } + flagFieldPtr := flagField(&v) + *flagFieldPtr &^= flagRO + *flagFieldPtr |= flagAddr + return v +} + +// Sanity checks against future reflect package changes +// to the type or semantics of the Value.flag field. +func init() { + field, ok := reflect.TypeOf(reflect.Value{}).FieldByName("flag") + if !ok { + panic("reflect.Value has no flag field") + } + if field.Type.Kind() != reflect.TypeOf(flag(0)).Kind() { + panic("reflect.Value flag field has changed kind") + } + type t0 int + var t struct { + A t0 + // t0 will have flagEmbedRO set. + t0 + // a will have flagStickyRO set + a t0 + } + vA := reflect.ValueOf(t).FieldByName("A") + va := reflect.ValueOf(t).FieldByName("a") + vt0 := reflect.ValueOf(t).FieldByName("t0") + + // Infer flagRO from the difference between the flags + // for the (otherwise identical) fields in t. + flagPublic := *flagField(&vA) + flagWithRO := *flagField(&va) | *flagField(&vt0) + flagRO = flagPublic ^ flagWithRO + + // Infer flagAddr from the difference between a value + // taken from a pointer and not. + vPtrA := reflect.ValueOf(&t).Elem().FieldByName("A") + flagNoPtr := *flagField(&vA) + flagPtr := *flagField(&vPtrA) + flagAddr = flagNoPtr ^ flagPtr + + // Check that the inferred flags tally with one of the known versions. + for _, f := range okFlags { + if flagRO == f.ro && flagAddr == f.addr { + return + } + } + panic("reflect.Value read-only flag has changed semantics") +} diff --git a/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go new file mode 100644 index 000000000..205c28d68 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go @@ -0,0 +1,38 @@ +// Copyright (c) 2015-2016 Dave Collins +// +// 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. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// NOTE: Due to the following build constraints, this file will only be compiled +// when the code is running on Google App Engine, compiled by GopherJS, or +// "-tags safe" is added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// +build js appengine safe disableunsafe !go1.4 + +package spew + +import "reflect" + +const ( + // UnsafeDisabled is a build-time constant which specifies whether or + // not access to the unsafe package is available. + UnsafeDisabled = true +) + +// unsafeReflectValue typically converts the passed reflect.Value into a one +// that bypasses the typical safety restrictions preventing access to +// unaddressable and unexported data. However, doing this relies on access to +// the unsafe package. This is a stub version which simply returns the passed +// reflect.Value when the unsafe package is not available. +func unsafeReflectValue(v reflect.Value) reflect.Value { + return v +} diff --git a/vendor/github.com/davecgh/go-spew/spew/common.go b/vendor/github.com/davecgh/go-spew/spew/common.go new file mode 100644 index 000000000..1be8ce945 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/common.go @@ -0,0 +1,341 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * 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. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "io" + "reflect" + "sort" + "strconv" +) + +// Some constants in the form of bytes to avoid string overhead. This mirrors +// the technique used in the fmt package. +var ( + panicBytes = []byte("(PANIC=") + plusBytes = []byte("+") + iBytes = []byte("i") + trueBytes = []byte("true") + falseBytes = []byte("false") + interfaceBytes = []byte("(interface {})") + commaNewlineBytes = []byte(",\n") + newlineBytes = []byte("\n") + openBraceBytes = []byte("{") + openBraceNewlineBytes = []byte("{\n") + closeBraceBytes = []byte("}") + asteriskBytes = []byte("*") + colonBytes = []byte(":") + colonSpaceBytes = []byte(": ") + openParenBytes = []byte("(") + closeParenBytes = []byte(")") + spaceBytes = []byte(" ") + pointerChainBytes = []byte("->") + nilAngleBytes = []byte("") + maxNewlineBytes = []byte("\n") + maxShortBytes = []byte("") + circularBytes = []byte("") + circularShortBytes = []byte("") + invalidAngleBytes = []byte("") + openBracketBytes = []byte("[") + closeBracketBytes = []byte("]") + percentBytes = []byte("%") + precisionBytes = []byte(".") + openAngleBytes = []byte("<") + closeAngleBytes = []byte(">") + openMapBytes = []byte("map[") + closeMapBytes = []byte("]") + lenEqualsBytes = []byte("len=") + capEqualsBytes = []byte("cap=") +) + +// hexDigits is used to map a decimal value to a hex digit. +var hexDigits = "0123456789abcdef" + +// catchPanic handles any panics that might occur during the handleMethods +// calls. +func catchPanic(w io.Writer, v reflect.Value) { + if err := recover(); err != nil { + w.Write(panicBytes) + fmt.Fprintf(w, "%v", err) + w.Write(closeParenBytes) + } +} + +// handleMethods attempts to call the Error and String methods on the underlying +// type the passed reflect.Value represents and outputes the result to Writer w. +// +// It handles panics in any called methods by catching and displaying the error +// as the formatted value. +func handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handled bool) { + // We need an interface to check if the type implements the error or + // Stringer interface. However, the reflect package won't give us an + // interface on certain things like unexported struct fields in order + // to enforce visibility rules. We use unsafe, when it's available, + // to bypass these restrictions since this package does not mutate the + // values. + if !v.CanInterface() { + if UnsafeDisabled { + return false + } + + v = unsafeReflectValue(v) + } + + // Choose whether or not to do error and Stringer interface lookups against + // the base type or a pointer to the base type depending on settings. + // Technically calling one of these methods with a pointer receiver can + // mutate the value, however, types which choose to satisify an error or + // Stringer interface with a pointer receiver should not be mutating their + // state inside these interface methods. + if !cs.DisablePointerMethods && !UnsafeDisabled && !v.CanAddr() { + v = unsafeReflectValue(v) + } + if v.CanAddr() { + v = v.Addr() + } + + // Is it an error or Stringer? + switch iface := v.Interface().(type) { + case error: + defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(openParenBytes) + w.Write([]byte(iface.Error())) + w.Write(closeParenBytes) + w.Write(spaceBytes) + return false + } + + w.Write([]byte(iface.Error())) + return true + + case fmt.Stringer: + defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(openParenBytes) + w.Write([]byte(iface.String())) + w.Write(closeParenBytes) + w.Write(spaceBytes) + return false + } + w.Write([]byte(iface.String())) + return true + } + return false +} + +// printBool outputs a boolean value as true or false to Writer w. +func printBool(w io.Writer, val bool) { + if val { + w.Write(trueBytes) + } else { + w.Write(falseBytes) + } +} + +// printInt outputs a signed integer value to Writer w. +func printInt(w io.Writer, val int64, base int) { + w.Write([]byte(strconv.FormatInt(val, base))) +} + +// printUint outputs an unsigned integer value to Writer w. +func printUint(w io.Writer, val uint64, base int) { + w.Write([]byte(strconv.FormatUint(val, base))) +} + +// printFloat outputs a floating point value using the specified precision, +// which is expected to be 32 or 64bit, to Writer w. +func printFloat(w io.Writer, val float64, precision int) { + w.Write([]byte(strconv.FormatFloat(val, 'g', -1, precision))) +} + +// printComplex outputs a complex value using the specified float precision +// for the real and imaginary parts to Writer w. +func printComplex(w io.Writer, c complex128, floatPrecision int) { + r := real(c) + w.Write(openParenBytes) + w.Write([]byte(strconv.FormatFloat(r, 'g', -1, floatPrecision))) + i := imag(c) + if i >= 0 { + w.Write(plusBytes) + } + w.Write([]byte(strconv.FormatFloat(i, 'g', -1, floatPrecision))) + w.Write(iBytes) + w.Write(closeParenBytes) +} + +// printHexPtr outputs a uintptr formatted as hexadecimal with a leading '0x' +// prefix to Writer w. +func printHexPtr(w io.Writer, p uintptr) { + // Null pointer. + num := uint64(p) + if num == 0 { + w.Write(nilAngleBytes) + return + } + + // Max uint64 is 16 bytes in hex + 2 bytes for '0x' prefix + buf := make([]byte, 18) + + // It's simpler to construct the hex string right to left. + base := uint64(16) + i := len(buf) - 1 + for num >= base { + buf[i] = hexDigits[num%base] + num /= base + i-- + } + buf[i] = hexDigits[num] + + // Add '0x' prefix. + i-- + buf[i] = 'x' + i-- + buf[i] = '0' + + // Strip unused leading bytes. + buf = buf[i:] + w.Write(buf) +} + +// valuesSorter implements sort.Interface to allow a slice of reflect.Value +// elements to be sorted. +type valuesSorter struct { + values []reflect.Value + strings []string // either nil or same len and values + cs *ConfigState +} + +// newValuesSorter initializes a valuesSorter instance, which holds a set of +// surrogate keys on which the data should be sorted. It uses flags in +// ConfigState to decide if and how to populate those surrogate keys. +func newValuesSorter(values []reflect.Value, cs *ConfigState) sort.Interface { + vs := &valuesSorter{values: values, cs: cs} + if canSortSimply(vs.values[0].Kind()) { + return vs + } + if !cs.DisableMethods { + vs.strings = make([]string, len(values)) + for i := range vs.values { + b := bytes.Buffer{} + if !handleMethods(cs, &b, vs.values[i]) { + vs.strings = nil + break + } + vs.strings[i] = b.String() + } + } + if vs.strings == nil && cs.SpewKeys { + vs.strings = make([]string, len(values)) + for i := range vs.values { + vs.strings[i] = Sprintf("%#v", vs.values[i].Interface()) + } + } + return vs +} + +// canSortSimply tests whether a reflect.Kind is a primitive that can be sorted +// directly, or whether it should be considered for sorting by surrogate keys +// (if the ConfigState allows it). +func canSortSimply(kind reflect.Kind) bool { + // This switch parallels valueSortLess, except for the default case. + switch kind { + case reflect.Bool: + return true + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return true + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return true + case reflect.Float32, reflect.Float64: + return true + case reflect.String: + return true + case reflect.Uintptr: + return true + case reflect.Array: + return true + } + return false +} + +// Len returns the number of values in the slice. It is part of the +// sort.Interface implementation. +func (s *valuesSorter) Len() int { + return len(s.values) +} + +// Swap swaps the values at the passed indices. It is part of the +// sort.Interface implementation. +func (s *valuesSorter) Swap(i, j int) { + s.values[i], s.values[j] = s.values[j], s.values[i] + if s.strings != nil { + s.strings[i], s.strings[j] = s.strings[j], s.strings[i] + } +} + +// valueSortLess returns whether the first value should sort before the second +// value. It is used by valueSorter.Less as part of the sort.Interface +// implementation. +func valueSortLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Bool: + return !a.Bool() && b.Bool() + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return a.Int() < b.Int() + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return a.Uint() < b.Uint() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.String: + return a.String() < b.String() + case reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Array: + // Compare the contents of both arrays. + l := a.Len() + for i := 0; i < l; i++ { + av := a.Index(i) + bv := b.Index(i) + if av.Interface() == bv.Interface() { + continue + } + return valueSortLess(av, bv) + } + } + return a.String() < b.String() +} + +// Less returns whether the value at index i should sort before the +// value at index j. It is part of the sort.Interface implementation. +func (s *valuesSorter) Less(i, j int) bool { + if s.strings == nil { + return valueSortLess(s.values[i], s.values[j]) + } + return s.strings[i] < s.strings[j] +} + +// sortValues is a sort function that handles both native types and any type that +// can be converted to error or Stringer. Other inputs are sorted according to +// their Value.String() value to ensure display stability. +func sortValues(values []reflect.Value, cs *ConfigState) { + if len(values) == 0 { + return + } + sort.Sort(newValuesSorter(values, cs)) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/config.go b/vendor/github.com/davecgh/go-spew/spew/config.go new file mode 100644 index 000000000..2e3d22f31 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/config.go @@ -0,0 +1,306 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * 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. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "io" + "os" +) + +// ConfigState houses the configuration options used by spew to format and +// display values. There is a global instance, Config, that is used to control +// all top-level Formatter and Dump functionality. Each ConfigState instance +// provides methods equivalent to the top-level functions. +// +// The zero value for ConfigState provides no indentation. You would typically +// want to set it to a space or a tab. +// +// Alternatively, you can use NewDefaultConfig to get a ConfigState instance +// with default settings. See the documentation of NewDefaultConfig for default +// values. +type ConfigState struct { + // Indent specifies the string to use for each indentation level. The + // global config instance that all top-level functions use set this to a + // single space by default. If you would like more indentation, you might + // set this to a tab with "\t" or perhaps two spaces with " ". + Indent string + + // MaxDepth controls the maximum number of levels to descend into nested + // data structures. The default, 0, means there is no limit. + // + // NOTE: Circular data structures are properly detected, so it is not + // necessary to set this value unless you specifically want to limit deeply + // nested data structures. + MaxDepth int + + // DisableMethods specifies whether or not error and Stringer interfaces are + // invoked for types that implement them. + DisableMethods bool + + // DisablePointerMethods specifies whether or not to check for and invoke + // error and Stringer interfaces on types which only accept a pointer + // receiver when the current type is not a pointer. + // + // NOTE: This might be an unsafe action since calling one of these methods + // with a pointer receiver could technically mutate the value, however, + // in practice, types which choose to satisify an error or Stringer + // interface with a pointer receiver should not be mutating their state + // inside these interface methods. As a result, this option relies on + // access to the unsafe package, so it will not have any effect when + // running in environments without access to the unsafe package such as + // Google App Engine or with the "safe" build tag specified. + DisablePointerMethods bool + + // DisablePointerAddresses specifies whether to disable the printing of + // pointer addresses. This is useful when diffing data structures in tests. + DisablePointerAddresses bool + + // DisableCapacities specifies whether to disable the printing of capacities + // for arrays, slices, maps and channels. This is useful when diffing + // data structures in tests. + DisableCapacities bool + + // ContinueOnMethod specifies whether or not recursion should continue once + // a custom error or Stringer interface is invoked. The default, false, + // means it will print the results of invoking the custom error or Stringer + // interface and return immediately instead of continuing to recurse into + // the internals of the data type. + // + // NOTE: This flag does not have any effect if method invocation is disabled + // via the DisableMethods or DisablePointerMethods options. + ContinueOnMethod bool + + // SortKeys specifies map keys should be sorted before being printed. Use + // this to have a more deterministic, diffable output. Note that only + // native types (bool, int, uint, floats, uintptr and string) and types + // that support the error or Stringer interfaces (if methods are + // enabled) are supported, with other types sorted according to the + // reflect.Value.String() output which guarantees display stability. + SortKeys bool + + // SpewKeys specifies that, as a last resort attempt, map keys should + // be spewed to strings and sorted by those strings. This is only + // considered if SortKeys is true. + SpewKeys bool +} + +// Config is the active configuration of the top-level functions. +// The configuration can be changed by modifying the contents of spew.Config. +var Config = ConfigState{Indent: " "} + +// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the formatted string as a value that satisfies error. See NewFormatter +// for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Errorf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Errorf(format string, a ...interface{}) (err error) { + return fmt.Errorf(format, c.convertArgs(a)...) +} + +// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprint(w, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprint(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprint(w, c.convertArgs(a)...) +} + +// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintf(w, format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { + return fmt.Fprintf(w, format, c.convertArgs(a)...) +} + +// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it +// passed with a Formatter interface returned by c.NewFormatter. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintln(w, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprintln(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprintln(w, c.convertArgs(a)...) +} + +// Print is a wrapper for fmt.Print that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Print(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Print(a ...interface{}) (n int, err error) { + return fmt.Print(c.convertArgs(a)...) +} + +// Printf is a wrapper for fmt.Printf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Printf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Printf(format string, a ...interface{}) (n int, err error) { + return fmt.Printf(format, c.convertArgs(a)...) +} + +// Println is a wrapper for fmt.Println that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Println(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Println(a ...interface{}) (n int, err error) { + return fmt.Println(c.convertArgs(a)...) +} + +// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprint(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprint(a ...interface{}) string { + return fmt.Sprint(c.convertArgs(a)...) +} + +// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprintf(format string, a ...interface{}) string { + return fmt.Sprintf(format, c.convertArgs(a)...) +} + +// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it +// were passed with a Formatter interface returned by c.NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintln(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprintln(a ...interface{}) string { + return fmt.Sprintln(c.convertArgs(a)...) +} + +/* +NewFormatter returns a custom formatter that satisfies the fmt.Formatter +interface. As a result, it integrates cleanly with standard fmt package +printing functions. The formatter is useful for inline printing of smaller data +types similar to the standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), and %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Typically this function shouldn't be called directly. It is much easier to make +use of the custom formatter by calling one of the convenience functions such as +c.Printf, c.Println, or c.Printf. +*/ +func (c *ConfigState) NewFormatter(v interface{}) fmt.Formatter { + return newFormatter(c, v) +} + +// Fdump formats and displays the passed arguments to io.Writer w. It formats +// exactly the same as Dump. +func (c *ConfigState) Fdump(w io.Writer, a ...interface{}) { + fdump(c, w, a...) +} + +/* +Dump displays the passed parameters to standard out with newlines, customizable +indentation, and additional debug information such as complete types and all +pointer addresses used to indirect to the final value. It provides the +following features over the built-in printing facilities provided by the fmt +package: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output + +The configuration options are controlled by modifying the public members +of c. See ConfigState for options documentation. + +See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to +get the formatted result as a string. +*/ +func (c *ConfigState) Dump(a ...interface{}) { + fdump(c, os.Stdout, a...) +} + +// Sdump returns a string with the passed arguments formatted exactly the same +// as Dump. +func (c *ConfigState) Sdump(a ...interface{}) string { + var buf bytes.Buffer + fdump(c, &buf, a...) + return buf.String() +} + +// convertArgs accepts a slice of arguments and returns a slice of the same +// length with each argument converted to a spew Formatter interface using +// the ConfigState associated with s. +func (c *ConfigState) convertArgs(args []interface{}) (formatters []interface{}) { + formatters = make([]interface{}, len(args)) + for index, arg := range args { + formatters[index] = newFormatter(c, arg) + } + return formatters +} + +// NewDefaultConfig returns a ConfigState with the following default settings. +// +// Indent: " " +// MaxDepth: 0 +// DisableMethods: false +// DisablePointerMethods: false +// ContinueOnMethod: false +// SortKeys: false +func NewDefaultConfig() *ConfigState { + return &ConfigState{Indent: " "} +} diff --git a/vendor/github.com/davecgh/go-spew/spew/doc.go b/vendor/github.com/davecgh/go-spew/spew/doc.go new file mode 100644 index 000000000..aacaac6f1 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/doc.go @@ -0,0 +1,211 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * 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. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* +Package spew implements a deep pretty printer for Go data structures to aid in +debugging. + +A quick overview of the additional features spew provides over the built-in +printing facilities for Go data types are as follows: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output (only when using + Dump style) + +There are two different approaches spew allows for dumping Go data structures: + + * Dump style which prints with newlines, customizable indentation, + and additional debug information such as types and all pointer addresses + used to indirect to the final value + * A custom Formatter interface that integrates cleanly with the standard fmt + package and replaces %v, %+v, %#v, and %#+v to provide inline printing + similar to the default %v while providing the additional functionality + outlined above and passing unsupported format verbs such as %x and %q + along to fmt + +Quick Start + +This section demonstrates how to quickly get started with spew. See the +sections below for further details on formatting and configuration options. + +To dump a variable with full newlines, indentation, type, and pointer +information use Dump, Fdump, or Sdump: + spew.Dump(myVar1, myVar2, ...) + spew.Fdump(someWriter, myVar1, myVar2, ...) + str := spew.Sdump(myVar1, myVar2, ...) + +Alternatively, if you would prefer to use format strings with a compacted inline +printing style, use the convenience wrappers Printf, Fprintf, etc with +%v (most compact), %+v (adds pointer addresses), %#v (adds types), or +%#+v (adds types and pointer addresses): + spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + spew.Fprintf(someWriter, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Fprintf(someWriter, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + +Configuration Options + +Configuration of spew is handled by fields in the ConfigState type. For +convenience, all of the top-level functions use a global state available +via the spew.Config global. + +It is also possible to create a ConfigState instance that provides methods +equivalent to the top-level functions. This allows concurrent configuration +options. See the ConfigState documentation for more details. + +The following configuration options are available: + * Indent + String to use for each indentation level for Dump functions. + It is a single space by default. A popular alternative is "\t". + + * MaxDepth + Maximum number of levels to descend into nested data structures. + There is no limit by default. + + * DisableMethods + Disables invocation of error and Stringer interface methods. + Method invocation is enabled by default. + + * DisablePointerMethods + Disables invocation of error and Stringer interface methods on types + which only accept pointer receivers from non-pointer variables. + Pointer method invocation is enabled by default. + + * DisablePointerAddresses + DisablePointerAddresses specifies whether to disable the printing of + pointer addresses. This is useful when diffing data structures in tests. + + * DisableCapacities + DisableCapacities specifies whether to disable the printing of + capacities for arrays, slices, maps and channels. This is useful when + diffing data structures in tests. + + * ContinueOnMethod + Enables recursion into types after invoking error and Stringer interface + methods. Recursion after method invocation is disabled by default. + + * SortKeys + Specifies map keys should be sorted before being printed. Use + this to have a more deterministic, diffable output. Note that + only native types (bool, int, uint, floats, uintptr and string) + and types which implement error or Stringer interfaces are + supported with other types sorted according to the + reflect.Value.String() output which guarantees display + stability. Natural map order is used by default. + + * SpewKeys + Specifies that, as a last resort attempt, map keys should be + spewed to strings and sorted by those strings. This is only + considered if SortKeys is true. + +Dump Usage + +Simply call spew.Dump with a list of variables you want to dump: + + spew.Dump(myVar1, myVar2, ...) + +You may also call spew.Fdump if you would prefer to output to an arbitrary +io.Writer. For example, to dump to standard error: + + spew.Fdump(os.Stderr, myVar1, myVar2, ...) + +A third option is to call spew.Sdump to get the formatted output as a string: + + str := spew.Sdump(myVar1, myVar2, ...) + +Sample Dump Output + +See the Dump example for details on the setup of the types and variables being +shown here. + + (main.Foo) { + unexportedField: (*main.Bar)(0xf84002e210)({ + flag: (main.Flag) flagTwo, + data: (uintptr) + }), + ExportedField: (map[interface {}]interface {}) (len=1) { + (string) (len=3) "one": (bool) true + } + } + +Byte (and uint8) arrays and slices are displayed uniquely like the hexdump -C +command as shown. + ([]uint8) (len=32 cap=32) { + 00000000 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 |............... | + 00000010 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 |!"#$%&'()*+,-./0| + 00000020 31 32 |12| + } + +Custom Formatter + +Spew provides a custom formatter that implements the fmt.Formatter interface +so that it integrates cleanly with standard fmt package printing functions. The +formatter is useful for inline printing of smaller data types similar to the +standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Custom Formatter Usage + +The simplest way to make use of the spew custom formatter is to call one of the +convenience functions such as spew.Printf, spew.Println, or spew.Printf. The +functions have syntax you are most likely already familiar with: + + spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + spew.Println(myVar, myVar2) + spew.Fprintf(os.Stderr, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Fprintf(os.Stderr, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + +See the Index for the full list convenience functions. + +Sample Formatter Output + +Double pointer to a uint8: + %v: <**>5 + %+v: <**>(0xf8400420d0->0xf8400420c8)5 + %#v: (**uint8)5 + %#+v: (**uint8)(0xf8400420d0->0xf8400420c8)5 + +Pointer to circular struct with a uint8 field and a pointer to itself: + %v: <*>{1 <*>} + %+v: <*>(0xf84003e260){ui8:1 c:<*>(0xf84003e260)} + %#v: (*main.circular){ui8:(uint8)1 c:(*main.circular)} + %#+v: (*main.circular)(0xf84003e260){ui8:(uint8)1 c:(*main.circular)(0xf84003e260)} + +See the Printf example for details on the setup of variables being shown +here. + +Errors + +Since it is possible for custom Stringer/error interfaces to panic, spew +detects them and handles them internally by printing the panic information +inline with the output. Since spew is intended to provide deep pretty printing +capabilities on structures, it intentionally does not return any errors. +*/ +package spew diff --git a/vendor/github.com/davecgh/go-spew/spew/dump.go b/vendor/github.com/davecgh/go-spew/spew/dump.go new file mode 100644 index 000000000..f78d89fc1 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/dump.go @@ -0,0 +1,509 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * 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. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "encoding/hex" + "fmt" + "io" + "os" + "reflect" + "regexp" + "strconv" + "strings" +) + +var ( + // uint8Type is a reflect.Type representing a uint8. It is used to + // convert cgo types to uint8 slices for hexdumping. + uint8Type = reflect.TypeOf(uint8(0)) + + // 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$`) + + // 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$`) + + // 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$`) +) + +// dumpState contains information about the state of a dump operation. +type dumpState struct { + w io.Writer + depth int + pointers map[uintptr]int + ignoreNextType bool + ignoreNextIndent bool + cs *ConfigState +} + +// indent performs indentation according to the depth level and cs.Indent +// option. +func (d *dumpState) indent() { + if d.ignoreNextIndent { + d.ignoreNextIndent = false + return + } + d.w.Write(bytes.Repeat([]byte(d.cs.Indent), d.depth)) +} + +// unpackValue returns values inside of non-nil interfaces when possible. +// This is useful for data types like structs, arrays, slices, and maps which +// can contain varying types packed inside an interface. +func (d *dumpState) unpackValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Interface && !v.IsNil() { + v = v.Elem() + } + return v +} + +// dumpPtr handles formatting of pointers by indirecting them as necessary. +func (d *dumpState) dumpPtr(v reflect.Value) { + // Remove pointers at or below the current depth from map used to detect + // circular refs. + for k, depth := range d.pointers { + if depth >= d.depth { + delete(d.pointers, k) + } + } + + // Keep list of all dereferenced pointers to show later. + pointerChain := make([]uintptr, 0) + + // Figure out how many levels of indirection there are by dereferencing + // pointers and unpacking interfaces down the chain while detecting circular + // references. + nilFound := false + cycleFound := false + indirects := 0 + ve := v + for ve.Kind() == reflect.Ptr { + if ve.IsNil() { + nilFound = true + break + } + indirects++ + addr := ve.Pointer() + pointerChain = append(pointerChain, addr) + if pd, ok := d.pointers[addr]; ok && pd < d.depth { + cycleFound = true + indirects-- + break + } + d.pointers[addr] = d.depth + + ve = ve.Elem() + if ve.Kind() == reflect.Interface { + if ve.IsNil() { + nilFound = true + break + } + ve = ve.Elem() + } + } + + // Display type information. + d.w.Write(openParenBytes) + d.w.Write(bytes.Repeat(asteriskBytes, indirects)) + d.w.Write([]byte(ve.Type().String())) + d.w.Write(closeParenBytes) + + // Display pointer information. + if !d.cs.DisablePointerAddresses && len(pointerChain) > 0 { + d.w.Write(openParenBytes) + for i, addr := range pointerChain { + if i > 0 { + d.w.Write(pointerChainBytes) + } + printHexPtr(d.w, addr) + } + d.w.Write(closeParenBytes) + } + + // Display dereferenced value. + d.w.Write(openParenBytes) + switch { + case nilFound: + d.w.Write(nilAngleBytes) + + case cycleFound: + d.w.Write(circularBytes) + + default: + d.ignoreNextType = true + d.dump(ve) + } + d.w.Write(closeParenBytes) +} + +// dumpSlice handles formatting of arrays and slices. Byte (uint8 under +// reflection) arrays and slices are dumped in hexdump -C fashion. +func (d *dumpState) dumpSlice(v reflect.Value) { + // Determine whether this type should be hex dumped or not. Also, + // for types which should be hexdumped, try to use the underlying data + // first, then fall back to trying to convert them to a uint8 slice. + var buf []uint8 + doConvert := false + doHexDump := false + numEntries := v.Len() + if numEntries > 0 { + vt := v.Index(0).Type() + vts := vt.String() + switch { + // C types that need to be converted. + case cCharRE.MatchString(vts): + fallthrough + case cUnsignedCharRE.MatchString(vts): + fallthrough + case cUint8tCharRE.MatchString(vts): + doConvert = true + + // Try to use existing uint8 slices and fall back to converting + // and copying if that fails. + case vt.Kind() == reflect.Uint8: + // We need an addressable interface to convert the type + // to a byte slice. However, the reflect package won't + // give us an interface on certain things like + // unexported struct fields in order to enforce + // visibility rules. We use unsafe, when available, to + // bypass these restrictions since this package does not + // mutate the values. + vs := v + if !vs.CanInterface() || !vs.CanAddr() { + vs = unsafeReflectValue(vs) + } + if !UnsafeDisabled { + vs = vs.Slice(0, numEntries) + + // Use the existing uint8 slice if it can be + // type asserted. + iface := vs.Interface() + if slice, ok := iface.([]uint8); ok { + buf = slice + doHexDump = true + break + } + } + + // The underlying data needs to be converted if it can't + // be type asserted to a uint8 slice. + doConvert = true + } + + // Copy and convert the underlying type if needed. + if doConvert && vt.ConvertibleTo(uint8Type) { + // Convert and copy each element into a uint8 byte + // slice. + buf = make([]uint8, numEntries) + for i := 0; i < numEntries; i++ { + vv := v.Index(i) + buf[i] = uint8(vv.Convert(uint8Type).Uint()) + } + doHexDump = true + } + } + + // Hexdump the entire slice as needed. + if doHexDump { + indent := strings.Repeat(d.cs.Indent, d.depth) + str := indent + hex.Dump(buf) + str = strings.Replace(str, "\n", "\n"+indent, -1) + str = strings.TrimRight(str, d.cs.Indent) + d.w.Write([]byte(str)) + return + } + + // Recursively call dump for each item. + for i := 0; i < numEntries; i++ { + d.dump(d.unpackValue(v.Index(i))) + if i < (numEntries - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } +} + +// dump is the main workhorse for dumping a value. It uses the passed reflect +// value to figure out what kind of object we are dealing with and formats it +// appropriately. It is a recursive function, however circular data structures +// are detected and handled properly. +func (d *dumpState) dump(v reflect.Value) { + // Handle invalid reflect values immediately. + kind := v.Kind() + if kind == reflect.Invalid { + d.w.Write(invalidAngleBytes) + return + } + + // Handle pointers specially. + if kind == reflect.Ptr { + d.indent() + d.dumpPtr(v) + return + } + + // Print type information unless already handled elsewhere. + if !d.ignoreNextType { + d.indent() + d.w.Write(openParenBytes) + d.w.Write([]byte(v.Type().String())) + d.w.Write(closeParenBytes) + d.w.Write(spaceBytes) + } + d.ignoreNextType = false + + // Display length and capacity if the built-in len and cap functions + // work with the value's kind and the len/cap itself is non-zero. + valueLen, valueCap := 0, 0 + switch v.Kind() { + case reflect.Array, reflect.Slice, reflect.Chan: + valueLen, valueCap = v.Len(), v.Cap() + case reflect.Map, reflect.String: + valueLen = v.Len() + } + if valueLen != 0 || !d.cs.DisableCapacities && valueCap != 0 { + d.w.Write(openParenBytes) + if valueLen != 0 { + d.w.Write(lenEqualsBytes) + printInt(d.w, int64(valueLen), 10) + } + if !d.cs.DisableCapacities && valueCap != 0 { + if valueLen != 0 { + d.w.Write(spaceBytes) + } + d.w.Write(capEqualsBytes) + printInt(d.w, int64(valueCap), 10) + } + d.w.Write(closeParenBytes) + d.w.Write(spaceBytes) + } + + // Call Stringer/error interfaces if they exist and the handle methods flag + // is enabled + if !d.cs.DisableMethods { + if (kind != reflect.Invalid) && (kind != reflect.Interface) { + if handled := handleMethods(d.cs, d.w, v); handled { + return + } + } + } + + switch kind { + case reflect.Invalid: + // Do nothing. We should never get here since invalid has already + // been handled above. + + case reflect.Bool: + printBool(d.w, v.Bool()) + + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + printInt(d.w, v.Int(), 10) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + printUint(d.w, v.Uint(), 10) + + case reflect.Float32: + printFloat(d.w, v.Float(), 32) + + case reflect.Float64: + printFloat(d.w, v.Float(), 64) + + case reflect.Complex64: + printComplex(d.w, v.Complex(), 32) + + case reflect.Complex128: + printComplex(d.w, v.Complex(), 64) + + case reflect.Slice: + if v.IsNil() { + d.w.Write(nilAngleBytes) + break + } + fallthrough + + case reflect.Array: + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + d.dumpSlice(v) + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.String: + d.w.Write([]byte(strconv.Quote(v.String()))) + + case reflect.Interface: + // The only time we should get here is for nil interfaces due to + // unpackValue calls. + if v.IsNil() { + d.w.Write(nilAngleBytes) + } + + case reflect.Ptr: + // Do nothing. We should never get here since pointers have already + // been handled above. + + case reflect.Map: + // nil maps should be indicated as different than empty maps + if v.IsNil() { + d.w.Write(nilAngleBytes) + break + } + + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + numEntries := v.Len() + keys := v.MapKeys() + if d.cs.SortKeys { + sortValues(keys, d.cs) + } + for i, key := range keys { + d.dump(d.unpackValue(key)) + d.w.Write(colonSpaceBytes) + d.ignoreNextIndent = true + d.dump(d.unpackValue(v.MapIndex(key))) + if i < (numEntries - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.Struct: + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + vt := v.Type() + numFields := v.NumField() + for i := 0; i < numFields; i++ { + d.indent() + vtf := vt.Field(i) + d.w.Write([]byte(vtf.Name)) + d.w.Write(colonSpaceBytes) + d.ignoreNextIndent = true + d.dump(d.unpackValue(v.Field(i))) + if i < (numFields - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.Uintptr: + printHexPtr(d.w, uintptr(v.Uint())) + + case reflect.UnsafePointer, reflect.Chan, reflect.Func: + printHexPtr(d.w, v.Pointer()) + + // There were not any other types at the time this code was written, but + // fall back to letting the default fmt package handle it in case any new + // types are added. + default: + if v.CanInterface() { + fmt.Fprintf(d.w, "%v", v.Interface()) + } else { + fmt.Fprintf(d.w, "%v", v.String()) + } + } +} + +// fdump is a helper function to consolidate the logic from the various public +// methods which take varying writers and config states. +func fdump(cs *ConfigState, w io.Writer, a ...interface{}) { + for _, arg := range a { + if arg == nil { + w.Write(interfaceBytes) + w.Write(spaceBytes) + w.Write(nilAngleBytes) + w.Write(newlineBytes) + continue + } + + d := dumpState{w: w, cs: cs} + d.pointers = make(map[uintptr]int) + d.dump(reflect.ValueOf(arg)) + d.w.Write(newlineBytes) + } +} + +// Fdump formats and displays the passed arguments to io.Writer w. It formats +// exactly the same as Dump. +func Fdump(w io.Writer, a ...interface{}) { + fdump(&Config, w, a...) +} + +// Sdump returns a string with the passed arguments formatted exactly the same +// as Dump. +func Sdump(a ...interface{}) string { + var buf bytes.Buffer + fdump(&Config, &buf, a...) + return buf.String() +} + +/* +Dump displays the passed parameters to standard out with newlines, customizable +indentation, and additional debug information such as complete types and all +pointer addresses used to indirect to the final value. It provides the +following features over the built-in printing facilities provided by the fmt +package: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output + +The configuration options are controlled by an exported package global, +spew.Config. See ConfigState for options documentation. + +See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to +get the formatted result as a string. +*/ +func Dump(a ...interface{}) { + fdump(&Config, os.Stdout, a...) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/format.go b/vendor/github.com/davecgh/go-spew/spew/format.go new file mode 100644 index 000000000..b04edb7d7 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/format.go @@ -0,0 +1,419 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * 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. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "reflect" + "strconv" + "strings" +) + +// supportedFlags is a list of all the character flags supported by fmt package. +const supportedFlags = "0-+# " + +// formatState implements the fmt.Formatter interface and contains information +// about the state of a formatting operation. The NewFormatter function can +// be used to get a new Formatter which can be used directly as arguments +// in standard fmt package printing calls. +type formatState struct { + value interface{} + fs fmt.State + depth int + pointers map[uintptr]int + ignoreNextType bool + cs *ConfigState +} + +// buildDefaultFormat recreates the original format string without precision +// and width information to pass in to fmt.Sprintf in the case of an +// unrecognized type. Unless new types are added to the language, this +// function won't ever be called. +func (f *formatState) buildDefaultFormat() (format string) { + buf := bytes.NewBuffer(percentBytes) + + for _, flag := range supportedFlags { + if f.fs.Flag(int(flag)) { + buf.WriteRune(flag) + } + } + + buf.WriteRune('v') + + format = buf.String() + return format +} + +// constructOrigFormat recreates the original format string including precision +// and width information to pass along to the standard fmt package. This allows +// automatic deferral of all format strings this package doesn't support. +func (f *formatState) constructOrigFormat(verb rune) (format string) { + buf := bytes.NewBuffer(percentBytes) + + for _, flag := range supportedFlags { + if f.fs.Flag(int(flag)) { + buf.WriteRune(flag) + } + } + + if width, ok := f.fs.Width(); ok { + buf.WriteString(strconv.Itoa(width)) + } + + if precision, ok := f.fs.Precision(); ok { + buf.Write(precisionBytes) + buf.WriteString(strconv.Itoa(precision)) + } + + buf.WriteRune(verb) + + format = buf.String() + return format +} + +// unpackValue returns values inside of non-nil interfaces when possible and +// ensures that types for values which have been unpacked from an interface +// are displayed when the show types flag is also set. +// This is useful for data types like structs, arrays, slices, and maps which +// can contain varying types packed inside an interface. +func (f *formatState) unpackValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Interface { + f.ignoreNextType = false + if !v.IsNil() { + v = v.Elem() + } + } + return v +} + +// formatPtr handles formatting of pointers by indirecting them as necessary. +func (f *formatState) formatPtr(v reflect.Value) { + // Display nil if top level pointer is nil. + showTypes := f.fs.Flag('#') + if v.IsNil() && (!showTypes || f.ignoreNextType) { + f.fs.Write(nilAngleBytes) + return + } + + // Remove pointers at or below the current depth from map used to detect + // circular refs. + for k, depth := range f.pointers { + if depth >= f.depth { + delete(f.pointers, k) + } + } + + // Keep list of all dereferenced pointers to possibly show later. + pointerChain := make([]uintptr, 0) + + // Figure out how many levels of indirection there are by derferencing + // pointers and unpacking interfaces down the chain while detecting circular + // references. + nilFound := false + cycleFound := false + indirects := 0 + ve := v + for ve.Kind() == reflect.Ptr { + if ve.IsNil() { + nilFound = true + break + } + indirects++ + addr := ve.Pointer() + pointerChain = append(pointerChain, addr) + if pd, ok := f.pointers[addr]; ok && pd < f.depth { + cycleFound = true + indirects-- + break + } + f.pointers[addr] = f.depth + + ve = ve.Elem() + if ve.Kind() == reflect.Interface { + if ve.IsNil() { + nilFound = true + break + } + ve = ve.Elem() + } + } + + // Display type or indirection level depending on flags. + if showTypes && !f.ignoreNextType { + f.fs.Write(openParenBytes) + f.fs.Write(bytes.Repeat(asteriskBytes, indirects)) + f.fs.Write([]byte(ve.Type().String())) + f.fs.Write(closeParenBytes) + } else { + if nilFound || cycleFound { + indirects += strings.Count(ve.Type().String(), "*") + } + f.fs.Write(openAngleBytes) + f.fs.Write([]byte(strings.Repeat("*", indirects))) + f.fs.Write(closeAngleBytes) + } + + // Display pointer information depending on flags. + if f.fs.Flag('+') && (len(pointerChain) > 0) { + f.fs.Write(openParenBytes) + for i, addr := range pointerChain { + if i > 0 { + f.fs.Write(pointerChainBytes) + } + printHexPtr(f.fs, addr) + } + f.fs.Write(closeParenBytes) + } + + // Display dereferenced value. + switch { + case nilFound: + f.fs.Write(nilAngleBytes) + + case cycleFound: + f.fs.Write(circularShortBytes) + + default: + f.ignoreNextType = true + f.format(ve) + } +} + +// format is the main workhorse for providing the Formatter interface. It +// uses the passed reflect value to figure out what kind of object we are +// dealing with and formats it appropriately. It is a recursive function, +// however circular data structures are detected and handled properly. +func (f *formatState) format(v reflect.Value) { + // Handle invalid reflect values immediately. + kind := v.Kind() + if kind == reflect.Invalid { + f.fs.Write(invalidAngleBytes) + return + } + + // Handle pointers specially. + if kind == reflect.Ptr { + f.formatPtr(v) + return + } + + // Print type information unless already handled elsewhere. + if !f.ignoreNextType && f.fs.Flag('#') { + f.fs.Write(openParenBytes) + f.fs.Write([]byte(v.Type().String())) + f.fs.Write(closeParenBytes) + } + f.ignoreNextType = false + + // Call Stringer/error interfaces if they exist and the handle methods + // flag is enabled. + if !f.cs.DisableMethods { + if (kind != reflect.Invalid) && (kind != reflect.Interface) { + if handled := handleMethods(f.cs, f.fs, v); handled { + return + } + } + } + + switch kind { + case reflect.Invalid: + // Do nothing. We should never get here since invalid has already + // been handled above. + + case reflect.Bool: + printBool(f.fs, v.Bool()) + + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + printInt(f.fs, v.Int(), 10) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + printUint(f.fs, v.Uint(), 10) + + case reflect.Float32: + printFloat(f.fs, v.Float(), 32) + + case reflect.Float64: + printFloat(f.fs, v.Float(), 64) + + case reflect.Complex64: + printComplex(f.fs, v.Complex(), 32) + + case reflect.Complex128: + printComplex(f.fs, v.Complex(), 64) + + case reflect.Slice: + if v.IsNil() { + f.fs.Write(nilAngleBytes) + break + } + fallthrough + + case reflect.Array: + f.fs.Write(openBracketBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + numEntries := v.Len() + for i := 0; i < numEntries; i++ { + if i > 0 { + f.fs.Write(spaceBytes) + } + f.ignoreNextType = true + f.format(f.unpackValue(v.Index(i))) + } + } + f.depth-- + f.fs.Write(closeBracketBytes) + + case reflect.String: + f.fs.Write([]byte(v.String())) + + case reflect.Interface: + // The only time we should get here is for nil interfaces due to + // unpackValue calls. + if v.IsNil() { + f.fs.Write(nilAngleBytes) + } + + case reflect.Ptr: + // Do nothing. We should never get here since pointers have already + // been handled above. + + case reflect.Map: + // nil maps should be indicated as different than empty maps + if v.IsNil() { + f.fs.Write(nilAngleBytes) + break + } + + f.fs.Write(openMapBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + keys := v.MapKeys() + if f.cs.SortKeys { + sortValues(keys, f.cs) + } + for i, key := range keys { + if i > 0 { + f.fs.Write(spaceBytes) + } + f.ignoreNextType = true + f.format(f.unpackValue(key)) + f.fs.Write(colonBytes) + f.ignoreNextType = true + f.format(f.unpackValue(v.MapIndex(key))) + } + } + f.depth-- + f.fs.Write(closeMapBytes) + + case reflect.Struct: + numFields := v.NumField() + f.fs.Write(openBraceBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + vt := v.Type() + for i := 0; i < numFields; i++ { + if i > 0 { + f.fs.Write(spaceBytes) + } + vtf := vt.Field(i) + if f.fs.Flag('+') || f.fs.Flag('#') { + f.fs.Write([]byte(vtf.Name)) + f.fs.Write(colonBytes) + } + f.format(f.unpackValue(v.Field(i))) + } + } + f.depth-- + f.fs.Write(closeBraceBytes) + + case reflect.Uintptr: + printHexPtr(f.fs, uintptr(v.Uint())) + + case reflect.UnsafePointer, reflect.Chan, reflect.Func: + printHexPtr(f.fs, v.Pointer()) + + // There were not any other types at the time this code was written, but + // fall back to letting the default fmt package handle it if any get added. + default: + format := f.buildDefaultFormat() + if v.CanInterface() { + fmt.Fprintf(f.fs, format, v.Interface()) + } else { + fmt.Fprintf(f.fs, format, v.String()) + } + } +} + +// Format satisfies the fmt.Formatter interface. See NewFormatter for usage +// details. +func (f *formatState) Format(fs fmt.State, verb rune) { + f.fs = fs + + // Use standard formatting for verbs that are not v. + if verb != 'v' { + format := f.constructOrigFormat(verb) + fmt.Fprintf(fs, format, f.value) + return + } + + if f.value == nil { + if fs.Flag('#') { + fs.Write(interfaceBytes) + } + fs.Write(nilAngleBytes) + return + } + + f.format(reflect.ValueOf(f.value)) +} + +// newFormatter is a helper function to consolidate the logic from the various +// public methods which take varying config states. +func newFormatter(cs *ConfigState, v interface{}) fmt.Formatter { + fs := &formatState{value: v, cs: cs} + fs.pointers = make(map[uintptr]int) + return fs +} + +/* +NewFormatter returns a custom formatter that satisfies the fmt.Formatter +interface. As a result, it integrates cleanly with standard fmt package +printing functions. The formatter is useful for inline printing of smaller data +types similar to the standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Typically this function shouldn't be called directly. It is much easier to make +use of the custom formatter by calling one of the convenience functions such as +Printf, Println, or Fprintf. +*/ +func NewFormatter(v interface{}) fmt.Formatter { + return newFormatter(&Config, v) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/spew.go b/vendor/github.com/davecgh/go-spew/spew/spew.go new file mode 100644 index 000000000..32c0e3388 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/spew.go @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * 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. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "fmt" + "io" +) + +// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the formatted string as a value that satisfies error. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Errorf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Errorf(format string, a ...interface{}) (err error) { + return fmt.Errorf(format, convertArgs(a)...) +} + +// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprint(w, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprint(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprint(w, convertArgs(a)...) +} + +// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintf(w, format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { + return fmt.Fprintf(w, format, convertArgs(a)...) +} + +// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it +// passed with a default Formatter interface returned by NewFormatter. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintln(w, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprintln(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprintln(w, convertArgs(a)...) +} + +// Print is a wrapper for fmt.Print that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Print(spew.NewFormatter(a), spew.NewFormatter(b)) +func Print(a ...interface{}) (n int, err error) { + return fmt.Print(convertArgs(a)...) +} + +// Printf is a wrapper for fmt.Printf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Printf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Printf(format string, a ...interface{}) (n int, err error) { + return fmt.Printf(format, convertArgs(a)...) +} + +// Println is a wrapper for fmt.Println that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Println(spew.NewFormatter(a), spew.NewFormatter(b)) +func Println(a ...interface{}) (n int, err error) { + return fmt.Println(convertArgs(a)...) +} + +// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprint(spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprint(a ...interface{}) string { + return fmt.Sprint(convertArgs(a)...) +} + +// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprintf(format string, a ...interface{}) string { + return fmt.Sprintf(format, convertArgs(a)...) +} + +// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it +// were passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintln(spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprintln(a ...interface{}) string { + return fmt.Sprintln(convertArgs(a)...) +} + +// convertArgs accepts a slice of arguments and returns a slice of the same +// length with each argument converted to a default spew Formatter interface. +func convertArgs(args []interface{}) (formatters []interface{}) { + formatters = make([]interface{}, len(args)) + for index, arg := range args { + formatters[index] = NewFormatter(arg) + } + return formatters +} diff --git a/vendor/github.com/dgrijalva/jwt-go/.gitignore b/vendor/github.com/dgrijalva/jwt-go/.gitignore new file mode 100644 index 000000000..80bed650e --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +bin + + diff --git a/vendor/github.com/dgrijalva/jwt-go/.travis.yml b/vendor/github.com/dgrijalva/jwt-go/.travis.yml new file mode 100644 index 000000000..1027f56cd --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/.travis.yml @@ -0,0 +1,13 @@ +language: go + +script: + - go vet ./... + - go test -v ./... + +go: + - 1.3 + - 1.4 + - 1.5 + - 1.6 + - 1.7 + - tip diff --git a/vendor/github.com/dgrijalva/jwt-go/LICENSE b/vendor/github.com/dgrijalva/jwt-go/LICENSE new file mode 100644 index 000000000..df83a9c2f --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/LICENSE @@ -0,0 +1,8 @@ +Copyright (c) 2012 Dave Grijalva + +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/dgrijalva/jwt-go/MIGRATION_GUIDE.md b/vendor/github.com/dgrijalva/jwt-go/MIGRATION_GUIDE.md new file mode 100644 index 000000000..7fc1f793c --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/MIGRATION_GUIDE.md @@ -0,0 +1,97 @@ +## Migration Guide from v2 -> v3 + +Version 3 adds several new, frequently requested features. To do so, it introduces a few breaking changes. We've worked to keep these as minimal as possible. This guide explains the breaking changes and how you can quickly update your code. + +### `Token.Claims` is now an interface type + +The most requested feature from the 2.0 verison of this library was the ability to provide a custom type to the JSON parser for claims. This was implemented by introducing a new interface, `Claims`, to replace `map[string]interface{}`. We also included two concrete implementations of `Claims`: `MapClaims` and `StandardClaims`. + +`MapClaims` is an alias for `map[string]interface{}` with built in validation behavior. It is the default claims type when using `Parse`. The usage is unchanged except you must type cast the claims property. + +The old example for parsing a token looked like this.. + +```go + if token, err := jwt.Parse(tokenString, keyLookupFunc); err == nil { + fmt.Printf("Token for user %v expires %v", token.Claims["user"], token.Claims["exp"]) + } +``` + +is now directly mapped to... + +```go + if token, err := jwt.Parse(tokenString, keyLookupFunc); err == nil { + claims := token.Claims.(jwt.MapClaims) + fmt.Printf("Token for user %v expires %v", claims["user"], claims["exp"]) + } +``` + +`StandardClaims` is designed to be embedded in your custom type. You can supply a custom claims type with the new `ParseWithClaims` function. Here's an example of using a custom claims type. + +```go + type MyCustomClaims struct { + User string + *StandardClaims + } + + if token, err := jwt.ParseWithClaims(tokenString, &MyCustomClaims{}, keyLookupFunc); err == nil { + claims := token.Claims.(*MyCustomClaims) + fmt.Printf("Token for user %v expires %v", claims.User, claims.StandardClaims.ExpiresAt) + } +``` + +### `ParseFromRequest` has been moved + +To keep this library focused on the tokens without becoming overburdened with complex request processing logic, `ParseFromRequest` and its new companion `ParseFromRequestWithClaims` have been moved to a subpackage, `request`. The method signatues have also been augmented to receive a new argument: `Extractor`. + +`Extractors` do the work of picking the token string out of a request. The interface is simple and composable. + +This simple parsing example: + +```go + if token, err := jwt.ParseFromRequest(tokenString, req, keyLookupFunc); err == nil { + fmt.Printf("Token for user %v expires %v", token.Claims["user"], token.Claims["exp"]) + } +``` + +is directly mapped to: + +```go + if token, err := request.ParseFromRequest(req, request.OAuth2Extractor, keyLookupFunc); err == nil { + claims := token.Claims.(jwt.MapClaims) + fmt.Printf("Token for user %v expires %v", claims["user"], claims["exp"]) + } +``` + +There are several concrete `Extractor` types provided for your convenience: + +* `HeaderExtractor` will search a list of headers until one contains content. +* `ArgumentExtractor` will search a list of keys in request query and form arguments until one contains content. +* `MultiExtractor` will try a list of `Extractors` in order until one returns content. +* `AuthorizationHeaderExtractor` will look in the `Authorization` header for a `Bearer` token. +* `OAuth2Extractor` searches the places an OAuth2 token would be specified (per the spec): `Authorization` header and `access_token` argument +* `PostExtractionFilter` wraps an `Extractor`, allowing you to process the content before it's parsed. A simple example is stripping the `Bearer ` text from a header + + +### RSA signing methods no longer accept `[]byte` keys + +Due to a [critical vulnerability](https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/), we've decided the convenience of accepting `[]byte` instead of `rsa.PublicKey` or `rsa.PrivateKey` isn't worth the risk of misuse. + +To replace this behavior, we've added two helper methods: `ParseRSAPrivateKeyFromPEM(key []byte) (*rsa.PrivateKey, error)` and `ParseRSAPublicKeyFromPEM(key []byte) (*rsa.PublicKey, error)`. These are just simple helpers for unpacking PEM encoded PKCS1 and PKCS8 keys. If your keys are encoded any other way, all you need to do is convert them to the `crypto/rsa` package's types. + +```go + func keyLookupFunc(*Token) (interface{}, error) { + // Don't forget to validate the alg is what you expect: + if _, ok := token.Method.(*jwt.SigningMethodRSA); !ok { + return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"]) + } + + // Look up key + key, err := lookupPublicKey(token.Header["kid"]) + if err != nil { + return nil, err + } + + // Unpack key from PEM encoded PKCS8 + return jwt.ParseRSAPublicKeyFromPEM(key) + } +``` diff --git a/vendor/github.com/dgrijalva/jwt-go/README.md b/vendor/github.com/dgrijalva/jwt-go/README.md new file mode 100644 index 000000000..d358d881b --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/README.md @@ -0,0 +1,100 @@ +# jwt-go + +[![Build Status](https://travis-ci.org/dgrijalva/jwt-go.svg?branch=master)](https://travis-ci.org/dgrijalva/jwt-go) +[![GoDoc](https://godoc.org/github.com/dgrijalva/jwt-go?status.svg)](https://godoc.org/github.com/dgrijalva/jwt-go) + +A [go](http://www.golang.org) (or 'golang' for search engine friendliness) implementation of [JSON Web Tokens](http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html) + +**NEW VERSION COMING:** There have been a lot of improvements suggested since the version 3.0.0 released in 2016. I'm working now on cutting two different releases: 3.2.0 will contain any non-breaking changes or enhancements. 4.0.0 will follow shortly which will include breaking changes. See the 4.0.0 milestone to get an idea of what's coming. If you have other ideas, or would like to participate in 4.0.0, now's the time. If you depend on this library and don't want to be interrupted, I recommend you use your dependency mangement tool to pin to version 3. + +**SECURITY NOTICE:** Some older versions of Go have a security issue in the cryotp/elliptic. Recommendation is to upgrade to at least 1.8.3. See issue #216 for more detail. + +**SECURITY NOTICE:** It's important that you [validate the `alg` presented is what you expect](https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/). This library attempts to make it easy to do the right thing by requiring key types match the expected alg, but you should take the extra step to verify it in your usage. See the examples provided. + +## What the heck is a JWT? + +JWT.io has [a great introduction](https://jwt.io/introduction) to JSON Web Tokens. + +In short, it's a signed JSON object that does something useful (for example, authentication). It's commonly used for `Bearer` tokens in Oauth 2. A token is made of three parts, separated by `.`'s. The first two parts are JSON objects, that have been [base64url](http://tools.ietf.org/html/rfc4648) encoded. The last part is the signature, encoded the same way. + +The first part is called the header. It contains the necessary information for verifying the last part, the signature. For example, which encryption method was used for signing and what key was used. + +The part in the middle is the interesting bit. It's called the Claims and contains the actual stuff you care about. Refer to [the RFC](http://self-issued.info/docs/draft-jones-json-web-token.html) for information about reserved keys and the proper way to add your own. + +## What's in the box? + +This library supports the parsing and verification as well as the generation and signing of JWTs. Current supported signing algorithms are HMAC SHA, RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own. + +## Examples + +See [the project documentation](https://godoc.org/github.com/dgrijalva/jwt-go) for examples of usage: + +* [Simple example of parsing and validating a token](https://godoc.org/github.com/dgrijalva/jwt-go#example-Parse--Hmac) +* [Simple example of building and signing a token](https://godoc.org/github.com/dgrijalva/jwt-go#example-New--Hmac) +* [Directory of Examples](https://godoc.org/github.com/dgrijalva/jwt-go#pkg-examples) + +## Extensions + +This library publishes all the necessary components for adding your own signing methods. Simply implement the `SigningMethod` interface and register a factory method using `RegisterSigningMethod`. + +Here's an example of an extension that integrates with the Google App Engine signing tools: https://github.com/someone1/gcp-jwt-go + +## Compliance + +This library was last reviewed to comply with [RTF 7519](http://www.rfc-editor.org/info/rfc7519) dated May 2015 with a few notable differences: + +* In order to protect against accidental use of [Unsecured JWTs](http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#UnsecuredJWT), tokens using `alg=none` will only be accepted if the constant `jwt.UnsafeAllowNoneSignatureType` is provided as the key. + +## Project Status & Versioning + +This library is considered production ready. Feedback and feature requests are appreciated. The API should be considered stable. There should be very few backwards-incompatible changes outside of major version updates (and only with good reason). + +This project uses [Semantic Versioning 2.0.0](http://semver.org). Accepted pull requests will land on `master`. Periodically, versions will be tagged from `master`. You can find all the releases on [the project releases page](https://github.com/dgrijalva/jwt-go/releases). + +While we try to make it obvious when we make breaking changes, there isn't a great mechanism for pushing announcements out to users. You may want to use this alternative package include: `gopkg.in/dgrijalva/jwt-go.v3`. It will do the right thing WRT semantic versioning. + +**BREAKING CHANGES:*** +* Version 3.0.0 includes _a lot_ of changes from the 2.x line, including a few that break the API. We've tried to break as few things as possible, so there should just be a few type signature changes. A full list of breaking changes is available in `VERSION_HISTORY.md`. See `MIGRATION_GUIDE.md` for more information on updating your code. + +## Usage Tips + +### Signing vs Encryption + +A token is simply a JSON object that is signed by its author. this tells you exactly two things about the data: + +* The author of the token was in the possession of the signing secret +* The data has not been modified since it was signed + +It's important to know that JWT does not provide encryption, which means anyone who has access to the token can read its contents. If you need to protect (encrypt) the data, there is a companion spec, `JWE`, that provides this functionality. JWE is currently outside the scope of this library. + +### Choosing a Signing Method + +There are several signing methods available, and you should probably take the time to learn about the various options before choosing one. The principal design decision is most likely going to be symmetric vs asymmetric. + +Symmetric signing methods, such as HSA, use only a single secret. This is probably the simplest signing method to use since any `[]byte` can be used as a valid secret. They are also slightly computationally faster to use, though this rarely is enough to matter. Symmetric signing methods work the best when both producers and consumers of tokens are trusted, or even the same system. Since the same secret is used to both sign and validate tokens, you can't easily distribute the key for validation. + +Asymmetric signing methods, such as RSA, use different keys for signing and verifying tokens. This makes it possible to produce tokens with a private key, and allow any consumer to access the public key for verification. + +### Signing Methods and Key Types + +Each signing method expects a different object type for its signing keys. See the package documentation for details. Here are the most common ones: + +* The [HMAC signing method](https://godoc.org/github.com/dgrijalva/jwt-go#SigningMethodHMAC) (`HS256`,`HS384`,`HS512`) expect `[]byte` values for signing and validation +* The [RSA signing method](https://godoc.org/github.com/dgrijalva/jwt-go#SigningMethodRSA) (`RS256`,`RS384`,`RS512`) expect `*rsa.PrivateKey` for signing and `*rsa.PublicKey` for validation +* The [ECDSA signing method](https://godoc.org/github.com/dgrijalva/jwt-go#SigningMethodECDSA) (`ES256`,`ES384`,`ES512`) expect `*ecdsa.PrivateKey` for signing and `*ecdsa.PublicKey` for validation + +### JWT and OAuth + +It's worth mentioning that OAuth and JWT are not the same thing. A JWT token is simply a signed JSON object. It can be used anywhere such a thing is useful. There is some confusion, though, as JWT is the most common type of bearer token used in OAuth2 authentication. + +Without going too far down the rabbit hole, here's a description of the interaction of these technologies: + +* OAuth is a protocol for allowing an identity provider to be separate from the service a user is logging in to. For example, whenever you use Facebook to log into a different service (Yelp, Spotify, etc), you are using OAuth. +* OAuth defines several options for passing around authentication data. One popular method is called a "bearer token". A bearer token is simply a string that _should_ only be held by an authenticated user. Thus, simply presenting this token proves your identity. You can probably derive from here why a JWT might make a good bearer token. +* Because bearer tokens are used for authentication, it's important they're kept secret. This is why transactions that use bearer tokens typically happen over SSL. + +## More + +Documentation can be found [on godoc.org](http://godoc.org/github.com/dgrijalva/jwt-go). + +The command line utility included in this project (cmd/jwt) provides a straightforward example of token creation and parsing as well as a useful tool for debugging your own integration. You'll also find several implementation examples in the documentation. diff --git a/vendor/github.com/dgrijalva/jwt-go/VERSION_HISTORY.md b/vendor/github.com/dgrijalva/jwt-go/VERSION_HISTORY.md new file mode 100644 index 000000000..637029831 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/VERSION_HISTORY.md @@ -0,0 +1,118 @@ +## `jwt-go` Version History + +#### 3.2.0 + +* Added method `ParseUnverified` to allow users to split up the tasks of parsing and validation +* HMAC signing method returns `ErrInvalidKeyType` instead of `ErrInvalidKey` where appropriate +* Added options to `request.ParseFromRequest`, which allows for an arbitrary list of modifiers to parsing behavior. Initial set include `WithClaims` and `WithParser`. Existing usage of this function will continue to work as before. +* Deprecated `ParseFromRequestWithClaims` to simplify API in the future. + +#### 3.1.0 + +* Improvements to `jwt` command line tool +* Added `SkipClaimsValidation` option to `Parser` +* Documentation updates + +#### 3.0.0 + +* **Compatibility Breaking Changes**: See MIGRATION_GUIDE.md for tips on updating your code + * Dropped support for `[]byte` keys when using RSA signing methods. This convenience feature could contribute to security vulnerabilities involving mismatched key types with signing methods. + * `ParseFromRequest` has been moved to `request` subpackage and usage has changed + * The `Claims` property on `Token` is now type `Claims` instead of `map[string]interface{}`. The default value is type `MapClaims`, which is an alias to `map[string]interface{}`. This makes it possible to use a custom type when decoding claims. +* Other Additions and Changes + * Added `Claims` interface type to allow users to decode the claims into a custom type + * Added `ParseWithClaims`, which takes a third argument of type `Claims`. Use this function instead of `Parse` if you have a custom type you'd like to decode into. + * Dramatically improved the functionality and flexibility of `ParseFromRequest`, which is now in the `request` subpackage + * Added `ParseFromRequestWithClaims` which is the `FromRequest` equivalent of `ParseWithClaims` + * Added new interface type `Extractor`, which is used for extracting JWT strings from http requests. Used with `ParseFromRequest` and `ParseFromRequestWithClaims`. + * Added several new, more specific, validation errors to error type bitmask + * Moved examples from README to executable example files + * Signing method registry is now thread safe + * Added new property to `ValidationError`, which contains the raw error returned by calls made by parse/verify (such as those returned by keyfunc or json parser) + +#### 2.7.0 + +This will likely be the last backwards compatible release before 3.0.0, excluding essential bug fixes. + +* Added new option `-show` to the `jwt` command that will just output the decoded token without verifying +* Error text for expired tokens includes how long it's been expired +* Fixed incorrect error returned from `ParseRSAPublicKeyFromPEM` +* Documentation updates + +#### 2.6.0 + +* Exposed inner error within ValidationError +* Fixed validation errors when using UseJSONNumber flag +* Added several unit tests + +#### 2.5.0 + +* Added support for signing method none. You shouldn't use this. The API tries to make this clear. +* Updated/fixed some documentation +* Added more helpful error message when trying to parse tokens that begin with `BEARER ` + +#### 2.4.0 + +* Added new type, Parser, to allow for configuration of various parsing parameters + * You can now specify a list of valid signing methods. Anything outside this set will be rejected. + * You can now opt to use the `json.Number` type instead of `float64` when parsing token JSON +* Added support for [Travis CI](https://travis-ci.org/dgrijalva/jwt-go) +* Fixed some bugs with ECDSA parsing + +#### 2.3.0 + +* Added support for ECDSA signing methods +* Added support for RSA PSS signing methods (requires go v1.4) + +#### 2.2.0 + +* Gracefully handle a `nil` `Keyfunc` being passed to `Parse`. Result will now be the parsed token and an error, instead of a panic. + +#### 2.1.0 + +Backwards compatible API change that was missed in 2.0.0. + +* The `SignedString` method on `Token` now takes `interface{}` instead of `[]byte` + +#### 2.0.0 + +There were two major reasons for breaking backwards compatibility with this update. The first was a refactor required to expand the width of the RSA and HMAC-SHA signing implementations. There will likely be no required code changes to support this change. + +The second update, while unfortunately requiring a small change in integration, is required to open up this library to other signing methods. Not all keys used for all signing methods have a single standard on-disk representation. Requiring `[]byte` as the type for all keys proved too limiting. Additionally, this implementation allows for pre-parsed tokens to be reused, which might matter in an application that parses a high volume of tokens with a small set of keys. Backwards compatibilty has been maintained for passing `[]byte` to the RSA signing methods, but they will also accept `*rsa.PublicKey` and `*rsa.PrivateKey`. + +It is likely the only integration change required here will be to change `func(t *jwt.Token) ([]byte, error)` to `func(t *jwt.Token) (interface{}, error)` when calling `Parse`. + +* **Compatibility Breaking Changes** + * `SigningMethodHS256` is now `*SigningMethodHMAC` instead of `type struct` + * `SigningMethodRS256` is now `*SigningMethodRSA` instead of `type struct` + * `KeyFunc` now returns `interface{}` instead of `[]byte` + * `SigningMethod.Sign` now takes `interface{}` instead of `[]byte` for the key + * `SigningMethod.Verify` now takes `interface{}` instead of `[]byte` for the key +* Renamed type `SigningMethodHS256` to `SigningMethodHMAC`. Specific sizes are now just instances of this type. + * Added public package global `SigningMethodHS256` + * Added public package global `SigningMethodHS384` + * Added public package global `SigningMethodHS512` +* Renamed type `SigningMethodRS256` to `SigningMethodRSA`. Specific sizes are now just instances of this type. + * Added public package global `SigningMethodRS256` + * Added public package global `SigningMethodRS384` + * Added public package global `SigningMethodRS512` +* Moved sample private key for HMAC tests from an inline value to a file on disk. Value is unchanged. +* Refactored the RSA implementation to be easier to read +* Exposed helper methods `ParseRSAPrivateKeyFromPEM` and `ParseRSAPublicKeyFromPEM` + +#### 1.0.2 + +* Fixed bug in parsing public keys from certificates +* Added more tests around the parsing of keys for RS256 +* Code refactoring in RS256 implementation. No functional changes + +#### 1.0.1 + +* Fixed panic if RS256 signing method was passed an invalid key + +#### 1.0.0 + +* First versioned release +* API stabilized +* Supports creating, signing, parsing, and validating JWT tokens +* Supports RS256 and HS256 signing methods \ No newline at end of file diff --git a/vendor/github.com/dgrijalva/jwt-go/claims.go b/vendor/github.com/dgrijalva/jwt-go/claims.go new file mode 100644 index 000000000..f0228f02e --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/claims.go @@ -0,0 +1,134 @@ +package jwt + +import ( + "crypto/subtle" + "fmt" + "time" +) + +// For a type to be a Claims object, it must just have a Valid method that determines +// if the token is invalid for any supported reason +type Claims interface { + Valid() error +} + +// Structured version of Claims Section, as referenced at +// https://tools.ietf.org/html/rfc7519#section-4.1 +// See examples for how to use this with your own claim types +type StandardClaims struct { + Audience string `json:"aud,omitempty"` + ExpiresAt int64 `json:"exp,omitempty"` + Id string `json:"jti,omitempty"` + IssuedAt int64 `json:"iat,omitempty"` + Issuer string `json:"iss,omitempty"` + NotBefore int64 `json:"nbf,omitempty"` + Subject string `json:"sub,omitempty"` +} + +// Validates time based claims "exp, iat, nbf". +// There is no accounting for clock skew. +// As well, if any of the above claims are not in the token, it will still +// be considered a valid claim. +func (c StandardClaims) Valid() error { + vErr := new(ValidationError) + now := TimeFunc().Unix() + + // The claims below are optional, by default, so if they are set to the + // default value in Go, let's not fail the verification for them. + if c.VerifyExpiresAt(now, false) == false { + delta := time.Unix(now, 0).Sub(time.Unix(c.ExpiresAt, 0)) + vErr.Inner = fmt.Errorf("token is expired by %v", delta) + vErr.Errors |= ValidationErrorExpired + } + + if c.VerifyIssuedAt(now, false) == false { + vErr.Inner = fmt.Errorf("Token used before issued") + vErr.Errors |= ValidationErrorIssuedAt + } + + if c.VerifyNotBefore(now, false) == false { + vErr.Inner = fmt.Errorf("token is not valid yet") + vErr.Errors |= ValidationErrorNotValidYet + } + + if vErr.valid() { + return nil + } + + return vErr +} + +// Compares the aud claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyAudience(cmp string, req bool) bool { + return verifyAud(c.Audience, cmp, req) +} + +// Compares the exp claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyExpiresAt(cmp int64, req bool) bool { + return verifyExp(c.ExpiresAt, cmp, req) +} + +// Compares the iat claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyIssuedAt(cmp int64, req bool) bool { + return verifyIat(c.IssuedAt, cmp, req) +} + +// Compares the iss claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyIssuer(cmp string, req bool) bool { + return verifyIss(c.Issuer, cmp, req) +} + +// Compares the nbf claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyNotBefore(cmp int64, req bool) bool { + return verifyNbf(c.NotBefore, cmp, req) +} + +// ----- helpers + +func verifyAud(aud string, cmp string, required bool) bool { + if aud == "" { + return !required + } + if subtle.ConstantTimeCompare([]byte(aud), []byte(cmp)) != 0 { + return true + } else { + return false + } +} + +func verifyExp(exp int64, now int64, required bool) bool { + if exp == 0 { + return !required + } + return now <= exp +} + +func verifyIat(iat int64, now int64, required bool) bool { + if iat == 0 { + return !required + } + return now >= iat +} + +func verifyIss(iss string, cmp string, required bool) bool { + if iss == "" { + return !required + } + if subtle.ConstantTimeCompare([]byte(iss), []byte(cmp)) != 0 { + return true + } else { + return false + } +} + +func verifyNbf(nbf int64, now int64, required bool) bool { + if nbf == 0 { + return !required + } + return now >= nbf +} diff --git a/vendor/github.com/dgrijalva/jwt-go/doc.go b/vendor/github.com/dgrijalva/jwt-go/doc.go new file mode 100644 index 000000000..a86dc1a3b --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/doc.go @@ -0,0 +1,4 @@ +// Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html +// +// See README.md for more info. +package jwt diff --git a/vendor/github.com/dgrijalva/jwt-go/ecdsa.go b/vendor/github.com/dgrijalva/jwt-go/ecdsa.go new file mode 100644 index 000000000..f97738124 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/ecdsa.go @@ -0,0 +1,148 @@ +package jwt + +import ( + "crypto" + "crypto/ecdsa" + "crypto/rand" + "errors" + "math/big" +) + +var ( + // Sadly this is missing from crypto/ecdsa compared to crypto/rsa + ErrECDSAVerification = errors.New("crypto/ecdsa: verification error") +) + +// Implements the ECDSA family of signing methods signing methods +// Expects *ecdsa.PrivateKey for signing and *ecdsa.PublicKey for verification +type SigningMethodECDSA struct { + Name string + Hash crypto.Hash + KeySize int + CurveBits int +} + +// Specific instances for EC256 and company +var ( + SigningMethodES256 *SigningMethodECDSA + SigningMethodES384 *SigningMethodECDSA + SigningMethodES512 *SigningMethodECDSA +) + +func init() { + // ES256 + SigningMethodES256 = &SigningMethodECDSA{"ES256", crypto.SHA256, 32, 256} + RegisterSigningMethod(SigningMethodES256.Alg(), func() SigningMethod { + return SigningMethodES256 + }) + + // ES384 + SigningMethodES384 = &SigningMethodECDSA{"ES384", crypto.SHA384, 48, 384} + RegisterSigningMethod(SigningMethodES384.Alg(), func() SigningMethod { + return SigningMethodES384 + }) + + // ES512 + SigningMethodES512 = &SigningMethodECDSA{"ES512", crypto.SHA512, 66, 521} + RegisterSigningMethod(SigningMethodES512.Alg(), func() SigningMethod { + return SigningMethodES512 + }) +} + +func (m *SigningMethodECDSA) Alg() string { + return m.Name +} + +// Implements the Verify method from SigningMethod +// For this verify method, key must be an ecdsa.PublicKey struct +func (m *SigningMethodECDSA) Verify(signingString, signature string, key interface{}) error { + var err error + + // Decode the signature + var sig []byte + if sig, err = DecodeSegment(signature); err != nil { + return err + } + + // Get the key + var ecdsaKey *ecdsa.PublicKey + switch k := key.(type) { + case *ecdsa.PublicKey: + ecdsaKey = k + default: + return ErrInvalidKeyType + } + + if len(sig) != 2*m.KeySize { + return ErrECDSAVerification + } + + r := big.NewInt(0).SetBytes(sig[:m.KeySize]) + s := big.NewInt(0).SetBytes(sig[m.KeySize:]) + + // Create hasher + if !m.Hash.Available() { + return ErrHashUnavailable + } + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Verify the signature + if verifystatus := ecdsa.Verify(ecdsaKey, hasher.Sum(nil), r, s); verifystatus == true { + return nil + } else { + return ErrECDSAVerification + } +} + +// Implements the Sign method from SigningMethod +// For this signing method, key must be an ecdsa.PrivateKey struct +func (m *SigningMethodECDSA) Sign(signingString string, key interface{}) (string, error) { + // Get the key + var ecdsaKey *ecdsa.PrivateKey + switch k := key.(type) { + case *ecdsa.PrivateKey: + ecdsaKey = k + default: + return "", ErrInvalidKeyType + } + + // Create the hasher + if !m.Hash.Available() { + return "", ErrHashUnavailable + } + + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Sign the string and return r, s + if r, s, err := ecdsa.Sign(rand.Reader, ecdsaKey, hasher.Sum(nil)); err == nil { + curveBits := ecdsaKey.Curve.Params().BitSize + + if m.CurveBits != curveBits { + return "", ErrInvalidKey + } + + keyBytes := curveBits / 8 + if curveBits%8 > 0 { + keyBytes += 1 + } + + // We serialize the outpus (r and s) into big-endian byte arrays and pad + // them with zeros on the left to make sure the sizes work out. Both arrays + // must be keyBytes long, and the output must be 2*keyBytes long. + rBytes := r.Bytes() + rBytesPadded := make([]byte, keyBytes) + copy(rBytesPadded[keyBytes-len(rBytes):], rBytes) + + sBytes := s.Bytes() + sBytesPadded := make([]byte, keyBytes) + copy(sBytesPadded[keyBytes-len(sBytes):], sBytes) + + out := append(rBytesPadded, sBytesPadded...) + + return EncodeSegment(out), nil + } else { + return "", err + } +} diff --git a/vendor/github.com/dgrijalva/jwt-go/ecdsa_utils.go b/vendor/github.com/dgrijalva/jwt-go/ecdsa_utils.go new file mode 100644 index 000000000..d19624b72 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/ecdsa_utils.go @@ -0,0 +1,67 @@ +package jwt + +import ( + "crypto/ecdsa" + "crypto/x509" + "encoding/pem" + "errors" +) + +var ( + ErrNotECPublicKey = errors.New("Key is not a valid ECDSA public key") + ErrNotECPrivateKey = errors.New("Key is not a valid ECDSA private key") +) + +// Parse PEM encoded Elliptic Curve Private Key Structure +func ParseECPrivateKeyFromPEM(key []byte) (*ecdsa.PrivateKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + // Parse the key + var parsedKey interface{} + if parsedKey, err = x509.ParseECPrivateKey(block.Bytes); err != nil { + return nil, err + } + + var pkey *ecdsa.PrivateKey + var ok bool + if pkey, ok = parsedKey.(*ecdsa.PrivateKey); !ok { + return nil, ErrNotECPrivateKey + } + + return pkey, nil +} + +// Parse PEM encoded PKCS1 or PKCS8 public key +func ParseECPublicKeyFromPEM(key []byte) (*ecdsa.PublicKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + // Parse the key + var parsedKey interface{} + if parsedKey, err = x509.ParsePKIXPublicKey(block.Bytes); err != nil { + if cert, err := x509.ParseCertificate(block.Bytes); err == nil { + parsedKey = cert.PublicKey + } else { + return nil, err + } + } + + var pkey *ecdsa.PublicKey + var ok bool + if pkey, ok = parsedKey.(*ecdsa.PublicKey); !ok { + return nil, ErrNotECPublicKey + } + + return pkey, nil +} diff --git a/vendor/github.com/dgrijalva/jwt-go/errors.go b/vendor/github.com/dgrijalva/jwt-go/errors.go new file mode 100644 index 000000000..1c93024aa --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/errors.go @@ -0,0 +1,59 @@ +package jwt + +import ( + "errors" +) + +// Error constants +var ( + ErrInvalidKey = errors.New("key is invalid") + ErrInvalidKeyType = errors.New("key is of invalid type") + ErrHashUnavailable = errors.New("the requested hash function is unavailable") +) + +// The errors that might occur when parsing and validating a token +const ( + ValidationErrorMalformed uint32 = 1 << iota // Token is malformed + ValidationErrorUnverifiable // Token could not be verified because of signing problems + ValidationErrorSignatureInvalid // Signature validation failed + + // Standard Claim validation errors + ValidationErrorAudience // AUD validation failed + ValidationErrorExpired // EXP validation failed + ValidationErrorIssuedAt // IAT validation failed + ValidationErrorIssuer // ISS validation failed + ValidationErrorNotValidYet // NBF validation failed + ValidationErrorId // JTI validation failed + ValidationErrorClaimsInvalid // Generic claims validation error +) + +// Helper for constructing a ValidationError with a string error message +func NewValidationError(errorText string, errorFlags uint32) *ValidationError { + return &ValidationError{ + text: errorText, + Errors: errorFlags, + } +} + +// The error from Parse if token is not valid +type ValidationError struct { + Inner error // stores the error returned by external dependencies, i.e.: KeyFunc + Errors uint32 // bitfield. see ValidationError... constants + text string // errors that do not have a valid error just have text +} + +// Validation error is an error type +func (e ValidationError) Error() string { + if e.Inner != nil { + return e.Inner.Error() + } else if e.text != "" { + return e.text + } else { + return "token is invalid" + } +} + +// No errors +func (e *ValidationError) valid() bool { + return e.Errors == 0 +} diff --git a/vendor/github.com/dgrijalva/jwt-go/hmac.go b/vendor/github.com/dgrijalva/jwt-go/hmac.go new file mode 100644 index 000000000..addbe5d40 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/hmac.go @@ -0,0 +1,95 @@ +package jwt + +import ( + "crypto" + "crypto/hmac" + "errors" +) + +// Implements the HMAC-SHA family of signing methods signing methods +// Expects key type of []byte for both signing and validation +type SigningMethodHMAC struct { + Name string + Hash crypto.Hash +} + +// Specific instances for HS256 and company +var ( + SigningMethodHS256 *SigningMethodHMAC + SigningMethodHS384 *SigningMethodHMAC + SigningMethodHS512 *SigningMethodHMAC + ErrSignatureInvalid = errors.New("signature is invalid") +) + +func init() { + // HS256 + SigningMethodHS256 = &SigningMethodHMAC{"HS256", crypto.SHA256} + RegisterSigningMethod(SigningMethodHS256.Alg(), func() SigningMethod { + return SigningMethodHS256 + }) + + // HS384 + SigningMethodHS384 = &SigningMethodHMAC{"HS384", crypto.SHA384} + RegisterSigningMethod(SigningMethodHS384.Alg(), func() SigningMethod { + return SigningMethodHS384 + }) + + // HS512 + SigningMethodHS512 = &SigningMethodHMAC{"HS512", crypto.SHA512} + RegisterSigningMethod(SigningMethodHS512.Alg(), func() SigningMethod { + return SigningMethodHS512 + }) +} + +func (m *SigningMethodHMAC) Alg() string { + return m.Name +} + +// Verify the signature of HSXXX tokens. Returns nil if the signature is valid. +func (m *SigningMethodHMAC) Verify(signingString, signature string, key interface{}) error { + // Verify the key is the right type + keyBytes, ok := key.([]byte) + if !ok { + return ErrInvalidKeyType + } + + // Decode signature, for comparison + sig, err := DecodeSegment(signature) + if err != nil { + return err + } + + // Can we use the specified hashing method? + if !m.Hash.Available() { + return ErrHashUnavailable + } + + // This signing method is symmetric, so we validate the signature + // by reproducing the signature from the signing string and key, then + // comparing that against the provided signature. + hasher := hmac.New(m.Hash.New, keyBytes) + hasher.Write([]byte(signingString)) + if !hmac.Equal(sig, hasher.Sum(nil)) { + return ErrSignatureInvalid + } + + // No validation errors. Signature is good. + return nil +} + +// Implements the Sign method from SigningMethod for this signing method. +// Key must be []byte +func (m *SigningMethodHMAC) Sign(signingString string, key interface{}) (string, error) { + if keyBytes, ok := key.([]byte); ok { + if !m.Hash.Available() { + return "", ErrHashUnavailable + } + + hasher := hmac.New(m.Hash.New, keyBytes) + hasher.Write([]byte(signingString)) + + return EncodeSegment(hasher.Sum(nil)), nil + } + + return "", ErrInvalidKeyType +} diff --git a/vendor/github.com/dgrijalva/jwt-go/map_claims.go b/vendor/github.com/dgrijalva/jwt-go/map_claims.go new file mode 100644 index 000000000..291213c46 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/map_claims.go @@ -0,0 +1,94 @@ +package jwt + +import ( + "encoding/json" + "errors" + // "fmt" +) + +// Claims type that uses the map[string]interface{} for JSON decoding +// This is the default claims type if you don't supply one +type MapClaims map[string]interface{} + +// Compares the aud claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyAudience(cmp string, req bool) bool { + aud, _ := m["aud"].(string) + return verifyAud(aud, cmp, req) +} + +// Compares the exp claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyExpiresAt(cmp int64, req bool) bool { + switch exp := m["exp"].(type) { + case float64: + return verifyExp(int64(exp), cmp, req) + case json.Number: + v, _ := exp.Int64() + return verifyExp(v, cmp, req) + } + return req == false +} + +// Compares the iat claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyIssuedAt(cmp int64, req bool) bool { + switch iat := m["iat"].(type) { + case float64: + return verifyIat(int64(iat), cmp, req) + case json.Number: + v, _ := iat.Int64() + return verifyIat(v, cmp, req) + } + return req == false +} + +// Compares the iss claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyIssuer(cmp string, req bool) bool { + iss, _ := m["iss"].(string) + return verifyIss(iss, cmp, req) +} + +// Compares the nbf claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyNotBefore(cmp int64, req bool) bool { + switch nbf := m["nbf"].(type) { + case float64: + return verifyNbf(int64(nbf), cmp, req) + case json.Number: + v, _ := nbf.Int64() + return verifyNbf(v, cmp, req) + } + return req == false +} + +// Validates time based claims "exp, iat, nbf". +// There is no accounting for clock skew. +// As well, if any of the above claims are not in the token, it will still +// be considered a valid claim. +func (m MapClaims) Valid() error { + vErr := new(ValidationError) + now := TimeFunc().Unix() + + if m.VerifyExpiresAt(now, false) == false { + vErr.Inner = errors.New("Token is expired") + vErr.Errors |= ValidationErrorExpired + } + + if m.VerifyIssuedAt(now, false) == false { + vErr.Inner = errors.New("Token used before issued") + vErr.Errors |= ValidationErrorIssuedAt + } + + if m.VerifyNotBefore(now, false) == false { + vErr.Inner = errors.New("Token is not valid yet") + vErr.Errors |= ValidationErrorNotValidYet + } + + if vErr.valid() { + return nil + } + + return vErr +} diff --git a/vendor/github.com/dgrijalva/jwt-go/none.go b/vendor/github.com/dgrijalva/jwt-go/none.go new file mode 100644 index 000000000..f04d189d0 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/none.go @@ -0,0 +1,52 @@ +package jwt + +// Implements the none signing method. This is required by the spec +// but you probably should never use it. +var SigningMethodNone *signingMethodNone + +const UnsafeAllowNoneSignatureType unsafeNoneMagicConstant = "none signing method allowed" + +var NoneSignatureTypeDisallowedError error + +type signingMethodNone struct{} +type unsafeNoneMagicConstant string + +func init() { + SigningMethodNone = &signingMethodNone{} + NoneSignatureTypeDisallowedError = NewValidationError("'none' signature type is not allowed", ValidationErrorSignatureInvalid) + + RegisterSigningMethod(SigningMethodNone.Alg(), func() SigningMethod { + return SigningMethodNone + }) +} + +func (m *signingMethodNone) Alg() string { + return "none" +} + +// Only allow 'none' alg type if UnsafeAllowNoneSignatureType is specified as the key +func (m *signingMethodNone) Verify(signingString, signature string, key interface{}) (err error) { + // Key must be UnsafeAllowNoneSignatureType to prevent accidentally + // accepting 'none' signing method + if _, ok := key.(unsafeNoneMagicConstant); !ok { + return NoneSignatureTypeDisallowedError + } + // If signing method is none, signature must be an empty string + if signature != "" { + return NewValidationError( + "'none' signing method with non-empty signature", + ValidationErrorSignatureInvalid, + ) + } + + // Accept 'none' signing method. + return nil +} + +// Only allow 'none' signing if UnsafeAllowNoneSignatureType is specified as the key +func (m *signingMethodNone) Sign(signingString string, key interface{}) (string, error) { + if _, ok := key.(unsafeNoneMagicConstant); ok { + return "", nil + } + return "", NoneSignatureTypeDisallowedError +} diff --git a/vendor/github.com/dgrijalva/jwt-go/parser.go b/vendor/github.com/dgrijalva/jwt-go/parser.go new file mode 100644 index 000000000..d6901d9ad --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/parser.go @@ -0,0 +1,148 @@ +package jwt + +import ( + "bytes" + "encoding/json" + "fmt" + "strings" +) + +type Parser struct { + ValidMethods []string // If populated, only these methods will be considered valid + UseJSONNumber bool // Use JSON Number format in JSON decoder + SkipClaimsValidation bool // Skip claims validation during token parsing +} + +// Parse, validate, and return a token. +// keyFunc will receive the parsed token and should return the key for validating. +// If everything is kosher, err will be nil +func (p *Parser) Parse(tokenString string, keyFunc Keyfunc) (*Token, error) { + return p.ParseWithClaims(tokenString, MapClaims{}, keyFunc) +} + +func (p *Parser) ParseWithClaims(tokenString string, claims Claims, keyFunc Keyfunc) (*Token, error) { + token, parts, err := p.ParseUnverified(tokenString, claims) + if err != nil { + return token, err + } + + // Verify signing method is in the required set + if p.ValidMethods != nil { + var signingMethodValid = false + var alg = token.Method.Alg() + for _, m := range p.ValidMethods { + if m == alg { + signingMethodValid = true + break + } + } + if !signingMethodValid { + // signing method is not in the listed set + return token, NewValidationError(fmt.Sprintf("signing method %v is invalid", alg), ValidationErrorSignatureInvalid) + } + } + + // Lookup key + var key interface{} + if keyFunc == nil { + // keyFunc was not provided. short circuiting validation + return token, NewValidationError("no Keyfunc was provided.", ValidationErrorUnverifiable) + } + if key, err = keyFunc(token); err != nil { + // keyFunc returned an error + if ve, ok := err.(*ValidationError); ok { + return token, ve + } + return token, &ValidationError{Inner: err, Errors: ValidationErrorUnverifiable} + } + + vErr := &ValidationError{} + + // Validate Claims + if !p.SkipClaimsValidation { + if err := token.Claims.Valid(); err != nil { + + // If the Claims Valid returned an error, check if it is a validation error, + // If it was another error type, create a ValidationError with a generic ClaimsInvalid flag set + if e, ok := err.(*ValidationError); !ok { + vErr = &ValidationError{Inner: err, Errors: ValidationErrorClaimsInvalid} + } else { + vErr = e + } + } + } + + // Perform validation + token.Signature = parts[2] + if err = token.Method.Verify(strings.Join(parts[0:2], "."), token.Signature, key); err != nil { + vErr.Inner = err + vErr.Errors |= ValidationErrorSignatureInvalid + } + + if vErr.valid() { + token.Valid = true + return token, nil + } + + return token, vErr +} + +// WARNING: Don't use this method unless you know what you're doing +// +// This method parses the token but doesn't validate the signature. It's only +// ever useful in cases where you know the signature is valid (because it has +// been checked previously in the stack) and you want to extract values from +// it. +func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Token, parts []string, err error) { + parts = strings.Split(tokenString, ".") + if len(parts) != 3 { + return nil, parts, NewValidationError("token contains an invalid number of segments", ValidationErrorMalformed) + } + + token = &Token{Raw: tokenString} + + // parse Header + var headerBytes []byte + if headerBytes, err = DecodeSegment(parts[0]); err != nil { + if strings.HasPrefix(strings.ToLower(tokenString), "bearer ") { + return token, parts, NewValidationError("tokenstring should not contain 'bearer '", ValidationErrorMalformed) + } + return token, parts, &ValidationError{Inner: err, Errors: ValidationErrorMalformed} + } + if err = json.Unmarshal(headerBytes, &token.Header); err != nil { + return token, parts, &ValidationError{Inner: err, Errors: ValidationErrorMalformed} + } + + // parse Claims + var claimBytes []byte + token.Claims = claims + + if claimBytes, err = DecodeSegment(parts[1]); err != nil { + return token, parts, &ValidationError{Inner: err, Errors: ValidationErrorMalformed} + } + dec := json.NewDecoder(bytes.NewBuffer(claimBytes)) + if p.UseJSONNumber { + dec.UseNumber() + } + // JSON Decode. Special case for map type to avoid weird pointer behavior + if c, ok := token.Claims.(MapClaims); ok { + err = dec.Decode(&c) + } else { + err = dec.Decode(&claims) + } + // Handle decode error + if err != nil { + return token, parts, &ValidationError{Inner: err, Errors: ValidationErrorMalformed} + } + + // Lookup signature method + if method, ok := token.Header["alg"].(string); ok { + if token.Method = GetSigningMethod(method); token.Method == nil { + return token, parts, NewValidationError("signing method (alg) is unavailable.", ValidationErrorUnverifiable) + } + } else { + return token, parts, NewValidationError("signing method (alg) is unspecified.", ValidationErrorUnverifiable) + } + + return token, parts, nil +} diff --git a/vendor/github.com/dgrijalva/jwt-go/rsa.go b/vendor/github.com/dgrijalva/jwt-go/rsa.go new file mode 100644 index 000000000..e4caf1ca4 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/rsa.go @@ -0,0 +1,101 @@ +package jwt + +import ( + "crypto" + "crypto/rand" + "crypto/rsa" +) + +// Implements the RSA family of signing methods signing methods +// Expects *rsa.PrivateKey for signing and *rsa.PublicKey for validation +type SigningMethodRSA struct { + Name string + Hash crypto.Hash +} + +// Specific instances for RS256 and company +var ( + SigningMethodRS256 *SigningMethodRSA + SigningMethodRS384 *SigningMethodRSA + SigningMethodRS512 *SigningMethodRSA +) + +func init() { + // RS256 + SigningMethodRS256 = &SigningMethodRSA{"RS256", crypto.SHA256} + RegisterSigningMethod(SigningMethodRS256.Alg(), func() SigningMethod { + return SigningMethodRS256 + }) + + // RS384 + SigningMethodRS384 = &SigningMethodRSA{"RS384", crypto.SHA384} + RegisterSigningMethod(SigningMethodRS384.Alg(), func() SigningMethod { + return SigningMethodRS384 + }) + + // RS512 + SigningMethodRS512 = &SigningMethodRSA{"RS512", crypto.SHA512} + RegisterSigningMethod(SigningMethodRS512.Alg(), func() SigningMethod { + return SigningMethodRS512 + }) +} + +func (m *SigningMethodRSA) Alg() string { + return m.Name +} + +// Implements the Verify method from SigningMethod +// For this signing method, must be an *rsa.PublicKey structure. +func (m *SigningMethodRSA) Verify(signingString, signature string, key interface{}) error { + var err error + + // Decode the signature + var sig []byte + if sig, err = DecodeSegment(signature); err != nil { + return err + } + + var rsaKey *rsa.PublicKey + var ok bool + + if rsaKey, ok = key.(*rsa.PublicKey); !ok { + return ErrInvalidKeyType + } + + // Create hasher + if !m.Hash.Available() { + return ErrHashUnavailable + } + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Verify the signature + return rsa.VerifyPKCS1v15(rsaKey, m.Hash, hasher.Sum(nil), sig) +} + +// Implements the Sign method from SigningMethod +// For this signing method, must be an *rsa.PrivateKey structure. +func (m *SigningMethodRSA) Sign(signingString string, key interface{}) (string, error) { + var rsaKey *rsa.PrivateKey + var ok bool + + // Validate type of key + if rsaKey, ok = key.(*rsa.PrivateKey); !ok { + return "", ErrInvalidKey + } + + // Create the hasher + if !m.Hash.Available() { + return "", ErrHashUnavailable + } + + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Sign the string and return the encoded bytes + if sigBytes, err := rsa.SignPKCS1v15(rand.Reader, rsaKey, m.Hash, hasher.Sum(nil)); err == nil { + return EncodeSegment(sigBytes), nil + } else { + return "", err + } +} diff --git a/vendor/github.com/dgrijalva/jwt-go/rsa_pss.go b/vendor/github.com/dgrijalva/jwt-go/rsa_pss.go new file mode 100644 index 000000000..10ee9db8a --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/rsa_pss.go @@ -0,0 +1,126 @@ +// +build go1.4 + +package jwt + +import ( + "crypto" + "crypto/rand" + "crypto/rsa" +) + +// Implements the RSAPSS family of signing methods signing methods +type SigningMethodRSAPSS struct { + *SigningMethodRSA + Options *rsa.PSSOptions +} + +// Specific instances for RS/PS and company +var ( + SigningMethodPS256 *SigningMethodRSAPSS + SigningMethodPS384 *SigningMethodRSAPSS + SigningMethodPS512 *SigningMethodRSAPSS +) + +func init() { + // PS256 + SigningMethodPS256 = &SigningMethodRSAPSS{ + &SigningMethodRSA{ + Name: "PS256", + Hash: crypto.SHA256, + }, + &rsa.PSSOptions{ + SaltLength: rsa.PSSSaltLengthAuto, + Hash: crypto.SHA256, + }, + } + RegisterSigningMethod(SigningMethodPS256.Alg(), func() SigningMethod { + return SigningMethodPS256 + }) + + // PS384 + SigningMethodPS384 = &SigningMethodRSAPSS{ + &SigningMethodRSA{ + Name: "PS384", + Hash: crypto.SHA384, + }, + &rsa.PSSOptions{ + SaltLength: rsa.PSSSaltLengthAuto, + Hash: crypto.SHA384, + }, + } + RegisterSigningMethod(SigningMethodPS384.Alg(), func() SigningMethod { + return SigningMethodPS384 + }) + + // PS512 + SigningMethodPS512 = &SigningMethodRSAPSS{ + &SigningMethodRSA{ + Name: "PS512", + Hash: crypto.SHA512, + }, + &rsa.PSSOptions{ + SaltLength: rsa.PSSSaltLengthAuto, + Hash: crypto.SHA512, + }, + } + RegisterSigningMethod(SigningMethodPS512.Alg(), func() SigningMethod { + return SigningMethodPS512 + }) +} + +// Implements the Verify method from SigningMethod +// For this verify method, key must be an rsa.PublicKey struct +func (m *SigningMethodRSAPSS) Verify(signingString, signature string, key interface{}) error { + var err error + + // Decode the signature + var sig []byte + if sig, err = DecodeSegment(signature); err != nil { + return err + } + + var rsaKey *rsa.PublicKey + switch k := key.(type) { + case *rsa.PublicKey: + rsaKey = k + default: + return ErrInvalidKey + } + + // Create hasher + if !m.Hash.Available() { + return ErrHashUnavailable + } + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + return rsa.VerifyPSS(rsaKey, m.Hash, hasher.Sum(nil), sig, m.Options) +} + +// Implements the Sign method from SigningMethod +// For this signing method, key must be an rsa.PrivateKey struct +func (m *SigningMethodRSAPSS) Sign(signingString string, key interface{}) (string, error) { + var rsaKey *rsa.PrivateKey + + switch k := key.(type) { + case *rsa.PrivateKey: + rsaKey = k + default: + return "", ErrInvalidKeyType + } + + // Create the hasher + if !m.Hash.Available() { + return "", ErrHashUnavailable + } + + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Sign the string and return the encoded bytes + if sigBytes, err := rsa.SignPSS(rand.Reader, rsaKey, m.Hash, hasher.Sum(nil), m.Options); err == nil { + return EncodeSegment(sigBytes), nil + } else { + return "", err + } +} diff --git a/vendor/github.com/dgrijalva/jwt-go/rsa_utils.go b/vendor/github.com/dgrijalva/jwt-go/rsa_utils.go new file mode 100644 index 000000000..a5ababf95 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/rsa_utils.go @@ -0,0 +1,101 @@ +package jwt + +import ( + "crypto/rsa" + "crypto/x509" + "encoding/pem" + "errors" +) + +var ( + ErrKeyMustBePEMEncoded = errors.New("Invalid Key: Key must be PEM encoded PKCS1 or PKCS8 private key") + ErrNotRSAPrivateKey = errors.New("Key is not a valid RSA private key") + ErrNotRSAPublicKey = errors.New("Key is not a valid RSA public key") +) + +// Parse PEM encoded PKCS1 or PKCS8 private key +func ParseRSAPrivateKeyFromPEM(key []byte) (*rsa.PrivateKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + var parsedKey interface{} + if parsedKey, err = x509.ParsePKCS1PrivateKey(block.Bytes); err != nil { + if parsedKey, err = x509.ParsePKCS8PrivateKey(block.Bytes); err != nil { + return nil, err + } + } + + var pkey *rsa.PrivateKey + var ok bool + if pkey, ok = parsedKey.(*rsa.PrivateKey); !ok { + return nil, ErrNotRSAPrivateKey + } + + return pkey, nil +} + +// Parse PEM encoded PKCS1 or PKCS8 private key protected with password +func ParseRSAPrivateKeyFromPEMWithPassword(key []byte, password string) (*rsa.PrivateKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + var parsedKey interface{} + + var blockDecrypted []byte + if blockDecrypted, err = x509.DecryptPEMBlock(block, []byte(password)); err != nil { + return nil, err + } + + if parsedKey, err = x509.ParsePKCS1PrivateKey(blockDecrypted); err != nil { + if parsedKey, err = x509.ParsePKCS8PrivateKey(blockDecrypted); err != nil { + return nil, err + } + } + + var pkey *rsa.PrivateKey + var ok bool + if pkey, ok = parsedKey.(*rsa.PrivateKey); !ok { + return nil, ErrNotRSAPrivateKey + } + + return pkey, nil +} + +// Parse PEM encoded PKCS1 or PKCS8 public key +func ParseRSAPublicKeyFromPEM(key []byte) (*rsa.PublicKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + // Parse the key + var parsedKey interface{} + if parsedKey, err = x509.ParsePKIXPublicKey(block.Bytes); err != nil { + if cert, err := x509.ParseCertificate(block.Bytes); err == nil { + parsedKey = cert.PublicKey + } else { + return nil, err + } + } + + var pkey *rsa.PublicKey + var ok bool + if pkey, ok = parsedKey.(*rsa.PublicKey); !ok { + return nil, ErrNotRSAPublicKey + } + + return pkey, nil +} diff --git a/vendor/github.com/dgrijalva/jwt-go/signing_method.go b/vendor/github.com/dgrijalva/jwt-go/signing_method.go new file mode 100644 index 000000000..ed1f212b2 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/signing_method.go @@ -0,0 +1,35 @@ +package jwt + +import ( + "sync" +) + +var signingMethods = map[string]func() SigningMethod{} +var signingMethodLock = new(sync.RWMutex) + +// Implement SigningMethod to add new methods for signing or verifying tokens. +type SigningMethod interface { + Verify(signingString, signature string, key interface{}) error // Returns nil if signature is valid + Sign(signingString string, key interface{}) (string, error) // Returns encoded signature or error + Alg() string // returns the alg identifier for this method (example: 'HS256') +} + +// Register the "alg" name and a factory function for signing method. +// This is typically done during init() in the method's implementation +func RegisterSigningMethod(alg string, f func() SigningMethod) { + signingMethodLock.Lock() + defer signingMethodLock.Unlock() + + signingMethods[alg] = f +} + +// Get a signing method from an "alg" string +func GetSigningMethod(alg string) (method SigningMethod) { + signingMethodLock.RLock() + defer signingMethodLock.RUnlock() + + if methodF, ok := signingMethods[alg]; ok { + method = methodF() + } + return +} diff --git a/vendor/github.com/dgrijalva/jwt-go/token.go b/vendor/github.com/dgrijalva/jwt-go/token.go new file mode 100644 index 000000000..d637e0867 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/token.go @@ -0,0 +1,108 @@ +package jwt + +import ( + "encoding/base64" + "encoding/json" + "strings" + "time" +) + +// TimeFunc provides the current time when parsing token to validate "exp" claim (expiration time). +// You can override it to use another time value. This is useful for testing or if your +// server uses a different time zone than your tokens. +var TimeFunc = time.Now + +// Parse methods use this callback function to supply +// the key for verification. The function receives the parsed, +// but unverified Token. This allows you to use properties in the +// Header of the token (such as `kid`) to identify which key to use. +type Keyfunc func(*Token) (interface{}, error) + +// A JWT Token. Different fields will be used depending on whether you're +// creating or parsing/verifying a token. +type Token struct { + Raw string // The raw token. Populated when you Parse a token + Method SigningMethod // The signing method used or to be used + Header map[string]interface{} // The first segment of the token + Claims Claims // The second segment of the token + Signature string // The third segment of the token. Populated when you Parse a token + Valid bool // Is the token valid? Populated when you Parse/Verify a token +} + +// Create a new Token. Takes a signing method +func New(method SigningMethod) *Token { + return NewWithClaims(method, MapClaims{}) +} + +func NewWithClaims(method SigningMethod, claims Claims) *Token { + return &Token{ + Header: map[string]interface{}{ + "typ": "JWT", + "alg": method.Alg(), + }, + Claims: claims, + Method: method, + } +} + +// Get the complete, signed token +func (t *Token) SignedString(key interface{}) (string, error) { + var sig, sstr string + var err error + if sstr, err = t.SigningString(); err != nil { + return "", err + } + if sig, err = t.Method.Sign(sstr, key); err != nil { + return "", err + } + return strings.Join([]string{sstr, sig}, "."), nil +} + +// Generate the signing string. This is the +// most expensive part of the whole deal. Unless you +// need this for something special, just go straight for +// the SignedString. +func (t *Token) SigningString() (string, error) { + var err error + parts := make([]string, 2) + for i, _ := range parts { + var jsonValue []byte + if i == 0 { + if jsonValue, err = json.Marshal(t.Header); err != nil { + return "", err + } + } else { + if jsonValue, err = json.Marshal(t.Claims); err != nil { + return "", err + } + } + + parts[i] = EncodeSegment(jsonValue) + } + return strings.Join(parts, "."), nil +} + +// Parse, validate, and return a token. +// keyFunc will receive the parsed token and should return the key for validating. +// If everything is kosher, err will be nil +func Parse(tokenString string, keyFunc Keyfunc) (*Token, error) { + return new(Parser).Parse(tokenString, keyFunc) +} + +func ParseWithClaims(tokenString string, claims Claims, keyFunc Keyfunc) (*Token, error) { + return new(Parser).ParseWithClaims(tokenString, claims, keyFunc) +} + +// Encode JWT specific base64url encoding with padding stripped +func EncodeSegment(seg []byte) string { + return strings.TrimRight(base64.URLEncoding.EncodeToString(seg), "=") +} + +// Decode JWT specific base64url encoding with padding stripped +func DecodeSegment(seg string) ([]byte, error) { + if l := len(seg) % 4; l > 0 { + seg += strings.Repeat("=", 4-l) + } + + return base64.URLEncoding.DecodeString(seg) +} diff --git a/vendor/github.com/dsoprea/go-exif/.travis.yml b/vendor/github.com/dsoprea/go-exif/.travis.yml new file mode 100644 index 000000000..162896e30 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/.travis.yml @@ -0,0 +1,24 @@ +language: go +go: + - master + - stable + - "1.14" + - "1.13" + - "1.12" +env: + - GO111MODULE=on +install: + - go get -t ./... +script: +# v1 + - go test -v . + - go test -v ./exif-read-tool +# v2 + - cd v2 + - go test -v ./... + - cd .. +# v3. Coverage reports comes from this. + - cd v3 + - go test -v ./... -coverprofile=coverage.txt -covermode=atomic +after_success: + - curl -s https://codecov.io/bash | bash diff --git a/vendor/github.com/dsoprea/go-exif/LICENSE b/vendor/github.com/dsoprea/go-exif/LICENSE new file mode 100644 index 000000000..0b9358a3a --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/LICENSE @@ -0,0 +1,9 @@ +MIT LICENSE + +Copyright 2019 Dustin Oprea + +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/dsoprea/go-exif/README.md b/vendor/github.com/dsoprea/go-exif/README.md new file mode 100644 index 000000000..972d58493 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/README.md @@ -0,0 +1,206 @@ +[![Build Status](https://travis-ci.org/dsoprea/go-exif.svg?branch=master)](https://travis-ci.org/dsoprea/go-exif) +[![codecov](https://codecov.io/gh/dsoprea/go-exif/branch/master/graph/badge.svg)](https://codecov.io/gh/dsoprea/go-exif) +[![Go Report Card](https://goreportcard.com/badge/github.com/dsoprea/go-exif/v3)](https://goreportcard.com/report/github.com/dsoprea/go-exif/v3) +[![GoDoc](https://godoc.org/github.com/dsoprea/go-exif/v3?status.svg)](https://godoc.org/github.com/dsoprea/go-exif/v3) + +# Overview + +This package provides native Go functionality to parse an existing EXIF block, update an existing EXIF block, or add a new EXIF block. + + +# Getting + +To get the project and dependencies: + +``` +$ go get -t github.com/dsoprea/go-exif/v3 +``` + + +# Scope + +This project is concerned only with parsing and encoding raw EXIF data. It does +not understand specific file-formats. This package assumes you know how to +extract the raw EXIF data from a file, such as a JPEG, and, if you want to +update it, know how to write it back. File-specific formats are not the concern +of *go-exif*, though we provide +[exif.SearchAndExtractExif][search-and-extract-exif] and +[exif.SearchFileAndExtractExif][search-file-and-extract-exif] as brute-force +search mechanisms that will help you explore the EXIF information for newer +formats that you might not yet have any way to parse. + +That said, the author also provides the following projects to support the +efficient processing of the corresponding image formats: + +- [go-jpeg-image-structure](https://github.com/dsoprea/go-jpeg-image-structure) +- [go-png-image-structure](https://github.com/dsoprea/go-png-image-structure) +- [go-tiff-image-structure](https://github.com/dsoprea/go-tiff-image-structure) +- [go-heic-exif-extractor](https://github.com/dsoprea/go-heic-exif-extractor) + +See the [SetExif example in go-jpeg-image-structure][jpeg-set-exif] for +practical information on getting started with JPEG files. + + +# Usage + +The package provides a set of [working examples][examples] and is covered by +unit-tests. Please look to these for getting familiar with how to read and write +EXIF. + +Create an instance of the `Exif` type and call `Scan()` with a byte-slice, where +the first byte is the beginning of the raw EXIF data. You may pass a callback +that will be invoked for every tag or `nil` if you do not want one. If no +callback is given, you are effectively just validating the structure or parsing +of the image. + +Obviously, it is most efficient to properly parse the media file and then +provide the specific EXIF data to be parsed, but there is also a heuristic for +finding the EXIF data within the media blob, directly. This means that, at least +for testing or curiosity, **you do not have to parse or even understand the +format of image or audio file in order to find and decode the EXIF information +inside of it.** See the usage of the `SearchAndExtractExif` method in the +example. + +The library often refers to an IFD with an "IFD path" (e.g. IFD/Exif, +IFD/GPSInfo). A "fully-qualified" IFD-path is one that includes an index +describing which specific sibling IFD is being referred to if not the first one +(e.g. IFD1, the IFD where the thumbnail is expressed per the TIFF standard). + +There is an "IFD mapping" and a "tag index" that must be created and passed to +the library from the top. These contain all of the knowledge of the IFD +hierarchies and their tag-IDs (the IFD mapping) and the tags that they are +allowed to host (the tag index). There are convenience functions to load them +with the standard TIFF information, but you, alternatively, may choose +something totally different (to support parsing any kind of EXIF data that does +not follow or is not relevant to TIFF at all). + + +# Standards and Customization + +This project is configuration driven. By default, it has no knowledge of tags +and IDs until you load them prior to using (which is incorporated in the +examples). You are just as easily able to add additional custom IFDs and custom +tags for them. If desired, you could completely ignore the standard information +and load *totally* non-standard IFDs and tags. + +This would be useful for divergent implementations that add non-standard +information to images. It would also be useful if there is some need to just +store a flat list of tags in an image for simplified, proprietary usage. + + +# Reader Tool + +There is a runnable reading/dumping tool included: + +``` +$ go get github.com/dsoprea/go-exif/v3/command/exif-read-tool +$ exif-read-tool --filepath "" +``` + +Example output: + +``` +IFD-PATH=[IFD] ID=(0x010f) NAME=[Make] COUNT=(6) TYPE=[ASCII] VALUE=[Canon] +IFD-PATH=[IFD] ID=(0x0110) NAME=[Model] COUNT=(22) TYPE=[ASCII] VALUE=[Canon EOS 5D Mark III] +IFD-PATH=[IFD] ID=(0x0112) NAME=[Orientation] COUNT=(1) TYPE=[SHORT] VALUE=[1] +IFD-PATH=[IFD] ID=(0x011a) NAME=[XResolution] COUNT=(1) TYPE=[RATIONAL] VALUE=[72/1] +IFD-PATH=[IFD] ID=(0x011b) NAME=[YResolution] COUNT=(1) TYPE=[RATIONAL] VALUE=[72/1] +IFD-PATH=[IFD] ID=(0x0128) NAME=[ResolutionUnit] COUNT=(1) TYPE=[SHORT] VALUE=[2] +IFD-PATH=[IFD] ID=(0x0132) NAME=[DateTime] COUNT=(20) TYPE=[ASCII] VALUE=[2017:12:02 08:18:50] +... +``` + +You can also print the raw, parsed data as JSON: + +``` +$ exif-read-tool --filepath "" -json +``` + +Example output: + +``` +[ + { + "ifd_path": "IFD", + "fq_ifd_path": "IFD", + "ifd_index": 0, + "tag_id": 271, + "tag_name": "Make", + "tag_type_id": 2, + "tag_type_name": "ASCII", + "unit_count": 6, + "value": "Canon", + "value_string": "Canon" + }, + { + "ifd_path": "IFD", +... +``` + + +# Testing + +The traditional method: + +``` +$ go test github.com/dsoprea/go-exif/v3/... +``` + + +# Release Notes + +## v3 Release + +This release primarily introduces an interchangeable data-layer, where any +`io.ReadSeeker` can be used to read EXIF data rather than necessarily loading +the EXIF blob into memory first. + +Several backwards-incompatible clean-ups were also included in this release. See +[releases][releases] for more information. + +## v2 Release + +Features a heavily reflowed interface that makes usage much simpler. The +undefined-type tag-processing (which affects most photographic images) has also +been overhauled and streamlined. It is now complete and stable. Adoption is +strongly encouraged. + + +# *Contributing* + +EXIF has an excellently-documented structure but there are a lot of devices and +manufacturers out there. There are only so many files that we can personally +find to test against, and most of these are images that have been generated only +in the past few years. JPEG, being the largest implementor of EXIF, has been +around for even longer (but not much). Therefore, there is a lot of +compatibility to test for. + +**If you are able to help by running the included reader-tool against all of the +EXIF-compatible files you have, it would be deeply appreciated. This is mostly +going to be JPEG files (but not all variations). If you are able to test a large +number of files (thousands or millions) then please post an issue mentioning how +many files you have processed. If you had failures, then please share them and +try to support efforts to understand them.** + +If you are able to test 100K+ files, I will give you credit on the project. The +further back in time your images reach, the higher in the list your name/company +will go. + + +# Contributors/Testing + +Thank you to the following users for solving non-trivial issues, supporting the +project with solving edge-case problems in specific images, or otherwise +providing their non-trivial time or image corpus to test go-exif: + +- [philip-firstorder](https://github.com/philip-firstorder) (200K images) +- [matchstick](https://github.com/matchstick) (102K images) + +In addition to these, it has been tested on my own collection, north of 478K +images. + +[search-and-extract-exif]: https://godoc.org/github.com/dsoprea/go-exif/v3#SearchAndExtractExif +[search-file-and-extract-exif]: https://godoc.org/github.com/dsoprea/go-exif/v3#SearchFileAndExtractExif +[jpeg-set-exif]: https://godoc.org/github.com/dsoprea/go-jpeg-image-structure#example-SegmentList-SetExif +[examples]: https://godoc.org/github.com/dsoprea/go-exif/v3#pkg-examples +[releases]: https://github.com/dsoprea/go-exif/releases diff --git a/vendor/github.com/dsoprea/go-exif/error.go b/vendor/github.com/dsoprea/go-exif/error.go new file mode 100644 index 000000000..0e6e138cb --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/error.go @@ -0,0 +1,10 @@ +package exif + +import ( + "errors" +) + +var ( + ErrTagNotFound = errors.New("tag not found") + ErrTagNotStandard = errors.New("tag not a standard tag") +) diff --git a/vendor/github.com/dsoprea/go-exif/exif.go b/vendor/github.com/dsoprea/go-exif/exif.go new file mode 100644 index 000000000..8d1b848f0 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/exif.go @@ -0,0 +1,247 @@ +package exif + +import ( + "bytes" + "errors" + "fmt" + "os" + + "encoding/binary" + "io/ioutil" + + "github.com/dsoprea/go-logging" +) + +const ( + // ExifAddressableAreaStart is the absolute offset in the file that all + // offsets are relative to. + ExifAddressableAreaStart = uint32(0x0) + + // ExifDefaultFirstIfdOffset is essentially the number of bytes in addition + // to `ExifAddressableAreaStart` that you have to move in order to escape + // the rest of the header and get to the earliest point where we can put + // stuff (which has to be the first IFD). This is the size of the header + // sequence containing the two-character byte-order, two-character fixed- + // bytes, and the four bytes describing the first-IFD offset. + ExifDefaultFirstIfdOffset = uint32(2 + 2 + 4) +) + +var ( + exifLogger = log.NewLogger("exif.exif") + + // EncodeDefaultByteOrder is the default byte-order for encoding operations. + EncodeDefaultByteOrder = binary.BigEndian + + // Default byte order for tests. + TestDefaultByteOrder = binary.BigEndian + + BigEndianBoBytes = [2]byte{'M', 'M'} + LittleEndianBoBytes = [2]byte{'I', 'I'} + + ByteOrderLookup = map[[2]byte]binary.ByteOrder{ + BigEndianBoBytes: binary.BigEndian, + LittleEndianBoBytes: binary.LittleEndian, + } + + ByteOrderLookupR = map[binary.ByteOrder][2]byte{ + binary.BigEndian: BigEndianBoBytes, + binary.LittleEndian: LittleEndianBoBytes, + } + + ExifFixedBytesLookup = map[binary.ByteOrder][2]byte{ + binary.LittleEndian: {0x2a, 0x00}, + binary.BigEndian: {0x00, 0x2a}, + } +) + +var ( + ErrNoExif = errors.New("no exif data") + ErrExifHeaderError = errors.New("exif header error") +) + +// SearchAndExtractExif returns a slice from the beginning of the EXIF data to +// end of the file (it's not practical to try and calculate where the data +// actually ends; it needs to be formally parsed). +func SearchAndExtractExif(data []byte) (rawExif []byte, err error) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + // Search for the beginning of the EXIF information. The EXIF is near the + // beginning of our/most JPEGs, so this has a very low cost. + + foundAt := -1 + for i := 0; i < len(data); i++ { + if _, err := ParseExifHeader(data[i:]); err == nil { + foundAt = i + break + } else if log.Is(err, ErrNoExif) == false { + return nil, err + } + } + + if foundAt == -1 { + return nil, ErrNoExif + } + + return data[foundAt:], nil +} + +// SearchFileAndExtractExif returns a slice from the beginning of the EXIF data +// to the end of the file (it's not practical to try and calculate where the +// data actually ends). +func SearchFileAndExtractExif(filepath string) (rawExif []byte, err error) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + // Open the file. + + f, err := os.Open(filepath) + log.PanicIf(err) + + defer f.Close() + + data, err := ioutil.ReadAll(f) + log.PanicIf(err) + + rawExif, err = SearchAndExtractExif(data) + log.PanicIf(err) + + return rawExif, nil +} + +type ExifHeader struct { + ByteOrder binary.ByteOrder + FirstIfdOffset uint32 +} + +func (eh ExifHeader) String() string { + return fmt.Sprintf("ExifHeader", eh.ByteOrder, eh.FirstIfdOffset) +} + +// ParseExifHeader parses the bytes at the very top of the header. +// +// This will panic with ErrNoExif on any data errors so that we can double as +// an EXIF-detection routine. +func ParseExifHeader(data []byte) (eh ExifHeader, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Good reference: + // + // CIPA DC-008-2016; JEITA CP-3451D + // -> http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf + + if len(data) < 2 { + exifLogger.Warningf(nil, "Not enough data for EXIF header (1): (%d)", len(data)) + return eh, ErrNoExif + } + + byteOrderBytes := [2]byte{data[0], data[1]} + + byteOrder, found := ByteOrderLookup[byteOrderBytes] + if found == false { + // exifLogger.Warningf(nil, "EXIF byte-order not recognized: [%v]", byteOrderBytes) + return eh, ErrNoExif + } + + if len(data) < 4 { + exifLogger.Warningf(nil, "Not enough data for EXIF header (2): (%d)", len(data)) + return eh, ErrNoExif + } + + fixedBytes := [2]byte{data[2], data[3]} + expectedFixedBytes := ExifFixedBytesLookup[byteOrder] + if fixedBytes != expectedFixedBytes { + // exifLogger.Warningf(nil, "EXIF header fixed-bytes should be [%v] but are: [%v]", expectedFixedBytes, fixedBytes) + return eh, ErrNoExif + } + + if len(data) < 2 { + exifLogger.Warningf(nil, "Not enough data for EXIF header (3): (%d)", len(data)) + return eh, ErrNoExif + } + + firstIfdOffset := byteOrder.Uint32(data[4:8]) + + eh = ExifHeader{ + ByteOrder: byteOrder, + FirstIfdOffset: firstIfdOffset, + } + + return eh, nil +} + +// Visit recursively invokes a callback for every tag. +func Visit(rootIfdName string, ifdMapping *IfdMapping, tagIndex *TagIndex, exifData []byte, visitor RawTagVisitor) (eh ExifHeader, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + eh, err = ParseExifHeader(exifData) + log.PanicIf(err) + + ie := NewIfdEnumerate(ifdMapping, tagIndex, exifData, eh.ByteOrder) + + err = ie.Scan(rootIfdName, eh.FirstIfdOffset, visitor, true) + log.PanicIf(err) + + return eh, nil +} + +// Collect recursively builds a static structure of all IFDs and tags. +func Collect(ifdMapping *IfdMapping, tagIndex *TagIndex, exifData []byte) (eh ExifHeader, index IfdIndex, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + eh, err = ParseExifHeader(exifData) + log.PanicIf(err) + + ie := NewIfdEnumerate(ifdMapping, tagIndex, exifData, eh.ByteOrder) + + index, err = ie.Collect(eh.FirstIfdOffset, true) + log.PanicIf(err) + + return eh, index, nil +} + +// BuildExifHeader constructs the bytes that go in the very beginning. +func BuildExifHeader(byteOrder binary.ByteOrder, firstIfdOffset uint32) (headerBytes []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + b := new(bytes.Buffer) + + // This is the point in the data that all offsets are relative to. + boBytes := ByteOrderLookupR[byteOrder] + _, err = b.WriteString(string(boBytes[:])) + log.PanicIf(err) + + fixedBytes := ExifFixedBytesLookup[byteOrder] + + _, err = b.Write(fixedBytes[:]) + log.PanicIf(err) + + err = binary.Write(b, byteOrder, firstIfdOffset) + log.PanicIf(err) + + return b.Bytes(), nil +} diff --git a/vendor/github.com/dsoprea/go-exif/go.mod b/vendor/github.com/dsoprea/go-exif/go.mod new file mode 100644 index 000000000..82f266655 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/go.mod @@ -0,0 +1,11 @@ +module github.com/dsoprea/go-exif + +go 1.13 + +require ( + github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696 + github.com/go-errors/errors v1.0.1 // indirect + github.com/golang/geo v0.0.0-20190916061304-5b978397cfec + golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 // indirect + gopkg.in/yaml.v2 v2.2.7 +) diff --git a/vendor/github.com/dsoprea/go-exif/go.sum b/vendor/github.com/dsoprea/go-exif/go.sum new file mode 100644 index 000000000..a36fc5992 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/go.sum @@ -0,0 +1,14 @@ +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696 h1:VGFnZAcLwPpt1sHlAxml+pGLZz9A2s+K/s1YNhPC91Y= +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696/go.mod h1:Nm/x2ZUNRW6Fe5C3LxdY1PyZY5wmDv/s5dkPJ/VB3iA= +github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec h1:lJwO/92dFXWeXOZdoGXgptLmNLwynMSHUmU6besqtiw= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/dsoprea/go-exif/gps.go b/vendor/github.com/dsoprea/go-exif/gps.go new file mode 100644 index 000000000..7d74f22d3 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/gps.go @@ -0,0 +1,56 @@ +package exif + +import ( + "errors" + "fmt" + "time" + + "github.com/golang/geo/s2" +) + +var ( + ErrGpsCoordinatesNotValid = errors.New("GPS coordinates not valid") +) + +type GpsDegrees struct { + Orientation byte + Degrees, Minutes, Seconds float64 +} + +func (d GpsDegrees) String() string { + return fmt.Sprintf("Degrees", string([]byte{d.Orientation}), d.Degrees, d.Minutes, d.Seconds) +} + +func (d GpsDegrees) Decimal() float64 { + decimal := float64(d.Degrees) + float64(d.Minutes)/60.0 + float64(d.Seconds)/3600.0 + + if d.Orientation == 'S' || d.Orientation == 'W' { + return -decimal + } else { + return decimal + } +} + +type GpsInfo struct { + Latitude, Longitude GpsDegrees + Altitude int + Timestamp time.Time +} + +func (gi *GpsInfo) String() string { + return fmt.Sprintf("GpsInfo", gi.Latitude.Decimal(), gi.Longitude.Decimal(), gi.Altitude, gi.Timestamp) +} + +func (gi *GpsInfo) S2CellId() s2.CellID { + latitude := gi.Latitude.Decimal() + longitude := gi.Longitude.Decimal() + + ll := s2.LatLngFromDegrees(latitude, longitude) + cellId := s2.CellIDFromLatLng(ll) + + if cellId.IsValid() == false { + panic(ErrGpsCoordinatesNotValid) + } + + return cellId +} diff --git a/vendor/github.com/dsoprea/go-exif/ifd.go b/vendor/github.com/dsoprea/go-exif/ifd.go new file mode 100644 index 000000000..e75404ddc --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/ifd.go @@ -0,0 +1,407 @@ +package exif + +import ( + "errors" + "fmt" + "strings" + + "github.com/dsoprea/go-logging" +) + +const ( + // IFD names. The paths that we referred to the IFDs with are comprised of + // these. + + IfdStandard = "IFD" + IfdExif = "Exif" + IfdGps = "GPSInfo" + IfdIop = "Iop" + + // Tag IDs for child IFDs. + + IfdExifId = 0x8769 + IfdGpsId = 0x8825 + IfdIopId = 0xA005 + + // Just a placeholder. + + IfdRootId = 0x0000 + + // The paths of the standard IFDs expressed in the standard IFD-mappings + // and as the group-names in the tag data. + + IfdPathStandard = "IFD" + IfdPathStandardExif = "IFD/Exif" + IfdPathStandardExifIop = "IFD/Exif/Iop" + IfdPathStandardGps = "IFD/GPSInfo" +) + +var ( + ifdLogger = log.NewLogger("exif.ifd") +) + +var ( + ErrChildIfdNotMapped = errors.New("no child-IFD for that tag-ID under parent") +) + +// type IfdIdentity struct { +// ParentIfdName string +// IfdName string +// } + +// func (ii IfdIdentity) String() string { +// return fmt.Sprintf("IfdIdentity", ii.ParentIfdName, ii.IfdName) +// } + +type MappedIfd struct { + ParentTagId uint16 + Placement []uint16 + Path []string + + Name string + TagId uint16 + Children map[uint16]*MappedIfd +} + +func (mi *MappedIfd) String() string { + pathPhrase := mi.PathPhrase() + return fmt.Sprintf("MappedIfd<(0x%04X) [%s] PATH=[%s]>", mi.TagId, mi.Name, pathPhrase) +} + +func (mi *MappedIfd) PathPhrase() string { + return strings.Join(mi.Path, "/") +} + +// IfdMapping describes all of the IFDs that we currently recognize. +type IfdMapping struct { + rootNode *MappedIfd +} + +func NewIfdMapping() (ifdMapping *IfdMapping) { + rootNode := &MappedIfd{ + Path: make([]string, 0), + Children: make(map[uint16]*MappedIfd), + } + + return &IfdMapping{ + rootNode: rootNode, + } +} + +func NewIfdMappingWithStandard() (ifdMapping *IfdMapping) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + im := NewIfdMapping() + + err := LoadStandardIfds(im) + log.PanicIf(err) + + return im +} + +func (im *IfdMapping) Get(parentPlacement []uint16) (childIfd *MappedIfd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ptr := im.rootNode + for _, tagId := range parentPlacement { + if descendantPtr, found := ptr.Children[tagId]; found == false { + log.Panicf("ifd child with tag-ID (%04x) not registered: [%s]", tagId, ptr.PathPhrase()) + } else { + ptr = descendantPtr + } + } + + return ptr, nil +} + +func (im *IfdMapping) GetWithPath(pathPhrase string) (mi *MappedIfd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if pathPhrase == "" { + log.Panicf("path-phrase is empty") + } + + path := strings.Split(pathPhrase, "/") + ptr := im.rootNode + + for _, name := range path { + var hit *MappedIfd + for _, mi := range ptr.Children { + if mi.Name == name { + hit = mi + break + } + } + + if hit == nil { + log.Panicf("ifd child with name [%s] not registered: [%s]", name, ptr.PathPhrase()) + } + + ptr = hit + } + + return ptr, nil +} + +// GetChild is a convenience function to get the child path for a given parent +// placement and child tag-ID. +func (im *IfdMapping) GetChild(parentPathPhrase string, tagId uint16) (mi *MappedIfd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + mi, err = im.GetWithPath(parentPathPhrase) + log.PanicIf(err) + + for _, childMi := range mi.Children { + if childMi.TagId == tagId { + return childMi, nil + } + } + + // Whether or not an IFD is defined in data, such an IFD is not registered + // and would be unknown. + log.Panic(ErrChildIfdNotMapped) + return nil, nil +} + +type IfdTagIdAndIndex struct { + Name string + TagId uint16 + Index int +} + +func (itii IfdTagIdAndIndex) String() string { + return fmt.Sprintf("IfdTagIdAndIndex", itii.Name, itii.TagId, itii.Index) +} + +// ResolvePath takes a list of names, which can also be suffixed with indices +// (to identify the second, third, etc.. sibling IFD) and returns a list of +// tag-IDs and those indices. +// +// Example: +// +// - IFD/Exif/Iop +// - IFD0/Exif/Iop +// +// This is the only call that supports adding the numeric indices. +func (im *IfdMapping) ResolvePath(pathPhrase string) (lineage []IfdTagIdAndIndex, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + pathPhrase = strings.TrimSpace(pathPhrase) + + if pathPhrase == "" { + log.Panicf("can not resolve empty path-phrase") + } + + path := strings.Split(pathPhrase, "/") + lineage = make([]IfdTagIdAndIndex, len(path)) + + ptr := im.rootNode + empty := IfdTagIdAndIndex{} + for i, name := range path { + indexByte := name[len(name)-1] + index := 0 + if indexByte >= '0' && indexByte <= '9' { + index = int(indexByte - '0') + name = name[:len(name)-1] + } + + itii := IfdTagIdAndIndex{} + for _, mi := range ptr.Children { + if mi.Name != name { + continue + } + + itii.Name = name + itii.TagId = mi.TagId + itii.Index = index + + ptr = mi + + break + } + + if itii == empty { + log.Panicf("ifd child with name [%s] not registered: [%s]", name, pathPhrase) + } + + lineage[i] = itii + } + + return lineage, nil +} + +func (im *IfdMapping) FqPathPhraseFromLineage(lineage []IfdTagIdAndIndex) (fqPathPhrase string) { + fqPathParts := make([]string, len(lineage)) + for i, itii := range lineage { + if itii.Index > 0 { + fqPathParts[i] = fmt.Sprintf("%s%d", itii.Name, itii.Index) + } else { + fqPathParts[i] = itii.Name + } + } + + return strings.Join(fqPathParts, "/") +} + +func (im *IfdMapping) PathPhraseFromLineage(lineage []IfdTagIdAndIndex) (pathPhrase string) { + pathParts := make([]string, len(lineage)) + for i, itii := range lineage { + pathParts[i] = itii.Name + } + + return strings.Join(pathParts, "/") +} + +// StripPathPhraseIndices returns a non-fully-qualified path-phrase (no +// indices). +func (im *IfdMapping) StripPathPhraseIndices(pathPhrase string) (strippedPathPhrase string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + lineage, err := im.ResolvePath(pathPhrase) + log.PanicIf(err) + + strippedPathPhrase = im.PathPhraseFromLineage(lineage) + return strippedPathPhrase, nil +} + +// Add puts the given IFD at the given position of the tree. The position of the +// tree is referred to as the placement and is represented by a set of tag-IDs, +// where the leftmost is the root tag and the tags going to the right are +// progressive descendants. +func (im *IfdMapping) Add(parentPlacement []uint16, tagId uint16, name string) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! It would be nicer to provide a list of names in the placement rather than tag-IDs. + + ptr, err := im.Get(parentPlacement) + log.PanicIf(err) + + path := make([]string, len(parentPlacement)+1) + if len(parentPlacement) > 0 { + copy(path, ptr.Path) + } + + path[len(path)-1] = name + + placement := make([]uint16, len(parentPlacement)+1) + if len(placement) > 0 { + copy(placement, ptr.Placement) + } + + placement[len(placement)-1] = tagId + + childIfd := &MappedIfd{ + ParentTagId: ptr.TagId, + Path: path, + Placement: placement, + Name: name, + TagId: tagId, + Children: make(map[uint16]*MappedIfd), + } + + if _, found := ptr.Children[tagId]; found == true { + log.Panicf("child IFD with tag-ID (%04x) already registered under IFD [%s] with tag-ID (%04x)", tagId, ptr.Name, ptr.TagId) + } + + ptr.Children[tagId] = childIfd + + return nil +} + +func (im *IfdMapping) dumpLineages(stack []*MappedIfd, input []string) (output []string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + currentIfd := stack[len(stack)-1] + + output = input + for _, childIfd := range currentIfd.Children { + stackCopy := make([]*MappedIfd, len(stack)+1) + + copy(stackCopy, stack) + stackCopy[len(stack)] = childIfd + + // Add to output, but don't include the obligatory root node. + parts := make([]string, len(stackCopy)-1) + for i, mi := range stackCopy[1:] { + parts[i] = mi.Name + } + + output = append(output, strings.Join(parts, "/")) + + output, err = im.dumpLineages(stackCopy, output) + log.PanicIf(err) + } + + return output, nil +} + +func (im *IfdMapping) DumpLineages() (output []string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + stack := []*MappedIfd{im.rootNode} + output = make([]string, 0) + + output, err = im.dumpLineages(stack, output) + log.PanicIf(err) + + return output, nil +} + +func LoadStandardIfds(im *IfdMapping) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = im.Add([]uint16{}, IfdRootId, IfdStandard) + log.PanicIf(err) + + err = im.Add([]uint16{IfdRootId}, IfdExifId, IfdExif) + log.PanicIf(err) + + err = im.Add([]uint16{IfdRootId, IfdExifId}, IfdIopId, IfdIop) + log.PanicIf(err) + + err = im.Add([]uint16{IfdRootId}, IfdGpsId, IfdGps) + log.PanicIf(err) + + return nil +} diff --git a/vendor/github.com/dsoprea/go-exif/ifd_builder.go b/vendor/github.com/dsoprea/go-exif/ifd_builder.go new file mode 100644 index 000000000..40ef4dc4f --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/ifd_builder.go @@ -0,0 +1,1265 @@ +package exif + +// NOTES: +// +// The thumbnail offset and length tags shouldn't be set directly. Use the +// (*IfdBuilder).SetThumbnail() method instead. + +import ( + "errors" + "fmt" + "strings" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + ifdBuilderLogger = log.NewLogger("exif.ifd_builder") +) + +var ( + ErrTagEntryNotFound = errors.New("tag entry not found") + ErrChildIbNotFound = errors.New("child IB not found") +) + +type IfdBuilderTagValue struct { + valueBytes []byte + ib *IfdBuilder +} + +func (ibtv IfdBuilderTagValue) String() string { + if ibtv.IsBytes() == true { + var valuePhrase string + if len(ibtv.valueBytes) <= 8 { + valuePhrase = fmt.Sprintf("%v", ibtv.valueBytes) + } else { + valuePhrase = fmt.Sprintf("%v...", ibtv.valueBytes[:8]) + } + + return fmt.Sprintf("IfdBuilderTagValue", valuePhrase, len(ibtv.valueBytes)) + } else if ibtv.IsIb() == true { + return fmt.Sprintf("IfdBuilderTagValue", ibtv.ib) + } else { + log.Panicf("IBTV state undefined") + return "" + } +} + +func NewIfdBuilderTagValueFromBytes(valueBytes []byte) *IfdBuilderTagValue { + return &IfdBuilderTagValue{ + valueBytes: valueBytes, + } +} + +func NewIfdBuilderTagValueFromIfdBuilder(ib *IfdBuilder) *IfdBuilderTagValue { + return &IfdBuilderTagValue{ + ib: ib, + } +} + +// IsBytes returns true if the bytes are populated. This is always the case +// when we're loaded from a tag in an existing IFD. +func (ibtv IfdBuilderTagValue) IsBytes() bool { + return ibtv.valueBytes != nil +} + +func (ibtv IfdBuilderTagValue) Bytes() []byte { + if ibtv.IsBytes() == false { + log.Panicf("this tag is not a byte-slice value") + } else if ibtv.IsIb() == true { + log.Panicf("this tag is an IFD-builder value not a byte-slice") + } + + return ibtv.valueBytes +} + +func (ibtv IfdBuilderTagValue) IsIb() bool { + return ibtv.ib != nil +} + +func (ibtv IfdBuilderTagValue) Ib() *IfdBuilder { + if ibtv.IsIb() == false { + log.Panicf("this tag is not an IFD-builder value") + } else if ibtv.IsBytes() == true { + log.Panicf("this tag is a byte-slice, not a IFD-builder") + } + + return ibtv.ib +} + +type BuilderTag struct { + // ifdPath is the path of the IFD that hosts this tag. + ifdPath string + + tagId uint16 + typeId TagTypePrimitive + + // value is either a value that can be encoded, an IfdBuilder instance (for + // child IFDs), or an IfdTagEntry instance representing an existing, + // previously-stored tag. + value *IfdBuilderTagValue + + // byteOrder is the byte order. It's chiefly/originally here to support + // printing the value. + byteOrder binary.ByteOrder +} + +func NewBuilderTag(ifdPath string, tagId uint16, typeId TagTypePrimitive, value *IfdBuilderTagValue, byteOrder binary.ByteOrder) *BuilderTag { + return &BuilderTag{ + ifdPath: ifdPath, + tagId: tagId, + typeId: typeId, + value: value, + byteOrder: byteOrder, + } +} + +func NewChildIfdBuilderTag(ifdPath string, tagId uint16, value *IfdBuilderTagValue) *BuilderTag { + return &BuilderTag{ + ifdPath: ifdPath, + tagId: tagId, + typeId: TypeLong, + value: value, + } +} + +func (bt *BuilderTag) Value() (value *IfdBuilderTagValue) { + return bt.value +} + +func (bt *BuilderTag) String() string { + var valueString string + + if bt.value.IsBytes() == true { + var err error + + valueString, err = Format(bt.value.Bytes(), bt.typeId, false, bt.byteOrder) + log.PanicIf(err) + } else { + valueString = fmt.Sprintf("%v", bt.value) + } + + return fmt.Sprintf("BuilderTag", bt.ifdPath, bt.tagId, TypeNames[bt.typeId], valueString) +} + +func (bt *BuilderTag) SetValue(byteOrder binary.ByteOrder, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test. + + tt := NewTagType(bt.typeId, byteOrder) + ve := NewValueEncoder(byteOrder) + + var ed EncodedData + if bt.typeId == TypeUndefined { + var err error + + ed, err = EncodeUndefined(bt.ifdPath, bt.tagId, value) + log.PanicIf(err) + } else { + var err error + + ed, err = ve.EncodeWithType(tt, value) + log.PanicIf(err) + } + + bt.value = NewIfdBuilderTagValueFromBytes(ed.Encoded) + + return nil +} + +// NewStandardBuilderTag constructs a `BuilderTag` instance. The type is looked +// up. `ii` is the type of IFD that owns this tag. +func NewStandardBuilderTag(ifdPath string, it *IndexedTag, byteOrder binary.ByteOrder, value interface{}) *BuilderTag { + typeId := it.Type + tt := NewTagType(typeId, byteOrder) + + ve := NewValueEncoder(byteOrder) + + var ed EncodedData + if it.Type == TypeUndefined { + var err error + + ed, err = EncodeUndefined(ifdPath, it.Id, value) + log.PanicIf(err) + } else { + var err error + + ed, err = ve.EncodeWithType(tt, value) + log.PanicIf(err) + } + + tagValue := NewIfdBuilderTagValueFromBytes(ed.Encoded) + + return NewBuilderTag( + ifdPath, + it.Id, + typeId, + tagValue, + byteOrder) +} + +type IfdBuilder struct { + // ifdName is the name of the IFD represented by this instance. + name string + + // ifdPath is the path of the IFD represented by this instance. + ifdPath string + + // fqIfdPath is the fully-qualified path of the IFD represented by this + // instance. + fqIfdPath string + + // ifdTagId will be non-zero if we're a child IFD. + ifdTagId uint16 + + byteOrder binary.ByteOrder + + // Includes both normal tags and IFD tags (which point to child IFDs). + // TODO(dustin): Keep a separate list of children like with `Ifd`. + // TODO(dustin): Either rename this or `Entries` in `Ifd` to be the same thing. + tags []*BuilderTag + + // existingOffset will be the offset that this IFD is currently found at if + // it represents an IFD that has previously been stored (or 0 if not). + existingOffset uint32 + + // nextIb represents the next link if we're chaining to another. + nextIb *IfdBuilder + + // thumbnailData is populated with thumbnail data if there was thumbnail + // data. Otherwise, it's nil. + thumbnailData []byte + + ifdMapping *IfdMapping + tagIndex *TagIndex +} + +func NewIfdBuilder(ifdMapping *IfdMapping, tagIndex *TagIndex, fqIfdPath string, byteOrder binary.ByteOrder) (ib *IfdBuilder) { + ifdPath, err := ifdMapping.StripPathPhraseIndices(fqIfdPath) + log.PanicIf(err) + + var ifdTagId uint16 + + mi, err := ifdMapping.GetWithPath(ifdPath) + if err == nil { + ifdTagId = mi.TagId + } else if log.Is(err, ErrChildIfdNotMapped) == false { + log.Panic(err) + } + + ib = &IfdBuilder{ + // The right-most part of the IFD-path. + name: mi.Name, + + // ifdPath describes the current IFD placement within the IFD tree. + ifdPath: ifdPath, + + // fqIfdPath describes the current IFD placement within the IFD tree as + // well as being qualified with non-zero indices. + fqIfdPath: fqIfdPath, + + // ifdTagId is empty unless it's a child-IFD. + ifdTagId: ifdTagId, + + byteOrder: byteOrder, + tags: make([]*BuilderTag, 0), + + ifdMapping: ifdMapping, + tagIndex: tagIndex, + } + + return ib +} + +// NewIfdBuilderWithExistingIfd creates a new IB using the same header type +// information as the given IFD. +func NewIfdBuilderWithExistingIfd(ifd *Ifd) (ib *IfdBuilder) { + name := ifd.Name + ifdPath := ifd.IfdPath + fqIfdPath := ifd.FqIfdPath + + var ifdTagId uint16 + + // There is no tag-ID for the root IFD. It will never be a child IFD. + if ifdPath != IfdPathStandard { + mi, err := ifd.ifdMapping.GetWithPath(ifdPath) + log.PanicIf(err) + + ifdTagId = mi.TagId + } + + ib = &IfdBuilder{ + name: name, + ifdPath: ifdPath, + fqIfdPath: fqIfdPath, + ifdTagId: ifdTagId, + byteOrder: ifd.ByteOrder, + existingOffset: ifd.Offset, + ifdMapping: ifd.ifdMapping, + tagIndex: ifd.tagIndex, + } + + return ib +} + +// NewIfdBuilderFromExistingChain creates a chain of IB instances from an +// IFD chain generated from real data. +func NewIfdBuilderFromExistingChain(rootIfd *Ifd, itevr *IfdTagEntryValueResolver) (firstIb *IfdBuilder) { + // OBSOLETE(dustin): Support for `itevr` is now obsolete. This parameter will be removed in the future. + + var lastIb *IfdBuilder + i := 0 + for thisExistingIfd := rootIfd; thisExistingIfd != nil; thisExistingIfd = thisExistingIfd.NextIfd { + newIb := NewIfdBuilder(rootIfd.ifdMapping, rootIfd.tagIndex, rootIfd.FqIfdPath, thisExistingIfd.ByteOrder) + if firstIb == nil { + firstIb = newIb + } else { + lastIb.SetNextIb(newIb) + } + + err := newIb.AddTagsFromExisting(thisExistingIfd, nil, nil, nil) + log.PanicIf(err) + + lastIb = newIb + i++ + } + + return firstIb +} + +func (ib *IfdBuilder) NextIb() (nextIb *IfdBuilder, err error) { + return ib.nextIb, nil +} + +func (ib *IfdBuilder) ChildWithTagId(childIfdTagId uint16) (childIb *IfdBuilder, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for _, bt := range ib.tags { + if bt.value.IsIb() == false { + continue + } + + childIbThis := bt.value.Ib() + + if childIbThis.ifdTagId == childIfdTagId { + return childIbThis, nil + } + } + + log.Panic(ErrChildIbNotFound) + + // Never reached. + return nil, nil +} + +func getOrCreateIbFromRootIbInner(rootIb *IfdBuilder, parentIb *IfdBuilder, currentLineage []IfdTagIdAndIndex) (ib *IfdBuilder, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test. + + thisIb := rootIb + + // Since we're calling ourselves recursively with incrementally different + // paths, the FQ IFD-path of the parent that called us needs to be passed + // in, in order for us to know it. + var parentLineage []IfdTagIdAndIndex + if parentIb != nil { + var err error + + parentLineage, err = thisIb.ifdMapping.ResolvePath(parentIb.fqIfdPath) + log.PanicIf(err) + } + + // Process the current path part. + currentItii := currentLineage[0] + + // Make sure the leftmost part of the FQ IFD-path agrees with the IB we + // were given. + + expectedFqRootIfdPath := "" + if parentLineage != nil { + expectedLineage := append(parentLineage, currentItii) + expectedFqRootIfdPath = thisIb.ifdMapping.PathPhraseFromLineage(expectedLineage) + } else { + expectedFqRootIfdPath = thisIb.ifdMapping.PathPhraseFromLineage(currentLineage[:1]) + } + + if expectedFqRootIfdPath != thisIb.fqIfdPath { + log.Panicf("the FQ IFD-path [%s] we were given does not match the builder's FQ IFD-path [%s]", expectedFqRootIfdPath, thisIb.fqIfdPath) + } + + // If we actually wanted a sibling (currentItii.Index > 0) then seek to it, + // appending new siblings, as required, until we get there. + for i := 0; i < currentItii.Index; i++ { + if thisIb.nextIb == nil { + // Generate an FQ IFD-path for the sibling. It'll use the same + // non-FQ IFD-path as the current IB. + + siblingFqIfdPath := "" + if parentLineage != nil { + siblingFqIfdPath = fmt.Sprintf("%s/%s%d", parentIb.fqIfdPath, currentItii.Name, i+1) + } else { + siblingFqIfdPath = fmt.Sprintf("%s%d", currentItii.Name, i+1) + } + + thisIb.nextIb = NewIfdBuilder(thisIb.ifdMapping, thisIb.tagIndex, siblingFqIfdPath, thisIb.byteOrder) + } + + thisIb = thisIb.nextIb + } + + // There is no child IFD to process. We're done. + if len(currentLineage) == 1 { + return thisIb, nil + } + + // Establish the next child to be processed. + + childItii := currentLineage[1] + + var foundChild *IfdBuilder + for _, bt := range thisIb.tags { + if bt.value.IsIb() == false { + continue + } + + childIb := bt.value.Ib() + + if childIb.ifdTagId == childItii.TagId { + foundChild = childIb + break + } + } + + // If we didn't find the child, add it. + if foundChild == nil { + thisIbLineage, err := thisIb.ifdMapping.ResolvePath(thisIb.fqIfdPath) + log.PanicIf(err) + + childLineage := make([]IfdTagIdAndIndex, len(thisIbLineage)+1) + copy(childLineage, thisIbLineage) + + childLineage[len(childLineage)-1] = childItii + + fqIfdChildPath := thisIb.ifdMapping.FqPathPhraseFromLineage(childLineage) + + foundChild = NewIfdBuilder(thisIb.ifdMapping, thisIb.tagIndex, fqIfdChildPath, thisIb.byteOrder) + + err = thisIb.AddChildIb(foundChild) + log.PanicIf(err) + } + + finalIb, err := getOrCreateIbFromRootIbInner(foundChild, thisIb, currentLineage[1:]) + log.PanicIf(err) + + return finalIb, nil +} + +// GetOrCreateIbFromRootIb returns an IB representing the requested IFD, even if +// an IB doesn't already exist for it. This function may call itself +// recursively. +func GetOrCreateIbFromRootIb(rootIb *IfdBuilder, fqIfdPath string) (ib *IfdBuilder, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // lineage is a necessity of our recursion process. It doesn't include any + // parent IFDs on its left-side; it starts with the current IB only. + lineage, err := rootIb.ifdMapping.ResolvePath(fqIfdPath) + log.PanicIf(err) + + ib, err = getOrCreateIbFromRootIbInner(rootIb, nil, lineage) + log.PanicIf(err) + + return ib, nil +} + +func (ib *IfdBuilder) String() string { + nextIfdPhrase := "" + if ib.nextIb != nil { + // TODO(dustin): We were setting this to ii.String(), but we were getting hex-data when printing this after building from an existing chain. + nextIfdPhrase = ib.nextIb.ifdPath + } + + return fmt.Sprintf("IfdBuilder", ib.ifdPath, ib.ifdTagId, len(ib.tags), ib.existingOffset, nextIfdPhrase) +} + +func (ib *IfdBuilder) Tags() (tags []*BuilderTag) { + return ib.tags +} + +// SetThumbnail sets thumbnail data. +// +// NOTES: +// +// - We don't manage any facet of the thumbnail data. This is the +// responsibility of the user/developer. +// - This method will fail unless the thumbnail is set on a the root IFD. +// However, in order to be valid, it must be set on the second one, linked to +// by the first, as per the EXIF/TIFF specification. +// - We set the offset to (0) now but will allocate the data and properly assign +// the offset when the IB is encoded (later). +func (ib *IfdBuilder) SetThumbnail(data []byte) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if ib.ifdPath != IfdPathStandard { + log.Panicf("thumbnails can only go into a root Ifd (and only the second one)") + } + + // TODO(dustin): !! Add a test for this function. + + if data == nil || len(data) == 0 { + log.Panic("thumbnail is empty") + } + + ib.thumbnailData = data + + ibtvfb := NewIfdBuilderTagValueFromBytes(ib.thumbnailData) + offsetBt := + NewBuilderTag( + ib.ifdPath, + ThumbnailOffsetTagId, + TypeLong, + ibtvfb, + ib.byteOrder) + + err = ib.Set(offsetBt) + log.PanicIf(err) + + thumbnailSizeIt, err := ib.tagIndex.Get(ib.ifdPath, ThumbnailSizeTagId) + log.PanicIf(err) + + sizeBt := NewStandardBuilderTag(ib.ifdPath, thumbnailSizeIt, ib.byteOrder, []uint32{uint32(len(ib.thumbnailData))}) + + err = ib.Set(sizeBt) + log.PanicIf(err) + + return nil +} + +func (ib *IfdBuilder) Thumbnail() []byte { + return ib.thumbnailData +} + +func (ib *IfdBuilder) printTagTree(levels int) { + indent := strings.Repeat(" ", levels*2) + + i := 0 + for currentIb := ib; currentIb != nil; currentIb = currentIb.nextIb { + prefix := " " + if i > 0 { + prefix = ">" + } + + if levels == 0 { + fmt.Printf("%s%sIFD: %s INDEX=(%d)\n", indent, prefix, currentIb, i) + } else { + fmt.Printf("%s%sChild IFD: %s\n", indent, prefix, currentIb) + } + + if len(currentIb.tags) > 0 { + fmt.Printf("\n") + + for i, tag := range currentIb.tags { + isChildIb := false + _, err := ib.ifdMapping.GetChild(currentIb.ifdPath, tag.tagId) + if err == nil { + isChildIb = true + } else if log.Is(err, ErrChildIfdNotMapped) == false { + log.Panic(err) + } + + tagName := "" + + // If a normal tag (not a child IFD) get the name. + if isChildIb == true { + tagName = "" + } else { + it, err := ib.tagIndex.Get(tag.ifdPath, tag.tagId) + if log.Is(err, ErrTagNotFound) == true { + tagName = "" + } else if err != nil { + log.Panic(err) + } else { + tagName = it.Name + } + } + + value := tag.Value() + + if value.IsIb() == true { + fmt.Printf("%s (%d): [%s] %s\n", indent, i, tagName, value.Ib()) + } else { + fmt.Printf("%s (%d): [%s] %s\n", indent, i, tagName, tag) + } + + if isChildIb == true { + if tag.value.IsIb() == false { + log.Panicf("tag-ID (0x%04x) is an IFD but the tag value is not an IB instance: %v", tag.tagId, tag) + } + + fmt.Printf("\n") + + childIb := tag.value.Ib() + childIb.printTagTree(levels + 1) + } + } + + fmt.Printf("\n") + } + + i++ + } +} + +func (ib *IfdBuilder) PrintTagTree() { + ib.printTagTree(0) +} + +func (ib *IfdBuilder) printIfdTree(levels int) { + indent := strings.Repeat(" ", levels*2) + + i := 0 + for currentIb := ib; currentIb != nil; currentIb = currentIb.nextIb { + prefix := " " + if i > 0 { + prefix = ">" + } + + fmt.Printf("%s%s%s\n", indent, prefix, currentIb) + + if len(currentIb.tags) > 0 { + for _, tag := range currentIb.tags { + isChildIb := false + _, err := ib.ifdMapping.GetChild(currentIb.ifdPath, tag.tagId) + if err == nil { + isChildIb = true + } else if log.Is(err, ErrChildIfdNotMapped) == false { + log.Panic(err) + } + + if isChildIb == true { + if tag.value.IsIb() == false { + log.Panicf("tag-ID (0x%04x) is an IFD but the tag value is not an IB instance: %v", tag.tagId, tag) + } + + childIb := tag.value.Ib() + childIb.printIfdTree(levels + 1) + } + } + } + + i++ + } +} + +func (ib *IfdBuilder) PrintIfdTree() { + ib.printIfdTree(0) +} + +func (ib *IfdBuilder) dumpToStrings(thisIb *IfdBuilder, prefix string, tagId uint16, lines []string) (linesOutput []string) { + if lines == nil { + linesOutput = make([]string, 0) + } else { + linesOutput = lines + } + + siblingIfdIndex := 0 + for ; thisIb != nil; thisIb = thisIb.nextIb { + line := fmt.Sprintf("IFD", prefix, thisIb.fqIfdPath, siblingIfdIndex, thisIb.ifdTagId, tagId) + linesOutput = append(linesOutput, line) + + for i, tag := range thisIb.tags { + var childIb *IfdBuilder + childIfdName := "" + if tag.value.IsIb() == true { + childIb = tag.value.Ib() + childIfdName = childIb.ifdPath + } + + line := fmt.Sprintf("TAG", prefix, thisIb.fqIfdPath, thisIb.ifdTagId, childIfdName, i, tag.tagId) + linesOutput = append(linesOutput, line) + + if childIb == nil { + continue + } + + childPrefix := "" + if prefix == "" { + childPrefix = fmt.Sprintf("%s", thisIb.ifdPath) + } else { + childPrefix = fmt.Sprintf("%s->%s", prefix, thisIb.ifdPath) + } + + linesOutput = thisIb.dumpToStrings(childIb, childPrefix, tag.tagId, linesOutput) + } + + siblingIfdIndex++ + } + + return linesOutput +} + +func (ib *IfdBuilder) DumpToStrings() (lines []string) { + return ib.dumpToStrings(ib, "", 0, lines) +} + +func (ib *IfdBuilder) SetNextIb(nextIb *IfdBuilder) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ib.nextIb = nextIb + + return nil +} + +func (ib *IfdBuilder) DeleteN(tagId uint16, n int) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if n < 1 { + log.Panicf("N must be at least 1: (%d)", n) + } + + for n > 0 { + j := -1 + for i, bt := range ib.tags { + if bt.tagId == tagId { + j = i + break + } + } + + if j == -1 { + log.Panic(ErrTagEntryNotFound) + } + + ib.tags = append(ib.tags[:j], ib.tags[j+1:]...) + n-- + } + + return nil +} + +func (ib *IfdBuilder) DeleteFirst(tagId uint16) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = ib.DeleteN(tagId, 1) + log.PanicIf(err) + + return nil +} + +func (ib *IfdBuilder) DeleteAll(tagId uint16) (n int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for { + err = ib.DeleteN(tagId, 1) + if log.Is(err, ErrTagEntryNotFound) == true { + break + } else if err != nil { + log.Panic(err) + } + + n++ + } + + return n, nil +} + +func (ib *IfdBuilder) ReplaceAt(position int, bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if position < 0 { + log.Panicf("replacement position must be 0 or greater") + } else if position >= len(ib.tags) { + log.Panicf("replacement position does not exist") + } + + ib.tags[position] = bt + + return nil +} + +func (ib *IfdBuilder) Replace(tagId uint16, bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + position, err := ib.Find(tagId) + log.PanicIf(err) + + ib.tags[position] = bt + + return nil +} + +// Set will add a new entry or update an existing entry. +func (ib *IfdBuilder) Set(bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + position, err := ib.Find(bt.tagId) + if err == nil { + ib.tags[position] = bt + } else if log.Is(err, ErrTagEntryNotFound) == true { + err = ib.add(bt) + log.PanicIf(err) + } else { + log.Panic(err) + } + + return nil +} + +func (ib *IfdBuilder) FindN(tagId uint16, maxFound int) (found []int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + found = make([]int, 0) + + for i, bt := range ib.tags { + if bt.tagId == tagId { + found = append(found, i) + if maxFound == 0 || len(found) >= maxFound { + break + } + } + } + + return found, nil +} + +func (ib *IfdBuilder) Find(tagId uint16) (position int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + found, err := ib.FindN(tagId, 1) + log.PanicIf(err) + + if len(found) == 0 { + log.Panic(ErrTagEntryNotFound) + } + + return found[0], nil +} + +func (ib *IfdBuilder) FindTag(tagId uint16) (bt *BuilderTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + found, err := ib.FindN(tagId, 1) + log.PanicIf(err) + + if len(found) == 0 { + log.Panic(ErrTagEntryNotFound) + } + + position := found[0] + + return ib.tags[position], nil +} + +func (ib *IfdBuilder) FindTagWithName(tagName string) (bt *BuilderTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + it, err := ib.tagIndex.GetWithName(ib.ifdPath, tagName) + log.PanicIf(err) + + found, err := ib.FindN(it.Id, 1) + log.PanicIf(err) + + if len(found) == 0 { + log.Panic(ErrTagEntryNotFound) + } + + position := found[0] + + return ib.tags[position], nil +} + +func (ib *IfdBuilder) add(bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if bt.ifdPath == "" { + log.Panicf("BuilderTag ifdPath is not set: %s", bt) + } else if bt.typeId == 0x0 { + log.Panicf("BuilderTag type-ID is not set: %s", bt) + } else if bt.value == nil { + log.Panicf("BuilderTag value is not set: %s", bt) + } + + ib.tags = append(ib.tags, bt) + return nil +} + +func (ib *IfdBuilder) Add(bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if bt.value.IsIb() == true { + log.Panicf("child IfdBuilders must be added via AddChildIb() or AddTagsFromExisting(), not Add()") + } + + err = ib.add(bt) + log.PanicIf(err) + + return nil +} + +// AddChildIb adds a tag that branches to a new IFD. +func (ib *IfdBuilder) AddChildIb(childIb *IfdBuilder) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if childIb.ifdTagId == 0 { + log.Panicf("IFD can not be used as a child IFD (not associated with a tag-ID): %v", childIb) + } else if childIb.byteOrder != ib.byteOrder { + log.Panicf("Child IFD does not have the same byte-order: [%s] != [%s]", childIb.byteOrder, ib.byteOrder) + } + + // Since no standard IFDs supports occuring more than once, check that a + // tag of this type has not been previously added. Note that we just search + // the current IFD and *not every* IFD. + for _, bt := range childIb.tags { + if bt.tagId == childIb.ifdTagId { + log.Panicf("child-IFD already added: %v", childIb.ifdPath) + } + } + + bt := ib.NewBuilderTagFromBuilder(childIb) + ib.tags = append(ib.tags, bt) + + return nil +} + +func (ib *IfdBuilder) NewBuilderTagFromBuilder(childIb *IfdBuilder) (bt *BuilderTag) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + value := NewIfdBuilderTagValueFromIfdBuilder(childIb) + + bt = NewChildIfdBuilderTag( + ib.ifdPath, + childIb.ifdTagId, + value) + + return bt +} + +// AddTagsFromExisting does a verbatim copy of the entries in `ifd` to this +// builder. It excludes child IFDs. These must be added explicitly via +// `AddChildIb()`. +func (ib *IfdBuilder) AddTagsFromExisting(ifd *Ifd, itevr *IfdTagEntryValueResolver, includeTagIds []uint16, excludeTagIds []uint16) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // OBSOLETE(dustin): Support for `itevr` is now obsolete. This parameter will be removed in the future. + + thumbnailData, err := ifd.Thumbnail() + if err == nil { + err = ib.SetThumbnail(thumbnailData) + log.PanicIf(err) + } else if log.Is(err, ErrNoThumbnail) == false { + log.Panic(err) + } + + for i, ite := range ifd.Entries { + if ite.TagId == ThumbnailOffsetTagId || ite.TagId == ThumbnailSizeTagId { + // These will be added on-the-fly when we encode. + continue + } + + if excludeTagIds != nil && len(excludeTagIds) > 0 { + found := false + for _, excludedTagId := range excludeTagIds { + if excludedTagId == ite.TagId { + found = true + } + } + + if found == true { + continue + } + } + + if includeTagIds != nil && len(includeTagIds) > 0 { + // Whether or not there was a list of excludes, if there is a list + // of includes than the current tag has to be in it. + + found := false + for _, includedTagId := range includeTagIds { + if includedTagId == ite.TagId { + found = true + break + } + } + + if found == false { + continue + } + } + + var bt *BuilderTag + + if ite.ChildIfdPath != "" { + // If we want to add an IFD tag, we'll have to build it first and + // *then* add it via a different method. + + // Figure out which of the child-IFDs that are associated with + // this IFD represents this specific child IFD. + + var childIfd *Ifd + for _, thisChildIfd := range ifd.Children { + if thisChildIfd.ParentTagIndex != i { + continue + } else if thisChildIfd.TagId != 0xffff && thisChildIfd.TagId != ite.TagId { + log.Panicf("child-IFD tag is not correct: TAG-POSITION=(%d) ITE=%s CHILD-IFD=%s", thisChildIfd.ParentTagIndex, ite, thisChildIfd) + } + + childIfd = thisChildIfd + break + } + + if childIfd == nil { + childTagIds := make([]string, len(ifd.Children)) + for j, childIfd := range ifd.Children { + childTagIds[j] = fmt.Sprintf("0x%04x (parent tag-position %d)", childIfd.TagId, childIfd.ParentTagIndex) + } + + log.Panicf("could not find child IFD for child ITE: IFD-PATH=[%s] TAG-ID=(0x%04x) CURRENT-TAG-POSITION=(%d) CHILDREN=%v", ite.IfdPath, ite.TagId, i, childTagIds) + } + + childIb := NewIfdBuilderFromExistingChain(childIfd, nil) + bt = ib.NewBuilderTagFromBuilder(childIb) + } else { + // Non-IFD tag. + + valueContext := ifd.GetValueContext(ite) + + var rawBytes []byte + + if ite.TagType == TypeUndefined { + // It's an undefined-type value. Try to process, or skip if + // we don't know how to. + + undefinedInterface, err := valueContext.Undefined() + if err != nil { + if err == ErrUnhandledUnknownTypedTag { + // It's an undefined-type tag that we don't handle. If + // we don't know how to handle it, we can't know how + // many bytes it is and we must skip it. + continue + } + + log.Panic(err) + } + + undefined, ok := undefinedInterface.(UnknownTagValue) + if ok != true { + log.Panicf("unexpected value returned from undefined-value processor") + } + + rawBytes, err = undefined.ValueBytes() + log.PanicIf(err) + } else { + // It's a value with a standard type. + + var err error + + rawBytes, err = valueContext.readRawEncoded() + log.PanicIf(err) + } + + value := NewIfdBuilderTagValueFromBytes(rawBytes) + + bt = NewBuilderTag( + ifd.IfdPath, + ite.TagId, + ite.TagType, + value, + ib.byteOrder) + } + + err := ib.add(bt) + log.PanicIf(err) + } + + return nil +} + +// AddStandard quickly and easily composes and adds the tag using the +// information already known about a tag. Only works with standard tags. +func (ib *IfdBuilder) AddStandard(tagId uint16, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + it, err := ib.tagIndex.Get(ib.ifdPath, tagId) + log.PanicIf(err) + + bt := NewStandardBuilderTag(ib.ifdPath, it, ib.byteOrder, value) + + err = ib.add(bt) + log.PanicIf(err) + + return nil +} + +// AddStandardWithName quickly and easily composes and adds the tag using the +// information already known about a tag (using the name). Only works with +// standard tags. +func (ib *IfdBuilder) AddStandardWithName(tagName string, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + it, err := ib.tagIndex.GetWithName(ib.ifdPath, tagName) + log.PanicIf(err) + + bt := NewStandardBuilderTag(ib.ifdPath, it, ib.byteOrder, value) + + err = ib.add(bt) + log.PanicIf(err) + + return nil +} + +// SetStandard quickly and easily composes and adds or replaces the tag using +// the information already known about a tag. Only works with standard tags. +func (ib *IfdBuilder) SetStandard(tagId uint16, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test for this function. + + it, err := ib.tagIndex.Get(ib.ifdPath, tagId) + log.PanicIf(err) + + bt := NewStandardBuilderTag(ib.ifdPath, it, ib.byteOrder, value) + + i, err := ib.Find(tagId) + if err != nil { + if log.Is(err, ErrTagEntryNotFound) == false { + log.Panic(err) + } + + ib.tags = append(ib.tags, bt) + } else { + ib.tags[i] = bt + } + + return nil +} + +// SetStandardWithName quickly and easily composes and adds or replaces the +// tag using the information already known about a tag (using the name). Only +// works with standard tags. +func (ib *IfdBuilder) SetStandardWithName(tagName string, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test for this function. + + it, err := ib.tagIndex.GetWithName(ib.ifdPath, tagName) + log.PanicIf(err) + + bt := NewStandardBuilderTag(ib.ifdPath, it, ib.byteOrder, value) + + i, err := ib.Find(bt.tagId) + if err != nil { + if log.Is(err, ErrTagEntryNotFound) == false { + log.Panic(err) + } + + ib.tags = append(ib.tags, bt) + } else { + ib.tags[i] = bt + } + + return nil +} diff --git a/vendor/github.com/dsoprea/go-exif/ifd_builder_encode.go b/vendor/github.com/dsoprea/go-exif/ifd_builder_encode.go new file mode 100644 index 000000000..90fb2ddbf --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/ifd_builder_encode.go @@ -0,0 +1,530 @@ +package exif + +import ( + "bytes" + "fmt" + "strings" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +const ( + // Tag-ID + Tag-Type + Unit-Count + Value/Offset. + IfdTagEntrySize = uint32(2 + 2 + 4 + 4) +) + +type ByteWriter struct { + b *bytes.Buffer + byteOrder binary.ByteOrder +} + +func NewByteWriter(b *bytes.Buffer, byteOrder binary.ByteOrder) (bw *ByteWriter) { + return &ByteWriter{ + b: b, + byteOrder: byteOrder, + } +} + +func (bw ByteWriter) writeAsBytes(value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = binary.Write(bw.b, bw.byteOrder, value) + log.PanicIf(err) + + return nil +} + +func (bw ByteWriter) WriteUint32(value uint32) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = bw.writeAsBytes(value) + log.PanicIf(err) + + return nil +} + +func (bw ByteWriter) WriteUint16(value uint16) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = bw.writeAsBytes(value) + log.PanicIf(err) + + return nil +} + +func (bw ByteWriter) WriteFourBytes(value []byte) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + len_ := len(value) + if len_ != 4 { + log.Panicf("value is not four-bytes: (%d)", len_) + } + + _, err = bw.b.Write(value) + log.PanicIf(err) + + return nil +} + +// ifdOffsetIterator keeps track of where the next IFD should be written by +// keeping track of where the offsets start, the data that has been added, and +// bumping the offset *when* the data is added. +type ifdDataAllocator struct { + offset uint32 + b bytes.Buffer +} + +func newIfdDataAllocator(ifdDataAddressableOffset uint32) *ifdDataAllocator { + return &ifdDataAllocator{ + offset: ifdDataAddressableOffset, + } +} + +func (ida *ifdDataAllocator) Allocate(value []byte) (offset uint32, err error) { + _, err = ida.b.Write(value) + log.PanicIf(err) + + offset = ida.offset + ida.offset += uint32(len(value)) + + return offset, nil +} + +func (ida *ifdDataAllocator) NextOffset() uint32 { + return ida.offset +} + +func (ida *ifdDataAllocator) Bytes() []byte { + return ida.b.Bytes() +} + +// IfdByteEncoder converts an IB to raw bytes (for writing) while also figuring +// out all of the allocations and indirection that is required for extended +// data. +type IfdByteEncoder struct { + // journal holds a list of actions taken while encoding. + journal [][3]string +} + +func NewIfdByteEncoder() (ibe *IfdByteEncoder) { + return &IfdByteEncoder{ + journal: make([][3]string, 0), + } +} + +func (ibe *IfdByteEncoder) Journal() [][3]string { + return ibe.journal +} + +func (ibe *IfdByteEncoder) TableSize(entryCount int) uint32 { + // Tag-Count + (Entry-Size * Entry-Count) + Next-IFD-Offset. + return uint32(2) + (IfdTagEntrySize * uint32(entryCount)) + uint32(4) +} + +func (ibe *IfdByteEncoder) pushToJournal(where, direction, format string, args ...interface{}) { + event := [3]string{ + direction, + where, + fmt.Sprintf(format, args...), + } + + ibe.journal = append(ibe.journal, event) +} + +// PrintJournal prints a hierarchical representation of the steps taken during +// encoding. +func (ibe *IfdByteEncoder) PrintJournal() { + maxWhereLength := 0 + for _, event := range ibe.journal { + where := event[1] + + len_ := len(where) + if len_ > maxWhereLength { + maxWhereLength = len_ + } + } + + level := 0 + for i, event := range ibe.journal { + direction := event[0] + where := event[1] + message := event[2] + + if direction != ">" && direction != "<" && direction != "-" { + log.Panicf("journal operation not valid: [%s]", direction) + } + + if direction == "<" { + if level <= 0 { + log.Panicf("journal operations unbalanced (too many closes)") + } + + level-- + } + + indent := strings.Repeat(" ", level) + + fmt.Printf("%3d %s%s %s: %s\n", i, indent, direction, where, message) + + if direction == ">" { + level++ + } + } + + if level != 0 { + log.Panicf("journal operations unbalanced (too many opens)") + } +} + +// encodeTagToBytes encodes the given tag to a byte stream. If +// `nextIfdOffsetToWrite` is more than (0), recurse into child IFDs +// (`nextIfdOffsetToWrite` is required in order for them to know where the its +// IFD data will be written, in order for them to know the offset of where +// their allocated-data block will start, which follows right behind). +func (ibe *IfdByteEncoder) encodeTagToBytes(ib *IfdBuilder, bt *BuilderTag, bw *ByteWriter, ida *ifdDataAllocator, nextIfdOffsetToWrite uint32) (childIfdBlock []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Write tag-ID. + err = bw.WriteUint16(bt.tagId) + log.PanicIf(err) + + // Works for both values and child IFDs (which have an official size of + // LONG). + err = bw.WriteUint16(uint16(bt.typeId)) + log.PanicIf(err) + + // Write unit-count. + + if bt.value.IsBytes() == true { + effectiveType := bt.typeId + if bt.typeId == TypeUndefined { + effectiveType = TypeByte + } + + // It's a non-unknown value.Calculate the count of values of + // the type that we're writing and the raw bytes for the whole list. + + typeSize := uint32(effectiveType.Size()) + + valueBytes := bt.value.Bytes() + + len_ := len(valueBytes) + unitCount := uint32(len_) / typeSize + + if _, found := tagsWithoutAlignment[bt.tagId]; found == false { + remainder := uint32(len_) % typeSize + + if remainder > 0 { + log.Panicf("tag (0x%04x) value of (%d) bytes not evenly divisible by type-size (%d)", bt.tagId, len_, typeSize) + } + } + + err = bw.WriteUint32(unitCount) + log.PanicIf(err) + + // Write four-byte value/offset. + + if len_ > 4 { + offset, err := ida.Allocate(valueBytes) + log.PanicIf(err) + + err = bw.WriteUint32(offset) + log.PanicIf(err) + } else { + fourBytes := make([]byte, 4) + copy(fourBytes, valueBytes) + + err = bw.WriteFourBytes(fourBytes) + log.PanicIf(err) + } + } else { + if bt.value.IsIb() == false { + log.Panicf("tag value is not a byte-slice but also not a child IB: %v", bt) + } + + // Write unit-count (one LONG representing one offset). + err = bw.WriteUint32(1) + log.PanicIf(err) + + if nextIfdOffsetToWrite > 0 { + var err error + + ibe.pushToJournal("encodeTagToBytes", ">", "[%s]->[%s]", ib.ifdPath, bt.value.Ib().ifdPath) + + // Create the block of IFD data and everything it requires. + childIfdBlock, err = ibe.encodeAndAttachIfd(bt.value.Ib(), nextIfdOffsetToWrite) + log.PanicIf(err) + + ibe.pushToJournal("encodeTagToBytes", "<", "[%s]->[%s]", bt.value.Ib().ifdPath, ib.ifdPath) + + // Use the next-IFD offset for it. The IFD will actually get + // attached after we return. + err = bw.WriteUint32(nextIfdOffsetToWrite) + log.PanicIf(err) + + } else { + // No child-IFDs are to be allocated. Finish the entry with a NULL + // pointer. + + ibe.pushToJournal("encodeTagToBytes", "-", "*Not* descending to child: [%s]", bt.value.Ib().ifdPath) + + err = bw.WriteUint32(0) + log.PanicIf(err) + } + } + + return childIfdBlock, nil +} + +// encodeIfdToBytes encodes the given IB to a byte-slice. We are given the +// offset at which this IFD will be written. This method is used called both to +// pre-determine how big the table is going to be (so that we can calculate the +// address to allocate data at) as well as to write the final table. +// +// It is necessary to fully realize the table in order to predetermine its size +// because it is not enough to know the size of the table: If there are child +// IFDs, we will not be able to allocate them without first knowing how much +// data we need to allocate for the current IFD. +func (ibe *IfdByteEncoder) encodeIfdToBytes(ib *IfdBuilder, ifdAddressableOffset uint32, nextIfdOffsetToWrite uint32, setNextIb bool) (data []byte, tableSize uint32, dataSize uint32, childIfdSizes []uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ibe.pushToJournal("encodeIfdToBytes", ">", "%s", ib) + + tableSize = ibe.TableSize(len(ib.tags)) + + b := new(bytes.Buffer) + bw := NewByteWriter(b, ib.byteOrder) + + // Write tag count. + err = bw.WriteUint16(uint16(len(ib.tags))) + log.PanicIf(err) + + ida := newIfdDataAllocator(ifdAddressableOffset) + + childIfdBlocks := make([][]byte, 0) + + // Write raw bytes for each tag entry. Allocate larger data to be referred + // to in the follow-up data-block as required. Any "unknown"-byte tags that + // we can't parse will not be present here (using AddTagsFromExisting(), at + // least). + for _, bt := range ib.tags { + childIfdBlock, err := ibe.encodeTagToBytes(ib, bt, bw, ida, nextIfdOffsetToWrite) + log.PanicIf(err) + + if childIfdBlock != nil { + // We aren't allowed to have non-nil child IFDs if we're just + // sizing things up. + if nextIfdOffsetToWrite == 0 { + log.Panicf("no IFD offset provided for child-IFDs; no new child-IFDs permitted") + } + + nextIfdOffsetToWrite += uint32(len(childIfdBlock)) + childIfdBlocks = append(childIfdBlocks, childIfdBlock) + } + } + + dataBytes := ida.Bytes() + dataSize = uint32(len(dataBytes)) + + childIfdSizes = make([]uint32, len(childIfdBlocks)) + childIfdsTotalSize := uint32(0) + for i, childIfdBlock := range childIfdBlocks { + len_ := uint32(len(childIfdBlock)) + childIfdSizes[i] = len_ + childIfdsTotalSize += len_ + } + + // N the link from this IFD to the next IFD that will be written in the + // next cycle. + if setNextIb == true { + // Write address of next IFD in chain. This will be the original + // allocation offset plus the size of everything we have allocated for + // this IFD and its child-IFDs. + // + // It is critical that this number is stepped properly. We experienced + // an issue whereby it first looked like we were duplicating the IFD and + // then that we were duplicating the tags in the wrong IFD, and then + // finally we determined that the next-IFD offset for the first IFD was + // accidentally pointing back to the EXIF IFD, so we were visiting it + // twice when visiting through the tags after decoding. It was an + // expensive bug to find. + + ibe.pushToJournal("encodeIfdToBytes", "-", "Setting 'next' IFD to (0x%08x).", nextIfdOffsetToWrite) + + err := bw.WriteUint32(nextIfdOffsetToWrite) + log.PanicIf(err) + } else { + err := bw.WriteUint32(0) + log.PanicIf(err) + } + + _, err = b.Write(dataBytes) + log.PanicIf(err) + + // Append any child IFD blocks after our table and data blocks. These IFDs + // were equipped with the appropriate offset information so it's expected + // that all offsets referred to by these will be correct. + // + // Note that child-IFDs are append after the current IFD and before the + // next IFD, as opposed to the root IFDs, which are chained together but + // will be interrupted by these child-IFDs (which is expected, per the + // standard). + + for _, childIfdBlock := range childIfdBlocks { + _, err = b.Write(childIfdBlock) + log.PanicIf(err) + } + + ibe.pushToJournal("encodeIfdToBytes", "<", "%s", ib) + + return b.Bytes(), tableSize, dataSize, childIfdSizes, nil +} + +// encodeAndAttachIfd is a reentrant function that processes the IFD chain. +func (ibe *IfdByteEncoder) encodeAndAttachIfd(ib *IfdBuilder, ifdAddressableOffset uint32) (data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ibe.pushToJournal("encodeAndAttachIfd", ">", "%s", ib) + + b := new(bytes.Buffer) + + i := 0 + + for thisIb := ib; thisIb != nil; thisIb = thisIb.nextIb { + + // Do a dry-run in order to pre-determine its size requirement. + + ibe.pushToJournal("encodeAndAttachIfd", ">", "Beginning encoding process: (%d) [%s]", i, thisIb.ifdPath) + + ibe.pushToJournal("encodeAndAttachIfd", ">", "Calculating size: (%d) [%s]", i, thisIb.ifdPath) + + _, tableSize, allocatedDataSize, _, err := ibe.encodeIfdToBytes(thisIb, ifdAddressableOffset, 0, false) + log.PanicIf(err) + + ibe.pushToJournal("encodeAndAttachIfd", "<", "Finished calculating size: (%d) [%s]", i, thisIb.ifdPath) + + ifdAddressableOffset += tableSize + nextIfdOffsetToWrite := ifdAddressableOffset + allocatedDataSize + + ibe.pushToJournal("encodeAndAttachIfd", ">", "Next IFD will be written at offset (0x%08x)", nextIfdOffsetToWrite) + + // Write our IFD as well as any child-IFDs (now that we know the offset + // where new IFDs and their data will be allocated). + + setNextIb := thisIb.nextIb != nil + + ibe.pushToJournal("encodeAndAttachIfd", ">", "Encoding starting: (%d) [%s] NEXT-IFD-OFFSET-TO-WRITE=(0x%08x)", i, thisIb.ifdPath, nextIfdOffsetToWrite) + + tableAndAllocated, effectiveTableSize, effectiveAllocatedDataSize, childIfdSizes, err := + ibe.encodeIfdToBytes(thisIb, ifdAddressableOffset, nextIfdOffsetToWrite, setNextIb) + + log.PanicIf(err) + + if effectiveTableSize != tableSize { + log.Panicf("written table size does not match the pre-calculated table size: (%d) != (%d) %s", effectiveTableSize, tableSize, ib) + } else if effectiveAllocatedDataSize != allocatedDataSize { + log.Panicf("written allocated-data size does not match the pre-calculated allocated-data size: (%d) != (%d) %s", effectiveAllocatedDataSize, allocatedDataSize, ib) + } + + ibe.pushToJournal("encodeAndAttachIfd", "<", "Encoding done: (%d) [%s]", i, thisIb.ifdPath) + + totalChildIfdSize := uint32(0) + for _, childIfdSize := range childIfdSizes { + totalChildIfdSize += childIfdSize + } + + if len(tableAndAllocated) != int(tableSize+allocatedDataSize+totalChildIfdSize) { + log.Panicf("IFD table and data is not a consistent size: (%d) != (%d)", len(tableAndAllocated), tableSize+allocatedDataSize+totalChildIfdSize) + } + + // TODO(dustin): We might want to verify the original tableAndAllocated length, too. + + _, err = b.Write(tableAndAllocated) + log.PanicIf(err) + + // Advance past what we've allocated, thus far. + + ifdAddressableOffset += allocatedDataSize + totalChildIfdSize + + ibe.pushToJournal("encodeAndAttachIfd", "<", "Finishing encoding process: (%d) [%s] [FINAL:] NEXT-IFD-OFFSET-TO-WRITE=(0x%08x)", i, ib.ifdPath, nextIfdOffsetToWrite) + + i++ + } + + ibe.pushToJournal("encodeAndAttachIfd", "<", "%s", ib) + + return b.Bytes(), nil +} + +// EncodeToExifPayload is the base encoding step that transcribes the entire IB +// structure to its on-disk layout. +func (ibe *IfdByteEncoder) EncodeToExifPayload(ib *IfdBuilder) (data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + data, err = ibe.encodeAndAttachIfd(ib, ExifDefaultFirstIfdOffset) + log.PanicIf(err) + + return data, nil +} + +// EncodeToExif calls EncodeToExifPayload and then packages the result into a +// complete EXIF block. +func (ibe *IfdByteEncoder) EncodeToExif(ib *IfdBuilder) (data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + encodedIfds, err := ibe.EncodeToExifPayload(ib) + log.PanicIf(err) + + // Wrap the IFD in a formal EXIF block. + + b := new(bytes.Buffer) + + headerBytes, err := BuildExifHeader(ib.byteOrder, ExifDefaultFirstIfdOffset) + log.PanicIf(err) + + _, err = b.Write(headerBytes) + log.PanicIf(err) + + _, err = b.Write(encodedIfds) + log.PanicIf(err) + + return b.Bytes(), nil +} diff --git a/vendor/github.com/dsoprea/go-exif/ifd_enumerate.go b/vendor/github.com/dsoprea/go-exif/ifd_enumerate.go new file mode 100644 index 000000000..317e847a9 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/ifd_enumerate.go @@ -0,0 +1,1356 @@ +package exif + +import ( + "bytes" + "errors" + "fmt" + "reflect" + "strconv" + "strings" + "time" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + ifdEnumerateLogger = log.NewLogger("exifjpeg.ifd") +) + +var ( + ErrNoThumbnail = errors.New("no thumbnail") + ErrNoGpsTags = errors.New("no gps tags") + ErrTagTypeNotValid = errors.New("tag type invalid") +) + +var ( + ValidGpsVersions = [][4]byte{ + {2, 2, 0, 0}, + + // Suddenly appeared at the default in 2.31: https://home.jeita.or.jp/tsc/std-pdf/CP-3451D.pdf + // + // Note that the presence of 2.3.0.0 doesn't seem to guarantee + // coordinates. In some cases, we seen just the following: + // + // GPS Tag Version |2.3.0.0 + // GPS Receiver Status |V + // Geodetic Survey Data|WGS-84 + // GPS Differential Cor|0 + // + {2, 3, 0, 0}, + } +) + +// IfdTagEnumerator knows how to decode an IFD and all of the tags it +// describes. +// +// The IFDs and the actual values can float throughout the EXIF block, but the +// IFD itself is just a minor header followed by a set of repeating, +// statically-sized records. So, the tags (though notnecessarily their values) +// are fairly simple to enumerate. +type IfdTagEnumerator struct { + byteOrder binary.ByteOrder + addressableData []byte + ifdOffset uint32 + buffer *bytes.Buffer +} + +func NewIfdTagEnumerator(addressableData []byte, byteOrder binary.ByteOrder, ifdOffset uint32) (ite *IfdTagEnumerator) { + ite = &IfdTagEnumerator{ + addressableData: addressableData, + byteOrder: byteOrder, + buffer: bytes.NewBuffer(addressableData[ifdOffset:]), + } + + return ite +} + +// getUint16 reads a uint16 and advances both our current and our current +// accumulator (which allows us to know how far to seek to the beginning of the +// next IFD when it's time to jump). +func (ife *IfdTagEnumerator) getUint16() (value uint16, raw []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + needBytes := 2 + offset := 0 + raw = make([]byte, needBytes) + + for offset < needBytes { + n, err := ife.buffer.Read(raw[offset:]) + log.PanicIf(err) + + offset += n + } + + value = ife.byteOrder.Uint16(raw) + + return value, raw, nil +} + +// getUint32 reads a uint32 and advances both our current and our current +// accumulator (which allows us to know how far to seek to the beginning of the +// next IFD when it's time to jump). +func (ife *IfdTagEnumerator) getUint32() (value uint32, raw []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + needBytes := 4 + offset := 0 + raw = make([]byte, needBytes) + + for offset < needBytes { + n, err := ife.buffer.Read(raw[offset:]) + log.PanicIf(err) + + offset += n + } + + value = ife.byteOrder.Uint32(raw) + + return value, raw, nil +} + +type IfdEnumerate struct { + exifData []byte + buffer *bytes.Buffer + byteOrder binary.ByteOrder + currentOffset uint32 + tagIndex *TagIndex + ifdMapping *IfdMapping +} + +func NewIfdEnumerate(ifdMapping *IfdMapping, tagIndex *TagIndex, exifData []byte, byteOrder binary.ByteOrder) *IfdEnumerate { + return &IfdEnumerate{ + exifData: exifData, + buffer: bytes.NewBuffer(exifData), + byteOrder: byteOrder, + ifdMapping: ifdMapping, + tagIndex: tagIndex, + } +} + +func (ie *IfdEnumerate) getTagEnumerator(ifdOffset uint32) (ite *IfdTagEnumerator) { + ite = NewIfdTagEnumerator( + ie.exifData[ExifAddressableAreaStart:], + ie.byteOrder, + ifdOffset) + + return ite +} + +func (ie *IfdEnumerate) parseTag(fqIfdPath string, tagPosition int, ite *IfdTagEnumerator, resolveValue bool) (tag *IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + tagId, _, err := ite.getUint16() + log.PanicIf(err) + + tagTypeRaw, _, err := ite.getUint16() + log.PanicIf(err) + + tagType := TagTypePrimitive(tagTypeRaw) + + unitCount, _, err := ite.getUint32() + log.PanicIf(err) + + valueOffset, rawValueOffset, err := ite.getUint32() + log.PanicIf(err) + + if _, found := TypeNames[tagType]; found == false { + log.Panic(ErrTagTypeNotValid) + } + + ifdPath, err := ie.ifdMapping.StripPathPhraseIndices(fqIfdPath) + log.PanicIf(err) + + tag = &IfdTagEntry{ + IfdPath: ifdPath, + TagId: tagId, + TagIndex: tagPosition, + TagType: tagType, + UnitCount: unitCount, + ValueOffset: valueOffset, + RawValueOffset: rawValueOffset, + } + + if resolveValue == true { + value, isUnhandledUnknown, err := ie.resolveTagValue(tag) + log.PanicIf(err) + + tag.value = value + tag.isUnhandledUnknown = isUnhandledUnknown + } + + // If it's an IFD but not a standard one, it'll just be seen as a LONG + // (the standard IFD tag type), later, unless we skip it because it's + // [likely] not even in the standard list of known tags. + mi, err := ie.ifdMapping.GetChild(ifdPath, tagId) + if err == nil { + tag.ChildIfdName = mi.Name + tag.ChildIfdPath = mi.PathPhrase() + tag.ChildFqIfdPath = fmt.Sprintf("%s/%s", fqIfdPath, mi.Name) + + // We also need to set `tag.ChildFqIfdPath` but can't do it here + // because we don't have the IFD index. + } else if log.Is(err, ErrChildIfdNotMapped) == false { + log.Panic(err) + } + + return tag, nil +} + +func (ie *IfdEnumerate) GetValueContext(ite *IfdTagEntry) *ValueContext { + + // TODO(dustin): Add test + + addressableData := ie.exifData[ExifAddressableAreaStart:] + + return newValueContextFromTag( + ite, + addressableData, + ie.byteOrder) +} + +func (ie *IfdEnumerate) resolveTagValue(ite *IfdTagEntry) (valueBytes []byte, isUnhandledUnknown bool, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + addressableData := ie.exifData[ExifAddressableAreaStart:] + + // Return the exact bytes of the unknown-type value. Returning a string + // (`ValueString`) is easy because we can just pass everything to + // `Sprintf()`. Returning the raw, typed value (`Value`) is easy + // (obviously). However, here, in order to produce the list of bytes, we + // need to coerce whatever `Undefined()` returns. + if ite.TagType == TypeUndefined { + valueContext := ie.GetValueContext(ite) + + value, err := valueContext.Undefined() + if err != nil { + if err == ErrUnhandledUnknownTypedTag { + valueBytes = []byte(UnparseableUnknownTagValuePlaceholder) + return valueBytes, true, nil + } + + log.Panic(err) + } else { + switch value.(type) { + case []byte: + return value.([]byte), false, nil + case TagUnknownType_UnknownValue: + b := []byte(value.(TagUnknownType_UnknownValue)) + return b, false, nil + case string: + return []byte(value.(string)), false, nil + case UnknownTagValue: + valueBytes, err := value.(UnknownTagValue).ValueBytes() + log.PanicIf(err) + + return valueBytes, false, nil + default: + // TODO(dustin): !! Finish translating the rest of the types (make reusable and replace into other similar implementations?) + log.Panicf("can not produce bytes for unknown-type tag (0x%04x) (1): [%s]", ite.TagId, reflect.TypeOf(value)) + } + } + } else { + originalType := NewTagType(ite.TagType, ie.byteOrder) + byteCount := uint32(originalType.Type().Size()) * ite.UnitCount + + tt := NewTagType(TypeByte, ie.byteOrder) + + if tt.valueIsEmbedded(byteCount) == true { + iteLogger.Debugf(nil, "Reading BYTE value (ITE; embedded).") + + // In this case, the bytes normally used for the offset are actually + // data. + valueBytes, err = tt.ParseBytes(ite.RawValueOffset, byteCount) + log.PanicIf(err) + } else { + iteLogger.Debugf(nil, "Reading BYTE value (ITE; at offset).") + + valueBytes, err = tt.ParseBytes(addressableData[ite.ValueOffset:], byteCount) + log.PanicIf(err) + } + } + + return valueBytes, false, nil +} + +// RawTagVisitorPtr is an optional callback that can get hit for every tag we parse +// through. `addressableData` is the byte array startign after the EXIF header +// (where the offsets of all IFDs and values are calculated from). +// +// This was reimplemented as an interface to allow for simpler change management +// in the future. +type RawTagWalk interface { + Visit(fqIfdPath string, ifdIndex int, tagId uint16, tagType TagType, valueContext *ValueContext) (err error) +} + +type RawTagWalkLegacyWrapper struct { + legacyVisitor RawTagVisitor +} + +func (rtwlw RawTagWalkLegacyWrapper) Visit(fqIfdPath string, ifdIndex int, tagId uint16, tagType TagType, valueContext *ValueContext) (err error) { + return rtwlw.legacyVisitor(fqIfdPath, ifdIndex, tagId, tagType, *valueContext) +} + +// RawTagVisitor is an optional callback that can get hit for every tag we parse +// through. `addressableData` is the byte array startign after the EXIF header +// (where the offsets of all IFDs and values are calculated from). +// +// DEPRECATED(dustin): Use a RawTagWalk instead. +type RawTagVisitor func(fqIfdPath string, ifdIndex int, tagId uint16, tagType TagType, valueContext ValueContext) (err error) + +// ParseIfd decodes the IFD block that we're currently sitting on the first +// byte of. +func (ie *IfdEnumerate) ParseIfd(fqIfdPath string, ifdIndex int, ite *IfdTagEnumerator, visitor interface{}, doDescend bool, resolveValues bool) (nextIfdOffset uint32, entries []*IfdTagEntry, thumbnailData []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + var visitorWrapper RawTagWalk + + if visitor != nil { + var ok bool + + visitorWrapper, ok = visitor.(RawTagWalk) + if ok == false { + // Legacy usage. + + // `ok` can be `true` but `legacyVisitor` can still be `nil` (when + // passed as nil). + if legacyVisitor, ok := visitor.(RawTagVisitor); ok == true && legacyVisitor != nil { + visitorWrapper = RawTagWalkLegacyWrapper{ + legacyVisitor: legacyVisitor, + } + } + } + } + + tagCount, _, err := ite.getUint16() + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Current IFD tag-count: (%d)", tagCount) + + entries = make([]*IfdTagEntry, 0) + + var iteThumbnailOffset *IfdTagEntry + var iteThumbnailSize *IfdTagEntry + + for i := 0; i < int(tagCount); i++ { + tag, err := ie.parseTag(fqIfdPath, i, ite, resolveValues) + if err != nil { + if log.Is(err, ErrTagTypeNotValid) == true { + ifdEnumerateLogger.Warningf(nil, "Tag in IFD [%s] at position (%d) has invalid type and will be skipped.", fqIfdPath, i) + continue + } + + log.Panic(err) + } + + if tag.TagId == ThumbnailOffsetTagId { + iteThumbnailOffset = tag + + continue + } else if tag.TagId == ThumbnailSizeTagId { + iteThumbnailSize = tag + continue + } + + if visitorWrapper != nil { + tt := NewTagType(tag.TagType, ie.byteOrder) + + valueContext := ie.GetValueContext(tag) + + err := visitorWrapper.Visit(fqIfdPath, ifdIndex, tag.TagId, tt, valueContext) + log.PanicIf(err) + } + + // If it's an IFD but not a standard one, it'll just be seen as a LONG + // (the standard IFD tag type), later, unless we skip it because it's + // [likely] not even in the standard list of known tags. + if tag.ChildIfdPath != "" { + if doDescend == true { + ifdEnumerateLogger.Debugf(nil, "Descending to IFD [%s].", tag.ChildIfdPath) + + err := ie.scan(tag.ChildFqIfdPath, tag.ValueOffset, visitor, resolveValues) + log.PanicIf(err) + } + } + + entries = append(entries, tag) + } + + if iteThumbnailOffset != nil && iteThumbnailSize != nil { + thumbnailData, err = ie.parseThumbnail(iteThumbnailOffset, iteThumbnailSize) + log.PanicIf(err) + } + + nextIfdOffset, _, err = ite.getUint32() + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Next IFD at offset: (%08x)", nextIfdOffset) + + return nextIfdOffset, entries, thumbnailData, nil +} + +func (ie *IfdEnumerate) parseThumbnail(offsetIte, lengthIte *IfdTagEntry) (thumbnailData []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + addressableData := ie.exifData[ExifAddressableAreaStart:] + + vRaw, err := lengthIte.Value(addressableData, ie.byteOrder) + log.PanicIf(err) + + vList := vRaw.([]uint32) + if len(vList) != 1 { + log.Panicf("not exactly one long: (%d)", len(vList)) + } + + length := vList[0] + + // The tag is official a LONG type, but it's actually an offset to a blob of bytes. + offsetIte.TagType = TypeByte + offsetIte.UnitCount = length + + thumbnailData, err = offsetIte.ValueBytes(addressableData, ie.byteOrder) + log.PanicIf(err) + + return thumbnailData, nil +} + +// Scan enumerates the different EXIF's IFD blocks. +func (ie *IfdEnumerate) scan(fqIfdName string, ifdOffset uint32, visitor interface{}, resolveValues bool) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for ifdIndex := 0; ; ifdIndex++ { + ifdEnumerateLogger.Debugf(nil, "Parsing IFD [%s] (%d) at offset (%04x).", fqIfdName, ifdIndex, ifdOffset) + ite := ie.getTagEnumerator(ifdOffset) + + nextIfdOffset, _, _, err := ie.ParseIfd(fqIfdName, ifdIndex, ite, visitor, true, resolveValues) + log.PanicIf(err) + + if nextIfdOffset == 0 { + break + } + + ifdOffset = nextIfdOffset + } + + return nil +} + +// Scan enumerates the different EXIF blocks (called IFDs). `rootIfdName` will +// be "IFD" in the TIFF standard. +func (ie *IfdEnumerate) Scan(rootIfdName string, ifdOffset uint32, visitor RawTagVisitor, resolveValue bool) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = ie.scan(rootIfdName, ifdOffset, visitor, resolveValue) + log.PanicIf(err) + + return nil +} + +// Ifd represents a single parsed IFD. +type Ifd struct { + + // TODO(dustin): !! Why are all of these public? Privatize them and then add NextIfd(). + + // This is just for convenience, just so that we can easily get the values + // and not involve other projects in semantics that they won't otherwise + // need to know. + addressableData []byte + + ByteOrder binary.ByteOrder + + // Name is the name of the IFD (the rightmost name in the path, sans any + // indices). + Name string + + // IfdPath is a simple IFD path (e.g. IFD/GPSInfo). No indices. + IfdPath string + + // FqIfdPath is a fully-qualified IFD path (e.g. IFD0/GPSInfo0). With + // indices. + FqIfdPath string + + TagId uint16 + + Id int + + ParentIfd *Ifd + + // ParentTagIndex is our tag position in the parent IFD, if we had a parent + // (if `ParentIfd` is not nil and we weren't an IFD referenced as a sibling + // instead of as a child). + ParentTagIndex int + + // Name string + Index int + Offset uint32 + + Entries []*IfdTagEntry + EntriesByTagId map[uint16][]*IfdTagEntry + + Children []*Ifd + + ChildIfdIndex map[string]*Ifd + + NextIfdOffset uint32 + NextIfd *Ifd + + thumbnailData []byte + + ifdMapping *IfdMapping + tagIndex *TagIndex +} + +func (ifd *Ifd) ChildWithIfdPath(ifdPath string) (childIfd *Ifd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for _, childIfd := range ifd.Children { + if childIfd.IfdPath == ifdPath { + return childIfd, nil + } + } + + log.Panic(ErrTagNotFound) + return nil, nil +} + +func (ifd *Ifd) TagValue(ite *IfdTagEntry) (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + value, err = ite.Value(ifd.addressableData, ifd.ByteOrder) + log.PanicIf(err) + + return value, nil +} + +func (ifd *Ifd) TagValueBytes(ite *IfdTagEntry) (value []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + value, err = ite.ValueBytes(ifd.addressableData, ifd.ByteOrder) + log.PanicIf(err) + + return value, nil +} + +// FindTagWithId returns a list of tags (usually just zero or one) that match +// the given tag ID. This is efficient. +func (ifd *Ifd) FindTagWithId(tagId uint16) (results []*IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + results, found := ifd.EntriesByTagId[tagId] + if found != true { + log.Panic(ErrTagNotFound) + } + + return results, nil +} + +// FindTagWithName returns a list of tags (usually just zero or one) that match +// the given tag name. This is not efficient (though the labor is trivial). +func (ifd *Ifd) FindTagWithName(tagName string) (results []*IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + it, err := ifd.tagIndex.GetWithName(ifd.IfdPath, tagName) + if log.Is(err, ErrTagNotFound) == true { + log.Panic(ErrTagNotStandard) + } else if err != nil { + log.Panic(err) + } + + results = make([]*IfdTagEntry, 0) + for _, ite := range ifd.Entries { + if ite.TagId == it.Id { + results = append(results, ite) + } + } + + if len(results) == 0 { + log.Panic(ErrTagNotFound) + } + + return results, nil +} + +func (ifd Ifd) String() string { + parentOffset := uint32(0) + if ifd.ParentIfd != nil { + parentOffset = ifd.ParentIfd.Offset + } + + return fmt.Sprintf("Ifd", ifd.Id, ifd.IfdPath, ifd.Index, len(ifd.Entries), ifd.Offset, len(ifd.Children), parentOffset, ifd.NextIfdOffset) +} + +func (ifd *Ifd) Thumbnail() (data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if ifd.thumbnailData == nil { + log.Panic(ErrNoThumbnail) + } + + return ifd.thumbnailData, nil +} + +func (ifd *Ifd) dumpTags(tags []*IfdTagEntry) []*IfdTagEntry { + if tags == nil { + tags = make([]*IfdTagEntry, 0) + } + + // Now, print the tags while also descending to child-IFDS as we encounter them. + + ifdsFoundCount := 0 + + for _, tag := range ifd.Entries { + tags = append(tags, tag) + + if tag.ChildIfdPath != "" { + ifdsFoundCount++ + + childIfd, found := ifd.ChildIfdIndex[tag.ChildIfdPath] + if found != true { + log.Panicf("alien child IFD referenced by a tag: [%s]", tag.ChildIfdPath) + } + + tags = childIfd.dumpTags(tags) + } + } + + if len(ifd.Children) != ifdsFoundCount { + log.Panicf("have one or more dangling child IFDs: (%d) != (%d)", len(ifd.Children), ifdsFoundCount) + } + + if ifd.NextIfd != nil { + tags = ifd.NextIfd.dumpTags(tags) + } + + return tags +} + +// DumpTags prints the IFD hierarchy. +func (ifd *Ifd) DumpTags() []*IfdTagEntry { + return ifd.dumpTags(nil) +} + +func (ifd *Ifd) printTagTree(populateValues bool, index, level int, nextLink bool) { + indent := strings.Repeat(" ", level*2) + + prefix := " " + if nextLink { + prefix = ">" + } + + fmt.Printf("%s%sIFD: %s\n", indent, prefix, ifd) + + // Now, print the tags while also descending to child-IFDS as we encounter them. + + ifdsFoundCount := 0 + + for _, tag := range ifd.Entries { + if tag.ChildIfdPath != "" { + fmt.Printf("%s - TAG: %s\n", indent, tag) + } else { + it, err := ifd.tagIndex.Get(ifd.IfdPath, tag.TagId) + + tagName := "" + if err == nil { + tagName = it.Name + } + + var value interface{} + if populateValues == true { + var err error + + value, err = ifd.TagValue(tag) + if err != nil { + if err == ErrUnhandledUnknownTypedTag { + value = UnparseableUnknownTagValuePlaceholder + } else { + log.Panic(err) + } + } + } + + fmt.Printf("%s - TAG: %s NAME=[%s] VALUE=[%v]\n", indent, tag, tagName, value) + } + + if tag.ChildIfdPath != "" { + ifdsFoundCount++ + + childIfd, found := ifd.ChildIfdIndex[tag.ChildIfdPath] + if found != true { + log.Panicf("alien child IFD referenced by a tag: [%s]", tag.ChildIfdPath) + } + + childIfd.printTagTree(populateValues, 0, level+1, false) + } + } + + if len(ifd.Children) != ifdsFoundCount { + log.Panicf("have one or more dangling child IFDs: (%d) != (%d)", len(ifd.Children), ifdsFoundCount) + } + + if ifd.NextIfd != nil { + ifd.NextIfd.printTagTree(populateValues, index+1, level, true) + } +} + +// PrintTagTree prints the IFD hierarchy. +func (ifd *Ifd) PrintTagTree(populateValues bool) { + ifd.printTagTree(populateValues, 0, 0, false) +} + +func (ifd *Ifd) printIfdTree(level int, nextLink bool) { + indent := strings.Repeat(" ", level*2) + + prefix := " " + if nextLink { + prefix = ">" + } + + fmt.Printf("%s%s%s\n", indent, prefix, ifd) + + // Now, print the tags while also descending to child-IFDS as we encounter them. + + ifdsFoundCount := 0 + + for _, tag := range ifd.Entries { + if tag.ChildIfdPath != "" { + ifdsFoundCount++ + + childIfd, found := ifd.ChildIfdIndex[tag.ChildIfdPath] + if found != true { + log.Panicf("alien child IFD referenced by a tag: [%s]", tag.ChildIfdPath) + } + + childIfd.printIfdTree(level+1, false) + } + } + + if len(ifd.Children) != ifdsFoundCount { + log.Panicf("have one or more dangling child IFDs: (%d) != (%d)", len(ifd.Children), ifdsFoundCount) + } + + if ifd.NextIfd != nil { + ifd.NextIfd.printIfdTree(level, true) + } +} + +// PrintIfdTree prints the IFD hierarchy. +func (ifd *Ifd) PrintIfdTree() { + ifd.printIfdTree(0, false) +} + +func (ifd *Ifd) dumpTree(tagsDump []string, level int) []string { + if tagsDump == nil { + tagsDump = make([]string, 0) + } + + indent := strings.Repeat(" ", level*2) + + var ifdPhrase string + if ifd.ParentIfd != nil { + ifdPhrase = fmt.Sprintf("[%s]->[%s]:(%d)", ifd.ParentIfd.IfdPath, ifd.IfdPath, ifd.Index) + } else { + ifdPhrase = fmt.Sprintf("[ROOT]->[%s]:(%d)", ifd.IfdPath, ifd.Index) + } + + startBlurb := fmt.Sprintf("%s> IFD %s TOP", indent, ifdPhrase) + tagsDump = append(tagsDump, startBlurb) + + ifdsFoundCount := 0 + for _, tag := range ifd.Entries { + tagsDump = append(tagsDump, fmt.Sprintf("%s - (0x%04x)", indent, tag.TagId)) + + if tag.ChildIfdPath != "" { + ifdsFoundCount++ + + childIfd, found := ifd.ChildIfdIndex[tag.ChildIfdPath] + if found != true { + log.Panicf("alien child IFD referenced by a tag: [%s]", tag.ChildIfdPath) + } + + tagsDump = childIfd.dumpTree(tagsDump, level+1) + } + } + + if len(ifd.Children) != ifdsFoundCount { + log.Panicf("have one or more dangling child IFDs: (%d) != (%d)", len(ifd.Children), ifdsFoundCount) + } + + finishBlurb := fmt.Sprintf("%s< IFD %s BOTTOM", indent, ifdPhrase) + tagsDump = append(tagsDump, finishBlurb) + + if ifd.NextIfd != nil { + siblingBlurb := fmt.Sprintf("%s* LINKING TO SIBLING IFD [%s]:(%d)", indent, ifd.NextIfd.IfdPath, ifd.NextIfd.Index) + tagsDump = append(tagsDump, siblingBlurb) + + tagsDump = ifd.NextIfd.dumpTree(tagsDump, level) + } + + return tagsDump +} + +// DumpTree returns a list of strings describing the IFD hierarchy. +func (ifd *Ifd) DumpTree() []string { + return ifd.dumpTree(nil, 0) +} + +// GpsInfo parses and consolidates the GPS info. This can only be called on the +// GPS IFD. +func (ifd *Ifd) GpsInfo() (gi *GpsInfo, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Also add functionality to update the GPS info. + + gi = new(GpsInfo) + + if ifd.IfdPath != IfdPathStandardGps { + log.Panicf("GPS can only be read on GPS IFD: [%s] != [%s]", ifd.IfdPath, IfdPathStandardGps) + } + + if tags, found := ifd.EntriesByTagId[TagVersionId]; found == false { + // We've seen this. We'll just have to default to assuming we're in a + // 2.2.0.0 format. + ifdEnumerateLogger.Warningf(nil, "No GPS version tag (0x%04x) found.", TagVersionId) + } else { + hit := false + for _, acceptedGpsVersion := range ValidGpsVersions { + if bytes.Compare(tags[0].value, acceptedGpsVersion[:]) == 0 { + hit = true + break + } + } + + if hit != true { + ifdEnumerateLogger.Warningf(nil, "GPS version not supported: %v", tags[0].value) + log.Panic(ErrNoGpsTags) + } + } + + tags, found := ifd.EntriesByTagId[TagLatitudeId] + if found == false { + ifdEnumerateLogger.Warningf(nil, "latitude not found") + log.Panic(ErrNoGpsTags) + } + + latitudeValue, err := ifd.TagValue(tags[0]) + log.PanicIf(err) + + // Look for whether North or South. + tags, found = ifd.EntriesByTagId[TagLatitudeRefId] + if found == false { + ifdEnumerateLogger.Warningf(nil, "latitude-ref not found") + log.Panic(ErrNoGpsTags) + } + + latitudeRefValue, err := ifd.TagValue(tags[0]) + log.PanicIf(err) + + tags, found = ifd.EntriesByTagId[TagLongitudeId] + if found == false { + ifdEnumerateLogger.Warningf(nil, "longitude not found") + log.Panic(ErrNoGpsTags) + } + + longitudeValue, err := ifd.TagValue(tags[0]) + log.PanicIf(err) + + // Look for whether West or East. + tags, found = ifd.EntriesByTagId[TagLongitudeRefId] + if found == false { + ifdEnumerateLogger.Warningf(nil, "longitude-ref not found") + log.Panic(ErrNoGpsTags) + } + + longitudeRefValue, err := ifd.TagValue(tags[0]) + log.PanicIf(err) + + // Parse location. + + latitudeRaw := latitudeValue.([]Rational) + + gi.Latitude = GpsDegrees{ + Orientation: latitudeRefValue.(string)[0], + Degrees: float64(latitudeRaw[0].Numerator) / float64(latitudeRaw[0].Denominator), + Minutes: float64(latitudeRaw[1].Numerator) / float64(latitudeRaw[1].Denominator), + Seconds: float64(latitudeRaw[2].Numerator) / float64(latitudeRaw[2].Denominator), + } + + longitudeRaw := longitudeValue.([]Rational) + + gi.Longitude = GpsDegrees{ + Orientation: longitudeRefValue.(string)[0], + Degrees: float64(longitudeRaw[0].Numerator) / float64(longitudeRaw[0].Denominator), + Minutes: float64(longitudeRaw[1].Numerator) / float64(longitudeRaw[1].Denominator), + Seconds: float64(longitudeRaw[2].Numerator) / float64(longitudeRaw[2].Denominator), + } + + // Parse altitude. + + altitudeTags, foundAltitude := ifd.EntriesByTagId[TagAltitudeId] + altitudeRefTags, foundAltitudeRef := ifd.EntriesByTagId[TagAltitudeRefId] + + if foundAltitude == true && foundAltitudeRef == true { + altitudeValue, err := ifd.TagValue(altitudeTags[0]) + log.PanicIf(err) + + altitudeRefValue, err := ifd.TagValue(altitudeRefTags[0]) + log.PanicIf(err) + + altitudeRaw := altitudeValue.([]Rational) + altitude := int(altitudeRaw[0].Numerator / altitudeRaw[0].Denominator) + if altitudeRefValue.([]byte)[0] == 1 { + altitude *= -1 + } + + gi.Altitude = altitude + } + + // Parse time. + + timestampTags, foundTimestamp := ifd.EntriesByTagId[TagTimestampId] + datestampTags, foundDatestamp := ifd.EntriesByTagId[TagDatestampId] + + if foundTimestamp == true && foundDatestamp == true { + datestampValue, err := ifd.TagValue(datestampTags[0]) + log.PanicIf(err) + + dateParts := strings.Split(datestampValue.(string), ":") + + year, err1 := strconv.ParseUint(dateParts[0], 10, 16) + month, err2 := strconv.ParseUint(dateParts[1], 10, 8) + day, err3 := strconv.ParseUint(dateParts[2], 10, 8) + + if err1 == nil && err2 == nil && err3 == nil { + timestampValue, err := ifd.TagValue(timestampTags[0]) + log.PanicIf(err) + + timestampRaw := timestampValue.([]Rational) + + hour := int(timestampRaw[0].Numerator / timestampRaw[0].Denominator) + minute := int(timestampRaw[1].Numerator / timestampRaw[1].Denominator) + second := int(timestampRaw[2].Numerator / timestampRaw[2].Denominator) + + gi.Timestamp = time.Date(int(year), time.Month(month), int(day), hour, minute, second, 0, time.UTC) + } + } + + return gi, nil +} + +type ParsedTagVisitor func(*Ifd, *IfdTagEntry) error + +func (ifd *Ifd) EnumerateTagsRecursively(visitor ParsedTagVisitor) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for ptr := ifd; ptr != nil; ptr = ptr.NextIfd { + for _, ite := range ifd.Entries { + if ite.ChildIfdPath != "" { + childIfd := ifd.ChildIfdIndex[ite.ChildIfdPath] + + err := childIfd.EnumerateTagsRecursively(visitor) + log.PanicIf(err) + } else { + err := visitor(ifd, ite) + log.PanicIf(err) + } + } + } + + return nil +} + +func (ifd *Ifd) GetValueContext(ite *IfdTagEntry) *ValueContext { + return newValueContextFromTag( + ite, + ifd.addressableData, + ifd.ByteOrder) +} + +type QueuedIfd struct { + Name string + IfdPath string + FqIfdPath string + + TagId uint16 + + Index int + Offset uint32 + Parent *Ifd + + // ParentTagIndex is our tag position in the parent IFD, if we had a parent + // (if `ParentIfd` is not nil and we weren't an IFD referenced as a sibling + // instead of as a child). + ParentTagIndex int +} + +type IfdIndex struct { + RootIfd *Ifd + Ifds []*Ifd + Tree map[int]*Ifd + Lookup map[string][]*Ifd +} + +// Scan enumerates the different EXIF blocks (called IFDs). +func (ie *IfdEnumerate) Collect(rootIfdOffset uint32, resolveValues bool) (index IfdIndex, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + tree := make(map[int]*Ifd) + ifds := make([]*Ifd, 0) + lookup := make(map[string][]*Ifd) + + queue := []QueuedIfd{ + { + Name: IfdStandard, + IfdPath: IfdStandard, + FqIfdPath: IfdStandard, + + TagId: 0xffff, + + Index: 0, + Offset: rootIfdOffset, + }, + } + + edges := make(map[uint32]*Ifd) + + for { + if len(queue) == 0 { + break + } + + qi := queue[0] + + name := qi.Name + ifdPath := qi.IfdPath + fqIfdPath := qi.FqIfdPath + + index := qi.Index + offset := qi.Offset + parentIfd := qi.Parent + + queue = queue[1:] + + ifdEnumerateLogger.Debugf(nil, "Parsing IFD [%s] (%d) at offset (%04x).", ifdPath, index, offset) + ite := ie.getTagEnumerator(offset) + + nextIfdOffset, entries, thumbnailData, err := ie.ParseIfd(fqIfdPath, index, ite, nil, false, resolveValues) + log.PanicIf(err) + + id := len(ifds) + + entriesByTagId := make(map[uint16][]*IfdTagEntry) + for _, tag := range entries { + tags, found := entriesByTagId[tag.TagId] + if found == false { + tags = make([]*IfdTagEntry, 0) + } + + entriesByTagId[tag.TagId] = append(tags, tag) + } + + ifd := &Ifd{ + addressableData: ie.exifData[ExifAddressableAreaStart:], + + ByteOrder: ie.byteOrder, + + Name: name, + IfdPath: ifdPath, + FqIfdPath: fqIfdPath, + + TagId: qi.TagId, + + Id: id, + + ParentIfd: parentIfd, + ParentTagIndex: qi.ParentTagIndex, + + Index: index, + Offset: offset, + Entries: entries, + EntriesByTagId: entriesByTagId, + + // This is populated as each child is processed. + Children: make([]*Ifd, 0), + + NextIfdOffset: nextIfdOffset, + thumbnailData: thumbnailData, + + ifdMapping: ie.ifdMapping, + tagIndex: ie.tagIndex, + } + + // Add ourselves to a big list of IFDs. + ifds = append(ifds, ifd) + + // Install ourselves into a by-id lookup table (keys are unique). + tree[id] = ifd + + // Install into by-name buckets. + + if list_, found := lookup[ifdPath]; found == true { + lookup[ifdPath] = append(list_, ifd) + } else { + list_ = make([]*Ifd, 1) + list_[0] = ifd + + lookup[ifdPath] = list_ + } + + // Add a link from the previous IFD in the chain to us. + if previousIfd, found := edges[offset]; found == true { + previousIfd.NextIfd = ifd + } + + // Attach as a child to our parent (where we appeared as a tag in + // that IFD). + if parentIfd != nil { + parentIfd.Children = append(parentIfd.Children, ifd) + } + + // Determine if any of our entries is a child IFD and queue it. + for i, entry := range entries { + if entry.ChildIfdPath == "" { + continue + } + + qi := QueuedIfd{ + Name: entry.ChildIfdName, + IfdPath: entry.ChildIfdPath, + FqIfdPath: entry.ChildFqIfdPath, + TagId: entry.TagId, + + Index: 0, + Offset: entry.ValueOffset, + Parent: ifd, + ParentTagIndex: i, + } + + queue = append(queue, qi) + } + + // If there's another IFD in the chain. + if nextIfdOffset != 0 { + // Allow the next link to know what the previous link was. + edges[nextIfdOffset] = ifd + + siblingIndex := index + 1 + + var fqIfdPath string + if parentIfd != nil { + fqIfdPath = fmt.Sprintf("%s/%s%d", parentIfd.FqIfdPath, name, siblingIndex) + } else { + fqIfdPath = fmt.Sprintf("%s%d", name, siblingIndex) + } + + qi := QueuedIfd{ + Name: name, + IfdPath: ifdPath, + FqIfdPath: fqIfdPath, + TagId: 0xffff, + Index: siblingIndex, + Offset: nextIfdOffset, + } + + queue = append(queue, qi) + } + } + + index.RootIfd = tree[0] + index.Ifds = ifds + index.Tree = tree + index.Lookup = lookup + + err = ie.setChildrenIndex(index.RootIfd) + log.PanicIf(err) + + return index, nil +} + +func (ie *IfdEnumerate) setChildrenIndex(ifd *Ifd) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + childIfdIndex := make(map[string]*Ifd) + for _, childIfd := range ifd.Children { + childIfdIndex[childIfd.IfdPath] = childIfd + } + + ifd.ChildIfdIndex = childIfdIndex + + for _, childIfd := range ifd.Children { + err := ie.setChildrenIndex(childIfd) + log.PanicIf(err) + } + + return nil +} + +// ParseOneIfd is a hack to use an IE to parse a raw IFD block. Can be used for +// testing. +func ParseOneIfd(ifdMapping *IfdMapping, tagIndex *TagIndex, fqIfdPath, ifdPath string, byteOrder binary.ByteOrder, ifdBlock []byte, visitor RawTagVisitor, resolveValues bool) (nextIfdOffset uint32, entries []*IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ie := NewIfdEnumerate(ifdMapping, tagIndex, make([]byte, 0), byteOrder) + ite := NewIfdTagEnumerator(ifdBlock, byteOrder, 0) + + nextIfdOffset, entries, _, err = ie.ParseIfd(fqIfdPath, 0, ite, visitor, true, resolveValues) + log.PanicIf(err) + + return nextIfdOffset, entries, nil +} + +// ParseOneTag is a hack to use an IE to parse a raw tag block. +func ParseOneTag(ifdMapping *IfdMapping, tagIndex *TagIndex, fqIfdPath, ifdPath string, byteOrder binary.ByteOrder, tagBlock []byte, resolveValue bool) (tag *IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ie := NewIfdEnumerate(ifdMapping, tagIndex, make([]byte, 0), byteOrder) + ite := NewIfdTagEnumerator(tagBlock, byteOrder, 0) + + tag, err = ie.parseTag(fqIfdPath, 0, ite, resolveValue) + log.PanicIf(err) + + return tag, nil +} + +func FindIfdFromRootIfd(rootIfd *Ifd, ifdPath string) (ifd *Ifd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test. + + lineage, err := rootIfd.ifdMapping.ResolvePath(ifdPath) + log.PanicIf(err) + + // Confirm the first IFD is our root IFD type, and then prune it because + // from then on we'll be searching down through our children. + + if len(lineage) == 0 { + log.Panicf("IFD path must be non-empty.") + } else if lineage[0].Name != IfdStandard { + log.Panicf("First IFD path item must be [%s].", IfdStandard) + } + + desiredRootIndex := lineage[0].Index + lineage = lineage[1:] + + // TODO(dustin): !! This is a poorly conceived fix that just doubles the work we already have to do below, which then interacts badly with the indices not being properly represented in the IFD-phrase. + // TODO(dustin): !! <-- However, we're not sure whether we shouldn't store a secondary IFD-path with the indices. Some IFDs may not necessarily restrict which IFD indices they can be a child of (only the IFD itself matters). Validation should be delegated to the caller. + thisIfd := rootIfd + for currentRootIndex := 0; currentRootIndex < desiredRootIndex; currentRootIndex++ { + if thisIfd.NextIfd == nil { + log.Panicf("Root-IFD index (%d) does not exist in the data.", currentRootIndex) + } + + thisIfd = thisIfd.NextIfd + } + + for i, itii := range lineage { + var hit *Ifd + for _, childIfd := range thisIfd.Children { + if childIfd.TagId == itii.TagId { + hit = childIfd + break + } + } + + // If we didn't find the child, add it. + if hit == nil { + log.Panicf("IFD [%s] in [%s] not found: %s", itii.Name, ifdPath, thisIfd.Children) + } + + thisIfd = hit + + // If we didn't find the sibling, add it. + for i = 0; i < itii.Index; i++ { + if thisIfd.NextIfd == nil { + log.Panicf("IFD [%s] does not have (%d) occurrences/siblings\n", thisIfd.IfdPath, itii.Index) + } + + thisIfd = thisIfd.NextIfd + } + } + + return thisIfd, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/ifd_tag_entry.go b/vendor/github.com/dsoprea/go-exif/ifd_tag_entry.go new file mode 100644 index 000000000..59e79ccf7 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/ifd_tag_entry.go @@ -0,0 +1,233 @@ +package exif + +import ( + "fmt" + "reflect" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + iteLogger = log.NewLogger("exif.ifd_tag_entry") +) + +type IfdTagEntry struct { + TagId uint16 + TagIndex int + TagType TagTypePrimitive + UnitCount uint32 + ValueOffset uint32 + RawValueOffset []byte + + // ChildIfdName is the right most atom in the IFD-path. We need this to + // construct the fully-qualified IFD-path. + ChildIfdName string + + // ChildIfdPath is the IFD-path of the child if this tag represents a child + // IFD. + ChildIfdPath string + + // ChildFqIfdPath is the IFD-path of the child if this tag represents a + // child IFD. Includes indices. + ChildFqIfdPath string + + // TODO(dustin): !! IB's host the child-IBs directly in the tag, but that's not the case here. Refactor to accomodate it for a consistent experience. + + // IfdPath is the IFD that this tag belongs to. + IfdPath string + + // TODO(dustin): !! We now parse and read the value immediately. Update the rest of the logic to use this and get rid of all of the staggered and different resolution mechanisms. + value []byte + isUnhandledUnknown bool +} + +func (ite *IfdTagEntry) String() string { + return fmt.Sprintf("IfdTagEntry", ite.IfdPath, ite.TagId, TypeNames[ite.TagType], ite.UnitCount) +} + +// TODO(dustin): TODO(dustin): Stop exporting IfdPath and TagId. +// +// func (ite *IfdTagEntry) IfdPath() string { +// return ite.IfdPath +// } + +// TODO(dustin): TODO(dustin): Stop exporting IfdPath and TagId. +// +// func (ite *IfdTagEntry) TagId() uint16 { +// return ite.TagId +// } + +// ValueString renders a string from whatever the value in this tag is. +func (ite *IfdTagEntry) ValueString(addressableData []byte, byteOrder binary.ByteOrder) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext := + newValueContextFromTag( + ite, + addressableData, + byteOrder) + + if ite.TagType == TypeUndefined { + valueRaw, err := valueContext.Undefined() + log.PanicIf(err) + + value = fmt.Sprintf("%v", valueRaw) + } else { + value, err = valueContext.Format() + log.PanicIf(err) + } + + return value, nil +} + +// ValueBytes renders a specific list of bytes from the value in this tag. +func (ite *IfdTagEntry) ValueBytes(addressableData []byte, byteOrder binary.ByteOrder) (value []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Return the exact bytes of the unknown-type value. Returning a string + // (`ValueString`) is easy because we can just pass everything to + // `Sprintf()`. Returning the raw, typed value (`Value`) is easy + // (obviously). However, here, in order to produce the list of bytes, we + // need to coerce whatever `Undefined()` returns. + if ite.TagType == TypeUndefined { + valueContext := + newValueContextFromTag( + ite, + addressableData, + byteOrder) + + value, err := valueContext.Undefined() + log.PanicIf(err) + + switch value.(type) { + case []byte: + return value.([]byte), nil + case TagUnknownType_UnknownValue: + b := []byte(value.(TagUnknownType_UnknownValue)) + return b, nil + case string: + return []byte(value.(string)), nil + case UnknownTagValue: + valueBytes, err := value.(UnknownTagValue).ValueBytes() + log.PanicIf(err) + + return valueBytes, nil + default: + // TODO(dustin): !! Finish translating the rest of the types (make reusable and replace into other similar implementations?) + log.Panicf("can not produce bytes for unknown-type tag (0x%04x) (2): [%s]", ite.TagId, reflect.TypeOf(value)) + } + } + + originalType := NewTagType(ite.TagType, byteOrder) + byteCount := uint32(originalType.Type().Size()) * ite.UnitCount + + tt := NewTagType(TypeByte, byteOrder) + + if tt.valueIsEmbedded(byteCount) == true { + iteLogger.Debugf(nil, "Reading BYTE value (ITE; embedded).") + + // In this case, the bytes normally used for the offset are actually + // data. + value, err = tt.ParseBytes(ite.RawValueOffset, byteCount) + log.PanicIf(err) + } else { + iteLogger.Debugf(nil, "Reading BYTE value (ITE; at offset).") + + value, err = tt.ParseBytes(addressableData[ite.ValueOffset:], byteCount) + log.PanicIf(err) + } + + return value, nil +} + +// Value returns the specific, parsed, typed value from the tag. +func (ite *IfdTagEntry) Value(addressableData []byte, byteOrder binary.ByteOrder) (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext := + newValueContextFromTag( + ite, + addressableData, + byteOrder) + + if ite.TagType == TypeUndefined { + value, err = valueContext.Undefined() + log.PanicIf(err) + } else { + tt := NewTagType(ite.TagType, byteOrder) + + value, err = tt.Resolve(valueContext) + log.PanicIf(err) + } + + return value, nil +} + +// IfdTagEntryValueResolver instances know how to resolve the values for any +// tag for a particular EXIF block. +type IfdTagEntryValueResolver struct { + addressableData []byte + byteOrder binary.ByteOrder +} + +func NewIfdTagEntryValueResolver(exifData []byte, byteOrder binary.ByteOrder) (itevr *IfdTagEntryValueResolver) { + return &IfdTagEntryValueResolver{ + addressableData: exifData[ExifAddressableAreaStart:], + byteOrder: byteOrder, + } +} + +// ValueBytes will resolve embedded or allocated data from the tag and return the raw bytes. +func (itevr *IfdTagEntryValueResolver) ValueBytes(ite *IfdTagEntry) (value []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // OBSOLETE(dustin): This is now redundant. Use `(*ValueContext).readRawEncoded()` instead of this method. + + valueContext := newValueContextFromTag( + ite, + itevr.addressableData, + itevr.byteOrder) + + rawBytes, err := valueContext.readRawEncoded() + log.PanicIf(err) + + return rawBytes, nil +} + +func (itevr *IfdTagEntryValueResolver) Value(ite *IfdTagEntry) (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // OBSOLETE(dustin): This is now redundant. Use `(*ValueContext).Values()` instead of this method. + + valueContext := newValueContextFromTag( + ite, + itevr.addressableData, + itevr.byteOrder) + + values, err := valueContext.Values() + log.PanicIf(err) + + return values, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/package.go b/vendor/github.com/dsoprea/go-exif/package.go new file mode 100644 index 000000000..2eb6b3056 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/package.go @@ -0,0 +1,4 @@ +// exif parses raw EXIF information given a block of raw EXIF data. +// +// v1 of go-exif is now deprecated. Please use v2. +package exif diff --git a/vendor/github.com/dsoprea/go-exif/parser.go b/vendor/github.com/dsoprea/go-exif/parser.go new file mode 100644 index 000000000..4702db2f8 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/parser.go @@ -0,0 +1,190 @@ +package exif + +import ( + "bytes" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +type Parser struct { +} + +func (p *Parser) ParseBytes(data []byte, unitCount uint32) (value []uint8, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + count := int(unitCount) + + if len(data) < (TypeByte.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + value = []uint8(data[:count]) + + return value, nil +} + +// ParseAscii returns a string and auto-strips the trailing NUL character. +func (p *Parser) ParseAscii(data []byte, unitCount uint32) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + count := int(unitCount) + + if len(data) < (TypeAscii.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + if len(data) == 0 || data[count-1] != 0 { + s := string(data[:count]) + typeLogger.Warningf(nil, "ascii not terminated with nul as expected: [%v]", s) + + return s, nil + } else { + // Auto-strip the NUL from the end. It serves no purpose outside of + // encoding semantics. + + return string(data[:count-1]), nil + } +} + +// ParseAsciiNoNul returns a string without any consideration for a trailing NUL +// character. +func (p *Parser) ParseAsciiNoNul(data []byte, unitCount uint32) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + count := int(unitCount) + + if len(data) < (TypeAscii.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + return string(data[:count]), nil +} + +func (p *Parser) ParseShorts(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []uint16, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + count := int(unitCount) + + if len(data) < (TypeShort.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + value = make([]uint16, count) + for i := 0; i < count; i++ { + value[i] = byteOrder.Uint16(data[i*2:]) + } + + return value, nil +} + +func (p *Parser) ParseLongs(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + count := int(unitCount) + + if len(data) < (TypeLong.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + value = make([]uint32, count) + for i := 0; i < count; i++ { + value[i] = byteOrder.Uint32(data[i*4:]) + } + + return value, nil +} + +func (p *Parser) ParseRationals(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []Rational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + count := int(unitCount) + + if len(data) < (TypeRational.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + value = make([]Rational, count) + for i := 0; i < count; i++ { + value[i].Numerator = byteOrder.Uint32(data[i*8:]) + value[i].Denominator = byteOrder.Uint32(data[i*8+4:]) + } + + return value, nil +} + +func (p *Parser) ParseSignedLongs(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []int32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + count := int(unitCount) + + if len(data) < (TypeSignedLong.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + b := bytes.NewBuffer(data) + + value = make([]int32, count) + for i := 0; i < count; i++ { + err := binary.Read(b, byteOrder, &value[i]) + log.PanicIf(err) + } + + return value, nil +} + +func (p *Parser) ParseSignedRationals(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []SignedRational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + count := int(unitCount) + + if len(data) < (TypeSignedRational.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + b := bytes.NewBuffer(data) + + value = make([]SignedRational, count) + for i := 0; i < count; i++ { + err = binary.Read(b, byteOrder, &value[i].Numerator) + log.PanicIf(err) + + err = binary.Read(b, byteOrder, &value[i].Denominator) + log.PanicIf(err) + } + + return value, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/tag_type.go b/vendor/github.com/dsoprea/go-exif/tag_type.go new file mode 100644 index 000000000..e53b1c498 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/tag_type.go @@ -0,0 +1,397 @@ +package exif + +// NOTE(dustin): Most of this file encapsulates deprecated functionality and awaits being dumped in a future release. + +import ( + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +type TagType struct { + tagType TagTypePrimitive + name string + byteOrder binary.ByteOrder +} + +func NewTagType(tagType TagTypePrimitive, byteOrder binary.ByteOrder) TagType { + name, found := TypeNames[tagType] + if found == false { + log.Panicf("tag-type not valid: 0x%04x", tagType) + } + + return TagType{ + tagType: tagType, + name: name, + byteOrder: byteOrder, + } +} + +func (tt TagType) String() string { + return fmt.Sprintf("TagType", tt.name) +} + +func (tt TagType) Name() string { + return tt.name +} + +func (tt TagType) Type() TagTypePrimitive { + return tt.tagType +} + +func (tt TagType) ByteOrder() binary.ByteOrder { + return tt.byteOrder +} + +func (tt TagType) Size() int { + + // DEPRECATED(dustin): `(TagTypePrimitive).Size()` should be used, directly. + + return tt.Type().Size() +} + +// valueIsEmbedded will return a boolean indicating whether the value should be +// found directly within the IFD entry or an offset to somewhere else. +func (tt TagType) valueIsEmbedded(unitCount uint32) bool { + return (tt.tagType.Size() * int(unitCount)) <= 4 +} + +func (tt TagType) readRawEncoded(valueContext ValueContext) (rawBytes []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + unitSizeRaw := uint32(tt.tagType.Size()) + + if tt.valueIsEmbedded(valueContext.UnitCount()) == true { + byteLength := unitSizeRaw * valueContext.UnitCount() + return valueContext.RawValueOffset()[:byteLength], nil + } else { + return valueContext.AddressableData()[valueContext.ValueOffset() : valueContext.ValueOffset()+valueContext.UnitCount()*unitSizeRaw], nil + } +} + +func (tt TagType) ParseBytes(data []byte, unitCount uint32) (value []uint8, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(*Parser).ParseBytes()` should be used. + + value, err = parser.ParseBytes(data, unitCount) + log.PanicIf(err) + + return value, nil +} + +// ParseAscii returns a string and auto-strips the trailing NUL character. +func (tt TagType) ParseAscii(data []byte, unitCount uint32) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(*Parser).ParseAscii()` should be used. + + value, err = parser.ParseAscii(data, unitCount) + log.PanicIf(err) + + return value, nil +} + +// ParseAsciiNoNul returns a string without any consideration for a trailing NUL +// character. +func (tt TagType) ParseAsciiNoNul(data []byte, unitCount uint32) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(*Parser).ParseAsciiNoNul()` should be used. + + value, err = parser.ParseAsciiNoNul(data, unitCount) + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ParseShorts(data []byte, unitCount uint32) (value []uint16, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(*Parser).ParseShorts()` should be used. + + value, err = parser.ParseShorts(data, unitCount, tt.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ParseLongs(data []byte, unitCount uint32) (value []uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(*Parser).ParseLongs()` should be used. + + value, err = parser.ParseLongs(data, unitCount, tt.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ParseRationals(data []byte, unitCount uint32) (value []Rational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(*Parser).ParseRationals()` should be used. + + value, err = parser.ParseRationals(data, unitCount, tt.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ParseSignedLongs(data []byte, unitCount uint32) (value []int32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(*Parser).ParseSignedLongs()` should be used. + + value, err = parser.ParseSignedLongs(data, unitCount, tt.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ParseSignedRationals(data []byte, unitCount uint32) (value []SignedRational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(*Parser).ParseSignedRationals()` should be used. + + value, err = parser.ParseSignedRationals(data, unitCount, tt.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ReadByteValues(valueContext ValueContext) (value []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).ReadBytes()` should be used. + + value, err = valueContext.ReadBytes() + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ReadAsciiValue(valueContext ValueContext) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).ReadAscii()` should be used. + + value, err = valueContext.ReadAscii() + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ReadAsciiNoNulValue(valueContext ValueContext) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).ReadAsciiNoNul()` should be used. + + value, err = valueContext.ReadAsciiNoNul() + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ReadShortValues(valueContext ValueContext) (value []uint16, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).ReadShorts()` should be used. + + value, err = valueContext.ReadShorts() + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ReadLongValues(valueContext ValueContext) (value []uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).ReadLongs()` should be used. + + value, err = valueContext.ReadLongs() + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ReadRationalValues(valueContext ValueContext) (value []Rational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).ReadRationals()` should be used. + + value, err = valueContext.ReadRationals() + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ReadSignedLongValues(valueContext ValueContext) (value []int32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).ReadSignedLongs()` should be used. + + value, err = valueContext.ReadSignedLongs() + log.PanicIf(err) + + return value, nil +} + +func (tt TagType) ReadSignedRationalValues(valueContext ValueContext) (value []SignedRational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).ReadSignedRationals()` should be used. + + value, err = valueContext.ReadSignedRationals() + log.PanicIf(err) + + return value, nil +} + +// ResolveAsString resolves the given value and returns a flat string. +// +// Where the type is not ASCII, `justFirst` indicates whether to just stringify +// the first item in the slice (or return an empty string if the slice is +// empty). +// +// Since this method lacks the information to process unknown-type tags (e.g. +// byte-order, tag-ID, IFD type), it will return an error if attempted. See +// `Undefined()`. +func (tt TagType) ResolveAsString(valueContext ValueContext, justFirst bool) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if justFirst == true { + value, err = valueContext.FormatFirst() + log.PanicIf(err) + } else { + value, err = valueContext.Format() + log.PanicIf(err) + } + + return value, nil +} + +// Resolve knows how to resolve the given value. +// +// Since this method lacks the information to process unknown-type tags (e.g. +// byte-order, tag-ID, IFD type), it will return an error if attempted. See +// `Undefined()`. +func (tt TagType) Resolve(valueContext *ValueContext) (values interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `(ValueContext).Values()` should be used. + + values, err = valueContext.Values() + log.PanicIf(err) + + return values, nil +} + +// Encode knows how to encode the given value to a byte slice. +func (tt TagType) Encode(value interface{}) (encoded []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ve := NewValueEncoder(tt.byteOrder) + + ed, err := ve.EncodeWithType(tt, value) + log.PanicIf(err) + + return ed.Encoded, err +} + +func (tt TagType) FromString(valueString string) (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // DEPRECATED(dustin): `EncodeStringToBytes()` should be used. + + value, err = EncodeStringToBytes(tt.tagType, valueString) + log.PanicIf(err) + + return value, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/tags.go b/vendor/github.com/dsoprea/go-exif/tags.go new file mode 100644 index 000000000..7f7e51555 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/tags.go @@ -0,0 +1,229 @@ +package exif + +import ( + "fmt" + + "github.com/dsoprea/go-logging" + "gopkg.in/yaml.v2" +) + +const ( + // IFD1 + + ThumbnailOffsetTagId = 0x0201 + ThumbnailSizeTagId = 0x0202 + + // Exif + + TagVersionId = 0x0000 + + TagLatitudeId = 0x0002 + TagLatitudeRefId = 0x0001 + TagLongitudeId = 0x0004 + TagLongitudeRefId = 0x0003 + + TagTimestampId = 0x0007 + TagDatestampId = 0x001d + + TagAltitudeId = 0x0006 + TagAltitudeRefId = 0x0005 +) + +var ( + // tagsWithoutAlignment is a tag-lookup for tags whose value size won't + // necessarily be a multiple of its tag-type. + tagsWithoutAlignment = map[uint16]struct{}{ + // The thumbnail offset is stored as a long, but its data is a binary + // blob (not a slice of longs). + ThumbnailOffsetTagId: {}, + } +) + +var ( + tagsLogger = log.NewLogger("exif.tags") +) + +// File structures. + +type encodedTag struct { + // id is signed, here, because YAML doesn't have enough information to + // support unsigned. + Id int `yaml:"id"` + Name string `yaml:"name"` + TypeName string `yaml:"type_name"` +} + +// Indexing structures. + +type IndexedTag struct { + Id uint16 + Name string + IfdPath string + Type TagTypePrimitive +} + +func (it *IndexedTag) String() string { + return fmt.Sprintf("TAG", it.Id, it.Name, it.IfdPath) +} + +func (it *IndexedTag) IsName(ifdPath, name string) bool { + return it.Name == name && it.IfdPath == ifdPath +} + +func (it *IndexedTag) Is(ifdPath string, id uint16) bool { + return it.Id == id && it.IfdPath == ifdPath +} + +type TagIndex struct { + tagsByIfd map[string]map[uint16]*IndexedTag + tagsByIfdR map[string]map[string]*IndexedTag +} + +func NewTagIndex() *TagIndex { + ti := new(TagIndex) + + ti.tagsByIfd = make(map[string]map[uint16]*IndexedTag) + ti.tagsByIfdR = make(map[string]map[string]*IndexedTag) + + return ti +} + +func (ti *TagIndex) Add(it *IndexedTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Store by ID. + + family, found := ti.tagsByIfd[it.IfdPath] + if found == false { + family = make(map[uint16]*IndexedTag) + ti.tagsByIfd[it.IfdPath] = family + } + + if _, found := family[it.Id]; found == true { + log.Panicf("tag-ID defined more than once for IFD [%s]: (%02x)", it.IfdPath, it.Id) + } + + family[it.Id] = it + + // Store by name. + + familyR, found := ti.tagsByIfdR[it.IfdPath] + if found == false { + familyR = make(map[string]*IndexedTag) + ti.tagsByIfdR[it.IfdPath] = familyR + } + + if _, found := familyR[it.Name]; found == true { + log.Panicf("tag-name defined more than once for IFD [%s]: (%s)", it.IfdPath, it.Name) + } + + familyR[it.Name] = it + + return nil +} + +// Get returns information about the non-IFD tag. +func (ti *TagIndex) Get(ifdPath string, id uint16) (it *IndexedTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if len(ti.tagsByIfd) == 0 { + err := LoadStandardTags(ti) + log.PanicIf(err) + } + + family, found := ti.tagsByIfd[ifdPath] + if found == false { + log.Panic(ErrTagNotFound) + } + + it, found = family[id] + if found == false { + log.Panic(ErrTagNotFound) + } + + return it, nil +} + +// Get returns information about the non-IFD tag. +func (ti *TagIndex) GetWithName(ifdPath string, name string) (it *IndexedTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if len(ti.tagsByIfdR) == 0 { + err := LoadStandardTags(ti) + log.PanicIf(err) + } + + it, found := ti.tagsByIfdR[ifdPath][name] + if found != true { + log.Panic(ErrTagNotFound) + } + + return it, nil +} + +// LoadStandardTags registers the tags that all devices/applications should +// support. +func LoadStandardTags(ti *TagIndex) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Read static data. + + encodedIfds := make(map[string][]encodedTag) + + err = yaml.Unmarshal([]byte(tagsYaml), encodedIfds) + log.PanicIf(err) + + // Load structure. + + count := 0 + for ifdPath, tags := range encodedIfds { + for _, tagInfo := range tags { + tagId := uint16(tagInfo.Id) + tagName := tagInfo.Name + tagTypeName := tagInfo.TypeName + + // TODO(dustin): !! Non-standard types, but found in real data. Ignore for right now. + if tagTypeName == "SSHORT" || tagTypeName == "FLOAT" || tagTypeName == "DOUBLE" { + continue + } + + tagTypeId, found := TypeNamesR[tagTypeName] + if found == false { + log.Panicf("type [%s] for [%s] not valid", tagTypeName, tagName) + continue + } + + it := &IndexedTag{ + IfdPath: ifdPath, + Id: tagId, + Name: tagName, + Type: tagTypeId, + } + + err = ti.Add(it) + log.PanicIf(err) + + count++ + } + } + + tagsLogger.Debugf(nil, "(%d) tags loaded.", count) + + return nil +} diff --git a/vendor/github.com/dsoprea/go-exif/tags_data.go b/vendor/github.com/dsoprea/go-exif/tags_data.go new file mode 100644 index 000000000..64ec458d3 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/tags_data.go @@ -0,0 +1,951 @@ +package exif + +var ( + // From assets/tags.yaml . Needs to be here so it's embedded in the binary. + tagsYaml = ` +# Notes: +# +# This file was produced from http://www.exiv2.org/tags.html, using the included +# tool, though that document appears to have some duplicates when all IDs are +# supposed to be unique (EXIF information only has IDs, not IFDs; IFDs are +# determined by our pre-existing knowledge of those tags). +# +# The webpage that we've produced this file from appears to indicate that +# ImageWidth is represented by both 0x0100 and 0x0001 depending on whether the +# encoding is RGB or YCbCr. +IFD/Exif: +- id: 0x829a + name: ExposureTime + type_name: RATIONAL +- id: 0x829d + name: FNumber + type_name: RATIONAL +- id: 0x8822 + name: ExposureProgram + type_name: SHORT +- id: 0x8824 + name: SpectralSensitivity + type_name: ASCII +- id: 0x8827 + name: ISOSpeedRatings + type_name: SHORT +- id: 0x8828 + name: OECF + type_name: UNDEFINED +- id: 0x8830 + name: SensitivityType + type_name: SHORT +- id: 0x8831 + name: StandardOutputSensitivity + type_name: LONG +- id: 0x8832 + name: RecommendedExposureIndex + type_name: LONG +- id: 0x8833 + name: ISOSpeed + type_name: LONG +- id: 0x8834 + name: ISOSpeedLatitudeyyy + type_name: LONG +- id: 0x8835 + name: ISOSpeedLatitudezzz + type_name: LONG +- id: 0x9000 + name: ExifVersion + type_name: UNDEFINED +- id: 0x9003 + name: DateTimeOriginal + type_name: ASCII +- id: 0x9004 + name: DateTimeDigitized + type_name: ASCII +- id: 0x9101 + name: ComponentsConfiguration + type_name: UNDEFINED +- id: 0x9102 + name: CompressedBitsPerPixel + type_name: RATIONAL +- id: 0x9201 + name: ShutterSpeedValue + type_name: SRATIONAL +- id: 0x9202 + name: ApertureValue + type_name: RATIONAL +- id: 0x9203 + name: BrightnessValue + type_name: SRATIONAL +- id: 0x9204 + name: ExposureBiasValue + type_name: SRATIONAL +- id: 0x9205 + name: MaxApertureValue + type_name: RATIONAL +- id: 0x9206 + name: SubjectDistance + type_name: RATIONAL +- id: 0x9207 + name: MeteringMode + type_name: SHORT +- id: 0x9208 + name: LightSource + type_name: SHORT +- id: 0x9209 + name: Flash + type_name: SHORT +- id: 0x920a + name: FocalLength + type_name: RATIONAL +- id: 0x9214 + name: SubjectArea + type_name: SHORT +- id: 0x927c + name: MakerNote + type_name: UNDEFINED +- id: 0x9286 + name: UserComment + type_name: UNDEFINED +- id: 0x9290 + name: SubSecTime + type_name: ASCII +- id: 0x9291 + name: SubSecTimeOriginal + type_name: ASCII +- id: 0x9292 + name: SubSecTimeDigitized + type_name: ASCII +- id: 0xa000 + name: FlashpixVersion + type_name: UNDEFINED +- id: 0xa001 + name: ColorSpace + type_name: SHORT +- id: 0xa002 + name: PixelXDimension + type_name: LONG +- id: 0xa003 + name: PixelYDimension + type_name: LONG +- id: 0xa004 + name: RelatedSoundFile + type_name: ASCII +- id: 0xa005 + name: InteroperabilityTag + type_name: LONG +- id: 0xa20b + name: FlashEnergy + type_name: RATIONAL +- id: 0xa20c + name: SpatialFrequencyResponse + type_name: UNDEFINED +- id: 0xa20e + name: FocalPlaneXResolution + type_name: RATIONAL +- id: 0xa20f + name: FocalPlaneYResolution + type_name: RATIONAL +- id: 0xa210 + name: FocalPlaneResolutionUnit + type_name: SHORT +- id: 0xa214 + name: SubjectLocation + type_name: SHORT +- id: 0xa215 + name: ExposureIndex + type_name: RATIONAL +- id: 0xa217 + name: SensingMethod + type_name: SHORT +- id: 0xa300 + name: FileSource + type_name: UNDEFINED +- id: 0xa301 + name: SceneType + type_name: UNDEFINED +- id: 0xa302 + name: CFAPattern + type_name: UNDEFINED +- id: 0xa401 + name: CustomRendered + type_name: SHORT +- id: 0xa402 + name: ExposureMode + type_name: SHORT +- id: 0xa403 + name: WhiteBalance + type_name: SHORT +- id: 0xa404 + name: DigitalZoomRatio + type_name: RATIONAL +- id: 0xa405 + name: FocalLengthIn35mmFilm + type_name: SHORT +- id: 0xa406 + name: SceneCaptureType + type_name: SHORT +- id: 0xa407 + name: GainControl + type_name: SHORT +- id: 0xa408 + name: Contrast + type_name: SHORT +- id: 0xa409 + name: Saturation + type_name: SHORT +- id: 0xa40a + name: Sharpness + type_name: SHORT +- id: 0xa40b + name: DeviceSettingDescription + type_name: UNDEFINED +- id: 0xa40c + name: SubjectDistanceRange + type_name: SHORT +- id: 0xa420 + name: ImageUniqueID + type_name: ASCII +- id: 0xa430 + name: CameraOwnerName + type_name: ASCII +- id: 0xa431 + name: BodySerialNumber + type_name: ASCII +- id: 0xa432 + name: LensSpecification + type_name: RATIONAL +- id: 0xa433 + name: LensMake + type_name: ASCII +- id: 0xa434 + name: LensModel + type_name: ASCII +- id: 0xa435 + name: LensSerialNumber + type_name: ASCII +IFD/GPSInfo: +- id: 0x0000 + name: GPSVersionID + type_name: BYTE +- id: 0x0001 + name: GPSLatitudeRef + type_name: ASCII +- id: 0x0002 + name: GPSLatitude + type_name: RATIONAL +- id: 0x0003 + name: GPSLongitudeRef + type_name: ASCII +- id: 0x0004 + name: GPSLongitude + type_name: RATIONAL +- id: 0x0005 + name: GPSAltitudeRef + type_name: BYTE +- id: 0x0006 + name: GPSAltitude + type_name: RATIONAL +- id: 0x0007 + name: GPSTimeStamp + type_name: RATIONAL +- id: 0x0008 + name: GPSSatellites + type_name: ASCII +- id: 0x0009 + name: GPSStatus + type_name: ASCII +- id: 0x000a + name: GPSMeasureMode + type_name: ASCII +- id: 0x000b + name: GPSDOP + type_name: RATIONAL +- id: 0x000c + name: GPSSpeedRef + type_name: ASCII +- id: 0x000d + name: GPSSpeed + type_name: RATIONAL +- id: 0x000e + name: GPSTrackRef + type_name: ASCII +- id: 0x000f + name: GPSTrack + type_name: RATIONAL +- id: 0x0010 + name: GPSImgDirectionRef + type_name: ASCII +- id: 0x0011 + name: GPSImgDirection + type_name: RATIONAL +- id: 0x0012 + name: GPSMapDatum + type_name: ASCII +- id: 0x0013 + name: GPSDestLatitudeRef + type_name: ASCII +- id: 0x0014 + name: GPSDestLatitude + type_name: RATIONAL +- id: 0x0015 + name: GPSDestLongitudeRef + type_name: ASCII +- id: 0x0016 + name: GPSDestLongitude + type_name: RATIONAL +- id: 0x0017 + name: GPSDestBearingRef + type_name: ASCII +- id: 0x0018 + name: GPSDestBearing + type_name: RATIONAL +- id: 0x0019 + name: GPSDestDistanceRef + type_name: ASCII +- id: 0x001a + name: GPSDestDistance + type_name: RATIONAL +- id: 0x001b + name: GPSProcessingMethod + type_name: UNDEFINED +- id: 0x001c + name: GPSAreaInformation + type_name: UNDEFINED +- id: 0x001d + name: GPSDateStamp + type_name: ASCII +- id: 0x001e + name: GPSDifferential + type_name: SHORT +IFD: +- id: 0x000b + name: ProcessingSoftware + type_name: ASCII +- id: 0x00fe + name: NewSubfileType + type_name: LONG +- id: 0x00ff + name: SubfileType + type_name: SHORT +- id: 0x0100 + name: ImageWidth + type_name: LONG +- id: 0x0101 + name: ImageLength + type_name: LONG +- id: 0x0102 + name: BitsPerSample + type_name: SHORT +- id: 0x0103 + name: Compression + type_name: SHORT +- id: 0x0106 + name: PhotometricInterpretation + type_name: SHORT +- id: 0x0107 + name: Thresholding + type_name: SHORT +- id: 0x0108 + name: CellWidth + type_name: SHORT +- id: 0x0109 + name: CellLength + type_name: SHORT +- id: 0x010a + name: FillOrder + type_name: SHORT +- id: 0x010d + name: DocumentName + type_name: ASCII +- id: 0x010e + name: ImageDescription + type_name: ASCII +- id: 0x010f + name: Make + type_name: ASCII +- id: 0x0110 + name: Model + type_name: ASCII +- id: 0x0111 + name: StripOffsets + type_name: LONG +- id: 0x0112 + name: Orientation + type_name: SHORT +- id: 0x0115 + name: SamplesPerPixel + type_name: SHORT +- id: 0x0116 + name: RowsPerStrip + type_name: LONG +- id: 0x0117 + name: StripByteCounts + type_name: LONG +- id: 0x011a + name: XResolution + type_name: RATIONAL +- id: 0x011b + name: YResolution + type_name: RATIONAL +- id: 0x011c + name: PlanarConfiguration + type_name: SHORT +- id: 0x0122 + name: GrayResponseUnit + type_name: SHORT +- id: 0x0123 + name: GrayResponseCurve + type_name: SHORT +- id: 0x0124 + name: T4Options + type_name: LONG +- id: 0x0125 + name: T6Options + type_name: LONG +- id: 0x0128 + name: ResolutionUnit + type_name: SHORT +- id: 0x0129 + name: PageNumber + type_name: SHORT +- id: 0x012d + name: TransferFunction + type_name: SHORT +- id: 0x0131 + name: Software + type_name: ASCII +- id: 0x0132 + name: DateTime + type_name: ASCII +- id: 0x013b + name: Artist + type_name: ASCII +- id: 0x013c + name: HostComputer + type_name: ASCII +- id: 0x013d + name: Predictor + type_name: SHORT +- id: 0x013e + name: WhitePoint + type_name: RATIONAL +- id: 0x013f + name: PrimaryChromaticities + type_name: RATIONAL +- id: 0x0140 + name: ColorMap + type_name: SHORT +- id: 0x0141 + name: HalftoneHints + type_name: SHORT +- id: 0x0142 + name: TileWidth + type_name: SHORT +- id: 0x0143 + name: TileLength + type_name: SHORT +- id: 0x0144 + name: TileOffsets + type_name: SHORT +- id: 0x0145 + name: TileByteCounts + type_name: SHORT +- id: 0x014a + name: SubIFDs + type_name: LONG +- id: 0x014c + name: InkSet + type_name: SHORT +- id: 0x014d + name: InkNames + type_name: ASCII +- id: 0x014e + name: NumberOfInks + type_name: SHORT +- id: 0x0150 + name: DotRange + type_name: BYTE +- id: 0x0151 + name: TargetPrinter + type_name: ASCII +- id: 0x0152 + name: ExtraSamples + type_name: SHORT +- id: 0x0153 + name: SampleFormat + type_name: SHORT +- id: 0x0154 + name: SMinSampleValue + type_name: SHORT +- id: 0x0155 + name: SMaxSampleValue + type_name: SHORT +- id: 0x0156 + name: TransferRange + type_name: SHORT +- id: 0x0157 + name: ClipPath + type_name: BYTE +- id: 0x0158 + name: XClipPathUnits + type_name: SSHORT +- id: 0x0159 + name: YClipPathUnits + type_name: SSHORT +- id: 0x015a + name: Indexed + type_name: SHORT +- id: 0x015b + name: JPEGTables + type_name: UNDEFINED +- id: 0x015f + name: OPIProxy + type_name: SHORT +- id: 0x0200 + name: JPEGProc + type_name: LONG +- id: 0x0201 + name: JPEGInterchangeFormat + type_name: LONG +- id: 0x0202 + name: JPEGInterchangeFormatLength + type_name: LONG +- id: 0x0203 + name: JPEGRestartInterval + type_name: SHORT +- id: 0x0205 + name: JPEGLosslessPredictors + type_name: SHORT +- id: 0x0206 + name: JPEGPointTransforms + type_name: SHORT +- id: 0x0207 + name: JPEGQTables + type_name: LONG +- id: 0x0208 + name: JPEGDCTables + type_name: LONG +- id: 0x0209 + name: JPEGACTables + type_name: LONG +- id: 0x0211 + name: YCbCrCoefficients + type_name: RATIONAL +- id: 0x0212 + name: YCbCrSubSampling + type_name: SHORT +- id: 0x0213 + name: YCbCrPositioning + type_name: SHORT +- id: 0x0214 + name: ReferenceBlackWhite + type_name: RATIONAL +- id: 0x02bc + name: XMLPacket + type_name: BYTE +- id: 0x4746 + name: Rating + type_name: SHORT +- id: 0x4749 + name: RatingPercent + type_name: SHORT +- id: 0x800d + name: ImageID + type_name: ASCII +- id: 0x828d + name: CFARepeatPatternDim + type_name: SHORT +- id: 0x828e + name: CFAPattern + type_name: BYTE +- id: 0x828f + name: BatteryLevel + type_name: RATIONAL +- id: 0x8298 + name: Copyright + type_name: ASCII +- id: 0x829a + name: ExposureTime + type_name: RATIONAL +- id: 0x829d + name: FNumber + type_name: RATIONAL +- id: 0x83bb + name: IPTCNAA + type_name: LONG +- id: 0x8649 + name: ImageResources + type_name: BYTE +- id: 0x8769 + name: ExifTag + type_name: LONG +- id: 0x8773 + name: InterColorProfile + type_name: UNDEFINED +- id: 0x8822 + name: ExposureProgram + type_name: SHORT +- id: 0x8824 + name: SpectralSensitivity + type_name: ASCII +- id: 0x8825 + name: GPSTag + type_name: LONG +- id: 0x8827 + name: ISOSpeedRatings + type_name: SHORT +- id: 0x8828 + name: OECF + type_name: UNDEFINED +- id: 0x8829 + name: Interlace + type_name: SHORT +- id: 0x882a + name: TimeZoneOffset + type_name: SSHORT +- id: 0x882b + name: SelfTimerMode + type_name: SHORT +- id: 0x9003 + name: DateTimeOriginal + type_name: ASCII +- id: 0x9102 + name: CompressedBitsPerPixel + type_name: RATIONAL +- id: 0x9201 + name: ShutterSpeedValue + type_name: SRATIONAL +- id: 0x9202 + name: ApertureValue + type_name: RATIONAL +- id: 0x9203 + name: BrightnessValue + type_name: SRATIONAL +- id: 0x9204 + name: ExposureBiasValue + type_name: SRATIONAL +- id: 0x9205 + name: MaxApertureValue + type_name: RATIONAL +- id: 0x9206 + name: SubjectDistance + type_name: SRATIONAL +- id: 0x9207 + name: MeteringMode + type_name: SHORT +- id: 0x9208 + name: LightSource + type_name: SHORT +- id: 0x9209 + name: Flash + type_name: SHORT +- id: 0x920a + name: FocalLength + type_name: RATIONAL +- id: 0x920b + name: FlashEnergy + type_name: RATIONAL +- id: 0x920c + name: SpatialFrequencyResponse + type_name: UNDEFINED +- id: 0x920d + name: Noise + type_name: UNDEFINED +- id: 0x920e + name: FocalPlaneXResolution + type_name: RATIONAL +- id: 0x920f + name: FocalPlaneYResolution + type_name: RATIONAL +- id: 0x9210 + name: FocalPlaneResolutionUnit + type_name: SHORT +- id: 0x9211 + name: ImageNumber + type_name: LONG +- id: 0x9212 + name: SecurityClassification + type_name: ASCII +- id: 0x9213 + name: ImageHistory + type_name: ASCII +- id: 0x9214 + name: SubjectLocation + type_name: SHORT +- id: 0x9215 + name: ExposureIndex + type_name: RATIONAL +- id: 0x9216 + name: TIFFEPStandardID + type_name: BYTE +- id: 0x9217 + name: SensingMethod + type_name: SHORT +- id: 0x9c9b + name: XPTitle + type_name: BYTE +- id: 0x9c9c + name: XPComment + type_name: BYTE +- id: 0x9c9d + name: XPAuthor + type_name: BYTE +- id: 0x9c9e + name: XPKeywords + type_name: BYTE +- id: 0x9c9f + name: XPSubject + type_name: BYTE +- id: 0xc4a5 + name: PrintImageMatching + type_name: UNDEFINED +- id: 0xc612 + name: DNGVersion + type_name: BYTE +- id: 0xc613 + name: DNGBackwardVersion + type_name: BYTE +- id: 0xc614 + name: UniqueCameraModel + type_name: ASCII +- id: 0xc615 + name: LocalizedCameraModel + type_name: BYTE +- id: 0xc616 + name: CFAPlaneColor + type_name: BYTE +- id: 0xc617 + name: CFALayout + type_name: SHORT +- id: 0xc618 + name: LinearizationTable + type_name: SHORT +- id: 0xc619 + name: BlackLevelRepeatDim + type_name: SHORT +- id: 0xc61a + name: BlackLevel + type_name: RATIONAL +- id: 0xc61b + name: BlackLevelDeltaH + type_name: SRATIONAL +- id: 0xc61c + name: BlackLevelDeltaV + type_name: SRATIONAL +- id: 0xc61d + name: WhiteLevel + type_name: SHORT +- id: 0xc61e + name: DefaultScale + type_name: RATIONAL +- id: 0xc61f + name: DefaultCropOrigin + type_name: SHORT +- id: 0xc620 + name: DefaultCropSize + type_name: SHORT +- id: 0xc621 + name: ColorMatrix1 + type_name: SRATIONAL +- id: 0xc622 + name: ColorMatrix2 + type_name: SRATIONAL +- id: 0xc623 + name: CameraCalibration1 + type_name: SRATIONAL +- id: 0xc624 + name: CameraCalibration2 + type_name: SRATIONAL +- id: 0xc625 + name: ReductionMatrix1 + type_name: SRATIONAL +- id: 0xc626 + name: ReductionMatrix2 + type_name: SRATIONAL +- id: 0xc627 + name: AnalogBalance + type_name: RATIONAL +- id: 0xc628 + name: AsShotNeutral + type_name: SHORT +- id: 0xc629 + name: AsShotWhiteXY + type_name: RATIONAL +- id: 0xc62a + name: BaselineExposure + type_name: SRATIONAL +- id: 0xc62b + name: BaselineNoise + type_name: RATIONAL +- id: 0xc62c + name: BaselineSharpness + type_name: RATIONAL +- id: 0xc62d + name: BayerGreenSplit + type_name: LONG +- id: 0xc62e + name: LinearResponseLimit + type_name: RATIONAL +- id: 0xc62f + name: CameraSerialNumber + type_name: ASCII +- id: 0xc630 + name: LensInfo + type_name: RATIONAL +- id: 0xc631 + name: ChromaBlurRadius + type_name: RATIONAL +- id: 0xc632 + name: AntiAliasStrength + type_name: RATIONAL +- id: 0xc633 + name: ShadowScale + type_name: SRATIONAL +- id: 0xc634 + name: DNGPrivateData + type_name: BYTE +- id: 0xc635 + name: MakerNoteSafety + type_name: SHORT +- id: 0xc65a + name: CalibrationIlluminant1 + type_name: SHORT +- id: 0xc65b + name: CalibrationIlluminant2 + type_name: SHORT +- id: 0xc65c + name: BestQualityScale + type_name: RATIONAL +- id: 0xc65d + name: RawDataUniqueID + type_name: BYTE +- id: 0xc68b + name: OriginalRawFileName + type_name: BYTE +- id: 0xc68c + name: OriginalRawFileData + type_name: UNDEFINED +- id: 0xc68d + name: ActiveArea + type_name: SHORT +- id: 0xc68e + name: MaskedAreas + type_name: SHORT +- id: 0xc68f + name: AsShotICCProfile + type_name: UNDEFINED +- id: 0xc690 + name: AsShotPreProfileMatrix + type_name: SRATIONAL +- id: 0xc691 + name: CurrentICCProfile + type_name: UNDEFINED +- id: 0xc692 + name: CurrentPreProfileMatrix + type_name: SRATIONAL +- id: 0xc6bf + name: ColorimetricReference + type_name: SHORT +- id: 0xc6f3 + name: CameraCalibrationSignature + type_name: BYTE +- id: 0xc6f4 + name: ProfileCalibrationSignature + type_name: BYTE +- id: 0xc6f6 + name: AsShotProfileName + type_name: BYTE +- id: 0xc6f7 + name: NoiseReductionApplied + type_name: RATIONAL +- id: 0xc6f8 + name: ProfileName + type_name: BYTE +- id: 0xc6f9 + name: ProfileHueSatMapDims + type_name: LONG +- id: 0xc6fa + name: ProfileHueSatMapData1 + type_name: FLOAT +- id: 0xc6fb + name: ProfileHueSatMapData2 + type_name: FLOAT +- id: 0xc6fc + name: ProfileToneCurve + type_name: FLOAT +- id: 0xc6fd + name: ProfileEmbedPolicy + type_name: LONG +- id: 0xc6fe + name: ProfileCopyright + type_name: BYTE +- id: 0xc714 + name: ForwardMatrix1 + type_name: SRATIONAL +- id: 0xc715 + name: ForwardMatrix2 + type_name: SRATIONAL +- id: 0xc716 + name: PreviewApplicationName + type_name: BYTE +- id: 0xc717 + name: PreviewApplicationVersion + type_name: BYTE +- id: 0xc718 + name: PreviewSettingsName + type_name: BYTE +- id: 0xc719 + name: PreviewSettingsDigest + type_name: BYTE +- id: 0xc71a + name: PreviewColorSpace + type_name: LONG +- id: 0xc71b + name: PreviewDateTime + type_name: ASCII +- id: 0xc71c + name: RawImageDigest + type_name: UNDEFINED +- id: 0xc71d + name: OriginalRawFileDigest + type_name: UNDEFINED +- id: 0xc71e + name: SubTileBlockSize + type_name: LONG +- id: 0xc71f + name: RowInterleaveFactor + type_name: LONG +- id: 0xc725 + name: ProfileLookTableDims + type_name: LONG +- id: 0xc726 + name: ProfileLookTableData + type_name: FLOAT +- id: 0xc740 + name: OpcodeList1 + type_name: UNDEFINED +- id: 0xc741 + name: OpcodeList2 + type_name: UNDEFINED +- id: 0xc74e + name: OpcodeList3 + type_name: UNDEFINED +- id: 0xc761 + name: NoiseProfile + type_name: DOUBLE +IFD/Exif/Iop: +- id: 0x0001 + name: InteroperabilityIndex + type_name: ASCII +- id: 0x0002 + name: InteroperabilityVersion + type_name: UNDEFINED +- id: 0x1000 + name: RelatedImageFileFormat + type_name: ASCII +- id: 0x1001 + name: RelatedImageWidth + type_name: LONG +- id: 0x1002 + name: RelatedImageLength + type_name: LONG +` +) diff --git a/vendor/github.com/dsoprea/go-exif/tags_undefined.go b/vendor/github.com/dsoprea/go-exif/tags_undefined.go new file mode 100644 index 000000000..63ba59323 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/tags_undefined.go @@ -0,0 +1,417 @@ +package exif + +import ( + "bytes" + "fmt" + "strings" + + "crypto/sha1" + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +const ( + UnparseableUnknownTagValuePlaceholder = "!UNKNOWN" +) + +// TODO(dustin): Rename "unknown" in symbol names to "undefined" in the next release. +// +// See https://github.com/dsoprea/go-exif/issues/27 . + +const ( + TagUnknownType_9298_UserComment_Encoding_ASCII = iota + TagUnknownType_9298_UserComment_Encoding_JIS = iota + TagUnknownType_9298_UserComment_Encoding_UNICODE = iota + TagUnknownType_9298_UserComment_Encoding_UNDEFINED = iota +) + +const ( + TagUnknownType_9101_ComponentsConfiguration_Channel_Y = 0x1 + TagUnknownType_9101_ComponentsConfiguration_Channel_Cb = 0x2 + TagUnknownType_9101_ComponentsConfiguration_Channel_Cr = 0x3 + TagUnknownType_9101_ComponentsConfiguration_Channel_R = 0x4 + TagUnknownType_9101_ComponentsConfiguration_Channel_G = 0x5 + TagUnknownType_9101_ComponentsConfiguration_Channel_B = 0x6 +) + +const ( + TagUnknownType_9101_ComponentsConfiguration_OTHER = iota + TagUnknownType_9101_ComponentsConfiguration_RGB = iota + TagUnknownType_9101_ComponentsConfiguration_YCBCR = iota +) + +var ( + TagUnknownType_9298_UserComment_Encoding_Names = map[int]string{ + TagUnknownType_9298_UserComment_Encoding_ASCII: "ASCII", + TagUnknownType_9298_UserComment_Encoding_JIS: "JIS", + TagUnknownType_9298_UserComment_Encoding_UNICODE: "UNICODE", + TagUnknownType_9298_UserComment_Encoding_UNDEFINED: "UNDEFINED", + } + + TagUnknownType_9298_UserComment_Encodings = map[int][]byte{ + TagUnknownType_9298_UserComment_Encoding_ASCII: {'A', 'S', 'C', 'I', 'I', 0, 0, 0}, + TagUnknownType_9298_UserComment_Encoding_JIS: {'J', 'I', 'S', 0, 0, 0, 0, 0}, + TagUnknownType_9298_UserComment_Encoding_UNICODE: {'U', 'n', 'i', 'c', 'o', 'd', 'e', 0}, + TagUnknownType_9298_UserComment_Encoding_UNDEFINED: {0, 0, 0, 0, 0, 0, 0, 0}, + } + + TagUnknownType_9101_ComponentsConfiguration_Names = map[int]string{ + TagUnknownType_9101_ComponentsConfiguration_OTHER: "OTHER", + TagUnknownType_9101_ComponentsConfiguration_RGB: "RGB", + TagUnknownType_9101_ComponentsConfiguration_YCBCR: "YCBCR", + } + + TagUnknownType_9101_ComponentsConfiguration_Configurations = map[int][]byte{ + TagUnknownType_9101_ComponentsConfiguration_RGB: { + TagUnknownType_9101_ComponentsConfiguration_Channel_R, + TagUnknownType_9101_ComponentsConfiguration_Channel_G, + TagUnknownType_9101_ComponentsConfiguration_Channel_B, + 0, + }, + + TagUnknownType_9101_ComponentsConfiguration_YCBCR: { + TagUnknownType_9101_ComponentsConfiguration_Channel_Y, + TagUnknownType_9101_ComponentsConfiguration_Channel_Cb, + TagUnknownType_9101_ComponentsConfiguration_Channel_Cr, + 0, + }, + } +) + +// TODO(dustin): Rename `UnknownTagValue` to `UndefinedTagValue`. + +type UnknownTagValue interface { + ValueBytes() ([]byte, error) +} + +// TODO(dustin): Rename `TagUnknownType_GeneralString` to `TagUnknownType_GeneralString`. + +type TagUnknownType_GeneralString string + +func (gs TagUnknownType_GeneralString) ValueBytes() (value []byte, err error) { + return []byte(gs), nil +} + +// TODO(dustin): Rename `TagUnknownType_9298_UserComment` to `TagUndefinedType_9298_UserComment`. + +type TagUnknownType_9298_UserComment struct { + EncodingType int + EncodingBytes []byte +} + +func (uc TagUnknownType_9298_UserComment) String() string { + var valuePhrase string + + if len(uc.EncodingBytes) <= 8 { + valuePhrase = fmt.Sprintf("%v", uc.EncodingBytes) + } else { + valuePhrase = fmt.Sprintf("%v...", uc.EncodingBytes[:8]) + } + + return fmt.Sprintf("UserComment", len(uc.EncodingBytes), TagUnknownType_9298_UserComment_Encoding_Names[uc.EncodingType], valuePhrase, len(uc.EncodingBytes)) +} + +func (uc TagUnknownType_9298_UserComment) ValueBytes() (value []byte, err error) { + encodingTypeBytes, found := TagUnknownType_9298_UserComment_Encodings[uc.EncodingType] + if found == false { + log.Panicf("encoding-type not valid for unknown-type tag 9298 (UserComment): (%d)", uc.EncodingType) + } + + value = make([]byte, len(uc.EncodingBytes)+8) + + copy(value[:8], encodingTypeBytes) + copy(value[8:], uc.EncodingBytes) + + return value, nil +} + +// TODO(dustin): Rename `TagUnknownType_927C_MakerNote` to `TagUndefinedType_927C_MakerNote`. + +type TagUnknownType_927C_MakerNote struct { + MakerNoteType []byte + MakerNoteBytes []byte +} + +func (mn TagUnknownType_927C_MakerNote) String() string { + parts := make([]string, 20) + for i, c := range mn.MakerNoteType { + parts[i] = fmt.Sprintf("%02x", c) + } + + h := sha1.New() + + _, err := h.Write(mn.MakerNoteBytes) + log.PanicIf(err) + + digest := h.Sum(nil) + + return fmt.Sprintf("MakerNote", strings.Join(parts, " "), len(mn.MakerNoteBytes), digest) +} + +func (uc TagUnknownType_927C_MakerNote) ValueBytes() (value []byte, err error) { + return uc.MakerNoteBytes, nil +} + +// TODO(dustin): Rename `TagUnknownType_9101_ComponentsConfiguration` to `TagUndefinedType_9101_ComponentsConfiguration`. + +type TagUnknownType_9101_ComponentsConfiguration struct { + ConfigurationId int + ConfigurationBytes []byte +} + +func (cc TagUnknownType_9101_ComponentsConfiguration) String() string { + return fmt.Sprintf("ComponentsConfiguration", TagUnknownType_9101_ComponentsConfiguration_Names[cc.ConfigurationId], cc.ConfigurationBytes) +} + +func (uc TagUnknownType_9101_ComponentsConfiguration) ValueBytes() (value []byte, err error) { + return uc.ConfigurationBytes, nil +} + +// TODO(dustin): Rename `EncodeUnknown_9286` to `EncodeUndefined_9286`. + +func EncodeUnknown_9286(uc TagUnknownType_9298_UserComment) (encoded []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + b := new(bytes.Buffer) + + encodingTypeBytes := TagUnknownType_9298_UserComment_Encodings[uc.EncodingType] + + _, err = b.Write(encodingTypeBytes) + log.PanicIf(err) + + _, err = b.Write(uc.EncodingBytes) + log.PanicIf(err) + + return b.Bytes(), nil +} + +type EncodeableUndefinedValue struct { + IfdPath string + TagId uint16 + Parameters interface{} +} + +func EncodeUndefined(ifdPath string, tagId uint16, value interface{}) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Finish implementing these. + if ifdPath == IfdPathStandardExif { + if tagId == 0x9286 { + encoded, err := EncodeUnknown_9286(value.(TagUnknownType_9298_UserComment)) + log.PanicIf(err) + + ed.Type = TypeUndefined + ed.Encoded = encoded + ed.UnitCount = uint32(len(encoded)) + + return ed, nil + } + } + + log.Panicf("undefined value not encodable: %s (0x%02x)", ifdPath, tagId) + + // Never called. + return EncodedData{}, nil +} + +// TODO(dustin): Rename `TagUnknownType_UnknownValue` to `TagUndefinedType_UnknownValue`. + +type TagUnknownType_UnknownValue []byte + +func (tutuv TagUnknownType_UnknownValue) String() string { + parts := make([]string, len(tutuv)) + for i, c := range tutuv { + parts[i] = fmt.Sprintf("%02x", c) + } + + h := sha1.New() + + _, err := h.Write(tutuv) + log.PanicIf(err) + + digest := h.Sum(nil) + + return fmt.Sprintf("Unknown", strings.Join(parts, " "), len(tutuv), digest) +} + +// UndefinedValue knows how to resolve the value for most unknown-type tags. +func UndefinedValue(ifdPath string, tagId uint16, valueContext interface{}, byteOrder binary.ByteOrder) (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Stop exporting this. Use `(*ValueContext).Undefined()`. + + var valueContextPtr *ValueContext + + if vc, ok := valueContext.(*ValueContext); ok == true { + // Legacy usage. + + valueContextPtr = vc + } else { + // Standard usage. + + valueContextValue := valueContext.(ValueContext) + valueContextPtr = &valueContextValue + } + + typeLogger.Debugf(nil, "UndefinedValue: IFD-PATH=[%s] TAG-ID=(0x%02x)", ifdPath, tagId) + + if ifdPath == IfdPathStandardExif { + if tagId == 0x9000 { + // ExifVersion + + valueContextPtr.SetUnknownValueType(TypeAsciiNoNul) + + valueString, err := valueContextPtr.ReadAsciiNoNul() + log.PanicIf(err) + + return TagUnknownType_GeneralString(valueString), nil + } else if tagId == 0xa000 { + // FlashpixVersion + + valueContextPtr.SetUnknownValueType(TypeAsciiNoNul) + + valueString, err := valueContextPtr.ReadAsciiNoNul() + log.PanicIf(err) + + return TagUnknownType_GeneralString(valueString), nil + } else if tagId == 0x9286 { + // UserComment + + valueContextPtr.SetUnknownValueType(TypeByte) + + valueBytes, err := valueContextPtr.ReadBytes() + log.PanicIf(err) + + unknownUc := TagUnknownType_9298_UserComment{ + EncodingType: TagUnknownType_9298_UserComment_Encoding_UNDEFINED, + EncodingBytes: []byte{}, + } + + encoding := valueBytes[:8] + for encodingIndex, encodingBytes := range TagUnknownType_9298_UserComment_Encodings { + if bytes.Compare(encoding, encodingBytes) == 0 { + uc := TagUnknownType_9298_UserComment{ + EncodingType: encodingIndex, + EncodingBytes: valueBytes[8:], + } + + return uc, nil + } + } + + typeLogger.Warningf(nil, "User-comment encoding not valid. Returning 'unknown' type (the default).") + return unknownUc, nil + } else if tagId == 0x927c { + // MakerNote + // TODO(dustin): !! This is the Wild Wild West. This very well might be a child IFD, but any and all OEM's define their own formats. If we're going to be writing changes and this is complete EXIF (which may not have the first eight bytes), it might be fine. However, if these are just IFDs they'll be relative to the main EXIF, this will invalidate the MakerNote data for IFDs and any other implementations that use offsets unless we can interpret them all. It be best to return to this later and just exclude this from being written for now, though means a loss of a wealth of image metadata. + // -> We can also just blindly try to interpret as an IFD and just validate that it's looks good (maybe it will even have a 'next ifd' pointer that we can validate is 0x0). + + valueContextPtr.SetUnknownValueType(TypeByte) + + valueBytes, err := valueContextPtr.ReadBytes() + log.PanicIf(err) + + // TODO(dustin): Doesn't work, but here as an example. + // ie := NewIfdEnumerate(valueBytes, byteOrder) + + // // TODO(dustin): !! Validate types (might have proprietary types, but it might be worth splitting the list between valid and not valid; maybe fail if a certain proportion are invalid, or maybe aren't less then a certain small integer)? + // ii, err := ie.Collect(0x0) + + // for _, entry := range ii.RootIfd.Entries { + // fmt.Printf("ENTRY: 0x%02x %d\n", entry.TagId, entry.TagType) + // } + + mn := TagUnknownType_927C_MakerNote{ + MakerNoteType: valueBytes[:20], + + // MakerNoteBytes has the whole length of bytes. There's always + // the chance that the first 20 bytes includes actual data. + MakerNoteBytes: valueBytes, + } + + return mn, nil + } else if tagId == 0x9101 { + // ComponentsConfiguration + + valueContextPtr.SetUnknownValueType(TypeByte) + + valueBytes, err := valueContextPtr.ReadBytes() + log.PanicIf(err) + + for configurationId, configurationBytes := range TagUnknownType_9101_ComponentsConfiguration_Configurations { + if bytes.Compare(valueBytes, configurationBytes) == 0 { + cc := TagUnknownType_9101_ComponentsConfiguration{ + ConfigurationId: configurationId, + ConfigurationBytes: valueBytes, + } + + return cc, nil + } + } + + cc := TagUnknownType_9101_ComponentsConfiguration{ + ConfigurationId: TagUnknownType_9101_ComponentsConfiguration_OTHER, + ConfigurationBytes: valueBytes, + } + + return cc, nil + } + } else if ifdPath == IfdPathStandardGps { + if tagId == 0x001c { + // GPSAreaInformation + + valueContextPtr.SetUnknownValueType(TypeAsciiNoNul) + + valueString, err := valueContextPtr.ReadAsciiNoNul() + log.PanicIf(err) + + return TagUnknownType_GeneralString(valueString), nil + } else if tagId == 0x001b { + // GPSProcessingMethod + + valueContextPtr.SetUnknownValueType(TypeAsciiNoNul) + + valueString, err := valueContextPtr.ReadAsciiNoNul() + log.PanicIf(err) + + return TagUnknownType_GeneralString(valueString), nil + } + } else if ifdPath == IfdPathStandardExifIop { + if tagId == 0x0002 { + // InteropVersion + + valueContextPtr.SetUnknownValueType(TypeAsciiNoNul) + + valueString, err := valueContextPtr.ReadAsciiNoNul() + log.PanicIf(err) + + return TagUnknownType_GeneralString(valueString), nil + } + } + + // TODO(dustin): !! Still need to do: + // + // complex: 0xa302, 0xa20c, 0x8828 + // long: 0xa301, 0xa300 + // + // 0xa40b is device-specific and unhandled. + // + // See https://github.com/dsoprea/go-exif/issues/26. + + // We have no choice but to return the error. We have no way of knowing how + // much data there is without already knowing what data-type this tag is. + return nil, ErrUnhandledUnknownTypedTag +} diff --git a/vendor/github.com/dsoprea/go-exif/type.go b/vendor/github.com/dsoprea/go-exif/type.go new file mode 100644 index 000000000..2012b6067 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/type.go @@ -0,0 +1,310 @@ +package exif + +import ( + "errors" + "fmt" + "strconv" + "strings" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +type TagTypePrimitive uint16 + +func (typeType TagTypePrimitive) String() string { + return TypeNames[typeType] +} + +func (tagType TagTypePrimitive) Size() int { + if tagType == TypeByte { + return 1 + } else if tagType == TypeAscii || tagType == TypeAsciiNoNul { + return 1 + } else if tagType == TypeShort { + return 2 + } else if tagType == TypeLong { + return 4 + } else if tagType == TypeRational { + return 8 + } else if tagType == TypeSignedLong { + return 4 + } else if tagType == TypeSignedRational { + return 8 + } else { + log.Panicf("can not determine tag-value size for type (%d): [%s]", tagType, TypeNames[tagType]) + + // Never called. + return 0 + } +} + +const ( + TypeByte TagTypePrimitive = 1 + TypeAscii TagTypePrimitive = 2 + TypeShort TagTypePrimitive = 3 + TypeLong TagTypePrimitive = 4 + TypeRational TagTypePrimitive = 5 + TypeUndefined TagTypePrimitive = 7 + TypeSignedLong TagTypePrimitive = 9 + TypeSignedRational TagTypePrimitive = 10 + + // TypeAsciiNoNul is just a pseudo-type, for our own purposes. + TypeAsciiNoNul TagTypePrimitive = 0xf0 +) + +var ( + typeLogger = log.NewLogger("exif.type") +) + +var ( + // TODO(dustin): Rename TypeNames() to typeNames() and add getter. + TypeNames = map[TagTypePrimitive]string{ + TypeByte: "BYTE", + TypeAscii: "ASCII", + TypeShort: "SHORT", + TypeLong: "LONG", + TypeRational: "RATIONAL", + TypeUndefined: "UNDEFINED", + TypeSignedLong: "SLONG", + TypeSignedRational: "SRATIONAL", + + TypeAsciiNoNul: "_ASCII_NO_NUL", + } + + TypeNamesR = map[string]TagTypePrimitive{} +) + +var ( + // ErrNotEnoughData is used when there isn't enough data to accomodate what + // we're trying to parse (sizeof(type) * unit_count). + ErrNotEnoughData = errors.New("not enough data for type") + + // ErrWrongType is used when we try to parse anything other than the + // current type. + ErrWrongType = errors.New("wrong type, can not parse") + + // ErrUnhandledUnknownTag is used when we try to parse a tag that's + // recorded as an "unknown" type but not a documented tag (therefore + // leaving us not knowning how to read it). + ErrUnhandledUnknownTypedTag = errors.New("not a standard unknown-typed tag") +) + +type Rational struct { + Numerator uint32 + Denominator uint32 +} + +type SignedRational struct { + Numerator int32 + Denominator int32 +} + +func TagTypeSize(tagType TagTypePrimitive) int { + + // DEPRECATED(dustin): `(TagTypePrimitive).Size()` should be used, directly. + + return tagType.Size() +} + +// Format returns a stringified value for the given bytes. Automatically +// calculates count based on type size. +func Format(rawBytes []byte, tagType TagTypePrimitive, justFirst bool, byteOrder binary.ByteOrder) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add tests + + typeSize := tagType.Size() + + if len(rawBytes)%typeSize != 0 { + log.Panicf("byte-count (%d) does not align for [%s] type with a size of (%d) bytes", len(rawBytes), TypeNames[tagType], typeSize) + } + + // unitCount is the calculated unit-count. This should equal the original + // value from the tag (pre-resolution). + unitCount := uint32(len(rawBytes) / typeSize) + + // Truncate the items if it's not bytes or a string and we just want the first. + + valueSuffix := "" + if justFirst == true && unitCount > 1 && tagType != TypeByte && tagType != TypeAscii && tagType != TypeAsciiNoNul { + unitCount = 1 + valueSuffix = "..." + } + + if tagType == TypeByte { + items, err := parser.ParseBytes(rawBytes, unitCount) + log.PanicIf(err) + + return DumpBytesToString(items), nil + } else if tagType == TypeAscii { + phrase, err := parser.ParseAscii(rawBytes, unitCount) + log.PanicIf(err) + + return phrase, nil + } else if tagType == TypeAsciiNoNul { + phrase, err := parser.ParseAsciiNoNul(rawBytes, unitCount) + log.PanicIf(err) + + return phrase, nil + } else if tagType == TypeShort { + items, err := parser.ParseShorts(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + + if len(items) > 0 { + if justFirst == true { + return fmt.Sprintf("%v%s", items[0], valueSuffix), nil + } else { + return fmt.Sprintf("%v", items), nil + } + } else { + return "", nil + } + } else if tagType == TypeLong { + items, err := parser.ParseLongs(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + + if len(items) > 0 { + if justFirst == true { + return fmt.Sprintf("%v%s", items[0], valueSuffix), nil + } else { + return fmt.Sprintf("%v", items), nil + } + } else { + return "", nil + } + } else if tagType == TypeRational { + items, err := parser.ParseRationals(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + + if len(items) > 0 { + parts := make([]string, len(items)) + for i, r := range items { + parts[i] = fmt.Sprintf("%d/%d", r.Numerator, r.Denominator) + } + + if justFirst == true { + return fmt.Sprintf("%v%s", parts[0], valueSuffix), nil + } else { + return fmt.Sprintf("%v", parts), nil + } + } else { + return "", nil + } + } else if tagType == TypeSignedLong { + items, err := parser.ParseSignedLongs(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + + if len(items) > 0 { + if justFirst == true { + return fmt.Sprintf("%v%s", items[0], valueSuffix), nil + } else { + return fmt.Sprintf("%v", items), nil + } + } else { + return "", nil + } + } else if tagType == TypeSignedRational { + items, err := parser.ParseSignedRationals(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + + parts := make([]string, len(items)) + for i, r := range items { + parts[i] = fmt.Sprintf("%d/%d", r.Numerator, r.Denominator) + } + + if len(items) > 0 { + if justFirst == true { + return fmt.Sprintf("%v%s", parts[0], valueSuffix), nil + } else { + return fmt.Sprintf("%v", parts), nil + } + } else { + return "", nil + } + } else { + // Affects only "unknown" values, in general. + log.Panicf("value of type [%s] can not be formatted into string", tagType.String()) + + // Never called. + return "", nil + } +} + +func EncodeStringToBytes(tagType TagTypePrimitive, valueString string) (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if tagType == TypeUndefined { + // TODO(dustin): Circle back to this. + log.Panicf("undefined-type values are not supported") + } + + if tagType == TypeByte { + return []byte(valueString), nil + } else if tagType == TypeAscii || tagType == TypeAsciiNoNul { + // Whether or not we're putting an NUL on the end is only relevant for + // byte-level encoding. This function really just supports a user + // interface. + + return valueString, nil + } else if tagType == TypeShort { + n, err := strconv.ParseUint(valueString, 10, 16) + log.PanicIf(err) + + return uint16(n), nil + } else if tagType == TypeLong { + n, err := strconv.ParseUint(valueString, 10, 32) + log.PanicIf(err) + + return uint32(n), nil + } else if tagType == TypeRational { + parts := strings.SplitN(valueString, "/", 2) + + numerator, err := strconv.ParseUint(parts[0], 10, 32) + log.PanicIf(err) + + denominator, err := strconv.ParseUint(parts[1], 10, 32) + log.PanicIf(err) + + return Rational{ + Numerator: uint32(numerator), + Denominator: uint32(denominator), + }, nil + } else if tagType == TypeSignedLong { + n, err := strconv.ParseInt(valueString, 10, 32) + log.PanicIf(err) + + return int32(n), nil + } else if tagType == TypeSignedRational { + parts := strings.SplitN(valueString, "/", 2) + + numerator, err := strconv.ParseInt(parts[0], 10, 32) + log.PanicIf(err) + + denominator, err := strconv.ParseInt(parts[1], 10, 32) + log.PanicIf(err) + + return SignedRational{ + Numerator: int32(numerator), + Denominator: int32(denominator), + }, nil + } + + log.Panicf("from-string encoding for type not supported; this shouldn't happen: [%s]", tagType.String()) + return nil, nil +} + +func init() { + for typeId, typeName := range TypeNames { + TypeNamesR[typeName] = typeId + } +} diff --git a/vendor/github.com/dsoprea/go-exif/type_encode.go b/vendor/github.com/dsoprea/go-exif/type_encode.go new file mode 100644 index 000000000..9ff754916 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/type_encode.go @@ -0,0 +1,262 @@ +package exif + +import ( + "bytes" + "reflect" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + typeEncodeLogger = log.NewLogger("exif.type_encode") +) + +// EncodedData encapsulates the compound output of an encoding operation. +type EncodedData struct { + Type TagTypePrimitive + Encoded []byte + + // TODO(dustin): Is this really necessary? We might have this just to correlate to the incoming stream format (raw bytes and a unit-count both for incoming and outgoing). + UnitCount uint32 +} + +type ValueEncoder struct { + byteOrder binary.ByteOrder +} + +func NewValueEncoder(byteOrder binary.ByteOrder) *ValueEncoder { + return &ValueEncoder{ + byteOrder: byteOrder, + } +} + +func (ve *ValueEncoder) encodeBytes(value []uint8) (ed EncodedData, err error) { + ed.Type = TypeByte + ed.Encoded = []byte(value) + ed.UnitCount = uint32(len(value)) + + return ed, nil +} + +func (ve *ValueEncoder) encodeAscii(value string) (ed EncodedData, err error) { + ed.Type = TypeAscii + + ed.Encoded = []byte(value) + ed.Encoded = append(ed.Encoded, 0) + + ed.UnitCount = uint32(len(ed.Encoded)) + + return ed, nil +} + +// encodeAsciiNoNul returns a string encoded as a byte-string without a trailing +// NUL byte. +// +// Note that: +// +// 1. This type can not be automatically encoded using `Encode()`. The default +// mode is to encode *with* a trailing NUL byte using `encodeAscii`. Only +// certain undefined-type tags using an unterminated ASCII string and these +// are exceptional in nature. +// +// 2. The presence of this method allows us to completely test the complimentary +// no-nul parser. +// +func (ve *ValueEncoder) encodeAsciiNoNul(value string) (ed EncodedData, err error) { + ed.Type = TypeAsciiNoNul + ed.Encoded = []byte(value) + ed.UnitCount = uint32(len(ed.Encoded)) + + return ed, nil +} + +func (ve *ValueEncoder) encodeShorts(value []uint16) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + ed.Encoded = make([]byte, ed.UnitCount*2) + + for i := uint32(0); i < ed.UnitCount; i++ { + ve.byteOrder.PutUint16(ed.Encoded[i*2:(i+1)*2], value[i]) + } + + ed.Type = TypeShort + + return ed, nil +} + +func (ve *ValueEncoder) encodeLongs(value []uint32) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + ed.Encoded = make([]byte, ed.UnitCount*4) + + for i := uint32(0); i < ed.UnitCount; i++ { + ve.byteOrder.PutUint32(ed.Encoded[i*4:(i+1)*4], value[i]) + } + + ed.Type = TypeLong + + return ed, nil +} + +func (ve *ValueEncoder) encodeRationals(value []Rational) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + ed.Encoded = make([]byte, ed.UnitCount*8) + + for i := uint32(0); i < ed.UnitCount; i++ { + ve.byteOrder.PutUint32(ed.Encoded[i*8+0:i*8+4], value[i].Numerator) + ve.byteOrder.PutUint32(ed.Encoded[i*8+4:i*8+8], value[i].Denominator) + } + + ed.Type = TypeRational + + return ed, nil +} + +func (ve *ValueEncoder) encodeSignedLongs(value []int32) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + + b := bytes.NewBuffer(make([]byte, 0, 8*ed.UnitCount)) + + for i := uint32(0); i < ed.UnitCount; i++ { + err := binary.Write(b, ve.byteOrder, value[i]) + log.PanicIf(err) + } + + ed.Type = TypeSignedLong + ed.Encoded = b.Bytes() + + return ed, nil +} + +func (ve *ValueEncoder) encodeSignedRationals(value []SignedRational) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + + b := bytes.NewBuffer(make([]byte, 0, 8*ed.UnitCount)) + + for i := uint32(0); i < ed.UnitCount; i++ { + err := binary.Write(b, ve.byteOrder, value[i].Numerator) + log.PanicIf(err) + + err = binary.Write(b, ve.byteOrder, value[i].Denominator) + log.PanicIf(err) + } + + ed.Type = TypeSignedRational + ed.Encoded = b.Bytes() + + return ed, nil +} + +// Encode returns bytes for the given value, infering type from the actual +// value. This does not support `TypeAsciiNoNull` (all strings are encoded as +// `TypeAscii`). +func (ve *ValueEncoder) Encode(value interface{}) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): This is redundant with EncodeWithType. Refactor one to use the other. + + switch value.(type) { + case []byte: + ed, err = ve.encodeBytes(value.([]byte)) + log.PanicIf(err) + case string: + ed, err = ve.encodeAscii(value.(string)) + log.PanicIf(err) + case []uint16: + ed, err = ve.encodeShorts(value.([]uint16)) + log.PanicIf(err) + case []uint32: + ed, err = ve.encodeLongs(value.([]uint32)) + log.PanicIf(err) + case []Rational: + ed, err = ve.encodeRationals(value.([]Rational)) + log.PanicIf(err) + case []int32: + ed, err = ve.encodeSignedLongs(value.([]int32)) + log.PanicIf(err) + case []SignedRational: + ed, err = ve.encodeSignedRationals(value.([]SignedRational)) + log.PanicIf(err) + default: + log.Panicf("value not encodable: [%s] [%v]", reflect.TypeOf(value), value) + } + + return ed, nil +} + +// EncodeWithType returns bytes for the given value, using the given `TagType` +// value to determine how to encode. This supports `TypeAsciiNoNul`. +func (ve *ValueEncoder) EncodeWithType(tt TagType, value interface{}) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): This is redundant with Encode. Refactor one to use the other. + + switch tt.Type() { + case TypeByte: + ed, err = ve.encodeBytes(value.([]byte)) + log.PanicIf(err) + case TypeAscii: + ed, err = ve.encodeAscii(value.(string)) + log.PanicIf(err) + case TypeAsciiNoNul: + ed, err = ve.encodeAsciiNoNul(value.(string)) + log.PanicIf(err) + case TypeShort: + ed, err = ve.encodeShorts(value.([]uint16)) + log.PanicIf(err) + case TypeLong: + ed, err = ve.encodeLongs(value.([]uint32)) + log.PanicIf(err) + case TypeRational: + ed, err = ve.encodeRationals(value.([]Rational)) + log.PanicIf(err) + case TypeSignedLong: + ed, err = ve.encodeSignedLongs(value.([]int32)) + log.PanicIf(err) + case TypeSignedRational: + ed, err = ve.encodeSignedRationals(value.([]SignedRational)) + log.PanicIf(err) + default: + log.Panicf("value not encodable (with type): %v [%v]", tt, value) + } + + return ed, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/utility.go b/vendor/github.com/dsoprea/go-exif/utility.go new file mode 100644 index 000000000..3d1ea2489 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/utility.go @@ -0,0 +1,222 @@ +package exif + +import ( + "bytes" + "fmt" + "strconv" + "strings" + "time" + + "github.com/dsoprea/go-logging" +) + +func DumpBytes(data []byte) { + fmt.Printf("DUMP: ") + for _, x := range data { + fmt.Printf("%02x ", x) + } + + fmt.Printf("\n") +} + +func DumpBytesClause(data []byte) { + fmt.Printf("DUMP: ") + + fmt.Printf("[]byte { ") + + for i, x := range data { + fmt.Printf("0x%02x", x) + + if i < len(data)-1 { + fmt.Printf(", ") + } + } + + fmt.Printf(" }\n") +} + +func DumpBytesToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("%02x", x)) + log.PanicIf(err) + + if i < len(data)-1 { + _, err := b.WriteRune(' ') + log.PanicIf(err) + } + } + + return b.String() +} + +func DumpBytesClauseToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("0x%02x", x)) + log.PanicIf(err) + + if i < len(data)-1 { + _, err := b.WriteString(", ") + log.PanicIf(err) + } + } + + return b.String() +} + +// ParseExifFullTimestamp parses dates like "2018:11:30 13:01:49" into a UTC +// `time.Time` struct. +func ParseExifFullTimestamp(fullTimestampPhrase string) (timestamp time.Time, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + parts := strings.Split(fullTimestampPhrase, " ") + datestampValue, timestampValue := parts[0], parts[1] + + dateParts := strings.Split(datestampValue, ":") + + year, err := strconv.ParseUint(dateParts[0], 10, 16) + if err != nil { + log.Panicf("could not parse year") + } + + month, err := strconv.ParseUint(dateParts[1], 10, 8) + if err != nil { + log.Panicf("could not parse month") + } + + day, err := strconv.ParseUint(dateParts[2], 10, 8) + if err != nil { + log.Panicf("could not parse day") + } + + timeParts := strings.Split(timestampValue, ":") + + hour, err := strconv.ParseUint(timeParts[0], 10, 8) + if err != nil { + log.Panicf("could not parse hour") + } + + minute, err := strconv.ParseUint(timeParts[1], 10, 8) + if err != nil { + log.Panicf("could not parse minute") + } + + second, err := strconv.ParseUint(timeParts[2], 10, 8) + if err != nil { + log.Panicf("could not parse second") + } + + timestamp = time.Date(int(year), time.Month(month), int(day), int(hour), int(minute), int(second), 0, time.UTC) + return timestamp, nil +} + +// ExifFullTimestampString produces a string like "2018:11:30 13:01:49" from a +// `time.Time` struct. It will attempt to convert to UTC first. +func ExifFullTimestampString(t time.Time) (fullTimestampPhrase string) { + t = t.UTC() + + return fmt.Sprintf("%04d:%02d:%02d %02d:%02d:%02d", t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second()) +} + +// ExifTag is one simple representation of a tag in a flat list of all of them. +type ExifTag struct { + IfdPath string `json:"ifd_path"` + + TagId uint16 `json:"id"` + TagName string `json:"name"` + + TagTypeId TagTypePrimitive `json:"type_id"` + TagTypeName string `json:"type_name"` + Value interface{} `json:"value"` + ValueBytes []byte `json:"value_bytes"` + + ChildIfdPath string `json:"child_ifd_path"` +} + +// String returns a string representation. +func (et ExifTag) String() string { + return fmt.Sprintf("ExifTag 0 { + var ifd *Ifd + ifd, q = q[0], q[1:] + + ti := NewTagIndex() + for _, ite := range ifd.Entries { + tagName := "" + + it, err := ti.Get(ifd.IfdPath, ite.TagId) + if err != nil { + // If it's a non-standard tag, just leave the name blank. + if log.Is(err, ErrTagNotFound) != true { + log.PanicIf(err) + } + } else { + tagName = it.Name + } + + value, err := ifd.TagValue(ite) + if err != nil { + if err == ErrUnhandledUnknownTypedTag { + value = UnparseableUnknownTagValuePlaceholder + } else { + log.Panic(err) + } + } + + valueBytes, err := ifd.TagValueBytes(ite) + if err != nil && err != ErrUnhandledUnknownTypedTag { + log.Panic(err) + } + + et := ExifTag{ + IfdPath: ifd.IfdPath, + TagId: ite.TagId, + TagName: tagName, + TagTypeId: ite.TagType, + TagTypeName: TypeNames[ite.TagType], + Value: value, + ValueBytes: valueBytes, + ChildIfdPath: ite.ChildIfdPath, + } + + exifTags = append(exifTags, et) + } + + for _, childIfd := range ifd.Children { + q = append(q, childIfd) + } + + if ifd.NextIfd != nil { + q = append(q, ifd.NextIfd) + } + } + + return exifTags, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/.MODULE_ROOT b/vendor/github.com/dsoprea/go-exif/v2/.MODULE_ROOT new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/dsoprea/go-exif/v2/LICENSE b/vendor/github.com/dsoprea/go-exif/v2/LICENSE new file mode 100644 index 000000000..0b9358a3a --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/LICENSE @@ -0,0 +1,9 @@ +MIT LICENSE + +Copyright 2019 Dustin Oprea + +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/dsoprea/go-exif/v2/common/ifd.go b/vendor/github.com/dsoprea/go-exif/v2/common/ifd.go new file mode 100644 index 000000000..9b93f04d9 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/common/ifd.go @@ -0,0 +1,659 @@ +package exifcommon + +import ( + "errors" + "fmt" + "strings" + + "github.com/dsoprea/go-logging" +) + +var ( + ifdLogger = log.NewLogger("exifcommon.ifd") +) + +var ( + ErrChildIfdNotMapped = errors.New("no child-IFD for that tag-ID under parent") +) + +// MappedIfd is one node in the IFD-mapping. +type MappedIfd struct { + ParentTagId uint16 + Placement []uint16 + Path []string + + Name string + TagId uint16 + Children map[uint16]*MappedIfd +} + +// String returns a descriptive string. +func (mi *MappedIfd) String() string { + pathPhrase := mi.PathPhrase() + return fmt.Sprintf("MappedIfd<(0x%04X) [%s] PATH=[%s]>", mi.TagId, mi.Name, pathPhrase) +} + +// PathPhrase returns a non-fully-qualified IFD path. +func (mi *MappedIfd) PathPhrase() string { + return strings.Join(mi.Path, "/") +} + +// TODO(dustin): Refactor this to use IfdIdentity structs. + +// IfdMapping describes all of the IFDs that we currently recognize. +type IfdMapping struct { + rootNode *MappedIfd +} + +// NewIfdMapping returns a new IfdMapping struct. +func NewIfdMapping() (ifdMapping *IfdMapping) { + rootNode := &MappedIfd{ + Path: make([]string, 0), + Children: make(map[uint16]*MappedIfd), + } + + return &IfdMapping{ + rootNode: rootNode, + } +} + +// NewIfdMappingWithStandard retruns a new IfdMapping struct preloaded with the +// standard IFDs. +func NewIfdMappingWithStandard() (ifdMapping *IfdMapping) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + im := NewIfdMapping() + + err := LoadStandardIfds(im) + log.PanicIf(err) + + return im +} + +// Get returns the node given the path slice. +func (im *IfdMapping) Get(parentPlacement []uint16) (childIfd *MappedIfd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ptr := im.rootNode + for _, tagId := range parentPlacement { + if descendantPtr, found := ptr.Children[tagId]; found == false { + log.Panicf("ifd child with tag-ID (%04x) not registered: [%s]", tagId, ptr.PathPhrase()) + } else { + ptr = descendantPtr + } + } + + return ptr, nil +} + +// GetWithPath returns the node given the path string. +func (im *IfdMapping) GetWithPath(pathPhrase string) (mi *MappedIfd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if pathPhrase == "" { + log.Panicf("path-phrase is empty") + } + + path := strings.Split(pathPhrase, "/") + ptr := im.rootNode + + for _, name := range path { + var hit *MappedIfd + for _, mi := range ptr.Children { + if mi.Name == name { + hit = mi + break + } + } + + if hit == nil { + log.Panicf("ifd child with name [%s] not registered: [%s]", name, ptr.PathPhrase()) + } + + ptr = hit + } + + return ptr, nil +} + +// GetChild is a convenience function to get the child path for a given parent +// placement and child tag-ID. +func (im *IfdMapping) GetChild(parentPathPhrase string, tagId uint16) (mi *MappedIfd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + mi, err = im.GetWithPath(parentPathPhrase) + log.PanicIf(err) + + for _, childMi := range mi.Children { + if childMi.TagId == tagId { + return childMi, nil + } + } + + // Whether or not an IFD is defined in data, such an IFD is not registered + // and would be unknown. + log.Panic(ErrChildIfdNotMapped) + return nil, nil +} + +// IfdTagIdAndIndex represents a specific part of the IFD path. +// +// This is a legacy type. +type IfdTagIdAndIndex struct { + Name string + TagId uint16 + Index int +} + +// String returns a descriptive string. +func (itii IfdTagIdAndIndex) String() string { + return fmt.Sprintf("IfdTagIdAndIndex", itii.Name, itii.TagId, itii.Index) +} + +// ResolvePath takes a list of names, which can also be suffixed with indices +// (to identify the second, third, etc.. sibling IFD) and returns a list of +// tag-IDs and those indices. +// +// Example: +// +// - IFD/Exif/Iop +// - IFD0/Exif/Iop +// +// This is the only call that supports adding the numeric indices. +func (im *IfdMapping) ResolvePath(pathPhrase string) (lineage []IfdTagIdAndIndex, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + pathPhrase = strings.TrimSpace(pathPhrase) + + if pathPhrase == "" { + log.Panicf("can not resolve empty path-phrase") + } + + path := strings.Split(pathPhrase, "/") + lineage = make([]IfdTagIdAndIndex, len(path)) + + ptr := im.rootNode + empty := IfdTagIdAndIndex{} + for i, name := range path { + indexByte := name[len(name)-1] + index := 0 + if indexByte >= '0' && indexByte <= '9' { + index = int(indexByte - '0') + name = name[:len(name)-1] + } + + itii := IfdTagIdAndIndex{} + for _, mi := range ptr.Children { + if mi.Name != name { + continue + } + + itii.Name = name + itii.TagId = mi.TagId + itii.Index = index + + ptr = mi + + break + } + + if itii == empty { + log.Panicf("ifd child with name [%s] not registered: [%s]", name, pathPhrase) + } + + lineage[i] = itii + } + + return lineage, nil +} + +// FqPathPhraseFromLineage returns the fully-qualified IFD path from the slice. +func (im *IfdMapping) FqPathPhraseFromLineage(lineage []IfdTagIdAndIndex) (fqPathPhrase string) { + fqPathParts := make([]string, len(lineage)) + for i, itii := range lineage { + if itii.Index > 0 { + fqPathParts[i] = fmt.Sprintf("%s%d", itii.Name, itii.Index) + } else { + fqPathParts[i] = itii.Name + } + } + + return strings.Join(fqPathParts, "/") +} + +// PathPhraseFromLineage returns the non-fully-qualified IFD path from the +// slice. +func (im *IfdMapping) PathPhraseFromLineage(lineage []IfdTagIdAndIndex) (pathPhrase string) { + pathParts := make([]string, len(lineage)) + for i, itii := range lineage { + pathParts[i] = itii.Name + } + + return strings.Join(pathParts, "/") +} + +// StripPathPhraseIndices returns a non-fully-qualified path-phrase (no +// indices). +func (im *IfdMapping) StripPathPhraseIndices(pathPhrase string) (strippedPathPhrase string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + lineage, err := im.ResolvePath(pathPhrase) + log.PanicIf(err) + + strippedPathPhrase = im.PathPhraseFromLineage(lineage) + return strippedPathPhrase, nil +} + +// Add puts the given IFD at the given position of the tree. The position of the +// tree is referred to as the placement and is represented by a set of tag-IDs, +// where the leftmost is the root tag and the tags going to the right are +// progressive descendants. +func (im *IfdMapping) Add(parentPlacement []uint16, tagId uint16, name string) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! It would be nicer to provide a list of names in the placement rather than tag-IDs. + + ptr, err := im.Get(parentPlacement) + log.PanicIf(err) + + path := make([]string, len(parentPlacement)+1) + if len(parentPlacement) > 0 { + copy(path, ptr.Path) + } + + path[len(path)-1] = name + + placement := make([]uint16, len(parentPlacement)+1) + if len(placement) > 0 { + copy(placement, ptr.Placement) + } + + placement[len(placement)-1] = tagId + + childIfd := &MappedIfd{ + ParentTagId: ptr.TagId, + Path: path, + Placement: placement, + Name: name, + TagId: tagId, + Children: make(map[uint16]*MappedIfd), + } + + if _, found := ptr.Children[tagId]; found == true { + log.Panicf("child IFD with tag-ID (%04x) already registered under IFD [%s] with tag-ID (%04x)", tagId, ptr.Name, ptr.TagId) + } + + ptr.Children[tagId] = childIfd + + return nil +} + +func (im *IfdMapping) dumpLineages(stack []*MappedIfd, input []string) (output []string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + currentIfd := stack[len(stack)-1] + + output = input + for _, childIfd := range currentIfd.Children { + stackCopy := make([]*MappedIfd, len(stack)+1) + + copy(stackCopy, stack) + stackCopy[len(stack)] = childIfd + + // Add to output, but don't include the obligatory root node. + parts := make([]string, len(stackCopy)-1) + for i, mi := range stackCopy[1:] { + parts[i] = mi.Name + } + + output = append(output, strings.Join(parts, "/")) + + output, err = im.dumpLineages(stackCopy, output) + log.PanicIf(err) + } + + return output, nil +} + +// DumpLineages returns a slice of strings representing all mappings. +func (im *IfdMapping) DumpLineages() (output []string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + stack := []*MappedIfd{im.rootNode} + output = make([]string, 0) + + output, err = im.dumpLineages(stack, output) + log.PanicIf(err) + + return output, nil +} + +// LoadStandardIfds loads the standard IFDs into the mapping. +func LoadStandardIfds(im *IfdMapping) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = im.Add( + []uint16{}, + IfdStandardIfdIdentity.TagId(), IfdStandardIfdIdentity.Name()) + + log.PanicIf(err) + + err = im.Add( + []uint16{IfdStandardIfdIdentity.TagId()}, + IfdExifStandardIfdIdentity.TagId(), IfdExifStandardIfdIdentity.Name()) + + log.PanicIf(err) + + err = im.Add( + []uint16{IfdStandardIfdIdentity.TagId(), IfdExifStandardIfdIdentity.TagId()}, + IfdExifIopStandardIfdIdentity.TagId(), IfdExifIopStandardIfdIdentity.Name()) + + log.PanicIf(err) + + err = im.Add( + []uint16{IfdStandardIfdIdentity.TagId()}, + IfdGpsInfoStandardIfdIdentity.TagId(), IfdGpsInfoStandardIfdIdentity.Name()) + + log.PanicIf(err) + + return nil +} + +// IfdTag describes a single IFD tag and its parent (if any). +type IfdTag struct { + parentIfdTag *IfdTag + tagId uint16 + name string +} + +func NewIfdTag(parentIfdTag *IfdTag, tagId uint16, name string) IfdTag { + return IfdTag{ + parentIfdTag: parentIfdTag, + tagId: tagId, + name: name, + } +} + +// ParentIfd returns the IfdTag of this IFD's parent. +func (it IfdTag) ParentIfd() *IfdTag { + return it.parentIfdTag +} + +// TagId returns the tag-ID of this IFD. +func (it IfdTag) TagId() uint16 { + return it.tagId +} + +// Name returns the simple name of this IFD. +func (it IfdTag) Name() string { + return it.name +} + +// String returns a descriptive string. +func (it IfdTag) String() string { + parentIfdPhrase := "" + if it.parentIfdTag != nil { + parentIfdPhrase = fmt.Sprintf(" PARENT=(0x%04x)[%s]", it.parentIfdTag.tagId, it.parentIfdTag.name) + } + + return fmt.Sprintf("IfdTag", it.tagId, it.name, parentIfdPhrase) +} + +var ( + // rootStandardIfd is the standard root IFD. + rootStandardIfd = NewIfdTag(nil, 0x0000, "IFD") // IFD + + // exifStandardIfd is the standard "Exif" IFD. + exifStandardIfd = NewIfdTag(&rootStandardIfd, 0x8769, "Exif") // IFD/Exif + + // iopStandardIfd is the standard "Iop" IFD. + iopStandardIfd = NewIfdTag(&exifStandardIfd, 0xA005, "Iop") // IFD/Exif/Iop + + // gpsInfoStandardIfd is the standard "GPS" IFD. + gpsInfoStandardIfd = NewIfdTag(&rootStandardIfd, 0x8825, "GPSInfo") // IFD/GPSInfo +) + +// IfdIdentityPart represents one component in an IFD path. +type IfdIdentityPart struct { + Name string + Index int +} + +// String returns a fully-qualified IFD path. +func (iip IfdIdentityPart) String() string { + if iip.Index > 0 { + return fmt.Sprintf("%s%d", iip.Name, iip.Index) + } else { + return iip.Name + } +} + +// UnindexedString returned a non-fully-qualified IFD path. +func (iip IfdIdentityPart) UnindexedString() string { + return iip.Name +} + +// IfdIdentity represents a single IFD path and provides access to various +// information and representations. +// +// Only global instances can be used for equality checks. +type IfdIdentity struct { + ifdTag IfdTag + parts []IfdIdentityPart + ifdPath string + fqIfdPath string +} + +// NewIfdIdentity returns a new IfdIdentity struct. +func NewIfdIdentity(ifdTag IfdTag, parts ...IfdIdentityPart) (ii *IfdIdentity) { + ii = &IfdIdentity{ + ifdTag: ifdTag, + parts: parts, + } + + ii.ifdPath = ii.getIfdPath() + ii.fqIfdPath = ii.getFqIfdPath() + + return ii +} + +// NewIfdIdentityFromString parses a string like "IFD/Exif" or "IFD1" or +// something more exotic with custom IFDs ("SomeIFD4/SomeChildIFD6"). Note that +// this will valid the unindexed IFD structure (because the standard tags from +// the specification are unindexed), but not, obviously, any indices (e.g. +// the numbers in "IFD0", "IFD1", "SomeIFD4/SomeChildIFD6"). It is +// required for the caller to check whether these specific instances +// were actually parsed out of the stream. +func NewIfdIdentityFromString(im *IfdMapping, fqIfdPath string) (ii *IfdIdentity, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + lineage, err := im.ResolvePath(fqIfdPath) + log.PanicIf(err) + + var lastIt *IfdTag + identityParts := make([]IfdIdentityPart, len(lineage)) + for i, itii := range lineage { + // Build out the tag that will eventually point to the IFD represented + // by the right-most part in the IFD path. + + it := &IfdTag{ + parentIfdTag: lastIt, + tagId: itii.TagId, + name: itii.Name, + } + + lastIt = it + + // Create the next IfdIdentity part. + + iip := IfdIdentityPart{ + Name: itii.Name, + Index: itii.Index, + } + + identityParts[i] = iip + } + + ii = NewIfdIdentity(*lastIt, identityParts...) + return ii, nil +} + +func (ii *IfdIdentity) getFqIfdPath() string { + partPhrases := make([]string, len(ii.parts)) + for i, iip := range ii.parts { + partPhrases[i] = iip.String() + } + + return strings.Join(partPhrases, "/") +} + +func (ii *IfdIdentity) getIfdPath() string { + partPhrases := make([]string, len(ii.parts)) + for i, iip := range ii.parts { + partPhrases[i] = iip.UnindexedString() + } + + return strings.Join(partPhrases, "/") +} + +// String returns a fully-qualified IFD path. +func (ii *IfdIdentity) String() string { + return ii.fqIfdPath +} + +// UnindexedString returns a non-fully-qualified IFD path. +func (ii *IfdIdentity) UnindexedString() string { + return ii.ifdPath +} + +// IfdTag returns the tag struct behind this IFD. +func (ii *IfdIdentity) IfdTag() IfdTag { + return ii.ifdTag +} + +// TagId returns the tag-ID of the IFD. +func (ii *IfdIdentity) TagId() uint16 { + return ii.ifdTag.TagId() +} + +// LeafPathPart returns the last right-most path-part, which represents the +// current IFD. +func (ii *IfdIdentity) LeafPathPart() IfdIdentityPart { + return ii.parts[len(ii.parts)-1] +} + +// Name returns the simple name of this IFD. +func (ii *IfdIdentity) Name() string { + return ii.LeafPathPart().Name +} + +// Index returns the index of this IFD (more then one IFD under a parent IFD +// will be numbered [0..n]). +func (ii *IfdIdentity) Index() int { + return ii.LeafPathPart().Index +} + +// Equals returns true if the two IfdIdentity instances are effectively +// identical. +// +// Since there's no way to get a specific fully-qualified IFD path without a +// certain slice of parts and all other fields are also derived from this, +// checking that the fully-qualified IFD path is equals is sufficient. +func (ii *IfdIdentity) Equals(ii2 *IfdIdentity) bool { + return ii.String() == ii2.String() +} + +// NewChild creates an IfdIdentity for an IFD that is a child of the current +// IFD. +func (ii *IfdIdentity) NewChild(childIfdTag IfdTag, index int) (iiChild *IfdIdentity) { + if *childIfdTag.parentIfdTag != ii.ifdTag { + log.Panicf("can not add child; we are not the parent:\nUS=%v\nCHILD=%v", ii.ifdTag, childIfdTag) + } + + childPart := IfdIdentityPart{childIfdTag.name, index} + childParts := append(ii.parts, childPart) + + iiChild = NewIfdIdentity(childIfdTag, childParts...) + return iiChild +} + +// NewSibling creates an IfdIdentity for an IFD that is a sibling to the current +// one. +func (ii *IfdIdentity) NewSibling(index int) (iiSibling *IfdIdentity) { + parts := make([]IfdIdentityPart, len(ii.parts)) + + copy(parts, ii.parts) + parts[len(parts)-1].Index = index + + iiSibling = NewIfdIdentity(ii.ifdTag, parts...) + return iiSibling +} + +var ( + // IfdStandardIfdIdentity represents the IFD path for IFD0. + IfdStandardIfdIdentity = NewIfdIdentity(rootStandardIfd, IfdIdentityPart{"IFD", 0}) + + // IfdExifStandardIfdIdentity represents the IFD path for IFD0/Exif0. + IfdExifStandardIfdIdentity = IfdStandardIfdIdentity.NewChild(exifStandardIfd, 0) + + // IfdExifIopStandardIfdIdentity represents the IFD path for IFD0/Exif0/Iop0. + IfdExifIopStandardIfdIdentity = IfdExifStandardIfdIdentity.NewChild(iopStandardIfd, 0) + + // IfdGPSInfoStandardIfdIdentity represents the IFD path for IFD0/GPSInfo0. + IfdGpsInfoStandardIfdIdentity = IfdStandardIfdIdentity.NewChild(gpsInfoStandardIfd, 0) + + // Ifd1StandardIfdIdentity represents the IFD path for IFD1. + Ifd1StandardIfdIdentity = NewIfdIdentity(rootStandardIfd, IfdIdentityPart{"IFD", 1}) +) + +var ( + IfdPathStandard = IfdStandardIfdIdentity + IfdPathStandardExif = IfdExifStandardIfdIdentity + IfdPathStandardExifIop = IfdExifIopStandardIfdIdentity + IfdPathStandardGps = IfdGpsInfoStandardIfdIdentity +) diff --git a/vendor/github.com/dsoprea/go-exif/v2/common/parser.go b/vendor/github.com/dsoprea/go-exif/v2/common/parser.go new file mode 100644 index 000000000..bbdd8f53a --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/common/parser.go @@ -0,0 +1,219 @@ +package exifcommon + +import ( + "bytes" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + parserLogger = log.NewLogger("exifcommon.parser") +) + +// Parser knows how to parse all well-defined, encoded EXIF types. +type Parser struct { +} + +// ParseBytesknows how to parse a byte-type value. +func (p *Parser) ParseBytes(data []byte, unitCount uint32) (value []uint8, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + count := int(unitCount) + + if len(data) < (TypeByte.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + value = []uint8(data[:count]) + + return value, nil +} + +// ParseAscii returns a string and auto-strips the trailing NUL character that +// should be at the end of the encoding. +func (p *Parser) ParseAscii(data []byte, unitCount uint32) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + count := int(unitCount) + + if len(data) < (TypeAscii.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + if len(data) == 0 || data[count-1] != 0 { + s := string(data[:count]) + parserLogger.Warningf(nil, "ascii not terminated with nul as expected: [%v]", s) + + return s, nil + } + + // Auto-strip the NUL from the end. It serves no purpose outside of + // encoding semantics. + + return string(data[:count-1]), nil +} + +// ParseAsciiNoNul returns a string without any consideration for a trailing NUL +// character. +func (p *Parser) ParseAsciiNoNul(data []byte, unitCount uint32) (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + count := int(unitCount) + + if len(data) < (TypeAscii.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + return string(data[:count]), nil +} + +// ParseShorts knows how to parse an encoded list of shorts. +func (p *Parser) ParseShorts(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []uint16, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + count := int(unitCount) + + if len(data) < (TypeShort.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + value = make([]uint16, count) + for i := 0; i < count; i++ { + value[i] = byteOrder.Uint16(data[i*2:]) + } + + return value, nil +} + +// ParseLongs knows how to encode an encoded list of unsigned longs. +func (p *Parser) ParseLongs(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + count := int(unitCount) + + if len(data) < (TypeLong.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + value = make([]uint32, count) + for i := 0; i < count; i++ { + value[i] = byteOrder.Uint32(data[i*4:]) + } + + return value, nil +} + +// ParseRationals knows how to parse an encoded list of unsigned rationals. +func (p *Parser) ParseRationals(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []Rational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + count := int(unitCount) + + if len(data) < (TypeRational.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + value = make([]Rational, count) + for i := 0; i < count; i++ { + value[i].Numerator = byteOrder.Uint32(data[i*8:]) + value[i].Denominator = byteOrder.Uint32(data[i*8+4:]) + } + + return value, nil +} + +// ParseSignedLongs knows how to parse an encoded list of signed longs. +func (p *Parser) ParseSignedLongs(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []int32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + count := int(unitCount) + + if len(data) < (TypeSignedLong.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + b := bytes.NewBuffer(data) + + value = make([]int32, count) + for i := 0; i < count; i++ { + err := binary.Read(b, byteOrder, &value[i]) + log.PanicIf(err) + } + + return value, nil +} + +// ParseSignedRationals knows how to parse an encoded list of signed +// rationals. +func (p *Parser) ParseSignedRationals(data []byte, unitCount uint32, byteOrder binary.ByteOrder) (value []SignedRational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + count := int(unitCount) + + if len(data) < (TypeSignedRational.Size() * count) { + log.Panic(ErrNotEnoughData) + } + + b := bytes.NewBuffer(data) + + value = make([]SignedRational, count) + for i := 0; i < count; i++ { + err = binary.Read(b, byteOrder, &value[i].Numerator) + log.PanicIf(err) + + err = binary.Read(b, byteOrder, &value[i].Denominator) + log.PanicIf(err) + } + + return value, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/common/testing_common.go b/vendor/github.com/dsoprea/go-exif/v2/common/testing_common.go new file mode 100644 index 000000000..f04fa22b6 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/common/testing_common.go @@ -0,0 +1,88 @@ +package exifcommon + +import ( + "os" + "path" + + "encoding/binary" + "io/ioutil" + + "github.com/dsoprea/go-logging" +) + +var ( + moduleRootPath = "" + + testExifData []byte = nil + + // EncodeDefaultByteOrder is the default byte-order for encoding operations. + EncodeDefaultByteOrder = binary.BigEndian + + // Default byte order for tests. + TestDefaultByteOrder = binary.BigEndian +) + +func GetModuleRootPath() string { + if moduleRootPath == "" { + moduleRootPath = os.Getenv("EXIF_MODULE_ROOT_PATH") + if moduleRootPath != "" { + return moduleRootPath + } + + currentWd, err := os.Getwd() + log.PanicIf(err) + + currentPath := currentWd + + visited := make([]string, 0) + + for { + tryStampFilepath := path.Join(currentPath, ".MODULE_ROOT") + + _, err := os.Stat(tryStampFilepath) + if err != nil && os.IsNotExist(err) != true { + log.Panic(err) + } else if err == nil { + break + } + + visited = append(visited, tryStampFilepath) + + currentPath = path.Dir(currentPath) + if currentPath == "/" { + log.Panicf("could not find module-root: %v", visited) + } + } + + moduleRootPath = currentPath + } + + return moduleRootPath +} + +func GetTestAssetsPath() string { + moduleRootPath := GetModuleRootPath() + assetsPath := path.Join(moduleRootPath, "assets") + + return assetsPath +} + +func getTestImageFilepath() string { + assetsPath := GetTestAssetsPath() + testImageFilepath := path.Join(assetsPath, "NDM_8901.jpg") + return testImageFilepath +} + +func getTestExifData() []byte { + if testExifData == nil { + assetsPath := GetTestAssetsPath() + filepath := path.Join(assetsPath, "NDM_8901.jpg.exif") + + var err error + + testExifData, err = ioutil.ReadFile(filepath) + log.PanicIf(err) + } + + return testExifData +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/common/type.go b/vendor/github.com/dsoprea/go-exif/v2/common/type.go new file mode 100644 index 000000000..86b38d044 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/common/type.go @@ -0,0 +1,452 @@ +package exifcommon + +import ( + "errors" + "fmt" + "reflect" + "strconv" + "strings" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + typeLogger = log.NewLogger("exif.type") +) + +var ( + // ErrNotEnoughData is used when there isn't enough data to accommodate what + // we're trying to parse (sizeof(type) * unit_count). + ErrNotEnoughData = errors.New("not enough data for type") + + // ErrWrongType is used when we try to parse anything other than the + // current type. + ErrWrongType = errors.New("wrong type, can not parse") + + // ErrUnhandledUndefinedTypedTag is used when we try to parse a tag that's + // recorded as an "unknown" type but not a documented tag (therefore + // leaving us not knowning how to read it). + ErrUnhandledUndefinedTypedTag = errors.New("not a standard unknown-typed tag") +) + +// TagTypePrimitive is a type-alias that let's us easily lookup type properties. +type TagTypePrimitive uint16 + +const ( + // TypeByte describes an encoded list of bytes. + TypeByte TagTypePrimitive = 1 + + // TypeAscii describes an encoded list of characters that is terminated + // with a NUL in its encoded form. + TypeAscii TagTypePrimitive = 2 + + // TypeShort describes an encoded list of shorts. + TypeShort TagTypePrimitive = 3 + + // TypeLong describes an encoded list of longs. + TypeLong TagTypePrimitive = 4 + + // TypeRational describes an encoded list of rationals. + TypeRational TagTypePrimitive = 5 + + // TypeUndefined describes an encoded value that has a complex/non-clearcut + // interpretation. + TypeUndefined TagTypePrimitive = 7 + + // We've seen type-8, but have no documentation on it. + + // TypeSignedLong describes an encoded list of signed longs. + TypeSignedLong TagTypePrimitive = 9 + + // TypeSignedRational describes an encoded list of signed rationals. + TypeSignedRational TagTypePrimitive = 10 + + // TypeAsciiNoNul is just a pseudo-type, for our own purposes. + TypeAsciiNoNul TagTypePrimitive = 0xf0 +) + +// String returns the name of the type +func (typeType TagTypePrimitive) String() string { + return TypeNames[typeType] +} + +// Size returns the size of one atomic unit of the type. +func (tagType TagTypePrimitive) Size() int { + if tagType == TypeByte { + return 1 + } else if tagType == TypeAscii || tagType == TypeAsciiNoNul { + return 1 + } else if tagType == TypeShort { + return 2 + } else if tagType == TypeLong { + return 4 + } else if tagType == TypeRational { + return 8 + } else if tagType == TypeSignedLong { + return 4 + } else if tagType == TypeSignedRational { + return 8 + } else { + log.Panicf("can not determine tag-value size for type (%d): [%s]", tagType, TypeNames[tagType]) + + // Never called. + return 0 + } +} + +// IsValid returns true if tagType is a valid type. +func (tagType TagTypePrimitive) IsValid() bool { + + // TODO(dustin): Add test + + return tagType == TypeByte || + tagType == TypeAscii || + tagType == TypeAsciiNoNul || + tagType == TypeShort || + tagType == TypeLong || + tagType == TypeRational || + tagType == TypeSignedLong || + tagType == TypeSignedRational || + tagType == TypeUndefined +} + +var ( + // TODO(dustin): Rename TypeNames() to typeNames() and add getter. + TypeNames = map[TagTypePrimitive]string{ + TypeByte: "BYTE", + TypeAscii: "ASCII", + TypeShort: "SHORT", + TypeLong: "LONG", + TypeRational: "RATIONAL", + TypeUndefined: "UNDEFINED", + TypeSignedLong: "SLONG", + TypeSignedRational: "SRATIONAL", + + TypeAsciiNoNul: "_ASCII_NO_NUL", + } + + typeNamesR = map[string]TagTypePrimitive{} +) + +// Rational describes an unsigned rational value. +type Rational struct { + // Numerator is the numerator of the rational value. + Numerator uint32 + + // Denominator is the numerator of the rational value. + Denominator uint32 +} + +// SignedRational describes a signed rational value. +type SignedRational struct { + // Numerator is the numerator of the rational value. + Numerator int32 + + // Denominator is the numerator of the rational value. + Denominator int32 +} + +// Format returns a stringified value for the given encoding. Automatically +// parses. Automatically calculates count based on type size. This function +// also supports undefined-type values (the ones that we support, anyway) by +// way of the String() method that they all require. We can't be more specific +// because we're a base package and we can't refer to it. +func FormatFromType(value interface{}, justFirst bool) (phrase string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test + + switch t := value.(type) { + case []byte: + return DumpBytesToString(t), nil + case string: + return t, nil + case []uint16: + if len(t) == 0 { + return "", nil + } + + if justFirst == true { + var valueSuffix string + if len(t) > 1 { + valueSuffix = "..." + } + + return fmt.Sprintf("%v%s", t[0], valueSuffix), nil + } + + return fmt.Sprintf("%v", t), nil + case []uint32: + if len(t) == 0 { + return "", nil + } + + if justFirst == true { + var valueSuffix string + if len(t) > 1 { + valueSuffix = "..." + } + + return fmt.Sprintf("%v%s", t[0], valueSuffix), nil + } + + return fmt.Sprintf("%v", t), nil + case []Rational: + if len(t) == 0 { + return "", nil + } + + parts := make([]string, len(t)) + for i, r := range t { + parts[i] = fmt.Sprintf("%d/%d", r.Numerator, r.Denominator) + + if justFirst == true { + break + } + } + + if justFirst == true { + var valueSuffix string + if len(t) > 1 { + valueSuffix = "..." + } + + return fmt.Sprintf("%v%s", parts[0], valueSuffix), nil + } + + return fmt.Sprintf("%v", parts), nil + case []int32: + if len(t) == 0 { + return "", nil + } + + if justFirst == true { + var valueSuffix string + if len(t) > 1 { + valueSuffix = "..." + } + + return fmt.Sprintf("%v%s", t[0], valueSuffix), nil + } + + return fmt.Sprintf("%v", t), nil + case []SignedRational: + if len(t) == 0 { + return "", nil + } + + parts := make([]string, len(t)) + for i, r := range t { + parts[i] = fmt.Sprintf("%d/%d", r.Numerator, r.Denominator) + + if justFirst == true { + break + } + } + + if justFirst == true { + var valueSuffix string + if len(t) > 1 { + valueSuffix = "..." + } + + return fmt.Sprintf("%v%s", parts[0], valueSuffix), nil + } + + return fmt.Sprintf("%v", parts), nil + case fmt.Stringer: + // An undefined value that is documented (or that we otherwise support). + return t.String(), nil + default: + // Affects only "unknown" values, in general. + log.Panicf("type can not be formatted into string: %v", reflect.TypeOf(value).Name()) + + // Never called. + return "", nil + } +} + +// Format returns a stringified value for the given encoding. Automatically +// parses. Automatically calculates count based on type size. +func FormatFromBytes(rawBytes []byte, tagType TagTypePrimitive, justFirst bool, byteOrder binary.ByteOrder) (phrase string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test + + typeSize := tagType.Size() + + if len(rawBytes)%typeSize != 0 { + log.Panicf("byte-count (%d) does not align for [%s] type with a size of (%d) bytes", len(rawBytes), TypeNames[tagType], typeSize) + } + + // unitCount is the calculated unit-count. This should equal the original + // value from the tag (pre-resolution). + unitCount := uint32(len(rawBytes) / typeSize) + + // Truncate the items if it's not bytes or a string and we just want the first. + + var value interface{} + + switch tagType { + case TypeByte: + var err error + + value, err = parser.ParseBytes(rawBytes, unitCount) + log.PanicIf(err) + case TypeAscii: + var err error + + value, err = parser.ParseAscii(rawBytes, unitCount) + log.PanicIf(err) + case TypeAsciiNoNul: + var err error + + value, err = parser.ParseAsciiNoNul(rawBytes, unitCount) + log.PanicIf(err) + case TypeShort: + var err error + + value, err = parser.ParseShorts(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + case TypeLong: + var err error + + value, err = parser.ParseLongs(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + case TypeRational: + var err error + + value, err = parser.ParseRationals(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + case TypeSignedLong: + var err error + + value, err = parser.ParseSignedLongs(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + case TypeSignedRational: + var err error + + value, err = parser.ParseSignedRationals(rawBytes, unitCount, byteOrder) + log.PanicIf(err) + default: + // Affects only "unknown" values, in general. + log.Panicf("value of type [%s] can not be formatted into string", tagType.String()) + + // Never called. + return "", nil + } + + phrase, err = FormatFromType(value, justFirst) + log.PanicIf(err) + + return phrase, nil +} + +// TranslateStringToType converts user-provided strings to properly-typed +// values. If a string, returns a string. Else, assumes that it's a single +// number. If a list needs to be processed, it is the caller's responsibility to +// split it (according to whichever convention has been established). +func TranslateStringToType(tagType TagTypePrimitive, valueString string) (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if tagType == TypeUndefined { + // The caller should just call String() on the decoded type. + log.Panicf("undefined-type values are not supported") + } + + if tagType == TypeByte { + wide, err := strconv.ParseInt(valueString, 16, 8) + log.PanicIf(err) + + return byte(wide), nil + } else if tagType == TypeAscii || tagType == TypeAsciiNoNul { + // Whether or not we're putting an NUL on the end is only relevant for + // byte-level encoding. This function really just supports a user + // interface. + + return valueString, nil + } else if tagType == TypeShort { + n, err := strconv.ParseUint(valueString, 10, 16) + log.PanicIf(err) + + return uint16(n), nil + } else if tagType == TypeLong { + n, err := strconv.ParseUint(valueString, 10, 32) + log.PanicIf(err) + + return uint32(n), nil + } else if tagType == TypeRational { + parts := strings.SplitN(valueString, "/", 2) + + numerator, err := strconv.ParseUint(parts[0], 10, 32) + log.PanicIf(err) + + denominator, err := strconv.ParseUint(parts[1], 10, 32) + log.PanicIf(err) + + return Rational{ + Numerator: uint32(numerator), + Denominator: uint32(denominator), + }, nil + } else if tagType == TypeSignedLong { + n, err := strconv.ParseInt(valueString, 10, 32) + log.PanicIf(err) + + return int32(n), nil + } else if tagType == TypeSignedRational { + parts := strings.SplitN(valueString, "/", 2) + + numerator, err := strconv.ParseInt(parts[0], 10, 32) + log.PanicIf(err) + + denominator, err := strconv.ParseInt(parts[1], 10, 32) + log.PanicIf(err) + + return SignedRational{ + Numerator: int32(numerator), + Denominator: int32(denominator), + }, nil + } + + log.Panicf("from-string encoding for type not supported; this shouldn't happen: [%s]", tagType.String()) + return nil, nil +} + +// GetTypeByName returns the `TagTypePrimitive` for the given type name. +// Returns (0) if not valid. +func GetTypeByName(typeName string) (tagType TagTypePrimitive, found bool) { + tagType, found = typeNamesR[typeName] + return tagType, found +} + +// BasicTag describes a single tag for any purpose. +type BasicTag struct { + // FqIfdPath is the fully-qualified IFD-path. + FqIfdPath string + + // IfdPath is the unindexed IFD-path. + IfdPath string + + // TagId is the tag-ID. + TagId uint16 +} + +func init() { + for typeId, typeName := range TypeNames { + typeNamesR[typeName] = typeId + } +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/common/utility.go b/vendor/github.com/dsoprea/go-exif/v2/common/utility.go new file mode 100644 index 000000000..65165bf02 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/common/utility.go @@ -0,0 +1,79 @@ +package exifcommon + +import ( + "bytes" + "fmt" + "time" + + "github.com/dsoprea/go-logging" +) + +// DumpBytes prints a list of hex-encoded bytes. +func DumpBytes(data []byte) { + fmt.Printf("DUMP: ") + for _, x := range data { + fmt.Printf("%02x ", x) + } + + fmt.Printf("\n") +} + +// DumpBytesClause prints a list like DumpBytes(), but encapsulated in +// "[]byte { ... }". +func DumpBytesClause(data []byte) { + fmt.Printf("DUMP: ") + + fmt.Printf("[]byte { ") + + for i, x := range data { + fmt.Printf("0x%02x", x) + + if i < len(data)-1 { + fmt.Printf(", ") + } + } + + fmt.Printf(" }\n") +} + +// DumpBytesToString returns a stringified list of hex-encoded bytes. +func DumpBytesToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("%02x", x)) + log.PanicIf(err) + + if i < len(data)-1 { + _, err := b.WriteRune(' ') + log.PanicIf(err) + } + } + + return b.String() +} + +// DumpBytesClauseToString returns a comma-separated list of hex-encoded bytes. +func DumpBytesClauseToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("0x%02x", x)) + log.PanicIf(err) + + if i < len(data)-1 { + _, err := b.WriteString(", ") + log.PanicIf(err) + } + } + + return b.String() +} + +// ExifFullTimestampString produces a string like "2018:11:30 13:01:49" from a +// `time.Time` struct. It will attempt to convert to UTC first. +func ExifFullTimestampString(t time.Time) (fullTimestampPhrase string) { + t = t.UTC() + + return fmt.Sprintf("%04d:%02d:%02d %02d:%02d:%02d", t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second()) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/common/value_context.go b/vendor/github.com/dsoprea/go-exif/v2/common/value_context.go new file mode 100644 index 000000000..feb078ccf --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/common/value_context.go @@ -0,0 +1,412 @@ +package exifcommon + +import ( + "errors" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + parser *Parser +) + +var ( + // ErrNotFarValue indicates that an offset-based lookup was attempted for a + // non-offset-based (embedded) value. + ErrNotFarValue = errors.New("not a far value") +) + +// ValueContext embeds all of the parameters required to find and extract the +// actual tag value. +type ValueContext struct { + unitCount uint32 + valueOffset uint32 + rawValueOffset []byte + addressableData []byte + + tagType TagTypePrimitive + byteOrder binary.ByteOrder + + // undefinedValueTagType is the effective type to use if this is an + // "undefined" value. + undefinedValueTagType TagTypePrimitive + + ifdPath string + tagId uint16 +} + +// TODO(dustin): We can update newValueContext() to derive `valueOffset` itself (from `rawValueOffset`). + +// NewValueContext returns a new ValueContext struct. +func NewValueContext(ifdPath string, tagId uint16, unitCount, valueOffset uint32, rawValueOffset, addressableData []byte, tagType TagTypePrimitive, byteOrder binary.ByteOrder) *ValueContext { + return &ValueContext{ + unitCount: unitCount, + valueOffset: valueOffset, + rawValueOffset: rawValueOffset, + addressableData: addressableData, + + tagType: tagType, + byteOrder: byteOrder, + + ifdPath: ifdPath, + tagId: tagId, + } +} + +// SetUndefinedValueType sets the effective type if this is an unknown-type tag. +func (vc *ValueContext) SetUndefinedValueType(tagType TagTypePrimitive) { + if vc.tagType != TypeUndefined { + log.Panicf("can not set effective type for unknown-type tag because this is *not* an unknown-type tag") + } + + vc.undefinedValueTagType = tagType +} + +// UnitCount returns the embedded unit-count. +func (vc *ValueContext) UnitCount() uint32 { + return vc.unitCount +} + +// ValueOffset returns the value-offset decoded as a `uint32`. +func (vc *ValueContext) ValueOffset() uint32 { + return vc.valueOffset +} + +// RawValueOffset returns the uninterpreted value-offset. This is used for +// embedded values (values small enough to fit within the offset bytes rather +// than needing to be stored elsewhere and referred to by an actual offset). +func (vc *ValueContext) RawValueOffset() []byte { + return vc.rawValueOffset +} + +// AddressableData returns the block of data that we can dereference into. +func (vc *ValueContext) AddressableData() []byte { + return vc.addressableData +} + +// ByteOrder returns the byte-order of numbers. +func (vc *ValueContext) ByteOrder() binary.ByteOrder { + return vc.byteOrder +} + +// IfdPath returns the path of the IFD containing this tag. +func (vc *ValueContext) IfdPath() string { + return vc.ifdPath +} + +// TagId returns the ID of the tag that we represent. +func (vc *ValueContext) TagId() uint16 { + return vc.tagId +} + +// isEmbedded returns whether the value is embedded or a reference. This can't +// be precalculated since the size is not defined for all types (namely the +// "undefined" types). +func (vc *ValueContext) isEmbedded() bool { + tagType := vc.effectiveValueType() + + return (tagType.Size() * int(vc.unitCount)) <= 4 +} + +// SizeInBytes returns the number of bytes that this value requires. The +// underlying call will panic if the type is UNDEFINED. It is the +// responsibility of the caller to preemptively check that. +func (vc *ValueContext) SizeInBytes() int { + tagType := vc.effectiveValueType() + + return tagType.Size() * int(vc.unitCount) +} + +// effectiveValueType returns the effective type of the unknown-type tag or, if +// not unknown, the actual type. +func (vc *ValueContext) effectiveValueType() (tagType TagTypePrimitive) { + if vc.tagType == TypeUndefined { + tagType = vc.undefinedValueTagType + + if tagType == 0 { + log.Panicf("undefined-value type not set") + } + } else { + tagType = vc.tagType + } + + return tagType +} + +// readRawEncoded returns the encoded bytes for the value that we represent. +func (vc *ValueContext) readRawEncoded() (rawBytes []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + tagType := vc.effectiveValueType() + + unitSizeRaw := uint32(tagType.Size()) + + if vc.isEmbedded() == true { + byteLength := unitSizeRaw * vc.unitCount + return vc.rawValueOffset[:byteLength], nil + } + + return vc.addressableData[vc.valueOffset : vc.valueOffset+vc.unitCount*unitSizeRaw], nil +} + +// GetFarOffset returns the offset if the value is not embedded [within the +// pointer itself] or an error if an embedded value. +func (vc *ValueContext) GetFarOffset() (offset uint32, err error) { + if vc.isEmbedded() == true { + return 0, ErrNotFarValue + } + + return vc.valueOffset, nil +} + +// ReadRawEncoded returns the encoded bytes for the value that we represent. +func (vc *ValueContext) ReadRawEncoded() (rawBytes []byte, err error) { + + // TODO(dustin): Remove this method and rename readRawEncoded in its place. + + return vc.readRawEncoded() +} + +// Format returns a string representation for the value. +// +// Where the type is not ASCII, `justFirst` indicates whether to just stringify +// the first item in the slice (or return an empty string if the slice is +// empty). +// +// Since this method lacks the information to process undefined-type tags (e.g. +// byte-order, tag-ID, IFD type), it will return an error if attempted. See +// `Undefined()`. +func (vc *ValueContext) Format() (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawBytes, err := vc.readRawEncoded() + log.PanicIf(err) + + phrase, err := FormatFromBytes(rawBytes, vc.effectiveValueType(), false, vc.byteOrder) + log.PanicIf(err) + + return phrase, nil +} + +// FormatFirst is similar to `Format` but only gets and stringifies the first +// item. +func (vc *ValueContext) FormatFirst() (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawBytes, err := vc.readRawEncoded() + log.PanicIf(err) + + phrase, err := FormatFromBytes(rawBytes, vc.tagType, true, vc.byteOrder) + log.PanicIf(err) + + return phrase, nil +} + +// ReadBytes parses the encoded byte-array from the value-context. +func (vc *ValueContext) ReadBytes() (value []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseBytes(rawValue, vc.unitCount) + log.PanicIf(err) + + return value, nil +} + +// ReadAscii parses the encoded NUL-terminated ASCII string from the value- +// context. +func (vc *ValueContext) ReadAscii() (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseAscii(rawValue, vc.unitCount) + log.PanicIf(err) + + return value, nil +} + +// ReadAsciiNoNul parses the non-NUL-terminated encoded ASCII string from the +// value-context. +func (vc *ValueContext) ReadAsciiNoNul() (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseAsciiNoNul(rawValue, vc.unitCount) + log.PanicIf(err) + + return value, nil +} + +// ReadShorts parses the list of encoded shorts from the value-context. +func (vc *ValueContext) ReadShorts() (value []uint16, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseShorts(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +// ReadLongs parses the list of encoded, unsigned longs from the value-context. +func (vc *ValueContext) ReadLongs() (value []uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseLongs(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +// ReadRationals parses the list of encoded, unsigned rationals from the value- +// context. +func (vc *ValueContext) ReadRationals() (value []Rational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseRationals(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +// ReadSignedLongs parses the list of encoded, signed longs from the value-context. +func (vc *ValueContext) ReadSignedLongs() (value []int32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseSignedLongs(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +// ReadSignedRationals parses the list of encoded, signed rationals from the +// value-context. +func (vc *ValueContext) ReadSignedRationals() (value []SignedRational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseSignedRationals(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +// Values knows how to resolve the given value. This value is always a list +// (undefined-values aside), so we're named accordingly. +// +// Since this method lacks the information to process unknown-type tags (e.g. +// byte-order, tag-ID, IFD type), it will return an error if attempted. See +// `Undefined()`. +func (vc *ValueContext) Values() (values interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if vc.tagType == TypeByte { + values, err = vc.ReadBytes() + log.PanicIf(err) + } else if vc.tagType == TypeAscii { + values, err = vc.ReadAscii() + log.PanicIf(err) + } else if vc.tagType == TypeAsciiNoNul { + values, err = vc.ReadAsciiNoNul() + log.PanicIf(err) + } else if vc.tagType == TypeShort { + values, err = vc.ReadShorts() + log.PanicIf(err) + } else if vc.tagType == TypeLong { + values, err = vc.ReadLongs() + log.PanicIf(err) + } else if vc.tagType == TypeRational { + values, err = vc.ReadRationals() + log.PanicIf(err) + } else if vc.tagType == TypeSignedLong { + values, err = vc.ReadSignedLongs() + log.PanicIf(err) + } else if vc.tagType == TypeSignedRational { + values, err = vc.ReadSignedRationals() + log.PanicIf(err) + } else if vc.tagType == TypeUndefined { + log.Panicf("will not parse undefined-type value") + + // Never called. + return nil, nil + } else { + log.Panicf("value of type [%s] is unparseable", vc.tagType) + // Never called. + return nil, nil + } + + return values, nil +} + +func init() { + parser = new(Parser) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/common/value_encoder.go b/vendor/github.com/dsoprea/go-exif/v2/common/value_encoder.go new file mode 100644 index 000000000..52e0eacfd --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/common/value_encoder.go @@ -0,0 +1,229 @@ +package exifcommon + +import ( + "bytes" + "reflect" + "time" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + typeEncodeLogger = log.NewLogger("exif.type_encode") +) + +// EncodedData encapsulates the compound output of an encoding operation. +type EncodedData struct { + Type TagTypePrimitive + Encoded []byte + + // TODO(dustin): Is this really necessary? We might have this just to correlate to the incoming stream format (raw bytes and a unit-count both for incoming and outgoing). + UnitCount uint32 +} + +// ValueEncoder knows how to encode values of every type to bytes. +type ValueEncoder struct { + byteOrder binary.ByteOrder +} + +// NewValueEncoder returns a new ValueEncoder. +func NewValueEncoder(byteOrder binary.ByteOrder) *ValueEncoder { + return &ValueEncoder{ + byteOrder: byteOrder, + } +} + +func (ve *ValueEncoder) encodeBytes(value []uint8) (ed EncodedData, err error) { + ed.Type = TypeByte + ed.Encoded = []byte(value) + ed.UnitCount = uint32(len(value)) + + return ed, nil +} + +func (ve *ValueEncoder) encodeAscii(value string) (ed EncodedData, err error) { + ed.Type = TypeAscii + + ed.Encoded = []byte(value) + ed.Encoded = append(ed.Encoded, 0) + + ed.UnitCount = uint32(len(ed.Encoded)) + + return ed, nil +} + +// encodeAsciiNoNul returns a string encoded as a byte-string without a trailing +// NUL byte. +// +// Note that: +// +// 1. This type can not be automatically encoded using `Encode()`. The default +// mode is to encode *with* a trailing NUL byte using `encodeAscii`. Only +// certain undefined-type tags using an unterminated ASCII string and these +// are exceptional in nature. +// +// 2. The presence of this method allows us to completely test the complimentary +// no-nul parser. +// +func (ve *ValueEncoder) encodeAsciiNoNul(value string) (ed EncodedData, err error) { + ed.Type = TypeAsciiNoNul + ed.Encoded = []byte(value) + ed.UnitCount = uint32(len(ed.Encoded)) + + return ed, nil +} + +func (ve *ValueEncoder) encodeShorts(value []uint16) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + ed.Encoded = make([]byte, ed.UnitCount*2) + + for i := uint32(0); i < ed.UnitCount; i++ { + ve.byteOrder.PutUint16(ed.Encoded[i*2:(i+1)*2], value[i]) + } + + ed.Type = TypeShort + + return ed, nil +} + +func (ve *ValueEncoder) encodeLongs(value []uint32) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + ed.Encoded = make([]byte, ed.UnitCount*4) + + for i := uint32(0); i < ed.UnitCount; i++ { + ve.byteOrder.PutUint32(ed.Encoded[i*4:(i+1)*4], value[i]) + } + + ed.Type = TypeLong + + return ed, nil +} + +func (ve *ValueEncoder) encodeRationals(value []Rational) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + ed.Encoded = make([]byte, ed.UnitCount*8) + + for i := uint32(0); i < ed.UnitCount; i++ { + ve.byteOrder.PutUint32(ed.Encoded[i*8+0:i*8+4], value[i].Numerator) + ve.byteOrder.PutUint32(ed.Encoded[i*8+4:i*8+8], value[i].Denominator) + } + + ed.Type = TypeRational + + return ed, nil +} + +func (ve *ValueEncoder) encodeSignedLongs(value []int32) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + + b := bytes.NewBuffer(make([]byte, 0, 8*ed.UnitCount)) + + for i := uint32(0); i < ed.UnitCount; i++ { + err := binary.Write(b, ve.byteOrder, value[i]) + log.PanicIf(err) + } + + ed.Type = TypeSignedLong + ed.Encoded = b.Bytes() + + return ed, nil +} + +func (ve *ValueEncoder) encodeSignedRationals(value []SignedRational) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ed.UnitCount = uint32(len(value)) + + b := bytes.NewBuffer(make([]byte, 0, 8*ed.UnitCount)) + + for i := uint32(0); i < ed.UnitCount; i++ { + err := binary.Write(b, ve.byteOrder, value[i].Numerator) + log.PanicIf(err) + + err = binary.Write(b, ve.byteOrder, value[i].Denominator) + log.PanicIf(err) + } + + ed.Type = TypeSignedRational + ed.Encoded = b.Bytes() + + return ed, nil +} + +// Encode returns bytes for the given value, infering type from the actual +// value. This does not support `TypeAsciiNoNull` (all strings are encoded as +// `TypeAscii`). +func (ve *ValueEncoder) Encode(value interface{}) (ed EncodedData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + switch value.(type) { + case []byte: + ed, err = ve.encodeBytes(value.([]byte)) + log.PanicIf(err) + case string: + ed, err = ve.encodeAscii(value.(string)) + log.PanicIf(err) + case []uint16: + ed, err = ve.encodeShorts(value.([]uint16)) + log.PanicIf(err) + case []uint32: + ed, err = ve.encodeLongs(value.([]uint32)) + log.PanicIf(err) + case []Rational: + ed, err = ve.encodeRationals(value.([]Rational)) + log.PanicIf(err) + case []int32: + ed, err = ve.encodeSignedLongs(value.([]int32)) + log.PanicIf(err) + case []SignedRational: + ed, err = ve.encodeSignedRationals(value.([]SignedRational)) + log.PanicIf(err) + case time.Time: + // For convenience, if the user doesn't want to deal with translation + // semantics with timestamps. + + t := value.(time.Time) + s := ExifFullTimestampString(t) + + ed, err = ve.encodeAscii(s) + log.PanicIf(err) + default: + log.Panicf("value not encodable: [%s] [%v]", reflect.TypeOf(value), value) + } + + return ed, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/error.go b/vendor/github.com/dsoprea/go-exif/v2/error.go new file mode 100644 index 000000000..2f00b08a4 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/error.go @@ -0,0 +1,14 @@ +package exif + +import ( + "errors" +) + +var ( + // ErrTagNotFound indicates that the tag was not found. + ErrTagNotFound = errors.New("tag not found") + + // ErrTagNotKnown indicates that the tag is not registered with us as a + // known tag. + ErrTagNotKnown = errors.New("tag is not known") +) diff --git a/vendor/github.com/dsoprea/go-exif/v2/exif.go b/vendor/github.com/dsoprea/go-exif/v2/exif.go new file mode 100644 index 000000000..20b723769 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/exif.go @@ -0,0 +1,258 @@ +package exif + +import ( + "bufio" + "bytes" + "errors" + "fmt" + "io" + "os" + + "encoding/binary" + "io/ioutil" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +const ( + // ExifAddressableAreaStart is the absolute offset in the file that all + // offsets are relative to. + ExifAddressableAreaStart = uint32(0x0) + + // ExifDefaultFirstIfdOffset is essentially the number of bytes in addition + // to `ExifAddressableAreaStart` that you have to move in order to escape + // the rest of the header and get to the earliest point where we can put + // stuff (which has to be the first IFD). This is the size of the header + // sequence containing the two-character byte-order, two-character fixed- + // bytes, and the four bytes describing the first-IFD offset. + ExifDefaultFirstIfdOffset = uint32(2 + 2 + 4) +) + +const ( + // ExifSignatureLength is the number of bytes in the EXIF signature (which + // customarily includes the first IFD offset). + ExifSignatureLength = 8 +) + +var ( + exifLogger = log.NewLogger("exif.exif") + + ExifBigEndianSignature = [4]byte{'M', 'M', 0x00, 0x2a} + ExifLittleEndianSignature = [4]byte{'I', 'I', 0x2a, 0x00} +) + +var ( + ErrNoExif = errors.New("no exif data") + ErrExifHeaderError = errors.New("exif header error") +) + +// SearchAndExtractExif searches for an EXIF blob in the byte-slice. +func SearchAndExtractExif(data []byte) (rawExif []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + b := bytes.NewBuffer(data) + + rawExif, err = SearchAndExtractExifWithReader(b) + if err != nil { + if err == ErrNoExif { + return nil, err + } + + log.Panic(err) + } + + return rawExif, nil +} + +// SearchAndExtractExifWithReader searches for an EXIF blob using an +// `io.Reader`. We can't know how much long the EXIF data is without parsing it, +// so this will likely grab up a lot of the image-data, too. +func SearchAndExtractExifWithReader(r io.Reader) (rawExif []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Search for the beginning of the EXIF information. The EXIF is near the + // beginning of most JPEGs, so this likely doesn't have a high cost (at + // least, again, with JPEGs). + + br := bufio.NewReader(r) + discarded := 0 + + for { + window, err := br.Peek(ExifSignatureLength) + if err != nil { + if err == io.EOF { + return nil, ErrNoExif + } + + log.Panic(err) + } + + _, err = ParseExifHeader(window) + if err != nil { + if log.Is(err, ErrNoExif) == true { + // No EXIF. Move forward by one byte. + + _, err := br.Discard(1) + log.PanicIf(err) + + discarded++ + + continue + } + + // Some other error. + log.Panic(err) + } + + break + } + + exifLogger.Debugf(nil, "Found EXIF blob (%d) bytes from initial position.", discarded) + + rawExif, err = ioutil.ReadAll(br) + log.PanicIf(err) + + return rawExif, nil +} + +// SearchFileAndExtractExif returns a slice from the beginning of the EXIF data +// to the end of the file (it's not practical to try and calculate where the +// data actually ends). +func SearchFileAndExtractExif(filepath string) (rawExif []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Open the file. + + f, err := os.Open(filepath) + log.PanicIf(err) + + defer f.Close() + + rawExif, err = SearchAndExtractExifWithReader(f) + log.PanicIf(err) + + return rawExif, nil +} + +type ExifHeader struct { + ByteOrder binary.ByteOrder + FirstIfdOffset uint32 +} + +func (eh ExifHeader) String() string { + return fmt.Sprintf("ExifHeader", eh.ByteOrder, eh.FirstIfdOffset) +} + +// ParseExifHeader parses the bytes at the very top of the header. +// +// This will panic with ErrNoExif on any data errors so that we can double as +// an EXIF-detection routine. +func ParseExifHeader(data []byte) (eh ExifHeader, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Good reference: + // + // CIPA DC-008-2016; JEITA CP-3451D + // -> http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf + + if len(data) < ExifSignatureLength { + exifLogger.Warningf(nil, "Not enough data for EXIF header: (%d)", len(data)) + return eh, ErrNoExif + } + + if bytes.Equal(data[:4], ExifBigEndianSignature[:]) == true { + eh.ByteOrder = binary.BigEndian + } else if bytes.Equal(data[:4], ExifLittleEndianSignature[:]) == true { + eh.ByteOrder = binary.LittleEndian + } else { + return eh, ErrNoExif + } + + eh.FirstIfdOffset = eh.ByteOrder.Uint32(data[4:8]) + + return eh, nil +} + +// Visit recursively invokes a callback for every tag. +func Visit(rootIfdIdentity *exifcommon.IfdIdentity, ifdMapping *exifcommon.IfdMapping, tagIndex *TagIndex, exifData []byte, visitor TagVisitorFn) (eh ExifHeader, furthestOffset uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + eh, err = ParseExifHeader(exifData) + log.PanicIf(err) + + ie := NewIfdEnumerate(ifdMapping, tagIndex, exifData, eh.ByteOrder) + + _, err = ie.Scan(rootIfdIdentity, eh.FirstIfdOffset, visitor) + log.PanicIf(err) + + furthestOffset = ie.FurthestOffset() + + return eh, furthestOffset, nil +} + +// Collect recursively builds a static structure of all IFDs and tags. +func Collect(ifdMapping *exifcommon.IfdMapping, tagIndex *TagIndex, exifData []byte) (eh ExifHeader, index IfdIndex, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + eh, err = ParseExifHeader(exifData) + log.PanicIf(err) + + ie := NewIfdEnumerate(ifdMapping, tagIndex, exifData, eh.ByteOrder) + + index, err = ie.Collect(eh.FirstIfdOffset) + log.PanicIf(err) + + return eh, index, nil +} + +// BuildExifHeader constructs the bytes that go at the front of the stream. +func BuildExifHeader(byteOrder binary.ByteOrder, firstIfdOffset uint32) (headerBytes []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + b := new(bytes.Buffer) + + var signatureBytes []byte + if byteOrder == binary.BigEndian { + signatureBytes = ExifBigEndianSignature[:] + } else { + signatureBytes = ExifLittleEndianSignature[:] + } + + _, err = b.Write(signatureBytes) + log.PanicIf(err) + + err = binary.Write(b, byteOrder, firstIfdOffset) + log.PanicIf(err) + + return b.Bytes(), nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/go.mod b/vendor/github.com/dsoprea/go-exif/v2/go.mod new file mode 100644 index 000000000..38b40fde8 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/go.mod @@ -0,0 +1,15 @@ +module github.com/dsoprea/go-exif/v2 + +go 1.13 + +// Development only +// replace github.com/dsoprea/go-logging => ../../go-logging + +require ( + github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d + github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf // indirect + github.com/golang/geo v0.0.0-20200319012246-673a6f80352d + github.com/jessevdk/go-flags v1.4.0 + golang.org/x/net v0.0.0-20200513185701-a91f0712d120 // indirect + gopkg.in/yaml.v2 v2.3.0 +) diff --git a/vendor/github.com/dsoprea/go-exif/v2/go.sum b/vendor/github.com/dsoprea/go-exif/v2/go.sum new file mode 100644 index 000000000..6fd800fd6 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/go.sum @@ -0,0 +1,37 @@ +github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E= +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696 h1:VGFnZAcLwPpt1sHlAxml+pGLZz9A2s+K/s1YNhPC91Y= +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696/go.mod h1:Nm/x2ZUNRW6Fe5C3LxdY1PyZY5wmDv/s5dkPJ/VB3iA= +github.com/dsoprea/go-logging v0.0.0-20200502191043-ec333ec7635f h1:XM9MVftaUNA4CcjV97+4bSy7u9Ns04DEYbZkswUrRtc= +github.com/dsoprea/go-logging v0.0.0-20200502191043-ec333ec7635f/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-logging v0.0.0-20200502201358-170ff607885f h1:FonKAuW3PmNtqk9tOR+Z7bnyQHytmnZBCmm5z1PQMss= +github.com/dsoprea/go-logging v0.0.0-20200502201358-170ff607885f/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d h1:F/7L5wr/fP/SKeO5HuMlNEX9Ipyx2MbH2rV9G4zJRpk= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf h1:/w4QxepU4AHh3AuO6/g8y/YIIHH5+aKP3Bj8sg5cqhU= +github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf/go.mod h1:95+K3z2L0mqsVYd6yveIv1lmtT3tcQQ3dVakPySffW8= +github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.0.2 h1:xMxH9j2fNg/L4hLn/4y3M0IUsn0M6Wbu/Uh9QlOfBh4= +github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec h1:lJwO/92dFXWeXOZdoGXgptLmNLwynMSHUmU6besqtiw= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/geo v0.0.0-20200319012246-673a6f80352d h1:C/hKUcHT483btRbeGkrRjJz+Zbcj8audldIi9tRJDCc= +github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5 h1:WQ8q63x+f/zpC8Ac1s9wLElVoHhm32p6tudrU72n1QA= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120 h1:EZ3cVSzKOlJxAd8e8YAJ7no8nNypTxexh/YE/xW3ZEY= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/dsoprea/go-exif/v2/gps.go b/vendor/github.com/dsoprea/go-exif/v2/gps.go new file mode 100644 index 000000000..d44ede1ad --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/gps.go @@ -0,0 +1,117 @@ +package exif + +import ( + "errors" + "fmt" + "time" + + "github.com/dsoprea/go-logging" + "github.com/golang/geo/s2" + + "github.com/dsoprea/go-exif/v2/common" +) + +var ( + // ErrGpsCoordinatesNotValid means that some part of the geographic data was + // unparseable. + ErrGpsCoordinatesNotValid = errors.New("GPS coordinates not valid") +) + +// GpsDegrees is a high-level struct representing geographic data. +type GpsDegrees struct { + // Orientation describes the N/E/S/W direction that this position is + // relative to. + Orientation byte + + // Degrees is a simple float representing the underlying rational degrees + // amount. + Degrees float64 + + // Minutes is a simple float representing the underlying rational minutes + // amount. + Minutes float64 + + // Seconds is a simple float representing the underlying ration seconds + // amount. + Seconds float64 +} + +// NewGpsDegreesFromRationals returns a GpsDegrees struct given the EXIF-encoded +// information. The refValue is the N/E/S/W direction that this position is +// relative to. +func NewGpsDegreesFromRationals(refValue string, rawCoordinate []exifcommon.Rational) (gd GpsDegrees, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if len(rawCoordinate) != 3 { + log.Panicf("new GpsDegrees struct requires a raw-coordinate with exactly three rationals") + } + + gd = GpsDegrees{ + Orientation: refValue[0], + Degrees: float64(rawCoordinate[0].Numerator) / float64(rawCoordinate[0].Denominator), + Minutes: float64(rawCoordinate[1].Numerator) / float64(rawCoordinate[1].Denominator), + Seconds: float64(rawCoordinate[2].Numerator) / float64(rawCoordinate[2].Denominator), + } + + return gd, nil +} + +// String provides returns a descriptive string. +func (d GpsDegrees) String() string { + return fmt.Sprintf("Degrees", string([]byte{d.Orientation}), d.Degrees, d.Minutes, d.Seconds) +} + +// Decimal calculates and returns the simplified float representation of the +// component degrees. +func (d GpsDegrees) Decimal() float64 { + decimal := float64(d.Degrees) + float64(d.Minutes)/60.0 + float64(d.Seconds)/3600.0 + + if d.Orientation == 'S' || d.Orientation == 'W' { + return -decimal + } + + return decimal +} + +// Raw returns a Rational struct that can be used to *write* coordinates. In +// practice, the denominator are typically (1) in the original EXIF data, and, +// that being the case, this will best preserve precision. +func (d GpsDegrees) Raw() []exifcommon.Rational { + return []exifcommon.Rational{ + {Numerator: uint32(d.Degrees), Denominator: 1}, + {Numerator: uint32(d.Minutes), Denominator: 1}, + {Numerator: uint32(d.Seconds), Denominator: 1}, + } +} + +// GpsInfo encapsulates all of the geographic information in one place. +type GpsInfo struct { + Latitude, Longitude GpsDegrees + Altitude int + Timestamp time.Time +} + +// String returns a descriptive string. +func (gi *GpsInfo) String() string { + return fmt.Sprintf("GpsInfo", + gi.Latitude.Decimal(), gi.Longitude.Decimal(), gi.Altitude, gi.Timestamp) +} + +// S2CellId returns the cell-ID of the geographic location on the earth. +func (gi *GpsInfo) S2CellId() s2.CellID { + latitude := gi.Latitude.Decimal() + longitude := gi.Longitude.Decimal() + + ll := s2.LatLngFromDegrees(latitude, longitude) + cellId := s2.CellIDFromLatLng(ll) + + if cellId.IsValid() == false { + panic(ErrGpsCoordinatesNotValid) + } + + return cellId +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/ifd.go b/vendor/github.com/dsoprea/go-exif/v2/ifd.go new file mode 100644 index 000000000..80872e624 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/ifd.go @@ -0,0 +1,34 @@ +package exif + +import ( + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +// TODO(dustin): This file now exists for backwards-compatibility only. + +// NewIfdMapping returns a new IfdMapping struct. +func NewIfdMapping() (ifdMapping *exifcommon.IfdMapping) { + return exifcommon.NewIfdMapping() +} + +// NewIfdMappingWithStandard retruns a new IfdMapping struct preloaded with the +// standard IFDs. +func NewIfdMappingWithStandard() (ifdMapping *exifcommon.IfdMapping) { + return exifcommon.NewIfdMappingWithStandard() +} + +// LoadStandardIfds loads the standard IFDs into the mapping. +func LoadStandardIfds(im *exifcommon.IfdMapping) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = exifcommon.LoadStandardIfds(im) + log.PanicIf(err) + + return nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/ifd_builder.go b/vendor/github.com/dsoprea/go-exif/v2/ifd_builder.go new file mode 100644 index 000000000..64a09299c --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/ifd_builder.go @@ -0,0 +1,1199 @@ +package exif + +// NOTES: +// +// The thumbnail offset and length tags shouldn't be set directly. Use the +// (*IfdBuilder).SetThumbnail() method instead. + +import ( + "errors" + "fmt" + "strings" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" + "github.com/dsoprea/go-exif/v2/undefined" +) + +var ( + ifdBuilderLogger = log.NewLogger("exif.ifd_builder") +) + +var ( + ErrTagEntryNotFound = errors.New("tag entry not found") + ErrChildIbNotFound = errors.New("child IB not found") +) + +type IfdBuilderTagValue struct { + valueBytes []byte + ib *IfdBuilder +} + +func (ibtv IfdBuilderTagValue) String() string { + if ibtv.IsBytes() == true { + var valuePhrase string + if len(ibtv.valueBytes) <= 8 { + valuePhrase = fmt.Sprintf("%v", ibtv.valueBytes) + } else { + valuePhrase = fmt.Sprintf("%v...", ibtv.valueBytes[:8]) + } + + return fmt.Sprintf("IfdBuilderTagValue", valuePhrase, len(ibtv.valueBytes)) + } else if ibtv.IsIb() == true { + return fmt.Sprintf("IfdBuilderTagValue", ibtv.ib) + } else { + log.Panicf("IBTV state undefined") + return "" + } +} + +func NewIfdBuilderTagValueFromBytes(valueBytes []byte) *IfdBuilderTagValue { + return &IfdBuilderTagValue{ + valueBytes: valueBytes, + } +} + +func NewIfdBuilderTagValueFromIfdBuilder(ib *IfdBuilder) *IfdBuilderTagValue { + return &IfdBuilderTagValue{ + ib: ib, + } +} + +// IsBytes returns true if the bytes are populated. This is always the case +// when we're loaded from a tag in an existing IFD. +func (ibtv IfdBuilderTagValue) IsBytes() bool { + return ibtv.valueBytes != nil +} + +func (ibtv IfdBuilderTagValue) Bytes() []byte { + if ibtv.IsBytes() == false { + log.Panicf("this tag is not a byte-slice value") + } else if ibtv.IsIb() == true { + log.Panicf("this tag is an IFD-builder value not a byte-slice") + } + + return ibtv.valueBytes +} + +func (ibtv IfdBuilderTagValue) IsIb() bool { + return ibtv.ib != nil +} + +func (ibtv IfdBuilderTagValue) Ib() *IfdBuilder { + if ibtv.IsIb() == false { + log.Panicf("this tag is not an IFD-builder value") + } else if ibtv.IsBytes() == true { + log.Panicf("this tag is a byte-slice, not a IFD-builder") + } + + return ibtv.ib +} + +type BuilderTag struct { + // ifdPath is the path of the IFD that hosts this tag. + ifdPath string + + tagId uint16 + typeId exifcommon.TagTypePrimitive + + // value is either a value that can be encoded, an IfdBuilder instance (for + // child IFDs), or an IfdTagEntry instance representing an existing, + // previously-stored tag. + value *IfdBuilderTagValue + + // byteOrder is the byte order. It's chiefly/originally here to support + // printing the value. + byteOrder binary.ByteOrder +} + +func NewBuilderTag(ifdPath string, tagId uint16, typeId exifcommon.TagTypePrimitive, value *IfdBuilderTagValue, byteOrder binary.ByteOrder) *BuilderTag { + return &BuilderTag{ + ifdPath: ifdPath, + tagId: tagId, + typeId: typeId, + value: value, + byteOrder: byteOrder, + } +} + +func NewChildIfdBuilderTag(ifdPath string, tagId uint16, value *IfdBuilderTagValue) *BuilderTag { + return &BuilderTag{ + ifdPath: ifdPath, + tagId: tagId, + typeId: exifcommon.TypeLong, + value: value, + } +} + +func (bt *BuilderTag) Value() (value *IfdBuilderTagValue) { + return bt.value +} + +func (bt *BuilderTag) String() string { + var valueString string + + if bt.value.IsBytes() == true { + var err error + + valueString, err = exifcommon.FormatFromBytes(bt.value.Bytes(), bt.typeId, false, bt.byteOrder) + log.PanicIf(err) + } else { + valueString = fmt.Sprintf("%v", bt.value) + } + + return fmt.Sprintf("BuilderTag", bt.ifdPath, bt.tagId, bt.typeId.String(), valueString) +} + +func (bt *BuilderTag) SetValue(byteOrder binary.ByteOrder, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test. + + var ed exifcommon.EncodedData + if bt.typeId == exifcommon.TypeUndefined { + encodeable := value.(exifundefined.EncodeableValue) + + encoded, unitCount, err := exifundefined.Encode(encodeable, byteOrder) + log.PanicIf(err) + + ed = exifcommon.EncodedData{ + Type: exifcommon.TypeUndefined, + Encoded: encoded, + UnitCount: unitCount, + } + } else { + ve := exifcommon.NewValueEncoder(byteOrder) + + var err error + + ed, err = ve.Encode(value) + log.PanicIf(err) + } + + bt.value = NewIfdBuilderTagValueFromBytes(ed.Encoded) + + return nil +} + +// NewStandardBuilderTag constructs a `BuilderTag` instance. The type is looked +// up. `ii` is the type of IFD that owns this tag. +func NewStandardBuilderTag(ifdPath string, it *IndexedTag, byteOrder binary.ByteOrder, value interface{}) *BuilderTag { + // If there is more than one supported type, we'll go with the larger to + // encode with. It'll use the same amount of fixed-space, and we'll + // eliminate unnecessary overflows/issues. + tagType := it.GetEncodingType(value) + + var rawBytes []byte + if it.DoesSupportType(exifcommon.TypeUndefined) == true { + encodeable := value.(exifundefined.EncodeableValue) + + var err error + + rawBytes, _, err = exifundefined.Encode(encodeable, byteOrder) + log.PanicIf(err) + } else { + ve := exifcommon.NewValueEncoder(byteOrder) + + ed, err := ve.Encode(value) + log.PanicIf(err) + + rawBytes = ed.Encoded + } + + tagValue := NewIfdBuilderTagValueFromBytes(rawBytes) + + return NewBuilderTag( + ifdPath, + it.Id, + tagType, + tagValue, + byteOrder) +} + +type IfdBuilder struct { + ifdIdentity *exifcommon.IfdIdentity + + byteOrder binary.ByteOrder + + // Includes both normal tags and IFD tags (which point to child IFDs). + // TODO(dustin): Keep a separate list of children like with `Ifd`. + // TODO(dustin): Either rename this or `Entries` in `Ifd` to be the same thing. + tags []*BuilderTag + + // existingOffset will be the offset that this IFD is currently found at if + // it represents an IFD that has previously been stored (or 0 if not). + existingOffset uint32 + + // nextIb represents the next link if we're chaining to another. + nextIb *IfdBuilder + + // thumbnailData is populated with thumbnail data if there was thumbnail + // data. Otherwise, it's nil. + thumbnailData []byte + + ifdMapping *exifcommon.IfdMapping + tagIndex *TagIndex +} + +func NewIfdBuilder(ifdMapping *exifcommon.IfdMapping, tagIndex *TagIndex, ii *exifcommon.IfdIdentity, byteOrder binary.ByteOrder) (ib *IfdBuilder) { + ib = &IfdBuilder{ + ifdIdentity: ii, + + byteOrder: byteOrder, + tags: make([]*BuilderTag, 0), + + ifdMapping: ifdMapping, + tagIndex: tagIndex, + } + + return ib +} + +// NewIfdBuilderWithExistingIfd creates a new IB using the same header type +// information as the given IFD. +func NewIfdBuilderWithExistingIfd(ifd *Ifd) (ib *IfdBuilder) { + ib = &IfdBuilder{ + ifdIdentity: ifd.IfdIdentity(), + + byteOrder: ifd.ByteOrder, + existingOffset: ifd.Offset, + ifdMapping: ifd.ifdMapping, + tagIndex: ifd.tagIndex, + } + + return ib +} + +// NewIfdBuilderFromExistingChain creates a chain of IB instances from an +// IFD chain generated from real data. +func NewIfdBuilderFromExistingChain(rootIfd *Ifd) (firstIb *IfdBuilder) { + var lastIb *IfdBuilder + i := 0 + for thisExistingIfd := rootIfd; thisExistingIfd != nil; thisExistingIfd = thisExistingIfd.NextIfd { + newIb := NewIfdBuilder( + rootIfd.ifdMapping, + rootIfd.tagIndex, + rootIfd.ifdIdentity, + thisExistingIfd.ByteOrder) + + if firstIb == nil { + firstIb = newIb + } else { + lastIb.SetNextIb(newIb) + } + + err := newIb.AddTagsFromExisting(thisExistingIfd, nil, nil) + log.PanicIf(err) + + lastIb = newIb + i++ + } + + return firstIb +} + +func (ib *IfdBuilder) IfdIdentity() *exifcommon.IfdIdentity { + return ib.ifdIdentity +} + +func (ib *IfdBuilder) NextIb() (nextIb *IfdBuilder, err error) { + return ib.nextIb, nil +} + +func (ib *IfdBuilder) ChildWithTagId(childIfdTagId uint16) (childIb *IfdBuilder, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for _, bt := range ib.tags { + if bt.value.IsIb() == false { + continue + } + + childIbThis := bt.value.Ib() + + if childIbThis.IfdIdentity().TagId() == childIfdTagId { + return childIbThis, nil + } + } + + log.Panic(ErrChildIbNotFound) + + // Never reached. + return nil, nil +} + +func getOrCreateIbFromRootIbInner(rootIb *IfdBuilder, parentIb *IfdBuilder, currentLineage []exifcommon.IfdTagIdAndIndex) (ib *IfdBuilder, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test. + + thisIb := rootIb + + // Since we're calling ourselves recursively with incrementally different + // paths, the FQ IFD-path of the parent that called us needs to be passed + // in, in order for us to know it. + var parentLineage []exifcommon.IfdTagIdAndIndex + if parentIb != nil { + var err error + + parentLineage, err = thisIb.ifdMapping.ResolvePath(parentIb.IfdIdentity().String()) + log.PanicIf(err) + } + + // Process the current path part. + currentItIi := currentLineage[0] + + // Make sure the leftmost part of the FQ IFD-path agrees with the IB we + // were given. + + expectedFqRootIfdPath := "" + if parentLineage != nil { + expectedLineage := append(parentLineage, currentItIi) + expectedFqRootIfdPath = thisIb.ifdMapping.PathPhraseFromLineage(expectedLineage) + } else { + expectedFqRootIfdPath = thisIb.ifdMapping.PathPhraseFromLineage(currentLineage[:1]) + } + + if expectedFqRootIfdPath != thisIb.IfdIdentity().String() { + log.Panicf("the FQ IFD-path [%s] we were given does not match the builder's FQ IFD-path [%s]", expectedFqRootIfdPath, thisIb.IfdIdentity().String()) + } + + // If we actually wanted a sibling (currentItIi.Index > 0) then seek to it, + // appending new siblings, as required, until we get there. + for i := 0; i < currentItIi.Index; i++ { + if thisIb.nextIb == nil { + // Generate an FQ IFD-path for the sibling. It'll use the same + // non-FQ IFD-path as the current IB. + + iiSibling := thisIb.IfdIdentity().NewSibling(i + 1) + thisIb.nextIb = NewIfdBuilder(thisIb.ifdMapping, thisIb.tagIndex, iiSibling, thisIb.byteOrder) + } + + thisIb = thisIb.nextIb + } + + // There is no child IFD to process. We're done. + if len(currentLineage) == 1 { + return thisIb, nil + } + + // Establish the next child to be processed. + + childItii := currentLineage[1] + + var foundChild *IfdBuilder + for _, bt := range thisIb.tags { + if bt.value.IsIb() == false { + continue + } + + childIb := bt.value.Ib() + + if childIb.IfdIdentity().TagId() == childItii.TagId { + foundChild = childIb + break + } + } + + // If we didn't find the child, add it. + + if foundChild == nil { + currentIfdTag := thisIb.IfdIdentity().IfdTag() + + childIfdTag := + exifcommon.NewIfdTag( + ¤tIfdTag, + childItii.TagId, + childItii.Name) + + iiChild := thisIb.IfdIdentity().NewChild(childIfdTag, 0) + + foundChild = + NewIfdBuilder( + thisIb.ifdMapping, + thisIb.tagIndex, + iiChild, + thisIb.byteOrder) + + err = thisIb.AddChildIb(foundChild) + log.PanicIf(err) + } + + finalIb, err := getOrCreateIbFromRootIbInner(foundChild, thisIb, currentLineage[1:]) + log.PanicIf(err) + + return finalIb, nil +} + +// GetOrCreateIbFromRootIb returns an IB representing the requested IFD, even if +// an IB doesn't already exist for it. This function may call itself +// recursively. +func GetOrCreateIbFromRootIb(rootIb *IfdBuilder, fqIfdPath string) (ib *IfdBuilder, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // lineage is a necessity of our recursion process. It doesn't include any + // parent IFDs on its left-side; it starts with the current IB only. + lineage, err := rootIb.ifdMapping.ResolvePath(fqIfdPath) + log.PanicIf(err) + + ib, err = getOrCreateIbFromRootIbInner(rootIb, nil, lineage) + log.PanicIf(err) + + return ib, nil +} + +func (ib *IfdBuilder) String() string { + nextIfdPhrase := "" + if ib.nextIb != nil { + // TODO(dustin): We were setting this to ii.String(), but we were getting hex-data when printing this after building from an existing chain. + nextIfdPhrase = ib.nextIb.IfdIdentity().UnindexedString() + } + + return fmt.Sprintf("IfdBuilder", ib.IfdIdentity().UnindexedString(), ib.IfdIdentity().TagId(), len(ib.tags), ib.existingOffset, nextIfdPhrase) +} + +func (ib *IfdBuilder) Tags() (tags []*BuilderTag) { + return ib.tags +} + +// SetThumbnail sets thumbnail data. +// +// NOTES: +// +// - We don't manage any facet of the thumbnail data. This is the +// responsibility of the user/developer. +// - This method will fail unless the thumbnail is set on a the root IFD. +// However, in order to be valid, it must be set on the second one, linked to +// by the first, as per the EXIF/TIFF specification. +// - We set the offset to (0) now but will allocate the data and properly assign +// the offset when the IB is encoded (later). +func (ib *IfdBuilder) SetThumbnail(data []byte) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if ib.IfdIdentity().UnindexedString() != exifcommon.IfdStandardIfdIdentity.UnindexedString() { + log.Panicf("thumbnails can only go into a root Ifd (and only the second one)") + } + + // TODO(dustin): !! Add a test for this function. + + if data == nil || len(data) == 0 { + log.Panic("thumbnail is empty") + } + + ib.thumbnailData = data + + ibtvfb := NewIfdBuilderTagValueFromBytes(ib.thumbnailData) + offsetBt := + NewBuilderTag( + ib.IfdIdentity().UnindexedString(), + ThumbnailOffsetTagId, + exifcommon.TypeLong, + ibtvfb, + ib.byteOrder) + + err = ib.Set(offsetBt) + log.PanicIf(err) + + thumbnailSizeIt, err := ib.tagIndex.Get(ib.IfdIdentity(), ThumbnailSizeTagId) + log.PanicIf(err) + + sizeBt := NewStandardBuilderTag(ib.IfdIdentity().UnindexedString(), thumbnailSizeIt, ib.byteOrder, []uint32{uint32(len(ib.thumbnailData))}) + + err = ib.Set(sizeBt) + log.PanicIf(err) + + return nil +} + +func (ib *IfdBuilder) Thumbnail() []byte { + return ib.thumbnailData +} + +func (ib *IfdBuilder) printTagTree(levels int) { + indent := strings.Repeat(" ", levels*2) + + i := 0 + for currentIb := ib; currentIb != nil; currentIb = currentIb.nextIb { + prefix := " " + if i > 0 { + prefix = ">" + } + + if levels == 0 { + fmt.Printf("%s%sIFD: %s INDEX=(%d)\n", indent, prefix, currentIb, i) + } else { + fmt.Printf("%s%sChild IFD: %s\n", indent, prefix, currentIb) + } + + if len(currentIb.tags) > 0 { + fmt.Printf("\n") + + for i, tag := range currentIb.tags { + isChildIb := false + _, err := ib.ifdMapping.GetChild(currentIb.IfdIdentity().UnindexedString(), tag.tagId) + if err == nil { + isChildIb = true + } else if log.Is(err, exifcommon.ErrChildIfdNotMapped) == false { + log.Panic(err) + } + + tagName := "" + + // If a normal tag (not a child IFD) get the name. + if isChildIb == true { + tagName = "" + } else { + it, err := ib.tagIndex.Get(ib.ifdIdentity, tag.tagId) + if log.Is(err, ErrTagNotFound) == true { + tagName = "" + } else if err != nil { + log.Panic(err) + } else { + tagName = it.Name + } + } + + value := tag.Value() + + if value.IsIb() == true { + fmt.Printf("%s (%d): [%s] %s\n", indent, i, tagName, value.Ib()) + } else { + fmt.Printf("%s (%d): [%s] %s\n", indent, i, tagName, tag) + } + + if isChildIb == true { + if tag.value.IsIb() == false { + log.Panicf("tag-ID (0x%04x) is an IFD but the tag value is not an IB instance: %v", tag.tagId, tag) + } + + fmt.Printf("\n") + + childIb := tag.value.Ib() + childIb.printTagTree(levels + 1) + } + } + + fmt.Printf("\n") + } + + i++ + } +} + +func (ib *IfdBuilder) PrintTagTree() { + ib.printTagTree(0) +} + +func (ib *IfdBuilder) printIfdTree(levels int) { + indent := strings.Repeat(" ", levels*2) + + i := 0 + for currentIb := ib; currentIb != nil; currentIb = currentIb.nextIb { + prefix := " " + if i > 0 { + prefix = ">" + } + + fmt.Printf("%s%s%s\n", indent, prefix, currentIb) + + if len(currentIb.tags) > 0 { + for _, tag := range currentIb.tags { + isChildIb := false + _, err := ib.ifdMapping.GetChild(currentIb.IfdIdentity().UnindexedString(), tag.tagId) + if err == nil { + isChildIb = true + } else if log.Is(err, exifcommon.ErrChildIfdNotMapped) == false { + log.Panic(err) + } + + if isChildIb == true { + if tag.value.IsIb() == false { + log.Panicf("tag-ID (0x%04x) is an IFD but the tag value is not an IB instance: %v", tag.tagId, tag) + } + + childIb := tag.value.Ib() + childIb.printIfdTree(levels + 1) + } + } + } + + i++ + } +} + +func (ib *IfdBuilder) PrintIfdTree() { + ib.printIfdTree(0) +} + +func (ib *IfdBuilder) dumpToStrings(thisIb *IfdBuilder, prefix string, tagId uint16, lines []string) (linesOutput []string) { + if lines == nil { + linesOutput = make([]string, 0) + } else { + linesOutput = lines + } + + siblingIfdIndex := 0 + for ; thisIb != nil; thisIb = thisIb.nextIb { + line := fmt.Sprintf("IFD", prefix, thisIb.IfdIdentity().String(), siblingIfdIndex, thisIb.IfdIdentity().TagId(), tagId) + linesOutput = append(linesOutput, line) + + for i, tag := range thisIb.tags { + var childIb *IfdBuilder + childIfdName := "" + if tag.value.IsIb() == true { + childIb = tag.value.Ib() + childIfdName = childIb.IfdIdentity().UnindexedString() + } + + line := fmt.Sprintf("TAG", prefix, thisIb.IfdIdentity().String(), thisIb.IfdIdentity().TagId(), childIfdName, i, tag.tagId) + linesOutput = append(linesOutput, line) + + if childIb == nil { + continue + } + + childPrefix := "" + if prefix == "" { + childPrefix = fmt.Sprintf("%s", thisIb.IfdIdentity().UnindexedString()) + } else { + childPrefix = fmt.Sprintf("%s->%s", prefix, thisIb.IfdIdentity().UnindexedString()) + } + + linesOutput = thisIb.dumpToStrings(childIb, childPrefix, tag.tagId, linesOutput) + } + + siblingIfdIndex++ + } + + return linesOutput +} + +func (ib *IfdBuilder) DumpToStrings() (lines []string) { + return ib.dumpToStrings(ib, "", 0, lines) +} + +func (ib *IfdBuilder) SetNextIb(nextIb *IfdBuilder) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ib.nextIb = nextIb + + return nil +} + +func (ib *IfdBuilder) DeleteN(tagId uint16, n int) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if n < 1 { + log.Panicf("N must be at least 1: (%d)", n) + } + + for n > 0 { + j := -1 + for i, bt := range ib.tags { + if bt.tagId == tagId { + j = i + break + } + } + + if j == -1 { + log.Panic(ErrTagEntryNotFound) + } + + ib.tags = append(ib.tags[:j], ib.tags[j+1:]...) + n-- + } + + return nil +} + +func (ib *IfdBuilder) DeleteFirst(tagId uint16) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = ib.DeleteN(tagId, 1) + log.PanicIf(err) + + return nil +} + +func (ib *IfdBuilder) DeleteAll(tagId uint16) (n int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for { + err = ib.DeleteN(tagId, 1) + if log.Is(err, ErrTagEntryNotFound) == true { + break + } else if err != nil { + log.Panic(err) + } + + n++ + } + + return n, nil +} + +func (ib *IfdBuilder) ReplaceAt(position int, bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if position < 0 { + log.Panicf("replacement position must be 0 or greater") + } else if position >= len(ib.tags) { + log.Panicf("replacement position does not exist") + } + + ib.tags[position] = bt + + return nil +} + +func (ib *IfdBuilder) Replace(tagId uint16, bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + position, err := ib.Find(tagId) + log.PanicIf(err) + + ib.tags[position] = bt + + return nil +} + +// Set will add a new entry or update an existing entry. +func (ib *IfdBuilder) Set(bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + position, err := ib.Find(bt.tagId) + if err == nil { + ib.tags[position] = bt + } else if log.Is(err, ErrTagEntryNotFound) == true { + err = ib.add(bt) + log.PanicIf(err) + } else { + log.Panic(err) + } + + return nil +} + +func (ib *IfdBuilder) FindN(tagId uint16, maxFound int) (found []int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + found = make([]int, 0) + + for i, bt := range ib.tags { + if bt.tagId == tagId { + found = append(found, i) + if maxFound == 0 || len(found) >= maxFound { + break + } + } + } + + return found, nil +} + +func (ib *IfdBuilder) Find(tagId uint16) (position int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + found, err := ib.FindN(tagId, 1) + log.PanicIf(err) + + if len(found) == 0 { + log.Panic(ErrTagEntryNotFound) + } + + return found[0], nil +} + +func (ib *IfdBuilder) FindTag(tagId uint16) (bt *BuilderTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + found, err := ib.FindN(tagId, 1) + log.PanicIf(err) + + if len(found) == 0 { + log.Panic(ErrTagEntryNotFound) + } + + position := found[0] + + return ib.tags[position], nil +} + +func (ib *IfdBuilder) FindTagWithName(tagName string) (bt *BuilderTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + it, err := ib.tagIndex.GetWithName(ib.IfdIdentity(), tagName) + log.PanicIf(err) + + found, err := ib.FindN(it.Id, 1) + log.PanicIf(err) + + if len(found) == 0 { + log.Panic(ErrTagEntryNotFound) + } + + position := found[0] + + return ib.tags[position], nil +} + +func (ib *IfdBuilder) add(bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if bt.ifdPath == "" { + log.Panicf("BuilderTag ifdPath is not set: %s", bt) + } else if bt.typeId == 0x0 { + log.Panicf("BuilderTag type-ID is not set: %s", bt) + } else if bt.value == nil { + log.Panicf("BuilderTag value is not set: %s", bt) + } + + ib.tags = append(ib.tags, bt) + return nil +} + +func (ib *IfdBuilder) Add(bt *BuilderTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if bt.value.IsIb() == true { + log.Panicf("child IfdBuilders must be added via AddChildIb() or AddTagsFromExisting(), not Add()") + } + + err = ib.add(bt) + log.PanicIf(err) + + return nil +} + +// AddChildIb adds a tag that branches to a new IFD. +func (ib *IfdBuilder) AddChildIb(childIb *IfdBuilder) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if childIb.IfdIdentity().TagId() == 0 { + log.Panicf("IFD can not be used as a child IFD (not associated with a tag-ID): %v", childIb) + } else if childIb.byteOrder != ib.byteOrder { + log.Panicf("Child IFD does not have the same byte-order: [%s] != [%s]", childIb.byteOrder, ib.byteOrder) + } + + // Since no standard IFDs supports occur`ring more than once, check that a + // tag of this type has not been previously added. Note that we just search + // the current IFD and *not every* IFD. + for _, bt := range childIb.tags { + if bt.tagId == childIb.IfdIdentity().TagId() { + log.Panicf("child-IFD already added: %v", childIb.IfdIdentity().UnindexedString()) + } + } + + bt := ib.NewBuilderTagFromBuilder(childIb) + ib.tags = append(ib.tags, bt) + + return nil +} + +func (ib *IfdBuilder) NewBuilderTagFromBuilder(childIb *IfdBuilder) (bt *BuilderTag) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + value := NewIfdBuilderTagValueFromIfdBuilder(childIb) + + bt = NewChildIfdBuilderTag( + ib.IfdIdentity().UnindexedString(), + childIb.IfdIdentity().TagId(), + value) + + return bt +} + +// AddTagsFromExisting does a verbatim copy of the entries in `ifd` to this +// builder. It excludes child IFDs. These must be added explicitly via +// `AddChildIb()`. +func (ib *IfdBuilder) AddTagsFromExisting(ifd *Ifd, includeTagIds []uint16, excludeTagIds []uint16) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + thumbnailData, err := ifd.Thumbnail() + if err == nil { + err = ib.SetThumbnail(thumbnailData) + log.PanicIf(err) + } else if log.Is(err, ErrNoThumbnail) == false { + log.Panic(err) + } + + for i, ite := range ifd.Entries { + if ite.IsThumbnailOffset() == true || ite.IsThumbnailSize() { + // These will be added on-the-fly when we encode. + continue + } + + if excludeTagIds != nil && len(excludeTagIds) > 0 { + found := false + for _, excludedTagId := range excludeTagIds { + if excludedTagId == ite.TagId() { + found = true + } + } + + if found == true { + continue + } + } + + if includeTagIds != nil && len(includeTagIds) > 0 { + // Whether or not there was a list of excludes, if there is a list + // of includes than the current tag has to be in it. + + found := false + for _, includedTagId := range includeTagIds { + if includedTagId == ite.TagId() { + found = true + break + } + } + + if found == false { + continue + } + } + + var bt *BuilderTag + + if ite.ChildIfdPath() != "" { + // If we want to add an IFD tag, we'll have to build it first and + // *then* add it via a different method. + + // Figure out which of the child-IFDs that are associated with + // this IFD represents this specific child IFD. + + var childIfd *Ifd + for _, thisChildIfd := range ifd.Children { + if thisChildIfd.ParentTagIndex != i { + continue + } else if thisChildIfd.ifdIdentity.TagId() != 0xffff && thisChildIfd.ifdIdentity.TagId() != ite.TagId() { + log.Panicf("child-IFD tag is not correct: TAG-POSITION=(%d) ITE=%s CHILD-IFD=%s", thisChildIfd.ParentTagIndex, ite, thisChildIfd) + } + + childIfd = thisChildIfd + break + } + + if childIfd == nil { + childTagIds := make([]string, len(ifd.Children)) + for j, childIfd := range ifd.Children { + childTagIds[j] = fmt.Sprintf("0x%04x (parent tag-position %d)", childIfd.ifdIdentity.TagId(), childIfd.ParentTagIndex) + } + + log.Panicf("could not find child IFD for child ITE: IFD-PATH=[%s] TAG-ID=(0x%04x) CURRENT-TAG-POSITION=(%d) CHILDREN=%v", ite.IfdPath(), ite.TagId(), i, childTagIds) + } + + childIb := NewIfdBuilderFromExistingChain(childIfd) + bt = ib.NewBuilderTagFromBuilder(childIb) + } else { + // Non-IFD tag. + + rawBytes, err := ite.GetRawBytes() + log.PanicIf(err) + + value := NewIfdBuilderTagValueFromBytes(rawBytes) + + bt = NewBuilderTag( + ifd.ifdIdentity.UnindexedString(), + ite.TagId(), + ite.TagType(), + value, + ib.byteOrder) + } + + err := ib.add(bt) + log.PanicIf(err) + } + + return nil +} + +// AddStandard quickly and easily composes and adds the tag using the +// information already known about a tag. Only works with standard tags. +func (ib *IfdBuilder) AddStandard(tagId uint16, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + it, err := ib.tagIndex.Get(ib.IfdIdentity(), tagId) + log.PanicIf(err) + + bt := NewStandardBuilderTag(ib.IfdIdentity().UnindexedString(), it, ib.byteOrder, value) + + err = ib.add(bt) + log.PanicIf(err) + + return nil +} + +// AddStandardWithName quickly and easily composes and adds the tag using the +// information already known about a tag (using the name). Only works with +// standard tags. +func (ib *IfdBuilder) AddStandardWithName(tagName string, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + it, err := ib.tagIndex.GetWithName(ib.IfdIdentity(), tagName) + log.PanicIf(err) + + bt := NewStandardBuilderTag(ib.IfdIdentity().UnindexedString(), it, ib.byteOrder, value) + + err = ib.add(bt) + log.PanicIf(err) + + return nil +} + +// SetStandard quickly and easily composes and adds or replaces the tag using +// the information already known about a tag. Only works with standard tags. +func (ib *IfdBuilder) SetStandard(tagId uint16, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test for this function. + + it, err := ib.tagIndex.Get(ib.IfdIdentity(), tagId) + log.PanicIf(err) + + bt := NewStandardBuilderTag(ib.IfdIdentity().UnindexedString(), it, ib.byteOrder, value) + + i, err := ib.Find(tagId) + if err != nil { + if log.Is(err, ErrTagEntryNotFound) == false { + log.Panic(err) + } + + ib.tags = append(ib.tags, bt) + } else { + ib.tags[i] = bt + } + + return nil +} + +// SetStandardWithName quickly and easily composes and adds or replaces the +// tag using the information already known about a tag (using the name). Only +// works with standard tags. +func (ib *IfdBuilder) SetStandardWithName(tagName string, value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test for this function. + + it, err := ib.tagIndex.GetWithName(ib.IfdIdentity(), tagName) + log.PanicIf(err) + + bt := NewStandardBuilderTag(ib.IfdIdentity().UnindexedString(), it, ib.byteOrder, value) + + i, err := ib.Find(bt.tagId) + if err != nil { + if log.Is(err, ErrTagEntryNotFound) == false { + log.Panic(err) + } + + ib.tags = append(ib.tags, bt) + } else { + ib.tags[i] = bt + } + + return nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/ifd_builder_encode.go b/vendor/github.com/dsoprea/go-exif/v2/ifd_builder_encode.go new file mode 100644 index 000000000..a0bac3e5b --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/ifd_builder_encode.go @@ -0,0 +1,532 @@ +package exif + +import ( + "bytes" + "fmt" + "strings" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +const ( + // Tag-ID + Tag-Type + Unit-Count + Value/Offset. + IfdTagEntrySize = uint32(2 + 2 + 4 + 4) +) + +type ByteWriter struct { + b *bytes.Buffer + byteOrder binary.ByteOrder +} + +func NewByteWriter(b *bytes.Buffer, byteOrder binary.ByteOrder) (bw *ByteWriter) { + return &ByteWriter{ + b: b, + byteOrder: byteOrder, + } +} + +func (bw ByteWriter) writeAsBytes(value interface{}) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = binary.Write(bw.b, bw.byteOrder, value) + log.PanicIf(err) + + return nil +} + +func (bw ByteWriter) WriteUint32(value uint32) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = bw.writeAsBytes(value) + log.PanicIf(err) + + return nil +} + +func (bw ByteWriter) WriteUint16(value uint16) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + err = bw.writeAsBytes(value) + log.PanicIf(err) + + return nil +} + +func (bw ByteWriter) WriteFourBytes(value []byte) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + len_ := len(value) + if len_ != 4 { + log.Panicf("value is not four-bytes: (%d)", len_) + } + + _, err = bw.b.Write(value) + log.PanicIf(err) + + return nil +} + +// ifdOffsetIterator keeps track of where the next IFD should be written by +// keeping track of where the offsets start, the data that has been added, and +// bumping the offset *when* the data is added. +type ifdDataAllocator struct { + offset uint32 + b bytes.Buffer +} + +func newIfdDataAllocator(ifdDataAddressableOffset uint32) *ifdDataAllocator { + return &ifdDataAllocator{ + offset: ifdDataAddressableOffset, + } +} + +func (ida *ifdDataAllocator) Allocate(value []byte) (offset uint32, err error) { + _, err = ida.b.Write(value) + log.PanicIf(err) + + offset = ida.offset + ida.offset += uint32(len(value)) + + return offset, nil +} + +func (ida *ifdDataAllocator) NextOffset() uint32 { + return ida.offset +} + +func (ida *ifdDataAllocator) Bytes() []byte { + return ida.b.Bytes() +} + +// IfdByteEncoder converts an IB to raw bytes (for writing) while also figuring +// out all of the allocations and indirection that is required for extended +// data. +type IfdByteEncoder struct { + // journal holds a list of actions taken while encoding. + journal [][3]string +} + +func NewIfdByteEncoder() (ibe *IfdByteEncoder) { + return &IfdByteEncoder{ + journal: make([][3]string, 0), + } +} + +func (ibe *IfdByteEncoder) Journal() [][3]string { + return ibe.journal +} + +func (ibe *IfdByteEncoder) TableSize(entryCount int) uint32 { + // Tag-Count + (Entry-Size * Entry-Count) + Next-IFD-Offset. + return uint32(2) + (IfdTagEntrySize * uint32(entryCount)) + uint32(4) +} + +func (ibe *IfdByteEncoder) pushToJournal(where, direction, format string, args ...interface{}) { + event := [3]string{ + direction, + where, + fmt.Sprintf(format, args...), + } + + ibe.journal = append(ibe.journal, event) +} + +// PrintJournal prints a hierarchical representation of the steps taken during +// encoding. +func (ibe *IfdByteEncoder) PrintJournal() { + maxWhereLength := 0 + for _, event := range ibe.journal { + where := event[1] + + len_ := len(where) + if len_ > maxWhereLength { + maxWhereLength = len_ + } + } + + level := 0 + for i, event := range ibe.journal { + direction := event[0] + where := event[1] + message := event[2] + + if direction != ">" && direction != "<" && direction != "-" { + log.Panicf("journal operation not valid: [%s]", direction) + } + + if direction == "<" { + if level <= 0 { + log.Panicf("journal operations unbalanced (too many closes)") + } + + level-- + } + + indent := strings.Repeat(" ", level) + + fmt.Printf("%3d %s%s %s: %s\n", i, indent, direction, where, message) + + if direction == ">" { + level++ + } + } + + if level != 0 { + log.Panicf("journal operations unbalanced (too many opens)") + } +} + +// encodeTagToBytes encodes the given tag to a byte stream. If +// `nextIfdOffsetToWrite` is more than (0), recurse into child IFDs +// (`nextIfdOffsetToWrite` is required in order for them to know where the its +// IFD data will be written, in order for them to know the offset of where +// their allocated-data block will start, which follows right behind). +func (ibe *IfdByteEncoder) encodeTagToBytes(ib *IfdBuilder, bt *BuilderTag, bw *ByteWriter, ida *ifdDataAllocator, nextIfdOffsetToWrite uint32) (childIfdBlock []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Write tag-ID. + err = bw.WriteUint16(bt.tagId) + log.PanicIf(err) + + // Works for both values and child IFDs (which have an official size of + // LONG). + err = bw.WriteUint16(uint16(bt.typeId)) + log.PanicIf(err) + + // Write unit-count. + + if bt.value.IsBytes() == true { + effectiveType := bt.typeId + if bt.typeId == exifcommon.TypeUndefined { + effectiveType = exifcommon.TypeByte + } + + // It's a non-unknown value.Calculate the count of values of + // the type that we're writing and the raw bytes for the whole list. + + typeSize := uint32(effectiveType.Size()) + + valueBytes := bt.value.Bytes() + + len_ := len(valueBytes) + unitCount := uint32(len_) / typeSize + + if _, found := tagsWithoutAlignment[bt.tagId]; found == false { + remainder := uint32(len_) % typeSize + + if remainder > 0 { + log.Panicf("tag (0x%04x) value of (%d) bytes not evenly divisible by type-size (%d)", bt.tagId, len_, typeSize) + } + } + + err = bw.WriteUint32(unitCount) + log.PanicIf(err) + + // Write four-byte value/offset. + + if len_ > 4 { + offset, err := ida.Allocate(valueBytes) + log.PanicIf(err) + + err = bw.WriteUint32(offset) + log.PanicIf(err) + } else { + fourBytes := make([]byte, 4) + copy(fourBytes, valueBytes) + + err = bw.WriteFourBytes(fourBytes) + log.PanicIf(err) + } + } else { + if bt.value.IsIb() == false { + log.Panicf("tag value is not a byte-slice but also not a child IB: %v", bt) + } + + // Write unit-count (one LONG representing one offset). + err = bw.WriteUint32(1) + log.PanicIf(err) + + if nextIfdOffsetToWrite > 0 { + var err error + + ibe.pushToJournal("encodeTagToBytes", ">", "[%s]->[%s]", ib.IfdIdentity().UnindexedString(), bt.value.Ib().IfdIdentity().UnindexedString()) + + // Create the block of IFD data and everything it requires. + childIfdBlock, err = ibe.encodeAndAttachIfd(bt.value.Ib(), nextIfdOffsetToWrite) + log.PanicIf(err) + + ibe.pushToJournal("encodeTagToBytes", "<", "[%s]->[%s]", bt.value.Ib().IfdIdentity().UnindexedString(), ib.IfdIdentity().UnindexedString()) + + // Use the next-IFD offset for it. The IFD will actually get + // attached after we return. + err = bw.WriteUint32(nextIfdOffsetToWrite) + log.PanicIf(err) + + } else { + // No child-IFDs are to be allocated. Finish the entry with a NULL + // pointer. + + ibe.pushToJournal("encodeTagToBytes", "-", "*Not* descending to child: [%s]", bt.value.Ib().IfdIdentity().UnindexedString()) + + err = bw.WriteUint32(0) + log.PanicIf(err) + } + } + + return childIfdBlock, nil +} + +// encodeIfdToBytes encodes the given IB to a byte-slice. We are given the +// offset at which this IFD will be written. This method is used called both to +// pre-determine how big the table is going to be (so that we can calculate the +// address to allocate data at) as well as to write the final table. +// +// It is necessary to fully realize the table in order to predetermine its size +// because it is not enough to know the size of the table: If there are child +// IFDs, we will not be able to allocate them without first knowing how much +// data we need to allocate for the current IFD. +func (ibe *IfdByteEncoder) encodeIfdToBytes(ib *IfdBuilder, ifdAddressableOffset uint32, nextIfdOffsetToWrite uint32, setNextIb bool) (data []byte, tableSize uint32, dataSize uint32, childIfdSizes []uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ibe.pushToJournal("encodeIfdToBytes", ">", "%s", ib) + + tableSize = ibe.TableSize(len(ib.tags)) + + b := new(bytes.Buffer) + bw := NewByteWriter(b, ib.byteOrder) + + // Write tag count. + err = bw.WriteUint16(uint16(len(ib.tags))) + log.PanicIf(err) + + ida := newIfdDataAllocator(ifdAddressableOffset) + + childIfdBlocks := make([][]byte, 0) + + // Write raw bytes for each tag entry. Allocate larger data to be referred + // to in the follow-up data-block as required. Any "unknown"-byte tags that + // we can't parse will not be present here (using AddTagsFromExisting(), at + // least). + for _, bt := range ib.tags { + childIfdBlock, err := ibe.encodeTagToBytes(ib, bt, bw, ida, nextIfdOffsetToWrite) + log.PanicIf(err) + + if childIfdBlock != nil { + // We aren't allowed to have non-nil child IFDs if we're just + // sizing things up. + if nextIfdOffsetToWrite == 0 { + log.Panicf("no IFD offset provided for child-IFDs; no new child-IFDs permitted") + } + + nextIfdOffsetToWrite += uint32(len(childIfdBlock)) + childIfdBlocks = append(childIfdBlocks, childIfdBlock) + } + } + + dataBytes := ida.Bytes() + dataSize = uint32(len(dataBytes)) + + childIfdSizes = make([]uint32, len(childIfdBlocks)) + childIfdsTotalSize := uint32(0) + for i, childIfdBlock := range childIfdBlocks { + len_ := uint32(len(childIfdBlock)) + childIfdSizes[i] = len_ + childIfdsTotalSize += len_ + } + + // N the link from this IFD to the next IFD that will be written in the + // next cycle. + if setNextIb == true { + // Write address of next IFD in chain. This will be the original + // allocation offset plus the size of everything we have allocated for + // this IFD and its child-IFDs. + // + // It is critical that this number is stepped properly. We experienced + // an issue whereby it first looked like we were duplicating the IFD and + // then that we were duplicating the tags in the wrong IFD, and then + // finally we determined that the next-IFD offset for the first IFD was + // accidentally pointing back to the EXIF IFD, so we were visiting it + // twice when visiting through the tags after decoding. It was an + // expensive bug to find. + + ibe.pushToJournal("encodeIfdToBytes", "-", "Setting 'next' IFD to (0x%08x).", nextIfdOffsetToWrite) + + err := bw.WriteUint32(nextIfdOffsetToWrite) + log.PanicIf(err) + } else { + err := bw.WriteUint32(0) + log.PanicIf(err) + } + + _, err = b.Write(dataBytes) + log.PanicIf(err) + + // Append any child IFD blocks after our table and data blocks. These IFDs + // were equipped with the appropriate offset information so it's expected + // that all offsets referred to by these will be correct. + // + // Note that child-IFDs are append after the current IFD and before the + // next IFD, as opposed to the root IFDs, which are chained together but + // will be interrupted by these child-IFDs (which is expected, per the + // standard). + + for _, childIfdBlock := range childIfdBlocks { + _, err = b.Write(childIfdBlock) + log.PanicIf(err) + } + + ibe.pushToJournal("encodeIfdToBytes", "<", "%s", ib) + + return b.Bytes(), tableSize, dataSize, childIfdSizes, nil +} + +// encodeAndAttachIfd is a reentrant function that processes the IFD chain. +func (ibe *IfdByteEncoder) encodeAndAttachIfd(ib *IfdBuilder, ifdAddressableOffset uint32) (data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ibe.pushToJournal("encodeAndAttachIfd", ">", "%s", ib) + + b := new(bytes.Buffer) + + i := 0 + + for thisIb := ib; thisIb != nil; thisIb = thisIb.nextIb { + + // Do a dry-run in order to pre-determine its size requirement. + + ibe.pushToJournal("encodeAndAttachIfd", ">", "Beginning encoding process: (%d) [%s]", i, thisIb.IfdIdentity().UnindexedString()) + + ibe.pushToJournal("encodeAndAttachIfd", ">", "Calculating size: (%d) [%s]", i, thisIb.IfdIdentity().UnindexedString()) + + _, tableSize, allocatedDataSize, _, err := ibe.encodeIfdToBytes(thisIb, ifdAddressableOffset, 0, false) + log.PanicIf(err) + + ibe.pushToJournal("encodeAndAttachIfd", "<", "Finished calculating size: (%d) [%s]", i, thisIb.IfdIdentity().UnindexedString()) + + ifdAddressableOffset += tableSize + nextIfdOffsetToWrite := ifdAddressableOffset + allocatedDataSize + + ibe.pushToJournal("encodeAndAttachIfd", ">", "Next IFD will be written at offset (0x%08x)", nextIfdOffsetToWrite) + + // Write our IFD as well as any child-IFDs (now that we know the offset + // where new IFDs and their data will be allocated). + + setNextIb := thisIb.nextIb != nil + + ibe.pushToJournal("encodeAndAttachIfd", ">", "Encoding starting: (%d) [%s] NEXT-IFD-OFFSET-TO-WRITE=(0x%08x)", i, thisIb.IfdIdentity().UnindexedString(), nextIfdOffsetToWrite) + + tableAndAllocated, effectiveTableSize, effectiveAllocatedDataSize, childIfdSizes, err := + ibe.encodeIfdToBytes(thisIb, ifdAddressableOffset, nextIfdOffsetToWrite, setNextIb) + + log.PanicIf(err) + + if effectiveTableSize != tableSize { + log.Panicf("written table size does not match the pre-calculated table size: (%d) != (%d) %s", effectiveTableSize, tableSize, ib) + } else if effectiveAllocatedDataSize != allocatedDataSize { + log.Panicf("written allocated-data size does not match the pre-calculated allocated-data size: (%d) != (%d) %s", effectiveAllocatedDataSize, allocatedDataSize, ib) + } + + ibe.pushToJournal("encodeAndAttachIfd", "<", "Encoding done: (%d) [%s]", i, thisIb.IfdIdentity().UnindexedString()) + + totalChildIfdSize := uint32(0) + for _, childIfdSize := range childIfdSizes { + totalChildIfdSize += childIfdSize + } + + if len(tableAndAllocated) != int(tableSize+allocatedDataSize+totalChildIfdSize) { + log.Panicf("IFD table and data is not a consistent size: (%d) != (%d)", len(tableAndAllocated), tableSize+allocatedDataSize+totalChildIfdSize) + } + + // TODO(dustin): We might want to verify the original tableAndAllocated length, too. + + _, err = b.Write(tableAndAllocated) + log.PanicIf(err) + + // Advance past what we've allocated, thus far. + + ifdAddressableOffset += allocatedDataSize + totalChildIfdSize + + ibe.pushToJournal("encodeAndAttachIfd", "<", "Finishing encoding process: (%d) [%s] [FINAL:] NEXT-IFD-OFFSET-TO-WRITE=(0x%08x)", i, ib.IfdIdentity().UnindexedString(), nextIfdOffsetToWrite) + + i++ + } + + ibe.pushToJournal("encodeAndAttachIfd", "<", "%s", ib) + + return b.Bytes(), nil +} + +// EncodeToExifPayload is the base encoding step that transcribes the entire IB +// structure to its on-disk layout. +func (ibe *IfdByteEncoder) EncodeToExifPayload(ib *IfdBuilder) (data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + data, err = ibe.encodeAndAttachIfd(ib, ExifDefaultFirstIfdOffset) + log.PanicIf(err) + + return data, nil +} + +// EncodeToExif calls EncodeToExifPayload and then packages the result into a +// complete EXIF block. +func (ibe *IfdByteEncoder) EncodeToExif(ib *IfdBuilder) (data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + encodedIfds, err := ibe.EncodeToExifPayload(ib) + log.PanicIf(err) + + // Wrap the IFD in a formal EXIF block. + + b := new(bytes.Buffer) + + headerBytes, err := BuildExifHeader(ib.byteOrder, ExifDefaultFirstIfdOffset) + log.PanicIf(err) + + _, err = b.Write(headerBytes) + log.PanicIf(err) + + _, err = b.Write(encodedIfds) + log.PanicIf(err) + + return b.Bytes(), nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/ifd_enumerate.go b/vendor/github.com/dsoprea/go-exif/v2/ifd_enumerate.go new file mode 100644 index 000000000..33a5f84b3 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/ifd_enumerate.go @@ -0,0 +1,1521 @@ +package exif + +import ( + "bytes" + "errors" + "fmt" + "io" + "strconv" + "strings" + "time" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" + "github.com/dsoprea/go-exif/v2/undefined" +) + +var ( + ifdEnumerateLogger = log.NewLogger("exif.ifd_enumerate") +) + +var ( + // ErrNoThumbnail means that no thumbnail was found. + ErrNoThumbnail = errors.New("no thumbnail") + + // ErrNoGpsTags means that no GPS info was found. + ErrNoGpsTags = errors.New("no gps tags") + + // ErrTagTypeNotValid means that the tag-type is not valid. + ErrTagTypeNotValid = errors.New("tag type invalid") + + // ErrOffsetInvalid means that the file offset is not valid. + ErrOffsetInvalid = errors.New("file offset invalid") +) + +var ( + // ValidGpsVersions is the list of recognized EXIF GPS versions/signatures. + ValidGpsVersions = [][4]byte{ + // 2.0.0.0 appears to have a very similar format to 2.2.0.0, so enabling + // it under that assumption. + // + // IFD-PATH=[IFD] ID=(0x8825) NAME=[GPSTag] COUNT=(1) TYPE=[LONG] VALUE=[114] + // IFD-PATH=[IFD/GPSInfo] ID=(0x0000) NAME=[GPSVersionID] COUNT=(4) TYPE=[BYTE] VALUE=[02 00 00 00] + // IFD-PATH=[IFD/GPSInfo] ID=(0x0001) NAME=[GPSLatitudeRef] COUNT=(2) TYPE=[ASCII] VALUE=[S] + // IFD-PATH=[IFD/GPSInfo] ID=(0x0002) NAME=[GPSLatitude] COUNT=(3) TYPE=[RATIONAL] VALUE=[38/1...] + // IFD-PATH=[IFD/GPSInfo] ID=(0x0003) NAME=[GPSLongitudeRef] COUNT=(2) TYPE=[ASCII] VALUE=[E] + // IFD-PATH=[IFD/GPSInfo] ID=(0x0004) NAME=[GPSLongitude] COUNT=(3) TYPE=[RATIONAL] VALUE=[144/1...] + // IFD-PATH=[IFD/GPSInfo] ID=(0x0012) NAME=[GPSMapDatum] COUNT=(7) TYPE=[ASCII] VALUE=[WGS-84] + // + {2, 0, 0, 0}, + + {2, 2, 0, 0}, + + // Suddenly appeared at the default in 2.31: https://home.jeita.or.jp/tsc/std-pdf/CP-3451D.pdf + // + // Note that the presence of 2.3.0.0 doesn't seem to guarantee + // coordinates. In some cases, we seen just the following: + // + // GPS Tag Version |2.3.0.0 + // GPS Receiver Status |V + // Geodetic Survey Data|WGS-84 + // GPS Differential Cor|0 + // + {2, 3, 0, 0}, + } +) + +// byteParser knows how to decode an IFD and all of the tags it +// describes. +// +// The IFDs and the actual values can float throughout the EXIF block, but the +// IFD itself is just a minor header followed by a set of repeating, +// statically-sized records. So, the tags (though notnecessarily their values) +// are fairly simple to enumerate. +type byteParser struct { + byteOrder binary.ByteOrder + addressableData []byte + ifdOffset uint32 + currentOffset uint32 +} + +func newByteParser(addressableData []byte, byteOrder binary.ByteOrder, ifdOffset uint32) (bp *byteParser, err error) { + if ifdOffset >= uint32(len(addressableData)) { + return nil, ErrOffsetInvalid + } + + // TODO(dustin): Add test + + bp = &byteParser{ + addressableData: addressableData, + byteOrder: byteOrder, + currentOffset: ifdOffset, + } + + return bp, nil +} + +// getUint16 reads a uint16 and advances both our current and our current +// accumulator (which allows us to know how far to seek to the beginning of the +// next IFD when it's time to jump). +func (bp *byteParser) getUint16() (value uint16, raw []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + needBytes := uint32(2) + + if bp.currentOffset+needBytes > uint32(len(bp.addressableData)) { + return 0, nil, io.EOF + } + + raw = bp.addressableData[bp.currentOffset : bp.currentOffset+needBytes] + value = bp.byteOrder.Uint16(raw) + + bp.currentOffset += uint32(needBytes) + + return value, raw, nil +} + +// getUint32 reads a uint32 and advances both our current and our current +// accumulator (which allows us to know how far to seek to the beginning of the +// next IFD when it's time to jump). +func (bp *byteParser) getUint32() (value uint32, raw []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + needBytes := uint32(4) + + if bp.currentOffset+needBytes > uint32(len(bp.addressableData)) { + return 0, nil, io.EOF + } + + raw = bp.addressableData[bp.currentOffset : bp.currentOffset+needBytes] + value = bp.byteOrder.Uint32(raw) + + bp.currentOffset += uint32(needBytes) + + return value, raw, nil +} + +// CurrentOffset returns the starting offset but the number of bytes that we +// have parsed. This is arithmetic-based tracking, not a seek(0) operation. +func (bp *byteParser) CurrentOffset() uint32 { + return bp.currentOffset +} + +// IfdEnumerate is the main enumeration type. It knows how to parse the IFD +// containers in the EXIF blob. +type IfdEnumerate struct { + exifData []byte + byteOrder binary.ByteOrder + tagIndex *TagIndex + ifdMapping *exifcommon.IfdMapping + furthestOffset uint32 +} + +// NewIfdEnumerate returns a new instance of IfdEnumerate. +func NewIfdEnumerate(ifdMapping *exifcommon.IfdMapping, tagIndex *TagIndex, exifData []byte, byteOrder binary.ByteOrder) *IfdEnumerate { + return &IfdEnumerate{ + exifData: exifData, + byteOrder: byteOrder, + ifdMapping: ifdMapping, + tagIndex: tagIndex, + } +} + +func (ie *IfdEnumerate) getByteParser(ifdOffset uint32) (bp *byteParser, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + bp, err = + newByteParser( + ie.exifData[ExifAddressableAreaStart:], + ie.byteOrder, + ifdOffset) + + if err != nil { + if err == ErrOffsetInvalid { + return nil, err + } + + log.Panic(err) + } + + return bp, nil +} + +func (ie *IfdEnumerate) parseTag(ii *exifcommon.IfdIdentity, tagPosition int, bp *byteParser) (ite *IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + tagId, _, err := bp.getUint16() + log.PanicIf(err) + + tagTypeRaw, _, err := bp.getUint16() + log.PanicIf(err) + + tagType := exifcommon.TagTypePrimitive(tagTypeRaw) + + unitCount, _, err := bp.getUint32() + log.PanicIf(err) + + valueOffset, rawValueOffset, err := bp.getUint32() + log.PanicIf(err) + + if tagType.IsValid() == false { + ite = &IfdTagEntry{ + tagId: tagId, + tagType: tagType, + } + + log.Panic(ErrTagTypeNotValid) + } + + ite = newIfdTagEntry( + ii, + tagId, + tagPosition, + tagType, + unitCount, + valueOffset, + rawValueOffset, + ie.exifData[ExifAddressableAreaStart:], + ie.byteOrder) + + ifdPath := ii.UnindexedString() + + // If it's an IFD but not a standard one, it'll just be seen as a LONG + // (the standard IFD tag type), later, unless we skip it because it's + // [likely] not even in the standard list of known tags. + mi, err := ie.ifdMapping.GetChild(ifdPath, tagId) + if err == nil { + currentIfdTag := ii.IfdTag() + + childIt := exifcommon.NewIfdTag(¤tIfdTag, tagId, mi.Name) + iiChild := ii.NewChild(childIt, 0) + ite.SetChildIfd(iiChild) + + // We also need to set `tag.ChildFqIfdPath` but can't do it here + // because we don't have the IFD index. + } else if log.Is(err, exifcommon.ErrChildIfdNotMapped) == false { + log.Panic(err) + } + + return ite, nil +} + +// TagVisitorFn is called for each tag when enumerating through the EXIF. +type TagVisitorFn func(fqIfdPath string, ifdIndex int, ite *IfdTagEntry) (err error) + +// postparseTag do some tag-level processing here following the parse of each. +func (ie *IfdEnumerate) postparseTag(ite *IfdTagEntry, med *MiscellaneousExifData) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + ii := ite.IfdIdentity() + + tagId := ite.TagId() + tagType := ite.TagType() + + it, err := ie.tagIndex.Get(ii, tagId) + if err == nil { + ite.setTagName(it.Name) + } else { + if err != ErrTagNotFound { + log.Panic(err) + } + + // This is an unknown tag. + + originalBt := exifcommon.BasicTag{ + FqIfdPath: ii.String(), + IfdPath: ii.UnindexedString(), + TagId: tagId, + } + + if med != nil { + med.unknownTags[originalBt] = exifcommon.BasicTag{} + } + + utilityLogger.Debugf(nil, + "Tag (0x%04x) is not valid for IFD [%s]. Attempting secondary "+ + "lookup.", tagId, ii.String()) + + // This will overwrite the existing `it` and `err`. Since `FindFirst()` + // might generate different Errors than `Get()`, the log message above + // is import to try and mitigate confusion in that case. + it, err = ie.tagIndex.FindFirst(tagId, tagType, nil) + if err != nil { + if err != ErrTagNotFound { + log.Panic(err) + } + + // This is supposed to be a convenience function and if we were + // to keep the name empty or set it to some placeholder, it + // might be mismanaged by the package that is calling us. If + // they want to specifically manage these types of tags, they + // can use more advanced functionality to specifically -handle + // unknown tags. + utilityLogger.Warningf(nil, + "Tag with ID (0x%04x) in IFD [%s] is not recognized and "+ + "will be ignored.", tagId, ii.String()) + + return ErrTagNotFound + } + + ite.setTagName(it.Name) + + utilityLogger.Warningf(nil, + "Tag with ID (0x%04x) is not valid for IFD [%s], but it *is* "+ + "valid as tag [%s] under IFD [%s] and has the same type "+ + "[%s], so we will use that. This EXIF blob was probably "+ + "written by a buggy implementation.", + tagId, ii.UnindexedString(), it.Name, it.IfdPath, + tagType) + + if med != nil { + med.unknownTags[originalBt] = exifcommon.BasicTag{ + IfdPath: it.IfdPath, + TagId: tagId, + } + } + } + + // This is a known tag (from the standard, unless the user did + // something different). + + // Skip any tags that have a type that doesn't match the type in the + // index (which is loaded with the standard and accept tag + // information unless configured otherwise). + // + // We've run into multiple instances of the same tag, where a) no + // tag should ever be repeated, and b) all but one had an incorrect + // type and caused parsing/conversion woes. So, this is a quick fix + // for those scenarios. + if it.DoesSupportType(tagType) == false { + ifdEnumerateLogger.Warningf(nil, + "Skipping tag [%s] (0x%04x) [%s] with an unexpected type: %v ∉ %v", + ii.UnindexedString(), tagId, it.Name, + tagType, it.SupportedTypes) + + return ErrTagNotFound + } + + return nil +} + +// parseIfd decodes the IFD block that we're currently sitting on the first +// byte of. +func (ie *IfdEnumerate) parseIfd(ii *exifcommon.IfdIdentity, bp *byteParser, visitor TagVisitorFn, doDescend bool, med *MiscellaneousExifData) (nextIfdOffset uint32, entries []*IfdTagEntry, thumbnailData []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + tagCount, _, err := bp.getUint16() + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "IFD [%s] tag-count: (%d)", ii.String(), tagCount) + + entries = make([]*IfdTagEntry, 0) + + var enumeratorThumbnailOffset *IfdTagEntry + var enumeratorThumbnailSize *IfdTagEntry + + for i := 0; i < int(tagCount); i++ { + ite, err := ie.parseTag(ii, i, bp) + if err != nil { + if log.Is(err, ErrTagTypeNotValid) == true { + // Technically, we have the type on-file in the tags-index, but + // if the type stored alongside the data disagrees with it, + // which it apparently does, all bets are off. + ifdEnumerateLogger.Warningf(nil, "Tag (0x%04x) in IFD [%s] at position (%d) has invalid type (%d) and will be skipped.", ite.tagId, ii, i, ite.tagType) + continue + } + + log.Panic(err) + } + + err = ie.postparseTag(ite, med) + if err == nil { + if err == ErrTagNotFound { + continue + } + + log.PanicIf(err) + } + + tagId := ite.TagId() + + if visitor != nil { + err := visitor(ii.String(), ii.Index(), ite) + log.PanicIf(err) + } + + if ite.IsThumbnailOffset() == true { + ifdEnumerateLogger.Debugf(nil, "Skipping the thumbnail offset tag (0x%04x). Use accessors to get it or set it.", tagId) + + enumeratorThumbnailOffset = ite + entries = append(entries, ite) + + continue + } else if ite.IsThumbnailSize() == true { + ifdEnumerateLogger.Debugf(nil, "Skipping the thumbnail size tag (0x%04x). Use accessors to get it or set it.", tagId) + + enumeratorThumbnailSize = ite + entries = append(entries, ite) + + continue + } + + if ite.TagType() != exifcommon.TypeUndefined { + // If this tag's value is an offset, bump our max-offset value to + // what that offset is plus however large that value is. + + vc := ite.getValueContext() + + farOffset, err := vc.GetFarOffset() + if err == nil { + candidateOffset := farOffset + uint32(vc.SizeInBytes()) + if candidateOffset > ie.furthestOffset { + ie.furthestOffset = candidateOffset + } + } else if err != exifcommon.ErrNotFarValue { + log.PanicIf(err) + } + } + + // If it's an IFD but not a standard one, it'll just be seen as a LONG + // (the standard IFD tag type), later, unless we skip it because it's + // [likely] not even in the standard list of known tags. + if ite.ChildIfdPath() != "" { + if doDescend == true { + ifdEnumerateLogger.Debugf(nil, "Descending from IFD [%s] to IFD [%s].", ii, ite.ChildIfdPath()) + + currentIfdTag := ii.IfdTag() + + childIfdTag := + exifcommon.NewIfdTag( + ¤tIfdTag, + ite.TagId(), + ite.ChildIfdName()) + + iiChild := ii.NewChild(childIfdTag, 0) + + err := ie.scan(iiChild, ite.getValueOffset(), visitor, med) + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Ascending from IFD [%s] to IFD [%s].", ite.ChildIfdPath(), ii) + } + } + + entries = append(entries, ite) + } + + if enumeratorThumbnailOffset != nil && enumeratorThumbnailSize != nil { + thumbnailData, err = ie.parseThumbnail(enumeratorThumbnailOffset, enumeratorThumbnailSize) + log.PanicIf(err) + + // In this case, the value is always an offset. + offset := enumeratorThumbnailOffset.getValueOffset() + + // This this case, the value is always a length. + length := enumeratorThumbnailSize.getValueOffset() + + ifdEnumerateLogger.Debugf(nil, "Found thumbnail in IFD [%s]. Its offset is (%d) and is (%d) bytes.", ii, offset, length) + + furthestOffset := offset + length + + if furthestOffset > ie.furthestOffset { + ie.furthestOffset = furthestOffset + } + } + + nextIfdOffset, _, err = bp.getUint32() + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Next IFD at offset: (%08x)", nextIfdOffset) + + return nextIfdOffset, entries, thumbnailData, nil +} + +func (ie *IfdEnumerate) parseThumbnail(offsetIte, lengthIte *IfdTagEntry) (thumbnailData []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + vRaw, err := lengthIte.Value() + log.PanicIf(err) + + vList := vRaw.([]uint32) + if len(vList) != 1 { + log.Panicf("not exactly one long: (%d)", len(vList)) + } + + length := vList[0] + + // The tag is official a LONG type, but it's actually an offset to a blob of bytes. + offsetIte.updateTagType(exifcommon.TypeByte) + offsetIte.updateUnitCount(length) + + thumbnailData, err = offsetIte.GetRawBytes() + log.PanicIf(err) + + return thumbnailData, nil +} + +// scan parses and enumerates the different IFD blocks and invokes a visitor +// callback for each tag. No information is kept or returned. +func (ie *IfdEnumerate) scan(iiGeneral *exifcommon.IfdIdentity, ifdOffset uint32, visitor TagVisitorFn, med *MiscellaneousExifData) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + for ifdIndex := 0; ; ifdIndex++ { + iiSibling := iiGeneral.NewSibling(ifdIndex) + + ifdEnumerateLogger.Debugf(nil, "Parsing IFD [%s] at offset (0x%04x) (scan).", iiSibling.String(), ifdOffset) + + bp, err := ie.getByteParser(ifdOffset) + if err != nil { + if err == ErrOffsetInvalid { + ifdEnumerateLogger.Errorf(nil, nil, "IFD [%s] at offset (0x%04x) is unreachable. Terminating scan.", iiSibling.String(), ifdOffset) + break + } + + log.Panic(err) + } + + nextIfdOffset, _, _, err := ie.parseIfd(iiSibling, bp, visitor, true, med) + log.PanicIf(err) + + currentOffset := bp.CurrentOffset() + if currentOffset > ie.furthestOffset { + ie.furthestOffset = currentOffset + } + + if nextIfdOffset == 0 { + break + } + + ifdOffset = nextIfdOffset + } + + return nil +} + +// MiscellaneousExifData is reports additional data collected during the parse. +type MiscellaneousExifData struct { + // UnknownTags contains all tags that were invalid for their containing + // IFDs. The values represent alternative IFDs that were correctly matched + // to those tags and used instead. + unknownTags map[exifcommon.BasicTag]exifcommon.BasicTag +} + +// UnknownTags returns the unknown tags encountered during the scan. +func (med *MiscellaneousExifData) UnknownTags() map[exifcommon.BasicTag]exifcommon.BasicTag { + return med.unknownTags +} + +// Scan enumerates the different EXIF blocks (called IFDs). `rootIfdName` will +// be "IFD" in the TIFF standard. +func (ie *IfdEnumerate) Scan(iiRoot *exifcommon.IfdIdentity, ifdOffset uint32, visitor TagVisitorFn) (med *MiscellaneousExifData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + med = &MiscellaneousExifData{ + unknownTags: make(map[exifcommon.BasicTag]exifcommon.BasicTag), + } + + err = ie.scan(iiRoot, ifdOffset, visitor, med) + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Scan: It looks like the furthest offset that contained EXIF data in the EXIF blob was (%d) (Scan).", ie.FurthestOffset()) + + return med, nil +} + +// Ifd represents a single, parsed IFD. +type Ifd struct { + + // TODO(dustin): Add NextIfd(). + + ifdIdentity *exifcommon.IfdIdentity + + ByteOrder binary.ByteOrder + + Id int + + ParentIfd *Ifd + + // ParentTagIndex is our tag position in the parent IFD, if we had a parent + // (if `ParentIfd` is not nil and we weren't an IFD referenced as a sibling + // instead of as a child). + ParentTagIndex int + + Offset uint32 + + Entries []*IfdTagEntry + EntriesByTagId map[uint16][]*IfdTagEntry + + Children []*Ifd + + ChildIfdIndex map[string]*Ifd + + NextIfdOffset uint32 + NextIfd *Ifd + + thumbnailData []byte + + ifdMapping *exifcommon.IfdMapping + tagIndex *TagIndex +} + +// IfdIdentity returns IFD identity that this struct represents. +func (ifd *Ifd) IfdIdentity() *exifcommon.IfdIdentity { + return ifd.ifdIdentity +} + +// ChildWithIfdPath returns an `Ifd` struct for the given child of the current +// IFD. +func (ifd *Ifd) ChildWithIfdPath(iiChild *exifcommon.IfdIdentity) (childIfd *Ifd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): This is a bridge while we're introducing the IFD type-system. We should be able to use the (IfdIdentity).Equals() method for this. + ifdPath := iiChild.UnindexedString() + + for _, childIfd := range ifd.Children { + if childIfd.ifdIdentity.UnindexedString() == ifdPath { + return childIfd, nil + } + } + + log.Panic(ErrTagNotFound) + return nil, nil +} + +// FindTagWithId returns a list of tags (usually just zero or one) that match +// the given tag ID. This is efficient. +func (ifd *Ifd) FindTagWithId(tagId uint16) (results []*IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + results, found := ifd.EntriesByTagId[tagId] + if found != true { + log.Panic(ErrTagNotFound) + } + + return results, nil +} + +// FindTagWithName returns a list of tags (usually just zero or one) that match +// the given tag name. This is not efficient (though the labor is trivial). +func (ifd *Ifd) FindTagWithName(tagName string) (results []*IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + it, err := ifd.tagIndex.GetWithName(ifd.ifdIdentity, tagName) + if log.Is(err, ErrTagNotFound) == true { + log.Panic(ErrTagNotKnown) + } else if err != nil { + log.Panic(err) + } + + results = make([]*IfdTagEntry, 0) + for _, ite := range ifd.Entries { + if ite.TagId() == it.Id { + results = append(results, ite) + } + } + + if len(results) == 0 { + log.Panic(ErrTagNotFound) + } + + return results, nil +} + +// String returns a description string. +func (ifd *Ifd) String() string { + parentOffset := uint32(0) + if ifd.ParentIfd != nil { + parentOffset = ifd.ParentIfd.Offset + } + + return fmt.Sprintf("Ifd", ifd.Id, ifd.ifdIdentity.UnindexedString(), ifd.ifdIdentity.Index(), len(ifd.Entries), ifd.Offset, len(ifd.Children), parentOffset, ifd.NextIfdOffset) +} + +// Thumbnail returns the raw thumbnail bytes. This is typically directly +// readable by any standard image viewer. +func (ifd *Ifd) Thumbnail() (data []byte, err error) { + + if ifd.thumbnailData == nil { + return nil, ErrNoThumbnail + } + + return ifd.thumbnailData, nil +} + +// dumpTags recursively builds a list of tags from an IFD. +func (ifd *Ifd) dumpTags(tags []*IfdTagEntry) []*IfdTagEntry { + if tags == nil { + tags = make([]*IfdTagEntry, 0) + } + + // Now, print the tags while also descending to child-IFDS as we encounter them. + + ifdsFoundCount := 0 + + for _, ite := range ifd.Entries { + tags = append(tags, ite) + + childIfdPath := ite.ChildIfdPath() + if childIfdPath != "" { + ifdsFoundCount++ + + childIfd, found := ifd.ChildIfdIndex[childIfdPath] + if found != true { + log.Panicf("alien child IFD referenced by a tag: [%s]", childIfdPath) + } + + tags = childIfd.dumpTags(tags) + } + } + + if len(ifd.Children) != ifdsFoundCount { + log.Panicf("have one or more dangling child IFDs: (%d) != (%d)", len(ifd.Children), ifdsFoundCount) + } + + if ifd.NextIfd != nil { + tags = ifd.NextIfd.dumpTags(tags) + } + + return tags +} + +// DumpTags prints the IFD hierarchy. +func (ifd *Ifd) DumpTags() []*IfdTagEntry { + return ifd.dumpTags(nil) +} + +func (ifd *Ifd) printTagTree(populateValues bool, index, level int, nextLink bool) { + indent := strings.Repeat(" ", level*2) + + prefix := " " + if nextLink { + prefix = ">" + } + + fmt.Printf("%s%sIFD: %s\n", indent, prefix, ifd) + + // Now, print the tags while also descending to child-IFDS as we encounter them. + + ifdsFoundCount := 0 + + for _, ite := range ifd.Entries { + if ite.ChildIfdPath() != "" { + fmt.Printf("%s - TAG: %s\n", indent, ite) + } else { + // This will just add noise to the output (byte-tags are fully + // dumped). + if ite.IsThumbnailOffset() == true || ite.IsThumbnailSize() == true { + continue + } + + it, err := ifd.tagIndex.Get(ifd.ifdIdentity, ite.TagId()) + + tagName := "" + if err == nil { + tagName = it.Name + } + + var valuePhrase string + if populateValues == true { + var err error + + valuePhrase, err = ite.Format() + if err != nil { + if log.Is(err, exifcommon.ErrUnhandledUndefinedTypedTag) == true { + ifdEnumerateLogger.Warningf(nil, "Skipping non-standard undefined tag: [%s] (%04x)", ifd.ifdIdentity.UnindexedString(), ite.TagId()) + continue + } else if err == exifundefined.ErrUnparseableValue { + ifdEnumerateLogger.Warningf(nil, "Skipping unparseable undefined tag: [%s] (%04x) [%s]", ifd.ifdIdentity.UnindexedString(), ite.TagId(), it.Name) + continue + } + + log.Panic(err) + } + } else { + valuePhrase = "!UNRESOLVED" + } + + fmt.Printf("%s - TAG: %s NAME=[%s] VALUE=[%v]\n", indent, ite, tagName, valuePhrase) + } + + childIfdPath := ite.ChildIfdPath() + if childIfdPath != "" { + ifdsFoundCount++ + + childIfd, found := ifd.ChildIfdIndex[childIfdPath] + if found != true { + log.Panicf("alien child IFD referenced by a tag: [%s]", childIfdPath) + } + + childIfd.printTagTree(populateValues, 0, level+1, false) + } + } + + if len(ifd.Children) != ifdsFoundCount { + log.Panicf("have one or more dangling child IFDs: (%d) != (%d)", len(ifd.Children), ifdsFoundCount) + } + + if ifd.NextIfd != nil { + ifd.NextIfd.printTagTree(populateValues, index+1, level, true) + } +} + +// PrintTagTree prints the IFD hierarchy. +func (ifd *Ifd) PrintTagTree(populateValues bool) { + ifd.printTagTree(populateValues, 0, 0, false) +} + +func (ifd *Ifd) printIfdTree(level int, nextLink bool) { + indent := strings.Repeat(" ", level*2) + + prefix := " " + if nextLink { + prefix = ">" + } + + fmt.Printf("%s%s%s\n", indent, prefix, ifd) + + // Now, print the tags while also descending to child-IFDS as we encounter them. + + ifdsFoundCount := 0 + + for _, ite := range ifd.Entries { + childIfdPath := ite.ChildIfdPath() + if childIfdPath != "" { + ifdsFoundCount++ + + childIfd, found := ifd.ChildIfdIndex[childIfdPath] + if found != true { + log.Panicf("alien child IFD referenced by a tag: [%s]", childIfdPath) + } + + childIfd.printIfdTree(level+1, false) + } + } + + if len(ifd.Children) != ifdsFoundCount { + log.Panicf("have one or more dangling child IFDs: (%d) != (%d)", len(ifd.Children), ifdsFoundCount) + } + + if ifd.NextIfd != nil { + ifd.NextIfd.printIfdTree(level, true) + } +} + +// PrintIfdTree prints the IFD hierarchy. +func (ifd *Ifd) PrintIfdTree() { + ifd.printIfdTree(0, false) +} + +func (ifd *Ifd) dumpTree(tagsDump []string, level int) []string { + if tagsDump == nil { + tagsDump = make([]string, 0) + } + + indent := strings.Repeat(" ", level*2) + + var ifdPhrase string + if ifd.ParentIfd != nil { + ifdPhrase = fmt.Sprintf("[%s]->[%s]:(%d)", ifd.ParentIfd.ifdIdentity.UnindexedString(), ifd.ifdIdentity.UnindexedString(), ifd.ifdIdentity.Index()) + } else { + ifdPhrase = fmt.Sprintf("[ROOT]->[%s]:(%d)", ifd.ifdIdentity.UnindexedString(), ifd.ifdIdentity.Index()) + } + + startBlurb := fmt.Sprintf("%s> IFD %s TOP", indent, ifdPhrase) + tagsDump = append(tagsDump, startBlurb) + + ifdsFoundCount := 0 + for _, ite := range ifd.Entries { + tagsDump = append(tagsDump, fmt.Sprintf("%s - (0x%04x)", indent, ite.TagId())) + + childIfdPath := ite.ChildIfdPath() + if childIfdPath != "" { + ifdsFoundCount++ + + childIfd, found := ifd.ChildIfdIndex[childIfdPath] + if found != true { + log.Panicf("alien child IFD referenced by a tag: [%s]", childIfdPath) + } + + tagsDump = childIfd.dumpTree(tagsDump, level+1) + } + } + + if len(ifd.Children) != ifdsFoundCount { + log.Panicf("have one or more dangling child IFDs: (%d) != (%d)", len(ifd.Children), ifdsFoundCount) + } + + finishBlurb := fmt.Sprintf("%s< IFD %s BOTTOM", indent, ifdPhrase) + tagsDump = append(tagsDump, finishBlurb) + + if ifd.NextIfd != nil { + siblingBlurb := fmt.Sprintf("%s* LINKING TO SIBLING IFD [%s]:(%d)", indent, ifd.NextIfd.ifdIdentity.UnindexedString(), ifd.NextIfd.ifdIdentity.Index()) + tagsDump = append(tagsDump, siblingBlurb) + + tagsDump = ifd.NextIfd.dumpTree(tagsDump, level) + } + + return tagsDump +} + +// DumpTree returns a list of strings describing the IFD hierarchy. +func (ifd *Ifd) DumpTree() []string { + return ifd.dumpTree(nil, 0) +} + +// GpsInfo parses and consolidates the GPS info. This can only be called on the +// GPS IFD. +func (ifd *Ifd) GpsInfo() (gi *GpsInfo, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + gi = new(GpsInfo) + + if ifd.ifdIdentity.UnindexedString() != exifcommon.IfdGpsInfoStandardIfdIdentity.UnindexedString() { + log.Panicf("GPS can only be read on GPS IFD: [%s] != [%s]", ifd.ifdIdentity.UnindexedString(), exifcommon.IfdGpsInfoStandardIfdIdentity.UnindexedString()) + } + + if tags, found := ifd.EntriesByTagId[TagGpsVersionId]; found == false { + // We've seen this. We'll just have to default to assuming we're in a + // 2.2.0.0 format. + ifdEnumerateLogger.Warningf(nil, "No GPS version tag (0x%04x) found.", TagGpsVersionId) + } else { + versionBytes, err := tags[0].GetRawBytes() + log.PanicIf(err) + + hit := false + for _, acceptedGpsVersion := range ValidGpsVersions { + if bytes.Compare(versionBytes, acceptedGpsVersion[:]) == 0 { + hit = true + break + } + } + + if hit != true { + ifdEnumerateLogger.Warningf(nil, "GPS version not supported: %v", versionBytes) + log.Panic(ErrNoGpsTags) + } + } + + tags, found := ifd.EntriesByTagId[TagLatitudeId] + if found == false { + ifdEnumerateLogger.Warningf(nil, "latitude not found") + log.Panic(ErrNoGpsTags) + } + + latitudeValue, err := tags[0].Value() + log.PanicIf(err) + + // Look for whether North or South. + tags, found = ifd.EntriesByTagId[TagLatitudeRefId] + if found == false { + ifdEnumerateLogger.Warningf(nil, "latitude-ref not found") + log.Panic(ErrNoGpsTags) + } + + latitudeRefValue, err := tags[0].Value() + log.PanicIf(err) + + tags, found = ifd.EntriesByTagId[TagLongitudeId] + if found == false { + ifdEnumerateLogger.Warningf(nil, "longitude not found") + log.Panic(ErrNoGpsTags) + } + + longitudeValue, err := tags[0].Value() + log.PanicIf(err) + + // Look for whether West or East. + tags, found = ifd.EntriesByTagId[TagLongitudeRefId] + if found == false { + ifdEnumerateLogger.Warningf(nil, "longitude-ref not found") + log.Panic(ErrNoGpsTags) + } + + longitudeRefValue, err := tags[0].Value() + log.PanicIf(err) + + // Parse location. + + latitudeRaw := latitudeValue.([]exifcommon.Rational) + + gi.Latitude, err = NewGpsDegreesFromRationals(latitudeRefValue.(string), latitudeRaw) + log.PanicIf(err) + + longitudeRaw := longitudeValue.([]exifcommon.Rational) + + gi.Longitude, err = NewGpsDegreesFromRationals(longitudeRefValue.(string), longitudeRaw) + log.PanicIf(err) + + // Parse altitude. + + altitudeTags, foundAltitude := ifd.EntriesByTagId[TagAltitudeId] + altitudeRefTags, foundAltitudeRef := ifd.EntriesByTagId[TagAltitudeRefId] + + if foundAltitude == true && foundAltitudeRef == true { + altitudePhrase, err := altitudeTags[0].Format() + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Altitude is [%s].", altitudePhrase) + + altitudeValue, err := altitudeTags[0].Value() + log.PanicIf(err) + + altitudeRefPhrase, err := altitudeRefTags[0].Format() + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Altitude-reference is [%s].", altitudeRefPhrase) + + altitudeRefValue, err := altitudeRefTags[0].Value() + log.PanicIf(err) + + altitudeRaw := altitudeValue.([]exifcommon.Rational) + if altitudeRaw[0].Denominator > 0 { + altitude := int(altitudeRaw[0].Numerator / altitudeRaw[0].Denominator) + + if altitudeRefValue.([]byte)[0] == 1 { + altitude *= -1 + } + + gi.Altitude = altitude + } + } + + // Parse timestamp from separate date and time tags. + + timestampTags, foundTimestamp := ifd.EntriesByTagId[TagTimestampId] + datestampTags, foundDatestamp := ifd.EntriesByTagId[TagDatestampId] + + if foundTimestamp == true && foundDatestamp == true { + datestampValue, err := datestampTags[0].Value() + log.PanicIf(err) + + datePhrase := datestampValue.(string) + ifdEnumerateLogger.Debugf(nil, "Date tag value is [%s].", datePhrase) + + // Normalize the separators. + datePhrase = strings.ReplaceAll(datePhrase, "-", ":") + + dateParts := strings.Split(datePhrase, ":") + + year, err1 := strconv.ParseUint(dateParts[0], 10, 16) + month, err2 := strconv.ParseUint(dateParts[1], 10, 8) + day, err3 := strconv.ParseUint(dateParts[2], 10, 8) + + if err1 == nil && err2 == nil && err3 == nil { + timestampValue, err := timestampTags[0].Value() + log.PanicIf(err) + + timePhrase, err := timestampTags[0].Format() + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Time tag value is [%s].", timePhrase) + + timestampRaw := timestampValue.([]exifcommon.Rational) + + hour := int(timestampRaw[0].Numerator / timestampRaw[0].Denominator) + minute := int(timestampRaw[1].Numerator / timestampRaw[1].Denominator) + second := int(timestampRaw[2].Numerator / timestampRaw[2].Denominator) + + gi.Timestamp = time.Date(int(year), time.Month(month), int(day), hour, minute, second, 0, time.UTC) + } + } + + return gi, nil +} + +// ParsedTagVisitor is a callback used if wanting to visit through all tags and +// child IFDs from the current IFD and going down. +type ParsedTagVisitor func(*Ifd, *IfdTagEntry) error + +// EnumerateTagsRecursively calls the given visitor function for every tag and +// IFD in the current IFD, recursively. +func (ifd *Ifd) EnumerateTagsRecursively(visitor ParsedTagVisitor) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for ptr := ifd; ptr != nil; ptr = ptr.NextIfd { + for _, ite := range ifd.Entries { + childIfdPath := ite.ChildIfdPath() + if childIfdPath != "" { + childIfd := ifd.ChildIfdIndex[childIfdPath] + + err := childIfd.EnumerateTagsRecursively(visitor) + log.PanicIf(err) + } else { + err := visitor(ifd, ite) + log.PanicIf(err) + } + } + } + + return nil +} + +// QueuedIfd is one IFD that has been identified but yet to be processed. +type QueuedIfd struct { + IfdIdentity *exifcommon.IfdIdentity + + Offset uint32 + Parent *Ifd + + // ParentTagIndex is our tag position in the parent IFD, if we had a parent + // (if `ParentIfd` is not nil and we weren't an IFD referenced as a sibling + // instead of as a child). + ParentTagIndex int +} + +// IfdIndex collects a bunch of IFD and tag information stored in several +// different ways in order to provide convenient lookups. +type IfdIndex struct { + RootIfd *Ifd + Ifds []*Ifd + Tree map[int]*Ifd + Lookup map[string]*Ifd +} + +// Collect enumerates the different EXIF blocks (called IFDs) and builds out an +// index struct for referencing all of the parsed data. +func (ie *IfdEnumerate) Collect(rootIfdOffset uint32) (index IfdIndex, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add MiscellaneousExifData to IfdIndex + + tree := make(map[int]*Ifd) + ifds := make([]*Ifd, 0) + lookup := make(map[string]*Ifd) + + queue := []QueuedIfd{ + { + IfdIdentity: exifcommon.IfdStandardIfdIdentity, + Offset: rootIfdOffset, + }, + } + + edges := make(map[uint32]*Ifd) + + for { + if len(queue) == 0 { + break + } + + qi := queue[0] + ii := qi.IfdIdentity + + offset := qi.Offset + parentIfd := qi.Parent + + queue = queue[1:] + + ifdEnumerateLogger.Debugf(nil, "Parsing IFD [%s] (%d) at offset (0x%04x) (Collect).", ii.String(), ii.Index(), offset) + + bp, err := ie.getByteParser(offset) + if err != nil { + if err == ErrOffsetInvalid { + return index, err + } + + log.Panic(err) + } + + // TODO(dustin): We don't need to pass the index in as a separate argument. Get from the II. + + nextIfdOffset, entries, thumbnailData, err := ie.parseIfd(ii, bp, nil, false, nil) + log.PanicIf(err) + + currentOffset := bp.CurrentOffset() + if currentOffset > ie.furthestOffset { + ie.furthestOffset = currentOffset + } + + id := len(ifds) + + entriesByTagId := make(map[uint16][]*IfdTagEntry) + for _, ite := range entries { + tagId := ite.TagId() + + tags, found := entriesByTagId[tagId] + if found == false { + tags = make([]*IfdTagEntry, 0) + } + + entriesByTagId[tagId] = append(tags, ite) + } + + ifd := &Ifd{ + ifdIdentity: ii, + + ByteOrder: ie.byteOrder, + + Id: id, + + ParentIfd: parentIfd, + ParentTagIndex: qi.ParentTagIndex, + + Offset: offset, + Entries: entries, + EntriesByTagId: entriesByTagId, + + // This is populated as each child is processed. + Children: make([]*Ifd, 0), + + NextIfdOffset: nextIfdOffset, + thumbnailData: thumbnailData, + + ifdMapping: ie.ifdMapping, + tagIndex: ie.tagIndex, + } + + // Add ourselves to a big list of IFDs. + ifds = append(ifds, ifd) + + // Install ourselves into a by-id lookup table (keys are unique). + tree[id] = ifd + + // Install into by-name buckets. + lookup[ii.String()] = ifd + + // Add a link from the previous IFD in the chain to us. + if previousIfd, found := edges[offset]; found == true { + previousIfd.NextIfd = ifd + } + + // Attach as a child to our parent (where we appeared as a tag in + // that IFD). + if parentIfd != nil { + parentIfd.Children = append(parentIfd.Children, ifd) + } + + // Determine if any of our entries is a child IFD and queue it. + for i, ite := range entries { + if ite.ChildIfdPath() == "" { + continue + } + + tagId := ite.TagId() + childIfdName := ite.ChildIfdName() + + currentIfdTag := ii.IfdTag() + + childIfdTag := + exifcommon.NewIfdTag( + ¤tIfdTag, + tagId, + childIfdName) + + iiChild := ii.NewChild(childIfdTag, 0) + + qi := QueuedIfd{ + IfdIdentity: iiChild, + + Offset: ite.getValueOffset(), + Parent: ifd, + ParentTagIndex: i, + } + + queue = append(queue, qi) + } + + // If there's another IFD in the chain. + if nextIfdOffset != 0 { + iiSibling := ii.NewSibling(ii.Index() + 1) + + // Allow the next link to know what the previous link was. + edges[nextIfdOffset] = ifd + + qi := QueuedIfd{ + IfdIdentity: iiSibling, + Offset: nextIfdOffset, + } + + queue = append(queue, qi) + } + } + + index.RootIfd = tree[0] + index.Ifds = ifds + index.Tree = tree + index.Lookup = lookup + + err = ie.setChildrenIndex(index.RootIfd) + log.PanicIf(err) + + ifdEnumerateLogger.Debugf(nil, "Collect: It looks like the furthest offset that contained EXIF data in the EXIF blob was (%d).", ie.FurthestOffset()) + + return index, nil +} + +func (ie *IfdEnumerate) setChildrenIndex(ifd *Ifd) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + childIfdIndex := make(map[string]*Ifd) + for _, childIfd := range ifd.Children { + childIfdIndex[childIfd.ifdIdentity.UnindexedString()] = childIfd + } + + ifd.ChildIfdIndex = childIfdIndex + + for _, childIfd := range ifd.Children { + err := ie.setChildrenIndex(childIfd) + log.PanicIf(err) + } + + return nil +} + +// FurthestOffset returns the furthest offset visited in the EXIF blob. This +// *does not* account for the locations of any undefined tags since we always +// evaluate the furthest offset, whether or not the user wants to know it. +// +// We are not willing to incur the cost of actually parsing those tags just to +// know their length when there are still undefined tags that are out there +// that we still won't have any idea how to parse, thus making this an +// approximation regardless of how clever we get. +func (ie *IfdEnumerate) FurthestOffset() uint32 { + + // TODO(dustin): Add test + + return ie.furthestOffset +} + +// ParseOneIfd is a hack to use an IE to parse a raw IFD block. Can be used for +// testing. The fqIfdPath ("fully-qualified IFD path") will be less qualified +// in that the numeric index will always be zero (the zeroth child) rather than +// the proper number (if its actually a sibling to the first child, for +// instance). +func ParseOneIfd(ifdMapping *exifcommon.IfdMapping, tagIndex *TagIndex, ii *exifcommon.IfdIdentity, byteOrder binary.ByteOrder, ifdBlock []byte, visitor TagVisitorFn) (nextIfdOffset uint32, entries []*IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ie := NewIfdEnumerate(ifdMapping, tagIndex, make([]byte, 0), byteOrder) + + bp, err := newByteParser(ifdBlock, byteOrder, 0) + if err != nil { + if err == ErrOffsetInvalid { + return 0, nil, err + } + + log.Panic(err) + } + + nextIfdOffset, entries, _, err = ie.parseIfd(ii, bp, visitor, true, nil) + log.PanicIf(err) + + return nextIfdOffset, entries, nil +} + +// ParseOneTag is a hack to use an IE to parse a raw tag block. +func ParseOneTag(ifdMapping *exifcommon.IfdMapping, tagIndex *TagIndex, ii *exifcommon.IfdIdentity, byteOrder binary.ByteOrder, tagBlock []byte) (ite *IfdTagEntry, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ie := NewIfdEnumerate(ifdMapping, tagIndex, make([]byte, 0), byteOrder) + + bp, err := newByteParser(tagBlock, byteOrder, 0) + if err != nil { + if err == ErrOffsetInvalid { + return nil, err + } + + log.Panic(err) + } + + ite, err = ie.parseTag(ii, 0, bp) + log.PanicIf(err) + + err = ie.postparseTag(ite, nil) + if err != nil { + if err == ErrTagNotFound { + return nil, err + } + + log.Panic(err) + } + + return ite, nil +} + +// FindIfdFromRootIfd returns the given `Ifd` given the root-IFD and path of the +// desired IFD. +func FindIfdFromRootIfd(rootIfd *Ifd, ifdPath string) (ifd *Ifd, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): !! Add test. + + lineage, err := rootIfd.ifdMapping.ResolvePath(ifdPath) + log.PanicIf(err) + + // Confirm the first IFD is our root IFD type, and then prune it because + // from then on we'll be searching down through our children. + + if len(lineage) == 0 { + log.Panicf("IFD path must be non-empty.") + } else if lineage[0].Name != exifcommon.IfdStandardIfdIdentity.Name() { + log.Panicf("First IFD path item must be [%s].", exifcommon.IfdStandardIfdIdentity.Name()) + } + + desiredRootIndex := lineage[0].Index + lineage = lineage[1:] + + // TODO(dustin): !! This is a poorly conceived fix that just doubles the work we already have to do below, which then interacts badly with the indices not being properly represented in the IFD-phrase. + // TODO(dustin): !! <-- However, we're not sure whether we shouldn't store a secondary IFD-path with the indices. Some IFDs may not necessarily restrict which IFD indices they can be a child of (only the IFD itself matters). Validation should be delegated to the caller. + thisIfd := rootIfd + for currentRootIndex := 0; currentRootIndex < desiredRootIndex; currentRootIndex++ { + if thisIfd.NextIfd == nil { + log.Panicf("Root-IFD index (%d) does not exist in the data.", currentRootIndex) + } + + thisIfd = thisIfd.NextIfd + } + + for _, itii := range lineage { + var hit *Ifd + for _, childIfd := range thisIfd.Children { + if childIfd.ifdIdentity.TagId() == itii.TagId { + hit = childIfd + break + } + } + + // If we didn't find the child, add it. + if hit == nil { + log.Panicf("IFD [%s] in [%s] not found: %s", itii.Name, ifdPath, thisIfd.Children) + } + + thisIfd = hit + + // If we didn't find the sibling, add it. + for i := 0; i < itii.Index; i++ { + if thisIfd.NextIfd == nil { + log.Panicf("IFD [%s] does not have (%d) occurrences/siblings", thisIfd.ifdIdentity.UnindexedString(), itii.Index) + } + + thisIfd = thisIfd.NextIfd + } + } + + return thisIfd, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/ifd_tag_entry.go b/vendor/github.com/dsoprea/go-exif/v2/ifd_tag_entry.go new file mode 100644 index 000000000..789a9981c --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/ifd_tag_entry.go @@ -0,0 +1,297 @@ +package exif + +import ( + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" + "github.com/dsoprea/go-exif/v2/undefined" +) + +var ( + iteLogger = log.NewLogger("exif.ifd_tag_entry") +) + +// IfdTagEntry refers to a tag in the loaded EXIF block. +type IfdTagEntry struct { + tagId uint16 + tagIndex int + tagType exifcommon.TagTypePrimitive + unitCount uint32 + valueOffset uint32 + rawValueOffset []byte + + // childIfdName is the right most atom in the IFD-path. We need this to + // construct the fully-qualified IFD-path. + childIfdName string + + // childIfdPath is the IFD-path of the child if this tag represents a child + // IFD. + childIfdPath string + + // childFqIfdPath is the IFD-path of the child if this tag represents a + // child IFD. Includes indices. + childFqIfdPath string + + // TODO(dustin): !! IB's host the child-IBs directly in the tag, but that's not the case here. Refactor to accommodate it for a consistent experience. + + ifdIdentity *exifcommon.IfdIdentity + + isUnhandledUnknown bool + + addressableData []byte + byteOrder binary.ByteOrder + + tagName string +} + +func newIfdTagEntry(ii *exifcommon.IfdIdentity, tagId uint16, tagIndex int, tagType exifcommon.TagTypePrimitive, unitCount uint32, valueOffset uint32, rawValueOffset []byte, addressableData []byte, byteOrder binary.ByteOrder) *IfdTagEntry { + return &IfdTagEntry{ + ifdIdentity: ii, + tagId: tagId, + tagIndex: tagIndex, + tagType: tagType, + unitCount: unitCount, + valueOffset: valueOffset, + rawValueOffset: rawValueOffset, + addressableData: addressableData, + byteOrder: byteOrder, + } +} + +// String returns a stringified representation of the struct. +func (ite *IfdTagEntry) String() string { + return fmt.Sprintf("IfdTagEntry", ite.ifdIdentity.String(), ite.tagId, ite.tagType.String(), ite.unitCount) +} + +// TagName returns the name of the tag. This is determined else and set after +// the parse (since it's not actually stored in the stream). If it's empty, it +// is because it is an unknown tag (nonstandard or otherwise unavailable in the +// tag-index). +func (ite *IfdTagEntry) TagName() string { + return ite.tagName +} + +// setTagName sets the tag-name. This provides the name for convenience and +// efficiency by determining it when most efficient while we're parsing rather +// than delegating it to the caller (or, worse, the user). +func (ite *IfdTagEntry) setTagName(tagName string) { + ite.tagName = tagName +} + +// IfdPath returns the fully-qualified path of the IFD that owns this tag. +func (ite *IfdTagEntry) IfdPath() string { + return ite.ifdIdentity.String() +} + +// TagId returns the ID of the tag that we represent. The combination of +// (IfdPath(), TagId()) is unique. +func (ite *IfdTagEntry) TagId() uint16 { + return ite.tagId +} + +// IsThumbnailOffset returns true if the tag has the IFD and tag-ID of a +// thumbnail offset. +func (ite *IfdTagEntry) IsThumbnailOffset() bool { + return ite.tagId == ThumbnailOffsetTagId && ite.ifdIdentity.String() == ThumbnailFqIfdPath +} + +// IsThumbnailSize returns true if the tag has the IFD and tag-ID of a thumbnail +// size. +func (ite *IfdTagEntry) IsThumbnailSize() bool { + return ite.tagId == ThumbnailSizeTagId && ite.ifdIdentity.String() == ThumbnailFqIfdPath +} + +// TagType is the type of value for this tag. +func (ite *IfdTagEntry) TagType() exifcommon.TagTypePrimitive { + return ite.tagType +} + +// updateTagType sets an alternatively interpreted tag-type. +func (ite *IfdTagEntry) updateTagType(tagType exifcommon.TagTypePrimitive) { + ite.tagType = tagType +} + +// UnitCount returns the unit-count of the tag's value. +func (ite *IfdTagEntry) UnitCount() uint32 { + return ite.unitCount +} + +// updateUnitCount sets an alternatively interpreted unit-count. +func (ite *IfdTagEntry) updateUnitCount(unitCount uint32) { + ite.unitCount = unitCount +} + +// getValueOffset is the four-byte offset converted to an integer to point to +// the location of its value in the EXIF block. The "get" parameter is obviously +// used in order to differentiate the naming of the method from the field. +func (ite *IfdTagEntry) getValueOffset() uint32 { + return ite.valueOffset +} + +// GetRawBytes renders a specific list of bytes from the value in this tag. +func (ite *IfdTagEntry) GetRawBytes() (rawBytes []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext := ite.getValueContext() + + if ite.tagType == exifcommon.TypeUndefined { + value, err := exifundefined.Decode(valueContext) + if err != nil { + if err == exifcommon.ErrUnhandledUndefinedTypedTag { + ite.setIsUnhandledUnknown(true) + return nil, exifundefined.ErrUnparseableValue + } else if err == exifundefined.ErrUnparseableValue { + return nil, err + } else { + log.Panic(err) + } + } + + // Encode it back, in order to get the raw bytes. This is the best, + // general way to do it with an undefined tag. + + rawBytes, _, err := exifundefined.Encode(value, ite.byteOrder) + log.PanicIf(err) + + return rawBytes, nil + } + + rawBytes, err = valueContext.ReadRawEncoded() + log.PanicIf(err) + + return rawBytes, nil +} + +// Value returns the specific, parsed, typed value from the tag. +func (ite *IfdTagEntry) Value() (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext := ite.getValueContext() + + if ite.tagType == exifcommon.TypeUndefined { + var err error + + value, err = exifundefined.Decode(valueContext) + if err != nil { + if err == exifcommon.ErrUnhandledUndefinedTypedTag || err == exifundefined.ErrUnparseableValue { + return nil, err + } + + log.Panic(err) + } + } else { + var err error + + value, err = valueContext.Values() + log.PanicIf(err) + } + + return value, nil +} + +// Format returns the tag's value as a string. +func (ite *IfdTagEntry) Format() (phrase string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + value, err := ite.Value() + if err != nil { + if err == exifcommon.ErrUnhandledUndefinedTypedTag { + return exifundefined.UnparseableUnknownTagValuePlaceholder, nil + } else if err == exifundefined.ErrUnparseableValue { + return exifundefined.UnparseableHandledTagValuePlaceholder, nil + } + + log.Panic(err) + } + + phrase, err = exifcommon.FormatFromType(value, false) + log.PanicIf(err) + + return phrase, nil +} + +// FormatFirst returns the same as Format() but only the first item. +func (ite *IfdTagEntry) FormatFirst() (phrase string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): We should add a convenience type "timestamp", to simplify translating to and from the physical ASCII and provide validation. + + value, err := ite.Value() + if err != nil { + if err == exifcommon.ErrUnhandledUndefinedTypedTag { + return exifundefined.UnparseableUnknownTagValuePlaceholder, nil + } + + log.Panic(err) + } + + phrase, err = exifcommon.FormatFromType(value, true) + log.PanicIf(err) + + return phrase, nil +} + +func (ite *IfdTagEntry) setIsUnhandledUnknown(isUnhandledUnknown bool) { + ite.isUnhandledUnknown = isUnhandledUnknown +} + +// SetChildIfd sets child-IFD information (if we represent a child IFD). +func (ite *IfdTagEntry) SetChildIfd(ii *exifcommon.IfdIdentity) { + ite.childFqIfdPath = ii.String() + ite.childIfdPath = ii.UnindexedString() + ite.childIfdName = ii.Name() +} + +// ChildIfdName returns the name of the child IFD +func (ite *IfdTagEntry) ChildIfdName() string { + return ite.childIfdName +} + +// ChildIfdPath returns the path of the child IFD. +func (ite *IfdTagEntry) ChildIfdPath() string { + return ite.childIfdPath +} + +// ChildFqIfdPath returns the complete path of the child IFD along with the +// numeric suffixes differentiating sibling occurrences of the same type. "0" +// indices are omitted. +func (ite *IfdTagEntry) ChildFqIfdPath() string { + return ite.childFqIfdPath +} + +// IfdIdentity returns the IfdIdentity associated with this tag. +func (ite *IfdTagEntry) IfdIdentity() *exifcommon.IfdIdentity { + return ite.ifdIdentity +} + +func (ite *IfdTagEntry) getValueContext() *exifcommon.ValueContext { + return exifcommon.NewValueContext( + ite.ifdIdentity.String(), + ite.tagId, + ite.unitCount, + ite.valueOffset, + ite.rawValueOffset, + ite.addressableData, + ite.tagType, + ite.byteOrder) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/package.go b/vendor/github.com/dsoprea/go-exif/v2/package.go new file mode 100644 index 000000000..428f74e3a --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/package.go @@ -0,0 +1,8 @@ +// Package exif parses raw EXIF information given a block of raw EXIF data. It +// can also construct new EXIF information, and provides tools for doing so. +// This package is not involved with the parsing of particular file-formats. +// +// The EXIF data must first be extracted and then provided to us. Conversely, +// when constructing new EXIF data, the caller is responsible for packaging +// this in whichever format they require. +package exif diff --git a/vendor/github.com/dsoprea/go-exif/v2/tags.go b/vendor/github.com/dsoprea/go-exif/v2/tags.go new file mode 100644 index 000000000..f53d9ce9c --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/tags.go @@ -0,0 +1,411 @@ +package exif + +import ( + "fmt" + + "github.com/dsoprea/go-logging" + "gopkg.in/yaml.v2" + + "github.com/dsoprea/go-exif/v2/common" +) + +const ( + // IFD1 + + // ThumbnailFqIfdPath is the fully-qualified IFD path that the thumbnail + // must be found in. + ThumbnailFqIfdPath = "IFD1" + + // ThumbnailOffsetTagId returns the tag-ID of the thumbnail offset. + ThumbnailOffsetTagId = 0x0201 + + // ThumbnailSizeTagId returns the tag-ID of the thumbnail size. + ThumbnailSizeTagId = 0x0202 +) + +const ( + // GPS + + // TagGpsVersionId is the ID of the GPS version tag. + TagGpsVersionId = 0x0000 + + // TagLatitudeId is the ID of the GPS latitude tag. + TagLatitudeId = 0x0002 + + // TagLatitudeRefId is the ID of the GPS latitude orientation tag. + TagLatitudeRefId = 0x0001 + + // TagLongitudeId is the ID of the GPS longitude tag. + TagLongitudeId = 0x0004 + + // TagLongitudeRefId is the ID of the GPS longitude-orientation tag. + TagLongitudeRefId = 0x0003 + + // TagTimestampId is the ID of the GPS time tag. + TagTimestampId = 0x0007 + + // TagDatestampId is the ID of the GPS date tag. + TagDatestampId = 0x001d + + // TagAltitudeId is the ID of the GPS altitude tag. + TagAltitudeId = 0x0006 + + // TagAltitudeRefId is the ID of the GPS altitude-orientation tag. + TagAltitudeRefId = 0x0005 +) + +var ( + // tagsWithoutAlignment is a tag-lookup for tags whose value size won't + // necessarily be a multiple of its tag-type. + tagsWithoutAlignment = map[uint16]struct{}{ + // The thumbnail offset is stored as a long, but its data is a binary + // blob (not a slice of longs). + ThumbnailOffsetTagId: {}, + } +) + +var ( + tagsLogger = log.NewLogger("exif.tags") +) + +// File structures. + +type encodedTag struct { + // id is signed, here, because YAML doesn't have enough information to + // support unsigned. + Id int `yaml:"id"` + Name string `yaml:"name"` + TypeName string `yaml:"type_name"` + TypeNames []string `yaml:"type_names"` +} + +// Indexing structures. + +// IndexedTag describes one index lookup result. +type IndexedTag struct { + // Id is the tag-ID. + Id uint16 + + // Name is the tag name. + Name string + + // IfdPath is the proper IFD path of this tag. This is not fully-qualified. + IfdPath string + + // SupportedTypes is an unsorted list of allowed tag-types. + SupportedTypes []exifcommon.TagTypePrimitive +} + +// String returns a descriptive string. +func (it *IndexedTag) String() string { + return fmt.Sprintf("TAG", it.Id, it.Name, it.IfdPath) +} + +// IsName returns true if this tag matches the given tag name. +func (it *IndexedTag) IsName(ifdPath, name string) bool { + return it.Name == name && it.IfdPath == ifdPath +} + +// Is returns true if this tag matched the given tag ID. +func (it *IndexedTag) Is(ifdPath string, id uint16) bool { + return it.Id == id && it.IfdPath == ifdPath +} + +// GetEncodingType returns the largest type that this tag's value can occupy. +func (it *IndexedTag) GetEncodingType(value interface{}) exifcommon.TagTypePrimitive { + // For convenience, we handle encoding a `time.Time` directly. + if IsTime(value) == true { + // Timestamps are encoded as ASCII. + value = "" + } + + if len(it.SupportedTypes) == 0 { + log.Panicf("IndexedTag [%s] (%d) has no supported types.", it.IfdPath, it.Id) + } else if len(it.SupportedTypes) == 1 { + return it.SupportedTypes[0] + } + + supportsLong := false + supportsShort := false + supportsRational := false + supportsSignedRational := false + for _, supportedType := range it.SupportedTypes { + if supportedType == exifcommon.TypeLong { + supportsLong = true + } else if supportedType == exifcommon.TypeShort { + supportsShort = true + } else if supportedType == exifcommon.TypeRational { + supportsRational = true + } else if supportedType == exifcommon.TypeSignedRational { + supportsSignedRational = true + } + } + + // We specifically check for the cases that we know to expect. + + if supportsLong == true && supportsShort == true { + return exifcommon.TypeLong + } else if supportsRational == true && supportsSignedRational == true { + if value == nil { + log.Panicf("GetEncodingType: require value to be given") + } + + if _, ok := value.(exifcommon.SignedRational); ok == true { + return exifcommon.TypeSignedRational + } + + return exifcommon.TypeRational + } + + log.Panicf("WidestSupportedType() case is not handled for tag [%s] (0x%04x): %v", it.IfdPath, it.Id, it.SupportedTypes) + return 0 +} + +// DoesSupportType returns true if this tag can be found/decoded with this type. +func (it *IndexedTag) DoesSupportType(tagType exifcommon.TagTypePrimitive) bool { + // This is always a very small collection. So, we keep it unsorted. + for _, thisTagType := range it.SupportedTypes { + if thisTagType == tagType { + return true + } + } + + return false +} + +// TagIndex is a tag-lookup facility. +type TagIndex struct { + tagsByIfd map[string]map[uint16]*IndexedTag + tagsByIfdR map[string]map[string]*IndexedTag +} + +// NewTagIndex returns a new TagIndex struct. +func NewTagIndex() *TagIndex { + ti := new(TagIndex) + + ti.tagsByIfd = make(map[string]map[uint16]*IndexedTag) + ti.tagsByIfdR = make(map[string]map[string]*IndexedTag) + + return ti +} + +// Add registers a new tag to be recognized during the parse. +func (ti *TagIndex) Add(it *IndexedTag) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Store by ID. + + family, found := ti.tagsByIfd[it.IfdPath] + if found == false { + family = make(map[uint16]*IndexedTag) + ti.tagsByIfd[it.IfdPath] = family + } + + if _, found := family[it.Id]; found == true { + log.Panicf("tag-ID defined more than once for IFD [%s]: (%02x)", it.IfdPath, it.Id) + } + + family[it.Id] = it + + // Store by name. + + familyR, found := ti.tagsByIfdR[it.IfdPath] + if found == false { + familyR = make(map[string]*IndexedTag) + ti.tagsByIfdR[it.IfdPath] = familyR + } + + if _, found := familyR[it.Name]; found == true { + log.Panicf("tag-name defined more than once for IFD [%s]: (%s)", it.IfdPath, it.Name) + } + + familyR[it.Name] = it + + return nil +} + +// Get returns information about the non-IFD tag given a tag ID. `ifdPath` must +// not be fully-qualified. +func (ti *TagIndex) Get(ii *exifcommon.IfdIdentity, id uint16) (it *IndexedTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if len(ti.tagsByIfd) == 0 { + err := LoadStandardTags(ti) + log.PanicIf(err) + } + + ifdPath := ii.UnindexedString() + + family, found := ti.tagsByIfd[ifdPath] + if found == false { + return nil, ErrTagNotFound + } + + it, found = family[id] + if found == false { + return nil, ErrTagNotFound + } + + return it, nil +} + +var ( + // tagGuessDefaultIfdIdentities describes which IFDs we'll look for a given + // tag-ID in, if it's not found where it's supposed to be. We suppose that + // Exif-IFD tags might be found in IFD0 or IFD1, or IFD0/IFD1 tags might be + // found in the Exif IFD. This is the only thing we've seen so far. So, this + // is the limit of our guessing. + tagGuessDefaultIfdIdentities = []*exifcommon.IfdIdentity{ + exifcommon.IfdExifStandardIfdIdentity, + exifcommon.IfdStandardIfdIdentity, + } +) + +// FindFirst looks for the given tag-ID in each of the given IFDs in the given +// order. If `fqIfdPaths` is `nil` then use a default search order. This defies +// the standard, which requires each tag to exist in certain IFDs. This is a +// contingency to make recommendations for malformed data. +// +// Things *can* end badly here, in that the same tag-ID in different IFDs might +// describe different data and different ata-types, and our decode might then +// produce binary and non-printable data. +func (ti *TagIndex) FindFirst(id uint16, typeId exifcommon.TagTypePrimitive, ifdIdentities []*exifcommon.IfdIdentity) (it *IndexedTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if ifdIdentities == nil { + ifdIdentities = tagGuessDefaultIfdIdentities + } + + for _, ii := range ifdIdentities { + it, err := ti.Get(ii, id) + if err != nil { + if err == ErrTagNotFound { + continue + } + + log.Panic(err) + } + + // Even though the tag might be mislocated, the type should still be the + // same. Check this so we don't accidentally end-up on a complete + // irrelevant tag with a totally different data type. This attempts to + // mitigate producing garbage. + for _, supportedType := range it.SupportedTypes { + if supportedType == typeId { + return it, nil + } + } + } + + return nil, ErrTagNotFound +} + +// GetWithName returns information about the non-IFD tag given a tag name. +func (ti *TagIndex) GetWithName(ii *exifcommon.IfdIdentity, name string) (it *IndexedTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if len(ti.tagsByIfdR) == 0 { + err := LoadStandardTags(ti) + log.PanicIf(err) + } + + ifdPath := ii.UnindexedString() + + it, found := ti.tagsByIfdR[ifdPath][name] + if found != true { + log.Panic(ErrTagNotFound) + } + + return it, nil +} + +// LoadStandardTags registers the tags that all devices/applications should +// support. +func LoadStandardTags(ti *TagIndex) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Read static data. + + encodedIfds := make(map[string][]encodedTag) + + err = yaml.Unmarshal([]byte(tagsYaml), encodedIfds) + log.PanicIf(err) + + // Load structure. + + count := 0 + for ifdPath, tags := range encodedIfds { + for _, tagInfo := range tags { + tagId := uint16(tagInfo.Id) + tagName := tagInfo.Name + tagTypeName := tagInfo.TypeName + tagTypeNames := tagInfo.TypeNames + + if tagTypeNames == nil { + if tagTypeName == "" { + log.Panicf("no tag-types were given when registering standard tag [%s] (0x%04x) [%s]", ifdPath, tagId, tagName) + } + + tagTypeNames = []string{ + tagTypeName, + } + } else if tagTypeName != "" { + log.Panicf("both 'type_names' and 'type_name' were given when registering standard tag [%s] (0x%04x) [%s]", ifdPath, tagId, tagName) + } + + tagTypes := make([]exifcommon.TagTypePrimitive, 0) + for _, tagTypeName := range tagTypeNames { + + // TODO(dustin): Discard unsupported types. This helps us with non-standard types that have actually been found in real data, that we ignore for right now. e.g. SSHORT, FLOAT, DOUBLE + tagTypeId, found := exifcommon.GetTypeByName(tagTypeName) + if found == false { + tagsLogger.Warningf(nil, "Type [%s] for tag [%s] being loaded is not valid and is being ignored.", tagTypeName, tagName) + continue + } + + tagTypes = append(tagTypes, tagTypeId) + } + + if len(tagTypes) == 0 { + tagsLogger.Warningf(nil, "Tag [%s] (0x%04x) [%s] being loaded does not have any supported types and will not be registered.", ifdPath, tagId, tagName) + continue + } + + it := &IndexedTag{ + IfdPath: ifdPath, + Id: tagId, + Name: tagName, + SupportedTypes: tagTypes, + } + + err = ti.Add(it) + log.PanicIf(err) + + count++ + } + } + + tagsLogger.Debugf(nil, "(%d) tags loaded.", count) + + return nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/tags_data.go b/vendor/github.com/dsoprea/go-exif/v2/tags_data.go new file mode 100644 index 000000000..a770e5597 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/tags_data.go @@ -0,0 +1,929 @@ +package exif + +var ( + // From assets/tags.yaml . Needs to be here so it's embedded in the binary. + tagsYaml = ` +# Notes: +# +# This file was produced from http://www.exiv2.org/tags.html, using the included +# tool, though that document appears to have some duplicates when all IDs are +# supposed to be unique (EXIF information only has IDs, not IFDs; IFDs are +# determined by our pre-existing knowledge of those tags). +# +# The webpage that we've produced this file from appears to indicate that +# ImageWidth is represented by both 0x0100 and 0x0001 depending on whether the +# encoding is RGB or YCbCr. +IFD/Exif: +- id: 0x829a + name: ExposureTime + type_name: RATIONAL +- id: 0x829d + name: FNumber + type_name: RATIONAL +- id: 0x8822 + name: ExposureProgram + type_name: SHORT +- id: 0x8824 + name: SpectralSensitivity + type_name: ASCII +- id: 0x8827 + name: ISOSpeedRatings + type_name: SHORT +- id: 0x8828 + name: OECF + type_name: UNDEFINED +- id: 0x8830 + name: SensitivityType + type_name: SHORT +- id: 0x8831 + name: StandardOutputSensitivity + type_name: LONG +- id: 0x8832 + name: RecommendedExposureIndex + type_name: LONG +- id: 0x8833 + name: ISOSpeed + type_name: LONG +- id: 0x8834 + name: ISOSpeedLatitudeyyy + type_name: LONG +- id: 0x8835 + name: ISOSpeedLatitudezzz + type_name: LONG +- id: 0x9000 + name: ExifVersion + type_name: UNDEFINED +- id: 0x9003 + name: DateTimeOriginal + type_name: ASCII +- id: 0x9004 + name: DateTimeDigitized + type_name: ASCII +- id: 0x9101 + name: ComponentsConfiguration + type_name: UNDEFINED +- id: 0x9102 + name: CompressedBitsPerPixel + type_name: RATIONAL +- id: 0x9201 + name: ShutterSpeedValue + type_name: SRATIONAL +- id: 0x9202 + name: ApertureValue + type_name: RATIONAL +- id: 0x9203 + name: BrightnessValue + type_name: SRATIONAL +- id: 0x9204 + name: ExposureBiasValue + type_name: SRATIONAL +- id: 0x9205 + name: MaxApertureValue + type_name: RATIONAL +- id: 0x9206 + name: SubjectDistance + type_name: RATIONAL +- id: 0x9207 + name: MeteringMode + type_name: SHORT +- id: 0x9208 + name: LightSource + type_name: SHORT +- id: 0x9209 + name: Flash + type_name: SHORT +- id: 0x920a + name: FocalLength + type_name: RATIONAL +- id: 0x9214 + name: SubjectArea + type_name: SHORT +- id: 0x927c + name: MakerNote + type_name: UNDEFINED +- id: 0x9286 + name: UserComment + type_name: UNDEFINED +- id: 0x9290 + name: SubSecTime + type_name: ASCII +- id: 0x9291 + name: SubSecTimeOriginal + type_name: ASCII +- id: 0x9292 + name: SubSecTimeDigitized + type_name: ASCII +- id: 0xa000 + name: FlashpixVersion + type_name: UNDEFINED +- id: 0xa001 + name: ColorSpace + type_name: SHORT +- id: 0xa002 + name: PixelXDimension + type_names: [LONG, SHORT] +- id: 0xa003 + name: PixelYDimension + type_names: [LONG, SHORT] +- id: 0xa004 + name: RelatedSoundFile + type_name: ASCII +- id: 0xa005 + name: InteroperabilityTag + type_name: LONG +- id: 0xa20b + name: FlashEnergy + type_name: RATIONAL +- id: 0xa20c + name: SpatialFrequencyResponse + type_name: UNDEFINED +- id: 0xa20e + name: FocalPlaneXResolution + type_name: RATIONAL +- id: 0xa20f + name: FocalPlaneYResolution + type_name: RATIONAL +- id: 0xa210 + name: FocalPlaneResolutionUnit + type_name: SHORT +- id: 0xa214 + name: SubjectLocation + type_name: SHORT +- id: 0xa215 + name: ExposureIndex + type_name: RATIONAL +- id: 0xa217 + name: SensingMethod + type_name: SHORT +- id: 0xa300 + name: FileSource + type_name: UNDEFINED +- id: 0xa301 + name: SceneType + type_name: UNDEFINED +- id: 0xa302 + name: CFAPattern + type_name: UNDEFINED +- id: 0xa401 + name: CustomRendered + type_name: SHORT +- id: 0xa402 + name: ExposureMode + type_name: SHORT +- id: 0xa403 + name: WhiteBalance + type_name: SHORT +- id: 0xa404 + name: DigitalZoomRatio + type_name: RATIONAL +- id: 0xa405 + name: FocalLengthIn35mmFilm + type_name: SHORT +- id: 0xa406 + name: SceneCaptureType + type_name: SHORT +- id: 0xa407 + name: GainControl + type_name: SHORT +- id: 0xa408 + name: Contrast + type_name: SHORT +- id: 0xa409 + name: Saturation + type_name: SHORT +- id: 0xa40a + name: Sharpness + type_name: SHORT +- id: 0xa40b + name: DeviceSettingDescription + type_name: UNDEFINED +- id: 0xa40c + name: SubjectDistanceRange + type_name: SHORT +- id: 0xa420 + name: ImageUniqueID + type_name: ASCII +- id: 0xa430 + name: CameraOwnerName + type_name: ASCII +- id: 0xa431 + name: BodySerialNumber + type_name: ASCII +- id: 0xa432 + name: LensSpecification + type_name: RATIONAL +- id: 0xa433 + name: LensMake + type_name: ASCII +- id: 0xa434 + name: LensModel + type_name: ASCII +- id: 0xa435 + name: LensSerialNumber + type_name: ASCII +IFD/GPSInfo: +- id: 0x0000 + name: GPSVersionID + type_name: BYTE +- id: 0x0001 + name: GPSLatitudeRef + type_name: ASCII +- id: 0x0002 + name: GPSLatitude + type_name: RATIONAL +- id: 0x0003 + name: GPSLongitudeRef + type_name: ASCII +- id: 0x0004 + name: GPSLongitude + type_name: RATIONAL +- id: 0x0005 + name: GPSAltitudeRef + type_name: BYTE +- id: 0x0006 + name: GPSAltitude + type_name: RATIONAL +- id: 0x0007 + name: GPSTimeStamp + type_name: RATIONAL +- id: 0x0008 + name: GPSSatellites + type_name: ASCII +- id: 0x0009 + name: GPSStatus + type_name: ASCII +- id: 0x000a + name: GPSMeasureMode + type_name: ASCII +- id: 0x000b + name: GPSDOP + type_name: RATIONAL +- id: 0x000c + name: GPSSpeedRef + type_name: ASCII +- id: 0x000d + name: GPSSpeed + type_name: RATIONAL +- id: 0x000e + name: GPSTrackRef + type_name: ASCII +- id: 0x000f + name: GPSTrack + type_name: RATIONAL +- id: 0x0010 + name: GPSImgDirectionRef + type_name: ASCII +- id: 0x0011 + name: GPSImgDirection + type_name: RATIONAL +- id: 0x0012 + name: GPSMapDatum + type_name: ASCII +- id: 0x0013 + name: GPSDestLatitudeRef + type_name: ASCII +- id: 0x0014 + name: GPSDestLatitude + type_name: RATIONAL +- id: 0x0015 + name: GPSDestLongitudeRef + type_name: ASCII +- id: 0x0016 + name: GPSDestLongitude + type_name: RATIONAL +- id: 0x0017 + name: GPSDestBearingRef + type_name: ASCII +- id: 0x0018 + name: GPSDestBearing + type_name: RATIONAL +- id: 0x0019 + name: GPSDestDistanceRef + type_name: ASCII +- id: 0x001a + name: GPSDestDistance + type_name: RATIONAL +- id: 0x001b + name: GPSProcessingMethod + type_name: UNDEFINED +- id: 0x001c + name: GPSAreaInformation + type_name: UNDEFINED +- id: 0x001d + name: GPSDateStamp + type_name: ASCII +- id: 0x001e + name: GPSDifferential + type_name: SHORT +IFD: +- id: 0x000b + name: ProcessingSoftware + type_name: ASCII +- id: 0x00fe + name: NewSubfileType + type_name: LONG +- id: 0x00ff + name: SubfileType + type_name: SHORT +- id: 0x0100 + name: ImageWidth + type_names: [LONG, SHORT] +- id: 0x0101 + name: ImageLength + type_names: [LONG, SHORT] +- id: 0x0102 + name: BitsPerSample + type_name: SHORT +- id: 0x0103 + name: Compression + type_name: SHORT +- id: 0x0106 + name: PhotometricInterpretation + type_name: SHORT +- id: 0x0107 + name: Thresholding + type_name: SHORT +- id: 0x0108 + name: CellWidth + type_name: SHORT +- id: 0x0109 + name: CellLength + type_name: SHORT +- id: 0x010a + name: FillOrder + type_name: SHORT +- id: 0x010d + name: DocumentName + type_name: ASCII +- id: 0x010e + name: ImageDescription + type_name: ASCII +- id: 0x010f + name: Make + type_name: ASCII +- id: 0x0110 + name: Model + type_name: ASCII +- id: 0x0111 + name: StripOffsets + type_names: [LONG, SHORT] +- id: 0x0112 + name: Orientation + type_name: SHORT +- id: 0x0115 + name: SamplesPerPixel + type_name: SHORT +- id: 0x0116 + name: RowsPerStrip + type_names: [LONG, SHORT] +- id: 0x0117 + name: StripByteCounts + type_names: [LONG, SHORT] +- id: 0x011a + name: XResolution + type_name: RATIONAL +- id: 0x011b + name: YResolution + type_name: RATIONAL +- id: 0x011c + name: PlanarConfiguration + type_name: SHORT +- id: 0x0122 + name: GrayResponseUnit + type_name: SHORT +- id: 0x0123 + name: GrayResponseCurve + type_name: SHORT +- id: 0x0124 + name: T4Options + type_name: LONG +- id: 0x0125 + name: T6Options + type_name: LONG +- id: 0x0128 + name: ResolutionUnit + type_name: SHORT +- id: 0x0129 + name: PageNumber + type_name: SHORT +- id: 0x012d + name: TransferFunction + type_name: SHORT +- id: 0x0131 + name: Software + type_name: ASCII +- id: 0x0132 + name: DateTime + type_name: ASCII +- id: 0x013b + name: Artist + type_name: ASCII +- id: 0x013c + name: HostComputer + type_name: ASCII +- id: 0x013d + name: Predictor + type_name: SHORT +- id: 0x013e + name: WhitePoint + type_name: RATIONAL +- id: 0x013f + name: PrimaryChromaticities + type_name: RATIONAL +- id: 0x0140 + name: ColorMap + type_name: SHORT +- id: 0x0141 + name: HalftoneHints + type_name: SHORT +- id: 0x0142 + name: TileWidth + type_name: SHORT +- id: 0x0143 + name: TileLength + type_name: SHORT +- id: 0x0144 + name: TileOffsets + type_name: SHORT +- id: 0x0145 + name: TileByteCounts + type_name: SHORT +- id: 0x014a + name: SubIFDs + type_name: LONG +- id: 0x014c + name: InkSet + type_name: SHORT +- id: 0x014d + name: InkNames + type_name: ASCII +- id: 0x014e + name: NumberOfInks + type_name: SHORT +- id: 0x0150 + name: DotRange + type_name: BYTE +- id: 0x0151 + name: TargetPrinter + type_name: ASCII +- id: 0x0152 + name: ExtraSamples + type_name: SHORT +- id: 0x0153 + name: SampleFormat + type_name: SHORT +- id: 0x0154 + name: SMinSampleValue + type_name: SHORT +- id: 0x0155 + name: SMaxSampleValue + type_name: SHORT +- id: 0x0156 + name: TransferRange + type_name: SHORT +- id: 0x0157 + name: ClipPath + type_name: BYTE +- id: 0x015a + name: Indexed + type_name: SHORT +- id: 0x015b + name: JPEGTables + type_name: UNDEFINED +- id: 0x015f + name: OPIProxy + type_name: SHORT +- id: 0x0200 + name: JPEGProc + type_name: LONG +- id: 0x0201 + name: JPEGInterchangeFormat + type_name: LONG +- id: 0x0202 + name: JPEGInterchangeFormatLength + type_name: LONG +- id: 0x0203 + name: JPEGRestartInterval + type_name: SHORT +- id: 0x0205 + name: JPEGLosslessPredictors + type_name: SHORT +- id: 0x0206 + name: JPEGPointTransforms + type_name: SHORT +- id: 0x0207 + name: JPEGQTables + type_name: LONG +- id: 0x0208 + name: JPEGDCTables + type_name: LONG +- id: 0x0209 + name: JPEGACTables + type_name: LONG +- id: 0x0211 + name: YCbCrCoefficients + type_name: RATIONAL +- id: 0x0212 + name: YCbCrSubSampling + type_name: SHORT +- id: 0x0213 + name: YCbCrPositioning + type_name: SHORT +- id: 0x0214 + name: ReferenceBlackWhite + type_name: RATIONAL +- id: 0x02bc + name: XMLPacket + type_name: BYTE +- id: 0x4746 + name: Rating + type_name: SHORT +- id: 0x4749 + name: RatingPercent + type_name: SHORT +- id: 0x800d + name: ImageID + type_name: ASCII +- id: 0x828d + name: CFARepeatPatternDim + type_name: SHORT +- id: 0x828e + name: CFAPattern + type_name: BYTE +- id: 0x828f + name: BatteryLevel + type_name: RATIONAL +- id: 0x8298 + name: Copyright + type_name: ASCII +- id: 0x829a + name: ExposureTime +# NOTE(dustin): SRATIONAL isn't mentioned in the standard, but we have seen it in real data. + type_names: [RATIONAL, SRATIONAL] +- id: 0x829d + name: FNumber +# NOTE(dustin): SRATIONAL isn't mentioned in the standard, but we have seen it in real data. + type_names: [RATIONAL, SRATIONAL] +- id: 0x83bb + name: IPTCNAA + type_name: LONG +- id: 0x8649 + name: ImageResources + type_name: BYTE +- id: 0x8769 + name: ExifTag + type_name: LONG +- id: 0x8773 + name: InterColorProfile + type_name: UNDEFINED +- id: 0x8822 + name: ExposureProgram + type_name: SHORT +- id: 0x8824 + name: SpectralSensitivity + type_name: ASCII +- id: 0x8825 + name: GPSTag + type_name: LONG +- id: 0x8827 + name: ISOSpeedRatings + type_name: SHORT +- id: 0x8828 + name: OECF + type_name: UNDEFINED +- id: 0x8829 + name: Interlace + type_name: SHORT +- id: 0x882b + name: SelfTimerMode + type_name: SHORT +- id: 0x9003 + name: DateTimeOriginal + type_name: ASCII +- id: 0x9102 + name: CompressedBitsPerPixel + type_name: RATIONAL +- id: 0x9201 + name: ShutterSpeedValue + type_name: SRATIONAL +- id: 0x9202 + name: ApertureValue + type_name: RATIONAL +- id: 0x9203 + name: BrightnessValue + type_name: SRATIONAL +- id: 0x9204 + name: ExposureBiasValue + type_name: SRATIONAL +- id: 0x9205 + name: MaxApertureValue + type_name: RATIONAL +- id: 0x9206 + name: SubjectDistance + type_name: SRATIONAL +- id: 0x9207 + name: MeteringMode + type_name: SHORT +- id: 0x9208 + name: LightSource + type_name: SHORT +- id: 0x9209 + name: Flash + type_name: SHORT +- id: 0x920a + name: FocalLength + type_name: RATIONAL +- id: 0x920b + name: FlashEnergy + type_name: RATIONAL +- id: 0x920c + name: SpatialFrequencyResponse + type_name: UNDEFINED +- id: 0x920d + name: Noise + type_name: UNDEFINED +- id: 0x920e + name: FocalPlaneXResolution + type_name: RATIONAL +- id: 0x920f + name: FocalPlaneYResolution + type_name: RATIONAL +- id: 0x9210 + name: FocalPlaneResolutionUnit + type_name: SHORT +- id: 0x9211 + name: ImageNumber + type_name: LONG +- id: 0x9212 + name: SecurityClassification + type_name: ASCII +- id: 0x9213 + name: ImageHistory + type_name: ASCII +- id: 0x9214 + name: SubjectLocation + type_name: SHORT +- id: 0x9215 + name: ExposureIndex + type_name: RATIONAL +- id: 0x9216 + name: TIFFEPStandardID + type_name: BYTE +- id: 0x9217 + name: SensingMethod + type_name: SHORT +- id: 0x9c9b + name: XPTitle + type_name: BYTE +- id: 0x9c9c + name: XPComment + type_name: BYTE +- id: 0x9c9d + name: XPAuthor + type_name: BYTE +- id: 0x9c9e + name: XPKeywords + type_name: BYTE +- id: 0x9c9f + name: XPSubject + type_name: BYTE +- id: 0xc4a5 + name: PrintImageMatching + type_name: UNDEFINED +- id: 0xc612 + name: DNGVersion + type_name: BYTE +- id: 0xc613 + name: DNGBackwardVersion + type_name: BYTE +- id: 0xc614 + name: UniqueCameraModel + type_name: ASCII +- id: 0xc615 + name: LocalizedCameraModel + type_name: BYTE +- id: 0xc616 + name: CFAPlaneColor + type_name: BYTE +- id: 0xc617 + name: CFALayout + type_name: SHORT +- id: 0xc618 + name: LinearizationTable + type_name: SHORT +- id: 0xc619 + name: BlackLevelRepeatDim + type_name: SHORT +- id: 0xc61a + name: BlackLevel + type_name: RATIONAL +- id: 0xc61b + name: BlackLevelDeltaH + type_name: SRATIONAL +- id: 0xc61c + name: BlackLevelDeltaV + type_name: SRATIONAL +- id: 0xc61d + name: WhiteLevel + type_name: SHORT +- id: 0xc61e + name: DefaultScale + type_name: RATIONAL +- id: 0xc61f + name: DefaultCropOrigin + type_name: SHORT +- id: 0xc620 + name: DefaultCropSize + type_name: SHORT +- id: 0xc621 + name: ColorMatrix1 + type_name: SRATIONAL +- id: 0xc622 + name: ColorMatrix2 + type_name: SRATIONAL +- id: 0xc623 + name: CameraCalibration1 + type_name: SRATIONAL +- id: 0xc624 + name: CameraCalibration2 + type_name: SRATIONAL +- id: 0xc625 + name: ReductionMatrix1 + type_name: SRATIONAL +- id: 0xc626 + name: ReductionMatrix2 + type_name: SRATIONAL +- id: 0xc627 + name: AnalogBalance + type_name: RATIONAL +- id: 0xc628 + name: AsShotNeutral + type_name: SHORT +- id: 0xc629 + name: AsShotWhiteXY + type_name: RATIONAL +- id: 0xc62a + name: BaselineExposure + type_name: SRATIONAL +- id: 0xc62b + name: BaselineNoise + type_name: RATIONAL +- id: 0xc62c + name: BaselineSharpness + type_name: RATIONAL +- id: 0xc62d + name: BayerGreenSplit + type_name: LONG +- id: 0xc62e + name: LinearResponseLimit + type_name: RATIONAL +- id: 0xc62f + name: CameraSerialNumber + type_name: ASCII +- id: 0xc630 + name: LensInfo + type_name: RATIONAL +- id: 0xc631 + name: ChromaBlurRadius + type_name: RATIONAL +- id: 0xc632 + name: AntiAliasStrength + type_name: RATIONAL +- id: 0xc633 + name: ShadowScale + type_name: SRATIONAL +- id: 0xc634 + name: DNGPrivateData + type_name: BYTE +- id: 0xc635 + name: MakerNoteSafety + type_name: SHORT +- id: 0xc65a + name: CalibrationIlluminant1 + type_name: SHORT +- id: 0xc65b + name: CalibrationIlluminant2 + type_name: SHORT +- id: 0xc65c + name: BestQualityScale + type_name: RATIONAL +- id: 0xc65d + name: RawDataUniqueID + type_name: BYTE +- id: 0xc68b + name: OriginalRawFileName + type_name: BYTE +- id: 0xc68c + name: OriginalRawFileData + type_name: UNDEFINED +- id: 0xc68d + name: ActiveArea + type_name: SHORT +- id: 0xc68e + name: MaskedAreas + type_name: SHORT +- id: 0xc68f + name: AsShotICCProfile + type_name: UNDEFINED +- id: 0xc690 + name: AsShotPreProfileMatrix + type_name: SRATIONAL +- id: 0xc691 + name: CurrentICCProfile + type_name: UNDEFINED +- id: 0xc692 + name: CurrentPreProfileMatrix + type_name: SRATIONAL +- id: 0xc6bf + name: ColorimetricReference + type_name: SHORT +- id: 0xc6f3 + name: CameraCalibrationSignature + type_name: BYTE +- id: 0xc6f4 + name: ProfileCalibrationSignature + type_name: BYTE +- id: 0xc6f6 + name: AsShotProfileName + type_name: BYTE +- id: 0xc6f7 + name: NoiseReductionApplied + type_name: RATIONAL +- id: 0xc6f8 + name: ProfileName + type_name: BYTE +- id: 0xc6f9 + name: ProfileHueSatMapDims + type_name: LONG +- id: 0xc6fd + name: ProfileEmbedPolicy + type_name: LONG +- id: 0xc6fe + name: ProfileCopyright + type_name: BYTE +- id: 0xc714 + name: ForwardMatrix1 + type_name: SRATIONAL +- id: 0xc715 + name: ForwardMatrix2 + type_name: SRATIONAL +- id: 0xc716 + name: PreviewApplicationName + type_name: BYTE +- id: 0xc717 + name: PreviewApplicationVersion + type_name: BYTE +- id: 0xc718 + name: PreviewSettingsName + type_name: BYTE +- id: 0xc719 + name: PreviewSettingsDigest + type_name: BYTE +- id: 0xc71a + name: PreviewColorSpace + type_name: LONG +- id: 0xc71b + name: PreviewDateTime + type_name: ASCII +- id: 0xc71c + name: RawImageDigest + type_name: UNDEFINED +- id: 0xc71d + name: OriginalRawFileDigest + type_name: UNDEFINED +- id: 0xc71e + name: SubTileBlockSize + type_name: LONG +- id: 0xc71f + name: RowInterleaveFactor + type_name: LONG +- id: 0xc725 + name: ProfileLookTableDims + type_name: LONG +- id: 0xc740 + name: OpcodeList1 + type_name: UNDEFINED +- id: 0xc741 + name: OpcodeList2 + type_name: UNDEFINED +- id: 0xc74e + name: OpcodeList3 + type_name: UNDEFINED +IFD/Exif/Iop: +- id: 0x0001 + name: InteroperabilityIndex + type_name: ASCII +- id: 0x0002 + name: InteroperabilityVersion + type_name: UNDEFINED +- id: 0x1000 + name: RelatedImageFileFormat + type_name: ASCII +- id: 0x1001 + name: RelatedImageWidth + type_name: LONG +- id: 0x1002 + name: RelatedImageLength + type_name: LONG +` +) diff --git a/vendor/github.com/dsoprea/go-exif/v2/testing_common.go b/vendor/github.com/dsoprea/go-exif/v2/testing_common.go new file mode 100644 index 000000000..fe69df936 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/testing_common.go @@ -0,0 +1,182 @@ +package exif + +import ( + "path" + "reflect" + "testing" + + "io/ioutil" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +var ( + testExifData []byte +) + +func getExifSimpleTestIb() *IfdBuilder { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + im := NewIfdMapping() + + err := LoadStandardIfds(im) + log.PanicIf(err) + + ti := NewTagIndex() + ib := NewIfdBuilder(im, ti, exifcommon.IfdStandardIfdIdentity, exifcommon.TestDefaultByteOrder) + + err = ib.AddStandard(0x000b, "asciivalue") + log.PanicIf(err) + + err = ib.AddStandard(0x00ff, []uint16{0x1122}) + log.PanicIf(err) + + err = ib.AddStandard(0x0100, []uint32{0x33445566}) + log.PanicIf(err) + + err = ib.AddStandard(0x013e, []exifcommon.Rational{{Numerator: 0x11112222, Denominator: 0x33334444}}) + log.PanicIf(err) + + return ib +} + +func getExifSimpleTestIbBytes() []byte { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + im := NewIfdMapping() + + err := LoadStandardIfds(im) + log.PanicIf(err) + + ti := NewTagIndex() + ib := NewIfdBuilder(im, ti, exifcommon.IfdStandardIfdIdentity, exifcommon.TestDefaultByteOrder) + + err = ib.AddStandard(0x000b, "asciivalue") + log.PanicIf(err) + + err = ib.AddStandard(0x00ff, []uint16{0x1122}) + log.PanicIf(err) + + err = ib.AddStandard(0x0100, []uint32{0x33445566}) + log.PanicIf(err) + + err = ib.AddStandard(0x013e, []exifcommon.Rational{{Numerator: 0x11112222, Denominator: 0x33334444}}) + log.PanicIf(err) + + ibe := NewIfdByteEncoder() + + exifData, err := ibe.EncodeToExif(ib) + log.PanicIf(err) + + return exifData +} + +func validateExifSimpleTestIb(exifData []byte, t *testing.T) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + im := NewIfdMapping() + + err := LoadStandardIfds(im) + log.PanicIf(err) + + ti := NewTagIndex() + + eh, index, err := Collect(im, ti, exifData) + log.PanicIf(err) + + if eh.ByteOrder != exifcommon.TestDefaultByteOrder { + t.Fatalf("EXIF byte-order is not correct: %v", eh.ByteOrder) + } else if eh.FirstIfdOffset != ExifDefaultFirstIfdOffset { + t.Fatalf("EXIF first IFD-offset not correct: (0x%02x)", eh.FirstIfdOffset) + } + + if len(index.Ifds) != 1 { + t.Fatalf("There wasn't exactly one IFD decoded: (%d)", len(index.Ifds)) + } + + ifd := index.RootIfd + + if ifd.ByteOrder != exifcommon.TestDefaultByteOrder { + t.Fatalf("IFD byte-order not correct.") + } else if ifd.ifdIdentity.UnindexedString() != exifcommon.IfdStandardIfdIdentity.UnindexedString() { + t.Fatalf("IFD name not correct.") + } else if ifd.ifdIdentity.Index() != 0 { + t.Fatalf("IFD index not zero: (%d)", ifd.ifdIdentity.Index()) + } else if ifd.Offset != uint32(0x0008) { + t.Fatalf("IFD offset not correct.") + } else if len(ifd.Entries) != 4 { + t.Fatalf("IFD number of entries not correct: (%d)", len(ifd.Entries)) + } else if ifd.NextIfdOffset != uint32(0) { + t.Fatalf("Next-IFD offset is non-zero.") + } else if ifd.NextIfd != nil { + t.Fatalf("Next-IFD pointer is non-nil.") + } + + // Verify the values by using the actual, original types (this is awesome). + + expected := []struct { + tagId uint16 + value interface{} + }{ + {tagId: 0x000b, value: "asciivalue"}, + {tagId: 0x00ff, value: []uint16{0x1122}}, + {tagId: 0x0100, value: []uint32{0x33445566}}, + {tagId: 0x013e, value: []exifcommon.Rational{{Numerator: 0x11112222, Denominator: 0x33334444}}}, + } + + for i, ite := range ifd.Entries { + if ite.TagId() != expected[i].tagId { + t.Fatalf("Tag-ID for entry (%d) not correct: (0x%02x) != (0x%02x)", i, ite.TagId(), expected[i].tagId) + } + + value, err := ite.Value() + log.PanicIf(err) + + if reflect.DeepEqual(value, expected[i].value) != true { + t.Fatalf("Value for entry (%d) not correct: [%v] != [%v]", i, value, expected[i].value) + } + } +} + +func getTestImageFilepath() string { + assetsPath := exifcommon.GetTestAssetsPath() + testImageFilepath := path.Join(assetsPath, "NDM_8901.jpg") + return testImageFilepath +} + +func getTestExifData() []byte { + if testExifData == nil { + assetsPath := exifcommon.GetTestAssetsPath() + filepath := path.Join(assetsPath, "NDM_8901.jpg.exif") + + var err error + + testExifData, err = ioutil.ReadFile(filepath) + log.PanicIf(err) + } + + return testExifData +} + +func getTestGpsImageFilepath() string { + assetsPath := exifcommon.GetTestAssetsPath() + testGpsImageFilepath := path.Join(assetsPath, "gps.jpg") + return testGpsImageFilepath +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/README.md b/vendor/github.com/dsoprea/go-exif/v2/undefined/README.md new file mode 100644 index 000000000..d2caa6e51 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/README.md @@ -0,0 +1,4 @@ + +## 0xa40b + +The specification is not specific/clear enough to be handled. Without a working example ,we're deferring until some point in the future when either we or someone else has a better understanding. diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/accessor.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/accessor.go new file mode 100644 index 000000000..3e82c0f61 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/accessor.go @@ -0,0 +1,62 @@ +package exifundefined + +import ( + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +// Encode encodes the given encodeable undefined value to bytes. +func Encode(value EncodeableValue, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + encoderName := value.EncoderName() + + encoder, found := encoders[encoderName] + if found == false { + log.Panicf("no encoder registered for type [%s]", encoderName) + } + + encoded, unitCount, err = encoder.Encode(value, byteOrder) + log.PanicIf(err) + + return encoded, unitCount, nil +} + +// Decode constructs a value from raw encoded bytes +func Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + uth := UndefinedTagHandle{ + IfdPath: valueContext.IfdPath(), + TagId: valueContext.TagId(), + } + + decoder, found := decoders[uth] + if found == false { + // We have no choice but to return the error. We have no way of knowing how + // much data there is without already knowing what data-type this tag is. + return nil, exifcommon.ErrUnhandledUndefinedTypedTag + } + + value, err = decoder.Decode(valueContext) + if err != nil { + if err == ErrUnparseableValue { + return nil, err + } + + log.Panic(err) + } + + return value, nil +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_8828_oecf.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_8828_oecf.go new file mode 100644 index 000000000..796d17ca7 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_8828_oecf.go @@ -0,0 +1,148 @@ +package exifundefined + +import ( + "bytes" + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type Tag8828Oecf struct { + Columns uint16 + Rows uint16 + ColumnNames []string + Values []exifcommon.SignedRational +} + +func (oecf Tag8828Oecf) String() string { + return fmt.Sprintf("Tag8828Oecf", oecf.Columns, oecf.Rows) +} + +func (oecf Tag8828Oecf) EncoderName() string { + return "Codec8828Oecf" +} + +type Codec8828Oecf struct { +} + +func (Codec8828Oecf) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + oecf, ok := value.(Tag8828Oecf) + if ok == false { + log.Panicf("can only encode a Tag8828Oecf") + } + + b := new(bytes.Buffer) + + err = binary.Write(b, byteOrder, oecf.Columns) + log.PanicIf(err) + + err = binary.Write(b, byteOrder, oecf.Rows) + log.PanicIf(err) + + for _, name := range oecf.ColumnNames { + _, err := b.Write([]byte(name)) + log.PanicIf(err) + + _, err = b.Write([]byte{0}) + log.PanicIf(err) + } + + ve := exifcommon.NewValueEncoder(byteOrder) + + ed, err := ve.Encode(oecf.Values) + log.PanicIf(err) + + _, err = b.Write(ed.Encoded) + log.PanicIf(err) + + return b.Bytes(), uint32(b.Len()), nil +} + +func (Codec8828Oecf) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test using known good data. + + valueContext.SetUndefinedValueType(exifcommon.TypeByte) + + valueBytes, err := valueContext.ReadBytes() + log.PanicIf(err) + + oecf := Tag8828Oecf{} + + oecf.Columns = valueContext.ByteOrder().Uint16(valueBytes[0:2]) + oecf.Rows = valueContext.ByteOrder().Uint16(valueBytes[2:4]) + + columnNames := make([]string, oecf.Columns) + + // startAt is where the current column name starts. + startAt := 4 + + // offset is our current position. + offset := startAt + + currentColumnNumber := uint16(0) + + for currentColumnNumber < oecf.Columns { + if valueBytes[offset] == 0 { + columnName := string(valueBytes[startAt:offset]) + if len(columnName) == 0 { + log.Panicf("SFR column (%d) has zero length", currentColumnNumber) + } + + columnNames[currentColumnNumber] = columnName + currentColumnNumber++ + + offset++ + startAt = offset + continue + } + + offset++ + } + + oecf.ColumnNames = columnNames + + rawRationalBytes := valueBytes[offset:] + + rationalSize := exifcommon.TypeSignedRational.Size() + if len(rawRationalBytes)%rationalSize > 0 { + log.Panicf("OECF signed-rationals not aligned: (%d) %% (%d) > 0", len(rawRationalBytes), rationalSize) + } + + rationalCount := len(rawRationalBytes) / rationalSize + + parser := new(exifcommon.Parser) + + byteOrder := valueContext.ByteOrder() + + items, err := parser.ParseSignedRationals(rawRationalBytes, uint32(rationalCount), byteOrder) + log.PanicIf(err) + + oecf.Values = items + + return oecf, nil +} + +func init() { + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0x8828, + Codec8828Oecf{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9000_exif_version.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9000_exif_version.go new file mode 100644 index 000000000..19cfcc906 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9000_exif_version.go @@ -0,0 +1,69 @@ +package exifundefined + +import ( + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type Tag9000ExifVersion struct { + ExifVersion string +} + +func (Tag9000ExifVersion) EncoderName() string { + return "Codec9000ExifVersion" +} + +func (ev Tag9000ExifVersion) String() string { + return ev.ExifVersion +} + +type Codec9000ExifVersion struct { +} + +func (Codec9000ExifVersion) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + s, ok := value.(Tag9000ExifVersion) + if ok == false { + log.Panicf("can only encode a Tag9000ExifVersion") + } + + return []byte(s.ExifVersion), uint32(len(s.ExifVersion)), nil +} + +func (Codec9000ExifVersion) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeAsciiNoNul) + + valueString, err := valueContext.ReadAsciiNoNul() + log.PanicIf(err) + + ev := Tag9000ExifVersion{ + ExifVersion: valueString, + } + + return ev, nil +} + +func init() { + registerEncoder( + Tag9000ExifVersion{}, + Codec9000ExifVersion{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0x9000, + Codec9000ExifVersion{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9101_components_configuration.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9101_components_configuration.go new file mode 100644 index 000000000..16a4b38e4 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9101_components_configuration.go @@ -0,0 +1,124 @@ +package exifundefined + +import ( + "bytes" + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +const ( + TagUndefinedType_9101_ComponentsConfiguration_Channel_Y = 0x1 + TagUndefinedType_9101_ComponentsConfiguration_Channel_Cb = 0x2 + TagUndefinedType_9101_ComponentsConfiguration_Channel_Cr = 0x3 + TagUndefinedType_9101_ComponentsConfiguration_Channel_R = 0x4 + TagUndefinedType_9101_ComponentsConfiguration_Channel_G = 0x5 + TagUndefinedType_9101_ComponentsConfiguration_Channel_B = 0x6 +) + +const ( + TagUndefinedType_9101_ComponentsConfiguration_OTHER = iota + TagUndefinedType_9101_ComponentsConfiguration_RGB = iota + TagUndefinedType_9101_ComponentsConfiguration_YCBCR = iota +) + +var ( + TagUndefinedType_9101_ComponentsConfiguration_Names = map[int]string{ + TagUndefinedType_9101_ComponentsConfiguration_OTHER: "OTHER", + TagUndefinedType_9101_ComponentsConfiguration_RGB: "RGB", + TagUndefinedType_9101_ComponentsConfiguration_YCBCR: "YCBCR", + } + + TagUndefinedType_9101_ComponentsConfiguration_Configurations = map[int][]byte{ + TagUndefinedType_9101_ComponentsConfiguration_RGB: { + TagUndefinedType_9101_ComponentsConfiguration_Channel_R, + TagUndefinedType_9101_ComponentsConfiguration_Channel_G, + TagUndefinedType_9101_ComponentsConfiguration_Channel_B, + 0, + }, + + TagUndefinedType_9101_ComponentsConfiguration_YCBCR: { + TagUndefinedType_9101_ComponentsConfiguration_Channel_Y, + TagUndefinedType_9101_ComponentsConfiguration_Channel_Cb, + TagUndefinedType_9101_ComponentsConfiguration_Channel_Cr, + 0, + }, + } +) + +type TagExif9101ComponentsConfiguration struct { + ConfigurationId int + ConfigurationBytes []byte +} + +func (TagExif9101ComponentsConfiguration) EncoderName() string { + return "CodecExif9101ComponentsConfiguration" +} + +func (cc TagExif9101ComponentsConfiguration) String() string { + return fmt.Sprintf("Exif9101ComponentsConfiguration", TagUndefinedType_9101_ComponentsConfiguration_Names[cc.ConfigurationId], cc.ConfigurationBytes) +} + +type CodecExif9101ComponentsConfiguration struct { +} + +func (CodecExif9101ComponentsConfiguration) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + cc, ok := value.(TagExif9101ComponentsConfiguration) + if ok == false { + log.Panicf("can only encode a TagExif9101ComponentsConfiguration") + } + + return cc.ConfigurationBytes, uint32(len(cc.ConfigurationBytes)), nil +} + +func (CodecExif9101ComponentsConfiguration) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeByte) + + valueBytes, err := valueContext.ReadBytes() + log.PanicIf(err) + + for configurationId, configurationBytes := range TagUndefinedType_9101_ComponentsConfiguration_Configurations { + if bytes.Equal(configurationBytes, valueBytes) == true { + cc := TagExif9101ComponentsConfiguration{ + ConfigurationId: configurationId, + ConfigurationBytes: valueBytes, + } + + return cc, nil + } + } + + cc := TagExif9101ComponentsConfiguration{ + ConfigurationId: TagUndefinedType_9101_ComponentsConfiguration_OTHER, + ConfigurationBytes: valueBytes, + } + + return cc, nil +} + +func init() { + registerEncoder( + TagExif9101ComponentsConfiguration{}, + CodecExif9101ComponentsConfiguration{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0x9101, + CodecExif9101ComponentsConfiguration{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_927C_maker_note.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_927C_maker_note.go new file mode 100644 index 000000000..e0a52db2a --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_927C_maker_note.go @@ -0,0 +1,114 @@ +package exifundefined + +import ( + "fmt" + "strings" + + "crypto/sha1" + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type Tag927CMakerNote struct { + MakerNoteType []byte + MakerNoteBytes []byte +} + +func (Tag927CMakerNote) EncoderName() string { + return "Codec927CMakerNote" +} + +func (mn Tag927CMakerNote) String() string { + parts := make([]string, len(mn.MakerNoteType)) + + for i, c := range mn.MakerNoteType { + parts[i] = fmt.Sprintf("%02x", c) + } + + h := sha1.New() + + _, err := h.Write(mn.MakerNoteBytes) + log.PanicIf(err) + + digest := h.Sum(nil) + + return fmt.Sprintf("MakerNote", strings.Join(parts, " "), len(mn.MakerNoteBytes), digest) +} + +type Codec927CMakerNote struct { +} + +func (Codec927CMakerNote) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + mn, ok := value.(Tag927CMakerNote) + if ok == false { + log.Panicf("can only encode a Tag927CMakerNote") + } + + // TODO(dustin): Confirm this size against the specification. + + return mn.MakerNoteBytes, uint32(len(mn.MakerNoteBytes)), nil +} + +func (Codec927CMakerNote) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // MakerNote + // TODO(dustin): !! This is the Wild Wild West. This very well might be a child IFD, but any and all OEM's define their own formats. If we're going to be writing changes and this is complete EXIF (which may not have the first eight bytes), it might be fine. However, if these are just IFDs they'll be relative to the main EXIF, this will invalidate the MakerNote data for IFDs and any other implementations that use offsets unless we can interpret them all. It be best to return to this later and just exclude this from being written for now, though means a loss of a wealth of image metadata. + // -> We can also just blindly try to interpret as an IFD and just validate that it's looks good (maybe it will even have a 'next ifd' pointer that we can validate is 0x0). + + valueContext.SetUndefinedValueType(exifcommon.TypeByte) + + valueBytes, err := valueContext.ReadBytes() + log.PanicIf(err) + + // TODO(dustin): Doesn't work, but here as an example. + // ie := NewIfdEnumerate(valueBytes, byteOrder) + + // // TODO(dustin): !! Validate types (might have proprietary types, but it might be worth splitting the list between valid and not valid; maybe fail if a certain proportion are invalid, or maybe aren't less then a certain small integer)? + // ii, err := ie.Collect(0x0) + + // for _, entry := range ii.RootIfd.Entries { + // fmt.Printf("ENTRY: 0x%02x %d\n", entry.TagId, entry.TagType) + // } + + var makerNoteType []byte + if len(valueBytes) >= 20 { + makerNoteType = valueBytes[:20] + } else { + makerNoteType = valueBytes + } + + mn := Tag927CMakerNote{ + MakerNoteType: makerNoteType, + + // MakerNoteBytes has the whole length of bytes. There's always + // the chance that the first 20 bytes includes actual data. + MakerNoteBytes: valueBytes, + } + + return mn, nil +} + +func init() { + registerEncoder( + Tag927CMakerNote{}, + Codec927CMakerNote{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0x927c, + Codec927CMakerNote{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9286_user_comment.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9286_user_comment.go new file mode 100644 index 000000000..de07fe19e --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_9286_user_comment.go @@ -0,0 +1,142 @@ +package exifundefined + +import ( + "bytes" + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +var ( + exif9286Logger = log.NewLogger("exifundefined.exif_9286_user_comment") +) + +const ( + TagUndefinedType_9286_UserComment_Encoding_ASCII = iota + TagUndefinedType_9286_UserComment_Encoding_JIS = iota + TagUndefinedType_9286_UserComment_Encoding_UNICODE = iota + TagUndefinedType_9286_UserComment_Encoding_UNDEFINED = iota +) + +var ( + TagUndefinedType_9286_UserComment_Encoding_Names = map[int]string{ + TagUndefinedType_9286_UserComment_Encoding_ASCII: "ASCII", + TagUndefinedType_9286_UserComment_Encoding_JIS: "JIS", + TagUndefinedType_9286_UserComment_Encoding_UNICODE: "UNICODE", + TagUndefinedType_9286_UserComment_Encoding_UNDEFINED: "UNDEFINED", + } + + TagUndefinedType_9286_UserComment_Encodings = map[int][]byte{ + TagUndefinedType_9286_UserComment_Encoding_ASCII: {'A', 'S', 'C', 'I', 'I', 0, 0, 0}, + TagUndefinedType_9286_UserComment_Encoding_JIS: {'J', 'I', 'S', 0, 0, 0, 0, 0}, + TagUndefinedType_9286_UserComment_Encoding_UNICODE: {'U', 'n', 'i', 'c', 'o', 'd', 'e', 0}, + TagUndefinedType_9286_UserComment_Encoding_UNDEFINED: {0, 0, 0, 0, 0, 0, 0, 0}, + } +) + +type Tag9286UserComment struct { + EncodingType int + EncodingBytes []byte +} + +func (Tag9286UserComment) EncoderName() string { + return "Codec9286UserComment" +} + +func (uc Tag9286UserComment) String() string { + var valuePhrase string + + if uc.EncodingType == TagUndefinedType_9286_UserComment_Encoding_ASCII { + return fmt.Sprintf("[ASCII] %s", string(uc.EncodingBytes)) + } else { + if len(uc.EncodingBytes) <= 8 { + valuePhrase = fmt.Sprintf("%v", uc.EncodingBytes) + } else { + valuePhrase = fmt.Sprintf("%v...", uc.EncodingBytes[:8]) + } + } + + return fmt.Sprintf("UserComment", len(uc.EncodingBytes), TagUndefinedType_9286_UserComment_Encoding_Names[uc.EncodingType], valuePhrase, len(uc.EncodingBytes)) +} + +type Codec9286UserComment struct { +} + +func (Codec9286UserComment) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + uc, ok := value.(Tag9286UserComment) + if ok == false { + log.Panicf("can only encode a Tag9286UserComment") + } + + encodingTypeBytes, found := TagUndefinedType_9286_UserComment_Encodings[uc.EncodingType] + if found == false { + log.Panicf("encoding-type not valid for unknown-type tag 9286 (UserComment): (%d)", uc.EncodingType) + } + + encoded = make([]byte, len(uc.EncodingBytes)+8) + + copy(encoded[:8], encodingTypeBytes) + copy(encoded[8:], uc.EncodingBytes) + + // TODO(dustin): Confirm this size against the specification. + + return encoded, uint32(len(encoded)), nil +} + +func (Codec9286UserComment) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeByte) + + valueBytes, err := valueContext.ReadBytes() + log.PanicIf(err) + + if len(valueBytes) < 8 { + return nil, ErrUnparseableValue + } + + unknownUc := Tag9286UserComment{ + EncodingType: TagUndefinedType_9286_UserComment_Encoding_UNDEFINED, + EncodingBytes: []byte{}, + } + + encoding := valueBytes[:8] + for encodingIndex, encodingBytes := range TagUndefinedType_9286_UserComment_Encodings { + if bytes.Compare(encoding, encodingBytes) == 0 { + uc := Tag9286UserComment{ + EncodingType: encodingIndex, + EncodingBytes: valueBytes[8:], + } + + return uc, nil + } + } + + exif9286Logger.Warningf(nil, "User-comment encoding not valid. Returning 'unknown' type (the default).") + return unknownUc, nil +} + +func init() { + registerEncoder( + Tag9286UserComment{}, + Codec9286UserComment{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0x9286, + Codec9286UserComment{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A000_flashpix_version.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A000_flashpix_version.go new file mode 100644 index 000000000..28849cde5 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A000_flashpix_version.go @@ -0,0 +1,69 @@ +package exifundefined + +import ( + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type TagA000FlashpixVersion struct { + FlashpixVersion string +} + +func (TagA000FlashpixVersion) EncoderName() string { + return "CodecA000FlashpixVersion" +} + +func (fv TagA000FlashpixVersion) String() string { + return fv.FlashpixVersion +} + +type CodecA000FlashpixVersion struct { +} + +func (CodecA000FlashpixVersion) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + s, ok := value.(TagA000FlashpixVersion) + if ok == false { + log.Panicf("can only encode a TagA000FlashpixVersion") + } + + return []byte(s.FlashpixVersion), uint32(len(s.FlashpixVersion)), nil +} + +func (CodecA000FlashpixVersion) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeAsciiNoNul) + + valueString, err := valueContext.ReadAsciiNoNul() + log.PanicIf(err) + + fv := TagA000FlashpixVersion{ + FlashpixVersion: valueString, + } + + return fv, nil +} + +func init() { + registerEncoder( + TagA000FlashpixVersion{}, + CodecA000FlashpixVersion{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0xa000, + CodecA000FlashpixVersion{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A20C_spatial_frequency_response.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A20C_spatial_frequency_response.go new file mode 100644 index 000000000..d49c8c52d --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A20C_spatial_frequency_response.go @@ -0,0 +1,160 @@ +package exifundefined + +import ( + "bytes" + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type TagA20CSpatialFrequencyResponse struct { + Columns uint16 + Rows uint16 + ColumnNames []string + Values []exifcommon.Rational +} + +func (TagA20CSpatialFrequencyResponse) EncoderName() string { + return "CodecA20CSpatialFrequencyResponse" +} + +func (sfr TagA20CSpatialFrequencyResponse) String() string { + return fmt.Sprintf("CodecA20CSpatialFrequencyResponse", sfr.Columns, sfr.Rows) +} + +type CodecA20CSpatialFrequencyResponse struct { +} + +func (CodecA20CSpatialFrequencyResponse) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test. + + sfr, ok := value.(TagA20CSpatialFrequencyResponse) + if ok == false { + log.Panicf("can only encode a TagA20CSpatialFrequencyResponse") + } + + b := new(bytes.Buffer) + + err = binary.Write(b, byteOrder, sfr.Columns) + log.PanicIf(err) + + err = binary.Write(b, byteOrder, sfr.Rows) + log.PanicIf(err) + + // Write columns. + + for _, name := range sfr.ColumnNames { + _, err := b.WriteString(name) + log.PanicIf(err) + + err = b.WriteByte(0) + log.PanicIf(err) + } + + // Write values. + + ve := exifcommon.NewValueEncoder(byteOrder) + + ed, err := ve.Encode(sfr.Values) + log.PanicIf(err) + + _, err = b.Write(ed.Encoded) + log.PanicIf(err) + + encoded = b.Bytes() + + // TODO(dustin): Confirm this size against the specification. + + return encoded, uint32(len(encoded)), nil +} + +func (CodecA20CSpatialFrequencyResponse) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test using known good data. + + byteOrder := valueContext.ByteOrder() + + valueContext.SetUndefinedValueType(exifcommon.TypeByte) + + valueBytes, err := valueContext.ReadBytes() + log.PanicIf(err) + + sfr := TagA20CSpatialFrequencyResponse{} + + sfr.Columns = byteOrder.Uint16(valueBytes[0:2]) + sfr.Rows = byteOrder.Uint16(valueBytes[2:4]) + + columnNames := make([]string, sfr.Columns) + + // startAt is where the current column name starts. + startAt := 4 + + // offset is our current position. + offset := 4 + + currentColumnNumber := uint16(0) + + for currentColumnNumber < sfr.Columns { + if valueBytes[offset] == 0 { + columnName := string(valueBytes[startAt:offset]) + if len(columnName) == 0 { + log.Panicf("SFR column (%d) has zero length", currentColumnNumber) + } + + columnNames[currentColumnNumber] = columnName + currentColumnNumber++ + + offset++ + startAt = offset + continue + } + + offset++ + } + + sfr.ColumnNames = columnNames + + rawRationalBytes := valueBytes[offset:] + + rationalSize := exifcommon.TypeRational.Size() + if len(rawRationalBytes)%rationalSize > 0 { + log.Panicf("SFR rationals not aligned: (%d) %% (%d) > 0", len(rawRationalBytes), rationalSize) + } + + rationalCount := len(rawRationalBytes) / rationalSize + + parser := new(exifcommon.Parser) + + items, err := parser.ParseRationals(rawRationalBytes, uint32(rationalCount), byteOrder) + log.PanicIf(err) + + sfr.Values = items + + return sfr, nil +} + +func init() { + registerEncoder( + TagA20CSpatialFrequencyResponse{}, + CodecA20CSpatialFrequencyResponse{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0xa20c, + CodecA20CSpatialFrequencyResponse{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A300_file_source.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A300_file_source.go new file mode 100644 index 000000000..18a7cdf63 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A300_file_source.go @@ -0,0 +1,79 @@ +package exifundefined + +import ( + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type TagExifA300FileSource uint32 + +func (TagExifA300FileSource) EncoderName() string { + return "CodecExifA300FileSource" +} + +func (af TagExifA300FileSource) String() string { + return fmt.Sprintf("0x%08x", uint32(af)) +} + +const ( + TagUndefinedType_A300_SceneType_Others TagExifA300FileSource = 0 + TagUndefinedType_A300_SceneType_ScannerOfTransparentType TagExifA300FileSource = 1 + TagUndefinedType_A300_SceneType_ScannerOfReflexType TagExifA300FileSource = 2 + TagUndefinedType_A300_SceneType_Dsc TagExifA300FileSource = 3 +) + +type CodecExifA300FileSource struct { +} + +func (CodecExifA300FileSource) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + st, ok := value.(TagExifA300FileSource) + if ok == false { + log.Panicf("can only encode a TagExifA300FileSource") + } + + ve := exifcommon.NewValueEncoder(byteOrder) + + ed, err := ve.Encode([]uint32{uint32(st)}) + log.PanicIf(err) + + // TODO(dustin): Confirm this size against the specification. It's non-specific about what type it is, but it looks to be no more than a single integer scalar. So, we're assuming it's a LONG. + + return ed.Encoded, 1, nil +} + +func (CodecExifA300FileSource) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeLong) + + valueLongs, err := valueContext.ReadLongs() + log.PanicIf(err) + + return TagExifA300FileSource(valueLongs[0]), nil +} + +func init() { + registerEncoder( + TagExifA300FileSource(0), + CodecExifA300FileSource{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0xa300, + CodecExifA300FileSource{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A301_scene_type.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A301_scene_type.go new file mode 100644 index 000000000..b4246da18 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A301_scene_type.go @@ -0,0 +1,76 @@ +package exifundefined + +import ( + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type TagExifA301SceneType uint32 + +func (TagExifA301SceneType) EncoderName() string { + return "CodecExifA301SceneType" +} + +func (st TagExifA301SceneType) String() string { + return fmt.Sprintf("0x%08x", uint32(st)) +} + +const ( + TagUndefinedType_A301_SceneType_DirectlyPhotographedImage TagExifA301SceneType = 1 +) + +type CodecExifA301SceneType struct { +} + +func (CodecExifA301SceneType) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + st, ok := value.(TagExifA301SceneType) + if ok == false { + log.Panicf("can only encode a TagExif9101ComponentsConfiguration") + } + + ve := exifcommon.NewValueEncoder(byteOrder) + + ed, err := ve.Encode([]uint32{uint32(st)}) + log.PanicIf(err) + + // TODO(dustin): Confirm this size against the specification. It's non-specific about what type it is, but it looks to be no more than a single integer scalar. So, we're assuming it's a LONG. + + return ed.Encoded, uint32(int(ed.UnitCount)), nil +} + +func (CodecExifA301SceneType) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeLong) + + valueLongs, err := valueContext.ReadLongs() + log.PanicIf(err) + + return TagExifA301SceneType(valueLongs[0]), nil +} + +func init() { + registerEncoder( + TagExifA301SceneType(0), + CodecExifA301SceneType{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0xa301, + CodecExifA301SceneType{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A302_cfa_pattern.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A302_cfa_pattern.go new file mode 100644 index 000000000..beca78c23 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_A302_cfa_pattern.go @@ -0,0 +1,97 @@ +package exifundefined + +import ( + "bytes" + "fmt" + + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type TagA302CfaPattern struct { + HorizontalRepeat uint16 + VerticalRepeat uint16 + CfaValue []byte +} + +func (TagA302CfaPattern) EncoderName() string { + return "CodecA302CfaPattern" +} + +func (cp TagA302CfaPattern) String() string { + return fmt.Sprintf("TagA302CfaPattern", cp.HorizontalRepeat, cp.VerticalRepeat, len(cp.CfaValue)) +} + +type CodecA302CfaPattern struct { +} + +func (CodecA302CfaPattern) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test. + + cp, ok := value.(TagA302CfaPattern) + if ok == false { + log.Panicf("can only encode a TagA302CfaPattern") + } + + b := new(bytes.Buffer) + + err = binary.Write(b, byteOrder, cp.HorizontalRepeat) + log.PanicIf(err) + + err = binary.Write(b, byteOrder, cp.VerticalRepeat) + log.PanicIf(err) + + _, err = b.Write(cp.CfaValue) + log.PanicIf(err) + + encoded = b.Bytes() + + // TODO(dustin): Confirm this size against the specification. + + return encoded, uint32(len(encoded)), nil +} + +func (CodecA302CfaPattern) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test using known good data. + + valueContext.SetUndefinedValueType(exifcommon.TypeByte) + + valueBytes, err := valueContext.ReadBytes() + log.PanicIf(err) + + cp := TagA302CfaPattern{} + + cp.HorizontalRepeat = valueContext.ByteOrder().Uint16(valueBytes[0:2]) + cp.VerticalRepeat = valueContext.ByteOrder().Uint16(valueBytes[2:4]) + + expectedLength := int(cp.HorizontalRepeat * cp.VerticalRepeat) + cp.CfaValue = valueBytes[4 : 4+expectedLength] + + return cp, nil +} + +func init() { + registerEncoder( + TagA302CfaPattern{}, + CodecA302CfaPattern{}) + + registerDecoder( + exifcommon.IfdExifStandardIfdIdentity.UnindexedString(), + 0xa302, + CodecA302CfaPattern{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_iop_0002_interop_version.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_iop_0002_interop_version.go new file mode 100644 index 000000000..eca046b05 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/exif_iop_0002_interop_version.go @@ -0,0 +1,69 @@ +package exifundefined + +import ( + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type Tag0002InteropVersion struct { + InteropVersion string +} + +func (Tag0002InteropVersion) EncoderName() string { + return "Codec0002InteropVersion" +} + +func (iv Tag0002InteropVersion) String() string { + return iv.InteropVersion +} + +type Codec0002InteropVersion struct { +} + +func (Codec0002InteropVersion) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + s, ok := value.(Tag0002InteropVersion) + if ok == false { + log.Panicf("can only encode a Tag0002InteropVersion") + } + + return []byte(s.InteropVersion), uint32(len(s.InteropVersion)), nil +} + +func (Codec0002InteropVersion) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeAsciiNoNul) + + valueString, err := valueContext.ReadAsciiNoNul() + log.PanicIf(err) + + iv := Tag0002InteropVersion{ + InteropVersion: valueString, + } + + return iv, nil +} + +func init() { + registerEncoder( + Tag0002InteropVersion{}, + Codec0002InteropVersion{}) + + registerDecoder( + exifcommon.IfdExifIopStandardIfdIdentity.UnindexedString(), + 0x0002, + Codec0002InteropVersion{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/gps_001B_gps_processing_method.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/gps_001B_gps_processing_method.go new file mode 100644 index 000000000..8583bfb27 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/gps_001B_gps_processing_method.go @@ -0,0 +1,65 @@ +package exifundefined + +import ( + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type Tag001BGPSProcessingMethod struct { + string +} + +func (Tag001BGPSProcessingMethod) EncoderName() string { + return "Codec001BGPSProcessingMethod" +} + +func (gpm Tag001BGPSProcessingMethod) String() string { + return gpm.string +} + +type Codec001BGPSProcessingMethod struct { +} + +func (Codec001BGPSProcessingMethod) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + s, ok := value.(Tag001BGPSProcessingMethod) + if ok == false { + log.Panicf("can only encode a Tag001BGPSProcessingMethod") + } + + return []byte(s.string), uint32(len(s.string)), nil +} + +func (Codec001BGPSProcessingMethod) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeAsciiNoNul) + + valueString, err := valueContext.ReadAsciiNoNul() + log.PanicIf(err) + + return Tag001BGPSProcessingMethod{valueString}, nil +} + +func init() { + registerEncoder( + Tag001BGPSProcessingMethod{}, + Codec001BGPSProcessingMethod{}) + + registerDecoder( + exifcommon.IfdGpsInfoStandardIfdIdentity.UnindexedString(), + 0x001b, + Codec001BGPSProcessingMethod{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/gps_001C_gps_area_information.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/gps_001C_gps_area_information.go new file mode 100644 index 000000000..67acceb65 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/gps_001C_gps_area_information.go @@ -0,0 +1,65 @@ +package exifundefined + +import ( + "encoding/binary" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" +) + +type Tag001CGPSAreaInformation struct { + string +} + +func (Tag001CGPSAreaInformation) EncoderName() string { + return "Codec001CGPSAreaInformation" +} + +func (gai Tag001CGPSAreaInformation) String() string { + return gai.string +} + +type Codec001CGPSAreaInformation struct { +} + +func (Codec001CGPSAreaInformation) Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + s, ok := value.(Tag001CGPSAreaInformation) + if ok == false { + log.Panicf("can only encode a Tag001CGPSAreaInformation") + } + + return []byte(s.string), uint32(len(s.string)), nil +} + +func (Codec001CGPSAreaInformation) Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + valueContext.SetUndefinedValueType(exifcommon.TypeAsciiNoNul) + + valueString, err := valueContext.ReadAsciiNoNul() + log.PanicIf(err) + + return Tag001CGPSAreaInformation{valueString}, nil +} + +func init() { + registerEncoder( + Tag001CGPSAreaInformation{}, + Codec001CGPSAreaInformation{}) + + registerDecoder( + exifcommon.IfdGpsInfoStandardIfdIdentity.UnindexedString(), + 0x001c, + Codec001CGPSAreaInformation{}) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/registration.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/registration.go new file mode 100644 index 000000000..cccc20a82 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/registration.go @@ -0,0 +1,42 @@ +package exifundefined + +import ( + "github.com/dsoprea/go-logging" +) + +// UndefinedTagHandle defines one undefined-type tag with a corresponding +// decoder. +type UndefinedTagHandle struct { + IfdPath string + TagId uint16 +} + +func registerEncoder(entity EncodeableValue, encoder UndefinedValueEncoder) { + typeName := entity.EncoderName() + + _, found := encoders[typeName] + if found == true { + log.Panicf("encoder already registered: %v", typeName) + } + + encoders[typeName] = encoder +} + +func registerDecoder(ifdPath string, tagId uint16, decoder UndefinedValueDecoder) { + uth := UndefinedTagHandle{ + IfdPath: ifdPath, + TagId: tagId, + } + + _, found := decoders[uth] + if found == true { + log.Panicf("decoder already registered: %v", uth) + } + + decoders[uth] = decoder +} + +var ( + encoders = make(map[string]UndefinedValueEncoder) + decoders = make(map[UndefinedTagHandle]UndefinedValueDecoder) +) diff --git a/vendor/github.com/dsoprea/go-exif/v2/undefined/type.go b/vendor/github.com/dsoprea/go-exif/v2/undefined/type.go new file mode 100644 index 000000000..29890ef86 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/undefined/type.go @@ -0,0 +1,44 @@ +package exifundefined + +import ( + "errors" + + "encoding/binary" + + "github.com/dsoprea/go-exif/v2/common" +) + +const ( + // UnparseableUnknownTagValuePlaceholder is the string to use for an unknown + // undefined tag. + UnparseableUnknownTagValuePlaceholder = "!UNKNOWN" + + // UnparseableHandledTagValuePlaceholder is the string to use for a known + // value that is not parseable. + UnparseableHandledTagValuePlaceholder = "!MALFORMED" +) + +var ( + // ErrUnparseableValue is the error for a value that we should have been + // able to parse but were not able to. + ErrUnparseableValue = errors.New("unparseable undefined tag") +) + +// UndefinedValueEncoder knows how to encode an undefined-type tag's value to +// bytes. +type UndefinedValueEncoder interface { + Encode(value interface{}, byteOrder binary.ByteOrder) (encoded []byte, unitCount uint32, err error) +} + +// EncodeableValue wraps a value with the information that will be needed to re- +// encode it later. +type EncodeableValue interface { + EncoderName() string + String() string +} + +// UndefinedValueDecoder knows how to decode an undefined-type tag's value from +// bytes. +type UndefinedValueDecoder interface { + Decode(valueContext *exifcommon.ValueContext) (value EncodeableValue, err error) +} diff --git a/vendor/github.com/dsoprea/go-exif/v2/utility.go b/vendor/github.com/dsoprea/go-exif/v2/utility.go new file mode 100644 index 000000000..ad692477e --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/v2/utility.go @@ -0,0 +1,233 @@ +package exif + +import ( + "fmt" + "math" + "reflect" + "strconv" + "strings" + "time" + + "github.com/dsoprea/go-logging" + + "github.com/dsoprea/go-exif/v2/common" + "github.com/dsoprea/go-exif/v2/undefined" +) + +var ( + utilityLogger = log.NewLogger("exif.utility") +) + +var ( + timeType = reflect.TypeOf(time.Time{}) +) + +// ParseExifFullTimestamp parses dates like "2018:11:30 13:01:49" into a UTC +// `time.Time` struct. +func ParseExifFullTimestamp(fullTimestampPhrase string) (timestamp time.Time, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + parts := strings.Split(fullTimestampPhrase, " ") + datestampValue, timestampValue := parts[0], parts[1] + + // Normalize the separators. + datestampValue = strings.ReplaceAll(datestampValue, "-", ":") + timestampValue = strings.ReplaceAll(timestampValue, "-", ":") + + dateParts := strings.Split(datestampValue, ":") + + year, err := strconv.ParseUint(dateParts[0], 10, 16) + if err != nil { + log.Panicf("could not parse year") + } + + month, err := strconv.ParseUint(dateParts[1], 10, 8) + if err != nil { + log.Panicf("could not parse month") + } + + day, err := strconv.ParseUint(dateParts[2], 10, 8) + if err != nil { + log.Panicf("could not parse day") + } + + timeParts := strings.Split(timestampValue, ":") + + hour, err := strconv.ParseUint(timeParts[0], 10, 8) + if err != nil { + log.Panicf("could not parse hour") + } + + minute, err := strconv.ParseUint(timeParts[1], 10, 8) + if err != nil { + log.Panicf("could not parse minute") + } + + second, err := strconv.ParseUint(timeParts[2], 10, 8) + if err != nil { + log.Panicf("could not parse second") + } + + timestamp = time.Date(int(year), time.Month(month), int(day), int(hour), int(minute), int(second), 0, time.UTC) + return timestamp, nil +} + +// ExifFullTimestampString produces a string like "2018:11:30 13:01:49" from a +// `time.Time` struct. It will attempt to convert to UTC first. +func ExifFullTimestampString(t time.Time) (fullTimestampPhrase string) { + return exifcommon.ExifFullTimestampString(t) +} + +// ExifTag is one simple representation of a tag in a flat list of all of them. +type ExifTag struct { + // IfdPath is the fully-qualified IFD path (even though it is not named as + // such). + IfdPath string `json:"ifd_path"` + + // TagId is the tag-ID. + TagId uint16 `json:"id"` + + // TagName is the tag-name. This is never empty. + TagName string `json:"name"` + + // UnitCount is the recorded number of units constution of the value. + UnitCount uint32 `json:"unit_count"` + + // TagTypeId is the type-ID. + TagTypeId exifcommon.TagTypePrimitive `json:"type_id"` + + // TagTypeName is the type name. + TagTypeName string `json:"type_name"` + + // Value is the decoded value. + Value interface{} `json:"value"` + + // ValueBytes is the raw, encoded value. + ValueBytes []byte `json:"value_bytes"` + + // Formatted is the human representation of the first value (tag values are + // always an array). + FormattedFirst string `json:"formatted_first"` + + // Formatted is the human representation of the complete value. + Formatted string `json:"formatted"` + + // ChildIfdPath is the name of the child IFD this tag represents (if it + // represents any). Otherwise, this is empty. + ChildIfdPath string `json:"child_ifd_path"` +} + +// String returns a string representation. +func (et ExifTag) String() string { + return fmt.Sprintf( + "ExifTag<"+ + "IFD-PATH=[%s] "+ + "TAG-ID=(0x%02x) "+ + "TAG-NAME=[%s] "+ + "TAG-TYPE=[%s] "+ + "VALUE=[%v] "+ + "VALUE-BYTES=(%d) "+ + "CHILD-IFD-PATH=[%s]", + et.IfdPath, et.TagId, et.TagName, et.TagTypeName, et.FormattedFirst, + len(et.ValueBytes), et.ChildIfdPath) +} + +// GetFlatExifData returns a simple, flat representation of all tags. +func GetFlatExifData(exifData []byte) (exifTags []ExifTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + eh, err := ParseExifHeader(exifData) + log.PanicIf(err) + + im := NewIfdMappingWithStandard() + ti := NewTagIndex() + + ie := NewIfdEnumerate(im, ti, exifData, eh.ByteOrder) + + exifTags = make([]ExifTag, 0) + + visitor := func(fqIfdPath string, ifdIndex int, ite *IfdTagEntry) (err error) { + // This encodes down to base64. Since this an example tool and we do not + // expect to ever decode the output, we are not worried about + // specifically base64-encoding it in order to have a measure of + // control. + valueBytes, err := ite.GetRawBytes() + if err != nil { + if err == exifundefined.ErrUnparseableValue { + return nil + } + + log.Panic(err) + } + + value, err := ite.Value() + if err != nil { + if err == exifcommon.ErrUnhandledUndefinedTypedTag { + value = exifundefined.UnparseableUnknownTagValuePlaceholder + } else { + log.Panic(err) + } + } + + et := ExifTag{ + IfdPath: fqIfdPath, + TagId: ite.TagId(), + TagName: ite.TagName(), + UnitCount: ite.UnitCount(), + TagTypeId: ite.TagType(), + TagTypeName: ite.TagType().String(), + Value: value, + ValueBytes: valueBytes, + ChildIfdPath: ite.ChildIfdPath(), + } + + et.Formatted, err = ite.Format() + log.PanicIf(err) + + et.FormattedFirst, err = ite.FormatFirst() + log.PanicIf(err) + + exifTags = append(exifTags, et) + + return nil + } + + _, err = ie.Scan(exifcommon.IfdStandardIfdIdentity, eh.FirstIfdOffset, visitor) + log.PanicIf(err) + + return exifTags, nil +} + +// GpsDegreesEquals returns true if the two `GpsDegrees` are identical. +func GpsDegreesEquals(gi1, gi2 GpsDegrees) bool { + if gi2.Orientation != gi1.Orientation { + return false + } + + degreesRightBound := math.Nextafter(gi1.Degrees, gi1.Degrees+1) + minutesRightBound := math.Nextafter(gi1.Minutes, gi1.Minutes+1) + secondsRightBound := math.Nextafter(gi1.Seconds, gi1.Seconds+1) + + if gi2.Degrees < gi1.Degrees || gi2.Degrees >= degreesRightBound { + return false + } else if gi2.Minutes < gi1.Minutes || gi2.Minutes >= minutesRightBound { + return false + } else if gi2.Seconds < gi1.Seconds || gi2.Seconds >= secondsRightBound { + return false + } + + return true +} + +// IsTime returns true if the value is a `time.Time`. +func IsTime(v interface{}) bool { + return reflect.TypeOf(v) == timeType +} diff --git a/vendor/github.com/dsoprea/go-exif/value_context.go b/vendor/github.com/dsoprea/go-exif/value_context.go new file mode 100644 index 000000000..3fce352a3 --- /dev/null +++ b/vendor/github.com/dsoprea/go-exif/value_context.go @@ -0,0 +1,367 @@ +package exif + +import ( + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + parser *Parser +) + +// ValueContext describes all of the parameters required to find and extract +// the actual tag value. +type ValueContext struct { + unitCount uint32 + valueOffset uint32 + rawValueOffset []byte + addressableData []byte + + tagType TagTypePrimitive + byteOrder binary.ByteOrder + + // undefinedValueTagType is the effective type to use if this is an + // "undefined" value. + undefinedValueTagType TagTypePrimitive + + ifdPath string + tagId uint16 +} + +func newValueContext(ifdPath string, tagId uint16, unitCount, valueOffset uint32, rawValueOffset, addressableData []byte, tagType TagTypePrimitive, byteOrder binary.ByteOrder) *ValueContext { + return &ValueContext{ + unitCount: unitCount, + valueOffset: valueOffset, + rawValueOffset: rawValueOffset, + addressableData: addressableData, + + tagType: tagType, + byteOrder: byteOrder, + + ifdPath: ifdPath, + tagId: tagId, + } +} + +func newValueContextFromTag(ite *IfdTagEntry, addressableData []byte, byteOrder binary.ByteOrder) *ValueContext { + return newValueContext( + ite.IfdPath, + ite.TagId, + ite.UnitCount, + ite.ValueOffset, + ite.RawValueOffset, + addressableData, + ite.TagType, + byteOrder) +} + +func (vc *ValueContext) SetUnknownValueType(tagType TagTypePrimitive) { + vc.undefinedValueTagType = tagType +} + +func (vc *ValueContext) UnitCount() uint32 { + return vc.unitCount +} + +func (vc *ValueContext) ValueOffset() uint32 { + return vc.valueOffset +} + +func (vc *ValueContext) RawValueOffset() []byte { + return vc.rawValueOffset +} + +func (vc *ValueContext) AddressableData() []byte { + return vc.addressableData +} + +// isEmbedded returns whether the value is embedded or a reference. This can't +// be precalculated since the size is not defined for all types (namely the +// "undefined" types). +func (vc *ValueContext) isEmbedded() bool { + tagType := vc.effectiveValueType() + + return (tagType.Size() * int(vc.unitCount)) <= 4 +} + +func (vc *ValueContext) effectiveValueType() (tagType TagTypePrimitive) { + if vc.tagType == TypeUndefined { + tagType = vc.undefinedValueTagType + + if tagType == 0 { + log.Panicf("undefined-value type not set") + } + } else { + tagType = vc.tagType + } + + return tagType +} + +func (vc *ValueContext) readRawEncoded() (rawBytes []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + tagType := vc.effectiveValueType() + + unitSizeRaw := uint32(tagType.Size()) + + if vc.isEmbedded() == true { + byteLength := unitSizeRaw * vc.unitCount + return vc.rawValueOffset[:byteLength], nil + } else { + return vc.addressableData[vc.valueOffset : vc.valueOffset+vc.unitCount*unitSizeRaw], nil + } +} + +// Format returns a string representation for the value. +// +// Where the type is not ASCII, `justFirst` indicates whether to just stringify +// the first item in the slice (or return an empty string if the slice is +// empty). +// +// Since this method lacks the information to process undefined-type tags (e.g. +// byte-order, tag-ID, IFD type), it will return an error if attempted. See +// `Undefined()`. +func (vc *ValueContext) Format() (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawBytes, err := vc.readRawEncoded() + log.PanicIf(err) + + phrase, err := Format(rawBytes, vc.tagType, false, vc.byteOrder) + log.PanicIf(err) + + return phrase, nil +} + +// FormatOne is similar to `Format` but only gets and stringifies the first +// item. +func (vc *ValueContext) FormatFirst() (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawBytes, err := vc.readRawEncoded() + log.PanicIf(err) + + phrase, err := Format(rawBytes, vc.tagType, true, vc.byteOrder) + log.PanicIf(err) + + return phrase, nil +} + +func (vc *ValueContext) ReadBytes() (value []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseBytes(rawValue, vc.unitCount) + log.PanicIf(err) + + return value, nil +} + +func (vc *ValueContext) ReadAscii() (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseAscii(rawValue, vc.unitCount) + log.PanicIf(err) + + return value, nil +} + +func (vc *ValueContext) ReadAsciiNoNul() (value string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseAsciiNoNul(rawValue, vc.unitCount) + log.PanicIf(err) + + return value, nil +} + +func (vc *ValueContext) ReadShorts() (value []uint16, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseShorts(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (vc *ValueContext) ReadLongs() (value []uint32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseLongs(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (vc *ValueContext) ReadRationals() (value []Rational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseRationals(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (vc *ValueContext) ReadSignedLongs() (value []int32, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseSignedLongs(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +func (vc *ValueContext) ReadSignedRationals() (value []SignedRational, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rawValue, err := vc.readRawEncoded() + log.PanicIf(err) + + value, err = parser.ParseSignedRationals(rawValue, vc.unitCount, vc.byteOrder) + log.PanicIf(err) + + return value, nil +} + +// Values knows how to resolve the given value. This value is always a list +// (undefined-values aside), so we're named accordingly. +// +// Since this method lacks the information to process unknown-type tags (e.g. +// byte-order, tag-ID, IFD type), it will return an error if attempted. See +// `Undefined()`. +func (vc *ValueContext) Values() (values interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if vc.tagType == TypeByte { + values, err = vc.ReadBytes() + log.PanicIf(err) + } else if vc.tagType == TypeAscii { + values, err = vc.ReadAscii() + log.PanicIf(err) + } else if vc.tagType == TypeAsciiNoNul { + values, err = vc.ReadAsciiNoNul() + log.PanicIf(err) + } else if vc.tagType == TypeShort { + values, err = vc.ReadShorts() + log.PanicIf(err) + } else if vc.tagType == TypeLong { + values, err = vc.ReadLongs() + log.PanicIf(err) + } else if vc.tagType == TypeRational { + values, err = vc.ReadRationals() + log.PanicIf(err) + } else if vc.tagType == TypeSignedLong { + values, err = vc.ReadSignedLongs() + log.PanicIf(err) + } else if vc.tagType == TypeSignedRational { + values, err = vc.ReadSignedRationals() + log.PanicIf(err) + } else if vc.tagType == TypeUndefined { + log.Panicf("will not parse undefined-type value") + + // Never called. + return nil, nil + } else { + log.Panicf("value of type [%s] is unparseable", vc.tagType) + + // Never called. + return nil, nil + } + + return values, nil +} + +// Undefined attempts to identify and decode supported undefined-type fields. +// This is the primary, preferred interface to reading undefined values. +func (vc *ValueContext) Undefined() (value interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + value, err = UndefinedValue(vc.ifdPath, vc.tagId, vc, vc.byteOrder) + if err != nil { + if err == ErrUnhandledUnknownTypedTag { + return nil, err + } + + log.Panic(err) + } + + return value, nil +} + +func init() { + parser = &Parser{} +} diff --git a/vendor/github.com/dsoprea/go-iptc/.MODULE_ROOT b/vendor/github.com/dsoprea/go-iptc/.MODULE_ROOT new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/dsoprea/go-iptc/.travis.yml b/vendor/github.com/dsoprea/go-iptc/.travis.yml new file mode 100644 index 000000000..710e46b39 --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/.travis.yml @@ -0,0 +1,14 @@ +language: go +go: + - master + - stable + - "1.13" + - "1.12" +env: + - GO111MODULE=on +install: + - go get -t ./... + - go get github.com/mattn/goveralls +script: + - go test -v ./... + - goveralls -v -service=travis-ci diff --git a/vendor/github.com/dsoprea/go-iptc/LICENSE b/vendor/github.com/dsoprea/go-iptc/LICENSE new file mode 100644 index 000000000..d92c04268 --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Dustin Oprea + +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/dsoprea/go-iptc/README.md b/vendor/github.com/dsoprea/go-iptc/README.md new file mode 100644 index 000000000..8065d16e4 --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/README.md @@ -0,0 +1,8 @@ +[![Build Status](https://travis-ci.org/dsoprea/go-iptc.svg?branch=master)](https://travis-ci.org/dsoprea/go-iptc) +[![Coverage Status](https://coveralls.io/repos/github/dsoprea/go-iptc/badge.svg?branch=master)](https://coveralls.io/github/dsoprea/go-iptc?branch=master) +[![Go Report Card](https://goreportcard.com/badge/github.com/dsoprea/go-iptc)](https://goreportcard.com/report/github.com/dsoprea/go-iptc) +[![GoDoc](https://godoc.org/github.com/dsoprea/go-iptc?status.svg)](https://godoc.org/github.com/dsoprea/go-iptc) + +# Overview + +This project provides functionality to parse a series of IPTC records/datasets. It also provides name resolution, but other constraints/validation is not yet implemented (though there is structure present that can accommodate this when desired/required). diff --git a/vendor/github.com/dsoprea/go-iptc/go.mod b/vendor/github.com/dsoprea/go-iptc/go.mod new file mode 100644 index 000000000..45c02f432 --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/go.mod @@ -0,0 +1,5 @@ +module github.com/dsoprea/go-iptc + +go 1.13 + +require github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d diff --git a/vendor/github.com/dsoprea/go-iptc/go.sum b/vendor/github.com/dsoprea/go-iptc/go.sum new file mode 100644 index 000000000..9d20e12fd --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/go.sum @@ -0,0 +1,10 @@ +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d h1:F/7L5wr/fP/SKeO5HuMlNEX9Ipyx2MbH2rV9G4zJRpk= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/go-errors/errors v1.0.2 h1:xMxH9j2fNg/L4hLn/4y3M0IUsn0M6Wbu/Uh9QlOfBh4= +github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5 h1:WQ8q63x+f/zpC8Ac1s9wLElVoHhm32p6tudrU72n1QA= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/vendor/github.com/dsoprea/go-iptc/standard.go b/vendor/github.com/dsoprea/go-iptc/standard.go new file mode 100644 index 000000000..307aa5a87 --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/standard.go @@ -0,0 +1,101 @@ +package iptc + +import ( + "errors" +) + +// StreamTagInfo encapsulates the properties of each tag. +type StreamTagInfo struct { + // Description is the human-readable description of the tag. + Description string +} + +var ( + standardTags = map[StreamTagKey]StreamTagInfo{ + {1, 120}: {"ARM Identifier"}, + + {1, 122}: {"ARM Version"}, + {2, 0}: {"Record Version"}, + {2, 3}: {"Object Type Reference"}, + {2, 4}: {"Object Attribute Reference"}, + {2, 5}: {"Object Name"}, + {2, 7}: {"Edit Status"}, + {2, 8}: {"Editorial Update"}, + {2, 10}: {"Urgency"}, + {2, 12}: {"Subject Reference"}, + {2, 15}: {"Category"}, + {2, 20}: {"Supplemental Category"}, + {2, 22}: {"Fixture Identifier"}, + {2, 25}: {"Keywords"}, + {2, 26}: {"Content Location Code"}, + {2, 27}: {"Content Location Name"}, + {2, 30}: {"Release Date"}, + {2, 35}: {"Release Time"}, + {2, 37}: {"Expiration Date"}, + {2, 38}: {"Expiration Time"}, + {2, 40}: {"Special Instructions"}, + {2, 42}: {"Action Advised"}, + {2, 45}: {"Reference Service"}, + {2, 47}: {"Reference Date"}, + {2, 50}: {"Reference Number"}, + {2, 55}: {"Date Created"}, + {2, 60}: {"Time Created"}, + {2, 62}: {"Digital Creation Date"}, + {2, 63}: {"Digital Creation Time"}, + {2, 65}: {"Originating Program"}, + {2, 70}: {"Program Version"}, + {2, 75}: {"Object Cycle"}, + {2, 80}: {"By-line"}, + {2, 85}: {"By-line Title"}, + {2, 90}: {"City"}, + {2, 92}: {"Sublocation"}, + {2, 95}: {"Province/State"}, + {2, 100}: {"Country/Primary Location Code"}, + {2, 101}: {"Country/Primary Location Name"}, + {2, 103}: {"Original Transmission Reference"}, + {2, 105}: {"Headline"}, + {2, 110}: {"Credit"}, + {2, 115}: {"Source"}, + {2, 116}: {"Copyright Notice"}, + {2, 118}: {"Contact"}, + {2, 120}: {"Caption/Abstract"}, + {2, 122}: {"Writer/Editor"}, + {2, 125}: {"Rasterized Caption"}, + {2, 130}: {"Image Type"}, + {2, 131}: {"Image Orientation"}, + {2, 135}: {"Language Identifier"}, + {2, 150}: {"Audio Type"}, + {2, 151}: {"Audio Sampling Rate"}, + {2, 152}: {"Audio Sampling Resolution"}, + {2, 153}: {"Audio Duration"}, + {2, 154}: {"Audio Outcue"}, + {2, 200}: {"ObjectData Preview File Format"}, + {2, 201}: {"ObjectData Preview File Format Version"}, + {2, 202}: {"ObjectData Preview Data"}, + {7, 10}: {"Size Mode"}, + {7, 20}: {"Max Subfile Size"}, + {7, 90}: {"ObjectData Size Announced"}, + {7, 95}: {"Maximum ObjectData Size"}, + {8, 10}: {"Subfile"}, + {9, 10}: {"Confirmed ObjectData Size"}, + } +) + +var ( + // ErrTagNotStandard indicates that the given tag is not known among the + // documented standard set. + ErrTagNotStandard = errors.New("not a standard tag") +) + +// GetTagInfo return the info for the given tag. Returns ErrTagNotStandard if +// not known. +func GetTagInfo(recordNumber, datasetNumber int) (sti StreamTagInfo, err error) { + stk := StreamTagKey{uint8(recordNumber), uint8(datasetNumber)} + + sti, found := standardTags[stk] + if found == false { + return sti, ErrTagNotStandard + } + + return sti, nil +} diff --git a/vendor/github.com/dsoprea/go-iptc/tag.go b/vendor/github.com/dsoprea/go-iptc/tag.go new file mode 100644 index 000000000..4ceabf41d --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/tag.go @@ -0,0 +1,277 @@ +package iptc + +import ( + "errors" + "fmt" + "io" + "strings" + "unicode" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + // TODO(dustin): We're still not sure if this is the right endianness. No search to IPTC or IIM seems to state one or the other. + + // DefaultEncoding is the standard encoding for the IPTC format. + defaultEncoding = binary.BigEndian +) + +var ( + // ErrInvalidTagMarker indicates that the tag can not be parsed because the + // tag boundary marker is not the expected value. + ErrInvalidTagMarker = errors.New("invalid tag marker") +) + +// Tag describes one tag read from the stream. +type Tag struct { + recordNumber uint8 + datasetNumber uint8 + dataSize uint64 +} + +// String expresses state as a string. +func (tag *Tag) String() string { + return fmt.Sprintf( + "Tag", + tag.recordNumber, tag.datasetNumber, tag.dataSize) +} + +// DecodeTag parses one tag from the stream. +func DecodeTag(r io.Reader) (tag Tag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + tagMarker := uint8(0) + err = binary.Read(r, defaultEncoding, &tagMarker) + if err != nil { + if err == io.EOF { + return tag, err + } + + log.Panic(err) + } + + if tagMarker != 0x1c { + return tag, ErrInvalidTagMarker + } + + recordNumber := uint8(0) + err = binary.Read(r, defaultEncoding, &recordNumber) + log.PanicIf(err) + + datasetNumber := uint8(0) + err = binary.Read(r, defaultEncoding, &datasetNumber) + log.PanicIf(err) + + dataSize16Raw := uint16(0) + err = binary.Read(r, defaultEncoding, &dataSize16Raw) + log.PanicIf(err) + + var dataSize uint64 + + if dataSize16Raw < 32768 { + // We only had 16-bits (has the MSB set to (0)). + dataSize = uint64(dataSize16Raw) + } else { + // This field is just the length of the length (has the MSB set to (1)). + + // Clear the MSB. + lengthLength := dataSize16Raw & 32767 + + if lengthLength == 4 { + dataSize32Raw := uint32(0) + err := binary.Read(r, defaultEncoding, &dataSize32Raw) + log.PanicIf(err) + + dataSize = uint64(dataSize32Raw) + } else if lengthLength == 8 { + err := binary.Read(r, defaultEncoding, &dataSize) + log.PanicIf(err) + } else { + // No specific sizes or limits are specified in the specification + // so we need to impose our own limits in order to implement. + + log.Panicf("extended data-set tag size is not supported: (%d)", lengthLength) + } + } + + tag = Tag{ + recordNumber: recordNumber, + datasetNumber: datasetNumber, + dataSize: dataSize, + } + + return tag, nil +} + +// StreamTagKey is a convenience type that lets us key our index with a high- +// level type. +type StreamTagKey struct { + // RecordNumber is the major classification of the dataset. + RecordNumber uint8 + + // DatasetNumber is the minor classification of the dataset. + DatasetNumber uint8 +} + +// String returns a descriptive string. +func (stk StreamTagKey) String() string { + return fmt.Sprintf("%d:%d", stk.RecordNumber, stk.DatasetNumber) +} + +// TagData is a convenience wrapper around a byte-slice. +type TagData []byte + +// IsPrintable returns true if all characters are printable. +func (tg TagData) IsPrintable() bool { + for _, b := range tg { + r := rune(b) + + // Newline characters aren't considered printable. + if r == 0x0d || r == 0x0a { + continue + } + + if unicode.IsGraphic(r) == false || unicode.IsPrint(r) == false { + return false + } + } + + return true +} + +// String returns a descriptive string. If the data doesn't include any non- +// printable characters, it will include the value itself. +func (tg TagData) String() string { + if tg.IsPrintable() == true { + return string(tg) + } + + return fmt.Sprintf("BINARY<(%d) bytes>", len(tg)) +} + +// ParsedTags is the complete, unordered set of tags parsed from the stream. +type ParsedTags map[StreamTagKey][]TagData + +// ParseStream parses a serial sequence of tags and tag data out of the stream. +func ParseStream(r io.Reader) (tags map[StreamTagKey][]TagData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + tags = make(ParsedTags) + + for { + tag, err := DecodeTag(r) + if err != nil { + if err == io.EOF { + break + } + + log.Panic(err) + } + + raw := make([]byte, tag.dataSize) + + _, err = io.ReadFull(r, raw) + log.PanicIf(err) + + data := TagData(raw) + + stk := StreamTagKey{ + RecordNumber: tag.recordNumber, + DatasetNumber: tag.datasetNumber, + } + + if existing, found := tags[stk]; found == true { + tags[stk] = append(existing, data) + } else { + tags[stk] = []TagData{data} + } + } + + return tags, nil +} + +// GetSimpleDictionaryFromParsedTags returns a dictionary of tag names to tag +// values, where all values are strings and any tag that had a non-printable +// value is omitted. We will also only return the first value, therefore +// dropping any follow-up values for repeatable tags. This will ignore non- +// standard tags. This will trim whitespace from the ends of strings. +// +// This is a convenience function for quickly displaying only the summary IPTC +// metadata that a user might actually be interested in at first glance. +func GetSimpleDictionaryFromParsedTags(pt ParsedTags) (distilled map[string]string) { + distilled = make(map[string]string) + + for stk, dataSlice := range pt { + sti, err := GetTagInfo(int(stk.RecordNumber), int(stk.DatasetNumber)) + if err != nil { + if err == ErrTagNotStandard { + continue + } else { + log.Panic(err) + } + } + + data := dataSlice[0] + + if data.IsPrintable() == false { + continue + } + + // TODO(dustin): Trim leading whitespace, too. + distilled[sti.Description] = strings.Trim(string(data), "\r\n") + } + + return distilled +} + +// GetDictionaryFromParsedTags returns all tags. It will keep non-printable +// values, though will not print a placeholder instead. This will keep non- +// standard tags (and print the fully-qualified dataset ID rather than the +// name). It will keep repeated values (with the counter value appended to the +// end). +func GetDictionaryFromParsedTags(pt ParsedTags) (distilled map[string]string) { + distilled = make(map[string]string) + for stk, dataSlice := range pt { + var keyPhrase string + + sti, err := GetTagInfo(int(stk.RecordNumber), int(stk.DatasetNumber)) + if err != nil { + if err == ErrTagNotStandard { + keyPhrase = fmt.Sprintf("%s (not a standard tag)", stk.String()) + } else { + log.Panic(err) + } + } else { + keyPhrase = sti.Description + } + + for i, data := range dataSlice { + currentKeyPhrase := keyPhrase + if len(dataSlice) > 1 { + currentKeyPhrase = fmt.Sprintf("%s (%d)", currentKeyPhrase, i+1) + } + + var presentable string + if data.IsPrintable() == false { + presentable = fmt.Sprintf("[BINARY] %s", DumpBytesToString(data)) + } else { + presentable = string(data) + } + + distilled[currentKeyPhrase] = presentable + } + } + + return distilled +} diff --git a/vendor/github.com/dsoprea/go-iptc/testing_common.go b/vendor/github.com/dsoprea/go-iptc/testing_common.go new file mode 100644 index 000000000..b54b9b8f3 --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/testing_common.go @@ -0,0 +1,73 @@ +package iptc + +import ( + "os" + "path" + + "github.com/dsoprea/go-logging" +) + +var ( + testDataRelFilepath = "iptc.data" +) + +var ( + moduleRootPath = "" + assetsPath = "" +) + +// GetModuleRootPath returns the root-path of the module. +func GetModuleRootPath() string { + if moduleRootPath == "" { + moduleRootPath = os.Getenv("IPTC_MODULE_ROOT_PATH") + if moduleRootPath != "" { + return moduleRootPath + } + + currentWd, err := os.Getwd() + log.PanicIf(err) + + currentPath := currentWd + visited := make([]string, 0) + + for { + tryStampFilepath := path.Join(currentPath, ".MODULE_ROOT") + + _, err := os.Stat(tryStampFilepath) + if err != nil && os.IsNotExist(err) != true { + log.Panic(err) + } else if err == nil { + break + } + + visited = append(visited, tryStampFilepath) + + currentPath = path.Dir(currentPath) + if currentPath == "/" { + log.Panicf("could not find module-root: %v", visited) + } + } + + moduleRootPath = currentPath + } + + return moduleRootPath +} + +// GetTestAssetsPath returns the path of the test-assets. +func GetTestAssetsPath() string { + if assetsPath == "" { + moduleRootPath := GetModuleRootPath() + assetsPath = path.Join(moduleRootPath, "assets") + } + + return assetsPath +} + +// GetTestDataFilepath returns the file-path of the common test-data. +func GetTestDataFilepath() string { + assetsPath := GetTestAssetsPath() + filepath := path.Join(assetsPath, testDataRelFilepath) + + return filepath +} diff --git a/vendor/github.com/dsoprea/go-iptc/utility.go b/vendor/github.com/dsoprea/go-iptc/utility.go new file mode 100644 index 000000000..5a4a10ad3 --- /dev/null +++ b/vendor/github.com/dsoprea/go-iptc/utility.go @@ -0,0 +1,25 @@ +package iptc + +import ( + "bytes" + "fmt" + + "github.com/dsoprea/go-logging" +) + +// DumpBytesToString returns a stringified list of hex-encoded bytes. +func DumpBytesToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("%02x", x)) + log.PanicIf(err) + + if i < len(data)-1 { + _, err := b.WriteRune(' ') + log.PanicIf(err) + } + } + + return b.String() +} diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/.MODULE_ROOT b/vendor/github.com/dsoprea/go-jpeg-image-structure/.MODULE_ROOT new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/.travis.yml b/vendor/github.com/dsoprea/go-jpeg-image-structure/.travis.yml new file mode 100644 index 000000000..4c79875ed --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/.travis.yml @@ -0,0 +1,21 @@ +language: go +go: + - master + - stable + - "1.14" + - "1.13" + - "1.12" +env: + - GO111MODULE=on +install: + - go get -t ./... +script: +# v1 + - go test -v . +# v2 + - cd v2 + - go test -v ./... -coverprofile=coverage.txt -covermode=atomic + - cd .. +after_success: + - cd v2 + - curl -s https://codecov.io/bash | bash diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/LICENSE b/vendor/github.com/dsoprea/go-jpeg-image-structure/LICENSE new file mode 100644 index 000000000..163291ed6 --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/LICENSE @@ -0,0 +1,9 @@ +MIT LICENSE + +Copyright 2020 Dustin Oprea + +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/dsoprea/go-jpeg-image-structure/README.md b/vendor/github.com/dsoprea/go-jpeg-image-structure/README.md new file mode 100644 index 000000000..67bc57617 --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/README.md @@ -0,0 +1,10 @@ +[![Build Status](https://travis-ci.org/dsoprea/go-jpeg-image-structure.svg?branch=master)](https://travis-ci.org/dsoprea/go-jpeg-image-structure) +[![codecov](https://codecov.io/gh/dsoprea/go-jpeg-image-structure/branch/master/graph/badge.svg?token=Twxyx7kpAa)](https://codecov.io/gh/dsoprea/go-jpeg-image-structure) +[![Go Report Card](https://goreportcard.com/badge/github.com/dsoprea/go-jpeg-image-structure/v2)](https://goreportcard.com/report/github.com/dsoprea/go-jpeg-image-structure/v2) +[![GoDoc](https://godoc.org/github.com/dsoprea/go-jpeg-image-structure/v2?status.svg)](https://godoc.org/github.com/dsoprea/go-jpeg-image-structure/v2) + +## Overview + +Parse raw JPEG data into individual segments of data. You can print or export this data, including hash digests for each. You can also parse/modify the EXIF data and write an updated image. + +EXIF, XMP, and IPTC data can also be extracted. The provided CLI tool can print this data as well. diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/go.mod b/vendor/github.com/dsoprea/go-jpeg-image-structure/go.mod new file mode 100644 index 000000000..48f12ab97 --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/go.mod @@ -0,0 +1,22 @@ +module github.com/dsoprea/go-jpeg-image-structure + +go 1.13 + +// Development only +// replace github.com/dsoprea/go-utility => ../go-utility +// replace github.com/dsoprea/go-logging => ../go-logging +// replace github.com/dsoprea/go-exif/v2 => ../go-exif/v2 +// replace github.com/dsoprea/go-photoshop-info-format => ../go-photoshop-info-format +// replace github.com/dsoprea/go-iptc => ../go-iptc + +require ( + github.com/dsoprea/go-exif/v2 v2.0.0-20200604193436-ca8584a0e1c4 + github.com/dsoprea/go-exif/v3 v3.0.0-20210512043655-120bcdb2a55e // indirect + github.com/dsoprea/go-iptc v0.0.0-20200609062250-162ae6b44feb + github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d + github.com/dsoprea/go-photoshop-info-format v0.0.0-20200609050348-3db9b63b202c + github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf + github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b + github.com/jessevdk/go-flags v1.4.0 + golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 // indirect +) diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/go.sum b/vendor/github.com/dsoprea/go-jpeg-image-structure/go.sum new file mode 100644 index 000000000..93058b8c9 --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/go.sum @@ -0,0 +1,85 @@ +github.com/dsoprea/go-exif v0.0.0-20200502203340-6aea10b45f4c h1:PoW4xOq3wUrX8ghNGiJFzem7mwd+mY/Xkgo0Z8AwcNY= +github.com/dsoprea/go-exif v0.0.0-20200516122116-a45cc7cfd55e h1:tTb1WdrhFs8VdnmxiADJEUpDJWKHFUFys0OUyLM9A6o= +github.com/dsoprea/go-exif/v2 v2.0.0-20200113231207-0bbb7a3584f7 h1:+koSu4BOaLu+dy50WEj+ltzEjMzK5evzPawKxgIQerw= +github.com/dsoprea/go-exif/v2 v2.0.0-20200113231207-0bbb7a3584f7/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E= +github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E= +github.com/dsoprea/go-exif/v2 v2.0.0-20200502203340-6aea10b45f4c h1:fQNBTLqL4u7yhl5AqW6dGG5RSxGuRhzXLnBVDR2uUuE= +github.com/dsoprea/go-exif/v2 v2.0.0-20200502203340-6aea10b45f4c/go.mod h1:YXOyDqCYjBuHHRw4JIGPgOgMit0IDvVSjjhsqOAFTYQ= +github.com/dsoprea/go-exif/v2 v2.0.0-20200516113213-42546383ce8f h1:WFrUfvt3uESgJ/NwPG/2Vjhp2uOE7X2wENldE+ch1yw= +github.com/dsoprea/go-exif/v2 v2.0.0-20200516113213-42546383ce8f/go.mod h1:YXOyDqCYjBuHHRw4JIGPgOgMit0IDvVSjjhsqOAFTYQ= +github.com/dsoprea/go-exif/v2 v2.0.0-20200516122116-a45cc7cfd55e h1:tPHXVRs63sg0ajoZjdmMa5aZuyjnSAt3Anwh2F4XsJM= +github.com/dsoprea/go-exif/v2 v2.0.0-20200516122116-a45cc7cfd55e/go.mod h1:YXOyDqCYjBuHHRw4JIGPgOgMit0IDvVSjjhsqOAFTYQ= +github.com/dsoprea/go-exif/v2 v2.0.0-20200516213102-7f6eb3d9f38c h1:92aud+9pN3bQjh/iw1+849uOBQfLuAcUC4LJwtfmRBo= +github.com/dsoprea/go-exif/v2 v2.0.0-20200516213102-7f6eb3d9f38c/go.mod h1:YXOyDqCYjBuHHRw4JIGPgOgMit0IDvVSjjhsqOAFTYQ= +github.com/dsoprea/go-exif/v2 v2.0.0-20200517080529-c9be4b30b064 h1:V7CH/kZImE6Lf27H4DS5PG7qzBkf774GIXUuM31vVNA= +github.com/dsoprea/go-exif/v2 v2.0.0-20200517080529-c9be4b30b064/go.mod h1:YXOyDqCYjBuHHRw4JIGPgOgMit0IDvVSjjhsqOAFTYQ= +github.com/dsoprea/go-exif/v2 v2.0.0-20200518001653-d0d0f14dea03 h1:r+aCxLEe6uGDC/NJCpA3WQJ+C7WJ0chzfHKgy173fug= +github.com/dsoprea/go-exif/v2 v2.0.0-20200518001653-d0d0f14dea03/go.mod h1:STKu28lNwOeoO0bieAKJ3zQYkUbZ2hivI6qjjGVW0sc= +github.com/dsoprea/go-exif/v2 v2.0.0-20200520183328-015129a9efd5 h1:iKMxnRjFqQQYKEpdsjFDMV2+VUAncTLT4ofcCiQpDvo= +github.com/dsoprea/go-exif/v2 v2.0.0-20200520183328-015129a9efd5/go.mod h1:9EXlPeHfblFFnwu5UOqmP2eoZfJyAZ2Ri/Vki33ajO0= +github.com/dsoprea/go-exif/v2 v2.0.0-20200527040709-fecb7e81f4be h1:iYHdwTUXN48h6wZd2QQHDyR4QsuWM08PX4wCJuzd7O0= +github.com/dsoprea/go-exif/v2 v2.0.0-20200527040709-fecb7e81f4be/go.mod h1:9EXlPeHfblFFnwu5UOqmP2eoZfJyAZ2Ri/Vki33ajO0= +github.com/dsoprea/go-exif/v2 v2.0.0-20200527042908-2a1e3f0fa19c h1:3uLJ1ub/I1sFM76IEzRi7RjqbhL1WfyPJeSko0tIYMI= +github.com/dsoprea/go-exif/v2 v2.0.0-20200527042908-2a1e3f0fa19c/go.mod h1:9EXlPeHfblFFnwu5UOqmP2eoZfJyAZ2Ri/Vki33ajO0= +github.com/dsoprea/go-exif/v2 v2.0.0-20200527165002-1a62daf3052a h1:Xk487H/DyhmIgYAnbJ5gvOrwI/eJ+FVXIO9Y22m44VI= +github.com/dsoprea/go-exif/v2 v2.0.0-20200527165002-1a62daf3052a/go.mod h1:9EXlPeHfblFFnwu5UOqmP2eoZfJyAZ2Ri/Vki33ajO0= +github.com/dsoprea/go-exif/v2 v2.0.0-20200604193436-ca8584a0e1c4 h1:Mg7pY7kxDQD2Bkvr1N+XW4BESSIQ7tTTR7Vv+Gi2CsM= +github.com/dsoprea/go-exif/v2 v2.0.0-20200604193436-ca8584a0e1c4/go.mod h1:9EXlPeHfblFFnwu5UOqmP2eoZfJyAZ2Ri/Vki33ajO0= +github.com/dsoprea/go-exif/v3 v3.0.0-20200717053412-08f1b6708903/go.mod h1:0nsO1ce0mh5czxGeLo4+OCZ/C6Eo6ZlMWsz7rH/Gxv8= +github.com/dsoprea/go-exif/v3 v3.0.0-20210512043655-120bcdb2a55e h1:E4XTSQZF/JtOQWcSaJBJho7t+RNWfdO92W/5skg10Jk= +github.com/dsoprea/go-exif/v3 v3.0.0-20210512043655-120bcdb2a55e/go.mod h1:cg5SNYKHMmzxsr9X6ZeLh/nfBRHHp5PngtEPcujONtk= +github.com/dsoprea/go-iptc v0.0.0-20200609062250-162ae6b44feb h1:gwjJjUr6FY7zAWVEueFPrcRHhd9+IK81TcItbqw2du4= +github.com/dsoprea/go-iptc v0.0.0-20200609062250-162ae6b44feb/go.mod h1:kYIdx9N9NaOyD7U6D+YtExN7QhRm+5kq7//yOsRXQtM= +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696 h1:VGFnZAcLwPpt1sHlAxml+pGLZz9A2s+K/s1YNhPC91Y= +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696/go.mod h1:Nm/x2ZUNRW6Fe5C3LxdY1PyZY5wmDv/s5dkPJ/VB3iA= +github.com/dsoprea/go-logging v0.0.0-20200502201358-170ff607885f h1:FonKAuW3PmNtqk9tOR+Z7bnyQHytmnZBCmm5z1PQMss= +github.com/dsoprea/go-logging v0.0.0-20200502201358-170ff607885f/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-logging v0.0.0-20200517222403-5742ce3fc1be h1:k3sHKay8cXGnGHeF8x6U7KtX8Lc7qAiQCNDRGEIPdnU= +github.com/dsoprea/go-logging v0.0.0-20200517222403-5742ce3fc1be/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d h1:F/7L5wr/fP/SKeO5HuMlNEX9Ipyx2MbH2rV9G4zJRpk= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-photoshop-info-format v0.0.0-20200609050348-3db9b63b202c h1:7j5aWACOzROpr+dvMtu8GnI97g9ShLWD72XIELMgn+c= +github.com/dsoprea/go-photoshop-info-format v0.0.0-20200609050348-3db9b63b202c/go.mod h1:pqKB+ijp27cEcrHxhXVgUUMlSDRuGJJp1E+20Lj5H0E= +github.com/dsoprea/go-utility v0.0.0-20200322055224-4dc0f716e7d0 h1:zFSboMDWXX2UX7/k/mCHBjZhHlaFMx0HmtUE37HABsA= +github.com/dsoprea/go-utility v0.0.0-20200322055224-4dc0f716e7d0/go.mod h1:xv8CVgDmI/Shx/X+EUXyXELVnH5lSRUYRija52OHq7E= +github.com/dsoprea/go-utility v0.0.0-20200322154813-27f0b0d142d7 h1:DJhSHW0odJrW5wR9MU6ry5S+PsxuRXA165KFaiB+cZo= +github.com/dsoprea/go-utility v0.0.0-20200322154813-27f0b0d142d7/go.mod h1:xv8CVgDmI/Shx/X+EUXyXELVnH5lSRUYRija52OHq7E= +github.com/dsoprea/go-utility v0.0.0-20200512094054-1abbbc781176 h1:CfXezFYb2STGOd1+n1HshvE191zVx+QX3A1nML5xxME= +github.com/dsoprea/go-utility v0.0.0-20200512094054-1abbbc781176/go.mod h1:95+K3z2L0mqsVYd6yveIv1lmtT3tcQQ3dVakPySffW8= +github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf h1:/w4QxepU4AHh3AuO6/g8y/YIIHH5+aKP3Bj8sg5cqhU= +github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf/go.mod h1:95+K3z2L0mqsVYd6yveIv1lmtT3tcQQ3dVakPySffW8= +github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e h1:IxIbA7VbCNrwumIYjDoMOdf4KOSkMC6NJE4s8oRbE7E= +github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e/go.mod h1:uAzdkPTub5Y9yQwXe8W4m2XuP0tK4a9Q/dantD0+uaU= +github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.0.2 h1:xMxH9j2fNg/L4hLn/4y3M0IUsn0M6Wbu/Uh9QlOfBh4= +github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +github.com/go-errors/errors v1.1.1 h1:ljK/pL5ltg3qoN+OtN6yCv9HWSfMwxSx90GJCZQxYNg= +github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec h1:lJwO/92dFXWeXOZdoGXgptLmNLwynMSHUmU6besqtiw= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/geo v0.0.0-20200319012246-673a6f80352d h1:C/hKUcHT483btRbeGkrRjJz+Zbcj8audldIi9tRJDCc= +github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5 h1:WQ8q63x+f/zpC8Ac1s9wLElVoHhm32p6tudrU72n1QA= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120 h1:EZ3cVSzKOlJxAd8e8YAJ7no8nNypTxexh/YE/xW3ZEY= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 h1:eDrdRpKgkcCqKZQwyZRyeFZgfqt37SL7Kv3tok06cKE= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/markers.go b/vendor/github.com/dsoprea/go-jpeg-image-structure/markers.go new file mode 100644 index 000000000..a12171bd8 --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/markers.go @@ -0,0 +1,212 @@ +package jpegstructure + +import ( + "github.com/dsoprea/go-logging" +) + +const ( + // MARKER_SOI marker + MARKER_SOI = 0xd8 + + // MARKER_EOI marker + MARKER_EOI = 0xd9 + + // MARKER_SOS marker + MARKER_SOS = 0xda + + // MARKER_SOD marker + MARKER_SOD = 0x93 + + // MARKER_DQT marker + MARKER_DQT = 0xdb + + // MARKER_APP0 marker + MARKER_APP0 = 0xe0 + + // MARKER_APP1 marker + MARKER_APP1 = 0xe1 + + // MARKER_APP2 marker + MARKER_APP2 = 0xe2 + + // MARKER_APP3 marker + MARKER_APP3 = 0xe3 + + // MARKER_APP4 marker + MARKER_APP4 = 0xe4 + + // MARKER_APP5 marker + MARKER_APP5 = 0xe5 + + // MARKER_APP6 marker + MARKER_APP6 = 0xe6 + + // MARKER_APP7 marker + MARKER_APP7 = 0xe7 + + // MARKER_APP8 marker + MARKER_APP8 = 0xe8 + + // MARKER_APP10 marker + MARKER_APP10 = 0xea + + // MARKER_APP12 marker + MARKER_APP12 = 0xec + + // MARKER_APP13 marker + MARKER_APP13 = 0xed + + // MARKER_APP14 marker + MARKER_APP14 = 0xee + + // MARKER_APP15 marker + MARKER_APP15 = 0xef + + // MARKER_COM marker + MARKER_COM = 0xfe + + // MARKER_CME marker + MARKER_CME = 0x64 + + // MARKER_SIZ marker + MARKER_SIZ = 0x51 + + // MARKER_DHT marker + MARKER_DHT = 0xc4 + + // MARKER_JPG marker + MARKER_JPG = 0xc8 + + // MARKER_DAC marker + MARKER_DAC = 0xcc + + // MARKER_SOF0 marker + MARKER_SOF0 = 0xc0 + + // MARKER_SOF1 marker + MARKER_SOF1 = 0xc1 + + // MARKER_SOF2 marker + MARKER_SOF2 = 0xc2 + + // MARKER_SOF3 marker + MARKER_SOF3 = 0xc3 + + // MARKER_SOF5 marker + MARKER_SOF5 = 0xc5 + + // MARKER_SOF6 marker + MARKER_SOF6 = 0xc6 + + // MARKER_SOF7 marker + MARKER_SOF7 = 0xc7 + + // MARKER_SOF9 marker + MARKER_SOF9 = 0xc9 + + // MARKER_SOF10 marker + MARKER_SOF10 = 0xca + + // MARKER_SOF11 marker + MARKER_SOF11 = 0xcb + + // MARKER_SOF13 marker + MARKER_SOF13 = 0xcd + + // MARKER_SOF14 marker + MARKER_SOF14 = 0xce + + // MARKER_SOF15 marker + MARKER_SOF15 = 0xcf +) + +var ( + jpegLogger = log.NewLogger("jpegstructure.jpeg") + jpegMagicStandard = []byte{0xff, MARKER_SOI, 0xff} + jpegMagic2000 = []byte{0xff, 0x4f, 0xff} + + markerLen = map[byte]int{ + 0x00: 0, + 0x01: 0, + 0xd0: 0, + 0xd1: 0, + 0xd2: 0, + 0xd3: 0, + 0xd4: 0, + 0xd5: 0, + 0xd6: 0, + 0xd7: 0, + 0xd8: 0, + 0xd9: 0, + 0xda: 0, + + // J2C + 0x30: 0, + 0x31: 0, + 0x32: 0, + 0x33: 0, + 0x34: 0, + 0x35: 0, + 0x36: 0, + 0x37: 0, + 0x38: 0, + 0x39: 0, + 0x3a: 0, + 0x3b: 0, + 0x3c: 0, + 0x3d: 0, + 0x3e: 0, + 0x3f: 0, + 0x4f: 0, + 0x92: 0, + 0x93: 0, + + // J2C extensions + 0x74: 4, + 0x75: 4, + 0x77: 4, + } + + markerNames = map[byte]string{ + MARKER_SOI: "SOI", + MARKER_EOI: "EOI", + MARKER_SOS: "SOS", + MARKER_SOD: "SOD", + MARKER_DQT: "DQT", + MARKER_APP0: "APP0", + MARKER_APP1: "APP1", + MARKER_APP2: "APP2", + MARKER_APP3: "APP3", + MARKER_APP4: "APP4", + MARKER_APP5: "APP5", + MARKER_APP6: "APP6", + MARKER_APP7: "APP7", + MARKER_APP8: "APP8", + MARKER_APP10: "APP10", + MARKER_APP12: "APP12", + MARKER_APP13: "APP13", + MARKER_APP14: "APP14", + MARKER_APP15: "APP15", + MARKER_COM: "COM", + MARKER_CME: "CME", + MARKER_SIZ: "SIZ", + + MARKER_DHT: "DHT", + MARKER_JPG: "JPG", + MARKER_DAC: "DAC", + + MARKER_SOF0: "SOF0", + MARKER_SOF1: "SOF1", + MARKER_SOF2: "SOF2", + MARKER_SOF3: "SOF3", + MARKER_SOF5: "SOF5", + MARKER_SOF6: "SOF6", + MARKER_SOF7: "SOF7", + MARKER_SOF9: "SOF9", + MARKER_SOF10: "SOF10", + MARKER_SOF11: "SOF11", + MARKER_SOF13: "SOF13", + MARKER_SOF14: "SOF14", + MARKER_SOF15: "SOF15", + } +) diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/media_parser.go b/vendor/github.com/dsoprea/go-jpeg-image-structure/media_parser.go new file mode 100644 index 000000000..dd4c73af9 --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/media_parser.go @@ -0,0 +1,128 @@ +package jpegstructure + +import ( + "bufio" + "bytes" + "io" + "os" + + "github.com/dsoprea/go-logging" + "github.com/dsoprea/go-utility/image" +) + +// JpegMediaParser is a `riimage.MediaParser` that knows how to parse JPEG +// images. +type JpegMediaParser struct { +} + +// NewJpegMediaParser returns a new JpegMediaParser. +func NewJpegMediaParser() *JpegMediaParser { + + // TODO(dustin): Add test + + return new(JpegMediaParser) +} + +// Parse parses a JPEG uses an `io.ReadSeeker`. Even if it fails, it will return +// the list of segments encountered prior to the failure. +func (jmp *JpegMediaParser) Parse(rs io.ReadSeeker, size int) (ec riimage.MediaContext, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + s := bufio.NewScanner(rs) + + // Since each segment can be any size, our buffer must allowed to grow as + // large as the file. + buffer := []byte{} + s.Buffer(buffer, size) + + js := NewJpegSplitter(nil) + s.Split(js.Split) + + for s.Scan() != false { + } + + // Always return the segments that were parsed, at least until there was an + // error. + ec = js.Segments() + + log.PanicIf(s.Err()) + + return ec, nil +} + +// ParseFile parses a JPEG file. Even if it fails, it will return the list of +// segments encountered prior to the failure. +func (jmp *JpegMediaParser) ParseFile(filepath string) (ec riimage.MediaContext, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + f, err := os.Open(filepath) + log.PanicIf(err) + + defer f.Close() + + stat, err := f.Stat() + log.PanicIf(err) + + size := stat.Size() + + sl, err := jmp.Parse(f, int(size)) + + // Always return the segments that were parsed, at least until there was an + // error. + ec = sl + + log.PanicIf(err) + + return ec, nil +} + +// ParseBytes parses a JPEG byte-slice. Even if it fails, it will return the +// list of segments encountered prior to the failure. +func (jmp *JpegMediaParser) ParseBytes(data []byte) (ec riimage.MediaContext, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + br := bytes.NewReader(data) + + sl, err := jmp.Parse(br, len(data)) + + // Always return the segments that were parsed, at least until there was an + // error. + ec = sl + + log.PanicIf(err) + + return ec, nil +} + +// LooksLikeFormat indicates whether the data looks like a JPEG image. +func (jmp *JpegMediaParser) LooksLikeFormat(data []byte) bool { + if len(data) < 4 { + return false + } + + l := len(data) + if data[0] != 0xff || data[1] != MARKER_SOI || data[l-2] != 0xff || data[l-1] != MARKER_EOI { + return false + } + + return true +} + +var ( + // Enforce interface conformance. + _ riimage.MediaParser = new(JpegMediaParser) +) diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/segment.go b/vendor/github.com/dsoprea/go-jpeg-image-structure/segment.go new file mode 100644 index 000000000..d6a1c42bb --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/segment.go @@ -0,0 +1,349 @@ +package jpegstructure + +import ( + "bytes" + "errors" + "fmt" + + "crypto/sha1" + "encoding/hex" + + "github.com/dsoprea/go-exif/v2" + "github.com/dsoprea/go-iptc" + "github.com/dsoprea/go-logging" + "github.com/dsoprea/go-photoshop-info-format" + "github.com/dsoprea/go-utility/image" +) + +const ( + pirIptcImageResourceId = uint16(0x0404) +) + +var ( + // exifPrefix is the prefix found at the top of an EXIF slice. This is JPEG- + // specific. + exifPrefix = []byte{'E', 'x', 'i', 'f', 0, 0} + + xmpPrefix = []byte("http://ns.adobe.com/xap/1.0/\000") + + ps30Prefix = []byte("Photoshop 3.0\000") +) + +var ( + // ErrNoXmp is returned if XMP data was requested but not found. + ErrNoXmp = errors.New("no XMP data") + + // ErrNoIptc is returned if IPTC data was requested but not found. + ErrNoIptc = errors.New("no IPTC data") + + // ErrNoPhotoshopData is returned if Photoshop info was requested but not + // found. + ErrNoPhotoshopData = errors.New("no photoshop data") +) + +// SofSegment has info read from a SOF segment. +type SofSegment struct { + // BitsPerSample is the bits-per-sample. + BitsPerSample byte + + // Width is the image width. + Width uint16 + + // Height is the image height. + Height uint16 + + // ComponentCount is the number of color components. + ComponentCount byte +} + +// String returns a string representation of the SOF segment. +func (ss SofSegment) String() string { + + // TODO(dustin): Add test + + return fmt.Sprintf("SOF", ss.BitsPerSample, ss.Width, ss.Height, ss.ComponentCount) +} + +// SegmentVisitor describes a segment-visitor struct. +type SegmentVisitor interface { + // HandleSegment is triggered for each segment encountered as well as the + // scan-data. + HandleSegment(markerId byte, markerName string, counter int, lastIsScanData bool) error +} + +// SofSegmentVisitor describes a visitor that is only called for each SOF +// segment. +type SofSegmentVisitor interface { + // HandleSof is called for each encountered SOF segment. + HandleSof(sof *SofSegment) error +} + +// Segment describes a single segment. +type Segment struct { + MarkerId byte + MarkerName string + Offset int + Data []byte + + photoshopInfo map[uint16]photoshopinfo.Photoshop30InfoRecord + iptcTags map[iptc.StreamTagKey][]iptc.TagData +} + +// SetExif encodes and sets EXIF data into this segment. +func (s *Segment) SetExif(ib *exif.IfdBuilder) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + ibe := exif.NewIfdByteEncoder() + + exifData, err := ibe.EncodeToExif(ib) + log.PanicIf(err) + + l := len(exifPrefix) + + s.Data = make([]byte, l+len(exifData)) + copy(s.Data[0:], exifPrefix) + copy(s.Data[l:], exifData) + + return nil +} + +// Exif returns an `exif.Ifd` instance for the EXIF data we currently have. +func (s *Segment) Exif() (rootIfd *exif.Ifd, data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + l := len(exifPrefix) + + rawExif := s.Data[l:] + + jpegLogger.Debugf(nil, "Attempting to parse (%d) byte EXIF blob (Exif).", len(rawExif)) + + im := exif.NewIfdMappingWithStandard() + ti := exif.NewTagIndex() + + _, index, err := exif.Collect(im, ti, rawExif) + log.PanicIf(err) + + return index.RootIfd, rawExif, nil +} + +// FlatExif parses the EXIF data and just returns a list of tags. +func (s *Segment) FlatExif() (exifTags []exif.ExifTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + l := len(exifPrefix) + + rawExif := s.Data[l:] + + jpegLogger.Debugf(nil, "Attempting to parse (%d) byte EXIF blob (FlatExif).", len(rawExif)) + + exifTags, err = exif.GetFlatExifData(rawExif) + log.PanicIf(err) + + return exifTags, nil +} + +// EmbeddedString returns a string of properties that can be embedded into an +// longer string of properties. +func (s *Segment) EmbeddedString() string { + h := sha1.New() + h.Write(s.Data) + + // TODO(dustin): Add test + + digestString := hex.EncodeToString(h.Sum(nil)) + + return fmt.Sprintf("OFFSET=(0x%08x %10d) ID=(0x%02x) NAME=[%-5s] SIZE=(%10d) SHA1=[%s]", s.Offset, s.Offset, s.MarkerId, markerNames[s.MarkerId], len(s.Data), digestString) +} + +// String returns a descriptive string. +func (s *Segment) String() string { + + // TODO(dustin): Add test + + return fmt.Sprintf("Segment<%s>", s.EmbeddedString()) +} + +// IsExif returns true if EXIF data. +func (s *Segment) IsExif() bool { + if s.MarkerId != MARKER_APP1 { + return false + } + + // TODO(dustin): Add test + + l := len(exifPrefix) + + if len(s.Data) < l { + return false + } + + if bytes.Equal(s.Data[:l], exifPrefix) == false { + return false + } + + return true +} + +// IsXmp returns true if XMP data. +func (s *Segment) IsXmp() bool { + if s.MarkerId != MARKER_APP1 { + return false + } + + // TODO(dustin): Add test + + l := len(xmpPrefix) + + if len(s.Data) < l { + return false + } + + if bytes.Equal(s.Data[:l], xmpPrefix) == false { + return false + } + + return true +} + +// FormattedXmp returns a formatted XML string. This only makes sense for a +// segment comprised of XML data (like XMP). +func (s *Segment) FormattedXmp() (formatted string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + if s.IsXmp() != true { + log.Panicf("not an XMP segment") + } + + l := len(xmpPrefix) + + raw := string(s.Data[l:]) + + formatted, err = FormatXml(raw) + log.PanicIf(err) + + return formatted, nil +} + +func (s *Segment) parsePhotoshopInfo() (photoshopInfo map[uint16]photoshopinfo.Photoshop30InfoRecord, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if s.photoshopInfo != nil { + return s.photoshopInfo, nil + } + + if s.MarkerId != MARKER_APP13 { + return nil, ErrNoPhotoshopData + } + + l := len(ps30Prefix) + + if len(s.Data) < l { + return nil, ErrNoPhotoshopData + } + + if bytes.Equal(s.Data[:l], ps30Prefix) == false { + return nil, ErrNoPhotoshopData + } + + data := s.Data[l:] + b := bytes.NewBuffer(data) + + // Parse it. + + pirIndex, err := photoshopinfo.ReadPhotoshop30Info(b) + log.PanicIf(err) + + s.photoshopInfo = pirIndex + + return s.photoshopInfo, nil +} + +// IsIptc returns true if XMP data. +func (s *Segment) IsIptc() bool { + // TODO(dustin): Add test + + // There's a cost to determining if there's IPTC data, so we won't do it + // more than once. + if s.iptcTags != nil { + return true + } + + photoshopInfo, err := s.parsePhotoshopInfo() + if err != nil { + if err == ErrNoPhotoshopData { + return false + } + + log.Panic(err) + } + + // Bail if the Photoshop info doesn't have IPTC data. + + _, found := photoshopInfo[pirIptcImageResourceId] + if found == false { + return false + } + + return true +} + +// Iptc parses Photoshop info (if present) and then parses the IPTC info inside +// it (if present). +func (s *Segment) Iptc() (tags map[iptc.StreamTagKey][]iptc.TagData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Cache the parse. + if s.iptcTags != nil { + return s.iptcTags, nil + } + + photoshopInfo, err := s.parsePhotoshopInfo() + log.PanicIf(err) + + iptcPir, found := photoshopInfo[pirIptcImageResourceId] + if found == false { + return nil, ErrNoIptc + } + + b := bytes.NewBuffer(iptcPir.Data) + + tags, err = iptc.ParseStream(b) + log.PanicIf(err) + + s.iptcTags = tags + + return tags, nil +} + +var ( + // Enforce interface conformance. + _ riimage.MediaContext = new(Segment) +) diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/segment_list.go b/vendor/github.com/dsoprea/go-jpeg-image-structure/segment_list.go new file mode 100644 index 000000000..1b5b06a3a --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/segment_list.go @@ -0,0 +1,395 @@ +package jpegstructure + +import ( + "bytes" + "fmt" + "io" + + "crypto/sha1" + "encoding/binary" + + "github.com/dsoprea/go-exif/v2" + "github.com/dsoprea/go-iptc" + "github.com/dsoprea/go-logging" +) + +// SegmentList contains a slice of segments. +type SegmentList struct { + segments []*Segment +} + +// NewSegmentList returns a new SegmentList struct. +func NewSegmentList(segments []*Segment) (sl *SegmentList) { + if segments == nil { + segments = make([]*Segment, 0) + } + + return &SegmentList{ + segments: segments, + } +} + +// OffsetsEqual returns true is all segments have the same marker-IDs and were +// found at the same offsets. +func (sl *SegmentList) OffsetsEqual(o *SegmentList) bool { + if len(o.segments) != len(sl.segments) { + return false + } + + for i, s := range o.segments { + if s.MarkerId != sl.segments[i].MarkerId || s.Offset != sl.segments[i].Offset { + return false + } + } + + return true +} + +// Segments returns the underlying slice of segments. +func (sl *SegmentList) Segments() []*Segment { + return sl.segments +} + +// Add adds another segment. +func (sl *SegmentList) Add(s *Segment) { + sl.segments = append(sl.segments, s) +} + +// Print prints segment info. +func (sl *SegmentList) Print() { + if len(sl.segments) == 0 { + fmt.Printf("No segments.\n") + } else { + exifIndex, _, err := sl.FindExif() + if err != nil { + if err == exif.ErrNoExif { + exifIndex = -1 + } else { + log.Panic(err) + } + } + + xmpIndex, _, err := sl.FindXmp() + if err != nil { + if err == ErrNoXmp { + xmpIndex = -1 + } else { + log.Panic(err) + } + } + + iptcIndex, _, err := sl.FindIptc() + if err != nil { + if err == ErrNoIptc { + iptcIndex = -1 + } else { + log.Panic(err) + } + } + + for i, s := range sl.segments { + fmt.Printf("%2d: %s", i, s.EmbeddedString()) + + if i == exifIndex { + fmt.Printf(" [EXIF]") + } else if i == xmpIndex { + fmt.Printf(" [XMP]") + } else if i == iptcIndex { + fmt.Printf(" [IPTC]") + } + + fmt.Printf("\n") + } + } +} + +// Validate checks that all of the markers are actually located at all of the +// recorded offsets. +func (sl *SegmentList) Validate(data []byte) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if len(sl.segments) < 2 { + log.Panicf("minimum segments not found") + } + + if sl.segments[0].MarkerId != MARKER_SOI { + log.Panicf("first segment not SOI") + } else if sl.segments[len(sl.segments)-1].MarkerId != MARKER_EOI { + log.Panicf("last segment not EOI") + } + + lastOffset := 0 + for i, s := range sl.segments { + if lastOffset != 0 && s.Offset <= lastOffset { + log.Panicf("segment offset not greater than the last: SEGMENT=(%d) (0x%08x) <= (0x%08x)", i, s.Offset, lastOffset) + } + + // The scan-data doesn't start with a marker. + if s.MarkerId == 0x0 { + continue + } + + o := s.Offset + if bytes.Compare(data[o:o+2], []byte{0xff, s.MarkerId}) != 0 { + log.Panicf("segment offset does not point to the start of a segment: SEGMENT=(%d) (0x%08x)", i, s.Offset) + } + + lastOffset = o + } + + return nil +} + +// FindExif returns the the segment that hosts the EXIF data (if present). +func (sl *SegmentList) FindExif() (index int, segment *Segment, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for i, s := range sl.segments { + if s.IsExif() == true { + return i, s, nil + } + } + + return -1, nil, exif.ErrNoExif +} + +// FindXmp returns the the segment that hosts the XMP data (if present). +func (sl *SegmentList) FindXmp() (index int, segment *Segment, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for i, s := range sl.segments { + if s.IsXmp() == true { + return i, s, nil + } + } + + return -1, nil, ErrNoXmp +} + +// FindIptc returns the the segment that hosts the IPTC data (if present). +func (sl *SegmentList) FindIptc() (index int, segment *Segment, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for i, s := range sl.segments { + if s.IsIptc() == true { + return i, s, nil + } + } + + return -1, nil, ErrNoIptc +} + +// Exif returns an `exif.Ifd` instance for the EXIF data we currently have. +func (sl *SegmentList) Exif() (rootIfd *exif.Ifd, rawExif []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + _, s, err := sl.FindExif() + log.PanicIf(err) + + rootIfd, rawExif, err = s.Exif() + log.PanicIf(err) + + return rootIfd, rawExif, nil +} + +// Iptc returns embedded IPTC data if present. +func (sl *SegmentList) Iptc() (tags map[iptc.StreamTagKey][]iptc.TagData, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add comment and return data. + + _, s, err := sl.FindIptc() + log.PanicIf(err) + + tags, err = s.Iptc() + log.PanicIf(err) + + return tags, nil +} + +// ConstructExifBuilder returns an `exif.IfdBuilder` instance (needed for +// modifying) preloaded with all existing tags. +func (sl *SegmentList) ConstructExifBuilder() (rootIb *exif.IfdBuilder, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rootIfd, _, err := sl.Exif() + log.PanicIf(err) + + ib := exif.NewIfdBuilderFromExistingChain(rootIfd) + + return ib, nil +} + +// DumpExif returns an unstructured list of tags (useful when just reviewing). +func (sl *SegmentList) DumpExif() (segmentIndex int, segment *Segment, exifTags []exif.ExifTag, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + segmentIndex, s, err := sl.FindExif() + if err != nil { + if err == exif.ErrNoExif { + return 0, nil, nil, err + } + + log.Panic(err) + } + + exifTags, err = s.FlatExif() + log.PanicIf(err) + + return segmentIndex, s, exifTags, nil +} + +func makeEmptyExifSegment() (s *Segment) { + + // TODO(dustin): Add test + + return &Segment{ + MarkerId: MARKER_APP1, + } +} + +// SetExif encodes and sets EXIF data into the given segment. If `index` is -1, +// append a new segment. +func (sl *SegmentList) SetExif(ib *exif.IfdBuilder) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + _, s, err := sl.FindExif() + if err != nil { + if log.Is(err, exif.ErrNoExif) == false { + log.Panic(err) + } + + s = makeEmptyExifSegment() + + prefix := sl.segments[:1] + + // Install it near the beginning where we know it's safe. We can't + // insert it after the EOI segment, and there might be more than one + // depending on implementation and/or lax adherence to the standard. + tail := append([]*Segment{s}, sl.segments[1:]...) + + sl.segments = append(prefix, tail...) + } + + err = s.SetExif(ib) + log.PanicIf(err) + + return nil +} + +// DropExif will drop the EXIF data if present. +func (sl *SegmentList) DropExif() (wasDropped bool, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + i, _, err := sl.FindExif() + if err == nil { + // Found. + sl.segments = append(sl.segments[:i], sl.segments[i+1:]...) + + return true, nil + } else if log.Is(err, exif.ErrNoExif) == false { + log.Panic(err) + } + + // Not found. + return false, nil +} + +// Write writes the segment data to the given `io.Writer`. +func (sl *SegmentList) Write(w io.Writer) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + offset := 0 + + for i, s := range sl.segments { + h := sha1.New() + h.Write(s.Data) + + // The scan-data will have a marker-ID of (0) because it doesn't have a + // marker-ID or length. + if s.MarkerId != 0 { + _, err := w.Write([]byte{0xff}) + log.PanicIf(err) + + offset++ + + _, err = w.Write([]byte{s.MarkerId}) + log.PanicIf(err) + + offset++ + + sizeLen, found := markerLen[s.MarkerId] + if found == false || sizeLen == 2 { + sizeLen = 2 + l := uint16(len(s.Data) + sizeLen) + + err = binary.Write(w, binary.BigEndian, &l) + log.PanicIf(err) + + offset += 2 + } else if sizeLen == 4 { + l := uint32(len(s.Data) + sizeLen) + + err = binary.Write(w, binary.BigEndian, &l) + log.PanicIf(err) + + offset += 4 + } else if sizeLen != 0 { + log.Panicf("not a supported marker-size: SEGMENT-INDEX=(%d) MARKER-ID=(0x%02x) MARKER-SIZE-LEN=(%d)", i, s.MarkerId, sizeLen) + } + } + + _, err := w.Write(s.Data) + log.PanicIf(err) + + offset += len(s.Data) + } + + return nil +} diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/splitter.go b/vendor/github.com/dsoprea/go-jpeg-image-structure/splitter.go new file mode 100644 index 000000000..8e9c7c020 --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/splitter.go @@ -0,0 +1,437 @@ +package jpegstructure + +import ( + "bufio" + "bytes" + "io" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +// JpegSplitter uses the Go stream splitter to divide the JPEG stream into +// segments. +type JpegSplitter struct { + lastMarkerId byte + lastMarkerName string + counter int + lastIsScanData bool + visitor interface{} + + currentOffset int + segments *SegmentList + + scandataOffset int +} + +// NewJpegSplitter returns a new JpegSplitter. +func NewJpegSplitter(visitor interface{}) *JpegSplitter { + return &JpegSplitter{ + segments: NewSegmentList(nil), + visitor: visitor, + } +} + +// Segments returns all found segments. +func (js *JpegSplitter) Segments() *SegmentList { + return js.segments +} + +// MarkerId returns the ID of the last processed marker. +func (js *JpegSplitter) MarkerId() byte { + return js.lastMarkerId +} + +// MarkerName returns the name of the last-processed marker. +func (js *JpegSplitter) MarkerName() string { + return js.lastMarkerName +} + +// Counter returns the number of processed segments. +func (js *JpegSplitter) Counter() int { + return js.counter +} + +// IsScanData returns whether the last processed segment was scan-data. +func (js *JpegSplitter) IsScanData() bool { + return js.lastIsScanData +} + +func (js *JpegSplitter) processScanData(data []byte) (advanceBytes int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Search through the segment, past all 0xff's therein, until we encounter + // the EOI segment. + + dataLength := -1 + for i := js.scandataOffset; i < len(data); i++ { + thisByte := data[i] + + if i == 0 { + continue + } + + lastByte := data[i-1] + if lastByte != 0xff { + continue + } + + if thisByte == 0x00 || thisByte >= 0xd0 && thisByte <= 0xd8 { + continue + } + + // After all of the other checks, this means that we're on the EOF + // segment. + if thisByte != MARKER_EOI { + continue + } + + dataLength = i - 1 + break + } + + if dataLength == -1 { + // On the next pass, start on the last byte of this pass, just in case + // the first byte of the two-byte sequence is here. + js.scandataOffset = len(data) - 1 + + jpegLogger.Debugf(nil, "Scan-data not fully available (%d).", len(data)) + return 0, nil + } + + js.lastIsScanData = true + js.lastMarkerId = 0 + js.lastMarkerName = "" + + // Note that we don't increment the counter since this isn't an actual + // segment. + + jpegLogger.Debugf(nil, "End of scan-data.") + + err = js.handleSegment(0x0, "!SCANDATA", 0x0, data[:dataLength]) + log.PanicIf(err) + + return dataLength, nil +} + +func (js *JpegSplitter) readSegment(data []byte) (count int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if js.counter == 0 { + // Verify magic bytes. + + if len(data) < 3 { + jpegLogger.Debugf(nil, "Not enough (1)") + return 0, nil + } + + if data[0] == jpegMagic2000[0] && data[1] == jpegMagic2000[1] && data[2] == jpegMagic2000[2] { + // TODO(dustin): Revisit JPEG2000 support. + log.Panicf("JPEG2000 not supported") + } + + if data[0] != jpegMagicStandard[0] || data[1] != jpegMagicStandard[1] || data[2] != jpegMagicStandard[2] { + log.Panicf("file does not look like a JPEG: (%02x) (%02x) (%02x)", data[0], data[1], data[2]) + } + } + + chunkLength := len(data) + + jpegLogger.Debugf(nil, "SPLIT: LEN=(%d) COUNTER=(%d)", chunkLength, js.counter) + + if js.scanDataIsNext() == true { + // If the last segment was the SOS, we're currently sitting on scan data. + // Search for the EOI marker afterward in order to know how much data + // there is. Return this as its own token. + // + // REF: https://stackoverflow.com/questions/26715684/parsing-jpeg-sos-marker + + advanceBytes, err := js.processScanData(data) + log.PanicIf(err) + + // This will either return 0 and implicitly request that we need more + // data and then need to run again or will return an actual byte count + // to progress by. + + return advanceBytes, nil + } else if js.lastMarkerId == MARKER_EOI { + // We have more data following the EOI, which is unexpected. There + // might be non-standard cruft at the end of the file. Terminate the + // parse because the file-structure is, technically, complete at this + // point. + + return 0, io.EOF + } else { + js.lastIsScanData = false + } + + // If we're here, we're supposed to be sitting on the 0xff bytes at the + // beginning of a segment (just before the marker). + + if data[0] != 0xff { + log.Panicf("not on new segment marker @ (%d): (%02X)", js.currentOffset, data[0]) + } + + i := 0 + found := false + for ; i < chunkLength; i++ { + jpegLogger.Debugf(nil, "Prefix check: (%d) %02X", i, data[i]) + + if data[i] != 0xff { + found = true + break + } + } + + jpegLogger.Debugf(nil, "Skipped over leading 0xFF bytes: (%d)", i) + + if found == false || i >= chunkLength { + jpegLogger.Debugf(nil, "Not enough (3)") + return 0, nil + } + + markerId := data[i] + + js.lastMarkerName = markerNames[markerId] + + sizeLen, found := markerLen[markerId] + jpegLogger.Debugf(nil, "MARKER-ID=%x SIZELEN=%v FOUND=%v", markerId, sizeLen, found) + + i++ + + b := bytes.NewBuffer(data[i:]) + payloadLength := 0 + + // marker-ID + size => 2 + + headerSize := 2 + sizeLen + + if found == false { + + // It's not one of the static-length markers. Read the length. + // + // The length is an unsigned 16-bit network/big-endian. + + // marker-ID + size => 2 + 2 + headerSize = 2 + 2 + + if i+2 >= chunkLength { + jpegLogger.Debugf(nil, "Not enough (4)") + return 0, nil + } + + l := uint16(0) + err = binary.Read(b, binary.BigEndian, &l) + log.PanicIf(err) + + if l <= 2 { + log.Panicf("length of size read for non-special marker (%02x) is unexpectedly not more than two.", markerId) + } + + // (l includes the bytes of the length itself.) + payloadLength = int(l) - 2 + jpegLogger.Debugf(nil, "DataLength (dynamically-sized segment): (%d)", payloadLength) + + i += 2 + } else if sizeLen > 0 { + + // Accommodates the non-zero markers in our marker index, which only + // represent J2C extensions. + // + // The length is an unsigned 32-bit network/big-endian. + + // TODO(dustin): !! This needs to be tested, but we need an image. + + if sizeLen != 4 { + log.Panicf("known non-zero marker is not four bytes, which is not currently handled: M=(%x)", markerId) + } + + if i+4 >= chunkLength { + jpegLogger.Debugf(nil, "Not enough (5)") + return 0, nil + } + + l := uint32(0) + err = binary.Read(b, binary.BigEndian, &l) + log.PanicIf(err) + + payloadLength = int(l) - 4 + jpegLogger.Debugf(nil, "DataLength (four-byte-length segment): (%u)", l) + + i += 4 + } + + jpegLogger.Debugf(nil, "PAYLOAD-LENGTH: %d", payloadLength) + + payload := data[i:] + + if payloadLength < 0 { + log.Panicf("payload length less than zero: (%d)", payloadLength) + } + + i += int(payloadLength) + + if i > chunkLength { + jpegLogger.Debugf(nil, "Not enough (6)") + return 0, nil + } + + jpegLogger.Debugf(nil, "Found whole segment.") + + js.lastMarkerId = markerId + + payloadWindow := payload[:payloadLength] + err = js.handleSegment(markerId, js.lastMarkerName, headerSize, payloadWindow) + log.PanicIf(err) + + js.counter++ + + jpegLogger.Debugf(nil, "Returning advance of (%d)", i) + + return i, nil +} + +func (js *JpegSplitter) scanDataIsNext() bool { + return js.lastMarkerId == MARKER_SOS +} + +// Split is the base splitting function that satisfies `bufio.SplitFunc`. +func (js *JpegSplitter) Split(data []byte, atEOF bool) (advance int, token []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + for len(data) > 0 { + currentAdvance, err := js.readSegment(data) + if err != nil { + if err == io.EOF { + // We've encountered an EOI marker. + return 0, nil, err + } + + log.Panic(err) + } + + if currentAdvance == 0 { + if len(data) > 0 && atEOF == true { + // Provide a little context in the error message. + + if js.scanDataIsNext() == true { + // Yes, we've ran into this. + + log.Panicf("scan-data is unbounded; EOI not encountered before EOF") + } else { + log.Panicf("partial segment data encountered before scan-data") + } + } + + // We don't have enough data for another segment. + break + } + + data = data[currentAdvance:] + advance += currentAdvance + } + + return advance, nil, nil +} + +func (js *JpegSplitter) parseSof(data []byte) (sof *SofSegment, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + stream := bytes.NewBuffer(data) + buffer := bufio.NewReader(stream) + + bitsPerSample, err := buffer.ReadByte() + log.PanicIf(err) + + height := uint16(0) + err = binary.Read(buffer, binary.BigEndian, &height) + log.PanicIf(err) + + width := uint16(0) + err = binary.Read(buffer, binary.BigEndian, &width) + log.PanicIf(err) + + componentCount, err := buffer.ReadByte() + log.PanicIf(err) + + sof = &SofSegment{ + BitsPerSample: bitsPerSample, + Width: width, + Height: height, + ComponentCount: componentCount, + } + + return sof, nil +} + +func (js *JpegSplitter) parseAppData(markerId byte, data []byte) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + return nil +} + +func (js *JpegSplitter) handleSegment(markerId byte, markerName string, headerSize int, payload []byte) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + cloned := make([]byte, len(payload)) + copy(cloned, payload) + + s := &Segment{ + MarkerId: markerId, + MarkerName: markerName, + Offset: js.currentOffset, + Data: cloned, + } + + jpegLogger.Debugf(nil, "Encountered marker (0x%02x) [%s] at offset (%d)", markerId, markerName, js.currentOffset) + + js.currentOffset += headerSize + len(payload) + + js.segments.Add(s) + + sv, ok := js.visitor.(SegmentVisitor) + if ok == true { + err = sv.HandleSegment(js.lastMarkerId, js.lastMarkerName, js.counter, js.lastIsScanData) + log.PanicIf(err) + } + + if markerId >= MARKER_SOF0 && markerId <= MARKER_SOF15 { + ssv, ok := js.visitor.(SofSegmentVisitor) + if ok == true { + sof, err := js.parseSof(payload) + log.PanicIf(err) + + err = ssv.HandleSof(sof) + log.PanicIf(err) + } + } else if markerId >= MARKER_APP0 && markerId <= MARKER_APP15 { + err := js.parseAppData(markerId, payload) + log.PanicIf(err) + } + + return nil +} diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/testing_common.go b/vendor/github.com/dsoprea/go-jpeg-image-structure/testing_common.go new file mode 100644 index 000000000..e7169c2f0 --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/testing_common.go @@ -0,0 +1,73 @@ +package jpegstructure + +import ( + "os" + "path" + + "github.com/dsoprea/go-logging" +) + +var ( + testImageRelFilepath = "NDM_8901.jpg" +) + +var ( + moduleRootPath = "" + assetsPath = "" +) + +// GetModuleRootPath returns the root-path of the module. +func GetModuleRootPath() string { + if moduleRootPath == "" { + moduleRootPath = os.Getenv("JPEG_MODULE_ROOT_PATH") + if moduleRootPath != "" { + return moduleRootPath + } + + currentWd, err := os.Getwd() + log.PanicIf(err) + + currentPath := currentWd + visited := make([]string, 0) + + for { + tryStampFilepath := path.Join(currentPath, ".MODULE_ROOT") + + _, err := os.Stat(tryStampFilepath) + if err != nil && os.IsNotExist(err) != true { + log.Panic(err) + } else if err == nil { + break + } + + visited = append(visited, tryStampFilepath) + + currentPath = path.Dir(currentPath) + if currentPath == "/" { + log.Panicf("could not find module-root: %v", visited) + } + } + + moduleRootPath = currentPath + } + + return moduleRootPath +} + +// GetTestAssetsPath returns the path of the test-assets. +func GetTestAssetsPath() string { + if assetsPath == "" { + moduleRootPath := GetModuleRootPath() + assetsPath = path.Join(moduleRootPath, "assets") + } + + return assetsPath +} + +// GetTestImageFilepath returns the file-path of the common test-image. +func GetTestImageFilepath() string { + assetsPath := GetTestAssetsPath() + filepath := path.Join(assetsPath, testImageRelFilepath) + + return filepath +} diff --git a/vendor/github.com/dsoprea/go-jpeg-image-structure/utility.go b/vendor/github.com/dsoprea/go-jpeg-image-structure/utility.go new file mode 100644 index 000000000..1c618ba6d --- /dev/null +++ b/vendor/github.com/dsoprea/go-jpeg-image-structure/utility.go @@ -0,0 +1,110 @@ +package jpegstructure + +import ( + "bytes" + "fmt" + "sort" + "strings" + + "github.com/dsoprea/go-logging" + "github.com/go-xmlfmt/xmlfmt" +) + +// DumpBytes prints the hex for a given byte-slice. +func DumpBytes(data []byte) { + fmt.Printf("DUMP: ") + for _, x := range data { + fmt.Printf("%02x ", x) + } + + fmt.Printf("\n") +} + +// DumpBytesClause prints a Go-formatted byte-slice expression. +func DumpBytesClause(data []byte) { + fmt.Printf("DUMP: ") + + fmt.Printf("[]byte { ") + + for i, x := range data { + fmt.Printf("0x%02x", x) + + if i < len(data)-1 { + fmt.Printf(", ") + } + } + + fmt.Printf(" }\n") +} + +// DumpBytesToString returns a string of hex-encoded bytes. +func DumpBytesToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("%02x", x)) + log.PanicIf(err) + + if i < len(data)-1 { + _, err := b.WriteRune(' ') + log.PanicIf(err) + } + } + + return b.String() +} + +// DumpBytesClauseToString returns a string of Go-formatted byte values. +func DumpBytesClauseToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("0x%02x", x)) + log.PanicIf(err) + + if i < len(data)-1 { + _, err := b.WriteString(", ") + log.PanicIf(err) + } + } + + return b.String() +} + +// FormatXml prettifies XML data. +func FormatXml(raw string) (formatted string, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + formatted = xmlfmt.FormatXML(raw, " ", " ") + formatted = strings.TrimSpace(formatted) + + return formatted, nil +} + +// SortStringStringMap sorts a string-string dictionary and returns it as a list +// of 2-tuples. +func SortStringStringMap(data map[string]string) (sorted [][2]string) { + // Sort keys. + + sortedKeys := make([]string, len(data)) + i := 0 + for key := range data { + sortedKeys[i] = key + i++ + } + + sort.Strings(sortedKeys) + + // Build result. + + sorted = make([][2]string, len(sortedKeys)) + for i, key := range sortedKeys { + sorted[i] = [2]string{key, data[key]} + } + + return sorted +} diff --git a/vendor/github.com/dsoprea/go-logging/.travis.yml b/vendor/github.com/dsoprea/go-logging/.travis.yml new file mode 100644 index 000000000..e37da4ba8 --- /dev/null +++ b/vendor/github.com/dsoprea/go-logging/.travis.yml @@ -0,0 +1,12 @@ +language: go +go: + - tip +install: + - go get -t ./... + - go get github.com/mattn/goveralls +script: +# v1 + - go test -v . +# v2 + - cd v2 + - goveralls -v -service=travis-ci diff --git a/vendor/github.com/dsoprea/go-logging/LICENSE b/vendor/github.com/dsoprea/go-logging/LICENSE new file mode 100644 index 000000000..163291ed6 --- /dev/null +++ b/vendor/github.com/dsoprea/go-logging/LICENSE @@ -0,0 +1,9 @@ +MIT LICENSE + +Copyright 2020 Dustin Oprea + +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/dsoprea/go-logging/README.md b/vendor/github.com/dsoprea/go-logging/README.md new file mode 100644 index 000000000..820cd9dc0 --- /dev/null +++ b/vendor/github.com/dsoprea/go-logging/README.md @@ -0,0 +1,223 @@ +[![Build Status](https://travis-ci.org/dsoprea/go-logging.svg?branch=master)](https://travis-ci.org/dsoprea/go-logging) +[![Coverage Status](https://coveralls.io/repos/github/dsoprea/go-logging/badge.svg?branch=master)](https://coveralls.io/github/dsoprea/go-logging?branch=master) +[![Go Report Card](https://goreportcard.com/badge/github.com/dsoprea/go-logging/v2)](https://goreportcard.com/report/github.com/dsoprea/go-logging/v2) +[![GoDoc](https://godoc.org/github.com/dsoprea/go-logging/v2?status.svg)](https://godoc.org/github.com/dsoprea/go-logging/v2) + +## Introduction + +This project bridges several gaps that are present in the standard logging support in Go: + +- Equips errors with stacktraces and provides a facility for printing them +- Inherently supports the ability for each Go file to print its messages with a prefix representing that file/package +- Adds some functions to specifically log messages of different levels (e.g. debug, error) +- Adds a `PanicIf()` function that can be used to conditionally manage errors depending on whether an error variable is `nil` or actually has an error +- Adds support for pluggable logging adapters (so the output can be sent somewhere other than the console) +- Adds configuration (such as the logging level or adapter) that can be driven from the environment +- Supports filtering to show/hide the logging of certain places of the application +- The loggers can be definded at the package level, so you can determine which Go file any log message came from. + +When used with the Panic-Defer-Recover pattern in Go, even panics rising from the Go runtime will be caught and wrapped with a stacktrace. This compartmentalizes which function they could have originated from, which is, otherwise, potentially non-trivial to figure out. + +## AppEngine + +Go under AppEngine is very stripped down, such as there being no logging type (e.g. `Logger` in native Go) and there is no support for prefixing. As each logging call from this project takes a `Context`, this works cooperatively to bridge the additional gaps in AppEngine's logging support. + +With standard console logging outside of this context, that parameter will take a`nil`. + + +## Getting Started + +The simplest, possible example: + +```go +package thispackage + +import ( + "context" + "errors" + + "github.com/dsoprea/go-logging/v2" +) + +var ( + thisfileLog = log.NewLogger("thispackage.thisfile") +) + +func a_cry_for_help(ctx context.Context) { + err := errors.New("a big error") + thisfileLog.Errorf(ctx, err, "How big is my problem: %s", "pretty big") +} + +func init() { + cla := log.NewConsoleLogAdapter() + log.AddAdapter("console", cla) +} +``` + +Notice two things: + +1. We register the "console" adapter at the bottom. The first adapter registered will be used by default. +2. We pass-in a prefix (what we refer to as a "noun") to `log.NewLogger()`. This is a simple, descriptive name that represents the subject of the file. By convention, we construct this by dot-separating the current package and the name of the file. We recommend that you define a different log for every file at the package level, but it is your choice whether you want to do this or share the same logger over the entire package, define one in each struct, etc.. + + +### Example Output + +Example output from a real application (not from the above): + +``` +2016/09/09 12:57:44 DEBUG: user: User revisiting: [test@example.com] +2016/09/09 12:57:44 DEBUG: context: Session already inited: [DCRBDGRY6RMWANCSJXVLD7GULDH4NZEB6SBAQ3KSFIGA2LP45IIQ] +2016/09/09 12:57:44 DEBUG: session_data: Session save not necessary: [DCRBDGRY6RMWANCSJXVLD7GULDH4NZEB6SBAQ3KSFIGA2LP45IIQ] +2016/09/09 12:57:44 DEBUG: context: Got session: [DCRBDGRY6RMWANCSJXVLD7GULDH4NZEB6SBAQ3KSFIGA2LP45IIQ] +2016/09/09 12:57:44 DEBUG: session_data: Found user in session. +2016/09/09 12:57:44 DEBUG: cache: Cache miss: [geo.geocode.reverse:dhxp15x] +``` + + +## Adapters + +This project provides one built-in logging adapter, "console", which prints to the screen. To register it: + +```go +cla := log.NewConsoleLogAdapter() +log.AddAdapter("console", cla) +``` + +### Custom Adapters + +If you would like to implement your own logger, just create a struct type that satisfies the LogAdapter interface. + +```go +type LogAdapter interface { + Debugf(lc *LogContext, message *string) error + Infof(lc *LogContext, message *string) error + Warningf(lc *LogContext, message *string) error + Errorf(lc *LogContext, message *string) error +} +``` + +The *LogContext* struct passed in provides additional information that you may need in order to do what you need to do: + +```go +type LogContext struct { + Logger *Logger + Ctx context.Context +} +``` + +`Logger` represents your Logger instance. + +Adapter example: + +```go +type DummyLogAdapter struct { + +} + +func (dla *DummyLogAdapter) Debugf(lc *LogContext, message *string) error { + +} + +func (dla *DummyLogAdapter) Infof(lc *LogContext, message *string) error { + +} + +func (dla *DummyLogAdapter) Warningf(lc *LogContext, message *string) error { + +} + +func (dla *DummyLogAdapter) Errorf(lc *LogContext, message *string) error { + +} +``` + +Then, register it: + +```go +func init() { + log.AddAdapter("dummy", new(DummyLogAdapter)) +} +``` + +If this is a task-specific implementation, just register it from the `init()` of the file that defines it. + +If this is the first adapter you've registered, it will be the default one used. Otherwise, you'll have to deliberately specify it when you are creating a logger: Instead of calling `log.NewLogger(noun string)`, call `log.NewLoggerWithAdapterName(noun string, adapterName string)`. + +We discuss how to configure the adapter from configuration in the "Configuration" section below. + + +### Adapter Notes + +- The `Logger` instance exports `Noun()` in the event you want to discriminate where your log entries go in your adapter. It also exports `Adapter()` for if you need to access the adapter instance from your application. +- If no adapter is registered (specifically, the default adapter-name remains empty), logging calls will be a no-op. This allows libraries to implement *go-logging* where the larger application doesn't. + + +## Filters + +We support the ability to exclusively log for a specific set of nouns (we'll exclude any not specified): + +```go +log.AddIncludeFilter("nountoshow1") +log.AddIncludeFilter("nountoshow2") +``` + +Depending on your needs, you might just want to exclude a couple and include the rest: + +```go +log.AddExcludeFilter("nountohide1") +log.AddExcludeFilter("nountohide2") +``` + +We'll first hit the include-filters. If it's in there, we'll forward the log item to the adapter. If not, and there is at least one include filter in the list, we won't do anything. If the list of include filters is empty but the noun appears in the exclude list, we won't do anything. + +It is a good convention to exclude the nouns of any library you are writing whose logging you do not want to generally be aware of unless you are debugging. You might call `AddExcludeFilter()` from the `init()` function at the bottom of those files unless there is some configuration variable, such as "(LibraryNameHere)DoShowLogging", that has been defined and set to TRUE. + + +## Configuration + +The following configuration items are available: + +- *Format*: The default format used to build the message that gets sent to the adapter. It is assumed that the adapter already prefixes the message with time and log-level (since the default AppEngine logger does). The default value is: `{{.Noun}}: [{{.Level}}] {{if eq .ExcludeBypass true}} [BYPASS]{{end}} {{.Message}}`. The available tokens are "Level", "Noun", "ExcludeBypass", and "Message". +- *DefaultAdapterName*: The default name of the adapter to use when NewLogger() is called (if this isn't defined then the name of the first registered adapter will be used). +- *LevelName*: The priority-level of messages permitted to be logged (all others will be discarded). By default, it is "info". Other levels are: "debug", "warning", "error", "critical" +- *IncludeNouns*: Comma-separated list of nouns to log for. All others will be ignored. +- *ExcludeNouns*: Comma-separated list on nouns to exclude from logging. +- *ExcludeBypassLevelName*: The log-level at which we will show logging for nouns that have been excluded. Allows you to hide excessive, unimportant logging for nouns but to still see their warnings, errors, etc... + + +### Configuration Providers + +You provide the configuration by setting a configuration-provider. Configuration providers must satisfy the `ConfigurationProvider` interface. The following are provided with the project: + +- `EnvironmentConfigurationProvider`: Read values from the environment. +- `StaticConfigurationProvider`: Set values directly on the struct. + +**The configuration provider must be applied before doing any logging (otherwise it will have no effect).** + +Environments such as AppEngine work best with `EnvironmentConfigurationProvider` as this is generally how configuration is exposed *by* AppEngine *to* the application. You can define this configuration directly in *that* configuration. + +By default, no configuration-provider is applied, the level is defaulted to INFO and the format is defaulted to "{{.Noun}}:{{if eq .ExcludeBypass true}} [BYPASS]{{end}} {{.Message}}". + +Again, if a configuration-provider does not provide a log-level or format, they will be defaulted (or left alone, if already set). If it does not provide an adapter-name, the adapter-name of the first registered adapter will be used. + +Usage instructions of both follow. + + +### Environment-Based Configuration + +```go +ecp := log.NewEnvironmentConfigurationProvider() +log.LoadConfiguration(ecp) +``` + +Each of the items listed at the top of the "Configuration" section can be specified in the environment using a prefix of "Log" (e.g. LogDefaultAdapterName). + + +### Static Configuration + +```go +scp := log.NewStaticConfigurationProvider() +scp.SetLevelName(log.LevelNameWarning) + +log.LoadConfiguration(scp) +``` diff --git a/vendor/github.com/dsoprea/go-logging/config.go b/vendor/github.com/dsoprea/go-logging/config.go new file mode 100644 index 000000000..20896e342 --- /dev/null +++ b/vendor/github.com/dsoprea/go-logging/config.go @@ -0,0 +1,246 @@ +package log + +import ( + "fmt" + "os" +) + +// Config keys. +const ( + ckFormat = "LogFormat" + ckDefaultAdapterName = "LogDefaultAdapterName" + ckLevelName = "LogLevelName" + ckIncludeNouns = "LogIncludeNouns" + ckExcludeNouns = "LogExcludeNouns" + ckExcludeBypassLevelName = "LogExcludeBypassLevelName" +) + +// Other constants +const ( + defaultFormat = "{{.Noun}}: [{{.Level}}] {{if eq .ExcludeBypass true}} [BYPASS]{{end}} {{.Message}}" + defaultLevelName = LevelNameInfo +) + +// Config +var ( + // Alternative format. + format = defaultFormat + + // Alternative adapter. + defaultAdapterName = "" + + // Alternative level at which to display log-items + levelName = defaultLevelName + + // Configuration-driven comma-separated list of nouns to include. + includeNouns = "" + + // Configuration-driven comma-separated list of nouns to exclude. + excludeNouns = "" + + // Level at which to disregard exclusion (if the severity of a message + // meets or exceed this, always display). + excludeBypassLevelName = "" +) + +// Other +var ( + configurationLoaded = false +) + +// Return the current default adapter name. +func GetDefaultAdapterName() string { + return defaultAdapterName +} + +// The adapter will automatically be the first one registered. This overrides +// that. +func SetDefaultAdapterName(name string) { + defaultAdapterName = name +} + +func LoadConfiguration(cp ConfigurationProvider) { + configuredDefaultAdapterName := cp.DefaultAdapterName() + + if configuredDefaultAdapterName != "" { + defaultAdapterName = configuredDefaultAdapterName + } + + includeNouns = cp.IncludeNouns() + excludeNouns = cp.ExcludeNouns() + excludeBypassLevelName = cp.ExcludeBypassLevelName() + + f := cp.Format() + if f != "" { + format = f + } + + ln := cp.LevelName() + if ln != "" { + levelName = ln + } + + configurationLoaded = true +} + +func getConfigState() map[string]interface{} { + return map[string]interface{}{ + "format": format, + "defaultAdapterName": defaultAdapterName, + "levelName": levelName, + "includeNouns": includeNouns, + "excludeNouns": excludeNouns, + "excludeBypassLevelName": excludeBypassLevelName, + } +} + +func setConfigState(config map[string]interface{}) { + format = config["format"].(string) + + defaultAdapterName = config["defaultAdapterName"].(string) + levelName = config["levelName"].(string) + includeNouns = config["includeNouns"].(string) + excludeNouns = config["excludeNouns"].(string) + excludeBypassLevelName = config["excludeBypassLevelName"].(string) +} + +func getConfigDump() string { + return fmt.Sprintf( + "Current configuration:\n"+ + " FORMAT=[%s]\n"+ + " DEFAULT-ADAPTER-NAME=[%s]\n"+ + " LEVEL-NAME=[%s]\n"+ + " INCLUDE-NOUNS=[%s]\n"+ + " EXCLUDE-NOUNS=[%s]\n"+ + " EXCLUDE-BYPASS-LEVEL-NAME=[%s]", + format, defaultAdapterName, levelName, includeNouns, excludeNouns, excludeBypassLevelName) +} + +func IsConfigurationLoaded() bool { + return configurationLoaded +} + +type ConfigurationProvider interface { + // Alternative format (defaults to . + Format() string + + // Alternative adapter (defaults to "appengine"). + DefaultAdapterName() string + + // Alternative level at which to display log-items (defaults to + // "info"). + LevelName() string + + // Configuration-driven comma-separated list of nouns to include. Defaults + // to empty. + IncludeNouns() string + + // Configuration-driven comma-separated list of nouns to exclude. Defaults + // to empty. + ExcludeNouns() string + + // Level at which to disregard exclusion (if the severity of a message + // meets or exceed this, always display). Defaults to empty. + ExcludeBypassLevelName() string +} + +// Environment configuration-provider. +type EnvironmentConfigurationProvider struct { +} + +func NewEnvironmentConfigurationProvider() *EnvironmentConfigurationProvider { + return new(EnvironmentConfigurationProvider) +} + +func (ecp *EnvironmentConfigurationProvider) Format() string { + return os.Getenv(ckFormat) +} + +func (ecp *EnvironmentConfigurationProvider) DefaultAdapterName() string { + return os.Getenv(ckDefaultAdapterName) +} + +func (ecp *EnvironmentConfigurationProvider) LevelName() string { + return os.Getenv(ckLevelName) +} + +func (ecp *EnvironmentConfigurationProvider) IncludeNouns() string { + return os.Getenv(ckIncludeNouns) +} + +func (ecp *EnvironmentConfigurationProvider) ExcludeNouns() string { + return os.Getenv(ckExcludeNouns) +} + +func (ecp *EnvironmentConfigurationProvider) ExcludeBypassLevelName() string { + return os.Getenv(ckExcludeBypassLevelName) +} + +// Static configuration-provider. +type StaticConfigurationProvider struct { + format string + defaultAdapterName string + levelName string + includeNouns string + excludeNouns string + excludeBypassLevelName string +} + +func NewStaticConfigurationProvider() *StaticConfigurationProvider { + return new(StaticConfigurationProvider) +} + +func (scp *StaticConfigurationProvider) SetFormat(format string) { + scp.format = format +} + +func (scp *StaticConfigurationProvider) SetDefaultAdapterName(adapterName string) { + scp.defaultAdapterName = adapterName +} + +func (scp *StaticConfigurationProvider) SetLevelName(levelName string) { + scp.levelName = levelName +} + +func (scp *StaticConfigurationProvider) SetIncludeNouns(includeNouns string) { + scp.includeNouns = includeNouns +} + +func (scp *StaticConfigurationProvider) SetExcludeNouns(excludeNouns string) { + scp.excludeNouns = excludeNouns +} + +func (scp *StaticConfigurationProvider) SetExcludeBypassLevelName(excludeBypassLevelName string) { + scp.excludeBypassLevelName = excludeBypassLevelName +} + +func (scp *StaticConfigurationProvider) Format() string { + return scp.format +} + +func (scp *StaticConfigurationProvider) DefaultAdapterName() string { + return scp.defaultAdapterName +} + +func (scp *StaticConfigurationProvider) LevelName() string { + return scp.levelName +} + +func (scp *StaticConfigurationProvider) IncludeNouns() string { + return scp.includeNouns +} + +func (scp *StaticConfigurationProvider) ExcludeNouns() string { + return scp.excludeNouns +} + +func (scp *StaticConfigurationProvider) ExcludeBypassLevelName() string { + return scp.excludeBypassLevelName +} + +func init() { + // Do the initial configuration-load from the environment. We gotta seed it + // with something for simplicity's sake. + ecp := NewEnvironmentConfigurationProvider() + LoadConfiguration(ecp) +} diff --git a/vendor/github.com/dsoprea/go-logging/console_adapter.go b/vendor/github.com/dsoprea/go-logging/console_adapter.go new file mode 100644 index 000000000..c63a2911c --- /dev/null +++ b/vendor/github.com/dsoprea/go-logging/console_adapter.go @@ -0,0 +1,36 @@ +package log + +import ( + golog "log" +) + +type ConsoleLogAdapter struct { +} + +func NewConsoleLogAdapter() LogAdapter { + return new(ConsoleLogAdapter) +} + +func (cla *ConsoleLogAdapter) Debugf(lc *LogContext, message *string) error { + golog.Println(*message) + + return nil +} + +func (cla *ConsoleLogAdapter) Infof(lc *LogContext, message *string) error { + golog.Println(*message) + + return nil +} + +func (cla *ConsoleLogAdapter) Warningf(lc *LogContext, message *string) error { + golog.Println(*message) + + return nil +} + +func (cla *ConsoleLogAdapter) Errorf(lc *LogContext, message *string) error { + golog.Println(*message) + + return nil +} diff --git a/vendor/github.com/dsoprea/go-logging/go.mod b/vendor/github.com/dsoprea/go-logging/go.mod new file mode 100644 index 000000000..1d421c210 --- /dev/null +++ b/vendor/github.com/dsoprea/go-logging/go.mod @@ -0,0 +1,8 @@ +module github.com/dsoprea/go-logging + +go 1.13 + +require ( + github.com/go-errors/errors v1.0.2 + golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5 +) diff --git a/vendor/github.com/dsoprea/go-logging/go.sum b/vendor/github.com/dsoprea/go-logging/go.sum new file mode 100644 index 000000000..737781b31 --- /dev/null +++ b/vendor/github.com/dsoprea/go-logging/go.sum @@ -0,0 +1,8 @@ +github.com/go-errors/errors v1.0.2 h1:xMxH9j2fNg/L4hLn/4y3M0IUsn0M6Wbu/Uh9QlOfBh4= +github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5 h1:WQ8q63x+f/zpC8Ac1s9wLElVoHhm32p6tudrU72n1QA= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/vendor/github.com/dsoprea/go-logging/log.go b/vendor/github.com/dsoprea/go-logging/log.go new file mode 100644 index 000000000..84117a92e --- /dev/null +++ b/vendor/github.com/dsoprea/go-logging/log.go @@ -0,0 +1,537 @@ +package log + +import ( + "bytes" + e "errors" + "fmt" + "strings" + "sync" + + "text/template" + + "github.com/go-errors/errors" + "golang.org/x/net/context" +) + +// TODO(dustin): Finish symbol documentation + +// Config severity integers. +const ( + LevelDebug = iota + LevelInfo = iota + LevelWarning = iota + LevelError = iota +) + +// Config severity names. +const ( + LevelNameDebug = "debug" + LevelNameInfo = "info" + LevelNameWarning = "warning" + LevelNameError = "error" +) + +// Seveirty name->integer map. +var ( + LevelNameMap = map[string]int{ + LevelNameDebug: LevelDebug, + LevelNameInfo: LevelInfo, + LevelNameWarning: LevelWarning, + LevelNameError: LevelError, + } + + LevelNameMapR = map[int]string{ + LevelDebug: LevelNameDebug, + LevelInfo: LevelNameInfo, + LevelWarning: LevelNameWarning, + LevelError: LevelNameError, + } +) + +// Errors +var ( + ErrAdapterAlreadyRegistered = e.New("adapter already registered") + ErrFormatEmpty = e.New("format is empty") + ErrExcludeLevelNameInvalid = e.New("exclude bypass-level is invalid") + ErrNoAdapterConfigured = e.New("no default adapter configured") + ErrAdapterIsNil = e.New("adapter is nil") + ErrConfigurationNotLoaded = e.New("can not configure because configuration is not loaded") +) + +// Other +var ( + includeFilters = make(map[string]bool) + useIncludeFilters = false + excludeFilters = make(map[string]bool) + useExcludeFilters = false + + adapters = make(map[string]LogAdapter) + + // TODO(dustin): !! Finish implementing this. + excludeBypassLevel = -1 +) + +// Add global include filter. +func AddIncludeFilter(noun string) { + includeFilters[noun] = true + useIncludeFilters = true +} + +// Remove global include filter. +func RemoveIncludeFilter(noun string) { + delete(includeFilters, noun) + if len(includeFilters) == 0 { + useIncludeFilters = false + } +} + +// Add global exclude filter. +func AddExcludeFilter(noun string) { + excludeFilters[noun] = true + useExcludeFilters = true +} + +// Remove global exclude filter. +func RemoveExcludeFilter(noun string) { + delete(excludeFilters, noun) + if len(excludeFilters) == 0 { + useExcludeFilters = false + } +} + +func AddAdapter(name string, la LogAdapter) { + if _, found := adapters[name]; found == true { + Panic(ErrAdapterAlreadyRegistered) + } + + if la == nil { + Panic(ErrAdapterIsNil) + } + + adapters[name] = la + + if GetDefaultAdapterName() == "" { + SetDefaultAdapterName(name) + } +} + +func ClearAdapters() { + adapters = make(map[string]LogAdapter) + SetDefaultAdapterName("") +} + +type LogAdapter interface { + Debugf(lc *LogContext, message *string) error + Infof(lc *LogContext, message *string) error + Warningf(lc *LogContext, message *string) error + Errorf(lc *LogContext, message *string) error +} + +// TODO(dustin): !! Also populate whether we've bypassed an exception so that +// we can add a template macro to prefix an exclamation of +// some sort. +type MessageContext struct { + Level *string + Noun *string + Message *string + ExcludeBypass bool +} + +type LogContext struct { + Logger *Logger + Ctx context.Context +} + +type Logger struct { + isConfigured bool + an string + la LogAdapter + t *template.Template + systemLevel int + noun string +} + +func NewLoggerWithAdapterName(noun string, adapterName string) (l *Logger) { + l = &Logger{ + noun: noun, + an: adapterName, + } + + return l +} + +func NewLogger(noun string) (l *Logger) { + l = NewLoggerWithAdapterName(noun, "") + + return l +} + +func (l *Logger) Noun() string { + return l.noun +} + +func (l *Logger) Adapter() LogAdapter { + return l.la +} + +var ( + configureMutex sync.Mutex +) + +func (l *Logger) doConfigure(force bool) { + configureMutex.Lock() + defer configureMutex.Unlock() + + if l.isConfigured == true && force == false { + return + } + + if IsConfigurationLoaded() == false { + Panic(ErrConfigurationNotLoaded) + } + + if l.an == "" { + l.an = GetDefaultAdapterName() + } + + // If this is empty, then no specific adapter was given or no system + // default was configured (which implies that no adapters were registered). + // All of our logging will be skipped. + if l.an != "" { + la, found := adapters[l.an] + if found == false { + Panic(fmt.Errorf("adapter is not valid: %s", l.an)) + } + + l.la = la + } + + // Set the level. + + systemLevel, found := LevelNameMap[levelName] + if found == false { + Panic(fmt.Errorf("log-level not valid: [%s]", levelName)) + } + + l.systemLevel = systemLevel + + // Set the form. + + if format == "" { + Panic(ErrFormatEmpty) + } + + if t, err := template.New("logItem").Parse(format); err != nil { + Panic(err) + } else { + l.t = t + } + + l.isConfigured = true +} + +func (l *Logger) flattenMessage(lc *MessageContext, format *string, args []interface{}) (string, error) { + m := fmt.Sprintf(*format, args...) + + lc.Message = &m + + var b bytes.Buffer + if err := l.t.Execute(&b, *lc); err != nil { + return "", err + } + + return b.String(), nil +} + +func (l *Logger) allowMessage(noun string, level int) bool { + if _, found := includeFilters[noun]; found == true { + return true + } + + // If we didn't hit an include filter and we *had* include filters, filter + // it out. + if useIncludeFilters == true { + return false + } + + if _, found := excludeFilters[noun]; found == true { + return false + } + + return true +} + +func (l *Logger) makeLogContext(ctx context.Context) *LogContext { + return &LogContext{ + Ctx: ctx, + Logger: l, + } +} + +type LogMethod func(lc *LogContext, message *string) error + +func (l *Logger) log(ctx context.Context, level int, lm LogMethod, format string, args []interface{}) error { + if l.systemLevel > level { + return nil + } + + // Preempt the normal filter checks if we can unconditionally allow at a + // certain level and we've hit that level. + // + // Notice that this is only relevant if the system-log level is letting + // *anything* show logs at the level we came in with. + canExcludeBypass := level >= excludeBypassLevel && excludeBypassLevel != -1 + didExcludeBypass := false + + n := l.Noun() + + if l.allowMessage(n, level) == false { + if canExcludeBypass == false { + return nil + } else { + didExcludeBypass = true + } + } + + levelName, found := LevelNameMapR[level] + if found == false { + Panic(fmt.Errorf("level not valid: (%d)", level)) + } + + levelName = strings.ToUpper(levelName) + + lc := &MessageContext{ + Level: &levelName, + Noun: &n, + ExcludeBypass: didExcludeBypass, + } + + if s, err := l.flattenMessage(lc, &format, args); err != nil { + return err + } else { + lc := l.makeLogContext(ctx) + if err := lm(lc, &s); err != nil { + panic(err) + } + + return e.New(s) + } +} + +func (l *Logger) Debugf(ctx context.Context, format string, args ...interface{}) { + l.doConfigure(false) + + if l.la != nil { + l.log(ctx, LevelDebug, l.la.Debugf, format, args) + } +} + +func (l *Logger) Infof(ctx context.Context, format string, args ...interface{}) { + l.doConfigure(false) + + if l.la != nil { + l.log(ctx, LevelInfo, l.la.Infof, format, args) + } +} + +func (l *Logger) Warningf(ctx context.Context, format string, args ...interface{}) { + l.doConfigure(false) + + if l.la != nil { + l.log(ctx, LevelWarning, l.la.Warningf, format, args) + } +} + +func (l *Logger) mergeStack(err interface{}, format string, args []interface{}) (string, []interface{}) { + if format != "" { + format += "\n%s" + } else { + format = "%s" + } + + var stackified *errors.Error + stackified, ok := err.(*errors.Error) + if ok == false { + stackified = errors.Wrap(err, 2) + } + + args = append(args, stackified.ErrorStack()) + + return format, args +} + +func (l *Logger) Errorf(ctx context.Context, errRaw interface{}, format string, args ...interface{}) { + l.doConfigure(false) + + var err interface{} + + if errRaw != nil { + _, ok := errRaw.(*errors.Error) + if ok == true { + err = errRaw + } else { + err = errors.Wrap(errRaw, 1) + } + } + + if l.la != nil { + if errRaw != nil { + format, args = l.mergeStack(err, format, args) + } + + l.log(ctx, LevelError, l.la.Errorf, format, args) + } +} + +func (l *Logger) ErrorIff(ctx context.Context, errRaw interface{}, format string, args ...interface{}) { + if errRaw == nil { + return + } + + var err interface{} + + _, ok := errRaw.(*errors.Error) + if ok == true { + err = errRaw + } else { + err = errors.Wrap(errRaw, 1) + } + + l.Errorf(ctx, err, format, args...) +} + +func (l *Logger) Panicf(ctx context.Context, errRaw interface{}, format string, args ...interface{}) { + l.doConfigure(false) + + var err interface{} + + _, ok := errRaw.(*errors.Error) + if ok == true { + err = errRaw + } else { + err = errors.Wrap(errRaw, 1) + } + + if l.la != nil { + format, args = l.mergeStack(err, format, args) + err = l.log(ctx, LevelError, l.la.Errorf, format, args) + } + + Panic(err.(error)) +} + +func (l *Logger) PanicIff(ctx context.Context, errRaw interface{}, format string, args ...interface{}) { + if errRaw == nil { + return + } + + var err interface{} + + _, ok := errRaw.(*errors.Error) + if ok == true { + err = errRaw + } else { + err = errors.Wrap(errRaw, 1) + } + + l.Panicf(ctx, err.(error), format, args...) +} + +func Wrap(err interface{}) *errors.Error { + es, ok := err.(*errors.Error) + if ok == true { + return es + } else { + return errors.Wrap(err, 1) + } +} + +func Errorf(message string, args ...interface{}) *errors.Error { + err := fmt.Errorf(message, args...) + return errors.Wrap(err, 1) +} + +func Panic(err interface{}) { + _, ok := err.(*errors.Error) + if ok == true { + panic(err) + } else { + panic(errors.Wrap(err, 1)) + } +} + +func Panicf(message string, args ...interface{}) { + err := Errorf(message, args...) + Panic(err) +} + +func PanicIf(err interface{}) { + if err == nil { + return + } + + _, ok := err.(*errors.Error) + if ok == true { + panic(err) + } else { + panic(errors.Wrap(err, 1)) + } +} + +// Is checks if the left ("actual") error equals the right ("against") error. +// The right must be an unwrapped error (the kind that you'd initialize as a +// global variable). The left can be a wrapped or unwrapped error. +func Is(actual, against error) bool { + // If it's an unwrapped error. + if _, ok := actual.(*errors.Error); ok == false { + return actual == against + } + + return errors.Is(actual, against) +} + +// Print is a utility function to prevent the caller from having to import the +// third-party library. +func PrintError(err error) { + wrapped := Wrap(err) + fmt.Printf("Stack:\n\n%s\n", wrapped.ErrorStack()) +} + +// PrintErrorf is a utility function to prevent the caller from having to +// import the third-party library. +func PrintErrorf(err error, format string, args ...interface{}) { + wrapped := Wrap(err) + + fmt.Printf(format, args...) + fmt.Printf("\n") + fmt.Printf("Stack:\n\n%s\n", wrapped.ErrorStack()) +} + +func init() { + if format == "" { + format = defaultFormat + } + + if levelName == "" { + levelName = defaultLevelName + } + + if includeNouns != "" { + for _, noun := range strings.Split(includeNouns, ",") { + AddIncludeFilter(noun) + } + } + + if excludeNouns != "" { + for _, noun := range strings.Split(excludeNouns, ",") { + AddExcludeFilter(noun) + } + } + + if excludeBypassLevelName != "" { + var found bool + if excludeBypassLevel, found = LevelNameMap[excludeBypassLevelName]; found == false { + panic(ErrExcludeLevelNameInvalid) + } + } +} diff --git a/vendor/github.com/dsoprea/go-photoshop-info-format/.MODULE_ROOT b/vendor/github.com/dsoprea/go-photoshop-info-format/.MODULE_ROOT new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/dsoprea/go-photoshop-info-format/.travis.yml b/vendor/github.com/dsoprea/go-photoshop-info-format/.travis.yml new file mode 100644 index 000000000..710e46b39 --- /dev/null +++ b/vendor/github.com/dsoprea/go-photoshop-info-format/.travis.yml @@ -0,0 +1,14 @@ +language: go +go: + - master + - stable + - "1.13" + - "1.12" +env: + - GO111MODULE=on +install: + - go get -t ./... + - go get github.com/mattn/goveralls +script: + - go test -v ./... + - goveralls -v -service=travis-ci diff --git a/vendor/github.com/dsoprea/go-photoshop-info-format/LICENSE b/vendor/github.com/dsoprea/go-photoshop-info-format/LICENSE new file mode 100644 index 000000000..d92c04268 --- /dev/null +++ b/vendor/github.com/dsoprea/go-photoshop-info-format/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Dustin Oprea + +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/dsoprea/go-photoshop-info-format/README.md b/vendor/github.com/dsoprea/go-photoshop-info-format/README.md new file mode 100644 index 000000000..abbfca67a --- /dev/null +++ b/vendor/github.com/dsoprea/go-photoshop-info-format/README.md @@ -0,0 +1,8 @@ +[![Build Status](https://travis-ci.org/dsoprea/go-photoshop-info-format.svg?branch=master)](https://travis-ci.org/dsoprea/go-photoshop-info-format) +[![Coverage Status](https://coveralls.io/repos/github/dsoprea/go-photoshop-info-format/badge.svg?branch=master)](https://coveralls.io/github/dsoprea/go-photoshop-info-format?branch=master) +[![Go Report Card](https://goreportcard.com/badge/github.com/dsoprea/go-photoshop-info-format)](https://goreportcard.com/report/github.com/dsoprea/go-photoshop-info-format) +[![GoDoc](https://godoc.org/github.com/dsoprea/go-photoshop-info-format?status.svg)](https://godoc.org/github.com/dsoprea/go-photoshop-info-format) + +# Overview + +This is a minimal Photoshop format implementation to allow IPTC data to be extracted from a JPEG image. This project primarily services [go-jpeg-image-structure](https://github.com/dsoprea/go-jpeg-image-structure). diff --git a/vendor/github.com/dsoprea/go-photoshop-info-format/go.mod b/vendor/github.com/dsoprea/go-photoshop-info-format/go.mod new file mode 100644 index 000000000..02736b552 --- /dev/null +++ b/vendor/github.com/dsoprea/go-photoshop-info-format/go.mod @@ -0,0 +1,5 @@ +module github.com/dsoprea/go-photoshop-info-format + +go 1.13 + +require github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d diff --git a/vendor/github.com/dsoprea/go-photoshop-info-format/go.sum b/vendor/github.com/dsoprea/go-photoshop-info-format/go.sum new file mode 100644 index 000000000..9d20e12fd --- /dev/null +++ b/vendor/github.com/dsoprea/go-photoshop-info-format/go.sum @@ -0,0 +1,10 @@ +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d h1:F/7L5wr/fP/SKeO5HuMlNEX9Ipyx2MbH2rV9G4zJRpk= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/go-errors/errors v1.0.2 h1:xMxH9j2fNg/L4hLn/4y3M0IUsn0M6Wbu/Uh9QlOfBh4= +github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5 h1:WQ8q63x+f/zpC8Ac1s9wLElVoHhm32p6tudrU72n1QA= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/vendor/github.com/dsoprea/go-photoshop-info-format/info.go b/vendor/github.com/dsoprea/go-photoshop-info-format/info.go new file mode 100644 index 000000000..7f17fa6c0 --- /dev/null +++ b/vendor/github.com/dsoprea/go-photoshop-info-format/info.go @@ -0,0 +1,119 @@ +package photoshopinfo + +import ( + "fmt" + "io" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +var ( + defaultByteOrder = binary.BigEndian +) + +// Photoshop30InfoRecord is the data for one parsed Photoshop-info record. +type Photoshop30InfoRecord struct { + // RecordType is the record-type. + RecordType string + + // ImageResourceId is the image resource-ID. + ImageResourceId uint16 + + // Name is the name of the record. It is optional and will be an empty- + // string if not present. + Name string + + // Data is the raw record data. + Data []byte +} + +// String returns a descriptive string. +func (pir Photoshop30InfoRecord) String() string { + return fmt.Sprintf("RECORD-TYPE=[%s] IMAGE-RESOURCE-ID=[0x%04x] NAME=[%s] DATA-SIZE=(%d)", pir.RecordType, pir.ImageResourceId, pir.Name, len(pir.Data)) +} + +// ReadPhotoshop30InfoRecord parses a single photoshop-info record. +func ReadPhotoshop30InfoRecord(r io.Reader) (pir Photoshop30InfoRecord, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + recordType := make([]byte, 4) + _, err = io.ReadFull(r, recordType) + if err != nil { + if err == io.EOF { + return pir, err + } + + log.Panic(err) + } + + // TODO(dustin): Move BigEndian to constant/config. + + irId := uint16(0) + err = binary.Read(r, defaultByteOrder, &irId) + log.PanicIf(err) + + nameSize := uint8(0) + err = binary.Read(r, defaultByteOrder, &nameSize) + log.PanicIf(err) + + // Add an extra byte if the two length+data size is odd to make the total + // bytes read even. + doAddPadding := (1+nameSize)%2 == 1 + if doAddPadding == true { + nameSize++ + } + + name := make([]byte, nameSize) + _, err = io.ReadFull(r, name) + log.PanicIf(err) + + // If the last byte is padding, truncate it. + if doAddPadding == true { + name = name[:nameSize-1] + } + + dataSize := uint32(0) + err = binary.Read(r, defaultByteOrder, &dataSize) + log.PanicIf(err) + + data := make([]byte, dataSize+dataSize%2) + _, err = io.ReadFull(r, data) + log.PanicIf(err) + + data = data[:dataSize] + + pir = Photoshop30InfoRecord{ + RecordType: string(recordType), + ImageResourceId: irId, + Name: string(name), + Data: data, + } + + return pir, nil +} + +// ReadPhotoshop30Info parses a sequence of photoship-info records from the stream. +func ReadPhotoshop30Info(r io.Reader) (pirIndex map[uint16]Photoshop30InfoRecord, err error) { + pirIndex = make(map[uint16]Photoshop30InfoRecord) + + for { + pir, err := ReadPhotoshop30InfoRecord(r) + if err != nil { + if err == io.EOF { + break + } + + log.Panic(err) + } + + pirIndex[pir.ImageResourceId] = pir + } + + return pirIndex, nil +} diff --git a/vendor/github.com/dsoprea/go-photoshop-info-format/testing_common.go b/vendor/github.com/dsoprea/go-photoshop-info-format/testing_common.go new file mode 100644 index 000000000..681b117ec --- /dev/null +++ b/vendor/github.com/dsoprea/go-photoshop-info-format/testing_common.go @@ -0,0 +1,73 @@ +package photoshopinfo + +import ( + "os" + "path" + + "github.com/dsoprea/go-logging" +) + +var ( + testDataRelFilepath = "photoshop.data" +) + +var ( + moduleRootPath = "" + assetsPath = "" +) + +// GetModuleRootPath returns the root-path of the module. +func GetModuleRootPath() string { + if moduleRootPath == "" { + moduleRootPath = os.Getenv("PHOTOSHOPINFO_MODULE_ROOT_PATH") + if moduleRootPath != "" { + return moduleRootPath + } + + currentWd, err := os.Getwd() + log.PanicIf(err) + + currentPath := currentWd + visited := make([]string, 0) + + for { + tryStampFilepath := path.Join(currentPath, ".MODULE_ROOT") + + _, err := os.Stat(tryStampFilepath) + if err != nil && os.IsNotExist(err) != true { + log.Panic(err) + } else if err == nil { + break + } + + visited = append(visited, tryStampFilepath) + + currentPath = path.Dir(currentPath) + if currentPath == "/" { + log.Panicf("could not find module-root: %v", visited) + } + } + + moduleRootPath = currentPath + } + + return moduleRootPath +} + +// GetTestAssetsPath returns the path of the test-assets. +func GetTestAssetsPath() string { + if assetsPath == "" { + moduleRootPath := GetModuleRootPath() + assetsPath = path.Join(moduleRootPath, "assets") + } + + return assetsPath +} + +// GetTestDataFilepath returns the file-path of the common test-data. +func GetTestDataFilepath() string { + assetsPath := GetTestAssetsPath() + filepath := path.Join(assetsPath, testDataRelFilepath) + + return filepath +} diff --git a/vendor/github.com/dsoprea/go-png-image-structure/.MODULE_ROOT b/vendor/github.com/dsoprea/go-png-image-structure/.MODULE_ROOT new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/dsoprea/go-png-image-structure/.travis.yml b/vendor/github.com/dsoprea/go-png-image-structure/.travis.yml new file mode 100644 index 000000000..fdeab54e1 --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/.travis.yml @@ -0,0 +1,21 @@ +language: go +go: + - master + - stable + - "1.14" + - "1.13" + - "1.12" +env: + - GO111MODULE=on +install: + - go get -t ./... +script: +# v1 + - go test -v . +# v2 + - cd v2 + - go test -v . + - cd .. +after_success: + - cd v2 + - curl -s https://codecov.io/bash | bash diff --git a/vendor/github.com/dsoprea/go-png-image-structure/LICENSE b/vendor/github.com/dsoprea/go-png-image-structure/LICENSE new file mode 100644 index 000000000..163291ed6 --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/LICENSE @@ -0,0 +1,9 @@ +MIT LICENSE + +Copyright 2020 Dustin Oprea + +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/dsoprea/go-png-image-structure/README.md b/vendor/github.com/dsoprea/go-png-image-structure/README.md new file mode 100644 index 000000000..46297a2a7 --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/README.md @@ -0,0 +1,8 @@ +[![Build Status](https://travis-ci.org/dsoprea/go-png-image-structure.svg?branch=master)](https://travis-ci.org/dsoprea/go-png-image-structure) +[![codecov](https://codecov.io/gh/dsoprea/go-png-image-structure/branch/master/graph/badge.svg)](https://codecov.io/gh/dsoprea/go-png-image-structure) +[![Go Report Card](https://goreportcard.com/badge/github.com/dsoprea/go-png-image-structure/v2)](https://goreportcard.com/report/github.com/dsoprea/go-png-image-structure/v2) +[![GoDoc](https://godoc.org/github.com/dsoprea/go-png-image-structure/v2?status.svg)](https://godoc.org/github.com/dsoprea/go-png-image-structure/v2) + +## Overview + +Parse raw PNG data into individual chunks. Parse/modify EXIF data and write an updated image. diff --git a/vendor/github.com/dsoprea/go-png-image-structure/chunk_decoder.go b/vendor/github.com/dsoprea/go-png-image-structure/chunk_decoder.go new file mode 100644 index 000000000..1358c3df2 --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/chunk_decoder.go @@ -0,0 +1,89 @@ +package pngstructure + +import ( + "fmt" + "bytes" + + "encoding/binary" + + "github.com/dsoprea/go-logging" +) + +type ChunkDecoder struct { + +} + +func NewChunkDecoder() *ChunkDecoder { + return new(ChunkDecoder) +} + +func (cd *ChunkDecoder) Decode(c *Chunk) (decoded interface{}, err error) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + switch c.Type { + case "IHDR": + ihdr, err := cd.decodeIHDR(c) + log.PanicIf(err) + + return ihdr, nil + } + + // We don't decode this particular type. + return nil, nil +} + + +type ChunkIHDR struct { + Width uint32 + Height uint32 + BitDepth uint8 + ColorType uint8 + CompressionMethod uint8 + FilterMethod uint8 + InterlaceMethod uint8 +} + +func (ihdr *ChunkIHDR) String() string { + return fmt.Sprintf("IHDR", ihdr.Width, ihdr.Height, ihdr.BitDepth, ihdr.ColorType, ihdr.CompressionMethod, ihdr.FilterMethod, ihdr.InterlaceMethod) +} + +func (cd *ChunkDecoder) decodeIHDR(c *Chunk) (ihdr *ChunkIHDR, err error) { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + b := bytes.NewBuffer(c.Data) + + ihdr = new(ChunkIHDR) + + err = binary.Read(b, binary.BigEndian, &ihdr.Width) + log.PanicIf(err) + + err = binary.Read(b, binary.BigEndian, &ihdr.Height) + log.PanicIf(err) + + err = binary.Read(b, binary.BigEndian, &ihdr.BitDepth) + log.PanicIf(err) + + err = binary.Read(b, binary.BigEndian, &ihdr.ColorType) + log.PanicIf(err) + + err = binary.Read(b, binary.BigEndian, &ihdr.CompressionMethod) + log.PanicIf(err) + + err = binary.Read(b, binary.BigEndian, &ihdr.FilterMethod) + log.PanicIf(err) + + err = binary.Read(b, binary.BigEndian, &ihdr.InterlaceMethod) + log.PanicIf(err) + + return ihdr, nil +} diff --git a/vendor/github.com/dsoprea/go-png-image-structure/go.mod b/vendor/github.com/dsoprea/go-png-image-structure/go.mod new file mode 100644 index 000000000..8ea213667 --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/go.mod @@ -0,0 +1,15 @@ +module github.com/dsoprea/go-png-image-structure + +go 1.13 + +// Development only +// replace github.com/dsoprea/go-utility => ../go-utility +// replace github.com/dsoprea/go-exif/v2 => ../go-exif/v2 + +require ( + github.com/dsoprea/go-exif/v2 v2.0.0-20200604193436-ca8584a0e1c4 + github.com/dsoprea/go-exif/v3 v3.0.0-20210512043655-120bcdb2a55e // indirect + github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d + github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf + golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 // indirect +) diff --git a/vendor/github.com/dsoprea/go-png-image-structure/go.sum b/vendor/github.com/dsoprea/go-png-image-structure/go.sum new file mode 100644 index 000000000..e92059ffe --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/go.sum @@ -0,0 +1,67 @@ +github.com/dsoprea/go-exif v0.0.0-20200502203340-6aea10b45f4c h1:PoW4xOq3wUrX8ghNGiJFzem7mwd+mY/Xkgo0Z8AwcNY= +github.com/dsoprea/go-exif/v2 v2.0.0-20200113184400-90b66e3d1158 h1:DzXu3hw2xqwfd/R0QflKY/ixfrLDbMFk30D/CyJMTAM= +github.com/dsoprea/go-exif/v2 v2.0.0-20200113184400-90b66e3d1158/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E= +github.com/dsoprea/go-exif/v2 v2.0.0-20200113231207-0bbb7a3584f7 h1:+koSu4BOaLu+dy50WEj+ltzEjMzK5evzPawKxgIQerw= +github.com/dsoprea/go-exif/v2 v2.0.0-20200113231207-0bbb7a3584f7/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E= +github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4 h1:bVaiYo8amn7Lu93sz6mTlYB3EtLG9aRcMnM1Eps8fmM= +github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E= +github.com/dsoprea/go-exif/v2 v2.0.0-20200502203340-6aea10b45f4c h1:fQNBTLqL4u7yhl5AqW6dGG5RSxGuRhzXLnBVDR2uUuE= +github.com/dsoprea/go-exif/v2 v2.0.0-20200502203340-6aea10b45f4c/go.mod h1:YXOyDqCYjBuHHRw4JIGPgOgMit0IDvVSjjhsqOAFTYQ= +github.com/dsoprea/go-exif/v2 v2.0.0-20200517080529-c9be4b30b064 h1:V7CH/kZImE6Lf27H4DS5PG7qzBkf774GIXUuM31vVNA= +github.com/dsoprea/go-exif/v2 v2.0.0-20200517080529-c9be4b30b064/go.mod h1:YXOyDqCYjBuHHRw4JIGPgOgMit0IDvVSjjhsqOAFTYQ= +github.com/dsoprea/go-exif/v2 v2.0.0-20200517234148-29b0ff22564b h1:Uvnq5XTzlscGvQl3IwysBUVdSb1VUmqIvHrOv4x4UCE= +github.com/dsoprea/go-exif/v2 v2.0.0-20200517234148-29b0ff22564b/go.mod h1:STKu28lNwOeoO0bieAKJ3zQYkUbZ2hivI6qjjGVW0sc= +github.com/dsoprea/go-exif/v2 v2.0.0-20200518001653-d0d0f14dea03 h1:r+aCxLEe6uGDC/NJCpA3WQJ+C7WJ0chzfHKgy173fug= +github.com/dsoprea/go-exif/v2 v2.0.0-20200518001653-d0d0f14dea03/go.mod h1:STKu28lNwOeoO0bieAKJ3zQYkUbZ2hivI6qjjGVW0sc= +github.com/dsoprea/go-exif/v2 v2.0.0-20200520183328-015129a9efd5 h1:iKMxnRjFqQQYKEpdsjFDMV2+VUAncTLT4ofcCiQpDvo= +github.com/dsoprea/go-exif/v2 v2.0.0-20200520183328-015129a9efd5/go.mod h1:9EXlPeHfblFFnwu5UOqmP2eoZfJyAZ2Ri/Vki33ajO0= +github.com/dsoprea/go-exif/v2 v2.0.0-20200604193436-ca8584a0e1c4 h1:Mg7pY7kxDQD2Bkvr1N+XW4BESSIQ7tTTR7Vv+Gi2CsM= +github.com/dsoprea/go-exif/v2 v2.0.0-20200604193436-ca8584a0e1c4/go.mod h1:9EXlPeHfblFFnwu5UOqmP2eoZfJyAZ2Ri/Vki33ajO0= +github.com/dsoprea/go-exif/v3 v3.0.0-20200717053412-08f1b6708903/go.mod h1:0nsO1ce0mh5czxGeLo4+OCZ/C6Eo6ZlMWsz7rH/Gxv8= +github.com/dsoprea/go-exif/v3 v3.0.0-20210512043655-120bcdb2a55e h1:E4XTSQZF/JtOQWcSaJBJho7t+RNWfdO92W/5skg10Jk= +github.com/dsoprea/go-exif/v3 v3.0.0-20210512043655-120bcdb2a55e/go.mod h1:cg5SNYKHMmzxsr9X6ZeLh/nfBRHHp5PngtEPcujONtk= +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696 h1:VGFnZAcLwPpt1sHlAxml+pGLZz9A2s+K/s1YNhPC91Y= +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696/go.mod h1:Nm/x2ZUNRW6Fe5C3LxdY1PyZY5wmDv/s5dkPJ/VB3iA= +github.com/dsoprea/go-logging v0.0.0-20200502201358-170ff607885f h1:FonKAuW3PmNtqk9tOR+Z7bnyQHytmnZBCmm5z1PQMss= +github.com/dsoprea/go-logging v0.0.0-20200502201358-170ff607885f/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d h1:F/7L5wr/fP/SKeO5HuMlNEX9Ipyx2MbH2rV9G4zJRpk= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-utility v0.0.0-20200322055224-4dc0f716e7d0 h1:zFSboMDWXX2UX7/k/mCHBjZhHlaFMx0HmtUE37HABsA= +github.com/dsoprea/go-utility v0.0.0-20200322055224-4dc0f716e7d0/go.mod h1:xv8CVgDmI/Shx/X+EUXyXELVnH5lSRUYRija52OHq7E= +github.com/dsoprea/go-utility v0.0.0-20200322154813-27f0b0d142d7 h1:DJhSHW0odJrW5wR9MU6ry5S+PsxuRXA165KFaiB+cZo= +github.com/dsoprea/go-utility v0.0.0-20200322154813-27f0b0d142d7/go.mod h1:xv8CVgDmI/Shx/X+EUXyXELVnH5lSRUYRija52OHq7E= +github.com/dsoprea/go-utility v0.0.0-20200512094054-1abbbc781176 h1:CfXezFYb2STGOd1+n1HshvE191zVx+QX3A1nML5xxME= +github.com/dsoprea/go-utility v0.0.0-20200512094054-1abbbc781176/go.mod h1:95+K3z2L0mqsVYd6yveIv1lmtT3tcQQ3dVakPySffW8= +github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf h1:/w4QxepU4AHh3AuO6/g8y/YIIHH5+aKP3Bj8sg5cqhU= +github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf/go.mod h1:95+K3z2L0mqsVYd6yveIv1lmtT3tcQQ3dVakPySffW8= +github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e h1:IxIbA7VbCNrwumIYjDoMOdf4KOSkMC6NJE4s8oRbE7E= +github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e/go.mod h1:uAzdkPTub5Y9yQwXe8W4m2XuP0tK4a9Q/dantD0+uaU= +github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.0.2 h1:xMxH9j2fNg/L4hLn/4y3M0IUsn0M6Wbu/Uh9QlOfBh4= +github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +github.com/go-errors/errors v1.1.1 h1:ljK/pL5ltg3qoN+OtN6yCv9HWSfMwxSx90GJCZQxYNg= +github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec h1:lJwO/92dFXWeXOZdoGXgptLmNLwynMSHUmU6besqtiw= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/geo v0.0.0-20200319012246-673a6f80352d h1:C/hKUcHT483btRbeGkrRjJz+Zbcj8audldIi9tRJDCc= +github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5 h1:WQ8q63x+f/zpC8Ac1s9wLElVoHhm32p6tudrU72n1QA= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120 h1:EZ3cVSzKOlJxAd8e8YAJ7no8nNypTxexh/YE/xW3ZEY= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 h1:eDrdRpKgkcCqKZQwyZRyeFZgfqt37SL7Kv3tok06cKE= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/dsoprea/go-png-image-structure/media_parser.go b/vendor/github.com/dsoprea/go-png-image-structure/media_parser.go new file mode 100644 index 000000000..f7467593f --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/media_parser.go @@ -0,0 +1,106 @@ +package pngstructure + +import ( + "bufio" + "bytes" + "io" + "os" + + "github.com/dsoprea/go-logging" + "github.com/dsoprea/go-utility/image" +) + +// PngMediaParser knows how to parse a PNG stream. +type PngMediaParser struct { +} + +// NewPngMediaParser returns a new `PngMediaParser` struct. +func NewPngMediaParser() *PngMediaParser { + + // TODO(dustin): Add test + + return new(PngMediaParser) +} + +// Parse parses a PNG stream given a `io.ReadSeeker`. +func (pmp *PngMediaParser) Parse(rs io.ReadSeeker, size int) (mc riimage.MediaContext, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + ps := NewPngSplitter() + + err = ps.readHeader(rs) + log.PanicIf(err) + + s := bufio.NewScanner(rs) + + // Since each segment can be any size, our buffer must be allowed to grow + // as large as the file. + buffer := []byte{} + s.Buffer(buffer, size) + s.Split(ps.Split) + + for s.Scan() != false { + } + log.PanicIf(s.Err()) + + return ps.Chunks(), nil +} + +// ParseFile parses a PNG stream given a file-path. +func (pmp *PngMediaParser) ParseFile(filepath string) (mc riimage.MediaContext, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + f, err := os.Open(filepath) + log.PanicIf(err) + + defer f.Close() + + stat, err := f.Stat() + log.PanicIf(err) + + size := stat.Size() + + chunks, err := pmp.Parse(f, int(size)) + log.PanicIf(err) + + return chunks, nil +} + +// ParseBytes parses a PNG stream given a byte-slice. +func (pmp *PngMediaParser) ParseBytes(data []byte) (mc riimage.MediaContext, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // TODO(dustin): Add test + + br := bytes.NewReader(data) + + chunks, err := pmp.Parse(br, len(data)) + log.PanicIf(err) + + return chunks, nil +} + +// LooksLikeFormat returns a boolean indicating whether the stream looks like a +// PNG image. +func (pmp *PngMediaParser) LooksLikeFormat(data []byte) bool { + return bytes.Compare(data[:len(PngSignature)], PngSignature[:]) == 0 +} + +var ( + // Enforce interface conformance. + _ riimage.MediaParser = new(PngMediaParser) +) diff --git a/vendor/github.com/dsoprea/go-png-image-structure/png.go b/vendor/github.com/dsoprea/go-png-image-structure/png.go new file mode 100644 index 000000000..203bbf562 --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/png.go @@ -0,0 +1,414 @@ +package pngstructure + +import ( + "bytes" + "errors" + "fmt" + "io" + + "encoding/binary" + "hash/crc32" + + "github.com/dsoprea/go-exif/v2" + "github.com/dsoprea/go-logging" + "github.com/dsoprea/go-utility/image" +) + +var ( + PngSignature = [8]byte{137, 'P', 'N', 'G', '\r', '\n', 26, '\n'} + EXifChunkType = "eXIf" + IHDRChunkType = "IHDR" +) + +var ( + ErrNotPng = errors.New("not png data") + ErrNoExif = errors.New("file does not have EXIF") + ErrCrcFailure = errors.New("crc failure") +) + +// ChunkSlice encapsulates a slice of chunks. +type ChunkSlice struct { + chunks []*Chunk +} + +func NewChunkSlice(chunks []*Chunk) *ChunkSlice { + if len(chunks) == 0 { + log.Panicf("ChunkSlice must be initialized with at least one chunk (IHDR)") + } else if chunks[0].Type != IHDRChunkType { + log.Panicf("first chunk in any ChunkSlice must be an IHDR") + } + + return &ChunkSlice{ + chunks: chunks, + } +} + +func NewPngChunkSlice() *ChunkSlice { + + ihdrChunk := &Chunk{ + Type: IHDRChunkType, + } + + ihdrChunk.UpdateCrc32() + + return NewChunkSlice([]*Chunk{ihdrChunk}) +} + +func (cs *ChunkSlice) String() string { + return fmt.Sprintf("ChunkSlize", len(cs.chunks)) +} + +// Chunks exposes the actual slice. +func (cs *ChunkSlice) Chunks() []*Chunk { + return cs.chunks +} + +// Write encodes and writes all chunks. +func (cs *ChunkSlice) WriteTo(w io.Writer) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + _, err = w.Write(PngSignature[:]) + log.PanicIf(err) + + // TODO(dustin): !! This should respect the safe-to-copy characteristic. + for _, c := range cs.chunks { + _, err := c.WriteTo(w) + log.PanicIf(err) + } + + return nil +} + +// Index returns a map of chunk types to chunk slices, grouping all like chunks. +func (cs *ChunkSlice) Index() (index map[string][]*Chunk) { + index = make(map[string][]*Chunk) + for _, c := range cs.chunks { + if grouped, found := index[c.Type]; found == true { + index[c.Type] = append(grouped, c) + } else { + index[c.Type] = []*Chunk{c} + } + } + + return index +} + +// FindExif returns the the segment that hosts the EXIF data. +func (cs *ChunkSlice) FindExif() (chunk *Chunk, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + index := cs.Index() + + if chunks, found := index[EXifChunkType]; found == true { + return chunks[0], nil + } + + log.Panic(ErrNoExif) + + // Never called. + return nil, nil +} + +// Exif returns an `exif.Ifd` instance with the existing tags. +func (cs *ChunkSlice) Exif() (rootIfd *exif.Ifd, data []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + chunk, err := cs.FindExif() + log.PanicIf(err) + + im := exif.NewIfdMappingWithStandard() + ti := exif.NewTagIndex() + + // TODO(dustin): Refactor and support `exif.GetExifData()`. + + _, index, err := exif.Collect(im, ti, chunk.Data) + log.PanicIf(err) + + return index.RootIfd, chunk.Data, nil +} + +// ConstructExifBuilder returns an `exif.IfdBuilder` instance (needed for +// modifying) preloaded with all existing tags. +func (cs *ChunkSlice) ConstructExifBuilder() (rootIb *exif.IfdBuilder, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + rootIfd, _, err := cs.Exif() + log.PanicIf(err) + + ib := exif.NewIfdBuilderFromExistingChain(rootIfd) + + return ib, nil +} + +// SetExif encodes and sets EXIF data into this segment. +func (cs *ChunkSlice) SetExif(ib *exif.IfdBuilder) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // Encode. + + ibe := exif.NewIfdByteEncoder() + + exifData, err := ibe.EncodeToExif(ib) + log.PanicIf(err) + + // Set. + + exifChunk, err := cs.FindExif() + if err == nil { + // EXIF chunk already exists. + + exifChunk.Data = exifData + exifChunk.Length = uint32(len(exifData)) + } else { + if log.Is(err, ErrNoExif) != true { + log.Panic(err) + } + + // Add a EXIF chunk for the first time. + + exifChunk = &Chunk{ + Type: EXifChunkType, + Data: exifData, + Length: uint32(len(exifData)), + } + + // Insert it after the IHDR chunk (it's a reliably appropriate place to + // put it). + cs.chunks = append(cs.chunks[:1], append([]*Chunk{exifChunk}, cs.chunks[1:]...)...) + } + + exifChunk.UpdateCrc32() + + return nil +} + +// PngSplitter hosts the princpal `Split()` method uses by `bufio.Scanner`. +type PngSplitter struct { + chunks []*Chunk + currentOffset int + + doCheckCrc bool + crcErrors []string +} + +func (ps *PngSplitter) Chunks() *ChunkSlice { + return NewChunkSlice(ps.chunks) +} + +func (ps *PngSplitter) DoCheckCrc(doCheck bool) { + ps.doCheckCrc = doCheck +} + +func (ps *PngSplitter) CrcErrors() []string { + return ps.crcErrors +} + +func NewPngSplitter() *PngSplitter { + return &PngSplitter{ + chunks: make([]*Chunk, 0), + doCheckCrc: true, + crcErrors: make([]string, 0), + } +} + +// Chunk describes a single chunk. +type Chunk struct { + Offset int + Length uint32 + Type string + Data []byte + Crc uint32 +} + +func (c *Chunk) String() string { + return fmt.Sprintf("Chunk", c.Offset, c.Length, c.Type, c.Crc) +} + +func calculateCrc32(chunk *Chunk) uint32 { + c := crc32.NewIEEE() + + c.Write([]byte(chunk.Type)) + c.Write(chunk.Data) + + return c.Sum32() +} + +func (c *Chunk) UpdateCrc32() { + c.Crc = calculateCrc32(c) +} + +func (c *Chunk) CheckCrc32() bool { + expected := calculateCrc32(c) + return c.Crc == expected +} + +// Bytes encodes and returns the bytes for this chunk. +func (c *Chunk) Bytes() []byte { + defer func() { + if state := recover(); state != nil { + err := log.Wrap(state.(error)) + log.Panic(err) + } + }() + + if len(c.Data) != int(c.Length) { + log.Panicf("length of data not correct") + } + + preallocated := make([]byte, 0, 4+4+c.Length+4) + b := bytes.NewBuffer(preallocated) + + err := binary.Write(b, binary.BigEndian, c.Length) + log.PanicIf(err) + + _, err = b.Write([]byte(c.Type)) + log.PanicIf(err) + + if c.Data != nil { + _, err = b.Write(c.Data) + log.PanicIf(err) + } + + err = binary.Write(b, binary.BigEndian, c.Crc) + log.PanicIf(err) + + return b.Bytes() +} + +// Write encodes and writes the bytes for this chunk. +func (c *Chunk) WriteTo(w io.Writer) (count int, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + if len(c.Data) != int(c.Length) { + log.Panicf("length of data not correct") + } + + err = binary.Write(w, binary.BigEndian, c.Length) + log.PanicIf(err) + + _, err = w.Write([]byte(c.Type)) + log.PanicIf(err) + + _, err = w.Write(c.Data) + log.PanicIf(err) + + err = binary.Write(w, binary.BigEndian, c.Crc) + log.PanicIf(err) + + return 4 + len(c.Type) + len(c.Data) + 4, nil +} + +// readHeader verifies that the PNG header bytes appear next. +func (ps *PngSplitter) readHeader(r io.Reader) (err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + len_ := len(PngSignature) + header := make([]byte, len_) + + _, err = r.Read(header) + log.PanicIf(err) + + ps.currentOffset += len_ + + if bytes.Compare(header, PngSignature[:]) != 0 { + log.Panic(ErrNotPng) + } + + return nil +} + +// Split fulfills the `bufio.SplitFunc` function definition for +// `bufio.Scanner`. +func (ps *PngSplitter) Split(data []byte, atEOF bool) (advance int, token []byte, err error) { + defer func() { + if state := recover(); state != nil { + err = log.Wrap(state.(error)) + } + }() + + // We might have more than one chunk's worth, and, if `atEOF` is true, we + // won't be called again. We'll repeatedly try to read additional chunks, + // but, when we run out of the data we were given then we'll return the + // number of bytes fo rthe chunks we've already completely read. Then, + // we'll be called again from theend ofthose bytes, at which point we'll + // indicate that we don't yet have enough for another chunk, and we should + // be then called with more. + for { + len_ := len(data) + if len_ < 8 { + return advance, nil, nil + } + + length := binary.BigEndian.Uint32(data[:4]) + type_ := string(data[4:8]) + chunkSize := (8 + int(length) + 4) + + if len_ < chunkSize { + return advance, nil, nil + } + + crcIndex := 8 + length + crc := binary.BigEndian.Uint32(data[crcIndex : crcIndex+4]) + + content := make([]byte, length) + copy(content, data[8:8+length]) + + c := &Chunk{ + Length: length, + Type: type_, + Data: content, + Crc: crc, + Offset: ps.currentOffset, + } + + ps.chunks = append(ps.chunks, c) + + if c.CheckCrc32() == false { + ps.crcErrors = append(ps.crcErrors, type_) + + if ps.doCheckCrc == true { + log.Panic(ErrCrcFailure) + } + } + + advance += chunkSize + ps.currentOffset += chunkSize + + data = data[chunkSize:] + } + + return advance, nil, nil +} + +var ( + // Enforce interface conformance. + _ riimage.MediaContext = new(ChunkSlice) +) diff --git a/vendor/github.com/dsoprea/go-png-image-structure/testing_common.go b/vendor/github.com/dsoprea/go-png-image-structure/testing_common.go new file mode 100644 index 000000000..e7dad11af --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/testing_common.go @@ -0,0 +1,64 @@ +package pngstructure + +import ( + "os" + "path" + + "github.com/dsoprea/go-logging" +) + +var ( + assetsPath = "" +) + +func getModuleRootPath() string { + moduleRootPath := os.Getenv("PNG_MODULE_ROOT_PATH") + if moduleRootPath != "" { + return moduleRootPath + } + + currentWd, err := os.Getwd() + log.PanicIf(err) + + currentPath := currentWd + visited := make([]string, 0) + + for { + tryStampFilepath := path.Join(currentPath, ".MODULE_ROOT") + + _, err := os.Stat(tryStampFilepath) + if err != nil && os.IsNotExist(err) != true { + log.Panic(err) + } else if err == nil { + break + } + + visited = append(visited, tryStampFilepath) + + currentPath = path.Dir(currentPath) + if currentPath == "/" { + log.Panicf("could not find module-root: %v", visited) + } + } + + return currentPath +} + +func getTestAssetsPath() string { + if assetsPath == "" { + moduleRootPath := getModuleRootPath() + assetsPath = path.Join(moduleRootPath, "assets") + } + + return assetsPath +} + +func getTestBasicImageFilepath() string { + assetsPath := getTestAssetsPath() + return path.Join(assetsPath, "libpng.png") +} + +func getTestExifImageFilepath() string { + assetsPath := getTestAssetsPath() + return path.Join(assetsPath, "exif.png") +} diff --git a/vendor/github.com/dsoprea/go-png-image-structure/utility.go b/vendor/github.com/dsoprea/go-png-image-structure/utility.go new file mode 100644 index 000000000..9bfab14a4 --- /dev/null +++ b/vendor/github.com/dsoprea/go-png-image-structure/utility.go @@ -0,0 +1,65 @@ +package pngstructure + +import ( + "fmt" + "bytes" + + "github.com/dsoprea/go-logging" +) + +func DumpBytes(data []byte) { + fmt.Printf("DUMP: ") + for _, x := range data { + fmt.Printf("%02x ", x) + } + + fmt.Printf("\n") +} + +func DumpBytesClause(data []byte) { + fmt.Printf("DUMP: ") + + fmt.Printf("[]byte { ") + + for i, x := range data { + fmt.Printf("0x%02x", x) + + if i < len(data) - 1 { + fmt.Printf(", ") + } + } + + fmt.Printf(" }\n") +} + +func DumpBytesToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("%02x", x)) + log.PanicIf(err) + + if i < len(data) - 1 { + _, err := b.WriteRune(' ') + log.PanicIf(err) + } + } + + return b.String() +} + +func DumpBytesClauseToString(data []byte) string { + b := new(bytes.Buffer) + + for i, x := range data { + _, err := b.WriteString(fmt.Sprintf("0x%02x", x)) + log.PanicIf(err) + + if i < len(data) - 1 { + _, err := b.WriteString(", ") + log.PanicIf(err) + } + } + + return b.String() +} diff --git a/vendor/github.com/dsoprea/go-utility/LICENSE b/vendor/github.com/dsoprea/go-utility/LICENSE new file mode 100644 index 000000000..8941063e1 --- /dev/null +++ b/vendor/github.com/dsoprea/go-utility/LICENSE @@ -0,0 +1,7 @@ +Copyright 2019 Random Ingenuity InformationWorks + +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/dsoprea/go-utility/image/README.md b/vendor/github.com/dsoprea/go-utility/image/README.md new file mode 100644 index 000000000..1509ff666 --- /dev/null +++ b/vendor/github.com/dsoprea/go-utility/image/README.md @@ -0,0 +1,9 @@ +[![GoDoc](https://godoc.org/github.com/dsoprea/go-utility/image?status.svg)](https://godoc.org/github.com/dsoprea/go-utility/image) +[![Build Status](https://travis-ci.org/dsoprea/go-utility.svg?branch=master)](https://travis-ci.org/dsoprea/go-utility) +[![Coverage Status](https://coveralls.io/repos/github/dsoprea/go-utility/badge.svg?branch=master)](https://coveralls.io/github/dsoprea/go-utility?branch=master) +[![Go Report Card](https://goreportcard.com/badge/github.com/dsoprea/go-utility)](https://goreportcard.com/report/github.com/dsoprea/go-utility) + +# media_parser_type + +Common image-parsing interfaces. Used for JPEG, PNG, and HEIC parsers used by +go-exif-knife. diff --git a/vendor/github.com/dsoprea/go-utility/image/media_parser_type.go b/vendor/github.com/dsoprea/go-utility/image/media_parser_type.go new file mode 100644 index 000000000..b7956ea17 --- /dev/null +++ b/vendor/github.com/dsoprea/go-utility/image/media_parser_type.go @@ -0,0 +1,34 @@ +package riimage + +import ( + "io" + + "github.com/dsoprea/go-exif/v2" +) + +// MediaContext is an accessor that knows how to extract specific metadata from +// the media. +type MediaContext interface { + // Exif returns the EXIF's root IFD. + Exif() (rootIfd *exif.Ifd, data []byte, err error) +} + +// MediaParser prescribes a specific structure for the parser types that are +// imported from other projects. We don't use it directly, but we use this to +// impose structure. +type MediaParser interface { + // Parse parses a stream using an `io.ReadSeeker`. `mc` should *actually* be + // a `ExifContext`. + Parse(r io.ReadSeeker, size int) (mc MediaContext, err error) + + // ParseFile parses a stream using a file. `mc` should *actually* be a + // `ExifContext`. + ParseFile(filepath string) (mc MediaContext, err error) + + // ParseBytes parses a stream direct from bytes. `mc` should *actually* be + // a `ExifContext`. + ParseBytes(data []byte) (mc MediaContext, err error) + + // Parses the data to determine if it's a compatible format. + LooksLikeFormat(data []byte) bool +} diff --git a/vendor/github.com/gin-contrib/cors/.gitignore b/vendor/github.com/gin-contrib/cors/.gitignore new file mode 100644 index 000000000..b4ecae3ad --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/.gitignore @@ -0,0 +1,23 @@ +*.o +*.a +*.so + +_obj +_test + +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof + +coverage.out diff --git a/vendor/github.com/gin-contrib/cors/.travis.yml b/vendor/github.com/gin-contrib/cors/.travis.yml new file mode 100644 index 000000000..e5308a10d --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/.travis.yml @@ -0,0 +1,31 @@ +language: go +sudo: false + +go: + - 1.11.x + - 1.12.x + - 1.13.x + - 1.14.x + - master + +matrix: + fast_finish: true + include: + - go: 1.11.x + env: GO111MODULE=on + - go: 1.12.x + env: GO111MODULE=on + +script: + - go test -v -covermode=atomic -coverprofile=coverage.out + +after_success: + - bash <(curl -s https://codecov.io/bash) + +notifications: + webhooks: + urls: + - https://webhooks.gitter.im/e/acc2c57482e94b44f557 + on_success: change + on_failure: always + on_start: false diff --git a/vendor/github.com/gin-contrib/cors/LICENSE b/vendor/github.com/gin-contrib/cors/LICENSE new file mode 100644 index 000000000..4e2cfb015 --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Gin-Gonic + +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/gin-contrib/cors/README.md b/vendor/github.com/gin-contrib/cors/README.md new file mode 100644 index 000000000..bd567b10b --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/README.md @@ -0,0 +1,91 @@ +# CORS gin's middleware + +[![Build Status](https://travis-ci.org/gin-contrib/cors.svg)](https://travis-ci.org/gin-contrib/cors) +[![codecov](https://codecov.io/gh/gin-contrib/cors/branch/master/graph/badge.svg)](https://codecov.io/gh/gin-contrib/cors) +[![Go Report Card](https://goreportcard.com/badge/github.com/gin-contrib/cors)](https://goreportcard.com/report/github.com/gin-contrib/cors) +[![GoDoc](https://godoc.org/github.com/gin-contrib/cors?status.svg)](https://godoc.org/github.com/gin-contrib/cors) +[![Join the chat at https://gitter.im/gin-gonic/gin](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gin-gonic/gin) + +Gin middleware/handler to enable CORS support. + +## Usage + +### Start using it + +Download and install it: + +```sh +$ go get github.com/gin-contrib/cors +``` + +Import it in your code: + +```go +import "github.com/gin-contrib/cors" +``` + +### Canonical example: + +```go +package main + +import ( + "time" + + "github.com/gin-contrib/cors" + "github.com/gin-gonic/gin" +) + +func main() { + router := gin.Default() + // CORS for https://foo.com and https://github.com origins, allowing: + // - PUT and PATCH methods + // - Origin header + // - Credentials share + // - Preflight requests cached for 12 hours + router.Use(cors.New(cors.Config{ + AllowOrigins: []string{"https://foo.com"}, + AllowMethods: []string{"PUT", "PATCH"}, + AllowHeaders: []string{"Origin"}, + ExposeHeaders: []string{"Content-Length"}, + AllowCredentials: true, + AllowOriginFunc: func(origin string) bool { + return origin == "https://github.com" + }, + MaxAge: 12 * time.Hour, + })) + router.Run() +} +``` + +### Using DefaultConfig as start point + +```go +func main() { + router := gin.Default() + // - No origin allowed by default + // - GET,POST, PUT, HEAD methods + // - Credentials share disabled + // - Preflight requests cached for 12 hours + config := cors.DefaultConfig() + config.AllowOrigins = []string{"http://google.com"} + // config.AllowOrigins == []string{"http://google.com", "http://facebook.com"} + + router.Use(cors.New(config)) + router.Run() +} +``` + +### Default() allows all origins + +```go +func main() { + router := gin.Default() + // same as + // config := cors.DefaultConfig() + // config.AllowAllOrigins = true + // router.Use(cors.New(config)) + router.Use(cors.Default()) + router.Run() +} +``` diff --git a/vendor/github.com/gin-contrib/cors/config.go b/vendor/github.com/gin-contrib/cors/config.go new file mode 100644 index 000000000..d4fc11801 --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/config.go @@ -0,0 +1,134 @@ +package cors + +import ( + "net/http" + "strings" + + "github.com/gin-gonic/gin" +) + +type cors struct { + allowAllOrigins bool + allowCredentials bool + allowOriginFunc func(string) bool + allowOrigins []string + exposeHeaders []string + normalHeaders http.Header + preflightHeaders http.Header + wildcardOrigins [][]string +} + +var ( + DefaultSchemas = []string{ + "http://", + "https://", + } + ExtensionSchemas = []string{ + "chrome-extension://", + "safari-extension://", + "moz-extension://", + "ms-browser-extension://", + } + FileSchemas = []string{ + "file://", + } + WebSocketSchemas = []string{ + "ws://", + "wss://", + } +) + +func newCors(config Config) *cors { + if err := config.Validate(); err != nil { + panic(err.Error()) + } + + return &cors{ + allowOriginFunc: config.AllowOriginFunc, + allowAllOrigins: config.AllowAllOrigins, + allowCredentials: config.AllowCredentials, + allowOrigins: normalize(config.AllowOrigins), + normalHeaders: generateNormalHeaders(config), + preflightHeaders: generatePreflightHeaders(config), + wildcardOrigins: config.parseWildcardRules(), + } +} + +func (cors *cors) applyCors(c *gin.Context) { + origin := c.Request.Header.Get("Origin") + if len(origin) == 0 { + // request is not a CORS request + return + } + host := c.Request.Host + + if origin == "http://"+host || origin == "https://"+host { + // request is not a CORS request but have origin header. + // for example, use fetch api + return + } + + if !cors.validateOrigin(origin) { + c.AbortWithStatus(http.StatusForbidden) + return + } + + if c.Request.Method == "OPTIONS" { + cors.handlePreflight(c) + defer c.AbortWithStatus(http.StatusNoContent) // Using 204 is better than 200 when the request status is OPTIONS + } else { + cors.handleNormal(c) + } + + if !cors.allowAllOrigins { + c.Header("Access-Control-Allow-Origin", origin) + } +} + +func (cors *cors) validateWildcardOrigin(origin string) bool { + for _, w := range cors.wildcardOrigins { + if w[0] == "*" && strings.HasSuffix(origin, w[1]) { + return true + } + if w[1] == "*" && strings.HasPrefix(origin, w[0]) { + return true + } + if strings.HasPrefix(origin, w[0]) && strings.HasSuffix(origin, w[1]) { + return true + } + } + + return false +} + +func (cors *cors) validateOrigin(origin string) bool { + if cors.allowAllOrigins { + return true + } + for _, value := range cors.allowOrigins { + if value == origin { + return true + } + } + if len(cors.wildcardOrigins) > 0 && cors.validateWildcardOrigin(origin) { + return true + } + if cors.allowOriginFunc != nil { + return cors.allowOriginFunc(origin) + } + return false +} + +func (cors *cors) handlePreflight(c *gin.Context) { + header := c.Writer.Header() + for key, value := range cors.preflightHeaders { + header[key] = value + } +} + +func (cors *cors) handleNormal(c *gin.Context) { + header := c.Writer.Header() + for key, value := range cors.normalHeaders { + header[key] = value + } +} diff --git a/vendor/github.com/gin-contrib/cors/cors.go b/vendor/github.com/gin-contrib/cors/cors.go new file mode 100644 index 000000000..d6d06de03 --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/cors.go @@ -0,0 +1,171 @@ +package cors + +import ( + "errors" + "strings" + "time" + + "github.com/gin-gonic/gin" +) + +// Config represents all available options for the middleware. +type Config struct { + AllowAllOrigins bool + + // AllowOrigins is a list of origins a cross-domain request can be executed from. + // If the special "*" value is present in the list, all origins will be allowed. + // Default value is [] + AllowOrigins []string + + // AllowOriginFunc is a custom function to validate the origin. It take the origin + // as argument and returns true if allowed or false otherwise. If this option is + // set, the content of AllowOrigins is ignored. + AllowOriginFunc func(origin string) bool + + // AllowMethods is a list of methods the client is allowed to use with + // cross-domain requests. Default value is simple methods (GET and POST) + AllowMethods []string + + // AllowHeaders is list of non simple headers the client is allowed to use with + // cross-domain requests. + AllowHeaders []string + + // AllowCredentials indicates whether the request can include user credentials like + // cookies, HTTP authentication or client side SSL certificates. + AllowCredentials bool + + // ExposedHeaders indicates which headers are safe to expose to the API of a CORS + // API specification + ExposeHeaders []string + + // MaxAge indicates how long (in seconds) the results of a preflight request + // can be cached + MaxAge time.Duration + + // Allows to add origins like http://some-domain/*, https://api.* or http://some.*.subdomain.com + AllowWildcard bool + + // Allows usage of popular browser extensions schemas + AllowBrowserExtensions bool + + // Allows usage of WebSocket protocol + AllowWebSockets bool + + // Allows usage of file:// schema (dangerous!) use it only when you 100% sure it's needed + AllowFiles bool +} + +// AddAllowMethods is allowed to add custom methods +func (c *Config) AddAllowMethods(methods ...string) { + c.AllowMethods = append(c.AllowMethods, methods...) +} + +// AddAllowHeaders is allowed to add custom headers +func (c *Config) AddAllowHeaders(headers ...string) { + c.AllowHeaders = append(c.AllowHeaders, headers...) +} + +// AddExposeHeaders is allowed to add custom expose headers +func (c *Config) AddExposeHeaders(headers ...string) { + c.ExposeHeaders = append(c.ExposeHeaders, headers...) +} + +func (c Config) getAllowedSchemas() []string { + allowedSchemas := DefaultSchemas + if c.AllowBrowserExtensions { + allowedSchemas = append(allowedSchemas, ExtensionSchemas...) + } + if c.AllowWebSockets { + allowedSchemas = append(allowedSchemas, WebSocketSchemas...) + } + if c.AllowFiles { + allowedSchemas = append(allowedSchemas, FileSchemas...) + } + return allowedSchemas +} + +func (c Config) validateAllowedSchemas(origin string) bool { + allowedSchemas := c.getAllowedSchemas() + for _, schema := range allowedSchemas { + if strings.HasPrefix(origin, schema) { + return true + } + } + return false +} + +// Validate is check configuration of user defined. +func (c *Config) Validate() error { + if c.AllowAllOrigins && (c.AllowOriginFunc != nil || len(c.AllowOrigins) > 0) { + return errors.New("conflict settings: all origins are allowed. AllowOriginFunc or AllowOrigins is not needed") + } + if !c.AllowAllOrigins && c.AllowOriginFunc == nil && len(c.AllowOrigins) == 0 { + return errors.New("conflict settings: all origins disabled") + } + for _, origin := range c.AllowOrigins { + if origin == "*" { + c.AllowAllOrigins = true + return nil + } else if !strings.Contains(origin, "*") && !c.validateAllowedSchemas(origin) { + return errors.New("bad origin: origins must contain '*' or include " + strings.Join(c.getAllowedSchemas(), ",")) + } + } + return nil +} + +func (c Config) parseWildcardRules() [][]string { + var wRules [][]string + + if !c.AllowWildcard { + return wRules + } + + for _, o := range c.AllowOrigins { + if !strings.Contains(o, "*") { + continue + } + + if c := strings.Count(o, "*"); c > 1 { + panic(errors.New("only one * is allowed").Error()) + } + + i := strings.Index(o, "*") + if i == 0 { + wRules = append(wRules, []string{"*", o[1:]}) + continue + } + if i == (len(o) - 1) { + wRules = append(wRules, []string{o[:i-1], "*"}) + continue + } + + wRules = append(wRules, []string{o[:i], o[i+1:]}) + } + + return wRules +} + +// DefaultConfig returns a generic default configuration mapped to localhost. +func DefaultConfig() Config { + return Config{ + AllowMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE", "HEAD"}, + AllowHeaders: []string{"Origin", "Content-Length", "Content-Type"}, + AllowCredentials: false, + MaxAge: 12 * time.Hour, + } +} + +// Default returns the location middleware with default configuration. +func Default() gin.HandlerFunc { + config := DefaultConfig() + config.AllowAllOrigins = true + return New(config) +} + +// New returns the location middleware with user-defined custom configuration. +func New(config Config) gin.HandlerFunc { + cors := newCors(config) + return func(c *gin.Context) { + cors.applyCors(c) + } +} diff --git a/vendor/github.com/gin-contrib/cors/go.mod b/vendor/github.com/gin-contrib/cors/go.mod new file mode 100644 index 000000000..9981c4576 --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/go.mod @@ -0,0 +1,10 @@ +module github.com/gin-contrib/cors + +go 1.13 + +require ( + github.com/gin-gonic/gin v1.5.0 + github.com/kr/pretty v0.1.0 // indirect + github.com/stretchr/testify v1.4.0 + gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect +) diff --git a/vendor/github.com/gin-contrib/cors/go.sum b/vendor/github.com/gin-contrib/cors/go.sum new file mode 100644 index 000000000..8da9e75db --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/go.sum @@ -0,0 +1,52 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.5.0 h1:fi+bqFAx/oLK54somfCtEZs9HeH1LHVoEPUgARpTqyc= +github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do= +github.com/go-playground/locales v0.12.1 h1:2FITxuFt/xuCNP1Acdhv62OzaCiviiE4kotfhkmOqEc= +github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= +github.com/go-playground/universal-translator v0.16.0 h1:X++omBR/4cE2MNg91AoC3rmGrCjJ8eAeUP/K/EKx4DM= +github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/leodido/go-urn v1.1.0 h1:Sm1gr51B1kKyfD2BlRcLSiEkffoG96g6TPv6eRoEiB8= +github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= +github.com/mattn/go-isatty v0.0.9 h1:d5US/mDsogSGW37IV293h//ZFaeajb69h+EHFsv2xGg= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v9 v9.29.1 h1:SvGtYmN60a5CVKTOzMSyfzWDeZRxRuGvRQyEAKbw1xc= +gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/gin-contrib/cors/utils.go b/vendor/github.com/gin-contrib/cors/utils.go new file mode 100644 index 000000000..460ef1780 --- /dev/null +++ b/vendor/github.com/gin-contrib/cors/utils.go @@ -0,0 +1,85 @@ +package cors + +import ( + "net/http" + "strconv" + "strings" + "time" +) + +type converter func(string) string + +func generateNormalHeaders(c Config) http.Header { + headers := make(http.Header) + if c.AllowCredentials { + headers.Set("Access-Control-Allow-Credentials", "true") + } + if len(c.ExposeHeaders) > 0 { + exposeHeaders := convert(normalize(c.ExposeHeaders), http.CanonicalHeaderKey) + headers.Set("Access-Control-Expose-Headers", strings.Join(exposeHeaders, ",")) + } + if c.AllowAllOrigins { + headers.Set("Access-Control-Allow-Origin", "*") + } else { + headers.Set("Vary", "Origin") + } + return headers +} + +func generatePreflightHeaders(c Config) http.Header { + headers := make(http.Header) + if c.AllowCredentials { + headers.Set("Access-Control-Allow-Credentials", "true") + } + if len(c.AllowMethods) > 0 { + allowMethods := convert(normalize(c.AllowMethods), strings.ToUpper) + value := strings.Join(allowMethods, ",") + headers.Set("Access-Control-Allow-Methods", value) + } + if len(c.AllowHeaders) > 0 { + allowHeaders := convert(normalize(c.AllowHeaders), http.CanonicalHeaderKey) + value := strings.Join(allowHeaders, ",") + headers.Set("Access-Control-Allow-Headers", value) + } + if c.MaxAge > time.Duration(0) { + value := strconv.FormatInt(int64(c.MaxAge/time.Second), 10) + headers.Set("Access-Control-Max-Age", value) + } + if c.AllowAllOrigins { + headers.Set("Access-Control-Allow-Origin", "*") + } else { + // Always set Vary headers + // see https://github.com/rs/cors/issues/10, + // https://github.com/rs/cors/commit/dbdca4d95feaa7511a46e6f1efb3b3aa505bc43f#commitcomment-12352001 + + headers.Add("Vary", "Origin") + headers.Add("Vary", "Access-Control-Request-Method") + headers.Add("Vary", "Access-Control-Request-Headers") + } + return headers +} + +func normalize(values []string) []string { + if values == nil { + return nil + } + distinctMap := make(map[string]bool, len(values)) + normalized := make([]string, 0, len(values)) + for _, value := range values { + value = strings.TrimSpace(value) + value = strings.ToLower(value) + if _, seen := distinctMap[value]; !seen { + normalized = append(normalized, value) + distinctMap[value] = true + } + } + return normalized +} + +func convert(s []string, c converter) []string { + var out []string + for _, i := range s { + out = append(out, c(i)) + } + return out +} diff --git a/vendor/github.com/gin-contrib/sessions/.gitignore b/vendor/github.com/gin-contrib/sessions/.gitignore new file mode 100644 index 000000000..5d32c7593 --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/.gitignore @@ -0,0 +1,3 @@ +coverage.out +vendor/* +!/vendor/vendor.json diff --git a/vendor/github.com/gin-contrib/sessions/.travis.yml b/vendor/github.com/gin-contrib/sessions/.travis.yml new file mode 100644 index 000000000..85e4724e9 --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/.travis.yml @@ -0,0 +1,44 @@ +language: go +sudo: false + +matrix: + fast_finish: true + include: + - go: 1.10.x + - go: 1.11.x + env: GO111MODULE=on + - go: 1.12.x + env: GO111MODULE=on + - go: 1.13.x + - go: master + env: GO111MODULE=on + +git: + depth: 10 + +services: + - redis + - memcached + - mongodb + +before_install: + - go get github.com/campoy/embedmd + +install: + - if [[ "${GO111MODULE}" = "on" ]]; then go mod download; else go get -t -v .; fi + - if [[ "${GO111MODULE}" = "on" ]]; then export PATH="${GOPATH}/bin:${GOROOT}/bin:${PATH}"; fi + +script: + - embedmd -d *.md + - go test -v -covermode=atomic -coverprofile=coverage.out ./... + +after_success: + - bash <(curl -s https://codecov.io/bash) + +notifications: + webhooks: + urls: + - https://webhooks.gitter.im/e/acc2c57482e94b44f557 + on_success: change + on_failure: always + on_start: false diff --git a/vendor/github.com/gin-contrib/sessions/LICENSE b/vendor/github.com/gin-contrib/sessions/LICENSE new file mode 100644 index 000000000..4e2cfb015 --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Gin-Gonic + +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/gin-contrib/sessions/README.md b/vendor/github.com/gin-contrib/sessions/README.md new file mode 100644 index 000000000..94e445250 --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/README.md @@ -0,0 +1,329 @@ +# sessions + +[![Build Status](https://travis-ci.org/gin-contrib/sessions.svg)](https://travis-ci.org/gin-contrib/sessions) +[![codecov](https://codecov.io/gh/gin-contrib/sessions/branch/master/graph/badge.svg)](https://codecov.io/gh/gin-contrib/sessions) +[![Go Report Card](https://goreportcard.com/badge/github.com/gin-contrib/sessions)](https://goreportcard.com/report/github.com/gin-contrib/sessions) +[![GoDoc](https://godoc.org/github.com/gin-contrib/sessions?status.svg)](https://godoc.org/github.com/gin-contrib/sessions) +[![Join the chat at https://gitter.im/gin-gonic/gin](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gin-gonic/gin) + +Gin middleware for session management with multi-backend support: + +- [cookie-based](#cookie-based) +- [Redis](#redis) +- [memcached](#memcached) +- [MongoDB](#mongodb) +- [memstore](#memstore) + +## Usage + +### Start using it + +Download and install it: + +```bash +$ go get github.com/gin-contrib/sessions +``` + +Import it in your code: + +```go +import "github.com/gin-contrib/sessions" +``` + +## Basic Examples + +### single session + +```go +package main + +import ( + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/cookie" + "github.com/gin-gonic/gin" +) + +func main() { + r := gin.Default() + store := cookie.NewStore([]byte("secret")) + r.Use(sessions.Sessions("mysession", store)) + + r.GET("/hello", func(c *gin.Context) { + session := sessions.Default(c) + + if session.Get("hello") != "world" { + session.Set("hello", "world") + session.Save() + } + + c.JSON(200, gin.H{"hello": session.Get("hello")}) + }) + r.Run(":8000") +} +``` + +### multiple sessions + +```go +package main + +import ( + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/cookie" + "github.com/gin-gonic/gin" +) + +func main() { + r := gin.Default() + store := cookie.NewStore([]byte("secret")) + sessionNames := []string{"a", "b"} + r.Use(sessions.SessionsMany(sessionNames, store)) + + r.GET("/hello", func(c *gin.Context) { + sessionA := sessions.DefaultMany(c, "a") + sessionB := sessions.DefaultMany(c, "b") + + if sessionA.Get("hello") != "world!" { + sessionA.Set("hello", "world!") + sessionA.Save() + } + + if sessionB.Get("hello") != "world?" { + sessionB.Set("hello", "world?") + sessionB.Save() + } + + c.JSON(200, gin.H{ + "a": sessionA.Get("hello"), + "b": sessionB.Get("hello"), + }) + }) + r.Run(":8000") +} +``` + +## Backend examples + +### cookie-based + +[embedmd]:# (example/cookie/main.go go) +```go +package main + +import ( + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/cookie" + "github.com/gin-gonic/gin" +) + +func main() { + r := gin.Default() + store := cookie.NewStore([]byte("secret")) + r.Use(sessions.Sessions("mysession", store)) + + r.GET("/incr", func(c *gin.Context) { + session := sessions.Default(c) + var count int + v := session.Get("count") + if v == nil { + count = 0 + } else { + count = v.(int) + count++ + } + session.Set("count", count) + session.Save() + c.JSON(200, gin.H{"count": count}) + }) + r.Run(":8000") +} +``` + +### Redis + +[embedmd]:# (example/redis/main.go go) +```go +package main + +import ( + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/redis" + "github.com/gin-gonic/gin" +) + +func main() { + r := gin.Default() + store, _ := redis.NewStore(10, "tcp", "localhost:6379", "", []byte("secret")) + r.Use(sessions.Sessions("mysession", store)) + + r.GET("/incr", func(c *gin.Context) { + session := sessions.Default(c) + var count int + v := session.Get("count") + if v == nil { + count = 0 + } else { + count = v.(int) + count++ + } + session.Set("count", count) + session.Save() + c.JSON(200, gin.H{"count": count}) + }) + r.Run(":8000") +} +``` + +### Memcached + +#### ASCII Protocol + +[embedmd]:# (example/memcached/ascii.go go) +```go +package main + +import ( + "github.com/bradfitz/gomemcache/memcache" + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/memcached" + "github.com/gin-gonic/gin" +) + +func main() { + r := gin.Default() + store := memcached.NewStore(memcache.New("localhost:11211"), "", []byte("secret")) + r.Use(sessions.Sessions("mysession", store)) + + r.GET("/incr", func(c *gin.Context) { + session := sessions.Default(c) + var count int + v := session.Get("count") + if v == nil { + count = 0 + } else { + count = v.(int) + count++ + } + session.Set("count", count) + session.Save() + c.JSON(200, gin.H{"count": count}) + }) + r.Run(":8000") +} +``` + +#### Binary protocol (with optional SASL authentication) + +[embedmd]:# (example/memcached/binary.go go) +```go +package main + +import ( + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/memcached" + "github.com/gin-gonic/gin" + "github.com/memcachier/mc" +) + +func main() { + r := gin.Default() + client := mc.NewMC("localhost:11211", "username", "password") + store := memcached.NewMemcacheStore(client, "", []byte("secret")) + r.Use(sessions.Sessions("mysession", store)) + + r.GET("/incr", func(c *gin.Context) { + session := sessions.Default(c) + var count int + v := session.Get("count") + if v == nil { + count = 0 + } else { + count = v.(int) + count++ + } + session.Set("count", count) + session.Save() + c.JSON(200, gin.H{"count": count}) + }) + r.Run(":8000") +} +``` + +### MongoDB + +[embedmd]:# (example/mongo/main.go go) +```go +package main + +import ( + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/mongo" + "github.com/gin-gonic/gin" + "github.com/globalsign/mgo" +) + +func main() { + r := gin.Default() + session, err := mgo.Dial("localhost:27017/test") + if err != nil { + // handle err + } + + c := session.DB("").C("sessions") + store := mongo.NewStore(c, 3600, true, []byte("secret")) + r.Use(sessions.Sessions("mysession", store)) + + r.GET("/incr", func(c *gin.Context) { + session := sessions.Default(c) + var count int + v := session.Get("count") + if v == nil { + count = 0 + } else { + count = v.(int) + count++ + } + session.Set("count", count) + session.Save() + c.JSON(200, gin.H{"count": count}) + }) + r.Run(":8000") +} +``` + +### memstore + +[embedmd]:# (example/memstore/main.go go) +```go +package main + +import ( + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/memstore" + "github.com/gin-gonic/gin" +) + +func main() { + r := gin.Default() + store := memstore.NewStore([]byte("secret")) + r.Use(sessions.Sessions("mysession", store)) + + r.GET("/incr", func(c *gin.Context) { + session := sessions.Default(c) + var count int + v := session.Get("count") + if v == nil { + count = 0 + } else { + count = v.(int) + count++ + } + session.Set("count", count) + session.Save() + c.JSON(200, gin.H{"count": count}) + }) + r.Run(":8000") +} +``` + + diff --git a/vendor/github.com/gin-contrib/sessions/go.mod b/vendor/github.com/gin-contrib/sessions/go.mod new file mode 100644 index 000000000..095ed991b --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/go.mod @@ -0,0 +1,17 @@ +module github.com/gin-contrib/sessions + +go 1.12 + +require ( + github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff + github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668 + github.com/bradleypeabody/gorilla-sessions-memcache v0.0.0-20181103040241-659414f458e1 + github.com/gin-gonic/gin v1.5.0 + github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 + github.com/gomodule/redigo v2.0.0+incompatible + github.com/gorilla/context v1.1.1 + github.com/gorilla/sessions v1.1.3 + github.com/kidstuff/mongostore v0.0.0-20181113001930-e650cd85ee4b + github.com/memcachier/mc v2.0.1+incompatible + github.com/quasoft/memstore v0.0.0-20180925164028-84a050167438 +) diff --git a/vendor/github.com/gin-contrib/sessions/go.sum b/vendor/github.com/gin-contrib/sessions/go.sum new file mode 100644 index 000000000..204ae181c --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/go.sum @@ -0,0 +1,69 @@ +github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff h1:RmdPFa+slIr4SCBg4st/l/vZWVe9QJKMXGO60Bxbe04= +github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff/go.mod h1:+RTT1BOk5P97fT2CiHkbFQwkK3mjsFAP6zCYV2aXtjw= +github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668 h1:U/lr3Dgy4WK+hNk4tyD+nuGjpVLPEHuJSFXMw11/HPA= +github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA= +github.com/bradleypeabody/gorilla-sessions-memcache v0.0.0-20181103040241-659414f458e1 h1:4QHxgr7hM4gVD8uOwrk8T1fjkKRLwaLjmTkU0ibhZKU= +github.com/bradleypeabody/gorilla-sessions-memcache v0.0.0-20181103040241-659414f458e1/go.mod h1:dkChI7Tbtx7H1Tj7TqGSZMOeGpMP5gLHtjroHd4agiI= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.5.0 h1:fi+bqFAx/oLK54somfCtEZs9HeH1LHVoEPUgARpTqyc= +github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-playground/locales v0.12.1 h1:2FITxuFt/xuCNP1Acdhv62OzaCiviiE4kotfhkmOqEc= +github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= +github.com/go-playground/universal-translator v0.16.0 h1:X++omBR/4cE2MNg91AoC3rmGrCjJ8eAeUP/K/EKx4DM= +github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0= +github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.1.1/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= +github.com/gorilla/sessions v1.1.3 h1:uXoZdcdA5XdXF3QzuSlheVRUvjl+1rKY7zBXL68L9RU= +github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= +github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/kidstuff/mongostore v0.0.0-20181113001930-e650cd85ee4b h1:TLCm7HR+P9HM2NXaAJaIiHerOUMedtFJeAfaYwZ8YhY= +github.com/kidstuff/mongostore v0.0.0-20181113001930-e650cd85ee4b/go.mod h1:g2nVr8KZVXJSS97Jo8pJ0jgq29P6H7dG0oplUA86MQw= +github.com/leodido/go-urn v1.1.0 h1:Sm1gr51B1kKyfD2BlRcLSiEkffoG96g6TPv6eRoEiB8= +github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= +github.com/mattn/go-isatty v0.0.9 h1:d5US/mDsogSGW37IV293h//ZFaeajb69h+EHFsv2xGg= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/memcachier/mc v2.0.1+incompatible h1:s8EDz0xrJLP8goitwZOoq1vA/sm0fPS4X3KAF0nyhWQ= +github.com/memcachier/mc v2.0.1+incompatible/go.mod h1:7bkvFE61leUBvXz+yxsOnGBQSZpBSPIMUQSmmSHvuXc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/quasoft/memstore v0.0.0-20180925164028-84a050167438 h1:jnz/4VenymvySjE+Ez511s0pqVzkUOmr1fwCVytNNWk= +github.com/quasoft/memstore v0.0.0-20180925164028-84a050167438/go.mod h1:wTPjTepVu7uJBYgZ0SdWHQlIas582j6cn2jgk4DDdlg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v9 v9.29.1 h1:SvGtYmN60a5CVKTOzMSyfzWDeZRxRuGvRQyEAKbw1xc= +gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/gin-contrib/sessions/memstore/memstore.go b/vendor/github.com/gin-contrib/sessions/memstore/memstore.go new file mode 100644 index 000000000..8826d6dd4 --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/memstore/memstore.go @@ -0,0 +1,31 @@ +package memstore + +import ( + "github.com/gin-contrib/sessions" + "github.com/quasoft/memstore" +) + +type Store interface { + sessions.Store +} + +// Keys are defined in pairs to allow key rotation, but the common case is to set a single +// authentication key and optionally an encryption key. +// +// The first key in a pair is used for authentication and the second for encryption. The +// encryption key can be set to nil or omitted in the last pair, but the authentication key +// is required in all pairs. +// +// It is recommended to use an authentication key with 32 or 64 bytes. The encryption key, +// if set, must be either 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256 modes. +func NewStore(keyPairs ...[]byte) Store { + return &store{memstore.NewMemStore(keyPairs...)} +} + +type store struct { + *memstore.MemStore +} + +func (c *store) Options(options sessions.Options) { + c.MemStore.Options = options.ToGorillaOptions() +} diff --git a/vendor/github.com/gin-contrib/sessions/session_options_go1.10.go b/vendor/github.com/gin-contrib/sessions/session_options_go1.10.go new file mode 100644 index 000000000..623473e8a --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/session_options_go1.10.go @@ -0,0 +1,30 @@ +// +build !go1.11 + +package sessions + +import ( + gsessions "github.com/gorilla/sessions" +) + +// Options stores configuration for a session or session store. +// Fields are a subset of http.Cookie fields. +type Options struct { + Path string + Domain string + // MaxAge=0 means no 'Max-Age' attribute specified. + // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'. + // MaxAge>0 means Max-Age attribute present and given in seconds. + MaxAge int + Secure bool + HttpOnly bool +} + +func (options Options) ToGorillaOptions() *gsessions.Options { + return &gsessions.Options{ + Path: options.Path, + Domain: options.Domain, + MaxAge: options.MaxAge, + Secure: options.Secure, + HttpOnly: options.HttpOnly, + } +} diff --git a/vendor/github.com/gin-contrib/sessions/session_options_go1.11.go b/vendor/github.com/gin-contrib/sessions/session_options_go1.11.go new file mode 100644 index 000000000..02b2e5e72 --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/session_options_go1.11.go @@ -0,0 +1,36 @@ +// +build go1.11 + +package sessions + +import ( + gsessions "github.com/gorilla/sessions" + "net/http" +) + +// Options stores configuration for a session or session store. +// Fields are a subset of http.Cookie fields. +type Options struct { + Path string + Domain string + // MaxAge=0 means no 'Max-Age' attribute specified. + // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'. + // MaxAge>0 means Max-Age attribute present and given in seconds. + MaxAge int + Secure bool + HttpOnly bool + // rfc-draft to preventing CSRF: https://tools.ietf.org/html/draft-west-first-party-cookies-07 + // refer: https://godoc.org/net/http + // https://www.sjoerdlangkemper.nl/2016/04/14/preventing-csrf-with-samesite-cookie-attribute/ + SameSite http.SameSite +} + +func (options Options) ToGorillaOptions() *gsessions.Options { + return &gsessions.Options{ + Path: options.Path, + Domain: options.Domain, + MaxAge: options.MaxAge, + Secure: options.Secure, + HttpOnly: options.HttpOnly, + SameSite: options.SameSite, + } +} diff --git a/vendor/github.com/gin-contrib/sessions/sessions.go b/vendor/github.com/gin-contrib/sessions/sessions.go new file mode 100644 index 000000000..8972e2321 --- /dev/null +++ b/vendor/github.com/gin-contrib/sessions/sessions.go @@ -0,0 +1,145 @@ +package sessions + +import ( + "log" + "net/http" + + "github.com/gin-gonic/gin" + "github.com/gorilla/context" + "github.com/gorilla/sessions" +) + +const ( + DefaultKey = "github.com/gin-contrib/sessions" + errorFormat = "[sessions] ERROR! %s\n" +) + +type Store interface { + sessions.Store + Options(Options) +} + +// Wraps thinly gorilla-session methods. +// Session stores the values and optional configuration for a session. +type Session interface { + // Get returns the session value associated to the given key. + Get(key interface{}) interface{} + // Set sets the session value associated to the given key. + Set(key interface{}, val interface{}) + // Delete removes the session value associated to the given key. + Delete(key interface{}) + // Clear deletes all values in the session. + Clear() + // AddFlash adds a flash message to the session. + // A single variadic argument is accepted, and it is optional: it defines the flash key. + // If not defined "_flash" is used by default. + AddFlash(value interface{}, vars ...string) + // Flashes returns a slice of flash messages from the session. + // A single variadic argument is accepted, and it is optional: it defines the flash key. + // If not defined "_flash" is used by default. + Flashes(vars ...string) []interface{} + // Options sets configuration for a session. + Options(Options) + // Save saves all sessions used during the current request. + Save() error +} + +func Sessions(name string, store Store) gin.HandlerFunc { + return func(c *gin.Context) { + s := &session{name, c.Request, store, nil, false, c.Writer} + c.Set(DefaultKey, s) + defer context.Clear(c.Request) + c.Next() + } +} + +func SessionsMany(names []string, store Store) gin.HandlerFunc { + return func(c *gin.Context) { + sessions := make(map[string]Session, len(names)) + for _, name := range names { + sessions[name] = &session{name, c.Request, store, nil, false, c.Writer} + } + c.Set(DefaultKey, sessions) + defer context.Clear(c.Request) + c.Next() + } +} + +type session struct { + name string + request *http.Request + store Store + session *sessions.Session + written bool + writer http.ResponseWriter +} + +func (s *session) Get(key interface{}) interface{} { + return s.Session().Values[key] +} + +func (s *session) Set(key interface{}, val interface{}) { + s.Session().Values[key] = val + s.written = true +} + +func (s *session) Delete(key interface{}) { + delete(s.Session().Values, key) + s.written = true +} + +func (s *session) Clear() { + for key := range s.Session().Values { + s.Delete(key) + } +} + +func (s *session) AddFlash(value interface{}, vars ...string) { + s.Session().AddFlash(value, vars...) + s.written = true +} + +func (s *session) Flashes(vars ...string) []interface{} { + s.written = true + return s.Session().Flashes(vars...) +} + +func (s *session) Options(options Options) { + s.Session().Options = options.ToGorillaOptions() +} + +func (s *session) Save() error { + if s.Written() { + e := s.Session().Save(s.request, s.writer) + if e == nil { + s.written = false + } + return e + } + return nil +} + +func (s *session) Session() *sessions.Session { + if s.session == nil { + var err error + s.session, err = s.store.Get(s.request, s.name) + if err != nil { + log.Printf(errorFormat, err) + } + } + return s.session +} + +func (s *session) Written() bool { + return s.written +} + +// shortcut to get session +func Default(c *gin.Context) Session { + return c.MustGet(DefaultKey).(Session) +} + +// shortcut to get session with given name +func DefaultMany(c *gin.Context, name string) Session { + return c.MustGet(DefaultKey).(map[string]Session)[name] +} diff --git a/vendor/github.com/gin-contrib/sse/.travis.yml b/vendor/github.com/gin-contrib/sse/.travis.yml new file mode 100644 index 000000000..d0e8fcf99 --- /dev/null +++ b/vendor/github.com/gin-contrib/sse/.travis.yml @@ -0,0 +1,26 @@ +language: go +sudo: false +go: + - 1.8.x + - 1.9.x + - 1.10.x + - 1.11.x + - 1.12.x + - master + +git: + depth: 10 + +matrix: + fast_finish: true + include: + - go: 1.11.x + env: GO111MODULE=on + - go: 1.12.x + env: GO111MODULE=on + +script: + - go test -v -covermode=count -coverprofile=coverage.out + +after_success: + - bash <(curl -s https://codecov.io/bash) diff --git a/vendor/github.com/gin-contrib/sse/LICENSE b/vendor/github.com/gin-contrib/sse/LICENSE new file mode 100644 index 000000000..1ff7f3706 --- /dev/null +++ b/vendor/github.com/gin-contrib/sse/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Manuel Martínez-Almeida + +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/gin-contrib/sse/README.md b/vendor/github.com/gin-contrib/sse/README.md new file mode 100644 index 000000000..c9c49cf94 --- /dev/null +++ b/vendor/github.com/gin-contrib/sse/README.md @@ -0,0 +1,58 @@ +# Server-Sent Events + +[![GoDoc](https://godoc.org/github.com/gin-contrib/sse?status.svg)](https://godoc.org/github.com/gin-contrib/sse) +[![Build Status](https://travis-ci.org/gin-contrib/sse.svg)](https://travis-ci.org/gin-contrib/sse) +[![codecov](https://codecov.io/gh/gin-contrib/sse/branch/master/graph/badge.svg)](https://codecov.io/gh/gin-contrib/sse) +[![Go Report Card](https://goreportcard.com/badge/github.com/gin-contrib/sse)](https://goreportcard.com/report/github.com/gin-contrib/sse) + +Server-sent events (SSE) is a technology where a browser receives automatic updates from a server via HTTP connection. The Server-Sent Events EventSource API is [standardized as part of HTML5[1] by the W3C](http://www.w3.org/TR/2009/WD-eventsource-20091029/). + +- [Read this great SSE introduction by the HTML5Rocks guys](http://www.html5rocks.com/en/tutorials/eventsource/basics/) +- [Browser support](http://caniuse.com/#feat=eventsource) + +## Sample code + +```go +import "github.com/gin-contrib/sse" + +func httpHandler(w http.ResponseWriter, req *http.Request) { + // data can be a primitive like a string, an integer or a float + sse.Encode(w, sse.Event{ + Event: "message", + Data: "some data\nmore data", + }) + + // also a complex type, like a map, a struct or a slice + sse.Encode(w, sse.Event{ + Id: "124", + Event: "message", + Data: map[string]interface{}{ + "user": "manu", + "date": time.Now().Unix(), + "content": "hi!", + }, + }) +} +``` +``` +event: message +data: some data\\nmore data + +id: 124 +event: message +data: {"content":"hi!","date":1431540810,"user":"manu"} + +``` + +## Content-Type + +```go +fmt.Println(sse.ContentType) +``` +``` +text/event-stream +``` + +## Decoding support + +There is a client-side implementation of SSE coming soon. diff --git a/vendor/github.com/gin-contrib/sse/go.mod b/vendor/github.com/gin-contrib/sse/go.mod new file mode 100644 index 000000000..b9c03f47d --- /dev/null +++ b/vendor/github.com/gin-contrib/sse/go.mod @@ -0,0 +1,5 @@ +module github.com/gin-contrib/sse + +go 1.12 + +require github.com/stretchr/testify v1.3.0 diff --git a/vendor/github.com/gin-contrib/sse/go.sum b/vendor/github.com/gin-contrib/sse/go.sum new file mode 100644 index 000000000..4347755af --- /dev/null +++ b/vendor/github.com/gin-contrib/sse/go.sum @@ -0,0 +1,7 @@ +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= diff --git a/vendor/github.com/gin-contrib/sse/sse-decoder.go b/vendor/github.com/gin-contrib/sse/sse-decoder.go new file mode 100644 index 000000000..fd49b9c37 --- /dev/null +++ b/vendor/github.com/gin-contrib/sse/sse-decoder.go @@ -0,0 +1,116 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package sse + +import ( + "bytes" + "io" + "io/ioutil" +) + +type decoder struct { + events []Event +} + +func Decode(r io.Reader) ([]Event, error) { + var dec decoder + return dec.decode(r) +} + +func (d *decoder) dispatchEvent(event Event, data string) { + dataLength := len(data) + if dataLength > 0 { + //If the data buffer's last character is a U+000A LINE FEED (LF) character, then remove the last character from the data buffer. + data = data[:dataLength-1] + dataLength-- + } + if dataLength == 0 && event.Event == "" { + return + } + if event.Event == "" { + event.Event = "message" + } + event.Data = data + d.events = append(d.events, event) +} + +func (d *decoder) decode(r io.Reader) ([]Event, error) { + buf, err := ioutil.ReadAll(r) + if err != nil { + return nil, err + } + + var currentEvent Event + var dataBuffer *bytes.Buffer = new(bytes.Buffer) + // TODO (and unit tests) + // Lines must be separated by either a U+000D CARRIAGE RETURN U+000A LINE FEED (CRLF) character pair, + // a single U+000A LINE FEED (LF) character, + // or a single U+000D CARRIAGE RETURN (CR) character. + lines := bytes.Split(buf, []byte{'\n'}) + for _, line := range lines { + if len(line) == 0 { + // If the line is empty (a blank line). Dispatch the event. + d.dispatchEvent(currentEvent, dataBuffer.String()) + + // reset current event and data buffer + currentEvent = Event{} + dataBuffer.Reset() + continue + } + if line[0] == byte(':') { + // If the line starts with a U+003A COLON character (:), ignore the line. + continue + } + + var field, value []byte + colonIndex := bytes.IndexRune(line, ':') + if colonIndex != -1 { + // If the line contains a U+003A COLON character character (:) + // Collect the characters on the line before the first U+003A COLON character (:), + // and let field be that string. + field = line[:colonIndex] + // Collect the characters on the line after the first U+003A COLON character (:), + // and let value be that string. + value = line[colonIndex+1:] + // If value starts with a single U+0020 SPACE character, remove it from value. + if len(value) > 0 && value[0] == ' ' { + value = value[1:] + } + } else { + // Otherwise, the string is not empty but does not contain a U+003A COLON character character (:) + // Use the whole line as the field name, and the empty string as the field value. + field = line + value = []byte{} + } + // The steps to process the field given a field name and a field value depend on the field name, + // as given in the following list. Field names must be compared literally, + // with no case folding performed. + switch string(field) { + case "event": + // Set the event name buffer to field value. + currentEvent.Event = string(value) + case "id": + // Set the event stream's last event ID to the field value. + currentEvent.Id = string(value) + case "retry": + // If the field value consists of only characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), + // then interpret the field value as an integer in base ten, and set the event stream's reconnection time to that integer. + // Otherwise, ignore the field. + currentEvent.Id = string(value) + case "data": + // Append the field value to the data buffer, + dataBuffer.Write(value) + // then append a single U+000A LINE FEED (LF) character to the data buffer. + dataBuffer.WriteString("\n") + default: + //Otherwise. The field is ignored. + continue + } + } + // Once the end of the file is reached, the user agent must dispatch the event one final time. + d.dispatchEvent(currentEvent, dataBuffer.String()) + + return d.events, nil +} diff --git a/vendor/github.com/gin-contrib/sse/sse-encoder.go b/vendor/github.com/gin-contrib/sse/sse-encoder.go new file mode 100644 index 000000000..f9c808750 --- /dev/null +++ b/vendor/github.com/gin-contrib/sse/sse-encoder.go @@ -0,0 +1,110 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package sse + +import ( + "encoding/json" + "fmt" + "io" + "net/http" + "reflect" + "strconv" + "strings" +) + +// Server-Sent Events +// W3C Working Draft 29 October 2009 +// http://www.w3.org/TR/2009/WD-eventsource-20091029/ + +const ContentType = "text/event-stream" + +var contentType = []string{ContentType} +var noCache = []string{"no-cache"} + +var fieldReplacer = strings.NewReplacer( + "\n", "\\n", + "\r", "\\r") + +var dataReplacer = strings.NewReplacer( + "\n", "\ndata:", + "\r", "\\r") + +type Event struct { + Event string + Id string + Retry uint + Data interface{} +} + +func Encode(writer io.Writer, event Event) error { + w := checkWriter(writer) + writeId(w, event.Id) + writeEvent(w, event.Event) + writeRetry(w, event.Retry) + return writeData(w, event.Data) +} + +func writeId(w stringWriter, id string) { + if len(id) > 0 { + w.WriteString("id:") + fieldReplacer.WriteString(w, id) + w.WriteString("\n") + } +} + +func writeEvent(w stringWriter, event string) { + if len(event) > 0 { + w.WriteString("event:") + fieldReplacer.WriteString(w, event) + w.WriteString("\n") + } +} + +func writeRetry(w stringWriter, retry uint) { + if retry > 0 { + w.WriteString("retry:") + w.WriteString(strconv.FormatUint(uint64(retry), 10)) + w.WriteString("\n") + } +} + +func writeData(w stringWriter, data interface{}) error { + w.WriteString("data:") + switch kindOfData(data) { + case reflect.Struct, reflect.Slice, reflect.Map: + err := json.NewEncoder(w).Encode(data) + if err != nil { + return err + } + w.WriteString("\n") + default: + dataReplacer.WriteString(w, fmt.Sprint(data)) + w.WriteString("\n\n") + } + return nil +} + +func (r Event) Render(w http.ResponseWriter) error { + r.WriteContentType(w) + return Encode(w, r) +} + +func (r Event) WriteContentType(w http.ResponseWriter) { + header := w.Header() + header["Content-Type"] = contentType + + if _, exist := header["Cache-Control"]; !exist { + header["Cache-Control"] = noCache + } +} + +func kindOfData(data interface{}) reflect.Kind { + value := reflect.ValueOf(data) + valueType := value.Kind() + if valueType == reflect.Ptr { + valueType = value.Elem().Kind() + } + return valueType +} diff --git a/vendor/github.com/gin-contrib/sse/writer.go b/vendor/github.com/gin-contrib/sse/writer.go new file mode 100644 index 000000000..6f9806c55 --- /dev/null +++ b/vendor/github.com/gin-contrib/sse/writer.go @@ -0,0 +1,24 @@ +package sse + +import "io" + +type stringWriter interface { + io.Writer + WriteString(string) (int, error) +} + +type stringWrapper struct { + io.Writer +} + +func (w stringWrapper) WriteString(str string) (int, error) { + return w.Writer.Write([]byte(str)) +} + +func checkWriter(writer io.Writer) stringWriter { + if w, ok := writer.(stringWriter); ok { + return w + } else { + return stringWrapper{writer} + } +} diff --git a/vendor/github.com/gin-gonic/gin/.gitignore b/vendor/github.com/gin-gonic/gin/.gitignore new file mode 100644 index 000000000..bdd50c95c --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/.gitignore @@ -0,0 +1,7 @@ +vendor/* +!vendor/vendor.json +coverage.out +count.out +test +profile.out +tmp.out diff --git a/vendor/github.com/gin-gonic/gin/AUTHORS.md b/vendor/github.com/gin-gonic/gin/AUTHORS.md new file mode 100644 index 000000000..c634e6be0 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/AUTHORS.md @@ -0,0 +1,233 @@ +List of all the awesome people working to make Gin the best Web Framework in Go. + +## gin 1.x series authors + +**Gin Core Team:** Bo-Yi Wu (@appleboy), 田欧 (@thinkerou), Javier Provecho (@javierprovecho) + +## gin 0.x series authors + +**Maintainers:** Manu Martinez-Almeida (@manucorporat), Javier Provecho (@javierprovecho) + +People and companies, who have contributed, in alphabetical order. + +**@858806258 (杰哥)** +- Fix typo in example + + +**@achedeuzot (Klemen Sever)** +- Fix newline debug printing + + +**@adammck (Adam Mckaig)** +- Add MIT license + + +**@AlexanderChen1989 (Alexander)** +- Typos in README + + +**@alexanderdidenko (Aleksandr Didenko)** +- Add support multipart/form-data + + +**@alexandernyquist (Alexander Nyquist)** +- Using template.Must to fix multiple return issue +- ★ Added support for OPTIONS verb +- ★ Setting response headers before calling WriteHeader +- Improved documentation for model binding +- ★ Added Content.Redirect() +- ★ Added tons of Unit tests + + +**@austinheap (Austin Heap)** +- Added travis CI integration + + +**@andredublin (Andre Dublin)** +- Fix typo in comment + + +**@bredov (Ludwig Valda Vasquez)** +- Fix html templating in debug mode + + +**@bluele (Jun Kimura)** +- Fixes code examples in README + + +**@chad-russell** +- ★ Support for serializing gin.H into XML + + +**@dickeyxxx (Jeff Dickey)** +- Typos in README +- Add example about serving static files + + +**@donileo (Adonis)** +- Add NoMethod handler + + +**@dutchcoders (DutchCoders)** +- ★ Fix security bug that allows client to spoof ip +- Fix typo. r.HTMLTemplates -> SetHTMLTemplate + + +**@el3ctro- (Joshua Loper)** +- Fix typo in example + + +**@ethankan (Ethan Kan)** +- Unsigned integers in binding + + +**(Evgeny Persienko)** +- Validate sub structures + + +**@frankbille (Frank Bille)** +- Add support for HTTP Realm Auth + + +**@fmd (Fareed Dudhia)** +- Fix typo. SetHTTPTemplate -> SetHTMLTemplate + + +**@ironiridis (Christopher Harrington)** +- Remove old reference + + +**@jammie-stackhouse (Jamie Stackhouse)** +- Add more shortcuts for router methods + + +**@jasonrhansen** +- Fix spelling and grammar errors in documentation + + +**@JasonSoft (Jason Lee)** +- Fix typo in comment + + +**@joiggama (Ignacio Galindo)** +- Add utf-8 charset header on renders + + +**@julienschmidt (Julien Schmidt)** +- gofmt the code examples + + +**@kelcecil (Kel Cecil)** +- Fix readme typo + + +**@kyledinh (Kyle Dinh)** +- Adds RunTLS() + + +**@LinusU (Linus Unnebäck)** +- Small fixes in README + + +**@loongmxbt (Saint Asky)** +- Fix typo in example + + +**@lucas-clemente (Lucas Clemente)** +- ★ work around path.Join removing trailing slashes from routes + + +**@mattn (Yasuhiro Matsumoto)** +- Improve color logger + + +**@mdigger (Dmitry Sedykh)** +- Fixes Form binding when content-type is x-www-form-urlencoded +- No repeat call c.Writer.Status() in gin.Logger +- Fixes Content-Type for json render + + +**@mirzac (Mirza Ceric)** +- Fix debug printing + + +**@mopemope (Yutaka Matsubara)** +- ★ Adds Godep support (Dependencies Manager) +- Fix variadic parameter in the flexible render API +- Fix Corrupted plain render +- Add Pluggable View Renderer Example + + +**@msemenistyi (Mykyta Semenistyi)** +- update Readme.md. Add code to String method + + +**@msoedov (Sasha Myasoedov)** +- ★ Adds tons of unit tests. + + +**@ngerakines (Nick Gerakines)** +- ★ Improves API, c.GET() doesn't panic +- Adds MustGet() method + + +**@r8k (Rajiv Kilaparti)** +- Fix Port usage in README. + + +**@rayrod2030 (Ray Rodriguez)** +- Fix typo in example + + +**@rns** +- Fix typo in example + + +**@RobAWilkinson (Robert Wilkinson)** +- Add example of forms and params + + +**@rogierlommers (Rogier Lommers)** +- Add updated static serve example + +**@rw-access (Ross Wolf)** +- Added support to mix exact and param routes + +**@se77en (Damon Zhao)** +- Improve color logging + + +**@silasb (Silas Baronda)** +- Fixing quotes in README + + +**@SkuliOskarsson (Skuli Oskarsson)** +- Fixes some texts in README II + + +**@slimmy (Jimmy Pettersson)** +- Added messages for required bindings + + +**@smira (Andrey Smirnov)** +- Add support for ignored/unexported fields in binding + + +**@superalsrk (SRK.Lyu)** +- Update httprouter godeps + + +**@tebeka (Miki Tebeka)** +- Use net/http constants instead of numeric values + + +**@techjanitor** +- Update context.go reserved IPs + + +**@yosssi (Keiji Yoshida)** +- Fix link in README + + +**@yuyabee** +- Fixed README diff --git a/vendor/github.com/gin-gonic/gin/BENCHMARKS.md b/vendor/github.com/gin-gonic/gin/BENCHMARKS.md new file mode 100644 index 000000000..c11ee99ae --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/BENCHMARKS.md @@ -0,0 +1,666 @@ + +# Benchmark System + +**VM HOST:** Travis +**Machine:** Ubuntu 16.04.6 LTS x64 +**Date:** May 04th, 2020 +**Version:** Gin v1.6.3 +**Go Version:** 1.14.2 linux/amd64 +**Source:** [Go HTTP Router Benchmark](https://github.com/gin-gonic/go-http-routing-benchmark) +**Result:** [See the gist](https://gist.github.com/appleboy/b5f2ecfaf50824ae9c64dcfb9165ae5e) or [Travis result](https://travis-ci.org/github/gin-gonic/go-http-routing-benchmark/jobs/682947061) + +## Static Routes: 157 + +```sh +Gin: 34936 Bytes + +HttpServeMux: 14512 Bytes +Ace: 30680 Bytes +Aero: 34536 Bytes +Bear: 30456 Bytes +Beego: 98456 Bytes +Bone: 40224 Bytes +Chi: 83608 Bytes +Denco: 10216 Bytes +Echo: 80328 Bytes +GocraftWeb: 55288 Bytes +Goji: 29744 Bytes +Gojiv2: 105840 Bytes +GoJsonRest: 137496 Bytes +GoRestful: 816936 Bytes +GorillaMux: 585632 Bytes +GowwwRouter: 24968 Bytes +HttpRouter: 21712 Bytes +HttpTreeMux: 73448 Bytes +Kocha: 115472 Bytes +LARS: 30640 Bytes +Macaron: 38592 Bytes +Martini: 310864 Bytes +Pat: 19696 Bytes +Possum: 89920 Bytes +R2router: 23712 Bytes +Rivet: 24608 Bytes +Tango: 28264 Bytes +TigerTonic: 78768 Bytes +Traffic: 538976 Bytes +Vulcan: 369960 Bytes +``` + +## GithubAPI Routes: 203 + +```sh +Gin: 58512 Bytes + +Ace: 48688 Bytes +Aero: 318568 Bytes +Bear: 84248 Bytes +Beego: 150936 Bytes +Bone: 100976 Bytes +Chi: 95112 Bytes +Denco: 36736 Bytes +Echo: 100296 Bytes +GocraftWeb: 95432 Bytes +Goji: 49680 Bytes +Gojiv2: 104704 Bytes +GoJsonRest: 141976 Bytes +GoRestful: 1241656 Bytes +GorillaMux: 1322784 Bytes +GowwwRouter: 80008 Bytes +HttpRouter: 37144 Bytes +HttpTreeMux: 78800 Bytes +Kocha: 785120 Bytes +LARS: 48600 Bytes +Macaron: 92784 Bytes +Martini: 485264 Bytes +Pat: 21200 Bytes +Possum: 85312 Bytes +R2router: 47104 Bytes +Rivet: 42840 Bytes +Tango: 54840 Bytes +TigerTonic: 95264 Bytes +Traffic: 921744 Bytes +Vulcan: 425992 Bytes +``` + +## GPlusAPI Routes: 13 + +```sh +Gin: 4384 Bytes + +Ace: 3712 Bytes +Aero: 26056 Bytes +Bear: 7112 Bytes +Beego: 10272 Bytes +Bone: 6688 Bytes +Chi: 8024 Bytes +Denco: 3264 Bytes +Echo: 9688 Bytes +GocraftWeb: 7496 Bytes +Goji: 3152 Bytes +Gojiv2: 7376 Bytes +GoJsonRest: 11400 Bytes +GoRestful: 74328 Bytes +GorillaMux: 66208 Bytes +GowwwRouter: 5744 Bytes +HttpRouter: 2808 Bytes +HttpTreeMux: 7440 Bytes +Kocha: 128880 Bytes +LARS: 3656 Bytes +Macaron: 8656 Bytes +Martini: 23920 Bytes +Pat: 1856 Bytes +Possum: 7248 Bytes +R2router: 3928 Bytes +Rivet: 3064 Bytes +Tango: 5168 Bytes +TigerTonic: 9408 Bytes +Traffic: 46400 Bytes +Vulcan: 25544 Bytes +``` + +## ParseAPI Routes: 26 + +```sh +Gin: 7776 Bytes + +Ace: 6704 Bytes +Aero: 28488 Bytes +Bear: 12320 Bytes +Beego: 19280 Bytes +Bone: 11440 Bytes +Chi: 9744 Bytes +Denco: 4192 Bytes +Echo: 11664 Bytes +GocraftWeb: 12800 Bytes +Goji: 5680 Bytes +Gojiv2: 14464 Bytes +GoJsonRest: 14072 Bytes +GoRestful: 116264 Bytes +GorillaMux: 105880 Bytes +GowwwRouter: 9344 Bytes +HttpRouter: 5072 Bytes +HttpTreeMux: 7848 Bytes +Kocha: 181712 Bytes +LARS: 6632 Bytes +Macaron: 13648 Bytes +Martini: 45888 Bytes +Pat: 2560 Bytes +Possum: 9200 Bytes +R2router: 7056 Bytes +Rivet: 5680 Bytes +Tango: 8920 Bytes +TigerTonic: 9840 Bytes +Traffic: 79096 Bytes +Vulcan: 44504 Bytes +``` + +## Static Routes + +```sh +BenchmarkGin_StaticAll 62169 19319 ns/op 0 B/op 0 allocs/op + +BenchmarkAce_StaticAll 65428 18313 ns/op 0 B/op 0 allocs/op +BenchmarkAero_StaticAll 121132 9632 ns/op 0 B/op 0 allocs/op +BenchmarkHttpServeMux_StaticAll 52626 22758 ns/op 0 B/op 0 allocs/op +BenchmarkBeego_StaticAll 9962 179058 ns/op 55264 B/op 471 allocs/op +BenchmarkBear_StaticAll 14894 80966 ns/op 20272 B/op 469 allocs/op +BenchmarkBone_StaticAll 18718 64065 ns/op 0 B/op 0 allocs/op +BenchmarkChi_StaticAll 10000 149827 ns/op 67824 B/op 471 allocs/op +BenchmarkDenco_StaticAll 211393 5680 ns/op 0 B/op 0 allocs/op +BenchmarkEcho_StaticAll 49341 24343 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_StaticAll 10000 126209 ns/op 46312 B/op 785 allocs/op +BenchmarkGoji_StaticAll 27956 43174 ns/op 0 B/op 0 allocs/op +BenchmarkGojiv2_StaticAll 3430 370718 ns/op 205984 B/op 1570 allocs/op +BenchmarkGoJsonRest_StaticAll 9134 188888 ns/op 51653 B/op 1727 allocs/op +BenchmarkGoRestful_StaticAll 706 1703330 ns/op 613280 B/op 2053 allocs/op +BenchmarkGorillaMux_StaticAll 1268 924083 ns/op 153233 B/op 1413 allocs/op +BenchmarkGowwwRouter_StaticAll 63374 18935 ns/op 0 B/op 0 allocs/op +BenchmarkHttpRouter_StaticAll 109938 10902 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_StaticAll 109166 10861 ns/op 0 B/op 0 allocs/op +BenchmarkKocha_StaticAll 92258 12992 ns/op 0 B/op 0 allocs/op +BenchmarkLARS_StaticAll 65200 18387 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_StaticAll 5671 291501 ns/op 115553 B/op 1256 allocs/op +BenchmarkMartini_StaticAll 807 1460498 ns/op 125444 B/op 1717 allocs/op +BenchmarkPat_StaticAll 513 2342396 ns/op 602832 B/op 12559 allocs/op +BenchmarkPossum_StaticAll 10000 128270 ns/op 65312 B/op 471 allocs/op +BenchmarkR2router_StaticAll 16726 71760 ns/op 22608 B/op 628 allocs/op +BenchmarkRivet_StaticAll 41722 28723 ns/op 0 B/op 0 allocs/op +BenchmarkTango_StaticAll 7606 205082 ns/op 39209 B/op 1256 allocs/op +BenchmarkTigerTonic_StaticAll 26247 45806 ns/op 7376 B/op 157 allocs/op +BenchmarkTraffic_StaticAll 550 2284518 ns/op 754864 B/op 14601 allocs/op +BenchmarkVulcan_StaticAll 10000 131343 ns/op 15386 B/op 471 allocs/op +``` + +## Micro Benchmarks + +```sh +BenchmarkGin_Param 18785022 63.9 ns/op 0 B/op 0 allocs/op + +BenchmarkAce_Param 14689765 81.5 ns/op 0 B/op 0 allocs/op +BenchmarkAero_Param 23094770 51.2 ns/op 0 B/op 0 allocs/op +BenchmarkBear_Param 1417045 845 ns/op 456 B/op 5 allocs/op +BenchmarkBeego_Param 1000000 1080 ns/op 352 B/op 3 allocs/op +BenchmarkBone_Param 1000000 1463 ns/op 816 B/op 6 allocs/op +BenchmarkChi_Param 1378756 885 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_Param 8557899 143 ns/op 32 B/op 1 allocs/op +BenchmarkEcho_Param 16433347 75.5 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_Param 1000000 1218 ns/op 648 B/op 8 allocs/op +BenchmarkGoji_Param 1921248 617 ns/op 336 B/op 2 allocs/op +BenchmarkGojiv2_Param 561848 2156 ns/op 1328 B/op 11 allocs/op +BenchmarkGoJsonRest_Param 1000000 1358 ns/op 649 B/op 13 allocs/op +BenchmarkGoRestful_Param 224857 5307 ns/op 4192 B/op 14 allocs/op +BenchmarkGorillaMux_Param 498313 2459 ns/op 1280 B/op 10 allocs/op +BenchmarkGowwwRouter_Param 1864354 654 ns/op 432 B/op 3 allocs/op +BenchmarkHttpRouter_Param 26269074 47.7 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_Param 2109829 557 ns/op 352 B/op 3 allocs/op +BenchmarkKocha_Param 5050216 243 ns/op 56 B/op 3 allocs/op +BenchmarkLARS_Param 19811712 59.9 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_Param 662746 2329 ns/op 1072 B/op 10 allocs/op +BenchmarkMartini_Param 279902 4260 ns/op 1072 B/op 10 allocs/op +BenchmarkPat_Param 1000000 1382 ns/op 536 B/op 11 allocs/op +BenchmarkPossum_Param 1000000 1014 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_Param 1712559 707 ns/op 432 B/op 5 allocs/op +BenchmarkRivet_Param 6648086 182 ns/op 48 B/op 1 allocs/op +BenchmarkTango_Param 1221504 994 ns/op 248 B/op 8 allocs/op +BenchmarkTigerTonic_Param 891661 2261 ns/op 776 B/op 16 allocs/op +BenchmarkTraffic_Param 350059 3598 ns/op 1856 B/op 21 allocs/op +BenchmarkVulcan_Param 2517823 472 ns/op 98 B/op 3 allocs/op +BenchmarkAce_Param5 9214365 130 ns/op 0 B/op 0 allocs/op +BenchmarkAero_Param5 15369013 77.9 ns/op 0 B/op 0 allocs/op +BenchmarkBear_Param5 1000000 1113 ns/op 501 B/op 5 allocs/op +BenchmarkBeego_Param5 1000000 1269 ns/op 352 B/op 3 allocs/op +BenchmarkBone_Param5 986820 1873 ns/op 864 B/op 6 allocs/op +BenchmarkChi_Param5 1000000 1156 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_Param5 3036331 400 ns/op 160 B/op 1 allocs/op +BenchmarkEcho_Param5 6447133 186 ns/op 0 B/op 0 allocs/op +BenchmarkGin_Param5 10786068 110 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_Param5 844820 1944 ns/op 920 B/op 11 allocs/op +BenchmarkGoji_Param5 1474965 827 ns/op 336 B/op 2 allocs/op +BenchmarkGojiv2_Param5 442820 2516 ns/op 1392 B/op 11 allocs/op +BenchmarkGoJsonRest_Param5 507555 2711 ns/op 1097 B/op 16 allocs/op +BenchmarkGoRestful_Param5 216481 6093 ns/op 4288 B/op 14 allocs/op +BenchmarkGorillaMux_Param5 314402 3628 ns/op 1344 B/op 10 allocs/op +BenchmarkGowwwRouter_Param5 1624660 733 ns/op 432 B/op 3 allocs/op +BenchmarkHttpRouter_Param5 13167324 92.0 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_Param5 1000000 1295 ns/op 576 B/op 6 allocs/op +BenchmarkKocha_Param5 1000000 1138 ns/op 440 B/op 10 allocs/op +BenchmarkLARS_Param5 11580613 105 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_Param5 473596 2755 ns/op 1072 B/op 10 allocs/op +BenchmarkMartini_Param5 230756 5111 ns/op 1232 B/op 11 allocs/op +BenchmarkPat_Param5 469190 3370 ns/op 888 B/op 29 allocs/op +BenchmarkPossum_Param5 1000000 1002 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_Param5 1422129 844 ns/op 432 B/op 5 allocs/op +BenchmarkRivet_Param5 2263789 539 ns/op 240 B/op 1 allocs/op +BenchmarkTango_Param5 1000000 1256 ns/op 360 B/op 8 allocs/op +BenchmarkTigerTonic_Param5 175500 7492 ns/op 2279 B/op 39 allocs/op +BenchmarkTraffic_Param5 233631 5816 ns/op 2208 B/op 27 allocs/op +BenchmarkVulcan_Param5 1923416 629 ns/op 98 B/op 3 allocs/op +BenchmarkAce_Param20 4321266 281 ns/op 0 B/op 0 allocs/op +BenchmarkAero_Param20 31501641 35.2 ns/op 0 B/op 0 allocs/op +BenchmarkBear_Param20 335204 3489 ns/op 1665 B/op 5 allocs/op +BenchmarkBeego_Param20 503674 2860 ns/op 352 B/op 3 allocs/op +BenchmarkBone_Param20 298922 4741 ns/op 2031 B/op 6 allocs/op +BenchmarkChi_Param20 878181 1957 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_Param20 1000000 1360 ns/op 640 B/op 1 allocs/op +BenchmarkEcho_Param20 2104946 580 ns/op 0 B/op 0 allocs/op +BenchmarkGin_Param20 4167204 290 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_Param20 173064 7514 ns/op 3796 B/op 15 allocs/op +BenchmarkGoji_Param20 458778 2651 ns/op 1247 B/op 2 allocs/op +BenchmarkGojiv2_Param20 364862 3178 ns/op 1632 B/op 11 allocs/op +BenchmarkGoJsonRest_Param20 125514 9760 ns/op 4485 B/op 20 allocs/op +BenchmarkGoRestful_Param20 101217 11964 ns/op 6715 B/op 18 allocs/op +BenchmarkGorillaMux_Param20 147654 8132 ns/op 3452 B/op 12 allocs/op +BenchmarkGowwwRouter_Param20 1000000 1225 ns/op 432 B/op 3 allocs/op +BenchmarkHttpRouter_Param20 4920895 247 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_Param20 173202 6605 ns/op 3196 B/op 10 allocs/op +BenchmarkKocha_Param20 345988 3620 ns/op 1808 B/op 27 allocs/op +BenchmarkLARS_Param20 4592326 262 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_Param20 166492 7286 ns/op 2924 B/op 12 allocs/op +BenchmarkMartini_Param20 122162 10653 ns/op 3595 B/op 13 allocs/op +BenchmarkPat_Param20 78630 15239 ns/op 4424 B/op 93 allocs/op +BenchmarkPossum_Param20 1000000 1008 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_Param20 294981 4587 ns/op 2284 B/op 7 allocs/op +BenchmarkRivet_Param20 691798 2090 ns/op 1024 B/op 1 allocs/op +BenchmarkTango_Param20 842440 2505 ns/op 856 B/op 8 allocs/op +BenchmarkTigerTonic_Param20 38614 31509 ns/op 9870 B/op 119 allocs/op +BenchmarkTraffic_Param20 57633 21107 ns/op 7853 B/op 47 allocs/op +BenchmarkVulcan_Param20 1000000 1178 ns/op 98 B/op 3 allocs/op +BenchmarkAce_ParamWrite 7330743 180 ns/op 8 B/op 1 allocs/op +BenchmarkAero_ParamWrite 13833598 86.7 ns/op 0 B/op 0 allocs/op +BenchmarkBear_ParamWrite 1363321 867 ns/op 456 B/op 5 allocs/op +BenchmarkBeego_ParamWrite 1000000 1104 ns/op 360 B/op 4 allocs/op +BenchmarkBone_ParamWrite 1000000 1475 ns/op 816 B/op 6 allocs/op +BenchmarkChi_ParamWrite 1320590 892 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_ParamWrite 7093605 172 ns/op 32 B/op 1 allocs/op +BenchmarkEcho_ParamWrite 8434424 161 ns/op 8 B/op 1 allocs/op +BenchmarkGin_ParamWrite 10377034 118 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_ParamWrite 1000000 1266 ns/op 656 B/op 9 allocs/op +BenchmarkGoji_ParamWrite 1874168 654 ns/op 336 B/op 2 allocs/op +BenchmarkGojiv2_ParamWrite 459032 2352 ns/op 1360 B/op 13 allocs/op +BenchmarkGoJsonRest_ParamWrite 499434 2145 ns/op 1128 B/op 18 allocs/op +BenchmarkGoRestful_ParamWrite 241087 5470 ns/op 4200 B/op 15 allocs/op +BenchmarkGorillaMux_ParamWrite 425686 2522 ns/op 1280 B/op 10 allocs/op +BenchmarkGowwwRouter_ParamWrite 922172 1778 ns/op 976 B/op 8 allocs/op +BenchmarkHttpRouter_ParamWrite 15392049 77.7 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_ParamWrite 1973385 597 ns/op 352 B/op 3 allocs/op +BenchmarkKocha_ParamWrite 4262500 281 ns/op 56 B/op 3 allocs/op +BenchmarkLARS_ParamWrite 10764410 113 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_ParamWrite 486769 2726 ns/op 1176 B/op 14 allocs/op +BenchmarkMartini_ParamWrite 264804 4842 ns/op 1176 B/op 14 allocs/op +BenchmarkPat_ParamWrite 735116 2047 ns/op 960 B/op 15 allocs/op +BenchmarkPossum_ParamWrite 1000000 1004 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_ParamWrite 1592136 768 ns/op 432 B/op 5 allocs/op +BenchmarkRivet_ParamWrite 3582051 339 ns/op 112 B/op 2 allocs/op +BenchmarkTango_ParamWrite 2237337 534 ns/op 136 B/op 4 allocs/op +BenchmarkTigerTonic_ParamWrite 439608 3136 ns/op 1216 B/op 21 allocs/op +BenchmarkTraffic_ParamWrite 306979 4328 ns/op 2280 B/op 25 allocs/op +BenchmarkVulcan_ParamWrite 2529973 472 ns/op 98 B/op 3 allocs/op +``` + +## GitHub + +```sh +BenchmarkGin_GithubStatic 15629472 76.7 ns/op 0 B/op 0 allocs/op + +BenchmarkAce_GithubStatic 15542612 75.9 ns/op 0 B/op 0 allocs/op +BenchmarkAero_GithubStatic 24777151 48.5 ns/op 0 B/op 0 allocs/op +BenchmarkBear_GithubStatic 2788894 435 ns/op 120 B/op 3 allocs/op +BenchmarkBeego_GithubStatic 1000000 1064 ns/op 352 B/op 3 allocs/op +BenchmarkBone_GithubStatic 93507 12838 ns/op 2880 B/op 60 allocs/op +BenchmarkChi_GithubStatic 1387743 860 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_GithubStatic 39384996 30.4 ns/op 0 B/op 0 allocs/op +BenchmarkEcho_GithubStatic 12076382 99.1 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_GithubStatic 1596495 756 ns/op 296 B/op 5 allocs/op +BenchmarkGoji_GithubStatic 6364876 189 ns/op 0 B/op 0 allocs/op +BenchmarkGojiv2_GithubStatic 550202 2098 ns/op 1312 B/op 10 allocs/op +BenchmarkGoRestful_GithubStatic 102183 12552 ns/op 4256 B/op 13 allocs/op +BenchmarkGoJsonRest_GithubStatic 1000000 1029 ns/op 329 B/op 11 allocs/op +BenchmarkGorillaMux_GithubStatic 255552 5190 ns/op 976 B/op 9 allocs/op +BenchmarkGowwwRouter_GithubStatic 15531916 77.1 ns/op 0 B/op 0 allocs/op +BenchmarkHttpRouter_GithubStatic 27920724 43.1 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_GithubStatic 21448953 55.8 ns/op 0 B/op 0 allocs/op +BenchmarkKocha_GithubStatic 21405310 56.0 ns/op 0 B/op 0 allocs/op +BenchmarkLARS_GithubStatic 13625156 89.0 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_GithubStatic 1000000 1747 ns/op 736 B/op 8 allocs/op +BenchmarkMartini_GithubStatic 187186 7326 ns/op 768 B/op 9 allocs/op +BenchmarkPat_GithubStatic 109143 11563 ns/op 3648 B/op 76 allocs/op +BenchmarkPossum_GithubStatic 1575898 770 ns/op 416 B/op 3 allocs/op +BenchmarkR2router_GithubStatic 3046231 404 ns/op 144 B/op 4 allocs/op +BenchmarkRivet_GithubStatic 11484826 105 ns/op 0 B/op 0 allocs/op +BenchmarkTango_GithubStatic 1000000 1153 ns/op 248 B/op 8 allocs/op +BenchmarkTigerTonic_GithubStatic 4929780 249 ns/op 48 B/op 1 allocs/op +BenchmarkTraffic_GithubStatic 106351 11819 ns/op 4664 B/op 90 allocs/op +BenchmarkVulcan_GithubStatic 1613271 722 ns/op 98 B/op 3 allocs/op +BenchmarkAce_GithubParam 8386032 143 ns/op 0 B/op 0 allocs/op +BenchmarkAero_GithubParam 11816200 102 ns/op 0 B/op 0 allocs/op +BenchmarkBear_GithubParam 1000000 1012 ns/op 496 B/op 5 allocs/op +BenchmarkBeego_GithubParam 1000000 1157 ns/op 352 B/op 3 allocs/op +BenchmarkBone_GithubParam 184653 6912 ns/op 1888 B/op 19 allocs/op +BenchmarkChi_GithubParam 1000000 1102 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_GithubParam 3484798 352 ns/op 128 B/op 1 allocs/op +BenchmarkEcho_GithubParam 6337380 189 ns/op 0 B/op 0 allocs/op +BenchmarkGin_GithubParam 9132032 131 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_GithubParam 1000000 1446 ns/op 712 B/op 9 allocs/op +BenchmarkGoji_GithubParam 1248640 977 ns/op 336 B/op 2 allocs/op +BenchmarkGojiv2_GithubParam 383233 2784 ns/op 1408 B/op 13 allocs/op +BenchmarkGoJsonRest_GithubParam 1000000 1991 ns/op 713 B/op 14 allocs/op +BenchmarkGoRestful_GithubParam 76414 16015 ns/op 4352 B/op 16 allocs/op +BenchmarkGorillaMux_GithubParam 150026 7663 ns/op 1296 B/op 10 allocs/op +BenchmarkGowwwRouter_GithubParam 1592044 751 ns/op 432 B/op 3 allocs/op +BenchmarkHttpRouter_GithubParam 10420628 115 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_GithubParam 1403755 835 ns/op 384 B/op 4 allocs/op +BenchmarkKocha_GithubParam 2286170 533 ns/op 128 B/op 5 allocs/op +BenchmarkLARS_GithubParam 9540374 129 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_GithubParam 533154 2742 ns/op 1072 B/op 10 allocs/op +BenchmarkMartini_GithubParam 119397 9638 ns/op 1152 B/op 11 allocs/op +BenchmarkPat_GithubParam 150675 8858 ns/op 2408 B/op 48 allocs/op +BenchmarkPossum_GithubParam 1000000 1001 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_GithubParam 1602886 761 ns/op 432 B/op 5 allocs/op +BenchmarkRivet_GithubParam 2986579 409 ns/op 96 B/op 1 allocs/op +BenchmarkTango_GithubParam 1000000 1356 ns/op 344 B/op 8 allocs/op +BenchmarkTigerTonic_GithubParam 388899 3429 ns/op 1176 B/op 22 allocs/op +BenchmarkTraffic_GithubParam 123160 9734 ns/op 2816 B/op 40 allocs/op +BenchmarkVulcan_GithubParam 1000000 1138 ns/op 98 B/op 3 allocs/op +BenchmarkAce_GithubAll 40543 29670 ns/op 0 B/op 0 allocs/op +BenchmarkAero_GithubAll 57632 20648 ns/op 0 B/op 0 allocs/op +BenchmarkBear_GithubAll 9234 216179 ns/op 86448 B/op 943 allocs/op +BenchmarkBeego_GithubAll 7407 243496 ns/op 71456 B/op 609 allocs/op +BenchmarkBone_GithubAll 420 2922835 ns/op 720160 B/op 8620 allocs/op +BenchmarkChi_GithubAll 7620 238331 ns/op 87696 B/op 609 allocs/op +BenchmarkDenco_GithubAll 18355 64494 ns/op 20224 B/op 167 allocs/op +BenchmarkEcho_GithubAll 31251 38479 ns/op 0 B/op 0 allocs/op +BenchmarkGin_GithubAll 43550 27364 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_GithubAll 4117 300062 ns/op 131656 B/op 1686 allocs/op +BenchmarkGoji_GithubAll 3274 416158 ns/op 56112 B/op 334 allocs/op +BenchmarkGojiv2_GithubAll 1402 870518 ns/op 352720 B/op 4321 allocs/op +BenchmarkGoJsonRest_GithubAll 2976 401507 ns/op 134371 B/op 2737 allocs/op +BenchmarkGoRestful_GithubAll 410 2913158 ns/op 910144 B/op 2938 allocs/op +BenchmarkGorillaMux_GithubAll 346 3384987 ns/op 251650 B/op 1994 allocs/op +BenchmarkGowwwRouter_GithubAll 10000 143025 ns/op 72144 B/op 501 allocs/op +BenchmarkHttpRouter_GithubAll 55938 21360 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_GithubAll 10000 153944 ns/op 65856 B/op 671 allocs/op +BenchmarkKocha_GithubAll 10000 106315 ns/op 23304 B/op 843 allocs/op +BenchmarkLARS_GithubAll 47779 25084 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_GithubAll 3266 371907 ns/op 149409 B/op 1624 allocs/op +BenchmarkMartini_GithubAll 331 3444706 ns/op 226551 B/op 2325 allocs/op +BenchmarkPat_GithubAll 273 4381818 ns/op 1483152 B/op 26963 allocs/op +BenchmarkPossum_GithubAll 10000 164367 ns/op 84448 B/op 609 allocs/op +BenchmarkR2router_GithubAll 10000 160220 ns/op 77328 B/op 979 allocs/op +BenchmarkRivet_GithubAll 14625 82453 ns/op 16272 B/op 167 allocs/op +BenchmarkTango_GithubAll 6255 279611 ns/op 63826 B/op 1618 allocs/op +BenchmarkTigerTonic_GithubAll 2008 687874 ns/op 193856 B/op 4474 allocs/op +BenchmarkTraffic_GithubAll 355 3478508 ns/op 820744 B/op 14114 allocs/op +BenchmarkVulcan_GithubAll 6885 193333 ns/op 19894 B/op 609 allocs/op +``` + +## Google+ + +```sh +BenchmarkGin_GPlusStatic 19247326 62.2 ns/op 0 B/op 0 allocs/op + +BenchmarkAce_GPlusStatic 20235060 59.2 ns/op 0 B/op 0 allocs/op +BenchmarkAero_GPlusStatic 31978935 37.6 ns/op 0 B/op 0 allocs/op +BenchmarkBear_GPlusStatic 3516523 341 ns/op 104 B/op 3 allocs/op +BenchmarkBeego_GPlusStatic 1212036 991 ns/op 352 B/op 3 allocs/op +BenchmarkBone_GPlusStatic 6736242 183 ns/op 32 B/op 1 allocs/op +BenchmarkChi_GPlusStatic 1490640 814 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_GPlusStatic 55006856 21.8 ns/op 0 B/op 0 allocs/op +BenchmarkEcho_GPlusStatic 17688258 67.9 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_GPlusStatic 1829181 666 ns/op 280 B/op 5 allocs/op +BenchmarkGoji_GPlusStatic 9147451 130 ns/op 0 B/op 0 allocs/op +BenchmarkGojiv2_GPlusStatic 594015 2063 ns/op 1312 B/op 10 allocs/op +BenchmarkGoJsonRest_GPlusStatic 1264906 950 ns/op 329 B/op 11 allocs/op +BenchmarkGoRestful_GPlusStatic 231558 5341 ns/op 3872 B/op 13 allocs/op +BenchmarkGorillaMux_GPlusStatic 908418 1809 ns/op 976 B/op 9 allocs/op +BenchmarkGowwwRouter_GPlusStatic 40684604 29.5 ns/op 0 B/op 0 allocs/op +BenchmarkHttpRouter_GPlusStatic 46742804 25.7 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_GPlusStatic 32567161 36.9 ns/op 0 B/op 0 allocs/op +BenchmarkKocha_GPlusStatic 33800060 35.3 ns/op 0 B/op 0 allocs/op +BenchmarkLARS_GPlusStatic 20431858 60.0 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_GPlusStatic 1000000 1745 ns/op 736 B/op 8 allocs/op +BenchmarkMartini_GPlusStatic 442248 3619 ns/op 768 B/op 9 allocs/op +BenchmarkPat_GPlusStatic 4328004 292 ns/op 96 B/op 2 allocs/op +BenchmarkPossum_GPlusStatic 1570753 763 ns/op 416 B/op 3 allocs/op +BenchmarkR2router_GPlusStatic 3339474 355 ns/op 144 B/op 4 allocs/op +BenchmarkRivet_GPlusStatic 18570961 64.7 ns/op 0 B/op 0 allocs/op +BenchmarkTango_GPlusStatic 1388702 860 ns/op 200 B/op 8 allocs/op +BenchmarkTigerTonic_GPlusStatic 7803543 159 ns/op 32 B/op 1 allocs/op +BenchmarkTraffic_GPlusStatic 878605 2171 ns/op 1112 B/op 16 allocs/op +BenchmarkVulcan_GPlusStatic 2742446 437 ns/op 98 B/op 3 allocs/op +BenchmarkAce_GPlusParam 11626975 105 ns/op 0 B/op 0 allocs/op +BenchmarkAero_GPlusParam 16914322 71.6 ns/op 0 B/op 0 allocs/op +BenchmarkBear_GPlusParam 1405173 832 ns/op 480 B/op 5 allocs/op +BenchmarkBeego_GPlusParam 1000000 1075 ns/op 352 B/op 3 allocs/op +BenchmarkBone_GPlusParam 1000000 1557 ns/op 816 B/op 6 allocs/op +BenchmarkChi_GPlusParam 1347926 894 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_GPlusParam 5513000 212 ns/op 64 B/op 1 allocs/op +BenchmarkEcho_GPlusParam 11884383 101 ns/op 0 B/op 0 allocs/op +BenchmarkGin_GPlusParam 12898952 93.1 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_GPlusParam 1000000 1194 ns/op 648 B/op 8 allocs/op +BenchmarkGoji_GPlusParam 1857229 645 ns/op 336 B/op 2 allocs/op +BenchmarkGojiv2_GPlusParam 520939 2322 ns/op 1328 B/op 11 allocs/op +BenchmarkGoJsonRest_GPlusParam 1000000 1536 ns/op 649 B/op 13 allocs/op +BenchmarkGoRestful_GPlusParam 205449 5800 ns/op 4192 B/op 14 allocs/op +BenchmarkGorillaMux_GPlusParam 395310 3188 ns/op 1280 B/op 10 allocs/op +BenchmarkGowwwRouter_GPlusParam 1851798 667 ns/op 432 B/op 3 allocs/op +BenchmarkHttpRouter_GPlusParam 18420789 65.2 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_GPlusParam 1878463 629 ns/op 352 B/op 3 allocs/op +BenchmarkKocha_GPlusParam 4495610 273 ns/op 56 B/op 3 allocs/op +BenchmarkLARS_GPlusParam 14615976 83.2 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_GPlusParam 584145 2549 ns/op 1072 B/op 10 allocs/op +BenchmarkMartini_GPlusParam 250501 4583 ns/op 1072 B/op 10 allocs/op +BenchmarkPat_GPlusParam 1000000 1645 ns/op 576 B/op 11 allocs/op +BenchmarkPossum_GPlusParam 1000000 1008 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_GPlusParam 1708191 688 ns/op 432 B/op 5 allocs/op +BenchmarkRivet_GPlusParam 5795014 211 ns/op 48 B/op 1 allocs/op +BenchmarkTango_GPlusParam 1000000 1091 ns/op 264 B/op 8 allocs/op +BenchmarkTigerTonic_GPlusParam 760221 2489 ns/op 856 B/op 16 allocs/op +BenchmarkTraffic_GPlusParam 309774 4039 ns/op 1872 B/op 21 allocs/op +BenchmarkVulcan_GPlusParam 1935730 623 ns/op 98 B/op 3 allocs/op +BenchmarkAce_GPlus2Params 9158314 134 ns/op 0 B/op 0 allocs/op +BenchmarkAero_GPlus2Params 11300517 107 ns/op 0 B/op 0 allocs/op +BenchmarkBear_GPlus2Params 1239238 961 ns/op 496 B/op 5 allocs/op +BenchmarkBeego_GPlus2Params 1000000 1202 ns/op 352 B/op 3 allocs/op +BenchmarkBone_GPlus2Params 335576 3725 ns/op 1168 B/op 10 allocs/op +BenchmarkChi_GPlus2Params 1000000 1014 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_GPlus2Params 4394598 280 ns/op 64 B/op 1 allocs/op +BenchmarkEcho_GPlus2Params 7851861 154 ns/op 0 B/op 0 allocs/op +BenchmarkGin_GPlus2Params 9958588 120 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_GPlus2Params 1000000 1433 ns/op 712 B/op 9 allocs/op +BenchmarkGoji_GPlus2Params 1325134 909 ns/op 336 B/op 2 allocs/op +BenchmarkGojiv2_GPlus2Params 405955 2870 ns/op 1408 B/op 14 allocs/op +BenchmarkGoJsonRest_GPlus2Params 977038 1987 ns/op 713 B/op 14 allocs/op +BenchmarkGoRestful_GPlus2Params 205018 6142 ns/op 4384 B/op 16 allocs/op +BenchmarkGorillaMux_GPlus2Params 205641 6015 ns/op 1296 B/op 10 allocs/op +BenchmarkGowwwRouter_GPlus2Params 1748542 684 ns/op 432 B/op 3 allocs/op +BenchmarkHttpRouter_GPlus2Params 14047102 87.7 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_GPlus2Params 1418673 828 ns/op 384 B/op 4 allocs/op +BenchmarkKocha_GPlus2Params 2334562 520 ns/op 128 B/op 5 allocs/op +BenchmarkLARS_GPlus2Params 11954094 101 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_GPlus2Params 491552 2890 ns/op 1072 B/op 10 allocs/op +BenchmarkMartini_GPlus2Params 120532 9545 ns/op 1200 B/op 13 allocs/op +BenchmarkPat_GPlus2Params 194739 6766 ns/op 2168 B/op 33 allocs/op +BenchmarkPossum_GPlus2Params 1201224 1009 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_GPlus2Params 1575535 756 ns/op 432 B/op 5 allocs/op +BenchmarkRivet_GPlus2Params 3698930 325 ns/op 96 B/op 1 allocs/op +BenchmarkTango_GPlus2Params 1000000 1212 ns/op 344 B/op 8 allocs/op +BenchmarkTigerTonic_GPlus2Params 349350 3660 ns/op 1200 B/op 22 allocs/op +BenchmarkTraffic_GPlus2Params 169714 7862 ns/op 2248 B/op 28 allocs/op +BenchmarkVulcan_GPlus2Params 1222288 974 ns/op 98 B/op 3 allocs/op +BenchmarkAce_GPlusAll 845606 1398 ns/op 0 B/op 0 allocs/op +BenchmarkAero_GPlusAll 1000000 1009 ns/op 0 B/op 0 allocs/op +BenchmarkBear_GPlusAll 103830 11386 ns/op 5488 B/op 61 allocs/op +BenchmarkBeego_GPlusAll 82653 14784 ns/op 4576 B/op 39 allocs/op +BenchmarkBone_GPlusAll 36601 33123 ns/op 11744 B/op 109 allocs/op +BenchmarkChi_GPlusAll 95264 12831 ns/op 5616 B/op 39 allocs/op +BenchmarkDenco_GPlusAll 567681 2950 ns/op 672 B/op 11 allocs/op +BenchmarkEcho_GPlusAll 720366 1665 ns/op 0 B/op 0 allocs/op +BenchmarkGin_GPlusAll 1000000 1185 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_GPlusAll 71575 16365 ns/op 8040 B/op 103 allocs/op +BenchmarkGoji_GPlusAll 136352 9191 ns/op 3696 B/op 22 allocs/op +BenchmarkGojiv2_GPlusAll 38006 31802 ns/op 17616 B/op 154 allocs/op +BenchmarkGoJsonRest_GPlusAll 57238 21561 ns/op 8117 B/op 170 allocs/op +BenchmarkGoRestful_GPlusAll 15147 79276 ns/op 55520 B/op 192 allocs/op +BenchmarkGorillaMux_GPlusAll 24446 48410 ns/op 16112 B/op 128 allocs/op +BenchmarkGowwwRouter_GPlusAll 150112 7770 ns/op 4752 B/op 33 allocs/op +BenchmarkHttpRouter_GPlusAll 1367820 878 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_GPlusAll 166628 8004 ns/op 4032 B/op 38 allocs/op +BenchmarkKocha_GPlusAll 265694 4570 ns/op 976 B/op 43 allocs/op +BenchmarkLARS_GPlusAll 1000000 1068 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_GPlusAll 54564 23305 ns/op 9568 B/op 104 allocs/op +BenchmarkMartini_GPlusAll 16274 73845 ns/op 14016 B/op 145 allocs/op +BenchmarkPat_GPlusAll 27181 44478 ns/op 15264 B/op 271 allocs/op +BenchmarkPossum_GPlusAll 122587 10277 ns/op 5408 B/op 39 allocs/op +BenchmarkR2router_GPlusAll 130137 9297 ns/op 5040 B/op 63 allocs/op +BenchmarkRivet_GPlusAll 532438 3323 ns/op 768 B/op 11 allocs/op +BenchmarkTango_GPlusAll 86054 14531 ns/op 3656 B/op 104 allocs/op +BenchmarkTigerTonic_GPlusAll 33936 35356 ns/op 11600 B/op 242 allocs/op +BenchmarkTraffic_GPlusAll 17833 68181 ns/op 26248 B/op 341 allocs/op +BenchmarkVulcan_GPlusAll 120109 9861 ns/op 1274 B/op 39 allocs/op +``` + +## Parse.com + +```sh +BenchmarkGin_ParseStatic 18877833 63.5 ns/op 0 B/op 0 allocs/op + +BenchmarkAce_ParseStatic 19663731 60.8 ns/op 0 B/op 0 allocs/op +BenchmarkAero_ParseStatic 28967341 41.5 ns/op 0 B/op 0 allocs/op +BenchmarkBear_ParseStatic 3006984 402 ns/op 120 B/op 3 allocs/op +BenchmarkBeego_ParseStatic 1000000 1031 ns/op 352 B/op 3 allocs/op +BenchmarkBone_ParseStatic 1782482 675 ns/op 144 B/op 3 allocs/op +BenchmarkChi_ParseStatic 1453261 819 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_ParseStatic 45023595 26.5 ns/op 0 B/op 0 allocs/op +BenchmarkEcho_ParseStatic 17330470 69.3 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_ParseStatic 1644006 731 ns/op 296 B/op 5 allocs/op +BenchmarkGoji_ParseStatic 7026930 170 ns/op 0 B/op 0 allocs/op +BenchmarkGojiv2_ParseStatic 517618 2037 ns/op 1312 B/op 10 allocs/op +BenchmarkGoJsonRest_ParseStatic 1227080 975 ns/op 329 B/op 11 allocs/op +BenchmarkGoRestful_ParseStatic 192458 6659 ns/op 4256 B/op 13 allocs/op +BenchmarkGorillaMux_ParseStatic 744062 2109 ns/op 976 B/op 9 allocs/op +BenchmarkGowwwRouter_ParseStatic 37781062 31.8 ns/op 0 B/op 0 allocs/op +BenchmarkHttpRouter_ParseStatic 45311223 26.5 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_ParseStatic 21383475 56.1 ns/op 0 B/op 0 allocs/op +BenchmarkKocha_ParseStatic 29953290 40.1 ns/op 0 B/op 0 allocs/op +BenchmarkLARS_ParseStatic 20036196 62.7 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_ParseStatic 1000000 1740 ns/op 736 B/op 8 allocs/op +BenchmarkMartini_ParseStatic 404156 3801 ns/op 768 B/op 9 allocs/op +BenchmarkPat_ParseStatic 1547180 772 ns/op 240 B/op 5 allocs/op +BenchmarkPossum_ParseStatic 1608991 757 ns/op 416 B/op 3 allocs/op +BenchmarkR2router_ParseStatic 3177936 385 ns/op 144 B/op 4 allocs/op +BenchmarkRivet_ParseStatic 17783205 67.4 ns/op 0 B/op 0 allocs/op +BenchmarkTango_ParseStatic 1210777 990 ns/op 248 B/op 8 allocs/op +BenchmarkTigerTonic_ParseStatic 5316440 231 ns/op 48 B/op 1 allocs/op +BenchmarkTraffic_ParseStatic 496050 2539 ns/op 1256 B/op 19 allocs/op +BenchmarkVulcan_ParseStatic 2462798 488 ns/op 98 B/op 3 allocs/op +BenchmarkAce_ParseParam 13393669 89.6 ns/op 0 B/op 0 allocs/op +BenchmarkAero_ParseParam 19836619 60.4 ns/op 0 B/op 0 allocs/op +BenchmarkBear_ParseParam 1405954 864 ns/op 467 B/op 5 allocs/op +BenchmarkBeego_ParseParam 1000000 1065 ns/op 352 B/op 3 allocs/op +BenchmarkBone_ParseParam 1000000 1698 ns/op 896 B/op 7 allocs/op +BenchmarkChi_ParseParam 1356037 873 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_ParseParam 6241392 204 ns/op 64 B/op 1 allocs/op +BenchmarkEcho_ParseParam 14088100 85.1 ns/op 0 B/op 0 allocs/op +BenchmarkGin_ParseParam 17426064 68.9 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_ParseParam 1000000 1254 ns/op 664 B/op 8 allocs/op +BenchmarkGoji_ParseParam 1682574 713 ns/op 336 B/op 2 allocs/op +BenchmarkGojiv2_ParseParam 502224 2333 ns/op 1360 B/op 12 allocs/op +BenchmarkGoJsonRest_ParseParam 1000000 1401 ns/op 649 B/op 13 allocs/op +BenchmarkGoRestful_ParseParam 182623 7097 ns/op 4576 B/op 14 allocs/op +BenchmarkGorillaMux_ParseParam 482332 2477 ns/op 1280 B/op 10 allocs/op +BenchmarkGowwwRouter_ParseParam 1834873 657 ns/op 432 B/op 3 allocs/op +BenchmarkHttpRouter_ParseParam 23593393 51.0 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_ParseParam 2100160 574 ns/op 352 B/op 3 allocs/op +BenchmarkKocha_ParseParam 4837220 252 ns/op 56 B/op 3 allocs/op +BenchmarkLARS_ParseParam 18411192 66.2 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_ParseParam 571870 2398 ns/op 1072 B/op 10 allocs/op +BenchmarkMartini_ParseParam 286262 4268 ns/op 1072 B/op 10 allocs/op +BenchmarkPat_ParseParam 692906 2157 ns/op 992 B/op 15 allocs/op +BenchmarkPossum_ParseParam 1000000 1011 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_ParseParam 1722735 697 ns/op 432 B/op 5 allocs/op +BenchmarkRivet_ParseParam 6058054 203 ns/op 48 B/op 1 allocs/op +BenchmarkTango_ParseParam 1000000 1061 ns/op 280 B/op 8 allocs/op +BenchmarkTigerTonic_ParseParam 890275 2277 ns/op 784 B/op 15 allocs/op +BenchmarkTraffic_ParseParam 351322 3543 ns/op 1896 B/op 21 allocs/op +BenchmarkVulcan_ParseParam 2076544 572 ns/op 98 B/op 3 allocs/op +BenchmarkAce_Parse2Params 11718074 101 ns/op 0 B/op 0 allocs/op +BenchmarkAero_Parse2Params 16264988 73.4 ns/op 0 B/op 0 allocs/op +BenchmarkBear_Parse2Params 1238322 973 ns/op 496 B/op 5 allocs/op +BenchmarkBeego_Parse2Params 1000000 1120 ns/op 352 B/op 3 allocs/op +BenchmarkBone_Parse2Params 1000000 1632 ns/op 848 B/op 6 allocs/op +BenchmarkChi_Parse2Params 1239477 955 ns/op 432 B/op 3 allocs/op +BenchmarkDenco_Parse2Params 4944133 245 ns/op 64 B/op 1 allocs/op +BenchmarkEcho_Parse2Params 10518286 114 ns/op 0 B/op 0 allocs/op +BenchmarkGin_Parse2Params 14505195 82.7 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_Parse2Params 1000000 1437 ns/op 712 B/op 9 allocs/op +BenchmarkGoji_Parse2Params 1689883 707 ns/op 336 B/op 2 allocs/op +BenchmarkGojiv2_Parse2Params 502334 2308 ns/op 1344 B/op 11 allocs/op +BenchmarkGoJsonRest_Parse2Params 1000000 1771 ns/op 713 B/op 14 allocs/op +BenchmarkGoRestful_Parse2Params 159092 7583 ns/op 4928 B/op 14 allocs/op +BenchmarkGorillaMux_Parse2Params 417548 2980 ns/op 1296 B/op 10 allocs/op +BenchmarkGowwwRouter_Parse2Params 1751737 686 ns/op 432 B/op 3 allocs/op +BenchmarkHttpRouter_Parse2Params 18089204 66.3 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_Parse2Params 1556986 777 ns/op 384 B/op 4 allocs/op +BenchmarkKocha_Parse2Params 2493082 485 ns/op 128 B/op 5 allocs/op +BenchmarkLARS_Parse2Params 15350108 78.5 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_Parse2Params 530974 2605 ns/op 1072 B/op 10 allocs/op +BenchmarkMartini_Parse2Params 247069 4673 ns/op 1152 B/op 11 allocs/op +BenchmarkPat_Parse2Params 816295 2126 ns/op 752 B/op 16 allocs/op +BenchmarkPossum_Parse2Params 1000000 1002 ns/op 496 B/op 5 allocs/op +BenchmarkR2router_Parse2Params 1569771 733 ns/op 432 B/op 5 allocs/op +BenchmarkRivet_Parse2Params 4080546 295 ns/op 96 B/op 1 allocs/op +BenchmarkTango_Parse2Params 1000000 1121 ns/op 312 B/op 8 allocs/op +BenchmarkTigerTonic_Parse2Params 399556 3470 ns/op 1168 B/op 22 allocs/op +BenchmarkTraffic_Parse2Params 314194 4159 ns/op 1944 B/op 22 allocs/op +BenchmarkVulcan_Parse2Params 1827559 664 ns/op 98 B/op 3 allocs/op +BenchmarkAce_ParseAll 478395 2503 ns/op 0 B/op 0 allocs/op +BenchmarkAero_ParseAll 715392 1658 ns/op 0 B/op 0 allocs/op +BenchmarkBear_ParseAll 59191 20124 ns/op 8928 B/op 110 allocs/op +BenchmarkBeego_ParseAll 45507 27266 ns/op 9152 B/op 78 allocs/op +BenchmarkBone_ParseAll 29328 41459 ns/op 16208 B/op 147 allocs/op +BenchmarkChi_ParseAll 48531 25053 ns/op 11232 B/op 78 allocs/op +BenchmarkDenco_ParseAll 325532 4284 ns/op 928 B/op 16 allocs/op +BenchmarkEcho_ParseAll 433771 2759 ns/op 0 B/op 0 allocs/op +BenchmarkGin_ParseAll 576316 2082 ns/op 0 B/op 0 allocs/op +BenchmarkGocraftWeb_ParseAll 41500 29692 ns/op 13728 B/op 181 allocs/op +BenchmarkGoji_ParseAll 80833 15563 ns/op 5376 B/op 32 allocs/op +BenchmarkGojiv2_ParseAll 19836 60335 ns/op 34448 B/op 277 allocs/op +BenchmarkGoJsonRest_ParseAll 32210 38027 ns/op 13866 B/op 321 allocs/op +BenchmarkGoRestful_ParseAll 6644 190842 ns/op 117600 B/op 354 allocs/op +BenchmarkGorillaMux_ParseAll 12634 95894 ns/op 30288 B/op 250 allocs/op +BenchmarkGowwwRouter_ParseAll 98152 12159 ns/op 6912 B/op 48 allocs/op +BenchmarkHttpRouter_ParseAll 933208 1273 ns/op 0 B/op 0 allocs/op +BenchmarkHttpTreeMux_ParseAll 107191 11554 ns/op 5728 B/op 51 allocs/op +BenchmarkKocha_ParseAll 184862 6225 ns/op 1112 B/op 54 allocs/op +BenchmarkLARS_ParseAll 644546 1858 ns/op 0 B/op 0 allocs/op +BenchmarkMacaron_ParseAll 26145 46484 ns/op 19136 B/op 208 allocs/op +BenchmarkMartini_ParseAll 10000 121838 ns/op 25072 B/op 253 allocs/op +BenchmarkPat_ParseAll 25417 47196 ns/op 15216 B/op 308 allocs/op +BenchmarkPossum_ParseAll 58550 20735 ns/op 10816 B/op 78 allocs/op +BenchmarkR2router_ParseAll 72732 16584 ns/op 8352 B/op 120 allocs/op +BenchmarkRivet_ParseAll 281365 4968 ns/op 912 B/op 16 allocs/op +BenchmarkTango_ParseAll 42831 28668 ns/op 7168 B/op 208 allocs/op +BenchmarkTigerTonic_ParseAll 23774 49972 ns/op 16048 B/op 332 allocs/op +BenchmarkTraffic_ParseAll 10000 104679 ns/op 45520 B/op 605 allocs/op +BenchmarkVulcan_ParseAll 64810 18108 ns/op 2548 B/op 78 allocs/op +``` diff --git a/vendor/github.com/gin-gonic/gin/CHANGELOG.md b/vendor/github.com/gin-gonic/gin/CHANGELOG.md new file mode 100644 index 000000000..a28edc840 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/CHANGELOG.md @@ -0,0 +1,418 @@ +# Gin ChangeLog + +## Gin v1.7.2 + +### BUGFIXES + +* Fix conflict between param and exact path [#2706](https://github.com/gin-gonic/gin/issues/2706). Close issue [#2682](https://github.com/gin-gonic/gin/issues/2682) [#2696](https://github.com/gin-gonic/gin/issues/2696). + +## Gin v1.7.1 + +### BUGFIXES + +* fix: data race with trustedCIDRs from [#2674](https://github.com/gin-gonic/gin/issues/2674)([#2675](https://github.com/gin-gonic/gin/pull/2675)) + +## Gin v1.7.0 + +### BUGFIXES + +* fix compile error from [#2572](https://github.com/gin-gonic/gin/pull/2572) ([#2600](https://github.com/gin-gonic/gin/pull/2600)) +* fix: print headers without Authorization header on broken pipe ([#2528](https://github.com/gin-gonic/gin/pull/2528)) +* fix(tree): reassign fullpath when register new node ([#2366](https://github.com/gin-gonic/gin/pull/2366)) + +### ENHANCEMENTS + +* Support params and exact routes without creating conflicts ([#2663](https://github.com/gin-gonic/gin/pull/2663)) +* chore: improve render string performance ([#2365](https://github.com/gin-gonic/gin/pull/2365)) +* Sync route tree to httprouter latest code ([#2368](https://github.com/gin-gonic/gin/pull/2368)) +* chore: rename getQueryCache/getFormCache to initQueryCache/initFormCa ([#2375](https://github.com/gin-gonic/gin/pull/2375)) +* chore(performance): improve countParams ([#2378](https://github.com/gin-gonic/gin/pull/2378)) +* Remove some functions that have the same effect as the bytes package ([#2387](https://github.com/gin-gonic/gin/pull/2387)) +* update:SetMode function ([#2321](https://github.com/gin-gonic/gin/pull/2321)) +* remove a unused type SecureJSONPrefix ([#2391](https://github.com/gin-gonic/gin/pull/2391)) +* Add a redirect sample for POST method ([#2389](https://github.com/gin-gonic/gin/pull/2389)) +* Add CustomRecovery builtin middleware ([#2322](https://github.com/gin-gonic/gin/pull/2322)) +* binding: avoid 2038 problem on 32-bit architectures ([#2450](https://github.com/gin-gonic/gin/pull/2450)) +* Prevent panic in Context.GetQuery() when there is no Request ([#2412](https://github.com/gin-gonic/gin/pull/2412)) +* Add GetUint and GetUint64 method on gin.context ([#2487](https://github.com/gin-gonic/gin/pull/2487)) +* update content-disposition header to MIME-style ([#2512](https://github.com/gin-gonic/gin/pull/2512)) +* reduce allocs and improve the render `WriteString` ([#2508](https://github.com/gin-gonic/gin/pull/2508)) +* implement ".Unwrap() error" on Error type ([#2525](https://github.com/gin-gonic/gin/pull/2525)) ([#2526](https://github.com/gin-gonic/gin/pull/2526)) +* Allow bind with a map[string]string ([#2484](https://github.com/gin-gonic/gin/pull/2484)) +* chore: update tree ([#2371](https://github.com/gin-gonic/gin/pull/2371)) +* Support binding for slice/array obj [Rewrite] ([#2302](https://github.com/gin-gonic/gin/pull/2302)) +* basic auth: fix timing oracle ([#2609](https://github.com/gin-gonic/gin/pull/2609)) +* Add mixed param and non-param paths (port of httprouter[#329](https://github.com/gin-gonic/gin/pull/329)) ([#2663](https://github.com/gin-gonic/gin/pull/2663)) +* feat(engine): add trustedproxies and remoteIP ([#2632](https://github.com/gin-gonic/gin/pull/2632)) + +## Gin v1.6.3 + +### ENHANCEMENTS + + * Improve performance: Change `*sync.RWMutex` to `sync.RWMutex` in context. [#2351](https://github.com/gin-gonic/gin/pull/2351) + +## Gin v1.6.2 + +### BUGFIXES + * fix missing initial sync.RWMutex [#2305](https://github.com/gin-gonic/gin/pull/2305) +### ENHANCEMENTS + * Add set samesite in cookie. [#2306](https://github.com/gin-gonic/gin/pull/2306) + +## Gin v1.6.1 + +### BUGFIXES + * Revert "fix accept incoming network connections" [#2294](https://github.com/gin-gonic/gin/pull/2294) + +## Gin v1.6.0 + +### BREAKING + * chore(performance): Improve performance for adding RemoveExtraSlash flag [#2159](https://github.com/gin-gonic/gin/pull/2159) + * drop support govendor [#2148](https://github.com/gin-gonic/gin/pull/2148) + * Added support for SameSite cookie flag [#1615](https://github.com/gin-gonic/gin/pull/1615) +### FEATURES + * add yaml negotiation [#2220](https://github.com/gin-gonic/gin/pull/2220) + * FileFromFS [#2112](https://github.com/gin-gonic/gin/pull/2112) +### BUGFIXES + * Unix Socket Handling [#2280](https://github.com/gin-gonic/gin/pull/2280) + * Use json marshall in context json to fix breaking new line issue. Fixes #2209 [#2228](https://github.com/gin-gonic/gin/pull/2228) + * fix accept incoming network connections [#2216](https://github.com/gin-gonic/gin/pull/2216) + * Fixed a bug in the calculation of the maximum number of parameters [#2166](https://github.com/gin-gonic/gin/pull/2166) + * [FIX] allow empty headers on DataFromReader [#2121](https://github.com/gin-gonic/gin/pull/2121) + * Add mutex for protect Context.Keys map [#1391](https://github.com/gin-gonic/gin/pull/1391) +### ENHANCEMENTS + * Add mitigation for log injection [#2277](https://github.com/gin-gonic/gin/pull/2277) + * tree: range over nodes values [#2229](https://github.com/gin-gonic/gin/pull/2229) + * tree: remove duplicate assignment [#2222](https://github.com/gin-gonic/gin/pull/2222) + * chore: upgrade go-isatty and json-iterator/go [#2215](https://github.com/gin-gonic/gin/pull/2215) + * path: sync code with httprouter [#2212](https://github.com/gin-gonic/gin/pull/2212) + * Use zero-copy approach to convert types between string and byte slice [#2206](https://github.com/gin-gonic/gin/pull/2206) + * Reuse bytes when cleaning the URL paths [#2179](https://github.com/gin-gonic/gin/pull/2179) + * tree: remove one else statement [#2177](https://github.com/gin-gonic/gin/pull/2177) + * tree: sync httprouter update (#2173) (#2172) [#2171](https://github.com/gin-gonic/gin/pull/2171) + * tree: sync part httprouter codes and reduce if/else [#2163](https://github.com/gin-gonic/gin/pull/2163) + * use http method constant [#2155](https://github.com/gin-gonic/gin/pull/2155) + * upgrade go-validator to v10 [#2149](https://github.com/gin-gonic/gin/pull/2149) + * Refactor redirect request in gin.go [#1970](https://github.com/gin-gonic/gin/pull/1970) + * Add build tag nomsgpack [#1852](https://github.com/gin-gonic/gin/pull/1852) +### DOCS + * docs(path): improve comments [#2223](https://github.com/gin-gonic/gin/pull/2223) + * Renew README to fit the modification of SetCookie method [#2217](https://github.com/gin-gonic/gin/pull/2217) + * Fix spelling [#2202](https://github.com/gin-gonic/gin/pull/2202) + * Remove broken link from README. [#2198](https://github.com/gin-gonic/gin/pull/2198) + * Update docs on Context.Done(), Context.Deadline() and Context.Err() [#2196](https://github.com/gin-gonic/gin/pull/2196) + * Update validator to v10 [#2190](https://github.com/gin-gonic/gin/pull/2190) + * upgrade go-validator to v10 for README [#2189](https://github.com/gin-gonic/gin/pull/2189) + * Update to currently output [#2188](https://github.com/gin-gonic/gin/pull/2188) + * Fix "Custom Validators" example [#2186](https://github.com/gin-gonic/gin/pull/2186) + * Add project to README [#2165](https://github.com/gin-gonic/gin/pull/2165) + * docs(benchmarks): for gin v1.5 [#2153](https://github.com/gin-gonic/gin/pull/2153) + * Changed wording for clarity in README.md [#2122](https://github.com/gin-gonic/gin/pull/2122) +### MISC + * ci support go1.14 [#2262](https://github.com/gin-gonic/gin/pull/2262) + * chore: upgrade depend version [#2231](https://github.com/gin-gonic/gin/pull/2231) + * Drop support go1.10 [#2147](https://github.com/gin-gonic/gin/pull/2147) + * fix comment in `mode.go` [#2129](https://github.com/gin-gonic/gin/pull/2129) + +## Gin v1.5.0 + +- [FIX] Use DefaultWriter and DefaultErrorWriter for debug messages [#1891](https://github.com/gin-gonic/gin/pull/1891) +- [NEW] Now you can parse the inline lowercase start structure [#1893](https://github.com/gin-gonic/gin/pull/1893) +- [FIX] Some code improvements [#1909](https://github.com/gin-gonic/gin/pull/1909) +- [FIX] Use encode replace json marshal increase json encoder speed [#1546](https://github.com/gin-gonic/gin/pull/1546) +- [NEW] Hold matched route full path in the Context [#1826](https://github.com/gin-gonic/gin/pull/1826) +- [FIX] Fix context.Params race condition on Copy() [#1841](https://github.com/gin-gonic/gin/pull/1841) +- [NEW] Add context param query cache [#1450](https://github.com/gin-gonic/gin/pull/1450) +- [FIX] Improve GetQueryMap performance [#1918](https://github.com/gin-gonic/gin/pull/1918) +- [FIX] Improve get post data [#1920](https://github.com/gin-gonic/gin/pull/1920) +- [FIX] Use context instead of x/net/context [#1922](https://github.com/gin-gonic/gin/pull/1922) +- [FIX] Attempt to fix PostForm cache bug [#1931](https://github.com/gin-gonic/gin/pull/1931) +- [NEW] Add support of multipart multi files [#1949](https://github.com/gin-gonic/gin/pull/1949) +- [NEW] Support bind http header param [#1957](https://github.com/gin-gonic/gin/pull/1957) +- [FIX] Drop support for go1.8 and go1.9 [#1933](https://github.com/gin-gonic/gin/pull/1933) +- [FIX] Bugfix for the FullPath feature [#1919](https://github.com/gin-gonic/gin/pull/1919) +- [FIX] Gin1.5 bytes.Buffer to strings.Builder [#1939](https://github.com/gin-gonic/gin/pull/1939) +- [FIX] Upgrade github.com/ugorji/go/codec [#1969](https://github.com/gin-gonic/gin/pull/1969) +- [NEW] Support bind unix time [#1980](https://github.com/gin-gonic/gin/pull/1980) +- [FIX] Simplify code [#2004](https://github.com/gin-gonic/gin/pull/2004) +- [NEW] Support negative Content-Length in DataFromReader [#1981](https://github.com/gin-gonic/gin/pull/1981) +- [FIX] Identify terminal on a RISC-V architecture for auto-colored logs [#2019](https://github.com/gin-gonic/gin/pull/2019) +- [BREAKING] `Context.JSONP()` now expects a semicolon (`;`) at the end [#2007](https://github.com/gin-gonic/gin/pull/2007) +- [BREAKING] Upgrade default `binding.Validator` to v9 (see [its changelog](https://github.com/go-playground/validator/releases/tag/v9.0.0)) [#1015](https://github.com/gin-gonic/gin/pull/1015) +- [NEW] Add `DisallowUnknownFields()` in `Context.BindJSON()` [#2028](https://github.com/gin-gonic/gin/pull/2028) +- [NEW] Use specific `net.Listener` with `Engine.RunListener()` [#2023](https://github.com/gin-gonic/gin/pull/2023) +- [FIX] Fix some typo [#2079](https://github.com/gin-gonic/gin/pull/2079) [#2080](https://github.com/gin-gonic/gin/pull/2080) +- [FIX] Relocate binding body tests [#2086](https://github.com/gin-gonic/gin/pull/2086) +- [FIX] Use Writer in Context.Status [#1606](https://github.com/gin-gonic/gin/pull/1606) +- [FIX] `Engine.RunUnix()` now returns the error if it can't change the file mode [#2093](https://github.com/gin-gonic/gin/pull/2093) +- [FIX] `RouterGroup.StaticFS()` leaked files. Now it closes them. [#2118](https://github.com/gin-gonic/gin/pull/2118) +- [FIX] `Context.Request.FormFile` leaked file. Now it closes it. [#2114](https://github.com/gin-gonic/gin/pull/2114) +- [FIX] Ignore walking on `form:"-"` mapping [#1943](https://github.com/gin-gonic/gin/pull/1943) + +### Gin v1.4.0 + +- [NEW] Support for [Go Modules](https://github.com/golang/go/wiki/Modules) [#1569](https://github.com/gin-gonic/gin/pull/1569) +- [NEW] Refactor of form mapping multipart request [#1829](https://github.com/gin-gonic/gin/pull/1829) +- [FIX] Truncate Latency precision in long running request [#1830](https://github.com/gin-gonic/gin/pull/1830) +- [FIX] IsTerm flag should not be affected by DisableConsoleColor method. [#1802](https://github.com/gin-gonic/gin/pull/1802) +- [NEW] Supporting file binding [#1264](https://github.com/gin-gonic/gin/pull/1264) +- [NEW] Add support for mapping arrays [#1797](https://github.com/gin-gonic/gin/pull/1797) +- [FIX] Readme updates [#1793](https://github.com/gin-gonic/gin/pull/1793) [#1788](https://github.com/gin-gonic/gin/pull/1788) [1789](https://github.com/gin-gonic/gin/pull/1789) +- [FIX] StaticFS: Fixed Logging two log lines on 404. [#1805](https://github.com/gin-gonic/gin/pull/1805), [#1804](https://github.com/gin-gonic/gin/pull/1804) +- [NEW] Make context.Keys available as LogFormatterParams [#1779](https://github.com/gin-gonic/gin/pull/1779) +- [NEW] Use internal/json for Marshal/Unmarshal [#1791](https://github.com/gin-gonic/gin/pull/1791) +- [NEW] Support mapping time.Duration [#1794](https://github.com/gin-gonic/gin/pull/1794) +- [NEW] Refactor form mappings [#1749](https://github.com/gin-gonic/gin/pull/1749) +- [NEW] Added flag to context.Stream indicates if client disconnected in middle of stream [#1252](https://github.com/gin-gonic/gin/pull/1252) +- [FIX] Moved [examples](https://github.com/gin-gonic/examples) to stand alone Repo [#1775](https://github.com/gin-gonic/gin/pull/1775) +- [NEW] Extend context.File to allow for the content-disposition attachments via a new method context.Attachment [#1260](https://github.com/gin-gonic/gin/pull/1260) +- [FIX] Support HTTP content negotiation wildcards [#1112](https://github.com/gin-gonic/gin/pull/1112) +- [NEW] Add prefix from X-Forwarded-Prefix in redirectTrailingSlash [#1238](https://github.com/gin-gonic/gin/pull/1238) +- [FIX] context.Copy() race condition [#1020](https://github.com/gin-gonic/gin/pull/1020) +- [NEW] Add context.HandlerNames() [#1729](https://github.com/gin-gonic/gin/pull/1729) +- [FIX] Change color methods to public in the defaultLogger. [#1771](https://github.com/gin-gonic/gin/pull/1771) +- [FIX] Update writeHeaders method to use http.Header.Set [#1722](https://github.com/gin-gonic/gin/pull/1722) +- [NEW] Add response size to LogFormatterParams [#1752](https://github.com/gin-gonic/gin/pull/1752) +- [NEW] Allow ignoring field on form mapping [#1733](https://github.com/gin-gonic/gin/pull/1733) +- [NEW] Add a function to force color in console output. [#1724](https://github.com/gin-gonic/gin/pull/1724) +- [FIX] Context.Next() - recheck len of handlers on every iteration. [#1745](https://github.com/gin-gonic/gin/pull/1745) +- [FIX] Fix all errcheck warnings [#1739](https://github.com/gin-gonic/gin/pull/1739) [#1653](https://github.com/gin-gonic/gin/pull/1653) +- [NEW] context: inherits context cancellation and deadline from http.Request context for Go>=1.7 [#1690](https://github.com/gin-gonic/gin/pull/1690) +- [NEW] Binding for URL Params [#1694](https://github.com/gin-gonic/gin/pull/1694) +- [NEW] Add LoggerWithFormatter method [#1677](https://github.com/gin-gonic/gin/pull/1677) +- [FIX] CI testing updates [#1671](https://github.com/gin-gonic/gin/pull/1671) [#1670](https://github.com/gin-gonic/gin/pull/1670) [#1682](https://github.com/gin-gonic/gin/pull/1682) [#1669](https://github.com/gin-gonic/gin/pull/1669) +- [FIX] StaticFS(): Send 404 when path does not exist [#1663](https://github.com/gin-gonic/gin/pull/1663) +- [FIX] Handle nil body for JSON binding [#1638](https://github.com/gin-gonic/gin/pull/1638) +- [FIX] Support bind uri param [#1612](https://github.com/gin-gonic/gin/pull/1612) +- [FIX] recovery: fix issue with syscall import on google app engine [#1640](https://github.com/gin-gonic/gin/pull/1640) +- [FIX] Make sure the debug log contains line breaks [#1650](https://github.com/gin-gonic/gin/pull/1650) +- [FIX] Panic stack trace being printed during recovery of broken pipe [#1089](https://github.com/gin-gonic/gin/pull/1089) [#1259](https://github.com/gin-gonic/gin/pull/1259) +- [NEW] RunFd method to run http.Server through a file descriptor [#1609](https://github.com/gin-gonic/gin/pull/1609) +- [NEW] Yaml binding support [#1618](https://github.com/gin-gonic/gin/pull/1618) +- [FIX] Pass MaxMultipartMemory when FormFile is called [#1600](https://github.com/gin-gonic/gin/pull/1600) +- [FIX] LoadHTML* tests [#1559](https://github.com/gin-gonic/gin/pull/1559) +- [FIX] Removed use of sync.pool from HandleContext [#1565](https://github.com/gin-gonic/gin/pull/1565) +- [FIX] Format output log to os.Stderr [#1571](https://github.com/gin-gonic/gin/pull/1571) +- [FIX] Make logger use a yellow background and a darkgray text for legibility [#1570](https://github.com/gin-gonic/gin/pull/1570) +- [FIX] Remove sensitive request information from panic log. [#1370](https://github.com/gin-gonic/gin/pull/1370) +- [FIX] log.Println() does not print timestamp [#829](https://github.com/gin-gonic/gin/pull/829) [#1560](https://github.com/gin-gonic/gin/pull/1560) +- [NEW] Add PureJSON renderer [#694](https://github.com/gin-gonic/gin/pull/694) +- [FIX] Add missing copyright and update if/else [#1497](https://github.com/gin-gonic/gin/pull/1497) +- [FIX] Update msgpack usage [#1498](https://github.com/gin-gonic/gin/pull/1498) +- [FIX] Use protobuf on render [#1496](https://github.com/gin-gonic/gin/pull/1496) +- [FIX] Add support for Protobuf format response [#1479](https://github.com/gin-gonic/gin/pull/1479) +- [NEW] Set default time format in form binding [#1487](https://github.com/gin-gonic/gin/pull/1487) +- [FIX] Add BindXML and ShouldBindXML [#1485](https://github.com/gin-gonic/gin/pull/1485) +- [NEW] Upgrade dependency libraries [#1491](https://github.com/gin-gonic/gin/pull/1491) + + +## Gin v1.3.0 + +- [NEW] Add [`func (*Context) QueryMap`](https://godoc.org/github.com/gin-gonic/gin#Context.QueryMap), [`func (*Context) GetQueryMap`](https://godoc.org/github.com/gin-gonic/gin#Context.GetQueryMap), [`func (*Context) PostFormMap`](https://godoc.org/github.com/gin-gonic/gin#Context.PostFormMap) and [`func (*Context) GetPostFormMap`](https://godoc.org/github.com/gin-gonic/gin#Context.GetPostFormMap) to support `type map[string]string` as query string or form parameters, see [#1383](https://github.com/gin-gonic/gin/pull/1383) +- [NEW] Add [`func (*Context) AsciiJSON`](https://godoc.org/github.com/gin-gonic/gin#Context.AsciiJSON), see [#1358](https://github.com/gin-gonic/gin/pull/1358) +- [NEW] Add `Pusher()` in [`type ResponseWriter`](https://godoc.org/github.com/gin-gonic/gin#ResponseWriter) for supporting http2 push, see [#1273](https://github.com/gin-gonic/gin/pull/1273) +- [NEW] Add [`func (*Context) DataFromReader`](https://godoc.org/github.com/gin-gonic/gin#Context.DataFromReader) for serving dynamic data, see [#1304](https://github.com/gin-gonic/gin/pull/1304) +- [NEW] Add [`func (*Context) ShouldBindBodyWith`](https://godoc.org/github.com/gin-gonic/gin#Context.ShouldBindBodyWith) allowing to call binding multiple times, see [#1341](https://github.com/gin-gonic/gin/pull/1341) +- [NEW] Support pointers in form binding, see [#1336](https://github.com/gin-gonic/gin/pull/1336) +- [NEW] Add [`func (*Context) JSONP`](https://godoc.org/github.com/gin-gonic/gin#Context.JSONP), see [#1333](https://github.com/gin-gonic/gin/pull/1333) +- [NEW] Support default value in form binding, see [#1138](https://github.com/gin-gonic/gin/pull/1138) +- [NEW] Expose validator engine in [`type StructValidator`](https://godoc.org/github.com/gin-gonic/gin/binding#StructValidator), see [#1277](https://github.com/gin-gonic/gin/pull/1277) +- [NEW] Add [`func (*Context) ShouldBind`](https://godoc.org/github.com/gin-gonic/gin#Context.ShouldBind), [`func (*Context) ShouldBindQuery`](https://godoc.org/github.com/gin-gonic/gin#Context.ShouldBindQuery) and [`func (*Context) ShouldBindJSON`](https://godoc.org/github.com/gin-gonic/gin#Context.ShouldBindJSON), see [#1047](https://github.com/gin-gonic/gin/pull/1047) +- [NEW] Add support for `time.Time` location in form binding, see [#1117](https://github.com/gin-gonic/gin/pull/1117) +- [NEW] Add [`func (*Context) BindQuery`](https://godoc.org/github.com/gin-gonic/gin#Context.BindQuery), see [#1029](https://github.com/gin-gonic/gin/pull/1029) +- [NEW] Make [jsonite](https://github.com/json-iterator/go) optional with build tags, see [#1026](https://github.com/gin-gonic/gin/pull/1026) +- [NEW] Show query string in logger, see [#999](https://github.com/gin-gonic/gin/pull/999) +- [NEW] Add [`func (*Context) SecureJSON`](https://godoc.org/github.com/gin-gonic/gin#Context.SecureJSON), see [#987](https://github.com/gin-gonic/gin/pull/987) and [#993](https://github.com/gin-gonic/gin/pull/993) +- [DEPRECATE] `func (*Context) GetCookie` for [`func (*Context) Cookie`](https://godoc.org/github.com/gin-gonic/gin#Context.Cookie) +- [FIX] Don't display color tags if [`func DisableConsoleColor`](https://godoc.org/github.com/gin-gonic/gin#DisableConsoleColor) called, see [#1072](https://github.com/gin-gonic/gin/pull/1072) +- [FIX] Gin Mode `""` when calling [`func Mode`](https://godoc.org/github.com/gin-gonic/gin#Mode) now returns `const DebugMode`, see [#1250](https://github.com/gin-gonic/gin/pull/1250) +- [FIX] `Flush()` now doesn't overwrite `responseWriter` status code, see [#1460](https://github.com/gin-gonic/gin/pull/1460) + +## Gin 1.2.0 + +- [NEW] Switch from godeps to govendor +- [NEW] Add support for Let's Encrypt via gin-gonic/autotls +- [NEW] Improve README examples and add extra at examples folder +- [NEW] Improved support with App Engine +- [NEW] Add custom template delimiters, see #860 +- [NEW] Add Template Func Maps, see #962 +- [NEW] Add \*context.Handler(), see #928 +- [NEW] Add \*context.GetRawData() +- [NEW] Add \*context.GetHeader() (request) +- [NEW] Add \*context.AbortWithStatusJSON() (JSON content type) +- [NEW] Add \*context.Keys type cast helpers +- [NEW] Add \*context.ShouldBindWith() +- [NEW] Add \*context.MustBindWith() +- [NEW] Add \*engine.SetFuncMap() +- [DEPRECATE] On next release: \*context.BindWith(), see #855 +- [FIX] Refactor render +- [FIX] Reworked tests +- [FIX] logger now supports cygwin +- [FIX] Use X-Forwarded-For before X-Real-Ip +- [FIX] time.Time binding (#904) + +## Gin 1.1.4 + +- [NEW] Support google appengine for IsTerminal func + +## Gin 1.1.3 + +- [FIX] Reverted Logger: skip ANSI color commands + +## Gin 1.1 + +- [NEW] Implement QueryArray and PostArray methods +- [NEW] Refactor GetQuery and GetPostForm +- [NEW] Add contribution guide +- [FIX] Corrected typos in README +- [FIX] Removed additional Iota +- [FIX] Changed imports to gopkg instead of github in README (#733) +- [FIX] Logger: skip ANSI color commands if output is not a tty + +## Gin 1.0rc2 (...) + +- [PERFORMANCE] Fast path for writing Content-Type. +- [PERFORMANCE] Much faster 404 routing +- [PERFORMANCE] Allocation optimizations +- [PERFORMANCE] Faster root tree lookup +- [PERFORMANCE] Zero overhead, String() and JSON() rendering. +- [PERFORMANCE] Faster ClientIP parsing +- [PERFORMANCE] Much faster SSE implementation +- [NEW] Benchmarks suite +- [NEW] Bind validation can be disabled and replaced with custom validators. +- [NEW] More flexible HTML render +- [NEW] Multipart and PostForm bindings +- [NEW] Adds method to return all the registered routes +- [NEW] Context.HandlerName() returns the main handler's name +- [NEW] Adds Error.IsType() helper +- [FIX] Binding multipart form +- [FIX] Integration tests +- [FIX] Crash when binding non struct object in Context. +- [FIX] RunTLS() implementation +- [FIX] Logger() unit tests +- [FIX] Adds SetHTMLTemplate() warning +- [FIX] Context.IsAborted() +- [FIX] More unit tests +- [FIX] JSON, XML, HTML renders accept custom content-types +- [FIX] gin.AbortIndex is unexported +- [FIX] Better approach to avoid directory listing in StaticFS() +- [FIX] Context.ClientIP() always returns the IP with trimmed spaces. +- [FIX] Better warning when running in debug mode. +- [FIX] Google App Engine integration. debugPrint does not use os.Stdout +- [FIX] Fixes integer overflow in error type +- [FIX] Error implements the json.Marshaller interface +- [FIX] MIT license in every file + + +## Gin 1.0rc1 (May 22, 2015) + +- [PERFORMANCE] Zero allocation router +- [PERFORMANCE] Faster JSON, XML and text rendering +- [PERFORMANCE] Custom hand optimized HttpRouter for Gin +- [PERFORMANCE] Misc code optimizations. Inlining, tail call optimizations +- [NEW] Built-in support for golang.org/x/net/context +- [NEW] Any(path, handler). Create a route that matches any path +- [NEW] Refactored rendering pipeline (faster and static typed) +- [NEW] Refactored errors API +- [NEW] IndentedJSON() prints pretty JSON +- [NEW] Added gin.DefaultWriter +- [NEW] UNIX socket support +- [NEW] RouterGroup.BasePath is exposed +- [NEW] JSON validation using go-validate-yourself (very powerful options) +- [NEW] Completed suite of unit tests +- [NEW] HTTP streaming with c.Stream() +- [NEW] StaticFile() creates a router for serving just one file. +- [NEW] StaticFS() has an option to disable directory listing. +- [NEW] StaticFS() for serving static files through virtual filesystems +- [NEW] Server-Sent Events native support +- [NEW] WrapF() and WrapH() helpers for wrapping http.HandlerFunc and http.Handler +- [NEW] Added LoggerWithWriter() middleware +- [NEW] Added RecoveryWithWriter() middleware +- [NEW] Added DefaultPostFormValue() +- [NEW] Added DefaultFormValue() +- [NEW] Added DefaultParamValue() +- [FIX] BasicAuth() when using custom realm +- [FIX] Bug when serving static files in nested routing group +- [FIX] Redirect using built-in http.Redirect() +- [FIX] Logger when printing the requested path +- [FIX] Documentation typos +- [FIX] Context.Engine renamed to Context.engine +- [FIX] Better debugging messages +- [FIX] ErrorLogger +- [FIX] Debug HTTP render +- [FIX] Refactored binding and render modules +- [FIX] Refactored Context initialization +- [FIX] Refactored BasicAuth() +- [FIX] NoMethod/NoRoute handlers +- [FIX] Hijacking http +- [FIX] Better support for Google App Engine (using log instead of fmt) + + +## Gin 0.6 (Mar 9, 2015) + +- [NEW] Support multipart/form-data +- [NEW] NoMethod handler +- [NEW] Validate sub structures +- [NEW] Support for HTTP Realm Auth +- [FIX] Unsigned integers in binding +- [FIX] Improve color logger + + +## Gin 0.5 (Feb 7, 2015) + +- [NEW] Content Negotiation +- [FIX] Solved security bug that allow a client to spoof ip +- [FIX] Fix unexported/ignored fields in binding + + +## Gin 0.4 (Aug 21, 2014) + +- [NEW] Development mode +- [NEW] Unit tests +- [NEW] Add Content.Redirect() +- [FIX] Deferring WriteHeader() +- [FIX] Improved documentation for model binding + + +## Gin 0.3 (Jul 18, 2014) + +- [PERFORMANCE] Normal log and error log are printed in the same call. +- [PERFORMANCE] Improve performance of NoRouter() +- [PERFORMANCE] Improve context's memory locality, reduce CPU cache faults. +- [NEW] Flexible rendering API +- [NEW] Add Context.File() +- [NEW] Add shortcut RunTLS() for http.ListenAndServeTLS +- [FIX] Rename NotFound404() to NoRoute() +- [FIX] Errors in context are purged +- [FIX] Adds HEAD method in Static file serving +- [FIX] Refactors Static() file serving +- [FIX] Using keyed initialization to fix app-engine integration +- [FIX] Can't unmarshal JSON array, #63 +- [FIX] Renaming Context.Req to Context.Request +- [FIX] Check application/x-www-form-urlencoded when parsing form + + +## Gin 0.2b (Jul 08, 2014) +- [PERFORMANCE] Using sync.Pool to allocatio/gc overhead +- [NEW] Travis CI integration +- [NEW] Completely new logger +- [NEW] New API for serving static files. gin.Static() +- [NEW] gin.H() can be serialized into XML +- [NEW] Typed errors. Errors can be typed. Internet/external/custom. +- [NEW] Support for Godeps +- [NEW] Travis/Godocs badges in README +- [NEW] New Bind() and BindWith() methods for parsing request body. +- [NEW] Add Content.Copy() +- [NEW] Add context.LastError() +- [NEW] Add shortcut for OPTIONS HTTP method +- [FIX] Tons of README fixes +- [FIX] Header is written before body +- [FIX] BasicAuth() and changes API a little bit +- [FIX] Recovery() middleware only prints panics +- [FIX] Context.Get() does not panic anymore. Use MustGet() instead. +- [FIX] Multiple http.WriteHeader() in NotFound handlers +- [FIX] Engine.Run() panics if http server can't be set up +- [FIX] Crash when route path doesn't start with '/' +- [FIX] Do not update header when status code is negative +- [FIX] Setting response headers before calling WriteHeader in context.String() +- [FIX] Add MIT license +- [FIX] Changes behaviour of ErrorLogger() and Logger() diff --git a/vendor/github.com/gin-gonic/gin/CODE_OF_CONDUCT.md b/vendor/github.com/gin-gonic/gin/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..4ea14f395 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/CODE_OF_CONDUCT.md @@ -0,0 +1,46 @@ +# 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 teamgingonic@gmail.com. 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/gin-gonic/gin/CONTRIBUTING.md b/vendor/github.com/gin-gonic/gin/CONTRIBUTING.md new file mode 100644 index 000000000..d1c723c67 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/CONTRIBUTING.md @@ -0,0 +1,13 @@ +## Contributing + +- With issues: + - Use the search tool before opening a new issue. + - Please provide source code and commit sha if you found a bug. + - Review existing issues and provide feedback or react to them. + +- With pull requests: + - Open your pull request against `master` + - Your pull request should have no more than two commits, if not you should squash them. + - It should pass all tests in the available continuous integration systems such as GitHub Actions. + - You should add/modify tests to cover your proposed code changes. + - If your pull request contains a new feature, please document it on the README. diff --git a/vendor/github.com/gin-gonic/gin/LICENSE b/vendor/github.com/gin-gonic/gin/LICENSE new file mode 100644 index 000000000..1ff7f3706 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Manuel Martínez-Almeida + +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/gin-gonic/gin/Makefile b/vendor/github.com/gin-gonic/gin/Makefile new file mode 100644 index 000000000..5d55b444c --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/Makefile @@ -0,0 +1,77 @@ +GO ?= go +GOFMT ?= gofmt "-s" +GO_VERSION=$(shell $(GO) version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) +PACKAGES ?= $(shell $(GO) list ./...) +VETPACKAGES ?= $(shell $(GO) list ./... | grep -v /examples/) +GOFILES := $(shell find . -name "*.go") +TESTFOLDER := $(shell $(GO) list ./... | grep -E 'gin$$|binding$$|render$$' | grep -v examples) +TESTTAGS ?= "" + +.PHONY: test +test: + echo "mode: count" > coverage.out + for d in $(TESTFOLDER); do \ + $(GO) test -tags $(TESTTAGS) -v -covermode=count -coverprofile=profile.out $$d > tmp.out; \ + cat tmp.out; \ + if grep -q "^--- FAIL" tmp.out; then \ + rm tmp.out; \ + exit 1; \ + elif grep -q "build failed" tmp.out; then \ + rm tmp.out; \ + exit 1; \ + elif grep -q "setup failed" tmp.out; then \ + rm tmp.out; \ + exit 1; \ + fi; \ + if [ -f profile.out ]; then \ + cat profile.out | grep -v "mode:" >> coverage.out; \ + rm profile.out; \ + fi; \ + done + +.PHONY: fmt +fmt: + $(GOFMT) -w $(GOFILES) + +.PHONY: fmt-check +fmt-check: + @diff=$$($(GOFMT) -d $(GOFILES)); \ + if [ -n "$$diff" ]; then \ + echo "Please run 'make fmt' and commit the result:"; \ + echo "$${diff}"; \ + exit 1; \ + fi; + +vet: + $(GO) vet $(VETPACKAGES) + +.PHONY: lint +lint: + @hash golint > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ + $(GO) get -u golang.org/x/lint/golint; \ + fi + for PKG in $(PACKAGES); do golint -set_exit_status $$PKG || exit 1; done; + +.PHONY: misspell-check +misspell-check: + @hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ + $(GO) get -u github.com/client9/misspell/cmd/misspell; \ + fi + misspell -error $(GOFILES) + +.PHONY: misspell +misspell: + @hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ + $(GO) get -u github.com/client9/misspell/cmd/misspell; \ + fi + misspell -w $(GOFILES) + +.PHONY: tools +tools: + @if [ $(GO_VERSION) -gt 15 ]; then \ + $(GO) install golang.org/x/lint/golint@latest; \ + $(GO) install github.com/client9/misspell/cmd/misspell@latest; \ + elif [ $(GO_VERSION) -lt 16 ]; then \ + $(GO) install golang.org/x/lint/golint; \ + $(GO) install github.com/client9/misspell/cmd/misspell; \ + fi diff --git a/vendor/github.com/gin-gonic/gin/README.md b/vendor/github.com/gin-gonic/gin/README.md new file mode 100644 index 000000000..ef8011793 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/README.md @@ -0,0 +1,2289 @@ +# Gin Web Framework + + + +[![Build Status](https://github.com/gin-gonic/gin/workflows/Run%20Tests/badge.svg?branch=master)](https://github.com/gin-gonic/gin/actions?query=branch%3Amaster) +[![codecov](https://codecov.io/gh/gin-gonic/gin/branch/master/graph/badge.svg)](https://codecov.io/gh/gin-gonic/gin) +[![Go Report Card](https://goreportcard.com/badge/github.com/gin-gonic/gin)](https://goreportcard.com/report/github.com/gin-gonic/gin) +[![GoDoc](https://pkg.go.dev/badge/github.com/gin-gonic/gin?status.svg)](https://pkg.go.dev/github.com/gin-gonic/gin?tab=doc) +[![Join the chat at https://gitter.im/gin-gonic/gin](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gin-gonic/gin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Sourcegraph](https://sourcegraph.com/github.com/gin-gonic/gin/-/badge.svg)](https://sourcegraph.com/github.com/gin-gonic/gin?badge) +[![Open Source Helpers](https://www.codetriage.com/gin-gonic/gin/badges/users.svg)](https://www.codetriage.com/gin-gonic/gin) +[![Release](https://img.shields.io/github/release/gin-gonic/gin.svg?style=flat-square)](https://github.com/gin-gonic/gin/releases) +[![TODOs](https://badgen.net/https/api.tickgit.com/badgen/github.com/gin-gonic/gin)](https://www.tickgit.com/browse?repo=github.com/gin-gonic/gin) + +Gin is a web framework written in Go (Golang). It features a martini-like API with performance that is up to 40 times faster thanks to [httprouter](https://github.com/julienschmidt/httprouter). If you need performance and good productivity, you will love Gin. + + +## Contents + +- [Gin Web Framework](#gin-web-framework) + - [Contents](#contents) + - [Installation](#installation) + - [Quick start](#quick-start) + - [Benchmarks](#benchmarks) + - [Gin v1. stable](#gin-v1-stable) + - [Build with jsoniter/go-json](#build-with-json-replacement) + - [Build without `MsgPack` rendering feature](#build-without-msgpack-rendering-feature) + - [API Examples](#api-examples) + - [Using GET, POST, PUT, PATCH, DELETE and OPTIONS](#using-get-post-put-patch-delete-and-options) + - [Parameters in path](#parameters-in-path) + - [Querystring parameters](#querystring-parameters) + - [Multipart/Urlencoded Form](#multiparturlencoded-form) + - [Another example: query + post form](#another-example-query--post-form) + - [Map as querystring or postform parameters](#map-as-querystring-or-postform-parameters) + - [Upload files](#upload-files) + - [Single file](#single-file) + - [Multiple files](#multiple-files) + - [Grouping routes](#grouping-routes) + - [Blank Gin without middleware by default](#blank-gin-without-middleware-by-default) + - [Using middleware](#using-middleware) + - [How to write log file](#how-to-write-log-file) + - [Custom Log Format](#custom-log-format) + - [Controlling Log output coloring](#controlling-log-output-coloring) + - [Model binding and validation](#model-binding-and-validation) + - [Custom Validators](#custom-validators) + - [Only Bind Query String](#only-bind-query-string) + - [Bind Query String or Post Data](#bind-query-string-or-post-data) + - [Bind Uri](#bind-uri) + - [Bind Header](#bind-header) + - [Bind HTML checkboxes](#bind-html-checkboxes) + - [Multipart/Urlencoded binding](#multiparturlencoded-binding) + - [XML, JSON, YAML and ProtoBuf rendering](#xml-json-yaml-and-protobuf-rendering) + - [SecureJSON](#securejson) + - [JSONP](#jsonp) + - [AsciiJSON](#asciijson) + - [PureJSON](#purejson) + - [Serving static files](#serving-static-files) + - [Serving data from file](#serving-data-from-file) + - [Serving data from reader](#serving-data-from-reader) + - [HTML rendering](#html-rendering) + - [Custom Template renderer](#custom-template-renderer) + - [Custom Delimiters](#custom-delimiters) + - [Custom Template Funcs](#custom-template-funcs) + - [Multitemplate](#multitemplate) + - [Redirects](#redirects) + - [Custom Middleware](#custom-middleware) + - [Using BasicAuth() middleware](#using-basicauth-middleware) + - [Goroutines inside a middleware](#goroutines-inside-a-middleware) + - [Custom HTTP configuration](#custom-http-configuration) + - [Support Let's Encrypt](#support-lets-encrypt) + - [Run multiple service using Gin](#run-multiple-service-using-gin) + - [Graceful shutdown or restart](#graceful-shutdown-or-restart) + - [Third-party packages](#third-party-packages) + - [Manually](#manually) + - [Build a single binary with templates](#build-a-single-binary-with-templates) + - [Bind form-data request with custom struct](#bind-form-data-request-with-custom-struct) + - [Try to bind body into different structs](#try-to-bind-body-into-different-structs) + - [http2 server push](#http2-server-push) + - [Define format for the log of routes](#define-format-for-the-log-of-routes) + - [Set and get a cookie](#set-and-get-a-cookie) + - [Testing](#testing) + - [Users](#users) + +## Installation + +To install Gin package, you need to install Go and set your Go workspace first. + +1. The first need [Go](https://golang.org/) installed (**version 1.13+ is required**), then you can use the below Go command to install Gin. + +```sh +$ go get -u github.com/gin-gonic/gin +``` + +2. Import it in your code: + +```go +import "github.com/gin-gonic/gin" +``` + +3. (Optional) Import `net/http`. This is required for example if using constants such as `http.StatusOK`. + +```go +import "net/http" +``` + +## Quick start + +```sh +# assume the following codes in example.go file +$ cat example.go +``` + +```go +package main + +import "github.com/gin-gonic/gin" + +func main() { + r := gin.Default() + r.GET("/ping", func(c *gin.Context) { + c.JSON(200, gin.H{ + "message": "pong", + }) + }) + r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080") +} +``` + +``` +# run example.go and visit 0.0.0.0:8080/ping (for windows "localhost:8080/ping") on browser +$ go run example.go +``` + +## Benchmarks + +Gin uses a custom version of [HttpRouter](https://github.com/julienschmidt/httprouter) + +[See all benchmarks](/BENCHMARKS.md) + +| Benchmark name | (1) | (2) | (3) | (4) | +| ------------------------------ | ---------:| ---------------:| ------------:| ---------------:| +| BenchmarkGin_GithubAll | **43550** | **27364 ns/op** | **0 B/op** | **0 allocs/op** | +| BenchmarkAce_GithubAll | 40543 | 29670 ns/op | 0 B/op | 0 allocs/op | +| BenchmarkAero_GithubAll | 57632 | 20648 ns/op | 0 B/op | 0 allocs/op | +| BenchmarkBear_GithubAll | 9234 | 216179 ns/op | 86448 B/op | 943 allocs/op | +| BenchmarkBeego_GithubAll | 7407 | 243496 ns/op | 71456 B/op | 609 allocs/op | +| BenchmarkBone_GithubAll | 420 | 2922835 ns/op | 720160 B/op | 8620 allocs/op | +| BenchmarkChi_GithubAll | 7620 | 238331 ns/op | 87696 B/op | 609 allocs/op | +| BenchmarkDenco_GithubAll | 18355 | 64494 ns/op | 20224 B/op | 167 allocs/op | +| BenchmarkEcho_GithubAll | 31251 | 38479 ns/op | 0 B/op | 0 allocs/op | +| BenchmarkGocraftWeb_GithubAll | 4117 | 300062 ns/op | 131656 B/op | 1686 allocs/op | +| BenchmarkGoji_GithubAll | 3274 | 416158 ns/op | 56112 B/op | 334 allocs/op | +| BenchmarkGojiv2_GithubAll | 1402 | 870518 ns/op | 352720 B/op | 4321 allocs/op | +| BenchmarkGoJsonRest_GithubAll | 2976 | 401507 ns/op | 134371 B/op | 2737 allocs/op | +| BenchmarkGoRestful_GithubAll | 410 | 2913158 ns/op | 910144 B/op | 2938 allocs/op | +| BenchmarkGorillaMux_GithubAll | 346 | 3384987 ns/op | 251650 B/op | 1994 allocs/op | +| BenchmarkGowwwRouter_GithubAll | 10000 | 143025 ns/op | 72144 B/op | 501 allocs/op | +| BenchmarkHttpRouter_GithubAll | 55938 | 21360 ns/op | 0 B/op | 0 allocs/op | +| BenchmarkHttpTreeMux_GithubAll | 10000 | 153944 ns/op | 65856 B/op | 671 allocs/op | +| BenchmarkKocha_GithubAll | 10000 | 106315 ns/op | 23304 B/op | 843 allocs/op | +| BenchmarkLARS_GithubAll | 47779 | 25084 ns/op | 0 B/op | 0 allocs/op | +| BenchmarkMacaron_GithubAll | 3266 | 371907 ns/op | 149409 B/op | 1624 allocs/op | +| BenchmarkMartini_GithubAll | 331 | 3444706 ns/op | 226551 B/op | 2325 allocs/op | +| BenchmarkPat_GithubAll | 273 | 4381818 ns/op | 1483152 B/op | 26963 allocs/op | +| BenchmarkPossum_GithubAll | 10000 | 164367 ns/op | 84448 B/op | 609 allocs/op | +| BenchmarkR2router_GithubAll | 10000 | 160220 ns/op | 77328 B/op | 979 allocs/op | +| BenchmarkRivet_GithubAll | 14625 | 82453 ns/op | 16272 B/op | 167 allocs/op | +| BenchmarkTango_GithubAll | 6255 | 279611 ns/op | 63826 B/op | 1618 allocs/op | +| BenchmarkTigerTonic_GithubAll | 2008 | 687874 ns/op | 193856 B/op | 4474 allocs/op | +| BenchmarkTraffic_GithubAll | 355 | 3478508 ns/op | 820744 B/op | 14114 allocs/op | +| BenchmarkVulcan_GithubAll | 6885 | 193333 ns/op | 19894 B/op | 609 allocs/op | + +- (1): Total Repetitions achieved in constant time, higher means more confident result +- (2): Single Repetition Duration (ns/op), lower is better +- (3): Heap Memory (B/op), lower is better +- (4): Average Allocations per Repetition (allocs/op), lower is better + +## Gin v1. stable + +- [x] Zero allocation router. +- [x] Still the fastest http router and framework. From routing to writing. +- [x] Complete suite of unit tests. +- [x] Battle tested. +- [x] API frozen, new releases will not break your code. + +## Build with json replacement + +Gin uses `encoding/json` as default json package but you can change it by build from other tags. + +[jsoniter](https://github.com/json-iterator/go) +```sh +$ go build -tags=jsoniter . +``` +[go-json](https://github.com/goccy/go-json) +```sh +$ go build -tags=go_json . +``` + +## Build without `MsgPack` rendering feature + +Gin enables `MsgPack` rendering feature by default. But you can disable this feature by specifying `nomsgpack` build tag. + +```sh +$ go build -tags=nomsgpack . +``` + +This is useful to reduce the binary size of executable files. See the [detail information](https://github.com/gin-gonic/gin/pull/1852). + +## API Examples + +You can find a number of ready-to-run examples at [Gin examples repository](https://github.com/gin-gonic/examples). + +### Using GET, POST, PUT, PATCH, DELETE and OPTIONS + +```go +func main() { + // Creates a gin router with default middleware: + // logger and recovery (crash-free) middleware + router := gin.Default() + + router.GET("/someGet", getting) + router.POST("/somePost", posting) + router.PUT("/somePut", putting) + router.DELETE("/someDelete", deleting) + router.PATCH("/somePatch", patching) + router.HEAD("/someHead", head) + router.OPTIONS("/someOptions", options) + + // By default it serves on :8080 unless a + // PORT environment variable was defined. + router.Run() + // router.Run(":3000") for a hard coded port +} +``` + +### Parameters in path + +```go +func main() { + router := gin.Default() + + // This handler will match /user/john but will not match /user/ or /user + router.GET("/user/:name", func(c *gin.Context) { + name := c.Param("name") + c.String(http.StatusOK, "Hello %s", name) + }) + + // However, this one will match /user/john/ and also /user/john/send + // If no other routers match /user/john, it will redirect to /user/john/ + router.GET("/user/:name/*action", func(c *gin.Context) { + name := c.Param("name") + action := c.Param("action") + message := name + " is " + action + c.String(http.StatusOK, message) + }) + + // For each matched request Context will hold the route definition + router.POST("/user/:name/*action", func(c *gin.Context) { + c.FullPath() == "/user/:name/*action" // true + }) + + // This handler will add a new router for /user/groups. + // Exact routes are resolved before param routes, regardless of the order they were defined. + // Routes starting with /user/groups are never interpreted as /user/:name/... routes + router.GET("/user/groups", func(c *gin.Context) { + c.String(http.StatusOK, "The available groups are [...]", name) + }) + + router.Run(":8080") +} +``` + +### Querystring parameters + +```go +func main() { + router := gin.Default() + + // Query string parameters are parsed using the existing underlying request object. + // The request responds to a url matching: /welcome?firstname=Jane&lastname=Doe + router.GET("/welcome", func(c *gin.Context) { + firstname := c.DefaultQuery("firstname", "Guest") + lastname := c.Query("lastname") // shortcut for c.Request.URL.Query().Get("lastname") + + c.String(http.StatusOK, "Hello %s %s", firstname, lastname) + }) + router.Run(":8080") +} +``` + +### Multipart/Urlencoded Form + +```go +func main() { + router := gin.Default() + + router.POST("/form_post", func(c *gin.Context) { + message := c.PostForm("message") + nick := c.DefaultPostForm("nick", "anonymous") + + c.JSON(200, gin.H{ + "status": "posted", + "message": message, + "nick": nick, + }) + }) + router.Run(":8080") +} +``` + +### Another example: query + post form + +``` +POST /post?id=1234&page=1 HTTP/1.1 +Content-Type: application/x-www-form-urlencoded + +name=manu&message=this_is_great +``` + +```go +func main() { + router := gin.Default() + + router.POST("/post", func(c *gin.Context) { + + id := c.Query("id") + page := c.DefaultQuery("page", "0") + name := c.PostForm("name") + message := c.PostForm("message") + + fmt.Printf("id: %s; page: %s; name: %s; message: %s", id, page, name, message) + }) + router.Run(":8080") +} +``` + +``` +id: 1234; page: 1; name: manu; message: this_is_great +``` + +### Map as querystring or postform parameters + +``` +POST /post?ids[a]=1234&ids[b]=hello HTTP/1.1 +Content-Type: application/x-www-form-urlencoded + +names[first]=thinkerou&names[second]=tianou +``` + +```go +func main() { + router := gin.Default() + + router.POST("/post", func(c *gin.Context) { + + ids := c.QueryMap("ids") + names := c.PostFormMap("names") + + fmt.Printf("ids: %v; names: %v", ids, names) + }) + router.Run(":8080") +} +``` + +``` +ids: map[b:hello a:1234]; names: map[second:tianou first:thinkerou] +``` + +### Upload files + +#### Single file + +References issue [#774](https://github.com/gin-gonic/gin/issues/774) and detail [example code](https://github.com/gin-gonic/examples/tree/master/upload-file/single). + +`file.Filename` **SHOULD NOT** be trusted. See [`Content-Disposition` on MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#Directives) and [#1693](https://github.com/gin-gonic/gin/issues/1693) + +> The filename is always optional and must not be used blindly by the application: path information should be stripped, and conversion to the server file system rules should be done. + +```go +func main() { + router := gin.Default() + // Set a lower memory limit for multipart forms (default is 32 MiB) + router.MaxMultipartMemory = 8 << 20 // 8 MiB + router.POST("/upload", func(c *gin.Context) { + // single file + file, _ := c.FormFile("file") + log.Println(file.Filename) + + // Upload the file to specific dst. + c.SaveUploadedFile(file, dst) + + c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", file.Filename)) + }) + router.Run(":8080") +} +``` + +How to `curl`: + +```bash +curl -X POST http://localhost:8080/upload \ + -F "file=@/Users/appleboy/test.zip" \ + -H "Content-Type: multipart/form-data" +``` + +#### Multiple files + +See the detail [example code](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple). + +```go +func main() { + router := gin.Default() + // Set a lower memory limit for multipart forms (default is 32 MiB) + router.MaxMultipartMemory = 8 << 20 // 8 MiB + router.POST("/upload", func(c *gin.Context) { + // Multipart form + form, _ := c.MultipartForm() + files := form.File["upload[]"] + + for _, file := range files { + log.Println(file.Filename) + + // Upload the file to specific dst. + c.SaveUploadedFile(file, dst) + } + c.String(http.StatusOK, fmt.Sprintf("%d files uploaded!", len(files))) + }) + router.Run(":8080") +} +``` + +How to `curl`: + +```bash +curl -X POST http://localhost:8080/upload \ + -F "upload[]=@/Users/appleboy/test1.zip" \ + -F "upload[]=@/Users/appleboy/test2.zip" \ + -H "Content-Type: multipart/form-data" +``` + +### Grouping routes + +```go +func main() { + router := gin.Default() + + // Simple group: v1 + v1 := router.Group("/v1") + { + v1.POST("/login", loginEndpoint) + v1.POST("/submit", submitEndpoint) + v1.POST("/read", readEndpoint) + } + + // Simple group: v2 + v2 := router.Group("/v2") + { + v2.POST("/login", loginEndpoint) + v2.POST("/submit", submitEndpoint) + v2.POST("/read", readEndpoint) + } + + router.Run(":8080") +} +``` + +### Blank Gin without middleware by default + +Use + +```go +r := gin.New() +``` + +instead of + +```go +// Default With the Logger and Recovery middleware already attached +r := gin.Default() +``` + + +### Using middleware +```go +func main() { + // Creates a router without any middleware by default + r := gin.New() + + // Global middleware + // Logger middleware will write the logs to gin.DefaultWriter even if you set with GIN_MODE=release. + // By default gin.DefaultWriter = os.Stdout + r.Use(gin.Logger()) + + // Recovery middleware recovers from any panics and writes a 500 if there was one. + r.Use(gin.Recovery()) + + // Per route middleware, you can add as many as you desire. + r.GET("/benchmark", MyBenchLogger(), benchEndpoint) + + // Authorization group + // authorized := r.Group("/", AuthRequired()) + // exactly the same as: + authorized := r.Group("/") + // per group middleware! in this case we use the custom created + // AuthRequired() middleware just in the "authorized" group. + authorized.Use(AuthRequired()) + { + authorized.POST("/login", loginEndpoint) + authorized.POST("/submit", submitEndpoint) + authorized.POST("/read", readEndpoint) + + // nested group + testing := authorized.Group("testing") + testing.GET("/analytics", analyticsEndpoint) + } + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + +### Custom Recovery behavior +```go +func main() { + // Creates a router without any middleware by default + r := gin.New() + + // Global middleware + // Logger middleware will write the logs to gin.DefaultWriter even if you set with GIN_MODE=release. + // By default gin.DefaultWriter = os.Stdout + r.Use(gin.Logger()) + + // Recovery middleware recovers from any panics and writes a 500 if there was one. + r.Use(gin.CustomRecovery(func(c *gin.Context, recovered interface{}) { + if err, ok := recovered.(string); ok { + c.String(http.StatusInternalServerError, fmt.Sprintf("error: %s", err)) + } + c.AbortWithStatus(http.StatusInternalServerError) + })) + + r.GET("/panic", func(c *gin.Context) { + // panic with a string -- the custom middleware could save this to a database or report it to the user + panic("foo") + }) + + r.GET("/", func(c *gin.Context) { + c.String(http.StatusOK, "ohai") + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + +### How to write log file +```go +func main() { + // Disable Console Color, you don't need console color when writing the logs to file. + gin.DisableConsoleColor() + + // Logging to a file. + f, _ := os.Create("gin.log") + gin.DefaultWriter = io.MultiWriter(f) + + // Use the following code if you need to write the logs to file and console at the same time. + // gin.DefaultWriter = io.MultiWriter(f, os.Stdout) + + router := gin.Default() + router.GET("/ping", func(c *gin.Context) { + c.String(200, "pong") + }) + +    router.Run(":8080") +} +``` + +### Custom Log Format +```go +func main() { + router := gin.New() + + // LoggerWithFormatter middleware will write the logs to gin.DefaultWriter + // By default gin.DefaultWriter = os.Stdout + router.Use(gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string { + + // your custom format + return fmt.Sprintf("%s - [%s] \"%s %s %s %d %s \"%s\" %s\"\n", + param.ClientIP, + param.TimeStamp.Format(time.RFC1123), + param.Method, + param.Path, + param.Request.Proto, + param.StatusCode, + param.Latency, + param.Request.UserAgent(), + param.ErrorMessage, + ) + })) + router.Use(gin.Recovery()) + + router.GET("/ping", func(c *gin.Context) { + c.String(200, "pong") + }) + + router.Run(":8080") +} +``` + +**Sample Output** +``` +::1 - [Fri, 07 Dec 2018 17:04:38 JST] "GET /ping HTTP/1.1 200 122.767µs "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36" " +``` + +### Controlling Log output coloring + +By default, logs output on console should be colorized depending on the detected TTY. + +Never colorize logs: + +```go +func main() { + // Disable log's color + gin.DisableConsoleColor() + + // Creates a gin router with default middleware: + // logger and recovery (crash-free) middleware + router := gin.Default() + + router.GET("/ping", func(c *gin.Context) { + c.String(200, "pong") + }) + + router.Run(":8080") +} +``` + +Always colorize logs: + +```go +func main() { + // Force log's color + gin.ForceConsoleColor() + + // Creates a gin router with default middleware: + // logger and recovery (crash-free) middleware + router := gin.Default() + + router.GET("/ping", func(c *gin.Context) { + c.String(200, "pong") + }) + + router.Run(":8080") +} +``` + +### Model binding and validation + +To bind a request body into a type, use model binding. We currently support binding of JSON, XML, YAML and standard form values (foo=bar&boo=baz). + +Gin uses [**go-playground/validator/v10**](https://github.com/go-playground/validator) for validation. Check the full docs on tags usage [here](https://godoc.org/github.com/go-playground/validator#hdr-Baked_In_Validators_and_Tags). + +Note that you need to set the corresponding binding tag on all fields you want to bind. For example, when binding from JSON, set `json:"fieldname"`. + +Also, Gin provides two sets of methods for binding: +- **Type** - Must bind + - **Methods** - `Bind`, `BindJSON`, `BindXML`, `BindQuery`, `BindYAML`, `BindHeader` + - **Behavior** - These methods use `MustBindWith` under the hood. If there is a binding error, the request is aborted with `c.AbortWithError(400, err).SetType(ErrorTypeBind)`. This sets the response status code to 400 and the `Content-Type` header is set to `text/plain; charset=utf-8`. Note that if you try to set the response code after this, it will result in a warning `[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 400 with 422`. If you wish to have greater control over the behavior, consider using the `ShouldBind` equivalent method. +- **Type** - Should bind + - **Methods** - `ShouldBind`, `ShouldBindJSON`, `ShouldBindXML`, `ShouldBindQuery`, `ShouldBindYAML`, `ShouldBindHeader` + - **Behavior** - These methods use `ShouldBindWith` under the hood. If there is a binding error, the error is returned and it is the developer's responsibility to handle the request and error appropriately. + +When using the Bind-method, Gin tries to infer the binder depending on the Content-Type header. If you are sure what you are binding, you can use `MustBindWith` or `ShouldBindWith`. + +You can also specify that specific fields are required. If a field is decorated with `binding:"required"` and has a empty value when binding, an error will be returned. + +```go +// Binding from JSON +type Login struct { + User string `form:"user" json:"user" xml:"user" binding:"required"` + Password string `form:"password" json:"password" xml:"password" binding:"required"` +} + +func main() { + router := gin.Default() + + // Example for binding JSON ({"user": "manu", "password": "123"}) + router.POST("/loginJSON", func(c *gin.Context) { + var json Login + if err := c.ShouldBindJSON(&json); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + if json.User != "manu" || json.Password != "123" { + c.JSON(http.StatusUnauthorized, gin.H{"status": "unauthorized"}) + return + } + + c.JSON(http.StatusOK, gin.H{"status": "you are logged in"}) + }) + + // Example for binding XML ( + // + // + // manu + // 123 + // ) + router.POST("/loginXML", func(c *gin.Context) { + var xml Login + if err := c.ShouldBindXML(&xml); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + if xml.User != "manu" || xml.Password != "123" { + c.JSON(http.StatusUnauthorized, gin.H{"status": "unauthorized"}) + return + } + + c.JSON(http.StatusOK, gin.H{"status": "you are logged in"}) + }) + + // Example for binding a HTML form (user=manu&password=123) + router.POST("/loginForm", func(c *gin.Context) { + var form Login + // This will infer what binder to use depending on the content-type header. + if err := c.ShouldBind(&form); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + if form.User != "manu" || form.Password != "123" { + c.JSON(http.StatusUnauthorized, gin.H{"status": "unauthorized"}) + return + } + + c.JSON(http.StatusOK, gin.H{"status": "you are logged in"}) + }) + + // Listen and serve on 0.0.0.0:8080 + router.Run(":8080") +} +``` + +**Sample request** +```shell +$ curl -v -X POST \ + http://localhost:8080/loginJSON \ + -H 'content-type: application/json' \ + -d '{ "user": "manu" }' +> POST /loginJSON HTTP/1.1 +> Host: localhost:8080 +> User-Agent: curl/7.51.0 +> Accept: */* +> content-type: application/json +> Content-Length: 18 +> +* upload completely sent off: 18 out of 18 bytes +< HTTP/1.1 400 Bad Request +< Content-Type: application/json; charset=utf-8 +< Date: Fri, 04 Aug 2017 03:51:31 GMT +< Content-Length: 100 +< +{"error":"Key: 'Login.Password' Error:Field validation for 'Password' failed on the 'required' tag"} +``` + +**Skip validate** + +When running the above example using the above the `curl` command, it returns error. Because the example use `binding:"required"` for `Password`. If use `binding:"-"` for `Password`, then it will not return error when running the above example again. + +### Custom Validators + +It is also possible to register custom validators. See the [example code](https://github.com/gin-gonic/examples/tree/master/custom-validation/server.go). + +```go +package main + +import ( + "net/http" + "time" + + "github.com/gin-gonic/gin" + "github.com/gin-gonic/gin/binding" + "github.com/go-playground/validator/v10" +) + +// Booking contains binded and validated data. +type Booking struct { + CheckIn time.Time `form:"check_in" binding:"required,bookabledate" time_format:"2006-01-02"` + CheckOut time.Time `form:"check_out" binding:"required,gtfield=CheckIn" time_format:"2006-01-02"` +} + +var bookableDate validator.Func = func(fl validator.FieldLevel) bool { + date, ok := fl.Field().Interface().(time.Time) + if ok { + today := time.Now() + if today.After(date) { + return false + } + } + return true +} + +func main() { + route := gin.Default() + + if v, ok := binding.Validator.Engine().(*validator.Validate); ok { + v.RegisterValidation("bookabledate", bookableDate) + } + + route.GET("/bookable", getBookable) + route.Run(":8085") +} + +func getBookable(c *gin.Context) { + var b Booking + if err := c.ShouldBindWith(&b, binding.Query); err == nil { + c.JSON(http.StatusOK, gin.H{"message": "Booking dates are valid!"}) + } else { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + } +} +``` + +```console +$ curl "localhost:8085/bookable?check_in=2030-04-16&check_out=2030-04-17" +{"message":"Booking dates are valid!"} + +$ curl "localhost:8085/bookable?check_in=2030-03-10&check_out=2030-03-09" +{"error":"Key: 'Booking.CheckOut' Error:Field validation for 'CheckOut' failed on the 'gtfield' tag"} + +$ curl "localhost:8085/bookable?check_in=2000-03-09&check_out=2000-03-10" +{"error":"Key: 'Booking.CheckIn' Error:Field validation for 'CheckIn' failed on the 'bookabledate' tag"}% +``` + +[Struct level validations](https://github.com/go-playground/validator/releases/tag/v8.7) can also be registered this way. +See the [struct-lvl-validation example](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations) to learn more. + +### Only Bind Query String + +`ShouldBindQuery` function only binds the query params and not the post data. See the [detail information](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017). + +```go +package main + +import ( + "log" + + "github.com/gin-gonic/gin" +) + +type Person struct { + Name string `form:"name"` + Address string `form:"address"` +} + +func main() { + route := gin.Default() + route.Any("/testing", startPage) + route.Run(":8085") +} + +func startPage(c *gin.Context) { + var person Person + if c.ShouldBindQuery(&person) == nil { + log.Println("====== Only Bind By Query String ======") + log.Println(person.Name) + log.Println(person.Address) + } + c.String(200, "Success") +} + +``` + +### Bind Query String or Post Data + +See the [detail information](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292). + +```go +package main + +import ( + "log" + "time" + + "github.com/gin-gonic/gin" +) + +type Person struct { + Name string `form:"name"` + Address string `form:"address"` + Birthday time.Time `form:"birthday" time_format:"2006-01-02" time_utc:"1"` + CreateTime time.Time `form:"createTime" time_format:"unixNano"` + UnixTime time.Time `form:"unixTime" time_format:"unix"` +} + +func main() { + route := gin.Default() + route.GET("/testing", startPage) + route.Run(":8085") +} + +func startPage(c *gin.Context) { + var person Person + // If `GET`, only `Form` binding engine (`query`) used. + // If `POST`, first checks the `content-type` for `JSON` or `XML`, then uses `Form` (`form-data`). + // See more at https://github.com/gin-gonic/gin/blob/master/binding/binding.go#L48 + if c.ShouldBind(&person) == nil { + log.Println(person.Name) + log.Println(person.Address) + log.Println(person.Birthday) + log.Println(person.CreateTime) + log.Println(person.UnixTime) + } + + c.String(200, "Success") +} +``` + +Test it with: +```sh +$ curl -X GET "localhost:8085/testing?name=appleboy&address=xyz&birthday=1992-03-15&createTime=1562400033000000123&unixTime=1562400033" +``` + +### Bind Uri + +See the [detail information](https://github.com/gin-gonic/gin/issues/846). + +```go +package main + +import "github.com/gin-gonic/gin" + +type Person struct { + ID string `uri:"id" binding:"required,uuid"` + Name string `uri:"name" binding:"required"` +} + +func main() { + route := gin.Default() + route.GET("/:name/:id", func(c *gin.Context) { + var person Person + if err := c.ShouldBindUri(&person); err != nil { + c.JSON(400, gin.H{"msg": err.Error()}) + return + } + c.JSON(200, gin.H{"name": person.Name, "uuid": person.ID}) + }) + route.Run(":8088") +} +``` + +Test it with: +```sh +$ curl -v localhost:8088/thinkerou/987fbc97-4bed-5078-9f07-9141ba07c9f3 +$ curl -v localhost:8088/thinkerou/not-uuid +``` + +### Bind Header + +```go +package main + +import ( + "fmt" + "github.com/gin-gonic/gin" +) + +type testHeader struct { + Rate int `header:"Rate"` + Domain string `header:"Domain"` +} + +func main() { + r := gin.Default() + r.GET("/", func(c *gin.Context) { + h := testHeader{} + + if err := c.ShouldBindHeader(&h); err != nil { + c.JSON(200, err) + } + + fmt.Printf("%#v\n", h) + c.JSON(200, gin.H{"Rate": h.Rate, "Domain": h.Domain}) + }) + + r.Run() + +// client +// curl -H "rate:300" -H "domain:music" 127.0.0.1:8080/ +// output +// {"Domain":"music","Rate":300} +} +``` + +### Bind HTML checkboxes + +See the [detail information](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092) + +main.go + +```go +... + +type myForm struct { + Colors []string `form:"colors[]"` +} + +... + +func formHandler(c *gin.Context) { + var fakeForm myForm + c.ShouldBind(&fakeForm) + c.JSON(200, gin.H{"color": fakeForm.Colors}) +} + +... + +``` + +form.html + +```html +

+

Check some colors

+ + + + + + + + +``` + +result: + +``` +{"color":["red","green","blue"]} +``` + +### Multipart/Urlencoded binding + +```go +type ProfileForm struct { + Name string `form:"name" binding:"required"` + Avatar *multipart.FileHeader `form:"avatar" binding:"required"` + + // or for multiple files + // Avatars []*multipart.FileHeader `form:"avatar" binding:"required"` +} + +func main() { + router := gin.Default() + router.POST("/profile", func(c *gin.Context) { + // you can bind multipart form with explicit binding declaration: + // c.ShouldBindWith(&form, binding.Form) + // or you can simply use autobinding with ShouldBind method: + var form ProfileForm + // in this case proper binding will be automatically selected + if err := c.ShouldBind(&form); err != nil { + c.String(http.StatusBadRequest, "bad request") + return + } + + err := c.SaveUploadedFile(form.Avatar, form.Avatar.Filename) + if err != nil { + c.String(http.StatusInternalServerError, "unknown error") + return + } + + // db.Save(&form) + + c.String(http.StatusOK, "ok") + }) + router.Run(":8080") +} +``` + +Test it with: +```sh +$ curl -X POST -v --form name=user --form "avatar=@./avatar.png" http://localhost:8080/profile +``` + +### XML, JSON, YAML and ProtoBuf rendering + +```go +func main() { + r := gin.Default() + + // gin.H is a shortcut for map[string]interface{} + r.GET("/someJSON", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{"message": "hey", "status": http.StatusOK}) + }) + + r.GET("/moreJSON", func(c *gin.Context) { + // You also can use a struct + var msg struct { + Name string `json:"user"` + Message string + Number int + } + msg.Name = "Lena" + msg.Message = "hey" + msg.Number = 123 + // Note that msg.Name becomes "user" in the JSON + // Will output : {"user": "Lena", "Message": "hey", "Number": 123} + c.JSON(http.StatusOK, msg) + }) + + r.GET("/someXML", func(c *gin.Context) { + c.XML(http.StatusOK, gin.H{"message": "hey", "status": http.StatusOK}) + }) + + r.GET("/someYAML", func(c *gin.Context) { + c.YAML(http.StatusOK, gin.H{"message": "hey", "status": http.StatusOK}) + }) + + r.GET("/someProtoBuf", func(c *gin.Context) { + reps := []int64{int64(1), int64(2)} + label := "test" + // The specific definition of protobuf is written in the testdata/protoexample file. + data := &protoexample.Test{ + Label: &label, + Reps: reps, + } + // Note that data becomes binary data in the response + // Will output protoexample.Test protobuf serialized data + c.ProtoBuf(http.StatusOK, data) + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + +#### SecureJSON + +Using SecureJSON to prevent json hijacking. Default prepends `"while(1),"` to response body if the given struct is array values. + +```go +func main() { + r := gin.Default() + + // You can also use your own secure json prefix + // r.SecureJsonPrefix(")]}',\n") + + r.GET("/someJSON", func(c *gin.Context) { + names := []string{"lena", "austin", "foo"} + + // Will output : while(1);["lena","austin","foo"] + c.SecureJSON(http.StatusOK, names) + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` +#### JSONP + +Using JSONP to request data from a server in a different domain. Add callback to response body if the query parameter callback exists. + +```go +func main() { + r := gin.Default() + + r.GET("/JSONP", func(c *gin.Context) { + data := gin.H{ + "foo": "bar", + } + + //callback is x + // Will output : x({\"foo\":\"bar\"}) + c.JSONP(http.StatusOK, data) + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") + + // client + // curl http://127.0.0.1:8080/JSONP?callback=x +} +``` + +#### AsciiJSON + +Using AsciiJSON to Generates ASCII-only JSON with escaped non-ASCII characters. + +```go +func main() { + r := gin.Default() + + r.GET("/someJSON", func(c *gin.Context) { + data := gin.H{ + "lang": "GO语言", + "tag": "
", + } + + // will output : {"lang":"GO\u8bed\u8a00","tag":"\u003cbr\u003e"} + c.AsciiJSON(http.StatusOK, data) + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + +#### PureJSON + +Normally, JSON replaces special HTML characters with their unicode entities, e.g. `<` becomes `\u003c`. If you want to encode such characters literally, you can use PureJSON instead. +This feature is unavailable in Go 1.6 and lower. + +```go +func main() { + r := gin.Default() + + // Serves unicode entities + r.GET("/json", func(c *gin.Context) { + c.JSON(200, gin.H{ + "html": "Hello, world!", + }) + }) + + // Serves literal characters + r.GET("/purejson", func(c *gin.Context) { + c.PureJSON(200, gin.H{ + "html": "Hello, world!", + }) + }) + + // listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + +### Serving static files + +```go +func main() { + router := gin.Default() + router.Static("/assets", "./assets") + router.StaticFS("/more_static", http.Dir("my_file_system")) + router.StaticFile("/favicon.ico", "./resources/favicon.ico") + + // Listen and serve on 0.0.0.0:8080 + router.Run(":8080") +} +``` + +### Serving data from file + +```go +func main() { + router := gin.Default() + + router.GET("/local/file", func(c *gin.Context) { + c.File("local/file.go") + }) + + var fs http.FileSystem = // ... + router.GET("/fs/file", func(c *gin.Context) { + c.FileFromFS("fs/file.go", fs) + }) +} + +``` + +### Serving data from reader + +```go +func main() { + router := gin.Default() + router.GET("/someDataFromReader", func(c *gin.Context) { + response, err := http.Get("https://raw.githubusercontent.com/gin-gonic/logo/master/color.png") + if err != nil || response.StatusCode != http.StatusOK { + c.Status(http.StatusServiceUnavailable) + return + } + + reader := response.Body + defer reader.Close() + contentLength := response.ContentLength + contentType := response.Header.Get("Content-Type") + + extraHeaders := map[string]string{ + "Content-Disposition": `attachment; filename="gopher.png"`, + } + + c.DataFromReader(http.StatusOK, contentLength, contentType, reader, extraHeaders) + }) + router.Run(":8080") +} +``` + +### HTML rendering + +Using LoadHTMLGlob() or LoadHTMLFiles() + +```go +func main() { + router := gin.Default() + router.LoadHTMLGlob("templates/*") + //router.LoadHTMLFiles("templates/template1.html", "templates/template2.html") + router.GET("/index", func(c *gin.Context) { + c.HTML(http.StatusOK, "index.tmpl", gin.H{ + "title": "Main website", + }) + }) + router.Run(":8080") +} +``` + +templates/index.tmpl + +```html + +

+ {{ .title }} +

+ +``` + +Using templates with same name in different directories + +```go +func main() { + router := gin.Default() + router.LoadHTMLGlob("templates/**/*") + router.GET("/posts/index", func(c *gin.Context) { + c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{ + "title": "Posts", + }) + }) + router.GET("/users/index", func(c *gin.Context) { + c.HTML(http.StatusOK, "users/index.tmpl", gin.H{ + "title": "Users", + }) + }) + router.Run(":8080") +} +``` + +templates/posts/index.tmpl + +```html +{{ define "posts/index.tmpl" }} +

+ {{ .title }} +

+

Using posts/index.tmpl

+ +{{ end }} +``` + +templates/users/index.tmpl + +```html +{{ define "users/index.tmpl" }} +

+ {{ .title }} +

+

Using users/index.tmpl

+ +{{ end }} +``` + +#### Custom Template renderer + +You can also use your own html template render + +```go +import "html/template" + +func main() { + router := gin.Default() + html := template.Must(template.ParseFiles("file1", "file2")) + router.SetHTMLTemplate(html) + router.Run(":8080") +} +``` + +#### Custom Delimiters + +You may use custom delims + +```go + r := gin.Default() + r.Delims("{[{", "}]}") + r.LoadHTMLGlob("/path/to/templates") +``` + +#### Custom Template Funcs + +See the detail [example code](https://github.com/gin-gonic/examples/tree/master/template). + +main.go + +```go +import ( + "fmt" + "html/template" + "net/http" + "time" + + "github.com/gin-gonic/gin" +) + +func formatAsDate(t time.Time) string { + year, month, day := t.Date() + return fmt.Sprintf("%d%02d/%02d", year, month, day) +} + +func main() { + router := gin.Default() + router.Delims("{[{", "}]}") + router.SetFuncMap(template.FuncMap{ + "formatAsDate": formatAsDate, + }) + router.LoadHTMLFiles("./testdata/template/raw.tmpl") + + router.GET("/raw", func(c *gin.Context) { + c.HTML(http.StatusOK, "raw.tmpl", gin.H{ + "now": time.Date(2017, 07, 01, 0, 0, 0, 0, time.UTC), + }) + }) + + router.Run(":8080") +} + +``` + +raw.tmpl + +```html +Date: {[{.now | formatAsDate}]} +``` + +Result: +``` +Date: 2017/07/01 +``` + +### Multitemplate + +Gin allow by default use only one html.Template. Check [a multitemplate render](https://github.com/gin-contrib/multitemplate) for using features like go 1.6 `block template`. + +### Redirects + +Issuing a HTTP redirect is easy. Both internal and external locations are supported. + +```go +r.GET("/test", func(c *gin.Context) { + c.Redirect(http.StatusMovedPermanently, "http://www.google.com/") +}) +``` + +Issuing a HTTP redirect from POST. Refer to issue: [#444](https://github.com/gin-gonic/gin/issues/444) +```go +r.POST("/test", func(c *gin.Context) { + c.Redirect(http.StatusFound, "/foo") +}) +``` + +Issuing a Router redirect, use `HandleContext` like below. + +``` go +r.GET("/test", func(c *gin.Context) { + c.Request.URL.Path = "/test2" + r.HandleContext(c) +}) +r.GET("/test2", func(c *gin.Context) { + c.JSON(200, gin.H{"hello": "world"}) +}) +``` + + +### Custom Middleware + +```go +func Logger() gin.HandlerFunc { + return func(c *gin.Context) { + t := time.Now() + + // Set example variable + c.Set("example", "12345") + + // before request + + c.Next() + + // after request + latency := time.Since(t) + log.Print(latency) + + // access the status we are sending + status := c.Writer.Status() + log.Println(status) + } +} + +func main() { + r := gin.New() + r.Use(Logger()) + + r.GET("/test", func(c *gin.Context) { + example := c.MustGet("example").(string) + + // it would print: "12345" + log.Println(example) + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + +### Using BasicAuth() middleware + +```go +// simulate some private data +var secrets = gin.H{ + "foo": gin.H{"email": "foo@bar.com", "phone": "123433"}, + "austin": gin.H{"email": "austin@example.com", "phone": "666"}, + "lena": gin.H{"email": "lena@guapa.com", "phone": "523443"}, +} + +func main() { + r := gin.Default() + + // Group using gin.BasicAuth() middleware + // gin.Accounts is a shortcut for map[string]string + authorized := r.Group("/admin", gin.BasicAuth(gin.Accounts{ + "foo": "bar", + "austin": "1234", + "lena": "hello2", + "manu": "4321", + })) + + // /admin/secrets endpoint + // hit "localhost:8080/admin/secrets + authorized.GET("/secrets", func(c *gin.Context) { + // get user, it was set by the BasicAuth middleware + user := c.MustGet(gin.AuthUserKey).(string) + if secret, ok := secrets[user]; ok { + c.JSON(http.StatusOK, gin.H{"user": user, "secret": secret}) + } else { + c.JSON(http.StatusOK, gin.H{"user": user, "secret": "NO SECRET :("}) + } + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + +### Goroutines inside a middleware + +When starting new Goroutines inside a middleware or handler, you **SHOULD NOT** use the original context inside it, you have to use a read-only copy. + +```go +func main() { + r := gin.Default() + + r.GET("/long_async", func(c *gin.Context) { + // create copy to be used inside the goroutine + cCp := c.Copy() + go func() { + // simulate a long task with time.Sleep(). 5 seconds + time.Sleep(5 * time.Second) + + // note that you are using the copied context "cCp", IMPORTANT + log.Println("Done! in path " + cCp.Request.URL.Path) + }() + }) + + r.GET("/long_sync", func(c *gin.Context) { + // simulate a long task with time.Sleep(). 5 seconds + time.Sleep(5 * time.Second) + + // since we are NOT using a goroutine, we do not have to copy the context + log.Println("Done! in path " + c.Request.URL.Path) + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + +### Custom HTTP configuration + +Use `http.ListenAndServe()` directly, like this: + +```go +func main() { + router := gin.Default() + http.ListenAndServe(":8080", router) +} +``` +or + +```go +func main() { + router := gin.Default() + + s := &http.Server{ + Addr: ":8080", + Handler: router, + ReadTimeout: 10 * time.Second, + WriteTimeout: 10 * time.Second, + MaxHeaderBytes: 1 << 20, + } + s.ListenAndServe() +} +``` + +### Support Let's Encrypt + +example for 1-line LetsEncrypt HTTPS servers. + +```go +package main + +import ( + "log" + + "github.com/gin-gonic/autotls" + "github.com/gin-gonic/gin" +) + +func main() { + r := gin.Default() + + // Ping handler + r.GET("/ping", func(c *gin.Context) { + c.String(200, "pong") + }) + + log.Fatal(autotls.Run(r, "example1.com", "example2.com")) +} +``` + +example for custom autocert manager. + +```go +package main + +import ( + "log" + + "github.com/gin-gonic/autotls" + "github.com/gin-gonic/gin" + "golang.org/x/crypto/acme/autocert" +) + +func main() { + r := gin.Default() + + // Ping handler + r.GET("/ping", func(c *gin.Context) { + c.String(200, "pong") + }) + + m := autocert.Manager{ + Prompt: autocert.AcceptTOS, + HostPolicy: autocert.HostWhitelist("example1.com", "example2.com"), + Cache: autocert.DirCache("/var/www/.cache"), + } + + log.Fatal(autotls.RunWithManager(r, &m)) +} +``` + +### Run multiple service using Gin + +See the [question](https://github.com/gin-gonic/gin/issues/346) and try the following example: + +```go +package main + +import ( + "log" + "net/http" + "time" + + "github.com/gin-gonic/gin" + "golang.org/x/sync/errgroup" +) + +var ( + g errgroup.Group +) + +func router01() http.Handler { + e := gin.New() + e.Use(gin.Recovery()) + e.GET("/", func(c *gin.Context) { + c.JSON( + http.StatusOK, + gin.H{ + "code": http.StatusOK, + "error": "Welcome server 01", + }, + ) + }) + + return e +} + +func router02() http.Handler { + e := gin.New() + e.Use(gin.Recovery()) + e.GET("/", func(c *gin.Context) { + c.JSON( + http.StatusOK, + gin.H{ + "code": http.StatusOK, + "error": "Welcome server 02", + }, + ) + }) + + return e +} + +func main() { + server01 := &http.Server{ + Addr: ":8080", + Handler: router01(), + ReadTimeout: 5 * time.Second, + WriteTimeout: 10 * time.Second, + } + + server02 := &http.Server{ + Addr: ":8081", + Handler: router02(), + ReadTimeout: 5 * time.Second, + WriteTimeout: 10 * time.Second, + } + + g.Go(func() error { + err := server01.ListenAndServe() + if err != nil && err != http.ErrServerClosed { + log.Fatal(err) + } + return err + }) + + g.Go(func() error { + err := server02.ListenAndServe() + if err != nil && err != http.ErrServerClosed { + log.Fatal(err) + } + return err + }) + + if err := g.Wait(); err != nil { + log.Fatal(err) + } +} +``` + +### Graceful shutdown or restart + +There are a few approaches you can use to perform a graceful shutdown or restart. You can make use of third-party packages specifically built for that, or you can manually do the same with the functions and methods from the built-in packages. + +#### Third-party packages + +We can use [fvbock/endless](https://github.com/fvbock/endless) to replace the default `ListenAndServe`. Refer to issue [#296](https://github.com/gin-gonic/gin/issues/296) for more details. + +```go +router := gin.Default() +router.GET("/", handler) +// [...] +endless.ListenAndServe(":4242", router) +``` + +Alternatives: + +* [manners](https://github.com/braintree/manners): A polite Go HTTP server that shuts down gracefully. +* [graceful](https://github.com/tylerb/graceful): Graceful is a Go package enabling graceful shutdown of an http.Handler server. +* [grace](https://github.com/facebookgo/grace): Graceful restart & zero downtime deploy for Go servers. + +#### Manually + +In case you are using Go 1.8 or a later version, you may not need to use those libraries. Consider using `http.Server`'s built-in [Shutdown()](https://golang.org/pkg/net/http/#Server.Shutdown) method for graceful shutdowns. The example below describes its usage, and we've got more examples using gin [here](https://github.com/gin-gonic/examples/tree/master/graceful-shutdown). + +```go +// +build go1.8 + +package main + +import ( + "context" + "log" + "net/http" + "os" + "os/signal" + "syscall" + "time" + + "github.com/gin-gonic/gin" +) + +func main() { + router := gin.Default() + router.GET("/", func(c *gin.Context) { + time.Sleep(5 * time.Second) + c.String(http.StatusOK, "Welcome Gin Server") + }) + + srv := &http.Server{ + Addr: ":8080", + Handler: router, + } + + // Initializing the server in a goroutine so that + // it won't block the graceful shutdown handling below + go func() { + if err := srv.ListenAndServe(); err != nil && errors.Is(err, http.ErrServerClosed) { + log.Printf("listen: %s\n", err) + } + }() + + // Wait for interrupt signal to gracefully shutdown the server with + // a timeout of 5 seconds. + quit := make(chan os.Signal) + // kill (no param) default send syscall.SIGTERM + // kill -2 is syscall.SIGINT + // kill -9 is syscall.SIGKILL but can't be catch, so don't need add it + signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) + <-quit + log.Println("Shutting down server...") + + // The context is used to inform the server it has 5 seconds to finish + // the request it is currently handling + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + + if err := srv.Shutdown(ctx); err != nil { + log.Fatal("Server forced to shutdown:", err) + } + + log.Println("Server exiting") +} +``` + +### Build a single binary with templates + +You can build a server into a single binary containing templates by using [go-assets][]. + +[go-assets]: https://github.com/jessevdk/go-assets + +```go +func main() { + r := gin.New() + + t, err := loadTemplate() + if err != nil { + panic(err) + } + r.SetHTMLTemplate(t) + + r.GET("/", func(c *gin.Context) { + c.HTML(http.StatusOK, "/html/index.tmpl",nil) + }) + r.Run(":8080") +} + +// loadTemplate loads templates embedded by go-assets-builder +func loadTemplate() (*template.Template, error) { + t := template.New("") + for name, file := range Assets.Files { + defer file.Close() + if file.IsDir() || !strings.HasSuffix(name, ".tmpl") { + continue + } + h, err := ioutil.ReadAll(file) + if err != nil { + return nil, err + } + t, err = t.New(name).Parse(string(h)) + if err != nil { + return nil, err + } + } + return t, nil +} +``` + +See a complete example in the `https://github.com/gin-gonic/examples/tree/master/assets-in-binary` directory. + +### Bind form-data request with custom struct + +The follow example using custom struct: + +```go +type StructA struct { + FieldA string `form:"field_a"` +} + +type StructB struct { + NestedStruct StructA + FieldB string `form:"field_b"` +} + +type StructC struct { + NestedStructPointer *StructA + FieldC string `form:"field_c"` +} + +type StructD struct { + NestedAnonyStruct struct { + FieldX string `form:"field_x"` + } + FieldD string `form:"field_d"` +} + +func GetDataB(c *gin.Context) { + var b StructB + c.Bind(&b) + c.JSON(200, gin.H{ + "a": b.NestedStruct, + "b": b.FieldB, + }) +} + +func GetDataC(c *gin.Context) { + var b StructC + c.Bind(&b) + c.JSON(200, gin.H{ + "a": b.NestedStructPointer, + "c": b.FieldC, + }) +} + +func GetDataD(c *gin.Context) { + var b StructD + c.Bind(&b) + c.JSON(200, gin.H{ + "x": b.NestedAnonyStruct, + "d": b.FieldD, + }) +} + +func main() { + r := gin.Default() + r.GET("/getb", GetDataB) + r.GET("/getc", GetDataC) + r.GET("/getd", GetDataD) + + r.Run() +} +``` + +Using the command `curl` command result: + +``` +$ curl "http://localhost:8080/getb?field_a=hello&field_b=world" +{"a":{"FieldA":"hello"},"b":"world"} +$ curl "http://localhost:8080/getc?field_a=hello&field_c=world" +{"a":{"FieldA":"hello"},"c":"world"} +$ curl "http://localhost:8080/getd?field_x=hello&field_d=world" +{"d":"world","x":{"FieldX":"hello"}} +``` + +### Try to bind body into different structs + +The normal methods for binding request body consumes `c.Request.Body` and they +cannot be called multiple times. + +```go +type formA struct { + Foo string `json:"foo" xml:"foo" binding:"required"` +} + +type formB struct { + Bar string `json:"bar" xml:"bar" binding:"required"` +} + +func SomeHandler(c *gin.Context) { + objA := formA{} + objB := formB{} + // This c.ShouldBind consumes c.Request.Body and it cannot be reused. + if errA := c.ShouldBind(&objA); errA == nil { + c.String(http.StatusOK, `the body should be formA`) + // Always an error is occurred by this because c.Request.Body is EOF now. + } else if errB := c.ShouldBind(&objB); errB == nil { + c.String(http.StatusOK, `the body should be formB`) + } else { + ... + } +} +``` + +For this, you can use `c.ShouldBindBodyWith`. + +```go +func SomeHandler(c *gin.Context) { + objA := formA{} + objB := formB{} + // This reads c.Request.Body and stores the result into the context. + if errA := c.ShouldBindBodyWith(&objA, binding.JSON); errA == nil { + c.String(http.StatusOK, `the body should be formA`) + // At this time, it reuses body stored in the context. + } else if errB := c.ShouldBindBodyWith(&objB, binding.JSON); errB == nil { + c.String(http.StatusOK, `the body should be formB JSON`) + // And it can accepts other formats + } else if errB2 := c.ShouldBindBodyWith(&objB, binding.XML); errB2 == nil { + c.String(http.StatusOK, `the body should be formB XML`) + } else { + ... + } +} +``` + +* `c.ShouldBindBodyWith` stores body into the context before binding. This has +a slight impact to performance, so you should not use this method if you are +enough to call binding at once. +* This feature is only needed for some formats -- `JSON`, `XML`, `MsgPack`, +`ProtoBuf`. For other formats, `Query`, `Form`, `FormPost`, `FormMultipart`, +can be called by `c.ShouldBind()` multiple times without any damage to +performance (See [#1341](https://github.com/gin-gonic/gin/pull/1341)). + +### Bind form-data request with custom struct and custom tag + +```go +const ( + customerTag = "url" + defaultMemory = 32 << 20 +) + +type customerBinding struct {} + +func (customerBinding) Name() string { + return "form" +} + +func (customerBinding) Bind(req *http.Request, obj interface{}) error { + if err := req.ParseForm(); err != nil { + return err + } + if err := req.ParseMultipartForm(defaultMemory); err != nil { + if err != http.ErrNotMultipart { + return err + } + } + if err := binding.MapFormWithTag(obj, req.Form, customerTag); err != nil { + return err + } + return validate(obj) +} + +func validate(obj interface{}) error { + if binding.Validator == nil { + return nil + } + return binding.Validator.ValidateStruct(obj) +} + +// Now we can do this!!! +// FormA is a external type that we can't modify it's tag +type FormA struct { + FieldA string `url:"field_a"` +} + +func ListHandler(s *Service) func(ctx *gin.Context) { + return func(ctx *gin.Context) { + var urlBinding = customerBinding{} + var opt FormA + err := ctx.MustBindWith(&opt, urlBinding) + if err != nil { + ... + } + ... + } +} +``` + +### http2 server push + +http.Pusher is supported only **go1.8+**. See the [golang blog](https://blog.golang.org/h2push) for detail information. + +```go +package main + +import ( + "html/template" + "log" + + "github.com/gin-gonic/gin" +) + +var html = template.Must(template.New("https").Parse(` + + + Https Test + + + +

Welcome, Ginner!

+ + +`)) + +func main() { + r := gin.Default() + r.Static("/assets", "./assets") + r.SetHTMLTemplate(html) + + r.GET("/", func(c *gin.Context) { + if pusher := c.Writer.Pusher(); pusher != nil { + // use pusher.Push() to do server push + if err := pusher.Push("/assets/app.js", nil); err != nil { + log.Printf("Failed to push: %v", err) + } + } + c.HTML(200, "https", gin.H{ + "status": "success", + }) + }) + + // Listen and Server in https://127.0.0.1:8080 + r.RunTLS(":8080", "./testdata/server.pem", "./testdata/server.key") +} +``` + +### Define format for the log of routes + +The default log of routes is: +``` +[GIN-debug] POST /foo --> main.main.func1 (3 handlers) +[GIN-debug] GET /bar --> main.main.func2 (3 handlers) +[GIN-debug] GET /status --> main.main.func3 (3 handlers) +``` + +If you want to log this information in given format (e.g. JSON, key values or something else), then you can define this format with `gin.DebugPrintRouteFunc`. +In the example below, we log all routes with standard log package but you can use another log tools that suits of your needs. +```go +import ( + "log" + "net/http" + + "github.com/gin-gonic/gin" +) + +func main() { + r := gin.Default() + gin.DebugPrintRouteFunc = func(httpMethod, absolutePath, handlerName string, nuHandlers int) { + log.Printf("endpoint %v %v %v %v\n", httpMethod, absolutePath, handlerName, nuHandlers) + } + + r.POST("/foo", func(c *gin.Context) { + c.JSON(http.StatusOK, "foo") + }) + + r.GET("/bar", func(c *gin.Context) { + c.JSON(http.StatusOK, "bar") + }) + + r.GET("/status", func(c *gin.Context) { + c.JSON(http.StatusOK, "ok") + }) + + // Listen and Server in http://0.0.0.0:8080 + r.Run() +} +``` + +### Set and get a cookie + +```go +import ( + "fmt" + + "github.com/gin-gonic/gin" +) + +func main() { + + router := gin.Default() + + router.GET("/cookie", func(c *gin.Context) { + + cookie, err := c.Cookie("gin_cookie") + + if err != nil { + cookie = "NotSet" + c.SetCookie("gin_cookie", "test", 3600, "/", "localhost", false, true) + } + + fmt.Printf("Cookie value: %s \n", cookie) + }) + + router.Run() +} +``` + +## Don't trust all proxies + +Gin lets you specify which headers to hold the real client IP (if any), +as well as specifying which proxies (or direct clients) you trust to +specify one of these headers. + +The `TrustedProxies` slice on your `gin.Engine` specifes network addresses or +network CIDRs from where clients which their request headers related to client +IP can be trusted. They can be IPv4 addresses, IPv4 CIDRs, IPv6 addresses or +IPv6 CIDRs. + +```go +import ( + "fmt" + + "github.com/gin-gonic/gin" +) + +func main() { + + router := gin.Default() + router.TrustedProxies = []string{"192.168.1.2"} + + router.GET("/", func(c *gin.Context) { + // If the client is 192.168.1.2, use the X-Forwarded-For + // header to deduce the original client IP from the trust- + // worthy parts of that header. + // Otherwise, simply return the direct client IP + fmt.Printf("ClientIP: %s\n", c.ClientIP()) + }) + router.Run() +} +``` + +## Testing + +The `net/http/httptest` package is preferable way for HTTP testing. + +```go +package main + +func setupRouter() *gin.Engine { + r := gin.Default() + r.GET("/ping", func(c *gin.Context) { + c.String(200, "pong") + }) + return r +} + +func main() { + r := setupRouter() + r.Run(":8080") +} +``` + +Test for code example above: + +```go +package main + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestPingRoute(t *testing.T) { + router := setupRouter() + + w := httptest.NewRecorder() + req, _ := http.NewRequest("GET", "/ping", nil) + router.ServeHTTP(w, req) + + assert.Equal(t, 200, w.Code) + assert.Equal(t, "pong", w.Body.String()) +} +``` + +## Users + +Awesome project lists using [Gin](https://github.com/gin-gonic/gin) web framework. + +* [gorush](https://github.com/appleboy/gorush): A push notification server written in Go. +* [fnproject](https://github.com/fnproject/fn): The container native, cloud agnostic serverless platform. +* [photoprism](https://github.com/photoprism/photoprism): Personal photo management powered by Go and Google TensorFlow. +* [krakend](https://github.com/devopsfaith/krakend): Ultra performant API Gateway with middlewares. +* [picfit](https://github.com/thoas/picfit): An image resizing server written in Go. +* [brigade](https://github.com/brigadecore/brigade): Event-based Scripting for Kubernetes. +* [dkron](https://github.com/distribworks/dkron): Distributed, fault tolerant job scheduling system. + diff --git a/vendor/github.com/gin-gonic/gin/auth.go b/vendor/github.com/gin-gonic/gin/auth.go new file mode 100644 index 000000000..4d8a6ce48 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/auth.go @@ -0,0 +1,91 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "crypto/subtle" + "encoding/base64" + "net/http" + "strconv" + + "github.com/gin-gonic/gin/internal/bytesconv" +) + +// AuthUserKey is the cookie name for user credential in basic auth. +const AuthUserKey = "user" + +// Accounts defines a key/value for user/pass list of authorized logins. +type Accounts map[string]string + +type authPair struct { + value string + user string +} + +type authPairs []authPair + +func (a authPairs) searchCredential(authValue string) (string, bool) { + if authValue == "" { + return "", false + } + for _, pair := range a { + if subtle.ConstantTimeCompare([]byte(pair.value), []byte(authValue)) == 1 { + return pair.user, true + } + } + return "", false +} + +// BasicAuthForRealm returns a Basic HTTP Authorization middleware. It takes as arguments a map[string]string where +// the key is the user name and the value is the password, as well as the name of the Realm. +// If the realm is empty, "Authorization Required" will be used by default. +// (see http://tools.ietf.org/html/rfc2617#section-1.2) +func BasicAuthForRealm(accounts Accounts, realm string) HandlerFunc { + if realm == "" { + realm = "Authorization Required" + } + realm = "Basic realm=" + strconv.Quote(realm) + pairs := processAccounts(accounts) + return func(c *Context) { + // Search user in the slice of allowed credentials + user, found := pairs.searchCredential(c.requestHeader("Authorization")) + if !found { + // Credentials doesn't match, we return 401 and abort handlers chain. + c.Header("WWW-Authenticate", realm) + c.AbortWithStatus(http.StatusUnauthorized) + return + } + + // The user credentials was found, set user's id to key AuthUserKey in this context, the user's id can be read later using + // c.MustGet(gin.AuthUserKey). + c.Set(AuthUserKey, user) + } +} + +// BasicAuth returns a Basic HTTP Authorization middleware. It takes as argument a map[string]string where +// the key is the user name and the value is the password. +func BasicAuth(accounts Accounts) HandlerFunc { + return BasicAuthForRealm(accounts, "") +} + +func processAccounts(accounts Accounts) authPairs { + length := len(accounts) + assert1(length > 0, "Empty list of authorized credentials") + pairs := make(authPairs, 0, length) + for user, password := range accounts { + assert1(user != "", "User can not be empty") + value := authorizationHeader(user, password) + pairs = append(pairs, authPair{ + value: value, + user: user, + }) + } + return pairs +} + +func authorizationHeader(user, password string) string { + base := user + ":" + password + return "Basic " + base64.StdEncoding.EncodeToString(bytesconv.StringToBytes(base)) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/binding.go b/vendor/github.com/gin-gonic/gin/binding/binding.go new file mode 100644 index 000000000..deb71661b --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/binding.go @@ -0,0 +1,118 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build !nomsgpack +// +build !nomsgpack + +package binding + +import "net/http" + +// Content-Type MIME of the most common data formats. +const ( + MIMEJSON = "application/json" + MIMEHTML = "text/html" + MIMEXML = "application/xml" + MIMEXML2 = "text/xml" + MIMEPlain = "text/plain" + MIMEPOSTForm = "application/x-www-form-urlencoded" + MIMEMultipartPOSTForm = "multipart/form-data" + MIMEPROTOBUF = "application/x-protobuf" + MIMEMSGPACK = "application/x-msgpack" + MIMEMSGPACK2 = "application/msgpack" + MIMEYAML = "application/x-yaml" +) + +// Binding describes the interface which needs to be implemented for binding the +// data present in the request such as JSON request body, query parameters or +// the form POST. +type Binding interface { + Name() string + Bind(*http.Request, interface{}) error +} + +// BindingBody adds BindBody method to Binding. BindBody is similar with Bind, +// but it reads the body from supplied bytes instead of req.Body. +type BindingBody interface { + Binding + BindBody([]byte, interface{}) error +} + +// BindingUri adds BindUri method to Binding. BindUri is similar with Bind, +// but it read the Params. +type BindingUri interface { + Name() string + BindUri(map[string][]string, interface{}) error +} + +// StructValidator is the minimal interface which needs to be implemented in +// order for it to be used as the validator engine for ensuring the correctness +// of the request. Gin provides a default implementation for this using +// https://github.com/go-playground/validator/tree/v10.6.1. +type StructValidator interface { + // ValidateStruct can receive any kind of type and it should never panic, even if the configuration is not right. + // If the received type is a slice|array, the validation should be performed travel on every element. + // If the received type is not a struct or slice|array, any validation should be skipped and nil must be returned. + // If the received type is a struct or pointer to a struct, the validation should be performed. + // If the struct is not valid or the validation itself fails, a descriptive error should be returned. + // Otherwise nil must be returned. + ValidateStruct(interface{}) error + + // Engine returns the underlying validator engine which powers the + // StructValidator implementation. + Engine() interface{} +} + +// Validator is the default validator which implements the StructValidator +// interface. It uses https://github.com/go-playground/validator/tree/v10.6.1 +// under the hood. +var Validator StructValidator = &defaultValidator{} + +// These implement the Binding interface and can be used to bind the data +// present in the request to struct instances. +var ( + JSON = jsonBinding{} + XML = xmlBinding{} + Form = formBinding{} + Query = queryBinding{} + FormPost = formPostBinding{} + FormMultipart = formMultipartBinding{} + ProtoBuf = protobufBinding{} + MsgPack = msgpackBinding{} + YAML = yamlBinding{} + Uri = uriBinding{} + Header = headerBinding{} +) + +// Default returns the appropriate Binding instance based on the HTTP method +// and the content type. +func Default(method, contentType string) Binding { + if method == http.MethodGet { + return Form + } + + switch contentType { + case MIMEJSON: + return JSON + case MIMEXML, MIMEXML2: + return XML + case MIMEPROTOBUF: + return ProtoBuf + case MIMEMSGPACK, MIMEMSGPACK2: + return MsgPack + case MIMEYAML: + return YAML + case MIMEMultipartPOSTForm: + return FormMultipart + default: // case MIMEPOSTForm: + return Form + } +} + +func validate(obj interface{}) error { + if Validator == nil { + return nil + } + return Validator.ValidateStruct(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/binding_nomsgpack.go b/vendor/github.com/gin-gonic/gin/binding/binding_nomsgpack.go new file mode 100644 index 000000000..234244707 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/binding_nomsgpack.go @@ -0,0 +1,112 @@ +// Copyright 2020 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build nomsgpack +// +build nomsgpack + +package binding + +import "net/http" + +// Content-Type MIME of the most common data formats. +const ( + MIMEJSON = "application/json" + MIMEHTML = "text/html" + MIMEXML = "application/xml" + MIMEXML2 = "text/xml" + MIMEPlain = "text/plain" + MIMEPOSTForm = "application/x-www-form-urlencoded" + MIMEMultipartPOSTForm = "multipart/form-data" + MIMEPROTOBUF = "application/x-protobuf" + MIMEYAML = "application/x-yaml" +) + +// Binding describes the interface which needs to be implemented for binding the +// data present in the request such as JSON request body, query parameters or +// the form POST. +type Binding interface { + Name() string + Bind(*http.Request, interface{}) error +} + +// BindingBody adds BindBody method to Binding. BindBody is similar with Bind, +// but it reads the body from supplied bytes instead of req.Body. +type BindingBody interface { + Binding + BindBody([]byte, interface{}) error +} + +// BindingUri adds BindUri method to Binding. BindUri is similar with Bind, +// but it read the Params. +type BindingUri interface { + Name() string + BindUri(map[string][]string, interface{}) error +} + +// StructValidator is the minimal interface which needs to be implemented in +// order for it to be used as the validator engine for ensuring the correctness +// of the request. Gin provides a default implementation for this using +// https://github.com/go-playground/validator/tree/v10.6.1. +type StructValidator interface { + // ValidateStruct can receive any kind of type and it should never panic, even if the configuration is not right. + // If the received type is not a struct, any validation should be skipped and nil must be returned. + // If the received type is a struct or pointer to a struct, the validation should be performed. + // If the struct is not valid or the validation itself fails, a descriptive error should be returned. + // Otherwise nil must be returned. + ValidateStruct(interface{}) error + + // Engine returns the underlying validator engine which powers the + // StructValidator implementation. + Engine() interface{} +} + +// Validator is the default validator which implements the StructValidator +// interface. It uses https://github.com/go-playground/validator/tree/v10.6.1 +// under the hood. +var Validator StructValidator = &defaultValidator{} + +// These implement the Binding interface and can be used to bind the data +// present in the request to struct instances. +var ( + JSON = jsonBinding{} + XML = xmlBinding{} + Form = formBinding{} + Query = queryBinding{} + FormPost = formPostBinding{} + FormMultipart = formMultipartBinding{} + ProtoBuf = protobufBinding{} + YAML = yamlBinding{} + Uri = uriBinding{} + Header = headerBinding{} +) + +// Default returns the appropriate Binding instance based on the HTTP method +// and the content type. +func Default(method, contentType string) Binding { + if method == "GET" { + return Form + } + + switch contentType { + case MIMEJSON: + return JSON + case MIMEXML, MIMEXML2: + return XML + case MIMEPROTOBUF: + return ProtoBuf + case MIMEYAML: + return YAML + case MIMEMultipartPOSTForm: + return FormMultipart + default: // case MIMEPOSTForm: + return Form + } +} + +func validate(obj interface{}) error { + if Validator == nil { + return nil + } + return Validator.ValidateStruct(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/default_validator.go b/vendor/github.com/gin-gonic/gin/binding/default_validator.go new file mode 100644 index 000000000..87fc4c665 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/default_validator.go @@ -0,0 +1,97 @@ +// Copyright 2017 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import ( + "fmt" + "reflect" + "strings" + "sync" + + "github.com/go-playground/validator/v10" +) + +type defaultValidator struct { + once sync.Once + validate *validator.Validate +} + +type sliceValidateError []error + +// Error concatenates all error elements in sliceValidateError into a single string separated by \n. +func (err sliceValidateError) Error() string { + n := len(err) + switch n { + case 0: + return "" + default: + var b strings.Builder + if err[0] != nil { + fmt.Fprintf(&b, "[%d]: %s", 0, err[0].Error()) + } + if n > 1 { + for i := 1; i < n; i++ { + if err[i] != nil { + b.WriteString("\n") + fmt.Fprintf(&b, "[%d]: %s", i, err[i].Error()) + } + } + } + return b.String() + } +} + +var _ StructValidator = &defaultValidator{} + +// ValidateStruct receives any kind of type, but only performed struct or pointer to struct type. +func (v *defaultValidator) ValidateStruct(obj interface{}) error { + if obj == nil { + return nil + } + + value := reflect.ValueOf(obj) + switch value.Kind() { + case reflect.Ptr: + return v.ValidateStruct(value.Elem().Interface()) + case reflect.Struct: + return v.validateStruct(obj) + case reflect.Slice, reflect.Array: + count := value.Len() + validateRet := make(sliceValidateError, 0) + for i := 0; i < count; i++ { + if err := v.ValidateStruct(value.Index(i).Interface()); err != nil { + validateRet = append(validateRet, err) + } + } + if len(validateRet) == 0 { + return nil + } + return validateRet + default: + return nil + } +} + +// validateStruct receives struct type +func (v *defaultValidator) validateStruct(obj interface{}) error { + v.lazyinit() + return v.validate.Struct(obj) +} + +// Engine returns the underlying validator engine which powers the default +// Validator instance. This is useful if you want to register custom validations +// or struct level validations. See validator GoDoc for more info - +// https://pkg.go.dev/github.com/go-playground/validator/v10 +func (v *defaultValidator) Engine() interface{} { + v.lazyinit() + return v.validate +} + +func (v *defaultValidator) lazyinit() { + v.once.Do(func() { + v.validate = validator.New() + v.validate.SetTagName("binding") + }) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/form.go b/vendor/github.com/gin-gonic/gin/binding/form.go new file mode 100644 index 000000000..040af9e20 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/form.go @@ -0,0 +1,61 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import ( + "net/http" +) + +const defaultMemory = 32 << 20 + +type formBinding struct{} +type formPostBinding struct{} +type formMultipartBinding struct{} + +func (formBinding) Name() string { + return "form" +} + +func (formBinding) Bind(req *http.Request, obj interface{}) error { + if err := req.ParseForm(); err != nil { + return err + } + if err := req.ParseMultipartForm(defaultMemory); err != nil && err != http.ErrNotMultipart { + return err + } + if err := mapForm(obj, req.Form); err != nil { + return err + } + return validate(obj) +} + +func (formPostBinding) Name() string { + return "form-urlencoded" +} + +func (formPostBinding) Bind(req *http.Request, obj interface{}) error { + if err := req.ParseForm(); err != nil { + return err + } + if err := mapForm(obj, req.PostForm); err != nil { + return err + } + return validate(obj) +} + +func (formMultipartBinding) Name() string { + return "multipart/form-data" +} + +func (formMultipartBinding) Bind(req *http.Request, obj interface{}) error { + if err := req.ParseMultipartForm(defaultMemory); err != nil { + return err + } + if err := mappingByPtr(obj, (*multipartRequest)(req), "form"); err != nil { + return err + } + + return validate(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/form_mapping.go b/vendor/github.com/gin-gonic/gin/binding/form_mapping.go new file mode 100644 index 000000000..cb66dd4a7 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/form_mapping.go @@ -0,0 +1,404 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import ( + "errors" + "fmt" + "reflect" + "strconv" + "strings" + "time" + + "github.com/gin-gonic/gin/internal/bytesconv" + "github.com/gin-gonic/gin/internal/json" +) + +var ( + errUnknownType = errors.New("unknown type") + + // ErrConvertMapStringSlice can not covert to map[string][]string + ErrConvertMapStringSlice = errors.New("can not convert to map slices of strings") + + // ErrConvertToMapString can not convert to map[string]string + ErrConvertToMapString = errors.New("can not convert to map of strings") +) + +func mapUri(ptr interface{}, m map[string][]string) error { + return mapFormByTag(ptr, m, "uri") +} + +func mapForm(ptr interface{}, form map[string][]string) error { + return mapFormByTag(ptr, form, "form") +} + +func MapFormWithTag(ptr interface{}, form map[string][]string, tag string) error { + return mapFormByTag(ptr, form, tag) +} + +var emptyField = reflect.StructField{} + +func mapFormByTag(ptr interface{}, form map[string][]string, tag string) error { + // Check if ptr is a map + ptrVal := reflect.ValueOf(ptr) + var pointed interface{} + if ptrVal.Kind() == reflect.Ptr { + ptrVal = ptrVal.Elem() + pointed = ptrVal.Interface() + } + if ptrVal.Kind() == reflect.Map && + ptrVal.Type().Key().Kind() == reflect.String { + if pointed != nil { + ptr = pointed + } + return setFormMap(ptr, form) + } + + return mappingByPtr(ptr, formSource(form), tag) +} + +// setter tries to set value on a walking by fields of a struct +type setter interface { + TrySet(value reflect.Value, field reflect.StructField, key string, opt setOptions) (isSetted bool, err error) +} + +type formSource map[string][]string + +var _ setter = formSource(nil) + +// TrySet tries to set a value by request's form source (like map[string][]string) +func (form formSource) TrySet(value reflect.Value, field reflect.StructField, tagValue string, opt setOptions) (isSetted bool, err error) { + return setByForm(value, field, form, tagValue, opt) +} + +func mappingByPtr(ptr interface{}, setter setter, tag string) error { + _, err := mapping(reflect.ValueOf(ptr), emptyField, setter, tag) + return err +} + +func mapping(value reflect.Value, field reflect.StructField, setter setter, tag string) (bool, error) { + if field.Tag.Get(tag) == "-" { // just ignoring this field + return false, nil + } + + var vKind = value.Kind() + + if vKind == reflect.Ptr { + var isNew bool + vPtr := value + if value.IsNil() { + isNew = true + vPtr = reflect.New(value.Type().Elem()) + } + isSetted, err := mapping(vPtr.Elem(), field, setter, tag) + if err != nil { + return false, err + } + if isNew && isSetted { + value.Set(vPtr) + } + return isSetted, nil + } + + if vKind != reflect.Struct || !field.Anonymous { + ok, err := tryToSetValue(value, field, setter, tag) + if err != nil { + return false, err + } + if ok { + return true, nil + } + } + + if vKind == reflect.Struct { + tValue := value.Type() + + var isSetted bool + for i := 0; i < value.NumField(); i++ { + sf := tValue.Field(i) + if sf.PkgPath != "" && !sf.Anonymous { // unexported + continue + } + ok, err := mapping(value.Field(i), sf, setter, tag) + if err != nil { + return false, err + } + isSetted = isSetted || ok + } + return isSetted, nil + } + return false, nil +} + +type setOptions struct { + isDefaultExists bool + defaultValue string +} + +func tryToSetValue(value reflect.Value, field reflect.StructField, setter setter, tag string) (bool, error) { + var tagValue string + var setOpt setOptions + + tagValue = field.Tag.Get(tag) + tagValue, opts := head(tagValue, ",") + + if tagValue == "" { // default value is FieldName + tagValue = field.Name + } + if tagValue == "" { // when field is "emptyField" variable + return false, nil + } + + var opt string + for len(opts) > 0 { + opt, opts = head(opts, ",") + + if k, v := head(opt, "="); k == "default" { + setOpt.isDefaultExists = true + setOpt.defaultValue = v + } + } + + return setter.TrySet(value, field, tagValue, setOpt) +} + +func setByForm(value reflect.Value, field reflect.StructField, form map[string][]string, tagValue string, opt setOptions) (isSetted bool, err error) { + vs, ok := form[tagValue] + if !ok && !opt.isDefaultExists { + return false, nil + } + + switch value.Kind() { + case reflect.Slice: + if !ok { + vs = []string{opt.defaultValue} + } + return true, setSlice(vs, value, field) + case reflect.Array: + if !ok { + vs = []string{opt.defaultValue} + } + if len(vs) != value.Len() { + return false, fmt.Errorf("%q is not valid value for %s", vs, value.Type().String()) + } + return true, setArray(vs, value, field) + default: + var val string + if !ok { + val = opt.defaultValue + } + + if len(vs) > 0 { + val = vs[0] + } + return true, setWithProperType(val, value, field) + } +} + +func setWithProperType(val string, value reflect.Value, field reflect.StructField) error { + switch value.Kind() { + case reflect.Int: + return setIntField(val, 0, value) + case reflect.Int8: + return setIntField(val, 8, value) + case reflect.Int16: + return setIntField(val, 16, value) + case reflect.Int32: + return setIntField(val, 32, value) + case reflect.Int64: + switch value.Interface().(type) { + case time.Duration: + return setTimeDuration(val, value, field) + } + return setIntField(val, 64, value) + case reflect.Uint: + return setUintField(val, 0, value) + case reflect.Uint8: + return setUintField(val, 8, value) + case reflect.Uint16: + return setUintField(val, 16, value) + case reflect.Uint32: + return setUintField(val, 32, value) + case reflect.Uint64: + return setUintField(val, 64, value) + case reflect.Bool: + return setBoolField(val, value) + case reflect.Float32: + return setFloatField(val, 32, value) + case reflect.Float64: + return setFloatField(val, 64, value) + case reflect.String: + value.SetString(val) + case reflect.Struct: + switch value.Interface().(type) { + case time.Time: + return setTimeField(val, field, value) + } + return json.Unmarshal(bytesconv.StringToBytes(val), value.Addr().Interface()) + case reflect.Map: + return json.Unmarshal(bytesconv.StringToBytes(val), value.Addr().Interface()) + default: + return errUnknownType + } + return nil +} + +func setIntField(val string, bitSize int, field reflect.Value) error { + if val == "" { + val = "0" + } + intVal, err := strconv.ParseInt(val, 10, bitSize) + if err == nil { + field.SetInt(intVal) + } + return err +} + +func setUintField(val string, bitSize int, field reflect.Value) error { + if val == "" { + val = "0" + } + uintVal, err := strconv.ParseUint(val, 10, bitSize) + if err == nil { + field.SetUint(uintVal) + } + return err +} + +func setBoolField(val string, field reflect.Value) error { + if val == "" { + val = "false" + } + boolVal, err := strconv.ParseBool(val) + if err == nil { + field.SetBool(boolVal) + } + return err +} + +func setFloatField(val string, bitSize int, field reflect.Value) error { + if val == "" { + val = "0.0" + } + floatVal, err := strconv.ParseFloat(val, bitSize) + if err == nil { + field.SetFloat(floatVal) + } + return err +} + +func setTimeField(val string, structField reflect.StructField, value reflect.Value) error { + timeFormat := structField.Tag.Get("time_format") + if timeFormat == "" { + timeFormat = time.RFC3339 + } + + switch tf := strings.ToLower(timeFormat); tf { + case "unix", "unixnano": + tv, err := strconv.ParseInt(val, 10, 64) + if err != nil { + return err + } + + d := time.Duration(1) + if tf == "unixnano" { + d = time.Second + } + + t := time.Unix(tv/int64(d), tv%int64(d)) + value.Set(reflect.ValueOf(t)) + return nil + + } + + if val == "" { + value.Set(reflect.ValueOf(time.Time{})) + return nil + } + + l := time.Local + if isUTC, _ := strconv.ParseBool(structField.Tag.Get("time_utc")); isUTC { + l = time.UTC + } + + if locTag := structField.Tag.Get("time_location"); locTag != "" { + loc, err := time.LoadLocation(locTag) + if err != nil { + return err + } + l = loc + } + + t, err := time.ParseInLocation(timeFormat, val, l) + if err != nil { + return err + } + + value.Set(reflect.ValueOf(t)) + return nil +} + +func setArray(vals []string, value reflect.Value, field reflect.StructField) error { + for i, s := range vals { + err := setWithProperType(s, value.Index(i), field) + if err != nil { + return err + } + } + return nil +} + +func setSlice(vals []string, value reflect.Value, field reflect.StructField) error { + slice := reflect.MakeSlice(value.Type(), len(vals), len(vals)) + err := setArray(vals, slice, field) + if err != nil { + return err + } + value.Set(slice) + return nil +} + +func setTimeDuration(val string, value reflect.Value, field reflect.StructField) error { + d, err := time.ParseDuration(val) + if err != nil { + return err + } + value.Set(reflect.ValueOf(d)) + return nil +} + +func head(str, sep string) (head string, tail string) { + idx := strings.Index(str, sep) + if idx < 0 { + return str, "" + } + return str[:idx], str[idx+len(sep):] +} + +func setFormMap(ptr interface{}, form map[string][]string) error { + el := reflect.TypeOf(ptr).Elem() + + if el.Kind() == reflect.Slice { + ptrMap, ok := ptr.(map[string][]string) + if !ok { + return ErrConvertMapStringSlice + } + for k, v := range form { + ptrMap[k] = v + } + + return nil + } + + ptrMap, ok := ptr.(map[string]string) + if !ok { + return ErrConvertToMapString + } + for k, v := range form { + ptrMap[k] = v[len(v)-1] // pick last + } + + return nil +} diff --git a/vendor/github.com/gin-gonic/gin/binding/header.go b/vendor/github.com/gin-gonic/gin/binding/header.go new file mode 100644 index 000000000..b99302af8 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/header.go @@ -0,0 +1,34 @@ +package binding + +import ( + "net/http" + "net/textproto" + "reflect" +) + +type headerBinding struct{} + +func (headerBinding) Name() string { + return "header" +} + +func (headerBinding) Bind(req *http.Request, obj interface{}) error { + + if err := mapHeader(obj, req.Header); err != nil { + return err + } + + return validate(obj) +} + +func mapHeader(ptr interface{}, h map[string][]string) error { + return mappingByPtr(ptr, headerSource(h), "header") +} + +type headerSource map[string][]string + +var _ setter = headerSource(nil) + +func (hs headerSource) TrySet(value reflect.Value, field reflect.StructField, tagValue string, opt setOptions) (bool, error) { + return setByForm(value, field, hs, textproto.CanonicalMIMEHeaderKey(tagValue), opt) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/json.go b/vendor/github.com/gin-gonic/gin/binding/json.go new file mode 100644 index 000000000..45aaa4948 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/json.go @@ -0,0 +1,56 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import ( + "bytes" + "errors" + "io" + "net/http" + + "github.com/gin-gonic/gin/internal/json" +) + +// EnableDecoderUseNumber is used to call the UseNumber method on the JSON +// Decoder instance. UseNumber causes the Decoder to unmarshal a number into an +// interface{} as a Number instead of as a float64. +var EnableDecoderUseNumber = false + +// EnableDecoderDisallowUnknownFields is used to call the DisallowUnknownFields method +// on the JSON Decoder instance. DisallowUnknownFields causes the Decoder to +// return an error when the destination is a struct and the input contains object +// keys which do not match any non-ignored, exported fields in the destination. +var EnableDecoderDisallowUnknownFields = false + +type jsonBinding struct{} + +func (jsonBinding) Name() string { + return "json" +} + +func (jsonBinding) Bind(req *http.Request, obj interface{}) error { + if req == nil || req.Body == nil { + return errors.New("invalid request") + } + return decodeJSON(req.Body, obj) +} + +func (jsonBinding) BindBody(body []byte, obj interface{}) error { + return decodeJSON(bytes.NewReader(body), obj) +} + +func decodeJSON(r io.Reader, obj interface{}) error { + decoder := json.NewDecoder(r) + if EnableDecoderUseNumber { + decoder.UseNumber() + } + if EnableDecoderDisallowUnknownFields { + decoder.DisallowUnknownFields() + } + if err := decoder.Decode(obj); err != nil { + return err + } + return validate(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/msgpack.go b/vendor/github.com/gin-gonic/gin/binding/msgpack.go new file mode 100644 index 000000000..2a442996a --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/msgpack.go @@ -0,0 +1,38 @@ +// Copyright 2017 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build !nomsgpack +// +build !nomsgpack + +package binding + +import ( + "bytes" + "io" + "net/http" + + "github.com/ugorji/go/codec" +) + +type msgpackBinding struct{} + +func (msgpackBinding) Name() string { + return "msgpack" +} + +func (msgpackBinding) Bind(req *http.Request, obj interface{}) error { + return decodeMsgPack(req.Body, obj) +} + +func (msgpackBinding) BindBody(body []byte, obj interface{}) error { + return decodeMsgPack(bytes.NewReader(body), obj) +} + +func decodeMsgPack(r io.Reader, obj interface{}) error { + cdc := new(codec.MsgpackHandle) + if err := codec.NewDecoder(r, cdc).Decode(&obj); err != nil { + return err + } + return validate(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/multipart_form_mapping.go b/vendor/github.com/gin-gonic/gin/binding/multipart_form_mapping.go new file mode 100644 index 000000000..69c0a5443 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/multipart_form_mapping.go @@ -0,0 +1,74 @@ +// Copyright 2019 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import ( + "errors" + "mime/multipart" + "net/http" + "reflect" +) + +type multipartRequest http.Request + +var _ setter = (*multipartRequest)(nil) + +var ( + // ErrMultiFileHeader multipart.FileHeader invalid + ErrMultiFileHeader = errors.New("unsupported field type for multipart.FileHeader") + + // ErrMultiFileHeaderLenInvalid array for []*multipart.FileHeader len invalid + ErrMultiFileHeaderLenInvalid = errors.New("unsupported len of array for []*multipart.FileHeader") +) + +// TrySet tries to set a value by the multipart request with the binding a form file +func (r *multipartRequest) TrySet(value reflect.Value, field reflect.StructField, key string, opt setOptions) (bool, error) { + if files := r.MultipartForm.File[key]; len(files) != 0 { + return setByMultipartFormFile(value, field, files) + } + + return setByForm(value, field, r.MultipartForm.Value, key, opt) +} + +func setByMultipartFormFile(value reflect.Value, field reflect.StructField, files []*multipart.FileHeader) (isSetted bool, err error) { + switch value.Kind() { + case reflect.Ptr: + switch value.Interface().(type) { + case *multipart.FileHeader: + value.Set(reflect.ValueOf(files[0])) + return true, nil + } + case reflect.Struct: + switch value.Interface().(type) { + case multipart.FileHeader: + value.Set(reflect.ValueOf(*files[0])) + return true, nil + } + case reflect.Slice: + slice := reflect.MakeSlice(value.Type(), len(files), len(files)) + isSetted, err = setArrayOfMultipartFormFiles(slice, field, files) + if err != nil || !isSetted { + return isSetted, err + } + value.Set(slice) + return true, nil + case reflect.Array: + return setArrayOfMultipartFormFiles(value, field, files) + } + return false, ErrMultiFileHeader +} + +func setArrayOfMultipartFormFiles(value reflect.Value, field reflect.StructField, files []*multipart.FileHeader) (isSetted bool, err error) { + if value.Len() != len(files) { + return false, ErrMultiFileHeaderLenInvalid + } + for i := range files { + setted, err := setByMultipartFormFile(value.Index(i), field, files[i:i+1]) + if err != nil || !setted { + return setted, err + } + } + return true, nil +} diff --git a/vendor/github.com/gin-gonic/gin/binding/protobuf.go b/vendor/github.com/gin-gonic/gin/binding/protobuf.go new file mode 100644 index 000000000..f9ece928d --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/protobuf.go @@ -0,0 +1,36 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import ( + "io/ioutil" + "net/http" + + "github.com/golang/protobuf/proto" +) + +type protobufBinding struct{} + +func (protobufBinding) Name() string { + return "protobuf" +} + +func (b protobufBinding) Bind(req *http.Request, obj interface{}) error { + buf, err := ioutil.ReadAll(req.Body) + if err != nil { + return err + } + return b.BindBody(buf, obj) +} + +func (protobufBinding) BindBody(body []byte, obj interface{}) error { + if err := proto.Unmarshal(body, obj.(proto.Message)); err != nil { + return err + } + // Here it's same to return validate(obj), but util now we can't add + // `binding:""` to the struct which automatically generate by gen-proto + return nil + // return validate(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/query.go b/vendor/github.com/gin-gonic/gin/binding/query.go new file mode 100644 index 000000000..219743f2a --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/query.go @@ -0,0 +1,21 @@ +// Copyright 2017 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import "net/http" + +type queryBinding struct{} + +func (queryBinding) Name() string { + return "query" +} + +func (queryBinding) Bind(req *http.Request, obj interface{}) error { + values := req.URL.Query() + if err := mapForm(obj, values); err != nil { + return err + } + return validate(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/uri.go b/vendor/github.com/gin-gonic/gin/binding/uri.go new file mode 100644 index 000000000..f91ec3819 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/uri.go @@ -0,0 +1,18 @@ +// Copyright 2018 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +type uriBinding struct{} + +func (uriBinding) Name() string { + return "uri" +} + +func (uriBinding) BindUri(m map[string][]string, obj interface{}) error { + if err := mapUri(obj, m); err != nil { + return err + } + return validate(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/xml.go b/vendor/github.com/gin-gonic/gin/binding/xml.go new file mode 100644 index 000000000..4e9011496 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/xml.go @@ -0,0 +1,33 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import ( + "bytes" + "encoding/xml" + "io" + "net/http" +) + +type xmlBinding struct{} + +func (xmlBinding) Name() string { + return "xml" +} + +func (xmlBinding) Bind(req *http.Request, obj interface{}) error { + return decodeXML(req.Body, obj) +} + +func (xmlBinding) BindBody(body []byte, obj interface{}) error { + return decodeXML(bytes.NewReader(body), obj) +} +func decodeXML(r io.Reader, obj interface{}) error { + decoder := xml.NewDecoder(r) + if err := decoder.Decode(obj); err != nil { + return err + } + return validate(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/binding/yaml.go b/vendor/github.com/gin-gonic/gin/binding/yaml.go new file mode 100644 index 000000000..a2d36d6a5 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/binding/yaml.go @@ -0,0 +1,35 @@ +// Copyright 2018 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package binding + +import ( + "bytes" + "io" + "net/http" + + "gopkg.in/yaml.v2" +) + +type yamlBinding struct{} + +func (yamlBinding) Name() string { + return "yaml" +} + +func (yamlBinding) Bind(req *http.Request, obj interface{}) error { + return decodeYAML(req.Body, obj) +} + +func (yamlBinding) BindBody(body []byte, obj interface{}) error { + return decodeYAML(bytes.NewReader(body), obj) +} + +func decodeYAML(r io.Reader, obj interface{}) error { + decoder := yaml.NewDecoder(r) + if err := decoder.Decode(obj); err != nil { + return err + } + return validate(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/codecov.yml b/vendor/github.com/gin-gonic/gin/codecov.yml new file mode 100644 index 000000000..c9c9a522d --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/codecov.yml @@ -0,0 +1,5 @@ +coverage: + notify: + gitter: + default: + url: https://webhooks.gitter.im/e/d90dcdeeab2f1e357165 diff --git a/vendor/github.com/gin-gonic/gin/context.go b/vendor/github.com/gin-gonic/gin/context.go new file mode 100644 index 000000000..ecf74ba9b --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/context.go @@ -0,0 +1,1198 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "errors" + "fmt" + "io" + "io/ioutil" + "log" + "math" + "mime/multipart" + "net" + "net/http" + "net/url" + "os" + "strings" + "sync" + "time" + + "github.com/gin-contrib/sse" + "github.com/gin-gonic/gin/binding" + "github.com/gin-gonic/gin/render" +) + +// Content-Type MIME of the most common data formats. +const ( + MIMEJSON = binding.MIMEJSON + MIMEHTML = binding.MIMEHTML + MIMEXML = binding.MIMEXML + MIMEXML2 = binding.MIMEXML2 + MIMEPlain = binding.MIMEPlain + MIMEPOSTForm = binding.MIMEPOSTForm + MIMEMultipartPOSTForm = binding.MIMEMultipartPOSTForm + MIMEYAML = binding.MIMEYAML +) + +// BodyBytesKey indicates a default body bytes key. +const BodyBytesKey = "_gin-gonic/gin/bodybyteskey" + +// abortIndex represents a typical value used in abort functions. +const abortIndex int8 = math.MaxInt8 >> 1 + +// Context is the most important part of gin. It allows us to pass variables between middleware, +// manage the flow, validate the JSON of a request and render a JSON response for example. +type Context struct { + writermem responseWriter + Request *http.Request + Writer ResponseWriter + + Params Params + handlers HandlersChain + index int8 + fullPath string + + engine *Engine + params *Params + + // This mutex protect Keys map + mu sync.RWMutex + + // Keys is a key/value pair exclusively for the context of each request. + Keys map[string]interface{} + + // Errors is a list of errors attached to all the handlers/middlewares who used this context. + Errors errorMsgs + + // Accepted defines a list of manually accepted formats for content negotiation. + Accepted []string + + // queryCache use url.ParseQuery cached the param query result from c.Request.URL.Query() + queryCache url.Values + + // formCache use url.ParseQuery cached PostForm contains the parsed form data from POST, PATCH, + // or PUT body parameters. + formCache url.Values + + // SameSite allows a server to define a cookie attribute making it impossible for + // the browser to send this cookie along with cross-site requests. + sameSite http.SameSite +} + +/************************************/ +/********** CONTEXT CREATION ********/ +/************************************/ + +func (c *Context) reset() { + c.Writer = &c.writermem + c.Params = c.Params[:0] + c.handlers = nil + c.index = -1 + + c.fullPath = "" + c.Keys = nil + c.Errors = c.Errors[:0] + c.Accepted = nil + c.queryCache = nil + c.formCache = nil + *c.params = (*c.params)[:0] +} + +// Copy returns a copy of the current context that can be safely used outside the request's scope. +// This has to be used when the context has to be passed to a goroutine. +func (c *Context) Copy() *Context { + cp := Context{ + writermem: c.writermem, + Request: c.Request, + Params: c.Params, + engine: c.engine, + } + cp.writermem.ResponseWriter = nil + cp.Writer = &cp.writermem + cp.index = abortIndex + cp.handlers = nil + cp.Keys = map[string]interface{}{} + for k, v := range c.Keys { + cp.Keys[k] = v + } + paramCopy := make([]Param, len(cp.Params)) + copy(paramCopy, cp.Params) + cp.Params = paramCopy + return &cp +} + +// HandlerName returns the main handler's name. For example if the handler is "handleGetUsers()", +// this function will return "main.handleGetUsers". +func (c *Context) HandlerName() string { + return nameOfFunction(c.handlers.Last()) +} + +// HandlerNames returns a list of all registered handlers for this context in descending order, +// following the semantics of HandlerName() +func (c *Context) HandlerNames() []string { + hn := make([]string, 0, len(c.handlers)) + for _, val := range c.handlers { + hn = append(hn, nameOfFunction(val)) + } + return hn +} + +// Handler returns the main handler. +func (c *Context) Handler() HandlerFunc { + return c.handlers.Last() +} + +// FullPath returns a matched route full path. For not found routes +// returns an empty string. +// router.GET("/user/:id", func(c *gin.Context) { +// c.FullPath() == "/user/:id" // true +// }) +func (c *Context) FullPath() string { + return c.fullPath +} + +/************************************/ +/*********** FLOW CONTROL ***********/ +/************************************/ + +// Next should be used only inside middleware. +// It executes the pending handlers in the chain inside the calling handler. +// See example in GitHub. +func (c *Context) Next() { + c.index++ + for c.index < int8(len(c.handlers)) { + c.handlers[c.index](c) + c.index++ + } +} + +// IsAborted returns true if the current context was aborted. +func (c *Context) IsAborted() bool { + return c.index >= abortIndex +} + +// Abort prevents pending handlers from being called. Note that this will not stop the current handler. +// Let's say you have an authorization middleware that validates that the current request is authorized. +// If the authorization fails (ex: the password does not match), call Abort to ensure the remaining handlers +// for this request are not called. +func (c *Context) Abort() { + c.index = abortIndex +} + +// AbortWithStatus calls `Abort()` and writes the headers with the specified status code. +// For example, a failed attempt to authenticate a request could use: context.AbortWithStatus(401). +func (c *Context) AbortWithStatus(code int) { + c.Status(code) + c.Writer.WriteHeaderNow() + c.Abort() +} + +// AbortWithStatusJSON calls `Abort()` and then `JSON` internally. +// This method stops the chain, writes the status code and return a JSON body. +// It also sets the Content-Type as "application/json". +func (c *Context) AbortWithStatusJSON(code int, jsonObj interface{}) { + c.Abort() + c.JSON(code, jsonObj) +} + +// AbortWithError calls `AbortWithStatus()` and `Error()` internally. +// This method stops the chain, writes the status code and pushes the specified error to `c.Errors`. +// See Context.Error() for more details. +func (c *Context) AbortWithError(code int, err error) *Error { + c.AbortWithStatus(code) + return c.Error(err) +} + +/************************************/ +/********* ERROR MANAGEMENT *********/ +/************************************/ + +// Error attaches an error to the current context. The error is pushed to a list of errors. +// It's a good idea to call Error for each error that occurred during the resolution of a request. +// A middleware can be used to collect all the errors and push them to a database together, +// print a log, or append it in the HTTP response. +// Error will panic if err is nil. +func (c *Context) Error(err error) *Error { + if err == nil { + panic("err is nil") + } + + parsedError, ok := err.(*Error) + if !ok { + parsedError = &Error{ + Err: err, + Type: ErrorTypePrivate, + } + } + + c.Errors = append(c.Errors, parsedError) + return parsedError +} + +/************************************/ +/******** METADATA MANAGEMENT********/ +/************************************/ + +// Set is used to store a new key/value pair exclusively for this context. +// It also lazy initializes c.Keys if it was not used previously. +func (c *Context) Set(key string, value interface{}) { + c.mu.Lock() + if c.Keys == nil { + c.Keys = make(map[string]interface{}) + } + + c.Keys[key] = value + c.mu.Unlock() +} + +// Get returns the value for the given key, ie: (value, true). +// If the value does not exists it returns (nil, false) +func (c *Context) Get(key string) (value interface{}, exists bool) { + c.mu.RLock() + value, exists = c.Keys[key] + c.mu.RUnlock() + return +} + +// MustGet returns the value for the given key if it exists, otherwise it panics. +func (c *Context) MustGet(key string) interface{} { + if value, exists := c.Get(key); exists { + return value + } + panic("Key \"" + key + "\" does not exist") +} + +// GetString returns the value associated with the key as a string. +func (c *Context) GetString(key string) (s string) { + if val, ok := c.Get(key); ok && val != nil { + s, _ = val.(string) + } + return +} + +// GetBool returns the value associated with the key as a boolean. +func (c *Context) GetBool(key string) (b bool) { + if val, ok := c.Get(key); ok && val != nil { + b, _ = val.(bool) + } + return +} + +// GetInt returns the value associated with the key as an integer. +func (c *Context) GetInt(key string) (i int) { + if val, ok := c.Get(key); ok && val != nil { + i, _ = val.(int) + } + return +} + +// GetInt64 returns the value associated with the key as an integer. +func (c *Context) GetInt64(key string) (i64 int64) { + if val, ok := c.Get(key); ok && val != nil { + i64, _ = val.(int64) + } + return +} + +// GetUint returns the value associated with the key as an unsigned integer. +func (c *Context) GetUint(key string) (ui uint) { + if val, ok := c.Get(key); ok && val != nil { + ui, _ = val.(uint) + } + return +} + +// GetUint64 returns the value associated with the key as an unsigned integer. +func (c *Context) GetUint64(key string) (ui64 uint64) { + if val, ok := c.Get(key); ok && val != nil { + ui64, _ = val.(uint64) + } + return +} + +// GetFloat64 returns the value associated with the key as a float64. +func (c *Context) GetFloat64(key string) (f64 float64) { + if val, ok := c.Get(key); ok && val != nil { + f64, _ = val.(float64) + } + return +} + +// GetTime returns the value associated with the key as time. +func (c *Context) GetTime(key string) (t time.Time) { + if val, ok := c.Get(key); ok && val != nil { + t, _ = val.(time.Time) + } + return +} + +// GetDuration returns the value associated with the key as a duration. +func (c *Context) GetDuration(key string) (d time.Duration) { + if val, ok := c.Get(key); ok && val != nil { + d, _ = val.(time.Duration) + } + return +} + +// GetStringSlice returns the value associated with the key as a slice of strings. +func (c *Context) GetStringSlice(key string) (ss []string) { + if val, ok := c.Get(key); ok && val != nil { + ss, _ = val.([]string) + } + return +} + +// GetStringMap returns the value associated with the key as a map of interfaces. +func (c *Context) GetStringMap(key string) (sm map[string]interface{}) { + if val, ok := c.Get(key); ok && val != nil { + sm, _ = val.(map[string]interface{}) + } + return +} + +// GetStringMapString returns the value associated with the key as a map of strings. +func (c *Context) GetStringMapString(key string) (sms map[string]string) { + if val, ok := c.Get(key); ok && val != nil { + sms, _ = val.(map[string]string) + } + return +} + +// GetStringMapStringSlice returns the value associated with the key as a map to a slice of strings. +func (c *Context) GetStringMapStringSlice(key string) (smss map[string][]string) { + if val, ok := c.Get(key); ok && val != nil { + smss, _ = val.(map[string][]string) + } + return +} + +/************************************/ +/************ INPUT DATA ************/ +/************************************/ + +// Param returns the value of the URL param. +// It is a shortcut for c.Params.ByName(key) +// router.GET("/user/:id", func(c *gin.Context) { +// // a GET request to /user/john +// id := c.Param("id") // id == "john" +// }) +func (c *Context) Param(key string) string { + return c.Params.ByName(key) +} + +// Query returns the keyed url query value if it exists, +// otherwise it returns an empty string `("")`. +// It is shortcut for `c.Request.URL.Query().Get(key)` +// GET /path?id=1234&name=Manu&value= +// c.Query("id") == "1234" +// c.Query("name") == "Manu" +// c.Query("value") == "" +// c.Query("wtf") == "" +func (c *Context) Query(key string) string { + value, _ := c.GetQuery(key) + return value +} + +// DefaultQuery returns the keyed url query value if it exists, +// otherwise it returns the specified defaultValue string. +// See: Query() and GetQuery() for further information. +// GET /?name=Manu&lastname= +// c.DefaultQuery("name", "unknown") == "Manu" +// c.DefaultQuery("id", "none") == "none" +// c.DefaultQuery("lastname", "none") == "" +func (c *Context) DefaultQuery(key, defaultValue string) string { + if value, ok := c.GetQuery(key); ok { + return value + } + return defaultValue +} + +// GetQuery is like Query(), it returns the keyed url query value +// if it exists `(value, true)` (even when the value is an empty string), +// otherwise it returns `("", false)`. +// It is shortcut for `c.Request.URL.Query().Get(key)` +// GET /?name=Manu&lastname= +// ("Manu", true) == c.GetQuery("name") +// ("", false) == c.GetQuery("id") +// ("", true) == c.GetQuery("lastname") +func (c *Context) GetQuery(key string) (string, bool) { + if values, ok := c.GetQueryArray(key); ok { + return values[0], ok + } + return "", false +} + +// QueryArray returns a slice of strings for a given query key. +// The length of the slice depends on the number of params with the given key. +func (c *Context) QueryArray(key string) []string { + values, _ := c.GetQueryArray(key) + return values +} + +func (c *Context) initQueryCache() { + if c.queryCache == nil { + if c.Request != nil { + c.queryCache = c.Request.URL.Query() + } else { + c.queryCache = url.Values{} + } + } +} + +// GetQueryArray returns a slice of strings for a given query key, plus +// a boolean value whether at least one value exists for the given key. +func (c *Context) GetQueryArray(key string) ([]string, bool) { + c.initQueryCache() + if values, ok := c.queryCache[key]; ok && len(values) > 0 { + return values, true + } + return []string{}, false +} + +// QueryMap returns a map for a given query key. +func (c *Context) QueryMap(key string) map[string]string { + dicts, _ := c.GetQueryMap(key) + return dicts +} + +// GetQueryMap returns a map for a given query key, plus a boolean value +// whether at least one value exists for the given key. +func (c *Context) GetQueryMap(key string) (map[string]string, bool) { + c.initQueryCache() + return c.get(c.queryCache, key) +} + +// PostForm returns the specified key from a POST urlencoded form or multipart form +// when it exists, otherwise it returns an empty string `("")`. +func (c *Context) PostForm(key string) string { + value, _ := c.GetPostForm(key) + return value +} + +// DefaultPostForm returns the specified key from a POST urlencoded form or multipart form +// when it exists, otherwise it returns the specified defaultValue string. +// See: PostForm() and GetPostForm() for further information. +func (c *Context) DefaultPostForm(key, defaultValue string) string { + if value, ok := c.GetPostForm(key); ok { + return value + } + return defaultValue +} + +// GetPostForm is like PostForm(key). It returns the specified key from a POST urlencoded +// form or multipart form when it exists `(value, true)` (even when the value is an empty string), +// otherwise it returns ("", false). +// For example, during a PATCH request to update the user's email: +// email=mail@example.com --> ("mail@example.com", true) := GetPostForm("email") // set email to "mail@example.com" +// email= --> ("", true) := GetPostForm("email") // set email to "" +// --> ("", false) := GetPostForm("email") // do nothing with email +func (c *Context) GetPostForm(key string) (string, bool) { + if values, ok := c.GetPostFormArray(key); ok { + return values[0], ok + } + return "", false +} + +// PostFormArray returns a slice of strings for a given form key. +// The length of the slice depends on the number of params with the given key. +func (c *Context) PostFormArray(key string) []string { + values, _ := c.GetPostFormArray(key) + return values +} + +func (c *Context) initFormCache() { + if c.formCache == nil { + c.formCache = make(url.Values) + req := c.Request + if err := req.ParseMultipartForm(c.engine.MaxMultipartMemory); err != nil { + if err != http.ErrNotMultipart { + debugPrint("error on parse multipart form array: %v", err) + } + } + c.formCache = req.PostForm + } +} + +// GetPostFormArray returns a slice of strings for a given form key, plus +// a boolean value whether at least one value exists for the given key. +func (c *Context) GetPostFormArray(key string) ([]string, bool) { + c.initFormCache() + if values := c.formCache[key]; len(values) > 0 { + return values, true + } + return []string{}, false +} + +// PostFormMap returns a map for a given form key. +func (c *Context) PostFormMap(key string) map[string]string { + dicts, _ := c.GetPostFormMap(key) + return dicts +} + +// GetPostFormMap returns a map for a given form key, plus a boolean value +// whether at least one value exists for the given key. +func (c *Context) GetPostFormMap(key string) (map[string]string, bool) { + c.initFormCache() + return c.get(c.formCache, key) +} + +// get is an internal method and returns a map which satisfy conditions. +func (c *Context) get(m map[string][]string, key string) (map[string]string, bool) { + dicts := make(map[string]string) + exist := false + for k, v := range m { + if i := strings.IndexByte(k, '['); i >= 1 && k[0:i] == key { + if j := strings.IndexByte(k[i+1:], ']'); j >= 1 { + exist = true + dicts[k[i+1:][:j]] = v[0] + } + } + } + return dicts, exist +} + +// FormFile returns the first file for the provided form key. +func (c *Context) FormFile(name string) (*multipart.FileHeader, error) { + if c.Request.MultipartForm == nil { + if err := c.Request.ParseMultipartForm(c.engine.MaxMultipartMemory); err != nil { + return nil, err + } + } + f, fh, err := c.Request.FormFile(name) + if err != nil { + return nil, err + } + f.Close() + return fh, err +} + +// MultipartForm is the parsed multipart form, including file uploads. +func (c *Context) MultipartForm() (*multipart.Form, error) { + err := c.Request.ParseMultipartForm(c.engine.MaxMultipartMemory) + return c.Request.MultipartForm, err +} + +// SaveUploadedFile uploads the form file to specific dst. +func (c *Context) SaveUploadedFile(file *multipart.FileHeader, dst string) error { + src, err := file.Open() + if err != nil { + return err + } + defer src.Close() + + out, err := os.Create(dst) + if err != nil { + return err + } + defer out.Close() + + _, err = io.Copy(out, src) + return err +} + +// Bind checks the Content-Type to select a binding engine automatically, +// Depending the "Content-Type" header different bindings are used: +// "application/json" --> JSON binding +// "application/xml" --> XML binding +// otherwise --> returns an error. +// It parses the request's body as JSON if Content-Type == "application/json" using JSON or XML as a JSON input. +// It decodes the json payload into the struct specified as a pointer. +// It writes a 400 error and sets Content-Type header "text/plain" in the response if input is not valid. +func (c *Context) Bind(obj interface{}) error { + b := binding.Default(c.Request.Method, c.ContentType()) + return c.MustBindWith(obj, b) +} + +// BindJSON is a shortcut for c.MustBindWith(obj, binding.JSON). +func (c *Context) BindJSON(obj interface{}) error { + return c.MustBindWith(obj, binding.JSON) +} + +// BindXML is a shortcut for c.MustBindWith(obj, binding.BindXML). +func (c *Context) BindXML(obj interface{}) error { + return c.MustBindWith(obj, binding.XML) +} + +// BindQuery is a shortcut for c.MustBindWith(obj, binding.Query). +func (c *Context) BindQuery(obj interface{}) error { + return c.MustBindWith(obj, binding.Query) +} + +// BindYAML is a shortcut for c.MustBindWith(obj, binding.YAML). +func (c *Context) BindYAML(obj interface{}) error { + return c.MustBindWith(obj, binding.YAML) +} + +// BindHeader is a shortcut for c.MustBindWith(obj, binding.Header). +func (c *Context) BindHeader(obj interface{}) error { + return c.MustBindWith(obj, binding.Header) +} + +// BindUri binds the passed struct pointer using binding.Uri. +// It will abort the request with HTTP 400 if any error occurs. +func (c *Context) BindUri(obj interface{}) error { + if err := c.ShouldBindUri(obj); err != nil { + c.AbortWithError(http.StatusBadRequest, err).SetType(ErrorTypeBind) // nolint: errcheck + return err + } + return nil +} + +// MustBindWith binds the passed struct pointer using the specified binding engine. +// It will abort the request with HTTP 400 if any error occurs. +// See the binding package. +func (c *Context) MustBindWith(obj interface{}, b binding.Binding) error { + if err := c.ShouldBindWith(obj, b); err != nil { + c.AbortWithError(http.StatusBadRequest, err).SetType(ErrorTypeBind) // nolint: errcheck + return err + } + return nil +} + +// ShouldBind checks the Content-Type to select a binding engine automatically, +// Depending the "Content-Type" header different bindings are used: +// "application/json" --> JSON binding +// "application/xml" --> XML binding +// otherwise --> returns an error +// It parses the request's body as JSON if Content-Type == "application/json" using JSON or XML as a JSON input. +// It decodes the json payload into the struct specified as a pointer. +// Like c.Bind() but this method does not set the response status code to 400 and abort if the json is not valid. +func (c *Context) ShouldBind(obj interface{}) error { + b := binding.Default(c.Request.Method, c.ContentType()) + return c.ShouldBindWith(obj, b) +} + +// ShouldBindJSON is a shortcut for c.ShouldBindWith(obj, binding.JSON). +func (c *Context) ShouldBindJSON(obj interface{}) error { + return c.ShouldBindWith(obj, binding.JSON) +} + +// ShouldBindXML is a shortcut for c.ShouldBindWith(obj, binding.XML). +func (c *Context) ShouldBindXML(obj interface{}) error { + return c.ShouldBindWith(obj, binding.XML) +} + +// ShouldBindQuery is a shortcut for c.ShouldBindWith(obj, binding.Query). +func (c *Context) ShouldBindQuery(obj interface{}) error { + return c.ShouldBindWith(obj, binding.Query) +} + +// ShouldBindYAML is a shortcut for c.ShouldBindWith(obj, binding.YAML). +func (c *Context) ShouldBindYAML(obj interface{}) error { + return c.ShouldBindWith(obj, binding.YAML) +} + +// ShouldBindHeader is a shortcut for c.ShouldBindWith(obj, binding.Header). +func (c *Context) ShouldBindHeader(obj interface{}) error { + return c.ShouldBindWith(obj, binding.Header) +} + +// ShouldBindUri binds the passed struct pointer using the specified binding engine. +func (c *Context) ShouldBindUri(obj interface{}) error { + m := make(map[string][]string) + for _, v := range c.Params { + m[v.Key] = []string{v.Value} + } + return binding.Uri.BindUri(m, obj) +} + +// ShouldBindWith binds the passed struct pointer using the specified binding engine. +// See the binding package. +func (c *Context) ShouldBindWith(obj interface{}, b binding.Binding) error { + return b.Bind(c.Request, obj) +} + +// ShouldBindBodyWith is similar with ShouldBindWith, but it stores the request +// body into the context, and reuse when it is called again. +// +// NOTE: This method reads the body before binding. So you should use +// ShouldBindWith for better performance if you need to call only once. +func (c *Context) ShouldBindBodyWith(obj interface{}, bb binding.BindingBody) (err error) { + var body []byte + if cb, ok := c.Get(BodyBytesKey); ok { + if cbb, ok := cb.([]byte); ok { + body = cbb + } + } + if body == nil { + body, err = ioutil.ReadAll(c.Request.Body) + if err != nil { + return err + } + c.Set(BodyBytesKey, body) + } + return bb.BindBody(body, obj) +} + +// ClientIP implements a best effort algorithm to return the real client IP. +// It called c.RemoteIP() under the hood, to check if the remote IP is a trusted proxy or not. +// If it's it will then try to parse the headers defined in Engine.RemoteIPHeaders (defaulting to [X-Forwarded-For, X-Real-Ip]). +// If the headers are nots syntactically valid OR the remote IP does not correspong to a trusted proxy, +// the remote IP (coming form Request.RemoteAddr) is returned. +func (c *Context) ClientIP() string { + // Check if we're running on a trusted platform + switch c.engine.TrustedPlatform { + case PlatformGoogleAppEngine: + if addr := c.requestHeader("X-Appengine-Remote-Addr"); addr != "" { + return addr + } + case PlatformCloudflare: + if addr := c.requestHeader("CF-Connecting-IP"); addr != "" { + return addr + } + } + + // Legacy "AppEngine" flag + if c.engine.AppEngine { + log.Println(`The AppEngine flag is going to be deprecated. Please check issues #2723 and #2739 and use 'TrustedPlatform: gin.PlatformGoogleAppEngine' instead.`) + if addr := c.requestHeader("X-Appengine-Remote-Addr"); addr != "" { + return addr + } + } + + remoteIP, trusted := c.RemoteIP() + if remoteIP == nil { + return "" + } + + if trusted && c.engine.ForwardedByClientIP && c.engine.RemoteIPHeaders != nil { + for _, headerName := range c.engine.RemoteIPHeaders { + ip, valid := validateHeader(c.requestHeader(headerName)) + if valid { + return ip + } + } + } + return remoteIP.String() +} + +// RemoteIP parses the IP from Request.RemoteAddr, normalizes and returns the IP (without the port). +// It also checks if the remoteIP is a trusted proxy or not. +// In order to perform this validation, it will see if the IP is contained within at least one of the CIDR blocks +// defined in Engine.TrustedProxies +func (c *Context) RemoteIP() (net.IP, bool) { + ip, _, err := net.SplitHostPort(strings.TrimSpace(c.Request.RemoteAddr)) + if err != nil { + return nil, false + } + remoteIP := net.ParseIP(ip) + if remoteIP == nil { + return nil, false + } + + if c.engine.trustedCIDRs != nil { + for _, cidr := range c.engine.trustedCIDRs { + if cidr.Contains(remoteIP) { + return remoteIP, true + } + } + } + + return remoteIP, false +} + +func validateHeader(header string) (clientIP string, valid bool) { + if header == "" { + return "", false + } + items := strings.Split(header, ",") + for i, ipStr := range items { + ipStr = strings.TrimSpace(ipStr) + ip := net.ParseIP(ipStr) + if ip == nil { + return "", false + } + + // We need to return the first IP in the list, but, + // we should not early return since we need to validate that + // the rest of the header is syntactically valid + if i == 0 { + clientIP = ipStr + valid = true + } + } + return +} + +// ContentType returns the Content-Type header of the request. +func (c *Context) ContentType() string { + return filterFlags(c.requestHeader("Content-Type")) +} + +// IsWebsocket returns true if the request headers indicate that a websocket +// handshake is being initiated by the client. +func (c *Context) IsWebsocket() bool { + if strings.Contains(strings.ToLower(c.requestHeader("Connection")), "upgrade") && + strings.EqualFold(c.requestHeader("Upgrade"), "websocket") { + return true + } + return false +} + +func (c *Context) requestHeader(key string) string { + return c.Request.Header.Get(key) +} + +/************************************/ +/******** RESPONSE RENDERING ********/ +/************************************/ + +// bodyAllowedForStatus is a copy of http.bodyAllowedForStatus non-exported function. +func bodyAllowedForStatus(status int) bool { + switch { + case status >= 100 && status <= 199: + return false + case status == http.StatusNoContent: + return false + case status == http.StatusNotModified: + return false + } + return true +} + +// Status sets the HTTP response code. +func (c *Context) Status(code int) { + c.Writer.WriteHeader(code) +} + +// Header is a intelligent shortcut for c.Writer.Header().Set(key, value). +// It writes a header in the response. +// If value == "", this method removes the header `c.Writer.Header().Del(key)` +func (c *Context) Header(key, value string) { + if value == "" { + c.Writer.Header().Del(key) + return + } + c.Writer.Header().Set(key, value) +} + +// GetHeader returns value from request headers. +func (c *Context) GetHeader(key string) string { + return c.requestHeader(key) +} + +// GetRawData return stream data. +func (c *Context) GetRawData() ([]byte, error) { + return ioutil.ReadAll(c.Request.Body) +} + +// SetSameSite with cookie +func (c *Context) SetSameSite(samesite http.SameSite) { + c.sameSite = samesite +} + +// SetCookie adds a Set-Cookie header to the ResponseWriter's headers. +// The provided cookie must have a valid Name. Invalid cookies may be +// silently dropped. +func (c *Context) SetCookie(name, value string, maxAge int, path, domain string, secure, httpOnly bool) { + if path == "" { + path = "/" + } + http.SetCookie(c.Writer, &http.Cookie{ + Name: name, + Value: url.QueryEscape(value), + MaxAge: maxAge, + Path: path, + Domain: domain, + SameSite: c.sameSite, + Secure: secure, + HttpOnly: httpOnly, + }) +} + +// Cookie returns the named cookie provided in the request or +// ErrNoCookie if not found. And return the named cookie is unescaped. +// If multiple cookies match the given name, only one cookie will +// be returned. +func (c *Context) Cookie(name string) (string, error) { + cookie, err := c.Request.Cookie(name) + if err != nil { + return "", err + } + val, _ := url.QueryUnescape(cookie.Value) + return val, nil +} + +// Render writes the response headers and calls render.Render to render data. +func (c *Context) Render(code int, r render.Render) { + c.Status(code) + + if !bodyAllowedForStatus(code) { + r.WriteContentType(c.Writer) + c.Writer.WriteHeaderNow() + return + } + + if err := r.Render(c.Writer); err != nil { + panic(err) + } +} + +// HTML renders the HTTP template specified by its file name. +// It also updates the HTTP code and sets the Content-Type as "text/html". +// See http://golang.org/doc/articles/wiki/ +func (c *Context) HTML(code int, name string, obj interface{}) { + instance := c.engine.HTMLRender.Instance(name, obj) + c.Render(code, instance) +} + +// IndentedJSON serializes the given struct as pretty JSON (indented + endlines) into the response body. +// It also sets the Content-Type as "application/json". +// WARNING: we recommend to use this only for development purposes since printing pretty JSON is +// more CPU and bandwidth consuming. Use Context.JSON() instead. +func (c *Context) IndentedJSON(code int, obj interface{}) { + c.Render(code, render.IndentedJSON{Data: obj}) +} + +// SecureJSON serializes the given struct as Secure JSON into the response body. +// Default prepends "while(1)," to response body if the given struct is array values. +// It also sets the Content-Type as "application/json". +func (c *Context) SecureJSON(code int, obj interface{}) { + c.Render(code, render.SecureJSON{Prefix: c.engine.secureJSONPrefix, Data: obj}) +} + +// JSONP serializes the given struct as JSON into the response body. +// It adds padding to response body to request data from a server residing in a different domain than the client. +// It also sets the Content-Type as "application/javascript". +func (c *Context) JSONP(code int, obj interface{}) { + callback := c.DefaultQuery("callback", "") + if callback == "" { + c.Render(code, render.JSON{Data: obj}) + return + } + c.Render(code, render.JsonpJSON{Callback: callback, Data: obj}) +} + +// JSON serializes the given struct as JSON into the response body. +// It also sets the Content-Type as "application/json". +func (c *Context) JSON(code int, obj interface{}) { + c.Render(code, render.JSON{Data: obj}) +} + +// AsciiJSON serializes the given struct as JSON into the response body with unicode to ASCII string. +// It also sets the Content-Type as "application/json". +func (c *Context) AsciiJSON(code int, obj interface{}) { + c.Render(code, render.AsciiJSON{Data: obj}) +} + +// PureJSON serializes the given struct as JSON into the response body. +// PureJSON, unlike JSON, does not replace special html characters with their unicode entities. +func (c *Context) PureJSON(code int, obj interface{}) { + c.Render(code, render.PureJSON{Data: obj}) +} + +// XML serializes the given struct as XML into the response body. +// It also sets the Content-Type as "application/xml". +func (c *Context) XML(code int, obj interface{}) { + c.Render(code, render.XML{Data: obj}) +} + +// YAML serializes the given struct as YAML into the response body. +func (c *Context) YAML(code int, obj interface{}) { + c.Render(code, render.YAML{Data: obj}) +} + +// ProtoBuf serializes the given struct as ProtoBuf into the response body. +func (c *Context) ProtoBuf(code int, obj interface{}) { + c.Render(code, render.ProtoBuf{Data: obj}) +} + +// String writes the given string into the response body. +func (c *Context) String(code int, format string, values ...interface{}) { + c.Render(code, render.String{Format: format, Data: values}) +} + +// Redirect returns a HTTP redirect to the specific location. +func (c *Context) Redirect(code int, location string) { + c.Render(-1, render.Redirect{ + Code: code, + Location: location, + Request: c.Request, + }) +} + +// Data writes some data into the body stream and updates the HTTP code. +func (c *Context) Data(code int, contentType string, data []byte) { + c.Render(code, render.Data{ + ContentType: contentType, + Data: data, + }) +} + +// DataFromReader writes the specified reader into the body stream and updates the HTTP code. +func (c *Context) DataFromReader(code int, contentLength int64, contentType string, reader io.Reader, extraHeaders map[string]string) { + c.Render(code, render.Reader{ + Headers: extraHeaders, + ContentType: contentType, + ContentLength: contentLength, + Reader: reader, + }) +} + +// File writes the specified file into the body stream in an efficient way. +func (c *Context) File(filepath string) { + http.ServeFile(c.Writer, c.Request, filepath) +} + +// FileFromFS writes the specified file from http.FileSystem into the body stream in an efficient way. +func (c *Context) FileFromFS(filepath string, fs http.FileSystem) { + defer func(old string) { + c.Request.URL.Path = old + }(c.Request.URL.Path) + + c.Request.URL.Path = filepath + + http.FileServer(fs).ServeHTTP(c.Writer, c.Request) +} + +// FileAttachment writes the specified file into the body stream in an efficient way +// On the client side, the file will typically be downloaded with the given filename +func (c *Context) FileAttachment(filepath, filename string) { + c.Writer.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=\"%s\"", filename)) + http.ServeFile(c.Writer, c.Request, filepath) +} + +// SSEvent writes a Server-Sent Event into the body stream. +func (c *Context) SSEvent(name string, message interface{}) { + c.Render(-1, sse.Event{ + Event: name, + Data: message, + }) +} + +// Stream sends a streaming response and returns a boolean +// indicates "Is client disconnected in middle of stream" +func (c *Context) Stream(step func(w io.Writer) bool) bool { + w := c.Writer + clientGone := w.CloseNotify() + for { + select { + case <-clientGone: + return true + default: + keepOpen := step(w) + w.Flush() + if !keepOpen { + return false + } + } + } +} + +/************************************/ +/******** CONTENT NEGOTIATION *******/ +/************************************/ + +// Negotiate contains all negotiations data. +type Negotiate struct { + Offered []string + HTMLName string + HTMLData interface{} + JSONData interface{} + XMLData interface{} + YAMLData interface{} + Data interface{} +} + +// Negotiate calls different Render according acceptable Accept format. +func (c *Context) Negotiate(code int, config Negotiate) { + switch c.NegotiateFormat(config.Offered...) { + case binding.MIMEJSON: + data := chooseData(config.JSONData, config.Data) + c.JSON(code, data) + + case binding.MIMEHTML: + data := chooseData(config.HTMLData, config.Data) + c.HTML(code, config.HTMLName, data) + + case binding.MIMEXML: + data := chooseData(config.XMLData, config.Data) + c.XML(code, data) + + case binding.MIMEYAML: + data := chooseData(config.YAMLData, config.Data) + c.YAML(code, data) + + default: + c.AbortWithError(http.StatusNotAcceptable, errors.New("the accepted formats are not offered by the server")) // nolint: errcheck + } +} + +// NegotiateFormat returns an acceptable Accept format. +func (c *Context) NegotiateFormat(offered ...string) string { + assert1(len(offered) > 0, "you must provide at least one offer") + + if c.Accepted == nil { + c.Accepted = parseAccept(c.requestHeader("Accept")) + } + if len(c.Accepted) == 0 { + return offered[0] + } + for _, accepted := range c.Accepted { + for _, offer := range offered { + // According to RFC 2616 and RFC 2396, non-ASCII characters are not allowed in headers, + // therefore we can just iterate over the string without casting it into []rune + i := 0 + for ; i < len(accepted); i++ { + if accepted[i] == '*' || offer[i] == '*' { + return offer + } + if accepted[i] != offer[i] { + break + } + } + if i == len(accepted) { + return offer + } + } + } + return "" +} + +// SetAccepted sets Accept header data. +func (c *Context) SetAccepted(formats ...string) { + c.Accepted = formats +} + +/************************************/ +/***** GOLANG.ORG/X/NET/CONTEXT *****/ +/************************************/ + +// Deadline always returns that there is no deadline (ok==false), +// maybe you want to use Request.Context().Deadline() instead. +func (c *Context) Deadline() (deadline time.Time, ok bool) { + return +} + +// Done always returns nil (chan which will wait forever), +// if you want to abort your work when the connection was closed +// you should use Request.Context().Done() instead. +func (c *Context) Done() <-chan struct{} { + return nil +} + +// Err always returns nil, maybe you want to use Request.Context().Err() instead. +func (c *Context) Err() error { + return nil +} + +// 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. +func (c *Context) Value(key interface{}) interface{} { + if key == 0 { + return c.Request + } + if keyAsString, ok := key.(string); ok { + if val, exists := c.Get(keyAsString); exists { + return val + } + } + if c.Request == nil || c.Request.Context() == nil { + return nil + } + return c.Request.Context().Value(key) +} diff --git a/vendor/github.com/gin-gonic/gin/context_appengine.go b/vendor/github.com/gin-gonic/gin/context_appengine.go new file mode 100644 index 000000000..8bf938961 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/context_appengine.go @@ -0,0 +1,12 @@ +// Copyright 2017 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build appengine +// +build appengine + +package gin + +func init() { + defaultPlatform = PlatformGoogleAppEngine +} diff --git a/vendor/github.com/gin-gonic/gin/debug.go b/vendor/github.com/gin-gonic/gin/debug.go new file mode 100644 index 000000000..ed313868e --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/debug.go @@ -0,0 +1,101 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "fmt" + "html/template" + "runtime" + "strconv" + "strings" +) + +const ginSupportMinGoVer = 13 + +// IsDebugging returns true if the framework is running in debug mode. +// Use SetMode(gin.ReleaseMode) to disable debug mode. +func IsDebugging() bool { + return ginMode == debugCode +} + +// DebugPrintRouteFunc indicates debug log output format. +var DebugPrintRouteFunc func(httpMethod, absolutePath, handlerName string, nuHandlers int) + +func debugPrintRoute(httpMethod, absolutePath string, handlers HandlersChain) { + if IsDebugging() { + nuHandlers := len(handlers) + handlerName := nameOfFunction(handlers.Last()) + if DebugPrintRouteFunc == nil { + debugPrint("%-6s %-25s --> %s (%d handlers)\n", httpMethod, absolutePath, handlerName, nuHandlers) + } else { + DebugPrintRouteFunc(httpMethod, absolutePath, handlerName, nuHandlers) + } + } +} + +func debugPrintLoadTemplate(tmpl *template.Template) { + if IsDebugging() { + var buf strings.Builder + for _, tmpl := range tmpl.Templates() { + buf.WriteString("\t- ") + buf.WriteString(tmpl.Name()) + buf.WriteString("\n") + } + debugPrint("Loaded HTML Templates (%d): \n%s\n", len(tmpl.Templates()), buf.String()) + } +} + +func debugPrint(format string, values ...interface{}) { + if IsDebugging() { + if !strings.HasSuffix(format, "\n") { + format += "\n" + } + fmt.Fprintf(DefaultWriter, "[GIN-debug] "+format, values...) + } +} + +func getMinVer(v string) (uint64, error) { + first := strings.IndexByte(v, '.') + last := strings.LastIndexByte(v, '.') + if first == last { + return strconv.ParseUint(v[first+1:], 10, 64) + } + return strconv.ParseUint(v[first+1:last], 10, 64) +} + +func debugPrintWARNINGDefault() { + if v, e := getMinVer(runtime.Version()); e == nil && v <= ginSupportMinGoVer { + debugPrint(`[WARNING] Now Gin requires Go 1.13+. + +`) + } + debugPrint(`[WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached. + +`) +} + +func debugPrintWARNINGNew() { + debugPrint(`[WARNING] Running in "debug" mode. Switch to "release" mode in production. + - using env: export GIN_MODE=release + - using code: gin.SetMode(gin.ReleaseMode) + +`) +} + +func debugPrintWARNINGSetHTMLTemplate() { + debugPrint(`[WARNING] Since SetHTMLTemplate() is NOT thread-safe. It should only be called +at initialization. ie. before any route is registered or the router is listening in a socket: + + router := gin.Default() + router.SetHTMLTemplate(template) // << good place + +`) +} + +func debugPrintError(err error) { + if err != nil && IsDebugging() { + fmt.Fprintf(DefaultErrorWriter, "[GIN-debug] [ERROR] %v\n", err) + } +} diff --git a/vendor/github.com/gin-gonic/gin/deprecated.go b/vendor/github.com/gin-gonic/gin/deprecated.go new file mode 100644 index 000000000..ab4474296 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/deprecated.go @@ -0,0 +1,21 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "log" + + "github.com/gin-gonic/gin/binding" +) + +// BindWith binds the passed struct pointer using the specified binding engine. +// See the binding package. +func (c *Context) BindWith(obj interface{}, b binding.Binding) error { + log.Println(`BindWith(\"interface{}, binding.Binding\") error is going to + be deprecated, please check issue #662 and either use MustBindWith() if you + want HTTP 400 to be automatically returned if any error occur, or use + ShouldBindWith() if you need to manage the error.`) + return c.MustBindWith(obj, b) +} diff --git a/vendor/github.com/gin-gonic/gin/doc.go b/vendor/github.com/gin-gonic/gin/doc.go new file mode 100644 index 000000000..1bd03864f --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/doc.go @@ -0,0 +1,6 @@ +/* +Package gin implements a HTTP web framework called gin. + +See https://gin-gonic.com/ for more information about gin. +*/ +package gin // import "github.com/gin-gonic/gin" diff --git a/vendor/github.com/gin-gonic/gin/errors.go b/vendor/github.com/gin-gonic/gin/errors.go new file mode 100644 index 000000000..0f276c13d --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/errors.go @@ -0,0 +1,174 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "fmt" + "reflect" + "strings" + + "github.com/gin-gonic/gin/internal/json" +) + +// ErrorType is an unsigned 64-bit error code as defined in the gin spec. +type ErrorType uint64 + +const ( + // ErrorTypeBind is used when Context.Bind() fails. + ErrorTypeBind ErrorType = 1 << 63 + // ErrorTypeRender is used when Context.Render() fails. + ErrorTypeRender ErrorType = 1 << 62 + // ErrorTypePrivate indicates a private error. + ErrorTypePrivate ErrorType = 1 << 0 + // ErrorTypePublic indicates a public error. + ErrorTypePublic ErrorType = 1 << 1 + // ErrorTypeAny indicates any other error. + ErrorTypeAny ErrorType = 1<<64 - 1 + // ErrorTypeNu indicates any other error. + ErrorTypeNu = 2 +) + +// Error represents a error's specification. +type Error struct { + Err error + Type ErrorType + Meta interface{} +} + +type errorMsgs []*Error + +var _ error = &Error{} + +// SetType sets the error's type. +func (msg *Error) SetType(flags ErrorType) *Error { + msg.Type = flags + return msg +} + +// SetMeta sets the error's meta data. +func (msg *Error) SetMeta(data interface{}) *Error { + msg.Meta = data + return msg +} + +// JSON creates a properly formatted JSON +func (msg *Error) JSON() interface{} { + jsonData := H{} + if msg.Meta != nil { + value := reflect.ValueOf(msg.Meta) + switch value.Kind() { + case reflect.Struct: + return msg.Meta + case reflect.Map: + for _, key := range value.MapKeys() { + jsonData[key.String()] = value.MapIndex(key).Interface() + } + default: + jsonData["meta"] = msg.Meta + } + } + if _, ok := jsonData["error"]; !ok { + jsonData["error"] = msg.Error() + } + return jsonData +} + +// MarshalJSON implements the json.Marshaller interface. +func (msg *Error) MarshalJSON() ([]byte, error) { + return json.Marshal(msg.JSON()) +} + +// Error implements the error interface. +func (msg Error) Error() string { + return msg.Err.Error() +} + +// IsType judges one error. +func (msg *Error) IsType(flags ErrorType) bool { + return (msg.Type & flags) > 0 +} + +// Unwrap returns the wrapped error, to allow interoperability with errors.Is(), errors.As() and errors.Unwrap() +func (msg *Error) Unwrap() error { + return msg.Err +} + +// ByType returns a readonly copy filtered the byte. +// ie ByType(gin.ErrorTypePublic) returns a slice of errors with type=ErrorTypePublic. +func (a errorMsgs) ByType(typ ErrorType) errorMsgs { + if len(a) == 0 { + return nil + } + if typ == ErrorTypeAny { + return a + } + var result errorMsgs + for _, msg := range a { + if msg.IsType(typ) { + result = append(result, msg) + } + } + return result +} + +// Last returns the last error in the slice. It returns nil if the array is empty. +// Shortcut for errors[len(errors)-1]. +func (a errorMsgs) Last() *Error { + if length := len(a); length > 0 { + return a[length-1] + } + return nil +} + +// Errors returns an array will all the error messages. +// Example: +// c.Error(errors.New("first")) +// c.Error(errors.New("second")) +// c.Error(errors.New("third")) +// c.Errors.Errors() // == []string{"first", "second", "third"} +func (a errorMsgs) Errors() []string { + if len(a) == 0 { + return nil + } + errorStrings := make([]string, len(a)) + for i, err := range a { + errorStrings[i] = err.Error() + } + return errorStrings +} + +func (a errorMsgs) JSON() interface{} { + switch length := len(a); length { + case 0: + return nil + case 1: + return a.Last().JSON() + default: + jsonData := make([]interface{}, length) + for i, err := range a { + jsonData[i] = err.JSON() + } + return jsonData + } +} + +// MarshalJSON implements the json.Marshaller interface. +func (a errorMsgs) MarshalJSON() ([]byte, error) { + return json.Marshal(a.JSON()) +} + +func (a errorMsgs) String() string { + if len(a) == 0 { + return "" + } + var buffer strings.Builder + for i, msg := range a { + fmt.Fprintf(&buffer, "Error #%02d: %s\n", i+1, msg.Err) + if msg.Meta != nil { + fmt.Fprintf(&buffer, " Meta: %v\n", msg.Meta) + } + } + return buffer.String() +} diff --git a/vendor/github.com/gin-gonic/gin/fs.go b/vendor/github.com/gin-gonic/gin/fs.go new file mode 100644 index 000000000..e5f3d602a --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/fs.go @@ -0,0 +1,45 @@ +// Copyright 2017 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "net/http" + "os" +) + +type onlyFilesFS struct { + fs http.FileSystem +} + +type neuteredReaddirFile struct { + http.File +} + +// Dir returns a http.FileSystem that can be used by http.FileServer(). It is used internally +// in router.Static(). +// if listDirectory == true, then it works the same as http.Dir() otherwise it returns +// a filesystem that prevents http.FileServer() to list the directory files. +func Dir(root string, listDirectory bool) http.FileSystem { + fs := http.Dir(root) + if listDirectory { + return fs + } + return &onlyFilesFS{fs} +} + +// Open conforms to http.Filesystem. +func (fs onlyFilesFS) Open(name string) (http.File, error) { + f, err := fs.fs.Open(name) + if err != nil { + return nil, err + } + return neuteredReaddirFile{f}, nil +} + +// Readdir overrides the http.File default implementation. +func (f neuteredReaddirFile) Readdir(count int) ([]os.FileInfo, error) { + // this disables directory listing + return nil, nil +} diff --git a/vendor/github.com/gin-gonic/gin/gin.go b/vendor/github.com/gin-gonic/gin/gin.go new file mode 100644 index 000000000..6ab2be66d --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/gin.go @@ -0,0 +1,626 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "fmt" + "html/template" + "net" + "net/http" + "os" + "path" + "strings" + "sync" + + "github.com/gin-gonic/gin/internal/bytesconv" + "github.com/gin-gonic/gin/render" +) + +const defaultMultipartMemory = 32 << 20 // 32 MB + +var ( + default404Body = []byte("404 page not found") + default405Body = []byte("405 method not allowed") +) + +var defaultPlatform string + +// HandlerFunc defines the handler used by gin middleware as return value. +type HandlerFunc func(*Context) + +// HandlersChain defines a HandlerFunc array. +type HandlersChain []HandlerFunc + +// Last returns the last handler in the chain. ie. the last handler is the main one. +func (c HandlersChain) Last() HandlerFunc { + if length := len(c); length > 0 { + return c[length-1] + } + return nil +} + +// RouteInfo represents a request route's specification which contains method and path and its handler. +type RouteInfo struct { + Method string + Path string + Handler string + HandlerFunc HandlerFunc +} + +// RoutesInfo defines a RouteInfo array. +type RoutesInfo []RouteInfo + +// Trusted platforms +const ( + // When running on Google App Engine. Trust X-Appengine-Remote-Addr + // for determining the client's IP + PlatformGoogleAppEngine = "google-app-engine" + // When using Cloudflare's CDN. Trust CF-Connecting-IP for determining + // the client's IP + PlatformCloudflare = "cloudflare" +) + +// Engine is the framework's instance, it contains the muxer, middleware and configuration settings. +// Create an instance of Engine, by using New() or Default() +type Engine struct { + RouterGroup + + // Enables automatic redirection if the current route can't be matched but a + // handler for the path with (without) the trailing slash exists. + // For example if /foo/ is requested but a route only exists for /foo, the + // client is redirected to /foo with http status code 301 for GET requests + // and 307 for all other request methods. + RedirectTrailingSlash bool + + // If enabled, the router tries to fix the current request path, if no + // handle is registered for it. + // First superfluous path elements like ../ or // are removed. + // Afterwards the router does a case-insensitive lookup of the cleaned path. + // If a handle can be found for this route, the router makes a redirection + // to the corrected path with status code 301 for GET requests and 307 for + // all other request methods. + // For example /FOO and /..//Foo could be redirected to /foo. + // RedirectTrailingSlash is independent of this option. + RedirectFixedPath bool + + // If enabled, the router checks if another method is allowed for the + // current route, if the current request can not be routed. + // If this is the case, the request is answered with 'Method Not Allowed' + // and HTTP status code 405. + // If no other Method is allowed, the request is delegated to the NotFound + // handler. + HandleMethodNotAllowed bool + + // If enabled, client IP will be parsed from the request's headers that + // match those stored at `(*gin.Engine).RemoteIPHeaders`. If no IP was + // fetched, it falls back to the IP obtained from + // `(*gin.Context).Request.RemoteAddr`. + ForwardedByClientIP bool + + // DEPRECATED: USE `TrustedPlatform` WITH VALUE `gin.GoogleAppEngine` INSTEAD + // #726 #755 If enabled, it will trust some headers starting with + // 'X-AppEngine...' for better integration with that PaaS. + AppEngine bool + + // If enabled, the url.RawPath will be used to find parameters. + UseRawPath bool + + // If true, the path value will be unescaped. + // If UseRawPath is false (by default), the UnescapePathValues effectively is true, + // as url.Path gonna be used, which is already unescaped. + UnescapePathValues bool + + // RemoveExtraSlash a parameter can be parsed from the URL even with extra slashes. + // See the PR #1817 and issue #1644 + RemoveExtraSlash bool + + // List of headers used to obtain the client IP when + // `(*gin.Engine).ForwardedByClientIP` is `true` and + // `(*gin.Context).Request.RemoteAddr` is matched by at least one of the + // network origins of `(*gin.Engine).TrustedProxies`. + RemoteIPHeaders []string + + // List of network origins (IPv4 addresses, IPv4 CIDRs, IPv6 addresses or + // IPv6 CIDRs) from which to trust request's headers that contain + // alternative client IP when `(*gin.Engine).ForwardedByClientIP` is + // `true`. + TrustedProxies []string + + // If set to a constant of value gin.Platform*, trusts the headers set by + // that platform, for example to determine the client IP + TrustedPlatform string + + // Value of 'maxMemory' param that is given to http.Request's ParseMultipartForm + // method call. + MaxMultipartMemory int64 + + delims render.Delims + secureJSONPrefix string + HTMLRender render.HTMLRender + FuncMap template.FuncMap + allNoRoute HandlersChain + allNoMethod HandlersChain + noRoute HandlersChain + noMethod HandlersChain + pool sync.Pool + trees methodTrees + maxParams uint16 + trustedCIDRs []*net.IPNet +} + +var _ IRouter = &Engine{} + +// New returns a new blank Engine instance without any middleware attached. +// By default the configuration is: +// - RedirectTrailingSlash: true +// - RedirectFixedPath: false +// - HandleMethodNotAllowed: false +// - ForwardedByClientIP: true +// - UseRawPath: false +// - UnescapePathValues: true +func New() *Engine { + debugPrintWARNINGNew() + engine := &Engine{ + RouterGroup: RouterGroup{ + Handlers: nil, + basePath: "/", + root: true, + }, + FuncMap: template.FuncMap{}, + RedirectTrailingSlash: true, + RedirectFixedPath: false, + HandleMethodNotAllowed: false, + ForwardedByClientIP: true, + RemoteIPHeaders: []string{"X-Forwarded-For", "X-Real-IP"}, + TrustedProxies: []string{"0.0.0.0/0"}, + TrustedPlatform: defaultPlatform, + UseRawPath: false, + RemoveExtraSlash: false, + UnescapePathValues: true, + MaxMultipartMemory: defaultMultipartMemory, + trees: make(methodTrees, 0, 9), + delims: render.Delims{Left: "{{", Right: "}}"}, + secureJSONPrefix: "while(1);", + } + engine.RouterGroup.engine = engine + engine.pool.New = func() interface{} { + return engine.allocateContext() + } + return engine +} + +// Default returns an Engine instance with the Logger and Recovery middleware already attached. +func Default() *Engine { + debugPrintWARNINGDefault() + engine := New() + engine.Use(Logger(), Recovery()) + return engine +} + +func (engine *Engine) allocateContext() *Context { + v := make(Params, 0, engine.maxParams) + return &Context{engine: engine, params: &v} +} + +// Delims sets template left and right delims and returns a Engine instance. +func (engine *Engine) Delims(left, right string) *Engine { + engine.delims = render.Delims{Left: left, Right: right} + return engine +} + +// SecureJsonPrefix sets the secureJSONPrefix used in Context.SecureJSON. +func (engine *Engine) SecureJsonPrefix(prefix string) *Engine { + engine.secureJSONPrefix = prefix + return engine +} + +// LoadHTMLGlob loads HTML files identified by glob pattern +// and associates the result with HTML renderer. +func (engine *Engine) LoadHTMLGlob(pattern string) { + left := engine.delims.Left + right := engine.delims.Right + templ := template.Must(template.New("").Delims(left, right).Funcs(engine.FuncMap).ParseGlob(pattern)) + + if IsDebugging() { + debugPrintLoadTemplate(templ) + engine.HTMLRender = render.HTMLDebug{Glob: pattern, FuncMap: engine.FuncMap, Delims: engine.delims} + return + } + + engine.SetHTMLTemplate(templ) +} + +// LoadHTMLFiles loads a slice of HTML files +// and associates the result with HTML renderer. +func (engine *Engine) LoadHTMLFiles(files ...string) { + if IsDebugging() { + engine.HTMLRender = render.HTMLDebug{Files: files, FuncMap: engine.FuncMap, Delims: engine.delims} + return + } + + templ := template.Must(template.New("").Delims(engine.delims.Left, engine.delims.Right).Funcs(engine.FuncMap).ParseFiles(files...)) + engine.SetHTMLTemplate(templ) +} + +// SetHTMLTemplate associate a template with HTML renderer. +func (engine *Engine) SetHTMLTemplate(templ *template.Template) { + if len(engine.trees) > 0 { + debugPrintWARNINGSetHTMLTemplate() + } + + engine.HTMLRender = render.HTMLProduction{Template: templ.Funcs(engine.FuncMap)} +} + +// SetFuncMap sets the FuncMap used for template.FuncMap. +func (engine *Engine) SetFuncMap(funcMap template.FuncMap) { + engine.FuncMap = funcMap +} + +// NoRoute adds handlers for NoRoute. It return a 404 code by default. +func (engine *Engine) NoRoute(handlers ...HandlerFunc) { + engine.noRoute = handlers + engine.rebuild404Handlers() +} + +// NoMethod sets the handlers called when... TODO. +func (engine *Engine) NoMethod(handlers ...HandlerFunc) { + engine.noMethod = handlers + engine.rebuild405Handlers() +} + +// Use attaches a global middleware to the router. ie. the middleware attached though Use() will be +// included in the handlers chain for every single request. Even 404, 405, static files... +// For example, this is the right place for a logger or error management middleware. +func (engine *Engine) Use(middleware ...HandlerFunc) IRoutes { + engine.RouterGroup.Use(middleware...) + engine.rebuild404Handlers() + engine.rebuild405Handlers() + return engine +} + +func (engine *Engine) rebuild404Handlers() { + engine.allNoRoute = engine.combineHandlers(engine.noRoute) +} + +func (engine *Engine) rebuild405Handlers() { + engine.allNoMethod = engine.combineHandlers(engine.noMethod) +} + +func (engine *Engine) addRoute(method, path string, handlers HandlersChain) { + assert1(path[0] == '/', "path must begin with '/'") + assert1(method != "", "HTTP method can not be empty") + assert1(len(handlers) > 0, "there must be at least one handler") + + debugPrintRoute(method, path, handlers) + + root := engine.trees.get(method) + if root == nil { + root = new(node) + root.fullPath = "/" + engine.trees = append(engine.trees, methodTree{method: method, root: root}) + } + root.addRoute(path, handlers) + + // Update maxParams + if paramsCount := countParams(path); paramsCount > engine.maxParams { + engine.maxParams = paramsCount + } +} + +// Routes returns a slice of registered routes, including some useful information, such as: +// the http method, path and the handler name. +func (engine *Engine) Routes() (routes RoutesInfo) { + for _, tree := range engine.trees { + routes = iterate("", tree.method, routes, tree.root) + } + return routes +} + +func iterate(path, method string, routes RoutesInfo, root *node) RoutesInfo { + path += root.path + if len(root.handlers) > 0 { + handlerFunc := root.handlers.Last() + routes = append(routes, RouteInfo{ + Method: method, + Path: path, + Handler: nameOfFunction(handlerFunc), + HandlerFunc: handlerFunc, + }) + } + for _, child := range root.children { + routes = iterate(path, method, routes, child) + } + return routes +} + +// Run attaches the router to a http.Server and starts listening and serving HTTP requests. +// It is a shortcut for http.ListenAndServe(addr, router) +// Note: this method will block the calling goroutine indefinitely unless an error happens. +func (engine *Engine) Run(addr ...string) (err error) { + defer func() { debugPrintError(err) }() + + err = engine.parseTrustedProxies() + if err != nil { + return err + } + + address := resolveAddress(addr) + debugPrint("Listening and serving HTTP on %s\n", address) + err = http.ListenAndServe(address, engine) + return +} + +func (engine *Engine) prepareTrustedCIDRs() ([]*net.IPNet, error) { + if engine.TrustedProxies == nil { + return nil, nil + } + + cidr := make([]*net.IPNet, 0, len(engine.TrustedProxies)) + for _, trustedProxy := range engine.TrustedProxies { + if !strings.Contains(trustedProxy, "/") { + ip := parseIP(trustedProxy) + if ip == nil { + return cidr, &net.ParseError{Type: "IP address", Text: trustedProxy} + } + + switch len(ip) { + case net.IPv4len: + trustedProxy += "/32" + case net.IPv6len: + trustedProxy += "/128" + } + } + _, cidrNet, err := net.ParseCIDR(trustedProxy) + if err != nil { + return cidr, err + } + cidr = append(cidr, cidrNet) + } + return cidr, nil +} + +// SetTrustedProxies set Engine.TrustedProxies +func (engine *Engine) SetTrustedProxies(trustedProxies []string) error { + engine.TrustedProxies = trustedProxies + return engine.parseTrustedProxies() +} + +// parseTrustedProxies parse Engine.TrustedProxies to Engine.trustedCIDRs +func (engine *Engine) parseTrustedProxies() error { + trustedCIDRs, err := engine.prepareTrustedCIDRs() + engine.trustedCIDRs = trustedCIDRs + return err +} + +// parseIP parse a string representation of an IP and returns a net.IP with the +// minimum byte representation or nil if input is invalid. +func parseIP(ip string) net.IP { + parsedIP := net.ParseIP(ip) + + if ipv4 := parsedIP.To4(); ipv4 != nil { + // return ip in a 4-byte representation + return ipv4 + } + + // return ip in a 16-byte representation or nil + return parsedIP +} + +// RunTLS attaches the router to a http.Server and starts listening and serving HTTPS (secure) requests. +// It is a shortcut for http.ListenAndServeTLS(addr, certFile, keyFile, router) +// Note: this method will block the calling goroutine indefinitely unless an error happens. +func (engine *Engine) RunTLS(addr, certFile, keyFile string) (err error) { + debugPrint("Listening and serving HTTPS on %s\n", addr) + defer func() { debugPrintError(err) }() + + err = engine.parseTrustedProxies() + if err != nil { + return err + } + + err = http.ListenAndServeTLS(addr, certFile, keyFile, engine) + return +} + +// RunUnix attaches the router to a http.Server and starts listening and serving HTTP requests +// through the specified unix socket (ie. a file). +// Note: this method will block the calling goroutine indefinitely unless an error happens. +func (engine *Engine) RunUnix(file string) (err error) { + debugPrint("Listening and serving HTTP on unix:/%s", file) + defer func() { debugPrintError(err) }() + + err = engine.parseTrustedProxies() + if err != nil { + return err + } + + listener, err := net.Listen("unix", file) + if err != nil { + return + } + defer listener.Close() + defer os.Remove(file) + + err = http.Serve(listener, engine) + return +} + +// RunFd attaches the router to a http.Server and starts listening and serving HTTP requests +// through the specified file descriptor. +// Note: this method will block the calling goroutine indefinitely unless an error happens. +func (engine *Engine) RunFd(fd int) (err error) { + debugPrint("Listening and serving HTTP on fd@%d", fd) + defer func() { debugPrintError(err) }() + + err = engine.parseTrustedProxies() + if err != nil { + return err + } + + f := os.NewFile(uintptr(fd), fmt.Sprintf("fd@%d", fd)) + listener, err := net.FileListener(f) + if err != nil { + return + } + defer listener.Close() + err = engine.RunListener(listener) + return +} + +// RunListener attaches the router to a http.Server and starts listening and serving HTTP requests +// through the specified net.Listener +func (engine *Engine) RunListener(listener net.Listener) (err error) { + debugPrint("Listening and serving HTTP on listener what's bind with address@%s", listener.Addr()) + defer func() { debugPrintError(err) }() + + err = engine.parseTrustedProxies() + if err != nil { + return err + } + + err = http.Serve(listener, engine) + return +} + +// ServeHTTP conforms to the http.Handler interface. +func (engine *Engine) ServeHTTP(w http.ResponseWriter, req *http.Request) { + c := engine.pool.Get().(*Context) + c.writermem.reset(w) + c.Request = req + c.reset() + + engine.handleHTTPRequest(c) + + engine.pool.Put(c) +} + +// HandleContext re-enter a context that has been rewritten. +// This can be done by setting c.Request.URL.Path to your new target. +// Disclaimer: You can loop yourself to death with this, use wisely. +func (engine *Engine) HandleContext(c *Context) { + oldIndexValue := c.index + c.reset() + engine.handleHTTPRequest(c) + + c.index = oldIndexValue +} + +func (engine *Engine) handleHTTPRequest(c *Context) { + httpMethod := c.Request.Method + rPath := c.Request.URL.Path + unescape := false + if engine.UseRawPath && len(c.Request.URL.RawPath) > 0 { + rPath = c.Request.URL.RawPath + unescape = engine.UnescapePathValues + } + + if engine.RemoveExtraSlash { + rPath = cleanPath(rPath) + } + + // Find root of the tree for the given HTTP method + t := engine.trees + for i, tl := 0, len(t); i < tl; i++ { + if t[i].method != httpMethod { + continue + } + root := t[i].root + // Find route in tree + value := root.getValue(rPath, c.params, unescape) + if value.params != nil { + c.Params = *value.params + } + if value.handlers != nil { + c.handlers = value.handlers + c.fullPath = value.fullPath + c.Next() + c.writermem.WriteHeaderNow() + return + } + if httpMethod != http.MethodConnect && rPath != "/" { + if value.tsr && engine.RedirectTrailingSlash { + redirectTrailingSlash(c) + return + } + if engine.RedirectFixedPath && redirectFixedPath(c, root, engine.RedirectFixedPath) { + return + } + } + break + } + + if engine.HandleMethodNotAllowed { + for _, tree := range engine.trees { + if tree.method == httpMethod { + continue + } + if value := tree.root.getValue(rPath, nil, unescape); value.handlers != nil { + c.handlers = engine.allNoMethod + serveError(c, http.StatusMethodNotAllowed, default405Body) + return + } + } + } + c.handlers = engine.allNoRoute + serveError(c, http.StatusNotFound, default404Body) +} + +var mimePlain = []string{MIMEPlain} + +func serveError(c *Context, code int, defaultMessage []byte) { + c.writermem.status = code + c.Next() + if c.writermem.Written() { + return + } + if c.writermem.Status() == code { + c.writermem.Header()["Content-Type"] = mimePlain + _, err := c.Writer.Write(defaultMessage) + if err != nil { + debugPrint("cannot write message to writer during serve error: %v", err) + } + return + } + c.writermem.WriteHeaderNow() +} + +func redirectTrailingSlash(c *Context) { + req := c.Request + p := req.URL.Path + if prefix := path.Clean(c.Request.Header.Get("X-Forwarded-Prefix")); prefix != "." { + p = prefix + "/" + req.URL.Path + } + req.URL.Path = p + "/" + if length := len(p); length > 1 && p[length-1] == '/' { + req.URL.Path = p[:length-1] + } + redirectRequest(c) +} + +func redirectFixedPath(c *Context, root *node, trailingSlash bool) bool { + req := c.Request + rPath := req.URL.Path + + if fixedPath, ok := root.findCaseInsensitivePath(cleanPath(rPath), trailingSlash); ok { + req.URL.Path = bytesconv.BytesToString(fixedPath) + redirectRequest(c) + return true + } + return false +} + +func redirectRequest(c *Context) { + req := c.Request + rPath := req.URL.Path + rURL := req.URL.String() + + code := http.StatusMovedPermanently // Permanent redirect, request with GET method + if req.Method != http.MethodGet { + code = http.StatusTemporaryRedirect + } + debugPrint("redirecting request %d: %s --> %s", code, rPath, rURL) + http.Redirect(c.Writer, req, rURL, code) + c.writermem.WriteHeaderNow() +} diff --git a/vendor/github.com/gin-gonic/gin/go.mod b/vendor/github.com/gin-gonic/gin/go.mod new file mode 100644 index 000000000..9484b2644 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/go.mod @@ -0,0 +1,15 @@ +module github.com/gin-gonic/gin + +go 1.13 + +require ( + github.com/gin-contrib/sse v0.1.0 + github.com/go-playground/validator/v10 v10.6.1 + github.com/goccy/go-json v0.5.1 + github.com/golang/protobuf v1.3.3 + github.com/json-iterator/go v1.1.9 + github.com/mattn/go-isatty v0.0.12 + github.com/stretchr/testify v1.4.0 + github.com/ugorji/go/codec v1.2.6 + gopkg.in/yaml.v2 v2.2.8 +) diff --git a/vendor/github.com/gin-gonic/gin/go.sum b/vendor/github.com/gin-gonic/gin/go.sum new file mode 100644 index 000000000..e61ef908a --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/go.sum @@ -0,0 +1,55 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.6.1 h1:W6TRDXt4WcWp4c4nf/G+6BkGdhiIo0k417gfr+V6u4I= +github.com/go-playground/validator/v10 v10.6.1/go.mod h1:xm76BBt941f7yWdGnI2DVPFFg1UK3YY04qifoXU3lOk= +github.com/goccy/go-json v0.5.1 h1:R9UYTOUvo7eIY9aeDMZ4L6OVtHaSr1k2No9W6MKjXrA= +github.com/goccy/go-json v0.5.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/ugorji/go v1.2.6 h1:tGiWC9HENWE2tqYycIqFTNorMmFRVhNwCpDOpWqnk8E= +github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn0= +github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ= +github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42 h1:vEOn+mP2zCOVzKckCZy6YsCtDblrpj/w7B9nxGNELpg= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv.go b/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv.go new file mode 100644 index 000000000..86e4c4d44 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv.go @@ -0,0 +1,24 @@ +// Copyright 2020 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package bytesconv + +import ( + "unsafe" +) + +// StringToBytes converts string to byte slice without a memory allocation. +func StringToBytes(s string) []byte { + return *(*[]byte)(unsafe.Pointer( + &struct { + string + Cap int + }{s, len(s)}, + )) +} + +// BytesToString converts byte slice to string without a memory allocation. +func BytesToString(b []byte) string { + return *(*string)(unsafe.Pointer(&b)) +} diff --git a/vendor/github.com/gin-gonic/gin/internal/json/go_json.go b/vendor/github.com/gin-gonic/gin/internal/json/go_json.go new file mode 100644 index 000000000..da960571a --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/internal/json/go_json.go @@ -0,0 +1,23 @@ +// Copyright 2017 Bo-Yi Wu. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build go_json +// +build go_json + +package json + +import json "github.com/goccy/go-json" + +var ( + // Marshal is exported by gin/json package. + Marshal = json.Marshal + // Unmarshal is exported by gin/json package. + Unmarshal = json.Unmarshal + // MarshalIndent is exported by gin/json package. + MarshalIndent = json.MarshalIndent + // NewDecoder is exported by gin/json package. + NewDecoder = json.NewDecoder + // NewEncoder is exported by gin/json package. + NewEncoder = json.NewEncoder +) diff --git a/vendor/github.com/gin-gonic/gin/internal/json/json.go b/vendor/github.com/gin-gonic/gin/internal/json/json.go new file mode 100644 index 000000000..75b602240 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/internal/json/json.go @@ -0,0 +1,23 @@ +// Copyright 2017 Bo-Yi Wu. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build !jsoniter && !go_json +// +build !jsoniter,!go_json + +package json + +import "encoding/json" + +var ( + // Marshal is exported by gin/json package. + Marshal = json.Marshal + // Unmarshal is exported by gin/json package. + Unmarshal = json.Unmarshal + // MarshalIndent is exported by gin/json package. + MarshalIndent = json.MarshalIndent + // NewDecoder is exported by gin/json package. + NewDecoder = json.NewDecoder + // NewEncoder is exported by gin/json package. + NewEncoder = json.NewEncoder +) diff --git a/vendor/github.com/gin-gonic/gin/internal/json/jsoniter.go b/vendor/github.com/gin-gonic/gin/internal/json/jsoniter.go new file mode 100644 index 000000000..232f8dcad --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/internal/json/jsoniter.go @@ -0,0 +1,24 @@ +// Copyright 2017 Bo-Yi Wu. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build jsoniter +// +build jsoniter + +package json + +import jsoniter "github.com/json-iterator/go" + +var ( + json = jsoniter.ConfigCompatibleWithStandardLibrary + // Marshal is exported by gin/json package. + Marshal = json.Marshal + // Unmarshal is exported by gin/json package. + Unmarshal = json.Unmarshal + // MarshalIndent is exported by gin/json package. + MarshalIndent = json.MarshalIndent + // NewDecoder is exported by gin/json package. + NewDecoder = json.NewDecoder + // NewEncoder is exported by gin/json package. + NewEncoder = json.NewEncoder +) diff --git a/vendor/github.com/gin-gonic/gin/logger.go b/vendor/github.com/gin-gonic/gin/logger.go new file mode 100644 index 000000000..22138a8d3 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/logger.go @@ -0,0 +1,270 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "fmt" + "io" + "net/http" + "os" + "time" + + "github.com/mattn/go-isatty" +) + +type consoleColorModeValue int + +const ( + autoColor consoleColorModeValue = iota + disableColor + forceColor +) + +const ( + green = "\033[97;42m" + white = "\033[90;47m" + yellow = "\033[90;43m" + red = "\033[97;41m" + blue = "\033[97;44m" + magenta = "\033[97;45m" + cyan = "\033[97;46m" + reset = "\033[0m" +) + +var consoleColorMode = autoColor + +// LoggerConfig defines the config for Logger middleware. +type LoggerConfig struct { + // Optional. Default value is gin.defaultLogFormatter + Formatter LogFormatter + + // Output is a writer where logs are written. + // Optional. Default value is gin.DefaultWriter. + Output io.Writer + + // SkipPaths is a url path array which logs are not written. + // Optional. + SkipPaths []string +} + +// LogFormatter gives the signature of the formatter function passed to LoggerWithFormatter +type LogFormatter func(params LogFormatterParams) string + +// LogFormatterParams is the structure any formatter will be handed when time to log comes +type LogFormatterParams struct { + Request *http.Request + + // TimeStamp shows the time after the server returns a response. + TimeStamp time.Time + // StatusCode is HTTP response code. + StatusCode int + // Latency is how much time the server cost to process a certain request. + Latency time.Duration + // ClientIP equals Context's ClientIP method. + ClientIP string + // Method is the HTTP method given to the request. + Method string + // Path is a path the client requests. + Path string + // ErrorMessage is set if error has occurred in processing the request. + ErrorMessage string + // isTerm shows whether does gin's output descriptor refers to a terminal. + isTerm bool + // BodySize is the size of the Response Body + BodySize int + // Keys are the keys set on the request's context. + Keys map[string]interface{} +} + +// StatusCodeColor is the ANSI color for appropriately logging http status code to a terminal. +func (p *LogFormatterParams) StatusCodeColor() string { + code := p.StatusCode + + switch { + case code >= http.StatusOK && code < http.StatusMultipleChoices: + return green + case code >= http.StatusMultipleChoices && code < http.StatusBadRequest: + return white + case code >= http.StatusBadRequest && code < http.StatusInternalServerError: + return yellow + default: + return red + } +} + +// MethodColor is the ANSI color for appropriately logging http method to a terminal. +func (p *LogFormatterParams) MethodColor() string { + method := p.Method + + switch method { + case http.MethodGet: + return blue + case http.MethodPost: + return cyan + case http.MethodPut: + return yellow + case http.MethodDelete: + return red + case http.MethodPatch: + return green + case http.MethodHead: + return magenta + case http.MethodOptions: + return white + default: + return reset + } +} + +// ResetColor resets all escape attributes. +func (p *LogFormatterParams) ResetColor() string { + return reset +} + +// IsOutputColor indicates whether can colors be outputted to the log. +func (p *LogFormatterParams) IsOutputColor() bool { + return consoleColorMode == forceColor || (consoleColorMode == autoColor && p.isTerm) +} + +// defaultLogFormatter is the default log format function Logger middleware uses. +var defaultLogFormatter = func(param LogFormatterParams) string { + var statusColor, methodColor, resetColor string + if param.IsOutputColor() { + statusColor = param.StatusCodeColor() + methodColor = param.MethodColor() + resetColor = param.ResetColor() + } + + if param.Latency > time.Minute { + param.Latency = param.Latency.Truncate(time.Second) + } + return fmt.Sprintf("[GIN] %v |%s %3d %s| %13v | %15s |%s %-7s %s %#v\n%s", + param.TimeStamp.Format("2006/01/02 - 15:04:05"), + statusColor, param.StatusCode, resetColor, + param.Latency, + param.ClientIP, + methodColor, param.Method, resetColor, + param.Path, + param.ErrorMessage, + ) +} + +// DisableConsoleColor disables color output in the console. +func DisableConsoleColor() { + consoleColorMode = disableColor +} + +// ForceConsoleColor force color output in the console. +func ForceConsoleColor() { + consoleColorMode = forceColor +} + +// ErrorLogger returns a handlerfunc for any error type. +func ErrorLogger() HandlerFunc { + return ErrorLoggerT(ErrorTypeAny) +} + +// ErrorLoggerT returns a handlerfunc for a given error type. +func ErrorLoggerT(typ ErrorType) HandlerFunc { + return func(c *Context) { + c.Next() + errors := c.Errors.ByType(typ) + if len(errors) > 0 { + c.JSON(-1, errors) + } + } +} + +// Logger instances a Logger middleware that will write the logs to gin.DefaultWriter. +// By default gin.DefaultWriter = os.Stdout. +func Logger() HandlerFunc { + return LoggerWithConfig(LoggerConfig{}) +} + +// LoggerWithFormatter instance a Logger middleware with the specified log format function. +func LoggerWithFormatter(f LogFormatter) HandlerFunc { + return LoggerWithConfig(LoggerConfig{ + Formatter: f, + }) +} + +// LoggerWithWriter instance a Logger middleware with the specified writer buffer. +// Example: os.Stdout, a file opened in write mode, a socket... +func LoggerWithWriter(out io.Writer, notlogged ...string) HandlerFunc { + return LoggerWithConfig(LoggerConfig{ + Output: out, + SkipPaths: notlogged, + }) +} + +// LoggerWithConfig instance a Logger middleware with config. +func LoggerWithConfig(conf LoggerConfig) HandlerFunc { + formatter := conf.Formatter + if formatter == nil { + formatter = defaultLogFormatter + } + + out := conf.Output + if out == nil { + out = DefaultWriter + } + + notlogged := conf.SkipPaths + + isTerm := true + + if w, ok := out.(*os.File); !ok || os.Getenv("TERM") == "dumb" || + (!isatty.IsTerminal(w.Fd()) && !isatty.IsCygwinTerminal(w.Fd())) { + isTerm = false + } + + var skip map[string]struct{} + + if length := len(notlogged); length > 0 { + skip = make(map[string]struct{}, length) + + for _, path := range notlogged { + skip[path] = struct{}{} + } + } + + return func(c *Context) { + // Start timer + start := time.Now() + path := c.Request.URL.Path + raw := c.Request.URL.RawQuery + + // Process request + c.Next() + + // Log only when path is not being skipped + if _, ok := skip[path]; !ok { + param := LogFormatterParams{ + Request: c.Request, + isTerm: isTerm, + Keys: c.Keys, + } + + // Stop timer + param.TimeStamp = time.Now() + param.Latency = param.TimeStamp.Sub(start) + + param.ClientIP = c.ClientIP() + param.Method = c.Request.Method + param.StatusCode = c.Writer.Status() + param.ErrorMessage = c.Errors.ByType(ErrorTypePrivate).String() + + param.BodySize = c.Writer.Size() + + if raw != "" { + path = path + "?" + raw + } + + param.Path = path + + fmt.Fprint(out, formatter(param)) + } + } +} diff --git a/vendor/github.com/gin-gonic/gin/mode.go b/vendor/github.com/gin-gonic/gin/mode.go new file mode 100644 index 000000000..c8813aff2 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/mode.go @@ -0,0 +1,92 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "io" + "os" + + "github.com/gin-gonic/gin/binding" +) + +// EnvGinMode indicates environment name for gin mode. +const EnvGinMode = "GIN_MODE" + +const ( + // DebugMode indicates gin mode is debug. + DebugMode = "debug" + // ReleaseMode indicates gin mode is release. + ReleaseMode = "release" + // TestMode indicates gin mode is test. + TestMode = "test" +) + +const ( + debugCode = iota + releaseCode + testCode +) + +// DefaultWriter is the default io.Writer used by Gin for debug output and +// middleware output like Logger() or Recovery(). +// Note that both Logger and Recovery provides custom ways to configure their +// output io.Writer. +// To support coloring in Windows use: +// import "github.com/mattn/go-colorable" +// gin.DefaultWriter = colorable.NewColorableStdout() +var DefaultWriter io.Writer = os.Stdout + +// DefaultErrorWriter is the default io.Writer used by Gin to debug errors +var DefaultErrorWriter io.Writer = os.Stderr + +var ginMode = debugCode +var modeName = DebugMode + +func init() { + mode := os.Getenv(EnvGinMode) + SetMode(mode) +} + +// SetMode sets gin mode according to input string. +func SetMode(value string) { + if value == "" { + value = DebugMode + } + + switch value { + case DebugMode: + ginMode = debugCode + case ReleaseMode: + ginMode = releaseCode + case TestMode: + ginMode = testCode + default: + panic("gin mode unknown: " + value + " (available mode: debug release test)") + } + + modeName = value +} + +// DisableBindValidation closes the default validator. +func DisableBindValidation() { + binding.Validator = nil +} + +// EnableJsonDecoderUseNumber sets true for binding.EnableDecoderUseNumber to +// call the UseNumber method on the JSON Decoder instance. +func EnableJsonDecoderUseNumber() { + binding.EnableDecoderUseNumber = true +} + +// EnableJsonDecoderDisallowUnknownFields sets true for binding.EnableDecoderDisallowUnknownFields to +// call the DisallowUnknownFields method on the JSON Decoder instance. +func EnableJsonDecoderDisallowUnknownFields() { + binding.EnableDecoderDisallowUnknownFields = true +} + +// Mode returns currently gin mode. +func Mode() string { + return modeName +} diff --git a/vendor/github.com/gin-gonic/gin/path.go b/vendor/github.com/gin-gonic/gin/path.go new file mode 100644 index 000000000..d42d6b9d0 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/path.go @@ -0,0 +1,150 @@ +// Copyright 2013 Julien Schmidt. All rights reserved. +// Based on the path package, Copyright 2009 The Go Authors. +// Use of this source code is governed by a BSD-style license that can be found +// at https://github.com/julienschmidt/httprouter/blob/master/LICENSE. + +package gin + +// cleanPath is the URL version of path.Clean, it returns a canonical URL path +// for p, eliminating . and .. elements. +// +// The following rules are applied iteratively until no further processing can +// be done: +// 1. Replace multiple slashes with a single slash. +// 2. Eliminate each . path name element (the current directory). +// 3. Eliminate each inner .. path name element (the parent directory) +// along with the non-.. element that precedes it. +// 4. Eliminate .. elements that begin a rooted path: +// that is, replace "/.." by "/" at the beginning of a path. +// +// If the result of this process is an empty string, "/" is returned. +func cleanPath(p string) string { + const stackBufSize = 128 + // Turn empty string into "/" + if p == "" { + return "/" + } + + // Reasonably sized buffer on stack to avoid allocations in the common case. + // If a larger buffer is required, it gets allocated dynamically. + buf := make([]byte, 0, stackBufSize) + + n := len(p) + + // Invariants: + // reading from path; r is index of next byte to process. + // writing to buf; w is index of next byte to write. + + // path must start with '/' + r := 1 + w := 1 + + if p[0] != '/' { + r = 0 + + if n+1 > stackBufSize { + buf = make([]byte, n+1) + } else { + buf = buf[:n+1] + } + buf[0] = '/' + } + + trailing := n > 1 && p[n-1] == '/' + + // A bit more clunky without a 'lazybuf' like the path package, but the loop + // gets completely inlined (bufApp calls). + // loop has no expensive function calls (except 1x make) // So in contrast to the path package this loop has no expensive function + // calls (except make, if needed). + + for r < n { + switch { + case p[r] == '/': + // empty path element, trailing slash is added after the end + r++ + + case p[r] == '.' && r+1 == n: + trailing = true + r++ + + case p[r] == '.' && p[r+1] == '/': + // . element + r += 2 + + case p[r] == '.' && p[r+1] == '.' && (r+2 == n || p[r+2] == '/'): + // .. element: remove to last / + r += 3 + + if w > 1 { + // can backtrack + w-- + + if len(buf) == 0 { + for w > 1 && p[w] != '/' { + w-- + } + } else { + for w > 1 && buf[w] != '/' { + w-- + } + } + } + + default: + // Real path element. + // Add slash if needed + if w > 1 { + bufApp(&buf, p, w, '/') + w++ + } + + // Copy element + for r < n && p[r] != '/' { + bufApp(&buf, p, w, p[r]) + w++ + r++ + } + } + } + + // Re-append trailing slash + if trailing && w > 1 { + bufApp(&buf, p, w, '/') + w++ + } + + // If the original string was not modified (or only shortened at the end), + // return the respective substring of the original string. + // Otherwise return a new string from the buffer. + if len(buf) == 0 { + return p[:w] + } + return string(buf[:w]) +} + +// Internal helper to lazily create a buffer if necessary. +// Calls to this function get inlined. +func bufApp(buf *[]byte, s string, w int, c byte) { + b := *buf + if len(b) == 0 { + // No modification of the original string so far. + // If the next character is the same as in the original string, we do + // not yet have to allocate a buffer. + if s[w] == c { + return + } + + // Otherwise use either the stack buffer, if it is large enough, or + // allocate a new buffer on the heap, and copy all previous characters. + length := len(s) + if length > cap(b) { + *buf = make([]byte, length) + } else { + *buf = (*buf)[:length] + } + b = *buf + + copy(b, s[:w]) + } + b[w] = c +} diff --git a/vendor/github.com/gin-gonic/gin/recovery.go b/vendor/github.com/gin-gonic/gin/recovery.go new file mode 100644 index 000000000..3101fe28a --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/recovery.go @@ -0,0 +1,171 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "bytes" + "fmt" + "io" + "io/ioutil" + "log" + "net" + "net/http" + "net/http/httputil" + "os" + "runtime" + "strings" + "time" +) + +var ( + dunno = []byte("???") + centerDot = []byte("·") + dot = []byte(".") + slash = []byte("/") +) + +// RecoveryFunc defines the function passable to CustomRecovery. +type RecoveryFunc func(c *Context, err interface{}) + +// Recovery returns a middleware that recovers from any panics and writes a 500 if there was one. +func Recovery() HandlerFunc { + return RecoveryWithWriter(DefaultErrorWriter) +} + +// CustomRecovery returns a middleware that recovers from any panics and calls the provided handle func to handle it. +func CustomRecovery(handle RecoveryFunc) HandlerFunc { + return RecoveryWithWriter(DefaultErrorWriter, handle) +} + +// RecoveryWithWriter returns a middleware for a given writer that recovers from any panics and writes a 500 if there was one. +func RecoveryWithWriter(out io.Writer, recovery ...RecoveryFunc) HandlerFunc { + if len(recovery) > 0 { + return CustomRecoveryWithWriter(out, recovery[0]) + } + return CustomRecoveryWithWriter(out, defaultHandleRecovery) +} + +// CustomRecoveryWithWriter returns a middleware for a given writer that recovers from any panics and calls the provided handle func to handle it. +func CustomRecoveryWithWriter(out io.Writer, handle RecoveryFunc) HandlerFunc { + var logger *log.Logger + if out != nil { + logger = log.New(out, "\n\n\x1b[31m", log.LstdFlags) + } + return func(c *Context) { + defer func() { + if err := recover(); err != nil { + // Check for a broken connection, as it is not really a + // condition that warrants a panic stack trace. + var brokenPipe bool + if ne, ok := err.(*net.OpError); ok { + if se, ok := ne.Err.(*os.SyscallError); ok { + if strings.Contains(strings.ToLower(se.Error()), "broken pipe") || strings.Contains(strings.ToLower(se.Error()), "connection reset by peer") { + brokenPipe = true + } + } + } + if logger != nil { + stack := stack(3) + httpRequest, _ := httputil.DumpRequest(c.Request, false) + headers := strings.Split(string(httpRequest), "\r\n") + for idx, header := range headers { + current := strings.Split(header, ":") + if current[0] == "Authorization" { + headers[idx] = current[0] + ": *" + } + } + headersToStr := strings.Join(headers, "\r\n") + if brokenPipe { + logger.Printf("%s\n%s%s", err, headersToStr, reset) + } else if IsDebugging() { + logger.Printf("[Recovery] %s panic recovered:\n%s\n%s\n%s%s", + timeFormat(time.Now()), headersToStr, err, stack, reset) + } else { + logger.Printf("[Recovery] %s panic recovered:\n%s\n%s%s", + timeFormat(time.Now()), err, stack, reset) + } + } + if brokenPipe { + // If the connection is dead, we can't write a status to it. + c.Error(err.(error)) // nolint: errcheck + c.Abort() + } else { + handle(c, err) + } + } + }() + c.Next() + } +} + +func defaultHandleRecovery(c *Context, err interface{}) { + c.AbortWithStatus(http.StatusInternalServerError) +} + +// stack returns a nicely formatted stack frame, skipping skip frames. +func stack(skip int) []byte { + buf := new(bytes.Buffer) // the returned data + // As we loop, we open files and read them. These variables record the currently + // loaded file. + var lines [][]byte + var lastFile string + for i := skip; ; i++ { // Skip the expected number of frames + pc, file, line, ok := runtime.Caller(i) + if !ok { + break + } + // Print this much at least. If we can't find the source, it won't show. + fmt.Fprintf(buf, "%s:%d (0x%x)\n", file, line, pc) + if file != lastFile { + data, err := ioutil.ReadFile(file) + if err != nil { + continue + } + lines = bytes.Split(data, []byte{'\n'}) + lastFile = file + } + fmt.Fprintf(buf, "\t%s: %s\n", function(pc), source(lines, line)) + } + return buf.Bytes() +} + +// source returns a space-trimmed slice of the n'th line. +func source(lines [][]byte, n int) []byte { + n-- // in stack trace, lines are 1-indexed but our array is 0-indexed + if n < 0 || n >= len(lines) { + return dunno + } + return bytes.TrimSpace(lines[n]) +} + +// function returns, if possible, the name of the function containing the PC. +func function(pc uintptr) []byte { + fn := runtime.FuncForPC(pc) + if fn == nil { + return dunno + } + name := []byte(fn.Name()) + // The name includes the path name to the package, which is unnecessary + // since the file name is already included. Plus, it has center dots. + // That is, we see + // runtime/debug.*T·ptrmethod + // and want + // *T.ptrmethod + // Also the package path might contains dot (e.g. code.google.com/...), + // so first eliminate the path prefix + if lastSlash := bytes.LastIndex(name, slash); lastSlash >= 0 { + name = name[lastSlash+1:] + } + if period := bytes.Index(name, dot); period >= 0 { + name = name[period+1:] + } + name = bytes.Replace(name, centerDot, dot, -1) + return name +} + +// timeFormat returns a customized time string for logger. +func timeFormat(t time.Time) string { + return t.Format("2006/01/02 - 15:04:05") +} diff --git a/vendor/github.com/gin-gonic/gin/render/data.go b/vendor/github.com/gin-gonic/gin/render/data.go new file mode 100644 index 000000000..6ba657ba0 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/data.go @@ -0,0 +1,25 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import "net/http" + +// Data contains ContentType and bytes data. +type Data struct { + ContentType string + Data []byte +} + +// Render (Data) writes data with custom ContentType. +func (r Data) Render(w http.ResponseWriter) (err error) { + r.WriteContentType(w) + _, err = w.Write(r.Data) + return +} + +// WriteContentType (Data) writes custom ContentType. +func (r Data) WriteContentType(w http.ResponseWriter) { + writeContentType(w, []string{r.ContentType}) +} diff --git a/vendor/github.com/gin-gonic/gin/render/html.go b/vendor/github.com/gin-gonic/gin/render/html.go new file mode 100644 index 000000000..6696ece99 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/html.go @@ -0,0 +1,92 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import ( + "html/template" + "net/http" +) + +// Delims represents a set of Left and Right delimiters for HTML template rendering. +type Delims struct { + // Left delimiter, defaults to {{. + Left string + // Right delimiter, defaults to }}. + Right string +} + +// HTMLRender interface is to be implemented by HTMLProduction and HTMLDebug. +type HTMLRender interface { + // Instance returns an HTML instance. + Instance(string, interface{}) Render +} + +// HTMLProduction contains template reference and its delims. +type HTMLProduction struct { + Template *template.Template + Delims Delims +} + +// HTMLDebug contains template delims and pattern and function with file list. +type HTMLDebug struct { + Files []string + Glob string + Delims Delims + FuncMap template.FuncMap +} + +// HTML contains template reference and its name with given interface object. +type HTML struct { + Template *template.Template + Name string + Data interface{} +} + +var htmlContentType = []string{"text/html; charset=utf-8"} + +// Instance (HTMLProduction) returns an HTML instance which it realizes Render interface. +func (r HTMLProduction) Instance(name string, data interface{}) Render { + return HTML{ + Template: r.Template, + Name: name, + Data: data, + } +} + +// Instance (HTMLDebug) returns an HTML instance which it realizes Render interface. +func (r HTMLDebug) Instance(name string, data interface{}) Render { + return HTML{ + Template: r.loadTemplate(), + Name: name, + Data: data, + } +} +func (r HTMLDebug) loadTemplate() *template.Template { + if r.FuncMap == nil { + r.FuncMap = template.FuncMap{} + } + if len(r.Files) > 0 { + return template.Must(template.New("").Delims(r.Delims.Left, r.Delims.Right).Funcs(r.FuncMap).ParseFiles(r.Files...)) + } + if r.Glob != "" { + return template.Must(template.New("").Delims(r.Delims.Left, r.Delims.Right).Funcs(r.FuncMap).ParseGlob(r.Glob)) + } + panic("the HTML debug render was created without files or glob pattern") +} + +// Render (HTML) executes template and writes its result with custom ContentType for response. +func (r HTML) Render(w http.ResponseWriter) error { + r.WriteContentType(w) + + if r.Name == "" { + return r.Template.Execute(w, r.Data) + } + return r.Template.ExecuteTemplate(w, r.Name, r.Data) +} + +// WriteContentType (HTML) writes HTML ContentType. +func (r HTML) WriteContentType(w http.ResponseWriter) { + writeContentType(w, htmlContentType) +} diff --git a/vendor/github.com/gin-gonic/gin/render/json.go b/vendor/github.com/gin-gonic/gin/render/json.go new file mode 100644 index 000000000..e25415b00 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/json.go @@ -0,0 +1,195 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import ( + "bytes" + "fmt" + "html/template" + "net/http" + + "github.com/gin-gonic/gin/internal/bytesconv" + "github.com/gin-gonic/gin/internal/json" +) + +// JSON contains the given interface object. +type JSON struct { + Data interface{} +} + +// IndentedJSON contains the given interface object. +type IndentedJSON struct { + Data interface{} +} + +// SecureJSON contains the given interface object and its prefix. +type SecureJSON struct { + Prefix string + Data interface{} +} + +// JsonpJSON contains the given interface object its callback. +type JsonpJSON struct { + Callback string + Data interface{} +} + +// AsciiJSON contains the given interface object. +type AsciiJSON struct { + Data interface{} +} + +// PureJSON contains the given interface object. +type PureJSON struct { + Data interface{} +} + +var ( + jsonContentType = []string{"application/json; charset=utf-8"} + jsonpContentType = []string{"application/javascript; charset=utf-8"} + jsonAsciiContentType = []string{"application/json"} +) + +// Render (JSON) writes data with custom ContentType. +func (r JSON) Render(w http.ResponseWriter) (err error) { + if err = WriteJSON(w, r.Data); err != nil { + panic(err) + } + return +} + +// WriteContentType (JSON) writes JSON ContentType. +func (r JSON) WriteContentType(w http.ResponseWriter) { + writeContentType(w, jsonContentType) +} + +// WriteJSON marshals the given interface object and writes it with custom ContentType. +func WriteJSON(w http.ResponseWriter, obj interface{}) error { + writeContentType(w, jsonContentType) + jsonBytes, err := json.Marshal(obj) + if err != nil { + return err + } + _, err = w.Write(jsonBytes) + return err +} + +// Render (IndentedJSON) marshals the given interface object and writes it with custom ContentType. +func (r IndentedJSON) Render(w http.ResponseWriter) error { + r.WriteContentType(w) + jsonBytes, err := json.MarshalIndent(r.Data, "", " ") + if err != nil { + return err + } + _, err = w.Write(jsonBytes) + return err +} + +// WriteContentType (IndentedJSON) writes JSON ContentType. +func (r IndentedJSON) WriteContentType(w http.ResponseWriter) { + writeContentType(w, jsonContentType) +} + +// Render (SecureJSON) marshals the given interface object and writes it with custom ContentType. +func (r SecureJSON) Render(w http.ResponseWriter) error { + r.WriteContentType(w) + jsonBytes, err := json.Marshal(r.Data) + if err != nil { + return err + } + // if the jsonBytes is array values + if bytes.HasPrefix(jsonBytes, bytesconv.StringToBytes("[")) && bytes.HasSuffix(jsonBytes, + bytesconv.StringToBytes("]")) { + _, err = w.Write(bytesconv.StringToBytes(r.Prefix)) + if err != nil { + return err + } + } + _, err = w.Write(jsonBytes) + return err +} + +// WriteContentType (SecureJSON) writes JSON ContentType. +func (r SecureJSON) WriteContentType(w http.ResponseWriter) { + writeContentType(w, jsonContentType) +} + +// Render (JsonpJSON) marshals the given interface object and writes it and its callback with custom ContentType. +func (r JsonpJSON) Render(w http.ResponseWriter) (err error) { + r.WriteContentType(w) + ret, err := json.Marshal(r.Data) + if err != nil { + return err + } + + if r.Callback == "" { + _, err = w.Write(ret) + return err + } + + callback := template.JSEscapeString(r.Callback) + _, err = w.Write(bytesconv.StringToBytes(callback)) + if err != nil { + return err + } + _, err = w.Write(bytesconv.StringToBytes("(")) + if err != nil { + return err + } + _, err = w.Write(ret) + if err != nil { + return err + } + _, err = w.Write(bytesconv.StringToBytes(");")) + if err != nil { + return err + } + + return nil +} + +// WriteContentType (JsonpJSON) writes Javascript ContentType. +func (r JsonpJSON) WriteContentType(w http.ResponseWriter) { + writeContentType(w, jsonpContentType) +} + +// Render (AsciiJSON) marshals the given interface object and writes it with custom ContentType. +func (r AsciiJSON) Render(w http.ResponseWriter) (err error) { + r.WriteContentType(w) + ret, err := json.Marshal(r.Data) + if err != nil { + return err + } + + var buffer bytes.Buffer + for _, r := range bytesconv.BytesToString(ret) { + cvt := string(r) + if r >= 128 { + cvt = fmt.Sprintf("\\u%04x", int64(r)) + } + buffer.WriteString(cvt) + } + + _, err = w.Write(buffer.Bytes()) + return err +} + +// WriteContentType (AsciiJSON) writes JSON ContentType. +func (r AsciiJSON) WriteContentType(w http.ResponseWriter) { + writeContentType(w, jsonAsciiContentType) +} + +// Render (PureJSON) writes custom ContentType and encodes the given interface object. +func (r PureJSON) Render(w http.ResponseWriter) error { + r.WriteContentType(w) + encoder := json.NewEncoder(w) + encoder.SetEscapeHTML(false) + return encoder.Encode(r.Data) +} + +// WriteContentType (PureJSON) writes custom ContentType. +func (r PureJSON) WriteContentType(w http.ResponseWriter) { + writeContentType(w, jsonContentType) +} diff --git a/vendor/github.com/gin-gonic/gin/render/msgpack.go b/vendor/github.com/gin-gonic/gin/render/msgpack.go new file mode 100644 index 000000000..7f17ca4d9 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/msgpack.go @@ -0,0 +1,44 @@ +// Copyright 2017 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build !nomsgpack +// +build !nomsgpack + +package render + +import ( + "net/http" + + "github.com/ugorji/go/codec" +) + +// Check interface implemented here to support go build tag nomsgpack. +// See: https://github.com/gin-gonic/gin/pull/1852/ +var ( + _ Render = MsgPack{} +) + +// MsgPack contains the given interface object. +type MsgPack struct { + Data interface{} +} + +var msgpackContentType = []string{"application/msgpack; charset=utf-8"} + +// WriteContentType (MsgPack) writes MsgPack ContentType. +func (r MsgPack) WriteContentType(w http.ResponseWriter) { + writeContentType(w, msgpackContentType) +} + +// Render (MsgPack) encodes the given interface object and writes data with custom ContentType. +func (r MsgPack) Render(w http.ResponseWriter) error { + return WriteMsgPack(w, r.Data) +} + +// WriteMsgPack writes MsgPack ContentType and encodes the given interface object. +func WriteMsgPack(w http.ResponseWriter, obj interface{}) error { + writeContentType(w, msgpackContentType) + var mh codec.MsgpackHandle + return codec.NewEncoder(w, &mh).Encode(obj) +} diff --git a/vendor/github.com/gin-gonic/gin/render/protobuf.go b/vendor/github.com/gin-gonic/gin/render/protobuf.go new file mode 100644 index 000000000..15aca9959 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/protobuf.go @@ -0,0 +1,36 @@ +// Copyright 2018 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import ( + "net/http" + + "github.com/golang/protobuf/proto" +) + +// ProtoBuf contains the given interface object. +type ProtoBuf struct { + Data interface{} +} + +var protobufContentType = []string{"application/x-protobuf"} + +// Render (ProtoBuf) marshals the given interface object and writes data with custom ContentType. +func (r ProtoBuf) Render(w http.ResponseWriter) error { + r.WriteContentType(w) + + bytes, err := proto.Marshal(r.Data.(proto.Message)) + if err != nil { + return err + } + + _, err = w.Write(bytes) + return err +} + +// WriteContentType (ProtoBuf) writes ProtoBuf ContentType. +func (r ProtoBuf) WriteContentType(w http.ResponseWriter) { + writeContentType(w, protobufContentType) +} diff --git a/vendor/github.com/gin-gonic/gin/render/reader.go b/vendor/github.com/gin-gonic/gin/render/reader.go new file mode 100644 index 000000000..d5282e492 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/reader.go @@ -0,0 +1,48 @@ +// Copyright 2018 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import ( + "io" + "net/http" + "strconv" +) + +// Reader contains the IO reader and its length, and custom ContentType and other headers. +type Reader struct { + ContentType string + ContentLength int64 + Reader io.Reader + Headers map[string]string +} + +// Render (Reader) writes data with custom ContentType and headers. +func (r Reader) Render(w http.ResponseWriter) (err error) { + r.WriteContentType(w) + if r.ContentLength >= 0 { + if r.Headers == nil { + r.Headers = map[string]string{} + } + r.Headers["Content-Length"] = strconv.FormatInt(r.ContentLength, 10) + } + r.writeHeaders(w, r.Headers) + _, err = io.Copy(w, r.Reader) + return +} + +// WriteContentType (Reader) writes custom ContentType. +func (r Reader) WriteContentType(w http.ResponseWriter) { + writeContentType(w, []string{r.ContentType}) +} + +// writeHeaders writes custom Header. +func (r Reader) writeHeaders(w http.ResponseWriter, headers map[string]string) { + header := w.Header() + for k, v := range headers { + if header.Get(k) == "" { + header.Set(k, v) + } + } +} diff --git a/vendor/github.com/gin-gonic/gin/render/redirect.go b/vendor/github.com/gin-gonic/gin/render/redirect.go new file mode 100644 index 000000000..c006691ca --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/redirect.go @@ -0,0 +1,29 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import ( + "fmt" + "net/http" +) + +// Redirect contains the http request reference and redirects status code and location. +type Redirect struct { + Code int + Request *http.Request + Location string +} + +// Render (Redirect) redirects the http request to new location and writes redirect response. +func (r Redirect) Render(w http.ResponseWriter) error { + if (r.Code < http.StatusMultipleChoices || r.Code > http.StatusPermanentRedirect) && r.Code != http.StatusCreated { + panic(fmt.Sprintf("Cannot redirect with status code %d", r.Code)) + } + http.Redirect(w, r.Request, r.Location, r.Code) + return nil +} + +// WriteContentType (Redirect) don't write any ContentType. +func (r Redirect) WriteContentType(http.ResponseWriter) {} diff --git a/vendor/github.com/gin-gonic/gin/render/render.go b/vendor/github.com/gin-gonic/gin/render/render.go new file mode 100644 index 000000000..bcd568bfb --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/render.go @@ -0,0 +1,40 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import "net/http" + +// Render interface is to be implemented by JSON, XML, HTML, YAML and so on. +type Render interface { + // Render writes data with custom ContentType. + Render(http.ResponseWriter) error + // WriteContentType writes custom ContentType. + WriteContentType(w http.ResponseWriter) +} + +var ( + _ Render = JSON{} + _ Render = IndentedJSON{} + _ Render = SecureJSON{} + _ Render = JsonpJSON{} + _ Render = XML{} + _ Render = String{} + _ Render = Redirect{} + _ Render = Data{} + _ Render = HTML{} + _ HTMLRender = HTMLDebug{} + _ HTMLRender = HTMLProduction{} + _ Render = YAML{} + _ Render = Reader{} + _ Render = AsciiJSON{} + _ Render = ProtoBuf{} +) + +func writeContentType(w http.ResponseWriter, value []string) { + header := w.Header() + if val := header["Content-Type"]; len(val) == 0 { + header["Content-Type"] = value + } +} diff --git a/vendor/github.com/gin-gonic/gin/render/text.go b/vendor/github.com/gin-gonic/gin/render/text.go new file mode 100644 index 000000000..461b720af --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/text.go @@ -0,0 +1,41 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import ( + "fmt" + "net/http" + + "github.com/gin-gonic/gin/internal/bytesconv" +) + +// String contains the given interface object slice and its format. +type String struct { + Format string + Data []interface{} +} + +var plainContentType = []string{"text/plain; charset=utf-8"} + +// Render (String) writes data with custom ContentType. +func (r String) Render(w http.ResponseWriter) error { + return WriteString(w, r.Format, r.Data) +} + +// WriteContentType (String) writes Plain ContentType. +func (r String) WriteContentType(w http.ResponseWriter) { + writeContentType(w, plainContentType) +} + +// WriteString writes data according to its format and write custom ContentType. +func WriteString(w http.ResponseWriter, format string, data []interface{}) (err error) { + writeContentType(w, plainContentType) + if len(data) > 0 { + _, err = fmt.Fprintf(w, format, data...) + return + } + _, err = w.Write(bytesconv.StringToBytes(format)) + return +} diff --git a/vendor/github.com/gin-gonic/gin/render/xml.go b/vendor/github.com/gin-gonic/gin/render/xml.go new file mode 100644 index 000000000..cc5390a2d --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/xml.go @@ -0,0 +1,28 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import ( + "encoding/xml" + "net/http" +) + +// XML contains the given interface object. +type XML struct { + Data interface{} +} + +var xmlContentType = []string{"application/xml; charset=utf-8"} + +// Render (XML) encodes the given interface object and writes data with custom ContentType. +func (r XML) Render(w http.ResponseWriter) error { + r.WriteContentType(w) + return xml.NewEncoder(w).Encode(r.Data) +} + +// WriteContentType (XML) writes XML ContentType for response. +func (r XML) WriteContentType(w http.ResponseWriter) { + writeContentType(w, xmlContentType) +} diff --git a/vendor/github.com/gin-gonic/gin/render/yaml.go b/vendor/github.com/gin-gonic/gin/render/yaml.go new file mode 100644 index 000000000..0df783608 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/render/yaml.go @@ -0,0 +1,36 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package render + +import ( + "net/http" + + "gopkg.in/yaml.v2" +) + +// YAML contains the given interface object. +type YAML struct { + Data interface{} +} + +var yamlContentType = []string{"application/x-yaml; charset=utf-8"} + +// Render (YAML) marshals the given interface object and writes data with custom ContentType. +func (r YAML) Render(w http.ResponseWriter) error { + r.WriteContentType(w) + + bytes, err := yaml.Marshal(r.Data) + if err != nil { + return err + } + + _, err = w.Write(bytes) + return err +} + +// WriteContentType (YAML) writes YAML ContentType for response. +func (r YAML) WriteContentType(w http.ResponseWriter) { + writeContentType(w, yamlContentType) +} diff --git a/vendor/github.com/gin-gonic/gin/response_writer.go b/vendor/github.com/gin-gonic/gin/response_writer.go new file mode 100644 index 000000000..26826689a --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/response_writer.go @@ -0,0 +1,126 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "bufio" + "io" + "net" + "net/http" +) + +const ( + noWritten = -1 + defaultStatus = http.StatusOK +) + +// ResponseWriter ... +type ResponseWriter interface { + http.ResponseWriter + http.Hijacker + http.Flusher + http.CloseNotifier + + // Returns the HTTP response status code of the current request. + Status() int + + // Returns the number of bytes already written into the response http body. + // See Written() + Size() int + + // Writes the string into the response body. + WriteString(string) (int, error) + + // Returns true if the response body was already written. + Written() bool + + // Forces to write the http header (status code + headers). + WriteHeaderNow() + + // get the http.Pusher for server push + Pusher() http.Pusher +} + +type responseWriter struct { + http.ResponseWriter + size int + status int +} + +var _ ResponseWriter = &responseWriter{} + +func (w *responseWriter) reset(writer http.ResponseWriter) { + w.ResponseWriter = writer + w.size = noWritten + w.status = defaultStatus +} + +func (w *responseWriter) WriteHeader(code int) { + if code > 0 && w.status != code { + if w.Written() { + debugPrint("[WARNING] Headers were already written. Wanted to override status code %d with %d", w.status, code) + } + w.status = code + } +} + +func (w *responseWriter) WriteHeaderNow() { + if !w.Written() { + w.size = 0 + w.ResponseWriter.WriteHeader(w.status) + } +} + +func (w *responseWriter) Write(data []byte) (n int, err error) { + w.WriteHeaderNow() + n, err = w.ResponseWriter.Write(data) + w.size += n + return +} + +func (w *responseWriter) WriteString(s string) (n int, err error) { + w.WriteHeaderNow() + n, err = io.WriteString(w.ResponseWriter, s) + w.size += n + return +} + +func (w *responseWriter) Status() int { + return w.status +} + +func (w *responseWriter) Size() int { + return w.size +} + +func (w *responseWriter) Written() bool { + return w.size != noWritten +} + +// Hijack implements the http.Hijacker interface. +func (w *responseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + if w.size < 0 { + w.size = 0 + } + return w.ResponseWriter.(http.Hijacker).Hijack() +} + +// CloseNotify implements the http.CloseNotify interface. +func (w *responseWriter) CloseNotify() <-chan bool { + return w.ResponseWriter.(http.CloseNotifier).CloseNotify() +} + +// Flush implements the http.Flush interface. +func (w *responseWriter) Flush() { + w.WriteHeaderNow() + w.ResponseWriter.(http.Flusher).Flush() +} + +func (w *responseWriter) Pusher() (pusher http.Pusher) { + if pusher, ok := w.ResponseWriter.(http.Pusher); ok { + return pusher + } + return nil +} diff --git a/vendor/github.com/gin-gonic/gin/routergroup.go b/vendor/github.com/gin-gonic/gin/routergroup.go new file mode 100644 index 000000000..bb24bd523 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/routergroup.go @@ -0,0 +1,233 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "net/http" + "path" + "regexp" + "strings" +) + +var ( + // reg match english letters for http method name + regEnLetter = regexp.MustCompile("^[A-Z]+$") +) + +// IRouter defines all router handle interface includes single and group router. +type IRouter interface { + IRoutes + Group(string, ...HandlerFunc) *RouterGroup +} + +// IRoutes defines all router handle interface. +type IRoutes interface { + Use(...HandlerFunc) IRoutes + + Handle(string, string, ...HandlerFunc) IRoutes + Any(string, ...HandlerFunc) IRoutes + GET(string, ...HandlerFunc) IRoutes + POST(string, ...HandlerFunc) IRoutes + DELETE(string, ...HandlerFunc) IRoutes + PATCH(string, ...HandlerFunc) IRoutes + PUT(string, ...HandlerFunc) IRoutes + OPTIONS(string, ...HandlerFunc) IRoutes + HEAD(string, ...HandlerFunc) IRoutes + + StaticFile(string, string) IRoutes + Static(string, string) IRoutes + StaticFS(string, http.FileSystem) IRoutes +} + +// RouterGroup is used internally to configure router, a RouterGroup is associated with +// a prefix and an array of handlers (middleware). +type RouterGroup struct { + Handlers HandlersChain + basePath string + engine *Engine + root bool +} + +var _ IRouter = &RouterGroup{} + +// Use adds middleware to the group, see example code in GitHub. +func (group *RouterGroup) Use(middleware ...HandlerFunc) IRoutes { + group.Handlers = append(group.Handlers, middleware...) + return group.returnObj() +} + +// Group creates a new router group. You should add all the routes that have common middlewares or the same path prefix. +// For example, all the routes that use a common middleware for authorization could be grouped. +func (group *RouterGroup) Group(relativePath string, handlers ...HandlerFunc) *RouterGroup { + return &RouterGroup{ + Handlers: group.combineHandlers(handlers), + basePath: group.calculateAbsolutePath(relativePath), + engine: group.engine, + } +} + +// BasePath returns the base path of router group. +// For example, if v := router.Group("/rest/n/v1/api"), v.BasePath() is "/rest/n/v1/api". +func (group *RouterGroup) BasePath() string { + return group.basePath +} + +func (group *RouterGroup) handle(httpMethod, relativePath string, handlers HandlersChain) IRoutes { + absolutePath := group.calculateAbsolutePath(relativePath) + handlers = group.combineHandlers(handlers) + group.engine.addRoute(httpMethod, absolutePath, handlers) + return group.returnObj() +} + +// Handle registers a new request handle and middleware with the given path and method. +// The last handler should be the real handler, the other ones should be middleware that can and should be shared among different routes. +// See the example code in GitHub. +// +// For GET, POST, PUT, PATCH and DELETE requests the respective shortcut +// functions can be used. +// +// This function is intended for bulk loading and to allow the usage of less +// frequently used, non-standardized or custom methods (e.g. for internal +// communication with a proxy). +func (group *RouterGroup) Handle(httpMethod, relativePath string, handlers ...HandlerFunc) IRoutes { + if matched := regEnLetter.MatchString(httpMethod); !matched { + panic("http method " + httpMethod + " is not valid") + } + return group.handle(httpMethod, relativePath, handlers) +} + +// POST is a shortcut for router.Handle("POST", path, handle). +func (group *RouterGroup) POST(relativePath string, handlers ...HandlerFunc) IRoutes { + return group.handle(http.MethodPost, relativePath, handlers) +} + +// GET is a shortcut for router.Handle("GET", path, handle). +func (group *RouterGroup) GET(relativePath string, handlers ...HandlerFunc) IRoutes { + return group.handle(http.MethodGet, relativePath, handlers) +} + +// DELETE is a shortcut for router.Handle("DELETE", path, handle). +func (group *RouterGroup) DELETE(relativePath string, handlers ...HandlerFunc) IRoutes { + return group.handle(http.MethodDelete, relativePath, handlers) +} + +// PATCH is a shortcut for router.Handle("PATCH", path, handle). +func (group *RouterGroup) PATCH(relativePath string, handlers ...HandlerFunc) IRoutes { + return group.handle(http.MethodPatch, relativePath, handlers) +} + +// PUT is a shortcut for router.Handle("PUT", path, handle). +func (group *RouterGroup) PUT(relativePath string, handlers ...HandlerFunc) IRoutes { + return group.handle(http.MethodPut, relativePath, handlers) +} + +// OPTIONS is a shortcut for router.Handle("OPTIONS", path, handle). +func (group *RouterGroup) OPTIONS(relativePath string, handlers ...HandlerFunc) IRoutes { + return group.handle(http.MethodOptions, relativePath, handlers) +} + +// HEAD is a shortcut for router.Handle("HEAD", path, handle). +func (group *RouterGroup) HEAD(relativePath string, handlers ...HandlerFunc) IRoutes { + return group.handle(http.MethodHead, relativePath, handlers) +} + +// Any registers a route that matches all the HTTP methods. +// GET, POST, PUT, PATCH, HEAD, OPTIONS, DELETE, CONNECT, TRACE. +func (group *RouterGroup) Any(relativePath string, handlers ...HandlerFunc) IRoutes { + group.handle(http.MethodGet, relativePath, handlers) + group.handle(http.MethodPost, relativePath, handlers) + group.handle(http.MethodPut, relativePath, handlers) + group.handle(http.MethodPatch, relativePath, handlers) + group.handle(http.MethodHead, relativePath, handlers) + group.handle(http.MethodOptions, relativePath, handlers) + group.handle(http.MethodDelete, relativePath, handlers) + group.handle(http.MethodConnect, relativePath, handlers) + group.handle(http.MethodTrace, relativePath, handlers) + return group.returnObj() +} + +// StaticFile registers a single route in order to serve a single file of the local filesystem. +// router.StaticFile("favicon.ico", "./resources/favicon.ico") +func (group *RouterGroup) StaticFile(relativePath, filepath string) IRoutes { + if strings.Contains(relativePath, ":") || strings.Contains(relativePath, "*") { + panic("URL parameters can not be used when serving a static file") + } + handler := func(c *Context) { + c.File(filepath) + } + group.GET(relativePath, handler) + group.HEAD(relativePath, handler) + return group.returnObj() +} + +// Static serves files from the given file system root. +// Internally a http.FileServer is used, therefore http.NotFound is used instead +// of the Router's NotFound handler. +// To use the operating system's file system implementation, +// use : +// router.Static("/static", "/var/www") +func (group *RouterGroup) Static(relativePath, root string) IRoutes { + return group.StaticFS(relativePath, Dir(root, false)) +} + +// StaticFS works just like `Static()` but a custom `http.FileSystem` can be used instead. +// Gin by default user: gin.Dir() +func (group *RouterGroup) StaticFS(relativePath string, fs http.FileSystem) IRoutes { + if strings.Contains(relativePath, ":") || strings.Contains(relativePath, "*") { + panic("URL parameters can not be used when serving a static folder") + } + handler := group.createStaticHandler(relativePath, fs) + urlPattern := path.Join(relativePath, "/*filepath") + + // Register GET and HEAD handlers + group.GET(urlPattern, handler) + group.HEAD(urlPattern, handler) + return group.returnObj() +} + +func (group *RouterGroup) createStaticHandler(relativePath string, fs http.FileSystem) HandlerFunc { + absolutePath := group.calculateAbsolutePath(relativePath) + fileServer := http.StripPrefix(absolutePath, http.FileServer(fs)) + + return func(c *Context) { + if _, noListing := fs.(*onlyFilesFS); noListing { + c.Writer.WriteHeader(http.StatusNotFound) + } + + file := c.Param("filepath") + // Check if file exists and/or if we have permission to access it + f, err := fs.Open(file) + if err != nil { + c.Writer.WriteHeader(http.StatusNotFound) + c.handlers = group.engine.noRoute + // Reset index + c.index = -1 + return + } + f.Close() + + fileServer.ServeHTTP(c.Writer, c.Request) + } +} + +func (group *RouterGroup) combineHandlers(handlers HandlersChain) HandlersChain { + finalSize := len(group.Handlers) + len(handlers) + assert1(finalSize < int(abortIndex), "too many handlers") + mergedHandlers := make(HandlersChain, finalSize) + copy(mergedHandlers, group.Handlers) + copy(mergedHandlers[len(group.Handlers):], handlers) + return mergedHandlers +} + +func (group *RouterGroup) calculateAbsolutePath(relativePath string) string { + return joinPaths(group.basePath, relativePath) +} + +func (group *RouterGroup) returnObj() IRoutes { + if group.root { + return group.engine + } + return group +} diff --git a/vendor/github.com/gin-gonic/gin/test_helpers.go b/vendor/github.com/gin-gonic/gin/test_helpers.go new file mode 100644 index 000000000..3a7a5ddf6 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/test_helpers.go @@ -0,0 +1,16 @@ +// Copyright 2017 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import "net/http" + +// CreateTestContext returns a fresh engine and context for testing purposes +func CreateTestContext(w http.ResponseWriter) (c *Context, r *Engine) { + r = New() + c = r.allocateContext() + c.reset() + c.writermem.reset(w) + return +} diff --git a/vendor/github.com/gin-gonic/gin/tree.go b/vendor/github.com/gin-gonic/gin/tree.go new file mode 100644 index 000000000..2e46b8e51 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/tree.go @@ -0,0 +1,842 @@ +// Copyright 2013 Julien Schmidt. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be found +// at https://github.com/julienschmidt/httprouter/blob/master/LICENSE + +package gin + +import ( + "bytes" + "net/url" + "strings" + "unicode" + "unicode/utf8" + + "github.com/gin-gonic/gin/internal/bytesconv" +) + +var ( + strColon = []byte(":") + strStar = []byte("*") +) + +// Param is a single URL parameter, consisting of a key and a value. +type Param struct { + Key string + Value string +} + +// Params is a Param-slice, as returned by the router. +// The slice is ordered, the first URL parameter is also the first slice value. +// It is therefore safe to read values by the index. +type Params []Param + +// Get returns the value of the first Param which key matches the given name and a boolean true. +// If no matching Param is found, an empty string is returned and a boolean false . +func (ps Params) Get(name string) (string, bool) { + for _, entry := range ps { + if entry.Key == name { + return entry.Value, true + } + } + return "", false +} + +// ByName returns the value of the first Param which key matches the given name. +// If no matching Param is found, an empty string is returned. +func (ps Params) ByName(name string) (va string) { + va, _ = ps.Get(name) + return +} + +type methodTree struct { + method string + root *node +} + +type methodTrees []methodTree + +func (trees methodTrees) get(method string) *node { + for _, tree := range trees { + if tree.method == method { + return tree.root + } + } + return nil +} + +func min(a, b int) int { + if a <= b { + return a + } + return b +} + +func longestCommonPrefix(a, b string) int { + i := 0 + max := min(len(a), len(b)) + for i < max && a[i] == b[i] { + i++ + } + return i +} + +// addChild will add a child node, keeping wildcards at the end +func (n *node) addChild(child *node) { + if n.wildChild && len(n.children) > 0 { + wildcardChild := n.children[len(n.children)-1] + n.children = append(n.children[:len(n.children)-1], child, wildcardChild) + } else { + n.children = append(n.children, child) + } +} + +func countParams(path string) uint16 { + var n uint16 + s := bytesconv.StringToBytes(path) + n += uint16(bytes.Count(s, strColon)) + n += uint16(bytes.Count(s, strStar)) + return n +} + +type nodeType uint8 + +const ( + static nodeType = iota // default + root + param + catchAll +) + +type node struct { + path string + indices string + wildChild bool + nType nodeType + priority uint32 + children []*node // child nodes, at most 1 :param style node at the end of the array + handlers HandlersChain + fullPath string +} + +// Increments priority of the given child and reorders if necessary +func (n *node) incrementChildPrio(pos int) int { + cs := n.children + cs[pos].priority++ + prio := cs[pos].priority + + // Adjust position (move to front) + newPos := pos + for ; newPos > 0 && cs[newPos-1].priority < prio; newPos-- { + // Swap node positions + cs[newPos-1], cs[newPos] = cs[newPos], cs[newPos-1] + } + + // Build new index char string + if newPos != pos { + n.indices = n.indices[:newPos] + // Unchanged prefix, might be empty + n.indices[pos:pos+1] + // The index char we move + n.indices[newPos:pos] + n.indices[pos+1:] // Rest without char at 'pos' + } + + return newPos +} + +// addRoute adds a node with the given handle to the path. +// Not concurrency-safe! +func (n *node) addRoute(path string, handlers HandlersChain) { + fullPath := path + n.priority++ + + // Empty tree + if len(n.path) == 0 && len(n.children) == 0 { + n.insertChild(path, fullPath, handlers) + n.nType = root + return + } + + parentFullPathIndex := 0 + +walk: + for { + // Find the longest common prefix. + // This also implies that the common prefix contains no ':' or '*' + // since the existing key can't contain those chars. + i := longestCommonPrefix(path, n.path) + + // Split edge + if i < len(n.path) { + child := node{ + path: n.path[i:], + wildChild: n.wildChild, + indices: n.indices, + children: n.children, + handlers: n.handlers, + priority: n.priority - 1, + fullPath: n.fullPath, + } + + n.children = []*node{&child} + // []byte for proper unicode char conversion, see #65 + n.indices = bytesconv.BytesToString([]byte{n.path[i]}) + n.path = path[:i] + n.handlers = nil + n.wildChild = false + n.fullPath = fullPath[:parentFullPathIndex+i] + } + + // Make new node a child of this node + if i < len(path) { + path = path[i:] + c := path[0] + + // '/' after param + if n.nType == param && c == '/' && len(n.children) == 1 { + parentFullPathIndex += len(n.path) + n = n.children[0] + n.priority++ + continue walk + } + + // Check if a child with the next path byte exists + for i, max := 0, len(n.indices); i < max; i++ { + if c == n.indices[i] { + parentFullPathIndex += len(n.path) + i = n.incrementChildPrio(i) + n = n.children[i] + continue walk + } + } + + // Otherwise insert it + if c != ':' && c != '*' && n.nType != catchAll { + // []byte for proper unicode char conversion, see #65 + n.indices += bytesconv.BytesToString([]byte{c}) + child := &node{ + fullPath: fullPath, + } + n.addChild(child) + n.incrementChildPrio(len(n.indices) - 1) + n = child + } else if n.wildChild { + // inserting a wildcard node, need to check if it conflicts with the existing wildcard + n = n.children[len(n.children)-1] + n.priority++ + + // Check if the wildcard matches + if len(path) >= len(n.path) && n.path == path[:len(n.path)] && + // Adding a child to a catchAll is not possible + n.nType != catchAll && + // Check for longer wildcard, e.g. :name and :names + (len(n.path) >= len(path) || path[len(n.path)] == '/') { + continue walk + } + + // Wildcard conflict + pathSeg := path + if n.nType != catchAll { + pathSeg = strings.SplitN(pathSeg, "/", 2)[0] + } + prefix := fullPath[:strings.Index(fullPath, pathSeg)] + n.path + panic("'" + pathSeg + + "' in new path '" + fullPath + + "' conflicts with existing wildcard '" + n.path + + "' in existing prefix '" + prefix + + "'") + } + + n.insertChild(path, fullPath, handlers) + return + } + + // Otherwise add handle to current node + if n.handlers != nil { + panic("handlers are already registered for path '" + fullPath + "'") + } + n.handlers = handlers + n.fullPath = fullPath + return + } +} + +// Search for a wildcard segment and check the name for invalid characters. +// Returns -1 as index, if no wildcard was found. +func findWildcard(path string) (wildcard string, i int, valid bool) { + // Find start + for start, c := range []byte(path) { + // A wildcard starts with ':' (param) or '*' (catch-all) + if c != ':' && c != '*' { + continue + } + + // Find end and check for invalid characters + valid = true + for end, c := range []byte(path[start+1:]) { + switch c { + case '/': + return path[start : start+1+end], start, valid + case ':', '*': + valid = false + } + } + return path[start:], start, valid + } + return "", -1, false +} + +func (n *node) insertChild(path string, fullPath string, handlers HandlersChain) { + for { + // Find prefix until first wildcard + wildcard, i, valid := findWildcard(path) + if i < 0 { // No wildcard found + break + } + + // The wildcard name must not contain ':' and '*' + if !valid { + panic("only one wildcard per path segment is allowed, has: '" + + wildcard + "' in path '" + fullPath + "'") + } + + // check if the wildcard has a name + if len(wildcard) < 2 { + panic("wildcards must be named with a non-empty name in path '" + fullPath + "'") + } + + if wildcard[0] == ':' { // param + if i > 0 { + // Insert prefix before the current wildcard + n.path = path[:i] + path = path[i:] + } + + child := &node{ + nType: param, + path: wildcard, + fullPath: fullPath, + } + n.addChild(child) + n.wildChild = true + n = child + n.priority++ + + // if the path doesn't end with the wildcard, then there + // will be another non-wildcard subpath starting with '/' + if len(wildcard) < len(path) { + path = path[len(wildcard):] + + child := &node{ + priority: 1, + fullPath: fullPath, + } + n.addChild(child) + n = child + continue + } + + // Otherwise we're done. Insert the handle in the new leaf + n.handlers = handlers + return + } + + // catchAll + if i+len(wildcard) != len(path) { + panic("catch-all routes are only allowed at the end of the path in path '" + fullPath + "'") + } + + if len(n.path) > 0 && n.path[len(n.path)-1] == '/' { + panic("catch-all conflicts with existing handle for the path segment root in path '" + fullPath + "'") + } + + // currently fixed width 1 for '/' + i-- + if path[i] != '/' { + panic("no / before catch-all in path '" + fullPath + "'") + } + + n.path = path[:i] + + // First node: catchAll node with empty path + child := &node{ + wildChild: true, + nType: catchAll, + fullPath: fullPath, + } + + n.addChild(child) + n.indices = string('/') + n = child + n.priority++ + + // second node: node holding the variable + child = &node{ + path: path[i:], + nType: catchAll, + handlers: handlers, + priority: 1, + fullPath: fullPath, + } + n.children = []*node{child} + + return + } + + // If no wildcard was found, simply insert the path and handle + n.path = path + n.handlers = handlers + n.fullPath = fullPath +} + +// nodeValue holds return values of (*Node).getValue method +type nodeValue struct { + handlers HandlersChain + params *Params + tsr bool + fullPath string +} + +// Returns the handle registered with the given path (key). The values of +// wildcards are saved to a map. +// If no handle can be found, a TSR (trailing slash redirect) recommendation is +// made if a handle exists with an extra (without the) trailing slash for the +// given path. +func (n *node) getValue(path string, params *Params, unescape bool) (value nodeValue) { + // path: /abc/123/def + // level 1 router:abc + // level 2 router:123 + // level 3 router:def + var ( + skippedPath string + latestNode = n // not found `level 2 router` use latestNode + + // match '/' count + // matchNum < 1: `level 2 router` not found,the current node needs to be equal to latestNode + // matchNum >= 1: `level (2 or 3 or 4 or ...) router`: Normal handling + matchNum int // each match will accumulate + ) + //if path == "/", no need to look for tree node + if len(path) == 1 { + matchNum = 1 + } + +walk: // Outer loop for walking the tree + for { + prefix := n.path + if len(path) > len(prefix) { + if path[:len(prefix)] == prefix { + path = path[len(prefix):] + + // Try all the non-wildcard children first by matching the indices + idxc := path[0] + for i, c := range []byte(n.indices) { + if c == idxc { + // strings.HasPrefix(n.children[len(n.children)-1].path, ":") == n.wildChild + if n.wildChild { + skippedPath = prefix + path + latestNode = &node{ + path: n.path, + wildChild: n.wildChild, + nType: n.nType, + priority: n.priority, + children: n.children, + handlers: n.handlers, + fullPath: n.fullPath, + } + } + + n = n.children[i] + + // match '/', If this condition is matched, the next route is found + if (len(n.fullPath) != 0 && n.wildChild) || path[len(path)-1] == '/' { + matchNum++ + } + continue walk + } + } + + // level 2 router not found,the current node needs to be equal to latestNode + if matchNum < 1 { + n = latestNode + } + + // If there is no wildcard pattern, recommend a redirection + if !n.wildChild { + // Nothing found. + // We can recommend to redirect to the same URL without a + // trailing slash if a leaf exists for that path. + value.tsr = path == "/" && n.handlers != nil + return + } + + // Handle wildcard child, which is always at the end of the array + n = n.children[len(n.children)-1] + + switch n.nType { + case param: + // Find param end (either '/' or path end) + end := 0 + for end < len(path) && path[end] != '/' { + end++ + } + + // Save param value + if params != nil && cap(*params) > 0 { + if value.params == nil { + value.params = params + } + // Expand slice within preallocated capacity + i := len(*value.params) + *value.params = (*value.params)[:i+1] + val := path[:end] + if unescape { + if v, err := url.QueryUnescape(val); err == nil { + val = v + } + } + (*value.params)[i] = Param{ + Key: n.path[1:], + Value: val, + } + } + + // we need to go deeper! + if end < len(path) { + if len(n.children) > 0 { + path = path[end:] + n = n.children[0] + // next node,the latestNode needs to be equal to currentNode and handle next router + latestNode = n + // not found router in (level 1 router and handle next node),skippedPath cannot execute + // example: + // * /:cc/cc + // call /a/cc expectations:match/200 Actual:match/200 + // call /a/dd expectations:unmatch/404 Actual: panic + // call /addr/dd/aa expectations:unmatch/404 Actual: panic + // skippedPath: It can only be executed if the secondary route is not found + // matchNum: Go to the next level of routing tree node search,need add matchNum + skippedPath = "" + matchNum++ + continue walk + } + + // ... but we can't + value.tsr = len(path) == end+1 + return + } + + if value.handlers = n.handlers; value.handlers != nil { + value.fullPath = n.fullPath + return + } + if len(n.children) == 1 { + // No handle found. Check if a handle for this path + a + // trailing slash exists for TSR recommendation + n = n.children[0] + value.tsr = n.path == "/" && n.handlers != nil + } + return + + case catchAll: + // Save param value + if params != nil { + if value.params == nil { + value.params = params + } + // Expand slice within preallocated capacity + i := len(*value.params) + *value.params = (*value.params)[:i+1] + val := path + if unescape { + if v, err := url.QueryUnescape(path); err == nil { + val = v + } + } + (*value.params)[i] = Param{ + Key: n.path[2:], + Value: val, + } + } + + value.handlers = n.handlers + value.fullPath = n.fullPath + return + + default: + panic("invalid node type") + } + } + } + + if path == prefix { + // level 2 router not found and latestNode.wildChild is true + if matchNum < 1 && latestNode.wildChild { + n = latestNode.children[len(latestNode.children)-1] + } + // We should have reached the node containing the handle. + // Check if this node has a handle registered. + if value.handlers = n.handlers; value.handlers != nil { + value.fullPath = n.fullPath + return + } + + // If there is no handle for this route, but this route has a + // wildcard child, there must be a handle for this path with an + // additional trailing slash + if path == "/" && n.wildChild && n.nType != root { + value.tsr = true + return + } + + // No handle found. Check if a handle for this path + a + // trailing slash exists for trailing slash recommendation + for i, c := range []byte(n.indices) { + if c == '/' { + n = n.children[i] + value.tsr = (len(n.path) == 1 && n.handlers != nil) || + (n.nType == catchAll && n.children[0].handlers != nil) + return + } + } + + return + } + + // path != "/" && skippedPath != "" + if len(path) != 1 && len(skippedPath) > 0 && strings.HasSuffix(skippedPath, path) { + path = skippedPath + n = latestNode + skippedPath = "" + continue walk + } + + // Nothing found. We can recommend to redirect to the same URL with an + // extra trailing slash if a leaf exists for that path + value.tsr = path == "/" || + (len(prefix) == len(path)+1 && n.handlers != nil) + return + } +} + +// Makes a case-insensitive lookup of the given path and tries to find a handler. +// It can optionally also fix trailing slashes. +// It returns the case-corrected path and a bool indicating whether the lookup +// was successful. +func (n *node) findCaseInsensitivePath(path string, fixTrailingSlash bool) ([]byte, bool) { + const stackBufSize = 128 + + // Use a static sized buffer on the stack in the common case. + // If the path is too long, allocate a buffer on the heap instead. + buf := make([]byte, 0, stackBufSize) + if length := len(path) + 1; length > stackBufSize { + buf = make([]byte, 0, length) + } + + ciPath := n.findCaseInsensitivePathRec( + path, + buf, // Preallocate enough memory for new path + [4]byte{}, // Empty rune buffer + fixTrailingSlash, + ) + + return ciPath, ciPath != nil +} + +// Shift bytes in array by n bytes left +func shiftNRuneBytes(rb [4]byte, n int) [4]byte { + switch n { + case 0: + return rb + case 1: + return [4]byte{rb[1], rb[2], rb[3], 0} + case 2: + return [4]byte{rb[2], rb[3]} + case 3: + return [4]byte{rb[3]} + default: + return [4]byte{} + } +} + +// Recursive case-insensitive lookup function used by n.findCaseInsensitivePath +func (n *node) findCaseInsensitivePathRec(path string, ciPath []byte, rb [4]byte, fixTrailingSlash bool) []byte { + npLen := len(n.path) + +walk: // Outer loop for walking the tree + for len(path) >= npLen && (npLen == 0 || strings.EqualFold(path[1:npLen], n.path[1:])) { + // Add common prefix to result + oldPath := path + path = path[npLen:] + ciPath = append(ciPath, n.path...) + + if len(path) == 0 { + // We should have reached the node containing the handle. + // Check if this node has a handle registered. + if n.handlers != nil { + return ciPath + } + + // No handle found. + // Try to fix the path by adding a trailing slash + if fixTrailingSlash { + for i, c := range []byte(n.indices) { + if c == '/' { + n = n.children[i] + if (len(n.path) == 1 && n.handlers != nil) || + (n.nType == catchAll && n.children[0].handlers != nil) { + return append(ciPath, '/') + } + return nil + } + } + } + return nil + } + + // If this node does not have a wildcard (param or catchAll) child, + // we can just look up the next child node and continue to walk down + // the tree + if !n.wildChild { + // Skip rune bytes already processed + rb = shiftNRuneBytes(rb, npLen) + + if rb[0] != 0 { + // Old rune not finished + idxc := rb[0] + for i, c := range []byte(n.indices) { + if c == idxc { + // continue with child node + n = n.children[i] + npLen = len(n.path) + continue walk + } + } + } else { + // Process a new rune + var rv rune + + // Find rune start. + // Runes are up to 4 byte long, + // -4 would definitely be another rune. + var off int + for max := min(npLen, 3); off < max; off++ { + if i := npLen - off; utf8.RuneStart(oldPath[i]) { + // read rune from cached path + rv, _ = utf8.DecodeRuneInString(oldPath[i:]) + break + } + } + + // Calculate lowercase bytes of current rune + lo := unicode.ToLower(rv) + utf8.EncodeRune(rb[:], lo) + + // Skip already processed bytes + rb = shiftNRuneBytes(rb, off) + + idxc := rb[0] + for i, c := range []byte(n.indices) { + // Lowercase matches + if c == idxc { + // must use a recursive approach since both the + // uppercase byte and the lowercase byte might exist + // as an index + if out := n.children[i].findCaseInsensitivePathRec( + path, ciPath, rb, fixTrailingSlash, + ); out != nil { + return out + } + break + } + } + + // If we found no match, the same for the uppercase rune, + // if it differs + if up := unicode.ToUpper(rv); up != lo { + utf8.EncodeRune(rb[:], up) + rb = shiftNRuneBytes(rb, off) + + idxc := rb[0] + for i, c := range []byte(n.indices) { + // Uppercase matches + if c == idxc { + // Continue with child node + n = n.children[i] + npLen = len(n.path) + continue walk + } + } + } + } + + // Nothing found. We can recommend to redirect to the same URL + // without a trailing slash if a leaf exists for that path + if fixTrailingSlash && path == "/" && n.handlers != nil { + return ciPath + } + return nil + } + + n = n.children[0] + switch n.nType { + case param: + // Find param end (either '/' or path end) + end := 0 + for end < len(path) && path[end] != '/' { + end++ + } + + // Add param value to case insensitive path + ciPath = append(ciPath, path[:end]...) + + // We need to go deeper! + if end < len(path) { + if len(n.children) > 0 { + // Continue with child node + n = n.children[0] + npLen = len(n.path) + path = path[end:] + continue + } + + // ... but we can't + if fixTrailingSlash && len(path) == end+1 { + return ciPath + } + return nil + } + + if n.handlers != nil { + return ciPath + } + + if fixTrailingSlash && len(n.children) == 1 { + // No handle found. Check if a handle for this path + a + // trailing slash exists + n = n.children[0] + if n.path == "/" && n.handlers != nil { + return append(ciPath, '/') + } + } + + return nil + + case catchAll: + return append(ciPath, path...) + + default: + panic("invalid node type") + } + } + + // Nothing found. + // Try to fix the path by adding / removing a trailing slash + if fixTrailingSlash { + if path == "/" { + return ciPath + } + if len(path)+1 == npLen && n.path[len(path)] == '/' && + strings.EqualFold(path[1:], n.path[1:len(path)]) && n.handlers != nil { + return append(ciPath, n.path...) + } + } + return nil +} diff --git a/vendor/github.com/gin-gonic/gin/utils.go b/vendor/github.com/gin-gonic/gin/utils.go new file mode 100644 index 000000000..c32f0eeb0 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/utils.go @@ -0,0 +1,153 @@ +// Copyright 2014 Manu Martinez-Almeida. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +import ( + "encoding/xml" + "net/http" + "os" + "path" + "reflect" + "runtime" + "strings" +) + +// BindKey indicates a default bind key. +const BindKey = "_gin-gonic/gin/bindkey" + +// Bind is a helper function for given interface object and returns a Gin middleware. +func Bind(val interface{}) HandlerFunc { + value := reflect.ValueOf(val) + if value.Kind() == reflect.Ptr { + panic(`Bind struct can not be a pointer. Example: + Use: gin.Bind(Struct{}) instead of gin.Bind(&Struct{}) +`) + } + typ := value.Type() + + return func(c *Context) { + obj := reflect.New(typ).Interface() + if c.Bind(obj) == nil { + c.Set(BindKey, obj) + } + } +} + +// WrapF is a helper function for wrapping http.HandlerFunc and returns a Gin middleware. +func WrapF(f http.HandlerFunc) HandlerFunc { + return func(c *Context) { + f(c.Writer, c.Request) + } +} + +// WrapH is a helper function for wrapping http.Handler and returns a Gin middleware. +func WrapH(h http.Handler) HandlerFunc { + return func(c *Context) { + h.ServeHTTP(c.Writer, c.Request) + } +} + +// H is a shortcut for map[string]interface{} +type H map[string]interface{} + +// MarshalXML allows type H to be used with xml.Marshal. +func (h H) MarshalXML(e *xml.Encoder, start xml.StartElement) error { + start.Name = xml.Name{ + Space: "", + Local: "map", + } + if err := e.EncodeToken(start); err != nil { + return err + } + for key, value := range h { + elem := xml.StartElement{ + Name: xml.Name{Space: "", Local: key}, + Attr: []xml.Attr{}, + } + if err := e.EncodeElement(value, elem); err != nil { + return err + } + } + + return e.EncodeToken(xml.EndElement{Name: start.Name}) +} + +func assert1(guard bool, text string) { + if !guard { + panic(text) + } +} + +func filterFlags(content string) string { + for i, char := range content { + if char == ' ' || char == ';' { + return content[:i] + } + } + return content +} + +func chooseData(custom, wildcard interface{}) interface{} { + if custom != nil { + return custom + } + if wildcard != nil { + return wildcard + } + panic("negotiation config is invalid") +} + +func parseAccept(acceptHeader string) []string { + parts := strings.Split(acceptHeader, ",") + out := make([]string, 0, len(parts)) + for _, part := range parts { + if i := strings.IndexByte(part, ';'); i > 0 { + part = part[:i] + } + if part = strings.TrimSpace(part); part != "" { + out = append(out, part) + } + } + return out +} + +func lastChar(str string) uint8 { + if str == "" { + panic("The length of the string can't be 0") + } + return str[len(str)-1] +} + +func nameOfFunction(f interface{}) string { + return runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name() +} + +func joinPaths(absolutePath, relativePath string) string { + if relativePath == "" { + return absolutePath + } + + finalPath := path.Join(absolutePath, relativePath) + if lastChar(relativePath) == '/' && lastChar(finalPath) != '/' { + return finalPath + "/" + } + return finalPath +} + +func resolveAddress(addr []string) string { + switch len(addr) { + case 0: + if port := os.Getenv("PORT"); port != "" { + debugPrint("Environment variable PORT=\"%s\"", port) + return ":" + port + } + debugPrint("Environment variable PORT is undefined. Using port :8080 by default") + return ":8080" + case 1: + return addr[0] + default: + panic("too many parameters") + } +} diff --git a/vendor/github.com/gin-gonic/gin/version.go b/vendor/github.com/gin-gonic/gin/version.go new file mode 100644 index 000000000..a80ab69a8 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/version.go @@ -0,0 +1,8 @@ +// Copyright 2018 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package gin + +// Version is the current gin framework's version. +const Version = "v1.7.2" diff --git a/vendor/github.com/go-errors/errors/.travis.yml b/vendor/github.com/go-errors/errors/.travis.yml new file mode 100644 index 000000000..fddfc4e3a --- /dev/null +++ b/vendor/github.com/go-errors/errors/.travis.yml @@ -0,0 +1,7 @@ +language: go + +go: + - "1.8.x" + - "1.10.x" + - "1.13.x" + - "1.14.x" diff --git a/vendor/github.com/go-errors/errors/LICENSE.MIT b/vendor/github.com/go-errors/errors/LICENSE.MIT new file mode 100644 index 000000000..c9a5b2eeb --- /dev/null +++ b/vendor/github.com/go-errors/errors/LICENSE.MIT @@ -0,0 +1,7 @@ +Copyright (c) 2015 Conrad Irwin + +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/go-errors/errors/README.md b/vendor/github.com/go-errors/errors/README.md new file mode 100644 index 000000000..d03882f1b --- /dev/null +++ b/vendor/github.com/go-errors/errors/README.md @@ -0,0 +1,80 @@ +go-errors/errors +================ + +[![Build Status](https://travis-ci.org/go-errors/errors.svg?branch=master)](https://travis-ci.org/go-errors/errors) + +Package errors adds stacktrace support to errors in go. + +This is particularly useful when you want to understand the state of execution +when an error was returned unexpectedly. + +It provides the type \*Error which implements the standard golang error +interface, so you can use this library interchangably with code that is +expecting a normal error return. + +Usage +----- + +Full documentation is available on +[godoc](https://godoc.org/github.com/go-errors/errors), but here's a simple +example: + +```go +package crashy + +import "github.com/go-errors/errors" + +var Crashed = errors.Errorf("oh dear") + +func Crash() error { + return errors.New(Crashed) +} +``` + +This can be called as follows: + +```go +package main + +import ( + "crashy" + "fmt" + "github.com/go-errors/errors" +) + +func main() { + err := crashy.Crash() + if err != nil { + if errors.Is(err, crashy.Crashed) { + fmt.Println(err.(*errors.Error).ErrorStack()) + } else { + panic(err) + } + } +} +``` + +Meta-fu +------- + +This package was original written to allow reporting to +[Bugsnag](https://bugsnag.com/) from +[bugsnag-go](https://github.com/bugsnag/bugsnag-go), but after I found similar +packages by Facebook and Dropbox, it was moved to one canonical location so +everyone can benefit. + +This package is licensed under the MIT license, see LICENSE.MIT for details. + + +## Changelog +* v1.1.0 updated to use go1.13's standard-library errors.Is method instead of == in errors.Is +* v1.2.0 added `errors.As` from the standard library. +* v1.3.0 *BREAKING* updated error methods to return `error` instead of `*Error`. +> Code that needs access to the underlying `*Error` can use the new errors.AsError(e) +> ``` +> // before +> errors.New(err).ErrorStack() +> // after +>. errors.AsError(errors.Wrap(err)).ErrorStack() +> ``` +* v1.4.0 *BREAKING* v1.4.0 reverted all changes from v1.3.0 and is identical to v1.2.0 diff --git a/vendor/github.com/go-errors/errors/cover.out b/vendor/github.com/go-errors/errors/cover.out new file mode 100644 index 000000000..ab18b0519 --- /dev/null +++ b/vendor/github.com/go-errors/errors/cover.out @@ -0,0 +1,89 @@ +mode: set +github.com/go-errors/errors/stackframe.go:27.51,30.25 2 1 +github.com/go-errors/errors/stackframe.go:33.2,38.8 3 1 +github.com/go-errors/errors/stackframe.go:30.25,32.3 1 0 +github.com/go-errors/errors/stackframe.go:43.47,44.31 1 1 +github.com/go-errors/errors/stackframe.go:47.2,47.48 1 1 +github.com/go-errors/errors/stackframe.go:44.31,46.3 1 1 +github.com/go-errors/errors/stackframe.go:52.42,56.16 3 1 +github.com/go-errors/errors/stackframe.go:60.2,60.60 1 1 +github.com/go-errors/errors/stackframe.go:56.16,58.3 1 0 +github.com/go-errors/errors/stackframe.go:64.55,67.16 2 1 +github.com/go-errors/errors/stackframe.go:71.2,72.61 2 1 +github.com/go-errors/errors/stackframe.go:76.2,76.66 1 1 +github.com/go-errors/errors/stackframe.go:67.16,69.3 1 0 +github.com/go-errors/errors/stackframe.go:72.61,74.3 1 0 +github.com/go-errors/errors/stackframe.go:79.56,91.63 3 1 +github.com/go-errors/errors/stackframe.go:95.2,95.53 1 1 +github.com/go-errors/errors/stackframe.go:100.2,101.18 2 1 +github.com/go-errors/errors/stackframe.go:91.63,94.3 2 1 +github.com/go-errors/errors/stackframe.go:95.53,98.3 2 1 +github.com/go-errors/errors/error.go:70.32,73.23 2 1 +github.com/go-errors/errors/error.go:80.2,85.3 3 1 +github.com/go-errors/errors/error.go:74.2,75.10 1 1 +github.com/go-errors/errors/error.go:76.2,77.28 1 1 +github.com/go-errors/errors/error.go:92.43,95.23 2 1 +github.com/go-errors/errors/error.go:104.2,109.3 3 1 +github.com/go-errors/errors/error.go:96.2,97.11 1 1 +github.com/go-errors/errors/error.go:98.2,99.10 1 1 +github.com/go-errors/errors/error.go:100.2,101.28 1 1 +github.com/go-errors/errors/error.go:115.39,117.19 1 1 +github.com/go-errors/errors/error.go:121.2,121.29 1 1 +github.com/go-errors/errors/error.go:125.2,125.43 1 1 +github.com/go-errors/errors/error.go:129.2,129.14 1 1 +github.com/go-errors/errors/error.go:117.19,119.3 1 1 +github.com/go-errors/errors/error.go:121.29,123.3 1 1 +github.com/go-errors/errors/error.go:125.43,127.3 1 1 +github.com/go-errors/errors/error.go:135.53,137.2 1 1 +github.com/go-errors/errors/error.go:140.34,142.2 1 1 +github.com/go-errors/errors/error.go:146.34,149.42 2 1 +github.com/go-errors/errors/error.go:153.2,153.20 1 1 +github.com/go-errors/errors/error.go:149.42,151.3 1 1 +github.com/go-errors/errors/error.go:158.39,160.2 1 1 +github.com/go-errors/errors/error.go:164.46,165.23 1 1 +github.com/go-errors/errors/error.go:173.2,173.19 1 1 +github.com/go-errors/errors/error.go:165.23,168.32 2 1 +github.com/go-errors/errors/error.go:168.32,170.4 1 1 +github.com/go-errors/errors/error.go:177.37,178.42 1 1 +github.com/go-errors/errors/error.go:181.2,181.41 1 1 +github.com/go-errors/errors/error.go:178.42,180.3 1 1 +github.com/go-errors/errors/parse_panic.go:10.39,12.2 1 1 +github.com/go-errors/errors/parse_panic.go:16.46,24.34 5 1 +github.com/go-errors/errors/parse_panic.go:70.2,70.43 1 1 +github.com/go-errors/errors/parse_panic.go:73.2,73.55 1 0 +github.com/go-errors/errors/parse_panic.go:24.34,27.23 2 1 +github.com/go-errors/errors/parse_panic.go:27.23,28.42 1 1 +github.com/go-errors/errors/parse_panic.go:28.42,31.5 2 1 +github.com/go-errors/errors/parse_panic.go:31.6,33.5 1 0 +github.com/go-errors/errors/parse_panic.go:35.5,35.29 1 1 +github.com/go-errors/errors/parse_panic.go:35.29,36.86 1 1 +github.com/go-errors/errors/parse_panic.go:36.86,38.5 1 1 +github.com/go-errors/errors/parse_panic.go:40.5,40.32 1 1 +github.com/go-errors/errors/parse_panic.go:40.32,41.18 1 1 +github.com/go-errors/errors/parse_panic.go:45.4,46.46 2 1 +github.com/go-errors/errors/parse_panic.go:51.4,53.23 2 1 +github.com/go-errors/errors/parse_panic.go:57.4,58.18 2 1 +github.com/go-errors/errors/parse_panic.go:62.4,63.17 2 1 +github.com/go-errors/errors/parse_panic.go:41.18,43.10 2 1 +github.com/go-errors/errors/parse_panic.go:46.46,49.5 2 1 +github.com/go-errors/errors/parse_panic.go:53.23,55.5 1 0 +github.com/go-errors/errors/parse_panic.go:58.18,60.5 1 0 +github.com/go-errors/errors/parse_panic.go:63.17,65.10 2 1 +github.com/go-errors/errors/parse_panic.go:70.43,72.3 1 1 +github.com/go-errors/errors/parse_panic.go:80.85,82.29 2 1 +github.com/go-errors/errors/parse_panic.go:85.2,85.15 1 1 +github.com/go-errors/errors/parse_panic.go:88.2,90.63 2 1 +github.com/go-errors/errors/parse_panic.go:94.2,94.53 1 1 +github.com/go-errors/errors/parse_panic.go:99.2,101.36 2 1 +github.com/go-errors/errors/parse_panic.go:105.2,106.15 2 1 +github.com/go-errors/errors/parse_panic.go:109.2,112.49 3 1 +github.com/go-errors/errors/parse_panic.go:116.2,117.16 2 1 +github.com/go-errors/errors/parse_panic.go:121.2,126.8 1 1 +github.com/go-errors/errors/parse_panic.go:82.29,84.3 1 0 +github.com/go-errors/errors/parse_panic.go:85.15,87.3 1 1 +github.com/go-errors/errors/parse_panic.go:90.63,93.3 2 1 +github.com/go-errors/errors/parse_panic.go:94.53,97.3 2 1 +github.com/go-errors/errors/parse_panic.go:101.36,103.3 1 0 +github.com/go-errors/errors/parse_panic.go:106.15,108.3 1 0 +github.com/go-errors/errors/parse_panic.go:112.49,114.3 1 1 +github.com/go-errors/errors/parse_panic.go:117.16,119.3 1 0 diff --git a/vendor/github.com/go-errors/errors/error.go b/vendor/github.com/go-errors/errors/error.go new file mode 100644 index 000000000..ccbc2e427 --- /dev/null +++ b/vendor/github.com/go-errors/errors/error.go @@ -0,0 +1,209 @@ +// Package errors provides errors that have stack-traces. +// +// This is particularly useful when you want to understand the +// state of execution when an error was returned unexpectedly. +// +// It provides the type *Error which implements the standard +// golang error interface, so you can use this library interchangably +// with code that is expecting a normal error return. +// +// For example: +// +// package crashy +// +// import "github.com/go-errors/errors" +// +// var Crashed = errors.Errorf("oh dear") +// +// func Crash() error { +// return errors.New(Crashed) +// } +// +// This can be called as follows: +// +// package main +// +// import ( +// "crashy" +// "fmt" +// "github.com/go-errors/errors" +// ) +// +// func main() { +// err := crashy.Crash() +// if err != nil { +// if errors.Is(err, crashy.Crashed) { +// fmt.Println(err.(*errors.Error).ErrorStack()) +// } else { +// panic(err) +// } +// } +// } +// +// This package was original written to allow reporting to Bugsnag, +// but after I found similar packages by Facebook and Dropbox, it +// was moved to one canonical location so everyone can benefit. +package errors + +import ( + "bytes" + "fmt" + "reflect" + "runtime" +) + +// The maximum number of stackframes on any error. +var MaxStackDepth = 50 + +// Error is an error with an attached stacktrace. It can be used +// wherever the builtin error interface is expected. +type Error struct { + Err error + stack []uintptr + frames []StackFrame + prefix string +} + +// New makes an Error from the given value. If that value is already an +// error then it will be used directly, if not, it will be passed to +// fmt.Errorf("%v"). The stacktrace will point to the line of code that +// called New. +func New(e interface{}) *Error { + var err error + + switch e := e.(type) { + case error: + err = e + default: + err = fmt.Errorf("%v", e) + } + + stack := make([]uintptr, MaxStackDepth) + length := runtime.Callers(2, stack[:]) + return &Error{ + Err: err, + stack: stack[:length], + } +} + +// Wrap makes an Error from the given value. If that value is already an +// error then it will be used directly, if not, it will be passed to +// fmt.Errorf("%v"). The skip parameter indicates how far up the stack +// to start the stacktrace. 0 is from the current call, 1 from its caller, etc. +func Wrap(e interface{}, skip int) *Error { + if e == nil { + return nil + } + + var err error + + switch e := e.(type) { + case *Error: + return e + case error: + err = e + default: + err = fmt.Errorf("%v", e) + } + + stack := make([]uintptr, MaxStackDepth) + length := runtime.Callers(2+skip, stack[:]) + return &Error{ + Err: err, + stack: stack[:length], + } +} + +// WrapPrefix makes an Error from the given value. If that value is already an +// error then it will be used directly, if not, it will be passed to +// fmt.Errorf("%v"). The prefix parameter is used to add a prefix to the +// error message when calling Error(). The skip parameter indicates how far +// up the stack to start the stacktrace. 0 is from the current call, +// 1 from its caller, etc. +func WrapPrefix(e interface{}, prefix string, skip int) *Error { + if e == nil { + return nil + } + + err := Wrap(e, 1+skip) + + if err.prefix != "" { + prefix = fmt.Sprintf("%s: %s", prefix, err.prefix) + } + + return &Error{ + Err: err.Err, + stack: err.stack, + prefix: prefix, + } + +} + +// Errorf creates a new error with the given message. You can use it +// as a drop-in replacement for fmt.Errorf() to provide descriptive +// errors in return values. +func Errorf(format string, a ...interface{}) *Error { + return Wrap(fmt.Errorf(format, a...), 1) +} + +// Error returns the underlying error's message. +func (err *Error) Error() string { + + msg := err.Err.Error() + if err.prefix != "" { + msg = fmt.Sprintf("%s: %s", err.prefix, msg) + } + + return msg +} + +// Stack returns the callstack formatted the same way that go does +// in runtime/debug.Stack() +func (err *Error) Stack() []byte { + buf := bytes.Buffer{} + + for _, frame := range err.StackFrames() { + buf.WriteString(frame.String()) + } + + return buf.Bytes() +} + +// Callers satisfies the bugsnag ErrorWithCallerS() interface +// so that the stack can be read out. +func (err *Error) Callers() []uintptr { + return err.stack +} + +// ErrorStack returns a string that contains both the +// error message and the callstack. +func (err *Error) ErrorStack() string { + return err.TypeName() + " " + err.Error() + "\n" + string(err.Stack()) +} + +// StackFrames returns an array of frames containing information about the +// stack. +func (err *Error) StackFrames() []StackFrame { + if err.frames == nil { + err.frames = make([]StackFrame, len(err.stack)) + + for i, pc := range err.stack { + err.frames[i] = NewStackFrame(pc) + } + } + + return err.frames +} + +// TypeName returns the type this error. e.g. *errors.stringError. +func (err *Error) TypeName() string { + if _, ok := err.Err.(uncaughtPanic); ok { + return "panic" + } + return reflect.TypeOf(err.Err).String() +} + +// Return the wrapped error (implements api for As function). +func (err *Error) Unwrap() error { + return err.Err +} diff --git a/vendor/github.com/go-errors/errors/error_1_13.go b/vendor/github.com/go-errors/errors/error_1_13.go new file mode 100644 index 000000000..0af2fc806 --- /dev/null +++ b/vendor/github.com/go-errors/errors/error_1_13.go @@ -0,0 +1,31 @@ +// +build go1.13 + +package errors + +import ( + baseErrors "errors" +) + +// find error in any wrapped error +func As(err error, target interface{}) bool { + return baseErrors.As(err, target) +} + +// Is detects whether the error is equal to a given error. Errors +// are considered equal by this function if they are matched by errors.Is +// or if their contained errors are matched through errors.Is +func Is(e error, original error) bool { + if baseErrors.Is(e, original) { + return true + } + + if e, ok := e.(*Error); ok { + return Is(e.Err, original) + } + + if original, ok := original.(*Error); ok { + return Is(e, original.Err) + } + + return false +} diff --git a/vendor/github.com/go-errors/errors/error_backward.go b/vendor/github.com/go-errors/errors/error_backward.go new file mode 100644 index 000000000..80b0695e7 --- /dev/null +++ b/vendor/github.com/go-errors/errors/error_backward.go @@ -0,0 +1,57 @@ +// +build !go1.13 + +package errors + +import ( + "reflect" +) + +type unwrapper interface { + Unwrap() error +} + +// As assigns error or any wrapped error to the value target points +// to. If there is no value of the target type of target As returns +// false. +func As(err error, target interface{}) bool { + targetType := reflect.TypeOf(target) + + for { + errType := reflect.TypeOf(err) + + if errType == nil { + return false + } + + if reflect.PtrTo(errType) == targetType { + reflect.ValueOf(target).Elem().Set(reflect.ValueOf(err)) + return true + } + + wrapped, ok := err.(unwrapper) + if ok { + err = wrapped.Unwrap() + } else { + return false + } + } +} + +// Is detects whether the error is equal to a given error. Errors +// are considered equal by this function if they are the same object, +// or if they both contain the same error inside an errors.Error. +func Is(e error, original error) bool { + if e == original { + return true + } + + if e, ok := e.(*Error); ok { + return Is(e.Err, original) + } + + if original, ok := original.(*Error); ok { + return Is(e, original.Err) + } + + return false +} diff --git a/vendor/github.com/go-errors/errors/go.mod b/vendor/github.com/go-errors/errors/go.mod new file mode 100644 index 000000000..a70bad1b2 --- /dev/null +++ b/vendor/github.com/go-errors/errors/go.mod @@ -0,0 +1,6 @@ +module github.com/go-errors/errors + +go 1.14 + +// Was not API-compatible with earlier or later releases. +retract v1.3.0 diff --git a/vendor/github.com/go-errors/errors/parse_panic.go b/vendor/github.com/go-errors/errors/parse_panic.go new file mode 100644 index 000000000..cc37052d7 --- /dev/null +++ b/vendor/github.com/go-errors/errors/parse_panic.go @@ -0,0 +1,127 @@ +package errors + +import ( + "strconv" + "strings" +) + +type uncaughtPanic struct{ message string } + +func (p uncaughtPanic) Error() string { + return p.message +} + +// ParsePanic allows you to get an error object from the output of a go program +// that panicked. This is particularly useful with https://github.com/mitchellh/panicwrap. +func ParsePanic(text string) (*Error, error) { + lines := strings.Split(text, "\n") + + state := "start" + + var message string + var stack []StackFrame + + for i := 0; i < len(lines); i++ { + line := lines[i] + + if state == "start" { + if strings.HasPrefix(line, "panic: ") { + message = strings.TrimPrefix(line, "panic: ") + state = "seek" + } else { + return nil, Errorf("bugsnag.panicParser: Invalid line (no prefix): %s", line) + } + + } else if state == "seek" { + if strings.HasPrefix(line, "goroutine ") && strings.HasSuffix(line, "[running]:") { + state = "parsing" + } + + } else if state == "parsing" { + if line == "" { + state = "done" + break + } + createdBy := false + if strings.HasPrefix(line, "created by ") { + line = strings.TrimPrefix(line, "created by ") + createdBy = true + } + + i++ + + if i >= len(lines) { + return nil, Errorf("bugsnag.panicParser: Invalid line (unpaired): %s", line) + } + + frame, err := parsePanicFrame(line, lines[i], createdBy) + if err != nil { + return nil, err + } + + stack = append(stack, *frame) + if createdBy { + state = "done" + break + } + } + } + + if state == "done" || state == "parsing" { + return &Error{Err: uncaughtPanic{message}, frames: stack}, nil + } + return nil, Errorf("could not parse panic: %v", text) +} + +// The lines we're passing look like this: +// +// main.(*foo).destruct(0xc208067e98) +// /0/go/src/github.com/bugsnag/bugsnag-go/pan/main.go:22 +0x151 +func parsePanicFrame(name string, line string, createdBy bool) (*StackFrame, error) { + idx := strings.LastIndex(name, "(") + if idx == -1 && !createdBy { + return nil, Errorf("bugsnag.panicParser: Invalid line (no call): %s", name) + } + if idx != -1 { + name = name[:idx] + } + pkg := "" + + if lastslash := strings.LastIndex(name, "/"); lastslash >= 0 { + pkg += name[:lastslash] + "/" + name = name[lastslash+1:] + } + if period := strings.Index(name, "."); period >= 0 { + pkg += name[:period] + name = name[period+1:] + } + + name = strings.Replace(name, "·", ".", -1) + + if !strings.HasPrefix(line, "\t") { + return nil, Errorf("bugsnag.panicParser: Invalid line (no tab): %s", line) + } + + idx = strings.LastIndex(line, ":") + if idx == -1 { + return nil, Errorf("bugsnag.panicParser: Invalid line (no line number): %s", line) + } + file := line[1:idx] + + number := line[idx+1:] + if idx = strings.Index(number, " +"); idx > -1 { + number = number[:idx] + } + + lno, err := strconv.ParseInt(number, 10, 32) + if err != nil { + return nil, Errorf("bugsnag.panicParser: Invalid line (bad line number): %s", line) + } + + return &StackFrame{ + File: file, + LineNumber: int(lno), + Package: pkg, + Name: name, + }, nil +} diff --git a/vendor/github.com/go-errors/errors/stackframe.go b/vendor/github.com/go-errors/errors/stackframe.go new file mode 100644 index 000000000..f420849d2 --- /dev/null +++ b/vendor/github.com/go-errors/errors/stackframe.go @@ -0,0 +1,114 @@ +package errors + +import ( + "bufio" + "bytes" + "fmt" + "os" + "runtime" + "strings" +) + +// A StackFrame contains all necessary information about to generate a line +// in a callstack. +type StackFrame struct { + // The path to the file containing this ProgramCounter + File string + // The LineNumber in that file + LineNumber int + // The Name of the function that contains this ProgramCounter + Name string + // The Package that contains this function + Package string + // The underlying ProgramCounter + ProgramCounter uintptr +} + +// NewStackFrame popoulates a stack frame object from the program counter. +func NewStackFrame(pc uintptr) (frame StackFrame) { + + frame = StackFrame{ProgramCounter: pc} + if frame.Func() == nil { + return + } + frame.Package, frame.Name = packageAndName(frame.Func()) + + // pc -1 because the program counters we use are usually return addresses, + // and we want to show the line that corresponds to the function call + frame.File, frame.LineNumber = frame.Func().FileLine(pc - 1) + return + +} + +// Func returns the function that contained this frame. +func (frame *StackFrame) Func() *runtime.Func { + if frame.ProgramCounter == 0 { + return nil + } + return runtime.FuncForPC(frame.ProgramCounter) +} + +// String returns the stackframe formatted in the same way as go does +// in runtime/debug.Stack() +func (frame *StackFrame) String() string { + str := fmt.Sprintf("%s:%d (0x%x)\n", frame.File, frame.LineNumber, frame.ProgramCounter) + + source, err := frame.SourceLine() + if err != nil { + return str + } + + return str + fmt.Sprintf("\t%s: %s\n", frame.Name, source) +} + +// SourceLine gets the line of code (from File and Line) of the original source if possible. +func (frame *StackFrame) SourceLine() (string, error) { + if frame.LineNumber <= 0 { + return "???", nil + } + + file, err := os.Open(frame.File) + if err != nil { + return "", New(err) + } + defer file.Close() + + scanner := bufio.NewScanner(file) + currentLine := 1 + for scanner.Scan() { + if currentLine == frame.LineNumber { + return string(bytes.Trim(scanner.Bytes(), " \t")), nil + } + currentLine++ + } + if err := scanner.Err(); err != nil { + return "", New(err) + } + + return "???", nil +} + +func packageAndName(fn *runtime.Func) (string, string) { + name := fn.Name() + pkg := "" + + // The name includes the path name to the package, which is unnecessary + // since the file name is already included. Plus, it has center dots. + // That is, we see + // runtime/debug.*T·ptrmethod + // and want + // *T.ptrmethod + // Since the package path might contains dots (e.g. code.google.com/...), + // we first remove the path prefix if there is one. + if lastslash := strings.LastIndex(name, "/"); lastslash >= 0 { + pkg += name[:lastslash] + "/" + name = name[lastslash+1:] + } + if period := strings.Index(name, "."); period >= 0 { + pkg += name[:period] + name = name[period+1:] + } + + name = strings.Replace(name, "·", ".", -1) + return pkg, name +} diff --git a/vendor/github.com/go-fed/activity/LICENSE b/vendor/github.com/go-fed/activity/LICENSE new file mode 100644 index 000000000..a9e8aefad --- /dev/null +++ b/vendor/github.com/go-fed/activity/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2018, go-fed +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 copyright holder 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/go-fed/activity/pub/README.md b/vendor/github.com/go-fed/activity/pub/README.md new file mode 100644 index 000000000..dafe176ea --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/README.md @@ -0,0 +1,270 @@ +# pub + +Implements the Social and Federating Protocols in the ActivityPub specification. + +## Reference & Tutorial + +The [go-fed website](https://go-fed.org/) contains tutorials and reference +materials, in addition to the rest of this README. + +## How To Use + +``` +go get github.com/go-fed/activity +``` + +The root of all ActivityPub behavior is the `Actor`, which requires you to +implement a few interfaces: + +```golang +import ( + "github.com/go-fed/activity/pub" +) + +type myActivityPubApp struct { /* ... */ } +type myAppsDatabase struct { /* ... */ } +type myAppsClock struct { /* ... */ } + +var ( + // Your app will implement pub.CommonBehavior, and either + // pub.SocialProtocol, pub.FederatingProtocol, or both. + myApp = &myActivityPubApp{} + myCommonBehavior pub.CommonBehavior = myApp + mySocialProtocol pub.SocialProtocol = myApp + myFederatingProtocol pub.FederatingProtocol = myApp + // Your app's database implementation. + myDatabase pub.Database = &myAppsDatabase{} + // Your app's clock. + myClock pub.Clock = &myAppsClock{} +) + +// Only support the C2S Social protocol +actor := pub.NewSocialActor( + myCommonBehavior, + mySocialProtocol, + myDatabase, + myClock) +// OR +// +// Only support S2S Federating protocol +actor = pub.NewFederatingActor( + myCommonBehavior, + myFederatingProtocol, + myDatabase, + myClock) +// OR +// +// Support both C2S Social and S2S Federating protocol. +actor = pub.NewActor( + myCommonBehavior, + mySocialProtocol, + myFederatingProtocol, + myDatabase, + myClock) +``` + +Next, hook the `Actor` into your web server: + +```golang +// The application's actor +var actor pub.Actor +var outboxHandler http.HandlerFunc = func(w http.ResponseWriter, r *http.Request) { + c := context.Background() + // Populate c with request-specific information + if handled, err := actor.PostOutbox(c, w, r); err != nil { + // Write to w + return + } else if handled { + return + } else if handled, err = actor.GetOutbox(c, w, r); err != nil { + // Write to w + return + } else if handled { + return + } + // else: + // + // Handle non-ActivityPub request, such as serving a webpage. +} +var inboxHandler http.HandlerFunc = func(w http.ResponseWriter, r *http.Request) { + c := context.Background() + // Populate c with request-specific information + if handled, err := actor.PostInbox(c, w, r); err != nil { + // Write to w + return + } else if handled { + return + } else if handled, err = actor.GetInbox(c, w, r); err != nil { + // Write to w + return + } else if handled { + return + } + // else: + // + // Handle non-ActivityPub request, such as serving a webpage. +} +// Add the handlers to a HTTP server +serveMux := http.NewServeMux() +serveMux.HandleFunc("/actor/outbox", outboxHandler) +serveMux.HandleFunc("/actor/inbox", inboxHandler) +var server http.Server +server.Handler = serveMux +``` + +To serve ActivityStreams data: + +```golang +myHander := pub.NewActivityStreamsHandler(myDatabase, myClock) +var activityStreamsHandler http.HandlerFunc = func(w http.ResponseWriter, r *http.Request) { + c := context.Background() + // Populate c with request-specific information + if handled, err := myHandler(c, w, r); err != nil { + // Write to w + return + } else if handled { + return + } + // else: + // + // Handle non-ActivityPub request, such as serving a webpage. +} +serveMux.HandleFunc("/some/data/like/a/note", activityStreamsHandler) +``` + +### Dependency Injection + +Package `pub` relies on dependency injection to provide out-of-the-box support +for ActivityPub. The interfaces to be satisfied are: + +* `CommonBehavior` - Behavior needed regardless of which Protocol is used. +* `SocialProtocol` - Behavior needed for the Social Protocol. +* `FederatingProtocol` - Behavior needed for the Federating Protocol. +* `Database` - The data store abstraction, not tied to the `database/sql` +package. +* `Clock` - The server's internal clock. +* `Transport` - Responsible for the network that serves requests and deliveries +of ActivityStreams data. A `HttpSigTransport` type is provided. + +These implementations form the core of an application's behavior without +worrying about the particulars and pitfalls of the ActivityPub protocol. +Implementing these interfaces gives you greater assurance about being +ActivityPub compliant. + +### Application Logic + +The `SocialProtocol` and `FederatingProtocol` are responsible for returning +callback functions compatible with `streams.TypeResolver`. They also return +`SocialWrappedCallbacks` and `FederatingWrappedCallbacks`, which are nothing +more than a bundle of default behaviors for types like `Create`, `Update`, and +so on. + +Applications will want to focus on implementing their specific behaviors in the +callbacks, and have fine-grained control over customization: + +```golang +// Implements the FederatingProtocol interface. +// +// This illustration can also be applied for the Social Protocol. +func (m *myAppsFederatingProtocol) Callbacks(c context.Context) (wrapped pub.FederatingWrappedCallbacks, other []interface{}) { + // The context 'c' has request-specific logic and can be used to apply complex + // logic building the right behaviors, if desired. + // + // 'c' will later be passed through to the callbacks created below. + wrapped = pub.FederatingWrappedCallbacks{ + Create: func(ctx context.Context, create vocab.ActivityStreamsCreate) error { + // This function is wrapped by default behavior. + // + // More application specific logic can be written here. + // + // 'ctx' will have request-specific information from the HTTP handler. It + // is the same as the 'c' passed to the Callbacks method. + // 'create' has, at this point, already triggered the recommended + // ActivityPub side effect behavior. The application can process it + // further as needed. + return nil + }, + } + // The 'other' must contain functions that satisfy the signature pattern + // required by streams.JSONResolver. + // + // If they are not, at runtime errors will be returned to indicate this. + other = []interface{}{ + // The FederatingWrappedCallbacks has default behavior for an "Update" type, + // but since we are providing this behavior in "other" and not in the + // FederatingWrappedCallbacks.Update member, we will entirely replace the + // default behavior provided by go-fed. Be careful that this still + // implements ActivityPub properly. + func(ctx context.Context, update vocab.ActivityStreamsUpdate) error { + // This function is NOT wrapped by default behavior. + // + // Application specific logic can be written here. + // + // 'ctx' will have request-specific information from the HTTP handler. It + // is the same as the 'c' passed to the Callbacks method. + // 'update' will NOT trigger the recommended ActivityPub side effect + // behavior. The application should do so in addition to any other custom + // side effects required. + return nil + }, + // The "Listen" type has no default suggested behavior in ActivityPub, so + // this just makes this application able to handle "Listen" activities. + func(ctx context.Context, listen vocab.ActivityStreamsListen) error { + // This function is NOT wrapped by default behavior. There's not a + // FederatingWrappedCallbacks.Listen member to wrap. + // + // Application specific logic can be written here. + // + // 'ctx' will have request-specific information from the HTTP handler. It + // is the same as the 'c' passed to the Callbacks method. + // 'listen' can be processed with side effects as the application needs. + return nil + }, + } + return +} +``` + +The `pub` package supports applications that grow into more custom solutions by +overriding the default behaviors as needed. + +### ActivityStreams Extensions: Future-Proofing An Application + +Package `pub` relies on the `streams.TypeResolver` and `streams.JSONResolver` +code generated types. As new ActivityStreams extensions are developed and their +code is generated, `pub` will automatically pick up support for these +extensions. + +The steps to rapidly implement a new extension in a `pub` application are: + +1. Generate an OWL definition of the ActivityStreams extension. This definition +could be the same one defining the vocabulary at the `@context` IRI. +2. Run `astool` to autogenerate the golang types in the `streams` package. +3. Implement the application's callbacks in the `FederatingProtocol.Callbacks` +or `SocialProtocol.Callbacks` for the new behaviors needed. +4. Build the application, which builds `pub`, with the newly generated `streams` +code. No code changes in `pub` are required. + +Whether an author of an ActivityStreams extension or an application developer, +these quick steps should reduce the barrier to adopion in a statically-typed +environment. + +### DelegateActor + +For those that need a near-complete custom ActivityPub solution, or want to have +that possibility in the future after adopting go-fed, the `DelegateActor` +interface can be used to obtain an `Actor`: + +```golang +// Use custom ActivityPub implementation +actor = pub.NewCustomActor( + myDelegateActor, + isSocialProtocolEnabled, + isFederatedProtocolEnabled, + myAppsClock) +``` + +It does not guarantee that an implementation adheres to the ActivityPub +specification. It acts as a stepping stone for applications that want to build +up to a fully custom solution and not be locked into the `pub` package +implementation. diff --git a/vendor/github.com/go-fed/activity/pub/activity.go b/vendor/github.com/go-fed/activity/pub/activity.go new file mode 100644 index 000000000..6a1d445af --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/activity.go @@ -0,0 +1,49 @@ +package pub + +import ( + "github.com/go-fed/activity/streams/vocab" +) + +// Activity represents any ActivityStreams Activity type. +// +// The Activity types provided in the streams package implement this. +type Activity interface { + // Activity is also a vocab.Type + vocab.Type + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() vocab.ActivityStreamsActorProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() vocab.ActivityStreamsCcProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() vocab.ActivityStreamsToProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) +} diff --git a/vendor/github.com/go-fed/activity/pub/actor.go b/vendor/github.com/go-fed/activity/pub/actor.go new file mode 100644 index 000000000..c9cac28b4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/actor.go @@ -0,0 +1,127 @@ +package pub + +import ( + "context" + "github.com/go-fed/activity/streams/vocab" + "net/http" + "net/url" +) + +// Actor represents ActivityPub's actor concept. It conceptually has an inbox +// and outbox that receives either a POST or GET request, which triggers side +// effects in the federating application. +// +// An Actor within an application may federate server-to-server (Federation +// Protocol), client-to-server (Social API), or both. The Actor represents the +// server in either use case. +// +// An actor can be created by calling NewSocialActor (only the Social Protocol +// is supported), NewFederatingActor (only the Federating Protocol is +// supported), NewActor (both are supported), or NewCustomActor (neither are). +// +// Not all Actors have the same behaviors depending on the constructor used to +// create them. Refer to the constructor's documentation to determine the exact +// behavior of the Actor on an application. +// +// The behaviors documented here are common to all Actors returned by any +// constructor. +type Actor interface { + // PostInbox returns true if the request was handled as an ActivityPub + // POST to an actor's inbox. If false, the request was not an + // ActivityPub request and may still be handled by the caller in + // another way, such as serving a web page. + // + // If the error is nil, then the ResponseWriter's headers and response + // has already been written. If a non-nil error is returned, then no + // response has been written. + // + // If the Actor was constructed with the Federated Protocol enabled, + // side effects will occur. + // + // If the Federated Protocol is not enabled, writes the + // http.StatusMethodNotAllowed status code in the response. No side + // effects occur. + // + // The request and data of your application will be interpreted as + // having an HTTPS protocol scheme. + PostInbox(c context.Context, w http.ResponseWriter, r *http.Request) (bool, error) + // PostInboxScheme is similar to PostInbox, except clients are able to + // specify which protocol scheme to handle the incoming request and the + // data stored within the application (HTTP, HTTPS, etc). + PostInboxScheme(c context.Context, w http.ResponseWriter, r *http.Request, scheme string) (bool, error) + // GetInbox returns true if the request was handled as an ActivityPub + // GET to an actor's inbox. If false, the request was not an ActivityPub + // request and may still be handled by the caller in another way, such + // as serving a web page. + // + // If the error is nil, then the ResponseWriter's headers and response + // has already been written. If a non-nil error is returned, then no + // response has been written. + // + // If the request is an ActivityPub request, the Actor will defer to the + // application to determine the correct authorization of the request and + // the resulting OrderedCollection to respond with. The Actor handles + // serializing this OrderedCollection and responding with the correct + // headers and http.StatusOK. + GetInbox(c context.Context, w http.ResponseWriter, r *http.Request) (bool, error) + // PostOutbox returns true if the request was handled as an ActivityPub + // POST to an actor's outbox. If false, the request was not an + // ActivityPub request and may still be handled by the caller in another + // way, such as serving a web page. + // + // If the error is nil, then the ResponseWriter's headers and response + // has already been written. If a non-nil error is returned, then no + // response has been written. + // + // If the Actor was constructed with the Social Protocol enabled, side + // effects will occur. + // + // If the Social Protocol is not enabled, writes the + // http.StatusMethodNotAllowed status code in the response. No side + // effects occur. + // + // If the Social and Federated Protocol are both enabled, it will handle + // the side effects of receiving an ActivityStream Activity, and then + // federate the Activity to peers. + // + // The request will be interpreted as having an HTTPS scheme. + PostOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (bool, error) + // PostOutboxScheme is similar to PostOutbox, except clients are able to + // specify which protocol scheme to handle the incoming request and the + // data stored within the application (HTTP, HTTPS, etc). + PostOutboxScheme(c context.Context, w http.ResponseWriter, r *http.Request, scheme string) (bool, error) + // GetOutbox returns true if the request was handled as an ActivityPub + // GET to an actor's outbox. If false, the request was not an + // ActivityPub request. + // + // If the error is nil, then the ResponseWriter's headers and response + // has already been written. If a non-nil error is returned, then no + // response has been written. + // + // If the request is an ActivityPub request, the Actor will defer to the + // application to determine the correct authorization of the request and + // the resulting OrderedCollection to respond with. The Actor handles + // serializing this OrderedCollection and responding with the correct + // headers and http.StatusOK. + GetOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (bool, error) +} + +// FederatingActor is an Actor that allows programmatically delivering an +// Activity to a federating peer. +type FederatingActor interface { + Actor + // Send a federated activity. + // + // The provided url must be the outbox of the sender. All processing of + // the activity occurs similarly to the C2S flow: + // - If t is not an Activity, it is wrapped in a Create activity. + // - A new ID is generated for the activity. + // - The activity is added to the specified outbox. + // - The activity is prepared and delivered to recipients. + // + // Note that this function will only behave as expected if the + // implementation has been constructed to support federation. This + // method will guaranteed work for non-custom Actors. For custom actors, + // care should be used to not call this method if only C2S is supported. + Send(c context.Context, outbox *url.URL, t vocab.Type) (Activity, error) +} diff --git a/vendor/github.com/go-fed/activity/pub/base_actor.go b/vendor/github.com/go-fed/activity/pub/base_actor.go new file mode 100644 index 000000000..61192c51b --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/base_actor.go @@ -0,0 +1,494 @@ +package pub + +import ( + "context" + "encoding/json" + "fmt" + "github.com/go-fed/activity/streams" + "github.com/go-fed/activity/streams/vocab" + "io/ioutil" + "net/http" + "net/url" +) + +// baseActor must satisfy the Actor interface. +var _ Actor = &baseActor{} + +// baseActor is an application-independent ActivityPub implementation. It does +// not implement the entire protocol, and relies on a delegate to do so. It +// only implements the part of the protocol that is side-effect-free, allowing +// an existing application to write a DelegateActor that glues their application +// into the ActivityPub world. +// +// It is preferred to use a DelegateActor provided by this library, so that the +// application does not need to worry about the ActivityPub implementation. +type baseActor struct { + // delegate contains application-specific delegation logic. + delegate DelegateActor + // enableSocialProtocol enables or disables the Social API, the client to + // server part of ActivityPub. Useful if permitting remote clients to + // act on behalf of the users of the client application. + enableSocialProtocol bool + // enableFederatedProtocol enables or disables the Federated Protocol, or the + // server to server part of ActivityPub. Useful to permit integrating + // with the rest of the federative web. + enableFederatedProtocol bool + // clock simply tracks the current time. + clock Clock +} + +// baseActorFederating must satisfy the FederatingActor interface. +var _ FederatingActor = &baseActorFederating{} + +// baseActorFederating is a baseActor that also satisfies the FederatingActor +// interface. +// +// The baseActor is preserved as an Actor which will not successfully cast to a +// FederatingActor. +type baseActorFederating struct { + baseActor +} + +// NewSocialActor builds a new Actor concept that handles only the Social +// Protocol part of ActivityPub. +// +// This Actor can be created once in an application and reused to handle +// multiple requests concurrently and for different endpoints. +// +// It leverages as much of go-fed as possible to ensure the implementation is +// compliant with the ActivityPub specification, while providing enough freedom +// to be productive without shooting one's self in the foot. +// +// Do not try to use NewSocialActor and NewFederatingActor together to cover +// both the Social and Federating parts of the protocol. Instead, use NewActor. +func NewSocialActor(c CommonBehavior, + c2s SocialProtocol, + db Database, + clock Clock) Actor { + return &baseActor{ + delegate: &sideEffectActor{ + common: c, + c2s: c2s, + db: db, + clock: clock, + }, + enableSocialProtocol: true, + clock: clock, + } +} + +// NewFederatingActor builds a new Actor concept that handles only the Federating +// Protocol part of ActivityPub. +// +// This Actor can be created once in an application and reused to handle +// multiple requests concurrently and for different endpoints. +// +// It leverages as much of go-fed as possible to ensure the implementation is +// compliant with the ActivityPub specification, while providing enough freedom +// to be productive without shooting one's self in the foot. +// +// Do not try to use NewSocialActor and NewFederatingActor together to cover +// both the Social and Federating parts of the protocol. Instead, use NewActor. +func NewFederatingActor(c CommonBehavior, + s2s FederatingProtocol, + db Database, + clock Clock) FederatingActor { + return &baseActorFederating{ + baseActor{ + delegate: &sideEffectActor{ + common: c, + s2s: s2s, + db: db, + clock: clock, + }, + enableFederatedProtocol: true, + clock: clock, + }, + } +} + +// NewActor builds a new Actor concept that handles both the Social and +// Federating Protocol parts of ActivityPub. +// +// This Actor can be created once in an application and reused to handle +// multiple requests concurrently and for different endpoints. +// +// It leverages as much of go-fed as possible to ensure the implementation is +// compliant with the ActivityPub specification, while providing enough freedom +// to be productive without shooting one's self in the foot. +func NewActor(c CommonBehavior, + c2s SocialProtocol, + s2s FederatingProtocol, + db Database, + clock Clock) FederatingActor { + return &baseActorFederating{ + baseActor{ + delegate: &sideEffectActor{ + common: c, + c2s: c2s, + s2s: s2s, + db: db, + clock: clock, + }, + enableSocialProtocol: true, + enableFederatedProtocol: true, + clock: clock, + }, + } +} + +// NewCustomActor allows clients to create a custom ActivityPub implementation +// for the Social Protocol, Federating Protocol, or both. +// +// It still uses the library as a high-level scaffold, which has the benefit of +// allowing applications to grow into a custom ActivityPub solution without +// having to refactor the code that passes HTTP requests into the Actor. +// +// It is possible to create a DelegateActor that is not ActivityPub compliant. +// Use with due care. +func NewCustomActor(delegate DelegateActor, + enableSocialProtocol, enableFederatedProtocol bool, + clock Clock) FederatingActor { + return &baseActorFederating{ + baseActor{ + delegate: delegate, + enableSocialProtocol: enableSocialProtocol, + enableFederatedProtocol: enableFederatedProtocol, + clock: clock, + }, + } +} + +// PostInbox implements the generic algorithm for handling a POST request to an +// actor's inbox independent on an application. It relies on a delegate to +// implement application specific functionality. +// +// Only supports serving data with identifiers having the HTTPS scheme. +func (b *baseActor) PostInbox(c context.Context, w http.ResponseWriter, r *http.Request) (bool, error) { + return b.PostInboxScheme(c, w, r, "https") +} + +// PostInbox implements the generic algorithm for handling a POST request to an +// actor's inbox independent on an application. It relies on a delegate to +// implement application specific functionality. +// +// Specifying the "scheme" allows for retrieving ActivityStreams content with +// identifiers such as HTTP, HTTPS, or other protocol schemes. +func (b *baseActor) PostInboxScheme(c context.Context, w http.ResponseWriter, r *http.Request, scheme string) (bool, error) { + // Do nothing if it is not an ActivityPub POST request. + if !isActivityPubPost(r) { + return false, nil + } + // If the Federated Protocol is not enabled, then this endpoint is not + // enabled. + if !b.enableFederatedProtocol { + w.WriteHeader(http.StatusMethodNotAllowed) + return true, nil + } + // Check the peer request is authentic. + c, authenticated, err := b.delegate.AuthenticatePostInbox(c, w, r) + if err != nil { + return true, err + } else if !authenticated { + return true, nil + } + // Begin processing the request, but have not yet applied + // authorization (ex: blocks). Obtain the activity reject unknown + // activities. + raw, err := ioutil.ReadAll(r.Body) + if err != nil { + return true, err + } + var m map[string]interface{} + if err = json.Unmarshal(raw, &m); err != nil { + return true, err + } + asValue, err := streams.ToType(c, m) + if err != nil && !streams.IsUnmatchedErr(err) { + return true, err + } else if streams.IsUnmatchedErr(err) { + // Respond with bad request -- we do not understand the type. + w.WriteHeader(http.StatusBadRequest) + return true, nil + } + activity, ok := asValue.(Activity) + if !ok { + return true, fmt.Errorf("activity streams value is not an Activity: %T", asValue) + } + if activity.GetJSONLDId() == nil { + w.WriteHeader(http.StatusBadRequest) + return true, nil + } + // Allow server implementations to set context data with a hook. + c, err = b.delegate.PostInboxRequestBodyHook(c, r, activity) + if err != nil { + return true, err + } + // Check authorization of the activity. + authorized, err := b.delegate.AuthorizePostInbox(c, w, activity) + if err != nil { + return true, err + } else if !authorized { + return true, nil + } + // Post the activity to the actor's inbox and trigger side effects for + // that particular Activity type. It is up to the delegate to resolve + // the given map. + inboxId := requestId(r, scheme) + err = b.delegate.PostInbox(c, inboxId, activity) + if err != nil { + // Special case: We know it is a bad request if the object or + // target properties needed to be populated, but weren't. + // + // Send the rejection to the peer. + if err == ErrObjectRequired || err == ErrTargetRequired { + w.WriteHeader(http.StatusBadRequest) + return true, nil + } + return true, err + } + // Our side effects are complete, now delegate determining whether to + // do inbox forwarding, as well as the action to do it. + if err := b.delegate.InboxForwarding(c, inboxId, activity); err != nil { + return true, err + } + // Request has been processed. Begin responding to the request. + // + // Simply respond with an OK status to the peer. + w.WriteHeader(http.StatusOK) + return true, nil +} + +// GetInbox implements the generic algorithm for handling a GET request to an +// actor's inbox independent on an application. It relies on a delegate to +// implement application specific functionality. +func (b *baseActor) GetInbox(c context.Context, w http.ResponseWriter, r *http.Request) (bool, error) { + // Do nothing if it is not an ActivityPub GET request. + if !isActivityPubGet(r) { + return false, nil + } + // Delegate authenticating and authorizing the request. + c, authenticated, err := b.delegate.AuthenticateGetInbox(c, w, r) + if err != nil { + return true, err + } else if !authenticated { + return true, nil + } + // Everything is good to begin processing the request. + oc, err := b.delegate.GetInbox(c, r) + if err != nil { + return true, err + } + // Deduplicate the 'orderedItems' property by ID. + err = dedupeOrderedItems(oc) + if err != nil { + return true, err + } + // Request has been processed. Begin responding to the request. + // + // Serialize the OrderedCollection. + m, err := streams.Serialize(oc) + if err != nil { + return true, err + } + raw, err := json.Marshal(m) + if err != nil { + return true, err + } + // Write the response. + addResponseHeaders(w.Header(), b.clock, raw) + w.WriteHeader(http.StatusOK) + n, err := w.Write(raw) + if err != nil { + return true, err + } else if n != len(raw) { + return true, fmt.Errorf("ResponseWriter.Write wrote %d of %d bytes", n, len(raw)) + } + return true, nil +} + +// PostOutbox implements the generic algorithm for handling a POST request to an +// actor's outbox independent on an application. It relies on a delegate to +// implement application specific functionality. +// +// Only supports serving data with identifiers having the HTTPS scheme. +func (b *baseActor) PostOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (bool, error) { + return b.PostOutboxScheme(c, w, r, "https") +} + +// PostOutbox implements the generic algorithm for handling a POST request to an +// actor's outbox independent on an application. It relies on a delegate to +// implement application specific functionality. +// +// Specifying the "scheme" allows for retrieving ActivityStreams content with +// identifiers such as HTTP, HTTPS, or other protocol schemes. +func (b *baseActor) PostOutboxScheme(c context.Context, w http.ResponseWriter, r *http.Request, scheme string) (bool, error) { + // Do nothing if it is not an ActivityPub POST request. + if !isActivityPubPost(r) { + return false, nil + } + // If the Social API is not enabled, then this endpoint is not enabled. + if !b.enableSocialProtocol { + w.WriteHeader(http.StatusMethodNotAllowed) + return true, nil + } + // Delegate authenticating and authorizing the request. + c, authenticated, err := b.delegate.AuthenticatePostOutbox(c, w, r) + if err != nil { + return true, err + } else if !authenticated { + return true, nil + } + // Everything is good to begin processing the request. + raw, err := ioutil.ReadAll(r.Body) + if err != nil { + return true, err + } + var m map[string]interface{} + if err = json.Unmarshal(raw, &m); err != nil { + return true, err + } + // Note that converting to a Type will NOT successfully convert types + // not known to go-fed. This prevents accidentally wrapping an Activity + // type unknown to go-fed in a Create below. Instead, + // streams.ErrUnhandledType will be returned here. + asValue, err := streams.ToType(c, m) + if err != nil && !streams.IsUnmatchedErr(err) { + return true, err + } else if streams.IsUnmatchedErr(err) { + // Respond with bad request -- we do not understand the type. + w.WriteHeader(http.StatusBadRequest) + return true, nil + } + // Allow server implementations to set context data with a hook. + c, err = b.delegate.PostOutboxRequestBodyHook(c, r, asValue) + if err != nil { + return true, err + } + // The HTTP request steps are complete, complete the rest of the outbox + // and delivery process. + outboxId := requestId(r, scheme) + activity, err := b.deliver(c, outboxId, asValue, m) + // Special case: We know it is a bad request if the object or + // target properties needed to be populated, but weren't. + // + // Send the rejection to the client. + if err == ErrObjectRequired || err == ErrTargetRequired { + w.WriteHeader(http.StatusBadRequest) + return true, nil + } else if err != nil { + return true, err + } + // Respond to the request with the new Activity's IRI location. + w.Header().Set(locationHeader, activity.GetJSONLDId().Get().String()) + w.WriteHeader(http.StatusCreated) + return true, nil +} + +// GetOutbox implements the generic algorithm for handling a Get request to an +// actor's outbox independent on an application. It relies on a delegate to +// implement application specific functionality. +func (b *baseActor) GetOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (bool, error) { + // Do nothing if it is not an ActivityPub GET request. + if !isActivityPubGet(r) { + return false, nil + } + // Delegate authenticating and authorizing the request. + c, authenticated, err := b.delegate.AuthenticateGetOutbox(c, w, r) + if err != nil { + return true, err + } else if !authenticated { + return true, nil + } + // Everything is good to begin processing the request. + oc, err := b.delegate.GetOutbox(c, r) + if err != nil { + return true, err + } + // Request has been processed. Begin responding to the request. + // + // Serialize the OrderedCollection. + m, err := streams.Serialize(oc) + if err != nil { + return true, err + } + raw, err := json.Marshal(m) + if err != nil { + return true, err + } + // Write the response. + addResponseHeaders(w.Header(), b.clock, raw) + w.WriteHeader(http.StatusOK) + n, err := w.Write(raw) + if err != nil { + return true, err + } else if n != len(raw) { + return true, fmt.Errorf("ResponseWriter.Write wrote %d of %d bytes", n, len(raw)) + } + return true, nil +} + +// deliver delegates all outbox handling steps and optionally will federate the +// activity if the federated protocol is enabled. +// +// This function is not exported so an Actor that only supports C2S cannot be +// type casted to a FederatingActor. It doesn't exactly fit the Send method +// signature anyways. +// +// Note: 'm' is nilable. +func (b *baseActor) deliver(c context.Context, outbox *url.URL, asValue vocab.Type, m map[string]interface{}) (activity Activity, err error) { + // If the value is not an Activity or type extending from Activity, then + // we need to wrap it in a Create Activity. + if !streams.IsOrExtendsActivityStreamsActivity(asValue) { + asValue, err = b.delegate.WrapInCreate(c, asValue, outbox) + if err != nil { + return + } + } + // At this point, this should be a safe conversion. If this error is + // triggered, then there is either a bug in the delegation of + // WrapInCreate, behavior is not lining up in the generated ExtendedBy + // code, or something else is incorrect with the type system. + var ok bool + activity, ok = asValue.(Activity) + if !ok { + err = fmt.Errorf("activity streams value is not an Activity: %T", asValue) + return + } + // Delegate generating new IDs for the activity and all new objects. + if err = b.delegate.AddNewIDs(c, activity); err != nil { + return + } + // Post the activity to the actor's outbox and trigger side effects for + // that particular Activity type. + // + // Since 'm' is nil-able and side effects may need access to literal nil + // values, such as for Update activities, ensure 'm' is non-nil. + if m == nil { + m, err = asValue.Serialize() + if err != nil { + return + } + } + deliverable, err := b.delegate.PostOutbox(c, activity, outbox, m) + if err != nil { + return + } + // Request has been processed and all side effects internal to this + // application server have finished. Begin side effects affecting other + // servers and/or the client who sent this request. + // + // If we are federating and the type is a deliverable one, then deliver + // the activity to federating peers. + if b.enableFederatedProtocol && deliverable { + if err = b.delegate.Deliver(c, outbox, activity); err != nil { + return + } + } + return +} + +// Send is programmatically accessible if the federated protocol is enabled. +func (b *baseActorFederating) Send(c context.Context, outbox *url.URL, t vocab.Type) (Activity, error) { + return b.deliver(c, outbox, t, nil) +} diff --git a/vendor/github.com/go-fed/activity/pub/clock.go b/vendor/github.com/go-fed/activity/pub/clock.go new file mode 100644 index 000000000..bf19e49f7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/clock.go @@ -0,0 +1,11 @@ +package pub + +import ( + "time" +) + +// Clock determines the time. +type Clock interface { + // Now returns the current time. + Now() time.Time +} diff --git a/vendor/github.com/go-fed/activity/pub/common_behavior.go b/vendor/github.com/go-fed/activity/pub/common_behavior.go new file mode 100644 index 000000000..c4a701560 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/common_behavior.go @@ -0,0 +1,89 @@ +package pub + +import ( + "context" + "github.com/go-fed/activity/streams/vocab" + "net/http" + "net/url" +) + +// Common contains functions required for both the Social API and Federating +// Protocol. +// +// It is passed to the library as a dependency injection from the client +// application. +type CommonBehavior interface { + // AuthenticateGetInbox delegates the authentication of a GET to an + // inbox. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. + // + // If an error is returned, it is passed back to the caller of + // GetInbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authenticated' is ignored. + // + // If no error is returned, but authentication or authorization fails, + // then authenticated must be false and error nil. It is expected that + // the implementation handles writing to the ResponseWriter in this + // case. + // + // Finally, if the authentication and authorization succeeds, then + // authenticated must be true and error nil. The request will continue + // to be processed. + AuthenticateGetInbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) + // AuthenticateGetOutbox delegates the authentication of a GET to an + // outbox. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. + // + // If an error is returned, it is passed back to the caller of + // GetOutbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authenticated' is ignored. + // + // If no error is returned, but authentication or authorization fails, + // then authenticated must be false and error nil. It is expected that + // the implementation handles writing to the ResponseWriter in this + // case. + // + // Finally, if the authentication and authorization succeeds, then + // authenticated must be true and error nil. The request will continue + // to be processed. + AuthenticateGetOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) + // GetOutbox returns the OrderedCollection inbox of the actor for this + // context. It is up to the implementation to provide the correct + // collection for the kind of authorization given in the request. + // + // AuthenticateGetOutbox will be called prior to this. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. + GetOutbox(c context.Context, r *http.Request) (vocab.ActivityStreamsOrderedCollectionPage, error) + // NewTransport returns a new Transport on behalf of a specific actor. + // + // The actorBoxIRI will be either the inbox or outbox of an actor who is + // attempting to do the dereferencing or delivery. Any authentication + // scheme applied on the request must be based on this actor. The + // request must contain some sort of credential of the user, such as a + // HTTP Signature. + // + // The gofedAgent passed in should be used by the Transport + // implementation in the User-Agent, as well as the application-specific + // user agent string. The gofedAgent will indicate this library's use as + // well as the library's version number. + // + // Any server-wide rate-limiting that needs to occur should happen in a + // Transport implementation. This factory function allows this to be + // created, so peer servers are not DOS'd. + // + // Any retry logic should also be handled by the Transport + // implementation. + // + // Note that the library will not maintain a long-lived pointer to the + // returned Transport so that any private credentials are able to be + // garbage collected. + NewTransport(c context.Context, actorBoxIRI *url.URL, gofedAgent string) (t Transport, err error) +} diff --git a/vendor/github.com/go-fed/activity/pub/database.go b/vendor/github.com/go-fed/activity/pub/database.go new file mode 100644 index 000000000..0c2024e6b --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/database.go @@ -0,0 +1,139 @@ +package pub + +import ( + "context" + "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +type Database interface { + // Lock takes a lock for the object at the specified id. If an error + // is returned, the lock must not have been taken. + // + // The lock must be able to succeed for an id that does not exist in + // the database. This means acquiring the lock does not guarantee the + // entry exists in the database. + // + // Locks are encouraged to be lightweight and in the Go layer, as some + // processes require tight loops acquiring and releasing locks. + // + // Used to ensure race conditions in multiple requests do not occur. + Lock(c context.Context, id *url.URL) error + // Unlock makes the lock for the object at the specified id available. + // If an error is returned, the lock must have still been freed. + // + // Used to ensure race conditions in multiple requests do not occur. + Unlock(c context.Context, id *url.URL) error + // InboxContains returns true if the OrderedCollection at 'inbox' + // contains the specified 'id'. + // + // The library makes this call only after acquiring a lock first. + InboxContains(c context.Context, inbox, id *url.URL) (contains bool, err error) + // GetInbox returns the first ordered collection page of the outbox at + // the specified IRI, for prepending new items. + // + // The library makes this call only after acquiring a lock first. + GetInbox(c context.Context, inboxIRI *url.URL) (inbox vocab.ActivityStreamsOrderedCollectionPage, err error) + // SetInbox saves the inbox value given from GetInbox, with new items + // prepended. Note that the new items must not be added as independent + // database entries. Separate calls to Create will do that. + // + // The library makes this call only after acquiring a lock first. + SetInbox(c context.Context, inbox vocab.ActivityStreamsOrderedCollectionPage) error + // Owns returns true if the database has an entry for the IRI and it + // exists in the database. + // + // The library makes this call only after acquiring a lock first. + Owns(c context.Context, id *url.URL) (owns bool, err error) + // ActorForOutbox fetches the actor's IRI for the given outbox IRI. + // + // The library makes this call only after acquiring a lock first. + ActorForOutbox(c context.Context, outboxIRI *url.URL) (actorIRI *url.URL, err error) + // ActorForInbox fetches the actor's IRI for the given outbox IRI. + // + // The library makes this call only after acquiring a lock first. + ActorForInbox(c context.Context, inboxIRI *url.URL) (actorIRI *url.URL, err error) + // OutboxForInbox fetches the corresponding actor's outbox IRI for the + // actor's inbox IRI. + // + // The library makes this call only after acquiring a lock first. + OutboxForInbox(c context.Context, inboxIRI *url.URL) (outboxIRI *url.URL, err error) + // Exists returns true if the database has an entry for the specified + // id. It may not be owned by this application instance. + // + // The library makes this call only after acquiring a lock first. + Exists(c context.Context, id *url.URL) (exists bool, err error) + // Get returns the database entry for the specified id. + // + // The library makes this call only after acquiring a lock first. + Get(c context.Context, id *url.URL) (value vocab.Type, err error) + // Create adds a new entry to the database which must be able to be + // keyed by its id. + // + // Note that Activity values received from federated peers may also be + // created in the database this way if the Federating Protocol is + // enabled. The client may freely decide to store only the id instead of + // the entire value. + // + // The library makes this call only after acquiring a lock first. + // + // Under certain conditions and network activities, Create may be called + // multiple times for the same ActivityStreams object. + Create(c context.Context, asType vocab.Type) error + // Update sets an existing entry to the database based on the value's + // id. + // + // Note that Activity values received from federated peers may also be + // updated in the database this way if the Federating Protocol is + // enabled. The client may freely decide to store only the id instead of + // the entire value. + // + // The library makes this call only after acquiring a lock first. + Update(c context.Context, asType vocab.Type) error + // Delete removes the entry with the given id. + // + // Delete is only called for federated objects. Deletes from the Social + // Protocol instead call Update to create a Tombstone. + // + // The library makes this call only after acquiring a lock first. + Delete(c context.Context, id *url.URL) error + // GetOutbox returns the first ordered collection page of the outbox + // at the specified IRI, for prepending new items. + // + // The library makes this call only after acquiring a lock first. + GetOutbox(c context.Context, outboxIRI *url.URL) (outbox vocab.ActivityStreamsOrderedCollectionPage, err error) + // SetOutbox saves the outbox value given from GetOutbox, with new items + // prepended. Note that the new items must not be added as independent + // database entries. Separate calls to Create will do that. + // + // The library makes this call only after acquiring a lock first. + SetOutbox(c context.Context, outbox vocab.ActivityStreamsOrderedCollectionPage) error + // NewID creates a new IRI id for the provided activity or object. The + // implementation does not need to set the 'id' property and simply + // needs to determine the value. + // + // The go-fed library will handle setting the 'id' property on the + // activity or object provided with the value returned. + NewID(c context.Context, t vocab.Type) (id *url.URL, err error) + // Followers obtains the Followers Collection for an actor with the + // given id. + // + // If modified, the library will then call Update. + // + // The library makes this call only after acquiring a lock first. + Followers(c context.Context, actorIRI *url.URL) (followers vocab.ActivityStreamsCollection, err error) + // Following obtains the Following Collection for an actor with the + // given id. + // + // If modified, the library will then call Update. + // + // The library makes this call only after acquiring a lock first. + Following(c context.Context, actorIRI *url.URL) (following vocab.ActivityStreamsCollection, err error) + // Liked obtains the Liked Collection for an actor with the + // given id. + // + // If modified, the library will then call Update. + // + // The library makes this call only after acquiring a lock first. + Liked(c context.Context, actorIRI *url.URL) (liked vocab.ActivityStreamsCollection, err error) +} diff --git a/vendor/github.com/go-fed/activity/pub/delegate_actor.go b/vendor/github.com/go-fed/activity/pub/delegate_actor.go new file mode 100644 index 000000000..03465abaa --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/delegate_actor.go @@ -0,0 +1,248 @@ +package pub + +import ( + "context" + "github.com/go-fed/activity/streams/vocab" + "net/http" + "net/url" +) + +// DelegateActor contains the detailed interface an application must satisfy in +// order to implement the ActivityPub specification. +// +// Note that an implementation of this interface is implicitly provided in the +// calls to NewActor, NewSocialActor, and NewFederatingActor. +// +// Implementing the DelegateActor requires familiarity with the ActivityPub +// specification because it does not a strong enough abstraction for the client +// application to ignore the ActivityPub spec. It is very possible to implement +// this interface and build a foot-gun that trashes the fediverse without being +// ActivityPub compliant. Please use with due consideration. +// +// Alternatively, build an application that uses the parts of the pub library +// that do not require implementing a DelegateActor so that the ActivityPub +// implementation is completely provided out of the box. +type DelegateActor interface { + // Hook callback after parsing the request body for a federated request + // to the Actor's inbox. + // + // Can be used to set contextual information based on the Activity + // received. + // + // Only called if the Federated Protocol is enabled. + // + // Warning: Neither authentication nor authorization has taken place at + // this time. Doing anything beyond setting contextual information is + // strongly discouraged. + // + // If an error is returned, it is passed back to the caller of + // PostInbox. In this case, the DelegateActor implementation must not + // write a response to the ResponseWriter as is expected that the caller + // to PostInbox will do so when handling the error. + PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) (context.Context, error) + // Hook callback after parsing the request body for a client request + // to the Actor's outbox. + // + // Can be used to set contextual information based on the + // ActivityStreams object received. + // + // Only called if the Social API is enabled. + // + // Warning: Neither authentication nor authorization has taken place at + // this time. Doing anything beyond setting contextual information is + // strongly discouraged. + // + // If an error is returned, it is passed back to the caller of + // PostOutbox. In this case, the DelegateActor implementation must not + // write a response to the ResponseWriter as is expected that the caller + // to PostOutbox will do so when handling the error. + PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) (context.Context, error) + // AuthenticatePostInbox delegates the authentication of a POST to an + // inbox. + // + // Only called if the Federated Protocol is enabled. + // + // If an error is returned, it is passed back to the caller of + // PostInbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authenticated' is ignored. + // + // If no error is returned, but authentication or authorization fails, + // then authenticated must be false and error nil. It is expected that + // the implementation handles writing to the ResponseWriter in this + // case. + // + // Finally, if the authentication and authorization succeeds, then + // authenticated must be true and error nil. The request will continue + // to be processed. + AuthenticatePostInbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) + // AuthenticateGetInbox delegates the authentication of a GET to an + // inbox. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. + // + // If an error is returned, it is passed back to the caller of + // GetInbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authenticated' is ignored. + // + // If no error is returned, but authentication or authorization fails, + // then authenticated must be false and error nil. It is expected that + // the implementation handles writing to the ResponseWriter in this + // case. + // + // Finally, if the authentication and authorization succeeds, then + // authenticated must be true and error nil. The request will continue + // to be processed. + AuthenticateGetInbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) + // AuthorizePostInbox delegates the authorization of an activity that + // has been sent by POST to an inbox. + // + // Only called if the Federated Protocol is enabled. + // + // If an error is returned, it is passed back to the caller of + // PostInbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authorized' is ignored. + // + // If no error is returned, but authorization fails, then authorized + // must be false and error nil. It is expected that the implementation + // handles writing to the ResponseWriter in this case. + // + // Finally, if the authentication and authorization succeeds, then + // authorized must be true and error nil. The request will continue + // to be processed. + AuthorizePostInbox(c context.Context, w http.ResponseWriter, activity Activity) (authorized bool, err error) + // PostInbox delegates the side effects of adding to the inbox and + // determining if it is a request that should be blocked. + // + // Only called if the Federated Protocol is enabled. + // + // As a side effect, PostInbox sets the federated data in the inbox, but + // not on its own in the database, as InboxForwarding (which is called + // later) must decide whether it has seen this activity before in order + // to determine whether to do the forwarding algorithm. + // + // If the error is ErrObjectRequired or ErrTargetRequired, then a Bad + // Request status is sent in the response. + PostInbox(c context.Context, inboxIRI *url.URL, activity Activity) error + // InboxForwarding delegates inbox forwarding logic when a POST request + // is received in the Actor's inbox. + // + // Only called if the Federated Protocol is enabled. + // + // The delegate is responsible for determining whether to do the inbox + // forwarding, as well as actually conducting it if it determines it + // needs to. + // + // As a side effect, InboxForwarding must set the federated data in the + // database, independently of the inbox, however it sees fit in order to + // determine whether it has seen the activity before. + // + // The provided url is the inbox of the recipient of the Activity. The + // Activity is examined for the information about who to inbox forward + // to. + // + // If an error is returned, it is returned to the caller of PostInbox. + InboxForwarding(c context.Context, inboxIRI *url.URL, activity Activity) error + // PostOutbox delegates the logic for side effects and adding to the + // outbox. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. In the case of the Social API being enabled, side + // effects of the Activity must occur. + // + // The delegate is responsible for adding the activity to the database's + // general storage for independent retrieval, and not just within the + // actor's outbox. + // + // If the error is ErrObjectRequired or ErrTargetRequired, then a Bad + // Request status is sent in the response. + // + // Note that 'rawJSON' is an unfortunate consequence where an 'Update' + // Activity is the only one that explicitly cares about 'null' values in + // JSON. Since go-fed does not differentiate between 'null' values and + // values that are simply not present, the 'rawJSON' map is ONLY needed + // for this narrow and specific use case. + PostOutbox(c context.Context, a Activity, outboxIRI *url.URL, rawJSON map[string]interface{}) (deliverable bool, e error) + // AddNewIDs sets new URL ids on the activity. It also does so for all + // 'object' properties if the Activity is a Create type. + // + // Only called if the Social API is enabled. + // + // If an error is returned, it is returned to the caller of PostOutbox. + AddNewIDs(c context.Context, a Activity) error + // Deliver sends a federated message. Called only if federation is + // enabled. + // + // Called if the Federated Protocol is enabled. + // + // The provided url is the outbox of the sender. The Activity contains + // the information about the intended recipients. + // + // If an error is returned, it is returned to the caller of PostOutbox. + Deliver(c context.Context, outbox *url.URL, activity Activity) error + // AuthenticatePostOutbox delegates the authentication and authorization + // of a POST to an outbox. + // + // Only called if the Social API is enabled. + // + // If an error is returned, it is passed back to the caller of + // PostOutbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authenticated' is ignored. + // + // If no error is returned, but authentication or authorization fails, + // then authenticated must be false and error nil. It is expected that + // the implementation handles writing to the ResponseWriter in this + // case. + // + // Finally, if the authentication and authorization succeeds, then + // authenticated must be true and error nil. The request will continue + // to be processed. + AuthenticatePostOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) + // AuthenticateGetOutbox delegates the authentication of a GET to an + // outbox. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. + // + // If an error is returned, it is passed back to the caller of + // GetOutbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authenticated' is ignored. + // + // If no error is returned, but authentication or authorization fails, + // then authenticated must be false and error nil. It is expected that + // the implementation handles writing to the ResponseWriter in this + // case. + // + // Finally, if the authentication and authorization succeeds, then + // authenticated must be true and error nil. The request will continue + // to be processed. + AuthenticateGetOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) + // WrapInCreate wraps the provided object in a Create ActivityStreams + // activity. The provided URL is the actor's outbox endpoint. + // + // Only called if the Social API is enabled. + WrapInCreate(c context.Context, value vocab.Type, outboxIRI *url.URL) (vocab.ActivityStreamsCreate, error) + // GetOutbox returns the OrderedCollection inbox of the actor for this + // context. It is up to the implementation to provide the correct + // collection for the kind of authorization given in the request. + // + // AuthenticateGetOutbox will be called prior to this. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. + GetOutbox(c context.Context, r *http.Request) (vocab.ActivityStreamsOrderedCollectionPage, error) + // GetInbox returns the OrderedCollection inbox of the actor for this + // context. It is up to the implementation to provide the correct + // collection for the kind of authorization given in the request. + // + // AuthenticateGetInbox will be called prior to this. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. + GetInbox(c context.Context, r *http.Request) (vocab.ActivityStreamsOrderedCollectionPage, error) +} diff --git a/vendor/github.com/go-fed/activity/pub/doc.go b/vendor/github.com/go-fed/activity/pub/doc.go new file mode 100644 index 000000000..93c778179 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/doc.go @@ -0,0 +1,9 @@ +// Package pub implements the ActivityPub protocol. +// +// Note that every time the ActivityStreams types are changed (added, removed) +// due to code generation, the internal function toASType needs to be modified +// to know about these types. +// +// Note that every version change should also include a change in the version.go +// file. +package pub diff --git a/vendor/github.com/go-fed/activity/pub/federating_protocol.go b/vendor/github.com/go-fed/activity/pub/federating_protocol.go new file mode 100644 index 000000000..edb22bc03 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/federating_protocol.go @@ -0,0 +1,124 @@ +package pub + +import ( + "context" + "github.com/go-fed/activity/streams/vocab" + "net/http" + "net/url" +) + +// FederatingProtocol contains behaviors an application needs to satisfy for the +// full ActivityPub S2S implementation to be supported by this library. +// +// It is only required if the client application wants to support the server-to- +// server, or federating, protocol. +// +// It is passed to the library as a dependency injection from the client +// application. +type FederatingProtocol interface { + // Hook callback after parsing the request body for a federated request + // to the Actor's inbox. + // + // Can be used to set contextual information based on the Activity + // received. + // + // Only called if the Federated Protocol is enabled. + // + // Warning: Neither authentication nor authorization has taken place at + // this time. Doing anything beyond setting contextual information is + // strongly discouraged. + // + // If an error is returned, it is passed back to the caller of + // PostInbox. In this case, the DelegateActor implementation must not + // write a response to the ResponseWriter as is expected that the caller + // to PostInbox will do so when handling the error. + PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) (context.Context, error) + // AuthenticatePostInbox delegates the authentication of a POST to an + // inbox. + // + // If an error is returned, it is passed back to the caller of + // PostInbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authenticated' is ignored. + // + // If no error is returned, but authentication or authorization fails, + // then authenticated must be false and error nil. It is expected that + // the implementation handles writing to the ResponseWriter in this + // case. + // + // Finally, if the authentication and authorization succeeds, then + // authenticated must be true and error nil. The request will continue + // to be processed. + AuthenticatePostInbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) + // Blocked should determine whether to permit a set of actors given by + // their ids are able to interact with this particular end user due to + // being blocked or other application-specific logic. + // + // If an error is returned, it is passed back to the caller of + // PostInbox. + // + // If no error is returned, but authentication or authorization fails, + // then blocked must be true and error nil. An http.StatusForbidden + // will be written in the wresponse. + // + // Finally, if the authentication and authorization succeeds, then + // blocked must be false and error nil. The request will continue + // to be processed. + Blocked(c context.Context, actorIRIs []*url.URL) (blocked bool, err error) + // FederatingCallbacks returns the application logic that handles + // ActivityStreams received from federating peers. + // + // Note that certain types of callbacks will be 'wrapped' with default + // behaviors supported natively by the library. Other callbacks + // compatible with streams.TypeResolver can be specified by 'other'. + // + // For example, setting the 'Create' field in the + // FederatingWrappedCallbacks lets an application dependency inject + // additional behaviors they want to take place, including the default + // behavior supplied by this library. This is guaranteed to be compliant + // with the ActivityPub Social protocol. + // + // To override the default behavior, instead supply the function in + // 'other', which does not guarantee the application will be compliant + // with the ActivityPub Social Protocol. + // + // Applications are not expected to handle every single ActivityStreams + // type and extension. The unhandled ones are passed to DefaultCallback. + FederatingCallbacks(c context.Context) (wrapped FederatingWrappedCallbacks, other []interface{}, err error) + // DefaultCallback is called for types that go-fed can deserialize but + // are not handled by the application's callbacks returned in the + // Callbacks method. + // + // Applications are not expected to handle every single ActivityStreams + // type and extension, so the unhandled ones are passed to + // DefaultCallback. + DefaultCallback(c context.Context, activity Activity) error + // MaxInboxForwardingRecursionDepth determines how deep to search within + // an activity to determine if inbox forwarding needs to occur. + // + // Zero or negative numbers indicate infinite recursion. + MaxInboxForwardingRecursionDepth(c context.Context) int + // MaxDeliveryRecursionDepth determines how deep to search within + // collections owned by peers when they are targeted to receive a + // delivery. + // + // Zero or negative numbers indicate infinite recursion. + MaxDeliveryRecursionDepth(c context.Context) int + // FilterForwarding allows the implementation to apply business logic + // such as blocks, spam filtering, and so on to a list of potential + // Collections and OrderedCollections of recipients when inbox + // forwarding has been triggered. + // + // The activity is provided as a reference for more intelligent + // logic to be used, but the implementation must not modify it. + FilterForwarding(c context.Context, potentialRecipients []*url.URL, a Activity) (filteredRecipients []*url.URL, err error) + // GetInbox returns the OrderedCollection inbox of the actor for this + // context. It is up to the implementation to provide the correct + // collection for the kind of authorization given in the request. + // + // AuthenticateGetInbox will be called prior to this. + // + // Always called, regardless whether the Federated Protocol or Social + // API is enabled. + GetInbox(c context.Context, r *http.Request) (vocab.ActivityStreamsOrderedCollectionPage, error) +} diff --git a/vendor/github.com/go-fed/activity/pub/federating_wrapped_callbacks.go b/vendor/github.com/go-fed/activity/pub/federating_wrapped_callbacks.go new file mode 100644 index 000000000..a406acb7a --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/federating_wrapped_callbacks.go @@ -0,0 +1,907 @@ +package pub + +import ( + "context" + "encoding/json" + "fmt" + "github.com/go-fed/activity/streams" + "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// OnFollowBehavior enumerates the different default actions that the go-fed +// library can provide when receiving a Follow Activity from a peer. +type OnFollowBehavior int + +const ( + // OnFollowDoNothing does not take any action when a Follow Activity + // is received. + OnFollowDoNothing OnFollowBehavior = iota + // OnFollowAutomaticallyAccept triggers the side effect of sending an + // Accept of this Follow request in response. + OnFollowAutomaticallyAccept + // OnFollowAutomaticallyAccept triggers the side effect of sending a + // Reject of this Follow request in response. + OnFollowAutomaticallyReject +) + +// FederatingWrappedCallbacks lists the callback functions that already have +// some side effect behavior provided by the pub library. +// +// These functions are wrapped for the Federating Protocol. +type FederatingWrappedCallbacks struct { + // Create handles additional side effects for the Create ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping callback for the Federating Protocol ensures the + // 'object' property is created in the database. + // + // Create calls Create for each object in the federated Activity. + Create func(context.Context, vocab.ActivityStreamsCreate) error + // Update handles additional side effects for the Update ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping callback for the Federating Protocol ensures the + // 'object' property is updated in the database. + // + // Update calls Update on the federated entry from the database, with a + // new value. + Update func(context.Context, vocab.ActivityStreamsUpdate) error + // Delete handles additional side effects for the Delete ActivityStreams + // type, specific to the application using go-fed. + // + // Delete removes the federated entry from the database. + Delete func(context.Context, vocab.ActivityStreamsDelete) error + // Follow handles additional side effects for the Follow ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping function can have one of several default behaviors, + // depending on the value of the OnFollow setting. + Follow func(context.Context, vocab.ActivityStreamsFollow) error + // OnFollow determines what action to take for this particular callback + // if a Follow Activity is handled. + OnFollow OnFollowBehavior + // Accept handles additional side effects for the Accept ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping function determines if this 'Accept' is in response to a + // 'Follow'. If so, then the 'actor' is added to the original 'actor's + // 'following' collection. + // + // Otherwise, no side effects are done by go-fed. + Accept func(context.Context, vocab.ActivityStreamsAccept) error + // Reject handles additional side effects for the Reject ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping function has no default side effects. However, if this + // 'Reject' is in response to a 'Follow' then the client MUST NOT go + // forward with adding the 'actor' to the original 'actor's 'following' + // collection by the client application. + Reject func(context.Context, vocab.ActivityStreamsReject) error + // Add handles additional side effects for the Add ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping function will add the 'object' IRIs to a specific + // 'target' collection if the 'target' collection(s) live on this + // server. + Add func(context.Context, vocab.ActivityStreamsAdd) error + // Remove handles additional side effects for the Remove ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping function will remove all 'object' IRIs from a specific + // 'target' collection if the 'target' collection(s) live on this + // server. + Remove func(context.Context, vocab.ActivityStreamsRemove) error + // Like handles additional side effects for the Like ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping function will add the activity to the "likes" collection + // on all 'object' targets owned by this server. + Like func(context.Context, vocab.ActivityStreamsLike) error + // Announce handles additional side effects for the Announce + // ActivityStreams type, specific to the application using go-fed. + // + // The wrapping function will add the activity to the "shares" + // collection on all 'object' targets owned by this server. + Announce func(context.Context, vocab.ActivityStreamsAnnounce) error + // Undo handles additional side effects for the Undo ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping function ensures the 'actor' on the 'Undo' + // is be the same as the 'actor' on all Activities being undone. + // It enforces that the actors on the Undo must correspond to all of the + // 'object' actors in some manner. + // + // It is expected that the application will implement the proper + // reversal of activities that are being undone. + Undo func(context.Context, vocab.ActivityStreamsUndo) error + // Block handles additional side effects for the Block ActivityStreams + // type, specific to the application using go-fed. + // + // The wrapping function provides no default side effects. It simply + // calls the wrapped function. However, note that Blocks should not be + // received from a federated peer, as delivering Blocks explicitly + // deviates from the original ActivityPub specification. + Block func(context.Context, vocab.ActivityStreamsBlock) error + + // Sidechannel data -- this is set at request handling time. These must + // be set before the callbacks are used. + + // db is the Database the FederatingWrappedCallbacks should use. + db Database + // inboxIRI is the inboxIRI that is handling this callback. + inboxIRI *url.URL + // addNewIds creates new 'id' entries on an activity and its objects if + // it is a Create activity. + addNewIds func(c context.Context, activity Activity) error + // deliver delivers an outgoing message. + deliver func(c context.Context, outboxIRI *url.URL, activity Activity) error + // newTransport creates a new Transport. + newTransport func(c context.Context, actorBoxIRI *url.URL, gofedAgent string) (t Transport, err error) +} + +// callbacks returns the WrappedCallbacks members into a single interface slice +// for use in streams.Resolver callbacks. +// +// If the given functions have a type that collides with the default behavior, +// then disable our default behavior +func (w FederatingWrappedCallbacks) callbacks(fns []interface{}) []interface{} { + enableCreate := true + enableUpdate := true + enableDelete := true + enableFollow := true + enableAccept := true + enableReject := true + enableAdd := true + enableRemove := true + enableLike := true + enableAnnounce := true + enableUndo := true + enableBlock := true + for _, fn := range fns { + switch fn.(type) { + default: + continue + case func(context.Context, vocab.ActivityStreamsCreate) error: + enableCreate = false + case func(context.Context, vocab.ActivityStreamsUpdate) error: + enableUpdate = false + case func(context.Context, vocab.ActivityStreamsDelete) error: + enableDelete = false + case func(context.Context, vocab.ActivityStreamsFollow) error: + enableFollow = false + case func(context.Context, vocab.ActivityStreamsAccept) error: + enableAccept = false + case func(context.Context, vocab.ActivityStreamsReject) error: + enableReject = false + case func(context.Context, vocab.ActivityStreamsAdd) error: + enableAdd = false + case func(context.Context, vocab.ActivityStreamsRemove) error: + enableRemove = false + case func(context.Context, vocab.ActivityStreamsLike) error: + enableLike = false + case func(context.Context, vocab.ActivityStreamsAnnounce) error: + enableAnnounce = false + case func(context.Context, vocab.ActivityStreamsUndo) error: + enableUndo = false + case func(context.Context, vocab.ActivityStreamsBlock) error: + enableBlock = false + } + } + if enableCreate { + fns = append(fns, w.create) + } + if enableUpdate { + fns = append(fns, w.update) + } + if enableDelete { + fns = append(fns, w.deleteFn) + } + if enableFollow { + fns = append(fns, w.follow) + } + if enableAccept { + fns = append(fns, w.accept) + } + if enableReject { + fns = append(fns, w.reject) + } + if enableAdd { + fns = append(fns, w.add) + } + if enableRemove { + fns = append(fns, w.remove) + } + if enableLike { + fns = append(fns, w.like) + } + if enableAnnounce { + fns = append(fns, w.announce) + } + if enableUndo { + fns = append(fns, w.undo) + } + if enableBlock { + fns = append(fns, w.block) + } + return fns +} + +// create implements the federating Create activity side effects. +func (w FederatingWrappedCallbacks) create(c context.Context, a vocab.ActivityStreamsCreate) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(iter vocab.ActivityStreamsObjectPropertyIterator) error { + t := iter.GetType() + if t == nil && iter.IsIRI() { + // Attempt to dereference the IRI instead + tport, err := w.newTransport(c, w.inboxIRI, goFedUserAgent()) + if err != nil { + return err + } + b, err := tport.Dereference(c, iter.GetIRI()) + if err != nil { + return err + } + var m map[string]interface{} + if err = json.Unmarshal(b, &m); err != nil { + return err + } + t, err = streams.ToType(c, m) + if err != nil { + return err + } + } else if t == nil { + return fmt.Errorf("cannot handle federated create: object is neither a value nor IRI") + } + id, err := GetId(t) + if err != nil { + return err + } + err = w.db.Lock(c, id) + if err != nil { + return err + } + defer w.db.Unlock(c, id) + if err := w.db.Create(c, t); err != nil { + return err + } + return nil + } + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + if err := loopFn(iter); err != nil { + return err + } + } + if w.Create != nil { + return w.Create(c, a) + } + return nil +} + +// update implements the federating Update activity side effects. +func (w FederatingWrappedCallbacks) update(c context.Context, a vocab.ActivityStreamsUpdate) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + if err := mustHaveActivityOriginMatchObjects(a); err != nil { + return err + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(iter vocab.ActivityStreamsObjectPropertyIterator) error { + t := iter.GetType() + if t == nil { + return fmt.Errorf("update requires an object to be wholly provided") + } + id, err := GetId(t) + if err != nil { + return err + } + err = w.db.Lock(c, id) + if err != nil { + return err + } + defer w.db.Unlock(c, id) + if err := w.db.Update(c, t); err != nil { + return err + } + return nil + } + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + if err := loopFn(iter); err != nil { + return err + } + } + if w.Update != nil { + return w.Update(c, a) + } + return nil +} + +// deleteFn implements the federating Delete activity side effects. +func (w FederatingWrappedCallbacks) deleteFn(c context.Context, a vocab.ActivityStreamsDelete) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + if err := mustHaveActivityOriginMatchObjects(a); err != nil { + return err + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(iter vocab.ActivityStreamsObjectPropertyIterator) error { + id, err := ToId(iter) + if err != nil { + return err + } + err = w.db.Lock(c, id) + if err != nil { + return err + } + defer w.db.Unlock(c, id) + if err := w.db.Delete(c, id); err != nil { + return err + } + return nil + } + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + if err := loopFn(iter); err != nil { + return err + } + } + if w.Delete != nil { + return w.Delete(c, a) + } + return nil +} + +// follow implements the federating Follow activity side effects. +func (w FederatingWrappedCallbacks) follow(c context.Context, a vocab.ActivityStreamsFollow) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + // Check that we own at least one of the 'object' properties, and ensure + // it is to the actor that owns this inbox. + // + // If not then don't send a response. It was federated to us as an FYI, + // by mistake, or some other reason. + if err := w.db.Lock(c, w.inboxIRI); err != nil { + return err + } + // WARNING: Unlock not deferred. + actorIRI, err := w.db.ActorForInbox(c, w.inboxIRI) + if err != nil { + w.db.Unlock(c, w.inboxIRI) + return err + } + w.db.Unlock(c, w.inboxIRI) + // Unlock must be called by now and every branch above. + isMe := false + if w.OnFollow != OnFollowDoNothing { + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + if id.String() == actorIRI.String() { + isMe = true + break + } + } + } + if isMe { + // Prepare the response. + var response Activity + if w.OnFollow == OnFollowAutomaticallyAccept { + response = streams.NewActivityStreamsAccept() + } else if w.OnFollow == OnFollowAutomaticallyReject { + response = streams.NewActivityStreamsReject() + } else { + return fmt.Errorf("unknown OnFollowBehavior: %d", w.OnFollow) + } + // Set us as the 'actor'. + me := streams.NewActivityStreamsActorProperty() + response.SetActivityStreamsActor(me) + me.AppendIRI(actorIRI) + // Set the Follow as the 'object' property. + op := streams.NewActivityStreamsObjectProperty() + response.SetActivityStreamsObject(op) + op.AppendActivityStreamsFollow(a) + // Add all actors on the original Follow to the 'to' property. + recipients := make([]*url.URL, 0) + to := streams.NewActivityStreamsToProperty() + response.SetActivityStreamsTo(to) + followActors := a.GetActivityStreamsActor() + for iter := followActors.Begin(); iter != followActors.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + to.AppendIRI(id) + recipients = append(recipients, id) + } + if w.OnFollow == OnFollowAutomaticallyAccept { + // If automatically accepting, then also update our + // followers collection with the new actors. + // + // If automatically rejecting, do not update the + // followers collection. + if err := w.db.Lock(c, actorIRI); err != nil { + return err + } + // WARNING: Unlock not deferred. + followers, err := w.db.Followers(c, actorIRI) + if err != nil { + w.db.Unlock(c, actorIRI) + return err + } + items := followers.GetActivityStreamsItems() + if items == nil { + items = streams.NewActivityStreamsItemsProperty() + followers.SetActivityStreamsItems(items) + } + for _, elem := range recipients { + items.PrependIRI(elem) + } + if err = w.db.Update(c, followers); err != nil { + w.db.Unlock(c, actorIRI) + return err + } + w.db.Unlock(c, actorIRI) + // Unlock must be called by now and every branch above. + } + // Lock without defer! + w.db.Lock(c, w.inboxIRI) + outboxIRI, err := w.db.OutboxForInbox(c, w.inboxIRI) + if err != nil { + w.db.Unlock(c, w.inboxIRI) + return err + } + w.db.Unlock(c, w.inboxIRI) + // Everything must be unlocked by now. + if err := w.addNewIds(c, response); err != nil { + return err + } else if err := w.deliver(c, outboxIRI, response); err != nil { + return err + } + } + if w.Follow != nil { + return w.Follow(c, a) + } + return nil +} + +// accept implements the federating Accept activity side effects. +func (w FederatingWrappedCallbacks) accept(c context.Context, a vocab.ActivityStreamsAccept) error { + op := a.GetActivityStreamsObject() + if op != nil && op.Len() > 0 { + // Get this actor's id. + if err := w.db.Lock(c, w.inboxIRI); err != nil { + return err + } + // WARNING: Unlock not deferred. + actorIRI, err := w.db.ActorForInbox(c, w.inboxIRI) + if err != nil { + w.db.Unlock(c, w.inboxIRI) + return err + } + w.db.Unlock(c, w.inboxIRI) + // Unlock must be called by now and every branch above. + // + // Determine if we are in a follow on the 'object' property. + // + // TODO: Handle Accept multiple Follow. + var maybeMyFollowIRI *url.URL + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + t := iter.GetType() + if t == nil && iter.IsIRI() { + // Attempt to dereference the IRI instead + tport, err := w.newTransport(c, w.inboxIRI, goFedUserAgent()) + if err != nil { + return err + } + b, err := tport.Dereference(c, iter.GetIRI()) + if err != nil { + return err + } + var m map[string]interface{} + if err = json.Unmarshal(b, &m); err != nil { + return err + } + t, err = streams.ToType(c, m) + if err != nil { + return err + } + } else if t == nil { + return fmt.Errorf("cannot handle federated create: object is neither a value nor IRI") + } + // Ensure it is a Follow. + if !streams.IsOrExtendsActivityStreamsFollow(t) { + continue + } + follow, ok := t.(Activity) + if !ok { + return fmt.Errorf("a Follow in an Accept does not satisfy the Activity interface") + } + followId, err := GetId(follow) + if err != nil { + return err + } + // Ensure that we are one of the actors on the Follow. + actors := follow.GetActivityStreamsActor() + for iter := actors.Begin(); iter != actors.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + if id.String() == actorIRI.String() { + maybeMyFollowIRI = followId + break + } + } + // Continue breaking if we found ourselves + if maybeMyFollowIRI != nil { + break + } + } + // If we received an Accept whose 'object' is a Follow with an + // Accept that we sent, add to the following collection. + if maybeMyFollowIRI != nil { + // Verify our Follow request exists and the peer didn't + // fabricate it. + activityActors := a.GetActivityStreamsActor() + if activityActors == nil || activityActors.Len() == 0 { + return fmt.Errorf("an Accept with a Follow has no actors") + } + // This may be a duplicate check if we dereferenced the + // Follow above. TODO: Separate this logic to avoid + // redundancy. + // + // Use an anonymous function to properly scope the + // database lock, immediately call it. + err = func() error { + if err := w.db.Lock(c, maybeMyFollowIRI); err != nil { + return err + } + defer w.db.Unlock(c, maybeMyFollowIRI) + t, err := w.db.Get(c, maybeMyFollowIRI) + if err != nil { + return err + } + if !streams.IsOrExtendsActivityStreamsFollow(t) { + return fmt.Errorf("peer gave an Accept wrapping a Follow but provided a non-Follow id") + } + follow, ok := t.(Activity) + if !ok { + return fmt.Errorf("a Follow in an Accept does not satisfy the Activity interface") + } + // Ensure that we are one of the actors on the Follow. + ok = false + actors := follow.GetActivityStreamsActor() + for iter := actors.Begin(); iter != actors.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + if id.String() == actorIRI.String() { + ok = true + break + } + } + if !ok { + return fmt.Errorf("peer gave an Accept wrapping a Follow but we are not the actor on that Follow") + } + // Build map of original Accept actors + acceptActors := make(map[string]bool) + for iter := activityActors.Begin(); iter != activityActors.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + acceptActors[id.String()] = false + } + // Verify all actor(s) were on the original Follow. + followObj := follow.GetActivityStreamsObject() + for iter := followObj.Begin(); iter != followObj.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + if _, ok := acceptActors[id.String()]; ok { + acceptActors[id.String()] = true + } + } + for _, found := range acceptActors { + if !found { + return fmt.Errorf("peer gave an Accept wrapping a Follow but was not an object in the original Follow") + } + } + return nil + }() + if err != nil { + return err + } + // Add the peer to our following collection. + if err := w.db.Lock(c, actorIRI); err != nil { + return err + } + // WARNING: Unlock not deferred. + following, err := w.db.Following(c, actorIRI) + if err != nil { + w.db.Unlock(c, actorIRI) + return err + } + items := following.GetActivityStreamsItems() + if items == nil { + items = streams.NewActivityStreamsItemsProperty() + following.SetActivityStreamsItems(items) + } + for iter := activityActors.Begin(); iter != activityActors.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + w.db.Unlock(c, actorIRI) + return err + } + items.PrependIRI(id) + } + if err = w.db.Update(c, following); err != nil { + w.db.Unlock(c, actorIRI) + return err + } + w.db.Unlock(c, actorIRI) + // Unlock must be called by now and every branch above. + } + } + if w.Accept != nil { + return w.Accept(c, a) + } + return nil +} + +// reject implements the federating Reject activity side effects. +func (w FederatingWrappedCallbacks) reject(c context.Context, a vocab.ActivityStreamsReject) error { + if w.Reject != nil { + return w.Reject(c, a) + } + return nil +} + +// add implements the federating Add activity side effects. +func (w FederatingWrappedCallbacks) add(c context.Context, a vocab.ActivityStreamsAdd) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + target := a.GetActivityStreamsTarget() + if target == nil || target.Len() == 0 { + return ErrTargetRequired + } + if err := add(c, op, target, w.db); err != nil { + return err + } + if w.Add != nil { + return w.Add(c, a) + } + return nil +} + +// remove implements the federating Remove activity side effects. +func (w FederatingWrappedCallbacks) remove(c context.Context, a vocab.ActivityStreamsRemove) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + target := a.GetActivityStreamsTarget() + if target == nil || target.Len() == 0 { + return ErrTargetRequired + } + if err := remove(c, op, target, w.db); err != nil { + return err + } + if w.Remove != nil { + return w.Remove(c, a) + } + return nil +} + +// like implements the federating Like activity side effects. +func (w FederatingWrappedCallbacks) like(c context.Context, a vocab.ActivityStreamsLike) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + id, err := GetId(a) + if err != nil { + return err + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(iter vocab.ActivityStreamsObjectPropertyIterator) error { + objId, err := ToId(iter) + if err != nil { + return err + } + if err := w.db.Lock(c, objId); err != nil { + return err + } + defer w.db.Unlock(c, objId) + if owns, err := w.db.Owns(c, objId); err != nil { + return err + } else if !owns { + return nil + } + t, err := w.db.Get(c, objId) + if err != nil { + return err + } + l, ok := t.(likeser) + if !ok { + return fmt.Errorf("cannot add Like to likes collection for type %T", t) + } + // Get 'likes' property on the object, creating default if + // necessary. + likes := l.GetActivityStreamsLikes() + if likes == nil { + likes = streams.NewActivityStreamsLikesProperty() + l.SetActivityStreamsLikes(likes) + } + // Get 'likes' value, defaulting to a collection. + likesT := likes.GetType() + if likesT == nil { + col := streams.NewActivityStreamsCollection() + likesT = col + likes.SetActivityStreamsCollection(col) + } + // Prepend the activity's 'id' on the 'likes' Collection or + // OrderedCollection. + if col, ok := likesT.(itemser); ok { + items := col.GetActivityStreamsItems() + if items == nil { + items = streams.NewActivityStreamsItemsProperty() + col.SetActivityStreamsItems(items) + } + items.PrependIRI(id) + } else if oCol, ok := likesT.(orderedItemser); ok { + oItems := oCol.GetActivityStreamsOrderedItems() + if oItems == nil { + oItems = streams.NewActivityStreamsOrderedItemsProperty() + oCol.SetActivityStreamsOrderedItems(oItems) + } + oItems.PrependIRI(id) + } else { + return fmt.Errorf("likes type is neither a Collection nor an OrderedCollection: %T", likesT) + } + err = w.db.Update(c, t) + if err != nil { + return err + } + return nil + } + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + if err := loopFn(iter); err != nil { + return err + } + } + if w.Like != nil { + return w.Like(c, a) + } + return nil +} + +// announce implements the federating Announce activity side effects. +func (w FederatingWrappedCallbacks) announce(c context.Context, a vocab.ActivityStreamsAnnounce) error { + id, err := GetId(a) + if err != nil { + return err + } + op := a.GetActivityStreamsObject() + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(iter vocab.ActivityStreamsObjectPropertyIterator) error { + objId, err := ToId(iter) + if err != nil { + return err + } + if err := w.db.Lock(c, objId); err != nil { + return err + } + defer w.db.Unlock(c, objId) + if owns, err := w.db.Owns(c, objId); err != nil { + return err + } else if !owns { + return nil + } + t, err := w.db.Get(c, objId) + if err != nil { + return err + } + s, ok := t.(shareser) + if !ok { + return fmt.Errorf("cannot add Announce to Shares collection for type %T", t) + } + // Get 'shares' property on the object, creating default if + // necessary. + shares := s.GetActivityStreamsShares() + if shares == nil { + shares = streams.NewActivityStreamsSharesProperty() + s.SetActivityStreamsShares(shares) + } + // Get 'shares' value, defaulting to a collection. + sharesT := shares.GetType() + if sharesT == nil { + col := streams.NewActivityStreamsCollection() + sharesT = col + shares.SetActivityStreamsCollection(col) + } + // Prepend the activity's 'id' on the 'shares' Collection or + // OrderedCollection. + if col, ok := sharesT.(itemser); ok { + items := col.GetActivityStreamsItems() + if items == nil { + items = streams.NewActivityStreamsItemsProperty() + col.SetActivityStreamsItems(items) + } + items.PrependIRI(id) + } else if oCol, ok := sharesT.(orderedItemser); ok { + oItems := oCol.GetActivityStreamsOrderedItems() + if oItems == nil { + oItems = streams.NewActivityStreamsOrderedItemsProperty() + oCol.SetActivityStreamsOrderedItems(oItems) + } + oItems.PrependIRI(id) + } else { + return fmt.Errorf("shares type is neither a Collection nor an OrderedCollection: %T", sharesT) + } + err = w.db.Update(c, t) + if err != nil { + return err + } + return nil + } + if op != nil { + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + if err := loopFn(iter); err != nil { + return err + } + } + } + if w.Announce != nil { + return w.Announce(c, a) + } + return nil +} + +// undo implements the federating Undo activity side effects. +func (w FederatingWrappedCallbacks) undo(c context.Context, a vocab.ActivityStreamsUndo) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + actors := a.GetActivityStreamsActor() + if err := mustHaveActivityActorsMatchObjectActors(c, actors, op, w.newTransport, w.inboxIRI); err != nil { + return err + } + if w.Undo != nil { + return w.Undo(c, a) + } + return nil +} + +// block implements the federating Block activity side effects. +func (w FederatingWrappedCallbacks) block(c context.Context, a vocab.ActivityStreamsBlock) error { + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + if w.Block != nil { + return w.Block(c, a) + } + return nil +} diff --git a/vendor/github.com/go-fed/activity/pub/handlers.go b/vendor/github.com/go-fed/activity/pub/handlers.go new file mode 100644 index 000000000..e77d02569 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/handlers.go @@ -0,0 +1,113 @@ +package pub + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "net/http" + + "github.com/go-fed/activity/streams" +) + +var ErrNotFound = errors.New("go-fed/activity: ActivityStreams data not found") + +// HandlerFunc determines whether an incoming HTTP request is an ActivityStreams +// GET request, and if so attempts to serve ActivityStreams data. +// +// If an error is returned, then the calling function is responsible for writing +// to the ResponseWriter as part of error handling. +// +// If 'isASRequest' is false and there is no error, then the calling function +// may continue processing the request, and the HandlerFunc will not have +// written anything to the ResponseWriter. For example, a webpage may be served +// instead. +// +// If 'isASRequest' is true and there is no error, then the HandlerFunc +// successfully served the request and wrote to the ResponseWriter. +// +// Callers are responsible for authorized access to this resource. +type HandlerFunc func(c context.Context, w http.ResponseWriter, r *http.Request) (isASRequest bool, err error) + +// NewActivityStreamsHandler creates a HandlerFunc to serve ActivityStreams +// requests which are coming from other clients or servers that wish to obtain +// an ActivityStreams representation of data. +// +// Strips retrieved ActivityStreams values of sensitive fields ('bto' and 'bcc') +// before responding with them. Sets the appropriate HTTP status code for +// Tombstone Activities as well. +// +// Defaults to supporting content to be retrieved by HTTPS only. +func NewActivityStreamsHandler(db Database, clock Clock) HandlerFunc { + return NewActivityStreamsHandlerScheme(db, clock, "https") +} + +// NewActivityStreamsHandlerScheme creates a HandlerFunc to serve +// ActivityStreams requests which are coming from other clients or servers that +// wish to obtain an ActivityStreams representation of data provided by the +// specified protocol scheme. +// +// Strips retrieved ActivityStreams values of sensitive fields ('bto' and 'bcc') +// before responding with them. Sets the appropriate HTTP status code for +// Tombstone Activities as well. +// +// Specifying the "scheme" allows for retrieving ActivityStreams content with +// identifiers such as HTTP, HTTPS, or other protocol schemes. +// +// Returns ErrNotFound when the database does not retrieve any data and no +// errors occurred during retrieval. +func NewActivityStreamsHandlerScheme(db Database, clock Clock, scheme string) HandlerFunc { + return func(c context.Context, w http.ResponseWriter, r *http.Request) (isASRequest bool, err error) { + // Do nothing if it is not an ActivityPub GET request + if !isActivityPubGet(r) { + return + } + isASRequest = true + id := requestId(r, scheme) + // Lock and obtain a copy of the requested ActivityStreams value + err = db.Lock(c, id) + if err != nil { + return + } + // WARNING: Unlock not deferred + t, err := db.Get(c, id) + if err != nil { + db.Unlock(c, id) + return + } + db.Unlock(c, id) + // Unlock must have been called by this point and in every + // branch above + if t == nil { + err = ErrNotFound + return + } + // Remove sensitive fields. + clearSensitiveFields(t) + // Serialize the fetched value. + m, err := streams.Serialize(t) + if err != nil { + return + } + raw, err := json.Marshal(m) + if err != nil { + return + } + // Construct the response. + addResponseHeaders(w.Header(), clock, raw) + // Write the response. + if streams.IsOrExtendsActivityStreamsTombstone(t) { + w.WriteHeader(http.StatusGone) + } else { + w.WriteHeader(http.StatusOK) + } + n, err := w.Write(raw) + if err != nil { + return + } else if n != len(raw) { + err = fmt.Errorf("only wrote %d of %d bytes", n, len(raw)) + return + } + return + } +} diff --git a/vendor/github.com/go-fed/activity/pub/property_interfaces.go b/vendor/github.com/go-fed/activity/pub/property_interfaces.go new file mode 100644 index 000000000..b40134462 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/property_interfaces.go @@ -0,0 +1,117 @@ +package pub + +import ( + "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// inReplyToer is an ActivityStreams type with an 'inReplyTo' property +type inReplyToer interface { + GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty +} + +// objecter is an ActivityStreams type with an 'object' property +type objecter interface { + GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty +} + +// targeter is an ActivityStreams type with a 'target' property +type targeter interface { + GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty +} + +// tagger is an ActivityStreams type with a 'tag' property +type tagger interface { + GetActivityStreamsTag() vocab.ActivityStreamsTagProperty +} + +// hrefer is an ActivityStreams type with a 'href' property +type hrefer interface { + GetActivityStreamsHref() vocab.ActivityStreamsHrefProperty +} + +// itemser is an ActivityStreams type with an 'items' property +type itemser interface { + GetActivityStreamsItems() vocab.ActivityStreamsItemsProperty + SetActivityStreamsItems(vocab.ActivityStreamsItemsProperty) +} + +// orderedItemser is an ActivityStreams type with an 'orderedItems' property +type orderedItemser interface { + GetActivityStreamsOrderedItems() vocab.ActivityStreamsOrderedItemsProperty + SetActivityStreamsOrderedItems(vocab.ActivityStreamsOrderedItemsProperty) +} + +// publisheder is an ActivityStreams type with a 'published' property +type publisheder interface { + GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty +} + +// updateder is an ActivityStreams type with an 'updateder' property +type updateder interface { + GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty +} + +// toer is an ActivityStreams type with a 'to' property +type toer interface { + GetActivityStreamsTo() vocab.ActivityStreamsToProperty + SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) +} + +// btoer is an ActivityStreams type with a 'bto' property +type btoer interface { + GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty + SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) +} + +// ccer is an ActivityStreams type with a 'cc' property +type ccer interface { + GetActivityStreamsCc() vocab.ActivityStreamsCcProperty + SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) +} + +// bccer is an ActivityStreams type with a 'bcc' property +type bccer interface { + GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty + SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) +} + +// audiencer is an ActivityStreams type with an 'audience' property +type audiencer interface { + GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty + SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) +} + +// inboxer is an ActivityStreams type with an 'inbox' property +type inboxer interface { + GetActivityStreamsInbox() vocab.ActivityStreamsInboxProperty +} + +// attributedToer is an ActivityStreams type with an 'attributedTo' property +type attributedToer interface { + GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty + SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) +} + +// likeser is an ActivityStreams type with a 'likes' property +type likeser interface { + GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty + SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) +} + +// shareser is an ActivityStreams type with a 'shares' property +type shareser interface { + GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty + SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) +} + +// actorer is an ActivityStreams type with an 'actor' property +type actorer interface { + GetActivityStreamsActor() vocab.ActivityStreamsActorProperty + SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) +} + +// appendIRIer is an ActivityStreams type that can Append IRIs. +type appendIRIer interface { + AppendIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/pub/side_effect_actor.go b/vendor/github.com/go-fed/activity/pub/side_effect_actor.go new file mode 100644 index 000000000..c8b5375eb --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/side_effect_actor.go @@ -0,0 +1,810 @@ +package pub + +import ( + "context" + "encoding/json" + "fmt" + "github.com/go-fed/activity/streams" + "github.com/go-fed/activity/streams/vocab" + "net/http" + "net/url" +) + +// sideEffectActor must satisfy the DelegateActor interface. +var _ DelegateActor = &sideEffectActor{} + +// sideEffectActor is a DelegateActor that handles the ActivityPub +// implementation side effects, but requires a more opinionated application to +// be written. +// +// Note that when using the sideEffectActor with an application that good-faith +// implements its required interfaces, the ActivityPub specification is +// guaranteed to be correctly followed. +type sideEffectActor struct { + common CommonBehavior + s2s FederatingProtocol + c2s SocialProtocol + db Database + clock Clock +} + +// PostInboxRequestBodyHook defers to the delegate. +func (a *sideEffectActor) PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) (context.Context, error) { + return a.s2s.PostInboxRequestBodyHook(c, r, activity) +} + +// PostOutboxRequestBodyHook defers to the delegate. +func (a *sideEffectActor) PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) (context.Context, error) { + return a.c2s.PostOutboxRequestBodyHook(c, r, data) +} + +// AuthenticatePostInbox defers to the delegate to authenticate the request. +func (a *sideEffectActor) AuthenticatePostInbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) { + return a.s2s.AuthenticatePostInbox(c, w, r) +} + +// AuthenticateGetInbox defers to the delegate to authenticate the request. +func (a *sideEffectActor) AuthenticateGetInbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) { + return a.common.AuthenticateGetInbox(c, w, r) +} + +// AuthenticatePostOutbox defers to the delegate to authenticate the request. +func (a *sideEffectActor) AuthenticatePostOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) { + return a.c2s.AuthenticatePostOutbox(c, w, r) +} + +// AuthenticateGetOutbox defers to the delegate to authenticate the request. +func (a *sideEffectActor) AuthenticateGetOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) { + return a.common.AuthenticateGetOutbox(c, w, r) +} + +// GetOutbox delegates to the SocialProtocol. +func (a *sideEffectActor) GetOutbox(c context.Context, r *http.Request) (vocab.ActivityStreamsOrderedCollectionPage, error) { + return a.common.GetOutbox(c, r) +} + +// GetInbox delegates to the FederatingProtocol. +func (a *sideEffectActor) GetInbox(c context.Context, r *http.Request) (vocab.ActivityStreamsOrderedCollectionPage, error) { + return a.s2s.GetInbox(c, r) +} + +// AuthorizePostInbox defers to the federating protocol whether the peer request +// is authorized based on the actors' ids. +func (a *sideEffectActor) AuthorizePostInbox(c context.Context, w http.ResponseWriter, activity Activity) (authorized bool, err error) { + authorized = false + actor := activity.GetActivityStreamsActor() + if actor == nil { + err = fmt.Errorf("no actors in post to inbox") + return + } + var iris []*url.URL + for i := 0; i < actor.Len(); i++ { + iter := actor.At(i) + if iter.IsIRI() { + iris = append(iris, iter.GetIRI()) + } else if t := iter.GetType(); t != nil { + iris = append(iris, activity.GetJSONLDId().Get()) + } else { + err = fmt.Errorf("actor at index %d is missing an id", i) + return + } + } + // Determine if the actor(s) sending this request are blocked. + var blocked bool + if blocked, err = a.s2s.Blocked(c, iris); err != nil { + return + } else if blocked { + w.WriteHeader(http.StatusForbidden) + return + } + authorized = true + return +} + +// PostInbox handles the side effects of determining whether to block the peer's +// request, adding the activity to the actor's inbox, and triggering side +// effects based on the activity's type. +func (a *sideEffectActor) PostInbox(c context.Context, inboxIRI *url.URL, activity Activity) error { + isNew, err := a.addToInboxIfNew(c, inboxIRI, activity) + if err != nil { + return err + } + if isNew { + wrapped, other, err := a.s2s.FederatingCallbacks(c) + if err != nil { + return err + } + // Populate side channels. + wrapped.db = a.db + wrapped.inboxIRI = inboxIRI + wrapped.newTransport = a.common.NewTransport + wrapped.deliver = a.Deliver + wrapped.addNewIds = a.AddNewIDs + res, err := streams.NewTypeResolver(wrapped.callbacks(other)...) + if err != nil { + return err + } + if err = res.Resolve(c, activity); err != nil && !streams.IsUnmatchedErr(err) { + return err + } else if streams.IsUnmatchedErr(err) { + err = a.s2s.DefaultCallback(c, activity) + if err != nil { + return err + } + } + } + return nil +} + +// InboxForwarding implements the 3-part inbox forwarding algorithm specified in +// the ActivityPub specification. Does not modify the Activity, but may send +// outbound requests as a side effect. +// +// InboxForwarding sets the federated data in the database. +func (a *sideEffectActor) InboxForwarding(c context.Context, inboxIRI *url.URL, activity Activity) error { + // 1. Must be first time we have seen this Activity. + // + // Obtain the id of the activity + id := activity.GetJSONLDId() + // Acquire a lock for the id. To be held for the rest of execution. + err := a.db.Lock(c, id.Get()) + if err != nil { + return err + } + // WARNING: Unlock is not deferred + // + // If the database already contains the activity, exit early. + exists, err := a.db.Exists(c, id.Get()) + if err != nil { + a.db.Unlock(c, id.Get()) + return err + } else if exists { + a.db.Unlock(c, id.Get()) + return nil + } + // Attempt to create the activity entry. + err = a.db.Create(c, activity) + if err != nil { + a.db.Unlock(c, id.Get()) + return err + } + a.db.Unlock(c, id.Get()) + // Unlock by this point and in every branch above. + // + // 2. The values of 'to', 'cc', or 'audience' are Collections owned by + // this server. + var r []*url.URL + to := activity.GetActivityStreamsTo() + if to != nil { + for iter := to.Begin(); iter != to.End(); iter = iter.Next() { + val, err := ToId(iter) + if err != nil { + return err + } + r = append(r, val) + } + } + cc := activity.GetActivityStreamsCc() + if cc != nil { + for iter := cc.Begin(); iter != cc.End(); iter = iter.Next() { + val, err := ToId(iter) + if err != nil { + return err + } + r = append(r, val) + } + } + audience := activity.GetActivityStreamsAudience() + if audience != nil { + for iter := audience.Begin(); iter != audience.End(); iter = iter.Next() { + val, err := ToId(iter) + if err != nil { + return err + } + r = append(r, val) + } + } + // Find all IRIs owned by this server. We need to find all of them so + // that forwarding can properly occur. + var myIRIs []*url.URL + for _, iri := range r { + if err != nil { + return err + } + err = a.db.Lock(c, iri) + if err != nil { + return err + } + // WARNING: Unlock is not deferred + if owns, err := a.db.Owns(c, iri); err != nil { + a.db.Unlock(c, iri) + return err + } else if !owns { + a.db.Unlock(c, iri) + continue + } + a.db.Unlock(c, iri) + // Unlock by this point and in every branch above. + myIRIs = append(myIRIs, iri) + } + // Finally, load our IRIs to determine if they are a Collection or + // OrderedCollection. + // + // Load the unfiltered IRIs. + var colIRIs []*url.URL + col := make(map[string]itemser) + oCol := make(map[string]orderedItemser) + for _, iri := range myIRIs { + err = a.db.Lock(c, iri) + if err != nil { + return err + } + // WARNING: Not Unlocked + t, err := a.db.Get(c, iri) + if err != nil { + return err + } + if streams.IsOrExtendsActivityStreamsOrderedCollection(t) { + if im, ok := t.(orderedItemser); ok { + oCol[iri.String()] = im + colIRIs = append(colIRIs, iri) + defer a.db.Unlock(c, iri) + } else { + a.db.Unlock(c, iri) + } + } else if streams.IsOrExtendsActivityStreamsCollection(t) { + if im, ok := t.(itemser); ok { + col[iri.String()] = im + colIRIs = append(colIRIs, iri) + defer a.db.Unlock(c, iri) + } else { + a.db.Unlock(c, iri) + } + } else { + a.db.Unlock(c, iri) + } + } + // If we own none of the Collection IRIs in 'to', 'cc', or 'audience' + // then no need to do inbox forwarding. We have nothing to forward to. + if len(colIRIs) == 0 { + return nil + } + // 3. The values of 'inReplyTo', 'object', 'target', or 'tag' are owned + // by this server. This is only a boolean trigger: As soon as we get + // a hit that we own something, then we should do inbox forwarding. + maxDepth := a.s2s.MaxInboxForwardingRecursionDepth(c) + ownsValue, err := a.hasInboxForwardingValues(c, inboxIRI, activity, maxDepth, 0) + if err != nil { + return err + } + // If we don't own any of the 'inReplyTo', 'object', 'target', or 'tag' + // values, then no need to do inbox forwarding. + if !ownsValue { + return nil + } + // Do the inbox forwarding since the above conditions hold true. Support + // the behavior of letting the application filter out the resulting + // collections to be targeted. + toSend, err := a.s2s.FilterForwarding(c, colIRIs, activity) + if err != nil { + return err + } + recipients := make([]*url.URL, 0, len(toSend)) + for _, iri := range toSend { + if c, ok := col[iri.String()]; ok { + if it := c.GetActivityStreamsItems(); it != nil { + for iter := it.Begin(); iter != it.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + recipients = append(recipients, id) + } + } + } else if oc, ok := oCol[iri.String()]; ok { + if oit := oc.GetActivityStreamsOrderedItems(); oit != nil { + for iter := oit.Begin(); iter != oit.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + recipients = append(recipients, id) + } + } + } + } + return a.deliverToRecipients(c, inboxIRI, activity, recipients) +} + +// PostOutbox handles the side effects of adding the activity to the actor's +// outbox, and triggering side effects based on the activity's type. +// +// This implementation assumes all types are meant to be delivered except for +// the ActivityStreams Block type. +func (a *sideEffectActor) PostOutbox(c context.Context, activity Activity, outboxIRI *url.URL, rawJSON map[string]interface{}) (deliverable bool, err error) { + // TODO: Determine this if c2s is nil + deliverable = true + if a.c2s != nil { + var wrapped SocialWrappedCallbacks + var other []interface{} + wrapped, other, err = a.c2s.SocialCallbacks(c) + if err != nil { + return + } + // Populate side channels. + wrapped.db = a.db + wrapped.outboxIRI = outboxIRI + wrapped.rawActivity = rawJSON + wrapped.clock = a.clock + wrapped.newTransport = a.common.NewTransport + undeliverable := false + wrapped.undeliverable = &undeliverable + var res *streams.TypeResolver + res, err = streams.NewTypeResolver(wrapped.callbacks(other)...) + if err != nil { + return + } + if err = res.Resolve(c, activity); err != nil && !streams.IsUnmatchedErr(err) { + return + } else if streams.IsUnmatchedErr(err) { + deliverable = true + err = a.c2s.DefaultCallback(c, activity) + if err != nil { + return + } + } else { + deliverable = !undeliverable + } + } + err = a.addToOutbox(c, outboxIRI, activity) + return +} + +// AddNewIDs creates new 'id' entries on an activity and its objects if it is a +// Create activity. +func (a *sideEffectActor) AddNewIDs(c context.Context, activity Activity) error { + id, err := a.db.NewID(c, activity) + if err != nil { + return err + } + activityId := streams.NewJSONLDIdProperty() + activityId.Set(id) + activity.SetJSONLDId(activityId) + if streams.IsOrExtendsActivityStreamsCreate(activity) { + o, ok := activity.(objecter) + if !ok { + return fmt.Errorf("cannot add new id for Create: %T has no object property", activity) + } + if oProp := o.GetActivityStreamsObject(); oProp != nil { + for iter := oProp.Begin(); iter != oProp.End(); iter = iter.Next() { + t := iter.GetType() + if t == nil { + return fmt.Errorf("cannot add new id for object in Create: object is not embedded as a value literal") + } + id, err = a.db.NewID(c, t) + if err != nil { + return err + } + objId := streams.NewJSONLDIdProperty() + objId.Set(id) + t.SetJSONLDId(objId) + } + } + } + return nil +} + +// deliver will complete the peer-to-peer sending of a federated message to +// another server. +// +// Must be called if at least the federated protocol is supported. +func (a *sideEffectActor) Deliver(c context.Context, outboxIRI *url.URL, activity Activity) error { + recipients, err := a.prepare(c, outboxIRI, activity) + if err != nil { + return err + } + return a.deliverToRecipients(c, outboxIRI, activity, recipients) +} + +// WrapInCreate wraps an object with a Create activity. +func (a *sideEffectActor) WrapInCreate(c context.Context, obj vocab.Type, outboxIRI *url.URL) (create vocab.ActivityStreamsCreate, err error) { + err = a.db.Lock(c, outboxIRI) + if err != nil { + return + } + // WARNING: No deferring the Unlock + actorIRI, err := a.db.ActorForOutbox(c, outboxIRI) + if err != nil { + a.db.Unlock(c, outboxIRI) + return + } + a.db.Unlock(c, outboxIRI) + // Unlock the lock at this point and every branch above + return wrapInCreate(c, obj, actorIRI) +} + +// deliverToRecipients will take a prepared Activity and send it to specific +// recipients on behalf of an actor. +func (a *sideEffectActor) deliverToRecipients(c context.Context, boxIRI *url.URL, activity Activity, recipients []*url.URL) error { + m, err := streams.Serialize(activity) + if err != nil { + return err + } + b, err := json.Marshal(m) + if err != nil { + return err + } + tp, err := a.common.NewTransport(c, boxIRI, goFedUserAgent()) + if err != nil { + return err + } + return tp.BatchDeliver(c, b, recipients) +} + +// addToOutbox adds the activity to the outbox and creates the activity in the +// internal database as its own entry. +func (a *sideEffectActor) addToOutbox(c context.Context, outboxIRI *url.URL, activity Activity) error { + // Set the activity in the database first. + id := activity.GetJSONLDId() + err := a.db.Lock(c, id.Get()) + if err != nil { + return err + } + // WARNING: Unlock not deferred + err = a.db.Create(c, activity) + if err != nil { + a.db.Unlock(c, id.Get()) + return err + } + a.db.Unlock(c, id.Get()) + // WARNING: Unlock(c, id) should be called by this point and in every + // return before here. + // + // Acquire a lock to read the outbox. Defer release. + err = a.db.Lock(c, outboxIRI) + if err != nil { + return err + } + defer a.db.Unlock(c, outboxIRI) + outbox, err := a.db.GetOutbox(c, outboxIRI) + if err != nil { + return err + } + // Prepend the activity to the list of 'orderedItems'. + oi := outbox.GetActivityStreamsOrderedItems() + if oi == nil { + oi = streams.NewActivityStreamsOrderedItemsProperty() + } + oi.PrependIRI(id.Get()) + outbox.SetActivityStreamsOrderedItems(oi) + // Save in the database. + err = a.db.SetOutbox(c, outbox) + return err +} + +// addToInboxIfNew will add the activity to the inbox at the specified IRI if +// the activity's ID has not yet been added to the inbox. +// +// It does not add the activity to this database's know federated data. +// +// Returns true when the activity is novel. +func (a *sideEffectActor) addToInboxIfNew(c context.Context, inboxIRI *url.URL, activity Activity) (isNew bool, err error) { + // Acquire a lock to read the inbox. Defer release. + err = a.db.Lock(c, inboxIRI) + if err != nil { + return + } + defer a.db.Unlock(c, inboxIRI) + // Obtain the id of the activity + id := activity.GetJSONLDId() + // If the inbox already contains the URL, early exit. + contains, err := a.db.InboxContains(c, inboxIRI, id.Get()) + if err != nil { + return + } else if contains { + return + } + // It is a new id, acquire the inbox. + isNew = true + inbox, err := a.db.GetInbox(c, inboxIRI) + if err != nil { + return + } + // Prepend the activity to the list of 'orderedItems'. + oi := inbox.GetActivityStreamsOrderedItems() + if oi == nil { + oi = streams.NewActivityStreamsOrderedItemsProperty() + } + oi.PrependIRI(id.Get()) + inbox.SetActivityStreamsOrderedItems(oi) + // Save in the database. + err = a.db.SetInbox(c, inbox) + return +} + +// Given an ActivityStreams value, recursively examines ownership of the id or +// href and the ones on properties applicable to inbox forwarding. +// +// Recursion may be limited by providing a 'maxDepth' greater than zero. A +// value of zero or a negative number will result in infinite recursion. +func (a *sideEffectActor) hasInboxForwardingValues(c context.Context, inboxIRI *url.URL, val vocab.Type, maxDepth, currDepth int) (bool, error) { + // Stop recurring if we are exceeding the maximum depth and the maximum + // is a positive number. + if maxDepth > 0 && currDepth >= maxDepth { + return false, nil + } + // Determine if we own the 'id' of any values on the properties we care + // about. + types, iris := getInboxForwardingValues(val) + // For IRIs, simply check if we own them. + for _, iri := range iris { + err := a.db.Lock(c, iri) + if err != nil { + return false, err + } + // WARNING: Unlock is not deferred + if owns, err := a.db.Owns(c, iri); err != nil { + a.db.Unlock(c, iri) + return false, err + } else if owns { + a.db.Unlock(c, iri) + return true, nil + } + a.db.Unlock(c, iri) + // Unlock by this point and in every branch above + } + // For embedded literals, check the id. + for _, val := range types { + id, err := GetId(val) + if err != nil { + return false, err + } + err = a.db.Lock(c, id) + if err != nil { + return false, err + } + // WARNING: Unlock is not deferred + if owns, err := a.db.Owns(c, id); err != nil { + a.db.Unlock(c, id) + return false, err + } else if owns { + a.db.Unlock(c, id) + return true, nil + } + a.db.Unlock(c, id) + // Unlock by this point and in every branch above + } + // Recur Preparation: Try fetching the IRIs so we can recur into them. + for _, iri := range iris { + // Dereferencing the IRI. + tport, err := a.common.NewTransport(c, inboxIRI, goFedUserAgent()) + if err != nil { + return false, err + } + b, err := tport.Dereference(c, iri) + if err != nil { + // Do not fail the entire process if the data is + // missing. + continue + } + var m map[string]interface{} + if err = json.Unmarshal(b, &m); err != nil { + return false, err + } + t, err := streams.ToType(c, m) + if err != nil { + // Do not fail the entire process if we cannot handle + // the type. + continue + } + types = append(types, t) + } + // Recur. + for _, nextVal := range types { + if has, err := a.hasInboxForwardingValues(c, inboxIRI, nextVal, maxDepth, currDepth+1); err != nil { + return false, err + } else if has { + return true, nil + } + } + return false, nil +} + +// prepare takes a deliverableObject and returns a list of the proper recipient +// target URIs. Additionally, the deliverableObject will have any hidden +// hidden recipients ("bto" and "bcc") stripped from it. +// +// Only call if both the social and federated protocol are supported. +func (a *sideEffectActor) prepare(c context.Context, outboxIRI *url.URL, activity Activity) (r []*url.URL, err error) { + // Get inboxes of recipients + if to := activity.GetActivityStreamsTo(); to != nil { + for iter := to.Begin(); iter != to.End(); iter = iter.Next() { + var val *url.URL + val, err = ToId(iter) + if err != nil { + return + } + r = append(r, val) + } + } + if bto := activity.GetActivityStreamsBto(); bto != nil { + for iter := bto.Begin(); iter != bto.End(); iter = iter.Next() { + var val *url.URL + val, err = ToId(iter) + if err != nil { + return + } + r = append(r, val) + } + } + if cc := activity.GetActivityStreamsCc(); cc != nil { + for iter := cc.Begin(); iter != cc.End(); iter = iter.Next() { + var val *url.URL + val, err = ToId(iter) + if err != nil { + return + } + r = append(r, val) + } + } + if bcc := activity.GetActivityStreamsBcc(); bcc != nil { + for iter := bcc.Begin(); iter != bcc.End(); iter = iter.Next() { + var val *url.URL + val, err = ToId(iter) + if err != nil { + return + } + r = append(r, val) + } + } + if audience := activity.GetActivityStreamsAudience(); audience != nil { + for iter := audience.Begin(); iter != audience.End(); iter = iter.Next() { + var val *url.URL + val, err = ToId(iter) + if err != nil { + return + } + r = append(r, val) + } + } + // 1. When an object is being delivered to the originating actor's + // followers, a server MAY reduce the number of receiving actors + // delivered to by identifying all followers which share the same + // sharedInbox who would otherwise be individual recipients and + // instead deliver objects to said sharedInbox. + // 2. If an object is addressed to the Public special collection, a + // server MAY deliver that object to all known sharedInbox endpoints + // on the network. + r = filterURLs(r, IsPublic) + t, err := a.common.NewTransport(c, outboxIRI, goFedUserAgent()) + if err != nil { + return nil, err + } + receiverActors, err := a.resolveInboxes(c, t, r, 0, a.s2s.MaxDeliveryRecursionDepth(c)) + if err != nil { + return nil, err + } + targets, err := getInboxes(receiverActors) + if err != nil { + return nil, err + } + // Get inboxes of sender. + err = a.db.Lock(c, outboxIRI) + if err != nil { + return + } + // WARNING: No deferring the Unlock + actorIRI, err := a.db.ActorForOutbox(c, outboxIRI) + if err != nil { + a.db.Unlock(c, outboxIRI) + return + } + a.db.Unlock(c, outboxIRI) + // Get the inbox on the sender. + err = a.db.Lock(c, actorIRI) + if err != nil { + return nil, err + } + // BEGIN LOCK + thisActor, err := a.db.Get(c, actorIRI) + a.db.Unlock(c, actorIRI) + // END LOCK -- Still need to handle err + if err != nil { + return nil, err + } + // Post-processing + var ignore *url.URL + ignore, err = getInbox(thisActor) + if err != nil { + return nil, err + } + r = dedupeIRIs(targets, []*url.URL{ignore}) + stripHiddenRecipients(activity) + return r, nil +} + +// resolveInboxes takes a list of Actor id URIs and returns them as concrete +// instances of actorObject. It attempts to apply recursively when it encounters +// a target that is a Collection or OrderedCollection. +// +// If maxDepth is zero or negative, then recursion is infinitely applied. +// +// If a recipient is a Collection or OrderedCollection, then the server MUST +// dereference the collection, WITH the user's credentials. +// +// Note that this also applies to CollectionPage and OrderedCollectionPage. +func (a *sideEffectActor) resolveInboxes(c context.Context, t Transport, r []*url.URL, depth, maxDepth int) (actors []vocab.Type, err error) { + if maxDepth > 0 && depth >= maxDepth { + return + } + for _, u := range r { + var act vocab.Type + var more []*url.URL + // TODO: Determine if more logic is needed here for inaccessible + // collections owned by peer servers. + act, more, err = a.dereferenceForResolvingInboxes(c, t, u) + if err != nil { + // Missing recipient -- skip. + continue + } + var recurActors []vocab.Type + recurActors, err = a.resolveInboxes(c, t, more, depth+1, maxDepth) + if err != nil { + return + } + if act != nil { + actors = append(actors, act) + } + actors = append(actors, recurActors...) + } + return +} + +// dereferenceForResolvingInboxes dereferences an IRI solely for finding an +// actor's inbox IRI to deliver to. +// +// The returned actor could be nil, if it wasn't an actor (ex: a Collection or +// OrderedCollection). +func (a *sideEffectActor) dereferenceForResolvingInboxes(c context.Context, t Transport, actorIRI *url.URL) (actor vocab.Type, moreActorIRIs []*url.URL, err error) { + var resp []byte + resp, err = t.Dereference(c, actorIRI) + if err != nil { + return + } + var m map[string]interface{} + if err = json.Unmarshal(resp, &m); err != nil { + return + } + actor, err = streams.ToType(c, m) + if err != nil { + return + } + // Attempt to see if the 'actor' is really some sort of type that has + // an 'items' or 'orderedItems' property. + if v, ok := actor.(itemser); ok { + if i := v.GetActivityStreamsItems(); i != nil { + for iter := i.Begin(); iter != i.End(); iter = iter.Next() { + var id *url.URL + id, err = ToId(iter) + if err != nil { + return + } + moreActorIRIs = append(moreActorIRIs, id) + } + } + actor = nil + } else if v, ok := actor.(orderedItemser); ok { + if i := v.GetActivityStreamsOrderedItems(); i != nil { + for iter := i.Begin(); iter != i.End(); iter = iter.Next() { + var id *url.URL + id, err = ToId(iter) + if err != nil { + return + } + moreActorIRIs = append(moreActorIRIs, id) + } + } + actor = nil + } + return +} diff --git a/vendor/github.com/go-fed/activity/pub/social_protocol.go b/vendor/github.com/go-fed/activity/pub/social_protocol.go new file mode 100644 index 000000000..7b7862c66 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/social_protocol.go @@ -0,0 +1,82 @@ +package pub + +import ( + "context" + "github.com/go-fed/activity/streams/vocab" + "net/http" +) + +// SocialProtocol contains behaviors an application needs to satisfy for the +// full ActivityPub C2S implementation to be supported by this library. +// +// It is only required if the client application wants to support the client-to- +// server, or social, protocol. +// +// It is passed to the library as a dependency injection from the client +// application. +type SocialProtocol interface { + // Hook callback after parsing the request body for a client request + // to the Actor's outbox. + // + // Can be used to set contextual information based on the + // ActivityStreams object received. + // + // Only called if the Social API is enabled. + // + // Warning: Neither authentication nor authorization has taken place at + // this time. Doing anything beyond setting contextual information is + // strongly discouraged. + // + // If an error is returned, it is passed back to the caller of + // PostOutbox. In this case, the DelegateActor implementation must not + // write a response to the ResponseWriter as is expected that the caller + // to PostOutbox will do so when handling the error. + PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) (context.Context, error) + // AuthenticatePostOutbox delegates the authentication of a POST to an + // outbox. + // + // Only called if the Social API is enabled. + // + // If an error is returned, it is passed back to the caller of + // PostOutbox. In this case, the implementation must not write a + // response to the ResponseWriter as is expected that the client will + // do so when handling the error. The 'authenticated' is ignored. + // + // If no error is returned, but authentication or authorization fails, + // then authenticated must be false and error nil. It is expected that + // the implementation handles writing to the ResponseWriter in this + // case. + // + // Finally, if the authentication and authorization succeeds, then + // authenticated must be true and error nil. The request will continue + // to be processed. + AuthenticatePostOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error) + // SocialCallbacks returns the application logic that handles + // ActivityStreams received from C2S clients. + // + // Note that certain types of callbacks will be 'wrapped' with default + // behaviors supported natively by the library. Other callbacks + // compatible with streams.TypeResolver can be specified by 'other'. + // + // For example, setting the 'Create' field in the SocialWrappedCallbacks + // lets an application dependency inject additional behaviors they want + // to take place, including the default behavior supplied by this + // library. This is guaranteed to be compliant with the ActivityPub + // Social protocol. + // + // To override the default behavior, instead supply the function in + // 'other', which does not guarantee the application will be compliant + // with the ActivityPub Social Protocol. + // + // Applications are not expected to handle every single ActivityStreams + // type and extension. The unhandled ones are passed to DefaultCallback. + SocialCallbacks(c context.Context) (wrapped SocialWrappedCallbacks, other []interface{}, err error) + // DefaultCallback is called for types that go-fed can deserialize but + // are not handled by the application's callbacks returned in the + // Callbacks method. + // + // Applications are not expected to handle every single ActivityStreams + // type and extension, so the unhandled ones are passed to + // DefaultCallback. + DefaultCallback(c context.Context, activity Activity) error +} diff --git a/vendor/github.com/go-fed/activity/pub/social_wrapped_callbacks.go b/vendor/github.com/go-fed/activity/pub/social_wrapped_callbacks.go new file mode 100644 index 000000000..b4b1204e2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/social_wrapped_callbacks.go @@ -0,0 +1,531 @@ +package pub + +import ( + "context" + "fmt" + "github.com/go-fed/activity/streams" + "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// SocialWrappedCallbacks lists the callback functions that already have some +// side effect behavior provided by the pub library. +// +// These functions are wrapped for the Social Protocol. +type SocialWrappedCallbacks struct { + // Create handles additional side effects for the Create ActivityStreams + // type. + // + // The wrapping callback copies the actor(s) to the 'attributedTo' + // property and copies recipients between the Create activity and all + // objects. It then saves the entry in the database. + Create func(context.Context, vocab.ActivityStreamsCreate) error + // Update handles additional side effects for the Update ActivityStreams + // type. + // + // The wrapping callback applies new top-level values on an object to + // the stored objects. Any top-level null literals will be deleted on + // the stored objects as well. + Update func(context.Context, vocab.ActivityStreamsUpdate) error + // Delete handles additional side effects for the Delete ActivityStreams + // type. + // + // The wrapping callback replaces the object(s) with tombstones in the + // database. + Delete func(context.Context, vocab.ActivityStreamsDelete) error + // Follow handles additional side effects for the Follow ActivityStreams + // type. + // + // The wrapping callback only ensures the 'Follow' has at least one + // 'object' entry, but otherwise has no default side effect. + Follow func(context.Context, vocab.ActivityStreamsFollow) error + // Add handles additional side effects for the Add ActivityStreams + // type. + // + // + // The wrapping function will add the 'object' IRIs to a specific + // 'target' collection if the 'target' collection(s) live on this + // server. + Add func(context.Context, vocab.ActivityStreamsAdd) error + // Remove handles additional side effects for the Remove ActivityStreams + // type. + // + // The wrapping function will remove all 'object' IRIs from a specific + // 'target' collection if the 'target' collection(s) live on this + // server. + Remove func(context.Context, vocab.ActivityStreamsRemove) error + // Like handles additional side effects for the Like ActivityStreams + // type. + // + // The wrapping function will add the objects on the activity to the + // "liked" collection of this actor. + Like func(context.Context, vocab.ActivityStreamsLike) error + // Undo handles additional side effects for the Undo ActivityStreams + // type. + // + // + // The wrapping function ensures the 'actor' on the 'Undo' + // is be the same as the 'actor' on all Activities being undone. + // It enforces that the actors on the Undo must correspond to all of the + // 'object' actors in some manner. + // + // It is expected that the application will implement the proper + // reversal of activities that are being undone. + Undo func(context.Context, vocab.ActivityStreamsUndo) error + // Block handles additional side effects for the Block ActivityStreams + // type. + // + // The wrapping callback only ensures the 'Block' has at least one + // 'object' entry, but otherwise has no default side effect. It is up + // to the wrapped application function to properly enforce the new + // blocking behavior. + // + // Note that go-fed does not federate 'Block' activities received in the + // Social Protocol. + Block func(context.Context, vocab.ActivityStreamsBlock) error + + // Sidechannel data -- this is set at request handling time. These must + // be set before the callbacks are used. + + // db is the Database the SocialWrappedCallbacks should use. It must be + // set before calling the callbacks. + db Database + // outboxIRI is the outboxIRI that is handling this callback. + outboxIRI *url.URL + // rawActivity is the JSON map literal received when deserializing the + // request body. + rawActivity map[string]interface{} + // clock is the server's clock. + clock Clock + // newTransport creates a new Transport. + newTransport func(c context.Context, actorBoxIRI *url.URL, gofedAgent string) (t Transport, err error) + // undeliverable is a sidechannel out, indicating if the handled activity + // should not be delivered to a peer. + // + // Its provided default value will always be used when a custom function + // is called. + undeliverable *bool +} + +// callbacks returns the WrappedCallbacks members into a single interface slice +// for use in streams.Resolver callbacks. +// +// If the given functions have a type that collides with the default behavior, +// then disable our default behavior +func (w SocialWrappedCallbacks) callbacks(fns []interface{}) []interface{} { + enableCreate := true + enableUpdate := true + enableDelete := true + enableFollow := true + enableAdd := true + enableRemove := true + enableLike := true + enableUndo := true + enableBlock := true + for _, fn := range fns { + switch fn.(type) { + default: + continue + case func(context.Context, vocab.ActivityStreamsCreate) error: + enableCreate = false + case func(context.Context, vocab.ActivityStreamsUpdate) error: + enableUpdate = false + case func(context.Context, vocab.ActivityStreamsDelete) error: + enableDelete = false + case func(context.Context, vocab.ActivityStreamsFollow) error: + enableFollow = false + case func(context.Context, vocab.ActivityStreamsAdd) error: + enableAdd = false + case func(context.Context, vocab.ActivityStreamsRemove) error: + enableRemove = false + case func(context.Context, vocab.ActivityStreamsLike) error: + enableLike = false + case func(context.Context, vocab.ActivityStreamsUndo) error: + enableUndo = false + case func(context.Context, vocab.ActivityStreamsBlock) error: + enableBlock = false + } + } + if enableCreate { + fns = append(fns, w.create) + } + if enableUpdate { + fns = append(fns, w.update) + } + if enableDelete { + fns = append(fns, w.deleteFn) + } + if enableFollow { + fns = append(fns, w.follow) + } + if enableAdd { + fns = append(fns, w.add) + } + if enableRemove { + fns = append(fns, w.remove) + } + if enableLike { + fns = append(fns, w.like) + } + if enableUndo { + fns = append(fns, w.undo) + } + if enableBlock { + fns = append(fns, w.block) + } + return fns +} + +// create implements the social Create activity side effects. +func (w SocialWrappedCallbacks) create(c context.Context, a vocab.ActivityStreamsCreate) error { + *w.undeliverable = false + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + // Obtain all actor IRIs. + actors := a.GetActivityStreamsActor() + createActorIds := make(map[string]*url.URL) + if actors != nil { + createActorIds = make(map[string]*url.URL, actors.Len()) + for iter := actors.Begin(); iter != actors.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + createActorIds[id.String()] = id + } + } + // Obtain each object's 'attributedTo' IRIs. + objectAttributedToIds := make([]map[string]*url.URL, op.Len()) + for i := range objectAttributedToIds { + objectAttributedToIds[i] = make(map[string]*url.URL) + } + for i := 0; i < op.Len(); i++ { + t := op.At(i).GetType() + attrToer, ok := t.(attributedToer) + if !ok { + continue + } + attr := attrToer.GetActivityStreamsAttributedTo() + if attr == nil { + attr = streams.NewActivityStreamsAttributedToProperty() + attrToer.SetActivityStreamsAttributedTo(attr) + } + for iter := attr.Begin(); iter != attr.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + objectAttributedToIds[i][id.String()] = id + } + } + // Put all missing actor IRIs onto all object attributedTo properties. + for k, v := range createActorIds { + for i, attributedToMap := range objectAttributedToIds { + if _, ok := attributedToMap[k]; !ok { + t := op.At(i).GetType() + attrToer, ok := t.(attributedToer) + if !ok { + continue + } + attr := attrToer.GetActivityStreamsAttributedTo() + attr.AppendIRI(v) + } + } + } + // Put all missing object attributedTo IRIs onto the actor property + // if there is one. + if actors != nil { + for _, attributedToMap := range objectAttributedToIds { + for k, v := range attributedToMap { + if _, ok := createActorIds[k]; !ok { + actors.AppendIRI(v) + } + } + } + } + // Copy over the 'to', 'bto', 'cc', 'bcc', and 'audience' recipients + // between the activity and all child objects and vice versa. + if err := normalizeRecipients(a); err != nil { + return err + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(i int) error { + obj := op.At(i).GetType() + id, err := GetId(obj) + if err != nil { + return err + } + err = w.db.Lock(c, id) + if err != nil { + return err + } + defer w.db.Unlock(c, id) + if err := w.db.Create(c, obj); err != nil { + return err + } + return nil + } + // Persist all objects we've created, which will include sensitive + // recipients such as 'bcc' and 'bto'. + for i := 0; i < op.Len(); i++ { + if err := loopFn(i); err != nil { + return err + } + } + if w.Create != nil { + return w.Create(c, a) + } + return nil +} + +// update implements the social Update activity side effects. +func (w SocialWrappedCallbacks) update(c context.Context, a vocab.ActivityStreamsUpdate) error { + *w.undeliverable = false + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + // Obtain all object ids, which should be owned by this server. + objIds := make([]*url.URL, 0, op.Len()) + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + objIds = append(objIds, id) + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(idx int, loopId *url.URL) error { + err := w.db.Lock(c, loopId) + if err != nil { + return err + } + defer w.db.Unlock(c, loopId) + t, err := w.db.Get(c, loopId) + if err != nil { + return err + } + m, err := t.Serialize() + if err != nil { + return err + } + // Copy over new top-level values. + objType := op.At(idx).GetType() + if objType == nil { + return fmt.Errorf("object at index %d is not a literal type value", idx) + } + newM, err := objType.Serialize() + if err != nil { + return err + } + for k, v := range newM { + m[k] = v + } + // Delete top-level values where the raw Activity had nils. + for k, v := range w.rawActivity { + if _, ok := m[k]; v == nil && ok { + delete(m, k) + } + } + newT, err := streams.ToType(c, m) + if err != nil { + return err + } + if err = w.db.Update(c, newT); err != nil { + return err + } + return nil + } + for i, id := range objIds { + if err := loopFn(i, id); err != nil { + return err + } + } + if w.Update != nil { + return w.Update(c, a) + } + return nil +} + +// deleteFn implements the social Delete activity side effects. +func (w SocialWrappedCallbacks) deleteFn(c context.Context, a vocab.ActivityStreamsDelete) error { + *w.undeliverable = false + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + // Obtain all object ids, which should be owned by this server. + objIds := make([]*url.URL, 0, op.Len()) + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + objIds = append(objIds, id) + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(idx int, loopId *url.URL) error { + err := w.db.Lock(c, loopId) + if err != nil { + return err + } + defer w.db.Unlock(c, loopId) + t, err := w.db.Get(c, loopId) + if err != nil { + return err + } + tomb := toTombstone(t, loopId, w.clock.Now()) + if err := w.db.Update(c, tomb); err != nil { + return err + } + return nil + } + for i, id := range objIds { + if err := loopFn(i, id); err != nil { + return err + } + } + if w.Delete != nil { + return w.Delete(c, a) + } + return nil +} + +// follow implements the social Follow activity side effects. +func (w SocialWrappedCallbacks) follow(c context.Context, a vocab.ActivityStreamsFollow) error { + *w.undeliverable = false + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + if w.Follow != nil { + return w.Follow(c, a) + } + return nil +} + +// add implements the social Add activity side effects. +func (w SocialWrappedCallbacks) add(c context.Context, a vocab.ActivityStreamsAdd) error { + *w.undeliverable = false + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + target := a.GetActivityStreamsTarget() + if target == nil || target.Len() == 0 { + return ErrTargetRequired + } + if err := add(c, op, target, w.db); err != nil { + return err + } + if w.Add != nil { + return w.Add(c, a) + } + return nil +} + +// remove implements the social Remove activity side effects. +func (w SocialWrappedCallbacks) remove(c context.Context, a vocab.ActivityStreamsRemove) error { + *w.undeliverable = false + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + target := a.GetActivityStreamsTarget() + if target == nil || target.Len() == 0 { + return ErrTargetRequired + } + if err := remove(c, op, target, w.db); err != nil { + return err + } + if w.Remove != nil { + return w.Remove(c, a) + } + return nil +} + +// like implements the social Like activity side effects. +func (w SocialWrappedCallbacks) like(c context.Context, a vocab.ActivityStreamsLike) error { + *w.undeliverable = false + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + // Get this actor's IRI. + if err := w.db.Lock(c, w.outboxIRI); err != nil { + return err + } + // WARNING: Unlock not deferred. + actorIRI, err := w.db.ActorForOutbox(c, w.outboxIRI) + if err != nil { + w.db.Unlock(c, w.outboxIRI) + return err + } + w.db.Unlock(c, w.outboxIRI) + // Unlock must be called by now and every branch above. + // + // Now obtain this actor's 'liked' collection. + if err := w.db.Lock(c, actorIRI); err != nil { + return err + } + defer w.db.Unlock(c, actorIRI) + liked, err := w.db.Liked(c, actorIRI) + if err != nil { + return err + } + likedItems := liked.GetActivityStreamsItems() + if likedItems == nil { + likedItems = streams.NewActivityStreamsItemsProperty() + liked.SetActivityStreamsItems(likedItems) + } + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + objId, err := ToId(iter) + if err != nil { + return err + } + likedItems.PrependIRI(objId) + } + err = w.db.Update(c, liked) + if err != nil { + return err + } + if w.Like != nil { + return w.Like(c, a) + } + return nil +} + +// undo implements the social Undo activity side effects. +func (w SocialWrappedCallbacks) undo(c context.Context, a vocab.ActivityStreamsUndo) error { + *w.undeliverable = false + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + actors := a.GetActivityStreamsActor() + if err := mustHaveActivityActorsMatchObjectActors(c, actors, op, w.newTransport, w.outboxIRI); err != nil { + return err + } + if w.Undo != nil { + return w.Undo(c, a) + } + return nil +} + +// block implements the social Block activity side effects. +func (w SocialWrappedCallbacks) block(c context.Context, a vocab.ActivityStreamsBlock) error { + *w.undeliverable = true + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return ErrObjectRequired + } + if w.Block != nil { + return w.Block(c, a) + } + return nil +} diff --git a/vendor/github.com/go-fed/activity/pub/transport.go b/vendor/github.com/go-fed/activity/pub/transport.go new file mode 100644 index 000000000..bdc58a97a --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/transport.go @@ -0,0 +1,207 @@ +package pub + +import ( + "bytes" + "context" + "crypto" + "fmt" + "io/ioutil" + "net/http" + "net/url" + "strings" + "sync" + + "github.com/go-fed/httpsig" +) + +const ( + // acceptHeaderValue is the Accept header value indicating that the + // response should contain an ActivityStreams object. + acceptHeaderValue = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"" +) + +// isSuccess returns true if the HTTP status code is either OK, Created, or +// Accepted. +func isSuccess(code int) bool { + return code == http.StatusOK || + code == http.StatusCreated || + code == http.StatusAccepted +} + +// Transport makes ActivityStreams calls to other servers in order to send or +// receive ActivityStreams data. +// +// It is responsible for setting the appropriate request headers, signing the +// requests if needed, and facilitating the traffic between this server and +// another. +// +// The transport is exclusively used to issue requests on behalf of an actor, +// and is never sending requests on behalf of the server in general. +// +// It may be reused multiple times, but never concurrently. +type Transport interface { + // Dereference fetches the ActivityStreams object located at this IRI + // with a GET request. + Dereference(c context.Context, iri *url.URL) ([]byte, error) + // Deliver sends an ActivityStreams object. + Deliver(c context.Context, b []byte, to *url.URL) error + // BatchDeliver sends an ActivityStreams object to multiple recipients. + BatchDeliver(c context.Context, b []byte, recipients []*url.URL) error +} + +// Transport must be implemented by HttpSigTransport. +var _ Transport = &HttpSigTransport{} + +// HttpSigTransport makes a dereference call using HTTP signatures to +// authenticate the request on behalf of a particular actor. +// +// No rate limiting is applied. +// +// Only one request is tried per call. +type HttpSigTransport struct { + client HttpClient + appAgent string + gofedAgent string + clock Clock + getSigner httpsig.Signer + getSignerMu *sync.Mutex + postSigner httpsig.Signer + postSignerMu *sync.Mutex + pubKeyId string + privKey crypto.PrivateKey +} + +// NewHttpSigTransport returns a new Transport. +// +// It sends requests specifically on behalf of a specific actor on this server. +// The actor's credentials are used to add an HTTP Signature to requests, which +// requires an actor's private key, a unique identifier for their public key, +// and an HTTP Signature signing algorithm. +// +// The client lets users issue requests through any HTTP client, including the +// standard library's HTTP client. +// +// The appAgent uniquely identifies the calling application's requests, so peers +// may aid debugging the requests incoming from this server. Note that the +// agent string will also include one for go-fed, so at minimum peer servers can +// reach out to the go-fed library to aid in notifying implementors of malformed +// or unsupported requests. +func NewHttpSigTransport( + client HttpClient, + appAgent string, + clock Clock, + getSigner, postSigner httpsig.Signer, + pubKeyId string, + privKey crypto.PrivateKey) *HttpSigTransport { + return &HttpSigTransport{ + client: client, + appAgent: appAgent, + gofedAgent: goFedUserAgent(), + clock: clock, + getSigner: getSigner, + getSignerMu: &sync.Mutex{}, + postSigner: postSigner, + postSignerMu: &sync.Mutex{}, + pubKeyId: pubKeyId, + privKey: privKey, + } +} + +// Dereference sends a GET request signed with an HTTP Signature to obtain an +// ActivityStreams value. +func (h HttpSigTransport) Dereference(c context.Context, iri *url.URL) ([]byte, error) { + req, err := http.NewRequest("GET", iri.String(), nil) + if err != nil { + return nil, err + } + req = req.WithContext(c) + req.Header.Add(acceptHeader, acceptHeaderValue) + req.Header.Add("Accept-Charset", "utf-8") + req.Header.Add("Date", h.clock.Now().UTC().Format("Mon, 02 Jan 2006 15:04:05")+" GMT") + req.Header.Add("User-Agent", fmt.Sprintf("%s %s", h.appAgent, h.gofedAgent)) + req.Header.Set("Host", iri.Host) + h.getSignerMu.Lock() + err = h.getSigner.SignRequest(h.privKey, h.pubKeyId, req, nil) + h.getSignerMu.Unlock() + if err != nil { + return nil, err + } + resp, err := h.client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("GET request to %s failed (%d): %s", iri.String(), resp.StatusCode, resp.Status) + } + return ioutil.ReadAll(resp.Body) +} + +// Deliver sends a POST request with an HTTP Signature. +func (h HttpSigTransport) Deliver(c context.Context, b []byte, to *url.URL) error { + req, err := http.NewRequest("POST", to.String(), bytes.NewReader(b)) + if err != nil { + return err + } + req = req.WithContext(c) + req.Header.Add(contentTypeHeader, contentTypeHeaderValue) + req.Header.Add("Accept-Charset", "utf-8") + req.Header.Add("Date", h.clock.Now().UTC().Format("Mon, 02 Jan 2006 15:04:05")+" GMT") + req.Header.Add("User-Agent", fmt.Sprintf("%s %s", h.appAgent, h.gofedAgent)) + req.Header.Set("Host", to.Host) + h.postSignerMu.Lock() + err = h.postSigner.SignRequest(h.privKey, h.pubKeyId, req, b) + h.postSignerMu.Unlock() + if err != nil { + return err + } + resp, err := h.client.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + if !isSuccess(resp.StatusCode) { + return fmt.Errorf("POST request to %s failed (%d): %s", to.String(), resp.StatusCode, resp.Status) + } + return nil +} + +// BatchDeliver sends concurrent POST requests. Returns an error if any of the +// requests had an error. +func (h HttpSigTransport) BatchDeliver(c context.Context, b []byte, recipients []*url.URL) error { + var wg sync.WaitGroup + errCh := make(chan error, len(recipients)) + for _, recipient := range recipients { + wg.Add(1) + go func(r *url.URL) { + defer wg.Done() + if err := h.Deliver(c, b, r); err != nil { + errCh <- err + } + }(recipient) + } + wg.Wait() + errs := make([]string, 0, len(recipients)) +outer: + for { + select { + case e := <-errCh: + errs = append(errs, e.Error()) + default: + break outer + } + } + if len(errs) > 0 { + return fmt.Errorf("batch deliver had at least one failure: %s", strings.Join(errs, "; ")) + } + return nil +} + +// HttpClient sends http requests, and is an abstraction only needed by the +// HttpSigTransport. The standard library's Client satisfies this interface. +type HttpClient interface { + Do(req *http.Request) (*http.Response, error) +} + +// HttpClient must be implemented by http.Client. +var _ HttpClient = &http.Client{} diff --git a/vendor/github.com/go-fed/activity/pub/util.go b/vendor/github.com/go-fed/activity/pub/util.go new file mode 100644 index 000000000..942e937dc --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/util.go @@ -0,0 +1,995 @@ +package pub + +import ( + "bytes" + "context" + "crypto/sha256" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "github.com/go-fed/activity/streams" + "github.com/go-fed/activity/streams/vocab" + "net/http" + "net/url" + "strings" + "time" +) + +var ( + // ErrObjectRequired indicates the activity needs its object property + // set. Can be returned by DelegateActor's PostInbox or PostOutbox so a + // Bad Request response is set. + ErrObjectRequired = errors.New("object property required on the provided activity") + // ErrTargetRequired indicates the activity needs its target property + // set. Can be returned by DelegateActor's PostInbox or PostOutbox so a + // Bad Request response is set. + ErrTargetRequired = errors.New("target property required on the provided activity") +) + +// activityStreamsMediaTypes contains all of the accepted ActivityStreams media +// types. Generated at init time. +var activityStreamsMediaTypes []string + +func init() { + activityStreamsMediaTypes = []string{ + "application/activity+json", + } + jsonLdType := "application/ld+json" + for _, semi := range []string{";", " ;", " ; ", "; "} { + for _, profile := range []string{ + "profile=https://www.w3.org/ns/activitystreams", + "profile=\"https://www.w3.org/ns/activitystreams\"", + } { + activityStreamsMediaTypes = append( + activityStreamsMediaTypes, + fmt.Sprintf("%s%s%s", jsonLdType, semi, profile)) + } + } +} + +// headerIsActivityPubMediaType returns true if the header string contains one +// of the accepted ActivityStreams media types. +// +// Note we don't try to build a comprehensive parser and instead accept a +// tolerable amount of whitespace since the HTTP specification is ambiguous +// about the format and significance of whitespace. +func headerIsActivityPubMediaType(header string) bool { + for _, mediaType := range activityStreamsMediaTypes { + if strings.Contains(header, mediaType) { + return true + } + } + return false +} + +const ( + // The Content-Type header. + contentTypeHeader = "Content-Type" + // The Accept header. + acceptHeader = "Accept" +) + +// isActivityPubPost returns true if the request is a POST request that has the +// ActivityStreams content type header +func isActivityPubPost(r *http.Request) bool { + return r.Method == "POST" && headerIsActivityPubMediaType(r.Header.Get(contentTypeHeader)) +} + +// isActivityPubGet returns true if the request is a GET request that has the +// ActivityStreams content type header +func isActivityPubGet(r *http.Request) bool { + return r.Method == "GET" && headerIsActivityPubMediaType(r.Header.Get(acceptHeader)) +} + +// dedupeOrderedItems deduplicates the 'orderedItems' within an ordered +// collection type. Deduplication happens by the 'id' property. +func dedupeOrderedItems(oc orderedItemser) error { + oi := oc.GetActivityStreamsOrderedItems() + if oi == nil { + return nil + } + seen := make(map[string]bool, oi.Len()) + for i := 0; i < oi.Len(); { + var id *url.URL + + iter := oi.At(i) + asType := iter.GetType() + if asType != nil { + var err error + id, err = GetId(asType) + if err != nil { + return err + } + } else if iter.IsIRI() { + id = iter.GetIRI() + } else { + return fmt.Errorf("element %d in OrderedCollection does not have an ID nor is an IRI", i) + } + if seen[id.String()] { + oi.Remove(i) + } else { + seen[id.String()] = true + i++ + } + } + return nil +} + +const ( + // The Location header + locationHeader = "Location" + // Contains the ActivityStreams Content-Type value. + contentTypeHeaderValue = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"" + // The Date header. + dateHeader = "Date" + // The Digest header. + digestHeader = "Digest" + // The delimiter used in the Digest header. + digestDelimiter = "=" + // SHA-256 string for the Digest header. + sha256Digest = "SHA-256" +) + +// addResponseHeaders sets headers needed in the HTTP response, such but not +// limited to the Content-Type, Date, and Digest headers. +func addResponseHeaders(h http.Header, c Clock, responseContent []byte) { + h.Set(contentTypeHeader, contentTypeHeaderValue) + // RFC 7231 §7.1.1.2 + h.Set(dateHeader, c.Now().UTC().Format("Mon, 02 Jan 2006 15:04:05")+" GMT") + // RFC 3230 and RFC 5843 + var b bytes.Buffer + b.WriteString(sha256Digest) + b.WriteString(digestDelimiter) + hashed := sha256.Sum256(responseContent) + b.WriteString(base64.StdEncoding.EncodeToString(hashed[:])) + h.Set(digestHeader, b.String()) +} + +// IdProperty is a property that can readily have its id obtained +type IdProperty interface { + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() vocab.Type + // IsIRI returns true if this property is an IRI. + IsIRI() bool +} + +// ToId returns an IdProperty's id. +func ToId(i IdProperty) (*url.URL, error) { + if i.GetType() != nil { + return GetId(i.GetType()) + } else if i.IsIRI() { + return i.GetIRI(), nil + } + return nil, fmt.Errorf("cannot determine id of activitystreams property") +} + +// GetId will attempt to find the 'id' property or, if it happens to be a +// Link or derived from Link type, the 'href' property instead. +// +// Returns an error if the id is not set and either the 'href' property is not +// valid on this type, or it is also not set. +func GetId(t vocab.Type) (*url.URL, error) { + if id := t.GetJSONLDId(); id != nil { + return id.Get(), nil + } else if h, ok := t.(hrefer); ok { + if href := h.GetActivityStreamsHref(); href != nil { + return href.Get(), nil + } + } + return nil, fmt.Errorf("cannot determine id of activitystreams value") +} + +// getInboxForwardingValues obtains the 'inReplyTo', 'object', 'target', and +// 'tag' values on an ActivityStreams value. +func getInboxForwardingValues(o vocab.Type) (t []vocab.Type, iri []*url.URL) { + // 'inReplyTo' + if i, ok := o.(inReplyToer); ok { + if irt := i.GetActivityStreamsInReplyTo(); irt != nil { + for iter := irt.Begin(); iter != irt.End(); iter = iter.Next() { + if tv := iter.GetType(); tv != nil { + t = append(t, tv) + } else { + iri = append(iri, iter.GetIRI()) + } + } + } + } + // 'tag' + if i, ok := o.(tagger); ok { + if tag := i.GetActivityStreamsTag(); tag != nil { + for iter := tag.Begin(); iter != tag.End(); iter = iter.Next() { + if tv := iter.GetType(); tv != nil { + t = append(t, tv) + } else { + iri = append(iri, iter.GetIRI()) + } + } + } + } + // 'object' + if i, ok := o.(objecter); ok { + if obj := i.GetActivityStreamsObject(); obj != nil { + for iter := obj.Begin(); iter != obj.End(); iter = iter.Next() { + if tv := iter.GetType(); tv != nil { + t = append(t, tv) + } else { + iri = append(iri, iter.GetIRI()) + } + } + } + } + // 'target' + if i, ok := o.(targeter); ok { + if tar := i.GetActivityStreamsTarget(); tar != nil { + for iter := tar.Begin(); iter != tar.End(); iter = iter.Next() { + if tv := iter.GetType(); tv != nil { + t = append(t, tv) + } else { + iri = append(iri, iter.GetIRI()) + } + } + } + } + return +} + +// wrapInCreate will automatically wrap the provided object in a Create +// activity. This will copy over the 'to', 'bto', 'cc', 'bcc', and 'audience' +// properties. It will also copy over the published time if present. +func wrapInCreate(ctx context.Context, o vocab.Type, actor *url.URL) (c vocab.ActivityStreamsCreate, err error) { + c = streams.NewActivityStreamsCreate() + // Object property + oProp := streams.NewActivityStreamsObjectProperty() + oProp.AppendType(o) + c.SetActivityStreamsObject(oProp) + // Actor Property + actorProp := streams.NewActivityStreamsActorProperty() + actorProp.AppendIRI(actor) + c.SetActivityStreamsActor(actorProp) + // Published Property + if v, ok := o.(publisheder); ok { + c.SetActivityStreamsPublished(v.GetActivityStreamsPublished()) + } + // Copying over properties. + if v, ok := o.(toer); ok { + if to := v.GetActivityStreamsTo(); to != nil { + activityTo := streams.NewActivityStreamsToProperty() + for iter := to.Begin(); iter != to.End(); iter = iter.Next() { + var id *url.URL + id, err = ToId(iter) + if err != nil { + return + } + activityTo.AppendIRI(id) + } + c.SetActivityStreamsTo(activityTo) + } + } + if v, ok := o.(btoer); ok { + if bto := v.GetActivityStreamsBto(); bto != nil { + activityBto := streams.NewActivityStreamsBtoProperty() + for iter := bto.Begin(); iter != bto.End(); iter = iter.Next() { + var id *url.URL + id, err = ToId(iter) + if err != nil { + return + } + activityBto.AppendIRI(id) + } + c.SetActivityStreamsBto(activityBto) + } + } + if v, ok := o.(ccer); ok { + if cc := v.GetActivityStreamsCc(); cc != nil { + activityCc := streams.NewActivityStreamsCcProperty() + for iter := cc.Begin(); iter != cc.End(); iter = iter.Next() { + var id *url.URL + id, err = ToId(iter) + if err != nil { + return + } + activityCc.AppendIRI(id) + } + c.SetActivityStreamsCc(activityCc) + } + } + if v, ok := o.(bccer); ok { + if bcc := v.GetActivityStreamsBcc(); bcc != nil { + activityBcc := streams.NewActivityStreamsBccProperty() + for iter := bcc.Begin(); iter != bcc.End(); iter = iter.Next() { + var id *url.URL + id, err = ToId(iter) + if err != nil { + return + } + activityBcc.AppendIRI(id) + } + c.SetActivityStreamsBcc(activityBcc) + } + } + if v, ok := o.(audiencer); ok { + if aud := v.GetActivityStreamsAudience(); aud != nil { + activityAudience := streams.NewActivityStreamsAudienceProperty() + for iter := aud.Begin(); iter != aud.End(); iter = iter.Next() { + var id *url.URL + id, err = ToId(iter) + if err != nil { + return + } + activityAudience.AppendIRI(id) + } + c.SetActivityStreamsAudience(activityAudience) + } + } + return +} + +// filterURLs removes urls whose strings match the provided filter +func filterURLs(u []*url.URL, fn func(s string) bool) []*url.URL { + i := 0 + for i < len(u) { + if fn(u[i].String()) { + u = append(u[:i], u[i+1:]...) + } else { + i++ + } + } + return u +} + +const ( + // PublicActivityPubIRI is the IRI that indicates an Activity is meant + // to be visible for general public consumption. + PublicActivityPubIRI = "https://www.w3.org/ns/activitystreams#Public" + publicJsonLD = "Public" + publicJsonLDAS = "as:Public" +) + +// IsPublic determines if an IRI string is the Public collection as defined in +// the spec, including JSON-LD compliant collections. +func IsPublic(s string) bool { + return s == PublicActivityPubIRI || s == publicJsonLD || s == publicJsonLDAS +} + +// getInboxes extracts the 'inbox' IRIs from actor types. +func getInboxes(t []vocab.Type) (u []*url.URL, err error) { + for _, elem := range t { + var iri *url.URL + iri, err = getInbox(elem) + if err != nil { + return + } + u = append(u, iri) + } + return +} + +// getInbox extracts the 'inbox' IRI from an actor type. +func getInbox(t vocab.Type) (u *url.URL, err error) { + ib, ok := t.(inboxer) + if !ok { + err = fmt.Errorf("actor type %T has no inbox", t) + return + } + inbox := ib.GetActivityStreamsInbox() + return ToId(inbox) +} + +// dedupeIRIs will deduplicate final inbox IRIs. The ignore list is applied to +// the final list. +func dedupeIRIs(recipients, ignored []*url.URL) (out []*url.URL) { + ignoredMap := make(map[string]bool, len(ignored)) + for _, elem := range ignored { + ignoredMap[elem.String()] = true + } + outMap := make(map[string]bool, len(recipients)) + for _, k := range recipients { + kStr := k.String() + if !ignoredMap[kStr] && !outMap[kStr] { + out = append(out, k) + outMap[kStr] = true + } + } + return +} + +// stripHiddenRecipients removes "bto" and "bcc" from the activity. +// +// Note that this requirement of the specification is under "Section 6: Client +// to Server Interactions", the Social API, and not the Federative API. +func stripHiddenRecipients(activity Activity) { + activity.SetActivityStreamsBto(nil) + activity.SetActivityStreamsBcc(nil) + op := activity.GetActivityStreamsObject() + if op != nil { + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + if v, ok := iter.GetType().(btoer); ok { + v.SetActivityStreamsBto(nil) + } + if v, ok := iter.GetType().(bccer); ok { + v.SetActivityStreamsBcc(nil) + } + } + } +} + +// mustHaveActivityOriginMatchObjects ensures that the Host in the activity id +// IRI matches all of the Hosts in the object id IRIs. +func mustHaveActivityOriginMatchObjects(a Activity) error { + originIRI, err := GetId(a) + if err != nil { + return err + } + originHost := originIRI.Host + op := a.GetActivityStreamsObject() + if op == nil || op.Len() == 0 { + return nil + } + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + iri, err := ToId(iter) + if err != nil { + return err + } + if originHost != iri.Host { + return fmt.Errorf("object %q: not in activity origin", iri) + } + } + return nil +} + +// normalizeRecipients ensures the activity and object have the same 'to', +// 'bto', 'cc', 'bcc', and 'audience' properties. Copy the Activity's recipients +// to objects, and the objects to the activity, but does NOT copy objects' +// recipients to each other. +func normalizeRecipients(a vocab.ActivityStreamsCreate) error { + // Phase 0: Acquire all recipients on the activity. + // + // Obtain the actorTo map + actorToMap := make(map[string]*url.URL) + actorTo := a.GetActivityStreamsTo() + if actorTo == nil { + actorTo = streams.NewActivityStreamsToProperty() + a.SetActivityStreamsTo(actorTo) + } + for iter := actorTo.Begin(); iter != actorTo.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + actorToMap[id.String()] = id + } + // Obtain the actorBto map + actorBtoMap := make(map[string]*url.URL) + actorBto := a.GetActivityStreamsBto() + if actorBto == nil { + actorBto = streams.NewActivityStreamsBtoProperty() + a.SetActivityStreamsBto(actorBto) + } + for iter := actorBto.Begin(); iter != actorBto.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + actorBtoMap[id.String()] = id + } + // Obtain the actorCc map + actorCcMap := make(map[string]*url.URL) + actorCc := a.GetActivityStreamsCc() + if actorCc == nil { + actorCc = streams.NewActivityStreamsCcProperty() + a.SetActivityStreamsCc(actorCc) + } + for iter := actorCc.Begin(); iter != actorCc.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + actorCcMap[id.String()] = id + } + // Obtain the actorBcc map + actorBccMap := make(map[string]*url.URL) + actorBcc := a.GetActivityStreamsBcc() + if actorBcc == nil { + actorBcc = streams.NewActivityStreamsBccProperty() + a.SetActivityStreamsBcc(actorBcc) + } + for iter := actorBcc.Begin(); iter != actorBcc.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + actorBccMap[id.String()] = id + } + // Obtain the actorAudience map + actorAudienceMap := make(map[string]*url.URL) + actorAudience := a.GetActivityStreamsAudience() + if actorAudience == nil { + actorAudience = streams.NewActivityStreamsAudienceProperty() + a.SetActivityStreamsAudience(actorAudience) + } + for iter := actorAudience.Begin(); iter != actorAudience.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + actorAudienceMap[id.String()] = id + } + // Obtain the objects maps for each recipient type. + o := a.GetActivityStreamsObject() + objsTo := make([]map[string]*url.URL, o.Len()) + objsBto := make([]map[string]*url.URL, o.Len()) + objsCc := make([]map[string]*url.URL, o.Len()) + objsBcc := make([]map[string]*url.URL, o.Len()) + objsAudience := make([]map[string]*url.URL, o.Len()) + for i := 0; i < o.Len(); i++ { + iter := o.At(i) + // Phase 1: Acquire all existing recipients on the object. + // + // Object to + objsTo[i] = make(map[string]*url.URL) + var oTo vocab.ActivityStreamsToProperty + if tr, ok := iter.GetType().(toer); !ok { + return fmt.Errorf("the Create object at %d has no 'to' property", i) + } else { + oTo = tr.GetActivityStreamsTo() + if oTo == nil { + oTo = streams.NewActivityStreamsToProperty() + tr.SetActivityStreamsTo(oTo) + } + } + for iter := oTo.Begin(); iter != oTo.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + objsTo[i][id.String()] = id + } + // Object bto + objsBto[i] = make(map[string]*url.URL) + var oBto vocab.ActivityStreamsBtoProperty + if tr, ok := iter.GetType().(btoer); !ok { + return fmt.Errorf("the Create object at %d has no 'bto' property", i) + } else { + oBto = tr.GetActivityStreamsBto() + if oBto == nil { + oBto = streams.NewActivityStreamsBtoProperty() + tr.SetActivityStreamsBto(oBto) + } + } + for iter := oBto.Begin(); iter != oBto.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + objsBto[i][id.String()] = id + } + // Object cc + objsCc[i] = make(map[string]*url.URL) + var oCc vocab.ActivityStreamsCcProperty + if tr, ok := iter.GetType().(ccer); !ok { + return fmt.Errorf("the Create object at %d has no 'cc' property", i) + } else { + oCc = tr.GetActivityStreamsCc() + if oCc == nil { + oCc = streams.NewActivityStreamsCcProperty() + tr.SetActivityStreamsCc(oCc) + } + } + for iter := oCc.Begin(); iter != oCc.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + objsCc[i][id.String()] = id + } + // Object bcc + objsBcc[i] = make(map[string]*url.URL) + var oBcc vocab.ActivityStreamsBccProperty + if tr, ok := iter.GetType().(bccer); !ok { + return fmt.Errorf("the Create object at %d has no 'bcc' property", i) + } else { + oBcc = tr.GetActivityStreamsBcc() + if oBcc == nil { + oBcc = streams.NewActivityStreamsBccProperty() + tr.SetActivityStreamsBcc(oBcc) + } + } + for iter := oBcc.Begin(); iter != oBcc.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + objsBcc[i][id.String()] = id + } + // Object audience + objsAudience[i] = make(map[string]*url.URL) + var oAudience vocab.ActivityStreamsAudienceProperty + if tr, ok := iter.GetType().(audiencer); !ok { + return fmt.Errorf("the Create object at %d has no 'audience' property", i) + } else { + oAudience = tr.GetActivityStreamsAudience() + if oAudience == nil { + oAudience = streams.NewActivityStreamsAudienceProperty() + tr.SetActivityStreamsAudience(oAudience) + } + } + for iter := oAudience.Begin(); iter != oAudience.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + objsAudience[i][id.String()] = id + } + // Phase 2: Apply missing recipients to the object from the + // activity. + // + // Activity to -> Object to + for k, v := range actorToMap { + if _, ok := objsTo[i][k]; !ok { + oTo.AppendIRI(v) + } + } + // Activity bto -> Object bto + for k, v := range actorBtoMap { + if _, ok := objsBto[i][k]; !ok { + oBto.AppendIRI(v) + } + } + // Activity cc -> Object cc + for k, v := range actorCcMap { + if _, ok := objsCc[i][k]; !ok { + oCc.AppendIRI(v) + } + } + // Activity bcc -> Object bcc + for k, v := range actorBccMap { + if _, ok := objsBcc[i][k]; !ok { + oBcc.AppendIRI(v) + } + } + // Activity audience -> Object audience + for k, v := range actorAudienceMap { + if _, ok := objsAudience[i][k]; !ok { + oAudience.AppendIRI(v) + } + } + } + // Phase 3: Apply missing recipients to the activity from the objects. + // + // Object to -> Activity to + for i := 0; i < len(objsTo); i++ { + for k, v := range objsTo[i] { + if _, ok := actorToMap[k]; !ok { + actorTo.AppendIRI(v) + } + } + } + // Object bto -> Activity bto + for i := 0; i < len(objsBto); i++ { + for k, v := range objsBto[i] { + if _, ok := actorBtoMap[k]; !ok { + actorBto.AppendIRI(v) + } + } + } + // Object cc -> Activity cc + for i := 0; i < len(objsCc); i++ { + for k, v := range objsCc[i] { + if _, ok := actorCcMap[k]; !ok { + actorCc.AppendIRI(v) + } + } + } + // Object bcc -> Activity bcc + for i := 0; i < len(objsBcc); i++ { + for k, v := range objsBcc[i] { + if _, ok := actorBccMap[k]; !ok { + actorBcc.AppendIRI(v) + } + } + } + // Object audience -> Activity audience + for i := 0; i < len(objsAudience); i++ { + for k, v := range objsAudience[i] { + if _, ok := actorAudienceMap[k]; !ok { + actorAudience.AppendIRI(v) + } + } + } + return nil +} + +// toTombstone creates a Tombstone object for the given ActivityStreams value. +func toTombstone(obj vocab.Type, id *url.URL, now time.Time) vocab.ActivityStreamsTombstone { + tomb := streams.NewActivityStreamsTombstone() + // id property + idProp := streams.NewJSONLDIdProperty() + idProp.Set(id) + tomb.SetJSONLDId(idProp) + // formerType property + former := streams.NewActivityStreamsFormerTypeProperty() + tomb.SetActivityStreamsFormerType(former) + // Populate Former Type + former.AppendXMLSchemaString(obj.GetTypeName()) + // Copy over the published property if it existed + if pubber, ok := obj.(publisheder); ok { + if pub := pubber.GetActivityStreamsPublished(); pub != nil { + tomb.SetActivityStreamsPublished(pub) + } + } + // Copy over the updated property if it existed + if upder, ok := obj.(updateder); ok { + if upd := upder.GetActivityStreamsUpdated(); upd != nil { + tomb.SetActivityStreamsUpdated(upd) + } + } + // Set deleted time to now. + deleted := streams.NewActivityStreamsDeletedProperty() + deleted.Set(now) + tomb.SetActivityStreamsDeleted(deleted) + return tomb +} + +// mustHaveActivityActorsMatchObjectActors ensures that the actors on types in +// the 'object' property are all listed in the 'actor' property. +func mustHaveActivityActorsMatchObjectActors(c context.Context, + actors vocab.ActivityStreamsActorProperty, + op vocab.ActivityStreamsObjectProperty, + newTransport func(c context.Context, actorBoxIRI *url.URL, gofedAgent string) (t Transport, err error), + boxIRI *url.URL) error { + activityActorMap := make(map[string]bool, actors.Len()) + for iter := actors.Begin(); iter != actors.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + activityActorMap[id.String()] = true + } + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + iri, err := ToId(iter) + if err != nil { + return err + } + // Attempt to dereference the IRI, regardless whether it is a + // type or IRI + tport, err := newTransport(c, boxIRI, goFedUserAgent()) + if err != nil { + return err + } + b, err := tport.Dereference(c, iri) + if err != nil { + return err + } + var m map[string]interface{} + if err = json.Unmarshal(b, &m); err != nil { + return err + } + t, err := streams.ToType(c, m) + if err != nil { + return err + } + ac, ok := t.(actorer) + if !ok { + return fmt.Errorf("cannot verify actors: object value has no 'actor' property") + } + objActors := ac.GetActivityStreamsActor() + for iter := objActors.Begin(); iter != objActors.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + if !activityActorMap[id.String()] { + return fmt.Errorf("activity does not have all actors from its object's actors") + } + } + } + return nil +} + +// add implements the logic of adding object ids to a target Collection or +// OrderedCollection. This logic is shared by both the C2S and S2S protocols. +func add(c context.Context, + op vocab.ActivityStreamsObjectProperty, + target vocab.ActivityStreamsTargetProperty, + db Database) error { + opIds := make([]*url.URL, 0, op.Len()) + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + opIds = append(opIds, id) + } + targetIds := make([]*url.URL, 0, op.Len()) + for iter := target.Begin(); iter != target.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + targetIds = append(targetIds, id) + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(t *url.URL) error { + if err := db.Lock(c, t); err != nil { + return err + } + defer db.Unlock(c, t) + if owns, err := db.Owns(c, t); err != nil { + return err + } else if !owns { + return nil + } + tp, err := db.Get(c, t) + if err != nil { + return err + } + if streams.IsOrExtendsActivityStreamsOrderedCollection(tp) { + oi, ok := tp.(orderedItemser) + if !ok { + return fmt.Errorf("type extending from OrderedCollection cannot convert to orderedItemser interface") + } + oiProp := oi.GetActivityStreamsOrderedItems() + if oiProp == nil { + oiProp = streams.NewActivityStreamsOrderedItemsProperty() + oi.SetActivityStreamsOrderedItems(oiProp) + } + for _, objId := range opIds { + oiProp.AppendIRI(objId) + } + } else if streams.IsOrExtendsActivityStreamsCollection(tp) { + i, ok := tp.(itemser) + if !ok { + return fmt.Errorf("type extending from Collection cannot convert to itemser interface") + } + iProp := i.GetActivityStreamsItems() + if iProp == nil { + iProp = streams.NewActivityStreamsItemsProperty() + i.SetActivityStreamsItems(iProp) + } + for _, objId := range opIds { + iProp.AppendIRI(objId) + } + } else { + return fmt.Errorf("target in Add is neither a Collection nor an OrderedCollection") + } + err = db.Update(c, tp) + if err != nil { + return err + } + return nil + } + for _, t := range targetIds { + if err := loopFn(t); err != nil { + return err + } + } + return nil +} + +// remove implements the logic of removing object ids to a target Collection or +// OrderedCollection. This logic is shared by both the C2S and S2S protocols. +func remove(c context.Context, + op vocab.ActivityStreamsObjectProperty, + target vocab.ActivityStreamsTargetProperty, + db Database) error { + opIds := make(map[string]bool, op.Len()) + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + opIds[id.String()] = true + } + targetIds := make([]*url.URL, 0, op.Len()) + for iter := target.Begin(); iter != target.End(); iter = iter.Next() { + id, err := ToId(iter) + if err != nil { + return err + } + targetIds = append(targetIds, id) + } + // Create anonymous loop function to be able to properly scope the defer + // for the database lock at each iteration. + loopFn := func(t *url.URL) error { + if err := db.Lock(c, t); err != nil { + return err + } + defer db.Unlock(c, t) + if owns, err := db.Owns(c, t); err != nil { + return err + } else if !owns { + return nil + } + tp, err := db.Get(c, t) + if err != nil { + return err + } + if streams.IsOrExtendsActivityStreamsOrderedCollection(tp) { + oi, ok := tp.(orderedItemser) + if !ok { + return fmt.Errorf("type extending from OrderedCollection cannot convert to orderedItemser interface") + } + oiProp := oi.GetActivityStreamsOrderedItems() + if oiProp != nil { + for i := 0; i < oiProp.Len(); /*Conditional*/ { + id, err := ToId(oiProp.At(i)) + if err != nil { + return err + } + if opIds[id.String()] { + oiProp.Remove(i) + } else { + i++ + } + } + } + } else if streams.IsOrExtendsActivityStreamsCollection(tp) { + i, ok := tp.(itemser) + if !ok { + return fmt.Errorf("type extending from Collection cannot convert to itemser interface") + } + iProp := i.GetActivityStreamsItems() + if iProp != nil { + for i := 0; i < iProp.Len(); /*Conditional*/ { + id, err := ToId(iProp.At(i)) + if err != nil { + return err + } + if opIds[id.String()] { + iProp.Remove(i) + } else { + i++ + } + } + } + } else { + return fmt.Errorf("target in Remove is neither a Collection nor an OrderedCollection") + } + err = db.Update(c, tp) + if err != nil { + return err + } + return nil + } + for _, t := range targetIds { + if err := loopFn(t); err != nil { + return err + } + } + return nil +} + +// clearSensitiveFields removes the 'bto' and 'bcc' entries on the given value +// and recursively on every 'object' property value. +func clearSensitiveFields(obj vocab.Type) { + if t, ok := obj.(btoer); ok { + t.SetActivityStreamsBto(nil) + } + if t, ok := obj.(bccer); ok { + t.SetActivityStreamsBcc(nil) + } + if t, ok := obj.(objecter); ok { + op := t.GetActivityStreamsObject() + if op != nil { + for iter := op.Begin(); iter != op.End(); iter = iter.Next() { + clearSensitiveFields(iter.GetType()) + } + } + } +} + +// requestId forms an ActivityPub id based on the HTTP request. Always assumes +// that the id is HTTPS. +func requestId(r *http.Request, scheme string) *url.URL { + id := r.URL + id.Host = r.Host + id.Scheme = scheme + return id +} diff --git a/vendor/github.com/go-fed/activity/pub/version.go b/vendor/github.com/go-fed/activity/pub/version.go new file mode 100644 index 000000000..23b958ce5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/pub/version.go @@ -0,0 +1,15 @@ +package pub + +import ( + "fmt" +) + +const ( + // Version string, used in the User-Agent + version = "v1.0.0" +) + +// goFedUserAgent returns the user agent string for the go-fed library. +func goFedUserAgent() string { + return fmt.Sprintf("(go-fed/activity %s)", version) +} diff --git a/vendor/github.com/go-fed/activity/streams/README.md b/vendor/github.com/go-fed/activity/streams/README.md new file mode 100644 index 000000000..00ae95d85 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/README.md @@ -0,0 +1,152 @@ +# streams + +ActivityStreams vocabularies automatically code-generated with `astool`. + +## Reference & Tutorial + +The [go-fed website](https://go-fed.org/) contains tutorials and reference +materials, in addition to the rest of this README. + +## How To Use + +``` +go get github.com/go-fed/activity +``` + +All generated types and properties are interfaces in +`github.com/go-fed/streams/vocab`, but note that the constructors and supporting +functions live in `github.com/go-fed/streams`. + +To create a type and set properties: + +```golang +var actorURL *url.URL = // ... + +// A new "Create" Activity. +create := streams.NewActivityStreamsCreate() +// A new "actor" property. +actor := streams.NewActivityStreamsActorProperty() +actor.AppendIRI(actorURL) +// Set the "actor" property on the "Create" Activity. +create.SetActivityStreamsActor(actor) +``` + +To process properties on a type: + +```golang +// Returns true if the "Update" has at least one "object" with an IRI value. +func hasObjectWithIRIValue(update vocab.ActivityStreamsUpdate) bool { + objectProperty := update.GetActivityStreamsObject() + // Any property may be nil if it was either empty in the original JSON or + // never set on the golang type. + if objectProperty == nil { + return false + } + // The "object" property is non-functional: it could have multiple values. The + // generated code has slightly different methods for a functional property + // versus a non-functional one. + // + // While it may be easy to ignore multiple values in other languages + // (accidentally or purposefully), go-fed is designed to make it hard to do + // so. + for iter := objectProperty.Begin(); iter != objectProperty.End(); iter = iter.Next() { + // If this particular value is an IRI, return true. + if iter.IsIRI() { + return true + } + } + // All values are literal embedded values and not IRIs. + return false +} +``` + +The ActivityStreams type hierarchy of "extends" and "disjoint" is not the same +as the Object Oriented definition of inheritance. It is also not the same as +golang's interface duck-typing. Helper functions are provided to guarantee that +an application's logic can correctly apply the type hierarchy. + +```golang +thing := // Pick a type from streams.NewActivityStreams() +if streams.ActivityStreamsObjectIsDisjointWith(thing) { + fmt.Printf("The \"Object\" type is Disjoint with the %T type.\n", thing) +} +if streams.ActivityStreamsLinkIsExtendedBy(thing) { + fmt.Printf("The %T type Extends from the \"Link\" type.\n", thing) +} +if streams.ActivityStreamsActivityExtends(thing) { + fmt.Printf("The \"Activity\" type extends from the %T type.\n", thing) +} +``` + +When given a generic JSON payload, it can be resolved to a concrete type by +creating a `streams.JSONResolver` and giving it a callback function that accepts +the interesting concrete type: + +```golang +// Callbacks must be in the form: +// func(context.Context, ) error +createCallback := func(c context.Context, create vocab.ActivityStreamsCreate) error { + // Do something with 'create' + fmt.Printf("createCallback called: %T\n", create) + return nil +} +updateCallback := func(c context.Context, update vocab.ActivityStreamsUpdate) error { + // Do something with 'update' + fmt.Printf("updateCallback called: %T\n", update) + return nil +} +jsonResolver, err := streams.NewJSONResolver(createCallback, updateCallback) +if err != nil { + // Something in the setup was wrong. For example, a callback has an + // unsupported signature and would never be called + panic(err) +} +// Create a context, which allows you to pass data opaquely through the +// JSONResolver. +c := context.Background() +// Example 15 of the ActivityStreams specification. +b := []byte(`{ + "@context": "https://www.w3.org/ns/activitystreams", + "summary": "Sally created a note", + "type": "Create", + "actor": { + "type": "Person", + "name": "Sally" + }, + "object": { + "type": "Note", + "name": "A Simple Note", + "content": "This is a simple note" + } +}`) +var jsonMap map[string]interface{} +if err = json.Unmarshal(b, &jsonMap); err != nil { + panic(err) +} +// The createCallback function will be called. +err = jsonResolver.Resolve(c, jsonMap) +if err != nil && !streams.IsUnmatchedErr(err) { + // Something went wrong + panic(err) +} else if streams.IsUnmatchedErr(err) { + // Everything went right but the callback didn't match or the ActivityStreams + // type is one that wasn't code generated. + fmt.Println("No match: ", err) +} +``` + +A `streams.TypeResolver` is similar but uses the golang types instead. It +accepts the generic `vocab.Type`. This is the abstraction when needing to handle +any ActivityStreams type. The function `ToType` can convert a JSON-decoded-map +into this kind of value if needed. + +A `streams.PredicatedTypeResolver` lets you apply a boolean predicate function +that acts as a check whether a callback is allowed to be invoked. + +## FAQ + +### Why Are Empty Properties Nil And Not Zero-Valued? + +Due to implementation design decisions, it would require a lot of plumbing to +ensure this would work properly. It would also require allocation of a +non-trivial amount of memory. diff --git a/vendor/github.com/go-fed/activity/streams/gen_consts.go b/vendor/github.com/go-fed/activity/streams/gen_consts.go new file mode 100644 index 000000000..5af2c6d3f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_consts.go @@ -0,0 +1,501 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +// ActivityStreamsAcceptName is the string literal of the name for the Accept type in the ActivityStreams vocabulary. +var ActivityStreamsAcceptName string = "Accept" + +// ActivityStreamsActivityName is the string literal of the name for the Activity type in the ActivityStreams vocabulary. +var ActivityStreamsActivityName string = "Activity" + +// ActivityStreamsAddName is the string literal of the name for the Add type in the ActivityStreams vocabulary. +var ActivityStreamsAddName string = "Add" + +// ActivityStreamsAnnounceName is the string literal of the name for the Announce type in the ActivityStreams vocabulary. +var ActivityStreamsAnnounceName string = "Announce" + +// ActivityStreamsApplicationName is the string literal of the name for the Application type in the ActivityStreams vocabulary. +var ActivityStreamsApplicationName string = "Application" + +// ActivityStreamsArriveName is the string literal of the name for the Arrive type in the ActivityStreams vocabulary. +var ActivityStreamsArriveName string = "Arrive" + +// ActivityStreamsArticleName is the string literal of the name for the Article type in the ActivityStreams vocabulary. +var ActivityStreamsArticleName string = "Article" + +// ActivityStreamsAudioName is the string literal of the name for the Audio type in the ActivityStreams vocabulary. +var ActivityStreamsAudioName string = "Audio" + +// ActivityStreamsBlockName is the string literal of the name for the Block type in the ActivityStreams vocabulary. +var ActivityStreamsBlockName string = "Block" + +// ForgeFedBranchName is the string literal of the name for the Branch type in the ForgeFed vocabulary. +var ForgeFedBranchName string = "Branch" + +// ActivityStreamsCollectionName is the string literal of the name for the Collection type in the ActivityStreams vocabulary. +var ActivityStreamsCollectionName string = "Collection" + +// ActivityStreamsCollectionPageName is the string literal of the name for the CollectionPage type in the ActivityStreams vocabulary. +var ActivityStreamsCollectionPageName string = "CollectionPage" + +// ForgeFedCommitName is the string literal of the name for the Commit type in the ForgeFed vocabulary. +var ForgeFedCommitName string = "Commit" + +// ActivityStreamsCreateName is the string literal of the name for the Create type in the ActivityStreams vocabulary. +var ActivityStreamsCreateName string = "Create" + +// ActivityStreamsDeleteName is the string literal of the name for the Delete type in the ActivityStreams vocabulary. +var ActivityStreamsDeleteName string = "Delete" + +// ActivityStreamsDislikeName is the string literal of the name for the Dislike type in the ActivityStreams vocabulary. +var ActivityStreamsDislikeName string = "Dislike" + +// ActivityStreamsDocumentName is the string literal of the name for the Document type in the ActivityStreams vocabulary. +var ActivityStreamsDocumentName string = "Document" + +// TootEmojiName is the string literal of the name for the Emoji type in the Toot vocabulary. +var TootEmojiName string = "Emoji" + +// ActivityStreamsEventName is the string literal of the name for the Event type in the ActivityStreams vocabulary. +var ActivityStreamsEventName string = "Event" + +// ActivityStreamsFlagName is the string literal of the name for the Flag type in the ActivityStreams vocabulary. +var ActivityStreamsFlagName string = "Flag" + +// ActivityStreamsFollowName is the string literal of the name for the Follow type in the ActivityStreams vocabulary. +var ActivityStreamsFollowName string = "Follow" + +// ActivityStreamsGroupName is the string literal of the name for the Group type in the ActivityStreams vocabulary. +var ActivityStreamsGroupName string = "Group" + +// TootIdentityProofName is the string literal of the name for the IdentityProof type in the Toot vocabulary. +var TootIdentityProofName string = "IdentityProof" + +// ActivityStreamsIgnoreName is the string literal of the name for the Ignore type in the ActivityStreams vocabulary. +var ActivityStreamsIgnoreName string = "Ignore" + +// ActivityStreamsImageName is the string literal of the name for the Image type in the ActivityStreams vocabulary. +var ActivityStreamsImageName string = "Image" + +// ActivityStreamsIntransitiveActivityName is the string literal of the name for the IntransitiveActivity type in the ActivityStreams vocabulary. +var ActivityStreamsIntransitiveActivityName string = "IntransitiveActivity" + +// ActivityStreamsInviteName is the string literal of the name for the Invite type in the ActivityStreams vocabulary. +var ActivityStreamsInviteName string = "Invite" + +// ActivityStreamsJoinName is the string literal of the name for the Join type in the ActivityStreams vocabulary. +var ActivityStreamsJoinName string = "Join" + +// ActivityStreamsLeaveName is the string literal of the name for the Leave type in the ActivityStreams vocabulary. +var ActivityStreamsLeaveName string = "Leave" + +// ActivityStreamsLikeName is the string literal of the name for the Like type in the ActivityStreams vocabulary. +var ActivityStreamsLikeName string = "Like" + +// ActivityStreamsLinkName is the string literal of the name for the Link type in the ActivityStreams vocabulary. +var ActivityStreamsLinkName string = "Link" + +// ActivityStreamsListenName is the string literal of the name for the Listen type in the ActivityStreams vocabulary. +var ActivityStreamsListenName string = "Listen" + +// ActivityStreamsMentionName is the string literal of the name for the Mention type in the ActivityStreams vocabulary. +var ActivityStreamsMentionName string = "Mention" + +// ActivityStreamsMoveName is the string literal of the name for the Move type in the ActivityStreams vocabulary. +var ActivityStreamsMoveName string = "Move" + +// ActivityStreamsNoteName is the string literal of the name for the Note type in the ActivityStreams vocabulary. +var ActivityStreamsNoteName string = "Note" + +// ActivityStreamsObjectName is the string literal of the name for the Object type in the ActivityStreams vocabulary. +var ActivityStreamsObjectName string = "Object" + +// ActivityStreamsOfferName is the string literal of the name for the Offer type in the ActivityStreams vocabulary. +var ActivityStreamsOfferName string = "Offer" + +// ActivityStreamsOrderedCollectionName is the string literal of the name for the OrderedCollection type in the ActivityStreams vocabulary. +var ActivityStreamsOrderedCollectionName string = "OrderedCollection" + +// ActivityStreamsOrderedCollectionPageName is the string literal of the name for the OrderedCollectionPage type in the ActivityStreams vocabulary. +var ActivityStreamsOrderedCollectionPageName string = "OrderedCollectionPage" + +// ActivityStreamsOrganizationName is the string literal of the name for the Organization type in the ActivityStreams vocabulary. +var ActivityStreamsOrganizationName string = "Organization" + +// ActivityStreamsPageName is the string literal of the name for the Page type in the ActivityStreams vocabulary. +var ActivityStreamsPageName string = "Page" + +// ActivityStreamsPersonName is the string literal of the name for the Person type in the ActivityStreams vocabulary. +var ActivityStreamsPersonName string = "Person" + +// ActivityStreamsPlaceName is the string literal of the name for the Place type in the ActivityStreams vocabulary. +var ActivityStreamsPlaceName string = "Place" + +// ActivityStreamsProfileName is the string literal of the name for the Profile type in the ActivityStreams vocabulary. +var ActivityStreamsProfileName string = "Profile" + +// W3IDSecurityV1PublicKeyName is the string literal of the name for the PublicKey type in the W3IDSecurityV1 vocabulary. +var W3IDSecurityV1PublicKeyName string = "PublicKey" + +// ForgeFedPushName is the string literal of the name for the Push type in the ForgeFed vocabulary. +var ForgeFedPushName string = "Push" + +// ActivityStreamsQuestionName is the string literal of the name for the Question type in the ActivityStreams vocabulary. +var ActivityStreamsQuestionName string = "Question" + +// ActivityStreamsReadName is the string literal of the name for the Read type in the ActivityStreams vocabulary. +var ActivityStreamsReadName string = "Read" + +// ActivityStreamsRejectName is the string literal of the name for the Reject type in the ActivityStreams vocabulary. +var ActivityStreamsRejectName string = "Reject" + +// ActivityStreamsRelationshipName is the string literal of the name for the Relationship type in the ActivityStreams vocabulary. +var ActivityStreamsRelationshipName string = "Relationship" + +// ActivityStreamsRemoveName is the string literal of the name for the Remove type in the ActivityStreams vocabulary. +var ActivityStreamsRemoveName string = "Remove" + +// ForgeFedRepositoryName is the string literal of the name for the Repository type in the ForgeFed vocabulary. +var ForgeFedRepositoryName string = "Repository" + +// ActivityStreamsServiceName is the string literal of the name for the Service type in the ActivityStreams vocabulary. +var ActivityStreamsServiceName string = "Service" + +// ActivityStreamsTentativeAcceptName is the string literal of the name for the TentativeAccept type in the ActivityStreams vocabulary. +var ActivityStreamsTentativeAcceptName string = "TentativeAccept" + +// ActivityStreamsTentativeRejectName is the string literal of the name for the TentativeReject type in the ActivityStreams vocabulary. +var ActivityStreamsTentativeRejectName string = "TentativeReject" + +// ForgeFedTicketName is the string literal of the name for the Ticket type in the ForgeFed vocabulary. +var ForgeFedTicketName string = "Ticket" + +// ForgeFedTicketDependencyName is the string literal of the name for the TicketDependency type in the ForgeFed vocabulary. +var ForgeFedTicketDependencyName string = "TicketDependency" + +// ActivityStreamsTombstoneName is the string literal of the name for the Tombstone type in the ActivityStreams vocabulary. +var ActivityStreamsTombstoneName string = "Tombstone" + +// ActivityStreamsTravelName is the string literal of the name for the Travel type in the ActivityStreams vocabulary. +var ActivityStreamsTravelName string = "Travel" + +// ActivityStreamsUndoName is the string literal of the name for the Undo type in the ActivityStreams vocabulary. +var ActivityStreamsUndoName string = "Undo" + +// ActivityStreamsUpdateName is the string literal of the name for the Update type in the ActivityStreams vocabulary. +var ActivityStreamsUpdateName string = "Update" + +// ActivityStreamsVideoName is the string literal of the name for the Video type in the ActivityStreams vocabulary. +var ActivityStreamsVideoName string = "Video" + +// ActivityStreamsViewName is the string literal of the name for the View type in the ActivityStreams vocabulary. +var ActivityStreamsViewName string = "View" + +// ActivityStreamsAccuracyPropertyName is the string literal of the name for the accuracy property in the ActivityStreams vocabulary. +var ActivityStreamsAccuracyPropertyName string = "accuracy" + +// ActivityStreamsActorPropertyName is the string literal of the name for the actor property in the ActivityStreams vocabulary. +var ActivityStreamsActorPropertyName string = "actor" + +// ActivityStreamsAltitudePropertyName is the string literal of the name for the altitude property in the ActivityStreams vocabulary. +var ActivityStreamsAltitudePropertyName string = "altitude" + +// ActivityStreamsAnyOfPropertyName is the string literal of the name for the anyOf property in the ActivityStreams vocabulary. +var ActivityStreamsAnyOfPropertyName string = "anyOf" + +// ForgeFedAssignedToPropertyName is the string literal of the name for the assignedTo property in the ForgeFed vocabulary. +var ForgeFedAssignedToPropertyName string = "assignedTo" + +// ActivityStreamsAttachmentPropertyName is the string literal of the name for the attachment property in the ActivityStreams vocabulary. +var ActivityStreamsAttachmentPropertyName string = "attachment" + +// ActivityStreamsAttributedToPropertyName is the string literal of the name for the attributedTo property in the ActivityStreams vocabulary. +var ActivityStreamsAttributedToPropertyName string = "attributedTo" + +// ActivityStreamsAudiencePropertyName is the string literal of the name for the audience property in the ActivityStreams vocabulary. +var ActivityStreamsAudiencePropertyName string = "audience" + +// ActivityStreamsBccPropertyName is the string literal of the name for the bcc property in the ActivityStreams vocabulary. +var ActivityStreamsBccPropertyName string = "bcc" + +// TootBlurhashPropertyName is the string literal of the name for the blurhash property in the Toot vocabulary. +var TootBlurhashPropertyName string = "blurhash" + +// ActivityStreamsBtoPropertyName is the string literal of the name for the bto property in the ActivityStreams vocabulary. +var ActivityStreamsBtoPropertyName string = "bto" + +// ActivityStreamsCcPropertyName is the string literal of the name for the cc property in the ActivityStreams vocabulary. +var ActivityStreamsCcPropertyName string = "cc" + +// ActivityStreamsClosedPropertyName is the string literal of the name for the closed property in the ActivityStreams vocabulary. +var ActivityStreamsClosedPropertyName string = "closed" + +// ForgeFedCommittedPropertyName is the string literal of the name for the committed property in the ForgeFed vocabulary. +var ForgeFedCommittedPropertyName string = "committed" + +// ForgeFedCommittedByPropertyName is the string literal of the name for the committedBy property in the ForgeFed vocabulary. +var ForgeFedCommittedByPropertyName string = "committedBy" + +// ActivityStreamsContentPropertyName is the string literal of the name for the content property in the ActivityStreams vocabulary. +var ActivityStreamsContentPropertyName string = "content" + +// ActivityStreamsContentPropertyMapName is the string literal of the name for the content property in the ActivityStreams vocabulary when it is a natural language map. +var ActivityStreamsContentPropertyMapName string = "contentMap" + +// ActivityStreamsContextPropertyName is the string literal of the name for the context property in the ActivityStreams vocabulary. +var ActivityStreamsContextPropertyName string = "context" + +// ActivityStreamsCurrentPropertyName is the string literal of the name for the current property in the ActivityStreams vocabulary. +var ActivityStreamsCurrentPropertyName string = "current" + +// ActivityStreamsDeletedPropertyName is the string literal of the name for the deleted property in the ActivityStreams vocabulary. +var ActivityStreamsDeletedPropertyName string = "deleted" + +// ForgeFedDependantsPropertyName is the string literal of the name for the dependants property in the ForgeFed vocabulary. +var ForgeFedDependantsPropertyName string = "dependants" + +// ForgeFedDependedByPropertyName is the string literal of the name for the dependedBy property in the ForgeFed vocabulary. +var ForgeFedDependedByPropertyName string = "dependedBy" + +// ForgeFedDependenciesPropertyName is the string literal of the name for the dependencies property in the ForgeFed vocabulary. +var ForgeFedDependenciesPropertyName string = "dependencies" + +// ForgeFedDependsOnPropertyName is the string literal of the name for the dependsOn property in the ForgeFed vocabulary. +var ForgeFedDependsOnPropertyName string = "dependsOn" + +// ActivityStreamsDescribesPropertyName is the string literal of the name for the describes property in the ActivityStreams vocabulary. +var ActivityStreamsDescribesPropertyName string = "describes" + +// ForgeFedDescriptionPropertyName is the string literal of the name for the description property in the ForgeFed vocabulary. +var ForgeFedDescriptionPropertyName string = "description" + +// TootDiscoverablePropertyName is the string literal of the name for the discoverable property in the Toot vocabulary. +var TootDiscoverablePropertyName string = "discoverable" + +// ActivityStreamsDurationPropertyName is the string literal of the name for the duration property in the ActivityStreams vocabulary. +var ActivityStreamsDurationPropertyName string = "duration" + +// ForgeFedEarlyItemsPropertyName is the string literal of the name for the earlyItems property in the ForgeFed vocabulary. +var ForgeFedEarlyItemsPropertyName string = "earlyItems" + +// ActivityStreamsEndTimePropertyName is the string literal of the name for the endTime property in the ActivityStreams vocabulary. +var ActivityStreamsEndTimePropertyName string = "endTime" + +// TootFeaturedPropertyName is the string literal of the name for the featured property in the Toot vocabulary. +var TootFeaturedPropertyName string = "featured" + +// ForgeFedFilesAddedPropertyName is the string literal of the name for the filesAdded property in the ForgeFed vocabulary. +var ForgeFedFilesAddedPropertyName string = "filesAdded" + +// ForgeFedFilesModifiedPropertyName is the string literal of the name for the filesModified property in the ForgeFed vocabulary. +var ForgeFedFilesModifiedPropertyName string = "filesModified" + +// ForgeFedFilesRemovedPropertyName is the string literal of the name for the filesRemoved property in the ForgeFed vocabulary. +var ForgeFedFilesRemovedPropertyName string = "filesRemoved" + +// ActivityStreamsFirstPropertyName is the string literal of the name for the first property in the ActivityStreams vocabulary. +var ActivityStreamsFirstPropertyName string = "first" + +// ActivityStreamsFollowersPropertyName is the string literal of the name for the followers property in the ActivityStreams vocabulary. +var ActivityStreamsFollowersPropertyName string = "followers" + +// ActivityStreamsFollowingPropertyName is the string literal of the name for the following property in the ActivityStreams vocabulary. +var ActivityStreamsFollowingPropertyName string = "following" + +// ForgeFedForksPropertyName is the string literal of the name for the forks property in the ForgeFed vocabulary. +var ForgeFedForksPropertyName string = "forks" + +// ActivityStreamsFormerTypePropertyName is the string literal of the name for the formerType property in the ActivityStreams vocabulary. +var ActivityStreamsFormerTypePropertyName string = "formerType" + +// ActivityStreamsGeneratorPropertyName is the string literal of the name for the generator property in the ActivityStreams vocabulary. +var ActivityStreamsGeneratorPropertyName string = "generator" + +// ForgeFedHashPropertyName is the string literal of the name for the hash property in the ForgeFed vocabulary. +var ForgeFedHashPropertyName string = "hash" + +// ActivityStreamsHeightPropertyName is the string literal of the name for the height property in the ActivityStreams vocabulary. +var ActivityStreamsHeightPropertyName string = "height" + +// ActivityStreamsHrefPropertyName is the string literal of the name for the href property in the ActivityStreams vocabulary. +var ActivityStreamsHrefPropertyName string = "href" + +// ActivityStreamsHreflangPropertyName is the string literal of the name for the hreflang property in the ActivityStreams vocabulary. +var ActivityStreamsHreflangPropertyName string = "hreflang" + +// ActivityStreamsIconPropertyName is the string literal of the name for the icon property in the ActivityStreams vocabulary. +var ActivityStreamsIconPropertyName string = "icon" + +// ActivityStreamsImagePropertyName is the string literal of the name for the image property in the ActivityStreams vocabulary. +var ActivityStreamsImagePropertyName string = "image" + +// ActivityStreamsInReplyToPropertyName is the string literal of the name for the inReplyTo property in the ActivityStreams vocabulary. +var ActivityStreamsInReplyToPropertyName string = "inReplyTo" + +// ActivityStreamsInboxPropertyName is the string literal of the name for the inbox property in the ActivityStreams vocabulary. +var ActivityStreamsInboxPropertyName string = "inbox" + +// ActivityStreamsInstrumentPropertyName is the string literal of the name for the instrument property in the ActivityStreams vocabulary. +var ActivityStreamsInstrumentPropertyName string = "instrument" + +// ForgeFedIsResolvedPropertyName is the string literal of the name for the isResolved property in the ForgeFed vocabulary. +var ForgeFedIsResolvedPropertyName string = "isResolved" + +// ActivityStreamsItemsPropertyName is the string literal of the name for the items property in the ActivityStreams vocabulary. +var ActivityStreamsItemsPropertyName string = "items" + +// ActivityStreamsLastPropertyName is the string literal of the name for the last property in the ActivityStreams vocabulary. +var ActivityStreamsLastPropertyName string = "last" + +// ActivityStreamsLatitudePropertyName is the string literal of the name for the latitude property in the ActivityStreams vocabulary. +var ActivityStreamsLatitudePropertyName string = "latitude" + +// ActivityStreamsLikedPropertyName is the string literal of the name for the liked property in the ActivityStreams vocabulary. +var ActivityStreamsLikedPropertyName string = "liked" + +// ActivityStreamsLikesPropertyName is the string literal of the name for the likes property in the ActivityStreams vocabulary. +var ActivityStreamsLikesPropertyName string = "likes" + +// ActivityStreamsLocationPropertyName is the string literal of the name for the location property in the ActivityStreams vocabulary. +var ActivityStreamsLocationPropertyName string = "location" + +// ActivityStreamsLongitudePropertyName is the string literal of the name for the longitude property in the ActivityStreams vocabulary. +var ActivityStreamsLongitudePropertyName string = "longitude" + +// ActivityStreamsMediaTypePropertyName is the string literal of the name for the mediaType property in the ActivityStreams vocabulary. +var ActivityStreamsMediaTypePropertyName string = "mediaType" + +// ActivityStreamsNamePropertyName is the string literal of the name for the name property in the ActivityStreams vocabulary. +var ActivityStreamsNamePropertyName string = "name" + +// ActivityStreamsNamePropertyMapName is the string literal of the name for the name property in the ActivityStreams vocabulary when it is a natural language map. +var ActivityStreamsNamePropertyMapName string = "nameMap" + +// ActivityStreamsNextPropertyName is the string literal of the name for the next property in the ActivityStreams vocabulary. +var ActivityStreamsNextPropertyName string = "next" + +// ActivityStreamsObjectPropertyName is the string literal of the name for the object property in the ActivityStreams vocabulary. +var ActivityStreamsObjectPropertyName string = "object" + +// ActivityStreamsOneOfPropertyName is the string literal of the name for the oneOf property in the ActivityStreams vocabulary. +var ActivityStreamsOneOfPropertyName string = "oneOf" + +// ActivityStreamsOrderedItemsPropertyName is the string literal of the name for the orderedItems property in the ActivityStreams vocabulary. +var ActivityStreamsOrderedItemsPropertyName string = "orderedItems" + +// ActivityStreamsOriginPropertyName is the string literal of the name for the origin property in the ActivityStreams vocabulary. +var ActivityStreamsOriginPropertyName string = "origin" + +// ActivityStreamsOutboxPropertyName is the string literal of the name for the outbox property in the ActivityStreams vocabulary. +var ActivityStreamsOutboxPropertyName string = "outbox" + +// W3IDSecurityV1OwnerPropertyName is the string literal of the name for the owner property in the W3IDSecurityV1 vocabulary. +var W3IDSecurityV1OwnerPropertyName string = "owner" + +// ActivityStreamsPartOfPropertyName is the string literal of the name for the partOf property in the ActivityStreams vocabulary. +var ActivityStreamsPartOfPropertyName string = "partOf" + +// ActivityStreamsPreferredUsernamePropertyName is the string literal of the name for the preferredUsername property in the ActivityStreams vocabulary. +var ActivityStreamsPreferredUsernamePropertyName string = "preferredUsername" + +// ActivityStreamsPreferredUsernamePropertyMapName is the string literal of the name for the preferredUsername property in the ActivityStreams vocabulary when it is a natural language map. +var ActivityStreamsPreferredUsernamePropertyMapName string = "preferredUsernameMap" + +// ActivityStreamsPrevPropertyName is the string literal of the name for the prev property in the ActivityStreams vocabulary. +var ActivityStreamsPrevPropertyName string = "prev" + +// ActivityStreamsPreviewPropertyName is the string literal of the name for the preview property in the ActivityStreams vocabulary. +var ActivityStreamsPreviewPropertyName string = "preview" + +// W3IDSecurityV1PublicKeyPropertyName is the string literal of the name for the publicKey property in the W3IDSecurityV1 vocabulary. +var W3IDSecurityV1PublicKeyPropertyName string = "publicKey" + +// W3IDSecurityV1PublicKeyPemPropertyName is the string literal of the name for the publicKeyPem property in the W3IDSecurityV1 vocabulary. +var W3IDSecurityV1PublicKeyPemPropertyName string = "publicKeyPem" + +// ActivityStreamsPublishedPropertyName is the string literal of the name for the published property in the ActivityStreams vocabulary. +var ActivityStreamsPublishedPropertyName string = "published" + +// ActivityStreamsRadiusPropertyName is the string literal of the name for the radius property in the ActivityStreams vocabulary. +var ActivityStreamsRadiusPropertyName string = "radius" + +// ForgeFedRefPropertyName is the string literal of the name for the ref property in the ForgeFed vocabulary. +var ForgeFedRefPropertyName string = "ref" + +// ActivityStreamsRelPropertyName is the string literal of the name for the rel property in the ActivityStreams vocabulary. +var ActivityStreamsRelPropertyName string = "rel" + +// ActivityStreamsRelationshipPropertyName is the string literal of the name for the relationship property in the ActivityStreams vocabulary. +var ActivityStreamsRelationshipPropertyName string = "relationship" + +// ActivityStreamsRepliesPropertyName is the string literal of the name for the replies property in the ActivityStreams vocabulary. +var ActivityStreamsRepliesPropertyName string = "replies" + +// ActivityStreamsResultPropertyName is the string literal of the name for the result property in the ActivityStreams vocabulary. +var ActivityStreamsResultPropertyName string = "result" + +// ActivityStreamsSharesPropertyName is the string literal of the name for the shares property in the ActivityStreams vocabulary. +var ActivityStreamsSharesPropertyName string = "shares" + +// TootSignatureAlgorithmPropertyName is the string literal of the name for the signatureAlgorithm property in the Toot vocabulary. +var TootSignatureAlgorithmPropertyName string = "signatureAlgorithm" + +// TootSignatureValuePropertyName is the string literal of the name for the signatureValue property in the Toot vocabulary. +var TootSignatureValuePropertyName string = "signatureValue" + +// ActivityStreamsSourcePropertyName is the string literal of the name for the source property in the ActivityStreams vocabulary. +var ActivityStreamsSourcePropertyName string = "source" + +// ActivityStreamsStartIndexPropertyName is the string literal of the name for the startIndex property in the ActivityStreams vocabulary. +var ActivityStreamsStartIndexPropertyName string = "startIndex" + +// ActivityStreamsStartTimePropertyName is the string literal of the name for the startTime property in the ActivityStreams vocabulary. +var ActivityStreamsStartTimePropertyName string = "startTime" + +// ActivityStreamsStreamsPropertyName is the string literal of the name for the streams property in the ActivityStreams vocabulary. +var ActivityStreamsStreamsPropertyName string = "streams" + +// ActivityStreamsSubjectPropertyName is the string literal of the name for the subject property in the ActivityStreams vocabulary. +var ActivityStreamsSubjectPropertyName string = "subject" + +// ActivityStreamsSummaryPropertyName is the string literal of the name for the summary property in the ActivityStreams vocabulary. +var ActivityStreamsSummaryPropertyName string = "summary" + +// ActivityStreamsSummaryPropertyMapName is the string literal of the name for the summary property in the ActivityStreams vocabulary when it is a natural language map. +var ActivityStreamsSummaryPropertyMapName string = "summaryMap" + +// ActivityStreamsTagPropertyName is the string literal of the name for the tag property in the ActivityStreams vocabulary. +var ActivityStreamsTagPropertyName string = "tag" + +// ActivityStreamsTargetPropertyName is the string literal of the name for the target property in the ActivityStreams vocabulary. +var ActivityStreamsTargetPropertyName string = "target" + +// ForgeFedTeamPropertyName is the string literal of the name for the team property in the ForgeFed vocabulary. +var ForgeFedTeamPropertyName string = "team" + +// ForgeFedTicketsTrackedByPropertyName is the string literal of the name for the ticketsTrackedBy property in the ForgeFed vocabulary. +var ForgeFedTicketsTrackedByPropertyName string = "ticketsTrackedBy" + +// ActivityStreamsToPropertyName is the string literal of the name for the to property in the ActivityStreams vocabulary. +var ActivityStreamsToPropertyName string = "to" + +// ActivityStreamsTotalItemsPropertyName is the string literal of the name for the totalItems property in the ActivityStreams vocabulary. +var ActivityStreamsTotalItemsPropertyName string = "totalItems" + +// ForgeFedTracksTicketsForPropertyName is the string literal of the name for the tracksTicketsFor property in the ForgeFed vocabulary. +var ForgeFedTracksTicketsForPropertyName string = "tracksTicketsFor" + +// ActivityStreamsUnitsPropertyName is the string literal of the name for the units property in the ActivityStreams vocabulary. +var ActivityStreamsUnitsPropertyName string = "units" + +// ActivityStreamsUpdatedPropertyName is the string literal of the name for the updated property in the ActivityStreams vocabulary. +var ActivityStreamsUpdatedPropertyName string = "updated" + +// ActivityStreamsUrlPropertyName is the string literal of the name for the url property in the ActivityStreams vocabulary. +var ActivityStreamsUrlPropertyName string = "url" + +// TootVotersCountPropertyName is the string literal of the name for the votersCount property in the Toot vocabulary. +var TootVotersCountPropertyName string = "votersCount" + +// ActivityStreamsWidthPropertyName is the string literal of the name for the width property in the ActivityStreams vocabulary. +var ActivityStreamsWidthPropertyName string = "width" diff --git a/vendor/github.com/go-fed/activity/streams/gen_doc.go b/vendor/github.com/go-fed/activity/streams/gen_doc.go new file mode 100644 index 000000000..40fce7258 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_doc.go @@ -0,0 +1,51 @@ +// Code generated by astool. DO NOT EDIT. + +// Package streams contains constructors and functions necessary for applications +// to serialize, deserialize, and use ActivityStreams types in Go. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is useful to three classes of developers: end-user-application +// developers, specification writers creating an ActivityStream Extension, and +// ActivityPub implementors wanting to create an alternate ActivityStreams +// implementation that still satisfies the interfaces generated by the go-fed +// tool. +// +// Application developers should limit their use to the Resolver type, the +// constructors beginning with "New", the "Extends" functions, the +// "DisjointWith" functions, the "ExtendedBy" functions, and any interfaces +// returned in those functions in this package. This lets applications use +// Resolvers to Deserialize or Dispatch specific types. The types themselves +// can Serialize as needed. The "Extends", "DisjointWith", and "ExtendedBy" +// functions help navigate the ActivityStreams hierarchy since it is not +// equivalent to object-oriented inheritance. +// +// When creating an ActivityStreams extension, developers will want to ensure +// that the generated code builds correctly and check that the properties, +// types, extensions, and disjointedness is set up correctly. Writing unit +// tests with concrete types is then the next step. If the tool has an error +// generating this code, a fix is needed in the tool as it is likely there is +// a new RDF type being used in the extension that the tool does not know how +// to resolve. Thus, most development will focus on the go-fed tool itself. +// +// Finally, ActivityStreams implementors that want drop-in replacement while +// still using the generated interfaces are highly encouraged to examine the +// Manager type in this package (in addition to the constructors) as these are +// the locations where concrete types are instantiated. When supplying a +// different type in these two locations, the other generated code will +// propagate it throughout the rest of an application. The Manager is +// instantiated as a singleton at init time in this library. It is then +// injected into each implementation library so they can deserialize their +// needed types without relying on the underlying concrete type. +// +// Subdirectories of this package include implementation files and functions +// that are not intended to be directly linked to applications, but are used +// by this particular package. It is strongly recommended to only use the +// property interfaces and type interfaces in subdirectories and limiting +// concrete types to those in this package. The go-fed tool is likely to +// contain a pruning feature in the future which will analyze an application +// and eliminate code that would be dead if it were to be generated which +// reduces the compilation time, compilation resources, and binary size of an +// application. Such a feature will not be compatible with applications that +// use the concrete implementation types. +package streams diff --git a/vendor/github.com/go-fed/activity/streams/gen_init.go b/vendor/github.com/go-fed/activity/streams/gen_init.go new file mode 100644 index 000000000..e4ba33cc7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_init.go @@ -0,0 +1,408 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + propertyaccuracy "github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy" + propertyactor "github.com/go-fed/activity/streams/impl/activitystreams/property_actor" + propertyaltitude "github.com/go-fed/activity/streams/impl/activitystreams/property_altitude" + propertyanyof "github.com/go-fed/activity/streams/impl/activitystreams/property_anyof" + propertyattachment "github.com/go-fed/activity/streams/impl/activitystreams/property_attachment" + propertyattributedto "github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto" + propertyaudience "github.com/go-fed/activity/streams/impl/activitystreams/property_audience" + propertybcc "github.com/go-fed/activity/streams/impl/activitystreams/property_bcc" + propertybto "github.com/go-fed/activity/streams/impl/activitystreams/property_bto" + propertycc "github.com/go-fed/activity/streams/impl/activitystreams/property_cc" + propertyclosed "github.com/go-fed/activity/streams/impl/activitystreams/property_closed" + propertycontent "github.com/go-fed/activity/streams/impl/activitystreams/property_content" + propertycontext "github.com/go-fed/activity/streams/impl/activitystreams/property_context" + propertycurrent "github.com/go-fed/activity/streams/impl/activitystreams/property_current" + propertydeleted "github.com/go-fed/activity/streams/impl/activitystreams/property_deleted" + propertydescribes "github.com/go-fed/activity/streams/impl/activitystreams/property_describes" + propertyduration "github.com/go-fed/activity/streams/impl/activitystreams/property_duration" + propertyendtime "github.com/go-fed/activity/streams/impl/activitystreams/property_endtime" + propertyfirst "github.com/go-fed/activity/streams/impl/activitystreams/property_first" + propertyfollowers "github.com/go-fed/activity/streams/impl/activitystreams/property_followers" + propertyfollowing "github.com/go-fed/activity/streams/impl/activitystreams/property_following" + propertyformertype "github.com/go-fed/activity/streams/impl/activitystreams/property_formertype" + propertygenerator "github.com/go-fed/activity/streams/impl/activitystreams/property_generator" + propertyheight "github.com/go-fed/activity/streams/impl/activitystreams/property_height" + propertyhref "github.com/go-fed/activity/streams/impl/activitystreams/property_href" + propertyhreflang "github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang" + propertyicon "github.com/go-fed/activity/streams/impl/activitystreams/property_icon" + propertyimage "github.com/go-fed/activity/streams/impl/activitystreams/property_image" + propertyinbox "github.com/go-fed/activity/streams/impl/activitystreams/property_inbox" + propertyinreplyto "github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto" + propertyinstrument "github.com/go-fed/activity/streams/impl/activitystreams/property_instrument" + propertyitems "github.com/go-fed/activity/streams/impl/activitystreams/property_items" + propertylast "github.com/go-fed/activity/streams/impl/activitystreams/property_last" + propertylatitude "github.com/go-fed/activity/streams/impl/activitystreams/property_latitude" + propertyliked "github.com/go-fed/activity/streams/impl/activitystreams/property_liked" + propertylikes "github.com/go-fed/activity/streams/impl/activitystreams/property_likes" + propertylocation "github.com/go-fed/activity/streams/impl/activitystreams/property_location" + propertylongitude "github.com/go-fed/activity/streams/impl/activitystreams/property_longitude" + propertymediatype "github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype" + propertyname "github.com/go-fed/activity/streams/impl/activitystreams/property_name" + propertynext "github.com/go-fed/activity/streams/impl/activitystreams/property_next" + propertyobject "github.com/go-fed/activity/streams/impl/activitystreams/property_object" + propertyoneof "github.com/go-fed/activity/streams/impl/activitystreams/property_oneof" + propertyordereditems "github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems" + propertyorigin "github.com/go-fed/activity/streams/impl/activitystreams/property_origin" + propertyoutbox "github.com/go-fed/activity/streams/impl/activitystreams/property_outbox" + propertypartof "github.com/go-fed/activity/streams/impl/activitystreams/property_partof" + propertypreferredusername "github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername" + propertyprev "github.com/go-fed/activity/streams/impl/activitystreams/property_prev" + propertypreview "github.com/go-fed/activity/streams/impl/activitystreams/property_preview" + propertypublished "github.com/go-fed/activity/streams/impl/activitystreams/property_published" + propertyradius "github.com/go-fed/activity/streams/impl/activitystreams/property_radius" + propertyrel "github.com/go-fed/activity/streams/impl/activitystreams/property_rel" + propertyrelationship "github.com/go-fed/activity/streams/impl/activitystreams/property_relationship" + propertyreplies "github.com/go-fed/activity/streams/impl/activitystreams/property_replies" + propertyresult "github.com/go-fed/activity/streams/impl/activitystreams/property_result" + propertyshares "github.com/go-fed/activity/streams/impl/activitystreams/property_shares" + propertysource "github.com/go-fed/activity/streams/impl/activitystreams/property_source" + propertystartindex "github.com/go-fed/activity/streams/impl/activitystreams/property_startindex" + propertystarttime "github.com/go-fed/activity/streams/impl/activitystreams/property_starttime" + propertystreams "github.com/go-fed/activity/streams/impl/activitystreams/property_streams" + propertysubject "github.com/go-fed/activity/streams/impl/activitystreams/property_subject" + propertysummary "github.com/go-fed/activity/streams/impl/activitystreams/property_summary" + propertytag "github.com/go-fed/activity/streams/impl/activitystreams/property_tag" + propertytarget "github.com/go-fed/activity/streams/impl/activitystreams/property_target" + propertyto "github.com/go-fed/activity/streams/impl/activitystreams/property_to" + propertytotalitems "github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems" + propertyunits "github.com/go-fed/activity/streams/impl/activitystreams/property_units" + propertyupdated "github.com/go-fed/activity/streams/impl/activitystreams/property_updated" + propertyurl "github.com/go-fed/activity/streams/impl/activitystreams/property_url" + propertywidth "github.com/go-fed/activity/streams/impl/activitystreams/property_width" + typeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_accept" + typeactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_activity" + typeadd "github.com/go-fed/activity/streams/impl/activitystreams/type_add" + typeannounce "github.com/go-fed/activity/streams/impl/activitystreams/type_announce" + typeapplication "github.com/go-fed/activity/streams/impl/activitystreams/type_application" + typearrive "github.com/go-fed/activity/streams/impl/activitystreams/type_arrive" + typearticle "github.com/go-fed/activity/streams/impl/activitystreams/type_article" + typeaudio "github.com/go-fed/activity/streams/impl/activitystreams/type_audio" + typeblock "github.com/go-fed/activity/streams/impl/activitystreams/type_block" + typecollection "github.com/go-fed/activity/streams/impl/activitystreams/type_collection" + typecollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage" + typecreate "github.com/go-fed/activity/streams/impl/activitystreams/type_create" + typedelete "github.com/go-fed/activity/streams/impl/activitystreams/type_delete" + typedislike "github.com/go-fed/activity/streams/impl/activitystreams/type_dislike" + typedocument "github.com/go-fed/activity/streams/impl/activitystreams/type_document" + typeevent "github.com/go-fed/activity/streams/impl/activitystreams/type_event" + typeflag "github.com/go-fed/activity/streams/impl/activitystreams/type_flag" + typefollow "github.com/go-fed/activity/streams/impl/activitystreams/type_follow" + typegroup "github.com/go-fed/activity/streams/impl/activitystreams/type_group" + typeignore "github.com/go-fed/activity/streams/impl/activitystreams/type_ignore" + typeimage "github.com/go-fed/activity/streams/impl/activitystreams/type_image" + typeintransitiveactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity" + typeinvite "github.com/go-fed/activity/streams/impl/activitystreams/type_invite" + typejoin "github.com/go-fed/activity/streams/impl/activitystreams/type_join" + typeleave "github.com/go-fed/activity/streams/impl/activitystreams/type_leave" + typelike "github.com/go-fed/activity/streams/impl/activitystreams/type_like" + typelink "github.com/go-fed/activity/streams/impl/activitystreams/type_link" + typelisten "github.com/go-fed/activity/streams/impl/activitystreams/type_listen" + typemention "github.com/go-fed/activity/streams/impl/activitystreams/type_mention" + typemove "github.com/go-fed/activity/streams/impl/activitystreams/type_move" + typenote "github.com/go-fed/activity/streams/impl/activitystreams/type_note" + typeobject "github.com/go-fed/activity/streams/impl/activitystreams/type_object" + typeoffer "github.com/go-fed/activity/streams/impl/activitystreams/type_offer" + typeorderedcollection "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection" + typeorderedcollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage" + typeorganization "github.com/go-fed/activity/streams/impl/activitystreams/type_organization" + typepage "github.com/go-fed/activity/streams/impl/activitystreams/type_page" + typeperson "github.com/go-fed/activity/streams/impl/activitystreams/type_person" + typeplace "github.com/go-fed/activity/streams/impl/activitystreams/type_place" + typeprofile "github.com/go-fed/activity/streams/impl/activitystreams/type_profile" + typequestion "github.com/go-fed/activity/streams/impl/activitystreams/type_question" + typeread "github.com/go-fed/activity/streams/impl/activitystreams/type_read" + typereject "github.com/go-fed/activity/streams/impl/activitystreams/type_reject" + typerelationship "github.com/go-fed/activity/streams/impl/activitystreams/type_relationship" + typeremove "github.com/go-fed/activity/streams/impl/activitystreams/type_remove" + typeservice "github.com/go-fed/activity/streams/impl/activitystreams/type_service" + typetentativeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept" + typetentativereject "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject" + typetombstone "github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone" + typetravel "github.com/go-fed/activity/streams/impl/activitystreams/type_travel" + typeundo "github.com/go-fed/activity/streams/impl/activitystreams/type_undo" + typeupdate "github.com/go-fed/activity/streams/impl/activitystreams/type_update" + typevideo "github.com/go-fed/activity/streams/impl/activitystreams/type_video" + typeview "github.com/go-fed/activity/streams/impl/activitystreams/type_view" + propertyassignedto "github.com/go-fed/activity/streams/impl/forgefed/property_assignedto" + propertycommitted "github.com/go-fed/activity/streams/impl/forgefed/property_committed" + propertycommittedby "github.com/go-fed/activity/streams/impl/forgefed/property_committedby" + propertydependants "github.com/go-fed/activity/streams/impl/forgefed/property_dependants" + propertydependedby "github.com/go-fed/activity/streams/impl/forgefed/property_dependedby" + propertydependencies "github.com/go-fed/activity/streams/impl/forgefed/property_dependencies" + propertydependson "github.com/go-fed/activity/streams/impl/forgefed/property_dependson" + propertydescription "github.com/go-fed/activity/streams/impl/forgefed/property_description" + propertyearlyitems "github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems" + propertyfilesadded "github.com/go-fed/activity/streams/impl/forgefed/property_filesadded" + propertyfilesmodified "github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified" + propertyfilesremoved "github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved" + propertyforks "github.com/go-fed/activity/streams/impl/forgefed/property_forks" + propertyhash "github.com/go-fed/activity/streams/impl/forgefed/property_hash" + propertyisresolved "github.com/go-fed/activity/streams/impl/forgefed/property_isresolved" + propertyref "github.com/go-fed/activity/streams/impl/forgefed/property_ref" + propertyteam "github.com/go-fed/activity/streams/impl/forgefed/property_team" + propertyticketstrackedby "github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby" + propertytracksticketsfor "github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor" + typebranch "github.com/go-fed/activity/streams/impl/forgefed/type_branch" + typecommit "github.com/go-fed/activity/streams/impl/forgefed/type_commit" + typepush "github.com/go-fed/activity/streams/impl/forgefed/type_push" + typerepository "github.com/go-fed/activity/streams/impl/forgefed/type_repository" + typeticket "github.com/go-fed/activity/streams/impl/forgefed/type_ticket" + typeticketdependency "github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency" + propertyblurhash "github.com/go-fed/activity/streams/impl/toot/property_blurhash" + propertydiscoverable "github.com/go-fed/activity/streams/impl/toot/property_discoverable" + propertyfeatured "github.com/go-fed/activity/streams/impl/toot/property_featured" + propertysignaturealgorithm "github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm" + propertysignaturevalue "github.com/go-fed/activity/streams/impl/toot/property_signaturevalue" + propertyvoterscount "github.com/go-fed/activity/streams/impl/toot/property_voterscount" + typeemoji "github.com/go-fed/activity/streams/impl/toot/type_emoji" + typeidentityproof "github.com/go-fed/activity/streams/impl/toot/type_identityproof" + propertyowner "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner" + propertypublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey" + propertypublickeypem "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem" + typepublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey" +) + +var mgr *Manager + +// init handles the 'magic' of creating a Manager and dependency-injecting it into +// every other code-generated package. This gives the implementations access +// to create any type needed to deserialize, without relying on the other +// specific concrete implementations. In order to replace a go-fed created +// type with your own, be sure to have the manager call your own +// implementation's deserialize functions instead of the built-in type. +// Finally, each implementation views the Manager as an interface with only a +// subset of funcitons available. This means this Manager implements the union +// of those interfaces. +func init() { + mgr = &Manager{} + propertyaccuracy.SetManager(mgr) + propertyactor.SetManager(mgr) + propertyaltitude.SetManager(mgr) + propertyanyof.SetManager(mgr) + propertyattachment.SetManager(mgr) + propertyattributedto.SetManager(mgr) + propertyaudience.SetManager(mgr) + propertybcc.SetManager(mgr) + propertybto.SetManager(mgr) + propertycc.SetManager(mgr) + propertyclosed.SetManager(mgr) + propertycontent.SetManager(mgr) + propertycontext.SetManager(mgr) + propertycurrent.SetManager(mgr) + propertydeleted.SetManager(mgr) + propertydescribes.SetManager(mgr) + propertyduration.SetManager(mgr) + propertyendtime.SetManager(mgr) + propertyfirst.SetManager(mgr) + propertyfollowers.SetManager(mgr) + propertyfollowing.SetManager(mgr) + propertyformertype.SetManager(mgr) + propertygenerator.SetManager(mgr) + propertyheight.SetManager(mgr) + propertyhref.SetManager(mgr) + propertyhreflang.SetManager(mgr) + propertyicon.SetManager(mgr) + propertyimage.SetManager(mgr) + propertyinbox.SetManager(mgr) + propertyinreplyto.SetManager(mgr) + propertyinstrument.SetManager(mgr) + propertyitems.SetManager(mgr) + propertylast.SetManager(mgr) + propertylatitude.SetManager(mgr) + propertyliked.SetManager(mgr) + propertylikes.SetManager(mgr) + propertylocation.SetManager(mgr) + propertylongitude.SetManager(mgr) + propertymediatype.SetManager(mgr) + propertyname.SetManager(mgr) + propertynext.SetManager(mgr) + propertyobject.SetManager(mgr) + propertyoneof.SetManager(mgr) + propertyordereditems.SetManager(mgr) + propertyorigin.SetManager(mgr) + propertyoutbox.SetManager(mgr) + propertypartof.SetManager(mgr) + propertypreferredusername.SetManager(mgr) + propertyprev.SetManager(mgr) + propertypreview.SetManager(mgr) + propertypublished.SetManager(mgr) + propertyradius.SetManager(mgr) + propertyrel.SetManager(mgr) + propertyrelationship.SetManager(mgr) + propertyreplies.SetManager(mgr) + propertyresult.SetManager(mgr) + propertyshares.SetManager(mgr) + propertysource.SetManager(mgr) + propertystartindex.SetManager(mgr) + propertystarttime.SetManager(mgr) + propertystreams.SetManager(mgr) + propertysubject.SetManager(mgr) + propertysummary.SetManager(mgr) + propertytag.SetManager(mgr) + propertytarget.SetManager(mgr) + propertyto.SetManager(mgr) + propertytotalitems.SetManager(mgr) + propertyunits.SetManager(mgr) + propertyupdated.SetManager(mgr) + propertyurl.SetManager(mgr) + propertywidth.SetManager(mgr) + typeaccept.SetManager(mgr) + typeactivity.SetManager(mgr) + typeadd.SetManager(mgr) + typeannounce.SetManager(mgr) + typeapplication.SetManager(mgr) + typearrive.SetManager(mgr) + typearticle.SetManager(mgr) + typeaudio.SetManager(mgr) + typeblock.SetManager(mgr) + typecollection.SetManager(mgr) + typecollectionpage.SetManager(mgr) + typecreate.SetManager(mgr) + typedelete.SetManager(mgr) + typedislike.SetManager(mgr) + typedocument.SetManager(mgr) + typeevent.SetManager(mgr) + typeflag.SetManager(mgr) + typefollow.SetManager(mgr) + typegroup.SetManager(mgr) + typeignore.SetManager(mgr) + typeimage.SetManager(mgr) + typeintransitiveactivity.SetManager(mgr) + typeinvite.SetManager(mgr) + typejoin.SetManager(mgr) + typeleave.SetManager(mgr) + typelike.SetManager(mgr) + typelink.SetManager(mgr) + typelisten.SetManager(mgr) + typemention.SetManager(mgr) + typemove.SetManager(mgr) + typenote.SetManager(mgr) + typeobject.SetManager(mgr) + typeoffer.SetManager(mgr) + typeorderedcollection.SetManager(mgr) + typeorderedcollectionpage.SetManager(mgr) + typeorganization.SetManager(mgr) + typepage.SetManager(mgr) + typeperson.SetManager(mgr) + typeplace.SetManager(mgr) + typeprofile.SetManager(mgr) + typequestion.SetManager(mgr) + typeread.SetManager(mgr) + typereject.SetManager(mgr) + typerelationship.SetManager(mgr) + typeremove.SetManager(mgr) + typeservice.SetManager(mgr) + typetentativeaccept.SetManager(mgr) + typetentativereject.SetManager(mgr) + typetombstone.SetManager(mgr) + typetravel.SetManager(mgr) + typeundo.SetManager(mgr) + typeupdate.SetManager(mgr) + typevideo.SetManager(mgr) + typeview.SetManager(mgr) + propertyassignedto.SetManager(mgr) + propertycommitted.SetManager(mgr) + propertycommittedby.SetManager(mgr) + propertydependants.SetManager(mgr) + propertydependedby.SetManager(mgr) + propertydependencies.SetManager(mgr) + propertydependson.SetManager(mgr) + propertydescription.SetManager(mgr) + propertyearlyitems.SetManager(mgr) + propertyfilesadded.SetManager(mgr) + propertyfilesmodified.SetManager(mgr) + propertyfilesremoved.SetManager(mgr) + propertyforks.SetManager(mgr) + propertyhash.SetManager(mgr) + propertyisresolved.SetManager(mgr) + propertyref.SetManager(mgr) + propertyteam.SetManager(mgr) + propertyticketstrackedby.SetManager(mgr) + propertytracksticketsfor.SetManager(mgr) + typebranch.SetManager(mgr) + typecommit.SetManager(mgr) + typepush.SetManager(mgr) + typerepository.SetManager(mgr) + typeticket.SetManager(mgr) + typeticketdependency.SetManager(mgr) + propertyblurhash.SetManager(mgr) + propertydiscoverable.SetManager(mgr) + propertyfeatured.SetManager(mgr) + propertysignaturealgorithm.SetManager(mgr) + propertysignaturevalue.SetManager(mgr) + propertyvoterscount.SetManager(mgr) + typeemoji.SetManager(mgr) + typeidentityproof.SetManager(mgr) + propertyowner.SetManager(mgr) + propertypublickey.SetManager(mgr) + propertypublickeypem.SetManager(mgr) + typepublickey.SetManager(mgr) + typeaccept.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeactivity.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeadd.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeannounce.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeapplication.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typearrive.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typearticle.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeaudio.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeblock.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typecollection.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typecollectionpage.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typecreate.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typedelete.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typedislike.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typedocument.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeevent.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeflag.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typefollow.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typegroup.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeignore.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeimage.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeintransitiveactivity.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeinvite.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typejoin.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeleave.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typelike.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typelink.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typelisten.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typemention.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typemove.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typenote.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeobject.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeoffer.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeorderedcollection.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeorderedcollectionpage.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeorganization.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typepage.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeperson.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeplace.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeprofile.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typequestion.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeread.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typereject.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typerelationship.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeremove.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeservice.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typetentativeaccept.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typetentativereject.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typetombstone.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typetravel.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeundo.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeupdate.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typevideo.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeview.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typebranch.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typecommit.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typepush.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typerepository.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeticket.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeticketdependency.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeemoji.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typeidentityproof.SetTypePropertyConstructor(NewJSONLDTypeProperty) + typepublickey.SetTypePropertyConstructor(NewJSONLDTypeProperty) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_json_resolver.go b/vendor/github.com/go-fed/activity/streams/gen_json_resolver.go new file mode 100644 index 000000000..0c6773d52 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_json_resolver.go @@ -0,0 +1,978 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + "context" + "errors" + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// JSONResolver resolves a JSON-deserialized map into its concrete ActivityStreams +// type +type JSONResolver struct { + callbacks []interface{} +} + +// NewJSONResolver creates a new Resolver that takes a JSON-deserialized generic +// map and determines the correct concrete Go type. The callback function is +// guaranteed to receive a value whose underlying ActivityStreams type matches +// the concrete interface name in its signature. The callback functions must +// be of the form: +// +// func(context.Context, ) error +// +// where TypeInterface is the code-generated interface for an ActivityStream +// type. An error is returned if a callback function does not match this +// signature. +func NewJSONResolver(callbacks ...interface{}) (*JSONResolver, error) { + for _, cb := range callbacks { + // Each callback function must satisfy one known function signature, or else we will generate a runtime error instead of silently fail. + switch cb.(type) { + case func(context.Context, vocab.ActivityStreamsAccept) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsActivity) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsAdd) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsAnnounce) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsApplication) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsArrive) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsArticle) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsAudio) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsBlock) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedBranch) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsCollection) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsCollectionPage) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedCommit) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsCreate) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsDelete) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsDislike) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsDocument) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.TootEmoji) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsEvent) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsFlag) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsFollow) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsGroup) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.TootIdentityProof) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsIgnore) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsImage) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsIntransitiveActivity) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsInvite) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsJoin) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsLeave) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsLike) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsLink) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsListen) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsMention) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsMove) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsNote) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsObject) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsOffer) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrderedCollection) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrderedCollectionPage) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrganization) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsPage) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsPerson) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsPlace) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsProfile) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.W3IDSecurityV1PublicKey) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedPush) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsQuestion) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsRead) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsReject) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsRelationship) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsRemove) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedRepository) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsService) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsTentativeAccept) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsTentativeReject) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedTicket) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedTicketDependency) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsTombstone) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsTravel) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsUndo) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsUpdate) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsVideo) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsView) error: + // Do nothing, this callback has a correct signature. + default: + return nil, errors.New("a callback function is of the wrong signature and would never be called") + } + } + return &JSONResolver{callbacks: callbacks}, nil +} + +// toAliasMap converts a JSONLD context into a map of vocabulary name to alias. +func toAliasMap(i interface{}) (m map[string]string) { + m = make(map[string]string) + toHttpHttpsFn := func(s string) (ok bool, http, https string) { + if strings.HasPrefix(s, "http://") { + ok = true + http = s + https = "https" + strings.TrimPrefix(s, "http") + } else if strings.HasPrefix(s, "https://") { + ok = true + https = s + http = "http" + strings.TrimPrefix(s, "https") + } + return + } + switch v := i.(type) { + case string: + // Single entry, no alias. + if ok, http, https := toHttpHttpsFn(v); ok { + m[http] = "" + m[https] = "" + } else { + m[v] = "" + } + case []interface{}: + // Recursively apply. + for _, elem := range v { + r := toAliasMap(elem) + for k, val := range r { + m[k] = val + } + } + case map[string]interface{}: + // Map any aliases. + for k, val := range v { + // Only handle string aliases. + switch conc := val.(type) { + case string: + m[k] = conc + } + } + } + return +} + +// Resolve determines the ActivityStreams type of the payload, then applies the +// first callback function whose signature accepts the ActivityStreams value's +// type. This strictly assures that the callback function will only be passed +// ActivityStream objects whose type matches its interface. Returns an error +// if the ActivityStreams type does not match callbackers or is not a type +// handled by the generated code. If multiple types are present, it will check +// each one in order and apply only the first one. It returns an unhandled +// error for a multi-typed object if none of the types were able to be handled. +func (this JSONResolver) Resolve(ctx context.Context, m map[string]interface{}) error { + typeValue, ok := m["type"] + if !ok { + return fmt.Errorf("cannot determine ActivityStreams type: 'type' property is missing") + } + rawContext, ok := m["@context"] + if !ok { + return fmt.Errorf("cannot determine ActivityStreams type: '@context' is missing") + } + aliasMap := toAliasMap(rawContext) + // Begin: Private lambda to handle a single string "type" value. Makes code generation easier. + handleFn := func(typeString string) error { + ActivityStreamsAlias, ok := aliasMap["https://www.w3.org/ns/activitystreams"] + if !ok { + ActivityStreamsAlias = aliasMap["http://www.w3.org/ns/activitystreams"] + } + if len(ActivityStreamsAlias) > 0 { + ActivityStreamsAlias += ":" + } + ForgeFedAlias, ok := aliasMap["https://forgefed.peers.community/ns"] + if !ok { + ForgeFedAlias = aliasMap["http://forgefed.peers.community/ns"] + } + if len(ForgeFedAlias) > 0 { + ForgeFedAlias += ":" + } + TootAlias, ok := aliasMap["https://joinmastodon.org/ns"] + if !ok { + TootAlias = aliasMap["http://joinmastodon.org/ns"] + } + if len(TootAlias) > 0 { + TootAlias += ":" + } + W3IDSecurityV1Alias, ok := aliasMap["https://w3id.org/security/v1"] + if !ok { + W3IDSecurityV1Alias = aliasMap["http://w3id.org/security/v1"] + } + if len(W3IDSecurityV1Alias) > 0 { + W3IDSecurityV1Alias += ":" + } + + if typeString == ActivityStreamsAlias+"Accept" { + v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsAccept) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Activity" { + v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsActivity) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Add" { + v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsAdd) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Announce" { + v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsAnnounce) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Application" { + v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsApplication) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Arrive" { + v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsArrive) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Article" { + v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsArticle) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Audio" { + v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsAudio) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Block" { + v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsBlock) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ForgeFedAlias+"Branch" { + v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ForgeFedBranch) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Collection" { + v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsCollection) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"CollectionPage" { + v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsCollectionPage) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ForgeFedAlias+"Commit" { + v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ForgeFedCommit) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Create" { + v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsCreate) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Delete" { + v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsDelete) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Dislike" { + v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsDislike) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Document" { + v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsDocument) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == TootAlias+"Emoji" { + v, err := mgr.DeserializeEmojiToot()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.TootEmoji) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Event" { + v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsEvent) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Flag" { + v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsFlag) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Follow" { + v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsFollow) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Group" { + v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsGroup) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == TootAlias+"IdentityProof" { + v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.TootIdentityProof) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Ignore" { + v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsIgnore) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Image" { + v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsImage) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"IntransitiveActivity" { + v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsIntransitiveActivity) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Invite" { + v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsInvite) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Join" { + v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsJoin) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Leave" { + v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsLeave) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Like" { + v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsLike) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Link" { + v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsLink) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Listen" { + v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsListen) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Mention" { + v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsMention) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Move" { + v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsMove) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Note" { + v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsNote) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Object" { + v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsObject) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Offer" { + v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsOffer) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"OrderedCollection" { + v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsOrderedCollection) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"OrderedCollectionPage" { + v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsOrderedCollectionPage) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Organization" { + v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsOrganization) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Page" { + v, err := mgr.DeserializePageActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsPage) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Person" { + v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsPerson) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Place" { + v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsPlace) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Profile" { + v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsProfile) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == W3IDSecurityV1Alias+"PublicKey" { + v, err := mgr.DeserializePublicKeyW3IDSecurityV1()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.W3IDSecurityV1PublicKey) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ForgeFedAlias+"Push" { + v, err := mgr.DeserializePushForgeFed()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ForgeFedPush) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Question" { + v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsQuestion) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Read" { + v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsRead) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Reject" { + v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsReject) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Relationship" { + v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsRelationship) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Remove" { + v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsRemove) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ForgeFedAlias+"Repository" { + v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ForgeFedRepository) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Service" { + v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsService) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"TentativeAccept" { + v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsTentativeAccept) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"TentativeReject" { + v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsTentativeReject) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ForgeFedAlias+"Ticket" { + v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ForgeFedTicket) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ForgeFedAlias+"TicketDependency" { + v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ForgeFedTicketDependency) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Tombstone" { + v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsTombstone) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Travel" { + v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsTravel) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Undo" { + v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsUndo) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Update" { + v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsUpdate) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"Video" { + v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsVideo) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else if typeString == ActivityStreamsAlias+"View" { + v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsView) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch + } else { + return ErrUnhandledType + } + } + // End: Private lambda + if typeStr, ok := typeValue.(string); ok { + return handleFn(typeStr) + } else if typeIArr, ok := typeValue.([]interface{}); ok { + for _, typeI := range typeIArr { + if typeStr, ok := typeI.(string); ok { + if err := handleFn(typeStr); err == nil { + return nil + } else if err == ErrUnhandledType { + // Keep trying other types: only if all fail do we return this error. + continue + } else { + return err + } + } + } + return ErrUnhandledType + } else { + return ErrUnhandledType + } +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_manager.go b/vendor/github.com/go-fed/activity/streams/gen_manager.go new file mode 100644 index 000000000..aab758b78 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_manager.go @@ -0,0 +1,2292 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + propertyaccuracy "github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy" + propertyactor "github.com/go-fed/activity/streams/impl/activitystreams/property_actor" + propertyaltitude "github.com/go-fed/activity/streams/impl/activitystreams/property_altitude" + propertyanyof "github.com/go-fed/activity/streams/impl/activitystreams/property_anyof" + propertyattachment "github.com/go-fed/activity/streams/impl/activitystreams/property_attachment" + propertyattributedto "github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto" + propertyaudience "github.com/go-fed/activity/streams/impl/activitystreams/property_audience" + propertybcc "github.com/go-fed/activity/streams/impl/activitystreams/property_bcc" + propertybto "github.com/go-fed/activity/streams/impl/activitystreams/property_bto" + propertycc "github.com/go-fed/activity/streams/impl/activitystreams/property_cc" + propertyclosed "github.com/go-fed/activity/streams/impl/activitystreams/property_closed" + propertycontent "github.com/go-fed/activity/streams/impl/activitystreams/property_content" + propertycontext "github.com/go-fed/activity/streams/impl/activitystreams/property_context" + propertycurrent "github.com/go-fed/activity/streams/impl/activitystreams/property_current" + propertydeleted "github.com/go-fed/activity/streams/impl/activitystreams/property_deleted" + propertydescribes "github.com/go-fed/activity/streams/impl/activitystreams/property_describes" + propertyduration "github.com/go-fed/activity/streams/impl/activitystreams/property_duration" + propertyendtime "github.com/go-fed/activity/streams/impl/activitystreams/property_endtime" + propertyfirst "github.com/go-fed/activity/streams/impl/activitystreams/property_first" + propertyfollowers "github.com/go-fed/activity/streams/impl/activitystreams/property_followers" + propertyfollowing "github.com/go-fed/activity/streams/impl/activitystreams/property_following" + propertyformertype "github.com/go-fed/activity/streams/impl/activitystreams/property_formertype" + propertygenerator "github.com/go-fed/activity/streams/impl/activitystreams/property_generator" + propertyheight "github.com/go-fed/activity/streams/impl/activitystreams/property_height" + propertyhref "github.com/go-fed/activity/streams/impl/activitystreams/property_href" + propertyhreflang "github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang" + propertyicon "github.com/go-fed/activity/streams/impl/activitystreams/property_icon" + propertyimage "github.com/go-fed/activity/streams/impl/activitystreams/property_image" + propertyinbox "github.com/go-fed/activity/streams/impl/activitystreams/property_inbox" + propertyinreplyto "github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto" + propertyinstrument "github.com/go-fed/activity/streams/impl/activitystreams/property_instrument" + propertyitems "github.com/go-fed/activity/streams/impl/activitystreams/property_items" + propertylast "github.com/go-fed/activity/streams/impl/activitystreams/property_last" + propertylatitude "github.com/go-fed/activity/streams/impl/activitystreams/property_latitude" + propertyliked "github.com/go-fed/activity/streams/impl/activitystreams/property_liked" + propertylikes "github.com/go-fed/activity/streams/impl/activitystreams/property_likes" + propertylocation "github.com/go-fed/activity/streams/impl/activitystreams/property_location" + propertylongitude "github.com/go-fed/activity/streams/impl/activitystreams/property_longitude" + propertymediatype "github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype" + propertyname "github.com/go-fed/activity/streams/impl/activitystreams/property_name" + propertynext "github.com/go-fed/activity/streams/impl/activitystreams/property_next" + propertyobject "github.com/go-fed/activity/streams/impl/activitystreams/property_object" + propertyoneof "github.com/go-fed/activity/streams/impl/activitystreams/property_oneof" + propertyordereditems "github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems" + propertyorigin "github.com/go-fed/activity/streams/impl/activitystreams/property_origin" + propertyoutbox "github.com/go-fed/activity/streams/impl/activitystreams/property_outbox" + propertypartof "github.com/go-fed/activity/streams/impl/activitystreams/property_partof" + propertypreferredusername "github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername" + propertyprev "github.com/go-fed/activity/streams/impl/activitystreams/property_prev" + propertypreview "github.com/go-fed/activity/streams/impl/activitystreams/property_preview" + propertypublished "github.com/go-fed/activity/streams/impl/activitystreams/property_published" + propertyradius "github.com/go-fed/activity/streams/impl/activitystreams/property_radius" + propertyrel "github.com/go-fed/activity/streams/impl/activitystreams/property_rel" + propertyrelationship "github.com/go-fed/activity/streams/impl/activitystreams/property_relationship" + propertyreplies "github.com/go-fed/activity/streams/impl/activitystreams/property_replies" + propertyresult "github.com/go-fed/activity/streams/impl/activitystreams/property_result" + propertyshares "github.com/go-fed/activity/streams/impl/activitystreams/property_shares" + propertysource "github.com/go-fed/activity/streams/impl/activitystreams/property_source" + propertystartindex "github.com/go-fed/activity/streams/impl/activitystreams/property_startindex" + propertystarttime "github.com/go-fed/activity/streams/impl/activitystreams/property_starttime" + propertystreams "github.com/go-fed/activity/streams/impl/activitystreams/property_streams" + propertysubject "github.com/go-fed/activity/streams/impl/activitystreams/property_subject" + propertysummary "github.com/go-fed/activity/streams/impl/activitystreams/property_summary" + propertytag "github.com/go-fed/activity/streams/impl/activitystreams/property_tag" + propertytarget "github.com/go-fed/activity/streams/impl/activitystreams/property_target" + propertyto "github.com/go-fed/activity/streams/impl/activitystreams/property_to" + propertytotalitems "github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems" + propertyunits "github.com/go-fed/activity/streams/impl/activitystreams/property_units" + propertyupdated "github.com/go-fed/activity/streams/impl/activitystreams/property_updated" + propertyurl "github.com/go-fed/activity/streams/impl/activitystreams/property_url" + propertywidth "github.com/go-fed/activity/streams/impl/activitystreams/property_width" + typeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_accept" + typeactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_activity" + typeadd "github.com/go-fed/activity/streams/impl/activitystreams/type_add" + typeannounce "github.com/go-fed/activity/streams/impl/activitystreams/type_announce" + typeapplication "github.com/go-fed/activity/streams/impl/activitystreams/type_application" + typearrive "github.com/go-fed/activity/streams/impl/activitystreams/type_arrive" + typearticle "github.com/go-fed/activity/streams/impl/activitystreams/type_article" + typeaudio "github.com/go-fed/activity/streams/impl/activitystreams/type_audio" + typeblock "github.com/go-fed/activity/streams/impl/activitystreams/type_block" + typecollection "github.com/go-fed/activity/streams/impl/activitystreams/type_collection" + typecollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage" + typecreate "github.com/go-fed/activity/streams/impl/activitystreams/type_create" + typedelete "github.com/go-fed/activity/streams/impl/activitystreams/type_delete" + typedislike "github.com/go-fed/activity/streams/impl/activitystreams/type_dislike" + typedocument "github.com/go-fed/activity/streams/impl/activitystreams/type_document" + typeevent "github.com/go-fed/activity/streams/impl/activitystreams/type_event" + typeflag "github.com/go-fed/activity/streams/impl/activitystreams/type_flag" + typefollow "github.com/go-fed/activity/streams/impl/activitystreams/type_follow" + typegroup "github.com/go-fed/activity/streams/impl/activitystreams/type_group" + typeignore "github.com/go-fed/activity/streams/impl/activitystreams/type_ignore" + typeimage "github.com/go-fed/activity/streams/impl/activitystreams/type_image" + typeintransitiveactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity" + typeinvite "github.com/go-fed/activity/streams/impl/activitystreams/type_invite" + typejoin "github.com/go-fed/activity/streams/impl/activitystreams/type_join" + typeleave "github.com/go-fed/activity/streams/impl/activitystreams/type_leave" + typelike "github.com/go-fed/activity/streams/impl/activitystreams/type_like" + typelink "github.com/go-fed/activity/streams/impl/activitystreams/type_link" + typelisten "github.com/go-fed/activity/streams/impl/activitystreams/type_listen" + typemention "github.com/go-fed/activity/streams/impl/activitystreams/type_mention" + typemove "github.com/go-fed/activity/streams/impl/activitystreams/type_move" + typenote "github.com/go-fed/activity/streams/impl/activitystreams/type_note" + typeobject "github.com/go-fed/activity/streams/impl/activitystreams/type_object" + typeoffer "github.com/go-fed/activity/streams/impl/activitystreams/type_offer" + typeorderedcollection "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection" + typeorderedcollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage" + typeorganization "github.com/go-fed/activity/streams/impl/activitystreams/type_organization" + typepage "github.com/go-fed/activity/streams/impl/activitystreams/type_page" + typeperson "github.com/go-fed/activity/streams/impl/activitystreams/type_person" + typeplace "github.com/go-fed/activity/streams/impl/activitystreams/type_place" + typeprofile "github.com/go-fed/activity/streams/impl/activitystreams/type_profile" + typequestion "github.com/go-fed/activity/streams/impl/activitystreams/type_question" + typeread "github.com/go-fed/activity/streams/impl/activitystreams/type_read" + typereject "github.com/go-fed/activity/streams/impl/activitystreams/type_reject" + typerelationship "github.com/go-fed/activity/streams/impl/activitystreams/type_relationship" + typeremove "github.com/go-fed/activity/streams/impl/activitystreams/type_remove" + typeservice "github.com/go-fed/activity/streams/impl/activitystreams/type_service" + typetentativeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept" + typetentativereject "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject" + typetombstone "github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone" + typetravel "github.com/go-fed/activity/streams/impl/activitystreams/type_travel" + typeundo "github.com/go-fed/activity/streams/impl/activitystreams/type_undo" + typeupdate "github.com/go-fed/activity/streams/impl/activitystreams/type_update" + typevideo "github.com/go-fed/activity/streams/impl/activitystreams/type_video" + typeview "github.com/go-fed/activity/streams/impl/activitystreams/type_view" + propertyassignedto "github.com/go-fed/activity/streams/impl/forgefed/property_assignedto" + propertycommitted "github.com/go-fed/activity/streams/impl/forgefed/property_committed" + propertycommittedby "github.com/go-fed/activity/streams/impl/forgefed/property_committedby" + propertydependants "github.com/go-fed/activity/streams/impl/forgefed/property_dependants" + propertydependedby "github.com/go-fed/activity/streams/impl/forgefed/property_dependedby" + propertydependencies "github.com/go-fed/activity/streams/impl/forgefed/property_dependencies" + propertydependson "github.com/go-fed/activity/streams/impl/forgefed/property_dependson" + propertydescription "github.com/go-fed/activity/streams/impl/forgefed/property_description" + propertyearlyitems "github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems" + propertyfilesadded "github.com/go-fed/activity/streams/impl/forgefed/property_filesadded" + propertyfilesmodified "github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified" + propertyfilesremoved "github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved" + propertyforks "github.com/go-fed/activity/streams/impl/forgefed/property_forks" + propertyhash "github.com/go-fed/activity/streams/impl/forgefed/property_hash" + propertyisresolved "github.com/go-fed/activity/streams/impl/forgefed/property_isresolved" + propertyref "github.com/go-fed/activity/streams/impl/forgefed/property_ref" + propertyteam "github.com/go-fed/activity/streams/impl/forgefed/property_team" + propertyticketstrackedby "github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby" + propertytracksticketsfor "github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor" + typebranch "github.com/go-fed/activity/streams/impl/forgefed/type_branch" + typecommit "github.com/go-fed/activity/streams/impl/forgefed/type_commit" + typepush "github.com/go-fed/activity/streams/impl/forgefed/type_push" + typerepository "github.com/go-fed/activity/streams/impl/forgefed/type_repository" + typeticket "github.com/go-fed/activity/streams/impl/forgefed/type_ticket" + typeticketdependency "github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency" + propertyid "github.com/go-fed/activity/streams/impl/jsonld/property_id" + propertytype "github.com/go-fed/activity/streams/impl/jsonld/property_type" + propertyblurhash "github.com/go-fed/activity/streams/impl/toot/property_blurhash" + propertydiscoverable "github.com/go-fed/activity/streams/impl/toot/property_discoverable" + propertyfeatured "github.com/go-fed/activity/streams/impl/toot/property_featured" + propertysignaturealgorithm "github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm" + propertysignaturevalue "github.com/go-fed/activity/streams/impl/toot/property_signaturevalue" + propertyvoterscount "github.com/go-fed/activity/streams/impl/toot/property_voterscount" + typeemoji "github.com/go-fed/activity/streams/impl/toot/type_emoji" + typeidentityproof "github.com/go-fed/activity/streams/impl/toot/type_identityproof" + propertyowner "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner" + propertypublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey" + propertypublickeypem "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem" + typepublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// Manager manages interface types and deserializations for use by generated code. +// Application code implicitly uses this manager at run-time to create +// concrete implementations of the interfaces. +type Manager struct { +} + +// DeserializeAcceptActivityStreams returns the deserialization method for the +// "ActivityStreamsAccept" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAccept, error) { + i, err := typeaccept.DeserializeAccept(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAccuracyPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsAccuracyProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeAccuracyPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccuracyProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAccuracyProperty, error) { + i, err := propertyaccuracy.DeserializeAccuracyProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeActivityActivityStreams returns the deserialization method for the +// "ActivityStreamsActivity" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsActivity, error) { + i, err := typeactivity.DeserializeActivity(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeActorPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsActorProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsActorProperty, error) { + i, err := propertyactor.DeserializeActorProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAddActivityStreams returns the deserialization method for the +// "ActivityStreamsAdd" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAdd, error) { + i, err := typeadd.DeserializeAdd(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAltitudePropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsAltitudeProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) { + i, err := propertyaltitude.DeserializeAltitudeProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAnnounceActivityStreams returns the deserialization method for the +// "ActivityStreamsAnnounce" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAnnounce, error) { + i, err := typeannounce.DeserializeAnnounce(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAnyOfPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsAnyOfProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeAnyOfPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnyOfProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAnyOfProperty, error) { + i, err := propertyanyof.DeserializeAnyOfProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeApplicationActivityStreams returns the deserialization method for +// the "ActivityStreamsApplication" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsApplication, error) { + i, err := typeapplication.DeserializeApplication(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeArriveActivityStreams returns the deserialization method for the +// "ActivityStreamsArrive" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsArrive, error) { + i, err := typearrive.DeserializeArrive(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeArticleActivityStreams returns the deserialization method for the +// "ActivityStreamsArticle" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsArticle, error) { + i, err := typearticle.DeserializeArticle(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAssignedToPropertyForgeFed returns the deserialization method for +// the "ForgeFedAssignedToProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeAssignedToPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedAssignedToProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedAssignedToProperty, error) { + i, err := propertyassignedto.DeserializeAssignedToProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAttachmentPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsAttachmentProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) { + i, err := propertyattachment.DeserializeAttachmentProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAttributedToPropertyActivityStreams returns the deserialization +// method for the "ActivityStreamsAttributedToProperty" non-functional +// property in the vocabulary "ActivityStreams" +func (this Manager) DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) { + i, err := propertyattributedto.DeserializeAttributedToProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAudiencePropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsAudienceProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAudienceProperty, error) { + i, err := propertyaudience.DeserializeAudienceProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeAudioActivityStreams returns the deserialization method for the +// "ActivityStreamsAudio" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAudio, error) { + i, err := typeaudio.DeserializeAudio(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeBccPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsBccProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsBccProperty, error) { + i, err := propertybcc.DeserializeBccProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeBlockActivityStreams returns the deserialization method for the +// "ActivityStreamsBlock" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsBlock, error) { + i, err := typeblock.DeserializeBlock(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeBlurhashPropertyToot returns the deserialization method for the +// "TootBlurhashProperty" non-functional property in the vocabulary "Toot" +func (this Manager) DeserializeBlurhashPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootBlurhashProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.TootBlurhashProperty, error) { + i, err := propertyblurhash.DeserializeBlurhashProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeBranchForgeFed returns the deserialization method for the +// "ForgeFedBranch" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedBranch, error) { + i, err := typebranch.DeserializeBranch(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeBtoPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsBtoProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsBtoProperty, error) { + i, err := propertybto.DeserializeBtoProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeCcPropertyActivityStreams returns the deserialization method for the +// "ActivityStreamsCcProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsCcProperty, error) { + i, err := propertycc.DeserializeCcProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeClosedPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsClosedProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeClosedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsClosedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsClosedProperty, error) { + i, err := propertyclosed.DeserializeClosedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeCollectionActivityStreams returns the deserialization method for the +// "ActivityStreamsCollection" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsCollection, error) { + i, err := typecollection.DeserializeCollection(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeCollectionPageActivityStreams returns the deserialization method for +// the "ActivityStreamsCollectionPage" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsCollectionPage, error) { + i, err := typecollectionpage.DeserializeCollectionPage(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeCommitForgeFed returns the deserialization method for the +// "ForgeFedCommit" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedCommit, error) { + i, err := typecommit.DeserializeCommit(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeCommittedByPropertyForgeFed returns the deserialization method for +// the "ForgeFedCommittedByProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeCommittedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommittedByProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedCommittedByProperty, error) { + i, err := propertycommittedby.DeserializeCommittedByProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeCommittedPropertyForgeFed returns the deserialization method for the +// "ForgeFedCommittedProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeCommittedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommittedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedCommittedProperty, error) { + i, err := propertycommitted.DeserializeCommittedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeContentPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsContentProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsContentProperty, error) { + i, err := propertycontent.DeserializeContentProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeContextPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsContextProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsContextProperty, error) { + i, err := propertycontext.DeserializeContextProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeCreateActivityStreams returns the deserialization method for the +// "ActivityStreamsCreate" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsCreate, error) { + i, err := typecreate.DeserializeCreate(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeCurrentPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsCurrentProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeCurrentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCurrentProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsCurrentProperty, error) { + i, err := propertycurrent.DeserializeCurrentProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDeleteActivityStreams returns the deserialization method for the +// "ActivityStreamsDelete" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsDelete, error) { + i, err := typedelete.DeserializeDelete(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDeletedPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsDeletedProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeDeletedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDeletedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsDeletedProperty, error) { + i, err := propertydeleted.DeserializeDeletedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDependantsPropertyForgeFed returns the deserialization method for +// the "ForgeFedDependantsProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeDependantsPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDependantsProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedDependantsProperty, error) { + i, err := propertydependants.DeserializeDependantsProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDependedByPropertyForgeFed returns the deserialization method for +// the "ForgeFedDependedByProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeDependedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDependedByProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedDependedByProperty, error) { + i, err := propertydependedby.DeserializeDependedByProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDependenciesPropertyForgeFed returns the deserialization method for +// the "ForgeFedDependenciesProperty" non-functional property in the +// vocabulary "ForgeFed" +func (this Manager) DeserializeDependenciesPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDependenciesProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedDependenciesProperty, error) { + i, err := propertydependencies.DeserializeDependenciesProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDependsOnPropertyForgeFed returns the deserialization method for the +// "ForgeFedDependsOnProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeDependsOnPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDependsOnProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedDependsOnProperty, error) { + i, err := propertydependson.DeserializeDependsOnProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDescribesPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsDescribesProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeDescribesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDescribesProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsDescribesProperty, error) { + i, err := propertydescribes.DeserializeDescribesProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDescriptionPropertyForgeFed returns the deserialization method for +// the "ForgeFedDescriptionProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeDescriptionPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDescriptionProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedDescriptionProperty, error) { + i, err := propertydescription.DeserializeDescriptionProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDiscoverablePropertyToot returns the deserialization method for the +// "TootDiscoverableProperty" non-functional property in the vocabulary "Toot" +func (this Manager) DeserializeDiscoverablePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootDiscoverableProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.TootDiscoverableProperty, error) { + i, err := propertydiscoverable.DeserializeDiscoverableProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDislikeActivityStreams returns the deserialization method for the +// "ActivityStreamsDislike" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsDislike, error) { + i, err := typedislike.DeserializeDislike(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDocumentActivityStreams returns the deserialization method for the +// "ActivityStreamsDocument" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsDocument, error) { + i, err := typedocument.DeserializeDocument(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeDurationPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsDurationProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsDurationProperty, error) { + i, err := propertyduration.DeserializeDurationProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeEarlyItemsPropertyForgeFed returns the deserialization method for +// the "ForgeFedEarlyItemsProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeEarlyItemsPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedEarlyItemsProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedEarlyItemsProperty, error) { + i, err := propertyearlyitems.DeserializeEarlyItemsProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeEmojiToot returns the deserialization method for the "TootEmoji" +// non-functional property in the vocabulary "Toot" +func (this Manager) DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.TootEmoji, error) { + i, err := typeemoji.DeserializeEmoji(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeEndTimePropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsEndTimeProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) { + i, err := propertyendtime.DeserializeEndTimeProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeEventActivityStreams returns the deserialization method for the +// "ActivityStreamsEvent" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsEvent, error) { + i, err := typeevent.DeserializeEvent(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFeaturedPropertyToot returns the deserialization method for the +// "TootFeaturedProperty" non-functional property in the vocabulary "Toot" +func (this Manager) DeserializeFeaturedPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootFeaturedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.TootFeaturedProperty, error) { + i, err := propertyfeatured.DeserializeFeaturedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFilesAddedPropertyForgeFed returns the deserialization method for +// the "ForgeFedFilesAddedProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeFilesAddedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedFilesAddedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedFilesAddedProperty, error) { + i, err := propertyfilesadded.DeserializeFilesAddedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFilesModifiedPropertyForgeFed returns the deserialization method for +// the "ForgeFedFilesModifiedProperty" non-functional property in the +// vocabulary "ForgeFed" +func (this Manager) DeserializeFilesModifiedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedFilesModifiedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedFilesModifiedProperty, error) { + i, err := propertyfilesmodified.DeserializeFilesModifiedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFilesRemovedPropertyForgeFed returns the deserialization method for +// the "ForgeFedFilesRemovedProperty" non-functional property in the +// vocabulary "ForgeFed" +func (this Manager) DeserializeFilesRemovedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedFilesRemovedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedFilesRemovedProperty, error) { + i, err := propertyfilesremoved.DeserializeFilesRemovedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFirstPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsFirstProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeFirstPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFirstProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsFirstProperty, error) { + i, err := propertyfirst.DeserializeFirstProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFlagActivityStreams returns the deserialization method for the +// "ActivityStreamsFlag" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsFlag, error) { + i, err := typeflag.DeserializeFlag(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFollowActivityStreams returns the deserialization method for the +// "ActivityStreamsFollow" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsFollow, error) { + i, err := typefollow.DeserializeFollow(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFollowersPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsFollowersProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeFollowersPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowersProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsFollowersProperty, error) { + i, err := propertyfollowers.DeserializeFollowersProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFollowingPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsFollowingProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeFollowingPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowingProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsFollowingProperty, error) { + i, err := propertyfollowing.DeserializeFollowingProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeForksPropertyForgeFed returns the deserialization method for the +// "ForgeFedForksProperty" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializeForksPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedForksProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedForksProperty, error) { + i, err := propertyforks.DeserializeForksProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeFormerTypePropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsFormerTypeProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeFormerTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFormerTypeProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsFormerTypeProperty, error) { + i, err := propertyformertype.DeserializeFormerTypeProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeGeneratorPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsGeneratorProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) { + i, err := propertygenerator.DeserializeGeneratorProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeGroupActivityStreams returns the deserialization method for the +// "ActivityStreamsGroup" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsGroup, error) { + i, err := typegroup.DeserializeGroup(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeHashPropertyForgeFed returns the deserialization method for the +// "ForgeFedHashProperty" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializeHashPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedHashProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedHashProperty, error) { + i, err := propertyhash.DeserializeHashProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeHeightPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsHeightProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeHeightPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHeightProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsHeightProperty, error) { + i, err := propertyheight.DeserializeHeightProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeHrefPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsHrefProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeHrefPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHrefProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsHrefProperty, error) { + i, err := propertyhref.DeserializeHrefProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeHreflangPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsHreflangProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeHreflangPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHreflangProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsHreflangProperty, error) { + i, err := propertyhreflang.DeserializeHreflangProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeIconPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsIconProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsIconProperty, error) { + i, err := propertyicon.DeserializeIconProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeIdPropertyJSONLD returns the deserialization method for the +// "JSONLDIdProperty" non-functional property in the vocabulary "JSONLD" +func (this Manager) DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.JSONLDIdProperty, error) { + i, err := propertyid.DeserializeIdProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeIdentityProofToot returns the deserialization method for the +// "TootIdentityProof" non-functional property in the vocabulary "Toot" +func (this Manager) DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.TootIdentityProof, error) { + i, err := typeidentityproof.DeserializeIdentityProof(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeIgnoreActivityStreams returns the deserialization method for the +// "ActivityStreamsIgnore" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsIgnore, error) { + i, err := typeignore.DeserializeIgnore(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeImageActivityStreams returns the deserialization method for the +// "ActivityStreamsImage" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsImage, error) { + i, err := typeimage.DeserializeImage(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeImagePropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsImageProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsImageProperty, error) { + i, err := propertyimage.DeserializeImageProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeInReplyToPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsInReplyToProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) { + i, err := propertyinreplyto.DeserializeInReplyToProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeInboxPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsInboxProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeInboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInboxProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsInboxProperty, error) { + i, err := propertyinbox.DeserializeInboxProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeInstrumentPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsInstrumentProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) { + i, err := propertyinstrument.DeserializeInstrumentProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeIntransitiveActivityActivityStreams returns the deserialization +// method for the "ActivityStreamsIntransitiveActivity" non-functional +// property in the vocabulary "ActivityStreams" +func (this Manager) DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) { + i, err := typeintransitiveactivity.DeserializeIntransitiveActivity(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeInviteActivityStreams returns the deserialization method for the +// "ActivityStreamsInvite" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsInvite, error) { + i, err := typeinvite.DeserializeInvite(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeIsResolvedPropertyForgeFed returns the deserialization method for +// the "ForgeFedIsResolvedProperty" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeIsResolvedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedIsResolvedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedIsResolvedProperty, error) { + i, err := propertyisresolved.DeserializeIsResolvedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeItemsPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsItemsProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsItemsProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsItemsProperty, error) { + i, err := propertyitems.DeserializeItemsProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeJoinActivityStreams returns the deserialization method for the +// "ActivityStreamsJoin" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsJoin, error) { + i, err := typejoin.DeserializeJoin(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLastPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsLastProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeLastPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLastProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLastProperty, error) { + i, err := propertylast.DeserializeLastProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLatitudePropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsLatitudeProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeLatitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLatitudeProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLatitudeProperty, error) { + i, err := propertylatitude.DeserializeLatitudeProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLeaveActivityStreams returns the deserialization method for the +// "ActivityStreamsLeave" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLeave, error) { + i, err := typeleave.DeserializeLeave(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLikeActivityStreams returns the deserialization method for the +// "ActivityStreamsLike" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLike, error) { + i, err := typelike.DeserializeLike(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLikedPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsLikedProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeLikedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLikedProperty, error) { + i, err := propertyliked.DeserializeLikedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLikesPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsLikesProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLikesProperty, error) { + i, err := propertylikes.DeserializeLikesProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLinkActivityStreams returns the deserialization method for the +// "ActivityStreamsLink" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLink, error) { + i, err := typelink.DeserializeLink(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeListenActivityStreams returns the deserialization method for the +// "ActivityStreamsListen" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsListen, error) { + i, err := typelisten.DeserializeListen(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLocationPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsLocationProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLocationProperty, error) { + i, err := propertylocation.DeserializeLocationProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeLongitudePropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsLongitudeProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeLongitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLongitudeProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLongitudeProperty, error) { + i, err := propertylongitude.DeserializeLongitudeProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeMediaTypePropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsMediaTypeProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) { + i, err := propertymediatype.DeserializeMediaTypeProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeMentionActivityStreams returns the deserialization method for the +// "ActivityStreamsMention" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsMention, error) { + i, err := typemention.DeserializeMention(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeMoveActivityStreams returns the deserialization method for the +// "ActivityStreamsMove" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsMove, error) { + i, err := typemove.DeserializeMove(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeNamePropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsNameProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsNameProperty, error) { + i, err := propertyname.DeserializeNameProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeNextPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsNextProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeNextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNextProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsNextProperty, error) { + i, err := propertynext.DeserializeNextProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeNoteActivityStreams returns the deserialization method for the +// "ActivityStreamsNote" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsNote, error) { + i, err := typenote.DeserializeNote(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeObjectActivityStreams returns the deserialization method for the +// "ActivityStreamsObject" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsObject, error) { + i, err := typeobject.DeserializeObject(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeObjectPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsObjectProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsObjectProperty, error) { + i, err := propertyobject.DeserializeObjectProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOfferActivityStreams returns the deserialization method for the +// "ActivityStreamsOffer" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOffer, error) { + i, err := typeoffer.DeserializeOffer(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOneOfPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsOneOfProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeOneOfPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOneOfProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOneOfProperty, error) { + i, err := propertyoneof.DeserializeOneOfProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOrderedCollectionActivityStreams returns the deserialization method +// for the "ActivityStreamsOrderedCollection" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOrderedCollection, error) { + i, err := typeorderedcollection.DeserializeOrderedCollection(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOrderedCollectionPageActivityStreams returns the deserialization +// method for the "ActivityStreamsOrderedCollectionPage" non-functional +// property in the vocabulary "ActivityStreams" +func (this Manager) DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) { + i, err := typeorderedcollectionpage.DeserializeOrderedCollectionPage(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOrderedItemsPropertyActivityStreams returns the deserialization +// method for the "ActivityStreamsOrderedItemsProperty" non-functional +// property in the vocabulary "ActivityStreams" +func (this Manager) DeserializeOrderedItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedItemsProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOrderedItemsProperty, error) { + i, err := propertyordereditems.DeserializeOrderedItemsProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOrganizationActivityStreams returns the deserialization method for +// the "ActivityStreamsOrganization" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOrganization, error) { + i, err := typeorganization.DeserializeOrganization(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOriginPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsOriginProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOriginProperty, error) { + i, err := propertyorigin.DeserializeOriginProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOutboxPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsOutboxProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeOutboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOutboxProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOutboxProperty, error) { + i, err := propertyoutbox.DeserializeOutboxProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeOwnerPropertyW3IDSecurityV1 returns the deserialization method for +// the "W3IDSecurityV1OwnerProperty" non-functional property in the vocabulary +// "W3IDSecurityV1" +func (this Manager) DeserializeOwnerPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1OwnerProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.W3IDSecurityV1OwnerProperty, error) { + i, err := propertyowner.DeserializeOwnerProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePageActivityStreams returns the deserialization method for the +// "ActivityStreamsPage" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPage, error) { + i, err := typepage.DeserializePage(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePartOfPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsPartOfProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializePartOfPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPartOfProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPartOfProperty, error) { + i, err := propertypartof.DeserializePartOfProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePersonActivityStreams returns the deserialization method for the +// "ActivityStreamsPerson" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPerson, error) { + i, err := typeperson.DeserializePerson(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePlaceActivityStreams returns the deserialization method for the +// "ActivityStreamsPlace" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPlace, error) { + i, err := typeplace.DeserializePlace(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePreferredUsernamePropertyActivityStreams returns the deserialization +// method for the "ActivityStreamsPreferredUsernameProperty" non-functional +// property in the vocabulary "ActivityStreams" +func (this Manager) DeserializePreferredUsernamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreferredUsernameProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPreferredUsernameProperty, error) { + i, err := propertypreferredusername.DeserializePreferredUsernameProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePrevPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsPrevProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializePrevPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPrevProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPrevProperty, error) { + i, err := propertyprev.DeserializePrevProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePreviewPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsPreviewProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPreviewProperty, error) { + i, err := propertypreview.DeserializePreviewProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeProfileActivityStreams returns the deserialization method for the +// "ActivityStreamsProfile" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsProfile, error) { + i, err := typeprofile.DeserializeProfile(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePublicKeyPemPropertyW3IDSecurityV1 returns the deserialization +// method for the "W3IDSecurityV1PublicKeyPemProperty" non-functional property +// in the vocabulary "W3IDSecurityV1" +func (this Manager) DeserializePublicKeyPemPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKeyPemProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.W3IDSecurityV1PublicKeyPemProperty, error) { + i, err := propertypublickeypem.DeserializePublicKeyPemProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePublicKeyPropertyW3IDSecurityV1 returns the deserialization method +// for the "W3IDSecurityV1PublicKeyProperty" non-functional property in the +// vocabulary "W3IDSecurityV1" +func (this Manager) DeserializePublicKeyPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKeyProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.W3IDSecurityV1PublicKeyProperty, error) { + i, err := propertypublickey.DeserializePublicKeyProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePublicKeyW3IDSecurityV1 returns the deserialization method for the +// "W3IDSecurityV1PublicKey" non-functional property in the vocabulary +// "W3IDSecurityV1" +func (this Manager) DeserializePublicKeyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKey, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.W3IDSecurityV1PublicKey, error) { + i, err := typepublickey.DeserializePublicKey(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePublishedPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsPublishedProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPublishedProperty, error) { + i, err := propertypublished.DeserializePublishedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializePushForgeFed returns the deserialization method for the +// "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedPush, error) { + i, err := typepush.DeserializePush(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeQuestionActivityStreams returns the deserialization method for the +// "ActivityStreamsQuestion" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsQuestion, error) { + i, err := typequestion.DeserializeQuestion(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRadiusPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsRadiusProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeRadiusPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRadiusProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRadiusProperty, error) { + i, err := propertyradius.DeserializeRadiusProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeReadActivityStreams returns the deserialization method for the +// "ActivityStreamsRead" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRead, error) { + i, err := typeread.DeserializeRead(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRefPropertyForgeFed returns the deserialization method for the +// "ForgeFedRefProperty" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializeRefPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRefProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedRefProperty, error) { + i, err := propertyref.DeserializeRefProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRejectActivityStreams returns the deserialization method for the +// "ActivityStreamsReject" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsReject, error) { + i, err := typereject.DeserializeReject(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRelPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsRelProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeRelPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRelProperty, error) { + i, err := propertyrel.DeserializeRelProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRelationshipActivityStreams returns the deserialization method for +// the "ActivityStreamsRelationship" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRelationship, error) { + i, err := typerelationship.DeserializeRelationship(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRelationshipPropertyActivityStreams returns the deserialization +// method for the "ActivityStreamsRelationshipProperty" non-functional +// property in the vocabulary "ActivityStreams" +func (this Manager) DeserializeRelationshipPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationshipProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRelationshipProperty, error) { + i, err := propertyrelationship.DeserializeRelationshipProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRemoveActivityStreams returns the deserialization method for the +// "ActivityStreamsRemove" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRemove, error) { + i, err := typeremove.DeserializeRemove(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRepliesPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsRepliesProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRepliesProperty, error) { + i, err := propertyreplies.DeserializeRepliesProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeRepositoryForgeFed returns the deserialization method for the +// "ForgeFedRepository" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedRepository, error) { + i, err := typerepository.DeserializeRepository(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeResultPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsResultProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsResultProperty, error) { + i, err := propertyresult.DeserializeResultProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeServiceActivityStreams returns the deserialization method for the +// "ActivityStreamsService" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsService, error) { + i, err := typeservice.DeserializeService(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeSharesPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsSharesProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsSharesProperty, error) { + i, err := propertyshares.DeserializeSharesProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeSignatureAlgorithmPropertyToot returns the deserialization method +// for the "TootSignatureAlgorithmProperty" non-functional property in the +// vocabulary "Toot" +func (this Manager) DeserializeSignatureAlgorithmPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootSignatureAlgorithmProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.TootSignatureAlgorithmProperty, error) { + i, err := propertysignaturealgorithm.DeserializeSignatureAlgorithmProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeSignatureValuePropertyToot returns the deserialization method for +// the "TootSignatureValueProperty" non-functional property in the vocabulary +// "Toot" +func (this Manager) DeserializeSignatureValuePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootSignatureValueProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.TootSignatureValueProperty, error) { + i, err := propertysignaturevalue.DeserializeSignatureValueProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeSourcePropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsSourceProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsSourceProperty, error) { + i, err := propertysource.DeserializeSourceProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeStartIndexPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsStartIndexProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeStartIndexPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartIndexProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsStartIndexProperty, error) { + i, err := propertystartindex.DeserializeStartIndexProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeStartTimePropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsStartTimeProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) { + i, err := propertystarttime.DeserializeStartTimeProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeStreamsPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsStreamsProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeStreamsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStreamsProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsStreamsProperty, error) { + i, err := propertystreams.DeserializeStreamsProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeSubjectPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsSubjectProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeSubjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSubjectProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsSubjectProperty, error) { + i, err := propertysubject.DeserializeSubjectProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeSummaryPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsSummaryProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsSummaryProperty, error) { + i, err := propertysummary.DeserializeSummaryProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTagPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsTagProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTagProperty, error) { + i, err := propertytag.DeserializeTagProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTargetPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsTargetProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTargetProperty, error) { + i, err := propertytarget.DeserializeTargetProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTeamPropertyForgeFed returns the deserialization method for the +// "ForgeFedTeamProperty" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedTeamProperty, error) { + i, err := propertyteam.DeserializeTeamProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTentativeAcceptActivityStreams returns the deserialization method +// for the "ActivityStreamsTentativeAccept" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTentativeAccept, error) { + i, err := typetentativeaccept.DeserializeTentativeAccept(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTentativeRejectActivityStreams returns the deserialization method +// for the "ActivityStreamsTentativeReject" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTentativeReject, error) { + i, err := typetentativereject.DeserializeTentativeReject(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTicketDependencyForgeFed returns the deserialization method for the +// "ForgeFedTicketDependency" non-functional property in the vocabulary +// "ForgeFed" +func (this Manager) DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedTicketDependency, error) { + i, err := typeticketdependency.DeserializeTicketDependency(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTicketForgeFed returns the deserialization method for the +// "ForgeFedTicket" non-functional property in the vocabulary "ForgeFed" +func (this Manager) DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedTicket, error) { + i, err := typeticket.DeserializeTicket(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization method +// for the "ForgeFedTicketsTrackedByProperty" non-functional property in the +// vocabulary "ForgeFed" +func (this Manager) DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) { + i, err := propertyticketstrackedby.DeserializeTicketsTrackedByProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeToPropertyActivityStreams returns the deserialization method for the +// "ActivityStreamsToProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsToProperty, error) { + i, err := propertyto.DeserializeToProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTombstoneActivityStreams returns the deserialization method for the +// "ActivityStreamsTombstone" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTombstone, error) { + i, err := typetombstone.DeserializeTombstone(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTotalItemsPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsTotalItemsProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeTotalItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTotalItemsProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTotalItemsProperty, error) { + i, err := propertytotalitems.DeserializeTotalItemsProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTracksTicketsForPropertyForgeFed returns the deserialization method +// for the "ForgeFedTracksTicketsForProperty" non-functional property in the +// vocabulary "ForgeFed" +func (this Manager) DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) { + i, err := propertytracksticketsfor.DeserializeTracksTicketsForProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTravelActivityStreams returns the deserialization method for the +// "ActivityStreamsTravel" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTravel, error) { + i, err := typetravel.DeserializeTravel(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeTypePropertyJSONLD returns the deserialization method for the +// "JSONLDTypeProperty" non-functional property in the vocabulary "JSONLD" +func (this Manager) DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.JSONLDTypeProperty, error) { + i, err := propertytype.DeserializeTypeProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeUndoActivityStreams returns the deserialization method for the +// "ActivityStreamsUndo" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsUndo, error) { + i, err := typeundo.DeserializeUndo(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeUnitsPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsUnitsProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeUnitsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUnitsProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsUnitsProperty, error) { + i, err := propertyunits.DeserializeUnitsProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeUpdateActivityStreams returns the deserialization method for the +// "ActivityStreamsUpdate" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsUpdate, error) { + i, err := typeupdate.DeserializeUpdate(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeUpdatedPropertyActivityStreams returns the deserialization method +// for the "ActivityStreamsUpdatedProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) { + i, err := propertyupdated.DeserializeUpdatedProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeUrlPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsUrlProperty" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsUrlProperty, error) { + i, err := propertyurl.DeserializeUrlProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeVideoActivityStreams returns the deserialization method for the +// "ActivityStreamsVideo" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsVideo, error) { + i, err := typevideo.DeserializeVideo(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeViewActivityStreams returns the deserialization method for the +// "ActivityStreamsView" non-functional property in the vocabulary +// "ActivityStreams" +func (this Manager) DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsView, error) { + i, err := typeview.DeserializeView(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeVotersCountPropertyToot returns the deserialization method for the +// "TootVotersCountProperty" non-functional property in the vocabulary "Toot" +func (this Manager) DeserializeVotersCountPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootVotersCountProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.TootVotersCountProperty, error) { + i, err := propertyvoterscount.DeserializeVotersCountProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} + +// DeserializeWidthPropertyActivityStreams returns the deserialization method for +// the "ActivityStreamsWidthProperty" non-functional property in the +// vocabulary "ActivityStreams" +func (this Manager) DeserializeWidthPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsWidthProperty, error) { + return func(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsWidthProperty, error) { + i, err := propertywidth.DeserializeWidthProperty(m, aliasMap) + if i == nil { + return nil, err + } + return i, err + } +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_disjoint.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_disjoint.go new file mode 100644 index 000000000..d755de119 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_disjoint.go @@ -0,0 +1,385 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_accept" + typeactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_activity" + typeadd "github.com/go-fed/activity/streams/impl/activitystreams/type_add" + typeannounce "github.com/go-fed/activity/streams/impl/activitystreams/type_announce" + typeapplication "github.com/go-fed/activity/streams/impl/activitystreams/type_application" + typearrive "github.com/go-fed/activity/streams/impl/activitystreams/type_arrive" + typearticle "github.com/go-fed/activity/streams/impl/activitystreams/type_article" + typeaudio "github.com/go-fed/activity/streams/impl/activitystreams/type_audio" + typeblock "github.com/go-fed/activity/streams/impl/activitystreams/type_block" + typecollection "github.com/go-fed/activity/streams/impl/activitystreams/type_collection" + typecollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage" + typecreate "github.com/go-fed/activity/streams/impl/activitystreams/type_create" + typedelete "github.com/go-fed/activity/streams/impl/activitystreams/type_delete" + typedislike "github.com/go-fed/activity/streams/impl/activitystreams/type_dislike" + typedocument "github.com/go-fed/activity/streams/impl/activitystreams/type_document" + typeevent "github.com/go-fed/activity/streams/impl/activitystreams/type_event" + typeflag "github.com/go-fed/activity/streams/impl/activitystreams/type_flag" + typefollow "github.com/go-fed/activity/streams/impl/activitystreams/type_follow" + typegroup "github.com/go-fed/activity/streams/impl/activitystreams/type_group" + typeignore "github.com/go-fed/activity/streams/impl/activitystreams/type_ignore" + typeimage "github.com/go-fed/activity/streams/impl/activitystreams/type_image" + typeintransitiveactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity" + typeinvite "github.com/go-fed/activity/streams/impl/activitystreams/type_invite" + typejoin "github.com/go-fed/activity/streams/impl/activitystreams/type_join" + typeleave "github.com/go-fed/activity/streams/impl/activitystreams/type_leave" + typelike "github.com/go-fed/activity/streams/impl/activitystreams/type_like" + typelink "github.com/go-fed/activity/streams/impl/activitystreams/type_link" + typelisten "github.com/go-fed/activity/streams/impl/activitystreams/type_listen" + typemention "github.com/go-fed/activity/streams/impl/activitystreams/type_mention" + typemove "github.com/go-fed/activity/streams/impl/activitystreams/type_move" + typenote "github.com/go-fed/activity/streams/impl/activitystreams/type_note" + typeobject "github.com/go-fed/activity/streams/impl/activitystreams/type_object" + typeoffer "github.com/go-fed/activity/streams/impl/activitystreams/type_offer" + typeorderedcollection "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection" + typeorderedcollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage" + typeorganization "github.com/go-fed/activity/streams/impl/activitystreams/type_organization" + typepage "github.com/go-fed/activity/streams/impl/activitystreams/type_page" + typeperson "github.com/go-fed/activity/streams/impl/activitystreams/type_person" + typeplace "github.com/go-fed/activity/streams/impl/activitystreams/type_place" + typeprofile "github.com/go-fed/activity/streams/impl/activitystreams/type_profile" + typequestion "github.com/go-fed/activity/streams/impl/activitystreams/type_question" + typeread "github.com/go-fed/activity/streams/impl/activitystreams/type_read" + typereject "github.com/go-fed/activity/streams/impl/activitystreams/type_reject" + typerelationship "github.com/go-fed/activity/streams/impl/activitystreams/type_relationship" + typeremove "github.com/go-fed/activity/streams/impl/activitystreams/type_remove" + typeservice "github.com/go-fed/activity/streams/impl/activitystreams/type_service" + typetentativeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept" + typetentativereject "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject" + typetombstone "github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone" + typetravel "github.com/go-fed/activity/streams/impl/activitystreams/type_travel" + typeundo "github.com/go-fed/activity/streams/impl/activitystreams/type_undo" + typeupdate "github.com/go-fed/activity/streams/impl/activitystreams/type_update" + typevideo "github.com/go-fed/activity/streams/impl/activitystreams/type_video" + typeview "github.com/go-fed/activity/streams/impl/activitystreams/type_view" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// ActivityStreamsAcceptIsDisjointWith returns true if Accept is disjoint with the +// other's type. +func ActivityStreamsAcceptIsDisjointWith(other vocab.Type) bool { + return typeaccept.AcceptIsDisjointWith(other) +} + +// ActivityStreamsActivityIsDisjointWith returns true if Activity is disjoint with +// the other's type. +func ActivityStreamsActivityIsDisjointWith(other vocab.Type) bool { + return typeactivity.ActivityIsDisjointWith(other) +} + +// ActivityStreamsAddIsDisjointWith returns true if Add is disjoint with the +// other's type. +func ActivityStreamsAddIsDisjointWith(other vocab.Type) bool { + return typeadd.AddIsDisjointWith(other) +} + +// ActivityStreamsAnnounceIsDisjointWith returns true if Announce is disjoint with +// the other's type. +func ActivityStreamsAnnounceIsDisjointWith(other vocab.Type) bool { + return typeannounce.AnnounceIsDisjointWith(other) +} + +// ActivityStreamsApplicationIsDisjointWith returns true if Application is +// disjoint with the other's type. +func ActivityStreamsApplicationIsDisjointWith(other vocab.Type) bool { + return typeapplication.ApplicationIsDisjointWith(other) +} + +// ActivityStreamsArriveIsDisjointWith returns true if Arrive is disjoint with the +// other's type. +func ActivityStreamsArriveIsDisjointWith(other vocab.Type) bool { + return typearrive.ArriveIsDisjointWith(other) +} + +// ActivityStreamsArticleIsDisjointWith returns true if Article is disjoint with +// the other's type. +func ActivityStreamsArticleIsDisjointWith(other vocab.Type) bool { + return typearticle.ArticleIsDisjointWith(other) +} + +// ActivityStreamsAudioIsDisjointWith returns true if Audio is disjoint with the +// other's type. +func ActivityStreamsAudioIsDisjointWith(other vocab.Type) bool { + return typeaudio.AudioIsDisjointWith(other) +} + +// ActivityStreamsBlockIsDisjointWith returns true if Block is disjoint with the +// other's type. +func ActivityStreamsBlockIsDisjointWith(other vocab.Type) bool { + return typeblock.BlockIsDisjointWith(other) +} + +// ActivityStreamsCollectionIsDisjointWith returns true if Collection is disjoint +// with the other's type. +func ActivityStreamsCollectionIsDisjointWith(other vocab.Type) bool { + return typecollection.CollectionIsDisjointWith(other) +} + +// ActivityStreamsCollectionPageIsDisjointWith returns true if CollectionPage is +// disjoint with the other's type. +func ActivityStreamsCollectionPageIsDisjointWith(other vocab.Type) bool { + return typecollectionpage.CollectionPageIsDisjointWith(other) +} + +// ActivityStreamsCreateIsDisjointWith returns true if Create is disjoint with the +// other's type. +func ActivityStreamsCreateIsDisjointWith(other vocab.Type) bool { + return typecreate.CreateIsDisjointWith(other) +} + +// ActivityStreamsDeleteIsDisjointWith returns true if Delete is disjoint with the +// other's type. +func ActivityStreamsDeleteIsDisjointWith(other vocab.Type) bool { + return typedelete.DeleteIsDisjointWith(other) +} + +// ActivityStreamsDislikeIsDisjointWith returns true if Dislike is disjoint with +// the other's type. +func ActivityStreamsDislikeIsDisjointWith(other vocab.Type) bool { + return typedislike.DislikeIsDisjointWith(other) +} + +// ActivityStreamsDocumentIsDisjointWith returns true if Document is disjoint with +// the other's type. +func ActivityStreamsDocumentIsDisjointWith(other vocab.Type) bool { + return typedocument.DocumentIsDisjointWith(other) +} + +// ActivityStreamsEventIsDisjointWith returns true if Event is disjoint with the +// other's type. +func ActivityStreamsEventIsDisjointWith(other vocab.Type) bool { + return typeevent.EventIsDisjointWith(other) +} + +// ActivityStreamsFlagIsDisjointWith returns true if Flag is disjoint with the +// other's type. +func ActivityStreamsFlagIsDisjointWith(other vocab.Type) bool { + return typeflag.FlagIsDisjointWith(other) +} + +// ActivityStreamsFollowIsDisjointWith returns true if Follow is disjoint with the +// other's type. +func ActivityStreamsFollowIsDisjointWith(other vocab.Type) bool { + return typefollow.FollowIsDisjointWith(other) +} + +// ActivityStreamsGroupIsDisjointWith returns true if Group is disjoint with the +// other's type. +func ActivityStreamsGroupIsDisjointWith(other vocab.Type) bool { + return typegroup.GroupIsDisjointWith(other) +} + +// ActivityStreamsIgnoreIsDisjointWith returns true if Ignore is disjoint with the +// other's type. +func ActivityStreamsIgnoreIsDisjointWith(other vocab.Type) bool { + return typeignore.IgnoreIsDisjointWith(other) +} + +// ActivityStreamsImageIsDisjointWith returns true if Image is disjoint with the +// other's type. +func ActivityStreamsImageIsDisjointWith(other vocab.Type) bool { + return typeimage.ImageIsDisjointWith(other) +} + +// ActivityStreamsIntransitiveActivityIsDisjointWith returns true if +// IntransitiveActivity is disjoint with the other's type. +func ActivityStreamsIntransitiveActivityIsDisjointWith(other vocab.Type) bool { + return typeintransitiveactivity.IntransitiveActivityIsDisjointWith(other) +} + +// ActivityStreamsInviteIsDisjointWith returns true if Invite is disjoint with the +// other's type. +func ActivityStreamsInviteIsDisjointWith(other vocab.Type) bool { + return typeinvite.InviteIsDisjointWith(other) +} + +// ActivityStreamsJoinIsDisjointWith returns true if Join is disjoint with the +// other's type. +func ActivityStreamsJoinIsDisjointWith(other vocab.Type) bool { + return typejoin.JoinIsDisjointWith(other) +} + +// ActivityStreamsLeaveIsDisjointWith returns true if Leave is disjoint with the +// other's type. +func ActivityStreamsLeaveIsDisjointWith(other vocab.Type) bool { + return typeleave.LeaveIsDisjointWith(other) +} + +// ActivityStreamsLikeIsDisjointWith returns true if Like is disjoint with the +// other's type. +func ActivityStreamsLikeIsDisjointWith(other vocab.Type) bool { + return typelike.LikeIsDisjointWith(other) +} + +// ActivityStreamsLinkIsDisjointWith returns true if Link is disjoint with the +// other's type. +func ActivityStreamsLinkIsDisjointWith(other vocab.Type) bool { + return typelink.LinkIsDisjointWith(other) +} + +// ActivityStreamsListenIsDisjointWith returns true if Listen is disjoint with the +// other's type. +func ActivityStreamsListenIsDisjointWith(other vocab.Type) bool { + return typelisten.ListenIsDisjointWith(other) +} + +// ActivityStreamsMentionIsDisjointWith returns true if Mention is disjoint with +// the other's type. +func ActivityStreamsMentionIsDisjointWith(other vocab.Type) bool { + return typemention.MentionIsDisjointWith(other) +} + +// ActivityStreamsMoveIsDisjointWith returns true if Move is disjoint with the +// other's type. +func ActivityStreamsMoveIsDisjointWith(other vocab.Type) bool { + return typemove.MoveIsDisjointWith(other) +} + +// ActivityStreamsNoteIsDisjointWith returns true if Note is disjoint with the +// other's type. +func ActivityStreamsNoteIsDisjointWith(other vocab.Type) bool { + return typenote.NoteIsDisjointWith(other) +} + +// ActivityStreamsObjectIsDisjointWith returns true if Object is disjoint with the +// other's type. +func ActivityStreamsObjectIsDisjointWith(other vocab.Type) bool { + return typeobject.ObjectIsDisjointWith(other) +} + +// ActivityStreamsOfferIsDisjointWith returns true if Offer is disjoint with the +// other's type. +func ActivityStreamsOfferIsDisjointWith(other vocab.Type) bool { + return typeoffer.OfferIsDisjointWith(other) +} + +// ActivityStreamsOrderedCollectionIsDisjointWith returns true if +// OrderedCollection is disjoint with the other's type. +func ActivityStreamsOrderedCollectionIsDisjointWith(other vocab.Type) bool { + return typeorderedcollection.OrderedCollectionIsDisjointWith(other) +} + +// ActivityStreamsOrderedCollectionPageIsDisjointWith returns true if +// OrderedCollectionPage is disjoint with the other's type. +func ActivityStreamsOrderedCollectionPageIsDisjointWith(other vocab.Type) bool { + return typeorderedcollectionpage.OrderedCollectionPageIsDisjointWith(other) +} + +// ActivityStreamsOrganizationIsDisjointWith returns true if Organization is +// disjoint with the other's type. +func ActivityStreamsOrganizationIsDisjointWith(other vocab.Type) bool { + return typeorganization.OrganizationIsDisjointWith(other) +} + +// ActivityStreamsPageIsDisjointWith returns true if Page is disjoint with the +// other's type. +func ActivityStreamsPageIsDisjointWith(other vocab.Type) bool { + return typepage.PageIsDisjointWith(other) +} + +// ActivityStreamsPersonIsDisjointWith returns true if Person is disjoint with the +// other's type. +func ActivityStreamsPersonIsDisjointWith(other vocab.Type) bool { + return typeperson.PersonIsDisjointWith(other) +} + +// ActivityStreamsPlaceIsDisjointWith returns true if Place is disjoint with the +// other's type. +func ActivityStreamsPlaceIsDisjointWith(other vocab.Type) bool { + return typeplace.PlaceIsDisjointWith(other) +} + +// ActivityStreamsProfileIsDisjointWith returns true if Profile is disjoint with +// the other's type. +func ActivityStreamsProfileIsDisjointWith(other vocab.Type) bool { + return typeprofile.ProfileIsDisjointWith(other) +} + +// ActivityStreamsQuestionIsDisjointWith returns true if Question is disjoint with +// the other's type. +func ActivityStreamsQuestionIsDisjointWith(other vocab.Type) bool { + return typequestion.QuestionIsDisjointWith(other) +} + +// ActivityStreamsReadIsDisjointWith returns true if Read is disjoint with the +// other's type. +func ActivityStreamsReadIsDisjointWith(other vocab.Type) bool { + return typeread.ReadIsDisjointWith(other) +} + +// ActivityStreamsRejectIsDisjointWith returns true if Reject is disjoint with the +// other's type. +func ActivityStreamsRejectIsDisjointWith(other vocab.Type) bool { + return typereject.RejectIsDisjointWith(other) +} + +// ActivityStreamsRelationshipIsDisjointWith returns true if Relationship is +// disjoint with the other's type. +func ActivityStreamsRelationshipIsDisjointWith(other vocab.Type) bool { + return typerelationship.RelationshipIsDisjointWith(other) +} + +// ActivityStreamsRemoveIsDisjointWith returns true if Remove is disjoint with the +// other's type. +func ActivityStreamsRemoveIsDisjointWith(other vocab.Type) bool { + return typeremove.RemoveIsDisjointWith(other) +} + +// ActivityStreamsServiceIsDisjointWith returns true if Service is disjoint with +// the other's type. +func ActivityStreamsServiceIsDisjointWith(other vocab.Type) bool { + return typeservice.ServiceIsDisjointWith(other) +} + +// ActivityStreamsTentativeAcceptIsDisjointWith returns true if TentativeAccept is +// disjoint with the other's type. +func ActivityStreamsTentativeAcceptIsDisjointWith(other vocab.Type) bool { + return typetentativeaccept.TentativeAcceptIsDisjointWith(other) +} + +// ActivityStreamsTentativeRejectIsDisjointWith returns true if TentativeReject is +// disjoint with the other's type. +func ActivityStreamsTentativeRejectIsDisjointWith(other vocab.Type) bool { + return typetentativereject.TentativeRejectIsDisjointWith(other) +} + +// ActivityStreamsTombstoneIsDisjointWith returns true if Tombstone is disjoint +// with the other's type. +func ActivityStreamsTombstoneIsDisjointWith(other vocab.Type) bool { + return typetombstone.TombstoneIsDisjointWith(other) +} + +// ActivityStreamsTravelIsDisjointWith returns true if Travel is disjoint with the +// other's type. +func ActivityStreamsTravelIsDisjointWith(other vocab.Type) bool { + return typetravel.TravelIsDisjointWith(other) +} + +// ActivityStreamsUndoIsDisjointWith returns true if Undo is disjoint with the +// other's type. +func ActivityStreamsUndoIsDisjointWith(other vocab.Type) bool { + return typeundo.UndoIsDisjointWith(other) +} + +// ActivityStreamsUpdateIsDisjointWith returns true if Update is disjoint with the +// other's type. +func ActivityStreamsUpdateIsDisjointWith(other vocab.Type) bool { + return typeupdate.UpdateIsDisjointWith(other) +} + +// ActivityStreamsVideoIsDisjointWith returns true if Video is disjoint with the +// other's type. +func ActivityStreamsVideoIsDisjointWith(other vocab.Type) bool { + return typevideo.VideoIsDisjointWith(other) +} + +// ActivityStreamsViewIsDisjointWith returns true if View is disjoint with the +// other's type. +func ActivityStreamsViewIsDisjointWith(other vocab.Type) bool { + return typeview.ViewIsDisjointWith(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_extendedby.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_extendedby.go new file mode 100644 index 000000000..735dc8c5e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_extendedby.go @@ -0,0 +1,439 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_accept" + typeactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_activity" + typeadd "github.com/go-fed/activity/streams/impl/activitystreams/type_add" + typeannounce "github.com/go-fed/activity/streams/impl/activitystreams/type_announce" + typeapplication "github.com/go-fed/activity/streams/impl/activitystreams/type_application" + typearrive "github.com/go-fed/activity/streams/impl/activitystreams/type_arrive" + typearticle "github.com/go-fed/activity/streams/impl/activitystreams/type_article" + typeaudio "github.com/go-fed/activity/streams/impl/activitystreams/type_audio" + typeblock "github.com/go-fed/activity/streams/impl/activitystreams/type_block" + typecollection "github.com/go-fed/activity/streams/impl/activitystreams/type_collection" + typecollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage" + typecreate "github.com/go-fed/activity/streams/impl/activitystreams/type_create" + typedelete "github.com/go-fed/activity/streams/impl/activitystreams/type_delete" + typedislike "github.com/go-fed/activity/streams/impl/activitystreams/type_dislike" + typedocument "github.com/go-fed/activity/streams/impl/activitystreams/type_document" + typeevent "github.com/go-fed/activity/streams/impl/activitystreams/type_event" + typeflag "github.com/go-fed/activity/streams/impl/activitystreams/type_flag" + typefollow "github.com/go-fed/activity/streams/impl/activitystreams/type_follow" + typegroup "github.com/go-fed/activity/streams/impl/activitystreams/type_group" + typeignore "github.com/go-fed/activity/streams/impl/activitystreams/type_ignore" + typeimage "github.com/go-fed/activity/streams/impl/activitystreams/type_image" + typeintransitiveactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity" + typeinvite "github.com/go-fed/activity/streams/impl/activitystreams/type_invite" + typejoin "github.com/go-fed/activity/streams/impl/activitystreams/type_join" + typeleave "github.com/go-fed/activity/streams/impl/activitystreams/type_leave" + typelike "github.com/go-fed/activity/streams/impl/activitystreams/type_like" + typelink "github.com/go-fed/activity/streams/impl/activitystreams/type_link" + typelisten "github.com/go-fed/activity/streams/impl/activitystreams/type_listen" + typemention "github.com/go-fed/activity/streams/impl/activitystreams/type_mention" + typemove "github.com/go-fed/activity/streams/impl/activitystreams/type_move" + typenote "github.com/go-fed/activity/streams/impl/activitystreams/type_note" + typeobject "github.com/go-fed/activity/streams/impl/activitystreams/type_object" + typeoffer "github.com/go-fed/activity/streams/impl/activitystreams/type_offer" + typeorderedcollection "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection" + typeorderedcollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage" + typeorganization "github.com/go-fed/activity/streams/impl/activitystreams/type_organization" + typepage "github.com/go-fed/activity/streams/impl/activitystreams/type_page" + typeperson "github.com/go-fed/activity/streams/impl/activitystreams/type_person" + typeplace "github.com/go-fed/activity/streams/impl/activitystreams/type_place" + typeprofile "github.com/go-fed/activity/streams/impl/activitystreams/type_profile" + typequestion "github.com/go-fed/activity/streams/impl/activitystreams/type_question" + typeread "github.com/go-fed/activity/streams/impl/activitystreams/type_read" + typereject "github.com/go-fed/activity/streams/impl/activitystreams/type_reject" + typerelationship "github.com/go-fed/activity/streams/impl/activitystreams/type_relationship" + typeremove "github.com/go-fed/activity/streams/impl/activitystreams/type_remove" + typeservice "github.com/go-fed/activity/streams/impl/activitystreams/type_service" + typetentativeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept" + typetentativereject "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject" + typetombstone "github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone" + typetravel "github.com/go-fed/activity/streams/impl/activitystreams/type_travel" + typeundo "github.com/go-fed/activity/streams/impl/activitystreams/type_undo" + typeupdate "github.com/go-fed/activity/streams/impl/activitystreams/type_update" + typevideo "github.com/go-fed/activity/streams/impl/activitystreams/type_video" + typeview "github.com/go-fed/activity/streams/impl/activitystreams/type_view" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// ActivityStreamsAcceptIsExtendedBy returns true if the other's type extends from +// Accept. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsAcceptIsExtendedBy(other vocab.Type) bool { + return typeaccept.AcceptIsExtendedBy(other) +} + +// ActivityStreamsActivityIsExtendedBy returns true if the other's type extends +// from Activity. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func ActivityStreamsActivityIsExtendedBy(other vocab.Type) bool { + return typeactivity.ActivityIsExtendedBy(other) +} + +// ActivityStreamsAddIsExtendedBy returns true if the other's type extends from +// Add. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsAddIsExtendedBy(other vocab.Type) bool { + return typeadd.AddIsExtendedBy(other) +} + +// ActivityStreamsAnnounceIsExtendedBy returns true if the other's type extends +// from Announce. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func ActivityStreamsAnnounceIsExtendedBy(other vocab.Type) bool { + return typeannounce.AnnounceIsExtendedBy(other) +} + +// ActivityStreamsApplicationIsExtendedBy returns true if the other's type extends +// from Application. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func ActivityStreamsApplicationIsExtendedBy(other vocab.Type) bool { + return typeapplication.ApplicationIsExtendedBy(other) +} + +// ActivityStreamsArriveIsExtendedBy returns true if the other's type extends from +// Arrive. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsArriveIsExtendedBy(other vocab.Type) bool { + return typearrive.ArriveIsExtendedBy(other) +} + +// ActivityStreamsArticleIsExtendedBy returns true if the other's type extends +// from Article. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsArticleIsExtendedBy(other vocab.Type) bool { + return typearticle.ArticleIsExtendedBy(other) +} + +// ActivityStreamsAudioIsExtendedBy returns true if the other's type extends from +// Audio. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsAudioIsExtendedBy(other vocab.Type) bool { + return typeaudio.AudioIsExtendedBy(other) +} + +// ActivityStreamsBlockIsExtendedBy returns true if the other's type extends from +// Block. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsBlockIsExtendedBy(other vocab.Type) bool { + return typeblock.BlockIsExtendedBy(other) +} + +// ActivityStreamsCollectionIsExtendedBy returns true if the other's type extends +// from Collection. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func ActivityStreamsCollectionIsExtendedBy(other vocab.Type) bool { + return typecollection.CollectionIsExtendedBy(other) +} + +// ActivityStreamsCollectionPageIsExtendedBy returns true if the other's type +// extends from CollectionPage. Note that it returns false if the types are +// the same; see the "IsOrExtends" variant instead. +func ActivityStreamsCollectionPageIsExtendedBy(other vocab.Type) bool { + return typecollectionpage.CollectionPageIsExtendedBy(other) +} + +// ActivityStreamsCreateIsExtendedBy returns true if the other's type extends from +// Create. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsCreateIsExtendedBy(other vocab.Type) bool { + return typecreate.CreateIsExtendedBy(other) +} + +// ActivityStreamsDeleteIsExtendedBy returns true if the other's type extends from +// Delete. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsDeleteIsExtendedBy(other vocab.Type) bool { + return typedelete.DeleteIsExtendedBy(other) +} + +// ActivityStreamsDislikeIsExtendedBy returns true if the other's type extends +// from Dislike. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsDislikeIsExtendedBy(other vocab.Type) bool { + return typedislike.DislikeIsExtendedBy(other) +} + +// ActivityStreamsDocumentIsExtendedBy returns true if the other's type extends +// from Document. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func ActivityStreamsDocumentIsExtendedBy(other vocab.Type) bool { + return typedocument.DocumentIsExtendedBy(other) +} + +// ActivityStreamsEventIsExtendedBy returns true if the other's type extends from +// Event. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsEventIsExtendedBy(other vocab.Type) bool { + return typeevent.EventIsExtendedBy(other) +} + +// ActivityStreamsFlagIsExtendedBy returns true if the other's type extends from +// Flag. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsFlagIsExtendedBy(other vocab.Type) bool { + return typeflag.FlagIsExtendedBy(other) +} + +// ActivityStreamsFollowIsExtendedBy returns true if the other's type extends from +// Follow. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsFollowIsExtendedBy(other vocab.Type) bool { + return typefollow.FollowIsExtendedBy(other) +} + +// ActivityStreamsGroupIsExtendedBy returns true if the other's type extends from +// Group. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsGroupIsExtendedBy(other vocab.Type) bool { + return typegroup.GroupIsExtendedBy(other) +} + +// ActivityStreamsIgnoreIsExtendedBy returns true if the other's type extends from +// Ignore. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsIgnoreIsExtendedBy(other vocab.Type) bool { + return typeignore.IgnoreIsExtendedBy(other) +} + +// ActivityStreamsImageIsExtendedBy returns true if the other's type extends from +// Image. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsImageIsExtendedBy(other vocab.Type) bool { + return typeimage.ImageIsExtendedBy(other) +} + +// ActivityStreamsIntransitiveActivityIsExtendedBy returns true if the other's +// type extends from IntransitiveActivity. Note that it returns false if the +// types are the same; see the "IsOrExtends" variant instead. +func ActivityStreamsIntransitiveActivityIsExtendedBy(other vocab.Type) bool { + return typeintransitiveactivity.IntransitiveActivityIsExtendedBy(other) +} + +// ActivityStreamsInviteIsExtendedBy returns true if the other's type extends from +// Invite. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsInviteIsExtendedBy(other vocab.Type) bool { + return typeinvite.InviteIsExtendedBy(other) +} + +// ActivityStreamsJoinIsExtendedBy returns true if the other's type extends from +// Join. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsJoinIsExtendedBy(other vocab.Type) bool { + return typejoin.JoinIsExtendedBy(other) +} + +// ActivityStreamsLeaveIsExtendedBy returns true if the other's type extends from +// Leave. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsLeaveIsExtendedBy(other vocab.Type) bool { + return typeleave.LeaveIsExtendedBy(other) +} + +// ActivityStreamsLikeIsExtendedBy returns true if the other's type extends from +// Like. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsLikeIsExtendedBy(other vocab.Type) bool { + return typelike.LikeIsExtendedBy(other) +} + +// ActivityStreamsLinkIsExtendedBy returns true if the other's type extends from +// Link. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsLinkIsExtendedBy(other vocab.Type) bool { + return typelink.LinkIsExtendedBy(other) +} + +// ActivityStreamsListenIsExtendedBy returns true if the other's type extends from +// Listen. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsListenIsExtendedBy(other vocab.Type) bool { + return typelisten.ListenIsExtendedBy(other) +} + +// ActivityStreamsMentionIsExtendedBy returns true if the other's type extends +// from Mention. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsMentionIsExtendedBy(other vocab.Type) bool { + return typemention.MentionIsExtendedBy(other) +} + +// ActivityStreamsMoveIsExtendedBy returns true if the other's type extends from +// Move. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsMoveIsExtendedBy(other vocab.Type) bool { + return typemove.MoveIsExtendedBy(other) +} + +// ActivityStreamsNoteIsExtendedBy returns true if the other's type extends from +// Note. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsNoteIsExtendedBy(other vocab.Type) bool { + return typenote.NoteIsExtendedBy(other) +} + +// ActivityStreamsObjectIsExtendedBy returns true if the other's type extends from +// Object. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsObjectIsExtendedBy(other vocab.Type) bool { + return typeobject.ObjectIsExtendedBy(other) +} + +// ActivityStreamsOfferIsExtendedBy returns true if the other's type extends from +// Offer. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsOfferIsExtendedBy(other vocab.Type) bool { + return typeoffer.OfferIsExtendedBy(other) +} + +// ActivityStreamsOrderedCollectionIsExtendedBy returns true if the other's type +// extends from OrderedCollection. Note that it returns false if the types are +// the same; see the "IsOrExtends" variant instead. +func ActivityStreamsOrderedCollectionIsExtendedBy(other vocab.Type) bool { + return typeorderedcollection.OrderedCollectionIsExtendedBy(other) +} + +// ActivityStreamsOrderedCollectionPageIsExtendedBy returns true if the other's +// type extends from OrderedCollectionPage. Note that it returns false if the +// types are the same; see the "IsOrExtends" variant instead. +func ActivityStreamsOrderedCollectionPageIsExtendedBy(other vocab.Type) bool { + return typeorderedcollectionpage.OrderedCollectionPageIsExtendedBy(other) +} + +// ActivityStreamsOrganizationIsExtendedBy returns true if the other's type +// extends from Organization. Note that it returns false if the types are the +// same; see the "IsOrExtends" variant instead. +func ActivityStreamsOrganizationIsExtendedBy(other vocab.Type) bool { + return typeorganization.OrganizationIsExtendedBy(other) +} + +// ActivityStreamsPageIsExtendedBy returns true if the other's type extends from +// Page. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsPageIsExtendedBy(other vocab.Type) bool { + return typepage.PageIsExtendedBy(other) +} + +// ActivityStreamsPersonIsExtendedBy returns true if the other's type extends from +// Person. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsPersonIsExtendedBy(other vocab.Type) bool { + return typeperson.PersonIsExtendedBy(other) +} + +// ActivityStreamsPlaceIsExtendedBy returns true if the other's type extends from +// Place. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsPlaceIsExtendedBy(other vocab.Type) bool { + return typeplace.PlaceIsExtendedBy(other) +} + +// ActivityStreamsProfileIsExtendedBy returns true if the other's type extends +// from Profile. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsProfileIsExtendedBy(other vocab.Type) bool { + return typeprofile.ProfileIsExtendedBy(other) +} + +// ActivityStreamsQuestionIsExtendedBy returns true if the other's type extends +// from Question. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func ActivityStreamsQuestionIsExtendedBy(other vocab.Type) bool { + return typequestion.QuestionIsExtendedBy(other) +} + +// ActivityStreamsReadIsExtendedBy returns true if the other's type extends from +// Read. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsReadIsExtendedBy(other vocab.Type) bool { + return typeread.ReadIsExtendedBy(other) +} + +// ActivityStreamsRejectIsExtendedBy returns true if the other's type extends from +// Reject. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsRejectIsExtendedBy(other vocab.Type) bool { + return typereject.RejectIsExtendedBy(other) +} + +// ActivityStreamsRelationshipIsExtendedBy returns true if the other's type +// extends from Relationship. Note that it returns false if the types are the +// same; see the "IsOrExtends" variant instead. +func ActivityStreamsRelationshipIsExtendedBy(other vocab.Type) bool { + return typerelationship.RelationshipIsExtendedBy(other) +} + +// ActivityStreamsRemoveIsExtendedBy returns true if the other's type extends from +// Remove. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsRemoveIsExtendedBy(other vocab.Type) bool { + return typeremove.RemoveIsExtendedBy(other) +} + +// ActivityStreamsServiceIsExtendedBy returns true if the other's type extends +// from Service. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsServiceIsExtendedBy(other vocab.Type) bool { + return typeservice.ServiceIsExtendedBy(other) +} + +// ActivityStreamsTentativeAcceptIsExtendedBy returns true if the other's type +// extends from TentativeAccept. Note that it returns false if the types are +// the same; see the "IsOrExtends" variant instead. +func ActivityStreamsTentativeAcceptIsExtendedBy(other vocab.Type) bool { + return typetentativeaccept.TentativeAcceptIsExtendedBy(other) +} + +// ActivityStreamsTentativeRejectIsExtendedBy returns true if the other's type +// extends from TentativeReject. Note that it returns false if the types are +// the same; see the "IsOrExtends" variant instead. +func ActivityStreamsTentativeRejectIsExtendedBy(other vocab.Type) bool { + return typetentativereject.TentativeRejectIsExtendedBy(other) +} + +// ActivityStreamsTombstoneIsExtendedBy returns true if the other's type extends +// from Tombstone. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func ActivityStreamsTombstoneIsExtendedBy(other vocab.Type) bool { + return typetombstone.TombstoneIsExtendedBy(other) +} + +// ActivityStreamsTravelIsExtendedBy returns true if the other's type extends from +// Travel. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsTravelIsExtendedBy(other vocab.Type) bool { + return typetravel.TravelIsExtendedBy(other) +} + +// ActivityStreamsUndoIsExtendedBy returns true if the other's type extends from +// Undo. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsUndoIsExtendedBy(other vocab.Type) bool { + return typeundo.UndoIsExtendedBy(other) +} + +// ActivityStreamsUpdateIsExtendedBy returns true if the other's type extends from +// Update. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsUpdateIsExtendedBy(other vocab.Type) bool { + return typeupdate.UpdateIsExtendedBy(other) +} + +// ActivityStreamsVideoIsExtendedBy returns true if the other's type extends from +// Video. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsVideoIsExtendedBy(other vocab.Type) bool { + return typevideo.VideoIsExtendedBy(other) +} + +// ActivityStreamsViewIsExtendedBy returns true if the other's type extends from +// View. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ActivityStreamsViewIsExtendedBy(other vocab.Type) bool { + return typeview.ViewIsExtendedBy(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_extends.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_extends.go new file mode 100644 index 000000000..381066e63 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_extends.go @@ -0,0 +1,385 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_accept" + typeactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_activity" + typeadd "github.com/go-fed/activity/streams/impl/activitystreams/type_add" + typeannounce "github.com/go-fed/activity/streams/impl/activitystreams/type_announce" + typeapplication "github.com/go-fed/activity/streams/impl/activitystreams/type_application" + typearrive "github.com/go-fed/activity/streams/impl/activitystreams/type_arrive" + typearticle "github.com/go-fed/activity/streams/impl/activitystreams/type_article" + typeaudio "github.com/go-fed/activity/streams/impl/activitystreams/type_audio" + typeblock "github.com/go-fed/activity/streams/impl/activitystreams/type_block" + typecollection "github.com/go-fed/activity/streams/impl/activitystreams/type_collection" + typecollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage" + typecreate "github.com/go-fed/activity/streams/impl/activitystreams/type_create" + typedelete "github.com/go-fed/activity/streams/impl/activitystreams/type_delete" + typedislike "github.com/go-fed/activity/streams/impl/activitystreams/type_dislike" + typedocument "github.com/go-fed/activity/streams/impl/activitystreams/type_document" + typeevent "github.com/go-fed/activity/streams/impl/activitystreams/type_event" + typeflag "github.com/go-fed/activity/streams/impl/activitystreams/type_flag" + typefollow "github.com/go-fed/activity/streams/impl/activitystreams/type_follow" + typegroup "github.com/go-fed/activity/streams/impl/activitystreams/type_group" + typeignore "github.com/go-fed/activity/streams/impl/activitystreams/type_ignore" + typeimage "github.com/go-fed/activity/streams/impl/activitystreams/type_image" + typeintransitiveactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity" + typeinvite "github.com/go-fed/activity/streams/impl/activitystreams/type_invite" + typejoin "github.com/go-fed/activity/streams/impl/activitystreams/type_join" + typeleave "github.com/go-fed/activity/streams/impl/activitystreams/type_leave" + typelike "github.com/go-fed/activity/streams/impl/activitystreams/type_like" + typelink "github.com/go-fed/activity/streams/impl/activitystreams/type_link" + typelisten "github.com/go-fed/activity/streams/impl/activitystreams/type_listen" + typemention "github.com/go-fed/activity/streams/impl/activitystreams/type_mention" + typemove "github.com/go-fed/activity/streams/impl/activitystreams/type_move" + typenote "github.com/go-fed/activity/streams/impl/activitystreams/type_note" + typeobject "github.com/go-fed/activity/streams/impl/activitystreams/type_object" + typeoffer "github.com/go-fed/activity/streams/impl/activitystreams/type_offer" + typeorderedcollection "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection" + typeorderedcollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage" + typeorganization "github.com/go-fed/activity/streams/impl/activitystreams/type_organization" + typepage "github.com/go-fed/activity/streams/impl/activitystreams/type_page" + typeperson "github.com/go-fed/activity/streams/impl/activitystreams/type_person" + typeplace "github.com/go-fed/activity/streams/impl/activitystreams/type_place" + typeprofile "github.com/go-fed/activity/streams/impl/activitystreams/type_profile" + typequestion "github.com/go-fed/activity/streams/impl/activitystreams/type_question" + typeread "github.com/go-fed/activity/streams/impl/activitystreams/type_read" + typereject "github.com/go-fed/activity/streams/impl/activitystreams/type_reject" + typerelationship "github.com/go-fed/activity/streams/impl/activitystreams/type_relationship" + typeremove "github.com/go-fed/activity/streams/impl/activitystreams/type_remove" + typeservice "github.com/go-fed/activity/streams/impl/activitystreams/type_service" + typetentativeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept" + typetentativereject "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject" + typetombstone "github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone" + typetravel "github.com/go-fed/activity/streams/impl/activitystreams/type_travel" + typeundo "github.com/go-fed/activity/streams/impl/activitystreams/type_undo" + typeupdate "github.com/go-fed/activity/streams/impl/activitystreams/type_update" + typevideo "github.com/go-fed/activity/streams/impl/activitystreams/type_video" + typeview "github.com/go-fed/activity/streams/impl/activitystreams/type_view" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// ActivityStreamsActivityStreamsAcceptExtends returns true if Accept extends from +// the other's type. +func ActivityStreamsActivityStreamsAcceptExtends(other vocab.Type) bool { + return typeaccept.ActivityStreamsAcceptExtends(other) +} + +// ActivityStreamsActivityStreamsActivityExtends returns true if Activity extends +// from the other's type. +func ActivityStreamsActivityStreamsActivityExtends(other vocab.Type) bool { + return typeactivity.ActivityStreamsActivityExtends(other) +} + +// ActivityStreamsActivityStreamsAddExtends returns true if Add extends from the +// other's type. +func ActivityStreamsActivityStreamsAddExtends(other vocab.Type) bool { + return typeadd.ActivityStreamsAddExtends(other) +} + +// ActivityStreamsActivityStreamsAnnounceExtends returns true if Announce extends +// from the other's type. +func ActivityStreamsActivityStreamsAnnounceExtends(other vocab.Type) bool { + return typeannounce.ActivityStreamsAnnounceExtends(other) +} + +// ActivityStreamsActivityStreamsApplicationExtends returns true if Application +// extends from the other's type. +func ActivityStreamsActivityStreamsApplicationExtends(other vocab.Type) bool { + return typeapplication.ActivityStreamsApplicationExtends(other) +} + +// ActivityStreamsActivityStreamsArriveExtends returns true if Arrive extends from +// the other's type. +func ActivityStreamsActivityStreamsArriveExtends(other vocab.Type) bool { + return typearrive.ActivityStreamsArriveExtends(other) +} + +// ActivityStreamsActivityStreamsArticleExtends returns true if Article extends +// from the other's type. +func ActivityStreamsActivityStreamsArticleExtends(other vocab.Type) bool { + return typearticle.ActivityStreamsArticleExtends(other) +} + +// ActivityStreamsActivityStreamsAudioExtends returns true if Audio extends from +// the other's type. +func ActivityStreamsActivityStreamsAudioExtends(other vocab.Type) bool { + return typeaudio.ActivityStreamsAudioExtends(other) +} + +// ActivityStreamsActivityStreamsBlockExtends returns true if Block extends from +// the other's type. +func ActivityStreamsActivityStreamsBlockExtends(other vocab.Type) bool { + return typeblock.ActivityStreamsBlockExtends(other) +} + +// ActivityStreamsActivityStreamsCollectionExtends returns true if Collection +// extends from the other's type. +func ActivityStreamsActivityStreamsCollectionExtends(other vocab.Type) bool { + return typecollection.ActivityStreamsCollectionExtends(other) +} + +// ActivityStreamsActivityStreamsCollectionPageExtends returns true if +// CollectionPage extends from the other's type. +func ActivityStreamsActivityStreamsCollectionPageExtends(other vocab.Type) bool { + return typecollectionpage.ActivityStreamsCollectionPageExtends(other) +} + +// ActivityStreamsActivityStreamsCreateExtends returns true if Create extends from +// the other's type. +func ActivityStreamsActivityStreamsCreateExtends(other vocab.Type) bool { + return typecreate.ActivityStreamsCreateExtends(other) +} + +// ActivityStreamsActivityStreamsDeleteExtends returns true if Delete extends from +// the other's type. +func ActivityStreamsActivityStreamsDeleteExtends(other vocab.Type) bool { + return typedelete.ActivityStreamsDeleteExtends(other) +} + +// ActivityStreamsActivityStreamsDislikeExtends returns true if Dislike extends +// from the other's type. +func ActivityStreamsActivityStreamsDislikeExtends(other vocab.Type) bool { + return typedislike.ActivityStreamsDislikeExtends(other) +} + +// ActivityStreamsActivityStreamsDocumentExtends returns true if Document extends +// from the other's type. +func ActivityStreamsActivityStreamsDocumentExtends(other vocab.Type) bool { + return typedocument.ActivityStreamsDocumentExtends(other) +} + +// ActivityStreamsActivityStreamsEventExtends returns true if Event extends from +// the other's type. +func ActivityStreamsActivityStreamsEventExtends(other vocab.Type) bool { + return typeevent.ActivityStreamsEventExtends(other) +} + +// ActivityStreamsActivityStreamsFlagExtends returns true if Flag extends from the +// other's type. +func ActivityStreamsActivityStreamsFlagExtends(other vocab.Type) bool { + return typeflag.ActivityStreamsFlagExtends(other) +} + +// ActivityStreamsActivityStreamsFollowExtends returns true if Follow extends from +// the other's type. +func ActivityStreamsActivityStreamsFollowExtends(other vocab.Type) bool { + return typefollow.ActivityStreamsFollowExtends(other) +} + +// ActivityStreamsActivityStreamsGroupExtends returns true if Group extends from +// the other's type. +func ActivityStreamsActivityStreamsGroupExtends(other vocab.Type) bool { + return typegroup.ActivityStreamsGroupExtends(other) +} + +// ActivityStreamsActivityStreamsIgnoreExtends returns true if Ignore extends from +// the other's type. +func ActivityStreamsActivityStreamsIgnoreExtends(other vocab.Type) bool { + return typeignore.ActivityStreamsIgnoreExtends(other) +} + +// ActivityStreamsActivityStreamsImageExtends returns true if Image extends from +// the other's type. +func ActivityStreamsActivityStreamsImageExtends(other vocab.Type) bool { + return typeimage.ActivityStreamsImageExtends(other) +} + +// ActivityStreamsActivityStreamsIntransitiveActivityExtends returns true if +// IntransitiveActivity extends from the other's type. +func ActivityStreamsActivityStreamsIntransitiveActivityExtends(other vocab.Type) bool { + return typeintransitiveactivity.ActivityStreamsIntransitiveActivityExtends(other) +} + +// ActivityStreamsActivityStreamsInviteExtends returns true if Invite extends from +// the other's type. +func ActivityStreamsActivityStreamsInviteExtends(other vocab.Type) bool { + return typeinvite.ActivityStreamsInviteExtends(other) +} + +// ActivityStreamsActivityStreamsJoinExtends returns true if Join extends from the +// other's type. +func ActivityStreamsActivityStreamsJoinExtends(other vocab.Type) bool { + return typejoin.ActivityStreamsJoinExtends(other) +} + +// ActivityStreamsActivityStreamsLeaveExtends returns true if Leave extends from +// the other's type. +func ActivityStreamsActivityStreamsLeaveExtends(other vocab.Type) bool { + return typeleave.ActivityStreamsLeaveExtends(other) +} + +// ActivityStreamsActivityStreamsLikeExtends returns true if Like extends from the +// other's type. +func ActivityStreamsActivityStreamsLikeExtends(other vocab.Type) bool { + return typelike.ActivityStreamsLikeExtends(other) +} + +// ActivityStreamsActivityStreamsLinkExtends returns true if Link extends from the +// other's type. +func ActivityStreamsActivityStreamsLinkExtends(other vocab.Type) bool { + return typelink.ActivityStreamsLinkExtends(other) +} + +// ActivityStreamsActivityStreamsListenExtends returns true if Listen extends from +// the other's type. +func ActivityStreamsActivityStreamsListenExtends(other vocab.Type) bool { + return typelisten.ActivityStreamsListenExtends(other) +} + +// ActivityStreamsActivityStreamsMentionExtends returns true if Mention extends +// from the other's type. +func ActivityStreamsActivityStreamsMentionExtends(other vocab.Type) bool { + return typemention.ActivityStreamsMentionExtends(other) +} + +// ActivityStreamsActivityStreamsMoveExtends returns true if Move extends from the +// other's type. +func ActivityStreamsActivityStreamsMoveExtends(other vocab.Type) bool { + return typemove.ActivityStreamsMoveExtends(other) +} + +// ActivityStreamsActivityStreamsNoteExtends returns true if Note extends from the +// other's type. +func ActivityStreamsActivityStreamsNoteExtends(other vocab.Type) bool { + return typenote.ActivityStreamsNoteExtends(other) +} + +// ActivityStreamsActivityStreamsObjectExtends returns true if Object extends from +// the other's type. +func ActivityStreamsActivityStreamsObjectExtends(other vocab.Type) bool { + return typeobject.ActivityStreamsObjectExtends(other) +} + +// ActivityStreamsActivityStreamsOfferExtends returns true if Offer extends from +// the other's type. +func ActivityStreamsActivityStreamsOfferExtends(other vocab.Type) bool { + return typeoffer.ActivityStreamsOfferExtends(other) +} + +// ActivityStreamsActivityStreamsOrderedCollectionExtends returns true if +// OrderedCollection extends from the other's type. +func ActivityStreamsActivityStreamsOrderedCollectionExtends(other vocab.Type) bool { + return typeorderedcollection.ActivityStreamsOrderedCollectionExtends(other) +} + +// ActivityStreamsActivityStreamsOrderedCollectionPageExtends returns true if +// OrderedCollectionPage extends from the other's type. +func ActivityStreamsActivityStreamsOrderedCollectionPageExtends(other vocab.Type) bool { + return typeorderedcollectionpage.ActivityStreamsOrderedCollectionPageExtends(other) +} + +// ActivityStreamsActivityStreamsOrganizationExtends returns true if Organization +// extends from the other's type. +func ActivityStreamsActivityStreamsOrganizationExtends(other vocab.Type) bool { + return typeorganization.ActivityStreamsOrganizationExtends(other) +} + +// ActivityStreamsActivityStreamsPageExtends returns true if Page extends from the +// other's type. +func ActivityStreamsActivityStreamsPageExtends(other vocab.Type) bool { + return typepage.ActivityStreamsPageExtends(other) +} + +// ActivityStreamsActivityStreamsPersonExtends returns true if Person extends from +// the other's type. +func ActivityStreamsActivityStreamsPersonExtends(other vocab.Type) bool { + return typeperson.ActivityStreamsPersonExtends(other) +} + +// ActivityStreamsActivityStreamsPlaceExtends returns true if Place extends from +// the other's type. +func ActivityStreamsActivityStreamsPlaceExtends(other vocab.Type) bool { + return typeplace.ActivityStreamsPlaceExtends(other) +} + +// ActivityStreamsActivityStreamsProfileExtends returns true if Profile extends +// from the other's type. +func ActivityStreamsActivityStreamsProfileExtends(other vocab.Type) bool { + return typeprofile.ActivityStreamsProfileExtends(other) +} + +// ActivityStreamsActivityStreamsQuestionExtends returns true if Question extends +// from the other's type. +func ActivityStreamsActivityStreamsQuestionExtends(other vocab.Type) bool { + return typequestion.ActivityStreamsQuestionExtends(other) +} + +// ActivityStreamsActivityStreamsReadExtends returns true if Read extends from the +// other's type. +func ActivityStreamsActivityStreamsReadExtends(other vocab.Type) bool { + return typeread.ActivityStreamsReadExtends(other) +} + +// ActivityStreamsActivityStreamsRejectExtends returns true if Reject extends from +// the other's type. +func ActivityStreamsActivityStreamsRejectExtends(other vocab.Type) bool { + return typereject.ActivityStreamsRejectExtends(other) +} + +// ActivityStreamsActivityStreamsRelationshipExtends returns true if Relationship +// extends from the other's type. +func ActivityStreamsActivityStreamsRelationshipExtends(other vocab.Type) bool { + return typerelationship.ActivityStreamsRelationshipExtends(other) +} + +// ActivityStreamsActivityStreamsRemoveExtends returns true if Remove extends from +// the other's type. +func ActivityStreamsActivityStreamsRemoveExtends(other vocab.Type) bool { + return typeremove.ActivityStreamsRemoveExtends(other) +} + +// ActivityStreamsActivityStreamsServiceExtends returns true if Service extends +// from the other's type. +func ActivityStreamsActivityStreamsServiceExtends(other vocab.Type) bool { + return typeservice.ActivityStreamsServiceExtends(other) +} + +// ActivityStreamsActivityStreamsTentativeAcceptExtends returns true if +// TentativeAccept extends from the other's type. +func ActivityStreamsActivityStreamsTentativeAcceptExtends(other vocab.Type) bool { + return typetentativeaccept.ActivityStreamsTentativeAcceptExtends(other) +} + +// ActivityStreamsActivityStreamsTentativeRejectExtends returns true if +// TentativeReject extends from the other's type. +func ActivityStreamsActivityStreamsTentativeRejectExtends(other vocab.Type) bool { + return typetentativereject.ActivityStreamsTentativeRejectExtends(other) +} + +// ActivityStreamsActivityStreamsTombstoneExtends returns true if Tombstone +// extends from the other's type. +func ActivityStreamsActivityStreamsTombstoneExtends(other vocab.Type) bool { + return typetombstone.ActivityStreamsTombstoneExtends(other) +} + +// ActivityStreamsActivityStreamsTravelExtends returns true if Travel extends from +// the other's type. +func ActivityStreamsActivityStreamsTravelExtends(other vocab.Type) bool { + return typetravel.ActivityStreamsTravelExtends(other) +} + +// ActivityStreamsActivityStreamsUndoExtends returns true if Undo extends from the +// other's type. +func ActivityStreamsActivityStreamsUndoExtends(other vocab.Type) bool { + return typeundo.ActivityStreamsUndoExtends(other) +} + +// ActivityStreamsActivityStreamsUpdateExtends returns true if Update extends from +// the other's type. +func ActivityStreamsActivityStreamsUpdateExtends(other vocab.Type) bool { + return typeupdate.ActivityStreamsUpdateExtends(other) +} + +// ActivityStreamsActivityStreamsVideoExtends returns true if Video extends from +// the other's type. +func ActivityStreamsActivityStreamsVideoExtends(other vocab.Type) bool { + return typevideo.ActivityStreamsVideoExtends(other) +} + +// ActivityStreamsActivityStreamsViewExtends returns true if View extends from the +// other's type. +func ActivityStreamsActivityStreamsViewExtends(other vocab.Type) bool { + return typeview.ActivityStreamsViewExtends(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_isorextends.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_isorextends.go new file mode 100644 index 000000000..f748c26e6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_isorextends.go @@ -0,0 +1,388 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_accept" + typeactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_activity" + typeadd "github.com/go-fed/activity/streams/impl/activitystreams/type_add" + typeannounce "github.com/go-fed/activity/streams/impl/activitystreams/type_announce" + typeapplication "github.com/go-fed/activity/streams/impl/activitystreams/type_application" + typearrive "github.com/go-fed/activity/streams/impl/activitystreams/type_arrive" + typearticle "github.com/go-fed/activity/streams/impl/activitystreams/type_article" + typeaudio "github.com/go-fed/activity/streams/impl/activitystreams/type_audio" + typeblock "github.com/go-fed/activity/streams/impl/activitystreams/type_block" + typecollection "github.com/go-fed/activity/streams/impl/activitystreams/type_collection" + typecollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage" + typecreate "github.com/go-fed/activity/streams/impl/activitystreams/type_create" + typedelete "github.com/go-fed/activity/streams/impl/activitystreams/type_delete" + typedislike "github.com/go-fed/activity/streams/impl/activitystreams/type_dislike" + typedocument "github.com/go-fed/activity/streams/impl/activitystreams/type_document" + typeevent "github.com/go-fed/activity/streams/impl/activitystreams/type_event" + typeflag "github.com/go-fed/activity/streams/impl/activitystreams/type_flag" + typefollow "github.com/go-fed/activity/streams/impl/activitystreams/type_follow" + typegroup "github.com/go-fed/activity/streams/impl/activitystreams/type_group" + typeignore "github.com/go-fed/activity/streams/impl/activitystreams/type_ignore" + typeimage "github.com/go-fed/activity/streams/impl/activitystreams/type_image" + typeintransitiveactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity" + typeinvite "github.com/go-fed/activity/streams/impl/activitystreams/type_invite" + typejoin "github.com/go-fed/activity/streams/impl/activitystreams/type_join" + typeleave "github.com/go-fed/activity/streams/impl/activitystreams/type_leave" + typelike "github.com/go-fed/activity/streams/impl/activitystreams/type_like" + typelink "github.com/go-fed/activity/streams/impl/activitystreams/type_link" + typelisten "github.com/go-fed/activity/streams/impl/activitystreams/type_listen" + typemention "github.com/go-fed/activity/streams/impl/activitystreams/type_mention" + typemove "github.com/go-fed/activity/streams/impl/activitystreams/type_move" + typenote "github.com/go-fed/activity/streams/impl/activitystreams/type_note" + typeobject "github.com/go-fed/activity/streams/impl/activitystreams/type_object" + typeoffer "github.com/go-fed/activity/streams/impl/activitystreams/type_offer" + typeorderedcollection "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection" + typeorderedcollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage" + typeorganization "github.com/go-fed/activity/streams/impl/activitystreams/type_organization" + typepage "github.com/go-fed/activity/streams/impl/activitystreams/type_page" + typeperson "github.com/go-fed/activity/streams/impl/activitystreams/type_person" + typeplace "github.com/go-fed/activity/streams/impl/activitystreams/type_place" + typeprofile "github.com/go-fed/activity/streams/impl/activitystreams/type_profile" + typequestion "github.com/go-fed/activity/streams/impl/activitystreams/type_question" + typeread "github.com/go-fed/activity/streams/impl/activitystreams/type_read" + typereject "github.com/go-fed/activity/streams/impl/activitystreams/type_reject" + typerelationship "github.com/go-fed/activity/streams/impl/activitystreams/type_relationship" + typeremove "github.com/go-fed/activity/streams/impl/activitystreams/type_remove" + typeservice "github.com/go-fed/activity/streams/impl/activitystreams/type_service" + typetentativeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept" + typetentativereject "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject" + typetombstone "github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone" + typetravel "github.com/go-fed/activity/streams/impl/activitystreams/type_travel" + typeundo "github.com/go-fed/activity/streams/impl/activitystreams/type_undo" + typeupdate "github.com/go-fed/activity/streams/impl/activitystreams/type_update" + typevideo "github.com/go-fed/activity/streams/impl/activitystreams/type_video" + typeview "github.com/go-fed/activity/streams/impl/activitystreams/type_view" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// IsOrExtendsActivityStreamsAccept returns true if the other provided type is the +// Accept type or extends from the Accept type. +func IsOrExtendsActivityStreamsAccept(other vocab.Type) bool { + return typeaccept.IsOrExtendsAccept(other) +} + +// IsOrExtendsActivityStreamsActivity returns true if the other provided type is +// the Activity type or extends from the Activity type. +func IsOrExtendsActivityStreamsActivity(other vocab.Type) bool { + return typeactivity.IsOrExtendsActivity(other) +} + +// IsOrExtendsActivityStreamsAdd returns true if the other provided type is the +// Add type or extends from the Add type. +func IsOrExtendsActivityStreamsAdd(other vocab.Type) bool { + return typeadd.IsOrExtendsAdd(other) +} + +// IsOrExtendsActivityStreamsAnnounce returns true if the other provided type is +// the Announce type or extends from the Announce type. +func IsOrExtendsActivityStreamsAnnounce(other vocab.Type) bool { + return typeannounce.IsOrExtendsAnnounce(other) +} + +// IsOrExtendsActivityStreamsApplication returns true if the other provided type +// is the Application type or extends from the Application type. +func IsOrExtendsActivityStreamsApplication(other vocab.Type) bool { + return typeapplication.IsOrExtendsApplication(other) +} + +// IsOrExtendsActivityStreamsArrive returns true if the other provided type is the +// Arrive type or extends from the Arrive type. +func IsOrExtendsActivityStreamsArrive(other vocab.Type) bool { + return typearrive.IsOrExtendsArrive(other) +} + +// IsOrExtendsActivityStreamsArticle returns true if the other provided type is +// the Article type or extends from the Article type. +func IsOrExtendsActivityStreamsArticle(other vocab.Type) bool { + return typearticle.IsOrExtendsArticle(other) +} + +// IsOrExtendsActivityStreamsAudio returns true if the other provided type is the +// Audio type or extends from the Audio type. +func IsOrExtendsActivityStreamsAudio(other vocab.Type) bool { + return typeaudio.IsOrExtendsAudio(other) +} + +// IsOrExtendsActivityStreamsBlock returns true if the other provided type is the +// Block type or extends from the Block type. +func IsOrExtendsActivityStreamsBlock(other vocab.Type) bool { + return typeblock.IsOrExtendsBlock(other) +} + +// IsOrExtendsActivityStreamsCollection returns true if the other provided type is +// the Collection type or extends from the Collection type. +func IsOrExtendsActivityStreamsCollection(other vocab.Type) bool { + return typecollection.IsOrExtendsCollection(other) +} + +// IsOrExtendsActivityStreamsCollectionPage returns true if the other provided +// type is the CollectionPage type or extends from the CollectionPage type. +func IsOrExtendsActivityStreamsCollectionPage(other vocab.Type) bool { + return typecollectionpage.IsOrExtendsCollectionPage(other) +} + +// IsOrExtendsActivityStreamsCreate returns true if the other provided type is the +// Create type or extends from the Create type. +func IsOrExtendsActivityStreamsCreate(other vocab.Type) bool { + return typecreate.IsOrExtendsCreate(other) +} + +// IsOrExtendsActivityStreamsDelete returns true if the other provided type is the +// Delete type or extends from the Delete type. +func IsOrExtendsActivityStreamsDelete(other vocab.Type) bool { + return typedelete.IsOrExtendsDelete(other) +} + +// IsOrExtendsActivityStreamsDislike returns true if the other provided type is +// the Dislike type or extends from the Dislike type. +func IsOrExtendsActivityStreamsDislike(other vocab.Type) bool { + return typedislike.IsOrExtendsDislike(other) +} + +// IsOrExtendsActivityStreamsDocument returns true if the other provided type is +// the Document type or extends from the Document type. +func IsOrExtendsActivityStreamsDocument(other vocab.Type) bool { + return typedocument.IsOrExtendsDocument(other) +} + +// IsOrExtendsActivityStreamsEvent returns true if the other provided type is the +// Event type or extends from the Event type. +func IsOrExtendsActivityStreamsEvent(other vocab.Type) bool { + return typeevent.IsOrExtendsEvent(other) +} + +// IsOrExtendsActivityStreamsFlag returns true if the other provided type is the +// Flag type or extends from the Flag type. +func IsOrExtendsActivityStreamsFlag(other vocab.Type) bool { + return typeflag.IsOrExtendsFlag(other) +} + +// IsOrExtendsActivityStreamsFollow returns true if the other provided type is the +// Follow type or extends from the Follow type. +func IsOrExtendsActivityStreamsFollow(other vocab.Type) bool { + return typefollow.IsOrExtendsFollow(other) +} + +// IsOrExtendsActivityStreamsGroup returns true if the other provided type is the +// Group type or extends from the Group type. +func IsOrExtendsActivityStreamsGroup(other vocab.Type) bool { + return typegroup.IsOrExtendsGroup(other) +} + +// IsOrExtendsActivityStreamsIgnore returns true if the other provided type is the +// Ignore type or extends from the Ignore type. +func IsOrExtendsActivityStreamsIgnore(other vocab.Type) bool { + return typeignore.IsOrExtendsIgnore(other) +} + +// IsOrExtendsActivityStreamsImage returns true if the other provided type is the +// Image type or extends from the Image type. +func IsOrExtendsActivityStreamsImage(other vocab.Type) bool { + return typeimage.IsOrExtendsImage(other) +} + +// IsOrExtendsActivityStreamsIntransitiveActivity returns true if the other +// provided type is the IntransitiveActivity type or extends from the +// IntransitiveActivity type. +func IsOrExtendsActivityStreamsIntransitiveActivity(other vocab.Type) bool { + return typeintransitiveactivity.IsOrExtendsIntransitiveActivity(other) +} + +// IsOrExtendsActivityStreamsInvite returns true if the other provided type is the +// Invite type or extends from the Invite type. +func IsOrExtendsActivityStreamsInvite(other vocab.Type) bool { + return typeinvite.IsOrExtendsInvite(other) +} + +// IsOrExtendsActivityStreamsJoin returns true if the other provided type is the +// Join type or extends from the Join type. +func IsOrExtendsActivityStreamsJoin(other vocab.Type) bool { + return typejoin.IsOrExtendsJoin(other) +} + +// IsOrExtendsActivityStreamsLeave returns true if the other provided type is the +// Leave type or extends from the Leave type. +func IsOrExtendsActivityStreamsLeave(other vocab.Type) bool { + return typeleave.IsOrExtendsLeave(other) +} + +// IsOrExtendsActivityStreamsLike returns true if the other provided type is the +// Like type or extends from the Like type. +func IsOrExtendsActivityStreamsLike(other vocab.Type) bool { + return typelike.IsOrExtendsLike(other) +} + +// IsOrExtendsActivityStreamsLink returns true if the other provided type is the +// Link type or extends from the Link type. +func IsOrExtendsActivityStreamsLink(other vocab.Type) bool { + return typelink.IsOrExtendsLink(other) +} + +// IsOrExtendsActivityStreamsListen returns true if the other provided type is the +// Listen type or extends from the Listen type. +func IsOrExtendsActivityStreamsListen(other vocab.Type) bool { + return typelisten.IsOrExtendsListen(other) +} + +// IsOrExtendsActivityStreamsMention returns true if the other provided type is +// the Mention type or extends from the Mention type. +func IsOrExtendsActivityStreamsMention(other vocab.Type) bool { + return typemention.IsOrExtendsMention(other) +} + +// IsOrExtendsActivityStreamsMove returns true if the other provided type is the +// Move type or extends from the Move type. +func IsOrExtendsActivityStreamsMove(other vocab.Type) bool { + return typemove.IsOrExtendsMove(other) +} + +// IsOrExtendsActivityStreamsNote returns true if the other provided type is the +// Note type or extends from the Note type. +func IsOrExtendsActivityStreamsNote(other vocab.Type) bool { + return typenote.IsOrExtendsNote(other) +} + +// IsOrExtendsActivityStreamsObject returns true if the other provided type is the +// Object type or extends from the Object type. +func IsOrExtendsActivityStreamsObject(other vocab.Type) bool { + return typeobject.IsOrExtendsObject(other) +} + +// IsOrExtendsActivityStreamsOffer returns true if the other provided type is the +// Offer type or extends from the Offer type. +func IsOrExtendsActivityStreamsOffer(other vocab.Type) bool { + return typeoffer.IsOrExtendsOffer(other) +} + +// IsOrExtendsActivityStreamsOrderedCollection returns true if the other provided +// type is the OrderedCollection type or extends from the OrderedCollection +// type. +func IsOrExtendsActivityStreamsOrderedCollection(other vocab.Type) bool { + return typeorderedcollection.IsOrExtendsOrderedCollection(other) +} + +// IsOrExtendsActivityStreamsOrderedCollectionPage returns true if the other +// provided type is the OrderedCollectionPage type or extends from the +// OrderedCollectionPage type. +func IsOrExtendsActivityStreamsOrderedCollectionPage(other vocab.Type) bool { + return typeorderedcollectionpage.IsOrExtendsOrderedCollectionPage(other) +} + +// IsOrExtendsActivityStreamsOrganization returns true if the other provided type +// is the Organization type or extends from the Organization type. +func IsOrExtendsActivityStreamsOrganization(other vocab.Type) bool { + return typeorganization.IsOrExtendsOrganization(other) +} + +// IsOrExtendsActivityStreamsPage returns true if the other provided type is the +// Page type or extends from the Page type. +func IsOrExtendsActivityStreamsPage(other vocab.Type) bool { + return typepage.IsOrExtendsPage(other) +} + +// IsOrExtendsActivityStreamsPerson returns true if the other provided type is the +// Person type or extends from the Person type. +func IsOrExtendsActivityStreamsPerson(other vocab.Type) bool { + return typeperson.IsOrExtendsPerson(other) +} + +// IsOrExtendsActivityStreamsPlace returns true if the other provided type is the +// Place type or extends from the Place type. +func IsOrExtendsActivityStreamsPlace(other vocab.Type) bool { + return typeplace.IsOrExtendsPlace(other) +} + +// IsOrExtendsActivityStreamsProfile returns true if the other provided type is +// the Profile type or extends from the Profile type. +func IsOrExtendsActivityStreamsProfile(other vocab.Type) bool { + return typeprofile.IsOrExtendsProfile(other) +} + +// IsOrExtendsActivityStreamsQuestion returns true if the other provided type is +// the Question type or extends from the Question type. +func IsOrExtendsActivityStreamsQuestion(other vocab.Type) bool { + return typequestion.IsOrExtendsQuestion(other) +} + +// IsOrExtendsActivityStreamsRead returns true if the other provided type is the +// Read type or extends from the Read type. +func IsOrExtendsActivityStreamsRead(other vocab.Type) bool { + return typeread.IsOrExtendsRead(other) +} + +// IsOrExtendsActivityStreamsReject returns true if the other provided type is the +// Reject type or extends from the Reject type. +func IsOrExtendsActivityStreamsReject(other vocab.Type) bool { + return typereject.IsOrExtendsReject(other) +} + +// IsOrExtendsActivityStreamsRelationship returns true if the other provided type +// is the Relationship type or extends from the Relationship type. +func IsOrExtendsActivityStreamsRelationship(other vocab.Type) bool { + return typerelationship.IsOrExtendsRelationship(other) +} + +// IsOrExtendsActivityStreamsRemove returns true if the other provided type is the +// Remove type or extends from the Remove type. +func IsOrExtendsActivityStreamsRemove(other vocab.Type) bool { + return typeremove.IsOrExtendsRemove(other) +} + +// IsOrExtendsActivityStreamsService returns true if the other provided type is +// the Service type or extends from the Service type. +func IsOrExtendsActivityStreamsService(other vocab.Type) bool { + return typeservice.IsOrExtendsService(other) +} + +// IsOrExtendsActivityStreamsTentativeAccept returns true if the other provided +// type is the TentativeAccept type or extends from the TentativeAccept type. +func IsOrExtendsActivityStreamsTentativeAccept(other vocab.Type) bool { + return typetentativeaccept.IsOrExtendsTentativeAccept(other) +} + +// IsOrExtendsActivityStreamsTentativeReject returns true if the other provided +// type is the TentativeReject type or extends from the TentativeReject type. +func IsOrExtendsActivityStreamsTentativeReject(other vocab.Type) bool { + return typetentativereject.IsOrExtendsTentativeReject(other) +} + +// IsOrExtendsActivityStreamsTombstone returns true if the other provided type is +// the Tombstone type or extends from the Tombstone type. +func IsOrExtendsActivityStreamsTombstone(other vocab.Type) bool { + return typetombstone.IsOrExtendsTombstone(other) +} + +// IsOrExtendsActivityStreamsTravel returns true if the other provided type is the +// Travel type or extends from the Travel type. +func IsOrExtendsActivityStreamsTravel(other vocab.Type) bool { + return typetravel.IsOrExtendsTravel(other) +} + +// IsOrExtendsActivityStreamsUndo returns true if the other provided type is the +// Undo type or extends from the Undo type. +func IsOrExtendsActivityStreamsUndo(other vocab.Type) bool { + return typeundo.IsOrExtendsUndo(other) +} + +// IsOrExtendsActivityStreamsUpdate returns true if the other provided type is the +// Update type or extends from the Update type. +func IsOrExtendsActivityStreamsUpdate(other vocab.Type) bool { + return typeupdate.IsOrExtendsUpdate(other) +} + +// IsOrExtendsActivityStreamsVideo returns true if the other provided type is the +// Video type or extends from the Video type. +func IsOrExtendsActivityStreamsVideo(other vocab.Type) bool { + return typevideo.IsOrExtendsVideo(other) +} + +// IsOrExtendsActivityStreamsView returns true if the other provided type is the +// View type or extends from the View type. +func IsOrExtendsActivityStreamsView(other vocab.Type) bool { + return typeview.IsOrExtendsView(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_property_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_property_constructors.go new file mode 100644 index 000000000..5e6951c41 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_property_constructors.go @@ -0,0 +1,504 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + propertyaccuracy "github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy" + propertyactor "github.com/go-fed/activity/streams/impl/activitystreams/property_actor" + propertyaltitude "github.com/go-fed/activity/streams/impl/activitystreams/property_altitude" + propertyanyof "github.com/go-fed/activity/streams/impl/activitystreams/property_anyof" + propertyattachment "github.com/go-fed/activity/streams/impl/activitystreams/property_attachment" + propertyattributedto "github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto" + propertyaudience "github.com/go-fed/activity/streams/impl/activitystreams/property_audience" + propertybcc "github.com/go-fed/activity/streams/impl/activitystreams/property_bcc" + propertybto "github.com/go-fed/activity/streams/impl/activitystreams/property_bto" + propertycc "github.com/go-fed/activity/streams/impl/activitystreams/property_cc" + propertyclosed "github.com/go-fed/activity/streams/impl/activitystreams/property_closed" + propertycontent "github.com/go-fed/activity/streams/impl/activitystreams/property_content" + propertycontext "github.com/go-fed/activity/streams/impl/activitystreams/property_context" + propertycurrent "github.com/go-fed/activity/streams/impl/activitystreams/property_current" + propertydeleted "github.com/go-fed/activity/streams/impl/activitystreams/property_deleted" + propertydescribes "github.com/go-fed/activity/streams/impl/activitystreams/property_describes" + propertyduration "github.com/go-fed/activity/streams/impl/activitystreams/property_duration" + propertyendtime "github.com/go-fed/activity/streams/impl/activitystreams/property_endtime" + propertyfirst "github.com/go-fed/activity/streams/impl/activitystreams/property_first" + propertyfollowers "github.com/go-fed/activity/streams/impl/activitystreams/property_followers" + propertyfollowing "github.com/go-fed/activity/streams/impl/activitystreams/property_following" + propertyformertype "github.com/go-fed/activity/streams/impl/activitystreams/property_formertype" + propertygenerator "github.com/go-fed/activity/streams/impl/activitystreams/property_generator" + propertyheight "github.com/go-fed/activity/streams/impl/activitystreams/property_height" + propertyhref "github.com/go-fed/activity/streams/impl/activitystreams/property_href" + propertyhreflang "github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang" + propertyicon "github.com/go-fed/activity/streams/impl/activitystreams/property_icon" + propertyimage "github.com/go-fed/activity/streams/impl/activitystreams/property_image" + propertyinbox "github.com/go-fed/activity/streams/impl/activitystreams/property_inbox" + propertyinreplyto "github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto" + propertyinstrument "github.com/go-fed/activity/streams/impl/activitystreams/property_instrument" + propertyitems "github.com/go-fed/activity/streams/impl/activitystreams/property_items" + propertylast "github.com/go-fed/activity/streams/impl/activitystreams/property_last" + propertylatitude "github.com/go-fed/activity/streams/impl/activitystreams/property_latitude" + propertyliked "github.com/go-fed/activity/streams/impl/activitystreams/property_liked" + propertylikes "github.com/go-fed/activity/streams/impl/activitystreams/property_likes" + propertylocation "github.com/go-fed/activity/streams/impl/activitystreams/property_location" + propertylongitude "github.com/go-fed/activity/streams/impl/activitystreams/property_longitude" + propertymediatype "github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype" + propertyname "github.com/go-fed/activity/streams/impl/activitystreams/property_name" + propertynext "github.com/go-fed/activity/streams/impl/activitystreams/property_next" + propertyobject "github.com/go-fed/activity/streams/impl/activitystreams/property_object" + propertyoneof "github.com/go-fed/activity/streams/impl/activitystreams/property_oneof" + propertyordereditems "github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems" + propertyorigin "github.com/go-fed/activity/streams/impl/activitystreams/property_origin" + propertyoutbox "github.com/go-fed/activity/streams/impl/activitystreams/property_outbox" + propertypartof "github.com/go-fed/activity/streams/impl/activitystreams/property_partof" + propertypreferredusername "github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername" + propertyprev "github.com/go-fed/activity/streams/impl/activitystreams/property_prev" + propertypreview "github.com/go-fed/activity/streams/impl/activitystreams/property_preview" + propertypublished "github.com/go-fed/activity/streams/impl/activitystreams/property_published" + propertyradius "github.com/go-fed/activity/streams/impl/activitystreams/property_radius" + propertyrel "github.com/go-fed/activity/streams/impl/activitystreams/property_rel" + propertyrelationship "github.com/go-fed/activity/streams/impl/activitystreams/property_relationship" + propertyreplies "github.com/go-fed/activity/streams/impl/activitystreams/property_replies" + propertyresult "github.com/go-fed/activity/streams/impl/activitystreams/property_result" + propertyshares "github.com/go-fed/activity/streams/impl/activitystreams/property_shares" + propertysource "github.com/go-fed/activity/streams/impl/activitystreams/property_source" + propertystartindex "github.com/go-fed/activity/streams/impl/activitystreams/property_startindex" + propertystarttime "github.com/go-fed/activity/streams/impl/activitystreams/property_starttime" + propertystreams "github.com/go-fed/activity/streams/impl/activitystreams/property_streams" + propertysubject "github.com/go-fed/activity/streams/impl/activitystreams/property_subject" + propertysummary "github.com/go-fed/activity/streams/impl/activitystreams/property_summary" + propertytag "github.com/go-fed/activity/streams/impl/activitystreams/property_tag" + propertytarget "github.com/go-fed/activity/streams/impl/activitystreams/property_target" + propertyto "github.com/go-fed/activity/streams/impl/activitystreams/property_to" + propertytotalitems "github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems" + propertyunits "github.com/go-fed/activity/streams/impl/activitystreams/property_units" + propertyupdated "github.com/go-fed/activity/streams/impl/activitystreams/property_updated" + propertyurl "github.com/go-fed/activity/streams/impl/activitystreams/property_url" + propertywidth "github.com/go-fed/activity/streams/impl/activitystreams/property_width" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewActivityStreamsActivityStreamsAccuracyProperty creates a new +// ActivityStreamsAccuracyProperty +func NewActivityStreamsAccuracyProperty() vocab.ActivityStreamsAccuracyProperty { + return propertyaccuracy.NewActivityStreamsAccuracyProperty() +} + +// NewActivityStreamsActivityStreamsActorProperty creates a new +// ActivityStreamsActorProperty +func NewActivityStreamsActorProperty() vocab.ActivityStreamsActorProperty { + return propertyactor.NewActivityStreamsActorProperty() +} + +// NewActivityStreamsActivityStreamsAltitudeProperty creates a new +// ActivityStreamsAltitudeProperty +func NewActivityStreamsAltitudeProperty() vocab.ActivityStreamsAltitudeProperty { + return propertyaltitude.NewActivityStreamsAltitudeProperty() +} + +// NewActivityStreamsActivityStreamsAnyOfProperty creates a new +// ActivityStreamsAnyOfProperty +func NewActivityStreamsAnyOfProperty() vocab.ActivityStreamsAnyOfProperty { + return propertyanyof.NewActivityStreamsAnyOfProperty() +} + +// NewActivityStreamsActivityStreamsAttachmentProperty creates a new +// ActivityStreamsAttachmentProperty +func NewActivityStreamsAttachmentProperty() vocab.ActivityStreamsAttachmentProperty { + return propertyattachment.NewActivityStreamsAttachmentProperty() +} + +// NewActivityStreamsActivityStreamsAttributedToProperty creates a new +// ActivityStreamsAttributedToProperty +func NewActivityStreamsAttributedToProperty() vocab.ActivityStreamsAttributedToProperty { + return propertyattributedto.NewActivityStreamsAttributedToProperty() +} + +// NewActivityStreamsActivityStreamsAudienceProperty creates a new +// ActivityStreamsAudienceProperty +func NewActivityStreamsAudienceProperty() vocab.ActivityStreamsAudienceProperty { + return propertyaudience.NewActivityStreamsAudienceProperty() +} + +// NewActivityStreamsActivityStreamsBccProperty creates a new +// ActivityStreamsBccProperty +func NewActivityStreamsBccProperty() vocab.ActivityStreamsBccProperty { + return propertybcc.NewActivityStreamsBccProperty() +} + +// NewActivityStreamsActivityStreamsBtoProperty creates a new +// ActivityStreamsBtoProperty +func NewActivityStreamsBtoProperty() vocab.ActivityStreamsBtoProperty { + return propertybto.NewActivityStreamsBtoProperty() +} + +// NewActivityStreamsActivityStreamsCcProperty creates a new +// ActivityStreamsCcProperty +func NewActivityStreamsCcProperty() vocab.ActivityStreamsCcProperty { + return propertycc.NewActivityStreamsCcProperty() +} + +// NewActivityStreamsActivityStreamsClosedProperty creates a new +// ActivityStreamsClosedProperty +func NewActivityStreamsClosedProperty() vocab.ActivityStreamsClosedProperty { + return propertyclosed.NewActivityStreamsClosedProperty() +} + +// NewActivityStreamsActivityStreamsContentProperty creates a new +// ActivityStreamsContentProperty +func NewActivityStreamsContentProperty() vocab.ActivityStreamsContentProperty { + return propertycontent.NewActivityStreamsContentProperty() +} + +// NewActivityStreamsActivityStreamsContextProperty creates a new +// ActivityStreamsContextProperty +func NewActivityStreamsContextProperty() vocab.ActivityStreamsContextProperty { + return propertycontext.NewActivityStreamsContextProperty() +} + +// NewActivityStreamsActivityStreamsCurrentProperty creates a new +// ActivityStreamsCurrentProperty +func NewActivityStreamsCurrentProperty() vocab.ActivityStreamsCurrentProperty { + return propertycurrent.NewActivityStreamsCurrentProperty() +} + +// NewActivityStreamsActivityStreamsDeletedProperty creates a new +// ActivityStreamsDeletedProperty +func NewActivityStreamsDeletedProperty() vocab.ActivityStreamsDeletedProperty { + return propertydeleted.NewActivityStreamsDeletedProperty() +} + +// NewActivityStreamsActivityStreamsDescribesProperty creates a new +// ActivityStreamsDescribesProperty +func NewActivityStreamsDescribesProperty() vocab.ActivityStreamsDescribesProperty { + return propertydescribes.NewActivityStreamsDescribesProperty() +} + +// NewActivityStreamsActivityStreamsDurationProperty creates a new +// ActivityStreamsDurationProperty +func NewActivityStreamsDurationProperty() vocab.ActivityStreamsDurationProperty { + return propertyduration.NewActivityStreamsDurationProperty() +} + +// NewActivityStreamsActivityStreamsEndTimeProperty creates a new +// ActivityStreamsEndTimeProperty +func NewActivityStreamsEndTimeProperty() vocab.ActivityStreamsEndTimeProperty { + return propertyendtime.NewActivityStreamsEndTimeProperty() +} + +// NewActivityStreamsActivityStreamsFirstProperty creates a new +// ActivityStreamsFirstProperty +func NewActivityStreamsFirstProperty() vocab.ActivityStreamsFirstProperty { + return propertyfirst.NewActivityStreamsFirstProperty() +} + +// NewActivityStreamsActivityStreamsFollowersProperty creates a new +// ActivityStreamsFollowersProperty +func NewActivityStreamsFollowersProperty() vocab.ActivityStreamsFollowersProperty { + return propertyfollowers.NewActivityStreamsFollowersProperty() +} + +// NewActivityStreamsActivityStreamsFollowingProperty creates a new +// ActivityStreamsFollowingProperty +func NewActivityStreamsFollowingProperty() vocab.ActivityStreamsFollowingProperty { + return propertyfollowing.NewActivityStreamsFollowingProperty() +} + +// NewActivityStreamsActivityStreamsFormerTypeProperty creates a new +// ActivityStreamsFormerTypeProperty +func NewActivityStreamsFormerTypeProperty() vocab.ActivityStreamsFormerTypeProperty { + return propertyformertype.NewActivityStreamsFormerTypeProperty() +} + +// NewActivityStreamsActivityStreamsGeneratorProperty creates a new +// ActivityStreamsGeneratorProperty +func NewActivityStreamsGeneratorProperty() vocab.ActivityStreamsGeneratorProperty { + return propertygenerator.NewActivityStreamsGeneratorProperty() +} + +// NewActivityStreamsActivityStreamsHeightProperty creates a new +// ActivityStreamsHeightProperty +func NewActivityStreamsHeightProperty() vocab.ActivityStreamsHeightProperty { + return propertyheight.NewActivityStreamsHeightProperty() +} + +// NewActivityStreamsActivityStreamsHrefProperty creates a new +// ActivityStreamsHrefProperty +func NewActivityStreamsHrefProperty() vocab.ActivityStreamsHrefProperty { + return propertyhref.NewActivityStreamsHrefProperty() +} + +// NewActivityStreamsActivityStreamsHreflangProperty creates a new +// ActivityStreamsHreflangProperty +func NewActivityStreamsHreflangProperty() vocab.ActivityStreamsHreflangProperty { + return propertyhreflang.NewActivityStreamsHreflangProperty() +} + +// NewActivityStreamsActivityStreamsIconProperty creates a new +// ActivityStreamsIconProperty +func NewActivityStreamsIconProperty() vocab.ActivityStreamsIconProperty { + return propertyicon.NewActivityStreamsIconProperty() +} + +// NewActivityStreamsActivityStreamsImageProperty creates a new +// ActivityStreamsImageProperty +func NewActivityStreamsImageProperty() vocab.ActivityStreamsImageProperty { + return propertyimage.NewActivityStreamsImageProperty() +} + +// NewActivityStreamsActivityStreamsInReplyToProperty creates a new +// ActivityStreamsInReplyToProperty +func NewActivityStreamsInReplyToProperty() vocab.ActivityStreamsInReplyToProperty { + return propertyinreplyto.NewActivityStreamsInReplyToProperty() +} + +// NewActivityStreamsActivityStreamsInboxProperty creates a new +// ActivityStreamsInboxProperty +func NewActivityStreamsInboxProperty() vocab.ActivityStreamsInboxProperty { + return propertyinbox.NewActivityStreamsInboxProperty() +} + +// NewActivityStreamsActivityStreamsInstrumentProperty creates a new +// ActivityStreamsInstrumentProperty +func NewActivityStreamsInstrumentProperty() vocab.ActivityStreamsInstrumentProperty { + return propertyinstrument.NewActivityStreamsInstrumentProperty() +} + +// NewActivityStreamsActivityStreamsItemsProperty creates a new +// ActivityStreamsItemsProperty +func NewActivityStreamsItemsProperty() vocab.ActivityStreamsItemsProperty { + return propertyitems.NewActivityStreamsItemsProperty() +} + +// NewActivityStreamsActivityStreamsLastProperty creates a new +// ActivityStreamsLastProperty +func NewActivityStreamsLastProperty() vocab.ActivityStreamsLastProperty { + return propertylast.NewActivityStreamsLastProperty() +} + +// NewActivityStreamsActivityStreamsLatitudeProperty creates a new +// ActivityStreamsLatitudeProperty +func NewActivityStreamsLatitudeProperty() vocab.ActivityStreamsLatitudeProperty { + return propertylatitude.NewActivityStreamsLatitudeProperty() +} + +// NewActivityStreamsActivityStreamsLikedProperty creates a new +// ActivityStreamsLikedProperty +func NewActivityStreamsLikedProperty() vocab.ActivityStreamsLikedProperty { + return propertyliked.NewActivityStreamsLikedProperty() +} + +// NewActivityStreamsActivityStreamsLikesProperty creates a new +// ActivityStreamsLikesProperty +func NewActivityStreamsLikesProperty() vocab.ActivityStreamsLikesProperty { + return propertylikes.NewActivityStreamsLikesProperty() +} + +// NewActivityStreamsActivityStreamsLocationProperty creates a new +// ActivityStreamsLocationProperty +func NewActivityStreamsLocationProperty() vocab.ActivityStreamsLocationProperty { + return propertylocation.NewActivityStreamsLocationProperty() +} + +// NewActivityStreamsActivityStreamsLongitudeProperty creates a new +// ActivityStreamsLongitudeProperty +func NewActivityStreamsLongitudeProperty() vocab.ActivityStreamsLongitudeProperty { + return propertylongitude.NewActivityStreamsLongitudeProperty() +} + +// NewActivityStreamsActivityStreamsMediaTypeProperty creates a new +// ActivityStreamsMediaTypeProperty +func NewActivityStreamsMediaTypeProperty() vocab.ActivityStreamsMediaTypeProperty { + return propertymediatype.NewActivityStreamsMediaTypeProperty() +} + +// NewActivityStreamsActivityStreamsNameProperty creates a new +// ActivityStreamsNameProperty +func NewActivityStreamsNameProperty() vocab.ActivityStreamsNameProperty { + return propertyname.NewActivityStreamsNameProperty() +} + +// NewActivityStreamsActivityStreamsNextProperty creates a new +// ActivityStreamsNextProperty +func NewActivityStreamsNextProperty() vocab.ActivityStreamsNextProperty { + return propertynext.NewActivityStreamsNextProperty() +} + +// NewActivityStreamsActivityStreamsObjectProperty creates a new +// ActivityStreamsObjectProperty +func NewActivityStreamsObjectProperty() vocab.ActivityStreamsObjectProperty { + return propertyobject.NewActivityStreamsObjectProperty() +} + +// NewActivityStreamsActivityStreamsOneOfProperty creates a new +// ActivityStreamsOneOfProperty +func NewActivityStreamsOneOfProperty() vocab.ActivityStreamsOneOfProperty { + return propertyoneof.NewActivityStreamsOneOfProperty() +} + +// NewActivityStreamsActivityStreamsOrderedItemsProperty creates a new +// ActivityStreamsOrderedItemsProperty +func NewActivityStreamsOrderedItemsProperty() vocab.ActivityStreamsOrderedItemsProperty { + return propertyordereditems.NewActivityStreamsOrderedItemsProperty() +} + +// NewActivityStreamsActivityStreamsOriginProperty creates a new +// ActivityStreamsOriginProperty +func NewActivityStreamsOriginProperty() vocab.ActivityStreamsOriginProperty { + return propertyorigin.NewActivityStreamsOriginProperty() +} + +// NewActivityStreamsActivityStreamsOutboxProperty creates a new +// ActivityStreamsOutboxProperty +func NewActivityStreamsOutboxProperty() vocab.ActivityStreamsOutboxProperty { + return propertyoutbox.NewActivityStreamsOutboxProperty() +} + +// NewActivityStreamsActivityStreamsPartOfProperty creates a new +// ActivityStreamsPartOfProperty +func NewActivityStreamsPartOfProperty() vocab.ActivityStreamsPartOfProperty { + return propertypartof.NewActivityStreamsPartOfProperty() +} + +// NewActivityStreamsActivityStreamsPreferredUsernameProperty creates a new +// ActivityStreamsPreferredUsernameProperty +func NewActivityStreamsPreferredUsernameProperty() vocab.ActivityStreamsPreferredUsernameProperty { + return propertypreferredusername.NewActivityStreamsPreferredUsernameProperty() +} + +// NewActivityStreamsActivityStreamsPrevProperty creates a new +// ActivityStreamsPrevProperty +func NewActivityStreamsPrevProperty() vocab.ActivityStreamsPrevProperty { + return propertyprev.NewActivityStreamsPrevProperty() +} + +// NewActivityStreamsActivityStreamsPreviewProperty creates a new +// ActivityStreamsPreviewProperty +func NewActivityStreamsPreviewProperty() vocab.ActivityStreamsPreviewProperty { + return propertypreview.NewActivityStreamsPreviewProperty() +} + +// NewActivityStreamsActivityStreamsPublishedProperty creates a new +// ActivityStreamsPublishedProperty +func NewActivityStreamsPublishedProperty() vocab.ActivityStreamsPublishedProperty { + return propertypublished.NewActivityStreamsPublishedProperty() +} + +// NewActivityStreamsActivityStreamsRadiusProperty creates a new +// ActivityStreamsRadiusProperty +func NewActivityStreamsRadiusProperty() vocab.ActivityStreamsRadiusProperty { + return propertyradius.NewActivityStreamsRadiusProperty() +} + +// NewActivityStreamsActivityStreamsRelProperty creates a new +// ActivityStreamsRelProperty +func NewActivityStreamsRelProperty() vocab.ActivityStreamsRelProperty { + return propertyrel.NewActivityStreamsRelProperty() +} + +// NewActivityStreamsActivityStreamsRelationshipProperty creates a new +// ActivityStreamsRelationshipProperty +func NewActivityStreamsRelationshipProperty() vocab.ActivityStreamsRelationshipProperty { + return propertyrelationship.NewActivityStreamsRelationshipProperty() +} + +// NewActivityStreamsActivityStreamsRepliesProperty creates a new +// ActivityStreamsRepliesProperty +func NewActivityStreamsRepliesProperty() vocab.ActivityStreamsRepliesProperty { + return propertyreplies.NewActivityStreamsRepliesProperty() +} + +// NewActivityStreamsActivityStreamsResultProperty creates a new +// ActivityStreamsResultProperty +func NewActivityStreamsResultProperty() vocab.ActivityStreamsResultProperty { + return propertyresult.NewActivityStreamsResultProperty() +} + +// NewActivityStreamsActivityStreamsSharesProperty creates a new +// ActivityStreamsSharesProperty +func NewActivityStreamsSharesProperty() vocab.ActivityStreamsSharesProperty { + return propertyshares.NewActivityStreamsSharesProperty() +} + +// NewActivityStreamsActivityStreamsSourceProperty creates a new +// ActivityStreamsSourceProperty +func NewActivityStreamsSourceProperty() vocab.ActivityStreamsSourceProperty { + return propertysource.NewActivityStreamsSourceProperty() +} + +// NewActivityStreamsActivityStreamsStartIndexProperty creates a new +// ActivityStreamsStartIndexProperty +func NewActivityStreamsStartIndexProperty() vocab.ActivityStreamsStartIndexProperty { + return propertystartindex.NewActivityStreamsStartIndexProperty() +} + +// NewActivityStreamsActivityStreamsStartTimeProperty creates a new +// ActivityStreamsStartTimeProperty +func NewActivityStreamsStartTimeProperty() vocab.ActivityStreamsStartTimeProperty { + return propertystarttime.NewActivityStreamsStartTimeProperty() +} + +// NewActivityStreamsActivityStreamsStreamsProperty creates a new +// ActivityStreamsStreamsProperty +func NewActivityStreamsStreamsProperty() vocab.ActivityStreamsStreamsProperty { + return propertystreams.NewActivityStreamsStreamsProperty() +} + +// NewActivityStreamsActivityStreamsSubjectProperty creates a new +// ActivityStreamsSubjectProperty +func NewActivityStreamsSubjectProperty() vocab.ActivityStreamsSubjectProperty { + return propertysubject.NewActivityStreamsSubjectProperty() +} + +// NewActivityStreamsActivityStreamsSummaryProperty creates a new +// ActivityStreamsSummaryProperty +func NewActivityStreamsSummaryProperty() vocab.ActivityStreamsSummaryProperty { + return propertysummary.NewActivityStreamsSummaryProperty() +} + +// NewActivityStreamsActivityStreamsTagProperty creates a new +// ActivityStreamsTagProperty +func NewActivityStreamsTagProperty() vocab.ActivityStreamsTagProperty { + return propertytag.NewActivityStreamsTagProperty() +} + +// NewActivityStreamsActivityStreamsTargetProperty creates a new +// ActivityStreamsTargetProperty +func NewActivityStreamsTargetProperty() vocab.ActivityStreamsTargetProperty { + return propertytarget.NewActivityStreamsTargetProperty() +} + +// NewActivityStreamsActivityStreamsToProperty creates a new +// ActivityStreamsToProperty +func NewActivityStreamsToProperty() vocab.ActivityStreamsToProperty { + return propertyto.NewActivityStreamsToProperty() +} + +// NewActivityStreamsActivityStreamsTotalItemsProperty creates a new +// ActivityStreamsTotalItemsProperty +func NewActivityStreamsTotalItemsProperty() vocab.ActivityStreamsTotalItemsProperty { + return propertytotalitems.NewActivityStreamsTotalItemsProperty() +} + +// NewActivityStreamsActivityStreamsUnitsProperty creates a new +// ActivityStreamsUnitsProperty +func NewActivityStreamsUnitsProperty() vocab.ActivityStreamsUnitsProperty { + return propertyunits.NewActivityStreamsUnitsProperty() +} + +// NewActivityStreamsActivityStreamsUpdatedProperty creates a new +// ActivityStreamsUpdatedProperty +func NewActivityStreamsUpdatedProperty() vocab.ActivityStreamsUpdatedProperty { + return propertyupdated.NewActivityStreamsUpdatedProperty() +} + +// NewActivityStreamsActivityStreamsUrlProperty creates a new +// ActivityStreamsUrlProperty +func NewActivityStreamsUrlProperty() vocab.ActivityStreamsUrlProperty { + return propertyurl.NewActivityStreamsUrlProperty() +} + +// NewActivityStreamsActivityStreamsWidthProperty creates a new +// ActivityStreamsWidthProperty +func NewActivityStreamsWidthProperty() vocab.ActivityStreamsWidthProperty { + return propertywidth.NewActivityStreamsWidthProperty() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_type_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_type_constructors.go new file mode 100644 index 000000000..e22d1c16a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_activitystreams_type_constructors.go @@ -0,0 +1,334 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_accept" + typeactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_activity" + typeadd "github.com/go-fed/activity/streams/impl/activitystreams/type_add" + typeannounce "github.com/go-fed/activity/streams/impl/activitystreams/type_announce" + typeapplication "github.com/go-fed/activity/streams/impl/activitystreams/type_application" + typearrive "github.com/go-fed/activity/streams/impl/activitystreams/type_arrive" + typearticle "github.com/go-fed/activity/streams/impl/activitystreams/type_article" + typeaudio "github.com/go-fed/activity/streams/impl/activitystreams/type_audio" + typeblock "github.com/go-fed/activity/streams/impl/activitystreams/type_block" + typecollection "github.com/go-fed/activity/streams/impl/activitystreams/type_collection" + typecollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage" + typecreate "github.com/go-fed/activity/streams/impl/activitystreams/type_create" + typedelete "github.com/go-fed/activity/streams/impl/activitystreams/type_delete" + typedislike "github.com/go-fed/activity/streams/impl/activitystreams/type_dislike" + typedocument "github.com/go-fed/activity/streams/impl/activitystreams/type_document" + typeevent "github.com/go-fed/activity/streams/impl/activitystreams/type_event" + typeflag "github.com/go-fed/activity/streams/impl/activitystreams/type_flag" + typefollow "github.com/go-fed/activity/streams/impl/activitystreams/type_follow" + typegroup "github.com/go-fed/activity/streams/impl/activitystreams/type_group" + typeignore "github.com/go-fed/activity/streams/impl/activitystreams/type_ignore" + typeimage "github.com/go-fed/activity/streams/impl/activitystreams/type_image" + typeintransitiveactivity "github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity" + typeinvite "github.com/go-fed/activity/streams/impl/activitystreams/type_invite" + typejoin "github.com/go-fed/activity/streams/impl/activitystreams/type_join" + typeleave "github.com/go-fed/activity/streams/impl/activitystreams/type_leave" + typelike "github.com/go-fed/activity/streams/impl/activitystreams/type_like" + typelink "github.com/go-fed/activity/streams/impl/activitystreams/type_link" + typelisten "github.com/go-fed/activity/streams/impl/activitystreams/type_listen" + typemention "github.com/go-fed/activity/streams/impl/activitystreams/type_mention" + typemove "github.com/go-fed/activity/streams/impl/activitystreams/type_move" + typenote "github.com/go-fed/activity/streams/impl/activitystreams/type_note" + typeobject "github.com/go-fed/activity/streams/impl/activitystreams/type_object" + typeoffer "github.com/go-fed/activity/streams/impl/activitystreams/type_offer" + typeorderedcollection "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection" + typeorderedcollectionpage "github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage" + typeorganization "github.com/go-fed/activity/streams/impl/activitystreams/type_organization" + typepage "github.com/go-fed/activity/streams/impl/activitystreams/type_page" + typeperson "github.com/go-fed/activity/streams/impl/activitystreams/type_person" + typeplace "github.com/go-fed/activity/streams/impl/activitystreams/type_place" + typeprofile "github.com/go-fed/activity/streams/impl/activitystreams/type_profile" + typequestion "github.com/go-fed/activity/streams/impl/activitystreams/type_question" + typeread "github.com/go-fed/activity/streams/impl/activitystreams/type_read" + typereject "github.com/go-fed/activity/streams/impl/activitystreams/type_reject" + typerelationship "github.com/go-fed/activity/streams/impl/activitystreams/type_relationship" + typeremove "github.com/go-fed/activity/streams/impl/activitystreams/type_remove" + typeservice "github.com/go-fed/activity/streams/impl/activitystreams/type_service" + typetentativeaccept "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept" + typetentativereject "github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject" + typetombstone "github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone" + typetravel "github.com/go-fed/activity/streams/impl/activitystreams/type_travel" + typeundo "github.com/go-fed/activity/streams/impl/activitystreams/type_undo" + typeupdate "github.com/go-fed/activity/streams/impl/activitystreams/type_update" + typevideo "github.com/go-fed/activity/streams/impl/activitystreams/type_video" + typeview "github.com/go-fed/activity/streams/impl/activitystreams/type_view" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewActivityStreamsAccept creates a new ActivityStreamsAccept +func NewActivityStreamsAccept() vocab.ActivityStreamsAccept { + return typeaccept.NewActivityStreamsAccept() +} + +// NewActivityStreamsActivity creates a new ActivityStreamsActivity +func NewActivityStreamsActivity() vocab.ActivityStreamsActivity { + return typeactivity.NewActivityStreamsActivity() +} + +// NewActivityStreamsAdd creates a new ActivityStreamsAdd +func NewActivityStreamsAdd() vocab.ActivityStreamsAdd { + return typeadd.NewActivityStreamsAdd() +} + +// NewActivityStreamsAnnounce creates a new ActivityStreamsAnnounce +func NewActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return typeannounce.NewActivityStreamsAnnounce() +} + +// NewActivityStreamsApplication creates a new ActivityStreamsApplication +func NewActivityStreamsApplication() vocab.ActivityStreamsApplication { + return typeapplication.NewActivityStreamsApplication() +} + +// NewActivityStreamsArrive creates a new ActivityStreamsArrive +func NewActivityStreamsArrive() vocab.ActivityStreamsArrive { + return typearrive.NewActivityStreamsArrive() +} + +// NewActivityStreamsArticle creates a new ActivityStreamsArticle +func NewActivityStreamsArticle() vocab.ActivityStreamsArticle { + return typearticle.NewActivityStreamsArticle() +} + +// NewActivityStreamsAudio creates a new ActivityStreamsAudio +func NewActivityStreamsAudio() vocab.ActivityStreamsAudio { + return typeaudio.NewActivityStreamsAudio() +} + +// NewActivityStreamsBlock creates a new ActivityStreamsBlock +func NewActivityStreamsBlock() vocab.ActivityStreamsBlock { + return typeblock.NewActivityStreamsBlock() +} + +// NewActivityStreamsCollection creates a new ActivityStreamsCollection +func NewActivityStreamsCollection() vocab.ActivityStreamsCollection { + return typecollection.NewActivityStreamsCollection() +} + +// NewActivityStreamsCollectionPage creates a new ActivityStreamsCollectionPage +func NewActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return typecollectionpage.NewActivityStreamsCollectionPage() +} + +// NewActivityStreamsCreate creates a new ActivityStreamsCreate +func NewActivityStreamsCreate() vocab.ActivityStreamsCreate { + return typecreate.NewActivityStreamsCreate() +} + +// NewActivityStreamsDelete creates a new ActivityStreamsDelete +func NewActivityStreamsDelete() vocab.ActivityStreamsDelete { + return typedelete.NewActivityStreamsDelete() +} + +// NewActivityStreamsDislike creates a new ActivityStreamsDislike +func NewActivityStreamsDislike() vocab.ActivityStreamsDislike { + return typedislike.NewActivityStreamsDislike() +} + +// NewActivityStreamsDocument creates a new ActivityStreamsDocument +func NewActivityStreamsDocument() vocab.ActivityStreamsDocument { + return typedocument.NewActivityStreamsDocument() +} + +// NewActivityStreamsEvent creates a new ActivityStreamsEvent +func NewActivityStreamsEvent() vocab.ActivityStreamsEvent { + return typeevent.NewActivityStreamsEvent() +} + +// NewActivityStreamsFlag creates a new ActivityStreamsFlag +func NewActivityStreamsFlag() vocab.ActivityStreamsFlag { + return typeflag.NewActivityStreamsFlag() +} + +// NewActivityStreamsFollow creates a new ActivityStreamsFollow +func NewActivityStreamsFollow() vocab.ActivityStreamsFollow { + return typefollow.NewActivityStreamsFollow() +} + +// NewActivityStreamsGroup creates a new ActivityStreamsGroup +func NewActivityStreamsGroup() vocab.ActivityStreamsGroup { + return typegroup.NewActivityStreamsGroup() +} + +// NewActivityStreamsIgnore creates a new ActivityStreamsIgnore +func NewActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return typeignore.NewActivityStreamsIgnore() +} + +// NewActivityStreamsImage creates a new ActivityStreamsImage +func NewActivityStreamsImage() vocab.ActivityStreamsImage { + return typeimage.NewActivityStreamsImage() +} + +// NewActivityStreamsIntransitiveActivity creates a new +// ActivityStreamsIntransitiveActivity +func NewActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return typeintransitiveactivity.NewActivityStreamsIntransitiveActivity() +} + +// NewActivityStreamsInvite creates a new ActivityStreamsInvite +func NewActivityStreamsInvite() vocab.ActivityStreamsInvite { + return typeinvite.NewActivityStreamsInvite() +} + +// NewActivityStreamsJoin creates a new ActivityStreamsJoin +func NewActivityStreamsJoin() vocab.ActivityStreamsJoin { + return typejoin.NewActivityStreamsJoin() +} + +// NewActivityStreamsLeave creates a new ActivityStreamsLeave +func NewActivityStreamsLeave() vocab.ActivityStreamsLeave { + return typeleave.NewActivityStreamsLeave() +} + +// NewActivityStreamsLike creates a new ActivityStreamsLike +func NewActivityStreamsLike() vocab.ActivityStreamsLike { + return typelike.NewActivityStreamsLike() +} + +// NewActivityStreamsLink creates a new ActivityStreamsLink +func NewActivityStreamsLink() vocab.ActivityStreamsLink { + return typelink.NewActivityStreamsLink() +} + +// NewActivityStreamsListen creates a new ActivityStreamsListen +func NewActivityStreamsListen() vocab.ActivityStreamsListen { + return typelisten.NewActivityStreamsListen() +} + +// NewActivityStreamsMention creates a new ActivityStreamsMention +func NewActivityStreamsMention() vocab.ActivityStreamsMention { + return typemention.NewActivityStreamsMention() +} + +// NewActivityStreamsMove creates a new ActivityStreamsMove +func NewActivityStreamsMove() vocab.ActivityStreamsMove { + return typemove.NewActivityStreamsMove() +} + +// NewActivityStreamsNote creates a new ActivityStreamsNote +func NewActivityStreamsNote() vocab.ActivityStreamsNote { + return typenote.NewActivityStreamsNote() +} + +// NewActivityStreamsObject creates a new ActivityStreamsObject +func NewActivityStreamsObject() vocab.ActivityStreamsObject { + return typeobject.NewActivityStreamsObject() +} + +// NewActivityStreamsOffer creates a new ActivityStreamsOffer +func NewActivityStreamsOffer() vocab.ActivityStreamsOffer { + return typeoffer.NewActivityStreamsOffer() +} + +// NewActivityStreamsOrderedCollection creates a new +// ActivityStreamsOrderedCollection +func NewActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return typeorderedcollection.NewActivityStreamsOrderedCollection() +} + +// NewActivityStreamsOrderedCollectionPage creates a new +// ActivityStreamsOrderedCollectionPage +func NewActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return typeorderedcollectionpage.NewActivityStreamsOrderedCollectionPage() +} + +// NewActivityStreamsOrganization creates a new ActivityStreamsOrganization +func NewActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return typeorganization.NewActivityStreamsOrganization() +} + +// NewActivityStreamsPage creates a new ActivityStreamsPage +func NewActivityStreamsPage() vocab.ActivityStreamsPage { + return typepage.NewActivityStreamsPage() +} + +// NewActivityStreamsPerson creates a new ActivityStreamsPerson +func NewActivityStreamsPerson() vocab.ActivityStreamsPerson { + return typeperson.NewActivityStreamsPerson() +} + +// NewActivityStreamsPlace creates a new ActivityStreamsPlace +func NewActivityStreamsPlace() vocab.ActivityStreamsPlace { + return typeplace.NewActivityStreamsPlace() +} + +// NewActivityStreamsProfile creates a new ActivityStreamsProfile +func NewActivityStreamsProfile() vocab.ActivityStreamsProfile { + return typeprofile.NewActivityStreamsProfile() +} + +// NewActivityStreamsQuestion creates a new ActivityStreamsQuestion +func NewActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return typequestion.NewActivityStreamsQuestion() +} + +// NewActivityStreamsRead creates a new ActivityStreamsRead +func NewActivityStreamsRead() vocab.ActivityStreamsRead { + return typeread.NewActivityStreamsRead() +} + +// NewActivityStreamsReject creates a new ActivityStreamsReject +func NewActivityStreamsReject() vocab.ActivityStreamsReject { + return typereject.NewActivityStreamsReject() +} + +// NewActivityStreamsRelationship creates a new ActivityStreamsRelationship +func NewActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return typerelationship.NewActivityStreamsRelationship() +} + +// NewActivityStreamsRemove creates a new ActivityStreamsRemove +func NewActivityStreamsRemove() vocab.ActivityStreamsRemove { + return typeremove.NewActivityStreamsRemove() +} + +// NewActivityStreamsService creates a new ActivityStreamsService +func NewActivityStreamsService() vocab.ActivityStreamsService { + return typeservice.NewActivityStreamsService() +} + +// NewActivityStreamsTentativeAccept creates a new ActivityStreamsTentativeAccept +func NewActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return typetentativeaccept.NewActivityStreamsTentativeAccept() +} + +// NewActivityStreamsTentativeReject creates a new ActivityStreamsTentativeReject +func NewActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return typetentativereject.NewActivityStreamsTentativeReject() +} + +// NewActivityStreamsTombstone creates a new ActivityStreamsTombstone +func NewActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return typetombstone.NewActivityStreamsTombstone() +} + +// NewActivityStreamsTravel creates a new ActivityStreamsTravel +func NewActivityStreamsTravel() vocab.ActivityStreamsTravel { + return typetravel.NewActivityStreamsTravel() +} + +// NewActivityStreamsUndo creates a new ActivityStreamsUndo +func NewActivityStreamsUndo() vocab.ActivityStreamsUndo { + return typeundo.NewActivityStreamsUndo() +} + +// NewActivityStreamsUpdate creates a new ActivityStreamsUpdate +func NewActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return typeupdate.NewActivityStreamsUpdate() +} + +// NewActivityStreamsVideo creates a new ActivityStreamsVideo +func NewActivityStreamsVideo() vocab.ActivityStreamsVideo { + return typevideo.NewActivityStreamsVideo() +} + +// NewActivityStreamsView creates a new ActivityStreamsView +func NewActivityStreamsView() vocab.ActivityStreamsView { + return typeview.NewActivityStreamsView() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_disjoint.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_disjoint.go new file mode 100644 index 000000000..d6299f7ae --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_disjoint.go @@ -0,0 +1,49 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typebranch "github.com/go-fed/activity/streams/impl/forgefed/type_branch" + typecommit "github.com/go-fed/activity/streams/impl/forgefed/type_commit" + typepush "github.com/go-fed/activity/streams/impl/forgefed/type_push" + typerepository "github.com/go-fed/activity/streams/impl/forgefed/type_repository" + typeticket "github.com/go-fed/activity/streams/impl/forgefed/type_ticket" + typeticketdependency "github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// ForgeFedBranchIsDisjointWith returns true if Branch is disjoint with the +// other's type. +func ForgeFedBranchIsDisjointWith(other vocab.Type) bool { + return typebranch.BranchIsDisjointWith(other) +} + +// ForgeFedCommitIsDisjointWith returns true if Commit is disjoint with the +// other's type. +func ForgeFedCommitIsDisjointWith(other vocab.Type) bool { + return typecommit.CommitIsDisjointWith(other) +} + +// ForgeFedPushIsDisjointWith returns true if Push is disjoint with the other's +// type. +func ForgeFedPushIsDisjointWith(other vocab.Type) bool { + return typepush.PushIsDisjointWith(other) +} + +// ForgeFedRepositoryIsDisjointWith returns true if Repository is disjoint with +// the other's type. +func ForgeFedRepositoryIsDisjointWith(other vocab.Type) bool { + return typerepository.RepositoryIsDisjointWith(other) +} + +// ForgeFedTicketIsDisjointWith returns true if Ticket is disjoint with the +// other's type. +func ForgeFedTicketIsDisjointWith(other vocab.Type) bool { + return typeticket.TicketIsDisjointWith(other) +} + +// ForgeFedTicketDependencyIsDisjointWith returns true if TicketDependency is +// disjoint with the other's type. +func ForgeFedTicketDependencyIsDisjointWith(other vocab.Type) bool { + return typeticketdependency.TicketDependencyIsDisjointWith(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_extendedby.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_extendedby.go new file mode 100644 index 000000000..2a70d7ad2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_extendedby.go @@ -0,0 +1,55 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typebranch "github.com/go-fed/activity/streams/impl/forgefed/type_branch" + typecommit "github.com/go-fed/activity/streams/impl/forgefed/type_commit" + typepush "github.com/go-fed/activity/streams/impl/forgefed/type_push" + typerepository "github.com/go-fed/activity/streams/impl/forgefed/type_repository" + typeticket "github.com/go-fed/activity/streams/impl/forgefed/type_ticket" + typeticketdependency "github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// ForgeFedBranchIsExtendedBy returns true if the other's type extends from +// Branch. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ForgeFedBranchIsExtendedBy(other vocab.Type) bool { + return typebranch.BranchIsExtendedBy(other) +} + +// ForgeFedCommitIsExtendedBy returns true if the other's type extends from +// Commit. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ForgeFedCommitIsExtendedBy(other vocab.Type) bool { + return typecommit.CommitIsExtendedBy(other) +} + +// ForgeFedPushIsExtendedBy returns true if the other's type extends from Push. +// Note that it returns false if the types are the same; see the "IsOrExtends" +// variant instead. +func ForgeFedPushIsExtendedBy(other vocab.Type) bool { + return typepush.PushIsExtendedBy(other) +} + +// ForgeFedRepositoryIsExtendedBy returns true if the other's type extends from +// Repository. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ForgeFedRepositoryIsExtendedBy(other vocab.Type) bool { + return typerepository.RepositoryIsExtendedBy(other) +} + +// ForgeFedTicketIsExtendedBy returns true if the other's type extends from +// Ticket. Note that it returns false if the types are the same; see the +// "IsOrExtends" variant instead. +func ForgeFedTicketIsExtendedBy(other vocab.Type) bool { + return typeticket.TicketIsExtendedBy(other) +} + +// ForgeFedTicketDependencyIsExtendedBy returns true if the other's type extends +// from TicketDependency. Note that it returns false if the types are the +// same; see the "IsOrExtends" variant instead. +func ForgeFedTicketDependencyIsExtendedBy(other vocab.Type) bool { + return typeticketdependency.TicketDependencyIsExtendedBy(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_extends.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_extends.go new file mode 100644 index 000000000..2118ba375 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_extends.go @@ -0,0 +1,48 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typebranch "github.com/go-fed/activity/streams/impl/forgefed/type_branch" + typecommit "github.com/go-fed/activity/streams/impl/forgefed/type_commit" + typepush "github.com/go-fed/activity/streams/impl/forgefed/type_push" + typerepository "github.com/go-fed/activity/streams/impl/forgefed/type_repository" + typeticket "github.com/go-fed/activity/streams/impl/forgefed/type_ticket" + typeticketdependency "github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// ForgeFedForgeFedBranchExtends returns true if Branch extends from the other's +// type. +func ForgeFedForgeFedBranchExtends(other vocab.Type) bool { + return typebranch.ForgeFedBranchExtends(other) +} + +// ForgeFedForgeFedCommitExtends returns true if Commit extends from the other's +// type. +func ForgeFedForgeFedCommitExtends(other vocab.Type) bool { + return typecommit.ForgeFedCommitExtends(other) +} + +// ForgeFedForgeFedPushExtends returns true if Push extends from the other's type. +func ForgeFedForgeFedPushExtends(other vocab.Type) bool { + return typepush.ForgeFedPushExtends(other) +} + +// ForgeFedForgeFedRepositoryExtends returns true if Repository extends from the +// other's type. +func ForgeFedForgeFedRepositoryExtends(other vocab.Type) bool { + return typerepository.ForgeFedRepositoryExtends(other) +} + +// ForgeFedForgeFedTicketExtends returns true if Ticket extends from the other's +// type. +func ForgeFedForgeFedTicketExtends(other vocab.Type) bool { + return typeticket.ForgeFedTicketExtends(other) +} + +// ForgeFedForgeFedTicketDependencyExtends returns true if TicketDependency +// extends from the other's type. +func ForgeFedForgeFedTicketDependencyExtends(other vocab.Type) bool { + return typeticketdependency.ForgeFedTicketDependencyExtends(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_isorextends.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_isorextends.go new file mode 100644 index 000000000..96d445505 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_isorextends.go @@ -0,0 +1,49 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typebranch "github.com/go-fed/activity/streams/impl/forgefed/type_branch" + typecommit "github.com/go-fed/activity/streams/impl/forgefed/type_commit" + typepush "github.com/go-fed/activity/streams/impl/forgefed/type_push" + typerepository "github.com/go-fed/activity/streams/impl/forgefed/type_repository" + typeticket "github.com/go-fed/activity/streams/impl/forgefed/type_ticket" + typeticketdependency "github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// IsOrExtendsForgeFedBranch returns true if the other provided type is the Branch +// type or extends from the Branch type. +func IsOrExtendsForgeFedBranch(other vocab.Type) bool { + return typebranch.IsOrExtendsBranch(other) +} + +// IsOrExtendsForgeFedCommit returns true if the other provided type is the Commit +// type or extends from the Commit type. +func IsOrExtendsForgeFedCommit(other vocab.Type) bool { + return typecommit.IsOrExtendsCommit(other) +} + +// IsOrExtendsForgeFedPush returns true if the other provided type is the Push +// type or extends from the Push type. +func IsOrExtendsForgeFedPush(other vocab.Type) bool { + return typepush.IsOrExtendsPush(other) +} + +// IsOrExtendsForgeFedRepository returns true if the other provided type is the +// Repository type or extends from the Repository type. +func IsOrExtendsForgeFedRepository(other vocab.Type) bool { + return typerepository.IsOrExtendsRepository(other) +} + +// IsOrExtendsForgeFedTicket returns true if the other provided type is the Ticket +// type or extends from the Ticket type. +func IsOrExtendsForgeFedTicket(other vocab.Type) bool { + return typeticket.IsOrExtendsTicket(other) +} + +// IsOrExtendsForgeFedTicketDependency returns true if the other provided type is +// the TicketDependency type or extends from the TicketDependency type. +func IsOrExtendsForgeFedTicketDependency(other vocab.Type) bool { + return typeticketdependency.IsOrExtendsTicketDependency(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_property_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_property_constructors.go new file mode 100644 index 000000000..d8921cbb1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_property_constructors.go @@ -0,0 +1,126 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + propertyassignedto "github.com/go-fed/activity/streams/impl/forgefed/property_assignedto" + propertycommitted "github.com/go-fed/activity/streams/impl/forgefed/property_committed" + propertycommittedby "github.com/go-fed/activity/streams/impl/forgefed/property_committedby" + propertydependants "github.com/go-fed/activity/streams/impl/forgefed/property_dependants" + propertydependedby "github.com/go-fed/activity/streams/impl/forgefed/property_dependedby" + propertydependencies "github.com/go-fed/activity/streams/impl/forgefed/property_dependencies" + propertydependson "github.com/go-fed/activity/streams/impl/forgefed/property_dependson" + propertydescription "github.com/go-fed/activity/streams/impl/forgefed/property_description" + propertyearlyitems "github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems" + propertyfilesadded "github.com/go-fed/activity/streams/impl/forgefed/property_filesadded" + propertyfilesmodified "github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified" + propertyfilesremoved "github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved" + propertyforks "github.com/go-fed/activity/streams/impl/forgefed/property_forks" + propertyhash "github.com/go-fed/activity/streams/impl/forgefed/property_hash" + propertyisresolved "github.com/go-fed/activity/streams/impl/forgefed/property_isresolved" + propertyref "github.com/go-fed/activity/streams/impl/forgefed/property_ref" + propertyteam "github.com/go-fed/activity/streams/impl/forgefed/property_team" + propertyticketstrackedby "github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby" + propertytracksticketsfor "github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewForgeFedForgeFedAssignedToProperty creates a new ForgeFedAssignedToProperty +func NewForgeFedAssignedToProperty() vocab.ForgeFedAssignedToProperty { + return propertyassignedto.NewForgeFedAssignedToProperty() +} + +// NewForgeFedForgeFedCommittedProperty creates a new ForgeFedCommittedProperty +func NewForgeFedCommittedProperty() vocab.ForgeFedCommittedProperty { + return propertycommitted.NewForgeFedCommittedProperty() +} + +// NewForgeFedForgeFedCommittedByProperty creates a new ForgeFedCommittedByProperty +func NewForgeFedCommittedByProperty() vocab.ForgeFedCommittedByProperty { + return propertycommittedby.NewForgeFedCommittedByProperty() +} + +// NewForgeFedForgeFedDependantsProperty creates a new ForgeFedDependantsProperty +func NewForgeFedDependantsProperty() vocab.ForgeFedDependantsProperty { + return propertydependants.NewForgeFedDependantsProperty() +} + +// NewForgeFedForgeFedDependedByProperty creates a new ForgeFedDependedByProperty +func NewForgeFedDependedByProperty() vocab.ForgeFedDependedByProperty { + return propertydependedby.NewForgeFedDependedByProperty() +} + +// NewForgeFedForgeFedDependenciesProperty creates a new +// ForgeFedDependenciesProperty +func NewForgeFedDependenciesProperty() vocab.ForgeFedDependenciesProperty { + return propertydependencies.NewForgeFedDependenciesProperty() +} + +// NewForgeFedForgeFedDependsOnProperty creates a new ForgeFedDependsOnProperty +func NewForgeFedDependsOnProperty() vocab.ForgeFedDependsOnProperty { + return propertydependson.NewForgeFedDependsOnProperty() +} + +// NewForgeFedForgeFedDescriptionProperty creates a new ForgeFedDescriptionProperty +func NewForgeFedDescriptionProperty() vocab.ForgeFedDescriptionProperty { + return propertydescription.NewForgeFedDescriptionProperty() +} + +// NewForgeFedForgeFedEarlyItemsProperty creates a new ForgeFedEarlyItemsProperty +func NewForgeFedEarlyItemsProperty() vocab.ForgeFedEarlyItemsProperty { + return propertyearlyitems.NewForgeFedEarlyItemsProperty() +} + +// NewForgeFedForgeFedFilesAddedProperty creates a new ForgeFedFilesAddedProperty +func NewForgeFedFilesAddedProperty() vocab.ForgeFedFilesAddedProperty { + return propertyfilesadded.NewForgeFedFilesAddedProperty() +} + +// NewForgeFedForgeFedFilesModifiedProperty creates a new +// ForgeFedFilesModifiedProperty +func NewForgeFedFilesModifiedProperty() vocab.ForgeFedFilesModifiedProperty { + return propertyfilesmodified.NewForgeFedFilesModifiedProperty() +} + +// NewForgeFedForgeFedFilesRemovedProperty creates a new +// ForgeFedFilesRemovedProperty +func NewForgeFedFilesRemovedProperty() vocab.ForgeFedFilesRemovedProperty { + return propertyfilesremoved.NewForgeFedFilesRemovedProperty() +} + +// NewForgeFedForgeFedForksProperty creates a new ForgeFedForksProperty +func NewForgeFedForksProperty() vocab.ForgeFedForksProperty { + return propertyforks.NewForgeFedForksProperty() +} + +// NewForgeFedForgeFedHashProperty creates a new ForgeFedHashProperty +func NewForgeFedHashProperty() vocab.ForgeFedHashProperty { + return propertyhash.NewForgeFedHashProperty() +} + +// NewForgeFedForgeFedIsResolvedProperty creates a new ForgeFedIsResolvedProperty +func NewForgeFedIsResolvedProperty() vocab.ForgeFedIsResolvedProperty { + return propertyisresolved.NewForgeFedIsResolvedProperty() +} + +// NewForgeFedForgeFedRefProperty creates a new ForgeFedRefProperty +func NewForgeFedRefProperty() vocab.ForgeFedRefProperty { + return propertyref.NewForgeFedRefProperty() +} + +// NewForgeFedForgeFedTeamProperty creates a new ForgeFedTeamProperty +func NewForgeFedTeamProperty() vocab.ForgeFedTeamProperty { + return propertyteam.NewForgeFedTeamProperty() +} + +// NewForgeFedForgeFedTicketsTrackedByProperty creates a new +// ForgeFedTicketsTrackedByProperty +func NewForgeFedTicketsTrackedByProperty() vocab.ForgeFedTicketsTrackedByProperty { + return propertyticketstrackedby.NewForgeFedTicketsTrackedByProperty() +} + +// NewForgeFedForgeFedTracksTicketsForProperty creates a new +// ForgeFedTracksTicketsForProperty +func NewForgeFedTracksTicketsForProperty() vocab.ForgeFedTracksTicketsForProperty { + return propertytracksticketsfor.NewForgeFedTracksTicketsForProperty() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_type_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_type_constructors.go new file mode 100644 index 000000000..78b59500f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_forgefed_type_constructors.go @@ -0,0 +1,43 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typebranch "github.com/go-fed/activity/streams/impl/forgefed/type_branch" + typecommit "github.com/go-fed/activity/streams/impl/forgefed/type_commit" + typepush "github.com/go-fed/activity/streams/impl/forgefed/type_push" + typerepository "github.com/go-fed/activity/streams/impl/forgefed/type_repository" + typeticket "github.com/go-fed/activity/streams/impl/forgefed/type_ticket" + typeticketdependency "github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewForgeFedBranch creates a new ForgeFedBranch +func NewForgeFedBranch() vocab.ForgeFedBranch { + return typebranch.NewForgeFedBranch() +} + +// NewForgeFedCommit creates a new ForgeFedCommit +func NewForgeFedCommit() vocab.ForgeFedCommit { + return typecommit.NewForgeFedCommit() +} + +// NewForgeFedPush creates a new ForgeFedPush +func NewForgeFedPush() vocab.ForgeFedPush { + return typepush.NewForgeFedPush() +} + +// NewForgeFedRepository creates a new ForgeFedRepository +func NewForgeFedRepository() vocab.ForgeFedRepository { + return typerepository.NewForgeFedRepository() +} + +// NewForgeFedTicket creates a new ForgeFedTicket +func NewForgeFedTicket() vocab.ForgeFedTicket { + return typeticket.NewForgeFedTicket() +} + +// NewForgeFedTicketDependency creates a new ForgeFedTicketDependency +func NewForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return typeticketdependency.NewForgeFedTicketDependency() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_jsonld_property_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_jsonld_property_constructors.go new file mode 100644 index 000000000..9f9f9d137 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_jsonld_property_constructors.go @@ -0,0 +1,19 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + propertyid "github.com/go-fed/activity/streams/impl/jsonld/property_id" + propertytype "github.com/go-fed/activity/streams/impl/jsonld/property_type" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewJSONLDJSONLDTypeProperty creates a new JSONLDTypeProperty +func NewJSONLDTypeProperty() vocab.JSONLDTypeProperty { + return propertytype.NewJSONLDTypeProperty() +} + +// NewJSONLDJSONLDIdProperty creates a new JSONLDIdProperty +func NewJSONLDIdProperty() vocab.JSONLDIdProperty { + return propertyid.NewJSONLDIdProperty() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_disjoint.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_disjoint.go new file mode 100644 index 000000000..144f27fa2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_disjoint.go @@ -0,0 +1,20 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeemoji "github.com/go-fed/activity/streams/impl/toot/type_emoji" + typeidentityproof "github.com/go-fed/activity/streams/impl/toot/type_identityproof" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// TootEmojiIsDisjointWith returns true if Emoji is disjoint with the other's type. +func TootEmojiIsDisjointWith(other vocab.Type) bool { + return typeemoji.EmojiIsDisjointWith(other) +} + +// TootIdentityProofIsDisjointWith returns true if IdentityProof is disjoint with +// the other's type. +func TootIdentityProofIsDisjointWith(other vocab.Type) bool { + return typeidentityproof.IdentityProofIsDisjointWith(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_extendedby.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_extendedby.go new file mode 100644 index 000000000..8327ce103 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_extendedby.go @@ -0,0 +1,23 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeemoji "github.com/go-fed/activity/streams/impl/toot/type_emoji" + typeidentityproof "github.com/go-fed/activity/streams/impl/toot/type_identityproof" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// TootEmojiIsExtendedBy returns true if the other's type extends from Emoji. Note +// that it returns false if the types are the same; see the "IsOrExtends" +// variant instead. +func TootEmojiIsExtendedBy(other vocab.Type) bool { + return typeemoji.EmojiIsExtendedBy(other) +} + +// TootIdentityProofIsExtendedBy returns true if the other's type extends from +// IdentityProof. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func TootIdentityProofIsExtendedBy(other vocab.Type) bool { + return typeidentityproof.IdentityProofIsExtendedBy(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_extends.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_extends.go new file mode 100644 index 000000000..bef71b49c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_extends.go @@ -0,0 +1,20 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeemoji "github.com/go-fed/activity/streams/impl/toot/type_emoji" + typeidentityproof "github.com/go-fed/activity/streams/impl/toot/type_identityproof" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// TootTootEmojiExtends returns true if Emoji extends from the other's type. +func TootTootEmojiExtends(other vocab.Type) bool { + return typeemoji.TootEmojiExtends(other) +} + +// TootTootIdentityProofExtends returns true if IdentityProof extends from the +// other's type. +func TootTootIdentityProofExtends(other vocab.Type) bool { + return typeidentityproof.TootIdentityProofExtends(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_isorextends.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_isorextends.go new file mode 100644 index 000000000..6890c5987 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_isorextends.go @@ -0,0 +1,21 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeemoji "github.com/go-fed/activity/streams/impl/toot/type_emoji" + typeidentityproof "github.com/go-fed/activity/streams/impl/toot/type_identityproof" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// IsOrExtendsTootEmoji returns true if the other provided type is the Emoji type +// or extends from the Emoji type. +func IsOrExtendsTootEmoji(other vocab.Type) bool { + return typeemoji.IsOrExtendsEmoji(other) +} + +// IsOrExtendsTootIdentityProof returns true if the other provided type is the +// IdentityProof type or extends from the IdentityProof type. +func IsOrExtendsTootIdentityProof(other vocab.Type) bool { + return typeidentityproof.IsOrExtendsIdentityProof(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_property_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_property_constructors.go new file mode 100644 index 000000000..b93c20c76 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_property_constructors.go @@ -0,0 +1,44 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + propertyblurhash "github.com/go-fed/activity/streams/impl/toot/property_blurhash" + propertydiscoverable "github.com/go-fed/activity/streams/impl/toot/property_discoverable" + propertyfeatured "github.com/go-fed/activity/streams/impl/toot/property_featured" + propertysignaturealgorithm "github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm" + propertysignaturevalue "github.com/go-fed/activity/streams/impl/toot/property_signaturevalue" + propertyvoterscount "github.com/go-fed/activity/streams/impl/toot/property_voterscount" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewTootTootBlurhashProperty creates a new TootBlurhashProperty +func NewTootBlurhashProperty() vocab.TootBlurhashProperty { + return propertyblurhash.NewTootBlurhashProperty() +} + +// NewTootTootDiscoverableProperty creates a new TootDiscoverableProperty +func NewTootDiscoverableProperty() vocab.TootDiscoverableProperty { + return propertydiscoverable.NewTootDiscoverableProperty() +} + +// NewTootTootFeaturedProperty creates a new TootFeaturedProperty +func NewTootFeaturedProperty() vocab.TootFeaturedProperty { + return propertyfeatured.NewTootFeaturedProperty() +} + +// NewTootTootSignatureAlgorithmProperty creates a new +// TootSignatureAlgorithmProperty +func NewTootSignatureAlgorithmProperty() vocab.TootSignatureAlgorithmProperty { + return propertysignaturealgorithm.NewTootSignatureAlgorithmProperty() +} + +// NewTootTootSignatureValueProperty creates a new TootSignatureValueProperty +func NewTootSignatureValueProperty() vocab.TootSignatureValueProperty { + return propertysignaturevalue.NewTootSignatureValueProperty() +} + +// NewTootTootVotersCountProperty creates a new TootVotersCountProperty +func NewTootVotersCountProperty() vocab.TootVotersCountProperty { + return propertyvoterscount.NewTootVotersCountProperty() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_type_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_type_constructors.go new file mode 100644 index 000000000..77ba41c71 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_toot_type_constructors.go @@ -0,0 +1,19 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typeemoji "github.com/go-fed/activity/streams/impl/toot/type_emoji" + typeidentityproof "github.com/go-fed/activity/streams/impl/toot/type_identityproof" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewTootEmoji creates a new TootEmoji +func NewTootEmoji() vocab.TootEmoji { + return typeemoji.NewTootEmoji() +} + +// NewTootIdentityProof creates a new TootIdentityProof +func NewTootIdentityProof() vocab.TootIdentityProof { + return typeidentityproof.NewTootIdentityProof() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_disjoint.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_disjoint.go new file mode 100644 index 000000000..c8a34164d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_disjoint.go @@ -0,0 +1,14 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typepublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// W3IDSecurityV1PublicKeyIsDisjointWith returns true if PublicKey is disjoint +// with the other's type. +func W3IDSecurityV1PublicKeyIsDisjointWith(other vocab.Type) bool { + return typepublickey.PublicKeyIsDisjointWith(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_extendedby.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_extendedby.go new file mode 100644 index 000000000..301544e69 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_extendedby.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typepublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// W3IDSecurityV1PublicKeyIsExtendedBy returns true if the other's type extends +// from PublicKey. Note that it returns false if the types are the same; see +// the "IsOrExtends" variant instead. +func W3IDSecurityV1PublicKeyIsExtendedBy(other vocab.Type) bool { + return typepublickey.PublicKeyIsExtendedBy(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_extends.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_extends.go new file mode 100644 index 000000000..54d3f6625 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_extends.go @@ -0,0 +1,14 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typepublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// W3IDSecurityV1W3IDSecurityV1PublicKeyExtends returns true if PublicKey extends +// from the other's type. +func W3IDSecurityV1W3IDSecurityV1PublicKeyExtends(other vocab.Type) bool { + return typepublickey.W3IDSecurityV1PublicKeyExtends(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_isorextends.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_isorextends.go new file mode 100644 index 000000000..028ba96a1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_isorextends.go @@ -0,0 +1,14 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typepublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// IsOrExtendsW3IDSecurityV1PublicKey returns true if the other provided type is +// the PublicKey type or extends from the PublicKey type. +func IsOrExtendsW3IDSecurityV1PublicKey(other vocab.Type) bool { + return typepublickey.IsOrExtendsPublicKey(other) +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_property_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_property_constructors.go new file mode 100644 index 000000000..e35820921 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_property_constructors.go @@ -0,0 +1,28 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + propertyowner "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner" + propertypublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey" + propertypublickeypem "github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewW3IDSecurityV1W3IDSecurityV1OwnerProperty creates a new +// W3IDSecurityV1OwnerProperty +func NewW3IDSecurityV1OwnerProperty() vocab.W3IDSecurityV1OwnerProperty { + return propertyowner.NewW3IDSecurityV1OwnerProperty() +} + +// NewW3IDSecurityV1W3IDSecurityV1PublicKeyProperty creates a new +// W3IDSecurityV1PublicKeyProperty +func NewW3IDSecurityV1PublicKeyProperty() vocab.W3IDSecurityV1PublicKeyProperty { + return propertypublickey.NewW3IDSecurityV1PublicKeyProperty() +} + +// NewW3IDSecurityV1W3IDSecurityV1PublicKeyPemProperty creates a new +// W3IDSecurityV1PublicKeyPemProperty +func NewW3IDSecurityV1PublicKeyPemProperty() vocab.W3IDSecurityV1PublicKeyPemProperty { + return propertypublickeypem.NewW3IDSecurityV1PublicKeyPemProperty() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_type_constructors.go b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_type_constructors.go new file mode 100644 index 000000000..dbea0dc4e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_pkg_w3idsecurityv1_type_constructors.go @@ -0,0 +1,13 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + typepublickey "github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// NewW3IDSecurityV1PublicKey creates a new W3IDSecurityV1PublicKey +func NewW3IDSecurityV1PublicKey() vocab.W3IDSecurityV1PublicKey { + return typepublickey.NewW3IDSecurityV1PublicKey() +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_resolver_utils.go b/vendor/github.com/go-fed/activity/streams/gen_resolver_utils.go new file mode 100644 index 000000000..30eae3f78 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_resolver_utils.go @@ -0,0 +1,244 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + "context" + "errors" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// ErrNoCallbackMatch indicates a Resolver could not match the ActivityStreams value to a callback function. +var ErrNoCallbackMatch error = errors.New("activity stream did not match the callback function") + +// ErrUnhandledType indicates that an ActivityStreams value has a type that is not handled by the code that has been generated. +var ErrUnhandledType error = errors.New("activity stream did not match any known types") + +// ErrPredicateUnmatched indicates that a predicate is accepting a type or interface that does not match an ActivityStreams value's type or interface. +var ErrPredicateUnmatched error = errors.New("activity stream did not match type demanded by predicate") + +// errCannotTypeAssertType indicates that the 'type' property returned by the ActivityStreams value cannot be type-asserted to its interface form. +var errCannotTypeAssertType error = errors.New("activity stream type cannot be asserted to its interface") + +// ActivityStreamsInterface represents any ActivityStream value code-generated by +// go-fed or compatible with the generated interfaces. +type ActivityStreamsInterface interface { + // GetTypeName returns the ActiivtyStreams value's type. + GetTypeName() string + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} + +// Resolver represents any TypeResolver. +type Resolver interface { + // Resolve will attempt to resolve an untyped ActivityStreams value into a + // Go concrete type. + Resolve(ctx context.Context, o ActivityStreamsInterface) error +} + +// IsUnmatchedErr is true when the error indicates that a Resolver was +// unsuccessful due to the ActivityStreams value not matching its callbacks or +// predicates. +func IsUnmatchedErr(err error) bool { + return err == ErrPredicateUnmatched || err == ErrUnhandledType || err == ErrNoCallbackMatch +} + +// ToType attempts to resolve the generic JSON map into a Type. +func ToType(c context.Context, m map[string]interface{}) (t vocab.Type, err error) { + var r *JSONResolver + r, err = NewJSONResolver(func(ctx context.Context, i vocab.ActivityStreamsAccept) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsActivity) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsAdd) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsAnnounce) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsApplication) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsArrive) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsArticle) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsAudio) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsBlock) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ForgeFedBranch) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsCollection) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsCollectionPage) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ForgeFedCommit) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsCreate) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsDelete) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsDislike) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsDocument) error { + t = i + return nil + }, func(ctx context.Context, i vocab.TootEmoji) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsEvent) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsFlag) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsFollow) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsGroup) error { + t = i + return nil + }, func(ctx context.Context, i vocab.TootIdentityProof) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsIgnore) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsImage) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsIntransitiveActivity) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsInvite) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsJoin) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsLeave) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsLike) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsLink) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsListen) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsMention) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsMove) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsNote) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsObject) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsOffer) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsOrderedCollection) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsOrderedCollectionPage) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsOrganization) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsPage) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsPerson) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsPlace) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsProfile) error { + t = i + return nil + }, func(ctx context.Context, i vocab.W3IDSecurityV1PublicKey) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ForgeFedPush) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsQuestion) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsRead) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsReject) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsRelationship) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsRemove) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ForgeFedRepository) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsService) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsTentativeAccept) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsTentativeReject) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ForgeFedTicket) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ForgeFedTicketDependency) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsTombstone) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsTravel) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsUndo) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsUpdate) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsVideo) error { + t = i + return nil + }, func(ctx context.Context, i vocab.ActivityStreamsView) error { + t = i + return nil + }) + if err != nil { + return + } + err = r.Resolve(c, m) + return +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_type_predicated_resolver.go b/vendor/github.com/go-fed/activity/streams/gen_type_predicated_resolver.go new file mode 100644 index 000000000..6199b6ca1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_type_predicated_resolver.go @@ -0,0 +1,881 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + "context" + "errors" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// TypePredicatedResolver resolves ActivityStreams values if the value satisfies a +// predicate condition based on its type. +type TypePredicatedResolver struct { + delegate Resolver + predicate interface{} +} + +// NewTypePredicatedResolver creates a new Resolver that applies a predicate to an +// ActivityStreams value to determine whether to Resolve or not. The +// ActivityStreams value's type is examined to determine if the predicate can +// apply itself to the value. This guarantees the predicate will receive a +// concrete value whose underlying ActivityStreams type matches the concrete +// interface name. The predicate function must be of the form: +// +// func(context.Context, ) (bool, error) +// +// where TypeInterface is the code-generated interface for an ActivityStreams +// type. An error is returned if the predicate does not match this signature. +func NewTypePredicatedResolver(delegate Resolver, predicate interface{}) (*TypePredicatedResolver, error) { + // The predicate must satisfy one known predicate function signature, or else we will generate a runtime error instead of silently fail. + switch predicate.(type) { + case func(context.Context, vocab.ActivityStreamsAccept) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsActivity) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsAdd) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsAnnounce) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsApplication) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsArrive) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsArticle) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsAudio) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsBlock) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ForgeFedBranch) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsCollection) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsCollectionPage) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ForgeFedCommit) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsCreate) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsDelete) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsDislike) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsDocument) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.TootEmoji) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsEvent) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsFlag) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsFollow) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsGroup) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.TootIdentityProof) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsIgnore) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsImage) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsIntransitiveActivity) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsInvite) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsJoin) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsLeave) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsLike) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsLink) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsListen) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsMention) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsMove) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsNote) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsObject) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsOffer) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrderedCollection) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrderedCollectionPage) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrganization) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsPage) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsPerson) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsPlace) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsProfile) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.W3IDSecurityV1PublicKey) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ForgeFedPush) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsQuestion) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsRead) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsReject) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsRelationship) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsRemove) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ForgeFedRepository) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsService) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsTentativeAccept) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsTentativeReject) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ForgeFedTicket) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ForgeFedTicketDependency) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsTombstone) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsTravel) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsUndo) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsUpdate) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsVideo) (bool, error): + // Do nothing, this predicate has a correct signature. + case func(context.Context, vocab.ActivityStreamsView) (bool, error): + // Do nothing, this predicate has a correct signature. + default: + return nil, errors.New("the predicate function is of the wrong signature and would never be called") + } + return &TypePredicatedResolver{ + delegate: delegate, + predicate: predicate, + }, nil +} + +// Apply uses a predicate to determine whether to resolve the ActivityStreams +// value. The predicate's signature is matched with the ActivityStreams +// value's type. This strictly assures that the predicate will only be passed +// ActivityStream objects whose type matches its interface. Returns an error +// if the ActivityStreams type does not match the predicate, is not a type +// handled by the generated code, or the resolver returns an error. Returns +// true if the predicate returned true. +func (this TypePredicatedResolver) Apply(ctx context.Context, o ActivityStreamsInterface) (bool, error) { + var predicatePasses bool + var err error + if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Accept" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsAccept) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsAccept); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Activity" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsActivity) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsActivity); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Add" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsAdd) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsAdd); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Announce" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsAnnounce) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsAnnounce); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Application" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsApplication) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsApplication); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Arrive" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsArrive) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsArrive); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Article" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsArticle) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsArticle); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Audio" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsAudio) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsAudio); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Block" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsBlock) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsBlock); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Branch" { + if fn, ok := this.predicate.(func(context.Context, vocab.ForgeFedBranch) (bool, error)); ok { + if v, ok := o.(vocab.ForgeFedBranch); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Collection" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsCollection) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsCollection); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "CollectionPage" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsCollectionPage) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsCollectionPage); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Commit" { + if fn, ok := this.predicate.(func(context.Context, vocab.ForgeFedCommit) (bool, error)); ok { + if v, ok := o.(vocab.ForgeFedCommit); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Create" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsCreate) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsCreate); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Delete" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsDelete) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsDelete); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Dislike" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsDislike) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsDislike); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Document" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsDocument) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsDocument); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "http://joinmastodon.org/ns" && o.GetTypeName() == "Emoji" { + if fn, ok := this.predicate.(func(context.Context, vocab.TootEmoji) (bool, error)); ok { + if v, ok := o.(vocab.TootEmoji); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Event" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsEvent) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsEvent); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Flag" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsFlag) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsFlag); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Follow" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsFollow) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsFollow); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Group" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsGroup) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsGroup); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "http://joinmastodon.org/ns" && o.GetTypeName() == "IdentityProof" { + if fn, ok := this.predicate.(func(context.Context, vocab.TootIdentityProof) (bool, error)); ok { + if v, ok := o.(vocab.TootIdentityProof); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Ignore" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsIgnore) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsIgnore); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Image" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsImage) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsImage); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "IntransitiveActivity" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsIntransitiveActivity) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsIntransitiveActivity); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Invite" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsInvite) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsInvite); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Join" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsJoin) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsJoin); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Leave" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsLeave) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsLeave); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Like" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsLike) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsLike); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Link" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsLink) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsLink); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Listen" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsListen) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsListen); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Mention" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsMention) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsMention); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Move" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsMove) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsMove); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Note" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsNote) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsNote); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Object" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsObject) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsObject); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Offer" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsOffer) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsOffer); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "OrderedCollection" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsOrderedCollection) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsOrderedCollection); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "OrderedCollectionPage" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsOrderedCollectionPage) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsOrderedCollectionPage); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Organization" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsOrganization) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsOrganization); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Page" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsPage) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsPage); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Person" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsPerson) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsPerson); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Place" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsPlace) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsPlace); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Profile" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsProfile) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsProfile); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://w3id.org/security/v1" && o.GetTypeName() == "PublicKey" { + if fn, ok := this.predicate.(func(context.Context, vocab.W3IDSecurityV1PublicKey) (bool, error)); ok { + if v, ok := o.(vocab.W3IDSecurityV1PublicKey); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Push" { + if fn, ok := this.predicate.(func(context.Context, vocab.ForgeFedPush) (bool, error)); ok { + if v, ok := o.(vocab.ForgeFedPush); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Question" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsQuestion) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsQuestion); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Read" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsRead) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsRead); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Reject" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsReject) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsReject); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Relationship" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsRelationship) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsRelationship); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Remove" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsRemove) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsRemove); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Repository" { + if fn, ok := this.predicate.(func(context.Context, vocab.ForgeFedRepository) (bool, error)); ok { + if v, ok := o.(vocab.ForgeFedRepository); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Service" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsService) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsService); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "TentativeAccept" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsTentativeAccept) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsTentativeAccept); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "TentativeReject" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsTentativeReject) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsTentativeReject); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Ticket" { + if fn, ok := this.predicate.(func(context.Context, vocab.ForgeFedTicket) (bool, error)); ok { + if v, ok := o.(vocab.ForgeFedTicket); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "TicketDependency" { + if fn, ok := this.predicate.(func(context.Context, vocab.ForgeFedTicketDependency) (bool, error)); ok { + if v, ok := o.(vocab.ForgeFedTicketDependency); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Tombstone" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsTombstone) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsTombstone); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Travel" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsTravel) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsTravel); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Undo" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsUndo) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsUndo); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Update" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsUpdate) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsUpdate); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Video" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsVideo) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsVideo); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "View" { + if fn, ok := this.predicate.(func(context.Context, vocab.ActivityStreamsView) (bool, error)); ok { + if v, ok := o.(vocab.ActivityStreamsView); ok { + predicatePasses, err = fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return false, errCannotTypeAssertType + } + } else { + return false, ErrPredicateUnmatched + } + } else { + return false, ErrUnhandledType + } + if err != nil { + return predicatePasses, err + } + if predicatePasses { + return true, this.delegate.Resolve(ctx, o) + } else { + return false, nil + } +} diff --git a/vendor/github.com/go-fed/activity/streams/gen_type_resolver.go b/vendor/github.com/go-fed/activity/streams/gen_type_resolver.go new file mode 100644 index 000000000..f834520f0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/gen_type_resolver.go @@ -0,0 +1,744 @@ +// Code generated by astool. DO NOT EDIT. + +package streams + +import ( + "context" + "errors" + vocab "github.com/go-fed/activity/streams/vocab" +) + +// TypeResolver resolves ActivityStreams values based on their type name. +type TypeResolver struct { + callbacks []interface{} +} + +// NewTypeResolver creates a new Resolver that examines the type of an +// ActivityStream value to determine what callback function to pass the +// concretely typed value. The callback is guaranteed to receive a value whose +// underlying ActivityStreams type matches the concrete interface name in its +// signature. The callback functions must be of the form: +// +// func(context.Context, ) error +// +// where TypeInterface is the code-generated interface for an ActivityStream +// type. An error is returned if a callback function does not match this +// signature. +func NewTypeResolver(callbacks ...interface{}) (*TypeResolver, error) { + for _, cb := range callbacks { + // Each callback function must satisfy one known function signature, or else we will generate a runtime error instead of silently fail. + switch cb.(type) { + case func(context.Context, vocab.ActivityStreamsAccept) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsActivity) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsAdd) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsAnnounce) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsApplication) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsArrive) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsArticle) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsAudio) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsBlock) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedBranch) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsCollection) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsCollectionPage) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedCommit) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsCreate) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsDelete) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsDislike) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsDocument) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.TootEmoji) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsEvent) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsFlag) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsFollow) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsGroup) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.TootIdentityProof) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsIgnore) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsImage) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsIntransitiveActivity) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsInvite) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsJoin) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsLeave) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsLike) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsLink) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsListen) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsMention) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsMove) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsNote) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsObject) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsOffer) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrderedCollection) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrderedCollectionPage) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsOrganization) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsPage) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsPerson) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsPlace) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsProfile) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.W3IDSecurityV1PublicKey) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedPush) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsQuestion) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsRead) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsReject) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsRelationship) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsRemove) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedRepository) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsService) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsTentativeAccept) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsTentativeReject) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedTicket) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ForgeFedTicketDependency) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsTombstone) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsTravel) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsUndo) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsUpdate) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsVideo) error: + // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.ActivityStreamsView) error: + // Do nothing, this callback has a correct signature. + default: + return nil, errors.New("a callback function is of the wrong signature and would never be called") + } + } + return &TypeResolver{callbacks: callbacks}, nil +} + +// Resolve applies the first callback function whose signature accepts the +// ActivityStreams value's type. This strictly assures that the callback +// function will only be passed ActivityStream objects whose type matches its +// interface. Returns an error if the ActivityStreams type does not match +// callbackers, is not a type handled by the generated code, or the value +// passed in is not go-fed compatible. +func (this TypeResolver) Resolve(ctx context.Context, o ActivityStreamsInterface) error { + for _, i := range this.callbacks { + if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Accept" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsAccept) error); ok { + if v, ok := o.(vocab.ActivityStreamsAccept); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Activity" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsActivity) error); ok { + if v, ok := o.(vocab.ActivityStreamsActivity); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Add" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsAdd) error); ok { + if v, ok := o.(vocab.ActivityStreamsAdd); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Announce" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsAnnounce) error); ok { + if v, ok := o.(vocab.ActivityStreamsAnnounce); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Application" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsApplication) error); ok { + if v, ok := o.(vocab.ActivityStreamsApplication); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Arrive" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsArrive) error); ok { + if v, ok := o.(vocab.ActivityStreamsArrive); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Article" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsArticle) error); ok { + if v, ok := o.(vocab.ActivityStreamsArticle); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Audio" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsAudio) error); ok { + if v, ok := o.(vocab.ActivityStreamsAudio); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Block" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsBlock) error); ok { + if v, ok := o.(vocab.ActivityStreamsBlock); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Branch" { + if fn, ok := i.(func(context.Context, vocab.ForgeFedBranch) error); ok { + if v, ok := o.(vocab.ForgeFedBranch); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Collection" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsCollection) error); ok { + if v, ok := o.(vocab.ActivityStreamsCollection); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "CollectionPage" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsCollectionPage) error); ok { + if v, ok := o.(vocab.ActivityStreamsCollectionPage); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Commit" { + if fn, ok := i.(func(context.Context, vocab.ForgeFedCommit) error); ok { + if v, ok := o.(vocab.ForgeFedCommit); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Create" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsCreate) error); ok { + if v, ok := o.(vocab.ActivityStreamsCreate); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Delete" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsDelete) error); ok { + if v, ok := o.(vocab.ActivityStreamsDelete); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Dislike" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsDislike) error); ok { + if v, ok := o.(vocab.ActivityStreamsDislike); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Document" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsDocument) error); ok { + if v, ok := o.(vocab.ActivityStreamsDocument); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "http://joinmastodon.org/ns" && o.GetTypeName() == "Emoji" { + if fn, ok := i.(func(context.Context, vocab.TootEmoji) error); ok { + if v, ok := o.(vocab.TootEmoji); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Event" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsEvent) error); ok { + if v, ok := o.(vocab.ActivityStreamsEvent); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Flag" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsFlag) error); ok { + if v, ok := o.(vocab.ActivityStreamsFlag); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Follow" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsFollow) error); ok { + if v, ok := o.(vocab.ActivityStreamsFollow); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Group" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsGroup) error); ok { + if v, ok := o.(vocab.ActivityStreamsGroup); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "http://joinmastodon.org/ns" && o.GetTypeName() == "IdentityProof" { + if fn, ok := i.(func(context.Context, vocab.TootIdentityProof) error); ok { + if v, ok := o.(vocab.TootIdentityProof); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Ignore" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsIgnore) error); ok { + if v, ok := o.(vocab.ActivityStreamsIgnore); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Image" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsImage) error); ok { + if v, ok := o.(vocab.ActivityStreamsImage); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "IntransitiveActivity" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsIntransitiveActivity) error); ok { + if v, ok := o.(vocab.ActivityStreamsIntransitiveActivity); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Invite" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsInvite) error); ok { + if v, ok := o.(vocab.ActivityStreamsInvite); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Join" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsJoin) error); ok { + if v, ok := o.(vocab.ActivityStreamsJoin); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Leave" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsLeave) error); ok { + if v, ok := o.(vocab.ActivityStreamsLeave); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Like" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsLike) error); ok { + if v, ok := o.(vocab.ActivityStreamsLike); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Link" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsLink) error); ok { + if v, ok := o.(vocab.ActivityStreamsLink); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Listen" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsListen) error); ok { + if v, ok := o.(vocab.ActivityStreamsListen); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Mention" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsMention) error); ok { + if v, ok := o.(vocab.ActivityStreamsMention); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Move" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsMove) error); ok { + if v, ok := o.(vocab.ActivityStreamsMove); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Note" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsNote) error); ok { + if v, ok := o.(vocab.ActivityStreamsNote); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Object" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsObject) error); ok { + if v, ok := o.(vocab.ActivityStreamsObject); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Offer" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsOffer) error); ok { + if v, ok := o.(vocab.ActivityStreamsOffer); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "OrderedCollection" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsOrderedCollection) error); ok { + if v, ok := o.(vocab.ActivityStreamsOrderedCollection); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "OrderedCollectionPage" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsOrderedCollectionPage) error); ok { + if v, ok := o.(vocab.ActivityStreamsOrderedCollectionPage); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Organization" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsOrganization) error); ok { + if v, ok := o.(vocab.ActivityStreamsOrganization); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Page" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsPage) error); ok { + if v, ok := o.(vocab.ActivityStreamsPage); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Person" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsPerson) error); ok { + if v, ok := o.(vocab.ActivityStreamsPerson); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Place" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsPlace) error); ok { + if v, ok := o.(vocab.ActivityStreamsPlace); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Profile" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsProfile) error); ok { + if v, ok := o.(vocab.ActivityStreamsProfile); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://w3id.org/security/v1" && o.GetTypeName() == "PublicKey" { + if fn, ok := i.(func(context.Context, vocab.W3IDSecurityV1PublicKey) error); ok { + if v, ok := o.(vocab.W3IDSecurityV1PublicKey); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Push" { + if fn, ok := i.(func(context.Context, vocab.ForgeFedPush) error); ok { + if v, ok := o.(vocab.ForgeFedPush); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Question" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsQuestion) error); ok { + if v, ok := o.(vocab.ActivityStreamsQuestion); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Read" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsRead) error); ok { + if v, ok := o.(vocab.ActivityStreamsRead); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Reject" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsReject) error); ok { + if v, ok := o.(vocab.ActivityStreamsReject); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Relationship" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsRelationship) error); ok { + if v, ok := o.(vocab.ActivityStreamsRelationship); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Remove" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsRemove) error); ok { + if v, ok := o.(vocab.ActivityStreamsRemove); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Repository" { + if fn, ok := i.(func(context.Context, vocab.ForgeFedRepository) error); ok { + if v, ok := o.(vocab.ForgeFedRepository); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Service" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsService) error); ok { + if v, ok := o.(vocab.ActivityStreamsService); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "TentativeAccept" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsTentativeAccept) error); ok { + if v, ok := o.(vocab.ActivityStreamsTentativeAccept); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "TentativeReject" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsTentativeReject) error); ok { + if v, ok := o.(vocab.ActivityStreamsTentativeReject); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "Ticket" { + if fn, ok := i.(func(context.Context, vocab.ForgeFedTicket) error); ok { + if v, ok := o.(vocab.ForgeFedTicket); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://forgefed.peers.community/ns" && o.GetTypeName() == "TicketDependency" { + if fn, ok := i.(func(context.Context, vocab.ForgeFedTicketDependency) error); ok { + if v, ok := o.(vocab.ForgeFedTicketDependency); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Tombstone" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsTombstone) error); ok { + if v, ok := o.(vocab.ActivityStreamsTombstone); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Travel" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsTravel) error); ok { + if v, ok := o.(vocab.ActivityStreamsTravel); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Undo" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsUndo) error); ok { + if v, ok := o.(vocab.ActivityStreamsUndo); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Update" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsUpdate) error); ok { + if v, ok := o.(vocab.ActivityStreamsUpdate); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "Video" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsVideo) error); ok { + if v, ok := o.(vocab.ActivityStreamsVideo); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else if o.VocabularyURI() == "https://www.w3.org/ns/activitystreams" && o.GetTypeName() == "View" { + if fn, ok := i.(func(context.Context, vocab.ActivityStreamsView) error); ok { + if v, ok := o.(vocab.ActivityStreamsView); ok { + return fn(ctx, v) + } else { + // This occurs when the value is either not a go-fed type and is improperly satisfying various interfaces, or there is a bug in the go-fed generated code. + return errCannotTypeAssertType + } + } + } else { + return ErrUnhandledType + } + } + return ErrNoCallbackMatch +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_doc.go new file mode 100644 index 000000000..51987e2ba --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyaccuracy contains the implementation for the accuracy property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyaccuracy diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_pkg.go new file mode 100644 index 000000000..5e3d5a700 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyaccuracy + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_property_activitystreams_accuracy.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_property_activitystreams_accuracy.go new file mode 100644 index 000000000..9bbe03ade --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy/gen_property_activitystreams_accuracy.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyaccuracy + +import ( + "fmt" + float "github.com/go-fed/activity/streams/values/float" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsAccuracyProperty is the functional property "accuracy". It is +// permitted to be a single default-valued value type. +type ActivityStreamsAccuracyProperty struct { + xmlschemaFloatMember float64 + hasFloatMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeAccuracyProperty creates a "accuracy" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeAccuracyProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsAccuracyProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "accuracy" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "accuracy") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsAccuracyProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := float.DeserializeFloat(i); err == nil { + this := &ActivityStreamsAccuracyProperty{ + alias: alias, + hasFloatMember: true, + xmlschemaFloatMember: v, + } + return this, nil + } + this := &ActivityStreamsAccuracyProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsAccuracyProperty creates a new accuracy property. +func NewActivityStreamsAccuracyProperty() *ActivityStreamsAccuracyProperty { + return &ActivityStreamsAccuracyProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaFloat +// afterwards will return false. +func (this *ActivityStreamsAccuracyProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasFloatMember = false +} + +// Get returns the value of this property. When IsXMLSchemaFloat returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsAccuracyProperty) Get() float64 { + return this.xmlschemaFloatMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsAccuracyProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsAccuracyProperty) HasAny() bool { + return this.IsXMLSchemaFloat() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsAccuracyProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaFloat returns true if this property is set and not an IRI. +func (this ActivityStreamsAccuracyProperty) IsXMLSchemaFloat() bool { + return this.hasFloatMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAccuracyProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsAccuracyProperty) KindIndex() int { + if this.IsXMLSchemaFloat() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAccuracyProperty) LessThan(o vocab.ActivityStreamsAccuracyProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaFloat() && o.IsXMLSchemaFloat() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return float.LessFloat(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "accuracy". +func (this ActivityStreamsAccuracyProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "accuracy" + } else { + return "accuracy" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAccuracyProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaFloat() { + return float.SerializeFloat(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaFloat afterwards will +// return true. +func (this *ActivityStreamsAccuracyProperty) Set(v float64) { + this.Clear() + this.xmlschemaFloatMember = v + this.hasFloatMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsAccuracyProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_doc.go new file mode 100644 index 000000000..6dee21217 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyactor contains the implementation for the actor property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyactor diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_pkg.go new file mode 100644 index 000000000..85c65198c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyactor + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_property_activitystreams_actor.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_property_activitystreams_actor.go new file mode 100644 index 000000000..6c5dec70c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_actor/gen_property_activitystreams_actor.go @@ -0,0 +1,7030 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyactor + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsActorPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsActorPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsActorProperty +} + +// NewActivityStreamsActorPropertyIterator creates a new ActivityStreamsActor +// property. +func NewActivityStreamsActorPropertyIterator() *ActivityStreamsActorPropertyIterator { + return &ActivityStreamsActorPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsActorPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsActorPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsActorPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsActorPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsActorPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsActorPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsActorPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsActorPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsActorPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsActorPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsActorPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsActorPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsActorPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsActorPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsActorPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsActorPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsActorPropertyIterator) LessThan(o vocab.ActivityStreamsActorPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsActor". +func (this ActivityStreamsActorPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsActor" + } else { + return "ActivityStreamsActor" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsActorPropertyIterator) Next() vocab.ActivityStreamsActorPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsActorPropertyIterator) Prev() vocab.ActivityStreamsActorPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsActorPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsActorPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsActorPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsActor property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsActorPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsActorPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsActorProperty is the non-functional property "actor". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsActorProperty struct { + properties []*ActivityStreamsActorPropertyIterator + alias string +} + +// DeserializeActorProperty creates a "actor" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeActorProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsActorProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "actor" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "actor") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsActorProperty{ + alias: alias, + properties: []*ActivityStreamsActorPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsActorPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsActorPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsActorProperty creates a new actor property. +func NewActivityStreamsActorProperty() *ActivityStreamsActorProperty { + return &ActivityStreamsActorProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "actor". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "actor". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "actor". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "actor". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "actor". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "actor". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "actor". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "actor". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "actor". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "actor". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "actor". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "actor". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsActorProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "actor" +func (this *ActivityStreamsActorProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "actor". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsActorProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "actor". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsActorProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsActorProperty) At(index int) vocab.ActivityStreamsActorPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsActorProperty) Begin() vocab.ActivityStreamsActorPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsActorProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsActorProperty) End() vocab.ActivityStreamsActorPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "actor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "actor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "actor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "actor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "actor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "actor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "actor". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "actor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "actor". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "actor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "actor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "actor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "actor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "actor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "actor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "actor". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "actor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "actor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "actor". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "actor". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "actor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "actor". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsActorProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsActorProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsActorProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "actor" property. +func (this ActivityStreamsActorProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsActorProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsActorProperty) LessThan(o vocab.ActivityStreamsActorProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("actor") with any alias. +func (this ActivityStreamsActorProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "actor" + } else { + return "actor" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "actor". Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "actor". Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "actor". +func (this *ActivityStreamsActorProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "actor". Invalidates all iterators. +func (this *ActivityStreamsActorProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsActorPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "actor". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsActorProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsActorPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "actor", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsActorProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsActorPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsActorProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "actor". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "actor". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "actor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "actor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "actor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "actor". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "actor". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "actor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "actor". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "actor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "actor". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "actor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "actor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "actor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "actor". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "actor". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "actor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsActorProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "actor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "actor". +// Panics if the index is out of bounds. +func (this *ActivityStreamsActorProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "actor". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsActorProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "actor". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsActorProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "actor". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsActorProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsActorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "actor" property. +func (this ActivityStreamsActorProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_doc.go new file mode 100644 index 000000000..373eab307 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyaltitude contains the implementation for the altitude property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyaltitude diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_pkg.go new file mode 100644 index 000000000..2bfcb1ceb --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyaltitude + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_property_activitystreams_altitude.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_property_activitystreams_altitude.go new file mode 100644 index 000000000..06e4e1f0f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_altitude/gen_property_activitystreams_altitude.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyaltitude + +import ( + "fmt" + float "github.com/go-fed/activity/streams/values/float" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsAltitudeProperty is the functional property "altitude". It is +// permitted to be a single default-valued value type. +type ActivityStreamsAltitudeProperty struct { + xmlschemaFloatMember float64 + hasFloatMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeAltitudeProperty creates a "altitude" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeAltitudeProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsAltitudeProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "altitude" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "altitude") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsAltitudeProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := float.DeserializeFloat(i); err == nil { + this := &ActivityStreamsAltitudeProperty{ + alias: alias, + hasFloatMember: true, + xmlschemaFloatMember: v, + } + return this, nil + } + this := &ActivityStreamsAltitudeProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsAltitudeProperty creates a new altitude property. +func NewActivityStreamsAltitudeProperty() *ActivityStreamsAltitudeProperty { + return &ActivityStreamsAltitudeProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaFloat +// afterwards will return false. +func (this *ActivityStreamsAltitudeProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasFloatMember = false +} + +// Get returns the value of this property. When IsXMLSchemaFloat returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsAltitudeProperty) Get() float64 { + return this.xmlschemaFloatMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsAltitudeProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsAltitudeProperty) HasAny() bool { + return this.IsXMLSchemaFloat() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsAltitudeProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaFloat returns true if this property is set and not an IRI. +func (this ActivityStreamsAltitudeProperty) IsXMLSchemaFloat() bool { + return this.hasFloatMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAltitudeProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsAltitudeProperty) KindIndex() int { + if this.IsXMLSchemaFloat() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAltitudeProperty) LessThan(o vocab.ActivityStreamsAltitudeProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaFloat() && o.IsXMLSchemaFloat() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return float.LessFloat(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "altitude". +func (this ActivityStreamsAltitudeProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "altitude" + } else { + return "altitude" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAltitudeProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaFloat() { + return float.SerializeFloat(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaFloat afterwards will +// return true. +func (this *ActivityStreamsAltitudeProperty) Set(v float64) { + this.Clear() + this.xmlschemaFloatMember = v + this.hasFloatMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsAltitudeProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_doc.go new file mode 100644 index 000000000..b962ff710 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyanyof contains the implementation for the anyOf property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyanyof diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_pkg.go new file mode 100644 index 000000000..e2ea4919a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyanyof + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_property_activitystreams_anyOf.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_property_activitystreams_anyOf.go new file mode 100644 index 000000000..54f168795 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_anyof/gen_property_activitystreams_anyOf.go @@ -0,0 +1,7030 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyanyof + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsAnyOfPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsAnyOfPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsAnyOfProperty +} + +// NewActivityStreamsAnyOfPropertyIterator creates a new ActivityStreamsAnyOf +// property. +func NewActivityStreamsAnyOfPropertyIterator() *ActivityStreamsAnyOfPropertyIterator { + return &ActivityStreamsAnyOfPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsAnyOfPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsAnyOfPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsAnyOfPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsAnyOfPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsAnyOfPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsAnyOfPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsAnyOfPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsAnyOfPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsAnyOfPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsAnyOfPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAnyOfPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsAnyOfPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAnyOfPropertyIterator) LessThan(o vocab.ActivityStreamsAnyOfPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsAnyOf". +func (this ActivityStreamsAnyOfPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsAnyOf" + } else { + return "ActivityStreamsAnyOf" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsAnyOfPropertyIterator) Next() vocab.ActivityStreamsAnyOfPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsAnyOfPropertyIterator) Prev() vocab.ActivityStreamsAnyOfPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsAnyOfPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsAnyOfPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsAnyOf property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsAnyOfPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAnyOfPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsAnyOfProperty is the non-functional property "anyOf". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsAnyOfProperty struct { + properties []*ActivityStreamsAnyOfPropertyIterator + alias string +} + +// DeserializeAnyOfProperty creates a "anyOf" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeAnyOfProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAnyOfProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "anyOf" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "anyOf") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsAnyOfProperty{ + alias: alias, + properties: []*ActivityStreamsAnyOfPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsAnyOfPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsAnyOfPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsAnyOfProperty creates a new anyOf property. +func NewActivityStreamsAnyOfProperty() *ActivityStreamsAnyOfProperty { + return &ActivityStreamsAnyOfProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "anyOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "anyOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "anyOf". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "anyOf". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "anyOf". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "anyOf". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "anyOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "anyOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "anyOf". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "anyOf". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "anyOf". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "anyOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "anyOf" +func (this *ActivityStreamsAnyOfProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "anyOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAnyOfProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "anyOf". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsAnyOfProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsAnyOfProperty) At(index int) vocab.ActivityStreamsAnyOfPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsAnyOfProperty) Begin() vocab.ActivityStreamsAnyOfPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsAnyOfProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsAnyOfProperty) End() vocab.ActivityStreamsAnyOfPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "anyOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "anyOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "anyOf". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "anyOf". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "anyOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "anyOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "anyOf". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "anyOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "anyOf". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "anyOf". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "anyOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "anyOf". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "anyOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "anyOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "anyOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "anyOf". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "anyOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "anyOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "anyOf". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "anyOf". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "anyOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "anyOf". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsAnyOfProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAnyOfProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsAnyOfProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "anyOf" property. +func (this ActivityStreamsAnyOfProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsAnyOfProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAnyOfProperty) LessThan(o vocab.ActivityStreamsAnyOfProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("anyOf") with any alias. +func (this ActivityStreamsAnyOfProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "anyOf" + } else { + return "anyOf" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "anyOf". Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "anyOf". Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "anyOf". +func (this *ActivityStreamsAnyOfProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "anyOf". Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "anyOf". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsAnyOfProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsAnyOfPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "anyOf", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsAnyOfPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAnyOfProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "anyOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "anyOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "anyOf". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "anyOf". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "anyOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "anyOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "anyOf". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "anyOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "anyOf". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "anyOf". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "anyOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "anyOf". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "anyOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "anyOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "anyOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "anyOf". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "anyOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAnyOfProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "anyOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "anyOf". +// Panics if the index is out of bounds. +func (this *ActivityStreamsAnyOfProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "anyOf". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAnyOfProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "anyOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAnyOfProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "anyOf". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsAnyOfProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsAnyOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "anyOf" property. +func (this ActivityStreamsAnyOfProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_doc.go new file mode 100644 index 000000000..997e74d36 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyattachment contains the implementation for the attachment +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyattachment diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_pkg.go new file mode 100644 index 000000000..a9b93f681 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyattachment + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_property_activitystreams_attachment.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_property_activitystreams_attachment.go new file mode 100644 index 000000000..efe1b3a38 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attachment/gen_property_activitystreams_attachment.go @@ -0,0 +1,7047 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyattachment + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsAttachmentPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsAttachmentPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsAttachmentProperty +} + +// NewActivityStreamsAttachmentPropertyIterator creates a new +// ActivityStreamsAttachment property. +func NewActivityStreamsAttachmentPropertyIterator() *ActivityStreamsAttachmentPropertyIterator { + return &ActivityStreamsAttachmentPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsAttachmentPropertyIterator creates an iterator from +// an element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsAttachmentPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsAttachmentPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsAttachmentPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsAttachmentPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsAttachmentPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsAttachmentPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsAttachmentPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsAttachmentPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsAttachmentPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAttachmentPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsAttachmentPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAttachmentPropertyIterator) LessThan(o vocab.ActivityStreamsAttachmentPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsAttachment". +func (this ActivityStreamsAttachmentPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsAttachment" + } else { + return "ActivityStreamsAttachment" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsAttachmentPropertyIterator) Next() vocab.ActivityStreamsAttachmentPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsAttachmentPropertyIterator) Prev() vocab.ActivityStreamsAttachmentPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsAttachmentPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsAttachmentPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsAttachment property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsAttachmentPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAttachmentPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsAttachmentProperty is the non-functional property "attachment". +// It is permitted to have one or more values, and of different value types. +type ActivityStreamsAttachmentProperty struct { + properties []*ActivityStreamsAttachmentPropertyIterator + alias string +} + +// DeserializeAttachmentProperty creates a "attachment" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeAttachmentProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "attachment" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "attachment") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsAttachmentProperty{ + alias: alias, + properties: []*ActivityStreamsAttachmentPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsAttachmentPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsAttachmentPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsAttachmentProperty creates a new attachment property. +func NewActivityStreamsAttachmentProperty() *ActivityStreamsAttachmentProperty { + return &ActivityStreamsAttachmentProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "attachment". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "attachment". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "attachment". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "attachment". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "attachment" +func (this *ActivityStreamsAttachmentProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "attachment". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttachmentProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "attachment". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttachmentProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "attachment". Invalidates iterators that are traversing using +// Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ActivityStreamsAttachmentProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsAttachmentProperty) At(index int) vocab.ActivityStreamsAttachmentPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsAttachmentProperty) Begin() vocab.ActivityStreamsAttachmentPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsAttachmentProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsAttachmentProperty) End() vocab.ActivityStreamsAttachmentPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "attachment". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "attachment". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "attachment". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "attachment". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "attachment". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "attachment". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "attachment". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "attachment". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "attachment". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "attachment". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "attachment". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "attachment". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "attachment". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "attachment". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "attachment". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "attachment". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsAttachmentProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAttachmentProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsAttachmentProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "attachment" property. +func (this ActivityStreamsAttachmentProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsAttachmentProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAttachmentProperty) LessThan(o vocab.ActivityStreamsAttachmentProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("attachment") with any alias. +func (this ActivityStreamsAttachmentProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "attachment" + } else { + return "attachment" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "attachment". Invalidates all +// iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "attachment". Invalidates all +// iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "attachment". +func (this *ActivityStreamsAttachmentProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "attachment". Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "attachment". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsAttachmentProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsAttachmentPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "attachment", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsAttachmentPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAttachmentProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "attachment". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "attachment". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "attachment". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "attachment". Panics if the +// index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "attachment". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "attachment". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "attachment". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAttachmentProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "attachment". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttachmentProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "attachment". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "attachment". Panics if the index is out of bounds. +func (this *ActivityStreamsAttachmentProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "attachment". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAttachmentProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "attachment". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttachmentProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "attachment". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ActivityStreamsAttachmentProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsAttachmentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "attachment" property. +func (this ActivityStreamsAttachmentProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_doc.go new file mode 100644 index 000000000..08c99c087 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyattributedto contains the implementation for the attributedTo +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyattributedto diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_pkg.go new file mode 100644 index 000000000..bccd4bde3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyattributedto + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_property_activitystreams_attributedTo.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_property_activitystreams_attributedTo.go new file mode 100644 index 000000000..ca378cb9f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto/gen_property_activitystreams_attributedTo.go @@ -0,0 +1,7089 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyattributedto + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsAttributedToPropertyIterator is an iterator for a property. It +// is permitted to be one of multiple value types. At most, one type of value +// can be present, or none at all. Setting a value will clear the other types +// of values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsAttributedToPropertyIterator struct { + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsAttributedToProperty +} + +// NewActivityStreamsAttributedToPropertyIterator creates a new +// ActivityStreamsAttributedTo property. +func NewActivityStreamsAttributedToPropertyIterator() *ActivityStreamsAttributedToPropertyIterator { + return &ActivityStreamsAttributedToPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsAttributedToPropertyIterator creates an iterator from +// an element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsAttributedToPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsAttributedToPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsAttributedToPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsAttributedToPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsAttributedToPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsAttributedToPropertyIterator) HasAny() bool { + return this.IsActivityStreamsLink() || + this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsAttributedToPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsAttributedToPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsAttributedToPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAttributedToPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsAttributedToPropertyIterator) KindIndex() int { + if this.IsActivityStreamsLink() { + return 0 + } + if this.IsActivityStreamsObject() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAttributedToPropertyIterator) LessThan(o vocab.ActivityStreamsAttributedToPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsAttributedTo". +func (this ActivityStreamsAttributedToPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsAttributedTo" + } else { + return "ActivityStreamsAttributedTo" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsAttributedToPropertyIterator) Next() vocab.ActivityStreamsAttributedToPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsAttributedToPropertyIterator) Prev() vocab.ActivityStreamsAttributedToPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsAttributedToPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsAttributedToPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsAttributedTo property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsAttributedToPropertyIterator) clear() { + this.activitystreamsLinkMember = nil + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAttributedToPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsAttributedToProperty is the non-functional property +// "attributedTo". It is permitted to have one or more values, and of +// different value types. +type ActivityStreamsAttributedToProperty struct { + properties []*ActivityStreamsAttributedToPropertyIterator + alias string +} + +// DeserializeAttributedToProperty creates a "attributedTo" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeAttributedToProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "attributedTo" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "attributedTo") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsAttributedToProperty{ + alias: alias, + properties: []*ActivityStreamsAttributedToPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsAttributedToPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsAttributedToPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsAttributedToProperty creates a new attributedTo property. +func NewActivityStreamsAttributedToProperty() *ActivityStreamsAttributedToProperty { + return &ActivityStreamsAttributedToProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "attributedTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "attributedTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "attributedTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "attributedTo". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "attributedTo". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "attributedTo". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "attributedTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "attributedTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "attributedTo". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "attributedTo". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "attributedTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAttributedToProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "attributedTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "attributedTo" +func (this *ActivityStreamsAttributedToProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "attributedTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "attributedTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAttributedToProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "attributedTo". Invalidates iterators that are traversing using +// Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ActivityStreamsAttributedToProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsAttributedToProperty) At(index int) vocab.ActivityStreamsAttributedToPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsAttributedToProperty) Begin() vocab.ActivityStreamsAttributedToPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsAttributedToProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsAttributedToProperty) End() vocab.ActivityStreamsAttributedToPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "attributedTo". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "attributedTo". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "attributedTo". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "attributedTo". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "attributedTo". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "attributedTo". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "attributedTo". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "attributedTo". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "attributedTo". Existing +// elements at that index and higher are shifted back once. Invalidates all +// iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "attributedTo". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "attributedTo". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "attributedTo". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "attributedTo". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "attributedTo". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "attributedTo". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "attributedTo". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "attributedTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "attributedTo". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property +// "attributedTo". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "attributedTo". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "attributedTo". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "attributedTo". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsAttributedToProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAttributedToProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsAttributedToProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "attributedTo" property. +func (this ActivityStreamsAttributedToProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsAttributedToProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAttributedToProperty) LessThan(o vocab.ActivityStreamsAttributedToProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("attributedTo") with any alias. +func (this ActivityStreamsAttributedToProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "attributedTo" + } else { + return "attributedTo" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "attributedTo". Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "attributedTo". Invalidates all +// iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "attributedTo". Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "attributedTo". +func (this *ActivityStreamsAttributedToProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "attributedTo". Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "attributedTo". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsAttributedToProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsAttributedToPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "attributedTo", regardless of its type. Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsAttributedToPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAttributedToProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "attributedTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "attributedTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "attributedTo". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "attributedTo". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "attributedTo". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "attributedTo". Panics if the +// index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "attributedTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "attributedTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "attributedTo". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "attributedTo". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "attributedTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAttributedToProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "attributedTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAttributedToProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "attributedTo". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "attributedTo". Panics if the index is out of bounds. +func (this *ActivityStreamsAttributedToProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "attributedTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAttributedToProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "attributedTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAttributedToProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "attributedTo". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ActivityStreamsAttributedToProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsAttributedToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "attributedTo" +// property. +func (this ActivityStreamsAttributedToProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_doc.go new file mode 100644 index 000000000..0c4fc3e39 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyaudience contains the implementation for the audience property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyaudience diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_pkg.go new file mode 100644 index 000000000..9f7a550a5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyaudience + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_property_activitystreams_audience.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_property_activitystreams_audience.go new file mode 100644 index 000000000..aca72d149 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_audience/gen_property_activitystreams_audience.go @@ -0,0 +1,7042 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyaudience + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsAudiencePropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsAudiencePropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsAudienceProperty +} + +// NewActivityStreamsAudiencePropertyIterator creates a new +// ActivityStreamsAudience property. +func NewActivityStreamsAudiencePropertyIterator() *ActivityStreamsAudiencePropertyIterator { + return &ActivityStreamsAudiencePropertyIterator{alias: ""} +} + +// deserializeActivityStreamsAudiencePropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsAudiencePropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsAudiencePropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsAudiencePropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsAudiencePropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsAudiencePropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsAudiencePropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsAudiencePropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsAudiencePropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsAudiencePropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsAudiencePropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAudiencePropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsAudiencePropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAudiencePropertyIterator) LessThan(o vocab.ActivityStreamsAudiencePropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsAudience". +func (this ActivityStreamsAudiencePropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsAudience" + } else { + return "ActivityStreamsAudience" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsAudiencePropertyIterator) Next() vocab.ActivityStreamsAudiencePropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsAudiencePropertyIterator) Prev() vocab.ActivityStreamsAudiencePropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsAudiencePropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsAudiencePropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsAudience property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsAudiencePropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAudiencePropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsAudienceProperty is the non-functional property "audience". It +// is permitted to have one or more values, and of different value types. +type ActivityStreamsAudienceProperty struct { + properties []*ActivityStreamsAudiencePropertyIterator + alias string +} + +// DeserializeAudienceProperty creates a "audience" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeAudienceProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsAudienceProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "audience" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "audience") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsAudienceProperty{ + alias: alias, + properties: []*ActivityStreamsAudiencePropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsAudiencePropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsAudiencePropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsAudienceProperty creates a new audience property. +func NewActivityStreamsAudienceProperty() *ActivityStreamsAudienceProperty { + return &ActivityStreamsAudienceProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "audience". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "audience". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "audience". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "audience". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "audience". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "audience". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "audience". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "audience". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "audience". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "audience". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "audience". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "audience" +func (this *ActivityStreamsAudienceProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "audience". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsAudienceProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "audience". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsAudienceProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "audience". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsAudienceProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsAudienceProperty) At(index int) vocab.ActivityStreamsAudiencePropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsAudienceProperty) Begin() vocab.ActivityStreamsAudiencePropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsAudienceProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsAudienceProperty) End() vocab.ActivityStreamsAudiencePropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "audience". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "audience". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "audience". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "audience". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "audience". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "audience". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "audience". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "audience". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "audience". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "audience". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "audience". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "audience". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "audience". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "audience". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "audience". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "audience". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "audience". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsAudienceProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsAudienceProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsAudienceProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "audience" property. +func (this ActivityStreamsAudienceProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsAudienceProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsAudienceProperty) LessThan(o vocab.ActivityStreamsAudienceProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("audience") with any alias. +func (this ActivityStreamsAudienceProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "audience" + } else { + return "audience" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "audience". Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "audience". Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "audience". +func (this *ActivityStreamsAudienceProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "audience". Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "audience". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsAudienceProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsAudiencePropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "audience", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsAudiencePropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsAudienceProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "audience". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "audience". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "audience". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "audience". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "audience". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "audience". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "audience". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "audience". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsAudienceProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "audience". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsAudienceProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "audience". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "audience". Panics if the index is out of bounds. +func (this *ActivityStreamsAudienceProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "audience". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "audience". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsAudienceProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "audience". Invalidates all iterators. Returns an error if the type is not +// a valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsAudienceProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsAudiencePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "audience" property. +func (this ActivityStreamsAudienceProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_doc.go new file mode 100644 index 000000000..65292aaae --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertybcc contains the implementation for the bcc property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertybcc diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_pkg.go new file mode 100644 index 000000000..edc0629b5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertybcc + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_property_activitystreams_bcc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_property_activitystreams_bcc.go new file mode 100644 index 000000000..19beec707 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bcc/gen_property_activitystreams_bcc.go @@ -0,0 +1,7028 @@ +// Code generated by astool. DO NOT EDIT. + +package propertybcc + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsBccPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsBccPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsBccProperty +} + +// NewActivityStreamsBccPropertyIterator creates a new ActivityStreamsBcc property. +func NewActivityStreamsBccPropertyIterator() *ActivityStreamsBccPropertyIterator { + return &ActivityStreamsBccPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsBccPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsBccPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsBccPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBccPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsBccPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsBccPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsBccPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsBccPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsBccPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsBccPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsBccPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsBccPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsBccPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsBccPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsBccPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsBccPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsBccPropertyIterator) LessThan(o vocab.ActivityStreamsBccPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsBcc". +func (this ActivityStreamsBccPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsBcc" + } else { + return "ActivityStreamsBcc" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsBccPropertyIterator) Next() vocab.ActivityStreamsBccPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsBccPropertyIterator) Prev() vocab.ActivityStreamsBccPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsBccPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsBccPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsBccPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsBcc property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsBccPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsBccPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsBccProperty is the non-functional property "bcc". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsBccProperty struct { + properties []*ActivityStreamsBccPropertyIterator + alias string +} + +// DeserializeBccProperty creates a "bcc" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeBccProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsBccProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "bcc" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "bcc") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsBccProperty{ + alias: alias, + properties: []*ActivityStreamsBccPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsBccPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsBccPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsBccProperty creates a new bcc property. +func NewActivityStreamsBccProperty() *ActivityStreamsBccProperty { + return &ActivityStreamsBccProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "bcc". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "bcc". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "bcc". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "bcc". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "bcc". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "bcc". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "bcc". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "bcc". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "bcc". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "bcc". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "bcc". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsBccProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "bcc" +func (this *ActivityStreamsBccProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "bcc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBccProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "bcc". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsBccProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsBccProperty) At(index int) vocab.ActivityStreamsBccPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsBccProperty) Begin() vocab.ActivityStreamsBccPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsBccProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsBccProperty) End() vocab.ActivityStreamsBccPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "bcc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "bcc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "bcc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "bcc". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "bcc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "bcc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "bcc". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "bcc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "bcc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "bcc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "bcc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "bcc". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "bcc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "bcc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "bcc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "bcc". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "bcc". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "bcc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "bcc". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsBccProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsBccProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsBccProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "bcc" property. +func (this ActivityStreamsBccProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsBccProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsBccProperty) LessThan(o vocab.ActivityStreamsBccProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("bcc") with any alias. +func (this ActivityStreamsBccProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "bcc" + } else { + return "bcc" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "bcc". Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "bcc". Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "bcc". +func (this *ActivityStreamsBccProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "bcc". Invalidates all iterators. +func (this *ActivityStreamsBccProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsBccPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "bcc". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsBccProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsBccPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "bcc", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBccProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsBccPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsBccProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "bcc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "bcc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "bcc". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "bcc". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "bcc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "bcc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "bcc". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "bcc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "bcc". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "bcc". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "bcc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "bcc". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "bcc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "bcc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "bcc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "bcc". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "bcc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBccProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "bcc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "bcc". +// Panics if the index is out of bounds. +func (this *ActivityStreamsBccProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "bcc". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsBccProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "bcc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBccProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "bcc". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsBccProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsBccPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "bcc" property. +func (this ActivityStreamsBccProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_doc.go new file mode 100644 index 000000000..d2ed4646a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertybto contains the implementation for the bto property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertybto diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_pkg.go new file mode 100644 index 000000000..151b80b73 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertybto + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_property_activitystreams_bto.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_property_activitystreams_bto.go new file mode 100644 index 000000000..a3e8b2c2c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_bto/gen_property_activitystreams_bto.go @@ -0,0 +1,7028 @@ +// Code generated by astool. DO NOT EDIT. + +package propertybto + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsBtoPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsBtoPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsBtoProperty +} + +// NewActivityStreamsBtoPropertyIterator creates a new ActivityStreamsBto property. +func NewActivityStreamsBtoPropertyIterator() *ActivityStreamsBtoPropertyIterator { + return &ActivityStreamsBtoPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsBtoPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsBtoPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsBtoPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsBtoPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsBtoPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsBtoPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsBtoPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsBtoPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsBtoPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsBtoPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsBtoPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsBtoPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsBtoPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsBtoPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsBtoPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsBtoPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsBtoPropertyIterator) LessThan(o vocab.ActivityStreamsBtoPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsBto". +func (this ActivityStreamsBtoPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsBto" + } else { + return "ActivityStreamsBto" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsBtoPropertyIterator) Next() vocab.ActivityStreamsBtoPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsBtoPropertyIterator) Prev() vocab.ActivityStreamsBtoPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsBtoPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsBtoPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsBto property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsBtoPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsBtoPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsBtoProperty is the non-functional property "bto". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsBtoProperty struct { + properties []*ActivityStreamsBtoPropertyIterator + alias string +} + +// DeserializeBtoProperty creates a "bto" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeBtoProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsBtoProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "bto" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "bto") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsBtoProperty{ + alias: alias, + properties: []*ActivityStreamsBtoPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsBtoPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsBtoPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsBtoProperty creates a new bto property. +func NewActivityStreamsBtoProperty() *ActivityStreamsBtoProperty { + return &ActivityStreamsBtoProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "bto". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "bto". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "bto". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "bto". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "bto". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "bto". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "bto". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "bto". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "bto". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "bto". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "bto". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsBtoProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "bto" +func (this *ActivityStreamsBtoProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "bto". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsBtoProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "bto". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsBtoProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsBtoProperty) At(index int) vocab.ActivityStreamsBtoPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsBtoProperty) Begin() vocab.ActivityStreamsBtoPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsBtoProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsBtoProperty) End() vocab.ActivityStreamsBtoPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "bto". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "bto". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "bto". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "bto". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "bto". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "bto". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "bto". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "bto". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "bto". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "bto". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "bto". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "bto". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "bto". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "bto". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "bto". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "bto". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "bto". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "bto". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "bto". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsBtoProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsBtoProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsBtoProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "bto" property. +func (this ActivityStreamsBtoProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsBtoProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsBtoProperty) LessThan(o vocab.ActivityStreamsBtoProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("bto") with any alias. +func (this ActivityStreamsBtoProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "bto" + } else { + return "bto" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "bto". Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "bto". Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "bto". +func (this *ActivityStreamsBtoProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "bto". Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsBtoPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "bto". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsBtoProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsBtoPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "bto", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsBtoPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsBtoProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "bto". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "bto". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "bto". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "bto". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "bto". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "bto". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "bto". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "bto". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "bto". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "bto". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "bto". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "bto". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "bto". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "bto". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "bto". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "bto". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "bto". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsBtoProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "bto". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "bto". +// Panics if the index is out of bounds. +func (this *ActivityStreamsBtoProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "bto". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsBtoProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "bto". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsBtoProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "bto". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsBtoProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsBtoPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "bto" property. +func (this ActivityStreamsBtoProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_doc.go new file mode 100644 index 000000000..59f1c6ce9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertycc contains the implementation for the cc property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertycc diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_pkg.go new file mode 100644 index 000000000..5671fdfc2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycc + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_property_activitystreams_cc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_property_activitystreams_cc.go new file mode 100644 index 000000000..e4df02fa3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_cc/gen_property_activitystreams_cc.go @@ -0,0 +1,7028 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycc + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsCcPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsCcPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsCcProperty +} + +// NewActivityStreamsCcPropertyIterator creates a new ActivityStreamsCc property. +func NewActivityStreamsCcPropertyIterator() *ActivityStreamsCcPropertyIterator { + return &ActivityStreamsCcPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsCcPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsCcPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsCcPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCcPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsCcPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsCcPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsCcPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsCcPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsCcPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsCcPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsCcPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsCcPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsCcPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsCcPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsCcPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsCcPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsCcPropertyIterator) LessThan(o vocab.ActivityStreamsCcPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsCc". +func (this ActivityStreamsCcPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsCc" + } else { + return "ActivityStreamsCc" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsCcPropertyIterator) Next() vocab.ActivityStreamsCcPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsCcPropertyIterator) Prev() vocab.ActivityStreamsCcPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsCcPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsCcPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsCcPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsCc property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsCcPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsCcPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsCcProperty is the non-functional property "cc". It is permitted +// to have one or more values, and of different value types. +type ActivityStreamsCcProperty struct { + properties []*ActivityStreamsCcPropertyIterator + alias string +} + +// DeserializeCcProperty creates a "cc" property from an interface representation +// that has been unmarshalled from a text or binary format. +func DeserializeCcProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsCcProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "cc" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "cc") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsCcProperty{ + alias: alias, + properties: []*ActivityStreamsCcPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsCcPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsCcPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsCcProperty creates a new cc property. +func NewActivityStreamsCcProperty() *ActivityStreamsCcProperty { + return &ActivityStreamsCcProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "cc". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "cc". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "cc". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "cc". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "cc". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "cc". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "cc". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "cc". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "cc". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "cc". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "cc". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsCcProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "cc" +func (this *ActivityStreamsCcProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "cc". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsCcProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "cc". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsCcProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsCcProperty) At(index int) vocab.ActivityStreamsCcPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsCcProperty) Begin() vocab.ActivityStreamsCcPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsCcProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsCcProperty) End() vocab.ActivityStreamsCcPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "cc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "cc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "cc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "cc". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "cc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "cc". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "cc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "cc". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "cc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "cc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "cc". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "cc". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "cc". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "cc". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "cc". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "cc". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "cc". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsCcProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsCcProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsCcProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "cc" property. +func (this ActivityStreamsCcProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsCcProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsCcProperty) LessThan(o vocab.ActivityStreamsCcProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("cc") with any alias. +func (this ActivityStreamsCcProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "cc" + } else { + return "cc" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "cc". Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "cc". Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "cc". +func (this *ActivityStreamsCcProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "cc". Invalidates all iterators. +func (this *ActivityStreamsCcProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsCcPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "cc". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsCcProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsCcPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "cc", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsCcProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsCcPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsCcProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "cc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "cc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "cc". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "cc". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "cc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "cc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "cc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "cc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "cc". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "cc". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "cc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "cc". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "cc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "cc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "cc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "cc". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "cc". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsCcProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "cc". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "cc". +// Panics if the index is out of bounds. +func (this *ActivityStreamsCcProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "cc". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsCcProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "cc". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsCcProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "cc". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsCcProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsCcPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "cc" property. +func (this ActivityStreamsCcProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_doc.go new file mode 100644 index 000000000..b98a695ac --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyclosed contains the implementation for the closed property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyclosed diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_pkg.go new file mode 100644 index 000000000..cc4ce57cc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyclosed + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_property_activitystreams_closed.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_property_activitystreams_closed.go new file mode 100644 index 000000000..ffe820f1b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_closed/gen_property_activitystreams_closed.go @@ -0,0 +1,7240 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyclosed + +import ( + "fmt" + boolean "github.com/go-fed/activity/streams/values/boolean" + datetime "github.com/go-fed/activity/streams/values/dateTime" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" + "time" +) + +// ActivityStreamsClosedPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsClosedPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + xmlschemaDateTimeMember time.Time + hasDateTimeMember bool + xmlschemaBooleanMember bool + hasBooleanMember bool + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsClosedProperty +} + +// NewActivityStreamsClosedPropertyIterator creates a new ActivityStreamsClosed +// property. +func NewActivityStreamsClosedPropertyIterator() *ActivityStreamsClosedPropertyIterator { + return &ActivityStreamsClosedPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsClosedPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsClosedPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsClosedPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + if v, err := datetime.DeserializeDateTime(i); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + hasDateTimeMember: true, + xmlschemaDateTimeMember: v, + } + return this, nil + } else if v, err := boolean.DeserializeBoolean(i); err == nil { + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + hasBooleanMember: true, + xmlschemaBooleanMember: v, + } + return this, nil + } + this := &ActivityStreamsClosedPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsClosedPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// GetXMLSchemaBoolean returns the value of this property. When IsXMLSchemaBoolean +// returns false, GetXMLSchemaBoolean will return an arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetXMLSchemaBoolean() bool { + return this.xmlschemaBooleanMember +} + +// GetXMLSchemaDateTime returns the value of this property. When +// IsXMLSchemaDateTime returns false, GetXMLSchemaDateTime will return an +// arbitrary value. +func (this ActivityStreamsClosedPropertyIterator) GetXMLSchemaDateTime() time.Time { + return this.xmlschemaDateTimeMember +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsClosedPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsXMLSchemaDateTime() || + this.IsXMLSchemaBoolean() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsClosedPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsClosedPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsClosedPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsClosedPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsClosedPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// IsXMLSchemaBoolean returns true if this property has a type of "boolean". When +// true, use the GetXMLSchemaBoolean and SetXMLSchemaBoolean methods to access +// and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsXMLSchemaBoolean() bool { + return this.hasBooleanMember +} + +// IsXMLSchemaDateTime returns true if this property has a type of "dateTime". +// When true, use the GetXMLSchemaDateTime and SetXMLSchemaDateTime methods to +// access and set this property. +func (this ActivityStreamsClosedPropertyIterator) IsXMLSchemaDateTime() bool { + return this.hasDateTimeMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsClosedPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsClosedPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsXMLSchemaDateTime() { + return 2 + } + if this.IsXMLSchemaBoolean() { + return 3 + } + if this.IsActivityStreamsAccept() { + return 4 + } + if this.IsActivityStreamsActivity() { + return 5 + } + if this.IsActivityStreamsAdd() { + return 6 + } + if this.IsActivityStreamsAnnounce() { + return 7 + } + if this.IsActivityStreamsApplication() { + return 8 + } + if this.IsActivityStreamsArrive() { + return 9 + } + if this.IsActivityStreamsArticle() { + return 10 + } + if this.IsActivityStreamsAudio() { + return 11 + } + if this.IsActivityStreamsBlock() { + return 12 + } + if this.IsForgeFedBranch() { + return 13 + } + if this.IsActivityStreamsCollection() { + return 14 + } + if this.IsActivityStreamsCollectionPage() { + return 15 + } + if this.IsForgeFedCommit() { + return 16 + } + if this.IsActivityStreamsCreate() { + return 17 + } + if this.IsActivityStreamsDelete() { + return 18 + } + if this.IsActivityStreamsDislike() { + return 19 + } + if this.IsActivityStreamsDocument() { + return 20 + } + if this.IsTootEmoji() { + return 21 + } + if this.IsActivityStreamsEvent() { + return 22 + } + if this.IsActivityStreamsFlag() { + return 23 + } + if this.IsActivityStreamsFollow() { + return 24 + } + if this.IsActivityStreamsGroup() { + return 25 + } + if this.IsTootIdentityProof() { + return 26 + } + if this.IsActivityStreamsIgnore() { + return 27 + } + if this.IsActivityStreamsImage() { + return 28 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 29 + } + if this.IsActivityStreamsInvite() { + return 30 + } + if this.IsActivityStreamsJoin() { + return 31 + } + if this.IsActivityStreamsLeave() { + return 32 + } + if this.IsActivityStreamsLike() { + return 33 + } + if this.IsActivityStreamsListen() { + return 34 + } + if this.IsActivityStreamsMention() { + return 35 + } + if this.IsActivityStreamsMove() { + return 36 + } + if this.IsActivityStreamsNote() { + return 37 + } + if this.IsActivityStreamsOffer() { + return 38 + } + if this.IsActivityStreamsOrderedCollection() { + return 39 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 40 + } + if this.IsActivityStreamsOrganization() { + return 41 + } + if this.IsActivityStreamsPage() { + return 42 + } + if this.IsActivityStreamsPerson() { + return 43 + } + if this.IsActivityStreamsPlace() { + return 44 + } + if this.IsActivityStreamsProfile() { + return 45 + } + if this.IsForgeFedPush() { + return 46 + } + if this.IsActivityStreamsQuestion() { + return 47 + } + if this.IsActivityStreamsRead() { + return 48 + } + if this.IsActivityStreamsReject() { + return 49 + } + if this.IsActivityStreamsRelationship() { + return 50 + } + if this.IsActivityStreamsRemove() { + return 51 + } + if this.IsForgeFedRepository() { + return 52 + } + if this.IsActivityStreamsService() { + return 53 + } + if this.IsActivityStreamsTentativeAccept() { + return 54 + } + if this.IsActivityStreamsTentativeReject() { + return 55 + } + if this.IsForgeFedTicket() { + return 56 + } + if this.IsForgeFedTicketDependency() { + return 57 + } + if this.IsActivityStreamsTombstone() { + return 58 + } + if this.IsActivityStreamsTravel() { + return 59 + } + if this.IsActivityStreamsUndo() { + return 60 + } + if this.IsActivityStreamsUpdate() { + return 61 + } + if this.IsActivityStreamsVideo() { + return 62 + } + if this.IsActivityStreamsView() { + return 63 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsClosedPropertyIterator) LessThan(o vocab.ActivityStreamsClosedPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsXMLSchemaDateTime() { + return datetime.LessDateTime(this.GetXMLSchemaDateTime(), o.GetXMLSchemaDateTime()) + } else if this.IsXMLSchemaBoolean() { + return boolean.LessBoolean(this.GetXMLSchemaBoolean(), o.GetXMLSchemaBoolean()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsClosed". +func (this ActivityStreamsClosedPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsClosed" + } else { + return "ActivityStreamsClosed" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsClosedPropertyIterator) Next() vocab.ActivityStreamsClosedPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsClosedPropertyIterator) Prev() vocab.ActivityStreamsClosedPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsClosedPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsClosed property: %T", t) +} + +// SetXMLSchemaBoolean sets the value of this property. Calling IsXMLSchemaBoolean +// afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetXMLSchemaBoolean(v bool) { + this.clear() + this.xmlschemaBooleanMember = v + this.hasBooleanMember = true +} + +// SetXMLSchemaDateTime sets the value of this property. Calling +// IsXMLSchemaDateTime afterwards returns true. +func (this *ActivityStreamsClosedPropertyIterator) SetXMLSchemaDateTime(v time.Time) { + this.clear() + this.xmlschemaDateTimeMember = v + this.hasDateTimeMember = true +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsClosedPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.hasDateTimeMember = false + this.hasBooleanMember = false + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsClosedPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsXMLSchemaDateTime() { + return datetime.SerializeDateTime(this.GetXMLSchemaDateTime()) + } else if this.IsXMLSchemaBoolean() { + return boolean.SerializeBoolean(this.GetXMLSchemaBoolean()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsClosedProperty is the non-functional property "closed". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsClosedProperty struct { + properties []*ActivityStreamsClosedPropertyIterator + alias string +} + +// DeserializeClosedProperty creates a "closed" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeClosedProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsClosedProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "closed" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "closed") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsClosedProperty{ + alias: alias, + properties: []*ActivityStreamsClosedPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsClosedPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsClosedPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsClosedProperty creates a new closed property. +func NewActivityStreamsClosedProperty() *ActivityStreamsClosedProperty { + return &ActivityStreamsClosedProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "closed". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "closed". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "closed". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "closed". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "closed". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "closed". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "closed". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "closed". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "closed". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "closed". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "closed". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "closed". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsClosedProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "closed" +func (this *ActivityStreamsClosedProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsClosedProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// AppendXMLSchemaBoolean appends a boolean value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendXMLSchemaBoolean(v bool) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + hasBooleanMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaBooleanMember: v, + }) +} + +// AppendXMLSchemaDateTime appends a dateTime value to the back of a list of the +// property "closed". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsClosedProperty) AppendXMLSchemaDateTime(v time.Time) { + this.properties = append(this.properties, &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + hasDateTimeMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaDateTimeMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsClosedProperty) At(index int) vocab.ActivityStreamsClosedPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsClosedProperty) Begin() vocab.ActivityStreamsClosedPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsClosedProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsClosedProperty) End() vocab.ActivityStreamsClosedPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "closed". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "closed". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "closed". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "closed". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "closed". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "closed". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "closed". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "closed". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "closed". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "closed". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "closed". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "closed". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "closed". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "closed". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "closed". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "closed". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "closed". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "closed". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "closed". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "closed". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "closed". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsClosedProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// InsertXMLSchemaBoolean inserts a boolean value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertXMLSchemaBoolean(idx int, v bool) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + hasBooleanMember: true, + myIdx: idx, + parent: this, + xmlschemaBooleanMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaDateTime inserts a dateTime value at the specified index for a +// property "closed". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) InsertXMLSchemaDateTime(idx int, v time.Time) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + hasDateTimeMember: true, + myIdx: idx, + parent: this, + xmlschemaDateTimeMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsClosedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsClosedProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "closed" property. +func (this ActivityStreamsClosedProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsClosedProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetXMLSchemaDateTime() + rhs := this.properties[j].GetXMLSchemaDateTime() + return datetime.LessDateTime(lhs, rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetXMLSchemaBoolean() + rhs := this.properties[j].GetXMLSchemaBoolean() + return boolean.LessBoolean(lhs, rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 62 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 63 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsClosedProperty) LessThan(o vocab.ActivityStreamsClosedProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("closed") with any alias. +func (this ActivityStreamsClosedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "closed" + } else { + return "closed" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "closed". Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "closed". Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "closed". +func (this *ActivityStreamsClosedProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "closed". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsClosedProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsClosedPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// PrependXMLSchemaBoolean prepends a boolean value to the front of a list of the +// property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependXMLSchemaBoolean(v bool) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + hasBooleanMember: true, + myIdx: 0, + parent: this, + xmlschemaBooleanMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaDateTime prepends a dateTime value to the front of a list of +// the property "closed". Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) PrependXMLSchemaDateTime(v time.Time) { + this.properties = append([]*ActivityStreamsClosedPropertyIterator{{ + alias: this.alias, + hasDateTimeMember: true, + myIdx: 0, + parent: this, + xmlschemaDateTimeMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "closed", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsClosedPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsClosedProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "closed". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "closed". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "closed". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "closed". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "closed". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "closed". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "closed". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "closed". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsClosedProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "closed". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "closed". Panics if the index is out of bounds. +func (this *ActivityStreamsClosedProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "closed". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "closed". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsClosedProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "closed". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsClosedProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// SetXMLSchemaBoolean sets a boolean value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetXMLSchemaBoolean(idx int, v bool) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + hasBooleanMember: true, + myIdx: idx, + parent: this, + xmlschemaBooleanMember: v, + } +} + +// SetXMLSchemaDateTime sets a dateTime value to be at the specified index for the +// property "closed". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsClosedProperty) SetXMLSchemaDateTime(idx int, v time.Time) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsClosedPropertyIterator{ + alias: this.alias, + hasDateTimeMember: true, + myIdx: idx, + parent: this, + xmlschemaDateTimeMember: v, + } +} + +// Swap swaps the location of values at two indices for the "closed" property. +func (this ActivityStreamsClosedProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_doc.go new file mode 100644 index 000000000..722a4a72e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertycontent contains the implementation for the content property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertycontent diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_pkg.go new file mode 100644 index 000000000..8d2ea1607 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycontent + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_property_activitystreams_content.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_property_activitystreams_content.go new file mode 100644 index 000000000..8e6b624ad --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_content/gen_property_activitystreams_content.go @@ -0,0 +1,668 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycontent + +import ( + "fmt" + langstring "github.com/go-fed/activity/streams/values/langString" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsContentPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsContentPropertyIterator struct { + xmlschemaStringMember string + hasStringMember bool + rdfLangStringMember map[string]string + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsContentProperty +} + +// NewActivityStreamsContentPropertyIterator creates a new ActivityStreamsContent +// property. +func NewActivityStreamsContentPropertyIterator() *ActivityStreamsContentPropertyIterator { + return &ActivityStreamsContentPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsContentPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsContentPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsContentPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsContentPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ActivityStreamsContentPropertyIterator{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } else if v, err := langstring.DeserializeLangString(i); err == nil { + this := &ActivityStreamsContentPropertyIterator{ + alias: alias, + rdfLangStringMember: v, + } + return this, nil + } + this := &ActivityStreamsContentPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsContentPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetLanguage returns the value for the specified BCP47 language code, or an +// empty string if it is either not a language map or no value is present. +func (this ActivityStreamsContentPropertyIterator) GetLanguage(bcp47 string) string { + if this.rdfLangStringMember == nil { + return "" + } else if v, ok := this.rdfLangStringMember[bcp47]; ok { + return v + } else { + return "" + } +} + +// GetRDFLangString returns the value of this property. When IsRDFLangString +// returns false, GetRDFLangString will return an arbitrary value. +func (this ActivityStreamsContentPropertyIterator) GetRDFLangString() map[string]string { + return this.rdfLangStringMember +} + +// GetXMLSchemaString returns the value of this property. When IsXMLSchemaString +// returns false, GetXMLSchemaString will return an arbitrary value. +func (this ActivityStreamsContentPropertyIterator) GetXMLSchemaString() string { + return this.xmlschemaStringMember +} + +// HasAny returns true if any of the values are set, except for the natural +// language map. When true, the specific has, getter, and setter methods may +// be used to determine what kind of value there is to access and set this +// property. To determine if the property was set as a natural language map, +// use the IsRDFLangString method instead. +func (this ActivityStreamsContentPropertyIterator) HasAny() bool { + return this.IsXMLSchemaString() || + this.IsRDFLangString() || + this.iri != nil +} + +// HasLanguage returns true if the natural language map has an entry for the +// specified BCP47 language code. +func (this ActivityStreamsContentPropertyIterator) HasLanguage(bcp47 string) bool { + if this.rdfLangStringMember == nil { + return false + } else { + _, ok := this.rdfLangStringMember[bcp47] + return ok + } +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsContentPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsRDFLangString returns true if this property has a type of "langString". When +// true, use the GetRDFLangString and SetRDFLangString methods to access and +// set this property.. To determine if the property was set as a natural +// language map, use the IsRDFLangString method instead. +func (this ActivityStreamsContentPropertyIterator) IsRDFLangString() bool { + return this.rdfLangStringMember != nil +} + +// IsXMLSchemaString returns true if this property has a type of "string". When +// true, use the GetXMLSchemaString and SetXMLSchemaString methods to access +// and set this property.. To determine if the property was set as a natural +// language map, use the IsRDFLangString method instead. +func (this ActivityStreamsContentPropertyIterator) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsContentPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsContentPropertyIterator) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsRDFLangString() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsContentPropertyIterator) LessThan(o vocab.ActivityStreamsContentPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsXMLSchemaString() { + return string1.LessString(this.GetXMLSchemaString(), o.GetXMLSchemaString()) + } else if this.IsRDFLangString() { + return langstring.LessLangString(this.GetRDFLangString(), o.GetRDFLangString()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsContent". +func (this ActivityStreamsContentPropertyIterator) Name() string { + if this.IsRDFLangString() { + return "ActivityStreamsContentMap" + } else { + return "ActivityStreamsContent" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsContentPropertyIterator) Next() vocab.ActivityStreamsContentPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsContentPropertyIterator) Prev() vocab.ActivityStreamsContentPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsContentPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetLanguage sets the value for the specified BCP47 language code. +func (this *ActivityStreamsContentPropertyIterator) SetLanguage(bcp47, value string) { + this.hasStringMember = false + this.rdfLangStringMember = nil + this.unknown = nil + this.iri = nil + if this.rdfLangStringMember == nil { + this.rdfLangStringMember = make(map[string]string) + } + this.rdfLangStringMember[bcp47] = value +} + +// SetRDFLangString sets the value of this property and clears the natural +// language map. Calling IsRDFLangString afterwards will return true. Calling +// IsRDFLangString afterwards returns false. +func (this *ActivityStreamsContentPropertyIterator) SetRDFLangString(v map[string]string) { + this.clear() + this.rdfLangStringMember = v +} + +// SetXMLSchemaString sets the value of this property and clears the natural +// language map. Calling IsXMLSchemaString afterwards will return true. +// Calling IsRDFLangString afterwards returns false. +func (this *ActivityStreamsContentPropertyIterator) SetXMLSchemaString(v string) { + this.clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// clear ensures no value and no language map for this property is set. Calling +// HasAny or any of the 'Is' methods afterwards will return false. +func (this *ActivityStreamsContentPropertyIterator) clear() { + this.hasStringMember = false + this.rdfLangStringMember = nil + this.unknown = nil + this.iri = nil + this.rdfLangStringMember = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsContentPropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.GetXMLSchemaString()) + } else if this.IsRDFLangString() { + return langstring.SerializeLangString(this.GetRDFLangString()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsContentProperty is the non-functional property "content". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsContentProperty struct { + properties []*ActivityStreamsContentPropertyIterator + alias string +} + +// DeserializeContentProperty creates a "content" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeContentProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsContentProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "content" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "content") + } + i, ok := m[propName] + if !ok { + // Attempt to find the map instead. + i, ok = m[propName+"Map"] + } + if ok { + this := &ActivityStreamsContentProperty{ + alias: alias, + properties: []*ActivityStreamsContentPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsContentPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsContentPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsContentProperty creates a new content property. +func NewActivityStreamsContentProperty() *ActivityStreamsContentProperty { + return &ActivityStreamsContentProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property "content" +func (this *ActivityStreamsContentProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendRDFLangString appends a langString value to the back of a list of the +// property "content". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContentProperty) AppendRDFLangString(v map[string]string) { + this.properties = append(this.properties, &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + rdfLangStringMember: v, + }) +} + +// AppendXMLSchemaString appends a string value to the back of a list of the +// property "content". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContentProperty) AppendXMLSchemaString(v string) { + this.properties = append(this.properties, &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaStringMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsContentProperty) At(index int) vocab.ActivityStreamsContentPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsContentProperty) Begin() vocab.ActivityStreamsContentPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsContentProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsContentProperty) End() vocab.ActivityStreamsContentPropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property "content". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsContentProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertRDFLangString inserts a langString value at the specified index for a +// property "content". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContentProperty) InsertRDFLangString(idx int, v map[string]string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + rdfLangStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaString inserts a string value at the specified index for a +// property "content". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContentProperty) InsertXMLSchemaString(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsContentProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsContentProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "content" property. +func (this ActivityStreamsContentProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsContentProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetXMLSchemaString() + rhs := this.properties[j].GetXMLSchemaString() + return string1.LessString(lhs, rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetRDFLangString() + rhs := this.properties[j].GetRDFLangString() + return langstring.LessLangString(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsContentProperty) LessThan(o vocab.ActivityStreamsContentProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("content") with any alias. +func (this ActivityStreamsContentProperty) Name() string { + if this.Len() == 1 && this.At(0).IsRDFLangString() { + return "contentMap" + } else { + return "content" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "content". +func (this *ActivityStreamsContentProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsContentPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependRDFLangString prepends a langString value to the front of a list of the +// property "content". Invalidates all iterators. +func (this *ActivityStreamsContentProperty) PrependRDFLangString(v map[string]string) { + this.properties = append([]*ActivityStreamsContentPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + rdfLangStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaString prepends a string value to the front of a list of the +// property "content". Invalidates all iterators. +func (this *ActivityStreamsContentProperty) PrependXMLSchemaString(v string) { + this.properties = append([]*ActivityStreamsContentPropertyIterator{{ + alias: this.alias, + hasStringMember: true, + myIdx: 0, + parent: this, + xmlschemaStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "content", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContentProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsContentPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsContentProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "content". Panics if the index is out of bounds. +func (this *ActivityStreamsContentProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetRDFLangString sets a langString value to be at the specified index for the +// property "content". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContentProperty) SetRDFLangString(idx int, v map[string]string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + rdfLangStringMember: v, + } +} + +// SetXMLSchemaString sets a string value to be at the specified index for the +// property "content". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContentProperty) SetXMLSchemaString(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContentPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } +} + +// Swap swaps the location of values at two indices for the "content" property. +func (this ActivityStreamsContentProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_doc.go new file mode 100644 index 000000000..b3d0a4934 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertycontext contains the implementation for the context property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertycontext diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_pkg.go new file mode 100644 index 000000000..54bf7c06e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycontext + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_property_activitystreams_context.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_property_activitystreams_context.go new file mode 100644 index 000000000..a173a4699 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_context/gen_property_activitystreams_context.go @@ -0,0 +1,7042 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycontext + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsContextPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsContextPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsContextProperty +} + +// NewActivityStreamsContextPropertyIterator creates a new ActivityStreamsContext +// property. +func NewActivityStreamsContextPropertyIterator() *ActivityStreamsContextPropertyIterator { + return &ActivityStreamsContextPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsContextPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsContextPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsContextPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsContextPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsContextPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsContextPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsContextPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsContextPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsContextPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsContextPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsContextPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsContextPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsContextPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsContextPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsContextPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsContextPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsContextPropertyIterator) LessThan(o vocab.ActivityStreamsContextPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsContext". +func (this ActivityStreamsContextPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsContext" + } else { + return "ActivityStreamsContext" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsContextPropertyIterator) Next() vocab.ActivityStreamsContextPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsContextPropertyIterator) Prev() vocab.ActivityStreamsContextPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsContextPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsContextPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsContextPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsContext property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsContextPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsContextPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsContextProperty is the non-functional property "context". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsContextProperty struct { + properties []*ActivityStreamsContextPropertyIterator + alias string +} + +// DeserializeContextProperty creates a "context" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeContextProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsContextProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "context" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "context") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsContextProperty{ + alias: alias, + properties: []*ActivityStreamsContextPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsContextPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsContextPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsContextProperty creates a new context property. +func NewActivityStreamsContextProperty() *ActivityStreamsContextProperty { + return &ActivityStreamsContextProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "context". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "context". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "context". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "context". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "context". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "context". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "context". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "context". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "context". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "context". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "context". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsContextProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "context" +func (this *ActivityStreamsContextProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "context". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsContextProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "context". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsContextProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "context". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsContextProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsContextProperty) At(index int) vocab.ActivityStreamsContextPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsContextProperty) Begin() vocab.ActivityStreamsContextPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsContextProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsContextProperty) End() vocab.ActivityStreamsContextPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "context". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "context". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "context". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "context". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "context". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "context". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "context". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "context". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "context". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "context". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "context". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "context". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "context". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "context". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "context". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "context". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "context". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsContextProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsContextProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsContextProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "context" property. +func (this ActivityStreamsContextProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsContextProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsContextProperty) LessThan(o vocab.ActivityStreamsContextProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("context") with any alias. +func (this ActivityStreamsContextProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "context" + } else { + return "context" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "context". Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "context". Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "context". +func (this *ActivityStreamsContextProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "context". Invalidates all iterators. +func (this *ActivityStreamsContextProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsContextPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "context". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsContextProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsContextPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "context", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsContextPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsContextProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "context". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "context". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "context". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "context". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "context". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "context". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "context". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "context". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsContextProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "context". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsContextProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "context". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "context". Panics if the index is out of bounds. +func (this *ActivityStreamsContextProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "context". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "context". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsContextProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "context". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsContextProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsContextPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "context" property. +func (this ActivityStreamsContextProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_doc.go new file mode 100644 index 000000000..4e598e242 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertycurrent contains the implementation for the current property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertycurrent diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_pkg.go new file mode 100644 index 000000000..c52916bdf --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycurrent + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_property_activitystreams_current.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_property_activitystreams_current.go new file mode 100644 index 000000000..0c9c6001e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_current/gen_property_activitystreams_current.go @@ -0,0 +1,359 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycurrent + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsCurrentProperty is the functional property "current". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsCurrentProperty struct { + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeCurrentProperty creates a "current" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeCurrentProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsCurrentProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "current" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "current") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsCurrentProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCurrentProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCurrentProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCurrentProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsCurrentProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsCurrentProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsCurrentProperty creates a new current property. +func NewActivityStreamsCurrentProperty() *ActivityStreamsCurrentProperty { + return &ActivityStreamsCurrentProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsCurrentProperty) Clear() { + this.activitystreamsCollectionPageMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsCurrentProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsCurrentProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsCurrentProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsCurrentProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsCurrentProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsCurrentProperty) GetType() vocab.Type { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsCurrentProperty) HasAny() bool { + return this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsCurrentProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsCurrentProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsCurrentProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsCurrentProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsCurrentProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsCurrentProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsCurrentProperty) KindIndex() int { + if this.IsActivityStreamsCollectionPage() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsCurrentProperty) LessThan(o vocab.ActivityStreamsCurrentProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "current". +func (this ActivityStreamsCurrentProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "current" + } else { + return "current" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsCurrentProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsCurrentProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsCurrentProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsCurrentProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsCurrentProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsCurrentProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsCurrentProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on current property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_doc.go new file mode 100644 index 000000000..e774a6cd5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydeleted contains the implementation for the deleted property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydeleted diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_pkg.go new file mode 100644 index 000000000..37abebbad --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydeleted + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_property_activitystreams_deleted.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_property_activitystreams_deleted.go new file mode 100644 index 000000000..beb3f8ce7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_deleted/gen_property_activitystreams_deleted.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydeleted + +import ( + "fmt" + datetime "github.com/go-fed/activity/streams/values/dateTime" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" + "time" +) + +// ActivityStreamsDeletedProperty is the functional property "deleted". It is +// permitted to be a single default-valued value type. +type ActivityStreamsDeletedProperty struct { + xmlschemaDateTimeMember time.Time + hasDateTimeMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeDeletedProperty creates a "deleted" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeDeletedProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsDeletedProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "deleted" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "deleted") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsDeletedProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := datetime.DeserializeDateTime(i); err == nil { + this := &ActivityStreamsDeletedProperty{ + alias: alias, + hasDateTimeMember: true, + xmlschemaDateTimeMember: v, + } + return this, nil + } + this := &ActivityStreamsDeletedProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsDeletedProperty creates a new deleted property. +func NewActivityStreamsDeletedProperty() *ActivityStreamsDeletedProperty { + return &ActivityStreamsDeletedProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaDateTime +// afterwards will return false. +func (this *ActivityStreamsDeletedProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasDateTimeMember = false +} + +// Get returns the value of this property. When IsXMLSchemaDateTime returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsDeletedProperty) Get() time.Time { + return this.xmlschemaDateTimeMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsDeletedProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsDeletedProperty) HasAny() bool { + return this.IsXMLSchemaDateTime() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsDeletedProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaDateTime returns true if this property is set and not an IRI. +func (this ActivityStreamsDeletedProperty) IsXMLSchemaDateTime() bool { + return this.hasDateTimeMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsDeletedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsDeletedProperty) KindIndex() int { + if this.IsXMLSchemaDateTime() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsDeletedProperty) LessThan(o vocab.ActivityStreamsDeletedProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaDateTime() && o.IsXMLSchemaDateTime() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return datetime.LessDateTime(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "deleted". +func (this ActivityStreamsDeletedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "deleted" + } else { + return "deleted" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsDeletedProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaDateTime() { + return datetime.SerializeDateTime(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaDateTime afterwards +// will return true. +func (this *ActivityStreamsDeletedProperty) Set(v time.Time) { + this.Clear() + this.xmlschemaDateTimeMember = v + this.hasDateTimeMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsDeletedProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_doc.go new file mode 100644 index 000000000..5787b3500 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydescribes contains the implementation for the describes +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydescribes diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_pkg.go new file mode 100644 index 000000000..553d52a2d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_pkg.go @@ -0,0 +1,257 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydescribes + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_property_activitystreams_describes.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_property_activitystreams_describes.go new file mode 100644 index 000000000..1f66d6c09 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_describes/gen_property_activitystreams_describes.go @@ -0,0 +1,2932 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydescribes + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsDescribesProperty is the functional property "describes". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsDescribesProperty struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeDescribesProperty creates a "describes" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeDescribesProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsDescribesProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "describes" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "describes") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsDescribesProperty{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsDescribesProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsDescribesProperty creates a new describes property. +func NewActivityStreamsDescribesProperty() *ActivityStreamsDescribesProperty { + return &ActivityStreamsDescribesProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsDescribesProperty) Clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsDescribesProperty) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsDescribesProperty) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsDescribesProperty) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsDescribesProperty) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsDescribesProperty) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsDescribesProperty) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsDescribesProperty) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsDescribesProperty) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsDescribesProperty) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsDescribesProperty) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsDescribesProperty) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsDescribesProperty) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsDescribesProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsDescribesProperty) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsAccept() { + return 1 + } + if this.IsActivityStreamsActivity() { + return 2 + } + if this.IsActivityStreamsAdd() { + return 3 + } + if this.IsActivityStreamsAnnounce() { + return 4 + } + if this.IsActivityStreamsApplication() { + return 5 + } + if this.IsActivityStreamsArrive() { + return 6 + } + if this.IsActivityStreamsArticle() { + return 7 + } + if this.IsActivityStreamsAudio() { + return 8 + } + if this.IsActivityStreamsBlock() { + return 9 + } + if this.IsForgeFedBranch() { + return 10 + } + if this.IsActivityStreamsCollection() { + return 11 + } + if this.IsActivityStreamsCollectionPage() { + return 12 + } + if this.IsForgeFedCommit() { + return 13 + } + if this.IsActivityStreamsCreate() { + return 14 + } + if this.IsActivityStreamsDelete() { + return 15 + } + if this.IsActivityStreamsDislike() { + return 16 + } + if this.IsActivityStreamsDocument() { + return 17 + } + if this.IsTootEmoji() { + return 18 + } + if this.IsActivityStreamsEvent() { + return 19 + } + if this.IsActivityStreamsFlag() { + return 20 + } + if this.IsActivityStreamsFollow() { + return 21 + } + if this.IsActivityStreamsGroup() { + return 22 + } + if this.IsTootIdentityProof() { + return 23 + } + if this.IsActivityStreamsIgnore() { + return 24 + } + if this.IsActivityStreamsImage() { + return 25 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 26 + } + if this.IsActivityStreamsInvite() { + return 27 + } + if this.IsActivityStreamsJoin() { + return 28 + } + if this.IsActivityStreamsLeave() { + return 29 + } + if this.IsActivityStreamsLike() { + return 30 + } + if this.IsActivityStreamsListen() { + return 31 + } + if this.IsActivityStreamsMove() { + return 32 + } + if this.IsActivityStreamsNote() { + return 33 + } + if this.IsActivityStreamsOffer() { + return 34 + } + if this.IsActivityStreamsOrderedCollection() { + return 35 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 36 + } + if this.IsActivityStreamsOrganization() { + return 37 + } + if this.IsActivityStreamsPage() { + return 38 + } + if this.IsActivityStreamsPerson() { + return 39 + } + if this.IsActivityStreamsPlace() { + return 40 + } + if this.IsActivityStreamsProfile() { + return 41 + } + if this.IsForgeFedPush() { + return 42 + } + if this.IsActivityStreamsQuestion() { + return 43 + } + if this.IsActivityStreamsRead() { + return 44 + } + if this.IsActivityStreamsReject() { + return 45 + } + if this.IsActivityStreamsRelationship() { + return 46 + } + if this.IsActivityStreamsRemove() { + return 47 + } + if this.IsForgeFedRepository() { + return 48 + } + if this.IsActivityStreamsService() { + return 49 + } + if this.IsActivityStreamsTentativeAccept() { + return 50 + } + if this.IsActivityStreamsTentativeReject() { + return 51 + } + if this.IsForgeFedTicket() { + return 52 + } + if this.IsForgeFedTicketDependency() { + return 53 + } + if this.IsActivityStreamsTombstone() { + return 54 + } + if this.IsActivityStreamsTravel() { + return 55 + } + if this.IsActivityStreamsUndo() { + return 56 + } + if this.IsActivityStreamsUpdate() { + return 57 + } + if this.IsActivityStreamsVideo() { + return 58 + } + if this.IsActivityStreamsView() { + return 59 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsDescribesProperty) LessThan(o vocab.ActivityStreamsDescribesProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "describes". +func (this ActivityStreamsDescribesProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "describes" + } else { + return "describes" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsDescribesProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.Clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.Clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.Clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.Clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.Clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.Clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.Clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.Clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.Clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.Clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.Clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.Clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.Clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.Clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.Clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.Clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.Clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.Clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.Clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.Clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.Clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.Clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.Clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.Clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.Clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.Clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.Clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.Clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.Clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.Clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.Clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.Clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.Clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.Clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.Clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.Clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.Clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.Clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.Clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.Clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.Clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.Clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.Clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.Clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.Clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.Clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.Clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.Clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.Clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.Clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetForgeFedPush(v vocab.ForgeFedPush) { + this.Clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.Clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.Clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.Clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsDescribesProperty) SetTootEmoji(v vocab.TootEmoji) { + this.Clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsDescribesProperty) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.Clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsDescribesProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on describes property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_doc.go new file mode 100644 index 000000000..3ebc4df92 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyduration contains the implementation for the duration property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyduration diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_pkg.go new file mode 100644 index 000000000..3c6cd3f05 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyduration + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_property_activitystreams_duration.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_property_activitystreams_duration.go new file mode 100644 index 000000000..556d583b3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_duration/gen_property_activitystreams_duration.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyduration + +import ( + "fmt" + duration "github.com/go-fed/activity/streams/values/duration" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" + "time" +) + +// ActivityStreamsDurationProperty is the functional property "duration". It is +// permitted to be a single default-valued value type. +type ActivityStreamsDurationProperty struct { + xmlschemaDurationMember time.Duration + hasDurationMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeDurationProperty creates a "duration" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeDurationProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsDurationProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "duration" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "duration") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsDurationProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := duration.DeserializeDuration(i); err == nil { + this := &ActivityStreamsDurationProperty{ + alias: alias, + hasDurationMember: true, + xmlschemaDurationMember: v, + } + return this, nil + } + this := &ActivityStreamsDurationProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsDurationProperty creates a new duration property. +func NewActivityStreamsDurationProperty() *ActivityStreamsDurationProperty { + return &ActivityStreamsDurationProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaDuration +// afterwards will return false. +func (this *ActivityStreamsDurationProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasDurationMember = false +} + +// Get returns the value of this property. When IsXMLSchemaDuration returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsDurationProperty) Get() time.Duration { + return this.xmlschemaDurationMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsDurationProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsDurationProperty) HasAny() bool { + return this.IsXMLSchemaDuration() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsDurationProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaDuration returns true if this property is set and not an IRI. +func (this ActivityStreamsDurationProperty) IsXMLSchemaDuration() bool { + return this.hasDurationMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsDurationProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsDurationProperty) KindIndex() int { + if this.IsXMLSchemaDuration() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsDurationProperty) LessThan(o vocab.ActivityStreamsDurationProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaDuration() && !o.IsXMLSchemaDuration() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaDuration() && !o.IsXMLSchemaDuration() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaDuration() && o.IsXMLSchemaDuration() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return duration.LessDuration(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "duration". +func (this ActivityStreamsDurationProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "duration" + } else { + return "duration" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsDurationProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaDuration() { + return duration.SerializeDuration(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaDuration afterwards +// will return true. +func (this *ActivityStreamsDurationProperty) Set(v time.Duration) { + this.Clear() + this.xmlschemaDurationMember = v + this.hasDurationMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsDurationProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_doc.go new file mode 100644 index 000000000..171486c68 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyendtime contains the implementation for the endTime property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyendtime diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_pkg.go new file mode 100644 index 000000000..fbe2fc7a3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyendtime + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_property_activitystreams_endTime.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_property_activitystreams_endTime.go new file mode 100644 index 000000000..9e89dafb8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_endtime/gen_property_activitystreams_endTime.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyendtime + +import ( + "fmt" + datetime "github.com/go-fed/activity/streams/values/dateTime" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" + "time" +) + +// ActivityStreamsEndTimeProperty is the functional property "endTime". It is +// permitted to be a single default-valued value type. +type ActivityStreamsEndTimeProperty struct { + xmlschemaDateTimeMember time.Time + hasDateTimeMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeEndTimeProperty creates a "endTime" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeEndTimeProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsEndTimeProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "endTime" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "endTime") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsEndTimeProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := datetime.DeserializeDateTime(i); err == nil { + this := &ActivityStreamsEndTimeProperty{ + alias: alias, + hasDateTimeMember: true, + xmlschemaDateTimeMember: v, + } + return this, nil + } + this := &ActivityStreamsEndTimeProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsEndTimeProperty creates a new endTime property. +func NewActivityStreamsEndTimeProperty() *ActivityStreamsEndTimeProperty { + return &ActivityStreamsEndTimeProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaDateTime +// afterwards will return false. +func (this *ActivityStreamsEndTimeProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasDateTimeMember = false +} + +// Get returns the value of this property. When IsXMLSchemaDateTime returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsEndTimeProperty) Get() time.Time { + return this.xmlschemaDateTimeMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsEndTimeProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsEndTimeProperty) HasAny() bool { + return this.IsXMLSchemaDateTime() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsEndTimeProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaDateTime returns true if this property is set and not an IRI. +func (this ActivityStreamsEndTimeProperty) IsXMLSchemaDateTime() bool { + return this.hasDateTimeMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsEndTimeProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsEndTimeProperty) KindIndex() int { + if this.IsXMLSchemaDateTime() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsEndTimeProperty) LessThan(o vocab.ActivityStreamsEndTimeProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaDateTime() && o.IsXMLSchemaDateTime() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return datetime.LessDateTime(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "endTime". +func (this ActivityStreamsEndTimeProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "endTime" + } else { + return "endTime" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsEndTimeProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaDateTime() { + return datetime.SerializeDateTime(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaDateTime afterwards +// will return true. +func (this *ActivityStreamsEndTimeProperty) Set(v time.Time) { + this.Clear() + this.xmlschemaDateTimeMember = v + this.hasDateTimeMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsEndTimeProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_doc.go new file mode 100644 index 000000000..cde426655 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfirst contains the implementation for the first property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfirst diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_pkg.go new file mode 100644 index 000000000..1e738bb60 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfirst + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_property_activitystreams_first.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_property_activitystreams_first.go new file mode 100644 index 000000000..d63164b87 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_first/gen_property_activitystreams_first.go @@ -0,0 +1,359 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfirst + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsFirstProperty is the functional property "first". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsFirstProperty struct { + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeFirstProperty creates a "first" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeFirstProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsFirstProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "first" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "first") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsFirstProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFirstProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFirstProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFirstProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFirstProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsFirstProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsFirstProperty creates a new first property. +func NewActivityStreamsFirstProperty() *ActivityStreamsFirstProperty { + return &ActivityStreamsFirstProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsFirstProperty) Clear() { + this.activitystreamsCollectionPageMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsFirstProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsFirstProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsFirstProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsFirstProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsFirstProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsFirstProperty) GetType() vocab.Type { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsFirstProperty) HasAny() bool { + return this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsFirstProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsFirstProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsFirstProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsFirstProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsFirstProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsFirstProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsFirstProperty) KindIndex() int { + if this.IsActivityStreamsCollectionPage() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsFirstProperty) LessThan(o vocab.ActivityStreamsFirstProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "first". +func (this ActivityStreamsFirstProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "first" + } else { + return "first" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsFirstProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsFirstProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsFirstProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsFirstProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsFirstProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsFirstProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsFirstProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on first property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_doc.go new file mode 100644 index 000000000..72d13b9e4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfollowers contains the implementation for the followers +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfollowers diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_pkg.go new file mode 100644 index 000000000..01d7ea18b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfollowers + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_property_activitystreams_followers.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_property_activitystreams_followers.go new file mode 100644 index 000000000..19eb0a6c9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_followers/gen_property_activitystreams_followers.go @@ -0,0 +1,360 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfollowers + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsFollowersProperty is the functional property "followers". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsFollowersProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeFollowersProperty creates a "followers" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeFollowersProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsFollowersProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "followers" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "followers") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsFollowersProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFollowersProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFollowersProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFollowersProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFollowersProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsFollowersProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsFollowersProperty creates a new followers property. +func NewActivityStreamsFollowersProperty() *ActivityStreamsFollowersProperty { + return &ActivityStreamsFollowersProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsFollowersProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsFollowersProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsFollowersProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsFollowersProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsFollowersProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsFollowersProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsFollowersProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsFollowersProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsFollowersProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsFollowersProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsFollowersProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsFollowersProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsFollowersProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsFollowersProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsFollowersProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsCollection() { + return 1 + } + if this.IsActivityStreamsCollectionPage() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsFollowersProperty) LessThan(o vocab.ActivityStreamsFollowersProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "followers". +func (this ActivityStreamsFollowersProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "followers" + } else { + return "followers" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsFollowersProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsFollowersProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsFollowersProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsFollowersProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsFollowersProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsFollowersProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsFollowersProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on followers property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_doc.go new file mode 100644 index 000000000..b9a9f1d29 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfollowing contains the implementation for the following +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfollowing diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_pkg.go new file mode 100644 index 000000000..632b76f3f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfollowing + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_property_activitystreams_following.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_property_activitystreams_following.go new file mode 100644 index 000000000..31a1edfc9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_following/gen_property_activitystreams_following.go @@ -0,0 +1,360 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfollowing + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsFollowingProperty is the functional property "following". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsFollowingProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeFollowingProperty creates a "following" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeFollowingProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsFollowingProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "following" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "following") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsFollowingProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFollowingProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFollowingProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFollowingProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFollowingProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsFollowingProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsFollowingProperty creates a new following property. +func NewActivityStreamsFollowingProperty() *ActivityStreamsFollowingProperty { + return &ActivityStreamsFollowingProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsFollowingProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsFollowingProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsFollowingProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsFollowingProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsFollowingProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsFollowingProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsFollowingProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsFollowingProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsFollowingProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsFollowingProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsFollowingProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsFollowingProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsFollowingProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsFollowingProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsFollowingProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsCollection() { + return 1 + } + if this.IsActivityStreamsCollectionPage() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsFollowingProperty) LessThan(o vocab.ActivityStreamsFollowingProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "following". +func (this ActivityStreamsFollowingProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "following" + } else { + return "following" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsFollowingProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsFollowingProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsFollowingProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsFollowingProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsFollowingProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsFollowingProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsFollowingProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on following property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_doc.go new file mode 100644 index 000000000..93b382c03 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyformertype contains the implementation for the formerType +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyformertype diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_pkg.go new file mode 100644 index 000000000..899db00d8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_pkg.go @@ -0,0 +1,257 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyformertype + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_property_activitystreams_formerType.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_property_activitystreams_formerType.go new file mode 100644 index 000000000..d4dd9bb70 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_formertype/gen_property_activitystreams_formerType.go @@ -0,0 +1,6940 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyformertype + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsFormerTypePropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsFormerTypePropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + xmlschemaStringMember string + hasStringMember bool + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsFormerTypeProperty +} + +// NewActivityStreamsFormerTypePropertyIterator creates a new +// ActivityStreamsFormerType property. +func NewActivityStreamsFormerTypePropertyIterator() *ActivityStreamsFormerTypePropertyIterator { + return &ActivityStreamsFormerTypePropertyIterator{alias: ""} +} + +// deserializeActivityStreamsFormerTypePropertyIterator creates an iterator from +// an element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsFormerTypePropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsFormerTypePropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &ActivityStreamsFormerTypePropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsFormerTypePropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// GetXMLSchemaString returns the value of this property. When IsXMLSchemaString +// returns false, GetXMLSchemaString will return an arbitrary value. +func (this ActivityStreamsFormerTypePropertyIterator) GetXMLSchemaString() string { + return this.xmlschemaStringMember +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsFormerTypePropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsXMLSchemaString() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsFormerTypePropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsFormerTypePropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// IsXMLSchemaString returns true if this property has a type of "string". When +// true, use the GetXMLSchemaString and SetXMLSchemaString methods to access +// and set this property. +func (this ActivityStreamsFormerTypePropertyIterator) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsFormerTypePropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsFormerTypePropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsXMLSchemaString() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMove() { + return 33 + } + if this.IsActivityStreamsNote() { + return 34 + } + if this.IsActivityStreamsOffer() { + return 35 + } + if this.IsActivityStreamsOrderedCollection() { + return 36 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 37 + } + if this.IsActivityStreamsOrganization() { + return 38 + } + if this.IsActivityStreamsPage() { + return 39 + } + if this.IsActivityStreamsPerson() { + return 40 + } + if this.IsActivityStreamsPlace() { + return 41 + } + if this.IsActivityStreamsProfile() { + return 42 + } + if this.IsForgeFedPush() { + return 43 + } + if this.IsActivityStreamsQuestion() { + return 44 + } + if this.IsActivityStreamsRead() { + return 45 + } + if this.IsActivityStreamsReject() { + return 46 + } + if this.IsActivityStreamsRelationship() { + return 47 + } + if this.IsActivityStreamsRemove() { + return 48 + } + if this.IsForgeFedRepository() { + return 49 + } + if this.IsActivityStreamsService() { + return 50 + } + if this.IsActivityStreamsTentativeAccept() { + return 51 + } + if this.IsActivityStreamsTentativeReject() { + return 52 + } + if this.IsForgeFedTicket() { + return 53 + } + if this.IsForgeFedTicketDependency() { + return 54 + } + if this.IsActivityStreamsTombstone() { + return 55 + } + if this.IsActivityStreamsTravel() { + return 56 + } + if this.IsActivityStreamsUndo() { + return 57 + } + if this.IsActivityStreamsUpdate() { + return 58 + } + if this.IsActivityStreamsVideo() { + return 59 + } + if this.IsActivityStreamsView() { + return 60 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsFormerTypePropertyIterator) LessThan(o vocab.ActivityStreamsFormerTypePropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsXMLSchemaString() { + return string1.LessString(this.GetXMLSchemaString(), o.GetXMLSchemaString()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsFormerType". +func (this ActivityStreamsFormerTypePropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsFormerType" + } else { + return "ActivityStreamsFormerType" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsFormerTypePropertyIterator) Next() vocab.ActivityStreamsFormerTypePropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsFormerTypePropertyIterator) Prev() vocab.ActivityStreamsFormerTypePropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsFormerTypePropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsFormerType property: %T", t) +} + +// SetXMLSchemaString sets the value of this property. Calling IsXMLSchemaString +// afterwards returns true. +func (this *ActivityStreamsFormerTypePropertyIterator) SetXMLSchemaString(v string) { + this.clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsFormerTypePropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.hasStringMember = false + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsFormerTypePropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsXMLSchemaString() { + return string1.SerializeString(this.GetXMLSchemaString()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsFormerTypeProperty is the non-functional property "formerType". +// It is permitted to have one or more values, and of different value types. +type ActivityStreamsFormerTypeProperty struct { + properties []*ActivityStreamsFormerTypePropertyIterator + alias string +} + +// DeserializeFormerTypeProperty creates a "formerType" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeFormerTypeProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsFormerTypeProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "formerType" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "formerType") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsFormerTypeProperty{ + alias: alias, + properties: []*ActivityStreamsFormerTypePropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsFormerTypePropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsFormerTypePropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsFormerTypeProperty creates a new formerType property. +func NewActivityStreamsFormerTypeProperty() *ActivityStreamsFormerTypeProperty { + return &ActivityStreamsFormerTypeProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "formerType". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "formerType". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "formerType". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "formerType". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "formerType" +func (this *ActivityStreamsFormerTypeProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "formerType". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "formerType". Invalidates iterators that are traversing using +// Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ActivityStreamsFormerTypeProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// AppendXMLSchemaString appends a string value to the back of a list of the +// property "formerType". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsFormerTypeProperty) AppendXMLSchemaString(v string) { + this.properties = append(this.properties, &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaStringMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsFormerTypeProperty) At(index int) vocab.ActivityStreamsFormerTypePropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsFormerTypeProperty) Begin() vocab.ActivityStreamsFormerTypePropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsFormerTypeProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsFormerTypeProperty) End() vocab.ActivityStreamsFormerTypePropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "formerType". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "formerType". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "formerType". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "formerType". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "formerType". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "formerType". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "formerType". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "formerType". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "formerType". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "formerType". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "formerType". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "formerType". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "formerType". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "formerType". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "formerType". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsFormerTypeProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// InsertXMLSchemaString inserts a string value at the specified index for a +// property "formerType". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) InsertXMLSchemaString(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsFormerTypeProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsFormerTypeProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "formerType" property. +func (this ActivityStreamsFormerTypeProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsFormerTypeProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetXMLSchemaString() + rhs := this.properties[j].GetXMLSchemaString() + return string1.LessString(lhs, rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsFormerTypeProperty) LessThan(o vocab.ActivityStreamsFormerTypeProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("formerType") with any alias. +func (this ActivityStreamsFormerTypeProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "formerType" + } else { + return "formerType" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "formerType". Invalidates all +// iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "formerType". Invalidates all +// iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "formerType". +func (this *ActivityStreamsFormerTypeProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "formerType". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsFormerTypeProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// PrependXMLSchemaString prepends a string value to the front of a list of the +// property "formerType". Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) PrependXMLSchemaString(v string) { + this.properties = append([]*ActivityStreamsFormerTypePropertyIterator{{ + alias: this.alias, + hasStringMember: true, + myIdx: 0, + parent: this, + xmlschemaStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "formerType", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsFormerTypePropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsFormerTypeProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "formerType". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "formerType". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "formerType". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "formerType". Panics if the +// index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "formerType". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "formerType". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "formerType". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsFormerTypeProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "formerType". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "formerType". Panics if the index is out of bounds. +func (this *ActivityStreamsFormerTypeProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "formerType". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsFormerTypeProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "formerType". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "formerType". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ActivityStreamsFormerTypeProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// SetXMLSchemaString sets a string value to be at the specified index for the +// property "formerType". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsFormerTypeProperty) SetXMLSchemaString(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsFormerTypePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } +} + +// Swap swaps the location of values at two indices for the "formerType" property. +func (this ActivityStreamsFormerTypeProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_doc.go new file mode 100644 index 000000000..4142ee42f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertygenerator contains the implementation for the generator +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertygenerator diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_pkg.go new file mode 100644 index 000000000..b388dfef7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertygenerator + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_property_activitystreams_generator.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_property_activitystreams_generator.go new file mode 100644 index 000000000..074ed84d6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_generator/gen_property_activitystreams_generator.go @@ -0,0 +1,7044 @@ +// Code generated by astool. DO NOT EDIT. + +package propertygenerator + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsGeneratorPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsGeneratorPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsGeneratorProperty +} + +// NewActivityStreamsGeneratorPropertyIterator creates a new +// ActivityStreamsGenerator property. +func NewActivityStreamsGeneratorPropertyIterator() *ActivityStreamsGeneratorPropertyIterator { + return &ActivityStreamsGeneratorPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsGeneratorPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsGeneratorPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsGeneratorPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsGeneratorPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsGeneratorPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsGeneratorPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsGeneratorPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsGeneratorPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsGeneratorPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsGeneratorPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsGeneratorPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsGeneratorPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsGeneratorPropertyIterator) LessThan(o vocab.ActivityStreamsGeneratorPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsGenerator". +func (this ActivityStreamsGeneratorPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsGenerator" + } else { + return "ActivityStreamsGenerator" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsGeneratorPropertyIterator) Next() vocab.ActivityStreamsGeneratorPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsGeneratorPropertyIterator) Prev() vocab.ActivityStreamsGeneratorPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsGeneratorPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsGeneratorPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsGenerator property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsGeneratorPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsGeneratorPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsGeneratorProperty is the non-functional property "generator". It +// is permitted to have one or more values, and of different value types. +type ActivityStreamsGeneratorProperty struct { + properties []*ActivityStreamsGeneratorPropertyIterator + alias string +} + +// DeserializeGeneratorProperty creates a "generator" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeGeneratorProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "generator" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "generator") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsGeneratorProperty{ + alias: alias, + properties: []*ActivityStreamsGeneratorPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsGeneratorPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsGeneratorPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsGeneratorProperty creates a new generator property. +func NewActivityStreamsGeneratorProperty() *ActivityStreamsGeneratorProperty { + return &ActivityStreamsGeneratorProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "generator". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "generator". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "generator". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "generator". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "generator". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "generator". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "generator". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "generator". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "generator". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "generator". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "generator". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "generator". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "generator" +func (this *ActivityStreamsGeneratorProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "generator". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsGeneratorProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "generator". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsGeneratorProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "generator". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsGeneratorProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsGeneratorProperty) At(index int) vocab.ActivityStreamsGeneratorPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsGeneratorProperty) Begin() vocab.ActivityStreamsGeneratorPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsGeneratorProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsGeneratorProperty) End() vocab.ActivityStreamsGeneratorPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "generator". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "generator". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "generator". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "generator". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "generator". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "generator". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "generator". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "generator". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "generator". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "generator". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "generator". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "generator". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "generator". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "generator". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "generator". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "generator". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsGeneratorProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsGeneratorProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsGeneratorProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "generator" property. +func (this ActivityStreamsGeneratorProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsGeneratorProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsGeneratorProperty) LessThan(o vocab.ActivityStreamsGeneratorProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("generator") with any alias. +func (this ActivityStreamsGeneratorProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "generator" + } else { + return "generator" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "generator". Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "generator". Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "generator". +func (this *ActivityStreamsGeneratorProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "generator". Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "generator". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsGeneratorProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsGeneratorPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "generator", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsGeneratorPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsGeneratorProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "generator". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "generator". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "generator". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "generator". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "generator". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "generator". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "generator". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsGeneratorProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "generator". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "generator". Panics if the index is out of bounds. +func (this *ActivityStreamsGeneratorProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "generator". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsGeneratorProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "generator". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsGeneratorProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "generator". Invalidates all iterators. Returns an error if the type is not +// a valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsGeneratorProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsGeneratorPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "generator" property. +func (this ActivityStreamsGeneratorProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_doc.go new file mode 100644 index 000000000..c6d74624e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyheight contains the implementation for the height property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyheight diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_pkg.go new file mode 100644 index 000000000..c27687c4e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyheight + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_property_activitystreams_height.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_property_activitystreams_height.go new file mode 100644 index 000000000..c467bd65a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_height/gen_property_activitystreams_height.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyheight + +import ( + "fmt" + nonnegativeinteger "github.com/go-fed/activity/streams/values/nonNegativeInteger" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsHeightProperty is the functional property "height". It is +// permitted to be a single default-valued value type. +type ActivityStreamsHeightProperty struct { + xmlschemaNonNegativeIntegerMember int + hasNonNegativeIntegerMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeHeightProperty creates a "height" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeHeightProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsHeightProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "height" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "height") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsHeightProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := nonnegativeinteger.DeserializeNonNegativeInteger(i); err == nil { + this := &ActivityStreamsHeightProperty{ + alias: alias, + hasNonNegativeIntegerMember: true, + xmlschemaNonNegativeIntegerMember: v, + } + return this, nil + } + this := &ActivityStreamsHeightProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsHeightProperty creates a new height property. +func NewActivityStreamsHeightProperty() *ActivityStreamsHeightProperty { + return &ActivityStreamsHeightProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling +// IsXMLSchemaNonNegativeInteger afterwards will return false. +func (this *ActivityStreamsHeightProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasNonNegativeIntegerMember = false +} + +// Get returns the value of this property. When IsXMLSchemaNonNegativeInteger +// returns false, Get will return any arbitrary value. +func (this ActivityStreamsHeightProperty) Get() int { + return this.xmlschemaNonNegativeIntegerMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsHeightProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsHeightProperty) HasAny() bool { + return this.IsXMLSchemaNonNegativeInteger() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsHeightProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaNonNegativeInteger returns true if this property is set and not an +// IRI. +func (this ActivityStreamsHeightProperty) IsXMLSchemaNonNegativeInteger() bool { + return this.hasNonNegativeIntegerMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsHeightProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsHeightProperty) KindIndex() int { + if this.IsXMLSchemaNonNegativeInteger() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsHeightProperty) LessThan(o vocab.ActivityStreamsHeightProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaNonNegativeInteger() && o.IsXMLSchemaNonNegativeInteger() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return nonnegativeinteger.LessNonNegativeInteger(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "height". +func (this ActivityStreamsHeightProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "height" + } else { + return "height" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsHeightProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaNonNegativeInteger() { + return nonnegativeinteger.SerializeNonNegativeInteger(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaNonNegativeInteger +// afterwards will return true. +func (this *ActivityStreamsHeightProperty) Set(v int) { + this.Clear() + this.xmlschemaNonNegativeIntegerMember = v + this.hasNonNegativeIntegerMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsHeightProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_doc.go new file mode 100644 index 000000000..d9f6aab6e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyhref contains the implementation for the href property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyhref diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_pkg.go new file mode 100644 index 000000000..7b6ec2810 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyhref + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_property_activitystreams_href.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_property_activitystreams_href.go new file mode 100644 index 000000000..3cd3ad8b2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_href/gen_property_activitystreams_href.go @@ -0,0 +1,181 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyhref + +import ( + "fmt" + anyuri "github.com/go-fed/activity/streams/values/anyURI" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsHrefProperty is the functional property "href". It is permitted +// to be a single nilable value type. +type ActivityStreamsHrefProperty struct { + xmlschemaAnyURIMember *url.URL + unknown interface{} + alias string +} + +// DeserializeHrefProperty creates a "href" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeHrefProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsHrefProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "href" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "href") + } + i, ok := m[propName] + + if ok { + if v, err := anyuri.DeserializeAnyURI(i); err == nil { + this := &ActivityStreamsHrefProperty{ + alias: alias, + xmlschemaAnyURIMember: v, + } + return this, nil + } + this := &ActivityStreamsHrefProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsHrefProperty creates a new href property. +func NewActivityStreamsHrefProperty() *ActivityStreamsHrefProperty { + return &ActivityStreamsHrefProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaAnyURI +// afterwards will return false. +func (this *ActivityStreamsHrefProperty) Clear() { + this.unknown = nil + this.xmlschemaAnyURIMember = nil +} + +// Get returns the value of this property. When IsXMLSchemaAnyURI returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsHrefProperty) Get() *url.URL { + return this.xmlschemaAnyURIMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsHrefProperty) GetIRI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsHrefProperty) HasAny() bool { + return this.IsXMLSchemaAnyURI() +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsHrefProperty) IsIRI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// IsXMLSchemaAnyURI returns true if this property is set and not an IRI. +func (this ActivityStreamsHrefProperty) IsXMLSchemaAnyURI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsHrefProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsHrefProperty) KindIndex() int { + if this.IsXMLSchemaAnyURI() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsHrefProperty) LessThan(o vocab.ActivityStreamsHrefProperty) bool { + if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaAnyURI() && !o.IsXMLSchemaAnyURI() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaAnyURI() && !o.IsXMLSchemaAnyURI() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaAnyURI() && o.IsXMLSchemaAnyURI() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return anyuri.LessAnyURI(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "href". +func (this ActivityStreamsHrefProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "href" + } else { + return "href" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsHrefProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaAnyURI() { + return anyuri.SerializeAnyURI(this.Get()) + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaAnyURI afterwards will +// return true. +func (this *ActivityStreamsHrefProperty) Set(v *url.URL) { + this.Clear() + this.xmlschemaAnyURIMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsHrefProperty) SetIRI(v *url.URL) { + this.Clear() + this.Set(v) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_doc.go new file mode 100644 index 000000000..7c75ed765 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyhreflang contains the implementation for the hreflang property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyhreflang diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_pkg.go new file mode 100644 index 000000000..f6cfedd44 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyhreflang + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_property_activitystreams_hreflang.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_property_activitystreams_hreflang.go new file mode 100644 index 000000000..a87c7da6b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang/gen_property_activitystreams_hreflang.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyhreflang + +import ( + "fmt" + bcp47 "github.com/go-fed/activity/streams/values/bcp47" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsHreflangProperty is the functional property "hreflang". It is +// permitted to be a single default-valued value type. +type ActivityStreamsHreflangProperty struct { + rfcBcp47Member string + hasBcp47Member bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeHreflangProperty creates a "hreflang" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeHreflangProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsHreflangProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "hreflang" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "hreflang") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsHreflangProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := bcp47.DeserializeBcp47(i); err == nil { + this := &ActivityStreamsHreflangProperty{ + alias: alias, + hasBcp47Member: true, + rfcBcp47Member: v, + } + return this, nil + } + this := &ActivityStreamsHreflangProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsHreflangProperty creates a new hreflang property. +func NewActivityStreamsHreflangProperty() *ActivityStreamsHreflangProperty { + return &ActivityStreamsHreflangProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsRFCBcp47 afterwards +// will return false. +func (this *ActivityStreamsHreflangProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasBcp47Member = false +} + +// Get returns the value of this property. When IsRFCBcp47 returns false, Get will +// return any arbitrary value. +func (this ActivityStreamsHreflangProperty) Get() string { + return this.rfcBcp47Member +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsHreflangProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsHreflangProperty) HasAny() bool { + return this.IsRFCBcp47() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsHreflangProperty) IsIRI() bool { + return this.iri != nil +} + +// IsRFCBcp47 returns true if this property is set and not an IRI. +func (this ActivityStreamsHreflangProperty) IsRFCBcp47() bool { + return this.hasBcp47Member +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsHreflangProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsHreflangProperty) KindIndex() int { + if this.IsRFCBcp47() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsHreflangProperty) LessThan(o vocab.ActivityStreamsHreflangProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsRFCBcp47() && !o.IsRFCBcp47() { + // Both are unknowns. + return false + } else if this.IsRFCBcp47() && !o.IsRFCBcp47() { + // Values are always greater than unknown values. + return false + } else if !this.IsRFCBcp47() && o.IsRFCBcp47() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return bcp47.LessBcp47(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "hreflang". +func (this ActivityStreamsHreflangProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "hreflang" + } else { + return "hreflang" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsHreflangProperty) Serialize() (interface{}, error) { + if this.IsRFCBcp47() { + return bcp47.SerializeBcp47(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsRFCBcp47 afterwards will return +// true. +func (this *ActivityStreamsHreflangProperty) Set(v string) { + this.Clear() + this.rfcBcp47Member = v + this.hasBcp47Member = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsHreflangProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_doc.go new file mode 100644 index 000000000..088b11899 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyicon contains the implementation for the icon property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyicon diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_pkg.go new file mode 100644 index 000000000..f2cae8533 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_pkg.go @@ -0,0 +1,30 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyicon + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_property_activitystreams_icon.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_property_activitystreams_icon.go new file mode 100644 index 000000000..7d1b7b868 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_icon/gen_property_activitystreams_icon.go @@ -0,0 +1,824 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyicon + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsIconPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsIconPropertyIterator struct { + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsIconProperty +} + +// NewActivityStreamsIconPropertyIterator creates a new ActivityStreamsIcon +// property. +func NewActivityStreamsIconPropertyIterator() *ActivityStreamsIconPropertyIterator { + return &ActivityStreamsIconPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsIconPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsIconPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsIconPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsIconPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsIconPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsIconPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsIconPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsIconPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsIconPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsIconPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsIconPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsIconPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsIconPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsIconPropertyIterator) HasAny() bool { + return this.IsActivityStreamsImage() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() || + this.iri != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsIconPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsIconPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsIconPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsIconPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsIconPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsIconPropertyIterator) KindIndex() int { + if this.IsActivityStreamsImage() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsIconPropertyIterator) LessThan(o vocab.ActivityStreamsIconPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsIcon". +func (this ActivityStreamsIconPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsIcon" + } else { + return "ActivityStreamsIcon" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsIconPropertyIterator) Next() vocab.ActivityStreamsIconPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsIconPropertyIterator) Prev() vocab.ActivityStreamsIconPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsIconPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsIconPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsIconPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsIconPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsIconPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsIcon property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsIconPropertyIterator) clear() { + this.activitystreamsImageMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsIconPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsIconProperty is the non-functional property "icon". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsIconProperty struct { + properties []*ActivityStreamsIconPropertyIterator + alias string +} + +// DeserializeIconProperty creates a "icon" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeIconProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsIconProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "icon" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "icon") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsIconProperty{ + alias: alias, + properties: []*ActivityStreamsIconPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsIconPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsIconPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsIconProperty creates a new icon property. +func NewActivityStreamsIconProperty() *ActivityStreamsIconProperty { + return &ActivityStreamsIconProperty{alias: ""} +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "icon". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsIconProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsIconPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "icon". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsIconProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsIconPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "icon". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsIconProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsIconPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "icon" +func (this *ActivityStreamsIconProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsIconPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "icon". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsIconProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsIconPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsIconProperty) At(index int) vocab.ActivityStreamsIconPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsIconProperty) Begin() vocab.ActivityStreamsIconPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsIconProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsIconProperty) End() vocab.ActivityStreamsIconPropertyIterator { + return nil +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "icon". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsIconProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsIconPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "icon". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsIconProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsIconPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "icon". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsIconProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsIconPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "icon". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsIconProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsIconPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "icon". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsIconProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsIconPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsIconProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsIconProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "icon" property. +func (this ActivityStreamsIconProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsIconProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsIconProperty) LessThan(o vocab.ActivityStreamsIconProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("icon") with any alias. +func (this ActivityStreamsIconProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "icon" + } else { + return "icon" + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "icon". Invalidates all iterators. +func (this *ActivityStreamsIconProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsIconPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "icon". Invalidates all iterators. +func (this *ActivityStreamsIconProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsIconPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "icon". Invalidates all iterators. +func (this *ActivityStreamsIconProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsIconPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "icon". +func (this *ActivityStreamsIconProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsIconPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "icon". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsIconProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsIconPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsIconPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "icon", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsIconProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsIconPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsIconProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "icon". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsIconProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsIconPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "icon". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsIconProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsIconPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "icon". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsIconProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsIconPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "icon". +// Panics if the index is out of bounds. +func (this *ActivityStreamsIconProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsIconPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "icon". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsIconProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsIconPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "icon" property. +func (this ActivityStreamsIconProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_doc.go new file mode 100644 index 000000000..322c67066 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyimage contains the implementation for the image property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyimage diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_pkg.go new file mode 100644 index 000000000..7451bcb23 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_pkg.go @@ -0,0 +1,30 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyimage + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_property_activitystreams_image.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_property_activitystreams_image.go new file mode 100644 index 000000000..6c971cc5a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_image/gen_property_activitystreams_image.go @@ -0,0 +1,824 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyimage + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsImagePropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsImagePropertyIterator struct { + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsImageProperty +} + +// NewActivityStreamsImagePropertyIterator creates a new ActivityStreamsImage +// property. +func NewActivityStreamsImagePropertyIterator() *ActivityStreamsImagePropertyIterator { + return &ActivityStreamsImagePropertyIterator{alias: ""} +} + +// deserializeActivityStreamsImagePropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsImagePropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsImagePropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsImagePropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsImagePropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsImagePropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsImagePropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsImagePropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsImagePropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsImagePropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsImagePropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsImagePropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsImagePropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsImagePropertyIterator) HasAny() bool { + return this.IsActivityStreamsImage() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() || + this.iri != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsImagePropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsImagePropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsImagePropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsImagePropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsImagePropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsImagePropertyIterator) KindIndex() int { + if this.IsActivityStreamsImage() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsImagePropertyIterator) LessThan(o vocab.ActivityStreamsImagePropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsImage". +func (this ActivityStreamsImagePropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsImage" + } else { + return "ActivityStreamsImage" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsImagePropertyIterator) Next() vocab.ActivityStreamsImagePropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsImagePropertyIterator) Prev() vocab.ActivityStreamsImagePropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsImagePropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsImagePropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsImagePropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsImagePropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsImagePropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsImage property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsImagePropertyIterator) clear() { + this.activitystreamsImageMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsImagePropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsImageProperty is the non-functional property "image". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsImageProperty struct { + properties []*ActivityStreamsImagePropertyIterator + alias string +} + +// DeserializeImageProperty creates a "image" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeImageProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsImageProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "image" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "image") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsImageProperty{ + alias: alias, + properties: []*ActivityStreamsImagePropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsImagePropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsImagePropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsImageProperty creates a new image property. +func NewActivityStreamsImageProperty() *ActivityStreamsImageProperty { + return &ActivityStreamsImageProperty{alias: ""} +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "image". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsImageProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsImagePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "image". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsImageProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsImagePropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "image". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsImageProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsImagePropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "image" +func (this *ActivityStreamsImageProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsImagePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "image". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsImageProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsImagePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsImageProperty) At(index int) vocab.ActivityStreamsImagePropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsImageProperty) Begin() vocab.ActivityStreamsImagePropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsImageProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsImageProperty) End() vocab.ActivityStreamsImagePropertyIterator { + return nil +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "image". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsImageProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsImagePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "image". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsImageProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsImagePropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "image". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsImageProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsImagePropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "image". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsImageProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsImagePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "image". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsImageProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsImagePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsImageProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsImageProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "image" property. +func (this ActivityStreamsImageProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsImageProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsImageProperty) LessThan(o vocab.ActivityStreamsImageProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("image") with any alias. +func (this ActivityStreamsImageProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "image" + } else { + return "image" + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "image". Invalidates all iterators. +func (this *ActivityStreamsImageProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsImagePropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "image". Invalidates all iterators. +func (this *ActivityStreamsImageProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsImagePropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "image". Invalidates all iterators. +func (this *ActivityStreamsImageProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsImagePropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "image". +func (this *ActivityStreamsImageProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsImagePropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "image". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsImageProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsImagePropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsImagePropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "image", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsImageProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsImagePropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsImageProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "image". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsImageProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsImagePropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "image". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsImageProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsImagePropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "image". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsImageProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsImagePropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "image". +// Panics if the index is out of bounds. +func (this *ActivityStreamsImageProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsImagePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "image". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsImageProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsImagePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "image" property. +func (this ActivityStreamsImageProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_doc.go new file mode 100644 index 000000000..b3f67f050 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyinbox contains the implementation for the inbox property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyinbox diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_pkg.go new file mode 100644 index 000000000..fd89c2c62 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_pkg.go @@ -0,0 +1,27 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyinbox + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_property_activitystreams_inbox.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_property_activitystreams_inbox.go new file mode 100644 index 000000000..d93011f27 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_property_activitystreams_inbox.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyinbox + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsInboxProperty is the functional property "inbox". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsInboxProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeInboxProperty creates a "inbox" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeInboxProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsInboxProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "inbox" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "inbox") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsInboxProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInboxProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInboxProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsInboxProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsInboxProperty creates a new inbox property. +func NewActivityStreamsInboxProperty() *ActivityStreamsInboxProperty { + return &ActivityStreamsInboxProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsInboxProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsInboxProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsInboxProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsInboxProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsInboxProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsInboxProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsInboxProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsInboxProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsInboxProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsInboxProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsInboxProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsInboxProperty) LessThan(o vocab.ActivityStreamsInboxProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "inbox". +func (this ActivityStreamsInboxProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "inbox" + } else { + return "inbox" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsInboxProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsInboxProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsInboxProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsInboxProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsInboxProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on inbox property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_doc.go new file mode 100644 index 000000000..b4a0ba151 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyinreplyto contains the implementation for the inReplyTo +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyinreplyto diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_pkg.go new file mode 100644 index 000000000..28597162f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyinreplyto + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_property_activitystreams_inReplyTo.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_property_activitystreams_inReplyTo.go new file mode 100644 index 000000000..02ca1883b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto/gen_property_activitystreams_inReplyTo.go @@ -0,0 +1,7044 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyinreplyto + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsInReplyToPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsInReplyToPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsInReplyToProperty +} + +// NewActivityStreamsInReplyToPropertyIterator creates a new +// ActivityStreamsInReplyTo property. +func NewActivityStreamsInReplyToPropertyIterator() *ActivityStreamsInReplyToPropertyIterator { + return &ActivityStreamsInReplyToPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsInReplyToPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsInReplyToPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsInReplyToPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsInReplyToPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsInReplyToPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsInReplyToPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsInReplyToPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsInReplyToPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsInReplyToPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsInReplyToPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsInReplyToPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsInReplyToPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsInReplyToPropertyIterator) LessThan(o vocab.ActivityStreamsInReplyToPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsInReplyTo". +func (this ActivityStreamsInReplyToPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsInReplyTo" + } else { + return "ActivityStreamsInReplyTo" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsInReplyToPropertyIterator) Next() vocab.ActivityStreamsInReplyToPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsInReplyToPropertyIterator) Prev() vocab.ActivityStreamsInReplyToPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsInReplyToPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsInReplyToPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsInReplyTo property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsInReplyToPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsInReplyToPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsInReplyToProperty is the non-functional property "inReplyTo". It +// is permitted to have one or more values, and of different value types. +type ActivityStreamsInReplyToProperty struct { + properties []*ActivityStreamsInReplyToPropertyIterator + alias string +} + +// DeserializeInReplyToProperty creates a "inReplyTo" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeInReplyToProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "inReplyTo" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "inReplyTo") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsInReplyToProperty{ + alias: alias, + properties: []*ActivityStreamsInReplyToPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsInReplyToPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsInReplyToPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsInReplyToProperty creates a new inReplyTo property. +func NewActivityStreamsInReplyToProperty() *ActivityStreamsInReplyToProperty { + return &ActivityStreamsInReplyToProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "inReplyTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "inReplyTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "inReplyTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "inReplyTo". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "inReplyTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "inReplyTo". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "inReplyTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "inReplyTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "inReplyTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "inReplyTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "inReplyTo". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "inReplyTo". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "inReplyTo" +func (this *ActivityStreamsInReplyToProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "inReplyTo". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInReplyToProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "inReplyTo". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInReplyToProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "inReplyTo". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsInReplyToProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsInReplyToProperty) At(index int) vocab.ActivityStreamsInReplyToPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsInReplyToProperty) Begin() vocab.ActivityStreamsInReplyToPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsInReplyToProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsInReplyToProperty) End() vocab.ActivityStreamsInReplyToPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "inReplyTo". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "inReplyTo". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "inReplyTo". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "inReplyTo". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "inReplyTo". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "inReplyTo". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "inReplyTo". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "inReplyTo". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "inReplyTo". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "inReplyTo". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "inReplyTo". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "inReplyTo". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "inReplyTo". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "inReplyTo". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "inReplyTo". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsInReplyToProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsInReplyToProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsInReplyToProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "inReplyTo" property. +func (this ActivityStreamsInReplyToProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsInReplyToProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsInReplyToProperty) LessThan(o vocab.ActivityStreamsInReplyToProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("inReplyTo") with any alias. +func (this ActivityStreamsInReplyToProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "inReplyTo" + } else { + return "inReplyTo" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "inReplyTo". Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "inReplyTo". Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "inReplyTo". +func (this *ActivityStreamsInReplyToProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "inReplyTo". Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "inReplyTo". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsInReplyToProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsInReplyToPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "inReplyTo", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsInReplyToPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsInReplyToProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "inReplyTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "inReplyTo". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "inReplyTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "inReplyTo". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "inReplyTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "inReplyTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "inReplyTo". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInReplyToProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "inReplyTo". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "inReplyTo". Panics if the index is out of bounds. +func (this *ActivityStreamsInReplyToProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "inReplyTo". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInReplyToProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "inReplyTo". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInReplyToProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "inReplyTo". Invalidates all iterators. Returns an error if the type is not +// a valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsInReplyToProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsInReplyToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "inReplyTo" property. +func (this ActivityStreamsInReplyToProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_doc.go new file mode 100644 index 000000000..e8f2992a6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyinstrument contains the implementation for the instrument +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyinstrument diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_pkg.go new file mode 100644 index 000000000..7db2733ab --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyinstrument + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_property_activitystreams_instrument.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_property_activitystreams_instrument.go new file mode 100644 index 000000000..5ec8a82c6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_instrument/gen_property_activitystreams_instrument.go @@ -0,0 +1,7047 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyinstrument + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsInstrumentPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsInstrumentPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsInstrumentProperty +} + +// NewActivityStreamsInstrumentPropertyIterator creates a new +// ActivityStreamsInstrument property. +func NewActivityStreamsInstrumentPropertyIterator() *ActivityStreamsInstrumentPropertyIterator { + return &ActivityStreamsInstrumentPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsInstrumentPropertyIterator creates an iterator from +// an element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsInstrumentPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsInstrumentPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsInstrumentPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsInstrumentPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsInstrumentPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsInstrumentPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsInstrumentPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsInstrumentPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsInstrumentPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsInstrumentPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsInstrumentPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsInstrumentPropertyIterator) LessThan(o vocab.ActivityStreamsInstrumentPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsInstrument". +func (this ActivityStreamsInstrumentPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsInstrument" + } else { + return "ActivityStreamsInstrument" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsInstrumentPropertyIterator) Next() vocab.ActivityStreamsInstrumentPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsInstrumentPropertyIterator) Prev() vocab.ActivityStreamsInstrumentPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsInstrumentPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsInstrumentPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsInstrument property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsInstrumentPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsInstrumentPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsInstrumentProperty is the non-functional property "instrument". +// It is permitted to have one or more values, and of different value types. +type ActivityStreamsInstrumentProperty struct { + properties []*ActivityStreamsInstrumentPropertyIterator + alias string +} + +// DeserializeInstrumentProperty creates a "instrument" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeInstrumentProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "instrument" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "instrument") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsInstrumentProperty{ + alias: alias, + properties: []*ActivityStreamsInstrumentPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsInstrumentPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsInstrumentPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsInstrumentProperty creates a new instrument property. +func NewActivityStreamsInstrumentProperty() *ActivityStreamsInstrumentProperty { + return &ActivityStreamsInstrumentProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "instrument". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "instrument". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "instrument". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "instrument". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "instrument" +func (this *ActivityStreamsInstrumentProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "instrument". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsInstrumentProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "instrument". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsInstrumentProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "instrument". Invalidates iterators that are traversing using +// Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ActivityStreamsInstrumentProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsInstrumentProperty) At(index int) vocab.ActivityStreamsInstrumentPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsInstrumentProperty) Begin() vocab.ActivityStreamsInstrumentPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsInstrumentProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsInstrumentProperty) End() vocab.ActivityStreamsInstrumentPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "instrument". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "instrument". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "instrument". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "instrument". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "instrument". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "instrument". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "instrument". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "instrument". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "instrument". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "instrument". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "instrument". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "instrument". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "instrument". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "instrument". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "instrument". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "instrument". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsInstrumentProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsInstrumentProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsInstrumentProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "instrument" property. +func (this ActivityStreamsInstrumentProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsInstrumentProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsInstrumentProperty) LessThan(o vocab.ActivityStreamsInstrumentProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("instrument") with any alias. +func (this ActivityStreamsInstrumentProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "instrument" + } else { + return "instrument" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "instrument". Invalidates all +// iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "instrument". Invalidates all +// iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "instrument". +func (this *ActivityStreamsInstrumentProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "instrument". Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "instrument". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsInstrumentProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsInstrumentPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "instrument", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsInstrumentPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsInstrumentProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "instrument". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "instrument". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "instrument". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "instrument". Panics if the +// index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "instrument". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "instrument". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "instrument". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInstrumentProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "instrument". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsInstrumentProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "instrument". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "instrument". Panics if the index is out of bounds. +func (this *ActivityStreamsInstrumentProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "instrument". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsInstrumentProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "instrument". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsInstrumentProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "instrument". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ActivityStreamsInstrumentProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsInstrumentPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "instrument" property. +func (this ActivityStreamsInstrumentProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_doc.go new file mode 100644 index 000000000..8c35ce49d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyitems contains the implementation for the items property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyitems diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_pkg.go new file mode 100644 index 000000000..35216bfa9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyitems + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_property_activitystreams_items.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_property_activitystreams_items.go new file mode 100644 index 000000000..bdc6a457c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_items/gen_property_activitystreams_items.go @@ -0,0 +1,7030 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyitems + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsItemsPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsItemsPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsItemsProperty +} + +// NewActivityStreamsItemsPropertyIterator creates a new ActivityStreamsItems +// property. +func NewActivityStreamsItemsPropertyIterator() *ActivityStreamsItemsPropertyIterator { + return &ActivityStreamsItemsPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsItemsPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsItemsPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsItemsPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsItemsPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsItemsPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsItemsPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsItemsPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsItemsPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsItemsPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsItemsPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsItemsPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsItemsPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsItemsPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsItemsPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsItemsPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsItemsPropertyIterator) LessThan(o vocab.ActivityStreamsItemsPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsItems". +func (this ActivityStreamsItemsPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsItems" + } else { + return "ActivityStreamsItems" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsItemsPropertyIterator) Next() vocab.ActivityStreamsItemsPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsItemsPropertyIterator) Prev() vocab.ActivityStreamsItemsPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsItemsPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsItemsPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsItems property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsItemsPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsItemsPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsItemsProperty is the non-functional property "items". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsItemsProperty struct { + properties []*ActivityStreamsItemsPropertyIterator + alias string +} + +// DeserializeItemsProperty creates a "items" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeItemsProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsItemsProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "items" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "items") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsItemsProperty{ + alias: alias, + properties: []*ActivityStreamsItemsPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsItemsPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsItemsPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsItemsProperty creates a new items property. +func NewActivityStreamsItemsProperty() *ActivityStreamsItemsProperty { + return &ActivityStreamsItemsProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "items". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "items". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "items". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "items". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "items". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "items". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "items". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "items". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "items". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "items". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "items". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "items". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsItemsProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "items" +func (this *ActivityStreamsItemsProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "items". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsItemsProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "items". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsItemsProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsItemsProperty) At(index int) vocab.ActivityStreamsItemsPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsItemsProperty) Begin() vocab.ActivityStreamsItemsPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsItemsProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsItemsProperty) End() vocab.ActivityStreamsItemsPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "items". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "items". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "items". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "items". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "items". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "items". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "items". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "items". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "items". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "items". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "items". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "items". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "items". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "items". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "items". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "items". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "items". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "items". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "items". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "items". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "items". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "items". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsItemsProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsItemsProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsItemsProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "items" property. +func (this ActivityStreamsItemsProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsItemsProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsItemsProperty) LessThan(o vocab.ActivityStreamsItemsProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("items") with any alias. +func (this ActivityStreamsItemsProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "items" + } else { + return "items" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "items". Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "items". Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "items". +func (this *ActivityStreamsItemsProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "items". Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsItemsPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "items". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsItemsProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsItemsPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "items", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsItemsPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsItemsProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "items". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "items". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "items". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "items". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "items". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "items". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "items". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "items". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "items". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "items". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "items". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "items". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "items". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "items". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "items". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "items". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "items". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsItemsProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "items". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "items". +// Panics if the index is out of bounds. +func (this *ActivityStreamsItemsProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "items". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsItemsProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "items". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsItemsProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "items". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsItemsProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "items" property. +func (this ActivityStreamsItemsProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_doc.go new file mode 100644 index 000000000..90dd7f279 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertylast contains the implementation for the last property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertylast diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_pkg.go new file mode 100644 index 000000000..34002889d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylast + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_property_activitystreams_last.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_property_activitystreams_last.go new file mode 100644 index 000000000..b50c32554 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_last/gen_property_activitystreams_last.go @@ -0,0 +1,359 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylast + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsLastProperty is the functional property "last". It is permitted +// to be one of multiple value types. At most, one type of value can be +// present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsLastProperty struct { + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeLastProperty creates a "last" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeLastProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsLastProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "last" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "last") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsLastProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLastProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLastProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLastProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLastProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsLastProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsLastProperty creates a new last property. +func NewActivityStreamsLastProperty() *ActivityStreamsLastProperty { + return &ActivityStreamsLastProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsLastProperty) Clear() { + this.activitystreamsCollectionPageMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsLastProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsLastProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsLastProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsLastProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsLastProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsLastProperty) GetType() vocab.Type { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsLastProperty) HasAny() bool { + return this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsLastProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsLastProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsLastProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsLastProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsLastProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsLastProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsLastProperty) KindIndex() int { + if this.IsActivityStreamsCollectionPage() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsLastProperty) LessThan(o vocab.ActivityStreamsLastProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "last". +func (this ActivityStreamsLastProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "last" + } else { + return "last" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsLastProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsLastProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsLastProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsLastProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsLastProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsLastProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsLastProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on last property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_doc.go new file mode 100644 index 000000000..88315b8ad --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertylatitude contains the implementation for the latitude property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertylatitude diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_pkg.go new file mode 100644 index 000000000..116607c10 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylatitude + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_property_activitystreams_latitude.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_property_activitystreams_latitude.go new file mode 100644 index 000000000..d5dd400b0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_latitude/gen_property_activitystreams_latitude.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylatitude + +import ( + "fmt" + float "github.com/go-fed/activity/streams/values/float" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsLatitudeProperty is the functional property "latitude". It is +// permitted to be a single default-valued value type. +type ActivityStreamsLatitudeProperty struct { + xmlschemaFloatMember float64 + hasFloatMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeLatitudeProperty creates a "latitude" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeLatitudeProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsLatitudeProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "latitude" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "latitude") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsLatitudeProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := float.DeserializeFloat(i); err == nil { + this := &ActivityStreamsLatitudeProperty{ + alias: alias, + hasFloatMember: true, + xmlschemaFloatMember: v, + } + return this, nil + } + this := &ActivityStreamsLatitudeProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsLatitudeProperty creates a new latitude property. +func NewActivityStreamsLatitudeProperty() *ActivityStreamsLatitudeProperty { + return &ActivityStreamsLatitudeProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaFloat +// afterwards will return false. +func (this *ActivityStreamsLatitudeProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasFloatMember = false +} + +// Get returns the value of this property. When IsXMLSchemaFloat returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsLatitudeProperty) Get() float64 { + return this.xmlschemaFloatMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsLatitudeProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsLatitudeProperty) HasAny() bool { + return this.IsXMLSchemaFloat() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsLatitudeProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaFloat returns true if this property is set and not an IRI. +func (this ActivityStreamsLatitudeProperty) IsXMLSchemaFloat() bool { + return this.hasFloatMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsLatitudeProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsLatitudeProperty) KindIndex() int { + if this.IsXMLSchemaFloat() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsLatitudeProperty) LessThan(o vocab.ActivityStreamsLatitudeProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaFloat() && o.IsXMLSchemaFloat() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return float.LessFloat(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "latitude". +func (this ActivityStreamsLatitudeProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "latitude" + } else { + return "latitude" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsLatitudeProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaFloat() { + return float.SerializeFloat(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaFloat afterwards will +// return true. +func (this *ActivityStreamsLatitudeProperty) Set(v float64) { + this.Clear() + this.xmlschemaFloatMember = v + this.hasFloatMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsLatitudeProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_doc.go new file mode 100644 index 000000000..1164385d9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyliked contains the implementation for the liked property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyliked diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_pkg.go new file mode 100644 index 000000000..f4837d33c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyliked + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_property_activitystreams_liked.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_property_activitystreams_liked.go new file mode 100644 index 000000000..ea632584f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_liked/gen_property_activitystreams_liked.go @@ -0,0 +1,360 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyliked + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsLikedProperty is the functional property "liked". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsLikedProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeLikedProperty creates a "liked" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeLikedProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsLikedProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "liked" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "liked") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsLikedProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLikedProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLikedProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLikedProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLikedProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsLikedProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsLikedProperty creates a new liked property. +func NewActivityStreamsLikedProperty() *ActivityStreamsLikedProperty { + return &ActivityStreamsLikedProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsLikedProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsLikedProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsLikedProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsLikedProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsLikedProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsLikedProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsLikedProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsLikedProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsLikedProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsLikedProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsLikedProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsLikedProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsLikedProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsLikedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsLikedProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsCollection() { + return 1 + } + if this.IsActivityStreamsCollectionPage() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsLikedProperty) LessThan(o vocab.ActivityStreamsLikedProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "liked". +func (this ActivityStreamsLikedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "liked" + } else { + return "liked" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsLikedProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsLikedProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsLikedProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsLikedProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsLikedProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsLikedProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsLikedProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on liked property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_doc.go new file mode 100644 index 000000000..6e04f8efc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertylikes contains the implementation for the likes property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertylikes diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_pkg.go new file mode 100644 index 000000000..fa01eb3d0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylikes + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_property_activitystreams_likes.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_property_activitystreams_likes.go new file mode 100644 index 000000000..6acdadd57 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_likes/gen_property_activitystreams_likes.go @@ -0,0 +1,360 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylikes + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsLikesProperty is the functional property "likes". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsLikesProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeLikesProperty creates a "likes" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeLikesProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsLikesProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "likes" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "likes") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsLikesProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLikesProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLikesProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLikesProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLikesProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsLikesProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsLikesProperty creates a new likes property. +func NewActivityStreamsLikesProperty() *ActivityStreamsLikesProperty { + return &ActivityStreamsLikesProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsLikesProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsLikesProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsLikesProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsLikesProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsLikesProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsLikesProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsLikesProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsLikesProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsLikesProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsLikesProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsLikesProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsLikesProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsLikesProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsLikesProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsLikesProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsCollection() { + return 1 + } + if this.IsActivityStreamsCollectionPage() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsLikesProperty) LessThan(o vocab.ActivityStreamsLikesProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "likes". +func (this ActivityStreamsLikesProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "likes" + } else { + return "likes" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsLikesProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsLikesProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsLikesProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsLikesProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsLikesProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsLikesProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsLikesProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on likes property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_doc.go new file mode 100644 index 000000000..cbc195292 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertylocation contains the implementation for the location property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertylocation diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_pkg.go new file mode 100644 index 000000000..946433a6d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylocation + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_property_activitystreams_location.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_property_activitystreams_location.go new file mode 100644 index 000000000..1644d8e09 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_location/gen_property_activitystreams_location.go @@ -0,0 +1,7042 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylocation + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsLocationPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsLocationPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsLocationProperty +} + +// NewActivityStreamsLocationPropertyIterator creates a new +// ActivityStreamsLocation property. +func NewActivityStreamsLocationPropertyIterator() *ActivityStreamsLocationPropertyIterator { + return &ActivityStreamsLocationPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsLocationPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsLocationPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsLocationPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsLocationPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsLocationPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsLocationPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsLocationPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsLocationPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsLocationPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsLocationPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsLocationPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsLocationPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsLocationPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsLocationPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsLocationPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsLocationPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsLocationPropertyIterator) LessThan(o vocab.ActivityStreamsLocationPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsLocation". +func (this ActivityStreamsLocationPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsLocation" + } else { + return "ActivityStreamsLocation" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsLocationPropertyIterator) Next() vocab.ActivityStreamsLocationPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsLocationPropertyIterator) Prev() vocab.ActivityStreamsLocationPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsLocationPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsLocationPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsLocation property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsLocationPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsLocationPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsLocationProperty is the non-functional property "location". It +// is permitted to have one or more values, and of different value types. +type ActivityStreamsLocationProperty struct { + properties []*ActivityStreamsLocationPropertyIterator + alias string +} + +// DeserializeLocationProperty creates a "location" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeLocationProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsLocationProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "location" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "location") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsLocationProperty{ + alias: alias, + properties: []*ActivityStreamsLocationPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsLocationPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsLocationPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsLocationProperty creates a new location property. +func NewActivityStreamsLocationProperty() *ActivityStreamsLocationProperty { + return &ActivityStreamsLocationProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "location". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "location". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "location". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "location". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "location". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "location". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "location". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "location". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "location". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "location". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "location". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "location" +func (this *ActivityStreamsLocationProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "location". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsLocationProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "location". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsLocationProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "location". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsLocationProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsLocationProperty) At(index int) vocab.ActivityStreamsLocationPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsLocationProperty) Begin() vocab.ActivityStreamsLocationPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsLocationProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsLocationProperty) End() vocab.ActivityStreamsLocationPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "location". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "location". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "location". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "location". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "location". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "location". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "location". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "location". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "location". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "location". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "location". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "location". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "location". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "location". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "location". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "location". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "location". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsLocationProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsLocationProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsLocationProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "location" property. +func (this ActivityStreamsLocationProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsLocationProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsLocationProperty) LessThan(o vocab.ActivityStreamsLocationProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("location") with any alias. +func (this ActivityStreamsLocationProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "location" + } else { + return "location" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "location". Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "location". Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "location". +func (this *ActivityStreamsLocationProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "location". Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsLocationPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "location". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsLocationProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsLocationPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "location", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsLocationPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsLocationProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "location". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "location". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "location". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "location". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "location". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "location". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "location". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "location". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsLocationProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "location". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsLocationProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "location". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "location". Panics if the index is out of bounds. +func (this *ActivityStreamsLocationProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "location". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "location". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsLocationProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "location". Invalidates all iterators. Returns an error if the type is not +// a valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsLocationProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsLocationPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "location" property. +func (this ActivityStreamsLocationProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_doc.go new file mode 100644 index 000000000..71299ec90 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertylongitude contains the implementation for the longitude +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertylongitude diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_pkg.go new file mode 100644 index 000000000..4a54b000f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylongitude + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_property_activitystreams_longitude.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_property_activitystreams_longitude.go new file mode 100644 index 000000000..b05ffe8af --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_longitude/gen_property_activitystreams_longitude.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertylongitude + +import ( + "fmt" + float "github.com/go-fed/activity/streams/values/float" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsLongitudeProperty is the functional property "longitude". It is +// permitted to be a single default-valued value type. +type ActivityStreamsLongitudeProperty struct { + xmlschemaFloatMember float64 + hasFloatMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeLongitudeProperty creates a "longitude" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeLongitudeProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsLongitudeProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "longitude" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "longitude") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsLongitudeProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := float.DeserializeFloat(i); err == nil { + this := &ActivityStreamsLongitudeProperty{ + alias: alias, + hasFloatMember: true, + xmlschemaFloatMember: v, + } + return this, nil + } + this := &ActivityStreamsLongitudeProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsLongitudeProperty creates a new longitude property. +func NewActivityStreamsLongitudeProperty() *ActivityStreamsLongitudeProperty { + return &ActivityStreamsLongitudeProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaFloat +// afterwards will return false. +func (this *ActivityStreamsLongitudeProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasFloatMember = false +} + +// Get returns the value of this property. When IsXMLSchemaFloat returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsLongitudeProperty) Get() float64 { + return this.xmlschemaFloatMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsLongitudeProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsLongitudeProperty) HasAny() bool { + return this.IsXMLSchemaFloat() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsLongitudeProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaFloat returns true if this property is set and not an IRI. +func (this ActivityStreamsLongitudeProperty) IsXMLSchemaFloat() bool { + return this.hasFloatMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsLongitudeProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsLongitudeProperty) KindIndex() int { + if this.IsXMLSchemaFloat() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsLongitudeProperty) LessThan(o vocab.ActivityStreamsLongitudeProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaFloat() && o.IsXMLSchemaFloat() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return float.LessFloat(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "longitude". +func (this ActivityStreamsLongitudeProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "longitude" + } else { + return "longitude" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsLongitudeProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaFloat() { + return float.SerializeFloat(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaFloat afterwards will +// return true. +func (this *ActivityStreamsLongitudeProperty) Set(v float64) { + this.Clear() + this.xmlschemaFloatMember = v + this.hasFloatMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsLongitudeProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_doc.go new file mode 100644 index 000000000..e212ac5b6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertymediatype contains the implementation for the mediaType +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertymediatype diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_pkg.go new file mode 100644 index 000000000..a337f7e57 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertymediatype + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_property_activitystreams_mediaType.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_property_activitystreams_mediaType.go new file mode 100644 index 000000000..8c8eefef3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype/gen_property_activitystreams_mediaType.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertymediatype + +import ( + "fmt" + rfc2045 "github.com/go-fed/activity/streams/values/rfc2045" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsMediaTypeProperty is the functional property "mediaType". It is +// permitted to be a single default-valued value type. +type ActivityStreamsMediaTypeProperty struct { + rfcRfc2045Member string + hasRfc2045Member bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeMediaTypeProperty creates a "mediaType" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeMediaTypeProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsMediaTypeProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "mediaType" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "mediaType") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsMediaTypeProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := rfc2045.DeserializeRfc2045(i); err == nil { + this := &ActivityStreamsMediaTypeProperty{ + alias: alias, + hasRfc2045Member: true, + rfcRfc2045Member: v, + } + return this, nil + } + this := &ActivityStreamsMediaTypeProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsMediaTypeProperty creates a new mediaType property. +func NewActivityStreamsMediaTypeProperty() *ActivityStreamsMediaTypeProperty { + return &ActivityStreamsMediaTypeProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsRFCRfc2045 afterwards +// will return false. +func (this *ActivityStreamsMediaTypeProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasRfc2045Member = false +} + +// Get returns the value of this property. When IsRFCRfc2045 returns false, Get +// will return any arbitrary value. +func (this ActivityStreamsMediaTypeProperty) Get() string { + return this.rfcRfc2045Member +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsMediaTypeProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsMediaTypeProperty) HasAny() bool { + return this.IsRFCRfc2045() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsMediaTypeProperty) IsIRI() bool { + return this.iri != nil +} + +// IsRFCRfc2045 returns true if this property is set and not an IRI. +func (this ActivityStreamsMediaTypeProperty) IsRFCRfc2045() bool { + return this.hasRfc2045Member +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsMediaTypeProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsMediaTypeProperty) KindIndex() int { + if this.IsRFCRfc2045() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsMediaTypeProperty) LessThan(o vocab.ActivityStreamsMediaTypeProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsRFCRfc2045() && !o.IsRFCRfc2045() { + // Both are unknowns. + return false + } else if this.IsRFCRfc2045() && !o.IsRFCRfc2045() { + // Values are always greater than unknown values. + return false + } else if !this.IsRFCRfc2045() && o.IsRFCRfc2045() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return rfc2045.LessRfc2045(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "mediaType". +func (this ActivityStreamsMediaTypeProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "mediaType" + } else { + return "mediaType" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsMediaTypeProperty) Serialize() (interface{}, error) { + if this.IsRFCRfc2045() { + return rfc2045.SerializeRfc2045(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsRFCRfc2045 afterwards will +// return true. +func (this *ActivityStreamsMediaTypeProperty) Set(v string) { + this.Clear() + this.rfcRfc2045Member = v + this.hasRfc2045Member = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsMediaTypeProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_doc.go new file mode 100644 index 000000000..7082b2e8a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyname contains the implementation for the name property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyname diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_pkg.go new file mode 100644 index 000000000..cd9cb9f38 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyname + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_property_activitystreams_name.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_property_activitystreams_name.go new file mode 100644 index 000000000..69d9cfbce --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_name/gen_property_activitystreams_name.go @@ -0,0 +1,667 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyname + +import ( + "fmt" + langstring "github.com/go-fed/activity/streams/values/langString" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsNamePropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsNamePropertyIterator struct { + xmlschemaStringMember string + hasStringMember bool + rdfLangStringMember map[string]string + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsNameProperty +} + +// NewActivityStreamsNamePropertyIterator creates a new ActivityStreamsName +// property. +func NewActivityStreamsNamePropertyIterator() *ActivityStreamsNamePropertyIterator { + return &ActivityStreamsNamePropertyIterator{alias: ""} +} + +// deserializeActivityStreamsNamePropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsNamePropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsNamePropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsNamePropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ActivityStreamsNamePropertyIterator{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } else if v, err := langstring.DeserializeLangString(i); err == nil { + this := &ActivityStreamsNamePropertyIterator{ + alias: alias, + rdfLangStringMember: v, + } + return this, nil + } + this := &ActivityStreamsNamePropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsNamePropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetLanguage returns the value for the specified BCP47 language code, or an +// empty string if it is either not a language map or no value is present. +func (this ActivityStreamsNamePropertyIterator) GetLanguage(bcp47 string) string { + if this.rdfLangStringMember == nil { + return "" + } else if v, ok := this.rdfLangStringMember[bcp47]; ok { + return v + } else { + return "" + } +} + +// GetRDFLangString returns the value of this property. When IsRDFLangString +// returns false, GetRDFLangString will return an arbitrary value. +func (this ActivityStreamsNamePropertyIterator) GetRDFLangString() map[string]string { + return this.rdfLangStringMember +} + +// GetXMLSchemaString returns the value of this property. When IsXMLSchemaString +// returns false, GetXMLSchemaString will return an arbitrary value. +func (this ActivityStreamsNamePropertyIterator) GetXMLSchemaString() string { + return this.xmlschemaStringMember +} + +// HasAny returns true if any of the values are set, except for the natural +// language map. When true, the specific has, getter, and setter methods may +// be used to determine what kind of value there is to access and set this +// property. To determine if the property was set as a natural language map, +// use the IsRDFLangString method instead. +func (this ActivityStreamsNamePropertyIterator) HasAny() bool { + return this.IsXMLSchemaString() || + this.IsRDFLangString() || + this.iri != nil +} + +// HasLanguage returns true if the natural language map has an entry for the +// specified BCP47 language code. +func (this ActivityStreamsNamePropertyIterator) HasLanguage(bcp47 string) bool { + if this.rdfLangStringMember == nil { + return false + } else { + _, ok := this.rdfLangStringMember[bcp47] + return ok + } +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsNamePropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsRDFLangString returns true if this property has a type of "langString". When +// true, use the GetRDFLangString and SetRDFLangString methods to access and +// set this property.. To determine if the property was set as a natural +// language map, use the IsRDFLangString method instead. +func (this ActivityStreamsNamePropertyIterator) IsRDFLangString() bool { + return this.rdfLangStringMember != nil +} + +// IsXMLSchemaString returns true if this property has a type of "string". When +// true, use the GetXMLSchemaString and SetXMLSchemaString methods to access +// and set this property.. To determine if the property was set as a natural +// language map, use the IsRDFLangString method instead. +func (this ActivityStreamsNamePropertyIterator) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsNamePropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsNamePropertyIterator) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsRDFLangString() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsNamePropertyIterator) LessThan(o vocab.ActivityStreamsNamePropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsXMLSchemaString() { + return string1.LessString(this.GetXMLSchemaString(), o.GetXMLSchemaString()) + } else if this.IsRDFLangString() { + return langstring.LessLangString(this.GetRDFLangString(), o.GetRDFLangString()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsName". +func (this ActivityStreamsNamePropertyIterator) Name() string { + if this.IsRDFLangString() { + return "ActivityStreamsNameMap" + } else { + return "ActivityStreamsName" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsNamePropertyIterator) Next() vocab.ActivityStreamsNamePropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsNamePropertyIterator) Prev() vocab.ActivityStreamsNamePropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsNamePropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetLanguage sets the value for the specified BCP47 language code. +func (this *ActivityStreamsNamePropertyIterator) SetLanguage(bcp47, value string) { + this.hasStringMember = false + this.rdfLangStringMember = nil + this.unknown = nil + this.iri = nil + if this.rdfLangStringMember == nil { + this.rdfLangStringMember = make(map[string]string) + } + this.rdfLangStringMember[bcp47] = value +} + +// SetRDFLangString sets the value of this property and clears the natural +// language map. Calling IsRDFLangString afterwards will return true. Calling +// IsRDFLangString afterwards returns false. +func (this *ActivityStreamsNamePropertyIterator) SetRDFLangString(v map[string]string) { + this.clear() + this.rdfLangStringMember = v +} + +// SetXMLSchemaString sets the value of this property and clears the natural +// language map. Calling IsXMLSchemaString afterwards will return true. +// Calling IsRDFLangString afterwards returns false. +func (this *ActivityStreamsNamePropertyIterator) SetXMLSchemaString(v string) { + this.clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// clear ensures no value and no language map for this property is set. Calling +// HasAny or any of the 'Is' methods afterwards will return false. +func (this *ActivityStreamsNamePropertyIterator) clear() { + this.hasStringMember = false + this.rdfLangStringMember = nil + this.unknown = nil + this.iri = nil + this.rdfLangStringMember = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsNamePropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.GetXMLSchemaString()) + } else if this.IsRDFLangString() { + return langstring.SerializeLangString(this.GetRDFLangString()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsNameProperty is the non-functional property "name". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsNameProperty struct { + properties []*ActivityStreamsNamePropertyIterator + alias string +} + +// DeserializeNameProperty creates a "name" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeNameProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsNameProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "name" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "name") + } + i, ok := m[propName] + if !ok { + // Attempt to find the map instead. + i, ok = m[propName+"Map"] + } + if ok { + this := &ActivityStreamsNameProperty{ + alias: alias, + properties: []*ActivityStreamsNamePropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsNamePropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsNamePropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsNameProperty creates a new name property. +func NewActivityStreamsNameProperty() *ActivityStreamsNameProperty { + return &ActivityStreamsNameProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property "name" +func (this *ActivityStreamsNameProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendRDFLangString appends a langString value to the back of a list of the +// property "name". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsNameProperty) AppendRDFLangString(v map[string]string) { + this.properties = append(this.properties, &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + rdfLangStringMember: v, + }) +} + +// AppendXMLSchemaString appends a string value to the back of a list of the +// property "name". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsNameProperty) AppendXMLSchemaString(v string) { + this.properties = append(this.properties, &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaStringMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsNameProperty) At(index int) vocab.ActivityStreamsNamePropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsNameProperty) Begin() vocab.ActivityStreamsNamePropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsNameProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsNameProperty) End() vocab.ActivityStreamsNamePropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property "name". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsNameProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertRDFLangString inserts a langString value at the specified index for a +// property "name". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsNameProperty) InsertRDFLangString(idx int, v map[string]string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + rdfLangStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaString inserts a string value at the specified index for a +// property "name". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsNameProperty) InsertXMLSchemaString(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsNameProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsNameProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "name" property. +func (this ActivityStreamsNameProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsNameProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetXMLSchemaString() + rhs := this.properties[j].GetXMLSchemaString() + return string1.LessString(lhs, rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetRDFLangString() + rhs := this.properties[j].GetRDFLangString() + return langstring.LessLangString(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsNameProperty) LessThan(o vocab.ActivityStreamsNameProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("name") with any alias. +func (this ActivityStreamsNameProperty) Name() string { + if this.Len() == 1 && this.At(0).IsRDFLangString() { + return "nameMap" + } else { + return "name" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "name". +func (this *ActivityStreamsNameProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsNamePropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependRDFLangString prepends a langString value to the front of a list of the +// property "name". Invalidates all iterators. +func (this *ActivityStreamsNameProperty) PrependRDFLangString(v map[string]string) { + this.properties = append([]*ActivityStreamsNamePropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + rdfLangStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaString prepends a string value to the front of a list of the +// property "name". Invalidates all iterators. +func (this *ActivityStreamsNameProperty) PrependXMLSchemaString(v string) { + this.properties = append([]*ActivityStreamsNamePropertyIterator{{ + alias: this.alias, + hasStringMember: true, + myIdx: 0, + parent: this, + xmlschemaStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "name", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsNameProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsNamePropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsNameProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetIRI sets an IRI value to be at the specified index for the property "name". +// Panics if the index is out of bounds. +func (this *ActivityStreamsNameProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetRDFLangString sets a langString value to be at the specified index for the +// property "name". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsNameProperty) SetRDFLangString(idx int, v map[string]string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + rdfLangStringMember: v, + } +} + +// SetXMLSchemaString sets a string value to be at the specified index for the +// property "name". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsNameProperty) SetXMLSchemaString(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsNamePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } +} + +// Swap swaps the location of values at two indices for the "name" property. +func (this ActivityStreamsNameProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_doc.go new file mode 100644 index 000000000..e70c87624 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertynext contains the implementation for the next property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertynext diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_pkg.go new file mode 100644 index 000000000..20e814b77 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertynext + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_property_activitystreams_next.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_property_activitystreams_next.go new file mode 100644 index 000000000..6727d280f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_property_activitystreams_next.go @@ -0,0 +1,359 @@ +// Code generated by astool. DO NOT EDIT. + +package propertynext + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsNextProperty is the functional property "next". It is permitted +// to be one of multiple value types. At most, one type of value can be +// present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsNextProperty struct { + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeNextProperty creates a "next" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeNextProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsNextProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "next" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "next") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsNextProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsNextProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsNextProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsNextProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsNextProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsNextProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsNextProperty creates a new next property. +func NewActivityStreamsNextProperty() *ActivityStreamsNextProperty { + return &ActivityStreamsNextProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsNextProperty) Clear() { + this.activitystreamsCollectionPageMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsNextProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsNextProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsNextProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsNextProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsNextProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsNextProperty) GetType() vocab.Type { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsNextProperty) HasAny() bool { + return this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsNextProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsNextProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsNextProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsNextProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsNextProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsNextProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsNextProperty) KindIndex() int { + if this.IsActivityStreamsCollectionPage() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsNextProperty) LessThan(o vocab.ActivityStreamsNextProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "next". +func (this ActivityStreamsNextProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "next" + } else { + return "next" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsNextProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsNextProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsNextProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsNextProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsNextProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsNextProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsNextProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on next property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_doc.go new file mode 100644 index 000000000..dd66c367a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyobject contains the implementation for the object property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyobject diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_pkg.go new file mode 100644 index 000000000..d9176c966 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyobject + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_property_activitystreams_object.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_property_activitystreams_object.go new file mode 100644 index 000000000..501ddaabd --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_object/gen_property_activitystreams_object.go @@ -0,0 +1,7031 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyobject + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsObjectPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsObjectPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsObjectProperty +} + +// NewActivityStreamsObjectPropertyIterator creates a new ActivityStreamsObject +// property. +func NewActivityStreamsObjectPropertyIterator() *ActivityStreamsObjectPropertyIterator { + return &ActivityStreamsObjectPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsObjectPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsObjectPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsObjectPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsObjectPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsObjectPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsObjectPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsObjectPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsObjectPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsObjectPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsObjectPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsObjectPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsObjectPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsObjectPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsObjectPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsObjectPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsObjectPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsObjectPropertyIterator) LessThan(o vocab.ActivityStreamsObjectPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsObject". +func (this ActivityStreamsObjectPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsObject" + } else { + return "ActivityStreamsObject" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsObjectPropertyIterator) Next() vocab.ActivityStreamsObjectPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsObjectPropertyIterator) Prev() vocab.ActivityStreamsObjectPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsObjectPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsObjectPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsObject property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsObjectPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsObjectPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsObjectProperty is the non-functional property "object". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsObjectProperty struct { + properties []*ActivityStreamsObjectPropertyIterator + alias string +} + +// DeserializeObjectProperty creates a "object" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeObjectProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsObjectProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "object" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "object") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsObjectProperty{ + alias: alias, + properties: []*ActivityStreamsObjectPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsObjectPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsObjectPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsObjectProperty creates a new object property. +func NewActivityStreamsObjectProperty() *ActivityStreamsObjectProperty { + return &ActivityStreamsObjectProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "object". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "object". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "object". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "object". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "object". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "object". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "object". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "object". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "object". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "object". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "object". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "object". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsObjectProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "object" +func (this *ActivityStreamsObjectProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "object". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsObjectProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "object". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsObjectProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsObjectProperty) At(index int) vocab.ActivityStreamsObjectPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsObjectProperty) Begin() vocab.ActivityStreamsObjectPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsObjectProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsObjectProperty) End() vocab.ActivityStreamsObjectPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "object". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "object". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "object". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "object". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "object". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "object". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "object". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "object". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "object". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "object". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "object". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "object". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "object". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "object". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "object". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "object". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "object". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "object". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "object". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "object". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "object". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "object". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsObjectProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsObjectProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsObjectProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "object" property. +func (this ActivityStreamsObjectProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsObjectProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsObjectProperty) LessThan(o vocab.ActivityStreamsObjectProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("object") with any alias. +func (this ActivityStreamsObjectProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "object" + } else { + return "object" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "object". Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "object". Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "object". +func (this *ActivityStreamsObjectProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "object". Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsObjectPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "object". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsObjectProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsObjectPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "object", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsObjectPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsObjectProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "object". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "object". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "object". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "object". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "object". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "object". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "object". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "object". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsObjectProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "object". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsObjectProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "object". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "object". Panics if the index is out of bounds. +func (this *ActivityStreamsObjectProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "object". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "object". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsObjectProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "object". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsObjectProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsObjectPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "object" property. +func (this ActivityStreamsObjectProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_doc.go new file mode 100644 index 000000000..9867775b4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyoneof contains the implementation for the oneOf property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyoneof diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_pkg.go new file mode 100644 index 000000000..f0a1b461f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyoneof + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_property_activitystreams_oneOf.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_property_activitystreams_oneOf.go new file mode 100644 index 000000000..4561cecd7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_oneof/gen_property_activitystreams_oneOf.go @@ -0,0 +1,7030 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyoneof + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsOneOfPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsOneOfPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsOneOfProperty +} + +// NewActivityStreamsOneOfPropertyIterator creates a new ActivityStreamsOneOf +// property. +func NewActivityStreamsOneOfPropertyIterator() *ActivityStreamsOneOfPropertyIterator { + return &ActivityStreamsOneOfPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsOneOfPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsOneOfPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsOneOfPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOneOfPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsOneOfPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsOneOfPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsOneOfPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsOneOfPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsOneOfPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsOneOfPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsOneOfPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsOneOfPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsOneOfPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsOneOfPropertyIterator) LessThan(o vocab.ActivityStreamsOneOfPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsOneOf". +func (this ActivityStreamsOneOfPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsOneOf" + } else { + return "ActivityStreamsOneOf" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsOneOfPropertyIterator) Next() vocab.ActivityStreamsOneOfPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsOneOfPropertyIterator) Prev() vocab.ActivityStreamsOneOfPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsOneOfPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsOneOfPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsOneOf property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsOneOfPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsOneOfPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsOneOfProperty is the non-functional property "oneOf". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsOneOfProperty struct { + properties []*ActivityStreamsOneOfPropertyIterator + alias string +} + +// DeserializeOneOfProperty creates a "oneOf" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeOneOfProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOneOfProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "oneOf" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "oneOf") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsOneOfProperty{ + alias: alias, + properties: []*ActivityStreamsOneOfPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsOneOfPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsOneOfPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsOneOfProperty creates a new oneOf property. +func NewActivityStreamsOneOfProperty() *ActivityStreamsOneOfProperty { + return &ActivityStreamsOneOfProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "oneOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "oneOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "oneOf". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "oneOf". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "oneOf". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "oneOf". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "oneOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "oneOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "oneOf". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "oneOf". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "oneOf". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "oneOf". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOneOfProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "oneOf" +func (this *ActivityStreamsOneOfProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "oneOf". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOneOfProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "oneOf". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsOneOfProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsOneOfProperty) At(index int) vocab.ActivityStreamsOneOfPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsOneOfProperty) Begin() vocab.ActivityStreamsOneOfPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsOneOfProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsOneOfProperty) End() vocab.ActivityStreamsOneOfPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "oneOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "oneOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "oneOf". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "oneOf". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "oneOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "oneOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "oneOf". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "oneOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "oneOf". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "oneOf". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "oneOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "oneOf". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "oneOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "oneOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "oneOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "oneOf". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "oneOf". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "oneOf". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "oneOf". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "oneOf". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "oneOf". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "oneOf". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsOneOfProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsOneOfProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsOneOfProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "oneOf" property. +func (this ActivityStreamsOneOfProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsOneOfProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsOneOfProperty) LessThan(o vocab.ActivityStreamsOneOfProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("oneOf") with any alias. +func (this ActivityStreamsOneOfProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "oneOf" + } else { + return "oneOf" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "oneOf". Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "oneOf". Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "oneOf". +func (this *ActivityStreamsOneOfProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "oneOf". Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "oneOf". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsOneOfProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsOneOfPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "oneOf", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsOneOfPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsOneOfProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "oneOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "oneOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "oneOf". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "oneOf". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "oneOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "oneOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "oneOf". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "oneOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "oneOf". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "oneOf". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "oneOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "oneOf". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "oneOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "oneOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "oneOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "oneOf". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "oneOf". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOneOfProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "oneOf". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "oneOf". +// Panics if the index is out of bounds. +func (this *ActivityStreamsOneOfProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "oneOf". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOneOfProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "oneOf". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOneOfProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "oneOf". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsOneOfProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsOneOfPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "oneOf" property. +func (this ActivityStreamsOneOfProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_doc.go new file mode 100644 index 000000000..4b9d60d52 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyordereditems contains the implementation for the orderedItems +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyordereditems diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_pkg.go new file mode 100644 index 000000000..6aa80f7f9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyordereditems + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_property_activitystreams_orderedItems.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_property_activitystreams_orderedItems.go new file mode 100644 index 000000000..02b9bc8b4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems/gen_property_activitystreams_orderedItems.go @@ -0,0 +1,7089 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyordereditems + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsOrderedItemsPropertyIterator is an iterator for a property. It +// is permitted to be one of multiple value types. At most, one type of value +// can be present, or none at all. Setting a value will clear the other types +// of values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsOrderedItemsPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsOrderedItemsProperty +} + +// NewActivityStreamsOrderedItemsPropertyIterator creates a new +// ActivityStreamsOrderedItems property. +func NewActivityStreamsOrderedItemsPropertyIterator() *ActivityStreamsOrderedItemsPropertyIterator { + return &ActivityStreamsOrderedItemsPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsOrderedItemsPropertyIterator creates an iterator from +// an element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsOrderedItemsPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsOrderedItemsPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsOrderedItemsPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsOrderedItemsPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsOrderedItemsPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsOrderedItemsPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsOrderedItemsPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsOrderedItemsPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsOrderedItemsPropertyIterator) LessThan(o vocab.ActivityStreamsOrderedItemsPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsOrderedItems". +func (this ActivityStreamsOrderedItemsPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsOrderedItems" + } else { + return "ActivityStreamsOrderedItems" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsOrderedItemsPropertyIterator) Next() vocab.ActivityStreamsOrderedItemsPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsOrderedItemsPropertyIterator) Prev() vocab.ActivityStreamsOrderedItemsPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsOrderedItemsPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsOrderedItems property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsOrderedItemsPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsOrderedItemsPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsOrderedItemsProperty is the non-functional property +// "orderedItems". It is permitted to have one or more values, and of +// different value types. +type ActivityStreamsOrderedItemsProperty struct { + properties []*ActivityStreamsOrderedItemsPropertyIterator + alias string +} + +// DeserializeOrderedItemsProperty creates a "orderedItems" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeOrderedItemsProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOrderedItemsProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "orderedItems" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "orderedItems") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsOrderedItemsProperty{ + alias: alias, + properties: []*ActivityStreamsOrderedItemsPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsOrderedItemsPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsOrderedItemsPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsOrderedItemsProperty creates a new orderedItems property. +func NewActivityStreamsOrderedItemsProperty() *ActivityStreamsOrderedItemsProperty { + return &ActivityStreamsOrderedItemsProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "orderedItems". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "orderedItems". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "orderedItems". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "orderedItems". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "orderedItems". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "orderedItems". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "orderedItems". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "orderedItems". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "orderedItems". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "orderedItems". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "orderedItems". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "orderedItems". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "orderedItems" +func (this *ActivityStreamsOrderedItemsProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "orderedItems". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "orderedItems". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOrderedItemsProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "orderedItems". Invalidates iterators that are traversing using +// Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ActivityStreamsOrderedItemsProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsOrderedItemsProperty) At(index int) vocab.ActivityStreamsOrderedItemsPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsOrderedItemsProperty) Begin() vocab.ActivityStreamsOrderedItemsPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsOrderedItemsProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsOrderedItemsProperty) End() vocab.ActivityStreamsOrderedItemsPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "orderedItems". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "orderedItems". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "orderedItems". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "orderedItems". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "orderedItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "orderedItems". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "orderedItems". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "orderedItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "orderedItems". Existing +// elements at that index and higher are shifted back once. Invalidates all +// iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "orderedItems". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "orderedItems". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "orderedItems". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "orderedItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "orderedItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "orderedItems". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "orderedItems". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "orderedItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "orderedItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property +// "orderedItems". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "orderedItems". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "orderedItems". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "orderedItems". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsOrderedItemsProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsOrderedItemsProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsOrderedItemsProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "orderedItems" property. +func (this ActivityStreamsOrderedItemsProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsOrderedItemsProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsOrderedItemsProperty) LessThan(o vocab.ActivityStreamsOrderedItemsProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("orderedItems") with any alias. +func (this ActivityStreamsOrderedItemsProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "orderedItems" + } else { + return "orderedItems" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "orderedItems". Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "orderedItems". Invalidates all +// iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "orderedItems". Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "orderedItems". +func (this *ActivityStreamsOrderedItemsProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "orderedItems". Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "orderedItems". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsOrderedItemsProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsOrderedItemsPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "orderedItems", regardless of its type. Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsOrderedItemsPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsOrderedItemsProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "orderedItems". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "orderedItems". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "orderedItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "orderedItems". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "orderedItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "orderedItems". Panics if the +// index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "orderedItems". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "orderedItems". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "orderedItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "orderedItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "orderedItems". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "orderedItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "orderedItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "orderedItems". Panics if the index is out of bounds. +func (this *ActivityStreamsOrderedItemsProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "orderedItems". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "orderedItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOrderedItemsProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "orderedItems". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ActivityStreamsOrderedItemsProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsOrderedItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "orderedItems" +// property. +func (this ActivityStreamsOrderedItemsProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_doc.go new file mode 100644 index 000000000..095312aab --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyorigin contains the implementation for the origin property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyorigin diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_pkg.go new file mode 100644 index 000000000..98eba3a99 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyorigin + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_property_activitystreams_origin.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_property_activitystreams_origin.go new file mode 100644 index 000000000..3d83911d8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_origin/gen_property_activitystreams_origin.go @@ -0,0 +1,7031 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyorigin + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsOriginPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsOriginPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsOriginProperty +} + +// NewActivityStreamsOriginPropertyIterator creates a new ActivityStreamsOrigin +// property. +func NewActivityStreamsOriginPropertyIterator() *ActivityStreamsOriginPropertyIterator { + return &ActivityStreamsOriginPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsOriginPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsOriginPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsOriginPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOriginPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsOriginPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsOriginPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsOriginPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsOriginPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsOriginPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsOriginPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsOriginPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsOriginPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsOriginPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsOriginPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsOriginPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsOriginPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsOriginPropertyIterator) LessThan(o vocab.ActivityStreamsOriginPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsOrigin". +func (this ActivityStreamsOriginPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsOrigin" + } else { + return "ActivityStreamsOrigin" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsOriginPropertyIterator) Next() vocab.ActivityStreamsOriginPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsOriginPropertyIterator) Prev() vocab.ActivityStreamsOriginPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsOriginPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsOriginPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsOrigin property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsOriginPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsOriginPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsOriginProperty is the non-functional property "origin". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsOriginProperty struct { + properties []*ActivityStreamsOriginPropertyIterator + alias string +} + +// DeserializeOriginProperty creates a "origin" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeOriginProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsOriginProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "origin" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "origin") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsOriginProperty{ + alias: alias, + properties: []*ActivityStreamsOriginPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsOriginPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsOriginPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsOriginProperty creates a new origin property. +func NewActivityStreamsOriginProperty() *ActivityStreamsOriginProperty { + return &ActivityStreamsOriginProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "origin". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "origin". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "origin". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "origin". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "origin". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "origin". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "origin". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "origin". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "origin". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "origin". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "origin". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "origin". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsOriginProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "origin" +func (this *ActivityStreamsOriginProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "origin". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsOriginProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "origin". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsOriginProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsOriginProperty) At(index int) vocab.ActivityStreamsOriginPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsOriginProperty) Begin() vocab.ActivityStreamsOriginPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsOriginProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsOriginProperty) End() vocab.ActivityStreamsOriginPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "origin". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "origin". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "origin". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "origin". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "origin". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "origin". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "origin". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "origin". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "origin". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "origin". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "origin". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "origin". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "origin". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "origin". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "origin". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "origin". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "origin". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "origin". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "origin". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "origin". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "origin". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "origin". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsOriginProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsOriginProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsOriginProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "origin" property. +func (this ActivityStreamsOriginProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsOriginProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsOriginProperty) LessThan(o vocab.ActivityStreamsOriginProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("origin") with any alias. +func (this ActivityStreamsOriginProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "origin" + } else { + return "origin" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "origin". Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "origin". Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "origin". +func (this *ActivityStreamsOriginProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "origin". Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsOriginPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "origin". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsOriginProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsOriginPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "origin", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsOriginPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsOriginProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "origin". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "origin". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "origin". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "origin". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "origin". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "origin". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "origin". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "origin". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsOriginProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "origin". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsOriginProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "origin". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "origin". Panics if the index is out of bounds. +func (this *ActivityStreamsOriginProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "origin". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "origin". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsOriginProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "origin". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsOriginProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsOriginPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "origin" property. +func (this ActivityStreamsOriginProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_doc.go new file mode 100644 index 000000000..4f15afb01 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyoutbox contains the implementation for the outbox property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyoutbox diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_pkg.go new file mode 100644 index 000000000..b6905981a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_pkg.go @@ -0,0 +1,27 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyoutbox + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_property_activitystreams_outbox.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_property_activitystreams_outbox.go new file mode 100644 index 000000000..4e8874e8c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_outbox/gen_property_activitystreams_outbox.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyoutbox + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsOutboxProperty is the functional property "outbox". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsOutboxProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeOutboxProperty creates a "outbox" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeOutboxProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsOutboxProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "outbox" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "outbox") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsOutboxProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOutboxProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsOutboxProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsOutboxProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsOutboxProperty creates a new outbox property. +func NewActivityStreamsOutboxProperty() *ActivityStreamsOutboxProperty { + return &ActivityStreamsOutboxProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsOutboxProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsOutboxProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsOutboxProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsOutboxProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsOutboxProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsOutboxProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsOutboxProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsOutboxProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsOutboxProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsOutboxProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsOutboxProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsOutboxProperty) LessThan(o vocab.ActivityStreamsOutboxProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "outbox". +func (this ActivityStreamsOutboxProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "outbox" + } else { + return "outbox" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsOutboxProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsOutboxProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsOutboxProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsOutboxProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsOutboxProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on outbox property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_doc.go new file mode 100644 index 000000000..3de84ee32 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertypartof contains the implementation for the partOf property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertypartof diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_pkg.go new file mode 100644 index 000000000..a7708d3d0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_pkg.go @@ -0,0 +1,43 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypartof + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_property_activitystreams_partOf.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_property_activitystreams_partOf.go new file mode 100644 index 000000000..7bee379a9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_partof/gen_property_activitystreams_partOf.go @@ -0,0 +1,452 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypartof + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsPartOfProperty is the functional property "partOf". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsPartOfProperty struct { + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializePartOfProperty creates a "partOf" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializePartOfProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsPartOfProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "partOf" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "partOf") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsPartOfProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPartOfProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPartOfProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPartOfProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPartOfProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPartOfProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPartOfProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsPartOfProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsPartOfProperty creates a new partOf property. +func NewActivityStreamsPartOfProperty() *ActivityStreamsPartOfProperty { + return &ActivityStreamsPartOfProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsPartOfProperty) Clear() { + this.activitystreamsLinkMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsPartOfProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsPartOfProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsPartOfProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsPartOfProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsPartOfProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsPartOfProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsPartOfProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsPartOfProperty) GetType() vocab.Type { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsPartOfProperty) HasAny() bool { + return this.IsActivityStreamsLink() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsPartOfProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsPartOfProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsPartOfProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsPartOfProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsPartOfProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsPartOfProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsPartOfProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsPartOfProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsPartOfProperty) KindIndex() int { + if this.IsActivityStreamsLink() { + return 0 + } + if this.IsActivityStreamsCollection() { + return 1 + } + if this.IsActivityStreamsCollectionPage() { + return 2 + } + if this.IsActivityStreamsMention() { + return 3 + } + if this.IsActivityStreamsOrderedCollection() { + return 4 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 5 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsPartOfProperty) LessThan(o vocab.ActivityStreamsPartOfProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "partOf". +func (this ActivityStreamsPartOfProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "partOf" + } else { + return "partOf" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsPartOfProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsPartOfProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsPartOfProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsPartOfProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsPartOfProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsPartOfProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsPartOfProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsPartOfProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsPartOfProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on partOf property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_doc.go new file mode 100644 index 000000000..cf28cee8f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertypreferredusername contains the implementation for the +// preferredUsername property. All applications are strongly encouraged to use +// the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertypreferredusername diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_pkg.go new file mode 100644 index 000000000..37a4545ae --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypreferredusername + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_property_activitystreams_preferredUsername.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_property_activitystreams_preferredUsername.go new file mode 100644 index 000000000..7053417e1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername/gen_property_activitystreams_preferredUsername.go @@ -0,0 +1,284 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypreferredusername + +import ( + "fmt" + langstring "github.com/go-fed/activity/streams/values/langString" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsPreferredUsernameProperty is the functional property +// "preferredUsername". It is permitted to be one of multiple value types. At +// most, one type of value can be present, or none at all. Setting a value +// will clear the other types of values so that only one of the 'Is' methods +// will return true. It is possible to clear all values, so that this property +// is empty. +type ActivityStreamsPreferredUsernameProperty struct { + xmlschemaStringMember string + hasStringMember bool + rdfLangStringMember map[string]string + unknown interface{} + iri *url.URL + alias string +} + +// DeserializePreferredUsernameProperty creates a "preferredUsername" property +// from an interface representation that has been unmarshalled from a text or +// binary format. +func DeserializePreferredUsernameProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsPreferredUsernameProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "preferredUsername" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "preferredUsername") + } + i, ok := m[propName] + if !ok { + // Attempt to find the map instead. + i, ok = m[propName+"Map"] + } + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsPreferredUsernameProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ActivityStreamsPreferredUsernameProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } else if v, err := langstring.DeserializeLangString(i); err == nil { + this := &ActivityStreamsPreferredUsernameProperty{ + alias: alias, + rdfLangStringMember: v, + } + return this, nil + } + this := &ActivityStreamsPreferredUsernameProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsPreferredUsernameProperty creates a new preferredUsername +// property. +func NewActivityStreamsPreferredUsernameProperty() *ActivityStreamsPreferredUsernameProperty { + return &ActivityStreamsPreferredUsernameProperty{alias: ""} +} + +// Clear ensures no value and no language map for this property is set. Calling +// HasAny or any of the 'Is' methods afterwards will return false. +func (this *ActivityStreamsPreferredUsernameProperty) Clear() { + this.hasStringMember = false + this.rdfLangStringMember = nil + this.unknown = nil + this.iri = nil + this.rdfLangStringMember = nil +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsPreferredUsernameProperty) GetIRI() *url.URL { + return this.iri +} + +// GetLanguage returns the value for the specified BCP47 language code, or an +// empty string if it is either not a language map or no value is present. +func (this ActivityStreamsPreferredUsernameProperty) GetLanguage(bcp47 string) string { + if this.rdfLangStringMember == nil { + return "" + } else if v, ok := this.rdfLangStringMember[bcp47]; ok { + return v + } else { + return "" + } +} + +// GetRDFLangString returns the value of this property. When IsRDFLangString +// returns false, GetRDFLangString will return an arbitrary value. +func (this ActivityStreamsPreferredUsernameProperty) GetRDFLangString() map[string]string { + return this.rdfLangStringMember +} + +// GetXMLSchemaString returns the value of this property. When IsXMLSchemaString +// returns false, GetXMLSchemaString will return an arbitrary value. +func (this ActivityStreamsPreferredUsernameProperty) GetXMLSchemaString() string { + return this.xmlschemaStringMember +} + +// HasAny returns true if any of the values are set, except for the natural +// language map. When true, the specific has, getter, and setter methods may +// be used to determine what kind of value there is to access and set this +// property. To determine if the property was set as a natural language map, +// use the IsRDFLangString method instead. +func (this ActivityStreamsPreferredUsernameProperty) HasAny() bool { + return this.IsXMLSchemaString() || + this.IsRDFLangString() || + this.iri != nil +} + +// HasLanguage returns true if the natural language map has an entry for the +// specified BCP47 language code. +func (this ActivityStreamsPreferredUsernameProperty) HasLanguage(bcp47 string) bool { + if this.rdfLangStringMember == nil { + return false + } else { + _, ok := this.rdfLangStringMember[bcp47] + return ok + } +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsPreferredUsernameProperty) IsIRI() bool { + return this.iri != nil +} + +// IsRDFLangString returns true if this property has a type of "langString". When +// true, use the GetRDFLangString and SetRDFLangString methods to access and +// set this property.. To determine if the property was set as a natural +// language map, use the IsRDFLangString method instead. +func (this ActivityStreamsPreferredUsernameProperty) IsRDFLangString() bool { + return this.rdfLangStringMember != nil +} + +// IsXMLSchemaString returns true if this property has a type of "string". When +// true, use the GetXMLSchemaString and SetXMLSchemaString methods to access +// and set this property.. To determine if the property was set as a natural +// language map, use the IsRDFLangString method instead. +func (this ActivityStreamsPreferredUsernameProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsPreferredUsernameProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsPreferredUsernameProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsRDFLangString() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsPreferredUsernameProperty) LessThan(o vocab.ActivityStreamsPreferredUsernameProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsXMLSchemaString() { + return string1.LessString(this.GetXMLSchemaString(), o.GetXMLSchemaString()) + } else if this.IsRDFLangString() { + return langstring.LessLangString(this.GetRDFLangString(), o.GetRDFLangString()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "preferredUsername". +func (this ActivityStreamsPreferredUsernameProperty) Name() string { + if this.IsRDFLangString() { + return "preferredUsernameMap" + } else { + return "preferredUsername" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsPreferredUsernameProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.GetXMLSchemaString()) + } else if this.IsRDFLangString() { + return langstring.SerializeLangString(this.GetRDFLangString()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsPreferredUsernameProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetLanguage sets the value for the specified BCP47 language code. +func (this *ActivityStreamsPreferredUsernameProperty) SetLanguage(bcp47, value string) { + this.hasStringMember = false + this.rdfLangStringMember = nil + this.unknown = nil + this.iri = nil + if this.rdfLangStringMember == nil { + this.rdfLangStringMember = make(map[string]string) + } + this.rdfLangStringMember[bcp47] = value +} + +// SetRDFLangString sets the value of this property and clears the natural +// language map. Calling IsRDFLangString afterwards will return true. Calling +// IsRDFLangString afterwards returns false. +func (this *ActivityStreamsPreferredUsernameProperty) SetRDFLangString(v map[string]string) { + this.Clear() + this.rdfLangStringMember = v +} + +// SetXMLSchemaString sets the value of this property and clears the natural +// language map. Calling IsXMLSchemaString afterwards will return true. +// Calling IsRDFLangString afterwards returns false. +func (this *ActivityStreamsPreferredUsernameProperty) SetXMLSchemaString(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_doc.go new file mode 100644 index 000000000..260c6629a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyprev contains the implementation for the prev property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyprev diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_pkg.go new file mode 100644 index 000000000..e52b7048c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyprev + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_property_activitystreams_prev.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_property_activitystreams_prev.go new file mode 100644 index 000000000..cdc28e40f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_prev/gen_property_activitystreams_prev.go @@ -0,0 +1,359 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyprev + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsPrevProperty is the functional property "prev". It is permitted +// to be one of multiple value types. At most, one type of value can be +// present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsPrevProperty struct { + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializePrevProperty creates a "prev" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializePrevProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsPrevProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "prev" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "prev") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsPrevProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPrevProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPrevProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPrevProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPrevProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsPrevProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsPrevProperty creates a new prev property. +func NewActivityStreamsPrevProperty() *ActivityStreamsPrevProperty { + return &ActivityStreamsPrevProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsPrevProperty) Clear() { + this.activitystreamsCollectionPageMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsPrevProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsPrevProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsPrevProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsPrevProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsPrevProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsPrevProperty) GetType() vocab.Type { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsPrevProperty) HasAny() bool { + return this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsPrevProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsPrevProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsPrevProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsPrevProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsPrevProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsPrevProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsPrevProperty) KindIndex() int { + if this.IsActivityStreamsCollectionPage() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsPrevProperty) LessThan(o vocab.ActivityStreamsPrevProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "prev". +func (this ActivityStreamsPrevProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "prev" + } else { + return "prev" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsPrevProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsPrevProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsPrevProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsPrevProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsPrevProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsPrevProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsPrevProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on prev property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_doc.go new file mode 100644 index 000000000..3065a56e0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertypreview contains the implementation for the preview property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertypreview diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_pkg.go new file mode 100644 index 000000000..270923db5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypreview + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_property_activitystreams_preview.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_property_activitystreams_preview.go new file mode 100644 index 000000000..c1dcd7672 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_preview/gen_property_activitystreams_preview.go @@ -0,0 +1,7042 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypreview + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsPreviewPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsPreviewPropertyIterator struct { + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsPreviewProperty +} + +// NewActivityStreamsPreviewPropertyIterator creates a new ActivityStreamsPreview +// property. +func NewActivityStreamsPreviewPropertyIterator() *ActivityStreamsPreviewPropertyIterator { + return &ActivityStreamsPreviewPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsPreviewPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsPreviewPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsPreviewPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsPreviewPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsPreviewPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsPreviewPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsPreviewPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsPreviewPropertyIterator) HasAny() bool { + return this.IsActivityStreamsLink() || + this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsPreviewPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsPreviewPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsPreviewPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsPreviewPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsPreviewPropertyIterator) KindIndex() int { + if this.IsActivityStreamsLink() { + return 0 + } + if this.IsActivityStreamsObject() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsPreviewPropertyIterator) LessThan(o vocab.ActivityStreamsPreviewPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsPreview". +func (this ActivityStreamsPreviewPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsPreview" + } else { + return "ActivityStreamsPreview" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsPreviewPropertyIterator) Next() vocab.ActivityStreamsPreviewPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsPreviewPropertyIterator) Prev() vocab.ActivityStreamsPreviewPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsPreviewPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsPreviewPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsPreview property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsPreviewPropertyIterator) clear() { + this.activitystreamsLinkMember = nil + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsPreviewPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsPreviewProperty is the non-functional property "preview". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsPreviewProperty struct { + properties []*ActivityStreamsPreviewPropertyIterator + alias string +} + +// DeserializePreviewProperty creates a "preview" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializePreviewProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsPreviewProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "preview" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "preview") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsPreviewProperty{ + alias: alias, + properties: []*ActivityStreamsPreviewPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsPreviewPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsPreviewPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsPreviewProperty creates a new preview property. +func NewActivityStreamsPreviewProperty() *ActivityStreamsPreviewProperty { + return &ActivityStreamsPreviewProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "preview". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "preview". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "preview". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "preview". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "preview". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "preview". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "preview". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "preview". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "preview". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "preview". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "preview". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsPreviewProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "preview" +func (this *ActivityStreamsPreviewProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "preview". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsPreviewProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "preview". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsPreviewProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "preview". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsPreviewProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsPreviewProperty) At(index int) vocab.ActivityStreamsPreviewPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsPreviewProperty) Begin() vocab.ActivityStreamsPreviewPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsPreviewProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsPreviewProperty) End() vocab.ActivityStreamsPreviewPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "preview". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "preview". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "preview". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "preview". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "preview". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "preview". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "preview". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "preview". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "preview". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "preview". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "preview". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "preview". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "preview". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "preview". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "preview". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "preview". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "preview". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsPreviewProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsPreviewProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsPreviewProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "preview" property. +func (this ActivityStreamsPreviewProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsPreviewProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsPreviewProperty) LessThan(o vocab.ActivityStreamsPreviewProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("preview") with any alias. +func (this ActivityStreamsPreviewProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "preview" + } else { + return "preview" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "preview". Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "preview". Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "preview". +func (this *ActivityStreamsPreviewProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "preview". Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "preview". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsPreviewProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsPreviewPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "preview", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsPreviewPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsPreviewProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "preview". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "preview". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "preview". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "preview". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "preview". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "preview". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "preview". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "preview". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsPreviewProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "preview". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsPreviewProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "preview". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "preview". Panics if the index is out of bounds. +func (this *ActivityStreamsPreviewProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "preview". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "preview". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsPreviewProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "preview". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsPreviewProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsPreviewPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "preview" property. +func (this ActivityStreamsPreviewProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_doc.go new file mode 100644 index 000000000..59952ab71 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertypublished contains the implementation for the published +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertypublished diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_pkg.go new file mode 100644 index 000000000..ca5c51501 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypublished + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_property_activitystreams_published.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_property_activitystreams_published.go new file mode 100644 index 000000000..a1b627c60 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_published/gen_property_activitystreams_published.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypublished + +import ( + "fmt" + datetime "github.com/go-fed/activity/streams/values/dateTime" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" + "time" +) + +// ActivityStreamsPublishedProperty is the functional property "published". It is +// permitted to be a single default-valued value type. +type ActivityStreamsPublishedProperty struct { + xmlschemaDateTimeMember time.Time + hasDateTimeMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializePublishedProperty creates a "published" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializePublishedProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsPublishedProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "published" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "published") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsPublishedProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := datetime.DeserializeDateTime(i); err == nil { + this := &ActivityStreamsPublishedProperty{ + alias: alias, + hasDateTimeMember: true, + xmlschemaDateTimeMember: v, + } + return this, nil + } + this := &ActivityStreamsPublishedProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsPublishedProperty creates a new published property. +func NewActivityStreamsPublishedProperty() *ActivityStreamsPublishedProperty { + return &ActivityStreamsPublishedProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaDateTime +// afterwards will return false. +func (this *ActivityStreamsPublishedProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasDateTimeMember = false +} + +// Get returns the value of this property. When IsXMLSchemaDateTime returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsPublishedProperty) Get() time.Time { + return this.xmlschemaDateTimeMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsPublishedProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsPublishedProperty) HasAny() bool { + return this.IsXMLSchemaDateTime() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsPublishedProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaDateTime returns true if this property is set and not an IRI. +func (this ActivityStreamsPublishedProperty) IsXMLSchemaDateTime() bool { + return this.hasDateTimeMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsPublishedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsPublishedProperty) KindIndex() int { + if this.IsXMLSchemaDateTime() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsPublishedProperty) LessThan(o vocab.ActivityStreamsPublishedProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaDateTime() && o.IsXMLSchemaDateTime() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return datetime.LessDateTime(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "published". +func (this ActivityStreamsPublishedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "published" + } else { + return "published" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsPublishedProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaDateTime() { + return datetime.SerializeDateTime(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaDateTime afterwards +// will return true. +func (this *ActivityStreamsPublishedProperty) Set(v time.Time) { + this.Clear() + this.xmlschemaDateTimeMember = v + this.hasDateTimeMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsPublishedProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_doc.go new file mode 100644 index 000000000..f2fd21088 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyradius contains the implementation for the radius property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyradius diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_pkg.go new file mode 100644 index 000000000..582fd0054 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyradius + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_property_activitystreams_radius.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_property_activitystreams_radius.go new file mode 100644 index 000000000..98d7b4884 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_radius/gen_property_activitystreams_radius.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyradius + +import ( + "fmt" + float "github.com/go-fed/activity/streams/values/float" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsRadiusProperty is the functional property "radius". It is +// permitted to be a single default-valued value type. +type ActivityStreamsRadiusProperty struct { + xmlschemaFloatMember float64 + hasFloatMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeRadiusProperty creates a "radius" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeRadiusProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsRadiusProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "radius" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "radius") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsRadiusProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := float.DeserializeFloat(i); err == nil { + this := &ActivityStreamsRadiusProperty{ + alias: alias, + hasFloatMember: true, + xmlschemaFloatMember: v, + } + return this, nil + } + this := &ActivityStreamsRadiusProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsRadiusProperty creates a new radius property. +func NewActivityStreamsRadiusProperty() *ActivityStreamsRadiusProperty { + return &ActivityStreamsRadiusProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaFloat +// afterwards will return false. +func (this *ActivityStreamsRadiusProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasFloatMember = false +} + +// Get returns the value of this property. When IsXMLSchemaFloat returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsRadiusProperty) Get() float64 { + return this.xmlschemaFloatMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsRadiusProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsRadiusProperty) HasAny() bool { + return this.IsXMLSchemaFloat() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsRadiusProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaFloat returns true if this property is set and not an IRI. +func (this ActivityStreamsRadiusProperty) IsXMLSchemaFloat() bool { + return this.hasFloatMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsRadiusProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsRadiusProperty) KindIndex() int { + if this.IsXMLSchemaFloat() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsRadiusProperty) LessThan(o vocab.ActivityStreamsRadiusProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaFloat() && o.IsXMLSchemaFloat() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return float.LessFloat(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "radius". +func (this ActivityStreamsRadiusProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "radius" + } else { + return "radius" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsRadiusProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaFloat() { + return float.SerializeFloat(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaFloat afterwards will +// return true. +func (this *ActivityStreamsRadiusProperty) Set(v float64) { + this.Clear() + this.xmlschemaFloatMember = v + this.hasFloatMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsRadiusProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_doc.go new file mode 100644 index 000000000..2982ad469 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyrel contains the implementation for the rel property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyrel diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_pkg.go new file mode 100644 index 000000000..1965fcf52 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyrel + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_property_activitystreams_rel.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_property_activitystreams_rel.go new file mode 100644 index 000000000..f102e2358 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_rel/gen_property_activitystreams_rel.go @@ -0,0 +1,528 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyrel + +import ( + "fmt" + rfc5988 "github.com/go-fed/activity/streams/values/rfc5988" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsRelPropertyIterator is an iterator for a property. It is +// permitted to be a single default-valued value type. +type ActivityStreamsRelPropertyIterator struct { + rfcRfc5988Member string + hasRfc5988Member bool + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsRelProperty +} + +// NewActivityStreamsRelPropertyIterator creates a new ActivityStreamsRel property. +func NewActivityStreamsRelPropertyIterator() *ActivityStreamsRelPropertyIterator { + return &ActivityStreamsRelPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsRelPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsRelPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsRelPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsRelPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := rfc5988.DeserializeRfc5988(i); err == nil { + this := &ActivityStreamsRelPropertyIterator{ + alias: alias, + hasRfc5988Member: true, + rfcRfc5988Member: v, + } + return this, nil + } + this := &ActivityStreamsRelPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// Get returns the value of this property. When IsRFCRfc5988 returns false, Get +// will return any arbitrary value. +func (this ActivityStreamsRelPropertyIterator) Get() string { + return this.rfcRfc5988Member +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsRelPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsRelPropertyIterator) HasAny() bool { + return this.IsRFCRfc5988() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsRelPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsRFCRfc5988 returns true if this property is set and not an IRI. +func (this ActivityStreamsRelPropertyIterator) IsRFCRfc5988() bool { + return this.hasRfc5988Member +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsRelPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsRelPropertyIterator) KindIndex() int { + if this.IsRFCRfc5988() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsRelPropertyIterator) LessThan(o vocab.ActivityStreamsRelPropertyIterator) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsRFCRfc5988() && !o.IsRFCRfc5988() { + // Both are unknowns. + return false + } else if this.IsRFCRfc5988() && !o.IsRFCRfc5988() { + // Values are always greater than unknown values. + return false + } else if !this.IsRFCRfc5988() && o.IsRFCRfc5988() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return rfc5988.LessRfc5988(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "ActivityStreamsRel". +func (this ActivityStreamsRelPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsRel" + } else { + return "ActivityStreamsRel" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsRelPropertyIterator) Next() vocab.ActivityStreamsRelPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsRelPropertyIterator) Prev() vocab.ActivityStreamsRelPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// Set sets the value of this property. Calling IsRFCRfc5988 afterwards will +// return true. +func (this *ActivityStreamsRelPropertyIterator) Set(v string) { + this.clear() + this.rfcRfc5988Member = v + this.hasRfc5988Member = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsRelPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// clear ensures no value of this property is set. Calling IsRFCRfc5988 afterwards +// will return false. +func (this *ActivityStreamsRelPropertyIterator) clear() { + this.unknown = nil + this.iri = nil + this.hasRfc5988Member = false +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsRelPropertyIterator) serialize() (interface{}, error) { + if this.IsRFCRfc5988() { + return rfc5988.SerializeRfc5988(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsRelProperty is the non-functional property "rel". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsRelProperty struct { + properties []*ActivityStreamsRelPropertyIterator + alias string +} + +// DeserializeRelProperty creates a "rel" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeRelProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRelProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "rel" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "rel") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsRelProperty{ + alias: alias, + properties: []*ActivityStreamsRelPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsRelPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsRelPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsRelProperty creates a new rel property. +func NewActivityStreamsRelProperty() *ActivityStreamsRelProperty { + return &ActivityStreamsRelProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property "rel" +func (this *ActivityStreamsRelProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsRelPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendRFCRfc5988 appends a rfc5988 value to the back of a list of the property +// "rel". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsRelProperty) AppendRFCRfc5988(v string) { + this.properties = append(this.properties, &ActivityStreamsRelPropertyIterator{ + alias: this.alias, + hasRfc5988Member: true, + myIdx: this.Len(), + parent: this, + rfcRfc5988Member: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsRelProperty) At(index int) vocab.ActivityStreamsRelPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsRelProperty) Begin() vocab.ActivityStreamsRelPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsRelProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsRelProperty) End() vocab.ActivityStreamsRelPropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property "rel". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsRelProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertRFCRfc5988 inserts a rfc5988 value at the specified index for a property +// "rel". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsRelProperty) InsertRFCRfc5988(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelPropertyIterator{ + alias: this.alias, + hasRfc5988Member: true, + myIdx: idx, + parent: this, + rfcRfc5988Member: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsRelProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsRelProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "rel" property. +func (this ActivityStreamsRelProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsRelProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].Get() + rhs := this.properties[j].Get() + return rfc5988.LessRfc5988(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsRelProperty) LessThan(o vocab.ActivityStreamsRelProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("rel") with any alias. +func (this ActivityStreamsRelProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "rel" + } else { + return "rel" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "rel". +func (this *ActivityStreamsRelProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsRelPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependRFCRfc5988 prepends a rfc5988 value to the front of a list of the +// property "rel". Invalidates all iterators. +func (this *ActivityStreamsRelProperty) PrependRFCRfc5988(v string) { + this.properties = append([]*ActivityStreamsRelPropertyIterator{{ + alias: this.alias, + hasRfc5988Member: true, + myIdx: 0, + parent: this, + rfcRfc5988Member: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "rel", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsRelPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsRelProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// Set sets a rfc5988 value to be at the specified index for the property "rel". +// Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsRelProperty) Set(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelPropertyIterator{ + alias: this.alias, + hasRfc5988Member: true, + myIdx: idx, + parent: this, + rfcRfc5988Member: v, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "rel". +// Panics if the index is out of bounds. +func (this *ActivityStreamsRelProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// Swap swaps the location of values at two indices for the "rel" property. +func (this ActivityStreamsRelProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_doc.go new file mode 100644 index 000000000..14be103b2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyrelationship contains the implementation for the relationship +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyrelationship diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_pkg.go new file mode 100644 index 000000000..4c63d8db2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_pkg.go @@ -0,0 +1,257 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyrelationship + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_property_activitystreams_relationship.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_property_activitystreams_relationship.go new file mode 100644 index 000000000..5dc71e782 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_relationship/gen_property_activitystreams_relationship.go @@ -0,0 +1,6877 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyrelationship + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsRelationshipPropertyIterator is an iterator for a property. It +// is permitted to be one of multiple value types. At most, one type of value +// can be present, or none at all. Setting a value will clear the other types +// of values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsRelationshipPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsRelationshipProperty +} + +// NewActivityStreamsRelationshipPropertyIterator creates a new +// ActivityStreamsRelationship property. +func NewActivityStreamsRelationshipPropertyIterator() *ActivityStreamsRelationshipPropertyIterator { + return &ActivityStreamsRelationshipPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsRelationshipPropertyIterator creates an iterator from +// an element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsRelationshipPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsRelationshipPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsRelationshipPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsRelationshipPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsRelationshipPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsRelationshipPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsRelationshipPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsRelationshipPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsRelationshipPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsRelationshipPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsRelationshipPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsAccept() { + return 1 + } + if this.IsActivityStreamsActivity() { + return 2 + } + if this.IsActivityStreamsAdd() { + return 3 + } + if this.IsActivityStreamsAnnounce() { + return 4 + } + if this.IsActivityStreamsApplication() { + return 5 + } + if this.IsActivityStreamsArrive() { + return 6 + } + if this.IsActivityStreamsArticle() { + return 7 + } + if this.IsActivityStreamsAudio() { + return 8 + } + if this.IsActivityStreamsBlock() { + return 9 + } + if this.IsForgeFedBranch() { + return 10 + } + if this.IsActivityStreamsCollection() { + return 11 + } + if this.IsActivityStreamsCollectionPage() { + return 12 + } + if this.IsForgeFedCommit() { + return 13 + } + if this.IsActivityStreamsCreate() { + return 14 + } + if this.IsActivityStreamsDelete() { + return 15 + } + if this.IsActivityStreamsDislike() { + return 16 + } + if this.IsActivityStreamsDocument() { + return 17 + } + if this.IsTootEmoji() { + return 18 + } + if this.IsActivityStreamsEvent() { + return 19 + } + if this.IsActivityStreamsFlag() { + return 20 + } + if this.IsActivityStreamsFollow() { + return 21 + } + if this.IsActivityStreamsGroup() { + return 22 + } + if this.IsTootIdentityProof() { + return 23 + } + if this.IsActivityStreamsIgnore() { + return 24 + } + if this.IsActivityStreamsImage() { + return 25 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 26 + } + if this.IsActivityStreamsInvite() { + return 27 + } + if this.IsActivityStreamsJoin() { + return 28 + } + if this.IsActivityStreamsLeave() { + return 29 + } + if this.IsActivityStreamsLike() { + return 30 + } + if this.IsActivityStreamsListen() { + return 31 + } + if this.IsActivityStreamsMove() { + return 32 + } + if this.IsActivityStreamsNote() { + return 33 + } + if this.IsActivityStreamsOffer() { + return 34 + } + if this.IsActivityStreamsOrderedCollection() { + return 35 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 36 + } + if this.IsActivityStreamsOrganization() { + return 37 + } + if this.IsActivityStreamsPage() { + return 38 + } + if this.IsActivityStreamsPerson() { + return 39 + } + if this.IsActivityStreamsPlace() { + return 40 + } + if this.IsActivityStreamsProfile() { + return 41 + } + if this.IsForgeFedPush() { + return 42 + } + if this.IsActivityStreamsQuestion() { + return 43 + } + if this.IsActivityStreamsRead() { + return 44 + } + if this.IsActivityStreamsReject() { + return 45 + } + if this.IsActivityStreamsRelationship() { + return 46 + } + if this.IsActivityStreamsRemove() { + return 47 + } + if this.IsForgeFedRepository() { + return 48 + } + if this.IsActivityStreamsService() { + return 49 + } + if this.IsActivityStreamsTentativeAccept() { + return 50 + } + if this.IsActivityStreamsTentativeReject() { + return 51 + } + if this.IsForgeFedTicket() { + return 52 + } + if this.IsForgeFedTicketDependency() { + return 53 + } + if this.IsActivityStreamsTombstone() { + return 54 + } + if this.IsActivityStreamsTravel() { + return 55 + } + if this.IsActivityStreamsUndo() { + return 56 + } + if this.IsActivityStreamsUpdate() { + return 57 + } + if this.IsActivityStreamsVideo() { + return 58 + } + if this.IsActivityStreamsView() { + return 59 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsRelationshipPropertyIterator) LessThan(o vocab.ActivityStreamsRelationshipPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsRelationship". +func (this ActivityStreamsRelationshipPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsRelationship" + } else { + return "ActivityStreamsRelationship" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsRelationshipPropertyIterator) Next() vocab.ActivityStreamsRelationshipPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsRelationshipPropertyIterator) Prev() vocab.ActivityStreamsRelationshipPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsRelationshipPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsRelationshipPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsRelationship property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsRelationshipPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsRelationshipPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsRelationshipProperty is the non-functional property +// "relationship". It is permitted to have one or more values, and of +// different value types. +type ActivityStreamsRelationshipProperty struct { + properties []*ActivityStreamsRelationshipPropertyIterator + alias string +} + +// DeserializeRelationshipProperty creates a "relationship" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeRelationshipProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsRelationshipProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "relationship" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "relationship") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsRelationshipProperty{ + alias: alias, + properties: []*ActivityStreamsRelationshipPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsRelationshipPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsRelationshipPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsRelationshipProperty creates a new relationship property. +func NewActivityStreamsRelationshipProperty() *ActivityStreamsRelationshipProperty { + return &ActivityStreamsRelationshipProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "relationship". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "relationship". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "relationship". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "relationship". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "relationship". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "relationship". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "relationship". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "relationship". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "relationship". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "relationship". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "relationship". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsRelationshipProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "relationship". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "relationship" +func (this *ActivityStreamsRelationshipProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "relationship". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "relationship". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsRelationshipProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "relationship". Invalidates iterators that are traversing using +// Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ActivityStreamsRelationshipProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsRelationshipProperty) At(index int) vocab.ActivityStreamsRelationshipPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsRelationshipProperty) Begin() vocab.ActivityStreamsRelationshipPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsRelationshipProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsRelationshipProperty) End() vocab.ActivityStreamsRelationshipPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "relationship". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "relationship". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "relationship". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "relationship". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "relationship". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "relationship". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "relationship". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "relationship". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "relationship". Existing +// elements at that index and higher are shifted back once. Invalidates all +// iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "relationship". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "relationship". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "relationship". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "relationship". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "relationship". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "relationship". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "relationship". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "relationship". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "relationship". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property +// "relationship". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "relationship". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "relationship". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "relationship". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsRelationshipProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsRelationshipProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsRelationshipProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "relationship" property. +func (this ActivityStreamsRelationshipProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsRelationshipProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsRelationshipProperty) LessThan(o vocab.ActivityStreamsRelationshipProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("relationship") with any alias. +func (this ActivityStreamsRelationshipProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "relationship" + } else { + return "relationship" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "relationship". Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "relationship". Invalidates all +// iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "relationship". Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "relationship". +func (this *ActivityStreamsRelationshipProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "relationship". Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "relationship". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ActivityStreamsRelationshipProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsRelationshipPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "relationship", regardless of its type. Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsRelationshipPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsRelationshipProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "relationship". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "relationship". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "relationship". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "relationship". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "relationship". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "relationship". Panics if the +// index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "relationship". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "relationship". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "relationship". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "relationship". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "relationship". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsRelationshipProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "relationship". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsRelationshipProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "relationship". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "relationship". Panics if the index is out of bounds. +func (this *ActivityStreamsRelationshipProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "relationship". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsRelationshipProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "relationship". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsRelationshipProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "relationship". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ActivityStreamsRelationshipProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsRelationshipPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "relationship" +// property. +func (this ActivityStreamsRelationshipProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_doc.go new file mode 100644 index 000000000..6a8451012 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyreplies contains the implementation for the replies property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyreplies diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_pkg.go new file mode 100644 index 000000000..b87cc931b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyreplies + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_property_activitystreams_replies.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_property_activitystreams_replies.go new file mode 100644 index 000000000..8213e0a49 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_replies/gen_property_activitystreams_replies.go @@ -0,0 +1,360 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyreplies + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsRepliesProperty is the functional property "replies". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsRepliesProperty struct { + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeRepliesProperty creates a "replies" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeRepliesProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsRepliesProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "replies" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "replies") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsRepliesProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRepliesProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRepliesProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRepliesProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsRepliesProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsRepliesProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsRepliesProperty creates a new replies property. +func NewActivityStreamsRepliesProperty() *ActivityStreamsRepliesProperty { + return &ActivityStreamsRepliesProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsRepliesProperty) Clear() { + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsRepliesProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsRepliesProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsRepliesProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsRepliesProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsRepliesProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsRepliesProperty) GetType() vocab.Type { + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsRepliesProperty) HasAny() bool { + return this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsRepliesProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsRepliesProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsRepliesProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsRepliesProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsRepliesProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsRepliesProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsRepliesProperty) KindIndex() int { + if this.IsActivityStreamsCollection() { + return 0 + } + if this.IsActivityStreamsCollectionPage() { + return 1 + } + if this.IsActivityStreamsOrderedCollection() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsRepliesProperty) LessThan(o vocab.ActivityStreamsRepliesProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "replies". +func (this ActivityStreamsRepliesProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "replies" + } else { + return "replies" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsRepliesProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsRepliesProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsRepliesProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsRepliesProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsRepliesProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsRepliesProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsRepliesProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on replies property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_doc.go new file mode 100644 index 000000000..b40de1b42 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyresult contains the implementation for the result property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyresult diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_pkg.go new file mode 100644 index 000000000..b7dcf088b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyresult + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_property_activitystreams_result.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_property_activitystreams_result.go new file mode 100644 index 000000000..d2644133d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_result/gen_property_activitystreams_result.go @@ -0,0 +1,7031 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyresult + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsResultPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsResultPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsResultProperty +} + +// NewActivityStreamsResultPropertyIterator creates a new ActivityStreamsResult +// property. +func NewActivityStreamsResultPropertyIterator() *ActivityStreamsResultPropertyIterator { + return &ActivityStreamsResultPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsResultPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsResultPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsResultPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsResultPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsResultPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsResultPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsResultPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsResultPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsResultPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsResultPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsResultPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsResultPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsResultPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsResultPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsResultPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsResultPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsResultPropertyIterator) LessThan(o vocab.ActivityStreamsResultPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsResult". +func (this ActivityStreamsResultPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsResult" + } else { + return "ActivityStreamsResult" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsResultPropertyIterator) Next() vocab.ActivityStreamsResultPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsResultPropertyIterator) Prev() vocab.ActivityStreamsResultPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsResultPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsResultPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsResultPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsResult property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsResultPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsResultPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsResultProperty is the non-functional property "result". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsResultProperty struct { + properties []*ActivityStreamsResultPropertyIterator + alias string +} + +// DeserializeResultProperty creates a "result" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeResultProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsResultProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "result" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "result") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsResultProperty{ + alias: alias, + properties: []*ActivityStreamsResultPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsResultPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsResultPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsResultProperty creates a new result property. +func NewActivityStreamsResultProperty() *ActivityStreamsResultProperty { + return &ActivityStreamsResultProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "result". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "result". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "result". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "result". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "result". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "result". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "result". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "result". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "result". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "result". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "result". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "result". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsResultProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "result" +func (this *ActivityStreamsResultProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "result". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsResultProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "result". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsResultProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsResultProperty) At(index int) vocab.ActivityStreamsResultPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsResultProperty) Begin() vocab.ActivityStreamsResultPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsResultProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsResultProperty) End() vocab.ActivityStreamsResultPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "result". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "result". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "result". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "result". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "result". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "result". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "result". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "result". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "result". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "result". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "result". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "result". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "result". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "result". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "result". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "result". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "result". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "result". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "result". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "result". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "result". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "result". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsResultProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsResultProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsResultProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "result" property. +func (this ActivityStreamsResultProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsResultProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsResultProperty) LessThan(o vocab.ActivityStreamsResultProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("result") with any alias. +func (this ActivityStreamsResultProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "result" + } else { + return "result" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "result". Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "result". Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "result". +func (this *ActivityStreamsResultProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "result". Invalidates all iterators. +func (this *ActivityStreamsResultProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsResultPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "result". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsResultProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsResultPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "result", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsResultPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsResultProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "result". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "result". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "result". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "result". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "result". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "result". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "result". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "result". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsResultProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "result". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsResultProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "result". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "result". Panics if the index is out of bounds. +func (this *ActivityStreamsResultProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "result". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "result". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsResultProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "result". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsResultProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsResultPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "result" property. +func (this ActivityStreamsResultProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_doc.go new file mode 100644 index 000000000..339d0b18f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyshares contains the implementation for the shares property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyshares diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_pkg.go new file mode 100644 index 000000000..5e5c55a03 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyshares + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_property_activitystreams_shares.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_property_activitystreams_shares.go new file mode 100644 index 000000000..17d6b3b4e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_shares/gen_property_activitystreams_shares.go @@ -0,0 +1,360 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyshares + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsSharesProperty is the functional property "shares". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsSharesProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeSharesProperty creates a "shares" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeSharesProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsSharesProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "shares" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "shares") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsSharesProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSharesProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSharesProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSharesProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSharesProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsSharesProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsSharesProperty creates a new shares property. +func NewActivityStreamsSharesProperty() *ActivityStreamsSharesProperty { + return &ActivityStreamsSharesProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsSharesProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsSharesProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsSharesProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsSharesProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsSharesProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsSharesProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsSharesProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsSharesProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsSharesProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsSharesProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsSharesProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsSharesProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsSharesProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsSharesProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsSharesProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsCollection() { + return 1 + } + if this.IsActivityStreamsCollectionPage() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsSharesProperty) LessThan(o vocab.ActivityStreamsSharesProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "shares". +func (this ActivityStreamsSharesProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "shares" + } else { + return "shares" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsSharesProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsSharesProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsSharesProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsSharesProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsSharesProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsSharesProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsSharesProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on shares property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_doc.go new file mode 100644 index 000000000..689076beb --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertysource contains the implementation for the source property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertysource diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_pkg.go new file mode 100644 index 000000000..3ed50bcbe --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysource + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go new file mode 100644 index 000000000..35acec7c3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go @@ -0,0 +1,3024 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysource + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsSourceProperty is the functional property "source". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsSourceProperty struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeSourceProperty creates a "source" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeSourceProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsSourceProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "source" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "source") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsSourceProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSourceProperty{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsSourceProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsSourceProperty creates a new source property. +func NewActivityStreamsSourceProperty() *ActivityStreamsSourceProperty { + return &ActivityStreamsSourceProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsSourceProperty) Clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsSourceProperty) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsSourceProperty) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsSourceProperty) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsSourceProperty) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsSourceProperty) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsSourceProperty) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsSourceProperty) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsSourceProperty) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsSourceProperty) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsSourceProperty) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsSourceProperty) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsSourceProperty) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsSourceProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsSourceProperty) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsSourceProperty) LessThan(o vocab.ActivityStreamsSourceProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "source". +func (this ActivityStreamsSourceProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "source" + } else { + return "source" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsSourceProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.Clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.Clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.Clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.Clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.Clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.Clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.Clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.Clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.Clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.Clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.Clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.Clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.Clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.Clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.Clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.Clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.Clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.Clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.Clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.Clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.Clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.Clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.Clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.Clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.Clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.Clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.Clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.Clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.Clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.Clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.Clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.Clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.Clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.Clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.Clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.Clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.Clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.Clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.Clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.Clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.Clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.Clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.Clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.Clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.Clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.Clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.Clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.Clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.Clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.Clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetForgeFedPush(v vocab.ForgeFedPush) { + this.Clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.Clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.Clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.Clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsSourceProperty) SetTootEmoji(v vocab.TootEmoji) { + this.Clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsSourceProperty) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.Clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsSourceProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on source property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_doc.go new file mode 100644 index 000000000..def07efae --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertystartindex contains the implementation for the startIndex +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertystartindex diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_pkg.go new file mode 100644 index 000000000..ef561ec70 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertystartindex + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_property_activitystreams_startIndex.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_property_activitystreams_startIndex.go new file mode 100644 index 000000000..29c57b906 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_startindex/gen_property_activitystreams_startIndex.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertystartindex + +import ( + "fmt" + nonnegativeinteger "github.com/go-fed/activity/streams/values/nonNegativeInteger" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsStartIndexProperty is the functional property "startIndex". It +// is permitted to be a single default-valued value type. +type ActivityStreamsStartIndexProperty struct { + xmlschemaNonNegativeIntegerMember int + hasNonNegativeIntegerMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeStartIndexProperty creates a "startIndex" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeStartIndexProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsStartIndexProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "startIndex" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "startIndex") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsStartIndexProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := nonnegativeinteger.DeserializeNonNegativeInteger(i); err == nil { + this := &ActivityStreamsStartIndexProperty{ + alias: alias, + hasNonNegativeIntegerMember: true, + xmlschemaNonNegativeIntegerMember: v, + } + return this, nil + } + this := &ActivityStreamsStartIndexProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsStartIndexProperty creates a new startIndex property. +func NewActivityStreamsStartIndexProperty() *ActivityStreamsStartIndexProperty { + return &ActivityStreamsStartIndexProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling +// IsXMLSchemaNonNegativeInteger afterwards will return false. +func (this *ActivityStreamsStartIndexProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasNonNegativeIntegerMember = false +} + +// Get returns the value of this property. When IsXMLSchemaNonNegativeInteger +// returns false, Get will return any arbitrary value. +func (this ActivityStreamsStartIndexProperty) Get() int { + return this.xmlschemaNonNegativeIntegerMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsStartIndexProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsStartIndexProperty) HasAny() bool { + return this.IsXMLSchemaNonNegativeInteger() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsStartIndexProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaNonNegativeInteger returns true if this property is set and not an +// IRI. +func (this ActivityStreamsStartIndexProperty) IsXMLSchemaNonNegativeInteger() bool { + return this.hasNonNegativeIntegerMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsStartIndexProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsStartIndexProperty) KindIndex() int { + if this.IsXMLSchemaNonNegativeInteger() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsStartIndexProperty) LessThan(o vocab.ActivityStreamsStartIndexProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaNonNegativeInteger() && o.IsXMLSchemaNonNegativeInteger() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return nonnegativeinteger.LessNonNegativeInteger(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "startIndex". +func (this ActivityStreamsStartIndexProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "startIndex" + } else { + return "startIndex" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsStartIndexProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaNonNegativeInteger() { + return nonnegativeinteger.SerializeNonNegativeInteger(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaNonNegativeInteger +// afterwards will return true. +func (this *ActivityStreamsStartIndexProperty) Set(v int) { + this.Clear() + this.xmlschemaNonNegativeIntegerMember = v + this.hasNonNegativeIntegerMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsStartIndexProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_doc.go new file mode 100644 index 000000000..7d0f612e6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertystarttime contains the implementation for the startTime +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertystarttime diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_pkg.go new file mode 100644 index 000000000..676e619df --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertystarttime + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_property_activitystreams_startTime.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_property_activitystreams_startTime.go new file mode 100644 index 000000000..15b3168fe --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_starttime/gen_property_activitystreams_startTime.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertystarttime + +import ( + "fmt" + datetime "github.com/go-fed/activity/streams/values/dateTime" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" + "time" +) + +// ActivityStreamsStartTimeProperty is the functional property "startTime". It is +// permitted to be a single default-valued value type. +type ActivityStreamsStartTimeProperty struct { + xmlschemaDateTimeMember time.Time + hasDateTimeMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeStartTimeProperty creates a "startTime" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeStartTimeProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsStartTimeProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "startTime" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "startTime") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsStartTimeProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := datetime.DeserializeDateTime(i); err == nil { + this := &ActivityStreamsStartTimeProperty{ + alias: alias, + hasDateTimeMember: true, + xmlschemaDateTimeMember: v, + } + return this, nil + } + this := &ActivityStreamsStartTimeProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsStartTimeProperty creates a new startTime property. +func NewActivityStreamsStartTimeProperty() *ActivityStreamsStartTimeProperty { + return &ActivityStreamsStartTimeProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaDateTime +// afterwards will return false. +func (this *ActivityStreamsStartTimeProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasDateTimeMember = false +} + +// Get returns the value of this property. When IsXMLSchemaDateTime returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsStartTimeProperty) Get() time.Time { + return this.xmlschemaDateTimeMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsStartTimeProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsStartTimeProperty) HasAny() bool { + return this.IsXMLSchemaDateTime() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsStartTimeProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaDateTime returns true if this property is set and not an IRI. +func (this ActivityStreamsStartTimeProperty) IsXMLSchemaDateTime() bool { + return this.hasDateTimeMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsStartTimeProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsStartTimeProperty) KindIndex() int { + if this.IsXMLSchemaDateTime() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsStartTimeProperty) LessThan(o vocab.ActivityStreamsStartTimeProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaDateTime() && o.IsXMLSchemaDateTime() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return datetime.LessDateTime(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "startTime". +func (this ActivityStreamsStartTimeProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "startTime" + } else { + return "startTime" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsStartTimeProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaDateTime() { + return datetime.SerializeDateTime(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaDateTime afterwards +// will return true. +func (this *ActivityStreamsStartTimeProperty) Set(v time.Time) { + this.Clear() + this.xmlschemaDateTimeMember = v + this.hasDateTimeMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsStartTimeProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_doc.go new file mode 100644 index 000000000..3c9f21e89 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertystreams contains the implementation for the streams property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertystreams diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_pkg.go new file mode 100644 index 000000000..1ddf6c14b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertystreams + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_property_activitystreams_streams.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_property_activitystreams_streams.go new file mode 100644 index 000000000..83597d0c3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_streams/gen_property_activitystreams_streams.go @@ -0,0 +1,938 @@ +// Code generated by astool. DO NOT EDIT. + +package propertystreams + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsStreamsPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsStreamsPropertyIterator struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsStreamsProperty +} + +// NewActivityStreamsStreamsPropertyIterator creates a new ActivityStreamsStreams +// property. +func NewActivityStreamsStreamsPropertyIterator() *ActivityStreamsStreamsPropertyIterator { + return &ActivityStreamsStreamsPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsStreamsPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsStreamsPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsStreamsPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsStreamsPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsStreamsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsStreamsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsStreamsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsStreamsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsStreamsPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsStreamsPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsStreamsPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsStreamsPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsStreamsPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsStreamsPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsStreamsPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsStreamsPropertyIterator) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsStreamsPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsStreamsPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsStreamsPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsStreamsPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsStreamsPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsStreamsPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsStreamsPropertyIterator) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsCollection() { + return 1 + } + if this.IsActivityStreamsCollectionPage() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsStreamsPropertyIterator) LessThan(o vocab.ActivityStreamsStreamsPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsStreams". +func (this ActivityStreamsStreamsPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsStreams" + } else { + return "ActivityStreamsStreams" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsStreamsPropertyIterator) Next() vocab.ActivityStreamsStreamsPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsStreamsPropertyIterator) Prev() vocab.ActivityStreamsStreamsPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsStreamsPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsStreamsPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsStreamsPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsStreamsPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsStreamsPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsStreamsPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsStreams property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsStreamsPropertyIterator) clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsStreamsPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsStreamsProperty is the non-functional property "streams". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsStreamsProperty struct { + properties []*ActivityStreamsStreamsPropertyIterator + alias string +} + +// DeserializeStreamsProperty creates a "streams" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeStreamsProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsStreamsProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "streams" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "streams") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsStreamsProperty{ + alias: alias, + properties: []*ActivityStreamsStreamsPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsStreamsPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsStreamsPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsStreamsProperty creates a new streams property. +func NewActivityStreamsStreamsProperty() *ActivityStreamsStreamsProperty { + return &ActivityStreamsStreamsProperty{alias: ""} +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "streams". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsStreamsProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsStreamsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "streams". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsStreamsProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsStreamsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "streams". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsStreamsProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsStreamsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "streams". Invalidates +// iterators that are traversing using Prev. +func (this *ActivityStreamsStreamsProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsStreamsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "streams" +func (this *ActivityStreamsStreamsProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsStreamsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "streams". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsStreamsProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsStreamsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsStreamsProperty) At(index int) vocab.ActivityStreamsStreamsPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsStreamsProperty) Begin() vocab.ActivityStreamsStreamsPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsStreamsProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsStreamsProperty) End() vocab.ActivityStreamsStreamsPropertyIterator { + return nil +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "streams". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsStreamsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "streams". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsStreamsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "streams". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsStreamsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "streams". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsStreamsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "streams". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsStreamsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "streams". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsStreamsProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsStreamsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsStreamsProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsStreamsProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "streams" property. +func (this ActivityStreamsStreamsProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsStreamsProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsStreamsProperty) LessThan(o vocab.ActivityStreamsStreamsProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("streams") with any alias. +func (this ActivityStreamsStreamsProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "streams" + } else { + return "streams" + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "streams". Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsStreamsPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "streams". Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsStreamsPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "streams". Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsStreamsPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "streams". Invalidates all +// iterators. +func (this *ActivityStreamsStreamsProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsStreamsPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "streams". +func (this *ActivityStreamsStreamsProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsStreamsPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "streams". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsStreamsProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsStreamsPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsStreamsPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "streams", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsStreamsPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsStreamsProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "streams". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsStreamsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "streams". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsStreamsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "streams". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsStreamsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "streams". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsStreamsProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsStreamsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "streams". Panics if the index is out of bounds. +func (this *ActivityStreamsStreamsProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsStreamsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "streams". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsStreamsProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsStreamsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "streams" property. +func (this ActivityStreamsStreamsProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_doc.go new file mode 100644 index 000000000..70070f9b7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertysubject contains the implementation for the subject property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertysubject diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_pkg.go new file mode 100644 index 000000000..75cc38e21 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysubject + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_property_activitystreams_subject.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_property_activitystreams_subject.go new file mode 100644 index 000000000..3d0e02e04 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_subject/gen_property_activitystreams_subject.go @@ -0,0 +1,3024 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysubject + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsSubjectProperty is the functional property "subject". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsSubjectProperty struct { + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeSubjectProperty creates a "subject" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeSubjectProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsSubjectProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "subject" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "subject") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsSubjectProperty{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsSubjectProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsSubjectProperty creates a new subject property. +func NewActivityStreamsSubjectProperty() *ActivityStreamsSubjectProperty { + return &ActivityStreamsSubjectProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsSubjectProperty) Clear() { + this.activitystreamsLinkMember = nil + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsSubjectProperty) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsSubjectProperty) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsSubjectProperty) GetType() vocab.Type { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsSubjectProperty) HasAny() bool { + return this.IsActivityStreamsLink() || + this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsSubjectProperty) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsSubjectProperty) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsSubjectProperty) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsSubjectProperty) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsSubjectProperty) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsSubjectProperty) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsSubjectProperty) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsSubjectProperty) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsSubjectProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsSubjectProperty) KindIndex() int { + if this.IsActivityStreamsLink() { + return 0 + } + if this.IsActivityStreamsObject() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsSubjectProperty) LessThan(o vocab.ActivityStreamsSubjectProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "subject". +func (this ActivityStreamsSubjectProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "subject" + } else { + return "subject" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsSubjectProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.Clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.Clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.Clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.Clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.Clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.Clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.Clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.Clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.Clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.Clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.Clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.Clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.Clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.Clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.Clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.Clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.Clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.Clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.Clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.Clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.Clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.Clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.Clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.Clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.Clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.Clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.Clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.Clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.Clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.Clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.Clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.Clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.Clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.Clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.Clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.Clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.Clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.Clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.Clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.Clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.Clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.Clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.Clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.Clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.Clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.Clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.Clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.Clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.Clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.Clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetForgeFedPush(v vocab.ForgeFedPush) { + this.Clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.Clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.Clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.Clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsSubjectProperty) SetTootEmoji(v vocab.TootEmoji) { + this.Clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsSubjectProperty) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.Clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsSubjectProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on subject property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_doc.go new file mode 100644 index 000000000..4c3116554 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertysummary contains the implementation for the summary property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertysummary diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_pkg.go new file mode 100644 index 000000000..a83e43a5c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysummary + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_property_activitystreams_summary.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_property_activitystreams_summary.go new file mode 100644 index 000000000..5acc2dfda --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_summary/gen_property_activitystreams_summary.go @@ -0,0 +1,668 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysummary + +import ( + "fmt" + langstring "github.com/go-fed/activity/streams/values/langString" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsSummaryPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsSummaryPropertyIterator struct { + xmlschemaStringMember string + hasStringMember bool + rdfLangStringMember map[string]string + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsSummaryProperty +} + +// NewActivityStreamsSummaryPropertyIterator creates a new ActivityStreamsSummary +// property. +func NewActivityStreamsSummaryPropertyIterator() *ActivityStreamsSummaryPropertyIterator { + return &ActivityStreamsSummaryPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsSummaryPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsSummaryPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsSummaryPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsSummaryPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ActivityStreamsSummaryPropertyIterator{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } else if v, err := langstring.DeserializeLangString(i); err == nil { + this := &ActivityStreamsSummaryPropertyIterator{ + alias: alias, + rdfLangStringMember: v, + } + return this, nil + } + this := &ActivityStreamsSummaryPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsSummaryPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetLanguage returns the value for the specified BCP47 language code, or an +// empty string if it is either not a language map or no value is present. +func (this ActivityStreamsSummaryPropertyIterator) GetLanguage(bcp47 string) string { + if this.rdfLangStringMember == nil { + return "" + } else if v, ok := this.rdfLangStringMember[bcp47]; ok { + return v + } else { + return "" + } +} + +// GetRDFLangString returns the value of this property. When IsRDFLangString +// returns false, GetRDFLangString will return an arbitrary value. +func (this ActivityStreamsSummaryPropertyIterator) GetRDFLangString() map[string]string { + return this.rdfLangStringMember +} + +// GetXMLSchemaString returns the value of this property. When IsXMLSchemaString +// returns false, GetXMLSchemaString will return an arbitrary value. +func (this ActivityStreamsSummaryPropertyIterator) GetXMLSchemaString() string { + return this.xmlschemaStringMember +} + +// HasAny returns true if any of the values are set, except for the natural +// language map. When true, the specific has, getter, and setter methods may +// be used to determine what kind of value there is to access and set this +// property. To determine if the property was set as a natural language map, +// use the IsRDFLangString method instead. +func (this ActivityStreamsSummaryPropertyIterator) HasAny() bool { + return this.IsXMLSchemaString() || + this.IsRDFLangString() || + this.iri != nil +} + +// HasLanguage returns true if the natural language map has an entry for the +// specified BCP47 language code. +func (this ActivityStreamsSummaryPropertyIterator) HasLanguage(bcp47 string) bool { + if this.rdfLangStringMember == nil { + return false + } else { + _, ok := this.rdfLangStringMember[bcp47] + return ok + } +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsSummaryPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsRDFLangString returns true if this property has a type of "langString". When +// true, use the GetRDFLangString and SetRDFLangString methods to access and +// set this property.. To determine if the property was set as a natural +// language map, use the IsRDFLangString method instead. +func (this ActivityStreamsSummaryPropertyIterator) IsRDFLangString() bool { + return this.rdfLangStringMember != nil +} + +// IsXMLSchemaString returns true if this property has a type of "string". When +// true, use the GetXMLSchemaString and SetXMLSchemaString methods to access +// and set this property.. To determine if the property was set as a natural +// language map, use the IsRDFLangString method instead. +func (this ActivityStreamsSummaryPropertyIterator) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsSummaryPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsSummaryPropertyIterator) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsRDFLangString() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsSummaryPropertyIterator) LessThan(o vocab.ActivityStreamsSummaryPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsXMLSchemaString() { + return string1.LessString(this.GetXMLSchemaString(), o.GetXMLSchemaString()) + } else if this.IsRDFLangString() { + return langstring.LessLangString(this.GetRDFLangString(), o.GetRDFLangString()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsSummary". +func (this ActivityStreamsSummaryPropertyIterator) Name() string { + if this.IsRDFLangString() { + return "ActivityStreamsSummaryMap" + } else { + return "ActivityStreamsSummary" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsSummaryPropertyIterator) Next() vocab.ActivityStreamsSummaryPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsSummaryPropertyIterator) Prev() vocab.ActivityStreamsSummaryPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsSummaryPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetLanguage sets the value for the specified BCP47 language code. +func (this *ActivityStreamsSummaryPropertyIterator) SetLanguage(bcp47, value string) { + this.hasStringMember = false + this.rdfLangStringMember = nil + this.unknown = nil + this.iri = nil + if this.rdfLangStringMember == nil { + this.rdfLangStringMember = make(map[string]string) + } + this.rdfLangStringMember[bcp47] = value +} + +// SetRDFLangString sets the value of this property and clears the natural +// language map. Calling IsRDFLangString afterwards will return true. Calling +// IsRDFLangString afterwards returns false. +func (this *ActivityStreamsSummaryPropertyIterator) SetRDFLangString(v map[string]string) { + this.clear() + this.rdfLangStringMember = v +} + +// SetXMLSchemaString sets the value of this property and clears the natural +// language map. Calling IsXMLSchemaString afterwards will return true. +// Calling IsRDFLangString afterwards returns false. +func (this *ActivityStreamsSummaryPropertyIterator) SetXMLSchemaString(v string) { + this.clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// clear ensures no value and no language map for this property is set. Calling +// HasAny or any of the 'Is' methods afterwards will return false. +func (this *ActivityStreamsSummaryPropertyIterator) clear() { + this.hasStringMember = false + this.rdfLangStringMember = nil + this.unknown = nil + this.iri = nil + this.rdfLangStringMember = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsSummaryPropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.GetXMLSchemaString()) + } else if this.IsRDFLangString() { + return langstring.SerializeLangString(this.GetRDFLangString()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsSummaryProperty is the non-functional property "summary". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsSummaryProperty struct { + properties []*ActivityStreamsSummaryPropertyIterator + alias string +} + +// DeserializeSummaryProperty creates a "summary" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeSummaryProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsSummaryProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "summary" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "summary") + } + i, ok := m[propName] + if !ok { + // Attempt to find the map instead. + i, ok = m[propName+"Map"] + } + if ok { + this := &ActivityStreamsSummaryProperty{ + alias: alias, + properties: []*ActivityStreamsSummaryPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsSummaryPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsSummaryPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsSummaryProperty creates a new summary property. +func NewActivityStreamsSummaryProperty() *ActivityStreamsSummaryProperty { + return &ActivityStreamsSummaryProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property "summary" +func (this *ActivityStreamsSummaryProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendRDFLangString appends a langString value to the back of a list of the +// property "summary". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsSummaryProperty) AppendRDFLangString(v map[string]string) { + this.properties = append(this.properties, &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + rdfLangStringMember: v, + }) +} + +// AppendXMLSchemaString appends a string value to the back of a list of the +// property "summary". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsSummaryProperty) AppendXMLSchemaString(v string) { + this.properties = append(this.properties, &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaStringMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsSummaryProperty) At(index int) vocab.ActivityStreamsSummaryPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsSummaryProperty) Begin() vocab.ActivityStreamsSummaryPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsSummaryProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsSummaryProperty) End() vocab.ActivityStreamsSummaryPropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property "summary". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsSummaryProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertRDFLangString inserts a langString value at the specified index for a +// property "summary". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsSummaryProperty) InsertRDFLangString(idx int, v map[string]string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + rdfLangStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaString inserts a string value at the specified index for a +// property "summary". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsSummaryProperty) InsertXMLSchemaString(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsSummaryProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsSummaryProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "summary" property. +func (this ActivityStreamsSummaryProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsSummaryProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetXMLSchemaString() + rhs := this.properties[j].GetXMLSchemaString() + return string1.LessString(lhs, rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetRDFLangString() + rhs := this.properties[j].GetRDFLangString() + return langstring.LessLangString(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsSummaryProperty) LessThan(o vocab.ActivityStreamsSummaryProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("summary") with any alias. +func (this ActivityStreamsSummaryProperty) Name() string { + if this.Len() == 1 && this.At(0).IsRDFLangString() { + return "summaryMap" + } else { + return "summary" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "summary". +func (this *ActivityStreamsSummaryProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsSummaryPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependRDFLangString prepends a langString value to the front of a list of the +// property "summary". Invalidates all iterators. +func (this *ActivityStreamsSummaryProperty) PrependRDFLangString(v map[string]string) { + this.properties = append([]*ActivityStreamsSummaryPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + rdfLangStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaString prepends a string value to the front of a list of the +// property "summary". Invalidates all iterators. +func (this *ActivityStreamsSummaryProperty) PrependXMLSchemaString(v string) { + this.properties = append([]*ActivityStreamsSummaryPropertyIterator{{ + alias: this.alias, + hasStringMember: true, + myIdx: 0, + parent: this, + xmlschemaStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "summary", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsSummaryProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsSummaryPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsSummaryProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "summary". Panics if the index is out of bounds. +func (this *ActivityStreamsSummaryProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetRDFLangString sets a langString value to be at the specified index for the +// property "summary". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsSummaryProperty) SetRDFLangString(idx int, v map[string]string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + rdfLangStringMember: v, + } +} + +// SetXMLSchemaString sets a string value to be at the specified index for the +// property "summary". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsSummaryProperty) SetXMLSchemaString(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsSummaryPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } +} + +// Swap swaps the location of values at two indices for the "summary" property. +func (this ActivityStreamsSummaryProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_doc.go new file mode 100644 index 000000000..5f71d3497 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertytag contains the implementation for the tag property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertytag diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_pkg.go new file mode 100644 index 000000000..1407af2c0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytag + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_property_activitystreams_tag.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_property_activitystreams_tag.go new file mode 100644 index 000000000..2d1472f91 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_tag/gen_property_activitystreams_tag.go @@ -0,0 +1,7028 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytag + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsTagPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsTagPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsTagProperty +} + +// NewActivityStreamsTagPropertyIterator creates a new ActivityStreamsTag property. +func NewActivityStreamsTagPropertyIterator() *ActivityStreamsTagPropertyIterator { + return &ActivityStreamsTagPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsTagPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsTagPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsTagPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTagPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsTagPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsTagPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsTagPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsTagPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsTagPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsTagPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsTagPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsTagPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsTagPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsTagPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsTagPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsTagPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsTagPropertyIterator) LessThan(o vocab.ActivityStreamsTagPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsTag". +func (this ActivityStreamsTagPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsTag" + } else { + return "ActivityStreamsTag" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsTagPropertyIterator) Next() vocab.ActivityStreamsTagPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsTagPropertyIterator) Prev() vocab.ActivityStreamsTagPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsTagPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsTagPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsTagPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsTag property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsTagPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsTagPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsTagProperty is the non-functional property "tag". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsTagProperty struct { + properties []*ActivityStreamsTagPropertyIterator + alias string +} + +// DeserializeTagProperty creates a "tag" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeTagProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTagProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "tag" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "tag") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsTagProperty{ + alias: alias, + properties: []*ActivityStreamsTagPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsTagPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsTagPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsTagProperty creates a new tag property. +func NewActivityStreamsTagProperty() *ActivityStreamsTagProperty { + return &ActivityStreamsTagProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "tag". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "tag". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "tag". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "tag". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "tag". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "tag". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "tag". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "tag". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "tag". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "tag". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "tag". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsTagProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "tag" +func (this *ActivityStreamsTagProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "tag". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTagProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "tag". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsTagProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsTagProperty) At(index int) vocab.ActivityStreamsTagPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsTagProperty) Begin() vocab.ActivityStreamsTagPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsTagProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsTagProperty) End() vocab.ActivityStreamsTagPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "tag". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "tag". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "tag". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "tag". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "tag". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "tag". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "tag". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "tag". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "tag". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "tag". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "tag". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "tag". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "tag". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "tag". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "tag". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "tag". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "tag". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "tag". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "tag". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsTagProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsTagProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsTagProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "tag" property. +func (this ActivityStreamsTagProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsTagProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsTagProperty) LessThan(o vocab.ActivityStreamsTagProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("tag") with any alias. +func (this ActivityStreamsTagProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "tag" + } else { + return "tag" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "tag". Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "tag". Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "tag". +func (this *ActivityStreamsTagProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "tag". Invalidates all iterators. +func (this *ActivityStreamsTagProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsTagPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "tag". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsTagProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsTagPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "tag", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTagProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsTagPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsTagProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "tag". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "tag". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "tag". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "tag". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "tag". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "tag". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "tag". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "tag". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "tag". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "tag". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "tag". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "tag". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "tag". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "tag". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "tag". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "tag". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "tag". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTagProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "tag". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "tag". +// Panics if the index is out of bounds. +func (this *ActivityStreamsTagProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "tag". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsTagProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "tag". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTagProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "tag". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsTagProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsTagPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "tag" property. +func (this ActivityStreamsTagProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_doc.go new file mode 100644 index 000000000..45b158ba4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertytarget contains the implementation for the target property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertytarget diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_pkg.go new file mode 100644 index 000000000..e2404b595 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytarget + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_property_activitystreams_target.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_property_activitystreams_target.go new file mode 100644 index 000000000..f5d293a8d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_target/gen_property_activitystreams_target.go @@ -0,0 +1,7031 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytarget + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsTargetPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsTargetPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsTargetProperty +} + +// NewActivityStreamsTargetPropertyIterator creates a new ActivityStreamsTarget +// property. +func NewActivityStreamsTargetPropertyIterator() *ActivityStreamsTargetPropertyIterator { + return &ActivityStreamsTargetPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsTargetPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsTargetPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsTargetPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsTargetPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsTargetPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsTargetPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsTargetPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsTargetPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsTargetPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsTargetPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsTargetPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsTargetPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsTargetPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsTargetPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsTargetPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsTargetPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsTargetPropertyIterator) LessThan(o vocab.ActivityStreamsTargetPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsTarget". +func (this ActivityStreamsTargetPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsTarget" + } else { + return "ActivityStreamsTarget" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsTargetPropertyIterator) Next() vocab.ActivityStreamsTargetPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsTargetPropertyIterator) Prev() vocab.ActivityStreamsTargetPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsTargetPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsTargetPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsTarget property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsTargetPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsTargetPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsTargetProperty is the non-functional property "target". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsTargetProperty struct { + properties []*ActivityStreamsTargetPropertyIterator + alias string +} + +// DeserializeTargetProperty creates a "target" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeTargetProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsTargetProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "target" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "target") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsTargetProperty{ + alias: alias, + properties: []*ActivityStreamsTargetPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsTargetPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsTargetPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsTargetProperty creates a new target property. +func NewActivityStreamsTargetProperty() *ActivityStreamsTargetProperty { + return &ActivityStreamsTargetProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "target". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "target". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "target". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "target". Invalidates iterators that +// are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "target". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "target". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "target". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "target". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "target". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "target". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "target". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "target". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsTargetProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "target" +func (this *ActivityStreamsTargetProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "target". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsTargetProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "target". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsTargetProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsTargetProperty) At(index int) vocab.ActivityStreamsTargetPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsTargetProperty) Begin() vocab.ActivityStreamsTargetPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsTargetProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsTargetProperty) End() vocab.ActivityStreamsTargetPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "target". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "target". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "target". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "target". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "target". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "target". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "target". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "target". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "target". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "target". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "target". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "target". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "target". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "target". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "target". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "target". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "target". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "target". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "target". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "target". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "target". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "target". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsTargetProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsTargetProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsTargetProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "target" property. +func (this ActivityStreamsTargetProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsTargetProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsTargetProperty) LessThan(o vocab.ActivityStreamsTargetProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("target") with any alias. +func (this ActivityStreamsTargetProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "target" + } else { + return "target" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "target". Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "target". Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "target". +func (this *ActivityStreamsTargetProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "target". Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsTargetPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "target". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. +func (this *ActivityStreamsTargetProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsTargetPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "target", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsTargetPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsTargetProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "target". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "target". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "target". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "target". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "target". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "target". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "target". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "target". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsTargetProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "target". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsTargetProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "target". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "target". Panics if the index is out of bounds. +func (this *ActivityStreamsTargetProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "target". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "target". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsTargetProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "target". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsTargetProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsTargetPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "target" property. +func (this ActivityStreamsTargetProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_doc.go new file mode 100644 index 000000000..83448156e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyto contains the implementation for the to property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyto diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_pkg.go new file mode 100644 index 000000000..c4f9f3b3b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyto + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_property_activitystreams_to.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_property_activitystreams_to.go new file mode 100644 index 000000000..b5082a484 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_to/gen_property_activitystreams_to.go @@ -0,0 +1,7028 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyto + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsToPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsToPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ActivityStreamsToProperty +} + +// NewActivityStreamsToPropertyIterator creates a new ActivityStreamsTo property. +func NewActivityStreamsToPropertyIterator() *ActivityStreamsToPropertyIterator { + return &ActivityStreamsToPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsToPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsToPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsToPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsToPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsToPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ActivityStreamsToPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsToPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsToPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ActivityStreamsToPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ActivityStreamsToPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ActivityStreamsToPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ActivityStreamsToPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ActivityStreamsToPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsToPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ActivityStreamsToPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsToPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsToPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsToPropertyIterator) LessThan(o vocab.ActivityStreamsToPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ActivityStreamsTo". +func (this ActivityStreamsToPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsTo" + } else { + return "ActivityStreamsTo" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsToPropertyIterator) Next() vocab.ActivityStreamsToPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsToPropertyIterator) Prev() vocab.ActivityStreamsToPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ActivityStreamsToPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ActivityStreamsToPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsToPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsTo property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsToPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsToPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ActivityStreamsToProperty is the non-functional property "to". It is permitted +// to have one or more values, and of different value types. +type ActivityStreamsToProperty struct { + properties []*ActivityStreamsToPropertyIterator + alias string +} + +// DeserializeToProperty creates a "to" property from an interface representation +// that has been unmarshalled from a text or binary format. +func DeserializeToProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsToProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "to" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "to") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsToProperty{ + alias: alias, + properties: []*ActivityStreamsToPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsToPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsToPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsToProperty creates a new to property. +func NewActivityStreamsToProperty() *ActivityStreamsToProperty { + return &ActivityStreamsToProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "to". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "to". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "to". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "to". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "to". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "to". Invalidates iterators +// that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "to". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "to". Invalidates iterators that are traversing using +// Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "to". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "to". Invalidates iterators that are +// traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "to". Invalidates iterators that are traversing +// using Prev. +func (this *ActivityStreamsToProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "to" +func (this *ActivityStreamsToProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "to". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsToProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "to". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsToProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsToProperty) At(index int) vocab.ActivityStreamsToPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsToProperty) Begin() vocab.ActivityStreamsToPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsToProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsToProperty) End() vocab.ActivityStreamsToPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "to". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "to". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "to". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "to". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "to". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "to". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "to". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "to". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "to". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "to". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "to". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "to". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "to". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "to". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "to". Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "to". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsToProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "to". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsToProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsToProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsToProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "to" property. +func (this ActivityStreamsToProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsToProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsToProperty) LessThan(o vocab.ActivityStreamsToProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("to") with any alias. +func (this ActivityStreamsToProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "to" + } else { + return "to" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "to". Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "to". Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "to". +func (this *ActivityStreamsToProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "to". Invalidates all iterators. +func (this *ActivityStreamsToProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ActivityStreamsToPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "to". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsToProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsToPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "to", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsToProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsToPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsToProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "to". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "to". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "to". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "to". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "to". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "to". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "to". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "to". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "to". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "to". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "to". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "to". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "to". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "to". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "to". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "to". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "to". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsToProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "to". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "to". +// Panics if the index is out of bounds. +func (this *ActivityStreamsToProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "to". Panics if the index is out of bounds. Invalidates all iterators. +func (this *ActivityStreamsToProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "to". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ActivityStreamsToProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "to". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsToProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsToPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "to" property. +func (this ActivityStreamsToProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_doc.go new file mode 100644 index 000000000..19fbddf83 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertytotalitems contains the implementation for the totalItems +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertytotalitems diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_pkg.go new file mode 100644 index 000000000..d872e5ab5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytotalitems + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_property_activitystreams_totalItems.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_property_activitystreams_totalItems.go new file mode 100644 index 000000000..96a61b94c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems/gen_property_activitystreams_totalItems.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytotalitems + +import ( + "fmt" + nonnegativeinteger "github.com/go-fed/activity/streams/values/nonNegativeInteger" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsTotalItemsProperty is the functional property "totalItems". It +// is permitted to be a single default-valued value type. +type ActivityStreamsTotalItemsProperty struct { + xmlschemaNonNegativeIntegerMember int + hasNonNegativeIntegerMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeTotalItemsProperty creates a "totalItems" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeTotalItemsProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsTotalItemsProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "totalItems" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "totalItems") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsTotalItemsProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := nonnegativeinteger.DeserializeNonNegativeInteger(i); err == nil { + this := &ActivityStreamsTotalItemsProperty{ + alias: alias, + hasNonNegativeIntegerMember: true, + xmlschemaNonNegativeIntegerMember: v, + } + return this, nil + } + this := &ActivityStreamsTotalItemsProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsTotalItemsProperty creates a new totalItems property. +func NewActivityStreamsTotalItemsProperty() *ActivityStreamsTotalItemsProperty { + return &ActivityStreamsTotalItemsProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling +// IsXMLSchemaNonNegativeInteger afterwards will return false. +func (this *ActivityStreamsTotalItemsProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasNonNegativeIntegerMember = false +} + +// Get returns the value of this property. When IsXMLSchemaNonNegativeInteger +// returns false, Get will return any arbitrary value. +func (this ActivityStreamsTotalItemsProperty) Get() int { + return this.xmlschemaNonNegativeIntegerMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsTotalItemsProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsTotalItemsProperty) HasAny() bool { + return this.IsXMLSchemaNonNegativeInteger() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsTotalItemsProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaNonNegativeInteger returns true if this property is set and not an +// IRI. +func (this ActivityStreamsTotalItemsProperty) IsXMLSchemaNonNegativeInteger() bool { + return this.hasNonNegativeIntegerMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsTotalItemsProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsTotalItemsProperty) KindIndex() int { + if this.IsXMLSchemaNonNegativeInteger() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsTotalItemsProperty) LessThan(o vocab.ActivityStreamsTotalItemsProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaNonNegativeInteger() && o.IsXMLSchemaNonNegativeInteger() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return nonnegativeinteger.LessNonNegativeInteger(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "totalItems". +func (this ActivityStreamsTotalItemsProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "totalItems" + } else { + return "totalItems" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsTotalItemsProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaNonNegativeInteger() { + return nonnegativeinteger.SerializeNonNegativeInteger(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaNonNegativeInteger +// afterwards will return true. +func (this *ActivityStreamsTotalItemsProperty) Set(v int) { + this.Clear() + this.xmlschemaNonNegativeIntegerMember = v + this.hasNonNegativeIntegerMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsTotalItemsProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_doc.go new file mode 100644 index 000000000..c6c0892f0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyunits contains the implementation for the units property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyunits diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_pkg.go new file mode 100644 index 000000000..f59f9c692 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyunits + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_property_activitystreams_units.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_property_activitystreams_units.go new file mode 100644 index 000000000..cd90ad054 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_units/gen_property_activitystreams_units.go @@ -0,0 +1,215 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyunits + +import ( + "fmt" + anyuri "github.com/go-fed/activity/streams/values/anyURI" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsUnitsProperty is the functional property "units". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsUnitsProperty struct { + xmlschemaStringMember string + hasStringMember bool + xmlschemaAnyURIMember *url.URL + unknown interface{} + alias string +} + +// DeserializeUnitsProperty creates a "units" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeUnitsProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsUnitsProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "units" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "units") + } + i, ok := m[propName] + + if ok { + if v, err := string1.DeserializeString(i); err == nil { + this := &ActivityStreamsUnitsProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } else if v, err := anyuri.DeserializeAnyURI(i); err == nil { + this := &ActivityStreamsUnitsProperty{ + alias: alias, + xmlschemaAnyURIMember: v, + } + return this, nil + } + this := &ActivityStreamsUnitsProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsUnitsProperty creates a new units property. +func NewActivityStreamsUnitsProperty() *ActivityStreamsUnitsProperty { + return &ActivityStreamsUnitsProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsUnitsProperty) Clear() { + this.hasStringMember = false + this.xmlschemaAnyURIMember = nil + this.unknown = nil +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsUnitsProperty) GetIRI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// GetXMLSchemaAnyURI returns the value of this property. When IsXMLSchemaAnyURI +// returns false, GetXMLSchemaAnyURI will return an arbitrary value. +func (this ActivityStreamsUnitsProperty) GetXMLSchemaAnyURI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// GetXMLSchemaString returns the value of this property. When IsXMLSchemaString +// returns false, GetXMLSchemaString will return an arbitrary value. +func (this ActivityStreamsUnitsProperty) GetXMLSchemaString() string { + return this.xmlschemaStringMember +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsUnitsProperty) HasAny() bool { + return this.IsXMLSchemaString() || + this.IsXMLSchemaAnyURI() +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsUnitsProperty) IsIRI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// IsXMLSchemaAnyURI returns true if this property has a type of "anyURI". When +// true, use the GetXMLSchemaAnyURI and SetXMLSchemaAnyURI methods to access +// and set this property. +func (this ActivityStreamsUnitsProperty) IsXMLSchemaAnyURI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// IsXMLSchemaString returns true if this property has a type of "string". When +// true, use the GetXMLSchemaString and SetXMLSchemaString methods to access +// and set this property. +func (this ActivityStreamsUnitsProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsUnitsProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsUnitsProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsXMLSchemaAnyURI() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsUnitsProperty) LessThan(o vocab.ActivityStreamsUnitsProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsXMLSchemaString() { + return string1.LessString(this.GetXMLSchemaString(), o.GetXMLSchemaString()) + } else if this.IsXMLSchemaAnyURI() { + return anyuri.LessAnyURI(this.GetXMLSchemaAnyURI(), o.GetXMLSchemaAnyURI()) + } + return false +} + +// Name returns the name of this property: "units". +func (this ActivityStreamsUnitsProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "units" + } else { + return "units" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsUnitsProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.GetXMLSchemaString()) + } else if this.IsXMLSchemaAnyURI() { + return anyuri.SerializeAnyURI(this.GetXMLSchemaAnyURI()) + } + return this.unknown, nil +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsUnitsProperty) SetIRI(v *url.URL) { + this.Clear() + this.SetXMLSchemaAnyURI(v) +} + +// SetXMLSchemaAnyURI sets the value of this property. Calling IsXMLSchemaAnyURI +// afterwards returns true. +func (this *ActivityStreamsUnitsProperty) SetXMLSchemaAnyURI(v *url.URL) { + this.Clear() + this.xmlschemaAnyURIMember = v +} + +// SetXMLSchemaString sets the value of this property. Calling IsXMLSchemaString +// afterwards returns true. +func (this *ActivityStreamsUnitsProperty) SetXMLSchemaString(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_doc.go new file mode 100644 index 000000000..c3a86be0a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyupdated contains the implementation for the updated property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyupdated diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_pkg.go new file mode 100644 index 000000000..2c366bab9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyupdated + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_property_activitystreams_updated.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_property_activitystreams_updated.go new file mode 100644 index 000000000..df7b46b37 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_updated/gen_property_activitystreams_updated.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyupdated + +import ( + "fmt" + datetime "github.com/go-fed/activity/streams/values/dateTime" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" + "time" +) + +// ActivityStreamsUpdatedProperty is the functional property "updated". It is +// permitted to be a single default-valued value type. +type ActivityStreamsUpdatedProperty struct { + xmlschemaDateTimeMember time.Time + hasDateTimeMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeUpdatedProperty creates a "updated" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeUpdatedProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsUpdatedProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "updated" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "updated") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsUpdatedProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := datetime.DeserializeDateTime(i); err == nil { + this := &ActivityStreamsUpdatedProperty{ + alias: alias, + hasDateTimeMember: true, + xmlschemaDateTimeMember: v, + } + return this, nil + } + this := &ActivityStreamsUpdatedProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsUpdatedProperty creates a new updated property. +func NewActivityStreamsUpdatedProperty() *ActivityStreamsUpdatedProperty { + return &ActivityStreamsUpdatedProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaDateTime +// afterwards will return false. +func (this *ActivityStreamsUpdatedProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasDateTimeMember = false +} + +// Get returns the value of this property. When IsXMLSchemaDateTime returns false, +// Get will return any arbitrary value. +func (this ActivityStreamsUpdatedProperty) Get() time.Time { + return this.xmlschemaDateTimeMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsUpdatedProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsUpdatedProperty) HasAny() bool { + return this.IsXMLSchemaDateTime() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsUpdatedProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaDateTime returns true if this property is set and not an IRI. +func (this ActivityStreamsUpdatedProperty) IsXMLSchemaDateTime() bool { + return this.hasDateTimeMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsUpdatedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsUpdatedProperty) KindIndex() int { + if this.IsXMLSchemaDateTime() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsUpdatedProperty) LessThan(o vocab.ActivityStreamsUpdatedProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaDateTime() && o.IsXMLSchemaDateTime() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return datetime.LessDateTime(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "updated". +func (this ActivityStreamsUpdatedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "updated" + } else { + return "updated" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsUpdatedProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaDateTime() { + return datetime.SerializeDateTime(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaDateTime afterwards +// will return true. +func (this *ActivityStreamsUpdatedProperty) Set(v time.Time) { + this.Clear() + this.xmlschemaDateTimeMember = v + this.hasDateTimeMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsUpdatedProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_doc.go new file mode 100644 index 000000000..025914280 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyurl contains the implementation for the url property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyurl diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_pkg.go new file mode 100644 index 000000000..6062eef25 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_pkg.go @@ -0,0 +1,26 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyurl + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_property_activitystreams_url.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_property_activitystreams_url.go new file mode 100644 index 000000000..01ce5b51d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_url/gen_property_activitystreams_url.go @@ -0,0 +1,796 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyurl + +import ( + "fmt" + anyuri "github.com/go-fed/activity/streams/values/anyURI" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsUrlPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsUrlPropertyIterator struct { + xmlschemaAnyURIMember *url.URL + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + unknown interface{} + alias string + myIdx int + parent vocab.ActivityStreamsUrlProperty +} + +// NewActivityStreamsUrlPropertyIterator creates a new ActivityStreamsUrl property. +func NewActivityStreamsUrlPropertyIterator() *ActivityStreamsUrlPropertyIterator { + return &ActivityStreamsUrlPropertyIterator{alias: ""} +} + +// deserializeActivityStreamsUrlPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeActivityStreamsUrlPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsUrlPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsUrlPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsUrlPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } + } + if v, err := anyuri.DeserializeAnyURI(i); err == nil { + this := &ActivityStreamsUrlPropertyIterator{ + alias: alias, + xmlschemaAnyURIMember: v, + } + return this, nil + } + this := &ActivityStreamsUrlPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsUrlPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsUrlPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsUrlPropertyIterator) GetIRI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsUrlPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + + return nil +} + +// GetXMLSchemaAnyURI returns the value of this property. When IsXMLSchemaAnyURI +// returns false, GetXMLSchemaAnyURI will return an arbitrary value. +func (this ActivityStreamsUrlPropertyIterator) GetXMLSchemaAnyURI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsUrlPropertyIterator) HasAny() bool { + return this.IsXMLSchemaAnyURI() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsUrlPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsUrlPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsUrlPropertyIterator) IsIRI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// IsXMLSchemaAnyURI returns true if this property has a type of "anyURI". When +// true, use the GetXMLSchemaAnyURI and SetXMLSchemaAnyURI methods to access +// and set this property. +func (this ActivityStreamsUrlPropertyIterator) IsXMLSchemaAnyURI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsUrlPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsUrlPropertyIterator) KindIndex() int { + if this.IsXMLSchemaAnyURI() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsUrlPropertyIterator) LessThan(o vocab.ActivityStreamsUrlPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsXMLSchemaAnyURI() { + return anyuri.LessAnyURI(this.GetXMLSchemaAnyURI(), o.GetXMLSchemaAnyURI()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } + return false +} + +// Name returns the name of this property: "ActivityStreamsUrl". +func (this ActivityStreamsUrlPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ActivityStreamsUrl" + } else { + return "ActivityStreamsUrl" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ActivityStreamsUrlPropertyIterator) Next() vocab.ActivityStreamsUrlPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ActivityStreamsUrlPropertyIterator) Prev() vocab.ActivityStreamsUrlPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsUrlPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsUrlPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsUrlPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.SetXMLSchemaAnyURI(v) +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsUrlPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + + return fmt.Errorf("illegal type to set on ActivityStreamsUrl property: %T", t) +} + +// SetXMLSchemaAnyURI sets the value of this property. Calling IsXMLSchemaAnyURI +// afterwards returns true. +func (this *ActivityStreamsUrlPropertyIterator) SetXMLSchemaAnyURI(v *url.URL) { + this.clear() + this.xmlschemaAnyURIMember = v +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsUrlPropertyIterator) clear() { + this.xmlschemaAnyURIMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.unknown = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsUrlPropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaAnyURI() { + return anyuri.SerializeAnyURI(this.GetXMLSchemaAnyURI()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } + return this.unknown, nil +} + +// ActivityStreamsUrlProperty is the non-functional property "url". It is +// permitted to have one or more values, and of different value types. +type ActivityStreamsUrlProperty struct { + properties []*ActivityStreamsUrlPropertyIterator + alias string +} + +// DeserializeUrlProperty creates a "url" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeUrlProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ActivityStreamsUrlProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "url" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "url") + } + i, ok := m[propName] + + if ok { + this := &ActivityStreamsUrlProperty{ + alias: alias, + properties: []*ActivityStreamsUrlPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeActivityStreamsUrlPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeActivityStreamsUrlPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsUrlProperty creates a new url property. +func NewActivityStreamsUrlProperty() *ActivityStreamsUrlProperty { + return &ActivityStreamsUrlProperty{alias: ""} +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "url". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsUrlProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ActivityStreamsUrlPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "url". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsUrlProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ActivityStreamsUrlPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "url" +func (this *ActivityStreamsUrlProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + xmlschemaAnyURIMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "url". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ActivityStreamsUrlProperty) AppendType(t vocab.Type) error { + n := &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// AppendXMLSchemaAnyURI appends a anyURI value to the back of a list of the +// property "url". Invalidates iterators that are traversing using Prev. +func (this *ActivityStreamsUrlProperty) AppendXMLSchemaAnyURI(v *url.URL) { + this.properties = append(this.properties, &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + xmlschemaAnyURIMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ActivityStreamsUrlProperty) At(index int) vocab.ActivityStreamsUrlPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ActivityStreamsUrlProperty) Begin() vocab.ActivityStreamsUrlPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ActivityStreamsUrlProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ActivityStreamsUrlProperty) End() vocab.ActivityStreamsUrlPropertyIterator { + return nil +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "url". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsUrlProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsUrlPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "url". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ActivityStreamsUrlProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsUrlPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "url". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ActivityStreamsUrlProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + xmlschemaAnyURIMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "url". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsUrlProperty) InsertType(idx int, t vocab.Type) error { + n := &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// InsertXMLSchemaAnyURI inserts a anyURI value at the specified index for a +// property "url". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ActivityStreamsUrlProperty) InsertXMLSchemaAnyURI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + xmlschemaAnyURIMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsUrlProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ActivityStreamsUrlProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "url" property. +func (this ActivityStreamsUrlProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ActivityStreamsUrlProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetXMLSchemaAnyURI() + rhs := this.properties[j].GetXMLSchemaAnyURI() + return anyuri.LessAnyURI(lhs, rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsUrlProperty) LessThan(o vocab.ActivityStreamsUrlProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("url") with any alias. +func (this ActivityStreamsUrlProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "url" + } else { + return "url" + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "url". Invalidates all iterators. +func (this *ActivityStreamsUrlProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ActivityStreamsUrlPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "url". Invalidates all iterators. +func (this *ActivityStreamsUrlProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ActivityStreamsUrlPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "url". +func (this *ActivityStreamsUrlProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ActivityStreamsUrlPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + xmlschemaAnyURIMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "url". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. +func (this *ActivityStreamsUrlProperty) PrependType(t vocab.Type) error { + n := &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ActivityStreamsUrlPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// PrependXMLSchemaAnyURI prepends a anyURI value to the front of a list of the +// property "url". Invalidates all iterators. +func (this *ActivityStreamsUrlProperty) PrependXMLSchemaAnyURI(v *url.URL) { + this.properties = append([]*ActivityStreamsUrlPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + xmlschemaAnyURIMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "url", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ActivityStreamsUrlProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ActivityStreamsUrlPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsUrlProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "url". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsUrlProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsUrlPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "url". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsUrlProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsUrlPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property "url". +// Panics if the index is out of bounds. +func (this *ActivityStreamsUrlProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + xmlschemaAnyURIMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "url". Invalidates all iterators. Returns an error if the type is not a +// valid one to set for this property. Panics if the index is out of bounds. +func (this *ActivityStreamsUrlProperty) SetType(idx int, t vocab.Type) error { + n := &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// SetXMLSchemaAnyURI sets a anyURI value to be at the specified index for the +// property "url". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ActivityStreamsUrlProperty) SetXMLSchemaAnyURI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ActivityStreamsUrlPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + xmlschemaAnyURIMember: v, + } +} + +// Swap swaps the location of values at two indices for the "url" property. +func (this ActivityStreamsUrlProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_doc.go new file mode 100644 index 000000000..aca7b5c39 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertywidth contains the implementation for the width property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertywidth diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_pkg.go new file mode 100644 index 000000000..b69e4b875 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertywidth + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_property_activitystreams_width.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_property_activitystreams_width.go new file mode 100644 index 000000000..c03c337c2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_width/gen_property_activitystreams_width.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertywidth + +import ( + "fmt" + nonnegativeinteger "github.com/go-fed/activity/streams/values/nonNegativeInteger" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsWidthProperty is the functional property "width". It is +// permitted to be a single default-valued value type. +type ActivityStreamsWidthProperty struct { + xmlschemaNonNegativeIntegerMember int + hasNonNegativeIntegerMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeWidthProperty creates a "width" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeWidthProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsWidthProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "width" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "width") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsWidthProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := nonnegativeinteger.DeserializeNonNegativeInteger(i); err == nil { + this := &ActivityStreamsWidthProperty{ + alias: alias, + hasNonNegativeIntegerMember: true, + xmlschemaNonNegativeIntegerMember: v, + } + return this, nil + } + this := &ActivityStreamsWidthProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsWidthProperty creates a new width property. +func NewActivityStreamsWidthProperty() *ActivityStreamsWidthProperty { + return &ActivityStreamsWidthProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling +// IsXMLSchemaNonNegativeInteger afterwards will return false. +func (this *ActivityStreamsWidthProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasNonNegativeIntegerMember = false +} + +// Get returns the value of this property. When IsXMLSchemaNonNegativeInteger +// returns false, Get will return any arbitrary value. +func (this ActivityStreamsWidthProperty) Get() int { + return this.xmlschemaNonNegativeIntegerMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ActivityStreamsWidthProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ActivityStreamsWidthProperty) HasAny() bool { + return this.IsXMLSchemaNonNegativeInteger() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ActivityStreamsWidthProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaNonNegativeInteger returns true if this property is set and not an +// IRI. +func (this ActivityStreamsWidthProperty) IsXMLSchemaNonNegativeInteger() bool { + return this.hasNonNegativeIntegerMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsWidthProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsWidthProperty) KindIndex() int { + if this.IsXMLSchemaNonNegativeInteger() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsWidthProperty) LessThan(o vocab.ActivityStreamsWidthProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaNonNegativeInteger() && o.IsXMLSchemaNonNegativeInteger() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return nonnegativeinteger.LessNonNegativeInteger(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "width". +func (this ActivityStreamsWidthProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "width" + } else { + return "width" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsWidthProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaNonNegativeInteger() { + return nonnegativeinteger.SerializeNonNegativeInteger(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaNonNegativeInteger +// afterwards will return true. +func (this *ActivityStreamsWidthProperty) Set(v int) { + this.Clear() + this.xmlschemaNonNegativeIntegerMember = v + this.hasNonNegativeIntegerMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ActivityStreamsWidthProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_doc.go new file mode 100644 index 000000000..62869ae5e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeaccept contains the implementation for the Accept type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeaccept diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_pkg.go new file mode 100644 index 000000000..2068c7d5f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeaccept + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_type_activitystreams_accept.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_type_activitystreams_accept.go new file mode 100644 index 000000000..2c919e642 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_accept/gen_type_activitystreams_accept.go @@ -0,0 +1,1976 @@ +// Code generated by astool. DO NOT EDIT. + +package typeaccept + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor accepts the object. The target property can be used in +// certain circumstances to indicate the context into which the object has +// been accepted. +// +// Example 9 (https://www.w3.org/TR/activitystreams-vocabulary/#ex7a-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://john.example.org", +// "object": { +// "name": "Going-Away Party for Jim", +// "type": "Event" +// }, +// "type": "Invite" +// }, +// "summary": "Sally accepted an invitation to a party", +// "type": "Accept" +// } +// +// Example 10 (https://www.w3.org/TR/activitystreams-vocabulary/#ex7b-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "Joe", +// "type": "Person" +// }, +// "summary": "Sally accepted Joe into the club", +// "target": { +// "name": "The Club", +// "type": "Group" +// }, +// "type": "Accept" +// } +type ActivityStreamsAccept struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// AcceptIsDisjointWith returns true if the other provided type is disjoint with +// the Accept type. +func AcceptIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// AcceptIsExtendedBy returns true if the other provided type extends from the +// Accept type. Note that it returns false if the types are the same; see the +// "IsOrExtendsAccept" variant instead. +func AcceptIsExtendedBy(other vocab.Type) bool { + extensions := []string{"TentativeAccept"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// ActivityStreamsAcceptExtends returns true if the Accept type extends from the +// other type. +func ActivityStreamsAcceptExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeAccept creates a Accept from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeAccept(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsAccept, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsAccept{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Accept" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Accept", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Accept" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Accept") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsAccept returns true if the other provided type is the Accept type or +// extends from the Accept type. +func IsOrExtendsAccept(other vocab.Type) bool { + if other.GetTypeName() == "Accept" { + return true + } + return AcceptIsExtendedBy(other) +} + +// NewActivityStreamsAccept creates a new Accept type +func NewActivityStreamsAccept() *ActivityStreamsAccept { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Accept") + return &ActivityStreamsAccept{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAccept) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsAccept) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAccept) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAccept) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsAccept) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsAccept) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsAccept) GetTypeName() string { + return "Accept" +} + +// GetUnknownProperties returns the unknown properties for the Accept type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsAccept) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Accept type extends from the other type. +func (this ActivityStreamsAccept) IsExtending(other vocab.Type) bool { + return ActivityStreamsAcceptExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsAccept) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Accept is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsAccept) LessThan(o vocab.ActivityStreamsAccept) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsAccept) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Accept" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Accept" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsAccept) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsAccept) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsAccept) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsAccept) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsAccept) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsAccept) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsAccept) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsAccept) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsAccept) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsAccept) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsAccept) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsAccept) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsAccept) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsAccept) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsAccept) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsAccept) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsAccept) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsAccept) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsAccept) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsAccept) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsAccept) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsAccept) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsAccept) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsAccept) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsAccept) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsAccept) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsAccept) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsAccept) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsAccept) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsAccept) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsAccept) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsAccept) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsAccept) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsAccept) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsAccept) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsAccept) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsAccept) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsAccept) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsAccept) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsAccept) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsAccept) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsAccept) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsAccept) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_doc.go new file mode 100644 index 000000000..5d106b490 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeactivity contains the implementation for the Activity type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeactivity diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_pkg.go new file mode 100644 index 000000000..77291a6dd --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeactivity + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_type_activitystreams_activity.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_type_activitystreams_activity.go new file mode 100644 index 000000000..337a5de07 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_activity/gen_type_activitystreams_activity.go @@ -0,0 +1,1956 @@ +// Code generated by astool. DO NOT EDIT. + +package typeactivity + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// An Activity is a subtype of Object that describes some form of action that may +// happen, is currently happening, or has already happened. The Activity type +// itself serves as an abstract base type for all types of activities. It is +// important to note that the Activity type itself does not carry any specific +// semantics about the kind of action being taken. +// +// Example 3 (https://www.w3.org/TR/activitystreams-vocabulary/#ex3-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A Note", +// "type": "Note" +// }, +// "summary": "Sally did something to a note", +// "type": "Activity" +// } +type ActivityStreamsActivity struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityIsDisjointWith returns true if the other provided type is disjoint with +// the Activity type. +func ActivityIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ActivityIsExtendedBy returns true if the other provided type extends from the +// Activity type. Note that it returns false if the types are the same; see +// the "IsOrExtendsActivity" variant instead. +func ActivityIsExtendedBy(other vocab.Type) bool { + extensions := []string{"Accept", "Add", "Announce", "Arrive", "Block", "Create", "Delete", "Dislike", "Flag", "Follow", "Ignore", "IntransitiveActivity", "Invite", "Join", "Leave", "Like", "Listen", "Move", "Offer", "Push", "Question", "Read", "Reject", "Remove", "TentativeAccept", "TentativeReject", "Travel", "Undo", "Update", "View"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// ActivityStreamsActivityExtends returns true if the Activity type extends from +// the other type. +func ActivityStreamsActivityExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeActivity creates a Activity from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeActivity(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsActivity, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsActivity{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Activity" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Activity", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Activity" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Activity") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsActivity returns true if the other provided type is the Activity +// type or extends from the Activity type. +func IsOrExtendsActivity(other vocab.Type) bool { + if other.GetTypeName() == "Activity" { + return true + } + return ActivityIsExtendedBy(other) +} + +// NewActivityStreamsActivity creates a new Activity type +func NewActivityStreamsActivity() *ActivityStreamsActivity { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Activity") + return &ActivityStreamsActivity{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsActivity) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsActivity) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsActivity) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsActivity) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsActivity) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsActivity) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsActivity) GetTypeName() string { + return "Activity" +} + +// GetUnknownProperties returns the unknown properties for the Activity type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsActivity) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Activity type extends from the other type. +func (this ActivityStreamsActivity) IsExtending(other vocab.Type) bool { + return ActivityStreamsActivityExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsActivity) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Activity is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsActivity) LessThan(o vocab.ActivityStreamsActivity) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsActivity) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Activity" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Activity" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsActivity) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsActivity) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsActivity) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsActivity) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsActivity) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsActivity) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsActivity) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsActivity) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsActivity) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsActivity) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsActivity) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsActivity) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsActivity) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsActivity) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsActivity) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsActivity) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsActivity) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsActivity) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsActivity) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsActivity) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsActivity) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsActivity) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsActivity) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsActivity) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsActivity) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsActivity) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsActivity) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsActivity) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsActivity) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsActivity) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsActivity) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsActivity) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsActivity) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsActivity) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsActivity) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsActivity) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsActivity) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsActivity) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsActivity) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsActivity) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsActivity) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsActivity) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsActivity) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_doc.go new file mode 100644 index 000000000..770b99c0c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeadd contains the implementation for the Add type. All applications +// are strongly encouraged to use the interface instead of this concrete +// definition. The interfaces allow applications to consume only the types and +// properties needed and be independent of the go-fed implementation if +// another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeadd diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_pkg.go new file mode 100644 index 000000000..1f6695351 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeadd + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_type_activitystreams_add.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_type_activitystreams_add.go new file mode 100644 index 000000000..770a4c13f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_add/gen_type_activitystreams_add.go @@ -0,0 +1,1971 @@ +// Code generated by astool. DO NOT EDIT. + +package typeadd + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has added the object to the target. If the target +// property is not explicitly specified, the target would need to be +// determined implicitly by context. The origin can be used to identify the +// context from which the object originated. +// +// Example 12 (https://www.w3.org/TR/activitystreams-vocabulary/#ex9-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/abc", +// "summary": "Sally added an object", +// "type": "Add" +// } +// +// Example 13 (https://www.w3.org/TR/activitystreams-vocabulary/#ex10-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A picture of my cat", +// "type": "Image", +// "url": "http://example.org/img/cat.png" +// }, +// "origin": { +// "name": "Camera Roll", +// "type": "Collection" +// }, +// "summary": "Sally added a picture of her cat to her cat picture +// collection", +// "target": { +// "name": "My Cat Pictures", +// "type": "Collection" +// }, +// "type": "Add" +// } +type ActivityStreamsAdd struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsAddExtends returns true if the Add type extends from the other +// type. +func ActivityStreamsAddExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// AddIsDisjointWith returns true if the other provided type is disjoint with the +// Add type. +func AddIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// AddIsExtendedBy returns true if the other provided type extends from the Add +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsAdd" variant instead. +func AddIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeAdd creates a Add from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeAdd(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsAdd, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsAdd{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Add" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Add", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Add" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Add") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsAdd returns true if the other provided type is the Add type or +// extends from the Add type. +func IsOrExtendsAdd(other vocab.Type) bool { + if other.GetTypeName() == "Add" { + return true + } + return AddIsExtendedBy(other) +} + +// NewActivityStreamsAdd creates a new Add type +func NewActivityStreamsAdd() *ActivityStreamsAdd { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Add") + return &ActivityStreamsAdd{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAdd) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsAdd) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAdd) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAdd) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsAdd) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsAdd) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsAdd) GetTypeName() string { + return "Add" +} + +// GetUnknownProperties returns the unknown properties for the Add type. Note that +// this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsAdd) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Add type extends from the other type. +func (this ActivityStreamsAdd) IsExtending(other vocab.Type) bool { + return ActivityStreamsAddExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsAdd) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Add is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsAdd) LessThan(o vocab.ActivityStreamsAdd) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsAdd) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Add" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Add" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsAdd) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsAdd) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsAdd) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsAdd) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsAdd) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsAdd) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsAdd) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsAdd) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsAdd) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsAdd) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsAdd) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsAdd) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsAdd) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsAdd) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsAdd) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsAdd) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsAdd) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsAdd) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsAdd) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsAdd) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsAdd) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsAdd) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsAdd) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsAdd) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsAdd) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsAdd) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsAdd) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsAdd) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsAdd) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsAdd) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsAdd) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsAdd) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsAdd) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsAdd) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsAdd) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsAdd) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsAdd) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsAdd) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsAdd) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsAdd) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsAdd) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsAdd) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsAdd) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_doc.go new file mode 100644 index 000000000..ed357559a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeannounce contains the implementation for the Announce type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeannounce diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_pkg.go new file mode 100644 index 000000000..626354eb2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeannounce + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_type_activitystreams_announce.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_type_activitystreams_announce.go new file mode 100644 index 000000000..761e3ef5a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_announce/gen_type_activitystreams_announce.go @@ -0,0 +1,1953 @@ +// Code generated by astool. DO NOT EDIT. + +package typeannounce + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is calling the target's attention the object. The +// origin typically has no defined meaning. +// +// Example 36 (https://www.w3.org/TR/activitystreams-vocabulary/#ex170-jsonld): +// { +// "actor": { +// "id": "http://sally.example.org", +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://sally.example.org", +// "location": { +// "name": "Work", +// "type": "Place" +// }, +// "type": "Arrive" +// }, +// "summary": "Sally announced that she had arrived at work", +// "type": "Announce" +// } +type ActivityStreamsAnnounce struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsAnnounceExtends returns true if the Announce type extends from +// the other type. +func ActivityStreamsAnnounceExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// AnnounceIsDisjointWith returns true if the other provided type is disjoint with +// the Announce type. +func AnnounceIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// AnnounceIsExtendedBy returns true if the other provided type extends from the +// Announce type. Note that it returns false if the types are the same; see +// the "IsOrExtendsAnnounce" variant instead. +func AnnounceIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeAnnounce creates a Announce from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeAnnounce(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsAnnounce, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsAnnounce{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Announce" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Announce", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Announce" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Announce") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsAnnounce returns true if the other provided type is the Announce +// type or extends from the Announce type. +func IsOrExtendsAnnounce(other vocab.Type) bool { + if other.GetTypeName() == "Announce" { + return true + } + return AnnounceIsExtendedBy(other) +} + +// NewActivityStreamsAnnounce creates a new Announce type +func NewActivityStreamsAnnounce() *ActivityStreamsAnnounce { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Announce") + return &ActivityStreamsAnnounce{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAnnounce) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsAnnounce) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAnnounce) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAnnounce) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsAnnounce) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsAnnounce) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsAnnounce) GetTypeName() string { + return "Announce" +} + +// GetUnknownProperties returns the unknown properties for the Announce type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsAnnounce) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Announce type extends from the other type. +func (this ActivityStreamsAnnounce) IsExtending(other vocab.Type) bool { + return ActivityStreamsAnnounceExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsAnnounce) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Announce is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsAnnounce) LessThan(o vocab.ActivityStreamsAnnounce) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsAnnounce) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Announce" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Announce" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsAnnounce) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsAnnounce) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsAnnounce) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsAnnounce) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsAnnounce) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsAnnounce) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsAnnounce) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsAnnounce) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_doc.go new file mode 100644 index 000000000..097c76de4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeapplication contains the implementation for the Application type. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeapplication diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_pkg.go new file mode 100644 index 000000000..77f918139 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_pkg.go @@ -0,0 +1,228 @@ +// Code generated by astool. DO NOT EDIT. + +package typeapplication + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDiscoverablePropertyToot returns the deserialization method + // for the "TootDiscoverableProperty" non-functional property in the + // vocabulary "Toot" + DeserializeDiscoverablePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootDiscoverableProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFeaturedPropertyToot returns the deserialization method for + // the "TootFeaturedProperty" non-functional property in the + // vocabulary "Toot" + DeserializeFeaturedPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootFeaturedProperty, error) + // DeserializeFollowersPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowersProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowersPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowersProperty, error) + // DeserializeFollowingPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowingProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowingPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowingProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInboxProperty, error) + // DeserializeLikedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikedProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOutboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOutboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOutboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOutboxProperty, error) + // DeserializePreferredUsernamePropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsPreferredUsernameProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializePreferredUsernamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreferredUsernameProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublicKeyPropertyW3IDSecurityV1 returns the deserialization + // method for the "W3IDSecurityV1PublicKeyProperty" non-functional + // property in the vocabulary "W3IDSecurityV1" + DeserializePublicKeyPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKeyProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeStreamsPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStreamsProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStreamsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStreamsProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_type_activitystreams_application.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_type_activitystreams_application.go new file mode 100644 index 000000000..e4f64ed61 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_application/gen_type_activitystreams_application.go @@ -0,0 +1,2150 @@ +// Code generated by astool. DO NOT EDIT. + +package typeapplication + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Describes a software application. +// +// Example 42 (https://www.w3.org/TR/activitystreams-vocabulary/#ex34-jsonld): +// { +// "name": "Exampletron 3000", +// "type": "Application" +// } +type ActivityStreamsApplication struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + TootDiscoverable vocab.TootDiscoverableProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + TootFeatured vocab.TootFeaturedProperty + ActivityStreamsFollowers vocab.ActivityStreamsFollowersProperty + ActivityStreamsFollowing vocab.ActivityStreamsFollowingProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInbox vocab.ActivityStreamsInboxProperty + ActivityStreamsLiked vocab.ActivityStreamsLikedProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOutbox vocab.ActivityStreamsOutboxProperty + ActivityStreamsPreferredUsername vocab.ActivityStreamsPreferredUsernameProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + W3IDSecurityV1PublicKey vocab.W3IDSecurityV1PublicKeyProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsStreams vocab.ActivityStreamsStreamsProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsApplicationExtends returns true if the Application type extends +// from the other type. +func ActivityStreamsApplicationExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// ApplicationIsDisjointWith returns true if the other provided type is disjoint +// with the Application type. +func ApplicationIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ApplicationIsExtendedBy returns true if the other provided type extends from +// the Application type. Note that it returns false if the types are the same; +// see the "IsOrExtendsApplication" variant instead. +func ApplicationIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeApplication creates a Application from a map representation that has +// been unmarshalled from a text or binary format. +func DeserializeApplication(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsApplication, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsApplication{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Application" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Application", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Application" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Application") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDiscoverablePropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootDiscoverable = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFeaturedPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootFeatured = p + } + if p, err := mgr.DeserializeFollowersPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowers = p + } + if p, err := mgr.DeserializeFollowingPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowing = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInbox = p + } + if p, err := mgr.DeserializeLikedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLiked = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOutboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOutbox = p + } + if p, err := mgr.DeserializePreferredUsernamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreferredUsername = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublicKeyPropertyW3IDSecurityV1()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.W3IDSecurityV1PublicKey = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeStreamsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStreams = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "discoverable" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "featured" { + continue + } else if k == "followers" { + continue + } else if k == "following" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "inbox" { + continue + } else if k == "liked" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "outbox" { + continue + } else if k == "preferredUsername" { + continue + } else if k == "preferredUsernameMap" { + continue + } else if k == "preview" { + continue + } else if k == "publicKey" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "streams" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsApplication returns true if the other provided type is the +// Application type or extends from the Application type. +func IsOrExtendsApplication(other vocab.Type) bool { + if other.GetTypeName() == "Application" { + return true + } + return ApplicationIsExtendedBy(other) +} + +// NewActivityStreamsApplication creates a new Application type +func NewActivityStreamsApplication() *ActivityStreamsApplication { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Application") + return &ActivityStreamsApplication{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFollowers returns the "followers" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsFollowers() vocab.ActivityStreamsFollowersProperty { + return this.ActivityStreamsFollowers +} + +// GetActivityStreamsFollowing returns the "following" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsFollowing() vocab.ActivityStreamsFollowingProperty { + return this.ActivityStreamsFollowing +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInbox returns the "inbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsInbox() vocab.ActivityStreamsInboxProperty { + return this.ActivityStreamsInbox +} + +// GetActivityStreamsLiked returns the "liked" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsLiked() vocab.ActivityStreamsLikedProperty { + return this.ActivityStreamsLiked +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOutbox returns the "outbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsOutbox() vocab.ActivityStreamsOutboxProperty { + return this.ActivityStreamsOutbox +} + +// GetActivityStreamsPreferredUsername returns the "preferredUsername" property if +// it exists, and nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsPreferredUsername() vocab.ActivityStreamsPreferredUsernameProperty { + return this.ActivityStreamsPreferredUsername +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsStreams returns the "streams" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsStreams() vocab.ActivityStreamsStreamsProperty { + return this.ActivityStreamsStreams +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsApplication) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsApplication) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsApplication) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsApplication) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsApplication) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootDiscoverable returns the "discoverable" property if it exists, and nil +// otherwise. +func (this ActivityStreamsApplication) GetTootDiscoverable() vocab.TootDiscoverableProperty { + return this.TootDiscoverable +} + +// GetTootFeatured returns the "featured" property if it exists, and nil otherwise. +func (this ActivityStreamsApplication) GetTootFeatured() vocab.TootFeaturedProperty { + return this.TootFeatured +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsApplication) GetTypeName() string { + return "Application" +} + +// GetUnknownProperties returns the unknown properties for the Application type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsApplication) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// GetW3IDSecurityV1PublicKey returns the "publicKey" property if it exists, and +// nil otherwise. +func (this ActivityStreamsApplication) GetW3IDSecurityV1PublicKey() vocab.W3IDSecurityV1PublicKeyProperty { + return this.W3IDSecurityV1PublicKey +} + +// IsExtending returns true if the Application type extends from the other type. +func (this ActivityStreamsApplication) IsExtending(other vocab.Type) bool { + return ActivityStreamsApplicationExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsApplication) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.TootDiscoverable, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.TootFeatured, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowers, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowing, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsLiked, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOutbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreferredUsername, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.W3IDSecurityV1PublicKey, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsStreams, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Application is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsApplication) LessThan(o vocab.ActivityStreamsApplication) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "discoverable" + if lhs, rhs := this.TootDiscoverable, o.GetTootDiscoverable(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "featured" + if lhs, rhs := this.TootFeatured, o.GetTootFeatured(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "followers" + if lhs, rhs := this.ActivityStreamsFollowers, o.GetActivityStreamsFollowers(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "following" + if lhs, rhs := this.ActivityStreamsFollowing, o.GetActivityStreamsFollowing(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inbox" + if lhs, rhs := this.ActivityStreamsInbox, o.GetActivityStreamsInbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "liked" + if lhs, rhs := this.ActivityStreamsLiked, o.GetActivityStreamsLiked(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "outbox" + if lhs, rhs := this.ActivityStreamsOutbox, o.GetActivityStreamsOutbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preferredUsername" + if lhs, rhs := this.ActivityStreamsPreferredUsername, o.GetActivityStreamsPreferredUsername(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "publicKey" + if lhs, rhs := this.W3IDSecurityV1PublicKey, o.GetW3IDSecurityV1PublicKey(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "streams" + if lhs, rhs := this.ActivityStreamsStreams, o.GetActivityStreamsStreams(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsApplication) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Application" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Application" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "discoverable" + if this.TootDiscoverable != nil { + if i, err := this.TootDiscoverable.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootDiscoverable.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "featured" + if this.TootFeatured != nil { + if i, err := this.TootFeatured.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootFeatured.Name()] = i + } + } + // Maybe serialize property "followers" + if this.ActivityStreamsFollowers != nil { + if i, err := this.ActivityStreamsFollowers.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowers.Name()] = i + } + } + // Maybe serialize property "following" + if this.ActivityStreamsFollowing != nil { + if i, err := this.ActivityStreamsFollowing.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowing.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "inbox" + if this.ActivityStreamsInbox != nil { + if i, err := this.ActivityStreamsInbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInbox.Name()] = i + } + } + // Maybe serialize property "liked" + if this.ActivityStreamsLiked != nil { + if i, err := this.ActivityStreamsLiked.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLiked.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "outbox" + if this.ActivityStreamsOutbox != nil { + if i, err := this.ActivityStreamsOutbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOutbox.Name()] = i + } + } + // Maybe serialize property "preferredUsername" + if this.ActivityStreamsPreferredUsername != nil { + if i, err := this.ActivityStreamsPreferredUsername.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreferredUsername.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "publicKey" + if this.W3IDSecurityV1PublicKey != nil { + if i, err := this.W3IDSecurityV1PublicKey.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.W3IDSecurityV1PublicKey.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "streams" + if this.ActivityStreamsStreams != nil { + if i, err := this.ActivityStreamsStreams.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStreams.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsApplication) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsApplication) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsApplication) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsApplication) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsApplication) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsApplication) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsApplication) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsApplication) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsApplication) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsApplication) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsApplication) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFollowers sets the "followers" property. +func (this *ActivityStreamsApplication) SetActivityStreamsFollowers(i vocab.ActivityStreamsFollowersProperty) { + this.ActivityStreamsFollowers = i +} + +// SetActivityStreamsFollowing sets the "following" property. +func (this *ActivityStreamsApplication) SetActivityStreamsFollowing(i vocab.ActivityStreamsFollowingProperty) { + this.ActivityStreamsFollowing = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsApplication) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsApplication) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsApplication) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsApplication) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInbox sets the "inbox" property. +func (this *ActivityStreamsApplication) SetActivityStreamsInbox(i vocab.ActivityStreamsInboxProperty) { + this.ActivityStreamsInbox = i +} + +// SetActivityStreamsLiked sets the "liked" property. +func (this *ActivityStreamsApplication) SetActivityStreamsLiked(i vocab.ActivityStreamsLikedProperty) { + this.ActivityStreamsLiked = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsApplication) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsApplication) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsApplication) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsApplication) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsApplication) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOutbox sets the "outbox" property. +func (this *ActivityStreamsApplication) SetActivityStreamsOutbox(i vocab.ActivityStreamsOutboxProperty) { + this.ActivityStreamsOutbox = i +} + +// SetActivityStreamsPreferredUsername sets the "preferredUsername" property. +func (this *ActivityStreamsApplication) SetActivityStreamsPreferredUsername(i vocab.ActivityStreamsPreferredUsernameProperty) { + this.ActivityStreamsPreferredUsername = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsApplication) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsApplication) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsApplication) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsApplication) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsApplication) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsApplication) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsStreams sets the "streams" property. +func (this *ActivityStreamsApplication) SetActivityStreamsStreams(i vocab.ActivityStreamsStreamsProperty) { + this.ActivityStreamsStreams = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsApplication) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsApplication) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsApplication) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsApplication) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsApplication) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsApplication) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsApplication) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsApplication) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsApplication) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsApplication) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootDiscoverable sets the "discoverable" property. +func (this *ActivityStreamsApplication) SetTootDiscoverable(i vocab.TootDiscoverableProperty) { + this.TootDiscoverable = i +} + +// SetTootFeatured sets the "featured" property. +func (this *ActivityStreamsApplication) SetTootFeatured(i vocab.TootFeaturedProperty) { + this.TootFeatured = i +} + +// SetW3IDSecurityV1PublicKey sets the "publicKey" property. +func (this *ActivityStreamsApplication) SetW3IDSecurityV1PublicKey(i vocab.W3IDSecurityV1PublicKeyProperty) { + this.W3IDSecurityV1PublicKey = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsApplication) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsApplication) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_doc.go new file mode 100644 index 000000000..2537e8b78 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typearrive contains the implementation for the Arrive type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typearrive diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_pkg.go new file mode 100644 index 000000000..3ed9d1387 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_pkg.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package typearrive + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_type_activitystreams_arrive.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_type_activitystreams_arrive.go new file mode 100644 index 000000000..0e09740e6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_arrive/gen_type_activitystreams_arrive.go @@ -0,0 +1,1911 @@ +// Code generated by astool. DO NOT EDIT. + +package typearrive + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// An IntransitiveActivity that indicates that the actor has arrived at the +// location. The origin can be used to identify the context from which the +// actor originated. The target typically has no defined meaning. +// +// Example 14 (https://www.w3.org/TR/activitystreams-vocabulary/#ex11-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "location": { +// "name": "Work", +// "type": "Place" +// }, +// "origin": { +// "name": "Home", +// "type": "Place" +// }, +// "summary": "Sally arrived at work", +// "type": "Arrive" +// } +type ActivityStreamsArrive struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsArriveExtends returns true if the Arrive type extends from the +// other type. +func ActivityStreamsArriveExtends(other vocab.Type) bool { + extensions := []string{"Activity", "IntransitiveActivity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// ArriveIsDisjointWith returns true if the other provided type is disjoint with +// the Arrive type. +func ArriveIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ArriveIsExtendedBy returns true if the other provided type extends from the +// Arrive type. Note that it returns false if the types are the same; see the +// "IsOrExtendsArrive" variant instead. +func ArriveIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeArrive creates a Arrive from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeArrive(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsArrive, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsArrive{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Arrive" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Arrive", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Arrive" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Arrive") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsArrive returns true if the other provided type is the Arrive type or +// extends from the Arrive type. +func IsOrExtendsArrive(other vocab.Type) bool { + if other.GetTypeName() == "Arrive" { + return true + } + return ArriveIsExtendedBy(other) +} + +// NewActivityStreamsArrive creates a new Arrive type +func NewActivityStreamsArrive() *ActivityStreamsArrive { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Arrive") + return &ActivityStreamsArrive{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArrive) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsArrive) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsArrive) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsArrive) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsArrive) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsArrive) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsArrive) GetTypeName() string { + return "Arrive" +} + +// GetUnknownProperties returns the unknown properties for the Arrive type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsArrive) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Arrive type extends from the other type. +func (this ActivityStreamsArrive) IsExtending(other vocab.Type) bool { + return ActivityStreamsArriveExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsArrive) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Arrive is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsArrive) LessThan(o vocab.ActivityStreamsArrive) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsArrive) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Arrive" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Arrive" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsArrive) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsArrive) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsArrive) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsArrive) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsArrive) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsArrive) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsArrive) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsArrive) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsArrive) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsArrive) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsArrive) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsArrive) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsArrive) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsArrive) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsArrive) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsArrive) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsArrive) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsArrive) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsArrive) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsArrive) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsArrive) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsArrive) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsArrive) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsArrive) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsArrive) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsArrive) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsArrive) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsArrive) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsArrive) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsArrive) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsArrive) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsArrive) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsArrive) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsArrive) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsArrive) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsArrive) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsArrive) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsArrive) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsArrive) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsArrive) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsArrive) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsArrive) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_doc.go new file mode 100644 index 000000000..e1d682448 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typearticle contains the implementation for the Article type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typearticle diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_pkg.go new file mode 100644 index 000000000..4c0055c5c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_pkg.go @@ -0,0 +1,187 @@ +// Code generated by astool. DO NOT EDIT. + +package typearticle + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_type_activitystreams_article.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_type_activitystreams_article.go new file mode 100644 index 000000000..158c880ad --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_article/gen_type_activitystreams_article.go @@ -0,0 +1,1732 @@ +// Code generated by astool. DO NOT EDIT. + +package typearticle + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents any kind of multi-paragraph written work. +// +// Example 48 (https://www.w3.org/TR/activitystreams-vocabulary/#ex43-jsonld): +// { +// "attributedTo": "http://sally.example.org", +// "content": "\u003cdiv\u003e... you will never believe +// ...\u003c/div\u003e", +// "name": "What a Crazy Day I Had", +// "type": "Article" +// } +type ActivityStreamsArticle struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsArticleExtends returns true if the Article type extends from the +// other type. +func ActivityStreamsArticleExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// ArticleIsDisjointWith returns true if the other provided type is disjoint with +// the Article type. +func ArticleIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ArticleIsExtendedBy returns true if the other provided type extends from the +// Article type. Note that it returns false if the types are the same; see the +// "IsOrExtendsArticle" variant instead. +func ArticleIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeArticle creates a Article from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeArticle(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsArticle, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsArticle{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Article" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Article", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Article" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Article") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsArticle returns true if the other provided type is the Article type +// or extends from the Article type. +func IsOrExtendsArticle(other vocab.Type) bool { + if other.GetTypeName() == "Article" { + return true + } + return ArticleIsExtendedBy(other) +} + +// NewActivityStreamsArticle creates a new Article type +func NewActivityStreamsArticle() *ActivityStreamsArticle { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Article") + return &ActivityStreamsArticle{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsArticle) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsArticle) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsArticle) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsArticle) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsArticle) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsArticle) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsArticle) GetTypeName() string { + return "Article" +} + +// GetUnknownProperties returns the unknown properties for the Article type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsArticle) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Article type extends from the other type. +func (this ActivityStreamsArticle) IsExtending(other vocab.Type) bool { + return ActivityStreamsArticleExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsArticle) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Article is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsArticle) LessThan(o vocab.ActivityStreamsArticle) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsArticle) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Article" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Article" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsArticle) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsArticle) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsArticle) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsArticle) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsArticle) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsArticle) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsArticle) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsArticle) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsArticle) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsArticle) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsArticle) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsArticle) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsArticle) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsArticle) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsArticle) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsArticle) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsArticle) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsArticle) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsArticle) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsArticle) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsArticle) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsArticle) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsArticle) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsArticle) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsArticle) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsArticle) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsArticle) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsArticle) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsArticle) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsArticle) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsArticle) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsArticle) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsArticle) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsArticle) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsArticle) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsArticle) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsArticle) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsArticle) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_doc.go new file mode 100644 index 000000000..9f55f003a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeaudio contains the implementation for the Audio type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeaudio diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_pkg.go new file mode 100644 index 000000000..ece118158 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_pkg.go @@ -0,0 +1,191 @@ +// Code generated by astool. DO NOT EDIT. + +package typeaudio + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBlurhashPropertyToot returns the deserialization method for + // the "TootBlurhashProperty" non-functional property in the + // vocabulary "Toot" + DeserializeBlurhashPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootBlurhashProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_type_activitystreams_audio.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_type_activitystreams_audio.go new file mode 100644 index 000000000..30a004090 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_audio/gen_type_activitystreams_audio.go @@ -0,0 +1,1775 @@ +// Code generated by astool. DO NOT EDIT. + +package typeaudio + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents an audio document of any kind. +// +// Example 50 (https://www.w3.org/TR/activitystreams-vocabulary/#ex49-jsonld): +// { +// "name": "Interview With A Famous Technologist", +// "type": "Audio", +// "url": { +// "mediaType": "audio/mp3", +// "type": "owl:Class", +// "url": "http://example.org/podcast.mp3" +// } +// } +type ActivityStreamsAudio struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + TootBlurhash vocab.TootBlurhashProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsAudioExtends returns true if the Audio type extends from the +// other type. +func ActivityStreamsAudioExtends(other vocab.Type) bool { + extensions := []string{"Document", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// AudioIsDisjointWith returns true if the other provided type is disjoint with +// the Audio type. +func AudioIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// AudioIsExtendedBy returns true if the other provided type extends from the +// Audio type. Note that it returns false if the types are the same; see the +// "IsOrExtendsAudio" variant instead. +func AudioIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeAudio creates a Audio from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeAudio(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsAudio, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsAudio{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Audio" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Audio", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Audio" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Audio") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBlurhashPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootBlurhash = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "blurhash" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsAudio returns true if the other provided type is the Audio type or +// extends from the Audio type. +func IsOrExtendsAudio(other vocab.Type) bool { + if other.GetTypeName() == "Audio" { + return true + } + return AudioIsExtendedBy(other) +} + +// NewActivityStreamsAudio creates a new Audio type +func NewActivityStreamsAudio() *ActivityStreamsAudio { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Audio") + return &ActivityStreamsAudio{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsAudio) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsAudio) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAudio) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsAudio) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsAudio) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsAudio) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootBlurhash returns the "blurhash" property if it exists, and nil otherwise. +func (this ActivityStreamsAudio) GetTootBlurhash() vocab.TootBlurhashProperty { + return this.TootBlurhash +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsAudio) GetTypeName() string { + return "Audio" +} + +// GetUnknownProperties returns the unknown properties for the Audio type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsAudio) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Audio type extends from the other type. +func (this ActivityStreamsAudio) IsExtending(other vocab.Type) bool { + return ActivityStreamsAudioExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsAudio) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.TootBlurhash, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Audio is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsAudio) LessThan(o vocab.ActivityStreamsAudio) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "blurhash" + if lhs, rhs := this.TootBlurhash, o.GetTootBlurhash(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsAudio) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Audio" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Audio" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "blurhash" + if this.TootBlurhash != nil { + if i, err := this.TootBlurhash.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootBlurhash.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsAudio) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsAudio) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsAudio) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsAudio) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsAudio) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsAudio) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsAudio) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsAudio) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsAudio) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsAudio) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsAudio) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsAudio) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsAudio) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsAudio) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsAudio) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsAudio) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsAudio) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsAudio) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsAudio) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsAudio) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsAudio) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsAudio) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsAudio) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsAudio) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsAudio) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsAudio) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsAudio) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsAudio) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsAudio) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsAudio) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsAudio) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsAudio) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsAudio) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsAudio) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsAudio) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsAudio) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootBlurhash sets the "blurhash" property. +func (this *ActivityStreamsAudio) SetTootBlurhash(i vocab.TootBlurhashProperty) { + this.TootBlurhash = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsAudio) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsAudio) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_doc.go new file mode 100644 index 000000000..fb575cffc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeblock contains the implementation for the Block type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeblock diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_pkg.go new file mode 100644 index 000000000..23e71ecc6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeblock + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_type_activitystreams_block.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_type_activitystreams_block.go new file mode 100644 index 000000000..07a7c985f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_block/gen_type_activitystreams_block.go @@ -0,0 +1,1944 @@ +// Code generated by astool. DO NOT EDIT. + +package typeblock + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is blocking the object. Blocking is a stronger form of +// Ignore. The typical use is to support social systems that allow one user to +// block activities or content of other users. The target and origin typically +// have no defined meaning. +// +// Example 37 (https://www.w3.org/TR/activitystreams-vocabulary/#ex173-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://joe.example.org", +// "summary": "Sally blocked Joe", +// "type": "Block" +// } +type ActivityStreamsBlock struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsBlockExtends returns true if the Block type extends from the +// other type. +func ActivityStreamsBlockExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Ignore", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// BlockIsDisjointWith returns true if the other provided type is disjoint with +// the Block type. +func BlockIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// BlockIsExtendedBy returns true if the other provided type extends from the +// Block type. Note that it returns false if the types are the same; see the +// "IsOrExtendsBlock" variant instead. +func BlockIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeBlock creates a Block from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeBlock(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsBlock, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsBlock{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Block" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Block", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Block" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Block") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsBlock returns true if the other provided type is the Block type or +// extends from the Block type. +func IsOrExtendsBlock(other vocab.Type) bool { + if other.GetTypeName() == "Block" { + return true + } + return BlockIsExtendedBy(other) +} + +// NewActivityStreamsBlock creates a new Block type +func NewActivityStreamsBlock() *ActivityStreamsBlock { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Block") + return &ActivityStreamsBlock{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsBlock) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsBlock) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsBlock) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsBlock) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsBlock) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsBlock) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsBlock) GetTypeName() string { + return "Block" +} + +// GetUnknownProperties returns the unknown properties for the Block type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsBlock) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Block type extends from the other type. +func (this ActivityStreamsBlock) IsExtending(other vocab.Type) bool { + return ActivityStreamsBlockExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsBlock) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Block is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsBlock) LessThan(o vocab.ActivityStreamsBlock) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsBlock) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Block" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Block" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsBlock) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsBlock) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsBlock) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsBlock) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsBlock) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsBlock) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsBlock) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsBlock) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsBlock) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsBlock) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsBlock) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsBlock) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsBlock) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsBlock) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsBlock) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsBlock) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsBlock) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsBlock) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsBlock) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsBlock) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsBlock) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsBlock) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsBlock) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsBlock) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsBlock) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsBlock) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsBlock) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsBlock) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsBlock) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsBlock) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsBlock) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsBlock) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsBlock) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsBlock) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsBlock) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsBlock) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsBlock) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsBlock) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsBlock) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsBlock) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsBlock) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsBlock) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsBlock) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_doc.go new file mode 100644 index 000000000..d5f865c6e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typecollection contains the implementation for the Collection type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typecollection diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_pkg.go new file mode 100644 index 000000000..45181d662 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typecollection + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeCurrentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsCurrentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCurrentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCurrentProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFirstPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFirstProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFirstPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFirstProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeItemsPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsItemsProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsItemsProperty, error) + // DeserializeLastPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLastProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLastPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLastProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTotalItemsPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsTotalItemsProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeTotalItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTotalItemsProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_type_activitystreams_collection.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_type_activitystreams_collection.go new file mode 100644 index 000000000..6482591ac --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collection/gen_type_activitystreams_collection.go @@ -0,0 +1,1957 @@ +// Code generated by astool. DO NOT EDIT. + +package typecollection + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A Collection is a subtype of Object that represents ordered or unordered sets +// of Object or Link instances. Refer to the Activity Streams 2.0 Core +// specification for a complete description of the Collection type. +// +// Example 5 (https://www.w3.org/TR/activitystreams-vocabulary/#ex5-jsonld): +// { +// "items": [ +// { +// "name": "A Simple Note", +// "type": "Note" +// }, +// { +// "name": "Another Simple Note", +// "type": "Note" +// } +// ], +// "summary": "Sally's notes", +// "totalItems": 2, +// "type": "Collection" +// } +type ActivityStreamsCollection struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsCurrent vocab.ActivityStreamsCurrentProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsFirst vocab.ActivityStreamsFirstProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsItems vocab.ActivityStreamsItemsProperty + ActivityStreamsLast vocab.ActivityStreamsLastProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ActivityStreamsTotalItems vocab.ActivityStreamsTotalItemsProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsCollectionExtends returns true if the Collection type extends +// from the other type. +func ActivityStreamsCollectionExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// CollectionIsDisjointWith returns true if the other provided type is disjoint +// with the Collection type. +func CollectionIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// CollectionIsExtendedBy returns true if the other provided type extends from the +// Collection type. Note that it returns false if the types are the same; see +// the "IsOrExtendsCollection" variant instead. +func CollectionIsExtendedBy(other vocab.Type) bool { + extensions := []string{"CollectionPage", "OrderedCollection", "OrderedCollectionPage", "OrderedCollectionPage"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeCollection creates a Collection from a map representation that has +// been unmarshalled from a text or binary format. +func DeserializeCollection(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsCollection, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsCollection{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Collection" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Collection", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Collection" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Collection") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeCurrentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCurrent = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFirstPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFirst = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeItemsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsItems = p + } + if p, err := mgr.DeserializeLastPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLast = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTotalItemsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTotalItems = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "current" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "first" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "items" { + continue + } else if k == "last" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "totalItems" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsCollection returns true if the other provided type is the Collection +// type or extends from the Collection type. +func IsOrExtendsCollection(other vocab.Type) bool { + if other.GetTypeName() == "Collection" { + return true + } + return CollectionIsExtendedBy(other) +} + +// NewActivityStreamsCollection creates a new Collection type +func NewActivityStreamsCollection() *ActivityStreamsCollection { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Collection") + return &ActivityStreamsCollection{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsCurrent returns the "current" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsCurrent() vocab.ActivityStreamsCurrentProperty { + return this.ActivityStreamsCurrent +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFirst returns the "first" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsFirst() vocab.ActivityStreamsFirstProperty { + return this.ActivityStreamsFirst +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsItems returns the "items" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsItems() vocab.ActivityStreamsItemsProperty { + return this.ActivityStreamsItems +} + +// GetActivityStreamsLast returns the "last" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsLast() vocab.ActivityStreamsLastProperty { + return this.ActivityStreamsLast +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsTotalItems returns the "totalItems" property if it exists, +// and nil otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsTotalItems() vocab.ActivityStreamsTotalItemsProperty { + return this.ActivityStreamsTotalItems +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollection) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsCollection) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCollection) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCollection) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsCollection) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsCollection) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsCollection) GetTypeName() string { + return "Collection" +} + +// GetUnknownProperties returns the unknown properties for the Collection type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsCollection) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Collection type extends from the other type. +func (this ActivityStreamsCollection) IsExtending(other vocab.Type) bool { + return ActivityStreamsCollectionExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsCollection) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsCurrent, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsFirst, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsItems, m) + m = this.helperJSONLDContext(this.ActivityStreamsLast, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsTotalItems, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Collection is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsCollection) LessThan(o vocab.ActivityStreamsCollection) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "current" + if lhs, rhs := this.ActivityStreamsCurrent, o.GetActivityStreamsCurrent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "first" + if lhs, rhs := this.ActivityStreamsFirst, o.GetActivityStreamsFirst(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "items" + if lhs, rhs := this.ActivityStreamsItems, o.GetActivityStreamsItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "last" + if lhs, rhs := this.ActivityStreamsLast, o.GetActivityStreamsLast(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "totalItems" + if lhs, rhs := this.ActivityStreamsTotalItems, o.GetActivityStreamsTotalItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsCollection) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Collection" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Collection" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "current" + if this.ActivityStreamsCurrent != nil { + if i, err := this.ActivityStreamsCurrent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCurrent.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "first" + if this.ActivityStreamsFirst != nil { + if i, err := this.ActivityStreamsFirst.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFirst.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "items" + if this.ActivityStreamsItems != nil { + if i, err := this.ActivityStreamsItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsItems.Name()] = i + } + } + // Maybe serialize property "last" + if this.ActivityStreamsLast != nil { + if i, err := this.ActivityStreamsLast.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLast.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "totalItems" + if this.ActivityStreamsTotalItems != nil { + if i, err := this.ActivityStreamsTotalItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTotalItems.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsCollection) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsCollection) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsCollection) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsCollection) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsCollection) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsCollection) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsCollection) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsCollection) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsCollection) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsCurrent sets the "current" property. +func (this *ActivityStreamsCollection) SetActivityStreamsCurrent(i vocab.ActivityStreamsCurrentProperty) { + this.ActivityStreamsCurrent = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsCollection) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsCollection) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFirst sets the "first" property. +func (this *ActivityStreamsCollection) SetActivityStreamsFirst(i vocab.ActivityStreamsFirstProperty) { + this.ActivityStreamsFirst = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsCollection) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsCollection) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsCollection) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsCollection) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsItems sets the "items" property. +func (this *ActivityStreamsCollection) SetActivityStreamsItems(i vocab.ActivityStreamsItemsProperty) { + this.ActivityStreamsItems = i +} + +// SetActivityStreamsLast sets the "last" property. +func (this *ActivityStreamsCollection) SetActivityStreamsLast(i vocab.ActivityStreamsLastProperty) { + this.ActivityStreamsLast = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsCollection) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsCollection) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsCollection) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsCollection) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsCollection) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsCollection) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsCollection) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsCollection) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsCollection) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsCollection) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsCollection) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsCollection) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsCollection) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsCollection) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsTotalItems sets the "totalItems" property. +func (this *ActivityStreamsCollection) SetActivityStreamsTotalItems(i vocab.ActivityStreamsTotalItemsProperty) { + this.ActivityStreamsTotalItems = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsCollection) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsCollection) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsCollection) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsCollection) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsCollection) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsCollection) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsCollection) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsCollection) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsCollection) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_doc.go new file mode 100644 index 000000000..ea5bc596d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typecollectionpage contains the implementation for the CollectionPage +// type. All applications are strongly encouraged to use the interface instead +// of this concrete definition. The interfaces allow applications to consume +// only the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typecollectionpage diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_pkg.go new file mode 100644 index 000000000..0ac83ca98 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_pkg.go @@ -0,0 +1,219 @@ +// Code generated by astool. DO NOT EDIT. + +package typecollectionpage + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeCurrentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsCurrentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCurrentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCurrentProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFirstPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFirstProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFirstPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFirstProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeItemsPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsItemsProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsItemsProperty, error) + // DeserializeLastPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLastProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLastPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLastProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeNextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNextProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePartOfPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPartOfProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePartOfPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPartOfProperty, error) + // DeserializePrevPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPrevProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePrevPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPrevProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTotalItemsPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsTotalItemsProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeTotalItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTotalItemsProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_type_activitystreams_collectionpage.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_type_activitystreams_collectionpage.go new file mode 100644 index 000000000..126f14aca --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage/gen_type_activitystreams_collectionpage.go @@ -0,0 +1,2084 @@ +// Code generated by astool. DO NOT EDIT. + +package typecollectionpage + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Used to represent distinct subsets of items from a Collection. Refer to the +// Activity Streams 2.0 Core for a complete description of the CollectionPage +// object. +// +// Example 7 (https://www.w3.org/TR/activitystreams-vocabulary/#ex6b-jsonld): +// { +// "id": "http://example.org/foo?page=1", +// "items": [ +// { +// "name": "A Simple Note", +// "type": "Note" +// }, +// { +// "name": "Another Simple Note", +// "type": "Note" +// } +// ], +// "partOf": "http://example.org/foo", +// "summary": "Page 1 of Sally's notes", +// "type": "CollectionPage" +// } +type ActivityStreamsCollectionPage struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsCurrent vocab.ActivityStreamsCurrentProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsFirst vocab.ActivityStreamsFirstProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsItems vocab.ActivityStreamsItemsProperty + ActivityStreamsLast vocab.ActivityStreamsLastProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsNext vocab.ActivityStreamsNextProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPartOf vocab.ActivityStreamsPartOfProperty + ActivityStreamsPrev vocab.ActivityStreamsPrevProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ActivityStreamsTotalItems vocab.ActivityStreamsTotalItemsProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsCollectionPageExtends returns true if the CollectionPage type +// extends from the other type. +func ActivityStreamsCollectionPageExtends(other vocab.Type) bool { + extensions := []string{"Collection", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// CollectionPageIsDisjointWith returns true if the other provided type is +// disjoint with the CollectionPage type. +func CollectionPageIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// CollectionPageIsExtendedBy returns true if the other provided type extends from +// the CollectionPage type. Note that it returns false if the types are the +// same; see the "IsOrExtendsCollectionPage" variant instead. +func CollectionPageIsExtendedBy(other vocab.Type) bool { + extensions := []string{"OrderedCollectionPage"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeCollectionPage creates a CollectionPage from a map representation +// that has been unmarshalled from a text or binary format. +func DeserializeCollectionPage(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsCollectionPage, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsCollectionPage{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "CollectionPage" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "CollectionPage", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "CollectionPage" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "CollectionPage") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeCurrentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCurrent = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFirstPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFirst = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeItemsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsItems = p + } + if p, err := mgr.DeserializeLastPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLast = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeNextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsNext = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePartOfPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPartOf = p + } + if p, err := mgr.DeserializePrevPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPrev = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTotalItemsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTotalItems = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "current" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "first" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "items" { + continue + } else if k == "last" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "next" { + continue + } else if k == "object" { + continue + } else if k == "partOf" { + continue + } else if k == "prev" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "totalItems" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsCollectionPage returns true if the other provided type is the +// CollectionPage type or extends from the CollectionPage type. +func IsOrExtendsCollectionPage(other vocab.Type) bool { + if other.GetTypeName() == "CollectionPage" { + return true + } + return CollectionPageIsExtendedBy(other) +} + +// NewActivityStreamsCollectionPage creates a new CollectionPage type +func NewActivityStreamsCollectionPage() *ActivityStreamsCollectionPage { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("CollectionPage") + return &ActivityStreamsCollectionPage{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsCurrent returns the "current" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsCurrent() vocab.ActivityStreamsCurrentProperty { + return this.ActivityStreamsCurrent +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFirst returns the "first" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsFirst() vocab.ActivityStreamsFirstProperty { + return this.ActivityStreamsFirst +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsItems returns the "items" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsItems() vocab.ActivityStreamsItemsProperty { + return this.ActivityStreamsItems +} + +// GetActivityStreamsLast returns the "last" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsLast() vocab.ActivityStreamsLastProperty { + return this.ActivityStreamsLast +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsNext returns the "next" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsNext() vocab.ActivityStreamsNextProperty { + return this.ActivityStreamsNext +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPartOf returns the "partOf" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsPartOf() vocab.ActivityStreamsPartOfProperty { + return this.ActivityStreamsPartOf +} + +// GetActivityStreamsPrev returns the "prev" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsPrev() vocab.ActivityStreamsPrevProperty { + return this.ActivityStreamsPrev +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsTotalItems returns the "totalItems" property if it exists, +// and nil otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsTotalItems() vocab.ActivityStreamsTotalItemsProperty { + return this.ActivityStreamsTotalItems +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCollectionPage) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsCollectionPage) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCollectionPage) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCollectionPage) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsCollectionPage) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsCollectionPage) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsCollectionPage) GetTypeName() string { + return "CollectionPage" +} + +// GetUnknownProperties returns the unknown properties for the CollectionPage +// type. Note that this should not be used by app developers. It is only used +// to help determine which implementation is LessThan the other. Developers +// who are creating a different implementation of this type's interface can +// use this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsCollectionPage) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the CollectionPage type extends from the other type. +func (this ActivityStreamsCollectionPage) IsExtending(other vocab.Type) bool { + return ActivityStreamsCollectionPageExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsCollectionPage) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsCurrent, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsFirst, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsItems, m) + m = this.helperJSONLDContext(this.ActivityStreamsLast, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsNext, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPartOf, m) + m = this.helperJSONLDContext(this.ActivityStreamsPrev, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsTotalItems, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this CollectionPage is lesser, with an arbitrary but +// stable determination. +func (this ActivityStreamsCollectionPage) LessThan(o vocab.ActivityStreamsCollectionPage) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "current" + if lhs, rhs := this.ActivityStreamsCurrent, o.GetActivityStreamsCurrent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "first" + if lhs, rhs := this.ActivityStreamsFirst, o.GetActivityStreamsFirst(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "items" + if lhs, rhs := this.ActivityStreamsItems, o.GetActivityStreamsItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "last" + if lhs, rhs := this.ActivityStreamsLast, o.GetActivityStreamsLast(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "next" + if lhs, rhs := this.ActivityStreamsNext, o.GetActivityStreamsNext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "partOf" + if lhs, rhs := this.ActivityStreamsPartOf, o.GetActivityStreamsPartOf(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "prev" + if lhs, rhs := this.ActivityStreamsPrev, o.GetActivityStreamsPrev(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "totalItems" + if lhs, rhs := this.ActivityStreamsTotalItems, o.GetActivityStreamsTotalItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsCollectionPage) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "CollectionPage" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "CollectionPage" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "current" + if this.ActivityStreamsCurrent != nil { + if i, err := this.ActivityStreamsCurrent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCurrent.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "first" + if this.ActivityStreamsFirst != nil { + if i, err := this.ActivityStreamsFirst.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFirst.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "items" + if this.ActivityStreamsItems != nil { + if i, err := this.ActivityStreamsItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsItems.Name()] = i + } + } + // Maybe serialize property "last" + if this.ActivityStreamsLast != nil { + if i, err := this.ActivityStreamsLast.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLast.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "next" + if this.ActivityStreamsNext != nil { + if i, err := this.ActivityStreamsNext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsNext.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "partOf" + if this.ActivityStreamsPartOf != nil { + if i, err := this.ActivityStreamsPartOf.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPartOf.Name()] = i + } + } + // Maybe serialize property "prev" + if this.ActivityStreamsPrev != nil { + if i, err := this.ActivityStreamsPrev.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPrev.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "totalItems" + if this.ActivityStreamsTotalItems != nil { + if i, err := this.ActivityStreamsTotalItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTotalItems.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsCurrent sets the "current" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsCurrent(i vocab.ActivityStreamsCurrentProperty) { + this.ActivityStreamsCurrent = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFirst sets the "first" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsFirst(i vocab.ActivityStreamsFirstProperty) { + this.ActivityStreamsFirst = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsItems sets the "items" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsItems(i vocab.ActivityStreamsItemsProperty) { + this.ActivityStreamsItems = i +} + +// SetActivityStreamsLast sets the "last" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsLast(i vocab.ActivityStreamsLastProperty) { + this.ActivityStreamsLast = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsNext sets the "next" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsNext(i vocab.ActivityStreamsNextProperty) { + this.ActivityStreamsNext = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPartOf sets the "partOf" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsPartOf(i vocab.ActivityStreamsPartOfProperty) { + this.ActivityStreamsPartOf = i +} + +// SetActivityStreamsPrev sets the "prev" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsPrev(i vocab.ActivityStreamsPrevProperty) { + this.ActivityStreamsPrev = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsTotalItems sets the "totalItems" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsTotalItems(i vocab.ActivityStreamsTotalItemsProperty) { + this.ActivityStreamsTotalItems = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsCollectionPage) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsCollectionPage) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsCollectionPage) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsCollectionPage) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsCollectionPage) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsCollectionPage) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsCollectionPage) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsCollectionPage) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_doc.go new file mode 100644 index 000000000..98e4f5ae6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typecreate contains the implementation for the Create type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typecreate diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_pkg.go new file mode 100644 index 000000000..64861bdfc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typecreate + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_type_activitystreams_create.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_type_activitystreams_create.go new file mode 100644 index 000000000..05c74e360 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_create/gen_type_activitystreams_create.go @@ -0,0 +1,1948 @@ +// Code generated by astool. DO NOT EDIT. + +package typecreate + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has created the object. +// +// Example 15 (https://www.w3.org/TR/activitystreams-vocabulary/#ex12-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "content": "This is a simple note", +// "name": "A Simple Note", +// "type": "Note" +// }, +// "summary": "Sally created a note", +// "type": "Create" +// } +type ActivityStreamsCreate struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsCreateExtends returns true if the Create type extends from the +// other type. +func ActivityStreamsCreateExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// CreateIsDisjointWith returns true if the other provided type is disjoint with +// the Create type. +func CreateIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// CreateIsExtendedBy returns true if the other provided type extends from the +// Create type. Note that it returns false if the types are the same; see the +// "IsOrExtendsCreate" variant instead. +func CreateIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeCreate creates a Create from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeCreate(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsCreate, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsCreate{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Create" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Create", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Create" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Create") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsCreate returns true if the other provided type is the Create type or +// extends from the Create type. +func IsOrExtendsCreate(other vocab.Type) bool { + if other.GetTypeName() == "Create" { + return true + } + return CreateIsExtendedBy(other) +} + +// NewActivityStreamsCreate creates a new Create type +func NewActivityStreamsCreate() *ActivityStreamsCreate { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Create") + return &ActivityStreamsCreate{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsCreate) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsCreate) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCreate) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsCreate) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsCreate) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsCreate) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsCreate) GetTypeName() string { + return "Create" +} + +// GetUnknownProperties returns the unknown properties for the Create type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsCreate) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Create type extends from the other type. +func (this ActivityStreamsCreate) IsExtending(other vocab.Type) bool { + return ActivityStreamsCreateExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsCreate) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Create is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsCreate) LessThan(o vocab.ActivityStreamsCreate) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsCreate) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Create" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Create" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsCreate) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsCreate) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsCreate) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsCreate) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsCreate) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsCreate) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsCreate) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsCreate) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsCreate) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsCreate) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsCreate) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsCreate) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsCreate) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsCreate) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsCreate) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsCreate) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsCreate) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsCreate) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsCreate) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsCreate) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsCreate) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsCreate) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsCreate) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsCreate) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsCreate) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsCreate) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsCreate) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsCreate) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsCreate) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsCreate) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsCreate) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsCreate) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsCreate) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsCreate) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsCreate) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsCreate) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsCreate) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsCreate) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsCreate) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsCreate) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsCreate) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsCreate) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsCreate) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_doc.go new file mode 100644 index 000000000..52199177d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typedelete contains the implementation for the Delete type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typedelete diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_pkg.go new file mode 100644 index 000000000..59f8c6eb7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typedelete + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_type_activitystreams_delete.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_type_activitystreams_delete.go new file mode 100644 index 000000000..4876994b5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_delete/gen_type_activitystreams_delete.go @@ -0,0 +1,1949 @@ +// Code generated by astool. DO NOT EDIT. + +package typedelete + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has deleted the object. If specified, the origin +// indicates the context from which the object was deleted. +// +// Example 16 (https://www.w3.org/TR/activitystreams-vocabulary/#ex13-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "origin": { +// "name": "Sally's Notes", +// "type": "Collection" +// }, +// "summary": "Sally deleted a note", +// "type": "Delete" +// } +type ActivityStreamsDelete struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsDeleteExtends returns true if the Delete type extends from the +// other type. +func ActivityStreamsDeleteExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeleteIsDisjointWith returns true if the other provided type is disjoint with +// the Delete type. +func DeleteIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// DeleteIsExtendedBy returns true if the other provided type extends from the +// Delete type. Note that it returns false if the types are the same; see the +// "IsOrExtendsDelete" variant instead. +func DeleteIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeDelete creates a Delete from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeDelete(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsDelete, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsDelete{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Delete" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Delete", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Delete" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Delete") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsDelete returns true if the other provided type is the Delete type or +// extends from the Delete type. +func IsOrExtendsDelete(other vocab.Type) bool { + if other.GetTypeName() == "Delete" { + return true + } + return DeleteIsExtendedBy(other) +} + +// NewActivityStreamsDelete creates a new Delete type +func NewActivityStreamsDelete() *ActivityStreamsDelete { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Delete") + return &ActivityStreamsDelete{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDelete) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsDelete) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDelete) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDelete) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsDelete) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsDelete) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsDelete) GetTypeName() string { + return "Delete" +} + +// GetUnknownProperties returns the unknown properties for the Delete type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsDelete) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Delete type extends from the other type. +func (this ActivityStreamsDelete) IsExtending(other vocab.Type) bool { + return ActivityStreamsDeleteExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsDelete) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Delete is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsDelete) LessThan(o vocab.ActivityStreamsDelete) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsDelete) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Delete" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Delete" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsDelete) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsDelete) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsDelete) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsDelete) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsDelete) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsDelete) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsDelete) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsDelete) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsDelete) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsDelete) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsDelete) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsDelete) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsDelete) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsDelete) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsDelete) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsDelete) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsDelete) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsDelete) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsDelete) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsDelete) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsDelete) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsDelete) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsDelete) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsDelete) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsDelete) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsDelete) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsDelete) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsDelete) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsDelete) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsDelete) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsDelete) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsDelete) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsDelete) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsDelete) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsDelete) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsDelete) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsDelete) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsDelete) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsDelete) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsDelete) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsDelete) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsDelete) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsDelete) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_doc.go new file mode 100644 index 000000000..7297a1203 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typedislike contains the implementation for the Dislike type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typedislike diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_pkg.go new file mode 100644 index 000000000..dd34234a3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typedislike + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_type_activitystreams_dislike.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_type_activitystreams_dislike.go new file mode 100644 index 000000000..4ac4abfa7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_dislike/gen_type_activitystreams_dislike.go @@ -0,0 +1,1941 @@ +// Code generated by astool. DO NOT EDIT. + +package typedislike + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor dislikes the object. +// +// Example 39 (https://www.w3.org/TR/activitystreams-vocabulary/#ex175-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally disliked a post", +// "type": "Dislike" +// } +type ActivityStreamsDislike struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsDislikeExtends returns true if the Dislike type extends from the +// other type. +func ActivityStreamsDislikeExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeDislike creates a Dislike from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeDislike(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsDislike, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsDislike{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Dislike" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Dislike", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Dislike" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Dislike") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// DislikeIsDisjointWith returns true if the other provided type is disjoint with +// the Dislike type. +func DislikeIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// DislikeIsExtendedBy returns true if the other provided type extends from the +// Dislike type. Note that it returns false if the types are the same; see the +// "IsOrExtendsDislike" variant instead. +func DislikeIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsDislike returns true if the other provided type is the Dislike type +// or extends from the Dislike type. +func IsOrExtendsDislike(other vocab.Type) bool { + if other.GetTypeName() == "Dislike" { + return true + } + return DislikeIsExtendedBy(other) +} + +// NewActivityStreamsDislike creates a new Dislike type +func NewActivityStreamsDislike() *ActivityStreamsDislike { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Dislike") + return &ActivityStreamsDislike{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDislike) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsDislike) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDislike) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDislike) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsDislike) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsDislike) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsDislike) GetTypeName() string { + return "Dislike" +} + +// GetUnknownProperties returns the unknown properties for the Dislike type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsDislike) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Dislike type extends from the other type. +func (this ActivityStreamsDislike) IsExtending(other vocab.Type) bool { + return ActivityStreamsDislikeExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsDislike) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Dislike is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsDislike) LessThan(o vocab.ActivityStreamsDislike) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsDislike) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Dislike" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Dislike" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsDislike) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsDislike) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsDislike) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsDislike) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsDislike) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsDislike) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsDislike) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsDislike) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsDislike) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsDislike) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsDislike) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsDislike) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsDislike) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsDislike) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsDislike) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsDislike) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsDislike) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsDislike) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsDislike) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsDislike) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsDislike) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsDislike) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsDislike) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsDislike) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsDislike) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsDislike) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsDislike) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsDislike) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsDislike) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsDislike) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsDislike) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsDislike) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsDislike) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsDislike) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsDislike) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsDislike) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsDislike) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsDislike) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsDislike) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsDislike) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsDislike) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsDislike) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsDislike) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_doc.go new file mode 100644 index 000000000..0c4682fd9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typedocument contains the implementation for the Document type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typedocument diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_pkg.go new file mode 100644 index 000000000..a64977722 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_pkg.go @@ -0,0 +1,191 @@ +// Code generated by astool. DO NOT EDIT. + +package typedocument + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBlurhashPropertyToot returns the deserialization method for + // the "TootBlurhashProperty" non-functional property in the + // vocabulary "Toot" + DeserializeBlurhashPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootBlurhashProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_type_activitystreams_document.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_type_activitystreams_document.go new file mode 100644 index 000000000..093f6391e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_document/gen_type_activitystreams_document.go @@ -0,0 +1,1776 @@ +// Code generated by astool. DO NOT EDIT. + +package typedocument + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a document of any kind. +// +// Example 49 (https://www.w3.org/TR/activitystreams-vocabulary/#ex48-jsonld): +// { +// "name": "4Q Sales Forecast", +// "type": "Document", +// "url": "http://example.org/4q-sales-forecast.pdf" +// } +type ActivityStreamsDocument struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + TootBlurhash vocab.TootBlurhashProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsDocumentExtends returns true if the Document type extends from +// the other type. +func ActivityStreamsDocumentExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeDocument creates a Document from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeDocument(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsDocument, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsDocument{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Document" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Document", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Document" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Document") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBlurhashPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootBlurhash = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "blurhash" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// DocumentIsDisjointWith returns true if the other provided type is disjoint with +// the Document type. +func DocumentIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// DocumentIsExtendedBy returns true if the other provided type extends from the +// Document type. Note that it returns false if the types are the same; see +// the "IsOrExtendsDocument" variant instead. +func DocumentIsExtendedBy(other vocab.Type) bool { + extensions := []string{"Audio", "Image", "Page", "Video"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsDocument returns true if the other provided type is the Document +// type or extends from the Document type. +func IsOrExtendsDocument(other vocab.Type) bool { + if other.GetTypeName() == "Document" { + return true + } + return DocumentIsExtendedBy(other) +} + +// NewActivityStreamsDocument creates a new Document type +func NewActivityStreamsDocument() *ActivityStreamsDocument { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Document") + return &ActivityStreamsDocument{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsDocument) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsDocument) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDocument) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsDocument) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsDocument) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsDocument) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootBlurhash returns the "blurhash" property if it exists, and nil otherwise. +func (this ActivityStreamsDocument) GetTootBlurhash() vocab.TootBlurhashProperty { + return this.TootBlurhash +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsDocument) GetTypeName() string { + return "Document" +} + +// GetUnknownProperties returns the unknown properties for the Document type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsDocument) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Document type extends from the other type. +func (this ActivityStreamsDocument) IsExtending(other vocab.Type) bool { + return ActivityStreamsDocumentExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsDocument) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.TootBlurhash, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Document is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsDocument) LessThan(o vocab.ActivityStreamsDocument) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "blurhash" + if lhs, rhs := this.TootBlurhash, o.GetTootBlurhash(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsDocument) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Document" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Document" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "blurhash" + if this.TootBlurhash != nil { + if i, err := this.TootBlurhash.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootBlurhash.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsDocument) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsDocument) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsDocument) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsDocument) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsDocument) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsDocument) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsDocument) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsDocument) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsDocument) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsDocument) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsDocument) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsDocument) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsDocument) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsDocument) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsDocument) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsDocument) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsDocument) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsDocument) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsDocument) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsDocument) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsDocument) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsDocument) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsDocument) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsDocument) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsDocument) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsDocument) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsDocument) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsDocument) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsDocument) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsDocument) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsDocument) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsDocument) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsDocument) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsDocument) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsDocument) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsDocument) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootBlurhash sets the "blurhash" property. +func (this *ActivityStreamsDocument) SetTootBlurhash(i vocab.TootBlurhashProperty) { + this.TootBlurhash = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsDocument) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsDocument) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_doc.go new file mode 100644 index 000000000..f451b2ae1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeevent contains the implementation for the Event type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeevent diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_pkg.go new file mode 100644 index 000000000..74af2a1d5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_pkg.go @@ -0,0 +1,187 @@ +// Code generated by astool. DO NOT EDIT. + +package typeevent + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_type_activitystreams_event.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_type_activitystreams_event.go new file mode 100644 index 000000000..6ebf1de39 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_event/gen_type_activitystreams_event.go @@ -0,0 +1,1731 @@ +// Code generated by astool. DO NOT EDIT. + +package typeevent + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents any kind of event. +// +// Example 55 (https://www.w3.org/TR/activitystreams-vocabulary/#ex56-jsonld): +// { +// "endTime": "2015-01-01T06:00:00-08:00", +// "name": "Going-Away Party for Jim", +// "startTime": "2014-12-31T23:00:00-08:00", +// "type": "Event" +// } +type ActivityStreamsEvent struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsEventExtends returns true if the Event type extends from the +// other type. +func ActivityStreamsEventExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeEvent creates a Event from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeEvent(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsEvent, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsEvent{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Event" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Event", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Event" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Event") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// EventIsDisjointWith returns true if the other provided type is disjoint with +// the Event type. +func EventIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// EventIsExtendedBy returns true if the other provided type extends from the +// Event type. Note that it returns false if the types are the same; see the +// "IsOrExtendsEvent" variant instead. +func EventIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsEvent returns true if the other provided type is the Event type or +// extends from the Event type. +func IsOrExtendsEvent(other vocab.Type) bool { + if other.GetTypeName() == "Event" { + return true + } + return EventIsExtendedBy(other) +} + +// NewActivityStreamsEvent creates a new Event type +func NewActivityStreamsEvent() *ActivityStreamsEvent { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Event") + return &ActivityStreamsEvent{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsEvent) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsEvent) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsEvent) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsEvent) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsEvent) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsEvent) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsEvent) GetTypeName() string { + return "Event" +} + +// GetUnknownProperties returns the unknown properties for the Event type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsEvent) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Event type extends from the other type. +func (this ActivityStreamsEvent) IsExtending(other vocab.Type) bool { + return ActivityStreamsEventExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsEvent) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Event is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsEvent) LessThan(o vocab.ActivityStreamsEvent) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsEvent) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Event" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Event" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsEvent) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsEvent) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsEvent) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsEvent) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsEvent) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsEvent) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsEvent) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsEvent) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsEvent) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsEvent) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsEvent) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsEvent) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsEvent) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsEvent) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsEvent) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsEvent) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsEvent) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsEvent) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsEvent) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsEvent) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsEvent) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsEvent) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsEvent) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsEvent) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsEvent) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsEvent) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsEvent) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsEvent) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsEvent) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsEvent) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsEvent) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsEvent) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsEvent) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsEvent) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsEvent) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsEvent) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsEvent) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsEvent) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_doc.go new file mode 100644 index 000000000..aef69614e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeflag contains the implementation for the Flag type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeflag diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_pkg.go new file mode 100644 index 000000000..9099556ba --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeflag + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_type_activitystreams_flag.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_type_activitystreams_flag.go new file mode 100644 index 000000000..f979a1f93 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_flag/gen_type_activitystreams_flag.go @@ -0,0 +1,1946 @@ +// Code generated by astool. DO NOT EDIT. + +package typeflag + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is "flagging" the object. Flagging is defined in the +// sense common to many social platforms as reporting content as being +// inappropriate for any number of reasons. +// +// Example 38 (https://www.w3.org/TR/activitystreams-vocabulary/#ex174-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": { +// "content": "An inappropriate note", +// "type": "Note" +// }, +// "summary": "Sally flagged an inappropriate note", +// "type": "Flag" +// } +type ActivityStreamsFlag struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsFlagExtends returns true if the Flag type extends from the other +// type. +func ActivityStreamsFlagExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeFlag creates a Flag from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeFlag(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsFlag, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsFlag{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Flag" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Flag", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Flag" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Flag") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// FlagIsDisjointWith returns true if the other provided type is disjoint with the +// Flag type. +func FlagIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// FlagIsExtendedBy returns true if the other provided type extends from the Flag +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsFlag" variant instead. +func FlagIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsFlag returns true if the other provided type is the Flag type or +// extends from the Flag type. +func IsOrExtendsFlag(other vocab.Type) bool { + if other.GetTypeName() == "Flag" { + return true + } + return FlagIsExtendedBy(other) +} + +// NewActivityStreamsFlag creates a new Flag type +func NewActivityStreamsFlag() *ActivityStreamsFlag { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Flag") + return &ActivityStreamsFlag{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFlag) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsFlag) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsFlag) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsFlag) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsFlag) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsFlag) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsFlag) GetTypeName() string { + return "Flag" +} + +// GetUnknownProperties returns the unknown properties for the Flag type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsFlag) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Flag type extends from the other type. +func (this ActivityStreamsFlag) IsExtending(other vocab.Type) bool { + return ActivityStreamsFlagExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsFlag) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Flag is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsFlag) LessThan(o vocab.ActivityStreamsFlag) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsFlag) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Flag" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Flag" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsFlag) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsFlag) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsFlag) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsFlag) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsFlag) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsFlag) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsFlag) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsFlag) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsFlag) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsFlag) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsFlag) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsFlag) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsFlag) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsFlag) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsFlag) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsFlag) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsFlag) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsFlag) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsFlag) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsFlag) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsFlag) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsFlag) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsFlag) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsFlag) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsFlag) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsFlag) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsFlag) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsFlag) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsFlag) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsFlag) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsFlag) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsFlag) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsFlag) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsFlag) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsFlag) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsFlag) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsFlag) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsFlag) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsFlag) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsFlag) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsFlag) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsFlag) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsFlag) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_doc.go new file mode 100644 index 000000000..4c8450ab7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typefollow contains the implementation for the Follow type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typefollow diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_pkg.go new file mode 100644 index 000000000..17d65c295 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typefollow + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_type_activitystreams_follow.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_type_activitystreams_follow.go new file mode 100644 index 000000000..1cf4b896f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_follow/gen_type_activitystreams_follow.go @@ -0,0 +1,1950 @@ +// Code generated by astool. DO NOT EDIT. + +package typefollow + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is "following" the object. Following is defined in the +// sense typically used within Social systems in which the actor is interested +// in any activity performed by or on the object. The target and origin +// typically have no defined meaning. +// +// Example 17 (https://www.w3.org/TR/activitystreams-vocabulary/#ex15-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "John", +// "type": "Person" +// }, +// "summary": "Sally followed John", +// "type": "Follow" +// } +type ActivityStreamsFollow struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsFollowExtends returns true if the Follow type extends from the +// other type. +func ActivityStreamsFollowExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeFollow creates a Follow from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeFollow(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsFollow, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsFollow{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Follow" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Follow", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Follow" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Follow") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// FollowIsDisjointWith returns true if the other provided type is disjoint with +// the Follow type. +func FollowIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// FollowIsExtendedBy returns true if the other provided type extends from the +// Follow type. Note that it returns false if the types are the same; see the +// "IsOrExtendsFollow" variant instead. +func FollowIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsFollow returns true if the other provided type is the Follow type or +// extends from the Follow type. +func IsOrExtendsFollow(other vocab.Type) bool { + if other.GetTypeName() == "Follow" { + return true + } + return FollowIsExtendedBy(other) +} + +// NewActivityStreamsFollow creates a new Follow type +func NewActivityStreamsFollow() *ActivityStreamsFollow { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Follow") + return &ActivityStreamsFollow{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsFollow) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsFollow) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsFollow) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsFollow) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsFollow) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsFollow) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsFollow) GetTypeName() string { + return "Follow" +} + +// GetUnknownProperties returns the unknown properties for the Follow type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsFollow) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Follow type extends from the other type. +func (this ActivityStreamsFollow) IsExtending(other vocab.Type) bool { + return ActivityStreamsFollowExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsFollow) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Follow is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsFollow) LessThan(o vocab.ActivityStreamsFollow) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsFollow) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Follow" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Follow" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsFollow) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsFollow) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsFollow) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsFollow) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsFollow) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsFollow) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsFollow) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsFollow) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsFollow) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsFollow) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsFollow) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsFollow) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsFollow) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsFollow) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsFollow) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsFollow) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsFollow) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsFollow) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsFollow) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsFollow) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsFollow) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsFollow) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsFollow) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsFollow) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsFollow) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsFollow) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsFollow) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsFollow) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsFollow) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsFollow) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsFollow) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsFollow) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsFollow) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsFollow) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsFollow) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsFollow) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsFollow) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsFollow) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsFollow) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsFollow) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsFollow) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsFollow) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsFollow) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_doc.go new file mode 100644 index 000000000..7bc7bede6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typegroup contains the implementation for the Group type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typegroup diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_pkg.go new file mode 100644 index 000000000..71161f970 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_pkg.go @@ -0,0 +1,228 @@ +// Code generated by astool. DO NOT EDIT. + +package typegroup + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDiscoverablePropertyToot returns the deserialization method + // for the "TootDiscoverableProperty" non-functional property in the + // vocabulary "Toot" + DeserializeDiscoverablePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootDiscoverableProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFeaturedPropertyToot returns the deserialization method for + // the "TootFeaturedProperty" non-functional property in the + // vocabulary "Toot" + DeserializeFeaturedPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootFeaturedProperty, error) + // DeserializeFollowersPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowersProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowersPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowersProperty, error) + // DeserializeFollowingPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowingProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowingPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowingProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInboxProperty, error) + // DeserializeLikedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikedProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOutboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOutboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOutboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOutboxProperty, error) + // DeserializePreferredUsernamePropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsPreferredUsernameProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializePreferredUsernamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreferredUsernameProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublicKeyPropertyW3IDSecurityV1 returns the deserialization + // method for the "W3IDSecurityV1PublicKeyProperty" non-functional + // property in the vocabulary "W3IDSecurityV1" + DeserializePublicKeyPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKeyProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeStreamsPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStreamsProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStreamsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStreamsProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_type_activitystreams_group.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_type_activitystreams_group.go new file mode 100644 index 000000000..7c7e43d02 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_group/gen_type_activitystreams_group.go @@ -0,0 +1,2150 @@ +// Code generated by astool. DO NOT EDIT. + +package typegroup + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a formal or informal collective of Actors. +// +// Example 43 (https://www.w3.org/TR/activitystreams-vocabulary/#ex37-jsonld): +// { +// "name": "Big Beards of Austin", +// "type": "Group" +// } +type ActivityStreamsGroup struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + TootDiscoverable vocab.TootDiscoverableProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + TootFeatured vocab.TootFeaturedProperty + ActivityStreamsFollowers vocab.ActivityStreamsFollowersProperty + ActivityStreamsFollowing vocab.ActivityStreamsFollowingProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInbox vocab.ActivityStreamsInboxProperty + ActivityStreamsLiked vocab.ActivityStreamsLikedProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOutbox vocab.ActivityStreamsOutboxProperty + ActivityStreamsPreferredUsername vocab.ActivityStreamsPreferredUsernameProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + W3IDSecurityV1PublicKey vocab.W3IDSecurityV1PublicKeyProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsStreams vocab.ActivityStreamsStreamsProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsGroupExtends returns true if the Group type extends from the +// other type. +func ActivityStreamsGroupExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeGroup creates a Group from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeGroup(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsGroup, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsGroup{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Group" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Group", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Group" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Group") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDiscoverablePropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootDiscoverable = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFeaturedPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootFeatured = p + } + if p, err := mgr.DeserializeFollowersPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowers = p + } + if p, err := mgr.DeserializeFollowingPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowing = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInbox = p + } + if p, err := mgr.DeserializeLikedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLiked = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOutboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOutbox = p + } + if p, err := mgr.DeserializePreferredUsernamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreferredUsername = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublicKeyPropertyW3IDSecurityV1()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.W3IDSecurityV1PublicKey = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeStreamsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStreams = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "discoverable" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "featured" { + continue + } else if k == "followers" { + continue + } else if k == "following" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "inbox" { + continue + } else if k == "liked" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "outbox" { + continue + } else if k == "preferredUsername" { + continue + } else if k == "preferredUsernameMap" { + continue + } else if k == "preview" { + continue + } else if k == "publicKey" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "streams" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// GroupIsDisjointWith returns true if the other provided type is disjoint with +// the Group type. +func GroupIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// GroupIsExtendedBy returns true if the other provided type extends from the +// Group type. Note that it returns false if the types are the same; see the +// "IsOrExtendsGroup" variant instead. +func GroupIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsGroup returns true if the other provided type is the Group type or +// extends from the Group type. +func IsOrExtendsGroup(other vocab.Type) bool { + if other.GetTypeName() == "Group" { + return true + } + return GroupIsExtendedBy(other) +} + +// NewActivityStreamsGroup creates a new Group type +func NewActivityStreamsGroup() *ActivityStreamsGroup { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Group") + return &ActivityStreamsGroup{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFollowers returns the "followers" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsFollowers() vocab.ActivityStreamsFollowersProperty { + return this.ActivityStreamsFollowers +} + +// GetActivityStreamsFollowing returns the "following" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsFollowing() vocab.ActivityStreamsFollowingProperty { + return this.ActivityStreamsFollowing +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInbox returns the "inbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsInbox() vocab.ActivityStreamsInboxProperty { + return this.ActivityStreamsInbox +} + +// GetActivityStreamsLiked returns the "liked" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsLiked() vocab.ActivityStreamsLikedProperty { + return this.ActivityStreamsLiked +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOutbox returns the "outbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsOutbox() vocab.ActivityStreamsOutboxProperty { + return this.ActivityStreamsOutbox +} + +// GetActivityStreamsPreferredUsername returns the "preferredUsername" property if +// it exists, and nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsPreferredUsername() vocab.ActivityStreamsPreferredUsernameProperty { + return this.ActivityStreamsPreferredUsername +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsStreams returns the "streams" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsStreams() vocab.ActivityStreamsStreamsProperty { + return this.ActivityStreamsStreams +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsGroup) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsGroup) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsGroup) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsGroup) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsGroup) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootDiscoverable returns the "discoverable" property if it exists, and nil +// otherwise. +func (this ActivityStreamsGroup) GetTootDiscoverable() vocab.TootDiscoverableProperty { + return this.TootDiscoverable +} + +// GetTootFeatured returns the "featured" property if it exists, and nil otherwise. +func (this ActivityStreamsGroup) GetTootFeatured() vocab.TootFeaturedProperty { + return this.TootFeatured +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsGroup) GetTypeName() string { + return "Group" +} + +// GetUnknownProperties returns the unknown properties for the Group type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsGroup) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// GetW3IDSecurityV1PublicKey returns the "publicKey" property if it exists, and +// nil otherwise. +func (this ActivityStreamsGroup) GetW3IDSecurityV1PublicKey() vocab.W3IDSecurityV1PublicKeyProperty { + return this.W3IDSecurityV1PublicKey +} + +// IsExtending returns true if the Group type extends from the other type. +func (this ActivityStreamsGroup) IsExtending(other vocab.Type) bool { + return ActivityStreamsGroupExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsGroup) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.TootDiscoverable, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.TootFeatured, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowers, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowing, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsLiked, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOutbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreferredUsername, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.W3IDSecurityV1PublicKey, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsStreams, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Group is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsGroup) LessThan(o vocab.ActivityStreamsGroup) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "discoverable" + if lhs, rhs := this.TootDiscoverable, o.GetTootDiscoverable(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "featured" + if lhs, rhs := this.TootFeatured, o.GetTootFeatured(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "followers" + if lhs, rhs := this.ActivityStreamsFollowers, o.GetActivityStreamsFollowers(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "following" + if lhs, rhs := this.ActivityStreamsFollowing, o.GetActivityStreamsFollowing(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inbox" + if lhs, rhs := this.ActivityStreamsInbox, o.GetActivityStreamsInbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "liked" + if lhs, rhs := this.ActivityStreamsLiked, o.GetActivityStreamsLiked(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "outbox" + if lhs, rhs := this.ActivityStreamsOutbox, o.GetActivityStreamsOutbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preferredUsername" + if lhs, rhs := this.ActivityStreamsPreferredUsername, o.GetActivityStreamsPreferredUsername(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "publicKey" + if lhs, rhs := this.W3IDSecurityV1PublicKey, o.GetW3IDSecurityV1PublicKey(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "streams" + if lhs, rhs := this.ActivityStreamsStreams, o.GetActivityStreamsStreams(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsGroup) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Group" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Group" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "discoverable" + if this.TootDiscoverable != nil { + if i, err := this.TootDiscoverable.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootDiscoverable.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "featured" + if this.TootFeatured != nil { + if i, err := this.TootFeatured.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootFeatured.Name()] = i + } + } + // Maybe serialize property "followers" + if this.ActivityStreamsFollowers != nil { + if i, err := this.ActivityStreamsFollowers.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowers.Name()] = i + } + } + // Maybe serialize property "following" + if this.ActivityStreamsFollowing != nil { + if i, err := this.ActivityStreamsFollowing.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowing.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "inbox" + if this.ActivityStreamsInbox != nil { + if i, err := this.ActivityStreamsInbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInbox.Name()] = i + } + } + // Maybe serialize property "liked" + if this.ActivityStreamsLiked != nil { + if i, err := this.ActivityStreamsLiked.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLiked.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "outbox" + if this.ActivityStreamsOutbox != nil { + if i, err := this.ActivityStreamsOutbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOutbox.Name()] = i + } + } + // Maybe serialize property "preferredUsername" + if this.ActivityStreamsPreferredUsername != nil { + if i, err := this.ActivityStreamsPreferredUsername.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreferredUsername.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "publicKey" + if this.W3IDSecurityV1PublicKey != nil { + if i, err := this.W3IDSecurityV1PublicKey.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.W3IDSecurityV1PublicKey.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "streams" + if this.ActivityStreamsStreams != nil { + if i, err := this.ActivityStreamsStreams.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStreams.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsGroup) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsGroup) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsGroup) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsGroup) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsGroup) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsGroup) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsGroup) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsGroup) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsGroup) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsGroup) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsGroup) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFollowers sets the "followers" property. +func (this *ActivityStreamsGroup) SetActivityStreamsFollowers(i vocab.ActivityStreamsFollowersProperty) { + this.ActivityStreamsFollowers = i +} + +// SetActivityStreamsFollowing sets the "following" property. +func (this *ActivityStreamsGroup) SetActivityStreamsFollowing(i vocab.ActivityStreamsFollowingProperty) { + this.ActivityStreamsFollowing = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsGroup) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsGroup) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsGroup) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsGroup) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInbox sets the "inbox" property. +func (this *ActivityStreamsGroup) SetActivityStreamsInbox(i vocab.ActivityStreamsInboxProperty) { + this.ActivityStreamsInbox = i +} + +// SetActivityStreamsLiked sets the "liked" property. +func (this *ActivityStreamsGroup) SetActivityStreamsLiked(i vocab.ActivityStreamsLikedProperty) { + this.ActivityStreamsLiked = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsGroup) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsGroup) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsGroup) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsGroup) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsGroup) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOutbox sets the "outbox" property. +func (this *ActivityStreamsGroup) SetActivityStreamsOutbox(i vocab.ActivityStreamsOutboxProperty) { + this.ActivityStreamsOutbox = i +} + +// SetActivityStreamsPreferredUsername sets the "preferredUsername" property. +func (this *ActivityStreamsGroup) SetActivityStreamsPreferredUsername(i vocab.ActivityStreamsPreferredUsernameProperty) { + this.ActivityStreamsPreferredUsername = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsGroup) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsGroup) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsGroup) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsGroup) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsGroup) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsGroup) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsStreams sets the "streams" property. +func (this *ActivityStreamsGroup) SetActivityStreamsStreams(i vocab.ActivityStreamsStreamsProperty) { + this.ActivityStreamsStreams = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsGroup) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsGroup) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsGroup) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsGroup) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsGroup) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsGroup) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsGroup) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsGroup) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsGroup) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsGroup) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootDiscoverable sets the "discoverable" property. +func (this *ActivityStreamsGroup) SetTootDiscoverable(i vocab.TootDiscoverableProperty) { + this.TootDiscoverable = i +} + +// SetTootFeatured sets the "featured" property. +func (this *ActivityStreamsGroup) SetTootFeatured(i vocab.TootFeaturedProperty) { + this.TootFeatured = i +} + +// SetW3IDSecurityV1PublicKey sets the "publicKey" property. +func (this *ActivityStreamsGroup) SetW3IDSecurityV1PublicKey(i vocab.W3IDSecurityV1PublicKeyProperty) { + this.W3IDSecurityV1PublicKey = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsGroup) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsGroup) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_doc.go new file mode 100644 index 000000000..0c21393cc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeignore contains the implementation for the Ignore type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeignore diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_pkg.go new file mode 100644 index 000000000..7b6ab2101 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeignore + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_type_activitystreams_ignore.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_type_activitystreams_ignore.go new file mode 100644 index 000000000..85f24e621 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_ignore/gen_type_activitystreams_ignore.go @@ -0,0 +1,1950 @@ +// Code generated by astool. DO NOT EDIT. + +package typeignore + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is ignoring the object. The target and origin +// typically have no defined meaning. +// +// Example 18 (https://www.w3.org/TR/activitystreams-vocabulary/#ex16-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "summary": "Sally ignored a note", +// "type": "Ignore" +// } +type ActivityStreamsIgnore struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsIgnoreExtends returns true if the Ignore type extends from the +// other type. +func ActivityStreamsIgnoreExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeIgnore creates a Ignore from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeIgnore(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsIgnore, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsIgnore{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Ignore" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Ignore", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Ignore" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Ignore") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IgnoreIsDisjointWith returns true if the other provided type is disjoint with +// the Ignore type. +func IgnoreIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// IgnoreIsExtendedBy returns true if the other provided type extends from the +// Ignore type. Note that it returns false if the types are the same; see the +// "IsOrExtendsIgnore" variant instead. +func IgnoreIsExtendedBy(other vocab.Type) bool { + extensions := []string{"Block"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsIgnore returns true if the other provided type is the Ignore type or +// extends from the Ignore type. +func IsOrExtendsIgnore(other vocab.Type) bool { + if other.GetTypeName() == "Ignore" { + return true + } + return IgnoreIsExtendedBy(other) +} + +// NewActivityStreamsIgnore creates a new Ignore type +func NewActivityStreamsIgnore() *ActivityStreamsIgnore { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Ignore") + return &ActivityStreamsIgnore{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIgnore) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsIgnore) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsIgnore) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsIgnore) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsIgnore) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsIgnore) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsIgnore) GetTypeName() string { + return "Ignore" +} + +// GetUnknownProperties returns the unknown properties for the Ignore type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsIgnore) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Ignore type extends from the other type. +func (this ActivityStreamsIgnore) IsExtending(other vocab.Type) bool { + return ActivityStreamsIgnoreExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsIgnore) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Ignore is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsIgnore) LessThan(o vocab.ActivityStreamsIgnore) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsIgnore) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Ignore" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Ignore" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsIgnore) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsIgnore) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsIgnore) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsIgnore) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsIgnore) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsIgnore) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsIgnore) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsIgnore) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_doc.go new file mode 100644 index 000000000..7225f297b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeimage contains the implementation for the Image type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeimage diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_pkg.go new file mode 100644 index 000000000..2525ee058 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_pkg.go @@ -0,0 +1,199 @@ +// Code generated by astool. DO NOT EDIT. + +package typeimage + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBlurhashPropertyToot returns the deserialization method for + // the "TootBlurhashProperty" non-functional property in the + // vocabulary "Toot" + DeserializeBlurhashPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootBlurhashProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeHeightPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHeightProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHeightPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHeightProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) + // DeserializeWidthPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsWidthProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeWidthPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsWidthProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_type_activitystreams_image.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_type_activitystreams_image.go new file mode 100644 index 000000000..47b11ea35 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_image/gen_type_activitystreams_image.go @@ -0,0 +1,1866 @@ +// Code generated by astool. DO NOT EDIT. + +package typeimage + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// An image document of any kind +// +// Example 51 (https://www.w3.org/TR/activitystreams-vocabulary/#ex50-jsonld): +// { +// "name": "Cat Jumping on Wagon", +// "type": "Image", +// "url": [ +// { +// "mediaType": "image/jpeg", +// "type": "Link", +// "url": "http://example.org/image.jpeg" +// }, +// { +// "mediaType": "image/png", +// "type": "Link", +// "url": "http://example.org/image.png" +// } +// ] +// } +type ActivityStreamsImage struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + TootBlurhash vocab.TootBlurhashProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsHeight vocab.ActivityStreamsHeightProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + ActivityStreamsWidth vocab.ActivityStreamsWidthProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsImageExtends returns true if the Image type extends from the +// other type. +func ActivityStreamsImageExtends(other vocab.Type) bool { + extensions := []string{"Document", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeImage creates a Image from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeImage(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsImage, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsImage{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Image" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Image", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Image" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Image") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBlurhashPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootBlurhash = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeHeightPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHeight = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + if p, err := mgr.DeserializeWidthPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsWidth = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "blurhash" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "height" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } else if k == "width" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// ImageIsDisjointWith returns true if the other provided type is disjoint with +// the Image type. +func ImageIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ImageIsExtendedBy returns true if the other provided type extends from the +// Image type. Note that it returns false if the types are the same; see the +// "IsOrExtendsImage" variant instead. +func ImageIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsImage returns true if the other provided type is the Image type or +// extends from the Image type. +func IsOrExtendsImage(other vocab.Type) bool { + if other.GetTypeName() == "Image" { + return true + } + return ImageIsExtendedBy(other) +} + +// NewActivityStreamsImage creates a new Image type +func NewActivityStreamsImage() *ActivityStreamsImage { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Image") + return &ActivityStreamsImage{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsHeight returns the "height" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsHeight() vocab.ActivityStreamsHeightProperty { + return this.ActivityStreamsHeight +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsImage) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetActivityStreamsWidth returns the "width" property if it exists, and nil +// otherwise. +func (this ActivityStreamsImage) GetActivityStreamsWidth() vocab.ActivityStreamsWidthProperty { + return this.ActivityStreamsWidth +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsImage) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsImage) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsImage) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsImage) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsImage) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootBlurhash returns the "blurhash" property if it exists, and nil otherwise. +func (this ActivityStreamsImage) GetTootBlurhash() vocab.TootBlurhashProperty { + return this.TootBlurhash +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsImage) GetTypeName() string { + return "Image" +} + +// GetUnknownProperties returns the unknown properties for the Image type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsImage) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Image type extends from the other type. +func (this ActivityStreamsImage) IsExtending(other vocab.Type) bool { + return ActivityStreamsImageExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsImage) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.TootBlurhash, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsHeight, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + m = this.helperJSONLDContext(this.ActivityStreamsWidth, m) + + return m +} + +// LessThan computes if this Image is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsImage) LessThan(o vocab.ActivityStreamsImage) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "blurhash" + if lhs, rhs := this.TootBlurhash, o.GetTootBlurhash(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "height" + if lhs, rhs := this.ActivityStreamsHeight, o.GetActivityStreamsHeight(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "width" + if lhs, rhs := this.ActivityStreamsWidth, o.GetActivityStreamsWidth(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsImage) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Image" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Image" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "blurhash" + if this.TootBlurhash != nil { + if i, err := this.TootBlurhash.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootBlurhash.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "height" + if this.ActivityStreamsHeight != nil { + if i, err := this.ActivityStreamsHeight.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHeight.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // Maybe serialize property "width" + if this.ActivityStreamsWidth != nil { + if i, err := this.ActivityStreamsWidth.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsWidth.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsImage) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsImage) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsImage) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsImage) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsImage) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsImage) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsImage) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsImage) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsImage) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsImage) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsImage) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsImage) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsHeight sets the "height" property. +func (this *ActivityStreamsImage) SetActivityStreamsHeight(i vocab.ActivityStreamsHeightProperty) { + this.ActivityStreamsHeight = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsImage) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsImage) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsImage) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsImage) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsImage) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsImage) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsImage) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsImage) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsImage) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsImage) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsImage) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsImage) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsImage) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsImage) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsImage) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsImage) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsImage) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsImage) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsImage) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetActivityStreamsWidth sets the "width" property. +func (this *ActivityStreamsImage) SetActivityStreamsWidth(i vocab.ActivityStreamsWidthProperty) { + this.ActivityStreamsWidth = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsImage) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsImage) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsImage) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsImage) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsImage) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootBlurhash sets the "blurhash" property. +func (this *ActivityStreamsImage) SetTootBlurhash(i vocab.TootBlurhashProperty) { + this.TootBlurhash = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsImage) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsImage) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_doc.go new file mode 100644 index 000000000..d38017ec2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeintransitiveactivity contains the implementation for the +// IntransitiveActivity type. All applications are strongly encouraged to use +// the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeintransitiveactivity diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_pkg.go new file mode 100644 index 000000000..a7614d529 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_pkg.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package typeintransitiveactivity + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_type_activitystreams_intransitiveactivity.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_type_activitystreams_intransitiveactivity.go new file mode 100644 index 000000000..1aec4ecb6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity/gen_type_activitystreams_intransitiveactivity.go @@ -0,0 +1,1915 @@ +// Code generated by astool. DO NOT EDIT. + +package typeintransitiveactivity + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Instances of IntransitiveActivity are a subtype of Activity representing +// intransitive actions. The object property is therefore inappropriate for +// these activities. +// +// Example 4 (https://www.w3.org/TR/activitystreams-vocabulary/#ex182-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "summary": "Sally went to work", +// "target": { +// "name": "Work", +// "type": "Place" +// }, +// "type": "Travel" +// } +type ActivityStreamsIntransitiveActivity struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsIntransitiveActivityExtends returns true if the +// IntransitiveActivity type extends from the other type. +func ActivityStreamsIntransitiveActivityExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeIntransitiveActivity creates a IntransitiveActivity from a map +// representation that has been unmarshalled from a text or binary format. +func DeserializeIntransitiveActivity(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsIntransitiveActivity, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsIntransitiveActivity{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "IntransitiveActivity" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "IntransitiveActivity", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "IntransitiveActivity" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "IntransitiveActivity") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IntransitiveActivityIsDisjointWith returns true if the other provided type is +// disjoint with the IntransitiveActivity type. +func IntransitiveActivityIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// IntransitiveActivityIsExtendedBy returns true if the other provided type +// extends from the IntransitiveActivity type. Note that it returns false if +// the types are the same; see the "IsOrExtendsIntransitiveActivity" variant +// instead. +func IntransitiveActivityIsExtendedBy(other vocab.Type) bool { + extensions := []string{"Arrive", "Question", "Travel"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsIntransitiveActivity returns true if the other provided type is the +// IntransitiveActivity type or extends from the IntransitiveActivity type. +func IsOrExtendsIntransitiveActivity(other vocab.Type) bool { + if other.GetTypeName() == "IntransitiveActivity" { + return true + } + return IntransitiveActivityIsExtendedBy(other) +} + +// NewActivityStreamsIntransitiveActivity creates a new IntransitiveActivity type +func NewActivityStreamsIntransitiveActivity() *ActivityStreamsIntransitiveActivity { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("IntransitiveActivity") + return &ActivityStreamsIntransitiveActivity{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsIntransitiveActivity) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsIntransitiveActivity) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsIntransitiveActivity) GetTypeName() string { + return "IntransitiveActivity" +} + +// GetUnknownProperties returns the unknown properties for the +// IntransitiveActivity type. Note that this should not be used by app +// developers. It is only used to help determine which implementation is +// LessThan the other. Developers who are creating a different implementation +// of this type's interface can use this method in their LessThan +// implementation, but routine ActivityPub applications should not use this to +// bypass the code generation tool. +func (this ActivityStreamsIntransitiveActivity) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the IntransitiveActivity type extends from the +// other type. +func (this ActivityStreamsIntransitiveActivity) IsExtending(other vocab.Type) bool { + return ActivityStreamsIntransitiveActivityExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsIntransitiveActivity) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this IntransitiveActivity is lesser, with an arbitrary but +// stable determination. +func (this ActivityStreamsIntransitiveActivity) LessThan(o vocab.ActivityStreamsIntransitiveActivity) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsIntransitiveActivity) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "IntransitiveActivity" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "IntransitiveActivity" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsIntransitiveActivity) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsIntransitiveActivity) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsIntransitiveActivity) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsIntransitiveActivity) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsIntransitiveActivity) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsIntransitiveActivity) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsIntransitiveActivity) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsIntransitiveActivity) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_doc.go new file mode 100644 index 000000000..2bc79acc6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeinvite contains the implementation for the Invite type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeinvite diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_pkg.go new file mode 100644 index 000000000..e87d031e5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeinvite + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_type_activitystreams_invite.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_type_activitystreams_invite.go new file mode 100644 index 000000000..d88924759 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_invite/gen_type_activitystreams_invite.go @@ -0,0 +1,1958 @@ +// Code generated by astool. DO NOT EDIT. + +package typeinvite + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A specialization of Offer in which the actor is extending an invitation for the +// object to the target. +// +// Example 24 (https://www.w3.org/TR/activitystreams-vocabulary/#ex24-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A Party", +// "type": "Event" +// }, +// "summary": "Sally invited John and Lisa to a party", +// "target": [ +// { +// "name": "John", +// "type": "Person" +// }, +// { +// "name": "Lisa", +// "type": "Person" +// } +// ], +// "type": "Invite" +// } +type ActivityStreamsInvite struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsInviteExtends returns true if the Invite type extends from the +// other type. +func ActivityStreamsInviteExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object", "Offer"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeInvite creates a Invite from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeInvite(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsInvite, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsInvite{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Invite" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Invite", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Invite" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Invite") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// InviteIsDisjointWith returns true if the other provided type is disjoint with +// the Invite type. +func InviteIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// InviteIsExtendedBy returns true if the other provided type extends from the +// Invite type. Note that it returns false if the types are the same; see the +// "IsOrExtendsInvite" variant instead. +func InviteIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsInvite returns true if the other provided type is the Invite type or +// extends from the Invite type. +func IsOrExtendsInvite(other vocab.Type) bool { + if other.GetTypeName() == "Invite" { + return true + } + return InviteIsExtendedBy(other) +} + +// NewActivityStreamsInvite creates a new Invite type +func NewActivityStreamsInvite() *ActivityStreamsInvite { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Invite") + return &ActivityStreamsInvite{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsInvite) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsInvite) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsInvite) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsInvite) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsInvite) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsInvite) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsInvite) GetTypeName() string { + return "Invite" +} + +// GetUnknownProperties returns the unknown properties for the Invite type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsInvite) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Invite type extends from the other type. +func (this ActivityStreamsInvite) IsExtending(other vocab.Type) bool { + return ActivityStreamsInviteExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsInvite) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Invite is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsInvite) LessThan(o vocab.ActivityStreamsInvite) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsInvite) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Invite" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Invite" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsInvite) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsInvite) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsInvite) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsInvite) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsInvite) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsInvite) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsInvite) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsInvite) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsInvite) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsInvite) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsInvite) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsInvite) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsInvite) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsInvite) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsInvite) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsInvite) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsInvite) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsInvite) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsInvite) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsInvite) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsInvite) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsInvite) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsInvite) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsInvite) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsInvite) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsInvite) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsInvite) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsInvite) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsInvite) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsInvite) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsInvite) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsInvite) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsInvite) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsInvite) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsInvite) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsInvite) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsInvite) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsInvite) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsInvite) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsInvite) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsInvite) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsInvite) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsInvite) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_doc.go new file mode 100644 index 000000000..fce28e4c3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typejoin contains the implementation for the Join type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typejoin diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_pkg.go new file mode 100644 index 000000000..20b91a598 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typejoin + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_type_activitystreams_join.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_type_activitystreams_join.go new file mode 100644 index 000000000..3699bee8a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_join/gen_type_activitystreams_join.go @@ -0,0 +1,1948 @@ +// Code generated by astool. DO NOT EDIT. + +package typejoin + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has joined the object. The target and origin typically +// have no defined meaning. +// +// Example 19 (https://www.w3.org/TR/activitystreams-vocabulary/#ex17-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A Simple Group", +// "type": "Group" +// }, +// "summary": "Sally joined a group", +// "type": "Join" +// } +type ActivityStreamsJoin struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsJoinExtends returns true if the Join type extends from the other +// type. +func ActivityStreamsJoinExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeJoin creates a Join from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeJoin(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsJoin, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsJoin{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Join" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Join", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Join" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Join") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsJoin returns true if the other provided type is the Join type or +// extends from the Join type. +func IsOrExtendsJoin(other vocab.Type) bool { + if other.GetTypeName() == "Join" { + return true + } + return JoinIsExtendedBy(other) +} + +// JoinIsDisjointWith returns true if the other provided type is disjoint with the +// Join type. +func JoinIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// JoinIsExtendedBy returns true if the other provided type extends from the Join +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsJoin" variant instead. +func JoinIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// NewActivityStreamsJoin creates a new Join type +func NewActivityStreamsJoin() *ActivityStreamsJoin { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Join") + return &ActivityStreamsJoin{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsJoin) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsJoin) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsJoin) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsJoin) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsJoin) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsJoin) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsJoin) GetTypeName() string { + return "Join" +} + +// GetUnknownProperties returns the unknown properties for the Join type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsJoin) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Join type extends from the other type. +func (this ActivityStreamsJoin) IsExtending(other vocab.Type) bool { + return ActivityStreamsJoinExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsJoin) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Join is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsJoin) LessThan(o vocab.ActivityStreamsJoin) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsJoin) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Join" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Join" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsJoin) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsJoin) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsJoin) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsJoin) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsJoin) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsJoin) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsJoin) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsJoin) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsJoin) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsJoin) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsJoin) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsJoin) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsJoin) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsJoin) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsJoin) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsJoin) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsJoin) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsJoin) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsJoin) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsJoin) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsJoin) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsJoin) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsJoin) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsJoin) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsJoin) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsJoin) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsJoin) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsJoin) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsJoin) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsJoin) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsJoin) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsJoin) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsJoin) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsJoin) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsJoin) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsJoin) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsJoin) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsJoin) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsJoin) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsJoin) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsJoin) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsJoin) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsJoin) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_doc.go new file mode 100644 index 000000000..9d5633e39 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeleave contains the implementation for the Leave type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeleave diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_pkg.go new file mode 100644 index 000000000..1d646e299 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeleave + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_type_activitystreams_leave.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_type_activitystreams_leave.go new file mode 100644 index 000000000..bbcbb93e0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_leave/gen_type_activitystreams_leave.go @@ -0,0 +1,1962 @@ +// Code generated by astool. DO NOT EDIT. + +package typeleave + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has left the object. The target and origin typically +// have no meaning. +// +// Example 20 (https://www.w3.org/TR/activitystreams-vocabulary/#ex18-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "Work", +// "type": "Place" +// }, +// "summary": "Sally left work", +// "type": "Leave" +// } +// +// Example 21 (https://www.w3.org/TR/activitystreams-vocabulary/#ex19-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A Simple Group", +// "type": "Group" +// }, +// "summary": "Sally left a group", +// "type": "Leave" +// } +type ActivityStreamsLeave struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsLeaveExtends returns true if the Leave type extends from the +// other type. +func ActivityStreamsLeaveExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeLeave creates a Leave from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeLeave(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsLeave, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsLeave{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Leave" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Leave", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Leave" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Leave") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsLeave returns true if the other provided type is the Leave type or +// extends from the Leave type. +func IsOrExtendsLeave(other vocab.Type) bool { + if other.GetTypeName() == "Leave" { + return true + } + return LeaveIsExtendedBy(other) +} + +// LeaveIsDisjointWith returns true if the other provided type is disjoint with +// the Leave type. +func LeaveIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// LeaveIsExtendedBy returns true if the other provided type extends from the +// Leave type. Note that it returns false if the types are the same; see the +// "IsOrExtendsLeave" variant instead. +func LeaveIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// NewActivityStreamsLeave creates a new Leave type +func NewActivityStreamsLeave() *ActivityStreamsLeave { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Leave") + return &ActivityStreamsLeave{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLeave) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsLeave) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsLeave) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsLeave) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsLeave) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsLeave) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsLeave) GetTypeName() string { + return "Leave" +} + +// GetUnknownProperties returns the unknown properties for the Leave type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsLeave) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Leave type extends from the other type. +func (this ActivityStreamsLeave) IsExtending(other vocab.Type) bool { + return ActivityStreamsLeaveExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsLeave) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Leave is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsLeave) LessThan(o vocab.ActivityStreamsLeave) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsLeave) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Leave" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Leave" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsLeave) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsLeave) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsLeave) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsLeave) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsLeave) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsLeave) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsLeave) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsLeave) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsLeave) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsLeave) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsLeave) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsLeave) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsLeave) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsLeave) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsLeave) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsLeave) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsLeave) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsLeave) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsLeave) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsLeave) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsLeave) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsLeave) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsLeave) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsLeave) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsLeave) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsLeave) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsLeave) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsLeave) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsLeave) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsLeave) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsLeave) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsLeave) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsLeave) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsLeave) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsLeave) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsLeave) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsLeave) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsLeave) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsLeave) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsLeave) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsLeave) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsLeave) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsLeave) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_doc.go new file mode 100644 index 000000000..6e51d66d8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typelike contains the implementation for the Like type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typelike diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_pkg.go new file mode 100644 index 000000000..2a3a9902a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typelike + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_type_activitystreams_like.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_type_activitystreams_like.go new file mode 100644 index 000000000..c78004d32 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_like/gen_type_activitystreams_like.go @@ -0,0 +1,1945 @@ +// Code generated by astool. DO NOT EDIT. + +package typelike + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor likes, recommends or endorses the object. The target +// and origin typically have no defined meaning. +// +// Example 22 (https://www.w3.org/TR/activitystreams-vocabulary/#ex20-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "summary": "Sally liked a note", +// "type": "Like" +// } +type ActivityStreamsLike struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsLikeExtends returns true if the Like type extends from the other +// type. +func ActivityStreamsLikeExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeLike creates a Like from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeLike(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsLike, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsLike{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Like" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Like", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Like" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Like") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsLike returns true if the other provided type is the Like type or +// extends from the Like type. +func IsOrExtendsLike(other vocab.Type) bool { + if other.GetTypeName() == "Like" { + return true + } + return LikeIsExtendedBy(other) +} + +// LikeIsDisjointWith returns true if the other provided type is disjoint with the +// Like type. +func LikeIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// LikeIsExtendedBy returns true if the other provided type extends from the Like +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsLike" variant instead. +func LikeIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// NewActivityStreamsLike creates a new Like type +func NewActivityStreamsLike() *ActivityStreamsLike { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Like") + return &ActivityStreamsLike{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsLike) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLike) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsLike) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsLike) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsLike) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsLike) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsLike) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsLike) GetTypeName() string { + return "Like" +} + +// GetUnknownProperties returns the unknown properties for the Like type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsLike) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Like type extends from the other type. +func (this ActivityStreamsLike) IsExtending(other vocab.Type) bool { + return ActivityStreamsLikeExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsLike) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Like is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsLike) LessThan(o vocab.ActivityStreamsLike) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsLike) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Like" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Like" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsLike) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsLike) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsLike) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsLike) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsLike) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsLike) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsLike) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsLike) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsLike) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsLike) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsLike) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsLike) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsLike) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsLike) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsLike) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsLike) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsLike) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsLike) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsLike) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsLike) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsLike) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsLike) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsLike) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsLike) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsLike) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsLike) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsLike) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsLike) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsLike) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsLike) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsLike) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsLike) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsLike) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsLike) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsLike) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsLike) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsLike) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsLike) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsLike) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsLike) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsLike) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsLike) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsLike) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_doc.go new file mode 100644 index 000000000..23bb10622 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typelink contains the implementation for the Link type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typelink diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_pkg.go new file mode 100644 index 000000000..61d2ba834 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_pkg.go @@ -0,0 +1,91 @@ +// Code generated by astool. DO NOT EDIT. + +package typelink + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeHeightPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHeightProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHeightPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHeightProperty, error) + // DeserializeHrefPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHrefProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHrefPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHrefProperty, error) + // DeserializeHreflangPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHreflangProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHreflangPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHreflangProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializeRelPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRelProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeRelPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeWidthPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsWidthProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeWidthPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsWidthProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_type_activitystreams_link.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_type_activitystreams_link.go new file mode 100644 index 000000000..ffb6912b2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_link/gen_type_activitystreams_link.go @@ -0,0 +1,731 @@ +// Code generated by astool. DO NOT EDIT. + +package typelink + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A Link is an indirect, qualified reference to a resource identified by a URL. +// The fundamental model for links is established by [RFC5988]. Many of the +// properties defined by the Activity Vocabulary allow values that are either +// instances of Object or Link. When a Link is used, it establishes a +// qualified relation connecting the subject (the containing object) to the +// resource identified by the href. Properties of the Link are properties of +// the reference as opposed to properties of the resource. +// +// Example 2 (https://www.w3.org/TR/activitystreams-vocabulary/#ex2-jsonld): +// { +// "hreflang": "en", +// "mediaType": "text/html", +// "name": "An example link", +// "type": "Link", +// "url": "http://example.org/abc" +// } +type ActivityStreamsLink struct { + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsHeight vocab.ActivityStreamsHeightProperty + ActivityStreamsHref vocab.ActivityStreamsHrefProperty + ActivityStreamsHreflang vocab.ActivityStreamsHreflangProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsRel vocab.ActivityStreamsRelProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsWidth vocab.ActivityStreamsWidthProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsLinkExtends returns true if the Link type extends from the other +// type. +func ActivityStreamsLinkExtends(other vocab.Type) bool { + // Shortcut implementation: this does not extend anything. + return false +} + +// DeserializeLink creates a Link from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeLink(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsLink, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsLink{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Link" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Link", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Link" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Link") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeHeightPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHeight = p + } + if p, err := mgr.DeserializeHrefPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHref = p + } + if p, err := mgr.DeserializeHreflangPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHreflang = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializeRelPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsRel = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeWidthPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsWidth = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "attributedTo" { + continue + } else if k == "height" { + continue + } else if k == "href" { + continue + } else if k == "hreflang" { + continue + } else if k == "id" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "preview" { + continue + } else if k == "rel" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "type" { + continue + } else if k == "width" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsLink returns true if the other provided type is the Link type or +// extends from the Link type. +func IsOrExtendsLink(other vocab.Type) bool { + if other.GetTypeName() == "Link" { + return true + } + return LinkIsExtendedBy(other) +} + +// LinkIsDisjointWith returns true if the other provided type is disjoint with the +// Link type. +func LinkIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Accept", "Activity", "Add", "Announce", "Application", "Arrive", "Article", "Audio", "Block", "Branch", "Collection", "CollectionPage", "Commit", "Create", "Delete", "Dislike", "Document", "Emoji", "Event", "Flag", "Follow", "Group", "IdentityProof", "Ignore", "Image", "IntransitiveActivity", "Invite", "Join", "Leave", "Like", "Listen", "Move", "Note", "Object", "Offer", "OrderedCollection", "OrderedCollectionPage", "OrderedCollectionPage", "Organization", "Page", "Person", "Place", "Profile", "Push", "Question", "Read", "Reject", "Relationship", "Remove", "Repository", "Service", "TentativeAccept", "TentativeReject", "Ticket", "TicketDependency", "Tombstone", "Travel", "Undo", "Update", "Video", "View"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// LinkIsExtendedBy returns true if the other provided type extends from the Link +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsLink" variant instead. +func LinkIsExtendedBy(other vocab.Type) bool { + extensions := []string{"Mention"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// NewActivityStreamsLink creates a new Link type +func NewActivityStreamsLink() *ActivityStreamsLink { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Link") + return &ActivityStreamsLink{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsLink) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsHeight returns the "height" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLink) GetActivityStreamsHeight() vocab.ActivityStreamsHeightProperty { + return this.ActivityStreamsHeight +} + +// GetActivityStreamsHref returns the "href" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLink) GetActivityStreamsHref() vocab.ActivityStreamsHrefProperty { + return this.ActivityStreamsHref +} + +// GetActivityStreamsHreflang returns the "hreflang" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLink) GetActivityStreamsHreflang() vocab.ActivityStreamsHreflangProperty { + return this.ActivityStreamsHreflang +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsLink) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLink) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLink) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsRel returns the "rel" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLink) GetActivityStreamsRel() vocab.ActivityStreamsRelProperty { + return this.ActivityStreamsRel +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLink) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsWidth returns the "width" property if it exists, and nil +// otherwise. +func (this ActivityStreamsLink) GetActivityStreamsWidth() vocab.ActivityStreamsWidthProperty { + return this.ActivityStreamsWidth +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsLink) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsLink) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsLink) GetTypeName() string { + return "Link" +} + +// GetUnknownProperties returns the unknown properties for the Link type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsLink) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Link type extends from the other type. +func (this ActivityStreamsLink) IsExtending(other vocab.Type) bool { + return ActivityStreamsLinkExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsLink) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsHeight, m) + m = this.helperJSONLDContext(this.ActivityStreamsHref, m) + m = this.helperJSONLDContext(this.ActivityStreamsHreflang, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsRel, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsWidth, m) + + return m +} + +// LessThan computes if this Link is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsLink) LessThan(o vocab.ActivityStreamsLink) bool { + // Begin: Compare known properties + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "height" + if lhs, rhs := this.ActivityStreamsHeight, o.GetActivityStreamsHeight(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "href" + if lhs, rhs := this.ActivityStreamsHref, o.GetActivityStreamsHref(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "hreflang" + if lhs, rhs := this.ActivityStreamsHreflang, o.GetActivityStreamsHreflang(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "rel" + if lhs, rhs := this.ActivityStreamsRel, o.GetActivityStreamsRel(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "width" + if lhs, rhs := this.ActivityStreamsWidth, o.GetActivityStreamsWidth(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsLink) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Link" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Link" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "height" + if this.ActivityStreamsHeight != nil { + if i, err := this.ActivityStreamsHeight.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHeight.Name()] = i + } + } + // Maybe serialize property "href" + if this.ActivityStreamsHref != nil { + if i, err := this.ActivityStreamsHref.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHref.Name()] = i + } + } + // Maybe serialize property "hreflang" + if this.ActivityStreamsHreflang != nil { + if i, err := this.ActivityStreamsHreflang.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHreflang.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "rel" + if this.ActivityStreamsRel != nil { + if i, err := this.ActivityStreamsRel.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsRel.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "width" + if this.ActivityStreamsWidth != nil { + if i, err := this.ActivityStreamsWidth.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsWidth.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsLink) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsHeight sets the "height" property. +func (this *ActivityStreamsLink) SetActivityStreamsHeight(i vocab.ActivityStreamsHeightProperty) { + this.ActivityStreamsHeight = i +} + +// SetActivityStreamsHref sets the "href" property. +func (this *ActivityStreamsLink) SetActivityStreamsHref(i vocab.ActivityStreamsHrefProperty) { + this.ActivityStreamsHref = i +} + +// SetActivityStreamsHreflang sets the "hreflang" property. +func (this *ActivityStreamsLink) SetActivityStreamsHreflang(i vocab.ActivityStreamsHreflangProperty) { + this.ActivityStreamsHreflang = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsLink) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsLink) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsLink) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsRel sets the "rel" property. +func (this *ActivityStreamsLink) SetActivityStreamsRel(i vocab.ActivityStreamsRelProperty) { + this.ActivityStreamsRel = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsLink) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsWidth sets the "width" property. +func (this *ActivityStreamsLink) SetActivityStreamsWidth(i vocab.ActivityStreamsWidthProperty) { + this.ActivityStreamsWidth = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsLink) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsLink) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsLink) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsLink) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_doc.go new file mode 100644 index 000000000..480e1e384 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typelisten contains the implementation for the Listen type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typelisten diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_pkg.go new file mode 100644 index 000000000..567b1cc81 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typelisten + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_type_activitystreams_listen.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_type_activitystreams_listen.go new file mode 100644 index 000000000..ed69b2162 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_listen/gen_type_activitystreams_listen.go @@ -0,0 +1,1944 @@ +// Code generated by astool. DO NOT EDIT. + +package typelisten + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has listened to the object. +// +// Example 32 (https://www.w3.org/TR/activitystreams-vocabulary/#ex163-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/music.mp3", +// "summary": "Sally listened to a piece of music", +// "type": "Listen" +// } +type ActivityStreamsListen struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsListenExtends returns true if the Listen type extends from the +// other type. +func ActivityStreamsListenExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeListen creates a Listen from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeListen(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsListen, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsListen{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Listen" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Listen", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Listen" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Listen") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsListen returns true if the other provided type is the Listen type or +// extends from the Listen type. +func IsOrExtendsListen(other vocab.Type) bool { + if other.GetTypeName() == "Listen" { + return true + } + return ListenIsExtendedBy(other) +} + +// ListenIsDisjointWith returns true if the other provided type is disjoint with +// the Listen type. +func ListenIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ListenIsExtendedBy returns true if the other provided type extends from the +// Listen type. Note that it returns false if the types are the same; see the +// "IsOrExtendsListen" variant instead. +func ListenIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// NewActivityStreamsListen creates a new Listen type +func NewActivityStreamsListen() *ActivityStreamsListen { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Listen") + return &ActivityStreamsListen{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsListen) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsListen) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsListen) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsListen) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsListen) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsListen) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsListen) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsListen) GetTypeName() string { + return "Listen" +} + +// GetUnknownProperties returns the unknown properties for the Listen type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsListen) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Listen type extends from the other type. +func (this ActivityStreamsListen) IsExtending(other vocab.Type) bool { + return ActivityStreamsListenExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsListen) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Listen is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsListen) LessThan(o vocab.ActivityStreamsListen) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsListen) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Listen" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Listen" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsListen) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsListen) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsListen) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsListen) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsListen) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsListen) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsListen) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsListen) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsListen) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsListen) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsListen) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsListen) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsListen) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsListen) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsListen) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsListen) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsListen) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsListen) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsListen) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsListen) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsListen) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsListen) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsListen) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsListen) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsListen) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsListen) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsListen) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsListen) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsListen) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsListen) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsListen) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsListen) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsListen) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsListen) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsListen) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsListen) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsListen) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsListen) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsListen) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsListen) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsListen) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsListen) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsListen) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_doc.go new file mode 100644 index 000000000..6e0f5fa5b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typemention contains the implementation for the Mention type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typemention diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_pkg.go new file mode 100644 index 000000000..037dbe0b1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_pkg.go @@ -0,0 +1,91 @@ +// Code generated by astool. DO NOT EDIT. + +package typemention + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeHeightPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHeightProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHeightPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHeightProperty, error) + // DeserializeHrefPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHrefProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHrefPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHrefProperty, error) + // DeserializeHreflangPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHreflangProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHreflangPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHreflangProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializeRelPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRelProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeRelPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeWidthPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsWidthProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeWidthPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsWidthProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_type_activitystreams_mention.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_type_activitystreams_mention.go new file mode 100644 index 000000000..80ff63bed --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_mention/gen_type_activitystreams_mention.go @@ -0,0 +1,724 @@ +// Code generated by astool. DO NOT EDIT. + +package typemention + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A specialized Link that represents an @mention. +// +// Example 58 (https://www.w3.org/TR/activitystreams-vocabulary/#ex181-jsonld): +// { +// "name": "Joe", +// "summary": "Mention of Joe by Carrie in her note", +// "type": "Mention", +// "url": "http://example.org/joe" +// } +type ActivityStreamsMention struct { + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsHeight vocab.ActivityStreamsHeightProperty + ActivityStreamsHref vocab.ActivityStreamsHrefProperty + ActivityStreamsHreflang vocab.ActivityStreamsHreflangProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsRel vocab.ActivityStreamsRelProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsWidth vocab.ActivityStreamsWidthProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsMentionExtends returns true if the Mention type extends from the +// other type. +func ActivityStreamsMentionExtends(other vocab.Type) bool { + extensions := []string{"Link"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeMention creates a Mention from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeMention(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsMention, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsMention{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Mention" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Mention", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Mention" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Mention") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeHeightPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHeight = p + } + if p, err := mgr.DeserializeHrefPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHref = p + } + if p, err := mgr.DeserializeHreflangPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHreflang = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializeRelPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsRel = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeWidthPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsWidth = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "attributedTo" { + continue + } else if k == "height" { + continue + } else if k == "href" { + continue + } else if k == "hreflang" { + continue + } else if k == "id" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "preview" { + continue + } else if k == "rel" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "type" { + continue + } else if k == "width" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsMention returns true if the other provided type is the Mention type +// or extends from the Mention type. +func IsOrExtendsMention(other vocab.Type) bool { + if other.GetTypeName() == "Mention" { + return true + } + return MentionIsExtendedBy(other) +} + +// MentionIsDisjointWith returns true if the other provided type is disjoint with +// the Mention type. +func MentionIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Accept", "Activity", "Add", "Announce", "Application", "Arrive", "Article", "Audio", "Block", "Branch", "Collection", "CollectionPage", "Commit", "Create", "Delete", "Dislike", "Document", "Emoji", "Event", "Flag", "Follow", "Group", "IdentityProof", "Ignore", "Image", "IntransitiveActivity", "Invite", "Join", "Leave", "Like", "Listen", "Move", "Note", "Object", "Offer", "OrderedCollection", "OrderedCollectionPage", "OrderedCollectionPage", "Organization", "Page", "Person", "Place", "Profile", "Push", "Question", "Read", "Reject", "Relationship", "Remove", "Repository", "Service", "TentativeAccept", "TentativeReject", "Ticket", "TicketDependency", "Tombstone", "Travel", "Undo", "Update", "Video", "View"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// MentionIsExtendedBy returns true if the other provided type extends from the +// Mention type. Note that it returns false if the types are the same; see the +// "IsOrExtendsMention" variant instead. +func MentionIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// NewActivityStreamsMention creates a new Mention type +func NewActivityStreamsMention() *ActivityStreamsMention { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Mention") + return &ActivityStreamsMention{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsMention) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsHeight returns the "height" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMention) GetActivityStreamsHeight() vocab.ActivityStreamsHeightProperty { + return this.ActivityStreamsHeight +} + +// GetActivityStreamsHref returns the "href" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMention) GetActivityStreamsHref() vocab.ActivityStreamsHrefProperty { + return this.ActivityStreamsHref +} + +// GetActivityStreamsHreflang returns the "hreflang" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMention) GetActivityStreamsHreflang() vocab.ActivityStreamsHreflangProperty { + return this.ActivityStreamsHreflang +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMention) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMention) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMention) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsRel returns the "rel" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMention) GetActivityStreamsRel() vocab.ActivityStreamsRelProperty { + return this.ActivityStreamsRel +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMention) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsWidth returns the "width" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMention) GetActivityStreamsWidth() vocab.ActivityStreamsWidthProperty { + return this.ActivityStreamsWidth +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsMention) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsMention) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsMention) GetTypeName() string { + return "Mention" +} + +// GetUnknownProperties returns the unknown properties for the Mention type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsMention) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Mention type extends from the other type. +func (this ActivityStreamsMention) IsExtending(other vocab.Type) bool { + return ActivityStreamsMentionExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsMention) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsHeight, m) + m = this.helperJSONLDContext(this.ActivityStreamsHref, m) + m = this.helperJSONLDContext(this.ActivityStreamsHreflang, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsRel, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsWidth, m) + + return m +} + +// LessThan computes if this Mention is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsMention) LessThan(o vocab.ActivityStreamsMention) bool { + // Begin: Compare known properties + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "height" + if lhs, rhs := this.ActivityStreamsHeight, o.GetActivityStreamsHeight(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "href" + if lhs, rhs := this.ActivityStreamsHref, o.GetActivityStreamsHref(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "hreflang" + if lhs, rhs := this.ActivityStreamsHreflang, o.GetActivityStreamsHreflang(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "rel" + if lhs, rhs := this.ActivityStreamsRel, o.GetActivityStreamsRel(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "width" + if lhs, rhs := this.ActivityStreamsWidth, o.GetActivityStreamsWidth(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsMention) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Mention" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Mention" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "height" + if this.ActivityStreamsHeight != nil { + if i, err := this.ActivityStreamsHeight.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHeight.Name()] = i + } + } + // Maybe serialize property "href" + if this.ActivityStreamsHref != nil { + if i, err := this.ActivityStreamsHref.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHref.Name()] = i + } + } + // Maybe serialize property "hreflang" + if this.ActivityStreamsHreflang != nil { + if i, err := this.ActivityStreamsHreflang.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHreflang.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "rel" + if this.ActivityStreamsRel != nil { + if i, err := this.ActivityStreamsRel.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsRel.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "width" + if this.ActivityStreamsWidth != nil { + if i, err := this.ActivityStreamsWidth.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsWidth.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsMention) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsHeight sets the "height" property. +func (this *ActivityStreamsMention) SetActivityStreamsHeight(i vocab.ActivityStreamsHeightProperty) { + this.ActivityStreamsHeight = i +} + +// SetActivityStreamsHref sets the "href" property. +func (this *ActivityStreamsMention) SetActivityStreamsHref(i vocab.ActivityStreamsHrefProperty) { + this.ActivityStreamsHref = i +} + +// SetActivityStreamsHreflang sets the "hreflang" property. +func (this *ActivityStreamsMention) SetActivityStreamsHreflang(i vocab.ActivityStreamsHreflangProperty) { + this.ActivityStreamsHreflang = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsMention) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsMention) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsMention) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsRel sets the "rel" property. +func (this *ActivityStreamsMention) SetActivityStreamsRel(i vocab.ActivityStreamsRelProperty) { + this.ActivityStreamsRel = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsMention) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsWidth sets the "width" property. +func (this *ActivityStreamsMention) SetActivityStreamsWidth(i vocab.ActivityStreamsWidthProperty) { + this.ActivityStreamsWidth = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsMention) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsMention) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsMention) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsMention) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_doc.go new file mode 100644 index 000000000..f5409ea00 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typemove contains the implementation for the Move type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typemove diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_pkg.go new file mode 100644 index 000000000..6873913bc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typemove + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_type_activitystreams_move.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_type_activitystreams_move.go new file mode 100644 index 000000000..8072b87ae --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_move/gen_type_activitystreams_move.go @@ -0,0 +1,1953 @@ +// Code generated by astool. DO NOT EDIT. + +package typemove + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has moved object from origin to target. If the origin +// or target are not specified, either can be determined by context. +// +// Example 34 (https://www.w3.org/TR/activitystreams-vocabulary/#ex168-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/posts/1", +// "origin": { +// "name": "List A", +// "type": "Collection" +// }, +// "summary": "Sally moved a post from List A to List B", +// "target": { +// "name": "List B", +// "type": "Collection" +// }, +// "type": "Move" +// } +type ActivityStreamsMove struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsMoveExtends returns true if the Move type extends from the other +// type. +func ActivityStreamsMoveExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeMove creates a Move from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeMove(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsMove, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsMove{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Move" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Move", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Move" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Move") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsMove returns true if the other provided type is the Move type or +// extends from the Move type. +func IsOrExtendsMove(other vocab.Type) bool { + if other.GetTypeName() == "Move" { + return true + } + return MoveIsExtendedBy(other) +} + +// MoveIsDisjointWith returns true if the other provided type is disjoint with the +// Move type. +func MoveIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// MoveIsExtendedBy returns true if the other provided type extends from the Move +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsMove" variant instead. +func MoveIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// NewActivityStreamsMove creates a new Move type +func NewActivityStreamsMove() *ActivityStreamsMove { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Move") + return &ActivityStreamsMove{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsMove) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsMove) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsMove) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsMove) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsMove) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsMove) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsMove) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsMove) GetTypeName() string { + return "Move" +} + +// GetUnknownProperties returns the unknown properties for the Move type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsMove) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Move type extends from the other type. +func (this ActivityStreamsMove) IsExtending(other vocab.Type) bool { + return ActivityStreamsMoveExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsMove) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Move is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsMove) LessThan(o vocab.ActivityStreamsMove) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsMove) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Move" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Move" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsMove) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsMove) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsMove) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsMove) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsMove) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsMove) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsMove) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsMove) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsMove) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsMove) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsMove) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsMove) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsMove) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsMove) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsMove) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsMove) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsMove) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsMove) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsMove) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsMove) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsMove) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsMove) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsMove) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsMove) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsMove) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsMove) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsMove) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsMove) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsMove) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsMove) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsMove) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsMove) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsMove) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsMove) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsMove) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsMove) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsMove) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsMove) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsMove) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsMove) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsMove) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsMove) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsMove) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_doc.go new file mode 100644 index 000000000..70354bba8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typenote contains the implementation for the Note type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typenote diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_pkg.go new file mode 100644 index 000000000..3ccfdd6a1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_pkg.go @@ -0,0 +1,187 @@ +// Code generated by astool. DO NOT EDIT. + +package typenote + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_type_activitystreams_note.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_type_activitystreams_note.go new file mode 100644 index 000000000..075960d5d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_note/gen_type_activitystreams_note.go @@ -0,0 +1,1731 @@ +// Code generated by astool. DO NOT EDIT. + +package typenote + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a short written work typically less than a single paragraph in +// length. +// +// Example 53 (https://www.w3.org/TR/activitystreams-vocabulary/#ex52-jsonld): +// { +// "content": "Looks like it is going to rain today. Bring an umbrella!", +// "name": "A Word of Warning", +// "type": "Note" +// } +type ActivityStreamsNote struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsNoteExtends returns true if the Note type extends from the other +// type. +func ActivityStreamsNoteExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeNote creates a Note from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeNote(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsNote, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsNote{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Note" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Note", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Note" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Note") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsNote returns true if the other provided type is the Note type or +// extends from the Note type. +func IsOrExtendsNote(other vocab.Type) bool { + if other.GetTypeName() == "Note" { + return true + } + return NoteIsExtendedBy(other) +} + +// NewActivityStreamsNote creates a new Note type +func NewActivityStreamsNote() *ActivityStreamsNote { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Note") + return &ActivityStreamsNote{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// NoteIsDisjointWith returns true if the other provided type is disjoint with the +// Note type. +func NoteIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// NoteIsExtendedBy returns true if the other provided type extends from the Note +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsNote" variant instead. +func NoteIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsNote) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsNote) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsNote) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsNote) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsNote) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsNote) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsNote) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsNote) GetTypeName() string { + return "Note" +} + +// GetUnknownProperties returns the unknown properties for the Note type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsNote) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Note type extends from the other type. +func (this ActivityStreamsNote) IsExtending(other vocab.Type) bool { + return ActivityStreamsNoteExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsNote) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Note is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsNote) LessThan(o vocab.ActivityStreamsNote) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsNote) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Note" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Note" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsNote) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsNote) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsNote) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsNote) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsNote) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsNote) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsNote) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsNote) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsNote) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsNote) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsNote) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsNote) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsNote) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsNote) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsNote) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsNote) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsNote) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsNote) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsNote) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsNote) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsNote) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsNote) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsNote) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsNote) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsNote) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsNote) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsNote) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsNote) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsNote) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsNote) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsNote) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsNote) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsNote) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsNote) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsNote) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsNote) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsNote) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsNote) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_doc.go new file mode 100644 index 000000000..e49c55cd0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeobject contains the implementation for the Object type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeobject diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_pkg.go new file mode 100644 index 000000000..da2a6e43f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_pkg.go @@ -0,0 +1,187 @@ +// Code generated by astool. DO NOT EDIT. + +package typeobject + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_type_activitystreams_object.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_type_activitystreams_object.go new file mode 100644 index 000000000..ee0815694 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_object/gen_type_activitystreams_object.go @@ -0,0 +1,1733 @@ +// Code generated by astool. DO NOT EDIT. + +package typeobject + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Describes an object of any kind. The Object type serves as the base type for +// most of the other kinds of objects defined in the Activity Vocabulary, +// including other Core types such as Activity, IntransitiveActivity, +// Collection and OrderedCollection. +// +// Example 1 (https://www.w3.org/TR/activitystreams-vocabulary/#ex1-jsonld): +// { +// "id": "http://www.test.example/object/1", +// "name": "A Simple, non-specific object", +// "type": "Object" +// } +type ActivityStreamsObject struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsObjectExtends returns true if the Object type extends from the +// other type. +func ActivityStreamsObjectExtends(other vocab.Type) bool { + // Shortcut implementation: this does not extend anything. + return false +} + +// DeserializeObject creates a Object from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeObject(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsObject, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsObject{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Object" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Object", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Object" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Object") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsObject returns true if the other provided type is the Object type or +// extends from the Object type. +func IsOrExtendsObject(other vocab.Type) bool { + if other.GetTypeName() == "Object" { + return true + } + return ObjectIsExtendedBy(other) +} + +// NewActivityStreamsObject creates a new Object type +func NewActivityStreamsObject() *ActivityStreamsObject { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Object") + return &ActivityStreamsObject{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// ObjectIsDisjointWith returns true if the other provided type is disjoint with +// the Object type. +func ObjectIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ObjectIsExtendedBy returns true if the other provided type extends from the +// Object type. Note that it returns false if the types are the same; see the +// "IsOrExtendsObject" variant instead. +func ObjectIsExtendedBy(other vocab.Type) bool { + extensions := []string{"Accept", "Activity", "Add", "Announce", "Application", "Arrive", "Article", "Audio", "Block", "Branch", "Collection", "CollectionPage", "Commit", "Create", "Delete", "Dislike", "Document", "Emoji", "Event", "Flag", "Follow", "Group", "IdentityProof", "Ignore", "Image", "IntransitiveActivity", "Invite", "Join", "Leave", "Like", "Listen", "Move", "Note", "Offer", "OrderedCollection", "OrderedCollectionPage", "OrderedCollectionPage", "Organization", "Page", "Person", "Place", "Profile", "Push", "Question", "Read", "Reject", "Relationship", "Remove", "Repository", "Service", "TentativeAccept", "TentativeReject", "Ticket", "TicketDependency", "Tombstone", "Travel", "Undo", "Update", "Video", "View"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsObject) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsObject) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsObject) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsObject) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsObject) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsObject) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsObject) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsObject) GetTypeName() string { + return "Object" +} + +// GetUnknownProperties returns the unknown properties for the Object type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsObject) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Object type extends from the other type. +func (this ActivityStreamsObject) IsExtending(other vocab.Type) bool { + return ActivityStreamsObjectExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsObject) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Object is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsObject) LessThan(o vocab.ActivityStreamsObject) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsObject) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Object" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Object" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsObject) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsObject) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsObject) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsObject) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsObject) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsObject) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsObject) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsObject) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsObject) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsObject) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsObject) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsObject) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsObject) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsObject) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsObject) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsObject) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsObject) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsObject) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsObject) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsObject) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsObject) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsObject) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsObject) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsObject) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsObject) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsObject) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsObject) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsObject) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsObject) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsObject) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsObject) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsObject) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsObject) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsObject) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsObject) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsObject) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsObject) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsObject) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_doc.go new file mode 100644 index 000000000..8bb80b809 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeoffer contains the implementation for the Offer type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeoffer diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_pkg.go new file mode 100644 index 000000000..79fda805c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeoffer + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_type_activitystreams_offer.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_type_activitystreams_offer.go new file mode 100644 index 000000000..a04977bf2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_offer/gen_type_activitystreams_offer.go @@ -0,0 +1,1957 @@ +// Code generated by astool. DO NOT EDIT. + +package typeoffer + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is offering the object. If specified, the target +// indicates the entity to which the object is being offered. +// +// Example 23 (https://www.w3.org/TR/activitystreams-vocabulary/#ex21-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "50%!O(MISSING)ff!", +// "type": "http://www.types.example/ProductOffer" +// }, +// "summary": "Sally offered 50%!o(MISSING)ff to Lewis", +// "target": { +// "name": "Lewis", +// "type": "Person" +// }, +// "type": "Offer" +// } +type ActivityStreamsOffer struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsOfferExtends returns true if the Offer type extends from the +// other type. +func ActivityStreamsOfferExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeOffer creates a Offer from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeOffer(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsOffer, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsOffer{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Offer" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Offer", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Offer" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Offer") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsOffer returns true if the other provided type is the Offer type or +// extends from the Offer type. +func IsOrExtendsOffer(other vocab.Type) bool { + if other.GetTypeName() == "Offer" { + return true + } + return OfferIsExtendedBy(other) +} + +// NewActivityStreamsOffer creates a new Offer type +func NewActivityStreamsOffer() *ActivityStreamsOffer { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Offer") + return &ActivityStreamsOffer{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// OfferIsDisjointWith returns true if the other provided type is disjoint with +// the Offer type. +func OfferIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// OfferIsExtendedBy returns true if the other provided type extends from the +// Offer type. Note that it returns false if the types are the same; see the +// "IsOrExtendsOffer" variant instead. +func OfferIsExtendedBy(other vocab.Type) bool { + extensions := []string{"Invite"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOffer) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsOffer) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOffer) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOffer) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsOffer) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsOffer) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsOffer) GetTypeName() string { + return "Offer" +} + +// GetUnknownProperties returns the unknown properties for the Offer type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsOffer) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Offer type extends from the other type. +func (this ActivityStreamsOffer) IsExtending(other vocab.Type) bool { + return ActivityStreamsOfferExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsOffer) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Offer is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsOffer) LessThan(o vocab.ActivityStreamsOffer) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsOffer) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Offer" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Offer" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsOffer) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsOffer) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsOffer) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsOffer) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsOffer) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsOffer) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsOffer) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsOffer) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsOffer) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsOffer) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsOffer) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsOffer) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsOffer) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsOffer) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsOffer) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsOffer) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsOffer) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsOffer) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsOffer) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsOffer) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsOffer) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsOffer) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsOffer) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsOffer) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsOffer) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsOffer) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsOffer) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsOffer) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsOffer) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsOffer) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsOffer) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsOffer) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsOffer) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsOffer) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsOffer) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsOffer) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsOffer) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsOffer) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsOffer) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsOffer) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsOffer) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsOffer) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsOffer) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_doc.go new file mode 100644 index 000000000..332ac2c2c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeorderedcollection contains the implementation for the +// OrderedCollection type. All applications are strongly encouraged to use the +// interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeorderedcollection diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_pkg.go new file mode 100644 index 000000000..3c51afcc3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_pkg.go @@ -0,0 +1,212 @@ +// Code generated by astool. DO NOT EDIT. + +package typeorderedcollection + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeCurrentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsCurrentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCurrentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCurrentProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEarlyItemsPropertyForgeFed returns the deserialization + // method for the "ForgeFedEarlyItemsProperty" non-functional property + // in the vocabulary "ForgeFed" + DeserializeEarlyItemsPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedEarlyItemsProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFirstPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFirstProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFirstPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFirstProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLastPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLastProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLastPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLastProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOrderedItemsPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedItemsProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedItemsProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTotalItemsPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsTotalItemsProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeTotalItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTotalItemsProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_type_activitystreams_orderedcollection.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_type_activitystreams_orderedcollection.go new file mode 100644 index 000000000..ecc738e16 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection/gen_type_activitystreams_orderedcollection.go @@ -0,0 +1,1999 @@ +// Code generated by astool. DO NOT EDIT. + +package typeorderedcollection + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A subtype of Collection in which members of the logical collection are assumed +// to always be strictly ordered. +// +// Example 6 (https://www.w3.org/TR/activitystreams-vocabulary/#ex6-jsonld): +// { +// "orderedItems": [ +// { +// "name": "A Simple Note", +// "type": "Note" +// }, +// { +// "name": "Another Simple Note", +// "type": "Note" +// } +// ], +// "summary": "Sally's notes", +// "totalItems": 2, +// "type": "OrderedCollection" +// } +type ActivityStreamsOrderedCollection struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsCurrent vocab.ActivityStreamsCurrentProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ForgeFedEarlyItems vocab.ForgeFedEarlyItemsProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsFirst vocab.ActivityStreamsFirstProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLast vocab.ActivityStreamsLastProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrderedItems vocab.ActivityStreamsOrderedItemsProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ActivityStreamsTotalItems vocab.ActivityStreamsTotalItemsProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsOrderedCollectionExtends returns true if the OrderedCollection +// type extends from the other type. +func ActivityStreamsOrderedCollectionExtends(other vocab.Type) bool { + extensions := []string{"Collection", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeOrderedCollection creates a OrderedCollection from a map +// representation that has been unmarshalled from a text or binary format. +func DeserializeOrderedCollection(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsOrderedCollection, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsOrderedCollection{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "OrderedCollection" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "OrderedCollection", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "OrderedCollection" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "OrderedCollection") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeCurrentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCurrent = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEarlyItemsPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedEarlyItems = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFirstPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFirst = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLastPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLast = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOrderedItemsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrderedItems = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTotalItemsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTotalItems = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "current" { + continue + } else if k == "duration" { + continue + } else if k == "earlyItems" { + continue + } else if k == "endTime" { + continue + } else if k == "first" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "last" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "orderedItems" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "totalItems" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsOrderedCollection returns true if the other provided type is the +// OrderedCollection type or extends from the OrderedCollection type. +func IsOrExtendsOrderedCollection(other vocab.Type) bool { + if other.GetTypeName() == "OrderedCollection" { + return true + } + return OrderedCollectionIsExtendedBy(other) +} + +// NewActivityStreamsOrderedCollection creates a new OrderedCollection type +func NewActivityStreamsOrderedCollection() *ActivityStreamsOrderedCollection { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("OrderedCollection") + return &ActivityStreamsOrderedCollection{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// OrderedCollectionIsDisjointWith returns true if the other provided type is +// disjoint with the OrderedCollection type. +func OrderedCollectionIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// OrderedCollectionIsExtendedBy returns true if the other provided type extends +// from the OrderedCollection type. Note that it returns false if the types +// are the same; see the "IsOrExtendsOrderedCollection" variant instead. +func OrderedCollectionIsExtendedBy(other vocab.Type) bool { + extensions := []string{"OrderedCollectionPage"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsCurrent returns the "current" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsCurrent() vocab.ActivityStreamsCurrentProperty { + return this.ActivityStreamsCurrent +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFirst returns the "first" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsFirst() vocab.ActivityStreamsFirstProperty { + return this.ActivityStreamsFirst +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLast returns the "last" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsLast() vocab.ActivityStreamsLastProperty { + return this.ActivityStreamsLast +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrderedItems returns the "orderedItems" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsOrderedItems() vocab.ActivityStreamsOrderedItemsProperty { + return this.ActivityStreamsOrderedItems +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsTotalItems returns the "totalItems" property if it exists, +// and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsTotalItems() vocab.ActivityStreamsTotalItemsProperty { + return this.ActivityStreamsTotalItems +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedEarlyItems returns the "earlyItems" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollection) GetForgeFedEarlyItems() vocab.ForgeFedEarlyItemsProperty { + return this.ForgeFedEarlyItems +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollection) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsOrderedCollection) GetTypeName() string { + return "OrderedCollection" +} + +// GetUnknownProperties returns the unknown properties for the OrderedCollection +// type. Note that this should not be used by app developers. It is only used +// to help determine which implementation is LessThan the other. Developers +// who are creating a different implementation of this type's interface can +// use this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsOrderedCollection) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the OrderedCollection type extends from the other +// type. +func (this ActivityStreamsOrderedCollection) IsExtending(other vocab.Type) bool { + return ActivityStreamsOrderedCollectionExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsOrderedCollection) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsCurrent, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ForgeFedEarlyItems, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsFirst, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLast, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrderedItems, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsTotalItems, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this OrderedCollection is lesser, with an arbitrary but +// stable determination. +func (this ActivityStreamsOrderedCollection) LessThan(o vocab.ActivityStreamsOrderedCollection) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "current" + if lhs, rhs := this.ActivityStreamsCurrent, o.GetActivityStreamsCurrent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "earlyItems" + if lhs, rhs := this.ForgeFedEarlyItems, o.GetForgeFedEarlyItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "first" + if lhs, rhs := this.ActivityStreamsFirst, o.GetActivityStreamsFirst(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "last" + if lhs, rhs := this.ActivityStreamsLast, o.GetActivityStreamsLast(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "orderedItems" + if lhs, rhs := this.ActivityStreamsOrderedItems, o.GetActivityStreamsOrderedItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "totalItems" + if lhs, rhs := this.ActivityStreamsTotalItems, o.GetActivityStreamsTotalItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsOrderedCollection) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "OrderedCollection" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "OrderedCollection" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "current" + if this.ActivityStreamsCurrent != nil { + if i, err := this.ActivityStreamsCurrent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCurrent.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "earlyItems" + if this.ForgeFedEarlyItems != nil { + if i, err := this.ForgeFedEarlyItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedEarlyItems.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "first" + if this.ActivityStreamsFirst != nil { + if i, err := this.ActivityStreamsFirst.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFirst.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "last" + if this.ActivityStreamsLast != nil { + if i, err := this.ActivityStreamsLast.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLast.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "orderedItems" + if this.ActivityStreamsOrderedItems != nil { + if i, err := this.ActivityStreamsOrderedItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrderedItems.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "totalItems" + if this.ActivityStreamsTotalItems != nil { + if i, err := this.ActivityStreamsTotalItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTotalItems.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsCurrent sets the "current" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsCurrent(i vocab.ActivityStreamsCurrentProperty) { + this.ActivityStreamsCurrent = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFirst sets the "first" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsFirst(i vocab.ActivityStreamsFirstProperty) { + this.ActivityStreamsFirst = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLast sets the "last" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsLast(i vocab.ActivityStreamsLastProperty) { + this.ActivityStreamsLast = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrderedItems sets the "orderedItems" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsOrderedItems(i vocab.ActivityStreamsOrderedItemsProperty) { + this.ActivityStreamsOrderedItems = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsTotalItems sets the "totalItems" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsTotalItems(i vocab.ActivityStreamsTotalItemsProperty) { + this.ActivityStreamsTotalItems = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsOrderedCollection) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedEarlyItems sets the "earlyItems" property. +func (this *ActivityStreamsOrderedCollection) SetForgeFedEarlyItems(i vocab.ForgeFedEarlyItemsProperty) { + this.ForgeFedEarlyItems = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsOrderedCollection) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsOrderedCollection) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsOrderedCollection) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsOrderedCollection) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsOrderedCollection) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsOrderedCollection) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsOrderedCollection) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_doc.go new file mode 100644 index 000000000..a81a66313 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeorderedcollectionpage contains the implementation for the +// OrderedCollectionPage type. All applications are strongly encouraged to use +// the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeorderedcollectionpage diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_pkg.go new file mode 100644 index 000000000..1ad7d837f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_pkg.go @@ -0,0 +1,228 @@ +// Code generated by astool. DO NOT EDIT. + +package typeorderedcollectionpage + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeCurrentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsCurrentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCurrentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCurrentProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEarlyItemsPropertyForgeFed returns the deserialization + // method for the "ForgeFedEarlyItemsProperty" non-functional property + // in the vocabulary "ForgeFed" + DeserializeEarlyItemsPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedEarlyItemsProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFirstPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFirstProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFirstPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFirstProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLastPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLastProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLastPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLastProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeNextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNextProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOrderedItemsPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedItemsProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedItemsProperty, error) + // DeserializePartOfPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPartOfProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePartOfPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPartOfProperty, error) + // DeserializePrevPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPrevProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePrevPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPrevProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartIndexPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsStartIndexProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeStartIndexPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartIndexProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTotalItemsPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsTotalItemsProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeTotalItemsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTotalItemsProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_type_activitystreams_orderedcollectionpage.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_type_activitystreams_orderedcollectionpage.go new file mode 100644 index 000000000..97c589c48 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage/gen_type_activitystreams_orderedcollectionpage.go @@ -0,0 +1,2166 @@ +// Code generated by astool. DO NOT EDIT. + +package typeorderedcollectionpage + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Used to represent ordered subsets of items from an OrderedCollection. Refer to +// the Activity Streams 2.0 Core for a complete description of the +// OrderedCollectionPage object. +// +// Example 8 (https://www.w3.org/TR/activitystreams-vocabulary/#ex6c-jsonld): +// { +// "id": "http://example.org/foo?page=1", +// "orderedItems": [ +// { +// "name": "A Simple Note", +// "type": "Note" +// }, +// { +// "name": "Another Simple Note", +// "type": "Note" +// } +// ], +// "partOf": "http://example.org/foo", +// "summary": "Page 1 of Sally's notes", +// "type": "OrderedCollectionPage" +// } +type ActivityStreamsOrderedCollectionPage struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsCurrent vocab.ActivityStreamsCurrentProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ForgeFedEarlyItems vocab.ForgeFedEarlyItemsProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsFirst vocab.ActivityStreamsFirstProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLast vocab.ActivityStreamsLastProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsNext vocab.ActivityStreamsNextProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrderedItems vocab.ActivityStreamsOrderedItemsProperty + ActivityStreamsPartOf vocab.ActivityStreamsPartOfProperty + ActivityStreamsPrev vocab.ActivityStreamsPrevProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartIndex vocab.ActivityStreamsStartIndexProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ActivityStreamsTotalItems vocab.ActivityStreamsTotalItemsProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsOrderedCollectionPageExtends returns true if the +// OrderedCollectionPage type extends from the other type. +func ActivityStreamsOrderedCollectionPageExtends(other vocab.Type) bool { + extensions := []string{"Collection", "CollectionPage", "Object", "OrderedCollection"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeOrderedCollectionPage creates a OrderedCollectionPage from a map +// representation that has been unmarshalled from a text or binary format. +func DeserializeOrderedCollectionPage(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsOrderedCollectionPage, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsOrderedCollectionPage{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "OrderedCollectionPage" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "OrderedCollectionPage", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "OrderedCollectionPage" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "OrderedCollectionPage") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeCurrentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCurrent = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEarlyItemsPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedEarlyItems = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFirstPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFirst = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLastPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLast = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeNextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsNext = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOrderedItemsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrderedItems = p + } + if p, err := mgr.DeserializePartOfPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPartOf = p + } + if p, err := mgr.DeserializePrevPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPrev = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartIndexPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartIndex = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTotalItemsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTotalItems = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "current" { + continue + } else if k == "duration" { + continue + } else if k == "earlyItems" { + continue + } else if k == "endTime" { + continue + } else if k == "first" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "last" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "next" { + continue + } else if k == "object" { + continue + } else if k == "orderedItems" { + continue + } else if k == "partOf" { + continue + } else if k == "prev" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startIndex" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "totalItems" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsOrderedCollectionPage returns true if the other provided type is the +// OrderedCollectionPage type or extends from the OrderedCollectionPage type. +func IsOrExtendsOrderedCollectionPage(other vocab.Type) bool { + if other.GetTypeName() == "OrderedCollectionPage" { + return true + } + return OrderedCollectionPageIsExtendedBy(other) +} + +// NewActivityStreamsOrderedCollectionPage creates a new OrderedCollectionPage type +func NewActivityStreamsOrderedCollectionPage() *ActivityStreamsOrderedCollectionPage { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("OrderedCollectionPage") + return &ActivityStreamsOrderedCollectionPage{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// OrderedCollectionPageIsDisjointWith returns true if the other provided type is +// disjoint with the OrderedCollectionPage type. +func OrderedCollectionPageIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// OrderedCollectionPageIsExtendedBy returns true if the other provided type +// extends from the OrderedCollectionPage type. Note that it returns false if +// the types are the same; see the "IsOrExtendsOrderedCollectionPage" variant +// instead. +func OrderedCollectionPageIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsCurrent returns the "current" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsCurrent() vocab.ActivityStreamsCurrentProperty { + return this.ActivityStreamsCurrent +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFirst returns the "first" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsFirst() vocab.ActivityStreamsFirstProperty { + return this.ActivityStreamsFirst +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLast returns the "last" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsLast() vocab.ActivityStreamsLastProperty { + return this.ActivityStreamsLast +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsNext returns the "next" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsNext() vocab.ActivityStreamsNextProperty { + return this.ActivityStreamsNext +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrderedItems returns the "orderedItems" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsOrderedItems() vocab.ActivityStreamsOrderedItemsProperty { + return this.ActivityStreamsOrderedItems +} + +// GetActivityStreamsPartOf returns the "partOf" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsPartOf() vocab.ActivityStreamsPartOfProperty { + return this.ActivityStreamsPartOf +} + +// GetActivityStreamsPrev returns the "prev" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsPrev() vocab.ActivityStreamsPrevProperty { + return this.ActivityStreamsPrev +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartIndex returns the "startIndex" property if it exists, +// and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsStartIndex() vocab.ActivityStreamsStartIndexProperty { + return this.ActivityStreamsStartIndex +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsTotalItems returns the "totalItems" property if it exists, +// and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsTotalItems() vocab.ActivityStreamsTotalItemsProperty { + return this.ActivityStreamsTotalItems +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedEarlyItems returns the "earlyItems" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetForgeFedEarlyItems() vocab.ForgeFedEarlyItemsProperty { + return this.ForgeFedEarlyItems +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsOrderedCollectionPage) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsOrderedCollectionPage) GetTypeName() string { + return "OrderedCollectionPage" +} + +// GetUnknownProperties returns the unknown properties for the +// OrderedCollectionPage type. Note that this should not be used by app +// developers. It is only used to help determine which implementation is +// LessThan the other. Developers who are creating a different implementation +// of this type's interface can use this method in their LessThan +// implementation, but routine ActivityPub applications should not use this to +// bypass the code generation tool. +func (this ActivityStreamsOrderedCollectionPage) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the OrderedCollectionPage type extends from the +// other type. +func (this ActivityStreamsOrderedCollectionPage) IsExtending(other vocab.Type) bool { + return ActivityStreamsOrderedCollectionPageExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsOrderedCollectionPage) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsCurrent, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ForgeFedEarlyItems, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsFirst, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLast, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsNext, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrderedItems, m) + m = this.helperJSONLDContext(this.ActivityStreamsPartOf, m) + m = this.helperJSONLDContext(this.ActivityStreamsPrev, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartIndex, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsTotalItems, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this OrderedCollectionPage is lesser, with an arbitrary +// but stable determination. +func (this ActivityStreamsOrderedCollectionPage) LessThan(o vocab.ActivityStreamsOrderedCollectionPage) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "current" + if lhs, rhs := this.ActivityStreamsCurrent, o.GetActivityStreamsCurrent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "earlyItems" + if lhs, rhs := this.ForgeFedEarlyItems, o.GetForgeFedEarlyItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "first" + if lhs, rhs := this.ActivityStreamsFirst, o.GetActivityStreamsFirst(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "last" + if lhs, rhs := this.ActivityStreamsLast, o.GetActivityStreamsLast(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "next" + if lhs, rhs := this.ActivityStreamsNext, o.GetActivityStreamsNext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "orderedItems" + if lhs, rhs := this.ActivityStreamsOrderedItems, o.GetActivityStreamsOrderedItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "partOf" + if lhs, rhs := this.ActivityStreamsPartOf, o.GetActivityStreamsPartOf(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "prev" + if lhs, rhs := this.ActivityStreamsPrev, o.GetActivityStreamsPrev(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startIndex" + if lhs, rhs := this.ActivityStreamsStartIndex, o.GetActivityStreamsStartIndex(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "totalItems" + if lhs, rhs := this.ActivityStreamsTotalItems, o.GetActivityStreamsTotalItems(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsOrderedCollectionPage) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "OrderedCollectionPage" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "OrderedCollectionPage" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "current" + if this.ActivityStreamsCurrent != nil { + if i, err := this.ActivityStreamsCurrent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCurrent.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "earlyItems" + if this.ForgeFedEarlyItems != nil { + if i, err := this.ForgeFedEarlyItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedEarlyItems.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "first" + if this.ActivityStreamsFirst != nil { + if i, err := this.ActivityStreamsFirst.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFirst.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "last" + if this.ActivityStreamsLast != nil { + if i, err := this.ActivityStreamsLast.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLast.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "next" + if this.ActivityStreamsNext != nil { + if i, err := this.ActivityStreamsNext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsNext.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "orderedItems" + if this.ActivityStreamsOrderedItems != nil { + if i, err := this.ActivityStreamsOrderedItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrderedItems.Name()] = i + } + } + // Maybe serialize property "partOf" + if this.ActivityStreamsPartOf != nil { + if i, err := this.ActivityStreamsPartOf.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPartOf.Name()] = i + } + } + // Maybe serialize property "prev" + if this.ActivityStreamsPrev != nil { + if i, err := this.ActivityStreamsPrev.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPrev.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startIndex" + if this.ActivityStreamsStartIndex != nil { + if i, err := this.ActivityStreamsStartIndex.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartIndex.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "totalItems" + if this.ActivityStreamsTotalItems != nil { + if i, err := this.ActivityStreamsTotalItems.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTotalItems.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsCurrent sets the "current" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsCurrent(i vocab.ActivityStreamsCurrentProperty) { + this.ActivityStreamsCurrent = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFirst sets the "first" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsFirst(i vocab.ActivityStreamsFirstProperty) { + this.ActivityStreamsFirst = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLast sets the "last" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsLast(i vocab.ActivityStreamsLastProperty) { + this.ActivityStreamsLast = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsNext sets the "next" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsNext(i vocab.ActivityStreamsNextProperty) { + this.ActivityStreamsNext = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrderedItems sets the "orderedItems" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsOrderedItems(i vocab.ActivityStreamsOrderedItemsProperty) { + this.ActivityStreamsOrderedItems = i +} + +// SetActivityStreamsPartOf sets the "partOf" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsPartOf(i vocab.ActivityStreamsPartOfProperty) { + this.ActivityStreamsPartOf = i +} + +// SetActivityStreamsPrev sets the "prev" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsPrev(i vocab.ActivityStreamsPrevProperty) { + this.ActivityStreamsPrev = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartIndex sets the "startIndex" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsStartIndex(i vocab.ActivityStreamsStartIndexProperty) { + this.ActivityStreamsStartIndex = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsTotalItems sets the "totalItems" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsTotalItems(i vocab.ActivityStreamsTotalItemsProperty) { + this.ActivityStreamsTotalItems = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsOrderedCollectionPage) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedEarlyItems sets the "earlyItems" property. +func (this *ActivityStreamsOrderedCollectionPage) SetForgeFedEarlyItems(i vocab.ForgeFedEarlyItemsProperty) { + this.ForgeFedEarlyItems = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsOrderedCollectionPage) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsOrderedCollectionPage) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsOrderedCollectionPage) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsOrderedCollectionPage) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsOrderedCollectionPage) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsOrderedCollectionPage) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsOrderedCollectionPage) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_doc.go new file mode 100644 index 000000000..5e9e4630e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeorganization contains the implementation for the Organization type. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeorganization diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_pkg.go new file mode 100644 index 000000000..b6b053561 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_pkg.go @@ -0,0 +1,228 @@ +// Code generated by astool. DO NOT EDIT. + +package typeorganization + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDiscoverablePropertyToot returns the deserialization method + // for the "TootDiscoverableProperty" non-functional property in the + // vocabulary "Toot" + DeserializeDiscoverablePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootDiscoverableProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFeaturedPropertyToot returns the deserialization method for + // the "TootFeaturedProperty" non-functional property in the + // vocabulary "Toot" + DeserializeFeaturedPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootFeaturedProperty, error) + // DeserializeFollowersPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowersProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowersPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowersProperty, error) + // DeserializeFollowingPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowingProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowingPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowingProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInboxProperty, error) + // DeserializeLikedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikedProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOutboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOutboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOutboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOutboxProperty, error) + // DeserializePreferredUsernamePropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsPreferredUsernameProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializePreferredUsernamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreferredUsernameProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublicKeyPropertyW3IDSecurityV1 returns the deserialization + // method for the "W3IDSecurityV1PublicKeyProperty" non-functional + // property in the vocabulary "W3IDSecurityV1" + DeserializePublicKeyPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKeyProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeStreamsPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStreamsProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStreamsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStreamsProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_type_activitystreams_organization.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_type_activitystreams_organization.go new file mode 100644 index 000000000..e7f4736ef --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_organization/gen_type_activitystreams_organization.go @@ -0,0 +1,2150 @@ +// Code generated by astool. DO NOT EDIT. + +package typeorganization + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents an organization. +// +// Example 44 (https://www.w3.org/TR/activitystreams-vocabulary/#ex186-jsonld): +// { +// "name": "Example Co.", +// "type": "Organization" +// } +type ActivityStreamsOrganization struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + TootDiscoverable vocab.TootDiscoverableProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + TootFeatured vocab.TootFeaturedProperty + ActivityStreamsFollowers vocab.ActivityStreamsFollowersProperty + ActivityStreamsFollowing vocab.ActivityStreamsFollowingProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInbox vocab.ActivityStreamsInboxProperty + ActivityStreamsLiked vocab.ActivityStreamsLikedProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOutbox vocab.ActivityStreamsOutboxProperty + ActivityStreamsPreferredUsername vocab.ActivityStreamsPreferredUsernameProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + W3IDSecurityV1PublicKey vocab.W3IDSecurityV1PublicKeyProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsStreams vocab.ActivityStreamsStreamsProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsOrganizationExtends returns true if the Organization type +// extends from the other type. +func ActivityStreamsOrganizationExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeOrganization creates a Organization from a map representation that +// has been unmarshalled from a text or binary format. +func DeserializeOrganization(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsOrganization, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsOrganization{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Organization" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Organization", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Organization" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Organization") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDiscoverablePropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootDiscoverable = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFeaturedPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootFeatured = p + } + if p, err := mgr.DeserializeFollowersPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowers = p + } + if p, err := mgr.DeserializeFollowingPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowing = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInbox = p + } + if p, err := mgr.DeserializeLikedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLiked = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOutboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOutbox = p + } + if p, err := mgr.DeserializePreferredUsernamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreferredUsername = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublicKeyPropertyW3IDSecurityV1()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.W3IDSecurityV1PublicKey = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeStreamsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStreams = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "discoverable" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "featured" { + continue + } else if k == "followers" { + continue + } else if k == "following" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "inbox" { + continue + } else if k == "liked" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "outbox" { + continue + } else if k == "preferredUsername" { + continue + } else if k == "preferredUsernameMap" { + continue + } else if k == "preview" { + continue + } else if k == "publicKey" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "streams" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsOrganization returns true if the other provided type is the +// Organization type or extends from the Organization type. +func IsOrExtendsOrganization(other vocab.Type) bool { + if other.GetTypeName() == "Organization" { + return true + } + return OrganizationIsExtendedBy(other) +} + +// NewActivityStreamsOrganization creates a new Organization type +func NewActivityStreamsOrganization() *ActivityStreamsOrganization { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Organization") + return &ActivityStreamsOrganization{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// OrganizationIsDisjointWith returns true if the other provided type is disjoint +// with the Organization type. +func OrganizationIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// OrganizationIsExtendedBy returns true if the other provided type extends from +// the Organization type. Note that it returns false if the types are the +// same; see the "IsOrExtendsOrganization" variant instead. +func OrganizationIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFollowers returns the "followers" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsFollowers() vocab.ActivityStreamsFollowersProperty { + return this.ActivityStreamsFollowers +} + +// GetActivityStreamsFollowing returns the "following" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsFollowing() vocab.ActivityStreamsFollowingProperty { + return this.ActivityStreamsFollowing +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInbox returns the "inbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsInbox() vocab.ActivityStreamsInboxProperty { + return this.ActivityStreamsInbox +} + +// GetActivityStreamsLiked returns the "liked" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsLiked() vocab.ActivityStreamsLikedProperty { + return this.ActivityStreamsLiked +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOutbox returns the "outbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsOutbox() vocab.ActivityStreamsOutboxProperty { + return this.ActivityStreamsOutbox +} + +// GetActivityStreamsPreferredUsername returns the "preferredUsername" property if +// it exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsPreferredUsername() vocab.ActivityStreamsPreferredUsernameProperty { + return this.ActivityStreamsPreferredUsername +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsStreams returns the "streams" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsStreams() vocab.ActivityStreamsStreamsProperty { + return this.ActivityStreamsStreams +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootDiscoverable returns the "discoverable" property if it exists, and nil +// otherwise. +func (this ActivityStreamsOrganization) GetTootDiscoverable() vocab.TootDiscoverableProperty { + return this.TootDiscoverable +} + +// GetTootFeatured returns the "featured" property if it exists, and nil otherwise. +func (this ActivityStreamsOrganization) GetTootFeatured() vocab.TootFeaturedProperty { + return this.TootFeatured +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsOrganization) GetTypeName() string { + return "Organization" +} + +// GetUnknownProperties returns the unknown properties for the Organization type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsOrganization) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// GetW3IDSecurityV1PublicKey returns the "publicKey" property if it exists, and +// nil otherwise. +func (this ActivityStreamsOrganization) GetW3IDSecurityV1PublicKey() vocab.W3IDSecurityV1PublicKeyProperty { + return this.W3IDSecurityV1PublicKey +} + +// IsExtending returns true if the Organization type extends from the other type. +func (this ActivityStreamsOrganization) IsExtending(other vocab.Type) bool { + return ActivityStreamsOrganizationExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsOrganization) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.TootDiscoverable, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.TootFeatured, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowers, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowing, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsLiked, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOutbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreferredUsername, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.W3IDSecurityV1PublicKey, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsStreams, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Organization is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsOrganization) LessThan(o vocab.ActivityStreamsOrganization) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "discoverable" + if lhs, rhs := this.TootDiscoverable, o.GetTootDiscoverable(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "featured" + if lhs, rhs := this.TootFeatured, o.GetTootFeatured(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "followers" + if lhs, rhs := this.ActivityStreamsFollowers, o.GetActivityStreamsFollowers(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "following" + if lhs, rhs := this.ActivityStreamsFollowing, o.GetActivityStreamsFollowing(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inbox" + if lhs, rhs := this.ActivityStreamsInbox, o.GetActivityStreamsInbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "liked" + if lhs, rhs := this.ActivityStreamsLiked, o.GetActivityStreamsLiked(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "outbox" + if lhs, rhs := this.ActivityStreamsOutbox, o.GetActivityStreamsOutbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preferredUsername" + if lhs, rhs := this.ActivityStreamsPreferredUsername, o.GetActivityStreamsPreferredUsername(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "publicKey" + if lhs, rhs := this.W3IDSecurityV1PublicKey, o.GetW3IDSecurityV1PublicKey(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "streams" + if lhs, rhs := this.ActivityStreamsStreams, o.GetActivityStreamsStreams(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsOrganization) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Organization" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Organization" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "discoverable" + if this.TootDiscoverable != nil { + if i, err := this.TootDiscoverable.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootDiscoverable.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "featured" + if this.TootFeatured != nil { + if i, err := this.TootFeatured.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootFeatured.Name()] = i + } + } + // Maybe serialize property "followers" + if this.ActivityStreamsFollowers != nil { + if i, err := this.ActivityStreamsFollowers.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowers.Name()] = i + } + } + // Maybe serialize property "following" + if this.ActivityStreamsFollowing != nil { + if i, err := this.ActivityStreamsFollowing.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowing.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "inbox" + if this.ActivityStreamsInbox != nil { + if i, err := this.ActivityStreamsInbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInbox.Name()] = i + } + } + // Maybe serialize property "liked" + if this.ActivityStreamsLiked != nil { + if i, err := this.ActivityStreamsLiked.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLiked.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "outbox" + if this.ActivityStreamsOutbox != nil { + if i, err := this.ActivityStreamsOutbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOutbox.Name()] = i + } + } + // Maybe serialize property "preferredUsername" + if this.ActivityStreamsPreferredUsername != nil { + if i, err := this.ActivityStreamsPreferredUsername.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreferredUsername.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "publicKey" + if this.W3IDSecurityV1PublicKey != nil { + if i, err := this.W3IDSecurityV1PublicKey.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.W3IDSecurityV1PublicKey.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "streams" + if this.ActivityStreamsStreams != nil { + if i, err := this.ActivityStreamsStreams.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStreams.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFollowers sets the "followers" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsFollowers(i vocab.ActivityStreamsFollowersProperty) { + this.ActivityStreamsFollowers = i +} + +// SetActivityStreamsFollowing sets the "following" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsFollowing(i vocab.ActivityStreamsFollowingProperty) { + this.ActivityStreamsFollowing = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInbox sets the "inbox" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsInbox(i vocab.ActivityStreamsInboxProperty) { + this.ActivityStreamsInbox = i +} + +// SetActivityStreamsLiked sets the "liked" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsLiked(i vocab.ActivityStreamsLikedProperty) { + this.ActivityStreamsLiked = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOutbox sets the "outbox" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsOutbox(i vocab.ActivityStreamsOutboxProperty) { + this.ActivityStreamsOutbox = i +} + +// SetActivityStreamsPreferredUsername sets the "preferredUsername" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsPreferredUsername(i vocab.ActivityStreamsPreferredUsernameProperty) { + this.ActivityStreamsPreferredUsername = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsStreams sets the "streams" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsStreams(i vocab.ActivityStreamsStreamsProperty) { + this.ActivityStreamsStreams = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsOrganization) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsOrganization) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsOrganization) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsOrganization) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsOrganization) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsOrganization) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootDiscoverable sets the "discoverable" property. +func (this *ActivityStreamsOrganization) SetTootDiscoverable(i vocab.TootDiscoverableProperty) { + this.TootDiscoverable = i +} + +// SetTootFeatured sets the "featured" property. +func (this *ActivityStreamsOrganization) SetTootFeatured(i vocab.TootFeaturedProperty) { + this.TootFeatured = i +} + +// SetW3IDSecurityV1PublicKey sets the "publicKey" property. +func (this *ActivityStreamsOrganization) SetW3IDSecurityV1PublicKey(i vocab.W3IDSecurityV1PublicKeyProperty) { + this.W3IDSecurityV1PublicKey = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsOrganization) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsOrganization) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_doc.go new file mode 100644 index 000000000..ee281c63b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typepage contains the implementation for the Page type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typepage diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_pkg.go new file mode 100644 index 000000000..c0941bbcd --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_pkg.go @@ -0,0 +1,191 @@ +// Code generated by astool. DO NOT EDIT. + +package typepage + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBlurhashPropertyToot returns the deserialization method for + // the "TootBlurhashProperty" non-functional property in the + // vocabulary "Toot" + DeserializeBlurhashPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootBlurhashProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_type_activitystreams_page.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_type_activitystreams_page.go new file mode 100644 index 000000000..55fdfd54a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_page/gen_type_activitystreams_page.go @@ -0,0 +1,1771 @@ +// Code generated by astool. DO NOT EDIT. + +package typepage + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a Web Page. +// +// Example 54 (https://www.w3.org/TR/activitystreams-vocabulary/#ex53-jsonld): +// { +// "name": "Omaha Weather Report", +// "type": "Page", +// "url": "http://example.org/weather-in-omaha.html" +// } +type ActivityStreamsPage struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + TootBlurhash vocab.TootBlurhashProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsPageExtends returns true if the Page type extends from the other +// type. +func ActivityStreamsPageExtends(other vocab.Type) bool { + extensions := []string{"Document", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializePage creates a Page from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializePage(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsPage, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsPage{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Page" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Page", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Page" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Page") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBlurhashPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootBlurhash = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "blurhash" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsPage returns true if the other provided type is the Page type or +// extends from the Page type. +func IsOrExtendsPage(other vocab.Type) bool { + if other.GetTypeName() == "Page" { + return true + } + return PageIsExtendedBy(other) +} + +// NewActivityStreamsPage creates a new Page type +func NewActivityStreamsPage() *ActivityStreamsPage { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Page") + return &ActivityStreamsPage{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// PageIsDisjointWith returns true if the other provided type is disjoint with the +// Page type. +func PageIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// PageIsExtendedBy returns true if the other provided type extends from the Page +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsPage" variant instead. +func PageIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsPage) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPage) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsPage) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPage) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPage) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsPage) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsPage) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootBlurhash returns the "blurhash" property if it exists, and nil otherwise. +func (this ActivityStreamsPage) GetTootBlurhash() vocab.TootBlurhashProperty { + return this.TootBlurhash +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsPage) GetTypeName() string { + return "Page" +} + +// GetUnknownProperties returns the unknown properties for the Page type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsPage) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Page type extends from the other type. +func (this ActivityStreamsPage) IsExtending(other vocab.Type) bool { + return ActivityStreamsPageExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsPage) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.TootBlurhash, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Page is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsPage) LessThan(o vocab.ActivityStreamsPage) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "blurhash" + if lhs, rhs := this.TootBlurhash, o.GetTootBlurhash(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsPage) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Page" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Page" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "blurhash" + if this.TootBlurhash != nil { + if i, err := this.TootBlurhash.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootBlurhash.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsPage) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsPage) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsPage) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsPage) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsPage) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsPage) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsPage) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsPage) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsPage) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsPage) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsPage) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsPage) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsPage) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsPage) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsPage) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsPage) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsPage) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsPage) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsPage) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsPage) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsPage) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsPage) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsPage) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsPage) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsPage) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsPage) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsPage) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsPage) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsPage) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsPage) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsPage) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsPage) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsPage) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsPage) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsPage) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsPage) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootBlurhash sets the "blurhash" property. +func (this *ActivityStreamsPage) SetTootBlurhash(i vocab.TootBlurhashProperty) { + this.TootBlurhash = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsPage) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsPage) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_doc.go new file mode 100644 index 000000000..3c86a2caa --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeperson contains the implementation for the Person type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeperson diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_pkg.go new file mode 100644 index 000000000..aacc73b00 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_pkg.go @@ -0,0 +1,228 @@ +// Code generated by astool. DO NOT EDIT. + +package typeperson + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDiscoverablePropertyToot returns the deserialization method + // for the "TootDiscoverableProperty" non-functional property in the + // vocabulary "Toot" + DeserializeDiscoverablePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootDiscoverableProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFeaturedPropertyToot returns the deserialization method for + // the "TootFeaturedProperty" non-functional property in the + // vocabulary "Toot" + DeserializeFeaturedPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootFeaturedProperty, error) + // DeserializeFollowersPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowersProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowersPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowersProperty, error) + // DeserializeFollowingPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowingProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowingPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowingProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInboxProperty, error) + // DeserializeLikedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikedProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOutboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOutboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOutboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOutboxProperty, error) + // DeserializePreferredUsernamePropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsPreferredUsernameProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializePreferredUsernamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreferredUsernameProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublicKeyPropertyW3IDSecurityV1 returns the deserialization + // method for the "W3IDSecurityV1PublicKeyProperty" non-functional + // property in the vocabulary "W3IDSecurityV1" + DeserializePublicKeyPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKeyProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeStreamsPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStreamsProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStreamsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStreamsProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_type_activitystreams_person.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_type_activitystreams_person.go new file mode 100644 index 000000000..5ccb9ac08 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_person/gen_type_activitystreams_person.go @@ -0,0 +1,2150 @@ +// Code generated by astool. DO NOT EDIT. + +package typeperson + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents an individual person. +// +// Example 45 (https://www.w3.org/TR/activitystreams-vocabulary/#ex39-jsonld): +// { +// "name": "Sally Smith", +// "type": "Person" +// } +type ActivityStreamsPerson struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + TootDiscoverable vocab.TootDiscoverableProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + TootFeatured vocab.TootFeaturedProperty + ActivityStreamsFollowers vocab.ActivityStreamsFollowersProperty + ActivityStreamsFollowing vocab.ActivityStreamsFollowingProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInbox vocab.ActivityStreamsInboxProperty + ActivityStreamsLiked vocab.ActivityStreamsLikedProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOutbox vocab.ActivityStreamsOutboxProperty + ActivityStreamsPreferredUsername vocab.ActivityStreamsPreferredUsernameProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + W3IDSecurityV1PublicKey vocab.W3IDSecurityV1PublicKeyProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsStreams vocab.ActivityStreamsStreamsProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsPersonExtends returns true if the Person type extends from the +// other type. +func ActivityStreamsPersonExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializePerson creates a Person from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializePerson(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsPerson, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsPerson{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Person" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Person", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Person" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Person") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDiscoverablePropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootDiscoverable = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFeaturedPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootFeatured = p + } + if p, err := mgr.DeserializeFollowersPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowers = p + } + if p, err := mgr.DeserializeFollowingPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowing = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInbox = p + } + if p, err := mgr.DeserializeLikedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLiked = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOutboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOutbox = p + } + if p, err := mgr.DeserializePreferredUsernamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreferredUsername = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublicKeyPropertyW3IDSecurityV1()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.W3IDSecurityV1PublicKey = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeStreamsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStreams = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "discoverable" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "featured" { + continue + } else if k == "followers" { + continue + } else if k == "following" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "inbox" { + continue + } else if k == "liked" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "outbox" { + continue + } else if k == "preferredUsername" { + continue + } else if k == "preferredUsernameMap" { + continue + } else if k == "preview" { + continue + } else if k == "publicKey" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "streams" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsPerson returns true if the other provided type is the Person type or +// extends from the Person type. +func IsOrExtendsPerson(other vocab.Type) bool { + if other.GetTypeName() == "Person" { + return true + } + return PersonIsExtendedBy(other) +} + +// NewActivityStreamsPerson creates a new Person type +func NewActivityStreamsPerson() *ActivityStreamsPerson { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Person") + return &ActivityStreamsPerson{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// PersonIsDisjointWith returns true if the other provided type is disjoint with +// the Person type. +func PersonIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// PersonIsExtendedBy returns true if the other provided type extends from the +// Person type. Note that it returns false if the types are the same; see the +// "IsOrExtendsPerson" variant instead. +func PersonIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFollowers returns the "followers" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsFollowers() vocab.ActivityStreamsFollowersProperty { + return this.ActivityStreamsFollowers +} + +// GetActivityStreamsFollowing returns the "following" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsFollowing() vocab.ActivityStreamsFollowingProperty { + return this.ActivityStreamsFollowing +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInbox returns the "inbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsInbox() vocab.ActivityStreamsInboxProperty { + return this.ActivityStreamsInbox +} + +// GetActivityStreamsLiked returns the "liked" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsLiked() vocab.ActivityStreamsLikedProperty { + return this.ActivityStreamsLiked +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOutbox returns the "outbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsOutbox() vocab.ActivityStreamsOutboxProperty { + return this.ActivityStreamsOutbox +} + +// GetActivityStreamsPreferredUsername returns the "preferredUsername" property if +// it exists, and nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsPreferredUsername() vocab.ActivityStreamsPreferredUsernameProperty { + return this.ActivityStreamsPreferredUsername +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsStreams returns the "streams" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsStreams() vocab.ActivityStreamsStreamsProperty { + return this.ActivityStreamsStreams +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsPerson) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPerson) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPerson) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsPerson) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsPerson) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootDiscoverable returns the "discoverable" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPerson) GetTootDiscoverable() vocab.TootDiscoverableProperty { + return this.TootDiscoverable +} + +// GetTootFeatured returns the "featured" property if it exists, and nil otherwise. +func (this ActivityStreamsPerson) GetTootFeatured() vocab.TootFeaturedProperty { + return this.TootFeatured +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsPerson) GetTypeName() string { + return "Person" +} + +// GetUnknownProperties returns the unknown properties for the Person type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsPerson) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// GetW3IDSecurityV1PublicKey returns the "publicKey" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPerson) GetW3IDSecurityV1PublicKey() vocab.W3IDSecurityV1PublicKeyProperty { + return this.W3IDSecurityV1PublicKey +} + +// IsExtending returns true if the Person type extends from the other type. +func (this ActivityStreamsPerson) IsExtending(other vocab.Type) bool { + return ActivityStreamsPersonExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsPerson) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.TootDiscoverable, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.TootFeatured, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowers, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowing, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsLiked, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOutbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreferredUsername, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.W3IDSecurityV1PublicKey, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsStreams, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Person is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsPerson) LessThan(o vocab.ActivityStreamsPerson) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "discoverable" + if lhs, rhs := this.TootDiscoverable, o.GetTootDiscoverable(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "featured" + if lhs, rhs := this.TootFeatured, o.GetTootFeatured(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "followers" + if lhs, rhs := this.ActivityStreamsFollowers, o.GetActivityStreamsFollowers(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "following" + if lhs, rhs := this.ActivityStreamsFollowing, o.GetActivityStreamsFollowing(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inbox" + if lhs, rhs := this.ActivityStreamsInbox, o.GetActivityStreamsInbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "liked" + if lhs, rhs := this.ActivityStreamsLiked, o.GetActivityStreamsLiked(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "outbox" + if lhs, rhs := this.ActivityStreamsOutbox, o.GetActivityStreamsOutbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preferredUsername" + if lhs, rhs := this.ActivityStreamsPreferredUsername, o.GetActivityStreamsPreferredUsername(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "publicKey" + if lhs, rhs := this.W3IDSecurityV1PublicKey, o.GetW3IDSecurityV1PublicKey(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "streams" + if lhs, rhs := this.ActivityStreamsStreams, o.GetActivityStreamsStreams(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsPerson) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Person" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Person" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "discoverable" + if this.TootDiscoverable != nil { + if i, err := this.TootDiscoverable.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootDiscoverable.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "featured" + if this.TootFeatured != nil { + if i, err := this.TootFeatured.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootFeatured.Name()] = i + } + } + // Maybe serialize property "followers" + if this.ActivityStreamsFollowers != nil { + if i, err := this.ActivityStreamsFollowers.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowers.Name()] = i + } + } + // Maybe serialize property "following" + if this.ActivityStreamsFollowing != nil { + if i, err := this.ActivityStreamsFollowing.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowing.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "inbox" + if this.ActivityStreamsInbox != nil { + if i, err := this.ActivityStreamsInbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInbox.Name()] = i + } + } + // Maybe serialize property "liked" + if this.ActivityStreamsLiked != nil { + if i, err := this.ActivityStreamsLiked.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLiked.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "outbox" + if this.ActivityStreamsOutbox != nil { + if i, err := this.ActivityStreamsOutbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOutbox.Name()] = i + } + } + // Maybe serialize property "preferredUsername" + if this.ActivityStreamsPreferredUsername != nil { + if i, err := this.ActivityStreamsPreferredUsername.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreferredUsername.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "publicKey" + if this.W3IDSecurityV1PublicKey != nil { + if i, err := this.W3IDSecurityV1PublicKey.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.W3IDSecurityV1PublicKey.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "streams" + if this.ActivityStreamsStreams != nil { + if i, err := this.ActivityStreamsStreams.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStreams.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsPerson) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsPerson) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsPerson) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsPerson) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsPerson) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsPerson) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsPerson) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsPerson) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsPerson) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsPerson) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsPerson) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFollowers sets the "followers" property. +func (this *ActivityStreamsPerson) SetActivityStreamsFollowers(i vocab.ActivityStreamsFollowersProperty) { + this.ActivityStreamsFollowers = i +} + +// SetActivityStreamsFollowing sets the "following" property. +func (this *ActivityStreamsPerson) SetActivityStreamsFollowing(i vocab.ActivityStreamsFollowingProperty) { + this.ActivityStreamsFollowing = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsPerson) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsPerson) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsPerson) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsPerson) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInbox sets the "inbox" property. +func (this *ActivityStreamsPerson) SetActivityStreamsInbox(i vocab.ActivityStreamsInboxProperty) { + this.ActivityStreamsInbox = i +} + +// SetActivityStreamsLiked sets the "liked" property. +func (this *ActivityStreamsPerson) SetActivityStreamsLiked(i vocab.ActivityStreamsLikedProperty) { + this.ActivityStreamsLiked = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsPerson) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsPerson) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsPerson) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsPerson) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsPerson) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOutbox sets the "outbox" property. +func (this *ActivityStreamsPerson) SetActivityStreamsOutbox(i vocab.ActivityStreamsOutboxProperty) { + this.ActivityStreamsOutbox = i +} + +// SetActivityStreamsPreferredUsername sets the "preferredUsername" property. +func (this *ActivityStreamsPerson) SetActivityStreamsPreferredUsername(i vocab.ActivityStreamsPreferredUsernameProperty) { + this.ActivityStreamsPreferredUsername = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsPerson) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsPerson) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsPerson) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsPerson) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsPerson) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsPerson) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsStreams sets the "streams" property. +func (this *ActivityStreamsPerson) SetActivityStreamsStreams(i vocab.ActivityStreamsStreamsProperty) { + this.ActivityStreamsStreams = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsPerson) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsPerson) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsPerson) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsPerson) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsPerson) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsPerson) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsPerson) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsPerson) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsPerson) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsPerson) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootDiscoverable sets the "discoverable" property. +func (this *ActivityStreamsPerson) SetTootDiscoverable(i vocab.TootDiscoverableProperty) { + this.TootDiscoverable = i +} + +// SetTootFeatured sets the "featured" property. +func (this *ActivityStreamsPerson) SetTootFeatured(i vocab.TootFeaturedProperty) { + this.TootFeatured = i +} + +// SetW3IDSecurityV1PublicKey sets the "publicKey" property. +func (this *ActivityStreamsPerson) SetW3IDSecurityV1PublicKey(i vocab.W3IDSecurityV1PublicKeyProperty) { + this.W3IDSecurityV1PublicKey = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsPerson) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsPerson) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_doc.go new file mode 100644 index 000000000..5eaff6eca --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeplace contains the implementation for the Place type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeplace diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_pkg.go new file mode 100644 index 000000000..d8a52e2cc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeplace + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAccuracyPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAccuracyProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAccuracyPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccuracyProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLatitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLatitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLatitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLatitudeProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeLongitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLongitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLongitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLongitudeProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRadiusPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRadiusProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRadiusPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRadiusProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUnitsPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUnitsProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUnitsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUnitsProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_type_activitystreams_place.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_type_activitystreams_place.go new file mode 100644 index 000000000..6097eefc0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_place/gen_type_activitystreams_place.go @@ -0,0 +1,1950 @@ +// Code generated by astool. DO NOT EDIT. + +package typeplace + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a logical or physical location. See 5.3 Representing Places for +// additional information. +// +// Example 56 (https://www.w3.org/TR/activitystreams-vocabulary/#ex57-jsonld): +// { +// "name": "Work", +// "type": "Place" +// } +// +// Example 57 (https://www.w3.org/TR/activitystreams-vocabulary/#ex58-jsonld): +// { +// "latitude": 36.75, +// "longitude": 119.7667, +// "name": "Fresno Area", +// "radius": 15, +// "type": "Place", +// "units": "miles" +// } +type ActivityStreamsPlace struct { + ActivityStreamsAccuracy vocab.ActivityStreamsAccuracyProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLatitude vocab.ActivityStreamsLatitudeProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsLongitude vocab.ActivityStreamsLongitudeProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsRadius vocab.ActivityStreamsRadiusProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUnits vocab.ActivityStreamsUnitsProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsPlaceExtends returns true if the Place type extends from the +// other type. +func ActivityStreamsPlaceExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializePlace creates a Place from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializePlace(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsPlace, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsPlace{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Place" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Place", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Place" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Place") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAccuracyPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAccuracy = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLatitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLatitude = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeLongitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLongitude = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRadiusPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsRadius = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUnitsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUnits = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "accuracy" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "latitude" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "longitude" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "radius" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "units" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsPlace returns true if the other provided type is the Place type or +// extends from the Place type. +func IsOrExtendsPlace(other vocab.Type) bool { + if other.GetTypeName() == "Place" { + return true + } + return PlaceIsExtendedBy(other) +} + +// NewActivityStreamsPlace creates a new Place type +func NewActivityStreamsPlace() *ActivityStreamsPlace { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Place") + return &ActivityStreamsPlace{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// PlaceIsDisjointWith returns true if the other provided type is disjoint with +// the Place type. +func PlaceIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// PlaceIsExtendedBy returns true if the other provided type extends from the +// Place type. Note that it returns false if the types are the same; see the +// "IsOrExtendsPlace" variant instead. +func PlaceIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAccuracy returns the "accuracy" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsAccuracy() vocab.ActivityStreamsAccuracyProperty { + return this.ActivityStreamsAccuracy +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLatitude returns the "latitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsLatitude() vocab.ActivityStreamsLatitudeProperty { + return this.ActivityStreamsLatitude +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsLongitude returns the "longitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsLongitude() vocab.ActivityStreamsLongitudeProperty { + return this.ActivityStreamsLongitude +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsRadius returns the "radius" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsRadius() vocab.ActivityStreamsRadiusProperty { + return this.ActivityStreamsRadius +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUnits returns the "units" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsUnits() vocab.ActivityStreamsUnitsProperty { + return this.ActivityStreamsUnits +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsPlace) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsPlace) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPlace) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsPlace) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsPlace) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsPlace) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsPlace) GetTypeName() string { + return "Place" +} + +// GetUnknownProperties returns the unknown properties for the Place type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsPlace) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Place type extends from the other type. +func (this ActivityStreamsPlace) IsExtending(other vocab.Type) bool { + return ActivityStreamsPlaceExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsPlace) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAccuracy, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLatitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsLongitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsRadius, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUnits, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Place is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsPlace) LessThan(o vocab.ActivityStreamsPlace) bool { + // Begin: Compare known properties + // Compare property "accuracy" + if lhs, rhs := this.ActivityStreamsAccuracy, o.GetActivityStreamsAccuracy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "latitude" + if lhs, rhs := this.ActivityStreamsLatitude, o.GetActivityStreamsLatitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "longitude" + if lhs, rhs := this.ActivityStreamsLongitude, o.GetActivityStreamsLongitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "radius" + if lhs, rhs := this.ActivityStreamsRadius, o.GetActivityStreamsRadius(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "units" + if lhs, rhs := this.ActivityStreamsUnits, o.GetActivityStreamsUnits(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsPlace) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Place" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Place" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "accuracy" + if this.ActivityStreamsAccuracy != nil { + if i, err := this.ActivityStreamsAccuracy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAccuracy.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "latitude" + if this.ActivityStreamsLatitude != nil { + if i, err := this.ActivityStreamsLatitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLatitude.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "longitude" + if this.ActivityStreamsLongitude != nil { + if i, err := this.ActivityStreamsLongitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLongitude.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "radius" + if this.ActivityStreamsRadius != nil { + if i, err := this.ActivityStreamsRadius.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsRadius.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "units" + if this.ActivityStreamsUnits != nil { + if i, err := this.ActivityStreamsUnits.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUnits.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAccuracy sets the "accuracy" property. +func (this *ActivityStreamsPlace) SetActivityStreamsAccuracy(i vocab.ActivityStreamsAccuracyProperty) { + this.ActivityStreamsAccuracy = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsPlace) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsPlace) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsPlace) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsPlace) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsPlace) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsPlace) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsPlace) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsPlace) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsPlace) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsPlace) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsPlace) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsPlace) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsPlace) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsPlace) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsPlace) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLatitude sets the "latitude" property. +func (this *ActivityStreamsPlace) SetActivityStreamsLatitude(i vocab.ActivityStreamsLatitudeProperty) { + this.ActivityStreamsLatitude = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsPlace) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsPlace) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsLongitude sets the "longitude" property. +func (this *ActivityStreamsPlace) SetActivityStreamsLongitude(i vocab.ActivityStreamsLongitudeProperty) { + this.ActivityStreamsLongitude = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsPlace) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsPlace) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsPlace) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsPlace) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsPlace) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsRadius sets the "radius" property. +func (this *ActivityStreamsPlace) SetActivityStreamsRadius(i vocab.ActivityStreamsRadiusProperty) { + this.ActivityStreamsRadius = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsPlace) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsPlace) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsPlace) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsPlace) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsPlace) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsPlace) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsPlace) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUnits sets the "units" property. +func (this *ActivityStreamsPlace) SetActivityStreamsUnits(i vocab.ActivityStreamsUnitsProperty) { + this.ActivityStreamsUnits = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsPlace) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsPlace) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsPlace) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsPlace) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsPlace) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsPlace) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsPlace) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsPlace) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsPlace) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_doc.go new file mode 100644 index 000000000..7193cc46a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeprofile contains the implementation for the Profile type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeprofile diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_pkg.go new file mode 100644 index 000000000..10d39ecdf --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_pkg.go @@ -0,0 +1,191 @@ +// Code generated by astool. DO NOT EDIT. + +package typeprofile + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDescribesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDescribesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDescribesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDescribesProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_type_activitystreams_profile.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_type_activitystreams_profile.go new file mode 100644 index 000000000..e97304bc0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_profile/gen_type_activitystreams_profile.go @@ -0,0 +1,1777 @@ +// Code generated by astool. DO NOT EDIT. + +package typeprofile + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A Profile is a content object that describes another Object, typically used to +// describe Actor Type objects. The describes property is used to reference +// the object being described by the profile. +// +// Example 59 (https://www.w3.org/TR/activitystreams-vocabulary/#ex184a-jsonld): +// { +// "describes": { +// "name": "Sally Smith", +// "type": "Person" +// }, +// "summary": "Sally's Profile", +// "type": "Profile" +// } +type ActivityStreamsProfile struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDescribes vocab.ActivityStreamsDescribesProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsProfileExtends returns true if the Profile type extends from the +// other type. +func ActivityStreamsProfileExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeProfile creates a Profile from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeProfile(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsProfile, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsProfile{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Profile" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Profile", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Profile" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Profile") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDescribesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDescribes = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "describes" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsProfile returns true if the other provided type is the Profile type +// or extends from the Profile type. +func IsOrExtendsProfile(other vocab.Type) bool { + if other.GetTypeName() == "Profile" { + return true + } + return ProfileIsExtendedBy(other) +} + +// NewActivityStreamsProfile creates a new Profile type +func NewActivityStreamsProfile() *ActivityStreamsProfile { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Profile") + return &ActivityStreamsProfile{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// ProfileIsDisjointWith returns true if the other provided type is disjoint with +// the Profile type. +func ProfileIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ProfileIsExtendedBy returns true if the other provided type extends from the +// Profile type. Note that it returns false if the types are the same; see the +// "IsOrExtendsProfile" variant instead. +func ProfileIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDescribes returns the "describes" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsDescribes() vocab.ActivityStreamsDescribesProperty { + return this.ActivityStreamsDescribes +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsProfile) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsProfile) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsProfile) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsProfile) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsProfile) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsProfile) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsProfile) GetTypeName() string { + return "Profile" +} + +// GetUnknownProperties returns the unknown properties for the Profile type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsProfile) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Profile type extends from the other type. +func (this ActivityStreamsProfile) IsExtending(other vocab.Type) bool { + return ActivityStreamsProfileExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsProfile) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDescribes, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Profile is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsProfile) LessThan(o vocab.ActivityStreamsProfile) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "describes" + if lhs, rhs := this.ActivityStreamsDescribes, o.GetActivityStreamsDescribes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsProfile) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Profile" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Profile" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "describes" + if this.ActivityStreamsDescribes != nil { + if i, err := this.ActivityStreamsDescribes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDescribes.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsProfile) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsProfile) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsProfile) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsProfile) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsProfile) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsProfile) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsProfile) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsProfile) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsProfile) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDescribes sets the "describes" property. +func (this *ActivityStreamsProfile) SetActivityStreamsDescribes(i vocab.ActivityStreamsDescribesProperty) { + this.ActivityStreamsDescribes = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsProfile) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsProfile) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsProfile) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsProfile) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsProfile) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsProfile) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsProfile) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsProfile) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsProfile) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsProfile) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsProfile) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsProfile) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsProfile) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsProfile) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsProfile) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsProfile) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsProfile) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsProfile) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsProfile) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsProfile) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsProfile) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsProfile) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsProfile) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsProfile) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsProfile) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsProfile) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsProfile) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsProfile) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsProfile) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_doc.go new file mode 100644 index 000000000..14eb8a236 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typequestion contains the implementation for the Question type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typequestion diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_pkg.go new file mode 100644 index 000000000..ba6d5c845 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_pkg.go @@ -0,0 +1,219 @@ +// Code generated by astool. DO NOT EDIT. + +package typequestion + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAnyOfPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAnyOfProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAnyOfPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnyOfProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeClosedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsClosedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeClosedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsClosedProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeOneOfPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOneOfProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOneOfPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOneOfProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) + // DeserializeVotersCountPropertyToot returns the deserialization method + // for the "TootVotersCountProperty" non-functional property in the + // vocabulary "Toot" + DeserializeVotersCountPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootVotersCountProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_type_activitystreams_question.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_type_activitystreams_question.go new file mode 100644 index 000000000..ce697f023 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_question/gen_type_activitystreams_question.go @@ -0,0 +1,2087 @@ +// Code generated by astool. DO NOT EDIT. + +package typequestion + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a question being asked. Question objects are an extension of +// IntransitiveActivity. That is, the Question object is an Activity, but the +// direct object is the question itself and therefore it would not contain an +// object property. Either of the anyOf and oneOf properties MAY be used to +// express possible answers, but a Question object MUST NOT have both +// properties. +// +// Example 40 (https://www.w3.org/TR/activitystreams-vocabulary/#ex55a-jsonld): +// { +// "name": "What is the answer?", +// "oneOf": [ +// { +// "name": "Option A", +// "type": "Note" +// }, +// { +// "name": "Option B", +// "type": "Note" +// } +// ], +// "type": "Question" +// } +// +// Example 41 (https://www.w3.org/TR/activitystreams-vocabulary/#ex55b-jsonld): +// { +// "closed": "2016-05-10T00:00:00Z", +// "name": "What is the answer?", +// "type": "Question" +// } +type ActivityStreamsQuestion struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAnyOf vocab.ActivityStreamsAnyOfProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsClosed vocab.ActivityStreamsClosedProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsOneOf vocab.ActivityStreamsOneOfProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + TootVotersCount vocab.TootVotersCountProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsQuestionExtends returns true if the Question type extends from +// the other type. +func ActivityStreamsQuestionExtends(other vocab.Type) bool { + extensions := []string{"Activity", "IntransitiveActivity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeQuestion creates a Question from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeQuestion(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsQuestion, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsQuestion{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Question" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Question", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Question" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Question") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAnyOfPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAnyOf = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeClosedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsClosed = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeOneOfPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOneOf = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + if p, err := mgr.DeserializeVotersCountPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootVotersCount = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "anyOf" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "closed" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "oneOf" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } else if k == "votersCount" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsQuestion returns true if the other provided type is the Question +// type or extends from the Question type. +func IsOrExtendsQuestion(other vocab.Type) bool { + if other.GetTypeName() == "Question" { + return true + } + return QuestionIsExtendedBy(other) +} + +// NewActivityStreamsQuestion creates a new Question type +func NewActivityStreamsQuestion() *ActivityStreamsQuestion { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Question") + return &ActivityStreamsQuestion{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// QuestionIsDisjointWith returns true if the other provided type is disjoint with +// the Question type. +func QuestionIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// QuestionIsExtendedBy returns true if the other provided type extends from the +// Question type. Note that it returns false if the types are the same; see +// the "IsOrExtendsQuestion" variant instead. +func QuestionIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAnyOf returns the "anyOf" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsAnyOf() vocab.ActivityStreamsAnyOfProperty { + return this.ActivityStreamsAnyOf +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsClosed returns the "closed" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsClosed() vocab.ActivityStreamsClosedProperty { + return this.ActivityStreamsClosed +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsOneOf returns the "oneOf" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsOneOf() vocab.ActivityStreamsOneOfProperty { + return this.ActivityStreamsOneOf +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsQuestion) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsQuestion) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsQuestion) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsQuestion) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsQuestion) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootVotersCount returns the "votersCount" property if it exists, and nil +// otherwise. +func (this ActivityStreamsQuestion) GetTootVotersCount() vocab.TootVotersCountProperty { + return this.TootVotersCount +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsQuestion) GetTypeName() string { + return "Question" +} + +// GetUnknownProperties returns the unknown properties for the Question type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsQuestion) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Question type extends from the other type. +func (this ActivityStreamsQuestion) IsExtending(other vocab.Type) bool { + return ActivityStreamsQuestionExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsQuestion) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAnyOf, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsClosed, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsOneOf, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + m = this.helperJSONLDContext(this.TootVotersCount, m) + + return m +} + +// LessThan computes if this Question is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsQuestion) LessThan(o vocab.ActivityStreamsQuestion) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "anyOf" + if lhs, rhs := this.ActivityStreamsAnyOf, o.GetActivityStreamsAnyOf(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "closed" + if lhs, rhs := this.ActivityStreamsClosed, o.GetActivityStreamsClosed(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "oneOf" + if lhs, rhs := this.ActivityStreamsOneOf, o.GetActivityStreamsOneOf(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "votersCount" + if lhs, rhs := this.TootVotersCount, o.GetTootVotersCount(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsQuestion) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Question" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Question" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "anyOf" + if this.ActivityStreamsAnyOf != nil { + if i, err := this.ActivityStreamsAnyOf.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAnyOf.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "closed" + if this.ActivityStreamsClosed != nil { + if i, err := this.ActivityStreamsClosed.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsClosed.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "oneOf" + if this.ActivityStreamsOneOf != nil { + if i, err := this.ActivityStreamsOneOf.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOneOf.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // Maybe serialize property "votersCount" + if this.TootVotersCount != nil { + if i, err := this.TootVotersCount.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootVotersCount.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAnyOf sets the "anyOf" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsAnyOf(i vocab.ActivityStreamsAnyOfProperty) { + this.ActivityStreamsAnyOf = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsClosed sets the "closed" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsClosed(i vocab.ActivityStreamsClosedProperty) { + this.ActivityStreamsClosed = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsOneOf sets the "oneOf" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsOneOf(i vocab.ActivityStreamsOneOfProperty) { + this.ActivityStreamsOneOf = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsQuestion) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsQuestion) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsQuestion) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsQuestion) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsQuestion) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsQuestion) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootVotersCount sets the "votersCount" property. +func (this *ActivityStreamsQuestion) SetTootVotersCount(i vocab.TootVotersCountProperty) { + this.TootVotersCount = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsQuestion) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsQuestion) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_doc.go new file mode 100644 index 000000000..cb52b3047 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeread contains the implementation for the Read type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeread diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_pkg.go new file mode 100644 index 000000000..d40fceeb1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeread + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_type_activitystreams_read.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_type_activitystreams_read.go new file mode 100644 index 000000000..1798c11b0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_read/gen_type_activitystreams_read.go @@ -0,0 +1,1944 @@ +// Code generated by astool. DO NOT EDIT. + +package typeread + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has read the object. +// +// Example 33 (https://www.w3.org/TR/activitystreams-vocabulary/#ex164-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/posts/1", +// "summary": "Sally read a blog post", +// "type": "Read" +// } +type ActivityStreamsRead struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsReadExtends returns true if the Read type extends from the other +// type. +func ActivityStreamsReadExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeRead creates a Read from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeRead(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsRead, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsRead{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Read" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Read", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Read" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Read") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsRead returns true if the other provided type is the Read type or +// extends from the Read type. +func IsOrExtendsRead(other vocab.Type) bool { + if other.GetTypeName() == "Read" { + return true + } + return ReadIsExtendedBy(other) +} + +// NewActivityStreamsRead creates a new Read type +func NewActivityStreamsRead() *ActivityStreamsRead { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Read") + return &ActivityStreamsRead{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// ReadIsDisjointWith returns true if the other provided type is disjoint with the +// Read type. +func ReadIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ReadIsExtendedBy returns true if the other provided type extends from the Read +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsRead" variant instead. +func ReadIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsRead) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRead) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsRead) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRead) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRead) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsRead) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsRead) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsRead) GetTypeName() string { + return "Read" +} + +// GetUnknownProperties returns the unknown properties for the Read type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsRead) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Read type extends from the other type. +func (this ActivityStreamsRead) IsExtending(other vocab.Type) bool { + return ActivityStreamsReadExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsRead) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Read is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsRead) LessThan(o vocab.ActivityStreamsRead) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsRead) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Read" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Read" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsRead) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsRead) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsRead) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsRead) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsRead) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsRead) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsRead) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsRead) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsRead) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsRead) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsRead) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsRead) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsRead) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsRead) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsRead) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsRead) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsRead) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsRead) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsRead) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsRead) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsRead) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsRead) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsRead) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsRead) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsRead) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsRead) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsRead) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsRead) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsRead) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsRead) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsRead) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsRead) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsRead) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsRead) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsRead) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsRead) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsRead) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsRead) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsRead) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsRead) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsRead) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsRead) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsRead) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_doc.go new file mode 100644 index 000000000..4abce491a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typereject contains the implementation for the Reject type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typereject diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_pkg.go new file mode 100644 index 000000000..ac028f01b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typereject + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_type_activitystreams_reject.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_type_activitystreams_reject.go new file mode 100644 index 000000000..6e91d0a81 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_reject/gen_type_activitystreams_reject.go @@ -0,0 +1,1957 @@ +// Code generated by astool. DO NOT EDIT. + +package typereject + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is rejecting the object. The target and origin +// typically have no defined meaning. +// +// Example 25 (https://www.w3.org/TR/activitystreams-vocabulary/#ex26-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://john.example.org", +// "object": { +// "name": "Going-Away Party for Jim", +// "type": "Event" +// }, +// "type": "Invite" +// }, +// "summary": "Sally rejected an invitation to a party", +// "type": "Reject" +// } +type ActivityStreamsReject struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsRejectExtends returns true if the Reject type extends from the +// other type. +func ActivityStreamsRejectExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeReject creates a Reject from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeReject(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsReject, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsReject{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Reject" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Reject", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Reject" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Reject") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsReject returns true if the other provided type is the Reject type or +// extends from the Reject type. +func IsOrExtendsReject(other vocab.Type) bool { + if other.GetTypeName() == "Reject" { + return true + } + return RejectIsExtendedBy(other) +} + +// NewActivityStreamsReject creates a new Reject type +func NewActivityStreamsReject() *ActivityStreamsReject { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Reject") + return &ActivityStreamsReject{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// RejectIsDisjointWith returns true if the other provided type is disjoint with +// the Reject type. +func RejectIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// RejectIsExtendedBy returns true if the other provided type extends from the +// Reject type. Note that it returns false if the types are the same; see the +// "IsOrExtendsReject" variant instead. +func RejectIsExtendedBy(other vocab.Type) bool { + extensions := []string{"TentativeReject"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsReject) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsReject) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsReject) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsReject) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsReject) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsReject) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsReject) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsReject) GetTypeName() string { + return "Reject" +} + +// GetUnknownProperties returns the unknown properties for the Reject type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsReject) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Reject type extends from the other type. +func (this ActivityStreamsReject) IsExtending(other vocab.Type) bool { + return ActivityStreamsRejectExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsReject) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Reject is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsReject) LessThan(o vocab.ActivityStreamsReject) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsReject) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Reject" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Reject" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsReject) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsReject) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsReject) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsReject) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsReject) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsReject) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsReject) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsReject) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsReject) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsReject) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsReject) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsReject) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsReject) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsReject) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsReject) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsReject) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsReject) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsReject) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsReject) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsReject) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsReject) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsReject) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsReject) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsReject) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsReject) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsReject) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsReject) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsReject) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsReject) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsReject) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsReject) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsReject) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsReject) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsReject) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsReject) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsReject) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsReject) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsReject) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsReject) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsReject) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsReject) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsReject) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsReject) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_doc.go new file mode 100644 index 000000000..0f685e305 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typerelationship contains the implementation for the Relationship type. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typerelationship diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_pkg.go new file mode 100644 index 000000000..de79ecc92 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_pkg.go @@ -0,0 +1,196 @@ +// Code generated by astool. DO NOT EDIT. + +package typerelationship + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRelationshipPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsRelationshipProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeRelationshipPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationshipProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSubjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSubjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSubjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSubjectProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_type_activitystreams_relationship.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_type_activitystreams_relationship.go new file mode 100644 index 000000000..b70696799 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_relationship/gen_type_activitystreams_relationship.go @@ -0,0 +1,1829 @@ +// Code generated by astool. DO NOT EDIT. + +package typerelationship + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Describes a relationship between two individuals. The subject and object +// properties are used to identify the connected individuals. See 5.2 +// Representing Relationships Between Entities for additional information. +// +// Example 47 (https://www.w3.org/TR/activitystreams-vocabulary/#ex22-jsonld): +// { +// "object": { +// "name": "John", +// "type": "Person" +// }, +// "relationship": "http://purl.org/vocab/relationship/acquaintanceOf", +// "subject": { +// "name": "Sally", +// "type": "Person" +// }, +// "summary": "Sally is an acquaintance of John", +// "type": "Relationship" +// } +type ActivityStreamsRelationship struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsRelationship vocab.ActivityStreamsRelationshipProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSubject vocab.ActivityStreamsSubjectProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsRelationshipExtends returns true if the Relationship type +// extends from the other type. +func ActivityStreamsRelationshipExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeRelationship creates a Relationship from a map representation that +// has been unmarshalled from a text or binary format. +func DeserializeRelationship(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsRelationship, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsRelationship{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Relationship" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Relationship", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Relationship" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Relationship") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRelationshipPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsRelationship = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSubjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSubject = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "relationship" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "subject" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsRelationship returns true if the other provided type is the +// Relationship type or extends from the Relationship type. +func IsOrExtendsRelationship(other vocab.Type) bool { + if other.GetTypeName() == "Relationship" { + return true + } + return RelationshipIsExtendedBy(other) +} + +// NewActivityStreamsRelationship creates a new Relationship type +func NewActivityStreamsRelationship() *ActivityStreamsRelationship { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Relationship") + return &ActivityStreamsRelationship{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// RelationshipIsDisjointWith returns true if the other provided type is disjoint +// with the Relationship type. +func RelationshipIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// RelationshipIsExtendedBy returns true if the other provided type extends from +// the Relationship type. Note that it returns false if the types are the +// same; see the "IsOrExtendsRelationship" variant instead. +func RelationshipIsExtendedBy(other vocab.Type) bool { + extensions := []string{"TicketDependency"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsRelationship returns the "relationship" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationshipProperty { + return this.ActivityStreamsRelationship +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSubject returns the "subject" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsSubject() vocab.ActivityStreamsSubjectProperty { + return this.ActivityStreamsSubject +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRelationship) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsRelationship) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsRelationship) GetTypeName() string { + return "Relationship" +} + +// GetUnknownProperties returns the unknown properties for the Relationship type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsRelationship) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Relationship type extends from the other type. +func (this ActivityStreamsRelationship) IsExtending(other vocab.Type) bool { + return ActivityStreamsRelationshipExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsRelationship) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsRelationship, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSubject, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Relationship is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsRelationship) LessThan(o vocab.ActivityStreamsRelationship) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "relationship" + if lhs, rhs := this.ActivityStreamsRelationship, o.GetActivityStreamsRelationship(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "subject" + if lhs, rhs := this.ActivityStreamsSubject, o.GetActivityStreamsSubject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsRelationship) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Relationship" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Relationship" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "relationship" + if this.ActivityStreamsRelationship != nil { + if i, err := this.ActivityStreamsRelationship.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsRelationship.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "subject" + if this.ActivityStreamsSubject != nil { + if i, err := this.ActivityStreamsSubject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSubject.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsRelationship sets the "relationship" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsRelationship(i vocab.ActivityStreamsRelationshipProperty) { + this.ActivityStreamsRelationship = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSubject sets the "subject" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsSubject(i vocab.ActivityStreamsSubjectProperty) { + this.ActivityStreamsSubject = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsRelationship) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsRelationship) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsRelationship) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsRelationship) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsRelationship) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsRelationship) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsRelationship) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsRelationship) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_doc.go new file mode 100644 index 000000000..d409311f3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeremove contains the implementation for the Remove type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeremove diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_pkg.go new file mode 100644 index 000000000..db9bfc61a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeremove + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_type_activitystreams_remove.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_type_activitystreams_remove.go new file mode 100644 index 000000000..cb9733345 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_remove/gen_type_activitystreams_remove.go @@ -0,0 +1,1967 @@ +// Code generated by astool. DO NOT EDIT. + +package typeremove + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is removing the object. If specified, the origin +// indicates the context from which the object is being removed. +// +// Example 27 (https://www.w3.org/TR/activitystreams-vocabulary/#ex28-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "summary": "Sally removed a note from her notes folder", +// "target": { +// "name": "Notes Folder", +// "type": "Collection" +// }, +// "type": "Remove" +// } +// +// Example 28 (https://www.w3.org/TR/activitystreams-vocabulary/#ex29-jsonld): +// { +// "actor": { +// "name": "The Moderator", +// "type": "http://example.org/Role" +// }, +// "object": { +// "name": "Sally", +// "type": "Person" +// }, +// "origin": { +// "name": "A Simple Group", +// "type": "Group" +// }, +// "summary": "The moderator removed Sally from a group", +// "type": "Remove" +// } +type ActivityStreamsRemove struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsRemoveExtends returns true if the Remove type extends from the +// other type. +func ActivityStreamsRemoveExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeRemove creates a Remove from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeRemove(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsRemove, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsRemove{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Remove" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Remove", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Remove" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Remove") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsRemove returns true if the other provided type is the Remove type or +// extends from the Remove type. +func IsOrExtendsRemove(other vocab.Type) bool { + if other.GetTypeName() == "Remove" { + return true + } + return RemoveIsExtendedBy(other) +} + +// NewActivityStreamsRemove creates a new Remove type +func NewActivityStreamsRemove() *ActivityStreamsRemove { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Remove") + return &ActivityStreamsRemove{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// RemoveIsDisjointWith returns true if the other provided type is disjoint with +// the Remove type. +func RemoveIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// RemoveIsExtendedBy returns true if the other provided type extends from the +// Remove type. Note that it returns false if the types are the same; see the +// "IsOrExtendsRemove" variant instead. +func RemoveIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsRemove) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsRemove) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRemove) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsRemove) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsRemove) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsRemove) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsRemove) GetTypeName() string { + return "Remove" +} + +// GetUnknownProperties returns the unknown properties for the Remove type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsRemove) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Remove type extends from the other type. +func (this ActivityStreamsRemove) IsExtending(other vocab.Type) bool { + return ActivityStreamsRemoveExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsRemove) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Remove is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsRemove) LessThan(o vocab.ActivityStreamsRemove) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsRemove) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Remove" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Remove" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsRemove) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsRemove) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsRemove) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsRemove) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsRemove) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsRemove) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsRemove) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsRemove) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsRemove) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsRemove) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsRemove) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsRemove) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsRemove) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsRemove) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsRemove) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsRemove) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsRemove) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsRemove) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsRemove) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsRemove) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsRemove) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsRemove) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsRemove) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsRemove) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsRemove) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsRemove) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsRemove) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsRemove) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsRemove) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsRemove) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsRemove) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsRemove) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsRemove) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsRemove) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsRemove) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsRemove) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsRemove) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsRemove) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsRemove) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsRemove) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsRemove) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsRemove) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsRemove) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_doc.go new file mode 100644 index 000000000..6934f11e8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeservice contains the implementation for the Service type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeservice diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_pkg.go new file mode 100644 index 000000000..a8c5f4d3e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_pkg.go @@ -0,0 +1,228 @@ +// Code generated by astool. DO NOT EDIT. + +package typeservice + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDiscoverablePropertyToot returns the deserialization method + // for the "TootDiscoverableProperty" non-functional property in the + // vocabulary "Toot" + DeserializeDiscoverablePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootDiscoverableProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFeaturedPropertyToot returns the deserialization method for + // the "TootFeaturedProperty" non-functional property in the + // vocabulary "Toot" + DeserializeFeaturedPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootFeaturedProperty, error) + // DeserializeFollowersPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowersProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowersPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowersProperty, error) + // DeserializeFollowingPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsFollowingProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeFollowingPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollowingProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInboxProperty, error) + // DeserializeLikedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikedProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOutboxPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOutboxProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOutboxPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOutboxProperty, error) + // DeserializePreferredUsernamePropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsPreferredUsernameProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializePreferredUsernamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreferredUsernameProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublicKeyPropertyW3IDSecurityV1 returns the deserialization + // method for the "W3IDSecurityV1PublicKeyProperty" non-functional + // property in the vocabulary "W3IDSecurityV1" + DeserializePublicKeyPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKeyProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeStreamsPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStreamsProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStreamsPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStreamsProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_type_activitystreams_service.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_type_activitystreams_service.go new file mode 100644 index 000000000..b4a26becd --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_service/gen_type_activitystreams_service.go @@ -0,0 +1,2150 @@ +// Code generated by astool. DO NOT EDIT. + +package typeservice + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a service of any kind. +// +// Example 46 (https://www.w3.org/TR/activitystreams-vocabulary/#ex42-jsonld): +// { +// "name": "Acme Web Service", +// "type": "Service" +// } +type ActivityStreamsService struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + TootDiscoverable vocab.TootDiscoverableProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + TootFeatured vocab.TootFeaturedProperty + ActivityStreamsFollowers vocab.ActivityStreamsFollowersProperty + ActivityStreamsFollowing vocab.ActivityStreamsFollowingProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInbox vocab.ActivityStreamsInboxProperty + ActivityStreamsLiked vocab.ActivityStreamsLikedProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOutbox vocab.ActivityStreamsOutboxProperty + ActivityStreamsPreferredUsername vocab.ActivityStreamsPreferredUsernameProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + W3IDSecurityV1PublicKey vocab.W3IDSecurityV1PublicKeyProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsStreams vocab.ActivityStreamsStreamsProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsServiceExtends returns true if the Service type extends from the +// other type. +func ActivityStreamsServiceExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeService creates a Service from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeService(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsService, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsService{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Service" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Service", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Service" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Service") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDiscoverablePropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootDiscoverable = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFeaturedPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootFeatured = p + } + if p, err := mgr.DeserializeFollowersPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowers = p + } + if p, err := mgr.DeserializeFollowingPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFollowing = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInbox = p + } + if p, err := mgr.DeserializeLikedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLiked = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOutboxPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOutbox = p + } + if p, err := mgr.DeserializePreferredUsernamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreferredUsername = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublicKeyPropertyW3IDSecurityV1()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.W3IDSecurityV1PublicKey = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeStreamsPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStreams = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "discoverable" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "featured" { + continue + } else if k == "followers" { + continue + } else if k == "following" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "inbox" { + continue + } else if k == "liked" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "outbox" { + continue + } else if k == "preferredUsername" { + continue + } else if k == "preferredUsernameMap" { + continue + } else if k == "preview" { + continue + } else if k == "publicKey" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "streams" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsService returns true if the other provided type is the Service type +// or extends from the Service type. +func IsOrExtendsService(other vocab.Type) bool { + if other.GetTypeName() == "Service" { + return true + } + return ServiceIsExtendedBy(other) +} + +// NewActivityStreamsService creates a new Service type +func NewActivityStreamsService() *ActivityStreamsService { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Service") + return &ActivityStreamsService{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// ServiceIsDisjointWith returns true if the other provided type is disjoint with +// the Service type. +func ServiceIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ServiceIsExtendedBy returns true if the other provided type extends from the +// Service type. Note that it returns false if the types are the same; see the +// "IsOrExtendsService" variant instead. +func ServiceIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFollowers returns the "followers" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsFollowers() vocab.ActivityStreamsFollowersProperty { + return this.ActivityStreamsFollowers +} + +// GetActivityStreamsFollowing returns the "following" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsFollowing() vocab.ActivityStreamsFollowingProperty { + return this.ActivityStreamsFollowing +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInbox returns the "inbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsInbox() vocab.ActivityStreamsInboxProperty { + return this.ActivityStreamsInbox +} + +// GetActivityStreamsLiked returns the "liked" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsLiked() vocab.ActivityStreamsLikedProperty { + return this.ActivityStreamsLiked +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOutbox returns the "outbox" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsOutbox() vocab.ActivityStreamsOutboxProperty { + return this.ActivityStreamsOutbox +} + +// GetActivityStreamsPreferredUsername returns the "preferredUsername" property if +// it exists, and nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsPreferredUsername() vocab.ActivityStreamsPreferredUsernameProperty { + return this.ActivityStreamsPreferredUsername +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsStreams returns the "streams" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsStreams() vocab.ActivityStreamsStreamsProperty { + return this.ActivityStreamsStreams +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsService) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsService) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsService) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsService) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsService) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsService) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootDiscoverable returns the "discoverable" property if it exists, and nil +// otherwise. +func (this ActivityStreamsService) GetTootDiscoverable() vocab.TootDiscoverableProperty { + return this.TootDiscoverable +} + +// GetTootFeatured returns the "featured" property if it exists, and nil otherwise. +func (this ActivityStreamsService) GetTootFeatured() vocab.TootFeaturedProperty { + return this.TootFeatured +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsService) GetTypeName() string { + return "Service" +} + +// GetUnknownProperties returns the unknown properties for the Service type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsService) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// GetW3IDSecurityV1PublicKey returns the "publicKey" property if it exists, and +// nil otherwise. +func (this ActivityStreamsService) GetW3IDSecurityV1PublicKey() vocab.W3IDSecurityV1PublicKeyProperty { + return this.W3IDSecurityV1PublicKey +} + +// IsExtending returns true if the Service type extends from the other type. +func (this ActivityStreamsService) IsExtending(other vocab.Type) bool { + return ActivityStreamsServiceExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsService) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.TootDiscoverable, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.TootFeatured, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowers, m) + m = this.helperJSONLDContext(this.ActivityStreamsFollowing, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsLiked, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOutbox, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreferredUsername, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.W3IDSecurityV1PublicKey, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsStreams, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Service is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsService) LessThan(o vocab.ActivityStreamsService) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "discoverable" + if lhs, rhs := this.TootDiscoverable, o.GetTootDiscoverable(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "featured" + if lhs, rhs := this.TootFeatured, o.GetTootFeatured(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "followers" + if lhs, rhs := this.ActivityStreamsFollowers, o.GetActivityStreamsFollowers(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "following" + if lhs, rhs := this.ActivityStreamsFollowing, o.GetActivityStreamsFollowing(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inbox" + if lhs, rhs := this.ActivityStreamsInbox, o.GetActivityStreamsInbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "liked" + if lhs, rhs := this.ActivityStreamsLiked, o.GetActivityStreamsLiked(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "outbox" + if lhs, rhs := this.ActivityStreamsOutbox, o.GetActivityStreamsOutbox(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preferredUsername" + if lhs, rhs := this.ActivityStreamsPreferredUsername, o.GetActivityStreamsPreferredUsername(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "publicKey" + if lhs, rhs := this.W3IDSecurityV1PublicKey, o.GetW3IDSecurityV1PublicKey(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "streams" + if lhs, rhs := this.ActivityStreamsStreams, o.GetActivityStreamsStreams(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsService) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Service" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Service" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "discoverable" + if this.TootDiscoverable != nil { + if i, err := this.TootDiscoverable.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootDiscoverable.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "featured" + if this.TootFeatured != nil { + if i, err := this.TootFeatured.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootFeatured.Name()] = i + } + } + // Maybe serialize property "followers" + if this.ActivityStreamsFollowers != nil { + if i, err := this.ActivityStreamsFollowers.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowers.Name()] = i + } + } + // Maybe serialize property "following" + if this.ActivityStreamsFollowing != nil { + if i, err := this.ActivityStreamsFollowing.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFollowing.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "inbox" + if this.ActivityStreamsInbox != nil { + if i, err := this.ActivityStreamsInbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInbox.Name()] = i + } + } + // Maybe serialize property "liked" + if this.ActivityStreamsLiked != nil { + if i, err := this.ActivityStreamsLiked.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLiked.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "outbox" + if this.ActivityStreamsOutbox != nil { + if i, err := this.ActivityStreamsOutbox.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOutbox.Name()] = i + } + } + // Maybe serialize property "preferredUsername" + if this.ActivityStreamsPreferredUsername != nil { + if i, err := this.ActivityStreamsPreferredUsername.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreferredUsername.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "publicKey" + if this.W3IDSecurityV1PublicKey != nil { + if i, err := this.W3IDSecurityV1PublicKey.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.W3IDSecurityV1PublicKey.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "streams" + if this.ActivityStreamsStreams != nil { + if i, err := this.ActivityStreamsStreams.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStreams.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsService) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsService) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsService) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsService) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsService) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsService) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsService) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsService) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsService) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsService) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsService) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFollowers sets the "followers" property. +func (this *ActivityStreamsService) SetActivityStreamsFollowers(i vocab.ActivityStreamsFollowersProperty) { + this.ActivityStreamsFollowers = i +} + +// SetActivityStreamsFollowing sets the "following" property. +func (this *ActivityStreamsService) SetActivityStreamsFollowing(i vocab.ActivityStreamsFollowingProperty) { + this.ActivityStreamsFollowing = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsService) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsService) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsService) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsService) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInbox sets the "inbox" property. +func (this *ActivityStreamsService) SetActivityStreamsInbox(i vocab.ActivityStreamsInboxProperty) { + this.ActivityStreamsInbox = i +} + +// SetActivityStreamsLiked sets the "liked" property. +func (this *ActivityStreamsService) SetActivityStreamsLiked(i vocab.ActivityStreamsLikedProperty) { + this.ActivityStreamsLiked = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsService) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsService) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsService) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsService) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsService) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOutbox sets the "outbox" property. +func (this *ActivityStreamsService) SetActivityStreamsOutbox(i vocab.ActivityStreamsOutboxProperty) { + this.ActivityStreamsOutbox = i +} + +// SetActivityStreamsPreferredUsername sets the "preferredUsername" property. +func (this *ActivityStreamsService) SetActivityStreamsPreferredUsername(i vocab.ActivityStreamsPreferredUsernameProperty) { + this.ActivityStreamsPreferredUsername = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsService) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsService) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsService) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsService) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsService) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsService) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsStreams sets the "streams" property. +func (this *ActivityStreamsService) SetActivityStreamsStreams(i vocab.ActivityStreamsStreamsProperty) { + this.ActivityStreamsStreams = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsService) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsService) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsService) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsService) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsService) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsService) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsService) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsService) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsService) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsService) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootDiscoverable sets the "discoverable" property. +func (this *ActivityStreamsService) SetTootDiscoverable(i vocab.TootDiscoverableProperty) { + this.TootDiscoverable = i +} + +// SetTootFeatured sets the "featured" property. +func (this *ActivityStreamsService) SetTootFeatured(i vocab.TootFeaturedProperty) { + this.TootFeatured = i +} + +// SetW3IDSecurityV1PublicKey sets the "publicKey" property. +func (this *ActivityStreamsService) SetW3IDSecurityV1PublicKey(i vocab.W3IDSecurityV1PublicKeyProperty) { + this.W3IDSecurityV1PublicKey = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsService) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsService) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_doc.go new file mode 100644 index 000000000..117206aec --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typetentativeaccept contains the implementation for the TentativeAccept +// type. All applications are strongly encouraged to use the interface instead +// of this concrete definition. The interfaces allow applications to consume +// only the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typetentativeaccept diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_pkg.go new file mode 100644 index 000000000..546e28c3a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typetentativeaccept + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_type_activitystreams_tentativeaccept.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_type_activitystreams_tentativeaccept.go new file mode 100644 index 000000000..8836a4079 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept/gen_type_activitystreams_tentativeaccept.go @@ -0,0 +1,1952 @@ +// Code generated by astool. DO NOT EDIT. + +package typetentativeaccept + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A specialization of Accept indicating that the acceptance is tentative. +// +// Example 11 (https://www.w3.org/TR/activitystreams-vocabulary/#ex8-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://john.example.org", +// "object": { +// "name": "Going-Away Party for Jim", +// "type": "Event" +// }, +// "type": "Invite" +// }, +// "summary": "Sally tentatively accepted an invitation to a party", +// "type": "TentativeAccept" +// } +type ActivityStreamsTentativeAccept struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsTentativeAcceptExtends returns true if the TentativeAccept type +// extends from the other type. +func ActivityStreamsTentativeAcceptExtends(other vocab.Type) bool { + extensions := []string{"Accept", "Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeTentativeAccept creates a TentativeAccept from a map representation +// that has been unmarshalled from a text or binary format. +func DeserializeTentativeAccept(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsTentativeAccept, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsTentativeAccept{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "TentativeAccept" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "TentativeAccept", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "TentativeAccept" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "TentativeAccept") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsTentativeAccept returns true if the other provided type is the +// TentativeAccept type or extends from the TentativeAccept type. +func IsOrExtendsTentativeAccept(other vocab.Type) bool { + if other.GetTypeName() == "TentativeAccept" { + return true + } + return TentativeAcceptIsExtendedBy(other) +} + +// NewActivityStreamsTentativeAccept creates a new TentativeAccept type +func NewActivityStreamsTentativeAccept() *ActivityStreamsTentativeAccept { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("TentativeAccept") + return &ActivityStreamsTentativeAccept{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TentativeAcceptIsDisjointWith returns true if the other provided type is +// disjoint with the TentativeAccept type. +func TentativeAcceptIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// TentativeAcceptIsExtendedBy returns true if the other provided type extends +// from the TentativeAccept type. Note that it returns false if the types are +// the same; see the "IsOrExtendsTentativeAccept" variant instead. +func TentativeAcceptIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeAccept) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeAccept) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsTentativeAccept) GetTypeName() string { + return "TentativeAccept" +} + +// GetUnknownProperties returns the unknown properties for the TentativeAccept +// type. Note that this should not be used by app developers. It is only used +// to help determine which implementation is LessThan the other. Developers +// who are creating a different implementation of this type's interface can +// use this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsTentativeAccept) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the TentativeAccept type extends from the other +// type. +func (this ActivityStreamsTentativeAccept) IsExtending(other vocab.Type) bool { + return ActivityStreamsTentativeAcceptExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsTentativeAccept) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this TentativeAccept is lesser, with an arbitrary but +// stable determination. +func (this ActivityStreamsTentativeAccept) LessThan(o vocab.ActivityStreamsTentativeAccept) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsTentativeAccept) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "TentativeAccept" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "TentativeAccept" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsTentativeAccept) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsTentativeAccept) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsTentativeAccept) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsTentativeAccept) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsTentativeAccept) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsTentativeAccept) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsTentativeAccept) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsTentativeAccept) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_doc.go new file mode 100644 index 000000000..110d80a32 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typetentativereject contains the implementation for the TentativeReject +// type. All applications are strongly encouraged to use the interface instead +// of this concrete definition. The interfaces allow applications to consume +// only the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typetentativereject diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_pkg.go new file mode 100644 index 000000000..4a194a780 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typetentativereject + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_type_activitystreams_tentativereject.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_type_activitystreams_tentativereject.go new file mode 100644 index 000000000..a1abc0b8b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject/gen_type_activitystreams_tentativereject.go @@ -0,0 +1,1952 @@ +// Code generated by astool. DO NOT EDIT. + +package typetentativereject + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A specialization of Reject in which the rejection is considered tentative. +// +// Example 26 (https://www.w3.org/TR/activitystreams-vocabulary/#ex27-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://john.example.org", +// "object": { +// "name": "Going-Away Party for Jim", +// "type": "Event" +// }, +// "type": "Invite" +// }, +// "summary": "Sally tentatively rejected an invitation to a party", +// "type": "TentativeReject" +// } +type ActivityStreamsTentativeReject struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsTentativeRejectExtends returns true if the TentativeReject type +// extends from the other type. +func ActivityStreamsTentativeRejectExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object", "Reject"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeTentativeReject creates a TentativeReject from a map representation +// that has been unmarshalled from a text or binary format. +func DeserializeTentativeReject(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsTentativeReject, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsTentativeReject{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "TentativeReject" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "TentativeReject", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "TentativeReject" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "TentativeReject") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsTentativeReject returns true if the other provided type is the +// TentativeReject type or extends from the TentativeReject type. +func IsOrExtendsTentativeReject(other vocab.Type) bool { + if other.GetTypeName() == "TentativeReject" { + return true + } + return TentativeRejectIsExtendedBy(other) +} + +// NewActivityStreamsTentativeReject creates a new TentativeReject type +func NewActivityStreamsTentativeReject() *ActivityStreamsTentativeReject { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("TentativeReject") + return &ActivityStreamsTentativeReject{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TentativeRejectIsDisjointWith returns true if the other provided type is +// disjoint with the TentativeReject type. +func TentativeRejectIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// TentativeRejectIsExtendedBy returns true if the other provided type extends +// from the TentativeReject type. Note that it returns false if the types are +// the same; see the "IsOrExtendsTentativeReject" variant instead. +func TentativeRejectIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTentativeReject) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeReject) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTentativeReject) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTentativeReject) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeReject) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsTentativeReject) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsTentativeReject) GetTypeName() string { + return "TentativeReject" +} + +// GetUnknownProperties returns the unknown properties for the TentativeReject +// type. Note that this should not be used by app developers. It is only used +// to help determine which implementation is LessThan the other. Developers +// who are creating a different implementation of this type's interface can +// use this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsTentativeReject) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the TentativeReject type extends from the other +// type. +func (this ActivityStreamsTentativeReject) IsExtending(other vocab.Type) bool { + return ActivityStreamsTentativeRejectExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsTentativeReject) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this TentativeReject is lesser, with an arbitrary but +// stable determination. +func (this ActivityStreamsTentativeReject) LessThan(o vocab.ActivityStreamsTentativeReject) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsTentativeReject) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "TentativeReject" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "TentativeReject" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsTentativeReject) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsTentativeReject) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsTentativeReject) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsTentativeReject) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsTentativeReject) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsTentativeReject) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsTentativeReject) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsTentativeReject) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_doc.go new file mode 100644 index 000000000..096ae5fa9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typetombstone contains the implementation for the Tombstone type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typetombstone diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_pkg.go new file mode 100644 index 000000000..1b0eb533e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_pkg.go @@ -0,0 +1,195 @@ +// Code generated by astool. DO NOT EDIT. + +package typetombstone + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDeletedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDeletedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDeletedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDeletedProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFormerTypePropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsFormerTypeProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeFormerTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFormerTypeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_type_activitystreams_tombstone.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_type_activitystreams_tombstone.go new file mode 100644 index 000000000..c561b4bd9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone/gen_type_activitystreams_tombstone.go @@ -0,0 +1,1832 @@ +// Code generated by astool. DO NOT EDIT. + +package typetombstone + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// A Tombstone represents a content object that has been deleted. It can be used +// in Collections to signify that there used to be an object at this position, +// but it has been deleted. +// +// Example 60 (https://www.w3.org/TR/activitystreams-vocabulary/#ex184b-jsonld): +// { +// "name": "Vacation photos 2016", +// "orderedItems": [ +// { +// "id": "http://image.example/1", +// "type": "Image" +// }, +// { +// "deleted": "2016-03-17T00:00:00Z", +// "formerType": "/Image", +// "id": "http://image.example/2", +// "type": "Tombstone" +// }, +// { +// "id": "http://image.example/3", +// "type": "Image" +// } +// ], +// "totalItems": 3, +// "type": "OrderedCollection" +// } +type ActivityStreamsTombstone struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDeleted vocab.ActivityStreamsDeletedProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsFormerType vocab.ActivityStreamsFormerTypeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsTombstoneExtends returns true if the Tombstone type extends from +// the other type. +func ActivityStreamsTombstoneExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeTombstone creates a Tombstone from a map representation that has +// been unmarshalled from a text or binary format. +func DeserializeTombstone(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsTombstone, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsTombstone{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Tombstone" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Tombstone", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Tombstone" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Tombstone") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDeletedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDeleted = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFormerTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsFormerType = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "deleted" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "formerType" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsTombstone returns true if the other provided type is the Tombstone +// type or extends from the Tombstone type. +func IsOrExtendsTombstone(other vocab.Type) bool { + if other.GetTypeName() == "Tombstone" { + return true + } + return TombstoneIsExtendedBy(other) +} + +// NewActivityStreamsTombstone creates a new Tombstone type +func NewActivityStreamsTombstone() *ActivityStreamsTombstone { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Tombstone") + return &ActivityStreamsTombstone{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TombstoneIsDisjointWith returns true if the other provided type is disjoint +// with the Tombstone type. +func TombstoneIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// TombstoneIsExtendedBy returns true if the other provided type extends from the +// Tombstone type. Note that it returns false if the types are the same; see +// the "IsOrExtendsTombstone" variant instead. +func TombstoneIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDeleted returns the "deleted" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsDeleted() vocab.ActivityStreamsDeletedProperty { + return this.ActivityStreamsDeleted +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsFormerType returns the "formerType" property if it exists, +// and nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsFormerType() vocab.ActivityStreamsFormerTypeProperty { + return this.ActivityStreamsFormerType +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTombstone) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsTombstone) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTombstone) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTombstone) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsTombstone) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsTombstone) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsTombstone) GetTypeName() string { + return "Tombstone" +} + +// GetUnknownProperties returns the unknown properties for the Tombstone type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsTombstone) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Tombstone type extends from the other type. +func (this ActivityStreamsTombstone) IsExtending(other vocab.Type) bool { + return ActivityStreamsTombstoneExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsTombstone) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDeleted, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsFormerType, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Tombstone is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsTombstone) LessThan(o vocab.ActivityStreamsTombstone) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "deleted" + if lhs, rhs := this.ActivityStreamsDeleted, o.GetActivityStreamsDeleted(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "formerType" + if lhs, rhs := this.ActivityStreamsFormerType, o.GetActivityStreamsFormerType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsTombstone) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Tombstone" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Tombstone" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "deleted" + if this.ActivityStreamsDeleted != nil { + if i, err := this.ActivityStreamsDeleted.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDeleted.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "formerType" + if this.ActivityStreamsFormerType != nil { + if i, err := this.ActivityStreamsFormerType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsFormerType.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDeleted sets the "deleted" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsDeleted(i vocab.ActivityStreamsDeletedProperty) { + this.ActivityStreamsDeleted = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsFormerType sets the "formerType" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsFormerType(i vocab.ActivityStreamsFormerTypeProperty) { + this.ActivityStreamsFormerType = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsTombstone) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsTombstone) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsTombstone) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsTombstone) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsTombstone) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsTombstone) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsTombstone) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsTombstone) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_doc.go new file mode 100644 index 000000000..40726b064 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typetravel contains the implementation for the Travel type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typetravel diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_pkg.go new file mode 100644 index 000000000..cae76f278 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_pkg.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package typetravel + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_type_activitystreams_travel.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_type_activitystreams_travel.go new file mode 100644 index 000000000..691cb3e0d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_travel/gen_type_activitystreams_travel.go @@ -0,0 +1,1911 @@ +// Code generated by astool. DO NOT EDIT. + +package typetravel + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is traveling to target from origin. Travel is an +// IntransitiveActivity whose actor specifies the direct object. If the target +// or origin are not specified, either can be determined by context. +// +// Example 35 (https://www.w3.org/TR/activitystreams-vocabulary/#ex169-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "origin": { +// "name": "Work", +// "type": "Place" +// }, +// "summary": "Sally went home from work", +// "target": { +// "name": "Home", +// "type": "Place" +// }, +// "type": "Travel" +// } +type ActivityStreamsTravel struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsTravelExtends returns true if the Travel type extends from the +// other type. +func ActivityStreamsTravelExtends(other vocab.Type) bool { + extensions := []string{"Activity", "IntransitiveActivity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeTravel creates a Travel from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeTravel(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsTravel, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsTravel{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Travel" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Travel", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Travel" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Travel") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsTravel returns true if the other provided type is the Travel type or +// extends from the Travel type. +func IsOrExtendsTravel(other vocab.Type) bool { + if other.GetTypeName() == "Travel" { + return true + } + return TravelIsExtendedBy(other) +} + +// NewActivityStreamsTravel creates a new Travel type +func NewActivityStreamsTravel() *ActivityStreamsTravel { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Travel") + return &ActivityStreamsTravel{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TravelIsDisjointWith returns true if the other provided type is disjoint with +// the Travel type. +func TravelIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// TravelIsExtendedBy returns true if the other provided type extends from the +// Travel type. Note that it returns false if the types are the same; see the +// "IsOrExtendsTravel" variant instead. +func TravelIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsTravel) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsTravel) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTravel) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsTravel) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsTravel) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsTravel) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsTravel) GetTypeName() string { + return "Travel" +} + +// GetUnknownProperties returns the unknown properties for the Travel type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsTravel) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Travel type extends from the other type. +func (this ActivityStreamsTravel) IsExtending(other vocab.Type) bool { + return ActivityStreamsTravelExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsTravel) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Travel is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsTravel) LessThan(o vocab.ActivityStreamsTravel) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsTravel) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Travel" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Travel" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsTravel) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsTravel) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsTravel) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsTravel) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsTravel) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsTravel) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsTravel) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsTravel) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsTravel) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsTravel) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsTravel) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsTravel) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsTravel) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsTravel) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsTravel) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsTravel) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsTravel) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsTravel) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsTravel) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsTravel) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsTravel) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsTravel) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsTravel) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsTravel) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsTravel) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsTravel) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsTravel) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsTravel) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsTravel) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsTravel) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsTravel) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsTravel) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsTravel) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsTravel) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsTravel) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsTravel) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsTravel) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsTravel) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsTravel) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsTravel) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsTravel) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsTravel) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_doc.go new file mode 100644 index 000000000..9c9e327c1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeundo contains the implementation for the Undo type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeundo diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_pkg.go new file mode 100644 index 000000000..8b57d9d5d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeundo + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_type_activitystreams_undo.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_type_activitystreams_undo.go new file mode 100644 index 000000000..72d6423ec --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_undo/gen_type_activitystreams_undo.go @@ -0,0 +1,1950 @@ +// Code generated by astool. DO NOT EDIT. + +package typeundo + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor is undoing the object. In most cases, the object will +// be an Activity describing some previously performed action (for instance, a +// person may have previously "liked" an article but, for whatever reason, +// might choose to undo that like at some later point in time). The target and +// origin typically have no defined meaning. +// +// Example 29 (https://www.w3.org/TR/activitystreams-vocabulary/#ex32-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "target": "http://john.example.org", +// "type": "Offer" +// }, +// "summary": "Sally retracted her offer to John", +// "type": "Undo" +// } +type ActivityStreamsUndo struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsUndoExtends returns true if the Undo type extends from the other +// type. +func ActivityStreamsUndoExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeUndo creates a Undo from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeUndo(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsUndo, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsUndo{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Undo" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Undo", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Undo" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Undo") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsUndo returns true if the other provided type is the Undo type or +// extends from the Undo type. +func IsOrExtendsUndo(other vocab.Type) bool { + if other.GetTypeName() == "Undo" { + return true + } + return UndoIsExtendedBy(other) +} + +// NewActivityStreamsUndo creates a new Undo type +func NewActivityStreamsUndo() *ActivityStreamsUndo { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Undo") + return &ActivityStreamsUndo{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// UndoIsDisjointWith returns true if the other provided type is disjoint with the +// Undo type. +func UndoIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// UndoIsExtendedBy returns true if the other provided type extends from the Undo +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsUndo" variant instead. +func UndoIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUndo) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsUndo) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsUndo) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsUndo) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsUndo) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsUndo) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsUndo) GetTypeName() string { + return "Undo" +} + +// GetUnknownProperties returns the unknown properties for the Undo type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsUndo) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Undo type extends from the other type. +func (this ActivityStreamsUndo) IsExtending(other vocab.Type) bool { + return ActivityStreamsUndoExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsUndo) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Undo is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsUndo) LessThan(o vocab.ActivityStreamsUndo) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsUndo) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Undo" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Undo" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsUndo) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsUndo) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsUndo) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsUndo) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsUndo) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsUndo) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsUndo) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsUndo) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsUndo) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsUndo) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsUndo) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsUndo) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsUndo) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsUndo) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsUndo) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsUndo) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsUndo) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsUndo) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsUndo) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsUndo) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsUndo) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsUndo) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsUndo) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsUndo) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsUndo) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsUndo) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsUndo) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsUndo) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsUndo) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsUndo) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsUndo) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsUndo) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsUndo) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsUndo) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsUndo) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsUndo) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsUndo) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsUndo) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsUndo) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsUndo) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsUndo) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsUndo) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsUndo) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_doc.go new file mode 100644 index 000000000..e2a36cca5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeupdate contains the implementation for the Update type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeupdate diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_pkg.go new file mode 100644 index 000000000..1860bdaab --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeupdate + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_type_activitystreams_update.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_type_activitystreams_update.go new file mode 100644 index 000000000..18548261a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_update/gen_type_activitystreams_update.go @@ -0,0 +1,1947 @@ +// Code generated by astool. DO NOT EDIT. + +package typeupdate + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has updated the object. Note, however, that this +// vocabulary does not define a mechanism for describing the actual set of +// modifications made to object. The target and origin typically have no +// defined meaning. +// +// Example 30 (https://www.w3.org/TR/activitystreams-vocabulary/#ex33-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "summary": "Sally updated her note", +// "type": "Update" +// } +type ActivityStreamsUpdate struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsUpdateExtends returns true if the Update type extends from the +// other type. +func ActivityStreamsUpdateExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeUpdate creates a Update from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeUpdate(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsUpdate, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsUpdate{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Update" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Update", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Update" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Update") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsUpdate returns true if the other provided type is the Update type or +// extends from the Update type. +func IsOrExtendsUpdate(other vocab.Type) bool { + if other.GetTypeName() == "Update" { + return true + } + return UpdateIsExtendedBy(other) +} + +// NewActivityStreamsUpdate creates a new Update type +func NewActivityStreamsUpdate() *ActivityStreamsUpdate { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Update") + return &ActivityStreamsUpdate{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// UpdateIsDisjointWith returns true if the other provided type is disjoint with +// the Update type. +func UpdateIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// UpdateIsExtendedBy returns true if the other provided type extends from the +// Update type. Note that it returns false if the types are the same; see the +// "IsOrExtendsUpdate" variant instead. +func UpdateIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsUpdate) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsUpdate) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsUpdate) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsUpdate) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsUpdate) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsUpdate) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsUpdate) GetTypeName() string { + return "Update" +} + +// GetUnknownProperties returns the unknown properties for the Update type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsUpdate) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Update type extends from the other type. +func (this ActivityStreamsUpdate) IsExtending(other vocab.Type) bool { + return ActivityStreamsUpdateExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsUpdate) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Update is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsUpdate) LessThan(o vocab.ActivityStreamsUpdate) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsUpdate) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Update" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Update" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsUpdate) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsUpdate) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsUpdate) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsUpdate) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsUpdate) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsUpdate) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsUpdate) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsUpdate) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_doc.go new file mode 100644 index 000000000..7ce17aed1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typevideo contains the implementation for the Video type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typevideo diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_pkg.go new file mode 100644 index 000000000..ad26144b2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_pkg.go @@ -0,0 +1,191 @@ +// Code generated by astool. DO NOT EDIT. + +package typevideo + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBlurhashPropertyToot returns the deserialization method for + // the "TootBlurhashProperty" non-functional property in the + // vocabulary "Toot" + DeserializeBlurhashPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootBlurhashProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_type_activitystreams_video.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_type_activitystreams_video.go new file mode 100644 index 000000000..b77dbd9f3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_video/gen_type_activitystreams_video.go @@ -0,0 +1,1772 @@ +// Code generated by astool. DO NOT EDIT. + +package typevideo + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a video document of any kind. +// +// Example 52 (https://www.w3.org/TR/activitystreams-vocabulary/#ex51-jsonld): +// { +// "duration": "PT2H", +// "name": "Puppy Plays With Ball", +// "type": "Video", +// "url": "http://example.org/video.mkv" +// } +type ActivityStreamsVideo struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + TootBlurhash vocab.TootBlurhashProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsVideoExtends returns true if the Video type extends from the +// other type. +func ActivityStreamsVideoExtends(other vocab.Type) bool { + extensions := []string{"Document", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeVideo creates a Video from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeVideo(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsVideo, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsVideo{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Video" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Video", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Video" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Video") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBlurhashPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootBlurhash = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "blurhash" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsVideo returns true if the other provided type is the Video type or +// extends from the Video type. +func IsOrExtendsVideo(other vocab.Type) bool { + if other.GetTypeName() == "Video" { + return true + } + return VideoIsExtendedBy(other) +} + +// NewActivityStreamsVideo creates a new Video type +func NewActivityStreamsVideo() *ActivityStreamsVideo { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Video") + return &ActivityStreamsVideo{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// VideoIsDisjointWith returns true if the other provided type is disjoint with +// the Video type. +func VideoIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// VideoIsExtendedBy returns true if the other provided type extends from the +// Video type. Note that it returns false if the types are the same; see the +// "IsOrExtendsVideo" variant instead. +func VideoIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsVideo) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsVideo) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsVideo) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsVideo) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsVideo) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsVideo) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootBlurhash returns the "blurhash" property if it exists, and nil otherwise. +func (this ActivityStreamsVideo) GetTootBlurhash() vocab.TootBlurhashProperty { + return this.TootBlurhash +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsVideo) GetTypeName() string { + return "Video" +} + +// GetUnknownProperties returns the unknown properties for the Video type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsVideo) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Video type extends from the other type. +func (this ActivityStreamsVideo) IsExtending(other vocab.Type) bool { + return ActivityStreamsVideoExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsVideo) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.TootBlurhash, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Video is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsVideo) LessThan(o vocab.ActivityStreamsVideo) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "blurhash" + if lhs, rhs := this.TootBlurhash, o.GetTootBlurhash(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsVideo) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Video" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Video" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "blurhash" + if this.TootBlurhash != nil { + if i, err := this.TootBlurhash.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootBlurhash.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsVideo) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsVideo) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsVideo) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsVideo) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsVideo) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsVideo) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsVideo) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsVideo) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsVideo) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsVideo) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsVideo) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsVideo) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsVideo) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsVideo) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsVideo) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsVideo) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsVideo) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsVideo) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsVideo) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsVideo) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsVideo) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsVideo) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsVideo) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsVideo) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsVideo) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsVideo) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsVideo) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsVideo) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsVideo) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsVideo) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsVideo) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsVideo) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsVideo) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsVideo) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsVideo) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsVideo) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootBlurhash sets the "blurhash" property. +func (this *ActivityStreamsVideo) SetTootBlurhash(i vocab.TootBlurhashProperty) { + this.TootBlurhash = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsVideo) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsVideo) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_doc.go new file mode 100644 index 000000000..ce489bbe9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeview contains the implementation for the View type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeview diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_pkg.go new file mode 100644 index 000000000..8bc275b7d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typeview + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_type_activitystreams_view.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_type_activitystreams_view.go new file mode 100644 index 000000000..dd80dcc84 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/type_view/gen_type_activitystreams_view.go @@ -0,0 +1,1947 @@ +// Code generated by astool. DO NOT EDIT. + +package typeview + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that the actor has viewed the object. +// +// Example 31 (https://www.w3.org/TR/activitystreams-vocabulary/#ex161-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "What You Should Know About Activity Streams", +// "type": "Article" +// }, +// "summary": "Sally read an article", +// "type": "View" +// } +type ActivityStreamsView struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// ActivityStreamsViewExtends returns true if the View type extends from the other +// type. +func ActivityStreamsViewExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// DeserializeView creates a View from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeView(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsView, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ActivityStreamsView{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "View" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "View", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "View" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "View") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsView returns true if the other provided type is the View type or +// extends from the View type. +func IsOrExtendsView(other vocab.Type) bool { + if other.GetTypeName() == "View" { + return true + } + return ViewIsExtendedBy(other) +} + +// NewActivityStreamsView creates a new View type +func NewActivityStreamsView() *ActivityStreamsView { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("View") + return &ActivityStreamsView{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// ViewIsDisjointWith returns true if the other provided type is disjoint with the +// View type. +func ViewIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// ViewIsExtendedBy returns true if the other provided type extends from the View +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsView" variant instead. +func ViewIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ActivityStreamsView) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ActivityStreamsView) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ActivityStreamsView) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ActivityStreamsView) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ActivityStreamsView) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ActivityStreamsView) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ActivityStreamsView) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ActivityStreamsView) GetTypeName() string { + return "View" +} + +// GetUnknownProperties returns the unknown properties for the View type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ActivityStreamsView) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the View type extends from the other type. +func (this ActivityStreamsView) IsExtending(other vocab.Type) bool { + return ActivityStreamsViewExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ActivityStreamsView) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this View is lesser, with an arbitrary but stable +// determination. +func (this ActivityStreamsView) LessThan(o vocab.ActivityStreamsView) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ActivityStreamsView) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "View" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "View" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ActivityStreamsView) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ActivityStreamsView) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ActivityStreamsView) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ActivityStreamsView) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ActivityStreamsView) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ActivityStreamsView) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ActivityStreamsView) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ActivityStreamsView) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ActivityStreamsView) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ActivityStreamsView) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ActivityStreamsView) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ActivityStreamsView) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ActivityStreamsView) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ActivityStreamsView) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ActivityStreamsView) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ActivityStreamsView) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ActivityStreamsView) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ActivityStreamsView) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ActivityStreamsView) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ActivityStreamsView) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ActivityStreamsView) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ActivityStreamsView) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ActivityStreamsView) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ActivityStreamsView) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ActivityStreamsView) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ActivityStreamsView) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ActivityStreamsView) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ActivityStreamsView) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ActivityStreamsView) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ActivityStreamsView) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ActivityStreamsView) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ActivityStreamsView) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ActivityStreamsView) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ActivityStreamsView) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ActivityStreamsView) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ActivityStreamsView) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ActivityStreamsView) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ActivityStreamsView) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ActivityStreamsView) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ActivityStreamsView) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ActivityStreamsView) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ActivityStreamsView) VocabularyURI() string { + return "https://www.w3.org/ns/activitystreams" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ActivityStreamsView) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_doc.go new file mode 100644 index 000000000..a7d3d3693 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyassignedto contains the implementation for the assignedTo +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyassignedto diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_pkg.go new file mode 100644 index 000000000..554417f7a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_pkg.go @@ -0,0 +1,22 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyassignedto + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_property_forgefed_assignedTo.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_property_forgefed_assignedTo.go new file mode 100644 index 000000000..0c8a86133 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_assignedto/gen_property_forgefed_assignedTo.go @@ -0,0 +1,224 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyassignedto + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedAssignedToProperty is the functional property "assignedTo". It is +// permitted to be a single nilable value type. +type ForgeFedAssignedToProperty struct { + activitystreamsPersonMember vocab.ActivityStreamsPerson + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeAssignedToProperty creates a "assignedTo" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeAssignedToProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedAssignedToProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "assignedTo" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "assignedTo") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedAssignedToProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedAssignedToProperty{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedAssignedToProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedAssignedToProperty creates a new assignedTo property. +func NewForgeFedAssignedToProperty() *ForgeFedAssignedToProperty { + return &ForgeFedAssignedToProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsActivityStreamsPerson +// afterwards will return false. +func (this *ForgeFedAssignedToProperty) Clear() { + this.unknown = nil + this.iri = nil + this.activitystreamsPersonMember = nil +} + +// Get returns the value of this property. When IsActivityStreamsPerson returns +// false, Get will return any arbitrary value. +func (this ForgeFedAssignedToProperty) Get() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedAssignedToProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedAssignedToProperty) GetType() vocab.Type { + if this.IsActivityStreamsPerson() { + return this.Get() + } + + return nil +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedAssignedToProperty) HasAny() bool { + return this.IsActivityStreamsPerson() || this.iri != nil +} + +// IsActivityStreamsPerson returns true if this property is set and not an IRI. +func (this ForgeFedAssignedToProperty) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedAssignedToProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedAssignedToProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsPerson() { + child = this.Get().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedAssignedToProperty) KindIndex() int { + if this.IsActivityStreamsPerson() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedAssignedToProperty) LessThan(o vocab.ForgeFedAssignedToProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsActivityStreamsPerson() && !o.IsActivityStreamsPerson() { + // Both are unknowns. + return false + } else if this.IsActivityStreamsPerson() && !o.IsActivityStreamsPerson() { + // Values are always greater than unknown values. + return false + } else if !this.IsActivityStreamsPerson() && o.IsActivityStreamsPerson() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return this.Get().LessThan(o.Get()) + } +} + +// Name returns the name of this property: "assignedTo". +func (this ForgeFedAssignedToProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "assignedTo" + } else { + return "assignedTo" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedAssignedToProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsPerson() { + return this.Get().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsActivityStreamsPerson afterwards +// will return true. +func (this *ForgeFedAssignedToProperty) Set(v vocab.ActivityStreamsPerson) { + this.Clear() + this.activitystreamsPersonMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedAssignedToProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedAssignedToProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.Set(v) + return nil + } + + return fmt.Errorf("illegal type to set on assignedTo property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_doc.go new file mode 100644 index 000000000..316ae31b9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertycommitted contains the implementation for the committed +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertycommitted diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_pkg.go new file mode 100644 index 000000000..9aeea0f44 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycommitted + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_property_forgefed_committed.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_property_forgefed_committed.go new file mode 100644 index 000000000..c84eddf2f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committed/gen_property_forgefed_committed.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycommitted + +import ( + "fmt" + datetime "github.com/go-fed/activity/streams/values/dateTime" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" + "time" +) + +// ForgeFedCommittedProperty is the functional property "committed". It is +// permitted to be a single default-valued value type. +type ForgeFedCommittedProperty struct { + xmlschemaDateTimeMember time.Time + hasDateTimeMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeCommittedProperty creates a "committed" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeCommittedProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedCommittedProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "committed" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "committed") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedCommittedProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := datetime.DeserializeDateTime(i); err == nil { + this := &ForgeFedCommittedProperty{ + alias: alias, + hasDateTimeMember: true, + xmlschemaDateTimeMember: v, + } + return this, nil + } + this := &ForgeFedCommittedProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedCommittedProperty creates a new committed property. +func NewForgeFedCommittedProperty() *ForgeFedCommittedProperty { + return &ForgeFedCommittedProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaDateTime +// afterwards will return false. +func (this *ForgeFedCommittedProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasDateTimeMember = false +} + +// Get returns the value of this property. When IsXMLSchemaDateTime returns false, +// Get will return any arbitrary value. +func (this ForgeFedCommittedProperty) Get() time.Time { + return this.xmlschemaDateTimeMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedCommittedProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedCommittedProperty) HasAny() bool { + return this.IsXMLSchemaDateTime() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedCommittedProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaDateTime returns true if this property is set and not an IRI. +func (this ForgeFedCommittedProperty) IsXMLSchemaDateTime() bool { + return this.hasDateTimeMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedCommittedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedCommittedProperty) KindIndex() int { + if this.IsXMLSchemaDateTime() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedCommittedProperty) LessThan(o vocab.ForgeFedCommittedProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaDateTime() && !o.IsXMLSchemaDateTime() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaDateTime() && o.IsXMLSchemaDateTime() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return datetime.LessDateTime(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "committed". +func (this ForgeFedCommittedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "committed" + } else { + return "committed" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedCommittedProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaDateTime() { + return datetime.SerializeDateTime(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaDateTime afterwards +// will return true. +func (this *ForgeFedCommittedProperty) Set(v time.Time) { + this.Clear() + this.xmlschemaDateTimeMember = v + this.hasDateTimeMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedCommittedProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_doc.go new file mode 100644 index 000000000..efbaf083a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertycommittedby contains the implementation for the committedBy +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertycommittedby diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_pkg.go new file mode 100644 index 000000000..5a978c51a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_pkg.go @@ -0,0 +1,257 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycommittedby + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_property_forgefed_committedBy.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_property_forgefed_committedBy.go new file mode 100644 index 000000000..bb5c1ee9d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_committedby/gen_property_forgefed_committedBy.go @@ -0,0 +1,2933 @@ +// Code generated by astool. DO NOT EDIT. + +package propertycommittedby + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedCommittedByProperty is the functional property "committedBy". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ForgeFedCommittedByProperty struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeCommittedByProperty creates a "committedBy" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeCommittedByProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedCommittedByProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "committedBy" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "committedBy") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedCommittedByProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedCommittedByProperty{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedCommittedByProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedCommittedByProperty creates a new committedBy property. +func NewForgeFedCommittedByProperty() *ForgeFedCommittedByProperty { + return &ForgeFedCommittedByProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedCommittedByProperty) Clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ForgeFedCommittedByProperty) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ForgeFedCommittedByProperty) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedCommittedByProperty) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedCommittedByProperty) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ForgeFedCommittedByProperty) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ForgeFedCommittedByProperty) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ForgeFedCommittedByProperty) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ForgeFedCommittedByProperty) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ForgeFedCommittedByProperty) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ForgeFedCommittedByProperty) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedCommittedByProperty) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ForgeFedCommittedByProperty) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedCommittedByProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedCommittedByProperty) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsAccept() { + return 1 + } + if this.IsActivityStreamsActivity() { + return 2 + } + if this.IsActivityStreamsAdd() { + return 3 + } + if this.IsActivityStreamsAnnounce() { + return 4 + } + if this.IsActivityStreamsApplication() { + return 5 + } + if this.IsActivityStreamsArrive() { + return 6 + } + if this.IsActivityStreamsArticle() { + return 7 + } + if this.IsActivityStreamsAudio() { + return 8 + } + if this.IsActivityStreamsBlock() { + return 9 + } + if this.IsForgeFedBranch() { + return 10 + } + if this.IsActivityStreamsCollection() { + return 11 + } + if this.IsActivityStreamsCollectionPage() { + return 12 + } + if this.IsForgeFedCommit() { + return 13 + } + if this.IsActivityStreamsCreate() { + return 14 + } + if this.IsActivityStreamsDelete() { + return 15 + } + if this.IsActivityStreamsDislike() { + return 16 + } + if this.IsActivityStreamsDocument() { + return 17 + } + if this.IsTootEmoji() { + return 18 + } + if this.IsActivityStreamsEvent() { + return 19 + } + if this.IsActivityStreamsFlag() { + return 20 + } + if this.IsActivityStreamsFollow() { + return 21 + } + if this.IsActivityStreamsGroup() { + return 22 + } + if this.IsTootIdentityProof() { + return 23 + } + if this.IsActivityStreamsIgnore() { + return 24 + } + if this.IsActivityStreamsImage() { + return 25 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 26 + } + if this.IsActivityStreamsInvite() { + return 27 + } + if this.IsActivityStreamsJoin() { + return 28 + } + if this.IsActivityStreamsLeave() { + return 29 + } + if this.IsActivityStreamsLike() { + return 30 + } + if this.IsActivityStreamsListen() { + return 31 + } + if this.IsActivityStreamsMove() { + return 32 + } + if this.IsActivityStreamsNote() { + return 33 + } + if this.IsActivityStreamsOffer() { + return 34 + } + if this.IsActivityStreamsOrderedCollection() { + return 35 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 36 + } + if this.IsActivityStreamsOrganization() { + return 37 + } + if this.IsActivityStreamsPage() { + return 38 + } + if this.IsActivityStreamsPerson() { + return 39 + } + if this.IsActivityStreamsPlace() { + return 40 + } + if this.IsActivityStreamsProfile() { + return 41 + } + if this.IsForgeFedPush() { + return 42 + } + if this.IsActivityStreamsQuestion() { + return 43 + } + if this.IsActivityStreamsRead() { + return 44 + } + if this.IsActivityStreamsReject() { + return 45 + } + if this.IsActivityStreamsRelationship() { + return 46 + } + if this.IsActivityStreamsRemove() { + return 47 + } + if this.IsForgeFedRepository() { + return 48 + } + if this.IsActivityStreamsService() { + return 49 + } + if this.IsActivityStreamsTentativeAccept() { + return 50 + } + if this.IsActivityStreamsTentativeReject() { + return 51 + } + if this.IsForgeFedTicket() { + return 52 + } + if this.IsForgeFedTicketDependency() { + return 53 + } + if this.IsActivityStreamsTombstone() { + return 54 + } + if this.IsActivityStreamsTravel() { + return 55 + } + if this.IsActivityStreamsUndo() { + return 56 + } + if this.IsActivityStreamsUpdate() { + return 57 + } + if this.IsActivityStreamsVideo() { + return 58 + } + if this.IsActivityStreamsView() { + return 59 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedCommittedByProperty) LessThan(o vocab.ForgeFedCommittedByProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "committedBy". +func (this ForgeFedCommittedByProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "committedBy" + } else { + return "committedBy" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedCommittedByProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.Clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.Clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.Clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.Clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.Clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.Clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.Clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.Clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.Clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.Clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.Clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.Clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.Clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.Clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.Clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.Clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.Clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.Clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.Clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.Clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.Clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.Clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.Clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.Clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.Clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.Clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.Clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.Clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.Clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.Clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.Clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.Clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.Clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.Clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.Clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.Clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.Clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.Clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.Clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.Clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.Clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.Clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.Clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.Clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.Clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.Clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.Clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.Clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.Clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.Clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetForgeFedPush(v vocab.ForgeFedPush) { + this.Clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.Clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.Clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.Clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ForgeFedCommittedByProperty) SetTootEmoji(v vocab.TootEmoji) { + this.Clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ForgeFedCommittedByProperty) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.Clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedCommittedByProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on committedBy property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_doc.go new file mode 100644 index 000000000..0a1ee6c03 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydependants contains the implementation for the dependants +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydependants diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_pkg.go new file mode 100644 index 000000000..689ca890d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_pkg.go @@ -0,0 +1,27 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydependants + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_property_forgefed_dependants.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_property_forgefed_dependants.go new file mode 100644 index 000000000..ba35229c5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependants/gen_property_forgefed_dependants.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydependants + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedDependantsProperty is the functional property "dependants". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ForgeFedDependantsProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeDependantsProperty creates a "dependants" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeDependantsProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedDependantsProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "dependants" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "dependants") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedDependantsProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDependantsProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDependantsProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedDependantsProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedDependantsProperty creates a new dependants property. +func NewForgeFedDependantsProperty() *ForgeFedDependantsProperty { + return &ForgeFedDependantsProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedDependantsProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedDependantsProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedDependantsProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedDependantsProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedDependantsProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedDependantsProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedDependantsProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedDependantsProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedDependantsProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedDependantsProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedDependantsProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedDependantsProperty) LessThan(o vocab.ForgeFedDependantsProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "dependants". +func (this ForgeFedDependantsProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "dependants" + } else { + return "dependants" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedDependantsProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedDependantsProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedDependantsProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedDependantsProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedDependantsProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on dependants property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_doc.go new file mode 100644 index 000000000..d6afd7179 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydependedby contains the implementation for the dependedBy +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydependedby diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_pkg.go new file mode 100644 index 000000000..bcdf09afe --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_pkg.go @@ -0,0 +1,22 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydependedby + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_property_forgefed_dependedBy.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_property_forgefed_dependedBy.go new file mode 100644 index 000000000..e96386d5b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependedby/gen_property_forgefed_dependedBy.go @@ -0,0 +1,622 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydependedby + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedDependedByPropertyIterator is an iterator for a property. It is +// permitted to be a single nilable value type. +type ForgeFedDependedByPropertyIterator struct { + forgefedTicketMember vocab.ForgeFedTicket + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ForgeFedDependedByProperty +} + +// NewForgeFedDependedByPropertyIterator creates a new ForgeFedDependedBy property. +func NewForgeFedDependedByPropertyIterator() *ForgeFedDependedByPropertyIterator { + return &ForgeFedDependedByPropertyIterator{alias: ""} +} + +// deserializeForgeFedDependedByPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeForgeFedDependedByPropertyIterator(i interface{}, aliasMap map[string]string) (*ForgeFedDependedByPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedDependedByPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedDependedByPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } + } + this := &ForgeFedDependedByPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// Get returns the value of this property. When IsForgeFedTicket returns false, +// Get will return any arbitrary value. +func (this ForgeFedDependedByPropertyIterator) Get() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedDependedByPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedDependedByPropertyIterator) GetType() vocab.Type { + if this.IsForgeFedTicket() { + return this.Get() + } + + return nil +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedDependedByPropertyIterator) HasAny() bool { + return this.IsForgeFedTicket() || this.iri != nil +} + +// IsForgeFedTicket returns true if this property is set and not an IRI. +func (this ForgeFedDependedByPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedDependedByPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedDependedByPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsForgeFedTicket() { + child = this.Get().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedDependedByPropertyIterator) KindIndex() int { + if this.IsForgeFedTicket() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedDependedByPropertyIterator) LessThan(o vocab.ForgeFedDependedByPropertyIterator) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsForgeFedTicket() && !o.IsForgeFedTicket() { + // Both are unknowns. + return false + } else if this.IsForgeFedTicket() && !o.IsForgeFedTicket() { + // Values are always greater than unknown values. + return false + } else if !this.IsForgeFedTicket() && o.IsForgeFedTicket() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return this.Get().LessThan(o.Get()) + } +} + +// Name returns the name of this property: "ForgeFedDependedBy". +func (this ForgeFedDependedByPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ForgeFedDependedBy" + } else { + return "ForgeFedDependedBy" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ForgeFedDependedByPropertyIterator) Next() vocab.ForgeFedDependedByPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ForgeFedDependedByPropertyIterator) Prev() vocab.ForgeFedDependedByPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// Set sets the value of this property. Calling IsForgeFedTicket afterwards will +// return true. +func (this *ForgeFedDependedByPropertyIterator) Set(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedDependedByPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedDependedByPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.Set(v) + return nil + } + + return fmt.Errorf("illegal type to set on ForgeFedDependedBy property: %T", t) +} + +// clear ensures no value of this property is set. Calling IsForgeFedTicket +// afterwards will return false. +func (this *ForgeFedDependedByPropertyIterator) clear() { + this.unknown = nil + this.iri = nil + this.forgefedTicketMember = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedDependedByPropertyIterator) serialize() (interface{}, error) { + if this.IsForgeFedTicket() { + return this.Get().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ForgeFedDependedByProperty is the non-functional property "dependedBy". It is +// permitted to have one or more values, and of different value types. +type ForgeFedDependedByProperty struct { + properties []*ForgeFedDependedByPropertyIterator + alias string +} + +// DeserializeDependedByProperty creates a "dependedBy" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeDependedByProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedDependedByProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "dependedBy" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "dependedBy") + } + i, ok := m[propName] + + if ok { + this := &ForgeFedDependedByProperty{ + alias: alias, + properties: []*ForgeFedDependedByPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeForgeFedDependedByPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeForgeFedDependedByPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewForgeFedDependedByProperty creates a new dependedBy property. +func NewForgeFedDependedByProperty() *ForgeFedDependedByProperty { + return &ForgeFedDependedByProperty{alias: ""} +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "dependedBy". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedDependedByProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "dependedBy" +func (this *ForgeFedDependedByProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "dependedBy". Invalidates iterators that are traversing using +// Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ForgeFedDependedByProperty) AppendType(t vocab.Type) error { + n := &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ForgeFedDependedByProperty) At(index int) vocab.ForgeFedDependedByPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ForgeFedDependedByProperty) Begin() vocab.ForgeFedDependedByPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ForgeFedDependedByProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ForgeFedDependedByProperty) End() vocab.ForgeFedDependedByPropertyIterator { + return nil +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "dependedBy". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedDependedByProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "dependedBy". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ForgeFedDependedByProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "dependedBy". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ForgeFedDependedByProperty) InsertType(idx int, t vocab.Type) error { + n := &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedDependedByProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ForgeFedDependedByProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "dependedBy" property. +func (this ForgeFedDependedByProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ForgeFedDependedByProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].Get() + rhs := this.properties[j].Get() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedDependedByProperty) LessThan(o vocab.ForgeFedDependedByProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("dependedBy") with any alias. +func (this ForgeFedDependedByProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "dependedBy" + } else { + return "dependedBy" + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "dependedBy". Invalidates all iterators. +func (this *ForgeFedDependedByProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ForgeFedDependedByPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "dependedBy". +func (this *ForgeFedDependedByProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ForgeFedDependedByPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "dependedBy". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ForgeFedDependedByProperty) PrependType(t vocab.Type) error { + n := &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ForgeFedDependedByPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "dependedBy", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedDependedByProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ForgeFedDependedByPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedDependedByProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// Set sets a Ticket value to be at the specified index for the property +// "dependedBy". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedDependedByProperty) Set(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "dependedBy". Panics if the index is out of bounds. +func (this *ForgeFedDependedByProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "dependedBy". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ForgeFedDependedByProperty) SetType(idx int, t vocab.Type) error { + n := &ForgeFedDependedByPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "dependedBy" property. +func (this ForgeFedDependedByProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_doc.go new file mode 100644 index 000000000..4f4b064a5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydependencies contains the implementation for the dependencies +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydependencies diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_pkg.go new file mode 100644 index 000000000..a1b4bdac3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_pkg.go @@ -0,0 +1,27 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydependencies + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_property_forgefed_dependencies.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_property_forgefed_dependencies.go new file mode 100644 index 000000000..ac8bfb228 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependencies/gen_property_forgefed_dependencies.go @@ -0,0 +1,269 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydependencies + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedDependenciesProperty is the functional property "dependencies". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ForgeFedDependenciesProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeDependenciesProperty creates a "dependencies" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeDependenciesProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedDependenciesProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "dependencies" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "dependencies") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedDependenciesProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDependenciesProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDependenciesProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedDependenciesProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedDependenciesProperty creates a new dependencies property. +func NewForgeFedDependenciesProperty() *ForgeFedDependenciesProperty { + return &ForgeFedDependenciesProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedDependenciesProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedDependenciesProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedDependenciesProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedDependenciesProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedDependenciesProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedDependenciesProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedDependenciesProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedDependenciesProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedDependenciesProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedDependenciesProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedDependenciesProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedDependenciesProperty) LessThan(o vocab.ForgeFedDependenciesProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "dependencies". +func (this ForgeFedDependenciesProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "dependencies" + } else { + return "dependencies" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedDependenciesProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedDependenciesProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedDependenciesProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedDependenciesProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedDependenciesProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on dependencies property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_doc.go new file mode 100644 index 000000000..53d2647b0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydependson contains the implementation for the dependsOn +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydependson diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_pkg.go new file mode 100644 index 000000000..0998fc106 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_pkg.go @@ -0,0 +1,22 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydependson + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_property_forgefed_dependsOn.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_property_forgefed_dependsOn.go new file mode 100644 index 000000000..f87a2dca7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_dependson/gen_property_forgefed_dependsOn.go @@ -0,0 +1,619 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydependson + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedDependsOnPropertyIterator is an iterator for a property. It is +// permitted to be a single nilable value type. +type ForgeFedDependsOnPropertyIterator struct { + forgefedTicketMember vocab.ForgeFedTicket + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ForgeFedDependsOnProperty +} + +// NewForgeFedDependsOnPropertyIterator creates a new ForgeFedDependsOn property. +func NewForgeFedDependsOnPropertyIterator() *ForgeFedDependsOnPropertyIterator { + return &ForgeFedDependsOnPropertyIterator{alias: ""} +} + +// deserializeForgeFedDependsOnPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeForgeFedDependsOnPropertyIterator(i interface{}, aliasMap map[string]string) (*ForgeFedDependsOnPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedDependsOnPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedDependsOnPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } + } + this := &ForgeFedDependsOnPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// Get returns the value of this property. When IsForgeFedTicket returns false, +// Get will return any arbitrary value. +func (this ForgeFedDependsOnPropertyIterator) Get() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedDependsOnPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedDependsOnPropertyIterator) GetType() vocab.Type { + if this.IsForgeFedTicket() { + return this.Get() + } + + return nil +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedDependsOnPropertyIterator) HasAny() bool { + return this.IsForgeFedTicket() || this.iri != nil +} + +// IsForgeFedTicket returns true if this property is set and not an IRI. +func (this ForgeFedDependsOnPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedDependsOnPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedDependsOnPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsForgeFedTicket() { + child = this.Get().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedDependsOnPropertyIterator) KindIndex() int { + if this.IsForgeFedTicket() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedDependsOnPropertyIterator) LessThan(o vocab.ForgeFedDependsOnPropertyIterator) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsForgeFedTicket() && !o.IsForgeFedTicket() { + // Both are unknowns. + return false + } else if this.IsForgeFedTicket() && !o.IsForgeFedTicket() { + // Values are always greater than unknown values. + return false + } else if !this.IsForgeFedTicket() && o.IsForgeFedTicket() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return this.Get().LessThan(o.Get()) + } +} + +// Name returns the name of this property: "ForgeFedDependsOn". +func (this ForgeFedDependsOnPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ForgeFedDependsOn" + } else { + return "ForgeFedDependsOn" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ForgeFedDependsOnPropertyIterator) Next() vocab.ForgeFedDependsOnPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ForgeFedDependsOnPropertyIterator) Prev() vocab.ForgeFedDependsOnPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// Set sets the value of this property. Calling IsForgeFedTicket afterwards will +// return true. +func (this *ForgeFedDependsOnPropertyIterator) Set(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedDependsOnPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedDependsOnPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.Set(v) + return nil + } + + return fmt.Errorf("illegal type to set on ForgeFedDependsOn property: %T", t) +} + +// clear ensures no value of this property is set. Calling IsForgeFedTicket +// afterwards will return false. +func (this *ForgeFedDependsOnPropertyIterator) clear() { + this.unknown = nil + this.iri = nil + this.forgefedTicketMember = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedDependsOnPropertyIterator) serialize() (interface{}, error) { + if this.IsForgeFedTicket() { + return this.Get().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ForgeFedDependsOnProperty is the non-functional property "dependsOn". It is +// permitted to have one or more values, and of different value types. +type ForgeFedDependsOnProperty struct { + properties []*ForgeFedDependsOnPropertyIterator + alias string +} + +// DeserializeDependsOnProperty creates a "dependsOn" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeDependsOnProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedDependsOnProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "dependsOn" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "dependsOn") + } + i, ok := m[propName] + + if ok { + this := &ForgeFedDependsOnProperty{ + alias: alias, + properties: []*ForgeFedDependsOnPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeForgeFedDependsOnPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeForgeFedDependsOnPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewForgeFedDependsOnProperty creates a new dependsOn property. +func NewForgeFedDependsOnProperty() *ForgeFedDependsOnProperty { + return &ForgeFedDependsOnProperty{alias: ""} +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "dependsOn". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedDependsOnProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property "dependsOn" +func (this *ForgeFedDependsOnProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "dependsOn". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *ForgeFedDependsOnProperty) AppendType(t vocab.Type) error { + n := &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ForgeFedDependsOnProperty) At(index int) vocab.ForgeFedDependsOnPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ForgeFedDependsOnProperty) Begin() vocab.ForgeFedDependsOnPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ForgeFedDependsOnProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ForgeFedDependsOnProperty) End() vocab.ForgeFedDependsOnPropertyIterator { + return nil +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "dependsOn". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedDependsOnProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "dependsOn". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ForgeFedDependsOnProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "dependsOn". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ForgeFedDependsOnProperty) InsertType(idx int, t vocab.Type) error { + n := &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedDependsOnProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ForgeFedDependsOnProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "dependsOn" property. +func (this ForgeFedDependsOnProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ForgeFedDependsOnProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].Get() + rhs := this.properties[j].Get() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedDependsOnProperty) LessThan(o vocab.ForgeFedDependsOnProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("dependsOn") with any alias. +func (this ForgeFedDependsOnProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "dependsOn" + } else { + return "dependsOn" + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "dependsOn". Invalidates all iterators. +func (this *ForgeFedDependsOnProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ForgeFedDependsOnPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "dependsOn". +func (this *ForgeFedDependsOnProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ForgeFedDependsOnPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "dependsOn". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ForgeFedDependsOnProperty) PrependType(t vocab.Type) error { + n := &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ForgeFedDependsOnPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "dependsOn", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedDependsOnProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ForgeFedDependsOnPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedDependsOnProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// Set sets a Ticket value to be at the specified index for the property +// "dependsOn". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedDependsOnProperty) Set(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "dependsOn". Panics if the index is out of bounds. +func (this *ForgeFedDependsOnProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "dependsOn". Invalidates all iterators. Returns an error if the type is not +// a valid one to set for this property. Panics if the index is out of bounds. +func (this *ForgeFedDependsOnProperty) SetType(idx int, t vocab.Type) error { + n := &ForgeFedDependsOnPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "dependsOn" property. +func (this ForgeFedDependsOnProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_doc.go new file mode 100644 index 000000000..664c990f9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydescription contains the implementation for the description +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydescription diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_pkg.go new file mode 100644 index 000000000..1502759c2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_pkg.go @@ -0,0 +1,257 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydescription + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_property_forgefed_description.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_property_forgefed_description.go new file mode 100644 index 000000000..8e96d6832 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_description/gen_property_forgefed_description.go @@ -0,0 +1,2933 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydescription + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedDescriptionProperty is the functional property "description". It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ForgeFedDescriptionProperty struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeDescriptionProperty creates a "description" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeDescriptionProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedDescriptionProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "description" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "description") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedDescriptionProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedDescriptionProperty{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedDescriptionProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedDescriptionProperty creates a new description property. +func NewForgeFedDescriptionProperty() *ForgeFedDescriptionProperty { + return &ForgeFedDescriptionProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedDescriptionProperty) Clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ForgeFedDescriptionProperty) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ForgeFedDescriptionProperty) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedDescriptionProperty) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedDescriptionProperty) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ForgeFedDescriptionProperty) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ForgeFedDescriptionProperty) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ForgeFedDescriptionProperty) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ForgeFedDescriptionProperty) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ForgeFedDescriptionProperty) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ForgeFedDescriptionProperty) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedDescriptionProperty) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ForgeFedDescriptionProperty) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedDescriptionProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedDescriptionProperty) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsAccept() { + return 1 + } + if this.IsActivityStreamsActivity() { + return 2 + } + if this.IsActivityStreamsAdd() { + return 3 + } + if this.IsActivityStreamsAnnounce() { + return 4 + } + if this.IsActivityStreamsApplication() { + return 5 + } + if this.IsActivityStreamsArrive() { + return 6 + } + if this.IsActivityStreamsArticle() { + return 7 + } + if this.IsActivityStreamsAudio() { + return 8 + } + if this.IsActivityStreamsBlock() { + return 9 + } + if this.IsForgeFedBranch() { + return 10 + } + if this.IsActivityStreamsCollection() { + return 11 + } + if this.IsActivityStreamsCollectionPage() { + return 12 + } + if this.IsForgeFedCommit() { + return 13 + } + if this.IsActivityStreamsCreate() { + return 14 + } + if this.IsActivityStreamsDelete() { + return 15 + } + if this.IsActivityStreamsDislike() { + return 16 + } + if this.IsActivityStreamsDocument() { + return 17 + } + if this.IsTootEmoji() { + return 18 + } + if this.IsActivityStreamsEvent() { + return 19 + } + if this.IsActivityStreamsFlag() { + return 20 + } + if this.IsActivityStreamsFollow() { + return 21 + } + if this.IsActivityStreamsGroup() { + return 22 + } + if this.IsTootIdentityProof() { + return 23 + } + if this.IsActivityStreamsIgnore() { + return 24 + } + if this.IsActivityStreamsImage() { + return 25 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 26 + } + if this.IsActivityStreamsInvite() { + return 27 + } + if this.IsActivityStreamsJoin() { + return 28 + } + if this.IsActivityStreamsLeave() { + return 29 + } + if this.IsActivityStreamsLike() { + return 30 + } + if this.IsActivityStreamsListen() { + return 31 + } + if this.IsActivityStreamsMove() { + return 32 + } + if this.IsActivityStreamsNote() { + return 33 + } + if this.IsActivityStreamsOffer() { + return 34 + } + if this.IsActivityStreamsOrderedCollection() { + return 35 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 36 + } + if this.IsActivityStreamsOrganization() { + return 37 + } + if this.IsActivityStreamsPage() { + return 38 + } + if this.IsActivityStreamsPerson() { + return 39 + } + if this.IsActivityStreamsPlace() { + return 40 + } + if this.IsActivityStreamsProfile() { + return 41 + } + if this.IsForgeFedPush() { + return 42 + } + if this.IsActivityStreamsQuestion() { + return 43 + } + if this.IsActivityStreamsRead() { + return 44 + } + if this.IsActivityStreamsReject() { + return 45 + } + if this.IsActivityStreamsRelationship() { + return 46 + } + if this.IsActivityStreamsRemove() { + return 47 + } + if this.IsForgeFedRepository() { + return 48 + } + if this.IsActivityStreamsService() { + return 49 + } + if this.IsActivityStreamsTentativeAccept() { + return 50 + } + if this.IsActivityStreamsTentativeReject() { + return 51 + } + if this.IsForgeFedTicket() { + return 52 + } + if this.IsForgeFedTicketDependency() { + return 53 + } + if this.IsActivityStreamsTombstone() { + return 54 + } + if this.IsActivityStreamsTravel() { + return 55 + } + if this.IsActivityStreamsUndo() { + return 56 + } + if this.IsActivityStreamsUpdate() { + return 57 + } + if this.IsActivityStreamsVideo() { + return 58 + } + if this.IsActivityStreamsView() { + return 59 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedDescriptionProperty) LessThan(o vocab.ForgeFedDescriptionProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "description". +func (this ForgeFedDescriptionProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "description" + } else { + return "description" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedDescriptionProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.Clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.Clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.Clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.Clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.Clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.Clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.Clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.Clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.Clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.Clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.Clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.Clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.Clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.Clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.Clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.Clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.Clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.Clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.Clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.Clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.Clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.Clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.Clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.Clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.Clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.Clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.Clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.Clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.Clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.Clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.Clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.Clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.Clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.Clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.Clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.Clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.Clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.Clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.Clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.Clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.Clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.Clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.Clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.Clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.Clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.Clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.Clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.Clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.Clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.Clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetForgeFedPush(v vocab.ForgeFedPush) { + this.Clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.Clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.Clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.Clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ForgeFedDescriptionProperty) SetTootEmoji(v vocab.TootEmoji) { + this.Clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ForgeFedDescriptionProperty) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.Clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedDescriptionProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on description property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_doc.go new file mode 100644 index 000000000..54df4ed1b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyearlyitems contains the implementation for the earlyItems +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyearlyitems diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_pkg.go new file mode 100644 index 000000000..7cf49dddf --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_pkg.go @@ -0,0 +1,265 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyearlyitems + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_property_forgefed_earlyItems.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_property_forgefed_earlyItems.go new file mode 100644 index 000000000..38e5b0df8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems/gen_property_forgefed_earlyItems.go @@ -0,0 +1,7046 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyearlyitems + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedEarlyItemsPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ForgeFedEarlyItemsPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ForgeFedEarlyItemsProperty +} + +// NewForgeFedEarlyItemsPropertyIterator creates a new ForgeFedEarlyItems property. +func NewForgeFedEarlyItemsPropertyIterator() *ForgeFedEarlyItemsPropertyIterator { + return &ForgeFedEarlyItemsPropertyIterator{alias: ""} +} + +// deserializeForgeFedEarlyItemsPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeForgeFedEarlyItemsPropertyIterator(i interface{}, aliasMap map[string]string) (*ForgeFedEarlyItemsPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedEarlyItemsPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ForgeFedEarlyItemsPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedEarlyItemsPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedEarlyItemsPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ForgeFedEarlyItemsPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedEarlyItemsPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ForgeFedEarlyItemsPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedEarlyItemsPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedEarlyItemsPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsAccept() { + return 2 + } + if this.IsActivityStreamsActivity() { + return 3 + } + if this.IsActivityStreamsAdd() { + return 4 + } + if this.IsActivityStreamsAnnounce() { + return 5 + } + if this.IsActivityStreamsApplication() { + return 6 + } + if this.IsActivityStreamsArrive() { + return 7 + } + if this.IsActivityStreamsArticle() { + return 8 + } + if this.IsActivityStreamsAudio() { + return 9 + } + if this.IsActivityStreamsBlock() { + return 10 + } + if this.IsForgeFedBranch() { + return 11 + } + if this.IsActivityStreamsCollection() { + return 12 + } + if this.IsActivityStreamsCollectionPage() { + return 13 + } + if this.IsForgeFedCommit() { + return 14 + } + if this.IsActivityStreamsCreate() { + return 15 + } + if this.IsActivityStreamsDelete() { + return 16 + } + if this.IsActivityStreamsDislike() { + return 17 + } + if this.IsActivityStreamsDocument() { + return 18 + } + if this.IsTootEmoji() { + return 19 + } + if this.IsActivityStreamsEvent() { + return 20 + } + if this.IsActivityStreamsFlag() { + return 21 + } + if this.IsActivityStreamsFollow() { + return 22 + } + if this.IsActivityStreamsGroup() { + return 23 + } + if this.IsTootIdentityProof() { + return 24 + } + if this.IsActivityStreamsIgnore() { + return 25 + } + if this.IsActivityStreamsImage() { + return 26 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 27 + } + if this.IsActivityStreamsInvite() { + return 28 + } + if this.IsActivityStreamsJoin() { + return 29 + } + if this.IsActivityStreamsLeave() { + return 30 + } + if this.IsActivityStreamsLike() { + return 31 + } + if this.IsActivityStreamsListen() { + return 32 + } + if this.IsActivityStreamsMention() { + return 33 + } + if this.IsActivityStreamsMove() { + return 34 + } + if this.IsActivityStreamsNote() { + return 35 + } + if this.IsActivityStreamsOffer() { + return 36 + } + if this.IsActivityStreamsOrderedCollection() { + return 37 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 38 + } + if this.IsActivityStreamsOrganization() { + return 39 + } + if this.IsActivityStreamsPage() { + return 40 + } + if this.IsActivityStreamsPerson() { + return 41 + } + if this.IsActivityStreamsPlace() { + return 42 + } + if this.IsActivityStreamsProfile() { + return 43 + } + if this.IsForgeFedPush() { + return 44 + } + if this.IsActivityStreamsQuestion() { + return 45 + } + if this.IsActivityStreamsRead() { + return 46 + } + if this.IsActivityStreamsReject() { + return 47 + } + if this.IsActivityStreamsRelationship() { + return 48 + } + if this.IsActivityStreamsRemove() { + return 49 + } + if this.IsForgeFedRepository() { + return 50 + } + if this.IsActivityStreamsService() { + return 51 + } + if this.IsActivityStreamsTentativeAccept() { + return 52 + } + if this.IsActivityStreamsTentativeReject() { + return 53 + } + if this.IsForgeFedTicket() { + return 54 + } + if this.IsForgeFedTicketDependency() { + return 55 + } + if this.IsActivityStreamsTombstone() { + return 56 + } + if this.IsActivityStreamsTravel() { + return 57 + } + if this.IsActivityStreamsUndo() { + return 58 + } + if this.IsActivityStreamsUpdate() { + return 59 + } + if this.IsActivityStreamsVideo() { + return 60 + } + if this.IsActivityStreamsView() { + return 61 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedEarlyItemsPropertyIterator) LessThan(o vocab.ForgeFedEarlyItemsPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ForgeFedEarlyItems". +func (this ForgeFedEarlyItemsPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ForgeFedEarlyItems" + } else { + return "ForgeFedEarlyItems" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ForgeFedEarlyItemsPropertyIterator) Next() vocab.ForgeFedEarlyItemsPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ForgeFedEarlyItemsPropertyIterator) Prev() vocab.ForgeFedEarlyItemsPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ForgeFedEarlyItemsPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedEarlyItemsPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ForgeFedEarlyItems property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedEarlyItemsPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedEarlyItemsPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ForgeFedEarlyItemsProperty is the non-functional property "earlyItems". It is +// permitted to have one or more values, and of different value types. +type ForgeFedEarlyItemsProperty struct { + properties []*ForgeFedEarlyItemsPropertyIterator + alias string +} + +// DeserializeEarlyItemsProperty creates a "earlyItems" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeEarlyItemsProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedEarlyItemsProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "earlyItems" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "earlyItems") + } + i, ok := m[propName] + + if ok { + this := &ForgeFedEarlyItemsProperty{ + alias: alias, + properties: []*ForgeFedEarlyItemsPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeForgeFedEarlyItemsPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeForgeFedEarlyItemsPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewForgeFedEarlyItemsProperty creates a new earlyItems property. +func NewForgeFedEarlyItemsProperty() *ForgeFedEarlyItemsProperty { + return &ForgeFedEarlyItemsProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "earlyItems". Invalidates iterators +// that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLink appends a Link value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMention appends a Mention value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "earlyItems". Invalidates +// iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "earlyItems". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "earlyItems". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "earlyItems" +func (this *ForgeFedEarlyItemsProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "earlyItems". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedEarlyItemsProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "earlyItems". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedEarlyItemsProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "earlyItems". Invalidates iterators that are traversing using +// Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ForgeFedEarlyItemsProperty) AppendType(t vocab.Type) error { + n := &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ForgeFedEarlyItemsProperty) At(index int) vocab.ForgeFedEarlyItemsPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ForgeFedEarlyItemsProperty) Begin() vocab.ForgeFedEarlyItemsPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ForgeFedEarlyItemsProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ForgeFedEarlyItemsProperty) End() vocab.ForgeFedEarlyItemsPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "earlyItems". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "earlyItems". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "earlyItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "earlyItems". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLink inserts a Link value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMention inserts a Mention value at the specified index for +// a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "earlyItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "earlyItems". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "earlyItems". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "earlyItems". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "earlyItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "earlyItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "earlyItems". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "earlyItems". Existing elements at that +// index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property "earlyItems". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "earlyItems". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "earlyItems". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "earlyItems". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ForgeFedEarlyItemsProperty) InsertType(idx int, t vocab.Type) error { + n := &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedEarlyItemsProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ForgeFedEarlyItemsProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "earlyItems" property. +func (this ForgeFedEarlyItemsProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ForgeFedEarlyItemsProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsLink() + rhs := this.properties[j].GetActivityStreamsLink() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsMention() + rhs := this.properties[j].GetActivityStreamsMention() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 60 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 61 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedEarlyItemsProperty) LessThan(o vocab.ForgeFedEarlyItemsProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("earlyItems") with any alias. +func (this ForgeFedEarlyItemsProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "earlyItems" + } else { + return "earlyItems" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "earlyItems". Invalidates all +// iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLink prepends a Link value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMention prepends a Mention value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "earlyItems". Invalidates all +// iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "earlyItems". +func (this *ForgeFedEarlyItemsProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "earlyItems". Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "earlyItems". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *ForgeFedEarlyItemsProperty) PrependType(t vocab.Type) error { + n := &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ForgeFedEarlyItemsPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "earlyItems", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ForgeFedEarlyItemsPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedEarlyItemsProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "earlyItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "earlyItems". Panics if the index +// is out of bounds. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLink sets a Link value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsLink(idx int, v vocab.ActivityStreamsLink) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsLinkMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMention sets a Mention value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsMention(idx int, v vocab.ActivityStreamsMention) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsMentionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "earlyItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "earlyItems". Panics if the +// index is out of bounds. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "earlyItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "earlyItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "earlyItems". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedEarlyItemsProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "earlyItems". Panics if the index is out of bounds. Invalidates +// all iterators. +func (this *ForgeFedEarlyItemsProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "earlyItems". Panics if the index is out +// of bounds. Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "earlyItems". Panics if the index is out of bounds. +func (this *ForgeFedEarlyItemsProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "earlyItems". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedEarlyItemsProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "earlyItems". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedEarlyItemsProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "earlyItems". Invalidates all iterators. Returns an error if the type is +// not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ForgeFedEarlyItemsProperty) SetType(idx int, t vocab.Type) error { + n := &ForgeFedEarlyItemsPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "earlyItems" property. +func (this ForgeFedEarlyItemsProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_doc.go new file mode 100644 index 000000000..5edf4dfca --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfilesadded contains the implementation for the filesAdded +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfilesadded diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_pkg.go new file mode 100644 index 000000000..b8295e752 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfilesadded + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_property_forgefed_filesAdded.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_property_forgefed_filesAdded.go new file mode 100644 index 000000000..9aa31f121 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesadded/gen_property_forgefed_filesAdded.go @@ -0,0 +1,531 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfilesadded + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedFilesAddedPropertyIterator is an iterator for a property. It is +// permitted to be a single default-valued value type. +type ForgeFedFilesAddedPropertyIterator struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ForgeFedFilesAddedProperty +} + +// NewForgeFedFilesAddedPropertyIterator creates a new ForgeFedFilesAdded property. +func NewForgeFedFilesAddedPropertyIterator() *ForgeFedFilesAddedPropertyIterator { + return &ForgeFedFilesAddedPropertyIterator{alias: ""} +} + +// deserializeForgeFedFilesAddedPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeForgeFedFilesAddedPropertyIterator(i interface{}, aliasMap map[string]string) (*ForgeFedFilesAddedPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedFilesAddedPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ForgeFedFilesAddedPropertyIterator{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &ForgeFedFilesAddedPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this ForgeFedFilesAddedPropertyIterator) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedFilesAddedPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedFilesAddedPropertyIterator) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedFilesAddedPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this ForgeFedFilesAddedPropertyIterator) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedFilesAddedPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedFilesAddedPropertyIterator) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedFilesAddedPropertyIterator) LessThan(o vocab.ForgeFedFilesAddedPropertyIterator) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "ForgeFedFilesAdded". +func (this ForgeFedFilesAddedPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ForgeFedFilesAdded" + } else { + return "ForgeFedFilesAdded" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ForgeFedFilesAddedPropertyIterator) Next() vocab.ForgeFedFilesAddedPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ForgeFedFilesAddedPropertyIterator) Prev() vocab.ForgeFedFilesAddedPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *ForgeFedFilesAddedPropertyIterator) Set(v string) { + this.clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedFilesAddedPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *ForgeFedFilesAddedPropertyIterator) clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedFilesAddedPropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ForgeFedFilesAddedProperty is the non-functional property "filesAdded". It is +// permitted to have one or more values, and of different value types. +type ForgeFedFilesAddedProperty struct { + properties []*ForgeFedFilesAddedPropertyIterator + alias string +} + +// DeserializeFilesAddedProperty creates a "filesAdded" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeFilesAddedProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedFilesAddedProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "filesAdded" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "filesAdded") + } + i, ok := m[propName] + + if ok { + this := &ForgeFedFilesAddedProperty{ + alias: alias, + properties: []*ForgeFedFilesAddedPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeForgeFedFilesAddedPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeForgeFedFilesAddedPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewForgeFedFilesAddedProperty creates a new filesAdded property. +func NewForgeFedFilesAddedProperty() *ForgeFedFilesAddedProperty { + return &ForgeFedFilesAddedProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "filesAdded" +func (this *ForgeFedFilesAddedProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ForgeFedFilesAddedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendXMLSchemaString appends a string value to the back of a list of the +// property "filesAdded". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedFilesAddedProperty) AppendXMLSchemaString(v string) { + this.properties = append(this.properties, &ForgeFedFilesAddedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaStringMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ForgeFedFilesAddedProperty) At(index int) vocab.ForgeFedFilesAddedPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ForgeFedFilesAddedProperty) Begin() vocab.ForgeFedFilesAddedPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ForgeFedFilesAddedProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ForgeFedFilesAddedProperty) End() vocab.ForgeFedFilesAddedPropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property "filesAdded". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *ForgeFedFilesAddedProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedFilesAddedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaString inserts a string value at the specified index for a +// property "filesAdded". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedFilesAddedProperty) InsertXMLSchemaString(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedFilesAddedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedFilesAddedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ForgeFedFilesAddedProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "filesAdded" property. +func (this ForgeFedFilesAddedProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ForgeFedFilesAddedProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].Get() + rhs := this.properties[j].Get() + return string1.LessString(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedFilesAddedProperty) LessThan(o vocab.ForgeFedFilesAddedProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("filesAdded") with any alias. +func (this ForgeFedFilesAddedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "filesAdded" + } else { + return "filesAdded" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "filesAdded". +func (this *ForgeFedFilesAddedProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ForgeFedFilesAddedPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaString prepends a string value to the front of a list of the +// property "filesAdded". Invalidates all iterators. +func (this *ForgeFedFilesAddedProperty) PrependXMLSchemaString(v string) { + this.properties = append([]*ForgeFedFilesAddedPropertyIterator{{ + alias: this.alias, + hasStringMember: true, + myIdx: 0, + parent: this, + xmlschemaStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "filesAdded", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedFilesAddedProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ForgeFedFilesAddedPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedFilesAddedProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// Set sets a string value to be at the specified index for the property +// "filesAdded". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedFilesAddedProperty) Set(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedFilesAddedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "filesAdded". Panics if the index is out of bounds. +func (this *ForgeFedFilesAddedProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedFilesAddedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// Swap swaps the location of values at two indices for the "filesAdded" property. +func (this ForgeFedFilesAddedProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_doc.go new file mode 100644 index 000000000..1a1e9728b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfilesmodified contains the implementation for the filesModified +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfilesmodified diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_pkg.go new file mode 100644 index 000000000..e8e2adf4d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfilesmodified + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_property_forgefed_filesModified.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_property_forgefed_filesModified.go new file mode 100644 index 000000000..a0537d1a6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified/gen_property_forgefed_filesModified.go @@ -0,0 +1,535 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfilesmodified + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedFilesModifiedPropertyIterator is an iterator for a property. It is +// permitted to be a single default-valued value type. +type ForgeFedFilesModifiedPropertyIterator struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ForgeFedFilesModifiedProperty +} + +// NewForgeFedFilesModifiedPropertyIterator creates a new ForgeFedFilesModified +// property. +func NewForgeFedFilesModifiedPropertyIterator() *ForgeFedFilesModifiedPropertyIterator { + return &ForgeFedFilesModifiedPropertyIterator{alias: ""} +} + +// deserializeForgeFedFilesModifiedPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeForgeFedFilesModifiedPropertyIterator(i interface{}, aliasMap map[string]string) (*ForgeFedFilesModifiedPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedFilesModifiedPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ForgeFedFilesModifiedPropertyIterator{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &ForgeFedFilesModifiedPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this ForgeFedFilesModifiedPropertyIterator) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedFilesModifiedPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedFilesModifiedPropertyIterator) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedFilesModifiedPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this ForgeFedFilesModifiedPropertyIterator) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedFilesModifiedPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedFilesModifiedPropertyIterator) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedFilesModifiedPropertyIterator) LessThan(o vocab.ForgeFedFilesModifiedPropertyIterator) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "ForgeFedFilesModified". +func (this ForgeFedFilesModifiedPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ForgeFedFilesModified" + } else { + return "ForgeFedFilesModified" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ForgeFedFilesModifiedPropertyIterator) Next() vocab.ForgeFedFilesModifiedPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ForgeFedFilesModifiedPropertyIterator) Prev() vocab.ForgeFedFilesModifiedPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *ForgeFedFilesModifiedPropertyIterator) Set(v string) { + this.clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedFilesModifiedPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *ForgeFedFilesModifiedPropertyIterator) clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedFilesModifiedPropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ForgeFedFilesModifiedProperty is the non-functional property "filesModified". +// It is permitted to have one or more values, and of different value types. +type ForgeFedFilesModifiedProperty struct { + properties []*ForgeFedFilesModifiedPropertyIterator + alias string +} + +// DeserializeFilesModifiedProperty creates a "filesModified" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeFilesModifiedProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedFilesModifiedProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "filesModified" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "filesModified") + } + i, ok := m[propName] + + if ok { + this := &ForgeFedFilesModifiedProperty{ + alias: alias, + properties: []*ForgeFedFilesModifiedPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeForgeFedFilesModifiedPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeForgeFedFilesModifiedPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewForgeFedFilesModifiedProperty creates a new filesModified property. +func NewForgeFedFilesModifiedProperty() *ForgeFedFilesModifiedProperty { + return &ForgeFedFilesModifiedProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "filesModified" +func (this *ForgeFedFilesModifiedProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ForgeFedFilesModifiedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendXMLSchemaString appends a string value to the back of a list of the +// property "filesModified". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedFilesModifiedProperty) AppendXMLSchemaString(v string) { + this.properties = append(this.properties, &ForgeFedFilesModifiedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaStringMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ForgeFedFilesModifiedProperty) At(index int) vocab.ForgeFedFilesModifiedPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ForgeFedFilesModifiedProperty) Begin() vocab.ForgeFedFilesModifiedPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ForgeFedFilesModifiedProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ForgeFedFilesModifiedProperty) End() vocab.ForgeFedFilesModifiedPropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property +// "filesModified". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ForgeFedFilesModifiedProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedFilesModifiedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaString inserts a string value at the specified index for a +// property "filesModified". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedFilesModifiedProperty) InsertXMLSchemaString(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedFilesModifiedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedFilesModifiedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ForgeFedFilesModifiedProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "filesModified" property. +func (this ForgeFedFilesModifiedProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ForgeFedFilesModifiedProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].Get() + rhs := this.properties[j].Get() + return string1.LessString(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedFilesModifiedProperty) LessThan(o vocab.ForgeFedFilesModifiedProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("filesModified") with any alias. +func (this ForgeFedFilesModifiedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "filesModified" + } else { + return "filesModified" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "filesModified". +func (this *ForgeFedFilesModifiedProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ForgeFedFilesModifiedPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaString prepends a string value to the front of a list of the +// property "filesModified". Invalidates all iterators. +func (this *ForgeFedFilesModifiedProperty) PrependXMLSchemaString(v string) { + this.properties = append([]*ForgeFedFilesModifiedPropertyIterator{{ + alias: this.alias, + hasStringMember: true, + myIdx: 0, + parent: this, + xmlschemaStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "filesModified", regardless of its type. Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ForgeFedFilesModifiedProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ForgeFedFilesModifiedPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedFilesModifiedProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// Set sets a string value to be at the specified index for the property +// "filesModified". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedFilesModifiedProperty) Set(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedFilesModifiedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "filesModified". Panics if the index is out of bounds. +func (this *ForgeFedFilesModifiedProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedFilesModifiedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// Swap swaps the location of values at two indices for the "filesModified" +// property. +func (this ForgeFedFilesModifiedProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_doc.go new file mode 100644 index 000000000..b7a0f32fc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfilesremoved contains the implementation for the filesRemoved +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfilesremoved diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_pkg.go new file mode 100644 index 000000000..c0b64e635 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfilesremoved + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_property_forgefed_filesRemoved.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_property_forgefed_filesRemoved.go new file mode 100644 index 000000000..48478c13a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved/gen_property_forgefed_filesRemoved.go @@ -0,0 +1,535 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfilesremoved + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedFilesRemovedPropertyIterator is an iterator for a property. It is +// permitted to be a single default-valued value type. +type ForgeFedFilesRemovedPropertyIterator struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ForgeFedFilesRemovedProperty +} + +// NewForgeFedFilesRemovedPropertyIterator creates a new ForgeFedFilesRemoved +// property. +func NewForgeFedFilesRemovedPropertyIterator() *ForgeFedFilesRemovedPropertyIterator { + return &ForgeFedFilesRemovedPropertyIterator{alias: ""} +} + +// deserializeForgeFedFilesRemovedPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeForgeFedFilesRemovedPropertyIterator(i interface{}, aliasMap map[string]string) (*ForgeFedFilesRemovedPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedFilesRemovedPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ForgeFedFilesRemovedPropertyIterator{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &ForgeFedFilesRemovedPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this ForgeFedFilesRemovedPropertyIterator) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedFilesRemovedPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedFilesRemovedPropertyIterator) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedFilesRemovedPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this ForgeFedFilesRemovedPropertyIterator) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedFilesRemovedPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedFilesRemovedPropertyIterator) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedFilesRemovedPropertyIterator) LessThan(o vocab.ForgeFedFilesRemovedPropertyIterator) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "ForgeFedFilesRemoved". +func (this ForgeFedFilesRemovedPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ForgeFedFilesRemoved" + } else { + return "ForgeFedFilesRemoved" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ForgeFedFilesRemovedPropertyIterator) Next() vocab.ForgeFedFilesRemovedPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ForgeFedFilesRemovedPropertyIterator) Prev() vocab.ForgeFedFilesRemovedPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *ForgeFedFilesRemovedPropertyIterator) Set(v string) { + this.clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedFilesRemovedPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *ForgeFedFilesRemovedPropertyIterator) clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedFilesRemovedPropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ForgeFedFilesRemovedProperty is the non-functional property "filesRemoved". It +// is permitted to have one or more values, and of different value types. +type ForgeFedFilesRemovedProperty struct { + properties []*ForgeFedFilesRemovedPropertyIterator + alias string +} + +// DeserializeFilesRemovedProperty creates a "filesRemoved" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeFilesRemovedProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedFilesRemovedProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "filesRemoved" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "filesRemoved") + } + i, ok := m[propName] + + if ok { + this := &ForgeFedFilesRemovedProperty{ + alias: alias, + properties: []*ForgeFedFilesRemovedPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeForgeFedFilesRemovedPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeForgeFedFilesRemovedPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewForgeFedFilesRemovedProperty creates a new filesRemoved property. +func NewForgeFedFilesRemovedProperty() *ForgeFedFilesRemovedProperty { + return &ForgeFedFilesRemovedProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "filesRemoved" +func (this *ForgeFedFilesRemovedProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ForgeFedFilesRemovedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendXMLSchemaString appends a string value to the back of a list of the +// property "filesRemoved". Invalidates iterators that are traversing using +// Prev. +func (this *ForgeFedFilesRemovedProperty) AppendXMLSchemaString(v string) { + this.properties = append(this.properties, &ForgeFedFilesRemovedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaStringMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ForgeFedFilesRemovedProperty) At(index int) vocab.ForgeFedFilesRemovedPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ForgeFedFilesRemovedProperty) Begin() vocab.ForgeFedFilesRemovedPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ForgeFedFilesRemovedProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ForgeFedFilesRemovedProperty) End() vocab.ForgeFedFilesRemovedPropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property +// "filesRemoved". Existing elements at that index and higher are shifted back +// once. Invalidates all iterators. +func (this *ForgeFedFilesRemovedProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedFilesRemovedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaString inserts a string value at the specified index for a +// property "filesRemoved". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedFilesRemovedProperty) InsertXMLSchemaString(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedFilesRemovedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedFilesRemovedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ForgeFedFilesRemovedProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "filesRemoved" property. +func (this ForgeFedFilesRemovedProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ForgeFedFilesRemovedProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].Get() + rhs := this.properties[j].Get() + return string1.LessString(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedFilesRemovedProperty) LessThan(o vocab.ForgeFedFilesRemovedProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("filesRemoved") with any alias. +func (this ForgeFedFilesRemovedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "filesRemoved" + } else { + return "filesRemoved" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "filesRemoved". +func (this *ForgeFedFilesRemovedProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ForgeFedFilesRemovedPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaString prepends a string value to the front of a list of the +// property "filesRemoved". Invalidates all iterators. +func (this *ForgeFedFilesRemovedProperty) PrependXMLSchemaString(v string) { + this.properties = append([]*ForgeFedFilesRemovedPropertyIterator{{ + alias: this.alias, + hasStringMember: true, + myIdx: 0, + parent: this, + xmlschemaStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "filesRemoved", regardless of its type. Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ForgeFedFilesRemovedProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ForgeFedFilesRemovedPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedFilesRemovedProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// Set sets a string value to be at the specified index for the property +// "filesRemoved". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedFilesRemovedProperty) Set(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedFilesRemovedPropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "filesRemoved". Panics if the index is out of bounds. +func (this *ForgeFedFilesRemovedProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedFilesRemovedPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// Swap swaps the location of values at two indices for the "filesRemoved" +// property. +func (this ForgeFedFilesRemovedProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_doc.go new file mode 100644 index 000000000..b78bc1dda --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyforks contains the implementation for the forks property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyforks diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_pkg.go new file mode 100644 index 000000000..dae869a36 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_pkg.go @@ -0,0 +1,27 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyforks + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_property_forgefed_forks.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_property_forgefed_forks.go new file mode 100644 index 000000000..adc5bcbcc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_forks/gen_property_forgefed_forks.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyforks + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedForksProperty is the functional property "forks". It is permitted to be +// one of multiple value types. At most, one type of value can be present, or +// none at all. Setting a value will clear the other types of values so that +// only one of the 'Is' methods will return true. It is possible to clear all +// values, so that this property is empty. +type ForgeFedForksProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeForksProperty creates a "forks" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeForksProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedForksProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "forks" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "forks") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedForksProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedForksProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedForksProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedForksProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedForksProperty creates a new forks property. +func NewForgeFedForksProperty() *ForgeFedForksProperty { + return &ForgeFedForksProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedForksProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedForksProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedForksProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedForksProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedForksProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedForksProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedForksProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedForksProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedForksProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedForksProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedForksProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedForksProperty) LessThan(o vocab.ForgeFedForksProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "forks". +func (this ForgeFedForksProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "forks" + } else { + return "forks" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedForksProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedForksProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedForksProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedForksProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedForksProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on forks property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_doc.go new file mode 100644 index 000000000..b2b3cf142 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyhash contains the implementation for the hash property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyhash diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_pkg.go new file mode 100644 index 000000000..b0d3d5e34 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyhash + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_property_forgefed_hash.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_property_forgefed_hash.go new file mode 100644 index 000000000..cae2c472a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_hash/gen_property_forgefed_hash.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyhash + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedHashProperty is the functional property "hash". It is permitted to be a +// single default-valued value type. +type ForgeFedHashProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeHashProperty creates a "hash" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeHashProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedHashProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "hash" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "hash") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedHashProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ForgeFedHashProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &ForgeFedHashProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedHashProperty creates a new hash property. +func NewForgeFedHashProperty() *ForgeFedHashProperty { + return &ForgeFedHashProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *ForgeFedHashProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this ForgeFedHashProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedHashProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedHashProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedHashProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this ForgeFedHashProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedHashProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedHashProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedHashProperty) LessThan(o vocab.ForgeFedHashProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "hash". +func (this ForgeFedHashProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "hash" + } else { + return "hash" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedHashProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *ForgeFedHashProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedHashProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_doc.go new file mode 100644 index 000000000..bd88e0052 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyisresolved contains the implementation for the isResolved +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyisresolved diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_pkg.go new file mode 100644 index 000000000..33f271d34 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyisresolved + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_property_forgefed_isResolved.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_property_forgefed_isResolved.go new file mode 100644 index 000000000..625fcb9d0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_isresolved/gen_property_forgefed_isResolved.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyisresolved + +import ( + "fmt" + boolean "github.com/go-fed/activity/streams/values/boolean" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedIsResolvedProperty is the functional property "isResolved". It is +// permitted to be a single default-valued value type. +type ForgeFedIsResolvedProperty struct { + xmlschemaBooleanMember bool + hasBooleanMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeIsResolvedProperty creates a "isResolved" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeIsResolvedProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedIsResolvedProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "isResolved" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "isResolved") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedIsResolvedProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := boolean.DeserializeBoolean(i); err == nil { + this := &ForgeFedIsResolvedProperty{ + alias: alias, + hasBooleanMember: true, + xmlschemaBooleanMember: v, + } + return this, nil + } + this := &ForgeFedIsResolvedProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedIsResolvedProperty creates a new isResolved property. +func NewForgeFedIsResolvedProperty() *ForgeFedIsResolvedProperty { + return &ForgeFedIsResolvedProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaBoolean +// afterwards will return false. +func (this *ForgeFedIsResolvedProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasBooleanMember = false +} + +// Get returns the value of this property. When IsXMLSchemaBoolean returns false, +// Get will return any arbitrary value. +func (this ForgeFedIsResolvedProperty) Get() bool { + return this.xmlschemaBooleanMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedIsResolvedProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedIsResolvedProperty) HasAny() bool { + return this.IsXMLSchemaBoolean() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedIsResolvedProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaBoolean returns true if this property is set and not an IRI. +func (this ForgeFedIsResolvedProperty) IsXMLSchemaBoolean() bool { + return this.hasBooleanMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedIsResolvedProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedIsResolvedProperty) KindIndex() int { + if this.IsXMLSchemaBoolean() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedIsResolvedProperty) LessThan(o vocab.ForgeFedIsResolvedProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaBoolean() && !o.IsXMLSchemaBoolean() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaBoolean() && !o.IsXMLSchemaBoolean() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaBoolean() && o.IsXMLSchemaBoolean() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return boolean.LessBoolean(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "isResolved". +func (this ForgeFedIsResolvedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "isResolved" + } else { + return "isResolved" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedIsResolvedProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaBoolean() { + return boolean.SerializeBoolean(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaBoolean afterwards will +// return true. +func (this *ForgeFedIsResolvedProperty) Set(v bool) { + this.Clear() + this.xmlschemaBooleanMember = v + this.hasBooleanMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedIsResolvedProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_doc.go new file mode 100644 index 000000000..db28dfa5e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyref contains the implementation for the ref property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyref diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_pkg.go new file mode 100644 index 000000000..27120c487 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyref + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_property_forgefed_ref.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_property_forgefed_ref.go new file mode 100644 index 000000000..3fe0e50a1 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ref/gen_property_forgefed_ref.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyref + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedRefProperty is the functional property "ref". It is permitted to be a +// single default-valued value type. +type ForgeFedRefProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeRefProperty creates a "ref" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeRefProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedRefProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "ref" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "ref") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedRefProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &ForgeFedRefProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &ForgeFedRefProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedRefProperty creates a new ref property. +func NewForgeFedRefProperty() *ForgeFedRefProperty { + return &ForgeFedRefProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *ForgeFedRefProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this ForgeFedRefProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this ForgeFedRefProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this ForgeFedRefProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this ForgeFedRefProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this ForgeFedRefProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedRefProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedRefProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedRefProperty) LessThan(o vocab.ForgeFedRefProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "ref". +func (this ForgeFedRefProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ref" + } else { + return "ref" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedRefProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *ForgeFedRefProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *ForgeFedRefProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_doc.go new file mode 100644 index 000000000..7ce672b00 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyteam contains the implementation for the team property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyteam diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_pkg.go new file mode 100644 index 000000000..8e1684326 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyteam + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_property_forgefed_team.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_property_forgefed_team.go new file mode 100644 index 000000000..56670c34d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_team/gen_property_forgefed_team.go @@ -0,0 +1,360 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyteam + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedTeamProperty is the functional property "team". It is permitted to be +// one of multiple value types. At most, one type of value can be present, or +// none at all. Setting a value will clear the other types of values so that +// only one of the 'Is' methods will return true. It is possible to clear all +// values, so that this property is empty. +type ForgeFedTeamProperty struct { + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeTeamProperty creates a "team" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeTeamProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedTeamProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "team" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "team") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedTeamProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTeamProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTeamProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTeamProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTeamProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedTeamProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedTeamProperty creates a new team property. +func NewForgeFedTeamProperty() *ForgeFedTeamProperty { + return &ForgeFedTeamProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedTeamProperty) Clear() { + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ForgeFedTeamProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ForgeFedTeamProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedTeamProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedTeamProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedTeamProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedTeamProperty) GetType() vocab.Type { + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedTeamProperty) HasAny() bool { + return this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ForgeFedTeamProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ForgeFedTeamProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedTeamProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedTeamProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedTeamProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedTeamProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedTeamProperty) KindIndex() int { + if this.IsActivityStreamsCollection() { + return 0 + } + if this.IsActivityStreamsCollectionPage() { + return 1 + } + if this.IsActivityStreamsOrderedCollection() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedTeamProperty) LessThan(o vocab.ForgeFedTeamProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "team". +func (this ForgeFedTeamProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "team" + } else { + return "team" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedTeamProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ForgeFedTeamProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ForgeFedTeamProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedTeamProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedTeamProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedTeamProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedTeamProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on team property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_doc.go new file mode 100644 index 000000000..c05d81ca3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyticketstrackedby contains the implementation for the +// ticketsTrackedBy property. All applications are strongly encouraged to use +// the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyticketstrackedby diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_pkg.go new file mode 100644 index 000000000..b4215e80c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_pkg.go @@ -0,0 +1,257 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyticketstrackedby + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_property_forgefed_ticketsTrackedBy.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_property_forgefed_ticketsTrackedBy.go new file mode 100644 index 000000000..9020342b8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby/gen_property_forgefed_ticketsTrackedBy.go @@ -0,0 +1,2933 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyticketstrackedby + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedTicketsTrackedByProperty is the functional property "ticketsTrackedBy". +// It is permitted to be one of multiple value types. At most, one type of +// value can be present, or none at all. Setting a value will clear the other +// types of values so that only one of the 'Is' methods will return true. It +// is possible to clear all values, so that this property is empty. +type ForgeFedTicketsTrackedByProperty struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeTicketsTrackedByProperty creates a "ticketsTrackedBy" property from +// an interface representation that has been unmarshalled from a text or +// binary format. +func DeserializeTicketsTrackedByProperty(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedTicketsTrackedByProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "ticketsTrackedBy" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "ticketsTrackedBy") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTicketsTrackedByProperty{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedTicketsTrackedByProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewForgeFedTicketsTrackedByProperty creates a new ticketsTrackedBy property. +func NewForgeFedTicketsTrackedByProperty() *ForgeFedTicketsTrackedByProperty { + return &ForgeFedTicketsTrackedByProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedTicketsTrackedByProperty) Clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ForgeFedTicketsTrackedByProperty) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedTicketsTrackedByProperty) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedTicketsTrackedByProperty) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ForgeFedTicketsTrackedByProperty) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ForgeFedTicketsTrackedByProperty) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ForgeFedTicketsTrackedByProperty) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ForgeFedTicketsTrackedByProperty) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedTicketsTrackedByProperty) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ForgeFedTicketsTrackedByProperty) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedTicketsTrackedByProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedTicketsTrackedByProperty) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsAccept() { + return 1 + } + if this.IsActivityStreamsActivity() { + return 2 + } + if this.IsActivityStreamsAdd() { + return 3 + } + if this.IsActivityStreamsAnnounce() { + return 4 + } + if this.IsActivityStreamsApplication() { + return 5 + } + if this.IsActivityStreamsArrive() { + return 6 + } + if this.IsActivityStreamsArticle() { + return 7 + } + if this.IsActivityStreamsAudio() { + return 8 + } + if this.IsActivityStreamsBlock() { + return 9 + } + if this.IsForgeFedBranch() { + return 10 + } + if this.IsActivityStreamsCollection() { + return 11 + } + if this.IsActivityStreamsCollectionPage() { + return 12 + } + if this.IsForgeFedCommit() { + return 13 + } + if this.IsActivityStreamsCreate() { + return 14 + } + if this.IsActivityStreamsDelete() { + return 15 + } + if this.IsActivityStreamsDislike() { + return 16 + } + if this.IsActivityStreamsDocument() { + return 17 + } + if this.IsTootEmoji() { + return 18 + } + if this.IsActivityStreamsEvent() { + return 19 + } + if this.IsActivityStreamsFlag() { + return 20 + } + if this.IsActivityStreamsFollow() { + return 21 + } + if this.IsActivityStreamsGroup() { + return 22 + } + if this.IsTootIdentityProof() { + return 23 + } + if this.IsActivityStreamsIgnore() { + return 24 + } + if this.IsActivityStreamsImage() { + return 25 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 26 + } + if this.IsActivityStreamsInvite() { + return 27 + } + if this.IsActivityStreamsJoin() { + return 28 + } + if this.IsActivityStreamsLeave() { + return 29 + } + if this.IsActivityStreamsLike() { + return 30 + } + if this.IsActivityStreamsListen() { + return 31 + } + if this.IsActivityStreamsMove() { + return 32 + } + if this.IsActivityStreamsNote() { + return 33 + } + if this.IsActivityStreamsOffer() { + return 34 + } + if this.IsActivityStreamsOrderedCollection() { + return 35 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 36 + } + if this.IsActivityStreamsOrganization() { + return 37 + } + if this.IsActivityStreamsPage() { + return 38 + } + if this.IsActivityStreamsPerson() { + return 39 + } + if this.IsActivityStreamsPlace() { + return 40 + } + if this.IsActivityStreamsProfile() { + return 41 + } + if this.IsForgeFedPush() { + return 42 + } + if this.IsActivityStreamsQuestion() { + return 43 + } + if this.IsActivityStreamsRead() { + return 44 + } + if this.IsActivityStreamsReject() { + return 45 + } + if this.IsActivityStreamsRelationship() { + return 46 + } + if this.IsActivityStreamsRemove() { + return 47 + } + if this.IsForgeFedRepository() { + return 48 + } + if this.IsActivityStreamsService() { + return 49 + } + if this.IsActivityStreamsTentativeAccept() { + return 50 + } + if this.IsActivityStreamsTentativeReject() { + return 51 + } + if this.IsForgeFedTicket() { + return 52 + } + if this.IsForgeFedTicketDependency() { + return 53 + } + if this.IsActivityStreamsTombstone() { + return 54 + } + if this.IsActivityStreamsTravel() { + return 55 + } + if this.IsActivityStreamsUndo() { + return 56 + } + if this.IsActivityStreamsUpdate() { + return 57 + } + if this.IsActivityStreamsVideo() { + return 58 + } + if this.IsActivityStreamsView() { + return 59 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedTicketsTrackedByProperty) LessThan(o vocab.ForgeFedTicketsTrackedByProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ticketsTrackedBy". +func (this ForgeFedTicketsTrackedByProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ticketsTrackedBy" + } else { + return "ticketsTrackedBy" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedTicketsTrackedByProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.Clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.Clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.Clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.Clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.Clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.Clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.Clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.Clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.Clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.Clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.Clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.Clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.Clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.Clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.Clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.Clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.Clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.Clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.Clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.Clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.Clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.Clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.Clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.Clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.Clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.Clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.Clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.Clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.Clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.Clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.Clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.Clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.Clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.Clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.Clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.Clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.Clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.Clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.Clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.Clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.Clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.Clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.Clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.Clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.Clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.Clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.Clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.Clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.Clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.Clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.Clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetForgeFedPush(v vocab.ForgeFedPush) { + this.Clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.Clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.Clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.Clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetTootEmoji(v vocab.TootEmoji) { + this.Clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ForgeFedTicketsTrackedByProperty) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.Clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedTicketsTrackedByProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ticketsTrackedBy property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_doc.go new file mode 100644 index 000000000..6b98a7452 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertytracksticketsfor contains the implementation for the +// tracksTicketsFor property. All applications are strongly encouraged to use +// the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertytracksticketsfor diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_pkg.go new file mode 100644 index 000000000..7379b9e64 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_pkg.go @@ -0,0 +1,257 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytracksticketsfor + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAcceptActivityStreams returns the deserialization method for + // the "ActivityStreamsAccept" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAccept, error) + // DeserializeActivityActivityStreams returns the deserialization method + // for the "ActivityStreamsActivity" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActivity, error) + // DeserializeAddActivityStreams returns the deserialization method for + // the "ActivityStreamsAdd" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeAddActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAdd, error) + // DeserializeAnnounceActivityStreams returns the deserialization method + // for the "ActivityStreamsAnnounce" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAnnounceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAnnounce, error) + // DeserializeApplicationActivityStreams returns the deserialization + // method for the "ActivityStreamsApplication" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeApplicationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsApplication, error) + // DeserializeArriveActivityStreams returns the deserialization method for + // the "ActivityStreamsArrive" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArriveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArrive, error) + // DeserializeArticleActivityStreams returns the deserialization method + // for the "ActivityStreamsArticle" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeArticleActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsArticle, error) + // DeserializeAudioActivityStreams returns the deserialization method for + // the "ActivityStreamsAudio" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeAudioActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudio, error) + // DeserializeBlockActivityStreams returns the deserialization method for + // the "ActivityStreamsBlock" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeBlockActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBlock, error) + // DeserializeBranchForgeFed returns the deserialization method for the + // "ForgeFedBranch" non-functional property in the vocabulary + // "ForgeFed" + DeserializeBranchForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedBranch, error) + // DeserializeCollectionActivityStreams returns the deserialization method + // for the "ActivityStreamsCollection" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollection, error) + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeCommitForgeFed returns the deserialization method for the + // "ForgeFedCommit" non-functional property in the vocabulary + // "ForgeFed" + DeserializeCommitForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommit, error) + // DeserializeCreateActivityStreams returns the deserialization method for + // the "ActivityStreamsCreate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCreateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCreate, error) + // DeserializeDeleteActivityStreams returns the deserialization method for + // the "ActivityStreamsDelete" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDeleteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDelete, error) + // DeserializeDislikeActivityStreams returns the deserialization method + // for the "ActivityStreamsDislike" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDislikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDislike, error) + // DeserializeDocumentActivityStreams returns the deserialization method + // for the "ActivityStreamsDocument" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error) + // DeserializeEmojiToot returns the deserialization method for the + // "TootEmoji" non-functional property in the vocabulary "Toot" + DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error) + // DeserializeEventActivityStreams returns the deserialization method for + // the "ActivityStreamsEvent" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeEventActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEvent, error) + // DeserializeFlagActivityStreams returns the deserialization method for + // the "ActivityStreamsFlag" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeFlagActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFlag, error) + // DeserializeFollowActivityStreams returns the deserialization method for + // the "ActivityStreamsFollow" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeFollowActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsFollow, error) + // DeserializeGroupActivityStreams returns the deserialization method for + // the "ActivityStreamsGroup" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeGroupActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGroup, error) + // DeserializeIdentityProofToot returns the deserialization method for the + // "TootIdentityProof" non-functional property in the vocabulary "Toot" + DeserializeIdentityProofToot() func(map[string]interface{}, map[string]string) (vocab.TootIdentityProof, error) + // DeserializeIgnoreActivityStreams returns the deserialization method for + // the "ActivityStreamsIgnore" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeIgnoreActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIgnore, error) + // DeserializeImageActivityStreams returns the deserialization method for + // the "ActivityStreamsImage" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeImageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImage, error) + // DeserializeIntransitiveActivityActivityStreams returns the + // deserialization method for the + // "ActivityStreamsIntransitiveActivity" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeIntransitiveActivityActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIntransitiveActivity, error) + // DeserializeInviteActivityStreams returns the deserialization method for + // the "ActivityStreamsInvite" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeInviteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInvite, error) + // DeserializeJoinActivityStreams returns the deserialization method for + // the "ActivityStreamsJoin" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeJoinActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsJoin, error) + // DeserializeLeaveActivityStreams returns the deserialization method for + // the "ActivityStreamsLeave" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeLeaveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLeave, error) + // DeserializeLikeActivityStreams returns the deserialization method for + // the "ActivityStreamsLike" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLikeActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLike, error) + // DeserializeListenActivityStreams returns the deserialization method for + // the "ActivityStreamsListen" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeListenActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsListen, error) + // DeserializeMoveActivityStreams returns the deserialization method for + // the "ActivityStreamsMove" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeMoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMove, error) + // DeserializeNoteActivityStreams returns the deserialization method for + // the "ActivityStreamsNote" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeNoteActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNote, error) + // DeserializeObjectActivityStreams returns the deserialization method for + // the "ActivityStreamsObject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeObjectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObject, error) + // DeserializeOfferActivityStreams returns the deserialization method for + // the "ActivityStreamsOffer" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeOfferActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOffer, error) + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) + // DeserializeOrganizationActivityStreams returns the deserialization + // method for the "ActivityStreamsOrganization" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrganizationActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrganization, error) + // DeserializePageActivityStreams returns the deserialization method for + // the "ActivityStreamsPage" non-functional property in the vocabulary + // "ActivityStreams" + DeserializePageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPage, error) + // DeserializePersonActivityStreams returns the deserialization method for + // the "ActivityStreamsPerson" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePersonActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPerson, error) + // DeserializePlaceActivityStreams returns the deserialization method for + // the "ActivityStreamsPlace" non-functional property in the + // vocabulary "ActivityStreams" + DeserializePlaceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPlace, error) + // DeserializeProfileActivityStreams returns the deserialization method + // for the "ActivityStreamsProfile" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeProfileActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsProfile, error) + // DeserializePushForgeFed returns the deserialization method for the + // "ForgeFedPush" non-functional property in the vocabulary "ForgeFed" + DeserializePushForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedPush, error) + // DeserializeQuestionActivityStreams returns the deserialization method + // for the "ActivityStreamsQuestion" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeQuestionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsQuestion, error) + // DeserializeReadActivityStreams returns the deserialization method for + // the "ActivityStreamsRead" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeReadActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRead, error) + // DeserializeRejectActivityStreams returns the deserialization method for + // the "ActivityStreamsReject" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsReject, error) + // DeserializeRelationshipActivityStreams returns the deserialization + // method for the "ActivityStreamsRelationship" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRelationshipActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationship, error) + // DeserializeRemoveActivityStreams returns the deserialization method for + // the "ActivityStreamsRemove" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeRemoveActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRemove, error) + // DeserializeRepositoryForgeFed returns the deserialization method for + // the "ForgeFedRepository" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRepositoryForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRepository, error) + // DeserializeServiceActivityStreams returns the deserialization method + // for the "ActivityStreamsService" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeServiceActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsService, error) + // DeserializeTentativeAcceptActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeAccept" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeAcceptActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeAccept, error) + // DeserializeTentativeRejectActivityStreams returns the deserialization + // method for the "ActivityStreamsTentativeReject" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTentativeRejectActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTentativeReject, error) + // DeserializeTicketDependencyForgeFed returns the deserialization method + // for the "ForgeFedTicketDependency" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTicketDependencyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketDependency, error) + // DeserializeTicketForgeFed returns the deserialization method for the + // "ForgeFedTicket" non-functional property in the vocabulary + // "ForgeFed" + DeserializeTicketForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicket, error) + // DeserializeTombstoneActivityStreams returns the deserialization method + // for the "ActivityStreamsTombstone" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTombstoneActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTombstone, error) + // DeserializeTravelActivityStreams returns the deserialization method for + // the "ActivityStreamsTravel" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeTravelActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTravel, error) + // DeserializeUndoActivityStreams returns the deserialization method for + // the "ActivityStreamsUndo" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeUndoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUndo, error) + // DeserializeUpdateActivityStreams returns the deserialization method for + // the "ActivityStreamsUpdate" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeUpdateActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdate, error) + // DeserializeVideoActivityStreams returns the deserialization method for + // the "ActivityStreamsVideo" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeVideoActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsVideo, error) + // DeserializeViewActivityStreams returns the deserialization method for + // the "ActivityStreamsView" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeViewActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsView, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_property_forgefed_tracksTicketsFor.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_property_forgefed_tracksTicketsFor.go new file mode 100644 index 000000000..577cdc17f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor/gen_property_forgefed_tracksTicketsFor.go @@ -0,0 +1,6880 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytracksticketsfor + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ForgeFedTracksTicketsForPropertyIterator is an iterator for a property. It is +// permitted to be one of multiple value types. At most, one type of value can +// be present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ForgeFedTracksTicketsForPropertyIterator struct { + activitystreamsObjectMember vocab.ActivityStreamsObject + activitystreamsAcceptMember vocab.ActivityStreamsAccept + activitystreamsActivityMember vocab.ActivityStreamsActivity + activitystreamsAddMember vocab.ActivityStreamsAdd + activitystreamsAnnounceMember vocab.ActivityStreamsAnnounce + activitystreamsApplicationMember vocab.ActivityStreamsApplication + activitystreamsArriveMember vocab.ActivityStreamsArrive + activitystreamsArticleMember vocab.ActivityStreamsArticle + activitystreamsAudioMember vocab.ActivityStreamsAudio + activitystreamsBlockMember vocab.ActivityStreamsBlock + forgefedBranchMember vocab.ForgeFedBranch + activitystreamsCollectionMember vocab.ActivityStreamsCollection + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + forgefedCommitMember vocab.ForgeFedCommit + activitystreamsCreateMember vocab.ActivityStreamsCreate + activitystreamsDeleteMember vocab.ActivityStreamsDelete + activitystreamsDislikeMember vocab.ActivityStreamsDislike + activitystreamsDocumentMember vocab.ActivityStreamsDocument + tootEmojiMember vocab.TootEmoji + activitystreamsEventMember vocab.ActivityStreamsEvent + activitystreamsFlagMember vocab.ActivityStreamsFlag + activitystreamsFollowMember vocab.ActivityStreamsFollow + activitystreamsGroupMember vocab.ActivityStreamsGroup + tootIdentityProofMember vocab.TootIdentityProof + activitystreamsIgnoreMember vocab.ActivityStreamsIgnore + activitystreamsImageMember vocab.ActivityStreamsImage + activitystreamsIntransitiveActivityMember vocab.ActivityStreamsIntransitiveActivity + activitystreamsInviteMember vocab.ActivityStreamsInvite + activitystreamsJoinMember vocab.ActivityStreamsJoin + activitystreamsLeaveMember vocab.ActivityStreamsLeave + activitystreamsLikeMember vocab.ActivityStreamsLike + activitystreamsListenMember vocab.ActivityStreamsListen + activitystreamsMoveMember vocab.ActivityStreamsMove + activitystreamsNoteMember vocab.ActivityStreamsNote + activitystreamsOfferMember vocab.ActivityStreamsOffer + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + activitystreamsOrganizationMember vocab.ActivityStreamsOrganization + activitystreamsPageMember vocab.ActivityStreamsPage + activitystreamsPersonMember vocab.ActivityStreamsPerson + activitystreamsPlaceMember vocab.ActivityStreamsPlace + activitystreamsProfileMember vocab.ActivityStreamsProfile + forgefedPushMember vocab.ForgeFedPush + activitystreamsQuestionMember vocab.ActivityStreamsQuestion + activitystreamsReadMember vocab.ActivityStreamsRead + activitystreamsRejectMember vocab.ActivityStreamsReject + activitystreamsRelationshipMember vocab.ActivityStreamsRelationship + activitystreamsRemoveMember vocab.ActivityStreamsRemove + forgefedRepositoryMember vocab.ForgeFedRepository + activitystreamsServiceMember vocab.ActivityStreamsService + activitystreamsTentativeAcceptMember vocab.ActivityStreamsTentativeAccept + activitystreamsTentativeRejectMember vocab.ActivityStreamsTentativeReject + forgefedTicketMember vocab.ForgeFedTicket + forgefedTicketDependencyMember vocab.ForgeFedTicketDependency + activitystreamsTombstoneMember vocab.ActivityStreamsTombstone + activitystreamsTravelMember vocab.ActivityStreamsTravel + activitystreamsUndoMember vocab.ActivityStreamsUndo + activitystreamsUpdateMember vocab.ActivityStreamsUpdate + activitystreamsVideoMember vocab.ActivityStreamsVideo + activitystreamsViewMember vocab.ActivityStreamsView + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.ForgeFedTracksTicketsForProperty +} + +// NewForgeFedTracksTicketsForPropertyIterator creates a new +// ForgeFedTracksTicketsFor property. +func NewForgeFedTracksTicketsForPropertyIterator() *ForgeFedTracksTicketsForPropertyIterator { + return &ForgeFedTracksTicketsForPropertyIterator{alias: ""} +} + +// deserializeForgeFedTracksTicketsForPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeForgeFedTracksTicketsForPropertyIterator(i interface{}, aliasMap map[string]string) (*ForgeFedTracksTicketsForPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeObjectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsObjectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAddActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAddMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAnnounceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeApplicationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsApplicationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArriveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsArriveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeArticleActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsArticleMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeAudioActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAudioMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBlockActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsBlockMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeBranchForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + forgefedBranchMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeCommitForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + forgefedCommitMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeCreateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCreateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDeleteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDeleteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDislikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDislikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeDocumentActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDocumentMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeEmojiToot()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + tootEmojiMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsEventMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFlagActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsFlagMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeFollowActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsFollowMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeGroupActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsGroupMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIdentityProofToot()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + tootIdentityProofMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeIgnoreActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeImageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsImageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeIntransitiveActivityActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeInviteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsInviteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeJoinActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsJoinMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLeaveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsLeaveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLikeActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsLikeMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeListenActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsListenMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsMoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeNoteActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsNoteMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOfferActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOfferMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrganizationActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePageActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePersonActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPersonMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePlaceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPlaceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeProfileActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsProfileMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializePushForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + forgefedPushMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeQuestionActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsQuestionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeReadActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsReadMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRelationshipActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRemoveActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRemoveMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeRepositoryForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + forgefedRepositoryMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeServiceActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsServiceMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeAcceptActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTentativeRejectActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTicketForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + forgefedTicketMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTicketDependencyForgeFed()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + forgefedTicketDependencyMember: v, + } + return this, nil + } else if v, err := mgr.DeserializeTombstoneActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeTravelActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTravelMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUndoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsUndoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeUpdateActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsUpdateMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeVideoActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsVideoMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeViewActivityStreams()(m, aliasMap); err == nil { + this := &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsViewMember: v, + alias: alias, + } + return this, nil + } + } + this := &ForgeFedTracksTicketsForPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetActivityStreamsAccept returns the value of this property. When +// IsActivityStreamsAccept returns false, GetActivityStreamsAccept will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsAccept() vocab.ActivityStreamsAccept { + return this.activitystreamsAcceptMember +} + +// GetActivityStreamsActivity returns the value of this property. When +// IsActivityStreamsActivity returns false, GetActivityStreamsActivity will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsActivity() vocab.ActivityStreamsActivity { + return this.activitystreamsActivityMember +} + +// GetActivityStreamsAdd returns the value of this property. When +// IsActivityStreamsAdd returns false, GetActivityStreamsAdd will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsAdd() vocab.ActivityStreamsAdd { + return this.activitystreamsAddMember +} + +// GetActivityStreamsAnnounce returns the value of this property. When +// IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsAnnounce() vocab.ActivityStreamsAnnounce { + return this.activitystreamsAnnounceMember +} + +// GetActivityStreamsApplication returns the value of this property. When +// IsActivityStreamsApplication returns false, GetActivityStreamsApplication +// will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsApplication() vocab.ActivityStreamsApplication { + return this.activitystreamsApplicationMember +} + +// GetActivityStreamsArrive returns the value of this property. When +// IsActivityStreamsArrive returns false, GetActivityStreamsArrive will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsArrive() vocab.ActivityStreamsArrive { + return this.activitystreamsArriveMember +} + +// GetActivityStreamsArticle returns the value of this property. When +// IsActivityStreamsArticle returns false, GetActivityStreamsArticle will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsArticle() vocab.ActivityStreamsArticle { + return this.activitystreamsArticleMember +} + +// GetActivityStreamsAudio returns the value of this property. When +// IsActivityStreamsAudio returns false, GetActivityStreamsAudio will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsAudio() vocab.ActivityStreamsAudio { + return this.activitystreamsAudioMember +} + +// GetActivityStreamsBlock returns the value of this property. When +// IsActivityStreamsBlock returns false, GetActivityStreamsBlock will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsBlock() vocab.ActivityStreamsBlock { + return this.activitystreamsBlockMember +} + +// GetActivityStreamsCollection returns the value of this property. When +// IsActivityStreamsCollection returns false, GetActivityStreamsCollection +// will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsCollection() vocab.ActivityStreamsCollection { + return this.activitystreamsCollectionMember +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsCreate returns the value of this property. When +// IsActivityStreamsCreate returns false, GetActivityStreamsCreate will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsCreate() vocab.ActivityStreamsCreate { + return this.activitystreamsCreateMember +} + +// GetActivityStreamsDelete returns the value of this property. When +// IsActivityStreamsDelete returns false, GetActivityStreamsDelete will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsDelete() vocab.ActivityStreamsDelete { + return this.activitystreamsDeleteMember +} + +// GetActivityStreamsDislike returns the value of this property. When +// IsActivityStreamsDislike returns false, GetActivityStreamsDislike will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsDislike() vocab.ActivityStreamsDislike { + return this.activitystreamsDislikeMember +} + +// GetActivityStreamsDocument returns the value of this property. When +// IsActivityStreamsDocument returns false, GetActivityStreamsDocument will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsDocument() vocab.ActivityStreamsDocument { + return this.activitystreamsDocumentMember +} + +// GetActivityStreamsEvent returns the value of this property. When +// IsActivityStreamsEvent returns false, GetActivityStreamsEvent will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsEvent() vocab.ActivityStreamsEvent { + return this.activitystreamsEventMember +} + +// GetActivityStreamsFlag returns the value of this property. When +// IsActivityStreamsFlag returns false, GetActivityStreamsFlag will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsFlag() vocab.ActivityStreamsFlag { + return this.activitystreamsFlagMember +} + +// GetActivityStreamsFollow returns the value of this property. When +// IsActivityStreamsFollow returns false, GetActivityStreamsFollow will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsFollow() vocab.ActivityStreamsFollow { + return this.activitystreamsFollowMember +} + +// GetActivityStreamsGroup returns the value of this property. When +// IsActivityStreamsGroup returns false, GetActivityStreamsGroup will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsGroup() vocab.ActivityStreamsGroup { + return this.activitystreamsGroupMember +} + +// GetActivityStreamsIgnore returns the value of this property. When +// IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsIgnore() vocab.ActivityStreamsIgnore { + return this.activitystreamsIgnoreMember +} + +// GetActivityStreamsImage returns the value of this property. When +// IsActivityStreamsImage returns false, GetActivityStreamsImage will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsImage() vocab.ActivityStreamsImage { + return this.activitystreamsImageMember +} + +// GetActivityStreamsIntransitiveActivity returns the value of this property. When +// IsActivityStreamsIntransitiveActivity returns false, +// GetActivityStreamsIntransitiveActivity will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsIntransitiveActivity() vocab.ActivityStreamsIntransitiveActivity { + return this.activitystreamsIntransitiveActivityMember +} + +// GetActivityStreamsInvite returns the value of this property. When +// IsActivityStreamsInvite returns false, GetActivityStreamsInvite will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsInvite() vocab.ActivityStreamsInvite { + return this.activitystreamsInviteMember +} + +// GetActivityStreamsJoin returns the value of this property. When +// IsActivityStreamsJoin returns false, GetActivityStreamsJoin will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsJoin() vocab.ActivityStreamsJoin { + return this.activitystreamsJoinMember +} + +// GetActivityStreamsLeave returns the value of this property. When +// IsActivityStreamsLeave returns false, GetActivityStreamsLeave will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsLeave() vocab.ActivityStreamsLeave { + return this.activitystreamsLeaveMember +} + +// GetActivityStreamsLike returns the value of this property. When +// IsActivityStreamsLike returns false, GetActivityStreamsLike will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsLike() vocab.ActivityStreamsLike { + return this.activitystreamsLikeMember +} + +// GetActivityStreamsListen returns the value of this property. When +// IsActivityStreamsListen returns false, GetActivityStreamsListen will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsListen() vocab.ActivityStreamsListen { + return this.activitystreamsListenMember +} + +// GetActivityStreamsMove returns the value of this property. When +// IsActivityStreamsMove returns false, GetActivityStreamsMove will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsMove() vocab.ActivityStreamsMove { + return this.activitystreamsMoveMember +} + +// GetActivityStreamsNote returns the value of this property. When +// IsActivityStreamsNote returns false, GetActivityStreamsNote will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsNote() vocab.ActivityStreamsNote { + return this.activitystreamsNoteMember +} + +// GetActivityStreamsObject returns the value of this property. When +// IsActivityStreamsObject returns false, GetActivityStreamsObject will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsObject() vocab.ActivityStreamsObject { + return this.activitystreamsObjectMember +} + +// GetActivityStreamsOffer returns the value of this property. When +// IsActivityStreamsOffer returns false, GetActivityStreamsOffer will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsOffer() vocab.ActivityStreamsOffer { + return this.activitystreamsOfferMember +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetActivityStreamsOrganization returns the value of this property. When +// IsActivityStreamsOrganization returns false, GetActivityStreamsOrganization +// will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsOrganization() vocab.ActivityStreamsOrganization { + return this.activitystreamsOrganizationMember +} + +// GetActivityStreamsPage returns the value of this property. When +// IsActivityStreamsPage returns false, GetActivityStreamsPage will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsPage() vocab.ActivityStreamsPage { + return this.activitystreamsPageMember +} + +// GetActivityStreamsPerson returns the value of this property. When +// IsActivityStreamsPerson returns false, GetActivityStreamsPerson will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsPerson() vocab.ActivityStreamsPerson { + return this.activitystreamsPersonMember +} + +// GetActivityStreamsPlace returns the value of this property. When +// IsActivityStreamsPlace returns false, GetActivityStreamsPlace will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsPlace() vocab.ActivityStreamsPlace { + return this.activitystreamsPlaceMember +} + +// GetActivityStreamsProfile returns the value of this property. When +// IsActivityStreamsProfile returns false, GetActivityStreamsProfile will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsProfile() vocab.ActivityStreamsProfile { + return this.activitystreamsProfileMember +} + +// GetActivityStreamsQuestion returns the value of this property. When +// IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsQuestion() vocab.ActivityStreamsQuestion { + return this.activitystreamsQuestionMember +} + +// GetActivityStreamsRead returns the value of this property. When +// IsActivityStreamsRead returns false, GetActivityStreamsRead will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsRead() vocab.ActivityStreamsRead { + return this.activitystreamsReadMember +} + +// GetActivityStreamsReject returns the value of this property. When +// IsActivityStreamsReject returns false, GetActivityStreamsReject will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsReject() vocab.ActivityStreamsReject { + return this.activitystreamsRejectMember +} + +// GetActivityStreamsRelationship returns the value of this property. When +// IsActivityStreamsRelationship returns false, GetActivityStreamsRelationship +// will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationship { + return this.activitystreamsRelationshipMember +} + +// GetActivityStreamsRemove returns the value of this property. When +// IsActivityStreamsRemove returns false, GetActivityStreamsRemove will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsRemove() vocab.ActivityStreamsRemove { + return this.activitystreamsRemoveMember +} + +// GetActivityStreamsService returns the value of this property. When +// IsActivityStreamsService returns false, GetActivityStreamsService will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsService() vocab.ActivityStreamsService { + return this.activitystreamsServiceMember +} + +// GetActivityStreamsTentativeAccept returns the value of this property. When +// IsActivityStreamsTentativeAccept returns false, +// GetActivityStreamsTentativeAccept will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsTentativeAccept() vocab.ActivityStreamsTentativeAccept { + return this.activitystreamsTentativeAcceptMember +} + +// GetActivityStreamsTentativeReject returns the value of this property. When +// IsActivityStreamsTentativeReject returns false, +// GetActivityStreamsTentativeReject will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsTentativeReject() vocab.ActivityStreamsTentativeReject { + return this.activitystreamsTentativeRejectMember +} + +// GetActivityStreamsTombstone returns the value of this property. When +// IsActivityStreamsTombstone returns false, GetActivityStreamsTombstone will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsTombstone() vocab.ActivityStreamsTombstone { + return this.activitystreamsTombstoneMember +} + +// GetActivityStreamsTravel returns the value of this property. When +// IsActivityStreamsTravel returns false, GetActivityStreamsTravel will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsTravel() vocab.ActivityStreamsTravel { + return this.activitystreamsTravelMember +} + +// GetActivityStreamsUndo returns the value of this property. When +// IsActivityStreamsUndo returns false, GetActivityStreamsUndo will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsUndo() vocab.ActivityStreamsUndo { + return this.activitystreamsUndoMember +} + +// GetActivityStreamsUpdate returns the value of this property. When +// IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsUpdate() vocab.ActivityStreamsUpdate { + return this.activitystreamsUpdateMember +} + +// GetActivityStreamsVideo returns the value of this property. When +// IsActivityStreamsVideo returns false, GetActivityStreamsVideo will return +// an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsVideo() vocab.ActivityStreamsVideo { + return this.activitystreamsVideoMember +} + +// GetActivityStreamsView returns the value of this property. When +// IsActivityStreamsView returns false, GetActivityStreamsView will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetActivityStreamsView() vocab.ActivityStreamsView { + return this.activitystreamsViewMember +} + +// GetForgeFedBranch returns the value of this property. When IsForgeFedBranch +// returns false, GetForgeFedBranch will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetForgeFedBranch() vocab.ForgeFedBranch { + return this.forgefedBranchMember +} + +// GetForgeFedCommit returns the value of this property. When IsForgeFedCommit +// returns false, GetForgeFedCommit will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetForgeFedCommit() vocab.ForgeFedCommit { + return this.forgefedCommitMember +} + +// GetForgeFedPush returns the value of this property. When IsForgeFedPush returns +// false, GetForgeFedPush will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetForgeFedPush() vocab.ForgeFedPush { + return this.forgefedPushMember +} + +// GetForgeFedRepository returns the value of this property. When +// IsForgeFedRepository returns false, GetForgeFedRepository will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetForgeFedRepository() vocab.ForgeFedRepository { + return this.forgefedRepositoryMember +} + +// GetForgeFedTicket returns the value of this property. When IsForgeFedTicket +// returns false, GetForgeFedTicket will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetForgeFedTicket() vocab.ForgeFedTicket { + return this.forgefedTicketMember +} + +// GetForgeFedTicketDependency returns the value of this property. When +// IsForgeFedTicketDependency returns false, GetForgeFedTicketDependency will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetForgeFedTicketDependency() vocab.ForgeFedTicketDependency { + return this.forgefedTicketDependencyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetTootEmoji returns the value of this property. When IsTootEmoji returns +// false, GetTootEmoji will return an arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetTootEmoji() vocab.TootEmoji { + return this.tootEmojiMember +} + +// GetTootIdentityProof returns the value of this property. When +// IsTootIdentityProof returns false, GetTootIdentityProof will return an +// arbitrary value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetTootIdentityProof() vocab.TootIdentityProof { + return this.tootIdentityProofMember +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ForgeFedTracksTicketsForPropertyIterator) GetType() vocab.Type { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject() + } + if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept() + } + if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity() + } + if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd() + } + if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce() + } + if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication() + } + if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive() + } + if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle() + } + if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio() + } + if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock() + } + if this.IsForgeFedBranch() { + return this.GetForgeFedBranch() + } + if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection() + } + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsForgeFedCommit() { + return this.GetForgeFedCommit() + } + if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate() + } + if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete() + } + if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike() + } + if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument() + } + if this.IsTootEmoji() { + return this.GetTootEmoji() + } + if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent() + } + if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag() + } + if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow() + } + if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup() + } + if this.IsTootIdentityProof() { + return this.GetTootIdentityProof() + } + if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore() + } + if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage() + } + if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity() + } + if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite() + } + if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin() + } + if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave() + } + if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike() + } + if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen() + } + if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove() + } + if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote() + } + if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer() + } + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization() + } + if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage() + } + if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson() + } + if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace() + } + if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile() + } + if this.IsForgeFedPush() { + return this.GetForgeFedPush() + } + if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion() + } + if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead() + } + if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject() + } + if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship() + } + if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove() + } + if this.IsForgeFedRepository() { + return this.GetForgeFedRepository() + } + if this.IsActivityStreamsService() { + return this.GetActivityStreamsService() + } + if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept() + } + if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject() + } + if this.IsForgeFedTicket() { + return this.GetForgeFedTicket() + } + if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency() + } + if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone() + } + if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel() + } + if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo() + } + if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate() + } + if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo() + } + if this.IsActivityStreamsView() { + return this.GetActivityStreamsView() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ForgeFedTracksTicketsForPropertyIterator) HasAny() bool { + return this.IsActivityStreamsObject() || + this.IsActivityStreamsAccept() || + this.IsActivityStreamsActivity() || + this.IsActivityStreamsAdd() || + this.IsActivityStreamsAnnounce() || + this.IsActivityStreamsApplication() || + this.IsActivityStreamsArrive() || + this.IsActivityStreamsArticle() || + this.IsActivityStreamsAudio() || + this.IsActivityStreamsBlock() || + this.IsForgeFedBranch() || + this.IsActivityStreamsCollection() || + this.IsActivityStreamsCollectionPage() || + this.IsForgeFedCommit() || + this.IsActivityStreamsCreate() || + this.IsActivityStreamsDelete() || + this.IsActivityStreamsDislike() || + this.IsActivityStreamsDocument() || + this.IsTootEmoji() || + this.IsActivityStreamsEvent() || + this.IsActivityStreamsFlag() || + this.IsActivityStreamsFollow() || + this.IsActivityStreamsGroup() || + this.IsTootIdentityProof() || + this.IsActivityStreamsIgnore() || + this.IsActivityStreamsImage() || + this.IsActivityStreamsIntransitiveActivity() || + this.IsActivityStreamsInvite() || + this.IsActivityStreamsJoin() || + this.IsActivityStreamsLeave() || + this.IsActivityStreamsLike() || + this.IsActivityStreamsListen() || + this.IsActivityStreamsMove() || + this.IsActivityStreamsNote() || + this.IsActivityStreamsOffer() || + this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.IsActivityStreamsOrganization() || + this.IsActivityStreamsPage() || + this.IsActivityStreamsPerson() || + this.IsActivityStreamsPlace() || + this.IsActivityStreamsProfile() || + this.IsForgeFedPush() || + this.IsActivityStreamsQuestion() || + this.IsActivityStreamsRead() || + this.IsActivityStreamsReject() || + this.IsActivityStreamsRelationship() || + this.IsActivityStreamsRemove() || + this.IsForgeFedRepository() || + this.IsActivityStreamsService() || + this.IsActivityStreamsTentativeAccept() || + this.IsActivityStreamsTentativeReject() || + this.IsForgeFedTicket() || + this.IsForgeFedTicketDependency() || + this.IsActivityStreamsTombstone() || + this.IsActivityStreamsTravel() || + this.IsActivityStreamsUndo() || + this.IsActivityStreamsUpdate() || + this.IsActivityStreamsVideo() || + this.IsActivityStreamsView() || + this.iri != nil +} + +// IsActivityStreamsAccept returns true if this property has a type of "Accept". +// When true, use the GetActivityStreamsAccept and SetActivityStreamsAccept +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsAccept() bool { + return this.activitystreamsAcceptMember != nil +} + +// IsActivityStreamsActivity returns true if this property has a type of +// "Activity". When true, use the GetActivityStreamsActivity and +// SetActivityStreamsActivity methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsActivity() bool { + return this.activitystreamsActivityMember != nil +} + +// IsActivityStreamsAdd returns true if this property has a type of "Add". When +// true, use the GetActivityStreamsAdd and SetActivityStreamsAdd methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsAdd() bool { + return this.activitystreamsAddMember != nil +} + +// IsActivityStreamsAnnounce returns true if this property has a type of +// "Announce". When true, use the GetActivityStreamsAnnounce and +// SetActivityStreamsAnnounce methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsAnnounce() bool { + return this.activitystreamsAnnounceMember != nil +} + +// IsActivityStreamsApplication returns true if this property has a type of +// "Application". When true, use the GetActivityStreamsApplication and +// SetActivityStreamsApplication methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsApplication() bool { + return this.activitystreamsApplicationMember != nil +} + +// IsActivityStreamsArrive returns true if this property has a type of "Arrive". +// When true, use the GetActivityStreamsArrive and SetActivityStreamsArrive +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsArrive() bool { + return this.activitystreamsArriveMember != nil +} + +// IsActivityStreamsArticle returns true if this property has a type of "Article". +// When true, use the GetActivityStreamsArticle and SetActivityStreamsArticle +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsArticle() bool { + return this.activitystreamsArticleMember != nil +} + +// IsActivityStreamsAudio returns true if this property has a type of "Audio". +// When true, use the GetActivityStreamsAudio and SetActivityStreamsAudio +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsAudio() bool { + return this.activitystreamsAudioMember != nil +} + +// IsActivityStreamsBlock returns true if this property has a type of "Block". +// When true, use the GetActivityStreamsBlock and SetActivityStreamsBlock +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsBlock() bool { + return this.activitystreamsBlockMember != nil +} + +// IsActivityStreamsCollection returns true if this property has a type of +// "Collection". When true, use the GetActivityStreamsCollection and +// SetActivityStreamsCollection methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsCollection() bool { + return this.activitystreamsCollectionMember != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsCreate returns true if this property has a type of "Create". +// When true, use the GetActivityStreamsCreate and SetActivityStreamsCreate +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsCreate() bool { + return this.activitystreamsCreateMember != nil +} + +// IsActivityStreamsDelete returns true if this property has a type of "Delete". +// When true, use the GetActivityStreamsDelete and SetActivityStreamsDelete +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsDelete() bool { + return this.activitystreamsDeleteMember != nil +} + +// IsActivityStreamsDislike returns true if this property has a type of "Dislike". +// When true, use the GetActivityStreamsDislike and SetActivityStreamsDislike +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsDislike() bool { + return this.activitystreamsDislikeMember != nil +} + +// IsActivityStreamsDocument returns true if this property has a type of +// "Document". When true, use the GetActivityStreamsDocument and +// SetActivityStreamsDocument methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsDocument() bool { + return this.activitystreamsDocumentMember != nil +} + +// IsActivityStreamsEvent returns true if this property has a type of "Event". +// When true, use the GetActivityStreamsEvent and SetActivityStreamsEvent +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsEvent() bool { + return this.activitystreamsEventMember != nil +} + +// IsActivityStreamsFlag returns true if this property has a type of "Flag". When +// true, use the GetActivityStreamsFlag and SetActivityStreamsFlag methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsFlag() bool { + return this.activitystreamsFlagMember != nil +} + +// IsActivityStreamsFollow returns true if this property has a type of "Follow". +// When true, use the GetActivityStreamsFollow and SetActivityStreamsFollow +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsFollow() bool { + return this.activitystreamsFollowMember != nil +} + +// IsActivityStreamsGroup returns true if this property has a type of "Group". +// When true, use the GetActivityStreamsGroup and SetActivityStreamsGroup +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsGroup() bool { + return this.activitystreamsGroupMember != nil +} + +// IsActivityStreamsIgnore returns true if this property has a type of "Ignore". +// When true, use the GetActivityStreamsIgnore and SetActivityStreamsIgnore +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsIgnore() bool { + return this.activitystreamsIgnoreMember != nil +} + +// IsActivityStreamsImage returns true if this property has a type of "Image". +// When true, use the GetActivityStreamsImage and SetActivityStreamsImage +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsImage() bool { + return this.activitystreamsImageMember != nil +} + +// IsActivityStreamsIntransitiveActivity returns true if this property has a type +// of "IntransitiveActivity". When true, use the +// GetActivityStreamsIntransitiveActivity and +// SetActivityStreamsIntransitiveActivity methods to access and set this +// property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsIntransitiveActivity() bool { + return this.activitystreamsIntransitiveActivityMember != nil +} + +// IsActivityStreamsInvite returns true if this property has a type of "Invite". +// When true, use the GetActivityStreamsInvite and SetActivityStreamsInvite +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsInvite() bool { + return this.activitystreamsInviteMember != nil +} + +// IsActivityStreamsJoin returns true if this property has a type of "Join". When +// true, use the GetActivityStreamsJoin and SetActivityStreamsJoin methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsJoin() bool { + return this.activitystreamsJoinMember != nil +} + +// IsActivityStreamsLeave returns true if this property has a type of "Leave". +// When true, use the GetActivityStreamsLeave and SetActivityStreamsLeave +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsLeave() bool { + return this.activitystreamsLeaveMember != nil +} + +// IsActivityStreamsLike returns true if this property has a type of "Like". When +// true, use the GetActivityStreamsLike and SetActivityStreamsLike methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsLike() bool { + return this.activitystreamsLikeMember != nil +} + +// IsActivityStreamsListen returns true if this property has a type of "Listen". +// When true, use the GetActivityStreamsListen and SetActivityStreamsListen +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsListen() bool { + return this.activitystreamsListenMember != nil +} + +// IsActivityStreamsMove returns true if this property has a type of "Move". When +// true, use the GetActivityStreamsMove and SetActivityStreamsMove methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsMove() bool { + return this.activitystreamsMoveMember != nil +} + +// IsActivityStreamsNote returns true if this property has a type of "Note". When +// true, use the GetActivityStreamsNote and SetActivityStreamsNote methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsNote() bool { + return this.activitystreamsNoteMember != nil +} + +// IsActivityStreamsObject returns true if this property has a type of "Object". +// When true, use the GetActivityStreamsObject and SetActivityStreamsObject +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsObject() bool { + return this.activitystreamsObjectMember != nil +} + +// IsActivityStreamsOffer returns true if this property has a type of "Offer". +// When true, use the GetActivityStreamsOffer and SetActivityStreamsOffer +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsOffer() bool { + return this.activitystreamsOfferMember != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsActivityStreamsOrganization returns true if this property has a type of +// "Organization". When true, use the GetActivityStreamsOrganization and +// SetActivityStreamsOrganization methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsOrganization() bool { + return this.activitystreamsOrganizationMember != nil +} + +// IsActivityStreamsPage returns true if this property has a type of "Page". When +// true, use the GetActivityStreamsPage and SetActivityStreamsPage methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsPage() bool { + return this.activitystreamsPageMember != nil +} + +// IsActivityStreamsPerson returns true if this property has a type of "Person". +// When true, use the GetActivityStreamsPerson and SetActivityStreamsPerson +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsPerson() bool { + return this.activitystreamsPersonMember != nil +} + +// IsActivityStreamsPlace returns true if this property has a type of "Place". +// When true, use the GetActivityStreamsPlace and SetActivityStreamsPlace +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsPlace() bool { + return this.activitystreamsPlaceMember != nil +} + +// IsActivityStreamsProfile returns true if this property has a type of "Profile". +// When true, use the GetActivityStreamsProfile and SetActivityStreamsProfile +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsProfile() bool { + return this.activitystreamsProfileMember != nil +} + +// IsActivityStreamsQuestion returns true if this property has a type of +// "Question". When true, use the GetActivityStreamsQuestion and +// SetActivityStreamsQuestion methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsQuestion() bool { + return this.activitystreamsQuestionMember != nil +} + +// IsActivityStreamsRead returns true if this property has a type of "Read". When +// true, use the GetActivityStreamsRead and SetActivityStreamsRead methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsRead() bool { + return this.activitystreamsReadMember != nil +} + +// IsActivityStreamsReject returns true if this property has a type of "Reject". +// When true, use the GetActivityStreamsReject and SetActivityStreamsReject +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsReject() bool { + return this.activitystreamsRejectMember != nil +} + +// IsActivityStreamsRelationship returns true if this property has a type of +// "Relationship". When true, use the GetActivityStreamsRelationship and +// SetActivityStreamsRelationship methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsRelationship() bool { + return this.activitystreamsRelationshipMember != nil +} + +// IsActivityStreamsRemove returns true if this property has a type of "Remove". +// When true, use the GetActivityStreamsRemove and SetActivityStreamsRemove +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsRemove() bool { + return this.activitystreamsRemoveMember != nil +} + +// IsActivityStreamsService returns true if this property has a type of "Service". +// When true, use the GetActivityStreamsService and SetActivityStreamsService +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsService() bool { + return this.activitystreamsServiceMember != nil +} + +// IsActivityStreamsTentativeAccept returns true if this property has a type of +// "TentativeAccept". When true, use the GetActivityStreamsTentativeAccept and +// SetActivityStreamsTentativeAccept methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsTentativeAccept() bool { + return this.activitystreamsTentativeAcceptMember != nil +} + +// IsActivityStreamsTentativeReject returns true if this property has a type of +// "TentativeReject". When true, use the GetActivityStreamsTentativeReject and +// SetActivityStreamsTentativeReject methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsTentativeReject() bool { + return this.activitystreamsTentativeRejectMember != nil +} + +// IsActivityStreamsTombstone returns true if this property has a type of +// "Tombstone". When true, use the GetActivityStreamsTombstone and +// SetActivityStreamsTombstone methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsTombstone() bool { + return this.activitystreamsTombstoneMember != nil +} + +// IsActivityStreamsTravel returns true if this property has a type of "Travel". +// When true, use the GetActivityStreamsTravel and SetActivityStreamsTravel +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsTravel() bool { + return this.activitystreamsTravelMember != nil +} + +// IsActivityStreamsUndo returns true if this property has a type of "Undo". When +// true, use the GetActivityStreamsUndo and SetActivityStreamsUndo methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsUndo() bool { + return this.activitystreamsUndoMember != nil +} + +// IsActivityStreamsUpdate returns true if this property has a type of "Update". +// When true, use the GetActivityStreamsUpdate and SetActivityStreamsUpdate +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsUpdate() bool { + return this.activitystreamsUpdateMember != nil +} + +// IsActivityStreamsVideo returns true if this property has a type of "Video". +// When true, use the GetActivityStreamsVideo and SetActivityStreamsVideo +// methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsVideo() bool { + return this.activitystreamsVideoMember != nil +} + +// IsActivityStreamsView returns true if this property has a type of "View". When +// true, use the GetActivityStreamsView and SetActivityStreamsView methods to +// access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsActivityStreamsView() bool { + return this.activitystreamsViewMember != nil +} + +// IsForgeFedBranch returns true if this property has a type of "Branch". When +// true, use the GetForgeFedBranch and SetForgeFedBranch methods to access and +// set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsForgeFedBranch() bool { + return this.forgefedBranchMember != nil +} + +// IsForgeFedCommit returns true if this property has a type of "Commit". When +// true, use the GetForgeFedCommit and SetForgeFedCommit methods to access and +// set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsForgeFedCommit() bool { + return this.forgefedCommitMember != nil +} + +// IsForgeFedPush returns true if this property has a type of "Push". When true, +// use the GetForgeFedPush and SetForgeFedPush methods to access and set this +// property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsForgeFedPush() bool { + return this.forgefedPushMember != nil +} + +// IsForgeFedRepository returns true if this property has a type of "Repository". +// When true, use the GetForgeFedRepository and SetForgeFedRepository methods +// to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsForgeFedRepository() bool { + return this.forgefedRepositoryMember != nil +} + +// IsForgeFedTicket returns true if this property has a type of "Ticket". When +// true, use the GetForgeFedTicket and SetForgeFedTicket methods to access and +// set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsForgeFedTicket() bool { + return this.forgefedTicketMember != nil +} + +// IsForgeFedTicketDependency returns true if this property has a type of +// "TicketDependency". When true, use the GetForgeFedTicketDependency and +// SetForgeFedTicketDependency methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsForgeFedTicketDependency() bool { + return this.forgefedTicketDependencyMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ForgeFedTracksTicketsForPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsTootEmoji returns true if this property has a type of "Emoji". When true, use +// the GetTootEmoji and SetTootEmoji methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsTootEmoji() bool { + return this.tootEmojiMember != nil +} + +// IsTootIdentityProof returns true if this property has a type of +// "IdentityProof". When true, use the GetTootIdentityProof and +// SetTootIdentityProof methods to access and set this property. +func (this ForgeFedTracksTicketsForPropertyIterator) IsTootIdentityProof() bool { + return this.tootIdentityProofMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedTracksTicketsForPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsObject() { + child = this.GetActivityStreamsObject().JSONLDContext() + } else if this.IsActivityStreamsAccept() { + child = this.GetActivityStreamsAccept().JSONLDContext() + } else if this.IsActivityStreamsActivity() { + child = this.GetActivityStreamsActivity().JSONLDContext() + } else if this.IsActivityStreamsAdd() { + child = this.GetActivityStreamsAdd().JSONLDContext() + } else if this.IsActivityStreamsAnnounce() { + child = this.GetActivityStreamsAnnounce().JSONLDContext() + } else if this.IsActivityStreamsApplication() { + child = this.GetActivityStreamsApplication().JSONLDContext() + } else if this.IsActivityStreamsArrive() { + child = this.GetActivityStreamsArrive().JSONLDContext() + } else if this.IsActivityStreamsArticle() { + child = this.GetActivityStreamsArticle().JSONLDContext() + } else if this.IsActivityStreamsAudio() { + child = this.GetActivityStreamsAudio().JSONLDContext() + } else if this.IsActivityStreamsBlock() { + child = this.GetActivityStreamsBlock().JSONLDContext() + } else if this.IsForgeFedBranch() { + child = this.GetForgeFedBranch().JSONLDContext() + } else if this.IsActivityStreamsCollection() { + child = this.GetActivityStreamsCollection().JSONLDContext() + } else if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsForgeFedCommit() { + child = this.GetForgeFedCommit().JSONLDContext() + } else if this.IsActivityStreamsCreate() { + child = this.GetActivityStreamsCreate().JSONLDContext() + } else if this.IsActivityStreamsDelete() { + child = this.GetActivityStreamsDelete().JSONLDContext() + } else if this.IsActivityStreamsDislike() { + child = this.GetActivityStreamsDislike().JSONLDContext() + } else if this.IsActivityStreamsDocument() { + child = this.GetActivityStreamsDocument().JSONLDContext() + } else if this.IsTootEmoji() { + child = this.GetTootEmoji().JSONLDContext() + } else if this.IsActivityStreamsEvent() { + child = this.GetActivityStreamsEvent().JSONLDContext() + } else if this.IsActivityStreamsFlag() { + child = this.GetActivityStreamsFlag().JSONLDContext() + } else if this.IsActivityStreamsFollow() { + child = this.GetActivityStreamsFollow().JSONLDContext() + } else if this.IsActivityStreamsGroup() { + child = this.GetActivityStreamsGroup().JSONLDContext() + } else if this.IsTootIdentityProof() { + child = this.GetTootIdentityProof().JSONLDContext() + } else if this.IsActivityStreamsIgnore() { + child = this.GetActivityStreamsIgnore().JSONLDContext() + } else if this.IsActivityStreamsImage() { + child = this.GetActivityStreamsImage().JSONLDContext() + } else if this.IsActivityStreamsIntransitiveActivity() { + child = this.GetActivityStreamsIntransitiveActivity().JSONLDContext() + } else if this.IsActivityStreamsInvite() { + child = this.GetActivityStreamsInvite().JSONLDContext() + } else if this.IsActivityStreamsJoin() { + child = this.GetActivityStreamsJoin().JSONLDContext() + } else if this.IsActivityStreamsLeave() { + child = this.GetActivityStreamsLeave().JSONLDContext() + } else if this.IsActivityStreamsLike() { + child = this.GetActivityStreamsLike().JSONLDContext() + } else if this.IsActivityStreamsListen() { + child = this.GetActivityStreamsListen().JSONLDContext() + } else if this.IsActivityStreamsMove() { + child = this.GetActivityStreamsMove().JSONLDContext() + } else if this.IsActivityStreamsNote() { + child = this.GetActivityStreamsNote().JSONLDContext() + } else if this.IsActivityStreamsOffer() { + child = this.GetActivityStreamsOffer().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsOrganization() { + child = this.GetActivityStreamsOrganization().JSONLDContext() + } else if this.IsActivityStreamsPage() { + child = this.GetActivityStreamsPage().JSONLDContext() + } else if this.IsActivityStreamsPerson() { + child = this.GetActivityStreamsPerson().JSONLDContext() + } else if this.IsActivityStreamsPlace() { + child = this.GetActivityStreamsPlace().JSONLDContext() + } else if this.IsActivityStreamsProfile() { + child = this.GetActivityStreamsProfile().JSONLDContext() + } else if this.IsForgeFedPush() { + child = this.GetForgeFedPush().JSONLDContext() + } else if this.IsActivityStreamsQuestion() { + child = this.GetActivityStreamsQuestion().JSONLDContext() + } else if this.IsActivityStreamsRead() { + child = this.GetActivityStreamsRead().JSONLDContext() + } else if this.IsActivityStreamsReject() { + child = this.GetActivityStreamsReject().JSONLDContext() + } else if this.IsActivityStreamsRelationship() { + child = this.GetActivityStreamsRelationship().JSONLDContext() + } else if this.IsActivityStreamsRemove() { + child = this.GetActivityStreamsRemove().JSONLDContext() + } else if this.IsForgeFedRepository() { + child = this.GetForgeFedRepository().JSONLDContext() + } else if this.IsActivityStreamsService() { + child = this.GetActivityStreamsService().JSONLDContext() + } else if this.IsActivityStreamsTentativeAccept() { + child = this.GetActivityStreamsTentativeAccept().JSONLDContext() + } else if this.IsActivityStreamsTentativeReject() { + child = this.GetActivityStreamsTentativeReject().JSONLDContext() + } else if this.IsForgeFedTicket() { + child = this.GetForgeFedTicket().JSONLDContext() + } else if this.IsForgeFedTicketDependency() { + child = this.GetForgeFedTicketDependency().JSONLDContext() + } else if this.IsActivityStreamsTombstone() { + child = this.GetActivityStreamsTombstone().JSONLDContext() + } else if this.IsActivityStreamsTravel() { + child = this.GetActivityStreamsTravel().JSONLDContext() + } else if this.IsActivityStreamsUndo() { + child = this.GetActivityStreamsUndo().JSONLDContext() + } else if this.IsActivityStreamsUpdate() { + child = this.GetActivityStreamsUpdate().JSONLDContext() + } else if this.IsActivityStreamsVideo() { + child = this.GetActivityStreamsVideo().JSONLDContext() + } else if this.IsActivityStreamsView() { + child = this.GetActivityStreamsView().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ForgeFedTracksTicketsForPropertyIterator) KindIndex() int { + if this.IsActivityStreamsObject() { + return 0 + } + if this.IsActivityStreamsAccept() { + return 1 + } + if this.IsActivityStreamsActivity() { + return 2 + } + if this.IsActivityStreamsAdd() { + return 3 + } + if this.IsActivityStreamsAnnounce() { + return 4 + } + if this.IsActivityStreamsApplication() { + return 5 + } + if this.IsActivityStreamsArrive() { + return 6 + } + if this.IsActivityStreamsArticle() { + return 7 + } + if this.IsActivityStreamsAudio() { + return 8 + } + if this.IsActivityStreamsBlock() { + return 9 + } + if this.IsForgeFedBranch() { + return 10 + } + if this.IsActivityStreamsCollection() { + return 11 + } + if this.IsActivityStreamsCollectionPage() { + return 12 + } + if this.IsForgeFedCommit() { + return 13 + } + if this.IsActivityStreamsCreate() { + return 14 + } + if this.IsActivityStreamsDelete() { + return 15 + } + if this.IsActivityStreamsDislike() { + return 16 + } + if this.IsActivityStreamsDocument() { + return 17 + } + if this.IsTootEmoji() { + return 18 + } + if this.IsActivityStreamsEvent() { + return 19 + } + if this.IsActivityStreamsFlag() { + return 20 + } + if this.IsActivityStreamsFollow() { + return 21 + } + if this.IsActivityStreamsGroup() { + return 22 + } + if this.IsTootIdentityProof() { + return 23 + } + if this.IsActivityStreamsIgnore() { + return 24 + } + if this.IsActivityStreamsImage() { + return 25 + } + if this.IsActivityStreamsIntransitiveActivity() { + return 26 + } + if this.IsActivityStreamsInvite() { + return 27 + } + if this.IsActivityStreamsJoin() { + return 28 + } + if this.IsActivityStreamsLeave() { + return 29 + } + if this.IsActivityStreamsLike() { + return 30 + } + if this.IsActivityStreamsListen() { + return 31 + } + if this.IsActivityStreamsMove() { + return 32 + } + if this.IsActivityStreamsNote() { + return 33 + } + if this.IsActivityStreamsOffer() { + return 34 + } + if this.IsActivityStreamsOrderedCollection() { + return 35 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 36 + } + if this.IsActivityStreamsOrganization() { + return 37 + } + if this.IsActivityStreamsPage() { + return 38 + } + if this.IsActivityStreamsPerson() { + return 39 + } + if this.IsActivityStreamsPlace() { + return 40 + } + if this.IsActivityStreamsProfile() { + return 41 + } + if this.IsForgeFedPush() { + return 42 + } + if this.IsActivityStreamsQuestion() { + return 43 + } + if this.IsActivityStreamsRead() { + return 44 + } + if this.IsActivityStreamsReject() { + return 45 + } + if this.IsActivityStreamsRelationship() { + return 46 + } + if this.IsActivityStreamsRemove() { + return 47 + } + if this.IsForgeFedRepository() { + return 48 + } + if this.IsActivityStreamsService() { + return 49 + } + if this.IsActivityStreamsTentativeAccept() { + return 50 + } + if this.IsActivityStreamsTentativeReject() { + return 51 + } + if this.IsForgeFedTicket() { + return 52 + } + if this.IsForgeFedTicketDependency() { + return 53 + } + if this.IsActivityStreamsTombstone() { + return 54 + } + if this.IsActivityStreamsTravel() { + return 55 + } + if this.IsActivityStreamsUndo() { + return 56 + } + if this.IsActivityStreamsUpdate() { + return 57 + } + if this.IsActivityStreamsVideo() { + return 58 + } + if this.IsActivityStreamsView() { + return 59 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedTracksTicketsForPropertyIterator) LessThan(o vocab.ForgeFedTracksTicketsForPropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().LessThan(o.GetActivityStreamsObject()) + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().LessThan(o.GetActivityStreamsAccept()) + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().LessThan(o.GetActivityStreamsActivity()) + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().LessThan(o.GetActivityStreamsAdd()) + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().LessThan(o.GetActivityStreamsAnnounce()) + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().LessThan(o.GetActivityStreamsApplication()) + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().LessThan(o.GetActivityStreamsArrive()) + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().LessThan(o.GetActivityStreamsArticle()) + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().LessThan(o.GetActivityStreamsAudio()) + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().LessThan(o.GetActivityStreamsBlock()) + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().LessThan(o.GetForgeFedBranch()) + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().LessThan(o.GetActivityStreamsCollection()) + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().LessThan(o.GetForgeFedCommit()) + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().LessThan(o.GetActivityStreamsCreate()) + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().LessThan(o.GetActivityStreamsDelete()) + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().LessThan(o.GetActivityStreamsDislike()) + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument()) + } else if this.IsTootEmoji() { + return this.GetTootEmoji().LessThan(o.GetTootEmoji()) + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent()) + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().LessThan(o.GetActivityStreamsFlag()) + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().LessThan(o.GetActivityStreamsFollow()) + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().LessThan(o.GetActivityStreamsGroup()) + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().LessThan(o.GetTootIdentityProof()) + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().LessThan(o.GetActivityStreamsIgnore()) + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().LessThan(o.GetActivityStreamsImage()) + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().LessThan(o.GetActivityStreamsIntransitiveActivity()) + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().LessThan(o.GetActivityStreamsInvite()) + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().LessThan(o.GetActivityStreamsJoin()) + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().LessThan(o.GetActivityStreamsLeave()) + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().LessThan(o.GetActivityStreamsLike()) + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().LessThan(o.GetActivityStreamsListen()) + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().LessThan(o.GetActivityStreamsMove()) + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().LessThan(o.GetActivityStreamsNote()) + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().LessThan(o.GetActivityStreamsOffer()) + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().LessThan(o.GetActivityStreamsOrganization()) + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().LessThan(o.GetActivityStreamsPage()) + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().LessThan(o.GetActivityStreamsPerson()) + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().LessThan(o.GetActivityStreamsPlace()) + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().LessThan(o.GetActivityStreamsProfile()) + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().LessThan(o.GetForgeFedPush()) + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().LessThan(o.GetActivityStreamsQuestion()) + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().LessThan(o.GetActivityStreamsRead()) + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().LessThan(o.GetActivityStreamsReject()) + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().LessThan(o.GetActivityStreamsRelationship()) + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().LessThan(o.GetActivityStreamsRemove()) + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().LessThan(o.GetForgeFedRepository()) + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().LessThan(o.GetActivityStreamsService()) + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().LessThan(o.GetActivityStreamsTentativeAccept()) + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().LessThan(o.GetActivityStreamsTentativeReject()) + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().LessThan(o.GetForgeFedTicket()) + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().LessThan(o.GetForgeFedTicketDependency()) + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().LessThan(o.GetActivityStreamsTombstone()) + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().LessThan(o.GetActivityStreamsTravel()) + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().LessThan(o.GetActivityStreamsUndo()) + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().LessThan(o.GetActivityStreamsUpdate()) + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().LessThan(o.GetActivityStreamsVideo()) + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().LessThan(o.GetActivityStreamsView()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "ForgeFedTracksTicketsFor". +func (this ForgeFedTracksTicketsForPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "ForgeFedTracksTicketsFor" + } else { + return "ForgeFedTracksTicketsFor" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this ForgeFedTracksTicketsForPropertyIterator) Next() vocab.ForgeFedTracksTicketsForPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this ForgeFedTracksTicketsForPropertyIterator) Prev() vocab.ForgeFedTracksTicketsForPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetActivityStreamsAccept sets the value of this property. Calling +// IsActivityStreamsAccept afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.clear() + this.activitystreamsAcceptMember = v +} + +// SetActivityStreamsActivity sets the value of this property. Calling +// IsActivityStreamsActivity afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.clear() + this.activitystreamsActivityMember = v +} + +// SetActivityStreamsAdd sets the value of this property. Calling +// IsActivityStreamsAdd afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.clear() + this.activitystreamsAddMember = v +} + +// SetActivityStreamsAnnounce sets the value of this property. Calling +// IsActivityStreamsAnnounce afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.clear() + this.activitystreamsAnnounceMember = v +} + +// SetActivityStreamsApplication sets the value of this property. Calling +// IsActivityStreamsApplication afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.clear() + this.activitystreamsApplicationMember = v +} + +// SetActivityStreamsArrive sets the value of this property. Calling +// IsActivityStreamsArrive afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.clear() + this.activitystreamsArriveMember = v +} + +// SetActivityStreamsArticle sets the value of this property. Calling +// IsActivityStreamsArticle afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.clear() + this.activitystreamsArticleMember = v +} + +// SetActivityStreamsAudio sets the value of this property. Calling +// IsActivityStreamsAudio afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.clear() + this.activitystreamsAudioMember = v +} + +// SetActivityStreamsBlock sets the value of this property. Calling +// IsActivityStreamsBlock afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.clear() + this.activitystreamsBlockMember = v +} + +// SetActivityStreamsCollection sets the value of this property. Calling +// IsActivityStreamsCollection afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.clear() + this.activitystreamsCollectionMember = v +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsCreate sets the value of this property. Calling +// IsActivityStreamsCreate afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.clear() + this.activitystreamsCreateMember = v +} + +// SetActivityStreamsDelete sets the value of this property. Calling +// IsActivityStreamsDelete afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.clear() + this.activitystreamsDeleteMember = v +} + +// SetActivityStreamsDislike sets the value of this property. Calling +// IsActivityStreamsDislike afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.clear() + this.activitystreamsDislikeMember = v +} + +// SetActivityStreamsDocument sets the value of this property. Calling +// IsActivityStreamsDocument afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.clear() + this.activitystreamsDocumentMember = v +} + +// SetActivityStreamsEvent sets the value of this property. Calling +// IsActivityStreamsEvent afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.clear() + this.activitystreamsEventMember = v +} + +// SetActivityStreamsFlag sets the value of this property. Calling +// IsActivityStreamsFlag afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.clear() + this.activitystreamsFlagMember = v +} + +// SetActivityStreamsFollow sets the value of this property. Calling +// IsActivityStreamsFollow afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.clear() + this.activitystreamsFollowMember = v +} + +// SetActivityStreamsGroup sets the value of this property. Calling +// IsActivityStreamsGroup afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.clear() + this.activitystreamsGroupMember = v +} + +// SetActivityStreamsIgnore sets the value of this property. Calling +// IsActivityStreamsIgnore afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.clear() + this.activitystreamsIgnoreMember = v +} + +// SetActivityStreamsImage sets the value of this property. Calling +// IsActivityStreamsImage afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.clear() + this.activitystreamsImageMember = v +} + +// SetActivityStreamsIntransitiveActivity sets the value of this property. Calling +// IsActivityStreamsIntransitiveActivity afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.clear() + this.activitystreamsIntransitiveActivityMember = v +} + +// SetActivityStreamsInvite sets the value of this property. Calling +// IsActivityStreamsInvite afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.clear() + this.activitystreamsInviteMember = v +} + +// SetActivityStreamsJoin sets the value of this property. Calling +// IsActivityStreamsJoin afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.clear() + this.activitystreamsJoinMember = v +} + +// SetActivityStreamsLeave sets the value of this property. Calling +// IsActivityStreamsLeave afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.clear() + this.activitystreamsLeaveMember = v +} + +// SetActivityStreamsLike sets the value of this property. Calling +// IsActivityStreamsLike afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.clear() + this.activitystreamsLikeMember = v +} + +// SetActivityStreamsListen sets the value of this property. Calling +// IsActivityStreamsListen afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.clear() + this.activitystreamsListenMember = v +} + +// SetActivityStreamsMove sets the value of this property. Calling +// IsActivityStreamsMove afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.clear() + this.activitystreamsMoveMember = v +} + +// SetActivityStreamsNote sets the value of this property. Calling +// IsActivityStreamsNote afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.clear() + this.activitystreamsNoteMember = v +} + +// SetActivityStreamsObject sets the value of this property. Calling +// IsActivityStreamsObject afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.clear() + this.activitystreamsObjectMember = v +} + +// SetActivityStreamsOffer sets the value of this property. Calling +// IsActivityStreamsOffer afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.clear() + this.activitystreamsOfferMember = v +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetActivityStreamsOrganization sets the value of this property. Calling +// IsActivityStreamsOrganization afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.clear() + this.activitystreamsOrganizationMember = v +} + +// SetActivityStreamsPage sets the value of this property. Calling +// IsActivityStreamsPage afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.clear() + this.activitystreamsPageMember = v +} + +// SetActivityStreamsPerson sets the value of this property. Calling +// IsActivityStreamsPerson afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.clear() + this.activitystreamsPersonMember = v +} + +// SetActivityStreamsPlace sets the value of this property. Calling +// IsActivityStreamsPlace afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.clear() + this.activitystreamsPlaceMember = v +} + +// SetActivityStreamsProfile sets the value of this property. Calling +// IsActivityStreamsProfile afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.clear() + this.activitystreamsProfileMember = v +} + +// SetActivityStreamsQuestion sets the value of this property. Calling +// IsActivityStreamsQuestion afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.clear() + this.activitystreamsQuestionMember = v +} + +// SetActivityStreamsRead sets the value of this property. Calling +// IsActivityStreamsRead afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.clear() + this.activitystreamsReadMember = v +} + +// SetActivityStreamsReject sets the value of this property. Calling +// IsActivityStreamsReject afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.clear() + this.activitystreamsRejectMember = v +} + +// SetActivityStreamsRelationship sets the value of this property. Calling +// IsActivityStreamsRelationship afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.clear() + this.activitystreamsRelationshipMember = v +} + +// SetActivityStreamsRemove sets the value of this property. Calling +// IsActivityStreamsRemove afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.clear() + this.activitystreamsRemoveMember = v +} + +// SetActivityStreamsService sets the value of this property. Calling +// IsActivityStreamsService afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsService(v vocab.ActivityStreamsService) { + this.clear() + this.activitystreamsServiceMember = v +} + +// SetActivityStreamsTentativeAccept sets the value of this property. Calling +// IsActivityStreamsTentativeAccept afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.clear() + this.activitystreamsTentativeAcceptMember = v +} + +// SetActivityStreamsTentativeReject sets the value of this property. Calling +// IsActivityStreamsTentativeReject afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.clear() + this.activitystreamsTentativeRejectMember = v +} + +// SetActivityStreamsTombstone sets the value of this property. Calling +// IsActivityStreamsTombstone afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.clear() + this.activitystreamsTombstoneMember = v +} + +// SetActivityStreamsTravel sets the value of this property. Calling +// IsActivityStreamsTravel afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.clear() + this.activitystreamsTravelMember = v +} + +// SetActivityStreamsUndo sets the value of this property. Calling +// IsActivityStreamsUndo afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.clear() + this.activitystreamsUndoMember = v +} + +// SetActivityStreamsUpdate sets the value of this property. Calling +// IsActivityStreamsUpdate afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.clear() + this.activitystreamsUpdateMember = v +} + +// SetActivityStreamsVideo sets the value of this property. Calling +// IsActivityStreamsVideo afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.clear() + this.activitystreamsVideoMember = v +} + +// SetActivityStreamsView sets the value of this property. Calling +// IsActivityStreamsView afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetActivityStreamsView(v vocab.ActivityStreamsView) { + this.clear() + this.activitystreamsViewMember = v +} + +// SetForgeFedBranch sets the value of this property. Calling IsForgeFedBranch +// afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetForgeFedBranch(v vocab.ForgeFedBranch) { + this.clear() + this.forgefedBranchMember = v +} + +// SetForgeFedCommit sets the value of this property. Calling IsForgeFedCommit +// afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetForgeFedCommit(v vocab.ForgeFedCommit) { + this.clear() + this.forgefedCommitMember = v +} + +// SetForgeFedPush sets the value of this property. Calling IsForgeFedPush +// afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetForgeFedPush(v vocab.ForgeFedPush) { + this.clear() + this.forgefedPushMember = v +} + +// SetForgeFedRepository sets the value of this property. Calling +// IsForgeFedRepository afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetForgeFedRepository(v vocab.ForgeFedRepository) { + this.clear() + this.forgefedRepositoryMember = v +} + +// SetForgeFedTicket sets the value of this property. Calling IsForgeFedTicket +// afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetForgeFedTicket(v vocab.ForgeFedTicket) { + this.clear() + this.forgefedTicketMember = v +} + +// SetForgeFedTicketDependency sets the value of this property. Calling +// IsForgeFedTicketDependency afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.clear() + this.forgefedTicketDependencyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetTootEmoji sets the value of this property. Calling IsTootEmoji afterwards +// returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetTootEmoji(v vocab.TootEmoji) { + this.clear() + this.tootEmojiMember = v +} + +// SetTootIdentityProof sets the value of this property. Calling +// IsTootIdentityProof afterwards returns true. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetTootIdentityProof(v vocab.TootIdentityProof) { + this.clear() + this.tootIdentityProofMember = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ForgeFedTracksTicketsForPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsObject); ok { + this.SetActivityStreamsObject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAccept); ok { + this.SetActivityStreamsAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsActivity); ok { + this.SetActivityStreamsActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAdd); ok { + this.SetActivityStreamsAdd(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAnnounce); ok { + this.SetActivityStreamsAnnounce(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsApplication); ok { + this.SetActivityStreamsApplication(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArrive); ok { + this.SetActivityStreamsArrive(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsArticle); ok { + this.SetActivityStreamsArticle(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsAudio); ok { + this.SetActivityStreamsAudio(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsBlock); ok { + this.SetActivityStreamsBlock(v) + return nil + } + if v, ok := t.(vocab.ForgeFedBranch); ok { + this.SetForgeFedBranch(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollection); ok { + this.SetActivityStreamsCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ForgeFedCommit); ok { + this.SetForgeFedCommit(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsCreate); ok { + this.SetActivityStreamsCreate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDelete); ok { + this.SetActivityStreamsDelete(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDislike); ok { + this.SetActivityStreamsDislike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsDocument); ok { + this.SetActivityStreamsDocument(v) + return nil + } + if v, ok := t.(vocab.TootEmoji); ok { + this.SetTootEmoji(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsEvent); ok { + this.SetActivityStreamsEvent(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFlag); ok { + this.SetActivityStreamsFlag(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsFollow); ok { + this.SetActivityStreamsFollow(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsGroup); ok { + this.SetActivityStreamsGroup(v) + return nil + } + if v, ok := t.(vocab.TootIdentityProof); ok { + this.SetTootIdentityProof(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIgnore); ok { + this.SetActivityStreamsIgnore(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsImage); ok { + this.SetActivityStreamsImage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsIntransitiveActivity); ok { + this.SetActivityStreamsIntransitiveActivity(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsInvite); ok { + this.SetActivityStreamsInvite(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsJoin); ok { + this.SetActivityStreamsJoin(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLeave); ok { + this.SetActivityStreamsLeave(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLike); ok { + this.SetActivityStreamsLike(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsListen); ok { + this.SetActivityStreamsListen(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMove); ok { + this.SetActivityStreamsMove(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsNote); ok { + this.SetActivityStreamsNote(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOffer); ok { + this.SetActivityStreamsOffer(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrganization); ok { + this.SetActivityStreamsOrganization(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPage); ok { + this.SetActivityStreamsPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPerson); ok { + this.SetActivityStreamsPerson(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsPlace); ok { + this.SetActivityStreamsPlace(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsProfile); ok { + this.SetActivityStreamsProfile(v) + return nil + } + if v, ok := t.(vocab.ForgeFedPush); ok { + this.SetForgeFedPush(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsQuestion); ok { + this.SetActivityStreamsQuestion(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRead); ok { + this.SetActivityStreamsRead(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsReject); ok { + this.SetActivityStreamsReject(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRelationship); ok { + this.SetActivityStreamsRelationship(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsRemove); ok { + this.SetActivityStreamsRemove(v) + return nil + } + if v, ok := t.(vocab.ForgeFedRepository); ok { + this.SetForgeFedRepository(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsService); ok { + this.SetActivityStreamsService(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeAccept); ok { + this.SetActivityStreamsTentativeAccept(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTentativeReject); ok { + this.SetActivityStreamsTentativeReject(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicket); ok { + this.SetForgeFedTicket(v) + return nil + } + if v, ok := t.(vocab.ForgeFedTicketDependency); ok { + this.SetForgeFedTicketDependency(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTombstone); ok { + this.SetActivityStreamsTombstone(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsTravel); ok { + this.SetActivityStreamsTravel(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUndo); ok { + this.SetActivityStreamsUndo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsUpdate); ok { + this.SetActivityStreamsUpdate(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsVideo); ok { + this.SetActivityStreamsVideo(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsView); ok { + this.SetActivityStreamsView(v) + return nil + } + + return fmt.Errorf("illegal type to set on ForgeFedTracksTicketsFor property: %T", t) +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ForgeFedTracksTicketsForPropertyIterator) clear() { + this.activitystreamsObjectMember = nil + this.activitystreamsAcceptMember = nil + this.activitystreamsActivityMember = nil + this.activitystreamsAddMember = nil + this.activitystreamsAnnounceMember = nil + this.activitystreamsApplicationMember = nil + this.activitystreamsArriveMember = nil + this.activitystreamsArticleMember = nil + this.activitystreamsAudioMember = nil + this.activitystreamsBlockMember = nil + this.forgefedBranchMember = nil + this.activitystreamsCollectionMember = nil + this.activitystreamsCollectionPageMember = nil + this.forgefedCommitMember = nil + this.activitystreamsCreateMember = nil + this.activitystreamsDeleteMember = nil + this.activitystreamsDislikeMember = nil + this.activitystreamsDocumentMember = nil + this.tootEmojiMember = nil + this.activitystreamsEventMember = nil + this.activitystreamsFlagMember = nil + this.activitystreamsFollowMember = nil + this.activitystreamsGroupMember = nil + this.tootIdentityProofMember = nil + this.activitystreamsIgnoreMember = nil + this.activitystreamsImageMember = nil + this.activitystreamsIntransitiveActivityMember = nil + this.activitystreamsInviteMember = nil + this.activitystreamsJoinMember = nil + this.activitystreamsLeaveMember = nil + this.activitystreamsLikeMember = nil + this.activitystreamsListenMember = nil + this.activitystreamsMoveMember = nil + this.activitystreamsNoteMember = nil + this.activitystreamsOfferMember = nil + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.activitystreamsOrganizationMember = nil + this.activitystreamsPageMember = nil + this.activitystreamsPersonMember = nil + this.activitystreamsPlaceMember = nil + this.activitystreamsProfileMember = nil + this.forgefedPushMember = nil + this.activitystreamsQuestionMember = nil + this.activitystreamsReadMember = nil + this.activitystreamsRejectMember = nil + this.activitystreamsRelationshipMember = nil + this.activitystreamsRemoveMember = nil + this.forgefedRepositoryMember = nil + this.activitystreamsServiceMember = nil + this.activitystreamsTentativeAcceptMember = nil + this.activitystreamsTentativeRejectMember = nil + this.forgefedTicketMember = nil + this.forgefedTicketDependencyMember = nil + this.activitystreamsTombstoneMember = nil + this.activitystreamsTravelMember = nil + this.activitystreamsUndoMember = nil + this.activitystreamsUpdateMember = nil + this.activitystreamsVideoMember = nil + this.activitystreamsViewMember = nil + this.unknown = nil + this.iri = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedTracksTicketsForPropertyIterator) serialize() (interface{}, error) { + if this.IsActivityStreamsObject() { + return this.GetActivityStreamsObject().Serialize() + } else if this.IsActivityStreamsAccept() { + return this.GetActivityStreamsAccept().Serialize() + } else if this.IsActivityStreamsActivity() { + return this.GetActivityStreamsActivity().Serialize() + } else if this.IsActivityStreamsAdd() { + return this.GetActivityStreamsAdd().Serialize() + } else if this.IsActivityStreamsAnnounce() { + return this.GetActivityStreamsAnnounce().Serialize() + } else if this.IsActivityStreamsApplication() { + return this.GetActivityStreamsApplication().Serialize() + } else if this.IsActivityStreamsArrive() { + return this.GetActivityStreamsArrive().Serialize() + } else if this.IsActivityStreamsArticle() { + return this.GetActivityStreamsArticle().Serialize() + } else if this.IsActivityStreamsAudio() { + return this.GetActivityStreamsAudio().Serialize() + } else if this.IsActivityStreamsBlock() { + return this.GetActivityStreamsBlock().Serialize() + } else if this.IsForgeFedBranch() { + return this.GetForgeFedBranch().Serialize() + } else if this.IsActivityStreamsCollection() { + return this.GetActivityStreamsCollection().Serialize() + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsForgeFedCommit() { + return this.GetForgeFedCommit().Serialize() + } else if this.IsActivityStreamsCreate() { + return this.GetActivityStreamsCreate().Serialize() + } else if this.IsActivityStreamsDelete() { + return this.GetActivityStreamsDelete().Serialize() + } else if this.IsActivityStreamsDislike() { + return this.GetActivityStreamsDislike().Serialize() + } else if this.IsActivityStreamsDocument() { + return this.GetActivityStreamsDocument().Serialize() + } else if this.IsTootEmoji() { + return this.GetTootEmoji().Serialize() + } else if this.IsActivityStreamsEvent() { + return this.GetActivityStreamsEvent().Serialize() + } else if this.IsActivityStreamsFlag() { + return this.GetActivityStreamsFlag().Serialize() + } else if this.IsActivityStreamsFollow() { + return this.GetActivityStreamsFollow().Serialize() + } else if this.IsActivityStreamsGroup() { + return this.GetActivityStreamsGroup().Serialize() + } else if this.IsTootIdentityProof() { + return this.GetTootIdentityProof().Serialize() + } else if this.IsActivityStreamsIgnore() { + return this.GetActivityStreamsIgnore().Serialize() + } else if this.IsActivityStreamsImage() { + return this.GetActivityStreamsImage().Serialize() + } else if this.IsActivityStreamsIntransitiveActivity() { + return this.GetActivityStreamsIntransitiveActivity().Serialize() + } else if this.IsActivityStreamsInvite() { + return this.GetActivityStreamsInvite().Serialize() + } else if this.IsActivityStreamsJoin() { + return this.GetActivityStreamsJoin().Serialize() + } else if this.IsActivityStreamsLeave() { + return this.GetActivityStreamsLeave().Serialize() + } else if this.IsActivityStreamsLike() { + return this.GetActivityStreamsLike().Serialize() + } else if this.IsActivityStreamsListen() { + return this.GetActivityStreamsListen().Serialize() + } else if this.IsActivityStreamsMove() { + return this.GetActivityStreamsMove().Serialize() + } else if this.IsActivityStreamsNote() { + return this.GetActivityStreamsNote().Serialize() + } else if this.IsActivityStreamsOffer() { + return this.GetActivityStreamsOffer().Serialize() + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsActivityStreamsOrganization() { + return this.GetActivityStreamsOrganization().Serialize() + } else if this.IsActivityStreamsPage() { + return this.GetActivityStreamsPage().Serialize() + } else if this.IsActivityStreamsPerson() { + return this.GetActivityStreamsPerson().Serialize() + } else if this.IsActivityStreamsPlace() { + return this.GetActivityStreamsPlace().Serialize() + } else if this.IsActivityStreamsProfile() { + return this.GetActivityStreamsProfile().Serialize() + } else if this.IsForgeFedPush() { + return this.GetForgeFedPush().Serialize() + } else if this.IsActivityStreamsQuestion() { + return this.GetActivityStreamsQuestion().Serialize() + } else if this.IsActivityStreamsRead() { + return this.GetActivityStreamsRead().Serialize() + } else if this.IsActivityStreamsReject() { + return this.GetActivityStreamsReject().Serialize() + } else if this.IsActivityStreamsRelationship() { + return this.GetActivityStreamsRelationship().Serialize() + } else if this.IsActivityStreamsRemove() { + return this.GetActivityStreamsRemove().Serialize() + } else if this.IsForgeFedRepository() { + return this.GetForgeFedRepository().Serialize() + } else if this.IsActivityStreamsService() { + return this.GetActivityStreamsService().Serialize() + } else if this.IsActivityStreamsTentativeAccept() { + return this.GetActivityStreamsTentativeAccept().Serialize() + } else if this.IsActivityStreamsTentativeReject() { + return this.GetActivityStreamsTentativeReject().Serialize() + } else if this.IsForgeFedTicket() { + return this.GetForgeFedTicket().Serialize() + } else if this.IsForgeFedTicketDependency() { + return this.GetForgeFedTicketDependency().Serialize() + } else if this.IsActivityStreamsTombstone() { + return this.GetActivityStreamsTombstone().Serialize() + } else if this.IsActivityStreamsTravel() { + return this.GetActivityStreamsTravel().Serialize() + } else if this.IsActivityStreamsUndo() { + return this.GetActivityStreamsUndo().Serialize() + } else if this.IsActivityStreamsUpdate() { + return this.GetActivityStreamsUpdate().Serialize() + } else if this.IsActivityStreamsVideo() { + return this.GetActivityStreamsVideo().Serialize() + } else if this.IsActivityStreamsView() { + return this.GetActivityStreamsView().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// ForgeFedTracksTicketsForProperty is the non-functional property +// "tracksTicketsFor". It is permitted to have one or more values, and of +// different value types. +type ForgeFedTracksTicketsForProperty struct { + properties []*ForgeFedTracksTicketsForPropertyIterator + alias string +} + +// DeserializeTracksTicketsForProperty creates a "tracksTicketsFor" property from +// an interface representation that has been unmarshalled from a text or +// binary format. +func DeserializeTracksTicketsForProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) { + alias := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + } + propName := "tracksTicketsFor" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "tracksTicketsFor") + } + i, ok := m[propName] + + if ok { + this := &ForgeFedTracksTicketsForProperty{ + alias: alias, + properties: []*ForgeFedTracksTicketsForPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeForgeFedTracksTicketsForPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeForgeFedTracksTicketsForPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewForgeFedTracksTicketsForProperty creates a new tracksTicketsFor property. +func NewForgeFedTracksTicketsForProperty() *ForgeFedTracksTicketsForProperty { + return &ForgeFedTracksTicketsForProperty{alias: ""} +} + +// AppendActivityStreamsAccept appends a Accept value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsActivity appends a Activity value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAdd appends a Add value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAnnounce appends a Announce value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsApplication appends a Application value to the back of a +// list of the property "tracksTicketsFor". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArrive appends a Arrive value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsArticle appends a Article value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsAudio appends a Audio value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsBlock appends a Block value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollection appends a Collection value to the back of a +// list of the property "tracksTicketsFor". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCollectionPage appends a CollectionPage value to the back +// of a list of the property "tracksTicketsFor". Invalidates iterators that +// are traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsCreate appends a Create value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDelete appends a Delete value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDislike appends a Dislike value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsDocument appends a Document value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsEvent appends a Event value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFlag appends a Flag value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsFollow appends a Follow value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsGroup appends a Group value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIgnore appends a Ignore value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsImage appends a Image value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsIntransitiveActivity appends a IntransitiveActivity value +// to the back of a list of the property "tracksTicketsFor". Invalidates +// iterators that are traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsInvite appends a Invite value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsJoin appends a Join value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLeave appends a Leave value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsLike appends a Like value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsListen appends a Listen value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsMove appends a Move value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsNote appends a Note value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsObject appends a Object value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOffer appends a Offer value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollection appends a OrderedCollection value to the +// back of a list of the property "tracksTicketsFor". Invalidates iterators +// that are traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrderedCollectionPage appends a OrderedCollectionPage +// value to the back of a list of the property "tracksTicketsFor". Invalidates +// iterators that are traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsOrganization appends a Organization value to the back of a +// list of the property "tracksTicketsFor". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPage appends a Page value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPerson appends a Person value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsPlace appends a Place value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsProfile appends a Profile value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsQuestion appends a Question value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRead appends a Read value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsReject appends a Reject value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRelationship appends a Relationship value to the back of a +// list of the property "tracksTicketsFor". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsRemove appends a Remove value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsService appends a Service value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeAccept appends a TentativeAccept value to the +// back of a list of the property "tracksTicketsFor". Invalidates iterators +// that are traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTentativeReject appends a TentativeReject value to the +// back of a list of the property "tracksTicketsFor". Invalidates iterators +// that are traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTombstone appends a Tombstone value to the back of a list +// of the property "tracksTicketsFor". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsTravel appends a Travel value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUndo appends a Undo value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsUpdate appends a Update value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsVideo appends a Video value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendActivityStreamsView appends a View value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedBranch appends a Branch value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedCommit appends a Commit value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedPush appends a Push value to the back of a list of the property +// "tracksTicketsFor". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedRepository appends a Repository value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicket appends a Ticket value to the back of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendForgeFedTicketDependency appends a TicketDependency value to the back of +// a list of the property "tracksTicketsFor". Invalidates iterators that are +// traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "tracksTicketsFor" +func (this *ForgeFedTracksTicketsForProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendTootEmoji appends a Emoji value to the back of a list of the property +// "tracksTicketsFor". Invalidates iterators that are traversing using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendTootEmoji(v vocab.TootEmoji) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootEmojiMember: v, + }) +} + +// AppendTootIdentityProof appends a IdentityProof value to the back of a list of +// the property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. +func (this *ForgeFedTracksTicketsForProperty) AppendTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append(this.properties, &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + tootIdentityProofMember: v, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "tracksTicketsFor". Invalidates iterators that are traversing +// using Prev. Returns an error if the type is not a valid one to set for this +// property. +func (this *ForgeFedTracksTicketsForProperty) AppendType(t vocab.Type) error { + n := &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this ForgeFedTracksTicketsForProperty) At(index int) vocab.ForgeFedTracksTicketsForPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this ForgeFedTracksTicketsForProperty) Begin() vocab.ForgeFedTracksTicketsForPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this ForgeFedTracksTicketsForProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this ForgeFedTracksTicketsForProperty) End() vocab.ForgeFedTracksTicketsForPropertyIterator { + return nil +} + +// InsertActivityStreamsAccept inserts a Accept value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsActivity inserts a Activity value at the specified index +// for a property "tracksTicketsFor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAdd inserts a Add value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAnnounce inserts a Announce value at the specified index +// for a property "tracksTicketsFor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsApplication inserts a Application value at the specified +// index for a property "tracksTicketsFor". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArrive inserts a Arrive value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsArticle inserts a Article value at the specified index for +// a property "tracksTicketsFor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsAudio inserts a Audio value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsBlock inserts a Block value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollection inserts a Collection value at the specified +// index for a property "tracksTicketsFor". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCollectionPage inserts a CollectionPage value at the +// specified index for a property "tracksTicketsFor". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsCreate inserts a Create value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDelete inserts a Delete value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDislike inserts a Dislike value at the specified index for +// a property "tracksTicketsFor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsDocument inserts a Document value at the specified index +// for a property "tracksTicketsFor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsEvent inserts a Event value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFlag inserts a Flag value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsFollow inserts a Follow value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsGroup inserts a Group value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIgnore inserts a Ignore value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsImage inserts a Image value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsIntransitiveActivity inserts a IntransitiveActivity value +// at the specified index for a property "tracksTicketsFor". Existing elements +// at that index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsInvite inserts a Invite value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsJoin inserts a Join value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLeave inserts a Leave value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsLike inserts a Like value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsListen inserts a Listen value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsMove inserts a Move value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsNote inserts a Note value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsObject inserts a Object value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOffer inserts a Offer value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollection inserts a OrderedCollection value at the +// specified index for a property "tracksTicketsFor". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrderedCollectionPage inserts a OrderedCollectionPage +// value at the specified index for a property "tracksTicketsFor". Existing +// elements at that index and higher are shifted back once. Invalidates all +// iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsOrganization inserts a Organization value at the specified +// index for a property "tracksTicketsFor". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPage inserts a Page value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPerson inserts a Person value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsPlace inserts a Place value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsProfile inserts a Profile value at the specified index for +// a property "tracksTicketsFor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsQuestion inserts a Question value at the specified index +// for a property "tracksTicketsFor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRead inserts a Read value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsReject inserts a Reject value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRelationship inserts a Relationship value at the specified +// index for a property "tracksTicketsFor". Existing elements at that index +// and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsRemove inserts a Remove value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsService inserts a Service value at the specified index for +// a property "tracksTicketsFor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at the +// specified index for a property "tracksTicketsFor". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTentativeReject inserts a TentativeReject value at the +// specified index for a property "tracksTicketsFor". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTombstone inserts a Tombstone value at the specified index +// for a property "tracksTicketsFor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsTravel inserts a Travel value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUndo inserts a Undo value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsUpdate inserts a Update value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsVideo inserts a Video value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertActivityStreamsView inserts a View value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedBranch inserts a Branch value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedCommit inserts a Commit value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedPush inserts a Push value at the specified index for a property +// "tracksTicketsFor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertForgeFedPush(idx int, v vocab.ForgeFedPush) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedRepository inserts a Repository value at the specified index for +// a property "tracksTicketsFor". Existing elements at that index and higher +// are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicket inserts a Ticket value at the specified index for a +// property "tracksTicketsFor". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertForgeFedTicketDependency inserts a TicketDependency value at the +// specified index for a property "tracksTicketsFor". Existing elements at +// that index and higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Insert inserts an IRI value at the specified index for a property +// "tracksTicketsFor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootEmoji inserts a Emoji value at the specified index for a property +// "tracksTicketsFor". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertTootEmoji(idx int, v vocab.TootEmoji) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertTootIdentityProof inserts a IdentityProof value at the specified index +// for a property "tracksTicketsFor". Existing elements at that index and +// higher are shifted back once. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) InsertTootIdentityProof(idx int, v vocab.TootIdentityProof) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. Returns an error if +// the type is not a valid one to set for this property. +func (this *ForgeFedTracksTicketsForProperty) InsertType(idx int, t vocab.Type) error { + n := &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ForgeFedTracksTicketsForProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this ForgeFedTracksTicketsForProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "tracksTicketsFor" property. +func (this ForgeFedTracksTicketsForProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this ForgeFedTracksTicketsForProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetActivityStreamsObject() + rhs := this.properties[j].GetActivityStreamsObject() + return lhs.LessThan(rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetActivityStreamsAccept() + rhs := this.properties[j].GetActivityStreamsAccept() + return lhs.LessThan(rhs) + } else if idx1 == 2 { + lhs := this.properties[i].GetActivityStreamsActivity() + rhs := this.properties[j].GetActivityStreamsActivity() + return lhs.LessThan(rhs) + } else if idx1 == 3 { + lhs := this.properties[i].GetActivityStreamsAdd() + rhs := this.properties[j].GetActivityStreamsAdd() + return lhs.LessThan(rhs) + } else if idx1 == 4 { + lhs := this.properties[i].GetActivityStreamsAnnounce() + rhs := this.properties[j].GetActivityStreamsAnnounce() + return lhs.LessThan(rhs) + } else if idx1 == 5 { + lhs := this.properties[i].GetActivityStreamsApplication() + rhs := this.properties[j].GetActivityStreamsApplication() + return lhs.LessThan(rhs) + } else if idx1 == 6 { + lhs := this.properties[i].GetActivityStreamsArrive() + rhs := this.properties[j].GetActivityStreamsArrive() + return lhs.LessThan(rhs) + } else if idx1 == 7 { + lhs := this.properties[i].GetActivityStreamsArticle() + rhs := this.properties[j].GetActivityStreamsArticle() + return lhs.LessThan(rhs) + } else if idx1 == 8 { + lhs := this.properties[i].GetActivityStreamsAudio() + rhs := this.properties[j].GetActivityStreamsAudio() + return lhs.LessThan(rhs) + } else if idx1 == 9 { + lhs := this.properties[i].GetActivityStreamsBlock() + rhs := this.properties[j].GetActivityStreamsBlock() + return lhs.LessThan(rhs) + } else if idx1 == 10 { + lhs := this.properties[i].GetForgeFedBranch() + rhs := this.properties[j].GetForgeFedBranch() + return lhs.LessThan(rhs) + } else if idx1 == 11 { + lhs := this.properties[i].GetActivityStreamsCollection() + rhs := this.properties[j].GetActivityStreamsCollection() + return lhs.LessThan(rhs) + } else if idx1 == 12 { + lhs := this.properties[i].GetActivityStreamsCollectionPage() + rhs := this.properties[j].GetActivityStreamsCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 13 { + lhs := this.properties[i].GetForgeFedCommit() + rhs := this.properties[j].GetForgeFedCommit() + return lhs.LessThan(rhs) + } else if idx1 == 14 { + lhs := this.properties[i].GetActivityStreamsCreate() + rhs := this.properties[j].GetActivityStreamsCreate() + return lhs.LessThan(rhs) + } else if idx1 == 15 { + lhs := this.properties[i].GetActivityStreamsDelete() + rhs := this.properties[j].GetActivityStreamsDelete() + return lhs.LessThan(rhs) + } else if idx1 == 16 { + lhs := this.properties[i].GetActivityStreamsDislike() + rhs := this.properties[j].GetActivityStreamsDislike() + return lhs.LessThan(rhs) + } else if idx1 == 17 { + lhs := this.properties[i].GetActivityStreamsDocument() + rhs := this.properties[j].GetActivityStreamsDocument() + return lhs.LessThan(rhs) + } else if idx1 == 18 { + lhs := this.properties[i].GetTootEmoji() + rhs := this.properties[j].GetTootEmoji() + return lhs.LessThan(rhs) + } else if idx1 == 19 { + lhs := this.properties[i].GetActivityStreamsEvent() + rhs := this.properties[j].GetActivityStreamsEvent() + return lhs.LessThan(rhs) + } else if idx1 == 20 { + lhs := this.properties[i].GetActivityStreamsFlag() + rhs := this.properties[j].GetActivityStreamsFlag() + return lhs.LessThan(rhs) + } else if idx1 == 21 { + lhs := this.properties[i].GetActivityStreamsFollow() + rhs := this.properties[j].GetActivityStreamsFollow() + return lhs.LessThan(rhs) + } else if idx1 == 22 { + lhs := this.properties[i].GetActivityStreamsGroup() + rhs := this.properties[j].GetActivityStreamsGroup() + return lhs.LessThan(rhs) + } else if idx1 == 23 { + lhs := this.properties[i].GetTootIdentityProof() + rhs := this.properties[j].GetTootIdentityProof() + return lhs.LessThan(rhs) + } else if idx1 == 24 { + lhs := this.properties[i].GetActivityStreamsIgnore() + rhs := this.properties[j].GetActivityStreamsIgnore() + return lhs.LessThan(rhs) + } else if idx1 == 25 { + lhs := this.properties[i].GetActivityStreamsImage() + rhs := this.properties[j].GetActivityStreamsImage() + return lhs.LessThan(rhs) + } else if idx1 == 26 { + lhs := this.properties[i].GetActivityStreamsIntransitiveActivity() + rhs := this.properties[j].GetActivityStreamsIntransitiveActivity() + return lhs.LessThan(rhs) + } else if idx1 == 27 { + lhs := this.properties[i].GetActivityStreamsInvite() + rhs := this.properties[j].GetActivityStreamsInvite() + return lhs.LessThan(rhs) + } else if idx1 == 28 { + lhs := this.properties[i].GetActivityStreamsJoin() + rhs := this.properties[j].GetActivityStreamsJoin() + return lhs.LessThan(rhs) + } else if idx1 == 29 { + lhs := this.properties[i].GetActivityStreamsLeave() + rhs := this.properties[j].GetActivityStreamsLeave() + return lhs.LessThan(rhs) + } else if idx1 == 30 { + lhs := this.properties[i].GetActivityStreamsLike() + rhs := this.properties[j].GetActivityStreamsLike() + return lhs.LessThan(rhs) + } else if idx1 == 31 { + lhs := this.properties[i].GetActivityStreamsListen() + rhs := this.properties[j].GetActivityStreamsListen() + return lhs.LessThan(rhs) + } else if idx1 == 32 { + lhs := this.properties[i].GetActivityStreamsMove() + rhs := this.properties[j].GetActivityStreamsMove() + return lhs.LessThan(rhs) + } else if idx1 == 33 { + lhs := this.properties[i].GetActivityStreamsNote() + rhs := this.properties[j].GetActivityStreamsNote() + return lhs.LessThan(rhs) + } else if idx1 == 34 { + lhs := this.properties[i].GetActivityStreamsOffer() + rhs := this.properties[j].GetActivityStreamsOffer() + return lhs.LessThan(rhs) + } else if idx1 == 35 { + lhs := this.properties[i].GetActivityStreamsOrderedCollection() + rhs := this.properties[j].GetActivityStreamsOrderedCollection() + return lhs.LessThan(rhs) + } else if idx1 == 36 { + lhs := this.properties[i].GetActivityStreamsOrderedCollectionPage() + rhs := this.properties[j].GetActivityStreamsOrderedCollectionPage() + return lhs.LessThan(rhs) + } else if idx1 == 37 { + lhs := this.properties[i].GetActivityStreamsOrganization() + rhs := this.properties[j].GetActivityStreamsOrganization() + return lhs.LessThan(rhs) + } else if idx1 == 38 { + lhs := this.properties[i].GetActivityStreamsPage() + rhs := this.properties[j].GetActivityStreamsPage() + return lhs.LessThan(rhs) + } else if idx1 == 39 { + lhs := this.properties[i].GetActivityStreamsPerson() + rhs := this.properties[j].GetActivityStreamsPerson() + return lhs.LessThan(rhs) + } else if idx1 == 40 { + lhs := this.properties[i].GetActivityStreamsPlace() + rhs := this.properties[j].GetActivityStreamsPlace() + return lhs.LessThan(rhs) + } else if idx1 == 41 { + lhs := this.properties[i].GetActivityStreamsProfile() + rhs := this.properties[j].GetActivityStreamsProfile() + return lhs.LessThan(rhs) + } else if idx1 == 42 { + lhs := this.properties[i].GetForgeFedPush() + rhs := this.properties[j].GetForgeFedPush() + return lhs.LessThan(rhs) + } else if idx1 == 43 { + lhs := this.properties[i].GetActivityStreamsQuestion() + rhs := this.properties[j].GetActivityStreamsQuestion() + return lhs.LessThan(rhs) + } else if idx1 == 44 { + lhs := this.properties[i].GetActivityStreamsRead() + rhs := this.properties[j].GetActivityStreamsRead() + return lhs.LessThan(rhs) + } else if idx1 == 45 { + lhs := this.properties[i].GetActivityStreamsReject() + rhs := this.properties[j].GetActivityStreamsReject() + return lhs.LessThan(rhs) + } else if idx1 == 46 { + lhs := this.properties[i].GetActivityStreamsRelationship() + rhs := this.properties[j].GetActivityStreamsRelationship() + return lhs.LessThan(rhs) + } else if idx1 == 47 { + lhs := this.properties[i].GetActivityStreamsRemove() + rhs := this.properties[j].GetActivityStreamsRemove() + return lhs.LessThan(rhs) + } else if idx1 == 48 { + lhs := this.properties[i].GetForgeFedRepository() + rhs := this.properties[j].GetForgeFedRepository() + return lhs.LessThan(rhs) + } else if idx1 == 49 { + lhs := this.properties[i].GetActivityStreamsService() + rhs := this.properties[j].GetActivityStreamsService() + return lhs.LessThan(rhs) + } else if idx1 == 50 { + lhs := this.properties[i].GetActivityStreamsTentativeAccept() + rhs := this.properties[j].GetActivityStreamsTentativeAccept() + return lhs.LessThan(rhs) + } else if idx1 == 51 { + lhs := this.properties[i].GetActivityStreamsTentativeReject() + rhs := this.properties[j].GetActivityStreamsTentativeReject() + return lhs.LessThan(rhs) + } else if idx1 == 52 { + lhs := this.properties[i].GetForgeFedTicket() + rhs := this.properties[j].GetForgeFedTicket() + return lhs.LessThan(rhs) + } else if idx1 == 53 { + lhs := this.properties[i].GetForgeFedTicketDependency() + rhs := this.properties[j].GetForgeFedTicketDependency() + return lhs.LessThan(rhs) + } else if idx1 == 54 { + lhs := this.properties[i].GetActivityStreamsTombstone() + rhs := this.properties[j].GetActivityStreamsTombstone() + return lhs.LessThan(rhs) + } else if idx1 == 55 { + lhs := this.properties[i].GetActivityStreamsTravel() + rhs := this.properties[j].GetActivityStreamsTravel() + return lhs.LessThan(rhs) + } else if idx1 == 56 { + lhs := this.properties[i].GetActivityStreamsUndo() + rhs := this.properties[j].GetActivityStreamsUndo() + return lhs.LessThan(rhs) + } else if idx1 == 57 { + lhs := this.properties[i].GetActivityStreamsUpdate() + rhs := this.properties[j].GetActivityStreamsUpdate() + return lhs.LessThan(rhs) + } else if idx1 == 58 { + lhs := this.properties[i].GetActivityStreamsVideo() + rhs := this.properties[j].GetActivityStreamsVideo() + return lhs.LessThan(rhs) + } else if idx1 == 59 { + lhs := this.properties[i].GetActivityStreamsView() + rhs := this.properties[j].GetActivityStreamsView() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ForgeFedTracksTicketsForProperty) LessThan(o vocab.ForgeFedTracksTicketsForProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("tracksTicketsFor") with any alias. +func (this ForgeFedTracksTicketsForProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "tracksTicketsFor" + } else { + return "tracksTicketsFor" + } +} + +// PrependActivityStreamsAccept prepends a Accept value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsAccept(v vocab.ActivityStreamsAccept) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsActivity prepends a Activity value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsActivity(v vocab.ActivityStreamsActivity) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAdd prepends a Add value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsAdd(v vocab.ActivityStreamsAdd) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAnnounce prepends a Announce value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsAnnounce(v vocab.ActivityStreamsAnnounce) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsApplication prepends a Application value to the front of +// a list of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsApplication(v vocab.ActivityStreamsApplication) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArrive prepends a Arrive value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsArrive(v vocab.ActivityStreamsArrive) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsArticle prepends a Article value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsArticle(v vocab.ActivityStreamsArticle) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsAudio prepends a Audio value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsAudio(v vocab.ActivityStreamsAudio) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsBlock prepends a Block value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsBlock(v vocab.ActivityStreamsBlock) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollection prepends a Collection value to the front of a +// list of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsCollection(v vocab.ActivityStreamsCollection) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCollectionPage prepends a CollectionPage value to the +// front of a list of the property "tracksTicketsFor". Invalidates all +// iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsCreate prepends a Create value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsCreate(v vocab.ActivityStreamsCreate) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDelete prepends a Delete value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsDelete(v vocab.ActivityStreamsDelete) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDislike prepends a Dislike value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsDislike(v vocab.ActivityStreamsDislike) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsDocument prepends a Document value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsDocument(v vocab.ActivityStreamsDocument) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsEvent prepends a Event value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsEvent(v vocab.ActivityStreamsEvent) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFlag prepends a Flag value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsFlag(v vocab.ActivityStreamsFlag) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsFollow prepends a Follow value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsFollow(v vocab.ActivityStreamsFollow) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsGroup prepends a Group value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsGroup(v vocab.ActivityStreamsGroup) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIgnore prepends a Ignore value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsIgnore(v vocab.ActivityStreamsIgnore) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsImage prepends a Image value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsImage(v vocab.ActivityStreamsImage) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsIntransitiveActivity prepends a IntransitiveActivity +// value to the front of a list of the property "tracksTicketsFor". +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsIntransitiveActivity(v vocab.ActivityStreamsIntransitiveActivity) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsInvite prepends a Invite value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsInvite(v vocab.ActivityStreamsInvite) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsJoin prepends a Join value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsJoin(v vocab.ActivityStreamsJoin) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLeave prepends a Leave value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsLeave(v vocab.ActivityStreamsLeave) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsLike prepends a Like value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsLike(v vocab.ActivityStreamsLike) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsListen prepends a Listen value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsListen(v vocab.ActivityStreamsListen) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsMove prepends a Move value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsMove(v vocab.ActivityStreamsMove) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsNote prepends a Note value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsNote(v vocab.ActivityStreamsNote) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsObject prepends a Object value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsObject(v vocab.ActivityStreamsObject) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOffer prepends a Offer value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsOffer(v vocab.ActivityStreamsOffer) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollection prepends a OrderedCollection value to +// the front of a list of the property "tracksTicketsFor". Invalidates all +// iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrderedCollectionPage prepends a OrderedCollectionPage +// value to the front of a list of the property "tracksTicketsFor". +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsOrganization prepends a Organization value to the front +// of a list of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsOrganization(v vocab.ActivityStreamsOrganization) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPage prepends a Page value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsPage(v vocab.ActivityStreamsPage) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPerson prepends a Person value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsPerson(v vocab.ActivityStreamsPerson) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsPlace prepends a Place value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsPlace(v vocab.ActivityStreamsPlace) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsProfile prepends a Profile value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsProfile(v vocab.ActivityStreamsProfile) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsQuestion prepends a Question value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsQuestion(v vocab.ActivityStreamsQuestion) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRead prepends a Read value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsRead(v vocab.ActivityStreamsRead) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsReject prepends a Reject value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsReject(v vocab.ActivityStreamsReject) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRelationship prepends a Relationship value to the front +// of a list of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsRelationship(v vocab.ActivityStreamsRelationship) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsRemove prepends a Remove value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsRemove(v vocab.ActivityStreamsRemove) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsService prepends a Service value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsService(v vocab.ActivityStreamsService) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeAccept prepends a TentativeAccept value to the +// front of a list of the property "tracksTicketsFor". Invalidates all +// iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsTentativeAccept(v vocab.ActivityStreamsTentativeAccept) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTentativeReject prepends a TentativeReject value to the +// front of a list of the property "tracksTicketsFor". Invalidates all +// iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsTentativeReject(v vocab.ActivityStreamsTentativeReject) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTombstone prepends a Tombstone value to the front of a +// list of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsTombstone(v vocab.ActivityStreamsTombstone) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsTravel prepends a Travel value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsTravel(v vocab.ActivityStreamsTravel) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUndo prepends a Undo value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsUndo(v vocab.ActivityStreamsUndo) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsUpdate prepends a Update value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsUpdate(v vocab.ActivityStreamsUpdate) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsVideo prepends a Video value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsVideo(v vocab.ActivityStreamsVideo) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependActivityStreamsView prepends a View value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependActivityStreamsView(v vocab.ActivityStreamsView) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedBranch prepends a Branch value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependForgeFedBranch(v vocab.ForgeFedBranch) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedCommit prepends a Commit value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependForgeFedCommit(v vocab.ForgeFedCommit) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedPush prepends a Push value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependForgeFedPush(v vocab.ForgeFedPush) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + forgefedPushMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedRepository prepends a Repository value to the front of a list of +// the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependForgeFedRepository(v vocab.ForgeFedRepository) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicket prepends a Ticket value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependForgeFedTicket(v vocab.ForgeFedTicket) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependForgeFedTicketDependency prepends a TicketDependency value to the front +// of a list of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependForgeFedTicketDependency(v vocab.ForgeFedTicketDependency) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "tracksTicketsFor". +func (this *ForgeFedTracksTicketsForProperty) PrependIRI(v *url.URL) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootEmoji prepends a Emoji value to the front of a list of the property +// "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependTootEmoji(v vocab.TootEmoji) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootEmojiMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependTootIdentityProof prepends a IdentityProof value to the front of a list +// of the property "tracksTicketsFor". Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) PrependTootIdentityProof(v vocab.TootIdentityProof) { + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + tootIdentityProofMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "tracksTicketsFor". Invalidates all iterators. Returns an error if +// the type is not a valid one to set for this property. +func (this *ForgeFedTracksTicketsForProperty) PrependType(t vocab.Type) error { + n := &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*ForgeFedTracksTicketsForPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// Remove deletes an element at the specified index from a list of the property +// "tracksTicketsFor", regardless of its type. Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &ForgeFedTracksTicketsForPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ForgeFedTracksTicketsForProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetActivityStreamsAccept sets a Accept value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsAccept(idx int, v vocab.ActivityStreamsAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsActivity sets a Activity value to be at the specified index +// for the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsActivity(idx int, v vocab.ActivityStreamsActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAdd sets a Add value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsAdd(idx int, v vocab.ActivityStreamsAdd) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAddMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAnnounce sets a Announce value to be at the specified index +// for the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsAnnounce(idx int, v vocab.ActivityStreamsAnnounce) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAnnounceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsApplication sets a Application value to be at the specified +// index for the property "tracksTicketsFor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsApplication(idx int, v vocab.ActivityStreamsApplication) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsApplicationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArrive sets a Arrive value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsArrive(idx int, v vocab.ActivityStreamsArrive) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsArriveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsArticle sets a Article value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsArticle(idx int, v vocab.ActivityStreamsArticle) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsArticleMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsAudio sets a Audio value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsAudio(idx int, v vocab.ActivityStreamsAudio) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsAudioMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsBlock sets a Block value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsBlock(idx int, v vocab.ActivityStreamsBlock) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsBlockMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollection sets a Collection value to be at the specified +// index for the property "tracksTicketsFor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsCollection(idx int, v vocab.ActivityStreamsCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCollectionPage sets a CollectionPage value to be at the +// specified index for the property "tracksTicketsFor". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsCollectionPage(idx int, v vocab.ActivityStreamsCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsCreate sets a Create value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsCreate(idx int, v vocab.ActivityStreamsCreate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsCreateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDelete sets a Delete value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsDelete(idx int, v vocab.ActivityStreamsDelete) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDeleteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDislike sets a Dislike value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsDislike(idx int, v vocab.ActivityStreamsDislike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDislikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsDocument sets a Document value to be at the specified index +// for the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsDocument(idx int, v vocab.ActivityStreamsDocument) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsDocumentMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsEvent sets a Event value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsEvent(idx int, v vocab.ActivityStreamsEvent) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsEventMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFlag sets a Flag value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsFlag(idx int, v vocab.ActivityStreamsFlag) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsFlagMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsFollow sets a Follow value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsFollow(idx int, v vocab.ActivityStreamsFollow) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsFollowMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsGroup sets a Group value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsGroup(idx int, v vocab.ActivityStreamsGroup) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsGroupMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIgnore sets a Ignore value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsIgnore(idx int, v vocab.ActivityStreamsIgnore) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsIgnoreMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsImage sets a Image value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsImage(idx int, v vocab.ActivityStreamsImage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsImageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity value to be +// at the specified index for the property "tracksTicketsFor". Panics if the +// index is out of bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsIntransitiveActivity(idx int, v vocab.ActivityStreamsIntransitiveActivity) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsIntransitiveActivityMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsInvite sets a Invite value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsInvite(idx int, v vocab.ActivityStreamsInvite) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsInviteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsJoin sets a Join value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsJoin(idx int, v vocab.ActivityStreamsJoin) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsJoinMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLeave sets a Leave value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsLeave(idx int, v vocab.ActivityStreamsLeave) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsLeaveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsLike sets a Like value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsLike(idx int, v vocab.ActivityStreamsLike) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsLikeMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsListen sets a Listen value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsListen(idx int, v vocab.ActivityStreamsListen) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsListenMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsMove sets a Move value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsMove(idx int, v vocab.ActivityStreamsMove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsMoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsNote sets a Note value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsNote(idx int, v vocab.ActivityStreamsNote) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsNoteMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsObject sets a Object value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsObject(idx int, v vocab.ActivityStreamsObject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsObjectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOffer sets a Offer value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsOffer(idx int, v vocab.ActivityStreamsOffer) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOfferMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollection sets a OrderedCollection value to be at the +// specified index for the property "tracksTicketsFor". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsOrderedCollection(idx int, v vocab.ActivityStreamsOrderedCollection) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrderedCollectionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage value to +// be at the specified index for the property "tracksTicketsFor". Panics if +// the index is out of bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsOrderedCollectionPage(idx int, v vocab.ActivityStreamsOrderedCollectionPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrderedCollectionPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsOrganization sets a Organization value to be at the specified +// index for the property "tracksTicketsFor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsOrganization(idx int, v vocab.ActivityStreamsOrganization) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsOrganizationMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPage sets a Page value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsPage(idx int, v vocab.ActivityStreamsPage) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPageMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPerson sets a Person value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsPerson(idx int, v vocab.ActivityStreamsPerson) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPersonMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsPlace sets a Place value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsPlace(idx int, v vocab.ActivityStreamsPlace) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsPlaceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsProfile sets a Profile value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsProfile(idx int, v vocab.ActivityStreamsProfile) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsProfileMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsQuestion sets a Question value to be at the specified index +// for the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsQuestion(idx int, v vocab.ActivityStreamsQuestion) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsQuestionMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRead sets a Read value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsRead(idx int, v vocab.ActivityStreamsRead) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsReadMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsReject sets a Reject value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsReject(idx int, v vocab.ActivityStreamsReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRelationship sets a Relationship value to be at the specified +// index for the property "tracksTicketsFor". Panics if the index is out of +// bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsRelationship(idx int, v vocab.ActivityStreamsRelationship) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRelationshipMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsRemove sets a Remove value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsRemove(idx int, v vocab.ActivityStreamsRemove) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsRemoveMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsService sets a Service value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsService(idx int, v vocab.ActivityStreamsService) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsServiceMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at the +// specified index for the property "tracksTicketsFor". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsTentativeAccept(idx int, v vocab.ActivityStreamsTentativeAccept) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTentativeAcceptMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTentativeReject sets a TentativeReject value to be at the +// specified index for the property "tracksTicketsFor". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsTentativeReject(idx int, v vocab.ActivityStreamsTentativeReject) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTentativeRejectMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTombstone sets a Tombstone value to be at the specified index +// for the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsTombstone(idx int, v vocab.ActivityStreamsTombstone) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTombstoneMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsTravel sets a Travel value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsTravel(idx int, v vocab.ActivityStreamsTravel) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsTravelMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUndo sets a Undo value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsUndo(idx int, v vocab.ActivityStreamsUndo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsUndoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsUpdate sets a Update value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsUpdate(idx int, v vocab.ActivityStreamsUpdate) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsUpdateMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsVideo sets a Video value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsVideo(idx int, v vocab.ActivityStreamsVideo) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsVideoMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetActivityStreamsView sets a View value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetActivityStreamsView(idx int, v vocab.ActivityStreamsView) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + activitystreamsViewMember: v, + alias: this.alias, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedBranch sets a Branch value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetForgeFedBranch(idx int, v vocab.ForgeFedBranch) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedBranchMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedCommit sets a Commit value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetForgeFedCommit(idx int, v vocab.ForgeFedCommit) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedCommitMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedPush sets a Push value to be at the specified index for the property +// "tracksTicketsFor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedTracksTicketsForProperty) SetForgeFedPush(idx int, v vocab.ForgeFedPush) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedPushMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedRepository sets a Repository value to be at the specified index for +// the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetForgeFedRepository(idx int, v vocab.ForgeFedRepository) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedRepositoryMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicket sets a Ticket value to be at the specified index for the +// property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetForgeFedTicket(idx int, v vocab.ForgeFedTicket) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedTicketMember: v, + myIdx: idx, + parent: this, + } +} + +// SetForgeFedTicketDependency sets a TicketDependency value to be at the +// specified index for the property "tracksTicketsFor". Panics if the index is +// out of bounds. Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetForgeFedTicketDependency(idx int, v vocab.ForgeFedTicketDependency) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + forgefedTicketDependencyMember: v, + myIdx: idx, + parent: this, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "tracksTicketsFor". Panics if the index is out of bounds. +func (this *ForgeFedTracksTicketsForProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetTootEmoji sets a Emoji value to be at the specified index for the property +// "tracksTicketsFor". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *ForgeFedTracksTicketsForProperty) SetTootEmoji(idx int, v vocab.TootEmoji) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootEmojiMember: v, + } +} + +// SetTootIdentityProof sets a IdentityProof value to be at the specified index +// for the property "tracksTicketsFor". Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *ForgeFedTracksTicketsForProperty) SetTootIdentityProof(idx int, v vocab.TootIdentityProof) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + tootIdentityProofMember: v, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "tracksTicketsFor". Invalidates all iterators. Returns an error if the type +// is not a valid one to set for this property. Panics if the index is out of +// bounds. +func (this *ForgeFedTracksTicketsForProperty) SetType(idx int, t vocab.Type) error { + n := &ForgeFedTracksTicketsForPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "tracksTicketsFor" +// property. +func (this ForgeFedTracksTicketsForProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_doc.go new file mode 100644 index 000000000..c6836a19d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typebranch contains the implementation for the Branch type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typebranch diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_pkg.go new file mode 100644 index 000000000..c96a877ad --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_pkg.go @@ -0,0 +1,191 @@ +// Code generated by astool. DO NOT EDIT. + +package typebranch + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRefPropertyForgeFed returns the deserialization method for + // the "ForgeFedRefProperty" non-functional property in the vocabulary + // "ForgeFed" + DeserializeRefPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedRefProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_type_forgefed_branch.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_type_forgefed_branch.go new file mode 100644 index 000000000..81c057c59 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_branch/gen_type_forgefed_branch.go @@ -0,0 +1,1778 @@ +// Code generated by astool. DO NOT EDIT. + +package typebranch + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a named variable reference to a version of the Repository, typically +// used for committing changes in parallel to other development, and usually +// eventually merging the changes into the main history line. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "context": "https://example.dev/luke/myrepo", +// "id": "https://example.dev/luke/myrepo/branches/master", +// "name": "master", +// "ref": "refs/heads/master", +// "type": "Branch" +// } +type ForgeFedBranch struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ForgeFedRef vocab.ForgeFedRefProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// BranchIsDisjointWith returns true if the other provided type is disjoint with +// the Branch type. +func BranchIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// BranchIsExtendedBy returns true if the other provided type extends from the +// Branch type. Note that it returns false if the types are the same; see the +// "IsOrExtendsBranch" variant instead. +func BranchIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeBranch creates a Branch from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeBranch(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedBranch, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ForgeFedBranch{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Branch" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Branch", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Branch" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Branch") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRefPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedRef = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "ref" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// ForgeFedBranchExtends returns true if the Branch type extends from the other +// type. +func ForgeFedBranchExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsBranch returns true if the other provided type is the Branch type or +// extends from the Branch type. +func IsOrExtendsBranch(other vocab.Type) bool { + if other.GetTypeName() == "Branch" { + return true + } + return BranchIsExtendedBy(other) +} + +// NewForgeFedBranch creates a new Branch type +func NewForgeFedBranch() *ForgeFedBranch { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Branch") + return &ForgeFedBranch{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ForgeFedBranch) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ForgeFedBranch) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedRef returns the "ref" property if it exists, and nil otherwise. +func (this ForgeFedBranch) GetForgeFedRef() vocab.ForgeFedRefProperty { + return this.ForgeFedRef +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ForgeFedBranch) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ForgeFedBranch) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ForgeFedBranch) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ForgeFedBranch) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ForgeFedBranch) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ForgeFedBranch) GetTypeName() string { + return "Branch" +} + +// GetUnknownProperties returns the unknown properties for the Branch type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ForgeFedBranch) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Branch type extends from the other type. +func (this ForgeFedBranch) IsExtending(other vocab.Type) bool { + return ForgeFedBranchExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ForgeFedBranch) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ForgeFedRef, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Branch is lesser, with an arbitrary but stable +// determination. +func (this ForgeFedBranch) LessThan(o vocab.ForgeFedBranch) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ref" + if lhs, rhs := this.ForgeFedRef, o.GetForgeFedRef(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ForgeFedBranch) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Branch" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Branch" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "ref" + if this.ForgeFedRef != nil { + if i, err := this.ForgeFedRef.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedRef.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ForgeFedBranch) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ForgeFedBranch) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ForgeFedBranch) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ForgeFedBranch) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ForgeFedBranch) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ForgeFedBranch) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ForgeFedBranch) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ForgeFedBranch) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ForgeFedBranch) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ForgeFedBranch) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ForgeFedBranch) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ForgeFedBranch) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ForgeFedBranch) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ForgeFedBranch) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ForgeFedBranch) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ForgeFedBranch) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ForgeFedBranch) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ForgeFedBranch) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ForgeFedBranch) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ForgeFedBranch) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ForgeFedBranch) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ForgeFedBranch) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ForgeFedBranch) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ForgeFedBranch) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ForgeFedBranch) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ForgeFedBranch) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ForgeFedBranch) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ForgeFedBranch) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ForgeFedBranch) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ForgeFedBranch) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ForgeFedBranch) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedRef sets the "ref" property. +func (this *ForgeFedBranch) SetForgeFedRef(i vocab.ForgeFedRefProperty) { + this.ForgeFedRef = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ForgeFedBranch) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ForgeFedBranch) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ForgeFedBranch) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ForgeFedBranch) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ForgeFedBranch) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ForgeFedBranch) VocabularyURI() string { + return "https://forgefed.peers.community/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ForgeFedBranch) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_doc.go new file mode 100644 index 000000000..d9954fc19 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typecommit contains the implementation for the Commit type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typecommit diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_pkg.go new file mode 100644 index 000000000..59844de7b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_pkg.go @@ -0,0 +1,215 @@ +// Code generated by astool. DO NOT EDIT. + +package typecommit + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeCommittedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedCommittedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeCommittedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommittedByProperty, error) + // DeserializeCommittedPropertyForgeFed returns the deserialization method + // for the "ForgeFedCommittedProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeCommittedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedCommittedProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDescriptionPropertyForgeFed returns the deserialization + // method for the "ForgeFedDescriptionProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeDescriptionPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDescriptionProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeFilesAddedPropertyForgeFed returns the deserialization + // method for the "ForgeFedFilesAddedProperty" non-functional property + // in the vocabulary "ForgeFed" + DeserializeFilesAddedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedFilesAddedProperty, error) + // DeserializeFilesModifiedPropertyForgeFed returns the deserialization + // method for the "ForgeFedFilesModifiedProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeFilesModifiedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedFilesModifiedProperty, error) + // DeserializeFilesRemovedPropertyForgeFed returns the deserialization + // method for the "ForgeFedFilesRemovedProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeFilesRemovedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedFilesRemovedProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeHashPropertyForgeFed returns the deserialization method for + // the "ForgeFedHashProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeHashPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedHashProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_type_forgefed_commit.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_type_forgefed_commit.go new file mode 100644 index 000000000..f963e0be2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_commit/gen_type_forgefed_commit.go @@ -0,0 +1,2040 @@ +// Code generated by astool. DO NOT EDIT. + +package typecommit + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a named set of changes in the history of a Repository. This is +// called "commit" in Git, Mercurial and Monotone; "patch" in Darcs; sometimes +// called "change set". Note that Commit is a set of changes that already +// exists in a repo’s history, while a Patch is a separate proposed change +// set, that could be applied and pushed to a repo, resulting with a Commit. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "attributedTo": "https://example.dev/bob", +// "committed": "2019-07-26T23:45:01Z", +// "committedBy": "https://example.dev/alice", +// "context": "https://example.dev/alice/myrepo", +// "created": "2019-07-11T12:34:56Z", +// "description": { +// "content": "It's about time people can install on their computers!", +// "mediaType": "text/plain" +// }, +// "hash": "109ec9a09c7df7fec775d2ba0b9d466e5643ec8c", +// "id": "https://example.dev/alice/myrepo/commits/109ec9a09c7df7fec775d2ba0b9d466e5643ec8c", +// "summary": "Add an installation script, fixes issue #89", +// "type": "Commit" +// } +type ForgeFedCommit struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ForgeFedCommitted vocab.ForgeFedCommittedProperty + ForgeFedCommittedBy vocab.ForgeFedCommittedByProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ForgeFedDescription vocab.ForgeFedDescriptionProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ForgeFedFilesAdded vocab.ForgeFedFilesAddedProperty + ForgeFedFilesModified vocab.ForgeFedFilesModifiedProperty + ForgeFedFilesRemoved vocab.ForgeFedFilesRemovedProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ForgeFedHash vocab.ForgeFedHashProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// CommitIsDisjointWith returns true if the other provided type is disjoint with +// the Commit type. +func CommitIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// CommitIsExtendedBy returns true if the other provided type extends from the +// Commit type. Note that it returns false if the types are the same; see the +// "IsOrExtendsCommit" variant instead. +func CommitIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// DeserializeCommit creates a Commit from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeCommit(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedCommit, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ForgeFedCommit{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Commit" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Commit", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Commit" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Commit") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeCommittedPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedCommitted = p + } + if p, err := mgr.DeserializeCommittedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedCommittedBy = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDescriptionPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedDescription = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeFilesAddedPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedFilesAdded = p + } + if p, err := mgr.DeserializeFilesModifiedPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedFilesModified = p + } + if p, err := mgr.DeserializeFilesRemovedPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedFilesRemoved = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeHashPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedHash = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "committed" { + continue + } else if k == "committedBy" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "description" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "filesAdded" { + continue + } else if k == "filesModified" { + continue + } else if k == "filesRemoved" { + continue + } else if k == "generator" { + continue + } else if k == "hash" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// ForgeFedCommitExtends returns true if the Commit type extends from the other +// type. +func ForgeFedCommitExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsCommit returns true if the other provided type is the Commit type or +// extends from the Commit type. +func IsOrExtendsCommit(other vocab.Type) bool { + if other.GetTypeName() == "Commit" { + return true + } + return CommitIsExtendedBy(other) +} + +// NewForgeFedCommit creates a new Commit type +func NewForgeFedCommit() *ForgeFedCommit { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Commit") + return &ForgeFedCommit{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ForgeFedCommit) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedCommitted returns the "committed" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetForgeFedCommitted() vocab.ForgeFedCommittedProperty { + return this.ForgeFedCommitted +} + +// GetForgeFedCommittedBy returns the "committedBy" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetForgeFedCommittedBy() vocab.ForgeFedCommittedByProperty { + return this.ForgeFedCommittedBy +} + +// GetForgeFedDescription returns the "description" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetForgeFedDescription() vocab.ForgeFedDescriptionProperty { + return this.ForgeFedDescription +} + +// GetForgeFedFilesAdded returns the "filesAdded" property if it exists, and nil +// otherwise. +func (this ForgeFedCommit) GetForgeFedFilesAdded() vocab.ForgeFedFilesAddedProperty { + return this.ForgeFedFilesAdded +} + +// GetForgeFedFilesModified returns the "filesModified" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetForgeFedFilesModified() vocab.ForgeFedFilesModifiedProperty { + return this.ForgeFedFilesModified +} + +// GetForgeFedFilesRemoved returns the "filesRemoved" property if it exists, and +// nil otherwise. +func (this ForgeFedCommit) GetForgeFedFilesRemoved() vocab.ForgeFedFilesRemovedProperty { + return this.ForgeFedFilesRemoved +} + +// GetForgeFedHash returns the "hash" property if it exists, and nil otherwise. +func (this ForgeFedCommit) GetForgeFedHash() vocab.ForgeFedHashProperty { + return this.ForgeFedHash +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ForgeFedCommit) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ForgeFedCommit) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ForgeFedCommit) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ForgeFedCommit) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ForgeFedCommit) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ForgeFedCommit) GetTypeName() string { + return "Commit" +} + +// GetUnknownProperties returns the unknown properties for the Commit type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ForgeFedCommit) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Commit type extends from the other type. +func (this ForgeFedCommit) IsExtending(other vocab.Type) bool { + return ForgeFedCommitExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ForgeFedCommit) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ForgeFedCommitted, m) + m = this.helperJSONLDContext(this.ForgeFedCommittedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ForgeFedDescription, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ForgeFedFilesAdded, m) + m = this.helperJSONLDContext(this.ForgeFedFilesModified, m) + m = this.helperJSONLDContext(this.ForgeFedFilesRemoved, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ForgeFedHash, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Commit is lesser, with an arbitrary but stable +// determination. +func (this ForgeFedCommit) LessThan(o vocab.ForgeFedCommit) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "committed" + if lhs, rhs := this.ForgeFedCommitted, o.GetForgeFedCommitted(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "committedBy" + if lhs, rhs := this.ForgeFedCommittedBy, o.GetForgeFedCommittedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "description" + if lhs, rhs := this.ForgeFedDescription, o.GetForgeFedDescription(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "filesAdded" + if lhs, rhs := this.ForgeFedFilesAdded, o.GetForgeFedFilesAdded(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "filesModified" + if lhs, rhs := this.ForgeFedFilesModified, o.GetForgeFedFilesModified(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "filesRemoved" + if lhs, rhs := this.ForgeFedFilesRemoved, o.GetForgeFedFilesRemoved(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "hash" + if lhs, rhs := this.ForgeFedHash, o.GetForgeFedHash(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ForgeFedCommit) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Commit" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Commit" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "committed" + if this.ForgeFedCommitted != nil { + if i, err := this.ForgeFedCommitted.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedCommitted.Name()] = i + } + } + // Maybe serialize property "committedBy" + if this.ForgeFedCommittedBy != nil { + if i, err := this.ForgeFedCommittedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedCommittedBy.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "description" + if this.ForgeFedDescription != nil { + if i, err := this.ForgeFedDescription.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedDescription.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "filesAdded" + if this.ForgeFedFilesAdded != nil { + if i, err := this.ForgeFedFilesAdded.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedFilesAdded.Name()] = i + } + } + // Maybe serialize property "filesModified" + if this.ForgeFedFilesModified != nil { + if i, err := this.ForgeFedFilesModified.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedFilesModified.Name()] = i + } + } + // Maybe serialize property "filesRemoved" + if this.ForgeFedFilesRemoved != nil { + if i, err := this.ForgeFedFilesRemoved.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedFilesRemoved.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "hash" + if this.ForgeFedHash != nil { + if i, err := this.ForgeFedHash.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedHash.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ForgeFedCommit) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ForgeFedCommit) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ForgeFedCommit) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ForgeFedCommit) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ForgeFedCommit) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ForgeFedCommit) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ForgeFedCommit) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ForgeFedCommit) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ForgeFedCommit) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ForgeFedCommit) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ForgeFedCommit) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ForgeFedCommit) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ForgeFedCommit) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ForgeFedCommit) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ForgeFedCommit) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ForgeFedCommit) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ForgeFedCommit) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ForgeFedCommit) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ForgeFedCommit) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ForgeFedCommit) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ForgeFedCommit) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ForgeFedCommit) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ForgeFedCommit) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ForgeFedCommit) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ForgeFedCommit) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ForgeFedCommit) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ForgeFedCommit) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ForgeFedCommit) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ForgeFedCommit) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ForgeFedCommit) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ForgeFedCommit) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedCommitted sets the "committed" property. +func (this *ForgeFedCommit) SetForgeFedCommitted(i vocab.ForgeFedCommittedProperty) { + this.ForgeFedCommitted = i +} + +// SetForgeFedCommittedBy sets the "committedBy" property. +func (this *ForgeFedCommit) SetForgeFedCommittedBy(i vocab.ForgeFedCommittedByProperty) { + this.ForgeFedCommittedBy = i +} + +// SetForgeFedDescription sets the "description" property. +func (this *ForgeFedCommit) SetForgeFedDescription(i vocab.ForgeFedDescriptionProperty) { + this.ForgeFedDescription = i +} + +// SetForgeFedFilesAdded sets the "filesAdded" property. +func (this *ForgeFedCommit) SetForgeFedFilesAdded(i vocab.ForgeFedFilesAddedProperty) { + this.ForgeFedFilesAdded = i +} + +// SetForgeFedFilesModified sets the "filesModified" property. +func (this *ForgeFedCommit) SetForgeFedFilesModified(i vocab.ForgeFedFilesModifiedProperty) { + this.ForgeFedFilesModified = i +} + +// SetForgeFedFilesRemoved sets the "filesRemoved" property. +func (this *ForgeFedCommit) SetForgeFedFilesRemoved(i vocab.ForgeFedFilesRemovedProperty) { + this.ForgeFedFilesRemoved = i +} + +// SetForgeFedHash sets the "hash" property. +func (this *ForgeFedCommit) SetForgeFedHash(i vocab.ForgeFedHashProperty) { + this.ForgeFedHash = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ForgeFedCommit) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ForgeFedCommit) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ForgeFedCommit) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ForgeFedCommit) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ForgeFedCommit) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ForgeFedCommit) VocabularyURI() string { + return "https://forgefed.peers.community/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ForgeFedCommit) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_doc.go new file mode 100644 index 000000000..f9a39c3ef --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typepush contains the implementation for the Push type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typepush diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_pkg.go new file mode 100644 index 000000000..f81e3ac8a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_pkg.go @@ -0,0 +1,207 @@ +// Code generated by astool. DO NOT EDIT. + +package typepush + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeActorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsActorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeActorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsActorProperty, error) + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeInstrumentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsInstrumentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeInstrumentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInstrumentProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializeOriginPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsOriginProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOriginPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOriginProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeResultPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsResultProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeResultPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsResultProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTargetPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTargetProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeTargetPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTargetProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_type_forgefed_push.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_type_forgefed_push.go new file mode 100644 index 000000000..f7e65ecb8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_push/gen_type_forgefed_push.go @@ -0,0 +1,1967 @@ +// Code generated by astool. DO NOT EDIT. + +package typepush + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Indicates that new content has been pushed to the Repository. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "actor": "https://example.dev/aviva", +// "context": "https://example.dev/aviva/myproject", +// "id": "https://example.dev/aviva/outbox/reBGo", +// "object": { +// "items": [ +// { +// "attributedTo": "https://example.dev/aviva", +// "context": "https://example.dev/aviva/myproject", +// "created": "2019-11-03T13:43:59Z", +// "hash": "d96596230322716bd6f87a232a648ca9822a1c20", +// "id": "https://example.dev/aviva/myproject/commits/d96596230322716bd6f87a232a648ca9822a1c20", +// "summary": "Provide hints in sign-up form fields", +// "type": "Commit" +// } +// ], +// "totalItems": 1, +// "type": "OrderedCollection" +// }, +// "summary": "\u003cp\u003eAviva pushed a commit to +// myproject\u003c/p\u003e", +// "target": "https://example.dev/aviva/myproject/branches/master", +// "to": [ +// "https://example.dev/aviva/followers", +// "https://example.dev/aviva/myproject", +// "https://example.dev/aviva/myproject/team", +// "https://example.dev/aviva/myproject/followers" +// ], +// "type": "Push" +// } +type ForgeFedPush struct { + ActivityStreamsActor vocab.ActivityStreamsActorProperty + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsInstrument vocab.ActivityStreamsInstrumentProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsOrigin vocab.ActivityStreamsOriginProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsResult vocab.ActivityStreamsResultProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTarget vocab.ActivityStreamsTargetProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// DeserializePush creates a Push from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializePush(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedPush, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ForgeFedPush{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Push" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Push", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Push" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Push") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeActorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsActor = p + } + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeInstrumentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInstrument = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializeOriginPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsOrigin = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeResultPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsResult = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTargetPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTarget = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "actor" { + continue + } else if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "instrument" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "origin" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "result" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "target" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// ForgeFedPushExtends returns true if the Push type extends from the other type. +func ForgeFedPushExtends(other vocab.Type) bool { + extensions := []string{"Activity", "Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsPush returns true if the other provided type is the Push type or +// extends from the Push type. +func IsOrExtendsPush(other vocab.Type) bool { + if other.GetTypeName() == "Push" { + return true + } + return PushIsExtendedBy(other) +} + +// NewForgeFedPush creates a new Push type +func NewForgeFedPush() *ForgeFedPush { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Push") + return &ForgeFedPush{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// PushIsDisjointWith returns true if the other provided type is disjoint with the +// Push type. +func PushIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// PushIsExtendedBy returns true if the other provided type extends from the Push +// type. Note that it returns false if the types are the same; see the +// "IsOrExtendsPush" variant instead. +func PushIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsActor returns the "actor" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsActor() vocab.ActivityStreamsActorProperty { + return this.ActivityStreamsActor +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ForgeFedPush) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ForgeFedPush) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ForgeFedPush) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsInstrument returns the "instrument" property if it exists, +// and nil otherwise. +func (this ForgeFedPush) GetActivityStreamsInstrument() vocab.ActivityStreamsInstrumentProperty { + return this.ActivityStreamsInstrument +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsOrigin returns the "origin" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsOrigin() vocab.ActivityStreamsOriginProperty { + return this.ActivityStreamsOrigin +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsResult returns the "result" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsResult() vocab.ActivityStreamsResultProperty { + return this.ActivityStreamsResult +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ForgeFedPush) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTarget returns the "target" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsTarget() vocab.ActivityStreamsTargetProperty { + return this.ActivityStreamsTarget +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ForgeFedPush) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ForgeFedPush) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ForgeFedPush) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ForgeFedPush) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ForgeFedPush) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ForgeFedPush) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ForgeFedPush) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ForgeFedPush) GetTypeName() string { + return "Push" +} + +// GetUnknownProperties returns the unknown properties for the Push type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ForgeFedPush) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Push type extends from the other type. +func (this ForgeFedPush) IsExtending(other vocab.Type) bool { + return ForgeFedPushExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ForgeFedPush) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsActor, m) + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsInstrument, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsOrigin, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsResult, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTarget, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Push is lesser, with an arbitrary but stable +// determination. +func (this ForgeFedPush) LessThan(o vocab.ForgeFedPush) bool { + // Begin: Compare known properties + // Compare property "actor" + if lhs, rhs := this.ActivityStreamsActor, o.GetActivityStreamsActor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "instrument" + if lhs, rhs := this.ActivityStreamsInstrument, o.GetActivityStreamsInstrument(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "origin" + if lhs, rhs := this.ActivityStreamsOrigin, o.GetActivityStreamsOrigin(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "result" + if lhs, rhs := this.ActivityStreamsResult, o.GetActivityStreamsResult(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "target" + if lhs, rhs := this.ActivityStreamsTarget, o.GetActivityStreamsTarget(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ForgeFedPush) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Push" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Push" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "actor" + if this.ActivityStreamsActor != nil { + if i, err := this.ActivityStreamsActor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsActor.Name()] = i + } + } + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "instrument" + if this.ActivityStreamsInstrument != nil { + if i, err := this.ActivityStreamsInstrument.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInstrument.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "origin" + if this.ActivityStreamsOrigin != nil { + if i, err := this.ActivityStreamsOrigin.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsOrigin.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "result" + if this.ActivityStreamsResult != nil { + if i, err := this.ActivityStreamsResult.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsResult.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "target" + if this.ActivityStreamsTarget != nil { + if i, err := this.ActivityStreamsTarget.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTarget.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsActor sets the "actor" property. +func (this *ForgeFedPush) SetActivityStreamsActor(i vocab.ActivityStreamsActorProperty) { + this.ActivityStreamsActor = i +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ForgeFedPush) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ForgeFedPush) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ForgeFedPush) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ForgeFedPush) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ForgeFedPush) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ForgeFedPush) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ForgeFedPush) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ForgeFedPush) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ForgeFedPush) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ForgeFedPush) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ForgeFedPush) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ForgeFedPush) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ForgeFedPush) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ForgeFedPush) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ForgeFedPush) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsInstrument sets the "instrument" property. +func (this *ForgeFedPush) SetActivityStreamsInstrument(i vocab.ActivityStreamsInstrumentProperty) { + this.ActivityStreamsInstrument = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ForgeFedPush) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ForgeFedPush) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ForgeFedPush) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ForgeFedPush) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ForgeFedPush) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsOrigin sets the "origin" property. +func (this *ForgeFedPush) SetActivityStreamsOrigin(i vocab.ActivityStreamsOriginProperty) { + this.ActivityStreamsOrigin = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ForgeFedPush) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ForgeFedPush) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ForgeFedPush) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsResult sets the "result" property. +func (this *ForgeFedPush) SetActivityStreamsResult(i vocab.ActivityStreamsResultProperty) { + this.ActivityStreamsResult = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ForgeFedPush) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ForgeFedPush) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ForgeFedPush) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ForgeFedPush) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ForgeFedPush) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTarget sets the "target" property. +func (this *ForgeFedPush) SetActivityStreamsTarget(i vocab.ActivityStreamsTargetProperty) { + this.ActivityStreamsTarget = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ForgeFedPush) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ForgeFedPush) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ForgeFedPush) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ForgeFedPush) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ForgeFedPush) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ForgeFedPush) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ForgeFedPush) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ForgeFedPush) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ForgeFedPush) VocabularyURI() string { + return "https://forgefed.peers.community/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ForgeFedPush) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_doc.go new file mode 100644 index 000000000..194a0adfb --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typerepository contains the implementation for the Repository type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typerepository diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_pkg.go new file mode 100644 index 000000000..95985e754 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_pkg.go @@ -0,0 +1,191 @@ +// Code generated by astool. DO NOT EDIT. + +package typerepository + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeForksPropertyForgeFed returns the deserialization method for + // the "ForgeFedForksProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeForksPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedForksProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_type_forgefed_repository.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_type_forgefed_repository.go new file mode 100644 index 000000000..819e5a2c4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_repository/gen_type_forgefed_repository.go @@ -0,0 +1,1786 @@ +// Code generated by astool. DO NOT EDIT. + +package typerepository + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a version control system repository. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://w3id.org/security/v1", +// "https://forgefed.peers.community/ns" +// ], +// "followers": "https://dev.example/aviva/treesim/followers", +// "id": "https://dev.example/aviva/treesim", +// "inbox": "https://dev.example/aviva/treesim/inbox", +// "name": "Tree Growth 3D Simulation", +// "outbox": "https://dev.example/aviva/treesim/outbox", +// "publicKey": { +// "id": "https://dev.example/aviva/treesim#main-key", +// "owner": "https://dev.example/aviva/treesim", +// "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhki....." +// }, +// "summary": "\u003cp\u003eTree growth 3D simulator for my nature +// exploration game\u003c/p\u003e", +// "team": "https://dev.example/aviva/treesim/team", +// "type": "Repository" +// } +type ForgeFedRepository struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ForgeFedForks vocab.ForgeFedForksProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// DeserializeRepository creates a Repository from a map representation that has +// been unmarshalled from a text or binary format. +func DeserializeRepository(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedRepository, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ForgeFedRepository{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Repository" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Repository", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Repository" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Repository") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeForksPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedForks = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "forks" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// ForgeFedRepositoryExtends returns true if the Repository type extends from the +// other type. +func ForgeFedRepositoryExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsRepository returns true if the other provided type is the Repository +// type or extends from the Repository type. +func IsOrExtendsRepository(other vocab.Type) bool { + if other.GetTypeName() == "Repository" { + return true + } + return RepositoryIsExtendedBy(other) +} + +// NewForgeFedRepository creates a new Repository type +func NewForgeFedRepository() *ForgeFedRepository { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Repository") + return &ForgeFedRepository{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// RepositoryIsDisjointWith returns true if the other provided type is disjoint +// with the Repository type. +func RepositoryIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// RepositoryIsExtendedBy returns true if the other provided type extends from the +// Repository type. Note that it returns false if the types are the same; see +// the "IsOrExtendsRepository" variant instead. +func RepositoryIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ForgeFedRepository) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ForgeFedRepository) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedForks returns the "forks" property if it exists, and nil otherwise. +func (this ForgeFedRepository) GetForgeFedForks() vocab.ForgeFedForksProperty { + return this.ForgeFedForks +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ForgeFedRepository) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ForgeFedRepository) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ForgeFedRepository) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ForgeFedRepository) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ForgeFedRepository) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ForgeFedRepository) GetTypeName() string { + return "Repository" +} + +// GetUnknownProperties returns the unknown properties for the Repository type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ForgeFedRepository) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Repository type extends from the other type. +func (this ForgeFedRepository) IsExtending(other vocab.Type) bool { + return ForgeFedRepositoryExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ForgeFedRepository) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ForgeFedForks, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Repository is lesser, with an arbitrary but stable +// determination. +func (this ForgeFedRepository) LessThan(o vocab.ForgeFedRepository) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "forks" + if lhs, rhs := this.ForgeFedForks, o.GetForgeFedForks(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ForgeFedRepository) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Repository" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Repository" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "forks" + if this.ForgeFedForks != nil { + if i, err := this.ForgeFedForks.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedForks.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ForgeFedRepository) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ForgeFedRepository) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ForgeFedRepository) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ForgeFedRepository) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ForgeFedRepository) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ForgeFedRepository) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ForgeFedRepository) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ForgeFedRepository) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ForgeFedRepository) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ForgeFedRepository) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ForgeFedRepository) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ForgeFedRepository) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ForgeFedRepository) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ForgeFedRepository) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ForgeFedRepository) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ForgeFedRepository) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ForgeFedRepository) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ForgeFedRepository) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ForgeFedRepository) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ForgeFedRepository) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ForgeFedRepository) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ForgeFedRepository) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ForgeFedRepository) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ForgeFedRepository) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ForgeFedRepository) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ForgeFedRepository) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ForgeFedRepository) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ForgeFedRepository) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ForgeFedRepository) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ForgeFedRepository) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ForgeFedRepository) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedForks sets the "forks" property. +func (this *ForgeFedRepository) SetForgeFedForks(i vocab.ForgeFedForksProperty) { + this.ForgeFedForks = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ForgeFedRepository) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ForgeFedRepository) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ForgeFedRepository) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ForgeFedRepository) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ForgeFedRepository) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ForgeFedRepository) VocabularyURI() string { + return "https://forgefed.peers.community/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ForgeFedRepository) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_doc.go new file mode 100644 index 000000000..3268d6d09 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeticket contains the implementation for the Ticket type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeticket diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_pkg.go new file mode 100644 index 000000000..1c57f8bde --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_pkg.go @@ -0,0 +1,211 @@ +// Code generated by astool. DO NOT EDIT. + +package typeticket + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAssignedToPropertyForgeFed returns the deserialization + // method for the "ForgeFedAssignedToProperty" non-functional property + // in the vocabulary "ForgeFed" + DeserializeAssignedToPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedAssignedToProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDependantsPropertyForgeFed returns the deserialization + // method for the "ForgeFedDependantsProperty" non-functional property + // in the vocabulary "ForgeFed" + DeserializeDependantsPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDependantsProperty, error) + // DeserializeDependedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedDependedByProperty" non-functional property + // in the vocabulary "ForgeFed" + DeserializeDependedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDependedByProperty, error) + // DeserializeDependenciesPropertyForgeFed returns the deserialization + // method for the "ForgeFedDependenciesProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeDependenciesPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDependenciesProperty, error) + // DeserializeDependsOnPropertyForgeFed returns the deserialization method + // for the "ForgeFedDependsOnProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeDependsOnPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedDependsOnProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeIsResolvedPropertyForgeFed returns the deserialization + // method for the "ForgeFedIsResolvedProperty" non-functional property + // in the vocabulary "ForgeFed" + DeserializeIsResolvedPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedIsResolvedProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_type_forgefed_ticket.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_type_forgefed_ticket.go new file mode 100644 index 000000000..a2902dabc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticket/gen_type_forgefed_ticket.go @@ -0,0 +1,1998 @@ +// Code generated by astool. DO NOT EDIT. + +package typeticket + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents an item that requires work or attention. Tickets exist in the +// context of a project (which may or may not be a version-control +// repository), and are used to track ideas, proposals, tasks, bugs and more. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "assignedTo": "https://example.dev/alice", +// "attributedTo": "https://dev.community/bob", +// "content": "\u003cp\u003ePlease fix. +// \u003ci\u003eEverything\u003c/i\u003e is broken!\u003c/p\u003e", +// "context": "https://example.dev/alice/myrepo", +// "id": "https://example.dev/alice/myrepo/issues/42", +// "isResolved": false, +// "mediaType": "text/html", +// "source": { +// "content": "Please fix. *Everything* is broken!", +// "mediaType": "text/markdown; variant=CommonMark" +// }, +// "summary": "Nothing works!", +// "type": "Ticket" +// } +type ForgeFedTicket struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ForgeFedAssignedTo vocab.ForgeFedAssignedToProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ForgeFedDependants vocab.ForgeFedDependantsProperty + ForgeFedDependedBy vocab.ForgeFedDependedByProperty + ForgeFedDependencies vocab.ForgeFedDependenciesProperty + ForgeFedDependsOn vocab.ForgeFedDependsOnProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ForgeFedIsResolved vocab.ForgeFedIsResolvedProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// DeserializeTicket creates a Ticket from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeTicket(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedTicket, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ForgeFedTicket{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Ticket" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Ticket", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Ticket" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Ticket") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAssignedToPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedAssignedTo = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDependantsPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedDependants = p + } + if p, err := mgr.DeserializeDependedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedDependedBy = p + } + if p, err := mgr.DeserializeDependenciesPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedDependencies = p + } + if p, err := mgr.DeserializeDependsOnPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedDependsOn = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeIsResolvedPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedIsResolved = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "assignedTo" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "dependants" { + continue + } else if k == "dependedBy" { + continue + } else if k == "dependencies" { + continue + } else if k == "dependsOn" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "isResolved" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// ForgeFedTicketExtends returns true if the Ticket type extends from the other +// type. +func ForgeFedTicketExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsTicket returns true if the other provided type is the Ticket type or +// extends from the Ticket type. +func IsOrExtendsTicket(other vocab.Type) bool { + if other.GetTypeName() == "Ticket" { + return true + } + return TicketIsExtendedBy(other) +} + +// NewForgeFedTicket creates a new Ticket type +func NewForgeFedTicket() *ForgeFedTicket { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Ticket") + return &ForgeFedTicket{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TicketIsDisjointWith returns true if the other provided type is disjoint with +// the Ticket type. +func TicketIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// TicketIsExtendedBy returns true if the other provided type extends from the +// Ticket type. Note that it returns false if the types are the same; see the +// "IsOrExtendsTicket" variant instead. +func TicketIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ForgeFedTicket) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedAssignedTo returns the "assignedTo" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetForgeFedAssignedTo() vocab.ForgeFedAssignedToProperty { + return this.ForgeFedAssignedTo +} + +// GetForgeFedDependants returns the "dependants" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetForgeFedDependants() vocab.ForgeFedDependantsProperty { + return this.ForgeFedDependants +} + +// GetForgeFedDependedBy returns the "dependedBy" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetForgeFedDependedBy() vocab.ForgeFedDependedByProperty { + return this.ForgeFedDependedBy +} + +// GetForgeFedDependencies returns the "dependencies" property if it exists, and +// nil otherwise. +func (this ForgeFedTicket) GetForgeFedDependencies() vocab.ForgeFedDependenciesProperty { + return this.ForgeFedDependencies +} + +// GetForgeFedDependsOn returns the "dependsOn" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetForgeFedDependsOn() vocab.ForgeFedDependsOnProperty { + return this.ForgeFedDependsOn +} + +// GetForgeFedIsResolved returns the "isResolved" property if it exists, and nil +// otherwise. +func (this ForgeFedTicket) GetForgeFedIsResolved() vocab.ForgeFedIsResolvedProperty { + return this.ForgeFedIsResolved +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ForgeFedTicket) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ForgeFedTicket) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ForgeFedTicket) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ForgeFedTicket) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ForgeFedTicket) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ForgeFedTicket) GetTypeName() string { + return "Ticket" +} + +// GetUnknownProperties returns the unknown properties for the Ticket type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ForgeFedTicket) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Ticket type extends from the other type. +func (this ForgeFedTicket) IsExtending(other vocab.Type) bool { + return ForgeFedTicketExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ForgeFedTicket) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ForgeFedAssignedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ForgeFedDependants, m) + m = this.helperJSONLDContext(this.ForgeFedDependedBy, m) + m = this.helperJSONLDContext(this.ForgeFedDependencies, m) + m = this.helperJSONLDContext(this.ForgeFedDependsOn, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ForgeFedIsResolved, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Ticket is lesser, with an arbitrary but stable +// determination. +func (this ForgeFedTicket) LessThan(o vocab.ForgeFedTicket) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "assignedTo" + if lhs, rhs := this.ForgeFedAssignedTo, o.GetForgeFedAssignedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "dependants" + if lhs, rhs := this.ForgeFedDependants, o.GetForgeFedDependants(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "dependedBy" + if lhs, rhs := this.ForgeFedDependedBy, o.GetForgeFedDependedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "dependencies" + if lhs, rhs := this.ForgeFedDependencies, o.GetForgeFedDependencies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "dependsOn" + if lhs, rhs := this.ForgeFedDependsOn, o.GetForgeFedDependsOn(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "isResolved" + if lhs, rhs := this.ForgeFedIsResolved, o.GetForgeFedIsResolved(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ForgeFedTicket) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Ticket" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Ticket" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "assignedTo" + if this.ForgeFedAssignedTo != nil { + if i, err := this.ForgeFedAssignedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedAssignedTo.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "dependants" + if this.ForgeFedDependants != nil { + if i, err := this.ForgeFedDependants.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedDependants.Name()] = i + } + } + // Maybe serialize property "dependedBy" + if this.ForgeFedDependedBy != nil { + if i, err := this.ForgeFedDependedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedDependedBy.Name()] = i + } + } + // Maybe serialize property "dependencies" + if this.ForgeFedDependencies != nil { + if i, err := this.ForgeFedDependencies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedDependencies.Name()] = i + } + } + // Maybe serialize property "dependsOn" + if this.ForgeFedDependsOn != nil { + if i, err := this.ForgeFedDependsOn.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedDependsOn.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "isResolved" + if this.ForgeFedIsResolved != nil { + if i, err := this.ForgeFedIsResolved.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedIsResolved.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ForgeFedTicket) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ForgeFedTicket) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ForgeFedTicket) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ForgeFedTicket) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ForgeFedTicket) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ForgeFedTicket) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ForgeFedTicket) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ForgeFedTicket) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ForgeFedTicket) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ForgeFedTicket) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ForgeFedTicket) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ForgeFedTicket) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ForgeFedTicket) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ForgeFedTicket) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ForgeFedTicket) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ForgeFedTicket) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ForgeFedTicket) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ForgeFedTicket) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ForgeFedTicket) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ForgeFedTicket) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ForgeFedTicket) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ForgeFedTicket) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ForgeFedTicket) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ForgeFedTicket) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ForgeFedTicket) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ForgeFedTicket) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ForgeFedTicket) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ForgeFedTicket) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ForgeFedTicket) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ForgeFedTicket) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ForgeFedTicket) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedAssignedTo sets the "assignedTo" property. +func (this *ForgeFedTicket) SetForgeFedAssignedTo(i vocab.ForgeFedAssignedToProperty) { + this.ForgeFedAssignedTo = i +} + +// SetForgeFedDependants sets the "dependants" property. +func (this *ForgeFedTicket) SetForgeFedDependants(i vocab.ForgeFedDependantsProperty) { + this.ForgeFedDependants = i +} + +// SetForgeFedDependedBy sets the "dependedBy" property. +func (this *ForgeFedTicket) SetForgeFedDependedBy(i vocab.ForgeFedDependedByProperty) { + this.ForgeFedDependedBy = i +} + +// SetForgeFedDependencies sets the "dependencies" property. +func (this *ForgeFedTicket) SetForgeFedDependencies(i vocab.ForgeFedDependenciesProperty) { + this.ForgeFedDependencies = i +} + +// SetForgeFedDependsOn sets the "dependsOn" property. +func (this *ForgeFedTicket) SetForgeFedDependsOn(i vocab.ForgeFedDependsOnProperty) { + this.ForgeFedDependsOn = i +} + +// SetForgeFedIsResolved sets the "isResolved" property. +func (this *ForgeFedTicket) SetForgeFedIsResolved(i vocab.ForgeFedIsResolvedProperty) { + this.ForgeFedIsResolved = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ForgeFedTicket) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ForgeFedTicket) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ForgeFedTicket) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ForgeFedTicket) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ForgeFedTicket) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ForgeFedTicket) VocabularyURI() string { + return "https://forgefed.peers.community/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ForgeFedTicket) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_doc.go new file mode 100644 index 000000000..90610f71b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeticketdependency contains the implementation for the +// TicketDependency type. All applications are strongly encouraged to use the +// interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeticketdependency diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_pkg.go new file mode 100644 index 000000000..f3f8ba68c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_pkg.go @@ -0,0 +1,196 @@ +// Code generated by astool. DO NOT EDIT. + +package typeticketdependency + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRelationshipPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsRelationshipProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeRelationshipPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelationshipProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSubjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSubjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSubjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSubjectProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_type_forgefed_ticketdependency.go b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_type_forgefed_ticketdependency.go new file mode 100644 index 000000000..f65ea4394 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency/gen_type_forgefed_ticketdependency.go @@ -0,0 +1,1829 @@ +// Code generated by astool. DO NOT EDIT. + +package typeticketdependency + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// Represents a relationship between 2 Tickets, in which the resolution of one +// ticket requires the other ticket to be resolved too. It MUST specify the +// subject, object and relationship properties, and the relationship property +// MUST be dependsOn. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "attributedTo": "https://example.dev/alice", +// "id": "https://example.dev/ticket-deps/2342593", +// "object": "https://dev.community/bob/coolproj/issues/85", +// "published": "2019-07-11T12:34:56Z", +// "relationship": "dependsOn", +// "subject": "https://example.dev/alice/myproj/issues/42", +// "summary": "Alice's ticket depends on Bob's ticket", +// "type": [ +// "Relationship", +// "TicketDependency" +// ] +// } +type ForgeFedTicketDependency struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsRelationship vocab.ActivityStreamsRelationshipProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSubject vocab.ActivityStreamsSubjectProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// DeserializeTicketDependency creates a TicketDependency from a map +// representation that has been unmarshalled from a text or binary format. +func DeserializeTicketDependency(m map[string]interface{}, aliasMap map[string]string) (*ForgeFedTicketDependency, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["https://forgefed.peers.community/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &ForgeFedTicketDependency{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "TicketDependency" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "TicketDependency", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "TicketDependency" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "TicketDependency") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRelationshipPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsRelationship = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSubjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSubject = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "relationship" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "subject" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// ForgeFedTicketDependencyExtends returns true if the TicketDependency type +// extends from the other type. +func ForgeFedTicketDependencyExtends(other vocab.Type) bool { + extensions := []string{"Object", "Relationship"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// IsOrExtendsTicketDependency returns true if the other provided type is the +// TicketDependency type or extends from the TicketDependency type. +func IsOrExtendsTicketDependency(other vocab.Type) bool { + if other.GetTypeName() == "TicketDependency" { + return true + } + return TicketDependencyIsExtendedBy(other) +} + +// NewForgeFedTicketDependency creates a new TicketDependency type +func NewForgeFedTicketDependency() *ForgeFedTicketDependency { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("TicketDependency") + return &ForgeFedTicketDependency{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TicketDependencyIsDisjointWith returns true if the other provided type is +// disjoint with the TicketDependency type. +func TicketDependencyIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// TicketDependencyIsExtendedBy returns true if the other provided type extends +// from the TicketDependency type. Note that it returns false if the types are +// the same; see the "IsOrExtendsTicketDependency" variant instead. +func TicketDependencyIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsRelationship returns the "relationship" property if it +// exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsRelationship() vocab.ActivityStreamsRelationshipProperty { + return this.ActivityStreamsRelationship +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSubject returns the "subject" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsSubject() vocab.ActivityStreamsSubjectProperty { + return this.ActivityStreamsSubject +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this ForgeFedTicketDependency) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this ForgeFedTicketDependency) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this ForgeFedTicketDependency) GetTypeName() string { + return "TicketDependency" +} + +// GetUnknownProperties returns the unknown properties for the TicketDependency +// type. Note that this should not be used by app developers. It is only used +// to help determine which implementation is LessThan the other. Developers +// who are creating a different implementation of this type's interface can +// use this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this ForgeFedTicketDependency) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the TicketDependency type extends from the other +// type. +func (this ForgeFedTicketDependency) IsExtending(other vocab.Type) bool { + return ForgeFedTicketDependencyExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this ForgeFedTicketDependency) JSONLDContext() map[string]string { + m := map[string]string{"https://forgefed.peers.community/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsRelationship, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSubject, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this TicketDependency is lesser, with an arbitrary but +// stable determination. +func (this ForgeFedTicketDependency) LessThan(o vocab.ForgeFedTicketDependency) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "relationship" + if lhs, rhs := this.ActivityStreamsRelationship, o.GetActivityStreamsRelationship(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "subject" + if lhs, rhs := this.ActivityStreamsSubject, o.GetActivityStreamsSubject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this ForgeFedTicketDependency) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "TicketDependency" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "TicketDependency" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "relationship" + if this.ActivityStreamsRelationship != nil { + if i, err := this.ActivityStreamsRelationship.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsRelationship.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "subject" + if this.ActivityStreamsSubject != nil { + if i, err := this.ActivityStreamsSubject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSubject.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsRelationship sets the "relationship" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsRelationship(i vocab.ActivityStreamsRelationshipProperty) { + this.ActivityStreamsRelationship = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSubject sets the "subject" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsSubject(i vocab.ActivityStreamsSubjectProperty) { + this.ActivityStreamsSubject = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *ForgeFedTicketDependency) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *ForgeFedTicketDependency) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *ForgeFedTicketDependency) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *ForgeFedTicketDependency) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *ForgeFedTicketDependency) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *ForgeFedTicketDependency) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this ForgeFedTicketDependency) VocabularyURI() string { + return "https://forgefed.peers.community/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this ForgeFedTicketDependency) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_doc.go new file mode 100644 index 000000000..cbf49e1ed --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyid contains the implementation for the id property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyid diff --git a/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_pkg.go new file mode 100644 index 000000000..9ced09401 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyid + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_property_jsonld_id.go b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_property_jsonld_id.go new file mode 100644 index 000000000..067c42ae6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_id/gen_property_jsonld_id.go @@ -0,0 +1,179 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyid + +import ( + "fmt" + anyuri "github.com/go-fed/activity/streams/values/anyURI" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// JSONLDIdProperty is the functional property "id". It is permitted to be a +// single nilable value type. +type JSONLDIdProperty struct { + xmlschemaAnyURIMember *url.URL + unknown interface{} + alias string +} + +// DeserializeIdProperty creates a "id" property from an interface representation +// that has been unmarshalled from a text or binary format. +func DeserializeIdProperty(m map[string]interface{}, aliasMap map[string]string) (*JSONLDIdProperty, error) { + alias := "" + + propName := "id" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "id") + } + i, ok := m[propName] + + if ok { + if v, err := anyuri.DeserializeAnyURI(i); err == nil { + this := &JSONLDIdProperty{ + alias: alias, + xmlschemaAnyURIMember: v, + } + return this, nil + } + this := &JSONLDIdProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewJSONLDIdProperty creates a new id property. +func NewJSONLDIdProperty() *JSONLDIdProperty { + return &JSONLDIdProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaAnyURI +// afterwards will return false. +func (this *JSONLDIdProperty) Clear() { + this.unknown = nil + this.xmlschemaAnyURIMember = nil +} + +// Get returns the value of this property. When IsXMLSchemaAnyURI returns false, +// Get will return any arbitrary value. +func (this JSONLDIdProperty) Get() *url.URL { + return this.xmlschemaAnyURIMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this JSONLDIdProperty) GetIRI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// HasAny returns true if the value or IRI is set. +func (this JSONLDIdProperty) HasAny() bool { + return this.IsXMLSchemaAnyURI() +} + +// IsIRI returns true if this property is an IRI. +func (this JSONLDIdProperty) IsIRI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// IsXMLSchemaAnyURI returns true if this property is set and not an IRI. +func (this JSONLDIdProperty) IsXMLSchemaAnyURI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this JSONLDIdProperty) JSONLDContext() map[string]string { + var m map[string]string + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this JSONLDIdProperty) KindIndex() int { + if this.IsXMLSchemaAnyURI() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this JSONLDIdProperty) LessThan(o vocab.JSONLDIdProperty) bool { + if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaAnyURI() && !o.IsXMLSchemaAnyURI() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaAnyURI() && !o.IsXMLSchemaAnyURI() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaAnyURI() && o.IsXMLSchemaAnyURI() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return anyuri.LessAnyURI(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "id". +func (this JSONLDIdProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "id" + } else { + return "id" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this JSONLDIdProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaAnyURI() { + return anyuri.SerializeAnyURI(this.Get()) + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaAnyURI afterwards will +// return true. +func (this *JSONLDIdProperty) Set(v *url.URL) { + this.Clear() + this.xmlschemaAnyURIMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *JSONLDIdProperty) SetIRI(v *url.URL) { + this.Clear() + this.Set(v) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_doc.go new file mode 100644 index 000000000..64bb97ac5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertytype contains the implementation for the type property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertytype diff --git a/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_pkg.go new file mode 100644 index 000000000..2dd73489a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytype + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_property_jsonld_type.go b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_property_jsonld_type.go new file mode 100644 index 000000000..480d26a88 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/jsonld/property_type/gen_property_jsonld_type.go @@ -0,0 +1,596 @@ +// Code generated by astool. DO NOT EDIT. + +package propertytype + +import ( + "fmt" + anyuri "github.com/go-fed/activity/streams/values/anyURI" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// JSONLDTypePropertyIterator is an iterator for a property. It is permitted to be +// one of multiple value types. At most, one type of value can be present, or +// none at all. Setting a value will clear the other types of values so that +// only one of the 'Is' methods will return true. It is possible to clear all +// values, so that this property is empty. +type JSONLDTypePropertyIterator struct { + xmlschemaAnyURIMember *url.URL + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + alias string + myIdx int + parent vocab.JSONLDTypeProperty +} + +// NewJSONLDTypePropertyIterator creates a new JSONLDType property. +func NewJSONLDTypePropertyIterator() *JSONLDTypePropertyIterator { + return &JSONLDTypePropertyIterator{alias: ""} +} + +// deserializeJSONLDTypePropertyIterator creates an iterator from an element that +// has been unmarshalled from a text or binary format. +func deserializeJSONLDTypePropertyIterator(i interface{}, aliasMap map[string]string) (*JSONLDTypePropertyIterator, error) { + alias := "" + + if v, err := anyuri.DeserializeAnyURI(i); err == nil { + this := &JSONLDTypePropertyIterator{ + alias: alias, + xmlschemaAnyURIMember: v, + } + return this, nil + } else if v, err := string1.DeserializeString(i); err == nil { + this := &JSONLDTypePropertyIterator{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &JSONLDTypePropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this JSONLDTypePropertyIterator) GetIRI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// GetXMLSchemaAnyURI returns the value of this property. When IsXMLSchemaAnyURI +// returns false, GetXMLSchemaAnyURI will return an arbitrary value. +func (this JSONLDTypePropertyIterator) GetXMLSchemaAnyURI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// GetXMLSchemaString returns the value of this property. When IsXMLSchemaString +// returns false, GetXMLSchemaString will return an arbitrary value. +func (this JSONLDTypePropertyIterator) GetXMLSchemaString() string { + return this.xmlschemaStringMember +} + +// HasAny returns true if any of the different values is set. +func (this JSONLDTypePropertyIterator) HasAny() bool { + return this.IsXMLSchemaAnyURI() || + this.IsXMLSchemaString() +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this JSONLDTypePropertyIterator) IsIRI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// IsXMLSchemaAnyURI returns true if this property has a type of "anyURI". When +// true, use the GetXMLSchemaAnyURI and SetXMLSchemaAnyURI methods to access +// and set this property. +func (this JSONLDTypePropertyIterator) IsXMLSchemaAnyURI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// IsXMLSchemaString returns true if this property has a type of "string". When +// true, use the GetXMLSchemaString and SetXMLSchemaString methods to access +// and set this property. +func (this JSONLDTypePropertyIterator) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this JSONLDTypePropertyIterator) JSONLDContext() map[string]string { + var m map[string]string + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this JSONLDTypePropertyIterator) KindIndex() int { + if this.IsXMLSchemaAnyURI() { + return 0 + } + if this.IsXMLSchemaString() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this JSONLDTypePropertyIterator) LessThan(o vocab.JSONLDTypePropertyIterator) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsXMLSchemaAnyURI() { + return anyuri.LessAnyURI(this.GetXMLSchemaAnyURI(), o.GetXMLSchemaAnyURI()) + } else if this.IsXMLSchemaString() { + return string1.LessString(this.GetXMLSchemaString(), o.GetXMLSchemaString()) + } + return false +} + +// Name returns the name of this property: "JSONLDType". +func (this JSONLDTypePropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "JSONLDType" + } else { + return "JSONLDType" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this JSONLDTypePropertyIterator) Next() vocab.JSONLDTypePropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this JSONLDTypePropertyIterator) Prev() vocab.JSONLDTypePropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *JSONLDTypePropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.SetXMLSchemaAnyURI(v) +} + +// SetXMLSchemaAnyURI sets the value of this property. Calling IsXMLSchemaAnyURI +// afterwards returns true. +func (this *JSONLDTypePropertyIterator) SetXMLSchemaAnyURI(v *url.URL) { + this.clear() + this.xmlschemaAnyURIMember = v +} + +// SetXMLSchemaString sets the value of this property. Calling IsXMLSchemaString +// afterwards returns true. +func (this *JSONLDTypePropertyIterator) SetXMLSchemaString(v string) { + this.clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *JSONLDTypePropertyIterator) clear() { + this.xmlschemaAnyURIMember = nil + this.hasStringMember = false + this.unknown = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this JSONLDTypePropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaAnyURI() { + return anyuri.SerializeAnyURI(this.GetXMLSchemaAnyURI()) + } else if this.IsXMLSchemaString() { + return string1.SerializeString(this.GetXMLSchemaString()) + } + return this.unknown, nil +} + +// JSONLDTypeProperty is the non-functional property "type". It is permitted to +// have one or more values, and of different value types. +type JSONLDTypeProperty struct { + properties []*JSONLDTypePropertyIterator + alias string +} + +// DeserializeTypeProperty creates a "type" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeTypeProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.JSONLDTypeProperty, error) { + alias := "" + + propName := "type" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "type") + } + i, ok := m[propName] + + if ok { + this := &JSONLDTypeProperty{ + alias: alias, + properties: []*JSONLDTypePropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeJSONLDTypePropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeJSONLDTypePropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewJSONLDTypeProperty creates a new type property. +func NewJSONLDTypeProperty() *JSONLDTypeProperty { + return &JSONLDTypeProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property "type" +func (this *JSONLDTypeProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &JSONLDTypePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + xmlschemaAnyURIMember: v, + }) +} + +// AppendXMLSchemaAnyURI appends a anyURI value to the back of a list of the +// property "type". Invalidates iterators that are traversing using Prev. +func (this *JSONLDTypeProperty) AppendXMLSchemaAnyURI(v *url.URL) { + this.properties = append(this.properties, &JSONLDTypePropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + xmlschemaAnyURIMember: v, + }) +} + +// AppendXMLSchemaString appends a string value to the back of a list of the +// property "type". Invalidates iterators that are traversing using Prev. +func (this *JSONLDTypeProperty) AppendXMLSchemaString(v string) { + this.properties = append(this.properties, &JSONLDTypePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaStringMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this JSONLDTypeProperty) At(index int) vocab.JSONLDTypePropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this JSONLDTypeProperty) Begin() vocab.JSONLDTypePropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this JSONLDTypeProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this JSONLDTypeProperty) End() vocab.JSONLDTypePropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property "type". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *JSONLDTypeProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &JSONLDTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + xmlschemaAnyURIMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaAnyURI inserts a anyURI value at the specified index for a +// property "type". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *JSONLDTypeProperty) InsertXMLSchemaAnyURI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &JSONLDTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + xmlschemaAnyURIMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaString inserts a string value at the specified index for a +// property "type". Existing elements at that index and higher are shifted +// back once. Invalidates all iterators. +func (this *JSONLDTypeProperty) InsertXMLSchemaString(idx int, v string) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &JSONLDTypePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this JSONLDTypeProperty) JSONLDContext() map[string]string { + var m map[string]string + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this JSONLDTypeProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "type" property. +func (this JSONLDTypeProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this JSONLDTypeProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].GetXMLSchemaAnyURI() + rhs := this.properties[j].GetXMLSchemaAnyURI() + return anyuri.LessAnyURI(lhs, rhs) + } else if idx1 == 1 { + lhs := this.properties[i].GetXMLSchemaString() + rhs := this.properties[j].GetXMLSchemaString() + return string1.LessString(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this JSONLDTypeProperty) LessThan(o vocab.JSONLDTypeProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("type") with any alias. +func (this JSONLDTypeProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "type" + } else { + return "type" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property "type". +func (this *JSONLDTypeProperty) PrependIRI(v *url.URL) { + this.properties = append([]*JSONLDTypePropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + xmlschemaAnyURIMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaAnyURI prepends a anyURI value to the front of a list of the +// property "type". Invalidates all iterators. +func (this *JSONLDTypeProperty) PrependXMLSchemaAnyURI(v *url.URL) { + this.properties = append([]*JSONLDTypePropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + xmlschemaAnyURIMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaString prepends a string value to the front of a list of the +// property "type". Invalidates all iterators. +func (this *JSONLDTypeProperty) PrependXMLSchemaString(v string) { + this.properties = append([]*JSONLDTypePropertyIterator{{ + alias: this.alias, + hasStringMember: true, + myIdx: 0, + parent: this, + xmlschemaStringMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "type", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *JSONLDTypeProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &JSONLDTypePropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this JSONLDTypeProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// SetIRI sets an IRI value to be at the specified index for the property "type". +// Panics if the index is out of bounds. +func (this *JSONLDTypeProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &JSONLDTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + xmlschemaAnyURIMember: v, + } +} + +// SetXMLSchemaAnyURI sets a anyURI value to be at the specified index for the +// property "type". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *JSONLDTypeProperty) SetXMLSchemaAnyURI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &JSONLDTypePropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + xmlschemaAnyURIMember: v, + } +} + +// SetXMLSchemaString sets a string value to be at the specified index for the +// property "type". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *JSONLDTypeProperty) SetXMLSchemaString(idx int, v string) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &JSONLDTypePropertyIterator{ + alias: this.alias, + hasStringMember: true, + myIdx: idx, + parent: this, + xmlschemaStringMember: v, + } +} + +// Swap swaps the location of values at two indices for the "type" property. +func (this JSONLDTypeProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_doc.go new file mode 100644 index 000000000..bb9d0432c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyblurhash contains the implementation for the blurhash property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyblurhash diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_pkg.go new file mode 100644 index 000000000..1eac1c4e8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyblurhash + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_property_toot_blurhash.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_property_toot_blurhash.go new file mode 100644 index 000000000..58293a889 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_blurhash/gen_property_toot_blurhash.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyblurhash + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// TootBlurhashProperty is the functional property "blurhash". It is permitted to +// be a single default-valued value type. +type TootBlurhashProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeBlurhashProperty creates a "blurhash" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeBlurhashProperty(m map[string]interface{}, aliasMap map[string]string) (*TootBlurhashProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "blurhash" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "blurhash") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootBlurhashProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &TootBlurhashProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &TootBlurhashProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootBlurhashProperty creates a new blurhash property. +func NewTootBlurhashProperty() *TootBlurhashProperty { + return &TootBlurhashProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *TootBlurhashProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this TootBlurhashProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootBlurhashProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootBlurhashProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootBlurhashProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this TootBlurhashProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootBlurhashProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootBlurhashProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootBlurhashProperty) LessThan(o vocab.TootBlurhashProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "blurhash". +func (this TootBlurhashProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "blurhash" + } else { + return "blurhash" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootBlurhashProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *TootBlurhashProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootBlurhashProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_doc.go new file mode 100644 index 000000000..768104ece --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydiscoverable contains the implementation for the discoverable +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydiscoverable diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_pkg.go new file mode 100644 index 000000000..bb9361723 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydiscoverable + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_property_toot_discoverable.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_property_toot_discoverable.go new file mode 100644 index 000000000..da66e6e21 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_discoverable/gen_property_toot_discoverable.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydiscoverable + +import ( + "fmt" + boolean "github.com/go-fed/activity/streams/values/boolean" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// TootDiscoverableProperty is the functional property "discoverable". It is +// permitted to be a single default-valued value type. +type TootDiscoverableProperty struct { + xmlschemaBooleanMember bool + hasBooleanMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeDiscoverableProperty creates a "discoverable" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeDiscoverableProperty(m map[string]interface{}, aliasMap map[string]string) (*TootDiscoverableProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "discoverable" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "discoverable") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootDiscoverableProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := boolean.DeserializeBoolean(i); err == nil { + this := &TootDiscoverableProperty{ + alias: alias, + hasBooleanMember: true, + xmlschemaBooleanMember: v, + } + return this, nil + } + this := &TootDiscoverableProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootDiscoverableProperty creates a new discoverable property. +func NewTootDiscoverableProperty() *TootDiscoverableProperty { + return &TootDiscoverableProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaBoolean +// afterwards will return false. +func (this *TootDiscoverableProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasBooleanMember = false +} + +// Get returns the value of this property. When IsXMLSchemaBoolean returns false, +// Get will return any arbitrary value. +func (this TootDiscoverableProperty) Get() bool { + return this.xmlschemaBooleanMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootDiscoverableProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootDiscoverableProperty) HasAny() bool { + return this.IsXMLSchemaBoolean() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootDiscoverableProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaBoolean returns true if this property is set and not an IRI. +func (this TootDiscoverableProperty) IsXMLSchemaBoolean() bool { + return this.hasBooleanMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootDiscoverableProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootDiscoverableProperty) KindIndex() int { + if this.IsXMLSchemaBoolean() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootDiscoverableProperty) LessThan(o vocab.TootDiscoverableProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaBoolean() && !o.IsXMLSchemaBoolean() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaBoolean() && !o.IsXMLSchemaBoolean() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaBoolean() && o.IsXMLSchemaBoolean() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return boolean.LessBoolean(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "discoverable". +func (this TootDiscoverableProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "discoverable" + } else { + return "discoverable" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootDiscoverableProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaBoolean() { + return boolean.SerializeBoolean(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaBoolean afterwards will +// return true. +func (this *TootDiscoverableProperty) Set(v bool) { + this.Clear() + this.xmlschemaBooleanMember = v + this.hasBooleanMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootDiscoverableProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_doc.go new file mode 100644 index 000000000..a1465f0c9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfeatured contains the implementation for the featured property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfeatured diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_pkg.go new file mode 100644 index 000000000..3cfcaa446 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_pkg.go @@ -0,0 +1,27 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfeatured + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_property_toot_featured.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_property_toot_featured.go new file mode 100644 index 000000000..dd1ea6011 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_featured/gen_property_toot_featured.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfeatured + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// TootFeaturedProperty is the functional property "featured". It is permitted to +// be one of multiple value types. At most, one type of value can be present, +// or none at all. Setting a value will clear the other types of values so +// that only one of the 'Is' methods will return true. It is possible to clear +// all values, so that this property is empty. +type TootFeaturedProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeFeaturedProperty creates a "featured" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeFeaturedProperty(m map[string]interface{}, aliasMap map[string]string) (*TootFeaturedProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "featured" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "featured") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootFeaturedProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &TootFeaturedProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &TootFeaturedProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &TootFeaturedProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootFeaturedProperty creates a new featured property. +func NewTootFeaturedProperty() *TootFeaturedProperty { + return &TootFeaturedProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *TootFeaturedProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this TootFeaturedProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this TootFeaturedProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this TootFeaturedProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this TootFeaturedProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this TootFeaturedProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this TootFeaturedProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this TootFeaturedProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this TootFeaturedProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootFeaturedProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootFeaturedProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootFeaturedProperty) LessThan(o vocab.TootFeaturedProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "featured". +func (this TootFeaturedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "featured" + } else { + return "featured" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootFeaturedProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *TootFeaturedProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *TootFeaturedProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *TootFeaturedProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *TootFeaturedProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on featured property: %T", t) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_doc.go new file mode 100644 index 000000000..d2293a47e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertysignaturealgorithm contains the implementation for the +// signatureAlgorithm property. All applications are strongly encouraged to +// use the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertysignaturealgorithm diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_pkg.go new file mode 100644 index 000000000..2ed0e281b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysignaturealgorithm + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_property_toot_signatureAlgorithm.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_property_toot_signatureAlgorithm.go new file mode 100644 index 000000000..cf01533f0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm/gen_property_toot_signatureAlgorithm.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysignaturealgorithm + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// TootSignatureAlgorithmProperty is the functional property "signatureAlgorithm". +// It is permitted to be a single default-valued value type. +type TootSignatureAlgorithmProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeSignatureAlgorithmProperty creates a "signatureAlgorithm" property +// from an interface representation that has been unmarshalled from a text or +// binary format. +func DeserializeSignatureAlgorithmProperty(m map[string]interface{}, aliasMap map[string]string) (*TootSignatureAlgorithmProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "signatureAlgorithm" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "signatureAlgorithm") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootSignatureAlgorithmProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &TootSignatureAlgorithmProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &TootSignatureAlgorithmProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootSignatureAlgorithmProperty creates a new signatureAlgorithm property. +func NewTootSignatureAlgorithmProperty() *TootSignatureAlgorithmProperty { + return &TootSignatureAlgorithmProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *TootSignatureAlgorithmProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this TootSignatureAlgorithmProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootSignatureAlgorithmProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootSignatureAlgorithmProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootSignatureAlgorithmProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this TootSignatureAlgorithmProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootSignatureAlgorithmProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootSignatureAlgorithmProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootSignatureAlgorithmProperty) LessThan(o vocab.TootSignatureAlgorithmProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "signatureAlgorithm". +func (this TootSignatureAlgorithmProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "signatureAlgorithm" + } else { + return "signatureAlgorithm" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootSignatureAlgorithmProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *TootSignatureAlgorithmProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootSignatureAlgorithmProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_doc.go new file mode 100644 index 000000000..668c4e8f3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertysignaturevalue contains the implementation for the +// signatureValue property. All applications are strongly encouraged to use +// the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertysignaturevalue diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_pkg.go new file mode 100644 index 000000000..540b6f1aa --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysignaturevalue + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_property_toot_signatureValue.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_property_toot_signatureValue.go new file mode 100644 index 000000000..5810d60d0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_signaturevalue/gen_property_toot_signatureValue.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysignaturevalue + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// TootSignatureValueProperty is the functional property "signatureValue". It is +// permitted to be a single default-valued value type. +type TootSignatureValueProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeSignatureValueProperty creates a "signatureValue" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeSignatureValueProperty(m map[string]interface{}, aliasMap map[string]string) (*TootSignatureValueProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "signatureValue" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "signatureValue") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootSignatureValueProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &TootSignatureValueProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &TootSignatureValueProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootSignatureValueProperty creates a new signatureValue property. +func NewTootSignatureValueProperty() *TootSignatureValueProperty { + return &TootSignatureValueProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *TootSignatureValueProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this TootSignatureValueProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootSignatureValueProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootSignatureValueProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootSignatureValueProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this TootSignatureValueProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootSignatureValueProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootSignatureValueProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootSignatureValueProperty) LessThan(o vocab.TootSignatureValueProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "signatureValue". +func (this TootSignatureValueProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "signatureValue" + } else { + return "signatureValue" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootSignatureValueProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *TootSignatureValueProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootSignatureValueProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_doc.go new file mode 100644 index 000000000..e2d1296b2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyvoterscount contains the implementation for the votersCount +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyvoterscount diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_pkg.go new file mode 100644 index 000000000..668695c06 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyvoterscount + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_property_toot_votersCount.go b/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_property_toot_votersCount.go new file mode 100644 index 000000000..01d2ddfaa --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/property_voterscount/gen_property_toot_votersCount.go @@ -0,0 +1,205 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyvoterscount + +import ( + "fmt" + nonnegativeinteger "github.com/go-fed/activity/streams/values/nonNegativeInteger" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// TootVotersCountProperty is the functional property "votersCount". It is +// permitted to be a single default-valued value type. +type TootVotersCountProperty struct { + xmlschemaNonNegativeIntegerMember int + hasNonNegativeIntegerMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeVotersCountProperty creates a "votersCount" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeVotersCountProperty(m map[string]interface{}, aliasMap map[string]string) (*TootVotersCountProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "votersCount" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "votersCount") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootVotersCountProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := nonnegativeinteger.DeserializeNonNegativeInteger(i); err == nil { + this := &TootVotersCountProperty{ + alias: alias, + hasNonNegativeIntegerMember: true, + xmlschemaNonNegativeIntegerMember: v, + } + return this, nil + } + this := &TootVotersCountProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootVotersCountProperty creates a new votersCount property. +func NewTootVotersCountProperty() *TootVotersCountProperty { + return &TootVotersCountProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling +// IsXMLSchemaNonNegativeInteger afterwards will return false. +func (this *TootVotersCountProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasNonNegativeIntegerMember = false +} + +// Get returns the value of this property. When IsXMLSchemaNonNegativeInteger +// returns false, Get will return any arbitrary value. +func (this TootVotersCountProperty) Get() int { + return this.xmlschemaNonNegativeIntegerMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootVotersCountProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootVotersCountProperty) HasAny() bool { + return this.IsXMLSchemaNonNegativeInteger() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootVotersCountProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaNonNegativeInteger returns true if this property is set and not an +// IRI. +func (this TootVotersCountProperty) IsXMLSchemaNonNegativeInteger() bool { + return this.hasNonNegativeIntegerMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootVotersCountProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootVotersCountProperty) KindIndex() int { + if this.IsXMLSchemaNonNegativeInteger() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootVotersCountProperty) LessThan(o vocab.TootVotersCountProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaNonNegativeInteger() && o.IsXMLSchemaNonNegativeInteger() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return nonnegativeinteger.LessNonNegativeInteger(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "votersCount". +func (this TootVotersCountProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "votersCount" + } else { + return "votersCount" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootVotersCountProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaNonNegativeInteger() { + return nonnegativeinteger.SerializeNonNegativeInteger(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaNonNegativeInteger +// afterwards will return true. +func (this *TootVotersCountProperty) Set(v int) { + this.Clear() + this.xmlschemaNonNegativeIntegerMember = v + this.hasNonNegativeIntegerMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootVotersCountProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_doc.go new file mode 100644 index 000000000..1fadb2fe0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeemoji contains the implementation for the Emoji type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeemoji diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_pkg.go new file mode 100644 index 000000000..560ec45e3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_pkg.go @@ -0,0 +1,187 @@ +// Code generated by astool. DO NOT EDIT. + +package typeemoji + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_type_toot_emoji.go b/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_type_toot_emoji.go new file mode 100644 index 000000000..c24b9fa5d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/type_emoji/gen_type_toot_emoji.go @@ -0,0 +1,1740 @@ +// Code generated by astool. DO NOT EDIT. + +package typeemoji + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// +// +// { +// "content": "Hello world :Kappa:", +// "id": "https://example.com/@alice/hello-world", +// "tag": [ +// { +// "icon": { +// "mediaType": "image/png", +// "type": "Image", +// "url": "https://example.com/files/kappa.png" +// }, +// "id": "https://example.com/emoji/123", +// "name": ":Kappa:", +// "type": "Emoji" +// } +// ], +// "type": "Note" +// } +type TootEmoji struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// DeserializeEmoji creates a Emoji from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeEmoji(m map[string]interface{}, aliasMap map[string]string) (*TootEmoji, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &TootEmoji{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Emoji" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Emoji", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Emoji" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Emoji") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// EmojiIsDisjointWith returns true if the other provided type is disjoint with +// the Emoji type. +func EmojiIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// EmojiIsExtendedBy returns true if the other provided type extends from the +// Emoji type. Note that it returns false if the types are the same; see the +// "IsOrExtendsEmoji" variant instead. +func EmojiIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsEmoji returns true if the other provided type is the Emoji type or +// extends from the Emoji type. +func IsOrExtendsEmoji(other vocab.Type) bool { + if other.GetTypeName() == "Emoji" { + return true + } + return EmojiIsExtendedBy(other) +} + +// NewTootEmoji creates a new Emoji type +func NewTootEmoji() *TootEmoji { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Emoji") + return &TootEmoji{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TootEmojiExtends returns true if the Emoji type extends from the other type. +func TootEmojiExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this TootEmoji) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this TootEmoji) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this TootEmoji) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this TootEmoji) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this TootEmoji) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this TootEmoji) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this TootEmoji) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this TootEmoji) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this TootEmoji) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this TootEmoji) GetTypeName() string { + return "Emoji" +} + +// GetUnknownProperties returns the unknown properties for the Emoji type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this TootEmoji) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Emoji type extends from the other type. +func (this TootEmoji) IsExtending(other vocab.Type) bool { + return TootEmojiExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this TootEmoji) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Emoji is lesser, with an arbitrary but stable +// determination. +func (this TootEmoji) LessThan(o vocab.TootEmoji) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this TootEmoji) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Emoji" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Emoji" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *TootEmoji) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *TootEmoji) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *TootEmoji) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *TootEmoji) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *TootEmoji) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *TootEmoji) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *TootEmoji) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *TootEmoji) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *TootEmoji) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *TootEmoji) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *TootEmoji) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *TootEmoji) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *TootEmoji) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *TootEmoji) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *TootEmoji) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *TootEmoji) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *TootEmoji) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *TootEmoji) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *TootEmoji) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *TootEmoji) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *TootEmoji) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *TootEmoji) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *TootEmoji) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *TootEmoji) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *TootEmoji) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *TootEmoji) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *TootEmoji) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *TootEmoji) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *TootEmoji) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *TootEmoji) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *TootEmoji) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *TootEmoji) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *TootEmoji) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *TootEmoji) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *TootEmoji) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *TootEmoji) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this TootEmoji) VocabularyURI() string { + return "http://joinmastodon.org/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this TootEmoji) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_doc.go new file mode 100644 index 000000000..a785de594 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeidentityproof contains the implementation for the IdentityProof +// type. All applications are strongly encouraged to use the interface instead +// of this concrete definition. The interfaces allow applications to consume +// only the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeidentityproof diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_pkg.go new file mode 100644 index 000000000..5e72ca466 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_pkg.go @@ -0,0 +1,195 @@ +// Code generated by astool. DO NOT EDIT. + +package typeidentityproof + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSignatureAlgorithmPropertyToot returns the deserialization + // method for the "TootSignatureAlgorithmProperty" non-functional + // property in the vocabulary "Toot" + DeserializeSignatureAlgorithmPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootSignatureAlgorithmProperty, error) + // DeserializeSignatureValuePropertyToot returns the deserialization + // method for the "TootSignatureValueProperty" non-functional property + // in the vocabulary "Toot" + DeserializeSignatureValuePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootSignatureValueProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeTeamPropertyForgeFed returns the deserialization method for + // the "ForgeFedTeamProperty" non-functional property in the + // vocabulary "ForgeFed" + DeserializeTeamPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTeamProperty, error) + // DeserializeTicketsTrackedByPropertyForgeFed returns the deserialization + // method for the "ForgeFedTicketsTrackedByProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTicketsTrackedByPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTicketsTrackedByProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTracksTicketsForPropertyForgeFed returns the deserialization + // method for the "ForgeFedTracksTicketsForProperty" non-functional + // property in the vocabulary "ForgeFed" + DeserializeTracksTicketsForPropertyForgeFed() func(map[string]interface{}, map[string]string) (vocab.ForgeFedTracksTicketsForProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_type_toot_identityproof.go b/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_type_toot_identityproof.go new file mode 100644 index 000000000..01e9d95ab --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/toot/type_identityproof/gen_type_toot_identityproof.go @@ -0,0 +1,1809 @@ +// Code generated by astool. DO NOT EDIT. + +package typeidentityproof + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "strings" +) + +// +// +// null +type TootIdentityProof struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + TootSignatureAlgorithm vocab.TootSignatureAlgorithmProperty + TootSignatureValue vocab.TootSignatureValueProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ForgeFedTeam vocab.ForgeFedTeamProperty + ForgeFedTicketsTrackedBy vocab.ForgeFedTicketsTrackedByProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + ForgeFedTracksTicketsFor vocab.ForgeFedTracksTicketsForProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// DeserializeIdentityProof creates a IdentityProof from a map representation that +// has been unmarshalled from a text or binary format. +func DeserializeIdentityProof(m map[string]interface{}, aliasMap map[string]string) (*TootIdentityProof, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &TootIdentityProof{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "IdentityProof" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "IdentityProof", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "IdentityProof" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "IdentityProof") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSignatureAlgorithmPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootSignatureAlgorithm = p + } + if p, err := mgr.DeserializeSignatureValuePropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootSignatureValue = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeTeamPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTeam = p + } + if p, err := mgr.DeserializeTicketsTrackedByPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTicketsTrackedBy = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTracksTicketsForPropertyForgeFed()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ForgeFedTracksTicketsFor = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "shares" { + continue + } else if k == "signatureAlgorithm" { + continue + } else if k == "signatureValue" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "team" { + continue + } else if k == "ticketsTrackedBy" { + continue + } else if k == "to" { + continue + } else if k == "tracksTicketsFor" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IdentityProofIsDisjointWith returns true if the other provided type is disjoint +// with the IdentityProof type. +func IdentityProofIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// IdentityProofIsExtendedBy returns true if the other provided type extends from +// the IdentityProof type. Note that it returns false if the types are the +// same; see the "IsOrExtendsIdentityProof" variant instead. +func IdentityProofIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsIdentityProof returns true if the other provided type is the +// IdentityProof type or extends from the IdentityProof type. +func IsOrExtendsIdentityProof(other vocab.Type) bool { + if other.GetTypeName() == "IdentityProof" { + return true + } + return IdentityProofIsExtendedBy(other) +} + +// NewTootIdentityProof creates a new IdentityProof type +func NewTootIdentityProof() *TootIdentityProof { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("IdentityProof") + return &TootIdentityProof{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TootIdentityProofExtends returns true if the IdentityProof type extends from +// the other type. +func TootIdentityProofExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this TootIdentityProof) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this TootIdentityProof) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetForgeFedTeam returns the "team" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetForgeFedTeam() vocab.ForgeFedTeamProperty { + return this.ForgeFedTeam +} + +// GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if it +// exists, and nil otherwise. +func (this TootIdentityProof) GetForgeFedTicketsTrackedBy() vocab.ForgeFedTicketsTrackedByProperty { + return this.ForgeFedTicketsTrackedBy +} + +// GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if it +// exists, and nil otherwise. +func (this TootIdentityProof) GetForgeFedTracksTicketsFor() vocab.ForgeFedTracksTicketsForProperty { + return this.ForgeFedTracksTicketsFor +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootSignatureAlgorithm returns the "signatureAlgorithm" property if it +// exists, and nil otherwise. +func (this TootIdentityProof) GetTootSignatureAlgorithm() vocab.TootSignatureAlgorithmProperty { + return this.TootSignatureAlgorithm +} + +// GetTootSignatureValue returns the "signatureValue" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetTootSignatureValue() vocab.TootSignatureValueProperty { + return this.TootSignatureValue +} + +// GetTypeName returns the name of this type. +func (this TootIdentityProof) GetTypeName() string { + return "IdentityProof" +} + +// GetUnknownProperties returns the unknown properties for the IdentityProof type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this TootIdentityProof) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the IdentityProof type extends from the other type. +func (this TootIdentityProof) IsExtending(other vocab.Type) bool { + return TootIdentityProofExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this TootIdentityProof) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.TootSignatureAlgorithm, m) + m = this.helperJSONLDContext(this.TootSignatureValue, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ForgeFedTeam, m) + m = this.helperJSONLDContext(this.ForgeFedTicketsTrackedBy, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.ForgeFedTracksTicketsFor, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this IdentityProof is lesser, with an arbitrary but stable +// determination. +func (this TootIdentityProof) LessThan(o vocab.TootIdentityProof) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "signatureAlgorithm" + if lhs, rhs := this.TootSignatureAlgorithm, o.GetTootSignatureAlgorithm(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "signatureValue" + if lhs, rhs := this.TootSignatureValue, o.GetTootSignatureValue(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "team" + if lhs, rhs := this.ForgeFedTeam, o.GetForgeFedTeam(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "ticketsTrackedBy" + if lhs, rhs := this.ForgeFedTicketsTrackedBy, o.GetForgeFedTicketsTrackedBy(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tracksTicketsFor" + if lhs, rhs := this.ForgeFedTracksTicketsFor, o.GetForgeFedTracksTicketsFor(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this TootIdentityProof) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "IdentityProof" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "IdentityProof" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "signatureAlgorithm" + if this.TootSignatureAlgorithm != nil { + if i, err := this.TootSignatureAlgorithm.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootSignatureAlgorithm.Name()] = i + } + } + // Maybe serialize property "signatureValue" + if this.TootSignatureValue != nil { + if i, err := this.TootSignatureValue.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootSignatureValue.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "team" + if this.ForgeFedTeam != nil { + if i, err := this.ForgeFedTeam.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTeam.Name()] = i + } + } + // Maybe serialize property "ticketsTrackedBy" + if this.ForgeFedTicketsTrackedBy != nil { + if i, err := this.ForgeFedTicketsTrackedBy.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTicketsTrackedBy.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "tracksTicketsFor" + if this.ForgeFedTracksTicketsFor != nil { + if i, err := this.ForgeFedTracksTicketsFor.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ForgeFedTracksTicketsFor.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *TootIdentityProof) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *TootIdentityProof) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *TootIdentityProof) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *TootIdentityProof) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *TootIdentityProof) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *TootIdentityProof) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *TootIdentityProof) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *TootIdentityProof) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *TootIdentityProof) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *TootIdentityProof) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *TootIdentityProof) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *TootIdentityProof) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *TootIdentityProof) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *TootIdentityProof) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *TootIdentityProof) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *TootIdentityProof) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *TootIdentityProof) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *TootIdentityProof) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *TootIdentityProof) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *TootIdentityProof) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *TootIdentityProof) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *TootIdentityProof) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *TootIdentityProof) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *TootIdentityProof) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *TootIdentityProof) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *TootIdentityProof) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *TootIdentityProof) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *TootIdentityProof) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *TootIdentityProof) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *TootIdentityProof) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *TootIdentityProof) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetForgeFedTeam sets the "team" property. +func (this *TootIdentityProof) SetForgeFedTeam(i vocab.ForgeFedTeamProperty) { + this.ForgeFedTeam = i +} + +// SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. +func (this *TootIdentityProof) SetForgeFedTicketsTrackedBy(i vocab.ForgeFedTicketsTrackedByProperty) { + this.ForgeFedTicketsTrackedBy = i +} + +// SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. +func (this *TootIdentityProof) SetForgeFedTracksTicketsFor(i vocab.ForgeFedTracksTicketsForProperty) { + this.ForgeFedTracksTicketsFor = i +} + +// SetJSONLDId sets the "id" property. +func (this *TootIdentityProof) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *TootIdentityProof) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootSignatureAlgorithm sets the "signatureAlgorithm" property. +func (this *TootIdentityProof) SetTootSignatureAlgorithm(i vocab.TootSignatureAlgorithmProperty) { + this.TootSignatureAlgorithm = i +} + +// SetTootSignatureValue sets the "signatureValue" property. +func (this *TootIdentityProof) SetTootSignatureValue(i vocab.TootSignatureValueProperty) { + this.TootSignatureValue = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this TootIdentityProof) VocabularyURI() string { + return "http://joinmastodon.org/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this TootIdentityProof) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_doc.go new file mode 100644 index 000000000..1c77bcd7f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyowner contains the implementation for the owner property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyowner diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_pkg.go new file mode 100644 index 000000000..3a38a9b85 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyowner + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_property_w3idsecurityv1_owner.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_property_w3idsecurityv1_owner.go new file mode 100644 index 000000000..c4a2bafb4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner/gen_property_w3idsecurityv1_owner.go @@ -0,0 +1,181 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyowner + +import ( + "fmt" + anyuri "github.com/go-fed/activity/streams/values/anyURI" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// W3IDSecurityV1OwnerProperty is the functional property "owner". It is permitted +// to be a single nilable value type. +type W3IDSecurityV1OwnerProperty struct { + xmlschemaAnyURIMember *url.URL + unknown interface{} + alias string +} + +// DeserializeOwnerProperty creates a "owner" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeOwnerProperty(m map[string]interface{}, aliasMap map[string]string) (*W3IDSecurityV1OwnerProperty, error) { + alias := "" + if a, ok := aliasMap["https://w3id.org/security/v1"]; ok { + alias = a + } + propName := "owner" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "owner") + } + i, ok := m[propName] + + if ok { + if v, err := anyuri.DeserializeAnyURI(i); err == nil { + this := &W3IDSecurityV1OwnerProperty{ + alias: alias, + xmlschemaAnyURIMember: v, + } + return this, nil + } + this := &W3IDSecurityV1OwnerProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewW3IDSecurityV1OwnerProperty creates a new owner property. +func NewW3IDSecurityV1OwnerProperty() *W3IDSecurityV1OwnerProperty { + return &W3IDSecurityV1OwnerProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaAnyURI +// afterwards will return false. +func (this *W3IDSecurityV1OwnerProperty) Clear() { + this.unknown = nil + this.xmlschemaAnyURIMember = nil +} + +// Get returns the value of this property. When IsXMLSchemaAnyURI returns false, +// Get will return any arbitrary value. +func (this W3IDSecurityV1OwnerProperty) Get() *url.URL { + return this.xmlschemaAnyURIMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this W3IDSecurityV1OwnerProperty) GetIRI() *url.URL { + return this.xmlschemaAnyURIMember +} + +// HasAny returns true if the value or IRI is set. +func (this W3IDSecurityV1OwnerProperty) HasAny() bool { + return this.IsXMLSchemaAnyURI() +} + +// IsIRI returns true if this property is an IRI. +func (this W3IDSecurityV1OwnerProperty) IsIRI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// IsXMLSchemaAnyURI returns true if this property is set and not an IRI. +func (this W3IDSecurityV1OwnerProperty) IsXMLSchemaAnyURI() bool { + return this.xmlschemaAnyURIMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this W3IDSecurityV1OwnerProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://w3id.org/security/v1": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this W3IDSecurityV1OwnerProperty) KindIndex() int { + if this.IsXMLSchemaAnyURI() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this W3IDSecurityV1OwnerProperty) LessThan(o vocab.W3IDSecurityV1OwnerProperty) bool { + if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaAnyURI() && !o.IsXMLSchemaAnyURI() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaAnyURI() && !o.IsXMLSchemaAnyURI() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaAnyURI() && o.IsXMLSchemaAnyURI() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return anyuri.LessAnyURI(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "owner". +func (this W3IDSecurityV1OwnerProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "owner" + } else { + return "owner" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this W3IDSecurityV1OwnerProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaAnyURI() { + return anyuri.SerializeAnyURI(this.Get()) + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaAnyURI afterwards will +// return true. +func (this *W3IDSecurityV1OwnerProperty) Set(v *url.URL) { + this.Clear() + this.xmlschemaAnyURIMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *W3IDSecurityV1OwnerProperty) SetIRI(v *url.URL) { + this.Clear() + this.Set(v) +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_doc.go new file mode 100644 index 000000000..59947096d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertypublickey contains the implementation for the publicKey +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertypublickey diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_pkg.go new file mode 100644 index 000000000..3ebfa0897 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_pkg.go @@ -0,0 +1,22 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypublickey + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializePublicKeyW3IDSecurityV1 returns the deserialization method + // for the "W3IDSecurityV1PublicKey" non-functional property in the + // vocabulary "W3IDSecurityV1" + DeserializePublicKeyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKey, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_property_w3idsecurityv1_publicKey.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_property_w3idsecurityv1_publicKey.go new file mode 100644 index 000000000..d88d7ac38 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey/gen_property_w3idsecurityv1_publicKey.go @@ -0,0 +1,621 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypublickey + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// W3IDSecurityV1PublicKeyPropertyIterator is an iterator for a property. It is +// permitted to be a single nilable value type. +type W3IDSecurityV1PublicKeyPropertyIterator struct { + w3idsecurityv1PublicKeyMember vocab.W3IDSecurityV1PublicKey + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.W3IDSecurityV1PublicKeyProperty +} + +// NewW3IDSecurityV1PublicKeyPropertyIterator creates a new +// W3IDSecurityV1PublicKey property. +func NewW3IDSecurityV1PublicKeyPropertyIterator() *W3IDSecurityV1PublicKeyPropertyIterator { + return &W3IDSecurityV1PublicKeyPropertyIterator{alias: ""} +} + +// deserializeW3IDSecurityV1PublicKeyPropertyIterator creates an iterator from an +// element that has been unmarshalled from a text or binary format. +func deserializeW3IDSecurityV1PublicKeyPropertyIterator(i interface{}, aliasMap map[string]string) (*W3IDSecurityV1PublicKeyPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["https://w3id.org/security/v1"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializePublicKeyW3IDSecurityV1()(m, aliasMap); err == nil { + this := &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: alias, + w3idsecurityv1PublicKeyMember: v, + } + return this, nil + } + } + this := &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// Get returns the value of this property. When IsW3IDSecurityV1PublicKey returns +// false, Get will return any arbitrary value. +func (this W3IDSecurityV1PublicKeyPropertyIterator) Get() vocab.W3IDSecurityV1PublicKey { + return this.w3idsecurityv1PublicKeyMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this W3IDSecurityV1PublicKeyPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this W3IDSecurityV1PublicKeyPropertyIterator) GetType() vocab.Type { + if this.IsW3IDSecurityV1PublicKey() { + return this.Get() + } + + return nil +} + +// HasAny returns true if the value or IRI is set. +func (this W3IDSecurityV1PublicKeyPropertyIterator) HasAny() bool { + return this.IsW3IDSecurityV1PublicKey() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this W3IDSecurityV1PublicKeyPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsW3IDSecurityV1PublicKey returns true if this property is set and not an IRI. +func (this W3IDSecurityV1PublicKeyPropertyIterator) IsW3IDSecurityV1PublicKey() bool { + return this.w3idsecurityv1PublicKeyMember != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this W3IDSecurityV1PublicKeyPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"https://w3id.org/security/v1": this.alias} + var child map[string]string + if this.IsW3IDSecurityV1PublicKey() { + child = this.Get().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this W3IDSecurityV1PublicKeyPropertyIterator) KindIndex() int { + if this.IsW3IDSecurityV1PublicKey() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this W3IDSecurityV1PublicKeyPropertyIterator) LessThan(o vocab.W3IDSecurityV1PublicKeyPropertyIterator) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsW3IDSecurityV1PublicKey() && !o.IsW3IDSecurityV1PublicKey() { + // Both are unknowns. + return false + } else if this.IsW3IDSecurityV1PublicKey() && !o.IsW3IDSecurityV1PublicKey() { + // Values are always greater than unknown values. + return false + } else if !this.IsW3IDSecurityV1PublicKey() && o.IsW3IDSecurityV1PublicKey() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return this.Get().LessThan(o.Get()) + } +} + +// Name returns the name of this property: "W3IDSecurityV1PublicKey". +func (this W3IDSecurityV1PublicKeyPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "W3IDSecurityV1PublicKey" + } else { + return "W3IDSecurityV1PublicKey" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this W3IDSecurityV1PublicKeyPropertyIterator) Next() vocab.W3IDSecurityV1PublicKeyPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this W3IDSecurityV1PublicKeyPropertyIterator) Prev() vocab.W3IDSecurityV1PublicKeyPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// Set sets the value of this property. Calling IsW3IDSecurityV1PublicKey +// afterwards will return true. +func (this *W3IDSecurityV1PublicKeyPropertyIterator) Set(v vocab.W3IDSecurityV1PublicKey) { + this.clear() + this.w3idsecurityv1PublicKeyMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *W3IDSecurityV1PublicKeyPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *W3IDSecurityV1PublicKeyPropertyIterator) SetType(t vocab.Type) error { + if v, ok := t.(vocab.W3IDSecurityV1PublicKey); ok { + this.Set(v) + return nil + } + + return fmt.Errorf("illegal type to set on W3IDSecurityV1PublicKey property: %T", t) +} + +// clear ensures no value of this property is set. Calling +// IsW3IDSecurityV1PublicKey afterwards will return false. +func (this *W3IDSecurityV1PublicKeyPropertyIterator) clear() { + this.unknown = nil + this.iri = nil + this.w3idsecurityv1PublicKeyMember = nil +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this W3IDSecurityV1PublicKeyPropertyIterator) serialize() (interface{}, error) { + if this.IsW3IDSecurityV1PublicKey() { + return this.Get().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// W3IDSecurityV1PublicKeyProperty is the non-functional property "publicKey". It +// is permitted to have one or more values, and of different value types. +type W3IDSecurityV1PublicKeyProperty struct { + properties []*W3IDSecurityV1PublicKeyPropertyIterator + alias string +} + +// DeserializePublicKeyProperty creates a "publicKey" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializePublicKeyProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.W3IDSecurityV1PublicKeyProperty, error) { + alias := "" + if a, ok := aliasMap["https://w3id.org/security/v1"]; ok { + alias = a + } + propName := "publicKey" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "publicKey") + } + i, ok := m[propName] + + if ok { + this := &W3IDSecurityV1PublicKeyProperty{ + alias: alias, + properties: []*W3IDSecurityV1PublicKeyPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeW3IDSecurityV1PublicKeyPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeW3IDSecurityV1PublicKeyPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewW3IDSecurityV1PublicKeyProperty creates a new publicKey property. +func NewW3IDSecurityV1PublicKeyProperty() *W3IDSecurityV1PublicKeyProperty { + return &W3IDSecurityV1PublicKeyProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property "publicKey" +func (this *W3IDSecurityV1PublicKeyProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "publicKey". Invalidates iterators that are traversing using Prev. +// Returns an error if the type is not a valid one to set for this property. +func (this *W3IDSecurityV1PublicKeyProperty) AppendType(t vocab.Type) error { + n := &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, n) + return nil +} + +// AppendW3IDSecurityV1PublicKey appends a PublicKey value to the back of a list +// of the property "publicKey". Invalidates iterators that are traversing +// using Prev. +func (this *W3IDSecurityV1PublicKeyProperty) AppendW3IDSecurityV1PublicKey(v vocab.W3IDSecurityV1PublicKey) { + this.properties = append(this.properties, &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + myIdx: this.Len(), + parent: this, + w3idsecurityv1PublicKeyMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this W3IDSecurityV1PublicKeyProperty) At(index int) vocab.W3IDSecurityV1PublicKeyPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this W3IDSecurityV1PublicKeyProperty) Begin() vocab.W3IDSecurityV1PublicKeyPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this W3IDSecurityV1PublicKeyProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this W3IDSecurityV1PublicKeyProperty) End() vocab.W3IDSecurityV1PublicKeyPropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property "publicKey". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *W3IDSecurityV1PublicKeyProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "publicKey". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *W3IDSecurityV1PublicKeyProperty) InsertType(idx int, t vocab.Type) error { + n := &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = n + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// InsertW3IDSecurityV1PublicKey inserts a PublicKey value at the specified index +// for a property "publicKey". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *W3IDSecurityV1PublicKeyProperty) InsertW3IDSecurityV1PublicKey(idx int, v vocab.W3IDSecurityV1PublicKey) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + w3idsecurityv1PublicKeyMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this W3IDSecurityV1PublicKeyProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://w3id.org/security/v1": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this W3IDSecurityV1PublicKeyProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "publicKey" property. +func (this W3IDSecurityV1PublicKeyProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this W3IDSecurityV1PublicKeyProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].Get() + rhs := this.properties[j].Get() + return lhs.LessThan(rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this W3IDSecurityV1PublicKeyProperty) LessThan(o vocab.W3IDSecurityV1PublicKeyProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("publicKey") with any alias. +func (this W3IDSecurityV1PublicKeyProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "publicKey" + } else { + return "publicKey" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "publicKey". +func (this *W3IDSecurityV1PublicKeyProperty) PrependIRI(v *url.URL) { + this.properties = append([]*W3IDSecurityV1PublicKeyPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependType prepends an arbitrary type value to the front of a list of the +// property "publicKey". Invalidates all iterators. Returns an error if the +// type is not a valid one to set for this property. +func (this *W3IDSecurityV1PublicKeyProperty) PrependType(t vocab.Type) error { + n := &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + myIdx: 0, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + this.properties = append([]*W3IDSecurityV1PublicKeyPropertyIterator{n}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } + return nil +} + +// PrependW3IDSecurityV1PublicKey prepends a PublicKey value to the front of a +// list of the property "publicKey". Invalidates all iterators. +func (this *W3IDSecurityV1PublicKeyProperty) PrependW3IDSecurityV1PublicKey(v vocab.W3IDSecurityV1PublicKey) { + this.properties = append([]*W3IDSecurityV1PublicKeyPropertyIterator{{ + alias: this.alias, + myIdx: 0, + parent: this, + w3idsecurityv1PublicKeyMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "publicKey", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *W3IDSecurityV1PublicKeyProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &W3IDSecurityV1PublicKeyPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this W3IDSecurityV1PublicKeyProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// Set sets a PublicKey value to be at the specified index for the property +// "publicKey". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *W3IDSecurityV1PublicKeyProperty) Set(idx int, v vocab.W3IDSecurityV1PublicKey) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + w3idsecurityv1PublicKeyMember: v, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "publicKey". Panics if the index is out of bounds. +func (this *W3IDSecurityV1PublicKeyProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// SetType sets an arbitrary type value to the specified index of the property +// "publicKey". Invalidates all iterators. Returns an error if the type is not +// a valid one to set for this property. Panics if the index is out of bounds. +func (this *W3IDSecurityV1PublicKeyProperty) SetType(idx int, t vocab.Type) error { + n := &W3IDSecurityV1PublicKeyPropertyIterator{ + alias: this.alias, + myIdx: idx, + parent: this, + } + if err := n.SetType(t); err != nil { + return err + } + (this.properties)[idx] = n + return nil +} + +// Swap swaps the location of values at two indices for the "publicKey" property. +func (this W3IDSecurityV1PublicKeyProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_doc.go new file mode 100644 index 000000000..e1282c8f3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertypublickeypem contains the implementation for the publicKeyPem +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertypublickeypem diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_pkg.go new file mode 100644 index 000000000..764de7fa5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypublickeypem + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_property_w3idsecurityv1_publicKeyPem.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_property_w3idsecurityv1_publicKeyPem.go new file mode 100644 index 000000000..fd3826d26 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem/gen_property_w3idsecurityv1_publicKeyPem.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertypublickeypem + +import ( + "fmt" + string1 "github.com/go-fed/activity/streams/values/string" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// W3IDSecurityV1PublicKeyPemProperty is the functional property "publicKeyPem". +// It is permitted to be a single default-valued value type. +type W3IDSecurityV1PublicKeyPemProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializePublicKeyPemProperty creates a "publicKeyPem" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializePublicKeyPemProperty(m map[string]interface{}, aliasMap map[string]string) (*W3IDSecurityV1PublicKeyPemProperty, error) { + alias := "" + if a, ok := aliasMap["https://w3id.org/security/v1"]; ok { + alias = a + } + propName := "publicKeyPem" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "publicKeyPem") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &W3IDSecurityV1PublicKeyPemProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &W3IDSecurityV1PublicKeyPemProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &W3IDSecurityV1PublicKeyPemProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewW3IDSecurityV1PublicKeyPemProperty creates a new publicKeyPem property. +func NewW3IDSecurityV1PublicKeyPemProperty() *W3IDSecurityV1PublicKeyPemProperty { + return &W3IDSecurityV1PublicKeyPemProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *W3IDSecurityV1PublicKeyPemProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this W3IDSecurityV1PublicKeyPemProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this W3IDSecurityV1PublicKeyPemProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this W3IDSecurityV1PublicKeyPemProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this W3IDSecurityV1PublicKeyPemProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this W3IDSecurityV1PublicKeyPemProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this W3IDSecurityV1PublicKeyPemProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://w3id.org/security/v1": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this W3IDSecurityV1PublicKeyPemProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this W3IDSecurityV1PublicKeyPemProperty) LessThan(o vocab.W3IDSecurityV1PublicKeyPemProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "publicKeyPem". +func (this W3IDSecurityV1PublicKeyPemProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "publicKeyPem" + } else { + return "publicKeyPem" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this W3IDSecurityV1PublicKeyPemProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *W3IDSecurityV1PublicKeyPemProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *W3IDSecurityV1PublicKeyPemProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_doc.go new file mode 100644 index 000000000..c353f6f2f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typepublickey contains the implementation for the PublicKey type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typepublickey diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_pkg.go new file mode 100644 index 000000000..4204375d5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_pkg.go @@ -0,0 +1,54 @@ +// Code generated by astool. DO NOT EDIT. + +package typepublickey + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeOwnerPropertyW3IDSecurityV1 returns the deserialization + // method for the "W3IDSecurityV1OwnerProperty" non-functional + // property in the vocabulary "W3IDSecurityV1" + DeserializeOwnerPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1OwnerProperty, error) + // DeserializePublicKeyPemPropertyW3IDSecurityV1 returns the + // deserialization method for the "W3IDSecurityV1PublicKeyPemProperty" + // non-functional property in the vocabulary "W3IDSecurityV1" + DeserializePublicKeyPemPropertyW3IDSecurityV1() func(map[string]interface{}, map[string]string) (vocab.W3IDSecurityV1PublicKeyPemProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_type_w3idsecurityv1_publickey.go b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_type_w3idsecurityv1_publickey.go new file mode 100644 index 000000000..92c90b20d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_type_w3idsecurityv1_publickey.go @@ -0,0 +1,289 @@ +// Code generated by astool. DO NOT EDIT. + +package typepublickey + +import vocab "github.com/go-fed/activity/streams/vocab" + +// A public key represents a public cryptographical key for a user +type W3IDSecurityV1PublicKey struct { + JSONLDId vocab.JSONLDIdProperty + W3IDSecurityV1Owner vocab.W3IDSecurityV1OwnerProperty + W3IDSecurityV1PublicKeyPem vocab.W3IDSecurityV1PublicKeyPemProperty + alias string + unknown map[string]interface{} +} + +// DeserializePublicKey creates a PublicKey from a map representation that has +// been unmarshalled from a text or binary format. +func DeserializePublicKey(m map[string]interface{}, aliasMap map[string]string) (*W3IDSecurityV1PublicKey, error) { + alias := "" + if a, ok := aliasMap["https://w3id.org/security/v1"]; ok { + alias = a + } + this := &W3IDSecurityV1PublicKey{ + alias: alias, + unknown: make(map[string]interface{}), + } + + // Begin: Known property deserialization + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeOwnerPropertyW3IDSecurityV1()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.W3IDSecurityV1Owner = p + } + if p, err := mgr.DeserializePublicKeyPemPropertyW3IDSecurityV1()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.W3IDSecurityV1PublicKeyPem = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "id" { + continue + } else if k == "owner" { + continue + } else if k == "publicKeyPem" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IsOrExtendsPublicKey returns true if the other provided type is the PublicKey +// type or extends from the PublicKey type. +func IsOrExtendsPublicKey(other vocab.Type) bool { + if other.GetTypeName() == "PublicKey" { + return true + } + return PublicKeyIsExtendedBy(other) +} + +// NewW3IDSecurityV1PublicKey creates a new PublicKey type +func NewW3IDSecurityV1PublicKey() *W3IDSecurityV1PublicKey { + return &W3IDSecurityV1PublicKey{ + alias: "", + unknown: make(map[string]interface{}), + } +} + +// PublicKeyIsDisjointWith returns true if the other provided type is disjoint +// with the PublicKey type. +func PublicKeyIsDisjointWith(other vocab.Type) bool { + // Shortcut implementation: is not disjoint with anything. + return false +} + +// PublicKeyIsExtendedBy returns true if the other provided type extends from the +// PublicKey type. Note that it returns false if the types are the same; see +// the "IsOrExtendsPublicKey" variant instead. +func PublicKeyIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// W3IDSecurityV1PublicKeyExtends returns true if the PublicKey type extends from +// the other type. +func W3IDSecurityV1PublicKeyExtends(other vocab.Type) bool { + // Shortcut implementation: this does not extend anything. + return false +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this W3IDSecurityV1PublicKey) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetTypeName returns the name of this type. +func (this W3IDSecurityV1PublicKey) GetTypeName() string { + return "PublicKey" +} + +// GetUnknownProperties returns the unknown properties for the PublicKey type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this W3IDSecurityV1PublicKey) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// GetW3IDSecurityV1Owner returns the "owner" property if it exists, and nil +// otherwise. +func (this W3IDSecurityV1PublicKey) GetW3IDSecurityV1Owner() vocab.W3IDSecurityV1OwnerProperty { + return this.W3IDSecurityV1Owner +} + +// GetW3IDSecurityV1PublicKeyPem returns the "publicKeyPem" property if it exists, +// and nil otherwise. +func (this W3IDSecurityV1PublicKey) GetW3IDSecurityV1PublicKeyPem() vocab.W3IDSecurityV1PublicKeyPemProperty { + return this.W3IDSecurityV1PublicKeyPem +} + +// IsExtending returns true if the PublicKey type extends from the other type. +func (this W3IDSecurityV1PublicKey) IsExtending(other vocab.Type) bool { + return W3IDSecurityV1PublicKeyExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this W3IDSecurityV1PublicKey) JSONLDContext() map[string]string { + m := map[string]string{"https://w3id.org/security/v1": this.alias} + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.W3IDSecurityV1Owner, m) + m = this.helperJSONLDContext(this.W3IDSecurityV1PublicKeyPem, m) + + return m +} + +// LessThan computes if this PublicKey is lesser, with an arbitrary but stable +// determination. +func (this W3IDSecurityV1PublicKey) LessThan(o vocab.W3IDSecurityV1PublicKey) bool { + // Begin: Compare known properties + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "owner" + if lhs, rhs := this.W3IDSecurityV1Owner, o.GetW3IDSecurityV1Owner(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "publicKeyPem" + if lhs, rhs := this.W3IDSecurityV1PublicKeyPem, o.GetW3IDSecurityV1PublicKeyPem(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this W3IDSecurityV1PublicKey) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + // Begin: Serialize known properties + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "owner" + if this.W3IDSecurityV1Owner != nil { + if i, err := this.W3IDSecurityV1Owner.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.W3IDSecurityV1Owner.Name()] = i + } + } + // Maybe serialize property "publicKeyPem" + if this.W3IDSecurityV1PublicKeyPem != nil { + if i, err := this.W3IDSecurityV1PublicKeyPem.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.W3IDSecurityV1PublicKeyPem.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetJSONLDId sets the "id" property. +func (this *W3IDSecurityV1PublicKey) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetW3IDSecurityV1Owner sets the "owner" property. +func (this *W3IDSecurityV1PublicKey) SetW3IDSecurityV1Owner(i vocab.W3IDSecurityV1OwnerProperty) { + this.W3IDSecurityV1Owner = i +} + +// SetW3IDSecurityV1PublicKeyPem sets the "publicKeyPem" property. +func (this *W3IDSecurityV1PublicKey) SetW3IDSecurityV1PublicKeyPem(i vocab.W3IDSecurityV1PublicKeyPemProperty) { + this.W3IDSecurityV1PublicKeyPem = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this W3IDSecurityV1PublicKey) VocabularyURI() string { + return "https://w3id.org/security/v1" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this W3IDSecurityV1PublicKey) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/github.com/go-fed/activity/streams/util.go b/vendor/github.com/go-fed/activity/streams/util.go new file mode 100644 index 000000000..ea27f2f96 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/util.go @@ -0,0 +1,66 @@ +package streams + +import ( + "github.com/go-fed/activity/streams/vocab" +) + +const ( + // jsonLDContext is the key for the JSON-LD specification's context + // value. It contains the definitions of the types contained within the + // rest of the payload. Important for linked-data representations, but + // only applicable to go-fed at code-generation time. + jsonLDContext = "@context" +) + +// Serialize adds the context vocabularies contained within the type +// into the JSON-LD @context field, and aliases them appropriately. +func Serialize(a vocab.Type) (m map[string]interface{}, e error) { + m, e = a.Serialize() + if e != nil { + return + } + v := a.JSONLDContext() + // Transform the map of vocabulary-to-aliases into a context payload, + // but do so in a way that at least keeps it readable for other humans. + var contextValue interface{} + if len(v) == 1 { + for vocab, alias := range v { + if len(alias) == 0 { + contextValue = vocab + } else { + contextValue = map[string]string{ + alias: vocab, + } + } + } + } else { + var arr []interface{} + aliases := make(map[string]string) + for vocab, alias := range v { + if len(alias) == 0 { + arr = append(arr, vocab) + } else { + aliases[alias] = vocab + } + } + if len(aliases) > 0 { + arr = append(arr, aliases) + } + contextValue = arr + } + // TODO: Update the context instead if it already exists + m[jsonLDContext] = contextValue + // TODO: Sort the context based on arbitrary order. + // Delete any existing `@context` in child maps. + var cleanFnRecur func(map[string]interface{}) + cleanFnRecur = func(r map[string]interface{}) { + for _, v := range r { + if n, ok := v.(map[string]interface{}); ok { + delete(n, jsonLDContext) + cleanFnRecur(n) + } + } + } + cleanFnRecur(m) + return +} diff --git a/vendor/github.com/go-fed/activity/streams/values/anyURI/gen_anyURI.go b/vendor/github.com/go-fed/activity/streams/values/anyURI/gen_anyURI.go new file mode 100644 index 000000000..a1ac814af --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/anyURI/gen_anyURI.go @@ -0,0 +1,37 @@ +// Code generated by astool. DO NOT EDIT. + +package anyuri + +import ( + "fmt" + "net/url" +) + +// SerializeAnyURI converts a anyURI value to an interface representation suitable +// for marshalling into a text or binary format. +func SerializeAnyURI(this *url.URL) (interface{}, error) { + return this.String(), nil +} + +// DeserializeAnyURI creates anyURI value from an interface representation that +// has been unmarshalled from a text or binary format. +func DeserializeAnyURI(this interface{}) (*url.URL, error) { + var u *url.URL + var err error + if s, ok := this.(string); ok { + u, err = url.Parse(s) + if err != nil { + err = fmt.Errorf("%v cannot be interpreted as a xsd:anyURI: %s", this, err) + } else if len(u.Scheme) == 0 { + err = fmt.Errorf("%v cannot be interpreted as a xsd:anyURI: no scheme", this) + } + } else { + err = fmt.Errorf("%v cannot be interpreted as a string for xsd:anyURI", this) + } + return u, err +} + +// LessAnyURI returns true if the left anyURI value is less than the right value. +func LessAnyURI(lhs, rhs *url.URL) bool { + return lhs.String() < rhs.String() +} diff --git a/vendor/github.com/go-fed/activity/streams/values/bcp47/gen_bcp47.go b/vendor/github.com/go-fed/activity/streams/values/bcp47/gen_bcp47.go new file mode 100644 index 000000000..0e0f70485 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/bcp47/gen_bcp47.go @@ -0,0 +1,26 @@ +// Code generated by astool. DO NOT EDIT. + +package bcp47 + +import "fmt" + +// SerializeBcp47 converts a bcp47 value to an interface representation suitable +// for marshalling into a text or binary format. +func SerializeBcp47(this string) (interface{}, error) { + return this, nil +} + +// DeserializeBcp47 creates bcp47 value from an interface representation that has +// been unmarshalled from a text or binary format. +func DeserializeBcp47(this interface{}) (string, error) { + if s, ok := this.(string); ok { + return s, nil + } else { + return "", fmt.Errorf("%v cannot be interpreted as a string for bcp47 languagetag", this) + } +} + +// LessBcp47 returns true if the left bcp47 value is less than the right value. +func LessBcp47(lhs, rhs string) bool { + return lhs < rhs +} diff --git a/vendor/github.com/go-fed/activity/streams/values/boolean/gen_boolean.go b/vendor/github.com/go-fed/activity/streams/values/boolean/gen_boolean.go new file mode 100644 index 000000000..1c75e485d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/boolean/gen_boolean.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package boolean + +import "fmt" + +// SerializeBoolean converts a boolean value to an interface representation +// suitable for marshalling into a text or binary format. +func SerializeBoolean(this bool) (interface{}, error) { + return this, nil +} + +// DeserializeBoolean creates boolean value from an interface representation that +// has been unmarshalled from a text or binary format. +func DeserializeBoolean(this interface{}) (bool, error) { + if b, ok := this.(bool); ok { + return b, nil + } else if f, ok := this.(float64); ok { + if f == 0 { + return false, nil + } else if f == 1 { + return true, nil + } else { + return false, fmt.Errorf("%v cannot be interpreted as a bool float64 for xsd:boolean", this) + } + } else { + return false, fmt.Errorf("%v cannot be interpreted as a bool for xsd:boolean", this) + } +} + +// LessBoolean returns true if the left boolean value is less than the right value. +func LessBoolean(lhs, rhs bool) bool { + // Booleans don't have a natural ordering, so we pick that truth is greater than falsehood. + return !lhs && rhs +} diff --git a/vendor/github.com/go-fed/activity/streams/values/dateTime/gen_dateTime.go b/vendor/github.com/go-fed/activity/streams/values/dateTime/gen_dateTime.go new file mode 100644 index 000000000..327152fdb --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/dateTime/gen_dateTime.go @@ -0,0 +1,39 @@ +// Code generated by astool. DO NOT EDIT. + +package datetime + +import ( + "fmt" + "time" +) + +// SerializeDateTime converts a dateTime value to an interface representation +// suitable for marshalling into a text or binary format. +func SerializeDateTime(this time.Time) (interface{}, error) { + return this.Format(time.RFC3339), nil +} + +// DeserializeDateTime creates dateTime value from an interface representation +// that has been unmarshalled from a text or binary format. +func DeserializeDateTime(this interface{}) (time.Time, error) { + var tmp time.Time + var err error + if s, ok := this.(string); ok { + tmp, err = time.Parse(time.RFC3339, s) + if err != nil { + tmp, err = time.Parse("2006-01-02T15:04Z07:00", s) + if err != nil { + err = fmt.Errorf("%v cannot be interpreted as xsd:datetime", this) + } + } + } else { + err = fmt.Errorf("%v cannot be interpreted as a string for xsd:datetime", this) + } + return tmp, err +} + +// LessDateTime returns true if the left dateTime value is less than the right +// value. +func LessDateTime(lhs, rhs time.Time) bool { + return lhs.Before(rhs) +} diff --git a/vendor/github.com/go-fed/activity/streams/values/duration/gen_duration.go b/vendor/github.com/go-fed/activity/streams/values/duration/gen_duration.go new file mode 100644 index 000000000..8125a6822 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/duration/gen_duration.go @@ -0,0 +1,146 @@ +// Code generated by astool. DO NOT EDIT. + +package duration + +import ( + "fmt" + "math" + "regexp" + "strconv" + "time" +) + +// SerializeDuration converts a duration value to an interface representation +// suitable for marshalling into a text or binary format. +func SerializeDuration(this time.Duration) (interface{}, error) { + // Seriously questioning my life choices. + s := "P" + if this < 0 { + s = "-P" + this = -1 * this + } + var tally time.Duration + // Assume 8760 Hours per 365 days, cannot account for leap years in xsd:duration. :( + if years := this.Hours() / 8760.0; years >= 1 { + nYears := int64(math.Floor(years)) + tally += time.Duration(nYears) * 8760 * time.Hour + s = fmt.Sprintf("%s%dY", s, nYears) + } + // Assume 30 days per month, cannot account for months lasting 31, 30, 29, or 28 days in xsd:duration. :( + if months := (this.Hours() - tally.Hours()) / 720.0; months >= 1 { + nMonths := int64(math.Floor(months)) + tally += time.Duration(nMonths) * 720 * time.Hour + s = fmt.Sprintf("%s%dM", s, nMonths) + } + if days := (this.Hours() - tally.Hours()) / 24.0; days >= 1 { + nDays := int64(math.Floor(days)) + tally += time.Duration(nDays) * 24 * time.Hour + s = fmt.Sprintf("%s%dD", s, nDays) + } + if tally < this { + s = fmt.Sprintf("%sT", s) + if hours := this.Hours() - tally.Hours(); hours >= 1 { + nHours := int64(math.Floor(hours)) + tally += time.Duration(nHours) * time.Hour + s = fmt.Sprintf("%s%dH", s, nHours) + } + if minutes := this.Minutes() - tally.Minutes(); minutes >= 1 { + nMinutes := int64(math.Floor(minutes)) + tally += time.Duration(nMinutes) * time.Minute + s = fmt.Sprintf("%s%dM", s, nMinutes) + } + if seconds := this.Seconds() - tally.Seconds(); seconds >= 1 { + nSeconds := int64(math.Floor(seconds)) + tally += time.Duration(nSeconds) * time.Second + s = fmt.Sprintf("%s%dS", s, nSeconds) + } + } + return s, nil +} + +// DeserializeDuration creates duration value from an interface representation +// that has been unmarshalled from a text or binary format. +func DeserializeDuration(this interface{}) (time.Duration, error) { + // Maybe this time it will be easier. + if s, ok := this.(string); ok { + isNeg := false + if s[0] == '-' { + isNeg = true + s = s[1:] + } + if s[0] != 'P' { + return 0, fmt.Errorf("%s malformed: missing 'P' for xsd:duration", s) + } + re := regexp.MustCompile(`P(\d*Y)?(\d*M)?(\d*D)?(T(\d*H)?(\d*M)?(\d*S)?)?`) + res := re.FindStringSubmatch(s) + var dur time.Duration + nYear := res[1] + if len(nYear) > 0 { + nYear = nYear[:len(nYear)-1] + vYear, err := strconv.ParseInt(nYear, 10, 64) + if err != nil { + return 0, err + } + // Assume 8760 Hours per 365 days, cannot account for leap years in xsd:duration. :( + dur += time.Duration(vYear) * time.Hour * 8760 + } + nMonth := res[2] + if len(nMonth) > 0 { + nMonth = nMonth[:len(nMonth)-1] + vMonth, err := strconv.ParseInt(nMonth, 10, 64) + if err != nil { + return 0, err + } + // Assume 30 days per month, cannot account for months lasting 31, 30, 29, or 28 days in xsd:duration. :( + dur += time.Duration(vMonth) * time.Hour * 720 + } + nDay := res[3] + if len(nDay) > 0 { + nDay = nDay[:len(nDay)-1] + vDay, err := strconv.ParseInt(nDay, 10, 64) + if err != nil { + return 0, err + } + dur += time.Duration(vDay) * time.Hour * 24 + } + nHour := res[5] + if len(nHour) > 0 { + nHour = nHour[:len(nHour)-1] + vHour, err := strconv.ParseInt(nHour, 10, 64) + if err != nil { + return 0, err + } + dur += time.Duration(vHour) * time.Hour + } + nMinute := res[6] + if len(nMinute) > 0 { + nMinute = nMinute[:len(nMinute)-1] + vMinute, err := strconv.ParseInt(nMinute, 10, 64) + if err != nil { + return 0, err + } + dur += time.Duration(vMinute) * time.Minute + } + nSecond := res[7] + if len(nSecond) > 0 { + nSecond = nSecond[:len(nSecond)-1] + vSecond, err := strconv.ParseInt(nSecond, 10, 64) + if err != nil { + return 0, err + } + dur += time.Duration(vSecond) * time.Second + } + if isNeg { + dur *= -1 + } + return dur, nil + } else { + return 0, fmt.Errorf("%v cannot be interpreted as a string for xsd:duration", this) + } +} + +// LessDuration returns true if the left duration value is less than the right +// value. +func LessDuration(lhs, rhs time.Duration) bool { + return lhs < rhs +} diff --git a/vendor/github.com/go-fed/activity/streams/values/float/gen_float.go b/vendor/github.com/go-fed/activity/streams/values/float/gen_float.go new file mode 100644 index 000000000..7b88a6e66 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/float/gen_float.go @@ -0,0 +1,26 @@ +// Code generated by astool. DO NOT EDIT. + +package float + +import "fmt" + +// SerializeFloat converts a float value to an interface representation suitable +// for marshalling into a text or binary format. +func SerializeFloat(this float64) (interface{}, error) { + return this, nil +} + +// DeserializeFloat creates float value from an interface representation that has +// been unmarshalled from a text or binary format. +func DeserializeFloat(this interface{}) (float64, error) { + if f, ok := this.(float64); ok { + return f, nil + } else { + return 0, fmt.Errorf("%v cannot be interpreted as a float64 for xsd:float", this) + } +} + +// LessFloat returns true if the left float value is less than the right value. +func LessFloat(lhs, rhs float64) bool { + return lhs < rhs +} diff --git a/vendor/github.com/go-fed/activity/streams/values/langString/gen_langString.go b/vendor/github.com/go-fed/activity/streams/values/langString/gen_langString.go new file mode 100644 index 000000000..12dabf187 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/langString/gen_langString.go @@ -0,0 +1,63 @@ +// Code generated by astool. DO NOT EDIT. + +package langstring + +import ( + "fmt" + "sort" +) + +// SerializeLangString converts a langString value to an interface representation +// suitable for marshalling into a text or binary format. +func SerializeLangString(this map[string]string) (interface{}, error) { + return this, nil +} + +// DeserializeLangString creates langString value from an interface representation +// that has been unmarshalled from a text or binary format. +func DeserializeLangString(this interface{}) (map[string]string, error) { + if m, ok := this.(map[string]interface{}); ok { + r := make(map[string]string) + for k, v := range m { + if s, ok := v.(string); ok { + r[k] = s + } else { + return nil, fmt.Errorf("value %v cannot be interpreted as a string for rdf:langString", v) + } + } + return r, nil + } else { + return nil, fmt.Errorf("%v cannot be interpreted as a map[string]interface{} for rdf:langString", this) + } +} + +// LessLangString returns true if the left langString value is less than the right +// value. +func LessLangString(lhs, rhs map[string]string) bool { + var lk []string + var rk []string + for k := range lhs { + lk = append(lk, k) + } + for k := range rhs { + rk = append(rk, k) + } + sort.Strings(lk) + sort.Strings(rk) + for i := 0; i < len(lk) && i < len(rk); i++ { + if lk[i] < rk[i] { + return true + } else if rk[i] < lk[i] { + return false + } else if lhs[lk[i]] < rhs[rk[i]] { + return true + } else if rhs[rk[i]] < lhs[lk[i]] { + return false + } + } + if len(lk) < len(rk) { + return true + } else { + return false + } +} diff --git a/vendor/github.com/go-fed/activity/streams/values/nonNegativeInteger/gen_nonNegativeInteger.go b/vendor/github.com/go-fed/activity/streams/values/nonNegativeInteger/gen_nonNegativeInteger.go new file mode 100644 index 000000000..020c68bab --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/nonNegativeInteger/gen_nonNegativeInteger.go @@ -0,0 +1,33 @@ +// Code generated by astool. DO NOT EDIT. + +package nonnegativeinteger + +import "fmt" + +// SerializeNonNegativeInteger converts a nonNegativeInteger value to an interface +// representation suitable for marshalling into a text or binary format. +func SerializeNonNegativeInteger(this int) (interface{}, error) { + return this, nil +} + +// DeserializeNonNegativeInteger creates nonNegativeInteger value from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeNonNegativeInteger(this interface{}) (int, error) { + if i, ok := this.(float64); ok { + n := int(i) + if n >= 0 { + return n, nil + } else { + return 0, fmt.Errorf("%v is a negative integer for xsd:nonNegativeInteger", this) + } + } else { + return 0, fmt.Errorf("%v cannot be interpreted as a float for xsd:nonNegativeInteger", this) + } +} + +// LessNonNegativeInteger returns true if the left nonNegativeInteger value is +// less than the right value. +func LessNonNegativeInteger(lhs, rhs int) bool { + return lhs < rhs +} diff --git a/vendor/github.com/go-fed/activity/streams/values/rfc2045/gen_rfc2045.go b/vendor/github.com/go-fed/activity/streams/values/rfc2045/gen_rfc2045.go new file mode 100644 index 000000000..cc28892c0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/rfc2045/gen_rfc2045.go @@ -0,0 +1,26 @@ +// Code generated by astool. DO NOT EDIT. + +package rfc2045 + +import "fmt" + +// SerializeRfc2045 converts a rfc2045 value to an interface representation +// suitable for marshalling into a text or binary format. +func SerializeRfc2045(this string) (interface{}, error) { + return this, nil +} + +// DeserializeRfc2045 creates rfc2045 value from an interface representation that +// has been unmarshalled from a text or binary format. +func DeserializeRfc2045(this interface{}) (string, error) { + if s, ok := this.(string); ok { + return s, nil + } else { + return "", fmt.Errorf("%v cannot be interpreted as a string for MIME media type", this) + } +} + +// LessRfc2045 returns true if the left rfc2045 value is less than the right value. +func LessRfc2045(lhs, rhs string) bool { + return lhs < rhs +} diff --git a/vendor/github.com/go-fed/activity/streams/values/rfc5988/gen_rfc5988.go b/vendor/github.com/go-fed/activity/streams/values/rfc5988/gen_rfc5988.go new file mode 100644 index 000000000..eac2bc247 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/rfc5988/gen_rfc5988.go @@ -0,0 +1,26 @@ +// Code generated by astool. DO NOT EDIT. + +package rfc5988 + +import "fmt" + +// SerializeRfc5988 converts a rfc5988 value to an interface representation +// suitable for marshalling into a text or binary format. +func SerializeRfc5988(this string) (interface{}, error) { + return this, nil +} + +// DeserializeRfc5988 creates rfc5988 value from an interface representation that +// has been unmarshalled from a text or binary format. +func DeserializeRfc5988(this interface{}) (string, error) { + if s, ok := this.(string); ok { + return s, nil + } else { + return "", fmt.Errorf("%v cannot be interpreted as a string for rel", this) + } +} + +// LessRfc5988 returns true if the left rfc5988 value is less than the right value. +func LessRfc5988(lhs, rhs string) bool { + return lhs < rhs +} diff --git a/vendor/github.com/go-fed/activity/streams/values/string/gen_string.go b/vendor/github.com/go-fed/activity/streams/values/string/gen_string.go new file mode 100644 index 000000000..23aee678f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/values/string/gen_string.go @@ -0,0 +1,26 @@ +// Code generated by astool. DO NOT EDIT. + +package string + +import "fmt" + +// SerializeString converts a string value to an interface representation suitable +// for marshalling into a text or binary format. +func SerializeString(this string) (interface{}, error) { + return this, nil +} + +// DeserializeString creates string value from an interface representation that +// has been unmarshalled from a text or binary format. +func DeserializeString(this interface{}) (string, error) { + if s, ok := this.(string); ok { + return s, nil + } else { + return "", fmt.Errorf("%v cannot be interpreted as a string for xsd:string", this) + } +} + +// LessString returns true if the left string value is less than the right value. +func LessString(lhs, rhs string) bool { + return lhs < rhs +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_doc.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_doc.go new file mode 100644 index 000000000..c9faf499f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_doc.go @@ -0,0 +1,61 @@ +// Code generated by astool. DO NOT EDIT. + +// Package vocab contains the interfaces for the JSONLD vocabulary. All +// applications are strongly encouraged to use these interface types instead +// of the concrete definitions contained in the implementation subpackage. +// These interfaces allow applications to consume only the types and +// properties needed and be independent of the go-fed implementation if +// another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// Type interfaces contain "Get" and "Set" methods for its properties. Types +// also have a "Serialize" method to convert the type into an interface map +// for use with the json package. There is a convenience "IsExtending" method +// on each types which helps with the ActivityStreams hierarchy, which is not +// the same as object oriented inheritance. While types also have a "LessThan" +// method, it is an arbitrary sort. Do not use it if needing to sort on +// specific properties, such as publish time. It is best used for normalizing +// the type. Lastly, do not use the "GetUnknownProperties" method in an +// application. Instead, use the go-fed tool to code generate the property +// needed. +// +// Properties come in two flavors: functional and non-functional. Functional +// means that a property can have at most one value, while non-functional +// means a property could have zero, one, or more values. Any property value +// may also be an IRI, in which case the application will need to make a HTTP +// request to fetch the property value. +// +// Functional properties have "Get", "Is", and "Set" methods for determining +// what kind of value the property is, fetching that value, or setting that +// value. There is also a "Serialize" method which converts the property into +// an interface type, but applications should not typically use a property's +// "Serialize" and instead should use a type's "Serialize" instead. Like +// types, properties have an arbitrary "LessThan" comparison function that +// should not be used if needing to sort on specific values. Finally, +// applications should not use the "KindIndex" method as it is a comparison +// mechanism only for those looking to write an alternate implementation. +// +// Non-functional properties can have more than one value, so it has "Len" +// for getting its length, "At" for getting an iterator pointing to an +// element, "Append" and "Prepend" for adding values, "Remove" for removing a +// value, "Set" for overwriting a value, and "Swap" for swapping two values' +// indices. Note that a non-functional property satisfies the sort interface, +// but it results in an arbitrary but stable ordering best used as a +// normalized form. A non-functional property's iterator looks like a +// functional property with "Next" and "Previous" methods. Applications should +// not use the "KindIndex" methods as it is a comparison mechanism only for +// those looking to write an alternate implementation of this library. +// +// Types and properties have a "JSONLDContext" method that returns a mapping +// of vocabulary URIs to aliases that are required in the JSON-LD @context +// when serializing this value. The aliases used by this library when +// serializing objects is done at code-generation time, unless a different +// alias was used to deserialize the type or property. +// +// Types, functional properties, and non-functional properties are not +// designed for concurrent usage by two or more goroutines. Also, certain +// methods on a non-functional property will invalidate iterators and possibly +// cause unexpected behaviors. To avoid this, re-obtain an iterator after +// modifying a non-functional property. +package vocab diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_pkg.go new file mode 100644 index 000000000..1dd72c0d6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_pkg.go @@ -0,0 +1,23 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Type represents an ActivityStreams type. +type Type interface { + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetTypeName returns the ActivityStreams type name. + GetTypeName() string + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetJSONLDId sets the "id" property. + SetJSONLDId(JSONLDIdProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_accuracy_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_accuracy_interface.go new file mode 100644 index 000000000..1a5671268 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_accuracy_interface.go @@ -0,0 +1,62 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Indicates the accuracy of position coordinates on a Place objects. Expressed in +// properties of percentage. e.g. "94.0" means "94.0% accurate". +// +// Example 112 (https://www.w3.org/TR/activitystreams-vocabulary/#ex127-jsonld): +// { +// "accuracy": 94.5, +// "latitude": 36.75, +// "longitude": 119.7667, +// "name": "Liu Gu Lu Cun, Pingdu, Qingdao, Shandong, China", +// "type": "Place" +// } +type ActivityStreamsAccuracyProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaFloat afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaFloat returns + // false, Get will return any arbitrary value. + Get() float64 + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaFloat returns true if this property is set and not an IRI. + IsXMLSchemaFloat() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAccuracyProperty) bool + // Name returns the name of this property: "accuracy". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaFloat + // afterwards will return true. + Set(v float64) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_actor_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_actor_interface.go new file mode 100644 index 000000000..f72626e3c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_actor_interface.go @@ -0,0 +1,1813 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsActorPropertyIterator represents a single value for the "actor" +// property. +type ActivityStreamsActorPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsActorPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsActor". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsActorPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsActorPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Describes one or more entities that either performed or are expected to perform +// the activity. Any single activity can have multiple actors. The actor MAY +// be specified using an indirect Link. +// +// Example 63 (https://www.w3.org/TR/activitystreams-vocabulary/#ex59-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/foo", +// "summary": "Sally offered the Foo object", +// "type": "Offer" +// } +// +// Example 64 (https://www.w3.org/TR/activitystreams-vocabulary/#ex60-jsonld): +// { +// "actor": { +// "id": "http://sally.example.org", +// "summary": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/foo", +// "summary": "Sally offered the Foo object", +// "type": "Offer" +// } +// +// Example 65 (https://www.w3.org/TR/activitystreams-vocabulary/#ex61-jsonld): +// { +// "actor": [ +// "http://joe.example.org", +// { +// "id": "http://sally.example.org", +// "name": "Sally", +// "type": "Person" +// } +// ], +// "object": "http://example.org/foo", +// "summary": "Sally and Joe offered the Foo object", +// "type": "Offer" +// } +type ActivityStreamsActorProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "actor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "actor". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "actor". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "actor". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "actor". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "actor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "actor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "actor". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "actor". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "actor". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "actor". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "actor" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "actor". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "actor". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "actor". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsActorPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsActorPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsActorPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "actor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "actor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "actor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "actor". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "actor". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "actor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "actor". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "actor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "actor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "actor". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "actor". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "actor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "actor". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "actor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "actor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "actor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "actor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "actor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "actor". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "actor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "actor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "actor". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "actor" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsActorProperty) bool + // Name returns the name of this property ("actor") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "actor". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "actor". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "actor". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "actor". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "actor". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "actor". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "actor". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "actor". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "actor". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "actor". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "actor". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "actor". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "actor". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "actor". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "actor". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "actor". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "actor". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "actor". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "actor", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "actor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "actor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "actor". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "actor". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "actor". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "actor". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "actor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "actor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "actor". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "actor". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "actor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "actor". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "actor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "actor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "actor". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "actor". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "actor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "actor". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "actor" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_altitude_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_altitude_interface.go new file mode 100644 index 000000000..95fe1d344 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_altitude_interface.go @@ -0,0 +1,64 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Indicates the altitude of a place. The measurement units is indicated using the +// units property. If units is not specified, the default is assumed to be "m" +// indicating meters. +// +// Example 113 (https://www.w3.org/TR/activitystreams-vocabulary/#ex129-jsonld): +// { +// "altitude": 15, +// "latitude": 36.75, +// "longitude": 119.7667, +// "name": "Fresno Area", +// "type": "Place", +// "units": "miles" +// } +type ActivityStreamsAltitudeProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaFloat afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaFloat returns + // false, Get will return any arbitrary value. + Get() float64 + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaFloat returns true if this property is set and not an IRI. + IsXMLSchemaFloat() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAltitudeProperty) bool + // Name returns the name of this property: "altitude". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaFloat + // afterwards will return true. + Set(v float64) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_anyOf_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_anyOf_interface.go new file mode 100644 index 000000000..eb4332f49 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_anyOf_interface.go @@ -0,0 +1,1794 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsAnyOfPropertyIterator represents a single value for the "anyOf" +// property. +type ActivityStreamsAnyOfPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAnyOfPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsAnyOf". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsAnyOfPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsAnyOfPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies an inclusive option for a Question. Use of anyOf implies that the +// Question can have multiple answers. To indicate that a Question can have +// only one answer, use oneOf. +// +// Example 92 (https://www.w3.org/TR/activitystreams-vocabulary/#ex94-jsonld): +// { +// "anyOf": [ +// { +// "name": "Option A", +// "type": "Note" +// }, +// { +// "name": "Option B", +// "type": "Note" +// } +// ], +// "name": "What is the answer?", +// "type": "Question" +// } +type ActivityStreamsAnyOfProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "anyOf". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "anyOf". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "anyOf". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "anyOf". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "anyOf". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "anyOf". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "anyOf". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "anyOf". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "anyOf". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "anyOf". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "anyOf". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "anyOf" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "anyOf". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "anyOf". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "anyOf". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsAnyOfPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsAnyOfPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsAnyOfPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "anyOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "anyOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "anyOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "anyOf". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "anyOf". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "anyOf". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "anyOf". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "anyOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "anyOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "anyOf". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "anyOf". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "anyOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "anyOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "anyOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "anyOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "anyOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "anyOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "anyOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "anyOf". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "anyOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "anyOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "anyOf". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "anyOf" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAnyOfProperty) bool + // Name returns the name of this property ("anyOf") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "anyOf". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "anyOf". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "anyOf". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "anyOf". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "anyOf". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "anyOf". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "anyOf". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "anyOf". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "anyOf". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "anyOf". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "anyOf". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "anyOf". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "anyOf". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "anyOf". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "anyOf". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "anyOf". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "anyOf". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "anyOf", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "anyOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "anyOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "anyOf". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "anyOf". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "anyOf". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "anyOf". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "anyOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "anyOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "anyOf". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "anyOf". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "anyOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "anyOf". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "anyOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "anyOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "anyOf". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "anyOf". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "anyOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "anyOf". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "anyOf" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_attachment_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_attachment_interface.go new file mode 100644 index 000000000..2773f9130 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_attachment_interface.go @@ -0,0 +1,1800 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsAttachmentPropertyIterator represents a single value for the +// "attachment" property. +type ActivityStreamsAttachmentPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAttachmentPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsAttachment". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsAttachmentPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsAttachmentPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies a resource attached or related to an object that potentially +// requires special handling. The intent is to provide a model that is at +// least semantically similar to attachments in email. +// +// Example 66 (https://www.w3.org/TR/activitystreams-vocabulary/#ex64-jsonld): +// { +// "attachment": { +// "content": "This is what he looks like.", +// "type": "Image", +// "url": "http://example.org/cat.jpeg" +// }, +// "name": "Have you seen my cat?", +// "type": "Note" +// } +type ActivityStreamsAttachmentProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "attachment". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "attachment". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "attachment". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "attachment". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "attachment". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "attachment". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "attachment". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "attachment". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "attachment". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "attachment". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "attachment". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "attachment". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "attachment" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "attachment". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "attachment". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "attachment". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsAttachmentPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsAttachmentPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsAttachmentPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "attachment". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "attachment". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "attachment". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "attachment". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "attachment". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "attachment". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "attachment". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "attachment". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "attachment". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "attachment". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "attachment". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "attachment". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "attachment". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "attachment". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "attachment". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "attachment". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "attachment". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "attachment". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "attachment". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "attachment". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "attachment". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "attachment". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "attachment" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAttachmentProperty) bool + // Name returns the name of this property ("attachment") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "attachment". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "attachment". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "attachment". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "attachment". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "attachment". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "attachment". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "attachment". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "attachment". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "attachment". Invalidates + // all iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "attachment". Invalidates + // all iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "attachment". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "attachment". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "attachment". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "attachment". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "attachment". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "attachment". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "attachment". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "attachment". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "attachment". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "attachment". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "attachment". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "attachment", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "attachment". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "attachment". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "attachment". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "attachment". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "attachment". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "attachment". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "attachment". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "attachment". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "attachment". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "attachment". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "attachment". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "attachment". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "attachment". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "attachment". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "attachment". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "attachment". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "attachment". Panics if the index + // is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "attachment". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "attachment". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "attachment". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "attachment". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "attachment" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_attributedTo_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_attributedTo_interface.go new file mode 100644 index 000000000..21fc973c4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_attributedTo_interface.go @@ -0,0 +1,1816 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsAttributedToPropertyIterator represents a single value for the +// "attributedTo" property. +type ActivityStreamsAttributedToPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAttributedToPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsAttributedTo". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsAttributedToPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsAttributedToPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies one or more entities to which this object is attributed. The +// attributed entities might not be Actors. For instance, an object might be +// attributed to the completion of another activity. +// +// Example 67 (https://www.w3.org/TR/activitystreams-vocabulary/#ex65-jsonld): +// { +// "attributedTo": { +// "name": "Sally", +// "type": "Person" +// }, +// "name": "My cat taking a nap", +// "type": "Image", +// "url": "http://example.org/cat.jpeg" +// } +// +// Example 68 (https://www.w3.org/TR/activitystreams-vocabulary/#ex66-jsonld): +// { +// "attributedTo": [ +// "http://joe.example.org", +// { +// "name": "Sally", +// "type": "Person" +// } +// ], +// "name": "My cat taking a nap", +// "type": "Image", +// "url": "http://example.org/cat.jpeg" +// } +type ActivityStreamsAttributedToProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "attributedTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "attributedTo". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "attributedTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "attributedTo". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "attributedTo". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "attributedTo". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "attributedTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "attributedTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "attributedTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "attributedTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "attributedTo". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "attributedTo". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "attributedTo". Invalidates + // iterators that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "attributedTo" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "attributedTo". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "attributedTo". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "attributedTo". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsAttributedToPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsAttributedToPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsAttributedToPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "attributedTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "attributedTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "attributedTo". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "attributedTo". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "attributedTo". + // Existing elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "attributedTo". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "attributedTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "attributedTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "attributedTo". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "attributedTo". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "attributedTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "attributedTo". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "attributedTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "attributedTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "attributedTo". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "attributedTo". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "attributedTo". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "attributedTo". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "attributedTo" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAttributedToProperty) bool + // Name returns the name of this property ("attributedTo") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "attributedTo". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "attributedTo". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "attributedTo". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "attributedTo". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "attributedTo". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "attributedTo". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "attributedTo". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "attributedTo". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "attributedTo". Invalidates + // all iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "attributedTo". Invalidates + // all iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "attributedTo". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "attributedTo". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "attributedTo". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "attributedTo". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "attributedTo". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "attributedTo". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "attributedTo". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "attributedTo". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "attributedTo". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "attributedTo". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "attributedTo". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "attributedTo", regardless of its type. Panics if the + // index is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "attributedTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "attributedTo". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "attributedTo". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "attributedTo". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "attributedTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "attributedTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "attributedTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "attributedTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "attributedTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "attributedTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "attributedTo". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "attributedTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "attributedTo". Panics if the index is out + // of bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "attributedTo". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + // Panics if the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "attributedTo" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_audience_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_audience_interface.go new file mode 100644 index 000000000..4cab35481 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_audience_interface.go @@ -0,0 +1,1799 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsAudiencePropertyIterator represents a single value for the +// "audience" property. +type ActivityStreamsAudiencePropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAudiencePropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsAudience". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsAudiencePropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsAudiencePropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies one or more entities that represent the total population of entities +// for which the object can considered to be relevant. +// +// Example 69 (https://www.w3.org/TR/activitystreams-vocabulary/#ex113-jsonld): +// { +// "audience": { +// "name": "ExampleCo LLC", +// "type": "http://example.org/Organization" +// }, +// "content": "Thursday will be a company-wide holiday. Enjoy your day +// off!", +// "name": "Holiday announcement", +// "type": "Note" +// } +type ActivityStreamsAudienceProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "audience". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "audience". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "audience". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "audience". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "audience". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "audience". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "audience". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "audience". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "audience". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "audience". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "audience". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "audience". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "audience" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "audience". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "audience". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "audience". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsAudiencePropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsAudiencePropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsAudiencePropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "audience". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "audience". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "audience". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "audience". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "audience". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "audience". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "audience". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "audience". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "audience". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "audience". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "audience". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "audience". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "audience". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "audience". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "audience" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsAudienceProperty) bool + // Name returns the name of this property ("audience") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "audience". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "audience". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "audience". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "audience". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "audience". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "audience". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "audience". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "audience". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "audience". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "audience". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "audience". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "audience". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "audience". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "audience". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "audience". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "audience". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "audience". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "audience". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "audience". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "audience". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "audience". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "audience". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "audience", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "audience". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "audience". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "audience". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "audience". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "audience". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "audience". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "audience". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "audience". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "audience". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "audience". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "audience". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "audience". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "audience". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "audience". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "audience". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "audience". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "audience" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_bcc_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_bcc_interface.go new file mode 100644 index 000000000..8ba50913c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_bcc_interface.go @@ -0,0 +1,1783 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsBccPropertyIterator represents a single value for the "bcc" +// property. +type ActivityStreamsBccPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsBccPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsBcc". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsBccPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsBccPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies one or more Objects that are part of the private secondary audience +// of this Object. +// +// Example 70 (https://www.w3.org/TR/activitystreams-vocabulary/#ex68-jsonld): +// { +// "actor": "http://sally.example.org", +// "bcc": "http://joe.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally offered a post to John", +// "target": "http://john.example.org", +// "type": "Offer" +// } +type ActivityStreamsBccProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "bcc". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "bcc". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "bcc". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "bcc". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "bcc". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "bcc". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "bcc". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "bcc". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "bcc". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "bcc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "bcc". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "bcc" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "bcc". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "bcc". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "bcc". Invalidates iterators that are traversing using + // Prev. Returns an error if the type is not a valid one to set for + // this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsBccPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsBccPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsBccPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "bcc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "bcc". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "bcc". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "bcc". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "bcc". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "bcc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "bcc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "bcc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "bcc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "bcc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "bcc". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "bcc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "bcc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "bcc". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "bcc" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsBccProperty) bool + // Name returns the name of this property ("bcc") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "bcc". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "bcc". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "bcc". Invalidates all + // iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "bcc". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "bcc". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "bcc". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "bcc". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "bcc". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "bcc". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "bcc". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "bcc". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "bcc". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "bcc". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "bcc". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "bcc". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "bcc". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "bcc". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "bcc", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "bcc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "bcc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "bcc". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "bcc". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "bcc". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "bcc". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "bcc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "bcc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "bcc". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "bcc". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "bcc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "bcc". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "bcc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "bcc". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "bcc". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "bcc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "bcc". Invalidates all iterators. Returns an error if the + // type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "bcc" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_bto_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_bto_interface.go new file mode 100644 index 000000000..db61aac22 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_bto_interface.go @@ -0,0 +1,1783 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsBtoPropertyIterator represents a single value for the "bto" +// property. +type ActivityStreamsBtoPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsBtoPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsBto". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsBtoPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsBtoPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies an Object that is part of the private primary audience of this +// Object. +// +// Example 71 (https://www.w3.org/TR/activitystreams-vocabulary/#ex69-jsonld): +// { +// "actor": "http://sally.example.org", +// "bto": "http://joe.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally offered a post to John", +// "target": "http://john.example.org", +// "type": "Offer" +// } +type ActivityStreamsBtoProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "bto". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "bto". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "bto". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "bto". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "bto". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "bto". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "bto". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "bto". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "bto". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "bto". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "bto". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "bto". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "bto" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "bto". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "bto". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "bto". Invalidates iterators that are traversing using + // Prev. Returns an error if the type is not a valid one to set for + // this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsBtoPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsBtoPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsBtoPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "bto". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "bto". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "bto". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "bto". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "bto". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "bto". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "bto". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "bto". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "bto". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "bto". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "bto". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "bto". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "bto". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "bto". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "bto" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsBtoProperty) bool + // Name returns the name of this property ("bto") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "bto". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "bto". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "bto". Invalidates all + // iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "bto". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "bto". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "bto". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "bto". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "bto". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "bto". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "bto". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "bto". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "bto". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "bto". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "bto". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "bto". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "bto". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "bto". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "bto". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "bto", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "bto". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "bto". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "bto". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "bto". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "bto". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "bto". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "bto". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "bto". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "bto". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "bto". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "bto". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "bto". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "bto". Panics if the index is out + // of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "bto". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "bto". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "bto". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "bto". Invalidates all iterators. Returns an error if the + // type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "bto" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_cc_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_cc_interface.go new file mode 100644 index 000000000..121769e0f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_cc_interface.go @@ -0,0 +1,1779 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsCcPropertyIterator represents a single value for the "cc" +// property. +type ActivityStreamsCcPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsCcPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsCc". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsCcPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsCcPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies an Object that is part of the public secondary audience of this +// Object. +// +// Example 72 (https://www.w3.org/TR/activitystreams-vocabulary/#ex70-jsonld): +// { +// "actor": "http://sally.example.org", +// "cc": "http://joe.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally offered a post to John", +// "target": "http://john.example.org", +// "type": "Offer" +// } +type ActivityStreamsCcProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "cc". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "cc". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "cc". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "cc". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "cc". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "cc". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "cc". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "cc". Invalidates iterators that are traversing using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "cc" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "cc". Invalidates iterators that are traversing using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "cc". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "cc". Invalidates iterators that are traversing using + // Prev. Returns an error if the type is not a valid one to set for + // this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsCcPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsCcPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsCcPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "cc". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "cc". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "cc". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "cc". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property "cc". + // Existing elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "cc". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "cc". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "cc". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "cc" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsCcProperty) bool + // Name returns the name of this property ("cc") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "cc". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "cc". Invalidates all + // iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "cc". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "cc". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "cc". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "cc". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "cc". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "cc". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "cc". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "cc". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "cc". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "cc". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "cc". Invalidates all iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "cc". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "cc". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "cc". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "cc". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "cc", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "cc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "cc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "cc". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "cc". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "cc". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "cc". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "cc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "cc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "cc". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "cc". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "cc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "cc". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "cc". Panics if the index is out + // of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "cc". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "cc". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "cc". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "cc". Invalidates all iterators. Returns an error if the + // type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "cc" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_closed_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_closed_interface.go new file mode 100644 index 000000000..d76858c2e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_closed_interface.go @@ -0,0 +1,1838 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import ( + "net/url" + "time" +) + +// ActivityStreamsClosedPropertyIterator represents a single value for the +// "closed" property. +type ActivityStreamsClosedPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // GetXMLSchemaBoolean returns the value of this property. When + // IsXMLSchemaBoolean returns false, GetXMLSchemaBoolean will return + // an arbitrary value. + GetXMLSchemaBoolean() bool + // GetXMLSchemaDateTime returns the value of this property. When + // IsXMLSchemaDateTime returns false, GetXMLSchemaDateTime will return + // an arbitrary value. + GetXMLSchemaDateTime() time.Time + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // IsXMLSchemaBoolean returns true if this property has a type of + // "boolean". When true, use the GetXMLSchemaBoolean and + // SetXMLSchemaBoolean methods to access and set this property. + IsXMLSchemaBoolean() bool + // IsXMLSchemaDateTime returns true if this property has a type of + // "dateTime". When true, use the GetXMLSchemaDateTime and + // SetXMLSchemaDateTime methods to access and set this property. + IsXMLSchemaDateTime() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsClosedPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsClosed". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsClosedPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsClosedPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error + // SetXMLSchemaBoolean sets the value of this property. Calling + // IsXMLSchemaBoolean afterwards returns true. + SetXMLSchemaBoolean(v bool) + // SetXMLSchemaDateTime sets the value of this property. Calling + // IsXMLSchemaDateTime afterwards returns true. + SetXMLSchemaDateTime(v time.Time) +} + +// Indicates that a question has been closed, and answers are no longer accepted. +// +// Example 93 (https://www.w3.org/TR/activitystreams-vocabulary/#ex94b-jsonld): +// { +// "closed": "2016-05-10T00:00:00Z", +// "name": "What is the answer?", +// "type": "Question" +// } +type ActivityStreamsClosedProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "closed". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "closed". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "closed". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "closed". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "closed". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "closed". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "closed". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "closed". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "closed". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "closed". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "closed". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "closed" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "closed". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "closed". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // AppendXMLSchemaBoolean appends a boolean value to the back of a list of + // the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendXMLSchemaBoolean(v bool) + // AppendXMLSchemaDateTime appends a dateTime value to the back of a list + // of the property "closed". Invalidates iterators that are traversing + // using Prev. + AppendXMLSchemaDateTime(v time.Time) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsClosedPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsClosedPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsClosedPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "closed". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "closed". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "closed". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "closed". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "closed". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "closed". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "closed". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "closed". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "closed". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "closed". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "closed". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "closed". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "closed". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "closed". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "closed". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "closed". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "closed". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "closed". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "closed". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "closed". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "closed". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // InsertXMLSchemaBoolean inserts a boolean value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertXMLSchemaBoolean(idx int, v bool) + // InsertXMLSchemaDateTime inserts a dateTime value at the specified index + // for a property "closed". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertXMLSchemaDateTime(idx int, v time.Time) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "closed" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsClosedProperty) bool + // Name returns the name of this property ("closed") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "closed". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "closed". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "closed". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "closed". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "closed". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "closed". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "closed". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "closed". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "closed". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "closed". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "closed". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "closed". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "closed". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "closed". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "closed". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "closed". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // PrependXMLSchemaBoolean prepends a boolean value to the front of a list + // of the property "closed". Invalidates all iterators. + PrependXMLSchemaBoolean(v bool) + // PrependXMLSchemaDateTime prepends a dateTime value to the front of a + // list of the property "closed". Invalidates all iterators. + PrependXMLSchemaDateTime(v time.Time) + // Remove deletes an element at the specified index from a list of the + // property "closed", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "closed". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "closed". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "closed". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "closed". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "closed". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "closed". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "closed". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "closed". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "closed". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "closed". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "closed". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "closed". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "closed". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "closed". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "closed". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // SetXMLSchemaBoolean sets a boolean value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaBoolean(idx int, v bool) + // SetXMLSchemaDateTime sets a dateTime value to be at the specified index + // for the property "closed". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaDateTime(idx int, v time.Time) + // Swap swaps the location of values at two indices for the "closed" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_content_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_content_interface.go new file mode 100644 index 000000000..c7ca5caff --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_content_interface.go @@ -0,0 +1,208 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsContentPropertyIterator represents a single value for the +// "content" property. +type ActivityStreamsContentPropertyIterator interface { + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetLanguage returns the value for the specified BCP47 language code, or + // an empty string if it is either not a language map or no value is + // present. + GetLanguage(bcp47 string) string + // GetRDFLangString returns the value of this property. When + // IsRDFLangString returns false, GetRDFLangString will return an + // arbitrary value. + GetRDFLangString() map[string]string + // GetXMLSchemaString returns the value of this property. When + // IsXMLSchemaString returns false, GetXMLSchemaString will return an + // arbitrary value. + GetXMLSchemaString() string + // HasAny returns true if any of the values are set, except for the + // natural language map. When true, the specific has, getter, and + // setter methods may be used to determine what kind of value there is + // to access and set this property. To determine if the property was + // set as a natural language map, use the IsRDFLangString method + // instead. + HasAny() bool + // HasLanguage returns true if the natural language map has an entry for + // the specified BCP47 language code. + HasLanguage(bcp47 string) bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsRDFLangString returns true if this property has a type of + // "langString". When true, use the GetRDFLangString and + // SetRDFLangString methods to access and set this property.. To + // determine if the property was set as a natural language map, use + // the IsRDFLangString method instead. + IsRDFLangString() bool + // IsXMLSchemaString returns true if this property has a type of "string". + // When true, use the GetXMLSchemaString and SetXMLSchemaString + // methods to access and set this property.. To determine if the + // property was set as a natural language map, use the IsRDFLangString + // method instead. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsContentPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsContent". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsContentPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsContentPropertyIterator + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetLanguage sets the value for the specified BCP47 language code. + SetLanguage(bcp47, value string) + // SetRDFLangString sets the value of this property and clears the natural + // language map. Calling IsRDFLangString afterwards will return true. + // Calling IsRDFLangString afterwards returns false. + SetRDFLangString(v map[string]string) + // SetXMLSchemaString sets the value of this property and clears the + // natural language map. Calling IsXMLSchemaString afterwards will + // return true. Calling IsRDFLangString afterwards returns false. + SetXMLSchemaString(v string) +} + +// The content or textual representation of the Object encoded as a JSON string. +// By default, the value of content is HTML. The mediaType property can be +// used in the object to indicate a different content type. The content MAY be +// expressed using multiple language-tagged values. +// +// Example 114 (https://www.w3.org/TR/activitystreams-vocabulary/#ex130-jsonld): +// { +// "content": "A \u003cem\u003esimple\u003c/em\u003e note", +// "summary": "A simple note", +// "type": "Note" +// } +// +// Example 115 (https://www.w3.org/TR/activitystreams-vocabulary/#ex131-jsonld): +// { +// "contentMap": { +// "en": "A \u003cem\u003esimple\u003c/em\u003e note", +// "es": "Una nota \u003cem\u003esencilla\u003c/em\u003e", +// "zh-hans": "一段\u003cem\u003e简单的\u003c/em\u003e笔记" +// }, +// "summary": "A simple note", +// "type": "Note" +// } +// +// Example 116 (https://www.w3.org/TR/activitystreams-vocabulary/#ex130b-jsonld): +// { +// "content": "## A simple note\nA simple markdown `note`", +// "mediaType": "text/markdown", +// "summary": "A simple note", +// "type": "Note" +// } +type ActivityStreamsContentProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "content" + AppendIRI(v *url.URL) + // AppendRDFLangString appends a langString value to the back of a list of + // the property "content". Invalidates iterators that are traversing + // using Prev. + AppendRDFLangString(v map[string]string) + // AppendXMLSchemaString appends a string value to the back of a list of + // the property "content". Invalidates iterators that are traversing + // using Prev. + AppendXMLSchemaString(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsContentPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsContentPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsContentPropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "content". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertRDFLangString inserts a langString value at the specified index + // for a property "content". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertRDFLangString(idx int, v map[string]string) + // InsertXMLSchemaString inserts a string value at the specified index for + // a property "content". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertXMLSchemaString(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "content" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsContentProperty) bool + // Name returns the name of this property ("content") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "content". + PrependIRI(v *url.URL) + // PrependRDFLangString prepends a langString value to the front of a list + // of the property "content". Invalidates all iterators. + PrependRDFLangString(v map[string]string) + // PrependXMLSchemaString prepends a string value to the front of a list + // of the property "content". Invalidates all iterators. + PrependXMLSchemaString(v string) + // Remove deletes an element at the specified index from a list of the + // property "content", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetIRI sets an IRI value to be at the specified index for the property + // "content". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetRDFLangString sets a langString value to be at the specified index + // for the property "content". Panics if the index is out of bounds. + // Invalidates all iterators. + SetRDFLangString(idx int, v map[string]string) + // SetXMLSchemaString sets a string value to be at the specified index for + // the property "content". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaString(idx int, v string) + // Swap swaps the location of values at two indices for the "content" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_context_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_context_interface.go new file mode 100644 index 000000000..f3c9aacdf --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_context_interface.go @@ -0,0 +1,1805 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsContextPropertyIterator represents a single value for the +// "context" property. +type ActivityStreamsContextPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsContextPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsContext". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsContextPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsContextPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies the context within which the object exists or an activity was +// performed. The notion of "context" used is intentionally vague. The +// intended function is to serve as a means of grouping objects and activities +// that share a common originating context or purpose. An example could be all +// activities relating to a common project or event. +// +// Example 73 (https://www.w3.org/TR/activitystreams-vocabulary/#ex171-jsonld): +// { +// "items": [ +// { +// "actor": "http://sally.example.org", +// "context": "http://example.org/contexts/1", +// "object": "http://example.org/posts/1", +// "target": "http://john.example.org", +// "type": "Offer" +// }, +// { +// "actor": "http://joe.example.org", +// "context": "http://example.org/contexts/1", +// "object": "http://example.org/posts/2", +// "type": "Like" +// } +// ], +// "summary": "Activities in context 1", +// "type": "Collection" +// } +type ActivityStreamsContextProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "context". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "context". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "context". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "context". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "context". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "context". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "context". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "context". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "context". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "context". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "context". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "context" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "context". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "context". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "context". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsContextPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsContextPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsContextPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "context". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "context". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "context". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "context". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "context". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "context". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "context". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "context". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "context". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "context". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "context". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "context". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "context". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "context". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "context". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "context". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "context". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "context". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "context". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "context". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "context". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "context" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsContextProperty) bool + // Name returns the name of this property ("context") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "context". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "context". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "context". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "context". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "context". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "context". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "context". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "context". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "context". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "context". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "context". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "context". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "context". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "context". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "context". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "context". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "context". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "context". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "context". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "context". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "context". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "context". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "context". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "context". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "context". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "context". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "context". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "context". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "context". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "context". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "context". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "context". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "context", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "context". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "context". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "context". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "context". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "context". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "context". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "context". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "context". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "context". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "context". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "context". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "context". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "context". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "context". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "context". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "context". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "context" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_current_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_current_interface.go new file mode 100644 index 000000000..f866e5b4e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_current_interface.go @@ -0,0 +1,133 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// In a paged Collection, indicates the page that contains the most recently +// updated member items. +// +// Example 74 (https://www.w3.org/TR/activitystreams-vocabulary/#ex71-jsonld): +// { +// "current": "http://example.org/collection", +// "items": [ +// "http://example.org/posts/1", +// "http://example.org/posts/2", +// "http://example.org/posts/3" +// ], +// "summary": "Sally's blog posts", +// "totalItems": 3, +// "type": "Collection" +// } +// +// Example 75 (https://www.w3.org/TR/activitystreams-vocabulary/#ex72-jsonld): +// { +// "current": { +// "summary": "Most Recent Items", +// "type": "owl:Class", +// "url": "http://example.org/collection" +// }, +// "items": [ +// "http://example.org/posts/1", +// "http://example.org/posts/2", +// "http://example.org/posts/3" +// ], +// "summary": "Sally's blog posts", +// "totalItems": 3, +// "type": "Collection" +// } +type ActivityStreamsCurrentProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsCurrentProperty) bool + // Name returns the name of this property: "current". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_deleted_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_deleted_interface.go new file mode 100644 index 000000000..3ea99ed29 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_deleted_interface.go @@ -0,0 +1,63 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import ( + "net/url" + "time" +) + +// On a Tombstone object, the deleted property is a timestamp for when the object +// was deleted. +// +// Example 143 (https://www.w3.org/TR/activitystreams-vocabulary/#ex185c-jsonld): +// { +// "deleted": "2016-05-03T00:00:00Z", +// "summary": "This image has been deleted", +// "type": "Tombstone" +// } +type ActivityStreamsDeletedProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaDateTime afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaDateTime + // returns false, Get will return any arbitrary value. + Get() time.Time + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaDateTime returns true if this property is set and not an IRI. + IsXMLSchemaDateTime() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsDeletedProperty) bool + // Name returns the name of this property: "deleted". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaDateTime + // afterwards will return true. + Set(v time.Time) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_describes_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_describes_interface.go new file mode 100644 index 000000000..777dc1218 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_describes_interface.go @@ -0,0 +1,743 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// On a Profile object, the describes property identifies the object described by +// the Profile. +// +// Example 141 (https://www.w3.org/TR/activitystreams-vocabulary/#ex185-jsonld): +// { +// "describes": { +// "name": "Sally", +// "type": "Person" +// }, +// "summary": "Sally's profile", +// "type": "Profile", +// "url": "http://sally.example.org" +// } +type ActivityStreamsDescribesProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsDescribesProperty) bool + // Name returns the name of this property: "describes". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_duration_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_duration_interface.go new file mode 100644 index 000000000..e7ad69e8a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_duration_interface.go @@ -0,0 +1,67 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import ( + "net/url" + "time" +) + +// When the object describes a time-bound resource, such as an audio or video, a +// meeting, etc, the duration property indicates the object's approximate +// duration. The value MUST be expressed as an xsd:duration as defined by +// [xmlschema11-2], section 3.3.6 (e.g. a period of 5 seconds is represented +// as "PT5S"). +// +// Example 119 (https://www.w3.org/TR/activitystreams-vocabulary/#ex134-jsonld): +// { +// "duration": "PT2H", +// "name": "Birds Flying", +// "type": "Video", +// "url": "http://example.org/video.mkv" +// } +type ActivityStreamsDurationProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaDuration afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaDuration + // returns false, Get will return any arbitrary value. + Get() time.Duration + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaDuration returns true if this property is set and not an IRI. + IsXMLSchemaDuration() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsDurationProperty) bool + // Name returns the name of this property: "duration". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaDuration + // afterwards will return true. + Set(v time.Duration) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_endTime_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_endTime_interface.go new file mode 100644 index 000000000..a89c8414b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_endTime_interface.go @@ -0,0 +1,65 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import ( + "net/url" + "time" +) + +// The date and time describing the actual or expected ending time of the object. +// When used with an Activity object, for instance, the endTime property +// specifies the moment the activity concluded or is expected to conclude. +// +// Example 127 (https://www.w3.org/TR/activitystreams-vocabulary/#ex144-jsonld): +// { +// "endTime": "2015-01-01T06:00:00-08:00", +// "name": "Going-Away Party for Jim", +// "startTime": "2014-12-31T23:00:00-08:00", +// "type": "Event" +// } +type ActivityStreamsEndTimeProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaDateTime afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaDateTime + // returns false, Get will return any arbitrary value. + Get() time.Time + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaDateTime returns true if this property is set and not an IRI. + IsXMLSchemaDateTime() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsEndTimeProperty) bool + // Name returns the name of this property: "endTime". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaDateTime + // afterwards will return true. + Set(v time.Time) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_first_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_first_interface.go new file mode 100644 index 000000000..4c5ddc1c8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_first_interface.go @@ -0,0 +1,123 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// In a paged Collection, indicates the furthest preceeding page of items in the +// collection. +// +// Example 76 (https://www.w3.org/TR/activitystreams-vocabulary/#ex73-jsonld): +// { +// "first": "http://example.org/collection?page=0", +// "summary": "Sally's blog posts", +// "totalItems": 3, +// "type": "Collection" +// } +// +// Example 77 (https://www.w3.org/TR/activitystreams-vocabulary/#ex74-jsonld): +// { +// "first": { +// "summary": "First Page", +// "type": "owl:Class", +// "url": "http://example.org/collection?page=0" +// }, +// "summary": "Sally's blog posts", +// "totalItems": 3, +// "type": "Collection" +// } +type ActivityStreamsFirstProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsFirstProperty) bool + // Name returns the name of this property: "first". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_followers_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_followers_interface.go new file mode 100644 index 000000000..76fa32a4b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_followers_interface.go @@ -0,0 +1,128 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// A link to an ActivityStreams collection of the actors that follow this actor +// +// Example 9 (https://www.w3.org/TR/activitypub/#example9): +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// { +// "@language": "ja" +// } +// ], +// "followers": "https://kenzoishii.example.com/followers.json", +// "following": "https://kenzoishii.example.com/following.json", +// "icon": [ +// "https://kenzoishii.example.com/image/165987aklre4" +// ], +// "id": "https://kenzoishii.example.com/", +// "inbox": "https://kenzoishii.example.com/inbox.json", +// "liked": "https://kenzoishii.example.com/liked.json", +// "name": "石井健蔵", +// "outbox": "https://kenzoishii.example.com/feed.json", +// "preferredUsername": "kenzoishii", +// "summary": "この方はただの例です", +// "type": "Person" +// } +type ActivityStreamsFollowersProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsFollowersProperty) bool + // Name returns the name of this property: "followers". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_following_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_following_interface.go new file mode 100644 index 000000000..c4fe861ca --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_following_interface.go @@ -0,0 +1,129 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// A link to an ActivityStreams collection of the actors that this actor is +// following +// +// Example 9 (https://www.w3.org/TR/activitypub/#example9): +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// { +// "@language": "ja" +// } +// ], +// "followers": "https://kenzoishii.example.com/followers.json", +// "following": "https://kenzoishii.example.com/following.json", +// "icon": [ +// "https://kenzoishii.example.com/image/165987aklre4" +// ], +// "id": "https://kenzoishii.example.com/", +// "inbox": "https://kenzoishii.example.com/inbox.json", +// "liked": "https://kenzoishii.example.com/liked.json", +// "name": "石井健蔵", +// "outbox": "https://kenzoishii.example.com/feed.json", +// "preferredUsername": "kenzoishii", +// "summary": "この方はただの例です", +// "type": "Person" +// } +type ActivityStreamsFollowingProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsFollowingProperty) bool + // Name returns the name of this property: "following". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_formerType_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_formerType_interface.go new file mode 100644 index 000000000..61a066c37 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_formerType_interface.go @@ -0,0 +1,1770 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsFormerTypePropertyIterator represents a single value for the +// "formerType" property. +type ActivityStreamsFormerTypePropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // GetXMLSchemaString returns the value of this property. When + // IsXMLSchemaString returns false, GetXMLSchemaString will return an + // arbitrary value. + GetXMLSchemaString() string + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // IsXMLSchemaString returns true if this property has a type of "string". + // When true, use the GetXMLSchemaString and SetXMLSchemaString + // methods to access and set this property. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsFormerTypePropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsFormerType". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsFormerTypePropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsFormerTypePropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error + // SetXMLSchemaString sets the value of this property. Calling + // IsXMLSchemaString afterwards returns true. + SetXMLSchemaString(v string) +} + +// On a Tombstone object, the formerType property identifies the type of the +// object that was deleted. +// +// Example 142 (https://www.w3.org/TR/activitystreams-vocabulary/#ex185b-jsonld): +// { +// "formerType": "/Image", +// "summary": "This image has been deleted", +// "type": "Tombstone", +// "url": "http://example.org/image/2" +// } +type ActivityStreamsFormerTypeProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "formerType". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "formerType". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "formerType". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "formerType". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "formerType". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "formerType". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "formerType". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "formerType". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "formerType". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "formerType". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "formerType". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "formerType". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "formerType" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "formerType". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // AppendXMLSchemaString appends a string value to the back of a list of + // the property "formerType". Invalidates iterators that are + // traversing using Prev. + AppendXMLSchemaString(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsFormerTypePropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsFormerTypePropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsFormerTypePropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "formerType". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "formerType". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "formerType". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "formerType". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "formerType". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "formerType". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "formerType". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "formerType". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "formerType". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "formerType". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "formerType". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "formerType". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "formerType". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "formerType". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "formerType". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "formerType". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "formerType". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "formerType". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "formerType". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "formerType". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "formerType". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "formerType". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // InsertXMLSchemaString inserts a string value at the specified index for + // a property "formerType". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertXMLSchemaString(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "formerType" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsFormerTypeProperty) bool + // Name returns the name of this property ("formerType") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "formerType". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "formerType". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "formerType". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "formerType". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "formerType". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "formerType". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "formerType". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "formerType". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "formerType". Invalidates + // all iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "formerType". Invalidates + // all iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "formerType". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "formerType". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "formerType". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "formerType". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "formerType". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "formerType". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "formerType". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "formerType". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "formerType". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "formerType". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // PrependXMLSchemaString prepends a string value to the front of a list + // of the property "formerType". Invalidates all iterators. + PrependXMLSchemaString(v string) + // Remove deletes an element at the specified index from a list of the + // property "formerType", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "formerType". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "formerType". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "formerType". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "formerType". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "formerType". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "formerType". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "formerType". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "formerType". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "formerType". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "formerType". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "formerType". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "formerType". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "formerType". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "formerType". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "formerType". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "formerType". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "formerType". Panics if the index + // is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "formerType". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "formerType". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "formerType". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "formerType". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // SetXMLSchemaString sets a string value to be at the specified index for + // the property "formerType". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaString(idx int, v string) + // Swap swaps the location of values at two indices for the "formerType" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_generator_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_generator_interface.go new file mode 100644 index 000000000..0f9059d10 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_generator_interface.go @@ -0,0 +1,1798 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsGeneratorPropertyIterator represents a single value for the +// "generator" property. +type ActivityStreamsGeneratorPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsGeneratorPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsGenerator". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsGeneratorPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsGeneratorPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies the entity (e.g. an application) that generated the object. +// +// Example 78 (https://www.w3.org/TR/activitystreams-vocabulary/#ex75-jsonld): +// { +// "content": "This is all there is.", +// "generator": { +// "name": "Exampletron 3000", +// "type": "Application" +// }, +// "summary": "A simple note", +// "type": "Note" +// } +type ActivityStreamsGeneratorProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "generator". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "generator". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "generator". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "generator". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "generator". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "generator". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "generator". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "generator". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "generator". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "generator". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "generator". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "generator". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "generator" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "generator". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "generator". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "generator". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsGeneratorPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsGeneratorPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsGeneratorPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "generator". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "generator". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "generator". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "generator". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "generator". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "generator". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "generator". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "generator". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "generator". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "generator". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "generator". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "generator". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "generator". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "generator". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "generator". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "generator". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "generator". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "generator". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "generator". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "generator". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "generator". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "generator". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "generator" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsGeneratorProperty) bool + // Name returns the name of this property ("generator") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "generator". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "generator". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "generator". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "generator". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "generator". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "generator". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "generator". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "generator". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "generator". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "generator". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "generator". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "generator". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "generator". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "generator". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "generator". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "generator". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "generator". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "generator". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "generator". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "generator". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "generator". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "generator". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "generator", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "generator". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "generator". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "generator". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "generator". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "generator". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "generator". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "generator". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "generator". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "generator". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "generator". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "generator". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "generator". Panics if the index + // is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "generator". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "generator". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "generator". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "generator". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "generator" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_height_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_height_interface.go new file mode 100644 index 000000000..aa0a2eb19 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_height_interface.go @@ -0,0 +1,63 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// On a Link, specifies a hint as to the rendering height in device-independent +// pixels of the linked resource. +// +// Example 120 (https://www.w3.org/TR/activitystreams-vocabulary/#ex136-jsonld): +// { +// "height": 100, +// "type": "Link", +// "url": "http://example.org/image.png", +// "width": 100 +// } +type ActivityStreamsHeightProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return false. + Clear() + // Get returns the value of this property. When + // IsXMLSchemaNonNegativeInteger returns false, Get will return any + // arbitrary value. + Get() int + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaNonNegativeInteger returns true if this property is set and + // not an IRI. + IsXMLSchemaNonNegativeInteger() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsHeightProperty) bool + // Name returns the name of this property: "height". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return true. + Set(v int) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_href_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_href_interface.go new file mode 100644 index 000000000..fb8a8428c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_href_interface.go @@ -0,0 +1,60 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// The target resource pointed to by a Link. +// +// Example 121 (https://www.w3.org/TR/activitystreams-vocabulary/#ex137-jsonld): +// { +// "mediaType": "text/html", +// "name": "Previous", +// "type": "Link", +// "url": "http://example.org/abc" +// } +type ActivityStreamsHrefProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaAnyURI afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaAnyURI returns + // false, Get will return any arbitrary value. + Get() *url.URL + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaAnyURI returns true if this property is set and not an IRI. + IsXMLSchemaAnyURI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsHrefProperty) bool + // Name returns the name of this property: "href". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaAnyURI + // afterwards will return true. + Set(v *url.URL) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_hreflang_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_hreflang_interface.go new file mode 100644 index 000000000..c7c344467 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_hreflang_interface.go @@ -0,0 +1,62 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Hints as to the language used by the target resource. Value MUST be a [BCP47] +// Language-Tag. +// +// Example 122 (https://www.w3.org/TR/activitystreams-vocabulary/#ex138-jsonld): +// { +// "hreflang": "en", +// "mediaType": "text/html", +// "name": "Previous", +// "type": "Link", +// "url": "http://example.org/abc" +// } +type ActivityStreamsHreflangProperty interface { + // Clear ensures no value of this property is set. Calling IsRFCBcp47 + // afterwards will return false. + Clear() + // Get returns the value of this property. When IsRFCBcp47 returns false, + // Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsRFCBcp47 returns true if this property is set and not an IRI. + IsRFCBcp47() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsHreflangProperty) bool + // Name returns the name of this property: "hreflang". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsRFCBcp47 afterwards will + // return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_icon_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_icon_interface.go new file mode 100644 index 000000000..ea1dc73cb --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_icon_interface.go @@ -0,0 +1,249 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsIconPropertyIterator represents a single value for the "icon" +// property. +type ActivityStreamsIconPropertyIterator interface { + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsIconPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsIcon". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsIconPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsIconPropertyIterator + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Indicates an entity that describes an icon for this object. The image should +// have an aspect ratio of one (horizontal) to one (vertical) and should be +// suitable for presentation at a small size. +// +// Example 79 (https://www.w3.org/TR/activitystreams-vocabulary/#ex77-jsonld): +// { +// "content": "This is all there is.", +// "icon": { +// "height": 16, +// "name": "Note icon", +// "type": "Image", +// "url": "http://example.org/note.png", +// "width": 16 +// }, +// "summary": "A simple note", +// "type": "Note" +// } +// +// Example 80 (https://www.w3.org/TR/activitystreams-vocabulary/#ex78-jsonld): +// { +// "content": "A simple note", +// "icon": [ +// { +// "height": 16, +// "summary": "Note (16x16)", +// "type": "Image", +// "url": "http://example.org/note1.png", +// "width": 16 +// }, +// { +// "height": 32, +// "summary": "Note (32x32)", +// "type": "Image", +// "url": "http://example.org/note2.png", +// "width": 32 +// } +// ], +// "summary": "A simple note", +// "type": "Note" +// } +type ActivityStreamsIconProperty interface { + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "icon". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "icon". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "icon". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendIRI appends an IRI value to the back of a list of the property + // "icon" + AppendIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "icon". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsIconPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsIconPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsIconPropertyIterator + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "icon". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "icon". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "icon". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // Insert inserts an IRI value at the specified index for a property + // "icon". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "icon". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "icon" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsIconProperty) bool + // Name returns the name of this property ("icon") with any alias. + Name() string + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "icon". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "icon". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "icon". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependIRI prepends an IRI value to the front of a list of the property + // "icon". + PrependIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "icon". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "icon", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "icon". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "icon". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "icon". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetIRI sets an IRI value to be at the specified index for the property + // "icon". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetType sets an arbitrary type value to the specified index of the + // property "icon". Invalidates all iterators. Returns an error if the + // type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "icon" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_image_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_image_interface.go new file mode 100644 index 000000000..3605d6d29 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_image_interface.go @@ -0,0 +1,242 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsImagePropertyIterator represents a single value for the "image" +// property. +type ActivityStreamsImagePropertyIterator interface { + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsImagePropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsImage". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsImagePropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsImagePropertyIterator + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Indicates an entity that describes an image for this object. Unlike the icon +// property, there are no aspect ratio or display size limitations assumed. +// +// Example 81 (https://www.w3.org/TR/activitystreams-vocabulary/#ex80-jsonld): +// { +// "content": "This is all there is.", +// "image": { +// "name": "A Cat", +// "type": "Image", +// "url": "http://example.org/cat.png" +// }, +// "name": "A simple note", +// "type": "Note" +// } +// +// Example 82 (https://www.w3.org/TR/activitystreams-vocabulary/#ex81-jsonld): +// { +// "content": "This is all there is.", +// "image": [ +// { +// "name": "Cat 1", +// "type": "Image", +// "url": "http://example.org/cat1.png" +// }, +// { +// "name": "Cat 2", +// "type": "Image", +// "url": "http://example.org/cat2.png" +// } +// ], +// "name": "A simple note", +// "type": "Note" +// } +type ActivityStreamsImageProperty interface { + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "image". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "image". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "image". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendIRI appends an IRI value to the back of a list of the property + // "image" + AppendIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "image". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsImagePropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsImagePropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsImagePropertyIterator + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "image". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "image". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "image". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // Insert inserts an IRI value at the specified index for a property + // "image". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "image". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "image" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsImageProperty) bool + // Name returns the name of this property ("image") with any alias. + Name() string + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "image". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "image". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "image". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependIRI prepends an IRI value to the front of a list of the property + // "image". + PrependIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "image". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "image", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "image". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "image". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "image". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetIRI sets an IRI value to be at the specified index for the property + // "image". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetType sets an arbitrary type value to the specified index of the + // property "image". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "image" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_inReplyTo_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_inReplyTo_interface.go new file mode 100644 index 000000000..fbd95d13a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_inReplyTo_interface.go @@ -0,0 +1,1807 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsInReplyToPropertyIterator represents a single value for the +// "inReplyTo" property. +type ActivityStreamsInReplyToPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsInReplyToPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsInReplyTo". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsInReplyToPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsInReplyToPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Indicates one or more entities for which this object is considered a response. +// +// Example 83 (https://www.w3.org/TR/activitystreams-vocabulary/#ex83-jsonld): +// { +// "content": "This is all there is.", +// "inReplyTo": { +// "content": "What else is there?", +// "summary": "Previous note", +// "type": "Note" +// }, +// "summary": "A simple note", +// "type": "Note" +// } +// +// Example 84 (https://www.w3.org/TR/activitystreams-vocabulary/#ex84-jsonld): +// { +// "content": "This is all there is.", +// "inReplyTo": "http://example.org/posts/1", +// "summary": "A simple note", +// "type": "Note" +// } +type ActivityStreamsInReplyToProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "inReplyTo". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "inReplyTo". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "inReplyTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "inReplyTo". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "inReplyTo". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "inReplyTo". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "inReplyTo". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "inReplyTo". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "inReplyTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "inReplyTo". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "inReplyTo". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "inReplyTo" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "inReplyTo". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "inReplyTo". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "inReplyTo". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsInReplyToPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsInReplyToPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsInReplyToPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "inReplyTo". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "inReplyTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "inReplyTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "inReplyTo". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "inReplyTo". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "inReplyTo". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "inReplyTo". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "inReplyTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "inReplyTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "inReplyTo". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "inReplyTo". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "inReplyTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "inReplyTo". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "inReplyTo". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "inReplyTo". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "inReplyTo". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "inReplyTo". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "inReplyTo". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "inReplyTo". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "inReplyTo". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "inReplyTo". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "inReplyTo". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "inReplyTo" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsInReplyToProperty) bool + // Name returns the name of this property ("inReplyTo") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "inReplyTo". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "inReplyTo". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "inReplyTo". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "inReplyTo". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "inReplyTo". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "inReplyTo". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "inReplyTo". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "inReplyTo". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "inReplyTo". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "inReplyTo". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "inReplyTo". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "inReplyTo". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "inReplyTo". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "inReplyTo". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "inReplyTo". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "inReplyTo". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "inReplyTo". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "inReplyTo". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "inReplyTo". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "inReplyTo". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "inReplyTo". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "inReplyTo", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "inReplyTo". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "inReplyTo". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "inReplyTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "inReplyTo". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "inReplyTo". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "inReplyTo". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "inReplyTo". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "inReplyTo". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "inReplyTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "inReplyTo". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "inReplyTo". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "inReplyTo". Panics if the index + // is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "inReplyTo". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "inReplyTo". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "inReplyTo". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "inReplyTo". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "inReplyTo" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_inbox_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_inbox_interface.go new file mode 100644 index 000000000..94692cbe6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_inbox_interface.go @@ -0,0 +1,104 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// A reference to an ActivityStreams OrderedCollection comprised of all the +// messages received by the actor. +// +// Example 9 (https://www.w3.org/TR/activitypub/#example9): +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// { +// "@language": "ja" +// } +// ], +// "followers": "https://kenzoishii.example.com/followers.json", +// "following": "https://kenzoishii.example.com/following.json", +// "icon": [ +// "https://kenzoishii.example.com/image/165987aklre4" +// ], +// "id": "https://kenzoishii.example.com/", +// "inbox": "https://kenzoishii.example.com/inbox.json", +// "liked": "https://kenzoishii.example.com/liked.json", +// "name": "石井健蔵", +// "outbox": "https://kenzoishii.example.com/feed.json", +// "preferredUsername": "kenzoishii", +// "summary": "この方はただの例です", +// "type": "Person" +// } +type ActivityStreamsInboxProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsInboxProperty) bool + // Name returns the name of this property: "inbox". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_instrument_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_instrument_interface.go new file mode 100644 index 000000000..d89ec6208 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_instrument_interface.go @@ -0,0 +1,1804 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsInstrumentPropertyIterator represents a single value for the +// "instrument" property. +type ActivityStreamsInstrumentPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsInstrumentPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsInstrument". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsInstrumentPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsInstrumentPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies one or more objects used (or to be used) in the completion of an +// Activity. +// +// Example 85 (https://www.w3.org/TR/activitystreams-vocabulary/#ex101-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "instrument": { +// "name": "Acme Music Service", +// "type": "Service" +// }, +// "object": "http://example.org/foo.mp3", +// "summary": "Sally listened to a piece of music on the Acme Music +// Service", +// "type": "Listen" +// } +type ActivityStreamsInstrumentProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "instrument". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "instrument". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "instrument". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "instrument". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "instrument". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "instrument". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "instrument". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "instrument". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "instrument". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "instrument". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "instrument". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "instrument". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "instrument" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "instrument". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "instrument". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "instrument". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsInstrumentPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsInstrumentPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsInstrumentPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "instrument". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "instrument". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "instrument". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "instrument". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "instrument". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "instrument". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "instrument". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "instrument". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "instrument". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "instrument". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "instrument". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "instrument". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "instrument". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "instrument". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "instrument". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "instrument". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "instrument". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "instrument". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "instrument". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "instrument". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "instrument". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "instrument". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "instrument" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsInstrumentProperty) bool + // Name returns the name of this property ("instrument") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "instrument". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "instrument". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "instrument". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "instrument". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "instrument". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "instrument". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "instrument". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "instrument". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "instrument". Invalidates + // all iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "instrument". Invalidates + // all iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "instrument". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "instrument". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "instrument". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "instrument". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "instrument". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "instrument". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "instrument". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "instrument". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "instrument". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "instrument". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "instrument". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "instrument", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "instrument". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "instrument". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "instrument". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "instrument". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "instrument". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "instrument". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "instrument". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "instrument". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "instrument". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "instrument". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "instrument". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "instrument". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "instrument". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "instrument". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "instrument". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "instrument". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "instrument". Panics if the index + // is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "instrument". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "instrument". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "instrument". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "instrument". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "instrument" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_items_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_items_interface.go new file mode 100644 index 000000000..f5b0ee06d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_items_interface.go @@ -0,0 +1,1794 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsItemsPropertyIterator represents a single value for the "items" +// property. +type ActivityStreamsItemsPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsItemsPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsItems". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsItemsPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsItemsPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies the items contained in a collection. The items might be ordered or +// unordered. +// +// Example 89 (https://www.w3.org/TR/activitystreams-vocabulary/#ex91-jsonld): +// { +// "items": [ +// { +// "name": "Reminder for Going-Away Party", +// "type": "Note" +// }, +// { +// "name": "Meeting 2016-11-17", +// "type": "Note" +// } +// ], +// "summary": "Sally's notes", +// "totalItems": 2, +// "type": "Collection" +// } +type ActivityStreamsItemsProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "items". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "items". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "items". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "items". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "items". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "items". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "items". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "items". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "items". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "items". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "items". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "items" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "items". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "items". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "items". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsItemsPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsItemsPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsItemsPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "items". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "items". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "items". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "items". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "items". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "items". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "items". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "items". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "items". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "items". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "items". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "items". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "items". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "items". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "items". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "items". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "items". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "items". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "items". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "items". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "items". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "items". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "items" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsItemsProperty) bool + // Name returns the name of this property ("items") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "items". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "items". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "items". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "items". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "items". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "items". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "items". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "items". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "items". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "items". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "items". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "items". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "items". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "items". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "items". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "items". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "items". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "items". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "items". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "items". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "items". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "items". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "items". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "items". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "items", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "items". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "items". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "items". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "items". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "items". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "items". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "items". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "items". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "items". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "items". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "items". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "items". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "items". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "items". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "items". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "items". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "items". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "items". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "items" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_last_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_last_interface.go new file mode 100644 index 000000000..4a5806fc8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_last_interface.go @@ -0,0 +1,122 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// In a paged Collection, indicates the furthest proceeding page of the collection. +// +// Example 86 (https://www.w3.org/TR/activitystreams-vocabulary/#ex87-jsonld): +// { +// "last": "http://example.org/collection?page=1", +// "summary": "A collection", +// "totalItems": 3, +// "type": "Collection" +// } +// +// Example 87 (https://www.w3.org/TR/activitystreams-vocabulary/#ex88-jsonld): +// { +// "last": { +// "summary": "Last Page", +// "type": "owl:Class", +// "url": "http://example.org/collection?page=1" +// }, +// "summary": "A collection", +// "totalItems": 5, +// "type": "Collection" +// } +type ActivityStreamsLastProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsLastProperty) bool + // Name returns the name of this property: "last". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_latitude_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_latitude_interface.go new file mode 100644 index 000000000..18f1e92ff --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_latitude_interface.go @@ -0,0 +1,62 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// The latitude of a place +// +// Example 124 (https://www.w3.org/TR/activitystreams-vocabulary/#ex140-jsonld): +// { +// "latitude": 36.75, +// "longitude": 119.7667, +// "name": "Fresno Area", +// "radius": 15, +// "type": "Place", +// "units": "miles" +// } +type ActivityStreamsLatitudeProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaFloat afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaFloat returns + // false, Get will return any arbitrary value. + Get() float64 + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaFloat returns true if this property is set and not an IRI. + IsXMLSchemaFloat() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsLatitudeProperty) bool + // Name returns the name of this property: "latitude". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaFloat + // afterwards will return true. + Set(v float64) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_liked_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_liked_interface.go new file mode 100644 index 000000000..58ecd0466 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_liked_interface.go @@ -0,0 +1,128 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// A link to an ActivityStreams collection of objects this actor has liked +// +// Example 9 (https://www.w3.org/TR/activitypub/#example9): +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// { +// "@language": "ja" +// } +// ], +// "followers": "https://kenzoishii.example.com/followers.json", +// "following": "https://kenzoishii.example.com/following.json", +// "icon": [ +// "https://kenzoishii.example.com/image/165987aklre4" +// ], +// "id": "https://kenzoishii.example.com/", +// "inbox": "https://kenzoishii.example.com/inbox.json", +// "liked": "https://kenzoishii.example.com/liked.json", +// "name": "石井健蔵", +// "outbox": "https://kenzoishii.example.com/feed.json", +// "preferredUsername": "kenzoishii", +// "summary": "この方はただの例です", +// "type": "Person" +// } +type ActivityStreamsLikedProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsLikedProperty) bool + // Name returns the name of this property: "liked". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_likes_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_likes_interface.go new file mode 100644 index 000000000..fac33a4e0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_likes_interface.go @@ -0,0 +1,105 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// This is a list of all Like activities with this object as the object property +type ActivityStreamsLikesProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsLikesProperty) bool + // Name returns the name of this property: "likes". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_location_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_location_interface.go new file mode 100644 index 000000000..ca310a438 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_location_interface.go @@ -0,0 +1,1801 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsLocationPropertyIterator represents a single value for the +// "location" property. +type ActivityStreamsLocationPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsLocationPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsLocation". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsLocationPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsLocationPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Indicates one or more physical or logical locations associated with the object. +// +// Example 88 (https://www.w3.org/TR/activitystreams-vocabulary/#ex89-jsonld): +// { +// "location": { +// "altitude": 90, +// "latitude": 56.78, +// "longitude": 12.34, +// "name": "Over the Arabian Sea, east of Socotra Island Nature +// Sanctuary", +// "type": "Place", +// "units": "m" +// }, +// "name": "Sally", +// "type": "Person" +// } +type ActivityStreamsLocationProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "location". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "location". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "location". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "location". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "location". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "location". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "location". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "location". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "location". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "location". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "location". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "location". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "location" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "location". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "location". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "location". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsLocationPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsLocationPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsLocationPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "location". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "location". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "location". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "location". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "location". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "location". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "location". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "location". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "location". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "location". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "location". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "location". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "location". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "location". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "location" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsLocationProperty) bool + // Name returns the name of this property ("location") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "location". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "location". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "location". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "location". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "location". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "location". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "location". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "location". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "location". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "location". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "location". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "location". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "location". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "location". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "location". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "location". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "location". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "location". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "location". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "location". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "location". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "location". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "location". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "location". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "location". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "location". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "location". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "location". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "location". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "location". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "location". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "location". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "location", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "location". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "location". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "location". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "location". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "location". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "location". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "location". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "location". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "location". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "location". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "location". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "location". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "location". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "location". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "location". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "location". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "location" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_longitude_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_longitude_interface.go new file mode 100644 index 000000000..43a2c437e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_longitude_interface.go @@ -0,0 +1,62 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// The longitude of a place +// +// Example 125 (https://www.w3.org/TR/activitystreams-vocabulary/#ex141-jsonld): +// { +// "latitude": 36.75, +// "longitude": 119.7667, +// "name": "Fresno Area", +// "radius": 15, +// "type": "Place", +// "units": "miles" +// } +type ActivityStreamsLongitudeProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaFloat afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaFloat returns + // false, Get will return any arbitrary value. + Get() float64 + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaFloat returns true if this property is set and not an IRI. + IsXMLSchemaFloat() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsLongitudeProperty) bool + // Name returns the name of this property: "longitude". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaFloat + // afterwards will return true. + Set(v float64) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_mediaType_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_mediaType_interface.go new file mode 100644 index 000000000..a379e4a67 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_mediaType_interface.go @@ -0,0 +1,64 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// When used on a Link, identifies the MIME media type of the referenced resource. +// When used on an Object, identifies the MIME media type of the value of the +// content property. If not specified, the content property is assumed to +// contain text/html content. +// +// Example 126 (https://www.w3.org/TR/activitystreams-vocabulary/#ex142-jsonld): +// { +// "hreflang": "en", +// "mediaType": "text/html", +// "name": "Next", +// "type": "Link", +// "url": "http://example.org/abc" +// } +type ActivityStreamsMediaTypeProperty interface { + // Clear ensures no value of this property is set. Calling IsRFCRfc2045 + // afterwards will return false. + Clear() + // Get returns the value of this property. When IsRFCRfc2045 returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsRFCRfc2045 returns true if this property is set and not an IRI. + IsRFCRfc2045() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsMediaTypeProperty) bool + // Name returns the name of this property: "mediaType". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsRFCRfc2045 afterwards + // will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_name_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_name_interface.go new file mode 100644 index 000000000..14ce0164c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_name_interface.go @@ -0,0 +1,197 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsNamePropertyIterator represents a single value for the "name" +// property. +type ActivityStreamsNamePropertyIterator interface { + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetLanguage returns the value for the specified BCP47 language code, or + // an empty string if it is either not a language map or no value is + // present. + GetLanguage(bcp47 string) string + // GetRDFLangString returns the value of this property. When + // IsRDFLangString returns false, GetRDFLangString will return an + // arbitrary value. + GetRDFLangString() map[string]string + // GetXMLSchemaString returns the value of this property. When + // IsXMLSchemaString returns false, GetXMLSchemaString will return an + // arbitrary value. + GetXMLSchemaString() string + // HasAny returns true if any of the values are set, except for the + // natural language map. When true, the specific has, getter, and + // setter methods may be used to determine what kind of value there is + // to access and set this property. To determine if the property was + // set as a natural language map, use the IsRDFLangString method + // instead. + HasAny() bool + // HasLanguage returns true if the natural language map has an entry for + // the specified BCP47 language code. + HasLanguage(bcp47 string) bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsRDFLangString returns true if this property has a type of + // "langString". When true, use the GetRDFLangString and + // SetRDFLangString methods to access and set this property.. To + // determine if the property was set as a natural language map, use + // the IsRDFLangString method instead. + IsRDFLangString() bool + // IsXMLSchemaString returns true if this property has a type of "string". + // When true, use the GetXMLSchemaString and SetXMLSchemaString + // methods to access and set this property.. To determine if the + // property was set as a natural language map, use the IsRDFLangString + // method instead. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsNamePropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsName". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsNamePropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsNamePropertyIterator + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetLanguage sets the value for the specified BCP47 language code. + SetLanguage(bcp47, value string) + // SetRDFLangString sets the value of this property and clears the natural + // language map. Calling IsRDFLangString afterwards will return true. + // Calling IsRDFLangString afterwards returns false. + SetRDFLangString(v map[string]string) + // SetXMLSchemaString sets the value of this property and clears the + // natural language map. Calling IsXMLSchemaString afterwards will + // return true. Calling IsRDFLangString afterwards returns false. + SetXMLSchemaString(v string) +} + +// A simple, human-readable, plain-text name for the object. HTML markup MUST NOT +// be included. The name MAY be expressed using multiple language-tagged +// values. +// +// Example 117 (https://www.w3.org/TR/activitystreams-vocabulary/#ex132-jsonld): +// { +// "name": "A simple note", +// "type": "Note" +// } +// +// Example 118 (https://www.w3.org/TR/activitystreams-vocabulary/#ex133-jsonld): +// { +// "nameMap": { +// "en": "A simple note", +// "es": "Una nota sencilla", +// "zh-hans": "一段简单的笔记" +// }, +// "type": "Note" +// } +type ActivityStreamsNameProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "name" + AppendIRI(v *url.URL) + // AppendRDFLangString appends a langString value to the back of a list of + // the property "name". Invalidates iterators that are traversing + // using Prev. + AppendRDFLangString(v map[string]string) + // AppendXMLSchemaString appends a string value to the back of a list of + // the property "name". Invalidates iterators that are traversing + // using Prev. + AppendXMLSchemaString(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsNamePropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsNamePropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsNamePropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "name". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertRDFLangString inserts a langString value at the specified index + // for a property "name". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertRDFLangString(idx int, v map[string]string) + // InsertXMLSchemaString inserts a string value at the specified index for + // a property "name". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertXMLSchemaString(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "name" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsNameProperty) bool + // Name returns the name of this property ("name") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "name". + PrependIRI(v *url.URL) + // PrependRDFLangString prepends a langString value to the front of a list + // of the property "name". Invalidates all iterators. + PrependRDFLangString(v map[string]string) + // PrependXMLSchemaString prepends a string value to the front of a list + // of the property "name". Invalidates all iterators. + PrependXMLSchemaString(v string) + // Remove deletes an element at the specified index from a list of the + // property "name", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetIRI sets an IRI value to be at the specified index for the property + // "name". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetRDFLangString sets a langString value to be at the specified index + // for the property "name". Panics if the index is out of bounds. + // Invalidates all iterators. + SetRDFLangString(idx int, v map[string]string) + // SetXMLSchemaString sets a string value to be at the specified index for + // the property "name". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaString(idx int, v string) + // Swap swaps the location of values at two indices for the "name" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_next_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_next_interface.go new file mode 100644 index 000000000..82bd7925c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_next_interface.go @@ -0,0 +1,130 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// In a paged Collection, indicates the next page of items. +// +// Example 95 (https://www.w3.org/TR/activitystreams-vocabulary/#ex96-jsonld): +// { +// "items": [ +// "http://example.org/posts/1", +// "http://example.org/posts/2", +// "http://example.org/posts/3" +// ], +// "next": "http://example.org/collection?page=2", +// "summary": "Page 2 of Sally's blog posts", +// "type": "CollectionPage" +// } +// +// Example 96 (https://www.w3.org/TR/activitystreams-vocabulary/#ex97-jsonld): +// { +// "items": [ +// "http://example.org/posts/1", +// "http://example.org/posts/2", +// "http://example.org/posts/3" +// ], +// "next": { +// "name": "Next Page", +// "type": "owl:Class", +// "url": "http://example.org/collection?page=2" +// }, +// "summary": "Page 2 of Sally's blog posts", +// "type": "CollectionPage" +// } +type ActivityStreamsNextProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsNextProperty) bool + // Name returns the name of this property: "next". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_object_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_object_interface.go new file mode 100644 index 000000000..6feaa13b2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_object_interface.go @@ -0,0 +1,1812 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsObjectPropertyIterator represents a single value for the +// "object" property. +type ActivityStreamsObjectPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsObjectPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsObject". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsObjectPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsObjectPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// When used within an Activity, describes the direct object of the activity. For +// instance, in the activity "John added a movie to his wishlist", the object +// of the activity is the movie added. When used within a Relationship +// describes the entity to which the subject is related. +// +// Example 97 (https://www.w3.org/TR/activitystreams-vocabulary/#ex98-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally liked a post", +// "type": "Like" +// } +// +// Example 98 (https://www.w3.org/TR/activitystreams-vocabulary/#ex99-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": { +// "content": "A simple note", +// "type": "Note" +// }, +// "type": "Like" +// } +// +// Example 99 (https://www.w3.org/TR/activitystreams-vocabulary/#ex100-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": [ +// "http://example.org/posts/1", +// { +// "content": "That is a tree.", +// "summary": "A simple note", +// "type": "Note" +// } +// ], +// "summary": "Sally liked a note", +// "type": "Like" +// } +type ActivityStreamsObjectProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "object". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "object". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "object". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "object". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "object". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "object". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "object". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "object". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "object". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "object". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "object". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "object" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "object". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "object". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "object". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsObjectPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsObjectPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsObjectPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "object". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "object". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "object". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "object". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "object". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "object". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "object". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "object". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "object". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "object". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "object". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "object". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "object". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "object". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "object". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "object". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "object". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "object". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "object". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "object". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "object". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "object". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "object" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsObjectProperty) bool + // Name returns the name of this property ("object") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "object". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "object". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "object". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "object". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "object". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "object". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "object". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "object". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "object". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "object". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "object". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "object". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "object". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "object". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "object". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "object". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "object". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "object". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "object". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "object". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "object". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "object". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "object". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "object". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "object", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "object". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "object". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "object". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "object". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "object". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "object". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "object". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "object". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "object". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "object". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "object". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "object". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "object". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "object". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "object". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "object". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "object" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_oneOf_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_oneOf_interface.go new file mode 100644 index 000000000..e8c8fa9ce --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_oneOf_interface.go @@ -0,0 +1,1794 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsOneOfPropertyIterator represents a single value for the "oneOf" +// property. +type ActivityStreamsOneOfPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsOneOfPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsOneOf". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsOneOfPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsOneOfPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies an exclusive option for a Question. Use of oneOf implies that the +// Question can have only a single answer. To indicate that a Question can +// have multiple answers, use anyOf. +// +// Example 91 (https://www.w3.org/TR/activitystreams-vocabulary/#ex93-jsonld): +// { +// "name": "What is the answer?", +// "oneOf": [ +// { +// "name": "Option A", +// "type": "Note" +// }, +// { +// "name": "Option B", +// "type": "Note" +// } +// ], +// "type": "Question" +// } +type ActivityStreamsOneOfProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "oneOf". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "oneOf". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "oneOf". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "oneOf". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "oneOf". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "oneOf". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "oneOf". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "oneOf". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "oneOf". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "oneOf". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "oneOf". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "oneOf" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "oneOf". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "oneOf". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "oneOf". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsOneOfPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsOneOfPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsOneOfPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "oneOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "oneOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "oneOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "oneOf". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "oneOf". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "oneOf". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "oneOf". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "oneOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "oneOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "oneOf". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "oneOf". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "oneOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "oneOf". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "oneOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "oneOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "oneOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "oneOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "oneOf". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "oneOf". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "oneOf". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "oneOf". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "oneOf". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "oneOf" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsOneOfProperty) bool + // Name returns the name of this property ("oneOf") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "oneOf". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "oneOf". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "oneOf". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "oneOf". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "oneOf". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "oneOf". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "oneOf". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "oneOf". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "oneOf". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "oneOf". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "oneOf". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "oneOf". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "oneOf". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "oneOf". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "oneOf". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "oneOf". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "oneOf". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "oneOf", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "oneOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "oneOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "oneOf". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "oneOf". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "oneOf". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "oneOf". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "oneOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "oneOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "oneOf". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "oneOf". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "oneOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "oneOf". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "oneOf". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "oneOf". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "oneOf". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "oneOf". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "oneOf". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "oneOf". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "oneOf" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_orderedItems_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_orderedItems_interface.go new file mode 100644 index 000000000..a5ef17c0c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_orderedItems_interface.go @@ -0,0 +1,1806 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsOrderedItemsPropertyIterator represents a single value for the +// "orderedItems" property. +type ActivityStreamsOrderedItemsPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsOrderedItemsPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsOrderedItems". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsOrderedItemsPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsOrderedItemsPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies the items contained in an ordered collection. The items are ordered. +// +// Example 90 (https://www.w3.org/TR/activitystreams-vocabulary/#ex92-jsonld): +// { +// "orderedItems": [ +// { +// "name": "Meeting 2016-11-17", +// "type": "Note" +// }, +// { +// "name": "Reminder for Going-Away Party", +// "type": "Note" +// } +// ], +// "summary": "Sally's notes", +// "totalItems": 2, +// "type": "OrderedCollection" +// } +type ActivityStreamsOrderedItemsProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "orderedItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "orderedItems". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "orderedItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "orderedItems". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "orderedItems". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "orderedItems". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "orderedItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "orderedItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "orderedItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "orderedItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "orderedItems". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "orderedItems". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "orderedItems". Invalidates + // iterators that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "orderedItems" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "orderedItems". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "orderedItems". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "orderedItems". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsOrderedItemsPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsOrderedItemsPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsOrderedItemsPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "orderedItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "orderedItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "orderedItems". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "orderedItems". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "orderedItems". + // Existing elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "orderedItems". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "orderedItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "orderedItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "orderedItems". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "orderedItems". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "orderedItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "orderedItems". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "orderedItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "orderedItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "orderedItems". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "orderedItems". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "orderedItems". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "orderedItems". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "orderedItems" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsOrderedItemsProperty) bool + // Name returns the name of this property ("orderedItems") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "orderedItems". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "orderedItems". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "orderedItems". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "orderedItems". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "orderedItems". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "orderedItems". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "orderedItems". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "orderedItems". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "orderedItems". Invalidates + // all iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "orderedItems". Invalidates + // all iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "orderedItems". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "orderedItems". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "orderedItems". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "orderedItems". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "orderedItems". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "orderedItems". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "orderedItems". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "orderedItems". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "orderedItems". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "orderedItems". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "orderedItems". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "orderedItems", regardless of its type. Panics if the + // index is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "orderedItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "orderedItems". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "orderedItems". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "orderedItems". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "orderedItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "orderedItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "orderedItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "orderedItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "orderedItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "orderedItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "orderedItems". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "orderedItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "orderedItems". Panics if the index is out + // of bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "orderedItems". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + // Panics if the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "orderedItems" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_origin_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_origin_interface.go new file mode 100644 index 000000000..3fb7edc53 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_origin_interface.go @@ -0,0 +1,1795 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsOriginPropertyIterator represents a single value for the +// "origin" property. +type ActivityStreamsOriginPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsOriginPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsOrigin". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsOriginPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsOriginPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Describes an indirect object of the activity from which the activity is +// directed. The precise meaning of the origin is the object of the English +// preposition "from". For instance, in the activity "John moved an item to +// List B from List A", the origin of the activity is "List A". +// +// Example 94 (https://www.w3.org/TR/activitystreams-vocabulary/#ex166-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "origin": { +// "name": "List A", +// "type": "Collection" +// }, +// "summary": "Sally moved a post from List A to List B", +// "target": { +// "name": "List B", +// "type": "Collection" +// }, +// "type": "Move" +// } +type ActivityStreamsOriginProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "origin". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "origin". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "origin". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "origin". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "origin". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "origin". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "origin". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "origin". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "origin". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "origin". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "origin". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "origin" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "origin". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "origin". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "origin". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsOriginPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsOriginPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsOriginPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "origin". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "origin". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "origin". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "origin". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "origin". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "origin". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "origin". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "origin". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "origin". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "origin". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "origin". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "origin". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "origin". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "origin". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "origin". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "origin". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "origin". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "origin". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "origin". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "origin". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "origin". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "origin". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "origin" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsOriginProperty) bool + // Name returns the name of this property ("origin") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "origin". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "origin". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "origin". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "origin". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "origin". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "origin". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "origin". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "origin". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "origin". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "origin". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "origin". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "origin". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "origin". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "origin". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "origin". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "origin". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "origin". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "origin". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "origin", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "origin". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "origin". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "origin". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "origin". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "origin". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "origin". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "origin". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "origin". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "origin". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "origin". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "origin". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "origin". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "origin". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "origin". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "origin". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "origin". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "origin" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_outbox_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_outbox_interface.go new file mode 100644 index 000000000..6638bdcde --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_outbox_interface.go @@ -0,0 +1,104 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// An ActivityStreams OrderedCollection comprised of all the messages produced by +// the actor +// +// Example 9 (https://www.w3.org/TR/activitypub/#example9): +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// { +// "@language": "ja" +// } +// ], +// "followers": "https://kenzoishii.example.com/followers.json", +// "following": "https://kenzoishii.example.com/following.json", +// "icon": [ +// "https://kenzoishii.example.com/image/165987aklre4" +// ], +// "id": "https://kenzoishii.example.com/", +// "inbox": "https://kenzoishii.example.com/inbox.json", +// "liked": "https://kenzoishii.example.com/liked.json", +// "name": "石井健蔵", +// "outbox": "https://kenzoishii.example.com/feed.json", +// "preferredUsername": "kenzoishii", +// "summary": "この方はただの例です", +// "type": "Person" +// } +type ActivityStreamsOutboxProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsOutboxProperty) bool + // Name returns the name of this property: "outbox". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_partOf_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_partOf_interface.go new file mode 100644 index 000000000..0da6db8e5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_partOf_interface.go @@ -0,0 +1,145 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Identifies the Collection to which a CollectionPage objects items belong. +// +// Example 123 (https://www.w3.org/TR/activitystreams-vocabulary/#ex139-jsonld): +// { +// "id": "http://example.org/collection?page=1", +// "items": [ +// { +// "name": "Pizza Toppings to Try", +// "type": "Note" +// }, +// { +// "name": "Thought about California", +// "type": "Note" +// } +// ], +// "partOf": "http://example.org/collection", +// "summary": "Page 1 of Sally's notes", +// "type": "CollectionPage" +// } +type ActivityStreamsPartOfProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsPartOfProperty) bool + // Name returns the name of this property: "partOf". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_preferredUsername_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_preferredUsername_interface.go new file mode 100644 index 000000000..3cc09f68d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_preferredUsername_interface.go @@ -0,0 +1,89 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// A short username which may be used to refer to the actor, with no uniqueness +// guarantees +type ActivityStreamsPreferredUsernameProperty interface { + // Clear ensures no value and no language map for this property is set. + // Calling HasAny or any of the 'Is' methods afterwards will return + // false. + Clear() + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetLanguage returns the value for the specified BCP47 language code, or + // an empty string if it is either not a language map or no value is + // present. + GetLanguage(bcp47 string) string + // GetRDFLangString returns the value of this property. When + // IsRDFLangString returns false, GetRDFLangString will return an + // arbitrary value. + GetRDFLangString() map[string]string + // GetXMLSchemaString returns the value of this property. When + // IsXMLSchemaString returns false, GetXMLSchemaString will return an + // arbitrary value. + GetXMLSchemaString() string + // HasAny returns true if any of the values are set, except for the + // natural language map. When true, the specific has, getter, and + // setter methods may be used to determine what kind of value there is + // to access and set this property. To determine if the property was + // set as a natural language map, use the IsRDFLangString method + // instead. + HasAny() bool + // HasLanguage returns true if the natural language map has an entry for + // the specified BCP47 language code. + HasLanguage(bcp47 string) bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsRDFLangString returns true if this property has a type of + // "langString". When true, use the GetRDFLangString and + // SetRDFLangString methods to access and set this property.. To + // determine if the property was set as a natural language map, use + // the IsRDFLangString method instead. + IsRDFLangString() bool + // IsXMLSchemaString returns true if this property has a type of "string". + // When true, use the GetXMLSchemaString and SetXMLSchemaString + // methods to access and set this property.. To determine if the + // property was set as a natural language map, use the IsRDFLangString + // method instead. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsPreferredUsernameProperty) bool + // Name returns the name of this property: "preferredUsername". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetLanguage sets the value for the specified BCP47 language code. + SetLanguage(bcp47, value string) + // SetRDFLangString sets the value of this property and clears the natural + // language map. Calling IsRDFLangString afterwards will return true. + // Calling IsRDFLangString afterwards returns false. + SetRDFLangString(v map[string]string) + // SetXMLSchemaString sets the value of this property and clears the + // natural language map. Calling IsXMLSchemaString afterwards will + // return true. Calling IsRDFLangString afterwards returns false. + SetXMLSchemaString(v string) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_prev_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_prev_interface.go new file mode 100644 index 000000000..b7b4567e8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_prev_interface.go @@ -0,0 +1,130 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// In a paged Collection, identifies the previous page of items. +// +// Example 100 (https://www.w3.org/TR/activitystreams-vocabulary/#ex104-jsonld): +// { +// "items": [ +// "http://example.org/posts/1", +// "http://example.org/posts/2", +// "http://example.org/posts/3" +// ], +// "prev": "http://example.org/collection?page=1", +// "summary": "Page 1 of Sally's blog posts", +// "type": "CollectionPage" +// } +// +// Example 101 (https://www.w3.org/TR/activitystreams-vocabulary/#ex105-jsonld): +// { +// "items": [ +// "http://example.org/posts/1", +// "http://example.org/posts/2", +// "http://example.org/posts/3" +// ], +// "prev": { +// "name": "Previous Page", +// "type": "owl:Class", +// "url": "http://example.org/collection?page=1" +// }, +// "summary": "Page 1 of Sally's blog posts", +// "type": "CollectionPage" +// } +type ActivityStreamsPrevProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsPrevProperty) bool + // Name returns the name of this property: "prev". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_preview_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_preview_interface.go new file mode 100644 index 000000000..d7045f9c9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_preview_interface.go @@ -0,0 +1,1796 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsPreviewPropertyIterator represents a single value for the +// "preview" property. +type ActivityStreamsPreviewPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsPreviewPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsPreview". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsPreviewPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsPreviewPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies an entity that provides a preview of this object. +// +// Example 102 (https://www.w3.org/TR/activitystreams-vocabulary/#ex106-jsonld): +// { +// "duration": "PT2H30M", +// "name": "Cool New Movie", +// "preview": { +// "duration": "PT1M", +// "name": "Trailer", +// "type": "Video", +// "url": { +// "mediaType": "video/mkv", +// "url": "http://example.org/trailer.mkv" +// } +// }, +// "type": "Video" +// } +type ActivityStreamsPreviewProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "preview". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "preview". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "preview". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "preview". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "preview". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "preview". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "preview". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "preview". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "preview". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "preview". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "preview". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "preview" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "preview". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "preview". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "preview". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsPreviewPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsPreviewPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsPreviewPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "preview". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "preview". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "preview". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "preview". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "preview". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "preview". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "preview". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "preview". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "preview". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "preview". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "preview". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "preview". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "preview". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "preview". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "preview". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "preview". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "preview". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "preview". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "preview". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "preview". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "preview". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "preview" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsPreviewProperty) bool + // Name returns the name of this property ("preview") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "preview". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "preview". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "preview". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "preview". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "preview". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "preview". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "preview". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "preview". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "preview". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "preview". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "preview". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "preview". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "preview". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "preview". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "preview". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "preview". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "preview". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "preview". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "preview". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "preview". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "preview". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "preview". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "preview", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "preview". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "preview". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "preview". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "preview". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "preview". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "preview". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "preview". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "preview". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "preview". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "preview". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "preview". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "preview". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "preview". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "preview". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "preview". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "preview". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "preview" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_published_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_published_interface.go new file mode 100644 index 000000000..360a43837 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_published_interface.go @@ -0,0 +1,63 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import ( + "net/url" + "time" +) + +// The date and time at which the object was published +// +// Example 128 (https://www.w3.org/TR/activitystreams-vocabulary/#ex145-jsonld): +// { +// "content": "Fish swim.", +// "published": "2014-12-12T12:12:12Z", +// "summary": "A simple note", +// "type": "Note" +// } +type ActivityStreamsPublishedProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaDateTime afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaDateTime + // returns false, Get will return any arbitrary value. + Get() time.Time + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaDateTime returns true if this property is set and not an IRI. + IsXMLSchemaDateTime() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsPublishedProperty) bool + // Name returns the name of this property: "published". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaDateTime + // afterwards will return true. + Set(v time.Time) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_radius_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_radius_interface.go new file mode 100644 index 000000000..9ddde511e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_radius_interface.go @@ -0,0 +1,64 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// The radius from the given latitude and longitude for a Place. The units is +// expressed by the units property. If units is not specified, the default is +// assumed to be "m" indicating "meters". +// +// Example 130 (https://www.w3.org/TR/activitystreams-vocabulary/#ex147-jsonld): +// { +// "latitude": 36.75, +// "longitude": 119.7667, +// "name": "Fresno Area", +// "radius": 15, +// "type": "Place", +// "units": "miles" +// } +type ActivityStreamsRadiusProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaFloat afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaFloat returns + // false, Get will return any arbitrary value. + Get() float64 + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaFloat returns true if this property is set and not an IRI. + IsXMLSchemaFloat() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsRadiusProperty) bool + // Name returns the name of this property: "radius". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaFloat + // afterwards will return true. + Set(v float64) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_rel_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_rel_interface.go new file mode 100644 index 000000000..0d3f0956d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_rel_interface.go @@ -0,0 +1,145 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsRelPropertyIterator represents a single value for the "rel" +// property. +type ActivityStreamsRelPropertyIterator interface { + // Get returns the value of this property. When IsRFCRfc5988 returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsRFCRfc5988 returns true if this property is set and not an IRI. + IsRFCRfc5988() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsRelPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsRel". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsRelPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsRelPropertyIterator + // Set sets the value of this property. Calling IsRFCRfc5988 afterwards + // will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} + +// A link relation associated with a Link. The value MUST conform to both the +// [HTML5] and [RFC5988] "link relation" definitions. In the [HTML5], any +// string not containing the "space" U+0020, "tab" (U+0009), "LF" (U+000A), +// "FF" (U+000C), "CR" (U+000D) or "," (U+002C) characters can be used as a +// valid link relation. +// +// Example 131 (https://www.w3.org/TR/activitystreams-vocabulary/#ex149-jsonld): +// { +// "hreflang": "en", +// "mediaType": "text/html", +// "name": "Preview", +// "rel": [ +// "canonical", +// "preview" +// ], +// "type": "Link", +// "url": "http://example.org/abc" +// } +type ActivityStreamsRelProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "rel" + AppendIRI(v *url.URL) + // AppendRFCRfc5988 appends a rfc5988 value to the back of a list of the + // property "rel". Invalidates iterators that are traversing using + // Prev. + AppendRFCRfc5988(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsRelPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsRelPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsRelPropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "rel". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertRFCRfc5988 inserts a rfc5988 value at the specified index for a + // property "rel". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertRFCRfc5988(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "rel" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsRelProperty) bool + // Name returns the name of this property ("rel") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "rel". + PrependIRI(v *url.URL) + // PrependRFCRfc5988 prepends a rfc5988 value to the front of a list of + // the property "rel". Invalidates all iterators. + PrependRFCRfc5988(v string) + // Remove deletes an element at the specified index from a list of the + // property "rel", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets a rfc5988 value to be at the specified index for the property + // "rel". Panics if the index is out of bounds. Invalidates all + // iterators. + Set(idx int, v string) + // SetIRI sets an IRI value to be at the specified index for the property + // "rel". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // Swap swaps the location of values at two indices for the "rel" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_relationship_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_relationship_interface.go new file mode 100644 index 000000000..25aeb00e0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_relationship_interface.go @@ -0,0 +1,1753 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsRelationshipPropertyIterator represents a single value for the +// "relationship" property. +type ActivityStreamsRelationshipPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsRelationshipPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsRelationship". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsRelationshipPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsRelationshipPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// On a Relationship object, the relationship property identifies the kind of +// relationship that exists between subject and object. +// +// Example 140 (https://www.w3.org/TR/activitystreams-vocabulary/#ex22c-jsonld): +// { +// "object": { +// "name": "John", +// "type": "Person" +// }, +// "relationship": "http://purl.org/vocab/relationship/acquaintanceOf", +// "subject": { +// "name": "Sally", +// "type": "Person" +// }, +// "summary": "Sally is an acquaintance of John's", +// "type": "Relationship" +// } +type ActivityStreamsRelationshipProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "relationship". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "relationship". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "relationship". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "relationship". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "relationship". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "relationship". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "relationship". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "relationship". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "relationship". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "relationship". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "relationship". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "relationship". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "relationship". Invalidates + // iterators that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "relationship" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "relationship". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "relationship". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "relationship". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsRelationshipPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsRelationshipPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsRelationshipPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "relationship". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "relationship". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "relationship". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "relationship". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "relationship". + // Existing elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "relationship". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "relationship". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "relationship". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "relationship". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "relationship". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "relationship". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "relationship". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "relationship". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "relationship". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "relationship". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "relationship". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "relationship". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "relationship". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "relationship" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsRelationshipProperty) bool + // Name returns the name of this property ("relationship") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "relationship". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "relationship". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "relationship". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "relationship". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "relationship". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "relationship". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "relationship". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "relationship". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "relationship". Invalidates + // all iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "relationship". Invalidates + // all iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "relationship". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "relationship". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "relationship". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "relationship". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "relationship". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "relationship". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "relationship". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "relationship". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "relationship". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "relationship". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "relationship". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "relationship", regardless of its type. Panics if the + // index is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "relationship". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "relationship". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "relationship". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "relationship". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "relationship". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "relationship". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "relationship". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "relationship". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "relationship". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "relationship". Panics if the + // index is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "relationship". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "relationship". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "relationship". Panics if the index is out + // of bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "relationship". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + // Panics if the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "relationship" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_replies_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_replies_interface.go new file mode 100644 index 000000000..89ab2ec45 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_replies_interface.go @@ -0,0 +1,124 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Identifies a Collection containing objects considered to be responses to this +// object. +// +// Example 104 (https://www.w3.org/TR/activitystreams-vocabulary/#ex112-jsonld): +// { +// "content": "I am fine.", +// "id": "http://www.test.example/notes/1", +// "replies": { +// "items": { +// "content": "I am glad to hear it.", +// "inReplyTo": "http://www.test.example/notes/1", +// "summary": "A response to the note", +// "type": "Note" +// }, +// "totalItems": 1, +// "type": "Collection" +// }, +// "summary": "A simple note", +// "type": "Note" +// } +type ActivityStreamsRepliesProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsRepliesProperty) bool + // Name returns the name of this property: "replies". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_result_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_result_interface.go new file mode 100644 index 000000000..d028b6b48 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_result_interface.go @@ -0,0 +1,1793 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsResultPropertyIterator represents a single value for the +// "result" property. +type ActivityStreamsResultPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsResultPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsResult". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsResultPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsResultPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Describes the result of the activity. For instance, if a particular action +// results in the creation of a new resource, the result property can be used +// to describe that new resource. +// +// Example 103 (https://www.w3.org/TR/activitystreams-vocabulary/#ex108-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/flights/1", +// "result": { +// "name": "On Time", +// "type": "http://www.types.example/flightstatus" +// }, +// "summary": "Sally checked that her flight was on time", +// "type": [ +// "Activity", +// "http://www.verbs.example/Check" +// ] +// } +type ActivityStreamsResultProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "result". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "result". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "result". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "result". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "result". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "result". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "result". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "result". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "result". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "result". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "result". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "result" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "result". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "result". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "result". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsResultPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsResultPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsResultPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "result". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "result". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "result". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "result". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "result". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "result". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "result". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "result". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "result". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "result". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "result". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "result". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "result". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "result". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "result". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "result". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "result". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "result". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "result". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "result". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "result". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "result". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "result" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsResultProperty) bool + // Name returns the name of this property ("result") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "result". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "result". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "result". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "result". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "result". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "result". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "result". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "result". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "result". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "result". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "result". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "result". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "result". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "result". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "result". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "result". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "result". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "result". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "result". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "result". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "result". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "result". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "result". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "result". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "result", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "result". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "result". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "result". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "result". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "result". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "result". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "result". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "result". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "result". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "result". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "result". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "result". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "result". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "result". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "result". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "result". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "result" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_shares_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_shares_interface.go new file mode 100644 index 000000000..f0eafd3e9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_shares_interface.go @@ -0,0 +1,106 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// This is a list of all Announce activities with this object as the object +// property +type ActivityStreamsSharesProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsSharesProperty) bool + // Name returns the name of this property: "shares". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_source_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_source_interface.go new file mode 100644 index 000000000..546bfe82e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_source_interface.go @@ -0,0 +1,773 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// The source property is intended to convey some sort of source from which the +// content markup was derived, as a form of provenance, or to support future +// editing by clients. +// +// Example 8 (https://www.w3.org/TR/activitypub/#source-property): +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// { +// "@language": "en" +// } +// ], +// "content": "\u003cp\u003eI \u003cem\u003ereally\u003c/em\u003e like +// strawberries!\u003c/p\u003e", +// "id": "http://postparty.example/p/2415", +// "source": { +// "content": "I *really* like strawberries!", +// "mediaType": "text/markdown" +// }, +// "type": "Note" +// } +type ActivityStreamsSourceProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsSourceProperty) bool + // Name returns the name of this property: "source". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_startIndex_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_startIndex_interface.go new file mode 100644 index 000000000..32b6fe4cd --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_startIndex_interface.go @@ -0,0 +1,72 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// A non-negative integer value identifying the relative position within the +// logical view of a strictly ordered collection. +// +// Example 132 (https://www.w3.org/TR/activitystreams-vocabulary/#ex150-jsonld): +// { +// "orderedItems": [ +// { +// "name": "Density of Water", +// "type": "Note" +// }, +// { +// "name": "Air Mattress Idea", +// "type": "Note" +// } +// ], +// "startIndex": 0, +// "summary": "Page 1 of Sally's notes", +// "type": "OrderedCollectionPage" +// } +type ActivityStreamsStartIndexProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return false. + Clear() + // Get returns the value of this property. When + // IsXMLSchemaNonNegativeInteger returns false, Get will return any + // arbitrary value. + Get() int + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaNonNegativeInteger returns true if this property is set and + // not an IRI. + IsXMLSchemaNonNegativeInteger() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsStartIndexProperty) bool + // Name returns the name of this property: "startIndex". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return true. + Set(v int) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_startTime_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_startTime_interface.go new file mode 100644 index 000000000..a843b07c7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_startTime_interface.go @@ -0,0 +1,65 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import ( + "net/url" + "time" +) + +// The date and time describing the actual or expected starting time of the +// object. When used with an Activity object, for instance, the startTime +// property specifies the moment the activity began or is scheduled to begin. +// +// Example 129 (https://www.w3.org/TR/activitystreams-vocabulary/#ex146-jsonld): +// { +// "endTime": "2015-01-01T06:00:00-08:00", +// "name": "Going-Away Party for Jim", +// "startTime": "2014-12-31T23:00:00-08:00", +// "type": "Event" +// } +type ActivityStreamsStartTimeProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaDateTime afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaDateTime + // returns false, Get will return any arbitrary value. + Get() time.Time + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaDateTime returns true if this property is set and not an IRI. + IsXMLSchemaDateTime() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsStartTimeProperty) bool + // Name returns the name of this property: "startTime". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaDateTime + // afterwards will return true. + Set(v time.Time) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_streams_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_streams_interface.go new file mode 100644 index 000000000..1a1814f3a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_streams_interface.go @@ -0,0 +1,252 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsStreamsPropertyIterator represents a single value for the +// "streams" property. +type ActivityStreamsStreamsPropertyIterator interface { + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsStreamsPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsStreams". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsStreamsPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsStreamsPropertyIterator + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// A list of supplementary Collections which may be of interest +type ActivityStreamsStreamsProperty interface { + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "streams". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "streams". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "streams". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "streams". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendIRI appends an IRI value to the back of a list of the property + // "streams" + AppendIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "streams". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsStreamsPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsStreamsPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsStreamsPropertyIterator + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "streams". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "streams". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "streams". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "streams". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // Insert inserts an IRI value at the specified index for a property + // "streams". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "streams". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "streams" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsStreamsProperty) bool + // Name returns the name of this property ("streams") with any alias. + Name() string + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "streams". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "streams". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "streams". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "streams". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependIRI prepends an IRI value to the front of a list of the property + // "streams". + PrependIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "streams". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "streams", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "streams". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "streams". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "streams". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "streams". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetIRI sets an IRI value to be at the specified index for the property + // "streams". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetType sets an arbitrary type value to the specified index of the + // property "streams". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "streams" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_subject_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_subject_interface.go new file mode 100644 index 000000000..897cb3259 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_subject_interface.go @@ -0,0 +1,770 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// On a Relationship object, the subject property identifies one of the connected +// individuals. For instance, for a Relationship object describing "John is +// related to Sally", subject would refer to John. +// +// Example 139 (https://www.w3.org/TR/activitystreams-vocabulary/#ex22a-jsonld): +// { +// "object": { +// "name": "John", +// "type": "Person" +// }, +// "relationship": "http://purl.org/vocab/relationship/acquaintanceOf", +// "subject": { +// "name": "Sally", +// "type": "Person" +// }, +// "summary": "Sally is an acquaintance of John's", +// "type": "Relationship" +// } +type ActivityStreamsSubjectProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsSubjectProperty) bool + // Name returns the name of this property: "subject". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_summary_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_summary_interface.go new file mode 100644 index 000000000..2fe7238b6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_summary_interface.go @@ -0,0 +1,198 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsSummaryPropertyIterator represents a single value for the +// "summary" property. +type ActivityStreamsSummaryPropertyIterator interface { + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetLanguage returns the value for the specified BCP47 language code, or + // an empty string if it is either not a language map or no value is + // present. + GetLanguage(bcp47 string) string + // GetRDFLangString returns the value of this property. When + // IsRDFLangString returns false, GetRDFLangString will return an + // arbitrary value. + GetRDFLangString() map[string]string + // GetXMLSchemaString returns the value of this property. When + // IsXMLSchemaString returns false, GetXMLSchemaString will return an + // arbitrary value. + GetXMLSchemaString() string + // HasAny returns true if any of the values are set, except for the + // natural language map. When true, the specific has, getter, and + // setter methods may be used to determine what kind of value there is + // to access and set this property. To determine if the property was + // set as a natural language map, use the IsRDFLangString method + // instead. + HasAny() bool + // HasLanguage returns true if the natural language map has an entry for + // the specified BCP47 language code. + HasLanguage(bcp47 string) bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsRDFLangString returns true if this property has a type of + // "langString". When true, use the GetRDFLangString and + // SetRDFLangString methods to access and set this property.. To + // determine if the property was set as a natural language map, use + // the IsRDFLangString method instead. + IsRDFLangString() bool + // IsXMLSchemaString returns true if this property has a type of "string". + // When true, use the GetXMLSchemaString and SetXMLSchemaString + // methods to access and set this property.. To determine if the + // property was set as a natural language map, use the IsRDFLangString + // method instead. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsSummaryPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsSummary". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsSummaryPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsSummaryPropertyIterator + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetLanguage sets the value for the specified BCP47 language code. + SetLanguage(bcp47, value string) + // SetRDFLangString sets the value of this property and clears the natural + // language map. Calling IsRDFLangString afterwards will return true. + // Calling IsRDFLangString afterwards returns false. + SetRDFLangString(v map[string]string) + // SetXMLSchemaString sets the value of this property and clears the + // natural language map. Calling IsXMLSchemaString afterwards will + // return true. Calling IsRDFLangString afterwards returns false. + SetXMLSchemaString(v string) +} + +// A natural language summarization of the object encoded as HTML. Multiple +// language tagged summaries MAY be provided. +// +// Example 133 (https://www.w3.org/TR/activitystreams-vocabulary/#ex152-jsonld): +// { +// "name": "Cane Sugar Processing", +// "summary": "A simple \u003cem\u003enote\u003c/em\u003e", +// "type": "Note" +// } +// +// Example 134 (https://www.w3.org/TR/activitystreams-vocabulary/#ex153-jsonld): +// { +// "name": "Cane Sugar Processing", +// "summaryMap": { +// "en": "A simple \u003cem\u003enote\u003c/em\u003e", +// "es": "Una \u003cem\u003enota\u003c/em\u003e sencilla", +// "zh-hans": "一段\u003cem\u003e简单的\u003c/em\u003e笔记" +// }, +// "type": "Note" +// } +type ActivityStreamsSummaryProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "summary" + AppendIRI(v *url.URL) + // AppendRDFLangString appends a langString value to the back of a list of + // the property "summary". Invalidates iterators that are traversing + // using Prev. + AppendRDFLangString(v map[string]string) + // AppendXMLSchemaString appends a string value to the back of a list of + // the property "summary". Invalidates iterators that are traversing + // using Prev. + AppendXMLSchemaString(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsSummaryPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsSummaryPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsSummaryPropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "summary". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertRDFLangString inserts a langString value at the specified index + // for a property "summary". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertRDFLangString(idx int, v map[string]string) + // InsertXMLSchemaString inserts a string value at the specified index for + // a property "summary". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertXMLSchemaString(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "summary" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsSummaryProperty) bool + // Name returns the name of this property ("summary") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "summary". + PrependIRI(v *url.URL) + // PrependRDFLangString prepends a langString value to the front of a list + // of the property "summary". Invalidates all iterators. + PrependRDFLangString(v map[string]string) + // PrependXMLSchemaString prepends a string value to the front of a list + // of the property "summary". Invalidates all iterators. + PrependXMLSchemaString(v string) + // Remove deletes an element at the specified index from a list of the + // property "summary", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetIRI sets an IRI value to be at the specified index for the property + // "summary". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetRDFLangString sets a langString value to be at the specified index + // for the property "summary". Panics if the index is out of bounds. + // Invalidates all iterators. + SetRDFLangString(idx int, v map[string]string) + // SetXMLSchemaString sets a string value to be at the specified index for + // the property "summary". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaString(idx int, v string) + // Swap swaps the location of values at two indices for the "summary" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_tag_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_tag_interface.go new file mode 100644 index 000000000..9b6d5b857 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_tag_interface.go @@ -0,0 +1,1787 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsTagPropertyIterator represents a single value for the "tag" +// property. +type ActivityStreamsTagPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsTagPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsTag". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsTagPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsTagPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// One or more "tags" that have been associated with an objects. A tag can be any +// kind of Object. The key difference between attachment and tag is that the +// former implies association by inclusion, while the latter implies +// associated by reference. +// +// Example 105 (https://www.w3.org/TR/activitystreams-vocabulary/#ex118-jsonld): +// { +// "summary": "Picture of Sally", +// "tag": { +// "id": "http://sally.example.org", +// "name": "Sally", +// "type": "Person" +// }, +// "type": "Image", +// "url": "http://example.org/sally.jpg" +// } +type ActivityStreamsTagProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "tag". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "tag". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "tag". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "tag". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "tag". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "tag". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "tag". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "tag". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "tag". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "tag". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "tag". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "tag". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "tag" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "tag". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "tag". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "tag". Invalidates iterators that are traversing using + // Prev. Returns an error if the type is not a valid one to set for + // this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsTagPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsTagPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsTagPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "tag". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "tag". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "tag". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "tag". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "tag". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "tag". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "tag". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "tag". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "tag". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "tag". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "tag". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "tag". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "tag". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "tag". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "tag" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsTagProperty) bool + // Name returns the name of this property ("tag") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "tag". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "tag". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "tag". Invalidates all + // iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "tag". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "tag". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "tag". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "tag". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "tag". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "tag". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "tag". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "tag". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "tag". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "tag". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "tag". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "tag". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "tag". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "tag". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "tag". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "tag", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "tag". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "tag". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "tag". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "tag". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "tag". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "tag". Panics + // if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "tag". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "tag". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "tag". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "tag". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "tag". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "tag". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "tag". Panics if the index is out + // of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "tag". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "tag". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "tag". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "tag". Invalidates all iterators. Returns an error if the + // type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "tag" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_target_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_target_interface.go new file mode 100644 index 000000000..4d84262c0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_target_interface.go @@ -0,0 +1,1801 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsTargetPropertyIterator represents a single value for the +// "target" property. +type ActivityStreamsTargetPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsTargetPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsTarget". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsTargetPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsTargetPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Describes the indirect object, or target, of the activity. The precise meaning +// of the target is largely dependent on the type of action being described +// but will often be the object of the English preposition "to". For instance, +// in the activity "John added a movie to his wishlist", the target of the +// activity is John's wishlist. An activity can have more than one target. +// +// Example 106 (https://www.w3.org/TR/activitystreams-vocabulary/#ex120-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally offered the post to John", +// "target": "http://john.example.org", +// "type": "Offer" +// } +// +// Example 107 (https://www.w3.org/TR/activitystreams-vocabulary/#ex121-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally offered the post to John", +// "target": { +// "name": "John", +// "type": "Person" +// }, +// "type": "Offer" +// } +type ActivityStreamsTargetProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "target". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "target". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "target". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "target". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "target". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "target". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "target". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "target". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "target". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "target". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "target". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "target" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "target". Invalidates iterators that are traversing using + // Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "target". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "target". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsTargetPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsTargetPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsTargetPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "target". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "target". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "target". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "target". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "target". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "target". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "target". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "target". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "target". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "target". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "target". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "target". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "target". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "target". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "target". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "target". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "target". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "target". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "target". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "target". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "target". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "target". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "target" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsTargetProperty) bool + // Name returns the name of this property ("target") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "target". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "target". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "target". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "target". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "target". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "target". Invalidates + // all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "target". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "target". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "target". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "target". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "target". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "target". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "target". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "target". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "target". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "target". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "target". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "target". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "target". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "target". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "target". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "target". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "target". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "target". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "target", regardless of its type. Panics if the index is + // out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "target". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "target". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "target". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "target". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "target". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "target". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "target". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "target". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "target". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "target". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "target". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "target". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "target". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "target". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "target". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "target". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "target" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_to_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_to_interface.go new file mode 100644 index 000000000..8c7ffc0fd --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_to_interface.go @@ -0,0 +1,1779 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsToPropertyIterator represents a single value for the "to" +// property. +type ActivityStreamsToPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsToPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsTo". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsToPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsToPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies an entity considered to be part of the public primary audience of an +// Object +// +// Example 108 (https://www.w3.org/TR/activitystreams-vocabulary/#ex123-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally offered the post to John", +// "target": "http://john.example.org", +// "to": "http://joe.example.org", +// "type": "Offer" +// } +type ActivityStreamsToProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "to". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "to". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "to". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "to". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "to". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "to". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "to". Invalidates iterators that are traversing + // using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "to". Invalidates iterators that are traversing using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "to" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "to". Invalidates iterators that are traversing using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "to". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "to". Invalidates iterators that are traversing using + // Prev. Returns an error if the type is not a valid one to set for + // this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsToPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsToPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsToPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "to". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "to". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "to". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "to". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property "to". + // Existing elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "to". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "to". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "to". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "to" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsToProperty) bool + // Name returns the name of this property ("to") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "to". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "to". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "to". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "to". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "to". Invalidates all + // iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "to". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "to". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "to". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "to". Invalidates all + // iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "to". Invalidates all + // iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "to". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "to". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "to". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "to". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "to". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "to". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "to". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "to". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "to". Invalidates all iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "to". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "to". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "to". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "to". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "to", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "to". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "to". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "to". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "to". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "to". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "to". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "to". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "to". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "to". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "to". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "to". Panics if the index is out + // of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "to". Panics if the index is out of bounds. Invalidates + // all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "to". Panics if the index is out + // of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "to". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "to". Panics if the index is out of bounds. Invalidates + // all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "to". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "to". Invalidates all iterators. Returns an error if the + // type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "to" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_totalItems_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_totalItems_interface.go new file mode 100644 index 000000000..314d53d38 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_totalItems_interface.go @@ -0,0 +1,73 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// A non-negative integer specifying the total number of objects contained by the +// logical view of the collection. This number might not reflect the actual +// number of items serialized within the Collection object instance. +// +// Example 135 (https://www.w3.org/TR/activitystreams-vocabulary/#ex156-jsonld): +// { +// "items": [ +// { +// "name": "Which Staircase Should I Use", +// "type": "Note" +// }, +// { +// "name": "Something to Remember", +// "type": "Note" +// } +// ], +// "summary": "Sally's notes", +// "totalItems": 2, +// "type": "Collection" +// } +type ActivityStreamsTotalItemsProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return false. + Clear() + // Get returns the value of this property. When + // IsXMLSchemaNonNegativeInteger returns false, Get will return any + // arbitrary value. + Get() int + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaNonNegativeInteger returns true if this property is set and + // not an IRI. + IsXMLSchemaNonNegativeInteger() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsTotalItemsProperty) bool + // Name returns the name of this property: "totalItems". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return true. + Set(v int) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_units_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_units_interface.go new file mode 100644 index 000000000..9bdb22734 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_units_interface.go @@ -0,0 +1,79 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Specifies the measurement units for the radius and altitude properties on a +// Place object. If not specified, the default is assumed to be "m" for +// "meters". +// +// Example 136 (https://www.w3.org/TR/activitystreams-vocabulary/#ex157-jsonld): +// { +// "latitude": 36.75, +// "longitude": 119.7667, +// "name": "Fresno Area", +// "radius": 15, +// "type": "Place", +// "units": "miles" +// } +type ActivityStreamsUnitsProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetXMLSchemaAnyURI returns the value of this property. When + // IsXMLSchemaAnyURI returns false, GetXMLSchemaAnyURI will return an + // arbitrary value. + GetXMLSchemaAnyURI() *url.URL + // GetXMLSchemaString returns the value of this property. When + // IsXMLSchemaString returns false, GetXMLSchemaString will return an + // arbitrary value. + GetXMLSchemaString() string + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsXMLSchemaAnyURI returns true if this property has a type of "anyURI". + // When true, use the GetXMLSchemaAnyURI and SetXMLSchemaAnyURI + // methods to access and set this property. + IsXMLSchemaAnyURI() bool + // IsXMLSchemaString returns true if this property has a type of "string". + // When true, use the GetXMLSchemaString and SetXMLSchemaString + // methods to access and set this property. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsUnitsProperty) bool + // Name returns the name of this property: "units". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetXMLSchemaAnyURI sets the value of this property. Calling + // IsXMLSchemaAnyURI afterwards returns true. + SetXMLSchemaAnyURI(v *url.URL) + // SetXMLSchemaString sets the value of this property. Calling + // IsXMLSchemaString afterwards returns true. + SetXMLSchemaString(v string) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_updated_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_updated_interface.go new file mode 100644 index 000000000..c17b1e77a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_updated_interface.go @@ -0,0 +1,63 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import ( + "net/url" + "time" +) + +// The date and time at which the object was updated +// +// Example 137 (https://www.w3.org/TR/activitystreams-vocabulary/#ex158-jsonld): +// { +// "content": "Mush it up so it does not have the same shape as the can.", +// "name": "Cranberry Sauce Idea", +// "type": "Note", +// "updated": "2014-12-12T12:12:12Z" +// } +type ActivityStreamsUpdatedProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaDateTime afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaDateTime + // returns false, Get will return any arbitrary value. + Get() time.Time + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaDateTime returns true if this property is set and not an IRI. + IsXMLSchemaDateTime() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsUpdatedProperty) bool + // Name returns the name of this property: "updated". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaDateTime + // afterwards will return true. + Set(v time.Time) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_url_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_url_interface.go new file mode 100644 index 000000000..e54dc09d8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_url_interface.go @@ -0,0 +1,244 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ActivityStreamsUrlPropertyIterator represents a single value for the "url" +// property. +type ActivityStreamsUrlPropertyIterator interface { + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // GetXMLSchemaAnyURI returns the value of this property. When + // IsXMLSchemaAnyURI returns false, GetXMLSchemaAnyURI will return an + // arbitrary value. + GetXMLSchemaAnyURI() *url.URL + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsXMLSchemaAnyURI returns true if this property has a type of "anyURI". + // When true, use the GetXMLSchemaAnyURI and SetXMLSchemaAnyURI + // methods to access and set this property. + IsXMLSchemaAnyURI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsUrlPropertyIterator) bool + // Name returns the name of this property: "ActivityStreamsUrl". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ActivityStreamsUrlPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ActivityStreamsUrlPropertyIterator + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error + // SetXMLSchemaAnyURI sets the value of this property. Calling + // IsXMLSchemaAnyURI afterwards returns true. + SetXMLSchemaAnyURI(v *url.URL) +} + +// Identifies one or more links to representations of the object +// +// Example 109 (https://www.w3.org/TR/activitystreams-vocabulary/#ex124-jsonld): +// { +// "name": "4Q Sales Forecast", +// "type": "Document", +// "url": "http://example.org/4q-sales-forecast.pdf" +// } +// +// Example 110 (https://www.w3.org/TR/activitystreams-vocabulary/#ex125-jsonld): +// { +// "name": "4Q Sales Forecast", +// "type": "Document", +// "url": { +// "type": "owl:Class", +// "url": "http://example.org/4q-sales-forecast.pdf" +// } +// } +// +// Example 111 (https://www.w3.org/TR/activitystreams-vocabulary/#ex126-jsonld): +// { +// "name": "4Q Sales Forecast", +// "type": "Document", +// "url": [ +// { +// "mediaType": "application/pdf", +// "type": "owl:Class", +// "url": "http://example.org/4q-sales-forecast.pdf" +// }, +// { +// "mediaType": "text/html", +// "type": "owl:Class", +// "url": "http://example.org/4q-sales-forecast.html" +// } +// ] +// } +type ActivityStreamsUrlProperty interface { + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "url". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "url". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendIRI appends an IRI value to the back of a list of the property + // "url" + AppendIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "url". Invalidates iterators that are traversing using + // Prev. Returns an error if the type is not a valid one to set for + // this property. + AppendType(t Type) error + // AppendXMLSchemaAnyURI appends a anyURI value to the back of a list of + // the property "url". Invalidates iterators that are traversing using + // Prev. + AppendXMLSchemaAnyURI(v *url.URL) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ActivityStreamsUrlPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ActivityStreamsUrlPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ActivityStreamsUrlPropertyIterator + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "url". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "url". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // Insert inserts an IRI value at the specified index for a property + // "url". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "url". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // InsertXMLSchemaAnyURI inserts a anyURI value at the specified index for + // a property "url". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertXMLSchemaAnyURI(idx int, v *url.URL) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "url" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsUrlProperty) bool + // Name returns the name of this property ("url") with any alias. + Name() string + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "url". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "url". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependIRI prepends an IRI value to the front of a list of the property + // "url". + PrependIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "url". Invalidates all iterators. Returns an error if + // the type is not a valid one to set for this property. + PrependType(t Type) error + // PrependXMLSchemaAnyURI prepends a anyURI value to the front of a list + // of the property "url". Invalidates all iterators. + PrependXMLSchemaAnyURI(v *url.URL) + // Remove deletes an element at the specified index from a list of the + // property "url", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "url". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "url". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetIRI sets an IRI value to be at the specified index for the property + // "url". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetType sets an arbitrary type value to the specified index of the + // property "url". Invalidates all iterators. Returns an error if the + // type is not a valid one to set for this property. Panics if the + // index is out of bounds. + SetType(idx int, t Type) error + // SetXMLSchemaAnyURI sets a anyURI value to be at the specified index for + // the property "url". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaAnyURI(idx int, v *url.URL) + // Swap swaps the location of values at two indices for the "url" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_width_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_width_interface.go new file mode 100644 index 000000000..6341cea53 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_activitystreams_width_interface.go @@ -0,0 +1,63 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// On a Link, specifies a hint as to the rendering width in device-independent +// pixels of the linked resource. +// +// Example 138 (https://www.w3.org/TR/activitystreams-vocabulary/#ex159-jsonld): +// { +// "height": 100, +// "type": "Link", +// "url": "http://example.org/image.png", +// "width": 100 +// } +type ActivityStreamsWidthProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return false. + Clear() + // Get returns the value of this property. When + // IsXMLSchemaNonNegativeInteger returns false, Get will return any + // arbitrary value. + Get() int + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaNonNegativeInteger returns true if this property is set and + // not an IRI. + IsXMLSchemaNonNegativeInteger() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ActivityStreamsWidthProperty) bool + // Name returns the name of this property: "width". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return true. + Set(v int) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_assignedTo_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_assignedTo_interface.go new file mode 100644 index 000000000..b3076aa7a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_assignedTo_interface.go @@ -0,0 +1,60 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Identifies the Person assigned to work on this Ticket. +type ForgeFedAssignedToProperty interface { + // Clear ensures no value of this property is set. Calling + // IsActivityStreamsPerson afterwards will return false. + Clear() + // Get returns the value of this property. When IsActivityStreamsPerson + // returns false, Get will return any arbitrary value. + Get() ActivityStreamsPerson + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsActivityStreamsPerson returns true if this property is set and not an + // IRI. + IsActivityStreamsPerson() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedAssignedToProperty) bool + // Name returns the name of this property: "assignedTo". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsActivityStreamsPerson + // afterwards will return true. + Set(v ActivityStreamsPerson) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_committedBy_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_committedBy_interface.go new file mode 100644 index 000000000..c7a896eca --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_committedBy_interface.go @@ -0,0 +1,738 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Identifies the actor (usually a person, but could be something else, e.g. a +// bot) that added a set of changes to the version-control Repository. +// Sometimes the author of the changes and the committer of those changes +// aren’t the same actor, in which case the committedBy property can be used +// to specify who added the changes to the repository. For example, when +// applying a patch to a repository, e.g. a Git repository, the author would +// be the person who made the patch, and the committer would be the person who +// applied the patch to their copy of the repository. +type ForgeFedCommittedByProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedCommittedByProperty) bool + // Name returns the name of this property: "committedBy". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_committed_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_committed_interface.go new file mode 100644 index 000000000..d413e4bb8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_committed_interface.go @@ -0,0 +1,60 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import ( + "net/url" + "time" +) + +// Specifies the time that a set of changes was committed into the Repository and +// became a Commit in it. This can be different from the time the set of +// changes was produced, e.g. if one person creates a patch and sends to +// another, and the other person then applies the patch to their copy of the +// repository. We call the former event "created" and the latter event +// "committed", and this latter event is specified by the committed property. +type ForgeFedCommittedProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaDateTime afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaDateTime + // returns false, Get will return any arbitrary value. + Get() time.Time + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaDateTime returns true if this property is set and not an IRI. + IsXMLSchemaDateTime() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedCommittedProperty) bool + // Name returns the name of this property: "committed". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaDateTime + // afterwards will return true. + Set(v time.Time) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependants_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependants_interface.go new file mode 100644 index 000000000..b35ca2f5c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependants_interface.go @@ -0,0 +1,82 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Identifies a Collection of TicketDependency which specify tickets that depends +// on this Ticket, i.e. this ticket is the object of the dependsOn +// relationship. Often called "reverse dependencies". +type ForgeFedDependantsProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedDependantsProperty) bool + // Name returns the name of this property: "dependants". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependedBy_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependedBy_interface.go new file mode 100644 index 000000000..c16581397 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependedBy_interface.go @@ -0,0 +1,156 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ForgeFedDependedByPropertyIterator represents a single value for the +// "dependedBy" property. +type ForgeFedDependedByPropertyIterator interface { + // Get returns the value of this property. When IsForgeFedTicket returns + // false, Get will return any arbitrary value. + Get() ForgeFedTicket + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsForgeFedTicket returns true if this property is set and not an IRI. + IsForgeFedTicket() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedDependedByPropertyIterator) bool + // Name returns the name of this property: "ForgeFedDependedBy". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ForgeFedDependedByPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ForgeFedDependedByPropertyIterator + // Set sets the value of this property. Calling IsForgeFedTicket + // afterwards will return true. + Set(v ForgeFedTicket) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies one or more tickets which depend on this Ticket, i.e. they can’t +// be resolved without this tickets being resolved too. +type ForgeFedDependedByProperty interface { + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "dependedBy". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendIRI appends an IRI value to the back of a list of the property + // "dependedBy" + AppendIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "dependedBy". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ForgeFedDependedByPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ForgeFedDependedByPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ForgeFedDependedByPropertyIterator + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "dependedBy". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // Insert inserts an IRI value at the specified index for a property + // "dependedBy". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "dependedBy". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "dependedBy" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedDependedByProperty) bool + // Name returns the name of this property ("dependedBy") with any alias. + Name() string + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "dependedBy". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependIRI prepends an IRI value to the front of a list of the property + // "dependedBy". + PrependIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "dependedBy". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "dependedBy", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets a Ticket value to be at the specified index for the property + // "dependedBy". Panics if the index is out of bounds. Invalidates all + // iterators. + Set(idx int, v ForgeFedTicket) + // SetIRI sets an IRI value to be at the specified index for the property + // "dependedBy". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetType sets an arbitrary type value to the specified index of the + // property "dependedBy". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "dependedBy" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependencies_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependencies_interface.go new file mode 100644 index 000000000..e7ef8d85e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependencies_interface.go @@ -0,0 +1,82 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Identifies a Collection of TicketDependency which specify tickets that this +// Ticket depends on, i.e. this ticket is the subject of the dependsOn +// relationship. +type ForgeFedDependenciesProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedDependenciesProperty) bool + // Name returns the name of this property: "dependencies". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependsOn_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependsOn_interface.go new file mode 100644 index 000000000..fcee3af60 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_dependsOn_interface.go @@ -0,0 +1,156 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ForgeFedDependsOnPropertyIterator represents a single value for the "dependsOn" +// property. +type ForgeFedDependsOnPropertyIterator interface { + // Get returns the value of this property. When IsForgeFedTicket returns + // false, Get will return any arbitrary value. + Get() ForgeFedTicket + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsForgeFedTicket returns true if this property is set and not an IRI. + IsForgeFedTicket() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedDependsOnPropertyIterator) bool + // Name returns the name of this property: "ForgeFedDependsOn". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ForgeFedDependsOnPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ForgeFedDependsOnPropertyIterator + // Set sets the value of this property. Calling IsForgeFedTicket + // afterwards will return true. + Set(v ForgeFedTicket) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies one or more tickets on which this Ticket depends, i.e. it can’t be +// resolved without those tickets being resolved too. +type ForgeFedDependsOnProperty interface { + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "dependsOn". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendIRI appends an IRI value to the back of a list of the property + // "dependsOn" + AppendIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "dependsOn". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ForgeFedDependsOnPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ForgeFedDependsOnPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ForgeFedDependsOnPropertyIterator + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "dependsOn". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // Insert inserts an IRI value at the specified index for a property + // "dependsOn". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "dependsOn". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "dependsOn" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedDependsOnProperty) bool + // Name returns the name of this property ("dependsOn") with any alias. + Name() string + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "dependsOn". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependIRI prepends an IRI value to the front of a list of the property + // "dependsOn". + PrependIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "dependsOn". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "dependsOn", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets a Ticket value to be at the specified index for the property + // "dependsOn". Panics if the index is out of bounds. Invalidates all + // iterators. + Set(idx int, v ForgeFedTicket) + // SetIRI sets an IRI value to be at the specified index for the property + // "dependsOn". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetType sets an arbitrary type value to the specified index of the + // property "dependsOn". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "dependsOn" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_description_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_description_interface.go new file mode 100644 index 000000000..69c10223b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_description_interface.go @@ -0,0 +1,752 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Specifies the description text of a Commit, which is an optional possibly +// multi-line text provided in addition to the one-line commit title. The +// range of the description property works the same way the range of the +// ActivityPub source property works. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "attributedTo": "https://example.dev/bob", +// "context": "https://example.dev/alice/myrepo", +// "created": "2019-07-11T12:34:56Z", +// "description": { +// "content": "It's about time people can install on their computers!", +// "mediaType": "text/plain" +// }, +// "hash": "109ec9a09c7df7fec775d2ba0b9d466e5643ec8c", +// "id": "https://example.dev/alice/myrepo/commits/109ec9a09c7df7fec775d2ba0b9d466e5643ec8c", +// "summary": "Add an installation script, fixes issue #89", +// "type": "Commit" +// } +type ForgeFedDescriptionProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedDescriptionProperty) bool + // Name returns the name of this property: "description". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_earlyItems_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_earlyItems_interface.go new file mode 100644 index 000000000..df1ef96f7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_earlyItems_interface.go @@ -0,0 +1,1813 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ForgeFedEarlyItemsPropertyIterator represents a single value for the +// "earlyItems" property. +type ForgeFedEarlyItemsPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsLink returns the value of this property. When + // IsActivityStreamsLink returns false, GetActivityStreamsLink will + // return an arbitrary value. + GetActivityStreamsLink() ActivityStreamsLink + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMention returns the value of this property. When + // IsActivityStreamsMention returns false, GetActivityStreamsMention + // will return an arbitrary value. + GetActivityStreamsMention() ActivityStreamsMention + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsLink returns true if this property has a type of + // "Link". When true, use the GetActivityStreamsLink and + // SetActivityStreamsLink methods to access and set this property. + IsActivityStreamsLink() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMention returns true if this property has a type of + // "Mention". When true, use the GetActivityStreamsMention and + // SetActivityStreamsMention methods to access and set this property. + IsActivityStreamsMention() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedEarlyItemsPropertyIterator) bool + // Name returns the name of this property: "ForgeFedEarlyItems". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ForgeFedEarlyItemsPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ForgeFedEarlyItemsPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsLink sets the value of this property. Calling + // IsActivityStreamsLink afterwards returns true. + SetActivityStreamsLink(v ActivityStreamsLink) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMention sets the value of this property. Calling + // IsActivityStreamsMention afterwards returns true. + SetActivityStreamsMention(v ActivityStreamsMention) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// In an ordered collection (or an ordered collection page) in which items (or +// orderedItems) contains a continuous subset of the collection’s items from +// one end, earlyItems identifiers a continuous subset from the other end. For +// example, if items lists the chronologically latest items, earlyItems would +// list the chrologically earliest items. The ordering rule for items in +// earlyItems MUST be the same as in items. For examle, if items lists items +// in reverse chronogical order, then so does earlyItems. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "earlyItems": [ +// "https://dev.example/aviva/outbox/3", +// "https://dev.example/aviva/outbox/2", +// "https://dev.example/aviva/outbox/1" +// ], +// "id": "https://dev.example/aviva/outbox", +// "orderedItems": [ +// "https://dev.example/aviva/outbox/712", +// "https://dev.example/aviva/outbox/711", +// "https://dev.example/aviva/outbox/710" +// ], +// "totalItems": 712, +// "type": "OrderedCollection" +// } +type ForgeFedEarlyItemsProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "earlyItems". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "earlyItems". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "earlyItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "earlyItems". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsLink appends a Link value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLink(v ActivityStreamsLink) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMention appends a Mention value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMention(v ActivityStreamsMention) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "earlyItems". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "earlyItems". Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "earlyItems". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "earlyItems". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "earlyItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "earlyItems". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "earlyItems". Invalidates iterators that are traversing + // using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "earlyItems". Invalidates iterators + // that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "earlyItems" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "earlyItems". Invalidates iterators that are traversing + // using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "earlyItems". Invalidates iterators that are + // traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "earlyItems". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ForgeFedEarlyItemsPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ForgeFedEarlyItemsPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ForgeFedEarlyItemsPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "earlyItems". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "earlyItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "earlyItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "earlyItems". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "earlyItems". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsLink inserts a Link value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLink(idx int, v ActivityStreamsLink) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMention inserts a Mention value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMention(idx int, v ActivityStreamsMention) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "earlyItems". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "earlyItems". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "earlyItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "earlyItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "earlyItems". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "earlyItems". Existing elements + // at that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "earlyItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "earlyItems". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "earlyItems". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "earlyItems". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "earlyItems". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "earlyItems". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "earlyItems". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "earlyItems". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "earlyItems". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "earlyItems". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "earlyItems". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "earlyItems" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedEarlyItemsProperty) bool + // Name returns the name of this property ("earlyItems") with any alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "earlyItems". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "earlyItems". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "earlyItems". Invalidates all + // iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "earlyItems". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsLink prepends a Link value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsLink(v ActivityStreamsLink) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMention prepends a Mention value to the front of + // a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsMention(v ActivityStreamsMention) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "earlyItems". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "earlyItems". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "earlyItems". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "earlyItems". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "earlyItems". Invalidates + // all iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "earlyItems". Invalidates + // all iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "earlyItems". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "earlyItems". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "earlyItems". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "earlyItems". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "earlyItems". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "earlyItems". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "earlyItems". Invalidates all + // iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "earlyItems". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "earlyItems". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "earlyItems". Invalidates all iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "earlyItems". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "earlyItems", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "earlyItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "earlyItems". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "earlyItems". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "earlyItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property "earlyItems". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsLink sets a Link value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLink(idx int, v ActivityStreamsLink) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMention sets a Mention value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMention(idx int, v ActivityStreamsMention) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "earlyItems". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property "earlyItems". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "earlyItems". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "earlyItems". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "earlyItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "earlyItems". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "earlyItems". Panics if the index + // is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "earlyItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "earlyItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "earlyItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "earlyItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "earlyItems". Panics if the index + // is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "earlyItems". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "earlyItems". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "earlyItems". Panics if the index is out of + // bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "earlyItems". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "earlyItems" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesAdded_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesAdded_interface.go new file mode 100644 index 000000000..b7c567cba --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesAdded_interface.go @@ -0,0 +1,132 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ForgeFedFilesAddedPropertyIterator represents a single value for the +// "filesAdded" property. +type ForgeFedFilesAddedPropertyIterator interface { + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedFilesAddedPropertyIterator) bool + // Name returns the name of this property: "ForgeFedFilesAdded". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ForgeFedFilesAddedPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ForgeFedFilesAddedPropertyIterator + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} + +// Specifies a filename, as a relative path, relative to the top of the tree of +// files in the Repository, of a file that got added in this Commit, and +// didn’t exist in the previous version of the tree. +type ForgeFedFilesAddedProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "filesAdded" + AppendIRI(v *url.URL) + // AppendXMLSchemaString appends a string value to the back of a list of + // the property "filesAdded". Invalidates iterators that are + // traversing using Prev. + AppendXMLSchemaString(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ForgeFedFilesAddedPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ForgeFedFilesAddedPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ForgeFedFilesAddedPropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "filesAdded". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertXMLSchemaString inserts a string value at the specified index for + // a property "filesAdded". Existing elements at that index and higher + // are shifted back once. Invalidates all iterators. + InsertXMLSchemaString(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "filesAdded" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedFilesAddedProperty) bool + // Name returns the name of this property ("filesAdded") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "filesAdded". + PrependIRI(v *url.URL) + // PrependXMLSchemaString prepends a string value to the front of a list + // of the property "filesAdded". Invalidates all iterators. + PrependXMLSchemaString(v string) + // Remove deletes an element at the specified index from a list of the + // property "filesAdded", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets a string value to be at the specified index for the property + // "filesAdded". Panics if the index is out of bounds. Invalidates all + // iterators. + Set(idx int, v string) + // SetIRI sets an IRI value to be at the specified index for the property + // "filesAdded". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // Swap swaps the location of values at two indices for the "filesAdded" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesModified_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesModified_interface.go new file mode 100644 index 000000000..928818716 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesModified_interface.go @@ -0,0 +1,132 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ForgeFedFilesModifiedPropertyIterator represents a single value for the +// "filesModified" property. +type ForgeFedFilesModifiedPropertyIterator interface { + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedFilesModifiedPropertyIterator) bool + // Name returns the name of this property: "ForgeFedFilesModified". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ForgeFedFilesModifiedPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ForgeFedFilesModifiedPropertyIterator + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} + +// Specifies a filename, as a relative path, relative to the top of the tree of +// files in the Repository, of a file that existed in the previous version of +// the tree, and its contents got modified in this Commit. +type ForgeFedFilesModifiedProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "filesModified" + AppendIRI(v *url.URL) + // AppendXMLSchemaString appends a string value to the back of a list of + // the property "filesModified". Invalidates iterators that are + // traversing using Prev. + AppendXMLSchemaString(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ForgeFedFilesModifiedPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ForgeFedFilesModifiedPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ForgeFedFilesModifiedPropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "filesModified". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertXMLSchemaString inserts a string value at the specified index for + // a property "filesModified". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertXMLSchemaString(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "filesModified" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedFilesModifiedProperty) bool + // Name returns the name of this property ("filesModified") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "filesModified". + PrependIRI(v *url.URL) + // PrependXMLSchemaString prepends a string value to the front of a list + // of the property "filesModified". Invalidates all iterators. + PrependXMLSchemaString(v string) + // Remove deletes an element at the specified index from a list of the + // property "filesModified", regardless of its type. Panics if the + // index is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets a string value to be at the specified index for the property + // "filesModified". Panics if the index is out of bounds. Invalidates + // all iterators. + Set(idx int, v string) + // SetIRI sets an IRI value to be at the specified index for the property + // "filesModified". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // Swap swaps the location of values at two indices for the + // "filesModified" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesRemoved_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesRemoved_interface.go new file mode 100644 index 000000000..ecbbe8170 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_filesRemoved_interface.go @@ -0,0 +1,132 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ForgeFedFilesRemovedPropertyIterator represents a single value for the +// "filesRemoved" property. +type ForgeFedFilesRemovedPropertyIterator interface { + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedFilesRemovedPropertyIterator) bool + // Name returns the name of this property: "ForgeFedFilesRemoved". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ForgeFedFilesRemovedPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ForgeFedFilesRemovedPropertyIterator + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} + +// Specifies a filename, as a relative path, relative to the top of the tree of +// files in the Repository, of a file that existed in the previous version of +// the tree, and got removed from the tree in this Commit. +type ForgeFedFilesRemovedProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "filesRemoved" + AppendIRI(v *url.URL) + // AppendXMLSchemaString appends a string value to the back of a list of + // the property "filesRemoved". Invalidates iterators that are + // traversing using Prev. + AppendXMLSchemaString(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ForgeFedFilesRemovedPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ForgeFedFilesRemovedPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ForgeFedFilesRemovedPropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "filesRemoved". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertXMLSchemaString inserts a string value at the specified index for + // a property "filesRemoved". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertXMLSchemaString(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "filesRemoved" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedFilesRemovedProperty) bool + // Name returns the name of this property ("filesRemoved") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "filesRemoved". + PrependIRI(v *url.URL) + // PrependXMLSchemaString prepends a string value to the front of a list + // of the property "filesRemoved". Invalidates all iterators. + PrependXMLSchemaString(v string) + // Remove deletes an element at the specified index from a list of the + // property "filesRemoved", regardless of its type. Panics if the + // index is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets a string value to be at the specified index for the property + // "filesRemoved". Panics if the index is out of bounds. Invalidates + // all iterators. + Set(idx int, v string) + // SetIRI sets an IRI value to be at the specified index for the property + // "filesRemoved". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // Swap swaps the location of values at two indices for the "filesRemoved" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_forks_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_forks_interface.go new file mode 100644 index 000000000..545c08b83 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_forks_interface.go @@ -0,0 +1,82 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Identifies an OrderedCollection of Repositorys which were created as forks of +// this Repository, i.e. by cloning it. The order of the collection items is +// by reverse chronological order of the forking events. +type ForgeFedForksProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedForksProperty) bool + // Name returns the name of this property: "forks". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_hash_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_hash_interface.go new file mode 100644 index 000000000..4f1a0b924 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_hash_interface.go @@ -0,0 +1,56 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Specifies the hash associated with a Commit, which is a unique identifier of +// the commit within the Repository, usually generated as a cryptographic hash +// function of some (or all) of the commit’s data or metadata. For example, +// in Git it would be the SHA1 hash of the commit; in Darcs it would be the +// SHA1 hash of the patch info. +type ForgeFedHashProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaString afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedHashProperty) bool + // Name returns the name of this property: "hash". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_isResolved_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_isResolved_interface.go new file mode 100644 index 000000000..2567d86fa --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_isResolved_interface.go @@ -0,0 +1,53 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Specifies whether the Ticket is closed, i.e. the work on it is done and it +// doesn’t need to attract attention anymore. +type ForgeFedIsResolvedProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaBoolean afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaBoolean returns + // false, Get will return any arbitrary value. + Get() bool + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaBoolean returns true if this property is set and not an IRI. + IsXMLSchemaBoolean() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedIsResolvedProperty) bool + // Name returns the name of this property: "isResolved". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaBoolean + // afterwards will return true. + Set(v bool) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_ref_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_ref_interface.go new file mode 100644 index 000000000..10ad39091 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_ref_interface.go @@ -0,0 +1,66 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Specifies an identifier for a Branch, that is used in the Repository to +// uniquely refer to it. For example, in Git, "refs/heads/master" would be the +// ref of the master branch. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "context": "https://example.dev/luke/myrepo", +// "id": "https://example.dev/luke/myrepo/branches/master", +// "name": "master", +// "ref": "refs/heads/master", +// "type": "Branch" +// } +type ForgeFedRefProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaString afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedRefProperty) bool + // Name returns the name of this property: "ref". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_team_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_team_interface.go new file mode 100644 index 000000000..9e8d88b26 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_team_interface.go @@ -0,0 +1,142 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Specifies a Collection of actors who are working on the object, or responsible +// for it, or managing or administrating it, or having edit access to it. For +// example, for a Repository, it could be the people who have push/edit +// access, the "collaborators" of the repository. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://w3id.org/security/v1", +// "https://forgefed.peers.community/ns" +// ], +// "followers": "https://dev.example/aviva/treesim/followers", +// "id": "https://dev.example/aviva/treesim", +// "inbox": "https://dev.example/aviva/treesim/inbox", +// "name": "Tree Growth 3D Simulation", +// "outbox": "https://dev.example/aviva/treesim/outbox", +// "publicKey": { +// "id": "https://dev.example/aviva/treesim#main-key", +// "owner": "https://dev.example/aviva/treesim", +// "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhki....." +// }, +// "summary": "\u003cp\u003eTree growth 3D simulator for my nature +// exploration game\u003c/p\u003e", +// "team": "https://dev.example/aviva/treesim/team", +// "type": "Repository" +// } +// +// { +// "@context": "https://www.w3.org/ns/activitystreams", +// "id": "https://dev.example/aviva/treesim/team", +// "items": [ +// "https://dev.example/aviva", +// "https://dev.example/luke", +// "https://code.community/users/lorax" +// ], +// "totalItems": 3, +// "type": "Collection" +// } +type ForgeFedTeamProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedTeamProperty) bool + // Name returns the name of this property: "team". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_ticketsTrackedBy_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_ticketsTrackedBy_interface.go new file mode 100644 index 000000000..3ca4a901f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_ticketsTrackedBy_interface.go @@ -0,0 +1,745 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Identifies the actor which tracks tickets related to the given object. This is +// the actor to whom you send tickets you’d like to open against the object. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "id": "https://dev.example/aviva/treesim", +// "name": "Tree Growth 3D Simulation", +// "summary": "\u003cp\u003eTree growth 3D simulator for my nature +// exploration game\u003c/p\u003e", +// "ticketsTrackedBy": "https://bugs.example/projects/treesim", +// "type": "Repository" +// } +type ForgeFedTicketsTrackedByProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedTicketsTrackedByProperty) bool + // Name returns the name of this property: "ticketsTrackedBy". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_tracksTicketsFor_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_tracksTicketsFor_interface.go new file mode 100644 index 000000000..65471e630 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_forgefed_tracksTicketsFor_interface.go @@ -0,0 +1,1766 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// ForgeFedTracksTicketsForPropertyIterator represents a single value for the +// "tracksTicketsFor" property. +type ForgeFedTracksTicketsForPropertyIterator interface { + // GetActivityStreamsAccept returns the value of this property. When + // IsActivityStreamsAccept returns false, GetActivityStreamsAccept + // will return an arbitrary value. + GetActivityStreamsAccept() ActivityStreamsAccept + // GetActivityStreamsActivity returns the value of this property. When + // IsActivityStreamsActivity returns false, GetActivityStreamsActivity + // will return an arbitrary value. + GetActivityStreamsActivity() ActivityStreamsActivity + // GetActivityStreamsAdd returns the value of this property. When + // IsActivityStreamsAdd returns false, GetActivityStreamsAdd will + // return an arbitrary value. + GetActivityStreamsAdd() ActivityStreamsAdd + // GetActivityStreamsAnnounce returns the value of this property. When + // IsActivityStreamsAnnounce returns false, GetActivityStreamsAnnounce + // will return an arbitrary value. + GetActivityStreamsAnnounce() ActivityStreamsAnnounce + // GetActivityStreamsApplication returns the value of this property. When + // IsActivityStreamsApplication returns false, + // GetActivityStreamsApplication will return an arbitrary value. + GetActivityStreamsApplication() ActivityStreamsApplication + // GetActivityStreamsArrive returns the value of this property. When + // IsActivityStreamsArrive returns false, GetActivityStreamsArrive + // will return an arbitrary value. + GetActivityStreamsArrive() ActivityStreamsArrive + // GetActivityStreamsArticle returns the value of this property. When + // IsActivityStreamsArticle returns false, GetActivityStreamsArticle + // will return an arbitrary value. + GetActivityStreamsArticle() ActivityStreamsArticle + // GetActivityStreamsAudio returns the value of this property. When + // IsActivityStreamsAudio returns false, GetActivityStreamsAudio will + // return an arbitrary value. + GetActivityStreamsAudio() ActivityStreamsAudio + // GetActivityStreamsBlock returns the value of this property. When + // IsActivityStreamsBlock returns false, GetActivityStreamsBlock will + // return an arbitrary value. + GetActivityStreamsBlock() ActivityStreamsBlock + // GetActivityStreamsCollection returns the value of this property. When + // IsActivityStreamsCollection returns false, + // GetActivityStreamsCollection will return an arbitrary value. + GetActivityStreamsCollection() ActivityStreamsCollection + // GetActivityStreamsCollectionPage returns the value of this property. + // When IsActivityStreamsCollectionPage returns false, + // GetActivityStreamsCollectionPage will return an arbitrary value. + GetActivityStreamsCollectionPage() ActivityStreamsCollectionPage + // GetActivityStreamsCreate returns the value of this property. When + // IsActivityStreamsCreate returns false, GetActivityStreamsCreate + // will return an arbitrary value. + GetActivityStreamsCreate() ActivityStreamsCreate + // GetActivityStreamsDelete returns the value of this property. When + // IsActivityStreamsDelete returns false, GetActivityStreamsDelete + // will return an arbitrary value. + GetActivityStreamsDelete() ActivityStreamsDelete + // GetActivityStreamsDislike returns the value of this property. When + // IsActivityStreamsDislike returns false, GetActivityStreamsDislike + // will return an arbitrary value. + GetActivityStreamsDislike() ActivityStreamsDislike + // GetActivityStreamsDocument returns the value of this property. When + // IsActivityStreamsDocument returns false, GetActivityStreamsDocument + // will return an arbitrary value. + GetActivityStreamsDocument() ActivityStreamsDocument + // GetActivityStreamsEvent returns the value of this property. When + // IsActivityStreamsEvent returns false, GetActivityStreamsEvent will + // return an arbitrary value. + GetActivityStreamsEvent() ActivityStreamsEvent + // GetActivityStreamsFlag returns the value of this property. When + // IsActivityStreamsFlag returns false, GetActivityStreamsFlag will + // return an arbitrary value. + GetActivityStreamsFlag() ActivityStreamsFlag + // GetActivityStreamsFollow returns the value of this property. When + // IsActivityStreamsFollow returns false, GetActivityStreamsFollow + // will return an arbitrary value. + GetActivityStreamsFollow() ActivityStreamsFollow + // GetActivityStreamsGroup returns the value of this property. When + // IsActivityStreamsGroup returns false, GetActivityStreamsGroup will + // return an arbitrary value. + GetActivityStreamsGroup() ActivityStreamsGroup + // GetActivityStreamsIgnore returns the value of this property. When + // IsActivityStreamsIgnore returns false, GetActivityStreamsIgnore + // will return an arbitrary value. + GetActivityStreamsIgnore() ActivityStreamsIgnore + // GetActivityStreamsImage returns the value of this property. When + // IsActivityStreamsImage returns false, GetActivityStreamsImage will + // return an arbitrary value. + GetActivityStreamsImage() ActivityStreamsImage + // GetActivityStreamsIntransitiveActivity returns the value of this + // property. When IsActivityStreamsIntransitiveActivity returns false, + // GetActivityStreamsIntransitiveActivity will return an arbitrary + // value. + GetActivityStreamsIntransitiveActivity() ActivityStreamsIntransitiveActivity + // GetActivityStreamsInvite returns the value of this property. When + // IsActivityStreamsInvite returns false, GetActivityStreamsInvite + // will return an arbitrary value. + GetActivityStreamsInvite() ActivityStreamsInvite + // GetActivityStreamsJoin returns the value of this property. When + // IsActivityStreamsJoin returns false, GetActivityStreamsJoin will + // return an arbitrary value. + GetActivityStreamsJoin() ActivityStreamsJoin + // GetActivityStreamsLeave returns the value of this property. When + // IsActivityStreamsLeave returns false, GetActivityStreamsLeave will + // return an arbitrary value. + GetActivityStreamsLeave() ActivityStreamsLeave + // GetActivityStreamsLike returns the value of this property. When + // IsActivityStreamsLike returns false, GetActivityStreamsLike will + // return an arbitrary value. + GetActivityStreamsLike() ActivityStreamsLike + // GetActivityStreamsListen returns the value of this property. When + // IsActivityStreamsListen returns false, GetActivityStreamsListen + // will return an arbitrary value. + GetActivityStreamsListen() ActivityStreamsListen + // GetActivityStreamsMove returns the value of this property. When + // IsActivityStreamsMove returns false, GetActivityStreamsMove will + // return an arbitrary value. + GetActivityStreamsMove() ActivityStreamsMove + // GetActivityStreamsNote returns the value of this property. When + // IsActivityStreamsNote returns false, GetActivityStreamsNote will + // return an arbitrary value. + GetActivityStreamsNote() ActivityStreamsNote + // GetActivityStreamsObject returns the value of this property. When + // IsActivityStreamsObject returns false, GetActivityStreamsObject + // will return an arbitrary value. + GetActivityStreamsObject() ActivityStreamsObject + // GetActivityStreamsOffer returns the value of this property. When + // IsActivityStreamsOffer returns false, GetActivityStreamsOffer will + // return an arbitrary value. + GetActivityStreamsOffer() ActivityStreamsOffer + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetActivityStreamsOrganization returns the value of this property. When + // IsActivityStreamsOrganization returns false, + // GetActivityStreamsOrganization will return an arbitrary value. + GetActivityStreamsOrganization() ActivityStreamsOrganization + // GetActivityStreamsPage returns the value of this property. When + // IsActivityStreamsPage returns false, GetActivityStreamsPage will + // return an arbitrary value. + GetActivityStreamsPage() ActivityStreamsPage + // GetActivityStreamsPerson returns the value of this property. When + // IsActivityStreamsPerson returns false, GetActivityStreamsPerson + // will return an arbitrary value. + GetActivityStreamsPerson() ActivityStreamsPerson + // GetActivityStreamsPlace returns the value of this property. When + // IsActivityStreamsPlace returns false, GetActivityStreamsPlace will + // return an arbitrary value. + GetActivityStreamsPlace() ActivityStreamsPlace + // GetActivityStreamsProfile returns the value of this property. When + // IsActivityStreamsProfile returns false, GetActivityStreamsProfile + // will return an arbitrary value. + GetActivityStreamsProfile() ActivityStreamsProfile + // GetActivityStreamsQuestion returns the value of this property. When + // IsActivityStreamsQuestion returns false, GetActivityStreamsQuestion + // will return an arbitrary value. + GetActivityStreamsQuestion() ActivityStreamsQuestion + // GetActivityStreamsRead returns the value of this property. When + // IsActivityStreamsRead returns false, GetActivityStreamsRead will + // return an arbitrary value. + GetActivityStreamsRead() ActivityStreamsRead + // GetActivityStreamsReject returns the value of this property. When + // IsActivityStreamsReject returns false, GetActivityStreamsReject + // will return an arbitrary value. + GetActivityStreamsReject() ActivityStreamsReject + // GetActivityStreamsRelationship returns the value of this property. When + // IsActivityStreamsRelationship returns false, + // GetActivityStreamsRelationship will return an arbitrary value. + GetActivityStreamsRelationship() ActivityStreamsRelationship + // GetActivityStreamsRemove returns the value of this property. When + // IsActivityStreamsRemove returns false, GetActivityStreamsRemove + // will return an arbitrary value. + GetActivityStreamsRemove() ActivityStreamsRemove + // GetActivityStreamsService returns the value of this property. When + // IsActivityStreamsService returns false, GetActivityStreamsService + // will return an arbitrary value. + GetActivityStreamsService() ActivityStreamsService + // GetActivityStreamsTentativeAccept returns the value of this property. + // When IsActivityStreamsTentativeAccept returns false, + // GetActivityStreamsTentativeAccept will return an arbitrary value. + GetActivityStreamsTentativeAccept() ActivityStreamsTentativeAccept + // GetActivityStreamsTentativeReject returns the value of this property. + // When IsActivityStreamsTentativeReject returns false, + // GetActivityStreamsTentativeReject will return an arbitrary value. + GetActivityStreamsTentativeReject() ActivityStreamsTentativeReject + // GetActivityStreamsTombstone returns the value of this property. When + // IsActivityStreamsTombstone returns false, + // GetActivityStreamsTombstone will return an arbitrary value. + GetActivityStreamsTombstone() ActivityStreamsTombstone + // GetActivityStreamsTravel returns the value of this property. When + // IsActivityStreamsTravel returns false, GetActivityStreamsTravel + // will return an arbitrary value. + GetActivityStreamsTravel() ActivityStreamsTravel + // GetActivityStreamsUndo returns the value of this property. When + // IsActivityStreamsUndo returns false, GetActivityStreamsUndo will + // return an arbitrary value. + GetActivityStreamsUndo() ActivityStreamsUndo + // GetActivityStreamsUpdate returns the value of this property. When + // IsActivityStreamsUpdate returns false, GetActivityStreamsUpdate + // will return an arbitrary value. + GetActivityStreamsUpdate() ActivityStreamsUpdate + // GetActivityStreamsVideo returns the value of this property. When + // IsActivityStreamsVideo returns false, GetActivityStreamsVideo will + // return an arbitrary value. + GetActivityStreamsVideo() ActivityStreamsVideo + // GetActivityStreamsView returns the value of this property. When + // IsActivityStreamsView returns false, GetActivityStreamsView will + // return an arbitrary value. + GetActivityStreamsView() ActivityStreamsView + // GetForgeFedBranch returns the value of this property. When + // IsForgeFedBranch returns false, GetForgeFedBranch will return an + // arbitrary value. + GetForgeFedBranch() ForgeFedBranch + // GetForgeFedCommit returns the value of this property. When + // IsForgeFedCommit returns false, GetForgeFedCommit will return an + // arbitrary value. + GetForgeFedCommit() ForgeFedCommit + // GetForgeFedPush returns the value of this property. When IsForgeFedPush + // returns false, GetForgeFedPush will return an arbitrary value. + GetForgeFedPush() ForgeFedPush + // GetForgeFedRepository returns the value of this property. When + // IsForgeFedRepository returns false, GetForgeFedRepository will + // return an arbitrary value. + GetForgeFedRepository() ForgeFedRepository + // GetForgeFedTicket returns the value of this property. When + // IsForgeFedTicket returns false, GetForgeFedTicket will return an + // arbitrary value. + GetForgeFedTicket() ForgeFedTicket + // GetForgeFedTicketDependency returns the value of this property. When + // IsForgeFedTicketDependency returns false, + // GetForgeFedTicketDependency will return an arbitrary value. + GetForgeFedTicketDependency() ForgeFedTicketDependency + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetTootEmoji returns the value of this property. When IsTootEmoji + // returns false, GetTootEmoji will return an arbitrary value. + GetTootEmoji() TootEmoji + // GetTootIdentityProof returns the value of this property. When + // IsTootIdentityProof returns false, GetTootIdentityProof will return + // an arbitrary value. + GetTootIdentityProof() TootIdentityProof + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsAccept returns true if this property has a type of + // "Accept". When true, use the GetActivityStreamsAccept and + // SetActivityStreamsAccept methods to access and set this property. + IsActivityStreamsAccept() bool + // IsActivityStreamsActivity returns true if this property has a type of + // "Activity". When true, use the GetActivityStreamsActivity and + // SetActivityStreamsActivity methods to access and set this property. + IsActivityStreamsActivity() bool + // IsActivityStreamsAdd returns true if this property has a type of "Add". + // When true, use the GetActivityStreamsAdd and SetActivityStreamsAdd + // methods to access and set this property. + IsActivityStreamsAdd() bool + // IsActivityStreamsAnnounce returns true if this property has a type of + // "Announce". When true, use the GetActivityStreamsAnnounce and + // SetActivityStreamsAnnounce methods to access and set this property. + IsActivityStreamsAnnounce() bool + // IsActivityStreamsApplication returns true if this property has a type + // of "Application". When true, use the GetActivityStreamsApplication + // and SetActivityStreamsApplication methods to access and set this + // property. + IsActivityStreamsApplication() bool + // IsActivityStreamsArrive returns true if this property has a type of + // "Arrive". When true, use the GetActivityStreamsArrive and + // SetActivityStreamsArrive methods to access and set this property. + IsActivityStreamsArrive() bool + // IsActivityStreamsArticle returns true if this property has a type of + // "Article". When true, use the GetActivityStreamsArticle and + // SetActivityStreamsArticle methods to access and set this property. + IsActivityStreamsArticle() bool + // IsActivityStreamsAudio returns true if this property has a type of + // "Audio". When true, use the GetActivityStreamsAudio and + // SetActivityStreamsAudio methods to access and set this property. + IsActivityStreamsAudio() bool + // IsActivityStreamsBlock returns true if this property has a type of + // "Block". When true, use the GetActivityStreamsBlock and + // SetActivityStreamsBlock methods to access and set this property. + IsActivityStreamsBlock() bool + // IsActivityStreamsCollection returns true if this property has a type of + // "Collection". When true, use the GetActivityStreamsCollection and + // SetActivityStreamsCollection methods to access and set this + // property. + IsActivityStreamsCollection() bool + // IsActivityStreamsCollectionPage returns true if this property has a + // type of "CollectionPage". When true, use the + // GetActivityStreamsCollectionPage and + // SetActivityStreamsCollectionPage methods to access and set this + // property. + IsActivityStreamsCollectionPage() bool + // IsActivityStreamsCreate returns true if this property has a type of + // "Create". When true, use the GetActivityStreamsCreate and + // SetActivityStreamsCreate methods to access and set this property. + IsActivityStreamsCreate() bool + // IsActivityStreamsDelete returns true if this property has a type of + // "Delete". When true, use the GetActivityStreamsDelete and + // SetActivityStreamsDelete methods to access and set this property. + IsActivityStreamsDelete() bool + // IsActivityStreamsDislike returns true if this property has a type of + // "Dislike". When true, use the GetActivityStreamsDislike and + // SetActivityStreamsDislike methods to access and set this property. + IsActivityStreamsDislike() bool + // IsActivityStreamsDocument returns true if this property has a type of + // "Document". When true, use the GetActivityStreamsDocument and + // SetActivityStreamsDocument methods to access and set this property. + IsActivityStreamsDocument() bool + // IsActivityStreamsEvent returns true if this property has a type of + // "Event". When true, use the GetActivityStreamsEvent and + // SetActivityStreamsEvent methods to access and set this property. + IsActivityStreamsEvent() bool + // IsActivityStreamsFlag returns true if this property has a type of + // "Flag". When true, use the GetActivityStreamsFlag and + // SetActivityStreamsFlag methods to access and set this property. + IsActivityStreamsFlag() bool + // IsActivityStreamsFollow returns true if this property has a type of + // "Follow". When true, use the GetActivityStreamsFollow and + // SetActivityStreamsFollow methods to access and set this property. + IsActivityStreamsFollow() bool + // IsActivityStreamsGroup returns true if this property has a type of + // "Group". When true, use the GetActivityStreamsGroup and + // SetActivityStreamsGroup methods to access and set this property. + IsActivityStreamsGroup() bool + // IsActivityStreamsIgnore returns true if this property has a type of + // "Ignore". When true, use the GetActivityStreamsIgnore and + // SetActivityStreamsIgnore methods to access and set this property. + IsActivityStreamsIgnore() bool + // IsActivityStreamsImage returns true if this property has a type of + // "Image". When true, use the GetActivityStreamsImage and + // SetActivityStreamsImage methods to access and set this property. + IsActivityStreamsImage() bool + // IsActivityStreamsIntransitiveActivity returns true if this property has + // a type of "IntransitiveActivity". When true, use the + // GetActivityStreamsIntransitiveActivity and + // SetActivityStreamsIntransitiveActivity methods to access and set + // this property. + IsActivityStreamsIntransitiveActivity() bool + // IsActivityStreamsInvite returns true if this property has a type of + // "Invite". When true, use the GetActivityStreamsInvite and + // SetActivityStreamsInvite methods to access and set this property. + IsActivityStreamsInvite() bool + // IsActivityStreamsJoin returns true if this property has a type of + // "Join". When true, use the GetActivityStreamsJoin and + // SetActivityStreamsJoin methods to access and set this property. + IsActivityStreamsJoin() bool + // IsActivityStreamsLeave returns true if this property has a type of + // "Leave". When true, use the GetActivityStreamsLeave and + // SetActivityStreamsLeave methods to access and set this property. + IsActivityStreamsLeave() bool + // IsActivityStreamsLike returns true if this property has a type of + // "Like". When true, use the GetActivityStreamsLike and + // SetActivityStreamsLike methods to access and set this property. + IsActivityStreamsLike() bool + // IsActivityStreamsListen returns true if this property has a type of + // "Listen". When true, use the GetActivityStreamsListen and + // SetActivityStreamsListen methods to access and set this property. + IsActivityStreamsListen() bool + // IsActivityStreamsMove returns true if this property has a type of + // "Move". When true, use the GetActivityStreamsMove and + // SetActivityStreamsMove methods to access and set this property. + IsActivityStreamsMove() bool + // IsActivityStreamsNote returns true if this property has a type of + // "Note". When true, use the GetActivityStreamsNote and + // SetActivityStreamsNote methods to access and set this property. + IsActivityStreamsNote() bool + // IsActivityStreamsObject returns true if this property has a type of + // "Object". When true, use the GetActivityStreamsObject and + // SetActivityStreamsObject methods to access and set this property. + IsActivityStreamsObject() bool + // IsActivityStreamsOffer returns true if this property has a type of + // "Offer". When true, use the GetActivityStreamsOffer and + // SetActivityStreamsOffer methods to access and set this property. + IsActivityStreamsOffer() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsActivityStreamsOrganization returns true if this property has a type + // of "Organization". When true, use the + // GetActivityStreamsOrganization and SetActivityStreamsOrganization + // methods to access and set this property. + IsActivityStreamsOrganization() bool + // IsActivityStreamsPage returns true if this property has a type of + // "Page". When true, use the GetActivityStreamsPage and + // SetActivityStreamsPage methods to access and set this property. + IsActivityStreamsPage() bool + // IsActivityStreamsPerson returns true if this property has a type of + // "Person". When true, use the GetActivityStreamsPerson and + // SetActivityStreamsPerson methods to access and set this property. + IsActivityStreamsPerson() bool + // IsActivityStreamsPlace returns true if this property has a type of + // "Place". When true, use the GetActivityStreamsPlace and + // SetActivityStreamsPlace methods to access and set this property. + IsActivityStreamsPlace() bool + // IsActivityStreamsProfile returns true if this property has a type of + // "Profile". When true, use the GetActivityStreamsProfile and + // SetActivityStreamsProfile methods to access and set this property. + IsActivityStreamsProfile() bool + // IsActivityStreamsQuestion returns true if this property has a type of + // "Question". When true, use the GetActivityStreamsQuestion and + // SetActivityStreamsQuestion methods to access and set this property. + IsActivityStreamsQuestion() bool + // IsActivityStreamsRead returns true if this property has a type of + // "Read". When true, use the GetActivityStreamsRead and + // SetActivityStreamsRead methods to access and set this property. + IsActivityStreamsRead() bool + // IsActivityStreamsReject returns true if this property has a type of + // "Reject". When true, use the GetActivityStreamsReject and + // SetActivityStreamsReject methods to access and set this property. + IsActivityStreamsReject() bool + // IsActivityStreamsRelationship returns true if this property has a type + // of "Relationship". When true, use the + // GetActivityStreamsRelationship and SetActivityStreamsRelationship + // methods to access and set this property. + IsActivityStreamsRelationship() bool + // IsActivityStreamsRemove returns true if this property has a type of + // "Remove". When true, use the GetActivityStreamsRemove and + // SetActivityStreamsRemove methods to access and set this property. + IsActivityStreamsRemove() bool + // IsActivityStreamsService returns true if this property has a type of + // "Service". When true, use the GetActivityStreamsService and + // SetActivityStreamsService methods to access and set this property. + IsActivityStreamsService() bool + // IsActivityStreamsTentativeAccept returns true if this property has a + // type of "TentativeAccept". When true, use the + // GetActivityStreamsTentativeAccept and + // SetActivityStreamsTentativeAccept methods to access and set this + // property. + IsActivityStreamsTentativeAccept() bool + // IsActivityStreamsTentativeReject returns true if this property has a + // type of "TentativeReject". When true, use the + // GetActivityStreamsTentativeReject and + // SetActivityStreamsTentativeReject methods to access and set this + // property. + IsActivityStreamsTentativeReject() bool + // IsActivityStreamsTombstone returns true if this property has a type of + // "Tombstone". When true, use the GetActivityStreamsTombstone and + // SetActivityStreamsTombstone methods to access and set this property. + IsActivityStreamsTombstone() bool + // IsActivityStreamsTravel returns true if this property has a type of + // "Travel". When true, use the GetActivityStreamsTravel and + // SetActivityStreamsTravel methods to access and set this property. + IsActivityStreamsTravel() bool + // IsActivityStreamsUndo returns true if this property has a type of + // "Undo". When true, use the GetActivityStreamsUndo and + // SetActivityStreamsUndo methods to access and set this property. + IsActivityStreamsUndo() bool + // IsActivityStreamsUpdate returns true if this property has a type of + // "Update". When true, use the GetActivityStreamsUpdate and + // SetActivityStreamsUpdate methods to access and set this property. + IsActivityStreamsUpdate() bool + // IsActivityStreamsVideo returns true if this property has a type of + // "Video". When true, use the GetActivityStreamsVideo and + // SetActivityStreamsVideo methods to access and set this property. + IsActivityStreamsVideo() bool + // IsActivityStreamsView returns true if this property has a type of + // "View". When true, use the GetActivityStreamsView and + // SetActivityStreamsView methods to access and set this property. + IsActivityStreamsView() bool + // IsForgeFedBranch returns true if this property has a type of "Branch". + // When true, use the GetForgeFedBranch and SetForgeFedBranch methods + // to access and set this property. + IsForgeFedBranch() bool + // IsForgeFedCommit returns true if this property has a type of "Commit". + // When true, use the GetForgeFedCommit and SetForgeFedCommit methods + // to access and set this property. + IsForgeFedCommit() bool + // IsForgeFedPush returns true if this property has a type of "Push". When + // true, use the GetForgeFedPush and SetForgeFedPush methods to access + // and set this property. + IsForgeFedPush() bool + // IsForgeFedRepository returns true if this property has a type of + // "Repository". When true, use the GetForgeFedRepository and + // SetForgeFedRepository methods to access and set this property. + IsForgeFedRepository() bool + // IsForgeFedTicket returns true if this property has a type of "Ticket". + // When true, use the GetForgeFedTicket and SetForgeFedTicket methods + // to access and set this property. + IsForgeFedTicket() bool + // IsForgeFedTicketDependency returns true if this property has a type of + // "TicketDependency". When true, use the GetForgeFedTicketDependency + // and SetForgeFedTicketDependency methods to access and set this + // property. + IsForgeFedTicketDependency() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsTootEmoji returns true if this property has a type of "Emoji". When + // true, use the GetTootEmoji and SetTootEmoji methods to access and + // set this property. + IsTootEmoji() bool + // IsTootIdentityProof returns true if this property has a type of + // "IdentityProof". When true, use the GetTootIdentityProof and + // SetTootIdentityProof methods to access and set this property. + IsTootIdentityProof() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedTracksTicketsForPropertyIterator) bool + // Name returns the name of this property: "ForgeFedTracksTicketsFor". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() ForgeFedTracksTicketsForPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() ForgeFedTracksTicketsForPropertyIterator + // SetActivityStreamsAccept sets the value of this property. Calling + // IsActivityStreamsAccept afterwards returns true. + SetActivityStreamsAccept(v ActivityStreamsAccept) + // SetActivityStreamsActivity sets the value of this property. Calling + // IsActivityStreamsActivity afterwards returns true. + SetActivityStreamsActivity(v ActivityStreamsActivity) + // SetActivityStreamsAdd sets the value of this property. Calling + // IsActivityStreamsAdd afterwards returns true. + SetActivityStreamsAdd(v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets the value of this property. Calling + // IsActivityStreamsAnnounce afterwards returns true. + SetActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets the value of this property. Calling + // IsActivityStreamsApplication afterwards returns true. + SetActivityStreamsApplication(v ActivityStreamsApplication) + // SetActivityStreamsArrive sets the value of this property. Calling + // IsActivityStreamsArrive afterwards returns true. + SetActivityStreamsArrive(v ActivityStreamsArrive) + // SetActivityStreamsArticle sets the value of this property. Calling + // IsActivityStreamsArticle afterwards returns true. + SetActivityStreamsArticle(v ActivityStreamsArticle) + // SetActivityStreamsAudio sets the value of this property. Calling + // IsActivityStreamsAudio afterwards returns true. + SetActivityStreamsAudio(v ActivityStreamsAudio) + // SetActivityStreamsBlock sets the value of this property. Calling + // IsActivityStreamsBlock afterwards returns true. + SetActivityStreamsBlock(v ActivityStreamsBlock) + // SetActivityStreamsCollection sets the value of this property. Calling + // IsActivityStreamsCollection afterwards returns true. + SetActivityStreamsCollection(v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets the value of this property. + // Calling IsActivityStreamsCollectionPage afterwards returns true. + SetActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets the value of this property. Calling + // IsActivityStreamsCreate afterwards returns true. + SetActivityStreamsCreate(v ActivityStreamsCreate) + // SetActivityStreamsDelete sets the value of this property. Calling + // IsActivityStreamsDelete afterwards returns true. + SetActivityStreamsDelete(v ActivityStreamsDelete) + // SetActivityStreamsDislike sets the value of this property. Calling + // IsActivityStreamsDislike afterwards returns true. + SetActivityStreamsDislike(v ActivityStreamsDislike) + // SetActivityStreamsDocument sets the value of this property. Calling + // IsActivityStreamsDocument afterwards returns true. + SetActivityStreamsDocument(v ActivityStreamsDocument) + // SetActivityStreamsEvent sets the value of this property. Calling + // IsActivityStreamsEvent afterwards returns true. + SetActivityStreamsEvent(v ActivityStreamsEvent) + // SetActivityStreamsFlag sets the value of this property. Calling + // IsActivityStreamsFlag afterwards returns true. + SetActivityStreamsFlag(v ActivityStreamsFlag) + // SetActivityStreamsFollow sets the value of this property. Calling + // IsActivityStreamsFollow afterwards returns true. + SetActivityStreamsFollow(v ActivityStreamsFollow) + // SetActivityStreamsGroup sets the value of this property. Calling + // IsActivityStreamsGroup afterwards returns true. + SetActivityStreamsGroup(v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets the value of this property. Calling + // IsActivityStreamsIgnore afterwards returns true. + SetActivityStreamsIgnore(v ActivityStreamsIgnore) + // SetActivityStreamsImage sets the value of this property. Calling + // IsActivityStreamsImage afterwards returns true. + SetActivityStreamsImage(v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets the value of this property. + // Calling IsActivityStreamsIntransitiveActivity afterwards returns + // true. + SetActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets the value of this property. Calling + // IsActivityStreamsInvite afterwards returns true. + SetActivityStreamsInvite(v ActivityStreamsInvite) + // SetActivityStreamsJoin sets the value of this property. Calling + // IsActivityStreamsJoin afterwards returns true. + SetActivityStreamsJoin(v ActivityStreamsJoin) + // SetActivityStreamsLeave sets the value of this property. Calling + // IsActivityStreamsLeave afterwards returns true. + SetActivityStreamsLeave(v ActivityStreamsLeave) + // SetActivityStreamsLike sets the value of this property. Calling + // IsActivityStreamsLike afterwards returns true. + SetActivityStreamsLike(v ActivityStreamsLike) + // SetActivityStreamsListen sets the value of this property. Calling + // IsActivityStreamsListen afterwards returns true. + SetActivityStreamsListen(v ActivityStreamsListen) + // SetActivityStreamsMove sets the value of this property. Calling + // IsActivityStreamsMove afterwards returns true. + SetActivityStreamsMove(v ActivityStreamsMove) + // SetActivityStreamsNote sets the value of this property. Calling + // IsActivityStreamsNote afterwards returns true. + SetActivityStreamsNote(v ActivityStreamsNote) + // SetActivityStreamsObject sets the value of this property. Calling + // IsActivityStreamsObject afterwards returns true. + SetActivityStreamsObject(v ActivityStreamsObject) + // SetActivityStreamsOffer sets the value of this property. Calling + // IsActivityStreamsOffer afterwards returns true. + SetActivityStreamsOffer(v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets the value of this property. Calling + // IsActivityStreamsOrganization afterwards returns true. + SetActivityStreamsOrganization(v ActivityStreamsOrganization) + // SetActivityStreamsPage sets the value of this property. Calling + // IsActivityStreamsPage afterwards returns true. + SetActivityStreamsPage(v ActivityStreamsPage) + // SetActivityStreamsPerson sets the value of this property. Calling + // IsActivityStreamsPerson afterwards returns true. + SetActivityStreamsPerson(v ActivityStreamsPerson) + // SetActivityStreamsPlace sets the value of this property. Calling + // IsActivityStreamsPlace afterwards returns true. + SetActivityStreamsPlace(v ActivityStreamsPlace) + // SetActivityStreamsProfile sets the value of this property. Calling + // IsActivityStreamsProfile afterwards returns true. + SetActivityStreamsProfile(v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets the value of this property. Calling + // IsActivityStreamsQuestion afterwards returns true. + SetActivityStreamsQuestion(v ActivityStreamsQuestion) + // SetActivityStreamsRead sets the value of this property. Calling + // IsActivityStreamsRead afterwards returns true. + SetActivityStreamsRead(v ActivityStreamsRead) + // SetActivityStreamsReject sets the value of this property. Calling + // IsActivityStreamsReject afterwards returns true. + SetActivityStreamsReject(v ActivityStreamsReject) + // SetActivityStreamsRelationship sets the value of this property. Calling + // IsActivityStreamsRelationship afterwards returns true. + SetActivityStreamsRelationship(v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets the value of this property. Calling + // IsActivityStreamsRemove afterwards returns true. + SetActivityStreamsRemove(v ActivityStreamsRemove) + // SetActivityStreamsService sets the value of this property. Calling + // IsActivityStreamsService afterwards returns true. + SetActivityStreamsService(v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets the value of this property. + // Calling IsActivityStreamsTentativeAccept afterwards returns true. + SetActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets the value of this property. + // Calling IsActivityStreamsTentativeReject afterwards returns true. + SetActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets the value of this property. Calling + // IsActivityStreamsTombstone afterwards returns true. + SetActivityStreamsTombstone(v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets the value of this property. Calling + // IsActivityStreamsTravel afterwards returns true. + SetActivityStreamsTravel(v ActivityStreamsTravel) + // SetActivityStreamsUndo sets the value of this property. Calling + // IsActivityStreamsUndo afterwards returns true. + SetActivityStreamsUndo(v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets the value of this property. Calling + // IsActivityStreamsUpdate afterwards returns true. + SetActivityStreamsUpdate(v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets the value of this property. Calling + // IsActivityStreamsVideo afterwards returns true. + SetActivityStreamsVideo(v ActivityStreamsVideo) + // SetActivityStreamsView sets the value of this property. Calling + // IsActivityStreamsView afterwards returns true. + SetActivityStreamsView(v ActivityStreamsView) + // SetForgeFedBranch sets the value of this property. Calling + // IsForgeFedBranch afterwards returns true. + SetForgeFedBranch(v ForgeFedBranch) + // SetForgeFedCommit sets the value of this property. Calling + // IsForgeFedCommit afterwards returns true. + SetForgeFedCommit(v ForgeFedCommit) + // SetForgeFedPush sets the value of this property. Calling IsForgeFedPush + // afterwards returns true. + SetForgeFedPush(v ForgeFedPush) + // SetForgeFedRepository sets the value of this property. Calling + // IsForgeFedRepository afterwards returns true. + SetForgeFedRepository(v ForgeFedRepository) + // SetForgeFedTicket sets the value of this property. Calling + // IsForgeFedTicket afterwards returns true. + SetForgeFedTicket(v ForgeFedTicket) + // SetForgeFedTicketDependency sets the value of this property. Calling + // IsForgeFedTicketDependency afterwards returns true. + SetForgeFedTicketDependency(v ForgeFedTicketDependency) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetTootEmoji sets the value of this property. Calling IsTootEmoji + // afterwards returns true. + SetTootEmoji(v TootEmoji) + // SetTootIdentityProof sets the value of this property. Calling + // IsTootIdentityProof afterwards returns true. + SetTootIdentityProof(v TootIdentityProof) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// Identifies objects for which which this ticket tracker tracks tickets. When +// you’d like to open a ticket against those objects, you can send them to +// this tracker. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "id": "https://bugs.example/treesim", +// "tracksTicketsFor": [ +// "https://dev.example/aviva/liblsystem", +// "https://dev.example/aviva/3d-tree-models", +// "https://dev.example/aviva/treesim" +// ], +// "type": "Project" +// } +type ForgeFedTracksTicketsForProperty interface { + // AppendActivityStreamsAccept appends a Accept value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsAccept(v ActivityStreamsAccept) + // AppendActivityStreamsActivity appends a Activity value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsActivity(v ActivityStreamsActivity) + // AppendActivityStreamsAdd appends a Add value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAdd(v ActivityStreamsAdd) + // AppendActivityStreamsAnnounce appends a Announce value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // AppendActivityStreamsApplication appends a Application value to the + // back of a list of the property "tracksTicketsFor". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsApplication(v ActivityStreamsApplication) + // AppendActivityStreamsArrive appends a Arrive value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsArrive(v ActivityStreamsArrive) + // AppendActivityStreamsArticle appends a Article value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsArticle(v ActivityStreamsArticle) + // AppendActivityStreamsAudio appends a Audio value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsAudio(v ActivityStreamsAudio) + // AppendActivityStreamsBlock appends a Block value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsBlock(v ActivityStreamsBlock) + // AppendActivityStreamsCollection appends a Collection value to the back + // of a list of the property "tracksTicketsFor". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsCollection(v ActivityStreamsCollection) + // AppendActivityStreamsCollectionPage appends a CollectionPage value to + // the back of a list of the property "tracksTicketsFor". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // AppendActivityStreamsCreate appends a Create value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsCreate(v ActivityStreamsCreate) + // AppendActivityStreamsDelete appends a Delete value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsDelete(v ActivityStreamsDelete) + // AppendActivityStreamsDislike appends a Dislike value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsDislike(v ActivityStreamsDislike) + // AppendActivityStreamsDocument appends a Document value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsDocument(v ActivityStreamsDocument) + // AppendActivityStreamsEvent appends a Event value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsEvent(v ActivityStreamsEvent) + // AppendActivityStreamsFlag appends a Flag value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsFlag(v ActivityStreamsFlag) + // AppendActivityStreamsFollow appends a Follow value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsFollow(v ActivityStreamsFollow) + // AppendActivityStreamsGroup appends a Group value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsGroup(v ActivityStreamsGroup) + // AppendActivityStreamsIgnore appends a Ignore value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsIgnore(v ActivityStreamsIgnore) + // AppendActivityStreamsImage appends a Image value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsImage(v ActivityStreamsImage) + // AppendActivityStreamsIntransitiveActivity appends a + // IntransitiveActivity value to the back of a list of the property + // "tracksTicketsFor". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // AppendActivityStreamsInvite appends a Invite value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsInvite(v ActivityStreamsInvite) + // AppendActivityStreamsJoin appends a Join value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsJoin(v ActivityStreamsJoin) + // AppendActivityStreamsLeave appends a Leave value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLeave(v ActivityStreamsLeave) + // AppendActivityStreamsLike appends a Like value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsLike(v ActivityStreamsLike) + // AppendActivityStreamsListen appends a Listen value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsListen(v ActivityStreamsListen) + // AppendActivityStreamsMove appends a Move value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsMove(v ActivityStreamsMove) + // AppendActivityStreamsNote appends a Note value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsNote(v ActivityStreamsNote) + // AppendActivityStreamsObject appends a Object value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsObject(v ActivityStreamsObject) + // AppendActivityStreamsOffer appends a Offer value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsOffer(v ActivityStreamsOffer) + // AppendActivityStreamsOrderedCollection appends a OrderedCollection + // value to the back of a list of the property "tracksTicketsFor". + // Invalidates iterators that are traversing using Prev. + AppendActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // AppendActivityStreamsOrderedCollectionPage appends a + // OrderedCollectionPage value to the back of a list of the property + // "tracksTicketsFor". Invalidates iterators that are traversing using + // Prev. + AppendActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // AppendActivityStreamsOrganization appends a Organization value to the + // back of a list of the property "tracksTicketsFor". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsOrganization(v ActivityStreamsOrganization) + // AppendActivityStreamsPage appends a Page value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPage(v ActivityStreamsPage) + // AppendActivityStreamsPerson appends a Person value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsPerson(v ActivityStreamsPerson) + // AppendActivityStreamsPlace appends a Place value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsPlace(v ActivityStreamsPlace) + // AppendActivityStreamsProfile appends a Profile value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsProfile(v ActivityStreamsProfile) + // AppendActivityStreamsQuestion appends a Question value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsQuestion(v ActivityStreamsQuestion) + // AppendActivityStreamsRead appends a Read value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsRead(v ActivityStreamsRead) + // AppendActivityStreamsReject appends a Reject value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsReject(v ActivityStreamsReject) + // AppendActivityStreamsRelationship appends a Relationship value to the + // back of a list of the property "tracksTicketsFor". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsRelationship(v ActivityStreamsRelationship) + // AppendActivityStreamsRemove appends a Remove value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsRemove(v ActivityStreamsRemove) + // AppendActivityStreamsService appends a Service value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsService(v ActivityStreamsService) + // AppendActivityStreamsTentativeAccept appends a TentativeAccept value to + // the back of a list of the property "tracksTicketsFor". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // AppendActivityStreamsTentativeReject appends a TentativeReject value to + // the back of a list of the property "tracksTicketsFor". Invalidates + // iterators that are traversing using Prev. + AppendActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // AppendActivityStreamsTombstone appends a Tombstone value to the back of + // a list of the property "tracksTicketsFor". Invalidates iterators + // that are traversing using Prev. + AppendActivityStreamsTombstone(v ActivityStreamsTombstone) + // AppendActivityStreamsTravel appends a Travel value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsTravel(v ActivityStreamsTravel) + // AppendActivityStreamsUndo appends a Undo value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsUndo(v ActivityStreamsUndo) + // AppendActivityStreamsUpdate appends a Update value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendActivityStreamsUpdate(v ActivityStreamsUpdate) + // AppendActivityStreamsVideo appends a Video value to the back of a list + // of the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsVideo(v ActivityStreamsVideo) + // AppendActivityStreamsView appends a View value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendActivityStreamsView(v ActivityStreamsView) + // AppendForgeFedBranch appends a Branch value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedBranch(v ForgeFedBranch) + // AppendForgeFedCommit appends a Commit value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedCommit(v ForgeFedCommit) + // AppendForgeFedPush appends a Push value to the back of a list of the + // property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedPush(v ForgeFedPush) + // AppendForgeFedRepository appends a Repository value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendForgeFedRepository(v ForgeFedRepository) + // AppendForgeFedTicket appends a Ticket value to the back of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendForgeFedTicket(v ForgeFedTicket) + // AppendForgeFedTicketDependency appends a TicketDependency value to the + // back of a list of the property "tracksTicketsFor". Invalidates + // iterators that are traversing using Prev. + AppendForgeFedTicketDependency(v ForgeFedTicketDependency) + // AppendIRI appends an IRI value to the back of a list of the property + // "tracksTicketsFor" + AppendIRI(v *url.URL) + // AppendTootEmoji appends a Emoji value to the back of a list of the + // property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. + AppendTootEmoji(v TootEmoji) + // AppendTootIdentityProof appends a IdentityProof value to the back of a + // list of the property "tracksTicketsFor". Invalidates iterators that + // are traversing using Prev. + AppendTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "tracksTicketsFor". Invalidates iterators that are + // traversing using Prev. Returns an error if the type is not a valid + // one to set for this property. + AppendType(t Type) error + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) ForgeFedTracksTicketsForPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() ForgeFedTracksTicketsForPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() ForgeFedTracksTicketsForPropertyIterator + // InsertActivityStreamsAccept inserts a Accept value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // InsertActivityStreamsActivity inserts a Activity value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // InsertActivityStreamsAdd inserts a Add value at the specified index for + // a property "tracksTicketsFor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // InsertActivityStreamsAnnounce inserts a Announce value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // InsertActivityStreamsApplication inserts a Application value at the + // specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // InsertActivityStreamsArrive inserts a Arrive value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // InsertActivityStreamsArticle inserts a Article value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // InsertActivityStreamsAudio inserts a Audio value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // InsertActivityStreamsBlock inserts a Block value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // InsertActivityStreamsCollection inserts a Collection value at the + // specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // InsertActivityStreamsCollectionPage inserts a CollectionPage value at + // the specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // InsertActivityStreamsCreate inserts a Create value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // InsertActivityStreamsDelete inserts a Delete value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // InsertActivityStreamsDislike inserts a Dislike value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // InsertActivityStreamsDocument inserts a Document value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // InsertActivityStreamsEvent inserts a Event value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // InsertActivityStreamsFlag inserts a Flag value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // InsertActivityStreamsFollow inserts a Follow value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // InsertActivityStreamsGroup inserts a Group value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // InsertActivityStreamsIgnore inserts a Ignore value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // InsertActivityStreamsImage inserts a Image value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsImage(idx int, v ActivityStreamsImage) + // InsertActivityStreamsIntransitiveActivity inserts a + // IntransitiveActivity value at the specified index for a property + // "tracksTicketsFor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // InsertActivityStreamsInvite inserts a Invite value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // InsertActivityStreamsJoin inserts a Join value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // InsertActivityStreamsLeave inserts a Leave value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // InsertActivityStreamsLike inserts a Like value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsLike(idx int, v ActivityStreamsLike) + // InsertActivityStreamsListen inserts a Listen value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsListen(idx int, v ActivityStreamsListen) + // InsertActivityStreamsMove inserts a Move value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsMove(idx int, v ActivityStreamsMove) + // InsertActivityStreamsNote inserts a Note value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsNote(idx int, v ActivityStreamsNote) + // InsertActivityStreamsObject inserts a Object value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsObject(idx int, v ActivityStreamsObject) + // InsertActivityStreamsOffer inserts a Offer value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // InsertActivityStreamsOrderedCollection inserts a OrderedCollection + // value at the specified index for a property "tracksTicketsFor". + // Existing elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // InsertActivityStreamsOrderedCollectionPage inserts a + // OrderedCollectionPage value at the specified index for a property + // "tracksTicketsFor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // InsertActivityStreamsOrganization inserts a Organization value at the + // specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // InsertActivityStreamsPage inserts a Page value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPage(idx int, v ActivityStreamsPage) + // InsertActivityStreamsPerson inserts a Person value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // InsertActivityStreamsPlace inserts a Place value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // InsertActivityStreamsProfile inserts a Profile value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // InsertActivityStreamsQuestion inserts a Question value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // InsertActivityStreamsRead inserts a Read value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRead(idx int, v ActivityStreamsRead) + // InsertActivityStreamsReject inserts a Reject value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsReject(idx int, v ActivityStreamsReject) + // InsertActivityStreamsRelationship inserts a Relationship value at the + // specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // InsertActivityStreamsRemove inserts a Remove value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // InsertActivityStreamsService inserts a Service value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsService(idx int, v ActivityStreamsService) + // InsertActivityStreamsTentativeAccept inserts a TentativeAccept value at + // the specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // InsertActivityStreamsTentativeReject inserts a TentativeReject value at + // the specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // InsertActivityStreamsTombstone inserts a Tombstone value at the + // specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // InsertActivityStreamsTravel inserts a Travel value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // InsertActivityStreamsUndo inserts a Undo value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // InsertActivityStreamsUpdate inserts a Update value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // InsertActivityStreamsVideo inserts a Video value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // InsertActivityStreamsView inserts a View value at the specified index + // for a property "tracksTicketsFor". Existing elements at that index + // and higher are shifted back once. Invalidates all iterators. + InsertActivityStreamsView(idx int, v ActivityStreamsView) + // InsertForgeFedBranch inserts a Branch value at the specified index for + // a property "tracksTicketsFor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedBranch(idx int, v ForgeFedBranch) + // InsertForgeFedCommit inserts a Commit value at the specified index for + // a property "tracksTicketsFor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedCommit(idx int, v ForgeFedCommit) + // InsertForgeFedPush inserts a Push value at the specified index for a + // property "tracksTicketsFor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedPush(idx int, v ForgeFedPush) + // InsertForgeFedRepository inserts a Repository value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertForgeFedRepository(idx int, v ForgeFedRepository) + // InsertForgeFedTicket inserts a Ticket value at the specified index for + // a property "tracksTicketsFor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertForgeFedTicket(idx int, v ForgeFedTicket) + // InsertForgeFedTicketDependency inserts a TicketDependency value at the + // specified index for a property "tracksTicketsFor". Existing + // elements at that index and higher are shifted back once. + // Invalidates all iterators. + InsertForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // Insert inserts an IRI value at the specified index for a property + // "tracksTicketsFor". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertTootEmoji inserts a Emoji value at the specified index for a + // property "tracksTicketsFor". Existing elements at that index and + // higher are shifted back once. Invalidates all iterators. + InsertTootEmoji(idx int, v TootEmoji) + // InsertTootIdentityProof inserts a IdentityProof value at the specified + // index for a property "tracksTicketsFor". Existing elements at that + // index and higher are shifted back once. Invalidates all iterators. + InsertTootIdentityProof(idx int, v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "tracksTicketsFor". Invalidates all iterators. Returns + // an error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "tracksTicketsFor" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o ForgeFedTracksTicketsForProperty) bool + // Name returns the name of this property ("tracksTicketsFor") with any + // alias. + Name() string + // PrependActivityStreamsAccept prepends a Accept value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsAccept(v ActivityStreamsAccept) + // PrependActivityStreamsActivity prepends a Activity value to the front + // of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsActivity(v ActivityStreamsActivity) + // PrependActivityStreamsAdd prepends a Add value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsAdd(v ActivityStreamsAdd) + // PrependActivityStreamsAnnounce prepends a Announce value to the front + // of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsAnnounce(v ActivityStreamsAnnounce) + // PrependActivityStreamsApplication prepends a Application value to the + // front of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsApplication(v ActivityStreamsApplication) + // PrependActivityStreamsArrive prepends a Arrive value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsArrive(v ActivityStreamsArrive) + // PrependActivityStreamsArticle prepends a Article value to the front of + // a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsArticle(v ActivityStreamsArticle) + // PrependActivityStreamsAudio prepends a Audio value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsAudio(v ActivityStreamsAudio) + // PrependActivityStreamsBlock prepends a Block value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsBlock(v ActivityStreamsBlock) + // PrependActivityStreamsCollection prepends a Collection value to the + // front of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsCollection(v ActivityStreamsCollection) + // PrependActivityStreamsCollectionPage prepends a CollectionPage value to + // the front of a list of the property "tracksTicketsFor". Invalidates + // all iterators. + PrependActivityStreamsCollectionPage(v ActivityStreamsCollectionPage) + // PrependActivityStreamsCreate prepends a Create value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsCreate(v ActivityStreamsCreate) + // PrependActivityStreamsDelete prepends a Delete value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsDelete(v ActivityStreamsDelete) + // PrependActivityStreamsDislike prepends a Dislike value to the front of + // a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsDislike(v ActivityStreamsDislike) + // PrependActivityStreamsDocument prepends a Document value to the front + // of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsDocument(v ActivityStreamsDocument) + // PrependActivityStreamsEvent prepends a Event value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsEvent(v ActivityStreamsEvent) + // PrependActivityStreamsFlag prepends a Flag value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsFlag(v ActivityStreamsFlag) + // PrependActivityStreamsFollow prepends a Follow value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsFollow(v ActivityStreamsFollow) + // PrependActivityStreamsGroup prepends a Group value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsGroup(v ActivityStreamsGroup) + // PrependActivityStreamsIgnore prepends a Ignore value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsIgnore(v ActivityStreamsIgnore) + // PrependActivityStreamsImage prepends a Image value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsImage(v ActivityStreamsImage) + // PrependActivityStreamsIntransitiveActivity prepends a + // IntransitiveActivity value to the front of a list of the property + // "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsIntransitiveActivity(v ActivityStreamsIntransitiveActivity) + // PrependActivityStreamsInvite prepends a Invite value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsInvite(v ActivityStreamsInvite) + // PrependActivityStreamsJoin prepends a Join value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsJoin(v ActivityStreamsJoin) + // PrependActivityStreamsLeave prepends a Leave value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsLeave(v ActivityStreamsLeave) + // PrependActivityStreamsLike prepends a Like value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsLike(v ActivityStreamsLike) + // PrependActivityStreamsListen prepends a Listen value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsListen(v ActivityStreamsListen) + // PrependActivityStreamsMove prepends a Move value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsMove(v ActivityStreamsMove) + // PrependActivityStreamsNote prepends a Note value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsNote(v ActivityStreamsNote) + // PrependActivityStreamsObject prepends a Object value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsObject(v ActivityStreamsObject) + // PrependActivityStreamsOffer prepends a Offer value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsOffer(v ActivityStreamsOffer) + // PrependActivityStreamsOrderedCollection prepends a OrderedCollection + // value to the front of a list of the property "tracksTicketsFor". + // Invalidates all iterators. + PrependActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // PrependActivityStreamsOrderedCollectionPage prepends a + // OrderedCollectionPage value to the front of a list of the property + // "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // PrependActivityStreamsOrganization prepends a Organization value to the + // front of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsOrganization(v ActivityStreamsOrganization) + // PrependActivityStreamsPage prepends a Page value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsPage(v ActivityStreamsPage) + // PrependActivityStreamsPerson prepends a Person value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsPerson(v ActivityStreamsPerson) + // PrependActivityStreamsPlace prepends a Place value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsPlace(v ActivityStreamsPlace) + // PrependActivityStreamsProfile prepends a Profile value to the front of + // a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsProfile(v ActivityStreamsProfile) + // PrependActivityStreamsQuestion prepends a Question value to the front + // of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsQuestion(v ActivityStreamsQuestion) + // PrependActivityStreamsRead prepends a Read value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsRead(v ActivityStreamsRead) + // PrependActivityStreamsReject prepends a Reject value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsReject(v ActivityStreamsReject) + // PrependActivityStreamsRelationship prepends a Relationship value to the + // front of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsRelationship(v ActivityStreamsRelationship) + // PrependActivityStreamsRemove prepends a Remove value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsRemove(v ActivityStreamsRemove) + // PrependActivityStreamsService prepends a Service value to the front of + // a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsService(v ActivityStreamsService) + // PrependActivityStreamsTentativeAccept prepends a TentativeAccept value + // to the front of a list of the property "tracksTicketsFor". + // Invalidates all iterators. + PrependActivityStreamsTentativeAccept(v ActivityStreamsTentativeAccept) + // PrependActivityStreamsTentativeReject prepends a TentativeReject value + // to the front of a list of the property "tracksTicketsFor". + // Invalidates all iterators. + PrependActivityStreamsTentativeReject(v ActivityStreamsTentativeReject) + // PrependActivityStreamsTombstone prepends a Tombstone value to the front + // of a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependActivityStreamsTombstone(v ActivityStreamsTombstone) + // PrependActivityStreamsTravel prepends a Travel value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsTravel(v ActivityStreamsTravel) + // PrependActivityStreamsUndo prepends a Undo value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsUndo(v ActivityStreamsUndo) + // PrependActivityStreamsUpdate prepends a Update value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsUpdate(v ActivityStreamsUpdate) + // PrependActivityStreamsVideo prepends a Video value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsVideo(v ActivityStreamsVideo) + // PrependActivityStreamsView prepends a View value to the front of a list + // of the property "tracksTicketsFor". Invalidates all iterators. + PrependActivityStreamsView(v ActivityStreamsView) + // PrependForgeFedBranch prepends a Branch value to the front of a list of + // the property "tracksTicketsFor". Invalidates all iterators. + PrependForgeFedBranch(v ForgeFedBranch) + // PrependForgeFedCommit prepends a Commit value to the front of a list of + // the property "tracksTicketsFor". Invalidates all iterators. + PrependForgeFedCommit(v ForgeFedCommit) + // PrependForgeFedPush prepends a Push value to the front of a list of the + // property "tracksTicketsFor". Invalidates all iterators. + PrependForgeFedPush(v ForgeFedPush) + // PrependForgeFedRepository prepends a Repository value to the front of a + // list of the property "tracksTicketsFor". Invalidates all iterators. + PrependForgeFedRepository(v ForgeFedRepository) + // PrependForgeFedTicket prepends a Ticket value to the front of a list of + // the property "tracksTicketsFor". Invalidates all iterators. + PrependForgeFedTicket(v ForgeFedTicket) + // PrependForgeFedTicketDependency prepends a TicketDependency value to + // the front of a list of the property "tracksTicketsFor". Invalidates + // all iterators. + PrependForgeFedTicketDependency(v ForgeFedTicketDependency) + // PrependIRI prepends an IRI value to the front of a list of the property + // "tracksTicketsFor". + PrependIRI(v *url.URL) + // PrependTootEmoji prepends a Emoji value to the front of a list of the + // property "tracksTicketsFor". Invalidates all iterators. + PrependTootEmoji(v TootEmoji) + // PrependTootIdentityProof prepends a IdentityProof value to the front of + // a list of the property "tracksTicketsFor". Invalidates all + // iterators. + PrependTootIdentityProof(v TootIdentityProof) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "tracksTicketsFor". Invalidates all iterators. Returns + // an error if the type is not a valid one to set for this property. + PrependType(t Type) error + // Remove deletes an element at the specified index from a list of the + // property "tracksTicketsFor", regardless of its type. Panics if the + // index is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsAccept sets a Accept value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsAccept(idx int, v ActivityStreamsAccept) + // SetActivityStreamsActivity sets a Activity value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsActivity(idx int, v ActivityStreamsActivity) + // SetActivityStreamsAdd sets a Add value to be at the specified index for + // the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAdd(idx int, v ActivityStreamsAdd) + // SetActivityStreamsAnnounce sets a Announce value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsAnnounce(idx int, v ActivityStreamsAnnounce) + // SetActivityStreamsApplication sets a Application value to be at the + // specified index for the property "tracksTicketsFor". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsApplication(idx int, v ActivityStreamsApplication) + // SetActivityStreamsArrive sets a Arrive value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsArrive(idx int, v ActivityStreamsArrive) + // SetActivityStreamsArticle sets a Article value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsArticle(idx int, v ActivityStreamsArticle) + // SetActivityStreamsAudio sets a Audio value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsAudio(idx int, v ActivityStreamsAudio) + // SetActivityStreamsBlock sets a Block value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsBlock(idx int, v ActivityStreamsBlock) + // SetActivityStreamsCollection sets a Collection value to be at the + // specified index for the property "tracksTicketsFor". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollection(idx int, v ActivityStreamsCollection) + // SetActivityStreamsCollectionPage sets a CollectionPage value to be at + // the specified index for the property "tracksTicketsFor". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsCollectionPage(idx int, v ActivityStreamsCollectionPage) + // SetActivityStreamsCreate sets a Create value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsCreate(idx int, v ActivityStreamsCreate) + // SetActivityStreamsDelete sets a Delete value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsDelete(idx int, v ActivityStreamsDelete) + // SetActivityStreamsDislike sets a Dislike value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsDislike(idx int, v ActivityStreamsDislike) + // SetActivityStreamsDocument sets a Document value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsDocument(idx int, v ActivityStreamsDocument) + // SetActivityStreamsEvent sets a Event value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsEvent(idx int, v ActivityStreamsEvent) + // SetActivityStreamsFlag sets a Flag value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsFlag(idx int, v ActivityStreamsFlag) + // SetActivityStreamsFollow sets a Follow value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsFollow(idx int, v ActivityStreamsFollow) + // SetActivityStreamsGroup sets a Group value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsGroup(idx int, v ActivityStreamsGroup) + // SetActivityStreamsIgnore sets a Ignore value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsIgnore(idx int, v ActivityStreamsIgnore) + // SetActivityStreamsImage sets a Image value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsImage(idx int, v ActivityStreamsImage) + // SetActivityStreamsIntransitiveActivity sets a IntransitiveActivity + // value to be at the specified index for the property + // "tracksTicketsFor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsIntransitiveActivity(idx int, v ActivityStreamsIntransitiveActivity) + // SetActivityStreamsInvite sets a Invite value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsInvite(idx int, v ActivityStreamsInvite) + // SetActivityStreamsJoin sets a Join value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsJoin(idx int, v ActivityStreamsJoin) + // SetActivityStreamsLeave sets a Leave value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLeave(idx int, v ActivityStreamsLeave) + // SetActivityStreamsLike sets a Like value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsLike(idx int, v ActivityStreamsLike) + // SetActivityStreamsListen sets a Listen value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsListen(idx int, v ActivityStreamsListen) + // SetActivityStreamsMove sets a Move value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsMove(idx int, v ActivityStreamsMove) + // SetActivityStreamsNote sets a Note value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsNote(idx int, v ActivityStreamsNote) + // SetActivityStreamsObject sets a Object value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsObject(idx int, v ActivityStreamsObject) + // SetActivityStreamsOffer sets a Offer value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsOffer(idx int, v ActivityStreamsOffer) + // SetActivityStreamsOrderedCollection sets a OrderedCollection value to + // be at the specified index for the property "tracksTicketsFor". + // Panics if the index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrderedCollection(idx int, v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets a OrderedCollectionPage + // value to be at the specified index for the property + // "tracksTicketsFor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetActivityStreamsOrderedCollectionPage(idx int, v ActivityStreamsOrderedCollectionPage) + // SetActivityStreamsOrganization sets a Organization value to be at the + // specified index for the property "tracksTicketsFor". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsOrganization(idx int, v ActivityStreamsOrganization) + // SetActivityStreamsPage sets a Page value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPage(idx int, v ActivityStreamsPage) + // SetActivityStreamsPerson sets a Person value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsPerson(idx int, v ActivityStreamsPerson) + // SetActivityStreamsPlace sets a Place value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsPlace(idx int, v ActivityStreamsPlace) + // SetActivityStreamsProfile sets a Profile value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsProfile(idx int, v ActivityStreamsProfile) + // SetActivityStreamsQuestion sets a Question value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsQuestion(idx int, v ActivityStreamsQuestion) + // SetActivityStreamsRead sets a Read value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsRead(idx int, v ActivityStreamsRead) + // SetActivityStreamsReject sets a Reject value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsReject(idx int, v ActivityStreamsReject) + // SetActivityStreamsRelationship sets a Relationship value to be at the + // specified index for the property "tracksTicketsFor". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsRelationship(idx int, v ActivityStreamsRelationship) + // SetActivityStreamsRemove sets a Remove value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsRemove(idx int, v ActivityStreamsRemove) + // SetActivityStreamsService sets a Service value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsService(idx int, v ActivityStreamsService) + // SetActivityStreamsTentativeAccept sets a TentativeAccept value to be at + // the specified index for the property "tracksTicketsFor". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeAccept(idx int, v ActivityStreamsTentativeAccept) + // SetActivityStreamsTentativeReject sets a TentativeReject value to be at + // the specified index for the property "tracksTicketsFor". Panics if + // the index is out of bounds. Invalidates all iterators. + SetActivityStreamsTentativeReject(idx int, v ActivityStreamsTentativeReject) + // SetActivityStreamsTombstone sets a Tombstone value to be at the + // specified index for the property "tracksTicketsFor". Panics if the + // index is out of bounds. Invalidates all iterators. + SetActivityStreamsTombstone(idx int, v ActivityStreamsTombstone) + // SetActivityStreamsTravel sets a Travel value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsTravel(idx int, v ActivityStreamsTravel) + // SetActivityStreamsUndo sets a Undo value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsUndo(idx int, v ActivityStreamsUndo) + // SetActivityStreamsUpdate sets a Update value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetActivityStreamsUpdate(idx int, v ActivityStreamsUpdate) + // SetActivityStreamsVideo sets a Video value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsVideo(idx int, v ActivityStreamsVideo) + // SetActivityStreamsView sets a View value to be at the specified index + // for the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetActivityStreamsView(idx int, v ActivityStreamsView) + // SetForgeFedBranch sets a Branch value to be at the specified index for + // the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedBranch(idx int, v ForgeFedBranch) + // SetForgeFedCommit sets a Commit value to be at the specified index for + // the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedCommit(idx int, v ForgeFedCommit) + // SetForgeFedPush sets a Push value to be at the specified index for the + // property "tracksTicketsFor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetForgeFedPush(idx int, v ForgeFedPush) + // SetForgeFedRepository sets a Repository value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetForgeFedRepository(idx int, v ForgeFedRepository) + // SetForgeFedTicket sets a Ticket value to be at the specified index for + // the property "tracksTicketsFor". Panics if the index is out of + // bounds. Invalidates all iterators. + SetForgeFedTicket(idx int, v ForgeFedTicket) + // SetForgeFedTicketDependency sets a TicketDependency value to be at the + // specified index for the property "tracksTicketsFor". Panics if the + // index is out of bounds. Invalidates all iterators. + SetForgeFedTicketDependency(idx int, v ForgeFedTicketDependency) + // SetIRI sets an IRI value to be at the specified index for the property + // "tracksTicketsFor". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetTootEmoji sets a Emoji value to be at the specified index for the + // property "tracksTicketsFor". Panics if the index is out of bounds. + // Invalidates all iterators. + SetTootEmoji(idx int, v TootEmoji) + // SetTootIdentityProof sets a IdentityProof value to be at the specified + // index for the property "tracksTicketsFor". Panics if the index is + // out of bounds. Invalidates all iterators. + SetTootIdentityProof(idx int, v TootIdentityProof) + // SetType sets an arbitrary type value to the specified index of the + // property "tracksTicketsFor". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + // Panics if the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the + // "tracksTicketsFor" property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_jsonld_id_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_jsonld_id_interface.go new file mode 100644 index 000000000..289ec2822 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_jsonld_id_interface.go @@ -0,0 +1,52 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// Provides the globally unique identifier for JSON-LD entities. +type JSONLDIdProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaAnyURI afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaAnyURI returns + // false, Get will return any arbitrary value. + Get() *url.URL + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaAnyURI returns true if this property is set and not an IRI. + IsXMLSchemaAnyURI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o JSONLDIdProperty) bool + // Name returns the name of this property: "id". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaAnyURI + // afterwards will return true. + Set(v *url.URL) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_jsonld_type_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_jsonld_type_interface.go new file mode 100644 index 000000000..6c9e7a07b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_jsonld_type_interface.go @@ -0,0 +1,158 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// JSONLDTypePropertyIterator represents a single value for the "type" property. +type JSONLDTypePropertyIterator interface { + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetXMLSchemaAnyURI returns the value of this property. When + // IsXMLSchemaAnyURI returns false, GetXMLSchemaAnyURI will return an + // arbitrary value. + GetXMLSchemaAnyURI() *url.URL + // GetXMLSchemaString returns the value of this property. When + // IsXMLSchemaString returns false, GetXMLSchemaString will return an + // arbitrary value. + GetXMLSchemaString() string + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // IsXMLSchemaAnyURI returns true if this property has a type of "anyURI". + // When true, use the GetXMLSchemaAnyURI and SetXMLSchemaAnyURI + // methods to access and set this property. + IsXMLSchemaAnyURI() bool + // IsXMLSchemaString returns true if this property has a type of "string". + // When true, use the GetXMLSchemaString and SetXMLSchemaString + // methods to access and set this property. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o JSONLDTypePropertyIterator) bool + // Name returns the name of this property: "JSONLDType". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() JSONLDTypePropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() JSONLDTypePropertyIterator + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetXMLSchemaAnyURI sets the value of this property. Calling + // IsXMLSchemaAnyURI afterwards returns true. + SetXMLSchemaAnyURI(v *url.URL) + // SetXMLSchemaString sets the value of this property. Calling + // IsXMLSchemaString afterwards returns true. + SetXMLSchemaString(v string) +} + +// Identifies the schema type(s) of the JSON-LD entity. +type JSONLDTypeProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "type" + AppendIRI(v *url.URL) + // AppendXMLSchemaAnyURI appends a anyURI value to the back of a list of + // the property "type". Invalidates iterators that are traversing + // using Prev. + AppendXMLSchemaAnyURI(v *url.URL) + // AppendXMLSchemaString appends a string value to the back of a list of + // the property "type". Invalidates iterators that are traversing + // using Prev. + AppendXMLSchemaString(v string) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) JSONLDTypePropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() JSONLDTypePropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() JSONLDTypePropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "type". Existing elements at that index and higher are shifted back + // once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // InsertXMLSchemaAnyURI inserts a anyURI value at the specified index for + // a property "type". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertXMLSchemaAnyURI(idx int, v *url.URL) + // InsertXMLSchemaString inserts a string value at the specified index for + // a property "type". Existing elements at that index and higher are + // shifted back once. Invalidates all iterators. + InsertXMLSchemaString(idx int, v string) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "type" property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o JSONLDTypeProperty) bool + // Name returns the name of this property ("type") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "type". + PrependIRI(v *url.URL) + // PrependXMLSchemaAnyURI prepends a anyURI value to the front of a list + // of the property "type". Invalidates all iterators. + PrependXMLSchemaAnyURI(v *url.URL) + // PrependXMLSchemaString prepends a string value to the front of a list + // of the property "type". Invalidates all iterators. + PrependXMLSchemaString(v string) + // Remove deletes an element at the specified index from a list of the + // property "type", regardless of its type. Panics if the index is out + // of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetIRI sets an IRI value to be at the specified index for the property + // "type". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetXMLSchemaAnyURI sets a anyURI value to be at the specified index for + // the property "type". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaAnyURI(idx int, v *url.URL) + // SetXMLSchemaString sets a string value to be at the specified index for + // the property "type". Panics if the index is out of bounds. + // Invalidates all iterators. + SetXMLSchemaString(idx int, v string) + // Swap swaps the location of values at two indices for the "type" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_blurhash_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_blurhash_interface.go new file mode 100644 index 000000000..94e078550 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_blurhash_interface.go @@ -0,0 +1,54 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// +// +// null +type TootBlurhashProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaString afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o TootBlurhashProperty) bool + // Name returns the name of this property: "blurhash". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_discoverable_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_discoverable_interface.go new file mode 100644 index 000000000..153c55314 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_discoverable_interface.go @@ -0,0 +1,54 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// +// +// null +type TootDiscoverableProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaBoolean afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaBoolean returns + // false, Get will return any arbitrary value. + Get() bool + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaBoolean returns true if this property is set and not an IRI. + IsXMLSchemaBoolean() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o TootDiscoverableProperty) bool + // Name returns the name of this property: "discoverable". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaBoolean + // afterwards will return true. + Set(v bool) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_featured_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_featured_interface.go new file mode 100644 index 000000000..821a676e9 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_featured_interface.go @@ -0,0 +1,82 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// +// +// null +type TootFeaturedProperty interface { + // Clear ensures no value of this property is set. Calling HasAny or any + // of the 'Is' methods afterwards will return false. + Clear() + // GetActivityStreamsOrderedCollection returns the value of this property. + // When IsActivityStreamsOrderedCollection returns false, + // GetActivityStreamsOrderedCollection will return an arbitrary value. + GetActivityStreamsOrderedCollection() ActivityStreamsOrderedCollection + // GetActivityStreamsOrderedCollectionPage returns the value of this + // property. When IsActivityStreamsOrderedCollectionPage returns + // false, GetActivityStreamsOrderedCollectionPage will return an + // arbitrary value. + GetActivityStreamsOrderedCollectionPage() ActivityStreamsOrderedCollectionPage + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return an arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if any of the different values is set. + HasAny() bool + // IsActivityStreamsOrderedCollection returns true if this property has a + // type of "OrderedCollection". When true, use the + // GetActivityStreamsOrderedCollection and + // SetActivityStreamsOrderedCollection methods to access and set this + // property. + IsActivityStreamsOrderedCollection() bool + // IsActivityStreamsOrderedCollectionPage returns true if this property + // has a type of "OrderedCollectionPage". When true, use the + // GetActivityStreamsOrderedCollectionPage and + // SetActivityStreamsOrderedCollectionPage methods to access and set + // this property. + IsActivityStreamsOrderedCollectionPage() bool + // IsIRI returns true if this property is an IRI. When true, use GetIRI + // and SetIRI to access and set this property + IsIRI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o TootFeaturedProperty) bool + // Name returns the name of this property: "featured". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // SetActivityStreamsOrderedCollection sets the value of this property. + // Calling IsActivityStreamsOrderedCollection afterwards returns true. + SetActivityStreamsOrderedCollection(v ActivityStreamsOrderedCollection) + // SetActivityStreamsOrderedCollectionPage sets the value of this + // property. Calling IsActivityStreamsOrderedCollectionPage afterwards + // returns true. + SetActivityStreamsOrderedCollectionPage(v ActivityStreamsOrderedCollectionPage) + // SetIRI sets the value of this property. Calling IsIRI afterwards + // returns true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_signatureAlgorithm_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_signatureAlgorithm_interface.go new file mode 100644 index 000000000..e18dea3d6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_signatureAlgorithm_interface.go @@ -0,0 +1,54 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// +// +// null +type TootSignatureAlgorithmProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaString afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o TootSignatureAlgorithmProperty) bool + // Name returns the name of this property: "signatureAlgorithm". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_signatureValue_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_signatureValue_interface.go new file mode 100644 index 000000000..06b49b67d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_signatureValue_interface.go @@ -0,0 +1,54 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// +// +// null +type TootSignatureValueProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaString afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o TootSignatureValueProperty) bool + // Name returns the name of this property: "signatureValue". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_votersCount_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_votersCount_interface.go new file mode 100644 index 000000000..52a45b47d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_toot_votersCount_interface.go @@ -0,0 +1,56 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// +// +// null +type TootVotersCountProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return false. + Clear() + // Get returns the value of this property. When + // IsXMLSchemaNonNegativeInteger returns false, Get will return any + // arbitrary value. + Get() int + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaNonNegativeInteger returns true if this property is set and + // not an IRI. + IsXMLSchemaNonNegativeInteger() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o TootVotersCountProperty) bool + // Name returns the name of this property: "votersCount". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling + // IsXMLSchemaNonNegativeInteger afterwards will return true. + Set(v int) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_owner_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_owner_interface.go new file mode 100644 index 000000000..e45d44a77 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_owner_interface.go @@ -0,0 +1,52 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// The owner of the public key for an ActivityStreams actor +type W3IDSecurityV1OwnerProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaAnyURI afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaAnyURI returns + // false, Get will return any arbitrary value. + Get() *url.URL + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaAnyURI returns true if this property is set and not an IRI. + IsXMLSchemaAnyURI() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o W3IDSecurityV1OwnerProperty) bool + // Name returns the name of this property: "owner". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaAnyURI + // afterwards will return true. + Set(v *url.URL) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_publicKeyPem_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_publicKeyPem_interface.go new file mode 100644 index 000000000..906eb673d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_publicKeyPem_interface.go @@ -0,0 +1,52 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// The public key PEM encoded data for an ActivityStreams actor +type W3IDSecurityV1PublicKeyPemProperty interface { + // Clear ensures no value of this property is set. Calling + // IsXMLSchemaString afterwards will return false. + Clear() + // Get returns the value of this property. When IsXMLSchemaString returns + // false, Get will return any arbitrary value. + Get() string + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsXMLSchemaString returns true if this property is set and not an IRI. + IsXMLSchemaString() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o W3IDSecurityV1PublicKeyPemProperty) bool + // Name returns the name of this property: "publicKeyPem". + Name() string + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets the value of this property. Calling IsXMLSchemaString + // afterwards will return true. + Set(v string) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_publicKey_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_publicKey_interface.go new file mode 100644 index 000000000..246a1a3df --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_property_w3idsecurityv1_publicKey_interface.go @@ -0,0 +1,159 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +import "net/url" + +// W3IDSecurityV1PublicKeyPropertyIterator represents a single value for the +// "publicKey" property. +type W3IDSecurityV1PublicKeyPropertyIterator interface { + // Get returns the value of this property. When IsW3IDSecurityV1PublicKey + // returns false, Get will return any arbitrary value. + Get() W3IDSecurityV1PublicKey + // GetIRI returns the IRI of this property. When IsIRI returns false, + // GetIRI will return any arbitrary value. + GetIRI() *url.URL + // GetType returns the value in this property as a Type. Returns nil if + // the value is not an ActivityStreams type, such as an IRI or another + // value. + GetType() Type + // HasAny returns true if the value or IRI is set. + HasAny() bool + // IsIRI returns true if this property is an IRI. + IsIRI() bool + // IsW3IDSecurityV1PublicKey returns true if this property is set and not + // an IRI. + IsW3IDSecurityV1PublicKey() bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API detail only for folks looking to replace the + // go-fed implementation. Applications should not use this method. + KindIndex() int + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o W3IDSecurityV1PublicKeyPropertyIterator) bool + // Name returns the name of this property: "W3IDSecurityV1PublicKey". + Name() string + // Next returns the next iterator, or nil if there is no next iterator. + Next() W3IDSecurityV1PublicKeyPropertyIterator + // Prev returns the previous iterator, or nil if there is no previous + // iterator. + Prev() W3IDSecurityV1PublicKeyPropertyIterator + // Set sets the value of this property. Calling IsW3IDSecurityV1PublicKey + // afterwards will return true. + Set(v W3IDSecurityV1PublicKey) + // SetIRI sets the value of this property. Calling IsIRI afterwards will + // return true. + SetIRI(v *url.URL) + // SetType attempts to set the property for the arbitrary type. Returns an + // error if it is not a valid type to set on this property. + SetType(t Type) error +} + +// The public key for an ActivityStreams actor +// +// null +type W3IDSecurityV1PublicKeyProperty interface { + // AppendIRI appends an IRI value to the back of a list of the property + // "publicKey" + AppendIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "publicKey". Invalidates iterators that are traversing + // using Prev. Returns an error if the type is not a valid one to set + // for this property. + AppendType(t Type) error + // AppendW3IDSecurityV1PublicKey appends a PublicKey value to the back of + // a list of the property "publicKey". Invalidates iterators that are + // traversing using Prev. + AppendW3IDSecurityV1PublicKey(v W3IDSecurityV1PublicKey) + // At returns the property value for the specified index. Panics if the + // index is out of bounds. + At(index int) W3IDSecurityV1PublicKeyPropertyIterator + // Begin returns the first iterator, or nil if empty. Can be used with the + // iterator's Next method and this property's End method to iterate + // from front to back through all values. + Begin() W3IDSecurityV1PublicKeyPropertyIterator + // Empty returns returns true if there are no elements. + Empty() bool + // End returns beyond-the-last iterator, which is nil. Can be used with + // the iterator's Next method and this property's Begin method to + // iterate from front to back through all values. + End() W3IDSecurityV1PublicKeyPropertyIterator + // Insert inserts an IRI value at the specified index for a property + // "publicKey". Existing elements at that index and higher are shifted + // back once. Invalidates all iterators. + InsertIRI(idx int, v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "publicKey". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + InsertType(idx int, t Type) error + // InsertW3IDSecurityV1PublicKey inserts a PublicKey value at the + // specified index for a property "publicKey". Existing elements at + // that index and higher are shifted back once. Invalidates all + // iterators. + InsertW3IDSecurityV1PublicKey(idx int, v W3IDSecurityV1PublicKey) + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string + // KindIndex computes an arbitrary value for indexing this kind of value. + // This is a leaky API method specifically needed only for alternate + // implementations for go-fed. Applications should not use this + // method. Panics if the index is out of bounds. + KindIndex(idx int) int + // Len returns the number of values that exist for the "publicKey" + // property. + Len() (length int) + // Less computes whether another property is less than this one. Mixing + // types results in a consistent but arbitrary ordering + Less(i, j int) bool + // LessThan compares two instances of this property with an arbitrary but + // stable comparison. Applications should not use this because it is + // only meant to help alternative implementations to go-fed to be able + // to normalize nonfunctional properties. + LessThan(o W3IDSecurityV1PublicKeyProperty) bool + // Name returns the name of this property ("publicKey") with any alias. + Name() string + // PrependIRI prepends an IRI value to the front of a list of the property + // "publicKey". + PrependIRI(v *url.URL) + // PrependType prepends an arbitrary type value to the front of a list of + // the property "publicKey". Invalidates all iterators. Returns an + // error if the type is not a valid one to set for this property. + PrependType(t Type) error + // PrependW3IDSecurityV1PublicKey prepends a PublicKey value to the front + // of a list of the property "publicKey". Invalidates all iterators. + PrependW3IDSecurityV1PublicKey(v W3IDSecurityV1PublicKey) + // Remove deletes an element at the specified index from a list of the + // property "publicKey", regardless of its type. Panics if the index + // is out of bounds. Invalidates all iterators. + Remove(idx int) + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. Applications should not + // need this function as most typical use cases serialize types + // instead of individual properties. It is exposed for alternatives to + // go-fed implementations to use. + Serialize() (interface{}, error) + // Set sets a PublicKey value to be at the specified index for the + // property "publicKey". Panics if the index is out of bounds. + // Invalidates all iterators. + Set(idx int, v W3IDSecurityV1PublicKey) + // SetIRI sets an IRI value to be at the specified index for the property + // "publicKey". Panics if the index is out of bounds. + SetIRI(idx int, v *url.URL) + // SetType sets an arbitrary type value to the specified index of the + // property "publicKey". Invalidates all iterators. Returns an error + // if the type is not a valid one to set for this property. Panics if + // the index is out of bounds. + SetType(idx int, t Type) error + // Swap swaps the location of values at two indices for the "publicKey" + // property. + Swap(i, j int) +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_accept_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_accept_interface.go new file mode 100644 index 000000000..bac356dab --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_accept_interface.go @@ -0,0 +1,273 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor accepts the object. The target property can be used in +// certain circumstances to indicate the context into which the object has +// been accepted. +// +// Example 9 (https://www.w3.org/TR/activitystreams-vocabulary/#ex7a-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://john.example.org", +// "object": { +// "name": "Going-Away Party for Jim", +// "type": "Event" +// }, +// "type": "Invite" +// }, +// "summary": "Sally accepted an invitation to a party", +// "type": "Accept" +// } +// +// Example 10 (https://www.w3.org/TR/activitystreams-vocabulary/#ex7b-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "Joe", +// "type": "Person" +// }, +// "summary": "Sally accepted Joe into the club", +// "target": { +// "name": "The Club", +// "type": "Group" +// }, +// "type": "Accept" +// } +type ActivityStreamsAccept interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Accept + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Accept type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Accept is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsAccept) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_activity_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_activity_interface.go new file mode 100644 index 000000000..f148dbab3 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_activity_interface.go @@ -0,0 +1,254 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// An Activity is a subtype of Object that describes some form of action that may +// happen, is currently happening, or has already happened. The Activity type +// itself serves as an abstract base type for all types of activities. It is +// important to note that the Activity type itself does not carry any specific +// semantics about the kind of action being taken. +// +// Example 3 (https://www.w3.org/TR/activitystreams-vocabulary/#ex3-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A Note", +// "type": "Note" +// }, +// "summary": "Sally did something to a note", +// "type": "Activity" +// } +type ActivityStreamsActivity interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Activity + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Activity type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Activity is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsActivity) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_add_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_add_interface.go new file mode 100644 index 000000000..2f62d18ad --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_add_interface.go @@ -0,0 +1,273 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has added the object to the target. If the target +// property is not explicitly specified, the target would need to be +// determined implicitly by context. The origin can be used to identify the +// context from which the object originated. +// +// Example 12 (https://www.w3.org/TR/activitystreams-vocabulary/#ex9-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/abc", +// "summary": "Sally added an object", +// "type": "Add" +// } +// +// Example 13 (https://www.w3.org/TR/activitystreams-vocabulary/#ex10-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A picture of my cat", +// "type": "Image", +// "url": "http://example.org/img/cat.png" +// }, +// "origin": { +// "name": "Camera Roll", +// "type": "Collection" +// }, +// "summary": "Sally added a picture of her cat to her cat picture +// collection", +// "target": { +// "name": "My Cat Pictures", +// "type": "Collection" +// }, +// "type": "Add" +// } +type ActivityStreamsAdd interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Add type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Add type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Add is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsAdd) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_announce_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_announce_interface.go new file mode 100644 index 000000000..48d43123c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_announce_interface.go @@ -0,0 +1,256 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is calling the target's attention the object. The +// origin typically has no defined meaning. +// +// Example 36 (https://www.w3.org/TR/activitystreams-vocabulary/#ex170-jsonld): +// { +// "actor": { +// "id": "http://sally.example.org", +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://sally.example.org", +// "location": { +// "name": "Work", +// "type": "Place" +// }, +// "type": "Arrive" +// }, +// "summary": "Sally announced that she had arrived at work", +// "type": "Announce" +// } +type ActivityStreamsAnnounce interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Announce + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Announce type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Announce is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsAnnounce) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_application_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_application_interface.go new file mode 100644 index 000000000..3fec42bd4 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_application_interface.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Describes a software application. +// +// Example 42 (https://www.w3.org/TR/activitystreams-vocabulary/#ex34-jsonld): +// { +// "name": "Exampletron 3000", +// "type": "Application" +// } +type ActivityStreamsApplication interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFollowers returns the "followers" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowers() ActivityStreamsFollowersProperty + // GetActivityStreamsFollowing returns the "following" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowing() ActivityStreamsFollowingProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInbox returns the "inbox" property if it exists, and + // nil otherwise. + GetActivityStreamsInbox() ActivityStreamsInboxProperty + // GetActivityStreamsLiked returns the "liked" property if it exists, and + // nil otherwise. + GetActivityStreamsLiked() ActivityStreamsLikedProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOutbox returns the "outbox" property if it exists, + // and nil otherwise. + GetActivityStreamsOutbox() ActivityStreamsOutboxProperty + // GetActivityStreamsPreferredUsername returns the "preferredUsername" + // property if it exists, and nil otherwise. + GetActivityStreamsPreferredUsername() ActivityStreamsPreferredUsernameProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsStreams returns the "streams" property if it exists, + // and nil otherwise. + GetActivityStreamsStreams() ActivityStreamsStreamsProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootDiscoverable returns the "discoverable" property if it exists, + // and nil otherwise. + GetTootDiscoverable() TootDiscoverableProperty + // GetTootFeatured returns the "featured" property if it exists, and nil + // otherwise. + GetTootFeatured() TootFeaturedProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Application + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // GetW3IDSecurityV1PublicKey returns the "publicKey" property if it + // exists, and nil otherwise. + GetW3IDSecurityV1PublicKey() W3IDSecurityV1PublicKeyProperty + // IsExtending returns true if the Application type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Application is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsApplication) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFollowers sets the "followers" property. + SetActivityStreamsFollowers(i ActivityStreamsFollowersProperty) + // SetActivityStreamsFollowing sets the "following" property. + SetActivityStreamsFollowing(i ActivityStreamsFollowingProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInbox sets the "inbox" property. + SetActivityStreamsInbox(i ActivityStreamsInboxProperty) + // SetActivityStreamsLiked sets the "liked" property. + SetActivityStreamsLiked(i ActivityStreamsLikedProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOutbox sets the "outbox" property. + SetActivityStreamsOutbox(i ActivityStreamsOutboxProperty) + // SetActivityStreamsPreferredUsername sets the "preferredUsername" + // property. + SetActivityStreamsPreferredUsername(i ActivityStreamsPreferredUsernameProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsStreams sets the "streams" property. + SetActivityStreamsStreams(i ActivityStreamsStreamsProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootDiscoverable sets the "discoverable" property. + SetTootDiscoverable(i TootDiscoverableProperty) + // SetTootFeatured sets the "featured" property. + SetTootFeatured(i TootFeaturedProperty) + // SetW3IDSecurityV1PublicKey sets the "publicKey" property. + SetW3IDSecurityV1PublicKey(i W3IDSecurityV1PublicKeyProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_arrive_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_arrive_interface.go new file mode 100644 index 000000000..5eaeacb68 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_arrive_interface.go @@ -0,0 +1,250 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// An IntransitiveActivity that indicates that the actor has arrived at the +// location. The origin can be used to identify the context from which the +// actor originated. The target typically has no defined meaning. +// +// Example 14 (https://www.w3.org/TR/activitystreams-vocabulary/#ex11-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "location": { +// "name": "Work", +// "type": "Place" +// }, +// "origin": { +// "name": "Home", +// "type": "Place" +// }, +// "summary": "Sally arrived at work", +// "type": "Arrive" +// } +type ActivityStreamsArrive interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Arrive + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Arrive type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Arrive is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsArrive) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_article_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_article_interface.go new file mode 100644 index 000000000..984114d8d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_article_interface.go @@ -0,0 +1,220 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents any kind of multi-paragraph written work. +// +// Example 48 (https://www.w3.org/TR/activitystreams-vocabulary/#ex43-jsonld): +// { +// "attributedTo": "http://sally.example.org", +// "content": "\u003cdiv\u003e... you will never believe +// ...\u003c/div\u003e", +// "name": "What a Crazy Day I Had", +// "type": "Article" +// } +type ActivityStreamsArticle interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Article + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Article type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Article is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsArticle) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_audio_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_audio_interface.go new file mode 100644 index 000000000..c840de2ba --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_audio_interface.go @@ -0,0 +1,226 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents an audio document of any kind. +// +// Example 50 (https://www.w3.org/TR/activitystreams-vocabulary/#ex49-jsonld): +// { +// "name": "Interview With A Famous Technologist", +// "type": "Audio", +// "url": { +// "mediaType": "audio/mp3", +// "type": "owl:Class", +// "url": "http://example.org/podcast.mp3" +// } +// } +type ActivityStreamsAudio interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootBlurhash returns the "blurhash" property if it exists, and nil + // otherwise. + GetTootBlurhash() TootBlurhashProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Audio type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Audio type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Audio is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsAudio) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootBlurhash sets the "blurhash" property. + SetTootBlurhash(i TootBlurhashProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_block_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_block_interface.go new file mode 100644 index 000000000..a813f1e3c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_block_interface.go @@ -0,0 +1,246 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is blocking the object. Blocking is a stronger form of +// Ignore. The typical use is to support social systems that allow one user to +// block activities or content of other users. The target and origin typically +// have no defined meaning. +// +// Example 37 (https://www.w3.org/TR/activitystreams-vocabulary/#ex173-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://joe.example.org", +// "summary": "Sally blocked Joe", +// "type": "Block" +// } +type ActivityStreamsBlock interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Block type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Block type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Block is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsBlock) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_collection_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_collection_interface.go new file mode 100644 index 000000000..43526fc1e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_collection_interface.go @@ -0,0 +1,255 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A Collection is a subtype of Object that represents ordered or unordered sets +// of Object or Link instances. Refer to the Activity Streams 2.0 Core +// specification for a complete description of the Collection type. +// +// Example 5 (https://www.w3.org/TR/activitystreams-vocabulary/#ex5-jsonld): +// { +// "items": [ +// { +// "name": "A Simple Note", +// "type": "Note" +// }, +// { +// "name": "Another Simple Note", +// "type": "Note" +// } +// ], +// "summary": "Sally's notes", +// "totalItems": 2, +// "type": "Collection" +// } +type ActivityStreamsCollection interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsCurrent returns the "current" property if it exists, + // and nil otherwise. + GetActivityStreamsCurrent() ActivityStreamsCurrentProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFirst returns the "first" property if it exists, and + // nil otherwise. + GetActivityStreamsFirst() ActivityStreamsFirstProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsItems returns the "items" property if it exists, and + // nil otherwise. + GetActivityStreamsItems() ActivityStreamsItemsProperty + // GetActivityStreamsLast returns the "last" property if it exists, and + // nil otherwise. + GetActivityStreamsLast() ActivityStreamsLastProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsTotalItems returns the "totalItems" property if it + // exists, and nil otherwise. + GetActivityStreamsTotalItems() ActivityStreamsTotalItemsProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Collection + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Collection type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Collection is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsCollection) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsCurrent sets the "current" property. + SetActivityStreamsCurrent(i ActivityStreamsCurrentProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFirst sets the "first" property. + SetActivityStreamsFirst(i ActivityStreamsFirstProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsItems sets the "items" property. + SetActivityStreamsItems(i ActivityStreamsItemsProperty) + // SetActivityStreamsLast sets the "last" property. + SetActivityStreamsLast(i ActivityStreamsLastProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsTotalItems sets the "totalItems" property. + SetActivityStreamsTotalItems(i ActivityStreamsTotalItemsProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_collectionpage_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_collectionpage_interface.go new file mode 100644 index 000000000..ab0ed38f0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_collectionpage_interface.go @@ -0,0 +1,271 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Used to represent distinct subsets of items from a Collection. Refer to the +// Activity Streams 2.0 Core for a complete description of the CollectionPage +// object. +// +// Example 7 (https://www.w3.org/TR/activitystreams-vocabulary/#ex6b-jsonld): +// { +// "id": "http://example.org/foo?page=1", +// "items": [ +// { +// "name": "A Simple Note", +// "type": "Note" +// }, +// { +// "name": "Another Simple Note", +// "type": "Note" +// } +// ], +// "partOf": "http://example.org/foo", +// "summary": "Page 1 of Sally's notes", +// "type": "CollectionPage" +// } +type ActivityStreamsCollectionPage interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsCurrent returns the "current" property if it exists, + // and nil otherwise. + GetActivityStreamsCurrent() ActivityStreamsCurrentProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFirst returns the "first" property if it exists, and + // nil otherwise. + GetActivityStreamsFirst() ActivityStreamsFirstProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsItems returns the "items" property if it exists, and + // nil otherwise. + GetActivityStreamsItems() ActivityStreamsItemsProperty + // GetActivityStreamsLast returns the "last" property if it exists, and + // nil otherwise. + GetActivityStreamsLast() ActivityStreamsLastProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsNext returns the "next" property if it exists, and + // nil otherwise. + GetActivityStreamsNext() ActivityStreamsNextProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPartOf returns the "partOf" property if it exists, + // and nil otherwise. + GetActivityStreamsPartOf() ActivityStreamsPartOfProperty + // GetActivityStreamsPrev returns the "prev" property if it exists, and + // nil otherwise. + GetActivityStreamsPrev() ActivityStreamsPrevProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsTotalItems returns the "totalItems" property if it + // exists, and nil otherwise. + GetActivityStreamsTotalItems() ActivityStreamsTotalItemsProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // CollectionPage type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the CollectionPage type extends from the + // other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this CollectionPage is lesser, with an arbitrary + // but stable determination. + LessThan(o ActivityStreamsCollectionPage) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsCurrent sets the "current" property. + SetActivityStreamsCurrent(i ActivityStreamsCurrentProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFirst sets the "first" property. + SetActivityStreamsFirst(i ActivityStreamsFirstProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsItems sets the "items" property. + SetActivityStreamsItems(i ActivityStreamsItemsProperty) + // SetActivityStreamsLast sets the "last" property. + SetActivityStreamsLast(i ActivityStreamsLastProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsNext sets the "next" property. + SetActivityStreamsNext(i ActivityStreamsNextProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPartOf sets the "partOf" property. + SetActivityStreamsPartOf(i ActivityStreamsPartOfProperty) + // SetActivityStreamsPrev sets the "prev" property. + SetActivityStreamsPrev(i ActivityStreamsPrevProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsTotalItems sets the "totalItems" property. + SetActivityStreamsTotalItems(i ActivityStreamsTotalItemsProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_create_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_create_interface.go new file mode 100644 index 000000000..2d2e67d60 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_create_interface.go @@ -0,0 +1,250 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has created the object. +// +// Example 15 (https://www.w3.org/TR/activitystreams-vocabulary/#ex12-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "content": "This is a simple note", +// "name": "A Simple Note", +// "type": "Note" +// }, +// "summary": "Sally created a note", +// "type": "Create" +// } +type ActivityStreamsCreate interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Create + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Create type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Create is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsCreate) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_delete_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_delete_interface.go new file mode 100644 index 000000000..d987998b5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_delete_interface.go @@ -0,0 +1,251 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has deleted the object. If specified, the origin +// indicates the context from which the object was deleted. +// +// Example 16 (https://www.w3.org/TR/activitystreams-vocabulary/#ex13-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "origin": { +// "name": "Sally's Notes", +// "type": "Collection" +// }, +// "summary": "Sally deleted a note", +// "type": "Delete" +// } +type ActivityStreamsDelete interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Delete + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Delete type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Delete is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsDelete) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_dislike_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_dislike_interface.go new file mode 100644 index 000000000..b7fb54ed8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_dislike_interface.go @@ -0,0 +1,244 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor dislikes the object. +// +// Example 39 (https://www.w3.org/TR/activitystreams-vocabulary/#ex175-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "summary": "Sally disliked a post", +// "type": "Dislike" +// } +type ActivityStreamsDislike interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Dislike + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Dislike type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Dislike is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsDislike) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_document_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_document_interface.go new file mode 100644 index 000000000..46312ca80 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_document_interface.go @@ -0,0 +1,223 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a document of any kind. +// +// Example 49 (https://www.w3.org/TR/activitystreams-vocabulary/#ex48-jsonld): +// { +// "name": "4Q Sales Forecast", +// "type": "Document", +// "url": "http://example.org/4q-sales-forecast.pdf" +// } +type ActivityStreamsDocument interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootBlurhash returns the "blurhash" property if it exists, and nil + // otherwise. + GetTootBlurhash() TootBlurhashProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Document + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Document type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Document is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsDocument) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootBlurhash sets the "blurhash" property. + SetTootBlurhash(i TootBlurhashProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_event_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_event_interface.go new file mode 100644 index 000000000..bc25aeee6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_event_interface.go @@ -0,0 +1,218 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents any kind of event. +// +// Example 55 (https://www.w3.org/TR/activitystreams-vocabulary/#ex56-jsonld): +// { +// "endTime": "2015-01-01T06:00:00-08:00", +// "name": "Going-Away Party for Jim", +// "startTime": "2014-12-31T23:00:00-08:00", +// "type": "Event" +// } +type ActivityStreamsEvent interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Event type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Event type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Event is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsEvent) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_flag_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_flag_interface.go new file mode 100644 index 000000000..0aa5d1a2c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_flag_interface.go @@ -0,0 +1,248 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is "flagging" the object. Flagging is defined in the +// sense common to many social platforms as reporting content as being +// inappropriate for any number of reasons. +// +// Example 38 (https://www.w3.org/TR/activitystreams-vocabulary/#ex174-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": { +// "content": "An inappropriate note", +// "type": "Note" +// }, +// "summary": "Sally flagged an inappropriate note", +// "type": "Flag" +// } +type ActivityStreamsFlag interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Flag type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Flag type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Flag is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsFlag) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_follow_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_follow_interface.go new file mode 100644 index 000000000..fe7c5fd35 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_follow_interface.go @@ -0,0 +1,252 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is "following" the object. Following is defined in the +// sense typically used within Social systems in which the actor is interested +// in any activity performed by or on the object. The target and origin +// typically have no defined meaning. +// +// Example 17 (https://www.w3.org/TR/activitystreams-vocabulary/#ex15-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "John", +// "type": "Person" +// }, +// "summary": "Sally followed John", +// "type": "Follow" +// } +type ActivityStreamsFollow interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Follow + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Follow type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Follow is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsFollow) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_group_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_group_interface.go new file mode 100644 index 000000000..8bca5f6dc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_group_interface.go @@ -0,0 +1,267 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a formal or informal collective of Actors. +// +// Example 43 (https://www.w3.org/TR/activitystreams-vocabulary/#ex37-jsonld): +// { +// "name": "Big Beards of Austin", +// "type": "Group" +// } +type ActivityStreamsGroup interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFollowers returns the "followers" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowers() ActivityStreamsFollowersProperty + // GetActivityStreamsFollowing returns the "following" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowing() ActivityStreamsFollowingProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInbox returns the "inbox" property if it exists, and + // nil otherwise. + GetActivityStreamsInbox() ActivityStreamsInboxProperty + // GetActivityStreamsLiked returns the "liked" property if it exists, and + // nil otherwise. + GetActivityStreamsLiked() ActivityStreamsLikedProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOutbox returns the "outbox" property if it exists, + // and nil otherwise. + GetActivityStreamsOutbox() ActivityStreamsOutboxProperty + // GetActivityStreamsPreferredUsername returns the "preferredUsername" + // property if it exists, and nil otherwise. + GetActivityStreamsPreferredUsername() ActivityStreamsPreferredUsernameProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsStreams returns the "streams" property if it exists, + // and nil otherwise. + GetActivityStreamsStreams() ActivityStreamsStreamsProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootDiscoverable returns the "discoverable" property if it exists, + // and nil otherwise. + GetTootDiscoverable() TootDiscoverableProperty + // GetTootFeatured returns the "featured" property if it exists, and nil + // otherwise. + GetTootFeatured() TootFeaturedProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Group type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // GetW3IDSecurityV1PublicKey returns the "publicKey" property if it + // exists, and nil otherwise. + GetW3IDSecurityV1PublicKey() W3IDSecurityV1PublicKeyProperty + // IsExtending returns true if the Group type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Group is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsGroup) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFollowers sets the "followers" property. + SetActivityStreamsFollowers(i ActivityStreamsFollowersProperty) + // SetActivityStreamsFollowing sets the "following" property. + SetActivityStreamsFollowing(i ActivityStreamsFollowingProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInbox sets the "inbox" property. + SetActivityStreamsInbox(i ActivityStreamsInboxProperty) + // SetActivityStreamsLiked sets the "liked" property. + SetActivityStreamsLiked(i ActivityStreamsLikedProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOutbox sets the "outbox" property. + SetActivityStreamsOutbox(i ActivityStreamsOutboxProperty) + // SetActivityStreamsPreferredUsername sets the "preferredUsername" + // property. + SetActivityStreamsPreferredUsername(i ActivityStreamsPreferredUsernameProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsStreams sets the "streams" property. + SetActivityStreamsStreams(i ActivityStreamsStreamsProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootDiscoverable sets the "discoverable" property. + SetTootDiscoverable(i TootDiscoverableProperty) + // SetTootFeatured sets the "featured" property. + SetTootFeatured(i TootFeaturedProperty) + // SetW3IDSecurityV1PublicKey sets the "publicKey" property. + SetW3IDSecurityV1PublicKey(i W3IDSecurityV1PublicKeyProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_ignore_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_ignore_interface.go new file mode 100644 index 000000000..33d93ef33 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_ignore_interface.go @@ -0,0 +1,247 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is ignoring the object. The target and origin +// typically have no defined meaning. +// +// Example 18 (https://www.w3.org/TR/activitystreams-vocabulary/#ex16-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "summary": "Sally ignored a note", +// "type": "Ignore" +// } +type ActivityStreamsIgnore interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Ignore + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Ignore type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Ignore is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsIgnore) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_image_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_image_interface.go new file mode 100644 index 000000000..b9151b8e6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_image_interface.go @@ -0,0 +1,243 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// An image document of any kind +// +// Example 51 (https://www.w3.org/TR/activitystreams-vocabulary/#ex50-jsonld): +// { +// "name": "Cat Jumping on Wagon", +// "type": "Image", +// "url": [ +// { +// "mediaType": "image/jpeg", +// "type": "Link", +// "url": "http://example.org/image.jpeg" +// }, +// { +// "mediaType": "image/png", +// "type": "Link", +// "url": "http://example.org/image.png" +// } +// ] +// } +type ActivityStreamsImage interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsHeight returns the "height" property if it exists, + // and nil otherwise. + GetActivityStreamsHeight() ActivityStreamsHeightProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetActivityStreamsWidth returns the "width" property if it exists, and + // nil otherwise. + GetActivityStreamsWidth() ActivityStreamsWidthProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootBlurhash returns the "blurhash" property if it exists, and nil + // otherwise. + GetTootBlurhash() TootBlurhashProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Image type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Image type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Image is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsImage) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsHeight sets the "height" property. + SetActivityStreamsHeight(i ActivityStreamsHeightProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetActivityStreamsWidth sets the "width" property. + SetActivityStreamsWidth(i ActivityStreamsWidthProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootBlurhash sets the "blurhash" property. + SetTootBlurhash(i TootBlurhashProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_intransitiveactivity_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_intransitiveactivity_interface.go new file mode 100644 index 000000000..8f42bb6bd --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_intransitiveactivity_interface.go @@ -0,0 +1,247 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Instances of IntransitiveActivity are a subtype of Activity representing +// intransitive actions. The object property is therefore inappropriate for +// these activities. +// +// Example 4 (https://www.w3.org/TR/activitystreams-vocabulary/#ex182-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "summary": "Sally went to work", +// "target": { +// "name": "Work", +// "type": "Place" +// }, +// "type": "Travel" +// } +type ActivityStreamsIntransitiveActivity interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // IntransitiveActivity type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the IntransitiveActivity type extends from + // the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this IntransitiveActivity is lesser, with an + // arbitrary but stable determination. + LessThan(o ActivityStreamsIntransitiveActivity) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_invite_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_invite_interface.go new file mode 100644 index 000000000..fd20885ea --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_invite_interface.go @@ -0,0 +1,260 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A specialization of Offer in which the actor is extending an invitation for the +// object to the target. +// +// Example 24 (https://www.w3.org/TR/activitystreams-vocabulary/#ex24-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A Party", +// "type": "Event" +// }, +// "summary": "Sally invited John and Lisa to a party", +// "target": [ +// { +// "name": "John", +// "type": "Person" +// }, +// { +// "name": "Lisa", +// "type": "Person" +// } +// ], +// "type": "Invite" +// } +type ActivityStreamsInvite interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Invite + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Invite type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Invite is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsInvite) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_join_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_join_interface.go new file mode 100644 index 000000000..d7135b935 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_join_interface.go @@ -0,0 +1,250 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has joined the object. The target and origin typically +// have no defined meaning. +// +// Example 19 (https://www.w3.org/TR/activitystreams-vocabulary/#ex17-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A Simple Group", +// "type": "Group" +// }, +// "summary": "Sally joined a group", +// "type": "Join" +// } +type ActivityStreamsJoin interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Join type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Join type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Join is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsJoin) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_leave_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_leave_interface.go new file mode 100644 index 000000000..2226a3fdb --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_leave_interface.go @@ -0,0 +1,264 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has left the object. The target and origin typically +// have no meaning. +// +// Example 20 (https://www.w3.org/TR/activitystreams-vocabulary/#ex18-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "Work", +// "type": "Place" +// }, +// "summary": "Sally left work", +// "type": "Leave" +// } +// +// Example 21 (https://www.w3.org/TR/activitystreams-vocabulary/#ex19-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "A Simple Group", +// "type": "Group" +// }, +// "summary": "Sally left a group", +// "type": "Leave" +// } +type ActivityStreamsLeave interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Leave type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Leave type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Leave is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsLeave) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_like_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_like_interface.go new file mode 100644 index 000000000..87887a67b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_like_interface.go @@ -0,0 +1,247 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor likes, recommends or endorses the object. The target +// and origin typically have no defined meaning. +// +// Example 22 (https://www.w3.org/TR/activitystreams-vocabulary/#ex20-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "summary": "Sally liked a note", +// "type": "Like" +// } +type ActivityStreamsLike interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Like type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Like type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Like is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsLike) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_link_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_link_interface.go new file mode 100644 index 000000000..9d4c7364b --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_link_interface.go @@ -0,0 +1,105 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A Link is an indirect, qualified reference to a resource identified by a URL. +// The fundamental model for links is established by [RFC5988]. Many of the +// properties defined by the Activity Vocabulary allow values that are either +// instances of Object or Link. When a Link is used, it establishes a +// qualified relation connecting the subject (the containing object) to the +// resource identified by the href. Properties of the Link are properties of +// the reference as opposed to properties of the resource. +// +// Example 2 (https://www.w3.org/TR/activitystreams-vocabulary/#ex2-jsonld): +// { +// "hreflang": "en", +// "mediaType": "text/html", +// "name": "An example link", +// "type": "Link", +// "url": "http://example.org/abc" +// } +type ActivityStreamsLink interface { + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsHeight returns the "height" property if it exists, + // and nil otherwise. + GetActivityStreamsHeight() ActivityStreamsHeightProperty + // GetActivityStreamsHref returns the "href" property if it exists, and + // nil otherwise. + GetActivityStreamsHref() ActivityStreamsHrefProperty + // GetActivityStreamsHreflang returns the "hreflang" property if it + // exists, and nil otherwise. + GetActivityStreamsHreflang() ActivityStreamsHreflangProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsRel returns the "rel" property if it exists, and nil + // otherwise. + GetActivityStreamsRel() ActivityStreamsRelProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsWidth returns the "width" property if it exists, and + // nil otherwise. + GetActivityStreamsWidth() ActivityStreamsWidthProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Link type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Link type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Link is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsLink) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsHeight sets the "height" property. + SetActivityStreamsHeight(i ActivityStreamsHeightProperty) + // SetActivityStreamsHref sets the "href" property. + SetActivityStreamsHref(i ActivityStreamsHrefProperty) + // SetActivityStreamsHreflang sets the "hreflang" property. + SetActivityStreamsHreflang(i ActivityStreamsHreflangProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsRel sets the "rel" property. + SetActivityStreamsRel(i ActivityStreamsRelProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsWidth sets the "width" property. + SetActivityStreamsWidth(i ActivityStreamsWidthProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_listen_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_listen_interface.go new file mode 100644 index 000000000..1bdd0d9a2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_listen_interface.go @@ -0,0 +1,246 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has listened to the object. +// +// Example 32 (https://www.w3.org/TR/activitystreams-vocabulary/#ex163-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/music.mp3", +// "summary": "Sally listened to a piece of music", +// "type": "Listen" +// } +type ActivityStreamsListen interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Listen + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Listen type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Listen is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsListen) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_mention_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_mention_interface.go new file mode 100644 index 000000000..b0c03ff51 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_mention_interface.go @@ -0,0 +1,99 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A specialized Link that represents an @mention. +// +// Example 58 (https://www.w3.org/TR/activitystreams-vocabulary/#ex181-jsonld): +// { +// "name": "Joe", +// "summary": "Mention of Joe by Carrie in her note", +// "type": "Mention", +// "url": "http://example.org/joe" +// } +type ActivityStreamsMention interface { + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsHeight returns the "height" property if it exists, + // and nil otherwise. + GetActivityStreamsHeight() ActivityStreamsHeightProperty + // GetActivityStreamsHref returns the "href" property if it exists, and + // nil otherwise. + GetActivityStreamsHref() ActivityStreamsHrefProperty + // GetActivityStreamsHreflang returns the "hreflang" property if it + // exists, and nil otherwise. + GetActivityStreamsHreflang() ActivityStreamsHreflangProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsRel returns the "rel" property if it exists, and nil + // otherwise. + GetActivityStreamsRel() ActivityStreamsRelProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsWidth returns the "width" property if it exists, and + // nil otherwise. + GetActivityStreamsWidth() ActivityStreamsWidthProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Mention + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Mention type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Mention is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsMention) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsHeight sets the "height" property. + SetActivityStreamsHeight(i ActivityStreamsHeightProperty) + // SetActivityStreamsHref sets the "href" property. + SetActivityStreamsHref(i ActivityStreamsHrefProperty) + // SetActivityStreamsHreflang sets the "hreflang" property. + SetActivityStreamsHreflang(i ActivityStreamsHreflangProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsRel sets the "rel" property. + SetActivityStreamsRel(i ActivityStreamsRelProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsWidth sets the "width" property. + SetActivityStreamsWidth(i ActivityStreamsWidthProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_move_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_move_interface.go new file mode 100644 index 000000000..43359f6fe --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_move_interface.go @@ -0,0 +1,255 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has moved object from origin to target. If the origin +// or target are not specified, either can be determined by context. +// +// Example 34 (https://www.w3.org/TR/activitystreams-vocabulary/#ex168-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/posts/1", +// "origin": { +// "name": "List A", +// "type": "Collection" +// }, +// "summary": "Sally moved a post from List A to List B", +// "target": { +// "name": "List B", +// "type": "Collection" +// }, +// "type": "Move" +// } +type ActivityStreamsMove interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Move type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Move type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Move is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsMove) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_note_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_note_interface.go new file mode 100644 index 000000000..0cde2118f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_note_interface.go @@ -0,0 +1,218 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a short written work typically less than a single paragraph in +// length. +// +// Example 53 (https://www.w3.org/TR/activitystreams-vocabulary/#ex52-jsonld): +// { +// "content": "Looks like it is going to rain today. Bring an umbrella!", +// "name": "A Word of Warning", +// "type": "Note" +// } +type ActivityStreamsNote interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Note type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Note type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Note is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsNote) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_object_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_object_interface.go new file mode 100644 index 000000000..b6f3fef59 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_object_interface.go @@ -0,0 +1,220 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Describes an object of any kind. The Object type serves as the base type for +// most of the other kinds of objects defined in the Activity Vocabulary, +// including other Core types such as Activity, IntransitiveActivity, +// Collection and OrderedCollection. +// +// Example 1 (https://www.w3.org/TR/activitystreams-vocabulary/#ex1-jsonld): +// { +// "id": "http://www.test.example/object/1", +// "name": "A Simple, non-specific object", +// "type": "Object" +// } +type ActivityStreamsObject interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Object + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Object type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Object is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsObject) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_offer_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_offer_interface.go new file mode 100644 index 000000000..6f4cc98eb --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_offer_interface.go @@ -0,0 +1,254 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is offering the object. If specified, the target +// indicates the entity to which the object is being offered. +// +// Example 23 (https://www.w3.org/TR/activitystreams-vocabulary/#ex21-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "50% Off!", +// "type": "http://www.types.example/ProductOffer" +// }, +// "summary": "Sally offered 50% off to Lewis", +// "target": { +// "name": "Lewis", +// "type": "Person" +// }, +// "type": "Offer" +// } +type ActivityStreamsOffer interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Offer type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Offer type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Offer is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsOffer) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_orderedcollection_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_orderedcollection_interface.go new file mode 100644 index 000000000..9bb278eca --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_orderedcollection_interface.go @@ -0,0 +1,259 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A subtype of Collection in which members of the logical collection are assumed +// to always be strictly ordered. +// +// Example 6 (https://www.w3.org/TR/activitystreams-vocabulary/#ex6-jsonld): +// { +// "orderedItems": [ +// { +// "name": "A Simple Note", +// "type": "Note" +// }, +// { +// "name": "Another Simple Note", +// "type": "Note" +// } +// ], +// "summary": "Sally's notes", +// "totalItems": 2, +// "type": "OrderedCollection" +// } +type ActivityStreamsOrderedCollection interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsCurrent returns the "current" property if it exists, + // and nil otherwise. + GetActivityStreamsCurrent() ActivityStreamsCurrentProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFirst returns the "first" property if it exists, and + // nil otherwise. + GetActivityStreamsFirst() ActivityStreamsFirstProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLast returns the "last" property if it exists, and + // nil otherwise. + GetActivityStreamsLast() ActivityStreamsLastProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrderedItems returns the "orderedItems" property if + // it exists, and nil otherwise. + GetActivityStreamsOrderedItems() ActivityStreamsOrderedItemsProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsTotalItems returns the "totalItems" property if it + // exists, and nil otherwise. + GetActivityStreamsTotalItems() ActivityStreamsTotalItemsProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedEarlyItems returns the "earlyItems" property if it exists, + // and nil otherwise. + GetForgeFedEarlyItems() ForgeFedEarlyItemsProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // OrderedCollection type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the OrderedCollection type extends from the + // other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this OrderedCollection is lesser, with an + // arbitrary but stable determination. + LessThan(o ActivityStreamsOrderedCollection) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsCurrent sets the "current" property. + SetActivityStreamsCurrent(i ActivityStreamsCurrentProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFirst sets the "first" property. + SetActivityStreamsFirst(i ActivityStreamsFirstProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLast sets the "last" property. + SetActivityStreamsLast(i ActivityStreamsLastProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrderedItems sets the "orderedItems" property. + SetActivityStreamsOrderedItems(i ActivityStreamsOrderedItemsProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsTotalItems sets the "totalItems" property. + SetActivityStreamsTotalItems(i ActivityStreamsTotalItemsProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedEarlyItems sets the "earlyItems" property. + SetForgeFedEarlyItems(i ForgeFedEarlyItemsProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_orderedcollectionpage_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_orderedcollectionpage_interface.go new file mode 100644 index 000000000..58f0cb361 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_orderedcollectionpage_interface.go @@ -0,0 +1,281 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Used to represent ordered subsets of items from an OrderedCollection. Refer to +// the Activity Streams 2.0 Core for a complete description of the +// OrderedCollectionPage object. +// +// Example 8 (https://www.w3.org/TR/activitystreams-vocabulary/#ex6c-jsonld): +// { +// "id": "http://example.org/foo?page=1", +// "orderedItems": [ +// { +// "name": "A Simple Note", +// "type": "Note" +// }, +// { +// "name": "Another Simple Note", +// "type": "Note" +// } +// ], +// "partOf": "http://example.org/foo", +// "summary": "Page 1 of Sally's notes", +// "type": "OrderedCollectionPage" +// } +type ActivityStreamsOrderedCollectionPage interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsCurrent returns the "current" property if it exists, + // and nil otherwise. + GetActivityStreamsCurrent() ActivityStreamsCurrentProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFirst returns the "first" property if it exists, and + // nil otherwise. + GetActivityStreamsFirst() ActivityStreamsFirstProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLast returns the "last" property if it exists, and + // nil otherwise. + GetActivityStreamsLast() ActivityStreamsLastProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsNext returns the "next" property if it exists, and + // nil otherwise. + GetActivityStreamsNext() ActivityStreamsNextProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrderedItems returns the "orderedItems" property if + // it exists, and nil otherwise. + GetActivityStreamsOrderedItems() ActivityStreamsOrderedItemsProperty + // GetActivityStreamsPartOf returns the "partOf" property if it exists, + // and nil otherwise. + GetActivityStreamsPartOf() ActivityStreamsPartOfProperty + // GetActivityStreamsPrev returns the "prev" property if it exists, and + // nil otherwise. + GetActivityStreamsPrev() ActivityStreamsPrevProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartIndex returns the "startIndex" property if it + // exists, and nil otherwise. + GetActivityStreamsStartIndex() ActivityStreamsStartIndexProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsTotalItems returns the "totalItems" property if it + // exists, and nil otherwise. + GetActivityStreamsTotalItems() ActivityStreamsTotalItemsProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedEarlyItems returns the "earlyItems" property if it exists, + // and nil otherwise. + GetForgeFedEarlyItems() ForgeFedEarlyItemsProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // OrderedCollectionPage type. Note that this should not be used by + // app developers. It is only used to help determine which + // implementation is LessThan the other. Developers who are creating a + // different implementation of this type's interface can use this + // method in their LessThan implementation, but routine ActivityPub + // applications should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the OrderedCollectionPage type extends from + // the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this OrderedCollectionPage is lesser, with an + // arbitrary but stable determination. + LessThan(o ActivityStreamsOrderedCollectionPage) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsCurrent sets the "current" property. + SetActivityStreamsCurrent(i ActivityStreamsCurrentProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFirst sets the "first" property. + SetActivityStreamsFirst(i ActivityStreamsFirstProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLast sets the "last" property. + SetActivityStreamsLast(i ActivityStreamsLastProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsNext sets the "next" property. + SetActivityStreamsNext(i ActivityStreamsNextProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrderedItems sets the "orderedItems" property. + SetActivityStreamsOrderedItems(i ActivityStreamsOrderedItemsProperty) + // SetActivityStreamsPartOf sets the "partOf" property. + SetActivityStreamsPartOf(i ActivityStreamsPartOfProperty) + // SetActivityStreamsPrev sets the "prev" property. + SetActivityStreamsPrev(i ActivityStreamsPrevProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartIndex sets the "startIndex" property. + SetActivityStreamsStartIndex(i ActivityStreamsStartIndexProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsTotalItems sets the "totalItems" property. + SetActivityStreamsTotalItems(i ActivityStreamsTotalItemsProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedEarlyItems sets the "earlyItems" property. + SetForgeFedEarlyItems(i ForgeFedEarlyItemsProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_organization_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_organization_interface.go new file mode 100644 index 000000000..2b18b584d --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_organization_interface.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents an organization. +// +// Example 44 (https://www.w3.org/TR/activitystreams-vocabulary/#ex186-jsonld): +// { +// "name": "Example Co.", +// "type": "Organization" +// } +type ActivityStreamsOrganization interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFollowers returns the "followers" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowers() ActivityStreamsFollowersProperty + // GetActivityStreamsFollowing returns the "following" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowing() ActivityStreamsFollowingProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInbox returns the "inbox" property if it exists, and + // nil otherwise. + GetActivityStreamsInbox() ActivityStreamsInboxProperty + // GetActivityStreamsLiked returns the "liked" property if it exists, and + // nil otherwise. + GetActivityStreamsLiked() ActivityStreamsLikedProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOutbox returns the "outbox" property if it exists, + // and nil otherwise. + GetActivityStreamsOutbox() ActivityStreamsOutboxProperty + // GetActivityStreamsPreferredUsername returns the "preferredUsername" + // property if it exists, and nil otherwise. + GetActivityStreamsPreferredUsername() ActivityStreamsPreferredUsernameProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsStreams returns the "streams" property if it exists, + // and nil otherwise. + GetActivityStreamsStreams() ActivityStreamsStreamsProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootDiscoverable returns the "discoverable" property if it exists, + // and nil otherwise. + GetTootDiscoverable() TootDiscoverableProperty + // GetTootFeatured returns the "featured" property if it exists, and nil + // otherwise. + GetTootFeatured() TootFeaturedProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // Organization type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // GetW3IDSecurityV1PublicKey returns the "publicKey" property if it + // exists, and nil otherwise. + GetW3IDSecurityV1PublicKey() W3IDSecurityV1PublicKeyProperty + // IsExtending returns true if the Organization type extends from the + // other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Organization is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsOrganization) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFollowers sets the "followers" property. + SetActivityStreamsFollowers(i ActivityStreamsFollowersProperty) + // SetActivityStreamsFollowing sets the "following" property. + SetActivityStreamsFollowing(i ActivityStreamsFollowingProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInbox sets the "inbox" property. + SetActivityStreamsInbox(i ActivityStreamsInboxProperty) + // SetActivityStreamsLiked sets the "liked" property. + SetActivityStreamsLiked(i ActivityStreamsLikedProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOutbox sets the "outbox" property. + SetActivityStreamsOutbox(i ActivityStreamsOutboxProperty) + // SetActivityStreamsPreferredUsername sets the "preferredUsername" + // property. + SetActivityStreamsPreferredUsername(i ActivityStreamsPreferredUsernameProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsStreams sets the "streams" property. + SetActivityStreamsStreams(i ActivityStreamsStreamsProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootDiscoverable sets the "discoverable" property. + SetTootDiscoverable(i TootDiscoverableProperty) + // SetTootFeatured sets the "featured" property. + SetTootFeatured(i TootFeaturedProperty) + // SetW3IDSecurityV1PublicKey sets the "publicKey" property. + SetW3IDSecurityV1PublicKey(i W3IDSecurityV1PublicKeyProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_page_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_page_interface.go new file mode 100644 index 000000000..f449c0a87 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_page_interface.go @@ -0,0 +1,222 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a Web Page. +// +// Example 54 (https://www.w3.org/TR/activitystreams-vocabulary/#ex53-jsonld): +// { +// "name": "Omaha Weather Report", +// "type": "Page", +// "url": "http://example.org/weather-in-omaha.html" +// } +type ActivityStreamsPage interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootBlurhash returns the "blurhash" property if it exists, and nil + // otherwise. + GetTootBlurhash() TootBlurhashProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Page type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Page type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Page is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsPage) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootBlurhash sets the "blurhash" property. + SetTootBlurhash(i TootBlurhashProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_person_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_person_interface.go new file mode 100644 index 000000000..66b91ccfa --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_person_interface.go @@ -0,0 +1,267 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents an individual person. +// +// Example 45 (https://www.w3.org/TR/activitystreams-vocabulary/#ex39-jsonld): +// { +// "name": "Sally Smith", +// "type": "Person" +// } +type ActivityStreamsPerson interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFollowers returns the "followers" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowers() ActivityStreamsFollowersProperty + // GetActivityStreamsFollowing returns the "following" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowing() ActivityStreamsFollowingProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInbox returns the "inbox" property if it exists, and + // nil otherwise. + GetActivityStreamsInbox() ActivityStreamsInboxProperty + // GetActivityStreamsLiked returns the "liked" property if it exists, and + // nil otherwise. + GetActivityStreamsLiked() ActivityStreamsLikedProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOutbox returns the "outbox" property if it exists, + // and nil otherwise. + GetActivityStreamsOutbox() ActivityStreamsOutboxProperty + // GetActivityStreamsPreferredUsername returns the "preferredUsername" + // property if it exists, and nil otherwise. + GetActivityStreamsPreferredUsername() ActivityStreamsPreferredUsernameProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsStreams returns the "streams" property if it exists, + // and nil otherwise. + GetActivityStreamsStreams() ActivityStreamsStreamsProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootDiscoverable returns the "discoverable" property if it exists, + // and nil otherwise. + GetTootDiscoverable() TootDiscoverableProperty + // GetTootFeatured returns the "featured" property if it exists, and nil + // otherwise. + GetTootFeatured() TootFeaturedProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Person + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // GetW3IDSecurityV1PublicKey returns the "publicKey" property if it + // exists, and nil otherwise. + GetW3IDSecurityV1PublicKey() W3IDSecurityV1PublicKeyProperty + // IsExtending returns true if the Person type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Person is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsPerson) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFollowers sets the "followers" property. + SetActivityStreamsFollowers(i ActivityStreamsFollowersProperty) + // SetActivityStreamsFollowing sets the "following" property. + SetActivityStreamsFollowing(i ActivityStreamsFollowingProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInbox sets the "inbox" property. + SetActivityStreamsInbox(i ActivityStreamsInboxProperty) + // SetActivityStreamsLiked sets the "liked" property. + SetActivityStreamsLiked(i ActivityStreamsLikedProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOutbox sets the "outbox" property. + SetActivityStreamsOutbox(i ActivityStreamsOutboxProperty) + // SetActivityStreamsPreferredUsername sets the "preferredUsername" + // property. + SetActivityStreamsPreferredUsername(i ActivityStreamsPreferredUsernameProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsStreams sets the "streams" property. + SetActivityStreamsStreams(i ActivityStreamsStreamsProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootDiscoverable sets the "discoverable" property. + SetTootDiscoverable(i TootDiscoverableProperty) + // SetTootFeatured sets the "featured" property. + SetTootFeatured(i TootFeaturedProperty) + // SetW3IDSecurityV1PublicKey sets the "publicKey" property. + SetW3IDSecurityV1PublicKey(i W3IDSecurityV1PublicKeyProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_place_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_place_interface.go new file mode 100644 index 000000000..ac38a66e8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_place_interface.go @@ -0,0 +1,252 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a logical or physical location. See 5.3 Representing Places for +// additional information. +// +// Example 56 (https://www.w3.org/TR/activitystreams-vocabulary/#ex57-jsonld): +// { +// "name": "Work", +// "type": "Place" +// } +// +// Example 57 (https://www.w3.org/TR/activitystreams-vocabulary/#ex58-jsonld): +// { +// "latitude": 36.75, +// "longitude": 119.7667, +// "name": "Fresno Area", +// "radius": 15, +// "type": "Place", +// "units": "miles" +// } +type ActivityStreamsPlace interface { + // GetActivityStreamsAccuracy returns the "accuracy" property if it + // exists, and nil otherwise. + GetActivityStreamsAccuracy() ActivityStreamsAccuracyProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLatitude returns the "latitude" property if it + // exists, and nil otherwise. + GetActivityStreamsLatitude() ActivityStreamsLatitudeProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsLongitude returns the "longitude" property if it + // exists, and nil otherwise. + GetActivityStreamsLongitude() ActivityStreamsLongitudeProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsRadius returns the "radius" property if it exists, + // and nil otherwise. + GetActivityStreamsRadius() ActivityStreamsRadiusProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUnits returns the "units" property if it exists, and + // nil otherwise. + GetActivityStreamsUnits() ActivityStreamsUnitsProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Place type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Place type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Place is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsPlace) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAccuracy sets the "accuracy" property. + SetActivityStreamsAccuracy(i ActivityStreamsAccuracyProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLatitude sets the "latitude" property. + SetActivityStreamsLatitude(i ActivityStreamsLatitudeProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsLongitude sets the "longitude" property. + SetActivityStreamsLongitude(i ActivityStreamsLongitudeProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsRadius sets the "radius" property. + SetActivityStreamsRadius(i ActivityStreamsRadiusProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUnits sets the "units" property. + SetActivityStreamsUnits(i ActivityStreamsUnitsProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_profile_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_profile_interface.go new file mode 100644 index 000000000..27e84dbff --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_profile_interface.go @@ -0,0 +1,228 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A Profile is a content object that describes another Object, typically used to +// describe Actor Type objects. The describes property is used to reference +// the object being described by the profile. +// +// Example 59 (https://www.w3.org/TR/activitystreams-vocabulary/#ex184a-jsonld): +// { +// "describes": { +// "name": "Sally Smith", +// "type": "Person" +// }, +// "summary": "Sally's Profile", +// "type": "Profile" +// } +type ActivityStreamsProfile interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDescribes returns the "describes" property if it + // exists, and nil otherwise. + GetActivityStreamsDescribes() ActivityStreamsDescribesProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Profile + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Profile type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Profile is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsProfile) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDescribes sets the "describes" property. + SetActivityStreamsDescribes(i ActivityStreamsDescribesProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_question_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_question_interface.go new file mode 100644 index 000000000..a551b2ae0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_question_interface.go @@ -0,0 +1,279 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a question being asked. Question objects are an extension of +// IntransitiveActivity. That is, the Question object is an Activity, but the +// direct object is the question itself and therefore it would not contain an +// object property. Either of the anyOf and oneOf properties MAY be used to +// express possible answers, but a Question object MUST NOT have both +// properties. +// +// Example 40 (https://www.w3.org/TR/activitystreams-vocabulary/#ex55a-jsonld): +// { +// "name": "What is the answer?", +// "oneOf": [ +// { +// "name": "Option A", +// "type": "Note" +// }, +// { +// "name": "Option B", +// "type": "Note" +// } +// ], +// "type": "Question" +// } +// +// Example 41 (https://www.w3.org/TR/activitystreams-vocabulary/#ex55b-jsonld): +// { +// "closed": "2016-05-10T00:00:00Z", +// "name": "What is the answer?", +// "type": "Question" +// } +type ActivityStreamsQuestion interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAnyOf returns the "anyOf" property if it exists, and + // nil otherwise. + GetActivityStreamsAnyOf() ActivityStreamsAnyOfProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsClosed returns the "closed" property if it exists, + // and nil otherwise. + GetActivityStreamsClosed() ActivityStreamsClosedProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsOneOf returns the "oneOf" property if it exists, and + // nil otherwise. + GetActivityStreamsOneOf() ActivityStreamsOneOfProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootVotersCount returns the "votersCount" property if it exists, and + // nil otherwise. + GetTootVotersCount() TootVotersCountProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Question + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Question type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Question is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsQuestion) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAnyOf sets the "anyOf" property. + SetActivityStreamsAnyOf(i ActivityStreamsAnyOfProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsClosed sets the "closed" property. + SetActivityStreamsClosed(i ActivityStreamsClosedProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsOneOf sets the "oneOf" property. + SetActivityStreamsOneOf(i ActivityStreamsOneOfProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootVotersCount sets the "votersCount" property. + SetTootVotersCount(i TootVotersCountProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_read_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_read_interface.go new file mode 100644 index 000000000..2a6806b60 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_read_interface.go @@ -0,0 +1,246 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has read the object. +// +// Example 33 (https://www.w3.org/TR/activitystreams-vocabulary/#ex164-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/posts/1", +// "summary": "Sally read a blog post", +// "type": "Read" +// } +type ActivityStreamsRead interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Read type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Read type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Read is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsRead) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_reject_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_reject_interface.go new file mode 100644 index 000000000..aa15967cf --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_reject_interface.go @@ -0,0 +1,254 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is rejecting the object. The target and origin +// typically have no defined meaning. +// +// Example 25 (https://www.w3.org/TR/activitystreams-vocabulary/#ex26-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://john.example.org", +// "object": { +// "name": "Going-Away Party for Jim", +// "type": "Event" +// }, +// "type": "Invite" +// }, +// "summary": "Sally rejected an invitation to a party", +// "type": "Reject" +// } +type ActivityStreamsReject interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Reject + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Reject type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Reject is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsReject) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_relationship_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_relationship_interface.go new file mode 100644 index 000000000..b0c161f1f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_relationship_interface.go @@ -0,0 +1,238 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Describes a relationship between two individuals. The subject and object +// properties are used to identify the connected individuals. See 5.2 +// Representing Relationships Between Entities for additional information. +// +// Example 47 (https://www.w3.org/TR/activitystreams-vocabulary/#ex22-jsonld): +// { +// "object": { +// "name": "John", +// "type": "Person" +// }, +// "relationship": "http://purl.org/vocab/relationship/acquaintanceOf", +// "subject": { +// "name": "Sally", +// "type": "Person" +// }, +// "summary": "Sally is an acquaintance of John", +// "type": "Relationship" +// } +type ActivityStreamsRelationship interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsRelationship returns the "relationship" property if + // it exists, and nil otherwise. + GetActivityStreamsRelationship() ActivityStreamsRelationshipProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSubject returns the "subject" property if it exists, + // and nil otherwise. + GetActivityStreamsSubject() ActivityStreamsSubjectProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // Relationship type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Relationship type extends from the + // other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Relationship is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsRelationship) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsRelationship sets the "relationship" property. + SetActivityStreamsRelationship(i ActivityStreamsRelationshipProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSubject sets the "subject" property. + SetActivityStreamsSubject(i ActivityStreamsSubjectProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_remove_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_remove_interface.go new file mode 100644 index 000000000..5ef981adb --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_remove_interface.go @@ -0,0 +1,269 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is removing the object. If specified, the origin +// indicates the context from which the object is being removed. +// +// Example 27 (https://www.w3.org/TR/activitystreams-vocabulary/#ex28-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "summary": "Sally removed a note from her notes folder", +// "target": { +// "name": "Notes Folder", +// "type": "Collection" +// }, +// "type": "Remove" +// } +// +// Example 28 (https://www.w3.org/TR/activitystreams-vocabulary/#ex29-jsonld): +// { +// "actor": { +// "name": "The Moderator", +// "type": "http://example.org/Role" +// }, +// "object": { +// "name": "Sally", +// "type": "Person" +// }, +// "origin": { +// "name": "A Simple Group", +// "type": "Group" +// }, +// "summary": "The moderator removed Sally from a group", +// "type": "Remove" +// } +type ActivityStreamsRemove interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Remove + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Remove type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Remove is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsRemove) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_service_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_service_interface.go new file mode 100644 index 000000000..f8bf114a6 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_service_interface.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a service of any kind. +// +// Example 46 (https://www.w3.org/TR/activitystreams-vocabulary/#ex42-jsonld): +// { +// "name": "Acme Web Service", +// "type": "Service" +// } +type ActivityStreamsService interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFollowers returns the "followers" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowers() ActivityStreamsFollowersProperty + // GetActivityStreamsFollowing returns the "following" property if it + // exists, and nil otherwise. + GetActivityStreamsFollowing() ActivityStreamsFollowingProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInbox returns the "inbox" property if it exists, and + // nil otherwise. + GetActivityStreamsInbox() ActivityStreamsInboxProperty + // GetActivityStreamsLiked returns the "liked" property if it exists, and + // nil otherwise. + GetActivityStreamsLiked() ActivityStreamsLikedProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOutbox returns the "outbox" property if it exists, + // and nil otherwise. + GetActivityStreamsOutbox() ActivityStreamsOutboxProperty + // GetActivityStreamsPreferredUsername returns the "preferredUsername" + // property if it exists, and nil otherwise. + GetActivityStreamsPreferredUsername() ActivityStreamsPreferredUsernameProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsStreams returns the "streams" property if it exists, + // and nil otherwise. + GetActivityStreamsStreams() ActivityStreamsStreamsProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootDiscoverable returns the "discoverable" property if it exists, + // and nil otherwise. + GetTootDiscoverable() TootDiscoverableProperty + // GetTootFeatured returns the "featured" property if it exists, and nil + // otherwise. + GetTootFeatured() TootFeaturedProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Service + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // GetW3IDSecurityV1PublicKey returns the "publicKey" property if it + // exists, and nil otherwise. + GetW3IDSecurityV1PublicKey() W3IDSecurityV1PublicKeyProperty + // IsExtending returns true if the Service type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Service is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsService) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFollowers sets the "followers" property. + SetActivityStreamsFollowers(i ActivityStreamsFollowersProperty) + // SetActivityStreamsFollowing sets the "following" property. + SetActivityStreamsFollowing(i ActivityStreamsFollowingProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInbox sets the "inbox" property. + SetActivityStreamsInbox(i ActivityStreamsInboxProperty) + // SetActivityStreamsLiked sets the "liked" property. + SetActivityStreamsLiked(i ActivityStreamsLikedProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOutbox sets the "outbox" property. + SetActivityStreamsOutbox(i ActivityStreamsOutboxProperty) + // SetActivityStreamsPreferredUsername sets the "preferredUsername" + // property. + SetActivityStreamsPreferredUsername(i ActivityStreamsPreferredUsernameProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsStreams sets the "streams" property. + SetActivityStreamsStreams(i ActivityStreamsStreamsProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootDiscoverable sets the "discoverable" property. + SetTootDiscoverable(i TootDiscoverableProperty) + // SetTootFeatured sets the "featured" property. + SetTootFeatured(i TootFeaturedProperty) + // SetW3IDSecurityV1PublicKey sets the "publicKey" property. + SetW3IDSecurityV1PublicKey(i W3IDSecurityV1PublicKeyProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tentativeaccept_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tentativeaccept_interface.go new file mode 100644 index 000000000..6a2feb28e --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tentativeaccept_interface.go @@ -0,0 +1,254 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A specialization of Accept indicating that the acceptance is tentative. +// +// Example 11 (https://www.w3.org/TR/activitystreams-vocabulary/#ex8-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://john.example.org", +// "object": { +// "name": "Going-Away Party for Jim", +// "type": "Event" +// }, +// "type": "Invite" +// }, +// "summary": "Sally tentatively accepted an invitation to a party", +// "type": "TentativeAccept" +// } +type ActivityStreamsTentativeAccept interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // TentativeAccept type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the TentativeAccept type extends from the + // other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this TentativeAccept is lesser, with an arbitrary + // but stable determination. + LessThan(o ActivityStreamsTentativeAccept) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tentativereject_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tentativereject_interface.go new file mode 100644 index 000000000..4f845c9d0 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tentativereject_interface.go @@ -0,0 +1,254 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A specialization of Reject in which the rejection is considered tentative. +// +// Example 26 (https://www.w3.org/TR/activitystreams-vocabulary/#ex27-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "actor": "http://john.example.org", +// "object": { +// "name": "Going-Away Party for Jim", +// "type": "Event" +// }, +// "type": "Invite" +// }, +// "summary": "Sally tentatively rejected an invitation to a party", +// "type": "TentativeReject" +// } +type ActivityStreamsTentativeReject interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // TentativeReject type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the TentativeReject type extends from the + // other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this TentativeReject is lesser, with an arbitrary + // but stable determination. + LessThan(o ActivityStreamsTentativeReject) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tombstone_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tombstone_interface.go new file mode 100644 index 000000000..60ef273e7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_tombstone_interface.go @@ -0,0 +1,246 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A Tombstone represents a content object that has been deleted. It can be used +// in Collections to signify that there used to be an object at this position, +// but it has been deleted. +// +// Example 60 (https://www.w3.org/TR/activitystreams-vocabulary/#ex184b-jsonld): +// { +// "name": "Vacation photos 2016", +// "orderedItems": [ +// { +// "id": "http://image.example/1", +// "type": "Image" +// }, +// { +// "deleted": "2016-03-17T00:00:00Z", +// "formerType": "/Image", +// "id": "http://image.example/2", +// "type": "Tombstone" +// }, +// { +// "id": "http://image.example/3", +// "type": "Image" +// } +// ], +// "totalItems": 3, +// "type": "OrderedCollection" +// } +type ActivityStreamsTombstone interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDeleted returns the "deleted" property if it exists, + // and nil otherwise. + GetActivityStreamsDeleted() ActivityStreamsDeletedProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsFormerType returns the "formerType" property if it + // exists, and nil otherwise. + GetActivityStreamsFormerType() ActivityStreamsFormerTypeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Tombstone + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Tombstone type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Tombstone is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsTombstone) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDeleted sets the "deleted" property. + SetActivityStreamsDeleted(i ActivityStreamsDeletedProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsFormerType sets the "formerType" property. + SetActivityStreamsFormerType(i ActivityStreamsFormerTypeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_travel_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_travel_interface.go new file mode 100644 index 000000000..c0913a886 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_travel_interface.go @@ -0,0 +1,250 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is traveling to target from origin. Travel is an +// IntransitiveActivity whose actor specifies the direct object. If the target +// or origin are not specified, either can be determined by context. +// +// Example 35 (https://www.w3.org/TR/activitystreams-vocabulary/#ex169-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "origin": { +// "name": "Work", +// "type": "Place" +// }, +// "summary": "Sally went home from work", +// "target": { +// "name": "Home", +// "type": "Place" +// }, +// "type": "Travel" +// } +type ActivityStreamsTravel interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Travel + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Travel type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Travel is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsTravel) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_undo_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_undo_interface.go new file mode 100644 index 000000000..adc779522 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_undo_interface.go @@ -0,0 +1,252 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor is undoing the object. In most cases, the object will +// be an Activity describing some previously performed action (for instance, a +// person may have previously "liked" an article but, for whatever reason, +// might choose to undo that like at some later point in time). The target and +// origin typically have no defined meaning. +// +// Example 29 (https://www.w3.org/TR/activitystreams-vocabulary/#ex32-jsonld): +// { +// "actor": "http://sally.example.org", +// "object": { +// "actor": "http://sally.example.org", +// "object": "http://example.org/posts/1", +// "target": "http://john.example.org", +// "type": "Offer" +// }, +// "summary": "Sally retracted her offer to John", +// "type": "Undo" +// } +type ActivityStreamsUndo interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Undo type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Undo type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Undo is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsUndo) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_update_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_update_interface.go new file mode 100644 index 000000000..1e8039587 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_update_interface.go @@ -0,0 +1,249 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has updated the object. Note, however, that this +// vocabulary does not define a mechanism for describing the actual set of +// modifications made to object. The target and origin typically have no +// defined meaning. +// +// Example 30 (https://www.w3.org/TR/activitystreams-vocabulary/#ex33-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": "http://example.org/notes/1", +// "summary": "Sally updated her note", +// "type": "Update" +// } +type ActivityStreamsUpdate interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Update + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Update type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Update is lesser, with an arbitrary but + // stable determination. + LessThan(o ActivityStreamsUpdate) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_video_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_video_interface.go new file mode 100644 index 000000000..f34bc2bbe --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_video_interface.go @@ -0,0 +1,223 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a video document of any kind. +// +// Example 52 (https://www.w3.org/TR/activitystreams-vocabulary/#ex51-jsonld): +// { +// "duration": "PT2H", +// "name": "Puppy Plays With Ball", +// "type": "Video", +// "url": "http://example.org/video.mkv" +// } +type ActivityStreamsVideo interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootBlurhash returns the "blurhash" property if it exists, and nil + // otherwise. + GetTootBlurhash() TootBlurhashProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Video type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Video type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Video is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsVideo) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootBlurhash sets the "blurhash" property. + SetTootBlurhash(i TootBlurhashProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_view_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_view_interface.go new file mode 100644 index 000000000..01921858c --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_activitystreams_view_interface.go @@ -0,0 +1,249 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that the actor has viewed the object. +// +// Example 31 (https://www.w3.org/TR/activitystreams-vocabulary/#ex161-jsonld): +// { +// "actor": { +// "name": "Sally", +// "type": "Person" +// }, +// "object": { +// "name": "What You Should Know About Activity Streams", +// "type": "Article" +// }, +// "summary": "Sally read an article", +// "type": "View" +// } +type ActivityStreamsView interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the View type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the View type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this View is lesser, with an arbitrary but stable + // determination. + LessThan(o ActivityStreamsView) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_branch_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_branch_interface.go new file mode 100644 index 000000000..dcd0c93f7 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_branch_interface.go @@ -0,0 +1,229 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a named variable reference to a version of the Repository, typically +// used for committing changes in parallel to other development, and usually +// eventually merging the changes into the main history line. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "context": "https://example.dev/luke/myrepo", +// "id": "https://example.dev/luke/myrepo/branches/master", +// "name": "master", +// "ref": "refs/heads/master", +// "type": "Branch" +// } +type ForgeFedBranch interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedRef returns the "ref" property if it exists, and nil + // otherwise. + GetForgeFedRef() ForgeFedRefProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Branch + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Branch type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Branch is lesser, with an arbitrary but + // stable determination. + LessThan(o ForgeFedBranch) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedRef sets the "ref" property. + SetForgeFedRef(i ForgeFedRefProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_commit_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_commit_interface.go new file mode 100644 index 000000000..b513196c2 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_commit_interface.go @@ -0,0 +1,269 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a named set of changes in the history of a Repository. This is +// called "commit" in Git, Mercurial and Monotone; "patch" in Darcs; sometimes +// called "change set". Note that Commit is a set of changes that already +// exists in a repo’s history, while a Patch is a separate proposed change +// set, that could be applied and pushed to a repo, resulting with a Commit. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "attributedTo": "https://example.dev/bob", +// "committed": "2019-07-26T23:45:01Z", +// "committedBy": "https://example.dev/alice", +// "context": "https://example.dev/alice/myrepo", +// "created": "2019-07-11T12:34:56Z", +// "description": { +// "content": "It's about time people can install on their computers!", +// "mediaType": "text/plain" +// }, +// "hash": "109ec9a09c7df7fec775d2ba0b9d466e5643ec8c", +// "id": "https://example.dev/alice/myrepo/commits/109ec9a09c7df7fec775d2ba0b9d466e5643ec8c", +// "summary": "Add an installation script, fixes issue #89", +// "type": "Commit" +// } +type ForgeFedCommit interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedCommitted returns the "committed" property if it exists, and + // nil otherwise. + GetForgeFedCommitted() ForgeFedCommittedProperty + // GetForgeFedCommittedBy returns the "committedBy" property if it exists, + // and nil otherwise. + GetForgeFedCommittedBy() ForgeFedCommittedByProperty + // GetForgeFedDescription returns the "description" property if it exists, + // and nil otherwise. + GetForgeFedDescription() ForgeFedDescriptionProperty + // GetForgeFedFilesAdded returns the "filesAdded" property if it exists, + // and nil otherwise. + GetForgeFedFilesAdded() ForgeFedFilesAddedProperty + // GetForgeFedFilesModified returns the "filesModified" property if it + // exists, and nil otherwise. + GetForgeFedFilesModified() ForgeFedFilesModifiedProperty + // GetForgeFedFilesRemoved returns the "filesRemoved" property if it + // exists, and nil otherwise. + GetForgeFedFilesRemoved() ForgeFedFilesRemovedProperty + // GetForgeFedHash returns the "hash" property if it exists, and nil + // otherwise. + GetForgeFedHash() ForgeFedHashProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Commit + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Commit type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Commit is lesser, with an arbitrary but + // stable determination. + LessThan(o ForgeFedCommit) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedCommitted sets the "committed" property. + SetForgeFedCommitted(i ForgeFedCommittedProperty) + // SetForgeFedCommittedBy sets the "committedBy" property. + SetForgeFedCommittedBy(i ForgeFedCommittedByProperty) + // SetForgeFedDescription sets the "description" property. + SetForgeFedDescription(i ForgeFedDescriptionProperty) + // SetForgeFedFilesAdded sets the "filesAdded" property. + SetForgeFedFilesAdded(i ForgeFedFilesAddedProperty) + // SetForgeFedFilesModified sets the "filesModified" property. + SetForgeFedFilesModified(i ForgeFedFilesModifiedProperty) + // SetForgeFedFilesRemoved sets the "filesRemoved" property. + SetForgeFedFilesRemoved(i ForgeFedFilesRemovedProperty) + // SetForgeFedHash sets the "hash" property. + SetForgeFedHash(i ForgeFedHashProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_push_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_push_interface.go new file mode 100644 index 000000000..39a94296f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_push_interface.go @@ -0,0 +1,270 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Indicates that new content has been pushed to the Repository. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "actor": "https://example.dev/aviva", +// "context": "https://example.dev/aviva/myproject", +// "id": "https://example.dev/aviva/outbox/reBGo", +// "object": { +// "items": [ +// { +// "attributedTo": "https://example.dev/aviva", +// "context": "https://example.dev/aviva/myproject", +// "created": "2019-11-03T13:43:59Z", +// "hash": "d96596230322716bd6f87a232a648ca9822a1c20", +// "id": "https://example.dev/aviva/myproject/commits/d96596230322716bd6f87a232a648ca9822a1c20", +// "summary": "Provide hints in sign-up form fields", +// "type": "Commit" +// } +// ], +// "totalItems": 1, +// "type": "OrderedCollection" +// }, +// "summary": "\u003cp\u003eAviva pushed a commit to +// myproject\u003c/p\u003e", +// "target": "https://example.dev/aviva/myproject/branches/master", +// "to": [ +// "https://example.dev/aviva/followers", +// "https://example.dev/aviva/myproject", +// "https://example.dev/aviva/myproject/team", +// "https://example.dev/aviva/myproject/followers" +// ], +// "type": "Push" +// } +type ForgeFedPush interface { + // GetActivityStreamsActor returns the "actor" property if it exists, and + // nil otherwise. + GetActivityStreamsActor() ActivityStreamsActorProperty + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsInstrument returns the "instrument" property if it + // exists, and nil otherwise. + GetActivityStreamsInstrument() ActivityStreamsInstrumentProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsOrigin returns the "origin" property if it exists, + // and nil otherwise. + GetActivityStreamsOrigin() ActivityStreamsOriginProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsResult returns the "result" property if it exists, + // and nil otherwise. + GetActivityStreamsResult() ActivityStreamsResultProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTarget returns the "target" property if it exists, + // and nil otherwise. + GetActivityStreamsTarget() ActivityStreamsTargetProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Push type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Push type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Push is lesser, with an arbitrary but stable + // determination. + LessThan(o ForgeFedPush) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsActor sets the "actor" property. + SetActivityStreamsActor(i ActivityStreamsActorProperty) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsInstrument sets the "instrument" property. + SetActivityStreamsInstrument(i ActivityStreamsInstrumentProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsOrigin sets the "origin" property. + SetActivityStreamsOrigin(i ActivityStreamsOriginProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsResult sets the "result" property. + SetActivityStreamsResult(i ActivityStreamsResultProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTarget sets the "target" property. + SetActivityStreamsTarget(i ActivityStreamsTargetProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_repository_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_repository_interface.go new file mode 100644 index 000000000..00fc92ca5 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_repository_interface.go @@ -0,0 +1,238 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a version control system repository. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://w3id.org/security/v1", +// "https://forgefed.peers.community/ns" +// ], +// "followers": "https://dev.example/aviva/treesim/followers", +// "id": "https://dev.example/aviva/treesim", +// "inbox": "https://dev.example/aviva/treesim/inbox", +// "name": "Tree Growth 3D Simulation", +// "outbox": "https://dev.example/aviva/treesim/outbox", +// "publicKey": { +// "id": "https://dev.example/aviva/treesim#main-key", +// "owner": "https://dev.example/aviva/treesim", +// "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhki....." +// }, +// "summary": "\u003cp\u003eTree growth 3D simulator for my nature +// exploration game\u003c/p\u003e", +// "team": "https://dev.example/aviva/treesim/team", +// "type": "Repository" +// } +type ForgeFedRepository interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedForks returns the "forks" property if it exists, and nil + // otherwise. + GetForgeFedForks() ForgeFedForksProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Repository + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Repository type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Repository is lesser, with an arbitrary but + // stable determination. + LessThan(o ForgeFedRepository) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedForks sets the "forks" property. + SetForgeFedForks(i ForgeFedForksProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_ticket_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_ticket_interface.go new file mode 100644 index 000000000..28edd6668 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_ticket_interface.go @@ -0,0 +1,263 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents an item that requires work or attention. Tickets exist in the +// context of a project (which may or may not be a version-control +// repository), and are used to track ideas, proposals, tasks, bugs and more. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "assignedTo": "https://example.dev/alice", +// "attributedTo": "https://dev.community/bob", +// "content": "\u003cp\u003ePlease fix. +// \u003ci\u003eEverything\u003c/i\u003e is broken!\u003c/p\u003e", +// "context": "https://example.dev/alice/myrepo", +// "id": "https://example.dev/alice/myrepo/issues/42", +// "isResolved": false, +// "mediaType": "text/html", +// "source": { +// "content": "Please fix. *Everything* is broken!", +// "mediaType": "text/markdown; variant=CommonMark" +// }, +// "summary": "Nothing works!", +// "type": "Ticket" +// } +type ForgeFedTicket interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedAssignedTo returns the "assignedTo" property if it exists, + // and nil otherwise. + GetForgeFedAssignedTo() ForgeFedAssignedToProperty + // GetForgeFedDependants returns the "dependants" property if it exists, + // and nil otherwise. + GetForgeFedDependants() ForgeFedDependantsProperty + // GetForgeFedDependedBy returns the "dependedBy" property if it exists, + // and nil otherwise. + GetForgeFedDependedBy() ForgeFedDependedByProperty + // GetForgeFedDependencies returns the "dependencies" property if it + // exists, and nil otherwise. + GetForgeFedDependencies() ForgeFedDependenciesProperty + // GetForgeFedDependsOn returns the "dependsOn" property if it exists, and + // nil otherwise. + GetForgeFedDependsOn() ForgeFedDependsOnProperty + // GetForgeFedIsResolved returns the "isResolved" property if it exists, + // and nil otherwise. + GetForgeFedIsResolved() ForgeFedIsResolvedProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Ticket + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Ticket type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Ticket is lesser, with an arbitrary but + // stable determination. + LessThan(o ForgeFedTicket) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedAssignedTo sets the "assignedTo" property. + SetForgeFedAssignedTo(i ForgeFedAssignedToProperty) + // SetForgeFedDependants sets the "dependants" property. + SetForgeFedDependants(i ForgeFedDependantsProperty) + // SetForgeFedDependedBy sets the "dependedBy" property. + SetForgeFedDependedBy(i ForgeFedDependedByProperty) + // SetForgeFedDependencies sets the "dependencies" property. + SetForgeFedDependencies(i ForgeFedDependenciesProperty) + // SetForgeFedDependsOn sets the "dependsOn" property. + SetForgeFedDependsOn(i ForgeFedDependsOnProperty) + // SetForgeFedIsResolved sets the "isResolved" property. + SetForgeFedIsResolved(i ForgeFedIsResolvedProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_ticketdependency_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_ticketdependency_interface.go new file mode 100644 index 000000000..972a3dffe --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_forgefed_ticketdependency_interface.go @@ -0,0 +1,242 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// Represents a relationship between 2 Tickets, in which the resolution of one +// ticket requires the other ticket to be resolved too. It MUST specify the +// subject, object and relationship properties, and the relationship property +// MUST be dependsOn. +// +// { +// "@context": [ +// "https://www.w3.org/ns/activitystreams", +// "https://forgefed.peers.community/ns" +// ], +// "attributedTo": "https://example.dev/alice", +// "id": "https://example.dev/ticket-deps/2342593", +// "object": "https://dev.community/bob/coolproj/issues/85", +// "published": "2019-07-11T12:34:56Z", +// "relationship": "dependsOn", +// "subject": "https://example.dev/alice/myproj/issues/42", +// "summary": "Alice's ticket depends on Bob's ticket", +// "type": [ +// "Relationship", +// "TicketDependency" +// ] +// } +type ForgeFedTicketDependency interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsRelationship returns the "relationship" property if + // it exists, and nil otherwise. + GetActivityStreamsRelationship() ActivityStreamsRelationshipProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSubject returns the "subject" property if it exists, + // and nil otherwise. + GetActivityStreamsSubject() ActivityStreamsSubjectProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // TicketDependency type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the TicketDependency type extends from the + // other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this TicketDependency is lesser, with an arbitrary + // but stable determination. + LessThan(o ForgeFedTicketDependency) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsRelationship sets the "relationship" property. + SetActivityStreamsRelationship(i ActivityStreamsRelationshipProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSubject sets the "subject" property. + SetActivityStreamsSubject(i ActivityStreamsSubjectProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_toot_emoji_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_toot_emoji_interface.go new file mode 100644 index 000000000..0bd6694dc --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_toot_emoji_interface.go @@ -0,0 +1,228 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// +// +// { +// "content": "Hello world :Kappa:", +// "id": "https://example.com/@alice/hello-world", +// "tag": [ +// { +// "icon": { +// "mediaType": "image/png", +// "type": "Image", +// "url": "https://example.com/files/kappa.png" +// }, +// "id": "https://example.com/emoji/123", +// "name": ":Kappa:", +// "type": "Emoji" +// } +// ], +// "type": "Note" +// } +type TootEmoji interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the Emoji type. + // Note that this should not be used by app developers. It is only + // used to help determine which implementation is LessThan the other. + // Developers who are creating a different implementation of this + // type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the Emoji type extends from the other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this Emoji is lesser, with an arbitrary but stable + // determination. + LessThan(o TootEmoji) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_toot_identityproof_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_toot_identityproof_interface.go new file mode 100644 index 000000000..32a925e3a --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_toot_identityproof_interface.go @@ -0,0 +1,223 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// +// +// null +type TootIdentityProof interface { + // GetActivityStreamsAltitude returns the "altitude" property if it + // exists, and nil otherwise. + GetActivityStreamsAltitude() ActivityStreamsAltitudeProperty + // GetActivityStreamsAttachment returns the "attachment" property if it + // exists, and nil otherwise. + GetActivityStreamsAttachment() ActivityStreamsAttachmentProperty + // GetActivityStreamsAttributedTo returns the "attributedTo" property if + // it exists, and nil otherwise. + GetActivityStreamsAttributedTo() ActivityStreamsAttributedToProperty + // GetActivityStreamsAudience returns the "audience" property if it + // exists, and nil otherwise. + GetActivityStreamsAudience() ActivityStreamsAudienceProperty + // GetActivityStreamsBcc returns the "bcc" property if it exists, and nil + // otherwise. + GetActivityStreamsBcc() ActivityStreamsBccProperty + // GetActivityStreamsBto returns the "bto" property if it exists, and nil + // otherwise. + GetActivityStreamsBto() ActivityStreamsBtoProperty + // GetActivityStreamsCc returns the "cc" property if it exists, and nil + // otherwise. + GetActivityStreamsCc() ActivityStreamsCcProperty + // GetActivityStreamsContent returns the "content" property if it exists, + // and nil otherwise. + GetActivityStreamsContent() ActivityStreamsContentProperty + // GetActivityStreamsContext returns the "context" property if it exists, + // and nil otherwise. + GetActivityStreamsContext() ActivityStreamsContextProperty + // GetActivityStreamsDuration returns the "duration" property if it + // exists, and nil otherwise. + GetActivityStreamsDuration() ActivityStreamsDurationProperty + // GetActivityStreamsEndTime returns the "endTime" property if it exists, + // and nil otherwise. + GetActivityStreamsEndTime() ActivityStreamsEndTimeProperty + // GetActivityStreamsGenerator returns the "generator" property if it + // exists, and nil otherwise. + GetActivityStreamsGenerator() ActivityStreamsGeneratorProperty + // GetActivityStreamsIcon returns the "icon" property if it exists, and + // nil otherwise. + GetActivityStreamsIcon() ActivityStreamsIconProperty + // GetActivityStreamsImage returns the "image" property if it exists, and + // nil otherwise. + GetActivityStreamsImage() ActivityStreamsImageProperty + // GetActivityStreamsInReplyTo returns the "inReplyTo" property if it + // exists, and nil otherwise. + GetActivityStreamsInReplyTo() ActivityStreamsInReplyToProperty + // GetActivityStreamsLikes returns the "likes" property if it exists, and + // nil otherwise. + GetActivityStreamsLikes() ActivityStreamsLikesProperty + // GetActivityStreamsLocation returns the "location" property if it + // exists, and nil otherwise. + GetActivityStreamsLocation() ActivityStreamsLocationProperty + // GetActivityStreamsMediaType returns the "mediaType" property if it + // exists, and nil otherwise. + GetActivityStreamsMediaType() ActivityStreamsMediaTypeProperty + // GetActivityStreamsName returns the "name" property if it exists, and + // nil otherwise. + GetActivityStreamsName() ActivityStreamsNameProperty + // GetActivityStreamsObject returns the "object" property if it exists, + // and nil otherwise. + GetActivityStreamsObject() ActivityStreamsObjectProperty + // GetActivityStreamsPreview returns the "preview" property if it exists, + // and nil otherwise. + GetActivityStreamsPreview() ActivityStreamsPreviewProperty + // GetActivityStreamsPublished returns the "published" property if it + // exists, and nil otherwise. + GetActivityStreamsPublished() ActivityStreamsPublishedProperty + // GetActivityStreamsReplies returns the "replies" property if it exists, + // and nil otherwise. + GetActivityStreamsReplies() ActivityStreamsRepliesProperty + // GetActivityStreamsShares returns the "shares" property if it exists, + // and nil otherwise. + GetActivityStreamsShares() ActivityStreamsSharesProperty + // GetActivityStreamsSource returns the "source" property if it exists, + // and nil otherwise. + GetActivityStreamsSource() ActivityStreamsSourceProperty + // GetActivityStreamsStartTime returns the "startTime" property if it + // exists, and nil otherwise. + GetActivityStreamsStartTime() ActivityStreamsStartTimeProperty + // GetActivityStreamsSummary returns the "summary" property if it exists, + // and nil otherwise. + GetActivityStreamsSummary() ActivityStreamsSummaryProperty + // GetActivityStreamsTag returns the "tag" property if it exists, and nil + // otherwise. + GetActivityStreamsTag() ActivityStreamsTagProperty + // GetActivityStreamsTo returns the "to" property if it exists, and nil + // otherwise. + GetActivityStreamsTo() ActivityStreamsToProperty + // GetActivityStreamsUpdated returns the "updated" property if it exists, + // and nil otherwise. + GetActivityStreamsUpdated() ActivityStreamsUpdatedProperty + // GetActivityStreamsUrl returns the "url" property if it exists, and nil + // otherwise. + GetActivityStreamsUrl() ActivityStreamsUrlProperty + // GetForgeFedTeam returns the "team" property if it exists, and nil + // otherwise. + GetForgeFedTeam() ForgeFedTeamProperty + // GetForgeFedTicketsTrackedBy returns the "ticketsTrackedBy" property if + // it exists, and nil otherwise. + GetForgeFedTicketsTrackedBy() ForgeFedTicketsTrackedByProperty + // GetForgeFedTracksTicketsFor returns the "tracksTicketsFor" property if + // it exists, and nil otherwise. + GetForgeFedTracksTicketsFor() ForgeFedTracksTicketsForProperty + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetJSONLDType returns the "type" property if it exists, and nil + // otherwise. + GetJSONLDType() JSONLDTypeProperty + // GetTootSignatureAlgorithm returns the "signatureAlgorithm" property if + // it exists, and nil otherwise. + GetTootSignatureAlgorithm() TootSignatureAlgorithmProperty + // GetTootSignatureValue returns the "signatureValue" property if it + // exists, and nil otherwise. + GetTootSignatureValue() TootSignatureValueProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the + // IdentityProof type. Note that this should not be used by app + // developers. It is only used to help determine which implementation + // is LessThan the other. Developers who are creating a different + // implementation of this type's interface can use this method in + // their LessThan implementation, but routine ActivityPub applications + // should not use this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // IsExtending returns true if the IdentityProof type extends from the + // other type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this IdentityProof is lesser, with an arbitrary + // but stable determination. + LessThan(o TootIdentityProof) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetActivityStreamsAltitude sets the "altitude" property. + SetActivityStreamsAltitude(i ActivityStreamsAltitudeProperty) + // SetActivityStreamsAttachment sets the "attachment" property. + SetActivityStreamsAttachment(i ActivityStreamsAttachmentProperty) + // SetActivityStreamsAttributedTo sets the "attributedTo" property. + SetActivityStreamsAttributedTo(i ActivityStreamsAttributedToProperty) + // SetActivityStreamsAudience sets the "audience" property. + SetActivityStreamsAudience(i ActivityStreamsAudienceProperty) + // SetActivityStreamsBcc sets the "bcc" property. + SetActivityStreamsBcc(i ActivityStreamsBccProperty) + // SetActivityStreamsBto sets the "bto" property. + SetActivityStreamsBto(i ActivityStreamsBtoProperty) + // SetActivityStreamsCc sets the "cc" property. + SetActivityStreamsCc(i ActivityStreamsCcProperty) + // SetActivityStreamsContent sets the "content" property. + SetActivityStreamsContent(i ActivityStreamsContentProperty) + // SetActivityStreamsContext sets the "context" property. + SetActivityStreamsContext(i ActivityStreamsContextProperty) + // SetActivityStreamsDuration sets the "duration" property. + SetActivityStreamsDuration(i ActivityStreamsDurationProperty) + // SetActivityStreamsEndTime sets the "endTime" property. + SetActivityStreamsEndTime(i ActivityStreamsEndTimeProperty) + // SetActivityStreamsGenerator sets the "generator" property. + SetActivityStreamsGenerator(i ActivityStreamsGeneratorProperty) + // SetActivityStreamsIcon sets the "icon" property. + SetActivityStreamsIcon(i ActivityStreamsIconProperty) + // SetActivityStreamsImage sets the "image" property. + SetActivityStreamsImage(i ActivityStreamsImageProperty) + // SetActivityStreamsInReplyTo sets the "inReplyTo" property. + SetActivityStreamsInReplyTo(i ActivityStreamsInReplyToProperty) + // SetActivityStreamsLikes sets the "likes" property. + SetActivityStreamsLikes(i ActivityStreamsLikesProperty) + // SetActivityStreamsLocation sets the "location" property. + SetActivityStreamsLocation(i ActivityStreamsLocationProperty) + // SetActivityStreamsMediaType sets the "mediaType" property. + SetActivityStreamsMediaType(i ActivityStreamsMediaTypeProperty) + // SetActivityStreamsName sets the "name" property. + SetActivityStreamsName(i ActivityStreamsNameProperty) + // SetActivityStreamsObject sets the "object" property. + SetActivityStreamsObject(i ActivityStreamsObjectProperty) + // SetActivityStreamsPreview sets the "preview" property. + SetActivityStreamsPreview(i ActivityStreamsPreviewProperty) + // SetActivityStreamsPublished sets the "published" property. + SetActivityStreamsPublished(i ActivityStreamsPublishedProperty) + // SetActivityStreamsReplies sets the "replies" property. + SetActivityStreamsReplies(i ActivityStreamsRepliesProperty) + // SetActivityStreamsShares sets the "shares" property. + SetActivityStreamsShares(i ActivityStreamsSharesProperty) + // SetActivityStreamsSource sets the "source" property. + SetActivityStreamsSource(i ActivityStreamsSourceProperty) + // SetActivityStreamsStartTime sets the "startTime" property. + SetActivityStreamsStartTime(i ActivityStreamsStartTimeProperty) + // SetActivityStreamsSummary sets the "summary" property. + SetActivityStreamsSummary(i ActivityStreamsSummaryProperty) + // SetActivityStreamsTag sets the "tag" property. + SetActivityStreamsTag(i ActivityStreamsTagProperty) + // SetActivityStreamsTo sets the "to" property. + SetActivityStreamsTo(i ActivityStreamsToProperty) + // SetActivityStreamsUpdated sets the "updated" property. + SetActivityStreamsUpdated(i ActivityStreamsUpdatedProperty) + // SetActivityStreamsUrl sets the "url" property. + SetActivityStreamsUrl(i ActivityStreamsUrlProperty) + // SetForgeFedTeam sets the "team" property. + SetForgeFedTeam(i ForgeFedTeamProperty) + // SetForgeFedTicketsTrackedBy sets the "ticketsTrackedBy" property. + SetForgeFedTicketsTrackedBy(i ForgeFedTicketsTrackedByProperty) + // SetForgeFedTracksTicketsFor sets the "tracksTicketsFor" property. + SetForgeFedTracksTicketsFor(i ForgeFedTracksTicketsForProperty) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetJSONLDType sets the "type" property. + SetJSONLDType(i JSONLDTypeProperty) + // SetTootSignatureAlgorithm sets the "signatureAlgorithm" property. + SetTootSignatureAlgorithm(i TootSignatureAlgorithmProperty) + // SetTootSignatureValue sets the "signatureValue" property. + SetTootSignatureValue(i TootSignatureValueProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/activity/streams/vocab/gen_type_w3idsecurityv1_publickey_interface.go b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_w3idsecurityv1_publickey_interface.go new file mode 100644 index 000000000..7b6b7ffb8 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/vocab/gen_type_w3idsecurityv1_publickey_interface.go @@ -0,0 +1,46 @@ +// Code generated by astool. DO NOT EDIT. + +package vocab + +// A public key represents a public cryptographical key for a user +type W3IDSecurityV1PublicKey interface { + // GetJSONLDId returns the "id" property if it exists, and nil otherwise. + GetJSONLDId() JSONLDIdProperty + // GetTypeName returns the name of this type. + GetTypeName() string + // GetUnknownProperties returns the unknown properties for the PublicKey + // type. Note that this should not be used by app developers. It is + // only used to help determine which implementation is LessThan the + // other. Developers who are creating a different implementation of + // this type's interface can use this method in their LessThan + // implementation, but routine ActivityPub applications should not use + // this to bypass the code generation tool. + GetUnknownProperties() map[string]interface{} + // GetW3IDSecurityV1Owner returns the "owner" property if it exists, and + // nil otherwise. + GetW3IDSecurityV1Owner() W3IDSecurityV1OwnerProperty + // GetW3IDSecurityV1PublicKeyPem returns the "publicKeyPem" property if it + // exists, and nil otherwise. + GetW3IDSecurityV1PublicKeyPem() W3IDSecurityV1PublicKeyPemProperty + // IsExtending returns true if the PublicKey type extends from the other + // type. + IsExtending(other Type) bool + // JSONLDContext returns the JSONLD URIs required in the context string + // for this type and the specific properties that are set. The value + // in the map is the alias used to import the type and its properties. + JSONLDContext() map[string]string + // LessThan computes if this PublicKey is lesser, with an arbitrary but + // stable determination. + LessThan(o W3IDSecurityV1PublicKey) bool + // Serialize converts this into an interface representation suitable for + // marshalling into a text or binary format. + Serialize() (map[string]interface{}, error) + // SetJSONLDId sets the "id" property. + SetJSONLDId(i JSONLDIdProperty) + // SetW3IDSecurityV1Owner sets the "owner" property. + SetW3IDSecurityV1Owner(i W3IDSecurityV1OwnerProperty) + // SetW3IDSecurityV1PublicKeyPem sets the "publicKeyPem" property. + SetW3IDSecurityV1PublicKeyPem(i W3IDSecurityV1PublicKeyPemProperty) + // VocabularyURI returns the vocabulary's URI as a string. + VocabularyURI() string +} diff --git a/vendor/github.com/go-fed/httpsig/LICENSE b/vendor/github.com/go-fed/httpsig/LICENSE new file mode 100644 index 000000000..a9e8aefad --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2018, go-fed +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 copyright holder 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/go-fed/httpsig/README.md b/vendor/github.com/go-fed/httpsig/README.md new file mode 100644 index 000000000..3b8385400 --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/README.md @@ -0,0 +1,94 @@ +# httpsig + +`go get github.com/go-fed/httpsig` + +Implementation of [HTTP Signatures](https://tools.ietf.org/html/draft-cavage-http-signatures). + +Supports many different combinations of MAC, HMAC signing of hash, or RSA +signing of hash schemes. Its goals are: + +* Have a very simple interface for signing and validating +* Support a variety of signing algorithms and combinations +* Support setting either headers (`Authorization` or `Signature`) +* Remaining flexible with headers included in the signing string +* Support both HTTP requests and responses +* Explicitly not support known-cryptographically weak algorithms +* Support automatic signing and validating Digest headers + +## How to use + +`import "github.com/go-fed/httpsig"` + +### Signing + +Signing a request or response requires creating a new `Signer` and using it: + +``` +func sign(privateKey crypto.PrivateKey, pubKeyId string, r *http.Request) error { + prefs := []httpsig.Algorithm{httpsig.RSA_SHA512, httpsig.RSA_SHA256} + digestAlgorithm := DigestSha256 + // The "Date" and "Digest" headers must already be set on r, as well as r.URL. + headersToSign := []string{httpsig.RequestTarget, "date", "digest"} + signer, chosenAlgo, err := httpsig.NewSigner(prefs, digestAlgorithm, headersToSign, httpsig.Signature) + if err != nil { + return err + } + // To sign the digest, we need to give the signer a copy of the body... + // ...but it is optional, no digest will be signed if given "nil" + body := ... + // If r were a http.ResponseWriter, call SignResponse instead. + return signer.SignRequest(privateKey, pubKeyId, r, body) +} +``` + +`Signer`s are not safe for concurrent use by goroutines, so be sure to guard +access: + +``` +type server struct { + signer httpsig.Signer + mu *sync.Mutex +} + +func (s *server) handlerFunc(w http.ResponseWriter, r *http.Request) { + privateKey := ... + pubKeyId := ... + // Set headers and such on w + s.mu.Lock() + defer s.mu.Unlock() + // To sign the digest, we need to give the signer a copy of the response body... + // ...but it is optional, no digest will be signed if given "nil" + body := ... + err := s.signer.SignResponse(privateKey, pubKeyId, w, body) + if err != nil { + ... + } + ... +} +``` + +The `pubKeyId` will be used at verification time. + +### Verifying + +Verifying requires an application to use the `pubKeyId` to both retrieve the key +needed for verification as well as determine the algorithm to use. Use a +`Verifier`: + +``` +func verify(r *http.Request) error { + verifier, err := httpsig.NewVerifier(r) + if err != nil { + return err + } + pubKeyId := verifier.KeyId() + var algo httpsig.Algorithm = ... + var pubKey crypto.PublicKey = ... + // The verifier will verify the Digest in addition to the HTTP signature + return verifier.Verify(pubKey, algo) +} +``` + +`Verifier`s are not safe for concurrent use by goroutines, but since they are +constructed on a per-request or per-response basis it should not be a common +restriction. diff --git a/vendor/github.com/go-fed/httpsig/algorithms.go b/vendor/github.com/go-fed/httpsig/algorithms.go new file mode 100644 index 000000000..9595941be --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/algorithms.go @@ -0,0 +1,532 @@ +package httpsig + +import ( + "crypto" + "crypto/ecdsa" + "crypto/hmac" + "crypto/rsa" + "crypto/sha1" + "crypto/sha256" + "crypto/sha512" + "crypto/subtle" // Use should trigger great care + "encoding/asn1" + "errors" + "fmt" + "hash" + "io" + "math/big" + "strings" + + "golang.org/x/crypto/blake2b" + "golang.org/x/crypto/blake2s" + "golang.org/x/crypto/ed25519" + "golang.org/x/crypto/ripemd160" + "golang.org/x/crypto/sha3" + "golang.org/x/crypto/ssh" +) + +const ( + hmacPrefix = "hmac" + rsaPrefix = "rsa" + sshPrefix = "ssh" + ecdsaPrefix = "ecdsa" + ed25519Prefix = "ed25519" + md4String = "md4" + md5String = "md5" + sha1String = "sha1" + sha224String = "sha224" + sha256String = "sha256" + sha384String = "sha384" + sha512String = "sha512" + md5sha1String = "md5sha1" + ripemd160String = "ripemd160" + sha3_224String = "sha3-224" + sha3_256String = "sha3-256" + sha3_384String = "sha3-384" + sha3_512String = "sha3-512" + sha512_224String = "sha512-224" + sha512_256String = "sha512-256" + blake2s_256String = "blake2s-256" + blake2b_256String = "blake2b-256" + blake2b_384String = "blake2b-384" + blake2b_512String = "blake2b-512" +) + +var blake2Algorithms = map[crypto.Hash]bool{ + crypto.BLAKE2s_256: true, + crypto.BLAKE2b_256: true, + crypto.BLAKE2b_384: true, + crypto.BLAKE2b_512: true, +} + +var hashToDef = map[crypto.Hash]struct { + name string + new func(key []byte) (hash.Hash, error) // Only MACers will accept a key +}{ + // Which standard names these? + // The spec lists the following as a canonical reference, which is dead: + // http://www.iana.org/assignments/signature-algorithms + // + // Note that the forbidden hashes have an invalid 'new' function. + crypto.MD4: {md4String, func(key []byte) (hash.Hash, error) { return nil, nil }}, + crypto.MD5: {md5String, func(key []byte) (hash.Hash, error) { return nil, nil }}, + // Temporarily enable SHA1 because of issue https://github.com/golang/go/issues/37278 + crypto.SHA1: {sha1String, func(key []byte) (hash.Hash, error) { return sha1.New(), nil }}, + crypto.SHA224: {sha224String, func(key []byte) (hash.Hash, error) { return sha256.New224(), nil }}, + crypto.SHA256: {sha256String, func(key []byte) (hash.Hash, error) { return sha256.New(), nil }}, + crypto.SHA384: {sha384String, func(key []byte) (hash.Hash, error) { return sha512.New384(), nil }}, + crypto.SHA512: {sha512String, func(key []byte) (hash.Hash, error) { return sha512.New(), nil }}, + crypto.MD5SHA1: {md5sha1String, func(key []byte) (hash.Hash, error) { return nil, nil }}, + crypto.RIPEMD160: {ripemd160String, func(key []byte) (hash.Hash, error) { return ripemd160.New(), nil }}, + crypto.SHA3_224: {sha3_224String, func(key []byte) (hash.Hash, error) { return sha3.New224(), nil }}, + crypto.SHA3_256: {sha3_256String, func(key []byte) (hash.Hash, error) { return sha3.New256(), nil }}, + crypto.SHA3_384: {sha3_384String, func(key []byte) (hash.Hash, error) { return sha3.New384(), nil }}, + crypto.SHA3_512: {sha3_512String, func(key []byte) (hash.Hash, error) { return sha3.New512(), nil }}, + crypto.SHA512_224: {sha512_224String, func(key []byte) (hash.Hash, error) { return sha512.New512_224(), nil }}, + crypto.SHA512_256: {sha512_256String, func(key []byte) (hash.Hash, error) { return sha512.New512_256(), nil }}, + crypto.BLAKE2s_256: {blake2s_256String, func(key []byte) (hash.Hash, error) { return blake2s.New256(key) }}, + crypto.BLAKE2b_256: {blake2b_256String, func(key []byte) (hash.Hash, error) { return blake2b.New256(key) }}, + crypto.BLAKE2b_384: {blake2b_384String, func(key []byte) (hash.Hash, error) { return blake2b.New384(key) }}, + crypto.BLAKE2b_512: {blake2b_512String, func(key []byte) (hash.Hash, error) { return blake2b.New512(key) }}, +} + +var stringToHash map[string]crypto.Hash + +const ( + defaultAlgorithm = RSA_SHA256 + defaultAlgorithmHashing = sha256String +) + +func init() { + stringToHash = make(map[string]crypto.Hash, len(hashToDef)) + for k, v := range hashToDef { + stringToHash[v.name] = k + } + // This should guarantee that at runtime the defaultAlgorithm will not + // result in errors when fetching a macer or signer (see algorithms.go) + if ok, err := isAvailable(string(defaultAlgorithmHashing)); err != nil { + panic(err) + } else if !ok { + panic(fmt.Sprintf("the default httpsig algorithm is unavailable: %q", defaultAlgorithm)) + } +} + +func isForbiddenHash(h crypto.Hash) bool { + switch h { + // Not actually cryptographically secure + case crypto.MD4: + fallthrough + case crypto.MD5: + fallthrough + case crypto.MD5SHA1: // shorthand for crypto/tls, not actually implemented + return true + } + // Still cryptographically secure + return false +} + +// signer is an internally public type. +type signer interface { + Sign(rand io.Reader, p crypto.PrivateKey, sig []byte) ([]byte, error) + Verify(pub crypto.PublicKey, toHash, signature []byte) error + String() string +} + +// macer is an internally public type. +type macer interface { + Sign(sig, key []byte) ([]byte, error) + Equal(sig, actualMAC, key []byte) (bool, error) + String() string +} + +var _ macer = &hmacAlgorithm{} + +type hmacAlgorithm struct { + fn func(key []byte) (hash.Hash, error) + kind crypto.Hash +} + +func (h *hmacAlgorithm) Sign(sig, key []byte) ([]byte, error) { + hs, err := h.fn(key) + if err = setSig(hs, sig); err != nil { + return nil, err + } + return hs.Sum(nil), nil +} + +func (h *hmacAlgorithm) Equal(sig, actualMAC, key []byte) (bool, error) { + hs, err := h.fn(key) + if err != nil { + return false, err + } + defer hs.Reset() + err = setSig(hs, sig) + if err != nil { + return false, err + } + expected := hs.Sum(nil) + return hmac.Equal(actualMAC, expected), nil +} + +func (h *hmacAlgorithm) String() string { + return fmt.Sprintf("%s-%s", hmacPrefix, hashToDef[h.kind].name) +} + +var _ signer = &rsaAlgorithm{} + +type rsaAlgorithm struct { + hash.Hash + kind crypto.Hash + sshSigner ssh.Signer +} + +func (r *rsaAlgorithm) setSig(b []byte) error { + n, err := r.Write(b) + if err != nil { + r.Reset() + return err + } else if n != len(b) { + r.Reset() + return fmt.Errorf("could only write %d of %d bytes of signature to hash", n, len(b)) + } + return nil +} + +func (r *rsaAlgorithm) Sign(rand io.Reader, p crypto.PrivateKey, sig []byte) ([]byte, error) { + if r.sshSigner != nil { + sshsig, err := r.sshSigner.Sign(rand, sig) + if err != nil { + return nil, err + } + + return sshsig.Blob, nil + } + defer r.Reset() + + if err := r.setSig(sig); err != nil { + return nil, err + } + rsaK, ok := p.(*rsa.PrivateKey) + if !ok { + return nil, errors.New("crypto.PrivateKey is not *rsa.PrivateKey") + } + return rsa.SignPKCS1v15(rand, rsaK, r.kind, r.Sum(nil)) +} + +func (r *rsaAlgorithm) Verify(pub crypto.PublicKey, toHash, signature []byte) error { + defer r.Reset() + rsaK, ok := pub.(*rsa.PublicKey) + if !ok { + return errors.New("crypto.PublicKey is not *rsa.PublicKey") + } + if err := r.setSig(toHash); err != nil { + return err + } + return rsa.VerifyPKCS1v15(rsaK, r.kind, r.Sum(nil), signature) +} + +func (r *rsaAlgorithm) String() string { + return fmt.Sprintf("%s-%s", rsaPrefix, hashToDef[r.kind].name) +} + +var _ signer = &ed25519Algorithm{} + +type ed25519Algorithm struct { + sshSigner ssh.Signer +} + +func (r *ed25519Algorithm) Sign(rand io.Reader, p crypto.PrivateKey, sig []byte) ([]byte, error) { + if r.sshSigner != nil { + sshsig, err := r.sshSigner.Sign(rand, sig) + if err != nil { + return nil, err + } + + return sshsig.Blob, nil + } + ed25519K, ok := p.(ed25519.PrivateKey) + if !ok { + return nil, errors.New("crypto.PrivateKey is not ed25519.PrivateKey") + } + return ed25519.Sign(ed25519K, sig), nil +} + +func (r *ed25519Algorithm) Verify(pub crypto.PublicKey, toHash, signature []byte) error { + ed25519K, ok := pub.(ed25519.PublicKey) + if !ok { + return errors.New("crypto.PublicKey is not ed25519.PublicKey") + } + + if ed25519.Verify(ed25519K, toHash, signature) { + return nil + } + + return errors.New("ed25519 verify failed") +} + +func (r *ed25519Algorithm) String() string { + return fmt.Sprintf("%s", ed25519Prefix) +} + +var _ signer = &ecdsaAlgorithm{} + +type ecdsaAlgorithm struct { + hash.Hash + kind crypto.Hash +} + +func (r *ecdsaAlgorithm) setSig(b []byte) error { + n, err := r.Write(b) + if err != nil { + r.Reset() + return err + } else if n != len(b) { + r.Reset() + return fmt.Errorf("could only write %d of %d bytes of signature to hash", n, len(b)) + } + return nil +} + +type ECDSASignature struct { + R, S *big.Int +} + +func (r *ecdsaAlgorithm) Sign(rand io.Reader, p crypto.PrivateKey, sig []byte) ([]byte, error) { + defer r.Reset() + if err := r.setSig(sig); err != nil { + return nil, err + } + ecdsaK, ok := p.(*ecdsa.PrivateKey) + if !ok { + return nil, errors.New("crypto.PrivateKey is not *ecdsa.PrivateKey") + } + R, S, err := ecdsa.Sign(rand, ecdsaK, r.Sum(nil)) + if err != nil { + return nil, err + } + + signature := ECDSASignature{R: R, S: S} + bytes, err := asn1.Marshal(signature) + + return bytes, err +} + +func (r *ecdsaAlgorithm) Verify(pub crypto.PublicKey, toHash, signature []byte) error { + defer r.Reset() + ecdsaK, ok := pub.(*ecdsa.PublicKey) + if !ok { + return errors.New("crypto.PublicKey is not *ecdsa.PublicKey") + } + if err := r.setSig(toHash); err != nil { + return err + } + + sig := new(ECDSASignature) + _, err := asn1.Unmarshal(signature, sig) + if err != nil { + return err + } + + if ecdsa.Verify(ecdsaK, r.Sum(nil), sig.R, sig.S) { + return nil + } else { + return errors.New("Invalid signature") + } +} + +func (r *ecdsaAlgorithm) String() string { + return fmt.Sprintf("%s-%s", ecdsaPrefix, hashToDef[r.kind].name) +} + +var _ macer = &blakeMacAlgorithm{} + +type blakeMacAlgorithm struct { + fn func(key []byte) (hash.Hash, error) + kind crypto.Hash +} + +func (r *blakeMacAlgorithm) Sign(sig, key []byte) ([]byte, error) { + hs, err := r.fn(key) + if err != nil { + return nil, err + } + if err = setSig(hs, sig); err != nil { + return nil, err + } + return hs.Sum(nil), nil +} + +func (r *blakeMacAlgorithm) Equal(sig, actualMAC, key []byte) (bool, error) { + hs, err := r.fn(key) + if err != nil { + return false, err + } + defer hs.Reset() + err = setSig(hs, sig) + if err != nil { + return false, err + } + expected := hs.Sum(nil) + return subtle.ConstantTimeCompare(actualMAC, expected) == 1, nil +} + +func (r *blakeMacAlgorithm) String() string { + return fmt.Sprintf("%s", hashToDef[r.kind].name) +} + +func setSig(a hash.Hash, b []byte) error { + n, err := a.Write(b) + if err != nil { + a.Reset() + return err + } else if n != len(b) { + a.Reset() + return fmt.Errorf("could only write %d of %d bytes of signature to hash", n, len(b)) + } + return nil +} + +// IsSupportedHttpSigAlgorithm returns true if the string is supported by this +// library, is not a hash known to be weak, and is supported by the hardware. +func IsSupportedHttpSigAlgorithm(algo string) bool { + a, err := isAvailable(algo) + return a && err == nil +} + +// isAvailable is an internally public function +func isAvailable(algo string) (bool, error) { + c, ok := stringToHash[algo] + if !ok { + return false, fmt.Errorf("no match for %q", algo) + } + if isForbiddenHash(c) { + return false, fmt.Errorf("forbidden hash type in %q", algo) + } + return c.Available(), nil +} + +func newAlgorithmConstructor(algo string) (fn func(k []byte) (hash.Hash, error), c crypto.Hash, e error) { + ok := false + c, ok = stringToHash[algo] + if !ok { + e = fmt.Errorf("no match for %q", algo) + return + } + if isForbiddenHash(c) { + e = fmt.Errorf("forbidden hash type in %q", algo) + return + } + algoDef, ok := hashToDef[c] + if !ok { + e = fmt.Errorf("have crypto.Hash %v but no definition", c) + return + } + fn = func(key []byte) (hash.Hash, error) { + h, err := algoDef.new(key) + if err != nil { + return nil, err + } + return h, nil + } + return +} + +func newAlgorithm(algo string, key []byte) (hash.Hash, crypto.Hash, error) { + fn, c, err := newAlgorithmConstructor(algo) + if err != nil { + return nil, c, err + } + h, err := fn(key) + return h, c, err +} + +func signerFromSSHSigner(sshSigner ssh.Signer, s string) (signer, error) { + switch { + case strings.HasPrefix(s, rsaPrefix): + return &rsaAlgorithm{ + sshSigner: sshSigner, + }, nil + case strings.HasPrefix(s, ed25519Prefix): + return &ed25519Algorithm{ + sshSigner: sshSigner, + }, nil + default: + return nil, fmt.Errorf("no signer matching %q", s) + } +} + +// signerFromString is an internally public method constructor +func signerFromString(s string) (signer, error) { + s = strings.ToLower(s) + isEcdsa := false + isEd25519 := false + var algo string = "" + if strings.HasPrefix(s, ecdsaPrefix) { + algo = strings.TrimPrefix(s, ecdsaPrefix+"-") + isEcdsa = true + } else if strings.HasPrefix(s, rsaPrefix) { + algo = strings.TrimPrefix(s, rsaPrefix+"-") + } else if strings.HasPrefix(s, ed25519Prefix) { + isEd25519 = true + algo = "sha512" + } else { + return nil, fmt.Errorf("no signer matching %q", s) + } + hash, cHash, err := newAlgorithm(algo, nil) + if err != nil { + return nil, err + } + if isEd25519 { + return &ed25519Algorithm{}, nil + } + if isEcdsa { + return &ecdsaAlgorithm{ + Hash: hash, + kind: cHash, + }, nil + } + return &rsaAlgorithm{ + Hash: hash, + kind: cHash, + }, nil +} + +// macerFromString is an internally public method constructor +func macerFromString(s string) (macer, error) { + s = strings.ToLower(s) + if strings.HasPrefix(s, hmacPrefix) { + algo := strings.TrimPrefix(s, hmacPrefix+"-") + hashFn, cHash, err := newAlgorithmConstructor(algo) + if err != nil { + return nil, err + } + // Ensure below does not panic + _, err = hashFn(nil) + if err != nil { + return nil, err + } + return &hmacAlgorithm{ + fn: func(key []byte) (hash.Hash, error) { + return hmac.New(func() hash.Hash { + h, e := hashFn(nil) + if e != nil { + panic(e) + } + return h + }, key), nil + }, + kind: cHash, + }, nil + } else if bl, ok := stringToHash[s]; ok && blake2Algorithms[bl] { + hashFn, cHash, err := newAlgorithmConstructor(s) + if err != nil { + return nil, err + } + return &blakeMacAlgorithm{ + fn: hashFn, + kind: cHash, + }, nil + } else { + return nil, fmt.Errorf("no MACer matching %q", s) + } +} diff --git a/vendor/github.com/go-fed/httpsig/digest.go b/vendor/github.com/go-fed/httpsig/digest.go new file mode 100644 index 000000000..bf9e3a914 --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/digest.go @@ -0,0 +1,120 @@ +package httpsig + +import ( + "bytes" + "crypto" + "encoding/base64" + "fmt" + "hash" + "net/http" + "strings" +) + +type DigestAlgorithm string + +const ( + DigestSha256 DigestAlgorithm = "SHA-256" + DigestSha512 = "SHA-512" +) + +var digestToDef = map[DigestAlgorithm]crypto.Hash{ + DigestSha256: crypto.SHA256, + DigestSha512: crypto.SHA512, +} + +// IsSupportedDigestAlgorithm returns true if hte string is supported by this +// library, is not a hash known to be weak, and is supported by the hardware. +func IsSupportedDigestAlgorithm(algo string) bool { + uc := DigestAlgorithm(strings.ToUpper(algo)) + c, ok := digestToDef[uc] + return ok && c.Available() +} + +func getHash(alg DigestAlgorithm) (h hash.Hash, toUse DigestAlgorithm, err error) { + upper := DigestAlgorithm(strings.ToUpper(string(alg))) + c, ok := digestToDef[upper] + if !ok { + err = fmt.Errorf("unknown or unsupported Digest algorithm: %s", alg) + } else if !c.Available() { + err = fmt.Errorf("unavailable Digest algorithm: %s", alg) + } else { + h = c.New() + toUse = upper + } + return +} + +const ( + digestHeader = "Digest" + digestDelim = "=" +) + +func addDigest(r *http.Request, algo DigestAlgorithm, b []byte) (err error) { + _, ok := r.Header[digestHeader] + if ok { + err = fmt.Errorf("cannot add Digest: Digest is already set") + return + } + var h hash.Hash + var a DigestAlgorithm + h, a, err = getHash(algo) + if err != nil { + return + } + h.Write(b) + sum := h.Sum(nil) + r.Header.Add(digestHeader, + fmt.Sprintf("%s%s%s", + a, + digestDelim, + base64.StdEncoding.EncodeToString(sum[:]))) + return +} + +func addDigestResponse(r http.ResponseWriter, algo DigestAlgorithm, b []byte) (err error) { + _, ok := r.Header()[digestHeader] + if ok { + err = fmt.Errorf("cannot add Digest: Digest is already set") + return + } + var h hash.Hash + var a DigestAlgorithm + h, a, err = getHash(algo) + if err != nil { + return + } + h.Write(b) + sum := h.Sum(nil) + r.Header().Add(digestHeader, + fmt.Sprintf("%s%s%s", + a, + digestDelim, + base64.StdEncoding.EncodeToString(sum[:]))) + return +} + +func verifyDigest(r *http.Request, body *bytes.Buffer) (err error) { + d := r.Header.Get(digestHeader) + if len(d) == 0 { + err = fmt.Errorf("cannot verify Digest: request has no Digest header") + return + } + elem := strings.SplitN(d, digestDelim, 2) + if len(elem) != 2 { + err = fmt.Errorf("cannot verify Digest: malformed Digest: %s", d) + return + } + var h hash.Hash + h, _, err = getHash(DigestAlgorithm(elem[0])) + if err != nil { + return + } + h.Write(body.Bytes()) + sum := h.Sum(nil) + encSum := base64.StdEncoding.EncodeToString(sum[:]) + if encSum != elem[1] { + err = fmt.Errorf("cannot verify Digest: header Digest does not match the digest of the request body") + return + } + return +} diff --git a/vendor/github.com/go-fed/httpsig/go.mod b/vendor/github.com/go-fed/httpsig/go.mod new file mode 100644 index 000000000..a4076921a --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/go.mod @@ -0,0 +1,5 @@ +module github.com/go-fed/httpsig + +require golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 + +go 1.13 diff --git a/vendor/github.com/go-fed/httpsig/go.sum b/vendor/github.com/go-fed/httpsig/go.sum new file mode 100644 index 000000000..8b7d318c6 --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/go.sum @@ -0,0 +1,8 @@ +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/vendor/github.com/go-fed/httpsig/httpsig.go b/vendor/github.com/go-fed/httpsig/httpsig.go new file mode 100644 index 000000000..1a6b95463 --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/httpsig.go @@ -0,0 +1,361 @@ +// Implements HTTP request and response signing and verification. Supports the +// major MAC and asymmetric key signature algorithms. It has several safety +// restrictions: One, none of the widely known non-cryptographically safe +// algorithms are permitted; Two, the RSA SHA256 algorithms must be available in +// the binary (and it should, barring export restrictions); Finally, the library +// assumes either the 'Authorizationn' or 'Signature' headers are to be set (but +// not both). +package httpsig + +import ( + "crypto" + "fmt" + "net/http" + "strings" + "time" + + "golang.org/x/crypto/ssh" +) + +// Algorithm specifies a cryptography secure algorithm for signing HTTP requests +// and responses. +type Algorithm string + +const ( + // MAC-based algoirthms. + HMAC_SHA224 Algorithm = hmacPrefix + "-" + sha224String + HMAC_SHA256 Algorithm = hmacPrefix + "-" + sha256String + HMAC_SHA384 Algorithm = hmacPrefix + "-" + sha384String + HMAC_SHA512 Algorithm = hmacPrefix + "-" + sha512String + HMAC_RIPEMD160 Algorithm = hmacPrefix + "-" + ripemd160String + HMAC_SHA3_224 Algorithm = hmacPrefix + "-" + sha3_224String + HMAC_SHA3_256 Algorithm = hmacPrefix + "-" + sha3_256String + HMAC_SHA3_384 Algorithm = hmacPrefix + "-" + sha3_384String + HMAC_SHA3_512 Algorithm = hmacPrefix + "-" + sha3_512String + HMAC_SHA512_224 Algorithm = hmacPrefix + "-" + sha512_224String + HMAC_SHA512_256 Algorithm = hmacPrefix + "-" + sha512_256String + HMAC_BLAKE2S_256 Algorithm = hmacPrefix + "-" + blake2s_256String + HMAC_BLAKE2B_256 Algorithm = hmacPrefix + "-" + blake2b_256String + HMAC_BLAKE2B_384 Algorithm = hmacPrefix + "-" + blake2b_384String + HMAC_BLAKE2B_512 Algorithm = hmacPrefix + "-" + blake2b_512String + BLAKE2S_256 Algorithm = blake2s_256String + BLAKE2B_256 Algorithm = blake2b_256String + BLAKE2B_384 Algorithm = blake2b_384String + BLAKE2B_512 Algorithm = blake2b_512String + // RSA-based algorithms. + RSA_SHA1 Algorithm = rsaPrefix + "-" + sha1String + RSA_SHA224 Algorithm = rsaPrefix + "-" + sha224String + // RSA_SHA256 is the default algorithm. + RSA_SHA256 Algorithm = rsaPrefix + "-" + sha256String + RSA_SHA384 Algorithm = rsaPrefix + "-" + sha384String + RSA_SHA512 Algorithm = rsaPrefix + "-" + sha512String + RSA_RIPEMD160 Algorithm = rsaPrefix + "-" + ripemd160String + // ECDSA algorithms + ECDSA_SHA224 Algorithm = ecdsaPrefix + "-" + sha224String + ECDSA_SHA256 Algorithm = ecdsaPrefix + "-" + sha256String + ECDSA_SHA384 Algorithm = ecdsaPrefix + "-" + sha384String + ECDSA_SHA512 Algorithm = ecdsaPrefix + "-" + sha512String + ECDSA_RIPEMD160 Algorithm = ecdsaPrefix + "-" + ripemd160String + // ED25519 algorithms + // can only be SHA512 + ED25519 Algorithm = ed25519Prefix + + // Just because you can glue things together, doesn't mean they will + // work. The following options are not supported. + rsa_SHA3_224 Algorithm = rsaPrefix + "-" + sha3_224String + rsa_SHA3_256 Algorithm = rsaPrefix + "-" + sha3_256String + rsa_SHA3_384 Algorithm = rsaPrefix + "-" + sha3_384String + rsa_SHA3_512 Algorithm = rsaPrefix + "-" + sha3_512String + rsa_SHA512_224 Algorithm = rsaPrefix + "-" + sha512_224String + rsa_SHA512_256 Algorithm = rsaPrefix + "-" + sha512_256String + rsa_BLAKE2S_256 Algorithm = rsaPrefix + "-" + blake2s_256String + rsa_BLAKE2B_256 Algorithm = rsaPrefix + "-" + blake2b_256String + rsa_BLAKE2B_384 Algorithm = rsaPrefix + "-" + blake2b_384String + rsa_BLAKE2B_512 Algorithm = rsaPrefix + "-" + blake2b_512String +) + +// HTTP Signatures can be applied to different HTTP headers, depending on the +// expected application behavior. +type SignatureScheme string + +const ( + // Signature will place the HTTP Signature into the 'Signature' HTTP + // header. + Signature SignatureScheme = "Signature" + // Authorization will place the HTTP Signature into the 'Authorization' + // HTTP header. + Authorization SignatureScheme = "Authorization" +) + +const ( + // The HTTP Signatures specification uses the "Signature" auth-scheme + // for the Authorization header. This is coincidentally named, but not + // semantically the same, as the "Signature" HTTP header value. + signatureAuthScheme = "Signature" +) + +// There are subtle differences to the values in the header. The Authorization +// header has an 'auth-scheme' value that must be prefixed to the rest of the +// key and values. +func (s SignatureScheme) authScheme() string { + switch s { + case Authorization: + return signatureAuthScheme + default: + return "" + } +} + +// Signers will sign HTTP requests or responses based on the algorithms and +// headers selected at creation time. +// +// Signers are not safe to use between multiple goroutines. +// +// Note that signatures do set the deprecated 'algorithm' parameter for +// backwards compatibility. +type Signer interface { + // SignRequest signs the request using a private key. The public key id + // is used by the HTTP server to identify which key to use to verify the + // signature. + // + // If the Signer was created using a MAC based algorithm, then the key + // is expected to be of type []byte. If the Signer was created using an + // RSA based algorithm, then the private key is expected to be of type + // *rsa.PrivateKey. + // + // A Digest (RFC 3230) will be added to the request. The body provided + // must match the body used in the request, and is allowed to be nil. + // The Digest ensures the request body is not tampered with in flight, + // and if the signer is created to also sign the "Digest" header, the + // HTTP Signature will then ensure both the Digest and body are not both + // modified to maliciously represent different content. + SignRequest(pKey crypto.PrivateKey, pubKeyId string, r *http.Request, body []byte) error + // SignResponse signs the response using a private key. The public key + // id is used by the HTTP client to identify which key to use to verify + // the signature. + // + // If the Signer was created using a MAC based algorithm, then the key + // is expected to be of type []byte. If the Signer was created using an + // RSA based algorithm, then the private key is expected to be of type + // *rsa.PrivateKey. + // + // A Digest (RFC 3230) will be added to the response. The body provided + // must match the body written in the response, and is allowed to be + // nil. The Digest ensures the response body is not tampered with in + // flight, and if the signer is created to also sign the "Digest" + // header, the HTTP Signature will then ensure both the Digest and body + // are not both modified to maliciously represent different content. + SignResponse(pKey crypto.PrivateKey, pubKeyId string, r http.ResponseWriter, body []byte) error +} + +// NewSigner creates a new Signer with the provided algorithm preferences to +// make HTTP signatures. Only the first available algorithm will be used, which +// is returned by this function along with the Signer. If none of the preferred +// algorithms were available, then the default algorithm is used. The headers +// specified will be included into the HTTP signatures. +// +// The Digest will also be calculated on a request's body using the provided +// digest algorithm, if "Digest" is one of the headers listed. +// +// The provided scheme determines which header is populated with the HTTP +// Signature. +// +// An error is returned if an unknown or a known cryptographically insecure +// Algorithm is provided. +func NewSigner(prefs []Algorithm, dAlgo DigestAlgorithm, headers []string, scheme SignatureScheme, expiresIn int64) (Signer, Algorithm, error) { + for _, pref := range prefs { + s, err := newSigner(pref, dAlgo, headers, scheme, expiresIn) + if err != nil { + continue + } + return s, pref, err + } + s, err := newSigner(defaultAlgorithm, dAlgo, headers, scheme, expiresIn) + return s, defaultAlgorithm, err +} + +// Signers will sign HTTP requests or responses based on the algorithms and +// headers selected at creation time. +// +// Signers are not safe to use between multiple goroutines. +// +// Note that signatures do set the deprecated 'algorithm' parameter for +// backwards compatibility. +type SSHSigner interface { + // SignRequest signs the request using ssh.Signer. + // The public key id is used by the HTTP server to identify which key to use + // to verify the signature. + // + // A Digest (RFC 3230) will be added to the request. The body provided + // must match the body used in the request, and is allowed to be nil. + // The Digest ensures the request body is not tampered with in flight, + // and if the signer is created to also sign the "Digest" header, the + // HTTP Signature will then ensure both the Digest and body are not both + // modified to maliciously represent different content. + SignRequest(pubKeyId string, r *http.Request, body []byte) error + // SignResponse signs the response using ssh.Signer. The public key + // id is used by the HTTP client to identify which key to use to verify + // the signature. + // + // A Digest (RFC 3230) will be added to the response. The body provided + // must match the body written in the response, and is allowed to be + // nil. The Digest ensures the response body is not tampered with in + // flight, and if the signer is created to also sign the "Digest" + // header, the HTTP Signature will then ensure both the Digest and body + // are not both modified to maliciously represent different content. + SignResponse(pubKeyId string, r http.ResponseWriter, body []byte) error +} + +// NewwSSHSigner creates a new Signer using the specified ssh.Signer +// At the moment only ed25519 ssh keys are supported. +// The headers specified will be included into the HTTP signatures. +// +// The Digest will also be calculated on a request's body using the provided +// digest algorithm, if "Digest" is one of the headers listed. +// +// The provided scheme determines which header is populated with the HTTP +// Signature. +func NewSSHSigner(s ssh.Signer, dAlgo DigestAlgorithm, headers []string, scheme SignatureScheme, expiresIn int64) (SSHSigner, Algorithm, error) { + sshAlgo := getSSHAlgorithm(s.PublicKey().Type()) + if sshAlgo == "" { + return nil, "", fmt.Errorf("key type: %s not supported yet.", s.PublicKey().Type()) + } + + signer, err := newSSHSigner(s, sshAlgo, dAlgo, headers, scheme, expiresIn) + if err != nil { + return nil, "", err + } + + return signer, sshAlgo, nil +} + +func getSSHAlgorithm(pkType string) Algorithm { + switch { + case strings.HasPrefix(pkType, sshPrefix+"-"+ed25519Prefix): + return ED25519 + case strings.HasPrefix(pkType, sshPrefix+"-"+rsaPrefix): + return RSA_SHA1 + } + + return "" +} + +// Verifier verifies HTTP Signatures. +// +// It will determine which of the supported headers has the parameters +// that define the signature. +// +// Verifiers are not safe to use between multiple goroutines. +// +// Note that verification ignores the deprecated 'algorithm' parameter. +type Verifier interface { + // KeyId gets the public key id that the signature is signed with. + // + // Note that the application is expected to determine the algorithm + // used based on metadata or out-of-band information for this key id. + KeyId() string + // Verify accepts the public key specified by KeyId and returns an + // error if verification fails or if the signature is malformed. The + // algorithm must be the one used to create the signature in order to + // pass verification. The algorithm is determined based on metadata or + // out-of-band information for the key id. + // + // If the signature was created using a MAC based algorithm, then the + // key is expected to be of type []byte. If the signature was created + // using an RSA based algorithm, then the public key is expected to be + // of type *rsa.PublicKey. + Verify(pKey crypto.PublicKey, algo Algorithm) error +} + +const ( + // host is treated specially because golang may not include it in the + // request header map on the server side of a request. + hostHeader = "Host" +) + +// NewVerifier verifies the given request. It returns an error if the HTTP +// Signature parameters are not present in any headers, are present in more than +// one header, are malformed, or are missing required parameters. It ignores +// unknown HTTP Signature parameters. +func NewVerifier(r *http.Request) (Verifier, error) { + h := r.Header + if _, hasHostHeader := h[hostHeader]; len(r.Host) > 0 && !hasHostHeader { + h[hostHeader] = []string{r.Host} + } + return newVerifier(h, func(h http.Header, toInclude []string, created int64, expires int64) (string, error) { + return signatureString(h, toInclude, addRequestTarget(r), created, expires) + }) +} + +// NewResponseVerifier verifies the given response. It returns errors under the +// same conditions as NewVerifier. +func NewResponseVerifier(r *http.Response) (Verifier, error) { + return newVerifier(r.Header, func(h http.Header, toInclude []string, created int64, expires int64) (string, error) { + return signatureString(h, toInclude, requestTargetNotPermitted, created, expires) + }) +} + +func newSSHSigner(sshSigner ssh.Signer, algo Algorithm, dAlgo DigestAlgorithm, headers []string, scheme SignatureScheme, expiresIn int64) (SSHSigner, error) { + var expires, created int64 = 0, 0 + + if expiresIn != 0 { + created = time.Now().Unix() + expires = created + expiresIn + } + + s, err := signerFromSSHSigner(sshSigner, string(algo)) + if err != nil { + return nil, fmt.Errorf("no crypto implementation available for ssh algo %q", algo) + } + + a := &asymmSSHSigner{ + asymmSigner: &asymmSigner{ + s: s, + dAlgo: dAlgo, + headers: headers, + targetHeader: scheme, + prefix: scheme.authScheme(), + created: created, + expires: expires, + }, + } + + return a, nil +} + +func newSigner(algo Algorithm, dAlgo DigestAlgorithm, headers []string, scheme SignatureScheme, expiresIn int64) (Signer, error) { + + var expires, created int64 = 0, 0 + if expiresIn != 0 { + created = time.Now().Unix() + expires = created + expiresIn + } + + s, err := signerFromString(string(algo)) + if err == nil { + a := &asymmSigner{ + s: s, + dAlgo: dAlgo, + headers: headers, + targetHeader: scheme, + prefix: scheme.authScheme(), + created: created, + expires: expires, + } + return a, nil + } + m, err := macerFromString(string(algo)) + if err != nil { + return nil, fmt.Errorf("no crypto implementation available for %q", algo) + } + c := &macSigner{ + m: m, + dAlgo: dAlgo, + headers: headers, + targetHeader: scheme, + prefix: scheme.authScheme(), + created: created, + expires: expires, + } + return c, nil +} diff --git a/vendor/github.com/go-fed/httpsig/signing.go b/vendor/github.com/go-fed/httpsig/signing.go new file mode 100644 index 000000000..e18db41cb --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/signing.go @@ -0,0 +1,334 @@ +package httpsig + +import ( + "bytes" + "crypto" + "crypto/rand" + "encoding/base64" + "fmt" + "net/http" + "net/textproto" + "strconv" + "strings" +) + +const ( + // Signature Parameters + keyIdParameter = "keyId" + algorithmParameter = "algorithm" + headersParameter = "headers" + signatureParameter = "signature" + prefixSeparater = " " + parameterKVSeparater = "=" + parameterValueDelimiter = "\"" + parameterSeparater = "," + headerParameterValueDelim = " " + // RequestTarget specifies to include the http request method and + // entire URI in the signature. Pass it as a header to NewSigner. + RequestTarget = "(request-target)" + createdKey = "created" + expiresKey = "expires" + dateHeader = "date" + + // Signature String Construction + headerFieldDelimiter = ": " + headersDelimiter = "\n" + headerValueDelimiter = ", " + requestTargetSeparator = " " +) + +var defaultHeaders = []string{dateHeader} + +var _ Signer = &macSigner{} + +type macSigner struct { + m macer + makeDigest bool + dAlgo DigestAlgorithm + headers []string + targetHeader SignatureScheme + prefix string + created int64 + expires int64 +} + +func (m *macSigner) SignRequest(pKey crypto.PrivateKey, pubKeyId string, r *http.Request, body []byte) error { + if body != nil { + err := addDigest(r, m.dAlgo, body) + if err != nil { + return err + } + } + s, err := m.signatureString(r) + if err != nil { + return err + } + enc, err := m.signSignature(pKey, s) + if err != nil { + return err + } + setSignatureHeader(r.Header, string(m.targetHeader), m.prefix, pubKeyId, m.m.String(), enc, m.headers, m.created, m.expires) + return nil +} + +func (m *macSigner) SignResponse(pKey crypto.PrivateKey, pubKeyId string, r http.ResponseWriter, body []byte) error { + if body != nil { + err := addDigestResponse(r, m.dAlgo, body) + if err != nil { + return err + } + } + s, err := m.signatureStringResponse(r) + if err != nil { + return err + } + enc, err := m.signSignature(pKey, s) + if err != nil { + return err + } + setSignatureHeader(r.Header(), string(m.targetHeader), m.prefix, pubKeyId, m.m.String(), enc, m.headers, m.created, m.expires) + return nil +} + +func (m *macSigner) signSignature(pKey crypto.PrivateKey, s string) (string, error) { + pKeyBytes, ok := pKey.([]byte) + if !ok { + return "", fmt.Errorf("private key for MAC signing must be of type []byte") + } + sig, err := m.m.Sign([]byte(s), pKeyBytes) + if err != nil { + return "", err + } + enc := base64.StdEncoding.EncodeToString(sig) + return enc, nil +} + +func (m *macSigner) signatureString(r *http.Request) (string, error) { + return signatureString(r.Header, m.headers, addRequestTarget(r), m.created, m.expires) +} + +func (m *macSigner) signatureStringResponse(r http.ResponseWriter) (string, error) { + return signatureString(r.Header(), m.headers, requestTargetNotPermitted, m.created, m.expires) +} + +var _ Signer = &asymmSigner{} + +type asymmSigner struct { + s signer + makeDigest bool + dAlgo DigestAlgorithm + headers []string + targetHeader SignatureScheme + prefix string + created int64 + expires int64 +} + +func (a *asymmSigner) SignRequest(pKey crypto.PrivateKey, pubKeyId string, r *http.Request, body []byte) error { + if body != nil { + err := addDigest(r, a.dAlgo, body) + if err != nil { + return err + } + } + s, err := a.signatureString(r) + if err != nil { + return err + } + enc, err := a.signSignature(pKey, s) + if err != nil { + return err + } + setSignatureHeader(r.Header, string(a.targetHeader), a.prefix, pubKeyId, a.s.String(), enc, a.headers, a.created, a.expires) + return nil +} + +func (a *asymmSigner) SignResponse(pKey crypto.PrivateKey, pubKeyId string, r http.ResponseWriter, body []byte) error { + if body != nil { + err := addDigestResponse(r, a.dAlgo, body) + if err != nil { + return err + } + } + s, err := a.signatureStringResponse(r) + if err != nil { + return err + } + enc, err := a.signSignature(pKey, s) + if err != nil { + return err + } + setSignatureHeader(r.Header(), string(a.targetHeader), a.prefix, pubKeyId, a.s.String(), enc, a.headers, a.created, a.expires) + return nil +} + +func (a *asymmSigner) signSignature(pKey crypto.PrivateKey, s string) (string, error) { + sig, err := a.s.Sign(rand.Reader, pKey, []byte(s)) + if err != nil { + return "", err + } + enc := base64.StdEncoding.EncodeToString(sig) + return enc, nil +} + +func (a *asymmSigner) signatureString(r *http.Request) (string, error) { + return signatureString(r.Header, a.headers, addRequestTarget(r), a.created, a.expires) +} + +func (a *asymmSigner) signatureStringResponse(r http.ResponseWriter) (string, error) { + return signatureString(r.Header(), a.headers, requestTargetNotPermitted, a.created, a.expires) +} + +var _ SSHSigner = &asymmSSHSigner{} + +type asymmSSHSigner struct { + *asymmSigner +} + +func (a *asymmSSHSigner) SignRequest(pubKeyId string, r *http.Request, body []byte) error { + return a.asymmSigner.SignRequest(nil, pubKeyId, r, body) +} + +func (a *asymmSSHSigner) SignResponse(pubKeyId string, r http.ResponseWriter, body []byte) error { + return a.asymmSigner.SignResponse(nil, pubKeyId, r, body) +} + +func setSignatureHeader(h http.Header, targetHeader, prefix, pubKeyId, algo, enc string, headers []string, created int64, expires int64) { + if len(headers) == 0 { + headers = defaultHeaders + } + var b bytes.Buffer + // KeyId + b.WriteString(prefix) + if len(prefix) > 0 { + b.WriteString(prefixSeparater) + } + b.WriteString(keyIdParameter) + b.WriteString(parameterKVSeparater) + b.WriteString(parameterValueDelimiter) + b.WriteString(pubKeyId) + b.WriteString(parameterValueDelimiter) + b.WriteString(parameterSeparater) + // Algorithm + b.WriteString(algorithmParameter) + b.WriteString(parameterKVSeparater) + b.WriteString(parameterValueDelimiter) + b.WriteString("hs2019") //real algorithm is hidden, see newest version of spec draft + b.WriteString(parameterValueDelimiter) + b.WriteString(parameterSeparater) + + hasCreated := false + hasExpires := false + for _, h := range headers { + val := strings.ToLower(h) + if val == "("+createdKey+")" { + hasCreated = true + } else if val == "("+expiresKey+")" { + hasExpires = true + } + } + + // Created + if hasCreated == true { + b.WriteString(createdKey) + b.WriteString(parameterKVSeparater) + b.WriteString(strconv.FormatInt(created, 10)) + b.WriteString(parameterSeparater) + } + + // Expires + if hasExpires == true { + b.WriteString(expiresKey) + b.WriteString(parameterKVSeparater) + b.WriteString(strconv.FormatInt(expires, 10)) + b.WriteString(parameterSeparater) + } + + // Headers + b.WriteString(headersParameter) + b.WriteString(parameterKVSeparater) + b.WriteString(parameterValueDelimiter) + for i, h := range headers { + b.WriteString(strings.ToLower(h)) + if i != len(headers)-1 { + b.WriteString(headerParameterValueDelim) + } + } + b.WriteString(parameterValueDelimiter) + b.WriteString(parameterSeparater) + // Signature + b.WriteString(signatureParameter) + b.WriteString(parameterKVSeparater) + b.WriteString(parameterValueDelimiter) + b.WriteString(enc) + b.WriteString(parameterValueDelimiter) + h.Add(targetHeader, b.String()) +} + +func requestTargetNotPermitted(b *bytes.Buffer) error { + return fmt.Errorf("cannot sign with %q on anything other than an http request", RequestTarget) +} + +func addRequestTarget(r *http.Request) func(b *bytes.Buffer) error { + return func(b *bytes.Buffer) error { + b.WriteString(RequestTarget) + b.WriteString(headerFieldDelimiter) + b.WriteString(strings.ToLower(r.Method)) + b.WriteString(requestTargetSeparator) + b.WriteString(r.URL.Path) + + if r.URL.RawQuery != "" { + b.WriteString("?") + b.WriteString(r.URL.RawQuery) + } + + return nil + } +} + +func signatureString(values http.Header, include []string, requestTargetFn func(b *bytes.Buffer) error, created int64, expires int64) (string, error) { + if len(include) == 0 { + include = defaultHeaders + } + var b bytes.Buffer + for n, i := range include { + i := strings.ToLower(i) + if i == RequestTarget { + err := requestTargetFn(&b) + if err != nil { + return "", err + } + } else if i == "("+expiresKey+")" { + if expires == 0 { + return "", fmt.Errorf("missing expires value") + } + b.WriteString(i) + b.WriteString(headerFieldDelimiter) + b.WriteString(strconv.FormatInt(expires, 10)) + } else if i == "("+createdKey+")" { + if created == 0 { + return "", fmt.Errorf("missing created value") + } + b.WriteString(i) + b.WriteString(headerFieldDelimiter) + b.WriteString(strconv.FormatInt(created, 10)) + } else { + hv, ok := values[textproto.CanonicalMIMEHeaderKey(i)] + if !ok { + return "", fmt.Errorf("missing header %q", i) + } + b.WriteString(i) + b.WriteString(headerFieldDelimiter) + for i, v := range hv { + b.WriteString(strings.TrimSpace(v)) + if i < len(hv)-1 { + b.WriteString(headerValueDelimiter) + } + } + } + if n < len(include)-1 { + b.WriteString(headersDelimiter) + } + } + return b.String(), nil +} diff --git a/vendor/github.com/go-fed/httpsig/verifying.go b/vendor/github.com/go-fed/httpsig/verifying.go new file mode 100644 index 000000000..6d8df02ce --- /dev/null +++ b/vendor/github.com/go-fed/httpsig/verifying.go @@ -0,0 +1,184 @@ +package httpsig + +import ( + "crypto" + "encoding/base64" + "errors" + "fmt" + "net/http" + "strconv" + "strings" + "time" +) + +var _ Verifier = &verifier{} + +type verifier struct { + header http.Header + kId string + signature string + created int64 + expires int64 + headers []string + sigStringFn func(http.Header, []string, int64, int64) (string, error) +} + +func newVerifier(h http.Header, sigStringFn func(http.Header, []string, int64, int64) (string, error)) (*verifier, error) { + scheme, s, err := getSignatureScheme(h) + if err != nil { + return nil, err + } + kId, sig, headers, created, expires, err := getSignatureComponents(scheme, s) + if created != 0 { + //check if created is not in the future, we assume a maximum clock offset of 10 seconds + now := time.Now().Unix() + if created-now > 10 { + return nil, errors.New("created is in the future") + } + } + if expires != 0 { + //check if expires is in the past, we assume a maximum clock offset of 10 seconds + now := time.Now().Unix() + if now-expires > 10 { + return nil, errors.New("signature expired") + } + } + if err != nil { + return nil, err + } + return &verifier{ + header: h, + kId: kId, + signature: sig, + created: created, + expires: expires, + headers: headers, + sigStringFn: sigStringFn, + }, nil +} + +func (v *verifier) KeyId() string { + return v.kId +} + +func (v *verifier) Verify(pKey crypto.PublicKey, algo Algorithm) error { + s, err := signerFromString(string(algo)) + if err == nil { + return v.asymmVerify(s, pKey) + } + m, err := macerFromString(string(algo)) + if err == nil { + return v.macVerify(m, pKey) + } + return fmt.Errorf("no crypto implementation available for %q", algo) +} + +func (v *verifier) macVerify(m macer, pKey crypto.PublicKey) error { + key, ok := pKey.([]byte) + if !ok { + return fmt.Errorf("public key for MAC verifying must be of type []byte") + } + signature, err := v.sigStringFn(v.header, v.headers, v.created, v.expires) + if err != nil { + return err + } + actualMAC, err := base64.StdEncoding.DecodeString(v.signature) + if err != nil { + return err + } + ok, err = m.Equal([]byte(signature), actualMAC, key) + if err != nil { + return err + } else if !ok { + return fmt.Errorf("invalid http signature") + } + return nil +} + +func (v *verifier) asymmVerify(s signer, pKey crypto.PublicKey) error { + toHash, err := v.sigStringFn(v.header, v.headers, v.created, v.expires) + if err != nil { + return err + } + signature, err := base64.StdEncoding.DecodeString(v.signature) + if err != nil { + return err + } + err = s.Verify(pKey, []byte(toHash), signature) + if err != nil { + return err + } + return nil +} + +func getSignatureScheme(h http.Header) (scheme SignatureScheme, val string, err error) { + s := h.Get(string(Signature)) + sigHasAll := strings.Contains(s, keyIdParameter) || + strings.Contains(s, headersParameter) || + strings.Contains(s, signatureParameter) + a := h.Get(string(Authorization)) + authHasAll := strings.Contains(a, keyIdParameter) || + strings.Contains(a, headersParameter) || + strings.Contains(a, signatureParameter) + if sigHasAll && authHasAll { + err = fmt.Errorf("both %q and %q have signature parameters", Signature, Authorization) + return + } else if !sigHasAll && !authHasAll { + err = fmt.Errorf("neither %q nor %q have signature parameters", Signature, Authorization) + return + } else if sigHasAll { + val = s + scheme = Signature + return + } else { // authHasAll + val = a + scheme = Authorization + return + } +} + +func getSignatureComponents(scheme SignatureScheme, s string) (kId, sig string, headers []string, created int64, expires int64, err error) { + if as := scheme.authScheme(); len(as) > 0 { + s = strings.TrimPrefix(s, as+prefixSeparater) + } + params := strings.Split(s, parameterSeparater) + for _, p := range params { + kv := strings.SplitN(p, parameterKVSeparater, 2) + if len(kv) != 2 { + err = fmt.Errorf("malformed http signature parameter: %v", kv) + return + } + k := kv[0] + v := strings.Trim(kv[1], parameterValueDelimiter) + switch k { + case keyIdParameter: + kId = v + case createdKey: + created, err = strconv.ParseInt(v, 10, 64) + if err != nil { + return + } + case expiresKey: + expires, err = strconv.ParseInt(v, 10, 64) + if err != nil { + return + } + case algorithmParameter: + // Deprecated, ignore + case headersParameter: + headers = strings.Split(v, headerParameterValueDelim) + case signatureParameter: + sig = v + default: + // Ignore unrecognized parameters + } + } + if len(kId) == 0 { + err = fmt.Errorf("missing %q parameter in http signature", keyIdParameter) + } else if len(sig) == 0 { + err = fmt.Errorf("missing %q parameter in http signature", signatureParameter) + } else if len(headers) == 0 { // Optional + headers = defaultHeaders + } + return +} diff --git a/vendor/github.com/go-pg/pg/extra/pgdebug/LICENSE b/vendor/github.com/go-pg/pg/extra/pgdebug/LICENSE new file mode 100644 index 000000000..7751509b8 --- /dev/null +++ b/vendor/github.com/go-pg/pg/extra/pgdebug/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2013 github.com/go-pg/pg 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. + +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/go-pg/pg/extra/pgdebug/go.mod b/vendor/github.com/go-pg/pg/extra/pgdebug/go.mod new file mode 100644 index 000000000..d44ba0123 --- /dev/null +++ b/vendor/github.com/go-pg/pg/extra/pgdebug/go.mod @@ -0,0 +1,7 @@ +module github.com/go-pg/pg/extra/pgdebug + +go 1.15 + +replace github.com/go-pg/pg/v10 => ../.. + +require github.com/go-pg/pg/v10 v10.6.2 diff --git a/vendor/github.com/go-pg/pg/extra/pgdebug/go.sum b/vendor/github.com/go-pg/pg/extra/pgdebug/go.sum new file mode 100644 index 000000000..8483a864a --- /dev/null +++ b/vendor/github.com/go-pg/pg/extra/pgdebug/go.sum @@ -0,0 +1,161 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/go-pg/zerochecker v0.2.0 h1:pp7f72c3DobMWOb2ErtZsnrPaSvHd2W4o9//8HtF4mU= +github.com/go-pg/zerochecker v0.2.0/go.mod h1:NJZ4wKL0NmTtz0GKCoJ8kym6Xn/EQzXRl2OnAe7MmDo= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3 h1:x95R7cp+rSeeqAMI2knLtQ0DKlaBhv2NrtrOvafPHRo= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M= +github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= +github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= +github.com/vmihailenco/bufpool v0.1.11 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94= +github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ= +github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= +github.com/vmihailenco/msgpack/v5 v5.0.0 h1:nCaMMPEyfgwkGc/Y0GreJPhuvzqCqW+Ufq5lY7zLO2c= +github.com/vmihailenco/msgpack/v5 v5.0.0/go.mod h1:HVxBVPUK/+fZMonk4bi1islLa8V3cfnBug0+4dykPzo= +github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= +github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +go.opentelemetry.io/otel v0.14.0 h1:YFBEfjCk9MTjaytCNSUkp9Q8lF7QJezA06T71FbQxLQ= +go.opentelemetry.io/otel v0.14.0/go.mod h1:vH5xEuwy7Rts0GNtsCW3HYQoZDY+OmBJ6t1bFGGlxgw= +golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9 h1:phUcVbl53swtrUN8kQEXFhUxPlIlWyBfKmidCu7P95o= +golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +mellium.im/sasl v0.2.1 h1:nspKSRg7/SyO0cRGY71OkfHab8tf9kCts6a6oTDut0w= +mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ= diff --git a/vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go b/vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go new file mode 100644 index 000000000..bbf6ada19 --- /dev/null +++ b/vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go @@ -0,0 +1,42 @@ +package pgdebug + +import ( + "context" + "fmt" + + "github.com/go-pg/pg/v10" +) + +// DebugHook is a query hook that logs an error with a query if there are any. +// It can be installed with: +// +// db.AddQueryHook(pgext.DebugHook{}) +type DebugHook struct { + // Verbose causes hook to print all queries (even those without an error). + Verbose bool + EmptyLine bool +} + +var _ pg.QueryHook = (*DebugHook)(nil) + +func (h DebugHook) BeforeQuery(ctx context.Context, evt *pg.QueryEvent) (context.Context, error) { + q, err := evt.FormattedQuery() + if err != nil { + return nil, err + } + + if evt.Err != nil { + fmt.Printf("%s executing a query:\n%s\n", evt.Err, q) + } else if h.Verbose { + if h.EmptyLine { + fmt.Println() + } + fmt.Println(string(q)) + } + + return ctx, nil +} + +func (DebugHook) AfterQuery(context.Context, *pg.QueryEvent) error { + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/.golangci.yml b/vendor/github.com/go-pg/pg/v10/.golangci.yml new file mode 100644 index 000000000..e2b5ce924 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/.golangci.yml @@ -0,0 +1,18 @@ +run: + concurrency: 8 + deadline: 5m + tests: false +linters: + enable-all: true + disable: + - gochecknoglobals + - gocognit + - gomnd + - wsl + - funlen + - godox + - goerr113 + - exhaustive + - nestif + - gofumpt + - goconst diff --git a/vendor/github.com/go-pg/pg/v10/.prettierrc b/vendor/github.com/go-pg/pg/v10/.prettierrc new file mode 100644 index 000000000..8b7f044ad --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/.prettierrc @@ -0,0 +1,4 @@ +semi: false +singleQuote: true +proseWrap: always +printWidth: 100 diff --git a/vendor/github.com/go-pg/pg/v10/.travis.yml b/vendor/github.com/go-pg/pg/v10/.travis.yml new file mode 100644 index 000000000..6db22a449 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/.travis.yml @@ -0,0 +1,21 @@ +dist: xenial +language: go + +addons: + postgresql: '9.6' + +go: + - 1.14.x + - 1.15.x + - tip + +matrix: + allow_failures: + - go: tip + +go_import_path: github.com/go-pg/pg + +before_install: + - psql -U postgres -c "CREATE EXTENSION hstore" + - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- + -b $(go env GOPATH)/bin v1.28.3 diff --git a/vendor/github.com/go-pg/pg/v10/CHANGELOG.md b/vendor/github.com/go-pg/pg/v10/CHANGELOG.md new file mode 100644 index 000000000..6a8288033 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/CHANGELOG.md @@ -0,0 +1,204 @@ +# Changelog + +> :heart: +> [**Uptrace.dev** - All-in-one tool to optimize performance and monitor errors & logs](https://uptrace.dev) + +**Important**. Please check [Bun](https://bun.uptrace.dev/guide/pg-migration.html) - the next +iteration of go-pg built on top of `sql.DB`. + +## v10.10 + +- Removed extra OpenTelemetry spans from go-pg core. Now go-pg instrumentation only adds a single + span with a SQL query (instead of 4 spans). There are multiple reasons behind this decision: + + - Traces become smaller and less noisy. + - [Bun](https://github.com/uptrace/bun) can't support the same level of instrumentation and it is + nice to keep the projects synced. + - It may be costly to process those 3 extra spans for each query. + + Eventually we hope to replace the information that we no longer collect with OpenTelemetry + Metrics. + +## v10.9 + +- To make updating easier, extra modules now have the same version as go-pg does. That means that + you need to update your imports: + +``` +github.com/go-pg/pg/extra/pgdebug -> github.com/go-pg/pg/extra/pgdebug/v10 +github.com/go-pg/pg/extra/pgotel -> github.com/go-pg/pg/extra/pgotel/v10 +github.com/go-pg/pg/extra/pgsegment -> github.com/go-pg/pg/extra/pgsegment/v10 +``` + +- Exported `pg.Query` which should be used instead of `orm.Query`. +- Added `pg.DBI` which is a DB interface implemented by `pg.DB` and `pg.Tx`. + +## v10 + +### Resources + +- Docs at https://pg.uptrace.dev/ powered by [mkdocs](https://github.com/squidfunk/mkdocs-material). +- [RealWorld example application](https://github.com/uptrace/go-realworld-example-app). +- [Discord](https://discord.gg/rWtp5Aj). + +### Features + +- `Select`, `Insert`, and `Update` support `map[string]interface{}`. `Select` also supports + `[]map[string]interface{}`. + +```go +var mm []map[string]interface{} +err := db.Model((*User)(nil)).Limit(10).Select(&mm) +``` + +- Columns that start with `_` are ignored if there is no destination field. +- Optional [faster json encoding](https://github.com/go-pg/pgext). +- Added [pgext.OpenTelemetryHook](https://github.com/go-pg/pgext) that adds + [OpenTelemetry instrumentation](https://pg.uptrace.dev/tracing/). +- Added [pgext.DebugHook](https://github.com/go-pg/pgext) that logs failed queries. +- Added `db.Ping` to check if database is healthy. + +### Changes + +- ORM relations are reworked and now require `rel` tag option (but existing code will continue + working until v11). Supported options: + - `pg:"rel:has-one"` - has one relation. + - `pg:"rel:belongs-to"` - belongs to relation. + - `pg:"rel:has-many"` - has many relation. + - `pg:"many2many:book_genres"` - many to many relation. +- Changed `pg.QueryHook` to return temp byte slice to reduce memory usage. +- `,msgpack` struct tag marshals data in MessagePack format using + https://github.com/vmihailenco/msgpack +- Empty slices and maps are no longer marshaled as `NULL`. Nil slices and maps are still marshaled + as `NULL`. +- Changed `UpdateNotZero` to include zero fields with `pg:",use_zero"` tag. Consider using + `Model(*map[string]interface{})` for inserts and updates. +- `joinFK` is deprecated in favor of `join_fk`. +- `partitionBy` is deprecated in favor of `partition_by`. +- ORM shortcuts are removed: + - `db.Select(model)` becomes `db.Model(model).WherePK().Select()`. + - `db.Insert(model)` becomes `db.Model(model).Insert()`. + - `db.Update(model)` becomes `db.Model(model).WherePK().Update()`. + - `db.Delete(model)` becomes `db.Model(model).WherePK().Delete()`. +- Deprecated types and funcs are removed. +- `WhereStruct` is removed. + +## v9 + +- `pg:",notnull"` is reworked. Now it means SQL `NOT NULL` constraint and nothing more. +- Added `pg:",use_zero"` to prevent go-pg from converting Go zero values to SQL `NULL`. +- UpdateNotNull is renamed to UpdateNotZero. As previously it omits zero Go values, but it does not + take in account if field is nullable or not. +- ORM supports DistinctOn. +- Hooks accept and return context. +- Client respects Context.Deadline when setting net.Conn deadline. +- Client listens on Context.Done while waiting for a connection from the pool and returns an error + when context is cancelled. +- `Query.Column` does not accept relation name any more. Use `Query.Relation` instead which returns + an error if relation does not exist. +- urlvalues package is removed in favor of https://github.com/go-pg/urlstruct. You can also use + struct based filters via `Query.WhereStruct`. +- `NewModel` and `AddModel` methods of `HooklessModel` interface were renamed to `NextColumnScanner` + and `AddColumnScanner` respectively. +- `types.F` and `pg.F` are deprecated in favor of `pg.Ident`. +- `types.Q` is deprecated in favor of `pg.Safe`. +- `pg.Q` is deprecated in favor of `pg.SafeQuery`. +- `TableName` field is deprecated in favor of `tableName`. +- Always use `pg:"..."` struct field tag instead of `sql:"..."`. +- `pg:",override"` is deprecated in favor of `pg:",inherit"`. + +## v8 + +- Added `QueryContext`, `ExecContext`, and `ModelContext` which accept `context.Context`. Queries + are cancelled when context is cancelled. +- Model hooks are changed to accept `context.Context` as first argument. +- Fixed array and hstore parsers to handle multiple single quotes (#1235). + +## v7 + +- DB.OnQueryProcessed is replaced with DB.AddQueryHook. +- Added WhereStruct. +- orm.Pager is moved to urlvalues.Pager. Pager.FromURLValues returns an error if page or limit + params can't be parsed. + +## v6.16 + +- Read buffer is re-worked. Default read buffer is increased to 65kb. + +## v6.15 + +- Added Options.MinIdleConns. +- Options.MaxAge renamed to Options.MaxConnAge. +- PoolStats.FreeConns is renamed to PoolStats.IdleConns. +- New hook BeforeSelectQuery. +- `,override` is renamed to `,inherit`. +- Dialer.KeepAlive is set to 5 minutes by default. +- Added support "scram-sha-256" authentication. + +## v6.14 + +- Fields ignored with `sql:"-"` tag are no longer considered by ORM relation detector. + +## v6.12 + +- `Insert`, `Update`, and `Delete` can return `pg.ErrNoRows` and `pg.ErrMultiRows` when `Returning` + is used and model expects single row. + +## v6.11 + +- `db.Model(&strct).Update()` and `db.Model(&strct).Delete()` no longer adds WHERE condition based + on primary key when there are no conditions. Instead you should use `db.Update(&strct)` or + `db.Model(&strct).WherePK().Update()`. + +## v6.10 + +- `?Columns` is renamed to `?TableColumns`. `?Columns` is changed to produce column names without + table alias. + +## v6.9 + +- `pg:"fk"` tag now accepts SQL names instead of Go names, e.g. `pg:"fk:ParentId"` becomes + `pg:"fk:parent_id"`. Old code should continue working in most cases, but it is strongly advised to + start using new convention. +- uint and uint64 SQL type is changed from decimal to bigint according to the lesser of two evils + principle. Use `sql:"type:decimal"` to get old behavior. + +## v6.8 + +- `CreateTable` no longer adds ON DELETE hook by default. To get old behavior users should add + `sql:"on_delete:CASCADE"` tag on foreign key field. + +## v6 + +- `types.Result` is renamed to `orm.Result`. +- Added `OnQueryProcessed` event that can be used to log / report queries timing. Query logger is + removed. +- `orm.URLValues` is renamed to `orm.URLFilters`. It no longer adds ORDER clause. +- `orm.Pager` is renamed to `orm.Pagination`. +- Support for net.IP and net.IPNet. +- Support for context.Context. +- Bulk/multi updates. +- Query.WhereGroup for enclosing conditions in parentheses. + +## v5 + +- All fields are nullable by default. `,null` tag is replaced with `,notnull`. +- `Result.Affected` renamed to `Result.RowsAffected`. +- Added `Result.RowsReturned`. +- `Create` renamed to `Insert`, `BeforeCreate` to `BeforeInsert`, `AfterCreate` to `AfterInsert`. +- Indexed placeholders support, e.g. `db.Exec("SELECT ?0 + ?0", 1)`. +- Named placeholders are evaluated when query is executed. +- Added Update and Delete hooks. +- Order reworked to quote column names. OrderExpr added to bypass Order quoting restrictions. +- Group reworked to quote column names. GroupExpr added to bypass Group quoting restrictions. + +## v4 + +- `Options.Host` and `Options.Port` merged into `Options.Addr`. +- Added `Options.MaxRetries`. Now queries are not retried by default. +- `LoadInto` renamed to `Scan`, `ColumnLoader` renamed to `ColumnScanner`, LoadColumn renamed to + ScanColumn, `NewRecord() interface{}` changed to `NewModel() ColumnScanner`, + `AppendQuery(dst []byte) []byte` changed to `AppendValue(dst []byte, quote bool) ([]byte, error)`. +- Structs, maps and slices are marshalled to JSON by default. +- Added support for scanning slices, .e.g. scanning `[]int`. +- Added object relational mapping. diff --git a/vendor/github.com/go-pg/pg/v10/LICENSE b/vendor/github.com/go-pg/pg/v10/LICENSE new file mode 100644 index 000000000..7751509b8 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2013 github.com/go-pg/pg 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. + +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/go-pg/pg/v10/Makefile b/vendor/github.com/go-pg/pg/v10/Makefile new file mode 100644 index 000000000..bacdbadae --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/Makefile @@ -0,0 +1,27 @@ +all: + TZ= go test ./... + TZ= go test ./... -short -race + TZ= go test ./... -run=NONE -bench=. -benchmem + env GOOS=linux GOARCH=386 go test ./... + go vet + golangci-lint run + +.PHONY: cleanTest +cleanTest: + docker rm -fv pg || true + +.PHONY: pre-test +pre-test: cleanTest + docker run -d --name pg -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:9.6 + sleep 10 + docker exec pg psql -U postgres -c "CREATE EXTENSION hstore" + +.PHONY: test +test: pre-test + TZ= PGSSLMODE=disable go test ./... -v + +tag: + git tag $(VERSION) + git tag extra/pgdebug/$(VERSION) + git tag extra/pgotel/$(VERSION) + git tag extra/pgsegment/$(VERSION) diff --git a/vendor/github.com/go-pg/pg/v10/README.md b/vendor/github.com/go-pg/pg/v10/README.md new file mode 100644 index 000000000..a624e0b8e --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/README.md @@ -0,0 +1,240 @@ +

+ + + +

+ +# PostgreSQL client and ORM for Golang + +[![Build Status](https://travis-ci.org/go-pg/pg.svg?branch=v10)](https://travis-ci.org/go-pg/pg) +[![PkgGoDev](https://pkg.go.dev/badge/github.com/go-pg/pg/v10)](https://pkg.go.dev/github.com/go-pg/pg/v10) +[![Documentation](https://img.shields.io/badge/pg-documentation-informational)](https://pg.uptrace.dev/) +[![Chat](https://discordapp.com/api/guilds/752070105847955518/widget.png)](https://discord.gg/rWtp5Aj) + +**Important**. Please check [Bun](https://bun.uptrace.dev/guide/pg-migration.html) - the next +iteration of go-pg built on top of `sql.DB`. + +- Join [Discord](https://discord.gg/rWtp5Aj) to ask questions. +- [Documentation](https://pg.uptrace.dev) +- [Reference](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc) +- [Examples](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#pkg-examples) +- Example projects: + - [treemux](https://github.com/uptrace/go-treemux-realworld-example-app) + - [gin](https://github.com/gogjango/gjango) + - [go-kit](https://github.com/Tsovak/rest-api-demo) + - [aah framework](https://github.com/kieusonlam/golamapi) +- [GraphQL Tutorial on YouTube](https://www.youtube.com/playlist?list=PLzQWIQOqeUSNwXcneWYJHUREAIucJ5UZn). + +## Ecosystem + +- Migrations by [vmihailenco](https://github.com/go-pg/migrations) and + [robinjoseph08](https://github.com/robinjoseph08/go-pg-migrations). +- [Genna - cli tool for generating go-pg models](https://github.com/dizzyfool/genna). +- [bigint](https://github.com/d-fal/bigint) - big.Int type for go-pg. +- [urlstruct](https://github.com/go-pg/urlstruct) to decode `url.Values` into structs. +- [Sharding](https://github.com/go-pg/sharding). +- [go-pg-monitor](https://github.com/hypnoglow/go-pg-monitor) - Prometheus metrics based on go-pg + client stats. + +## Features + +- Basic types: integers, floats, string, bool, time.Time, net.IP, net.IPNet. +- sql.NullBool, sql.NullString, sql.NullInt64, sql.NullFloat64 and + [pg.NullTime](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#NullTime). +- [sql.Scanner](http://golang.org/pkg/database/sql/#Scanner) and + [sql/driver.Valuer](http://golang.org/pkg/database/sql/driver/#Valuer) interfaces. +- Structs, maps and arrays are marshalled as JSON by default. +- PostgreSQL multidimensional Arrays using + [array tag](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB-Model-PostgresArrayStructTag) + and [Array wrapper](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-Array). +- Hstore using + [hstore tag](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB-Model-HstoreStructTag) + and [Hstore wrapper](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-Hstore). +- [Composite types](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB-Model-CompositeType). +- All struct fields are nullable by default and zero values (empty string, 0, zero time, empty map + or slice, nil ptr) are marshalled as SQL `NULL`. `pg:",notnull"` is used to add SQL `NOT NULL` + constraint and `pg:",use_zero"` to allow Go zero values. +- [Transactions](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB-Begin). +- [Prepared statements](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB-Prepare). +- [Notifications](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-Listener) using + `LISTEN` and `NOTIFY`. +- [Copying data](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB-CopyFrom) using + `COPY FROM` and `COPY TO`. +- [Timeouts](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#Options) and canceling queries using + context.Context. +- Automatic connection pooling with + [circuit breaker](https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern) support. +- Queries retry on network errors. +- Working with models using + [ORM](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model) and + [SQL](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Query). +- Scanning variables using + [ORM](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-SelectSomeColumnsIntoVars) + and [SQL](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-Scan). +- [SelectOrInsert](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-InsertSelectOrInsert) + using on-conflict. +- [INSERT ... ON CONFLICT DO UPDATE](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-InsertOnConflictDoUpdate) + using ORM. +- Bulk/batch + [inserts](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-BulkInsert), + [updates](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-BulkUpdate), and + [deletes](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-BulkDelete). +- Common table expressions using + [WITH](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-SelectWith) and + [WrapWith](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-SelectWrapWith). +- [CountEstimate](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-CountEstimate) + using `EXPLAIN` to get + [estimated number of matching rows](https://wiki.postgresql.org/wiki/Count_estimate). +- ORM supports + [has one](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-HasOne), + [belongs to](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-BelongsTo), + [has many](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-HasMany), and + [many to many](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-ManyToMany) + with composite/multi-column primary keys. +- [Soft deletes](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-SoftDelete). +- [Creating tables from structs](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-CreateTable). +- [ForEach](https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB.Model-ForEach) that calls + a function for each row returned by the query without loading all rows into the memory. + +## Installation + +go-pg supports 2 last Go versions and requires a Go version with +[modules](https://github.com/golang/go/wiki/Modules) support. So make sure to initialize a Go +module: + +```shell +go mod init github.com/my/repo +``` + +And then install go-pg (note _v10_ in the import; omitting it is a popular mistake): + +```shell +go get github.com/go-pg/pg/v10 +``` + +## Quickstart + +```go +package pg_test + +import ( + "fmt" + + "github.com/go-pg/pg/v10" + "github.com/go-pg/pg/v10/orm" +) + +type User struct { + Id int64 + Name string + Emails []string +} + +func (u User) String() string { + return fmt.Sprintf("User<%d %s %v>", u.Id, u.Name, u.Emails) +} + +type Story struct { + Id int64 + Title string + AuthorId int64 + Author *User `pg:"rel:has-one"` +} + +func (s Story) String() string { + return fmt.Sprintf("Story<%d %s %s>", s.Id, s.Title, s.Author) +} + +func ExampleDB_Model() { + db := pg.Connect(&pg.Options{ + User: "postgres", + }) + defer db.Close() + + err := createSchema(db) + if err != nil { + panic(err) + } + + user1 := &User{ + Name: "admin", + Emails: []string{"admin1@admin", "admin2@admin"}, + } + _, err = db.Model(user1).Insert() + if err != nil { + panic(err) + } + + _, err = db.Model(&User{ + Name: "root", + Emails: []string{"root1@root", "root2@root"}, + }).Insert() + if err != nil { + panic(err) + } + + story1 := &Story{ + Title: "Cool story", + AuthorId: user1.Id, + } + _, err = db.Model(story1).Insert() + if err != nil { + panic(err) + } + + // Select user by primary key. + user := &User{Id: user1.Id} + err = db.Model(user).WherePK().Select() + if err != nil { + panic(err) + } + + // Select all users. + var users []User + err = db.Model(&users).Select() + if err != nil { + panic(err) + } + + // Select story and associated author in one query. + story := new(Story) + err = db.Model(story). + Relation("Author"). + Where("story.id = ?", story1.Id). + Select() + if err != nil { + panic(err) + } + + fmt.Println(user) + fmt.Println(users) + fmt.Println(story) + // Output: User<1 admin [admin1@admin admin2@admin]> + // [User<1 admin [admin1@admin admin2@admin]> User<2 root [root1@root root2@root]>] + // Story<1 Cool story User<1 admin [admin1@admin admin2@admin]>> +} + +// createSchema creates database schema for User and Story models. +func createSchema(db *pg.DB) error { + models := []interface{}{ + (*User)(nil), + (*Story)(nil), + } + + for _, model := range models { + err := db.Model(model).CreateTable(&orm.CreateTableOptions{ + Temp: true, + }) + if err != nil { + return err + } + } + return nil +} +``` + +## See also + +- [Fast and flexible HTTP router](https://github.com/vmihailenco/treemux) +- [Golang msgpack](https://github.com/vmihailenco/msgpack) +- [Golang message task queue](https://github.com/vmihailenco/taskq) diff --git a/vendor/github.com/go-pg/pg/v10/base.go b/vendor/github.com/go-pg/pg/v10/base.go new file mode 100644 index 000000000..d13997464 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/base.go @@ -0,0 +1,618 @@ +package pg + +import ( + "context" + "io" + "time" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/orm" + "github.com/go-pg/pg/v10/types" +) + +type baseDB struct { + db orm.DB + opt *Options + pool pool.Pooler + + fmter *orm.Formatter + queryHooks []QueryHook +} + +// PoolStats contains the stats of a connection pool. +type PoolStats pool.Stats + +// PoolStats returns connection pool stats. +func (db *baseDB) PoolStats() *PoolStats { + stats := db.pool.Stats() + return (*PoolStats)(stats) +} + +func (db *baseDB) clone() *baseDB { + return &baseDB{ + db: db.db, + opt: db.opt, + pool: db.pool, + + fmter: db.fmter, + queryHooks: copyQueryHooks(db.queryHooks), + } +} + +func (db *baseDB) withPool(p pool.Pooler) *baseDB { + cp := db.clone() + cp.pool = p + return cp +} + +func (db *baseDB) WithTimeout(d time.Duration) *baseDB { + newopt := *db.opt + newopt.ReadTimeout = d + newopt.WriteTimeout = d + + cp := db.clone() + cp.opt = &newopt + return cp +} + +func (db *baseDB) WithParam(param string, value interface{}) *baseDB { + cp := db.clone() + cp.fmter = db.fmter.WithParam(param, value) + return cp +} + +// Param returns value for the param. +func (db *baseDB) Param(param string) interface{} { + return db.fmter.Param(param) +} + +func (db *baseDB) retryBackoff(retry int) time.Duration { + return internal.RetryBackoff(retry, db.opt.MinRetryBackoff, db.opt.MaxRetryBackoff) +} + +func (db *baseDB) getConn(ctx context.Context) (*pool.Conn, error) { + cn, err := db.pool.Get(ctx) + if err != nil { + return nil, err + } + + if cn.Inited { + return cn, nil + } + + if err := db.initConn(ctx, cn); err != nil { + db.pool.Remove(ctx, cn, err) + // It is safe to reset StickyConnPool if conn can't be initialized. + if p, ok := db.pool.(*pool.StickyConnPool); ok { + _ = p.Reset(ctx) + } + if err := internal.Unwrap(err); err != nil { + return nil, err + } + return nil, err + } + + return cn, nil +} + +func (db *baseDB) initConn(ctx context.Context, cn *pool.Conn) error { + if cn.Inited { + return nil + } + cn.Inited = true + + if db.opt.TLSConfig != nil { + err := db.enableSSL(ctx, cn, db.opt.TLSConfig) + if err != nil { + return err + } + } + + err := db.startup(ctx, cn, db.opt.User, db.opt.Password, db.opt.Database, db.opt.ApplicationName) + if err != nil { + return err + } + + if db.opt.OnConnect != nil { + p := pool.NewSingleConnPool(db.pool, cn) + return db.opt.OnConnect(ctx, newConn(ctx, db.withPool(p))) + } + + return nil +} + +func (db *baseDB) releaseConn(ctx context.Context, cn *pool.Conn, err error) { + if isBadConn(err, false) { + db.pool.Remove(ctx, cn, err) + } else { + db.pool.Put(ctx, cn) + } +} + +func (db *baseDB) withConn( + ctx context.Context, fn func(context.Context, *pool.Conn) error, +) error { + cn, err := db.getConn(ctx) + if err != nil { + return err + } + + var fnDone chan struct{} + if ctx != nil && ctx.Done() != nil { + fnDone = make(chan struct{}) + go func() { + select { + case <-fnDone: // fn has finished, skip cancel + case <-ctx.Done(): + err := db.cancelRequest(cn.ProcessID, cn.SecretKey) + if err != nil { + internal.Logger.Printf(ctx, "cancelRequest failed: %s", err) + } + // Signal end of conn use. + fnDone <- struct{}{} + } + }() + } + + defer func() { + if fnDone == nil { + db.releaseConn(ctx, cn, err) + return + } + + select { + case <-fnDone: // wait for cancel to finish request + // Looks like the canceled connection must be always removed from the pool. + db.pool.Remove(ctx, cn, err) + case fnDone <- struct{}{}: // signal fn finish, skip cancel goroutine + db.releaseConn(ctx, cn, err) + } + }() + + err = fn(ctx, cn) + return err +} + +func (db *baseDB) shouldRetry(err error) bool { + switch err { + case io.EOF, io.ErrUnexpectedEOF: + return true + case nil, context.Canceled, context.DeadlineExceeded: + return false + } + + if pgerr, ok := err.(Error); ok { + switch pgerr.Field('C') { + case "40001", // serialization_failure + "53300", // too_many_connections + "55000": // attempted to delete invisible tuple + return true + case "57014": // statement_timeout + return db.opt.RetryStatementTimeout + default: + return false + } + } + + if _, ok := err.(timeoutError); ok { + return true + } + + return false +} + +// Close closes the database client, releasing any open resources. +// +// It is rare to Close a DB, as the DB handle is meant to be +// long-lived and shared between many goroutines. +func (db *baseDB) Close() error { + return db.pool.Close() +} + +// Exec executes a query ignoring returned rows. The params are for any +// placeholders in the query. +func (db *baseDB) Exec(query interface{}, params ...interface{}) (res Result, err error) { + return db.exec(db.db.Context(), query, params...) +} + +func (db *baseDB) ExecContext(c context.Context, query interface{}, params ...interface{}) (Result, error) { + return db.exec(c, query, params...) +} + +func (db *baseDB) exec(ctx context.Context, query interface{}, params ...interface{}) (Result, error) { + wb := pool.GetWriteBuffer() + defer pool.PutWriteBuffer(wb) + + if err := writeQueryMsg(wb, db.fmter, query, params...); err != nil { + return nil, err + } + + ctx, evt, err := db.beforeQuery(ctx, db.db, nil, query, params, wb.Query()) + if err != nil { + return nil, err + } + + var res Result + var lastErr error + for attempt := 0; attempt <= db.opt.MaxRetries; attempt++ { + if attempt > 0 { + if err := internal.Sleep(ctx, db.retryBackoff(attempt-1)); err != nil { + return nil, err + } + } + + lastErr = db.withConn(ctx, func(ctx context.Context, cn *pool.Conn) error { + res, err = db.simpleQuery(ctx, cn, wb) + return err + }) + if !db.shouldRetry(lastErr) { + break + } + } + + if err := db.afterQuery(ctx, evt, res, lastErr); err != nil { + return nil, err + } + return res, lastErr +} + +// ExecOne acts like Exec, but query must affect only one row. It +// returns ErrNoRows error when query returns zero rows or +// ErrMultiRows when query returns multiple rows. +func (db *baseDB) ExecOne(query interface{}, params ...interface{}) (Result, error) { + return db.execOne(db.db.Context(), query, params...) +} + +func (db *baseDB) ExecOneContext(ctx context.Context, query interface{}, params ...interface{}) (Result, error) { + return db.execOne(ctx, query, params...) +} + +func (db *baseDB) execOne(c context.Context, query interface{}, params ...interface{}) (Result, error) { + res, err := db.ExecContext(c, query, params...) + if err != nil { + return nil, err + } + + if err := internal.AssertOneRow(res.RowsAffected()); err != nil { + return nil, err + } + return res, nil +} + +// Query executes a query that returns rows, typically a SELECT. +// The params are for any placeholders in the query. +func (db *baseDB) Query(model, query interface{}, params ...interface{}) (res Result, err error) { + return db.query(db.db.Context(), model, query, params...) +} + +func (db *baseDB) QueryContext(c context.Context, model, query interface{}, params ...interface{}) (Result, error) { + return db.query(c, model, query, params...) +} + +func (db *baseDB) query(ctx context.Context, model, query interface{}, params ...interface{}) (Result, error) { + wb := pool.GetWriteBuffer() + defer pool.PutWriteBuffer(wb) + + if err := writeQueryMsg(wb, db.fmter, query, params...); err != nil { + return nil, err + } + + ctx, evt, err := db.beforeQuery(ctx, db.db, model, query, params, wb.Query()) + if err != nil { + return nil, err + } + + var res Result + var lastErr error + for attempt := 0; attempt <= db.opt.MaxRetries; attempt++ { + if attempt > 0 { + if err := internal.Sleep(ctx, db.retryBackoff(attempt-1)); err != nil { + return nil, err + } + } + + lastErr = db.withConn(ctx, func(ctx context.Context, cn *pool.Conn) error { + res, err = db.simpleQueryData(ctx, cn, model, wb) + return err + }) + if !db.shouldRetry(lastErr) { + break + } + } + + if err := db.afterQuery(ctx, evt, res, lastErr); err != nil { + return nil, err + } + return res, lastErr +} + +// QueryOne acts like Query, but query must return only one row. It +// returns ErrNoRows error when query returns zero rows or +// ErrMultiRows when query returns multiple rows. +func (db *baseDB) QueryOne(model, query interface{}, params ...interface{}) (Result, error) { + return db.queryOne(db.db.Context(), model, query, params...) +} + +func (db *baseDB) QueryOneContext( + ctx context.Context, model, query interface{}, params ...interface{}, +) (Result, error) { + return db.queryOne(ctx, model, query, params...) +} + +func (db *baseDB) queryOne(ctx context.Context, model, query interface{}, params ...interface{}) (Result, error) { + res, err := db.QueryContext(ctx, model, query, params...) + if err != nil { + return nil, err + } + + if err := internal.AssertOneRow(res.RowsAffected()); err != nil { + return nil, err + } + return res, nil +} + +// CopyFrom copies data from reader to a table. +func (db *baseDB) CopyFrom(r io.Reader, query interface{}, params ...interface{}) (res Result, err error) { + c := db.db.Context() + err = db.withConn(c, func(c context.Context, cn *pool.Conn) error { + res, err = db.copyFrom(c, cn, r, query, params...) + return err + }) + return res, err +} + +// TODO: don't get/put conn in the pool. +func (db *baseDB) copyFrom( + ctx context.Context, cn *pool.Conn, r io.Reader, query interface{}, params ...interface{}, +) (res Result, err error) { + var evt *QueryEvent + + wb := pool.GetWriteBuffer() + defer pool.PutWriteBuffer(wb) + + if err := writeQueryMsg(wb, db.fmter, query, params...); err != nil { + return nil, err + } + + var model interface{} + if len(params) > 0 { + model, _ = params[len(params)-1].(orm.TableModel) + } + + ctx, evt, err = db.beforeQuery(ctx, db.db, model, query, params, wb.Query()) + if err != nil { + return nil, err + } + + // Note that afterQuery uses the err. + defer func() { + if afterQueryErr := db.afterQuery(ctx, evt, res, err); afterQueryErr != nil { + err = afterQueryErr + } + }() + + err = cn.WithWriter(ctx, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + return writeQueryMsg(wb, db.fmter, query, params...) + }) + if err != nil { + return nil, err + } + + err = cn.WithReader(ctx, db.opt.ReadTimeout, readCopyInResponse) + if err != nil { + return nil, err + } + + for { + err = cn.WithWriter(ctx, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + return writeCopyData(wb, r) + }) + if err != nil { + if err == io.EOF { + break + } + return nil, err + } + } + + err = cn.WithWriter(ctx, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + writeCopyDone(wb) + return nil + }) + if err != nil { + return nil, err + } + + err = cn.WithReader(ctx, db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + res, err = readReadyForQuery(rd) + return err + }) + if err != nil { + return nil, err + } + + return res, nil +} + +// CopyTo copies data from a table to writer. +func (db *baseDB) CopyTo(w io.Writer, query interface{}, params ...interface{}) (res Result, err error) { + c := db.db.Context() + err = db.withConn(c, func(c context.Context, cn *pool.Conn) error { + res, err = db.copyTo(c, cn, w, query, params...) + return err + }) + return res, err +} + +func (db *baseDB) copyTo( + ctx context.Context, cn *pool.Conn, w io.Writer, query interface{}, params ...interface{}, +) (res Result, err error) { + var evt *QueryEvent + + wb := pool.GetWriteBuffer() + defer pool.PutWriteBuffer(wb) + + if err := writeQueryMsg(wb, db.fmter, query, params...); err != nil { + return nil, err + } + + var model interface{} + if len(params) > 0 { + model, _ = params[len(params)-1].(orm.TableModel) + } + + ctx, evt, err = db.beforeQuery(ctx, db.db, model, query, params, wb.Query()) + if err != nil { + return nil, err + } + + // Note that afterQuery uses the err. + defer func() { + if afterQueryErr := db.afterQuery(ctx, evt, res, err); afterQueryErr != nil { + err = afterQueryErr + } + }() + + err = cn.WithWriter(ctx, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + return writeQueryMsg(wb, db.fmter, query, params...) + }) + if err != nil { + return nil, err + } + + err = cn.WithReader(ctx, db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + err := readCopyOutResponse(rd) + if err != nil { + return err + } + + res, err = readCopyData(rd, w) + return err + }) + if err != nil { + return nil, err + } + + return res, nil +} + +// Ping verifies a connection to the database is still alive, +// establishing a connection if necessary. +func (db *baseDB) Ping(ctx context.Context) error { + _, err := db.ExecContext(ctx, "SELECT 1") + return err +} + +// Model returns new query for the model. +func (db *baseDB) Model(model ...interface{}) *Query { + return orm.NewQuery(db.db, model...) +} + +func (db *baseDB) ModelContext(c context.Context, model ...interface{}) *Query { + return orm.NewQueryContext(c, db.db, model...) +} + +func (db *baseDB) Formatter() orm.QueryFormatter { + return db.fmter +} + +func (db *baseDB) cancelRequest(processID, secretKey int32) error { + c := context.TODO() + + cn, err := db.pool.NewConn(c) + if err != nil { + return err + } + defer func() { + _ = db.pool.CloseConn(cn) + }() + + return cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + writeCancelRequestMsg(wb, processID, secretKey) + return nil + }) +} + +func (db *baseDB) simpleQuery( + c context.Context, cn *pool.Conn, wb *pool.WriteBuffer, +) (*result, error) { + if err := cn.WriteBuffer(c, db.opt.WriteTimeout, wb); err != nil { + return nil, err + } + + var res *result + if err := cn.WithReader(c, db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + var err error + res, err = readSimpleQuery(rd) + return err + }); err != nil { + return nil, err + } + + return res, nil +} + +func (db *baseDB) simpleQueryData( + c context.Context, cn *pool.Conn, model interface{}, wb *pool.WriteBuffer, +) (*result, error) { + if err := cn.WriteBuffer(c, db.opt.WriteTimeout, wb); err != nil { + return nil, err + } + + var res *result + if err := cn.WithReader(c, db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + var err error + res, err = readSimpleQueryData(c, rd, model) + return err + }); err != nil { + return nil, err + } + + return res, nil +} + +// Prepare creates a prepared statement for later queries or +// executions. Multiple queries or executions may be run concurrently +// from the returned statement. +func (db *baseDB) Prepare(q string) (*Stmt, error) { + return prepareStmt(db.withPool(pool.NewStickyConnPool(db.pool)), q) +} + +func (db *baseDB) prepare( + c context.Context, cn *pool.Conn, q string, +) (string, []types.ColumnInfo, error) { + name := cn.NextID() + err := cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + writeParseDescribeSyncMsg(wb, name, q) + return nil + }) + if err != nil { + return "", nil, err + } + + var columns []types.ColumnInfo + err = cn.WithReader(c, db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + columns, err = readParseDescribeSync(rd) + return err + }) + if err != nil { + return "", nil, err + } + + return name, columns, nil +} + +func (db *baseDB) closeStmt(c context.Context, cn *pool.Conn, name string) error { + err := cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + writeCloseMsg(wb, name) + writeFlushMsg(wb) + return nil + }) + if err != nil { + return err + } + + err = cn.WithReader(c, db.opt.ReadTimeout, readCloseCompleteMsg) + return err +} diff --git a/vendor/github.com/go-pg/pg/v10/db.go b/vendor/github.com/go-pg/pg/v10/db.go new file mode 100644 index 000000000..27664783b --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/db.go @@ -0,0 +1,142 @@ +package pg + +import ( + "context" + "fmt" + "time" + + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/orm" +) + +// Connect connects to a database using provided options. +// +// The returned DB is safe for concurrent use by multiple goroutines +// and maintains its own connection pool. +func Connect(opt *Options) *DB { + opt.init() + return newDB( + context.Background(), + &baseDB{ + opt: opt, + pool: newConnPool(opt), + fmter: orm.NewFormatter(), + }, + ) +} + +func newDB(ctx context.Context, baseDB *baseDB) *DB { + db := &DB{ + baseDB: baseDB.clone(), + ctx: ctx, + } + db.baseDB.db = db + return db +} + +// DB is a database handle representing a pool of zero or more +// underlying connections. It's safe for concurrent use by multiple +// goroutines. +type DB struct { + *baseDB + ctx context.Context +} + +var _ orm.DB = (*DB)(nil) + +func (db *DB) String() string { + return fmt.Sprintf("DB", db.opt.Addr, db.fmter) +} + +// Options returns read-only Options that were used to connect to the DB. +func (db *DB) Options() *Options { + return db.opt +} + +// Context returns DB context. +func (db *DB) Context() context.Context { + return db.ctx +} + +// WithContext returns a copy of the DB that uses the ctx. +func (db *DB) WithContext(ctx context.Context) *DB { + return newDB(ctx, db.baseDB) +} + +// WithTimeout returns a copy of the DB that uses d as the read/write timeout. +func (db *DB) WithTimeout(d time.Duration) *DB { + return newDB(db.ctx, db.baseDB.WithTimeout(d)) +} + +// WithParam returns a copy of the DB that replaces the param with the value +// in queries. +func (db *DB) WithParam(param string, value interface{}) *DB { + return newDB(db.ctx, db.baseDB.WithParam(param, value)) +} + +// Listen listens for notifications sent with NOTIFY command. +func (db *DB) Listen(ctx context.Context, channels ...string) *Listener { + ln := &Listener{ + db: db, + } + ln.init() + _ = ln.Listen(ctx, channels...) + return ln +} + +// Conn represents a single database connection rather than a pool of database +// connections. Prefer running queries from DB unless there is a specific +// need for a continuous single database connection. +// +// A Conn must call Close to return the connection to the database pool +// and may do so concurrently with a running query. +// +// After a call to Close, all operations on the connection fail. +type Conn struct { + *baseDB + ctx context.Context +} + +var _ orm.DB = (*Conn)(nil) + +// Conn returns a single connection from the connection pool. +// Queries run on the same Conn will be run in the same database session. +// +// Every Conn must be returned to the database pool after use by +// calling Conn.Close. +func (db *DB) Conn() *Conn { + return newConn(db.ctx, db.baseDB.withPool(pool.NewStickyConnPool(db.pool))) +} + +func newConn(ctx context.Context, baseDB *baseDB) *Conn { + conn := &Conn{ + baseDB: baseDB, + ctx: ctx, + } + conn.baseDB.db = conn + return conn +} + +// Context returns DB context. +func (db *Conn) Context() context.Context { + if db.ctx != nil { + return db.ctx + } + return context.Background() +} + +// WithContext returns a copy of the DB that uses the ctx. +func (db *Conn) WithContext(ctx context.Context) *Conn { + return newConn(ctx, db.baseDB) +} + +// WithTimeout returns a copy of the DB that uses d as the read/write timeout. +func (db *Conn) WithTimeout(d time.Duration) *Conn { + return newConn(db.ctx, db.baseDB.WithTimeout(d)) +} + +// WithParam returns a copy of the DB that replaces the param with the value +// in queries. +func (db *Conn) WithParam(param string, value interface{}) *Conn { + return newConn(db.ctx, db.baseDB.WithParam(param, value)) +} diff --git a/vendor/github.com/go-pg/pg/v10/doc.go b/vendor/github.com/go-pg/pg/v10/doc.go new file mode 100644 index 000000000..9a077a8c1 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/doc.go @@ -0,0 +1,4 @@ +/* +pg provides PostgreSQL client. +*/ +package pg diff --git a/vendor/github.com/go-pg/pg/v10/error.go b/vendor/github.com/go-pg/pg/v10/error.go new file mode 100644 index 000000000..d8113a010 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/error.go @@ -0,0 +1,69 @@ +package pg + +import ( + "net" + + "github.com/go-pg/pg/v10/internal" +) + +// ErrNoRows is returned by QueryOne and ExecOne when query returned zero rows +// but at least one row is expected. +var ErrNoRows = internal.ErrNoRows + +// ErrMultiRows is returned by QueryOne and ExecOne when query returned +// multiple rows but exactly one row is expected. +var ErrMultiRows = internal.ErrMultiRows + +// Error represents an error returned by PostgreSQL server +// using PostgreSQL ErrorResponse protocol. +// +// https://www.postgresql.org/docs/10/static/protocol-message-formats.html +type Error interface { + error + + // Field returns a string value associated with an error field. + // + // https://www.postgresql.org/docs/10/static/protocol-error-fields.html + Field(field byte) string + + // IntegrityViolation reports whether an error is a part of + // Integrity Constraint Violation class of errors. + // + // https://www.postgresql.org/docs/10/static/errcodes-appendix.html + IntegrityViolation() bool +} + +var _ Error = (*internal.PGError)(nil) + +func isBadConn(err error, allowTimeout bool) bool { + if err == nil { + return false + } + if _, ok := err.(internal.Error); ok { + return false + } + if pgErr, ok := err.(Error); ok { + switch pgErr.Field('V') { + case "FATAL", "PANIC": + return true + } + switch pgErr.Field('C') { + case "25P02", // current transaction is aborted + "57014": // canceling statement due to user request + return true + } + return false + } + if allowTimeout { + if netErr, ok := err.(net.Error); ok && netErr.Timeout() { + return !netErr.Temporary() + } + } + return true +} + +//------------------------------------------------------------------------------ + +type timeoutError interface { + Timeout() bool +} diff --git a/vendor/github.com/go-pg/pg/v10/go.mod b/vendor/github.com/go-pg/pg/v10/go.mod new file mode 100644 index 000000000..aa867f309 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/go.mod @@ -0,0 +1,24 @@ +module github.com/go-pg/pg/v10 + +go 1.11 + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/go-pg/zerochecker v0.2.0 + github.com/golang/protobuf v1.4.3 // indirect + github.com/google/go-cmp v0.5.5 // indirect + github.com/jinzhu/inflection v1.0.0 + github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect + github.com/onsi/ginkgo v1.14.2 + github.com/onsi/gomega v1.10.3 + github.com/stretchr/testify v1.7.0 + github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc + github.com/vmihailenco/bufpool v0.1.11 + github.com/vmihailenco/msgpack/v5 v5.3.1 + github.com/vmihailenco/tagparser v0.1.2 + golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect + golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7 // indirect + google.golang.org/protobuf v1.25.0 // indirect + gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f + mellium.im/sasl v0.2.1 +) diff --git a/vendor/github.com/go-pg/pg/v10/go.sum b/vendor/github.com/go-pg/pg/v10/go.sum new file mode 100644 index 000000000..7d2d87c0b --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/go.sum @@ -0,0 +1,154 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/go-pg/zerochecker v0.2.0 h1:pp7f72c3DobMWOb2ErtZsnrPaSvHd2W4o9//8HtF4mU= +github.com/go-pg/zerochecker v0.2.0/go.mod h1:NJZ4wKL0NmTtz0GKCoJ8kym6Xn/EQzXRl2OnAe7MmDo= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M= +github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= +github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= +github.com/vmihailenco/bufpool v0.1.11 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94= +github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ= +github.com/vmihailenco/msgpack/v5 v5.3.1 h1:0i85a4dsZh8mC//wmyyTEzidDLPQfQAxZIOLtafGbFY= +github.com/vmihailenco/msgpack/v5 v5.3.1/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= +github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7 h1:iGu644GcxtEcrInvDsQRCwJjtCIOlT2V7IRt6ah2Whw= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +mellium.im/sasl v0.2.1 h1:nspKSRg7/SyO0cRGY71OkfHab8tf9kCts6a6oTDut0w= +mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ= diff --git a/vendor/github.com/go-pg/pg/v10/hook.go b/vendor/github.com/go-pg/pg/v10/hook.go new file mode 100644 index 000000000..a95dc20bc --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/hook.go @@ -0,0 +1,139 @@ +package pg + +import ( + "context" + "fmt" + "time" + + "github.com/go-pg/pg/v10/orm" +) + +type ( + BeforeScanHook = orm.BeforeScanHook + AfterScanHook = orm.AfterScanHook + AfterSelectHook = orm.AfterSelectHook + BeforeInsertHook = orm.BeforeInsertHook + AfterInsertHook = orm.AfterInsertHook + BeforeUpdateHook = orm.BeforeUpdateHook + AfterUpdateHook = orm.AfterUpdateHook + BeforeDeleteHook = orm.BeforeDeleteHook + AfterDeleteHook = orm.AfterDeleteHook +) + +//------------------------------------------------------------------------------ + +type dummyFormatter struct{} + +func (dummyFormatter) FormatQuery(b []byte, query string, params ...interface{}) []byte { + return append(b, query...) +} + +// QueryEvent ... +type QueryEvent struct { + StartTime time.Time + DB orm.DB + Model interface{} + Query interface{} + Params []interface{} + fmtedQuery []byte + Result Result + Err error + + Stash map[interface{}]interface{} +} + +// QueryHook ... +type QueryHook interface { + BeforeQuery(context.Context, *QueryEvent) (context.Context, error) + AfterQuery(context.Context, *QueryEvent) error +} + +// UnformattedQuery returns the unformatted query of a query event. +// The query is only valid until the query Result is returned to the user. +func (e *QueryEvent) UnformattedQuery() ([]byte, error) { + return queryString(e.Query) +} + +func queryString(query interface{}) ([]byte, error) { + switch query := query.(type) { + case orm.TemplateAppender: + return query.AppendTemplate(nil) + case string: + return dummyFormatter{}.FormatQuery(nil, query), nil + default: + return nil, fmt.Errorf("pg: can't append %T", query) + } +} + +// FormattedQuery returns the formatted query of a query event. +// The query is only valid until the query Result is returned to the user. +func (e *QueryEvent) FormattedQuery() ([]byte, error) { + return e.fmtedQuery, nil +} + +// AddQueryHook adds a hook into query processing. +func (db *baseDB) AddQueryHook(hook QueryHook) { + db.queryHooks = append(db.queryHooks, hook) +} + +func (db *baseDB) beforeQuery( + ctx context.Context, + ormDB orm.DB, + model, query interface{}, + params []interface{}, + fmtedQuery []byte, +) (context.Context, *QueryEvent, error) { + if len(db.queryHooks) == 0 { + return ctx, nil, nil + } + + event := &QueryEvent{ + StartTime: time.Now(), + DB: ormDB, + Model: model, + Query: query, + Params: params, + fmtedQuery: fmtedQuery, + } + + for i, hook := range db.queryHooks { + var err error + ctx, err = hook.BeforeQuery(ctx, event) + if err != nil { + if err := db.afterQueryFromIndex(ctx, event, i); err != nil { + return ctx, nil, err + } + return ctx, nil, err + } + } + + return ctx, event, nil +} + +func (db *baseDB) afterQuery( + ctx context.Context, + event *QueryEvent, + res Result, + err error, +) error { + if event == nil { + return nil + } + + event.Err = err + event.Result = res + return db.afterQueryFromIndex(ctx, event, len(db.queryHooks)-1) +} + +func (db *baseDB) afterQueryFromIndex(ctx context.Context, event *QueryEvent, hookIndex int) error { + for ; hookIndex >= 0; hookIndex-- { + if err := db.queryHooks[hookIndex].AfterQuery(ctx, event); err != nil { + return err + } + } + return nil +} + +func copyQueryHooks(s []QueryHook) []QueryHook { + return s[:len(s):len(s)] +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/context.go b/vendor/github.com/go-pg/pg/v10/internal/context.go new file mode 100644 index 000000000..06d20c152 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/context.go @@ -0,0 +1,26 @@ +package internal + +import ( + "context" + "time" +) + +type UndoneContext struct { + context.Context +} + +func UndoContext(ctx context.Context) UndoneContext { + return UndoneContext{Context: ctx} +} + +func (UndoneContext) Deadline() (deadline time.Time, ok bool) { + return time.Time{}, false +} + +func (UndoneContext) Done() <-chan struct{} { + return nil +} + +func (UndoneContext) Err() error { + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/error.go b/vendor/github.com/go-pg/pg/v10/internal/error.go new file mode 100644 index 000000000..ae6524aeb --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/error.go @@ -0,0 +1,61 @@ +package internal + +import ( + "fmt" +) + +var ( + ErrNoRows = Errorf("pg: no rows in result set") + ErrMultiRows = Errorf("pg: multiple rows in result set") +) + +type Error struct { + s string +} + +func Errorf(s string, args ...interface{}) Error { + return Error{s: fmt.Sprintf(s, args...)} +} + +func (err Error) Error() string { + return err.s +} + +type PGError struct { + m map[byte]string +} + +func NewPGError(m map[byte]string) PGError { + return PGError{ + m: m, + } +} + +func (err PGError) Field(k byte) string { + return err.m[k] +} + +func (err PGError) IntegrityViolation() bool { + switch err.Field('C') { + case "23000", "23001", "23502", "23503", "23505", "23514", "23P01": + return true + default: + return false + } +} + +func (err PGError) Error() string { + return fmt.Sprintf("%s #%s %s", + err.Field('S'), err.Field('C'), err.Field('M')) +} + +func AssertOneRow(l int) error { + switch { + case l == 0: + return ErrNoRows + case l > 1: + return ErrMultiRows + default: + return nil + } +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/internal.go b/vendor/github.com/go-pg/pg/v10/internal/internal.go new file mode 100644 index 000000000..bda5028c6 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/internal.go @@ -0,0 +1,27 @@ +/* +internal is a private internal package. +*/ +package internal + +import ( + "math/rand" + "time" +) + +func RetryBackoff(retry int, minBackoff, maxBackoff time.Duration) time.Duration { + if retry < 0 { + panic("not reached") + } + if minBackoff == 0 { + return 0 + } + + d := minBackoff << uint(retry) + d = minBackoff + time.Duration(rand.Int63n(int64(d))) + + if d > maxBackoff || d < minBackoff { + d = maxBackoff + } + + return d +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/log.go b/vendor/github.com/go-pg/pg/v10/internal/log.go new file mode 100644 index 000000000..7ea547b10 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/log.go @@ -0,0 +1,28 @@ +package internal + +import ( + "context" + "fmt" + "log" + "os" +) + +var Warn = log.New(os.Stderr, "WARN: pg: ", log.LstdFlags) + +var Deprecated = log.New(os.Stderr, "DEPRECATED: pg: ", log.LstdFlags) + +type Logging interface { + Printf(ctx context.Context, format string, v ...interface{}) +} + +type logger struct { + log *log.Logger +} + +func (l *logger) Printf(ctx context.Context, format string, v ...interface{}) { + _ = l.log.Output(2, fmt.Sprintf(format, v...)) +} + +var Logger Logging = &logger{ + log: log.New(os.Stderr, "pg: ", log.LstdFlags|log.Lshortfile), +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/parser/parser.go b/vendor/github.com/go-pg/pg/v10/internal/parser/parser.go new file mode 100644 index 000000000..f2db676c9 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/parser/parser.go @@ -0,0 +1,141 @@ +package parser + +import ( + "bytes" + "strconv" + + "github.com/go-pg/pg/v10/internal" +) + +type Parser struct { + b []byte + i int +} + +func New(b []byte) *Parser { + return &Parser{ + b: b, + } +} + +func NewString(s string) *Parser { + return New(internal.StringToBytes(s)) +} + +func (p *Parser) Valid() bool { + return p.i < len(p.b) +} + +func (p *Parser) Bytes() []byte { + return p.b[p.i:] +} + +func (p *Parser) Read() byte { + if p.Valid() { + c := p.b[p.i] + p.Advance() + return c + } + return 0 +} + +func (p *Parser) Peek() byte { + if p.Valid() { + return p.b[p.i] + } + return 0 +} + +func (p *Parser) Advance() { + p.i++ +} + +func (p *Parser) Skip(skip byte) bool { + if p.Peek() == skip { + p.Advance() + return true + } + return false +} + +func (p *Parser) SkipBytes(skip []byte) bool { + if len(skip) > len(p.b[p.i:]) { + return false + } + if !bytes.Equal(p.b[p.i:p.i+len(skip)], skip) { + return false + } + p.i += len(skip) + return true +} + +func (p *Parser) ReadSep(sep byte) ([]byte, bool) { + ind := bytes.IndexByte(p.b[p.i:], sep) + if ind == -1 { + b := p.b[p.i:] + p.i = len(p.b) + return b, false + } + + b := p.b[p.i : p.i+ind] + p.i += ind + 1 + return b, true +} + +func (p *Parser) ReadIdentifier() (string, bool) { + if p.i < len(p.b) && p.b[p.i] == '(' { + s := p.i + 1 + if ind := bytes.IndexByte(p.b[s:], ')'); ind != -1 { + b := p.b[s : s+ind] + p.i = s + ind + 1 + return internal.BytesToString(b), false + } + } + + ind := len(p.b) - p.i + var alpha bool + for i, c := range p.b[p.i:] { + if isNum(c) { + continue + } + if isAlpha(c) || (i > 0 && alpha && c == '_') { + alpha = true + continue + } + ind = i + break + } + if ind == 0 { + return "", false + } + b := p.b[p.i : p.i+ind] + p.i += ind + return internal.BytesToString(b), !alpha +} + +func (p *Parser) ReadNumber() int { + ind := len(p.b) - p.i + for i, c := range p.b[p.i:] { + if !isNum(c) { + ind = i + break + } + } + if ind == 0 { + return 0 + } + n, err := strconv.Atoi(string(p.b[p.i : p.i+ind])) + if err != nil { + panic(err) + } + p.i += ind + return n +} + +func isNum(c byte) bool { + return c >= '0' && c <= '9' +} + +func isAlpha(c byte) bool { + return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/parser/streaming_parser.go b/vendor/github.com/go-pg/pg/v10/internal/parser/streaming_parser.go new file mode 100644 index 000000000..723c12b16 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/parser/streaming_parser.go @@ -0,0 +1,65 @@ +package parser + +import ( + "fmt" + + "github.com/go-pg/pg/v10/internal/pool" +) + +type StreamingParser struct { + pool.Reader +} + +func NewStreamingParser(rd pool.Reader) StreamingParser { + return StreamingParser{ + Reader: rd, + } +} + +func (p StreamingParser) SkipByte(skip byte) error { + c, err := p.ReadByte() + if err != nil { + return err + } + if c == skip { + return nil + } + _ = p.UnreadByte() + return fmt.Errorf("got %q, wanted %q", c, skip) +} + +func (p StreamingParser) ReadSubstring(b []byte) ([]byte, error) { + c, err := p.ReadByte() + if err != nil { + return b, err + } + + for { + if c == '"' { + return b, nil + } + + next, err := p.ReadByte() + if err != nil { + return b, err + } + + if c == '\\' { + switch next { + case '\\', '"': + b = append(b, next) + c, err = p.ReadByte() + if err != nil { + return nil, err + } + default: + b = append(b, '\\') + c = next + } + continue + } + + b = append(b, c) + c = next + } +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/conn.go b/vendor/github.com/go-pg/pg/v10/internal/pool/conn.go new file mode 100644 index 000000000..91045245b --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/pool/conn.go @@ -0,0 +1,158 @@ +package pool + +import ( + "context" + "net" + "strconv" + "sync/atomic" + "time" +) + +var noDeadline = time.Time{} + +type Conn struct { + netConn net.Conn + rd *ReaderContext + + ProcessID int32 + SecretKey int32 + lastID int64 + + createdAt time.Time + usedAt uint32 // atomic + pooled bool + Inited bool +} + +func NewConn(netConn net.Conn) *Conn { + cn := &Conn{ + createdAt: time.Now(), + } + cn.SetNetConn(netConn) + cn.SetUsedAt(time.Now()) + return cn +} + +func (cn *Conn) UsedAt() time.Time { + unix := atomic.LoadUint32(&cn.usedAt) + return time.Unix(int64(unix), 0) +} + +func (cn *Conn) SetUsedAt(tm time.Time) { + atomic.StoreUint32(&cn.usedAt, uint32(tm.Unix())) +} + +func (cn *Conn) RemoteAddr() net.Addr { + return cn.netConn.RemoteAddr() +} + +func (cn *Conn) SetNetConn(netConn net.Conn) { + cn.netConn = netConn + if cn.rd != nil { + cn.rd.Reset(netConn) + } +} + +func (cn *Conn) LockReader() { + if cn.rd != nil { + panic("not reached") + } + cn.rd = NewReaderContext() + cn.rd.Reset(cn.netConn) +} + +func (cn *Conn) NetConn() net.Conn { + return cn.netConn +} + +func (cn *Conn) NextID() string { + cn.lastID++ + return strconv.FormatInt(cn.lastID, 10) +} + +func (cn *Conn) WithReader( + ctx context.Context, timeout time.Duration, fn func(rd *ReaderContext) error, +) error { + if err := cn.netConn.SetReadDeadline(cn.deadline(ctx, timeout)); err != nil { + return err + } + + rd := cn.rd + if rd == nil { + rd = GetReaderContext() + defer PutReaderContext(rd) + + rd.Reset(cn.netConn) + } + + rd.bytesRead = 0 + + if err := fn(rd); err != nil { + return err + } + + return nil +} + +func (cn *Conn) WithWriter( + ctx context.Context, timeout time.Duration, fn func(wb *WriteBuffer) error, +) error { + wb := GetWriteBuffer() + defer PutWriteBuffer(wb) + + if err := fn(wb); err != nil { + return err + } + + return cn.writeBuffer(ctx, timeout, wb) +} + +func (cn *Conn) WriteBuffer(ctx context.Context, timeout time.Duration, wb *WriteBuffer) error { + return cn.writeBuffer(ctx, timeout, wb) +} + +func (cn *Conn) writeBuffer( + ctx context.Context, + timeout time.Duration, + wb *WriteBuffer, +) error { + if err := cn.netConn.SetWriteDeadline(cn.deadline(ctx, timeout)); err != nil { + return err + } + if _, err := cn.netConn.Write(wb.Bytes); err != nil { + return err + } + return nil +} + +func (cn *Conn) Close() error { + return cn.netConn.Close() +} + +func (cn *Conn) deadline(ctx context.Context, timeout time.Duration) time.Time { + tm := time.Now() + cn.SetUsedAt(tm) + + if timeout > 0 { + tm = tm.Add(timeout) + } + + if ctx != nil { + deadline, ok := ctx.Deadline() + if ok { + if timeout == 0 { + return deadline + } + if deadline.Before(tm) { + return deadline + } + return tm + } + } + + if timeout > 0 { + return tm + } + + return noDeadline +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/pool.go b/vendor/github.com/go-pg/pg/v10/internal/pool/pool.go new file mode 100644 index 000000000..59f2c72d0 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/pool/pool.go @@ -0,0 +1,506 @@ +package pool + +import ( + "context" + "errors" + "net" + "sync" + "sync/atomic" + "time" + + "github.com/go-pg/pg/v10/internal" +) + +var ( + ErrClosed = errors.New("pg: database is closed") + ErrPoolTimeout = errors.New("pg: connection pool timeout") +) + +var timers = sync.Pool{ + New: func() interface{} { + t := time.NewTimer(time.Hour) + t.Stop() + return t + }, +} + +// Stats contains pool state information and accumulated stats. +type Stats struct { + Hits uint32 // number of times free connection was found in the pool + Misses uint32 // number of times free connection was NOT found in the pool + Timeouts uint32 // number of times a wait timeout occurred + + TotalConns uint32 // number of total connections in the pool + IdleConns uint32 // number of idle connections in the pool + StaleConns uint32 // number of stale connections removed from the pool +} + +type Pooler interface { + NewConn(context.Context) (*Conn, error) + CloseConn(*Conn) error + + Get(context.Context) (*Conn, error) + Put(context.Context, *Conn) + Remove(context.Context, *Conn, error) + + Len() int + IdleLen() int + Stats() *Stats + + Close() error +} + +type Options struct { + Dialer func(context.Context) (net.Conn, error) + OnClose func(*Conn) error + + PoolSize int + MinIdleConns int + MaxConnAge time.Duration + PoolTimeout time.Duration + IdleTimeout time.Duration + IdleCheckFrequency time.Duration +} + +type ConnPool struct { + opt *Options + + dialErrorsNum uint32 // atomic + + _closed uint32 // atomic + + lastDialErrorMu sync.RWMutex + lastDialError error + + queue chan struct{} + + stats Stats + + connsMu sync.Mutex + conns []*Conn + idleConns []*Conn + + poolSize int + idleConnsLen int +} + +var _ Pooler = (*ConnPool)(nil) + +func NewConnPool(opt *Options) *ConnPool { + p := &ConnPool{ + opt: opt, + + queue: make(chan struct{}, opt.PoolSize), + conns: make([]*Conn, 0, opt.PoolSize), + idleConns: make([]*Conn, 0, opt.PoolSize), + } + + p.connsMu.Lock() + p.checkMinIdleConns() + p.connsMu.Unlock() + + if opt.IdleTimeout > 0 && opt.IdleCheckFrequency > 0 { + go p.reaper(opt.IdleCheckFrequency) + } + + return p +} + +func (p *ConnPool) checkMinIdleConns() { + if p.opt.MinIdleConns == 0 { + return + } + for p.poolSize < p.opt.PoolSize && p.idleConnsLen < p.opt.MinIdleConns { + p.poolSize++ + p.idleConnsLen++ + go func() { + err := p.addIdleConn() + if err != nil { + p.connsMu.Lock() + p.poolSize-- + p.idleConnsLen-- + p.connsMu.Unlock() + } + }() + } +} + +func (p *ConnPool) addIdleConn() error { + cn, err := p.dialConn(context.TODO(), true) + if err != nil { + return err + } + + p.connsMu.Lock() + p.conns = append(p.conns, cn) + p.idleConns = append(p.idleConns, cn) + p.connsMu.Unlock() + return nil +} + +func (p *ConnPool) NewConn(c context.Context) (*Conn, error) { + return p.newConn(c, false) +} + +func (p *ConnPool) newConn(c context.Context, pooled bool) (*Conn, error) { + cn, err := p.dialConn(c, pooled) + if err != nil { + return nil, err + } + + p.connsMu.Lock() + + p.conns = append(p.conns, cn) + if pooled { + // If pool is full remove the cn on next Put. + if p.poolSize >= p.opt.PoolSize { + cn.pooled = false + } else { + p.poolSize++ + } + } + + p.connsMu.Unlock() + return cn, nil +} + +func (p *ConnPool) dialConn(c context.Context, pooled bool) (*Conn, error) { + if p.closed() { + return nil, ErrClosed + } + + if atomic.LoadUint32(&p.dialErrorsNum) >= uint32(p.opt.PoolSize) { + return nil, p.getLastDialError() + } + + netConn, err := p.opt.Dialer(c) + if err != nil { + p.setLastDialError(err) + if atomic.AddUint32(&p.dialErrorsNum, 1) == uint32(p.opt.PoolSize) { + go p.tryDial() + } + return nil, err + } + + cn := NewConn(netConn) + cn.pooled = pooled + return cn, nil +} + +func (p *ConnPool) tryDial() { + for { + if p.closed() { + return + } + + conn, err := p.opt.Dialer(context.TODO()) + if err != nil { + p.setLastDialError(err) + time.Sleep(time.Second) + continue + } + + atomic.StoreUint32(&p.dialErrorsNum, 0) + _ = conn.Close() + return + } +} + +func (p *ConnPool) setLastDialError(err error) { + p.lastDialErrorMu.Lock() + p.lastDialError = err + p.lastDialErrorMu.Unlock() +} + +func (p *ConnPool) getLastDialError() error { + p.lastDialErrorMu.RLock() + err := p.lastDialError + p.lastDialErrorMu.RUnlock() + return err +} + +// Get returns existed connection from the pool or creates a new one. +func (p *ConnPool) Get(ctx context.Context) (*Conn, error) { + if p.closed() { + return nil, ErrClosed + } + + err := p.waitTurn(ctx) + if err != nil { + return nil, err + } + + for { + p.connsMu.Lock() + cn := p.popIdle() + p.connsMu.Unlock() + + if cn == nil { + break + } + + if p.isStaleConn(cn) { + _ = p.CloseConn(cn) + continue + } + + atomic.AddUint32(&p.stats.Hits, 1) + return cn, nil + } + + atomic.AddUint32(&p.stats.Misses, 1) + + newcn, err := p.newConn(ctx, true) + if err != nil { + p.freeTurn() + return nil, err + } + + return newcn, nil +} + +func (p *ConnPool) getTurn() { + p.queue <- struct{}{} +} + +func (p *ConnPool) waitTurn(c context.Context) error { + select { + case <-c.Done(): + return c.Err() + default: + } + + select { + case p.queue <- struct{}{}: + return nil + default: + } + + timer := timers.Get().(*time.Timer) + timer.Reset(p.opt.PoolTimeout) + + select { + case <-c.Done(): + if !timer.Stop() { + <-timer.C + } + timers.Put(timer) + return c.Err() + case p.queue <- struct{}{}: + if !timer.Stop() { + <-timer.C + } + timers.Put(timer) + return nil + case <-timer.C: + timers.Put(timer) + atomic.AddUint32(&p.stats.Timeouts, 1) + return ErrPoolTimeout + } +} + +func (p *ConnPool) freeTurn() { + <-p.queue +} + +func (p *ConnPool) popIdle() *Conn { + if len(p.idleConns) == 0 { + return nil + } + + idx := len(p.idleConns) - 1 + cn := p.idleConns[idx] + p.idleConns = p.idleConns[:idx] + p.idleConnsLen-- + p.checkMinIdleConns() + return cn +} + +func (p *ConnPool) Put(ctx context.Context, cn *Conn) { + if !cn.pooled { + p.Remove(ctx, cn, nil) + return + } + + p.connsMu.Lock() + p.idleConns = append(p.idleConns, cn) + p.idleConnsLen++ + p.connsMu.Unlock() + p.freeTurn() +} + +func (p *ConnPool) Remove(ctx context.Context, cn *Conn, reason error) { + p.removeConnWithLock(cn) + p.freeTurn() + _ = p.closeConn(cn) +} + +func (p *ConnPool) CloseConn(cn *Conn) error { + p.removeConnWithLock(cn) + return p.closeConn(cn) +} + +func (p *ConnPool) removeConnWithLock(cn *Conn) { + p.connsMu.Lock() + p.removeConn(cn) + p.connsMu.Unlock() +} + +func (p *ConnPool) removeConn(cn *Conn) { + for i, c := range p.conns { + if c == cn { + p.conns = append(p.conns[:i], p.conns[i+1:]...) + if cn.pooled { + p.poolSize-- + p.checkMinIdleConns() + } + return + } + } +} + +func (p *ConnPool) closeConn(cn *Conn) error { + if p.opt.OnClose != nil { + _ = p.opt.OnClose(cn) + } + return cn.Close() +} + +// Len returns total number of connections. +func (p *ConnPool) Len() int { + p.connsMu.Lock() + n := len(p.conns) + p.connsMu.Unlock() + return n +} + +// IdleLen returns number of idle connections. +func (p *ConnPool) IdleLen() int { + p.connsMu.Lock() + n := p.idleConnsLen + p.connsMu.Unlock() + return n +} + +func (p *ConnPool) Stats() *Stats { + idleLen := p.IdleLen() + return &Stats{ + Hits: atomic.LoadUint32(&p.stats.Hits), + Misses: atomic.LoadUint32(&p.stats.Misses), + Timeouts: atomic.LoadUint32(&p.stats.Timeouts), + + TotalConns: uint32(p.Len()), + IdleConns: uint32(idleLen), + StaleConns: atomic.LoadUint32(&p.stats.StaleConns), + } +} + +func (p *ConnPool) closed() bool { + return atomic.LoadUint32(&p._closed) == 1 +} + +func (p *ConnPool) Filter(fn func(*Conn) bool) error { + var firstErr error + p.connsMu.Lock() + for _, cn := range p.conns { + if fn(cn) { + if err := p.closeConn(cn); err != nil && firstErr == nil { + firstErr = err + } + } + } + p.connsMu.Unlock() + return firstErr +} + +func (p *ConnPool) Close() error { + if !atomic.CompareAndSwapUint32(&p._closed, 0, 1) { + return ErrClosed + } + + var firstErr error + p.connsMu.Lock() + for _, cn := range p.conns { + if err := p.closeConn(cn); err != nil && firstErr == nil { + firstErr = err + } + } + p.conns = nil + p.poolSize = 0 + p.idleConns = nil + p.idleConnsLen = 0 + p.connsMu.Unlock() + + return firstErr +} + +func (p *ConnPool) reaper(frequency time.Duration) { + ticker := time.NewTicker(frequency) + defer ticker.Stop() + + for range ticker.C { + if p.closed() { + break + } + n, err := p.ReapStaleConns() + if err != nil { + internal.Logger.Printf(context.TODO(), "ReapStaleConns failed: %s", err) + continue + } + atomic.AddUint32(&p.stats.StaleConns, uint32(n)) + } +} + +func (p *ConnPool) ReapStaleConns() (int, error) { + var n int + for { + p.getTurn() + + p.connsMu.Lock() + cn := p.reapStaleConn() + p.connsMu.Unlock() + + p.freeTurn() + + if cn != nil { + _ = p.closeConn(cn) + n++ + } else { + break + } + } + return n, nil +} + +func (p *ConnPool) reapStaleConn() *Conn { + if len(p.idleConns) == 0 { + return nil + } + + cn := p.idleConns[0] + if !p.isStaleConn(cn) { + return nil + } + + p.idleConns = append(p.idleConns[:0], p.idleConns[1:]...) + p.idleConnsLen-- + p.removeConn(cn) + + return cn +} + +func (p *ConnPool) isStaleConn(cn *Conn) bool { + if p.opt.IdleTimeout == 0 && p.opt.MaxConnAge == 0 { + return false + } + + now := time.Now() + if p.opt.IdleTimeout > 0 && now.Sub(cn.UsedAt()) >= p.opt.IdleTimeout { + return true + } + if p.opt.MaxConnAge > 0 && now.Sub(cn.createdAt) >= p.opt.MaxConnAge { + return true + } + + return false +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/pool_single.go b/vendor/github.com/go-pg/pg/v10/internal/pool/pool_single.go new file mode 100644 index 000000000..5a3fde191 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/pool/pool_single.go @@ -0,0 +1,58 @@ +package pool + +import "context" + +type SingleConnPool struct { + pool Pooler + cn *Conn + stickyErr error +} + +var _ Pooler = (*SingleConnPool)(nil) + +func NewSingleConnPool(pool Pooler, cn *Conn) *SingleConnPool { + return &SingleConnPool{ + pool: pool, + cn: cn, + } +} + +func (p *SingleConnPool) NewConn(ctx context.Context) (*Conn, error) { + return p.pool.NewConn(ctx) +} + +func (p *SingleConnPool) CloseConn(cn *Conn) error { + return p.pool.CloseConn(cn) +} + +func (p *SingleConnPool) Get(ctx context.Context) (*Conn, error) { + if p.stickyErr != nil { + return nil, p.stickyErr + } + return p.cn, nil +} + +func (p *SingleConnPool) Put(ctx context.Context, cn *Conn) {} + +func (p *SingleConnPool) Remove(ctx context.Context, cn *Conn, reason error) { + p.cn = nil + p.stickyErr = reason +} + +func (p *SingleConnPool) Close() error { + p.cn = nil + p.stickyErr = ErrClosed + return nil +} + +func (p *SingleConnPool) Len() int { + return 0 +} + +func (p *SingleConnPool) IdleLen() int { + return 0 +} + +func (p *SingleConnPool) Stats() *Stats { + return &Stats{} +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/pool_sticky.go b/vendor/github.com/go-pg/pg/v10/internal/pool/pool_sticky.go new file mode 100644 index 000000000..0415b5e87 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/pool/pool_sticky.go @@ -0,0 +1,202 @@ +package pool + +import ( + "context" + "errors" + "fmt" + "sync/atomic" +) + +const ( + stateDefault = 0 + stateInited = 1 + stateClosed = 2 +) + +type BadConnError struct { + wrapped error +} + +var _ error = (*BadConnError)(nil) + +func (e BadConnError) Error() string { + s := "pg: Conn is in a bad state" + if e.wrapped != nil { + s += ": " + e.wrapped.Error() + } + return s +} + +func (e BadConnError) Unwrap() error { + return e.wrapped +} + +//------------------------------------------------------------------------------ + +type StickyConnPool struct { + pool Pooler + shared int32 // atomic + + state uint32 // atomic + ch chan *Conn + + _badConnError atomic.Value +} + +var _ Pooler = (*StickyConnPool)(nil) + +func NewStickyConnPool(pool Pooler) *StickyConnPool { + p, ok := pool.(*StickyConnPool) + if !ok { + p = &StickyConnPool{ + pool: pool, + ch: make(chan *Conn, 1), + } + } + atomic.AddInt32(&p.shared, 1) + return p +} + +func (p *StickyConnPool) NewConn(ctx context.Context) (*Conn, error) { + return p.pool.NewConn(ctx) +} + +func (p *StickyConnPool) CloseConn(cn *Conn) error { + return p.pool.CloseConn(cn) +} + +func (p *StickyConnPool) Get(ctx context.Context) (*Conn, error) { + // In worst case this races with Close which is not a very common operation. + for i := 0; i < 1000; i++ { + switch atomic.LoadUint32(&p.state) { + case stateDefault: + cn, err := p.pool.Get(ctx) + if err != nil { + return nil, err + } + if atomic.CompareAndSwapUint32(&p.state, stateDefault, stateInited) { + return cn, nil + } + p.pool.Remove(ctx, cn, ErrClosed) + case stateInited: + if err := p.badConnError(); err != nil { + return nil, err + } + cn, ok := <-p.ch + if !ok { + return nil, ErrClosed + } + return cn, nil + case stateClosed: + return nil, ErrClosed + default: + panic("not reached") + } + } + return nil, fmt.Errorf("pg: StickyConnPool.Get: infinite loop") +} + +func (p *StickyConnPool) Put(ctx context.Context, cn *Conn) { + defer func() { + if recover() != nil { + p.freeConn(ctx, cn) + } + }() + p.ch <- cn +} + +func (p *StickyConnPool) freeConn(ctx context.Context, cn *Conn) { + if err := p.badConnError(); err != nil { + p.pool.Remove(ctx, cn, err) + } else { + p.pool.Put(ctx, cn) + } +} + +func (p *StickyConnPool) Remove(ctx context.Context, cn *Conn, reason error) { + defer func() { + if recover() != nil { + p.pool.Remove(ctx, cn, ErrClosed) + } + }() + p._badConnError.Store(BadConnError{wrapped: reason}) + p.ch <- cn +} + +func (p *StickyConnPool) Close() error { + if shared := atomic.AddInt32(&p.shared, -1); shared > 0 { + return nil + } + + for i := 0; i < 1000; i++ { + state := atomic.LoadUint32(&p.state) + if state == stateClosed { + return ErrClosed + } + if atomic.CompareAndSwapUint32(&p.state, state, stateClosed) { + close(p.ch) + cn, ok := <-p.ch + if ok { + p.freeConn(context.TODO(), cn) + } + return nil + } + } + + return errors.New("pg: StickyConnPool.Close: infinite loop") +} + +func (p *StickyConnPool) Reset(ctx context.Context) error { + if p.badConnError() == nil { + return nil + } + + select { + case cn, ok := <-p.ch: + if !ok { + return ErrClosed + } + p.pool.Remove(ctx, cn, ErrClosed) + p._badConnError.Store(BadConnError{wrapped: nil}) + default: + return errors.New("pg: StickyConnPool does not have a Conn") + } + + if !atomic.CompareAndSwapUint32(&p.state, stateInited, stateDefault) { + state := atomic.LoadUint32(&p.state) + return fmt.Errorf("pg: invalid StickyConnPool state: %d", state) + } + + return nil +} + +func (p *StickyConnPool) badConnError() error { + if v := p._badConnError.Load(); v != nil { + err := v.(BadConnError) + if err.wrapped != nil { + return err + } + } + return nil +} + +func (p *StickyConnPool) Len() int { + switch atomic.LoadUint32(&p.state) { + case stateDefault: + return 0 + case stateInited: + return 1 + case stateClosed: + return 0 + default: + panic("not reached") + } +} + +func (p *StickyConnPool) IdleLen() int { + return len(p.ch) +} + +func (p *StickyConnPool) Stats() *Stats { + return &Stats{} +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/reader.go b/vendor/github.com/go-pg/pg/v10/internal/pool/reader.go new file mode 100644 index 000000000..b5d00807d --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/pool/reader.go @@ -0,0 +1,80 @@ +package pool + +import ( + "sync" +) + +type Reader interface { + Buffered() int + + Bytes() []byte + Read([]byte) (int, error) + ReadByte() (byte, error) + UnreadByte() error + ReadSlice(byte) ([]byte, error) + Discard(int) (int, error) + + // ReadBytes(fn func(byte) bool) ([]byte, error) + // ReadN(int) ([]byte, error) + ReadFull() ([]byte, error) + ReadFullTemp() ([]byte, error) +} + +type ColumnInfo struct { + Index int16 + DataType int32 + Name string +} + +type ColumnAlloc struct { + columns []ColumnInfo +} + +func NewColumnAlloc() *ColumnAlloc { + return new(ColumnAlloc) +} + +func (c *ColumnAlloc) Reset() { + c.columns = c.columns[:0] +} + +func (c *ColumnAlloc) New(index int16, name []byte) *ColumnInfo { + c.columns = append(c.columns, ColumnInfo{ + Index: index, + Name: string(name), + }) + return &c.columns[len(c.columns)-1] +} + +func (c *ColumnAlloc) Columns() []ColumnInfo { + return c.columns +} + +type ReaderContext struct { + *BufReader + ColumnAlloc *ColumnAlloc +} + +func NewReaderContext() *ReaderContext { + const bufSize = 1 << 20 // 1mb + return &ReaderContext{ + BufReader: NewBufReader(bufSize), + ColumnAlloc: NewColumnAlloc(), + } +} + +var readerPool = sync.Pool{ + New: func() interface{} { + return NewReaderContext() + }, +} + +func GetReaderContext() *ReaderContext { + rd := readerPool.Get().(*ReaderContext) + return rd +} + +func PutReaderContext(rd *ReaderContext) { + rd.ColumnAlloc.Reset() + readerPool.Put(rd) +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/reader_buf.go b/vendor/github.com/go-pg/pg/v10/internal/pool/reader_buf.go new file mode 100644 index 000000000..3172e8b05 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/pool/reader_buf.go @@ -0,0 +1,431 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package pool + +import ( + "bufio" + "bytes" + "io" +) + +type BufReader struct { + rd io.Reader // reader provided by the client + + buf []byte + r, w int // buf read and write positions + lastByte int + bytesRead int64 + err error + + available int // bytes available for reading + brd BytesReader // reusable bytes reader +} + +func NewBufReader(bufSize int) *BufReader { + return &BufReader{ + buf: make([]byte, bufSize), + available: -1, + } +} + +func (b *BufReader) BytesReader(n int) *BytesReader { + if n == -1 { + n = 0 + } + buf := b.buf[b.r : b.r+n] + b.r += n + b.brd.Reset(buf) + return &b.brd +} + +func (b *BufReader) SetAvailable(n int) { + b.available = n +} + +func (b *BufReader) Available() int { + return b.available +} + +func (b *BufReader) changeAvailable(n int) { + if b.available != -1 { + b.available += n + } +} + +func (b *BufReader) Reset(rd io.Reader) { + b.rd = rd + b.r, b.w = 0, 0 + b.err = nil +} + +// Buffered returns the number of bytes that can be read from the current buffer. +func (b *BufReader) Buffered() int { + buffered := b.w - b.r + if b.available == -1 || buffered <= b.available { + return buffered + } + return b.available +} + +func (b *BufReader) Bytes() []byte { + if b.available == -1 { + return b.buf[b.r:b.w] + } + w := b.r + b.available + if w > b.w { + w = b.w + } + return b.buf[b.r:w] +} + +func (b *BufReader) flush() []byte { + if b.available == -1 { + buf := b.buf[b.r:b.w] + b.r = b.w + return buf + } + + w := b.r + b.available + if w > b.w { + w = b.w + } + buf := b.buf[b.r:w] + b.r = w + b.changeAvailable(-len(buf)) + return buf +} + +// fill reads a new chunk into the buffer. +func (b *BufReader) fill() { + // Slide existing data to beginning. + if b.r > 0 { + copy(b.buf, b.buf[b.r:b.w]) + b.w -= b.r + b.r = 0 + } + + if b.w >= len(b.buf) { + panic("bufio: tried to fill full buffer") + } + if b.available == 0 { + b.err = io.EOF + return + } + + // Read new data: try a limited number of times. + const maxConsecutiveEmptyReads = 100 + for i := maxConsecutiveEmptyReads; i > 0; i-- { + n, err := b.read(b.buf[b.w:]) + b.w += n + if err != nil { + b.err = err + return + } + if n > 0 { + return + } + } + b.err = io.ErrNoProgress +} + +func (b *BufReader) readErr() error { + err := b.err + b.err = nil + return err +} + +func (b *BufReader) Read(p []byte) (n int, err error) { + if len(p) == 0 { + return 0, b.readErr() + } + + if b.available != -1 { + if b.available == 0 { + return 0, io.EOF + } + if len(p) > b.available { + p = p[:b.available] + } + } + + if b.r == b.w { + if b.err != nil { + return 0, b.readErr() + } + + if len(p) >= len(b.buf) { + // Large read, empty buffer. + // Read directly into p to avoid copy. + n, err = b.read(p) + if n > 0 { + b.changeAvailable(-n) + b.lastByte = int(p[n-1]) + } + return n, err + } + + // One read. + // Do not use b.fill, which will loop. + b.r = 0 + b.w = 0 + n, b.err = b.read(b.buf) + if n == 0 { + return 0, b.readErr() + } + b.w += n + } + + // copy as much as we can + n = copy(p, b.Bytes()) + b.r += n + b.changeAvailable(-n) + b.lastByte = int(b.buf[b.r-1]) + return n, nil +} + +// ReadSlice reads until the first occurrence of delim in the input, +// returning a slice pointing at the bytes in the buffer. +// The bytes stop being valid at the next read. +// If ReadSlice encounters an error before finding a delimiter, +// it returns all the data in the buffer and the error itself (often io.EOF). +// ReadSlice fails with error ErrBufferFull if the buffer fills without a delim. +// Because the data returned from ReadSlice will be overwritten +// by the next I/O operation, most clients should use +// ReadBytes or ReadString instead. +// ReadSlice returns err != nil if and only if line does not end in delim. +func (b *BufReader) ReadSlice(delim byte) (line []byte, err error) { + for { + // Search buffer. + if i := bytes.IndexByte(b.Bytes(), delim); i >= 0 { + i++ + line = b.buf[b.r : b.r+i] + b.r += i + b.changeAvailable(-i) + break + } + + // Pending error? + if b.err != nil { + line = b.flush() + err = b.readErr() + break + } + + buffered := b.Buffered() + + // Out of available. + if b.available != -1 && buffered >= b.available { + line = b.flush() + err = io.EOF + break + } + + // Buffer full? + if buffered >= len(b.buf) { + line = b.flush() + err = bufio.ErrBufferFull + break + } + + b.fill() // buffer is not full + } + + // Handle last byte, if any. + if i := len(line) - 1; i >= 0 { + b.lastByte = int(line[i]) + } + + return line, err +} + +func (b *BufReader) ReadBytes(fn func(byte) bool) (line []byte, err error) { + for { + for i, c := range b.Bytes() { + if !fn(c) { + i-- + line = b.buf[b.r : b.r+i] //nolint + b.r += i + b.changeAvailable(-i) + break + } + } + + // Pending error? + if b.err != nil { + line = b.flush() + err = b.readErr() + break + } + + buffered := b.Buffered() + + // Out of available. + if b.available != -1 && buffered >= b.available { + line = b.flush() + err = io.EOF + break + } + + // Buffer full? + if buffered >= len(b.buf) { + line = b.flush() + err = bufio.ErrBufferFull + break + } + + b.fill() // buffer is not full + } + + // Handle last byte, if any. + if i := len(line) - 1; i >= 0 { + b.lastByte = int(line[i]) + } + + return line, err +} + +func (b *BufReader) ReadByte() (byte, error) { + if b.available == 0 { + return 0, io.EOF + } + for b.r == b.w { + if b.err != nil { + return 0, b.readErr() + } + b.fill() // buffer is empty + } + c := b.buf[b.r] + b.r++ + b.lastByte = int(c) + b.changeAvailable(-1) + return c, nil +} + +func (b *BufReader) UnreadByte() error { + if b.lastByte < 0 || b.r == 0 && b.w > 0 { + return bufio.ErrInvalidUnreadByte + } + // b.r > 0 || b.w == 0 + if b.r > 0 { + b.r-- + } else { + // b.r == 0 && b.w == 0 + b.w = 1 + } + b.buf[b.r] = byte(b.lastByte) + b.lastByte = -1 + b.changeAvailable(+1) + return nil +} + +// Discard skips the next n bytes, returning the number of bytes discarded. +// +// If Discard skips fewer than n bytes, it also returns an error. +// If 0 <= n <= b.Buffered(), Discard is guaranteed to succeed without +// reading from the underlying io.BufReader. +func (b *BufReader) Discard(n int) (discarded int, err error) { + if n < 0 { + return 0, bufio.ErrNegativeCount + } + if n == 0 { + return + } + remain := n + for { + skip := b.Buffered() + if skip == 0 { + b.fill() + skip = b.Buffered() + } + if skip > remain { + skip = remain + } + b.r += skip + b.changeAvailable(-skip) + remain -= skip + if remain == 0 { + return n, nil + } + if b.err != nil { + return n - remain, b.readErr() + } + } +} + +func (b *BufReader) ReadN(n int) (line []byte, err error) { + if n < 0 { + return nil, bufio.ErrNegativeCount + } + if n == 0 { + return + } + + nn := n + if b.available != -1 && nn > b.available { + nn = b.available + } + + for { + buffered := b.Buffered() + + if buffered >= nn { + line = b.buf[b.r : b.r+nn] + b.r += nn + b.changeAvailable(-nn) + if n > nn { + err = io.EOF + } + break + } + + // Pending error? + if b.err != nil { + line = b.flush() + err = b.readErr() + break + } + + // Buffer full? + if buffered >= len(b.buf) { + line = b.flush() + err = bufio.ErrBufferFull + break + } + + b.fill() // buffer is not full + } + + // Handle last byte, if any. + if i := len(line) - 1; i >= 0 { + b.lastByte = int(line[i]) + } + + return line, err +} + +func (b *BufReader) ReadFull() ([]byte, error) { + if b.available == -1 { + panic("not reached") + } + buf := make([]byte, b.available) + _, err := io.ReadFull(b, buf) + return buf, err +} + +func (b *BufReader) ReadFullTemp() ([]byte, error) { + if b.available == -1 { + panic("not reached") + } + if b.available <= len(b.buf) { + return b.ReadN(b.available) + } + return b.ReadFull() +} + +func (b *BufReader) read(buf []byte) (int, error) { + n, err := b.rd.Read(buf) + b.bytesRead += int64(n) + return n, err +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/reader_bytes.go b/vendor/github.com/go-pg/pg/v10/internal/pool/reader_bytes.go new file mode 100644 index 000000000..93646b1da --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/pool/reader_bytes.go @@ -0,0 +1,121 @@ +// 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 pool + +import ( + "bytes" + "errors" + "io" +) + +type BytesReader struct { + s []byte + i int +} + +func NewBytesReader(b []byte) *BytesReader { + return &BytesReader{ + s: b, + } +} + +func (r *BytesReader) Reset(b []byte) { + r.s = b + r.i = 0 +} + +func (r *BytesReader) Buffered() int { + return len(r.s) - r.i +} + +func (r *BytesReader) Bytes() []byte { + return r.s[r.i:] +} + +func (r *BytesReader) Read(b []byte) (n int, err error) { + if r.i >= len(r.s) { + return 0, io.EOF + } + n = copy(b, r.s[r.i:]) + r.i += n + return +} + +func (r *BytesReader) ReadByte() (byte, error) { + if r.i >= len(r.s) { + return 0, io.EOF + } + b := r.s[r.i] + r.i++ + return b, nil +} + +func (r *BytesReader) UnreadByte() error { + if r.i <= 0 { + return errors.New("UnreadByte: at beginning of slice") + } + r.i-- + return nil +} + +func (r *BytesReader) ReadSlice(delim byte) ([]byte, error) { + if i := bytes.IndexByte(r.s[r.i:], delim); i >= 0 { + i++ + line := r.s[r.i : r.i+i] + r.i += i + return line, nil + } + + line := r.s[r.i:] + r.i = len(r.s) + return line, io.EOF +} + +func (r *BytesReader) ReadBytes(fn func(byte) bool) ([]byte, error) { + for i, c := range r.s[r.i:] { + if !fn(c) { + i++ + line := r.s[r.i : r.i+i] + r.i += i + return line, nil + } + } + + line := r.s[r.i:] + r.i = len(r.s) + return line, io.EOF +} + +func (r *BytesReader) Discard(n int) (int, error) { + b, err := r.ReadN(n) + return len(b), err +} + +func (r *BytesReader) ReadN(n int) ([]byte, error) { + nn := n + if nn > len(r.s) { + nn = len(r.s) + } + + b := r.s[r.i : r.i+nn] + r.i += nn + if n > nn { + return b, io.EOF + } + return b, nil +} + +func (r *BytesReader) ReadFull() ([]byte, error) { + b := make([]byte, len(r.s)-r.i) + copy(b, r.s[r.i:]) + r.i = len(r.s) + return b, nil +} + +func (r *BytesReader) ReadFullTemp() ([]byte, error) { + b := r.s[r.i:] + r.i = len(r.s) + return b, nil +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/write_buffer.go b/vendor/github.com/go-pg/pg/v10/internal/pool/write_buffer.go new file mode 100644 index 000000000..6981d3f4c --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/pool/write_buffer.go @@ -0,0 +1,114 @@ +package pool + +import ( + "encoding/binary" + "io" + "sync" +) + +const defaultBufSize = 65 << 10 // 65kb + +var wbPool = sync.Pool{ + New: func() interface{} { + return NewWriteBuffer() + }, +} + +func GetWriteBuffer() *WriteBuffer { + wb := wbPool.Get().(*WriteBuffer) + return wb +} + +func PutWriteBuffer(wb *WriteBuffer) { + wb.Reset() + wbPool.Put(wb) +} + +type WriteBuffer struct { + Bytes []byte + + msgStart int + paramStart int +} + +func NewWriteBuffer() *WriteBuffer { + return &WriteBuffer{ + Bytes: make([]byte, 0, defaultBufSize), + } +} + +func (buf *WriteBuffer) Reset() { + buf.Bytes = buf.Bytes[:0] +} + +func (buf *WriteBuffer) StartMessage(c byte) { + if c == 0 { + buf.msgStart = len(buf.Bytes) + buf.Bytes = append(buf.Bytes, 0, 0, 0, 0) + } else { + buf.msgStart = len(buf.Bytes) + 1 + buf.Bytes = append(buf.Bytes, c, 0, 0, 0, 0) + } +} + +func (buf *WriteBuffer) FinishMessage() { + binary.BigEndian.PutUint32( + buf.Bytes[buf.msgStart:], uint32(len(buf.Bytes)-buf.msgStart)) +} + +func (buf *WriteBuffer) Query() []byte { + return buf.Bytes[buf.msgStart+4 : len(buf.Bytes)-1] +} + +func (buf *WriteBuffer) StartParam() { + buf.paramStart = len(buf.Bytes) + buf.Bytes = append(buf.Bytes, 0, 0, 0, 0) +} + +func (buf *WriteBuffer) FinishParam() { + binary.BigEndian.PutUint32( + buf.Bytes[buf.paramStart:], uint32(len(buf.Bytes)-buf.paramStart-4)) +} + +var nullParamLength = int32(-1) + +func (buf *WriteBuffer) FinishNullParam() { + binary.BigEndian.PutUint32( + buf.Bytes[buf.paramStart:], uint32(nullParamLength)) +} + +func (buf *WriteBuffer) Write(b []byte) (int, error) { + buf.Bytes = append(buf.Bytes, b...) + return len(b), nil +} + +func (buf *WriteBuffer) WriteInt16(num int16) { + buf.Bytes = append(buf.Bytes, 0, 0) + binary.BigEndian.PutUint16(buf.Bytes[len(buf.Bytes)-2:], uint16(num)) +} + +func (buf *WriteBuffer) WriteInt32(num int32) { + buf.Bytes = append(buf.Bytes, 0, 0, 0, 0) + binary.BigEndian.PutUint32(buf.Bytes[len(buf.Bytes)-4:], uint32(num)) +} + +func (buf *WriteBuffer) WriteString(s string) { + buf.Bytes = append(buf.Bytes, s...) + buf.Bytes = append(buf.Bytes, 0) +} + +func (buf *WriteBuffer) WriteBytes(b []byte) { + buf.Bytes = append(buf.Bytes, b...) + buf.Bytes = append(buf.Bytes, 0) +} + +func (buf *WriteBuffer) WriteByte(c byte) error { + buf.Bytes = append(buf.Bytes, c) + return nil +} + +func (buf *WriteBuffer) ReadFrom(r io.Reader) (int64, error) { + n, err := r.Read(buf.Bytes[len(buf.Bytes):cap(buf.Bytes)]) + buf.Bytes = buf.Bytes[:len(buf.Bytes)+n] + return int64(n), err +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/safe.go b/vendor/github.com/go-pg/pg/v10/internal/safe.go new file mode 100644 index 000000000..870fe541f --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/safe.go @@ -0,0 +1,11 @@ +// +build appengine + +package internal + +func BytesToString(b []byte) string { + return string(b) +} + +func StringToBytes(s string) []byte { + return []byte(s) +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/strconv.go b/vendor/github.com/go-pg/pg/v10/internal/strconv.go new file mode 100644 index 000000000..9e42ffb03 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/strconv.go @@ -0,0 +1,19 @@ +package internal + +import "strconv" + +func Atoi(b []byte) (int, error) { + return strconv.Atoi(BytesToString(b)) +} + +func ParseInt(b []byte, base int, bitSize int) (int64, error) { + return strconv.ParseInt(BytesToString(b), base, bitSize) +} + +func ParseUint(b []byte, base int, bitSize int) (uint64, error) { + return strconv.ParseUint(BytesToString(b), base, bitSize) +} + +func ParseFloat(b []byte, bitSize int) (float64, error) { + return strconv.ParseFloat(BytesToString(b), bitSize) +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/underscore.go b/vendor/github.com/go-pg/pg/v10/internal/underscore.go new file mode 100644 index 000000000..e71c11705 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/underscore.go @@ -0,0 +1,93 @@ +package internal + +func IsUpper(c byte) bool { + return c >= 'A' && c <= 'Z' +} + +func IsLower(c byte) bool { + return c >= 'a' && c <= 'z' +} + +func ToUpper(c byte) byte { + return c - 32 +} + +func ToLower(c byte) byte { + return c + 32 +} + +// Underscore converts "CamelCasedString" to "camel_cased_string". +func Underscore(s string) string { + r := make([]byte, 0, len(s)+5) + for i := 0; i < len(s); i++ { + c := s[i] + if IsUpper(c) { + if i > 0 && i+1 < len(s) && (IsLower(s[i-1]) || IsLower(s[i+1])) { + r = append(r, '_', ToLower(c)) + } else { + r = append(r, ToLower(c)) + } + } else { + r = append(r, c) + } + } + return string(r) +} + +func CamelCased(s string) string { + r := make([]byte, 0, len(s)) + upperNext := true + for i := 0; i < len(s); i++ { + c := s[i] + if c == '_' { + upperNext = true + continue + } + if upperNext { + if IsLower(c) { + c = ToUpper(c) + } + upperNext = false + } + r = append(r, c) + } + return string(r) +} + +func ToExported(s string) string { + if len(s) == 0 { + return s + } + if c := s[0]; IsLower(c) { + b := []byte(s) + b[0] = ToUpper(c) + return string(b) + } + return s +} + +func UpperString(s string) string { + if isUpperString(s) { + return s + } + + b := make([]byte, len(s)) + for i := range b { + c := s[i] + if IsLower(c) { + c = ToUpper(c) + } + b[i] = c + } + return string(b) +} + +func isUpperString(s string) bool { + for i := 0; i < len(s); i++ { + c := s[i] + if IsLower(c) { + return false + } + } + return true +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/unsafe.go b/vendor/github.com/go-pg/pg/v10/internal/unsafe.go new file mode 100644 index 000000000..f8bc18d91 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/unsafe.go @@ -0,0 +1,22 @@ +// +build !appengine + +package internal + +import ( + "unsafe" +) + +// BytesToString converts byte slice to string. +func BytesToString(b []byte) string { + return *(*string)(unsafe.Pointer(&b)) +} + +// StringToBytes converts string to byte slice. +func StringToBytes(s string) []byte { + return *(*[]byte)(unsafe.Pointer( + &struct { + string + Cap int + }{s, len(s)}, + )) +} diff --git a/vendor/github.com/go-pg/pg/v10/internal/util.go b/vendor/github.com/go-pg/pg/v10/internal/util.go new file mode 100644 index 000000000..80ad1dd9a --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/internal/util.go @@ -0,0 +1,71 @@ +package internal + +import ( + "context" + "reflect" + "time" +) + +func Sleep(ctx context.Context, dur time.Duration) error { + t := time.NewTimer(dur) + defer t.Stop() + + select { + case <-t.C: + return nil + case <-ctx.Done(): + return ctx.Err() + } +} + +func MakeSliceNextElemFunc(v reflect.Value) func() reflect.Value { + if v.Kind() == reflect.Array { + var pos int + return func() reflect.Value { + v := v.Index(pos) + pos++ + return v + } + } + + elemType := v.Type().Elem() + + if elemType.Kind() == reflect.Ptr { + elemType = elemType.Elem() + return func() reflect.Value { + if v.Len() < v.Cap() { + v.Set(v.Slice(0, v.Len()+1)) + elem := v.Index(v.Len() - 1) + if elem.IsNil() { + elem.Set(reflect.New(elemType)) + } + return elem.Elem() + } + + elem := reflect.New(elemType) + v.Set(reflect.Append(v, elem)) + return elem.Elem() + } + } + + zero := reflect.Zero(elemType) + return func() reflect.Value { + if v.Len() < v.Cap() { + v.Set(v.Slice(0, v.Len()+1)) + return v.Index(v.Len() - 1) + } + + v.Set(reflect.Append(v, zero)) + return v.Index(v.Len() - 1) + } +} + +func Unwrap(err error) error { + u, ok := err.(interface { + Unwrap() error + }) + if !ok { + return nil + } + return u.Unwrap() +} diff --git a/vendor/github.com/go-pg/pg/v10/listener.go b/vendor/github.com/go-pg/pg/v10/listener.go new file mode 100644 index 000000000..d37be08d4 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/listener.go @@ -0,0 +1,414 @@ +package pg + +import ( + "context" + "errors" + "fmt" + "strings" + "sync" + "time" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/types" +) + +const gopgChannel = "gopg:ping" + +var ( + errListenerClosed = errors.New("pg: listener is closed") + errPingTimeout = errors.New("pg: ping timeout") +) + +// Notification which is received with LISTEN command. +type Notification struct { + Channel string + Payload string +} + +// Listener listens for notifications sent with NOTIFY command. +// It's NOT safe for concurrent use by multiple goroutines +// except the Channel API. +type Listener struct { + db *DB + + channels []string + + mu sync.Mutex + cn *pool.Conn + exit chan struct{} + closed bool + + chOnce sync.Once + ch chan Notification + pingCh chan struct{} +} + +func (ln *Listener) String() string { + ln.mu.Lock() + defer ln.mu.Unlock() + + return fmt.Sprintf("Listener(%s)", strings.Join(ln.channels, ", ")) +} + +func (ln *Listener) init() { + ln.exit = make(chan struct{}) +} + +func (ln *Listener) connWithLock(ctx context.Context) (*pool.Conn, error) { + ln.mu.Lock() + cn, err := ln.conn(ctx) + ln.mu.Unlock() + + switch err { + case nil: + return cn, nil + case errListenerClosed: + return nil, err + case pool.ErrClosed: + _ = ln.Close() + return nil, errListenerClosed + default: + internal.Logger.Printf(ctx, "pg: Listen failed: %s", err) + return nil, err + } +} + +func (ln *Listener) conn(ctx context.Context) (*pool.Conn, error) { + if ln.closed { + return nil, errListenerClosed + } + + if ln.cn != nil { + return ln.cn, nil + } + + cn, err := ln.db.pool.NewConn(ctx) + if err != nil { + return nil, err + } + + if err := ln.db.initConn(ctx, cn); err != nil { + _ = ln.db.pool.CloseConn(cn) + return nil, err + } + + cn.LockReader() + + if len(ln.channels) > 0 { + err := ln.listen(ctx, cn, ln.channels...) + if err != nil { + _ = ln.db.pool.CloseConn(cn) + return nil, err + } + } + + ln.cn = cn + return cn, nil +} + +func (ln *Listener) releaseConn(ctx context.Context, cn *pool.Conn, err error, allowTimeout bool) { + ln.mu.Lock() + if ln.cn == cn { + if isBadConn(err, allowTimeout) { + ln.reconnect(ctx, err) + } + } + ln.mu.Unlock() +} + +func (ln *Listener) reconnect(ctx context.Context, reason error) { + _ = ln.closeTheCn(reason) + _, _ = ln.conn(ctx) +} + +func (ln *Listener) closeTheCn(reason error) error { + if ln.cn == nil { + return nil + } + if !ln.closed { + internal.Logger.Printf(ln.db.ctx, "pg: discarding bad listener connection: %s", reason) + } + + err := ln.db.pool.CloseConn(ln.cn) + ln.cn = nil + return err +} + +// Close closes the listener, releasing any open resources. +func (ln *Listener) Close() error { + ln.mu.Lock() + defer ln.mu.Unlock() + + if ln.closed { + return errListenerClosed + } + ln.closed = true + close(ln.exit) + + return ln.closeTheCn(errListenerClosed) +} + +// Listen starts listening for notifications on channels. +func (ln *Listener) Listen(ctx context.Context, channels ...string) error { + // Always append channels so DB.Listen works correctly. + ln.mu.Lock() + ln.channels = appendIfNotExists(ln.channels, channels...) + ln.mu.Unlock() + + cn, err := ln.connWithLock(ctx) + if err != nil { + return err + } + + if err := ln.listen(ctx, cn, channels...); err != nil { + ln.releaseConn(ctx, cn, err, false) + return err + } + + return nil +} + +func (ln *Listener) listen(ctx context.Context, cn *pool.Conn, channels ...string) error { + err := cn.WithWriter(ctx, ln.db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + for _, channel := range channels { + if err := writeQueryMsg(wb, ln.db.fmter, "LISTEN ?", pgChan(channel)); err != nil { + return err + } + } + return nil + }) + return err +} + +// Unlisten stops listening for notifications on channels. +func (ln *Listener) Unlisten(ctx context.Context, channels ...string) error { + ln.mu.Lock() + ln.channels = removeIfExists(ln.channels, channels...) + ln.mu.Unlock() + + cn, err := ln.conn(ctx) + if err != nil { + return err + } + + if err := ln.unlisten(ctx, cn, channels...); err != nil { + ln.releaseConn(ctx, cn, err, false) + return err + } + + return nil +} + +func (ln *Listener) unlisten(ctx context.Context, cn *pool.Conn, channels ...string) error { + err := cn.WithWriter(ctx, ln.db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + for _, channel := range channels { + if err := writeQueryMsg(wb, ln.db.fmter, "UNLISTEN ?", pgChan(channel)); err != nil { + return err + } + } + return nil + }) + return err +} + +// Receive indefinitely waits for a notification. This is low-level API +// and in most cases Channel should be used instead. +func (ln *Listener) Receive(ctx context.Context) (channel string, payload string, err error) { + return ln.ReceiveTimeout(ctx, 0) +} + +// ReceiveTimeout waits for a notification until timeout is reached. +// This is low-level API and in most cases Channel should be used instead. +func (ln *Listener) ReceiveTimeout( + ctx context.Context, timeout time.Duration, +) (channel, payload string, err error) { + cn, err := ln.connWithLock(ctx) + if err != nil { + return "", "", err + } + + err = cn.WithReader(ctx, timeout, func(rd *pool.ReaderContext) error { + channel, payload, err = readNotification(rd) + return err + }) + if err != nil { + ln.releaseConn(ctx, cn, err, timeout > 0) + return "", "", err + } + + return channel, payload, nil +} + +// Channel returns a channel for concurrently receiving notifications. +// It periodically sends Ping notification to test connection health. +// +// The channel is closed with Listener. Receive* APIs can not be used +// after channel is created. +func (ln *Listener) Channel() <-chan Notification { + return ln.channel(100) +} + +// ChannelSize is like Channel, but creates a Go channel +// with specified buffer size. +func (ln *Listener) ChannelSize(size int) <-chan Notification { + return ln.channel(size) +} + +func (ln *Listener) channel(size int) <-chan Notification { + ln.chOnce.Do(func() { + ln.initChannel(size) + }) + if cap(ln.ch) != size { + err := fmt.Errorf("pg: Listener.Channel is called with different buffer size") + panic(err) + } + return ln.ch +} + +func (ln *Listener) initChannel(size int) { + const pingTimeout = time.Second + const chanSendTimeout = time.Minute + + ctx := ln.db.ctx + _ = ln.Listen(ctx, gopgChannel) + + ln.ch = make(chan Notification, size) + ln.pingCh = make(chan struct{}, 1) + + go func() { + timer := time.NewTimer(time.Minute) + timer.Stop() + + var errCount int + for { + channel, payload, err := ln.Receive(ctx) + if err != nil { + if err == errListenerClosed { + close(ln.ch) + return + } + + if errCount > 0 { + time.Sleep(500 * time.Millisecond) + } + errCount++ + + continue + } + + errCount = 0 + + // Any notification is as good as a ping. + select { + case ln.pingCh <- struct{}{}: + default: + } + + switch channel { + case gopgChannel: + // ignore + default: + timer.Reset(chanSendTimeout) + select { + case ln.ch <- Notification{channel, payload}: + if !timer.Stop() { + <-timer.C + } + case <-timer.C: + internal.Logger.Printf( + ctx, + "pg: %s channel is full for %s (notification is dropped)", + ln, + chanSendTimeout, + ) + } + } + } + }() + + go func() { + timer := time.NewTimer(time.Minute) + timer.Stop() + + healthy := true + for { + timer.Reset(pingTimeout) + select { + case <-ln.pingCh: + healthy = true + if !timer.Stop() { + <-timer.C + } + case <-timer.C: + pingErr := ln.ping() + if healthy { + healthy = false + } else { + if pingErr == nil { + pingErr = errPingTimeout + } + ln.mu.Lock() + ln.reconnect(ctx, pingErr) + ln.mu.Unlock() + } + case <-ln.exit: + return + } + } + }() +} + +func (ln *Listener) ping() error { + _, err := ln.db.Exec("NOTIFY ?", pgChan(gopgChannel)) + return err +} + +func appendIfNotExists(ss []string, es ...string) []string { +loop: + for _, e := range es { + for _, s := range ss { + if s == e { + continue loop + } + } + ss = append(ss, e) + } + return ss +} + +func removeIfExists(ss []string, es ...string) []string { + for _, e := range es { + for i, s := range ss { + if s == e { + last := len(ss) - 1 + ss[i] = ss[last] + ss = ss[:last] + break + } + } + } + return ss +} + +type pgChan string + +var _ types.ValueAppender = pgChan("") + +func (ch pgChan) AppendValue(b []byte, quote int) ([]byte, error) { + if quote == 0 { + return append(b, ch...), nil + } + + b = append(b, '"') + for _, c := range []byte(ch) { + if c == '"' { + b = append(b, '"', '"') + } else { + b = append(b, c) + } + } + b = append(b, '"') + + return b, nil +} diff --git a/vendor/github.com/go-pg/pg/v10/messages.go b/vendor/github.com/go-pg/pg/v10/messages.go new file mode 100644 index 000000000..7fb84ba0d --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/messages.go @@ -0,0 +1,1390 @@ +package pg + +import ( + "bufio" + "context" + "crypto/md5" //nolint + "crypto/tls" + "encoding/binary" + "encoding/hex" + "errors" + "fmt" + "io" + "strings" + + "mellium.im/sasl" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/orm" + "github.com/go-pg/pg/v10/types" +) + +// https://www.postgresql.org/docs/current/protocol-message-formats.html +const ( + commandCompleteMsg = 'C' + errorResponseMsg = 'E' + noticeResponseMsg = 'N' + parameterStatusMsg = 'S' + authenticationOKMsg = 'R' + backendKeyDataMsg = 'K' + noDataMsg = 'n' + passwordMessageMsg = 'p' + terminateMsg = 'X' + + saslInitialResponseMsg = 'p' + authenticationSASLContinueMsg = 'R' + saslResponseMsg = 'p' + authenticationSASLFinalMsg = 'R' + + authenticationOK = 0 + authenticationCleartextPassword = 3 + authenticationMD5Password = 5 + authenticationSASL = 10 + + notificationResponseMsg = 'A' + + describeMsg = 'D' + parameterDescriptionMsg = 't' + + queryMsg = 'Q' + readyForQueryMsg = 'Z' + emptyQueryResponseMsg = 'I' + rowDescriptionMsg = 'T' + dataRowMsg = 'D' + + parseMsg = 'P' + parseCompleteMsg = '1' + + bindMsg = 'B' + bindCompleteMsg = '2' + + executeMsg = 'E' + + syncMsg = 'S' + flushMsg = 'H' + + closeMsg = 'C' + closeCompleteMsg = '3' + + copyInResponseMsg = 'G' + copyOutResponseMsg = 'H' + copyDataMsg = 'd' + copyDoneMsg = 'c' +) + +var errEmptyQuery = internal.Errorf("pg: query is empty") + +func (db *baseDB) startup( + c context.Context, cn *pool.Conn, user, password, database, appName string, +) error { + err := cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + writeStartupMsg(wb, user, database, appName) + return nil + }) + if err != nil { + return err + } + + return cn.WithReader(c, db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + for { + typ, msgLen, err := readMessageType(rd) + if err != nil { + return err + } + + switch typ { + case backendKeyDataMsg: + processID, err := readInt32(rd) + if err != nil { + return err + } + secretKey, err := readInt32(rd) + if err != nil { + return err + } + cn.ProcessID = processID + cn.SecretKey = secretKey + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return err + } + case authenticationOKMsg: + err := db.auth(c, cn, rd, user, password) + if err != nil { + return err + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + return err + case noticeResponseMsg: + // If we encounter a notice message from the server then we want to try to log it as it might be + // important for the client. If something goes wrong with this we want to fail. At the time of writing + // this the client will fail just encountering a notice during startup. So failing if a bad notice is + // sent is probably better than not failing, especially if we can try to log at least some data from the + // notice. + if err := db.logStartupNotice(rd); err != nil { + return err + } + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return err + } + return e + default: + return fmt.Errorf("pg: unknown startup message response: %q", typ) + } + } + }) +} + +func (db *baseDB) enableSSL(c context.Context, cn *pool.Conn, tlsConf *tls.Config) error { + err := cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + writeSSLMsg(wb) + return nil + }) + if err != nil { + return err + } + + err = cn.WithReader(c, db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + c, err := rd.ReadByte() + if err != nil { + return err + } + if c != 'S' { + return errors.New("pg: SSL is not enabled on the server") + } + return nil + }) + if err != nil { + return err + } + + cn.SetNetConn(tls.Client(cn.NetConn(), tlsConf)) + return nil +} + +func (db *baseDB) auth( + c context.Context, cn *pool.Conn, rd *pool.ReaderContext, user, password string, +) error { + num, err := readInt32(rd) + if err != nil { + return err + } + + switch num { + case authenticationOK: + return nil + case authenticationCleartextPassword: + return db.authCleartext(c, cn, rd, password) + case authenticationMD5Password: + return db.authMD5(c, cn, rd, user, password) + case authenticationSASL: + return db.authSASL(c, cn, rd, user, password) + default: + return fmt.Errorf("pg: unknown authentication message response: %q", num) + } +} + +// logStartupNotice will handle notice messages during the startup process. It will parse them and log them for the +// client. Notices are not common and only happen if there is something the client should be aware of. So logging should +// not be a problem. +// Notice messages can be seen in startup: https://www.postgresql.org/docs/13/protocol-flow.html +// Information on the notice message format: https://www.postgresql.org/docs/13/protocol-message-formats.html +// Note: This is true for earlier versions of PostgreSQL as well, I've just included the latest versions of the docs. +func (db *baseDB) logStartupNotice( + rd *pool.ReaderContext, +) error { + message := make([]string, 0) + // Notice messages are null byte delimited key-value pairs. Where the keys are one byte. + for { + // Read the key byte. + fieldType, err := rd.ReadByte() + if err != nil { + return err + } + + // If they key byte (the type of field this data is) is 0 then that means we have reached the end of the notice. + // We can break our loop here and throw our message data into the logger. + if fieldType == 0 { + break + } + + // Read until the next null byte to get the data for this field. This does include the null byte at the end of + // fieldValue so we will trim it off down below. + fieldValue, err := readString(rd) + if err != nil { + return err + } + + // Just throw the field type as a string and its value into an array. + // Field types can be seen here: https://www.postgresql.org/docs/13/protocol-error-fields.html + // TODO This is a rare occurrence as is, would it be worth adding something to indicate what the field names + // are? Or is PostgreSQL documentation enough for a user at this point? + message = append(message, fmt.Sprintf("%s: %s", string(fieldType), fieldValue)) + } + + // Tell the client what PostgreSQL told us. Warning because its probably something the client should at the very + // least adjust. + internal.Warn.Printf("notice during startup: %s", strings.Join(message, ", ")) + + return nil +} + +func (db *baseDB) authCleartext( + c context.Context, cn *pool.Conn, rd *pool.ReaderContext, password string, +) error { + err := cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + writePasswordMsg(wb, password) + return nil + }) + if err != nil { + return err + } + return readAuthOK(rd) +} + +func (db *baseDB) authMD5( + c context.Context, cn *pool.Conn, rd *pool.ReaderContext, user, password string, +) error { + b, err := rd.ReadN(4) + if err != nil { + return err + } + + secret := "md5" + md5s(md5s(password+user)+string(b)) + err = cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + writePasswordMsg(wb, secret) + return nil + }) + if err != nil { + return err + } + + return readAuthOK(rd) +} + +func readAuthOK(rd *pool.ReaderContext) error { + c, _, err := readMessageType(rd) + if err != nil { + return err + } + + switch c { + case authenticationOKMsg: + c0, err := readInt32(rd) + if err != nil { + return err + } + if c0 != 0 { + return fmt.Errorf("pg: unexpected authentication code: %q", c0) + } + return nil + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return err + } + return e + default: + return fmt.Errorf("pg: unknown password message response: %q", c) + } +} + +func (db *baseDB) authSASL( + c context.Context, cn *pool.Conn, rd *pool.ReaderContext, user, password string, +) error { + s, err := readString(rd) + if err != nil { + return err + } + if s != "SCRAM-SHA-256" { + return fmt.Errorf("pg: SASL: got %q, wanted %q", s, "SCRAM-SHA-256") + } + + c0, err := rd.ReadByte() + if err != nil { + return err + } + if c0 != 0 { + return fmt.Errorf("pg: SASL: got %q, wanted %q", c0, 0) + } + + creds := sasl.Credentials(func() (Username, Password, Identity []byte) { + return []byte(user), []byte(password), nil + }) + client := sasl.NewClient(sasl.ScramSha256, creds) + + _, resp, err := client.Step(nil) + if err != nil { + return err + } + + err = cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + wb.StartMessage(saslInitialResponseMsg) + wb.WriteString("SCRAM-SHA-256") + wb.WriteInt32(int32(len(resp))) + _, err := wb.Write(resp) + if err != nil { + return err + } + wb.FinishMessage() + return nil + }) + if err != nil { + return err + } + + typ, n, err := readMessageType(rd) + if err != nil { + return err + } + + switch typ { + case authenticationSASLContinueMsg: + c11, err := readInt32(rd) + if err != nil { + return err + } + if c11 != 11 { + return fmt.Errorf("pg: SASL: got %q, wanted %q", typ, 11) + } + + b, err := rd.ReadN(n - 4) + if err != nil { + return err + } + + _, resp, err = client.Step(b) + if err != nil { + return err + } + + err = cn.WithWriter(c, db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + wb.StartMessage(saslResponseMsg) + _, err := wb.Write(resp) + if err != nil { + return err + } + wb.FinishMessage() + return nil + }) + if err != nil { + return err + } + + return readAuthSASLFinal(rd, client) + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return err + } + return e + default: + return fmt.Errorf( + "pg: SASL: got %q, wanted %q", typ, authenticationSASLContinueMsg) + } +} + +func readAuthSASLFinal(rd *pool.ReaderContext, client *sasl.Negotiator) error { + c, n, err := readMessageType(rd) + if err != nil { + return err + } + + switch c { + case authenticationSASLFinalMsg: + c12, err := readInt32(rd) + if err != nil { + return err + } + if c12 != 12 { + return fmt.Errorf("pg: SASL: got %q, wanted %q", c, 12) + } + + b, err := rd.ReadN(n - 4) + if err != nil { + return err + } + + _, _, err = client.Step(b) + if err != nil { + return err + } + + if client.State() != sasl.ValidServerResponse { + return fmt.Errorf("pg: SASL: state=%q, wanted %q", + client.State(), sasl.ValidServerResponse) + } + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return err + } + return e + default: + return fmt.Errorf( + "pg: SASL: got %q, wanted %q", c, authenticationSASLFinalMsg) + } + + return readAuthOK(rd) +} + +func md5s(s string) string { + //nolint + h := md5.Sum([]byte(s)) + return hex.EncodeToString(h[:]) +} + +func writeStartupMsg(buf *pool.WriteBuffer, user, database, appName string) { + buf.StartMessage(0) + buf.WriteInt32(196608) + buf.WriteString("user") + buf.WriteString(user) + buf.WriteString("database") + buf.WriteString(database) + if appName != "" { + buf.WriteString("application_name") + buf.WriteString(appName) + } + buf.WriteString("") + buf.FinishMessage() +} + +func writeSSLMsg(buf *pool.WriteBuffer) { + buf.StartMessage(0) + buf.WriteInt32(80877103) + buf.FinishMessage() +} + +func writePasswordMsg(buf *pool.WriteBuffer, password string) { + buf.StartMessage(passwordMessageMsg) + buf.WriteString(password) + buf.FinishMessage() +} + +func writeFlushMsg(buf *pool.WriteBuffer) { + buf.StartMessage(flushMsg) + buf.FinishMessage() +} + +func writeCancelRequestMsg(buf *pool.WriteBuffer, processID, secretKey int32) { + buf.StartMessage(0) + buf.WriteInt32(80877102) + buf.WriteInt32(processID) + buf.WriteInt32(secretKey) + buf.FinishMessage() +} + +func writeQueryMsg( + buf *pool.WriteBuffer, + fmter orm.QueryFormatter, + query interface{}, + params ...interface{}, +) error { + buf.StartMessage(queryMsg) + bytes, err := appendQuery(fmter, buf.Bytes, query, params...) + if err != nil { + return err + } + buf.Bytes = bytes + err = buf.WriteByte(0x0) + if err != nil { + return err + } + buf.FinishMessage() + return nil +} + +func appendQuery(fmter orm.QueryFormatter, dst []byte, query interface{}, params ...interface{}) ([]byte, error) { + switch query := query.(type) { + case orm.QueryAppender: + if v, ok := fmter.(*orm.Formatter); ok { + fmter = v.WithModel(query) + } + return query.AppendQuery(fmter, dst) + case string: + if len(params) > 0 { + model, ok := params[len(params)-1].(orm.TableModel) + if ok { + if v, ok := fmter.(*orm.Formatter); ok { + fmter = v.WithTableModel(model) + params = params[:len(params)-1] + } + } + } + return fmter.FormatQuery(dst, query, params...), nil + default: + return nil, fmt.Errorf("pg: can't append %T", query) + } +} + +func writeSyncMsg(buf *pool.WriteBuffer) { + buf.StartMessage(syncMsg) + buf.FinishMessage() +} + +func writeParseDescribeSyncMsg(buf *pool.WriteBuffer, name, q string) { + buf.StartMessage(parseMsg) + buf.WriteString(name) + buf.WriteString(q) + buf.WriteInt16(0) + buf.FinishMessage() + + buf.StartMessage(describeMsg) + buf.WriteByte('S') //nolint + buf.WriteString(name) + buf.FinishMessage() + + writeSyncMsg(buf) +} + +func readParseDescribeSync(rd *pool.ReaderContext) ([]types.ColumnInfo, error) { + var columns []types.ColumnInfo + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return nil, err + } + switch c { + case parseCompleteMsg: + _, err = rd.ReadN(msgLen) + if err != nil { + return nil, err + } + case rowDescriptionMsg: // Response to the DESCRIBE message. + columns, err = readRowDescription(rd, pool.NewColumnAlloc()) + if err != nil { + return nil, err + } + case parameterDescriptionMsg: // Response to the DESCRIBE message. + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + case noDataMsg: // Response to the DESCRIBE message. + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if firstErr != nil { + return nil, firstErr + } + return columns, err + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return nil, err + } + if firstErr == nil { + firstErr = e + } + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return nil, err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("pg: readParseDescribeSync: unexpected message %q", c) + } + } +} + +// Writes BIND, EXECUTE and SYNC messages. +func writeBindExecuteMsg(buf *pool.WriteBuffer, name string, params ...interface{}) error { + buf.StartMessage(bindMsg) + buf.WriteString("") + buf.WriteString(name) + buf.WriteInt16(0) + buf.WriteInt16(int16(len(params))) + for _, param := range params { + buf.StartParam() + bytes := types.Append(buf.Bytes, param, 0) + if bytes != nil { + buf.Bytes = bytes + buf.FinishParam() + } else { + buf.FinishNullParam() + } + } + buf.WriteInt16(0) + buf.FinishMessage() + + buf.StartMessage(executeMsg) + buf.WriteString("") + buf.WriteInt32(0) + buf.FinishMessage() + + writeSyncMsg(buf) + + return nil +} + +func writeCloseMsg(buf *pool.WriteBuffer, name string) { + buf.StartMessage(closeMsg) + buf.WriteByte('S') //nolint + buf.WriteString(name) + buf.FinishMessage() +} + +func readCloseCompleteMsg(rd *pool.ReaderContext) error { + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return err + } + switch c { + case closeCompleteMsg: + _, err := rd.ReadN(msgLen) + return err + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return err + } + return e + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return err + } + default: + return fmt.Errorf("pg: readCloseCompleteMsg: unexpected message %q", c) + } + } +} + +func readSimpleQuery(rd *pool.ReaderContext) (*result, error) { + var res result + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return nil, err + } + + switch c { + case commandCompleteMsg: + b, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if err := res.parse(b); err != nil && firstErr == nil { + firstErr = err + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if firstErr != nil { + return nil, firstErr + } + return &res, nil + case rowDescriptionMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + case dataRowMsg: + if _, err := rd.Discard(msgLen); err != nil { + return nil, err + } + res.returned++ + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return nil, err + } + if firstErr == nil { + firstErr = e + } + case emptyQueryResponseMsg: + if firstErr == nil { + firstErr = errEmptyQuery + } + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return nil, err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("pg: readSimpleQuery: unexpected message %q", c) + } + } +} + +func readExtQuery(rd *pool.ReaderContext) (*result, error) { + var res result + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return nil, err + } + + switch c { + case bindCompleteMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + case dataRowMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + res.returned++ + case commandCompleteMsg: // Response to the EXECUTE message. + b, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if err := res.parse(b); err != nil && firstErr == nil { + firstErr = err + } + case readyForQueryMsg: // Response to the SYNC message. + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if firstErr != nil { + return nil, firstErr + } + return &res, nil + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return nil, err + } + if firstErr == nil { + firstErr = e + } + case emptyQueryResponseMsg: + if firstErr == nil { + firstErr = errEmptyQuery + } + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return nil, err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("pg: readExtQuery: unexpected message %q", c) + } + } +} + +func readRowDescription( + rd *pool.ReaderContext, columnAlloc *pool.ColumnAlloc, +) ([]types.ColumnInfo, error) { + numCol, err := readInt16(rd) + if err != nil { + return nil, err + } + + for i := 0; i < int(numCol); i++ { + b, err := rd.ReadSlice(0) + if err != nil { + return nil, err + } + + col := columnAlloc.New(int16(i), b[:len(b)-1]) + + if _, err := rd.ReadN(6); err != nil { + return nil, err + } + + dataType, err := readInt32(rd) + if err != nil { + return nil, err + } + col.DataType = dataType + + if _, err := rd.ReadN(8); err != nil { + return nil, err + } + } + + return columnAlloc.Columns(), nil +} + +func readDataRow( + ctx context.Context, + rd *pool.ReaderContext, + columns []types.ColumnInfo, + scanner orm.ColumnScanner, +) error { + numCol, err := readInt16(rd) + if err != nil { + return err + } + + if h, ok := scanner.(orm.BeforeScanHook); ok { + if err := h.BeforeScan(ctx); err != nil { + return err + } + } + + var firstErr error + + for colIdx := int16(0); colIdx < numCol; colIdx++ { + n, err := readInt32(rd) + if err != nil { + return err + } + + var colRd types.Reader + if int(n) <= rd.Buffered() { + colRd = rd.BytesReader(int(n)) + } else { + rd.SetAvailable(int(n)) + colRd = rd + } + + column := columns[colIdx] + if err := scanner.ScanColumn(column, colRd, int(n)); err != nil && firstErr == nil { + firstErr = internal.Errorf(err.Error()) + } + + if rd == colRd { + if rd.Available() > 0 { + if _, err := rd.Discard(rd.Available()); err != nil && firstErr == nil { + firstErr = err + } + } + rd.SetAvailable(-1) + } + } + + if h, ok := scanner.(orm.AfterScanHook); ok { + if err := h.AfterScan(ctx); err != nil { + return err + } + } + + return firstErr +} + +func newModel(mod interface{}) (orm.Model, error) { + m, err := orm.NewModel(mod) + if err != nil { + return nil, err + } + return m, m.Init() +} + +func readSimpleQueryData( + ctx context.Context, rd *pool.ReaderContext, mod interface{}, +) (*result, error) { + var columns []types.ColumnInfo + var res result + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return nil, err + } + + switch c { + case rowDescriptionMsg: + columns, err = readRowDescription(rd, rd.ColumnAlloc) + if err != nil { + return nil, err + } + + if res.model == nil { + var err error + res.model, err = newModel(mod) + if err != nil { + if firstErr == nil { + firstErr = err + } + res.model = Discard + } + } + case dataRowMsg: + scanner := res.model.NextColumnScanner() + if err := readDataRow(ctx, rd, columns, scanner); err != nil { + if firstErr == nil { + firstErr = err + } + } else if err := res.model.AddColumnScanner(scanner); err != nil { + if firstErr == nil { + firstErr = err + } + } + + res.returned++ + case commandCompleteMsg: + b, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if err := res.parse(b); err != nil && firstErr == nil { + firstErr = err + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if firstErr != nil { + return nil, firstErr + } + return &res, nil + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return nil, err + } + if firstErr == nil { + firstErr = e + } + case emptyQueryResponseMsg: + if firstErr == nil { + firstErr = errEmptyQuery + } + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return nil, err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("pg: readSimpleQueryData: unexpected message %q", c) + } + } +} + +func readExtQueryData( + ctx context.Context, rd *pool.ReaderContext, mod interface{}, columns []types.ColumnInfo, +) (*result, error) { + var res result + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return nil, err + } + + switch c { + case bindCompleteMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + case dataRowMsg: + if res.model == nil { + var err error + res.model, err = newModel(mod) + if err != nil { + if firstErr == nil { + firstErr = err + } + res.model = Discard + } + } + + scanner := res.model.NextColumnScanner() + if err := readDataRow(ctx, rd, columns, scanner); err != nil { + if firstErr == nil { + firstErr = err + } + } else if err := res.model.AddColumnScanner(scanner); err != nil { + if firstErr == nil { + firstErr = err + } + } + + res.returned++ + case commandCompleteMsg: // Response to the EXECUTE message. + b, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if err := res.parse(b); err != nil && firstErr == nil { + firstErr = err + } + case readyForQueryMsg: // Response to the SYNC message. + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if firstErr != nil { + return nil, firstErr + } + return &res, nil + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return nil, err + } + if firstErr == nil { + firstErr = e + } + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return nil, err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("pg: readExtQueryData: unexpected message %q", c) + } + } +} + +func readCopyInResponse(rd *pool.ReaderContext) error { + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return err + } + + switch c { + case copyInResponseMsg: + _, err := rd.ReadN(msgLen) + return err + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return err + } + if firstErr == nil { + firstErr = e + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return err + } + return firstErr + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return err + } + default: + return fmt.Errorf("pg: readCopyInResponse: unexpected message %q", c) + } + } +} + +func readCopyOutResponse(rd *pool.ReaderContext) error { + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return err + } + + switch c { + case copyOutResponseMsg: + _, err := rd.ReadN(msgLen) + return err + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return err + } + if firstErr == nil { + firstErr = e + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return err + } + return firstErr + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return err + } + default: + return fmt.Errorf("pg: readCopyOutResponse: unexpected message %q", c) + } + } +} + +func readCopyData(rd *pool.ReaderContext, w io.Writer) (*result, error) { + var res result + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return nil, err + } + + switch c { + case copyDataMsg: + for msgLen > 0 { + b, err := rd.ReadN(msgLen) + if err != nil && err != bufio.ErrBufferFull { + return nil, err + } + + _, err = w.Write(b) + if err != nil { + return nil, err + } + + msgLen -= len(b) + } + case copyDoneMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + case commandCompleteMsg: + b, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if err := res.parse(b); err != nil && firstErr == nil { + firstErr = err + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if firstErr != nil { + return nil, firstErr + } + return &res, nil + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return nil, err + } + return nil, e + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return nil, err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("pg: readCopyData: unexpected message %q", c) + } + } +} + +func writeCopyData(buf *pool.WriteBuffer, r io.Reader) error { + buf.StartMessage(copyDataMsg) + _, err := buf.ReadFrom(r) + buf.FinishMessage() + return err +} + +func writeCopyDone(buf *pool.WriteBuffer) { + buf.StartMessage(copyDoneMsg) + buf.FinishMessage() +} + +func readReadyForQuery(rd *pool.ReaderContext) (*result, error) { + var res result + var firstErr error + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return nil, err + } + + switch c { + case commandCompleteMsg: + b, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if err := res.parse(b); err != nil && firstErr == nil { + firstErr = err + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return nil, err + } + if firstErr != nil { + return nil, firstErr + } + return &res, nil + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return nil, err + } + if firstErr == nil { + firstErr = e + } + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return nil, err + } + case parameterStatusMsg: + if err := logParameterStatus(rd, msgLen); err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("pg: readReadyForQueryOrError: unexpected message %q", c) + } + } +} + +func readNotification(rd *pool.ReaderContext) (channel, payload string, err error) { + for { + c, msgLen, err := readMessageType(rd) + if err != nil { + return "", "", err + } + + switch c { + case commandCompleteMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return "", "", err + } + case readyForQueryMsg: + _, err := rd.ReadN(msgLen) + if err != nil { + return "", "", err + } + case errorResponseMsg: + e, err := readError(rd) + if err != nil { + return "", "", err + } + return "", "", e + case noticeResponseMsg: + if err := logNotice(rd, msgLen); err != nil { + return "", "", err + } + case notificationResponseMsg: + _, err := readInt32(rd) + if err != nil { + return "", "", err + } + channel, err = readString(rd) + if err != nil { + return "", "", err + } + payload, err = readString(rd) + if err != nil { + return "", "", err + } + return channel, payload, nil + default: + return "", "", fmt.Errorf("pg: readNotification: unexpected message %q", c) + } + } +} + +var terminateMessage = []byte{terminateMsg, 0, 0, 0, 4} + +func terminateConn(cn *pool.Conn) error { + // Don't use cn.Buf because it is racy with user code. + _, err := cn.NetConn().Write(terminateMessage) + return err +} + +//------------------------------------------------------------------------------ + +func logNotice(rd *pool.ReaderContext, msgLen int) error { + _, err := rd.ReadN(msgLen) + return err +} + +func logParameterStatus(rd *pool.ReaderContext, msgLen int) error { + _, err := rd.ReadN(msgLen) + return err +} + +func readInt16(rd *pool.ReaderContext) (int16, error) { + b, err := rd.ReadN(2) + if err != nil { + return 0, err + } + return int16(binary.BigEndian.Uint16(b)), nil +} + +func readInt32(rd *pool.ReaderContext) (int32, error) { + b, err := rd.ReadN(4) + if err != nil { + return 0, err + } + return int32(binary.BigEndian.Uint32(b)), nil +} + +func readString(rd *pool.ReaderContext) (string, error) { + b, err := rd.ReadSlice(0) + if err != nil { + return "", err + } + return string(b[:len(b)-1]), nil +} + +func readError(rd *pool.ReaderContext) (error, error) { + m := make(map[byte]string) + for { + c, err := rd.ReadByte() + if err != nil { + return nil, err + } + if c == 0 { + break + } + s, err := readString(rd) + if err != nil { + return nil, err + } + m[c] = s + } + return internal.NewPGError(m), nil +} + +func readMessageType(rd *pool.ReaderContext) (byte, int, error) { + c, err := rd.ReadByte() + if err != nil { + return 0, 0, err + } + l, err := readInt32(rd) + if err != nil { + return 0, 0, err + } + return c, int(l) - 4, nil +} diff --git a/vendor/github.com/go-pg/pg/v10/options.go b/vendor/github.com/go-pg/pg/v10/options.go new file mode 100644 index 000000000..efd634fd2 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/options.go @@ -0,0 +1,277 @@ +package pg + +import ( + "context" + "crypto/tls" + "errors" + "fmt" + "net" + "net/url" + "os" + "runtime" + "strconv" + "strings" + "time" + + "github.com/go-pg/pg/v10/internal/pool" +) + +// Options contains database connection options. +type Options struct { + // Network type, either tcp or unix. + // Default is tcp. + Network string + // TCP host:port or Unix socket depending on Network. + Addr string + + // Dialer creates new network connection and has priority over + // Network and Addr options. + Dialer func(ctx context.Context, network, addr string) (net.Conn, error) + + // Hook that is called after new connection is established + // and user is authenticated. + OnConnect func(ctx context.Context, cn *Conn) error + + User string + Password string + Database string + + // ApplicationName is the application name. Used in logs on Pg side. + // Only available from pg-9.0. + ApplicationName string + + // TLS config for secure connections. + TLSConfig *tls.Config + + // Dial timeout for establishing new connections. + // Default is 5 seconds. + DialTimeout time.Duration + + // Timeout for socket reads. If reached, commands will fail + // with a timeout instead of blocking. + ReadTimeout time.Duration + // Timeout for socket writes. If reached, commands will fail + // with a timeout instead of blocking. + WriteTimeout time.Duration + + // Maximum number of retries before giving up. + // Default is to not retry failed queries. + MaxRetries int + // Whether to retry queries cancelled because of statement_timeout. + RetryStatementTimeout bool + // Minimum backoff between each retry. + // Default is 250 milliseconds; -1 disables backoff. + MinRetryBackoff time.Duration + // Maximum backoff between each retry. + // Default is 4 seconds; -1 disables backoff. + MaxRetryBackoff time.Duration + + // Maximum number of socket connections. + // Default is 10 connections per every CPU as reported by runtime.NumCPU. + PoolSize int + // Minimum number of idle connections which is useful when establishing + // new connection is slow. + MinIdleConns int + // Connection age at which client retires (closes) the connection. + // It is useful with proxies like PgBouncer and HAProxy. + // Default is to not close aged connections. + MaxConnAge time.Duration + // Time for which client waits for free connection if all + // connections are busy before returning an error. + // Default is 30 seconds if ReadTimeOut is not defined, otherwise, + // ReadTimeout + 1 second. + PoolTimeout time.Duration + // Amount of time after which client closes idle connections. + // Should be less than server's timeout. + // Default is 5 minutes. -1 disables idle timeout check. + IdleTimeout time.Duration + // Frequency of idle checks made by idle connections reaper. + // Default is 1 minute. -1 disables idle connections reaper, + // but idle connections are still discarded by the client + // if IdleTimeout is set. + IdleCheckFrequency time.Duration +} + +func (opt *Options) init() { + if opt.Network == "" { + opt.Network = "tcp" + } + + if opt.Addr == "" { + switch opt.Network { + case "tcp": + host := env("PGHOST", "localhost") + port := env("PGPORT", "5432") + opt.Addr = fmt.Sprintf("%s:%s", host, port) + case "unix": + opt.Addr = "/var/run/postgresql/.s.PGSQL.5432" + } + } + + if opt.DialTimeout == 0 { + opt.DialTimeout = 5 * time.Second + } + if opt.Dialer == nil { + opt.Dialer = func(ctx context.Context, network, addr string) (net.Conn, error) { + netDialer := &net.Dialer{ + Timeout: opt.DialTimeout, + KeepAlive: 5 * time.Minute, + } + return netDialer.DialContext(ctx, network, addr) + } + } + + if opt.User == "" { + opt.User = env("PGUSER", "postgres") + } + + if opt.Database == "" { + opt.Database = env("PGDATABASE", "postgres") + } + + if opt.PoolSize == 0 { + opt.PoolSize = 10 * runtime.NumCPU() + } + + if opt.PoolTimeout == 0 { + if opt.ReadTimeout != 0 { + opt.PoolTimeout = opt.ReadTimeout + time.Second + } else { + opt.PoolTimeout = 30 * time.Second + } + } + + if opt.IdleTimeout == 0 { + opt.IdleTimeout = 5 * time.Minute + } + if opt.IdleCheckFrequency == 0 { + opt.IdleCheckFrequency = time.Minute + } + + switch opt.MinRetryBackoff { + case -1: + opt.MinRetryBackoff = 0 + case 0: + opt.MinRetryBackoff = 250 * time.Millisecond + } + switch opt.MaxRetryBackoff { + case -1: + opt.MaxRetryBackoff = 0 + case 0: + opt.MaxRetryBackoff = 4 * time.Second + } +} + +func env(key, defValue string) string { + envValue := os.Getenv(key) + if envValue != "" { + return envValue + } + return defValue +} + +// ParseURL parses an URL into options that can be used to connect to PostgreSQL. +func ParseURL(sURL string) (*Options, error) { + parsedURL, err := url.Parse(sURL) + if err != nil { + return nil, err + } + + // scheme + if parsedURL.Scheme != "postgres" && parsedURL.Scheme != "postgresql" { + return nil, errors.New("pg: invalid scheme: " + parsedURL.Scheme) + } + + // host and port + options := &Options{ + Addr: parsedURL.Host, + } + if !strings.Contains(options.Addr, ":") { + options.Addr += ":5432" + } + + // username and password + if parsedURL.User != nil { + options.User = parsedURL.User.Username() + + if password, ok := parsedURL.User.Password(); ok { + options.Password = password + } + } + + if options.User == "" { + options.User = "postgres" + } + + // database + if len(strings.Trim(parsedURL.Path, "/")) > 0 { + options.Database = parsedURL.Path[1:] + } else { + return nil, errors.New("pg: database name not provided") + } + + // ssl mode + query, err := url.ParseQuery(parsedURL.RawQuery) + if err != nil { + return nil, err + } + + if sslMode, ok := query["sslmode"]; ok && len(sslMode) > 0 { + switch sslMode[0] { + case "verify-ca", "verify-full": + options.TLSConfig = &tls.Config{} + case "allow", "prefer", "require": + options.TLSConfig = &tls.Config{InsecureSkipVerify: true} //nolint + case "disable": + options.TLSConfig = nil + default: + return nil, fmt.Errorf("pg: sslmode '%v' is not supported", sslMode[0]) + } + } else { + options.TLSConfig = &tls.Config{InsecureSkipVerify: true} //nolint + } + + delete(query, "sslmode") + + if appName, ok := query["application_name"]; ok && len(appName) > 0 { + options.ApplicationName = appName[0] + } + + delete(query, "application_name") + + if connTimeout, ok := query["connect_timeout"]; ok && len(connTimeout) > 0 { + ct, err := strconv.Atoi(connTimeout[0]) + if err != nil { + return nil, fmt.Errorf("pg: cannot parse connect_timeout option as int") + } + options.DialTimeout = time.Second * time.Duration(ct) + } + + delete(query, "connect_timeout") + + if len(query) > 0 { + return nil, errors.New("pg: options other than 'sslmode', 'application_name' and 'connect_timeout' are not supported") + } + + return options, nil +} + +func (opt *Options) getDialer() func(context.Context) (net.Conn, error) { + return func(ctx context.Context) (net.Conn, error) { + return opt.Dialer(ctx, opt.Network, opt.Addr) + } +} + +func newConnPool(opt *Options) *pool.ConnPool { + return pool.NewConnPool(&pool.Options{ + Dialer: opt.getDialer(), + OnClose: terminateConn, + + PoolSize: opt.PoolSize, + MinIdleConns: opt.MinIdleConns, + MaxConnAge: opt.MaxConnAge, + PoolTimeout: opt.PoolTimeout, + IdleTimeout: opt.IdleTimeout, + IdleCheckFrequency: opt.IdleCheckFrequency, + }) +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/composite.go b/vendor/github.com/go-pg/pg/v10/orm/composite.go new file mode 100644 index 000000000..d2e48a8b3 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/composite.go @@ -0,0 +1,100 @@ +package orm + +import ( + "fmt" + "reflect" + + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/types" +) + +func compositeScanner(typ reflect.Type) types.ScannerFunc { + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + } + + var table *Table + return func(v reflect.Value, rd types.Reader, n int) error { + if n == -1 { + v.Set(reflect.Zero(v.Type())) + return nil + } + + if table == nil { + table = GetTable(typ) + } + if v.Kind() == reflect.Ptr { + if v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + v = v.Elem() + } + + p := newCompositeParser(rd) + var elemReader *pool.BytesReader + + var firstErr error + for i := 0; ; i++ { + elem, err := p.NextElem() + if err != nil { + if err == errEndOfComposite { + break + } + return err + } + + if i >= len(table.Fields) { + if firstErr == nil { + firstErr = fmt.Errorf( + "pg: %s has %d fields, but composite requires at least %d values", + table, len(table.Fields), i) + } + continue + } + + if elemReader == nil { + elemReader = pool.NewBytesReader(elem) + } else { + elemReader.Reset(elem) + } + + field := table.Fields[i] + if elem == nil { + err = field.ScanValue(v, elemReader, -1) + } else { + err = field.ScanValue(v, elemReader, len(elem)) + } + if err != nil && firstErr == nil { + firstErr = err + } + } + + return firstErr + } +} + +func compositeAppender(typ reflect.Type) types.AppenderFunc { + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + } + + var table *Table + return func(b []byte, v reflect.Value, quote int) []byte { + if table == nil { + table = GetTable(typ) + } + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + + b = append(b, "ROW("...) + for i, f := range table.Fields { + if i > 0 { + b = append(b, ',') + } + b = f.AppendValue(b, v, quote) + } + b = append(b, ')') + return b + } +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/composite_create.go b/vendor/github.com/go-pg/pg/v10/orm/composite_create.go new file mode 100644 index 000000000..fd60a94e4 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/composite_create.go @@ -0,0 +1,89 @@ +package orm + +import ( + "strconv" +) + +type CreateCompositeOptions struct { + Varchar int // replaces PostgreSQL data type `text` with `varchar(n)` +} + +type CreateCompositeQuery struct { + q *Query + opt *CreateCompositeOptions +} + +var ( + _ QueryAppender = (*CreateCompositeQuery)(nil) + _ QueryCommand = (*CreateCompositeQuery)(nil) +) + +func NewCreateCompositeQuery(q *Query, opt *CreateCompositeOptions) *CreateCompositeQuery { + return &CreateCompositeQuery{ + q: q, + opt: opt, + } +} + +func (q *CreateCompositeQuery) String() string { + b, err := q.AppendQuery(defaultFmter, nil) + if err != nil { + panic(err) + } + return string(b) +} + +func (q *CreateCompositeQuery) Operation() QueryOp { + return CreateCompositeOp +} + +func (q *CreateCompositeQuery) Clone() QueryCommand { + return &CreateCompositeQuery{ + q: q.q.Clone(), + opt: q.opt, + } +} + +func (q *CreateCompositeQuery) Query() *Query { + return q.q +} + +func (q *CreateCompositeQuery) AppendTemplate(b []byte) ([]byte, error) { + return q.AppendQuery(dummyFormatter{}, b) +} + +func (q *CreateCompositeQuery) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + if q.q.stickyErr != nil { + return nil, q.q.stickyErr + } + if q.q.tableModel == nil { + return nil, errModelNil + } + + table := q.q.tableModel.Table() + + b = append(b, "CREATE TYPE "...) + b = append(b, table.Alias...) + b = append(b, " AS ("...) + + for i, field := range table.Fields { + if i > 0 { + b = append(b, ", "...) + } + + b = append(b, field.Column...) + b = append(b, " "...) + if field.UserSQLType == "" && q.opt != nil && q.opt.Varchar > 0 && + field.SQLType == "text" { + b = append(b, "varchar("...) + b = strconv.AppendInt(b, int64(q.opt.Varchar), 10) + b = append(b, ")"...) + } else { + b = append(b, field.SQLType...) + } + } + + b = append(b, ")"...) + + return b, q.q.stickyErr +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/composite_drop.go b/vendor/github.com/go-pg/pg/v10/orm/composite_drop.go new file mode 100644 index 000000000..2a169b07a --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/composite_drop.go @@ -0,0 +1,70 @@ +package orm + +type DropCompositeOptions struct { + IfExists bool + Cascade bool +} + +type DropCompositeQuery struct { + q *Query + opt *DropCompositeOptions +} + +var ( + _ QueryAppender = (*DropCompositeQuery)(nil) + _ QueryCommand = (*DropCompositeQuery)(nil) +) + +func NewDropCompositeQuery(q *Query, opt *DropCompositeOptions) *DropCompositeQuery { + return &DropCompositeQuery{ + q: q, + opt: opt, + } +} + +func (q *DropCompositeQuery) String() string { + b, err := q.AppendQuery(defaultFmter, nil) + if err != nil { + panic(err) + } + return string(b) +} + +func (q *DropCompositeQuery) Operation() QueryOp { + return DropCompositeOp +} + +func (q *DropCompositeQuery) Clone() QueryCommand { + return &DropCompositeQuery{ + q: q.q.Clone(), + opt: q.opt, + } +} + +func (q *DropCompositeQuery) Query() *Query { + return q.q +} + +func (q *DropCompositeQuery) AppendTemplate(b []byte) ([]byte, error) { + return q.AppendQuery(dummyFormatter{}, b) +} + +func (q *DropCompositeQuery) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + if q.q.stickyErr != nil { + return nil, q.q.stickyErr + } + if q.q.tableModel == nil { + return nil, errModelNil + } + + b = append(b, "DROP TYPE "...) + if q.opt != nil && q.opt.IfExists { + b = append(b, "IF EXISTS "...) + } + b = append(b, q.q.tableModel.Table().Alias...) + if q.opt != nil && q.opt.Cascade { + b = append(b, " CASCADE"...) + } + + return b, q.q.stickyErr +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/composite_parser.go b/vendor/github.com/go-pg/pg/v10/orm/composite_parser.go new file mode 100644 index 000000000..29e500444 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/composite_parser.go @@ -0,0 +1,140 @@ +package orm + +import ( + "bufio" + "errors" + "fmt" + "io" + + "github.com/go-pg/pg/v10/internal/parser" + "github.com/go-pg/pg/v10/types" +) + +var errEndOfComposite = errors.New("pg: end of composite") + +type compositeParser struct { + p parser.StreamingParser + + stickyErr error +} + +func newCompositeParserErr(err error) *compositeParser { + return &compositeParser{ + stickyErr: err, + } +} + +func newCompositeParser(rd types.Reader) *compositeParser { + p := parser.NewStreamingParser(rd) + err := p.SkipByte('(') + if err != nil { + return newCompositeParserErr(err) + } + return &compositeParser{ + p: p, + } +} + +func (p *compositeParser) NextElem() ([]byte, error) { + if p.stickyErr != nil { + return nil, p.stickyErr + } + + c, err := p.p.ReadByte() + if err != nil { + if err == io.EOF { + return nil, errEndOfComposite + } + return nil, err + } + + switch c { + case '"': + return p.readQuoted() + case ',': + return nil, nil + case ')': + return nil, errEndOfComposite + default: + _ = p.p.UnreadByte() + } + + var b []byte + for { + tmp, err := p.p.ReadSlice(',') + if err == nil { + if b == nil { + b = tmp + } else { + b = append(b, tmp...) + } + b = b[:len(b)-1] + break + } + b = append(b, tmp...) + if err == bufio.ErrBufferFull { + continue + } + if err == io.EOF { + if b[len(b)-1] == ')' { + b = b[:len(b)-1] + break + } + } + return nil, err + } + + if len(b) == 0 { // NULL + return nil, nil + } + return b, nil +} + +func (p *compositeParser) readQuoted() ([]byte, error) { + var b []byte + + c, err := p.p.ReadByte() + if err != nil { + return nil, err + } + + for { + next, err := p.p.ReadByte() + if err != nil { + return nil, err + } + + if c == '\\' || c == '\'' { + if next == c { + b = append(b, c) + c, err = p.p.ReadByte() + if err != nil { + return nil, err + } + } else { + b = append(b, c) + c = next + } + continue + } + + if c == '"' { + switch next { + case '"': + b = append(b, '"') + c, err = p.p.ReadByte() + if err != nil { + return nil, err + } + case ',', ')': + return b, nil + default: + return nil, fmt.Errorf("pg: got %q, wanted ',' or ')'", c) + } + continue + } + + b = append(b, c) + c = next + } +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/count_estimate.go b/vendor/github.com/go-pg/pg/v10/orm/count_estimate.go new file mode 100644 index 000000000..bfa664a72 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/count_estimate.go @@ -0,0 +1,90 @@ +package orm + +import ( + "fmt" + + "github.com/go-pg/pg/v10/internal" +) + +// Placeholder that is replaced with count(*). +const placeholder = `'_go_pg_placeholder'` + +// https://wiki.postgresql.org/wiki/Count_estimate +//nolint +var pgCountEstimateFunc = fmt.Sprintf(` +CREATE OR REPLACE FUNCTION _go_pg_count_estimate_v2(query text, threshold int) +RETURNS int AS $$ +DECLARE + rec record; + nrows int; +BEGIN + FOR rec IN EXECUTE 'EXPLAIN ' || query LOOP + nrows := substring(rec."QUERY PLAN" FROM ' rows=(\d+)'); + EXIT WHEN nrows IS NOT NULL; + END LOOP; + + -- Return the estimation if there are too many rows. + IF nrows > threshold THEN + RETURN nrows; + END IF; + + -- Otherwise execute real count query. + query := replace(query, 'SELECT '%s'', 'SELECT count(*)'); + EXECUTE query INTO nrows; + + IF nrows IS NULL THEN + nrows := 0; + END IF; + + RETURN nrows; +END; +$$ LANGUAGE plpgsql; +`, placeholder) + +// CountEstimate uses EXPLAIN to get estimated number of rows returned the query. +// If that number is bigger than the threshold it returns the estimation. +// Otherwise it executes another query using count aggregate function and +// returns the result. +// +// Based on https://wiki.postgresql.org/wiki/Count_estimate +func (q *Query) CountEstimate(threshold int) (int, error) { + if q.stickyErr != nil { + return 0, q.stickyErr + } + + query, err := q.countSelectQuery(placeholder).AppendQuery(q.db.Formatter(), nil) + if err != nil { + return 0, err + } + + for i := 0; i < 3; i++ { + var count int + _, err = q.db.QueryOneContext( + q.ctx, + Scan(&count), + "SELECT _go_pg_count_estimate_v2(?, ?)", + string(query), threshold, + ) + if err != nil { + if pgerr, ok := err.(internal.PGError); ok && pgerr.Field('C') == "42883" { + // undefined_function + err = q.createCountEstimateFunc() + if err != nil { + pgerr, ok := err.(internal.PGError) + if !ok || !pgerr.IntegrityViolation() { + return 0, err + } + } + continue + } + } + return count, err + } + + return 0, err +} + +func (q *Query) createCountEstimateFunc() error { + _, err := q.db.ExecContext(q.ctx, pgCountEstimateFunc) + return err +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/delete.go b/vendor/github.com/go-pg/pg/v10/orm/delete.go new file mode 100644 index 000000000..c54cd10f8 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/delete.go @@ -0,0 +1,158 @@ +package orm + +import ( + "reflect" + + "github.com/go-pg/pg/v10/types" +) + +type DeleteQuery struct { + q *Query + placeholder bool +} + +var ( + _ QueryAppender = (*DeleteQuery)(nil) + _ QueryCommand = (*DeleteQuery)(nil) +) + +func NewDeleteQuery(q *Query) *DeleteQuery { + return &DeleteQuery{ + q: q, + } +} + +func (q *DeleteQuery) String() string { + b, err := q.AppendQuery(defaultFmter, nil) + if err != nil { + panic(err) + } + return string(b) +} + +func (q *DeleteQuery) Operation() QueryOp { + return DeleteOp +} + +func (q *DeleteQuery) Clone() QueryCommand { + return &DeleteQuery{ + q: q.q.Clone(), + placeholder: q.placeholder, + } +} + +func (q *DeleteQuery) Query() *Query { + return q.q +} + +func (q *DeleteQuery) AppendTemplate(b []byte) ([]byte, error) { + cp := q.Clone().(*DeleteQuery) + cp.placeholder = true + return cp.AppendQuery(dummyFormatter{}, b) +} + +func (q *DeleteQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if q.q.stickyErr != nil { + return nil, q.q.stickyErr + } + + if len(q.q.with) > 0 { + b, err = q.q.appendWith(fmter, b) + if err != nil { + return nil, err + } + } + + b = append(b, "DELETE FROM "...) + b, err = q.q.appendFirstTableWithAlias(fmter, b) + if err != nil { + return nil, err + } + + if q.q.hasMultiTables() { + b = append(b, " USING "...) + b, err = q.q.appendOtherTables(fmter, b) + if err != nil { + return nil, err + } + } + + b = append(b, " WHERE "...) + value := q.q.tableModel.Value() + + if q.q.isSliceModelWithData() { + if len(q.q.where) > 0 { + b, err = q.q.appendWhere(fmter, b) + if err != nil { + return nil, err + } + } else { + table := q.q.tableModel.Table() + err = table.checkPKs() + if err != nil { + return nil, err + } + + b = appendColumnAndSliceValue(fmter, b, value, table.Alias, table.PKs) + } + } else { + b, err = q.q.mustAppendWhere(fmter, b) + if err != nil { + return nil, err + } + } + + if len(q.q.returning) > 0 { + b, err = q.q.appendReturning(fmter, b) + if err != nil { + return nil, err + } + } + + return b, q.q.stickyErr +} + +func appendColumnAndSliceValue( + fmter QueryFormatter, b []byte, slice reflect.Value, alias types.Safe, fields []*Field, +) []byte { + if len(fields) > 1 { + b = append(b, '(') + } + b = appendColumns(b, alias, fields) + if len(fields) > 1 { + b = append(b, ')') + } + + b = append(b, " IN ("...) + + isPlaceholder := isTemplateFormatter(fmter) + sliceLen := slice.Len() + for i := 0; i < sliceLen; i++ { + if i > 0 { + b = append(b, ", "...) + } + + el := indirect(slice.Index(i)) + + if len(fields) > 1 { + b = append(b, '(') + } + for i, f := range fields { + if i > 0 { + b = append(b, ", "...) + } + if isPlaceholder { + b = append(b, '?') + } else { + b = f.AppendValue(b, el, 1) + } + } + if len(fields) > 1 { + b = append(b, ')') + } + } + + b = append(b, ')') + + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/field.go b/vendor/github.com/go-pg/pg/v10/orm/field.go new file mode 100644 index 000000000..fe9b4abea --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/field.go @@ -0,0 +1,146 @@ +package orm + +import ( + "fmt" + "reflect" + + "github.com/go-pg/pg/v10/types" + "github.com/go-pg/zerochecker" +) + +const ( + PrimaryKeyFlag = uint8(1) << iota + ForeignKeyFlag + NotNullFlag + UseZeroFlag + UniqueFlag + ArrayFlag +) + +type Field struct { + Field reflect.StructField + Type reflect.Type + Index []int + + GoName string // struct field name, e.g. Id + SQLName string // SQL name, .e.g. id + Column types.Safe // escaped SQL name, e.g. "id" + SQLType string + UserSQLType string + Default types.Safe + OnDelete string + OnUpdate string + + flags uint8 + + append types.AppenderFunc + scan types.ScannerFunc + + isZero zerochecker.Func +} + +func indexEqual(ind1, ind2 []int) bool { + if len(ind1) != len(ind2) { + return false + } + for i, ind := range ind1 { + if ind != ind2[i] { + return false + } + } + return true +} + +func (f *Field) Clone() *Field { + cp := *f + cp.Index = cp.Index[:len(f.Index):len(f.Index)] + return &cp +} + +func (f *Field) setFlag(flag uint8) { + f.flags |= flag +} + +func (f *Field) hasFlag(flag uint8) bool { + return f.flags&flag != 0 +} + +func (f *Field) Value(strct reflect.Value) reflect.Value { + return fieldByIndexAlloc(strct, f.Index) +} + +func (f *Field) HasZeroValue(strct reflect.Value) bool { + return f.hasZeroValue(strct, f.Index) +} + +func (f *Field) hasZeroValue(v reflect.Value, index []int) bool { + for _, idx := range index { + if v.Kind() == reflect.Ptr { + if v.IsNil() { + return true + } + v = v.Elem() + } + v = v.Field(idx) + } + return f.isZero(v) +} + +func (f *Field) NullZero() bool { + return !f.hasFlag(UseZeroFlag) +} + +func (f *Field) AppendValue(b []byte, strct reflect.Value, quote int) []byte { + fv, ok := fieldByIndex(strct, f.Index) + if !ok { + return types.AppendNull(b, quote) + } + + if f.NullZero() && f.isZero(fv) { + return types.AppendNull(b, quote) + } + if f.append == nil { + panic(fmt.Errorf("pg: AppendValue(unsupported %s)", fv.Type())) + } + return f.append(b, fv, quote) +} + +func (f *Field) ScanValue(strct reflect.Value, rd types.Reader, n int) error { + if f.scan == nil { + return fmt.Errorf("pg: ScanValue(unsupported %s)", f.Type) + } + + var fv reflect.Value + if n == -1 { + var ok bool + fv, ok = fieldByIndex(strct, f.Index) + if !ok { + return nil + } + } else { + fv = fieldByIndexAlloc(strct, f.Index) + } + + return f.scan(fv, rd, n) +} + +type Method struct { + Index int + + flags int8 + + appender func([]byte, reflect.Value, int) []byte +} + +func (m *Method) Has(flag int8) bool { + return m.flags&flag != 0 +} + +func (m *Method) Value(strct reflect.Value) reflect.Value { + return strct.Method(m.Index).Call(nil)[0] +} + +func (m *Method) AppendValue(dst []byte, strct reflect.Value, quote int) []byte { + mv := m.Value(strct) + return m.appender(dst, mv, quote) +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/format.go b/vendor/github.com/go-pg/pg/v10/orm/format.go new file mode 100644 index 000000000..9945f6e1d --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/format.go @@ -0,0 +1,333 @@ +package orm + +import ( + "bytes" + "fmt" + "sort" + "strconv" + "strings" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/internal/parser" + "github.com/go-pg/pg/v10/types" +) + +var defaultFmter = NewFormatter() + +type queryWithSepAppender interface { + QueryAppender + AppendSep([]byte) []byte +} + +//------------------------------------------------------------------------------ + +type SafeQueryAppender struct { + query string + params []interface{} +} + +var ( + _ QueryAppender = (*SafeQueryAppender)(nil) + _ types.ValueAppender = (*SafeQueryAppender)(nil) +) + +//nolint +func SafeQuery(query string, params ...interface{}) *SafeQueryAppender { + return &SafeQueryAppender{query, params} +} + +func (q *SafeQueryAppender) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + return fmter.FormatQuery(b, q.query, q.params...), nil +} + +func (q *SafeQueryAppender) AppendValue(b []byte, quote int) ([]byte, error) { + return q.AppendQuery(defaultFmter, b) +} + +func (q *SafeQueryAppender) Value() types.Safe { + b, err := q.AppendValue(nil, 1) + if err != nil { + return types.Safe(err.Error()) + } + return types.Safe(internal.BytesToString(b)) +} + +//------------------------------------------------------------------------------ + +type condGroupAppender struct { + sep string + cond []queryWithSepAppender +} + +var ( + _ QueryAppender = (*condAppender)(nil) + _ queryWithSepAppender = (*condAppender)(nil) +) + +func (q *condGroupAppender) AppendSep(b []byte) []byte { + return append(b, q.sep...) +} + +func (q *condGroupAppender) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) { + b = append(b, '(') + for i, app := range q.cond { + if i > 0 { + b = app.AppendSep(b) + } + b, err = app.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + b = append(b, ')') + return b, nil +} + +//------------------------------------------------------------------------------ + +type condAppender struct { + sep string + cond string + params []interface{} +} + +var ( + _ QueryAppender = (*condAppender)(nil) + _ queryWithSepAppender = (*condAppender)(nil) +) + +func (q *condAppender) AppendSep(b []byte) []byte { + return append(b, q.sep...) +} + +func (q *condAppender) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + b = append(b, '(') + b = fmter.FormatQuery(b, q.cond, q.params...) + b = append(b, ')') + return b, nil +} + +//------------------------------------------------------------------------------ + +type fieldAppender struct { + field string +} + +var _ QueryAppender = (*fieldAppender)(nil) + +func (a fieldAppender) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + return types.AppendIdent(b, a.field, 1), nil +} + +//------------------------------------------------------------------------------ + +type dummyFormatter struct{} + +func (f dummyFormatter) FormatQuery(b []byte, query string, params ...interface{}) []byte { + return append(b, query...) +} + +func isTemplateFormatter(fmter QueryFormatter) bool { + _, ok := fmter.(dummyFormatter) + return ok +} + +//------------------------------------------------------------------------------ + +type QueryFormatter interface { + FormatQuery(b []byte, query string, params ...interface{}) []byte +} + +type Formatter struct { + namedParams map[string]interface{} + model TableModel +} + +var _ QueryFormatter = (*Formatter)(nil) + +func NewFormatter() *Formatter { + return new(Formatter) +} + +func (f *Formatter) String() string { + if len(f.namedParams) == 0 { + return "" + } + + keys := make([]string, len(f.namedParams)) + index := 0 + for k := range f.namedParams { + keys[index] = k + index++ + } + + sort.Strings(keys) + + ss := make([]string, len(keys)) + for i, k := range keys { + ss[i] = fmt.Sprintf("%s=%v", k, f.namedParams[k]) + } + return " " + strings.Join(ss, " ") +} + +func (f *Formatter) clone() *Formatter { + cp := NewFormatter() + + cp.model = f.model + if len(f.namedParams) > 0 { + cp.namedParams = make(map[string]interface{}, len(f.namedParams)) + } + for param, value := range f.namedParams { + cp.setParam(param, value) + } + + return cp +} + +func (f *Formatter) WithTableModel(model TableModel) *Formatter { + cp := f.clone() + cp.model = model + return cp +} + +func (f *Formatter) WithModel(model interface{}) *Formatter { + switch model := model.(type) { + case TableModel: + return f.WithTableModel(model) + case *Query: + return f.WithTableModel(model.tableModel) + case QueryCommand: + return f.WithTableModel(model.Query().tableModel) + default: + panic(fmt.Errorf("pg: unsupported model %T", model)) + } +} + +func (f *Formatter) setParam(param string, value interface{}) { + if f.namedParams == nil { + f.namedParams = make(map[string]interface{}) + } + f.namedParams[param] = value +} + +func (f *Formatter) WithParam(param string, value interface{}) *Formatter { + cp := f.clone() + cp.setParam(param, value) + return cp +} + +func (f *Formatter) Param(param string) interface{} { + return f.namedParams[param] +} + +func (f *Formatter) hasParams() bool { + return len(f.namedParams) > 0 || f.model != nil +} + +func (f *Formatter) FormatQueryBytes(dst, query []byte, params ...interface{}) []byte { + if (params == nil && !f.hasParams()) || bytes.IndexByte(query, '?') == -1 { + return append(dst, query...) + } + return f.append(dst, parser.New(query), params) +} + +func (f *Formatter) FormatQuery(dst []byte, query string, params ...interface{}) []byte { + if (params == nil && !f.hasParams()) || strings.IndexByte(query, '?') == -1 { + return append(dst, query...) + } + return f.append(dst, parser.NewString(query), params) +} + +func (f *Formatter) append(dst []byte, p *parser.Parser, params []interface{}) []byte { + var paramsIndex int + var namedParamsOnce bool + var tableParams *tableParams + + for p.Valid() { + b, ok := p.ReadSep('?') + if !ok { + dst = append(dst, b...) + continue + } + if len(b) > 0 && b[len(b)-1] == '\\' { + dst = append(dst, b[:len(b)-1]...) + dst = append(dst, '?') + continue + } + dst = append(dst, b...) + + id, numeric := p.ReadIdentifier() + if id != "" { + if numeric { + idx, err := strconv.Atoi(id) + if err != nil { + goto restore_param + } + + if idx >= len(params) { + goto restore_param + } + + dst = f.appendParam(dst, params[idx]) + continue + } + + if f.namedParams != nil { + param, paramOK := f.namedParams[id] + if paramOK { + dst = f.appendParam(dst, param) + continue + } + } + + if !namedParamsOnce && len(params) > 0 { + namedParamsOnce = true + tableParams, _ = newTableParams(params[len(params)-1]) + } + + if tableParams != nil { + dst, ok = tableParams.AppendParam(f, dst, id) + if ok { + continue + } + } + + if f.model != nil { + dst, ok = f.model.AppendParam(f, dst, id) + if ok { + continue + } + } + + restore_param: + dst = append(dst, '?') + dst = append(dst, id...) + continue + } + + if paramsIndex >= len(params) { + dst = append(dst, '?') + continue + } + + param := params[paramsIndex] + paramsIndex++ + + dst = f.appendParam(dst, param) + } + + return dst +} + +func (f *Formatter) appendParam(b []byte, param interface{}) []byte { + switch param := param.(type) { + case QueryAppender: + bb, err := param.AppendQuery(f, b) + if err != nil { + return types.AppendError(b, err) + } + return bb + default: + return types.Append(b, param, 1) + } +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/hook.go b/vendor/github.com/go-pg/pg/v10/orm/hook.go new file mode 100644 index 000000000..78bd10310 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/hook.go @@ -0,0 +1,248 @@ +package orm + +import ( + "context" + "reflect" +) + +type hookStubs struct{} + +var ( + _ AfterScanHook = (*hookStubs)(nil) + _ AfterSelectHook = (*hookStubs)(nil) + _ BeforeInsertHook = (*hookStubs)(nil) + _ AfterInsertHook = (*hookStubs)(nil) + _ BeforeUpdateHook = (*hookStubs)(nil) + _ AfterUpdateHook = (*hookStubs)(nil) + _ BeforeDeleteHook = (*hookStubs)(nil) + _ AfterDeleteHook = (*hookStubs)(nil) +) + +func (hookStubs) AfterScan(ctx context.Context) error { + return nil +} + +func (hookStubs) AfterSelect(ctx context.Context) error { + return nil +} + +func (hookStubs) BeforeInsert(ctx context.Context) (context.Context, error) { + return ctx, nil +} + +func (hookStubs) AfterInsert(ctx context.Context) error { + return nil +} + +func (hookStubs) BeforeUpdate(ctx context.Context) (context.Context, error) { + return ctx, nil +} + +func (hookStubs) AfterUpdate(ctx context.Context) error { + return nil +} + +func (hookStubs) BeforeDelete(ctx context.Context) (context.Context, error) { + return ctx, nil +} + +func (hookStubs) AfterDelete(ctx context.Context) error { + return nil +} + +func callHookSlice( + ctx context.Context, + slice reflect.Value, + ptr bool, + hook func(context.Context, reflect.Value) (context.Context, error), +) (context.Context, error) { + var firstErr error + sliceLen := slice.Len() + for i := 0; i < sliceLen; i++ { + v := slice.Index(i) + if !ptr { + v = v.Addr() + } + + var err error + ctx, err = hook(ctx, v) + if err != nil && firstErr == nil { + firstErr = err + } + } + return ctx, firstErr +} + +func callHookSlice2( + ctx context.Context, + slice reflect.Value, + ptr bool, + hook func(context.Context, reflect.Value) error, +) error { + var firstErr error + if slice.IsValid() { + sliceLen := slice.Len() + for i := 0; i < sliceLen; i++ { + v := slice.Index(i) + if !ptr { + v = v.Addr() + } + + err := hook(ctx, v) + if err != nil && firstErr == nil { + firstErr = err + } + } + } + return firstErr +} + +//------------------------------------------------------------------------------ + +type BeforeScanHook interface { + BeforeScan(context.Context) error +} + +var beforeScanHookType = reflect.TypeOf((*BeforeScanHook)(nil)).Elem() + +func callBeforeScanHook(ctx context.Context, v reflect.Value) error { + return v.Interface().(BeforeScanHook).BeforeScan(ctx) +} + +//------------------------------------------------------------------------------ + +type AfterScanHook interface { + AfterScan(context.Context) error +} + +var afterScanHookType = reflect.TypeOf((*AfterScanHook)(nil)).Elem() + +func callAfterScanHook(ctx context.Context, v reflect.Value) error { + return v.Interface().(AfterScanHook).AfterScan(ctx) +} + +//------------------------------------------------------------------------------ + +type AfterSelectHook interface { + AfterSelect(context.Context) error +} + +var afterSelectHookType = reflect.TypeOf((*AfterSelectHook)(nil)).Elem() + +func callAfterSelectHook(ctx context.Context, v reflect.Value) error { + return v.Interface().(AfterSelectHook).AfterSelect(ctx) +} + +func callAfterSelectHookSlice( + ctx context.Context, slice reflect.Value, ptr bool, +) error { + return callHookSlice2(ctx, slice, ptr, callAfterSelectHook) +} + +//------------------------------------------------------------------------------ + +type BeforeInsertHook interface { + BeforeInsert(context.Context) (context.Context, error) +} + +var beforeInsertHookType = reflect.TypeOf((*BeforeInsertHook)(nil)).Elem() + +func callBeforeInsertHook(ctx context.Context, v reflect.Value) (context.Context, error) { + return v.Interface().(BeforeInsertHook).BeforeInsert(ctx) +} + +func callBeforeInsertHookSlice( + ctx context.Context, slice reflect.Value, ptr bool, +) (context.Context, error) { + return callHookSlice(ctx, slice, ptr, callBeforeInsertHook) +} + +//------------------------------------------------------------------------------ + +type AfterInsertHook interface { + AfterInsert(context.Context) error +} + +var afterInsertHookType = reflect.TypeOf((*AfterInsertHook)(nil)).Elem() + +func callAfterInsertHook(ctx context.Context, v reflect.Value) error { + return v.Interface().(AfterInsertHook).AfterInsert(ctx) +} + +func callAfterInsertHookSlice( + ctx context.Context, slice reflect.Value, ptr bool, +) error { + return callHookSlice2(ctx, slice, ptr, callAfterInsertHook) +} + +//------------------------------------------------------------------------------ + +type BeforeUpdateHook interface { + BeforeUpdate(context.Context) (context.Context, error) +} + +var beforeUpdateHookType = reflect.TypeOf((*BeforeUpdateHook)(nil)).Elem() + +func callBeforeUpdateHook(ctx context.Context, v reflect.Value) (context.Context, error) { + return v.Interface().(BeforeUpdateHook).BeforeUpdate(ctx) +} + +func callBeforeUpdateHookSlice( + ctx context.Context, slice reflect.Value, ptr bool, +) (context.Context, error) { + return callHookSlice(ctx, slice, ptr, callBeforeUpdateHook) +} + +//------------------------------------------------------------------------------ + +type AfterUpdateHook interface { + AfterUpdate(context.Context) error +} + +var afterUpdateHookType = reflect.TypeOf((*AfterUpdateHook)(nil)).Elem() + +func callAfterUpdateHook(ctx context.Context, v reflect.Value) error { + return v.Interface().(AfterUpdateHook).AfterUpdate(ctx) +} + +func callAfterUpdateHookSlice( + ctx context.Context, slice reflect.Value, ptr bool, +) error { + return callHookSlice2(ctx, slice, ptr, callAfterUpdateHook) +} + +//------------------------------------------------------------------------------ + +type BeforeDeleteHook interface { + BeforeDelete(context.Context) (context.Context, error) +} + +var beforeDeleteHookType = reflect.TypeOf((*BeforeDeleteHook)(nil)).Elem() + +func callBeforeDeleteHook(ctx context.Context, v reflect.Value) (context.Context, error) { + return v.Interface().(BeforeDeleteHook).BeforeDelete(ctx) +} + +func callBeforeDeleteHookSlice( + ctx context.Context, slice reflect.Value, ptr bool, +) (context.Context, error) { + return callHookSlice(ctx, slice, ptr, callBeforeDeleteHook) +} + +//------------------------------------------------------------------------------ + +type AfterDeleteHook interface { + AfterDelete(context.Context) error +} + +var afterDeleteHookType = reflect.TypeOf((*AfterDeleteHook)(nil)).Elem() + +func callAfterDeleteHook(ctx context.Context, v reflect.Value) error { + return v.Interface().(AfterDeleteHook).AfterDelete(ctx) +} + +func callAfterDeleteHookSlice( + ctx context.Context, slice reflect.Value, ptr bool, +) error { + return callHookSlice2(ctx, slice, ptr, callAfterDeleteHook) +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/insert.go b/vendor/github.com/go-pg/pg/v10/orm/insert.go new file mode 100644 index 000000000..a7a543576 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/insert.go @@ -0,0 +1,345 @@ +package orm + +import ( + "fmt" + "reflect" + "sort" + + "github.com/go-pg/pg/v10/types" +) + +type InsertQuery struct { + q *Query + returningFields []*Field + placeholder bool +} + +var _ QueryCommand = (*InsertQuery)(nil) + +func NewInsertQuery(q *Query) *InsertQuery { + return &InsertQuery{ + q: q, + } +} + +func (q *InsertQuery) String() string { + b, err := q.AppendQuery(defaultFmter, nil) + if err != nil { + panic(err) + } + return string(b) +} + +func (q *InsertQuery) Operation() QueryOp { + return InsertOp +} + +func (q *InsertQuery) Clone() QueryCommand { + return &InsertQuery{ + q: q.q.Clone(), + placeholder: q.placeholder, + } +} + +func (q *InsertQuery) Query() *Query { + return q.q +} + +var _ TemplateAppender = (*InsertQuery)(nil) + +func (q *InsertQuery) AppendTemplate(b []byte) ([]byte, error) { + cp := q.Clone().(*InsertQuery) + cp.placeholder = true + return cp.AppendQuery(dummyFormatter{}, b) +} + +var _ QueryAppender = (*InsertQuery)(nil) + +func (q *InsertQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if q.q.stickyErr != nil { + return nil, q.q.stickyErr + } + + if len(q.q.with) > 0 { + b, err = q.q.appendWith(fmter, b) + if err != nil { + return nil, err + } + } + + b = append(b, "INSERT INTO "...) + if q.q.onConflict != nil { + b, err = q.q.appendFirstTableWithAlias(fmter, b) + } else { + b, err = q.q.appendFirstTable(fmter, b) + } + if err != nil { + return nil, err + } + + b, err = q.appendColumnsValues(fmter, b) + if err != nil { + return nil, err + } + + if q.q.onConflict != nil { + b = append(b, " ON CONFLICT "...) + b, err = q.q.onConflict.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + + if q.q.onConflictDoUpdate() { + if len(q.q.set) > 0 { + b, err = q.q.appendSet(fmter, b) + if err != nil { + return nil, err + } + } else { + fields, err := q.q.getDataFields() + if err != nil { + return nil, err + } + + if len(fields) == 0 { + fields = q.q.tableModel.Table().DataFields + } + + b = q.appendSetExcluded(b, fields) + } + + if len(q.q.updWhere) > 0 { + b = append(b, " WHERE "...) + b, err = q.q.appendUpdWhere(fmter, b) + if err != nil { + return nil, err + } + } + } + } + + if len(q.q.returning) > 0 { + b, err = q.q.appendReturning(fmter, b) + if err != nil { + return nil, err + } + } else if len(q.returningFields) > 0 { + b = appendReturningFields(b, q.returningFields) + } + + return b, q.q.stickyErr +} + +func (q *InsertQuery) appendColumnsValues(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if q.q.hasMultiTables() { + if q.q.columns != nil { + b = append(b, " ("...) + b, err = q.q.appendColumns(fmter, b) + if err != nil { + return nil, err + } + b = append(b, ")"...) + } + + b = append(b, " SELECT * FROM "...) + b, err = q.q.appendOtherTables(fmter, b) + if err != nil { + return nil, err + } + + return b, nil + } + + if m, ok := q.q.model.(*mapModel); ok { + return q.appendMapColumnsValues(b, m.m), nil + } + + if !q.q.hasTableModel() { + return nil, errModelNil + } + + fields, err := q.q.getFields() + if err != nil { + return nil, err + } + + if len(fields) == 0 { + fields = q.q.tableModel.Table().Fields + } + value := q.q.tableModel.Value() + + b = append(b, " ("...) + b = q.appendColumns(b, fields) + b = append(b, ") VALUES ("...) + if m, ok := q.q.tableModel.(*sliceTableModel); ok { + if m.sliceLen == 0 { + err = fmt.Errorf("pg: can't bulk-insert empty slice %s", value.Type()) + return nil, err + } + b, err = q.appendSliceValues(fmter, b, fields, value) + if err != nil { + return nil, err + } + } else { + b, err = q.appendValues(fmter, b, fields, value) + if err != nil { + return nil, err + } + } + b = append(b, ")"...) + + return b, nil +} + +func (q *InsertQuery) appendMapColumnsValues(b []byte, m map[string]interface{}) []byte { + keys := make([]string, 0, len(m)) + + for k := range m { + keys = append(keys, k) + } + sort.Strings(keys) + + b = append(b, " ("...) + + for i, k := range keys { + if i > 0 { + b = append(b, ", "...) + } + b = types.AppendIdent(b, k, 1) + } + + b = append(b, ") VALUES ("...) + + for i, k := range keys { + if i > 0 { + b = append(b, ", "...) + } + if q.placeholder { + b = append(b, '?') + } else { + b = types.Append(b, m[k], 1) + } + } + + b = append(b, ")"...) + + return b +} + +func (q *InsertQuery) appendValues( + fmter QueryFormatter, b []byte, fields []*Field, strct reflect.Value, +) (_ []byte, err error) { + for i, f := range fields { + if i > 0 { + b = append(b, ", "...) + } + + app, ok := q.q.modelValues[f.SQLName] + if ok { + b, err = app.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + q.addReturningField(f) + continue + } + + switch { + case q.placeholder: + b = append(b, '?') + case (f.Default != "" || f.NullZero()) && f.HasZeroValue(strct): + b = append(b, "DEFAULT"...) + q.addReturningField(f) + default: + b = f.AppendValue(b, strct, 1) + } + } + + for i, v := range q.q.extraValues { + if i > 0 || len(fields) > 0 { + b = append(b, ", "...) + } + + b, err = v.value.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + + return b, nil +} + +func (q *InsertQuery) appendSliceValues( + fmter QueryFormatter, b []byte, fields []*Field, slice reflect.Value, +) (_ []byte, err error) { + if q.placeholder { + return q.appendValues(fmter, b, fields, reflect.Value{}) + } + + sliceLen := slice.Len() + for i := 0; i < sliceLen; i++ { + if i > 0 { + b = append(b, "), ("...) + } + el := indirect(slice.Index(i)) + b, err = q.appendValues(fmter, b, fields, el) + if err != nil { + return nil, err + } + } + + for i, v := range q.q.extraValues { + if i > 0 || len(fields) > 0 { + b = append(b, ", "...) + } + + b, err = v.value.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + + return b, nil +} + +func (q *InsertQuery) addReturningField(field *Field) { + if len(q.q.returning) > 0 { + return + } + for _, f := range q.returningFields { + if f == field { + return + } + } + q.returningFields = append(q.returningFields, field) +} + +func (q *InsertQuery) appendSetExcluded(b []byte, fields []*Field) []byte { + b = append(b, " SET "...) + for i, f := range fields { + if i > 0 { + b = append(b, ", "...) + } + b = append(b, f.Column...) + b = append(b, " = EXCLUDED."...) + b = append(b, f.Column...) + } + return b +} + +func (q *InsertQuery) appendColumns(b []byte, fields []*Field) []byte { + b = appendColumns(b, "", fields) + for i, v := range q.q.extraValues { + if i > 0 || len(fields) > 0 { + b = append(b, ", "...) + } + b = types.AppendIdent(b, v.column, 1) + } + return b +} + +func appendReturningFields(b []byte, fields []*Field) []byte { + b = append(b, " RETURNING "...) + b = appendColumns(b, "", fields) + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/join.go b/vendor/github.com/go-pg/pg/v10/orm/join.go new file mode 100644 index 000000000..2b64ba1b8 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/join.go @@ -0,0 +1,351 @@ +package orm + +import ( + "reflect" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/types" +) + +type join struct { + Parent *join + BaseModel TableModel + JoinModel TableModel + Rel *Relation + + ApplyQuery func(*Query) (*Query, error) + Columns []string + on []*condAppender +} + +func (j *join) AppendOn(app *condAppender) { + j.on = append(j.on, app) +} + +func (j *join) Select(fmter QueryFormatter, q *Query) error { + switch j.Rel.Type { + case HasManyRelation: + return j.selectMany(fmter, q) + case Many2ManyRelation: + return j.selectM2M(fmter, q) + } + panic("not reached") +} + +func (j *join) selectMany(_ QueryFormatter, q *Query) error { + q, err := j.manyQuery(q) + if err != nil { + return err + } + if q == nil { + return nil + } + return q.Select() +} + +func (j *join) manyQuery(q *Query) (*Query, error) { + manyModel := newManyModel(j) + if manyModel == nil { + return nil, nil + } + + q = q.Model(manyModel) + if j.ApplyQuery != nil { + var err error + q, err = j.ApplyQuery(q) + if err != nil { + return nil, err + } + } + + if len(q.columns) == 0 { + q.columns = append(q.columns, &hasManyColumnsAppender{j}) + } + + baseTable := j.BaseModel.Table() + var where []byte + if len(j.Rel.JoinFKs) > 1 { + where = append(where, '(') + } + where = appendColumns(where, j.JoinModel.Table().Alias, j.Rel.JoinFKs) + if len(j.Rel.JoinFKs) > 1 { + where = append(where, ')') + } + where = append(where, " IN ("...) + where = appendChildValues( + where, j.JoinModel.Root(), j.JoinModel.ParentIndex(), j.Rel.BaseFKs) + where = append(where, ")"...) + q = q.Where(internal.BytesToString(where)) + + if j.Rel.Polymorphic != nil { + q = q.Where(`? IN (?, ?)`, + j.Rel.Polymorphic.Column, + baseTable.ModelName, baseTable.TypeName) + } + + return q, nil +} + +func (j *join) selectM2M(fmter QueryFormatter, q *Query) error { + q, err := j.m2mQuery(fmter, q) + if err != nil { + return err + } + if q == nil { + return nil + } + return q.Select() +} + +func (j *join) m2mQuery(fmter QueryFormatter, q *Query) (*Query, error) { + m2mModel := newM2MModel(j) + if m2mModel == nil { + return nil, nil + } + + q = q.Model(m2mModel) + if j.ApplyQuery != nil { + var err error + q, err = j.ApplyQuery(q) + if err != nil { + return nil, err + } + } + + if len(q.columns) == 0 { + q.columns = append(q.columns, &hasManyColumnsAppender{j}) + } + + index := j.JoinModel.ParentIndex() + baseTable := j.BaseModel.Table() + + //nolint + var join []byte + join = append(join, "JOIN "...) + join = fmter.FormatQuery(join, string(j.Rel.M2MTableName)) + join = append(join, " AS "...) + join = append(join, j.Rel.M2MTableAlias...) + join = append(join, " ON ("...) + for i, col := range j.Rel.M2MBaseFKs { + if i > 0 { + join = append(join, ", "...) + } + join = append(join, j.Rel.M2MTableAlias...) + join = append(join, '.') + join = types.AppendIdent(join, col, 1) + } + join = append(join, ") IN ("...) + join = appendChildValues(join, j.BaseModel.Root(), index, baseTable.PKs) + join = append(join, ")"...) + q = q.Join(internal.BytesToString(join)) + + joinTable := j.JoinModel.Table() + for i, col := range j.Rel.M2MJoinFKs { + pk := joinTable.PKs[i] + q = q.Where("?.? = ?.?", + joinTable.Alias, pk.Column, + j.Rel.M2MTableAlias, types.Ident(col)) + } + + return q, nil +} + +func (j *join) hasParent() bool { + if j.Parent != nil { + switch j.Parent.Rel.Type { + case HasOneRelation, BelongsToRelation: + return true + } + } + return false +} + +func (j *join) appendAlias(b []byte) []byte { + b = append(b, '"') + b = appendAlias(b, j) + b = append(b, '"') + return b +} + +func (j *join) appendAliasColumn(b []byte, column string) []byte { + b = append(b, '"') + b = appendAlias(b, j) + b = append(b, "__"...) + b = append(b, column...) + b = append(b, '"') + return b +} + +func (j *join) appendBaseAlias(b []byte) []byte { + if j.hasParent() { + b = append(b, '"') + b = appendAlias(b, j.Parent) + b = append(b, '"') + return b + } + return append(b, j.BaseModel.Table().Alias...) +} + +func (j *join) appendSoftDelete(b []byte, flags queryFlag) []byte { + b = append(b, '.') + b = append(b, j.JoinModel.Table().SoftDeleteField.Column...) + if hasFlag(flags, deletedFlag) { + b = append(b, " IS NOT NULL"...) + } else { + b = append(b, " IS NULL"...) + } + return b +} + +func appendAlias(b []byte, j *join) []byte { + if j.hasParent() { + b = appendAlias(b, j.Parent) + b = append(b, "__"...) + } + b = append(b, j.Rel.Field.SQLName...) + return b +} + +func (j *join) appendHasOneColumns(b []byte) []byte { + if j.Columns == nil { + for i, f := range j.JoinModel.Table().Fields { + if i > 0 { + b = append(b, ", "...) + } + b = j.appendAlias(b) + b = append(b, '.') + b = append(b, f.Column...) + b = append(b, " AS "...) + b = j.appendAliasColumn(b, f.SQLName) + } + return b + } + + for i, column := range j.Columns { + if i > 0 { + b = append(b, ", "...) + } + b = j.appendAlias(b) + b = append(b, '.') + b = types.AppendIdent(b, column, 1) + b = append(b, " AS "...) + b = j.appendAliasColumn(b, column) + } + + return b +} + +func (j *join) appendHasOneJoin(fmter QueryFormatter, b []byte, q *Query) (_ []byte, err error) { + isSoftDelete := j.JoinModel.Table().SoftDeleteField != nil && !q.hasFlag(allWithDeletedFlag) + + b = append(b, "LEFT JOIN "...) + b = fmter.FormatQuery(b, string(j.JoinModel.Table().SQLNameForSelects)) + b = append(b, " AS "...) + b = j.appendAlias(b) + + b = append(b, " ON "...) + + if isSoftDelete { + b = append(b, '(') + } + + if len(j.Rel.BaseFKs) > 1 { + b = append(b, '(') + } + for i, baseFK := range j.Rel.BaseFKs { + if i > 0 { + b = append(b, " AND "...) + } + b = j.appendAlias(b) + b = append(b, '.') + b = append(b, j.Rel.JoinFKs[i].Column...) + b = append(b, " = "...) + b = j.appendBaseAlias(b) + b = append(b, '.') + b = append(b, baseFK.Column...) + } + if len(j.Rel.BaseFKs) > 1 { + b = append(b, ')') + } + + for _, on := range j.on { + b = on.AppendSep(b) + b, err = on.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + + if isSoftDelete { + b = append(b, ')') + } + + if isSoftDelete { + b = append(b, " AND "...) + b = j.appendAlias(b) + b = j.appendSoftDelete(b, q.flags) + } + + return b, nil +} + +type hasManyColumnsAppender struct { + *join +} + +var _ QueryAppender = (*hasManyColumnsAppender)(nil) + +func (q *hasManyColumnsAppender) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + if q.Rel.M2MTableAlias != "" { + b = append(b, q.Rel.M2MTableAlias...) + b = append(b, ".*, "...) + } + + joinTable := q.JoinModel.Table() + + if q.Columns != nil { + for i, column := range q.Columns { + if i > 0 { + b = append(b, ", "...) + } + b = append(b, joinTable.Alias...) + b = append(b, '.') + b = types.AppendIdent(b, column, 1) + } + return b, nil + } + + b = appendColumns(b, joinTable.Alias, joinTable.Fields) + return b, nil +} + +func appendChildValues(b []byte, v reflect.Value, index []int, fields []*Field) []byte { + seen := make(map[string]struct{}) + walk(v, index, func(v reflect.Value) { + start := len(b) + + if len(fields) > 1 { + b = append(b, '(') + } + for i, f := range fields { + if i > 0 { + b = append(b, ", "...) + } + b = f.AppendValue(b, v, 1) + } + if len(fields) > 1 { + b = append(b, ')') + } + b = append(b, ", "...) + + if _, ok := seen[string(b[start:])]; ok { + b = b[:start] + } else { + seen[string(b[start:])] = struct{}{} + } + }) + if len(seen) > 0 { + b = b[:len(b)-2] // trim ", " + } + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model.go b/vendor/github.com/go-pg/pg/v10/orm/model.go new file mode 100644 index 000000000..333a90dd7 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model.go @@ -0,0 +1,150 @@ +package orm + +import ( + "database/sql" + "errors" + "fmt" + "reflect" + + "github.com/go-pg/pg/v10/types" +) + +var errModelNil = errors.New("pg: Model(nil)") + +type useQueryOne interface { + useQueryOne() bool +} + +type HooklessModel interface { + // Init is responsible to initialize/reset model state. + // It is called only once no matter how many rows were returned. + Init() error + + // NextColumnScanner returns a ColumnScanner that is used to scan columns + // from the current row. It is called once for every row. + NextColumnScanner() ColumnScanner + + // AddColumnScanner adds the ColumnScanner to the model. + AddColumnScanner(ColumnScanner) error +} + +type Model interface { + HooklessModel + + AfterScanHook + AfterSelectHook + + BeforeInsertHook + AfterInsertHook + + BeforeUpdateHook + AfterUpdateHook + + BeforeDeleteHook + AfterDeleteHook +} + +func NewModel(value interface{}) (Model, error) { + return newModel(value, false) +} + +func newScanModel(values []interface{}) (Model, error) { + if len(values) > 1 { + return Scan(values...), nil + } + return newModel(values[0], true) +} + +func newModel(value interface{}, scan bool) (Model, error) { + switch value := value.(type) { + case Model: + return value, nil + case HooklessModel: + return newModelWithHookStubs(value), nil + case types.ValueScanner, sql.Scanner: + if !scan { + return nil, fmt.Errorf("pg: Model(unsupported %T)", value) + } + return Scan(value), nil + } + + v := reflect.ValueOf(value) + if !v.IsValid() { + return nil, errModelNil + } + if v.Kind() != reflect.Ptr { + return nil, fmt.Errorf("pg: Model(non-pointer %T)", value) + } + + if v.IsNil() { + typ := v.Type().Elem() + if typ.Kind() == reflect.Struct { + return newStructTableModel(GetTable(typ)), nil + } + return nil, errModelNil + } + + v = v.Elem() + + if v.Kind() == reflect.Interface { + if !v.IsNil() { + v = v.Elem() + if v.Kind() != reflect.Ptr { + return nil, fmt.Errorf("pg: Model(non-pointer %s)", v.Type().String()) + } + } + } + + switch v.Kind() { + case reflect.Struct: + if v.Type() != timeType { + return newStructTableModelValue(v), nil + } + case reflect.Slice: + elemType := sliceElemType(v) + switch elemType.Kind() { + case reflect.Struct: + if elemType != timeType { + return newSliceTableModel(v, elemType), nil + } + case reflect.Map: + if err := validMap(elemType); err != nil { + return nil, err + } + slicePtr := v.Addr().Interface().(*[]map[string]interface{}) + return newMapSliceModel(slicePtr), nil + } + return newSliceModel(v, elemType), nil + case reflect.Map: + typ := v.Type() + if err := validMap(typ); err != nil { + return nil, err + } + mapPtr := v.Addr().Interface().(*map[string]interface{}) + return newMapModel(mapPtr), nil + } + + if !scan { + return nil, fmt.Errorf("pg: Model(unsupported %T)", value) + } + return Scan(value), nil +} + +type modelWithHookStubs struct { + hookStubs + HooklessModel +} + +func newModelWithHookStubs(m HooklessModel) Model { + return modelWithHookStubs{ + HooklessModel: m, + } +} + +func validMap(typ reflect.Type) error { + if typ.Key().Kind() != reflect.String || typ.Elem().Kind() != reflect.Interface { + return fmt.Errorf("pg: Model(unsupported %s, expected *map[string]interface{})", + typ.String()) + } + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_discard.go b/vendor/github.com/go-pg/pg/v10/orm/model_discard.go new file mode 100644 index 000000000..92e5c566c --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_discard.go @@ -0,0 +1,27 @@ +package orm + +import ( + "github.com/go-pg/pg/v10/types" +) + +type Discard struct { + hookStubs +} + +var _ Model = (*Discard)(nil) + +func (Discard) Init() error { + return nil +} + +func (m Discard) NextColumnScanner() ColumnScanner { + return m +} + +func (m Discard) AddColumnScanner(ColumnScanner) error { + return nil +} + +func (m Discard) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_func.go b/vendor/github.com/go-pg/pg/v10/orm/model_func.go new file mode 100644 index 000000000..8427bdea2 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_func.go @@ -0,0 +1,89 @@ +package orm + +import ( + "fmt" + "reflect" +) + +var errorType = reflect.TypeOf((*error)(nil)).Elem() + +type funcModel struct { + Model + fnv reflect.Value + fnIn []reflect.Value +} + +var _ Model = (*funcModel)(nil) + +func newFuncModel(fn interface{}) *funcModel { + m := &funcModel{ + fnv: reflect.ValueOf(fn), + } + + fnt := m.fnv.Type() + if fnt.Kind() != reflect.Func { + panic(fmt.Errorf("ForEach expects a %s, got a %s", + reflect.Func, fnt.Kind())) + } + + if fnt.NumIn() < 1 { + panic(fmt.Errorf("ForEach expects at least 1 arg, got %d", fnt.NumIn())) + } + + if fnt.NumOut() != 1 { + panic(fmt.Errorf("ForEach must return 1 error value, got %d", fnt.NumOut())) + } + if fnt.Out(0) != errorType { + panic(fmt.Errorf("ForEach must return an error, got %T", fnt.Out(0))) + } + + if fnt.NumIn() > 1 { + initFuncModelScan(m, fnt) + return m + } + + t0 := fnt.In(0) + var v0 reflect.Value + if t0.Kind() == reflect.Ptr { + t0 = t0.Elem() + v0 = reflect.New(t0) + } else { + v0 = reflect.New(t0).Elem() + } + + m.fnIn = []reflect.Value{v0} + + model, ok := v0.Interface().(Model) + if ok { + m.Model = model + return m + } + + if v0.Kind() == reflect.Ptr { + v0 = v0.Elem() + } + if v0.Kind() != reflect.Struct { + panic(fmt.Errorf("ForEach accepts a %s, got %s", + reflect.Struct, v0.Kind())) + } + m.Model = newStructTableModelValue(v0) + + return m +} + +func initFuncModelScan(m *funcModel, fnt reflect.Type) { + m.fnIn = make([]reflect.Value, fnt.NumIn()) + for i := 0; i < fnt.NumIn(); i++ { + m.fnIn[i] = reflect.New(fnt.In(i)).Elem() + } + m.Model = scanReflectValues(m.fnIn) +} + +func (m *funcModel) AddColumnScanner(_ ColumnScanner) error { + out := m.fnv.Call(m.fnIn) + errv := out[0] + if !errv.IsNil() { + return errv.Interface().(error) + } + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_map.go b/vendor/github.com/go-pg/pg/v10/orm/model_map.go new file mode 100644 index 000000000..24533d43c --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_map.go @@ -0,0 +1,53 @@ +package orm + +import ( + "github.com/go-pg/pg/v10/types" +) + +type mapModel struct { + hookStubs + ptr *map[string]interface{} + m map[string]interface{} +} + +var _ Model = (*mapModel)(nil) + +func newMapModel(ptr *map[string]interface{}) *mapModel { + model := &mapModel{ + ptr: ptr, + } + if ptr != nil { + model.m = *ptr + } + return model +} + +func (m *mapModel) Init() error { + return nil +} + +func (m *mapModel) NextColumnScanner() ColumnScanner { + if m.m == nil { + m.m = make(map[string]interface{}) + *m.ptr = m.m + } + return m +} + +func (m mapModel) AddColumnScanner(ColumnScanner) error { + return nil +} + +func (m *mapModel) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + val, err := types.ReadColumnValue(col, rd, n) + if err != nil { + return err + } + + m.m[col.Name] = val + return nil +} + +func (mapModel) useQueryOne() bool { + return true +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_map_slice.go b/vendor/github.com/go-pg/pg/v10/orm/model_map_slice.go new file mode 100644 index 000000000..ea14c9b6b --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_map_slice.go @@ -0,0 +1,45 @@ +package orm + +type mapSliceModel struct { + mapModel + slice *[]map[string]interface{} +} + +var _ Model = (*mapSliceModel)(nil) + +func newMapSliceModel(ptr *[]map[string]interface{}) *mapSliceModel { + return &mapSliceModel{ + slice: ptr, + } +} + +func (m *mapSliceModel) Init() error { + slice := *m.slice + if len(slice) > 0 { + *m.slice = slice[:0] + } + return nil +} + +func (m *mapSliceModel) NextColumnScanner() ColumnScanner { + slice := *m.slice + if len(slice) == cap(slice) { + m.mapModel.m = make(map[string]interface{}) + *m.slice = append(slice, m.mapModel.m) //nolint:gocritic + return m + } + + slice = slice[:len(slice)+1] + el := slice[len(slice)-1] + if el != nil { + m.mapModel.m = el + } else { + el = make(map[string]interface{}) + slice[len(slice)-1] = el + m.mapModel.m = el + } + *m.slice = slice + return m +} + +func (mapSliceModel) useQueryOne() {} //nolint:unused diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_scan.go b/vendor/github.com/go-pg/pg/v10/orm/model_scan.go new file mode 100644 index 000000000..08f66beba --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_scan.go @@ -0,0 +1,69 @@ +package orm + +import ( + "fmt" + "reflect" + + "github.com/go-pg/pg/v10/types" +) + +type scanValuesModel struct { + Discard + values []interface{} +} + +var _ Model = scanValuesModel{} + +//nolint +func Scan(values ...interface{}) scanValuesModel { + return scanValuesModel{ + values: values, + } +} + +func (scanValuesModel) useQueryOne() bool { + return true +} + +func (m scanValuesModel) NextColumnScanner() ColumnScanner { + return m +} + +func (m scanValuesModel) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + if int(col.Index) >= len(m.values) { + return fmt.Errorf("pg: no Scan var for column index=%d name=%q", + col.Index, col.Name) + } + return types.Scan(m.values[col.Index], rd, n) +} + +//------------------------------------------------------------------------------ + +type scanReflectValuesModel struct { + Discard + values []reflect.Value +} + +var _ Model = scanReflectValuesModel{} + +func scanReflectValues(values []reflect.Value) scanReflectValuesModel { + return scanReflectValuesModel{ + values: values, + } +} + +func (scanReflectValuesModel) useQueryOne() bool { + return true +} + +func (m scanReflectValuesModel) NextColumnScanner() ColumnScanner { + return m +} + +func (m scanReflectValuesModel) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + if int(col.Index) >= len(m.values) { + return fmt.Errorf("pg: no Scan var for column index=%d name=%q", + col.Index, col.Name) + } + return types.ScanValue(m.values[col.Index], rd, n) +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_slice.go b/vendor/github.com/go-pg/pg/v10/orm/model_slice.go new file mode 100644 index 000000000..1e163629e --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_slice.go @@ -0,0 +1,43 @@ +package orm + +import ( + "reflect" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/types" +) + +type sliceModel struct { + Discard + slice reflect.Value + nextElem func() reflect.Value + scan func(reflect.Value, types.Reader, int) error +} + +var _ Model = (*sliceModel)(nil) + +func newSliceModel(slice reflect.Value, elemType reflect.Type) *sliceModel { + return &sliceModel{ + slice: slice, + scan: types.Scanner(elemType), + } +} + +func (m *sliceModel) Init() error { + if m.slice.IsValid() && m.slice.Len() > 0 { + m.slice.Set(m.slice.Slice(0, 0)) + } + return nil +} + +func (m *sliceModel) NextColumnScanner() ColumnScanner { + return m +} + +func (m *sliceModel) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + if m.nextElem == nil { + m.nextElem = internal.MakeSliceNextElemFunc(m.slice) + } + v := m.nextElem() + return m.scan(v, rd, n) +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_table.go b/vendor/github.com/go-pg/pg/v10/orm/model_table.go new file mode 100644 index 000000000..afdc15ccc --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_table.go @@ -0,0 +1,65 @@ +package orm + +import ( + "fmt" + "reflect" + + "github.com/go-pg/pg/v10/types" +) + +type TableModel interface { + Model + + IsNil() bool + Table() *Table + Relation() *Relation + AppendParam(QueryFormatter, []byte, string) ([]byte, bool) + + Join(string, func(*Query) (*Query, error)) *join + GetJoin(string) *join + GetJoins() []join + AddJoin(join) *join + + Root() reflect.Value + Index() []int + ParentIndex() []int + Mount(reflect.Value) + Kind() reflect.Kind + Value() reflect.Value + + setSoftDeleteField() error + scanColumn(types.ColumnInfo, types.Reader, int) (bool, error) +} + +func newTableModelIndex(typ reflect.Type, root reflect.Value, index []int, rel *Relation) (TableModel, error) { + typ = typeByIndex(typ, index) + + if typ.Kind() == reflect.Struct { + return &structTableModel{ + table: GetTable(typ), + rel: rel, + + root: root, + index: index, + }, nil + } + + if typ.Kind() == reflect.Slice { + structType := indirectType(typ.Elem()) + if structType.Kind() == reflect.Struct { + m := sliceTableModel{ + structTableModel: structTableModel{ + table: GetTable(structType), + rel: rel, + + root: root, + index: index, + }, + } + m.init(typ) + return &m, nil + } + } + + return nil, fmt.Errorf("pg: NewModel(%s)", typ) +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_table_m2m.go b/vendor/github.com/go-pg/pg/v10/orm/model_table_m2m.go new file mode 100644 index 000000000..83ac73bde --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_table_m2m.go @@ -0,0 +1,111 @@ +package orm + +import ( + "fmt" + "reflect" + + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/types" +) + +type m2mModel struct { + *sliceTableModel + baseTable *Table + rel *Relation + + buf []byte + dstValues map[string][]reflect.Value + columns map[string]string +} + +var _ TableModel = (*m2mModel)(nil) + +func newM2MModel(j *join) *m2mModel { + baseTable := j.BaseModel.Table() + joinModel := j.JoinModel.(*sliceTableModel) + dstValues := dstValues(joinModel, baseTable.PKs) + if len(dstValues) == 0 { + return nil + } + m := &m2mModel{ + sliceTableModel: joinModel, + baseTable: baseTable, + rel: j.Rel, + + dstValues: dstValues, + columns: make(map[string]string), + } + if !m.sliceOfPtr { + m.strct = reflect.New(m.table.Type).Elem() + } + return m +} + +func (m *m2mModel) NextColumnScanner() ColumnScanner { + if m.sliceOfPtr { + m.strct = reflect.New(m.table.Type).Elem() + } else { + m.strct.Set(m.table.zeroStruct) + } + m.structInited = false + return m +} + +func (m *m2mModel) AddColumnScanner(_ ColumnScanner) error { + buf, err := m.modelIDMap(m.buf[:0]) + if err != nil { + return err + } + m.buf = buf + + dstValues, ok := m.dstValues[string(buf)] + if !ok { + return fmt.Errorf( + "pg: relation=%q does not have base %s with id=%q (check join conditions)", + m.rel.Field.GoName, m.baseTable, buf) + } + + for _, v := range dstValues { + if m.sliceOfPtr { + v.Set(reflect.Append(v, m.strct.Addr())) + } else { + v.Set(reflect.Append(v, m.strct)) + } + } + + return nil +} + +func (m *m2mModel) modelIDMap(b []byte) ([]byte, error) { + for i, col := range m.rel.M2MBaseFKs { + if i > 0 { + b = append(b, ',') + } + if s, ok := m.columns[col]; ok { + b = append(b, s...) + } else { + return nil, fmt.Errorf("pg: %s does not have column=%q", + m.sliceTableModel, col) + } + } + return b, nil +} + +func (m *m2mModel) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + if n > 0 { + b, err := rd.ReadFullTemp() + if err != nil { + return err + } + + m.columns[col.Name] = string(b) + rd = pool.NewBytesReader(b) + } else { + m.columns[col.Name] = "" + } + + if ok, err := m.sliceTableModel.scanColumn(col, rd, n); ok { + return err + } + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_table_many.go b/vendor/github.com/go-pg/pg/v10/orm/model_table_many.go new file mode 100644 index 000000000..561384bba --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_table_many.go @@ -0,0 +1,75 @@ +package orm + +import ( + "fmt" + "reflect" +) + +type manyModel struct { + *sliceTableModel + baseTable *Table + rel *Relation + + buf []byte + dstValues map[string][]reflect.Value +} + +var _ TableModel = (*manyModel)(nil) + +func newManyModel(j *join) *manyModel { + baseTable := j.BaseModel.Table() + joinModel := j.JoinModel.(*sliceTableModel) + dstValues := dstValues(joinModel, j.Rel.BaseFKs) + if len(dstValues) == 0 { + return nil + } + m := manyModel{ + sliceTableModel: joinModel, + baseTable: baseTable, + rel: j.Rel, + + dstValues: dstValues, + } + if !m.sliceOfPtr { + m.strct = reflect.New(m.table.Type).Elem() + } + return &m +} + +func (m *manyModel) NextColumnScanner() ColumnScanner { + if m.sliceOfPtr { + m.strct = reflect.New(m.table.Type).Elem() + } else { + m.strct.Set(m.table.zeroStruct) + } + m.structInited = false + return m +} + +func (m *manyModel) AddColumnScanner(model ColumnScanner) error { + m.buf = modelID(m.buf[:0], m.strct, m.rel.JoinFKs) + dstValues, ok := m.dstValues[string(m.buf)] + if !ok { + return fmt.Errorf( + "pg: relation=%q does not have base %s with id=%q (check join conditions)", + m.rel.Field.GoName, m.baseTable, m.buf) + } + + for i, v := range dstValues { + if !m.sliceOfPtr { + v.Set(reflect.Append(v, m.strct)) + continue + } + + if i == 0 { + v.Set(reflect.Append(v, m.strct.Addr())) + continue + } + + clone := reflect.New(m.strct.Type()).Elem() + clone.Set(m.strct) + v.Set(reflect.Append(v, clone.Addr())) + } + + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_table_slice.go b/vendor/github.com/go-pg/pg/v10/orm/model_table_slice.go new file mode 100644 index 000000000..c50be8252 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_table_slice.go @@ -0,0 +1,156 @@ +package orm + +import ( + "context" + "reflect" + + "github.com/go-pg/pg/v10/internal" +) + +type sliceTableModel struct { + structTableModel + + slice reflect.Value + sliceLen int + sliceOfPtr bool + nextElem func() reflect.Value +} + +var _ TableModel = (*sliceTableModel)(nil) + +func newSliceTableModel(slice reflect.Value, elemType reflect.Type) *sliceTableModel { + m := &sliceTableModel{ + structTableModel: structTableModel{ + table: GetTable(elemType), + root: slice, + }, + slice: slice, + sliceLen: slice.Len(), + nextElem: internal.MakeSliceNextElemFunc(slice), + } + m.init(slice.Type()) + return m +} + +func (m *sliceTableModel) init(sliceType reflect.Type) { + switch sliceType.Elem().Kind() { + case reflect.Ptr, reflect.Interface: + m.sliceOfPtr = true + } +} + +//nolint +func (*sliceTableModel) useQueryOne() {} + +func (m *sliceTableModel) IsNil() bool { + return false +} + +func (m *sliceTableModel) AppendParam(fmter QueryFormatter, b []byte, name string) ([]byte, bool) { + if field, ok := m.table.FieldsMap[name]; ok { + b = append(b, "_data."...) + b = append(b, field.Column...) + return b, true + } + return m.structTableModel.AppendParam(fmter, b, name) +} + +func (m *sliceTableModel) Join(name string, apply func(*Query) (*Query, error)) *join { + return m.join(m.Value(), name, apply) +} + +func (m *sliceTableModel) Bind(bind reflect.Value) { + m.slice = bind.Field(m.index[len(m.index)-1]) +} + +func (m *sliceTableModel) Kind() reflect.Kind { + return reflect.Slice +} + +func (m *sliceTableModel) Value() reflect.Value { + return m.slice +} + +func (m *sliceTableModel) Init() error { + if m.slice.IsValid() && m.slice.Len() > 0 { + m.slice.Set(m.slice.Slice(0, 0)) + } + return nil +} + +func (m *sliceTableModel) NextColumnScanner() ColumnScanner { + m.strct = m.nextElem() + m.structInited = false + return m +} + +func (m *sliceTableModel) AddColumnScanner(_ ColumnScanner) error { + return nil +} + +// Inherit these hooks from structTableModel. +var ( + _ BeforeScanHook = (*sliceTableModel)(nil) + _ AfterScanHook = (*sliceTableModel)(nil) +) + +func (m *sliceTableModel) AfterSelect(ctx context.Context) error { + if m.table.hasFlag(afterSelectHookFlag) { + return callAfterSelectHookSlice(ctx, m.slice, m.sliceOfPtr) + } + return nil +} + +func (m *sliceTableModel) BeforeInsert(ctx context.Context) (context.Context, error) { + if m.table.hasFlag(beforeInsertHookFlag) { + return callBeforeInsertHookSlice(ctx, m.slice, m.sliceOfPtr) + } + return ctx, nil +} + +func (m *sliceTableModel) AfterInsert(ctx context.Context) error { + if m.table.hasFlag(afterInsertHookFlag) { + return callAfterInsertHookSlice(ctx, m.slice, m.sliceOfPtr) + } + return nil +} + +func (m *sliceTableModel) BeforeUpdate(ctx context.Context) (context.Context, error) { + if m.table.hasFlag(beforeUpdateHookFlag) && !m.IsNil() { + return callBeforeUpdateHookSlice(ctx, m.slice, m.sliceOfPtr) + } + return ctx, nil +} + +func (m *sliceTableModel) AfterUpdate(ctx context.Context) error { + if m.table.hasFlag(afterUpdateHookFlag) { + return callAfterUpdateHookSlice(ctx, m.slice, m.sliceOfPtr) + } + return nil +} + +func (m *sliceTableModel) BeforeDelete(ctx context.Context) (context.Context, error) { + if m.table.hasFlag(beforeDeleteHookFlag) && !m.IsNil() { + return callBeforeDeleteHookSlice(ctx, m.slice, m.sliceOfPtr) + } + return ctx, nil +} + +func (m *sliceTableModel) AfterDelete(ctx context.Context) error { + if m.table.hasFlag(afterDeleteHookFlag) && !m.IsNil() { + return callAfterDeleteHookSlice(ctx, m.slice, m.sliceOfPtr) + } + return nil +} + +func (m *sliceTableModel) setSoftDeleteField() error { + sliceLen := m.slice.Len() + for i := 0; i < sliceLen; i++ { + strct := indirect(m.slice.Index(i)) + fv := m.table.SoftDeleteField.Value(strct) + if err := m.table.SetSoftDeleteField(fv); err != nil { + return err + } + } + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/model_table_struct.go b/vendor/github.com/go-pg/pg/v10/orm/model_table_struct.go new file mode 100644 index 000000000..fce7cc6b7 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/model_table_struct.go @@ -0,0 +1,399 @@ +package orm + +import ( + "context" + "fmt" + "reflect" + "strings" + + "github.com/go-pg/pg/v10/types" +) + +type structTableModel struct { + table *Table + rel *Relation + joins []join + + root reflect.Value + index []int + + strct reflect.Value + structInited bool + structInitErr error +} + +var _ TableModel = (*structTableModel)(nil) + +func newStructTableModel(table *Table) *structTableModel { + return &structTableModel{ + table: table, + } +} + +func newStructTableModelValue(v reflect.Value) *structTableModel { + return &structTableModel{ + table: GetTable(v.Type()), + root: v, + strct: v, + } +} + +func (*structTableModel) useQueryOne() bool { + return true +} + +func (m *structTableModel) String() string { + return m.table.String() +} + +func (m *structTableModel) IsNil() bool { + return !m.strct.IsValid() +} + +func (m *structTableModel) Table() *Table { + return m.table +} + +func (m *structTableModel) Relation() *Relation { + return m.rel +} + +func (m *structTableModel) AppendParam(fmter QueryFormatter, b []byte, name string) ([]byte, bool) { + b, ok := m.table.AppendParam(b, m.strct, name) + if ok { + return b, true + } + + switch name { + case "TableName": + b = fmter.FormatQuery(b, string(m.table.SQLName)) + return b, true + case "TableAlias": + b = append(b, m.table.Alias...) + return b, true + case "TableColumns": + b = appendColumns(b, m.table.Alias, m.table.Fields) + return b, true + case "Columns": + b = appendColumns(b, "", m.table.Fields) + return b, true + case "TablePKs": + b = appendColumns(b, m.table.Alias, m.table.PKs) + return b, true + case "PKs": + b = appendColumns(b, "", m.table.PKs) + return b, true + } + + return b, false +} + +func (m *structTableModel) Root() reflect.Value { + return m.root +} + +func (m *structTableModel) Index() []int { + return m.index +} + +func (m *structTableModel) ParentIndex() []int { + return m.index[:len(m.index)-len(m.rel.Field.Index)] +} + +func (m *structTableModel) Kind() reflect.Kind { + return reflect.Struct +} + +func (m *structTableModel) Value() reflect.Value { + return m.strct +} + +func (m *structTableModel) Mount(host reflect.Value) { + m.strct = host.FieldByIndex(m.rel.Field.Index) + m.structInited = false +} + +func (m *structTableModel) initStruct() error { + if m.structInited { + return m.structInitErr + } + m.structInited = true + + switch m.strct.Kind() { + case reflect.Invalid: + m.structInitErr = errModelNil + return m.structInitErr + case reflect.Interface: + m.strct = m.strct.Elem() + } + + if m.strct.Kind() == reflect.Ptr { + if m.strct.IsNil() { + m.strct.Set(reflect.New(m.strct.Type().Elem())) + m.strct = m.strct.Elem() + } else { + m.strct = m.strct.Elem() + } + } + + m.mountJoins() + + return nil +} + +func (m *structTableModel) mountJoins() { + for i := range m.joins { + j := &m.joins[i] + switch j.Rel.Type { + case HasOneRelation, BelongsToRelation: + j.JoinModel.Mount(m.strct) + } + } +} + +func (structTableModel) Init() error { + return nil +} + +func (m *structTableModel) NextColumnScanner() ColumnScanner { + return m +} + +func (m *structTableModel) AddColumnScanner(_ ColumnScanner) error { + return nil +} + +var _ BeforeScanHook = (*structTableModel)(nil) + +func (m *structTableModel) BeforeScan(ctx context.Context) error { + if !m.table.hasFlag(beforeScanHookFlag) { + return nil + } + return callBeforeScanHook(ctx, m.strct.Addr()) +} + +var _ AfterScanHook = (*structTableModel)(nil) + +func (m *structTableModel) AfterScan(ctx context.Context) error { + if !m.table.hasFlag(afterScanHookFlag) || !m.structInited { + return nil + } + + var firstErr error + + if err := callAfterScanHook(ctx, m.strct.Addr()); err != nil && firstErr == nil { + firstErr = err + } + + for _, j := range m.joins { + switch j.Rel.Type { + case HasOneRelation, BelongsToRelation: + if err := j.JoinModel.AfterScan(ctx); err != nil && firstErr == nil { + firstErr = err + } + } + } + + return firstErr +} + +func (m *structTableModel) AfterSelect(ctx context.Context) error { + if m.table.hasFlag(afterSelectHookFlag) { + return callAfterSelectHook(ctx, m.strct.Addr()) + } + return nil +} + +func (m *structTableModel) BeforeInsert(ctx context.Context) (context.Context, error) { + if m.table.hasFlag(beforeInsertHookFlag) { + return callBeforeInsertHook(ctx, m.strct.Addr()) + } + return ctx, nil +} + +func (m *structTableModel) AfterInsert(ctx context.Context) error { + if m.table.hasFlag(afterInsertHookFlag) { + return callAfterInsertHook(ctx, m.strct.Addr()) + } + return nil +} + +func (m *structTableModel) BeforeUpdate(ctx context.Context) (context.Context, error) { + if m.table.hasFlag(beforeUpdateHookFlag) && !m.IsNil() { + return callBeforeUpdateHook(ctx, m.strct.Addr()) + } + return ctx, nil +} + +func (m *structTableModel) AfterUpdate(ctx context.Context) error { + if m.table.hasFlag(afterUpdateHookFlag) && !m.IsNil() { + return callAfterUpdateHook(ctx, m.strct.Addr()) + } + return nil +} + +func (m *structTableModel) BeforeDelete(ctx context.Context) (context.Context, error) { + if m.table.hasFlag(beforeDeleteHookFlag) && !m.IsNil() { + return callBeforeDeleteHook(ctx, m.strct.Addr()) + } + return ctx, nil +} + +func (m *structTableModel) AfterDelete(ctx context.Context) error { + if m.table.hasFlag(afterDeleteHookFlag) && !m.IsNil() { + return callAfterDeleteHook(ctx, m.strct.Addr()) + } + return nil +} + +func (m *structTableModel) ScanColumn( + col types.ColumnInfo, rd types.Reader, n int, +) error { + ok, err := m.scanColumn(col, rd, n) + if ok { + return err + } + if m.table.hasFlag(discardUnknownColumnsFlag) || col.Name[0] == '_' { + return nil + } + return fmt.Errorf( + "pg: can't find column=%s in %s "+ + "(prefix the column with underscore or use discard_unknown_columns)", + col.Name, m.table, + ) +} + +func (m *structTableModel) scanColumn(col types.ColumnInfo, rd types.Reader, n int) (bool, error) { + // Don't init nil struct if value is NULL. + if n == -1 && + !m.structInited && + m.strct.Kind() == reflect.Ptr && + m.strct.IsNil() { + return true, nil + } + + if err := m.initStruct(); err != nil { + return true, err + } + + joinName, fieldName := splitColumn(col.Name) + if joinName != "" { + if join := m.GetJoin(joinName); join != nil { + joinCol := col + joinCol.Name = fieldName + return join.JoinModel.scanColumn(joinCol, rd, n) + } + if m.table.ModelName == joinName { + joinCol := col + joinCol.Name = fieldName + return m.scanColumn(joinCol, rd, n) + } + } + + field, ok := m.table.FieldsMap[col.Name] + if !ok { + return false, nil + } + + return true, field.ScanValue(m.strct, rd, n) +} + +func (m *structTableModel) GetJoin(name string) *join { + for i := range m.joins { + j := &m.joins[i] + if j.Rel.Field.GoName == name || j.Rel.Field.SQLName == name { + return j + } + } + return nil +} + +func (m *structTableModel) GetJoins() []join { + return m.joins +} + +func (m *structTableModel) AddJoin(j join) *join { + m.joins = append(m.joins, j) + return &m.joins[len(m.joins)-1] +} + +func (m *structTableModel) Join(name string, apply func(*Query) (*Query, error)) *join { + return m.join(m.Value(), name, apply) +} + +func (m *structTableModel) join( + bind reflect.Value, name string, apply func(*Query) (*Query, error), +) *join { + path := strings.Split(name, ".") + index := make([]int, 0, len(path)) + + currJoin := join{ + BaseModel: m, + JoinModel: m, + } + var lastJoin *join + var hasColumnName bool + + for _, name := range path { + rel, ok := currJoin.JoinModel.Table().Relations[name] + if !ok { + hasColumnName = true + break + } + + currJoin.Rel = rel + index = append(index, rel.Field.Index...) + + if j := currJoin.JoinModel.GetJoin(name); j != nil { + currJoin.BaseModel = j.BaseModel + currJoin.JoinModel = j.JoinModel + + lastJoin = j + } else { + model, err := newTableModelIndex(m.table.Type, bind, index, rel) + if err != nil { + return nil + } + + currJoin.Parent = lastJoin + currJoin.BaseModel = currJoin.JoinModel + currJoin.JoinModel = model + + lastJoin = currJoin.BaseModel.AddJoin(currJoin) + } + } + + // No joins with such name. + if lastJoin == nil { + return nil + } + if apply != nil { + lastJoin.ApplyQuery = apply + } + + if hasColumnName { + column := path[len(path)-1] + if column == "_" { + if lastJoin.Columns == nil { + lastJoin.Columns = make([]string, 0) + } + } else { + lastJoin.Columns = append(lastJoin.Columns, column) + } + } + + return lastJoin +} + +func (m *structTableModel) setSoftDeleteField() error { + fv := m.table.SoftDeleteField.Value(m.strct) + return m.table.SetSoftDeleteField(fv) +} + +func splitColumn(s string) (string, string) { + ind := strings.Index(s, "__") + if ind == -1 { + return "", s + } + return s[:ind], s[ind+2:] +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/msgpack.go b/vendor/github.com/go-pg/pg/v10/orm/msgpack.go new file mode 100644 index 000000000..56c88a23e --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/msgpack.go @@ -0,0 +1,52 @@ +package orm + +import ( + "reflect" + + "github.com/vmihailenco/msgpack/v5" + + "github.com/go-pg/pg/v10/types" +) + +func msgpackAppender(_ reflect.Type) types.AppenderFunc { + return func(b []byte, v reflect.Value, flags int) []byte { + hexEnc := types.NewHexEncoder(b, flags) + + enc := msgpack.GetEncoder() + defer msgpack.PutEncoder(enc) + + enc.Reset(hexEnc) + if err := enc.EncodeValue(v); err != nil { + return types.AppendError(b, err) + } + + if err := hexEnc.Close(); err != nil { + return types.AppendError(b, err) + } + + return hexEnc.Bytes() + } +} + +func msgpackScanner(_ reflect.Type) types.ScannerFunc { + return func(v reflect.Value, rd types.Reader, n int) error { + if n <= 0 { + return nil + } + + hexDec, err := types.NewHexDecoder(rd, n) + if err != nil { + return err + } + + dec := msgpack.GetDecoder() + defer msgpack.PutDecoder(dec) + + dec.Reset(hexDec) + if err := dec.DecodeValue(v); err != nil { + return err + } + + return nil + } +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/orm.go b/vendor/github.com/go-pg/pg/v10/orm/orm.go new file mode 100644 index 000000000..d18993d2d --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/orm.go @@ -0,0 +1,58 @@ +/* +The API in this package is not stable and may change without any notice. +*/ +package orm + +import ( + "context" + "io" + + "github.com/go-pg/pg/v10/types" +) + +// ColumnScanner is used to scan column values. +type ColumnScanner interface { + // Scan assigns a column value from a row. + // + // An error should be returned if the value can not be stored + // without loss of information. + ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error +} + +type QueryAppender interface { + AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) +} + +type TemplateAppender interface { + AppendTemplate(b []byte) ([]byte, error) +} + +type QueryCommand interface { + QueryAppender + TemplateAppender + String() string + Operation() QueryOp + Clone() QueryCommand + Query() *Query +} + +// DB is a common interface for pg.DB and pg.Tx types. +type DB interface { + Model(model ...interface{}) *Query + ModelContext(c context.Context, model ...interface{}) *Query + + Exec(query interface{}, params ...interface{}) (Result, error) + ExecContext(c context.Context, query interface{}, params ...interface{}) (Result, error) + ExecOne(query interface{}, params ...interface{}) (Result, error) + ExecOneContext(c context.Context, query interface{}, params ...interface{}) (Result, error) + Query(model, query interface{}, params ...interface{}) (Result, error) + QueryContext(c context.Context, model, query interface{}, params ...interface{}) (Result, error) + QueryOne(model, query interface{}, params ...interface{}) (Result, error) + QueryOneContext(c context.Context, model, query interface{}, params ...interface{}) (Result, error) + + CopyFrom(r io.Reader, query interface{}, params ...interface{}) (Result, error) + CopyTo(w io.Writer, query interface{}, params ...interface{}) (Result, error) + + Context() context.Context + Formatter() QueryFormatter +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/query.go b/vendor/github.com/go-pg/pg/v10/orm/query.go new file mode 100644 index 000000000..8a9231f65 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/query.go @@ -0,0 +1,1680 @@ +package orm + +import ( + "context" + "errors" + "fmt" + "io" + "reflect" + "strconv" + "strings" + "sync" + "time" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/types" +) + +type QueryOp string + +const ( + SelectOp QueryOp = "SELECT" + InsertOp QueryOp = "INSERT" + UpdateOp QueryOp = "UPDATE" + DeleteOp QueryOp = "DELETE" + CreateTableOp QueryOp = "CREATE TABLE" + DropTableOp QueryOp = "DROP TABLE" + CreateCompositeOp QueryOp = "CREATE COMPOSITE" + DropCompositeOp QueryOp = "DROP COMPOSITE" +) + +type queryFlag uint8 + +const ( + implicitModelFlag queryFlag = 1 << iota + deletedFlag + allWithDeletedFlag +) + +type withQuery struct { + name string + query QueryAppender +} + +type columnValue struct { + column string + value *SafeQueryAppender +} + +type union struct { + expr string + query *Query +} + +type Query struct { + ctx context.Context + db DB + stickyErr error + + model Model + tableModel TableModel + flags queryFlag + + with []withQuery + tables []QueryAppender + distinctOn []*SafeQueryAppender + columns []QueryAppender + set []QueryAppender + modelValues map[string]*SafeQueryAppender + extraValues []*columnValue + where []queryWithSepAppender + updWhere []queryWithSepAppender + group []QueryAppender + having []*SafeQueryAppender + union []*union + joins []QueryAppender + joinAppendOn func(app *condAppender) + order []QueryAppender + limit int + offset int + selFor *SafeQueryAppender + + onConflict *SafeQueryAppender + returning []*SafeQueryAppender +} + +func NewQuery(db DB, model ...interface{}) *Query { + ctx := context.Background() + if db != nil { + ctx = db.Context() + } + q := &Query{ctx: ctx} + return q.DB(db).Model(model...) +} + +func NewQueryContext(ctx context.Context, db DB, model ...interface{}) *Query { + return NewQuery(db, model...).Context(ctx) +} + +// New returns new zero Query bound to the current db. +func (q *Query) New() *Query { + clone := &Query{ + ctx: q.ctx, + db: q.db, + + model: q.model, + tableModel: cloneTableModelJoins(q.tableModel), + flags: q.flags, + } + return clone.withFlag(implicitModelFlag) +} + +// Clone clones the Query. +func (q *Query) Clone() *Query { + var modelValues map[string]*SafeQueryAppender + if len(q.modelValues) > 0 { + modelValues = make(map[string]*SafeQueryAppender, len(q.modelValues)) + for k, v := range q.modelValues { + modelValues[k] = v + } + } + + clone := &Query{ + ctx: q.ctx, + db: q.db, + stickyErr: q.stickyErr, + + model: q.model, + tableModel: cloneTableModelJoins(q.tableModel), + flags: q.flags, + + with: q.with[:len(q.with):len(q.with)], + tables: q.tables[:len(q.tables):len(q.tables)], + distinctOn: q.distinctOn[:len(q.distinctOn):len(q.distinctOn)], + columns: q.columns[:len(q.columns):len(q.columns)], + set: q.set[:len(q.set):len(q.set)], + modelValues: modelValues, + extraValues: q.extraValues[:len(q.extraValues):len(q.extraValues)], + where: q.where[:len(q.where):len(q.where)], + updWhere: q.updWhere[:len(q.updWhere):len(q.updWhere)], + joins: q.joins[:len(q.joins):len(q.joins)], + group: q.group[:len(q.group):len(q.group)], + having: q.having[:len(q.having):len(q.having)], + union: q.union[:len(q.union):len(q.union)], + order: q.order[:len(q.order):len(q.order)], + limit: q.limit, + offset: q.offset, + selFor: q.selFor, + + onConflict: q.onConflict, + returning: q.returning[:len(q.returning):len(q.returning)], + } + + return clone +} + +func cloneTableModelJoins(tm TableModel) TableModel { + switch tm := tm.(type) { + case *structTableModel: + if len(tm.joins) == 0 { + return tm + } + clone := *tm + clone.joins = clone.joins[:len(clone.joins):len(clone.joins)] + return &clone + case *sliceTableModel: + if len(tm.joins) == 0 { + return tm + } + clone := *tm + clone.joins = clone.joins[:len(clone.joins):len(clone.joins)] + return &clone + } + return tm +} + +func (q *Query) err(err error) *Query { + if q.stickyErr == nil { + q.stickyErr = err + } + return q +} + +func (q *Query) hasFlag(flag queryFlag) bool { + return hasFlag(q.flags, flag) +} + +func hasFlag(flags, flag queryFlag) bool { + return flags&flag != 0 +} + +func (q *Query) withFlag(flag queryFlag) *Query { + q.flags |= flag + return q +} + +func (q *Query) withoutFlag(flag queryFlag) *Query { + q.flags &= ^flag + return q +} + +func (q *Query) Context(c context.Context) *Query { + q.ctx = c + return q +} + +func (q *Query) DB(db DB) *Query { + q.db = db + return q +} + +func (q *Query) Model(model ...interface{}) *Query { + var err error + switch l := len(model); { + case l == 0: + q.model = nil + case l == 1: + q.model, err = NewModel(model[0]) + case l > 1: + q.model, err = NewModel(&model) + default: + panic("not reached") + } + if err != nil { + q = q.err(err) + } + + q.tableModel, _ = q.model.(TableModel) + + return q.withoutFlag(implicitModelFlag) +} + +func (q *Query) TableModel() TableModel { + return q.tableModel +} + +func (q *Query) isSoftDelete() bool { + if q.tableModel != nil { + return q.tableModel.Table().SoftDeleteField != nil && !q.hasFlag(allWithDeletedFlag) + } + return false +} + +// Deleted adds `WHERE deleted_at IS NOT NULL` clause for soft deleted models. +func (q *Query) Deleted() *Query { + if q.tableModel != nil { + if err := q.tableModel.Table().mustSoftDelete(); err != nil { + return q.err(err) + } + } + return q.withFlag(deletedFlag).withoutFlag(allWithDeletedFlag) +} + +// AllWithDeleted changes query to return all rows including soft deleted ones. +func (q *Query) AllWithDeleted() *Query { + if q.tableModel != nil { + if err := q.tableModel.Table().mustSoftDelete(); err != nil { + return q.err(err) + } + } + return q.withFlag(allWithDeletedFlag).withoutFlag(deletedFlag) +} + +// With adds subq as common table expression with the given name. +func (q *Query) With(name string, subq *Query) *Query { + return q._with(name, NewSelectQuery(subq)) +} + +func (q *Query) WithInsert(name string, subq *Query) *Query { + return q._with(name, NewInsertQuery(subq)) +} + +func (q *Query) WithUpdate(name string, subq *Query) *Query { + return q._with(name, NewUpdateQuery(subq, false)) +} + +func (q *Query) WithDelete(name string, subq *Query) *Query { + return q._with(name, NewDeleteQuery(subq)) +} + +func (q *Query) _with(name string, subq QueryAppender) *Query { + q.with = append(q.with, withQuery{ + name: name, + query: subq, + }) + return q +} + +// WrapWith creates new Query and adds to it current query as +// common table expression with the given name. +func (q *Query) WrapWith(name string) *Query { + wrapper := q.New() + wrapper.with = q.with + q.with = nil + wrapper = wrapper.With(name, q) + return wrapper +} + +func (q *Query) Table(tables ...string) *Query { + for _, table := range tables { + q.tables = append(q.tables, fieldAppender{table}) + } + return q +} + +func (q *Query) TableExpr(expr string, params ...interface{}) *Query { + q.tables = append(q.tables, SafeQuery(expr, params...)) + return q +} + +func (q *Query) Distinct() *Query { + q.distinctOn = make([]*SafeQueryAppender, 0) + return q +} + +func (q *Query) DistinctOn(expr string, params ...interface{}) *Query { + q.distinctOn = append(q.distinctOn, SafeQuery(expr, params...)) + return q +} + +// Column adds a column to the Query quoting it according to PostgreSQL rules. +// Does not expand params like ?TableAlias etc. +// ColumnExpr can be used to bypass quoting restriction or for params expansion. +// Column name can be: +// - column_name, +// - table_alias.column_name, +// - table_alias.*. +func (q *Query) Column(columns ...string) *Query { + for _, column := range columns { + if column == "_" { + if q.columns == nil { + q.columns = make([]QueryAppender, 0) + } + continue + } + + q.columns = append(q.columns, fieldAppender{column}) + } + return q +} + +// ColumnExpr adds column expression to the Query. +func (q *Query) ColumnExpr(expr string, params ...interface{}) *Query { + q.columns = append(q.columns, SafeQuery(expr, params...)) + return q +} + +// ExcludeColumn excludes a column from the list of to be selected columns. +func (q *Query) ExcludeColumn(columns ...string) *Query { + if q.columns == nil { + for _, f := range q.tableModel.Table().Fields { + q.columns = append(q.columns, fieldAppender{f.SQLName}) + } + } + + for _, col := range columns { + if !q.excludeColumn(col) { + return q.err(fmt.Errorf("pg: can't find column=%q", col)) + } + } + return q +} + +func (q *Query) excludeColumn(column string) bool { + for i := 0; i < len(q.columns); i++ { + app, ok := q.columns[i].(fieldAppender) + if ok && app.field == column { + q.columns = append(q.columns[:i], q.columns[i+1:]...) + return true + } + } + return false +} + +func (q *Query) getFields() ([]*Field, error) { + return q._getFields(false) +} + +func (q *Query) getDataFields() ([]*Field, error) { + return q._getFields(true) +} + +func (q *Query) _getFields(omitPKs bool) ([]*Field, error) { + table := q.tableModel.Table() + columns := make([]*Field, 0, len(q.columns)) + for _, col := range q.columns { + f, ok := col.(fieldAppender) + if !ok { + continue + } + + field, err := table.GetField(f.field) + if err != nil { + return nil, err + } + + if omitPKs && field.hasFlag(PrimaryKeyFlag) { + continue + } + + columns = append(columns, field) + } + return columns, nil +} + +// Relation adds a relation to the query. Relation name can be: +// - RelationName to select all columns, +// - RelationName.column_name, +// - RelationName._ to join relation without selecting relation columns. +func (q *Query) Relation(name string, apply ...func(*Query) (*Query, error)) *Query { + var fn func(*Query) (*Query, error) + if len(apply) == 1 { + fn = apply[0] + } else if len(apply) > 1 { + panic("only one apply function is supported") + } + + join := q.tableModel.Join(name, fn) + if join == nil { + return q.err(fmt.Errorf("%s does not have relation=%q", + q.tableModel.Table(), name)) + } + + if fn == nil { + return q + } + + switch join.Rel.Type { + case HasOneRelation, BelongsToRelation: + q.joinAppendOn = join.AppendOn + return q.Apply(fn) + default: + q.joinAppendOn = nil + return q + } +} + +func (q *Query) Set(set string, params ...interface{}) *Query { + q.set = append(q.set, SafeQuery(set, params...)) + return q +} + +// Value overwrites model value for the column in INSERT and UPDATE queries. +func (q *Query) Value(column string, value string, params ...interface{}) *Query { + if !q.hasTableModel() { + q.err(errModelNil) + return q + } + + table := q.tableModel.Table() + if _, ok := table.FieldsMap[column]; ok { + if q.modelValues == nil { + q.modelValues = make(map[string]*SafeQueryAppender) + } + q.modelValues[column] = SafeQuery(value, params...) + } else { + q.extraValues = append(q.extraValues, &columnValue{ + column: column, + value: SafeQuery(value, params...), + }) + } + + return q +} + +func (q *Query) Where(condition string, params ...interface{}) *Query { + q.addWhere(&condAppender{ + sep: " AND ", + cond: condition, + params: params, + }) + return q +} + +func (q *Query) WhereOr(condition string, params ...interface{}) *Query { + q.addWhere(&condAppender{ + sep: " OR ", + cond: condition, + params: params, + }) + return q +} + +// WhereGroup encloses conditions added in the function in parentheses. +// +// q.Where("TRUE"). +// WhereGroup(func(q *pg.Query) (*pg.Query, error) { +// q = q.WhereOr("FALSE").WhereOr("TRUE"). +// return q, nil +// }) +// +// generates +// +// WHERE TRUE AND (FALSE OR TRUE) +func (q *Query) WhereGroup(fn func(*Query) (*Query, error)) *Query { + return q.whereGroup(" AND ", fn) +} + +// WhereGroup encloses conditions added in the function in parentheses. +// +// q.Where("TRUE"). +// WhereNotGroup(func(q *pg.Query) (*pg.Query, error) { +// q = q.WhereOr("FALSE").WhereOr("TRUE"). +// return q, nil +// }) +// +// generates +// +// WHERE TRUE AND NOT (FALSE OR TRUE) +func (q *Query) WhereNotGroup(fn func(*Query) (*Query, error)) *Query { + return q.whereGroup(" AND NOT ", fn) +} + +// WhereOrGroup encloses conditions added in the function in parentheses. +// +// q.Where("TRUE"). +// WhereOrGroup(func(q *pg.Query) (*pg.Query, error) { +// q = q.Where("FALSE").Where("TRUE"). +// return q, nil +// }) +// +// generates +// +// WHERE TRUE OR (FALSE AND TRUE) +func (q *Query) WhereOrGroup(fn func(*Query) (*Query, error)) *Query { + return q.whereGroup(" OR ", fn) +} + +// WhereOrGroup encloses conditions added in the function in parentheses. +// +// q.Where("TRUE"). +// WhereOrGroup(func(q *pg.Query) (*pg.Query, error) { +// q = q.Where("FALSE").Where("TRUE"). +// return q, nil +// }) +// +// generates +// +// WHERE TRUE OR NOT (FALSE AND TRUE) +func (q *Query) WhereOrNotGroup(fn func(*Query) (*Query, error)) *Query { + return q.whereGroup(" OR NOT ", fn) +} + +func (q *Query) whereGroup(conj string, fn func(*Query) (*Query, error)) *Query { + saved := q.where + q.where = nil + + newq, err := fn(q) + if err != nil { + q.err(err) + return q + } + + if len(newq.where) == 0 { + newq.where = saved + return newq + } + + f := &condGroupAppender{ + sep: conj, + cond: newq.where, + } + newq.where = saved + newq.addWhere(f) + + return newq +} + +// WhereIn is a shortcut for Where and pg.In. +func (q *Query) WhereIn(where string, slice interface{}) *Query { + return q.Where(where, types.In(slice)) +} + +// WhereInMulti is a shortcut for Where and pg.InMulti. +func (q *Query) WhereInMulti(where string, values ...interface{}) *Query { + return q.Where(where, types.InMulti(values...)) +} + +func (q *Query) addWhere(f queryWithSepAppender) { + if q.onConflictDoUpdate() { + q.updWhere = append(q.updWhere, f) + } else { + q.where = append(q.where, f) + } +} + +// WherePK adds condition based on the model primary keys. +// Usually it is the same as: +// +// Where("id = ?id") +func (q *Query) WherePK() *Query { + if !q.hasTableModel() { + q.err(errModelNil) + return q + } + + if err := q.tableModel.Table().checkPKs(); err != nil { + q.err(err) + return q + } + + switch q.tableModel.Kind() { + case reflect.Struct: + q.where = append(q.where, wherePKStructQuery{q}) + return q + case reflect.Slice: + q.joins = append(q.joins, joinPKSliceQuery{q: q}) + q.where = append(q.where, wherePKSliceQuery{q: q}) + q = q.OrderExpr(`"_data"."ordering" ASC`) + return q + } + + panic("not reached") +} + +func (q *Query) Join(join string, params ...interface{}) *Query { + j := &joinQuery{ + join: SafeQuery(join, params...), + } + q.joins = append(q.joins, j) + q.joinAppendOn = j.AppendOn + return q +} + +// JoinOn appends join condition to the last join. +func (q *Query) JoinOn(condition string, params ...interface{}) *Query { + if q.joinAppendOn == nil { + q.err(errors.New("pg: no joins to apply JoinOn")) + return q + } + q.joinAppendOn(&condAppender{ + sep: " AND ", + cond: condition, + params: params, + }) + return q +} + +func (q *Query) JoinOnOr(condition string, params ...interface{}) *Query { + if q.joinAppendOn == nil { + q.err(errors.New("pg: no joins to apply JoinOn")) + return q + } + q.joinAppendOn(&condAppender{ + sep: " OR ", + cond: condition, + params: params, + }) + return q +} + +func (q *Query) Group(columns ...string) *Query { + for _, column := range columns { + q.group = append(q.group, fieldAppender{column}) + } + return q +} + +func (q *Query) GroupExpr(group string, params ...interface{}) *Query { + q.group = append(q.group, SafeQuery(group, params...)) + return q +} + +func (q *Query) Having(having string, params ...interface{}) *Query { + q.having = append(q.having, SafeQuery(having, params...)) + return q +} + +func (q *Query) Union(other *Query) *Query { + return q.addUnion(" UNION ", other) +} + +func (q *Query) UnionAll(other *Query) *Query { + return q.addUnion(" UNION ALL ", other) +} + +func (q *Query) Intersect(other *Query) *Query { + return q.addUnion(" INTERSECT ", other) +} + +func (q *Query) IntersectAll(other *Query) *Query { + return q.addUnion(" INTERSECT ALL ", other) +} + +func (q *Query) Except(other *Query) *Query { + return q.addUnion(" EXCEPT ", other) +} + +func (q *Query) ExceptAll(other *Query) *Query { + return q.addUnion(" EXCEPT ALL ", other) +} + +func (q *Query) addUnion(expr string, other *Query) *Query { + q.union = append(q.union, &union{ + expr: expr, + query: other, + }) + return q +} + +// Order adds sort order to the Query quoting column name. Does not expand params like ?TableAlias etc. +// OrderExpr can be used to bypass quoting restriction or for params expansion. +func (q *Query) Order(orders ...string) *Query { +loop: + for _, order := range orders { + if order == "" { + continue + } + ind := strings.Index(order, " ") + if ind != -1 { + field := order[:ind] + sort := order[ind+1:] + switch internal.UpperString(sort) { + case "ASC", "DESC", "ASC NULLS FIRST", "DESC NULLS FIRST", + "ASC NULLS LAST", "DESC NULLS LAST": + q = q.OrderExpr("? ?", types.Ident(field), types.Safe(sort)) + continue loop + } + } + + q.order = append(q.order, fieldAppender{order}) + } + return q +} + +// Order adds sort order to the Query. +func (q *Query) OrderExpr(order string, params ...interface{}) *Query { + if order != "" { + q.order = append(q.order, SafeQuery(order, params...)) + } + return q +} + +func (q *Query) Limit(n int) *Query { + q.limit = n + return q +} + +func (q *Query) Offset(n int) *Query { + q.offset = n + return q +} + +func (q *Query) OnConflict(s string, params ...interface{}) *Query { + q.onConflict = SafeQuery(s, params...) + return q +} + +func (q *Query) onConflictDoUpdate() bool { + return q.onConflict != nil && + strings.HasSuffix(internal.UpperString(q.onConflict.query), "DO UPDATE") +} + +// Returning adds a RETURNING clause to the query. +// +// `Returning("NULL")` can be used to suppress default returning clause +// generated by go-pg for INSERT queries to get values for null columns. +func (q *Query) Returning(s string, params ...interface{}) *Query { + q.returning = append(q.returning, SafeQuery(s, params...)) + return q +} + +func (q *Query) For(s string, params ...interface{}) *Query { + q.selFor = SafeQuery(s, params...) + return q +} + +// Apply calls the fn passing the Query as an argument. +func (q *Query) Apply(fn func(*Query) (*Query, error)) *Query { + qq, err := fn(q) + if err != nil { + q.err(err) + return q + } + return qq +} + +// Count returns number of rows matching the query using count aggregate function. +func (q *Query) Count() (int, error) { + if q.stickyErr != nil { + return 0, q.stickyErr + } + + var count int + _, err := q.db.QueryOneContext( + q.ctx, Scan(&count), q.countSelectQuery("count(*)"), q.tableModel) + return count, err +} + +func (q *Query) countSelectQuery(column string) *SelectQuery { + return &SelectQuery{ + q: q, + count: column, + } +} + +// First sorts rows by primary key and selects the first row. +// It is a shortcut for: +// +// q.OrderExpr("id ASC").Limit(1) +func (q *Query) First() error { + table := q.tableModel.Table() + + if err := table.checkPKs(); err != nil { + return err + } + + b := appendColumns(nil, table.Alias, table.PKs) + return q.OrderExpr(internal.BytesToString(b)).Limit(1).Select() +} + +// Last sorts rows by primary key and selects the last row. +// It is a shortcut for: +// +// q.OrderExpr("id DESC").Limit(1) +func (q *Query) Last() error { + table := q.tableModel.Table() + + if err := table.checkPKs(); err != nil { + return err + } + + // TODO: fix for multi columns + b := appendColumns(nil, table.Alias, table.PKs) + b = append(b, " DESC"...) + return q.OrderExpr(internal.BytesToString(b)).Limit(1).Select() +} + +// Select selects the model. +func (q *Query) Select(values ...interface{}) error { + if q.stickyErr != nil { + return q.stickyErr + } + + model, err := q.newModel(values) + if err != nil { + return err + } + + res, err := q.query(q.ctx, model, NewSelectQuery(q)) + if err != nil { + return err + } + + if res.RowsReturned() > 0 { + if q.tableModel != nil { + if err := q.selectJoins(q.tableModel.GetJoins()); err != nil { + return err + } + } + } + + if err := model.AfterSelect(q.ctx); err != nil { + return err + } + + return nil +} + +func (q *Query) newModel(values []interface{}) (Model, error) { + if len(values) > 0 { + return newScanModel(values) + } + return q.tableModel, nil +} + +func (q *Query) query(ctx context.Context, model Model, query interface{}) (Result, error) { + if _, ok := model.(useQueryOne); ok { + return q.db.QueryOneContext(ctx, model, query, q.tableModel) + } + return q.db.QueryContext(ctx, model, query, q.tableModel) +} + +// SelectAndCount runs Select and Count in two goroutines, +// waits for them to finish and returns the result. If query limit is -1 +// it does not select any data and only counts the results. +func (q *Query) SelectAndCount(values ...interface{}) (count int, firstErr error) { + if q.stickyErr != nil { + return 0, q.stickyErr + } + + var wg sync.WaitGroup + var mu sync.Mutex + + if q.limit >= 0 { + wg.Add(1) + go func() { + defer wg.Done() + err := q.Select(values...) + if err != nil { + mu.Lock() + if firstErr == nil { + firstErr = err + } + mu.Unlock() + } + }() + } + + wg.Add(1) + go func() { + defer wg.Done() + var err error + count, err = q.Count() + if err != nil { + mu.Lock() + if firstErr == nil { + firstErr = err + } + mu.Unlock() + } + }() + + wg.Wait() + return count, firstErr +} + +// SelectAndCountEstimate runs Select and CountEstimate in two goroutines, +// waits for them to finish and returns the result. If query limit is -1 +// it does not select any data and only counts the results. +func (q *Query) SelectAndCountEstimate(threshold int, values ...interface{}) (count int, firstErr error) { + if q.stickyErr != nil { + return 0, q.stickyErr + } + + var wg sync.WaitGroup + var mu sync.Mutex + + if q.limit >= 0 { + wg.Add(1) + go func() { + defer wg.Done() + err := q.Select(values...) + if err != nil { + mu.Lock() + if firstErr == nil { + firstErr = err + } + mu.Unlock() + } + }() + } + + wg.Add(1) + go func() { + defer wg.Done() + var err error + count, err = q.CountEstimate(threshold) + if err != nil { + mu.Lock() + if firstErr == nil { + firstErr = err + } + mu.Unlock() + } + }() + + wg.Wait() + return count, firstErr +} + +// ForEach calls the function for each row returned by the query +// without loading all rows into the memory. +// +// Function can accept a struct, a pointer to a struct, an orm.Model, +// or values for the columns in a row. Function must return an error. +func (q *Query) ForEach(fn interface{}) error { + m := newFuncModel(fn) + return q.Select(m) +} + +func (q *Query) forEachHasOneJoin(fn func(*join) error) error { + if q.tableModel == nil { + return nil + } + return q._forEachHasOneJoin(fn, q.tableModel.GetJoins()) +} + +func (q *Query) _forEachHasOneJoin(fn func(*join) error, joins []join) error { + for i := range joins { + j := &joins[i] + switch j.Rel.Type { + case HasOneRelation, BelongsToRelation: + err := fn(j) + if err != nil { + return err + } + + err = q._forEachHasOneJoin(fn, j.JoinModel.GetJoins()) + if err != nil { + return err + } + } + } + return nil +} + +func (q *Query) selectJoins(joins []join) error { + var err error + for i := range joins { + j := &joins[i] + if j.Rel.Type == HasOneRelation || j.Rel.Type == BelongsToRelation { + err = q.selectJoins(j.JoinModel.GetJoins()) + } else { + err = j.Select(q.db.Formatter(), q.New()) + } + if err != nil { + return err + } + } + return nil +} + +// Insert inserts the model. +func (q *Query) Insert(values ...interface{}) (Result, error) { + if q.stickyErr != nil { + return nil, q.stickyErr + } + + model, err := q.newModel(values) + if err != nil { + return nil, err + } + + ctx := q.ctx + + if q.tableModel != nil && q.tableModel.Table().hasFlag(beforeInsertHookFlag) { + ctx, err = q.tableModel.BeforeInsert(ctx) + if err != nil { + return nil, err + } + } + + query := NewInsertQuery(q) + res, err := q.returningQuery(ctx, model, query) + if err != nil { + return nil, err + } + + if q.tableModel != nil { + if err := q.tableModel.AfterInsert(ctx); err != nil { + return nil, err + } + } + + return res, nil +} + +// SelectOrInsert selects the model inserting one if it does not exist. +// It returns true when model was inserted. +func (q *Query) SelectOrInsert(values ...interface{}) (inserted bool, _ error) { + if q.stickyErr != nil { + return false, q.stickyErr + } + + var insertq *Query + var insertErr error + for i := 0; i < 5; i++ { + if i >= 2 { + dur := internal.RetryBackoff(i-2, 250*time.Millisecond, 5*time.Second) + if err := internal.Sleep(q.ctx, dur); err != nil { + return false, err + } + } + + err := q.Select(values...) + if err == nil { + return false, nil + } + if err != internal.ErrNoRows { + return false, err + } + + if insertq == nil { + insertq = q + if len(insertq.columns) > 0 { + insertq = insertq.Clone() + insertq.columns = nil + } + } + + res, err := insertq.Insert(values...) + if err != nil { + insertErr = err + if err == internal.ErrNoRows { + continue + } + if pgErr, ok := err.(internal.PGError); ok { + if pgErr.IntegrityViolation() { + continue + } + if pgErr.Field('C') == "55000" { + // Retry on "#55000 attempted to delete invisible tuple". + continue + } + } + return false, err + } + if res.RowsAffected() == 1 { + return true, nil + } + } + + err := fmt.Errorf( + "pg: SelectOrInsert: select returns no rows (insert fails with err=%q)", + insertErr) + return false, err +} + +// Update updates the model. +func (q *Query) Update(scan ...interface{}) (Result, error) { + return q.update(scan, false) +} + +// Update updates the model omitting fields with zero values such as: +// - empty string, +// - 0, +// - zero time, +// - empty map or slice, +// - byte array with all zeroes, +// - nil ptr, +// - types with method `IsZero() == true`. +func (q *Query) UpdateNotZero(scan ...interface{}) (Result, error) { + return q.update(scan, true) +} + +func (q *Query) update(values []interface{}, omitZero bool) (Result, error) { + if q.stickyErr != nil { + return nil, q.stickyErr + } + + model, err := q.newModel(values) + if err != nil { + return nil, err + } + + c := q.ctx + + if q.tableModel != nil { + c, err = q.tableModel.BeforeUpdate(c) + if err != nil { + return nil, err + } + } + + query := NewUpdateQuery(q, omitZero) + res, err := q.returningQuery(c, model, query) + if err != nil { + return nil, err + } + + if q.tableModel != nil { + err = q.tableModel.AfterUpdate(c) + if err != nil { + return nil, err + } + } + + return res, nil +} + +func (q *Query) returningQuery(c context.Context, model Model, query interface{}) (Result, error) { + if !q.hasReturning() { + return q.db.QueryContext(c, model, query, q.tableModel) + } + if _, ok := model.(useQueryOne); ok { + return q.db.QueryOneContext(c, model, query, q.tableModel) + } + return q.db.QueryContext(c, model, query, q.tableModel) +} + +// Delete deletes the model. When model has deleted_at column the row +// is soft deleted instead. +func (q *Query) Delete(values ...interface{}) (Result, error) { + if q.tableModel == nil { + return q.ForceDelete(values...) + } + + table := q.tableModel.Table() + if table.SoftDeleteField == nil { + return q.ForceDelete(values...) + } + + clone := q.Clone() + if q.tableModel.IsNil() { + if table.SoftDeleteField.SQLType == pgTypeBigint { + clone = clone.Set("? = ?", table.SoftDeleteField.Column, time.Now().UnixNano()) + } else { + clone = clone.Set("? = ?", table.SoftDeleteField.Column, time.Now()) + } + } else { + if err := clone.tableModel.setSoftDeleteField(); err != nil { + return nil, err + } + clone = clone.Column(table.SoftDeleteField.SQLName) + } + return clone.Update(values...) +} + +// Delete forces delete of the model with deleted_at column. +func (q *Query) ForceDelete(values ...interface{}) (Result, error) { + if q.stickyErr != nil { + return nil, q.stickyErr + } + if q.tableModel == nil { + return nil, errModelNil + } + q = q.withFlag(deletedFlag) + + model, err := q.newModel(values) + if err != nil { + return nil, err + } + + ctx := q.ctx + + if q.tableModel != nil { + ctx, err = q.tableModel.BeforeDelete(ctx) + if err != nil { + return nil, err + } + } + + res, err := q.returningQuery(ctx, model, NewDeleteQuery(q)) + if err != nil { + return nil, err + } + + if q.tableModel != nil { + if err := q.tableModel.AfterDelete(ctx); err != nil { + return nil, err + } + } + + return res, nil +} + +func (q *Query) CreateTable(opt *CreateTableOptions) error { + _, err := q.db.ExecContext(q.ctx, NewCreateTableQuery(q, opt)) + return err +} + +func (q *Query) DropTable(opt *DropTableOptions) error { + _, err := q.db.ExecContext(q.ctx, NewDropTableQuery(q, opt)) + return err +} + +func (q *Query) CreateComposite(opt *CreateCompositeOptions) error { + _, err := q.db.ExecContext(q.ctx, NewCreateCompositeQuery(q, opt)) + return err +} + +func (q *Query) DropComposite(opt *DropCompositeOptions) error { + _, err := q.db.ExecContext(q.ctx, NewDropCompositeQuery(q, opt)) + return err +} + +// Exec is an alias for DB.Exec. +func (q *Query) Exec(query interface{}, params ...interface{}) (Result, error) { + params = append(params, q.tableModel) + return q.db.ExecContext(q.ctx, query, params...) +} + +// ExecOne is an alias for DB.ExecOne. +func (q *Query) ExecOne(query interface{}, params ...interface{}) (Result, error) { + params = append(params, q.tableModel) + return q.db.ExecOneContext(q.ctx, query, params...) +} + +// Query is an alias for DB.Query. +func (q *Query) Query(model, query interface{}, params ...interface{}) (Result, error) { + params = append(params, q.tableModel) + return q.db.QueryContext(q.ctx, model, query, params...) +} + +// QueryOne is an alias for DB.QueryOne. +func (q *Query) QueryOne(model, query interface{}, params ...interface{}) (Result, error) { + params = append(params, q.tableModel) + return q.db.QueryOneContext(q.ctx, model, query, params...) +} + +// CopyFrom is an alias from DB.CopyFrom. +func (q *Query) CopyFrom(r io.Reader, query interface{}, params ...interface{}) (Result, error) { + params = append(params, q.tableModel) + return q.db.CopyFrom(r, query, params...) +} + +// CopyTo is an alias from DB.CopyTo. +func (q *Query) CopyTo(w io.Writer, query interface{}, params ...interface{}) (Result, error) { + params = append(params, q.tableModel) + return q.db.CopyTo(w, query, params...) +} + +var _ QueryAppender = (*Query)(nil) + +func (q *Query) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + return NewSelectQuery(q).AppendQuery(fmter, b) +} + +// Exists returns true or false depending if there are any rows matching the query. +func (q *Query) Exists() (bool, error) { + q = q.Clone() // copy to not change original query + q.columns = []QueryAppender{SafeQuery("1")} + q.order = nil + q.limit = 1 + res, err := q.db.ExecContext(q.ctx, NewSelectQuery(q)) + if err != nil { + return false, err + } + return res.RowsAffected() > 0, nil +} + +func (q *Query) hasTableModel() bool { + return q.tableModel != nil && !q.tableModel.IsNil() +} + +func (q *Query) hasExplicitTableModel() bool { + return q.tableModel != nil && !q.hasFlag(implicitModelFlag) +} + +func (q *Query) modelHasTableName() bool { + return q.hasExplicitTableModel() && q.tableModel.Table().SQLName != "" +} + +func (q *Query) modelHasTableAlias() bool { + return q.hasExplicitTableModel() && q.tableModel.Table().Alias != "" +} + +func (q *Query) hasTables() bool { + return q.modelHasTableName() || len(q.tables) > 0 +} + +func (q *Query) appendFirstTable(fmter QueryFormatter, b []byte) ([]byte, error) { + if q.modelHasTableName() { + return fmter.FormatQuery(b, string(q.tableModel.Table().SQLName)), nil + } + if len(q.tables) > 0 { + return q.tables[0].AppendQuery(fmter, b) + } + return b, nil +} + +func (q *Query) appendFirstTableWithAlias(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if q.modelHasTableName() { + table := q.tableModel.Table() + b = fmter.FormatQuery(b, string(table.SQLName)) + if table.Alias != table.SQLName { + b = append(b, " AS "...) + b = append(b, table.Alias...) + } + return b, nil + } + + if len(q.tables) > 0 { + b, err = q.tables[0].AppendQuery(fmter, b) + if err != nil { + return nil, err + } + if q.modelHasTableAlias() { + table := q.tableModel.Table() + if table.Alias != table.SQLName { + b = append(b, " AS "...) + b = append(b, table.Alias...) + } + } + } + + return b, nil +} + +func (q *Query) hasMultiTables() bool { + if q.modelHasTableName() { + return len(q.tables) >= 1 + } + return len(q.tables) >= 2 +} + +func (q *Query) appendOtherTables(fmter QueryFormatter, b []byte) (_ []byte, err error) { + tables := q.tables + if !q.modelHasTableName() { + tables = tables[1:] + } + for i, f := range tables { + if i > 0 { + b = append(b, ", "...) + } + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + return b, nil +} + +func (q *Query) appendColumns(fmter QueryFormatter, b []byte) (_ []byte, err error) { + for i, f := range q.columns { + if i > 0 { + b = append(b, ", "...) + } + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + return b, nil +} + +func (q *Query) mustAppendWhere(fmter QueryFormatter, b []byte) ([]byte, error) { + if len(q.where) == 0 { + err := errors.New( + "pg: Update and Delete queries require Where clause (try WherePK)") + return nil, err + } + return q.appendWhere(fmter, b) +} + +func (q *Query) appendWhere(fmter QueryFormatter, b []byte) (_ []byte, err error) { + isSoftDelete := q.isSoftDelete() + + if len(q.where) > 0 { + if isSoftDelete { + b = append(b, '(') + } + + b, err = q._appendWhere(fmter, b, q.where) + if err != nil { + return nil, err + } + + if isSoftDelete { + b = append(b, ')') + } + } + + if isSoftDelete { + if len(q.where) > 0 { + b = append(b, " AND "...) + } + b = append(b, q.tableModel.Table().Alias...) + b = q.appendSoftDelete(b) + } + + return b, nil +} + +func (q *Query) appendSoftDelete(b []byte) []byte { + b = append(b, '.') + b = append(b, q.tableModel.Table().SoftDeleteField.Column...) + if q.hasFlag(deletedFlag) { + b = append(b, " IS NOT NULL"...) + } else { + b = append(b, " IS NULL"...) + } + return b +} + +func (q *Query) appendUpdWhere(fmter QueryFormatter, b []byte) ([]byte, error) { + return q._appendWhere(fmter, b, q.updWhere) +} + +func (q *Query) _appendWhere( + fmter QueryFormatter, b []byte, where []queryWithSepAppender, +) (_ []byte, err error) { + for i, f := range where { + start := len(b) + + if i > 0 { + b = f.AppendSep(b) + } + + before := len(b) + + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + + if len(b) == before { + b = b[:start] + } + } + return b, nil +} + +func (q *Query) appendSet(fmter QueryFormatter, b []byte) (_ []byte, err error) { + b = append(b, " SET "...) + for i, f := range q.set { + if i > 0 { + b = append(b, ", "...) + } + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + return b, nil +} + +func (q *Query) hasReturning() bool { + if len(q.returning) == 0 { + return false + } + if len(q.returning) == 1 { + switch q.returning[0].query { + case "null", "NULL": + return false + } + } + return true +} + +func (q *Query) appendReturning(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if !q.hasReturning() { + return b, nil + } + + b = append(b, " RETURNING "...) + for i, f := range q.returning { + if i > 0 { + b = append(b, ", "...) + } + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + return b, nil +} + +func (q *Query) appendWith(fmter QueryFormatter, b []byte) (_ []byte, err error) { + b = append(b, "WITH "...) + for i, with := range q.with { + if i > 0 { + b = append(b, ", "...) + } + b = types.AppendIdent(b, with.name, 1) + b = append(b, " AS ("...) + + b, err = with.query.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + + b = append(b, ')') + } + b = append(b, ' ') + return b, nil +} + +func (q *Query) isSliceModelWithData() bool { + if !q.hasTableModel() { + return false + } + m, ok := q.tableModel.(*sliceTableModel) + return ok && m.sliceLen > 0 +} + +//------------------------------------------------------------------------------ + +type wherePKStructQuery struct { + q *Query +} + +var _ queryWithSepAppender = (*wherePKStructQuery)(nil) + +func (wherePKStructQuery) AppendSep(b []byte) []byte { + return append(b, " AND "...) +} + +func (q wherePKStructQuery) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + table := q.q.tableModel.Table() + value := q.q.tableModel.Value() + return appendColumnAndValue(fmter, b, value, table.Alias, table.PKs), nil +} + +func appendColumnAndValue( + fmter QueryFormatter, b []byte, v reflect.Value, alias types.Safe, fields []*Field, +) []byte { + isPlaceholder := isTemplateFormatter(fmter) + for i, f := range fields { + if i > 0 { + b = append(b, " AND "...) + } + b = append(b, alias...) + b = append(b, '.') + b = append(b, f.Column...) + b = append(b, " = "...) + if isPlaceholder { + b = append(b, '?') + } else { + b = f.AppendValue(b, v, 1) + } + } + return b +} + +//------------------------------------------------------------------------------ + +type wherePKSliceQuery struct { + q *Query +} + +var _ queryWithSepAppender = (*wherePKSliceQuery)(nil) + +func (wherePKSliceQuery) AppendSep(b []byte) []byte { + return append(b, " AND "...) +} + +func (q wherePKSliceQuery) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + table := q.q.tableModel.Table() + + for i, f := range table.PKs { + if i > 0 { + b = append(b, " AND "...) + } + b = append(b, table.Alias...) + b = append(b, '.') + b = append(b, f.Column...) + b = append(b, " = "...) + b = append(b, `"_data".`...) + b = append(b, f.Column...) + } + + return b, nil +} + +type joinPKSliceQuery struct { + q *Query +} + +var _ QueryAppender = (*joinPKSliceQuery)(nil) + +func (q joinPKSliceQuery) AppendQuery(fmter QueryFormatter, b []byte) ([]byte, error) { + table := q.q.tableModel.Table() + slice := q.q.tableModel.Value() + + b = append(b, " JOIN (VALUES "...) + + sliceLen := slice.Len() + for i := 0; i < sliceLen; i++ { + if i > 0 { + b = append(b, ", "...) + } + + el := indirect(slice.Index(i)) + + b = append(b, '(') + for i, f := range table.PKs { + if i > 0 { + b = append(b, ", "...) + } + + b = f.AppendValue(b, el, 1) + + if f.UserSQLType != "" { + b = append(b, "::"...) + b = append(b, f.SQLType...) + } + } + + b = append(b, ", "...) + b = strconv.AppendInt(b, int64(i), 10) + + b = append(b, ')') + } + + b = append(b, `) AS "_data" (`...) + + for i, f := range table.PKs { + if i > 0 { + b = append(b, ", "...) + } + b = append(b, f.Column...) + } + + b = append(b, ", "...) + b = append(b, `"ordering"`...) + b = append(b, ") ON TRUE"...) + + return b, nil +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/relation.go b/vendor/github.com/go-pg/pg/v10/orm/relation.go new file mode 100644 index 000000000..28d915bcd --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/relation.go @@ -0,0 +1,33 @@ +package orm + +import ( + "fmt" + + "github.com/go-pg/pg/v10/types" +) + +const ( + InvalidRelation = iota + HasOneRelation + BelongsToRelation + HasManyRelation + Many2ManyRelation +) + +type Relation struct { + Type int + Field *Field + JoinTable *Table + BaseFKs []*Field + JoinFKs []*Field + Polymorphic *Field + + M2MTableName types.Safe + M2MTableAlias types.Safe + M2MBaseFKs []string + M2MJoinFKs []string +} + +func (r *Relation) String() string { + return fmt.Sprintf("relation=%s", r.Field.GoName) +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/result.go b/vendor/github.com/go-pg/pg/v10/orm/result.go new file mode 100644 index 000000000..9d82815ef --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/result.go @@ -0,0 +1,14 @@ +package orm + +// Result summarizes an executed SQL command. +type Result interface { + Model() Model + + // RowsAffected returns the number of rows affected by SELECT, INSERT, UPDATE, + // or DELETE queries. It returns -1 if query can't possibly affect any rows, + // e.g. in case of CREATE or SHOW queries. + RowsAffected() int + + // RowsReturned returns the number of rows returned by the query. + RowsReturned() int +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/select.go b/vendor/github.com/go-pg/pg/v10/orm/select.go new file mode 100644 index 000000000..d3b38742d --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/select.go @@ -0,0 +1,346 @@ +package orm + +import ( + "bytes" + "fmt" + "strconv" + "strings" + + "github.com/go-pg/pg/v10/types" +) + +type SelectQuery struct { + q *Query + count string +} + +var ( + _ QueryAppender = (*SelectQuery)(nil) + _ QueryCommand = (*SelectQuery)(nil) +) + +func NewSelectQuery(q *Query) *SelectQuery { + return &SelectQuery{ + q: q, + } +} + +func (q *SelectQuery) String() string { + b, err := q.AppendQuery(defaultFmter, nil) + if err != nil { + panic(err) + } + return string(b) +} + +func (q *SelectQuery) Operation() QueryOp { + return SelectOp +} + +func (q *SelectQuery) Clone() QueryCommand { + return &SelectQuery{ + q: q.q.Clone(), + count: q.count, + } +} + +func (q *SelectQuery) Query() *Query { + return q.q +} + +func (q *SelectQuery) AppendTemplate(b []byte) ([]byte, error) { + return q.AppendQuery(dummyFormatter{}, b) +} + +func (q *SelectQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) { //nolint:gocyclo + if q.q.stickyErr != nil { + return nil, q.q.stickyErr + } + + cteCount := q.count != "" && (len(q.q.group) > 0 || q.isDistinct()) + if cteCount { + b = append(b, `WITH "_count_wrapper" AS (`...) + } + + if len(q.q.with) > 0 { + b, err = q.q.appendWith(fmter, b) + if err != nil { + return nil, err + } + } + + if len(q.q.union) > 0 { + b = append(b, '(') + } + + b = append(b, "SELECT "...) + + if len(q.q.distinctOn) > 0 { + b = append(b, "DISTINCT ON ("...) + for i, app := range q.q.distinctOn { + if i > 0 { + b = append(b, ", "...) + } + b, err = app.AppendQuery(fmter, b) + } + b = append(b, ") "...) + } else if q.q.distinctOn != nil { + b = append(b, "DISTINCT "...) + } + + if q.count != "" && !cteCount { + b = append(b, q.count...) + } else { + b, err = q.appendColumns(fmter, b) + if err != nil { + return nil, err + } + } + + if q.q.hasTables() { + b = append(b, " FROM "...) + b, err = q.appendTables(fmter, b) + if err != nil { + return nil, err + } + } + + err = q.q.forEachHasOneJoin(func(j *join) error { + b = append(b, ' ') + b, err = j.appendHasOneJoin(fmter, b, q.q) + return err + }) + if err != nil { + return nil, err + } + + for _, j := range q.q.joins { + b, err = j.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + + if len(q.q.where) > 0 || q.q.isSoftDelete() { + b = append(b, " WHERE "...) + b, err = q.q.appendWhere(fmter, b) + if err != nil { + return nil, err + } + } + + if len(q.q.group) > 0 { + b = append(b, " GROUP BY "...) + for i, f := range q.q.group { + if i > 0 { + b = append(b, ", "...) + } + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + } + + if len(q.q.having) > 0 { + b = append(b, " HAVING "...) + for i, f := range q.q.having { + if i > 0 { + b = append(b, " AND "...) + } + b = append(b, '(') + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + b = append(b, ')') + } + } + + if q.count == "" { + if len(q.q.order) > 0 { + b = append(b, " ORDER BY "...) + for i, f := range q.q.order { + if i > 0 { + b = append(b, ", "...) + } + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + } + + if q.q.limit != 0 { + b = append(b, " LIMIT "...) + b = strconv.AppendInt(b, int64(q.q.limit), 10) + } + + if q.q.offset != 0 { + b = append(b, " OFFSET "...) + b = strconv.AppendInt(b, int64(q.q.offset), 10) + } + + if q.q.selFor != nil { + b = append(b, " FOR "...) + b, err = q.q.selFor.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + } else if cteCount { + b = append(b, `) SELECT `...) + b = append(b, q.count...) + b = append(b, ` FROM "_count_wrapper"`...) + } + + if len(q.q.union) > 0 { + b = append(b, ")"...) + + for _, u := range q.q.union { + b = append(b, u.expr...) + b = append(b, '(') + b, err = u.query.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + b = append(b, ")"...) + } + } + + return b, q.q.stickyErr +} + +func (q SelectQuery) appendColumns(fmter QueryFormatter, b []byte) (_ []byte, err error) { + start := len(b) + + switch { + case q.q.columns != nil: + b, err = q.q.appendColumns(fmter, b) + if err != nil { + return nil, err + } + case q.q.hasExplicitTableModel(): + table := q.q.tableModel.Table() + if len(table.Fields) > 10 && isTemplateFormatter(fmter) { + b = append(b, table.Alias...) + b = append(b, '.') + b = types.AppendString(b, fmt.Sprintf("%d columns", len(table.Fields)), 2) + } else { + b = appendColumns(b, table.Alias, table.Fields) + } + default: + b = append(b, '*') + } + + err = q.q.forEachHasOneJoin(func(j *join) error { + if len(b) != start { + b = append(b, ", "...) + start = len(b) + } + + b = j.appendHasOneColumns(b) + return nil + }) + if err != nil { + return nil, err + } + + b = bytes.TrimSuffix(b, []byte(", ")) + + return b, nil +} + +func (q *SelectQuery) isDistinct() bool { + if q.q.distinctOn != nil { + return true + } + for _, column := range q.q.columns { + column, ok := column.(*SafeQueryAppender) + if ok { + if strings.Contains(column.query, "DISTINCT") || + strings.Contains(column.query, "distinct") { + return true + } + } + } + return false +} + +func (q *SelectQuery) appendTables(fmter QueryFormatter, b []byte) (_ []byte, err error) { + tables := q.q.tables + + if q.q.modelHasTableName() { + table := q.q.tableModel.Table() + b = fmter.FormatQuery(b, string(table.SQLNameForSelects)) + if table.Alias != "" { + b = append(b, " AS "...) + b = append(b, table.Alias...) + } + + if len(tables) > 0 { + b = append(b, ", "...) + } + } else if len(tables) > 0 { + b, err = tables[0].AppendQuery(fmter, b) + if err != nil { + return nil, err + } + if q.q.modelHasTableAlias() { + b = append(b, " AS "...) + b = append(b, q.q.tableModel.Table().Alias...) + } + + tables = tables[1:] + if len(tables) > 0 { + b = append(b, ", "...) + } + } + + for i, f := range tables { + if i > 0 { + b = append(b, ", "...) + } + b, err = f.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + + return b, nil +} + +//------------------------------------------------------------------------------ + +type joinQuery struct { + join *SafeQueryAppender + on []*condAppender +} + +func (j *joinQuery) AppendOn(app *condAppender) { + j.on = append(j.on, app) +} + +func (j *joinQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) { + b = append(b, ' ') + + b, err = j.join.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + + if len(j.on) > 0 { + b = append(b, " ON "...) + for i, on := range j.on { + if i > 0 { + b = on.AppendSep(b) + } + b, err = on.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + } + + return b, nil +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/table.go b/vendor/github.com/go-pg/pg/v10/orm/table.go new file mode 100644 index 000000000..8b57bbfc0 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/table.go @@ -0,0 +1,1560 @@ +package orm + +import ( + "database/sql" + "encoding/json" + "fmt" + "net" + "reflect" + "strconv" + "strings" + "sync" + "time" + + "github.com/jinzhu/inflection" + "github.com/vmihailenco/tagparser" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/pgjson" + "github.com/go-pg/pg/v10/types" + "github.com/go-pg/zerochecker" +) + +const ( + beforeScanHookFlag = uint16(1) << iota + afterScanHookFlag + afterSelectHookFlag + beforeInsertHookFlag + afterInsertHookFlag + beforeUpdateHookFlag + afterUpdateHookFlag + beforeDeleteHookFlag + afterDeleteHookFlag + discardUnknownColumnsFlag +) + +var ( + timeType = reflect.TypeOf((*time.Time)(nil)).Elem() + nullTimeType = reflect.TypeOf((*types.NullTime)(nil)).Elem() + sqlNullTimeType = reflect.TypeOf((*sql.NullTime)(nil)).Elem() + ipType = reflect.TypeOf((*net.IP)(nil)).Elem() + ipNetType = reflect.TypeOf((*net.IPNet)(nil)).Elem() + scannerType = reflect.TypeOf((*sql.Scanner)(nil)).Elem() + nullBoolType = reflect.TypeOf((*sql.NullBool)(nil)).Elem() + nullFloatType = reflect.TypeOf((*sql.NullFloat64)(nil)).Elem() + nullIntType = reflect.TypeOf((*sql.NullInt64)(nil)).Elem() + nullStringType = reflect.TypeOf((*sql.NullString)(nil)).Elem() + jsonRawMessageType = reflect.TypeOf((*json.RawMessage)(nil)).Elem() +) + +var tableNameInflector = inflection.Plural + +// SetTableNameInflector overrides the default func that pluralizes +// model name to get table name, e.g. my_article becomes my_articles. +func SetTableNameInflector(fn func(string) string) { + tableNameInflector = fn +} + +// Table represents a SQL table created from Go struct. +type Table struct { + Type reflect.Type + zeroStruct reflect.Value + + TypeName string + Alias types.Safe + ModelName string + + SQLName types.Safe + SQLNameForSelects types.Safe + + Tablespace types.Safe + + PartitionBy string + + allFields []*Field // read only + skippedFields []*Field + + Fields []*Field // PKs + DataFields + PKs []*Field + DataFields []*Field + fieldsMapMu sync.RWMutex + FieldsMap map[string]*Field + + Methods map[string]*Method + Relations map[string]*Relation + Unique map[string][]*Field + + SoftDeleteField *Field + SetSoftDeleteField func(fv reflect.Value) error + + flags uint16 +} + +func newTable(typ reflect.Type) *Table { + t := new(Table) + t.Type = typ + t.zeroStruct = reflect.New(t.Type).Elem() + t.TypeName = internal.ToExported(t.Type.Name()) + t.ModelName = internal.Underscore(t.Type.Name()) + tableName := tableNameInflector(t.ModelName) + t.setName(quoteIdent(tableName)) + t.Alias = quoteIdent(t.ModelName) + + typ = reflect.PtrTo(t.Type) + if typ.Implements(beforeScanHookType) { + t.setFlag(beforeScanHookFlag) + } + if typ.Implements(afterScanHookType) { + t.setFlag(afterScanHookFlag) + } + if typ.Implements(afterSelectHookType) { + t.setFlag(afterSelectHookFlag) + } + if typ.Implements(beforeInsertHookType) { + t.setFlag(beforeInsertHookFlag) + } + if typ.Implements(afterInsertHookType) { + t.setFlag(afterInsertHookFlag) + } + if typ.Implements(beforeUpdateHookType) { + t.setFlag(beforeUpdateHookFlag) + } + if typ.Implements(afterUpdateHookType) { + t.setFlag(afterUpdateHookFlag) + } + if typ.Implements(beforeDeleteHookType) { + t.setFlag(beforeDeleteHookFlag) + } + if typ.Implements(afterDeleteHookType) { + t.setFlag(afterDeleteHookFlag) + } + + return t +} + +func (t *Table) init1() { + t.initFields() + t.initMethods() +} + +func (t *Table) init2() { + t.initInlines() + t.initRelations() + t.skippedFields = nil +} + +func (t *Table) setName(name types.Safe) { + t.SQLName = name + t.SQLNameForSelects = name + if t.Alias == "" { + t.Alias = name + } +} + +func (t *Table) String() string { + return "model=" + t.TypeName +} + +func (t *Table) setFlag(flag uint16) { + t.flags |= flag +} + +func (t *Table) hasFlag(flag uint16) bool { + if t == nil { + return false + } + return t.flags&flag != 0 +} + +func (t *Table) checkPKs() error { + if len(t.PKs) == 0 { + return fmt.Errorf("pg: %s does not have primary keys", t) + } + return nil +} + +func (t *Table) mustSoftDelete() error { + if t.SoftDeleteField == nil { + return fmt.Errorf("pg: %s does not support soft deletes", t) + } + return nil +} + +func (t *Table) AddField(field *Field) { + t.Fields = append(t.Fields, field) + if field.hasFlag(PrimaryKeyFlag) { + t.PKs = append(t.PKs, field) + } else { + t.DataFields = append(t.DataFields, field) + } + t.FieldsMap[field.SQLName] = field +} + +func (t *Table) RemoveField(field *Field) { + t.Fields = removeField(t.Fields, field) + if field.hasFlag(PrimaryKeyFlag) { + t.PKs = removeField(t.PKs, field) + } else { + t.DataFields = removeField(t.DataFields, field) + } + delete(t.FieldsMap, field.SQLName) +} + +func removeField(fields []*Field, field *Field) []*Field { + for i, f := range fields { + if f == field { + fields = append(fields[:i], fields[i+1:]...) + } + } + return fields +} + +func (t *Table) getField(name string) *Field { + t.fieldsMapMu.RLock() + field := t.FieldsMap[name] + t.fieldsMapMu.RUnlock() + return field +} + +func (t *Table) HasField(name string) bool { + _, ok := t.FieldsMap[name] + return ok +} + +func (t *Table) GetField(name string) (*Field, error) { + field, ok := t.FieldsMap[name] + if !ok { + return nil, fmt.Errorf("pg: %s does not have column=%s", t, name) + } + return field, nil +} + +func (t *Table) AppendParam(b []byte, strct reflect.Value, name string) ([]byte, bool) { + field, ok := t.FieldsMap[name] + if ok { + b = field.AppendValue(b, strct, 1) + return b, true + } + + method, ok := t.Methods[name] + if ok { + b = method.AppendValue(b, strct.Addr(), 1) + return b, true + } + + return b, false +} + +func (t *Table) initFields() { + t.Fields = make([]*Field, 0, t.Type.NumField()) + t.FieldsMap = make(map[string]*Field, t.Type.NumField()) + t.addFields(t.Type, nil) +} + +func (t *Table) addFields(typ reflect.Type, baseIndex []int) { + for i := 0; i < typ.NumField(); i++ { + f := typ.Field(i) + + // Make a copy so slice is not shared between fields. + index := make([]int, len(baseIndex)) + copy(index, baseIndex) + + if f.Anonymous { + if f.Tag.Get("sql") == "-" || f.Tag.Get("pg") == "-" { + continue + } + + fieldType := indirectType(f.Type) + if fieldType.Kind() != reflect.Struct { + continue + } + t.addFields(fieldType, append(index, f.Index...)) + + pgTag := tagparser.Parse(f.Tag.Get("pg")) + if _, inherit := pgTag.Options["inherit"]; inherit { + embeddedTable := _tables.get(fieldType, true) + t.TypeName = embeddedTable.TypeName + t.SQLName = embeddedTable.SQLName + t.SQLNameForSelects = embeddedTable.SQLNameForSelects + t.Alias = embeddedTable.Alias + t.ModelName = embeddedTable.ModelName + } + + continue + } + + field := t.newField(f, index) + if field != nil { + t.AddField(field) + } + } +} + +//nolint +func (t *Table) newField(f reflect.StructField, index []int) *Field { + pgTag := tagparser.Parse(f.Tag.Get("pg")) + + switch f.Name { + case "tableName": + if len(index) > 0 { + return nil + } + + if isKnownTableOption(pgTag.Name) { + internal.Warn.Printf( + "%s.%s tag name %q is also an option name; is it a mistake?", + t.TypeName, f.Name, pgTag.Name, + ) + } + + for name := range pgTag.Options { + if !isKnownTableOption(name) { + internal.Warn.Printf("%s.%s has unknown tag option: %q", t.TypeName, f.Name, name) + } + } + + if tableSpace, ok := pgTag.Options["tablespace"]; ok { + s, _ := tagparser.Unquote(tableSpace) + t.Tablespace = quoteIdent(s) + } + + partitionBy, ok := pgTag.Options["partition_by"] + if !ok { + partitionBy, ok = pgTag.Options["partitionBy"] + if ok { + internal.Deprecated.Printf("partitionBy is renamed to partition_by") + } + } + if ok { + s, _ := tagparser.Unquote(partitionBy) + t.PartitionBy = s + } + + if pgTag.Name == "_" { + t.setName("") + } else if pgTag.Name != "" { + s, _ := tagparser.Unquote(pgTag.Name) + t.setName(types.Safe(quoteTableName(s))) + } + + if s, ok := pgTag.Options["select"]; ok { + s, _ = tagparser.Unquote(s) + t.SQLNameForSelects = types.Safe(quoteTableName(s)) + } + + if v, ok := pgTag.Options["alias"]; ok { + v, _ = tagparser.Unquote(v) + t.Alias = quoteIdent(v) + } + + pgTag := tagparser.Parse(f.Tag.Get("pg")) + if _, ok := pgTag.Options["discard_unknown_columns"]; ok { + t.setFlag(discardUnknownColumnsFlag) + } + + return nil + } + + if f.PkgPath != "" { + return nil + } + + sqlName := internal.Underscore(f.Name) + + if pgTag.Name != sqlName && isKnownFieldOption(pgTag.Name) { + internal.Warn.Printf( + "%s.%s tag name %q is also an option name; is it a mistake?", + t.TypeName, f.Name, pgTag.Name, + ) + } + + for name := range pgTag.Options { + if !isKnownFieldOption(name) { + internal.Warn.Printf("%s.%s has unknown tag option: %q", t.TypeName, f.Name, name) + } + } + + skip := pgTag.Name == "-" + if !skip && pgTag.Name != "" { + sqlName = pgTag.Name + } + + index = append(index, f.Index...) + if field := t.getField(sqlName); field != nil { + if indexEqual(field.Index, index) { + return field + } + t.RemoveField(field) + } + + field := &Field{ + Field: f, + Type: indirectType(f.Type), + + GoName: f.Name, + SQLName: sqlName, + Column: quoteIdent(sqlName), + + Index: index, + } + + if _, ok := pgTag.Options["notnull"]; ok { + field.setFlag(NotNullFlag) + } + if v, ok := pgTag.Options["unique"]; ok { + if v == "" { + field.setFlag(UniqueFlag) + } + // Split the value by comma, this will allow multiple names to be specified. + // We can use this to create multiple named unique constraints where a single column + // might be included in multiple constraints. + v, _ = tagparser.Unquote(v) + for _, uniqueName := range strings.Split(v, ",") { + if t.Unique == nil { + t.Unique = make(map[string][]*Field) + } + t.Unique[uniqueName] = append(t.Unique[uniqueName], field) + } + } + if v, ok := pgTag.Options["default"]; ok { + v, ok = tagparser.Unquote(v) + if ok { + field.Default = types.Safe(types.AppendString(nil, v, 1)) + } else { + field.Default = types.Safe(v) + } + } + + //nolint + if _, ok := pgTag.Options["pk"]; ok { + field.setFlag(PrimaryKeyFlag) + } else if strings.HasSuffix(field.SQLName, "_id") || + strings.HasSuffix(field.SQLName, "_uuid") { + field.setFlag(ForeignKeyFlag) + } else if strings.HasPrefix(field.SQLName, "fk_") { + field.setFlag(ForeignKeyFlag) + } else if len(t.PKs) == 0 && !pgTag.HasOption("nopk") { + switch field.SQLName { + case "id", "uuid", "pk_" + t.ModelName: + field.setFlag(PrimaryKeyFlag) + } + } + + if _, ok := pgTag.Options["use_zero"]; ok { + field.setFlag(UseZeroFlag) + } + if _, ok := pgTag.Options["array"]; ok { + field.setFlag(ArrayFlag) + } + + field.SQLType = fieldSQLType(field, pgTag) + if strings.HasSuffix(field.SQLType, "[]") { + field.setFlag(ArrayFlag) + } + + if v, ok := pgTag.Options["on_delete"]; ok { + field.OnDelete = v + } + + if v, ok := pgTag.Options["on_update"]; ok { + field.OnUpdate = v + } + + if _, ok := pgTag.Options["composite"]; ok { + field.append = compositeAppender(f.Type) + field.scan = compositeScanner(f.Type) + } else if _, ok := pgTag.Options["json_use_number"]; ok { + field.append = types.Appender(f.Type) + field.scan = scanJSONValue + } else if field.hasFlag(ArrayFlag) { + field.append = types.ArrayAppender(f.Type) + field.scan = types.ArrayScanner(f.Type) + } else if _, ok := pgTag.Options["hstore"]; ok { + field.append = types.HstoreAppender(f.Type) + field.scan = types.HstoreScanner(f.Type) + } else if field.SQLType == pgTypeBigint && field.Type.Kind() == reflect.Uint64 { + if f.Type.Kind() == reflect.Ptr { + field.append = appendUintPtrAsInt + } else { + field.append = appendUintAsInt + } + field.scan = types.Scanner(f.Type) + } else if _, ok := pgTag.Options["msgpack"]; ok { + field.append = msgpackAppender(f.Type) + field.scan = msgpackScanner(f.Type) + } else { + field.append = types.Appender(f.Type) + field.scan = types.Scanner(f.Type) + } + field.isZero = zerochecker.Checker(f.Type) + + if v, ok := pgTag.Options["alias"]; ok { + v, _ = tagparser.Unquote(v) + t.FieldsMap[v] = field + } + + t.allFields = append(t.allFields, field) + if skip { + t.skippedFields = append(t.skippedFields, field) + t.FieldsMap[field.SQLName] = field + return nil + } + + if _, ok := pgTag.Options["soft_delete"]; ok { + t.SetSoftDeleteField = setSoftDeleteFieldFunc(f.Type) + if t.SetSoftDeleteField == nil { + err := fmt.Errorf( + "pg: soft_delete is only supported for time.Time, pg.NullTime, sql.NullInt64, and int64 (or implement ValueScanner that scans time)") + panic(err) + } + t.SoftDeleteField = field + } + + return field +} + +func (t *Table) initMethods() { + t.Methods = make(map[string]*Method) + typ := reflect.PtrTo(t.Type) + for i := 0; i < typ.NumMethod(); i++ { + m := typ.Method(i) + if m.PkgPath != "" { + continue + } + if m.Type.NumIn() > 1 { + continue + } + if m.Type.NumOut() != 1 { + continue + } + + retType := m.Type.Out(0) + t.Methods[m.Name] = &Method{ + Index: m.Index, + + appender: types.Appender(retType), + } + } +} + +func (t *Table) initInlines() { + for _, f := range t.skippedFields { + if f.Type.Kind() == reflect.Struct { + t.inlineFields(f, nil) + } + } +} + +func (t *Table) initRelations() { + for i := 0; i < len(t.Fields); { + f := t.Fields[i] + if t.tryRelation(f) { + t.Fields = removeField(t.Fields, f) + t.DataFields = removeField(t.DataFields, f) + } else { + i++ + } + + if f.Type.Kind() == reflect.Struct { + t.inlineFields(f, nil) + } + } +} + +func (t *Table) tryRelation(field *Field) bool { + pgTag := tagparser.Parse(field.Field.Tag.Get("pg")) + + if rel, ok := pgTag.Options["rel"]; ok { + return t.tryRelationType(field, rel, pgTag) + } + if _, ok := pgTag.Options["many2many"]; ok { + return t.tryRelationType(field, "many2many", pgTag) + } + + if field.UserSQLType != "" || isScanner(field.Type) { + return false + } + + switch field.Type.Kind() { + case reflect.Slice: + return t.tryRelationSlice(field, pgTag) + case reflect.Struct: + return t.tryRelationStruct(field, pgTag) + } + return false +} + +func (t *Table) tryRelationType(field *Field, rel string, pgTag *tagparser.Tag) bool { + switch rel { + case "has-one": + return t.mustHasOneRelation(field, pgTag) + case "belongs-to": + return t.mustBelongsToRelation(field, pgTag) + case "has-many": + return t.mustHasManyRelation(field, pgTag) + case "many2many": + return t.mustM2MRelation(field, pgTag) + default: + panic(fmt.Errorf("pg: unknown relation=%s on field=%s", rel, field.GoName)) + } +} + +func (t *Table) mustHasOneRelation(field *Field, pgTag *tagparser.Tag) bool { + joinTable := _tables.get(field.Type, true) + if err := joinTable.checkPKs(); err != nil { + panic(err) + } + fkPrefix, fkOK := pgTag.Options["fk"] + + if fkOK && len(joinTable.PKs) == 1 { + fk := t.getField(fkPrefix) + if fk == nil { + panic(fmt.Errorf( + "pg: %s has-one %s: %s must have column %s "+ + "(use fk:custom_column tag on %s field to specify custom column)", + t.TypeName, field.GoName, t.TypeName, fkPrefix, field.GoName, + )) + } + + t.addRelation(&Relation{ + Type: HasOneRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: []*Field{fk}, + JoinFKs: joinTable.PKs, + }) + return true + } + + if !fkOK { + fkPrefix = internal.Underscore(field.GoName) + "_" + } + fks := make([]*Field, 0, len(joinTable.PKs)) + + for _, joinPK := range joinTable.PKs { + fkName := fkPrefix + joinPK.SQLName + if fk := t.getField(fkName); fk != nil { + fks = append(fks, fk) + continue + } + + if fk := t.getField(joinPK.SQLName); fk != nil { + fks = append(fks, fk) + continue + } + + panic(fmt.Errorf( + "pg: %s has-one %s: %s must have column %s "+ + "(use fk:custom_column tag on %s field to specify custom column)", + t.TypeName, field.GoName, t.TypeName, fkName, field.GoName, + )) + } + + t.addRelation(&Relation{ + Type: HasOneRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: fks, + JoinFKs: joinTable.PKs, + }) + return true +} + +func (t *Table) mustBelongsToRelation(field *Field, pgTag *tagparser.Tag) bool { + if err := t.checkPKs(); err != nil { + panic(err) + } + joinTable := _tables.get(field.Type, true) + fkPrefix, fkOK := pgTag.Options["join_fk"] + + if fkOK && len(t.PKs) == 1 { + fk := joinTable.getField(fkPrefix) + if fk == nil { + panic(fmt.Errorf( + "pg: %s belongs-to %s: %s must have column %s "+ + "(use join_fk:custom_column tag on %s field to specify custom column)", + field.GoName, t.TypeName, joinTable.TypeName, fkPrefix, field.GoName, + )) + } + + t.addRelation(&Relation{ + Type: BelongsToRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: t.PKs, + JoinFKs: []*Field{fk}, + }) + return true + } + + if !fkOK { + fkPrefix = internal.Underscore(t.ModelName) + "_" + } + fks := make([]*Field, 0, len(t.PKs)) + + for _, pk := range t.PKs { + fkName := fkPrefix + pk.SQLName + if fk := joinTable.getField(fkName); fk != nil { + fks = append(fks, fk) + continue + } + + if fk := joinTable.getField(pk.SQLName); fk != nil { + fks = append(fks, fk) + continue + } + + panic(fmt.Errorf( + "pg: %s belongs-to %s: %s must have column %s "+ + "(use join_fk:custom_column tag on %s field to specify custom column)", + field.GoName, t.TypeName, joinTable.TypeName, fkName, field.GoName, + )) + } + + t.addRelation(&Relation{ + Type: BelongsToRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: t.PKs, + JoinFKs: fks, + }) + return true +} + +func (t *Table) mustHasManyRelation(field *Field, pgTag *tagparser.Tag) bool { + if err := t.checkPKs(); err != nil { + panic(err) + } + if field.Type.Kind() != reflect.Slice { + panic(fmt.Errorf( + "pg: %s.%s has-many relation requires slice, got %q", + t.TypeName, field.GoName, field.Type.Kind(), + )) + } + + joinTable := _tables.get(indirectType(field.Type.Elem()), true) + fkPrefix, fkOK := pgTag.Options["join_fk"] + _, polymorphic := pgTag.Options["polymorphic"] + + if fkOK && !polymorphic && len(t.PKs) == 1 { + fk := joinTable.getField(fkPrefix) + if fk == nil { + panic(fmt.Errorf( + "pg: %s has-many %s: %s must have column %s "+ + "(use join_fk:custom_column tag on %s field to specify custom column)", + t.TypeName, field.GoName, joinTable.TypeName, fkPrefix, field.GoName, + )) + } + + t.addRelation(&Relation{ + Type: HasManyRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: t.PKs, + JoinFKs: []*Field{fk}, + }) + return true + } + + if !fkOK { + fkPrefix = internal.Underscore(t.ModelName) + "_" + } + fks := make([]*Field, 0, len(t.PKs)) + + for _, pk := range t.PKs { + fkName := fkPrefix + pk.SQLName + if fk := joinTable.getField(fkName); fk != nil { + fks = append(fks, fk) + continue + } + + if fk := joinTable.getField(pk.SQLName); fk != nil { + fks = append(fks, fk) + continue + } + + panic(fmt.Errorf( + "pg: %s has-many %s: %s must have column %s "+ + "(use join_fk:custom_column tag on %s field to specify custom column)", + t.TypeName, field.GoName, joinTable.TypeName, fkName, field.GoName, + )) + } + + var typeField *Field + + if polymorphic { + typeFieldName := fkPrefix + "type" + typeField = joinTable.getField(typeFieldName) + if typeField == nil { + panic(fmt.Errorf( + "pg: %s has-many %s: %s must have polymorphic column %s", + t.TypeName, field.GoName, joinTable.TypeName, typeFieldName, + )) + } + } + + t.addRelation(&Relation{ + Type: HasManyRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: t.PKs, + JoinFKs: fks, + Polymorphic: typeField, + }) + return true +} + +func (t *Table) mustM2MRelation(field *Field, pgTag *tagparser.Tag) bool { + if field.Type.Kind() != reflect.Slice { + panic(fmt.Errorf( + "pg: %s.%s many2many relation requires slice, got %q", + t.TypeName, field.GoName, field.Type.Kind(), + )) + } + joinTable := _tables.get(indirectType(field.Type.Elem()), true) + + if err := t.checkPKs(); err != nil { + panic(err) + } + if err := joinTable.checkPKs(); err != nil { + panic(err) + } + + m2mTableNameString, ok := pgTag.Options["many2many"] + if !ok { + panic(fmt.Errorf("pg: %s must have many2many tag option", field.GoName)) + } + m2mTableName := quoteTableName(m2mTableNameString) + + m2mTable := _tables.getByName(m2mTableName) + if m2mTable == nil { + panic(fmt.Errorf( + "pg: can't find %s table (use orm.RegisterTable to register the model)", + m2mTableName, + )) + } + + var baseFKs []string + var joinFKs []string + + { + fkPrefix, ok := pgTag.Options["fk"] + if !ok { + fkPrefix = internal.Underscore(t.ModelName) + "_" + } + + if ok && len(t.PKs) == 1 { + if m2mTable.getField(fkPrefix) == nil { + panic(fmt.Errorf( + "pg: %s many2many %s: %s must have column %s "+ + "(use fk:custom_column tag on %s field to specify custom column)", + t.TypeName, field.GoName, m2mTable.TypeName, fkPrefix, field.GoName, + )) + } + baseFKs = []string{fkPrefix} + } else { + for _, pk := range t.PKs { + fkName := fkPrefix + pk.SQLName + if m2mTable.getField(fkName) != nil { + baseFKs = append(baseFKs, fkName) + continue + } + + if m2mTable.getField(pk.SQLName) != nil { + baseFKs = append(baseFKs, pk.SQLName) + continue + } + + panic(fmt.Errorf( + "pg: %s many2many %s: %s must have column %s "+ + "(use fk:custom_column tag on %s field to specify custom column)", + t.TypeName, field.GoName, m2mTable.TypeName, fkName, field.GoName, + )) + } + } + } + + { + joinFKPrefix, ok := pgTag.Options["join_fk"] + if !ok { + joinFKPrefix = internal.Underscore(joinTable.ModelName) + "_" + } + + if ok && len(joinTable.PKs) == 1 { + if m2mTable.getField(joinFKPrefix) == nil { + panic(fmt.Errorf( + "pg: %s many2many %s: %s must have column %s "+ + "(use join_fk:custom_column tag on %s field to specify custom column)", + joinTable.TypeName, field.GoName, m2mTable.TypeName, joinFKPrefix, field.GoName, + )) + } + joinFKs = []string{joinFKPrefix} + } else { + for _, joinPK := range joinTable.PKs { + fkName := joinFKPrefix + joinPK.SQLName + if m2mTable.getField(fkName) != nil { + joinFKs = append(joinFKs, fkName) + continue + } + + if m2mTable.getField(joinPK.SQLName) != nil { + joinFKs = append(joinFKs, joinPK.SQLName) + continue + } + + panic(fmt.Errorf( + "pg: %s many2many %s: %s must have column %s "+ + "(use join_fk:custom_column tag on %s field to specify custom column)", + t.TypeName, field.GoName, m2mTable.TypeName, fkName, field.GoName, + )) + } + } + } + + t.addRelation(&Relation{ + Type: Many2ManyRelation, + Field: field, + JoinTable: joinTable, + M2MTableName: m2mTableName, + M2MTableAlias: m2mTable.Alias, + M2MBaseFKs: baseFKs, + M2MJoinFKs: joinFKs, + }) + return true +} + +//nolint +func (t *Table) tryRelationSlice(field *Field, pgTag *tagparser.Tag) bool { + if t.tryM2MRelation(field, pgTag) { + internal.Deprecated.Printf( + `add pg:"rel:many2many" to %s.%s field tag`, t.TypeName, field.GoName) + return true + } + if t.tryHasManyRelation(field, pgTag) { + internal.Deprecated.Printf( + `add pg:"rel:has-many" to %s.%s field tag`, t.TypeName, field.GoName) + return true + } + return false +} + +func (t *Table) tryM2MRelation(field *Field, pgTag *tagparser.Tag) bool { + elemType := indirectType(field.Type.Elem()) + if elemType.Kind() != reflect.Struct { + return false + } + + joinTable := _tables.get(elemType, true) + + fk, fkOK := pgTag.Options["fk"] + if fkOK { + if fk == "-" { + return false + } + fk = tryUnderscorePrefix(fk) + } + + m2mTableName := pgTag.Options["many2many"] + if m2mTableName == "" { + return false + } + + m2mTable := _tables.getByName(quoteIdent(m2mTableName)) + + var m2mTableAlias types.Safe + if m2mTable != nil { + m2mTableAlias = m2mTable.Alias + } else if ind := strings.IndexByte(m2mTableName, '.'); ind >= 0 { + m2mTableAlias = quoteIdent(m2mTableName[ind+1:]) + } else { + m2mTableAlias = quoteIdent(m2mTableName) + } + + var fks []string + if !fkOK { + fk = t.ModelName + "_" + } + if m2mTable != nil { + keys := foreignKeys(t, m2mTable, fk, fkOK) + if len(keys) == 0 { + return false + } + for _, fk := range keys { + fks = append(fks, fk.SQLName) + } + } else { + if fkOK && len(t.PKs) == 1 { + fks = append(fks, fk) + } else { + for _, pk := range t.PKs { + fks = append(fks, fk+pk.SQLName) + } + } + } + + joinFK, joinFKOk := pgTag.Options["join_fk"] + if !joinFKOk { + joinFK, joinFKOk = pgTag.Options["joinFK"] + if joinFKOk { + internal.Deprecated.Printf("joinFK is renamed to join_fk") + } + } + if joinFKOk { + joinFK = tryUnderscorePrefix(joinFK) + } else { + joinFK = joinTable.ModelName + "_" + } + + var joinFKs []string + if m2mTable != nil { + keys := foreignKeys(joinTable, m2mTable, joinFK, joinFKOk) + if len(keys) == 0 { + return false + } + for _, fk := range keys { + joinFKs = append(joinFKs, fk.SQLName) + } + } else { + if joinFKOk && len(joinTable.PKs) == 1 { + joinFKs = append(joinFKs, joinFK) + } else { + for _, pk := range joinTable.PKs { + joinFKs = append(joinFKs, joinFK+pk.SQLName) + } + } + } + + t.addRelation(&Relation{ + Type: Many2ManyRelation, + Field: field, + JoinTable: joinTable, + M2MTableName: quoteIdent(m2mTableName), + M2MTableAlias: m2mTableAlias, + M2MBaseFKs: fks, + M2MJoinFKs: joinFKs, + }) + return true +} + +func (t *Table) tryHasManyRelation(field *Field, pgTag *tagparser.Tag) bool { + elemType := indirectType(field.Type.Elem()) + if elemType.Kind() != reflect.Struct { + return false + } + + joinTable := _tables.get(elemType, true) + + fk, fkOK := pgTag.Options["fk"] + if fkOK { + if fk == "-" { + return false + } + fk = tryUnderscorePrefix(fk) + } + + s, polymorphic := pgTag.Options["polymorphic"] + var typeField *Field + if polymorphic { + fk = tryUnderscorePrefix(s) + + typeField = joinTable.getField(fk + "type") + if typeField == nil { + return false + } + } else if !fkOK { + fk = t.ModelName + "_" + } + + fks := foreignKeys(t, joinTable, fk, fkOK || polymorphic) + if len(fks) == 0 { + return false + } + + var fkValues []*Field + fkValue, ok := pgTag.Options["fk_value"] + if ok { + if len(fks) > 1 { + panic(fmt.Errorf("got fk_value, but there are %d fks", len(fks))) + } + + f := t.getField(fkValue) + if f == nil { + panic(fmt.Errorf("fk_value=%q not found in %s", fkValue, t)) + } + fkValues = append(fkValues, f) + } else { + fkValues = t.PKs + } + + if len(fks) != len(fkValues) { + panic("len(fks) != len(fkValues)") + } + + if len(fks) > 0 { + t.addRelation(&Relation{ + Type: HasManyRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: fkValues, + JoinFKs: fks, + Polymorphic: typeField, + }) + return true + } + + return false +} + +func (t *Table) tryRelationStruct(field *Field, pgTag *tagparser.Tag) bool { + joinTable := _tables.get(field.Type, true) + + if len(joinTable.allFields) == 0 { + return false + } + + if t.tryHasOne(joinTable, field, pgTag) { + internal.Deprecated.Printf( + `add pg:"rel:has-one" to %s.%s field tag`, t.TypeName, field.GoName) + t.inlineFields(field, nil) + return true + } + + if t.tryBelongsToOne(joinTable, field, pgTag) { + internal.Deprecated.Printf( + `add pg:"rel:belongs-to" to %s.%s field tag`, t.TypeName, field.GoName) + t.inlineFields(field, nil) + return true + } + + t.inlineFields(field, nil) + return false +} + +func (t *Table) inlineFields(strct *Field, path map[reflect.Type]struct{}) { + if path == nil { + path = map[reflect.Type]struct{}{ + t.Type: {}, + } + } + + if _, ok := path[strct.Type]; ok { + return + } + path[strct.Type] = struct{}{} + + joinTable := _tables.get(strct.Type, true) + for _, f := range joinTable.allFields { + f = f.Clone() + f.GoName = strct.GoName + "_" + f.GoName + f.SQLName = strct.SQLName + "__" + f.SQLName + f.Column = quoteIdent(f.SQLName) + f.Index = appendNew(strct.Index, f.Index...) + + t.fieldsMapMu.Lock() + if _, ok := t.FieldsMap[f.SQLName]; !ok { + t.FieldsMap[f.SQLName] = f + } + t.fieldsMapMu.Unlock() + + if f.Type.Kind() != reflect.Struct { + continue + } + + if _, ok := path[f.Type]; !ok { + t.inlineFields(f, path) + } + } +} + +func appendNew(dst []int, src ...int) []int { + cp := make([]int, len(dst)+len(src)) + copy(cp, dst) + copy(cp[len(dst):], src) + return cp +} + +func isScanner(typ reflect.Type) bool { + return typ.Implements(scannerType) || reflect.PtrTo(typ).Implements(scannerType) +} + +func fieldSQLType(field *Field, pgTag *tagparser.Tag) string { + if typ, ok := pgTag.Options["type"]; ok { + typ, _ = tagparser.Unquote(typ) + field.UserSQLType = typ + typ = normalizeSQLType(typ) + return typ + } + + if typ, ok := pgTag.Options["composite"]; ok { + typ, _ = tagparser.Unquote(typ) + return typ + } + + if _, ok := pgTag.Options["hstore"]; ok { + return "hstore" + } else if _, ok := pgTag.Options["hstore"]; ok { + return "hstore" + } + + if field.hasFlag(ArrayFlag) { + switch field.Type.Kind() { + case reflect.Slice, reflect.Array: + sqlType := sqlType(field.Type.Elem()) + return sqlType + "[]" + } + } + + sqlType := sqlType(field.Type) + return sqlType +} + +func sqlType(typ reflect.Type) string { + switch typ { + case timeType, nullTimeType, sqlNullTimeType: + return pgTypeTimestampTz + case ipType: + return pgTypeInet + case ipNetType: + return pgTypeCidr + case nullBoolType: + return pgTypeBoolean + case nullFloatType: + return pgTypeDoublePrecision + case nullIntType: + return pgTypeBigint + case nullStringType: + return pgTypeText + case jsonRawMessageType: + return pgTypeJSONB + } + + switch typ.Kind() { + case reflect.Int8, reflect.Uint8, reflect.Int16: + return pgTypeSmallint + case reflect.Uint16, reflect.Int32: + return pgTypeInteger + case reflect.Uint32, reflect.Int64, reflect.Int: + return pgTypeBigint + case reflect.Uint, reflect.Uint64: + // Unsigned bigint is not supported - use bigint. + return pgTypeBigint + case reflect.Float32: + return pgTypeReal + case reflect.Float64: + return pgTypeDoublePrecision + case reflect.Bool: + return pgTypeBoolean + case reflect.String: + return pgTypeText + case reflect.Map, reflect.Struct: + return pgTypeJSONB + case reflect.Array, reflect.Slice: + if typ.Elem().Kind() == reflect.Uint8 { + return pgTypeBytea + } + return pgTypeJSONB + default: + return typ.Kind().String() + } +} + +func normalizeSQLType(s string) string { + switch s { + case "int2": + return pgTypeSmallint + case "int4", "int", "serial": + return pgTypeInteger + case "int8", pgTypeBigserial: + return pgTypeBigint + case "float4": + return pgTypeReal + case "float8": + return pgTypeDoublePrecision + } + return s +} + +func sqlTypeEqual(a, b string) bool { + return a == b +} + +func (t *Table) tryHasOne(joinTable *Table, field *Field, pgTag *tagparser.Tag) bool { + fk, fkOK := pgTag.Options["fk"] + if fkOK { + if fk == "-" { + return false + } + fk = tryUnderscorePrefix(fk) + } else { + fk = internal.Underscore(field.GoName) + "_" + } + + fks := foreignKeys(joinTable, t, fk, fkOK) + if len(fks) > 0 { + t.addRelation(&Relation{ + Type: HasOneRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: fks, + JoinFKs: joinTable.PKs, + }) + return true + } + return false +} + +func (t *Table) tryBelongsToOne(joinTable *Table, field *Field, pgTag *tagparser.Tag) bool { + fk, fkOK := pgTag.Options["fk"] + if fkOK { + if fk == "-" { + return false + } + fk = tryUnderscorePrefix(fk) + } else { + fk = internal.Underscore(t.TypeName) + "_" + } + + fks := foreignKeys(t, joinTable, fk, fkOK) + if len(fks) > 0 { + t.addRelation(&Relation{ + Type: BelongsToRelation, + Field: field, + JoinTable: joinTable, + BaseFKs: t.PKs, + JoinFKs: fks, + }) + return true + } + return false +} + +func (t *Table) addRelation(rel *Relation) { + if t.Relations == nil { + t.Relations = make(map[string]*Relation) + } + _, ok := t.Relations[rel.Field.GoName] + if ok { + panic(fmt.Errorf("%s already has %s", t, rel)) + } + t.Relations[rel.Field.GoName] = rel +} + +func foreignKeys(base, join *Table, fk string, tryFK bool) []*Field { + var fks []*Field + + for _, pk := range base.PKs { + fkName := fk + pk.SQLName + f := join.getField(fkName) + if f != nil && sqlTypeEqual(pk.SQLType, f.SQLType) { + fks = append(fks, f) + continue + } + + if strings.IndexByte(pk.SQLName, '_') == -1 { + continue + } + + f = join.getField(pk.SQLName) + if f != nil && sqlTypeEqual(pk.SQLType, f.SQLType) { + fks = append(fks, f) + continue + } + } + if len(fks) > 0 && len(fks) == len(base.PKs) { + return fks + } + + fks = nil + for _, pk := range base.PKs { + if !strings.HasPrefix(pk.SQLName, "pk_") { + continue + } + fkName := "fk_" + pk.SQLName[3:] + f := join.getField(fkName) + if f != nil && sqlTypeEqual(pk.SQLType, f.SQLType) { + fks = append(fks, f) + } + } + if len(fks) > 0 && len(fks) == len(base.PKs) { + return fks + } + + if fk == "" || len(base.PKs) != 1 { + return nil + } + + if tryFK { + f := join.getField(fk) + if f != nil && sqlTypeEqual(base.PKs[0].SQLType, f.SQLType) { + return []*Field{f} + } + } + + for _, suffix := range []string{"id", "uuid"} { + f := join.getField(fk + suffix) + if f != nil && sqlTypeEqual(base.PKs[0].SQLType, f.SQLType) { + return []*Field{f} + } + } + + return nil +} + +func scanJSONValue(v reflect.Value, rd types.Reader, n int) error { + // Zero value so it works with SelectOrInsert. + // TODO: better handle slices + v.Set(reflect.New(v.Type()).Elem()) + + if n == -1 { + return nil + } + + dec := pgjson.NewDecoder(rd) + dec.UseNumber() + return dec.Decode(v.Addr().Interface()) +} + +func appendUintAsInt(b []byte, v reflect.Value, _ int) []byte { + return strconv.AppendInt(b, int64(v.Uint()), 10) +} + +func appendUintPtrAsInt(b []byte, v reflect.Value, _ int) []byte { + return strconv.AppendInt(b, int64(v.Elem().Uint()), 10) +} + +func tryUnderscorePrefix(s string) string { + if s == "" { + return s + } + if c := s[0]; internal.IsUpper(c) { + return internal.Underscore(s) + "_" + } + return s +} + +func quoteTableName(s string) types.Safe { + // Don't quote if table name contains placeholder (?) or parentheses. + if strings.IndexByte(s, '?') >= 0 || + strings.IndexByte(s, '(') >= 0 && strings.IndexByte(s, ')') >= 0 { + return types.Safe(s) + } + return quoteIdent(s) +} + +func quoteIdent(s string) types.Safe { + return types.Safe(types.AppendIdent(nil, s, 1)) +} + +func setSoftDeleteFieldFunc(typ reflect.Type) func(fv reflect.Value) error { + switch typ { + case timeType: + return func(fv reflect.Value) error { + ptr := fv.Addr().Interface().(*time.Time) + *ptr = time.Now() + return nil + } + case nullTimeType: + return func(fv reflect.Value) error { + ptr := fv.Addr().Interface().(*types.NullTime) + *ptr = types.NullTime{Time: time.Now()} + return nil + } + case nullIntType: + return func(fv reflect.Value) error { + ptr := fv.Addr().Interface().(*sql.NullInt64) + *ptr = sql.NullInt64{Int64: time.Now().UnixNano()} + return nil + } + } + + switch typ.Kind() { + case reflect.Int64: + return func(fv reflect.Value) error { + ptr := fv.Addr().Interface().(*int64) + *ptr = time.Now().UnixNano() + return nil + } + case reflect.Ptr: + break + default: + return setSoftDeleteFallbackFunc(typ) + } + + originalType := typ + typ = typ.Elem() + + switch typ { //nolint:gocritic + case timeType: + return func(fv reflect.Value) error { + now := time.Now() + fv.Set(reflect.ValueOf(&now)) + return nil + } + } + + switch typ.Kind() { //nolint:gocritic + case reflect.Int64: + return func(fv reflect.Value) error { + utime := time.Now().UnixNano() + fv.Set(reflect.ValueOf(&utime)) + return nil + } + } + + return setSoftDeleteFallbackFunc(originalType) +} + +func setSoftDeleteFallbackFunc(typ reflect.Type) func(fv reflect.Value) error { + scanner := types.Scanner(typ) + if scanner == nil { + return nil + } + + return func(fv reflect.Value) error { + var flags int + b := types.AppendTime(nil, time.Now(), flags) + return scanner(fv, pool.NewBytesReader(b), len(b)) + } +} + +func isKnownTableOption(name string) bool { + switch name { + case "alias", + "select", + "tablespace", + "partition_by", + "discard_unknown_columns": + return true + } + return false +} + +func isKnownFieldOption(name string) bool { + switch name { + case "alias", + "type", + "array", + "hstore", + "composite", + "json_use_number", + "msgpack", + "notnull", + "use_zero", + "default", + "unique", + "soft_delete", + "on_delete", + "on_update", + + "pk", + "nopk", + "rel", + "fk", + "join_fk", + "many2many", + "polymorphic": + return true + } + return false +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/table_create.go b/vendor/github.com/go-pg/pg/v10/orm/table_create.go new file mode 100644 index 000000000..384c729de --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/table_create.go @@ -0,0 +1,248 @@ +package orm + +import ( + "sort" + "strconv" + + "github.com/go-pg/pg/v10/types" +) + +type CreateTableOptions struct { + Varchar int // replaces PostgreSQL data type `text` with `varchar(n)` + Temp bool + IfNotExists bool + + // FKConstraints causes CreateTable to create foreign key constraints + // for has one relations. ON DELETE hook can be added using tag + // `pg:"on_delete:RESTRICT"` on foreign key field. ON UPDATE hook can be added using tag + // `pg:"on_update:CASCADE"` + FKConstraints bool +} + +type CreateTableQuery struct { + q *Query + opt *CreateTableOptions +} + +var ( + _ QueryAppender = (*CreateTableQuery)(nil) + _ QueryCommand = (*CreateTableQuery)(nil) +) + +func NewCreateTableQuery(q *Query, opt *CreateTableOptions) *CreateTableQuery { + return &CreateTableQuery{ + q: q, + opt: opt, + } +} + +func (q *CreateTableQuery) String() string { + b, err := q.AppendQuery(defaultFmter, nil) + if err != nil { + panic(err) + } + return string(b) +} + +func (q *CreateTableQuery) Operation() QueryOp { + return CreateTableOp +} + +func (q *CreateTableQuery) Clone() QueryCommand { + return &CreateTableQuery{ + q: q.q.Clone(), + opt: q.opt, + } +} + +func (q *CreateTableQuery) Query() *Query { + return q.q +} + +func (q *CreateTableQuery) AppendTemplate(b []byte) ([]byte, error) { + return q.AppendQuery(dummyFormatter{}, b) +} + +func (q *CreateTableQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if q.q.stickyErr != nil { + return nil, q.q.stickyErr + } + if q.q.tableModel == nil { + return nil, errModelNil + } + + table := q.q.tableModel.Table() + + b = append(b, "CREATE "...) + if q.opt != nil && q.opt.Temp { + b = append(b, "TEMP "...) + } + b = append(b, "TABLE "...) + if q.opt != nil && q.opt.IfNotExists { + b = append(b, "IF NOT EXISTS "...) + } + b, err = q.q.appendFirstTable(fmter, b) + if err != nil { + return nil, err + } + b = append(b, " ("...) + + for i, field := range table.Fields { + if i > 0 { + b = append(b, ", "...) + } + + b = append(b, field.Column...) + b = append(b, " "...) + b = q.appendSQLType(b, field) + if field.hasFlag(NotNullFlag) { + b = append(b, " NOT NULL"...) + } + if field.hasFlag(UniqueFlag) { + b = append(b, " UNIQUE"...) + } + if field.Default != "" { + b = append(b, " DEFAULT "...) + b = append(b, field.Default...) + } + } + + b = appendPKConstraint(b, table.PKs) + b = appendUniqueConstraints(b, table) + + if q.opt != nil && q.opt.FKConstraints { + for _, rel := range table.Relations { + b = q.appendFKConstraint(fmter, b, rel) + } + } + + b = append(b, ")"...) + + if table.PartitionBy != "" { + b = append(b, " PARTITION BY "...) + b = append(b, table.PartitionBy...) + } + + if table.Tablespace != "" { + b = q.appendTablespace(b, table.Tablespace) + } + + return b, q.q.stickyErr +} + +func (q *CreateTableQuery) appendSQLType(b []byte, field *Field) []byte { + if field.UserSQLType != "" { + return append(b, field.UserSQLType...) + } + if q.opt != nil && q.opt.Varchar > 0 && + field.SQLType == "text" { + b = append(b, "varchar("...) + b = strconv.AppendInt(b, int64(q.opt.Varchar), 10) + b = append(b, ")"...) + return b + } + if field.hasFlag(PrimaryKeyFlag) { + return append(b, pkSQLType(field.SQLType)...) + } + return append(b, field.SQLType...) +} + +func pkSQLType(s string) string { + switch s { + case pgTypeSmallint: + return pgTypeSmallserial + case pgTypeInteger: + return pgTypeSerial + case pgTypeBigint: + return pgTypeBigserial + } + return s +} + +func appendPKConstraint(b []byte, pks []*Field) []byte { + if len(pks) == 0 { + return b + } + + b = append(b, ", PRIMARY KEY ("...) + b = appendColumns(b, "", pks) + b = append(b, ")"...) + return b +} + +func appendUniqueConstraints(b []byte, table *Table) []byte { + keys := make([]string, 0, len(table.Unique)) + for key := range table.Unique { + keys = append(keys, key) + } + sort.Strings(keys) + + for _, key := range keys { + b = appendUnique(b, table.Unique[key]) + } + + return b +} + +func appendUnique(b []byte, fields []*Field) []byte { + b = append(b, ", UNIQUE ("...) + b = appendColumns(b, "", fields) + b = append(b, ")"...) + return b +} + +func (q *CreateTableQuery) appendFKConstraint(fmter QueryFormatter, b []byte, rel *Relation) []byte { + if rel.Type != HasOneRelation { + return b + } + + b = append(b, ", FOREIGN KEY ("...) + b = appendColumns(b, "", rel.BaseFKs) + b = append(b, ")"...) + + b = append(b, " REFERENCES "...) + b = fmter.FormatQuery(b, string(rel.JoinTable.SQLName)) + b = append(b, " ("...) + b = appendColumns(b, "", rel.JoinFKs) + b = append(b, ")"...) + + if s := onDelete(rel.BaseFKs); s != "" { + b = append(b, " ON DELETE "...) + b = append(b, s...) + } + + if s := onUpdate(rel.BaseFKs); s != "" { + b = append(b, " ON UPDATE "...) + b = append(b, s...) + } + + return b +} + +func (q *CreateTableQuery) appendTablespace(b []byte, tableSpace types.Safe) []byte { + b = append(b, " TABLESPACE "...) + b = append(b, tableSpace...) + return b +} + +func onDelete(fks []*Field) string { + var onDelete string + for _, f := range fks { + if f.OnDelete != "" { + onDelete = f.OnDelete + break + } + } + return onDelete +} + +func onUpdate(fks []*Field) string { + var onUpdate string + for _, f := range fks { + if f.OnUpdate != "" { + onUpdate = f.OnUpdate + break + } + } + return onUpdate +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/table_drop.go b/vendor/github.com/go-pg/pg/v10/orm/table_drop.go new file mode 100644 index 000000000..599ac3952 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/table_drop.go @@ -0,0 +1,73 @@ +package orm + +type DropTableOptions struct { + IfExists bool + Cascade bool +} + +type DropTableQuery struct { + q *Query + opt *DropTableOptions +} + +var ( + _ QueryAppender = (*DropTableQuery)(nil) + _ QueryCommand = (*DropTableQuery)(nil) +) + +func NewDropTableQuery(q *Query, opt *DropTableOptions) *DropTableQuery { + return &DropTableQuery{ + q: q, + opt: opt, + } +} + +func (q *DropTableQuery) String() string { + b, err := q.AppendQuery(defaultFmter, nil) + if err != nil { + panic(err) + } + return string(b) +} + +func (q *DropTableQuery) Operation() QueryOp { + return DropTableOp +} + +func (q *DropTableQuery) Clone() QueryCommand { + return &DropTableQuery{ + q: q.q.Clone(), + opt: q.opt, + } +} + +func (q *DropTableQuery) Query() *Query { + return q.q +} + +func (q *DropTableQuery) AppendTemplate(b []byte) ([]byte, error) { + return q.AppendQuery(dummyFormatter{}, b) +} + +func (q *DropTableQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if q.q.stickyErr != nil { + return nil, q.q.stickyErr + } + if q.q.tableModel == nil { + return nil, errModelNil + } + + b = append(b, "DROP TABLE "...) + if q.opt != nil && q.opt.IfExists { + b = append(b, "IF EXISTS "...) + } + b, err = q.q.appendFirstTable(fmter, b) + if err != nil { + return nil, err + } + if q.opt != nil && q.opt.Cascade { + b = append(b, " CASCADE"...) + } + + return b, q.q.stickyErr +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/table_params.go b/vendor/github.com/go-pg/pg/v10/orm/table_params.go new file mode 100644 index 000000000..46d8e064a --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/table_params.go @@ -0,0 +1,29 @@ +package orm + +import "reflect" + +type tableParams struct { + table *Table + strct reflect.Value +} + +func newTableParams(strct interface{}) (*tableParams, bool) { + v := reflect.ValueOf(strct) + if !v.IsValid() { + return nil, false + } + + v = reflect.Indirect(v) + if v.Kind() != reflect.Struct { + return nil, false + } + + return &tableParams{ + table: GetTable(v.Type()), + strct: v, + }, true +} + +func (m *tableParams) AppendParam(fmter QueryFormatter, b []byte, name string) ([]byte, bool) { + return m.table.AppendParam(b, m.strct, name) +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/tables.go b/vendor/github.com/go-pg/pg/v10/orm/tables.go new file mode 100644 index 000000000..fa937a54e --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/tables.go @@ -0,0 +1,136 @@ +package orm + +import ( + "fmt" + "reflect" + "sync" + + "github.com/go-pg/pg/v10/types" +) + +var _tables = newTables() + +type tableInProgress struct { + table *Table + + init1Once sync.Once + init2Once sync.Once +} + +func newTableInProgress(table *Table) *tableInProgress { + return &tableInProgress{ + table: table, + } +} + +func (inp *tableInProgress) init1() bool { + var inited bool + inp.init1Once.Do(func() { + inp.table.init1() + inited = true + }) + return inited +} + +func (inp *tableInProgress) init2() bool { + var inited bool + inp.init2Once.Do(func() { + inp.table.init2() + inited = true + }) + return inited +} + +// GetTable returns a Table for a struct type. +func GetTable(typ reflect.Type) *Table { + return _tables.Get(typ) +} + +// RegisterTable registers a struct as SQL table. +// It is usually used to register intermediate table +// in many to many relationship. +func RegisterTable(strct interface{}) { + _tables.Register(strct) +} + +type tables struct { + tables sync.Map + + mu sync.RWMutex + inProgress map[reflect.Type]*tableInProgress +} + +func newTables() *tables { + return &tables{ + inProgress: make(map[reflect.Type]*tableInProgress), + } +} + +func (t *tables) Register(strct interface{}) { + typ := reflect.TypeOf(strct) + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + } + _ = t.Get(typ) +} + +func (t *tables) get(typ reflect.Type, allowInProgress bool) *Table { + if typ.Kind() != reflect.Struct { + panic(fmt.Errorf("got %s, wanted %s", typ.Kind(), reflect.Struct)) + } + + if v, ok := t.tables.Load(typ); ok { + return v.(*Table) + } + + t.mu.Lock() + + if v, ok := t.tables.Load(typ); ok { + t.mu.Unlock() + return v.(*Table) + } + + var table *Table + + inProgress := t.inProgress[typ] + if inProgress == nil { + table = newTable(typ) + inProgress = newTableInProgress(table) + t.inProgress[typ] = inProgress + } else { + table = inProgress.table + } + + t.mu.Unlock() + + inProgress.init1() + if allowInProgress { + return table + } + + if inProgress.init2() { + t.mu.Lock() + delete(t.inProgress, typ) + t.tables.Store(typ, table) + t.mu.Unlock() + } + + return table +} + +func (t *tables) Get(typ reflect.Type) *Table { + return t.get(typ, false) +} + +func (t *tables) getByName(name types.Safe) *Table { + var found *Table + t.tables.Range(func(key, value interface{}) bool { + t := value.(*Table) + if t.SQLName == name { + found = t + return false + } + return true + }) + return found +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/types.go b/vendor/github.com/go-pg/pg/v10/orm/types.go new file mode 100644 index 000000000..c8e9ec375 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/types.go @@ -0,0 +1,48 @@ +package orm + +//nolint +const ( + // Date / Time + pgTypeTimestamp = "timestamp" // Timestamp without a time zone + pgTypeTimestampTz = "timestamptz" // Timestamp with a time zone + pgTypeDate = "date" // Date + pgTypeTime = "time" // Time without a time zone + pgTypeTimeTz = "time with time zone" // Time with a time zone + pgTypeInterval = "interval" // Time Interval + + // Network Addresses + pgTypeInet = "inet" // IPv4 or IPv6 hosts and networks + pgTypeCidr = "cidr" // IPv4 or IPv6 networks + pgTypeMacaddr = "macaddr" // MAC addresses + + // Boolean + pgTypeBoolean = "boolean" + + // Numeric Types + + // Floating Point Types + pgTypeReal = "real" // 4 byte floating point (6 digit precision) + pgTypeDoublePrecision = "double precision" // 8 byte floating point (15 digit precision) + + // Integer Types + pgTypeSmallint = "smallint" // 2 byte integer + pgTypeInteger = "integer" // 4 byte integer + pgTypeBigint = "bigint" // 8 byte integer + + // Serial Types + pgTypeSmallserial = "smallserial" // 2 byte autoincrementing integer + pgTypeSerial = "serial" // 4 byte autoincrementing integer + pgTypeBigserial = "bigserial" // 8 byte autoincrementing integer + + // Character Types + pgTypeVarchar = "varchar" // variable length string with limit + pgTypeChar = "char" // fixed length string (blank padded) + pgTypeText = "text" // variable length string without limit + + // JSON Types + pgTypeJSON = "json" // text representation of json data + pgTypeJSONB = "jsonb" // binary representation of json data + + // Binary Data Types + pgTypeBytea = "bytea" // binary string +) diff --git a/vendor/github.com/go-pg/pg/v10/orm/update.go b/vendor/github.com/go-pg/pg/v10/orm/update.go new file mode 100644 index 000000000..ce6396fd3 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/update.go @@ -0,0 +1,378 @@ +package orm + +import ( + "fmt" + "reflect" + "sort" + + "github.com/go-pg/pg/v10/types" +) + +type UpdateQuery struct { + q *Query + omitZero bool + placeholder bool +} + +var ( + _ QueryAppender = (*UpdateQuery)(nil) + _ QueryCommand = (*UpdateQuery)(nil) +) + +func NewUpdateQuery(q *Query, omitZero bool) *UpdateQuery { + return &UpdateQuery{ + q: q, + omitZero: omitZero, + } +} + +func (q *UpdateQuery) String() string { + b, err := q.AppendQuery(defaultFmter, nil) + if err != nil { + panic(err) + } + return string(b) +} + +func (q *UpdateQuery) Operation() QueryOp { + return UpdateOp +} + +func (q *UpdateQuery) Clone() QueryCommand { + return &UpdateQuery{ + q: q.q.Clone(), + omitZero: q.omitZero, + placeholder: q.placeholder, + } +} + +func (q *UpdateQuery) Query() *Query { + return q.q +} + +func (q *UpdateQuery) AppendTemplate(b []byte) ([]byte, error) { + cp := q.Clone().(*UpdateQuery) + cp.placeholder = true + return cp.AppendQuery(dummyFormatter{}, b) +} + +func (q *UpdateQuery) AppendQuery(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if q.q.stickyErr != nil { + return nil, q.q.stickyErr + } + + if len(q.q.with) > 0 { + b, err = q.q.appendWith(fmter, b) + if err != nil { + return nil, err + } + } + + b = append(b, "UPDATE "...) + + b, err = q.q.appendFirstTableWithAlias(fmter, b) + if err != nil { + return nil, err + } + + b, err = q.mustAppendSet(fmter, b) + if err != nil { + return nil, err + } + + isSliceModelWithData := q.q.isSliceModelWithData() + if isSliceModelWithData || q.q.hasMultiTables() { + b = append(b, " FROM "...) + b, err = q.q.appendOtherTables(fmter, b) + if err != nil { + return nil, err + } + + if isSliceModelWithData { + b, err = q.appendSliceModelData(fmter, b) + if err != nil { + return nil, err + } + } + } + + b, err = q.mustAppendWhere(fmter, b, isSliceModelWithData) + if err != nil { + return nil, err + } + + if len(q.q.returning) > 0 { + b, err = q.q.appendReturning(fmter, b) + if err != nil { + return nil, err + } + } + + return b, q.q.stickyErr +} + +func (q *UpdateQuery) mustAppendWhere( + fmter QueryFormatter, b []byte, isSliceModelWithData bool, +) (_ []byte, err error) { + b = append(b, " WHERE "...) + + if !isSliceModelWithData { + return q.q.mustAppendWhere(fmter, b) + } + + if len(q.q.where) > 0 { + return q.q.appendWhere(fmter, b) + } + + table := q.q.tableModel.Table() + err = table.checkPKs() + if err != nil { + return nil, err + } + + b = appendWhereColumnAndColumn(b, table.Alias, table.PKs) + return b, nil +} + +func (q *UpdateQuery) mustAppendSet(fmter QueryFormatter, b []byte) (_ []byte, err error) { + if len(q.q.set) > 0 { + return q.q.appendSet(fmter, b) + } + + b = append(b, " SET "...) + + if m, ok := q.q.model.(*mapModel); ok { + return q.appendMapSet(b, m.m), nil + } + + if !q.q.hasTableModel() { + return nil, errModelNil + } + + value := q.q.tableModel.Value() + if value.Kind() == reflect.Struct { + b, err = q.appendSetStruct(fmter, b, value) + } else { + if value.Len() > 0 { + b, err = q.appendSetSlice(b) + } else { + err = fmt.Errorf("pg: can't bulk-update empty slice %s", value.Type()) + } + } + if err != nil { + return nil, err + } + + return b, nil +} + +func (q *UpdateQuery) appendMapSet(b []byte, m map[string]interface{}) []byte { + keys := make([]string, 0, len(m)) + + for k := range m { + keys = append(keys, k) + } + sort.Strings(keys) + + for i, k := range keys { + if i > 0 { + b = append(b, ", "...) + } + + b = types.AppendIdent(b, k, 1) + b = append(b, " = "...) + if q.placeholder { + b = append(b, '?') + } else { + b = types.Append(b, m[k], 1) + } + } + + return b +} + +func (q *UpdateQuery) appendSetStruct(fmter QueryFormatter, b []byte, strct reflect.Value) ([]byte, error) { + fields, err := q.q.getFields() + if err != nil { + return nil, err + } + + if len(fields) == 0 { + fields = q.q.tableModel.Table().DataFields + } + + pos := len(b) + for _, f := range fields { + if q.omitZero && f.NullZero() && f.HasZeroValue(strct) { + continue + } + + if len(b) != pos { + b = append(b, ", "...) + pos = len(b) + } + + b = append(b, f.Column...) + b = append(b, " = "...) + + if q.placeholder { + b = append(b, '?') + continue + } + + app, ok := q.q.modelValues[f.SQLName] + if ok { + b, err = app.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } else { + b = f.AppendValue(b, strct, 1) + } + } + + for i, v := range q.q.extraValues { + if i > 0 || len(fields) > 0 { + b = append(b, ", "...) + } + + b = append(b, v.column...) + b = append(b, " = "...) + + b, err = v.value.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + } + + return b, nil +} + +func (q *UpdateQuery) appendSetSlice(b []byte) ([]byte, error) { + fields, err := q.q.getFields() + if err != nil { + return nil, err + } + + if len(fields) == 0 { + fields = q.q.tableModel.Table().DataFields + } + + var table *Table + if q.omitZero { + table = q.q.tableModel.Table() + } + + for i, f := range fields { + if i > 0 { + b = append(b, ", "...) + } + + b = append(b, f.Column...) + b = append(b, " = "...) + if q.omitZero && table != nil { + b = append(b, "COALESCE("...) + } + b = append(b, "_data."...) + b = append(b, f.Column...) + if q.omitZero && table != nil { + b = append(b, ", "...) + if table.Alias != table.SQLName { + b = append(b, table.Alias...) + b = append(b, '.') + } + b = append(b, f.Column...) + b = append(b, ")"...) + } + } + + return b, nil +} + +func (q *UpdateQuery) appendSliceModelData(fmter QueryFormatter, b []byte) ([]byte, error) { + columns, err := q.q.getDataFields() + if err != nil { + return nil, err + } + + if len(columns) > 0 { + columns = append(columns, q.q.tableModel.Table().PKs...) + } else { + columns = q.q.tableModel.Table().Fields + } + + return q.appendSliceValues(fmter, b, columns, q.q.tableModel.Value()) +} + +func (q *UpdateQuery) appendSliceValues( + fmter QueryFormatter, b []byte, fields []*Field, slice reflect.Value, +) (_ []byte, err error) { + b = append(b, "(VALUES ("...) + + if q.placeholder { + b, err = q.appendValues(fmter, b, fields, reflect.Value{}) + if err != nil { + return nil, err + } + } else { + sliceLen := slice.Len() + for i := 0; i < sliceLen; i++ { + if i > 0 { + b = append(b, "), ("...) + } + b, err = q.appendValues(fmter, b, fields, slice.Index(i)) + if err != nil { + return nil, err + } + } + } + + b = append(b, ")) AS _data("...) + b = appendColumns(b, "", fields) + b = append(b, ")"...) + + return b, nil +} + +func (q *UpdateQuery) appendValues( + fmter QueryFormatter, b []byte, fields []*Field, strct reflect.Value, +) (_ []byte, err error) { + for i, f := range fields { + if i > 0 { + b = append(b, ", "...) + } + + app, ok := q.q.modelValues[f.SQLName] + if ok { + b, err = app.AppendQuery(fmter, b) + if err != nil { + return nil, err + } + continue + } + + if q.placeholder { + b = append(b, '?') + } else { + b = f.AppendValue(b, indirect(strct), 1) + } + + b = append(b, "::"...) + b = append(b, f.SQLType...) + } + return b, nil +} + +func appendWhereColumnAndColumn(b []byte, alias types.Safe, fields []*Field) []byte { + for i, f := range fields { + if i > 0 { + b = append(b, " AND "...) + } + b = append(b, alias...) + b = append(b, '.') + b = append(b, f.Column...) + b = append(b, " = _data."...) + b = append(b, f.Column...) + } + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/orm/util.go b/vendor/github.com/go-pg/pg/v10/orm/util.go new file mode 100644 index 000000000..b7963ba0b --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/orm/util.go @@ -0,0 +1,151 @@ +package orm + +import ( + "reflect" + + "github.com/go-pg/pg/v10/types" +) + +func indirect(v reflect.Value) reflect.Value { + switch v.Kind() { + case reflect.Interface: + return indirect(v.Elem()) + case reflect.Ptr: + return v.Elem() + default: + return v + } +} + +func indirectType(t reflect.Type) reflect.Type { + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + return t +} + +func sliceElemType(v reflect.Value) reflect.Type { + elemType := v.Type().Elem() + if elemType.Kind() == reflect.Interface && v.Len() > 0 { + return indirect(v.Index(0).Elem()).Type() + } + return indirectType(elemType) +} + +func typeByIndex(t reflect.Type, index []int) reflect.Type { + for _, x := range index { + switch t.Kind() { + case reflect.Ptr: + t = t.Elem() + case reflect.Slice: + t = indirectType(t.Elem()) + } + t = t.Field(x).Type + } + return indirectType(t) +} + +func fieldByIndex(v reflect.Value, index []int) (_ reflect.Value, ok bool) { + if len(index) == 1 { + return v.Field(index[0]), true + } + + for i, idx := range index { + if i > 0 { + if v.Kind() == reflect.Ptr { + if v.IsNil() { + return v, false + } + v = v.Elem() + } + } + v = v.Field(idx) + } + return v, true +} + +func fieldByIndexAlloc(v reflect.Value, index []int) reflect.Value { + if len(index) == 1 { + return v.Field(index[0]) + } + + for i, idx := range index { + if i > 0 { + v = indirectNil(v) + } + v = v.Field(idx) + } + return v +} + +func indirectNil(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Ptr { + if v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + v = v.Elem() + } + return v +} + +func walk(v reflect.Value, index []int, fn func(reflect.Value)) { + v = reflect.Indirect(v) + switch v.Kind() { + case reflect.Slice: + sliceLen := v.Len() + for i := 0; i < sliceLen; i++ { + visitField(v.Index(i), index, fn) + } + default: + visitField(v, index, fn) + } +} + +func visitField(v reflect.Value, index []int, fn func(reflect.Value)) { + v = reflect.Indirect(v) + if len(index) > 0 { + v = v.Field(index[0]) + if v.Kind() == reflect.Ptr && v.IsNil() { + return + } + walk(v, index[1:], fn) + } else { + fn(v) + } +} + +func dstValues(model TableModel, fields []*Field) map[string][]reflect.Value { + fieldIndex := model.Relation().Field.Index + m := make(map[string][]reflect.Value) + var id []byte + walk(model.Root(), model.ParentIndex(), func(v reflect.Value) { + id = modelID(id[:0], v, fields) + m[string(id)] = append(m[string(id)], v.FieldByIndex(fieldIndex)) + }) + return m +} + +func modelID(b []byte, v reflect.Value, fields []*Field) []byte { + for i, f := range fields { + if i > 0 { + b = append(b, ',') + } + b = f.AppendValue(b, v, 0) + } + return b +} + +func appendColumns(b []byte, table types.Safe, fields []*Field) []byte { + for i, f := range fields { + if i > 0 { + b = append(b, ", "...) + } + + if len(table) > 0 { + b = append(b, table...) + b = append(b, '.') + } + b = append(b, f.Column...) + } + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/pg.go b/vendor/github.com/go-pg/pg/v10/pg.go new file mode 100644 index 000000000..923ef6bef --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/pg.go @@ -0,0 +1,274 @@ +package pg + +import ( + "context" + "io" + "strconv" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/orm" + "github.com/go-pg/pg/v10/types" +) + +// Discard is used with Query and QueryOne to discard rows. +var Discard orm.Discard + +// NullTime is a time.Time wrapper that marshals zero time as JSON null and +// PostgreSQL NULL. +type NullTime = types.NullTime + +// Scan returns ColumnScanner that copies the columns in the +// row into the values. +func Scan(values ...interface{}) orm.ColumnScanner { + return orm.Scan(values...) +} + +// Safe represents a safe SQL query. +type Safe = types.Safe + +// Ident represents a SQL identifier, e.g. table or column name. +type Ident = types.Ident + +// SafeQuery replaces any placeholders found in the query. +func SafeQuery(query string, params ...interface{}) *orm.SafeQueryAppender { + return orm.SafeQuery(query, params...) +} + +// In accepts a slice and returns a wrapper that can be used with PostgreSQL +// IN operator: +// +// Where("id IN (?)", pg.In([]int{1, 2, 3, 4})) +// +// produces +// +// WHERE id IN (1, 2, 3, 4) +func In(slice interface{}) types.ValueAppender { + return types.In(slice) +} + +// InMulti accepts multiple values and returns a wrapper that can be used +// with PostgreSQL IN operator: +// +// Where("(id1, id2) IN (?)", pg.InMulti([]int{1, 2}, []int{3, 4})) +// +// produces +// +// WHERE (id1, id2) IN ((1, 2), (3, 4)) +func InMulti(values ...interface{}) types.ValueAppender { + return types.InMulti(values...) +} + +// Array accepts a slice and returns a wrapper for working with PostgreSQL +// array data type. +// +// For struct fields you can use array tag: +// +// Emails []string `pg:",array"` +func Array(v interface{}) *types.Array { + return types.NewArray(v) +} + +// Hstore accepts a map and returns a wrapper for working with hstore data type. +// Supported map types are: +// - map[string]string +// +// For struct fields you can use hstore tag: +// +// Attrs map[string]string `pg:",hstore"` +func Hstore(v interface{}) *types.Hstore { + return types.NewHstore(v) +} + +// SetLogger sets the logger to the given one. +func SetLogger(logger internal.Logging) { + internal.Logger = logger +} + +//------------------------------------------------------------------------------ + +type Query = orm.Query + +// Model returns a new query for the optional model. +func Model(model ...interface{}) *Query { + return orm.NewQuery(nil, model...) +} + +// ModelContext returns a new query for the optional model with a context. +func ModelContext(c context.Context, model ...interface{}) *Query { + return orm.NewQueryContext(c, nil, model...) +} + +// DBI is a DB interface implemented by *DB and *Tx. +type DBI interface { + Model(model ...interface{}) *Query + ModelContext(c context.Context, model ...interface{}) *Query + + Exec(query interface{}, params ...interface{}) (Result, error) + ExecContext(c context.Context, query interface{}, params ...interface{}) (Result, error) + ExecOne(query interface{}, params ...interface{}) (Result, error) + ExecOneContext(c context.Context, query interface{}, params ...interface{}) (Result, error) + Query(model, query interface{}, params ...interface{}) (Result, error) + QueryContext(c context.Context, model, query interface{}, params ...interface{}) (Result, error) + QueryOne(model, query interface{}, params ...interface{}) (Result, error) + QueryOneContext(c context.Context, model, query interface{}, params ...interface{}) (Result, error) + + Begin() (*Tx, error) + RunInTransaction(ctx context.Context, fn func(*Tx) error) error + + CopyFrom(r io.Reader, query interface{}, params ...interface{}) (Result, error) + CopyTo(w io.Writer, query interface{}, params ...interface{}) (Result, error) +} + +var ( + _ DBI = (*DB)(nil) + _ DBI = (*Tx)(nil) +) + +//------------------------------------------------------------------------------ + +// Strings is a type alias for a slice of strings. +type Strings []string + +var ( + _ orm.HooklessModel = (*Strings)(nil) + _ types.ValueAppender = (*Strings)(nil) +) + +// Init initializes the Strings slice. +func (strings *Strings) Init() error { + if s := *strings; len(s) > 0 { + *strings = s[:0] + } + return nil +} + +// NextColumnScanner ... +func (strings *Strings) NextColumnScanner() orm.ColumnScanner { + return strings +} + +// AddColumnScanner ... +func (Strings) AddColumnScanner(_ orm.ColumnScanner) error { + return nil +} + +// ScanColumn scans the columns and appends them to `strings`. +func (strings *Strings) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + b := make([]byte, n) + _, err := io.ReadFull(rd, b) + if err != nil { + return err + } + + *strings = append(*strings, internal.BytesToString(b)) + return nil +} + +// AppendValue appends the values from `strings` to the given byte slice. +func (strings Strings) AppendValue(dst []byte, quote int) ([]byte, error) { + if len(strings) == 0 { + return dst, nil + } + + for _, s := range strings { + dst = types.AppendString(dst, s, 1) + dst = append(dst, ',') + } + dst = dst[:len(dst)-1] + return dst, nil +} + +//------------------------------------------------------------------------------ + +// Ints is a type alias for a slice of int64 values. +type Ints []int64 + +var ( + _ orm.HooklessModel = (*Ints)(nil) + _ types.ValueAppender = (*Ints)(nil) +) + +// Init initializes the Int slice. +func (ints *Ints) Init() error { + if s := *ints; len(s) > 0 { + *ints = s[:0] + } + return nil +} + +// NewColumnScanner ... +func (ints *Ints) NextColumnScanner() orm.ColumnScanner { + return ints +} + +// AddColumnScanner ... +func (Ints) AddColumnScanner(_ orm.ColumnScanner) error { + return nil +} + +// ScanColumn scans the columns and appends them to `ints`. +func (ints *Ints) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + num, err := types.ScanInt64(rd, n) + if err != nil { + return err + } + + *ints = append(*ints, num) + return nil +} + +// AppendValue appends the values from `ints` to the given byte slice. +func (ints Ints) AppendValue(dst []byte, quote int) ([]byte, error) { + if len(ints) == 0 { + return dst, nil + } + + for _, v := range ints { + dst = strconv.AppendInt(dst, v, 10) + dst = append(dst, ',') + } + dst = dst[:len(dst)-1] + return dst, nil +} + +//------------------------------------------------------------------------------ + +// IntSet is a set of int64 values. +type IntSet map[int64]struct{} + +var _ orm.HooklessModel = (*IntSet)(nil) + +// Init initializes the IntSet. +func (set *IntSet) Init() error { + if len(*set) > 0 { + *set = make(map[int64]struct{}) + } + return nil +} + +// NextColumnScanner ... +func (set *IntSet) NextColumnScanner() orm.ColumnScanner { + return set +} + +// AddColumnScanner ... +func (IntSet) AddColumnScanner(_ orm.ColumnScanner) error { + return nil +} + +// ScanColumn scans the columns and appends them to `IntSet`. +func (set *IntSet) ScanColumn(col types.ColumnInfo, rd types.Reader, n int) error { + num, err := types.ScanInt64(rd, n) + if err != nil { + return err + } + + setVal := *set + if setVal == nil { + *set = make(IntSet) + setVal = *set + } + + setVal[num] = struct{}{} + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/pgjson/json.go b/vendor/github.com/go-pg/pg/v10/pgjson/json.go new file mode 100644 index 000000000..c401dc946 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/pgjson/json.go @@ -0,0 +1,26 @@ +package pgjson + +import ( + "encoding/json" + "io" +) + +var _ Provider = (*StdProvider)(nil) + +type StdProvider struct{} + +func (StdProvider) Marshal(v interface{}) ([]byte, error) { + return json.Marshal(v) +} + +func (StdProvider) Unmarshal(data []byte, v interface{}) error { + return json.Unmarshal(data, v) +} + +func (StdProvider) NewEncoder(w io.Writer) Encoder { + return json.NewEncoder(w) +} + +func (StdProvider) NewDecoder(r io.Reader) Decoder { + return json.NewDecoder(r) +} diff --git a/vendor/github.com/go-pg/pg/v10/pgjson/provider.go b/vendor/github.com/go-pg/pg/v10/pgjson/provider.go new file mode 100644 index 000000000..a4b663ce4 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/pgjson/provider.go @@ -0,0 +1,43 @@ +package pgjson + +import ( + "io" +) + +var provider Provider = StdProvider{} + +func SetProvider(p Provider) { + provider = p +} + +type Provider interface { + Marshal(v interface{}) ([]byte, error) + Unmarshal(data []byte, v interface{}) error + NewEncoder(w io.Writer) Encoder + NewDecoder(r io.Reader) Decoder +} + +type Decoder interface { + Decode(v interface{}) error + UseNumber() +} + +type Encoder interface { + Encode(v interface{}) error +} + +func Marshal(v interface{}) ([]byte, error) { + return provider.Marshal(v) +} + +func Unmarshal(data []byte, v interface{}) error { + return provider.Unmarshal(data, v) +} + +func NewEncoder(w io.Writer) Encoder { + return provider.NewEncoder(w) +} + +func NewDecoder(r io.Reader) Decoder { + return provider.NewDecoder(r) +} diff --git a/vendor/github.com/go-pg/pg/v10/result.go b/vendor/github.com/go-pg/pg/v10/result.go new file mode 100644 index 000000000..b8d8d9e45 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/result.go @@ -0,0 +1,53 @@ +package pg + +import ( + "bytes" + "strconv" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/orm" +) + +// Result summarizes an executed SQL command. +type Result = orm.Result + +// A result summarizes an executed SQL command. +type result struct { + model orm.Model + + affected int + returned int +} + +var _ Result = (*result)(nil) + +//nolint +func (res *result) parse(b []byte) error { + res.affected = -1 + + ind := bytes.LastIndexByte(b, ' ') + if ind == -1 { + return nil + } + + s := internal.BytesToString(b[ind+1 : len(b)-1]) + + affected, err := strconv.Atoi(s) + if err == nil { + res.affected = affected + } + + return nil +} + +func (res *result) Model() orm.Model { + return res.model +} + +func (res *result) RowsAffected() int { + return res.affected +} + +func (res *result) RowsReturned() int { + return res.returned +} diff --git a/vendor/github.com/go-pg/pg/v10/stmt.go b/vendor/github.com/go-pg/pg/v10/stmt.go new file mode 100644 index 000000000..528788379 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/stmt.go @@ -0,0 +1,282 @@ +package pg + +import ( + "context" + "errors" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/orm" + "github.com/go-pg/pg/v10/types" +) + +var errStmtClosed = errors.New("pg: statement is closed") + +// Stmt is a prepared statement. Stmt is safe for concurrent use by +// multiple goroutines. +type Stmt struct { + db *baseDB + stickyErr error + + q string + name string + columns []types.ColumnInfo +} + +func prepareStmt(db *baseDB, q string) (*Stmt, error) { + stmt := &Stmt{ + db: db, + + q: q, + } + + err := stmt.prepare(context.TODO(), q) + if err != nil { + _ = stmt.Close() + return nil, err + } + return stmt, nil +} + +func (stmt *Stmt) prepare(ctx context.Context, q string) error { + var lastErr error + for attempt := 0; attempt <= stmt.db.opt.MaxRetries; attempt++ { + if attempt > 0 { + if err := internal.Sleep(ctx, stmt.db.retryBackoff(attempt-1)); err != nil { + return err + } + + err := stmt.db.pool.(*pool.StickyConnPool).Reset(ctx) + if err != nil { + return err + } + } + + lastErr = stmt.withConn(ctx, func(ctx context.Context, cn *pool.Conn) error { + var err error + stmt.name, stmt.columns, err = stmt.db.prepare(ctx, cn, q) + return err + }) + if !stmt.db.shouldRetry(lastErr) { + break + } + } + return lastErr +} + +func (stmt *Stmt) withConn(c context.Context, fn func(context.Context, *pool.Conn) error) error { + if stmt.stickyErr != nil { + return stmt.stickyErr + } + err := stmt.db.withConn(c, fn) + if err == pool.ErrClosed { + return errStmtClosed + } + return err +} + +// Exec executes a prepared statement with the given parameters. +func (stmt *Stmt) Exec(params ...interface{}) (Result, error) { + return stmt.exec(context.TODO(), params...) +} + +// ExecContext executes a prepared statement with the given parameters. +func (stmt *Stmt) ExecContext(c context.Context, params ...interface{}) (Result, error) { + return stmt.exec(c, params...) +} + +func (stmt *Stmt) exec(ctx context.Context, params ...interface{}) (Result, error) { + ctx, evt, err := stmt.db.beforeQuery(ctx, stmt.db.db, nil, stmt.q, params, nil) + if err != nil { + return nil, err + } + + var res Result + var lastErr error + for attempt := 0; attempt <= stmt.db.opt.MaxRetries; attempt++ { + if attempt > 0 { + lastErr = internal.Sleep(ctx, stmt.db.retryBackoff(attempt-1)) + if lastErr != nil { + break + } + } + + lastErr = stmt.withConn(ctx, func(c context.Context, cn *pool.Conn) error { + res, err = stmt.extQuery(ctx, cn, stmt.name, params...) + return err + }) + if !stmt.db.shouldRetry(lastErr) { + break + } + } + + if err := stmt.db.afterQuery(ctx, evt, res, lastErr); err != nil { + return nil, err + } + return res, lastErr +} + +// ExecOne acts like Exec, but query must affect only one row. It +// returns ErrNoRows error when query returns zero rows or +// ErrMultiRows when query returns multiple rows. +func (stmt *Stmt) ExecOne(params ...interface{}) (Result, error) { + return stmt.execOne(context.Background(), params...) +} + +// ExecOneContext acts like ExecOne but additionally receives a context. +func (stmt *Stmt) ExecOneContext(c context.Context, params ...interface{}) (Result, error) { + return stmt.execOne(c, params...) +} + +func (stmt *Stmt) execOne(c context.Context, params ...interface{}) (Result, error) { + res, err := stmt.ExecContext(c, params...) + if err != nil { + return nil, err + } + + if err := internal.AssertOneRow(res.RowsAffected()); err != nil { + return nil, err + } + return res, nil +} + +// Query executes a prepared query statement with the given parameters. +func (stmt *Stmt) Query(model interface{}, params ...interface{}) (Result, error) { + return stmt.query(context.Background(), model, params...) +} + +// QueryContext acts like Query but additionally receives a context. +func (stmt *Stmt) QueryContext(c context.Context, model interface{}, params ...interface{}) (Result, error) { + return stmt.query(c, model, params...) +} + +func (stmt *Stmt) query(ctx context.Context, model interface{}, params ...interface{}) (Result, error) { + ctx, evt, err := stmt.db.beforeQuery(ctx, stmt.db.db, model, stmt.q, params, nil) + if err != nil { + return nil, err + } + + var res Result + var lastErr error + for attempt := 0; attempt <= stmt.db.opt.MaxRetries; attempt++ { + if attempt > 0 { + lastErr = internal.Sleep(ctx, stmt.db.retryBackoff(attempt-1)) + if lastErr != nil { + break + } + } + + lastErr = stmt.withConn(ctx, func(c context.Context, cn *pool.Conn) error { + res, err = stmt.extQueryData(ctx, cn, stmt.name, model, stmt.columns, params...) + return err + }) + if !stmt.db.shouldRetry(lastErr) { + break + } + } + + if err := stmt.db.afterQuery(ctx, evt, res, lastErr); err != nil { + return nil, err + } + return res, lastErr +} + +// QueryOne acts like Query, but query must return only one row. It +// returns ErrNoRows error when query returns zero rows or +// ErrMultiRows when query returns multiple rows. +func (stmt *Stmt) QueryOne(model interface{}, params ...interface{}) (Result, error) { + return stmt.queryOne(context.Background(), model, params...) +} + +// QueryOneContext acts like QueryOne but additionally receives a context. +func (stmt *Stmt) QueryOneContext(c context.Context, model interface{}, params ...interface{}) (Result, error) { + return stmt.queryOne(c, model, params...) +} + +func (stmt *Stmt) queryOne(c context.Context, model interface{}, params ...interface{}) (Result, error) { + mod, err := orm.NewModel(model) + if err != nil { + return nil, err + } + + res, err := stmt.QueryContext(c, mod, params...) + if err != nil { + return nil, err + } + + if err := internal.AssertOneRow(res.RowsAffected()); err != nil { + return nil, err + } + return res, nil +} + +// Close closes the statement. +func (stmt *Stmt) Close() error { + var firstErr error + + if stmt.name != "" { + firstErr = stmt.closeStmt() + } + + err := stmt.db.Close() + if err != nil && firstErr == nil { + firstErr = err + } + + return firstErr +} + +func (stmt *Stmt) extQuery( + c context.Context, cn *pool.Conn, name string, params ...interface{}, +) (Result, error) { + err := cn.WithWriter(c, stmt.db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + return writeBindExecuteMsg(wb, name, params...) + }) + if err != nil { + return nil, err + } + + var res Result + err = cn.WithReader(c, stmt.db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + res, err = readExtQuery(rd) + return err + }) + if err != nil { + return nil, err + } + + return res, nil +} + +func (stmt *Stmt) extQueryData( + c context.Context, + cn *pool.Conn, + name string, + model interface{}, + columns []types.ColumnInfo, + params ...interface{}, +) (Result, error) { + err := cn.WithWriter(c, stmt.db.opt.WriteTimeout, func(wb *pool.WriteBuffer) error { + return writeBindExecuteMsg(wb, name, params...) + }) + if err != nil { + return nil, err + } + + var res *result + err = cn.WithReader(c, stmt.db.opt.ReadTimeout, func(rd *pool.ReaderContext) error { + res, err = readExtQueryData(c, rd, model, columns) + return err + }) + if err != nil { + return nil, err + } + + return res, nil +} + +func (stmt *Stmt) closeStmt() error { + return stmt.withConn(context.TODO(), func(c context.Context, cn *pool.Conn) error { + return stmt.db.closeStmt(c, cn, stmt.name) + }) +} diff --git a/vendor/github.com/go-pg/pg/v10/tx.go b/vendor/github.com/go-pg/pg/v10/tx.go new file mode 100644 index 000000000..db444ff65 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/tx.go @@ -0,0 +1,388 @@ +package pg + +import ( + "context" + "errors" + "io" + "sync" + "sync/atomic" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/orm" +) + +// ErrTxDone is returned by any operation that is performed on a transaction +// that has already been committed or rolled back. +var ErrTxDone = errors.New("pg: transaction has already been committed or rolled back") + +// Tx is an in-progress database transaction. It is safe for concurrent use +// by multiple goroutines. +// +// A transaction must end with a call to Commit or Rollback. +// +// After a call to Commit or Rollback, all operations on the transaction fail +// with ErrTxDone. +// +// The statements prepared for a transaction by calling the transaction's +// Prepare or Stmt methods are closed by the call to Commit or Rollback. +type Tx struct { + db *baseDB + ctx context.Context + + stmtsMu sync.Mutex + stmts []*Stmt + + _closed int32 +} + +var _ orm.DB = (*Tx)(nil) + +// Context returns the context.Context of the transaction. +func (tx *Tx) Context() context.Context { + return tx.ctx +} + +// Begin starts a transaction. Most callers should use RunInTransaction instead. +func (db *baseDB) Begin() (*Tx, error) { + return db.BeginContext(db.db.Context()) +} + +func (db *baseDB) BeginContext(ctx context.Context) (*Tx, error) { + tx := &Tx{ + db: db.withPool(pool.NewStickyConnPool(db.pool)), + ctx: ctx, + } + + err := tx.begin(ctx) + if err != nil { + tx.close() + return nil, err + } + + return tx, nil +} + +// RunInTransaction runs a function in a transaction. If function +// returns an error transaction is rolled back, otherwise transaction +// is committed. +func (db *baseDB) RunInTransaction(ctx context.Context, fn func(*Tx) error) error { + tx, err := db.BeginContext(ctx) + if err != nil { + return err + } + return tx.RunInTransaction(ctx, fn) +} + +// Begin returns current transaction. It does not start new transaction. +func (tx *Tx) Begin() (*Tx, error) { + return tx, nil +} + +// RunInTransaction runs a function in the transaction. If function +// returns an error transaction is rolled back, otherwise transaction +// is committed. +func (tx *Tx) RunInTransaction(ctx context.Context, fn func(*Tx) error) error { + defer func() { + if err := recover(); err != nil { + if err := tx.RollbackContext(ctx); err != nil { + internal.Logger.Printf(ctx, "tx.Rollback panicked: %s", err) + } + panic(err) + } + }() + + if err := fn(tx); err != nil { + if err := tx.RollbackContext(ctx); err != nil { + internal.Logger.Printf(ctx, "tx.Rollback failed: %s", err) + } + return err + } + return tx.CommitContext(ctx) +} + +func (tx *Tx) withConn(c context.Context, fn func(context.Context, *pool.Conn) error) error { + err := tx.db.withConn(c, fn) + if tx.closed() && err == pool.ErrClosed { + return ErrTxDone + } + return err +} + +// Stmt returns a transaction-specific prepared statement +// from an existing statement. +func (tx *Tx) Stmt(stmt *Stmt) *Stmt { + stmt, err := tx.Prepare(stmt.q) + if err != nil { + return &Stmt{stickyErr: err} + } + return stmt +} + +// Prepare creates a prepared statement for use within a transaction. +// +// The returned statement operates within the transaction and can no longer +// be used once the transaction has been committed or rolled back. +// +// To use an existing prepared statement on this transaction, see Tx.Stmt. +func (tx *Tx) Prepare(q string) (*Stmt, error) { + tx.stmtsMu.Lock() + defer tx.stmtsMu.Unlock() + + db := tx.db.withPool(pool.NewStickyConnPool(tx.db.pool)) + stmt, err := prepareStmt(db, q) + if err != nil { + return nil, err + } + tx.stmts = append(tx.stmts, stmt) + + return stmt, nil +} + +// Exec is an alias for DB.Exec. +func (tx *Tx) Exec(query interface{}, params ...interface{}) (Result, error) { + return tx.exec(tx.ctx, query, params...) +} + +// ExecContext acts like Exec but additionally receives a context. +func (tx *Tx) ExecContext(c context.Context, query interface{}, params ...interface{}) (Result, error) { + return tx.exec(c, query, params...) +} + +func (tx *Tx) exec(ctx context.Context, query interface{}, params ...interface{}) (Result, error) { + wb := pool.GetWriteBuffer() + defer pool.PutWriteBuffer(wb) + + if err := writeQueryMsg(wb, tx.db.fmter, query, params...); err != nil { + return nil, err + } + + ctx, evt, err := tx.db.beforeQuery(ctx, tx, nil, query, params, wb.Query()) + if err != nil { + return nil, err + } + + var res Result + lastErr := tx.withConn(ctx, func(ctx context.Context, cn *pool.Conn) error { + res, err = tx.db.simpleQuery(ctx, cn, wb) + return err + }) + + if err := tx.db.afterQuery(ctx, evt, res, lastErr); err != nil { + return nil, err + } + return res, lastErr +} + +// ExecOne is an alias for DB.ExecOne. +func (tx *Tx) ExecOne(query interface{}, params ...interface{}) (Result, error) { + return tx.execOne(tx.ctx, query, params...) +} + +// ExecOneContext acts like ExecOne but additionally receives a context. +func (tx *Tx) ExecOneContext(c context.Context, query interface{}, params ...interface{}) (Result, error) { + return tx.execOne(c, query, params...) +} + +func (tx *Tx) execOne(c context.Context, query interface{}, params ...interface{}) (Result, error) { + res, err := tx.ExecContext(c, query, params...) + if err != nil { + return nil, err + } + + if err := internal.AssertOneRow(res.RowsAffected()); err != nil { + return nil, err + } + return res, nil +} + +// Query is an alias for DB.Query. +func (tx *Tx) Query(model interface{}, query interface{}, params ...interface{}) (Result, error) { + return tx.query(tx.ctx, model, query, params...) +} + +// QueryContext acts like Query but additionally receives a context. +func (tx *Tx) QueryContext( + c context.Context, + model interface{}, + query interface{}, + params ...interface{}, +) (Result, error) { + return tx.query(c, model, query, params...) +} + +func (tx *Tx) query( + ctx context.Context, + model interface{}, + query interface{}, + params ...interface{}, +) (Result, error) { + wb := pool.GetWriteBuffer() + defer pool.PutWriteBuffer(wb) + + if err := writeQueryMsg(wb, tx.db.fmter, query, params...); err != nil { + return nil, err + } + + ctx, evt, err := tx.db.beforeQuery(ctx, tx, model, query, params, wb.Query()) + if err != nil { + return nil, err + } + + var res *result + lastErr := tx.withConn(ctx, func(ctx context.Context, cn *pool.Conn) error { + res, err = tx.db.simpleQueryData(ctx, cn, model, wb) + return err + }) + + if err := tx.db.afterQuery(ctx, evt, res, err); err != nil { + return nil, err + } + return res, lastErr +} + +// QueryOne is an alias for DB.QueryOne. +func (tx *Tx) QueryOne(model interface{}, query interface{}, params ...interface{}) (Result, error) { + return tx.queryOne(tx.ctx, model, query, params...) +} + +// QueryOneContext acts like QueryOne but additionally receives a context. +func (tx *Tx) QueryOneContext( + c context.Context, + model interface{}, + query interface{}, + params ...interface{}, +) (Result, error) { + return tx.queryOne(c, model, query, params...) +} + +func (tx *Tx) queryOne( + c context.Context, + model interface{}, + query interface{}, + params ...interface{}, +) (Result, error) { + mod, err := orm.NewModel(model) + if err != nil { + return nil, err + } + + res, err := tx.QueryContext(c, mod, query, params...) + if err != nil { + return nil, err + } + + if err := internal.AssertOneRow(res.RowsAffected()); err != nil { + return nil, err + } + return res, nil +} + +// Model is an alias for DB.Model. +func (tx *Tx) Model(model ...interface{}) *Query { + return orm.NewQuery(tx, model...) +} + +// ModelContext acts like Model but additionally receives a context. +func (tx *Tx) ModelContext(c context.Context, model ...interface{}) *Query { + return orm.NewQueryContext(c, tx, model...) +} + +// CopyFrom is an alias for DB.CopyFrom. +func (tx *Tx) CopyFrom(r io.Reader, query interface{}, params ...interface{}) (res Result, err error) { + err = tx.withConn(tx.ctx, func(c context.Context, cn *pool.Conn) error { + res, err = tx.db.copyFrom(c, cn, r, query, params...) + return err + }) + return res, err +} + +// CopyTo is an alias for DB.CopyTo. +func (tx *Tx) CopyTo(w io.Writer, query interface{}, params ...interface{}) (res Result, err error) { + err = tx.withConn(tx.ctx, func(c context.Context, cn *pool.Conn) error { + res, err = tx.db.copyTo(c, cn, w, query, params...) + return err + }) + return res, err +} + +// Formatter is an alias for DB.Formatter. +func (tx *Tx) Formatter() orm.QueryFormatter { + return tx.db.Formatter() +} + +func (tx *Tx) begin(ctx context.Context) error { + var lastErr error + for attempt := 0; attempt <= tx.db.opt.MaxRetries; attempt++ { + if attempt > 0 { + if err := internal.Sleep(ctx, tx.db.retryBackoff(attempt-1)); err != nil { + return err + } + + err := tx.db.pool.(*pool.StickyConnPool).Reset(ctx) + if err != nil { + return err + } + } + + _, lastErr = tx.ExecContext(ctx, "BEGIN") + if !tx.db.shouldRetry(lastErr) { + break + } + } + return lastErr +} + +func (tx *Tx) Commit() error { + return tx.CommitContext(tx.ctx) +} + +// Commit commits the transaction. +func (tx *Tx) CommitContext(ctx context.Context) error { + _, err := tx.ExecContext(internal.UndoContext(ctx), "COMMIT") + tx.close() + return err +} + +func (tx *Tx) Rollback() error { + return tx.RollbackContext(tx.ctx) +} + +// Rollback aborts the transaction. +func (tx *Tx) RollbackContext(ctx context.Context) error { + _, err := tx.ExecContext(internal.UndoContext(ctx), "ROLLBACK") + tx.close() + return err +} + +func (tx *Tx) Close() error { + return tx.CloseContext(tx.ctx) +} + +// Close calls Rollback if the tx has not already been committed or rolled back. +func (tx *Tx) CloseContext(ctx context.Context) error { + if tx.closed() { + return nil + } + return tx.RollbackContext(ctx) +} + +func (tx *Tx) close() { + if !atomic.CompareAndSwapInt32(&tx._closed, 0, 1) { + return + } + + tx.stmtsMu.Lock() + defer tx.stmtsMu.Unlock() + + for _, stmt := range tx.stmts { + _ = stmt.Close() + } + tx.stmts = nil + + _ = tx.db.Close() +} + +func (tx *Tx) closed() bool { + return atomic.LoadInt32(&tx._closed) == 1 +} diff --git a/vendor/github.com/go-pg/pg/v10/types/append.go b/vendor/github.com/go-pg/pg/v10/types/append.go new file mode 100644 index 000000000..05be2a0fa --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/append.go @@ -0,0 +1,201 @@ +package types + +import ( + "math" + "reflect" + "strconv" + "time" + "unicode/utf8" + + "github.com/tmthrgd/go-hex" +) + +func Append(b []byte, v interface{}, flags int) []byte { + switch v := v.(type) { + case nil: + return AppendNull(b, flags) + case bool: + return appendBool(b, v) + case int32: + return strconv.AppendInt(b, int64(v), 10) + case int64: + return strconv.AppendInt(b, v, 10) + case int: + return strconv.AppendInt(b, int64(v), 10) + case float32: + return appendFloat(b, float64(v), flags, 32) + case float64: + return appendFloat(b, v, flags, 64) + case string: + return AppendString(b, v, flags) + case time.Time: + return AppendTime(b, v, flags) + case []byte: + return AppendBytes(b, v, flags) + case ValueAppender: + return appendAppender(b, v, flags) + default: + return appendValue(b, reflect.ValueOf(v), flags) + } +} + +func AppendError(b []byte, err error) []byte { + b = append(b, "?!("...) + b = append(b, err.Error()...) + b = append(b, ')') + return b +} + +func AppendNull(b []byte, flags int) []byte { + if hasFlag(flags, quoteFlag) { + return append(b, "NULL"...) + } + return nil +} + +func appendBool(dst []byte, v bool) []byte { + if v { + return append(dst, "TRUE"...) + } + return append(dst, "FALSE"...) +} + +func appendFloat(dst []byte, v float64, flags int, bitSize int) []byte { + if hasFlag(flags, arrayFlag) { + return appendFloat2(dst, v, flags) + } + + switch { + case math.IsNaN(v): + if hasFlag(flags, quoteFlag) { + return append(dst, "'NaN'"...) + } + return append(dst, "NaN"...) + case math.IsInf(v, 1): + if hasFlag(flags, quoteFlag) { + return append(dst, "'Infinity'"...) + } + return append(dst, "Infinity"...) + case math.IsInf(v, -1): + if hasFlag(flags, quoteFlag) { + return append(dst, "'-Infinity'"...) + } + return append(dst, "-Infinity"...) + default: + return strconv.AppendFloat(dst, v, 'f', -1, bitSize) + } +} + +func appendFloat2(dst []byte, v float64, _ int) []byte { + switch { + case math.IsNaN(v): + return append(dst, "NaN"...) + case math.IsInf(v, 1): + return append(dst, "Infinity"...) + case math.IsInf(v, -1): + return append(dst, "-Infinity"...) + default: + return strconv.AppendFloat(dst, v, 'f', -1, 64) + } +} + +func AppendString(b []byte, s string, flags int) []byte { + if hasFlag(flags, arrayFlag) { + return appendString2(b, s, flags) + } + + if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + for _, c := range s { + if c == '\000' { + continue + } + + if c == '\'' { + b = append(b, '\'', '\'') + } else { + b = appendRune(b, c) + } + } + b = append(b, '\'') + return b + } + + for _, c := range s { + if c != '\000' { + b = appendRune(b, c) + } + } + return b +} + +func appendString2(b []byte, s string, flags int) []byte { + b = append(b, '"') + for _, c := range s { + if c == '\000' { + continue + } + + switch c { + case '\'': + if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + } + b = append(b, '\'') + case '"': + b = append(b, '\\', '"') + case '\\': + b = append(b, '\\', '\\') + default: + b = appendRune(b, c) + } + } + b = append(b, '"') + return b +} + +func appendRune(b []byte, r rune) []byte { + if r < utf8.RuneSelf { + return append(b, byte(r)) + } + l := len(b) + if cap(b)-l < utf8.UTFMax { + b = append(b, make([]byte, utf8.UTFMax)...) + } + n := utf8.EncodeRune(b[l:l+utf8.UTFMax], r) + return b[:l+n] +} + +func AppendBytes(b []byte, bytes []byte, flags int) []byte { + if bytes == nil { + return AppendNull(b, flags) + } + + if hasFlag(flags, arrayFlag) { + b = append(b, `"\`...) + } else if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + } + + b = append(b, `\x`...) + + s := len(b) + b = append(b, make([]byte, hex.EncodedLen(len(bytes)))...) + hex.Encode(b[s:], bytes) + + if hasFlag(flags, arrayFlag) { + b = append(b, '"') + } else if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + } + + return b +} + +func appendAppender(b []byte, v ValueAppender, flags int) []byte { + bb, err := v.AppendValue(b, flags) + if err != nil { + return AppendError(b, err) + } + return bb +} diff --git a/vendor/github.com/go-pg/pg/v10/types/append_ident.go b/vendor/github.com/go-pg/pg/v10/types/append_ident.go new file mode 100644 index 000000000..60b9d6784 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/append_ident.go @@ -0,0 +1,46 @@ +package types + +import "github.com/go-pg/pg/v10/internal" + +func AppendIdent(b []byte, field string, flags int) []byte { + return appendIdent(b, internal.StringToBytes(field), flags) +} + +func AppendIdentBytes(b []byte, field []byte, flags int) []byte { + return appendIdent(b, field, flags) +} + +func appendIdent(b, src []byte, flags int) []byte { + var quoted bool +loop: + for _, c := range src { + switch c { + case '*': + if !quoted { + b = append(b, '*') + continue loop + } + case '.': + if quoted && hasFlag(flags, quoteFlag) { + b = append(b, '"') + quoted = false + } + b = append(b, '.') + continue loop + } + + if !quoted && hasFlag(flags, quoteFlag) { + b = append(b, '"') + quoted = true + } + if c == '"' { + b = append(b, '"', '"') + } else { + b = append(b, c) + } + } + if quoted && hasFlag(flags, quoteFlag) { + b = append(b, '"') + } + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/types/append_jsonb.go b/vendor/github.com/go-pg/pg/v10/types/append_jsonb.go new file mode 100644 index 000000000..ffe221825 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/append_jsonb.go @@ -0,0 +1,49 @@ +package types + +import "github.com/go-pg/pg/v10/internal/parser" + +func AppendJSONB(b, jsonb []byte, flags int) []byte { + if hasFlag(flags, arrayFlag) { + b = append(b, '"') + } else if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + } + + p := parser.New(jsonb) + for p.Valid() { + c := p.Read() + switch c { + case '"': + if hasFlag(flags, arrayFlag) { + b = append(b, '\\') + } + b = append(b, '"') + case '\'': + if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + } + b = append(b, '\'') + case '\000': + continue + case '\\': + if p.SkipBytes([]byte("u0000")) { + b = append(b, "\\\\u0000"...) + } else { + b = append(b, '\\') + if p.Valid() { + b = append(b, p.Read()) + } + } + default: + b = append(b, c) + } + } + + if hasFlag(flags, arrayFlag) { + b = append(b, '"') + } else if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + } + + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/types/append_value.go b/vendor/github.com/go-pg/pg/v10/types/append_value.go new file mode 100644 index 000000000..f12fc564f --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/append_value.go @@ -0,0 +1,248 @@ +package types + +import ( + "database/sql/driver" + "fmt" + "net" + "reflect" + "strconv" + "sync" + "time" + + "github.com/vmihailenco/bufpool" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/pgjson" +) + +var ( + driverValuerType = reflect.TypeOf((*driver.Valuer)(nil)).Elem() + appenderType = reflect.TypeOf((*ValueAppender)(nil)).Elem() +) + +type AppenderFunc func([]byte, reflect.Value, int) []byte + +var appenders []AppenderFunc + +//nolint +func init() { + appenders = []AppenderFunc{ + reflect.Bool: appendBoolValue, + reflect.Int: appendIntValue, + reflect.Int8: appendIntValue, + reflect.Int16: appendIntValue, + reflect.Int32: appendIntValue, + reflect.Int64: appendIntValue, + reflect.Uint: appendUintValue, + reflect.Uint8: appendUintValue, + reflect.Uint16: appendUintValue, + reflect.Uint32: appendUintValue, + reflect.Uint64: appendUintValue, + reflect.Uintptr: nil, + reflect.Float32: appendFloat32Value, + reflect.Float64: appendFloat64Value, + reflect.Complex64: nil, + reflect.Complex128: nil, + reflect.Array: appendJSONValue, + reflect.Chan: nil, + reflect.Func: nil, + reflect.Interface: appendIfaceValue, + reflect.Map: appendJSONValue, + reflect.Ptr: nil, + reflect.Slice: appendJSONValue, + reflect.String: appendStringValue, + reflect.Struct: appendStructValue, + reflect.UnsafePointer: nil, + } +} + +var appendersMap sync.Map + +// RegisterAppender registers an appender func for the value type. +// Expecting to be used only during initialization, it panics +// if there is already a registered appender for the given type. +func RegisterAppender(value interface{}, fn AppenderFunc) { + registerAppender(reflect.TypeOf(value), fn) +} + +func registerAppender(typ reflect.Type, fn AppenderFunc) { + _, loaded := appendersMap.LoadOrStore(typ, fn) + if loaded { + err := fmt.Errorf("pg: appender for the type=%s is already registered", + typ.String()) + panic(err) + } +} + +func Appender(typ reflect.Type) AppenderFunc { + if v, ok := appendersMap.Load(typ); ok { + return v.(AppenderFunc) + } + fn := appender(typ, false) + _, _ = appendersMap.LoadOrStore(typ, fn) + return fn +} + +func appender(typ reflect.Type, pgArray bool) AppenderFunc { + switch typ { + case timeType: + return appendTimeValue + case ipType: + return appendIPValue + case ipNetType: + return appendIPNetValue + case jsonRawMessageType: + return appendJSONRawMessageValue + } + + if typ.Implements(appenderType) { + return appendAppenderValue + } + if typ.Implements(driverValuerType) { + return appendDriverValuerValue + } + + kind := typ.Kind() + switch kind { + case reflect.Ptr: + return ptrAppenderFunc(typ) + case reflect.Slice: + if typ.Elem().Kind() == reflect.Uint8 { + return appendBytesValue + } + if pgArray { + return ArrayAppender(typ) + } + case reflect.Array: + if typ.Elem().Kind() == reflect.Uint8 { + return appendArrayBytesValue + } + } + return appenders[kind] +} + +func ptrAppenderFunc(typ reflect.Type) AppenderFunc { + appender := Appender(typ.Elem()) + return func(b []byte, v reflect.Value, flags int) []byte { + if v.IsNil() { + return AppendNull(b, flags) + } + return appender(b, v.Elem(), flags) + } +} + +func appendValue(b []byte, v reflect.Value, flags int) []byte { + if v.Kind() == reflect.Ptr && v.IsNil() { + return AppendNull(b, flags) + } + appender := Appender(v.Type()) + return appender(b, v, flags) +} + +func appendIfaceValue(b []byte, v reflect.Value, flags int) []byte { + return Append(b, v.Interface(), flags) +} + +func appendBoolValue(b []byte, v reflect.Value, _ int) []byte { + return appendBool(b, v.Bool()) +} + +func appendIntValue(b []byte, v reflect.Value, _ int) []byte { + return strconv.AppendInt(b, v.Int(), 10) +} + +func appendUintValue(b []byte, v reflect.Value, _ int) []byte { + return strconv.AppendUint(b, v.Uint(), 10) +} + +func appendFloat32Value(b []byte, v reflect.Value, flags int) []byte { + return appendFloat(b, v.Float(), flags, 32) +} + +func appendFloat64Value(b []byte, v reflect.Value, flags int) []byte { + return appendFloat(b, v.Float(), flags, 64) +} + +func appendBytesValue(b []byte, v reflect.Value, flags int) []byte { + return AppendBytes(b, v.Bytes(), flags) +} + +func appendArrayBytesValue(b []byte, v reflect.Value, flags int) []byte { + if v.CanAddr() { + return AppendBytes(b, v.Slice(0, v.Len()).Bytes(), flags) + } + + buf := bufpool.Get(v.Len()) + + tmp := buf.Bytes() + reflect.Copy(reflect.ValueOf(tmp), v) + b = AppendBytes(b, tmp, flags) + + bufpool.Put(buf) + + return b +} + +func appendStringValue(b []byte, v reflect.Value, flags int) []byte { + return AppendString(b, v.String(), flags) +} + +func appendStructValue(b []byte, v reflect.Value, flags int) []byte { + if v.Type() == timeType { + return appendTimeValue(b, v, flags) + } + return appendJSONValue(b, v, flags) +} + +var jsonPool bufpool.Pool + +func appendJSONValue(b []byte, v reflect.Value, flags int) []byte { + buf := jsonPool.Get() + defer jsonPool.Put(buf) + + if err := pgjson.NewEncoder(buf).Encode(v.Interface()); err != nil { + return AppendError(b, err) + } + + bb := buf.Bytes() + if len(bb) > 0 && bb[len(bb)-1] == '\n' { + bb = bb[:len(bb)-1] + } + + return AppendJSONB(b, bb, flags) +} + +func appendTimeValue(b []byte, v reflect.Value, flags int) []byte { + tm := v.Interface().(time.Time) + return AppendTime(b, tm, flags) +} + +func appendIPValue(b []byte, v reflect.Value, flags int) []byte { + ip := v.Interface().(net.IP) + return AppendString(b, ip.String(), flags) +} + +func appendIPNetValue(b []byte, v reflect.Value, flags int) []byte { + ipnet := v.Interface().(net.IPNet) + return AppendString(b, ipnet.String(), flags) +} + +func appendJSONRawMessageValue(b []byte, v reflect.Value, flags int) []byte { + return AppendString(b, internal.BytesToString(v.Bytes()), flags) +} + +func appendAppenderValue(b []byte, v reflect.Value, flags int) []byte { + return appendAppender(b, v.Interface().(ValueAppender), flags) +} + +func appendDriverValuerValue(b []byte, v reflect.Value, flags int) []byte { + return appendDriverValuer(b, v.Interface().(driver.Valuer), flags) +} + +func appendDriverValuer(b []byte, v driver.Valuer, flags int) []byte { + value, err := v.Value() + if err != nil { + return AppendError(b, err) + } + return Append(b, value, flags) +} diff --git a/vendor/github.com/go-pg/pg/v10/types/array.go b/vendor/github.com/go-pg/pg/v10/types/array.go new file mode 100644 index 000000000..fb70c1f50 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/array.go @@ -0,0 +1,58 @@ +package types + +import ( + "fmt" + "reflect" +) + +type Array struct { + v reflect.Value + + append AppenderFunc + scan ScannerFunc +} + +var ( + _ ValueAppender = (*Array)(nil) + _ ValueScanner = (*Array)(nil) +) + +func NewArray(vi interface{}) *Array { + v := reflect.ValueOf(vi) + if !v.IsValid() { + panic(fmt.Errorf("pg: Array(nil)")) + } + + return &Array{ + v: v, + + append: ArrayAppender(v.Type()), + scan: ArrayScanner(v.Type()), + } +} + +func (a *Array) AppendValue(b []byte, flags int) ([]byte, error) { + if a.append == nil { + panic(fmt.Errorf("pg: Array(unsupported %s)", a.v.Type())) + } + return a.append(b, a.v, flags), nil +} + +func (a *Array) ScanValue(rd Reader, n int) error { + if a.scan == nil { + return fmt.Errorf("pg: Array(unsupported %s)", a.v.Type()) + } + + if a.v.Kind() != reflect.Ptr { + return fmt.Errorf("pg: Array(non-pointer %s)", a.v.Type()) + } + + return a.scan(a.v.Elem(), rd, n) +} + +func (a *Array) Value() interface{} { + if a.v.IsValid() { + return a.v.Interface() + } + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/types/array_append.go b/vendor/github.com/go-pg/pg/v10/types/array_append.go new file mode 100644 index 000000000..a4132eb61 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/array_append.go @@ -0,0 +1,236 @@ +package types + +import ( + "reflect" + "strconv" + "sync" +) + +var ( + stringType = reflect.TypeOf((*string)(nil)).Elem() + sliceStringType = reflect.TypeOf([]string(nil)) + + intType = reflect.TypeOf((*int)(nil)).Elem() + sliceIntType = reflect.TypeOf([]int(nil)) + + int64Type = reflect.TypeOf((*int64)(nil)).Elem() + sliceInt64Type = reflect.TypeOf([]int64(nil)) + + float64Type = reflect.TypeOf((*float64)(nil)).Elem() + sliceFloat64Type = reflect.TypeOf([]float64(nil)) +) + +var arrayAppendersMap sync.Map + +func ArrayAppender(typ reflect.Type) AppenderFunc { + if v, ok := arrayAppendersMap.Load(typ); ok { + return v.(AppenderFunc) + } + fn := arrayAppender(typ) + arrayAppendersMap.Store(typ, fn) + return fn +} + +func arrayAppender(typ reflect.Type) AppenderFunc { + kind := typ.Kind() + if kind == reflect.Ptr { + typ = typ.Elem() + kind = typ.Kind() + } + + switch kind { + case reflect.Slice, reflect.Array: + // ok: + default: + return nil + } + + elemType := typ.Elem() + + if kind == reflect.Slice { + switch elemType { + case stringType: + return appendSliceStringValue + case intType: + return appendSliceIntValue + case int64Type: + return appendSliceInt64Value + case float64Type: + return appendSliceFloat64Value + } + } + + appendElem := appender(elemType, true) + return func(b []byte, v reflect.Value, flags int) []byte { + flags |= arrayFlag + + kind := v.Kind() + switch kind { + case reflect.Ptr, reflect.Slice: + if v.IsNil() { + return AppendNull(b, flags) + } + } + + if kind == reflect.Ptr { + v = v.Elem() + } + + quote := shouldQuoteArray(flags) + if quote { + b = append(b, '\'') + } + + flags |= subArrayFlag + + b = append(b, '{') + for i := 0; i < v.Len(); i++ { + elem := v.Index(i) + b = appendElem(b, elem, flags) + b = append(b, ',') + } + if v.Len() > 0 { + b[len(b)-1] = '}' // Replace trailing comma. + } else { + b = append(b, '}') + } + + if quote { + b = append(b, '\'') + } + + return b + } +} + +func appendSliceStringValue(b []byte, v reflect.Value, flags int) []byte { + ss := v.Convert(sliceStringType).Interface().([]string) + return appendSliceString(b, ss, flags) +} + +func appendSliceString(b []byte, ss []string, flags int) []byte { + if ss == nil { + return AppendNull(b, flags) + } + + quote := shouldQuoteArray(flags) + if quote { + b = append(b, '\'') + } + + b = append(b, '{') + for _, s := range ss { + b = appendString2(b, s, flags) + b = append(b, ',') + } + if len(ss) > 0 { + b[len(b)-1] = '}' // Replace trailing comma. + } else { + b = append(b, '}') + } + + if quote { + b = append(b, '\'') + } + + return b +} + +func appendSliceIntValue(b []byte, v reflect.Value, flags int) []byte { + ints := v.Convert(sliceIntType).Interface().([]int) + return appendSliceInt(b, ints, flags) +} + +func appendSliceInt(b []byte, ints []int, flags int) []byte { + if ints == nil { + return AppendNull(b, flags) + } + + quote := shouldQuoteArray(flags) + if quote { + b = append(b, '\'') + } + + b = append(b, '{') + for _, n := range ints { + b = strconv.AppendInt(b, int64(n), 10) + b = append(b, ',') + } + if len(ints) > 0 { + b[len(b)-1] = '}' // Replace trailing comma. + } else { + b = append(b, '}') + } + + if quote { + b = append(b, '\'') + } + + return b +} + +func appendSliceInt64Value(b []byte, v reflect.Value, flags int) []byte { + ints := v.Convert(sliceInt64Type).Interface().([]int64) + return appendSliceInt64(b, ints, flags) +} + +func appendSliceInt64(b []byte, ints []int64, flags int) []byte { + if ints == nil { + return AppendNull(b, flags) + } + + quote := shouldQuoteArray(flags) + if quote { + b = append(b, '\'') + } + + b = append(b, '{') + for _, n := range ints { + b = strconv.AppendInt(b, n, 10) + b = append(b, ',') + } + if len(ints) > 0 { + b[len(b)-1] = '}' // Replace trailing comma. + } else { + b = append(b, '}') + } + + if quote { + b = append(b, '\'') + } + + return b +} + +func appendSliceFloat64Value(b []byte, v reflect.Value, flags int) []byte { + floats := v.Convert(sliceFloat64Type).Interface().([]float64) + return appendSliceFloat64(b, floats, flags) +} + +func appendSliceFloat64(b []byte, floats []float64, flags int) []byte { + if floats == nil { + return AppendNull(b, flags) + } + + quote := shouldQuoteArray(flags) + if quote { + b = append(b, '\'') + } + + b = append(b, '{') + for _, n := range floats { + b = appendFloat2(b, n, flags) + b = append(b, ',') + } + if len(floats) > 0 { + b[len(b)-1] = '}' // Replace trailing comma. + } else { + b = append(b, '}') + } + + if quote { + b = append(b, '\'') + } + + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/types/array_parser.go b/vendor/github.com/go-pg/pg/v10/types/array_parser.go new file mode 100644 index 000000000..0870a6568 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/array_parser.go @@ -0,0 +1,170 @@ +package types + +import ( + "bufio" + "bytes" + "errors" + "fmt" + "io" + + "github.com/go-pg/pg/v10/internal/parser" +) + +var errEndOfArray = errors.New("pg: end of array") + +type arrayParser struct { + p parser.StreamingParser + + stickyErr error + buf []byte +} + +func newArrayParserErr(err error) *arrayParser { + return &arrayParser{ + stickyErr: err, + buf: make([]byte, 32), + } +} + +func newArrayParser(rd Reader) *arrayParser { + p := parser.NewStreamingParser(rd) + err := p.SkipByte('{') + if err != nil { + return newArrayParserErr(err) + } + return &arrayParser{ + p: p, + } +} + +func (p *arrayParser) NextElem() ([]byte, error) { + if p.stickyErr != nil { + return nil, p.stickyErr + } + + c, err := p.p.ReadByte() + if err != nil { + if err == io.EOF { + return nil, errEndOfArray + } + return nil, err + } + + switch c { + case '"': + b, err := p.p.ReadSubstring(p.buf[:0]) + if err != nil { + return nil, err + } + p.buf = b + + err = p.readCommaBrace() + if err != nil { + return nil, err + } + + return b, nil + case '{': + b, err := p.readSubArray(p.buf[:0]) + if err != nil { + return nil, err + } + p.buf = b + + err = p.readCommaBrace() + if err != nil { + return nil, err + } + + return b, nil + case '}': + return nil, errEndOfArray + default: + err = p.p.UnreadByte() + if err != nil { + return nil, err + } + + b, err := p.readSimple(p.buf[:0]) + if err != nil { + return nil, err + } + p.buf = b + + if bytes.Equal(b, []byte("NULL")) { + return nil, nil + } + return b, nil + } +} + +func (p *arrayParser) readSimple(b []byte) ([]byte, error) { + for { + tmp, err := p.p.ReadSlice(',') + if err == nil { + b = append(b, tmp...) + b = b[:len(b)-1] + break + } + b = append(b, tmp...) + if err == bufio.ErrBufferFull { + continue + } + if err == io.EOF { + if b[len(b)-1] == '}' { + b = b[:len(b)-1] + break + } + } + return nil, err + } + return b, nil +} + +func (p *arrayParser) readSubArray(b []byte) ([]byte, error) { + b = append(b, '{') + for { + c, err := p.p.ReadByte() + if err != nil { + return nil, err + } + + if c == '}' { + b = append(b, '}') + return b, nil + } + + if c == '"' { + b = append(b, '"') + for { + tmp, err := p.p.ReadSlice('"') + b = append(b, tmp...) + if err != nil { + if err == bufio.ErrBufferFull { + continue + } + return nil, err + } + if len(b) > 1 && b[len(b)-2] != '\\' { + break + } + } + continue + } + + b = append(b, c) + } +} + +func (p *arrayParser) readCommaBrace() error { + c, err := p.p.ReadByte() + if err != nil { + return err + } + switch c { + case ',', '}': + return nil + default: + return fmt.Errorf("pg: got %q, wanted ',' or '}'", c) + } +} diff --git a/vendor/github.com/go-pg/pg/v10/types/array_scan.go b/vendor/github.com/go-pg/pg/v10/types/array_scan.go new file mode 100644 index 000000000..dbccafc06 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/array_scan.go @@ -0,0 +1,334 @@ +package types + +import ( + "fmt" + "reflect" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/internal/pool" +) + +var arrayValueScannerType = reflect.TypeOf((*ArrayValueScanner)(nil)).Elem() + +type ArrayValueScanner interface { + BeforeScanArrayValue(rd Reader, n int) error + ScanArrayValue(rd Reader, n int) error + AfterScanArrayValue() error +} + +func ArrayScanner(typ reflect.Type) ScannerFunc { + if typ.Implements(arrayValueScannerType) { + return scanArrayValueScannerValue + } + + kind := typ.Kind() + if kind == reflect.Ptr { + typ = typ.Elem() + kind = typ.Kind() + } + + switch kind { + case reflect.Slice, reflect.Array: + // ok: + default: + return nil + } + + elemType := typ.Elem() + + if kind == reflect.Slice { + switch elemType { + case stringType: + return scanStringArrayValue + case intType: + return scanIntArrayValue + case int64Type: + return scanInt64ArrayValue + case float64Type: + return scanFloat64ArrayValue + } + } + + scanElem := scanner(elemType, true) + return func(v reflect.Value, rd Reader, n int) error { + v = reflect.Indirect(v) + if !v.CanSet() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + + kind := v.Kind() + + if n == -1 { + if kind != reflect.Slice || !v.IsNil() { + v.Set(reflect.Zero(v.Type())) + } + return nil + } + + if kind == reflect.Slice { + if v.IsNil() { + v.Set(reflect.MakeSlice(v.Type(), 0, 0)) + } else if v.Len() > 0 { + v.Set(v.Slice(0, 0)) + } + } + + p := newArrayParser(rd) + nextValue := internal.MakeSliceNextElemFunc(v) + var elemRd *pool.BytesReader + + for { + elem, err := p.NextElem() + if err != nil { + if err == errEndOfArray { + break + } + return err + } + + if elemRd == nil { + elemRd = pool.NewBytesReader(elem) + } else { + elemRd.Reset(elem) + } + + var elemN int + if elem == nil { + elemN = -1 + } else { + elemN = len(elem) + } + + elemValue := nextValue() + err = scanElem(elemValue, elemRd, elemN) + if err != nil { + return err + } + } + + return nil + } +} + +func scanStringArrayValue(v reflect.Value, rd Reader, n int) error { + v = reflect.Indirect(v) + if !v.CanSet() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + + strings, err := scanStringArray(rd, n) + if err != nil { + return err + } + + v.Set(reflect.ValueOf(strings)) + return nil +} + +func scanStringArray(rd Reader, n int) ([]string, error) { + if n == -1 { + return nil, nil + } + + p := newArrayParser(rd) + slice := make([]string, 0) + for { + elem, err := p.NextElem() + if err != nil { + if err == errEndOfArray { + break + } + return nil, err + } + + slice = append(slice, string(elem)) + } + + return slice, nil +} + +func scanIntArrayValue(v reflect.Value, rd Reader, n int) error { + v = reflect.Indirect(v) + if !v.CanSet() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + + slice, err := decodeSliceInt(rd, n) + if err != nil { + return err + } + + v.Set(reflect.ValueOf(slice)) + return nil +} + +func decodeSliceInt(rd Reader, n int) ([]int, error) { + if n == -1 { + return nil, nil + } + + p := newArrayParser(rd) + slice := make([]int, 0) + for { + elem, err := p.NextElem() + if err != nil { + if err == errEndOfArray { + break + } + return nil, err + } + + if elem == nil { + slice = append(slice, 0) + continue + } + + n, err := internal.Atoi(elem) + if err != nil { + return nil, err + } + + slice = append(slice, n) + } + + return slice, nil +} + +func scanInt64ArrayValue(v reflect.Value, rd Reader, n int) error { + v = reflect.Indirect(v) + if !v.CanSet() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + + slice, err := scanInt64Array(rd, n) + if err != nil { + return err + } + + v.Set(reflect.ValueOf(slice)) + return nil +} + +func scanInt64Array(rd Reader, n int) ([]int64, error) { + if n == -1 { + return nil, nil + } + + p := newArrayParser(rd) + slice := make([]int64, 0) + for { + elem, err := p.NextElem() + if err != nil { + if err == errEndOfArray { + break + } + return nil, err + } + + if elem == nil { + slice = append(slice, 0) + continue + } + + n, err := internal.ParseInt(elem, 10, 64) + if err != nil { + return nil, err + } + + slice = append(slice, n) + } + + return slice, nil +} + +func scanFloat64ArrayValue(v reflect.Value, rd Reader, n int) error { + v = reflect.Indirect(v) + if !v.CanSet() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + + slice, err := scanFloat64Array(rd, n) + if err != nil { + return err + } + + v.Set(reflect.ValueOf(slice)) + return nil +} + +func scanFloat64Array(rd Reader, n int) ([]float64, error) { + if n == -1 { + return nil, nil + } + + p := newArrayParser(rd) + slice := make([]float64, 0) + for { + elem, err := p.NextElem() + if err != nil { + if err == errEndOfArray { + break + } + return nil, err + } + + if elem == nil { + slice = append(slice, 0) + continue + } + + n, err := internal.ParseFloat(elem, 64) + if err != nil { + return nil, err + } + + slice = append(slice, n) + } + + return slice, nil +} + +func scanArrayValueScannerValue(v reflect.Value, rd Reader, n int) error { + if n == -1 { + return nil + } + + scanner := v.Addr().Interface().(ArrayValueScanner) + + err := scanner.BeforeScanArrayValue(rd, n) + if err != nil { + return err + } + + p := newArrayParser(rd) + var elemRd *pool.BytesReader + for { + elem, err := p.NextElem() + if err != nil { + if err == errEndOfArray { + break + } + return err + } + + if elemRd == nil { + elemRd = pool.NewBytesReader(elem) + } else { + elemRd.Reset(elem) + } + + var elemN int + if elem == nil { + elemN = -1 + } else { + elemN = len(elem) + } + + err = scanner.ScanArrayValue(elemRd, elemN) + if err != nil { + return err + } + } + + return scanner.AfterScanArrayValue() +} diff --git a/vendor/github.com/go-pg/pg/v10/types/column.go b/vendor/github.com/go-pg/pg/v10/types/column.go new file mode 100644 index 000000000..e3470f3eb --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/column.go @@ -0,0 +1,113 @@ +package types + +import ( + "encoding/json" + + "github.com/go-pg/pg/v10/internal/pool" + "github.com/go-pg/pg/v10/pgjson" +) + +const ( + pgBool = 16 + + pgInt2 = 21 + pgInt4 = 23 + pgInt8 = 20 + + pgFloat4 = 700 + pgFloat8 = 701 + + pgText = 25 + pgVarchar = 1043 + pgBytea = 17 + pgJSON = 114 + pgJSONB = 3802 + + pgTimestamp = 1114 + pgTimestamptz = 1184 + + // pgInt2Array = 1005 + pgInt32Array = 1007 + pgInt8Array = 1016 + pgFloat8Array = 1022 + pgStringArray = 1009 + + pgUUID = 2950 +) + +type ColumnInfo = pool.ColumnInfo + +type RawValue struct { + Type int32 + Value string +} + +func (v RawValue) AppendValue(b []byte, flags int) ([]byte, error) { + return AppendString(b, v.Value, flags), nil +} + +func (v RawValue) MarshalJSON() ([]byte, error) { + return pgjson.Marshal(v.Value) +} + +func ReadColumnValue(col ColumnInfo, rd Reader, n int) (interface{}, error) { + switch col.DataType { + case pgBool: + return ScanBool(rd, n) + + case pgInt2: + n, err := scanInt64(rd, n, 16) + if err != nil { + return nil, err + } + return int16(n), nil + case pgInt4: + n, err := scanInt64(rd, n, 32) + if err != nil { + return nil, err + } + return int32(n), nil + case pgInt8: + return ScanInt64(rd, n) + + case pgFloat4: + return ScanFloat32(rd, n) + case pgFloat8: + return ScanFloat64(rd, n) + + case pgBytea: + return ScanBytes(rd, n) + case pgText, pgVarchar, pgUUID: + return ScanString(rd, n) + case pgJSON, pgJSONB: + s, err := ScanString(rd, n) + if err != nil { + return nil, err + } + return json.RawMessage(s), nil + + case pgTimestamp: + return ScanTime(rd, n) + case pgTimestamptz: + return ScanTime(rd, n) + + case pgInt32Array: + return scanInt64Array(rd, n) + case pgInt8Array: + return scanInt64Array(rd, n) + case pgFloat8Array: + return scanFloat64Array(rd, n) + case pgStringArray: + return scanStringArray(rd, n) + + default: + s, err := ScanString(rd, n) + if err != nil { + return nil, err + } + return RawValue{ + Type: col.DataType, + Value: s, + }, nil + } +} diff --git a/vendor/github.com/go-pg/pg/v10/types/doc.go b/vendor/github.com/go-pg/pg/v10/types/doc.go new file mode 100644 index 000000000..890ef3c08 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/doc.go @@ -0,0 +1,4 @@ +/* +The API in this package is not stable and may change without any notice. +*/ +package types diff --git a/vendor/github.com/go-pg/pg/v10/types/flags.go b/vendor/github.com/go-pg/pg/v10/types/flags.go new file mode 100644 index 000000000..10e415f14 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/flags.go @@ -0,0 +1,25 @@ +package types + +import "reflect" + +const ( + quoteFlag = 1 << iota + arrayFlag + subArrayFlag +) + +func hasFlag(flags, flag int) bool { + return flags&flag == flag +} + +func shouldQuoteArray(flags int) bool { + return hasFlag(flags, quoteFlag) && !hasFlag(flags, subArrayFlag) +} + +func nilable(v reflect.Value) bool { + switch v.Kind() { + case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return true + } + return false +} diff --git a/vendor/github.com/go-pg/pg/v10/types/hex.go b/vendor/github.com/go-pg/pg/v10/types/hex.go new file mode 100644 index 000000000..8ae6469b9 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/hex.go @@ -0,0 +1,81 @@ +package types + +import ( + "bytes" + "encoding/hex" + "fmt" + "io" + + fasthex "github.com/tmthrgd/go-hex" +) + +type HexEncoder struct { + b []byte + flags int + written bool +} + +func NewHexEncoder(b []byte, flags int) *HexEncoder { + return &HexEncoder{ + b: b, + flags: flags, + } +} + +func (enc *HexEncoder) Bytes() []byte { + return enc.b +} + +func (enc *HexEncoder) Write(b []byte) (int, error) { + if !enc.written { + if hasFlag(enc.flags, arrayFlag) { + enc.b = append(enc.b, `"\`...) + } else if hasFlag(enc.flags, quoteFlag) { + enc.b = append(enc.b, '\'') + } + enc.b = append(enc.b, `\x`...) + enc.written = true + } + + i := len(enc.b) + enc.b = append(enc.b, make([]byte, fasthex.EncodedLen(len(b)))...) + fasthex.Encode(enc.b[i:], b) + + return len(b), nil +} + +func (enc *HexEncoder) Close() error { + if enc.written { + if hasFlag(enc.flags, arrayFlag) { + enc.b = append(enc.b, '"') + } else if hasFlag(enc.flags, quoteFlag) { + enc.b = append(enc.b, '\'') + } + } else { + enc.b = AppendNull(enc.b, enc.flags) + } + return nil +} + +//------------------------------------------------------------------------------ + +func NewHexDecoder(rd Reader, n int) (io.Reader, error) { + if n <= 0 { + var rd bytes.Reader + return &rd, nil + } + + if c, err := rd.ReadByte(); err != nil { + return nil, err + } else if c != '\\' { + return nil, fmt.Errorf("got %q, wanted %q", c, '\\') + } + + if c, err := rd.ReadByte(); err != nil { + return nil, err + } else if c != 'x' { + return nil, fmt.Errorf("got %q, wanted %q", c, 'x') + } + + return hex.NewDecoder(rd), nil +} diff --git a/vendor/github.com/go-pg/pg/v10/types/hstore.go b/vendor/github.com/go-pg/pg/v10/types/hstore.go new file mode 100644 index 000000000..58c214ac6 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/hstore.go @@ -0,0 +1,59 @@ +package types + +import ( + "fmt" + "reflect" +) + +type Hstore struct { + v reflect.Value + + append AppenderFunc + scan ScannerFunc +} + +var ( + _ ValueAppender = (*Hstore)(nil) + _ ValueScanner = (*Hstore)(nil) +) + +func NewHstore(vi interface{}) *Hstore { + v := reflect.ValueOf(vi) + if !v.IsValid() { + panic(fmt.Errorf("pg.Hstore(nil)")) + } + + typ := v.Type() + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + } + if typ.Kind() != reflect.Map { + panic(fmt.Errorf("pg.Hstore(unsupported %s)", typ)) + } + + return &Hstore{ + v: v, + + append: HstoreAppender(typ), + scan: HstoreScanner(typ), + } +} + +func (h *Hstore) Value() interface{} { + if h.v.IsValid() { + return h.v.Interface() + } + return nil +} + +func (h *Hstore) AppendValue(b []byte, flags int) ([]byte, error) { + return h.append(b, h.v, flags), nil +} + +func (h *Hstore) ScanValue(rd Reader, n int) error { + if h.v.Kind() != reflect.Ptr { + return fmt.Errorf("pg: Hstore(non-pointer %s)", h.v.Type()) + } + + return h.scan(h.v.Elem(), rd, n) +} diff --git a/vendor/github.com/go-pg/pg/v10/types/hstore_append.go b/vendor/github.com/go-pg/pg/v10/types/hstore_append.go new file mode 100644 index 000000000..e27292afa --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/hstore_append.go @@ -0,0 +1,50 @@ +package types + +import ( + "fmt" + "reflect" +) + +var mapStringStringType = reflect.TypeOf(map[string]string(nil)) + +func HstoreAppender(typ reflect.Type) AppenderFunc { + if typ.Key() == stringType && typ.Elem() == stringType { + return appendMapStringStringValue + } + + return func(b []byte, v reflect.Value, flags int) []byte { + err := fmt.Errorf("pg.Hstore(unsupported %s)", v.Type()) + return AppendError(b, err) + } +} + +func appendMapStringString(b []byte, m map[string]string, flags int) []byte { + if m == nil { + return AppendNull(b, flags) + } + + if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + } + + for key, value := range m { + b = appendString2(b, key, flags) + b = append(b, '=', '>') + b = appendString2(b, value, flags) + b = append(b, ',') + } + if len(m) > 0 { + b = b[:len(b)-1] // Strip trailing comma. + } + + if hasFlag(flags, quoteFlag) { + b = append(b, '\'') + } + + return b +} + +func appendMapStringStringValue(b []byte, v reflect.Value, flags int) []byte { + m := v.Convert(mapStringStringType).Interface().(map[string]string) + return appendMapStringString(b, m, flags) +} diff --git a/vendor/github.com/go-pg/pg/v10/types/hstore_parser.go b/vendor/github.com/go-pg/pg/v10/types/hstore_parser.go new file mode 100644 index 000000000..79cd41eda --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/hstore_parser.go @@ -0,0 +1,65 @@ +package types + +import ( + "errors" + "io" + + "github.com/go-pg/pg/v10/internal/parser" +) + +var errEndOfHstore = errors.New("pg: end of hstore") + +type hstoreParser struct { + p parser.StreamingParser +} + +func newHstoreParser(rd Reader) *hstoreParser { + return &hstoreParser{ + p: parser.NewStreamingParser(rd), + } +} + +func (p *hstoreParser) NextKey() ([]byte, error) { + err := p.p.SkipByte('"') + if err != nil { + if err == io.EOF { + return nil, errEndOfHstore + } + return nil, err + } + + key, err := p.p.ReadSubstring(nil) + if err != nil { + return nil, err + } + + err = p.p.SkipByte('=') + if err != nil { + return nil, err + } + err = p.p.SkipByte('>') + if err != nil { + return nil, err + } + + return key, nil +} + +func (p *hstoreParser) NextValue() ([]byte, error) { + err := p.p.SkipByte('"') + if err != nil { + return nil, err + } + + value, err := p.p.ReadSubstring(nil) + if err != nil { + return nil, err + } + + err = p.p.SkipByte(',') + if err == nil { + _ = p.p.SkipByte(' ') + } + + return value, nil +} diff --git a/vendor/github.com/go-pg/pg/v10/types/hstore_scan.go b/vendor/github.com/go-pg/pg/v10/types/hstore_scan.go new file mode 100644 index 000000000..2061c6163 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/hstore_scan.go @@ -0,0 +1,51 @@ +package types + +import ( + "fmt" + "reflect" +) + +func HstoreScanner(typ reflect.Type) ScannerFunc { + if typ.Key() == stringType && typ.Elem() == stringType { + return scanMapStringStringValue + } + return func(v reflect.Value, rd Reader, n int) error { + return fmt.Errorf("pg.Hstore(unsupported %s)", v.Type()) + } +} + +func scanMapStringStringValue(v reflect.Value, rd Reader, n int) error { + m, err := scanMapStringString(rd, n) + if err != nil { + return err + } + + v.Set(reflect.ValueOf(m)) + return nil +} + +func scanMapStringString(rd Reader, n int) (map[string]string, error) { + if n == -1 { + return nil, nil + } + + p := newHstoreParser(rd) + m := make(map[string]string) + for { + key, err := p.NextKey() + if err != nil { + if err == errEndOfHstore { + break + } + return nil, err + } + + value, err := p.NextValue() + if err != nil { + return nil, err + } + + m[string(key)] = string(value) + } + return m, nil +} diff --git a/vendor/github.com/go-pg/pg/v10/types/in_op.go b/vendor/github.com/go-pg/pg/v10/types/in_op.go new file mode 100644 index 000000000..472b986d8 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/in_op.go @@ -0,0 +1,62 @@ +package types + +import ( + "fmt" + "reflect" +) + +type inOp struct { + slice reflect.Value + stickyErr error +} + +var _ ValueAppender = (*inOp)(nil) + +func InMulti(values ...interface{}) ValueAppender { + return &inOp{ + slice: reflect.ValueOf(values), + } +} + +func In(slice interface{}) ValueAppender { + v := reflect.ValueOf(slice) + if v.Kind() != reflect.Slice { + return &inOp{ + stickyErr: fmt.Errorf("pg: In(non-slice %T)", slice), + } + } + + return &inOp{ + slice: v, + } +} + +func (in *inOp) AppendValue(b []byte, flags int) ([]byte, error) { + if in.stickyErr != nil { + return nil, in.stickyErr + } + return appendIn(b, in.slice, flags), nil +} + +func appendIn(b []byte, slice reflect.Value, flags int) []byte { + sliceLen := slice.Len() + for i := 0; i < sliceLen; i++ { + if i > 0 { + b = append(b, ',') + } + + elem := slice.Index(i) + if elem.Kind() == reflect.Interface { + elem = elem.Elem() + } + + if elem.Kind() == reflect.Slice { + b = append(b, '(') + b = appendIn(b, elem, flags) + b = append(b, ')') + } else { + b = appendValue(b, elem, flags) + } + } + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/types/null_time.go b/vendor/github.com/go-pg/pg/v10/types/null_time.go new file mode 100644 index 000000000..3c3f1f79a --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/null_time.go @@ -0,0 +1,58 @@ +package types + +import ( + "bytes" + "database/sql" + "encoding/json" + "time" +) + +var jsonNull = []byte("null") + +// NullTime is a time.Time wrapper that marshals zero time as JSON null and +// PostgreSQL NULL. +type NullTime struct { + time.Time +} + +var ( + _ json.Marshaler = (*NullTime)(nil) + _ json.Unmarshaler = (*NullTime)(nil) + _ sql.Scanner = (*NullTime)(nil) + _ ValueAppender = (*NullTime)(nil) +) + +func (tm NullTime) MarshalJSON() ([]byte, error) { + if tm.IsZero() { + return jsonNull, nil + } + return tm.Time.MarshalJSON() +} + +func (tm *NullTime) UnmarshalJSON(b []byte) error { + if bytes.Equal(b, jsonNull) { + tm.Time = time.Time{} + return nil + } + return tm.Time.UnmarshalJSON(b) +} + +func (tm NullTime) AppendValue(b []byte, flags int) ([]byte, error) { + if tm.IsZero() { + return AppendNull(b, flags), nil + } + return AppendTime(b, tm.Time, flags), nil +} + +func (tm *NullTime) Scan(b interface{}) error { + if b == nil { + tm.Time = time.Time{} + return nil + } + newtm, err := ParseTime(b.([]byte)) + if err != nil { + return err + } + tm.Time = newtm + return nil +} diff --git a/vendor/github.com/go-pg/pg/v10/types/scan.go b/vendor/github.com/go-pg/pg/v10/types/scan.go new file mode 100644 index 000000000..2e9c0cc85 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/scan.go @@ -0,0 +1,244 @@ +package types + +import ( + "errors" + "fmt" + "reflect" + "time" + + "github.com/tmthrgd/go-hex" + + "github.com/go-pg/pg/v10/internal" +) + +func Scan(v interface{}, rd Reader, n int) error { + var err error + switch v := v.(type) { + case *string: + *v, err = ScanString(rd, n) + return err + case *[]byte: + *v, err = ScanBytes(rd, n) + return err + case *int: + *v, err = ScanInt(rd, n) + return err + case *int64: + *v, err = ScanInt64(rd, n) + return err + case *float32: + *v, err = ScanFloat32(rd, n) + return err + case *float64: + *v, err = ScanFloat64(rd, n) + return err + case *time.Time: + *v, err = ScanTime(rd, n) + return err + } + + vv := reflect.ValueOf(v) + if !vv.IsValid() { + return errors.New("pg: Scan(nil)") + } + + if vv.Kind() != reflect.Ptr { + return fmt.Errorf("pg: Scan(non-pointer %T)", v) + } + if vv.IsNil() { + return fmt.Errorf("pg: Scan(non-settable %T)", v) + } + + vv = vv.Elem() + if vv.Kind() == reflect.Interface { + if vv.IsNil() { + return errors.New("pg: Scan(nil)") + } + + vv = vv.Elem() + if vv.Kind() != reflect.Ptr { + return fmt.Errorf("pg: Decode(non-pointer %s)", vv.Type().String()) + } + } + + return ScanValue(vv, rd, n) +} + +func ScanString(rd Reader, n int) (string, error) { + if n <= 0 { + return "", nil + } + + b, err := rd.ReadFull() + if err != nil { + return "", err + } + + return internal.BytesToString(b), nil +} + +func ScanBytes(rd Reader, n int) ([]byte, error) { + if n == -1 { + return nil, nil + } + if n == 0 { + return []byte{}, nil + } + + b := make([]byte, hex.DecodedLen(n-2)) + if err := ReadBytes(rd, b); err != nil { + return nil, err + } + return b, nil +} + +func ReadBytes(rd Reader, b []byte) error { + tmp, err := rd.ReadFullTemp() + if err != nil { + return err + } + + if len(tmp) < 2 { + return fmt.Errorf("pg: can't parse bytea: %q", tmp) + } + + if tmp[0] != '\\' || tmp[1] != 'x' { + return fmt.Errorf("pg: can't parse bytea: %q", tmp) + } + tmp = tmp[2:] // Trim off "\\x". + + if len(b) != hex.DecodedLen(len(tmp)) { + return fmt.Errorf("pg: too small buf to decode hex") + } + + if _, err := hex.Decode(b, tmp); err != nil { + return err + } + + return nil +} + +func ScanInt(rd Reader, n int) (int, error) { + if n <= 0 { + return 0, nil + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return 0, err + } + + num, err := internal.Atoi(tmp) + if err != nil { + return 0, err + } + + return num, nil +} + +func ScanInt64(rd Reader, n int) (int64, error) { + return scanInt64(rd, n, 64) +} + +func scanInt64(rd Reader, n int, bitSize int) (int64, error) { + if n <= 0 { + return 0, nil + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return 0, err + } + + num, err := internal.ParseInt(tmp, 10, bitSize) + if err != nil { + return 0, err + } + + return num, nil +} + +func ScanUint64(rd Reader, n int) (uint64, error) { + if n <= 0 { + return 0, nil + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return 0, err + } + + // PostgreSQL does not natively support uint64 - only int64. + // Be nice and accept negative int64. + if len(tmp) > 0 && tmp[0] == '-' { + num, err := internal.ParseInt(tmp, 10, 64) + if err != nil { + return 0, err + } + return uint64(num), nil + } + + num, err := internal.ParseUint(tmp, 10, 64) + if err != nil { + return 0, err + } + + return num, nil +} + +func ScanFloat32(rd Reader, n int) (float32, error) { + if n <= 0 { + return 0, nil + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return 0, err + } + + num, err := internal.ParseFloat(tmp, 32) + if err != nil { + return 0, err + } + + return float32(num), nil +} + +func ScanFloat64(rd Reader, n int) (float64, error) { + if n <= 0 { + return 0, nil + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return 0, err + } + + num, err := internal.ParseFloat(tmp, 64) + if err != nil { + return 0, err + } + + return num, nil +} + +func ScanTime(rd Reader, n int) (time.Time, error) { + if n <= 0 { + return time.Time{}, nil + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return time.Time{}, err + } + + return ParseTime(tmp) +} + +func ScanBool(rd Reader, n int) (bool, error) { + tmp, err := rd.ReadFullTemp() + if err != nil { + return false, err + } + return len(tmp) == 1 && (tmp[0] == 't' || tmp[0] == '1'), nil +} diff --git a/vendor/github.com/go-pg/pg/v10/types/scan_value.go b/vendor/github.com/go-pg/pg/v10/types/scan_value.go new file mode 100644 index 000000000..9f5a7bb6e --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/scan_value.go @@ -0,0 +1,418 @@ +package types + +import ( + "database/sql" + "encoding/json" + "errors" + "fmt" + "net" + "reflect" + "sync" + "time" + + "github.com/go-pg/pg/v10/internal" + "github.com/go-pg/pg/v10/pgjson" +) + +var ( + valueScannerType = reflect.TypeOf((*ValueScanner)(nil)).Elem() + sqlScannerType = reflect.TypeOf((*sql.Scanner)(nil)).Elem() + timeType = reflect.TypeOf((*time.Time)(nil)).Elem() + ipType = reflect.TypeOf((*net.IP)(nil)).Elem() + ipNetType = reflect.TypeOf((*net.IPNet)(nil)).Elem() + jsonRawMessageType = reflect.TypeOf((*json.RawMessage)(nil)).Elem() +) + +type ScannerFunc func(reflect.Value, Reader, int) error + +var valueScanners []ScannerFunc + +//nolint +func init() { + valueScanners = []ScannerFunc{ + reflect.Bool: scanBoolValue, + reflect.Int: scanInt64Value, + reflect.Int8: scanInt64Value, + reflect.Int16: scanInt64Value, + reflect.Int32: scanInt64Value, + reflect.Int64: scanInt64Value, + reflect.Uint: scanUint64Value, + reflect.Uint8: scanUint64Value, + reflect.Uint16: scanUint64Value, + reflect.Uint32: scanUint64Value, + reflect.Uint64: scanUint64Value, + reflect.Uintptr: nil, + reflect.Float32: scanFloat32Value, + reflect.Float64: scanFloat64Value, + reflect.Complex64: nil, + reflect.Complex128: nil, + reflect.Array: scanJSONValue, + reflect.Chan: nil, + reflect.Func: nil, + reflect.Interface: scanIfaceValue, + reflect.Map: scanJSONValue, + reflect.Ptr: nil, + reflect.Slice: scanJSONValue, + reflect.String: scanStringValue, + reflect.Struct: scanJSONValue, + reflect.UnsafePointer: nil, + } +} + +var scannersMap sync.Map + +// RegisterScanner registers an scanner func for the type. +// Expecting to be used only during initialization, it panics +// if there is already a registered scanner for the given type. +func RegisterScanner(value interface{}, fn ScannerFunc) { + registerScanner(reflect.TypeOf(value), fn) +} + +func registerScanner(typ reflect.Type, fn ScannerFunc) { + _, loaded := scannersMap.LoadOrStore(typ, fn) + if loaded { + err := fmt.Errorf("pg: scanner for the type=%s is already registered", + typ.String()) + panic(err) + } +} + +func Scanner(typ reflect.Type) ScannerFunc { + if v, ok := scannersMap.Load(typ); ok { + return v.(ScannerFunc) + } + fn := scanner(typ, false) + _, _ = scannersMap.LoadOrStore(typ, fn) + return fn +} + +func scanner(typ reflect.Type, pgArray bool) ScannerFunc { + switch typ { + case timeType: + return scanTimeValue + case ipType: + return scanIPValue + case ipNetType: + return scanIPNetValue + case jsonRawMessageType: + return scanJSONRawMessageValue + } + + if typ.Implements(valueScannerType) { + return scanValueScannerValue + } + if reflect.PtrTo(typ).Implements(valueScannerType) { + return scanValueScannerAddrValue + } + + if typ.Implements(sqlScannerType) { + return scanSQLScannerValue + } + if reflect.PtrTo(typ).Implements(sqlScannerType) { + return scanSQLScannerAddrValue + } + + kind := typ.Kind() + switch kind { + case reflect.Ptr: + return ptrScannerFunc(typ) + case reflect.Slice: + if typ.Elem().Kind() == reflect.Uint8 { + return scanBytesValue + } + if pgArray { + return ArrayScanner(typ) + } + case reflect.Array: + if typ.Elem().Kind() == reflect.Uint8 { + return scanArrayBytesValue + } + } + return valueScanners[kind] +} + +func ptrScannerFunc(typ reflect.Type) ScannerFunc { + scanner := Scanner(typ.Elem()) + return func(v reflect.Value, rd Reader, n int) error { + if scanner == nil { + return fmt.Errorf("pg: Scan(unsupported %s)", v.Type()) + } + + if n == -1 { + if v.IsNil() { + return nil + } + if !v.CanSet() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + v.Set(reflect.Zero(v.Type())) + return nil + } + + if v.IsNil() { + if !v.CanSet() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + v.Set(reflect.New(v.Type().Elem())) + } + + return scanner(v.Elem(), rd, n) + } +} + +func scanIfaceValue(v reflect.Value, rd Reader, n int) error { + if v.IsNil() { + return scanJSONValue(v, rd, n) + } + return ScanValue(v.Elem(), rd, n) +} + +func ScanValue(v reflect.Value, rd Reader, n int) error { + if !v.IsValid() { + return errors.New("pg: Scan(nil)") + } + + scanner := Scanner(v.Type()) + if scanner != nil { + return scanner(v, rd, n) + } + + if v.Kind() == reflect.Interface { + return errors.New("pg: Scan(nil)") + } + return fmt.Errorf("pg: Scan(unsupported %s)", v.Type()) +} + +func scanBoolValue(v reflect.Value, rd Reader, n int) error { + if n == -1 { + v.SetBool(false) + return nil + } + + flag, err := ScanBool(rd, n) + if err != nil { + return err + } + + v.SetBool(flag) + return nil +} + +func scanInt64Value(v reflect.Value, rd Reader, n int) error { + num, err := ScanInt64(rd, n) + if err != nil { + return err + } + + v.SetInt(num) + return nil +} + +func scanUint64Value(v reflect.Value, rd Reader, n int) error { + num, err := ScanUint64(rd, n) + if err != nil { + return err + } + + v.SetUint(num) + return nil +} + +func scanFloat32Value(v reflect.Value, rd Reader, n int) error { + num, err := ScanFloat32(rd, n) + if err != nil { + return err + } + + v.SetFloat(float64(num)) + return nil +} + +func scanFloat64Value(v reflect.Value, rd Reader, n int) error { + num, err := ScanFloat64(rd, n) + if err != nil { + return err + } + + v.SetFloat(num) + return nil +} + +func scanStringValue(v reflect.Value, rd Reader, n int) error { + s, err := ScanString(rd, n) + if err != nil { + return err + } + + v.SetString(s) + return nil +} + +func scanJSONValue(v reflect.Value, rd Reader, n int) error { + // Zero value so it works with SelectOrInsert. + // TODO: better handle slices + v.Set(reflect.New(v.Type()).Elem()) + + if n == -1 { + return nil + } + + dec := pgjson.NewDecoder(rd) + return dec.Decode(v.Addr().Interface()) +} + +func scanTimeValue(v reflect.Value, rd Reader, n int) error { + tm, err := ScanTime(rd, n) + if err != nil { + return err + } + + ptr := v.Addr().Interface().(*time.Time) + *ptr = tm + + return nil +} + +func scanIPValue(v reflect.Value, rd Reader, n int) error { + if n == -1 { + return nil + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return err + } + + ip := net.ParseIP(internal.BytesToString(tmp)) + if ip == nil { + return fmt.Errorf("pg: invalid ip=%q", tmp) + } + + ptr := v.Addr().Interface().(*net.IP) + *ptr = ip + + return nil +} + +var zeroIPNetValue = reflect.ValueOf(net.IPNet{}) + +func scanIPNetValue(v reflect.Value, rd Reader, n int) error { + if n == -1 { + v.Set(zeroIPNetValue) + return nil + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return err + } + + _, ipnet, err := net.ParseCIDR(internal.BytesToString(tmp)) + if err != nil { + return err + } + + ptr := v.Addr().Interface().(*net.IPNet) + *ptr = *ipnet + + return nil +} + +func scanJSONRawMessageValue(v reflect.Value, rd Reader, n int) error { + if n == -1 { + v.SetBytes(nil) + return nil + } + + b, err := rd.ReadFull() + if err != nil { + return err + } + + v.SetBytes(b) + return nil +} + +func scanBytesValue(v reflect.Value, rd Reader, n int) error { + if n == -1 { + v.SetBytes(nil) + return nil + } + + b, err := ScanBytes(rd, n) + if err != nil { + return err + } + + v.SetBytes(b) + return nil +} + +func scanArrayBytesValue(v reflect.Value, rd Reader, n int) error { + b := v.Slice(0, v.Len()).Bytes() + + if n == -1 { + for i := range b { + b[i] = 0 + } + return nil + } + + return ReadBytes(rd, b) +} + +func scanValueScannerValue(v reflect.Value, rd Reader, n int) error { + if n == -1 { + if v.IsNil() { + return nil + } + return v.Interface().(ValueScanner).ScanValue(rd, n) + } + + if v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + + return v.Interface().(ValueScanner).ScanValue(rd, n) +} + +func scanValueScannerAddrValue(v reflect.Value, rd Reader, n int) error { + if !v.CanAddr() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + return v.Addr().Interface().(ValueScanner).ScanValue(rd, n) +} + +func scanSQLScannerValue(v reflect.Value, rd Reader, n int) error { + if n == -1 { + if nilable(v) && v.IsNil() { + return nil + } + return scanSQLScanner(v.Interface().(sql.Scanner), rd, n) + } + + if nilable(v) && v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + + return scanSQLScanner(v.Interface().(sql.Scanner), rd, n) +} + +func scanSQLScannerAddrValue(v reflect.Value, rd Reader, n int) error { + if !v.CanAddr() { + return fmt.Errorf("pg: Scan(non-settable %s)", v.Type()) + } + return scanSQLScanner(v.Addr().Interface().(sql.Scanner), rd, n) +} + +func scanSQLScanner(scanner sql.Scanner, rd Reader, n int) error { + if n == -1 { + return scanner.Scan(nil) + } + + tmp, err := rd.ReadFullTemp() + if err != nil { + return err + } + return scanner.Scan(tmp) +} diff --git a/vendor/github.com/go-pg/pg/v10/types/time.go b/vendor/github.com/go-pg/pg/v10/types/time.go new file mode 100644 index 000000000..e68a7a19a --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/time.go @@ -0,0 +1,56 @@ +package types + +import ( + "time" + + "github.com/go-pg/pg/v10/internal" +) + +const ( + dateFormat = "2006-01-02" + timeFormat = "15:04:05.999999999" + timestampFormat = "2006-01-02 15:04:05.999999999" + timestamptzFormat = "2006-01-02 15:04:05.999999999-07:00:00" + timestamptzFormat2 = "2006-01-02 15:04:05.999999999-07:00" + timestamptzFormat3 = "2006-01-02 15:04:05.999999999-07" +) + +func ParseTime(b []byte) (time.Time, error) { + s := internal.BytesToString(b) + return ParseTimeString(s) +} + +func ParseTimeString(s string) (time.Time, error) { + switch l := len(s); { + case l <= len(timeFormat): + if s[2] == ':' { + return time.ParseInLocation(timeFormat, s, time.UTC) + } + return time.ParseInLocation(dateFormat, s, time.UTC) + default: + if s[10] == 'T' { + return time.Parse(time.RFC3339Nano, s) + } + if c := s[l-9]; c == '+' || c == '-' { + return time.Parse(timestamptzFormat, s) + } + if c := s[l-6]; c == '+' || c == '-' { + return time.Parse(timestamptzFormat2, s) + } + if c := s[l-3]; c == '+' || c == '-' { + return time.Parse(timestamptzFormat3, s) + } + return time.ParseInLocation(timestampFormat, s, time.UTC) + } +} + +func AppendTime(b []byte, tm time.Time, flags int) []byte { + if flags == 1 { + b = append(b, '\'') + } + b = tm.UTC().AppendFormat(b, timestamptzFormat) + if flags == 1 { + b = append(b, '\'') + } + return b +} diff --git a/vendor/github.com/go-pg/pg/v10/types/types.go b/vendor/github.com/go-pg/pg/v10/types/types.go new file mode 100644 index 000000000..718ac2933 --- /dev/null +++ b/vendor/github.com/go-pg/pg/v10/types/types.go @@ -0,0 +1,37 @@ +package types + +import ( + "github.com/go-pg/pg/v10/internal/pool" +) + +type Reader = pool.Reader + +type ValueScanner interface { + ScanValue(rd Reader, n int) error +} + +type ValueAppender interface { + AppendValue(b []byte, flags int) ([]byte, error) +} + +//------------------------------------------------------------------------------ + +// Safe represents a safe SQL query. +type Safe string + +var _ ValueAppender = (*Safe)(nil) + +func (q Safe) AppendValue(b []byte, flags int) ([]byte, error) { + return append(b, q...), nil +} + +//------------------------------------------------------------------------------ + +// Ident represents a SQL identifier, e.g. table or column name. +type Ident string + +var _ ValueAppender = (*Ident)(nil) + +func (f Ident) AppendValue(b []byte, flags int) ([]byte, error) { + return AppendIdent(b, string(f), flags), nil +} diff --git a/vendor/github.com/go-pg/zerochecker/LICENSE b/vendor/github.com/go-pg/zerochecker/LICENSE new file mode 100644 index 000000000..7751509b8 --- /dev/null +++ b/vendor/github.com/go-pg/zerochecker/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2013 github.com/go-pg/pg 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. + +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/go-pg/zerochecker/go.mod b/vendor/github.com/go-pg/zerochecker/go.mod new file mode 100644 index 000000000..f01e8a9f4 --- /dev/null +++ b/vendor/github.com/go-pg/zerochecker/go.mod @@ -0,0 +1,3 @@ +module github.com/go-pg/zerochecker + +go 1.13 diff --git a/vendor/github.com/go-pg/zerochecker/zerochecker.go b/vendor/github.com/go-pg/zerochecker/zerochecker.go new file mode 100644 index 000000000..61bd207c9 --- /dev/null +++ b/vendor/github.com/go-pg/zerochecker/zerochecker.go @@ -0,0 +1,126 @@ +package zerochecker + +import ( + "database/sql/driver" + "reflect" +) + +var driverValuerType = reflect.TypeOf((*driver.Valuer)(nil)).Elem() +var appenderType = reflect.TypeOf((*valueAppender)(nil)).Elem() +var isZeroerType = reflect.TypeOf((*isZeroer)(nil)).Elem() + +type isZeroer interface { + IsZero() bool +} + +type valueAppender interface { + AppendValue(b []byte, flags int) ([]byte, error) +} + +type Func func(reflect.Value) bool + +func Checker(typ reflect.Type) Func { + if typ.Implements(isZeroerType) { + return isZeroInterface + } + + switch typ.Kind() { + case reflect.Array: + if typ.Elem().Kind() == reflect.Uint8 { + return isZeroBytes + } + return isZeroLen + case reflect.String: + return isZeroLen + case reflect.Bool: + return isZeroBool + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return isZeroInt + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return isZeroUint + case reflect.Float32, reflect.Float64: + return isZeroFloat + case reflect.Interface, reflect.Ptr, reflect.Slice, reflect.Map: + return isNil + } + + if typ.Implements(appenderType) { + return isZeroAppenderValue + } + if typ.Implements(driverValuerType) { + return isZeroDriverValue + } + + return isZeroFalse +} + +func isZeroInterface(v reflect.Value) bool { + if v.Kind() == reflect.Ptr && v.IsNil() { + return true + } + return v.Interface().(isZeroer).IsZero() +} + +func isZeroAppenderValue(v reflect.Value) bool { + if v.Kind() == reflect.Ptr { + return v.IsNil() + } + + appender := v.Interface().(valueAppender) + value, err := appender.AppendValue(nil, 0) + if err != nil { + return false + } + return value == nil +} + +func isZeroDriverValue(v reflect.Value) bool { + if v.Kind() == reflect.Ptr { + return v.IsNil() + } + + valuer := v.Interface().(driver.Valuer) + value, err := valuer.Value() + if err != nil { + return false + } + return value == nil +} + +func isZeroLen(v reflect.Value) bool { + return v.Len() == 0 +} + +func isNil(v reflect.Value) bool { + return v.IsNil() +} + +func isZeroBool(v reflect.Value) bool { + return !v.Bool() +} + +func isZeroInt(v reflect.Value) bool { + return v.Int() == 0 +} + +func isZeroUint(v reflect.Value) bool { + return v.Uint() == 0 +} + +func isZeroFloat(v reflect.Value) bool { + return v.Float() == 0 +} + +func isZeroBytes(v reflect.Value) bool { + b := v.Slice(0, v.Len()).Bytes() + for _, c := range b { + if c != 0 { + return false + } + } + return true +} + +func isZeroFalse(v reflect.Value) bool { + return false +} diff --git a/vendor/github.com/go-playground/locales/.gitignore b/vendor/github.com/go-playground/locales/.gitignore new file mode 100644 index 000000000..daf913b1b --- /dev/null +++ b/vendor/github.com/go-playground/locales/.gitignore @@ -0,0 +1,24 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof diff --git a/vendor/github.com/go-playground/locales/.travis.yml b/vendor/github.com/go-playground/locales/.travis.yml new file mode 100644 index 000000000..d50237a60 --- /dev/null +++ b/vendor/github.com/go-playground/locales/.travis.yml @@ -0,0 +1,26 @@ +language: go +go: + - 1.13.1 + - tip +matrix: + allow_failures: + - go: tip + +notifications: + email: + recipients: dean.karn@gmail.com + on_success: change + on_failure: always + +before_install: + - go install github.com/mattn/goveralls + +# Only clone the most recent commit. +git: + depth: 1 + +script: + - go test -v -race -covermode=atomic -coverprofile=coverage.coverprofile ./... + +after_success: | + goveralls -coverprofile=coverage.coverprofile -service travis-ci -repotoken $COVERALLS_TOKEN \ No newline at end of file diff --git a/vendor/github.com/go-playground/locales/LICENSE b/vendor/github.com/go-playground/locales/LICENSE new file mode 100644 index 000000000..75854ac4f --- /dev/null +++ b/vendor/github.com/go-playground/locales/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Go Playground + +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/go-playground/locales/README.md b/vendor/github.com/go-playground/locales/README.md new file mode 100644 index 000000000..ba1b0680c --- /dev/null +++ b/vendor/github.com/go-playground/locales/README.md @@ -0,0 +1,172 @@ +## locales +![Project status](https://img.shields.io/badge/version-0.13.0-green.svg) +[![Build Status](https://travis-ci.org/go-playground/locales.svg?branch=master)](https://travis-ci.org/go-playground/locales) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-playground/locales)](https://goreportcard.com/report/github.com/go-playground/locales) +[![GoDoc](https://godoc.org/github.com/go-playground/locales?status.svg)](https://godoc.org/github.com/go-playground/locales) +![License](https://img.shields.io/dub/l/vibe-d.svg) +[![Gitter](https://badges.gitter.im/go-playground/locales.svg)](https://gitter.im/go-playground/locales?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +Locales is a set of locales generated from the [Unicode CLDR Project](http://cldr.unicode.org/) which can be used independently or within +an i18n package; these were built for use with, but not exclusive to, [Universal Translator](https://github.com/go-playground/universal-translator). + +Features +-------- +- [x] Rules generated from the latest [CLDR](http://cldr.unicode.org/index/downloads) data, v31.0.1 +- [x] Contains Cardinal, Ordinal and Range Plural Rules +- [x] Contains Month, Weekday and Timezone translations built in +- [x] Contains Date & Time formatting functions +- [x] Contains Number, Currency, Accounting and Percent formatting functions +- [x] Supports the "Gregorian" calendar only ( my time isn't unlimited, had to draw the line somewhere ) + +Full Tests +-------------------- +I could sure use your help adding tests for every locale, it is a huge undertaking and I just don't have the free time to do it all at the moment; +any help would be **greatly appreciated!!!!** please see [issue](https://github.com/go-playground/locales/issues/1) for details. + +Installation +----------- + +Use go get + +```shell +go get github.com/go-playground/locales +``` + +NOTES +-------- +You'll notice most return types are []byte, this is because most of the time the results will be concatenated with a larger body +of text and can avoid some allocations if already appending to a byte array, otherwise just cast as string. + +Usage +------- +```go +package main + +import ( + "fmt" + "time" + + "github.com/go-playground/locales/currency" + "github.com/go-playground/locales/en_CA" +) + +func main() { + + loc, _ := time.LoadLocation("America/Toronto") + datetime := time.Date(2016, 02, 03, 9, 0, 1, 0, loc) + + l := en_CA.New() + + // Dates + fmt.Println(l.FmtDateFull(datetime)) + fmt.Println(l.FmtDateLong(datetime)) + fmt.Println(l.FmtDateMedium(datetime)) + fmt.Println(l.FmtDateShort(datetime)) + + // Times + fmt.Println(l.FmtTimeFull(datetime)) + fmt.Println(l.FmtTimeLong(datetime)) + fmt.Println(l.FmtTimeMedium(datetime)) + fmt.Println(l.FmtTimeShort(datetime)) + + // Months Wide + fmt.Println(l.MonthWide(time.January)) + fmt.Println(l.MonthWide(time.February)) + fmt.Println(l.MonthWide(time.March)) + // ... + + // Months Abbreviated + fmt.Println(l.MonthAbbreviated(time.January)) + fmt.Println(l.MonthAbbreviated(time.February)) + fmt.Println(l.MonthAbbreviated(time.March)) + // ... + + // Months Narrow + fmt.Println(l.MonthNarrow(time.January)) + fmt.Println(l.MonthNarrow(time.February)) + fmt.Println(l.MonthNarrow(time.March)) + // ... + + // Weekdays Wide + fmt.Println(l.WeekdayWide(time.Sunday)) + fmt.Println(l.WeekdayWide(time.Monday)) + fmt.Println(l.WeekdayWide(time.Tuesday)) + // ... + + // Weekdays Abbreviated + fmt.Println(l.WeekdayAbbreviated(time.Sunday)) + fmt.Println(l.WeekdayAbbreviated(time.Monday)) + fmt.Println(l.WeekdayAbbreviated(time.Tuesday)) + // ... + + // Weekdays Short + fmt.Println(l.WeekdayShort(time.Sunday)) + fmt.Println(l.WeekdayShort(time.Monday)) + fmt.Println(l.WeekdayShort(time.Tuesday)) + // ... + + // Weekdays Narrow + fmt.Println(l.WeekdayNarrow(time.Sunday)) + fmt.Println(l.WeekdayNarrow(time.Monday)) + fmt.Println(l.WeekdayNarrow(time.Tuesday)) + // ... + + var f64 float64 + + f64 = -10356.4523 + + // Number + fmt.Println(l.FmtNumber(f64, 2)) + + // Currency + fmt.Println(l.FmtCurrency(f64, 2, currency.CAD)) + fmt.Println(l.FmtCurrency(f64, 2, currency.USD)) + + // Accounting + fmt.Println(l.FmtAccounting(f64, 2, currency.CAD)) + fmt.Println(l.FmtAccounting(f64, 2, currency.USD)) + + f64 = 78.12 + + // Percent + fmt.Println(l.FmtPercent(f64, 0)) + + // Plural Rules for locale, so you know what rules you must cover + fmt.Println(l.PluralsCardinal()) + fmt.Println(l.PluralsOrdinal()) + + // Cardinal Plural Rules + fmt.Println(l.CardinalPluralRule(1, 0)) + fmt.Println(l.CardinalPluralRule(1.0, 0)) + fmt.Println(l.CardinalPluralRule(1.0, 1)) + fmt.Println(l.CardinalPluralRule(3, 0)) + + // Ordinal Plural Rules + fmt.Println(l.OrdinalPluralRule(21, 0)) // 21st + fmt.Println(l.OrdinalPluralRule(22, 0)) // 22nd + fmt.Println(l.OrdinalPluralRule(33, 0)) // 33rd + fmt.Println(l.OrdinalPluralRule(34, 0)) // 34th + + // Range Plural Rules + fmt.Println(l.RangePluralRule(1, 0, 1, 0)) // 1-1 + fmt.Println(l.RangePluralRule(1, 0, 2, 0)) // 1-2 + fmt.Println(l.RangePluralRule(5, 0, 8, 0)) // 5-8 +} +``` + +NOTES: +------- +These rules were generated from the [Unicode CLDR Project](http://cldr.unicode.org/), if you encounter any issues +I strongly encourage contributing to the CLDR project to get the locale information corrected and the next time +these locales are regenerated the fix will come with. + +I do however realize that time constraints are often important and so there are two options: + +1. Create your own locale, copy, paste and modify, and ensure it complies with the `Translator` interface. +2. Add an exception in the locale generation code directly and once regenerated, fix will be in place. + +Please to not make fixes inside the locale files, they WILL get overwritten when the locales are regenerated. + +License +------ +Distributed under MIT License, please see license file in code for more details. diff --git a/vendor/github.com/go-playground/locales/currency/currency.go b/vendor/github.com/go-playground/locales/currency/currency.go new file mode 100644 index 000000000..cdaba596b --- /dev/null +++ b/vendor/github.com/go-playground/locales/currency/currency.go @@ -0,0 +1,308 @@ +package currency + +// Type is the currency type associated with the locales currency enum +type Type int + +// locale currencies +const ( + ADP Type = iota + AED + AFA + AFN + ALK + ALL + AMD + ANG + AOA + AOK + AON + AOR + ARA + ARL + ARM + ARP + ARS + ATS + AUD + AWG + AZM + AZN + BAD + BAM + BAN + BBD + BDT + BEC + BEF + BEL + BGL + BGM + BGN + BGO + BHD + BIF + BMD + BND + BOB + BOL + BOP + BOV + BRB + BRC + BRE + BRL + BRN + BRR + BRZ + BSD + BTN + BUK + BWP + BYB + BYN + BYR + BZD + CAD + CDF + CHE + CHF + CHW + CLE + CLF + CLP + CNH + CNX + CNY + COP + COU + CRC + CSD + CSK + CUC + CUP + CVE + CYP + CZK + DDM + DEM + DJF + DKK + DOP + DZD + ECS + ECV + EEK + EGP + ERN + ESA + ESB + ESP + ETB + EUR + FIM + FJD + FKP + FRF + GBP + GEK + GEL + GHC + GHS + GIP + GMD + GNF + GNS + GQE + GRD + GTQ + GWE + GWP + GYD + HKD + HNL + HRD + HRK + HTG + HUF + IDR + IEP + ILP + ILR + ILS + INR + IQD + IRR + ISJ + ISK + ITL + JMD + JOD + JPY + KES + KGS + KHR + KMF + KPW + KRH + KRO + KRW + KWD + KYD + KZT + LAK + LBP + LKR + LRD + LSL + LTL + LTT + LUC + LUF + LUL + LVL + LVR + LYD + MAD + MAF + MCF + MDC + MDL + MGA + MGF + MKD + MKN + MLF + MMK + MNT + MOP + MRO + MTL + MTP + MUR + MVP + MVR + MWK + MXN + MXP + MXV + MYR + MZE + MZM + MZN + NAD + NGN + NIC + NIO + NLG + NOK + NPR + NZD + OMR + PAB + PEI + PEN + PES + PGK + PHP + PKR + PLN + PLZ + PTE + PYG + QAR + RHD + ROL + RON + RSD + RUB + RUR + RWF + SAR + SBD + SCR + SDD + SDG + SDP + SEK + SGD + SHP + SIT + SKK + SLL + SOS + SRD + SRG + SSP + STD + STN + SUR + SVC + SYP + SZL + THB + TJR + TJS + TMM + TMT + TND + TOP + TPE + TRL + TRY + TTD + TWD + TZS + UAH + UAK + UGS + UGX + USD + USN + USS + UYI + UYP + UYU + UZS + VEB + VEF + VND + VNN + VUV + WST + XAF + XAG + XAU + XBA + XBB + XBC + XBD + XCD + XDR + XEU + XFO + XFU + XOF + XPD + XPF + XPT + XRE + XSU + XTS + XUA + XXX + YDD + YER + YUD + YUM + YUN + YUR + ZAL + ZAR + ZMK + ZMW + ZRN + ZRZ + ZWD + ZWL + ZWR +) diff --git a/vendor/github.com/go-playground/locales/go.mod b/vendor/github.com/go-playground/locales/go.mod new file mode 100644 index 000000000..34ab6f238 --- /dev/null +++ b/vendor/github.com/go-playground/locales/go.mod @@ -0,0 +1,5 @@ +module github.com/go-playground/locales + +go 1.13 + +require golang.org/x/text v0.3.2 diff --git a/vendor/github.com/go-playground/locales/go.sum b/vendor/github.com/go-playground/locales/go.sum new file mode 100644 index 000000000..63c9200f5 --- /dev/null +++ b/vendor/github.com/go-playground/locales/go.sum @@ -0,0 +1,3 @@ +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/vendor/github.com/go-playground/locales/logo.png b/vendor/github.com/go-playground/locales/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3038276e6873076ecd542099e95b25037b1c0c34 GIT binary patch literal 37360 zcmV(-K-|BHP)ysx*JK zMpBX=dbK}5gAy}y3R{{beYQe$t~_(EI9HY=983!yQ4BbH2t9fee6m7kr7b^x7%_4X zJ9`gfp(=T?K~s?>F>nbtbqz;?9&D*HLWLAVf)p1<2qIzzh`mlUaSo2aQfQ+xioj4u zi57RSK09+4J$n}=VG1>K6C+;`IdT#dKnQiRIYfOMa;!RRrZpi|42HT(K7kH5Z51D0 z2RV8bBU%zznI$e~3~;G9N{kpKWf73XRDQWdPL3KgZV)nR5J7tvJAVu-VG5JQScJDo zR+bL!Ta3IbT6ncoYNbC?j4!6pWoxTBl*n#=wPJ6nPG_V?T&y%kcr-zED1W(DRHZFT zhB7~qA6u3+V3JBCZ4gs{L}jKoF=`!luS|!&X@DUWZdUYba2WIU7L}XOvil!bU7wAXuO|PIN?OtwU_FF?ptGuGegAxjs8(G9yYG zg|%{%%2R#1JvUt~pwDwIP%5I+ft0_2vEYw`$yQ3QA)Db+A{7b_0054wNkl}YE}wrc9DS+rDCwcq-kLn z6*rr9Gievg)&9W#+|En4X(tdH=fj-$InQ~{3w3k;I<^V903k*-k%?L`+gy zD<80`%CcVCt7&b)>-AWo}M*k4L#h*SN=*WN=wOPGQCc(S19x{GH}}yZ*TGF ziK2LMaUoYPF2r$dT&q?u0Q}(MpEI#8)^7>wy*j~dU6yeGL|G)4Z!`D?6v$J?4GNiF zGNUM+N-|jqFSt^;^pX20u^KaC*wKL1)CJS$%Vk@iEmQRU!98y?czh5h263h#&UI8G~>;F&}3tQ$@xhmG@h5396##KW2c6&nD-->t* zzH&?cgu?c})WwUscng4f{a@;`oGHloVP3&K8 zYWaY-m3_Qz=Z77^NgMadOSSCt@E=Ps4GgQlTkY0kAe~EC|Lpg z0C`J&DPN2UyU7&Gu-tM7^CfvM>!_q$|F7zV-={;NRk*zX^&Xy|sN>Mfv~agPsrszZ zST{=H##(12j$1JtBfT5p%`HZ(R~kw8ecKQFg5WJ*x&2m`V}}Y*yZ+#L(7tQhrOc;? zl-q4QvB#(*`_Y3X_Vss0x8Fk3#a~Y$nt>$Qn2*D~V85{yB8iQ{r9&gU|I zev9S7uL8Gt)I|dF=Y>|QegWzPvP@{V3Nn!IR4VydvXh@BKI2xUMBh(6aBL~@%r!AuWVG?f=&mJDxzGOktCLsq`D9Be0N@V+ zw0ap7DLEZtMdX4AhRfVstkov-f;^PxlkxbXr%Y<&X1CewisGbJ`y`1>y^eD%RgLHX zYcVG7w{0ENyVVm($?-3NBx$ln5*EKMtyUbD4wv+JlvSVUD^3~+YL43}RqjpaZ>3ze_N$kOC+VOY{hW+5B@jP%seQ7^>9XbyLO_reD=`#sdf2i+$u9o?M zdc~#Q*=#JUW~0w|6Dzl8Ec<(uJGK{c1uP-ECFnFoEcE?p>b=X@zgJgrNs7N?y_(l62vH_2aOTu; zH1Wkuhrd?fG^jc{yVoI7S9+u_MCut_7!Id3v9PUUb&ldf@7>y_JFay%O|e@o7B~1R zR>f}jzhMAekSBme7+=8B<$4CP2M`qy9;PHYV6Jyi@gzzQxufnYeT4}(ia$$dqsPwU z5sO*J_umWFSAy&Qz_!oZ_MFx;KV|fIOpaJ^|IlRj`#mo`7L%L${sFWDr)GmSX15!x z-ju0rqgjo2_ERjgP*qK!X^q!LX;y>Hu?d|?f1KrU_f9eo=CJlH^$aSqrQQSef(+VI zC|ev?=iM66d@OdmUC?cIyVcDG)WLl$UUUh>iAb>R_igW2u?(N61L7?ic^SATn9E7n zNxqRMszu^JF zAl2kMNq7&8r$ZVW%4{j9Mn@?q+c73i$N&u<3-i9;kLlEE%cl5$T`V6CkTnyOJ+mDaOaDWQ*^ecn!U$EDGLmsW}B zARh3Q)rAo6JL!FggZ3F6jy>B;&&!jW5FMg-Pfri`&2I0*$r<%!@Z{{~#$u(6L5tIC z^ct$p<0cjz2bs`3+o&=gg zN0I9tG<<%Iswa`AOAJdUZZ^xs-z{*A5120pqimm1%e$$8lj2Rz-5n3_^+!xU`FD3; z?p{7vc6^8QYfHemZ=l>~d!hFs`#E}j$4Ogk{OLe2Q=08L;!#{n!QPLNUsaV8bX6T_ zoZeWG8?W;fL^?9qw}QvFOlz1NW~S4EBF|xQlOZ}B-97Er#?yIiJSVn3uGPB5yDgsX za>d8T9K^q@j<*wkQ>~J@2auzPFOmx}x0!EFdB9!yU9WwxvgjR&?#kfg)Re^ zU-wz6Z!-%j`#HxBkmxujd;G3VYpX;y0Xtz}E(t{V$~uW0lOc^)=|GS@GK+e7MHx=# z!*RE|?AE3ejI;Sv?ZxLMm2b0E0P-M#%6ch}d~Pk7{t#OF7gYEvW_6V_EC`1%sm z;p`;DqvO$3nU9KswqGY#rE*CRhZCi6Vg+4BzY4?O1Z^=|F|5~1w-IQ|ecyr0B;3%> z6NBS&$4u{pLhhSaJ04eT@6<#cQlX#RA=lns%xy$Iav8;|8b2CeW=l2{s^~`vfxD{}nt5yRf<*f`crJol5KDpU+ooq#9&8 zolytKS$vp#7S*yGSBhp|TzSfi1;>|pT8b=!z8&|j&*(e&+8TUqFrCtl8|%?a$FBL@ z{y>@BXE$djM^uFJTU_rioz{q{e5Fbf#|)xZ>^Gwk$Huc-c9m^sKiA@Euns4o_3#?h z5i=0rkge;=Umc~s?o7dWGHh16c;nOB7RtO!P^{%PB)h}wuHU|SgU1_E^|#l+Q}qdS zH#zt}!9}+!7OMbK0D7Km3rMzut~&X`M`exqrYM-~VVJwhgjJnk7U?*AzI_a9V$zJD zYHhE&WAk}!5pOwiZ;S039$dytin18|FPwW+$P$X}!sSCocO(=%2_8{qAMNLT)*Y5M ztEsG{FE zcd6Zz*ty+c+4me7W7MhL5el9=Tt?^XuMb_;vSwBV%E_{HLRF>yV3AH_j|HcTm^;>a zvC_jO>{*oxChK<3CbtTePO|dXP!_ATF7#edCex`hO``srW-Zsv6_-_5+@v|i8We%Y zyMIuG>bHs?7YPXYC-gp6qnLxi$pt8CqEy8~wN7FkrU^!Uudp5tkYr|StbYSr7gfDV zsM%*}B(Tv6Atx0*<3}nIIDfx$@1=y-X3vRdKeE41dk)V6r>|lW>)}zv|MC*Fy`WVDgB%|{yeSf>k=9~(Lk%M*Vv}w0f(3C@}$xW z=X;gp5Q-lcaybmN2}XLiG@bn1#U(Pt?#M*{@CI`K@ZrY~KmPdP15Q4?y(75}eD891 zC_7n)=49M0h?tLJO|BA$D3Dz}f!wJx7^$#1Y~R+{IWt^h(BQN*7k{Rg64=2xqpssD zn`W{H_xI(6YZSCPV+TC8tNs^9A%it&I(jN+PxAE94F2TRn(Smgm^H4&{6j33fOh zZjjt+-FdS%$#sj9&A8U=j_334usFvB82#hjhsQtOJig5p-xephIDsOb#>Knora0d; z5&SmI<#x`^b0pP@Q&HaT3K3^9*D>9aop88;9J?Or>4dJ6EzBUTMqjBY_GmR4Fe6FO z3~ldwf$o=IUERAW(~Wh{VsiKmmaF?;oDlu_3w%;_Zb7fRgLaG6Y~wF^?Tgs-~d>j&DCZN@>`>j_xTR{}t_f9U)W2S+R648V8hb{3Dmp813n?7e z6LF4tmd&OUt5Qilew8{x$Uy@An?-AlX{&(3EiElA<#AhfOL=T557!owu4yP~DebPa ztx)PswzAR!84X=8C4fe0x=1Ru)JJIjfz$+3Ov@v(L?jKOMvF@vC=8ABl}ra>#Kgob zYE1lL)E|Bqy)c%ACEK~@obP-O%4%vKqpYuMEaDb% z>Xe*wLNU)%FK*z7Jri6>qYAqoQ~6u3ywE}DD8MH{89OM0G^)dF;hsksFBVOkXtT0L zA)0_y?A`NfeW$BFX`cjk;gmBhQ?bvFCP#gkc*f;o0ClWv2_(_=U@$V0blZKCc3>Z- zBH*?Mrjtn*NIp28+w$lrc+K<-%I$&t#c9`?SWEITs|_o5YRdX)Clyr@1azy>;plKs zILBxE2xv?d84A5>{!r^s^r5BjTb85%_(J2Zgm{-@VQR0h$oiG zruagSqDUa91*Hjf5jbT!=~D(dN$Ax^u%=i_N2ScHLF4s8w)Nt}WP($HD+eob4+B3P z2EH?PEIFp0@qxWyt=$peI9dq>gRu@o0?Cm`BpwOQCWH9i=%n2qna56ySnw)tT9SZx z7W;3W%9&~C7}KMVF^|Hnz%@C&C$MdCP+=BOb8{&*LJl6^&o&ZZ4|lRKcdWUR5qED&dJGwX)i)6B?n$ zOosG;3l-6!Kd&dR7|)UkH5H9Iqee`1;=ypJmBx9KQkSgDkU6M&@Vi>>Nx#3cdf>G)y~J z&y#G)I3rK8{v8dNM(U#AD~htsQ86ORxE5|0tFhji;NKFrW=+J=$c#L1JJ;M3Mo_yeqOj zI*IXjLAHKtzljb9u;77UFc6Gj1l&oB<)$6oo{t240gG#7-W|uHxO+xnbWFQPvFn(8 z06vU5$U{urHQalQn-%>gb9(cFpCbKaOy_`aLnc}uni3iZLGy;BwGx#%B&?Pz`TT~< zFIEW7G%Cug1j7}YPEPZslA;&+91*slk5kMm7b`V6lCvX`*`#a40zeNW<2d^Ek(+jmJ02821OEzy2yukV2AJ!GIcxE4Ry$&BNVa08W#W3>t(6_>z^&514EIOeh48)L8Is~0v&gIH(NED?41y597-PtVe ztf&wb7hftBovGq@#uW{fb@gJ6a7rT=iAw}xLt+TXNf>nJ_2#p+1oW!jxIpLhY~ImD z)3g=0m8H?JDzsiy-{OUD>}momhezG8Bi!@ho?h3ew`JS6?XyoO?MX`{Ih#D(y!*>9 z+lTvccHUpd#|p+Dy$89$(8o`yZD0gi7RQifvXf1ZYH!*`dtl5$w6P=Kgt*4kqBS`k zZ87L|XlFX4PEgbw;V@nSjrSXf1d#yj8;QQY>e`_$saY=MD$1%SN@bU1&CUD<4__hV z);A6)J(s#KahiuakvBoOl!z)MwHkBvl!nWJ!}XfO2yB<)O8EN?dLu~@C>lNY(lkk7 z%>nDC$81b5fCsm>ZD!Jk+96JX>F(s=w?{|5h$UdRj7(eX(}C@~J3Bka`S;#<@4-$0 zs&(!CIG#W-fb9;T-S`X!lEL|TOC(^QwOb;}TLyyISCYV#&QNUdD#Y z8cn6pZ6c?m`rBi=tFajL1t5>Cl`71}b}+o5E}^8lt4sD`?W>%+@rl6-nShT&4y3zu z8==dP>3Wy1BO2Ja{(tAGGVi5@LkIAJwZ<;7?X>ZyThF6J~`Y z)dCX%APghL<^pjCuKBRackk|hcl*w*Z@=B1Y#ROVdfolx?VXeNj^BImX<_HkJrc05 zj6_zF$ys;A9uG$1zIf2h-uU^X9kUJ%=Y~_m(xIEDwiTcqN6i|B)e9EEdXumwL8`1& zMpfH^;0e_3JWWwVDArE2OAW1aF%rh2G&ZEFl#M;DktuGJb$6dB@|-KL@Kn@^M9re{ zhQ2{g5qM3txY(o6C^cf4CS(u*89P+chm7aXN)cmGdP*JDJM<|%kEnDhfBfDX$0tW? zAoA>p2jW0=7V%I26rcSc=fUTpc+l`3#xgzGV?*%LG};1-3g@H=8*c-DhDDXIB6tJT zr5tkcWhiB#^XZIIm1NVpA^G9I5_BDio#spM7E7oU-V+LUlO z4fsyEh|j4W6I6>PM6!tv%1n_lIQmi&c7>6|9Ca9}s2ai{ipE?0aO7Z*GreB;q7}Kubavrj@AubsZ=XzW9AwkkEC&9KH}c1afW4b6*s)YD zhzARg)~`io0r_Y>i}1b~@L*74Bok~L#RinfAsDTdZgXPfuCWdqal^+`jaeh0fc2EuRfs}21N(Wucufk-eWo4VJO@TRbITCj|;iwPI3 z1%1Yu%S>+Uj_#b?-A|{dJj<)ku0H$4Zl-X1=iueT&4a0Qb}4_nxpU{>zRwbAdjF<< z#WKHQ58~KI;_j8Wdln22EEd`Ybk;qCgE(Vx2Uwi%VY4XQ&o){M|Jww}ga41D8AfPS z?I8TRJ~BpuZRphiB&omMIA}Ds8;H;i5Lu+{;Ka8 zjzHW{*EtRfFB|KtmGEwu`yh75Nb^Gp74AB28zK&*j9pPZ%7bJ@@?b*5*6VF)Q!{j1 zrjWUp$=qZ1!h0^)^ufu4^won0X|z54$mY8{yE~t}a_9bsZ|~g7ZebR_Iyzcgiv%od zcaKu8;0m!87n4#^Z#FKMQfWtRskx*I$t7X%HQl4ee4k?0&e z=jqeVA`sR->zDR%cc6xa!o83J4WaIv= z{lK4_CvT$6wfO%!W{v%f2UphcLfC<~!^gFQ9AVd4mlB>&3+5|)&BSD)pGK6meIzMVeKuIEwv`uggJnf^Ohf13E{t)+ba?R@_D_&E3A)6YNu z^ysf&e*Ja-@XcUwWn?A(=IqFdeFdLEh?*oT)+27;G<=(x86f;=BnSLtv>3QV8w%H+ zhS|tl;Y{Msbd=PO>4$0_A}KXqfjUNz{&tn>s+15Cp{^G>!m)|2nu!<7#v7h~y1t}@ zgIzBwI#=H~F)+Ys7}xN)-P~#cU(A**htCpJGhxb^JvD-(;$%ZrQ4 zi_7cl>)HI$`X`4=U*>N^qOQ$Dy{)kpWn>KxJM1GEe0*giNtE0(ZFeEBvuW|dZB{1S zW`j3ysvg*c4_${NONQp=q;SVCrocl~p^!?alU})qyDl}io8dRr+z@k1U*ai;i_cUP z^AwGB^^GNEobK*tlurZUmG#XR_`C|vm|Q9y>{6A14n9m0=hcMKK^sxOns(03MF}Iq zCMOMp4C2KG-N<-p#u3eAavO!rwM?N<$lUt=+uM7)Ki#_XRXV-y`QejyKYM<4@fDQ4 zwY8OAPN&n^d_JGu-vG|<2iPmdmdS267~Rpz>8>BHS?qyP-@MB`13y#S(*oK69Tdic zFQ%}~i_5OH0`Gu&=sK-tX{?HN_#Gr9y2{)N8QX3oC>g| zXU$OB6#RcscMw^Kv*~O17!*%$4sSn5uWzm2`tIvzpMB-o)yEfC zS5f@(@_KrG=}X+UU-EC{ckGr~cYMSi4bSp6msiLj;2dNjDu$sapwhfG|r#9TaG%npBZ&Y*wR__7PL^>hj{! zhSJLC#F_~K`?Cb1649CKGA>W^Dn~F;<|(Z&;_&32b|L?&+{`hD&N})jI)!MX7MB9v zR3?{!M5FiFNgC)>ByvrE|@PjEy=b-Tkq=Zw-B>wiqn3eAY9GuJ=o(q0QQg?kxmfzA}X_tOpOcW>u!zq_>b<9Ej= z7Z0|+$A+(>7``SsB%8%S6Mug<@ z_U9@EFYy)QV*D)4_2>9iMUC~B&+v=OMM{oLSrRVcs=E3IjZ#=mB^Nc-+X^+f;%C7}i4*&k=@UQ!y7VZb!M;2H&tOT;d zwMPWun}j;R#Ggt87z6!nY_{I(@M>WRTQTe@u-SzaITqDjA+8{EBM`W%DN03v>$DGP zifYEMOpS9C7rKjh`~gKV3WZ=99;hm+;*^x*qhU-bn;N?!mlV~6Zs_}U3u*{Kf1g8Y zq;pmr5gNr)>`zieO;)XyO@7pLKdsJWG8;hn%*Izge3X0b?caV#FMsq00PWqomS2C} z+xbGXzP069U*BTez78Ubw&$~7qI4v2kSKQh2nIe7S-E>}XXCHKjeQ^%@n(GN~bst8Gk zv^}ON<(3z7J={vqAV(uB?<{{+R54s!RD8MnOgX1iQzkA`@I1V+=7(idax=-rt|zDj zJh*yJoj9WS#cr^YO)|G@n$Hd23R`dQppMU!KCx7lAjU0~Lv><~( zR)y4#fw}FPoUC%e?Fg^z+?p<}J=66#)ITdnb`Ybn|1SX6^|F z&1eSc=uzx}EzriYEwckj;no(|Elv)0PS#iq2J7g)*=n=vW(p~)kVGnWb#Wv6F%bd$ zL69v(G6ly$BNz&S4>b;g4Vqg3OqO|ZVwhnD1^PIVIbg8Uq%2<6ESr_LUMzQMhA&<; z)Xpoq+9Ao|YQF{-9GKxzyYJk1xGO0Q07&TG`2bdNVU1f_U+P?6`l_Kd79t@Yc&Icu zD7M*H4$R%_dFry)->(J86Uv+rQ1}ReP!JKs1Vzhn;K0ctArSPA36XVd#!f=APZ%wj z%%U>@qpM>uf?baWM&Yunu|TzziGgJ`PGTbb~05fO#S>Cx;DFzWV-e>SdLCJx8S}7zx{Zv{UQYY#S7-kNwt?-Tcxc@T!3r2Qs8377nzGH zE}xqZ#SaEJ2zbD;fq{At;{A10mGp5?Z9qgk;6j`a(4G!`4L**?F`=2EkOD&gjF6d1 zW`s0>XgGus$)eK=pj;(0QbdemLap=wn;Qu>uAAbmzLy_ODPtXjj z2lIsT1+B1C|4=caxpjATJ>o-Cd)I{@Z~f=>c3535La-0az;#tS-t&?Vg}s4`f>aV2 zd~A%bk3-})yi(XCC7~Q7%2Jodmx16euPg}I*0LZ7`~Xx?0dfXF$38%nb7a3LpWMP^ zeB6lw@^Q%e$T~k_fe$S*B!n1=_uI3V;ep#^>w>p;am3nStT65XKSz7)b)sUeQyi%n zM^f@$yq6``$>bqgGPJ9KL|34T?Z$8jBLp*nNlsvcCK5J+gph;~IzmMJ{MeBRad|LE z!NN;c9ut|O7`J%~u;~JdyF4XJjCU*y*3OG0J z44B5#e#xn9h)t8kN?T>XNz^XQgVUuFAf?cmJ|FnF%CDf@)h0n#Q%~z^UoXpp?p_-Z zP%D707NPw5p*%#a;bN; z2Tsue6a{-7FwR?TtZWWYx42_0tSDRdkQ{+w##p!(6xK!hve^fjG#WdM+!PnVgdhhk zE=Lr~q0>U?en>>X#|e2bO~URRFlKtNYSac9mSf{P7ss_P=3XqkP|n?6n=%HdYv)Zc z&p^Q6ZHIa0;dZ(b>F&mOZZkQrn$Z-#l9Fvq2PU7!x+xN z082&|oIuENO)P{(rW2Z=)FT`=B80IHA_2-CCn16W%4A_)xoJ-QXPa?;_K{9#?C&2m zDM!@mGPQ9eZR}C}eWSu)FkQRVbqgB%H7IizFW!Km2Cj833PATr_zk0A?x>V21vnaI zX29pL$w0}^IW&LhP-|XVUfKK$W4lf+hg}`+k89ugEl9nn))s$_y<2~7QXfN)D&!Qh zXe)_?( z<V}u8invj{s)^GKhDyeJdBx z15F*R@B2SBSw0!c}C!c-R)*O|2u#nh76OfxS zKncajV1S;c7*9$8B{bE^!`ssX>tt1eLQEk(^&sYU^*>3Jn61DZ}9 zP+MlWV3OwvBg8BO5{{W5H1~EDUAlDFtK*V)J@2HFUV8Z0;ZK{7eH#1H_liA`2kj*$5(lN6!%o1&CjZsBdUisW9tJ3Sp4k zJZLTtFqx-;cbK0q4;ULe0u0&5dAgv5T-4`x1_sbbpMimOVBqg*zN`mwy&+%Hlk=6V zb=PR6Od?gG7vwr9OQD^k;@a}Xua_a%KN#$kqet9n)=YU<)x*xs%jTV|xqZDQ{a8%Q zCvDdcx3#n!ON?obilGq;X{^FTRn zt*g9KFk9?NR*s%nU#f4lH6WONb#9R-SSOGs;93aq5a=9)AZGgsLy=H2!Uj|_4i+_3 zyCgg=pDpgXq*R;`Bjw^w+2g_?kHdOY!tmEXg}xjM^zGuOvUF*xKQACC4rpu(2*p=)S?{h?nJ~wwmd|x&@A_M z@h$~=dKMMce>XHYH`m|acDR4I?|O?*>0w&iXKlw~XrC6x96MZ?OLQTVLDwBd!5_{2 z+{MNx%_6!G>F=ojwEixyKK!m{RsG44{)(Ch=O^c;e)j)<>a)Yw zzwj%LE=?uwtWIVGlM16^aG8uuP_*x1WRP5O7^-b<(Wlu(MbUPE+1OfJVh&h=JQzo! zI1_Q3DVsLgSl}66j7WD;=s}?$S-cy80-8+ch&XVIL_$si1Og)D2z>-dZ~}Q}gudOS z{YC!;=wbbGwMO6f$MWLF!zUv*^b3aRq_o%5)MaV%TD9TEjVBK$z}XWMPr&V3fMaC& zNitQXET?ibsZw%?4@3kXjd%$<&8M|WVQ~XgB2I0b)j^zh4yp}Cn*GdE&~LRUd`SPow+4*`|gHqVR$=w@X_Oi6YY;hr3xNXL}?J20+TtEm8CF9r}LIQyWdSD+i^Z0Ip zh{57;(m5glB7lk?3Fx~R+MNDz;B949efHFprWaApu8fS_U!ttNxUgoJrH{9M1;ASD zduj0_7w$Zqm;tX(47^(0))&SvOY1*=Z`|{2R?cLsS~_jt?qF?+-R!Z|0fR}gx3Tnc zv87N*pfJV|8L6R7VJ8w`M@6-1AqdnqA5mgd-(kJEH(eAeM1&%=u?g60(a-&6^KyOk zvHF!+Jx8Hgm^IFuW(^O~QGMDlAOCJ6=x5$BXu;plC*bR0+`z=ZlZ7YaGPJ6rxjmZC zg^y84dQ~MLRg%$GZi9qd2@F*HSnc%MoI)o?Ezg(8%F04K_N|aa|M~KJ;lYU8V4JjbM8Sq z+i-V}Dy#5p=V&UZrl|I|7%I-5LUE!{d~p=Q9yTDmO$F#{B_~d>VUUdo>J$k2MkeRx z^u5xZ@*Ti3&@*a zn0|s*Hz;#Z-Pz+y@BS^7E?wsLr1b!umQ>jQaC919C6Tp$wXyM6Qa-4pK`sgFTAyxM zqf20m&9gk7VRCZy%%A&tHDB(p0JF3FOWr6c>4vkdySt?1_n%I`QF1yftK0uf$-UdR z=lW8EiK&q5(AbaeVK` zwXdsdVu25fLlEv3!bS}1Famw8RI$8r?%cUajY6R?r^6g4>>GO8JEdRg{rTtBOT2Hx zr(Q%1z9>|xwZ^rzsc|JBuWREV2~r;#n;+LgVMjy$`OMWDzb$QyFC=lf@4+bZOa}gj zI9Ewqfp<}D{GooN|4X{7^<_Rlv6ti1?rV*Z>|(`QJ#Tf2cmCA9Q~OV!^4||9YoGrc zZ)}5m8$5xMH_mP=DLGqm<;vOan>YP$-aOM`rqL69`byK&n~RGB1E~&FFDlj1+SwO4 zCwLjc*4fU%5>OkAGsa@eQ5$Q##byegQHLj!@u6fIA(Vx#f=3YsEkV$Su=M(>qAFh1 z$#ds;9V`6`p+dR5I<>qyq*U}j=(yC;vGREJk-}is=+flI1%pw$b_ckIrKEQcjlHim zY@q&zA_snlxPLe@`Vv~2tS5(is3Ephs)F!GOZ?LGqx&;6kH#h3*tFK##@ct@7Iz8} zv(l^>=GClroUAzo4nJSI4N0@-~&5Ot|!i)Me4|u$jypwSAfLEA;UFEiy=YwO-ZFZ3YBk9c=WLC0w5Qrp z9lX7>v#C|#ftXycz})6&-*6Ho5I}3+OgfH32qyRiGt!d_qkf+3Eln?NnLBm<`h(Sb3;XDv?N%%BAI%5@_-83ebk~>T@RGwG$Vw-qJSiT3FEP z{#Y<5hu1E7dCh&>aqq#?@6i9~pM^Sj+nZ<4g5Ccg_z|o=y92(TJqw=i2It?*I&<^P znKL)De(3)+)xtKnnOfxJbk4IV+Z$w(ILqzO-0d*dHh60W-qj6{PjPh2ZT=|g)2No_ z^y@M7QXjDS%8>m&PR7_^Yku>hp;K?Z#+B&Ms9CEa_iee(l||{MSG&#gBc) z?-{>y_2I<8KzsWPkhJTy+Tq2qmHK~~xc0Cn>nJ?#7ZE`q!4v^?6v3Kgk&i_*77q~? z1414GvI#^YY($PGd!~aJw}%aJlb914EH26#A><%Q0^=HD$W1U*KoLO!#qe6a-xk%` zw+s7&Z|`@`dC%o{eqVjQl*OV7cpP5yjq4%?557+E6f-?NJ)m?T)vEp5Z=w3_+wsI_ zToWg!k|OB-B;dRog z^%m>bS-ks6tc8~)3IV!0fnG>g(}z4yitqQPoLion17apFIR(%OA+ABPNDSN}9#5*| zm7x*SpFJ+QIl6TGvj5r9{@RAl+B**)jOE5OE;gcEJJoaIX=SKiT>8Vyqn(`#8SyW7 zd>q*E#es;7^!8n?Wp60POO>Xl>gDsJrMG^6dQc!AJg8(j7c)34*--N}c$g=X$t2jk z#K{BLR@_{Ncm+B%|IgP&S}94Me!a+JNK>6d02lK4QMLj48#W@wZQZ+-MCC(rl6=!_ z;Ok+uFmh5fndTmy6&)Q`m@t29h%(iCZECv2(-W$O1OYle>t4h`GKM$^k(MQv>K2)n znwP$Q<@n{kHiWm%*2k4`s=O-`NMaWoXCFUJeURJU9@p8{x%l=(MY`V>|9DIg#O1|w zv@Q0JOU66fuF7lce;dD3Cn-*1v4nhNFd{L9fru>@F=QY(oF2b|IJu7Db>abcCxGi< z!}y8ILvX@L&*}R^w@Q|WI0agf<>VLh6MdbjW|2lHTS==(_N&&}SeTeZ3E6CFrjW}P z(%5Viz%+FNw;`vu6eTx3^p17uXjKK%y<*D)_ z`nv0DC5pPbHiB+1X0@pM5PkYRE#GvYS@HQ?zKuKj=m&{t%|3JBAm zo_eIA%-t)1ax^gdf}F&}99!E>k(Q=wEDbjxs$1!Y2LwdLCdI}^Me*4o!mO;!LOMHv zoxtU*s|(b<%|GX8TBeFTa84MymSk`cdWZXg{onJuB%{}6iieEduCqct^(np179=wy{~ zCAH_2Wh|*&AlNI&AJKr^f`DI4sGPZ?@a_M(I^K2AbymM(?Fe>|=|^)6j#yKm)p}wM z#MU=5U{k;beLGV-QfRfE`B2|4^N&ZHP>}goJe*yu z?H|1|q34kHNf1` z+|tZo(}p)m&dyXMdd8&i@HC6(9gV}t#$FQ;mgub=xMj_5m z=pFVCJA^(!bTXCzYl}VKb)5R>c*FUg%iV2bJ$)FLscd?XSNRxCn#W(nv`3_>o?(M_ zQ{4Lpki@9c|CsSle^A+1qmY-Dw$}ArJyj!}tdZ|kyeU;4%vWM0qnO8Gh{Uk?AVgFc zJiJYd9l#+vl>(vTy<0?J7H*=!i1yUZ@GOtnJ67_dOWnm zCx$(8cnl4)yxzLw!{2=K<1cq^7D{@$D^*A1;`*AZ;+j-#zy5kW%K+#CUB@ZJB)Z?xm}8IZIlm+$$*K9Fua2M~-oh!PF@Pui*ekK)Aoj zbV`Qawce&fOvsALaS%e7`nMh}_m*$n$5+eusyP~srXYu3Pz~^W-$be}_BfesG_}R* zi%p;YkG|L1HlvxuQk}eFr6Lp~K{~M5FU{ zoz+8hA9N`Vk<>Z0+@=h*OwSF?wJ-=L*FK53&bOuVsR3q2tMyl}F)}hU+(@!=TW9yK z)oM&xJ^$qkn6uj!wQY~hTE~#AtOW49kSpX?bGa9qmy?}}TAGJ?h3cPsZxlV+?g86N zCW>ZM6$LB-kLBz#_|q>xb{wBQ|JLQYhFZm$)GMQ%ss#-FS5)OLl*hEkS1sh_rm6xD zRpf>4%d1fNEq=Oq>HP6$7ZtUF`cmcmhZ9S!1IlWp;2=*a6CcbM33x%GW60QHZn}_4 zq!U_((-HehNMB+1`;Q(?FE2m3Q6ReaX#QHkg&d(!2nWX-4t}I%W@Lbao`Igdsl5To zj*4tf-_lH)BXXc)59zW66$5

^J3SC{O=CWxCY&tzNKiT7Ed?5&{U3B&KGl|Qi^kMOQv-cdv&|b# zHv+SZnT-wAe#7(YZP%L^B$3jDwEgJu(xPef1bPBj%~dC;>1=x8>E5aNpVdk9wEbN6 znfaFOK%PuQ9ON7bZ#)?~79(fcCXQqA`D`Z^Rgu8`diJp@{pdoRYN4v4B4!~qJ-xju zz9IuzeC7N8f2iUny2fVW&qlO$b@fXohTE2YkVtuxm^Lfs2*8}h`MmELTD7An)$top z>)iW4A+RHqf!yXsIQ;4yji&n6bje&nP9`W_hdwjbH)&I*Wh8ZLl=GX0)U9S4oXxg6 zZ{12VGBnnQ1(;YF+gRC~?6xwY(n4ZEb7U-Fc{#E{b-*pmQcv9y{)P@%LPCS`v-JaK zT8IV_uYiNZn#0rZdHL1O0GRqoE^pN`*{DwiyuB!#aE=KF62E}$cw>RQ+gAg zsYe&`UP`U3`0(qQqqLS-DIYLd2FV&Z7OZ9beu-$Fy5@4Pb z6%`PyADnHMZKoHEky+BJHLEtSH`ZHcVG(Ar7F!#4+W1&I9@$}i^N1`Z}+u zyi=Qw=EXF5SA_bhQsc@)(<>q}u&VxP-`GS?*T*03`fjmreyMNxr#i(*y+SY|FB7<- zD&PpDJk~K?2M(O7O=WZpM`W%ZI&sp{EfdLxXo|~@txkZj&oI8f*6T%cbPRVShlPZM z#D<5PS=s3u8DSG|fYF-ZZ2e%+oP!-UfH)X$UQIF%U!9HeWsmU-pG8@J7J`j}&tbIQ z+S<{5tvflT?#xdObSDT|o*GbB3%T4RuJ9Z)`NCCN zY)F{#>hap_GezrY3Wg~|+7OjT3*K0kle_;}|XMc1yy z$2TV>jf%nkGC}`HjgpA$0<@fqWrFW{_|MQg1>#9aGQhu16cF2;{t<%wz=60#_pdGA zQYR#Ex%{7)qSI_)Y)E7XEs7QyYn7N}a?r%~O%u#hSUOW(Tx@r5^^M)@>+4KfV_;-p zVn{O9vr4itNlJ3tZ*K0D7T_2{^9rMxxJSiC(=r>_v}kiWo1c=zEli*{@X2IqA-7<@ zh)L1fBhoDf*e-}C;vkz>3ah^5K?(!o;_$)KVhple11Wk?gIgQTKrF(Zh{Bw!Q8r!I#@`l`!c zi87)Hf^SQ-jfv!w_vWru=OAUhaDO0CSm46;%@k5IU0hBHAa`bPTpq*eA77VFTTbKCQR$>Gl|b{yVw~P=d z3=WBRgDu98<0@Q&37mDX67^AAcaqNd*F>^iooNO>OPEi{rzytxqraRR!ji z@2WTy5$7M1TD7Iz`+zDi=$U9%U8o5M@M-iZal% zBN^G5t}c6CZY*#!^&6N=h@@7dR~*C@GVH9bPHo@K{nFELN^ijCYQ;XLNq^q|ZAdG;UY> z7yj)T54L-~<*q85t>WG@_0-w!Jhz$v$g?NSA(AGJaSUK24kyaZS z6S~$92FY)>vopnp=HNBKo3o9wadS3{FW-IFWY1@M*ztZC8($6|w*Knyw!^q_A0}^K z!IJZ~BZSs>ypnPRAIOfU2cF#Hh|#6wKmeNXc@1bj)45FYd})7AS5Irj<+0)MEA7w9 z;{q!V>}vWvFx6ibxa-0DGgY52e!jR^{_xqK{ffq#$yyYxW&LtQHK|-9Rce$x@cTjM zVsxJwFf3HaI%mff*uFyUcxtuI#N~%=FvaJt-x9KELUuSilg6fj*J&1CW{2BnuUVa~ zA0BL%9gMpX8Ll=Ax4?^Au!Ef$QMo~EoNbc$Nl~_L25xBv_GzT`ULotq`@?tInERwf zoiN$oKqK$ZjHV}?E(|*%bajnAolvd5aPM9+n3u`K`BB*sZi$vHPg9I^zO3eV(s*6P z<+i>jqZzNp9O@`PkP+{HH1yM|R}Y{&^YZ&0!*?@g(2NA;Nu>f?BnFiT=PaItB|G;> z=ES5--_}esVNF_g15yalbVaU?7pNT%0zLHZS;BU$*E=+RI`!3C1&z7ahRpK z>^67a?SlKSP#s*HF&1pR*V64E>CHEd4hGng0vt#VHs(gbdaDuOOh^`MNzd=m!v+HE zD8L;$$e(PpUb_?ffUI4~m`-tb-)a3^iqFny*FrU2-4a9;t#C9k;pssL@;nVoIwGi% zl%lU(+t~fEGriI;9f>>E7xUsUD^%%M?jP^nG1C$8hyTo9fBntVmB%$*#^H@!>>f;H z12$xXjbIXJvXT&*vtSJZW&;HlM}#`=iGi$$h{MWFXAp=MA{BH%fgGiiL(Iz1C`GbE zR8Uu>r9t)Sdxr(_A z0$UfPC8dZcl(ZzN#zR9#%1#wA=?srh4F{cOwo4h4=Bf15d&YWG0|S{`x3a>Y$-p$H z8?=qwpyaoDb@T%dtae+y_h4!S*hBKvy(bTvOs2lsMYIgp4JZ;GI6d@13nO>8Ihnw( zet+?si)Wu)SGw-;xWjSUEtS>#FqvK15w)%B?&_#hKb82;|NZwLf4z06;@zoh7cU(u z1iob+KlIu0fm1$Rst>+3>tN^bI(ha%i^i8c-a}-fMQ_l@CS3MGm}FT zDxgbhRgF$nmkuAN^i~pCUW_u9hD{{YGkFvymndb|OOvE9c%U>C0voo@CbH`JYyqE7 z%S*2CEYRyKWO)@8%8G)#0=-IQsxhgJs9}m~dUI5UT_#zrsl2nc`@0bQVt8IBOba)c zwHV+~a<&1XMEP>;%lS3hn4{W`(k-Q>>(*@BxA}#2G0(>Pw?tJxaO$VvkN*7g?>|33 zG+_Va=g@QZm+}uBXc(M0^6J}fUmE&uMab~b(-&!1cwxpKmO9=0;@?UnC8JJmX1X`b%C`tvlhL}z%z@rEp7uuDZ7 zo<$$Gl;1khlF5Gfo?GK1HdUIjMwb_wuBu7T)bOZ~Tw`L;hv&=lkuZdzzQXkZ$$kOC z$n|O2%Od>He+ zohpx~R0@=t*jO32zFt~Z&u0-Un6P*$5f7P6p=*2yOmdP7kqd<;9*vs97ZN?`PQEOS z0NO0yRiEsu;4|cWb#%HxohH|zLm`Vc%A-{V6Hxle+s-{><48G?%;1a)tMU&70hT^} z43z$k2jSn}*#(yY^;73UVfY7*$tZ=!MTowV<%pH|F1s}$2=HwIR1x^e{OC0 z==YwU>9-rI4wb}6dk-~kZ7eEWud(0*sOyS8&; zc&>Ms5jMW7Hm9%#P*g$kGGWj%1|tX;-jz!ANJ3nPfAb)+rED@Y$q7btLenH^X(>V- zEmT0GS75%AEa3B4L{GN2CoO|U#ZW=`{o?SzFtIpHrVtzC^1KK|pFwX@mk(aXnP+7! z8oRT6vox9u^V{1bMypCAsl8zxw9* z$7fHUzH+7K`1Y^H9{#jzwEEgW|MluLNK{Q8PkB*QTBEsab^$1(E8@Ar7 zF7ND~xl@e5>WnXlzl~NL(oVkvRRz~ZbB}@73dU#flck&A*xUi>(3tHVTJ5%HgCE_p zCU?X3(x{_x4}NcSH*R!K8P!F3=#l2h#C*M{ zx4_$r=HM<%Wf?kF*Kfs@hPs9Xj83f#Uj=x8$lpTJ#r-uU-IhES#r%?&+mEGiN| zt>f3^g$h-n1)&8TPSG+lmm~r^)Pv#bL4iUxh0l~S$xNavmCW^^Q?sF=>cU~r1+FQc z$pWf`&vj)$Zr9h7%kbjyyr_JyVCyMF7E3_jQRyB8 zj#Nlbqthidz8Z-rNuuG1D3Jkv=)TmG>nRjAJBdiFFJqL&l9BV)ds0$(z-TEzZorgx z7evP@#6^4cM!8xXT`up_^_lAA>T&~6!2Y2d-|g7lT$nxS_JG^Ty$2t<*l=Rgqo+3H zLOc|rO3w!G>(Kfi-Wa@YyW_!9d=bQjhaD%6o~-`%D#l&gfW#eWKh)6NFol=@L@7@<{w?&jLA*2zBB*-$ey~||AJ@Q%<>a}Q@s8j`f z9XNn|0fEKl)t9lU0u~oyYAm8hJ(Ec!N{P7pJ`9dX6tFXtK$cK_m?SQbz~zH4D@mb+ z(geb?ydZairy$5PnZyesxeJ1}dMcFqt%|%%gDgxPW&rg-A(NS8261oi$c^K(0H*v# znwkzaVI1(Tu^wnQtSxyorg}@qzK(71aSKmY#xHE{S}18bdb1__e77nA1hADi`t7&u!?%Zj`)z6KO9|{!E|=v5EvO0AUu!;2abZ;J!%oR}qy-Fz*@Pb{W6cI&AVUi?h!Dy01 zDH`aA)9C3W&U(6VXAXTmQzFbGpwZ$*Lr2Q%{&4SSFbR(_st9-3y4p=1CYQ;>6nTIu z4Jz9=#|JL?9Y`Md;;Ge7J2T$Fm#b791N(tK;HhP91BF zIu_pAbk zS-S(1U)(zGyJgmX&TgtxtI-lx$z;Hv-Q9Ii5@oV@JcKS^Ave;6;RE;0b0zWp7#hEH zjt~*tg(&rK@%8g1Joz^3n4M9Yxc$keSe!`>p3!Pa!G>b%cH>%*z1Klykpcl7wEe`);MN3~k)xMMy( zc)oODzO*Z5Avf27F%E^};Dsq66dVdIW~+H;L%U^vW1@L~R^oe!AuC?lvGSKshgYCF zFK%3kt3F<3o|+wAdHc0R@csJS+}vybb~=ZLC&zmSdu^S%U9~!tl{$4@C?b#&Ghc#0 z&sdr_i-+9Yg9y41)rUl<`-;+bl6(S0bQcL-D9TyyD4&vr z18HC8cCGOr{p63cXECSTv1NXrzr!C9E!P3HfyYj@mUJmnqocY88qB*7Ou^dQ3lSX5 z2~#0p<~3XoNf<0nFyF8@6gHb18bcCS+SQkm{W{N#&)vK7<$LbAetUXwdUz#V-1U%g z`|qIqcXroxmm6yhIw?(H5HLGL2_)6*Vb5Nmm=IvvHZTh zvIp*49vybyeXHd!rrwo$R~X3Rtvv%6Xd9R~5_D|MT~TWHJVWZ?f+${KVeVR?mfl7 z-0piizZ~=@>l{q{-a9kXgPnVZ?u0l~8vB_cm1muL$X;%<88P>x(&_6|>FBla^}?JW zjy{0z?Lz|-6z9z#ijc=ZFx`bK(ulYaX(15n^VyhgBqed!n0;Y08H^n0!=q7^EQu5_ z2xU|VchTxuWs5P+J2o%Y9kC-EZ3%qEPIOqRTeL#av^ua!X=oAyyMZXj@hZu;S3cQv zSIdP*$4+gC(w1ob7fRwC{>Qc>Y0q6a)%EBCUe(Q~4t~*}xU;#c%C8;mR15m{K-aAA zCA`^aS&`Lvz4+c6{j0Ke?Hbc2 zd5&>-&X}SuLI$f=DBLqMV#B>-Gh&&sEEXY!$q|yXef@Sy0wmmJWQGQOp>!$R!wJxc z=yZG`0D;S)`vzpY?i7+Dd0bHtTObq&7+!2HE;|Dv2g%7n1VNb~7AZZ-S2(<|5t-HlSzI(7e0Zj5c*b;o$Y_mWDxVqO}v=Zv56rL1F*J)No^O?Ik0Y ze(0A~*2(gkBDL6PFdR<+tqZQs}x>hCBz5#V8BBqIu=AgDw{1J z2v})Mz9^K#$qrZ+8Q?34qz3u1T^NxJczcnb$d%3^Xeb^O3Q-^-5;+7egnCFkBC1va zgF$2D=yM8WLRyeOuY?;>gsJ6jXhALCyF4t_xd7Zm;N#xtgO4=zoE~W(Go?QA(Abx! z$DWFUf@pk8+@_lg59gLdJ#yjZrlx~y@4HK{?;0rF{dDvG#=`61Wi&VMPq2c3idWE> zXjy?9Uwr%Wg#F}QDRSE`paQtiioV&91f;A6gTZ$2xs!8tOLOD6EmIa~f>Odcl|C<1 zta(Ps$gHSvqn9aJK`8`2bhU&OK7~Z(feR~QQlxBbkEhZ2Nz-<6BeNs3G3Vy$=i=*u zP(X!NIFm>&i*@zlk6i_B}5 zZR&JE#YByX|9p=6t-B>8@SXF1-+OzW=l%GjZ_nKG^k2|+$3Tnji;p~X@k@L3;>FtP z?aCs$YYT7qR-a#f7e4K-xh|aY+*DT=>e;yQE*%fc`2JSKoTVw+fw3cr^jfAZCa^X6)+U@~PL)O)#Ma@_ zk-BMk#wIB@7&nPzav9!lP!c4N$Tum(0Rxg*x0UOz#uw6zVCQt=}b3M%P<#DO}=^wwQJyno{aG_O#npRTrR>&@&f{mYzm+QQUoCqb{!~0gC_;(m9y-x@ zGIj!GjuVlcW*yquNi=Ex;gtW~ptjZngsWi%$)zqL6%*92e@$1MtIBvKBE3Y}7+ zCirS2m?6;8KiP1<=>E3G@m7(8GE$-Vc;Yk$jo3gW>%@4ol@>5WAP5zW7CYKcf$jR< z`|n>?UHKmCHSVjQzSn*G@!O9)a(t@2_srzo4}?FYQq|1xam)5XR}N_pkn1CJBW!SX z$Jx2{vj7|eQZWVCec=mNd-J)np8?;hx)|;Fd~d5vQRQ}~W1iaHDOZ?gv(8@$``_O> z+M6~Hj`lmu;nOM2#2pE>O{(_DiMk@Xf=_1Lne}RlWv*C5R__yBoFl(Er)B; zb7iDNA{O(SR6=7=frD<8RuNSpOPt4%fF5O;4w1YtkEp3T-Ij3H&euS(7L6zf8iL(# z@AO0;=vcy;pLf~jPfhmT-G1uMjkmrRqpR}PYu~^2^N-&>c;>Hrx{n{ZxN>}E1yVoJ zUVAtyDpq!{?OxtL+}!y6@7vfqHXuWN=q(qLR~9l?rg96Ffhawi_GY7C8HPNQ2?lh& zbP1u<#`fl=3XLWxy?yCM_1<2^6LP@0)j1RmpmZk3MV3epGE?NKD71?S4#`((b*+fDY-!8hMZ_H9$>L@8byigVrD+5X!j{F_-7#D>IgePfb`w5sTcy0i;qQ zwtxrr#A$XaL@UI+TE}ZdI%S;)o{cGbI%aEGQdsR0v^71Mk!tV6Q1#~RNlL>SE?CkPMOhGRU+#i zf1)ma;=~ET6DRrnNN^|}% zzVo%_9w8BSG>juMktjF{u22BBu8OA$$^t=?P~-FYjP8DGM9kyFd_t*If+lmos_vKh zcy1F3B0pgjNM)ibC~K=ZgqSbm%k&n#$xBA+rS-7;L}NWVG7c!9u%gO#mI!9+)X`BL ztxI`yOgW^}v5=#$fQuONx!;(Ih{YDu>o2@H}ZlV-Ij@E;vLpK`idVg2^v{@m5g z%Kq8)&CM@DDF< zz7YUvOcFgup8*vH-XFIjuocFj%EaXw_;LfGSF4js(l8z&2sW7!iR#deX@-O{jd=s% z5XGy(ejT=U8&t%jo+xhkB31M->GbB=97sZi!qfs&w7q47ce%x`!c-=Au(zfRhs!RHISMnfN9|AvSh9QI zLgv9kqv*u;SC3WV8{1oz-QRv-KL7J@^S4_+EiNx_?e=*0;>}M8>c&ZZBx!ZKNrN!h zUlr6=Nn?DmSR*!wtsF(hs}>uR7>FPxs>mQuC2!)gLmdrLq0GW}TS%Y9q>fFitvqDA zb&wuB(a_WIgrm+F4iTY72jy^eOt#dr2H#G3pvxCFqjZ7d6?$>m&9fsJ@PRTu!|>G0 z5yR_OED&gcud96B-Tihi#@;=!vNQqN@kw(hV{U0~on^ju8*nWQxu*;Zxi=&W8*SlY zI28@iblhz2cbOF~nxb3`?SWt{)9xyJvfG=0bou>`neDAn@3hY`xVw3U zh$x;sp*kT|#mSzWAy6=glPW$J!<_^w+;MV~Po|N;)=2ak^!Y#Uo!dvFWbrwa9G{W~^2>PbSlv zFw_i6n;ENtE0kmQlTfLbgX_!H2o*+!+ejq&GB=QB5v8RLvsxS5+A!Fyrg6BgXFMFH zU1oD_2Oa_>rEN?qA5P^%-n@5g?B?phr9PGn$9AJY5EFSmy&iOE|&5hx!Mn#pR3Uv!a@LI&J zq%tWnka{am&*A6=$YGGjYr*d3Sw-X4NMtBtGVzjDiJAl2A4e#CMmP@VhMSHjs>7(a zfdOZ=4TBRCE(-4VD*z# zNh(HQII#jfxCV$lxmp3EqFpFWQeJ%0*)b-aH-jFBrw{!67eD=9C&%mW>RMmyLSDYx zGU~E7uF&UuYdh|S;_p39XKxz!cadt_e!P%;ys$X3Siq-{dv|Z`^R4UKlv5Y=z%1+@ zT=GtEO=+`E_iR4xW&D0Bn{tHE6v&R2E?+vlus*jxT%P;=8c3=`R_hG-OECfjW_3T= zPg;3$4PWj9S6>^G2@3&;uJJi?0}p3i9MniPY$iYC)9}bDkya|#i?t@ToG;`^)uxmI z_r0}0E>h|e=s%+8UN_JTpo+*G3h7{s9Xe-iEtO5{vi|YWHI_Q?EVjRYlif4BmPgLQ z>T!jYoavH1)lq^(R`gDUeRmf<6J}Q%sy+8#&5c}n90w1sFlQL~>ae)GKeyxYhIQVW zM5?;lHjhcXY#3p4MYAsa-w~oxgIO5BaN_eDxeR=1;b>>`X#JL;rw2bO&{FOs8Plo+ zQf{0b0zk%MrkFMoAZ0k}Ds99>YV=Jp#5QhU@|=Xv#ZCq6h2Y}~v{g#uI38C9Gd+1? zxC$ZScSMNwpty_b@C;hpXh@0M=J8`B9OfFjCdJSc8gY=zSpDkxRd9?B{(kH~FyAZa z!!CB+(RY0VCw3lF*H)a+s_dP(yBjiYQM>0QWGBDP}(GzkarYYh?rCjHA)TGl%*)e+wBj>RD%j*Ti5V^v7;VTf=%W*<20$3;%Gm3?J zlOzc}HNCV-5@Z{VVu{9@F&K@Sq!{pE=*Y_50dQfE$BVg|02I@OZaG4kq+6^}6Odaa z;N4*RBDFMvo&-k$qj$7n?r~y(mA!#SccmE@n(Z@r?@Sh0#npd5V}rQr{*_Z;0anYb zz`~^xqOu~w6uZvjY_q#uEr4TE@DPxe!51$Be#O$n3)lA2X5IF}@-CCWX`*d57l!%R z;Z1A22%siHc0@IfaJ7wULx_KQe-0;v-TgX#Eza%iPWOA+R(gyinvjheG#rglD}f(Z z3%R(^3`%2wi@24S(aVw?+yN%ORm_)T+8GQ&#w!ScAhd{^xTFlqd>kbqtJ4}S2Eu9) zHPqF&wY56f$(V^SokFQ1p{VxK9@-YxnE@;UGI@0sTW8mP9~wi;iw|FTcyS%OpWDha zB!GE}Lbj|Mt%P_5DQ1P#h&Nt)6 zYsY*Wlq$jrue!#I`b1^n@eAu%7ykc^KexUDqw85c*)LNf<(4b8e6%5CVw7xf)$xg> z*raWeD0qA$8NgeYsPr5XnuBhAl2m3C3Tu$i5M;Qi0Dw7Z4`kr zK!kKcI^5`V=&EaR--XjUGt{nXY&Is%i~`fK%C3X!7w)*w*N2}5O!7PSE8BU*qzLzm z9yTy#7d(}{$fQeYJThz@3r4@(_tSxYaOTE~*AMbuzc;R<<90e89S*r@q_1=~)la(+ zEhBjy1Z437yYMX*3+osDTd%;wtv-A1Szl&I4q(PF zEfa`Qs?cOepMfMn`inQ25X%Y`G9^c*!iZ|fOrsnrsy_+8CQ_?J^}@Qk`V&esWcS0T z?}tq7zBe1wRm3u|$%YjJCjVH|9;3N5W-KqF8E42=ZL`tE!E6Yj>*y#N ztOxrnIe#7d1ylY1H~-jeET0hs<)NYB3<->wMr?v`a!^22srWeQZiyRmb9_~VgtnxZ zBr{grX2{mH@*vO`$tGEHIO*o|2m&U-=gZ|nk@}=sWR#?o1kQS6Rr6_J>RN3;*PzMc zBv6-z;+amD_QO>FJ?>bWM}3RzT3*Lz%j-{%tx;YxlP(YX(_z*@+lpx_no6g!^|7(t zo9ve^!?7*w>ZZf~)w184&Fa9i)PaXVowqyB!=WO4s2U& z`}haeZNGrI%5t+oc4C7%nM}q<1xm<^LtwEd5X1$57p=~iK;qZCwI;ci-^7>mtuk&V z7AwRJG6fF0M#fVK|EZ!VJQA7~*Am03C)o*upc9*$){oeO`@BQBUy>GX__i|0_qxU@A z`VA0BaO}62r>6&Z{`>$Zf~e+$r#`s&q;ws83sR6>2q=JcnBErJd+5`V>8+qI`1Dl_ z*f{||eGb%Xgsqhn-L_CnHaWyFU0(N^YZFz~xnwL((xgBg6131ZdDYSl70^e|Z~^jp8?99- zf+o;bJW~dCD#F$h5hBYll9cI)w3yu^67@um1tC;_QQQT8bOYyu(^yQQB0NG5>GIQC zPle|QpnLVzPjSd)tqT9Q6S7TL@bj8eeFwdl;kI#8rmG>0H)Q1Re7XuZcm@DCo(4-) zj~klk^ma<#uG89G-MDeH1!KQC4FUD&;%Dp?JHEH)XYoB;e?Y|w1?$mx0Y#^vrX?fQ zqtl!*Xu9KTa-8C66UjQsg?C-g4=l?9&M7uW>frFAgi2F-(J;6HYLNs{iKeJYSgK9T zr8&iBscd$mg9nth#gMSt9-+@-G+Cmz;TXmYls`pZ%h~y@5ASUpD(BB{?BLwo)vkxQ z{~c{-YZvRC(#}XL4@2>2Yk4+Z{sKMp;mLPj;_rTIhz$nA<8XdJ8Bn^l9$qe|wKZ*M zr)Y?T(sp?YY4*jR&qA*K=dZv1_1Di2W9#AGANT_&9{xUB9FEa2D;Rn^D&PT(SI`_T zHwRsKZK@c>u2E#hT}PFfE5y=dJgz25lgiJefdM~=dr{z%JV;$?u5*CIL%bP=}=a;KtaNQrRra(og&9(q=AOpm(RTIf#V|n{_C_%XR z`Qbl*{R`#Sqn|GR{tGQ;5cB>T+WP@8eu3Yz{Y-O4xs;NQPnuA1Lh(UyLScZ?qQOwa z0OfT)Miyz3)77F%(O?+T_sbt};bLcGGDFtfT6E1_JCKFSmu+1pR;XDd5=H&d&L zcqs*s5a2dyVZHZYxI8*IJy?Eq=ZQC-1E+rZ%iS-ukIPsq*gLrU^_^YxnqS3XLR!)< zjR1|SRqICS?6Z$P`R0@BH~L$3q z7r*`S=bx`09o@e5+fP3}5N`eFyN@5e6>c8eKmBD|w2;NP$X{Zr8Rf50vTWwlF(xnB zU~CD#kkl#FQuRE*zI{lMvo@ut^-!PndX7}{r`J#6M}Toh_aw@% zzVPaE&mBGYI5a3vUHlztxc_+Y=--V$fsrJ4ep)WnisfZvYt#vXdL6<(I$bmisv-%D zO`uoOR%C@UY+)eKFGb^AnpTTNGuE`oLDW!r-t&??i;@h-`f`QGu5-`lG8y!gAF4DjR0kRMZr@qvaw;kP1C+&JGI({(3E~=Skg5 z+l(=;*n%2Mb_oflPMh5Ugn-#ZHkFOU3n9$0IjK`ACjmQXGaKY z?%etiQT62)UmxGRQG&TwtDS1Kj7Je+?8x+9Tn|rk2aOq>P6q)&38~61Dwp^k{;)O* zJ=(}&=JAcncCNjJ(q65f(`q%xA32bghorz0w{hKHeeRxVFYxE>7cMU^PoKb%W9!XO zzx>6szug{>Ay=llZ9bXL<5n}Vg22rXttxSvXdVs@JsIu-`&)a=O}WRIeOAR@%9G<+1wx4{g0&-FdHH#U3>@gCLH<8@TB09RkftxYpb7 zgIDWULwRX+jz;BNVN%KE_P6KPM-V9ew@y!C?>Of%_USGU4(@)t7#}T;76%6t*!x%C zo_~D6T#HeraN>K>sMl*-oJw9Jl>##`b(0Vj+6Kz2a*QWwb<7E~cH50c3rT{@>*z2{ z32KVryL8BNVwwp@Nlm_zVY8vZ1L{Yt?>iPhvCzC#^H$EvIreV`r@vof>p$LUVAe}( zRc^pi{mzbtG;F<&Q-1{M>mztD?S2ptRdBiZyc)p3N4K164UoBAV-P1rH}{BoW@BHh z?>!x^{mnW?=P8r9+^~Eg%OYF{;TkuWFQKb;arVbwf#tdjkW<{@?Ci&jPY)Kcq9CPa zi8c~5j`P4srf6N^lAK&Y=4Oz#>n16~hO(P#Mp>av%5BC-n+j!CKzD$++Cgh>D{SRyg&fsye_-o(ZbBW_DpxnJS7GpF$SF{| zz&pR#`Mrf_xe%OUVaRhCugtu>D?(az72qkNBO8GuRhQ;_Jm#T_Vou!KM1?a zH;}Z!WLJ~c)L#r2i_vl<24F1Ce|qEHJ70h}L_=G@-$DK{*N|?n=N{X{E8&lBJ-WO3 zc7N+JaZ7_veib;Hd!<&p;y7Zb-`^CsH|n_^dMTx2e32K}!R{H+()Oe}DPz-F6(zYjeEdl^$kpscN30$e0ZZPK^~6 z@a)21aOfL4MX8(_L);S?FwL1ODAyz!t>e1dmQB_~>PrhsC6$%3y`CZa_C!HYlj-O7 zYAlE_ZwklO3be)u*wn%}-%o%1;KOG>Z2-A%0LXTyqsAy0l}BQ~ysm9uspFZ7^7>Wa zeHf(y=5WzR>)Ya^b@3r>Tg-@&TneEb7&2$F?ztd$!MF?VcLq``uvZ}K%uAEWVm=8-l#|wg*Yin&Mq?daA$SEE=()TW4@=J343&{s#}A~& zy*URCu(wlNIhug%?Y9r#ci$gU9pz58+YW^{pz9 zZY7Gl;GH&iVC$Rv;W$jhii(&KuB2Fz&y3g&tlUOve}6yq{A99x#-A0erWN?hMH2=O zg_kWi7nUx&NYavwKpFn{`?E3K_GDfj$B9^)_GgwW@LW3S@j8*`p?5L~({!i&6CNl3^kx<8S0G8(+tSyD5tbJO3o%3)HK>lmIX^kWjQ-;rVwesJ@p$Sr{@hV z%UL!cL74`~C*M6EPMzbDgj5SI`8q~-Yfwf$(g(5i8s3lYzo*sj7eVH?MlH+Hq$^@) zd*oo-`?>u(n9pr7ThHw5Z{*P2WP%Epn7zzC5Z;-%!D0f7p9PDtbvTADbul*l1@8Dj zE)-0@?dyUfnZ7Rw7G&y#AMd$QQgta$p4f8CZO0-M4JEUU!c(!yH3x<+I|2h>i^i@+ zT+e_JA!ubN5*2xp(IpTWN=%_BHu1_N5*bj2HJ{AUNvCzfn5SV4{YFsr8h!9aD25!I zfB4~#A0Hq0!)~_Px`&X|Z(Q;EAl2AXsfM=t{^pKWeOj!C>WY@^^u6`|_KV`))4e(l zoXPPWB#C^*scndxn|pxwM7GNoC`rhyIlW%n_bssOiohEK|73h}B+H9yNnQ!8=FIYK zo}keY>bgwNx5m~$kldcsW?WTJx?IJkRLbNqx}i&OwhrqVOhDe|i*YVmk-PFtYQqtN zsRY(jN>>$BicC^0#8Ujk=sv>}1S`D~N#IXuUYX2&WNniMme+Dtojzn{%ex=k`gU=1 zQR7>UPNy^ywd*Sw{Q7IJq1_M*I#Iy;I$lq|TGcQKM%+U6w!B%@#Lj#)8cCyQB1ejQ z<0=pyA=MngBL?Tx_xBPKV@$?lO844|tEdJ#95GGokSom0@R^4q9CKkjwr$oX;+*Tc zV>Vjwe2Dv8zg|=2gE+Mq>V7e z9;mk4uf5ja-0EW(hSq3iOrGjA_@**rT$s~2i$z~T`8hdku`i&%`+tj|qYpaNs3l z(WE3PNLyzzqY|?w*-Yk(BnS+l;M+akgwiz&}U@7Q?QWT}=tit7$bRukmqULN90$RTVB`UY5qa*s9xR2McYi$hM&i~E4prOsJ0oRM5gWb! zQ1qOtr-hFfR2!YGRJDUlESQc&shUf?oQXV?%E61XsZ=(D>ZVuQ$Pl@DCYS3}x*&^y zJM3PD@dR`XFrEk5`Qga{R2*cIv7&83m>HB2c6}FJANu7&P#6pONbwbD9nxxEiI{Vl z7u+_vM)6UBJ0y}S?z#}|mG31xwKz`?j_4Pw@qY7=BM-ELyZUMi9&72RN?G;3QrPtGA&PU8d(y&|)MAk$G2 zF+6AH2b4AI>M=3~^(Xq~6nM;J3^NU4#U#yBf=#FbB(Efcep*U5Q{z;HsnF0&xILnB z)?9{Kai1NHY8`3R8_mzgH-jTopT219=YVIuvM81T@uNBb3_)2AacXTlA?|fHLt0Y| z|1&4To!7TSQ9~gohkvqr8{sUpST04Z3E?MSsjv)~;l%SE%AMB))~o3 z)-nhtN)A!?Ry~2|^dzmsd$qZg%T+p(S7n_lsLhc!!jPY^bej}wUO9s?{<#_gyfu@Ev4vb2#*4xizdX^%)ETV1Nvd5URB1~u=FVlvTqmOFeA;7=$78UE*t=saXJmvTiqJp-X$Z}_G!jXXl|a!J2(nN{ZxIp&$jvK3 z;@@(d1q$v<#(BRM?|Uh~`ugQ-WGQePH-yKC`)cBbLf^fISFq3S zKKb~=4-wF-xI`MU_3CgJsn2;9l{m9`KA?=uuAhGWvic(eA{ z4`~#gyc>2eEpbw8IVmg==ii33iFD+kj^Yg`d3-Q#vqmp}e0=(H_@SvDpK*!$c>nNz zh8t7-^2he~@1MVTzxd?-^ZK(-KF2L+K8nAEJ|jgTPi1$X!kb@bHU56T5I%#fe+YxN ze}fpf`?`4fVe`@)p0^vm(S?l*Nc1>rV;*pQAlqKjJ~}=cGdbp4pYt>NuH3f?lZb%J z3e^rg{5tCZRIa%~A{qg|47p`BCO^PkhIAV!b;IiESt99qq_zzp4`Fn9x+I zBp)J%|3%MQVoz1N9iH|?NGqt`pi0c2t2CyjE{`v@c}e;G;qcStx9#)OSMMG_e;41Y z_?!aJx8HvI?pG-IVfUZjEr6Gsqd(l;;u_Fv4Bvc%d&OsqmaXa)%H-@NTiLJc`h^yX z zdbo>>9#4yxG~&4x-VdcTG>^dWq?!z+~;V$UdQhi!-Wo9r-Q9N z|K=NP$SRHs1XK|(zomaMvVy;bXh;#`Js$4{{v)cqyEvoHw#p{)x^MRVunsPlEZ@E9 zFYA-s zxqI)E?-n7i@38^cgazBb&$zCSXoK*jpab>QT)(qU@V(=;y3OG+0&9J{2~IX|hm(b2=8MRE(@kPy}(F2o+qxmnupIO&6Evx6WT-~E0yI-hH7RWf#`y1iEx%+g9`5Vta1?`uUU<6zYuh;Qnw5~VD zto}61ZeB+&*%U>gNfbp$sFR6`JO#aXsdYq-Y3}n&yM7Z`+f`MUKW%@!ti^K@#UVJG zd$TJ@KTW}Cn>_EDB%=92g^=?#@x2(V?a{bJt(hvK8|l!YCqxG+o#*SOqq2n`8_C#^ z4;>_iYzXHdSUf-k8$u!~j`N(YNKKE$0v*5S<3qDRN2wL5&ft9CKeZ5|dgpws_GGhEoPujA;bY?P0 zZOf`I?(He@e!n3ifBW@f{vaML1N{f7;7 ziu|@ui+gm|85j+;48AnRtTg-zS3hK*!o#nYEite>Rtwt^)DZ}@i6V68*a|$x<0BDV zD99Y8)(Xb#X~LXVhQO?)v>;4*-(8}^o^>6rR$O+;d8kTBtvh(p(H(JvGlw~Q+*Kay zpAtnFE=CM*8YKNKKSM1g`nKiL#g(?2vVv4mCq_x7c0nPuP$rzfJkljq|3+{wMhA^0 zR+54ja3C)!jpGP@B~QasTGUH$-!1GOfnkM5gkiDct3lu5qBbToc(2G_zvfuP$7MHT zQDC6Q@vCKS!U)WAVxfGeDMElF6s5C>b!j347WJPp4L##x_sSWaw>=dHvAUeeFD*#TiIR&DsL3(3mJNkic0@xc9BCP=5XOSI@|Z z1-2^QC4PhylQ=sG`=)l0<~(4#4v;J3P}2B4BE;?U{%i)FwrpnE^-Z%oWV4$NIiZTU z&@wtp>ilk3@`85~6`Y0?Zo@sEqi*DS7+f@~s9 zSLGu2uvK=2-7Uk6C+y)qzQ5@}nSxFNpbL@RUBMO}ixH>Tg48uiC8|`jF%#p81veQ= zly8F*mhhd=&zr;g@K?8f6ts|?SNxE_iTB^x}tLrx2Nn-?w(nPdEFv24!tyhdyL9o1I!nP5lXY@qM1v-L~$JEeG z_gEYe#4cOvk*mm#6tEV-$5kf8Gr}8|&8DW=JexV2R|Vb!cDPn+3X3?BxQpllT}LDV z+xf^Wfy;6ygya(LzzK&mWm)UhroXh@SImMK3N5yWzKPQ`MGbS8&BTo6Rz~5lgYwP3 zP>uI|Pu>hxczy3zm2$9i6GdZV?d)bpgo`&X#p8bDD}0 zGTU)!Rx6#+Xk71_$RNwnhlSV=={@?IMdmQTOtGl-t#FA;TECjjU_ig5bOWOnLuO`C zj%@Ka>f1;(xnG*`nM#KjmTJ9pFG-Mur*HTBU@hl)*Qtn%p;f!C+%9rZU&pB36Qhl2 z0LQJX)=zBvsqfOOHWdCK0&~s`X4+a zNklAA1HZ9x1a~BoX4y*>(He=2KESRI_Bv zO}HKBfU|~1NdihUCL=0k#h8%77zwQrl12#Q{_^JW(F@;oETrH-dx|2%(abf%0mW$M zGF|6P(wX=rE%oc6iCWo`wr3Z;-66M`XrevpqH7eWmO5(k#L3x6m^)4qE*C@z)$WxF z%0pkfrh&q=*4oqy5W{FJ*Tii^Gl6glYr2S*)gb z^9Ehqju71?)@5)}Btw#%#!)6nZcY(!KRD?GZ)~^gd7CUxwP;W-tO|m(QahFo+olkj zGCI{=!nt%aBP6MsCK+r;c+dY7jhqT*g{sf9OXjP)LzZMNrU?AmOok{)4T)@`fHPF8 zYV+0-+aby<#Lh|0C>BfQ0=-t0E72ttv?2#Z$@KVo0|dptBKom z3v>mj3&VgIcXeKGY-ArdDSJIV?6g2^iZ%4%VmXac@YcUt}E&?3f9K0 z9+)o-D-v9cT(8O7OUS2Z&fvD?`w=rFIr0@!YQ~hj(km5AU#FD`-cHlR6pAJrN#1*} z+JZo77-Viz3k2%SVodA*pwF++VgEq~?8UHjvK%5n7q8GU0ev;L%(g%WLipA?Bw4Hw z!pm@GA_igJiefrmwn?8Scz<7YjdHFT1|^ZdRYzhwN$%s!nXaj>lhKTkP50uNKUz`_ z{!H?<8-jl>wpCP_2X@s7ul=1t+Qi0B*20g5GBHuRH11wN-58oBMIr))cUG#Uw0d2u z`zJ!pe1nb+_&;>0Hvlh~WdzNH0eT^D{vYW2)$6zE3=|&FC36;D4?#+8*sSR^P7~fI z_+~>o%D_4#@y?E_^IWw|AQ)}L3f4NP6D2L3qeA6L6wQ-zqvs;`)+V$kz6x8Nzljo= zEv2uGI;;Soslz8{ji84Uu~NA#lzD|%55#d5>;gTYRj>}wDOU84*TW3_sBf;>40#I~ zeT7~da9A(U$zqNWetQMS3!J~117wY-SdPGX#0VD#w?KEV(5ap*1y$hfA|6kHB|t8^ zG4Y)ejZa#pFmG#_pbj#j?K}x8xe!80F+=6mx!JS{8wgvIzf__p8koI;Ac8$$)sn5Q z8nhzwJn67xcq5pCi-oW~bd$9qEHyk7sC5pkkEH$=Ix_~CF$qSqKwr$*8pyF^0u!&$ zg?)uyup3^Oi(a8Kz1Yp`k#r2uCH}qtpo1J@C{ryF3?$__SN_~C#jYPJB?wb3!3>O9 s>SmKTFz#xX%2+j_#T4;&ea^-9Z+8#z7el$et^fc407*qoM6N<$f?|Tx;{X5v literal 0 HcmV?d00001 diff --git a/vendor/github.com/go-playground/locales/rules.go b/vendor/github.com/go-playground/locales/rules.go new file mode 100644 index 000000000..920290014 --- /dev/null +++ b/vendor/github.com/go-playground/locales/rules.go @@ -0,0 +1,293 @@ +package locales + +import ( + "strconv" + "time" + + "github.com/go-playground/locales/currency" +) + +// // ErrBadNumberValue is returned when the number passed for +// // plural rule determination cannot be parsed +// type ErrBadNumberValue struct { +// NumberValue string +// InnerError error +// } + +// // Error returns ErrBadNumberValue error string +// func (e *ErrBadNumberValue) Error() string { +// return fmt.Sprintf("Invalid Number Value '%s' %s", e.NumberValue, e.InnerError) +// } + +// var _ error = new(ErrBadNumberValue) + +// PluralRule denotes the type of plural rules +type PluralRule int + +// PluralRule's +const ( + PluralRuleUnknown PluralRule = iota + PluralRuleZero // zero + PluralRuleOne // one - singular + PluralRuleTwo // two - dual + PluralRuleFew // few - paucal + PluralRuleMany // many - also used for fractions if they have a separate class + PluralRuleOther // other - required—general plural form—also used if the language only has a single form +) + +const ( + pluralsString = "UnknownZeroOneTwoFewManyOther" +) + +// Translator encapsulates an instance of a locale +// NOTE: some values are returned as a []byte just in case the caller +// wishes to add more and can help avoid allocations; otherwise just cast as string +type Translator interface { + + // The following Functions are for overriding, debugging or developing + // with a Translator Locale + + // Locale returns the string value of the translator + Locale() string + + // returns an array of cardinal plural rules associated + // with this translator + PluralsCardinal() []PluralRule + + // returns an array of ordinal plural rules associated + // with this translator + PluralsOrdinal() []PluralRule + + // returns an array of range plural rules associated + // with this translator + PluralsRange() []PluralRule + + // returns the cardinal PluralRule given 'num' and digits/precision of 'v' for locale + CardinalPluralRule(num float64, v uint64) PluralRule + + // returns the ordinal PluralRule given 'num' and digits/precision of 'v' for locale + OrdinalPluralRule(num float64, v uint64) PluralRule + + // returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for locale + RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) PluralRule + + // returns the locales abbreviated month given the 'month' provided + MonthAbbreviated(month time.Month) string + + // returns the locales abbreviated months + MonthsAbbreviated() []string + + // returns the locales narrow month given the 'month' provided + MonthNarrow(month time.Month) string + + // returns the locales narrow months + MonthsNarrow() []string + + // returns the locales wide month given the 'month' provided + MonthWide(month time.Month) string + + // returns the locales wide months + MonthsWide() []string + + // returns the locales abbreviated weekday given the 'weekday' provided + WeekdayAbbreviated(weekday time.Weekday) string + + // returns the locales abbreviated weekdays + WeekdaysAbbreviated() []string + + // returns the locales narrow weekday given the 'weekday' provided + WeekdayNarrow(weekday time.Weekday) string + + // WeekdaysNarrowreturns the locales narrow weekdays + WeekdaysNarrow() []string + + // returns the locales short weekday given the 'weekday' provided + WeekdayShort(weekday time.Weekday) string + + // returns the locales short weekdays + WeekdaysShort() []string + + // returns the locales wide weekday given the 'weekday' provided + WeekdayWide(weekday time.Weekday) string + + // returns the locales wide weekdays + WeekdaysWide() []string + + // The following Functions are common Formatting functionsfor the Translator's Locale + + // returns 'num' with digits/precision of 'v' for locale and handles both Whole and Real numbers based on 'v' + FmtNumber(num float64, v uint64) string + + // returns 'num' with digits/precision of 'v' for locale and handles both Whole and Real numbers based on 'v' + // NOTE: 'num' passed into FmtPercent is assumed to be in percent already + FmtPercent(num float64, v uint64) string + + // returns the currency representation of 'num' with digits/precision of 'v' for locale + FmtCurrency(num float64, v uint64, currency currency.Type) string + + // returns the currency representation of 'num' with digits/precision of 'v' for locale + // in accounting notation. + FmtAccounting(num float64, v uint64, currency currency.Type) string + + // returns the short date representation of 't' for locale + FmtDateShort(t time.Time) string + + // returns the medium date representation of 't' for locale + FmtDateMedium(t time.Time) string + + // returns the long date representation of 't' for locale + FmtDateLong(t time.Time) string + + // returns the full date representation of 't' for locale + FmtDateFull(t time.Time) string + + // returns the short time representation of 't' for locale + FmtTimeShort(t time.Time) string + + // returns the medium time representation of 't' for locale + FmtTimeMedium(t time.Time) string + + // returns the long time representation of 't' for locale + FmtTimeLong(t time.Time) string + + // returns the full time representation of 't' for locale + FmtTimeFull(t time.Time) string +} + +// String returns the string value of PluralRule +func (p PluralRule) String() string { + + switch p { + case PluralRuleZero: + return pluralsString[7:11] + case PluralRuleOne: + return pluralsString[11:14] + case PluralRuleTwo: + return pluralsString[14:17] + case PluralRuleFew: + return pluralsString[17:20] + case PluralRuleMany: + return pluralsString[20:24] + case PluralRuleOther: + return pluralsString[24:] + default: + return pluralsString[:7] + } +} + +// +// Precision Notes: +// +// must specify a precision >= 0, and here is why https://play.golang.org/p/LyL90U0Vyh +// +// v := float64(3.141) +// i := float64(int64(v)) +// +// fmt.Println(v - i) +// +// or +// +// s := strconv.FormatFloat(v-i, 'f', -1, 64) +// fmt.Println(s) +// +// these will not print what you'd expect: 0.14100000000000001 +// and so this library requires a precision to be specified, or +// inaccurate plural rules could be applied. +// +// +// +// n - absolute value of the source number (integer and decimals). +// i - integer digits of n. +// v - number of visible fraction digits in n, with trailing zeros. +// w - number of visible fraction digits in n, without trailing zeros. +// f - visible fractional digits in n, with trailing zeros. +// t - visible fractional digits in n, without trailing zeros. +// +// +// Func(num float64, v uint64) // v = digits/precision and prevents -1 as a special case as this can lead to very unexpected behaviour, see precision note's above. +// +// n := math.Abs(num) +// i := int64(n) +// v := v +// +// +// w := strconv.FormatFloat(num-float64(i), 'f', int(v), 64) // then parse backwards on string until no more zero's.... +// f := strconv.FormatFloat(n, 'f', int(v), 64) // then turn everything after decimal into an int64 +// t := strconv.FormatFloat(n, 'f', int(v), 64) // then parse backwards on string until no more zero's.... +// +// +// +// General Inclusion Rules +// - v will always be available inherently +// - all require n +// - w requires i +// + +// W returns the number of visible fraction digits in N, without trailing zeros. +func W(n float64, v uint64) (w int64) { + + s := strconv.FormatFloat(n-float64(int64(n)), 'f', int(v), 64) + + // with either be '0' or '0.xxxx', so if 1 then w will be zero + // otherwise need to parse + if len(s) != 1 { + + s = s[2:] + end := len(s) + 1 + + for i := end; i >= 0; i-- { + if s[i] != '0' { + end = i + 1 + break + } + } + + w = int64(len(s[:end])) + } + + return +} + +// F returns the visible fractional digits in N, with trailing zeros. +func F(n float64, v uint64) (f int64) { + + s := strconv.FormatFloat(n-float64(int64(n)), 'f', int(v), 64) + + // with either be '0' or '0.xxxx', so if 1 then f will be zero + // otherwise need to parse + if len(s) != 1 { + + // ignoring error, because it can't fail as we generated + // the string internally from a real number + f, _ = strconv.ParseInt(s[2:], 10, 64) + } + + return +} + +// T returns the visible fractional digits in N, without trailing zeros. +func T(n float64, v uint64) (t int64) { + + s := strconv.FormatFloat(n-float64(int64(n)), 'f', int(v), 64) + + // with either be '0' or '0.xxxx', so if 1 then t will be zero + // otherwise need to parse + if len(s) != 1 { + + s = s[2:] + end := len(s) + 1 + + for i := end; i >= 0; i-- { + if s[i] != '0' { + end = i + 1 + break + } + } + + // ignoring error, because it can't fail as we generated + // the string internally from a real number + t, _ = strconv.ParseInt(s[:end], 10, 64) + } + + return +} diff --git a/vendor/github.com/go-playground/universal-translator/.gitignore b/vendor/github.com/go-playground/universal-translator/.gitignore new file mode 100644 index 000000000..bc4e07f34 --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/.gitignore @@ -0,0 +1,25 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof +*.coverprofile \ No newline at end of file diff --git a/vendor/github.com/go-playground/universal-translator/.travis.yml b/vendor/github.com/go-playground/universal-translator/.travis.yml new file mode 100644 index 000000000..39b8b923e --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/.travis.yml @@ -0,0 +1,27 @@ +language: go +go: + - 1.13.4 + - tip +matrix: + allow_failures: + - go: tip + +notifications: + email: + recipients: dean.karn@gmail.com + on_success: change + on_failure: always + +before_install: + - go install github.com/mattn/goveralls + +# Only clone the most recent commit. +git: + depth: 1 + +script: + - go test -v -race -covermode=atomic -coverprofile=coverage.coverprofile ./... + +after_success: | + [ $TRAVIS_GO_VERSION = 1.13.4 ] && + goveralls -coverprofile=coverage.coverprofile -service travis-ci -repotoken $COVERALLS_TOKEN \ No newline at end of file diff --git a/vendor/github.com/go-playground/universal-translator/LICENSE b/vendor/github.com/go-playground/universal-translator/LICENSE new file mode 100644 index 000000000..8d8aba15b --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Go Playground + +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/go-playground/universal-translator/README.md b/vendor/github.com/go-playground/universal-translator/README.md new file mode 100644 index 000000000..071f33ab2 --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/README.md @@ -0,0 +1,89 @@ +## universal-translator +![Project status](https://img.shields.io/badge/version-0.17.0-green.svg) +[![Build Status](https://travis-ci.org/go-playground/universal-translator.svg?branch=master)](https://travis-ci.org/go-playground/universal-translator) +[![Coverage Status](https://coveralls.io/repos/github/go-playground/universal-translator/badge.svg)](https://coveralls.io/github/go-playground/universal-translator) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-playground/universal-translator)](https://goreportcard.com/report/github.com/go-playground/universal-translator) +[![GoDoc](https://godoc.org/github.com/go-playground/universal-translator?status.svg)](https://godoc.org/github.com/go-playground/universal-translator) +![License](https://img.shields.io/dub/l/vibe-d.svg) +[![Gitter](https://badges.gitter.im/go-playground/universal-translator.svg)](https://gitter.im/go-playground/universal-translator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +Universal Translator is an i18n Translator for Go/Golang using CLDR data + pluralization rules + +Why another i18n library? +-------------------------- +Because none of the plural rules seem to be correct out there, including the previous implementation of this package, +so I took it upon myself to create [locales](https://github.com/go-playground/locales) for everyone to use; this package +is a thin wrapper around [locales](https://github.com/go-playground/locales) in order to store and translate text for +use in your applications. + +Features +-------- +- [x] Rules generated from the [CLDR](http://cldr.unicode.org/index/downloads) data, v30.0.3 +- [x] Contains Cardinal, Ordinal and Range Plural Rules +- [x] Contains Month, Weekday and Timezone translations built in +- [x] Contains Date & Time formatting functions +- [x] Contains Number, Currency, Accounting and Percent formatting functions +- [x] Supports the "Gregorian" calendar only ( my time isn't unlimited, had to draw the line somewhere ) +- [x] Support loading translations from files +- [x] Exporting translations to file(s), mainly for getting them professionally translated +- [ ] Code Generation for translation files -> Go code.. i.e. after it has been professionally translated +- [ ] Tests for all languages, I need help with this, please see [here](https://github.com/go-playground/locales/issues/1) + +Installation +----------- + +Use go get + +```shell +go get github.com/go-playground/universal-translator +``` + +Usage & Documentation +------- + +Please see https://godoc.org/github.com/go-playground/universal-translator for usage docs + +##### Examples: + +- [Basic](https://github.com/go-playground/universal-translator/tree/master/_examples/basic) +- [Full - no files](https://github.com/go-playground/universal-translator/tree/master/_examples/full-no-files) +- [Full - with files](https://github.com/go-playground/universal-translator/tree/master/_examples/full-with-files) + +File formatting +-------------- +All types, Plain substitution, Cardinal, Ordinal and Range translations can all be contained withing the same file(s); +they are only separated for easy viewing. + +##### Examples: + +- [Formats](https://github.com/go-playground/universal-translator/tree/master/_examples/file-formats) + +##### Basic Makeup +NOTE: not all fields are needed for all translation types, see [examples](https://github.com/go-playground/universal-translator/tree/master/_examples/file-formats) +```json +{ + "locale": "en", + "key": "days-left", + "trans": "You have {0} day left.", + "type": "Cardinal", + "rule": "One", + "override": false +} +``` +|Field|Description| +|---|---| +|locale|The locale for which the translation is for.| +|key|The translation key that will be used to store and lookup each translation; normally it is a string or integer.| +|trans|The actual translation text.| +|type|The type of translation Cardinal, Ordinal, Range or "" for a plain substitution(not required to be defined if plain used)| +|rule|The plural rule for which the translation is for eg. One, Two, Few, Many or Other.(not required to be defined if plain used)| +|override|If you wish to override an existing translation that has already been registered, set this to 'true'. 99% of the time there is no need to define it.| + +Help With Tests +--------------- +To anyone interesting in helping or contributing, I sure could use some help creating tests for each language. +Please see issue [here](https://github.com/go-playground/locales/issues/1) for details. + +License +------ +Distributed under MIT License, please see license file in code for more details. diff --git a/vendor/github.com/go-playground/universal-translator/errors.go b/vendor/github.com/go-playground/universal-translator/errors.go new file mode 100644 index 000000000..38b163b62 --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/errors.go @@ -0,0 +1,148 @@ +package ut + +import ( + "errors" + "fmt" + + "github.com/go-playground/locales" +) + +var ( + // ErrUnknowTranslation indicates the translation could not be found + ErrUnknowTranslation = errors.New("Unknown Translation") +) + +var _ error = new(ErrConflictingTranslation) +var _ error = new(ErrRangeTranslation) +var _ error = new(ErrOrdinalTranslation) +var _ error = new(ErrCardinalTranslation) +var _ error = new(ErrMissingPluralTranslation) +var _ error = new(ErrExistingTranslator) + +// ErrExistingTranslator is the error representing a conflicting translator +type ErrExistingTranslator struct { + locale string +} + +// Error returns ErrExistingTranslator's internal error text +func (e *ErrExistingTranslator) Error() string { + return fmt.Sprintf("error: conflicting translator for locale '%s'", e.locale) +} + +// ErrConflictingTranslation is the error representing a conflicting translation +type ErrConflictingTranslation struct { + locale string + key interface{} + rule locales.PluralRule + text string +} + +// Error returns ErrConflictingTranslation's internal error text +func (e *ErrConflictingTranslation) Error() string { + + if _, ok := e.key.(string); !ok { + return fmt.Sprintf("error: conflicting key '%#v' rule '%s' with text '%s' for locale '%s', value being ignored", e.key, e.rule, e.text, e.locale) + } + + return fmt.Sprintf("error: conflicting key '%s' rule '%s' with text '%s' for locale '%s', value being ignored", e.key, e.rule, e.text, e.locale) +} + +// ErrRangeTranslation is the error representing a range translation error +type ErrRangeTranslation struct { + text string +} + +// Error returns ErrRangeTranslation's internal error text +func (e *ErrRangeTranslation) Error() string { + return e.text +} + +// ErrOrdinalTranslation is the error representing an ordinal translation error +type ErrOrdinalTranslation struct { + text string +} + +// Error returns ErrOrdinalTranslation's internal error text +func (e *ErrOrdinalTranslation) Error() string { + return e.text +} + +// ErrCardinalTranslation is the error representing a cardinal translation error +type ErrCardinalTranslation struct { + text string +} + +// Error returns ErrCardinalTranslation's internal error text +func (e *ErrCardinalTranslation) Error() string { + return e.text +} + +// ErrMissingPluralTranslation is the error signifying a missing translation given +// the locales plural rules. +type ErrMissingPluralTranslation struct { + locale string + key interface{} + rule locales.PluralRule + translationType string +} + +// Error returns ErrMissingPluralTranslation's internal error text +func (e *ErrMissingPluralTranslation) Error() string { + + if _, ok := e.key.(string); !ok { + return fmt.Sprintf("error: missing '%s' plural rule '%s' for translation with key '%#v' and locale '%s'", e.translationType, e.rule, e.key, e.locale) + } + + return fmt.Sprintf("error: missing '%s' plural rule '%s' for translation with key '%s' and locale '%s'", e.translationType, e.rule, e.key, e.locale) +} + +// ErrMissingBracket is the error representing a missing bracket in a translation +// eg. This is a {0 <-- missing ending '}' +type ErrMissingBracket struct { + locale string + key interface{} + text string +} + +// Error returns ErrMissingBracket error message +func (e *ErrMissingBracket) Error() string { + return fmt.Sprintf("error: missing bracket '{}', in translation. locale: '%s' key: '%v' text: '%s'", e.locale, e.key, e.text) +} + +// ErrBadParamSyntax is the error representing a bad parameter definition in a translation +// eg. This is a {must-be-int} +type ErrBadParamSyntax struct { + locale string + param string + key interface{} + text string +} + +// Error returns ErrBadParamSyntax error message +func (e *ErrBadParamSyntax) Error() string { + return fmt.Sprintf("error: bad parameter syntax, missing parameter '%s' in translation. locale: '%s' key: '%v' text: '%s'", e.param, e.locale, e.key, e.text) +} + +// import/export errors + +// ErrMissingLocale is the error representing an expected locale that could +// not be found aka locale not registered with the UniversalTranslator Instance +type ErrMissingLocale struct { + locale string +} + +// Error returns ErrMissingLocale's internal error text +func (e *ErrMissingLocale) Error() string { + return fmt.Sprintf("error: locale '%s' not registered.", e.locale) +} + +// ErrBadPluralDefinition is the error representing an incorrect plural definition +// usually found within translations defined within files during the import process. +type ErrBadPluralDefinition struct { + tl translation +} + +// Error returns ErrBadPluralDefinition's internal error text +func (e *ErrBadPluralDefinition) Error() string { + return fmt.Sprintf("error: bad plural definition '%#v'", e.tl) +} diff --git a/vendor/github.com/go-playground/universal-translator/go.mod b/vendor/github.com/go-playground/universal-translator/go.mod new file mode 100644 index 000000000..8079590fe --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/go.mod @@ -0,0 +1,5 @@ +module github.com/go-playground/universal-translator + +go 1.13 + +require github.com/go-playground/locales v0.13.0 diff --git a/vendor/github.com/go-playground/universal-translator/go.sum b/vendor/github.com/go-playground/universal-translator/go.sum new file mode 100644 index 000000000..cbbf32416 --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/go.sum @@ -0,0 +1,4 @@ +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/vendor/github.com/go-playground/universal-translator/import_export.go b/vendor/github.com/go-playground/universal-translator/import_export.go new file mode 100644 index 000000000..7bd76f26b --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/import_export.go @@ -0,0 +1,274 @@ +package ut + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "os" + "path/filepath" + + "io" + + "github.com/go-playground/locales" +) + +type translation struct { + Locale string `json:"locale"` + Key interface{} `json:"key"` // either string or integer + Translation string `json:"trans"` + PluralType string `json:"type,omitempty"` + PluralRule string `json:"rule,omitempty"` + OverrideExisting bool `json:"override,omitempty"` +} + +const ( + cardinalType = "Cardinal" + ordinalType = "Ordinal" + rangeType = "Range" +) + +// ImportExportFormat is the format of the file import or export +type ImportExportFormat uint8 + +// supported Export Formats +const ( + FormatJSON ImportExportFormat = iota +) + +// Export writes the translations out to a file on disk. +// +// NOTE: this currently only works with string or int translations keys. +func (t *UniversalTranslator) Export(format ImportExportFormat, dirname string) error { + + _, err := os.Stat(dirname) + fmt.Println(dirname, err, os.IsNotExist(err)) + if err != nil { + + if !os.IsNotExist(err) { + return err + } + + if err = os.MkdirAll(dirname, 0744); err != nil { + return err + } + } + + // build up translations + var trans []translation + var b []byte + var ext string + + for _, locale := range t.translators { + + for k, v := range locale.(*translator).translations { + trans = append(trans, translation{ + Locale: locale.Locale(), + Key: k, + Translation: v.text, + }) + } + + for k, pluralTrans := range locale.(*translator).cardinalTanslations { + + for i, plural := range pluralTrans { + + // leave enough for all plural rules + // but not all are set for all languages. + if plural == nil { + continue + } + + trans = append(trans, translation{ + Locale: locale.Locale(), + Key: k.(string), + Translation: plural.text, + PluralType: cardinalType, + PluralRule: locales.PluralRule(i).String(), + }) + } + } + + for k, pluralTrans := range locale.(*translator).ordinalTanslations { + + for i, plural := range pluralTrans { + + // leave enough for all plural rules + // but not all are set for all languages. + if plural == nil { + continue + } + + trans = append(trans, translation{ + Locale: locale.Locale(), + Key: k.(string), + Translation: plural.text, + PluralType: ordinalType, + PluralRule: locales.PluralRule(i).String(), + }) + } + } + + for k, pluralTrans := range locale.(*translator).rangeTanslations { + + for i, plural := range pluralTrans { + + // leave enough for all plural rules + // but not all are set for all languages. + if plural == nil { + continue + } + + trans = append(trans, translation{ + Locale: locale.Locale(), + Key: k.(string), + Translation: plural.text, + PluralType: rangeType, + PluralRule: locales.PluralRule(i).String(), + }) + } + } + + switch format { + case FormatJSON: + b, err = json.MarshalIndent(trans, "", " ") + ext = ".json" + } + + if err != nil { + return err + } + + err = ioutil.WriteFile(filepath.Join(dirname, fmt.Sprintf("%s%s", locale.Locale(), ext)), b, 0644) + if err != nil { + return err + } + + trans = trans[0:0] + } + + return nil +} + +// Import reads the translations out of a file or directory on disk. +// +// NOTE: this currently only works with string or int translations keys. +func (t *UniversalTranslator) Import(format ImportExportFormat, dirnameOrFilename string) error { + + fi, err := os.Stat(dirnameOrFilename) + if err != nil { + return err + } + + processFn := func(filename string) error { + + f, err := os.Open(filename) + if err != nil { + return err + } + defer f.Close() + + return t.ImportByReader(format, f) + } + + if !fi.IsDir() { + return processFn(dirnameOrFilename) + } + + // recursively go through directory + walker := func(path string, info os.FileInfo, err error) error { + + if info.IsDir() { + return nil + } + + switch format { + case FormatJSON: + // skip non JSON files + if filepath.Ext(info.Name()) != ".json" { + return nil + } + } + + return processFn(path) + } + + return filepath.Walk(dirnameOrFilename, walker) +} + +// ImportByReader imports the the translations found within the contents read from the supplied reader. +// +// NOTE: generally used when assets have been embedded into the binary and are already in memory. +func (t *UniversalTranslator) ImportByReader(format ImportExportFormat, reader io.Reader) error { + + b, err := ioutil.ReadAll(reader) + if err != nil { + return err + } + + var trans []translation + + switch format { + case FormatJSON: + err = json.Unmarshal(b, &trans) + } + + if err != nil { + return err + } + + for _, tl := range trans { + + locale, found := t.FindTranslator(tl.Locale) + if !found { + return &ErrMissingLocale{locale: tl.Locale} + } + + pr := stringToPR(tl.PluralRule) + + if pr == locales.PluralRuleUnknown { + + err = locale.Add(tl.Key, tl.Translation, tl.OverrideExisting) + if err != nil { + return err + } + + continue + } + + switch tl.PluralType { + case cardinalType: + err = locale.AddCardinal(tl.Key, tl.Translation, pr, tl.OverrideExisting) + case ordinalType: + err = locale.AddOrdinal(tl.Key, tl.Translation, pr, tl.OverrideExisting) + case rangeType: + err = locale.AddRange(tl.Key, tl.Translation, pr, tl.OverrideExisting) + default: + return &ErrBadPluralDefinition{tl: tl} + } + + if err != nil { + return err + } + } + + return nil +} + +func stringToPR(s string) locales.PluralRule { + + switch s { + case "One": + return locales.PluralRuleOne + case "Two": + return locales.PluralRuleTwo + case "Few": + return locales.PluralRuleFew + case "Many": + return locales.PluralRuleMany + case "Other": + return locales.PluralRuleOther + default: + return locales.PluralRuleUnknown + } + +} diff --git a/vendor/github.com/go-playground/universal-translator/logo.png b/vendor/github.com/go-playground/universal-translator/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a37aa8c0cd0f6e1b98e0be3eb2531ebc6ac6717b GIT binary patch literal 16598 zcmV(yK*U_<=i=1Q$^7;0v#+eDrK0%p z>%6(N%f`XBv#;pk-N3xJlaY`9`tZ@r#>d0H&B?^Dtf>F`_3`TEoSK)csHK;dl)1LD z{xUb9o}0zMyZALSjf{%1BqI0!{{5jc`1SO`zPq8KpwB5MBz`@`DJHxnB>jUjr=XpP zhJ*ceGX0V>qah&tt}xmxDK3XPA9F;SA|8N$duRs?{%JJ*T{HG>5AcL8I*&O1Ju^KN z1^!Yp@h&apFDzno38}29au*Y6VF#%(B=Pd^`t{{04g#CPRH8PEL>89OH1Y4=wM`?Y+cnsCD|dZGb#-yb zPbYsY6v#U#TTlf1)HKmxCR88|TWkfi;WgJmEa>U!iH1CPzc%zlFUrZIxOpL50SAW2 zHrkRe-Bv8!+}rP-U23*Bp`mB-jzz%dHuKoF($TRq)t%&MEAPFIet}u?$D-;-NTfd? zqGBFudL7@{$H>RCmXS~SDk-e2cr(q3b}2D4;I^fdk8wf@!NHcex`pmIGxX}ykX2Zk zP#l(MXu)GF(Pvk zb5n$3uu@QfLrR3XE#bH{zmF;My}ImfZ|eE@n0GU+i65iC#kVv_JUkHP6q^ z=b4$1KRnawHnN9;XOVD+dTcU@PWtQI+{V7)vVb@}2{~W|d768ob{*KawLyATCMyBY zhk?3y?SQh*YZ(!U#KDNg9qaM-(p?CZPE$X(8z(y`Rk002FaNkl8uC7fajE|-h>jHG2b9lbevz(KOfu`z+X2)PND2t1w1WGFmB z;BZ@Tf}w8eW!d6lVUNJlhe<3w@VLAr5!hqYo=(frj?qrXhNe@r$z?o#)_BC$c#6Tn zw%ibJSrePzu1EE-o7FRWE@Bmr=0#t-W8=a(6GTqoYvcqTWN@=@*0!nMye8HIu2(T+Ak@9J5Z~>D99iw*`m8V%yP8G^_lKA3_-39D4+I+C1zz z%PxAIjtxqC6rEeEoK;TYRK5moFT3e)S;c473ltAKvc{hCWlVc;gKFP7(_^pP+TQSQ zjTnnuLBc{Sdb7KSnYy{T8Mi%*-`7X=bnva_VNVf!d<1rL=-JH6uuGF1?^y5f9AB6q zotFt+&fvKN9wTt?2px9TxG)4b)AV}%MO>l#`PSCbhc8CH z(ahGS3jt5QrHGrvLqpybTd3aT!_Ma3C?0!8iS}-@N4$|3Vjk~Odfkur_B2j4Q=ai9 zwCdFE-MgodJ$v@--@hOJdcD5T)wQs^+~2>veB#83lSsEgpFKBQ8LAYfrz?!j@VGrK zfD?mhnuhu zc6A*>`uqE-yqo0c(WA$Y&khU>p!`akr_C16;qx9(K3}Q48GMs(2|#W(U+C>U+gs?p z^6}jBk0WP#6@}XUG1|MFxifa;Gu`Gf@{^8r3D0vJ&-0ExB2Qql!KaO@u%q%RuxCa- z=nDq{@3OWa?o`}pF?bNzz;Q^nz?4c2d1Yzhk<6eIWaeu#=B8Cm810v^Rke)+e)?h zH``r9!+0zn64TyHj(U9NCw8Ir?OU83bm-%VH;0Wb>dWQso<4o4T$akBA7WgT3iz&_ zN#||w+mrl%lwSPt^Vg61UR6`~YFWHi_l{!JcULueSU zuU#7-U!wAd^F!yiGqsgYce}fpeBa&ns10GwH=8Hj)>BVDk~}BH;~@vhCnx{=D_1_h z9(z4@+Q`0r`z}a*NhgoKotri}dCcg8TMu47d)M~vT^slBr56_$zkgrMPE@N|O(WZ! zsLQ%0YpP1+LKrd6^35*)GUSB5)MzwrJS8#U4D>#RSz-pt?c=lJXO zeSaQ*)aC{sacalkE(o<+>1c~WPfGnKtu-k`2YJOl(N%r)u4fVPB7smYkR!~c!2?5` z13>TVn~)3sx0VVE3qQ8?KZ&MxkE4I%0~`Az9FB(`>c8OVKkXPppkEAHPbYRdx2|$6 zf*j~H;Ex?orIrKyj}eYAQ%S`h#fdpw@Cz<58T?>}2zx?ZT|%y(T{~Xpi=gkZTF;#e z3F=$F{`}PNFa>wR$HyM5Ztd#os_vSakjh6}Iy<|C2zX8|>ielr&R9gEe{Fo0|8gK| zkY8VlfcpEtiRi!U(S93Z-L~--2kINT8Vb8(?fP;$%dGar++*t=TX-4CqacXL~rY1d|=Z=r( zT@Q{j(+PIADfOvY)=!t^b(wRg^=0R7n8aR zGu)okchJ@@r~V1+Ujz8JBY#ZBac;u{>vE*5fRzYXDa*3>N)mKP)O|L;_+)+@W$#W_ z1HCSw0BPQbdWUK^n3k3~2){GaaiQou{J~fvivE1qGekZm14C^s_>uYe_~`Zew$6dh z&dz2jY$hilM;G9l1sq4)7Rn-P`H|OEqLr&S14g)DnOR!8zA!U0bMNinM7RaVpGDl; zY-jGh@Wtt|F$}V_tG&EfzS=j}cU7%lLF4S~p35Z7OJBR(*!bOV-xB?PmY6P)N+eR& zm~-CP8no)@pwxKED3P8YEr^+%?8q=F+vn#4EnG5nUJd7iSCx$h8STYo>M5XqKb%>U znOOtZDR(?fN4Uox1Ub*XkD$wZHf)e>(EIqv@I>f+HsGnMd7^oAVqjvh1vQ|K6RZ%6 zS(agDR(SBQc^!rdmzN8vK88rJqp)LqgEnqF@z805HGQJ@1$%=?VI znx@@zXBFMuwRP&sqPpVZvLw6xjS9oC{Zv}oug2jiu%}ZIcF@Ph^RCBI+pC^=W&^+h zj2nbIz;VS1L`O&K^(`$vP;`|5u!wLu!{jbqrQrBbaLVo`2m4qAM6qoVHq>>S?SyR` z*c}LXS5Tn6g}o`iI4?0VQ5zK%Rio1xlm=zWuo0G1 z^py0Jec*;-d4*BepMTH?oH9ZSY$|#H{6GG`^dbW~(Tbd;`3i5jm;5kK&YSMhLvC&3 zHVlp9eiusn*^WX_1XErv-9)w42ysdA?Q+H zW2CX6=ZBNdm?l$Xli3vMR5s}}x+#0!T+v)!UV9=H(9Y8J_>rsU{BkbR#TC3Ak&M^yN+acyB-!s$e-Ut;vL8ySlm4a z;eC8dRw94`tf=X%Uv6%$8=aRI9J<1TIMbMW6^gFu(4jHQl%}SF=r%{bpn^hWvR;$u# z?d{>=gnV=2*2E~n{(eP81u1Vp-=CRI+4rUIi{BUTb=|}MLKVTK$?cJhCIQZa#yajY zS(}2N?bT>;%*x8uf2KJB_nPh{ry9GsF6g#rFPyoz{6b}Ux%JHA;^J%)xNpWt!c`tW z{u(CNPsL)vuD!{O6hY2%>I8qZSX5O>PtGWEy~`Lmb<%8B>Xe$#4z(JbN}bN!q|z#P z103ko^(ZQx!H{Jz7!K^;PuL-zok!n77@PpuN3`=QIJaXNJwN>xw8No`D|!K~UHql+Qv5HWo# zB}cT^)aaC12QmqJ`hK3=ZTlv`6W5{ViSOGfIrW*|Np9;)2Kq```l9tRy)3$O^iF?{ zPUxJ75m{!I-KK-QaAxVc*K(Nd4R;SXqMht4{NEVX+)5Xg*@A@Hq<~LB?(fg+E!|uH zU3PZ%u1f#x_XH9a#ZAHrAeO}~uDGbkZnqajX~LVrJ32BtOdr;k&6(!Li-vb=RcYZo z`qr(9iCZ7x(X%SDkm@`-$X^FI#FKA=?VA8jd`GrF3{<|9@ts|UOIx>`TRl)x)i(4! zVqK1178248PoY+zy&b-K_%Oy7g$1LI+PVzSss7D$wDbGdl?MTRO~_3yx};tzTQz$r zSe*>=WM;>E0%_2DZ|vGpUk`K^A_F2WgkGGN_tjVSqN1X_;l#xEe>Y_`nRX?JRuvab z&g~`&C+yn9tq{;bzH_ItrY6OpN)iIAqhPS4RrcG0}H-ItzJ63yu82&@oOwU+_mf1X}n+g2RO*VZncK44<-BB z+G+Yq=F+7-dwvP<@5T-$&i;rIO9hgIw?BI0!*bRmde8z!{OebMCn_45k1IEu%%;5w zZ2pLs8`5bugFNbyN1`6vx%0719fnqA*1>c_p8opl;C9=-g_85G(`0|)akx&hT0i8E z*A@6EL~^dPMBnD8U_geo*8BDX#{gcTd}-NoZ9(W=)2}TPcDLmocn>*d*J+ov2jn5X zXFPA=Qd371{#Zkjvdg7$5|ZN*kx0rQ<9P{LJPXA|<1mAld=H zeF6pxh+y>)4x?&9&JdUXE;854k?u3tb-luOx$vDg{YKA04)&K8U7-bQ)+Wt*$g!p+ zd>R)h=2(eXDrI1_slN=}1S%ohp zYxPt}n<|U+ZLLX3DU^`n%%gKDue)jSGZ|@jXG+Vz=eq5l&YUz)X3nM`O}_;8bW6G= z_o!T>E7p}a=o+%+4G~%088Lh6<#L=(cY(ZrFR_KH+jR%FgZ+7u*Ku0ym53ZDlD%;M zDK00U$79jCFr3=+e>+Zd8Kbx^y8rpdw;+ePi0(rEcF{vXXUH9M*J=IbOtmtzv9U2p zZ8n=LDb51T5%B!EI7_u9F0HyYe&&bWyDz1GlxsT+qsKmW{8-WTmSZB|aUiV( zp-$K&$n7N5VfYthn(2a0mpq8WDj|Q##oe9cXkS151>`UX`LAYm5)73sDbrS_7t)At z*5MiTSA0^HksSw%*X)LU1ay357LSh~J$h6Zm8R3Ap?k~D-LOHIy{AFm-Px^**;QYa zRWHuV0((CzdpO8}4s*y3Xwud&^^FK$SLZ;dLr&F+Ft25_rg2cGMHE*=P(hwTxPLCH!Q#wALd+)uu>YY1x z@80P^ABRO1AI(Ks%hl*K+3~t~e6n@AtgJn{^)dCj`q*8&RP*TJAcw=-+1WIg>Og-! zi0R>uof>t-y6A!jjiN=dZvEf4lN?@2@VXN~XWf0N=0ImPpPrm-n>8vX&)n@Ol2R#B znbf1LwNQFh?-AAi|L(|>>jb9nKL5a# z9Oin*V%Hps8x@|4J7>=Pz-uLu-d02$AM6y*6+OQCyoDT5;^I)icc$llc4<5}_oyZ} z9q6GAFnMu9vAj6DbA5(iJ=DU~vNpz>?Ab;zfJ01KKV`b&+4+RMK#-yA2MrCG_ zjasUD`OG&}adz8*Hiir*E=5IYiqq0M(?ZkbGuepsVqLeqJEOB(2kKohauw41-dFoo zTMPU9LH@!E;jl%)zA-iRc}Di9+Jk~xPK8|TB|^jN?%g<&O~C;*1>ZTr|1HqT^~&AZ zt2|$RWm0odWs$lF-$Id8uw<=`?m#1}vaQK}T3tBj~iK{rDR^4%a1L}Fip6pKf zo^E+P(CcIO@2Z!pRH`=%LEgUw>`rv2>e~rA)5v2sH_8=VnBt-*_gW4*wPuqbAjy{F zg8t9slNhyMMJprJo3Y9#Q_FY~k2ZAkutg4!9=0@%*iP77rNsdba<2F7igPm&jID>o z#Kgo_Rqc*a9xqlw4X(wq?9avVNq zlfWb>_yT3k)!mnn1Ko?Cg6jldkn@@v0Zpnql3mf#LUJI^Vez+xlB;b|b15a~Lmi@X zJWG2YK1tUT^v0&MU$F+&){6@@u6Tr zjdB19{%^XtMFoAbLxMTGeca3`Dl2Pk)9Z^WWs<-7woPeKX~Znm6;#ut=)i4DZGI`h zOUtV7N~y{@4xQgO_dr`{X@zvA z9J2{nIpTZ?Ix9NJfxgt`Nv!vrR&C#Sx@&moL?lHYuRFE;i^icGLGYMgK=2as!*F+y zzYB7^=2C^ii(DQ062r07cvB{%yjs=fMwz`zF6@(vkk(-#is~cOIV0CsxT=)reLM7O z{`m-UPzCo=aF7%BcH;2FTvT^-HCu;GT{Si0(*uFSLtPj@?fr^guIS!|F@Y(-mgIM0 zaW8WisqhzQofDQsa1z#?_ca*OC3#HY)*TC(}?XH@?&Z-WxtL~JYjrGCdlLMQysqz8SfFa-G>$_VQx`Nh36<)yN?DnC)#7fB z!>_%4IZIsJ+?=ICB0tL7{@(1QvYaHs45Uw{tXPiEHi zq;9v>)C6A~O&ks3E?4zOPYwjEGlgLhcHN7M-5uy4zvVcsRg7q(#oprRXf3(HQ)IUJ z(u5qhYprT2kK(wXIgT4Cestix!M$rbb2e+FyM>a9riL|Pi${b zWYL!fd*tdHml<@G>e3Yo=eHL4-U>46j7L+xp|&jsyRdcav_GR z?TLwOu)`KNH6uRBVLeKlQl-)kmWV=@sXCVuBE7nXm4b>5UH&(vkkqhs7x<)`RO!=hk@B#+>Rab5%2HV z@qUDT;C_V5J-1;)dF|B@?)S7eM0aW)%WxBPyXuLse{y(u{0LS@BmIVYYLo{hWD2@W zboZVy!GJQ!6dA~Det&WKgV$KiKP2R^X|e|>@v@5htOl`G9KBCW0iDKWi+vohILtX5 z^p*J^*^es_9A7ZZoR6G~M`F*2FVBc^fIH)yC5P$^JM5o4eyi0V`;&p#WgX~oN6;>J z0et0m>jc5dfw0Ihzd--h$)=yy!QEN%TWxJW>+df)pr5|OSDf3oFFG2ZXzc}>q&b_B zMpg&^BI6+advZH0JMHW&ICIl5U)0LyHUE0eet<6}U*hm=L-*YCgZ@xG46Ceyo+d7D zd3%z`xob`i3j~46u;DJPA=%%@|0kPmUi4qEJc4B@?^XHJXFAqO`V1r1zKLtsR*;NE zNzF#Pd#CU{q(+zR9chQO!m{&Hv4xPQX#j3VXTf1#kFu$KhQ1i<)SPUJuM zj6L-LfC+56y*~W^lm#th`;^yuyU3>Y=Bs#gX zxN*THx|cicONSWMm{YK(W-A(|v90N^r041!rU`A>rg4C?uVnZw%yymDml4p z^m^gTU=MovKC&c}*us#r9&ZPCq7Nqfe2aR-pda$Z&s?U*NA?7pOv(Y%6~k)7gUQK0 zPXzxS#^$&-EO5FRvD@!aGJV(U+5=erBbz^6`zYjanHk5nd2`k^-vU{R(Sp&GUG>oM zZ5lf{)4a0iGhRQkVSen#&u&g#tE(%ltE+q2en+0jqO)y0J_P+)(#k#;`K>=vJhLjj zDUys|mm@j;KfzeA0IK^LwAwBofAX$JdD#!-1bxj)vM1(_E%vq6zP{+w){!n8mrh3; zP?>3?t*o`RwXLm94=ZA`CPfMH&zg&g9c98Cs=H{;pvT01{ONu+!|ngfTKN5O>D1Ks z9zV8_B>{)%4%Nf)K|f~~9kP!c9En^VwmOiYuRDl&ySn`A%x**wgO0!UE)4c?Ms(|g2CMy12+&Pq_u%a! ziOWhQZw%-Gfyx`CR6=wgpC=AI^yt$zfZw|H0Q}u;1(u~|^$B3tVn=nvYQ4ed2zgxS zE>vK*U!tfik_qSiodN)Tp2_W+;!qadsW~ZX1U+VRZAlf|$MhE>%)cUcmcFa5x76XP zJduPuW)*eUUzl&>!y);g^^r$>h9i^xfsWT$ICA<@{~MmBOC;O{I_0brprKJlb|J+N zgZ&Vmu|4|e&9I`IX0;XsGxg9iuu zuqIF5#P}!U6;uFJ7mT4u{r~d{{YO5J)tr*#)Qq8zwfTvo#i?CPtTX5!huvS|)--)a zw#q}{A!(XCZ|$>Mts^5NR&tLlRg*lYuGAyZt6S$YJjeGH{cYSNYBb}WgdFH;5svdY zJ~6}?^eSp<6xf?_U?H9R$5?|PZITxa^q>|(e$2hsyTr=+`}M~s1`m^+} zk2rdWpck2C5|LhA$x9JQGc#F_$6+?9IdeQ+jvIysW^EuLAuqlmuUj6mzB@0AxVyL$ z4qu-aJCQT;`sS@0+g~r-xOdA*nUt*3k`V|&2YJh}RphC_r-R6Ig#F?g!ysM&;#ElG zL7#6|M+Tbw0&44d(q-Q%l06rGzZ+>}TLX6*pw|{x?0MNM(^eHS2w6q_?+H`NP_lgzP>mx6aB=_u_k3P+) z?qe7vNjYG^WP0@gS$Q~#=Lw3FI z^kQ#lUte#p+rA4F$6!E4qNPdBj>arwkE;qgrLh@`!#X>ea{d=7=N{8m702;%aa^D< zV6csc@^TEk>mZD>DT%9=&`nn;gh)mlB7!rdB9AJME`b_S!eiwj ztdeHfL{c_bjmTcch>`u}|Hkh*x3{+)Iw$_<;Qj;ar@!axl#^7s(}uH{Y;^fAa2w@GE+?S3Ep z{Oz~%^F4tvUh2BKPS&D;Oly$Rx%c=!JlS~bVug~%%PXR^tFgEVUFh02#JbG1Hj4fs zK|iWiefYX6=Vd3lDs^3Z}T+Ya;&Ni@f!YgQA1J`fWyK%5;X(4!FEX-yLqx}StO zvq`UuOHP2T0^S!C>=UXTiWi?HgPSd*;fB$KaJ9bkRLETcolYqut+(&mx3K>6{O>(6 z(xBB&wIz3z1iCvgYY78VLd(Bg2Z+2ir8OlLRQf6^D$l010h^$|1oUdv`+2I5dGy!v zw0Uo7b($(eu6+&YXc+P65lgLzaR@ILFc;IX>f_gL+Az^7-f8e=hu$F%q3A7}estPl zClWei9YrA0N6X`Y}!prk%Okx6*BdR;WvleVA97X%R&DC&^KGs4G%(E9BPQ3WVdbTMFDE;wHAn3hB92y`<(J4RpFY&niX{j{c{56Ajx2`3ml z3fQ;c>p4Jo)B2IDr>0~gI!SKW&s+)ExP68iybs8Cn>KJ{GmNBl7`%LMaDv`qk|)q8 zHxsyH^j%19*lhfyv{Tm^M^|oc=wK(aO{nJfg)QB^NrbM+Cg#s=d3U|a7w%$7!w0WjnU;tsxcgfeU z!?dyx7KV9G__}WK*;7dg`FeRQjqo#4cN+G;pa+uVW{6GJVKT>Y@9r}s&UvEy?;{8Q z&z$ienRm*$b0Z@-4u%F5>Am6&pQ(Y?1u=tp?;Tih9fz8ispN9RXD5#@M; zUofRC52d6oL`9K%EKJWmrz2O^$de5Sa+{ki%nln=5G-1gS{}57_x38x_&7y$jFZ## zx)WV0t*op2e!iCY`o#BDyx=f6mT!;;VjCm~uFlJ6-XzA55Fs*gIpRz!<4JhY;1C}BLr<47kbpwp6LEtidvj$ud5s%uc(|KfsBujHs zu&DiuCeolf92|`Gx_Pw4UJ1D9V@qY-!+W&I#AW{29FwE2=PFt>@h#h zt83>+6l!>Rt$O|(1e@nSZo3i;tX{b|f1ug3=c{HsbI`g!Gpgm$tGA*1!O`1o2iI&x ze~V5d{Gu)+_2JOdQD)kZ&6#$XrqM%POeS3#xfef}x)b&Uawo^A)iBnHv>qa$3)#(Y zR|nLNF`uH5`Pw=Zv9=FJftcKx8M3trvP+}!MTCi;sSA~5@A^0wGD`#u@a zPY`s4>LQPxrPgNUXj3-qyEOLw<+i9bTa1v~Ku*z7&4C=f5?|kSQ)=pZSd@+)E_k?i zT4z2LVvRNH_2KEyau{9QA$#!gq;zw5EY|%xY(Y?Tu#1U(cRSU3Gql}Tr)Y!D;p>R+ zw(%-nUWEudt==&Ci0tMwJzX_LXTGT6u(Dv*>;aNd?bVmxQmIcUh_B~$Q*>zk{BFCy z%pTQYi!|7RM07$f6{4IEt}wZ~n3}pV7`B(#d)`p&b9#qEXHK?S^3&g(9w0+5GT9D{ zo{2i14x5j6bdF8;-V3=)J5(Y%&2B&sX#e?~Q^vo)NsRsGcy@L+4^NhF5{B*of!({N zr1aDBlG4(W&u9R;Zx5Bg*H2tkDNxI_=3$*$U6)m$%_z_Y_}WHCZGMPxqc+5MF~Ead zK!>mIj*LSIZ(1DGV+O=DsDIvc4_o5X4y&biF6F@NB*$Env3I157c78za&+`6tm$S$ ze7FT2*N~7?+Y>w32|7|a0vn=R8TE4rzCm92=1_5cNsWYotuwTg^)7#}SqeWW=VL&W z&F(X5U%YriMdV_JR;AL`W#y~TvkAJeX|ru=?%Td#qwm~S^`r3rdWmkw(A_ZEroDXB-mrlx2GAF?s==(t${^?w zUiWO9p;$Nv7+M5$C|z)MitbC$BcpUVD^JsFOHju4S{?LWD!ggyMk3}wPEN{}u3wi8 zkUd1N|8nb6fB#&6Z@)!7hCdi0E?dJqLVU;gxrsU|WE*0l z%F)~gbllSvYF?;4p6^DdPo+Iefy}C|^Ia#!LicZx|=kx;>#>W*m5$35-OP}~2($)sWSM+5L zV}#I2OF4kVH+~tA(W`!DFJ@7pL)Lh~OgZ6=68MPisZB)3;w5VTVLA2y%=mIR^!oVN za9o=7%<|Go>#b`m-M`^#21YutbVv5&T}nwX)w)%$9r>>m^wyho>i54Tc5$@-0|-^qv5389|oe03Z9LVZLDo@$A6KChyh0HFb zH|ekA^*^-Xq<(=~-FL`Hb?zd+to(?BY9G`5mrZ$+6K9vnVpwKiz>6mbx@hn2sV$OM zx`58#I~W^2XUVr*-@~%AlU^LLIT;BlEKM=)I%iqUKdFR$1L*kb*CV^R%J|T279Vra znbN;OkGa_B0*5r+_(=H?N}9)@vyFLnOlern>=agSth1P*!@GE9=pzJ1!2Y8(j?VDtI3JWOqCdKV*>@q}he~y2-0s-K{cKKo9a*x=?b8&f7b>u^^`# z%sPvuKfgeogGi~_NSvZWKRhb=lQR0m(e&}y`hKv*ItTLp1ie~L)Q%>VE6@SmrS>9S zop8E9eaLtW=m4kEnA=l$nS}C3RVZb_Q zLr^-sTY=1-lhBT_YrJoOi%O^Huy^;Q?o>K=1xUtEJY7?Lw5zbeUY7t>e@cVp)&9rjhRZL@fiLU zrln!fK{?De4Re>ji@tQZr)STlo*U5|+k?w_7{SVxy8+FklYbz`r^BqH6dUm7(J8rS zCC8(KT(EbX@d`PmvtZT@qCVohi>Ld*B$kaXduBN)RY5fS4+&j-@}B`Z#sT6_jg1|5 zQ#-m;e1nd%<0_h=PNX#j&POZG76Kd8g+`pxtWE^ zON@Zd>}y5+D#o}g10)b5_$AIpgIp6BNR=*F+*~lm}B~8kn%Sz?&C8hFo&_{(Bb_!y|k|xpJD$#tM6v`FKZc zQ~INxPFy{1I_G(iQ*?DcnQ5hw1GXa-K4flvSxOT1azhW<|(3Ixh;XVH5*TL2eCp0E53{WhKEG`gQ5;{d6>n1~Y%ma5 ze%K}aNC~DK+Vp_bAjJX&l~pX!HM@JUkSiCE6(PF9szj`{VmUYnXKNuyYDA-?mnbI= zsh~ZyRfU{fDpf5|C4zE^Q2q(TcV>4o9$LVOR9;-yQ7`@Y`{vD?H?#AWj`#f-Tvb8Q zUxWKlaGD_9;s-W;cL!JpYxaX9{H|njNAxrP{08)3)lS)azB%(9Qkr}U?AFTRqbo-b zTZUFDhsq_bTvp4Lx;{EpLvo`M^rK}B=xpIG%i}ZL;Rk1KDR4;S-xqIb96ccCbGjfp zVqD)Z!Ce(JzK^vBkLS;AqgJx}6XJ(3+PUn0kpH{vllyxveEH@X`^Y5bH zJ^uSU3>{aL@axuK2%L&cu2tNv0bO7hWcOYE(F<#j|L_L}`pfU;&!0?zdu64RR?CK= zOP65uu<`3BHspiAXcZJDAca~fGrg@ zXaUNypPzhv!T|cGVXbP_jO{5Sw?W=(En_)N(2?B$eXCq1IZZ<^LUX_)o>TO(4;^ez zlZuqxP(hyLE{ivC?6?#-Q@L5-8-bNImmP%IEA*pTR~CjEX8 z>A)_?&e&qn8IoWk7-CsWpnHEm4E)p9JqzF|z|j9S{59x_T{BPGjLSp#~jHQiDq zsGg;YW;(C;L2N8*xG7Ur(2`b z8bu!(CFsatG1p-T$UZs|9U086-xhmRX~Aq@w%2m8^k#3-ZFF_ndLtHP`GtGq!0v zF(NuA?-t2{4)Wg*ku4V(*eCs~(j&iZ!r?(axGLfd-NZEC>G{!N$R4mC5ZNI+Vej5I zn}=C>ihe7XZ|1j>Eu(4}O4({!B`sA-!_$vinp{q`q;;za^stn1OfTsG&iSKXRNxrc%gd^^9xB5b@^qq~|8u$i?VRV;s)e zf3rCiOXGobOKn<)Va2d;l?Zwhi&p#<);vsZwwX=Nn-#}|`{(8h+MJ%4vvZD?gEOtE0_g@+bTz-JE3tKTXm%mBT z^LK7yBdUL~7w|#fgS3hXN=v3Unl-gnBF?@MADXTjHBuFI^^8Owlkn`cr-xk~GHVT6 z#mn>-^h(q-l*t_jANT-SAV8EK@>Q9n2(Ueq}&dkrOkQyCnK;ggPO| z!yt^^*Ig{wK!&^Lanorve**{f19reCeD?G>rPnliRX8yXIZHf5&~vKoNYWQ(*fz-* z;M!rwjoWTUpPSd?b=&sliR6qt&>W%*1D%m$NS>BNOZ>WuaL+ZDw=a%ugIoqxhoO$i zPT7Ip&JOh1>l3g~w^?jVcxVAZ8$PIk`gn^Ic*!H^URYH!r*tQ3yJ=+Z`dpMqp7Gq=oE`nlZHw)q z<}8`Pyv9Ty7BW^A+L-Fd;#SWMUWE3$YX$SzC9eC9%Tsndasz)S=<92=XoJ-|7oJLw z{ubjnFh|C`N(Vmp@h9Zzu?)~L%jvq8Fy|4~qlIEtuefH^p6h8iEpuL&)dX@RGsN9F z`N);~?C60q#6BxMSIPP{#5UbJp5PceOX}Lf{8tqHgB#sJ!AgJ^y4)AOy<2b!$cE8t%=oOIDMpsA~@74TSHqZwM`NJLD9VqXm`O76C)V;u~ zRZEY*_`}3`kgxeg8yII7;h9nLG|;s=vi7XrsO$6fLN-&V7xe|#?6KXt9?95quH7GD z)A{Y2ocy^Uxcj0H_yc`-JoMifd%DEn8K5(EA=JU=ucIf&ylJtPPZ13ae}EbQrV zV26r&v4U421KtMG8GFGj7VWNxQ_yGk`{d-P)Sm!n`72G`LEb*lp9=jK8G`zrYrqR+?Y^hyzW7cvbqA4f-Sr5ueUzLvaeN$c zN4~mq=gtS4q#5s%SFUt3c+fwz)XZ9+$XWABkh2YCQFBE14o3Rk8(kf|4|{N)uJ1bFF9hp%-l;Rvb+;eJ;5k1mnn*vn zRR5`tmENP7u0(G#8I97WR;;HNeh)bt=Pb5U&1rCd;(_ZHiyEwno#Y`YP z=)oSiJ!{S?@Z$sdh<6zNiBL0eLe3l2ve3@Qxsb|0^hxP~+r$6B&T?ARtbF0Q@`N77 z;R&Z;nSQP}xQPjUTE$82e&nx658Oi1fxoe{+C1BsAngAEz5qf00MAd3Cq<=4x Z{{;$xH 0 && tarr[rule] != nil && !override { + return &ErrConflictingTranslation{locale: t.Locale(), key: key, rule: rule, text: text} + } + + } else { + tarr = make([]*transText, 7, 7) + t.cardinalTanslations[key] = tarr + } + + trans := &transText{ + text: text, + indexes: make([]int, 2, 2), + } + + tarr[rule] = trans + + idx := strings.Index(text, paramZero) + if idx == -1 { + tarr[rule] = nil + return &ErrCardinalTranslation{text: fmt.Sprintf("error: parameter '%s' not found, may want to use 'Add' instead of 'AddCardinal'. locale: '%s' key: '%v' text: '%s'", paramZero, t.Locale(), key, text)} + } + + trans.indexes[0] = idx + trans.indexes[1] = idx + len(paramZero) + + return nil +} + +// AddOrdinal adds an ordinal plural translation for a particular language/locale +// {0} is the only replacement type accepted and only one variable is accepted as +// multiple cannot be used for a plural rule determination, unless it is a range; +// see AddRange below. +// eg. in locale 'en' one: '{0}st day of spring' other: '{0}nd day of spring' - 1st, 2nd, 3rd... +func (t *translator) AddOrdinal(key interface{}, text string, rule locales.PluralRule, override bool) error { + + var verified bool + + // verify plural rule exists for locale + for _, pr := range t.PluralsOrdinal() { + if pr == rule { + verified = true + break + } + } + + if !verified { + return &ErrOrdinalTranslation{text: fmt.Sprintf("error: ordinal plural rule '%s' does not exist for locale '%s' key: '%v' text: '%s'", rule, t.Locale(), key, text)} + } + + tarr, ok := t.ordinalTanslations[key] + if ok { + // verify not adding a conflicting record + if len(tarr) > 0 && tarr[rule] != nil && !override { + return &ErrConflictingTranslation{locale: t.Locale(), key: key, rule: rule, text: text} + } + + } else { + tarr = make([]*transText, 7, 7) + t.ordinalTanslations[key] = tarr + } + + trans := &transText{ + text: text, + indexes: make([]int, 2, 2), + } + + tarr[rule] = trans + + idx := strings.Index(text, paramZero) + if idx == -1 { + tarr[rule] = nil + return &ErrOrdinalTranslation{text: fmt.Sprintf("error: parameter '%s' not found, may want to use 'Add' instead of 'AddOrdinal'. locale: '%s' key: '%v' text: '%s'", paramZero, t.Locale(), key, text)} + } + + trans.indexes[0] = idx + trans.indexes[1] = idx + len(paramZero) + + return nil +} + +// AddRange adds a range plural translation for a particular language/locale +// {0} and {1} are the only replacement types accepted and only these are accepted. +// eg. in locale 'nl' one: '{0}-{1} day left' other: '{0}-{1} days left' +func (t *translator) AddRange(key interface{}, text string, rule locales.PluralRule, override bool) error { + + var verified bool + + // verify plural rule exists for locale + for _, pr := range t.PluralsRange() { + if pr == rule { + verified = true + break + } + } + + if !verified { + return &ErrRangeTranslation{text: fmt.Sprintf("error: range plural rule '%s' does not exist for locale '%s' key: '%v' text: '%s'", rule, t.Locale(), key, text)} + } + + tarr, ok := t.rangeTanslations[key] + if ok { + // verify not adding a conflicting record + if len(tarr) > 0 && tarr[rule] != nil && !override { + return &ErrConflictingTranslation{locale: t.Locale(), key: key, rule: rule, text: text} + } + + } else { + tarr = make([]*transText, 7, 7) + t.rangeTanslations[key] = tarr + } + + trans := &transText{ + text: text, + indexes: make([]int, 4, 4), + } + + tarr[rule] = trans + + idx := strings.Index(text, paramZero) + if idx == -1 { + tarr[rule] = nil + return &ErrRangeTranslation{text: fmt.Sprintf("error: parameter '%s' not found, are you sure you're adding a Range Translation? locale: '%s' key: '%v' text: '%s'", paramZero, t.Locale(), key, text)} + } + + trans.indexes[0] = idx + trans.indexes[1] = idx + len(paramZero) + + idx = strings.Index(text, paramOne) + if idx == -1 { + tarr[rule] = nil + return &ErrRangeTranslation{text: fmt.Sprintf("error: parameter '%s' not found, a Range Translation requires two parameters. locale: '%s' key: '%v' text: '%s'", paramOne, t.Locale(), key, text)} + } + + trans.indexes[2] = idx + trans.indexes[3] = idx + len(paramOne) + + return nil +} + +// T creates the translation for the locale given the 'key' and params passed in +func (t *translator) T(key interface{}, params ...string) (string, error) { + + trans, ok := t.translations[key] + if !ok { + return unknownTranslation, ErrUnknowTranslation + } + + b := make([]byte, 0, 64) + + var start, end, count int + + for i := 0; i < len(trans.indexes); i++ { + end = trans.indexes[i] + b = append(b, trans.text[start:end]...) + b = append(b, params[count]...) + i++ + start = trans.indexes[i] + count++ + } + + b = append(b, trans.text[start:]...) + + return string(b), nil +} + +// C creates the cardinal translation for the locale given the 'key', 'num' and 'digit' arguments and param passed in +func (t *translator) C(key interface{}, num float64, digits uint64, param string) (string, error) { + + tarr, ok := t.cardinalTanslations[key] + if !ok { + return unknownTranslation, ErrUnknowTranslation + } + + rule := t.CardinalPluralRule(num, digits) + + trans := tarr[rule] + + b := make([]byte, 0, 64) + b = append(b, trans.text[:trans.indexes[0]]...) + b = append(b, param...) + b = append(b, trans.text[trans.indexes[1]:]...) + + return string(b), nil +} + +// O creates the ordinal translation for the locale given the 'key', 'num' and 'digit' arguments and param passed in +func (t *translator) O(key interface{}, num float64, digits uint64, param string) (string, error) { + + tarr, ok := t.ordinalTanslations[key] + if !ok { + return unknownTranslation, ErrUnknowTranslation + } + + rule := t.OrdinalPluralRule(num, digits) + + trans := tarr[rule] + + b := make([]byte, 0, 64) + b = append(b, trans.text[:trans.indexes[0]]...) + b = append(b, param...) + b = append(b, trans.text[trans.indexes[1]:]...) + + return string(b), nil +} + +// R creates the range translation for the locale given the 'key', 'num1', 'digit1', 'num2' and 'digit2' arguments +// and 'param1' and 'param2' passed in +func (t *translator) R(key interface{}, num1 float64, digits1 uint64, num2 float64, digits2 uint64, param1, param2 string) (string, error) { + + tarr, ok := t.rangeTanslations[key] + if !ok { + return unknownTranslation, ErrUnknowTranslation + } + + rule := t.RangePluralRule(num1, digits1, num2, digits2) + + trans := tarr[rule] + + b := make([]byte, 0, 64) + b = append(b, trans.text[:trans.indexes[0]]...) + b = append(b, param1...) + b = append(b, trans.text[trans.indexes[1]:trans.indexes[2]]...) + b = append(b, param2...) + b = append(b, trans.text[trans.indexes[3]:]...) + + return string(b), nil +} + +// VerifyTranslations checks to ensures that no plural rules have been +// missed within the translations. +func (t *translator) VerifyTranslations() error { + + for k, v := range t.cardinalTanslations { + + for _, rule := range t.PluralsCardinal() { + + if v[rule] == nil { + return &ErrMissingPluralTranslation{locale: t.Locale(), translationType: "plural", rule: rule, key: k} + } + } + } + + for k, v := range t.ordinalTanslations { + + for _, rule := range t.PluralsOrdinal() { + + if v[rule] == nil { + return &ErrMissingPluralTranslation{locale: t.Locale(), translationType: "ordinal", rule: rule, key: k} + } + } + } + + for k, v := range t.rangeTanslations { + + for _, rule := range t.PluralsRange() { + + if v[rule] == nil { + return &ErrMissingPluralTranslation{locale: t.Locale(), translationType: "range", rule: rule, key: k} + } + } + } + + return nil +} diff --git a/vendor/github.com/go-playground/universal-translator/universal_translator.go b/vendor/github.com/go-playground/universal-translator/universal_translator.go new file mode 100644 index 000000000..dbf707f5c --- /dev/null +++ b/vendor/github.com/go-playground/universal-translator/universal_translator.go @@ -0,0 +1,113 @@ +package ut + +import ( + "strings" + + "github.com/go-playground/locales" +) + +// UniversalTranslator holds all locale & translation data +type UniversalTranslator struct { + translators map[string]Translator + fallback Translator +} + +// New returns a new UniversalTranslator instance set with +// the fallback locale and locales it should support +func New(fallback locales.Translator, supportedLocales ...locales.Translator) *UniversalTranslator { + + t := &UniversalTranslator{ + translators: make(map[string]Translator), + } + + for _, v := range supportedLocales { + + trans := newTranslator(v) + t.translators[strings.ToLower(trans.Locale())] = trans + + if fallback.Locale() == v.Locale() { + t.fallback = trans + } + } + + if t.fallback == nil && fallback != nil { + t.fallback = newTranslator(fallback) + } + + return t +} + +// FindTranslator trys to find a Translator based on an array of locales +// and returns the first one it can find, otherwise returns the +// fallback translator. +func (t *UniversalTranslator) FindTranslator(locales ...string) (trans Translator, found bool) { + + for _, locale := range locales { + + if trans, found = t.translators[strings.ToLower(locale)]; found { + return + } + } + + return t.fallback, false +} + +// GetTranslator returns the specified translator for the given locale, +// or fallback if not found +func (t *UniversalTranslator) GetTranslator(locale string) (trans Translator, found bool) { + + if trans, found = t.translators[strings.ToLower(locale)]; found { + return + } + + return t.fallback, false +} + +// GetFallback returns the fallback locale +func (t *UniversalTranslator) GetFallback() Translator { + return t.fallback +} + +// AddTranslator adds the supplied translator, if it already exists the override param +// will be checked and if false an error will be returned, otherwise the translator will be +// overridden; if the fallback matches the supplied translator it will be overridden as well +// NOTE: this is normally only used when translator is embedded within a library +func (t *UniversalTranslator) AddTranslator(translator locales.Translator, override bool) error { + + lc := strings.ToLower(translator.Locale()) + _, ok := t.translators[lc] + if ok && !override { + return &ErrExistingTranslator{locale: translator.Locale()} + } + + trans := newTranslator(translator) + + if t.fallback.Locale() == translator.Locale() { + + // because it's optional to have a fallback, I don't impose that limitation + // don't know why you wouldn't but... + if !override { + return &ErrExistingTranslator{locale: translator.Locale()} + } + + t.fallback = trans + } + + t.translators[lc] = trans + + return nil +} + +// VerifyTranslations runs through all locales and identifies any issues +// eg. missing plural rules for a locale +func (t *UniversalTranslator) VerifyTranslations() (err error) { + + for _, trans := range t.translators { + err = trans.VerifyTranslations() + if err != nil { + return + } + } + + return +} diff --git a/vendor/github.com/go-playground/validator/v10/.gitignore b/vendor/github.com/go-playground/validator/v10/.gitignore new file mode 100644 index 000000000..6e43fac0d --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/.gitignore @@ -0,0 +1,30 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test +bin + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof +*.test +*.out +*.txt +cover.html +README.html diff --git a/vendor/github.com/go-playground/validator/v10/LICENSE b/vendor/github.com/go-playground/validator/v10/LICENSE new file mode 100644 index 000000000..6a2ae9aa4 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Dean Karn + +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/go-playground/validator/v10/MAINTAINERS.md b/vendor/github.com/go-playground/validator/v10/MAINTAINERS.md new file mode 100644 index 000000000..b809c4ce1 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/MAINTAINERS.md @@ -0,0 +1,16 @@ +## Maintainers Guide + +### Semantic Versioning +Semantic versioning as defined [here](https://semver.org) must be strictly adhered to. + +### External Dependencies +Any new external dependencies MUST: +- Have a compatible LICENSE present. +- Be actively maintained. +- Be approved by @go-playground/admins + +### PR Merge Requirements +- Up-to-date branch. +- Passing tests and linting. +- CODEOWNERS approval. +- Tests that cover both the Happy and Unhappy paths. \ No newline at end of file diff --git a/vendor/github.com/go-playground/validator/v10/Makefile b/vendor/github.com/go-playground/validator/v10/Makefile new file mode 100644 index 000000000..164e8bb91 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/Makefile @@ -0,0 +1,18 @@ +GOCMD=GO111MODULE=on go + +linters-install: + @golangci-lint --version >/dev/null 2>&1 || { \ + echo "installing linting tools..."; \ + curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s v1.39.0; \ + } + +lint: linters-install + golangci-lint run + +test: + $(GOCMD) test -cover -race ./... + +bench: + $(GOCMD) test -bench=. -benchmem ./... + +.PHONY: test lint linters-install \ No newline at end of file diff --git a/vendor/github.com/go-playground/validator/v10/README.md b/vendor/github.com/go-playground/validator/v10/README.md new file mode 100644 index 000000000..28975a6e5 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/README.md @@ -0,0 +1,304 @@ +Package validator +================= +[![Join the chat at https://gitter.im/go-playground/validator](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/go-playground/validator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +![Project status](https://img.shields.io/badge/version-10.7.0-green.svg) +[![Build Status](https://travis-ci.org/go-playground/validator.svg?branch=master)](https://travis-ci.org/go-playground/validator) +[![Coverage Status](https://coveralls.io/repos/go-playground/validator/badge.svg?branch=master&service=github)](https://coveralls.io/github/go-playground/validator?branch=master) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-playground/validator)](https://goreportcard.com/report/github.com/go-playground/validator) +[![GoDoc](https://godoc.org/github.com/go-playground/validator?status.svg)](https://pkg.go.dev/github.com/go-playground/validator/v10) +![License](https://img.shields.io/dub/l/vibe-d.svg) + +Package validator implements value validations for structs and individual fields based on tags. + +It has the following **unique** features: + +- Cross Field and Cross Struct validations by using validation tags or custom validators. +- Slice, Array and Map diving, which allows any or all levels of a multidimensional field to be validated. +- Ability to dive into both map keys and values for validation +- Handles type interface by determining it's underlying type prior to validation. +- Handles custom field types such as sql driver Valuer see [Valuer](https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29) +- Alias validation tags, which allows for mapping of several validations to a single tag for easier defining of validations on structs +- Extraction of custom defined Field Name e.g. can specify to extract the JSON name while validating and have it available in the resulting FieldError +- Customizable i18n aware error messages. +- Default validator for the [gin](https://github.com/gin-gonic/gin) web framework; upgrading from v8 to v9 in gin see [here](https://github.com/go-playground/validator/tree/master/_examples/gin-upgrading-overriding) + +Installation +------------ + +Use go get. + + go get github.com/go-playground/validator + +Then import the validator package into your own code. + + import "github.com/go-playground/validator" + +Error Return Value +------- + +Validation functions return type error + +They return type error to avoid the issue discussed in the following, where err is always != nil: + +* http://stackoverflow.com/a/29138676/3158232 +* https://github.com/go-playground/validator/issues/134 + +Validator returns only InvalidValidationError for bad validation input, nil or ValidationErrors as type error; so, in your code all you need to do is check if the error returned is not nil, and if it's not check if error is InvalidValidationError ( if necessary, most of the time it isn't ) type cast it to type ValidationErrors like so: + +```go +err := validate.Struct(mystruct) +validationErrors := err.(validator.ValidationErrors) + ``` + +Usage and documentation +------ + +Please see https://pkg.go.dev/github.com/go-playground/validator/v10 for detailed usage docs. + +##### Examples: + +- [Simple](https://github.com/go-playground/validator/blob/master/_examples/simple/main.go) +- [Custom Field Types](https://github.com/go-playground/validator/blob/master/_examples/custom/main.go) +- [Struct Level](https://github.com/go-playground/validator/blob/master/_examples/struct-level/main.go) +- [Translations & Custom Errors](https://github.com/go-playground/validator/blob/master/_examples/translations/main.go) +- [Gin upgrade and/or override validator](https://github.com/go-playground/validator/tree/v9/_examples/gin-upgrading-overriding) +- [wash - an example application putting it all together](https://github.com/bluesuncorp/wash) + +Baked-in Validations +------ + +### Fields: + +| Tag | Description | +| - | - | +| eqcsfield | Field Equals Another Field (relative)| +| eqfield | Field Equals Another Field | +| fieldcontains | NOT DOCUMENTED IN doc.go | +| fieldexcludes | NOT DOCUMENTED IN doc.go | +| gtcsfield | Field Greater Than Another Relative Field | +| gtecsfield | Field Greater Than or Equal To Another Relative Field | +| gtefield | Field Greater Than or Equal To Another Field | +| gtfield | Field Greater Than Another Field | +| ltcsfield | Less Than Another Relative Field | +| ltecsfield | Less Than or Equal To Another Relative Field | +| ltefield | Less Than or Equal To Another Field | +| ltfield | Less Than Another Field | +| necsfield | Field Does Not Equal Another Field (relative) | +| nefield | Field Does Not Equal Another Field | + +### Network: + +| Tag | Description | +| - | - | +| cidr | Classless Inter-Domain Routing CIDR | +| cidrv4 | Classless Inter-Domain Routing CIDRv4 | +| cidrv6 | Classless Inter-Domain Routing CIDRv6 | +| datauri | Data URL | +| fqdn | Full Qualified Domain Name (FQDN) | +| hostname | Hostname RFC 952 | +| hostname_port | HostPort | +| hostname_rfc1123 | Hostname RFC 1123 | +| ip | Internet Protocol Address IP | +| ip4_addr | Internet Protocol Address IPv4 | +| ip6_addr |Internet Protocol Address IPv6 | +| ip_addr | Internet Protocol Address IP | +| ipv4 | Internet Protocol Address IPv4 | +| ipv6 | Internet Protocol Address IPv6 | +| mac | Media Access Control Address MAC | +| tcp4_addr | Transmission Control Protocol Address TCPv4 | +| tcp6_addr | Transmission Control Protocol Address TCPv6 | +| tcp_addr | Transmission Control Protocol Address TCP | +| udp4_addr | User Datagram Protocol Address UDPv4 | +| udp6_addr | User Datagram Protocol Address UDPv6 | +| udp_addr | User Datagram Protocol Address UDP | +| unix_addr | Unix domain socket end point Address | +| uri | URI String | +| url | URL String | +| url_encoded | URL Encoded | +| urn_rfc2141 | Urn RFC 2141 String | + +### Strings: + +| Tag | Description | +| - | - | +| alpha | Alpha Only | +| alphanum | Alphanumeric | +| alphanumunicode | Alphanumeric Unicode | +| alphaunicode | Alpha Unicode | +| ascii | ASCII | +| contains | Contains | +| containsany | Contains Any | +| containsrune | Contains Rune | +| endswith | Ends With | +| lowercase | Lowercase | +| multibyte | Multi-Byte Characters | +| number | NOT DOCUMENTED IN doc.go | +| numeric | Numeric | +| printascii | Printable ASCII | +| startswith | Starts With | +| uppercase | Uppercase | + +### Format: +| Tag | Description | +| - | - | +| base64 | Base64 String | +| base64url | Base64URL String | +| btc_addr | Bitcoin Address | +| btc_addr_bech32 | Bitcoin Bech32 Address (segwit) | +| datetime | Datetime | +| e164 | e164 formatted phone number | +| email | E-mail String +| eth_addr | Ethereum Address | +| hexadecimal | Hexadecimal String | +| hexcolor | Hexcolor String | +| hsl | HSL String | +| hsla | HSLA String | +| html | HTML Tags | +| html_encoded | HTML Encoded | +| isbn | International Standard Book Number | +| isbn10 | International Standard Book Number 10 | +| isbn13 | International Standard Book Number 13 | +| json | JSON | +| latitude | Latitude | +| longitude | Longitude | +| rgb | RGB String | +| rgba | RGBA String | +| ssn | Social Security Number SSN | +| uuid | Universally Unique Identifier UUID | +| uuid3 | Universally Unique Identifier UUID v3 | +| uuid3_rfc4122 | Universally Unique Identifier UUID v3 RFC4122 | +| uuid4 | Universally Unique Identifier UUID v4 | +| uuid4_rfc4122 | Universally Unique Identifier UUID v4 RFC4122 | +| uuid5 | Universally Unique Identifier UUID v5 | +| uuid5_rfc4122 | Universally Unique Identifier UUID v5 RFC4122 | +| uuid_rfc4122 | Universally Unique Identifier UUID RFC4122 | + +### Comparisons: +| Tag | Description | +| - | - | +| eq | Equals | +| gt | Greater than| +| gte |Greater than or equal | +| lt | Less Than | +| lte | Less Than or Equal | +| ne | Not Equal | + +### Other: +| Tag | Description | +| - | - | +| dir | Directory | +| endswith | Ends With | +| excludes | Excludes | +| excludesall | Excludes All | +| excludesrune | Excludes Rune | +| file | File path | +| isdefault | Is Default | +| len | Length | +| max | Maximum | +| min | Minimum | +| oneof | One Of | +| required | Required | +| required_if | Required If | +| required_unless | Required Unless | +| required_with | Required With | +| required_with_all | Required With All | +| required_without | Required Without | +| required_without_all | Required Without All | +| excluded_with | Excluded With | +| excluded_with_all | Excluded With All | +| excluded_without | Excluded Without | +| excluded_without_all | Excluded Without All | +| unique | Unique | + +Benchmarks +------ +###### Run on MacBook Pro (15-inch, 2017) go version go1.10.2 darwin/amd64 +```go +goos: darwin +goarch: amd64 +pkg: github.com/go-playground/validator +BenchmarkFieldSuccess-8 20000000 83.6 ns/op 0 B/op 0 allocs/op +BenchmarkFieldSuccessParallel-8 50000000 26.8 ns/op 0 B/op 0 allocs/op +BenchmarkFieldFailure-8 5000000 291 ns/op 208 B/op 4 allocs/op +BenchmarkFieldFailureParallel-8 20000000 107 ns/op 208 B/op 4 allocs/op +BenchmarkFieldArrayDiveSuccess-8 2000000 623 ns/op 201 B/op 11 allocs/op +BenchmarkFieldArrayDiveSuccessParallel-8 10000000 237 ns/op 201 B/op 11 allocs/op +BenchmarkFieldArrayDiveFailure-8 2000000 859 ns/op 412 B/op 16 allocs/op +BenchmarkFieldArrayDiveFailureParallel-8 5000000 335 ns/op 413 B/op 16 allocs/op +BenchmarkFieldMapDiveSuccess-8 1000000 1292 ns/op 432 B/op 18 allocs/op +BenchmarkFieldMapDiveSuccessParallel-8 3000000 467 ns/op 432 B/op 18 allocs/op +BenchmarkFieldMapDiveFailure-8 1000000 1082 ns/op 512 B/op 16 allocs/op +BenchmarkFieldMapDiveFailureParallel-8 5000000 425 ns/op 512 B/op 16 allocs/op +BenchmarkFieldMapDiveWithKeysSuccess-8 1000000 1539 ns/op 480 B/op 21 allocs/op +BenchmarkFieldMapDiveWithKeysSuccessParallel-8 3000000 613 ns/op 480 B/op 21 allocs/op +BenchmarkFieldMapDiveWithKeysFailure-8 1000000 1413 ns/op 721 B/op 21 allocs/op +BenchmarkFieldMapDiveWithKeysFailureParallel-8 3000000 575 ns/op 721 B/op 21 allocs/op +BenchmarkFieldCustomTypeSuccess-8 10000000 216 ns/op 32 B/op 2 allocs/op +BenchmarkFieldCustomTypeSuccessParallel-8 20000000 82.2 ns/op 32 B/op 2 allocs/op +BenchmarkFieldCustomTypeFailure-8 5000000 274 ns/op 208 B/op 4 allocs/op +BenchmarkFieldCustomTypeFailureParallel-8 20000000 116 ns/op 208 B/op 4 allocs/op +BenchmarkFieldOrTagSuccess-8 2000000 740 ns/op 16 B/op 1 allocs/op +BenchmarkFieldOrTagSuccessParallel-8 3000000 474 ns/op 16 B/op 1 allocs/op +BenchmarkFieldOrTagFailure-8 3000000 471 ns/op 224 B/op 5 allocs/op +BenchmarkFieldOrTagFailureParallel-8 3000000 414 ns/op 224 B/op 5 allocs/op +BenchmarkStructLevelValidationSuccess-8 10000000 213 ns/op 32 B/op 2 allocs/op +BenchmarkStructLevelValidationSuccessParallel-8 20000000 91.8 ns/op 32 B/op 2 allocs/op +BenchmarkStructLevelValidationFailure-8 3000000 473 ns/op 304 B/op 8 allocs/op +BenchmarkStructLevelValidationFailureParallel-8 10000000 234 ns/op 304 B/op 8 allocs/op +BenchmarkStructSimpleCustomTypeSuccess-8 5000000 385 ns/op 32 B/op 2 allocs/op +BenchmarkStructSimpleCustomTypeSuccessParallel-8 10000000 161 ns/op 32 B/op 2 allocs/op +BenchmarkStructSimpleCustomTypeFailure-8 2000000 640 ns/op 424 B/op 9 allocs/op +BenchmarkStructSimpleCustomTypeFailureParallel-8 5000000 318 ns/op 440 B/op 10 allocs/op +BenchmarkStructFilteredSuccess-8 2000000 597 ns/op 288 B/op 9 allocs/op +BenchmarkStructFilteredSuccessParallel-8 10000000 266 ns/op 288 B/op 9 allocs/op +BenchmarkStructFilteredFailure-8 3000000 454 ns/op 256 B/op 7 allocs/op +BenchmarkStructFilteredFailureParallel-8 10000000 214 ns/op 256 B/op 7 allocs/op +BenchmarkStructPartialSuccess-8 3000000 502 ns/op 256 B/op 6 allocs/op +BenchmarkStructPartialSuccessParallel-8 10000000 225 ns/op 256 B/op 6 allocs/op +BenchmarkStructPartialFailure-8 2000000 702 ns/op 480 B/op 11 allocs/op +BenchmarkStructPartialFailureParallel-8 5000000 329 ns/op 480 B/op 11 allocs/op +BenchmarkStructExceptSuccess-8 2000000 793 ns/op 496 B/op 12 allocs/op +BenchmarkStructExceptSuccessParallel-8 10000000 193 ns/op 240 B/op 5 allocs/op +BenchmarkStructExceptFailure-8 2000000 639 ns/op 464 B/op 10 allocs/op +BenchmarkStructExceptFailureParallel-8 5000000 300 ns/op 464 B/op 10 allocs/op +BenchmarkStructSimpleCrossFieldSuccess-8 3000000 417 ns/op 72 B/op 3 allocs/op +BenchmarkStructSimpleCrossFieldSuccessParallel-8 10000000 163 ns/op 72 B/op 3 allocs/op +BenchmarkStructSimpleCrossFieldFailure-8 2000000 645 ns/op 304 B/op 8 allocs/op +BenchmarkStructSimpleCrossFieldFailureParallel-8 5000000 285 ns/op 304 B/op 8 allocs/op +BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 3000000 588 ns/op 80 B/op 4 allocs/op +BenchmarkStructSimpleCrossStructCrossFieldSuccessParallel-8 10000000 221 ns/op 80 B/op 4 allocs/op +BenchmarkStructSimpleCrossStructCrossFieldFailure-8 2000000 868 ns/op 320 B/op 9 allocs/op +BenchmarkStructSimpleCrossStructCrossFieldFailureParallel-8 5000000 337 ns/op 320 B/op 9 allocs/op +BenchmarkStructSimpleSuccess-8 5000000 260 ns/op 0 B/op 0 allocs/op +BenchmarkStructSimpleSuccessParallel-8 20000000 90.6 ns/op 0 B/op 0 allocs/op +BenchmarkStructSimpleFailure-8 2000000 619 ns/op 424 B/op 9 allocs/op +BenchmarkStructSimpleFailureParallel-8 5000000 296 ns/op 424 B/op 9 allocs/op +BenchmarkStructComplexSuccess-8 1000000 1454 ns/op 128 B/op 8 allocs/op +BenchmarkStructComplexSuccessParallel-8 3000000 579 ns/op 128 B/op 8 allocs/op +BenchmarkStructComplexFailure-8 300000 4140 ns/op 3041 B/op 53 allocs/op +BenchmarkStructComplexFailureParallel-8 1000000 2127 ns/op 3041 B/op 53 allocs/op +BenchmarkOneof-8 10000000 140 ns/op 0 B/op 0 allocs/op +BenchmarkOneofParallel-8 20000000 70.1 ns/op 0 B/op 0 allocs/op +``` + +Complementary Software +---------------------- + +Here is a list of software that complements using this library either pre or post validation. + +* [form](https://github.com/go-playground/form) - Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. +* [mold](https://github.com/go-playground/mold) - A general library to help modify or set data within data structures and other objects + +How to Contribute +------ + +Make a pull request... + +License +------- +Distributed under MIT License, please see license file within the code for more details. + +Maintainers +----------- +This project has grown large enough that more than one person is required to properly support the community. +If you are interested in becoming a maintainer please reach out to me https://github.com/deankarn diff --git a/vendor/github.com/go-playground/validator/v10/baked_in.go b/vendor/github.com/go-playground/validator/v10/baked_in.go new file mode 100644 index 000000000..224a1c22d --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/baked_in.go @@ -0,0 +1,2372 @@ +package validator + +import ( + "bytes" + "context" + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + "net" + "net/url" + "os" + "reflect" + "strconv" + "strings" + "sync" + "time" + "unicode/utf8" + + "golang.org/x/crypto/sha3" + "golang.org/x/text/language" + + urn "github.com/leodido/go-urn" +) + +// Func accepts a FieldLevel interface for all validation needs. The return +// value should be true when validation succeeds. +type Func func(fl FieldLevel) bool + +// FuncCtx accepts a context.Context and FieldLevel interface for all +// validation needs. The return value should be true when validation succeeds. +type FuncCtx func(ctx context.Context, fl FieldLevel) bool + +// wrapFunc wraps noramal Func makes it compatible with FuncCtx +func wrapFunc(fn Func) FuncCtx { + if fn == nil { + return nil // be sure not to wrap a bad function. + } + return func(ctx context.Context, fl FieldLevel) bool { + return fn(fl) + } +} + +var ( + restrictedTags = map[string]struct{}{ + diveTag: {}, + keysTag: {}, + endKeysTag: {}, + structOnlyTag: {}, + omitempty: {}, + skipValidationTag: {}, + utf8HexComma: {}, + utf8Pipe: {}, + noStructLevelTag: {}, + requiredTag: {}, + isdefault: {}, + } + + // BakedInAliasValidators is a default mapping of a single validation tag that + // defines a common or complex set of validation(s) to simplify + // adding validation to structs. + bakedInAliases = map[string]string{ + "iscolor": "hexcolor|rgb|rgba|hsl|hsla", + "country_code": "iso3166_1_alpha2|iso3166_1_alpha3|iso3166_1_alpha_numeric", + } + + // BakedInValidators is the default map of ValidationFunc + // you can add, remove or even replace items to suite your needs, + // or even disregard and use your own map if so desired. + bakedInValidators = map[string]Func{ + "required": hasValue, + "required_if": requiredIf, + "required_unless": requiredUnless, + "required_with": requiredWith, + "required_with_all": requiredWithAll, + "required_without": requiredWithout, + "required_without_all": requiredWithoutAll, + "excluded_with": excludedWith, + "excluded_with_all": excludedWithAll, + "excluded_without": excludedWithout, + "excluded_without_all": excludedWithoutAll, + "isdefault": isDefault, + "len": hasLengthOf, + "min": hasMinOf, + "max": hasMaxOf, + "eq": isEq, + "ne": isNe, + "lt": isLt, + "lte": isLte, + "gt": isGt, + "gte": isGte, + "eqfield": isEqField, + "eqcsfield": isEqCrossStructField, + "necsfield": isNeCrossStructField, + "gtcsfield": isGtCrossStructField, + "gtecsfield": isGteCrossStructField, + "ltcsfield": isLtCrossStructField, + "ltecsfield": isLteCrossStructField, + "nefield": isNeField, + "gtefield": isGteField, + "gtfield": isGtField, + "ltefield": isLteField, + "ltfield": isLtField, + "fieldcontains": fieldContains, + "fieldexcludes": fieldExcludes, + "alpha": isAlpha, + "alphanum": isAlphanum, + "alphaunicode": isAlphaUnicode, + "alphanumunicode": isAlphanumUnicode, + "numeric": isNumeric, + "number": isNumber, + "hexadecimal": isHexadecimal, + "hexcolor": isHEXColor, + "rgb": isRGB, + "rgba": isRGBA, + "hsl": isHSL, + "hsla": isHSLA, + "e164": isE164, + "email": isEmail, + "url": isURL, + "uri": isURI, + "urn_rfc2141": isUrnRFC2141, // RFC 2141 + "file": isFile, + "base64": isBase64, + "base64url": isBase64URL, + "contains": contains, + "containsany": containsAny, + "containsrune": containsRune, + "excludes": excludes, + "excludesall": excludesAll, + "excludesrune": excludesRune, + "startswith": startsWith, + "endswith": endsWith, + "startsnotwith": startsNotWith, + "endsnotwith": endsNotWith, + "isbn": isISBN, + "isbn10": isISBN10, + "isbn13": isISBN13, + "eth_addr": isEthereumAddress, + "btc_addr": isBitcoinAddress, + "btc_addr_bech32": isBitcoinBech32Address, + "uuid": isUUID, + "uuid3": isUUID3, + "uuid4": isUUID4, + "uuid5": isUUID5, + "uuid_rfc4122": isUUIDRFC4122, + "uuid3_rfc4122": isUUID3RFC4122, + "uuid4_rfc4122": isUUID4RFC4122, + "uuid5_rfc4122": isUUID5RFC4122, + "ascii": isASCII, + "printascii": isPrintableASCII, + "multibyte": hasMultiByteCharacter, + "datauri": isDataURI, + "latitude": isLatitude, + "longitude": isLongitude, + "ssn": isSSN, + "ipv4": isIPv4, + "ipv6": isIPv6, + "ip": isIP, + "cidrv4": isCIDRv4, + "cidrv6": isCIDRv6, + "cidr": isCIDR, + "tcp4_addr": isTCP4AddrResolvable, + "tcp6_addr": isTCP6AddrResolvable, + "tcp_addr": isTCPAddrResolvable, + "udp4_addr": isUDP4AddrResolvable, + "udp6_addr": isUDP6AddrResolvable, + "udp_addr": isUDPAddrResolvable, + "ip4_addr": isIP4AddrResolvable, + "ip6_addr": isIP6AddrResolvable, + "ip_addr": isIPAddrResolvable, + "unix_addr": isUnixAddrResolvable, + "mac": isMAC, + "hostname": isHostnameRFC952, // RFC 952 + "hostname_rfc1123": isHostnameRFC1123, // RFC 1123 + "fqdn": isFQDN, + "unique": isUnique, + "oneof": isOneOf, + "html": isHTML, + "html_encoded": isHTMLEncoded, + "url_encoded": isURLEncoded, + "dir": isDir, + "json": isJSON, + "hostname_port": isHostnamePort, + "lowercase": isLowercase, + "uppercase": isUppercase, + "datetime": isDatetime, + "timezone": isTimeZone, + "iso3166_1_alpha2": isIso3166Alpha2, + "iso3166_1_alpha3": isIso3166Alpha3, + "iso3166_1_alpha_numeric": isIso3166AlphaNumeric, + "iso3166_2": isIso31662, + "bcp47_language_tag": isBCP47LanguageTag, + "postcode_iso3166_alpha2": isPostcodeByIso3166Alpha2, + "postcode_iso3166_alpha2_field": isPostcodeByIso3166Alpha2Field, + "bic": isIsoBicFormat, + } +) + +var oneofValsCache = map[string][]string{} +var oneofValsCacheRWLock = sync.RWMutex{} + +func parseOneOfParam2(s string) []string { + oneofValsCacheRWLock.RLock() + vals, ok := oneofValsCache[s] + oneofValsCacheRWLock.RUnlock() + if !ok { + oneofValsCacheRWLock.Lock() + vals = splitParamsRegex.FindAllString(s, -1) + for i := 0; i < len(vals); i++ { + vals[i] = strings.Replace(vals[i], "'", "", -1) + } + oneofValsCache[s] = vals + oneofValsCacheRWLock.Unlock() + } + return vals +} + +func isURLEncoded(fl FieldLevel) bool { + return uRLEncodedRegex.MatchString(fl.Field().String()) +} + +func isHTMLEncoded(fl FieldLevel) bool { + return hTMLEncodedRegex.MatchString(fl.Field().String()) +} + +func isHTML(fl FieldLevel) bool { + return hTMLRegex.MatchString(fl.Field().String()) +} + +func isOneOf(fl FieldLevel) bool { + vals := parseOneOfParam2(fl.Param()) + + field := fl.Field() + + var v string + switch field.Kind() { + case reflect.String: + v = field.String() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + v = strconv.FormatInt(field.Int(), 10) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + v = strconv.FormatUint(field.Uint(), 10) + default: + panic(fmt.Sprintf("Bad field type %T", field.Interface())) + } + for i := 0; i < len(vals); i++ { + if vals[i] == v { + return true + } + } + return false +} + +// isUnique is the validation function for validating if each array|slice|map value is unique +func isUnique(fl FieldLevel) bool { + + field := fl.Field() + param := fl.Param() + v := reflect.ValueOf(struct{}{}) + + switch field.Kind() { + case reflect.Slice, reflect.Array: + elem := field.Type().Elem() + if elem.Kind() == reflect.Ptr { + elem = elem.Elem() + } + + if param == "" { + m := reflect.MakeMap(reflect.MapOf(elem, v.Type())) + + for i := 0; i < field.Len(); i++ { + m.SetMapIndex(reflect.Indirect(field.Index(i)), v) + } + return field.Len() == m.Len() + } + + sf, ok := elem.FieldByName(param) + if !ok { + panic(fmt.Sprintf("Bad field name %s", param)) + } + + sfTyp := sf.Type + if sfTyp.Kind() == reflect.Ptr { + sfTyp = sfTyp.Elem() + } + + m := reflect.MakeMap(reflect.MapOf(sfTyp, v.Type())) + for i := 0; i < field.Len(); i++ { + m.SetMapIndex(reflect.Indirect(reflect.Indirect(field.Index(i)).FieldByName(param)), v) + } + return field.Len() == m.Len() + case reflect.Map: + m := reflect.MakeMap(reflect.MapOf(field.Type().Elem(), v.Type())) + + for _, k := range field.MapKeys() { + m.SetMapIndex(field.MapIndex(k), v) + } + return field.Len() == m.Len() + default: + panic(fmt.Sprintf("Bad field type %T", field.Interface())) + } +} + +// IsMAC is the validation function for validating if the field's value is a valid MAC address. +func isMAC(fl FieldLevel) bool { + + _, err := net.ParseMAC(fl.Field().String()) + + return err == nil +} + +// IsCIDRv4 is the validation function for validating if the field's value is a valid v4 CIDR address. +func isCIDRv4(fl FieldLevel) bool { + + ip, _, err := net.ParseCIDR(fl.Field().String()) + + return err == nil && ip.To4() != nil +} + +// IsCIDRv6 is the validation function for validating if the field's value is a valid v6 CIDR address. +func isCIDRv6(fl FieldLevel) bool { + + ip, _, err := net.ParseCIDR(fl.Field().String()) + + return err == nil && ip.To4() == nil +} + +// IsCIDR is the validation function for validating if the field's value is a valid v4 or v6 CIDR address. +func isCIDR(fl FieldLevel) bool { + + _, _, err := net.ParseCIDR(fl.Field().String()) + + return err == nil +} + +// IsIPv4 is the validation function for validating if a value is a valid v4 IP address. +func isIPv4(fl FieldLevel) bool { + + ip := net.ParseIP(fl.Field().String()) + + return ip != nil && ip.To4() != nil +} + +// IsIPv6 is the validation function for validating if the field's value is a valid v6 IP address. +func isIPv6(fl FieldLevel) bool { + + ip := net.ParseIP(fl.Field().String()) + + return ip != nil && ip.To4() == nil +} + +// IsIP is the validation function for validating if the field's value is a valid v4 or v6 IP address. +func isIP(fl FieldLevel) bool { + + ip := net.ParseIP(fl.Field().String()) + + return ip != nil +} + +// IsSSN is the validation function for validating if the field's value is a valid SSN. +func isSSN(fl FieldLevel) bool { + + field := fl.Field() + + if field.Len() != 11 { + return false + } + + return sSNRegex.MatchString(field.String()) +} + +// IsLongitude is the validation function for validating if the field's value is a valid longitude coordinate. +func isLongitude(fl FieldLevel) bool { + field := fl.Field() + + var v string + switch field.Kind() { + case reflect.String: + v = field.String() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + v = strconv.FormatInt(field.Int(), 10) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + v = strconv.FormatUint(field.Uint(), 10) + case reflect.Float32: + v = strconv.FormatFloat(field.Float(), 'f', -1, 32) + case reflect.Float64: + v = strconv.FormatFloat(field.Float(), 'f', -1, 64) + default: + panic(fmt.Sprintf("Bad field type %T", field.Interface())) + } + + return longitudeRegex.MatchString(v) +} + +// IsLatitude is the validation function for validating if the field's value is a valid latitude coordinate. +func isLatitude(fl FieldLevel) bool { + field := fl.Field() + + var v string + switch field.Kind() { + case reflect.String: + v = field.String() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + v = strconv.FormatInt(field.Int(), 10) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + v = strconv.FormatUint(field.Uint(), 10) + case reflect.Float32: + v = strconv.FormatFloat(field.Float(), 'f', -1, 32) + case reflect.Float64: + v = strconv.FormatFloat(field.Float(), 'f', -1, 64) + default: + panic(fmt.Sprintf("Bad field type %T", field.Interface())) + } + + return latitudeRegex.MatchString(v) +} + +// IsDataURI is the validation function for validating if the field's value is a valid data URI. +func isDataURI(fl FieldLevel) bool { + + uri := strings.SplitN(fl.Field().String(), ",", 2) + + if len(uri) != 2 { + return false + } + + if !dataURIRegex.MatchString(uri[0]) { + return false + } + + return base64Regex.MatchString(uri[1]) +} + +// HasMultiByteCharacter is the validation function for validating if the field's value has a multi byte character. +func hasMultiByteCharacter(fl FieldLevel) bool { + + field := fl.Field() + + if field.Len() == 0 { + return true + } + + return multibyteRegex.MatchString(field.String()) +} + +// IsPrintableASCII is the validation function for validating if the field's value is a valid printable ASCII character. +func isPrintableASCII(fl FieldLevel) bool { + return printableASCIIRegex.MatchString(fl.Field().String()) +} + +// IsASCII is the validation function for validating if the field's value is a valid ASCII character. +func isASCII(fl FieldLevel) bool { + return aSCIIRegex.MatchString(fl.Field().String()) +} + +// IsUUID5 is the validation function for validating if the field's value is a valid v5 UUID. +func isUUID5(fl FieldLevel) bool { + return uUID5Regex.MatchString(fl.Field().String()) +} + +// IsUUID4 is the validation function for validating if the field's value is a valid v4 UUID. +func isUUID4(fl FieldLevel) bool { + return uUID4Regex.MatchString(fl.Field().String()) +} + +// IsUUID3 is the validation function for validating if the field's value is a valid v3 UUID. +func isUUID3(fl FieldLevel) bool { + return uUID3Regex.MatchString(fl.Field().String()) +} + +// IsUUID is the validation function for validating if the field's value is a valid UUID of any version. +func isUUID(fl FieldLevel) bool { + return uUIDRegex.MatchString(fl.Field().String()) +} + +// IsUUID5RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v5 UUID. +func isUUID5RFC4122(fl FieldLevel) bool { + return uUID5RFC4122Regex.MatchString(fl.Field().String()) +} + +// IsUUID4RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v4 UUID. +func isUUID4RFC4122(fl FieldLevel) bool { + return uUID4RFC4122Regex.MatchString(fl.Field().String()) +} + +// IsUUID3RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v3 UUID. +func isUUID3RFC4122(fl FieldLevel) bool { + return uUID3RFC4122Regex.MatchString(fl.Field().String()) +} + +// IsUUIDRFC4122 is the validation function for validating if the field's value is a valid RFC4122 UUID of any version. +func isUUIDRFC4122(fl FieldLevel) bool { + return uUIDRFC4122Regex.MatchString(fl.Field().String()) +} + +// IsISBN is the validation function for validating if the field's value is a valid v10 or v13 ISBN. +func isISBN(fl FieldLevel) bool { + return isISBN10(fl) || isISBN13(fl) +} + +// IsISBN13 is the validation function for validating if the field's value is a valid v13 ISBN. +func isISBN13(fl FieldLevel) bool { + + s := strings.Replace(strings.Replace(fl.Field().String(), "-", "", 4), " ", "", 4) + + if !iSBN13Regex.MatchString(s) { + return false + } + + var checksum int32 + var i int32 + + factor := []int32{1, 3} + + for i = 0; i < 12; i++ { + checksum += factor[i%2] * int32(s[i]-'0') + } + + return (int32(s[12]-'0'))-((10-(checksum%10))%10) == 0 +} + +// IsISBN10 is the validation function for validating if the field's value is a valid v10 ISBN. +func isISBN10(fl FieldLevel) bool { + + s := strings.Replace(strings.Replace(fl.Field().String(), "-", "", 3), " ", "", 3) + + if !iSBN10Regex.MatchString(s) { + return false + } + + var checksum int32 + var i int32 + + for i = 0; i < 9; i++ { + checksum += (i + 1) * int32(s[i]-'0') + } + + if s[9] == 'X' { + checksum += 10 * 10 + } else { + checksum += 10 * int32(s[9]-'0') + } + + return checksum%11 == 0 +} + +// IsEthereumAddress is the validation function for validating if the field's value is a valid Ethereum address. +func isEthereumAddress(fl FieldLevel) bool { + address := fl.Field().String() + + if !ethAddressRegex.MatchString(address) { + return false + } + + if ethAddressRegexUpper.MatchString(address) || ethAddressRegexLower.MatchString(address) { + return true + } + + // Checksum validation. Reference: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md + address = address[2:] // Skip "0x" prefix. + h := sha3.NewLegacyKeccak256() + // hash.Hash's io.Writer implementation says it never returns an error. https://golang.org/pkg/hash/#Hash + _, _ = h.Write([]byte(strings.ToLower(address))) + hash := hex.EncodeToString(h.Sum(nil)) + + for i := 0; i < len(address); i++ { + if address[i] <= '9' { // Skip 0-9 digits: they don't have upper/lower-case. + continue + } + if hash[i] > '7' && address[i] >= 'a' || hash[i] <= '7' && address[i] <= 'F' { + return false + } + } + + return true +} + +// IsBitcoinAddress is the validation function for validating if the field's value is a valid btc address +func isBitcoinAddress(fl FieldLevel) bool { + address := fl.Field().String() + + if !btcAddressRegex.MatchString(address) { + return false + } + + alphabet := []byte("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz") + + decode := [25]byte{} + + for _, n := range []byte(address) { + d := bytes.IndexByte(alphabet, n) + + for i := 24; i >= 0; i-- { + d += 58 * int(decode[i]) + decode[i] = byte(d % 256) + d /= 256 + } + } + + h := sha256.New() + _, _ = h.Write(decode[:21]) + d := h.Sum([]byte{}) + h = sha256.New() + _, _ = h.Write(d) + + validchecksum := [4]byte{} + computedchecksum := [4]byte{} + + copy(computedchecksum[:], h.Sum(d[:0])) + copy(validchecksum[:], decode[21:]) + + return validchecksum == computedchecksum +} + +// IsBitcoinBech32Address is the validation function for validating if the field's value is a valid bech32 btc address +func isBitcoinBech32Address(fl FieldLevel) bool { + address := fl.Field().String() + + if !btcLowerAddressRegexBech32.MatchString(address) && !btcUpperAddressRegexBech32.MatchString(address) { + return false + } + + am := len(address) % 8 + + if am == 0 || am == 3 || am == 5 { + return false + } + + address = strings.ToLower(address) + + alphabet := "qpzry9x8gf2tvdw0s3jn54khce6mua7l" + + hr := []int{3, 3, 0, 2, 3} // the human readable part will always be bc + addr := address[3:] + dp := make([]int, 0, len(addr)) + + for _, c := range addr { + dp = append(dp, strings.IndexRune(alphabet, c)) + } + + ver := dp[0] + + if ver < 0 || ver > 16 { + return false + } + + if ver == 0 { + if len(address) != 42 && len(address) != 62 { + return false + } + } + + values := append(hr, dp...) + + GEN := []int{0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3} + + p := 1 + + for _, v := range values { + b := p >> 25 + p = (p&0x1ffffff)<<5 ^ v + + for i := 0; i < 5; i++ { + if (b>>uint(i))&1 == 1 { + p ^= GEN[i] + } + } + } + + if p != 1 { + return false + } + + b := uint(0) + acc := 0 + mv := (1 << 5) - 1 + var sw []int + + for _, v := range dp[1 : len(dp)-6] { + acc = (acc << 5) | v + b += 5 + for b >= 8 { + b -= 8 + sw = append(sw, (acc>>b)&mv) + } + } + + if len(sw) < 2 || len(sw) > 40 { + return false + } + + return true +} + +// ExcludesRune is the validation function for validating that the field's value does not contain the rune specified within the param. +func excludesRune(fl FieldLevel) bool { + return !containsRune(fl) +} + +// ExcludesAll is the validation function for validating that the field's value does not contain any of the characters specified within the param. +func excludesAll(fl FieldLevel) bool { + return !containsAny(fl) +} + +// Excludes is the validation function for validating that the field's value does not contain the text specified within the param. +func excludes(fl FieldLevel) bool { + return !contains(fl) +} + +// ContainsRune is the validation function for validating that the field's value contains the rune specified within the param. +func containsRune(fl FieldLevel) bool { + + r, _ := utf8.DecodeRuneInString(fl.Param()) + + return strings.ContainsRune(fl.Field().String(), r) +} + +// ContainsAny is the validation function for validating that the field's value contains any of the characters specified within the param. +func containsAny(fl FieldLevel) bool { + return strings.ContainsAny(fl.Field().String(), fl.Param()) +} + +// Contains is the validation function for validating that the field's value contains the text specified within the param. +func contains(fl FieldLevel) bool { + return strings.Contains(fl.Field().String(), fl.Param()) +} + +// StartsWith is the validation function for validating that the field's value starts with the text specified within the param. +func startsWith(fl FieldLevel) bool { + return strings.HasPrefix(fl.Field().String(), fl.Param()) +} + +// EndsWith is the validation function for validating that the field's value ends with the text specified within the param. +func endsWith(fl FieldLevel) bool { + return strings.HasSuffix(fl.Field().String(), fl.Param()) +} + +// StartsNotWith is the validation function for validating that the field's value does not start with the text specified within the param. +func startsNotWith(fl FieldLevel) bool { + return !startsWith(fl) +} + +// EndsNotWith is the validation function for validating that the field's value does not end with the text specified within the param. +func endsNotWith(fl FieldLevel) bool { + return !endsWith(fl) +} + +// FieldContains is the validation function for validating if the current field's value contains the field specified by the param's value. +func fieldContains(fl FieldLevel) bool { + field := fl.Field() + + currentField, _, ok := fl.GetStructFieldOK() + + if !ok { + return false + } + + return strings.Contains(field.String(), currentField.String()) +} + +// FieldExcludes is the validation function for validating if the current field's value excludes the field specified by the param's value. +func fieldExcludes(fl FieldLevel) bool { + field := fl.Field() + + currentField, _, ok := fl.GetStructFieldOK() + if !ok { + return true + } + + return !strings.Contains(field.String(), currentField.String()) +} + +// IsNeField is the validation function for validating if the current field's value is not equal to the field specified by the param's value. +func isNeField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + currentField, currentKind, ok := fl.GetStructFieldOK() + + if !ok || currentKind != kind { + return true + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return field.Int() != currentField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return field.Uint() != currentField.Uint() + + case reflect.Float32, reflect.Float64: + return field.Float() != currentField.Float() + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(field.Len()) != int64(currentField.Len()) + + case reflect.Bool: + return field.Bool() != currentField.Bool() + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != currentField.Type() { + return true + } + + if fieldType == timeType { + + t := currentField.Interface().(time.Time) + fieldTime := field.Interface().(time.Time) + + return !fieldTime.Equal(t) + } + + } + + // default reflect.String: + return field.String() != currentField.String() +} + +// IsNe is the validation function for validating that the field's value does not equal the provided param value. +func isNe(fl FieldLevel) bool { + return !isEq(fl) +} + +// IsLteCrossStructField is the validation function for validating if the current field's value is less than or equal to the field, within a separate struct, specified by the param's value. +func isLteCrossStructField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + topField, topKind, ok := fl.GetStructFieldOK() + if !ok || topKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return field.Int() <= topField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return field.Uint() <= topField.Uint() + + case reflect.Float32, reflect.Float64: + return field.Float() <= topField.Float() + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(field.Len()) <= int64(topField.Len()) + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != topField.Type() { + return false + } + + if fieldType == timeType { + + fieldTime := field.Interface().(time.Time) + topTime := topField.Interface().(time.Time) + + return fieldTime.Before(topTime) || fieldTime.Equal(topTime) + } + } + + // default reflect.String: + return field.String() <= topField.String() +} + +// IsLtCrossStructField is the validation function for validating if the current field's value is less than the field, within a separate struct, specified by the param's value. +// NOTE: This is exposed for use within your own custom functions and not intended to be called directly. +func isLtCrossStructField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + topField, topKind, ok := fl.GetStructFieldOK() + if !ok || topKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return field.Int() < topField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return field.Uint() < topField.Uint() + + case reflect.Float32, reflect.Float64: + return field.Float() < topField.Float() + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(field.Len()) < int64(topField.Len()) + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != topField.Type() { + return false + } + + if fieldType == timeType { + + fieldTime := field.Interface().(time.Time) + topTime := topField.Interface().(time.Time) + + return fieldTime.Before(topTime) + } + } + + // default reflect.String: + return field.String() < topField.String() +} + +// IsGteCrossStructField is the validation function for validating if the current field's value is greater than or equal to the field, within a separate struct, specified by the param's value. +func isGteCrossStructField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + topField, topKind, ok := fl.GetStructFieldOK() + if !ok || topKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return field.Int() >= topField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return field.Uint() >= topField.Uint() + + case reflect.Float32, reflect.Float64: + return field.Float() >= topField.Float() + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(field.Len()) >= int64(topField.Len()) + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != topField.Type() { + return false + } + + if fieldType == timeType { + + fieldTime := field.Interface().(time.Time) + topTime := topField.Interface().(time.Time) + + return fieldTime.After(topTime) || fieldTime.Equal(topTime) + } + } + + // default reflect.String: + return field.String() >= topField.String() +} + +// IsGtCrossStructField is the validation function for validating if the current field's value is greater than the field, within a separate struct, specified by the param's value. +func isGtCrossStructField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + topField, topKind, ok := fl.GetStructFieldOK() + if !ok || topKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return field.Int() > topField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return field.Uint() > topField.Uint() + + case reflect.Float32, reflect.Float64: + return field.Float() > topField.Float() + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(field.Len()) > int64(topField.Len()) + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != topField.Type() { + return false + } + + if fieldType == timeType { + + fieldTime := field.Interface().(time.Time) + topTime := topField.Interface().(time.Time) + + return fieldTime.After(topTime) + } + } + + // default reflect.String: + return field.String() > topField.String() +} + +// IsNeCrossStructField is the validation function for validating that the current field's value is not equal to the field, within a separate struct, specified by the param's value. +func isNeCrossStructField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + topField, currentKind, ok := fl.GetStructFieldOK() + if !ok || currentKind != kind { + return true + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return topField.Int() != field.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return topField.Uint() != field.Uint() + + case reflect.Float32, reflect.Float64: + return topField.Float() != field.Float() + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(topField.Len()) != int64(field.Len()) + + case reflect.Bool: + return topField.Bool() != field.Bool() + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != topField.Type() { + return true + } + + if fieldType == timeType { + + t := field.Interface().(time.Time) + fieldTime := topField.Interface().(time.Time) + + return !fieldTime.Equal(t) + } + } + + // default reflect.String: + return topField.String() != field.String() +} + +// IsEqCrossStructField is the validation function for validating that the current field's value is equal to the field, within a separate struct, specified by the param's value. +func isEqCrossStructField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + topField, topKind, ok := fl.GetStructFieldOK() + if !ok || topKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return topField.Int() == field.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return topField.Uint() == field.Uint() + + case reflect.Float32, reflect.Float64: + return topField.Float() == field.Float() + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(topField.Len()) == int64(field.Len()) + + case reflect.Bool: + return topField.Bool() == field.Bool() + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != topField.Type() { + return false + } + + if fieldType == timeType { + + t := field.Interface().(time.Time) + fieldTime := topField.Interface().(time.Time) + + return fieldTime.Equal(t) + } + } + + // default reflect.String: + return topField.String() == field.String() +} + +// IsEqField is the validation function for validating if the current field's value is equal to the field specified by the param's value. +func isEqField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + currentField, currentKind, ok := fl.GetStructFieldOK() + if !ok || currentKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return field.Int() == currentField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return field.Uint() == currentField.Uint() + + case reflect.Float32, reflect.Float64: + return field.Float() == currentField.Float() + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(field.Len()) == int64(currentField.Len()) + + case reflect.Bool: + return field.Bool() == currentField.Bool() + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != currentField.Type() { + return false + } + + if fieldType == timeType { + + t := currentField.Interface().(time.Time) + fieldTime := field.Interface().(time.Time) + + return fieldTime.Equal(t) + } + + } + + // default reflect.String: + return field.String() == currentField.String() +} + +// IsEq is the validation function for validating if the current field's value is equal to the param's value. +func isEq(fl FieldLevel) bool { + + field := fl.Field() + param := fl.Param() + + switch field.Kind() { + + case reflect.String: + return field.String() == param + + case reflect.Slice, reflect.Map, reflect.Array: + p := asInt(param) + + return int64(field.Len()) == p + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + p := asIntFromType(field.Type(), param) + + return field.Int() == p + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + p := asUint(param) + + return field.Uint() == p + + case reflect.Float32, reflect.Float64: + p := asFloat(param) + + return field.Float() == p + + case reflect.Bool: + p := asBool(param) + + return field.Bool() == p + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isPostcodeByIso3166Alpha2 validates by value which is country code in iso 3166 alpha 2 +// example: `postcode_iso3166_alpha2=US` +func isPostcodeByIso3166Alpha2(fl FieldLevel) bool { + field := fl.Field() + param := fl.Param() + + reg, found := postCodeRegexDict[param] + if !found { + return false + } + + return reg.MatchString(field.String()) +} + +// isPostcodeByIso3166Alpha2 validates by field which represents for a value of country code in iso 3166 alpha 2 +// example: `postcode_iso3166_alpha2_field=CountryCode` +func isPostcodeByIso3166Alpha2Field(fl FieldLevel) bool { + field := fl.Field() + params := parseOneOfParam2(fl.Param()) + + if len(params) != 1 { + return false + } + + currentField, kind, _, found := fl.GetStructFieldOKAdvanced2(fl.Parent(), params[0]) + if !found { + return false + } + + if kind != reflect.String { + panic(fmt.Sprintf("Bad field type %T", currentField.Interface())) + } + + reg, found := postCodeRegexDict[currentField.String()] + if !found { + return false + } + + return reg.MatchString(field.String()) +} + +// IsBase64 is the validation function for validating if the current field's value is a valid base 64. +func isBase64(fl FieldLevel) bool { + return base64Regex.MatchString(fl.Field().String()) +} + +// IsBase64URL is the validation function for validating if the current field's value is a valid base64 URL safe string. +func isBase64URL(fl FieldLevel) bool { + return base64URLRegex.MatchString(fl.Field().String()) +} + +// IsURI is the validation function for validating if the current field's value is a valid URI. +func isURI(fl FieldLevel) bool { + + field := fl.Field() + + switch field.Kind() { + + case reflect.String: + + s := field.String() + + // checks needed as of Go 1.6 because of change https://github.com/golang/go/commit/617c93ce740c3c3cc28cdd1a0d712be183d0b328#diff-6c2d018290e298803c0c9419d8739885L195 + // emulate browser and strip the '#' suffix prior to validation. see issue-#237 + if i := strings.Index(s, "#"); i > -1 { + s = s[:i] + } + + if len(s) == 0 { + return false + } + + _, err := url.ParseRequestURI(s) + + return err == nil + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// IsURL is the validation function for validating if the current field's value is a valid URL. +func isURL(fl FieldLevel) bool { + + field := fl.Field() + + switch field.Kind() { + + case reflect.String: + + var i int + s := field.String() + + // checks needed as of Go 1.6 because of change https://github.com/golang/go/commit/617c93ce740c3c3cc28cdd1a0d712be183d0b328#diff-6c2d018290e298803c0c9419d8739885L195 + // emulate browser and strip the '#' suffix prior to validation. see issue-#237 + if i = strings.Index(s, "#"); i > -1 { + s = s[:i] + } + + if len(s) == 0 { + return false + } + + url, err := url.ParseRequestURI(s) + + if err != nil || url.Scheme == "" { + return false + } + + return true + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isUrnRFC2141 is the validation function for validating if the current field's value is a valid URN as per RFC 2141. +func isUrnRFC2141(fl FieldLevel) bool { + field := fl.Field() + + switch field.Kind() { + + case reflect.String: + + str := field.String() + + _, match := urn.Parse([]byte(str)) + + return match + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// IsFile is the validation function for validating if the current field's value is a valid file path. +func isFile(fl FieldLevel) bool { + field := fl.Field() + + switch field.Kind() { + case reflect.String: + fileInfo, err := os.Stat(field.String()) + if err != nil { + return false + } + + return !fileInfo.IsDir() + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// IsE164 is the validation function for validating if the current field's value is a valid e.164 formatted phone number. +func isE164(fl FieldLevel) bool { + return e164Regex.MatchString(fl.Field().String()) +} + +// IsEmail is the validation function for validating if the current field's value is a valid email address. +func isEmail(fl FieldLevel) bool { + return emailRegex.MatchString(fl.Field().String()) +} + +// IsHSLA is the validation function for validating if the current field's value is a valid HSLA color. +func isHSLA(fl FieldLevel) bool { + return hslaRegex.MatchString(fl.Field().String()) +} + +// IsHSL is the validation function for validating if the current field's value is a valid HSL color. +func isHSL(fl FieldLevel) bool { + return hslRegex.MatchString(fl.Field().String()) +} + +// IsRGBA is the validation function for validating if the current field's value is a valid RGBA color. +func isRGBA(fl FieldLevel) bool { + return rgbaRegex.MatchString(fl.Field().String()) +} + +// IsRGB is the validation function for validating if the current field's value is a valid RGB color. +func isRGB(fl FieldLevel) bool { + return rgbRegex.MatchString(fl.Field().String()) +} + +// IsHEXColor is the validation function for validating if the current field's value is a valid HEX color. +func isHEXColor(fl FieldLevel) bool { + return hexColorRegex.MatchString(fl.Field().String()) +} + +// IsHexadecimal is the validation function for validating if the current field's value is a valid hexadecimal. +func isHexadecimal(fl FieldLevel) bool { + return hexadecimalRegex.MatchString(fl.Field().String()) +} + +// IsNumber is the validation function for validating if the current field's value is a valid number. +func isNumber(fl FieldLevel) bool { + switch fl.Field().Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, reflect.Float32, reflect.Float64: + return true + default: + return numberRegex.MatchString(fl.Field().String()) + } +} + +// IsNumeric is the validation function for validating if the current field's value is a valid numeric value. +func isNumeric(fl FieldLevel) bool { + switch fl.Field().Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, reflect.Float32, reflect.Float64: + return true + default: + return numericRegex.MatchString(fl.Field().String()) + } +} + +// IsAlphanum is the validation function for validating if the current field's value is a valid alphanumeric value. +func isAlphanum(fl FieldLevel) bool { + return alphaNumericRegex.MatchString(fl.Field().String()) +} + +// IsAlpha is the validation function for validating if the current field's value is a valid alpha value. +func isAlpha(fl FieldLevel) bool { + return alphaRegex.MatchString(fl.Field().String()) +} + +// IsAlphanumUnicode is the validation function for validating if the current field's value is a valid alphanumeric unicode value. +func isAlphanumUnicode(fl FieldLevel) bool { + return alphaUnicodeNumericRegex.MatchString(fl.Field().String()) +} + +// IsAlphaUnicode is the validation function for validating if the current field's value is a valid alpha unicode value. +func isAlphaUnicode(fl FieldLevel) bool { + return alphaUnicodeRegex.MatchString(fl.Field().String()) +} + +// isDefault is the opposite of required aka hasValue +func isDefault(fl FieldLevel) bool { + return !hasValue(fl) +} + +// HasValue is the validation function for validating if the current field's value is not the default static value. +func hasValue(fl FieldLevel) bool { + field := fl.Field() + switch field.Kind() { + case reflect.Slice, reflect.Map, reflect.Ptr, reflect.Interface, reflect.Chan, reflect.Func: + return !field.IsNil() + default: + if fl.(*validate).fldIsPointer && field.Interface() != nil { + return true + } + return field.IsValid() && field.Interface() != reflect.Zero(field.Type()).Interface() + } +} + +// requireCheckField is a func for check field kind +func requireCheckFieldKind(fl FieldLevel, param string, defaultNotFoundValue bool) bool { + field := fl.Field() + kind := field.Kind() + var nullable, found bool + if len(param) > 0 { + field, kind, nullable, found = fl.GetStructFieldOKAdvanced2(fl.Parent(), param) + if !found { + return defaultNotFoundValue + } + } + switch kind { + case reflect.Invalid: + return defaultNotFoundValue + case reflect.Slice, reflect.Map, reflect.Ptr, reflect.Interface, reflect.Chan, reflect.Func: + return field.IsNil() + default: + if nullable && field.Interface() != nil { + return false + } + return field.IsValid() && field.Interface() == reflect.Zero(field.Type()).Interface() + } +} + +// requireCheckFieldValue is a func for check field value +func requireCheckFieldValue(fl FieldLevel, param string, value string, defaultNotFoundValue bool) bool { + field, kind, _, found := fl.GetStructFieldOKAdvanced2(fl.Parent(), param) + if !found { + return defaultNotFoundValue + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return field.Int() == asInt(value) + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return field.Uint() == asUint(value) + + case reflect.Float32, reflect.Float64: + return field.Float() == asFloat(value) + + case reflect.Slice, reflect.Map, reflect.Array: + return int64(field.Len()) == asInt(value) + + case reflect.Bool: + return field.Bool() == asBool(value) + } + + // default reflect.String: + return field.String() == value +} + +// requiredIf is the validation function +// The field under validation must be present and not empty only if all the other specified fields are equal to the value following with the specified field. +func requiredIf(fl FieldLevel) bool { + params := parseOneOfParam2(fl.Param()) + if len(params)%2 != 0 { + panic(fmt.Sprintf("Bad param number for required_if %s", fl.FieldName())) + } + for i := 0; i < len(params); i += 2 { + if !requireCheckFieldValue(fl, params[i], params[i+1], false) { + return true + } + } + return hasValue(fl) +} + +// requiredUnless is the validation function +// The field under validation must be present and not empty only unless all the other specified fields are equal to the value following with the specified field. +func requiredUnless(fl FieldLevel) bool { + params := parseOneOfParam2(fl.Param()) + if len(params)%2 != 0 { + panic(fmt.Sprintf("Bad param number for required_unless %s", fl.FieldName())) + } + + for i := 0; i < len(params); i += 2 { + if requireCheckFieldValue(fl, params[i], params[i+1], false) { + return true + } + } + return hasValue(fl) +} + +// ExcludedWith is the validation function +// The field under validation must not be present or is empty if any of the other specified fields are present. +func excludedWith(fl FieldLevel) bool { + params := parseOneOfParam2(fl.Param()) + for _, param := range params { + if !requireCheckFieldKind(fl, param, true) { + return !hasValue(fl) + } + } + return true +} + +// RequiredWith is the validation function +// The field under validation must be present and not empty only if any of the other specified fields are present. +func requiredWith(fl FieldLevel) bool { + params := parseOneOfParam2(fl.Param()) + for _, param := range params { + if !requireCheckFieldKind(fl, param, true) { + return hasValue(fl) + } + } + return true +} + +// ExcludedWithAll is the validation function +// The field under validation must not be present or is empty if all of the other specified fields are present. +func excludedWithAll(fl FieldLevel) bool { + params := parseOneOfParam2(fl.Param()) + for _, param := range params { + if requireCheckFieldKind(fl, param, true) { + return true + } + } + return !hasValue(fl) +} + +// RequiredWithAll is the validation function +// The field under validation must be present and not empty only if all of the other specified fields are present. +func requiredWithAll(fl FieldLevel) bool { + params := parseOneOfParam2(fl.Param()) + for _, param := range params { + if requireCheckFieldKind(fl, param, true) { + return true + } + } + return hasValue(fl) +} + +// ExcludedWithout is the validation function +// The field under validation must not be present or is empty when any of the other specified fields are not present. +func excludedWithout(fl FieldLevel) bool { + if requireCheckFieldKind(fl, strings.TrimSpace(fl.Param()), true) { + return !hasValue(fl) + } + return true +} + +// RequiredWithout is the validation function +// The field under validation must be present and not empty only when any of the other specified fields are not present. +func requiredWithout(fl FieldLevel) bool { + if requireCheckFieldKind(fl, strings.TrimSpace(fl.Param()), true) { + return hasValue(fl) + } + return true +} + +// ExcludedWithoutAll is the validation function +// The field under validation must not be present or is empty when all of the other specified fields are not present. +func excludedWithoutAll(fl FieldLevel) bool { + params := parseOneOfParam2(fl.Param()) + for _, param := range params { + if !requireCheckFieldKind(fl, param, true) { + return true + } + } + return !hasValue(fl) +} + +// RequiredWithoutAll is the validation function +// The field under validation must be present and not empty only when all of the other specified fields are not present. +func requiredWithoutAll(fl FieldLevel) bool { + params := parseOneOfParam2(fl.Param()) + for _, param := range params { + if !requireCheckFieldKind(fl, param, true) { + return true + } + } + return hasValue(fl) +} + +// IsGteField is the validation function for validating if the current field's value is greater than or equal to the field specified by the param's value. +func isGteField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + currentField, currentKind, ok := fl.GetStructFieldOK() + if !ok || currentKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + + return field.Int() >= currentField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + + return field.Uint() >= currentField.Uint() + + case reflect.Float32, reflect.Float64: + + return field.Float() >= currentField.Float() + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != currentField.Type() { + return false + } + + if fieldType == timeType { + + t := currentField.Interface().(time.Time) + fieldTime := field.Interface().(time.Time) + + return fieldTime.After(t) || fieldTime.Equal(t) + } + } + + // default reflect.String + return len(field.String()) >= len(currentField.String()) +} + +// IsGtField is the validation function for validating if the current field's value is greater than the field specified by the param's value. +func isGtField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + currentField, currentKind, ok := fl.GetStructFieldOK() + if !ok || currentKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + + return field.Int() > currentField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + + return field.Uint() > currentField.Uint() + + case reflect.Float32, reflect.Float64: + + return field.Float() > currentField.Float() + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != currentField.Type() { + return false + } + + if fieldType == timeType { + + t := currentField.Interface().(time.Time) + fieldTime := field.Interface().(time.Time) + + return fieldTime.After(t) + } + } + + // default reflect.String + return len(field.String()) > len(currentField.String()) +} + +// IsGte is the validation function for validating if the current field's value is greater than or equal to the param's value. +func isGte(fl FieldLevel) bool { + + field := fl.Field() + param := fl.Param() + + switch field.Kind() { + + case reflect.String: + p := asInt(param) + + return int64(utf8.RuneCountInString(field.String())) >= p + + case reflect.Slice, reflect.Map, reflect.Array: + p := asInt(param) + + return int64(field.Len()) >= p + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + p := asIntFromType(field.Type(), param) + + return field.Int() >= p + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + p := asUint(param) + + return field.Uint() >= p + + case reflect.Float32, reflect.Float64: + p := asFloat(param) + + return field.Float() >= p + + case reflect.Struct: + + if field.Type() == timeType { + + now := time.Now().UTC() + t := field.Interface().(time.Time) + + return t.After(now) || t.Equal(now) + } + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// IsGt is the validation function for validating if the current field's value is greater than the param's value. +func isGt(fl FieldLevel) bool { + + field := fl.Field() + param := fl.Param() + + switch field.Kind() { + + case reflect.String: + p := asInt(param) + + return int64(utf8.RuneCountInString(field.String())) > p + + case reflect.Slice, reflect.Map, reflect.Array: + p := asInt(param) + + return int64(field.Len()) > p + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + p := asIntFromType(field.Type(), param) + + return field.Int() > p + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + p := asUint(param) + + return field.Uint() > p + + case reflect.Float32, reflect.Float64: + p := asFloat(param) + + return field.Float() > p + case reflect.Struct: + + if field.Type() == timeType { + + return field.Interface().(time.Time).After(time.Now().UTC()) + } + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// HasLengthOf is the validation function for validating if the current field's value is equal to the param's value. +func hasLengthOf(fl FieldLevel) bool { + + field := fl.Field() + param := fl.Param() + + switch field.Kind() { + + case reflect.String: + p := asInt(param) + + return int64(utf8.RuneCountInString(field.String())) == p + + case reflect.Slice, reflect.Map, reflect.Array: + p := asInt(param) + + return int64(field.Len()) == p + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + p := asIntFromType(field.Type(), param) + + return field.Int() == p + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + p := asUint(param) + + return field.Uint() == p + + case reflect.Float32, reflect.Float64: + p := asFloat(param) + + return field.Float() == p + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// HasMinOf is the validation function for validating if the current field's value is greater than or equal to the param's value. +func hasMinOf(fl FieldLevel) bool { + return isGte(fl) +} + +// IsLteField is the validation function for validating if the current field's value is less than or equal to the field specified by the param's value. +func isLteField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + currentField, currentKind, ok := fl.GetStructFieldOK() + if !ok || currentKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + + return field.Int() <= currentField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + + return field.Uint() <= currentField.Uint() + + case reflect.Float32, reflect.Float64: + + return field.Float() <= currentField.Float() + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != currentField.Type() { + return false + } + + if fieldType == timeType { + + t := currentField.Interface().(time.Time) + fieldTime := field.Interface().(time.Time) + + return fieldTime.Before(t) || fieldTime.Equal(t) + } + } + + // default reflect.String + return len(field.String()) <= len(currentField.String()) +} + +// IsLtField is the validation function for validating if the current field's value is less than the field specified by the param's value. +func isLtField(fl FieldLevel) bool { + + field := fl.Field() + kind := field.Kind() + + currentField, currentKind, ok := fl.GetStructFieldOK() + if !ok || currentKind != kind { + return false + } + + switch kind { + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + + return field.Int() < currentField.Int() + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + + return field.Uint() < currentField.Uint() + + case reflect.Float32, reflect.Float64: + + return field.Float() < currentField.Float() + + case reflect.Struct: + + fieldType := field.Type() + + // Not Same underlying type i.e. struct and time + if fieldType != currentField.Type() { + return false + } + + if fieldType == timeType { + + t := currentField.Interface().(time.Time) + fieldTime := field.Interface().(time.Time) + + return fieldTime.Before(t) + } + } + + // default reflect.String + return len(field.String()) < len(currentField.String()) +} + +// IsLte is the validation function for validating if the current field's value is less than or equal to the param's value. +func isLte(fl FieldLevel) bool { + + field := fl.Field() + param := fl.Param() + + switch field.Kind() { + + case reflect.String: + p := asInt(param) + + return int64(utf8.RuneCountInString(field.String())) <= p + + case reflect.Slice, reflect.Map, reflect.Array: + p := asInt(param) + + return int64(field.Len()) <= p + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + p := asIntFromType(field.Type(), param) + + return field.Int() <= p + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + p := asUint(param) + + return field.Uint() <= p + + case reflect.Float32, reflect.Float64: + p := asFloat(param) + + return field.Float() <= p + + case reflect.Struct: + + if field.Type() == timeType { + + now := time.Now().UTC() + t := field.Interface().(time.Time) + + return t.Before(now) || t.Equal(now) + } + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// IsLt is the validation function for validating if the current field's value is less than the param's value. +func isLt(fl FieldLevel) bool { + + field := fl.Field() + param := fl.Param() + + switch field.Kind() { + + case reflect.String: + p := asInt(param) + + return int64(utf8.RuneCountInString(field.String())) < p + + case reflect.Slice, reflect.Map, reflect.Array: + p := asInt(param) + + return int64(field.Len()) < p + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + p := asIntFromType(field.Type(), param) + + return field.Int() < p + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + p := asUint(param) + + return field.Uint() < p + + case reflect.Float32, reflect.Float64: + p := asFloat(param) + + return field.Float() < p + + case reflect.Struct: + + if field.Type() == timeType { + + return field.Interface().(time.Time).Before(time.Now().UTC()) + } + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// HasMaxOf is the validation function for validating if the current field's value is less than or equal to the param's value. +func hasMaxOf(fl FieldLevel) bool { + return isLte(fl) +} + +// IsTCP4AddrResolvable is the validation function for validating if the field's value is a resolvable tcp4 address. +func isTCP4AddrResolvable(fl FieldLevel) bool { + + if !isIP4Addr(fl) { + return false + } + + _, err := net.ResolveTCPAddr("tcp4", fl.Field().String()) + return err == nil +} + +// IsTCP6AddrResolvable is the validation function for validating if the field's value is a resolvable tcp6 address. +func isTCP6AddrResolvable(fl FieldLevel) bool { + + if !isIP6Addr(fl) { + return false + } + + _, err := net.ResolveTCPAddr("tcp6", fl.Field().String()) + + return err == nil +} + +// IsTCPAddrResolvable is the validation function for validating if the field's value is a resolvable tcp address. +func isTCPAddrResolvable(fl FieldLevel) bool { + + if !isIP4Addr(fl) && !isIP6Addr(fl) { + return false + } + + _, err := net.ResolveTCPAddr("tcp", fl.Field().String()) + + return err == nil +} + +// IsUDP4AddrResolvable is the validation function for validating if the field's value is a resolvable udp4 address. +func isUDP4AddrResolvable(fl FieldLevel) bool { + + if !isIP4Addr(fl) { + return false + } + + _, err := net.ResolveUDPAddr("udp4", fl.Field().String()) + + return err == nil +} + +// IsUDP6AddrResolvable is the validation function for validating if the field's value is a resolvable udp6 address. +func isUDP6AddrResolvable(fl FieldLevel) bool { + + if !isIP6Addr(fl) { + return false + } + + _, err := net.ResolveUDPAddr("udp6", fl.Field().String()) + + return err == nil +} + +// IsUDPAddrResolvable is the validation function for validating if the field's value is a resolvable udp address. +func isUDPAddrResolvable(fl FieldLevel) bool { + + if !isIP4Addr(fl) && !isIP6Addr(fl) { + return false + } + + _, err := net.ResolveUDPAddr("udp", fl.Field().String()) + + return err == nil +} + +// IsIP4AddrResolvable is the validation function for validating if the field's value is a resolvable ip4 address. +func isIP4AddrResolvable(fl FieldLevel) bool { + + if !isIPv4(fl) { + return false + } + + _, err := net.ResolveIPAddr("ip4", fl.Field().String()) + + return err == nil +} + +// IsIP6AddrResolvable is the validation function for validating if the field's value is a resolvable ip6 address. +func isIP6AddrResolvable(fl FieldLevel) bool { + + if !isIPv6(fl) { + return false + } + + _, err := net.ResolveIPAddr("ip6", fl.Field().String()) + + return err == nil +} + +// IsIPAddrResolvable is the validation function for validating if the field's value is a resolvable ip address. +func isIPAddrResolvable(fl FieldLevel) bool { + + if !isIP(fl) { + return false + } + + _, err := net.ResolveIPAddr("ip", fl.Field().String()) + + return err == nil +} + +// IsUnixAddrResolvable is the validation function for validating if the field's value is a resolvable unix address. +func isUnixAddrResolvable(fl FieldLevel) bool { + + _, err := net.ResolveUnixAddr("unix", fl.Field().String()) + + return err == nil +} + +func isIP4Addr(fl FieldLevel) bool { + + val := fl.Field().String() + + if idx := strings.LastIndex(val, ":"); idx != -1 { + val = val[0:idx] + } + + ip := net.ParseIP(val) + + return ip != nil && ip.To4() != nil +} + +func isIP6Addr(fl FieldLevel) bool { + + val := fl.Field().String() + + if idx := strings.LastIndex(val, ":"); idx != -1 { + if idx != 0 && val[idx-1:idx] == "]" { + val = val[1 : idx-1] + } + } + + ip := net.ParseIP(val) + + return ip != nil && ip.To4() == nil +} + +func isHostnameRFC952(fl FieldLevel) bool { + return hostnameRegexRFC952.MatchString(fl.Field().String()) +} + +func isHostnameRFC1123(fl FieldLevel) bool { + return hostnameRegexRFC1123.MatchString(fl.Field().String()) +} + +func isFQDN(fl FieldLevel) bool { + val := fl.Field().String() + + if val == "" { + return false + } + + return fqdnRegexRFC1123.MatchString(val) +} + +// IsDir is the validation function for validating if the current field's value is a valid directory. +func isDir(fl FieldLevel) bool { + field := fl.Field() + + if field.Kind() == reflect.String { + fileInfo, err := os.Stat(field.String()) + if err != nil { + return false + } + + return fileInfo.IsDir() + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isJSON is the validation function for validating if the current field's value is a valid json string. +func isJSON(fl FieldLevel) bool { + field := fl.Field() + + if field.Kind() == reflect.String { + val := field.String() + return json.Valid([]byte(val)) + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isHostnamePort validates a : combination for fields typically used for socket address. +func isHostnamePort(fl FieldLevel) bool { + val := fl.Field().String() + host, port, err := net.SplitHostPort(val) + if err != nil { + return false + } + // Port must be a iny <= 65535. + if portNum, err := strconv.ParseInt(port, 10, 32); err != nil || portNum > 65535 || portNum < 1 { + return false + } + + // If host is specified, it should match a DNS name + if host != "" { + return hostnameRegexRFC1123.MatchString(host) + } + return true +} + +// isLowercase is the validation function for validating if the current field's value is a lowercase string. +func isLowercase(fl FieldLevel) bool { + field := fl.Field() + + if field.Kind() == reflect.String { + if field.String() == "" { + return false + } + return field.String() == strings.ToLower(field.String()) + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isUppercase is the validation function for validating if the current field's value is an uppercase string. +func isUppercase(fl FieldLevel) bool { + field := fl.Field() + + if field.Kind() == reflect.String { + if field.String() == "" { + return false + } + return field.String() == strings.ToUpper(field.String()) + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isDatetime is the validation function for validating if the current field's value is a valid datetime string. +func isDatetime(fl FieldLevel) bool { + field := fl.Field() + param := fl.Param() + + if field.Kind() == reflect.String { + _, err := time.Parse(param, field.String()) + + return err == nil + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isTimeZone is the validation function for validating if the current field's value is a valid time zone string. +func isTimeZone(fl FieldLevel) bool { + field := fl.Field() + + if field.Kind() == reflect.String { + // empty value is converted to UTC by time.LoadLocation but disallow it as it is not a valid time zone name + if field.String() == "" { + return false + } + + // Local value is converted to the current system time zone by time.LoadLocation but disallow it as it is not a valid time zone name + if strings.ToLower(field.String()) == "local" { + return false + } + + _, err := time.LoadLocation(field.String()) + return err == nil + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isIso3166Alpha2 is the validation function for validating if the current field's value is a valid iso3166-1 alpha-2 country code. +func isIso3166Alpha2(fl FieldLevel) bool { + val := fl.Field().String() + return iso3166_1_alpha2[val] +} + +// isIso3166Alpha2 is the validation function for validating if the current field's value is a valid iso3166-1 alpha-3 country code. +func isIso3166Alpha3(fl FieldLevel) bool { + val := fl.Field().String() + return iso3166_1_alpha3[val] +} + +// isIso3166Alpha2 is the validation function for validating if the current field's value is a valid iso3166-1 alpha-numeric country code. +func isIso3166AlphaNumeric(fl FieldLevel) bool { + field := fl.Field() + + var code int + switch field.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + code = int(field.Int() % 1000) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + code = int(field.Uint() % 1000) + default: + panic(fmt.Sprintf("Bad field type %T", field.Interface())) + } + return iso3166_1_alpha_numeric[code] +} + +// isIso31662 is the validation function for validating if the current field's value is a valid iso3166-2 code. +func isIso31662(fl FieldLevel) bool { + val := fl.Field().String() + return iso3166_2[val] +} + +// isBCP47LanguageTag is the validation function for validating if the current field's value is a valid BCP 47 language tag, as parsed by language.Parse +func isBCP47LanguageTag(fl FieldLevel) bool { + field := fl.Field() + + if field.Kind() == reflect.String { + _, err := language.Parse(field.String()) + return err == nil + } + + panic(fmt.Sprintf("Bad field type %T", field.Interface())) +} + +// isIsoBicFormat is the validation function for validating if the current field's value is a valid Business Identifier Code (SWIFT code), defined in ISO 9362 +func isIsoBicFormat(fl FieldLevel) bool { + bicString := fl.Field().String() + + return bicRegex.MatchString(bicString) +} diff --git a/vendor/github.com/go-playground/validator/v10/cache.go b/vendor/github.com/go-playground/validator/v10/cache.go new file mode 100644 index 000000000..0d18d6ec4 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/cache.go @@ -0,0 +1,322 @@ +package validator + +import ( + "fmt" + "reflect" + "strings" + "sync" + "sync/atomic" +) + +type tagType uint8 + +const ( + typeDefault tagType = iota + typeOmitEmpty + typeIsDefault + typeNoStructLevel + typeStructOnly + typeDive + typeOr + typeKeys + typeEndKeys +) + +const ( + invalidValidation = "Invalid validation tag on field '%s'" + undefinedValidation = "Undefined validation function '%s' on field '%s'" + keysTagNotDefined = "'" + endKeysTag + "' tag encountered without a corresponding '" + keysTag + "' tag" +) + +type structCache struct { + lock sync.Mutex + m atomic.Value // map[reflect.Type]*cStruct +} + +func (sc *structCache) Get(key reflect.Type) (c *cStruct, found bool) { + c, found = sc.m.Load().(map[reflect.Type]*cStruct)[key] + return +} + +func (sc *structCache) Set(key reflect.Type, value *cStruct) { + m := sc.m.Load().(map[reflect.Type]*cStruct) + nm := make(map[reflect.Type]*cStruct, len(m)+1) + for k, v := range m { + nm[k] = v + } + nm[key] = value + sc.m.Store(nm) +} + +type tagCache struct { + lock sync.Mutex + m atomic.Value // map[string]*cTag +} + +func (tc *tagCache) Get(key string) (c *cTag, found bool) { + c, found = tc.m.Load().(map[string]*cTag)[key] + return +} + +func (tc *tagCache) Set(key string, value *cTag) { + m := tc.m.Load().(map[string]*cTag) + nm := make(map[string]*cTag, len(m)+1) + for k, v := range m { + nm[k] = v + } + nm[key] = value + tc.m.Store(nm) +} + +type cStruct struct { + name string + fields []*cField + fn StructLevelFuncCtx +} + +type cField struct { + idx int + name string + altName string + namesEqual bool + cTags *cTag +} + +type cTag struct { + tag string + aliasTag string + actualAliasTag string + param string + keys *cTag // only populated when using tag's 'keys' and 'endkeys' for map key validation + next *cTag + fn FuncCtx + typeof tagType + hasTag bool + hasAlias bool + hasParam bool // true if parameter used eg. eq= where the equal sign has been set + isBlockEnd bool // indicates the current tag represents the last validation in the block + runValidationWhenNil bool +} + +func (v *Validate) extractStructCache(current reflect.Value, sName string) *cStruct { + v.structCache.lock.Lock() + defer v.structCache.lock.Unlock() // leave as defer! because if inner panics, it will never get unlocked otherwise! + + typ := current.Type() + + // could have been multiple trying to access, but once first is done this ensures struct + // isn't parsed again. + cs, ok := v.structCache.Get(typ) + if ok { + return cs + } + + cs = &cStruct{name: sName, fields: make([]*cField, 0), fn: v.structLevelFuncs[typ]} + + numFields := current.NumField() + + var ctag *cTag + var fld reflect.StructField + var tag string + var customName string + + for i := 0; i < numFields; i++ { + + fld = typ.Field(i) + + if !fld.Anonymous && len(fld.PkgPath) > 0 { + continue + } + + tag = fld.Tag.Get(v.tagName) + + if tag == skipValidationTag { + continue + } + + customName = fld.Name + + if v.hasTagNameFunc { + name := v.tagNameFunc(fld) + if len(name) > 0 { + customName = name + } + } + + // NOTE: cannot use shared tag cache, because tags may be equal, but things like alias may be different + // and so only struct level caching can be used instead of combined with Field tag caching + + if len(tag) > 0 { + ctag, _ = v.parseFieldTagsRecursive(tag, fld.Name, "", false) + } else { + // even if field doesn't have validations need cTag for traversing to potential inner/nested + // elements of the field. + ctag = new(cTag) + } + + cs.fields = append(cs.fields, &cField{ + idx: i, + name: fld.Name, + altName: customName, + cTags: ctag, + namesEqual: fld.Name == customName, + }) + } + v.structCache.Set(typ, cs) + return cs +} + +func (v *Validate) parseFieldTagsRecursive(tag string, fieldName string, alias string, hasAlias bool) (firstCtag *cTag, current *cTag) { + var t string + noAlias := len(alias) == 0 + tags := strings.Split(tag, tagSeparator) + + for i := 0; i < len(tags); i++ { + t = tags[i] + if noAlias { + alias = t + } + + // check map for alias and process new tags, otherwise process as usual + if tagsVal, found := v.aliases[t]; found { + if i == 0 { + firstCtag, current = v.parseFieldTagsRecursive(tagsVal, fieldName, t, true) + } else { + next, curr := v.parseFieldTagsRecursive(tagsVal, fieldName, t, true) + current.next, current = next, curr + + } + continue + } + + var prevTag tagType + + if i == 0 { + current = &cTag{aliasTag: alias, hasAlias: hasAlias, hasTag: true, typeof: typeDefault} + firstCtag = current + } else { + prevTag = current.typeof + current.next = &cTag{aliasTag: alias, hasAlias: hasAlias, hasTag: true} + current = current.next + } + + switch t { + case diveTag: + current.typeof = typeDive + continue + + case keysTag: + current.typeof = typeKeys + + if i == 0 || prevTag != typeDive { + panic(fmt.Sprintf("'%s' tag must be immediately preceded by the '%s' tag", keysTag, diveTag)) + } + + current.typeof = typeKeys + + // need to pass along only keys tag + // need to increment i to skip over the keys tags + b := make([]byte, 0, 64) + + i++ + + for ; i < len(tags); i++ { + + b = append(b, tags[i]...) + b = append(b, ',') + + if tags[i] == endKeysTag { + break + } + } + + current.keys, _ = v.parseFieldTagsRecursive(string(b[:len(b)-1]), fieldName, "", false) + continue + + case endKeysTag: + current.typeof = typeEndKeys + + // if there are more in tags then there was no keysTag defined + // and an error should be thrown + if i != len(tags)-1 { + panic(keysTagNotDefined) + } + return + + case omitempty: + current.typeof = typeOmitEmpty + continue + + case structOnlyTag: + current.typeof = typeStructOnly + continue + + case noStructLevelTag: + current.typeof = typeNoStructLevel + continue + + default: + if t == isdefault { + current.typeof = typeIsDefault + } + // if a pipe character is needed within the param you must use the utf8Pipe representation "0x7C" + orVals := strings.Split(t, orSeparator) + + for j := 0; j < len(orVals); j++ { + vals := strings.SplitN(orVals[j], tagKeySeparator, 2) + if noAlias { + alias = vals[0] + current.aliasTag = alias + } else { + current.actualAliasTag = t + } + + if j > 0 { + current.next = &cTag{aliasTag: alias, actualAliasTag: current.actualAliasTag, hasAlias: hasAlias, hasTag: true} + current = current.next + } + current.hasParam = len(vals) > 1 + + current.tag = vals[0] + if len(current.tag) == 0 { + panic(strings.TrimSpace(fmt.Sprintf(invalidValidation, fieldName))) + } + + if wrapper, ok := v.validations[current.tag]; ok { + current.fn = wrapper.fn + current.runValidationWhenNil = wrapper.runValidatinOnNil + } else { + panic(strings.TrimSpace(fmt.Sprintf(undefinedValidation, current.tag, fieldName))) + } + + if len(orVals) > 1 { + current.typeof = typeOr + } + + if len(vals) > 1 { + current.param = strings.Replace(strings.Replace(vals[1], utf8HexComma, ",", -1), utf8Pipe, "|", -1) + } + } + current.isBlockEnd = true + } + } + return +} + +func (v *Validate) fetchCacheTag(tag string) *cTag { + // find cached tag + ctag, found := v.tagCache.Get(tag) + if !found { + v.tagCache.lock.Lock() + defer v.tagCache.lock.Unlock() + + // could have been multiple trying to access, but once first is done this ensures tag + // isn't parsed again. + ctag, found = v.tagCache.Get(tag) + if !found { + ctag, _ = v.parseFieldTagsRecursive(tag, "", "", false) + v.tagCache.Set(tag, ctag) + } + } + return ctag +} diff --git a/vendor/github.com/go-playground/validator/v10/country_codes.go b/vendor/github.com/go-playground/validator/v10/country_codes.go new file mode 100644 index 000000000..0d9eda033 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/country_codes.go @@ -0,0 +1,1132 @@ +package validator + +var iso3166_1_alpha2 = map[string]bool{ + // see: https://www.iso.org/iso-3166-country-codes.html + "AF": true, "AX": true, "AL": true, "DZ": true, "AS": true, + "AD": true, "AO": true, "AI": true, "AQ": true, "AG": true, + "AR": true, "AM": true, "AW": true, "AU": true, "AT": true, + "AZ": true, "BS": true, "BH": true, "BD": true, "BB": true, + "BY": true, "BE": true, "BZ": true, "BJ": true, "BM": true, + "BT": true, "BO": true, "BQ": true, "BA": true, "BW": true, + "BV": true, "BR": true, "IO": true, "BN": true, "BG": true, + "BF": true, "BI": true, "KH": true, "CM": true, "CA": true, + "CV": true, "KY": true, "CF": true, "TD": true, "CL": true, + "CN": true, "CX": true, "CC": true, "CO": true, "KM": true, + "CG": true, "CD": true, "CK": true, "CR": true, "CI": true, + "HR": true, "CU": true, "CW": true, "CY": true, "CZ": true, + "DK": true, "DJ": true, "DM": true, "DO": true, "EC": true, + "EG": true, "SV": true, "GQ": true, "ER": true, "EE": true, + "ET": true, "FK": true, "FO": true, "FJ": true, "FI": true, + "FR": true, "GF": true, "PF": true, "TF": true, "GA": true, + "GM": true, "GE": true, "DE": true, "GH": true, "GI": true, + "GR": true, "GL": true, "GD": true, "GP": true, "GU": true, + "GT": true, "GG": true, "GN": true, "GW": true, "GY": true, + "HT": true, "HM": true, "VA": true, "HN": true, "HK": true, + "HU": true, "IS": true, "IN": true, "ID": true, "IR": true, + "IQ": true, "IE": true, "IM": true, "IL": true, "IT": true, + "JM": true, "JP": true, "JE": true, "JO": true, "KZ": true, + "KE": true, "KI": true, "KP": true, "KR": true, "KW": true, + "KG": true, "LA": true, "LV": true, "LB": true, "LS": true, + "LR": true, "LY": true, "LI": true, "LT": true, "LU": true, + "MO": true, "MK": true, "MG": true, "MW": true, "MY": true, + "MV": true, "ML": true, "MT": true, "MH": true, "MQ": true, + "MR": true, "MU": true, "YT": true, "MX": true, "FM": true, + "MD": true, "MC": true, "MN": true, "ME": true, "MS": true, + "MA": true, "MZ": true, "MM": true, "NA": true, "NR": true, + "NP": true, "NL": true, "NC": true, "NZ": true, "NI": true, + "NE": true, "NG": true, "NU": true, "NF": true, "MP": true, + "NO": true, "OM": true, "PK": true, "PW": true, "PS": true, + "PA": true, "PG": true, "PY": true, "PE": true, "PH": true, + "PN": true, "PL": true, "PT": true, "PR": true, "QA": true, + "RE": true, "RO": true, "RU": true, "RW": true, "BL": true, + "SH": true, "KN": true, "LC": true, "MF": true, "PM": true, + "VC": true, "WS": true, "SM": true, "ST": true, "SA": true, + "SN": true, "RS": true, "SC": true, "SL": true, "SG": true, + "SX": true, "SK": true, "SI": true, "SB": true, "SO": true, + "ZA": true, "GS": true, "SS": true, "ES": true, "LK": true, + "SD": true, "SR": true, "SJ": true, "SZ": true, "SE": true, + "CH": true, "SY": true, "TW": true, "TJ": true, "TZ": true, + "TH": true, "TL": true, "TG": true, "TK": true, "TO": true, + "TT": true, "TN": true, "TR": true, "TM": true, "TC": true, + "TV": true, "UG": true, "UA": true, "AE": true, "GB": true, + "US": true, "UM": true, "UY": true, "UZ": true, "VU": true, + "VE": true, "VN": true, "VG": true, "VI": true, "WF": true, + "EH": true, "YE": true, "ZM": true, "ZW": true, +} + +var iso3166_1_alpha3 = map[string]bool{ + // see: https://www.iso.org/iso-3166-country-codes.html + "AFG": true, "ALB": true, "DZA": true, "ASM": true, "AND": true, + "AGO": true, "AIA": true, "ATA": true, "ATG": true, "ARG": true, + "ARM": true, "ABW": true, "AUS": true, "AUT": true, "AZE": true, + "BHS": true, "BHR": true, "BGD": true, "BRB": true, "BLR": true, + "BEL": true, "BLZ": true, "BEN": true, "BMU": true, "BTN": true, + "BOL": true, "BES": true, "BIH": true, "BWA": true, "BVT": true, + "BRA": true, "IOT": true, "BRN": true, "BGR": true, "BFA": true, + "BDI": true, "CPV": true, "KHM": true, "CMR": true, "CAN": true, + "CYM": true, "CAF": true, "TCD": true, "CHL": true, "CHN": true, + "CXR": true, "CCK": true, "COL": true, "COM": true, "COD": true, + "COG": true, "COK": true, "CRI": true, "HRV": true, "CUB": true, + "CUW": true, "CYP": true, "CZE": true, "CIV": true, "DNK": true, + "DJI": true, "DMA": true, "DOM": true, "ECU": true, "EGY": true, + "SLV": true, "GNQ": true, "ERI": true, "EST": true, "SWZ": true, + "ETH": true, "FLK": true, "FRO": true, "FJI": true, "FIN": true, + "FRA": true, "GUF": true, "PYF": true, "ATF": true, "GAB": true, + "GMB": true, "GEO": true, "DEU": true, "GHA": true, "GIB": true, + "GRC": true, "GRL": true, "GRD": true, "GLP": true, "GUM": true, + "GTM": true, "GGY": true, "GIN": true, "GNB": true, "GUY": true, + "HTI": true, "HMD": true, "VAT": true, "HND": true, "HKG": true, + "HUN": true, "ISL": true, "IND": true, "IDN": true, "IRN": true, + "IRQ": true, "IRL": true, "IMN": true, "ISR": true, "ITA": true, + "JAM": true, "JPN": true, "JEY": true, "JOR": true, "KAZ": true, + "KEN": true, "KIR": true, "PRK": true, "KOR": true, "KWT": true, + "KGZ": true, "LAO": true, "LVA": true, "LBN": true, "LSO": true, + "LBR": true, "LBY": true, "LIE": true, "LTU": true, "LUX": true, + "MAC": true, "MDG": true, "MWI": true, "MYS": true, "MDV": true, + "MLI": true, "MLT": true, "MHL": true, "MTQ": true, "MRT": true, + "MUS": true, "MYT": true, "MEX": true, "FSM": true, "MDA": true, + "MCO": true, "MNG": true, "MNE": true, "MSR": true, "MAR": true, + "MOZ": true, "MMR": true, "NAM": true, "NRU": true, "NPL": true, + "NLD": true, "NCL": true, "NZL": true, "NIC": true, "NER": true, + "NGA": true, "NIU": true, "NFK": true, "MKD": true, "MNP": true, + "NOR": true, "OMN": true, "PAK": true, "PLW": true, "PSE": true, + "PAN": true, "PNG": true, "PRY": true, "PER": true, "PHL": true, + "PCN": true, "POL": true, "PRT": true, "PRI": true, "QAT": true, + "ROU": true, "RUS": true, "RWA": true, "REU": true, "BLM": true, + "SHN": true, "KNA": true, "LCA": true, "MAF": true, "SPM": true, + "VCT": true, "WSM": true, "SMR": true, "STP": true, "SAU": true, + "SEN": true, "SRB": true, "SYC": true, "SLE": true, "SGP": true, + "SXM": true, "SVK": true, "SVN": true, "SLB": true, "SOM": true, + "ZAF": true, "SGS": true, "SSD": true, "ESP": true, "LKA": true, + "SDN": true, "SUR": true, "SJM": true, "SWE": true, "CHE": true, + "SYR": true, "TWN": true, "TJK": true, "TZA": true, "THA": true, + "TLS": true, "TGO": true, "TKL": true, "TON": true, "TTO": true, + "TUN": true, "TUR": true, "TKM": true, "TCA": true, "TUV": true, + "UGA": true, "UKR": true, "ARE": true, "GBR": true, "UMI": true, + "USA": true, "URY": true, "UZB": true, "VUT": true, "VEN": true, + "VNM": true, "VGB": true, "VIR": true, "WLF": true, "ESH": true, + "YEM": true, "ZMB": true, "ZWE": true, "ALA": true, +} +var iso3166_1_alpha_numeric = map[int]bool{ + // see: https://www.iso.org/iso-3166-country-codes.html + 4: true, 8: true, 12: true, 16: true, 20: true, + 24: true, 660: true, 10: true, 28: true, 32: true, + 51: true, 533: true, 36: true, 40: true, 31: true, + 44: true, 48: true, 50: true, 52: true, 112: true, + 56: true, 84: true, 204: true, 60: true, 64: true, + 68: true, 535: true, 70: true, 72: true, 74: true, + 76: true, 86: true, 96: true, 100: true, 854: true, + 108: true, 132: true, 116: true, 120: true, 124: true, + 136: true, 140: true, 148: true, 152: true, 156: true, + 162: true, 166: true, 170: true, 174: true, 180: true, + 178: true, 184: true, 188: true, 191: true, 192: true, + 531: true, 196: true, 203: true, 384: true, 208: true, + 262: true, 212: true, 214: true, 218: true, 818: true, + 222: true, 226: true, 232: true, 233: true, 748: true, + 231: true, 238: true, 234: true, 242: true, 246: true, + 250: true, 254: true, 258: true, 260: true, 266: true, + 270: true, 268: true, 276: true, 288: true, 292: true, + 300: true, 304: true, 308: true, 312: true, 316: true, + 320: true, 831: true, 324: true, 624: true, 328: true, + 332: true, 334: true, 336: true, 340: true, 344: true, + 348: true, 352: true, 356: true, 360: true, 364: true, + 368: true, 372: true, 833: true, 376: true, 380: true, + 388: true, 392: true, 832: true, 400: true, 398: true, + 404: true, 296: true, 408: true, 410: true, 414: true, + 417: true, 418: true, 428: true, 422: true, 426: true, + 430: true, 434: true, 438: true, 440: true, 442: true, + 446: true, 450: true, 454: true, 458: true, 462: true, + 466: true, 470: true, 584: true, 474: true, 478: true, + 480: true, 175: true, 484: true, 583: true, 498: true, + 492: true, 496: true, 499: true, 500: true, 504: true, + 508: true, 104: true, 516: true, 520: true, 524: true, + 528: true, 540: true, 554: true, 558: true, 562: true, + 566: true, 570: true, 574: true, 807: true, 580: true, + 578: true, 512: true, 586: true, 585: true, 275: true, + 591: true, 598: true, 600: true, 604: true, 608: true, + 612: true, 616: true, 620: true, 630: true, 634: true, + 642: true, 643: true, 646: true, 638: true, 652: true, + 654: true, 659: true, 662: true, 663: true, 666: true, + 670: true, 882: true, 674: true, 678: true, 682: true, + 686: true, 688: true, 690: true, 694: true, 702: true, + 534: true, 703: true, 705: true, 90: true, 706: true, + 710: true, 239: true, 728: true, 724: true, 144: true, + 729: true, 740: true, 744: true, 752: true, 756: true, + 760: true, 158: true, 762: true, 834: true, 764: true, + 626: true, 768: true, 772: true, 776: true, 780: true, + 788: true, 792: true, 795: true, 796: true, 798: true, + 800: true, 804: true, 784: true, 826: true, 581: true, + 840: true, 858: true, 860: true, 548: true, 862: true, + 704: true, 92: true, 850: true, 876: true, 732: true, + 887: true, 894: true, 716: true, 248: true, +} + +var iso3166_2 = map[string]bool{ + "AD-02" : true, "AD-03" : true, "AD-04" : true, "AD-05" : true, "AD-06" : true, + "AD-07" : true, "AD-08" : true, "AE-AJ" : true, "AE-AZ" : true, "AE-DU" : true, + "AE-FU" : true, "AE-RK" : true, "AE-SH" : true, "AE-UQ" : true, "AF-BAL" : true, + "AF-BAM" : true, "AF-BDG" : true, "AF-BDS" : true, "AF-BGL" : true, "AF-DAY" : true, + "AF-FRA" : true, "AF-FYB" : true, "AF-GHA" : true, "AF-GHO" : true, "AF-HEL" : true, + "AF-HER" : true, "AF-JOW" : true, "AF-KAB" : true, "AF-KAN" : true, "AF-KAP" : true, + "AF-KDZ" : true, "AF-KHO" : true, "AF-KNR" : true, "AF-LAG" : true, "AF-LOG" : true, + "AF-NAN" : true, "AF-NIM" : true, "AF-NUR" : true, "AF-PAN" : true, "AF-PAR" : true, + "AF-PIA" : true, "AF-PKA" : true, "AF-SAM" : true, "AF-SAR" : true, "AF-TAK" : true, + "AF-URU" : true, "AF-WAR" : true, "AF-ZAB" : true, "AG-03" : true, "AG-04" : true, + "AG-05" : true, "AG-06" : true, "AG-07" : true, "AG-08" : true, "AG-10" : true, + "AG-11" : true, "AL-01" : true, "AL-02" : true, "AL-03" : true, "AL-04" : true, + "AL-05" : true, "AL-06" : true, "AL-07" : true, "AL-08" : true, "AL-09" : true, + "AL-10" : true, "AL-11" : true, "AL-12" : true, "AL-BR" : true, "AL-BU" : true, + "AL-DI" : true, "AL-DL" : true, "AL-DR" : true, "AL-DV" : true, "AL-EL" : true, + "AL-ER" : true, "AL-FR" : true, "AL-GJ" : true, "AL-GR" : true, "AL-HA" : true, + "AL-KA" : true, "AL-KB" : true, "AL-KC" : true, "AL-KO" : true, "AL-KR" : true, + "AL-KU" : true, "AL-LB" : true, "AL-LE" : true, "AL-LU" : true, "AL-MK" : true, + "AL-MM" : true, "AL-MR" : true, "AL-MT" : true, "AL-PG" : true, "AL-PQ" : true, + "AL-PR" : true, "AL-PU" : true, "AL-SH" : true, "AL-SK" : true, "AL-SR" : true, + "AL-TE" : true, "AL-TP" : true, "AL-TR" : true, "AL-VL" : true, "AM-AG" : true, + "AM-AR" : true, "AM-AV" : true, "AM-ER" : true, "AM-GR" : true, "AM-KT" : true, + "AM-LO" : true, "AM-SH" : true, "AM-SU" : true, "AM-TV" : true, "AM-VD" : true, + "AO-BGO" : true, "AO-BGU" : true, "AO-BIE" : true, "AO-CAB" : true, "AO-CCU" : true, + "AO-CNN" : true, "AO-CNO" : true, "AO-CUS" : true, "AO-HUA" : true, "AO-HUI" : true, + "AO-LNO" : true, "AO-LSU" : true, "AO-LUA" : true, "AO-MAL" : true, "AO-MOX" : true, + "AO-NAM" : true, "AO-UIG" : true, "AO-ZAI" : true, "AR-A" : true, "AR-B" : true, + "AR-C" : true, "AR-D" : true, "AR-E" : true, "AR-G" : true, "AR-H" : true, + "AR-J" : true, "AR-K" : true, "AR-L" : true, "AR-M" : true, "AR-N" : true, + "AR-P" : true, "AR-Q" : true, "AR-R" : true, "AR-S" : true, "AR-T" : true, + "AR-U" : true, "AR-V" : true, "AR-W" : true, "AR-X" : true, "AR-Y" : true, + "AR-Z" : true, "AT-1" : true, "AT-2" : true, "AT-3" : true, "AT-4" : true, + "AT-5" : true, "AT-6" : true, "AT-7" : true, "AT-8" : true, "AT-9" : true, + "AU-ACT" : true, "AU-NSW" : true, "AU-NT" : true, "AU-QLD" : true, "AU-SA" : true, + "AU-TAS" : true, "AU-VIC" : true, "AU-WA" : true, "AZ-ABS" : true, "AZ-AGA" : true, + "AZ-AGC" : true, "AZ-AGM" : true, "AZ-AGS" : true, "AZ-AGU" : true, "AZ-AST" : true, + "AZ-BA" : true, "AZ-BAB" : true, "AZ-BAL" : true, "AZ-BAR" : true, "AZ-BEY" : true, + "AZ-BIL" : true, "AZ-CAB" : true, "AZ-CAL" : true, "AZ-CUL" : true, "AZ-DAS" : true, + "AZ-FUZ" : true, "AZ-GA" : true, "AZ-GAD" : true, "AZ-GOR" : true, "AZ-GOY" : true, + "AZ-GYG" : true, "AZ-HAC" : true, "AZ-IMI" : true, "AZ-ISM" : true, "AZ-KAL" : true, + "AZ-KAN" : true, "AZ-KUR" : true, "AZ-LA" : true, "AZ-LAC" : true, "AZ-LAN" : true, + "AZ-LER" : true, "AZ-MAS" : true, "AZ-MI" : true, "AZ-NA" : true, "AZ-NEF" : true, + "AZ-NV" : true, "AZ-NX" : true, "AZ-OGU" : true, "AZ-ORD" : true, "AZ-QAB" : true, + "AZ-QAX" : true, "AZ-QAZ" : true, "AZ-QBA" : true, "AZ-QBI" : true, "AZ-QOB" : true, + "AZ-QUS" : true, "AZ-SA" : true, "AZ-SAB" : true, "AZ-SAD" : true, "AZ-SAH" : true, + "AZ-SAK" : true, "AZ-SAL" : true, "AZ-SAR" : true, "AZ-SAT" : true, "AZ-SBN" : true, + "AZ-SIY" : true, "AZ-SKR" : true, "AZ-SM" : true, "AZ-SMI" : true, "AZ-SMX" : true, + "AZ-SR" : true, "AZ-SUS" : true, "AZ-TAR" : true, "AZ-TOV" : true, "AZ-UCA" : true, + "AZ-XA" : true, "AZ-XAC" : true, "AZ-XCI" : true, "AZ-XIZ" : true, "AZ-XVD" : true, + "AZ-YAR" : true, "AZ-YE" : true, "AZ-YEV" : true, "AZ-ZAN" : true, "AZ-ZAQ" : true, + "AZ-ZAR" : true, "BA-01" : true, "BA-02" : true, "BA-03" : true, "BA-04" : true, + "BA-05" : true, "BA-06" : true, "BA-07" : true, "BA-08" : true, "BA-09" : true, + "BA-10" : true, "BA-BIH" : true, "BA-BRC" : true, "BA-SRP" : true, "BB-01" : true, + "BB-02" : true, "BB-03" : true, "BB-04" : true, "BB-05" : true, "BB-06" : true, + "BB-07" : true, "BB-08" : true, "BB-09" : true, "BB-10" : true, "BB-11" : true, + "BD-01" : true, "BD-02" : true, "BD-03" : true, "BD-04" : true, "BD-05" : true, + "BD-06" : true, "BD-07" : true, "BD-08" : true, "BD-09" : true, "BD-10" : true, + "BD-11" : true, "BD-12" : true, "BD-13" : true, "BD-14" : true, "BD-15" : true, + "BD-16" : true, "BD-17" : true, "BD-18" : true, "BD-19" : true, "BD-20" : true, + "BD-21" : true, "BD-22" : true, "BD-23" : true, "BD-24" : true, "BD-25" : true, + "BD-26" : true, "BD-27" : true, "BD-28" : true, "BD-29" : true, "BD-30" : true, + "BD-31" : true, "BD-32" : true, "BD-33" : true, "BD-34" : true, "BD-35" : true, + "BD-36" : true, "BD-37" : true, "BD-38" : true, "BD-39" : true, "BD-40" : true, + "BD-41" : true, "BD-42" : true, "BD-43" : true, "BD-44" : true, "BD-45" : true, + "BD-46" : true, "BD-47" : true, "BD-48" : true, "BD-49" : true, "BD-50" : true, + "BD-51" : true, "BD-52" : true, "BD-53" : true, "BD-54" : true, "BD-55" : true, + "BD-56" : true, "BD-57" : true, "BD-58" : true, "BD-59" : true, "BD-60" : true, + "BD-61" : true, "BD-62" : true, "BD-63" : true, "BD-64" : true, "BD-A" : true, + "BD-B" : true, "BD-C" : true, "BD-D" : true, "BD-E" : true, "BD-F" : true, + "BD-G" : true, "BE-BRU" : true, "BE-VAN" : true, "BE-VBR" : true, "BE-VLG" : true, + "BE-VLI" : true, "BE-VOV" : true, "BE-VWV" : true, "BE-WAL" : true, "BE-WBR" : true, + "BE-WHT" : true, "BE-WLG" : true, "BE-WLX" : true, "BE-WNA" : true, "BF-01" : true, + "BF-02" : true, "BF-03" : true, "BF-04" : true, "BF-05" : true, "BF-06" : true, + "BF-07" : true, "BF-08" : true, "BF-09" : true, "BF-10" : true, "BF-11" : true, + "BF-12" : true, "BF-13" : true, "BF-BAL" : true, "BF-BAM" : true, "BF-BAN" : true, + "BF-BAZ" : true, "BF-BGR" : true, "BF-BLG" : true, "BF-BLK" : true, "BF-COM" : true, + "BF-GAN" : true, "BF-GNA" : true, "BF-GOU" : true, "BF-HOU" : true, "BF-IOB" : true, + "BF-KAD" : true, "BF-KEN" : true, "BF-KMD" : true, "BF-KMP" : true, "BF-KOP" : true, + "BF-KOS" : true, "BF-KOT" : true, "BF-KOW" : true, "BF-LER" : true, "BF-LOR" : true, + "BF-MOU" : true, "BF-NAM" : true, "BF-NAO" : true, "BF-NAY" : true, "BF-NOU" : true, + "BF-OUB" : true, "BF-OUD" : true, "BF-PAS" : true, "BF-PON" : true, "BF-SEN" : true, + "BF-SIS" : true, "BF-SMT" : true, "BF-SNG" : true, "BF-SOM" : true, "BF-SOR" : true, + "BF-TAP" : true, "BF-TUI" : true, "BF-YAG" : true, "BF-YAT" : true, "BF-ZIR" : true, + "BF-ZON" : true, "BF-ZOU" : true, "BG-01" : true, "BG-02" : true, "BG-03" : true, + "BG-04" : true, "BG-05" : true, "BG-06" : true, "BG-07" : true, "BG-08" : true, + "BG-09" : true, "BG-10" : true, "BG-11" : true, "BG-12" : true, "BG-13" : true, + "BG-14" : true, "BG-15" : true, "BG-16" : true, "BG-17" : true, "BG-18" : true, + "BG-19" : true, "BG-20" : true, "BG-21" : true, "BG-22" : true, "BG-23" : true, + "BG-24" : true, "BG-25" : true, "BG-26" : true, "BG-27" : true, "BG-28" : true, + "BH-13" : true, "BH-14" : true, "BH-15" : true, "BH-16" : true, "BH-17" : true, + "BI-BB" : true, "BI-BL" : true, "BI-BM" : true, "BI-BR" : true, "BI-CA" : true, + "BI-CI" : true, "BI-GI" : true, "BI-KI" : true, "BI-KR" : true, "BI-KY" : true, + "BI-MA" : true, "BI-MU" : true, "BI-MW" : true, "BI-NG" : true, "BI-RT" : true, + "BI-RY" : true, "BJ-AK" : true, "BJ-AL" : true, "BJ-AQ" : true, "BJ-BO" : true, + "BJ-CO" : true, "BJ-DO" : true, "BJ-KO" : true, "BJ-LI" : true, "BJ-MO" : true, + "BJ-OU" : true, "BJ-PL" : true, "BJ-ZO" : true, "BN-BE" : true, "BN-BM" : true, + "BN-TE" : true, "BN-TU" : true, "BO-B" : true, "BO-C" : true, "BO-H" : true, + "BO-L" : true, "BO-N" : true, "BO-O" : true, "BO-P" : true, "BO-S" : true, + "BO-T" : true, "BQ-BO" : true, "BQ-SA" : true, "BQ-SE" : true, "BR-AC" : true, + "BR-AL" : true, "BR-AM" : true, "BR-AP" : true, "BR-BA" : true, "BR-CE" : true, + "BR-DF" : true, "BR-ES" : true, "BR-FN" : true, "BR-GO" : true, "BR-MA" : true, + "BR-MG" : true, "BR-MS" : true, "BR-MT" : true, "BR-PA" : true, "BR-PB" : true, + "BR-PE" : true, "BR-PI" : true, "BR-PR" : true, "BR-RJ" : true, "BR-RN" : true, + "BR-RO" : true, "BR-RR" : true, "BR-RS" : true, "BR-SC" : true, "BR-SE" : true, + "BR-SP" : true, "BR-TO" : true, "BS-AK" : true, "BS-BI" : true, "BS-BP" : true, + "BS-BY" : true, "BS-CE" : true, "BS-CI" : true, "BS-CK" : true, "BS-CO" : true, + "BS-CS" : true, "BS-EG" : true, "BS-EX" : true, "BS-FP" : true, "BS-GC" : true, + "BS-HI" : true, "BS-HT" : true, "BS-IN" : true, "BS-LI" : true, "BS-MC" : true, + "BS-MG" : true, "BS-MI" : true, "BS-NE" : true, "BS-NO" : true, "BS-NS" : true, + "BS-RC" : true, "BS-RI" : true, "BS-SA" : true, "BS-SE" : true, "BS-SO" : true, + "BS-SS" : true, "BS-SW" : true, "BS-WG" : true, "BT-11" : true, "BT-12" : true, + "BT-13" : true, "BT-14" : true, "BT-15" : true, "BT-21" : true, "BT-22" : true, + "BT-23" : true, "BT-24" : true, "BT-31" : true, "BT-32" : true, "BT-33" : true, + "BT-34" : true, "BT-41" : true, "BT-42" : true, "BT-43" : true, "BT-44" : true, + "BT-45" : true, "BT-GA" : true, "BT-TY" : true, "BW-CE" : true, "BW-GH" : true, + "BW-KG" : true, "BW-KL" : true, "BW-KW" : true, "BW-NE" : true, "BW-NW" : true, + "BW-SE" : true, "BW-SO" : true, "BY-BR" : true, "BY-HM" : true, "BY-HO" : true, + "BY-HR" : true, "BY-MA" : true, "BY-MI" : true, "BY-VI" : true, "BZ-BZ" : true, + "BZ-CY" : true, "BZ-CZL" : true, "BZ-OW" : true, "BZ-SC" : true, "BZ-TOL" : true, + "CA-AB" : true, "CA-BC" : true, "CA-MB" : true, "CA-NB" : true, "CA-NL" : true, + "CA-NS" : true, "CA-NT" : true, "CA-NU" : true, "CA-ON" : true, "CA-PE" : true, + "CA-QC" : true, "CA-SK" : true, "CA-YT" : true, "CD-BC" : true, "CD-BN" : true, + "CD-EQ" : true, "CD-KA" : true, "CD-KE" : true, "CD-KN" : true, "CD-KW" : true, + "CD-MA" : true, "CD-NK" : true, "CD-OR" : true, "CD-SK" : true, "CF-AC" : true, + "CF-BB" : true, "CF-BGF" : true, "CF-BK" : true, "CF-HK" : true, "CF-HM" : true, + "CF-HS" : true, "CF-KB" : true, "CF-KG" : true, "CF-LB" : true, "CF-MB" : true, + "CF-MP" : true, "CF-NM" : true, "CF-OP" : true, "CF-SE" : true, "CF-UK" : true, + "CF-VK" : true, "CG-11" : true, "CG-12" : true, "CG-13" : true, "CG-14" : true, + "CG-15" : true, "CG-2" : true, "CG-5" : true, "CG-7" : true, "CG-8" : true, + "CG-9" : true, "CG-BZV" : true, "CH-AG" : true, "CH-AI" : true, "CH-AR" : true, + "CH-BE" : true, "CH-BL" : true, "CH-BS" : true, "CH-FR" : true, "CH-GE" : true, + "CH-GL" : true, "CH-GR" : true, "CH-JU" : true, "CH-LU" : true, "CH-NE" : true, + "CH-NW" : true, "CH-OW" : true, "CH-SG" : true, "CH-SH" : true, "CH-SO" : true, + "CH-SZ" : true, "CH-TG" : true, "CH-TI" : true, "CH-UR" : true, "CH-VD" : true, + "CH-VS" : true, "CH-ZG" : true, "CH-ZH" : true, "CI-01" : true, "CI-02" : true, + "CI-03" : true, "CI-04" : true, "CI-05" : true, "CI-06" : true, "CI-07" : true, + "CI-08" : true, "CI-09" : true, "CI-10" : true, "CI-11" : true, "CI-12" : true, + "CI-13" : true, "CI-14" : true, "CI-15" : true, "CI-16" : true, "CI-17" : true, + "CI-18" : true, "CI-19" : true, "CL-AI" : true, "CL-AN" : true, "CL-AP" : true, + "CL-AR" : true, "CL-AT" : true, "CL-BI" : true, "CL-CO" : true, "CL-LI" : true, + "CL-LL" : true, "CL-LR" : true, "CL-MA" : true, "CL-ML" : true, "CL-RM" : true, + "CL-TA" : true, "CL-VS" : true, "CM-AD" : true, "CM-CE" : true, "CM-EN" : true, + "CM-ES" : true, "CM-LT" : true, "CM-NO" : true, "CM-NW" : true, "CM-OU" : true, + "CM-SU" : true, "CM-SW" : true, "CN-11" : true, "CN-12" : true, "CN-13" : true, + "CN-14" : true, "CN-15" : true, "CN-21" : true, "CN-22" : true, "CN-23" : true, + "CN-31" : true, "CN-32" : true, "CN-33" : true, "CN-34" : true, "CN-35" : true, + "CN-36" : true, "CN-37" : true, "CN-41" : true, "CN-42" : true, "CN-43" : true, + "CN-44" : true, "CN-45" : true, "CN-46" : true, "CN-50" : true, "CN-51" : true, + "CN-52" : true, "CN-53" : true, "CN-54" : true, "CN-61" : true, "CN-62" : true, + "CN-63" : true, "CN-64" : true, "CN-65" : true, "CN-71" : true, "CN-91" : true, + "CN-92" : true, "CO-AMA" : true, "CO-ANT" : true, "CO-ARA" : true, "CO-ATL" : true, + "CO-BOL" : true, "CO-BOY" : true, "CO-CAL" : true, "CO-CAQ" : true, "CO-CAS" : true, + "CO-CAU" : true, "CO-CES" : true, "CO-CHO" : true, "CO-COR" : true, "CO-CUN" : true, + "CO-DC" : true, "CO-GUA" : true, "CO-GUV" : true, "CO-HUI" : true, "CO-LAG" : true, + "CO-MAG" : true, "CO-MET" : true, "CO-NAR" : true, "CO-NSA" : true, "CO-PUT" : true, + "CO-QUI" : true, "CO-RIS" : true, "CO-SAN" : true, "CO-SAP" : true, "CO-SUC" : true, + "CO-TOL" : true, "CO-VAC" : true, "CO-VAU" : true, "CO-VID" : true, "CR-A" : true, + "CR-C" : true, "CR-G" : true, "CR-H" : true, "CR-L" : true, "CR-P" : true, + "CR-SJ" : true, "CU-01" : true, "CU-02" : true, "CU-03" : true, "CU-04" : true, + "CU-05" : true, "CU-06" : true, "CU-07" : true, "CU-08" : true, "CU-09" : true, + "CU-10" : true, "CU-11" : true, "CU-12" : true, "CU-13" : true, "CU-14" : true, + "CU-99" : true, "CV-B" : true, "CV-BR" : true, "CV-BV" : true, "CV-CA" : true, + "CV-CF" : true, "CV-CR" : true, "CV-MA" : true, "CV-MO" : true, "CV-PA" : true, + "CV-PN" : true, "CV-PR" : true, "CV-RB" : true, "CV-RG" : true, "CV-RS" : true, + "CV-S" : true, "CV-SD" : true, "CV-SF" : true, "CV-SL" : true, "CV-SM" : true, + "CV-SO" : true, "CV-SS" : true, "CV-SV" : true, "CV-TA" : true, "CV-TS" : true, + "CY-01" : true, "CY-02" : true, "CY-03" : true, "CY-04" : true, "CY-05" : true, + "CY-06" : true, "CZ-10" : true, "CZ-101" : true, "CZ-102" : true, "CZ-103" : true, + "CZ-104" : true, "CZ-105" : true, "CZ-106" : true, "CZ-107" : true, "CZ-108" : true, + "CZ-109" : true, "CZ-110" : true, "CZ-111" : true, "CZ-112" : true, "CZ-113" : true, + "CZ-114" : true, "CZ-115" : true, "CZ-116" : true, "CZ-117" : true, "CZ-118" : true, + "CZ-119" : true, "CZ-120" : true, "CZ-121" : true, "CZ-122" : true, "CZ-20" : true, + "CZ-201" : true, "CZ-202" : true, "CZ-203" : true, "CZ-204" : true, "CZ-205" : true, + "CZ-206" : true, "CZ-207" : true, "CZ-208" : true, "CZ-209" : true, "CZ-20A" : true, + "CZ-20B" : true, "CZ-20C" : true, "CZ-31" : true, "CZ-311" : true, "CZ-312" : true, + "CZ-313" : true, "CZ-314" : true, "CZ-315" : true, "CZ-316" : true, "CZ-317" : true, + "CZ-32" : true, "CZ-321" : true, "CZ-322" : true, "CZ-323" : true, "CZ-324" : true, + "CZ-325" : true, "CZ-326" : true, "CZ-327" : true, "CZ-41" : true, "CZ-411" : true, + "CZ-412" : true, "CZ-413" : true, "CZ-42" : true, "CZ-421" : true, "CZ-422" : true, + "CZ-423" : true, "CZ-424" : true, "CZ-425" : true, "CZ-426" : true, "CZ-427" : true, + "CZ-51" : true, "CZ-511" : true, "CZ-512" : true, "CZ-513" : true, "CZ-514" : true, + "CZ-52" : true, "CZ-521" : true, "CZ-522" : true, "CZ-523" : true, "CZ-524" : true, + "CZ-525" : true, "CZ-53" : true, "CZ-531" : true, "CZ-532" : true, "CZ-533" : true, + "CZ-534" : true, "CZ-63" : true, "CZ-631" : true, "CZ-632" : true, "CZ-633" : true, + "CZ-634" : true, "CZ-635" : true, "CZ-64" : true, "CZ-641" : true, "CZ-642" : true, + "CZ-643" : true, "CZ-644" : true, "CZ-645" : true, "CZ-646" : true, "CZ-647" : true, + "CZ-71" : true, "CZ-711" : true, "CZ-712" : true, "CZ-713" : true, "CZ-714" : true, + "CZ-715" : true, "CZ-72" : true, "CZ-721" : true, "CZ-722" : true, "CZ-723" : true, + "CZ-724" : true, "CZ-80" : true, "CZ-801" : true, "CZ-802" : true, "CZ-803" : true, + "CZ-804" : true, "CZ-805" : true, "CZ-806" : true, "DE-BB" : true, "DE-BE" : true, + "DE-BW" : true, "DE-BY" : true, "DE-HB" : true, "DE-HE" : true, "DE-HH" : true, + "DE-MV" : true, "DE-NI" : true, "DE-NW" : true, "DE-RP" : true, "DE-SH" : true, + "DE-SL" : true, "DE-SN" : true, "DE-ST" : true, "DE-TH" : true, "DJ-AR" : true, + "DJ-AS" : true, "DJ-DI" : true, "DJ-DJ" : true, "DJ-OB" : true, "DJ-TA" : true, + "DK-81" : true, "DK-82" : true, "DK-83" : true, "DK-84" : true, "DK-85" : true, + "DM-01" : true, "DM-02" : true, "DM-03" : true, "DM-04" : true, "DM-05" : true, + "DM-06" : true, "DM-07" : true, "DM-08" : true, "DM-09" : true, "DM-10" : true, + "DO-01" : true, "DO-02" : true, "DO-03" : true, "DO-04" : true, "DO-05" : true, + "DO-06" : true, "DO-07" : true, "DO-08" : true, "DO-09" : true, "DO-10" : true, + "DO-11" : true, "DO-12" : true, "DO-13" : true, "DO-14" : true, "DO-15" : true, + "DO-16" : true, "DO-17" : true, "DO-18" : true, "DO-19" : true, "DO-20" : true, + "DO-21" : true, "DO-22" : true, "DO-23" : true, "DO-24" : true, "DO-25" : true, + "DO-26" : true, "DO-27" : true, "DO-28" : true, "DO-29" : true, "DO-30" : true, + "DZ-01" : true, "DZ-02" : true, "DZ-03" : true, "DZ-04" : true, "DZ-05" : true, + "DZ-06" : true, "DZ-07" : true, "DZ-08" : true, "DZ-09" : true, "DZ-10" : true, + "DZ-11" : true, "DZ-12" : true, "DZ-13" : true, "DZ-14" : true, "DZ-15" : true, + "DZ-16" : true, "DZ-17" : true, "DZ-18" : true, "DZ-19" : true, "DZ-20" : true, + "DZ-21" : true, "DZ-22" : true, "DZ-23" : true, "DZ-24" : true, "DZ-25" : true, + "DZ-26" : true, "DZ-27" : true, "DZ-28" : true, "DZ-29" : true, "DZ-30" : true, + "DZ-31" : true, "DZ-32" : true, "DZ-33" : true, "DZ-34" : true, "DZ-35" : true, + "DZ-36" : true, "DZ-37" : true, "DZ-38" : true, "DZ-39" : true, "DZ-40" : true, + "DZ-41" : true, "DZ-42" : true, "DZ-43" : true, "DZ-44" : true, "DZ-45" : true, + "DZ-46" : true, "DZ-47" : true, "DZ-48" : true, "EC-A" : true, "EC-B" : true, + "EC-C" : true, "EC-D" : true, "EC-E" : true, "EC-F" : true, "EC-G" : true, + "EC-H" : true, "EC-I" : true, "EC-L" : true, "EC-M" : true, "EC-N" : true, + "EC-O" : true, "EC-P" : true, "EC-R" : true, "EC-S" : true, "EC-SD" : true, + "EC-SE" : true, "EC-T" : true, "EC-U" : true, "EC-W" : true, "EC-X" : true, + "EC-Y" : true, "EC-Z" : true, "EE-37" : true, "EE-39" : true, "EE-44" : true, + "EE-49" : true, "EE-51" : true, "EE-57" : true, "EE-59" : true, "EE-65" : true, + "EE-67" : true, "EE-70" : true, "EE-74" : true, "EE-78" : true, "EE-82" : true, + "EE-84" : true, "EE-86" : true, "EG-ALX" : true, "EG-ASN" : true, "EG-AST" : true, + "EG-BA" : true, "EG-BH" : true, "EG-BNS" : true, "EG-C" : true, "EG-DK" : true, + "EG-DT" : true, "EG-FYM" : true, "EG-GH" : true, "EG-GZ" : true, "EG-HU" : true, + "EG-IS" : true, "EG-JS" : true, "EG-KB" : true, "EG-KFS" : true, "EG-KN" : true, + "EG-MN" : true, "EG-MNF" : true, "EG-MT" : true, "EG-PTS" : true, "EG-SHG" : true, + "EG-SHR" : true, "EG-SIN" : true, "EG-SU" : true, "EG-SUZ" : true, "EG-WAD" : true, + "ER-AN" : true, "ER-DK" : true, "ER-DU" : true, "ER-GB" : true, "ER-MA" : true, + "ER-SK" : true, "ES-A" : true, "ES-AB" : true, "ES-AL" : true, "ES-AN" : true, + "ES-AR" : true, "ES-AS" : true, "ES-AV" : true, "ES-B" : true, "ES-BA" : true, + "ES-BI" : true, "ES-BU" : true, "ES-C" : true, "ES-CA" : true, "ES-CB" : true, + "ES-CC" : true, "ES-CE" : true, "ES-CL" : true, "ES-CM" : true, "ES-CN" : true, + "ES-CO" : true, "ES-CR" : true, "ES-CS" : true, "ES-CT" : true, "ES-CU" : true, + "ES-EX" : true, "ES-GA" : true, "ES-GC" : true, "ES-GI" : true, "ES-GR" : true, + "ES-GU" : true, "ES-H" : true, "ES-HU" : true, "ES-IB" : true, "ES-J" : true, + "ES-L" : true, "ES-LE" : true, "ES-LO" : true, "ES-LU" : true, "ES-M" : true, + "ES-MA" : true, "ES-MC" : true, "ES-MD" : true, "ES-ML" : true, "ES-MU" : true, + "ES-NA" : true, "ES-NC" : true, "ES-O" : true, "ES-OR" : true, "ES-P" : true, + "ES-PM" : true, "ES-PO" : true, "ES-PV" : true, "ES-RI" : true, "ES-S" : true, + "ES-SA" : true, "ES-SE" : true, "ES-SG" : true, "ES-SO" : true, "ES-SS" : true, + "ES-T" : true, "ES-TE" : true, "ES-TF" : true, "ES-TO" : true, "ES-V" : true, + "ES-VA" : true, "ES-VC" : true, "ES-VI" : true, "ES-Z" : true, "ES-ZA" : true, + "ET-AA" : true, "ET-AF" : true, "ET-AM" : true, "ET-BE" : true, "ET-DD" : true, + "ET-GA" : true, "ET-HA" : true, "ET-OR" : true, "ET-SN" : true, "ET-SO" : true, + "ET-TI" : true, "FI-01" : true, "FI-02" : true, "FI-03" : true, "FI-04" : true, + "FI-05" : true, "FI-06" : true, "FI-07" : true, "FI-08" : true, "FI-09" : true, + "FI-10" : true, "FI-11" : true, "FI-12" : true, "FI-13" : true, "FI-14" : true, + "FI-15" : true, "FI-16" : true, "FI-17" : true, "FI-18" : true, "FI-19" : true, + "FJ-C" : true, "FJ-E" : true, "FJ-N" : true, "FJ-R" : true, "FJ-W" : true, + "FM-KSA" : true, "FM-PNI" : true, "FM-TRK" : true, "FM-YAP" : true, "FR-01" : true, + "FR-02" : true, "FR-03" : true, "FR-04" : true, "FR-05" : true, "FR-06" : true, + "FR-07" : true, "FR-08" : true, "FR-09" : true, "FR-10" : true, "FR-11" : true, + "FR-12" : true, "FR-13" : true, "FR-14" : true, "FR-15" : true, "FR-16" : true, + "FR-17" : true, "FR-18" : true, "FR-19" : true, "FR-21" : true, "FR-22" : true, + "FR-23" : true, "FR-24" : true, "FR-25" : true, "FR-26" : true, "FR-27" : true, + "FR-28" : true, "FR-29" : true, "FR-2A" : true, "FR-2B" : true, "FR-30" : true, + "FR-31" : true, "FR-32" : true, "FR-33" : true, "FR-34" : true, "FR-35" : true, + "FR-36" : true, "FR-37" : true, "FR-38" : true, "FR-39" : true, "FR-40" : true, + "FR-41" : true, "FR-42" : true, "FR-43" : true, "FR-44" : true, "FR-45" : true, + "FR-46" : true, "FR-47" : true, "FR-48" : true, "FR-49" : true, "FR-50" : true, + "FR-51" : true, "FR-52" : true, "FR-53" : true, "FR-54" : true, "FR-55" : true, + "FR-56" : true, "FR-57" : true, "FR-58" : true, "FR-59" : true, "FR-60" : true, + "FR-61" : true, "FR-62" : true, "FR-63" : true, "FR-64" : true, "FR-65" : true, + "FR-66" : true, "FR-67" : true, "FR-68" : true, "FR-69" : true, "FR-70" : true, + "FR-71" : true, "FR-72" : true, "FR-73" : true, "FR-74" : true, "FR-75" : true, + "FR-76" : true, "FR-77" : true, "FR-78" : true, "FR-79" : true, "FR-80" : true, + "FR-81" : true, "FR-82" : true, "FR-83" : true, "FR-84" : true, "FR-85" : true, + "FR-86" : true, "FR-87" : true, "FR-88" : true, "FR-89" : true, "FR-90" : true, + "FR-91" : true, "FR-92" : true, "FR-93" : true, "FR-94" : true, "FR-95" : true, + "FR-ARA" : true, "FR-BFC" : true, "FR-BL" : true, "FR-BRE" : true, "FR-COR" : true, + "FR-CP" : true, "FR-CVL" : true, "FR-GES" : true, "FR-GF" : true, "FR-GP" : true, + "FR-GUA" : true, "FR-HDF" : true, "FR-IDF" : true, "FR-LRE" : true, "FR-MAY" : true, + "FR-MF" : true, "FR-MQ" : true, "FR-NAQ" : true, "FR-NC" : true, "FR-NOR" : true, + "FR-OCC" : true, "FR-PAC" : true, "FR-PDL" : true, "FR-PF" : true, "FR-PM" : true, + "FR-RE" : true, "FR-TF" : true, "FR-WF" : true, "FR-YT" : true, "GA-1" : true, + "GA-2" : true, "GA-3" : true, "GA-4" : true, "GA-5" : true, "GA-6" : true, + "GA-7" : true, "GA-8" : true, "GA-9" : true, "GB-ABC" : true, "GB-ABD" : true, + "GB-ABE" : true, "GB-AGB" : true, "GB-AGY" : true, "GB-AND" : true, "GB-ANN" : true, + "GB-ANS" : true, "GB-BAS" : true, "GB-BBD" : true, "GB-BDF" : true, "GB-BDG" : true, + "GB-BEN" : true, "GB-BEX" : true, "GB-BFS" : true, "GB-BGE" : true, "GB-BGW" : true, + "GB-BIR" : true, "GB-BKM" : true, "GB-BMH" : true, "GB-BNE" : true, "GB-BNH" : true, + "GB-BNS" : true, "GB-BOL" : true, "GB-BPL" : true, "GB-BRC" : true, "GB-BRD" : true, + "GB-BRY" : true, "GB-BST" : true, "GB-BUR" : true, "GB-CAM" : true, "GB-CAY" : true, + "GB-CBF" : true, "GB-CCG" : true, "GB-CGN" : true, "GB-CHE" : true, "GB-CHW" : true, + "GB-CLD" : true, "GB-CLK" : true, "GB-CMA" : true, "GB-CMD" : true, "GB-CMN" : true, + "GB-CON" : true, "GB-COV" : true, "GB-CRF" : true, "GB-CRY" : true, "GB-CWY" : true, + "GB-DAL" : true, "GB-DBY" : true, "GB-DEN" : true, "GB-DER" : true, "GB-DEV" : true, + "GB-DGY" : true, "GB-DNC" : true, "GB-DND" : true, "GB-DOR" : true, "GB-DRS" : true, + "GB-DUD" : true, "GB-DUR" : true, "GB-EAL" : true, "GB-EAW" : true, "GB-EAY" : true, + "GB-EDH" : true, "GB-EDU" : true, "GB-ELN" : true, "GB-ELS" : true, "GB-ENF" : true, + "GB-ENG" : true, "GB-ERW" : true, "GB-ERY" : true, "GB-ESS" : true, "GB-ESX" : true, + "GB-FAL" : true, "GB-FIF" : true, "GB-FLN" : true, "GB-FMO" : true, "GB-GAT" : true, + "GB-GBN" : true, "GB-GLG" : true, "GB-GLS" : true, "GB-GRE" : true, "GB-GWN" : true, + "GB-HAL" : true, "GB-HAM" : true, "GB-HAV" : true, "GB-HCK" : true, "GB-HEF" : true, + "GB-HIL" : true, "GB-HLD" : true, "GB-HMF" : true, "GB-HNS" : true, "GB-HPL" : true, + "GB-HRT" : true, "GB-HRW" : true, "GB-HRY" : true, "GB-IOS" : true, "GB-IOW" : true, + "GB-ISL" : true, "GB-IVC" : true, "GB-KEC" : true, "GB-KEN" : true, "GB-KHL" : true, + "GB-KIR" : true, "GB-KTT" : true, "GB-KWL" : true, "GB-LAN" : true, "GB-LBC" : true, + "GB-LBH" : true, "GB-LCE" : true, "GB-LDS" : true, "GB-LEC" : true, "GB-LEW" : true, + "GB-LIN" : true, "GB-LIV" : true, "GB-LND" : true, "GB-LUT" : true, "GB-MAN" : true, + "GB-MDB" : true, "GB-MDW" : true, "GB-MEA" : true, "GB-MIK" : true, "GD-01" : true, + "GB-MLN" : true, "GB-MON" : true, "GB-MRT" : true, "GB-MRY" : true, "GB-MTY" : true, + "GB-MUL" : true, "GB-NAY" : true, "GB-NBL" : true, "GB-NEL" : true, "GB-NET" : true, + "GB-NFK" : true, "GB-NGM" : true, "GB-NIR" : true, "GB-NLK" : true, "GB-NLN" : true, + "GB-NMD" : true, "GB-NSM" : true, "GB-NTH" : true, "GB-NTL" : true, "GB-NTT" : true, + "GB-NTY" : true, "GB-NWM" : true, "GB-NWP" : true, "GB-NYK" : true, "GB-OLD" : true, + "GB-ORK" : true, "GB-OXF" : true, "GB-PEM" : true, "GB-PKN" : true, "GB-PLY" : true, + "GB-POL" : true, "GB-POR" : true, "GB-POW" : true, "GB-PTE" : true, "GB-RCC" : true, + "GB-RCH" : true, "GB-RCT" : true, "GB-RDB" : true, "GB-RDG" : true, "GB-RFW" : true, + "GB-RIC" : true, "GB-ROT" : true, "GB-RUT" : true, "GB-SAW" : true, "GB-SAY" : true, + "GB-SCB" : true, "GB-SCT" : true, "GB-SFK" : true, "GB-SFT" : true, "GB-SGC" : true, + "GB-SHF" : true, "GB-SHN" : true, "GB-SHR" : true, "GB-SKP" : true, "GB-SLF" : true, + "GB-SLG" : true, "GB-SLK" : true, "GB-SND" : true, "GB-SOL" : true, "GB-SOM" : true, + "GB-SOS" : true, "GB-SRY" : true, "GB-STE" : true, "GB-STG" : true, "GB-STH" : true, + "GB-STN" : true, "GB-STS" : true, "GB-STT" : true, "GB-STY" : true, "GB-SWA" : true, + "GB-SWD" : true, "GB-SWK" : true, "GB-TAM" : true, "GB-TFW" : true, "GB-THR" : true, + "GB-TOB" : true, "GB-TOF" : true, "GB-TRF" : true, "GB-TWH" : true, "GB-UKM" : true, + "GB-VGL" : true, "GB-WAR" : true, "GB-WBK" : true, "GB-WDU" : true, "GB-WFT" : true, + "GB-WGN" : true, "GB-WIL" : true, "GB-WKF" : true, "GB-WLL" : true, "GB-WLN" : true, + "GB-WLS" : true, "GB-WLV" : true, "GB-WND" : true, "GB-WNM" : true, "GB-WOK" : true, + "GB-WOR" : true, "GB-WRL" : true, "GB-WRT" : true, "GB-WRX" : true, "GB-WSM" : true, + "GB-WSX" : true, "GB-YOR" : true, "GB-ZET" : true, "GD-02" : true, "GD-03" : true, + "GD-04" : true, "GD-05" : true, "GD-06" : true, "GD-10" : true, "GE-AB" : true, + "GE-AJ" : true, "GE-GU" : true, "GE-IM" : true, "GE-KA" : true, "GE-KK" : true, + "GE-MM" : true, "GE-RL" : true, "GE-SJ" : true, "GE-SK" : true, "GE-SZ" : true, + "GE-TB" : true, "GH-AA" : true, "GH-AH" : true, "GH-BA" : true, "GH-CP" : true, + "GH-EP" : true, "GH-NP" : true, "GH-TV" : true, "GH-UE" : true, "GH-UW" : true, + "GH-WP" : true, "GL-KU" : true, "GL-QA" : true, "GL-QE" : true, "GL-SM" : true, + "GM-B" : true, "GM-L" : true, "GM-M" : true, "GM-N" : true, "GM-U" : true, + "GM-W" : true, "GN-B" : true, "GN-BE" : true, "GN-BF" : true, "GN-BK" : true, + "GN-C" : true, "GN-CO" : true, "GN-D" : true, "GN-DB" : true, "GN-DI" : true, + "GN-DL" : true, "GN-DU" : true, "GN-F" : true, "GN-FA" : true, "GN-FO" : true, + "GN-FR" : true, "GN-GA" : true, "GN-GU" : true, "GN-K" : true, "GN-KA" : true, + "GN-KB" : true, "GN-KD" : true, "GN-KE" : true, "GN-KN" : true, "GN-KO" : true, + "GN-KS" : true, "GN-L" : true, "GN-LA" : true, "GN-LE" : true, "GN-LO" : true, + "GN-M" : true, "GN-MC" : true, "GN-MD" : true, "GN-ML" : true, "GN-MM" : true, + "GN-N" : true, "GN-NZ" : true, "GN-PI" : true, "GN-SI" : true, "GN-TE" : true, + "GN-TO" : true, "GN-YO" : true, "GQ-AN" : true, "GQ-BN" : true, "GQ-BS" : true, + "GQ-C" : true, "GQ-CS" : true, "GQ-I" : true, "GQ-KN" : true, "GQ-LI" : true, + "GQ-WN" : true, "GR-01" : true, "GR-03" : true, "GR-04" : true, "GR-05" : true, + "GR-06" : true, "GR-07" : true, "GR-11" : true, "GR-12" : true, "GR-13" : true, + "GR-14" : true, "GR-15" : true, "GR-16" : true, "GR-17" : true, "GR-21" : true, + "GR-22" : true, "GR-23" : true, "GR-24" : true, "GR-31" : true, "GR-32" : true, + "GR-33" : true, "GR-34" : true, "GR-41" : true, "GR-42" : true, "GR-43" : true, + "GR-44" : true, "GR-51" : true, "GR-52" : true, "GR-53" : true, "GR-54" : true, + "GR-55" : true, "GR-56" : true, "GR-57" : true, "GR-58" : true, "GR-59" : true, + "GR-61" : true, "GR-62" : true, "GR-63" : true, "GR-64" : true, "GR-69" : true, + "GR-71" : true, "GR-72" : true, "GR-73" : true, "GR-81" : true, "GR-82" : true, + "GR-83" : true, "GR-84" : true, "GR-85" : true, "GR-91" : true, "GR-92" : true, + "GR-93" : true, "GR-94" : true, "GR-A" : true, "GR-A1" : true, "GR-B" : true, + "GR-C" : true, "GR-D" : true, "GR-E" : true, "GR-F" : true, "GR-G" : true, + "GR-H" : true, "GR-I" : true, "GR-J" : true, "GR-K" : true, "GR-L" : true, + "GR-M" : true, "GT-AV" : true, "GT-BV" : true, "GT-CM" : true, "GT-CQ" : true, + "GT-ES" : true, "GT-GU" : true, "GT-HU" : true, "GT-IZ" : true, "GT-JA" : true, + "GT-JU" : true, "GT-PE" : true, "GT-PR" : true, "GT-QC" : true, "GT-QZ" : true, + "GT-RE" : true, "GT-SA" : true, "GT-SM" : true, "GT-SO" : true, "GT-SR" : true, + "GT-SU" : true, "GT-TO" : true, "GT-ZA" : true, "GW-BA" : true, "GW-BL" : true, + "GW-BM" : true, "GW-BS" : true, "GW-CA" : true, "GW-GA" : true, "GW-L" : true, + "GW-N" : true, "GW-OI" : true, "GW-QU" : true, "GW-S" : true, "GW-TO" : true, + "GY-BA" : true, "GY-CU" : true, "GY-DE" : true, "GY-EB" : true, "GY-ES" : true, + "GY-MA" : true, "GY-PM" : true, "GY-PT" : true, "GY-UD" : true, "GY-UT" : true, + "HN-AT" : true, "HN-CH" : true, "HN-CL" : true, "HN-CM" : true, "HN-CP" : true, + "HN-CR" : true, "HN-EP" : true, "HN-FM" : true, "HN-GD" : true, "HN-IB" : true, + "HN-IN" : true, "HN-LE" : true, "HN-LP" : true, "HN-OC" : true, "HN-OL" : true, + "HN-SB" : true, "HN-VA" : true, "HN-YO" : true, "HR-01" : true, "HR-02" : true, + "HR-03" : true, "HR-04" : true, "HR-05" : true, "HR-06" : true, "HR-07" : true, + "HR-08" : true, "HR-09" : true, "HR-10" : true, "HR-11" : true, "HR-12" : true, + "HR-13" : true, "HR-14" : true, "HR-15" : true, "HR-16" : true, "HR-17" : true, + "HR-18" : true, "HR-19" : true, "HR-20" : true, "HR-21" : true, "HT-AR" : true, + "HT-CE" : true, "HT-GA" : true, "HT-ND" : true, "HT-NE" : true, "HT-NO" : true, + "HT-OU" : true, "HT-SD" : true, "HT-SE" : true, "HU-BA" : true, "HU-BC" : true, + "HU-BE" : true, "HU-BK" : true, "HU-BU" : true, "HU-BZ" : true, "HU-CS" : true, + "HU-DE" : true, "HU-DU" : true, "HU-EG" : true, "HU-ER" : true, "HU-FE" : true, + "HU-GS" : true, "HU-GY" : true, "HU-HB" : true, "HU-HE" : true, "HU-HV" : true, + "HU-JN" : true, "HU-KE" : true, "HU-KM" : true, "HU-KV" : true, "HU-MI" : true, + "HU-NK" : true, "HU-NO" : true, "HU-NY" : true, "HU-PE" : true, "HU-PS" : true, + "HU-SD" : true, "HU-SF" : true, "HU-SH" : true, "HU-SK" : true, "HU-SN" : true, + "HU-SO" : true, "HU-SS" : true, "HU-ST" : true, "HU-SZ" : true, "HU-TB" : true, + "HU-TO" : true, "HU-VA" : true, "HU-VE" : true, "HU-VM" : true, "HU-ZA" : true, + "HU-ZE" : true, "ID-AC" : true, "ID-BA" : true, "ID-BB" : true, "ID-BE" : true, + "ID-BT" : true, "ID-GO" : true, "ID-IJ" : true, "ID-JA" : true, "ID-JB" : true, + "ID-JI" : true, "ID-JK" : true, "ID-JT" : true, "ID-JW" : true, "ID-KA" : true, + "ID-KB" : true, "ID-KI" : true, "ID-KR" : true, "ID-KS" : true, "ID-KT" : true, + "ID-LA" : true, "ID-MA" : true, "ID-ML" : true, "ID-MU" : true, "ID-NB" : true, + "ID-NT" : true, "ID-NU" : true, "ID-PA" : true, "ID-PB" : true, "ID-RI" : true, + "ID-SA" : true, "ID-SB" : true, "ID-SG" : true, "ID-SL" : true, "ID-SM" : true, + "ID-SN" : true, "ID-SR" : true, "ID-SS" : true, "ID-ST" : true, "ID-SU" : true, + "ID-YO" : true, "IE-C" : true, "IE-CE" : true, "IE-CN" : true, "IE-CO" : true, + "IE-CW" : true, "IE-D" : true, "IE-DL" : true, "IE-G" : true, "IE-KE" : true, + "IE-KK" : true, "IE-KY" : true, "IE-L" : true, "IE-LD" : true, "IE-LH" : true, + "IE-LK" : true, "IE-LM" : true, "IE-LS" : true, "IE-M" : true, "IE-MH" : true, + "IE-MN" : true, "IE-MO" : true, "IE-OY" : true, "IE-RN" : true, "IE-SO" : true, + "IE-TA" : true, "IE-U" : true, "IE-WD" : true, "IE-WH" : true, "IE-WW" : true, + "IE-WX" : true, "IL-D" : true, "IL-HA" : true, "IL-JM" : true, "IL-M" : true, + "IL-TA" : true, "IL-Z" : true, "IN-AN" : true, "IN-AP" : true, "IN-AR" : true, + "IN-AS" : true, "IN-BR" : true, "IN-CH" : true, "IN-CT" : true, "IN-DD" : true, + "IN-DL" : true, "IN-DN" : true, "IN-GA" : true, "IN-GJ" : true, "IN-HP" : true, + "IN-HR" : true, "IN-JH" : true, "IN-JK" : true, "IN-KA" : true, "IN-KL" : true, + "IN-LD" : true, "IN-MH" : true, "IN-ML" : true, "IN-MN" : true, "IN-MP" : true, + "IN-MZ" : true, "IN-NL" : true, "IN-OR" : true, "IN-PB" : true, "IN-PY" : true, + "IN-RJ" : true, "IN-SK" : true, "IN-TN" : true, "IN-TR" : true, "IN-UP" : true, + "IN-UT" : true, "IN-WB" : true, "IQ-AN" : true, "IQ-AR" : true, "IQ-BA" : true, + "IQ-BB" : true, "IQ-BG" : true, "IQ-DA" : true, "IQ-DI" : true, "IQ-DQ" : true, + "IQ-KA" : true, "IQ-MA" : true, "IQ-MU" : true, "IQ-NA" : true, "IQ-NI" : true, + "IQ-QA" : true, "IQ-SD" : true, "IQ-SW" : true, "IQ-TS" : true, "IQ-WA" : true, + "IR-01" : true, "IR-02" : true, "IR-03" : true, "IR-04" : true, "IR-05" : true, + "IR-06" : true, "IR-07" : true, "IR-08" : true, "IR-10" : true, "IR-11" : true, + "IR-12" : true, "IR-13" : true, "IR-14" : true, "IR-15" : true, "IR-16" : true, + "IR-17" : true, "IR-18" : true, "IR-19" : true, "IR-20" : true, "IR-21" : true, + "IR-22" : true, "IR-23" : true, "IR-24" : true, "IR-25" : true, "IR-26" : true, + "IR-27" : true, "IR-28" : true, "IR-29" : true, "IR-30" : true, "IR-31" : true, + "IS-0" : true, "IS-1" : true, "IS-2" : true, "IS-3" : true, "IS-4" : true, + "IS-5" : true, "IS-6" : true, "IS-7" : true, "IS-8" : true, "IT-21" : true, + "IT-23" : true, "IT-25" : true, "IT-32" : true, "IT-34" : true, "IT-36" : true, + "IT-42" : true, "IT-45" : true, "IT-52" : true, "IT-55" : true, "IT-57" : true, + "IT-62" : true, "IT-65" : true, "IT-67" : true, "IT-72" : true, "IT-75" : true, + "IT-77" : true, "IT-78" : true, "IT-82" : true, "IT-88" : true, "IT-AG" : true, + "IT-AL" : true, "IT-AN" : true, "IT-AO" : true, "IT-AP" : true, "IT-AQ" : true, + "IT-AR" : true, "IT-AT" : true, "IT-AV" : true, "IT-BA" : true, "IT-BG" : true, + "IT-BI" : true, "IT-BL" : true, "IT-BN" : true, "IT-BO" : true, "IT-BR" : true, + "IT-BS" : true, "IT-BT" : true, "IT-BZ" : true, "IT-CA" : true, "IT-CB" : true, + "IT-CE" : true, "IT-CH" : true, "IT-CI" : true, "IT-CL" : true, "IT-CN" : true, + "IT-CO" : true, "IT-CR" : true, "IT-CS" : true, "IT-CT" : true, "IT-CZ" : true, + "IT-EN" : true, "IT-FC" : true, "IT-FE" : true, "IT-FG" : true, "IT-FI" : true, + "IT-FM" : true, "IT-FR" : true, "IT-GE" : true, "IT-GO" : true, "IT-GR" : true, + "IT-IM" : true, "IT-IS" : true, "IT-KR" : true, "IT-LC" : true, "IT-LE" : true, + "IT-LI" : true, "IT-LO" : true, "IT-LT" : true, "IT-LU" : true, "IT-MB" : true, + "IT-MC" : true, "IT-ME" : true, "IT-MI" : true, "IT-MN" : true, "IT-MO" : true, + "IT-MS" : true, "IT-MT" : true, "IT-NA" : true, "IT-NO" : true, "IT-NU" : true, + "IT-OG" : true, "IT-OR" : true, "IT-OT" : true, "IT-PA" : true, "IT-PC" : true, + "IT-PD" : true, "IT-PE" : true, "IT-PG" : true, "IT-PI" : true, "IT-PN" : true, + "IT-PO" : true, "IT-PR" : true, "IT-PT" : true, "IT-PU" : true, "IT-PV" : true, + "IT-PZ" : true, "IT-RA" : true, "IT-RC" : true, "IT-RE" : true, "IT-RG" : true, + "IT-RI" : true, "IT-RM" : true, "IT-RN" : true, "IT-RO" : true, "IT-SA" : true, + "IT-SI" : true, "IT-SO" : true, "IT-SP" : true, "IT-SR" : true, "IT-SS" : true, + "IT-SV" : true, "IT-TA" : true, "IT-TE" : true, "IT-TN" : true, "IT-TO" : true, + "IT-TP" : true, "IT-TR" : true, "IT-TS" : true, "IT-TV" : true, "IT-UD" : true, + "IT-VA" : true, "IT-VB" : true, "IT-VC" : true, "IT-VE" : true, "IT-VI" : true, + "IT-VR" : true, "IT-VS" : true, "IT-VT" : true, "IT-VV" : true, "JM-01" : true, + "JM-02" : true, "JM-03" : true, "JM-04" : true, "JM-05" : true, "JM-06" : true, + "JM-07" : true, "JM-08" : true, "JM-09" : true, "JM-10" : true, "JM-11" : true, + "JM-12" : true, "JM-13" : true, "JM-14" : true, "JO-AJ" : true, "JO-AM" : true, + "JO-AQ" : true, "JO-AT" : true, "JO-AZ" : true, "JO-BA" : true, "JO-IR" : true, + "JO-JA" : true, "JO-KA" : true, "JO-MA" : true, "JO-MD" : true, "JO-MN" : true, + "JP-01" : true, "JP-02" : true, "JP-03" : true, "JP-04" : true, "JP-05" : true, + "JP-06" : true, "JP-07" : true, "JP-08" : true, "JP-09" : true, "JP-10" : true, + "JP-11" : true, "JP-12" : true, "JP-13" : true, "JP-14" : true, "JP-15" : true, + "JP-16" : true, "JP-17" : true, "JP-18" : true, "JP-19" : true, "JP-20" : true, + "JP-21" : true, "JP-22" : true, "JP-23" : true, "JP-24" : true, "JP-25" : true, + "JP-26" : true, "JP-27" : true, "JP-28" : true, "JP-29" : true, "JP-30" : true, + "JP-31" : true, "JP-32" : true, "JP-33" : true, "JP-34" : true, "JP-35" : true, + "JP-36" : true, "JP-37" : true, "JP-38" : true, "JP-39" : true, "JP-40" : true, + "JP-41" : true, "JP-42" : true, "JP-43" : true, "JP-44" : true, "JP-45" : true, + "JP-46" : true, "JP-47" : true, "KE-110" : true, "KE-200" : true, "KE-300" : true, + "KE-400" : true, "KE-500" : true, "KE-700" : true, "KE-800" : true, "KG-B" : true, + "KG-C" : true, "KG-GB" : true, "KG-J" : true, "KG-N" : true, "KG-O" : true, + "KG-T" : true, "KG-Y" : true, "KH-1" : true, "KH-10" : true, "KH-11" : true, + "KH-12" : true, "KH-13" : true, "KH-14" : true, "KH-15" : true, "KH-16" : true, + "KH-17" : true, "KH-18" : true, "KH-19" : true, "KH-2" : true, "KH-20" : true, + "KH-21" : true, "KH-22" : true, "KH-23" : true, "KH-24" : true, "KH-3" : true, + "KH-4" : true, "KH-5" : true, "KH-6" : true, "KH-7" : true, "KH-8" : true, + "KH-9" : true, "KI-G" : true, "KI-L" : true, "KI-P" : true, "KM-A" : true, + "KM-G" : true, "KM-M" : true, "KN-01" : true, "KN-02" : true, "KN-03" : true, + "KN-04" : true, "KN-05" : true, "KN-06" : true, "KN-07" : true, "KN-08" : true, + "KN-09" : true, "KN-10" : true, "KN-11" : true, "KN-12" : true, "KN-13" : true, + "KN-15" : true, "KN-K" : true, "KN-N" : true, "KP-01" : true, "KP-02" : true, + "KP-03" : true, "KP-04" : true, "KP-05" : true, "KP-06" : true, "KP-07" : true, + "KP-08" : true, "KP-09" : true, "KP-10" : true, "KP-13" : true, "KR-11" : true, + "KR-26" : true, "KR-27" : true, "KR-28" : true, "KR-29" : true, "KR-30" : true, + "KR-31" : true, "KR-41" : true, "KR-42" : true, "KR-43" : true, "KR-44" : true, + "KR-45" : true, "KR-46" : true, "KR-47" : true, "KR-48" : true, "KR-49" : true, + "KW-AH" : true, "KW-FA" : true, "KW-HA" : true, "KW-JA" : true, "KW-KU" : true, + "KW-MU" : true, "KZ-AKM" : true, "KZ-AKT" : true, "KZ-ALA" : true, "KZ-ALM" : true, + "KZ-AST" : true, "KZ-ATY" : true, "KZ-KAR" : true, "KZ-KUS" : true, "KZ-KZY" : true, + "KZ-MAN" : true, "KZ-PAV" : true, "KZ-SEV" : true, "KZ-VOS" : true, "KZ-YUZ" : true, + "KZ-ZAP" : true, "KZ-ZHA" : true, "LA-AT" : true, "LA-BK" : true, "LA-BL" : true, + "LA-CH" : true, "LA-HO" : true, "LA-KH" : true, "LA-LM" : true, "LA-LP" : true, + "LA-OU" : true, "LA-PH" : true, "LA-SL" : true, "LA-SV" : true, "LA-VI" : true, + "LA-VT" : true, "LA-XA" : true, "LA-XE" : true, "LA-XI" : true, "LA-XS" : true, + "LB-AK" : true, "LB-AS" : true, "LB-BA" : true, "LB-BH" : true, "LB-BI" : true, + "LB-JA" : true, "LB-JL" : true, "LB-NA" : true, "LI-01" : true, "LI-02" : true, + "LI-03" : true, "LI-04" : true, "LI-05" : true, "LI-06" : true, "LI-07" : true, + "LI-08" : true, "LI-09" : true, "LI-10" : true, "LI-11" : true, "LK-1" : true, + "LK-11" : true, "LK-12" : true, "LK-13" : true, "LK-2" : true, "LK-21" : true, + "LK-22" : true, "LK-23" : true, "LK-3" : true, "LK-31" : true, "LK-32" : true, + "LK-33" : true, "LK-4" : true, "LK-41" : true, "LK-42" : true, "LK-43" : true, + "LK-44" : true, "LK-45" : true, "LK-5" : true, "LK-51" : true, "LK-52" : true, + "LK-53" : true, "LK-6" : true, "LK-61" : true, "LK-62" : true, "LK-7" : true, + "LK-71" : true, "LK-72" : true, "LK-8" : true, "LK-81" : true, "LK-82" : true, + "LK-9" : true, "LK-91" : true, "LK-92" : true, "LR-BG" : true, "LR-BM" : true, + "LR-CM" : true, "LR-GB" : true, "LR-GG" : true, "LR-GK" : true, "LR-LO" : true, + "LR-MG" : true, "LR-MO" : true, "LR-MY" : true, "LR-NI" : true, "LR-RI" : true, + "LR-SI" : true, "LS-A" : true, "LS-B" : true, "LS-C" : true, "LS-D" : true, + "LS-E" : true, "LS-F" : true, "LS-G" : true, "LS-H" : true, "LS-J" : true, + "LS-K" : true, "LT-AL" : true, "LT-KL" : true, "LT-KU" : true, "LT-MR" : true, + "LT-PN" : true, "LT-SA" : true, "LT-TA" : true, "LT-TE" : true, "LT-UT" : true, + "LT-VL" : true, "LU-D" : true, "LU-G" : true, "LU-L" : true, "LV-001" : true, + "LV-002" : true, "LV-003" : true, "LV-004" : true, "LV-005" : true, "LV-006" : true, + "LV-007" : true, "LV-008" : true, "LV-009" : true, "LV-010" : true, "LV-011" : true, + "LV-012" : true, "LV-013" : true, "LV-014" : true, "LV-015" : true, "LV-016" : true, + "LV-017" : true, "LV-018" : true, "LV-019" : true, "LV-020" : true, "LV-021" : true, + "LV-022" : true, "LV-023" : true, "LV-024" : true, "LV-025" : true, "LV-026" : true, + "LV-027" : true, "LV-028" : true, "LV-029" : true, "LV-030" : true, "LV-031" : true, + "LV-032" : true, "LV-033" : true, "LV-034" : true, "LV-035" : true, "LV-036" : true, + "LV-037" : true, "LV-038" : true, "LV-039" : true, "LV-040" : true, "LV-041" : true, + "LV-042" : true, "LV-043" : true, "LV-044" : true, "LV-045" : true, "LV-046" : true, + "LV-047" : true, "LV-048" : true, "LV-049" : true, "LV-050" : true, "LV-051" : true, + "LV-052" : true, "LV-053" : true, "LV-054" : true, "LV-055" : true, "LV-056" : true, + "LV-057" : true, "LV-058" : true, "LV-059" : true, "LV-060" : true, "LV-061" : true, + "LV-062" : true, "LV-063" : true, "LV-064" : true, "LV-065" : true, "LV-066" : true, + "LV-067" : true, "LV-068" : true, "LV-069" : true, "LV-070" : true, "LV-071" : true, + "LV-072" : true, "LV-073" : true, "LV-074" : true, "LV-075" : true, "LV-076" : true, + "LV-077" : true, "LV-078" : true, "LV-079" : true, "LV-080" : true, "LV-081" : true, + "LV-082" : true, "LV-083" : true, "LV-084" : true, "LV-085" : true, "LV-086" : true, + "LV-087" : true, "LV-088" : true, "LV-089" : true, "LV-090" : true, "LV-091" : true, + "LV-092" : true, "LV-093" : true, "LV-094" : true, "LV-095" : true, "LV-096" : true, + "LV-097" : true, "LV-098" : true, "LV-099" : true, "LV-100" : true, "LV-101" : true, + "LV-102" : true, "LV-103" : true, "LV-104" : true, "LV-105" : true, "LV-106" : true, + "LV-107" : true, "LV-108" : true, "LV-109" : true, "LV-110" : true, "LV-DGV" : true, + "LV-JEL" : true, "LV-JKB" : true, "LV-JUR" : true, "LV-LPX" : true, "LV-REZ" : true, + "LV-RIX" : true, "LV-VEN" : true, "LV-VMR" : true, "LY-BA" : true, "LY-BU" : true, + "LY-DR" : true, "LY-GT" : true, "LY-JA" : true, "LY-JB" : true, "LY-JG" : true, + "LY-JI" : true, "LY-JU" : true, "LY-KF" : true, "LY-MB" : true, "LY-MI" : true, + "LY-MJ" : true, "LY-MQ" : true, "LY-NL" : true, "LY-NQ" : true, "LY-SB" : true, + "LY-SR" : true, "LY-TB" : true, "LY-WA" : true, "LY-WD" : true, "LY-WS" : true, + "LY-ZA" : true, "MA-01" : true, "MA-02" : true, "MA-03" : true, "MA-04" : true, + "MA-05" : true, "MA-06" : true, "MA-07" : true, "MA-08" : true, "MA-09" : true, + "MA-10" : true, "MA-11" : true, "MA-12" : true, "MA-13" : true, "MA-14" : true, + "MA-15" : true, "MA-16" : true, "MA-AGD" : true, "MA-AOU" : true, "MA-ASZ" : true, + "MA-AZI" : true, "MA-BEM" : true, "MA-BER" : true, "MA-BES" : true, "MA-BOD" : true, + "MA-BOM" : true, "MA-CAS" : true, "MA-CHE" : true, "MA-CHI" : true, "MA-CHT" : true, + "MA-ERR" : true, "MA-ESI" : true, "MA-ESM" : true, "MA-FAH" : true, "MA-FES" : true, + "MA-FIG" : true, "MA-GUE" : true, "MA-HAJ" : true, "MA-HAO" : true, "MA-HOC" : true, + "MA-IFR" : true, "MA-INE" : true, "MA-JDI" : true, "MA-JRA" : true, "MA-KEN" : true, + "MA-KES" : true, "MA-KHE" : true, "MA-KHN" : true, "MA-KHO" : true, "MA-LAA" : true, + "MA-LAR" : true, "MA-MED" : true, "MA-MEK" : true, "MA-MMD" : true, "MA-MMN" : true, + "MA-MOH" : true, "MA-MOU" : true, "MA-NAD" : true, "MA-NOU" : true, "MA-OUA" : true, + "MA-OUD" : true, "MA-OUJ" : true, "MA-RAB" : true, "MA-SAF" : true, "MA-SAL" : true, + "MA-SEF" : true, "MA-SET" : true, "MA-SIK" : true, "MA-SKH" : true, "MA-SYB" : true, + "MA-TAI" : true, "MA-TAO" : true, "MA-TAR" : true, "MA-TAT" : true, "MA-TAZ" : true, + "MA-TET" : true, "MA-TIZ" : true, "MA-TNG" : true, "MA-TNT" : true, "MA-ZAG" : true, + "MC-CL" : true, "MC-CO" : true, "MC-FO" : true, "MC-GA" : true, "MC-JE" : true, + "MC-LA" : true, "MC-MA" : true, "MC-MC" : true, "MC-MG" : true, "MC-MO" : true, + "MC-MU" : true, "MC-PH" : true, "MC-SD" : true, "MC-SO" : true, "MC-SP" : true, + "MC-SR" : true, "MC-VR" : true, "MD-AN" : true, "MD-BA" : true, "MD-BD" : true, + "MD-BR" : true, "MD-BS" : true, "MD-CA" : true, "MD-CL" : true, "MD-CM" : true, + "MD-CR" : true, "MD-CS" : true, "MD-CT" : true, "MD-CU" : true, "MD-DO" : true, + "MD-DR" : true, "MD-DU" : true, "MD-ED" : true, "MD-FA" : true, "MD-FL" : true, + "MD-GA" : true, "MD-GL" : true, "MD-HI" : true, "MD-IA" : true, "MD-LE" : true, + "MD-NI" : true, "MD-OC" : true, "MD-OR" : true, "MD-RE" : true, "MD-RI" : true, + "MD-SD" : true, "MD-SI" : true, "MD-SN" : true, "MD-SO" : true, "MD-ST" : true, + "MD-SV" : true, "MD-TA" : true, "MD-TE" : true, "MD-UN" : true, "ME-01" : true, + "ME-02" : true, "ME-03" : true, "ME-04" : true, "ME-05" : true, "ME-06" : true, + "ME-07" : true, "ME-08" : true, "ME-09" : true, "ME-10" : true, "ME-11" : true, + "ME-12" : true, "ME-13" : true, "ME-14" : true, "ME-15" : true, "ME-16" : true, + "ME-17" : true, "ME-18" : true, "ME-19" : true, "ME-20" : true, "ME-21" : true, + "MG-A" : true, "MG-D" : true, "MG-F" : true, "MG-M" : true, "MG-T" : true, + "MG-U" : true, "MH-ALK" : true, "MH-ALL" : true, "MH-ARN" : true, "MH-AUR" : true, + "MH-EBO" : true, "MH-ENI" : true, "MH-JAB" : true, "MH-JAL" : true, "MH-KIL" : true, + "MH-KWA" : true, "MH-L" : true, "MH-LAE" : true, "MH-LIB" : true, "MH-LIK" : true, + "MH-MAJ" : true, "MH-MAL" : true, "MH-MEJ" : true, "MH-MIL" : true, "MH-NMK" : true, + "MH-NMU" : true, "MH-RON" : true, "MH-T" : true, "MH-UJA" : true, "MH-UTI" : true, + "MH-WTJ" : true, "MH-WTN" : true, "MK-01" : true, "MK-02" : true, "MK-03" : true, + "MK-04" : true, "MK-05" : true, "MK-06" : true, "MK-07" : true, "MK-08" : true, + "MK-09" : true, "MK-10" : true, "MK-11" : true, "MK-12" : true, "MK-13" : true, + "MK-14" : true, "MK-15" : true, "MK-16" : true, "MK-17" : true, "MK-18" : true, + "MK-19" : true, "MK-20" : true, "MK-21" : true, "MK-22" : true, "MK-23" : true, + "MK-24" : true, "MK-25" : true, "MK-26" : true, "MK-27" : true, "MK-28" : true, + "MK-29" : true, "MK-30" : true, "MK-31" : true, "MK-32" : true, "MK-33" : true, + "MK-34" : true, "MK-35" : true, "MK-36" : true, "MK-37" : true, "MK-38" : true, + "MK-39" : true, "MK-40" : true, "MK-41" : true, "MK-42" : true, "MK-43" : true, + "MK-44" : true, "MK-45" : true, "MK-46" : true, "MK-47" : true, "MK-48" : true, + "MK-49" : true, "MK-50" : true, "MK-51" : true, "MK-52" : true, "MK-53" : true, + "MK-54" : true, "MK-55" : true, "MK-56" : true, "MK-57" : true, "MK-58" : true, + "MK-59" : true, "MK-60" : true, "MK-61" : true, "MK-62" : true, "MK-63" : true, + "MK-64" : true, "MK-65" : true, "MK-66" : true, "MK-67" : true, "MK-68" : true, + "MK-69" : true, "MK-70" : true, "MK-71" : true, "MK-72" : true, "MK-73" : true, + "MK-74" : true, "MK-75" : true, "MK-76" : true, "MK-77" : true, "MK-78" : true, + "MK-79" : true, "MK-80" : true, "MK-81" : true, "MK-82" : true, "MK-83" : true, + "MK-84" : true, "ML-1" : true, "ML-2" : true, "ML-3" : true, "ML-4" : true, + "ML-5" : true, "ML-6" : true, "ML-7" : true, "ML-8" : true, "ML-BK0" : true, + "MM-01" : true, "MM-02" : true, "MM-03" : true, "MM-04" : true, "MM-05" : true, + "MM-06" : true, "MM-07" : true, "MM-11" : true, "MM-12" : true, "MM-13" : true, + "MM-14" : true, "MM-15" : true, "MM-16" : true, "MM-17" : true, "MN-035" : true, + "MN-037" : true, "MN-039" : true, "MN-041" : true, "MN-043" : true, "MN-046" : true, + "MN-047" : true, "MN-049" : true, "MN-051" : true, "MN-053" : true, "MN-055" : true, + "MN-057" : true, "MN-059" : true, "MN-061" : true, "MN-063" : true, "MN-064" : true, + "MN-065" : true, "MN-067" : true, "MN-069" : true, "MN-071" : true, "MN-073" : true, + "MN-1" : true, "MR-01" : true, "MR-02" : true, "MR-03" : true, "MR-04" : true, + "MR-05" : true, "MR-06" : true, "MR-07" : true, "MR-08" : true, "MR-09" : true, + "MR-10" : true, "MR-11" : true, "MR-12" : true, "MR-NKC" : true, "MT-01" : true, + "MT-02" : true, "MT-03" : true, "MT-04" : true, "MT-05" : true, "MT-06" : true, + "MT-07" : true, "MT-08" : true, "MT-09" : true, "MT-10" : true, "MT-11" : true, + "MT-12" : true, "MT-13" : true, "MT-14" : true, "MT-15" : true, "MT-16" : true, + "MT-17" : true, "MT-18" : true, "MT-19" : true, "MT-20" : true, "MT-21" : true, + "MT-22" : true, "MT-23" : true, "MT-24" : true, "MT-25" : true, "MT-26" : true, + "MT-27" : true, "MT-28" : true, "MT-29" : true, "MT-30" : true, "MT-31" : true, + "MT-32" : true, "MT-33" : true, "MT-34" : true, "MT-35" : true, "MT-36" : true, + "MT-37" : true, "MT-38" : true, "MT-39" : true, "MT-40" : true, "MT-41" : true, + "MT-42" : true, "MT-43" : true, "MT-44" : true, "MT-45" : true, "MT-46" : true, + "MT-47" : true, "MT-48" : true, "MT-49" : true, "MT-50" : true, "MT-51" : true, + "MT-52" : true, "MT-53" : true, "MT-54" : true, "MT-55" : true, "MT-56" : true, + "MT-57" : true, "MT-58" : true, "MT-59" : true, "MT-60" : true, "MT-61" : true, + "MT-62" : true, "MT-63" : true, "MT-64" : true, "MT-65" : true, "MT-66" : true, + "MT-67" : true, "MT-68" : true, "MU-AG" : true, "MU-BL" : true, "MU-BR" : true, + "MU-CC" : true, "MU-CU" : true, "MU-FL" : true, "MU-GP" : true, "MU-MO" : true, + "MU-PA" : true, "MU-PL" : true, "MU-PU" : true, "MU-PW" : true, "MU-QB" : true, + "MU-RO" : true, "MU-RP" : true, "MU-SA" : true, "MU-VP" : true, "MV-00" : true, + "MV-01" : true, "MV-02" : true, "MV-03" : true, "MV-04" : true, "MV-05" : true, + "MV-07" : true, "MV-08" : true, "MV-12" : true, "MV-13" : true, "MV-14" : true, + "MV-17" : true, "MV-20" : true, "MV-23" : true, "MV-24" : true, "MV-25" : true, + "MV-26" : true, "MV-27" : true, "MV-28" : true, "MV-29" : true, "MV-CE" : true, + "MV-MLE" : true, "MV-NC" : true, "MV-NO" : true, "MV-SC" : true, "MV-SU" : true, + "MV-UN" : true, "MV-US" : true, "MW-BA" : true, "MW-BL" : true, "MW-C" : true, + "MW-CK" : true, "MW-CR" : true, "MW-CT" : true, "MW-DE" : true, "MW-DO" : true, + "MW-KR" : true, "MW-KS" : true, "MW-LI" : true, "MW-LK" : true, "MW-MC" : true, + "MW-MG" : true, "MW-MH" : true, "MW-MU" : true, "MW-MW" : true, "MW-MZ" : true, + "MW-N" : true, "MW-NB" : true, "MW-NE" : true, "MW-NI" : true, "MW-NK" : true, + "MW-NS" : true, "MW-NU" : true, "MW-PH" : true, "MW-RU" : true, "MW-S" : true, + "MW-SA" : true, "MW-TH" : true, "MW-ZO" : true, "MX-AGU" : true, "MX-BCN" : true, + "MX-BCS" : true, "MX-CAM" : true, "MX-CHH" : true, "MX-CHP" : true, "MX-COA" : true, + "MX-COL" : true, "MX-DIF" : true, "MX-DUR" : true, "MX-GRO" : true, "MX-GUA" : true, + "MX-HID" : true, "MX-JAL" : true, "MX-MEX" : true, "MX-MIC" : true, "MX-MOR" : true, + "MX-NAY" : true, "MX-NLE" : true, "MX-OAX" : true, "MX-PUE" : true, "MX-QUE" : true, + "MX-ROO" : true, "MX-SIN" : true, "MX-SLP" : true, "MX-SON" : true, "MX-TAB" : true, + "MX-TAM" : true, "MX-TLA" : true, "MX-VER" : true, "MX-YUC" : true, "MX-ZAC" : true, + "MY-01" : true, "MY-02" : true, "MY-03" : true, "MY-04" : true, "MY-05" : true, + "MY-06" : true, "MY-07" : true, "MY-08" : true, "MY-09" : true, "MY-10" : true, + "MY-11" : true, "MY-12" : true, "MY-13" : true, "MY-14" : true, "MY-15" : true, + "MY-16" : true, "MZ-A" : true, "MZ-B" : true, "MZ-G" : true, "MZ-I" : true, + "MZ-L" : true, "MZ-MPM" : true, "MZ-N" : true, "MZ-P" : true, "MZ-Q" : true, + "MZ-S" : true, "MZ-T" : true, "NA-CA" : true, "NA-ER" : true, "NA-HA" : true, + "NA-KA" : true, "NA-KH" : true, "NA-KU" : true, "NA-OD" : true, "NA-OH" : true, + "NA-OK" : true, "NA-ON" : true, "NA-OS" : true, "NA-OT" : true, "NA-OW" : true, + "NE-1" : true, "NE-2" : true, "NE-3" : true, "NE-4" : true, "NE-5" : true, + "NE-6" : true, "NE-7" : true, "NE-8" : true, "NG-AB" : true, "NG-AD" : true, + "NG-AK" : true, "NG-AN" : true, "NG-BA" : true, "NG-BE" : true, "NG-BO" : true, + "NG-BY" : true, "NG-CR" : true, "NG-DE" : true, "NG-EB" : true, "NG-ED" : true, + "NG-EK" : true, "NG-EN" : true, "NG-FC" : true, "NG-GO" : true, "NG-IM" : true, + "NG-JI" : true, "NG-KD" : true, "NG-KE" : true, "NG-KN" : true, "NG-KO" : true, + "NG-KT" : true, "NG-KW" : true, "NG-LA" : true, "NG-NA" : true, "NG-NI" : true, + "NG-OG" : true, "NG-ON" : true, "NG-OS" : true, "NG-OY" : true, "NG-PL" : true, + "NG-RI" : true, "NG-SO" : true, "NG-TA" : true, "NG-YO" : true, "NG-ZA" : true, + "NI-AN" : true, "NI-AS" : true, "NI-BO" : true, "NI-CA" : true, "NI-CI" : true, + "NI-CO" : true, "NI-ES" : true, "NI-GR" : true, "NI-JI" : true, "NI-LE" : true, + "NI-MD" : true, "NI-MN" : true, "NI-MS" : true, "NI-MT" : true, "NI-NS" : true, + "NI-RI" : true, "NI-SJ" : true, "NL-AW" : true, "NL-BQ1" : true, "NL-BQ2" : true, + "NL-BQ3" : true, "NL-CW" : true, "NL-DR" : true, "NL-FL" : true, "NL-FR" : true, + "NL-GE" : true, "NL-GR" : true, "NL-LI" : true, "NL-NB" : true, "NL-NH" : true, + "NL-OV" : true, "NL-SX" : true, "NL-UT" : true, "NL-ZE" : true, "NL-ZH" : true, + "NO-01" : true, "NO-02" : true, "NO-03" : true, "NO-04" : true, "NO-05" : true, + "NO-06" : true, "NO-07" : true, "NO-08" : true, "NO-09" : true, "NO-10" : true, + "NO-11" : true, "NO-12" : true, "NO-14" : true, "NO-15" : true, "NO-16" : true, + "NO-17" : true, "NO-18" : true, "NO-19" : true, "NO-20" : true, "NO-21" : true, + "NO-22" : true, "NP-1" : true, "NP-2" : true, "NP-3" : true, "NP-4" : true, + "NP-5" : true, "NP-BA" : true, "NP-BH" : true, "NP-DH" : true, "NP-GA" : true, + "NP-JA" : true, "NP-KA" : true, "NP-KO" : true, "NP-LU" : true, "NP-MA" : true, + "NP-ME" : true, "NP-NA" : true, "NP-RA" : true, "NP-SA" : true, "NP-SE" : true, + "NR-01" : true, "NR-02" : true, "NR-03" : true, "NR-04" : true, "NR-05" : true, + "NR-06" : true, "NR-07" : true, "NR-08" : true, "NR-09" : true, "NR-10" : true, + "NR-11" : true, "NR-12" : true, "NR-13" : true, "NR-14" : true, "NZ-AUK" : true, + "NZ-BOP" : true, "NZ-CAN" : true, "NZ-CIT" : true, "NZ-GIS" : true, "NZ-HKB" : true, + "NZ-MBH" : true, "NZ-MWT" : true, "NZ-N" : true, "NZ-NSN" : true, "NZ-NTL" : true, + "NZ-OTA" : true, "NZ-S" : true, "NZ-STL" : true, "NZ-TAS" : true, "NZ-TKI" : true, + "NZ-WGN" : true, "NZ-WKO" : true, "NZ-WTC" : true, "OM-BA" : true, "OM-BU" : true, + "OM-DA" : true, "OM-MA" : true, "OM-MU" : true, "OM-SH" : true, "OM-WU" : true, + "OM-ZA" : true, "OM-ZU" : true, "PA-1" : true, "PA-2" : true, "PA-3" : true, + "PA-4" : true, "PA-5" : true, "PA-6" : true, "PA-7" : true, "PA-8" : true, + "PA-9" : true, "PA-EM" : true, "PA-KY" : true, "PA-NB" : true, "PE-AMA" : true, + "PE-ANC" : true, "PE-APU" : true, "PE-ARE" : true, "PE-AYA" : true, "PE-CAJ" : true, + "PE-CAL" : true, "PE-CUS" : true, "PE-HUC" : true, "PE-HUV" : true, "PE-ICA" : true, + "PE-JUN" : true, "PE-LAL" : true, "PE-LAM" : true, "PE-LIM" : true, "PE-LMA" : true, + "PE-LOR" : true, "PE-MDD" : true, "PE-MOQ" : true, "PE-PAS" : true, "PE-PIU" : true, + "PE-PUN" : true, "PE-SAM" : true, "PE-TAC" : true, "PE-TUM" : true, "PE-UCA" : true, + "PG-CPK" : true, "PG-CPM" : true, "PG-EBR" : true, "PG-EHG" : true, "PG-EPW" : true, + "PG-ESW" : true, "PG-GPK" : true, "PG-MBA" : true, "PG-MPL" : true, "PG-MPM" : true, + "PG-MRL" : true, "PG-NCD" : true, "PG-NIK" : true, "PG-NPP" : true, "PG-NSB" : true, + "PG-SAN" : true, "PG-SHM" : true, "PG-WBK" : true, "PG-WHM" : true, "PG-WPD" : true, + "PH-00" : true, "PH-01" : true, "PH-02" : true, "PH-03" : true, "PH-05" : true, + "PH-06" : true, "PH-07" : true, "PH-08" : true, "PH-09" : true, "PH-10" : true, + "PH-11" : true, "PH-12" : true, "PH-13" : true, "PH-14" : true, "PH-15" : true, + "PH-40" : true, "PH-41" : true, "PH-ABR" : true, "PH-AGN" : true, "PH-AGS" : true, + "PH-AKL" : true, "PH-ALB" : true, "PH-ANT" : true, "PH-APA" : true, "PH-AUR" : true, + "PH-BAN" : true, "PH-BAS" : true, "PH-BEN" : true, "PH-BIL" : true, "PH-BOH" : true, + "PH-BTG" : true, "PH-BTN" : true, "PH-BUK" : true, "PH-BUL" : true, "PH-CAG" : true, + "PH-CAM" : true, "PH-CAN" : true, "PH-CAP" : true, "PH-CAS" : true, "PH-CAT" : true, + "PH-CAV" : true, "PH-CEB" : true, "PH-COM" : true, "PH-DAO" : true, "PH-DAS" : true, + "PH-DAV" : true, "PH-DIN" : true, "PH-EAS" : true, "PH-GUI" : true, "PH-IFU" : true, + "PH-ILI" : true, "PH-ILN" : true, "PH-ILS" : true, "PH-ISA" : true, "PH-KAL" : true, + "PH-LAG" : true, "PH-LAN" : true, "PH-LAS" : true, "PH-LEY" : true, "PH-LUN" : true, + "PH-MAD" : true, "PH-MAG" : true, "PH-MAS" : true, "PH-MDC" : true, "PH-MDR" : true, + "PH-MOU" : true, "PH-MSC" : true, "PH-MSR" : true, "PH-NCO" : true, "PH-NEC" : true, + "PH-NER" : true, "PH-NSA" : true, "PH-NUE" : true, "PH-NUV" : true, "PH-PAM" : true, + "PH-PAN" : true, "PH-PLW" : true, "PH-QUE" : true, "PH-QUI" : true, "PH-RIZ" : true, + "PH-ROM" : true, "PH-SAR" : true, "PH-SCO" : true, "PH-SIG" : true, "PH-SLE" : true, + "PH-SLU" : true, "PH-SOR" : true, "PH-SUK" : true, "PH-SUN" : true, "PH-SUR" : true, + "PH-TAR" : true, "PH-TAW" : true, "PH-WSA" : true, "PH-ZAN" : true, "PH-ZAS" : true, + "PH-ZMB" : true, "PH-ZSI" : true, "PK-BA" : true, "PK-GB" : true, "PK-IS" : true, + "PK-JK" : true, "PK-KP" : true, "PK-PB" : true, "PK-SD" : true, "PK-TA" : true, + "PL-DS" : true, "PL-KP" : true, "PL-LB" : true, "PL-LD" : true, "PL-LU" : true, + "PL-MA" : true, "PL-MZ" : true, "PL-OP" : true, "PL-PD" : true, "PL-PK" : true, + "PL-PM" : true, "PL-SK" : true, "PL-SL" : true, "PL-WN" : true, "PL-WP" : true, + "PL-ZP" : true, "PS-BTH" : true, "PS-DEB" : true, "PS-GZA" : true, "PS-HBN" : true, + "PS-JEM" : true, "PS-JEN" : true, "PS-JRH" : true, "PS-KYS" : true, "PS-NBS" : true, + "PS-NGZ" : true, "PS-QQA" : true, "PS-RBH" : true, "PS-RFH" : true, "PS-SLT" : true, + "PS-TBS" : true, "PS-TKM" : true, "PT-01" : true, "PT-02" : true, "PT-03" : true, + "PT-04" : true, "PT-05" : true, "PT-06" : true, "PT-07" : true, "PT-08" : true, + "PT-09" : true, "PT-10" : true, "PT-11" : true, "PT-12" : true, "PT-13" : true, + "PT-14" : true, "PT-15" : true, "PT-16" : true, "PT-17" : true, "PT-18" : true, + "PT-20" : true, "PT-30" : true, "PW-002" : true, "PW-004" : true, "PW-010" : true, + "PW-050" : true, "PW-100" : true, "PW-150" : true, "PW-212" : true, "PW-214" : true, + "PW-218" : true, "PW-222" : true, "PW-224" : true, "PW-226" : true, "PW-227" : true, + "PW-228" : true, "PW-350" : true, "PW-370" : true, "PY-1" : true, "PY-10" : true, + "PY-11" : true, "PY-12" : true, "PY-13" : true, "PY-14" : true, "PY-15" : true, + "PY-16" : true, "PY-19" : true, "PY-2" : true, "PY-3" : true, "PY-4" : true, + "PY-5" : true, "PY-6" : true, "PY-7" : true, "PY-8" : true, "PY-9" : true, + "PY-ASU" : true, "QA-DA" : true, "QA-KH" : true, "QA-MS" : true, "QA-RA" : true, + "QA-US" : true, "QA-WA" : true, "QA-ZA" : true, "RO-AB" : true, "RO-AG" : true, + "RO-AR" : true, "RO-B" : true, "RO-BC" : true, "RO-BH" : true, "RO-BN" : true, + "RO-BR" : true, "RO-BT" : true, "RO-BV" : true, "RO-BZ" : true, "RO-CJ" : true, + "RO-CL" : true, "RO-CS" : true, "RO-CT" : true, "RO-CV" : true, "RO-DB" : true, + "RO-DJ" : true, "RO-GJ" : true, "RO-GL" : true, "RO-GR" : true, "RO-HD" : true, + "RO-HR" : true, "RO-IF" : true, "RO-IL" : true, "RO-IS" : true, "RO-MH" : true, + "RO-MM" : true, "RO-MS" : true, "RO-NT" : true, "RO-OT" : true, "RO-PH" : true, + "RO-SB" : true, "RO-SJ" : true, "RO-SM" : true, "RO-SV" : true, "RO-TL" : true, + "RO-TM" : true, "RO-TR" : true, "RO-VL" : true, "RO-VN" : true, "RO-VS" : true, + "RS-00" : true, "RS-01" : true, "RS-02" : true, "RS-03" : true, "RS-04" : true, + "RS-05" : true, "RS-06" : true, "RS-07" : true, "RS-08" : true, "RS-09" : true, + "RS-10" : true, "RS-11" : true, "RS-12" : true, "RS-13" : true, "RS-14" : true, + "RS-15" : true, "RS-16" : true, "RS-17" : true, "RS-18" : true, "RS-19" : true, + "RS-20" : true, "RS-21" : true, "RS-22" : true, "RS-23" : true, "RS-24" : true, + "RS-25" : true, "RS-26" : true, "RS-27" : true, "RS-28" : true, "RS-29" : true, + "RS-KM" : true, "RS-VO" : true, "RU-AD" : true, "RU-AL" : true, "RU-ALT" : true, + "RU-AMU" : true, "RU-ARK" : true, "RU-AST" : true, "RU-BA" : true, "RU-BEL" : true, + "RU-BRY" : true, "RU-BU" : true, "RU-CE" : true, "RU-CHE" : true, "RU-CHU" : true, + "RU-CU" : true, "RU-DA" : true, "RU-IN" : true, "RU-IRK" : true, "RU-IVA" : true, + "RU-KAM" : true, "RU-KB" : true, "RU-KC" : true, "RU-KDA" : true, "RU-KEM" : true, + "RU-KGD" : true, "RU-KGN" : true, "RU-KHA" : true, "RU-KHM" : true, "RU-KIR" : true, + "RU-KK" : true, "RU-KL" : true, "RU-KLU" : true, "RU-KO" : true, "RU-KOS" : true, + "RU-KR" : true, "RU-KRS" : true, "RU-KYA" : true, "RU-LEN" : true, "RU-LIP" : true, + "RU-MAG" : true, "RU-ME" : true, "RU-MO" : true, "RU-MOS" : true, "RU-MOW" : true, + "RU-MUR" : true, "RU-NEN" : true, "RU-NGR" : true, "RU-NIZ" : true, "RU-NVS" : true, + "RU-OMS" : true, "RU-ORE" : true, "RU-ORL" : true, "RU-PER" : true, "RU-PNZ" : true, + "RU-PRI" : true, "RU-PSK" : true, "RU-ROS" : true, "RU-RYA" : true, "RU-SA" : true, + "RU-SAK" : true, "RU-SAM" : true, "RU-SAR" : true, "RU-SE" : true, "RU-SMO" : true, + "RU-SPE" : true, "RU-STA" : true, "RU-SVE" : true, "RU-TA" : true, "RU-TAM" : true, + "RU-TOM" : true, "RU-TUL" : true, "RU-TVE" : true, "RU-TY" : true, "RU-TYU" : true, + "RU-UD" : true, "RU-ULY" : true, "RU-VGG" : true, "RU-VLA" : true, "RU-VLG" : true, + "RU-VOR" : true, "RU-YAN" : true, "RU-YAR" : true, "RU-YEV" : true, "RU-ZAB" : true, + "RW-01" : true, "RW-02" : true, "RW-03" : true, "RW-04" : true, "RW-05" : true, + "SA-01" : true, "SA-02" : true, "SA-03" : true, "SA-04" : true, "SA-05" : true, + "SA-06" : true, "SA-07" : true, "SA-08" : true, "SA-09" : true, "SA-10" : true, + "SA-11" : true, "SA-12" : true, "SA-14" : true, "SB-CE" : true, "SB-CH" : true, + "SB-CT" : true, "SB-GU" : true, "SB-IS" : true, "SB-MK" : true, "SB-ML" : true, + "SB-RB" : true, "SB-TE" : true, "SB-WE" : true, "SC-01" : true, "SC-02" : true, + "SC-03" : true, "SC-04" : true, "SC-05" : true, "SC-06" : true, "SC-07" : true, + "SC-08" : true, "SC-09" : true, "SC-10" : true, "SC-11" : true, "SC-12" : true, + "SC-13" : true, "SC-14" : true, "SC-15" : true, "SC-16" : true, "SC-17" : true, + "SC-18" : true, "SC-19" : true, "SC-20" : true, "SC-21" : true, "SC-22" : true, + "SC-23" : true, "SC-24" : true, "SC-25" : true, "SD-DC" : true, "SD-DE" : true, + "SD-DN" : true, "SD-DS" : true, "SD-DW" : true, "SD-GD" : true, "SD-GZ" : true, + "SD-KA" : true, "SD-KH" : true, "SD-KN" : true, "SD-KS" : true, "SD-NB" : true, + "SD-NO" : true, "SD-NR" : true, "SD-NW" : true, "SD-RS" : true, "SD-SI" : true, + "SE-AB" : true, "SE-AC" : true, "SE-BD" : true, "SE-C" : true, "SE-D" : true, + "SE-E" : true, "SE-F" : true, "SE-G" : true, "SE-H" : true, "SE-I" : true, + "SE-K" : true, "SE-M" : true, "SE-N" : true, "SE-O" : true, "SE-S" : true, + "SE-T" : true, "SE-U" : true, "SE-W" : true, "SE-X" : true, "SE-Y" : true, + "SE-Z" : true, "SG-01" : true, "SG-02" : true, "SG-03" : true, "SG-04" : true, + "SG-05" : true, "SH-AC" : true, "SH-HL" : true, "SH-TA" : true, "SI-001" : true, + "SI-002" : true, "SI-003" : true, "SI-004" : true, "SI-005" : true, "SI-006" : true, + "SI-007" : true, "SI-008" : true, "SI-009" : true, "SI-010" : true, "SI-011" : true, + "SI-012" : true, "SI-013" : true, "SI-014" : true, "SI-015" : true, "SI-016" : true, + "SI-017" : true, "SI-018" : true, "SI-019" : true, "SI-020" : true, "SI-021" : true, + "SI-022" : true, "SI-023" : true, "SI-024" : true, "SI-025" : true, "SI-026" : true, + "SI-027" : true, "SI-028" : true, "SI-029" : true, "SI-030" : true, "SI-031" : true, + "SI-032" : true, "SI-033" : true, "SI-034" : true, "SI-035" : true, "SI-036" : true, + "SI-037" : true, "SI-038" : true, "SI-039" : true, "SI-040" : true, "SI-041" : true, + "SI-042" : true, "SI-043" : true, "SI-044" : true, "SI-045" : true, "SI-046" : true, + "SI-047" : true, "SI-048" : true, "SI-049" : true, "SI-050" : true, "SI-051" : true, + "SI-052" : true, "SI-053" : true, "SI-054" : true, "SI-055" : true, "SI-056" : true, + "SI-057" : true, "SI-058" : true, "SI-059" : true, "SI-060" : true, "SI-061" : true, + "SI-062" : true, "SI-063" : true, "SI-064" : true, "SI-065" : true, "SI-066" : true, + "SI-067" : true, "SI-068" : true, "SI-069" : true, "SI-070" : true, "SI-071" : true, + "SI-072" : true, "SI-073" : true, "SI-074" : true, "SI-075" : true, "SI-076" : true, + "SI-077" : true, "SI-078" : true, "SI-079" : true, "SI-080" : true, "SI-081" : true, + "SI-082" : true, "SI-083" : true, "SI-084" : true, "SI-085" : true, "SI-086" : true, + "SI-087" : true, "SI-088" : true, "SI-089" : true, "SI-090" : true, "SI-091" : true, + "SI-092" : true, "SI-093" : true, "SI-094" : true, "SI-095" : true, "SI-096" : true, + "SI-097" : true, "SI-098" : true, "SI-099" : true, "SI-100" : true, "SI-101" : true, + "SI-102" : true, "SI-103" : true, "SI-104" : true, "SI-105" : true, "SI-106" : true, + "SI-107" : true, "SI-108" : true, "SI-109" : true, "SI-110" : true, "SI-111" : true, + "SI-112" : true, "SI-113" : true, "SI-114" : true, "SI-115" : true, "SI-116" : true, + "SI-117" : true, "SI-118" : true, "SI-119" : true, "SI-120" : true, "SI-121" : true, + "SI-122" : true, "SI-123" : true, "SI-124" : true, "SI-125" : true, "SI-126" : true, + "SI-127" : true, "SI-128" : true, "SI-129" : true, "SI-130" : true, "SI-131" : true, + "SI-132" : true, "SI-133" : true, "SI-134" : true, "SI-135" : true, "SI-136" : true, + "SI-137" : true, "SI-138" : true, "SI-139" : true, "SI-140" : true, "SI-141" : true, + "SI-142" : true, "SI-143" : true, "SI-144" : true, "SI-146" : true, "SI-147" : true, + "SI-148" : true, "SI-149" : true, "SI-150" : true, "SI-151" : true, "SI-152" : true, + "SI-153" : true, "SI-154" : true, "SI-155" : true, "SI-156" : true, "SI-157" : true, + "SI-158" : true, "SI-159" : true, "SI-160" : true, "SI-161" : true, "SI-162" : true, + "SI-163" : true, "SI-164" : true, "SI-165" : true, "SI-166" : true, "SI-167" : true, + "SI-168" : true, "SI-169" : true, "SI-170" : true, "SI-171" : true, "SI-172" : true, + "SI-173" : true, "SI-174" : true, "SI-175" : true, "SI-176" : true, "SI-177" : true, + "SI-178" : true, "SI-179" : true, "SI-180" : true, "SI-181" : true, "SI-182" : true, + "SI-183" : true, "SI-184" : true, "SI-185" : true, "SI-186" : true, "SI-187" : true, + "SI-188" : true, "SI-189" : true, "SI-190" : true, "SI-191" : true, "SI-192" : true, + "SI-193" : true, "SI-194" : true, "SI-195" : true, "SI-196" : true, "SI-197" : true, + "SI-198" : true, "SI-199" : true, "SI-200" : true, "SI-201" : true, "SI-202" : true, + "SI-203" : true, "SI-204" : true, "SI-205" : true, "SI-206" : true, "SI-207" : true, + "SI-208" : true, "SI-209" : true, "SI-210" : true, "SI-211" : true, "SK-BC" : true, + "SK-BL" : true, "SK-KI" : true, "SK-NI" : true, "SK-PV" : true, "SK-TA" : true, + "SK-TC" : true, "SK-ZI" : true, "SL-E" : true, "SL-N" : true, "SL-S" : true, + "SL-W" : true, "SM-01" : true, "SM-02" : true, "SM-03" : true, "SM-04" : true, + "SM-05" : true, "SM-06" : true, "SM-07" : true, "SM-08" : true, "SM-09" : true, + "SN-DB" : true, "SN-DK" : true, "SN-FK" : true, "SN-KA" : true, "SN-KD" : true, + "SN-KE" : true, "SN-KL" : true, "SN-LG" : true, "SN-MT" : true, "SN-SE" : true, + "SN-SL" : true, "SN-TC" : true, "SN-TH" : true, "SN-ZG" : true, "SO-AW" : true, + "SO-BK" : true, "SO-BN" : true, "SO-BR" : true, "SO-BY" : true, "SO-GA" : true, + "SO-GE" : true, "SO-HI" : true, "SO-JD" : true, "SO-JH" : true, "SO-MU" : true, + "SO-NU" : true, "SO-SA" : true, "SO-SD" : true, "SO-SH" : true, "SO-SO" : true, + "SO-TO" : true, "SO-WO" : true, "SR-BR" : true, "SR-CM" : true, "SR-CR" : true, + "SR-MA" : true, "SR-NI" : true, "SR-PM" : true, "SR-PR" : true, "SR-SA" : true, + "SR-SI" : true, "SR-WA" : true, "SS-BN" : true, "SS-BW" : true, "SS-EC" : true, + "SS-EE8" : true, "SS-EW" : true, "SS-JG" : true, "SS-LK" : true, "SS-NU" : true, + "SS-UY" : true, "SS-WR" : true, "ST-P" : true, "ST-S" : true, "SV-AH" : true, + "SV-CA" : true, "SV-CH" : true, "SV-CU" : true, "SV-LI" : true, "SV-MO" : true, + "SV-PA" : true, "SV-SA" : true, "SV-SM" : true, "SV-SO" : true, "SV-SS" : true, + "SV-SV" : true, "SV-UN" : true, "SV-US" : true, "SY-DI" : true, "SY-DR" : true, + "SY-DY" : true, "SY-HA" : true, "SY-HI" : true, "SY-HL" : true, "SY-HM" : true, + "SY-ID" : true, "SY-LA" : true, "SY-QU" : true, "SY-RA" : true, "SY-RD" : true, + "SY-SU" : true, "SY-TA" : true, "SZ-HH" : true, "SZ-LU" : true, "SZ-MA" : true, + "SZ-SH" : true, "TD-BA" : true, "TD-BG" : true, "TD-BO" : true, "TD-CB" : true, + "TD-EN" : true, "TD-GR" : true, "TD-HL" : true, "TD-KA" : true, "TD-LC" : true, + "TD-LO" : true, "TD-LR" : true, "TD-MA" : true, "TD-MC" : true, "TD-ME" : true, + "TD-MO" : true, "TD-ND" : true, "TD-OD" : true, "TD-SA" : true, "TD-SI" : true, + "TD-TA" : true, "TD-TI" : true, "TD-WF" : true, "TG-C" : true, "TG-K" : true, + "TG-M" : true, "TG-P" : true, "TG-S" : true, "TH-10" : true, "TH-11" : true, + "TH-12" : true, "TH-13" : true, "TH-14" : true, "TH-15" : true, "TH-16" : true, + "TH-17" : true, "TH-18" : true, "TH-19" : true, "TH-20" : true, "TH-21" : true, + "TH-22" : true, "TH-23" : true, "TH-24" : true, "TH-25" : true, "TH-26" : true, + "TH-27" : true, "TH-30" : true, "TH-31" : true, "TH-32" : true, "TH-33" : true, + "TH-34" : true, "TH-35" : true, "TH-36" : true, "TH-37" : true, "TH-39" : true, + "TH-40" : true, "TH-41" : true, "TH-42" : true, "TH-43" : true, "TH-44" : true, + "TH-45" : true, "TH-46" : true, "TH-47" : true, "TH-48" : true, "TH-49" : true, + "TH-50" : true, "TH-51" : true, "TH-52" : true, "TH-53" : true, "TH-54" : true, + "TH-55" : true, "TH-56" : true, "TH-57" : true, "TH-58" : true, "TH-60" : true, + "TH-61" : true, "TH-62" : true, "TH-63" : true, "TH-64" : true, "TH-65" : true, + "TH-66" : true, "TH-67" : true, "TH-70" : true, "TH-71" : true, "TH-72" : true, + "TH-73" : true, "TH-74" : true, "TH-75" : true, "TH-76" : true, "TH-77" : true, + "TH-80" : true, "TH-81" : true, "TH-82" : true, "TH-83" : true, "TH-84" : true, + "TH-85" : true, "TH-86" : true, "TH-90" : true, "TH-91" : true, "TH-92" : true, + "TH-93" : true, "TH-94" : true, "TH-95" : true, "TH-96" : true, "TH-S" : true, + "TJ-GB" : true, "TJ-KT" : true, "TJ-SU" : true, "TL-AL" : true, "TL-AN" : true, + "TL-BA" : true, "TL-BO" : true, "TL-CO" : true, "TL-DI" : true, "TL-ER" : true, + "TL-LA" : true, "TL-LI" : true, "TL-MF" : true, "TL-MT" : true, "TL-OE" : true, + "TL-VI" : true, "TM-A" : true, "TM-B" : true, "TM-D" : true, "TM-L" : true, + "TM-M" : true, "TM-S" : true, "TN-11" : true, "TN-12" : true, "TN-13" : true, + "TN-14" : true, "TN-21" : true, "TN-22" : true, "TN-23" : true, "TN-31" : true, + "TN-32" : true, "TN-33" : true, "TN-34" : true, "TN-41" : true, "TN-42" : true, + "TN-43" : true, "TN-51" : true, "TN-52" : true, "TN-53" : true, "TN-61" : true, + "TN-71" : true, "TN-72" : true, "TN-73" : true, "TN-81" : true, "TN-82" : true, + "TN-83" : true, "TO-01" : true, "TO-02" : true, "TO-03" : true, "TO-04" : true, + "TO-05" : true, "TR-01" : true, "TR-02" : true, "TR-03" : true, "TR-04" : true, + "TR-05" : true, "TR-06" : true, "TR-07" : true, "TR-08" : true, "TR-09" : true, + "TR-10" : true, "TR-11" : true, "TR-12" : true, "TR-13" : true, "TR-14" : true, + "TR-15" : true, "TR-16" : true, "TR-17" : true, "TR-18" : true, "TR-19" : true, + "TR-20" : true, "TR-21" : true, "TR-22" : true, "TR-23" : true, "TR-24" : true, + "TR-25" : true, "TR-26" : true, "TR-27" : true, "TR-28" : true, "TR-29" : true, + "TR-30" : true, "TR-31" : true, "TR-32" : true, "TR-33" : true, "TR-34" : true, + "TR-35" : true, "TR-36" : true, "TR-37" : true, "TR-38" : true, "TR-39" : true, + "TR-40" : true, "TR-41" : true, "TR-42" : true, "TR-43" : true, "TR-44" : true, + "TR-45" : true, "TR-46" : true, "TR-47" : true, "TR-48" : true, "TR-49" : true, + "TR-50" : true, "TR-51" : true, "TR-52" : true, "TR-53" : true, "TR-54" : true, + "TR-55" : true, "TR-56" : true, "TR-57" : true, "TR-58" : true, "TR-59" : true, + "TR-60" : true, "TR-61" : true, "TR-62" : true, "TR-63" : true, "TR-64" : true, + "TR-65" : true, "TR-66" : true, "TR-67" : true, "TR-68" : true, "TR-69" : true, + "TR-70" : true, "TR-71" : true, "TR-72" : true, "TR-73" : true, "TR-74" : true, + "TR-75" : true, "TR-76" : true, "TR-77" : true, "TR-78" : true, "TR-79" : true, + "TR-80" : true, "TR-81" : true, "TT-ARI" : true, "TT-CHA" : true, "TT-CTT" : true, + "TT-DMN" : true, "TT-ETO" : true, "TT-PED" : true, "TT-POS" : true, "TT-PRT" : true, + "TT-PTF" : true, "TT-RCM" : true, "TT-SFO" : true, "TT-SGE" : true, "TT-SIP" : true, + "TT-SJL" : true, "TT-TUP" : true, "TT-WTO" : true, "TV-FUN" : true, "TV-NIT" : true, + "TV-NKF" : true, "TV-NKL" : true, "TV-NMA" : true, "TV-NMG" : true, "TV-NUI" : true, + "TV-VAI" : true, "TW-CHA" : true, "TW-CYI" : true, "TW-CYQ" : true, "TW-HSQ" : true, + "TW-HSZ" : true, "TW-HUA" : true, "TW-ILA" : true, "TW-KEE" : true, "TW-KHH" : true, + "TW-KHQ" : true, "TW-MIA" : true, "TW-NAN" : true, "TW-PEN" : true, "TW-PIF" : true, + "TW-TAO" : true, "TW-TNN" : true, "TW-TNQ" : true, "TW-TPE" : true, "TW-TPQ" : true, + "TW-TTT" : true, "TW-TXG" : true, "TW-TXQ" : true, "TW-YUN" : true, "TZ-01" : true, + "TZ-02" : true, "TZ-03" : true, "TZ-04" : true, "TZ-05" : true, "TZ-06" : true, + "TZ-07" : true, "TZ-08" : true, "TZ-09" : true, "TZ-10" : true, "TZ-11" : true, + "TZ-12" : true, "TZ-13" : true, "TZ-14" : true, "TZ-15" : true, "TZ-16" : true, + "TZ-17" : true, "TZ-18" : true, "TZ-19" : true, "TZ-20" : true, "TZ-21" : true, + "TZ-22" : true, "TZ-23" : true, "TZ-24" : true, "TZ-25" : true, "TZ-26" : true, + "UA-05" : true, "UA-07" : true, "UA-09" : true, "UA-12" : true, "UA-14" : true, + "UA-18" : true, "UA-21" : true, "UA-23" : true, "UA-26" : true, "UA-30" : true, + "UA-32" : true, "UA-35" : true, "UA-40" : true, "UA-43" : true, "UA-46" : true, + "UA-48" : true, "UA-51" : true, "UA-53" : true, "UA-56" : true, "UA-59" : true, + "UA-61" : true, "UA-63" : true, "UA-65" : true, "UA-68" : true, "UA-71" : true, + "UA-74" : true, "UA-77" : true, "UG-101" : true, "UG-102" : true, "UG-103" : true, + "UG-104" : true, "UG-105" : true, "UG-106" : true, "UG-107" : true, "UG-108" : true, + "UG-109" : true, "UG-110" : true, "UG-111" : true, "UG-112" : true, "UG-113" : true, + "UG-114" : true, "UG-115" : true, "UG-116" : true, "UG-201" : true, "UG-202" : true, + "UG-203" : true, "UG-204" : true, "UG-205" : true, "UG-206" : true, "UG-207" : true, + "UG-208" : true, "UG-209" : true, "UG-210" : true, "UG-211" : true, "UG-212" : true, + "UG-213" : true, "UG-214" : true, "UG-215" : true, "UG-216" : true, "UG-217" : true, + "UG-218" : true, "UG-219" : true, "UG-220" : true, "UG-221" : true, "UG-222" : true, + "UG-223" : true, "UG-224" : true, "UG-301" : true, "UG-302" : true, "UG-303" : true, + "UG-304" : true, "UG-305" : true, "UG-306" : true, "UG-307" : true, "UG-308" : true, + "UG-309" : true, "UG-310" : true, "UG-311" : true, "UG-312" : true, "UG-313" : true, + "UG-314" : true, "UG-315" : true, "UG-316" : true, "UG-317" : true, "UG-318" : true, + "UG-319" : true, "UG-320" : true, "UG-321" : true, "UG-401" : true, "UG-402" : true, + "UG-403" : true, "UG-404" : true, "UG-405" : true, "UG-406" : true, "UG-407" : true, + "UG-408" : true, "UG-409" : true, "UG-410" : true, "UG-411" : true, "UG-412" : true, + "UG-413" : true, "UG-414" : true, "UG-415" : true, "UG-416" : true, "UG-417" : true, + "UG-418" : true, "UG-419" : true, "UG-C" : true, "UG-E" : true, "UG-N" : true, + "UG-W" : true, "UM-67" : true, "UM-71" : true, "UM-76" : true, "UM-79" : true, + "UM-81" : true, "UM-84" : true, "UM-86" : true, "UM-89" : true, "UM-95" : true, + "US-AK" : true, "US-AL" : true, "US-AR" : true, "US-AS" : true, "US-AZ" : true, + "US-CA" : true, "US-CO" : true, "US-CT" : true, "US-DC" : true, "US-DE" : true, + "US-FL" : true, "US-GA" : true, "US-GU" : true, "US-HI" : true, "US-IA" : true, + "US-ID" : true, "US-IL" : true, "US-IN" : true, "US-KS" : true, "US-KY" : true, + "US-LA" : true, "US-MA" : true, "US-MD" : true, "US-ME" : true, "US-MI" : true, + "US-MN" : true, "US-MO" : true, "US-MP" : true, "US-MS" : true, "US-MT" : true, + "US-NC" : true, "US-ND" : true, "US-NE" : true, "US-NH" : true, "US-NJ" : true, + "US-NM" : true, "US-NV" : true, "US-NY" : true, "US-OH" : true, "US-OK" : true, + "US-OR" : true, "US-PA" : true, "US-PR" : true, "US-RI" : true, "US-SC" : true, + "US-SD" : true, "US-TN" : true, "US-TX" : true, "US-UM" : true, "US-UT" : true, + "US-VA" : true, "US-VI" : true, "US-VT" : true, "US-WA" : true, "US-WI" : true, + "US-WV" : true, "US-WY" : true, "UY-AR" : true, "UY-CA" : true, "UY-CL" : true, + "UY-CO" : true, "UY-DU" : true, "UY-FD" : true, "UY-FS" : true, "UY-LA" : true, + "UY-MA" : true, "UY-MO" : true, "UY-PA" : true, "UY-RN" : true, "UY-RO" : true, + "UY-RV" : true, "UY-SA" : true, "UY-SJ" : true, "UY-SO" : true, "UY-TA" : true, + "UY-TT" : true, "UZ-AN" : true, "UZ-BU" : true, "UZ-FA" : true, "UZ-JI" : true, + "UZ-NG" : true, "UZ-NW" : true, "UZ-QA" : true, "UZ-QR" : true, "UZ-SA" : true, + "UZ-SI" : true, "UZ-SU" : true, "UZ-TK" : true, "UZ-TO" : true, "UZ-XO" : true, + "VC-01" : true, "VC-02" : true, "VC-03" : true, "VC-04" : true, "VC-05" : true, + "VC-06" : true, "VE-A" : true, "VE-B" : true, "VE-C" : true, "VE-D" : true, + "VE-E" : true, "VE-F" : true, "VE-G" : true, "VE-H" : true, "VE-I" : true, + "VE-J" : true, "VE-K" : true, "VE-L" : true, "VE-M" : true, "VE-N" : true, + "VE-O" : true, "VE-P" : true, "VE-R" : true, "VE-S" : true, "VE-T" : true, + "VE-U" : true, "VE-V" : true, "VE-W" : true, "VE-X" : true, "VE-Y" : true, + "VE-Z" : true, "VN-01" : true, "VN-02" : true, "VN-03" : true, "VN-04" : true, + "VN-05" : true, "VN-06" : true, "VN-07" : true, "VN-09" : true, "VN-13" : true, + "VN-14" : true, "VN-15" : true, "VN-18" : true, "VN-20" : true, "VN-21" : true, + "VN-22" : true, "VN-23" : true, "VN-24" : true, "VN-25" : true, "VN-26" : true, + "VN-27" : true, "VN-28" : true, "VN-29" : true, "VN-30" : true, "VN-31" : true, + "VN-32" : true, "VN-33" : true, "VN-34" : true, "VN-35" : true, "VN-36" : true, + "VN-37" : true, "VN-39" : true, "VN-40" : true, "VN-41" : true, "VN-43" : true, + "VN-44" : true, "VN-45" : true, "VN-46" : true, "VN-47" : true, "VN-49" : true, + "VN-50" : true, "VN-51" : true, "VN-52" : true, "VN-53" : true, "VN-54" : true, + "VN-55" : true, "VN-56" : true, "VN-57" : true, "VN-58" : true, "VN-59" : true, + "VN-61" : true, "VN-63" : true, "VN-66" : true, "VN-67" : true, "VN-68" : true, + "VN-69" : true, "VN-70" : true, "VN-71" : true, "VN-72" : true, "VN-73" : true, + "VN-CT" : true, "VN-DN" : true, "VN-HN" : true, "VN-HP" : true, "VN-SG" : true, + "VU-MAP" : true, "VU-PAM" : true, "VU-SAM" : true, "VU-SEE" : true, "VU-TAE" : true, + "VU-TOB" : true, "WS-AA" : true, "WS-AL" : true, "WS-AT" : true, "WS-FA" : true, + "WS-GE" : true, "WS-GI" : true, "WS-PA" : true, "WS-SA" : true, "WS-TU" : true, + "WS-VF" : true, "WS-VS" : true, "YE-AB" : true, "YE-AD" : true, "YE-AM" : true, + "YE-BA" : true, "YE-DA" : true, "YE-DH" : true, "YE-HD" : true, "YE-HJ" : true, + "YE-IB" : true, "YE-JA" : true, "YE-LA" : true, "YE-MA" : true, "YE-MR" : true, + "YE-MU" : true, "YE-MW" : true, "YE-RA" : true, "YE-SD" : true, "YE-SH" : true, + "YE-SN" : true, "YE-TA" : true, "ZA-EC" : true, "ZA-FS" : true, "ZA-GP" : true, + "ZA-LP" : true, "ZA-MP" : true, "ZA-NC" : true, "ZA-NW" : true, "ZA-WC" : true, + "ZA-ZN" : true, "ZM-01" : true, "ZM-02" : true, "ZM-03" : true, "ZM-04" : true, + "ZM-05" : true, "ZM-06" : true, "ZM-07" : true, "ZM-08" : true, "ZM-09" : true, + "ZW-BU" : true, "ZW-HA" : true, "ZW-MA" : true, "ZW-MC" : true, "ZW-ME" : true, + "ZW-MI" : true, "ZW-MN" : true, "ZW-MS" : true, "ZW-MV" : true, "ZW-MW" : true, +} diff --git a/vendor/github.com/go-playground/validator/v10/doc.go b/vendor/github.com/go-playground/validator/v10/doc.go new file mode 100644 index 000000000..eafad0db4 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/doc.go @@ -0,0 +1,1322 @@ +/* +Package validator implements value validations for structs and individual fields +based on tags. + +It can also handle Cross-Field and Cross-Struct validation for nested structs +and has the ability to dive into arrays and maps of any type. + +see more examples https://github.com/go-playground/validator/tree/master/_examples + +Validation Functions Return Type error + +Doing things this way is actually the way the standard library does, see the +file.Open method here: + + https://golang.org/pkg/os/#Open. + +The authors return type "error" to avoid the issue discussed in the following, +where err is always != nil: + + http://stackoverflow.com/a/29138676/3158232 + https://github.com/go-playground/validator/issues/134 + +Validator only InvalidValidationError for bad validation input, nil or +ValidationErrors as type error; so, in your code all you need to do is check +if the error returned is not nil, and if it's not check if error is +InvalidValidationError ( if necessary, most of the time it isn't ) type cast +it to type ValidationErrors like so err.(validator.ValidationErrors). + +Custom Validation Functions + +Custom Validation functions can be added. Example: + + // Structure + func customFunc(fl validator.FieldLevel) bool { + + if fl.Field().String() == "invalid" { + return false + } + + return true + } + + validate.RegisterValidation("custom tag name", customFunc) + // NOTES: using the same tag name as an existing function + // will overwrite the existing one + +Cross-Field Validation + +Cross-Field Validation can be done via the following tags: + - eqfield + - nefield + - gtfield + - gtefield + - ltfield + - ltefield + - eqcsfield + - necsfield + - gtcsfield + - gtecsfield + - ltcsfield + - ltecsfield + +If, however, some custom cross-field validation is required, it can be done +using a custom validation. + +Why not just have cross-fields validation tags (i.e. only eqcsfield and not +eqfield)? + +The reason is efficiency. If you want to check a field within the same struct +"eqfield" only has to find the field on the same struct (1 level). But, if we +used "eqcsfield" it could be multiple levels down. Example: + + type Inner struct { + StartDate time.Time + } + + type Outer struct { + InnerStructField *Inner + CreatedAt time.Time `validate:"ltecsfield=InnerStructField.StartDate"` + } + + now := time.Now() + + inner := &Inner{ + StartDate: now, + } + + outer := &Outer{ + InnerStructField: inner, + CreatedAt: now, + } + + errs := validate.Struct(outer) + + // NOTE: when calling validate.Struct(val) topStruct will be the top level struct passed + // into the function + // when calling validate.VarWithValue(val, field, tag) val will be + // whatever you pass, struct, field... + // when calling validate.Field(field, tag) val will be nil + +Multiple Validators + +Multiple validators on a field will process in the order defined. Example: + + type Test struct { + Field `validate:"max=10,min=1"` + } + + // max will be checked then min + +Bad Validator definitions are not handled by the library. Example: + + type Test struct { + Field `validate:"min=10,max=0"` + } + + // this definition of min max will never succeed + +Using Validator Tags + +Baked In Cross-Field validation only compares fields on the same struct. +If Cross-Field + Cross-Struct validation is needed you should implement your +own custom validator. + +Comma (",") is the default separator of validation tags. If you wish to +have a comma included within the parameter (i.e. excludesall=,) you will need to +use the UTF-8 hex representation 0x2C, which is replaced in the code as a comma, +so the above will become excludesall=0x2C. + + type Test struct { + Field `validate:"excludesall=,"` // BAD! Do not include a comma. + Field `validate:"excludesall=0x2C"` // GOOD! Use the UTF-8 hex representation. + } + +Pipe ("|") is the 'or' validation tags deparator. If you wish to +have a pipe included within the parameter i.e. excludesall=| you will need to +use the UTF-8 hex representation 0x7C, which is replaced in the code as a pipe, +so the above will become excludesall=0x7C + + type Test struct { + Field `validate:"excludesall=|"` // BAD! Do not include a a pipe! + Field `validate:"excludesall=0x7C"` // GOOD! Use the UTF-8 hex representation. + } + + +Baked In Validators and Tags + +Here is a list of the current built in validators: + + +Skip Field + +Tells the validation to skip this struct field; this is particularly +handy in ignoring embedded structs from being validated. (Usage: -) + Usage: - + + +Or Operator + +This is the 'or' operator allowing multiple validators to be used and +accepted. (Usage: rgb|rgba) <-- this would allow either rgb or rgba +colors to be accepted. This can also be combined with 'and' for example +( Usage: omitempty,rgb|rgba) + + Usage: | + +StructOnly + +When a field that is a nested struct is encountered, and contains this flag +any validation on the nested struct will be run, but none of the nested +struct fields will be validated. This is useful if inside of your program +you know the struct will be valid, but need to verify it has been assigned. +NOTE: only "required" and "omitempty" can be used on a struct itself. + + Usage: structonly + +NoStructLevel + +Same as structonly tag except that any struct level validations will not run. + + Usage: nostructlevel + +Omit Empty + +Allows conditional validation, for example if a field is not set with +a value (Determined by the "required" validator) then other validation +such as min or max won't run, but if a value is set validation will run. + + Usage: omitempty + +Dive + +This tells the validator to dive into a slice, array or map and validate that +level of the slice, array or map with the validation tags that follow. +Multidimensional nesting is also supported, each level you wish to dive will +require another dive tag. dive has some sub-tags, 'keys' & 'endkeys', please see +the Keys & EndKeys section just below. + + Usage: dive + +Example #1 + + [][]string with validation tag "gt=0,dive,len=1,dive,required" + // gt=0 will be applied to [] + // len=1 will be applied to []string + // required will be applied to string + +Example #2 + + [][]string with validation tag "gt=0,dive,dive,required" + // gt=0 will be applied to [] + // []string will be spared validation + // required will be applied to string + +Keys & EndKeys + +These are to be used together directly after the dive tag and tells the validator +that anything between 'keys' and 'endkeys' applies to the keys of a map and not the +values; think of it like the 'dive' tag, but for map keys instead of values. +Multidimensional nesting is also supported, each level you wish to validate will +require another 'keys' and 'endkeys' tag. These tags are only valid for maps. + + Usage: dive,keys,othertagvalidation(s),endkeys,valuevalidationtags + +Example #1 + + map[string]string with validation tag "gt=0,dive,keys,eg=1|eq=2,endkeys,required" + // gt=0 will be applied to the map itself + // eg=1|eq=2 will be applied to the map keys + // required will be applied to map values + +Example #2 + + map[[2]string]string with validation tag "gt=0,dive,keys,dive,eq=1|eq=2,endkeys,required" + // gt=0 will be applied to the map itself + // eg=1|eq=2 will be applied to each array element in the the map keys + // required will be applied to map values + +Required + +This validates that the value is not the data types default zero value. +For numbers ensures value is not zero. For strings ensures value is +not "". For slices, maps, pointers, interfaces, channels and functions +ensures the value is not nil. + + Usage: required + +Required If + +The field under validation must be present and not empty only if all +the other specified fields are equal to the value following the specified +field. For strings ensures value is not "". For slices, maps, pointers, +interfaces, channels and functions ensures the value is not nil. + + Usage: required_if + +Examples: + + // require the field if the Field1 is equal to the parameter given: + Usage: required_if=Field1 foobar + + // require the field if the Field1 and Field2 is equal to the value respectively: + Usage: required_if=Field1 foo Field2 bar + +Required Unless + +The field under validation must be present and not empty unless all +the other specified fields are equal to the value following the specified +field. For strings ensures value is not "". For slices, maps, pointers, +interfaces, channels and functions ensures the value is not nil. + + Usage: required_unless + +Examples: + + // require the field unless the Field1 is equal to the parameter given: + Usage: required_unless=Field1 foobar + + // require the field unless the Field1 and Field2 is equal to the value respectively: + Usage: required_unless=Field1 foo Field2 bar + +Required With + +The field under validation must be present and not empty only if any +of the other specified fields are present. For strings ensures value is +not "". For slices, maps, pointers, interfaces, channels and functions +ensures the value is not nil. + + Usage: required_with + +Examples: + + // require the field if the Field1 is present: + Usage: required_with=Field1 + + // require the field if the Field1 or Field2 is present: + Usage: required_with=Field1 Field2 + +Required With All + +The field under validation must be present and not empty only if all +of the other specified fields are present. For strings ensures value is +not "". For slices, maps, pointers, interfaces, channels and functions +ensures the value is not nil. + + Usage: required_with_all + +Example: + + // require the field if the Field1 and Field2 is present: + Usage: required_with_all=Field1 Field2 + +Required Without + +The field under validation must be present and not empty only when any +of the other specified fields are not present. For strings ensures value is +not "". For slices, maps, pointers, interfaces, channels and functions +ensures the value is not nil. + + Usage: required_without + +Examples: + + // require the field if the Field1 is not present: + Usage: required_without=Field1 + + // require the field if the Field1 or Field2 is not present: + Usage: required_without=Field1 Field2 + +Required Without All + +The field under validation must be present and not empty only when all +of the other specified fields are not present. For strings ensures value is +not "". For slices, maps, pointers, interfaces, channels and functions +ensures the value is not nil. + + Usage: required_without_all + +Example: + + // require the field if the Field1 and Field2 is not present: + Usage: required_without_all=Field1 Field2 + +Is Default + +This validates that the value is the default value and is almost the +opposite of required. + + Usage: isdefault + +Length + +For numbers, length will ensure that the value is +equal to the parameter given. For strings, it checks that +the string length is exactly that number of characters. For slices, +arrays, and maps, validates the number of items. + +Example #1 + + Usage: len=10 + +Example #2 (time.Duration) + +For time.Duration, len will ensure that the value is equal to the duration given +in the parameter. + + Usage: len=1h30m + +Maximum + +For numbers, max will ensure that the value is +less than or equal to the parameter given. For strings, it checks +that the string length is at most that number of characters. For +slices, arrays, and maps, validates the number of items. + +Example #1 + + Usage: max=10 + +Example #2 (time.Duration) + +For time.Duration, max will ensure that the value is less than or equal to the +duration given in the parameter. + + Usage: max=1h30m + +Minimum + +For numbers, min will ensure that the value is +greater or equal to the parameter given. For strings, it checks that +the string length is at least that number of characters. For slices, +arrays, and maps, validates the number of items. + +Example #1 + + Usage: min=10 + +Example #2 (time.Duration) + +For time.Duration, min will ensure that the value is greater than or equal to +the duration given in the parameter. + + Usage: min=1h30m + +Equals + +For strings & numbers, eq will ensure that the value is +equal to the parameter given. For slices, arrays, and maps, +validates the number of items. + +Example #1 + + Usage: eq=10 + +Example #2 (time.Duration) + +For time.Duration, eq will ensure that the value is equal to the duration given +in the parameter. + + Usage: eq=1h30m + +Not Equal + +For strings & numbers, ne will ensure that the value is not +equal to the parameter given. For slices, arrays, and maps, +validates the number of items. + +Example #1 + + Usage: ne=10 + +Example #2 (time.Duration) + +For time.Duration, ne will ensure that the value is not equal to the duration +given in the parameter. + + Usage: ne=1h30m + +One Of + +For strings, ints, and uints, oneof will ensure that the value +is one of the values in the parameter. The parameter should be +a list of values separated by whitespace. Values may be +strings or numbers. To match strings with spaces in them, include +the target string between single quotes. + + Usage: oneof=red green + oneof='red green' 'blue yellow' + oneof=5 7 9 + +Greater Than + +For numbers, this will ensure that the value is greater than the +parameter given. For strings, it checks that the string length +is greater than that number of characters. For slices, arrays +and maps it validates the number of items. + +Example #1 + + Usage: gt=10 + +Example #2 (time.Time) + +For time.Time ensures the time value is greater than time.Now.UTC(). + + Usage: gt + +Example #3 (time.Duration) + +For time.Duration, gt will ensure that the value is greater than the duration +given in the parameter. + + Usage: gt=1h30m + +Greater Than or Equal + +Same as 'min' above. Kept both to make terminology with 'len' easier. + +Example #1 + + Usage: gte=10 + +Example #2 (time.Time) + +For time.Time ensures the time value is greater than or equal to time.Now.UTC(). + + Usage: gte + +Example #3 (time.Duration) + +For time.Duration, gte will ensure that the value is greater than or equal to +the duration given in the parameter. + + Usage: gte=1h30m + +Less Than + +For numbers, this will ensure that the value is less than the parameter given. +For strings, it checks that the string length is less than that number of +characters. For slices, arrays, and maps it validates the number of items. + +Example #1 + + Usage: lt=10 + +Example #2 (time.Time) + +For time.Time ensures the time value is less than time.Now.UTC(). + + Usage: lt + +Example #3 (time.Duration) + +For time.Duration, lt will ensure that the value is less than the duration given +in the parameter. + + Usage: lt=1h30m + +Less Than or Equal + +Same as 'max' above. Kept both to make terminology with 'len' easier. + +Example #1 + + Usage: lte=10 + +Example #2 (time.Time) + +For time.Time ensures the time value is less than or equal to time.Now.UTC(). + + Usage: lte + +Example #3 (time.Duration) + +For time.Duration, lte will ensure that the value is less than or equal to the +duration given in the parameter. + + Usage: lte=1h30m + +Field Equals Another Field + +This will validate the field value against another fields value either within +a struct or passed in field. + +Example #1: + + // Validation on Password field using: + Usage: eqfield=ConfirmPassword + +Example #2: + + // Validating by field: + validate.VarWithValue(password, confirmpassword, "eqfield") + +Field Equals Another Field (relative) + +This does the same as eqfield except that it validates the field provided relative +to the top level struct. + + Usage: eqcsfield=InnerStructField.Field) + +Field Does Not Equal Another Field + +This will validate the field value against another fields value either within +a struct or passed in field. + +Examples: + + // Confirm two colors are not the same: + // + // Validation on Color field: + Usage: nefield=Color2 + + // Validating by field: + validate.VarWithValue(color1, color2, "nefield") + +Field Does Not Equal Another Field (relative) + +This does the same as nefield except that it validates the field provided +relative to the top level struct. + + Usage: necsfield=InnerStructField.Field + +Field Greater Than Another Field + +Only valid for Numbers, time.Duration and time.Time types, this will validate +the field value against another fields value either within a struct or passed in +field. usage examples are for validation of a Start and End date: + +Example #1: + + // Validation on End field using: + validate.Struct Usage(gtfield=Start) + +Example #2: + + // Validating by field: + validate.VarWithValue(start, end, "gtfield") + +Field Greater Than Another Relative Field + +This does the same as gtfield except that it validates the field provided +relative to the top level struct. + + Usage: gtcsfield=InnerStructField.Field + +Field Greater Than or Equal To Another Field + +Only valid for Numbers, time.Duration and time.Time types, this will validate +the field value against another fields value either within a struct or passed in +field. usage examples are for validation of a Start and End date: + +Example #1: + + // Validation on End field using: + validate.Struct Usage(gtefield=Start) + +Example #2: + + // Validating by field: + validate.VarWithValue(start, end, "gtefield") + +Field Greater Than or Equal To Another Relative Field + +This does the same as gtefield except that it validates the field provided relative +to the top level struct. + + Usage: gtecsfield=InnerStructField.Field + +Less Than Another Field + +Only valid for Numbers, time.Duration and time.Time types, this will validate +the field value against another fields value either within a struct or passed in +field. usage examples are for validation of a Start and End date: + +Example #1: + + // Validation on End field using: + validate.Struct Usage(ltfield=Start) + +Example #2: + + // Validating by field: + validate.VarWithValue(start, end, "ltfield") + +Less Than Another Relative Field + +This does the same as ltfield except that it validates the field provided relative +to the top level struct. + + Usage: ltcsfield=InnerStructField.Field + +Less Than or Equal To Another Field + +Only valid for Numbers, time.Duration and time.Time types, this will validate +the field value against another fields value either within a struct or passed in +field. usage examples are for validation of a Start and End date: + +Example #1: + + // Validation on End field using: + validate.Struct Usage(ltefield=Start) + +Example #2: + + // Validating by field: + validate.VarWithValue(start, end, "ltefield") + +Less Than or Equal To Another Relative Field + +This does the same as ltefield except that it validates the field provided relative +to the top level struct. + + Usage: ltecsfield=InnerStructField.Field + +Field Contains Another Field + +This does the same as contains except for struct fields. It should only be used +with string types. See the behavior of reflect.Value.String() for behavior on +other types. + + Usage: containsfield=InnerStructField.Field + +Field Excludes Another Field + +This does the same as excludes except for struct fields. It should only be used +with string types. See the behavior of reflect.Value.String() for behavior on +other types. + + Usage: excludesfield=InnerStructField.Field + +Unique + +For arrays & slices, unique will ensure that there are no duplicates. +For maps, unique will ensure that there are no duplicate values. +For slices of struct, unique will ensure that there are no duplicate values +in a field of the struct specified via a parameter. + + // For arrays, slices, and maps: + Usage: unique + + // For slices of struct: + Usage: unique=field + +Alpha Only + +This validates that a string value contains ASCII alpha characters only + + Usage: alpha + +Alphanumeric + +This validates that a string value contains ASCII alphanumeric characters only + + Usage: alphanum + +Alpha Unicode + +This validates that a string value contains unicode alpha characters only + + Usage: alphaunicode + +Alphanumeric Unicode + +This validates that a string value contains unicode alphanumeric characters only + + Usage: alphanumunicode + +Number + +This validates that a string value contains number values only. +For integers or float it returns true. + + Usage: number + +Numeric + +This validates that a string value contains a basic numeric value. +basic excludes exponents etc... +for integers or float it returns true. + + Usage: numeric + +Hexadecimal String + +This validates that a string value contains a valid hexadecimal. + + Usage: hexadecimal + +Hexcolor String + +This validates that a string value contains a valid hex color including +hashtag (#) + + Usage: hexcolor + +Lowercase String + +This validates that a string value contains only lowercase characters. An empty string is not a valid lowercase string. + + Usage: lowercase + +Uppercase String + +This validates that a string value contains only uppercase characters. An empty string is not a valid uppercase string. + + Usage: uppercase + +RGB String + +This validates that a string value contains a valid rgb color + + Usage: rgb + +RGBA String + +This validates that a string value contains a valid rgba color + + Usage: rgba + +HSL String + +This validates that a string value contains a valid hsl color + + Usage: hsl + +HSLA String + +This validates that a string value contains a valid hsla color + + Usage: hsla + +E.164 Phone Number String + +This validates that a string value contains a valid E.164 Phone number +https://en.wikipedia.org/wiki/E.164 (ex. +1123456789) + + Usage: e164 + +E-mail String + +This validates that a string value contains a valid email +This may not conform to all possibilities of any rfc standard, but neither +does any email provider accept all possibilities. + + Usage: email + +JSON String + +This validates that a string value is valid JSON + + Usage: json + +File path + +This validates that a string value contains a valid file path and that +the file exists on the machine. +This is done using os.Stat, which is a platform independent function. + + Usage: file + +URL String + +This validates that a string value contains a valid url +This will accept any url the golang request uri accepts but must contain +a schema for example http:// or rtmp:// + + Usage: url + +URI String + +This validates that a string value contains a valid uri +This will accept any uri the golang request uri accepts + + Usage: uri + +Urn RFC 2141 String + +This validataes that a string value contains a valid URN +according to the RFC 2141 spec. + + Usage: urn_rfc2141 + +Base64 String + +This validates that a string value contains a valid base64 value. +Although an empty string is valid base64 this will report an empty string +as an error, if you wish to accept an empty string as valid you can use +this with the omitempty tag. + + Usage: base64 + +Base64URL String + +This validates that a string value contains a valid base64 URL safe value +according the the RFC4648 spec. +Although an empty string is a valid base64 URL safe value, this will report +an empty string as an error, if you wish to accept an empty string as valid +you can use this with the omitempty tag. + + Usage: base64url + +Bitcoin Address + +This validates that a string value contains a valid bitcoin address. +The format of the string is checked to ensure it matches one of the three formats +P2PKH, P2SH and performs checksum validation. + + Usage: btc_addr + +Bitcoin Bech32 Address (segwit) + +This validates that a string value contains a valid bitcoin Bech32 address as defined +by bip-0173 (https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki) +Special thanks to Pieter Wuille for providng reference implementations. + + Usage: btc_addr_bech32 + +Ethereum Address + +This validates that a string value contains a valid ethereum address. +The format of the string is checked to ensure it matches the standard Ethereum address format. + + Usage: eth_addr + +Contains + +This validates that a string value contains the substring value. + + Usage: contains=@ + +Contains Any + +This validates that a string value contains any Unicode code points +in the substring value. + + Usage: containsany=!@#? + +Contains Rune + +This validates that a string value contains the supplied rune value. + + Usage: containsrune=@ + +Excludes + +This validates that a string value does not contain the substring value. + + Usage: excludes=@ + +Excludes All + +This validates that a string value does not contain any Unicode code +points in the substring value. + + Usage: excludesall=!@#? + +Excludes Rune + +This validates that a string value does not contain the supplied rune value. + + Usage: excludesrune=@ + +Starts With + +This validates that a string value starts with the supplied string value + + Usage: startswith=hello + +Ends With + +This validates that a string value ends with the supplied string value + + Usage: endswith=goodbye + +Does Not Start With + +This validates that a string value does not start with the supplied string value + + Usage: startsnotwith=hello + +Does Not End With + +This validates that a string value does not end with the supplied string value + + Usage: endsnotwith=goodbye + +International Standard Book Number + +This validates that a string value contains a valid isbn10 or isbn13 value. + + Usage: isbn + +International Standard Book Number 10 + +This validates that a string value contains a valid isbn10 value. + + Usage: isbn10 + +International Standard Book Number 13 + +This validates that a string value contains a valid isbn13 value. + + Usage: isbn13 + +Universally Unique Identifier UUID + +This validates that a string value contains a valid UUID. Uppercase UUID values will not pass - use `uuid_rfc4122` instead. + + Usage: uuid + +Universally Unique Identifier UUID v3 + +This validates that a string value contains a valid version 3 UUID. Uppercase UUID values will not pass - use `uuid3_rfc4122` instead. + + Usage: uuid3 + +Universally Unique Identifier UUID v4 + +This validates that a string value contains a valid version 4 UUID. Uppercase UUID values will not pass - use `uuid4_rfc4122` instead. + + Usage: uuid4 + +Universally Unique Identifier UUID v5 + +This validates that a string value contains a valid version 5 UUID. Uppercase UUID values will not pass - use `uuid5_rfc4122` instead. + + Usage: uuid5 + +ASCII + +This validates that a string value contains only ASCII characters. +NOTE: if the string is blank, this validates as true. + + Usage: ascii + +Printable ASCII + +This validates that a string value contains only printable ASCII characters. +NOTE: if the string is blank, this validates as true. + + Usage: printascii + +Multi-Byte Characters + +This validates that a string value contains one or more multibyte characters. +NOTE: if the string is blank, this validates as true. + + Usage: multibyte + +Data URL + +This validates that a string value contains a valid DataURI. +NOTE: this will also validate that the data portion is valid base64 + + Usage: datauri + +Latitude + +This validates that a string value contains a valid latitude. + + Usage: latitude + +Longitude + +This validates that a string value contains a valid longitude. + + Usage: longitude + +Social Security Number SSN + +This validates that a string value contains a valid U.S. Social Security Number. + + Usage: ssn + +Internet Protocol Address IP + +This validates that a string value contains a valid IP Address. + + Usage: ip + +Internet Protocol Address IPv4 + +This validates that a string value contains a valid v4 IP Address. + + Usage: ipv4 + +Internet Protocol Address IPv6 + +This validates that a string value contains a valid v6 IP Address. + + Usage: ipv6 + +Classless Inter-Domain Routing CIDR + +This validates that a string value contains a valid CIDR Address. + + Usage: cidr + +Classless Inter-Domain Routing CIDRv4 + +This validates that a string value contains a valid v4 CIDR Address. + + Usage: cidrv4 + +Classless Inter-Domain Routing CIDRv6 + +This validates that a string value contains a valid v6 CIDR Address. + + Usage: cidrv6 + +Transmission Control Protocol Address TCP + +This validates that a string value contains a valid resolvable TCP Address. + + Usage: tcp_addr + +Transmission Control Protocol Address TCPv4 + +This validates that a string value contains a valid resolvable v4 TCP Address. + + Usage: tcp4_addr + +Transmission Control Protocol Address TCPv6 + +This validates that a string value contains a valid resolvable v6 TCP Address. + + Usage: tcp6_addr + +User Datagram Protocol Address UDP + +This validates that a string value contains a valid resolvable UDP Address. + + Usage: udp_addr + +User Datagram Protocol Address UDPv4 + +This validates that a string value contains a valid resolvable v4 UDP Address. + + Usage: udp4_addr + +User Datagram Protocol Address UDPv6 + +This validates that a string value contains a valid resolvable v6 UDP Address. + + Usage: udp6_addr + +Internet Protocol Address IP + +This validates that a string value contains a valid resolvable IP Address. + + Usage: ip_addr + +Internet Protocol Address IPv4 + +This validates that a string value contains a valid resolvable v4 IP Address. + + Usage: ip4_addr + +Internet Protocol Address IPv6 + +This validates that a string value contains a valid resolvable v6 IP Address. + + Usage: ip6_addr + +Unix domain socket end point Address + +This validates that a string value contains a valid Unix Address. + + Usage: unix_addr + +Media Access Control Address MAC + +This validates that a string value contains a valid MAC Address. + + Usage: mac + +Note: See Go's ParseMAC for accepted formats and types: + + http://golang.org/src/net/mac.go?s=866:918#L29 + +Hostname RFC 952 + +This validates that a string value is a valid Hostname according to RFC 952 https://tools.ietf.org/html/rfc952 + + Usage: hostname + +Hostname RFC 1123 + +This validates that a string value is a valid Hostname according to RFC 1123 https://tools.ietf.org/html/rfc1123 + + Usage: hostname_rfc1123 or if you want to continue to use 'hostname' in your tags, create an alias. + +Full Qualified Domain Name (FQDN) + +This validates that a string value contains a valid FQDN. + + Usage: fqdn + +HTML Tags + +This validates that a string value appears to be an HTML element tag +including those described at https://developer.mozilla.org/en-US/docs/Web/HTML/Element + + Usage: html + +HTML Encoded + +This validates that a string value is a proper character reference in decimal +or hexadecimal format + + Usage: html_encoded + +URL Encoded + +This validates that a string value is percent-encoded (URL encoded) according +to https://tools.ietf.org/html/rfc3986#section-2.1 + + Usage: url_encoded + +Directory + +This validates that a string value contains a valid directory and that +it exists on the machine. +This is done using os.Stat, which is a platform independent function. + + Usage: dir + +HostPort + +This validates that a string value contains a valid DNS hostname and port that +can be used to valiate fields typically passed to sockets and connections. + + Usage: hostname_port + +Datetime + +This validates that a string value is a valid datetime based on the supplied datetime format. +Supplied format must match the official Go time format layout as documented in https://golang.org/pkg/time/ + + Usage: datetime=2006-01-02 + +Iso3166-1 alpha-2 + +This validates that a string value is a valid country code based on iso3166-1 alpha-2 standard. +see: https://www.iso.org/iso-3166-country-codes.html + + Usage: iso3166_1_alpha2 + +Iso3166-1 alpha-3 + +This validates that a string value is a valid country code based on iso3166-1 alpha-3 standard. +see: https://www.iso.org/iso-3166-country-codes.html + + Usage: iso3166_1_alpha3 + +Iso3166-1 alpha-numeric + +This validates that a string value is a valid country code based on iso3166-1 alpha-numeric standard. +see: https://www.iso.org/iso-3166-country-codes.html + + Usage: iso3166_1_alpha3 + +BCP 47 Language Tag + +This validates that a string value is a valid BCP 47 language tag, as parsed by language.Parse. +More information on https://pkg.go.dev/golang.org/x/text/language + + Usage: bcp47_language_tag + +BIC (SWIFT code) + +This validates that a string value is a valid Business Identifier Code (SWIFT code), defined in ISO 9362. +More information on https://www.iso.org/standard/60390.html + + Usage: bic + +TimeZone + +This validates that a string value is a valid time zone based on the time zone database present on the system. +Although empty value and Local value are allowed by time.LoadLocation golang function, they are not allowed by this validator. +More information on https://golang.org/pkg/time/#LoadLocation + + Usage: timezone + + +Alias Validators and Tags + +NOTE: When returning an error, the tag returned in "FieldError" will be +the alias tag unless the dive tag is part of the alias. Everything after the +dive tag is not reported as the alias tag. Also, the "ActualTag" in the before +case will be the actual tag within the alias that failed. + +Here is a list of the current built in alias tags: + + "iscolor" + alias is "hexcolor|rgb|rgba|hsl|hsla" (Usage: iscolor) + "country_code" + alias is "iso3166_1_alpha2|iso3166_1_alpha3|iso3166_1_alpha_numeric" (Usage: country_code) + +Validator notes: + + regex + a regex validator won't be added because commas and = signs can be part + of a regex which conflict with the validation definitions. Although + workarounds can be made, they take away from using pure regex's. + Furthermore it's quick and dirty but the regex's become harder to + maintain and are not reusable, so it's as much a programming philosophy + as anything. + + In place of this new validator functions should be created; a regex can + be used within the validator function and even be precompiled for better + efficiency within regexes.go. + + And the best reason, you can submit a pull request and we can keep on + adding to the validation library of this package! + +Non standard validators + +A collection of validation rules that are frequently needed but are more +complex than the ones found in the baked in validators. +A non standard validator must be registered manually like you would +with your own custom validation functions. + +Example of registration and use: + + type Test struct { + TestField string `validate:"yourtag"` + } + + t := &Test{ + TestField: "Test" + } + + validate := validator.New() + validate.RegisterValidation("yourtag", validators.NotBlank) + +Here is a list of the current non standard validators: + + NotBlank + This validates that the value is not blank or with length zero. + For strings ensures they do not contain only spaces. For channels, maps, slices and arrays + ensures they don't have zero length. For others, a non empty value is required. + + Usage: notblank + +Panics + +This package panics when bad input is provided, this is by design, bad code like +that should not make it to production. + + type Test struct { + TestField string `validate:"nonexistantfunction=1"` + } + + t := &Test{ + TestField: "Test" + } + + validate.Struct(t) // this will panic +*/ +package validator diff --git a/vendor/github.com/go-playground/validator/v10/errors.go b/vendor/github.com/go-playground/validator/v10/errors.go new file mode 100644 index 000000000..9a1b1abe9 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/errors.go @@ -0,0 +1,275 @@ +package validator + +import ( + "bytes" + "fmt" + "reflect" + "strings" + + ut "github.com/go-playground/universal-translator" +) + +const ( + fieldErrMsg = "Key: '%s' Error:Field validation for '%s' failed on the '%s' tag" +) + +// ValidationErrorsTranslations is the translation return type +type ValidationErrorsTranslations map[string]string + +// InvalidValidationError describes an invalid argument passed to +// `Struct`, `StructExcept`, StructPartial` or `Field` +type InvalidValidationError struct { + Type reflect.Type +} + +// Error returns InvalidValidationError message +func (e *InvalidValidationError) Error() string { + + if e.Type == nil { + return "validator: (nil)" + } + + return "validator: (nil " + e.Type.String() + ")" +} + +// ValidationErrors is an array of FieldError's +// for use in custom error messages post validation. +type ValidationErrors []FieldError + +// Error is intended for use in development + debugging and not intended to be a production error message. +// It allows ValidationErrors to subscribe to the Error interface. +// All information to create an error message specific to your application is contained within +// the FieldError found within the ValidationErrors array +func (ve ValidationErrors) Error() string { + + buff := bytes.NewBufferString("") + + var fe *fieldError + + for i := 0; i < len(ve); i++ { + + fe = ve[i].(*fieldError) + buff.WriteString(fe.Error()) + buff.WriteString("\n") + } + + return strings.TrimSpace(buff.String()) +} + +// Translate translates all of the ValidationErrors +func (ve ValidationErrors) Translate(ut ut.Translator) ValidationErrorsTranslations { + + trans := make(ValidationErrorsTranslations) + + var fe *fieldError + + for i := 0; i < len(ve); i++ { + fe = ve[i].(*fieldError) + + // // in case an Anonymous struct was used, ensure that the key + // // would be 'Username' instead of ".Username" + // if len(fe.ns) > 0 && fe.ns[:1] == "." { + // trans[fe.ns[1:]] = fe.Translate(ut) + // continue + // } + + trans[fe.ns] = fe.Translate(ut) + } + + return trans +} + +// FieldError contains all functions to get error details +type FieldError interface { + + // Tag returns the validation tag that failed. if the + // validation was an alias, this will return the + // alias name and not the underlying tag that failed. + // + // eg. alias "iscolor": "hexcolor|rgb|rgba|hsl|hsla" + // will return "iscolor" + Tag() string + + // ActualTag returns the validation tag that failed, even if an + // alias the actual tag within the alias will be returned. + // If an 'or' validation fails the entire or will be returned. + // + // eg. alias "iscolor": "hexcolor|rgb|rgba|hsl|hsla" + // will return "hexcolor|rgb|rgba|hsl|hsla" + ActualTag() string + + // Namespace returns the namespace for the field error, with the tag + // name taking precedence over the field's actual name. + // + // eg. JSON name "User.fname" + // + // See StructNamespace() for a version that returns actual names. + // + // NOTE: this field can be blank when validating a single primitive field + // using validate.Field(...) as there is no way to extract it's name + Namespace() string + + // StructNamespace returns the namespace for the field error, with the field's + // actual name. + // + // eq. "User.FirstName" see Namespace for comparison + // + // NOTE: this field can be blank when validating a single primitive field + // using validate.Field(...) as there is no way to extract its name + StructNamespace() string + + // Field returns the fields name with the tag name taking precedence over the + // field's actual name. + // + // eq. JSON name "fname" + // see StructField for comparison + Field() string + + // StructField returns the field's actual name from the struct, when able to determine. + // + // eq. "FirstName" + // see Field for comparison + StructField() string + + // Value returns the actual field's value in case needed for creating the error + // message + Value() interface{} + + // Param returns the param value, in string form for comparison; this will also + // help with generating an error message + Param() string + + // Kind returns the Field's reflect Kind + // + // eg. time.Time's kind is a struct + Kind() reflect.Kind + + // Type returns the Field's reflect Type + // + // eg. time.Time's type is time.Time + Type() reflect.Type + + // Translate returns the FieldError's translated error + // from the provided 'ut.Translator' and registered 'TranslationFunc' + // + // NOTE: if no registered translator can be found it returns the same as + // calling fe.Error() + Translate(ut ut.Translator) string + + // Error returns the FieldError's message + Error() string +} + +// compile time interface checks +var _ FieldError = new(fieldError) +var _ error = new(fieldError) + +// fieldError contains a single field's validation error along +// with other properties that may be needed for error message creation +// it complies with the FieldError interface +type fieldError struct { + v *Validate + tag string + actualTag string + ns string + structNs string + fieldLen uint8 + structfieldLen uint8 + value interface{} + param string + kind reflect.Kind + typ reflect.Type +} + +// Tag returns the validation tag that failed. +func (fe *fieldError) Tag() string { + return fe.tag +} + +// ActualTag returns the validation tag that failed, even if an +// alias the actual tag within the alias will be returned. +func (fe *fieldError) ActualTag() string { + return fe.actualTag +} + +// Namespace returns the namespace for the field error, with the tag +// name taking precedence over the field's actual name. +func (fe *fieldError) Namespace() string { + return fe.ns +} + +// StructNamespace returns the namespace for the field error, with the field's +// actual name. +func (fe *fieldError) StructNamespace() string { + return fe.structNs +} + +// Field returns the field's name with the tag name taking precedence over the +// field's actual name. +func (fe *fieldError) Field() string { + + return fe.ns[len(fe.ns)-int(fe.fieldLen):] + // // return fe.field + // fld := fe.ns[len(fe.ns)-int(fe.fieldLen):] + + // log.Println("FLD:", fld) + + // if len(fld) > 0 && fld[:1] == "." { + // return fld[1:] + // } + + // return fld +} + +// StructField returns the field's actual name from the struct, when able to determine. +func (fe *fieldError) StructField() string { + // return fe.structField + return fe.structNs[len(fe.structNs)-int(fe.structfieldLen):] +} + +// Value returns the actual field's value in case needed for creating the error +// message +func (fe *fieldError) Value() interface{} { + return fe.value +} + +// Param returns the param value, in string form for comparison; this will +// also help with generating an error message +func (fe *fieldError) Param() string { + return fe.param +} + +// Kind returns the Field's reflect Kind +func (fe *fieldError) Kind() reflect.Kind { + return fe.kind +} + +// Type returns the Field's reflect Type +func (fe *fieldError) Type() reflect.Type { + return fe.typ +} + +// Error returns the fieldError's error message +func (fe *fieldError) Error() string { + return fmt.Sprintf(fieldErrMsg, fe.ns, fe.Field(), fe.tag) +} + +// Translate returns the FieldError's translated error +// from the provided 'ut.Translator' and registered 'TranslationFunc' +// +// NOTE: if no registered translation can be found, it returns the original +// untranslated error message. +func (fe *fieldError) Translate(ut ut.Translator) string { + + m, ok := fe.v.transTagFunc[ut] + if !ok { + return fe.Error() + } + + fn, ok := m[fe.tag] + if !ok { + return fe.Error() + } + + return fn(ut, fe) +} diff --git a/vendor/github.com/go-playground/validator/v10/field_level.go b/vendor/github.com/go-playground/validator/v10/field_level.go new file mode 100644 index 000000000..ef35826ee --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/field_level.go @@ -0,0 +1,120 @@ +package validator + +import "reflect" + +// FieldLevel contains all the information and helper functions +// to validate a field +type FieldLevel interface { + + // Top returns the top level struct, if any + Top() reflect.Value + + // Parent returns the current fields parent struct, if any or + // the comparison value if called 'VarWithValue' + Parent() reflect.Value + + // Field returns current field for validation + Field() reflect.Value + + // FieldName returns the field's name with the tag + // name taking precedence over the fields actual name. + FieldName() string + + // StructFieldName returns the struct field's name + StructFieldName() string + + // Param returns param for validation against current field + Param() string + + // GetTag returns the current validations tag name + GetTag() string + + // ExtractType gets the actual underlying type of field value. + // It will dive into pointers, customTypes and return you the + // underlying value and it's kind. + ExtractType(field reflect.Value) (value reflect.Value, kind reflect.Kind, nullable bool) + + // GetStructFieldOK traverses the parent struct to retrieve a specific field denoted by the provided namespace + // in the param and returns the field, field kind and whether is was successful in retrieving + // the field at all. + // + // NOTE: when not successful ok will be false, this can happen when a nested struct is nil and so the field + // could not be retrieved because it didn't exist. + // + // Deprecated: Use GetStructFieldOK2() instead which also return if the value is nullable. + GetStructFieldOK() (reflect.Value, reflect.Kind, bool) + + // GetStructFieldOKAdvanced is the same as GetStructFieldOK except that it accepts the parent struct to start looking for + // the field and namespace allowing more extensibility for validators. + // + // Deprecated: Use GetStructFieldOKAdvanced2() instead which also return if the value is nullable. + GetStructFieldOKAdvanced(val reflect.Value, namespace string) (reflect.Value, reflect.Kind, bool) + + // GetStructFieldOK2 traverses the parent struct to retrieve a specific field denoted by the provided namespace + // in the param and returns the field, field kind, if it's a nullable type and whether is was successful in retrieving + // the field at all. + // + // NOTE: when not successful ok will be false, this can happen when a nested struct is nil and so the field + // could not be retrieved because it didn't exist. + GetStructFieldOK2() (reflect.Value, reflect.Kind, bool, bool) + + // GetStructFieldOKAdvanced2 is the same as GetStructFieldOK except that it accepts the parent struct to start looking for + // the field and namespace allowing more extensibility for validators. + GetStructFieldOKAdvanced2(val reflect.Value, namespace string) (reflect.Value, reflect.Kind, bool, bool) +} + +var _ FieldLevel = new(validate) + +// Field returns current field for validation +func (v *validate) Field() reflect.Value { + return v.flField +} + +// FieldName returns the field's name with the tag +// name taking precedence over the fields actual name. +func (v *validate) FieldName() string { + return v.cf.altName +} + +// GetTag returns the current validations tag name +func (v *validate) GetTag() string { + return v.ct.tag +} + +// StructFieldName returns the struct field's name +func (v *validate) StructFieldName() string { + return v.cf.name +} + +// Param returns param for validation against current field +func (v *validate) Param() string { + return v.ct.param +} + +// GetStructFieldOK returns Param returns param for validation against current field +// +// Deprecated: Use GetStructFieldOK2() instead which also return if the value is nullable. +func (v *validate) GetStructFieldOK() (reflect.Value, reflect.Kind, bool) { + current, kind, _, found := v.getStructFieldOKInternal(v.slflParent, v.ct.param) + return current, kind, found +} + +// GetStructFieldOKAdvanced is the same as GetStructFieldOK except that it accepts the parent struct to start looking for +// the field and namespace allowing more extensibility for validators. +// +// Deprecated: Use GetStructFieldOKAdvanced2() instead which also return if the value is nullable. +func (v *validate) GetStructFieldOKAdvanced(val reflect.Value, namespace string) (reflect.Value, reflect.Kind, bool) { + current, kind, _, found := v.GetStructFieldOKAdvanced2(val, namespace) + return current, kind, found +} + +// GetStructFieldOK2 returns Param returns param for validation against current field +func (v *validate) GetStructFieldOK2() (reflect.Value, reflect.Kind, bool, bool) { + return v.getStructFieldOKInternal(v.slflParent, v.ct.param) +} + +// GetStructFieldOKAdvanced2 is the same as GetStructFieldOK except that it accepts the parent struct to start looking for +// the field and namespace allowing more extensibility for validators. +func (v *validate) GetStructFieldOKAdvanced2(val reflect.Value, namespace string) (reflect.Value, reflect.Kind, bool, bool) { + return v.getStructFieldOKInternal(val, namespace) +} diff --git a/vendor/github.com/go-playground/validator/v10/go.mod b/vendor/github.com/go-playground/validator/v10/go.mod new file mode 100644 index 000000000..53c4820cd --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/go.mod @@ -0,0 +1,12 @@ +module github.com/go-playground/validator/v10 + +go 1.13 + +require ( + github.com/go-playground/assert/v2 v2.0.1 + github.com/go-playground/locales v0.13.0 + github.com/go-playground/universal-translator v0.17.0 + github.com/leodido/go-urn v1.2.0 + golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 + golang.org/x/text v0.3.2 // indirect +) diff --git a/vendor/github.com/go-playground/validator/v10/go.sum b/vendor/github.com/go-playground/validator/v10/go.sum new file mode 100644 index 000000000..4b00cf667 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/go.sum @@ -0,0 +1,33 @@ +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e h1:FDhOuMEY4JVRztM/gsbk+IKUQ8kj74bxZrgw87eMMVc= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/go-playground/validator/v10/logo.png b/vendor/github.com/go-playground/validator/v10/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..355000f5247d50e979cf5db5de38188ef4649a34 GIT binary patch literal 13443 zcmbVz^LHiB^LK39wrv|5-`KWoTN~T9%?&s9Mte8f*xWeZ`~Lg^&kxU>)6-|>Om|IH zcUM=vsybFxSr!?A009gP3|U@IN*z>Z{#W2&KzAW<*L_e0I`lYd#@osT8GH952<>}$=#%H%txCM^!YLYIPG*~?*PoX}XfpXD#$r$vg% zUJ@M8Sa6}E0bs?J()q&Aj2!Xx^!*X7wf45!j09TZ!t8tmiZrhYa~rM!hkOgG3jNOL z$t%hsiEZp{`uZS=pUq3db%5@e>LpqUR%RzF4Fp&XYtszH3NMj(x&yBfN!B@dDe(i*$ zFaI9z`VK(*+SzZ3Km$V|gFS(NfPUS&ND}#zKM&MsZR;zy@SJwDwy5moK{eH84yz0`{Dhd+jynpps_Wzr*Rl)ctU%7jk!=>D(g}(sK zP}YV(B1|d_4NeR~4qlx?36qk5ng9u-wt+@fOTlvqhk>WQ%HxtjxBspSS(-6OpP;_x z73LX72W9oA=yUj&B*sjt0z}2U44ACNztdo!tbwR&pl8vCLjf!@HDwcP;p{h$JYsrk zE3Pp7L^A>!xwNPSX+2zrQgJ8|CCr11n`u|=C}{? zlHLN%{DxBD;+;&!6Se$BciUB@EQ~Y8_ZT-Q&4p}|A3l`R=AVR9Kt+V~a3a3V{l=)gHBK2op+X}BW7o(X1K2eRTZ^; ziO?#OmuWkXeCj2*{H(1C#qnQ>tz|Kq>*#cF7g)+?3G3(pVB@N37)9YHmYxa}CVb-% z@SHf5CnrEMiI6-&fkkOb9ema$%-Ld}qN54xNf|CDt?#e@Aec&IEcEEpu3Ak5Y z>0@s)b7yHEr~UCsek0JVuF%66MBgBxj-d!wQu4Evlx;p|pZG{&=4VV)*pIE{{f=SO z;V$)QC5ae=-6(Nc68{(S;2ymNVxIiwAs9}A@vA2?55kfV(qK>S6caF|bywd&p8ydL zB}xJ~6Di7u^Xl{s1E&b!{FXH0#>1$=MTNA7+vd;Pm*#B`iYRecX>5H7^iqDqQ{GQH zKNNh0?p}h?nEjh_Ft*^M`+(a;L*rKgPp=E!!}stvVxG|YKY=Yh25?+RloCoyT3T~2 zr1!?YL58}YTlyj1sTl_H(oBl48zJPwJFr9|r(>T7Npe$Hyl7Pm(dZ}|x;n!X(4wtZ zeNCCz4LTygy(gl;pV;dp+-Lpq=weiOW2Z_Lt@RNd_s43tZ>$@23^%6`T}rfexq!%# z)e|oR;kRY~2fW@V(in6QZzE*6TubN0<>|v2xiX)v6->d$no+&np8 z=DZPj>yPVL2Y2U^MJuW`R8R{2@Rg&}`S+$yEgsGihuW$3 z2y*A5Rm-TCh*xaY#R1q)HfzQS_%fPHCL7200}u=S#u`m zvW%z6F_UcmBq~g~s|d}v6$Q?noL`Z(X;@Q$i>kw^bF}I3A8QQyAE_nz-`H~a9o2}- ztPUs0q(DTZ^Yx3oA6C5I?{nHCX0qfW&C2r}h~~slhe!$_Hh1WB`w?_|D{JsF#zpgf z;F^yDTZs-$?`myzyDj@=x}@L4b~_KtUWzV+uiL${48Qh^ZdoywlRNR<*WLFY>v0fq zeWQS`g6{8q<#x){FrCbZlcTAh?+fw^gB-2LpRnlF^}`$D;(KxTOLn;dXs3Yl(uW$g6hyw3{wZdTVg|kdSet`n+SACG=!&%#r zl+Ha_MzD$G>iQb%tW~Uus7-zOMPI__Qo92dK3VKkGgR#;-!`uw++~l5J?MT+BUCv3 zcItfZO)uKXlipj1XD?F|>3frjQWA;$JV>TcHHrcrR=Ql;-B}Bb4;f|uVo(S7xL(QP zE%c8{bnchCJ%aG)3x8gx0`Hqq`eapfWqK`~Ec6Mea`v0{J?4~x(S2D#-7sMBR1X;{ zO-QlMUsyD!#jI^8v6y2J8TinHz_zsU@;3|?TfT0F2b2A7aX&aEQGc;IZ>UV*cToht z27rX9TA$h1ZMxk`KX|$6o$)=$PxIM3k^FhGmiJMaA3fBM6(M#efLJ9ucfbo2TkroP zxE4Dv?B_Nkef;0LYVj3nk|C9-MLv{y^-tY`SD(5phR2KMn}9@?I@SQ^#m* zu>9T8l>)311+yf)qc`Zp%3Cp9FS4PN18t5zZGy-!{f^5eJQA&Fb>Llf4kF^OZ}Tu z=jyadHyzlQLaf@_eAf{CFb}_v=Gj*BLc$VrMAe%hAL@6JaXkt^p&>`#SXjBAX!3#; zZ(sPdwtkoS08=HP@lruhHm*fIlu{y~LTu@+@;u*LBUU~nbQ7S{eH09xc5^_Xtu!q@ z6^P#P!A-(qwW30Th;TBWNp{b1+lP1D!2Y2In`HJ8=DTs8;1)Y~TE2Tco&agHaJGJRtE&{R2y^@Gnpny|$qxXc2=Ps$@$~9mxET{1Q$%i!i#frlzo0UOe_Y zMxNvLk98G99Jhl+-rMB_{OyQsE?70nTDUTZf%>P_;7WAz0a+FG*4EALUD*p3UWt_( z3yZrIM%L#2dleC=K}bD*)-@4195ctqtgM0iQACxJ?F&0O<{t?%^dK1pMJo*-dHj;E z%Vt=-^pa?Z(eb%_rx~$m@yuyvX^t!IvZZ&&LJtY`#;x+PXT-Gb~(3>gv;tf~4N37#aCX z-tW%A@AM^Cf&WBJl*|wp9s0RGq_rCL)=Klfe3e8BUY|7FGZM)#ZdT04zyZ#{*|<&8 z+dsxt9B+krqDfJbykPO==|6C|yAi)*jkV&C{Du7Y#drV0`{jGeFSFOANIz#B-ncz= zB?v}IR2j5eCJ`2>yNMN9<}h!(e$i><|KSPd(Ff^lC-7pg&G~QJ8T0JD-37gq1-K+V z;1?GW_CVrGX3V0m%yvW#+uGLl^01=9zyGrgZ5fJ6GeeULS25^4)YCL=-Z!w`r$tH= zj-ikdG|nI;y1wvvk2)h7^hL0Xvnxw)Y1u}&9Vv%k1};Z0IqW?AQ8)B@QOUa?ayt31 zX^`u?pa(0F6YpbrT;e2^auw#%0BX_ub?}_ieYF;4rGRd*1_vX-+Xv9I&yR@ zZF(3;`kXg0vHdTn$5Ie;gpS4@djPPJ60-Z_1?!DwQz9NO2jKDbkZ^oJbQVc?6v#&0 zAW|kWVx3>tw#eTFT> z$S^|&ZWo)7Lyes7r)@VL=2A|$JW1nr)ed9~F&(_uHC1f;YO_5oj&Afj!0(9M)7c*f z$rra8Ji?1Bc%e|v^CcS{(B7RRCc7Wrrs=I7)f#8IE{rDM)o~`?Y8!;pSaL!lLHCZ% z2RHV1+l?QSk}_AkH)`_s#(xKJ?jwKC`csy*aOGtV&`hmHIG<5hXtzm+=iQkb{pyZ< z%;RxAP~z<%lTo;vNWd4mn;*jW+1tVM*tJ0j)}5|LR4#M7r{PkXJaW;yHBr@9pIuiG z8V1M4Ci1&Z6T1I>(C@#6rJT=}4_MR%kp=0LFD)iInpDCFQ;rm ziA+yF-c%|NyQ8);!vM6)#xu8qylq9(nieBl!@e}S5}R@)8LEU)Q|o0z)Z3vP);l2n zvCG7gtlR2XtjF1}fhC?!r{BZ4#sNRJi-Kgt?Rd(rePR;wmE}rqM-z^#fA_=ptrRR~ zqS-A)prf=s19gdfPBn?#&j;!a+e1!wX7|RMt|@0KQ_^z7My)2imN}+? z&Ro$-#EC#FN(11}WJ|$X)eQ0hf7Xye3AhvowX$0|1+x+uY~g?ccTKswq+io;vFNd6 zr7#C9z4;>@b-tg$UzV@9U5hK{mDW{6%YjDa>FJu9Z8hZyN}pshPN=W>uI!^Q$kMqm z+}IiQA9sdYvoB1IiBfX#m0axM;6c8}N>K$tD8kW56>r1h5t8J!3X0YAj1|Aw&~l@A zxf2^V`F;A0W?i!7*yQ+#;?4!!1ZQrBEI$9+-N z6P_sTrV&}s7MX}77Nq}~KmQy&5T&0ZWX--y(<$MEOLGIm!7k)jQOWggN0!Rg^`Bj3z7;;PquhhFnoqJeAbUfHR~d2;C{_De_Ogp81i65*qU(X5fweyv+B#w>RW0 zm&_w7Zm z`YWfGxm^7MK^A>0nDITy;gz^Lzudv@BC>+^JOVExD%|?aa0W#9qe``&CHjF6vqV zB8&tSqdhz{r4(|w3!g-DZKg>^k=!a74kk`D{P(2>&R~8kXP)^Ns3jTlnM7|b=I@?W z*3YW^eW^H83@t)lUE4LAm#(ICbAZTgW?ohHU;Ok91QJvMGp6fHL|&TQb|ICaXi{OO zrD__`B5>e)a6orX^!P5CsJZqQhI9-E6v4*!cC1vUi2?G|44quG+rfLS+7ZX;meFoT zMa+fb0pH+x{|o<7L^;cM5J4}K*7m~l#N2_qa(YL%G9rt7(fo;z(CaJOODkCKPA9`Bop?dIYFl3wBU&l zdqN~tz4k#i1&+HT_N>0Qm%uxG;}xqfaciIXXK|67VNTu0yzMz6pt6)m~ z7y^EZ+(wMlK9yMiwkhp&>cmXQoRzGf`o{MmkrGaxJY*%s0Dza_WczOvC8IXtY4zGE zoAfaSy~MQoF^;l5RWb}DJq*S_&wp|_lkCAaR~iQkooeXo>yX+1hRw(?%#&k0 zm|IG1?>%mpBmLr(*DC>|Vr>bN;nKsdZLlS4*_h%G1n`;;6|sE0rg^T9KG)Swoz!z& zJra776~H1@daS@C;jzI*0~;x5(E1Fpo!nLAV=SmM;Q>*#bxdaC<;wO{!IV4ONwN}f z8NK=|T>UjQ5%%_C3KAVb1}wC~Feno-GH|l>&?HI*RX~t*0XtJ~S0R6Kst$kD*7mw& z{mR31-KopNO5bKJqku0*PjnBKFE_1y_|tmDtiN7SF!NZpwNb5#sV6w^bu9#1B5K7# z0N}))422cqc#^(uW?wJU*^KLe?VU&(*c6j;U6^LZcQoK4POU1{yKSH^?k2$VGLEWB zog!7!3_Kl%apr)=%d3Rpw_4BDLZf!1tIdN&D;Yg?X2&jp0vSBqbz)XX`Wu2%`IWJS1s3lhZ7H--?PJxQLg$XONw$8qE z@4G(S5}8yFwM`{Rdz9E__ZH{{Gusj%$t#w4+ac&G3wkM0n&qZPP}J9r*av-Zq- z%NdhH1sgs~Oq9{PLkkxDiK6MQo36OTZrr&F7k6+F*a}5hV<;1u+B`QQSF#ti5`pI3 z@gvRFovLjNAri8~54co-plD$yQSX*b95r9t@B%~eI2r9NqXw{mGRKtdG5*|wk~yO zW)?msL*Rlpy{X4OLKx;RTX5`t1RY4!(bJ`a7rJ?=xM7fwcCL;k7j%-*cj9NLfbojM= zsFk;>hWcz(m*MFBO66YXrs>D4!BqdqWy_oZ>c&}P@|L*1a zVk(-?<3wy?;t9XLM*dyTj^XbicaVIM%BJouomO8jaqzV51LbTf>Ywq=#cXFtO*-oC z$O(ezf}G*);p^d{5Cc9apUxWE7RHp-F$ne9h?~C!5ok6%glp3JFOLJd2A-Fm@I}Id-s z30mMGUBh}2LTd&+z4*b8fB8hNy+ke`kmJbFXYm9=Ud96znCvs;Xa*GB`{*jEPp($~+DX+RP*)$prD03Z~ zot>}r&YE}7>5Wkie5E(*NC^ihU`EdF6Ezw%Y_=C72{{2}2gipm z*Kp)Aa`c2J&xYYZ876z^z{Zt5pR2|?72(fT&g8MYt4OgJ8>+ZDr_oB=>9xhEw%27Y zdZWI$a9GrD@5Los+iFbyl507c-TMRH3x)MMT{uczOKy3!ra7;z>2})#CRqJW`Jr@s z)uA36KCgr8c)q);G>N2B3p4kyV4NWuoxzls;Xqq+eg~fI$A3otuea;KAQGd#L@`_H zA12vy0BVLhln8XMstlX5M43pjjcZzAO3GUc$zV-2^wq;7JE(EwPLoa!*2(XgxwSlx z2_J0xvN3`hnHWW^kuO7z`%AW8B~t4yhgSPHzS%y%$=}V7s+fZJ0#{k0^O+*L0|Zg4 zfX#xMrgl!s6Xo=iNk_&jq83fy!YAvDSuT8GO6%m58Pi*2YUR|;TQb;TdN=rqTpKIZ z-p&;$N{lIA6N##--%mV~CtEEa4=)@J`4YoT@$9}xH&qcX>lvW>wj*s%n1(JbS$r*d zK9ca~LMdTQ7v!Y34Q6Zh;50&tLX-E@$j3m@9%{iLEyrjeeM_lyMFuI6_pPMcUemdp z%6;iM!PP84B5GQ70B|+R^|BqipYC7_%BZRXP;eo#KZ6EBvBzlpn}@P3p}|8#I(4 zul0x<>TxI(s0g?8v|a89+n1)Jx##kH*g@FY*niUw?{Sqmm)Xi-;WBKlUieBT&& zR3bfdZ|yI{!e~+H2q@uF@=N3k*$H|RZpj@5hvmw~_Py+wV14-k8ynOVi-{@1gB;!g zop(C8F2W!)$gD|@VYtF3M2`gl44ny?45baF7yCBl4PB@{E_nNFz6{2b zr3nxXdd~S*FLLzzO#wytqw(3PI0_%D56fEkMQPca=JX$gqH9aJ{ZpKvk8&kz zVxpVpl56nj^P5R4Lm_KK_6WeFW0cD?IY zZu%H?$YfA5eBYF>2g^}+ig>LD^PgW_C#jRJ$|LNXlubK_b)pT9uqy)nlg?;4DG*(P@1w56aN4^TZM6bWUyCM1*1Czy}HIA#1w25=*y73 z^<0dmnQg(qFmL~t3lPYXx1H8~Zxg@d(x{4t40F=4{->PSRp{RzUszJHDlXejc7G)lY;8~fKsU-hk(590&9v& zFxr}ZKJqco?V2qb5bnkeLoQVbyu32=?$Kwh?;N0OiGN|7=6`RkdoJ(JT@djZ8dUCb za?z#~&v8Fm?V}L${Zr&aQ8JC0EF>X56u4pkjt-w^+1bG$r9f1OrJ$<6qE&iV7_}kN zQweT&?sbJOanV*#E0|bLjkCC(vOm|{V<5MsimhiSt-uxzjxz9SMUvMQK{`~RZ+v_m ztb%l8kCZHm@?oa?Mb$L;Bv2$(K*V=w5SD>$*ITQ!W*n%SOXJlQO>pLoRxLI#%aHpA zmYUE<8T)d$P6F=j$+`7W&dSV^FR;c5cvU=igm6$Q0Bz?EE|?msF@JEX89DoMOUuTr z`R{3)%|h-VtA7`wTgs8)s;PQ6$6IvQTsUzrO=Y6G!D)=Xx9w0$Gba6n1y?{dK@SoK ze54vzFH|9D2~QbpUTb_H)IYDfa|J}Lq9?%CFHbsIB8(vc1WUKbA`4uL=6b&iurle2 zi(4jg{2hA5K*7uKNnBA0KV4x*3NO0jb^QuEWV&39?%#Ve9aEQ)AWUUwycBSf_o%|` zTcm^fRU(B}U8I(N*#z&8fsGAkKpBAt5@UnRa>N{07@%qaw@bs$K2R5VP#c$2^Q%RQ zVuW0slT(*~U8kk?duR;_jOTpmwrrbx->n}JX^_|@zO|a)Ik@>X7HOQ(!z(#CF@`^7JGf2aEfn1S0v}oHKo%uVUMDjl3<>f#kD$hfw(^nW(aRB6AaG-TDAh%oHjEJ=J$;2s zNEtTUsuZa{ji(_8)1j8gUOb~B9fXBSc)M%Hfsu<`&aJGt{{#rePUQ zno1K;1#~H`?Rd#V$}MtvkS~UOgsP~@^u^u{ua{D3V=Fa{2IKwI7>|!cOUteP#X!Z_ z0=9Z(Y!#lhZpJ0TKxMl6%R?6~lt!EvNztb>dbADO5-ZkYS1f(TlqF6|c^Euh&Dojz z>7lTs0ClkTp5>|*~0 z_E{QdSna;}KOcu@*xbF3xyhffB&XIT`p{6hS*F))v#>=YEtJB9Cr*b2YtK$qd9@hS zP$+_%N43)URxgAF_fx!4#yRV$Y6W06mtQ<`6RwW>A*AaHVyEylR` z2)a@71;tKHeL9Ik*CB!~)Qw;=Fl6gGLG;?;LTeerep>@XsgVh4FN73z`?Z=yj9;v% zBxr{}l;h6)J_enD_Xs$w_!zAMpK(;B2{L7;9924=)DeQQG^=eR>S_sq&5Q6tF?!ZR z5Qknd!5HirCsnTIK}aSQLQ_)EQtb#JSG@QUVD}mpOr(idOXutsza|QP5K1WjdsWrs zkY855Sph`j8nzw^f)v# zwC?)Bwo9-}lWq~G9ow>)3->q?FnXQ<$)Y*Vq?hu8MmH8aL1yGrPXCBBQZxc2c}gM_ zazx&=nWtc(!DSU&y7M>VVWHK|f42Z4$ zgM>V`3TB$s+ZXAeFq65x>B{Mdc~^YySq_px;%mpmr2Huz$C}=8-KJN$50%RxgBJ`5 zP&~~O#I1B_1NXRe11=!ZG+8?m1fW)N1v3M~LuJCB_sLZ){E+CtNyJ{zEW!m2t6~4F z%H681*4phFkdH+Wb0LC&2rz`YF05QDpj#b^CS9c1iNN6yizQhsjIRb7ouDlN!>cKa zg7n0;K8z}XHxXi2Ecua32b&VylFo$*L~5$eud(~1>99o0y8R!-= zN_$<&9xytjEu>6segSMd2}6=@3VVB@GhvK>e5(3kr&=sV&}-F69b-m9?Ip^S&_1rK z)REQFT(LR2P6B9EqR$$Fjhw z@@PRbM9s{1I>jgtQ$A{Too_2xnL(GQD!IAjpSUUis4yB{sY$2}MT}d+!IfS_pu32*B z(%fM}`E)&K1vl5$L@*MaDwYf>96D4c;kb|PKTS;+YgrY9Ko@0Q)3$VlDZzF2D5qzp z3ooIC#iZNaZ8P4)aA|hlnC{a}TPrb~vTu2a+lFss)C;W1zZ926mndG{GXR|B)WfV} z(w*ugyn0Rs7_}^z1)X+M+)NXwrEUSMFwNFX_HD7RuV z!p-X54t?QhInx8)RxXg9Gk>_MaF-=XqAoa3dpy^>ZnMr+Cdt={MR4L zlI?2b=gsG3&Ijqpwy~pkv)Y=9n_|E|4ghMbhOV!U-CR;Kg+YdeFwVdfiyc*SZ33P= z$^Lo3LKgdGzEro#sbQm;1h}cbE=gD;VPV$RSAC(NX#P3$r*wNcQV1ac_8s?7<*v7Pd5{UE zcj<@b8s(}ugB+l6X(Y2RciZYZr@$lnh&EYVD&Q;@IV#m~)&N`>i%eC8QGg&uMXI=s zQLp~@6So9V;*{|ZngyWwRLWwzOCrXEh&`MazZ2wm)kNAKFDMMTX_jGA!oO_hJ-YRa z$^tLI^PHPVUu(o9eNPBKBkY8oY*JvIpawcN$Hq>rF`BD0kq%ngOwjI!^ei&^{U1>= z!^&Yoa|y-vSLjPKIP(7C?$zHcE6TomiB6zAM~x|S=v76w%>=hQ$rVordZSPGH_r!u za~NE4L)9W;Zi;ur8=N=;g2x`9ew-T?zd44CWDowkmcCKC2ZEkwyy{Cgf?DBwA)VTz zfJ;~J*q-_{>l2=#Z#w%BHa5yiZUb#89mRN|$!s*X41Sj}m@%Y%D8!j#oex}HpuLkT zi_70a875WHbj(&5q=Cb3*-Fn-b_=@DxVxh?M%~C#aO%I9A zfDhFlS)5h5m^sgc`qgo&LB;4CbJ+4Do$EQJL-i45cQ|%b4D${*iHS6$Z!lFja4{Z& zm_cQ;+$jmX_Ipjb?|qoQbz3TEQd@UgHO-t8i&2#uH*%Y+@t8HptKD;^>9mRb|w53r?9PIIfP$v|io_ z*cIdNpF96_?%r4O-CUdtgPsVgQ7~>`(Iv=~Vz&=N0I0@6UyQtkp156a;eRI#QPSg> zAcDjr+gD33>K!@@N;gSJr1%xowp?n{?=lK{fWo0V0xrMs(WD=)!hLrQ-FS z@!mYs_Wz~@&+paJijML41V^ce^;23KtbY_xNJKz@7&zTeFEoHm7;$(UI=YQFs#$@ptk!EQ42Y4FfxEf@TOsVt37 z}4AVbnC9Ri){mLjd@o@_vA;wzpV8G_ypN3Y=M08M6ZfM2Xtkpu^=A9}u!A?A z)0NYU%Y#TSSE#tnm?KTmo4 zd|UY(Tqjl;m?`7^R${$QG*ZIW=)p?(%lWYXyf8k9{rdP=)z$ty1cAPSJfgXTOPXN1 z^D-Pknjk$jWsP@0+o&sn#8=lA=)a-i-j|YE5DwZ9s#vk3w-c?}%C?C;Q@<(1;-i>L zl}SN#MAX*71GGR14&RiPaHe@3srrMMPYHjml+|aGSDU_fRi{h1_NlT;MHYR@D(IR3 zt6;N#m)Tdz?)V=$7s!&Z;ZdmJFd0m>InR~Umqz^)eM=coLx(q4tw%~Z0U73ho^=Mj zF)fREGIOlh6`*ARYk?K%ir!a_Yvw9snW){J#zyP<3!#qD8Q_2~d|so+(Xc54smil}_4kGqEK^l7mVKQmM+ zBR70H=a2QXGB!3jg`P(Kg~lE^KQr-y_EVJi%}cMMzb+f?)6-|yp{QzpZdk)-9EhXzQpEZ(ZuvkddnL`d4Y{JQ>J+Eg}}BSGkUqgbqYuem+;8++@MM(|;Eh?pTI_O&4Gy6PBOnIB)^cWfo! V^Rh-@K?jDw` + splitParamsRegexString = `'[^']*'|\S+` + bicRegexString = `^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$` +) + +var ( + alphaRegex = regexp.MustCompile(alphaRegexString) + alphaNumericRegex = regexp.MustCompile(alphaNumericRegexString) + alphaUnicodeRegex = regexp.MustCompile(alphaUnicodeRegexString) + alphaUnicodeNumericRegex = regexp.MustCompile(alphaUnicodeNumericRegexString) + numericRegex = regexp.MustCompile(numericRegexString) + numberRegex = regexp.MustCompile(numberRegexString) + hexadecimalRegex = regexp.MustCompile(hexadecimalRegexString) + hexColorRegex = regexp.MustCompile(hexColorRegexString) + rgbRegex = regexp.MustCompile(rgbRegexString) + rgbaRegex = regexp.MustCompile(rgbaRegexString) + hslRegex = regexp.MustCompile(hslRegexString) + hslaRegex = regexp.MustCompile(hslaRegexString) + e164Regex = regexp.MustCompile(e164RegexString) + emailRegex = regexp.MustCompile(emailRegexString) + base64Regex = regexp.MustCompile(base64RegexString) + base64URLRegex = regexp.MustCompile(base64URLRegexString) + iSBN10Regex = regexp.MustCompile(iSBN10RegexString) + iSBN13Regex = regexp.MustCompile(iSBN13RegexString) + uUID3Regex = regexp.MustCompile(uUID3RegexString) + uUID4Regex = regexp.MustCompile(uUID4RegexString) + uUID5Regex = regexp.MustCompile(uUID5RegexString) + uUIDRegex = regexp.MustCompile(uUIDRegexString) + uUID3RFC4122Regex = regexp.MustCompile(uUID3RFC4122RegexString) + uUID4RFC4122Regex = regexp.MustCompile(uUID4RFC4122RegexString) + uUID5RFC4122Regex = regexp.MustCompile(uUID5RFC4122RegexString) + uUIDRFC4122Regex = regexp.MustCompile(uUIDRFC4122RegexString) + aSCIIRegex = regexp.MustCompile(aSCIIRegexString) + printableASCIIRegex = regexp.MustCompile(printableASCIIRegexString) + multibyteRegex = regexp.MustCompile(multibyteRegexString) + dataURIRegex = regexp.MustCompile(dataURIRegexString) + latitudeRegex = regexp.MustCompile(latitudeRegexString) + longitudeRegex = regexp.MustCompile(longitudeRegexString) + sSNRegex = regexp.MustCompile(sSNRegexString) + hostnameRegexRFC952 = regexp.MustCompile(hostnameRegexStringRFC952) + hostnameRegexRFC1123 = regexp.MustCompile(hostnameRegexStringRFC1123) + fqdnRegexRFC1123 = regexp.MustCompile(fqdnRegexStringRFC1123) + btcAddressRegex = regexp.MustCompile(btcAddressRegexString) + btcUpperAddressRegexBech32 = regexp.MustCompile(btcAddressUpperRegexStringBech32) + btcLowerAddressRegexBech32 = regexp.MustCompile(btcAddressLowerRegexStringBech32) + ethAddressRegex = regexp.MustCompile(ethAddressRegexString) + ethAddressRegexUpper = regexp.MustCompile(ethAddressUpperRegexString) + ethAddressRegexLower = regexp.MustCompile(ethAddressLowerRegexString) + uRLEncodedRegex = regexp.MustCompile(uRLEncodedRegexString) + hTMLEncodedRegex = regexp.MustCompile(hTMLEncodedRegexString) + hTMLRegex = regexp.MustCompile(hTMLRegexString) + splitParamsRegex = regexp.MustCompile(splitParamsRegexString) + bicRegex = regexp.MustCompile(bicRegexString) +) diff --git a/vendor/github.com/go-playground/validator/v10/struct_level.go b/vendor/github.com/go-playground/validator/v10/struct_level.go new file mode 100644 index 000000000..c0d89cfbe --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/struct_level.go @@ -0,0 +1,175 @@ +package validator + +import ( + "context" + "reflect" +) + +// StructLevelFunc accepts all values needed for struct level validation +type StructLevelFunc func(sl StructLevel) + +// StructLevelFuncCtx accepts all values needed for struct level validation +// but also allows passing of contextual validation information via context.Context. +type StructLevelFuncCtx func(ctx context.Context, sl StructLevel) + +// wrapStructLevelFunc wraps normal StructLevelFunc makes it compatible with StructLevelFuncCtx +func wrapStructLevelFunc(fn StructLevelFunc) StructLevelFuncCtx { + return func(ctx context.Context, sl StructLevel) { + fn(sl) + } +} + +// StructLevel contains all the information and helper functions +// to validate a struct +type StructLevel interface { + + // Validator returns the main validation object, in case one wants to call validations internally. + // this is so you don't have to use anonymous functions to get access to the validate + // instance. + Validator() *Validate + + // Top returns the top level struct, if any + Top() reflect.Value + + // Parent returns the current fields parent struct, if any + Parent() reflect.Value + + // Current returns the current struct. + Current() reflect.Value + + // ExtractType gets the actual underlying type of field value. + // It will dive into pointers, customTypes and return you the + // underlying value and its kind. + ExtractType(field reflect.Value) (value reflect.Value, kind reflect.Kind, nullable bool) + + // ReportError reports an error just by passing the field and tag information + // + // NOTES: + // + // fieldName and altName get appended to the existing namespace that + // validator is on. e.g. pass 'FirstName' or 'Names[0]' depending + // on the nesting + // + // tag can be an existing validation tag or just something you make up + // and process on the flip side it's up to you. + ReportError(field interface{}, fieldName, structFieldName string, tag, param string) + + // ReportValidationErrors reports an error just by passing ValidationErrors + // + // NOTES: + // + // relativeNamespace and relativeActualNamespace get appended to the + // existing namespace that validator is on. + // e.g. pass 'User.FirstName' or 'Users[0].FirstName' depending + // on the nesting. most of the time they will be blank, unless you validate + // at a level lower the the current field depth + ReportValidationErrors(relativeNamespace, relativeActualNamespace string, errs ValidationErrors) +} + +var _ StructLevel = new(validate) + +// Top returns the top level struct +// +// NOTE: this can be the same as the current struct being validated +// if not is a nested struct. +// +// this is only called when within Struct and Field Level validation and +// should not be relied upon for an acurate value otherwise. +func (v *validate) Top() reflect.Value { + return v.top +} + +// Parent returns the current structs parent +// +// NOTE: this can be the same as the current struct being validated +// if not is a nested struct. +// +// this is only called when within Struct and Field Level validation and +// should not be relied upon for an acurate value otherwise. +func (v *validate) Parent() reflect.Value { + return v.slflParent +} + +// Current returns the current struct. +func (v *validate) Current() reflect.Value { + return v.slCurrent +} + +// Validator returns the main validation object, in case one want to call validations internally. +func (v *validate) Validator() *Validate { + return v.v +} + +// ExtractType gets the actual underlying type of field value. +func (v *validate) ExtractType(field reflect.Value) (reflect.Value, reflect.Kind, bool) { + return v.extractTypeInternal(field, false) +} + +// ReportError reports an error just by passing the field and tag information +func (v *validate) ReportError(field interface{}, fieldName, structFieldName, tag, param string) { + + fv, kind, _ := v.extractTypeInternal(reflect.ValueOf(field), false) + + if len(structFieldName) == 0 { + structFieldName = fieldName + } + + v.str1 = string(append(v.ns, fieldName...)) + + if v.v.hasTagNameFunc || fieldName != structFieldName { + v.str2 = string(append(v.actualNs, structFieldName...)) + } else { + v.str2 = v.str1 + } + + if kind == reflect.Invalid { + + v.errs = append(v.errs, + &fieldError{ + v: v.v, + tag: tag, + actualTag: tag, + ns: v.str1, + structNs: v.str2, + fieldLen: uint8(len(fieldName)), + structfieldLen: uint8(len(structFieldName)), + param: param, + kind: kind, + }, + ) + return + } + + v.errs = append(v.errs, + &fieldError{ + v: v.v, + tag: tag, + actualTag: tag, + ns: v.str1, + structNs: v.str2, + fieldLen: uint8(len(fieldName)), + structfieldLen: uint8(len(structFieldName)), + value: fv.Interface(), + param: param, + kind: kind, + typ: fv.Type(), + }, + ) +} + +// ReportValidationErrors reports ValidationErrors obtained from running validations within the Struct Level validation. +// +// NOTE: this function prepends the current namespace to the relative ones. +func (v *validate) ReportValidationErrors(relativeNamespace, relativeStructNamespace string, errs ValidationErrors) { + + var err *fieldError + + for i := 0; i < len(errs); i++ { + + err = errs[i].(*fieldError) + err.ns = string(append(append(v.ns, relativeNamespace...), err.ns...)) + err.structNs = string(append(append(v.actualNs, relativeStructNamespace...), err.structNs...)) + + v.errs = append(v.errs, err) + } +} diff --git a/vendor/github.com/go-playground/validator/v10/translations.go b/vendor/github.com/go-playground/validator/v10/translations.go new file mode 100644 index 000000000..4d9d75c13 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/translations.go @@ -0,0 +1,11 @@ +package validator + +import ut "github.com/go-playground/universal-translator" + +// TranslationFunc is the function type used to register or override +// custom translations +type TranslationFunc func(ut ut.Translator, fe FieldError) string + +// RegisterTranslationsFunc allows for registering of translations +// for a 'ut.Translator' for use within the 'TranslationFunc' +type RegisterTranslationsFunc func(ut ut.Translator) error diff --git a/vendor/github.com/go-playground/validator/v10/util.go b/vendor/github.com/go-playground/validator/v10/util.go new file mode 100644 index 000000000..56420f430 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/util.go @@ -0,0 +1,288 @@ +package validator + +import ( + "reflect" + "strconv" + "strings" + "time" +) + +// extractTypeInternal gets the actual underlying type of field value. +// It will dive into pointers, customTypes and return you the +// underlying value and it's kind. +func (v *validate) extractTypeInternal(current reflect.Value, nullable bool) (reflect.Value, reflect.Kind, bool) { + +BEGIN: + switch current.Kind() { + case reflect.Ptr: + + nullable = true + + if current.IsNil() { + return current, reflect.Ptr, nullable + } + + current = current.Elem() + goto BEGIN + + case reflect.Interface: + + nullable = true + + if current.IsNil() { + return current, reflect.Interface, nullable + } + + current = current.Elem() + goto BEGIN + + case reflect.Invalid: + return current, reflect.Invalid, nullable + + default: + + if v.v.hasCustomFuncs { + + if fn, ok := v.v.customFuncs[current.Type()]; ok { + current = reflect.ValueOf(fn(current)) + goto BEGIN + } + } + + return current, current.Kind(), nullable + } +} + +// getStructFieldOKInternal traverses a struct to retrieve a specific field denoted by the provided namespace and +// returns the field, field kind and whether is was successful in retrieving the field at all. +// +// NOTE: when not successful ok will be false, this can happen when a nested struct is nil and so the field +// could not be retrieved because it didn't exist. +func (v *validate) getStructFieldOKInternal(val reflect.Value, namespace string) (current reflect.Value, kind reflect.Kind, nullable bool, found bool) { + +BEGIN: + current, kind, nullable = v.ExtractType(val) + if kind == reflect.Invalid { + return + } + + if namespace == "" { + found = true + return + } + + switch kind { + + case reflect.Ptr, reflect.Interface: + return + + case reflect.Struct: + + typ := current.Type() + fld := namespace + var ns string + + if typ != timeType { + + idx := strings.Index(namespace, namespaceSeparator) + + if idx != -1 { + fld = namespace[:idx] + ns = namespace[idx+1:] + } else { + ns = "" + } + + bracketIdx := strings.Index(fld, leftBracket) + if bracketIdx != -1 { + fld = fld[:bracketIdx] + + ns = namespace[bracketIdx:] + } + + val = current.FieldByName(fld) + namespace = ns + goto BEGIN + } + + case reflect.Array, reflect.Slice: + idx := strings.Index(namespace, leftBracket) + idx2 := strings.Index(namespace, rightBracket) + + arrIdx, _ := strconv.Atoi(namespace[idx+1 : idx2]) + + if arrIdx >= current.Len() { + return + } + + startIdx := idx2 + 1 + + if startIdx < len(namespace) { + if namespace[startIdx:startIdx+1] == namespaceSeparator { + startIdx++ + } + } + + val = current.Index(arrIdx) + namespace = namespace[startIdx:] + goto BEGIN + + case reflect.Map: + idx := strings.Index(namespace, leftBracket) + 1 + idx2 := strings.Index(namespace, rightBracket) + + endIdx := idx2 + + if endIdx+1 < len(namespace) { + if namespace[endIdx+1:endIdx+2] == namespaceSeparator { + endIdx++ + } + } + + key := namespace[idx:idx2] + + switch current.Type().Key().Kind() { + case reflect.Int: + i, _ := strconv.Atoi(key) + val = current.MapIndex(reflect.ValueOf(i)) + namespace = namespace[endIdx+1:] + + case reflect.Int8: + i, _ := strconv.ParseInt(key, 10, 8) + val = current.MapIndex(reflect.ValueOf(int8(i))) + namespace = namespace[endIdx+1:] + + case reflect.Int16: + i, _ := strconv.ParseInt(key, 10, 16) + val = current.MapIndex(reflect.ValueOf(int16(i))) + namespace = namespace[endIdx+1:] + + case reflect.Int32: + i, _ := strconv.ParseInt(key, 10, 32) + val = current.MapIndex(reflect.ValueOf(int32(i))) + namespace = namespace[endIdx+1:] + + case reflect.Int64: + i, _ := strconv.ParseInt(key, 10, 64) + val = current.MapIndex(reflect.ValueOf(i)) + namespace = namespace[endIdx+1:] + + case reflect.Uint: + i, _ := strconv.ParseUint(key, 10, 0) + val = current.MapIndex(reflect.ValueOf(uint(i))) + namespace = namespace[endIdx+1:] + + case reflect.Uint8: + i, _ := strconv.ParseUint(key, 10, 8) + val = current.MapIndex(reflect.ValueOf(uint8(i))) + namespace = namespace[endIdx+1:] + + case reflect.Uint16: + i, _ := strconv.ParseUint(key, 10, 16) + val = current.MapIndex(reflect.ValueOf(uint16(i))) + namespace = namespace[endIdx+1:] + + case reflect.Uint32: + i, _ := strconv.ParseUint(key, 10, 32) + val = current.MapIndex(reflect.ValueOf(uint32(i))) + namespace = namespace[endIdx+1:] + + case reflect.Uint64: + i, _ := strconv.ParseUint(key, 10, 64) + val = current.MapIndex(reflect.ValueOf(i)) + namespace = namespace[endIdx+1:] + + case reflect.Float32: + f, _ := strconv.ParseFloat(key, 32) + val = current.MapIndex(reflect.ValueOf(float32(f))) + namespace = namespace[endIdx+1:] + + case reflect.Float64: + f, _ := strconv.ParseFloat(key, 64) + val = current.MapIndex(reflect.ValueOf(f)) + namespace = namespace[endIdx+1:] + + case reflect.Bool: + b, _ := strconv.ParseBool(key) + val = current.MapIndex(reflect.ValueOf(b)) + namespace = namespace[endIdx+1:] + + // reflect.Type = string + default: + val = current.MapIndex(reflect.ValueOf(key)) + namespace = namespace[endIdx+1:] + } + + goto BEGIN + } + + // if got here there was more namespace, cannot go any deeper + panic("Invalid field namespace") +} + +// asInt returns the parameter as a int64 +// or panics if it can't convert +func asInt(param string) int64 { + i, err := strconv.ParseInt(param, 0, 64) + panicIf(err) + + return i +} + +// asIntFromTimeDuration parses param as time.Duration and returns it as int64 +// or panics on error. +func asIntFromTimeDuration(param string) int64 { + d, err := time.ParseDuration(param) + if err != nil { + // attempt parsing as an an integer assuming nanosecond precision + return asInt(param) + } + return int64(d) +} + +// asIntFromType calls the proper function to parse param as int64, +// given a field's Type t. +func asIntFromType(t reflect.Type, param string) int64 { + switch t { + case timeDurationType: + return asIntFromTimeDuration(param) + default: + return asInt(param) + } +} + +// asUint returns the parameter as a uint64 +// or panics if it can't convert +func asUint(param string) uint64 { + + i, err := strconv.ParseUint(param, 0, 64) + panicIf(err) + + return i +} + +// asFloat returns the parameter as a float64 +// or panics if it can't convert +func asFloat(param string) float64 { + + i, err := strconv.ParseFloat(param, 64) + panicIf(err) + + return i +} + +// asBool returns the parameter as a bool +// or panics if it can't convert +func asBool(param string) bool { + + i, err := strconv.ParseBool(param) + panicIf(err) + + return i +} + +func panicIf(err error) { + if err != nil { + panic(err.Error()) + } +} diff --git a/vendor/github.com/go-playground/validator/v10/validator.go b/vendor/github.com/go-playground/validator/v10/validator.go new file mode 100644 index 000000000..2a4fad022 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/validator.go @@ -0,0 +1,477 @@ +package validator + +import ( + "context" + "fmt" + "reflect" + "strconv" +) + +// per validate construct +type validate struct { + v *Validate + top reflect.Value + ns []byte + actualNs []byte + errs ValidationErrors + includeExclude map[string]struct{} // reset only if StructPartial or StructExcept are called, no need otherwise + ffn FilterFunc + slflParent reflect.Value // StructLevel & FieldLevel + slCurrent reflect.Value // StructLevel & FieldLevel + flField reflect.Value // StructLevel & FieldLevel + cf *cField // StructLevel & FieldLevel + ct *cTag // StructLevel & FieldLevel + misc []byte // misc reusable + str1 string // misc reusable + str2 string // misc reusable + fldIsPointer bool // StructLevel & FieldLevel + isPartial bool + hasExcludes bool +} + +// parent and current will be the same the first run of validateStruct +func (v *validate) validateStruct(ctx context.Context, parent reflect.Value, current reflect.Value, typ reflect.Type, ns []byte, structNs []byte, ct *cTag) { + + cs, ok := v.v.structCache.Get(typ) + if !ok { + cs = v.v.extractStructCache(current, typ.Name()) + } + + if len(ns) == 0 && len(cs.name) != 0 { + + ns = append(ns, cs.name...) + ns = append(ns, '.') + + structNs = append(structNs, cs.name...) + structNs = append(structNs, '.') + } + + // ct is nil on top level struct, and structs as fields that have no tag info + // so if nil or if not nil and the structonly tag isn't present + if ct == nil || ct.typeof != typeStructOnly { + + var f *cField + + for i := 0; i < len(cs.fields); i++ { + + f = cs.fields[i] + + if v.isPartial { + + if v.ffn != nil { + // used with StructFiltered + if v.ffn(append(structNs, f.name...)) { + continue + } + + } else { + // used with StructPartial & StructExcept + _, ok = v.includeExclude[string(append(structNs, f.name...))] + + if (ok && v.hasExcludes) || (!ok && !v.hasExcludes) { + continue + } + } + } + + v.traverseField(ctx, current, current.Field(f.idx), ns, structNs, f, f.cTags) + } + } + + // check if any struct level validations, after all field validations already checked. + // first iteration will have no info about nostructlevel tag, and is checked prior to + // calling the next iteration of validateStruct called from traverseField. + if cs.fn != nil { + + v.slflParent = parent + v.slCurrent = current + v.ns = ns + v.actualNs = structNs + + cs.fn(ctx, v) + } +} + +// traverseField validates any field, be it a struct or single field, ensures it's validity and passes it along to be validated via it's tag options +func (v *validate) traverseField(ctx context.Context, parent reflect.Value, current reflect.Value, ns []byte, structNs []byte, cf *cField, ct *cTag) { + var typ reflect.Type + var kind reflect.Kind + + current, kind, v.fldIsPointer = v.extractTypeInternal(current, false) + + switch kind { + case reflect.Ptr, reflect.Interface, reflect.Invalid: + + if ct == nil { + return + } + + if ct.typeof == typeOmitEmpty || ct.typeof == typeIsDefault { + return + } + + if ct.hasTag { + if kind == reflect.Invalid { + v.str1 = string(append(ns, cf.altName...)) + if v.v.hasTagNameFunc { + v.str2 = string(append(structNs, cf.name...)) + } else { + v.str2 = v.str1 + } + v.errs = append(v.errs, + &fieldError{ + v: v.v, + tag: ct.aliasTag, + actualTag: ct.tag, + ns: v.str1, + structNs: v.str2, + fieldLen: uint8(len(cf.altName)), + structfieldLen: uint8(len(cf.name)), + param: ct.param, + kind: kind, + }, + ) + return + } + + v.str1 = string(append(ns, cf.altName...)) + if v.v.hasTagNameFunc { + v.str2 = string(append(structNs, cf.name...)) + } else { + v.str2 = v.str1 + } + if !ct.runValidationWhenNil { + v.errs = append(v.errs, + &fieldError{ + v: v.v, + tag: ct.aliasTag, + actualTag: ct.tag, + ns: v.str1, + structNs: v.str2, + fieldLen: uint8(len(cf.altName)), + structfieldLen: uint8(len(cf.name)), + value: current.Interface(), + param: ct.param, + kind: kind, + typ: current.Type(), + }, + ) + return + } + } + + case reflect.Struct: + + typ = current.Type() + + if typ != timeType { + + if ct != nil { + + if ct.typeof == typeStructOnly { + goto CONTINUE + } else if ct.typeof == typeIsDefault { + // set Field Level fields + v.slflParent = parent + v.flField = current + v.cf = cf + v.ct = ct + + if !ct.fn(ctx, v) { + v.str1 = string(append(ns, cf.altName...)) + + if v.v.hasTagNameFunc { + v.str2 = string(append(structNs, cf.name...)) + } else { + v.str2 = v.str1 + } + + v.errs = append(v.errs, + &fieldError{ + v: v.v, + tag: ct.aliasTag, + actualTag: ct.tag, + ns: v.str1, + structNs: v.str2, + fieldLen: uint8(len(cf.altName)), + structfieldLen: uint8(len(cf.name)), + value: current.Interface(), + param: ct.param, + kind: kind, + typ: typ, + }, + ) + return + } + } + + ct = ct.next + } + + if ct != nil && ct.typeof == typeNoStructLevel { + return + } + + CONTINUE: + // if len == 0 then validating using 'Var' or 'VarWithValue' + // Var - doesn't make much sense to do it that way, should call 'Struct', but no harm... + // VarWithField - this allows for validating against each field within the struct against a specific value + // pretty handy in certain situations + if len(cf.name) > 0 { + ns = append(append(ns, cf.altName...), '.') + structNs = append(append(structNs, cf.name...), '.') + } + + v.validateStruct(ctx, parent, current, typ, ns, structNs, ct) + return + } + } + + if ct == nil || !ct.hasTag { + return + } + + typ = current.Type() + +OUTER: + for { + if ct == nil { + return + } + + switch ct.typeof { + + case typeOmitEmpty: + + // set Field Level fields + v.slflParent = parent + v.flField = current + v.cf = cf + v.ct = ct + + if !hasValue(v) { + return + } + + ct = ct.next + continue + + case typeEndKeys: + return + + case typeDive: + + ct = ct.next + + // traverse slice or map here + // or panic ;) + switch kind { + case reflect.Slice, reflect.Array: + + var i64 int64 + reusableCF := &cField{} + + for i := 0; i < current.Len(); i++ { + + i64 = int64(i) + + v.misc = append(v.misc[0:0], cf.name...) + v.misc = append(v.misc, '[') + v.misc = strconv.AppendInt(v.misc, i64, 10) + v.misc = append(v.misc, ']') + + reusableCF.name = string(v.misc) + + if cf.namesEqual { + reusableCF.altName = reusableCF.name + } else { + + v.misc = append(v.misc[0:0], cf.altName...) + v.misc = append(v.misc, '[') + v.misc = strconv.AppendInt(v.misc, i64, 10) + v.misc = append(v.misc, ']') + + reusableCF.altName = string(v.misc) + } + v.traverseField(ctx, parent, current.Index(i), ns, structNs, reusableCF, ct) + } + + case reflect.Map: + + var pv string + reusableCF := &cField{} + + for _, key := range current.MapKeys() { + + pv = fmt.Sprintf("%v", key.Interface()) + + v.misc = append(v.misc[0:0], cf.name...) + v.misc = append(v.misc, '[') + v.misc = append(v.misc, pv...) + v.misc = append(v.misc, ']') + + reusableCF.name = string(v.misc) + + if cf.namesEqual { + reusableCF.altName = reusableCF.name + } else { + v.misc = append(v.misc[0:0], cf.altName...) + v.misc = append(v.misc, '[') + v.misc = append(v.misc, pv...) + v.misc = append(v.misc, ']') + + reusableCF.altName = string(v.misc) + } + + if ct != nil && ct.typeof == typeKeys && ct.keys != nil { + v.traverseField(ctx, parent, key, ns, structNs, reusableCF, ct.keys) + // can be nil when just keys being validated + if ct.next != nil { + v.traverseField(ctx, parent, current.MapIndex(key), ns, structNs, reusableCF, ct.next) + } + } else { + v.traverseField(ctx, parent, current.MapIndex(key), ns, structNs, reusableCF, ct) + } + } + + default: + // throw error, if not a slice or map then should not have gotten here + // bad dive tag + panic("dive error! can't dive on a non slice or map") + } + + return + + case typeOr: + + v.misc = v.misc[0:0] + + for { + + // set Field Level fields + v.slflParent = parent + v.flField = current + v.cf = cf + v.ct = ct + + if ct.fn(ctx, v) { + + // drain rest of the 'or' values, then continue or leave + for { + + ct = ct.next + + if ct == nil { + return + } + + if ct.typeof != typeOr { + continue OUTER + } + } + } + + v.misc = append(v.misc, '|') + v.misc = append(v.misc, ct.tag...) + + if ct.hasParam { + v.misc = append(v.misc, '=') + v.misc = append(v.misc, ct.param...) + } + + if ct.isBlockEnd || ct.next == nil { + // if we get here, no valid 'or' value and no more tags + v.str1 = string(append(ns, cf.altName...)) + + if v.v.hasTagNameFunc { + v.str2 = string(append(structNs, cf.name...)) + } else { + v.str2 = v.str1 + } + + if ct.hasAlias { + + v.errs = append(v.errs, + &fieldError{ + v: v.v, + tag: ct.aliasTag, + actualTag: ct.actualAliasTag, + ns: v.str1, + structNs: v.str2, + fieldLen: uint8(len(cf.altName)), + structfieldLen: uint8(len(cf.name)), + value: current.Interface(), + param: ct.param, + kind: kind, + typ: typ, + }, + ) + + } else { + + tVal := string(v.misc)[1:] + + v.errs = append(v.errs, + &fieldError{ + v: v.v, + tag: tVal, + actualTag: tVal, + ns: v.str1, + structNs: v.str2, + fieldLen: uint8(len(cf.altName)), + structfieldLen: uint8(len(cf.name)), + value: current.Interface(), + param: ct.param, + kind: kind, + typ: typ, + }, + ) + } + + return + } + + ct = ct.next + } + + default: + + // set Field Level fields + v.slflParent = parent + v.flField = current + v.cf = cf + v.ct = ct + + if !ct.fn(ctx, v) { + + v.str1 = string(append(ns, cf.altName...)) + + if v.v.hasTagNameFunc { + v.str2 = string(append(structNs, cf.name...)) + } else { + v.str2 = v.str1 + } + + v.errs = append(v.errs, + &fieldError{ + v: v.v, + tag: ct.aliasTag, + actualTag: ct.tag, + ns: v.str1, + structNs: v.str2, + fieldLen: uint8(len(cf.altName)), + structfieldLen: uint8(len(cf.name)), + value: current.Interface(), + param: ct.param, + kind: kind, + typ: typ, + }, + ) + + return + } + ct = ct.next + } + } + +} diff --git a/vendor/github.com/go-playground/validator/v10/validator_instance.go b/vendor/github.com/go-playground/validator/v10/validator_instance.go new file mode 100644 index 000000000..8e27707ea --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/validator_instance.go @@ -0,0 +1,654 @@ +package validator + +import ( + "context" + "errors" + "fmt" + "reflect" + "strings" + "sync" + "time" + + ut "github.com/go-playground/universal-translator" +) + +const ( + defaultTagName = "validate" + utf8HexComma = "0x2C" + utf8Pipe = "0x7C" + tagSeparator = "," + orSeparator = "|" + tagKeySeparator = "=" + structOnlyTag = "structonly" + noStructLevelTag = "nostructlevel" + omitempty = "omitempty" + isdefault = "isdefault" + requiredWithoutAllTag = "required_without_all" + requiredWithoutTag = "required_without" + requiredWithTag = "required_with" + requiredWithAllTag = "required_with_all" + requiredIfTag = "required_if" + requiredUnlessTag = "required_unless" + excludedWithoutAllTag = "excluded_without_all" + excludedWithoutTag = "excluded_without" + excludedWithTag = "excluded_with" + excludedWithAllTag = "excluded_with_all" + skipValidationTag = "-" + diveTag = "dive" + keysTag = "keys" + endKeysTag = "endkeys" + requiredTag = "required" + namespaceSeparator = "." + leftBracket = "[" + rightBracket = "]" + restrictedTagChars = ".[],|=+()`~!@#$%^&*\\\"/?<>{}" + restrictedAliasErr = "Alias '%s' either contains restricted characters or is the same as a restricted tag needed for normal operation" + restrictedTagErr = "Tag '%s' either contains restricted characters or is the same as a restricted tag needed for normal operation" +) + +var ( + timeDurationType = reflect.TypeOf(time.Duration(0)) + timeType = reflect.TypeOf(time.Time{}) + + defaultCField = &cField{namesEqual: true} +) + +// FilterFunc is the type used to filter fields using +// StructFiltered(...) function. +// returning true results in the field being filtered/skiped from +// validation +type FilterFunc func(ns []byte) bool + +// CustomTypeFunc allows for overriding or adding custom field type handler functions +// field = field value of the type to return a value to be validated +// example Valuer from sql drive see https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29 +type CustomTypeFunc func(field reflect.Value) interface{} + +// TagNameFunc allows for adding of a custom tag name parser +type TagNameFunc func(field reflect.StructField) string + +type internalValidationFuncWrapper struct { + fn FuncCtx + runValidatinOnNil bool +} + +// Validate contains the validator settings and cache +type Validate struct { + tagName string + pool *sync.Pool + hasCustomFuncs bool + hasTagNameFunc bool + tagNameFunc TagNameFunc + structLevelFuncs map[reflect.Type]StructLevelFuncCtx + customFuncs map[reflect.Type]CustomTypeFunc + aliases map[string]string + validations map[string]internalValidationFuncWrapper + transTagFunc map[ut.Translator]map[string]TranslationFunc // map[]map[]TranslationFunc + tagCache *tagCache + structCache *structCache +} + +// New returns a new instance of 'validate' with sane defaults. +func New() *Validate { + + tc := new(tagCache) + tc.m.Store(make(map[string]*cTag)) + + sc := new(structCache) + sc.m.Store(make(map[reflect.Type]*cStruct)) + + v := &Validate{ + tagName: defaultTagName, + aliases: make(map[string]string, len(bakedInAliases)), + validations: make(map[string]internalValidationFuncWrapper, len(bakedInValidators)), + tagCache: tc, + structCache: sc, + } + + // must copy alias validators for separate validations to be used in each validator instance + for k, val := range bakedInAliases { + v.RegisterAlias(k, val) + } + + // must copy validators for separate validations to be used in each instance + for k, val := range bakedInValidators { + + switch k { + // these require that even if the value is nil that the validation should run, omitempty still overrides this behaviour + case requiredIfTag, requiredUnlessTag, requiredWithTag, requiredWithAllTag, requiredWithoutTag, requiredWithoutAllTag, + excludedWithTag, excludedWithAllTag, excludedWithoutTag, excludedWithoutAllTag: + _ = v.registerValidation(k, wrapFunc(val), true, true) + default: + // no need to error check here, baked in will always be valid + _ = v.registerValidation(k, wrapFunc(val), true, false) + } + } + + v.pool = &sync.Pool{ + New: func() interface{} { + return &validate{ + v: v, + ns: make([]byte, 0, 64), + actualNs: make([]byte, 0, 64), + misc: make([]byte, 32), + } + }, + } + + return v +} + +// SetTagName allows for changing of the default tag name of 'validate' +func (v *Validate) SetTagName(name string) { + v.tagName = name +} + +// ValidateMapCtx validates a map using a map of validation rules and allows passing of contextual +// validation validation information via context.Context. +func (v Validate) ValidateMapCtx(ctx context.Context, data map[string]interface{}, rules map[string]interface{}) map[string]interface{} { + errs := make(map[string]interface{}) + for field, rule := range rules { + if reflect.ValueOf(rule).Kind() == reflect.Map && reflect.ValueOf(data[field]).Kind() == reflect.Map { + err := v.ValidateMapCtx(ctx, data[field].(map[string]interface{}), rule.(map[string]interface{})) + if len(err) > 0 { + errs[field] = err + } + } else if reflect.ValueOf(rule).Kind() == reflect.Map { + errs[field] = errors.New("The field: '" + field + "' is not a map to dive") + } else { + err := v.VarCtx(ctx, data[field], rule.(string)) + if err != nil { + errs[field] = err + } + } + } + return errs +} + +// ValidateMap validates map data form a map of tags +func (v *Validate) ValidateMap(data map[string]interface{}, rules map[string]interface{}) map[string]interface{} { + return v.ValidateMapCtx(context.Background(), data, rules) +} + +// RegisterTagNameFunc registers a function to get alternate names for StructFields. +// +// eg. to use the names which have been specified for JSON representations of structs, rather than normal Go field names: +// +// validate.RegisterTagNameFunc(func(fld reflect.StructField) string { +// name := strings.SplitN(fld.Tag.Get("json"), ",", 2)[0] +// if name == "-" { +// return "" +// } +// return name +// }) +func (v *Validate) RegisterTagNameFunc(fn TagNameFunc) { + v.tagNameFunc = fn + v.hasTagNameFunc = true +} + +// RegisterValidation adds a validation with the given tag +// +// NOTES: +// - if the key already exists, the previous validation function will be replaced. +// - this method is not thread-safe it is intended that these all be registered prior to any validation +func (v *Validate) RegisterValidation(tag string, fn Func, callValidationEvenIfNull ...bool) error { + return v.RegisterValidationCtx(tag, wrapFunc(fn), callValidationEvenIfNull...) +} + +// RegisterValidationCtx does the same as RegisterValidation on accepts a FuncCtx validation +// allowing context.Context validation support. +func (v *Validate) RegisterValidationCtx(tag string, fn FuncCtx, callValidationEvenIfNull ...bool) error { + var nilCheckable bool + if len(callValidationEvenIfNull) > 0 { + nilCheckable = callValidationEvenIfNull[0] + } + return v.registerValidation(tag, fn, false, nilCheckable) +} + +func (v *Validate) registerValidation(tag string, fn FuncCtx, bakedIn bool, nilCheckable bool) error { + if len(tag) == 0 { + return errors.New("Function Key cannot be empty") + } + + if fn == nil { + return errors.New("Function cannot be empty") + } + + _, ok := restrictedTags[tag] + if !bakedIn && (ok || strings.ContainsAny(tag, restrictedTagChars)) { + panic(fmt.Sprintf(restrictedTagErr, tag)) + } + v.validations[tag] = internalValidationFuncWrapper{fn: fn, runValidatinOnNil: nilCheckable} + return nil +} + +// RegisterAlias registers a mapping of a single validation tag that +// defines a common or complex set of validation(s) to simplify adding validation +// to structs. +// +// NOTE: this function is not thread-safe it is intended that these all be registered prior to any validation +func (v *Validate) RegisterAlias(alias, tags string) { + + _, ok := restrictedTags[alias] + + if ok || strings.ContainsAny(alias, restrictedTagChars) { + panic(fmt.Sprintf(restrictedAliasErr, alias)) + } + + v.aliases[alias] = tags +} + +// RegisterStructValidation registers a StructLevelFunc against a number of types. +// +// NOTE: +// - this method is not thread-safe it is intended that these all be registered prior to any validation +func (v *Validate) RegisterStructValidation(fn StructLevelFunc, types ...interface{}) { + v.RegisterStructValidationCtx(wrapStructLevelFunc(fn), types...) +} + +// RegisterStructValidationCtx registers a StructLevelFuncCtx against a number of types and allows passing +// of contextual validation information via context.Context. +// +// NOTE: +// - this method is not thread-safe it is intended that these all be registered prior to any validation +func (v *Validate) RegisterStructValidationCtx(fn StructLevelFuncCtx, types ...interface{}) { + + if v.structLevelFuncs == nil { + v.structLevelFuncs = make(map[reflect.Type]StructLevelFuncCtx) + } + + for _, t := range types { + tv := reflect.ValueOf(t) + if tv.Kind() == reflect.Ptr { + t = reflect.Indirect(tv).Interface() + } + + v.structLevelFuncs[reflect.TypeOf(t)] = fn + } +} + +// RegisterCustomTypeFunc registers a CustomTypeFunc against a number of types +// +// NOTE: this method is not thread-safe it is intended that these all be registered prior to any validation +func (v *Validate) RegisterCustomTypeFunc(fn CustomTypeFunc, types ...interface{}) { + + if v.customFuncs == nil { + v.customFuncs = make(map[reflect.Type]CustomTypeFunc) + } + + for _, t := range types { + v.customFuncs[reflect.TypeOf(t)] = fn + } + + v.hasCustomFuncs = true +} + +// RegisterTranslation registers translations against the provided tag. +func (v *Validate) RegisterTranslation(tag string, trans ut.Translator, registerFn RegisterTranslationsFunc, translationFn TranslationFunc) (err error) { + + if v.transTagFunc == nil { + v.transTagFunc = make(map[ut.Translator]map[string]TranslationFunc) + } + + if err = registerFn(trans); err != nil { + return + } + + m, ok := v.transTagFunc[trans] + if !ok { + m = make(map[string]TranslationFunc) + v.transTagFunc[trans] = m + } + + m[tag] = translationFn + + return +} + +// Struct validates a structs exposed fields, and automatically validates nested structs, unless otherwise specified. +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +func (v *Validate) Struct(s interface{}) error { + return v.StructCtx(context.Background(), s) +} + +// StructCtx validates a structs exposed fields, and automatically validates nested structs, unless otherwise specified +// and also allows passing of context.Context for contextual validation information. +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +func (v *Validate) StructCtx(ctx context.Context, s interface{}) (err error) { + + val := reflect.ValueOf(s) + top := val + + if val.Kind() == reflect.Ptr && !val.IsNil() { + val = val.Elem() + } + + if val.Kind() != reflect.Struct || val.Type() == timeType { + return &InvalidValidationError{Type: reflect.TypeOf(s)} + } + + // good to validate + vd := v.pool.Get().(*validate) + vd.top = top + vd.isPartial = false + // vd.hasExcludes = false // only need to reset in StructPartial and StructExcept + + vd.validateStruct(ctx, top, val, val.Type(), vd.ns[0:0], vd.actualNs[0:0], nil) + + if len(vd.errs) > 0 { + err = vd.errs + vd.errs = nil + } + + v.pool.Put(vd) + + return +} + +// StructFiltered validates a structs exposed fields, that pass the FilterFunc check and automatically validates +// nested structs, unless otherwise specified. +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +func (v *Validate) StructFiltered(s interface{}, fn FilterFunc) error { + return v.StructFilteredCtx(context.Background(), s, fn) +} + +// StructFilteredCtx validates a structs exposed fields, that pass the FilterFunc check and automatically validates +// nested structs, unless otherwise specified and also allows passing of contextual validation information via +// context.Context +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +func (v *Validate) StructFilteredCtx(ctx context.Context, s interface{}, fn FilterFunc) (err error) { + val := reflect.ValueOf(s) + top := val + + if val.Kind() == reflect.Ptr && !val.IsNil() { + val = val.Elem() + } + + if val.Kind() != reflect.Struct || val.Type() == timeType { + return &InvalidValidationError{Type: reflect.TypeOf(s)} + } + + // good to validate + vd := v.pool.Get().(*validate) + vd.top = top + vd.isPartial = true + vd.ffn = fn + // vd.hasExcludes = false // only need to reset in StructPartial and StructExcept + + vd.validateStruct(ctx, top, val, val.Type(), vd.ns[0:0], vd.actualNs[0:0], nil) + + if len(vd.errs) > 0 { + err = vd.errs + vd.errs = nil + } + + v.pool.Put(vd) + + return +} + +// StructPartial validates the fields passed in only, ignoring all others. +// Fields may be provided in a namespaced fashion relative to the struct provided +// eg. NestedStruct.Field or NestedArrayField[0].Struct.Name +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +func (v *Validate) StructPartial(s interface{}, fields ...string) error { + return v.StructPartialCtx(context.Background(), s, fields...) +} + +// StructPartialCtx validates the fields passed in only, ignoring all others and allows passing of contextual +// validation validation information via context.Context +// Fields may be provided in a namespaced fashion relative to the struct provided +// eg. NestedStruct.Field or NestedArrayField[0].Struct.Name +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +func (v *Validate) StructPartialCtx(ctx context.Context, s interface{}, fields ...string) (err error) { + val := reflect.ValueOf(s) + top := val + + if val.Kind() == reflect.Ptr && !val.IsNil() { + val = val.Elem() + } + + if val.Kind() != reflect.Struct || val.Type() == timeType { + return &InvalidValidationError{Type: reflect.TypeOf(s)} + } + + // good to validate + vd := v.pool.Get().(*validate) + vd.top = top + vd.isPartial = true + vd.ffn = nil + vd.hasExcludes = false + vd.includeExclude = make(map[string]struct{}) + + typ := val.Type() + name := typ.Name() + + for _, k := range fields { + + flds := strings.Split(k, namespaceSeparator) + if len(flds) > 0 { + + vd.misc = append(vd.misc[0:0], name...) + // Don't append empty name for unnamed structs + if len(vd.misc) != 0 { + vd.misc = append(vd.misc, '.') + } + + for _, s := range flds { + + idx := strings.Index(s, leftBracket) + + if idx != -1 { + for idx != -1 { + vd.misc = append(vd.misc, s[:idx]...) + vd.includeExclude[string(vd.misc)] = struct{}{} + + idx2 := strings.Index(s, rightBracket) + idx2++ + vd.misc = append(vd.misc, s[idx:idx2]...) + vd.includeExclude[string(vd.misc)] = struct{}{} + s = s[idx2:] + idx = strings.Index(s, leftBracket) + } + } else { + + vd.misc = append(vd.misc, s...) + vd.includeExclude[string(vd.misc)] = struct{}{} + } + + vd.misc = append(vd.misc, '.') + } + } + } + + vd.validateStruct(ctx, top, val, typ, vd.ns[0:0], vd.actualNs[0:0], nil) + + if len(vd.errs) > 0 { + err = vd.errs + vd.errs = nil + } + + v.pool.Put(vd) + + return +} + +// StructExcept validates all fields except the ones passed in. +// Fields may be provided in a namespaced fashion relative to the struct provided +// i.e. NestedStruct.Field or NestedArrayField[0].Struct.Name +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +func (v *Validate) StructExcept(s interface{}, fields ...string) error { + return v.StructExceptCtx(context.Background(), s, fields...) +} + +// StructExceptCtx validates all fields except the ones passed in and allows passing of contextual +// validation validation information via context.Context +// Fields may be provided in a namespaced fashion relative to the struct provided +// i.e. NestedStruct.Field or NestedArrayField[0].Struct.Name +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +func (v *Validate) StructExceptCtx(ctx context.Context, s interface{}, fields ...string) (err error) { + val := reflect.ValueOf(s) + top := val + + if val.Kind() == reflect.Ptr && !val.IsNil() { + val = val.Elem() + } + + if val.Kind() != reflect.Struct || val.Type() == timeType { + return &InvalidValidationError{Type: reflect.TypeOf(s)} + } + + // good to validate + vd := v.pool.Get().(*validate) + vd.top = top + vd.isPartial = true + vd.ffn = nil + vd.hasExcludes = true + vd.includeExclude = make(map[string]struct{}) + + typ := val.Type() + name := typ.Name() + + for _, key := range fields { + + vd.misc = vd.misc[0:0] + + if len(name) > 0 { + vd.misc = append(vd.misc, name...) + vd.misc = append(vd.misc, '.') + } + + vd.misc = append(vd.misc, key...) + vd.includeExclude[string(vd.misc)] = struct{}{} + } + + vd.validateStruct(ctx, top, val, typ, vd.ns[0:0], vd.actualNs[0:0], nil) + + if len(vd.errs) > 0 { + err = vd.errs + vd.errs = nil + } + + v.pool.Put(vd) + + return +} + +// Var validates a single variable using tag style validation. +// eg. +// var i int +// validate.Var(i, "gt=1,lt=10") +// +// WARNING: a struct can be passed for validation eg. time.Time is a struct or +// if you have a custom type and have registered a custom type handler, so must +// allow it; however unforeseen validations will occur if trying to validate a +// struct that is meant to be passed to 'validate.Struct' +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +// validate Array, Slice and maps fields which may contain more than one error +func (v *Validate) Var(field interface{}, tag string) error { + return v.VarCtx(context.Background(), field, tag) +} + +// VarCtx validates a single variable using tag style validation and allows passing of contextual +// validation validation information via context.Context. +// eg. +// var i int +// validate.Var(i, "gt=1,lt=10") +// +// WARNING: a struct can be passed for validation eg. time.Time is a struct or +// if you have a custom type and have registered a custom type handler, so must +// allow it; however unforeseen validations will occur if trying to validate a +// struct that is meant to be passed to 'validate.Struct' +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +// validate Array, Slice and maps fields which may contain more than one error +func (v *Validate) VarCtx(ctx context.Context, field interface{}, tag string) (err error) { + if len(tag) == 0 || tag == skipValidationTag { + return nil + } + + ctag := v.fetchCacheTag(tag) + val := reflect.ValueOf(field) + vd := v.pool.Get().(*validate) + vd.top = val + vd.isPartial = false + vd.traverseField(ctx, val, val, vd.ns[0:0], vd.actualNs[0:0], defaultCField, ctag) + + if len(vd.errs) > 0 { + err = vd.errs + vd.errs = nil + } + v.pool.Put(vd) + return +} + +// VarWithValue validates a single variable, against another variable/field's value using tag style validation +// eg. +// s1 := "abcd" +// s2 := "abcd" +// validate.VarWithValue(s1, s2, "eqcsfield") // returns true +// +// WARNING: a struct can be passed for validation eg. time.Time is a struct or +// if you have a custom type and have registered a custom type handler, so must +// allow it; however unforeseen validations will occur if trying to validate a +// struct that is meant to be passed to 'validate.Struct' +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +// validate Array, Slice and maps fields which may contain more than one error +func (v *Validate) VarWithValue(field interface{}, other interface{}, tag string) error { + return v.VarWithValueCtx(context.Background(), field, other, tag) +} + +// VarWithValueCtx validates a single variable, against another variable/field's value using tag style validation and +// allows passing of contextual validation validation information via context.Context. +// eg. +// s1 := "abcd" +// s2 := "abcd" +// validate.VarWithValue(s1, s2, "eqcsfield") // returns true +// +// WARNING: a struct can be passed for validation eg. time.Time is a struct or +// if you have a custom type and have registered a custom type handler, so must +// allow it; however unforeseen validations will occur if trying to validate a +// struct that is meant to be passed to 'validate.Struct' +// +// It returns InvalidValidationError for bad values passed in and nil or ValidationErrors as error otherwise. +// You will need to assert the error if it's not nil eg. err.(validator.ValidationErrors) to access the array of errors. +// validate Array, Slice and maps fields which may contain more than one error +func (v *Validate) VarWithValueCtx(ctx context.Context, field interface{}, other interface{}, tag string) (err error) { + if len(tag) == 0 || tag == skipValidationTag { + return nil + } + ctag := v.fetchCacheTag(tag) + otherVal := reflect.ValueOf(other) + vd := v.pool.Get().(*validate) + vd.top = otherVal + vd.isPartial = false + vd.traverseField(ctx, otherVal, reflect.ValueOf(field), vd.ns[0:0], vd.actualNs[0:0], defaultCField, ctag) + + if len(vd.errs) > 0 { + err = vd.errs + vd.errs = nil + } + v.pool.Put(vd) + return +} diff --git a/vendor/github.com/go-xmlfmt/xmlfmt/LICENSE b/vendor/github.com/go-xmlfmt/xmlfmt/LICENSE new file mode 100644 index 000000000..890776ab7 --- /dev/null +++ b/vendor/github.com/go-xmlfmt/xmlfmt/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 go-xmlfmt + +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/go-xmlfmt/xmlfmt/README.md b/vendor/github.com/go-xmlfmt/xmlfmt/README.md new file mode 100644 index 000000000..4eb6d69a0 --- /dev/null +++ b/vendor/github.com/go-xmlfmt/xmlfmt/README.md @@ -0,0 +1,178 @@ +# Go XML Formatter + +[![MIT License](http://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) +[![Go Doc](https://img.shields.io/badge/godoc-reference-4b68a3.svg)](https://godoc.org/github.com/go-xmlfmt/xmlfmt) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-xmlfmt/xmlfmt)](https://goreportcard.com/report/github.com/go-xmlfmt/xmlfmt) +[![Codeship Status](https://codeship.com/projects/c49f02b0-a384-0134-fb20-2e0351080565/status?branch=master)](https://codeship.com/projects/190297) + +## Synopsis + +The Go XML Formatter, xmlfmt, will format the XML string in a readable way. + +```go +package main + +import "github.com/go-xmlfmt/xmlfmt" + +func main() { + xml1 := `aSome org-or-otherWouldnt you like to knowPatCalifia` + x := xmlfmt.FormatXML(xml1, "\t", " ") + print(x) +} + +``` + +Output: + +```xml + + + a + + + + + + Some org-or-other + + Wouldnt you like to know + + + + Pat + + Califia + + + + + +``` + +There is no XML decoding and encoding involved, only pure regular expression matching and replacing. So it is much faster than going through decoding and encoding procedures. Moreover, the exact XML source string is preserved, instead of being changed by the encoder. This is why this package exists in the first place. + +## Command + +To use it on command line, check out [xmlfmt](https://github.com/AntonioSun/xmlfmt): + + +``` +$ xmlfmt +XML Formatter +built on 2019-12-08 + +The xmlfmt will format the XML string without rewriting the document + +Options: + + -h, --help display help information + -f, --file *The xml file to read from (or stdin) + -p, --prefix each element begins on a new line and this prefix + -i, --indent[= ] indent string for nested elements +``` + + +## Justification + +### The format + +The Go XML Formatter is not called XML Beautifier because the result is not *exactly* as what people would expect -- some, but not all, closing tags stays on the same line, just as shown above. Having been looking at the result and thinking over it, I now think it is actually a better way to present it, as those closing tags on the same line are better stay that way in my opinion. I.e., + +When it comes to very big XML strings, which is what I’m dealing every day, saving spaces by not allowing those closing tags taking extra lines is plus instead of negative to me. + +### The alternative + +To format it “properly”, i.e., as what people would normally see, is very hard using pure regular expression. In fact, according to Sam Whited from the go-nuts mlist, + +> Regular expression is, well, regular. This means that they can parse regular grammars, but can't parse context free grammars (like XML). It is actually impossible to use a regex to do this task; it will always be fragile, unfortunately. + +So if the output format is so important to you, then unfortunately you have to go through decoding and encoding procedures. But there are some drawbacks as well, as put by James McGill, in http://stackoverflow.com/questions/21117161, besides such method being slow: + +> I like this solution, but am still in search of a Golang XML formatter/prettyprinter that doesn't rewrite the document (other than formatting whitespace). Marshalling or using the Encoder will change namespace declarations. +> +> For example an element like "< ns1:Element />" will be translated to something like '< Element xmlns="http://bla...bla/ns1" >< /Element >' which seems harmless enough except when the intent is to not alter the xml other than formatting. -- James McGill Nov 12 '15 + +Using Sam's code as an example, + +https://play.golang.org/p/JUqQY3WpW5 + +The above code formats the following XML + +```xml + + + + + + 123 + John Brown + + + + +``` + +into this: + +```xml + +

+ + + + 123 + John Brown + + + + +``` + +I know they are syntactically the same, however the problem is that they *look* totally different. + +That's why there is this package, an XML Beautifier that doesn't rewrite the document. + +## Credit + +The credit goes to **diotalevi** from his post at http://www.perlmonks.org/?node_id=261292. + +However, it does not work for all cases. For example, + +```sh +$ echo '
123John Brown
' | perl -pe 's/(?<=>)\s+(?=<)//g; s(<(/?)([^/>]+)(/?)>\s*(?=(".($1&&($4 eq"
+123 +John Brown + + + + +``` + +I simplified the algorithm, and now it should work for all cases: + +```sh +echo '
123John Brown
' | perl -pe 's/(?<=>)\s+(?=<)//g; s(<(/?)([^>]+)(/?)>)($indent+=$3?0:$1?-1:1;"<$1$2$3>"."\n".(" "x$indent))ge' +``` +```xml + +
+
+ + + + + 123 + + John Brown + + + +
+``` + +This package is a direct translate from above Perl code into Go, +then further enhanced by @ruandao. diff --git a/vendor/github.com/go-xmlfmt/xmlfmt/xmlfmt.go b/vendor/github.com/go-xmlfmt/xmlfmt/xmlfmt.go new file mode 100644 index 000000000..b744f5b35 --- /dev/null +++ b/vendor/github.com/go-xmlfmt/xmlfmt/xmlfmt.go @@ -0,0 +1,56 @@ +//////////////////////////////////////////////////////////////////////////// +// Porgram: xmlfmt.go +// Purpose: Go XML Beautify from XML string using pure string manipulation +// Authors: Antonio Sun (c) 2016-2019, All rights reserved +//////////////////////////////////////////////////////////////////////////// + +package xmlfmt + +import ( + "regexp" + "strings" +) + +var ( + reg = regexp.MustCompile(`<([/!]?)([^>]+?)(/?)>`) + // NL is the newline string used in XML output, define for DOS-convenient. + NL = "\r\n" +) + +// FormatXML will (purly) reformat the XML string in a readable way, without any rewriting/altering the structure +func FormatXML(xmls, prefix, indent string) string { + src := regexp.MustCompile(`(?s)>\s+<`).ReplaceAllString(xmls, "><") + + rf := replaceTag(prefix, indent) + return (prefix + reg.ReplaceAllStringFunc(src, rf)) +} + +// replaceTag returns a closure function to do 's/(?<=>)\s+(?=<)//g; s(<(/?)([^>]+?)(/?)>)($indent+=$3?0:$1?-1:1;"<$1$2$3>"."\n".(" "x$indent))ge' as in Perl +// and deal with comments as well +func replaceTag(prefix, indent string) func(string) string { + indentLevel := 0 + return func(m string) string { + // head elem + if strings.HasPrefix(m, "") { + return NL + prefix + strings.Repeat(indent, indentLevel) + m + } + // comment elem + if strings.HasPrefix(m, " + +# Roadmap + +``` +* version ( expected release date ) + +* v0.5.0 + | + | refactor all sources for maintainability and improve performance + | + v +* v0.6.0 ( 2021/05 Mid ) + | + | while maintaining compatibility with encoding/json, we will add convenient APIs + | + v +* v1.0.0 ( 2021/06 Mid ) +``` + +We are accepting requests for features that will be implemented between v0.6.0 and v.1.0.0. +If you have the API you need, please submit your issue [here](https://github.com/goccy/go-json/issues). +For example, I'm thinking of supporting `context.Context` of `json.Marshaler` and decoding using JSON Path. + +# Installation + +``` +go get github.com/goccy/go-json +``` + +# How to use + +Replace import statement from `encoding/json` to `github.com/goccy/go-json` + +``` +-import "encoding/json" ++import "github.com/goccy/go-json" +``` + +# JSON library comparison + +| name | encoder | decoder | compatible with `encoding/json` | +| :----: | :------: | :-----: | :-----------------------------: | +| encoding/json | yes | yes | N/A | +| [json-iterator/go](https://github.com/json-iterator/go) | yes | yes | partial | +| [easyjson](https://github.com/mailru/easyjson) | yes | yes | no | +| [gojay](https://github.com/francoispqt/gojay) | yes | yes | no | +| [segmentio/encoding/json](https://github.com/segmentio/encoding/tree/master/json) | yes | yes | yes | +| [jettison](https://github.com/wI2L/jettison) | yes | no | no | +| [simdjson-go](https://github.com/minio/simdjson-go) | no | yes | no | +| goccy/go-json | yes | yes | yes | + +- `json-iterator/go` isn't compatible with `encoding/json` in many ways, but it hasn't been supported for a long time. + + +# Benchmarks + +``` +$ cd benchmarks +$ go test -bench . +``` + +## Encode + + + + +## Decode + + + + + + +# Fuzzing + +[go-json-fuzz](https://github.com/goccy/go-json-fuzz) is the repository for fuzzing tests. +If you run the test in this repository and find a bug, please commit to corpus to go-json-fuzz and report the issue to [go-json](https://github.com/goccy/go-json/issues). + +# How it works + +`go-json` is very fast in both encoding and decoding compared to other libraries. +It's easier to implement by using automatic code generation for performance or by using a dedicated interface, but `go-json` dares to stick to compatibility with `encoding/json` and is the simple interface. Despite this, we are developing with the aim of being the fastest library. + +Here, we explain the various speed-up techniques implemented by `go-json`. + +## Basic technique + +The techniques listed here are the ones used by most of the libraries listed above. + +### Buffer reuse + +Since the only value required for the result of `json.Marshal(interface{}) ([]byte, error)` is `[]byte`, the only value that must be allocated during encoding is the return value `[]byte` . + +Also, as the number of allocations increases, the performance will be affected, so the number of allocations should be kept as low as possible when creating `[]byte`. + +Therefore, there is a technique to reduce the number of times a new buffer must be allocated by reusing the buffer used for the previous encoding by using `sync.Pool`. + +Finally, you allocate a buffer that is as long as the resulting buffer and copy the contents into it, you only need to allocate the buffer once in theory. + +```go +type buffer struct { + data []byte +} + +var bufPool = sync.Pool{ + New: func() interface{} { + return &buffer{data: make([]byte, 0, 1024)} + }, +} + +buf := bufPool.Get().(*buffer) +data := encode(buf.data) // reuse buf.data + +newBuf := make([]byte, len(data)) +copy(newBuf, buf) + +buf.data = data +bufPool.Put(buf) +``` + +### Elimination of reflection + +As you know, the reflection operation is very slow. + +Therefore, using the fact that the address position where the type information is stored is fixed for each binary ( we call this `typeptr` ), +we can use the address in the type information to call a pre-built optimized process. + +For example, you can get the address to the type information from `interface{}` as follows and you can use that information to call a process that does not have reflection. + +To process without reflection, pass a pointer (`unsafe.Pointer`) to the value is stored. + +```go + +type emptyInterface struct { + typ unsafe.Pointer + ptr unsafe.Pointer +} + +var typeToEncoder = map[uintptr]func(unsafe.Pointer)([]byte, error){} + +func Marshal(v interface{}) ([]byte, error) { + iface := (*emptyInterface)(unsafe.Pointer(&v) + typeptr := uintptr(iface.typ) + if enc, exists := typeToEncoder[typeptr]; exists { + return enc(iface.ptr) + } + ... +} +``` + +※ In reality, `typeToEncoder` can be referenced by multiple goroutines, so exclusive control is required. + +## Unique speed-up technique + +## Encoder + +### Do not escape arguments of `Marshal` + +`json.Marshal` and `json.Unmarshal` receive `interface{}` value and they perform type determination dynamically to process. +In normal case, you need to use the `reflect` library to determine the type dynamically, but since `reflect.Type` is defined as `interface`, when you call the method of `reflect.Type`, The reflect's argument is escaped. + +Therefore, the arguments for `Marshal` and `Unmarshal` are always escape to the heap. +However, `go-json` can use the feature of `reflect.Type` while avoiding escaping. + +`reflect.Type` is defined as `interface`, but in reality `reflect.Type` is implemented only by the structure `rtype` defined in the `reflect` package. +For this reason, to date `reflect.Type` is the same as `*reflect.rtype`. + +Therefore, by directly handling `*reflect.rtype`, which is an implementation of `reflect.Type`, it is possible to avoid escaping because it changes from `interface` to using `struct`. + +The technique for working with `*reflect.rtype` directly from `go-json` is implemented at https://github.com/goccy/go-json/blob/master/rtype.go. + +Also, the same technique is cut out as a library ( https://github.com/goccy/go-reflect ) + +Initially this feature was the default behavior of `go-json`. +But after careful testing, I found that I passed a large value to `json.Marshal()` and if the argument could not be assigned to the stack, it could not be properly escaped to the heap (a bug in the Go compiler). + +Therefore, this feature will be provided as an **optional** until this issue is resolved. + +To use it, add `NoEscape` like `MarshalNoEscape()` + +### Encoding using opcode sequence + +I explained that you can use `typeptr` to call a pre-built process from type information. + +In other libraries, this dedicated process is processed by making it an function calling like anonymous function, but function calls are inherently slow processes and should be avoided as much as possible. + +Therefore, `go-json` adopted the Instruction-based execution processing system, which is also used to implement virtual machines for programming language. + +If it is the first type to encode, create the opcode ( instruction ) sequence required for encoding. +From the second time onward, use `typeptr` to get the cached pre-built opcode sequence and encode it based on it. An example of the opcode sequence is shown below. + +```go +json.Marshal(struct{ + X int `json:"x"` + Y string `json:"y"` +}{X: 1, Y: "hello"}) +``` + +When encoding a structure like the one above, create a sequence of opcodes like this: + +``` +- opStructFieldHead ( `{` ) +- opStructFieldInt ( `"x": 1,` ) +- opStructFieldString ( `"y": "hello"` ) +- opStructEnd ( `}` ) +- opEnd +``` + +※ When processing each operation, write the letters on the right. + +In addition, each opcode is managed by the following structure ( +Pseudo code ). + +```go +type opType int +const ( + opStructFieldHead opType = iota + opStructFieldInt + opStructFieldStirng + opStructEnd + opEnd +) +type opcode struct { + op opType + key []byte + next *opcode +} +``` + +The process of encoding using the opcode sequence is roughly implemented as follows. + +```go +func encode(code *opcode, b []byte, p unsafe.Pointer) ([]byte, error) { + for { + switch code.op { + case opStructFieldHead: + b = append(b, '{') + code = code.next + case opStructFieldInt: + b = append(b, code.key...) + b = appendInt((*int)(unsafe.Pointer(uintptr(p)+code.offset))) + code = code.next + case opStructFieldString: + b = append(b, code.key...) + b = appendString((*string)(unsafe.Pointer(uintptr(p)+code.offset))) + code = code.next + case opStructEnd: + b = append(b, '}') + code = code.next + case opEnd: + goto END + } + } +END: + return b, nil +} +``` + +In this way, the huge `switch-case` is used to encode by manipulating the linked list opcodes to avoid unnecessary function calls. + +### Opcode sequence optimization + +One of the advantages of encoding using the opcode sequence is the ease of optimization. +The opcode sequence mentioned above is actually converted into the following optimized operations and used. + +``` +- opStructFieldHeadInt ( `{"x": 1,` ) +- opStructEndString ( `"y": "hello"}` ) +- opEnd +``` + +It has been reduced from 5 opcodes to 3 opcodes ! +Reducing the number of opcodees means reducing the number of branches with `switch-case`. +In other words, the closer the number of operations is to 1, the faster the processing can be performed. + +In `go-json`, optimization to reduce the number of opcodes itself like the above and it speeds up by preparing opcodes with optimized paths. + +### Change recursive call from CALL to JMP + +Recursive processing is required during encoding if the type is defined recursively as follows: + +```go +type T struct { + X int + U *U +} + +type U struct { + T *T +} + +b, err := json.Marshal(&T{ + X: 1, + U: &U{ + T: &T{ + X: 2, + }, + }, +}) +fmt.Println(string(b)) // {"X":1,"U":{"T":{"X":2,"U":null}}} +``` + +In `go-json`, recursive processing is processed by the operation type of ` opStructFieldRecursive`. + +In this operation, after acquiring the opcode sequence used for recursive processing, the function is **not** called recursively as it is, but the necessary values ​​are saved by itself and implemented by moving to the next operation. + +The technique of implementing recursive processing with the `JMP` operation while avoiding the `CALL` operation is a famous technique for implementing a high-speed virtual machine. + +For more details, please refer to [the article](https://engineering.mercari.com/blog/entry/1599563768-081104c850) ( but Japanese only ). + +### Dispatch by typeptr from map to slice + +When retrieving the data cached from the type information by `typeptr`, we usually use map. +Map requires exclusive control, so use `sync.Map` for a naive implementation. + +However, this is slow, so it's a good idea to use the `atomic` package for exclusive control as implemented by `segmentio/encoding/json` ( https://github.com/segmentio/encoding/blob/master/json/codec.go#L41-L55 ). + +This implementation slows down the set instead of speeding up the get, but it works well because of the nature of the library, it encodes much more for the same type. + +However, as a result of profiling, I noticed that `runtime.mapaccess2` accounts for a significant percentage of the execution time. So I thought if I could change the lookup from map to slice. + +There is an API named `typelinks` defined in the `runtime` package that the `reflect` package uses internally. +This allows you to get all the type information defined in the binary at runtime. + +The fact that all type information can be acquired means that by constructing slices in advance with the acquired total number of type information, it is possible to look up with the value of `typeptr` without worrying about out-of-range access. + +However, if there is too much type information, it will use a lot of memory, so by default we will only use this optimization if the slice size fits within **2Mib** . + +If this approach is not available, it will fall back to the `atomic` based process described above. + +If you want to know more, please refer to the implementation [here](https://github.com/goccy/go-json/blob/master/codec.go#L24-L76 ) + +## Decoder + +### Dispatch by typeptr from map to slice + +Like the encoder, the decoder also uses typeptr to call the dedicated process. + +### Faster termination character inspection using NUL character + +In order to decode, you have to traverse the input buffer character by position. +At that time, if you check whether the buffer has reached the end, it will be very slow. + +`buf` : `[]byte` type variable. holds the string passed to the decoder +`cursor` : `int64` type variable. holds the current read position + +```go +buflen := len(buf) +for ; cursor < buflen; cursor++ { // compare cursor and buflen at all times, it is so slow. + switch buf[cursor] { + case ' ', '\n', '\r', '\t': + } +} +``` + +Therefore, by adding the `NUL` (`\000`) character to the end of the read buffer as shown below, it is possible to check the termination character at the same time as other characters. + +```go +for { + switch buf[cursor] { + case ' ', '\n', '\r', '\t': + case '\000': + return nil + } + cursor++ +} +``` + +### Use Boundary Check Elimination + +Due to the `NUL` character optimization, the Go compiler does a boundary check every time, even though `buf[cursor]` does not cause out-of-range access. + +Therefore, `go-json` eliminates boundary check by fetching characters for hotspot by pointer operation. For example, the following code. + +```go +func char(ptr unsafe.Pointer, offset int64) byte { + return *(*byte)(unsafe.Pointer(uintptr(ptr) + uintptr(offset))) +} + +p := (*sliceHeader)(&unsafe.Pointer(buf)).data +for { + switch char(p, cursor) { + case ' ', '\n', '\r', '\t': + case '\000': + return nil + } + cursor++ +} +``` + +### Checking the existence of fields of struct using Bitmaps + +I found by the profiling result, in the struct decode, lookup process for field was taking a long time. + +For example, consider decoding a string like `{"a":1,"b":2,"c":3}` into the following structure: + +```go +type T struct { + A int `json:"a"` + B int `json:"b"` + C int `json:"c"` +} +``` + +At this time, it was found that it takes a lot of time to acquire the decoding process corresponding to the field from the field name as shown below during the decoding process. + +```go +fieldName := decodeKey(buf, cursor) // "a" or "b" or "c" +decoder, exists := fieldToDecoderMap[fieldName] // so slow +if exists { + decoder(buf, cursor) +} else { + skipValue(buf, cursor) +} +``` + +To improve this process, `json-iterator/go` is optimized so that it can be branched by switch-case when the number of fields in the structure is 10 or less (switch-case is faster than map). However, there is a risk of hash collision because the value hashed by the FNV algorithm is used for conditional branching. Also, `gojay` processes this part at high speed by letting the library user yourself write `switch-case`. + + +`go-json` considers and implements a new approach that is different from these. I call this **bitmap field optimization**. + +The range of values ​​per character can be represented by `[256]byte`. Also, if the number of fields in the structure is 8 or less, `int8` type can represent the state of each field. +In other words, it has the following structure. + +- Base ( 8bit ): `00000000` +- Key "a": `00000001` ( assign key "a" to the first bit ) +- Key "b": `00000010` ( assign key "b" to the second bit ) +- Key "c": `00000100` ( assign key "c" to the third bit ) + +Bitmap structure is the following + +``` + | key index(0) | +------------------------ + 0 | 00000000 | + 1 | 00000000 | +~~ | | +97 (a) | 00000001 | +98 (b) | 00000010 | +99 (c) | 00000100 | +~~ | | +255 | 00000000 | +``` + +You can think of this as a Bitmap with a height of `256` and a width of the maximum string length in the field name. +In other words, it can be represented by the following type . + +```go +[maxFieldKeyLength][256]int8 +``` + +When decoding a field character, check whether the corresponding character exists by referring to the pre-built bitmap like the following. + +```go +var curBit int8 = math.MaxInt8 // 11111111 + +c := char(buf, cursor) +bit := bitmap[keyIdx][c] +curBit &= bit +if curBit == 0 { + // not found field +} +``` + +If `curBit` is not `0` until the end of the field string, then the string is +You may have hit one of the fields. +But the possibility is that if the decoded string is shorter than the field string, you will get a false hit. + +- input: `{"a":1}` +```go +type T struct { + X int `json:"abc"` +} +``` +※ Since `a` is shorter than `abc`, it can decode to the end of the field character without `curBit` being 0. + +Rest assured. In this case, it doesn't matter because you can tell if you hit by comparing the string length of `a` with the string length of `abc`. + +Finally, calculate the position of the bit where `1` is set and get the corresponding value, and you're done. + +Using this technique, field lookups are possible with only bitwise operations and access to slices. + +`go-json` uses a similar technique for fields with 9 or more and 16 or less fields. At this time, Bitmap is constructed as `[maxKeyLen][256]int16` type. + +Currently, this optimization is not performed when the maximum length of the field name is long (specifically, 64 bytes or more) in addition to the limitation of the number of fields from the viewpoint of saving memory usage. + +### Others + +I have done a lot of other optimizations. I will find time to write about them. If you have any questions about what's written here or other optimizations, please visit the `#go-json` channel on `gophers.slack.com` . + +## Reference + +Regarding the story of go-json, there are the following articles in Japanese only. + +- https://speakerdeck.com/goccy/zui-su-falsejsonraiburariwoqiu-mete +- https://engineering.mercari.com/blog/entry/1599563768-081104c850/ + +# Looking for Sponsors + +I'm looking for sponsors this library. This library is being developed as a personal project in my spare time. If you want a quick response or problem resolution when using this library in your project, please register as a [sponsor](https://github.com/sponsors/goccy). I will cooperate as much as possible. Of course, this library is developed as an MIT license, so you can use it freely for free. + +# License + +MIT diff --git a/vendor/github.com/goccy/go-json/codec.go b/vendor/github.com/goccy/go-json/codec.go new file mode 100644 index 000000000..e109d9921 --- /dev/null +++ b/vendor/github.com/goccy/go-json/codec.go @@ -0,0 +1,104 @@ +package json + +import ( + "fmt" + "reflect" + "sync/atomic" + "unsafe" +) + +const ( + maxAcceptableTypeAddrRange = 1024 * 1024 * 2 // 2 Mib +) + +var ( + cachedDecoder []decoder + cachedDecoderMap unsafe.Pointer // map[uintptr]decoder + baseTypeAddr uintptr + maxTypeAddr uintptr + typeAddrShift uintptr +) + +//go:linkname typelinks reflect.typelinks +func typelinks() ([]unsafe.Pointer, [][]int32) + +//go:linkname rtypeOff reflect.rtypeOff +func rtypeOff(unsafe.Pointer, int32) unsafe.Pointer + +func setupCodec() error { + sections, offsets := typelinks() + if len(sections) != 1 { + return fmt.Errorf("failed to get sections") + } + if len(offsets) != 1 { + return fmt.Errorf("failed to get offsets") + } + section := sections[0] + offset := offsets[0] + var ( + min uintptr = uintptr(^uint(0)) + max uintptr = 0 + isAligned64 = true + isAligned32 = true + ) + for i := 0; i < len(offset); i++ { + typ := (*rtype)(rtypeOff(section, offset[i])) + addr := uintptr(unsafe.Pointer(typ)) + if min > addr { + min = addr + } + if max < addr { + max = addr + } + if typ.Kind() == reflect.Ptr { + addr = uintptr(unsafe.Pointer(typ.Elem())) + if min > addr { + min = addr + } + if max < addr { + max = addr + } + } + + // check every address is aligned from the base address + isAligned64 = isAligned64 && (addr-min)&63 == 0 + isAligned32 = isAligned32 && (addr-min)&31 == 0 + } + addrRange := max - min + if addrRange == 0 { + return fmt.Errorf("failed to get address range of types") + } + if isAligned64 { + typeAddrShift = 6 + } else if isAligned32 { + typeAddrShift = 5 + } + cacheSize := addrRange >> typeAddrShift + if cacheSize > maxAcceptableTypeAddrRange { + return fmt.Errorf("too big address range %d", addrRange) + } + cachedDecoder = make([]decoder, cacheSize) + baseTypeAddr = min + maxTypeAddr = max + return nil +} + +func init() { + _ = setupCodec() +} + +func loadDecoderMap() map[uintptr]decoder { + p := atomic.LoadPointer(&cachedDecoderMap) + return *(*map[uintptr]decoder)(unsafe.Pointer(&p)) +} + +func storeDecoder(typ uintptr, dec decoder, m map[uintptr]decoder) { + newDecoderMap := make(map[uintptr]decoder, len(m)+1) + newDecoderMap[typ] = dec + + for k, v := range m { + newDecoderMap[k] = v + } + + atomic.StorePointer(&cachedDecoderMap, *(*unsafe.Pointer)(unsafe.Pointer(&newDecoderMap))) +} diff --git a/vendor/github.com/goccy/go-json/decode.go b/vendor/github.com/goccy/go-json/decode.go new file mode 100644 index 000000000..14d1a337e --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode.go @@ -0,0 +1,261 @@ +package json + +import ( + "encoding" + "fmt" + "io" + "reflect" + "strconv" + "unsafe" +) + +type decoder interface { + decode([]byte, int64, int64, unsafe.Pointer) (int64, error) + decodeStream(*stream, int64, unsafe.Pointer) error +} + +type Decoder struct { + s *stream +} + +var ( + unmarshalJSONType = reflect.TypeOf((*Unmarshaler)(nil)).Elem() + unmarshalTextType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem() +) + +const ( + nul = '\000' + maxDecodeNestingDepth = 10000 +) + +func unmarshal(data []byte, v interface{}) error { + src := make([]byte, len(data)+1) // append nul byte to the end + copy(src, data) + + header := (*emptyInterface)(unsafe.Pointer(&v)) + + if err := validateType(header.typ, uintptr(header.ptr)); err != nil { + return err + } + dec, err := decodeCompileToGetDecoder(header.typ) + if err != nil { + return err + } + cursor, err := dec.decode(src, 0, 0, header.ptr) + if err != nil { + return err + } + return validateEndBuf(src, cursor) +} + +func unmarshalNoEscape(data []byte, v interface{}) error { + src := make([]byte, len(data)+1) // append nul byte to the end + copy(src, data) + + header := (*emptyInterface)(unsafe.Pointer(&v)) + + if err := validateType(header.typ, uintptr(header.ptr)); err != nil { + return err + } + dec, err := decodeCompileToGetDecoder(header.typ) + if err != nil { + return err + } + cursor, err := dec.decode(src, 0, 0, noescape(header.ptr)) + if err != nil { + return err + } + return validateEndBuf(src, cursor) +} + +func validateEndBuf(src []byte, cursor int64) error { + for { + switch src[cursor] { + case ' ', '\t', '\n', '\r': + cursor++ + continue + case nul: + return nil + } + return errSyntax( + fmt.Sprintf("invalid character '%c' after top-level value", src[cursor]), + cursor+1, + ) + } +} + +//nolint:staticcheck +//go:nosplit +func noescape(p unsafe.Pointer) unsafe.Pointer { + x := uintptr(p) + return unsafe.Pointer(x ^ 0) +} + +func validateType(typ *rtype, p uintptr) error { + if typ == nil || typ.Kind() != reflect.Ptr || p == 0 { + return &InvalidUnmarshalError{Type: rtype2type(typ)} + } + return nil +} + +// NewDecoder returns a new decoder that reads from r. +// +// The decoder introduces its own buffering and may +// read data from r beyond the JSON values requested. +func NewDecoder(r io.Reader) *Decoder { + s := newStream(r) + return &Decoder{ + s: s, + } +} + +// Buffered returns a reader of the data remaining in the Decoder's +// buffer. The reader is valid until the next call to Decode. +func (d *Decoder) Buffered() io.Reader { + return d.s.buffered() +} + +func (d *Decoder) prepareForDecode() error { + s := d.s + for { + switch s.char() { + case ' ', '\t', '\r', '\n': + s.cursor++ + continue + case ',', ':': + s.cursor++ + return nil + case nul: + if s.read() { + continue + } + return io.EOF + } + break + } + return nil +} + +// Decode reads the next JSON-encoded value from its +// input and stores it in the value pointed to by v. +// +// See the documentation for Unmarshal for details about +// the conversion of JSON into a Go value. +func (d *Decoder) Decode(v interface{}) error { + header := (*emptyInterface)(unsafe.Pointer(&v)) + typ := header.typ + ptr := uintptr(header.ptr) + typeptr := uintptr(unsafe.Pointer(typ)) + // noescape trick for header.typ ( reflect.*rtype ) + copiedType := *(**rtype)(unsafe.Pointer(&typeptr)) + + if err := validateType(copiedType, ptr); err != nil { + return err + } + + dec, err := decodeCompileToGetDecoder(typ) + if err != nil { + return err + } + if err := d.prepareForDecode(); err != nil { + return err + } + s := d.s + if err := dec.decodeStream(s, 0, header.ptr); err != nil { + return err + } + s.reset() + s.bufSize = initBufSize + return nil +} + +func (d *Decoder) More() bool { + s := d.s + for { + switch s.char() { + case ' ', '\n', '\r', '\t': + s.cursor++ + continue + case '}', ']': + return false + case nul: + if s.read() { + continue + } + return false + } + break + } + return true +} + +func (d *Decoder) Token() (Token, error) { + s := d.s + for { + c := s.char() + switch c { + case ' ', '\n', '\r', '\t': + s.cursor++ + case '{', '[', ']', '}': + s.cursor++ + return Delim(c), nil + case ',', ':': + s.cursor++ + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + bytes := floatBytes(s) + s := *(*string)(unsafe.Pointer(&bytes)) + f64, err := strconv.ParseFloat(s, 64) + if err != nil { + return nil, err + } + return f64, nil + case '"': + bytes, err := stringBytes(s) + if err != nil { + return nil, err + } + return string(bytes), nil + case 't': + if err := trueBytes(s); err != nil { + return nil, err + } + return true, nil + case 'f': + if err := falseBytes(s); err != nil { + return nil, err + } + return false, nil + case 'n': + if err := nullBytes(s); err != nil { + return nil, err + } + return nil, nil + case nul: + if s.read() { + continue + } + goto END + default: + return nil, errInvalidCharacter(s.char(), "token", s.totalOffset()) + } + } +END: + return nil, io.EOF +} + +// DisallowUnknownFields causes the Decoder to return an error when the destination +// is a struct and the input contains object keys which do not match any +// non-ignored, exported fields in the destination. +func (d *Decoder) DisallowUnknownFields() { + d.s.disallowUnknownFields = true +} + +func (d *Decoder) InputOffset() int64 { + return d.s.totalOffset() +} + +// UseNumber causes the Decoder to unmarshal a number into an interface{} as a +// Number instead of as a float64. +func (d *Decoder) UseNumber() { + d.s.useNumber = true +} diff --git a/vendor/github.com/goccy/go-json/decode_anonymous_field.go b/vendor/github.com/goccy/go-json/decode_anonymous_field.go new file mode 100644 index 000000000..77931f2ff --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_anonymous_field.go @@ -0,0 +1,35 @@ +package json + +import ( + "unsafe" +) + +type anonymousFieldDecoder struct { + structType *rtype + offset uintptr + dec decoder +} + +func newAnonymousFieldDecoder(structType *rtype, offset uintptr, dec decoder) *anonymousFieldDecoder { + return &anonymousFieldDecoder{ + structType: structType, + offset: offset, + dec: dec, + } +} + +func (d *anonymousFieldDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + if *(*unsafe.Pointer)(p) == nil { + *(*unsafe.Pointer)(p) = unsafe_New(d.structType) + } + p = *(*unsafe.Pointer)(p) + return d.dec.decodeStream(s, depth, unsafe.Pointer(uintptr(p)+d.offset)) +} + +func (d *anonymousFieldDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + if *(*unsafe.Pointer)(p) == nil { + *(*unsafe.Pointer)(p) = unsafe_New(d.structType) + } + p = *(*unsafe.Pointer)(p) + return d.dec.decode(buf, cursor, depth, unsafe.Pointer(uintptr(p)+d.offset)) +} diff --git a/vendor/github.com/goccy/go-json/decode_array.go b/vendor/github.com/goccy/go-json/decode_array.go new file mode 100644 index 000000000..508f097ec --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_array.go @@ -0,0 +1,146 @@ +package json + +import ( + "unsafe" +) + +type arrayDecoder struct { + elemType *rtype + size uintptr + valueDecoder decoder + alen int + structName string + fieldName string + zeroValue unsafe.Pointer +} + +func newArrayDecoder(dec decoder, elemType *rtype, alen int, structName, fieldName string) *arrayDecoder { + zeroValue := *(*unsafe.Pointer)(unsafe_New(elemType)) + return &arrayDecoder{ + valueDecoder: dec, + elemType: elemType, + size: elemType.Size(), + alen: alen, + structName: structName, + fieldName: fieldName, + zeroValue: zeroValue, + } +} + +func (d *arrayDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + depth++ + if depth > maxDecodeNestingDepth { + return errExceededMaxDepth(s.char(), s.cursor) + } + + for { + switch s.char() { + case ' ', '\n', '\t', '\r': + case 'n': + if err := nullBytes(s); err != nil { + return err + } + return nil + case '[': + idx := 0 + for { + s.cursor++ + if idx < d.alen { + if err := d.valueDecoder.decodeStream(s, depth, unsafe.Pointer(uintptr(p)+uintptr(idx)*d.size)); err != nil { + return err + } + } else { + if err := s.skipValue(depth); err != nil { + return err + } + } + idx++ + s.skipWhiteSpace() + switch s.char() { + case ']': + for idx < d.alen { + *(*unsafe.Pointer)(unsafe.Pointer(uintptr(p) + uintptr(idx)*d.size)) = d.zeroValue + idx++ + } + s.cursor++ + return nil + case ',': + continue + case nul: + if s.read() { + continue + } + goto ERROR + default: + goto ERROR + } + } + case nul: + if s.read() { + continue + } + goto ERROR + default: + goto ERROR + } + s.cursor++ + } +ERROR: + return errUnexpectedEndOfJSON("array", s.totalOffset()) +} + +func (d *arrayDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + depth++ + if depth > maxDecodeNestingDepth { + return 0, errExceededMaxDepth(buf[cursor], cursor) + } + + for { + switch buf[cursor] { + case ' ', '\n', '\t', '\r': + cursor++ + continue + case 'n': + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + return cursor, nil + case '[': + idx := 0 + for { + cursor++ + if idx < d.alen { + c, err := d.valueDecoder.decode(buf, cursor, depth, unsafe.Pointer(uintptr(p)+uintptr(idx)*d.size)) + if err != nil { + return 0, err + } + cursor = c + } else { + c, err := skipValue(buf, cursor, depth) + if err != nil { + return 0, err + } + cursor = c + } + idx++ + cursor = skipWhiteSpace(buf, cursor) + switch buf[cursor] { + case ']': + for idx < d.alen { + *(*unsafe.Pointer)(unsafe.Pointer(uintptr(p) + uintptr(idx)*d.size)) = d.zeroValue + idx++ + } + cursor++ + return cursor, nil + case ',': + continue + default: + return 0, errInvalidCharacter(buf[cursor], "array", cursor) + } + } + default: + return 0, errUnexpectedEndOfJSON("array", cursor) + } + } +} diff --git a/vendor/github.com/goccy/go-json/decode_bool.go b/vendor/github.com/goccy/go-json/decode_bool.go new file mode 100644 index 000000000..9efc1c153 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_bool.go @@ -0,0 +1,74 @@ +package json + +import ( + "unsafe" +) + +type boolDecoder struct { + structName string + fieldName string +} + +func newBoolDecoder(structName, fieldName string) *boolDecoder { + return &boolDecoder{structName: structName, fieldName: fieldName} +} + +func (d *boolDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + s.skipWhiteSpace() + for { + switch s.char() { + case 't': + if err := trueBytes(s); err != nil { + return err + } + **(**bool)(unsafe.Pointer(&p)) = true + return nil + case 'f': + if err := falseBytes(s); err != nil { + return err + } + **(**bool)(unsafe.Pointer(&p)) = false + return nil + case 'n': + if err := nullBytes(s); err != nil { + return err + } + return nil + case nul: + if s.read() { + continue + } + goto ERROR + } + break + } +ERROR: + return errUnexpectedEndOfJSON("bool", s.totalOffset()) +} + +func (d *boolDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + cursor = skipWhiteSpace(buf, cursor) + switch buf[cursor] { + case 't': + if err := validateTrue(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + **(**bool)(unsafe.Pointer(&p)) = true + return cursor, nil + case 'f': + if err := validateFalse(buf, cursor); err != nil { + return 0, err + } + cursor += 5 + **(**bool)(unsafe.Pointer(&p)) = false + return cursor, nil + case 'n': + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + return cursor, nil + } + return 0, errUnexpectedEndOfJSON("bool", cursor) +} diff --git a/vendor/github.com/goccy/go-json/decode_bytes.go b/vendor/github.com/goccy/go-json/decode_bytes.go new file mode 100644 index 000000000..e0b8b8a62 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_bytes.go @@ -0,0 +1,172 @@ +package json + +import ( + "encoding/base64" + "unsafe" +) + +type bytesDecoder struct { + typ *rtype + sliceDecoder decoder + structName string + fieldName string +} + +func byteUnmarshalerSliceDecoder(typ *rtype, structName string, fieldName string) decoder { + var unmarshalDecoder decoder + switch { + case rtype_ptrTo(typ).Implements(unmarshalJSONType): + unmarshalDecoder = newUnmarshalJSONDecoder(rtype_ptrTo(typ), structName, fieldName) + case rtype_ptrTo(typ).Implements(unmarshalTextType): + unmarshalDecoder = newUnmarshalTextDecoder(rtype_ptrTo(typ), structName, fieldName) + } + if unmarshalDecoder == nil { + return nil + } + return newSliceDecoder(unmarshalDecoder, typ, 1, structName, fieldName) +} + +func newBytesDecoder(typ *rtype, structName string, fieldName string) *bytesDecoder { + return &bytesDecoder{ + typ: typ, + sliceDecoder: byteUnmarshalerSliceDecoder(typ, structName, fieldName), + structName: structName, + fieldName: fieldName, + } +} + +func (d *bytesDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + bytes, err := d.decodeStreamBinary(s, depth, p) + if err != nil { + return err + } + if bytes == nil { + s.reset() + return nil + } + decodedLen := base64.StdEncoding.DecodedLen(len(bytes)) + buf := make([]byte, decodedLen) + if _, err := base64.StdEncoding.Decode(buf, bytes); err != nil { + return err + } + *(*[]byte)(p) = buf + s.reset() + return nil +} + +func (d *bytesDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + bytes, c, err := d.decodeBinary(buf, cursor, depth, p) + if err != nil { + return 0, err + } + if bytes == nil { + return c, nil + } + cursor = c + decodedLen := base64.StdEncoding.DecodedLen(len(bytes)) + b := make([]byte, decodedLen) + n, err := base64.StdEncoding.Decode(b, bytes) + if err != nil { + return 0, err + } + *(*[]byte)(p) = b[:n] + return cursor, nil +} + +func binaryBytes(s *stream) ([]byte, error) { + s.cursor++ + start := s.cursor + for { + switch s.char() { + case '"': + literal := s.buf[start:s.cursor] + s.cursor++ + return literal, nil + case nul: + if s.read() { + continue + } + goto ERROR + } + s.cursor++ + } +ERROR: + return nil, errUnexpectedEndOfJSON("[]byte", s.totalOffset()) +} + +func (d *bytesDecoder) decodeStreamBinary(s *stream, depth int64, p unsafe.Pointer) ([]byte, error) { + for { + switch s.char() { + case ' ', '\n', '\t', '\r': + s.cursor++ + continue + case '"': + return binaryBytes(s) + case 'n': + if err := nullBytes(s); err != nil { + return nil, err + } + return nil, nil + case '[': + if d.sliceDecoder == nil { + return nil, &UnmarshalTypeError{ + Type: rtype2type(d.typ), + Offset: s.totalOffset(), + } + } + if err := d.sliceDecoder.decodeStream(s, depth, p); err != nil { + return nil, err + } + return nil, nil + case nul: + if s.read() { + continue + } + } + break + } + return nil, errNotAtBeginningOfValue(s.totalOffset()) +} + +func (d *bytesDecoder) decodeBinary(buf []byte, cursor, depth int64, p unsafe.Pointer) ([]byte, int64, error) { + for { + switch buf[cursor] { + case ' ', '\n', '\t', '\r': + cursor++ + case '"': + cursor++ + start := cursor + for { + switch buf[cursor] { + case '"': + literal := buf[start:cursor] + cursor++ + return literal, cursor, nil + case nul: + return nil, 0, errUnexpectedEndOfJSON("[]byte", cursor) + } + cursor++ + } + case '[': + if d.sliceDecoder == nil { + return nil, 0, &UnmarshalTypeError{ + Type: rtype2type(d.typ), + Offset: cursor, + } + } + c, err := d.sliceDecoder.decode(buf, cursor, depth, p) + if err != nil { + return nil, 0, err + } + return nil, c, nil + case 'n': + if err := validateNull(buf, cursor); err != nil { + return nil, 0, err + } + cursor += 4 + return nil, cursor, nil + default: + return nil, 0, errNotAtBeginningOfValue(cursor) + } + } +} diff --git a/vendor/github.com/goccy/go-json/decode_compile.go b/vendor/github.com/goccy/go-json/decode_compile.go new file mode 100644 index 000000000..62f3a610d --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_compile.go @@ -0,0 +1,467 @@ +package json + +import ( + "encoding/json" + "fmt" + "reflect" + "strings" + "unicode" + "unsafe" + + "github.com/goccy/go-json/internal/runtime" +) + +var ( + jsonNumberType = reflect.TypeOf(json.Number("")) +) + +func decodeCompileToGetDecoderSlowPath(typeptr uintptr, typ *rtype) (decoder, error) { + decoderMap := loadDecoderMap() + if dec, exists := decoderMap[typeptr]; exists { + return dec, nil + } + + dec, err := decodeCompileHead(typ, map[uintptr]decoder{}) + if err != nil { + return nil, err + } + storeDecoder(typeptr, dec, decoderMap) + return dec, nil +} + +func decodeCompileHead(typ *rtype, structTypeToDecoder map[uintptr]decoder) (decoder, error) { + switch { + case rtype_ptrTo(typ).Implements(unmarshalJSONType): + return newUnmarshalJSONDecoder(rtype_ptrTo(typ), "", ""), nil + case rtype_ptrTo(typ).Implements(unmarshalTextType): + return newUnmarshalTextDecoder(rtype_ptrTo(typ), "", ""), nil + } + return decodeCompile(typ.Elem(), "", "", structTypeToDecoder) +} + +func decodeCompile(typ *rtype, structName, fieldName string, structTypeToDecoder map[uintptr]decoder) (decoder, error) { + switch { + case rtype_ptrTo(typ).Implements(unmarshalJSONType): + return newUnmarshalJSONDecoder(rtype_ptrTo(typ), structName, fieldName), nil + case rtype_ptrTo(typ).Implements(unmarshalTextType): + return newUnmarshalTextDecoder(rtype_ptrTo(typ), structName, fieldName), nil + } + + switch typ.Kind() { + case reflect.Ptr: + return decodeCompilePtr(typ, structName, fieldName, structTypeToDecoder) + case reflect.Struct: + return decodeCompileStruct(typ, structName, fieldName, structTypeToDecoder) + case reflect.Slice: + elem := typ.Elem() + if elem.Kind() == reflect.Uint8 { + return decodeCompileBytes(elem, structName, fieldName) + } + return decodeCompileSlice(typ, structName, fieldName, structTypeToDecoder) + case reflect.Array: + return decodeCompileArray(typ, structName, fieldName, structTypeToDecoder) + case reflect.Map: + return decodeCompileMap(typ, structName, fieldName, structTypeToDecoder) + case reflect.Interface: + return decodeCompileInterface(typ, structName, fieldName) + case reflect.Uintptr: + return decodeCompileUint(typ, structName, fieldName) + case reflect.Int: + return decodeCompileInt(typ, structName, fieldName) + case reflect.Int8: + return decodeCompileInt8(typ, structName, fieldName) + case reflect.Int16: + return decodeCompileInt16(typ, structName, fieldName) + case reflect.Int32: + return decodeCompileInt32(typ, structName, fieldName) + case reflect.Int64: + return decodeCompileInt64(typ, structName, fieldName) + case reflect.Uint: + return decodeCompileUint(typ, structName, fieldName) + case reflect.Uint8: + return decodeCompileUint8(typ, structName, fieldName) + case reflect.Uint16: + return decodeCompileUint16(typ, structName, fieldName) + case reflect.Uint32: + return decodeCompileUint32(typ, structName, fieldName) + case reflect.Uint64: + return decodeCompileUint64(typ, structName, fieldName) + case reflect.String: + return decodeCompileString(typ, structName, fieldName) + case reflect.Bool: + return decodeCompileBool(structName, fieldName) + case reflect.Float32: + return decodeCompileFloat32(structName, fieldName) + case reflect.Float64: + return decodeCompileFloat64(structName, fieldName) + } + return nil, &UnmarshalTypeError{ + Value: "object", + Type: rtype2type(typ), + Offset: 0, + } +} + +func isStringTagSupportedType(typ *rtype) bool { + switch { + case rtype_ptrTo(typ).Implements(unmarshalJSONType): + return false + case rtype_ptrTo(typ).Implements(unmarshalTextType): + return false + } + switch typ.Kind() { + case reflect.Map: + return false + case reflect.Slice: + return false + case reflect.Array: + return false + case reflect.Struct: + return false + case reflect.Interface: + return false + } + return true +} + +func decodeCompileMapKey(typ *rtype, structName, fieldName string, structTypeToDecoder map[uintptr]decoder) (decoder, error) { + if rtype_ptrTo(typ).Implements(unmarshalTextType) { + return newUnmarshalTextDecoder(rtype_ptrTo(typ), structName, fieldName), nil + } + dec, err := decodeCompile(typ, structName, fieldName, structTypeToDecoder) + if err != nil { + return nil, err + } + for { + switch t := dec.(type) { + case *stringDecoder, *interfaceDecoder: + return dec, nil + case *boolDecoder, *intDecoder, *uintDecoder, *numberDecoder: + return newWrappedStringDecoder(typ, dec, structName, fieldName), nil + case *ptrDecoder: + dec = t.dec + default: + goto ERROR + } + } +ERROR: + return nil, &UnmarshalTypeError{ + Value: "object", + Type: rtype2type(typ), + Offset: 0, + } +} + +func decodeCompilePtr(typ *rtype, structName, fieldName string, structTypeToDecoder map[uintptr]decoder) (decoder, error) { + dec, err := decodeCompile(typ.Elem(), structName, fieldName, structTypeToDecoder) + if err != nil { + return nil, err + } + return newPtrDecoder(dec, typ.Elem(), structName, fieldName), nil +} + +func decodeCompileInt(typ *rtype, structName, fieldName string) (decoder, error) { + return newIntDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v int64) { + *(*int)(p) = int(v) + }), nil +} + +func decodeCompileInt8(typ *rtype, structName, fieldName string) (decoder, error) { + return newIntDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v int64) { + *(*int8)(p) = int8(v) + }), nil +} + +func decodeCompileInt16(typ *rtype, structName, fieldName string) (decoder, error) { + return newIntDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v int64) { + *(*int16)(p) = int16(v) + }), nil +} + +func decodeCompileInt32(typ *rtype, structName, fieldName string) (decoder, error) { + return newIntDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v int64) { + *(*int32)(p) = int32(v) + }), nil +} + +func decodeCompileInt64(typ *rtype, structName, fieldName string) (decoder, error) { + return newIntDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v int64) { + *(*int64)(p) = v + }), nil +} + +func decodeCompileUint(typ *rtype, structName, fieldName string) (decoder, error) { + return newUintDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v uint64) { + *(*uint)(p) = uint(v) + }), nil +} + +func decodeCompileUint8(typ *rtype, structName, fieldName string) (decoder, error) { + return newUintDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v uint64) { + *(*uint8)(p) = uint8(v) + }), nil +} + +func decodeCompileUint16(typ *rtype, structName, fieldName string) (decoder, error) { + return newUintDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v uint64) { + *(*uint16)(p) = uint16(v) + }), nil +} + +func decodeCompileUint32(typ *rtype, structName, fieldName string) (decoder, error) { + return newUintDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v uint64) { + *(*uint32)(p) = uint32(v) + }), nil +} + +func decodeCompileUint64(typ *rtype, structName, fieldName string) (decoder, error) { + return newUintDecoder(typ, structName, fieldName, func(p unsafe.Pointer, v uint64) { + *(*uint64)(p) = v + }), nil +} + +func decodeCompileFloat32(structName, fieldName string) (decoder, error) { + return newFloatDecoder(structName, fieldName, func(p unsafe.Pointer, v float64) { + *(*float32)(p) = float32(v) + }), nil +} + +func decodeCompileFloat64(structName, fieldName string) (decoder, error) { + return newFloatDecoder(structName, fieldName, func(p unsafe.Pointer, v float64) { + *(*float64)(p) = v + }), nil +} + +func decodeCompileString(typ *rtype, structName, fieldName string) (decoder, error) { + if typ == type2rtype(jsonNumberType) { + return newNumberDecoder(structName, fieldName, func(p unsafe.Pointer, v Number) { + *(*Number)(p) = v + }), nil + } + return newStringDecoder(structName, fieldName), nil +} + +func decodeCompileBool(structName, fieldName string) (decoder, error) { + return newBoolDecoder(structName, fieldName), nil +} + +func decodeCompileBytes(typ *rtype, structName, fieldName string) (decoder, error) { + return newBytesDecoder(typ, structName, fieldName), nil +} + +func decodeCompileSlice(typ *rtype, structName, fieldName string, structTypeToDecoder map[uintptr]decoder) (decoder, error) { + elem := typ.Elem() + decoder, err := decodeCompile(elem, structName, fieldName, structTypeToDecoder) + if err != nil { + return nil, err + } + return newSliceDecoder(decoder, elem, elem.Size(), structName, fieldName), nil +} + +func decodeCompileArray(typ *rtype, structName, fieldName string, structTypeToDecoder map[uintptr]decoder) (decoder, error) { + elem := typ.Elem() + decoder, err := decodeCompile(elem, structName, fieldName, structTypeToDecoder) + if err != nil { + return nil, err + } + return newArrayDecoder(decoder, elem, typ.Len(), structName, fieldName), nil +} + +func decodeCompileMap(typ *rtype, structName, fieldName string, structTypeToDecoder map[uintptr]decoder) (decoder, error) { + keyDec, err := decodeCompileMapKey(typ.Key(), structName, fieldName, structTypeToDecoder) + if err != nil { + return nil, err + } + valueDec, err := decodeCompile(typ.Elem(), structName, fieldName, structTypeToDecoder) + if err != nil { + return nil, err + } + return newMapDecoder(typ, typ.Key(), keyDec, typ.Elem(), valueDec, structName, fieldName), nil +} + +func decodeCompileInterface(typ *rtype, structName, fieldName string) (decoder, error) { + return newInterfaceDecoder(typ, structName, fieldName), nil +} + +func decodeRemoveConflictFields(fieldMap map[string]*structFieldSet, conflictedMap map[string]struct{}, dec *structDecoder, field reflect.StructField) { + for k, v := range dec.fieldMap { + if _, exists := conflictedMap[k]; exists { + // already conflicted key + continue + } + set, exists := fieldMap[k] + if !exists { + fieldSet := &structFieldSet{ + dec: v.dec, + offset: field.Offset + v.offset, + isTaggedKey: v.isTaggedKey, + key: k, + keyLen: int64(len(k)), + } + fieldMap[k] = fieldSet + lower := strings.ToLower(k) + if _, exists := fieldMap[lower]; !exists { + fieldMap[lower] = fieldSet + } + continue + } + if set.isTaggedKey { + if v.isTaggedKey { + // conflict tag key + delete(fieldMap, k) + delete(fieldMap, strings.ToLower(k)) + conflictedMap[k] = struct{}{} + conflictedMap[strings.ToLower(k)] = struct{}{} + } + } else { + if v.isTaggedKey { + fieldSet := &structFieldSet{ + dec: v.dec, + offset: field.Offset + v.offset, + isTaggedKey: v.isTaggedKey, + key: k, + keyLen: int64(len(k)), + } + fieldMap[k] = fieldSet + lower := strings.ToLower(k) + if _, exists := fieldMap[lower]; !exists { + fieldMap[lower] = fieldSet + } + } else { + // conflict tag key + delete(fieldMap, k) + delete(fieldMap, strings.ToLower(k)) + conflictedMap[k] = struct{}{} + conflictedMap[strings.ToLower(k)] = struct{}{} + } + } + } +} + +func decodeCompileStruct(typ *rtype, structName, fieldName string, structTypeToDecoder map[uintptr]decoder) (decoder, error) { + fieldNum := typ.NumField() + conflictedMap := map[string]struct{}{} + fieldMap := map[string]*structFieldSet{} + typeptr := uintptr(unsafe.Pointer(typ)) + if dec, exists := structTypeToDecoder[typeptr]; exists { + return dec, nil + } + structDec := newStructDecoder(structName, fieldName, fieldMap) + structTypeToDecoder[typeptr] = structDec + structName = typ.Name() + for i := 0; i < fieldNum; i++ { + field := typ.Field(i) + if runtime.IsIgnoredStructField(field) { + continue + } + isUnexportedField := unicode.IsLower([]rune(field.Name)[0]) + tag := runtime.StructTagFromField(field) + dec, err := decodeCompile(type2rtype(field.Type), structName, field.Name, structTypeToDecoder) + if err != nil { + return nil, err + } + if field.Anonymous && !tag.IsTaggedKey { + if stDec, ok := dec.(*structDecoder); ok { + if type2rtype(field.Type) == typ { + // recursive definition + continue + } + decodeRemoveConflictFields(fieldMap, conflictedMap, stDec, field) + } else if pdec, ok := dec.(*ptrDecoder); ok { + contentDec := pdec.contentDecoder() + if pdec.typ == typ { + // recursive definition + continue + } + var fieldSetErr error + if isUnexportedField { + fieldSetErr = fmt.Errorf( + "json: cannot set embedded pointer to unexported struct: %v", + field.Type.Elem(), + ) + } + if dec, ok := contentDec.(*structDecoder); ok { + for k, v := range dec.fieldMap { + if _, exists := conflictedMap[k]; exists { + // already conflicted key + continue + } + set, exists := fieldMap[k] + if !exists { + fieldSet := &structFieldSet{ + dec: newAnonymousFieldDecoder(pdec.typ, v.offset, v.dec), + offset: field.Offset, + isTaggedKey: v.isTaggedKey, + key: k, + keyLen: int64(len(k)), + err: fieldSetErr, + } + fieldMap[k] = fieldSet + lower := strings.ToLower(k) + if _, exists := fieldMap[lower]; !exists { + fieldMap[lower] = fieldSet + } + continue + } + if set.isTaggedKey { + if v.isTaggedKey { + // conflict tag key + delete(fieldMap, k) + delete(fieldMap, strings.ToLower(k)) + conflictedMap[k] = struct{}{} + conflictedMap[strings.ToLower(k)] = struct{}{} + } + } else { + if v.isTaggedKey { + fieldSet := &structFieldSet{ + dec: newAnonymousFieldDecoder(pdec.typ, v.offset, v.dec), + offset: field.Offset, + isTaggedKey: v.isTaggedKey, + key: k, + keyLen: int64(len(k)), + err: fieldSetErr, + } + fieldMap[k] = fieldSet + lower := strings.ToLower(k) + if _, exists := fieldMap[lower]; !exists { + fieldMap[lower] = fieldSet + } + } else { + // conflict tag key + delete(fieldMap, k) + delete(fieldMap, strings.ToLower(k)) + conflictedMap[k] = struct{}{} + conflictedMap[strings.ToLower(k)] = struct{}{} + } + } + } + } + } + } else { + if tag.IsString && isStringTagSupportedType(type2rtype(field.Type)) { + dec = newWrappedStringDecoder(type2rtype(field.Type), dec, structName, field.Name) + } + var key string + if tag.Key != "" { + key = tag.Key + } else { + key = field.Name + } + fieldSet := &structFieldSet{ + dec: dec, + offset: field.Offset, + isTaggedKey: tag.IsTaggedKey, + key: key, + keyLen: int64(len(key)), + } + fieldMap[key] = fieldSet + lower := strings.ToLower(key) + if _, exists := fieldMap[lower]; !exists { + fieldMap[lower] = fieldSet + } + } + } + delete(structTypeToDecoder, typeptr) + structDec.tryOptimize() + return structDec, nil +} diff --git a/vendor/github.com/goccy/go-json/decode_compile_norace.go b/vendor/github.com/goccy/go-json/decode_compile_norace.go new file mode 100644 index 000000000..4a7670ab9 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_compile_norace.go @@ -0,0 +1,24 @@ +// +build !race + +package json + +import "unsafe" + +func decodeCompileToGetDecoder(typ *rtype) (decoder, error) { + typeptr := uintptr(unsafe.Pointer(typ)) + if typeptr > maxTypeAddr { + return decodeCompileToGetDecoderSlowPath(typeptr, typ) + } + + index := (typeptr - baseTypeAddr) >> typeAddrShift + if dec := cachedDecoder[index]; dec != nil { + return dec, nil + } + + dec, err := decodeCompileHead(typ, map[uintptr]decoder{}) + if err != nil { + return nil, err + } + cachedDecoder[index] = dec + return dec, nil +} diff --git a/vendor/github.com/goccy/go-json/decode_compile_race.go b/vendor/github.com/goccy/go-json/decode_compile_race.go new file mode 100644 index 000000000..a70850cf2 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_compile_race.go @@ -0,0 +1,34 @@ +// +build race + +package json + +import ( + "sync" + "unsafe" +) + +var decMu sync.RWMutex + +func decodeCompileToGetDecoder(typ *rtype) (decoder, error) { + typeptr := uintptr(unsafe.Pointer(typ)) + if typeptr > maxTypeAddr { + return decodeCompileToGetDecoderSlowPath(typeptr, typ) + } + + index := (typeptr - baseTypeAddr) >> typeAddrShift + decMu.RLock() + if dec := cachedDecoder[index]; dec != nil { + decMu.RUnlock() + return dec, nil + } + decMu.RUnlock() + + dec, err := decodeCompileHead(typ, map[uintptr]decoder{}) + if err != nil { + return nil, err + } + decMu.Lock() + cachedDecoder[index] = dec + decMu.Unlock() + return dec, nil +} diff --git a/vendor/github.com/goccy/go-json/decode_context.go b/vendor/github.com/goccy/go-json/decode_context.go new file mode 100644 index 000000000..a6ff0917d --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_context.go @@ -0,0 +1,228 @@ +package json + +import ( + "unsafe" +) + +var ( + isWhiteSpace = [256]bool{} +) + +func init() { + isWhiteSpace[' '] = true + isWhiteSpace['\n'] = true + isWhiteSpace['\t'] = true + isWhiteSpace['\r'] = true +} + +func char(ptr unsafe.Pointer, offset int64) byte { + return *(*byte)(unsafe.Pointer(uintptr(ptr) + uintptr(offset))) +} + +func skipWhiteSpace(buf []byte, cursor int64) int64 { + for isWhiteSpace[buf[cursor]] { + cursor++ + } + return cursor +} + +func skipObject(buf []byte, cursor, depth int64) (int64, error) { + braceCount := 1 + for { + switch buf[cursor] { + case '{': + braceCount++ + depth++ + if depth > maxDecodeNestingDepth { + return 0, errExceededMaxDepth(buf[cursor], cursor) + } + case '}': + depth-- + braceCount-- + if braceCount == 0 { + return cursor + 1, nil + } + case '[': + depth++ + if depth > maxDecodeNestingDepth { + return 0, errExceededMaxDepth(buf[cursor], cursor) + } + case ']': + depth-- + case '"': + for { + cursor++ + switch buf[cursor] { + case '\\': + cursor++ + if buf[cursor] == nul { + return 0, errUnexpectedEndOfJSON("string of object", cursor) + } + case '"': + goto SWITCH_OUT + case nul: + return 0, errUnexpectedEndOfJSON("string of object", cursor) + } + } + case nul: + return 0, errUnexpectedEndOfJSON("object of object", cursor) + } + SWITCH_OUT: + cursor++ + } +} + +func skipArray(buf []byte, cursor, depth int64) (int64, error) { + bracketCount := 1 + for { + switch buf[cursor] { + case '[': + bracketCount++ + depth++ + if depth > maxDecodeNestingDepth { + return 0, errExceededMaxDepth(buf[cursor], cursor) + } + case ']': + bracketCount-- + depth-- + if bracketCount == 0 { + return cursor + 1, nil + } + case '{': + depth++ + if depth > maxDecodeNestingDepth { + return 0, errExceededMaxDepth(buf[cursor], cursor) + } + case '}': + depth-- + case '"': + for { + cursor++ + switch buf[cursor] { + case '\\': + cursor++ + if buf[cursor] == nul { + return 0, errUnexpectedEndOfJSON("string of object", cursor) + } + case '"': + goto SWITCH_OUT + case nul: + return 0, errUnexpectedEndOfJSON("string of object", cursor) + } + } + case nul: + return 0, errUnexpectedEndOfJSON("array of object", cursor) + } + SWITCH_OUT: + cursor++ + } +} + +func skipValue(buf []byte, cursor, depth int64) (int64, error) { + for { + switch buf[cursor] { + case ' ', '\t', '\n', '\r': + cursor++ + continue + case '{': + return skipObject(buf, cursor+1, depth+1) + case '[': + return skipArray(buf, cursor+1, depth+1) + case '"': + for { + cursor++ + switch buf[cursor] { + case '\\': + cursor++ + if buf[cursor] == nul { + return 0, errUnexpectedEndOfJSON("string of object", cursor) + } + case '"': + return cursor + 1, nil + case nul: + return 0, errUnexpectedEndOfJSON("string of object", cursor) + } + } + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + for { + cursor++ + if floatTable[buf[cursor]] { + continue + } + break + } + return cursor, nil + case 't': + if err := validateTrue(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + return cursor, nil + case 'f': + if err := validateFalse(buf, cursor); err != nil { + return 0, err + } + cursor += 5 + return cursor, nil + case 'n': + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + return cursor, nil + default: + return cursor, errUnexpectedEndOfJSON("null", cursor) + } + } +} + +func validateTrue(buf []byte, cursor int64) error { + if cursor+3 >= int64(len(buf)) { + return errUnexpectedEndOfJSON("true", cursor) + } + if buf[cursor+1] != 'r' { + return errInvalidCharacter(buf[cursor+1], "true", cursor) + } + if buf[cursor+2] != 'u' { + return errInvalidCharacter(buf[cursor+2], "true", cursor) + } + if buf[cursor+3] != 'e' { + return errInvalidCharacter(buf[cursor+3], "true", cursor) + } + return nil +} + +func validateFalse(buf []byte, cursor int64) error { + if cursor+4 >= int64(len(buf)) { + return errUnexpectedEndOfJSON("false", cursor) + } + if buf[cursor+1] != 'a' { + return errInvalidCharacter(buf[cursor+1], "false", cursor) + } + if buf[cursor+2] != 'l' { + return errInvalidCharacter(buf[cursor+2], "false", cursor) + } + if buf[cursor+3] != 's' { + return errInvalidCharacter(buf[cursor+3], "false", cursor) + } + if buf[cursor+4] != 'e' { + return errInvalidCharacter(buf[cursor+4], "false", cursor) + } + return nil +} + +func validateNull(buf []byte, cursor int64) error { + if cursor+3 >= int64(len(buf)) { + return errUnexpectedEndOfJSON("null", cursor) + } + if buf[cursor+1] != 'u' { + return errInvalidCharacter(buf[cursor+1], "null", cursor) + } + if buf[cursor+2] != 'l' { + return errInvalidCharacter(buf[cursor+2], "null", cursor) + } + if buf[cursor+3] != 'l' { + return errInvalidCharacter(buf[cursor+3], "null", cursor) + } + return nil +} diff --git a/vendor/github.com/goccy/go-json/decode_float.go b/vendor/github.com/goccy/go-json/decode_float.go new file mode 100644 index 000000000..d48c2c832 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_float.go @@ -0,0 +1,155 @@ +package json + +import ( + "strconv" + "unsafe" +) + +type floatDecoder struct { + op func(unsafe.Pointer, float64) + structName string + fieldName string +} + +func newFloatDecoder(structName, fieldName string, op func(unsafe.Pointer, float64)) *floatDecoder { + return &floatDecoder{op: op, structName: structName, fieldName: fieldName} +} + +var ( + floatTable = [256]bool{ + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + '.': true, + 'e': true, + 'E': true, + '+': true, + '-': true, + } + + validEndNumberChar = [256]bool{ + nul: true, + ' ': true, + '\t': true, + '\r': true, + '\n': true, + ',': true, + ':': true, + '}': true, + ']': true, + } +) + +func floatBytes(s *stream) []byte { + start := s.cursor + for { + s.cursor++ + if floatTable[s.char()] { + continue + } else if s.char() == nul { + if s.read() { + s.cursor-- // for retry current character + continue + } + } + break + } + return s.buf[start:s.cursor] +} + +func (d *floatDecoder) decodeStreamByte(s *stream) ([]byte, error) { + for { + switch s.char() { + case ' ', '\n', '\t', '\r': + s.cursor++ + continue + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return floatBytes(s), nil + case 'n': + if err := nullBytes(s); err != nil { + return nil, err + } + return nil, nil + case nul: + if s.read() { + continue + } + goto ERROR + default: + goto ERROR + } + } +ERROR: + return nil, errUnexpectedEndOfJSON("float", s.totalOffset()) +} + +func (d *floatDecoder) decodeByte(buf []byte, cursor int64) ([]byte, int64, error) { + for { + switch buf[cursor] { + case ' ', '\n', '\t', '\r': + cursor++ + continue + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + start := cursor + cursor++ + for floatTable[buf[cursor]] { + cursor++ + } + num := buf[start:cursor] + return num, cursor, nil + case 'n': + if err := validateNull(buf, cursor); err != nil { + return nil, 0, err + } + cursor += 4 + return nil, cursor, nil + default: + return nil, 0, errUnexpectedEndOfJSON("float", cursor) + } + } +} + +func (d *floatDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + bytes, err := d.decodeStreamByte(s) + if err != nil { + return err + } + if bytes == nil { + return nil + } + str := *(*string)(unsafe.Pointer(&bytes)) + f64, err := strconv.ParseFloat(str, 64) + if err != nil { + return errSyntax(err.Error(), s.totalOffset()) + } + d.op(p, f64) + return nil +} + +func (d *floatDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + bytes, c, err := d.decodeByte(buf, cursor) + if err != nil { + return 0, err + } + if bytes == nil { + return c, nil + } + cursor = c + if !validEndNumberChar[buf[cursor]] { + return 0, errUnexpectedEndOfJSON("float", cursor) + } + s := *(*string)(unsafe.Pointer(&bytes)) + f64, err := strconv.ParseFloat(s, 64) + if err != nil { + return 0, errSyntax(err.Error(), cursor) + } + d.op(p, f64) + return cursor, nil +} diff --git a/vendor/github.com/goccy/go-json/decode_int.go b/vendor/github.com/goccy/go-json/decode_int.go new file mode 100644 index 000000000..625cc0689 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_int.go @@ -0,0 +1,235 @@ +package json + +import ( + "fmt" + "reflect" + "unsafe" +) + +type intDecoder struct { + typ *rtype + kind reflect.Kind + op func(unsafe.Pointer, int64) + structName string + fieldName string +} + +func newIntDecoder(typ *rtype, structName, fieldName string, op func(unsafe.Pointer, int64)) *intDecoder { + return &intDecoder{ + typ: typ, + kind: typ.Kind(), + op: op, + structName: structName, + fieldName: fieldName, + } +} + +func (d *intDecoder) typeError(buf []byte, offset int64) *UnmarshalTypeError { + return &UnmarshalTypeError{ + Value: fmt.Sprintf("number %s", string(buf)), + Type: rtype2type(d.typ), + Struct: d.structName, + Field: d.fieldName, + Offset: offset, + } +} + +var ( + pow10i64 = [...]int64{ + 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09, + 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, + } + pow10i64Len = len(pow10i64) +) + +func (d *intDecoder) parseInt(b []byte) (int64, error) { + isNegative := false + if b[0] == '-' { + b = b[1:] + isNegative = true + } + maxDigit := len(b) + if maxDigit > pow10i64Len { + return 0, fmt.Errorf("invalid length of number") + } + sum := int64(0) + for i := 0; i < maxDigit; i++ { + c := int64(b[i]) - 48 + digitValue := pow10i64[maxDigit-i-1] + sum += c * digitValue + } + if isNegative { + return -1 * sum, nil + } + return sum, nil +} + +var ( + numTable = [256]bool{ + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + } +) + +func (d *intDecoder) decodeStreamByte(s *stream) ([]byte, error) { + for { + switch s.char() { + case ' ', '\n', '\t', '\r': + s.cursor++ + continue + case '-': + start := s.cursor + for { + s.cursor++ + if numTable[s.char()] { + continue + } else if s.char() == nul { + if s.read() { + s.cursor-- // for retry current character + continue + } + } + break + } + num := s.buf[start:s.cursor] + if len(num) < 2 { + goto ERROR + } + return num, nil + case '0': + s.cursor++ + return []byte{'0'}, nil + case '1', '2', '3', '4', '5', '6', '7', '8', '9': + start := s.cursor + for { + s.cursor++ + if numTable[s.char()] { + continue + } else if s.char() == nul { + if s.read() { + s.cursor-- // for retry current character + continue + } + } + break + } + num := s.buf[start:s.cursor] + return num, nil + case 'n': + if err := nullBytes(s); err != nil { + return nil, err + } + return nil, nil + case nul: + if s.read() { + continue + } + goto ERROR + default: + return nil, d.typeError([]byte{s.char()}, s.totalOffset()) + } + } +ERROR: + return nil, errUnexpectedEndOfJSON("number(integer)", s.totalOffset()) +} + +func (d *intDecoder) decodeByte(buf []byte, cursor int64) ([]byte, int64, error) { + b := (*sliceHeader)(unsafe.Pointer(&buf)).data + for { + switch char(b, cursor) { + case ' ', '\n', '\t', '\r': + cursor++ + continue + case '0': + cursor++ + return []byte{'0'}, cursor, nil + case '-', '1', '2', '3', '4', '5', '6', '7', '8', '9': + start := cursor + cursor++ + for numTable[char(b, cursor)] { + cursor++ + } + num := buf[start:cursor] + return num, cursor, nil + case 'n': + if err := validateNull(buf, cursor); err != nil { + return nil, 0, err + } + cursor += 4 + return nil, cursor, nil + default: + return nil, 0, d.typeError([]byte{char(b, cursor)}, cursor) + } + } +} + +func (d *intDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + bytes, err := d.decodeStreamByte(s) + if err != nil { + return err + } + if bytes == nil { + return nil + } + i64, err := d.parseInt(bytes) + if err != nil { + return d.typeError(bytes, s.totalOffset()) + } + switch d.kind { + case reflect.Int8: + if i64 <= -1*(1<<7) || (1<<7) <= i64 { + return d.typeError(bytes, s.totalOffset()) + } + case reflect.Int16: + if i64 <= -1*(1<<15) || (1<<15) <= i64 { + return d.typeError(bytes, s.totalOffset()) + } + case reflect.Int32: + if i64 <= -1*(1<<31) || (1<<31) <= i64 { + return d.typeError(bytes, s.totalOffset()) + } + } + d.op(p, i64) + s.reset() + return nil +} + +func (d *intDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + bytes, c, err := d.decodeByte(buf, cursor) + if err != nil { + return 0, err + } + if bytes == nil { + return c, nil + } + cursor = c + + i64, err := d.parseInt(bytes) + if err != nil { + return 0, d.typeError(bytes, cursor) + } + switch d.kind { + case reflect.Int8: + if i64 <= -1*(1<<7) || (1<<7) <= i64 { + return 0, d.typeError(bytes, cursor) + } + case reflect.Int16: + if i64 <= -1*(1<<15) || (1<<15) <= i64 { + return 0, d.typeError(bytes, cursor) + } + case reflect.Int32: + if i64 <= -1*(1<<31) || (1<<31) <= i64 { + return 0, d.typeError(bytes, cursor) + } + } + d.op(p, i64) + return cursor, nil +} diff --git a/vendor/github.com/goccy/go-json/decode_interface.go b/vendor/github.com/goccy/go-json/decode_interface.go new file mode 100644 index 000000000..e7e96b804 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_interface.go @@ -0,0 +1,410 @@ +package json + +import ( + "bytes" + "encoding" + "reflect" + "unsafe" +) + +type interfaceDecoder struct { + typ *rtype + structName string + fieldName string + sliceDecoder *sliceDecoder + mapDecoder *mapDecoder + floatDecoder *floatDecoder + numberDecoder *numberDecoder + stringDecoder *stringDecoder +} + +func newEmptyInterfaceDecoder(structName, fieldName string) *interfaceDecoder { + ifaceDecoder := &interfaceDecoder{ + typ: emptyInterfaceType, + structName: structName, + fieldName: fieldName, + floatDecoder: newFloatDecoder(structName, fieldName, func(p unsafe.Pointer, v float64) { + *(*interface{})(p) = v + }), + numberDecoder: newNumberDecoder(structName, fieldName, func(p unsafe.Pointer, v Number) { + *(*interface{})(p) = v + }), + stringDecoder: newStringDecoder(structName, fieldName), + } + ifaceDecoder.sliceDecoder = newSliceDecoder( + ifaceDecoder, + emptyInterfaceType, + emptyInterfaceType.Size(), + structName, fieldName, + ) + ifaceDecoder.mapDecoder = newMapDecoder( + interfaceMapType, + stringType, + ifaceDecoder.stringDecoder, + interfaceMapType.Elem(), + ifaceDecoder, + structName, + fieldName, + ) + return ifaceDecoder +} + +func newInterfaceDecoder(typ *rtype, structName, fieldName string) *interfaceDecoder { + emptyIfaceDecoder := newEmptyInterfaceDecoder(structName, fieldName) + stringDecoder := newStringDecoder(structName, fieldName) + return &interfaceDecoder{ + typ: typ, + structName: structName, + fieldName: fieldName, + sliceDecoder: newSliceDecoder( + emptyIfaceDecoder, + emptyInterfaceType, + emptyInterfaceType.Size(), + structName, fieldName, + ), + mapDecoder: newMapDecoder( + interfaceMapType, + stringType, + stringDecoder, + interfaceMapType.Elem(), + emptyIfaceDecoder, + structName, + fieldName, + ), + floatDecoder: newFloatDecoder(structName, fieldName, func(p unsafe.Pointer, v float64) { + *(*interface{})(p) = v + }), + numberDecoder: newNumberDecoder(structName, fieldName, func(p unsafe.Pointer, v Number) { + *(*interface{})(p) = v + }), + stringDecoder: stringDecoder, + } +} + +func (d *interfaceDecoder) numDecoder(s *stream) decoder { + if s.useNumber { + return d.numberDecoder + } + return d.floatDecoder +} + +var ( + emptyInterfaceType = type2rtype(reflect.TypeOf((*interface{})(nil)).Elem()) + interfaceMapType = type2rtype( + reflect.TypeOf((*map[string]interface{})(nil)).Elem(), + ) + stringType = type2rtype( + reflect.TypeOf(""), + ) +) + +func decodeStreamUnmarshaler(s *stream, depth int64, unmarshaler Unmarshaler) error { + start := s.cursor + if err := s.skipValue(depth); err != nil { + return err + } + src := s.buf[start:s.cursor] + dst := make([]byte, len(src)) + copy(dst, src) + + if err := unmarshaler.UnmarshalJSON(dst); err != nil { + return err + } + return nil +} + +func decodeUnmarshaler(buf []byte, cursor, depth int64, unmarshaler Unmarshaler) (int64, error) { + cursor = skipWhiteSpace(buf, cursor) + start := cursor + end, err := skipValue(buf, cursor, depth) + if err != nil { + return 0, err + } + src := buf[start:end] + dst := make([]byte, len(src)) + copy(dst, src) + + if err := unmarshaler.UnmarshalJSON(dst); err != nil { + return 0, err + } + return end, nil +} + +func decodeStreamTextUnmarshaler(s *stream, depth int64, unmarshaler encoding.TextUnmarshaler, p unsafe.Pointer) error { + start := s.cursor + if err := s.skipValue(depth); err != nil { + return err + } + src := s.buf[start:s.cursor] + if bytes.Equal(src, nullbytes) { + *(*unsafe.Pointer)(p) = nil + return nil + } + + dst := make([]byte, len(src)) + copy(dst, src) + + if err := unmarshaler.UnmarshalText(dst); err != nil { + return err + } + return nil +} + +func decodeTextUnmarshaler(buf []byte, cursor, depth int64, unmarshaler encoding.TextUnmarshaler, p unsafe.Pointer) (int64, error) { + cursor = skipWhiteSpace(buf, cursor) + start := cursor + end, err := skipValue(buf, cursor, depth) + if err != nil { + return 0, err + } + src := buf[start:end] + if bytes.Equal(src, nullbytes) { + *(*unsafe.Pointer)(p) = nil + return end, nil + } + if s, ok := unquoteBytes(src); ok { + src = s + } + if err := unmarshaler.UnmarshalText(src); err != nil { + return 0, err + } + return end, nil +} + +func (d *interfaceDecoder) decodeStreamEmptyInterface(s *stream, depth int64, p unsafe.Pointer) error { + s.skipWhiteSpace() + for { + switch s.char() { + case '{': + var v map[string]interface{} + ptr := unsafe.Pointer(&v) + if err := d.mapDecoder.decodeStream(s, depth, ptr); err != nil { + return err + } + *(*interface{})(p) = v + return nil + case '[': + var v []interface{} + ptr := unsafe.Pointer(&v) + if err := d.sliceDecoder.decodeStream(s, depth, ptr); err != nil { + return err + } + *(*interface{})(p) = v + return nil + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return d.numDecoder(s).decodeStream(s, depth, p) + case '"': + s.cursor++ + start := s.cursor + for { + switch s.char() { + case '\\': + if err := decodeEscapeString(s); err != nil { + return err + } + case '"': + literal := s.buf[start:s.cursor] + s.cursor++ + *(*interface{})(p) = string(literal) + return nil + case nul: + if s.read() { + continue + } + return errUnexpectedEndOfJSON("string", s.totalOffset()) + } + s.cursor++ + } + case 't': + if err := trueBytes(s); err != nil { + return err + } + **(**interface{})(unsafe.Pointer(&p)) = true + return nil + case 'f': + if err := falseBytes(s); err != nil { + return err + } + **(**interface{})(unsafe.Pointer(&p)) = false + return nil + case 'n': + if err := nullBytes(s); err != nil { + return err + } + *(*interface{})(p) = nil + return nil + case nul: + if s.read() { + continue + } + } + break + } + return errNotAtBeginningOfValue(s.totalOffset()) +} + +func (d *interfaceDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + runtimeInterfaceValue := *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: d.typ, + ptr: p, + })) + rv := reflect.ValueOf(runtimeInterfaceValue) + if rv.NumMethod() > 0 && rv.CanInterface() { + if u, ok := rv.Interface().(Unmarshaler); ok { + return decodeStreamUnmarshaler(s, depth, u) + } + if u, ok := rv.Interface().(encoding.TextUnmarshaler); ok { + return decodeStreamTextUnmarshaler(s, depth, u, p) + } + s.skipWhiteSpace() + if s.char() == 'n' { + if err := nullBytes(s); err != nil { + return err + } + *(*interface{})(p) = nil + return nil + } + return d.errUnmarshalType(rv.Type(), s.totalOffset()) + } + iface := rv.Interface() + ifaceHeader := (*emptyInterface)(unsafe.Pointer(&iface)) + typ := ifaceHeader.typ + if ifaceHeader.ptr == nil || d.typ == typ || typ == nil { + // concrete type is empty interface + return d.decodeStreamEmptyInterface(s, depth, p) + } + if typ.Kind() == reflect.Ptr && typ.Elem() == d.typ || typ.Kind() != reflect.Ptr { + return d.decodeStreamEmptyInterface(s, depth, p) + } + s.skipWhiteSpace() + if s.char() == 'n' { + if err := nullBytes(s); err != nil { + return err + } + *(*interface{})(p) = nil + return nil + } + decoder, err := decodeCompileToGetDecoder(typ) + if err != nil { + return err + } + return decoder.decodeStream(s, depth, ifaceHeader.ptr) +} + +func (d *interfaceDecoder) errUnmarshalType(typ reflect.Type, offset int64) *UnmarshalTypeError { + return &UnmarshalTypeError{ + Value: typ.String(), + Type: typ, + Offset: offset, + Struct: d.structName, + Field: d.fieldName, + } +} + +func (d *interfaceDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + runtimeInterfaceValue := *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: d.typ, + ptr: p, + })) + rv := reflect.ValueOf(runtimeInterfaceValue) + if rv.NumMethod() > 0 && rv.CanInterface() { + if u, ok := rv.Interface().(Unmarshaler); ok { + return decodeUnmarshaler(buf, cursor, depth, u) + } + if u, ok := rv.Interface().(encoding.TextUnmarshaler); ok { + return decodeTextUnmarshaler(buf, cursor, depth, u, p) + } + cursor = skipWhiteSpace(buf, cursor) + if buf[cursor] == 'n' { + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + **(**interface{})(unsafe.Pointer(&p)) = nil + return cursor, nil + } + return 0, d.errUnmarshalType(rv.Type(), cursor) + } + + iface := rv.Interface() + ifaceHeader := (*emptyInterface)(unsafe.Pointer(&iface)) + typ := ifaceHeader.typ + if ifaceHeader.ptr == nil || d.typ == typ || typ == nil { + // concrete type is empty interface + return d.decodeEmptyInterface(buf, cursor, depth, p) + } + if typ.Kind() == reflect.Ptr && typ.Elem() == d.typ || typ.Kind() != reflect.Ptr { + return d.decodeEmptyInterface(buf, cursor, depth, p) + } + cursor = skipWhiteSpace(buf, cursor) + if buf[cursor] == 'n' { + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + **(**interface{})(unsafe.Pointer(&p)) = nil + return cursor, nil + } + decoder, err := decodeCompileToGetDecoder(typ) + if err != nil { + return 0, err + } + return decoder.decode(buf, cursor, depth, ifaceHeader.ptr) +} + +func (d *interfaceDecoder) decodeEmptyInterface(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + cursor = skipWhiteSpace(buf, cursor) + switch buf[cursor] { + case '{': + var v map[string]interface{} + ptr := unsafe.Pointer(&v) + cursor, err := d.mapDecoder.decode(buf, cursor, depth, ptr) + if err != nil { + return 0, err + } + **(**interface{})(unsafe.Pointer(&p)) = v + return cursor, nil + case '[': + var v []interface{} + ptr := unsafe.Pointer(&v) + cursor, err := d.sliceDecoder.decode(buf, cursor, depth, ptr) + if err != nil { + return 0, err + } + **(**interface{})(unsafe.Pointer(&p)) = v + return cursor, nil + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return d.floatDecoder.decode(buf, cursor, depth, p) + case '"': + var v string + ptr := unsafe.Pointer(&v) + cursor, err := d.stringDecoder.decode(buf, cursor, depth, ptr) + if err != nil { + return 0, err + } + **(**interface{})(unsafe.Pointer(&p)) = v + return cursor, nil + case 't': + if err := validateTrue(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + **(**interface{})(unsafe.Pointer(&p)) = true + return cursor, nil + case 'f': + if err := validateFalse(buf, cursor); err != nil { + return 0, err + } + cursor += 5 + **(**interface{})(unsafe.Pointer(&p)) = false + return cursor, nil + case 'n': + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + **(**interface{})(unsafe.Pointer(&p)) = nil + return cursor, nil + } + return cursor, errNotAtBeginningOfValue(cursor) +} diff --git a/vendor/github.com/goccy/go-json/decode_map.go b/vendor/github.com/goccy/go-json/decode_map.go new file mode 100644 index 000000000..91af50e3d --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_map.go @@ -0,0 +1,154 @@ +package json + +import ( + "unsafe" +) + +type mapDecoder struct { + mapType *rtype + keyType *rtype + valueType *rtype + keyDecoder decoder + valueDecoder decoder + structName string + fieldName string +} + +func newMapDecoder(mapType *rtype, keyType *rtype, keyDec decoder, valueType *rtype, valueDec decoder, structName, fieldName string) *mapDecoder { + return &mapDecoder{ + mapType: mapType, + keyDecoder: keyDec, + keyType: keyType, + valueType: valueType, + valueDecoder: valueDec, + structName: structName, + fieldName: fieldName, + } +} + +//go:linkname makemap reflect.makemap +func makemap(*rtype, int) unsafe.Pointer + +//go:linkname mapassign reflect.mapassign +//go:noescape +func mapassign(t *rtype, m unsafe.Pointer, key, val unsafe.Pointer) + +func (d *mapDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + depth++ + if depth > maxDecodeNestingDepth { + return errExceededMaxDepth(s.char(), s.cursor) + } + + s.skipWhiteSpace() + switch s.char() { + case 'n': + if err := nullBytes(s); err != nil { + return err + } + **(**unsafe.Pointer)(unsafe.Pointer(&p)) = nil + return nil + case '{': + default: + return errExpected("{ character for map value", s.totalOffset()) + } + s.skipWhiteSpace() + mapValue := *(*unsafe.Pointer)(p) + if mapValue == nil { + mapValue = makemap(d.mapType, 0) + } + if s.buf[s.cursor+1] == '}' { + *(*unsafe.Pointer)(p) = mapValue + s.cursor += 2 + return nil + } + for { + s.cursor++ + k := unsafe_New(d.keyType) + if err := d.keyDecoder.decodeStream(s, depth, k); err != nil { + return err + } + s.skipWhiteSpace() + if !s.equalChar(':') { + return errExpected("colon after object key", s.totalOffset()) + } + s.cursor++ + v := unsafe_New(d.valueType) + if err := d.valueDecoder.decodeStream(s, depth, v); err != nil { + return err + } + mapassign(d.mapType, mapValue, k, v) + s.skipWhiteSpace() + if s.equalChar('}') { + **(**unsafe.Pointer)(unsafe.Pointer(&p)) = mapValue + s.cursor++ + return nil + } + if !s.equalChar(',') { + return errExpected("comma after object value", s.totalOffset()) + } + } +} + +func (d *mapDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + depth++ + if depth > maxDecodeNestingDepth { + return 0, errExceededMaxDepth(buf[cursor], cursor) + } + + cursor = skipWhiteSpace(buf, cursor) + buflen := int64(len(buf)) + if buflen < 2 { + return 0, errExpected("{} for map", cursor) + } + switch buf[cursor] { + case 'n': + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + **(**unsafe.Pointer)(unsafe.Pointer(&p)) = nil + return cursor, nil + case '{': + default: + return 0, errExpected("{ character for map value", cursor) + } + cursor++ + cursor = skipWhiteSpace(buf, cursor) + mapValue := *(*unsafe.Pointer)(p) + if mapValue == nil { + mapValue = makemap(d.mapType, 0) + } + if buf[cursor] == '}' { + **(**unsafe.Pointer)(unsafe.Pointer(&p)) = mapValue + cursor++ + return cursor, nil + } + for { + k := unsafe_New(d.keyType) + keyCursor, err := d.keyDecoder.decode(buf, cursor, depth, k) + if err != nil { + return 0, err + } + cursor = skipWhiteSpace(buf, keyCursor) + if buf[cursor] != ':' { + return 0, errExpected("colon after object key", cursor) + } + cursor++ + v := unsafe_New(d.valueType) + valueCursor, err := d.valueDecoder.decode(buf, cursor, depth, v) + if err != nil { + return 0, err + } + mapassign(d.mapType, mapValue, k, v) + cursor = skipWhiteSpace(buf, valueCursor) + if buf[cursor] == '}' { + **(**unsafe.Pointer)(unsafe.Pointer(&p)) = mapValue + cursor++ + return cursor, nil + } + if buf[cursor] != ',' { + return 0, errExpected("comma after object value", cursor) + } + cursor++ + } +} diff --git a/vendor/github.com/goccy/go-json/decode_number.go b/vendor/github.com/goccy/go-json/decode_number.go new file mode 100644 index 000000000..6c8720bf7 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_number.go @@ -0,0 +1,105 @@ +package json + +import ( + "strconv" + "unsafe" +) + +type numberDecoder struct { + stringDecoder *stringDecoder + op func(unsafe.Pointer, Number) + structName string + fieldName string +} + +func newNumberDecoder(structName, fieldName string, op func(unsafe.Pointer, Number)) *numberDecoder { + return &numberDecoder{ + stringDecoder: newStringDecoder(structName, fieldName), + op: op, + structName: structName, + fieldName: fieldName, + } +} + +func (d *numberDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + bytes, err := d.decodeStreamByte(s) + if err != nil { + return err + } + if _, err := strconv.ParseFloat(*(*string)(unsafe.Pointer(&bytes)), 64); err != nil { + return errSyntax(err.Error(), s.totalOffset()) + } + d.op(p, Number(string(bytes))) + s.reset() + return nil +} + +func (d *numberDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + bytes, c, err := d.decodeByte(buf, cursor) + if err != nil { + return 0, err + } + if _, err := strconv.ParseFloat(*(*string)(unsafe.Pointer(&bytes)), 64); err != nil { + return 0, errSyntax(err.Error(), c) + } + cursor = c + s := *(*string)(unsafe.Pointer(&bytes)) + d.op(p, Number(s)) + return cursor, nil +} + +func (d *numberDecoder) decodeStreamByte(s *stream) ([]byte, error) { + for { + switch s.char() { + case ' ', '\n', '\t', '\r': + s.cursor++ + continue + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return floatBytes(s), nil + case 'n': + if err := nullBytes(s); err != nil { + return nil, err + } + return nil, nil + case '"': + return d.stringDecoder.decodeStreamByte(s) + case nul: + if s.read() { + continue + } + goto ERROR + default: + goto ERROR + } + } +ERROR: + return nil, errUnexpectedEndOfJSON("json.Number", s.totalOffset()) +} + +func (d *numberDecoder) decodeByte(buf []byte, cursor int64) ([]byte, int64, error) { + for { + switch buf[cursor] { + case ' ', '\n', '\t', '\r': + cursor++ + continue + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + start := cursor + cursor++ + for floatTable[buf[cursor]] { + cursor++ + } + num := buf[start:cursor] + return num, cursor, nil + case 'n': + if err := validateNull(buf, cursor); err != nil { + return nil, 0, err + } + cursor += 4 + return nil, cursor, nil + case '"': + return d.stringDecoder.decodeByte(buf, cursor) + default: + return nil, 0, errUnexpectedEndOfJSON("json.Number", cursor) + } + } +} diff --git a/vendor/github.com/goccy/go-json/decode_ptr.go b/vendor/github.com/goccy/go-json/decode_ptr.go new file mode 100644 index 000000000..40997c59f --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_ptr.go @@ -0,0 +1,85 @@ +package json + +import ( + "unsafe" +) + +type ptrDecoder struct { + dec decoder + typ *rtype + structName string + fieldName string +} + +func newPtrDecoder(dec decoder, typ *rtype, structName, fieldName string) *ptrDecoder { + return &ptrDecoder{ + dec: dec, + typ: typ, + structName: structName, + fieldName: fieldName, + } +} + +func (d *ptrDecoder) contentDecoder() decoder { + dec, ok := d.dec.(*ptrDecoder) + if !ok { + return d.dec + } + return dec.contentDecoder() +} + +//nolint:golint +//go:linkname unsafe_New reflect.unsafe_New +func unsafe_New(*rtype) unsafe.Pointer + +func (d *ptrDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + s.skipWhiteSpace() + if s.char() == nul { + s.read() + } + if s.char() == 'n' { + if err := nullBytes(s); err != nil { + return err + } + *(*unsafe.Pointer)(p) = nil + return nil + } + var newptr unsafe.Pointer + if *(*unsafe.Pointer)(p) == nil { + newptr = unsafe_New(d.typ) + *(*unsafe.Pointer)(p) = newptr + } else { + newptr = *(*unsafe.Pointer)(p) + } + if err := d.dec.decodeStream(s, depth, newptr); err != nil { + return err + } + return nil +} + +func (d *ptrDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + cursor = skipWhiteSpace(buf, cursor) + if buf[cursor] == 'n' { + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + if p != nil { + *(*unsafe.Pointer)(p) = nil + } + cursor += 4 + return cursor, nil + } + var newptr unsafe.Pointer + if *(*unsafe.Pointer)(p) == nil { + newptr = unsafe_New(d.typ) + *(*unsafe.Pointer)(p) = newptr + } else { + newptr = *(*unsafe.Pointer)(p) + } + c, err := d.dec.decode(buf, cursor, depth, newptr) + if err != nil { + return 0, err + } + cursor = c + return cursor, nil +} diff --git a/vendor/github.com/goccy/go-json/decode_slice.go b/vendor/github.com/goccy/go-json/decode_slice.go new file mode 100644 index 000000000..01f9dfeb6 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_slice.go @@ -0,0 +1,291 @@ +package json + +import ( + "reflect" + "sync" + "unsafe" +) + +type sliceDecoder struct { + elemType *rtype + isElemPointerType bool + valueDecoder decoder + size uintptr + arrayPool sync.Pool + structName string + fieldName string +} + +// If use reflect.SliceHeader, data type is uintptr. +// In this case, Go compiler cannot trace reference created by newArray(). +// So, define using unsafe.Pointer as data type +type sliceHeader struct { + data unsafe.Pointer + len int + cap int +} + +const ( + defaultSliceCapacity = 2 +) + +func newSliceDecoder(dec decoder, elemType *rtype, size uintptr, structName, fieldName string) *sliceDecoder { + return &sliceDecoder{ + valueDecoder: dec, + elemType: elemType, + isElemPointerType: elemType.Kind() == reflect.Ptr || elemType.Kind() == reflect.Map, + size: size, + arrayPool: sync.Pool{ + New: func() interface{} { + return &sliceHeader{ + data: newArray(elemType, defaultSliceCapacity), + len: 0, + cap: defaultSliceCapacity, + } + }, + }, + structName: structName, + fieldName: fieldName, + } +} + +func (d *sliceDecoder) newSlice(src *sliceHeader) *sliceHeader { + slice := d.arrayPool.Get().(*sliceHeader) + if src.len > 0 { + // copy original elem + if slice.cap < src.cap { + data := newArray(d.elemType, src.cap) + slice = &sliceHeader{data: data, len: src.len, cap: src.cap} + } else { + slice.len = src.len + } + copySlice(d.elemType, *slice, *src) + } else { + slice.len = 0 + } + return slice +} + +func (d *sliceDecoder) releaseSlice(p *sliceHeader) { + d.arrayPool.Put(p) +} + +//go:linkname copySlice reflect.typedslicecopy +func copySlice(elemType *rtype, dst, src sliceHeader) int + +//go:linkname newArray reflect.unsafe_NewArray +func newArray(*rtype, int) unsafe.Pointer + +//go:linkname typedmemmove reflect.typedmemmove +func typedmemmove(t *rtype, dst, src unsafe.Pointer) + +func (d *sliceDecoder) errNumber(offset int64) *UnmarshalTypeError { + return &UnmarshalTypeError{ + Value: "number", + Type: reflect.SliceOf(rtype2type(d.elemType)), + Struct: d.structName, + Field: d.fieldName, + Offset: offset, + } +} + +func (d *sliceDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + depth++ + if depth > maxDecodeNestingDepth { + return errExceededMaxDepth(s.char(), s.cursor) + } + + for { + switch s.char() { + case ' ', '\n', '\t', '\r': + s.cursor++ + continue + case 'n': + if err := nullBytes(s); err != nil { + return err + } + *(*unsafe.Pointer)(p) = nil + return nil + case '[': + s.cursor++ + s.skipWhiteSpace() + if s.char() == ']' { + dst := (*sliceHeader)(p) + if dst.data == nil { + dst.data = newArray(d.elemType, 0) + } else { + dst.len = 0 + } + s.cursor++ + return nil + } + idx := 0 + slice := d.newSlice((*sliceHeader)(p)) + srcLen := slice.len + capacity := slice.cap + data := slice.data + for { + if capacity <= idx { + src := sliceHeader{data: data, len: idx, cap: capacity} + capacity *= 2 + data = newArray(d.elemType, capacity) + dst := sliceHeader{data: data, len: idx, cap: capacity} + copySlice(d.elemType, dst, src) + } + ep := unsafe.Pointer(uintptr(data) + uintptr(idx)*d.size) + + // if srcLen is greater than idx, keep the original reference + if srcLen <= idx { + if d.isElemPointerType { + **(**unsafe.Pointer)(unsafe.Pointer(&ep)) = nil // initialize elem pointer + } else { + // assign new element to the slice + typedmemmove(d.elemType, ep, unsafe_New(d.elemType)) + } + } + + if err := d.valueDecoder.decodeStream(s, depth, ep); err != nil { + return err + } + s.skipWhiteSpace() + RETRY: + switch s.char() { + case ']': + slice.cap = capacity + slice.len = idx + 1 + slice.data = data + dst := (*sliceHeader)(p) + dst.len = idx + 1 + if dst.len > dst.cap { + dst.data = newArray(d.elemType, dst.len) + dst.cap = dst.len + } + copySlice(d.elemType, *dst, *slice) + d.releaseSlice(slice) + s.cursor++ + return nil + case ',': + idx++ + case nul: + if s.read() { + goto RETRY + } + slice.cap = capacity + slice.data = data + d.releaseSlice(slice) + goto ERROR + default: + slice.cap = capacity + slice.data = data + d.releaseSlice(slice) + goto ERROR + } + s.cursor++ + } + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return d.errNumber(s.totalOffset()) + case nul: + if s.read() { + continue + } + goto ERROR + default: + goto ERROR + } + } +ERROR: + return errUnexpectedEndOfJSON("slice", s.totalOffset()) +} + +func (d *sliceDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + depth++ + if depth > maxDecodeNestingDepth { + return 0, errExceededMaxDepth(buf[cursor], cursor) + } + + for { + switch buf[cursor] { + case ' ', '\n', '\t', '\r': + cursor++ + continue + case 'n': + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + *(*unsafe.Pointer)(p) = nil + return cursor, nil + case '[': + cursor++ + cursor = skipWhiteSpace(buf, cursor) + if buf[cursor] == ']' { + dst := (*sliceHeader)(p) + if dst.data == nil { + dst.data = newArray(d.elemType, 0) + } else { + dst.len = 0 + } + cursor++ + return cursor, nil + } + idx := 0 + slice := d.newSlice((*sliceHeader)(p)) + srcLen := slice.len + capacity := slice.cap + data := slice.data + for { + if capacity <= idx { + src := sliceHeader{data: data, len: idx, cap: capacity} + capacity *= 2 + data = newArray(d.elemType, capacity) + dst := sliceHeader{data: data, len: idx, cap: capacity} + copySlice(d.elemType, dst, src) + } + ep := unsafe.Pointer(uintptr(data) + uintptr(idx)*d.size) + // if srcLen is greater than idx, keep the original reference + if srcLen <= idx { + if d.isElemPointerType { + **(**unsafe.Pointer)(unsafe.Pointer(&ep)) = nil // initialize elem pointer + } else { + // assign new element to the slice + typedmemmove(d.elemType, ep, unsafe_New(d.elemType)) + } + } + c, err := d.valueDecoder.decode(buf, cursor, depth, ep) + if err != nil { + return 0, err + } + cursor = c + cursor = skipWhiteSpace(buf, cursor) + switch buf[cursor] { + case ']': + slice.cap = capacity + slice.len = idx + 1 + slice.data = data + dst := (*sliceHeader)(p) + dst.len = idx + 1 + if dst.len > dst.cap { + dst.data = newArray(d.elemType, dst.len) + dst.cap = dst.len + } + copySlice(d.elemType, *dst, *slice) + d.releaseSlice(slice) + cursor++ + return cursor, nil + case ',': + idx++ + default: + slice.cap = capacity + slice.data = data + d.releaseSlice(slice) + return 0, errInvalidCharacter(buf[cursor], "slice", cursor) + } + cursor++ + } + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return 0, d.errNumber(cursor) + default: + return 0, errUnexpectedEndOfJSON("slice", cursor) + } + } +} diff --git a/vendor/github.com/goccy/go-json/decode_stream.go b/vendor/github.com/goccy/go-json/decode_stream.go new file mode 100644 index 000000000..da75e8f8e --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_stream.go @@ -0,0 +1,438 @@ +package json + +import ( + "bytes" + "io" + "unsafe" +) + +const ( + initBufSize = 512 +) + +type stream struct { + buf []byte + bufSize int64 + length int64 + r io.Reader + offset int64 + cursor int64 + filledBuffer bool + allRead bool + useNumber bool + disallowUnknownFields bool +} + +func newStream(r io.Reader) *stream { + return &stream{ + r: r, + bufSize: initBufSize, + buf: []byte{nul}, + } +} + +func (s *stream) buffered() io.Reader { + buflen := int64(len(s.buf)) + for i := s.cursor; i < buflen; i++ { + if s.buf[i] == nul { + return bytes.NewReader(s.buf[s.cursor:i]) + } + } + return bytes.NewReader(s.buf[s.cursor:]) +} + +func (s *stream) totalOffset() int64 { + return s.offset + s.cursor +} + +func (s *stream) char() byte { + return s.buf[s.cursor] +} + +func (s *stream) equalChar(c byte) bool { + cur := s.buf[s.cursor] + if cur == nul { + s.read() + cur = s.buf[s.cursor] + } + return cur == c +} + +func (s *stream) stat() ([]byte, int64, unsafe.Pointer) { + return s.buf, s.cursor, (*sliceHeader)(unsafe.Pointer(&s.buf)).data +} + +func (s *stream) statForRetry() ([]byte, int64, unsafe.Pointer) { + s.cursor-- // for retry ( because caller progress cursor position in each loop ) + return s.buf, s.cursor, (*sliceHeader)(unsafe.Pointer(&s.buf)).data +} + +func (s *stream) reset() { + s.offset += s.cursor + s.buf = s.buf[s.cursor:] + s.length -= s.cursor + s.cursor = 0 +} + +func (s *stream) readBuf() []byte { + if s.filledBuffer { + s.bufSize *= 2 + remainBuf := s.buf + s.buf = make([]byte, s.bufSize) + copy(s.buf, remainBuf) + } + remainLen := s.length - s.cursor + remainNotNulCharNum := int64(0) + for i := int64(0); i < remainLen; i++ { + if s.buf[s.cursor+i] == nul { + break + } + remainNotNulCharNum++ + } + return s.buf[s.cursor+remainNotNulCharNum:] +} + +func (s *stream) read() bool { + if s.allRead { + return false + } + buf := s.readBuf() + last := len(buf) - 1 + buf[last] = nul + n, err := s.r.Read(buf[:last]) + s.length = s.cursor + int64(n) + if n == last { + s.filledBuffer = true + } else { + s.filledBuffer = false + } + if err == io.EOF { + s.allRead = true + } else if err != nil { + return false + } + return true +} + +func (s *stream) skipWhiteSpace() { +LOOP: + switch s.char() { + case ' ', '\n', '\t', '\r': + s.cursor++ + goto LOOP + case nul: + if s.read() { + goto LOOP + } + } +} + +func (s *stream) skipObject(depth int64) error { + braceCount := 1 + _, cursor, p := s.stat() + for { + switch char(p, cursor) { + case '{': + braceCount++ + depth++ + if depth > maxDecodeNestingDepth { + return errExceededMaxDepth(s.char(), s.cursor) + } + case '}': + braceCount-- + depth-- + if braceCount == 0 { + s.cursor = cursor + 1 + return nil + } + case '[': + depth++ + if depth > maxDecodeNestingDepth { + return errExceededMaxDepth(s.char(), s.cursor) + } + case ']': + depth-- + case '"': + for { + cursor++ + switch char(p, cursor) { + case '\\': + cursor++ + if char(p, cursor) == nul { + s.cursor = cursor + if s.read() { + _, cursor, p = s.statForRetry() + continue + } + return errUnexpectedEndOfJSON("string of object", cursor) + } + case '"': + goto SWITCH_OUT + case nul: + s.cursor = cursor + if s.read() { + _, cursor, p = s.statForRetry() + continue + } + return errUnexpectedEndOfJSON("string of object", cursor) + } + } + case nul: + s.cursor = cursor + if s.read() { + _, cursor, p = s.stat() + continue + } + return errUnexpectedEndOfJSON("object of object", cursor) + } + SWITCH_OUT: + cursor++ + } +} + +func (s *stream) skipArray(depth int64) error { + bracketCount := 1 + _, cursor, p := s.stat() + for { + switch char(p, cursor) { + case '[': + bracketCount++ + depth++ + if depth > maxDecodeNestingDepth { + return errExceededMaxDepth(s.char(), s.cursor) + } + case ']': + bracketCount-- + depth-- + if bracketCount == 0 { + s.cursor = cursor + 1 + return nil + } + case '{': + depth++ + if depth > maxDecodeNestingDepth { + return errExceededMaxDepth(s.char(), s.cursor) + } + case '}': + depth-- + case '"': + for { + cursor++ + switch char(p, cursor) { + case '\\': + cursor++ + if char(p, cursor) == nul { + s.cursor = cursor + if s.read() { + _, cursor, p = s.statForRetry() + continue + } + return errUnexpectedEndOfJSON("string of object", cursor) + } + case '"': + goto SWITCH_OUT + case nul: + s.cursor = cursor + if s.read() { + _, cursor, p = s.statForRetry() + continue + } + return errUnexpectedEndOfJSON("string of object", cursor) + } + } + case nul: + s.cursor = cursor + if s.read() { + _, cursor, p = s.stat() + continue + } + return errUnexpectedEndOfJSON("array of object", cursor) + } + SWITCH_OUT: + cursor++ + } +} + +func (s *stream) skipValue(depth int64) error { + _, cursor, p := s.stat() + for { + switch char(p, cursor) { + case ' ', '\n', '\t', '\r': + cursor++ + continue + case nul: + s.cursor = cursor + if s.read() { + _, cursor, p = s.stat() + continue + } + return errUnexpectedEndOfJSON("value of object", s.totalOffset()) + case '{': + s.cursor = cursor + 1 + return s.skipObject(depth + 1) + case '[': + s.cursor = cursor + 1 + return s.skipArray(depth + 1) + case '"': + for { + cursor++ + switch char(p, cursor) { + case '\\': + cursor++ + if char(p, cursor) == nul { + s.cursor = cursor + if s.read() { + _, cursor, p = s.statForRetry() + continue + } + return errUnexpectedEndOfJSON("value of string", s.totalOffset()) + } + case '"': + s.cursor = cursor + 1 + return nil + case nul: + s.cursor = cursor + if s.read() { + _, cursor, p = s.statForRetry() + continue + } + return errUnexpectedEndOfJSON("value of string", s.totalOffset()) + } + } + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + for { + cursor++ + c := char(p, cursor) + if floatTable[c] { + continue + } else if c == nul { + if s.read() { + s.cursor-- // for retry current character + _, cursor, p = s.stat() + continue + } + } + s.cursor = cursor + return nil + } + case 't': + s.cursor = cursor + if err := trueBytes(s); err != nil { + return err + } + return nil + case 'f': + s.cursor = cursor + if err := falseBytes(s); err != nil { + return err + } + return nil + case 'n': + s.cursor = cursor + if err := nullBytes(s); err != nil { + return err + } + return nil + } + cursor++ + } +} + +func nullBytes(s *stream) error { + // current cursor's character is 'n' + s.cursor++ + if s.char() != 'u' { + if err := retryReadNull(s); err != nil { + return err + } + } + s.cursor++ + if s.char() != 'l' { + if err := retryReadNull(s); err != nil { + return err + } + } + s.cursor++ + if s.char() != 'l' { + if err := retryReadNull(s); err != nil { + return err + } + } + s.cursor++ + return nil +} + +func retryReadNull(s *stream) error { + if s.char() == nul && s.read() { + return nil + } + return errInvalidCharacter(s.char(), "null", s.totalOffset()) +} + +func trueBytes(s *stream) error { + // current cursor's character is 't' + s.cursor++ + if s.char() != 'r' { + if err := retryReadTrue(s); err != nil { + return err + } + } + s.cursor++ + if s.char() != 'u' { + if err := retryReadTrue(s); err != nil { + return err + } + } + s.cursor++ + if s.char() != 'e' { + if err := retryReadTrue(s); err != nil { + return err + } + } + s.cursor++ + return nil +} + +func retryReadTrue(s *stream) error { + if s.char() == nul && s.read() { + return nil + } + return errInvalidCharacter(s.char(), "bool(true)", s.totalOffset()) +} + +func falseBytes(s *stream) error { + // current cursor's character is 'f' + s.cursor++ + if s.char() != 'a' { + if err := retryReadFalse(s); err != nil { + return err + } + } + s.cursor++ + if s.char() != 'l' { + if err := retryReadFalse(s); err != nil { + return err + } + } + s.cursor++ + if s.char() != 's' { + if err := retryReadFalse(s); err != nil { + return err + } + } + s.cursor++ + if s.char() != 'e' { + if err := retryReadFalse(s); err != nil { + return err + } + } + s.cursor++ + return nil +} + +func retryReadFalse(s *stream) error { + if s.char() == nul && s.read() { + return nil + } + return errInvalidCharacter(s.char(), "bool(false)", s.totalOffset()) +} diff --git a/vendor/github.com/goccy/go-json/decode_string.go b/vendor/github.com/goccy/go-json/decode_string.go new file mode 100644 index 000000000..3ca1710f5 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_string.go @@ -0,0 +1,355 @@ +package json + +import ( + "reflect" + "unicode" + "unicode/utf16" + "unicode/utf8" + "unsafe" +) + +type stringDecoder struct { + structName string + fieldName string +} + +func newStringDecoder(structName, fieldName string) *stringDecoder { + return &stringDecoder{ + structName: structName, + fieldName: fieldName, + } +} + +func (d *stringDecoder) errUnmarshalType(typeName string, offset int64) *UnmarshalTypeError { + return &UnmarshalTypeError{ + Value: typeName, + Type: reflect.TypeOf(""), + Offset: offset, + Struct: d.structName, + Field: d.fieldName, + } +} + +func (d *stringDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + bytes, err := d.decodeStreamByte(s) + if err != nil { + return err + } + if bytes == nil { + return nil + } + **(**string)(unsafe.Pointer(&p)) = *(*string)(unsafe.Pointer(&bytes)) + s.reset() + return nil +} + +func (d *stringDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + bytes, c, err := d.decodeByte(buf, cursor) + if err != nil { + return 0, err + } + if bytes == nil { + return c, nil + } + cursor = c + **(**string)(unsafe.Pointer(&p)) = *(*string)(unsafe.Pointer(&bytes)) + return cursor, nil +} + +var ( + hexToInt = [256]int{ + '0': 0, + '1': 1, + '2': 2, + '3': 3, + '4': 4, + '5': 5, + '6': 6, + '7': 7, + '8': 8, + '9': 9, + 'A': 10, + 'B': 11, + 'C': 12, + 'D': 13, + 'E': 14, + 'F': 15, + 'a': 10, + 'b': 11, + 'c': 12, + 'd': 13, + 'e': 14, + 'f': 15, + } +) + +func unicodeToRune(code []byte) rune { + var r rune + for i := 0; i < len(code); i++ { + r = r*16 + rune(hexToInt[code[i]]) + } + return r +} + +func decodeUnicodeRune(s *stream) (rune, int64, error) { + const defaultOffset = 5 + const surrogateOffset = 11 + + if s.cursor+defaultOffset >= s.length { + if !s.read() { + return rune(0), 0, errInvalidCharacter(s.char(), "escaped string", s.totalOffset()) + } + } + + r := unicodeToRune(s.buf[s.cursor+1 : s.cursor+defaultOffset]) + if utf16.IsSurrogate(r) { + if s.cursor+surrogateOffset >= s.length { + s.read() + } + if s.cursor+surrogateOffset >= s.length || s.buf[s.cursor+defaultOffset] != '\\' || s.buf[s.cursor+defaultOffset+1] != 'u' { + return unicode.ReplacementChar, defaultOffset, nil + } + r2 := unicodeToRune(s.buf[s.cursor+defaultOffset+2 : s.cursor+surrogateOffset]) + if r := utf16.DecodeRune(r, r2); r != unicode.ReplacementChar { + return r, surrogateOffset, nil + } + } + return r, defaultOffset, nil +} + +func decodeUnicode(s *stream) error { + const backSlashAndULen = 2 // length of \u + + r, offset, err := decodeUnicodeRune(s) + if err != nil { + return err + } + unicode := []byte(string(r)) + unicodeLen := int64(len(unicode)) + s.buf = append(append(s.buf[:s.cursor-1], unicode...), s.buf[s.cursor+offset:]...) + unicodeOrgLen := offset - 1 + s.length = s.length - (backSlashAndULen + (unicodeOrgLen - unicodeLen)) + s.cursor = s.cursor - backSlashAndULen + unicodeLen + return nil +} + +func decodeEscapeString(s *stream) error { + s.cursor++ +RETRY: + switch s.buf[s.cursor] { + case '"': + s.buf[s.cursor] = '"' + case '\\': + s.buf[s.cursor] = '\\' + case '/': + s.buf[s.cursor] = '/' + case 'b': + s.buf[s.cursor] = '\b' + case 'f': + s.buf[s.cursor] = '\f' + case 'n': + s.buf[s.cursor] = '\n' + case 'r': + s.buf[s.cursor] = '\r' + case 't': + s.buf[s.cursor] = '\t' + case 'u': + return decodeUnicode(s) + case nul: + if !s.read() { + return errInvalidCharacter(s.char(), "escaped string", s.totalOffset()) + } + goto RETRY + default: + return errUnexpectedEndOfJSON("string", s.totalOffset()) + } + s.buf = append(s.buf[:s.cursor-1], s.buf[s.cursor:]...) + s.length-- + s.cursor-- + return nil +} + +var ( + runeErrBytes = []byte(string(utf8.RuneError)) + runeErrBytesLen = int64(len(runeErrBytes)) +) + +func stringBytes(s *stream) ([]byte, error) { + _, cursor, p := s.stat() + cursor++ // skip double quote char + start := cursor + for { + switch char(p, cursor) { + case '\\': + s.cursor = cursor + if err := decodeEscapeString(s); err != nil { + return nil, err + } + cursor = s.cursor + case '"': + literal := s.buf[start:cursor] + cursor++ + s.cursor = cursor + return literal, nil + case + // 0x00 is nul, 0x5c is '\\', 0x22 is '"' . + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, // 0x00-0x0F + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, // 0x10-0x1F + 0x20, 0x21 /*0x22,*/, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, // 0x20-0x2F + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, // 0x30-0x3F + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, // 0x40-0x4F + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B /*0x5C,*/, 0x5D, 0x5E, 0x5F, // 0x50-0x5F + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, // 0x60-0x6F + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F: // 0x70-0x7F + // character is ASCII. skip to next char + case + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, // 0x80-0x8F + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, // 0x90-0x9F + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, // 0xA0-0xAF + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, // 0xB0-0xBF + 0xC0, 0xC1, // 0xC0-0xC1 + 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF: // 0xF5-0xFE + // character is invalid + s.buf = append(append(append([]byte{}, s.buf[:cursor]...), runeErrBytes...), s.buf[cursor+1:]...) + _, _, p = s.stat() + cursor += runeErrBytesLen + s.length += runeErrBytesLen + continue + case nul: + s.cursor = cursor + if s.read() { + _, cursor, p = s.stat() + continue + } + goto ERROR + case 0xEF: + // RuneError is {0xEF, 0xBF, 0xBD} + if s.buf[cursor+1] == 0xBF && s.buf[cursor+2] == 0xBD { + // found RuneError: skip + cursor += 2 + break + } + fallthrough + default: + // multi bytes character + r, _ := utf8.DecodeRune(s.buf[cursor:]) + b := []byte(string(r)) + if r == utf8.RuneError { + s.buf = append(append(append([]byte{}, s.buf[:cursor]...), b...), s.buf[cursor+1:]...) + _, _, p = s.stat() + } + cursor += int64(len(b)) + s.length += int64(len(b)) + continue + } + cursor++ + } +ERROR: + return nil, errUnexpectedEndOfJSON("string", s.totalOffset()) +} + +func (d *stringDecoder) decodeStreamByte(s *stream) ([]byte, error) { + for { + switch s.char() { + case ' ', '\n', '\t', '\r': + s.cursor++ + continue + case '[': + return nil, d.errUnmarshalType("array", s.totalOffset()) + case '{': + return nil, d.errUnmarshalType("object", s.totalOffset()) + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return nil, d.errUnmarshalType("number", s.totalOffset()) + case '"': + return stringBytes(s) + case 'n': + if err := nullBytes(s); err != nil { + return nil, err + } + return nil, nil + case nul: + if s.read() { + continue + } + } + break + } + return nil, errNotAtBeginningOfValue(s.totalOffset()) +} + +func (d *stringDecoder) decodeByte(buf []byte, cursor int64) ([]byte, int64, error) { + for { + switch buf[cursor] { + case ' ', '\n', '\t', '\r': + cursor++ + case '[': + return nil, 0, d.errUnmarshalType("array", cursor) + case '{': + return nil, 0, d.errUnmarshalType("object", cursor) + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return nil, 0, d.errUnmarshalType("number", cursor) + case '"': + cursor++ + start := cursor + b := (*sliceHeader)(unsafe.Pointer(&buf)).data + for { + switch char(b, cursor) { + case '\\': + cursor++ + switch char(b, cursor) { + case '"': + buf[cursor] = '"' + buf = append(buf[:cursor-1], buf[cursor:]...) + case '\\': + buf[cursor] = '\\' + buf = append(buf[:cursor-1], buf[cursor:]...) + case '/': + buf[cursor] = '/' + buf = append(buf[:cursor-1], buf[cursor:]...) + case 'b': + buf[cursor] = '\b' + buf = append(buf[:cursor-1], buf[cursor:]...) + case 'f': + buf[cursor] = '\f' + buf = append(buf[:cursor-1], buf[cursor:]...) + case 'n': + buf[cursor] = '\n' + buf = append(buf[:cursor-1], buf[cursor:]...) + case 'r': + buf[cursor] = '\r' + buf = append(buf[:cursor-1], buf[cursor:]...) + case 't': + buf[cursor] = '\t' + buf = append(buf[:cursor-1], buf[cursor:]...) + case 'u': + buflen := int64(len(buf)) + if cursor+5 >= buflen { + return nil, 0, errUnexpectedEndOfJSON("escaped string", cursor) + } + code := unicodeToRune(buf[cursor+1 : cursor+5]) + unicode := []byte(string(code)) + buf = append(append(buf[:cursor-1], unicode...), buf[cursor+5:]...) + default: + return nil, 0, errUnexpectedEndOfJSON("escaped string", cursor) + } + continue + case '"': + literal := buf[start:cursor] + cursor++ + return literal, cursor, nil + case nul: + return nil, 0, errUnexpectedEndOfJSON("string", cursor) + } + cursor++ + } + case 'n': + if err := validateNull(buf, cursor); err != nil { + return nil, 0, err + } + cursor += 4 + return nil, cursor, nil + default: + return nil, 0, errNotAtBeginningOfValue(cursor) + } + } +} diff --git a/vendor/github.com/goccy/go-json/decode_struct.go b/vendor/github.com/goccy/go-json/decode_struct.go new file mode 100644 index 000000000..f857bfcec --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_struct.go @@ -0,0 +1,623 @@ +package json + +import ( + "fmt" + "math" + "math/bits" + "sort" + "strings" + "unsafe" +) + +type structFieldSet struct { + dec decoder + offset uintptr + isTaggedKey bool + key string + keyLen int64 + err error +} + +type structDecoder struct { + fieldMap map[string]*structFieldSet + stringDecoder *stringDecoder + structName string + fieldName string + isTriedOptimize bool + keyBitmapUint8 [][256]uint8 + keyBitmapUint16 [][256]uint16 + sortedFieldSets []*structFieldSet + keyDecoder func(*structDecoder, []byte, int64) (int64, *structFieldSet, error) + keyStreamDecoder func(*structDecoder, *stream) (*structFieldSet, string, error) +} + +var ( + largeToSmallTable [256]byte +) + +func init() { + for i := 0; i < 256; i++ { + c := i + if 'A' <= c && c <= 'Z' { + c += 'a' - 'A' + } + largeToSmallTable[i] = byte(c) + } +} + +func newStructDecoder(structName, fieldName string, fieldMap map[string]*structFieldSet) *structDecoder { + return &structDecoder{ + fieldMap: fieldMap, + stringDecoder: newStringDecoder(structName, fieldName), + structName: structName, + fieldName: fieldName, + keyDecoder: decodeKey, + keyStreamDecoder: decodeKeyStream, + } +} + +const ( + allowOptimizeMaxKeyLen = 64 + allowOptimizeMaxFieldLen = 16 +) + +func (d *structDecoder) tryOptimize() { + if d.isTriedOptimize { + return + } + fieldMap := map[string]*structFieldSet{} + conflicted := map[string]struct{}{} + for k, v := range d.fieldMap { + key := strings.ToLower(k) + if key != k { + // already exists same key (e.g. Hello and HELLO has same lower case key + if _, exists := conflicted[key]; exists { + d.isTriedOptimize = true + return + } + conflicted[key] = struct{}{} + } + if field, exists := fieldMap[key]; exists { + if field != v { + d.isTriedOptimize = true + return + } + } + fieldMap[key] = v + } + + if len(fieldMap) > allowOptimizeMaxFieldLen { + d.isTriedOptimize = true + return + } + + var maxKeyLen int + sortedKeys := []string{} + for key := range fieldMap { + keyLen := len(key) + if keyLen > allowOptimizeMaxKeyLen { + d.isTriedOptimize = true + return + } + if maxKeyLen < keyLen { + maxKeyLen = keyLen + } + sortedKeys = append(sortedKeys, key) + } + sort.Strings(sortedKeys) + + // By allocating one extra capacity than `maxKeyLen`, + // it is possible to avoid the process of comparing the index of the key with the length of the bitmap each time. + bitmapLen := maxKeyLen + 1 + if len(sortedKeys) <= 8 { + keyBitmap := make([][256]uint8, bitmapLen) + for i, key := range sortedKeys { + for j := 0; j < len(key); j++ { + c := key[j] + keyBitmap[j][c] |= (1 << uint(i)) + } + d.sortedFieldSets = append(d.sortedFieldSets, fieldMap[key]) + } + d.keyBitmapUint8 = keyBitmap + d.keyDecoder = decodeKeyByBitmapUint8 + d.keyStreamDecoder = decodeKeyByBitmapUint8Stream + } else { + keyBitmap := make([][256]uint16, bitmapLen) + for i, key := range sortedKeys { + for j := 0; j < len(key); j++ { + c := key[j] + keyBitmap[j][c] |= (1 << uint(i)) + } + d.sortedFieldSets = append(d.sortedFieldSets, fieldMap[key]) + } + d.keyBitmapUint16 = keyBitmap + d.keyDecoder = decodeKeyByBitmapUint16 + d.keyStreamDecoder = decodeKeyByBitmapUint16Stream + } +} + +func decodeKeyByBitmapUint8(d *structDecoder, buf []byte, cursor int64) (int64, *structFieldSet, error) { + var ( + field *structFieldSet + curBit uint8 = math.MaxUint8 + ) + b := (*sliceHeader)(unsafe.Pointer(&buf)).data + for { + switch char(b, cursor) { + case ' ', '\n', '\t', '\r': + cursor++ + case '"': + cursor++ + c := char(b, cursor) + switch c { + case '"': + cursor++ + return cursor, field, nil + case nul: + return 0, nil, errUnexpectedEndOfJSON("string", cursor) + } + keyIdx := 0 + bitmap := d.keyBitmapUint8 + start := cursor + for { + c := char(b, cursor) + switch c { + case '"': + fieldSetIndex := bits.TrailingZeros8(curBit) + field = d.sortedFieldSets[fieldSetIndex] + keyLen := cursor - start + cursor++ + if keyLen < field.keyLen { + // early match + return cursor, nil, nil + } + return cursor, field, nil + case nul: + return 0, nil, errUnexpectedEndOfJSON("string", cursor) + default: + curBit &= bitmap[keyIdx][largeToSmallTable[c]] + if curBit == 0 { + for { + cursor++ + switch char(b, cursor) { + case '"': + cursor++ + return cursor, field, nil + case '\\': + cursor++ + if char(b, cursor) == nul { + return 0, nil, errUnexpectedEndOfJSON("string", cursor) + } + case nul: + return 0, nil, errUnexpectedEndOfJSON("string", cursor) + } + } + } + keyIdx++ + } + cursor++ + } + default: + return cursor, nil, errNotAtBeginningOfValue(cursor) + } + } +} + +func decodeKeyByBitmapUint16(d *structDecoder, buf []byte, cursor int64) (int64, *structFieldSet, error) { + var ( + field *structFieldSet + curBit uint16 = math.MaxUint16 + ) + b := (*sliceHeader)(unsafe.Pointer(&buf)).data + for { + switch char(b, cursor) { + case ' ', '\n', '\t', '\r': + cursor++ + case '"': + cursor++ + c := char(b, cursor) + switch c { + case '"': + cursor++ + return cursor, field, nil + case nul: + return 0, nil, errUnexpectedEndOfJSON("string", cursor) + } + keyIdx := 0 + bitmap := d.keyBitmapUint16 + start := cursor + for { + c := char(b, cursor) + switch c { + case '"': + fieldSetIndex := bits.TrailingZeros16(curBit) + field = d.sortedFieldSets[fieldSetIndex] + keyLen := cursor - start + cursor++ + if keyLen < field.keyLen { + // early match + return cursor, nil, nil + } + return cursor, field, nil + case nul: + return 0, nil, errUnexpectedEndOfJSON("string", cursor) + default: + curBit &= bitmap[keyIdx][largeToSmallTable[c]] + if curBit == 0 { + for { + cursor++ + switch char(b, cursor) { + case '"': + cursor++ + return cursor, field, nil + case '\\': + cursor++ + if char(b, cursor) == nul { + return 0, nil, errUnexpectedEndOfJSON("string", cursor) + } + case nul: + return 0, nil, errUnexpectedEndOfJSON("string", cursor) + } + } + } + keyIdx++ + } + cursor++ + } + default: + return cursor, nil, errNotAtBeginningOfValue(cursor) + } + } +} + +func decodeKey(d *structDecoder, buf []byte, cursor int64) (int64, *structFieldSet, error) { + key, c, err := d.stringDecoder.decodeByte(buf, cursor) + if err != nil { + return 0, nil, err + } + cursor = c + k := *(*string)(unsafe.Pointer(&key)) + field, exists := d.fieldMap[k] + if !exists { + return cursor, nil, nil + } + return cursor, field, nil +} + +func decodeKeyByBitmapUint8Stream(d *structDecoder, s *stream) (*structFieldSet, string, error) { + var ( + field *structFieldSet + curBit uint8 = math.MaxUint8 + ) + buf, cursor, p := s.stat() + for { + switch char(p, cursor) { + case ' ', '\n', '\t', '\r': + cursor++ + case nul: + s.cursor = cursor + if s.read() { + buf, cursor, p = s.stat() + continue + } + return nil, "", errNotAtBeginningOfValue(s.totalOffset()) + case '"': + cursor++ + FIRST_CHAR: + start := cursor + switch char(p, cursor) { + case '"': + cursor++ + s.cursor = cursor + return field, "", nil + case nul: + s.cursor = cursor + if s.read() { + buf, cursor, p = s.stat() + goto FIRST_CHAR + } + return nil, "", errUnexpectedEndOfJSON("string", s.totalOffset()) + } + keyIdx := 0 + bitmap := d.keyBitmapUint8 + for { + c := char(p, cursor) + switch c { + case '"': + fieldSetIndex := bits.TrailingZeros8(curBit) + field = d.sortedFieldSets[fieldSetIndex] + keyLen := cursor - start + cursor++ + s.cursor = cursor + if keyLen < field.keyLen { + // early match + return nil, field.key, nil + } + return field, field.key, nil + case nul: + s.cursor = cursor + if s.read() { + buf, cursor, p = s.stat() + continue + } + return nil, "", errUnexpectedEndOfJSON("string", s.totalOffset()) + default: + curBit &= bitmap[keyIdx][largeToSmallTable[c]] + if curBit == 0 { + for { + cursor++ + switch char(p, cursor) { + case '"': + b := buf[start:cursor] + key := *(*string)(unsafe.Pointer(&b)) + cursor++ + s.cursor = cursor + return field, key, nil + case '\\': + cursor++ + if char(p, cursor) == nul { + s.cursor = cursor + if !s.read() { + return nil, "", errUnexpectedEndOfJSON("string", s.totalOffset()) + } + buf, cursor, p = s.statForRetry() + } + case nul: + s.cursor = cursor + if !s.read() { + return nil, "", errUnexpectedEndOfJSON("string", s.totalOffset()) + } + buf, cursor, p = s.statForRetry() + } + } + } + keyIdx++ + } + cursor++ + } + default: + return nil, "", errNotAtBeginningOfValue(s.totalOffset()) + } + } +} + +func decodeKeyByBitmapUint16Stream(d *structDecoder, s *stream) (*structFieldSet, string, error) { + var ( + field *structFieldSet + curBit uint16 = math.MaxUint16 + ) + buf, cursor, p := s.stat() + for { + switch char(p, cursor) { + case ' ', '\n', '\t', '\r': + cursor++ + case nul: + s.cursor = cursor + if s.read() { + buf, cursor, p = s.stat() + continue + } + return nil, "", errNotAtBeginningOfValue(s.totalOffset()) + case '"': + cursor++ + FIRST_CHAR: + start := cursor + switch char(p, cursor) { + case '"': + cursor++ + s.cursor = cursor + return field, "", nil + case nul: + s.cursor = cursor + if s.read() { + buf, cursor, p = s.stat() + goto FIRST_CHAR + } + return nil, "", errUnexpectedEndOfJSON("string", s.totalOffset()) + } + keyIdx := 0 + bitmap := d.keyBitmapUint16 + for { + c := char(p, cursor) + switch c { + case '"': + fieldSetIndex := bits.TrailingZeros16(curBit) + field = d.sortedFieldSets[fieldSetIndex] + keyLen := cursor - start + cursor++ + s.cursor = cursor + if keyLen < field.keyLen { + // early match + return nil, field.key, nil + } + return field, field.key, nil + case nul: + s.cursor = cursor + if s.read() { + buf, cursor, p = s.stat() + continue + } + return nil, "", errUnexpectedEndOfJSON("string", s.totalOffset()) + default: + curBit &= bitmap[keyIdx][largeToSmallTable[c]] + if curBit == 0 { + for { + cursor++ + switch char(p, cursor) { + case '"': + b := buf[start:cursor] + key := *(*string)(unsafe.Pointer(&b)) + cursor++ + s.cursor = cursor + return field, key, nil + case '\\': + cursor++ + if char(p, cursor) == nul { + s.cursor = cursor + if !s.read() { + return nil, "", errUnexpectedEndOfJSON("string", s.totalOffset()) + } + buf, cursor, p = s.statForRetry() + } + case nul: + s.cursor = cursor + if !s.read() { + return nil, "", errUnexpectedEndOfJSON("string", s.totalOffset()) + } + buf, cursor, p = s.statForRetry() + } + } + } + keyIdx++ + } + cursor++ + } + default: + return nil, "", errNotAtBeginningOfValue(s.totalOffset()) + } + } +} + +func decodeKeyStream(d *structDecoder, s *stream) (*structFieldSet, string, error) { + key, err := d.stringDecoder.decodeStreamByte(s) + if err != nil { + return nil, "", err + } + k := *(*string)(unsafe.Pointer(&key)) + return d.fieldMap[k], k, nil +} + +func (d *structDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + depth++ + if depth > maxDecodeNestingDepth { + return errExceededMaxDepth(s.char(), s.cursor) + } + + s.skipWhiteSpace() + switch s.char() { + case 'n': + if err := nullBytes(s); err != nil { + return err + } + return nil + case nul: + s.read() + default: + if s.char() != '{' { + return errNotAtBeginningOfValue(s.totalOffset()) + } + } + s.cursor++ + s.skipWhiteSpace() + if s.char() == '}' { + s.cursor++ + return nil + } + for { + s.reset() + field, key, err := d.keyStreamDecoder(d, s) + if err != nil { + return err + } + s.skipWhiteSpace() + if s.char() != ':' { + return errExpected("colon after object key", s.totalOffset()) + } + s.cursor++ + if s.char() == nul { + if !s.read() { + return errExpected("object value after colon", s.totalOffset()) + } + } + if field != nil { + if field.err != nil { + return field.err + } + if err := field.dec.decodeStream(s, depth, unsafe.Pointer(uintptr(p)+field.offset)); err != nil { + return err + } + } else if s.disallowUnknownFields { + return fmt.Errorf("json: unknown field %q", key) + } else { + if err := s.skipValue(depth); err != nil { + return err + } + } + s.skipWhiteSpace() + c := s.char() + if c == '}' { + s.cursor++ + return nil + } + if c != ',' { + return errExpected("comma after object element", s.totalOffset()) + } + s.cursor++ + } +} + +func (d *structDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + depth++ + if depth > maxDecodeNestingDepth { + return 0, errExceededMaxDepth(buf[cursor], cursor) + } + buflen := int64(len(buf)) + cursor = skipWhiteSpace(buf, cursor) + b := (*sliceHeader)(unsafe.Pointer(&buf)).data + switch char(b, cursor) { + case 'n': + if err := validateNull(buf, cursor); err != nil { + return 0, err + } + cursor += 4 + return cursor, nil + case '{': + default: + return 0, errNotAtBeginningOfValue(cursor) + } + cursor++ + cursor = skipWhiteSpace(buf, cursor) + if buf[cursor] == '}' { + cursor++ + return cursor, nil + } + for { + c, field, err := d.keyDecoder(d, buf, cursor) + if err != nil { + return 0, err + } + cursor = skipWhiteSpace(buf, c) + if char(b, cursor) != ':' { + return 0, errExpected("colon after object key", cursor) + } + cursor++ + if cursor >= buflen { + return 0, errExpected("object value after colon", cursor) + } + if field != nil { + if field.err != nil { + return 0, field.err + } + c, err := field.dec.decode(buf, cursor, depth, unsafe.Pointer(uintptr(p)+field.offset)) + if err != nil { + return 0, err + } + cursor = c + } else { + c, err := skipValue(buf, cursor, depth) + if err != nil { + return 0, err + } + cursor = c + } + cursor = skipWhiteSpace(buf, cursor) + if char(b, cursor) == '}' { + cursor++ + return cursor, nil + } + if char(b, cursor) != ',' { + return 0, errExpected("comma after object element", cursor) + } + cursor++ + } +} diff --git a/vendor/github.com/goccy/go-json/decode_uint.go b/vendor/github.com/goccy/go-json/decode_uint.go new file mode 100644 index 000000000..91a0004ec --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_uint.go @@ -0,0 +1,187 @@ +package json + +import ( + "fmt" + "reflect" + "unsafe" +) + +type uintDecoder struct { + typ *rtype + kind reflect.Kind + op func(unsafe.Pointer, uint64) + structName string + fieldName string +} + +func newUintDecoder(typ *rtype, structName, fieldName string, op func(unsafe.Pointer, uint64)) *uintDecoder { + return &uintDecoder{ + typ: typ, + kind: typ.Kind(), + op: op, + structName: structName, + fieldName: fieldName, + } +} + +func (d *uintDecoder) typeError(buf []byte, offset int64) *UnmarshalTypeError { + return &UnmarshalTypeError{ + Value: fmt.Sprintf("number %s", string(buf)), + Type: rtype2type(d.typ), + Offset: offset, + } +} + +var ( + pow10u64 = [...]uint64{ + 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09, + 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, + } + pow10u64Len = len(pow10u64) +) + +func (d *uintDecoder) parseUint(b []byte) (uint64, error) { + maxDigit := len(b) + if maxDigit > pow10u64Len { + return 0, fmt.Errorf("invalid length of number") + } + sum := uint64(0) + for i := 0; i < maxDigit; i++ { + c := uint64(b[i]) - 48 + digitValue := pow10u64[maxDigit-i-1] + sum += c * digitValue + } + return sum, nil +} + +func (d *uintDecoder) decodeStreamByte(s *stream) ([]byte, error) { + for { + switch s.char() { + case ' ', '\n', '\t', '\r': + s.cursor++ + continue + case '0': + s.cursor++ + return []byte{'0'}, nil + case '1', '2', '3', '4', '5', '6', '7', '8', '9': + start := s.cursor + for { + s.cursor++ + if numTable[s.char()] { + continue + } else if s.char() == nul { + if s.read() { + s.cursor-- // for retry current character + continue + } + } + break + } + num := s.buf[start:s.cursor] + return num, nil + case 'n': + if err := nullBytes(s); err != nil { + return nil, err + } + return nil, nil + case nul: + if s.read() { + continue + } + default: + return nil, d.typeError([]byte{s.char()}, s.totalOffset()) + } + break + } + return nil, errUnexpectedEndOfJSON("number(unsigned integer)", s.totalOffset()) +} + +func (d *uintDecoder) decodeByte(buf []byte, cursor int64) ([]byte, int64, error) { + for { + switch buf[cursor] { + case ' ', '\n', '\t', '\r': + cursor++ + continue + case '0': + cursor++ + return []byte{'0'}, cursor, nil + case '1', '2', '3', '4', '5', '6', '7', '8', '9': + start := cursor + cursor++ + for numTable[buf[cursor]] { + cursor++ + } + num := buf[start:cursor] + return num, cursor, nil + case 'n': + if err := validateNull(buf, cursor); err != nil { + return nil, 0, err + } + cursor += 4 + return nil, cursor, nil + default: + return nil, 0, d.typeError([]byte{buf[cursor]}, cursor) + } + } +} + +func (d *uintDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + bytes, err := d.decodeStreamByte(s) + if err != nil { + return err + } + if bytes == nil { + return nil + } + u64, err := d.parseUint(bytes) + if err != nil { + return d.typeError(bytes, s.totalOffset()) + } + switch d.kind { + case reflect.Uint8: + if (1 << 8) <= u64 { + return d.typeError(bytes, s.totalOffset()) + } + case reflect.Uint16: + if (1 << 16) <= u64 { + return d.typeError(bytes, s.totalOffset()) + } + case reflect.Uint32: + if (1 << 32) <= u64 { + return d.typeError(bytes, s.totalOffset()) + } + } + d.op(p, u64) + return nil +} + +func (d *uintDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + bytes, c, err := d.decodeByte(buf, cursor) + if err != nil { + return 0, err + } + if bytes == nil { + return c, nil + } + cursor = c + u64, err := d.parseUint(bytes) + if err != nil { + return 0, d.typeError(bytes, cursor) + } + switch d.kind { + case reflect.Uint8: + if (1 << 8) <= u64 { + return 0, d.typeError(bytes, cursor) + } + case reflect.Uint16: + if (1 << 16) <= u64 { + return 0, d.typeError(bytes, cursor) + } + case reflect.Uint32: + if (1 << 32) <= u64 { + return 0, d.typeError(bytes, cursor) + } + } + d.op(p, u64) + return cursor, nil +} diff --git a/vendor/github.com/goccy/go-json/decode_unmarshal_json.go b/vendor/github.com/goccy/go-json/decode_unmarshal_json.go new file mode 100644 index 000000000..faa593bbe --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_unmarshal_json.go @@ -0,0 +1,72 @@ +package json + +import ( + "unsafe" +) + +type unmarshalJSONDecoder struct { + typ *rtype + structName string + fieldName string +} + +func newUnmarshalJSONDecoder(typ *rtype, structName, fieldName string) *unmarshalJSONDecoder { + return &unmarshalJSONDecoder{ + typ: typ, + structName: structName, + fieldName: fieldName, + } +} + +func (d *unmarshalJSONDecoder) annotateError(cursor int64, err error) { + switch e := err.(type) { + case *UnmarshalTypeError: + e.Struct = d.structName + e.Field = d.fieldName + case *SyntaxError: + e.Offset = cursor + } +} + +func (d *unmarshalJSONDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + s.skipWhiteSpace() + start := s.cursor + if err := s.skipValue(depth); err != nil { + return err + } + src := s.buf[start:s.cursor] + dst := make([]byte, len(src)) + copy(dst, src) + + v := *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: d.typ, + ptr: p, + })) + if err := v.(Unmarshaler).UnmarshalJSON(dst); err != nil { + d.annotateError(s.cursor, err) + return err + } + return nil +} + +func (d *unmarshalJSONDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + cursor = skipWhiteSpace(buf, cursor) + start := cursor + end, err := skipValue(buf, cursor, depth) + if err != nil { + return 0, err + } + src := buf[start:end] + dst := make([]byte, len(src)) + copy(dst, src) + + v := *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: d.typ, + ptr: p, + })) + if err := v.(Unmarshaler).UnmarshalJSON(dst); err != nil { + d.annotateError(cursor, err) + return 0, err + } + return end, nil +} diff --git a/vendor/github.com/goccy/go-json/decode_unmarshal_text.go b/vendor/github.com/goccy/go-json/decode_unmarshal_text.go new file mode 100644 index 000000000..cd30e1614 --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_unmarshal_text.go @@ -0,0 +1,276 @@ +package json + +import ( + "bytes" + "encoding" + "unicode" + "unicode/utf16" + "unicode/utf8" + "unsafe" +) + +type unmarshalTextDecoder struct { + typ *rtype + structName string + fieldName string +} + +func newUnmarshalTextDecoder(typ *rtype, structName, fieldName string) *unmarshalTextDecoder { + return &unmarshalTextDecoder{ + typ: typ, + structName: structName, + fieldName: fieldName, + } +} + +func (d *unmarshalTextDecoder) annotateError(cursor int64, err error) { + switch e := err.(type) { + case *UnmarshalTypeError: + e.Struct = d.structName + e.Field = d.fieldName + case *SyntaxError: + e.Offset = cursor + } +} + +var ( + nullbytes = []byte(`null`) +) + +func (d *unmarshalTextDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + s.skipWhiteSpace() + start := s.cursor + if err := s.skipValue(depth); err != nil { + return err + } + src := s.buf[start:s.cursor] + if len(src) > 0 { + switch src[0] { + case '[': + return &UnmarshalTypeError{ + Value: "array", + Type: rtype2type(d.typ), + Offset: s.totalOffset(), + } + case '{': + return &UnmarshalTypeError{ + Value: "object", + Type: rtype2type(d.typ), + Offset: s.totalOffset(), + } + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return &UnmarshalTypeError{ + Value: "number", + Type: rtype2type(d.typ), + Offset: s.totalOffset(), + } + case 'n': + if bytes.Equal(src, nullbytes) { + *(*unsafe.Pointer)(p) = nil + return nil + } + } + } + dst := make([]byte, len(src)) + copy(dst, src) + + if b, ok := unquoteBytes(dst); ok { + dst = b + } + v := *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: d.typ, + ptr: p, + })) + if err := v.(encoding.TextUnmarshaler).UnmarshalText(dst); err != nil { + d.annotateError(s.cursor, err) + return err + } + return nil +} + +func (d *unmarshalTextDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + cursor = skipWhiteSpace(buf, cursor) + start := cursor + end, err := skipValue(buf, cursor, depth) + if err != nil { + return 0, err + } + src := buf[start:end] + if len(src) > 0 { + switch src[0] { + case '[': + return 0, &UnmarshalTypeError{ + Value: "array", + Type: rtype2type(d.typ), + Offset: start, + } + case '{': + return 0, &UnmarshalTypeError{ + Value: "object", + Type: rtype2type(d.typ), + Offset: start, + } + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return 0, &UnmarshalTypeError{ + Value: "number", + Type: rtype2type(d.typ), + Offset: start, + } + case 'n': + if bytes.Equal(src, nullbytes) { + *(*unsafe.Pointer)(p) = nil + return end, nil + } + } + } + + if s, ok := unquoteBytes(src); ok { + src = s + } + v := *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: d.typ, + ptr: *(*unsafe.Pointer)(unsafe.Pointer(&p)), + })) + if err := v.(encoding.TextUnmarshaler).UnmarshalText(src); err != nil { + d.annotateError(cursor, err) + return 0, err + } + return end, nil +} + +func unquoteBytes(s []byte) (t []byte, ok bool) { + length := len(s) + if length < 2 || s[0] != '"' || s[length-1] != '"' { + return + } + s = s[1 : length-1] + length -= 2 + + // Check for unusual characters. If there are none, + // then no unquoting is needed, so return a slice of the + // original bytes. + r := 0 + for r < length { + c := s[r] + if c == '\\' || c == '"' || c < ' ' { + break + } + if c < utf8.RuneSelf { + r++ + continue + } + rr, size := utf8.DecodeRune(s[r:]) + if rr == utf8.RuneError && size == 1 { + break + } + r += size + } + if r == length { + return s, true + } + + b := make([]byte, length+2*utf8.UTFMax) + w := copy(b, s[0:r]) + for r < length { + // Out of room? Can only happen if s is full of + // malformed UTF-8 and we're replacing each + // byte with RuneError. + if w >= len(b)-2*utf8.UTFMax { + nb := make([]byte, (len(b)+utf8.UTFMax)*2) + copy(nb, b[0:w]) + b = nb + } + switch c := s[r]; { + case c == '\\': + r++ + if r >= length { + return + } + switch s[r] { + default: + return + case '"', '\\', '/', '\'': + b[w] = s[r] + r++ + w++ + case 'b': + b[w] = '\b' + r++ + w++ + case 'f': + b[w] = '\f' + r++ + w++ + case 'n': + b[w] = '\n' + r++ + w++ + case 'r': + b[w] = '\r' + r++ + w++ + case 't': + b[w] = '\t' + r++ + w++ + case 'u': + r-- + rr := getu4(s[r:]) + if rr < 0 { + return + } + r += 6 + if utf16.IsSurrogate(rr) { + rr1 := getu4(s[r:]) + if dec := utf16.DecodeRune(rr, rr1); dec != unicode.ReplacementChar { + // A valid pair; consume. + r += 6 + w += utf8.EncodeRune(b[w:], dec) + break + } + // Invalid surrogate; fall back to replacement rune. + rr = unicode.ReplacementChar + } + w += utf8.EncodeRune(b[w:], rr) + } + + // Quote, control characters are invalid. + case c == '"', c < ' ': + return + + // ASCII + case c < utf8.RuneSelf: + b[w] = c + r++ + w++ + + // Coerce to well-formed UTF-8. + default: + rr, size := utf8.DecodeRune(s[r:]) + r += size + w += utf8.EncodeRune(b[w:], rr) + } + } + return b[0:w], true +} + +func getu4(s []byte) rune { + if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { + return -1 + } + var r rune + for _, c := range s[2:6] { + switch { + case '0' <= c && c <= '9': + c = c - '0' + case 'a' <= c && c <= 'f': + c = c - 'a' + 10 + case 'A' <= c && c <= 'F': + c = c - 'A' + 10 + default: + return -1 + } + r = r*16 + rune(c) + } + return r +} diff --git a/vendor/github.com/goccy/go-json/decode_wrapped_string.go b/vendor/github.com/goccy/go-json/decode_wrapped_string.go new file mode 100644 index 000000000..7f63c597c --- /dev/null +++ b/vendor/github.com/goccy/go-json/decode_wrapped_string.go @@ -0,0 +1,63 @@ +package json + +import ( + "reflect" + "unsafe" +) + +type wrappedStringDecoder struct { + typ *rtype + dec decoder + stringDecoder *stringDecoder + structName string + fieldName string + isPtrType bool +} + +func newWrappedStringDecoder(typ *rtype, dec decoder, structName, fieldName string) *wrappedStringDecoder { + return &wrappedStringDecoder{ + typ: typ, + dec: dec, + stringDecoder: newStringDecoder(structName, fieldName), + structName: structName, + fieldName: fieldName, + isPtrType: typ.Kind() == reflect.Ptr, + } +} + +func (d *wrappedStringDecoder) decodeStream(s *stream, depth int64, p unsafe.Pointer) error { + bytes, err := d.stringDecoder.decodeStreamByte(s) + if err != nil { + return err + } + if bytes == nil { + if d.isPtrType { + *(*unsafe.Pointer)(p) = nil + } + return nil + } + b := make([]byte, len(bytes)+1) + copy(b, bytes) + if _, err := d.dec.decode(b, 0, depth, p); err != nil { + return err + } + return nil +} + +func (d *wrappedStringDecoder) decode(buf []byte, cursor, depth int64, p unsafe.Pointer) (int64, error) { + bytes, c, err := d.stringDecoder.decodeByte(buf, cursor) + if err != nil { + return 0, err + } + if bytes == nil { + if d.isPtrType { + *(*unsafe.Pointer)(p) = nil + } + return c, nil + } + bytes = append(bytes, nul) + if _, err := d.dec.decode(bytes, 0, depth, p); err != nil { + return 0, err + } + return c, nil +} diff --git a/vendor/github.com/goccy/go-json/docker-compose.yml b/vendor/github.com/goccy/go-json/docker-compose.yml new file mode 100644 index 000000000..e51066624 --- /dev/null +++ b/vendor/github.com/goccy/go-json/docker-compose.yml @@ -0,0 +1,13 @@ +version: '2' +services: + go-json: + image: golang:1.16 + volumes: + - '.:/go/src/go-json' + deploy: + resources: + limits: + memory: 620M + working_dir: /go/src/go-json + command: | + sh -c "go test -c . && ls go-json.test" diff --git a/vendor/github.com/goccy/go-json/encode.go b/vendor/github.com/goccy/go-json/encode.go new file mode 100644 index 000000000..c574be79c --- /dev/null +++ b/vendor/github.com/goccy/go-json/encode.go @@ -0,0 +1,284 @@ +package json + +import ( + "io" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" + "github.com/goccy/go-json/internal/encoder/vm" + "github.com/goccy/go-json/internal/encoder/vm_escaped" + "github.com/goccy/go-json/internal/encoder/vm_escaped_indent" + "github.com/goccy/go-json/internal/encoder/vm_indent" +) + +// An Encoder writes JSON values to an output stream. +type Encoder struct { + w io.Writer + enabledIndent bool + enabledHTMLEscape bool + prefix string + indentStr string +} + +type EncodeOption int + +const ( + EncodeOptionHTMLEscape EncodeOption = 1 << iota + EncodeOptionIndent + EncodeOptionUnorderedMap + EncodeOptionDebug +) + +// NewEncoder returns a new encoder that writes to w. +func NewEncoder(w io.Writer) *Encoder { + return &Encoder{w: w, enabledHTMLEscape: true} +} + +// Encode writes the JSON encoding of v to the stream, followed by a newline character. +// +// See the documentation for Marshal for details about the conversion of Go values to JSON. +func (e *Encoder) Encode(v interface{}) error { + return e.EncodeWithOption(v) +} + +// EncodeWithOption call Encode with EncodeOption. +func (e *Encoder) EncodeWithOption(v interface{}, optFuncs ...EncodeOptionFunc) error { + ctx := encoder.TakeRuntimeContext() + + err := e.encodeWithOption(ctx, v, optFuncs...) + + encoder.ReleaseRuntimeContext(ctx) + return err +} + +func (e *Encoder) encodeWithOption(ctx *encoder.RuntimeContext, v interface{}, optFuncs ...EncodeOptionFunc) error { + var opt EncodeOption + if e.enabledHTMLEscape { + opt |= EncodeOptionHTMLEscape + } + for _, optFunc := range optFuncs { + opt = optFunc(opt) + } + var ( + buf []byte + err error + ) + if e.enabledIndent { + buf, err = encodeIndent(ctx, v, e.prefix, e.indentStr, opt) + } else { + buf, err = encode(ctx, v, opt) + } + if err != nil { + return err + } + if e.enabledIndent { + buf = buf[:len(buf)-2] + } else { + buf = buf[:len(buf)-1] + } + buf = append(buf, '\n') + if _, err := e.w.Write(buf); err != nil { + return err + } + return nil +} + +// SetEscapeHTML specifies whether problematic HTML characters should be escaped inside JSON quoted strings. +// The default behavior is to escape &, <, and > to \u0026, \u003c, and \u003e to avoid certain safety problems that can arise when embedding JSON in HTML. +// +// In non-HTML settings where the escaping interferes with the readability of the output, SetEscapeHTML(false) disables this behavior. +func (e *Encoder) SetEscapeHTML(on bool) { + e.enabledHTMLEscape = on +} + +// SetIndent instructs the encoder to format each subsequent encoded value as if indented by the package-level function Indent(dst, src, prefix, indent). +// Calling SetIndent("", "") disables indentation. +func (e *Encoder) SetIndent(prefix, indent string) { + if prefix == "" && indent == "" { + e.enabledIndent = false + return + } + e.prefix = prefix + e.indentStr = indent + e.enabledIndent = true +} + +func marshal(v interface{}, opt EncodeOption) ([]byte, error) { + ctx := encoder.TakeRuntimeContext() + + buf, err := encode(ctx, v, opt|EncodeOptionHTMLEscape) + if err != nil { + encoder.ReleaseRuntimeContext(ctx) + return nil, err + } + + // this line exists to escape call of `runtime.makeslicecopy` . + // if use `make([]byte, len(buf)-1)` and `copy(copied, buf)`, + // dst buffer size and src buffer size are differrent. + // in this case, compiler uses `runtime.makeslicecopy`, but it is slow. + buf = buf[:len(buf)-1] + copied := make([]byte, len(buf)) + copy(copied, buf) + + encoder.ReleaseRuntimeContext(ctx) + return copied, nil +} + +func marshalNoEscape(v interface{}, opt EncodeOption) ([]byte, error) { + ctx := encoder.TakeRuntimeContext() + + buf, err := encodeNoEscape(ctx, v, opt|EncodeOptionHTMLEscape) + if err != nil { + encoder.ReleaseRuntimeContext(ctx) + return nil, err + } + + // this line exists to escape call of `runtime.makeslicecopy` . + // if use `make([]byte, len(buf)-1)` and `copy(copied, buf)`, + // dst buffer size and src buffer size are differrent. + // in this case, compiler uses `runtime.makeslicecopy`, but it is slow. + buf = buf[:len(buf)-1] + copied := make([]byte, len(buf)) + copy(copied, buf) + + encoder.ReleaseRuntimeContext(ctx) + return copied, nil +} + +func marshalIndent(v interface{}, prefix, indent string, opt EncodeOption) ([]byte, error) { + ctx := encoder.TakeRuntimeContext() + + buf, err := encodeIndent(ctx, v, prefix, indent, opt|EncodeOptionHTMLEscape) + if err != nil { + encoder.ReleaseRuntimeContext(ctx) + return nil, err + } + + buf = buf[:len(buf)-2] + copied := make([]byte, len(buf)) + copy(copied, buf) + + encoder.ReleaseRuntimeContext(ctx) + return copied, nil +} + +func encode(ctx *encoder.RuntimeContext, v interface{}, opt EncodeOption) ([]byte, error) { + b := ctx.Buf[:0] + if v == nil { + b = encoder.AppendNull(b) + b = encoder.AppendComma(b) + return b, nil + } + header := (*emptyInterface)(unsafe.Pointer(&v)) + typ := header.typ + + typeptr := uintptr(unsafe.Pointer(typ)) + codeSet, err := encoder.CompileToGetCodeSet(typeptr) + if err != nil { + return nil, err + } + + p := uintptr(header.ptr) + ctx.Init(p, codeSet.CodeLength) + ctx.KeepRefs = append(ctx.KeepRefs, header.ptr) + + buf, err := encodeRunCode(ctx, b, codeSet, opt) + if err != nil { + return nil, err + } + ctx.Buf = buf + return buf, nil +} + +func encodeNoEscape(ctx *encoder.RuntimeContext, v interface{}, opt EncodeOption) ([]byte, error) { + b := ctx.Buf[:0] + if v == nil { + b = encoder.AppendNull(b) + b = encoder.AppendComma(b) + return b, nil + } + header := (*emptyInterface)(unsafe.Pointer(&v)) + typ := header.typ + + typeptr := uintptr(unsafe.Pointer(typ)) + codeSet, err := encoder.CompileToGetCodeSet(typeptr) + if err != nil { + return nil, err + } + + p := uintptr(header.ptr) + ctx.Init(p, codeSet.CodeLength) + buf, err := encodeRunCode(ctx, b, codeSet, opt) + if err != nil { + return nil, err + } + + ctx.Buf = buf + return buf, nil +} + +func encodeIndent(ctx *encoder.RuntimeContext, v interface{}, prefix, indent string, opt EncodeOption) ([]byte, error) { + b := ctx.Buf[:0] + if v == nil { + b = encoder.AppendNull(b) + b = encoder.AppendCommaIndent(b) + return b, nil + } + header := (*emptyInterface)(unsafe.Pointer(&v)) + typ := header.typ + + typeptr := uintptr(unsafe.Pointer(typ)) + codeSet, err := encoder.CompileToGetCodeSet(typeptr) + if err != nil { + return nil, err + } + + p := uintptr(header.ptr) + ctx.Init(p, codeSet.CodeLength) + buf, err := encodeRunIndentCode(ctx, b, codeSet, prefix, indent, opt) + + ctx.KeepRefs = append(ctx.KeepRefs, header.ptr) + + if err != nil { + return nil, err + } + + ctx.Buf = buf + return buf, nil +} + +func encodeRunCode(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt EncodeOption) ([]byte, error) { + if (opt & EncodeOptionDebug) != 0 { + return encodeDebugRunCode(ctx, b, codeSet, opt) + } + if (opt & EncodeOptionHTMLEscape) != 0 { + return vm_escaped.Run(ctx, b, codeSet, encoder.Option(opt)) + } + return vm.Run(ctx, b, codeSet, encoder.Option(opt)) +} + +func encodeDebugRunCode(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt EncodeOption) ([]byte, error) { + if (opt & EncodeOptionHTMLEscape) != 0 { + return vm_escaped.DebugRun(ctx, b, codeSet, encoder.Option(opt)) + } + return vm.DebugRun(ctx, b, codeSet, encoder.Option(opt)) +} + +func encodeRunIndentCode(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, prefix, indent string, opt EncodeOption) ([]byte, error) { + ctx.Prefix = []byte(prefix) + ctx.IndentStr = []byte(indent) + if (opt & EncodeOptionDebug) != 0 { + return encodeDebugRunIndentCode(ctx, b, codeSet, opt) + } + if (opt & EncodeOptionHTMLEscape) != 0 { + return vm_escaped_indent.Run(ctx, b, codeSet, encoder.Option(opt)) + } + return vm_indent.Run(ctx, b, codeSet, encoder.Option(opt)) +} + +func encodeDebugRunIndentCode(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt EncodeOption) ([]byte, error) { + if (opt & EncodeOptionHTMLEscape) != 0 { + return vm_escaped_indent.DebugRun(ctx, b, codeSet, encoder.Option(opt)) + } + return vm_indent.DebugRun(ctx, b, codeSet, encoder.Option(opt)) +} diff --git a/vendor/github.com/goccy/go-json/error.go b/vendor/github.com/goccy/go-json/error.go new file mode 100644 index 000000000..2487b07d3 --- /dev/null +++ b/vendor/github.com/goccy/go-json/error.go @@ -0,0 +1,49 @@ +package json + +import ( + "github.com/goccy/go-json/internal/errors" +) + +// Before Go 1.2, an InvalidUTF8Error was returned by Marshal when +// attempting to encode a string value with invalid UTF-8 sequences. +// As of Go 1.2, Marshal instead coerces the string to valid UTF-8 by +// replacing invalid bytes with the Unicode replacement rune U+FFFD. +// +// Deprecated: No longer used; kept for compatibility. +type InvalidUTF8Error = errors.InvalidUTF8Error + +// An InvalidUnmarshalError describes an invalid argument passed to Unmarshal. +// (The argument to Unmarshal must be a non-nil pointer.) +type InvalidUnmarshalError = errors.InvalidUnmarshalError + +// A MarshalerError represents an error from calling a MarshalJSON or MarshalText method. +type MarshalerError = errors.MarshalerError + +// A SyntaxError is a description of a JSON syntax error. +type SyntaxError = errors.SyntaxError + +// An UnmarshalFieldError describes a JSON object key that +// led to an unexported (and therefore unwritable) struct field. +// +// Deprecated: No longer used; kept for compatibility. +type UnmarshalFieldError = errors.UnmarshalFieldError + +// An UnmarshalTypeError describes a JSON value that was +// not appropriate for a value of a specific Go type. +type UnmarshalTypeError = errors.UnmarshalTypeError + +// An UnsupportedTypeError is returned by Marshal when attempting +// to encode an unsupported value type. +type UnsupportedTypeError = errors.UnsupportedTypeError + +type UnsupportedValueError = errors.UnsupportedValueError + +var ( + errExceededMaxDepth = errors.ErrExceededMaxDepth + errNotAtBeginningOfValue = errors.ErrNotAtBeginningOfValue + errUnexpectedEndOfJSON = errors.ErrUnexpectedEndOfJSON + errExpected = errors.ErrExpected + errInvalidCharacter = errors.ErrInvalidCharacter + errSyntax = errors.ErrSyntax + errMarshaler = errors.ErrMarshaler +) diff --git a/vendor/github.com/goccy/go-json/go.mod b/vendor/github.com/goccy/go-json/go.mod new file mode 100644 index 000000000..58a14881f --- /dev/null +++ b/vendor/github.com/goccy/go-json/go.mod @@ -0,0 +1,3 @@ +module github.com/goccy/go-json + +go 1.12 diff --git a/vendor/github.com/goccy/go-json/go.sum b/vendor/github.com/goccy/go-json/go.sum new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/goccy/go-json/internal/encoder/compact.go b/vendor/github.com/goccy/go-json/internal/encoder/compact.go new file mode 100644 index 000000000..0eb9545d8 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/compact.go @@ -0,0 +1,286 @@ +package encoder + +import ( + "bytes" + "fmt" + "strconv" + "unsafe" + + "github.com/goccy/go-json/internal/errors" +) + +var ( + isWhiteSpace = [256]bool{ + ' ': true, + '\n': true, + '\t': true, + '\r': true, + } + isHTMLEscapeChar = [256]bool{ + '<': true, + '>': true, + '&': true, + } + nul = byte('\000') +) + +func Compact(buf *bytes.Buffer, src []byte, escape bool) error { + if len(src) == 0 { + return errors.ErrUnexpectedEndOfJSON("", 0) + } + buf.Grow(len(src)) + dst := buf.Bytes() + + ctx := TakeRuntimeContext() + ctxBuf := ctx.Buf[:0] + ctxBuf = append(append(ctxBuf, src...), nul) + ctx.Buf = ctxBuf + + if err := compactAndWrite(buf, dst, ctxBuf, escape); err != nil { + ReleaseRuntimeContext(ctx) + return err + } + ReleaseRuntimeContext(ctx) + return nil +} + +func compactAndWrite(buf *bytes.Buffer, dst []byte, src []byte, escape bool) error { + dst, err := compact(dst, src, escape) + if err != nil { + return err + } + if _, err := buf.Write(dst); err != nil { + return err + } + return nil +} + +func compact(dst, src []byte, escape bool) ([]byte, error) { + buf, cursor, err := compactValue(dst, src, 0, escape) + if err != nil { + return nil, err + } + if err := validateEndBuf(src, cursor); err != nil { + return nil, err + } + return buf, nil +} + +func validateEndBuf(src []byte, cursor int64) error { + for { + switch src[cursor] { + case ' ', '\t', '\n', '\r': + cursor++ + continue + case nul: + return nil + } + return errors.ErrSyntax( + fmt.Sprintf("invalid character '%c' after top-level value", src[cursor]), + cursor+1, + ) + } +} + +func skipWhiteSpace(buf []byte, cursor int64) int64 { +LOOP: + if isWhiteSpace[buf[cursor]] { + cursor++ + goto LOOP + } + return cursor +} + +func compactValue(dst, src []byte, cursor int64, escape bool) ([]byte, int64, error) { + for { + switch src[cursor] { + case ' ', '\t', '\n', '\r': + cursor++ + continue + case '{': + return compactObject(dst, src, cursor, escape) + case '}': + return nil, 0, errors.ErrSyntax("unexpected character '}'", cursor) + case '[': + return compactArray(dst, src, cursor, escape) + case ']': + return nil, 0, errors.ErrSyntax("unexpected character ']'", cursor) + case '"': + return compactString(dst, src, cursor, escape) + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return compactNumber(dst, src, cursor) + case 't': + return compactTrue(dst, src, cursor) + case 'f': + return compactFalse(dst, src, cursor) + case 'n': + return compactNull(dst, src, cursor) + default: + return nil, 0, errors.ErrSyntax(fmt.Sprintf("unexpected character '%c'", src[cursor]), cursor) + } + } +} + +func compactObject(dst, src []byte, cursor int64, escape bool) ([]byte, int64, error) { + if src[cursor] == '{' { + dst = append(dst, '{') + } else { + return nil, 0, errors.ErrExpected("expected { character for object value", cursor) + } + cursor = skipWhiteSpace(src, cursor+1) + if src[cursor] == '}' { + dst = append(dst, '}') + return dst, cursor + 1, nil + } + var err error + for { + cursor = skipWhiteSpace(src, cursor) + dst, cursor, err = compactString(dst, src, cursor, escape) + if err != nil { + return nil, 0, err + } + cursor = skipWhiteSpace(src, cursor) + if src[cursor] != ':' { + return nil, 0, errors.ErrExpected("colon after object key", cursor) + } + dst = append(dst, ':') + dst, cursor, err = compactValue(dst, src, cursor+1, escape) + if err != nil { + return nil, 0, err + } + cursor = skipWhiteSpace(src, cursor) + switch src[cursor] { + case '}': + dst = append(dst, '}') + cursor++ + return dst, cursor, nil + case ',': + dst = append(dst, ',') + default: + return nil, 0, errors.ErrExpected("comma after object value", cursor) + } + cursor++ + } +} + +func compactArray(dst, src []byte, cursor int64, escape bool) ([]byte, int64, error) { + if src[cursor] == '[' { + dst = append(dst, '[') + } else { + return nil, 0, errors.ErrExpected("expected [ character for array value", cursor) + } + cursor = skipWhiteSpace(src, cursor+1) + if src[cursor] == ']' { + dst = append(dst, ']') + return dst, cursor + 1, nil + } + var err error + for { + dst, cursor, err = compactValue(dst, src, cursor, escape) + if err != nil { + return nil, 0, err + } + cursor = skipWhiteSpace(src, cursor) + switch src[cursor] { + case ']': + dst = append(dst, ']') + cursor++ + return dst, cursor, nil + case ',': + dst = append(dst, ',') + default: + return nil, 0, errors.ErrExpected("comma after array value", cursor) + } + cursor++ + } +} + +func compactString(dst, src []byte, cursor int64, escape bool) ([]byte, int64, error) { + if src[cursor] != '"' { + return nil, 0, errors.ErrInvalidCharacter(src[cursor], "string", cursor) + } + start := cursor + for { + cursor++ + c := src[cursor] + if escape { + if isHTMLEscapeChar[c] { + dst = append(dst, src[start:cursor]...) + dst = append(dst, `\u00`...) + dst = append(dst, hex[c>>4], hex[c&0xF]) + start = cursor + 1 + } else if c == 0xE2 && cursor+2 < int64(len(src)) && src[cursor+1] == 0x80 && src[cursor+2]&^1 == 0xA8 { + dst = append(dst, src[start:cursor]...) + dst = append(dst, `\u202`...) + dst = append(dst, hex[src[cursor+2]&0xF]) + cursor += 2 + start = cursor + 3 + } + } + switch c { + case '\\': + cursor++ + if src[cursor] == nul { + return nil, 0, errors.ErrUnexpectedEndOfJSON("string", int64(len(src))) + } + case '"': + cursor++ + return append(dst, src[start:cursor]...), cursor, nil + case nul: + return nil, 0, errors.ErrUnexpectedEndOfJSON("string", int64(len(src))) + } + } +} + +func compactNumber(dst, src []byte, cursor int64) ([]byte, int64, error) { + start := cursor + for { + cursor++ + if floatTable[src[cursor]] { + continue + } + break + } + num := src[start:cursor] + if _, err := strconv.ParseFloat(*(*string)(unsafe.Pointer(&num)), 64); err != nil { + return nil, 0, err + } + dst = append(dst, num...) + return dst, cursor, nil +} + +func compactTrue(dst, src []byte, cursor int64) ([]byte, int64, error) { + if cursor+3 >= int64(len(src)) { + return nil, 0, errors.ErrUnexpectedEndOfJSON("true", cursor) + } + if !bytes.Equal(src[cursor:cursor+4], []byte(`true`)) { + return nil, 0, errors.ErrInvalidCharacter(src[cursor], "true", cursor) + } + dst = append(dst, "true"...) + cursor += 4 + return dst, cursor, nil +} + +func compactFalse(dst, src []byte, cursor int64) ([]byte, int64, error) { + if cursor+4 >= int64(len(src)) { + return nil, 0, errors.ErrUnexpectedEndOfJSON("false", cursor) + } + if !bytes.Equal(src[cursor:cursor+5], []byte(`false`)) { + return nil, 0, errors.ErrInvalidCharacter(src[cursor], "false", cursor) + } + dst = append(dst, "false"...) + cursor += 5 + return dst, cursor, nil +} + +func compactNull(dst, src []byte, cursor int64) ([]byte, int64, error) { + if cursor+3 >= int64(len(src)) { + return nil, 0, errors.ErrUnexpectedEndOfJSON("null", cursor) + } + if !bytes.Equal(src[cursor:cursor+4], []byte(`null`)) { + return nil, 0, errors.ErrInvalidCharacter(src[cursor], "null", cursor) + } + dst = append(dst, "null"...) + cursor += 4 + return dst, cursor, nil +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/compiler.go b/vendor/github.com/goccy/go-json/internal/encoder/compiler.go new file mode 100644 index 000000000..486c80f18 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/compiler.go @@ -0,0 +1,1510 @@ +package encoder + +import ( + "encoding" + "encoding/json" + "fmt" + "reflect" + "strings" + "sync/atomic" + "unsafe" + + "github.com/goccy/go-json/internal/errors" + "github.com/goccy/go-json/internal/runtime" +) + +var ( + marshalJSONType = reflect.TypeOf((*json.Marshaler)(nil)).Elem() + marshalTextType = reflect.TypeOf((*encoding.TextMarshaler)(nil)).Elem() + jsonNumberType = reflect.TypeOf(json.Number("")) + cachedOpcodeSets []*OpcodeSet + cachedOpcodeMap unsafe.Pointer // map[uintptr]*OpcodeSet + typeAddr *runtime.TypeAddr +) + +func init() { + typeAddr = runtime.AnalyzeTypeAddr() + if typeAddr == nil { + typeAddr = &runtime.TypeAddr{} + } + cachedOpcodeSets = make([]*OpcodeSet, typeAddr.AddrRange>>typeAddr.AddrShift) +} + +func loadOpcodeMap() map[uintptr]*OpcodeSet { + p := atomic.LoadPointer(&cachedOpcodeMap) + return *(*map[uintptr]*OpcodeSet)(unsafe.Pointer(&p)) +} + +func storeOpcodeSet(typ uintptr, set *OpcodeSet, m map[uintptr]*OpcodeSet) { + newOpcodeMap := make(map[uintptr]*OpcodeSet, len(m)+1) + newOpcodeMap[typ] = set + + for k, v := range m { + newOpcodeMap[k] = v + } + + atomic.StorePointer(&cachedOpcodeMap, *(*unsafe.Pointer)(unsafe.Pointer(&newOpcodeMap))) +} + +func compileToGetCodeSetSlowPath(typeptr uintptr) (*OpcodeSet, error) { + opcodeMap := loadOpcodeMap() + if codeSet, exists := opcodeMap[typeptr]; exists { + return codeSet, nil + } + + // noescape trick for header.typ ( reflect.*rtype ) + copiedType := *(**runtime.Type)(unsafe.Pointer(&typeptr)) + + code, err := compileHead(&compileContext{ + typ: copiedType, + structTypeToCompiledCode: map[uintptr]*CompiledCode{}, + }) + if err != nil { + return nil, err + } + code = copyOpcode(code) + codeLength := code.TotalLength() + codeSet := &OpcodeSet{ + Type: copiedType, + Code: code, + CodeLength: codeLength, + } + storeOpcodeSet(typeptr, codeSet, opcodeMap) + return codeSet, nil +} + +func compileHead(ctx *compileContext) (*Opcode, error) { + typ := ctx.typ + switch { + case implementsMarshalJSON(typ): + return compileMarshalJSON(ctx) + case implementsMarshalText(typ): + return compileMarshalText(ctx) + } + + isPtr := false + orgType := typ + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + isPtr = true + } + switch { + case implementsMarshalJSON(typ): + return compileMarshalJSON(ctx) + case implementsMarshalText(typ): + return compileMarshalText(ctx) + } + switch typ.Kind() { + case reflect.Slice: + ctx := ctx.withType(typ) + elem := typ.Elem() + if elem.Kind() == reflect.Uint8 { + p := runtime.PtrTo(elem) + if !p.Implements(marshalJSONType) && !p.Implements(marshalTextType) { + if isPtr { + return compileBytesPtr(ctx) + } + return compileBytes(ctx) + } + } + code, err := compileSlice(ctx) + if err != nil { + return nil, err + } + optimizeStructEnd(code) + linkRecursiveCode(code) + return code, nil + case reflect.Map: + if isPtr { + return compilePtr(ctx.withType(runtime.PtrTo(typ))) + } + code, err := compileMap(ctx.withType(typ)) + if err != nil { + return nil, err + } + optimizeStructEnd(code) + linkRecursiveCode(code) + return code, nil + case reflect.Struct: + code, err := compileStruct(ctx.withType(typ), isPtr) + if err != nil { + return nil, err + } + optimizeStructEnd(code) + linkRecursiveCode(code) + return code, nil + case reflect.Int: + ctx := ctx.withType(typ) + if isPtr { + return compileIntPtr(ctx) + } + return compileInt(ctx) + case reflect.Int8: + ctx := ctx.withType(typ) + if isPtr { + return compileInt8Ptr(ctx) + } + return compileInt8(ctx) + case reflect.Int16: + ctx := ctx.withType(typ) + if isPtr { + return compileInt16Ptr(ctx) + } + return compileInt16(ctx) + case reflect.Int32: + ctx := ctx.withType(typ) + if isPtr { + return compileInt32Ptr(ctx) + } + return compileInt32(ctx) + case reflect.Int64: + ctx := ctx.withType(typ) + if isPtr { + return compileInt64Ptr(ctx) + } + return compileInt64(ctx) + case reflect.Uint, reflect.Uintptr: + ctx := ctx.withType(typ) + if isPtr { + return compileUintPtr(ctx) + } + return compileUint(ctx) + case reflect.Uint8: + ctx := ctx.withType(typ) + if isPtr { + return compileUint8Ptr(ctx) + } + return compileUint8(ctx) + case reflect.Uint16: + ctx := ctx.withType(typ) + if isPtr { + return compileUint16Ptr(ctx) + } + return compileUint16(ctx) + case reflect.Uint32: + ctx := ctx.withType(typ) + if isPtr { + return compileUint32Ptr(ctx) + } + return compileUint32(ctx) + case reflect.Uint64: + ctx := ctx.withType(typ) + if isPtr { + return compileUint64Ptr(ctx) + } + return compileUint64(ctx) + case reflect.Float32: + ctx := ctx.withType(typ) + if isPtr { + return compileFloat32Ptr(ctx) + } + return compileFloat32(ctx) + case reflect.Float64: + ctx := ctx.withType(typ) + if isPtr { + return compileFloat64Ptr(ctx) + } + return compileFloat64(ctx) + case reflect.String: + ctx := ctx.withType(typ) + if isPtr { + return compileStringPtr(ctx) + } + return compileString(ctx) + case reflect.Bool: + ctx := ctx.withType(typ) + if isPtr { + return compileBoolPtr(ctx) + } + return compileBool(ctx) + case reflect.Interface: + ctx := ctx.withType(typ) + if isPtr { + return compileInterfacePtr(ctx) + } + return compileInterface(ctx) + default: + if isPtr && typ.Implements(marshalTextType) { + typ = orgType + } + code, err := compile(ctx.withType(typ), isPtr) + if err != nil { + return nil, err + } + optimizeStructEnd(code) + linkRecursiveCode(code) + return code, nil + } +} + +func linkRecursiveCode(c *Opcode) { + for code := c; code.Op != OpEnd && code.Op != OpRecursiveEnd; { + switch code.Op { + case OpRecursive, OpRecursivePtr: + if code.Jmp.Linked { + code = code.Next + continue + } + code.Jmp.Code = copyOpcode(code.Jmp.Code) + c := code.Jmp.Code + c.End.Next = newEndOp(&compileContext{}) + c.Op = c.Op.PtrHeadToHead() + + beforeLastCode := c.End + lastCode := beforeLastCode.Next + + lastCode.Idx = beforeLastCode.Idx + uintptrSize + lastCode.ElemIdx = lastCode.Idx + uintptrSize + lastCode.Length = lastCode.Idx + 2*uintptrSize + + // extend length to alloc slot for elemIdx + length + totalLength := uintptr(code.TotalLength() + 2) + nextTotalLength := uintptr(c.TotalLength() + 2) + + c.End.Next.Op = OpRecursiveEnd + + code.Jmp.CurLen = totalLength + code.Jmp.NextLen = nextTotalLength + code.Jmp.Linked = true + + linkRecursiveCode(code.Jmp.Code) + code = code.Next + continue + } + switch code.Op.CodeType() { + case CodeArrayElem, CodeSliceElem, CodeMapKey: + code = code.End + default: + code = code.Next + } + } +} + +func optimizeStructEnd(c *Opcode) { + for code := c; code.Op != OpEnd; { + if code.Op == OpRecursive || code.Op == OpRecursivePtr { + // ignore if exists recursive operation + return + } + switch code.Op.CodeType() { + case CodeArrayElem, CodeSliceElem, CodeMapKey: + code = code.End + default: + code = code.Next + } + } + + for code := c; code.Op != OpEnd; { + switch code.Op.CodeType() { + case CodeArrayElem, CodeSliceElem, CodeMapKey: + code = code.End + case CodeStructEnd: + switch code.Op { + case OpStructEnd: + prev := code.PrevField + prevOp := prev.Op.String() + if strings.Contains(prevOp, "Head") || + strings.Contains(prevOp, "Slice") || + strings.Contains(prevOp, "Array") || + strings.Contains(prevOp, "Map") || + strings.Contains(prevOp, "MarshalJSON") || + strings.Contains(prevOp, "MarshalText") { + // not exists field + code = code.Next + break + } + if prev.Op != prev.Op.FieldToEnd() { + prev.Op = prev.Op.FieldToEnd() + prev.Next = code.Next + } + code = code.Next + default: + code = code.Next + } + default: + code = code.Next + } + } +} + +func implementsMarshalJSON(typ *runtime.Type) bool { + if !typ.Implements(marshalJSONType) { + return false + } + if typ.Kind() != reflect.Ptr { + return true + } + // type kind is reflect.Ptr + if !typ.Elem().Implements(marshalJSONType) { + return true + } + // needs to dereference + return false +} + +func implementsMarshalText(typ *runtime.Type) bool { + if !typ.Implements(marshalTextType) { + return false + } + if typ.Kind() != reflect.Ptr { + return true + } + // type kind is reflect.Ptr + if !typ.Elem().Implements(marshalTextType) { + return true + } + // needs to dereference + return false +} + +func compile(ctx *compileContext, isPtr bool) (*Opcode, error) { + typ := ctx.typ + switch { + case implementsMarshalJSON(typ): + return compileMarshalJSON(ctx) + case implementsMarshalText(typ): + return compileMarshalText(ctx) + } + switch typ.Kind() { + case reflect.Ptr: + return compilePtr(ctx) + case reflect.Slice: + elem := typ.Elem() + if elem.Kind() == reflect.Uint8 { + p := runtime.PtrTo(elem) + if !p.Implements(marshalJSONType) && !p.Implements(marshalTextType) { + return compileBytes(ctx) + } + } + return compileSlice(ctx) + case reflect.Array: + return compileArray(ctx) + case reflect.Map: + return compileMap(ctx) + case reflect.Struct: + return compileStruct(ctx, isPtr) + case reflect.Interface: + return compileInterface(ctx) + case reflect.Int: + return compileInt(ctx) + case reflect.Int8: + return compileInt8(ctx) + case reflect.Int16: + return compileInt16(ctx) + case reflect.Int32: + return compileInt32(ctx) + case reflect.Int64: + return compileInt64(ctx) + case reflect.Uint: + return compileUint(ctx) + case reflect.Uint8: + return compileUint8(ctx) + case reflect.Uint16: + return compileUint16(ctx) + case reflect.Uint32: + return compileUint32(ctx) + case reflect.Uint64: + return compileUint64(ctx) + case reflect.Uintptr: + return compileUint(ctx) + case reflect.Float32: + return compileFloat32(ctx) + case reflect.Float64: + return compileFloat64(ctx) + case reflect.String: + return compileString(ctx) + case reflect.Bool: + return compileBool(ctx) + } + return nil, &errors.UnsupportedTypeError{Type: runtime.RType2Type(typ)} +} + +func convertPtrOp(code *Opcode) OpType { + ptrHeadOp := code.Op.HeadToPtrHead() + if code.Op != ptrHeadOp { + if code.PtrNum > 0 { + // ptr field and ptr head + code.PtrNum-- + } + return ptrHeadOp + } + switch code.Op { + case OpInt: + return OpIntPtr + case OpUint: + return OpUintPtr + case OpFloat32: + return OpFloat32Ptr + case OpFloat64: + return OpFloat64Ptr + case OpString: + return OpStringPtr + case OpBool: + return OpBoolPtr + case OpBytes: + return OpBytesPtr + case OpNumber: + return OpNumberPtr + case OpArray: + return OpArrayPtr + case OpSlice: + return OpSlicePtr + case OpMap: + return OpMapPtr + case OpMarshalJSON: + return OpMarshalJSONPtr + case OpMarshalText: + return OpMarshalTextPtr + case OpInterface: + return OpInterfacePtr + case OpRecursive: + return OpRecursivePtr + } + return code.Op +} + +func compileKey(ctx *compileContext) (*Opcode, error) { + typ := ctx.typ + switch { + case implementsMarshalJSON(typ): + return compileMarshalJSON(ctx) + case implementsMarshalText(typ): + return compileMarshalText(ctx) + } + switch typ.Kind() { + case reflect.Ptr: + return compilePtr(ctx) + case reflect.Interface: + return compileInterface(ctx) + case reflect.String: + return compileString(ctx) + case reflect.Int: + return compileIntString(ctx) + case reflect.Int8: + return compileInt8String(ctx) + case reflect.Int16: + return compileInt16String(ctx) + case reflect.Int32: + return compileInt32String(ctx) + case reflect.Int64: + return compileInt64String(ctx) + case reflect.Uint: + return compileUintString(ctx) + case reflect.Uint8: + return compileUint8String(ctx) + case reflect.Uint16: + return compileUint16String(ctx) + case reflect.Uint32: + return compileUint32String(ctx) + case reflect.Uint64: + return compileUint64String(ctx) + case reflect.Uintptr: + return compileUintString(ctx) + } + return nil, &errors.UnsupportedTypeError{Type: runtime.RType2Type(typ)} +} + +func compilePtr(ctx *compileContext) (*Opcode, error) { + code, err := compile(ctx.withType(ctx.typ.Elem()), true) + if err != nil { + return nil, err + } + code.Op = convertPtrOp(code) + code.PtrNum++ + return code, nil +} + +func compileMarshalJSON(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpMarshalJSON) + typ := ctx.typ + if !typ.Implements(marshalJSONType) && runtime.PtrTo(typ).Implements(marshalJSONType) { + code.AddrForMarshaler = true + } + code.IsNilableType = isNilableType(typ) + ctx.incIndex() + return code, nil +} + +func compileMarshalText(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpMarshalText) + typ := ctx.typ + if !typ.Implements(marshalTextType) && runtime.PtrTo(typ).Implements(marshalTextType) { + code.AddrForMarshaler = true + } + code.IsNilableType = isNilableType(typ) + ctx.incIndex() + return code, nil +} + +const intSize = 32 << (^uint(0) >> 63) + +func compileInt(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpInt) + code.setMaskAndRshiftNum(intSize) + ctx.incIndex() + return code, nil +} + +func compileIntPtr(ctx *compileContext) (*Opcode, error) { + code, err := compileInt(ctx) + if err != nil { + return nil, err + } + code.Op = OpIntPtr + return code, nil +} + +func compileInt8(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpInt) + code.setMaskAndRshiftNum(8) + ctx.incIndex() + return code, nil +} + +func compileInt8Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileInt8(ctx) + if err != nil { + return nil, err + } + code.Op = OpIntPtr + return code, nil +} + +func compileInt16(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpInt) + code.setMaskAndRshiftNum(16) + ctx.incIndex() + return code, nil +} + +func compileInt16Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileInt16(ctx) + if err != nil { + return nil, err + } + code.Op = OpIntPtr + return code, nil +} + +func compileInt32(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpInt) + code.setMaskAndRshiftNum(32) + ctx.incIndex() + return code, nil +} + +func compileInt32Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileInt32(ctx) + if err != nil { + return nil, err + } + code.Op = OpIntPtr + return code, nil +} + +func compileInt64(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpInt) + code.setMaskAndRshiftNum(64) + ctx.incIndex() + return code, nil +} + +func compileInt64Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileInt64(ctx) + if err != nil { + return nil, err + } + code.Op = OpIntPtr + return code, nil +} + +func compileUint(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUint) + code.setMaskAndRshiftNum(intSize) + ctx.incIndex() + return code, nil +} + +func compileUintPtr(ctx *compileContext) (*Opcode, error) { + code, err := compileUint(ctx) + if err != nil { + return nil, err + } + code.Op = OpUintPtr + return code, nil +} + +func compileUint8(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUint) + code.setMaskAndRshiftNum(8) + ctx.incIndex() + return code, nil +} + +func compileUint8Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileUint8(ctx) + if err != nil { + return nil, err + } + code.Op = OpUintPtr + return code, nil +} + +func compileUint16(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUint) + code.setMaskAndRshiftNum(16) + ctx.incIndex() + return code, nil +} + +func compileUint16Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileUint16(ctx) + if err != nil { + return nil, err + } + code.Op = OpUintPtr + return code, nil +} + +func compileUint32(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUint) + code.setMaskAndRshiftNum(32) + ctx.incIndex() + return code, nil +} + +func compileUint32Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileUint32(ctx) + if err != nil { + return nil, err + } + code.Op = OpUintPtr + return code, nil +} + +func compileUint64(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUint) + code.setMaskAndRshiftNum(64) + ctx.incIndex() + return code, nil +} + +func compileUint64Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileUint64(ctx) + if err != nil { + return nil, err + } + code.Op = OpUintPtr + return code, nil +} + +func compileIntString(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpIntString) + code.setMaskAndRshiftNum(intSize) + ctx.incIndex() + return code, nil +} + +func compileInt8String(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpIntString) + code.setMaskAndRshiftNum(8) + ctx.incIndex() + return code, nil +} + +func compileInt16String(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpIntString) + code.setMaskAndRshiftNum(16) + ctx.incIndex() + return code, nil +} + +func compileInt32String(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpIntString) + code.setMaskAndRshiftNum(32) + ctx.incIndex() + return code, nil +} + +func compileInt64String(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpIntString) + code.setMaskAndRshiftNum(64) + ctx.incIndex() + return code, nil +} + +func compileUintString(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUintString) + code.setMaskAndRshiftNum(intSize) + ctx.incIndex() + return code, nil +} + +func compileUint8String(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUintString) + code.setMaskAndRshiftNum(8) + ctx.incIndex() + return code, nil +} + +func compileUint16String(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUintString) + code.setMaskAndRshiftNum(16) + ctx.incIndex() + return code, nil +} + +func compileUint32String(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUintString) + code.setMaskAndRshiftNum(32) + ctx.incIndex() + return code, nil +} + +func compileUint64String(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpUintString) + code.setMaskAndRshiftNum(64) + ctx.incIndex() + return code, nil +} + +func compileFloat32(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpFloat32) + ctx.incIndex() + return code, nil +} + +func compileFloat32Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileFloat32(ctx) + if err != nil { + return nil, err + } + code.Op = OpFloat32Ptr + return code, nil +} + +func compileFloat64(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpFloat64) + ctx.incIndex() + return code, nil +} + +func compileFloat64Ptr(ctx *compileContext) (*Opcode, error) { + code, err := compileFloat64(ctx) + if err != nil { + return nil, err + } + code.Op = OpFloat64Ptr + return code, nil +} + +func compileString(ctx *compileContext) (*Opcode, error) { + var op OpType + if ctx.typ == runtime.Type2RType(jsonNumberType) { + op = OpNumber + } else { + op = OpString + } + code := newOpCode(ctx, op) + ctx.incIndex() + return code, nil +} + +func compileStringPtr(ctx *compileContext) (*Opcode, error) { + code, err := compileString(ctx) + if err != nil { + return nil, err + } + if code.Op == OpNumber { + code.Op = OpNumberPtr + } else { + code.Op = OpStringPtr + } + return code, nil +} + +func compileBool(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpBool) + ctx.incIndex() + return code, nil +} + +func compileBoolPtr(ctx *compileContext) (*Opcode, error) { + code, err := compileBool(ctx) + if err != nil { + return nil, err + } + code.Op = OpBoolPtr + return code, nil +} + +func compileBytes(ctx *compileContext) (*Opcode, error) { + code := newOpCode(ctx, OpBytes) + ctx.incIndex() + return code, nil +} + +func compileBytesPtr(ctx *compileContext) (*Opcode, error) { + code, err := compileBytes(ctx) + if err != nil { + return nil, err + } + code.Op = OpBytesPtr + return code, nil +} + +func compileInterface(ctx *compileContext) (*Opcode, error) { + code := newInterfaceCode(ctx) + ctx.incIndex() + return code, nil +} + +func compileInterfacePtr(ctx *compileContext) (*Opcode, error) { + code, err := compileInterface(ctx) + if err != nil { + return nil, err + } + code.Op = OpInterfacePtr + return code, nil +} + +func compileSlice(ctx *compileContext) (*Opcode, error) { + elem := ctx.typ.Elem() + size := elem.Size() + + header := newSliceHeaderCode(ctx) + ctx.incIndex() + + code, err := compileListElem(ctx.withType(elem).incIndent()) + if err != nil { + return nil, err + } + code.Indirect = true + + // header => opcode => elem => end + // ^ | + // |________| + + elemCode := newSliceElemCode(ctx, header, size) + ctx.incIndex() + + end := newOpCode(ctx, OpSliceEnd) + ctx.incIndex() + + header.Elem = elemCode + header.End = end + header.Next = code + code.BeforeLastCode().Next = (*Opcode)(unsafe.Pointer(elemCode)) + elemCode.Next = code + elemCode.End = end + return (*Opcode)(unsafe.Pointer(header)), nil +} + +func compileListElem(ctx *compileContext) (*Opcode, error) { + typ := ctx.typ + switch { + case !typ.Implements(marshalJSONType) && runtime.PtrTo(typ).Implements(marshalJSONType): + return compileMarshalJSON(ctx) + case !typ.Implements(marshalTextType) && runtime.PtrTo(typ).Implements(marshalTextType): + return compileMarshalText(ctx) + case typ.Kind() == reflect.Map: + return compilePtr(ctx.withType(runtime.PtrTo(typ))) + default: + code, err := compile(ctx, false) + if err != nil { + return nil, err + } + if code.Op == OpMapPtr { + code.PtrNum++ + } + return code, nil + } +} + +func compileArray(ctx *compileContext) (*Opcode, error) { + typ := ctx.typ + elem := typ.Elem() + alen := typ.Len() + size := elem.Size() + + header := newArrayHeaderCode(ctx, alen) + ctx.incIndex() + + code, err := compileListElem(ctx.withType(elem).incIndent()) + if err != nil { + return nil, err + } + code.Indirect = true + // header => opcode => elem => end + // ^ | + // |________| + + elemCode := newArrayElemCode(ctx, header, alen, size) + ctx.incIndex() + + end := newOpCode(ctx, OpArrayEnd) + ctx.incIndex() + + header.Elem = elemCode + header.End = end + header.Next = code + code.BeforeLastCode().Next = (*Opcode)(unsafe.Pointer(elemCode)) + elemCode.Next = code + elemCode.End = end + return (*Opcode)(unsafe.Pointer(header)), nil +} + +func compileMap(ctx *compileContext) (*Opcode, error) { + // header => code => value => code => key => code => value => code => end + // ^ | + // |_______________________| + ctx = ctx.incIndent() + header := newMapHeaderCode(ctx) + ctx.incIndex() + + typ := ctx.typ + keyType := ctx.typ.Key() + keyCode, err := compileKey(ctx.withType(keyType)) + if err != nil { + return nil, err + } + + value := newMapValueCode(ctx, header) + ctx.incIndex() + + valueCode, err := compileMapValue(ctx.withType(typ.Elem())) + if err != nil { + return nil, err + } + valueCode.Indirect = true + + key := newMapKeyCode(ctx, header) + ctx.incIndex() + + ctx = ctx.decIndent() + + header.MapKey = key + header.MapValue = value + + end := newMapEndCode(ctx, header) + ctx.incIndex() + + header.Next = keyCode + keyCode.BeforeLastCode().Next = (*Opcode)(unsafe.Pointer(value)) + value.Next = valueCode + valueCode.BeforeLastCode().Next = (*Opcode)(unsafe.Pointer(key)) + key.Next = keyCode + + header.End = end + key.End = end + value.End = end + + return (*Opcode)(unsafe.Pointer(header)), nil +} + +func compileMapValue(ctx *compileContext) (*Opcode, error) { + switch ctx.typ.Kind() { + case reflect.Map: + return compilePtr(ctx.withType(runtime.PtrTo(ctx.typ))) + default: + code, err := compile(ctx, false) + if err != nil { + return nil, err + } + if code.Op == OpMapPtr { + code.PtrNum++ + } + return code, nil + } +} + +func optimizeStructHeader(code *Opcode, tag *runtime.StructTag) OpType { + headType := code.ToHeaderType(tag.IsString) + if tag.IsOmitEmpty { + headType = headType.HeadToOmitEmptyHead() + } + return headType +} + +func optimizeStructField(code *Opcode, tag *runtime.StructTag) OpType { + fieldType := code.ToFieldType(tag.IsString) + if tag.IsOmitEmpty { + fieldType = fieldType.FieldToOmitEmptyField() + } + return fieldType +} + +func recursiveCode(ctx *compileContext, jmp *CompiledCode) *Opcode { + code := newRecursiveCode(ctx, jmp) + ctx.incIndex() + return code +} + +func compiledCode(ctx *compileContext) *Opcode { + typ := ctx.typ + typeptr := uintptr(unsafe.Pointer(typ)) + if cc, exists := ctx.structTypeToCompiledCode[typeptr]; exists { + return recursiveCode(ctx, cc) + } + return nil +} + +func structHeader(ctx *compileContext, fieldCode *Opcode, valueCode *Opcode, tag *runtime.StructTag) *Opcode { + op := optimizeStructHeader(valueCode, tag) + fieldCode.Op = op + fieldCode.Mask = valueCode.Mask + fieldCode.RshiftNum = valueCode.RshiftNum + fieldCode.PtrNum = valueCode.PtrNum + if op.IsMultipleOpHead() { + return valueCode.BeforeLastCode() + } + ctx.decOpcodeIndex() + return fieldCode +} + +func structField(ctx *compileContext, fieldCode *Opcode, valueCode *Opcode, tag *runtime.StructTag) *Opcode { + op := optimizeStructField(valueCode, tag) + fieldCode.Op = op + fieldCode.PtrNum = valueCode.PtrNum + fieldCode.Mask = valueCode.Mask + fieldCode.RshiftNum = valueCode.RshiftNum + if op.IsMultipleOpField() { + return valueCode.BeforeLastCode() + } + ctx.decIndex() + return fieldCode +} + +func isNotExistsField(head *Opcode) bool { + if head == nil { + return false + } + if head.Op != OpStructHead { + return false + } + if !head.AnonymousHead { + return false + } + if head.Next == nil { + return false + } + if head.NextField == nil { + return false + } + if head.NextField.Op != OpStructAnonymousEnd { + return false + } + if head.Next.Op == OpStructAnonymousEnd { + return true + } + if head.Next.Op.CodeType() != CodeStructField { + return false + } + return isNotExistsField(head.Next) +} + +func optimizeAnonymousFields(head *Opcode) { + code := head + var prev *Opcode + removedFields := map[*Opcode]struct{}{} + for { + if code.Op == OpStructEnd { + break + } + if code.Op == OpStructField { + codeType := code.Next.Op.CodeType() + if codeType == CodeStructField { + if isNotExistsField(code.Next) { + code.Next = code.NextField + diff := code.Next.DisplayIdx - code.DisplayIdx + for i := 0; i < diff; i++ { + code.Next.decOpcodeIndex() + } + linkPrevToNextField(code, removedFields) + code = prev + } + } + } + prev = code + code = code.NextField + } +} + +type structFieldPair struct { + prevField *Opcode + curField *Opcode + isTaggedKey bool + linked bool +} + +func anonymousStructFieldPairMap(tags runtime.StructTags, named string, valueCode *Opcode) map[string][]structFieldPair { + anonymousFields := map[string][]structFieldPair{} + f := valueCode + var prevAnonymousField *Opcode + removedFields := map[*Opcode]struct{}{} + for { + existsKey := tags.ExistsKey(f.DisplayKey) + isHeadOp := strings.Contains(f.Op.String(), "Head") + if existsKey && f.Next != nil && strings.Contains(f.Next.Op.String(), "Recursive") { + // through + } else if isHeadOp && !f.AnonymousHead { + if existsKey { + // TODO: need to remove this head + f.Op = OpStructHead + f.AnonymousKey = true + f.AnonymousHead = true + } else if named == "" { + f.AnonymousHead = true + } + } else if named == "" && f.Op == OpStructEnd { + f.Op = OpStructAnonymousEnd + } else if existsKey { + diff := f.NextField.DisplayIdx - f.DisplayIdx + for i := 0; i < diff; i++ { + f.NextField.decOpcodeIndex() + } + linkPrevToNextField(f, removedFields) + } + + if f.DisplayKey == "" { + if f.NextField == nil { + break + } + prevAnonymousField = f + f = f.NextField + continue + } + + key := fmt.Sprintf("%s.%s", named, f.DisplayKey) + anonymousFields[key] = append(anonymousFields[key], structFieldPair{ + prevField: prevAnonymousField, + curField: f, + isTaggedKey: f.IsTaggedKey, + }) + if f.Next != nil && f.NextField != f.Next && f.Next.Op.CodeType() == CodeStructField { + for k, v := range anonymousFieldPairRecursively(named, f.Next) { + anonymousFields[k] = append(anonymousFields[k], v...) + } + } + if f.NextField == nil { + break + } + prevAnonymousField = f + f = f.NextField + } + return anonymousFields +} + +func anonymousFieldPairRecursively(named string, valueCode *Opcode) map[string][]structFieldPair { + anonymousFields := map[string][]structFieldPair{} + f := valueCode + var prevAnonymousField *Opcode + for { + if f.DisplayKey != "" && f.AnonymousHead { + key := fmt.Sprintf("%s.%s", named, f.DisplayKey) + anonymousFields[key] = append(anonymousFields[key], structFieldPair{ + prevField: prevAnonymousField, + curField: f, + isTaggedKey: f.IsTaggedKey, + }) + if f.Next != nil && f.NextField != f.Next && f.Next.Op.CodeType() == CodeStructField { + for k, v := range anonymousFieldPairRecursively(named, f.Next) { + anonymousFields[k] = append(anonymousFields[k], v...) + } + } + } + if f.NextField == nil { + break + } + prevAnonymousField = f + f = f.NextField + } + return anonymousFields +} + +func optimizeConflictAnonymousFields(anonymousFields map[string][]structFieldPair) { + removedFields := map[*Opcode]struct{}{} + for _, fieldPairs := range anonymousFields { + if len(fieldPairs) == 1 { + continue + } + // conflict anonymous fields + taggedPairs := []structFieldPair{} + for _, fieldPair := range fieldPairs { + if fieldPair.isTaggedKey { + taggedPairs = append(taggedPairs, fieldPair) + } else { + if !fieldPair.linked { + if fieldPair.prevField == nil { + // head operation + fieldPair.curField.Op = OpStructHead + fieldPair.curField.AnonymousHead = true + fieldPair.curField.AnonymousKey = true + } else { + diff := fieldPair.curField.NextField.DisplayIdx - fieldPair.curField.DisplayIdx + for i := 0; i < diff; i++ { + fieldPair.curField.NextField.decOpcodeIndex() + } + removedFields[fieldPair.curField] = struct{}{} + linkPrevToNextField(fieldPair.curField, removedFields) + } + fieldPair.linked = true + } + } + } + if len(taggedPairs) > 1 { + for _, fieldPair := range taggedPairs { + if !fieldPair.linked { + if fieldPair.prevField == nil { + // head operation + fieldPair.curField.Op = OpStructHead + fieldPair.curField.AnonymousHead = true + fieldPair.curField.AnonymousKey = true + } else { + diff := fieldPair.curField.NextField.DisplayIdx - fieldPair.curField.DisplayIdx + removedFields[fieldPair.curField] = struct{}{} + for i := 0; i < diff; i++ { + fieldPair.curField.NextField.decOpcodeIndex() + } + linkPrevToNextField(fieldPair.curField, removedFields) + } + fieldPair.linked = true + } + } + } else { + for _, fieldPair := range taggedPairs { + fieldPair.curField.IsTaggedKey = false + } + } + } +} + +func isNilableType(typ *runtime.Type) bool { + switch typ.Kind() { + case reflect.Ptr: + return true + case reflect.Map: + return true + case reflect.Func: + return true + default: + return false + } +} + +func compileStruct(ctx *compileContext, isPtr bool) (*Opcode, error) { + if code := compiledCode(ctx); code != nil { + return code, nil + } + typ := ctx.typ + typeptr := uintptr(unsafe.Pointer(typ)) + compiled := &CompiledCode{} + ctx.structTypeToCompiledCode[typeptr] = compiled + // header => code => structField => code => end + // ^ | + // |__________| + fieldNum := typ.NumField() + indirect := runtime.IfaceIndir(typ) + fieldIdx := 0 + disableIndirectConversion := false + var ( + head *Opcode + code *Opcode + prevField *Opcode + ) + ctx = ctx.incIndent() + tags := runtime.StructTags{} + anonymousFields := map[string][]structFieldPair{} + for i := 0; i < fieldNum; i++ { + field := typ.Field(i) + if runtime.IsIgnoredStructField(field) { + continue + } + tags = append(tags, runtime.StructTagFromField(field)) + } + for i, tag := range tags { + field := tag.Field + fieldType := runtime.Type2RType(field.Type) + fieldOpcodeIndex := ctx.opcodeIndex + fieldPtrIndex := ctx.ptrIndex + ctx.incIndex() + + nilcheck := true + addrForMarshaler := false + isIndirectSpecialCase := isPtr && i == 0 && fieldNum == 1 + isNilableType := isNilableType(fieldType) + + var valueCode *Opcode + switch { + case isIndirectSpecialCase && !isNilableType && isPtrMarshalJSONType(fieldType): + // *struct{ field T } => struct { field *T } + // func (*T) MarshalJSON() ([]byte, error) + // move pointer position from head to first field + code, err := compileMarshalJSON(ctx.withType(fieldType)) + if err != nil { + return nil, err + } + addrForMarshaler = true + valueCode = code + nilcheck = false + indirect = false + disableIndirectConversion = true + case isIndirectSpecialCase && !isNilableType && isPtrMarshalTextType(fieldType): + // *struct{ field T } => struct { field *T } + // func (*T) MarshalText() ([]byte, error) + // move pointer position from head to first field + code, err := compileMarshalText(ctx.withType(fieldType)) + if err != nil { + return nil, err + } + addrForMarshaler = true + valueCode = code + nilcheck = false + indirect = false + disableIndirectConversion = true + case isPtr && isPtrMarshalJSONType(fieldType): + // *struct{ field T } + // func (*T) MarshalJSON() ([]byte, error) + code, err := compileMarshalJSON(ctx.withType(fieldType)) + if err != nil { + return nil, err + } + addrForMarshaler = true + nilcheck = false + valueCode = code + case isPtr && isPtrMarshalTextType(fieldType): + // *struct{ field T } + // func (*T) MarshalText() ([]byte, error) + code, err := compileMarshalText(ctx.withType(fieldType)) + if err != nil { + return nil, err + } + addrForMarshaler = true + nilcheck = false + valueCode = code + default: + code, err := compile(ctx.withType(fieldType), isPtr) + if err != nil { + return nil, err + } + valueCode = code + } + + if field.Anonymous { + tagKey := "" + if tag.IsTaggedKey { + tagKey = tag.Key + } + for k, v := range anonymousStructFieldPairMap(tags, tagKey, valueCode) { + anonymousFields[k] = append(anonymousFields[k], v...) + } + valueCode.decIndent() + + // fix issue144 + if !(isPtr && strings.Contains(valueCode.Op.String(), "Marshal")) { + valueCode.Indirect = indirect + } + } else { + if indirect { + // if parent is indirect type, set child indirect property to true + valueCode.Indirect = indirect + } else { + // if parent is not indirect type and child have only one field, set child indirect property to false + if i == 0 && valueCode.NextField != nil && valueCode.NextField.Op == OpStructEnd { + valueCode.Indirect = indirect + } + } + } + key := fmt.Sprintf(`"%s":`, tag.Key) + escapedKey := fmt.Sprintf(`%s:`, string(AppendEscapedString([]byte{}, tag.Key))) + fieldCode := &Opcode{ + Type: valueCode.Type, + DisplayIdx: fieldOpcodeIndex, + Idx: opcodeOffset(fieldPtrIndex), + Next: valueCode, + Indent: ctx.indent, + AnonymousKey: field.Anonymous, + Key: []byte(key), + EscapedKey: []byte(escapedKey), + IsTaggedKey: tag.IsTaggedKey, + DisplayKey: tag.Key, + Offset: field.Offset, + Indirect: indirect, + Nilcheck: nilcheck, + AddrForMarshaler: addrForMarshaler, + IsNextOpPtrType: strings.Contains(valueCode.Op.String(), "Ptr") || valueCode.Op == OpInterface, + IsNilableType: isNilableType, + } + if fieldIdx == 0 { + fieldCode.HeadIdx = fieldCode.Idx + code = structHeader(ctx, fieldCode, valueCode, tag) + head = fieldCode + prevField = fieldCode + } else { + fieldCode.HeadIdx = head.HeadIdx + code.Next = fieldCode + code = structField(ctx, fieldCode, valueCode, tag) + prevField.NextField = fieldCode + fieldCode.PrevField = prevField + prevField = fieldCode + } + fieldIdx++ + } + + structEndCode := &Opcode{ + Op: OpStructEnd, + Type: nil, + Indent: ctx.indent, + Next: newEndOp(ctx), + } + + ctx = ctx.decIndent() + + // no struct field + if head == nil { + head = &Opcode{ + Op: OpStructHead, + Type: typ, + DisplayIdx: ctx.opcodeIndex, + Idx: opcodeOffset(ctx.ptrIndex), + HeadIdx: opcodeOffset(ctx.ptrIndex), + Indent: ctx.indent, + NextField: structEndCode, + } + structEndCode.PrevField = head + ctx.incIndex() + code = head + } + + structEndCode.DisplayIdx = ctx.opcodeIndex + structEndCode.Idx = opcodeOffset(ctx.ptrIndex) + ctx.incIndex() + + if prevField != nil && prevField.NextField == nil { + prevField.NextField = structEndCode + structEndCode.PrevField = prevField + } + + head.End = structEndCode + code.Next = structEndCode + optimizeConflictAnonymousFields(anonymousFields) + optimizeAnonymousFields(head) + ret := (*Opcode)(unsafe.Pointer(head)) + compiled.Code = ret + + delete(ctx.structTypeToCompiledCode, typeptr) + + if !disableIndirectConversion && !head.Indirect && isPtr { + head.Indirect = true + } + + return ret, nil +} + +func isPtrMarshalJSONType(typ *runtime.Type) bool { + return !typ.Implements(marshalJSONType) && runtime.PtrTo(typ).Implements(marshalJSONType) +} + +func isPtrMarshalTextType(typ *runtime.Type) bool { + return !typ.Implements(marshalTextType) && runtime.PtrTo(typ).Implements(marshalTextType) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go b/vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go new file mode 100644 index 000000000..acc2658b5 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go @@ -0,0 +1,39 @@ +// +build !race + +package encoder + +import ( + "unsafe" + + "github.com/goccy/go-json/internal/runtime" +) + +func CompileToGetCodeSet(typeptr uintptr) (*OpcodeSet, error) { + if typeptr > typeAddr.MaxTypeAddr { + return compileToGetCodeSetSlowPath(typeptr) + } + index := (typeptr - typeAddr.BaseTypeAddr) >> typeAddr.AddrShift + if codeSet := cachedOpcodeSets[index]; codeSet != nil { + return codeSet, nil + } + + // noescape trick for header.typ ( reflect.*rtype ) + copiedType := *(**runtime.Type)(unsafe.Pointer(&typeptr)) + + code, err := compileHead(&compileContext{ + typ: copiedType, + structTypeToCompiledCode: map[uintptr]*CompiledCode{}, + }) + if err != nil { + return nil, err + } + code = copyOpcode(code) + codeLength := code.TotalLength() + codeSet := &OpcodeSet{ + Type: copiedType, + Code: code, + CodeLength: codeLength, + } + cachedOpcodeSets[index] = codeSet + return codeSet, nil +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go b/vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go new file mode 100644 index 000000000..63b7733e0 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go @@ -0,0 +1,47 @@ +// +build race + +package encoder + +import ( + "sync" + "unsafe" + + "github.com/goccy/go-json/internal/runtime" +) + +var setsMu sync.RWMutex + +func CompileToGetCodeSet(typeptr uintptr) (*OpcodeSet, error) { + if typeptr > typeAddr.MaxTypeAddr { + return compileToGetCodeSetSlowPath(typeptr) + } + index := (typeptr - typeAddr.BaseTypeAddr) >> typeAddr.AddrShift + setsMu.RLock() + if codeSet := cachedOpcodeSets[index]; codeSet != nil { + setsMu.RUnlock() + return codeSet, nil + } + setsMu.RUnlock() + + // noescape trick for header.typ ( reflect.*rtype ) + copiedType := *(**runtime.Type)(unsafe.Pointer(&typeptr)) + + code, err := compileHead(&compileContext{ + typ: copiedType, + structTypeToCompiledCode: map[uintptr]*CompiledCode{}, + }) + if err != nil { + return nil, err + } + code = copyOpcode(code) + codeLength := code.TotalLength() + codeSet := &OpcodeSet{ + Type: copiedType, + Code: code, + CodeLength: codeLength, + } + setsMu.Lock() + cachedOpcodeSets[index] = codeSet + setsMu.Unlock() + return codeSet, nil +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/context.go b/vendor/github.com/goccy/go-json/internal/encoder/context.go new file mode 100644 index 000000000..d7e030eaa --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/context.go @@ -0,0 +1,135 @@ +package encoder + +import ( + "sync" + "unsafe" + + "github.com/goccy/go-json/internal/runtime" +) + +type compileContext struct { + typ *runtime.Type + opcodeIndex int + ptrIndex int + indent int + structTypeToCompiledCode map[uintptr]*CompiledCode + + parent *compileContext +} + +func (c *compileContext) context() *compileContext { + return &compileContext{ + typ: c.typ, + opcodeIndex: c.opcodeIndex, + ptrIndex: c.ptrIndex, + indent: c.indent, + structTypeToCompiledCode: c.structTypeToCompiledCode, + parent: c, + } +} + +func (c *compileContext) withType(typ *runtime.Type) *compileContext { + ctx := c.context() + ctx.typ = typ + return ctx +} + +func (c *compileContext) incIndent() *compileContext { + ctx := c.context() + ctx.indent++ + return ctx +} + +func (c *compileContext) decIndent() *compileContext { + ctx := c.context() + ctx.indent-- + return ctx +} + +func (c *compileContext) incIndex() { + c.incOpcodeIndex() + c.incPtrIndex() +} + +func (c *compileContext) decIndex() { + c.decOpcodeIndex() + c.decPtrIndex() +} + +func (c *compileContext) incOpcodeIndex() { + c.opcodeIndex++ + if c.parent != nil { + c.parent.incOpcodeIndex() + } +} + +func (c *compileContext) decOpcodeIndex() { + c.opcodeIndex-- + if c.parent != nil { + c.parent.decOpcodeIndex() + } +} + +func (c *compileContext) incPtrIndex() { + c.ptrIndex++ + if c.parent != nil { + c.parent.incPtrIndex() + } +} + +func (c *compileContext) decPtrIndex() { + c.ptrIndex-- + if c.parent != nil { + c.parent.decPtrIndex() + } +} + +const ( + bufSize = 1024 +) + +var ( + runtimeContextPool = sync.Pool{ + New: func() interface{} { + return &RuntimeContext{ + Buf: make([]byte, 0, bufSize), + Ptrs: make([]uintptr, 128), + KeepRefs: make([]unsafe.Pointer, 0, 8), + } + }, + } +) + +type RuntimeContext struct { + Buf []byte + MarshalBuf []byte + Ptrs []uintptr + KeepRefs []unsafe.Pointer + SeenPtr []uintptr + BaseIndent int + Prefix []byte + IndentStr []byte +} + +func (c *RuntimeContext) Init(p uintptr, codelen int) { + if len(c.Ptrs) < codelen { + c.Ptrs = make([]uintptr, codelen) + } + c.Ptrs[0] = p + c.KeepRefs = c.KeepRefs[:0] + c.SeenPtr = c.SeenPtr[:0] + c.BaseIndent = 0 +} + +func (c *RuntimeContext) Ptr() uintptr { + header := (*runtime.SliceHeader)(unsafe.Pointer(&c.Ptrs)) + return uintptr(header.Data) +} + +func TakeRuntimeContext() *RuntimeContext { + return runtimeContextPool.Get().(*RuntimeContext) +} + +func ReleaseRuntimeContext(ctx *RuntimeContext) { + runtimeContextPool.Put(ctx) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/encoder.go b/vendor/github.com/goccy/go-json/internal/encoder/encoder.go new file mode 100644 index 000000000..ef6b910ad --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/encoder.go @@ -0,0 +1,533 @@ +package encoder + +import ( + "bytes" + "encoding" + "encoding/base64" + "encoding/json" + "fmt" + "math" + "reflect" + "strconv" + "strings" + "sync" + "unsafe" + + "github.com/goccy/go-json/internal/errors" + "github.com/goccy/go-json/internal/runtime" +) + +type Option int + +const ( + HTMLEscapeOption Option = 1 << iota + IndentOption + UnorderedMapOption +) + +func (t OpType) IsMultipleOpHead() bool { + switch t { + case OpStructHead: + return true + case OpStructHeadSlice: + return true + case OpStructHeadArray: + return true + case OpStructHeadMap: + return true + case OpStructHeadStruct: + return true + case OpStructHeadOmitEmpty: + return true + case OpStructHeadOmitEmptySlice: + return true + case OpStructHeadOmitEmptyArray: + return true + case OpStructHeadOmitEmptyMap: + return true + case OpStructHeadOmitEmptyStruct: + return true + case OpStructHeadSlicePtr: + return true + case OpStructHeadOmitEmptySlicePtr: + return true + case OpStructHeadArrayPtr: + return true + case OpStructHeadOmitEmptyArrayPtr: + return true + case OpStructHeadMapPtr: + return true + case OpStructHeadOmitEmptyMapPtr: + return true + } + return false +} + +func (t OpType) IsMultipleOpField() bool { + switch t { + case OpStructField: + return true + case OpStructFieldSlice: + return true + case OpStructFieldArray: + return true + case OpStructFieldMap: + return true + case OpStructFieldStruct: + return true + case OpStructFieldOmitEmpty: + return true + case OpStructFieldOmitEmptySlice: + return true + case OpStructFieldOmitEmptyArray: + return true + case OpStructFieldOmitEmptyMap: + return true + case OpStructFieldOmitEmptyStruct: + return true + case OpStructFieldSlicePtr: + return true + case OpStructFieldOmitEmptySlicePtr: + return true + case OpStructFieldArrayPtr: + return true + case OpStructFieldOmitEmptyArrayPtr: + return true + case OpStructFieldMapPtr: + return true + case OpStructFieldOmitEmptyMapPtr: + return true + } + return false +} + +type OpcodeSet struct { + Type *runtime.Type + Code *Opcode + CodeLength int +} + +type CompiledCode struct { + Code *Opcode + Linked bool // whether recursive code already have linked + CurLen uintptr + NextLen uintptr +} + +const StartDetectingCyclesAfter = 1000 + +func Load(base uintptr, idx uintptr) uintptr { + addr := base + idx + return **(**uintptr)(unsafe.Pointer(&addr)) +} + +func Store(base uintptr, idx uintptr, p uintptr) { + addr := base + idx + **(**uintptr)(unsafe.Pointer(&addr)) = p +} + +func LoadNPtr(base uintptr, idx uintptr, ptrNum int) uintptr { + addr := base + idx + p := **(**uintptr)(unsafe.Pointer(&addr)) + if p == 0 { + return 0 + } + return PtrToPtr(p) + /* + for i := 0; i < ptrNum; i++ { + if p == 0 { + return p + } + p = PtrToPtr(p) + } + return p + */ +} + +func PtrToUint64(p uintptr) uint64 { return **(**uint64)(unsafe.Pointer(&p)) } +func PtrToFloat32(p uintptr) float32 { return **(**float32)(unsafe.Pointer(&p)) } +func PtrToFloat64(p uintptr) float64 { return **(**float64)(unsafe.Pointer(&p)) } +func PtrToBool(p uintptr) bool { return **(**bool)(unsafe.Pointer(&p)) } +func PtrToBytes(p uintptr) []byte { return **(**[]byte)(unsafe.Pointer(&p)) } +func PtrToNumber(p uintptr) json.Number { return **(**json.Number)(unsafe.Pointer(&p)) } +func PtrToString(p uintptr) string { return **(**string)(unsafe.Pointer(&p)) } +func PtrToSlice(p uintptr) *runtime.SliceHeader { return *(**runtime.SliceHeader)(unsafe.Pointer(&p)) } +func PtrToPtr(p uintptr) uintptr { + return uintptr(**(**unsafe.Pointer)(unsafe.Pointer(&p))) +} +func PtrToNPtr(p uintptr, ptrNum int) uintptr { + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = PtrToPtr(p) + } + return p +} + +func PtrToUnsafePtr(p uintptr) unsafe.Pointer { + return *(*unsafe.Pointer)(unsafe.Pointer(&p)) +} +func PtrToInterface(code *Opcode, p uintptr) interface{} { + return *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: code.Type, + ptr: *(*unsafe.Pointer)(unsafe.Pointer(&p)), + })) +} + +func ErrUnsupportedValue(code *Opcode, ptr uintptr) *errors.UnsupportedValueError { + v := *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: code.Type, + ptr: *(*unsafe.Pointer)(unsafe.Pointer(&ptr)), + })) + return &errors.UnsupportedValueError{ + Value: reflect.ValueOf(v), + Str: fmt.Sprintf("encountered a cycle via %s", code.Type), + } +} + +func ErrUnsupportedFloat(v float64) *errors.UnsupportedValueError { + return &errors.UnsupportedValueError{ + Value: reflect.ValueOf(v), + Str: strconv.FormatFloat(v, 'g', -1, 64), + } +} + +func ErrMarshalerWithCode(code *Opcode, err error) *errors.MarshalerError { + return &errors.MarshalerError{ + Type: runtime.RType2Type(code.Type), + Err: err, + } +} + +type emptyInterface struct { + typ *runtime.Type + ptr unsafe.Pointer +} + +type MapItem struct { + Key []byte + Value []byte +} + +type Mapslice struct { + Items []MapItem +} + +func (m *Mapslice) Len() int { + return len(m.Items) +} + +func (m *Mapslice) Less(i, j int) bool { + return bytes.Compare(m.Items[i].Key, m.Items[j].Key) < 0 +} + +func (m *Mapslice) Swap(i, j int) { + m.Items[i], m.Items[j] = m.Items[j], m.Items[i] +} + +type MapContext struct { + Pos []int + Slice *Mapslice + Buf []byte +} + +var mapContextPool = sync.Pool{ + New: func() interface{} { + return &MapContext{} + }, +} + +func NewMapContext(mapLen int) *MapContext { + ctx := mapContextPool.Get().(*MapContext) + if ctx.Slice == nil { + ctx.Slice = &Mapslice{ + Items: make([]MapItem, 0, mapLen), + } + } + if cap(ctx.Pos) < (mapLen*2 + 1) { + ctx.Pos = make([]int, 0, mapLen*2+1) + ctx.Slice.Items = make([]MapItem, 0, mapLen) + } else { + ctx.Pos = ctx.Pos[:0] + ctx.Slice.Items = ctx.Slice.Items[:0] + } + ctx.Buf = ctx.Buf[:0] + return ctx +} + +func ReleaseMapContext(c *MapContext) { + mapContextPool.Put(c) +} + +//go:linkname MapIterInit reflect.mapiterinit +//go:noescape +func MapIterInit(mapType *runtime.Type, m unsafe.Pointer) unsafe.Pointer + +//go:linkname MapIterKey reflect.mapiterkey +//go:noescape +func MapIterKey(it unsafe.Pointer) unsafe.Pointer + +//go:linkname MapIterNext reflect.mapiternext +//go:noescape +func MapIterNext(it unsafe.Pointer) + +//go:linkname MapLen reflect.maplen +//go:noescape +func MapLen(m unsafe.Pointer) int + +func AppendByteSlice(b []byte, src []byte) []byte { + if src == nil { + return append(b, `null`...) + } + encodedLen := base64.StdEncoding.EncodedLen(len(src)) + b = append(b, '"') + pos := len(b) + remainLen := cap(b[pos:]) + var buf []byte + if remainLen > encodedLen { + buf = b[pos : pos+encodedLen] + } else { + buf = make([]byte, encodedLen) + } + base64.StdEncoding.Encode(buf, src) + return append(append(b, buf...), '"') +} + +func AppendFloat32(b []byte, v float32) []byte { + f64 := float64(v) + abs := math.Abs(f64) + fmt := byte('f') + // Note: Must use float32 comparisons for underlying float32 value to get precise cutoffs right. + if abs != 0 { + f32 := float32(abs) + if f32 < 1e-6 || f32 >= 1e21 { + fmt = 'e' + } + } + return strconv.AppendFloat(b, f64, fmt, -1, 32) +} + +func AppendFloat64(b []byte, v float64) []byte { + abs := math.Abs(v) + fmt := byte('f') + // Note: Must use float32 comparisons for underlying float32 value to get precise cutoffs right. + if abs != 0 { + if abs < 1e-6 || abs >= 1e21 { + fmt = 'e' + } + } + return strconv.AppendFloat(b, v, fmt, -1, 64) +} + +func AppendBool(b []byte, v bool) []byte { + if v { + return append(b, "true"...) + } + return append(b, "false"...) +} + +var ( + floatTable = [256]bool{ + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + '.': true, + 'e': true, + 'E': true, + '+': true, + '-': true, + } +) + +func AppendNumber(b []byte, n json.Number) ([]byte, error) { + if len(n) == 0 { + return append(b, '0'), nil + } + for i := 0; i < len(n); i++ { + if !floatTable[n[i]] { + return nil, fmt.Errorf("json: invalid number literal %q", n) + } + } + b = append(b, n...) + return b, nil +} + +func AppendMarshalJSON(ctx *RuntimeContext, code *Opcode, b []byte, v interface{}, escape bool) ([]byte, error) { + rv := reflect.ValueOf(v) // convert by dynamic interface type + if code.AddrForMarshaler { + if rv.CanAddr() { + rv = rv.Addr() + } else { + newV := reflect.New(rv.Type()) + newV.Elem().Set(rv) + rv = newV + } + } + v = rv.Interface() + marshaler, ok := v.(json.Marshaler) + if !ok { + return AppendNull(b), nil + } + bb, err := marshaler.MarshalJSON() + if err != nil { + return nil, &errors.MarshalerError{Type: reflect.TypeOf(v), Err: err} + } + marshalBuf := ctx.MarshalBuf[:0] + marshalBuf = append(append(marshalBuf, bb...), nul) + compactedBuf, err := compact(b, marshalBuf, escape) + if err != nil { + return nil, &errors.MarshalerError{Type: reflect.TypeOf(v), Err: err} + } + ctx.MarshalBuf = marshalBuf + return compactedBuf, nil +} + +func AppendMarshalJSONIndent(ctx *RuntimeContext, code *Opcode, b []byte, v interface{}, escape bool) ([]byte, error) { + rv := reflect.ValueOf(v) // convert by dynamic interface type + if code.AddrForMarshaler { + if rv.CanAddr() { + rv = rv.Addr() + } else { + newV := reflect.New(rv.Type()) + newV.Elem().Set(rv) + rv = newV + } + } + v = rv.Interface() + marshaler, ok := v.(json.Marshaler) + if !ok { + return AppendNull(b), nil + } + bb, err := marshaler.MarshalJSON() + if err != nil { + return nil, &errors.MarshalerError{Type: reflect.TypeOf(v), Err: err} + } + marshalBuf := ctx.MarshalBuf[:0] + marshalBuf = append(append(marshalBuf, bb...), nul) + indentedBuf, err := doIndent( + b, + marshalBuf, + string(ctx.Prefix)+strings.Repeat(string(ctx.IndentStr), ctx.BaseIndent+code.Indent), + string(ctx.IndentStr), + escape, + ) + if err != nil { + return nil, &errors.MarshalerError{Type: reflect.TypeOf(v), Err: err} + } + ctx.MarshalBuf = marshalBuf + return indentedBuf, nil +} + +func AppendMarshalText(code *Opcode, b []byte, v interface{}, escape bool) ([]byte, error) { + rv := reflect.ValueOf(v) // convert by dynamic interface type + if code.AddrForMarshaler { + if rv.CanAddr() { + rv = rv.Addr() + } else { + newV := reflect.New(rv.Type()) + newV.Elem().Set(rv) + rv = newV + } + } + v = rv.Interface() + marshaler, ok := v.(encoding.TextMarshaler) + if !ok { + return AppendNull(b), nil + } + bytes, err := marshaler.MarshalText() + if err != nil { + return nil, &errors.MarshalerError{Type: reflect.TypeOf(v), Err: err} + } + if escape { + return AppendEscapedString(b, *(*string)(unsafe.Pointer(&bytes))), nil + } + return AppendString(b, *(*string)(unsafe.Pointer(&bytes))), nil +} + +func AppendMarshalTextIndent(code *Opcode, b []byte, v interface{}, escape bool) ([]byte, error) { + rv := reflect.ValueOf(v) // convert by dynamic interface type + if code.AddrForMarshaler { + if rv.CanAddr() { + rv = rv.Addr() + } else { + newV := reflect.New(rv.Type()) + newV.Elem().Set(rv) + rv = newV + } + } + v = rv.Interface() + marshaler, ok := v.(encoding.TextMarshaler) + if !ok { + return AppendNull(b), nil + } + bytes, err := marshaler.MarshalText() + if err != nil { + return nil, &errors.MarshalerError{Type: reflect.TypeOf(v), Err: err} + } + if escape { + return AppendEscapedString(b, *(*string)(unsafe.Pointer(&bytes))), nil + } + return AppendString(b, *(*string)(unsafe.Pointer(&bytes))), nil +} + +func AppendNull(b []byte) []byte { + return append(b, "null"...) +} + +func AppendComma(b []byte) []byte { + return append(b, ',') +} + +func AppendCommaIndent(b []byte) []byte { + return append(b, ',', '\n') +} + +func AppendStructEnd(b []byte) []byte { + return append(b, '}', ',') +} + +func AppendStructEndIndent(ctx *RuntimeContext, code *Opcode, b []byte) []byte { + b = append(b, '\n') + b = append(b, ctx.Prefix...) + indentNum := ctx.BaseIndent + code.Indent - 1 + for i := 0; i < indentNum; i++ { + b = append(b, ctx.IndentStr...) + } + return append(b, '}', ',', '\n') +} + +func AppendIndent(ctx *RuntimeContext, b []byte, indent int) []byte { + b = append(b, ctx.Prefix...) + indentNum := ctx.BaseIndent + indent + for i := 0; i < indentNum; i++ { + b = append(b, ctx.IndentStr...) + } + return b +} + +func IsNilForMarshaler(v interface{}) bool { + rv := reflect.ValueOf(v) + switch rv.Kind() { + case reflect.Bool: + return !rv.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return rv.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return rv.Uint() == 0 + case reflect.Float32, reflect.Float64: + return math.Float64bits(rv.Float()) == 0 + case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Func: + return rv.IsNil() + case reflect.Slice: + return rv.IsNil() || rv.Len() == 0 + } + return false +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/indent.go b/vendor/github.com/goccy/go-json/internal/encoder/indent.go new file mode 100644 index 000000000..dfe04b5e3 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/indent.go @@ -0,0 +1,211 @@ +package encoder + +import ( + "bytes" + "fmt" + + "github.com/goccy/go-json/internal/errors" +) + +func takeIndentSrcRuntimeContext(src []byte) (*RuntimeContext, []byte) { + ctx := TakeRuntimeContext() + buf := ctx.Buf[:0] + buf = append(append(buf, src...), nul) + ctx.Buf = buf + return ctx, buf +} + +func Indent(buf *bytes.Buffer, src []byte, prefix, indentStr string) error { + if len(src) == 0 { + return errors.ErrUnexpectedEndOfJSON("", 0) + } + + srcCtx, srcBuf := takeIndentSrcRuntimeContext(src) + dstCtx := TakeRuntimeContext() + dst := dstCtx.Buf[:0] + + dst, err := indentAndWrite(buf, dst, srcBuf, prefix, indentStr) + if err != nil { + ReleaseRuntimeContext(srcCtx) + ReleaseRuntimeContext(dstCtx) + return err + } + dstCtx.Buf = dst + ReleaseRuntimeContext(srcCtx) + ReleaseRuntimeContext(dstCtx) + return nil +} + +func indentAndWrite(buf *bytes.Buffer, dst []byte, src []byte, prefix, indentStr string) ([]byte, error) { + dst, err := doIndent(dst, src, prefix, indentStr, false) + if err != nil { + return nil, err + } + if _, err := buf.Write(dst); err != nil { + return nil, err + } + return dst, nil +} + +func doIndent(dst, src []byte, prefix, indentStr string, escape bool) ([]byte, error) { + buf, cursor, err := indentValue(dst, src, 0, 0, []byte(prefix), []byte(indentStr), escape) + if err != nil { + return nil, err + } + if err := validateEndBuf(src, cursor); err != nil { + return nil, err + } + return buf, nil +} + +func indentValue( + dst []byte, + src []byte, + indentNum int, + cursor int64, + prefix []byte, + indentBytes []byte, + escape bool) ([]byte, int64, error) { + for { + switch src[cursor] { + case ' ', '\t', '\n', '\r': + cursor++ + continue + case '{': + return indentObject(dst, src, indentNum, cursor, prefix, indentBytes, escape) + case '}': + return nil, 0, errors.ErrSyntax("unexpected character '}'", cursor) + case '[': + return indentArray(dst, src, indentNum, cursor, prefix, indentBytes, escape) + case ']': + return nil, 0, errors.ErrSyntax("unexpected character ']'", cursor) + case '"': + return compactString(dst, src, cursor, escape) + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return compactNumber(dst, src, cursor) + case 't': + return compactTrue(dst, src, cursor) + case 'f': + return compactFalse(dst, src, cursor) + case 'n': + return compactNull(dst, src, cursor) + default: + return nil, 0, errors.ErrSyntax(fmt.Sprintf("unexpected character '%c'", src[cursor]), cursor) + } + } +} + +func indentObject( + dst []byte, + src []byte, + indentNum int, + cursor int64, + prefix []byte, + indentBytes []byte, + escape bool) ([]byte, int64, error) { + if src[cursor] == '{' { + dst = append(dst, '{') + } else { + return nil, 0, errors.ErrExpected("expected { character for object value", cursor) + } + cursor = skipWhiteSpace(src, cursor+1) + if src[cursor] == '}' { + dst = append(dst, '}') + return dst, cursor + 1, nil + } + indentNum++ + var err error + for { + dst = append(append(dst, '\n'), prefix...) + for i := 0; i < indentNum; i++ { + dst = append(dst, indentBytes...) + } + cursor = skipWhiteSpace(src, cursor) + dst, cursor, err = compactString(dst, src, cursor, escape) + if err != nil { + return nil, 0, err + } + cursor = skipWhiteSpace(src, cursor) + if src[cursor] != ':' { + return nil, 0, errors.ErrSyntax( + fmt.Sprintf("invalid character '%c' after object key", src[cursor]), + cursor+1, + ) + } + dst = append(dst, ':', ' ') + dst, cursor, err = indentValue(dst, src, indentNum, cursor+1, prefix, indentBytes, escape) + if err != nil { + return nil, 0, err + } + cursor = skipWhiteSpace(src, cursor) + switch src[cursor] { + case '}': + dst = append(append(dst, '\n'), prefix...) + for i := 0; i < indentNum-1; i++ { + dst = append(dst, indentBytes...) + } + dst = append(dst, '}') + cursor++ + return dst, cursor, nil + case ',': + dst = append(dst, ',') + default: + return nil, 0, errors.ErrSyntax( + fmt.Sprintf("invalid character '%c' after object key:value pair", src[cursor]), + cursor+1, + ) + } + cursor++ + } +} + +func indentArray( + dst []byte, + src []byte, + indentNum int, + cursor int64, + prefix []byte, + indentBytes []byte, + escape bool) ([]byte, int64, error) { + if src[cursor] == '[' { + dst = append(dst, '[') + } else { + return nil, 0, errors.ErrExpected("expected [ character for array value", cursor) + } + cursor = skipWhiteSpace(src, cursor+1) + if src[cursor] == ']' { + dst = append(dst, ']') + return dst, cursor + 1, nil + } + indentNum++ + var err error + for { + dst = append(append(dst, '\n'), prefix...) + for i := 0; i < indentNum; i++ { + dst = append(dst, indentBytes...) + } + dst, cursor, err = indentValue(dst, src, indentNum, cursor, prefix, indentBytes, escape) + if err != nil { + return nil, 0, err + } + cursor = skipWhiteSpace(src, cursor) + switch src[cursor] { + case ']': + dst = append(append(dst, '\n'), prefix...) + for i := 0; i < indentNum-1; i++ { + dst = append(dst, indentBytes...) + } + dst = append(dst, ']') + cursor++ + return dst, cursor, nil + case ',': + dst = append(dst, ',') + default: + return nil, 0, errors.ErrSyntax( + fmt.Sprintf("invalid character '%c' after array value", src[cursor]), + cursor+1, + ) + } + cursor++ + } +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/int.go b/vendor/github.com/goccy/go-json/internal/encoder/int.go new file mode 100644 index 000000000..70ea5f7d7 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/int.go @@ -0,0 +1,124 @@ +package encoder + +import ( + "unsafe" +) + +var endianness int + +func init() { + var b [2]byte + *(*uint16)(unsafe.Pointer(&b)) = uint16(0xABCD) + + switch b[0] { + case 0xCD: + endianness = 0 // LE + case 0xAB: + endianness = 1 // BE + default: + panic("could not determine endianness") + } +} + +// "00010203...96979899" cast to []uint16 +var intLELookup = [100]uint16{ + 0x3030, 0x3130, 0x3230, 0x3330, 0x3430, 0x3530, 0x3630, 0x3730, 0x3830, 0x3930, + 0x3031, 0x3131, 0x3231, 0x3331, 0x3431, 0x3531, 0x3631, 0x3731, 0x3831, 0x3931, + 0x3032, 0x3132, 0x3232, 0x3332, 0x3432, 0x3532, 0x3632, 0x3732, 0x3832, 0x3932, + 0x3033, 0x3133, 0x3233, 0x3333, 0x3433, 0x3533, 0x3633, 0x3733, 0x3833, 0x3933, + 0x3034, 0x3134, 0x3234, 0x3334, 0x3434, 0x3534, 0x3634, 0x3734, 0x3834, 0x3934, + 0x3035, 0x3135, 0x3235, 0x3335, 0x3435, 0x3535, 0x3635, 0x3735, 0x3835, 0x3935, + 0x3036, 0x3136, 0x3236, 0x3336, 0x3436, 0x3536, 0x3636, 0x3736, 0x3836, 0x3936, + 0x3037, 0x3137, 0x3237, 0x3337, 0x3437, 0x3537, 0x3637, 0x3737, 0x3837, 0x3937, + 0x3038, 0x3138, 0x3238, 0x3338, 0x3438, 0x3538, 0x3638, 0x3738, 0x3838, 0x3938, + 0x3039, 0x3139, 0x3239, 0x3339, 0x3439, 0x3539, 0x3639, 0x3739, 0x3839, 0x3939, +} + +var intBELookup = [100]uint16{ + 0x3030, 0x3031, 0x3032, 0x3033, 0x3034, 0x3035, 0x3036, 0x3037, 0x3038, 0x3039, + 0x3130, 0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3136, 0x3137, 0x3138, 0x3139, + 0x3230, 0x3231, 0x3232, 0x3233, 0x3234, 0x3235, 0x3236, 0x3237, 0x3238, 0x3239, + 0x3330, 0x3331, 0x3332, 0x3333, 0x3334, 0x3335, 0x3336, 0x3337, 0x3338, 0x3339, + 0x3430, 0x3431, 0x3432, 0x3433, 0x3434, 0x3435, 0x3436, 0x3437, 0x3438, 0x3439, + 0x3530, 0x3531, 0x3532, 0x3533, 0x3534, 0x3535, 0x3536, 0x3537, 0x3538, 0x3539, + 0x3630, 0x3631, 0x3632, 0x3633, 0x3634, 0x3635, 0x3636, 0x3637, 0x3638, 0x3639, + 0x3730, 0x3731, 0x3732, 0x3733, 0x3734, 0x3735, 0x3736, 0x3737, 0x3738, 0x3739, + 0x3830, 0x3831, 0x3832, 0x3833, 0x3834, 0x3835, 0x3836, 0x3837, 0x3838, 0x3839, + 0x3930, 0x3931, 0x3932, 0x3933, 0x3934, 0x3935, 0x3936, 0x3937, 0x3938, 0x3939, +} + +var intLookup = [2]*[100]uint16{&intLELookup, &intBELookup} + +func AppendInt(out []byte, u64 uint64, code *Opcode) []byte { + n := u64 & code.Mask + negative := (u64>>code.RshiftNum)&1 == 1 + if !negative { + if n < 10 { + return append(out, byte(n+'0')) + } else if n < 100 { + u := intLELookup[n] + return append(out, byte(u), byte(u>>8)) + } + } else { + n = -n & code.Mask + } + + lookup := intLookup[endianness] + + var b [22]byte + u := (*[11]uint16)(unsafe.Pointer(&b)) + i := 11 + + for n >= 100 { + j := n % 100 + n /= 100 + i-- + u[i] = lookup[j] + } + + i-- + u[i] = lookup[n] + + i *= 2 // convert to byte index + if n < 10 { + i++ // remove leading zero + } + if negative { + i-- + b[i] = '-' + } + + return append(out, b[i:]...) +} + +func AppendUint(out []byte, u64 uint64, code *Opcode) []byte { + n := u64 & code.Mask + if n < 10 { + return append(out, byte(n+'0')) + } else if n < 100 { + u := intLELookup[n] + return append(out, byte(u), byte(u>>8)) + } + + lookup := intLookup[endianness] + + var b [22]byte + u := (*[11]uint16)(unsafe.Pointer(&b)) + i := 11 + + for n >= 100 { + j := n % 100 + n /= 100 + i-- + u[i] = lookup[j] + } + + i-- + u[i] = lookup[n] + + i *= 2 // convert to byte index + if n < 10 { + i++ // remove leading zero + } + return append(out, b[i:]...) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/map112.go b/vendor/github.com/goccy/go-json/internal/encoder/map112.go new file mode 100644 index 000000000..31858d000 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/map112.go @@ -0,0 +1,8 @@ +// +build !go1.13 + +package encoder + +import "unsafe" + +//go:linkname MapIterValue reflect.mapitervalue +func MapIterValue(it unsafe.Pointer) unsafe.Pointer diff --git a/vendor/github.com/goccy/go-json/internal/encoder/map113.go b/vendor/github.com/goccy/go-json/internal/encoder/map113.go new file mode 100644 index 000000000..f49c27bed --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/map113.go @@ -0,0 +1,8 @@ +// +build go1.13 + +package encoder + +import "unsafe" + +//go:linkname MapIterValue reflect.mapiterelem +func MapIterValue(it unsafe.Pointer) unsafe.Pointer diff --git a/vendor/github.com/goccy/go-json/internal/encoder/opcode.go b/vendor/github.com/goccy/go-json/internal/encoder/opcode.go new file mode 100644 index 000000000..0dfd6fb95 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/opcode.go @@ -0,0 +1,743 @@ +package encoder + +import ( + "fmt" + "math" + "strings" + "unsafe" + + "github.com/goccy/go-json/internal/runtime" +) + +const uintptrSize = 4 << (^uintptr(0) >> 63) + +type Opcode struct { + Op OpType // operation type + Type *runtime.Type // go type + DisplayIdx int // opcode index + Key []byte // struct field key + EscapedKey []byte // struct field key ( HTML escaped ) + PtrNum int // pointer number: e.g. double pointer is 2. + DisplayKey string // key text to display + IsTaggedKey bool // whether tagged key + AnonymousKey bool // whether anonymous key + AnonymousHead bool // whether anonymous head or not + Indirect bool // whether indirect or not + Nilcheck bool // whether needs to nilcheck or not + AddrForMarshaler bool // whether needs to addr for marshaler or not + IsNextOpPtrType bool // whether next operation is ptr type or not + IsNilableType bool // whether type is nilable or not + RshiftNum uint8 // use to take bit for judging whether negative integer or not + Mask uint64 // mask for number + Indent int // indent number + + Idx uintptr // offset to access ptr + HeadIdx uintptr // offset to access slice/struct head + ElemIdx uintptr // offset to access array/slice/map elem + Length uintptr // offset to access slice/map length or array length + MapIter uintptr // offset to access map iterator + MapPos uintptr // offset to access position list for sorted map + Offset uintptr // offset size from struct header + Size uintptr // array/slice elem size + + MapKey *Opcode // map key + MapValue *Opcode // map value + Elem *Opcode // array/slice elem + End *Opcode // array/slice/struct/map end + PrevField *Opcode // prev struct field + NextField *Opcode // next struct field + Next *Opcode // next opcode + Jmp *CompiledCode // for recursive call +} + +func rshitNum(bitSize uint8) uint8 { + return bitSize - 1 +} + +func (c *Opcode) setMaskAndRshiftNum(bitSize uint8) { + switch bitSize { + case 8: + c.Mask = math.MaxUint8 + case 16: + c.Mask = math.MaxUint16 + case 32: + c.Mask = math.MaxUint32 + case 64: + c.Mask = math.MaxUint64 + } + c.RshiftNum = rshitNum(bitSize) +} + +func (c *Opcode) ToHeaderType(isString bool) OpType { + switch c.Op { + case OpInt: + if isString { + return OpStructHeadIntString + } + return OpStructHeadInt + case OpIntPtr: + if isString { + return OpStructHeadIntPtrString + } + return OpStructHeadIntPtr + case OpUint: + if isString { + return OpStructHeadUintString + } + return OpStructHeadUint + case OpUintPtr: + if isString { + return OpStructHeadUintPtrString + } + return OpStructHeadUintPtr + case OpFloat32: + if isString { + return OpStructHeadFloat32String + } + return OpStructHeadFloat32 + case OpFloat32Ptr: + if isString { + return OpStructHeadFloat32PtrString + } + return OpStructHeadFloat32Ptr + case OpFloat64: + if isString { + return OpStructHeadFloat64String + } + return OpStructHeadFloat64 + case OpFloat64Ptr: + if isString { + return OpStructHeadFloat64PtrString + } + return OpStructHeadFloat64Ptr + case OpString: + if isString { + return OpStructHeadStringString + } + return OpStructHeadString + case OpStringPtr: + if isString { + return OpStructHeadStringPtrString + } + return OpStructHeadStringPtr + case OpNumber: + if isString { + return OpStructHeadNumberString + } + return OpStructHeadNumber + case OpNumberPtr: + if isString { + return OpStructHeadNumberPtrString + } + return OpStructHeadNumberPtr + case OpBool: + if isString { + return OpStructHeadBoolString + } + return OpStructHeadBool + case OpBoolPtr: + if isString { + return OpStructHeadBoolPtrString + } + return OpStructHeadBoolPtr + case OpBytes: + return OpStructHeadBytes + case OpBytesPtr: + return OpStructHeadBytesPtr + case OpMap: + return OpStructHeadMap + case OpMapPtr: + c.Op = OpMap + return OpStructHeadMapPtr + case OpArray: + return OpStructHeadArray + case OpArrayPtr: + c.Op = OpArray + return OpStructHeadArrayPtr + case OpSlice: + return OpStructHeadSlice + case OpSlicePtr: + c.Op = OpSlice + return OpStructHeadSlicePtr + case OpMarshalJSON: + return OpStructHeadMarshalJSON + case OpMarshalJSONPtr: + return OpStructHeadMarshalJSONPtr + case OpMarshalText: + return OpStructHeadMarshalText + case OpMarshalTextPtr: + return OpStructHeadMarshalTextPtr + } + return OpStructHead +} + +func (c *Opcode) ToFieldType(isString bool) OpType { + switch c.Op { + case OpInt: + if isString { + return OpStructFieldIntString + } + return OpStructFieldInt + case OpIntPtr: + if isString { + return OpStructFieldIntPtrString + } + return OpStructFieldIntPtr + case OpUint: + if isString { + return OpStructFieldUintString + } + return OpStructFieldUint + case OpUintPtr: + if isString { + return OpStructFieldUintPtrString + } + return OpStructFieldUintPtr + case OpFloat32: + if isString { + return OpStructFieldFloat32String + } + return OpStructFieldFloat32 + case OpFloat32Ptr: + if isString { + return OpStructFieldFloat32PtrString + } + return OpStructFieldFloat32Ptr + case OpFloat64: + if isString { + return OpStructFieldFloat64String + } + return OpStructFieldFloat64 + case OpFloat64Ptr: + if isString { + return OpStructFieldFloat64PtrString + } + return OpStructFieldFloat64Ptr + case OpString: + if isString { + return OpStructFieldStringString + } + return OpStructFieldString + case OpStringPtr: + if isString { + return OpStructFieldStringPtrString + } + return OpStructFieldStringPtr + case OpNumber: + if isString { + return OpStructFieldNumberString + } + return OpStructFieldNumber + case OpNumberPtr: + if isString { + return OpStructFieldNumberPtrString + } + return OpStructFieldNumberPtr + case OpBool: + if isString { + return OpStructFieldBoolString + } + return OpStructFieldBool + case OpBoolPtr: + if isString { + return OpStructFieldBoolPtrString + } + return OpStructFieldBoolPtr + case OpBytes: + return OpStructFieldBytes + case OpBytesPtr: + return OpStructFieldBytesPtr + case OpMap: + return OpStructFieldMap + case OpMapPtr: + c.Op = OpMap + return OpStructFieldMapPtr + case OpArray: + return OpStructFieldArray + case OpArrayPtr: + c.Op = OpArray + return OpStructFieldArrayPtr + case OpSlice: + return OpStructFieldSlice + case OpSlicePtr: + c.Op = OpSlice + return OpStructFieldSlicePtr + case OpMarshalJSON: + return OpStructFieldMarshalJSON + case OpMarshalJSONPtr: + return OpStructFieldMarshalJSONPtr + case OpMarshalText: + return OpStructFieldMarshalText + case OpMarshalTextPtr: + return OpStructFieldMarshalTextPtr + } + return OpStructField +} + +func newOpCode(ctx *compileContext, op OpType) *Opcode { + return newOpCodeWithNext(ctx, op, newEndOp(ctx)) +} + +func opcodeOffset(idx int) uintptr { + return uintptr(idx) * uintptrSize +} + +func copyOpcode(code *Opcode) *Opcode { + codeMap := map[uintptr]*Opcode{} + return code.copy(codeMap) +} + +func newOpCodeWithNext(ctx *compileContext, op OpType, next *Opcode) *Opcode { + return &Opcode{ + Op: op, + Type: ctx.typ, + DisplayIdx: ctx.opcodeIndex, + Indent: ctx.indent, + Idx: opcodeOffset(ctx.ptrIndex), + Next: next, + } +} + +func newEndOp(ctx *compileContext) *Opcode { + return newOpCodeWithNext(ctx, OpEnd, nil) +} + +func (c *Opcode) copy(codeMap map[uintptr]*Opcode) *Opcode { + if c == nil { + return nil + } + addr := uintptr(unsafe.Pointer(c)) + if code, exists := codeMap[addr]; exists { + return code + } + copied := &Opcode{ + Op: c.Op, + Type: c.Type, + DisplayIdx: c.DisplayIdx, + Key: c.Key, + EscapedKey: c.EscapedKey, + DisplayKey: c.DisplayKey, + PtrNum: c.PtrNum, + Mask: c.Mask, + RshiftNum: c.RshiftNum, + IsTaggedKey: c.IsTaggedKey, + AnonymousKey: c.AnonymousKey, + AnonymousHead: c.AnonymousHead, + Indirect: c.Indirect, + Nilcheck: c.Nilcheck, + AddrForMarshaler: c.AddrForMarshaler, + IsNextOpPtrType: c.IsNextOpPtrType, + IsNilableType: c.IsNilableType, + Indent: c.Indent, + Idx: c.Idx, + HeadIdx: c.HeadIdx, + ElemIdx: c.ElemIdx, + Length: c.Length, + MapIter: c.MapIter, + MapPos: c.MapPos, + Offset: c.Offset, + Size: c.Size, + } + codeMap[addr] = copied + copied.MapKey = c.MapKey.copy(codeMap) + copied.MapValue = c.MapValue.copy(codeMap) + copied.Elem = c.Elem.copy(codeMap) + copied.End = c.End.copy(codeMap) + copied.PrevField = c.PrevField.copy(codeMap) + copied.NextField = c.NextField.copy(codeMap) + copied.Next = c.Next.copy(codeMap) + copied.Jmp = c.Jmp + return copied +} + +func (c *Opcode) BeforeLastCode() *Opcode { + code := c + for { + var nextCode *Opcode + switch code.Op.CodeType() { + case CodeArrayElem, CodeSliceElem, CodeMapKey: + nextCode = code.End + default: + nextCode = code.Next + } + if nextCode.Op == OpEnd { + return code + } + code = nextCode + } +} + +func (c *Opcode) TotalLength() int { + var idx int + for code := c; code.Op != OpEnd; { + idx = int(code.Idx / uintptrSize) + if code.Op == OpRecursiveEnd { + break + } + switch code.Op.CodeType() { + case CodeArrayElem, CodeSliceElem, CodeMapKey: + code = code.End + default: + code = code.Next + } + } + return idx + 2 // opEnd + 1 +} + +func (c *Opcode) decOpcodeIndex() { + for code := c; code.Op != OpEnd; { + code.DisplayIdx-- + code.Idx -= uintptrSize + if code.HeadIdx > 0 { + code.HeadIdx -= uintptrSize + } + if code.ElemIdx > 0 { + code.ElemIdx -= uintptrSize + } + if code.MapIter > 0 { + code.MapIter -= uintptrSize + } + if code.Length > 0 && code.Op.CodeType() != CodeArrayHead && code.Op.CodeType() != CodeArrayElem { + code.Length -= uintptrSize + } + switch code.Op.CodeType() { + case CodeArrayElem, CodeSliceElem, CodeMapKey: + code = code.End + default: + code = code.Next + } + } +} + +func (c *Opcode) decIndent() { + for code := c; code.Op != OpEnd; { + code.Indent-- + switch code.Op.CodeType() { + case CodeArrayElem, CodeSliceElem, CodeMapKey: + code = code.End + default: + code = code.Next + } + } +} + +func (c *Opcode) dumpHead(code *Opcode) string { + var length uintptr + if code.Op.CodeType() == CodeArrayHead { + length = code.Length + } else { + length = code.Length / uintptrSize + } + return fmt.Sprintf( + `[%d]%s%s ([idx:%d][headIdx:%d][elemIdx:%d][length:%d])`, + code.DisplayIdx, + strings.Repeat("-", code.Indent), + code.Op, + code.Idx/uintptrSize, + code.HeadIdx/uintptrSize, + code.ElemIdx/uintptrSize, + length, + ) +} + +func (c *Opcode) dumpMapHead(code *Opcode) string { + return fmt.Sprintf( + `[%d]%s%s ([idx:%d][headIdx:%d][elemIdx:%d][length:%d][mapIter:%d])`, + code.DisplayIdx, + strings.Repeat("-", code.Indent), + code.Op, + code.Idx/uintptrSize, + code.HeadIdx/uintptrSize, + code.ElemIdx/uintptrSize, + code.Length/uintptrSize, + code.MapIter/uintptrSize, + ) +} + +func (c *Opcode) dumpMapEnd(code *Opcode) string { + return fmt.Sprintf( + `[%d]%s%s ([idx:%d][mapPos:%d][length:%d])`, + code.DisplayIdx, + strings.Repeat("-", code.Indent), + code.Op, + code.Idx/uintptrSize, + code.MapPos/uintptrSize, + code.Length/uintptrSize, + ) +} + +func (c *Opcode) dumpElem(code *Opcode) string { + var length uintptr + if code.Op.CodeType() == CodeArrayElem { + length = code.Length + } else { + length = code.Length / uintptrSize + } + return fmt.Sprintf( + `[%d]%s%s ([idx:%d][headIdx:%d][elemIdx:%d][length:%d][size:%d])`, + code.DisplayIdx, + strings.Repeat("-", code.Indent), + code.Op, + code.Idx/uintptrSize, + code.HeadIdx/uintptrSize, + code.ElemIdx/uintptrSize, + length, + code.Size, + ) +} + +func (c *Opcode) dumpField(code *Opcode) string { + return fmt.Sprintf( + `[%d]%s%s ([idx:%d][key:%s][offset:%d][headIdx:%d])`, + code.DisplayIdx, + strings.Repeat("-", code.Indent), + code.Op, + code.Idx/uintptrSize, + code.DisplayKey, + code.Offset, + code.HeadIdx/uintptrSize, + ) +} + +func (c *Opcode) dumpKey(code *Opcode) string { + return fmt.Sprintf( + `[%d]%s%s ([idx:%d][elemIdx:%d][length:%d][mapIter:%d])`, + code.DisplayIdx, + strings.Repeat("-", code.Indent), + code.Op, + code.Idx/uintptrSize, + code.ElemIdx/uintptrSize, + code.Length/uintptrSize, + code.MapIter/uintptrSize, + ) +} + +func (c *Opcode) dumpValue(code *Opcode) string { + return fmt.Sprintf( + `[%d]%s%s ([idx:%d][mapIter:%d])`, + code.DisplayIdx, + strings.Repeat("-", code.Indent), + code.Op, + code.Idx/uintptrSize, + code.MapIter/uintptrSize, + ) +} + +func (c *Opcode) Dump() string { + codes := []string{} + for code := c; code.Op != OpEnd; { + switch code.Op.CodeType() { + case CodeSliceHead: + codes = append(codes, c.dumpHead(code)) + code = code.Next + case CodeMapHead: + codes = append(codes, c.dumpMapHead(code)) + code = code.Next + case CodeArrayElem, CodeSliceElem: + codes = append(codes, c.dumpElem(code)) + code = code.End + case CodeMapKey: + codes = append(codes, c.dumpKey(code)) + code = code.End + case CodeMapValue: + codes = append(codes, c.dumpValue(code)) + code = code.Next + case CodeMapEnd: + codes = append(codes, c.dumpMapEnd(code)) + code = code.Next + case CodeStructField: + codes = append(codes, c.dumpField(code)) + code = code.Next + case CodeStructEnd: + codes = append(codes, c.dumpField(code)) + code = code.Next + default: + codes = append(codes, fmt.Sprintf( + "[%d]%s%s ([idx:%d])", + code.DisplayIdx, + strings.Repeat("-", code.Indent), + code.Op, + code.Idx/uintptrSize, + )) + code = code.Next + } + } + return strings.Join(codes, "\n") +} + +func prevField(code *Opcode, removedFields map[*Opcode]struct{}) *Opcode { + if _, exists := removedFields[code]; exists { + return prevField(code.PrevField, removedFields) + } + return code +} + +func nextField(code *Opcode, removedFields map[*Opcode]struct{}) *Opcode { + if _, exists := removedFields[code]; exists { + return nextField(code.NextField, removedFields) + } + return code +} + +func linkPrevToNextField(cur *Opcode, removedFields map[*Opcode]struct{}) { + prev := prevField(cur.PrevField, removedFields) + prev.NextField = nextField(cur.NextField, removedFields) + code := prev + fcode := cur + for { + var nextCode *Opcode + switch code.Op.CodeType() { + case CodeArrayElem, CodeSliceElem, CodeMapKey: + nextCode = code.End + default: + nextCode = code.Next + } + if nextCode == fcode { + code.Next = fcode.Next + break + } else if nextCode.Op == OpEnd { + break + } + code = nextCode + } +} + +func newSliceHeaderCode(ctx *compileContext) *Opcode { + idx := opcodeOffset(ctx.ptrIndex) + ctx.incPtrIndex() + elemIdx := opcodeOffset(ctx.ptrIndex) + ctx.incPtrIndex() + length := opcodeOffset(ctx.ptrIndex) + return &Opcode{ + Op: OpSlice, + DisplayIdx: ctx.opcodeIndex, + Idx: idx, + HeadIdx: idx, + ElemIdx: elemIdx, + Length: length, + Indent: ctx.indent, + } +} + +func newSliceElemCode(ctx *compileContext, head *Opcode, size uintptr) *Opcode { + return &Opcode{ + Op: OpSliceElem, + DisplayIdx: ctx.opcodeIndex, + Idx: opcodeOffset(ctx.ptrIndex), + HeadIdx: head.Idx, + ElemIdx: head.ElemIdx, + Length: head.Length, + Indent: ctx.indent, + Size: size, + } +} + +func newArrayHeaderCode(ctx *compileContext, alen int) *Opcode { + idx := opcodeOffset(ctx.ptrIndex) + ctx.incPtrIndex() + elemIdx := opcodeOffset(ctx.ptrIndex) + return &Opcode{ + Op: OpArray, + DisplayIdx: ctx.opcodeIndex, + Idx: idx, + HeadIdx: idx, + ElemIdx: elemIdx, + Indent: ctx.indent, + Length: uintptr(alen), + } +} + +func newArrayElemCode(ctx *compileContext, head *Opcode, length int, size uintptr) *Opcode { + return &Opcode{ + Op: OpArrayElem, + DisplayIdx: ctx.opcodeIndex, + Idx: opcodeOffset(ctx.ptrIndex), + ElemIdx: head.ElemIdx, + HeadIdx: head.HeadIdx, + Length: uintptr(length), + Indent: ctx.indent, + Size: size, + } +} + +func newMapHeaderCode(ctx *compileContext) *Opcode { + idx := opcodeOffset(ctx.ptrIndex) + ctx.incPtrIndex() + elemIdx := opcodeOffset(ctx.ptrIndex) + ctx.incPtrIndex() + length := opcodeOffset(ctx.ptrIndex) + ctx.incPtrIndex() + mapIter := opcodeOffset(ctx.ptrIndex) + return &Opcode{ + Op: OpMap, + Type: ctx.typ, + DisplayIdx: ctx.opcodeIndex, + Idx: idx, + ElemIdx: elemIdx, + Length: length, + MapIter: mapIter, + Indent: ctx.indent, + } +} + +func newMapKeyCode(ctx *compileContext, head *Opcode) *Opcode { + return &Opcode{ + Op: OpMapKey, + DisplayIdx: ctx.opcodeIndex, + Idx: opcodeOffset(ctx.ptrIndex), + ElemIdx: head.ElemIdx, + Length: head.Length, + MapIter: head.MapIter, + Indent: ctx.indent, + } +} + +func newMapValueCode(ctx *compileContext, head *Opcode) *Opcode { + return &Opcode{ + Op: OpMapValue, + DisplayIdx: ctx.opcodeIndex, + Idx: opcodeOffset(ctx.ptrIndex), + ElemIdx: head.ElemIdx, + Length: head.Length, + MapIter: head.MapIter, + Indent: ctx.indent, + } +} + +func newMapEndCode(ctx *compileContext, head *Opcode) *Opcode { + mapPos := opcodeOffset(ctx.ptrIndex) + ctx.incPtrIndex() + idx := opcodeOffset(ctx.ptrIndex) + return &Opcode{ + Op: OpMapEnd, + DisplayIdx: ctx.opcodeIndex, + Idx: idx, + Length: head.Length, + MapPos: mapPos, + Indent: ctx.indent, + Next: newEndOp(ctx), + } +} + +func newInterfaceCode(ctx *compileContext) *Opcode { + return &Opcode{ + Op: OpInterface, + Type: ctx.typ, + DisplayIdx: ctx.opcodeIndex, + Idx: opcodeOffset(ctx.ptrIndex), + Indent: ctx.indent, + Next: newEndOp(ctx), + } +} + +func newRecursiveCode(ctx *compileContext, jmp *CompiledCode) *Opcode { + return &Opcode{ + Op: OpRecursive, + Type: ctx.typ, + DisplayIdx: ctx.opcodeIndex, + Idx: opcodeOffset(ctx.ptrIndex), + Indent: ctx.indent, + Next: newEndOp(ctx), + Jmp: jmp, + } +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/optype.go b/vendor/github.com/goccy/go-json/internal/encoder/optype.go new file mode 100644 index 000000000..21ac3457c --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/optype.go @@ -0,0 +1,932 @@ +// Code generated by internal/cmd/generator. DO NOT EDIT! +package encoder + +import ( + "strings" +) + +type CodeType int + +const ( + CodeOp CodeType = 0 + CodeArrayHead CodeType = 1 + CodeArrayElem CodeType = 2 + CodeSliceHead CodeType = 3 + CodeSliceElem CodeType = 4 + CodeMapHead CodeType = 5 + CodeMapKey CodeType = 6 + CodeMapValue CodeType = 7 + CodeMapEnd CodeType = 8 + CodeRecursive CodeType = 9 + CodeStructField CodeType = 10 + CodeStructEnd CodeType = 11 +) + +var opTypeStrings = [400]string{ + "End", + "Interface", + "Ptr", + "SliceElem", + "SliceEnd", + "ArrayElem", + "ArrayEnd", + "MapKey", + "MapValue", + "MapEnd", + "Recursive", + "RecursivePtr", + "RecursiveEnd", + "StructAnonymousEnd", + "Int", + "Uint", + "Float32", + "Float64", + "Bool", + "String", + "Bytes", + "Number", + "Array", + "Map", + "Slice", + "Struct", + "MarshalJSON", + "MarshalText", + "IntString", + "UintString", + "Float32String", + "Float64String", + "BoolString", + "StringString", + "NumberString", + "IntPtr", + "UintPtr", + "Float32Ptr", + "Float64Ptr", + "BoolPtr", + "StringPtr", + "BytesPtr", + "NumberPtr", + "ArrayPtr", + "MapPtr", + "SlicePtr", + "MarshalJSONPtr", + "MarshalTextPtr", + "InterfacePtr", + "IntPtrString", + "UintPtrString", + "Float32PtrString", + "Float64PtrString", + "BoolPtrString", + "StringPtrString", + "NumberPtrString", + "StructHeadInt", + "StructHeadOmitEmptyInt", + "StructPtrHeadInt", + "StructPtrHeadOmitEmptyInt", + "StructHeadUint", + "StructHeadOmitEmptyUint", + "StructPtrHeadUint", + "StructPtrHeadOmitEmptyUint", + "StructHeadFloat32", + "StructHeadOmitEmptyFloat32", + "StructPtrHeadFloat32", + "StructPtrHeadOmitEmptyFloat32", + "StructHeadFloat64", + "StructHeadOmitEmptyFloat64", + "StructPtrHeadFloat64", + "StructPtrHeadOmitEmptyFloat64", + "StructHeadBool", + "StructHeadOmitEmptyBool", + "StructPtrHeadBool", + "StructPtrHeadOmitEmptyBool", + "StructHeadString", + "StructHeadOmitEmptyString", + "StructPtrHeadString", + "StructPtrHeadOmitEmptyString", + "StructHeadBytes", + "StructHeadOmitEmptyBytes", + "StructPtrHeadBytes", + "StructPtrHeadOmitEmptyBytes", + "StructHeadNumber", + "StructHeadOmitEmptyNumber", + "StructPtrHeadNumber", + "StructPtrHeadOmitEmptyNumber", + "StructHeadArray", + "StructHeadOmitEmptyArray", + "StructPtrHeadArray", + "StructPtrHeadOmitEmptyArray", + "StructHeadMap", + "StructHeadOmitEmptyMap", + "StructPtrHeadMap", + "StructPtrHeadOmitEmptyMap", + "StructHeadSlice", + "StructHeadOmitEmptySlice", + "StructPtrHeadSlice", + "StructPtrHeadOmitEmptySlice", + "StructHeadStruct", + "StructHeadOmitEmptyStruct", + "StructPtrHeadStruct", + "StructPtrHeadOmitEmptyStruct", + "StructHeadMarshalJSON", + "StructHeadOmitEmptyMarshalJSON", + "StructPtrHeadMarshalJSON", + "StructPtrHeadOmitEmptyMarshalJSON", + "StructHeadMarshalText", + "StructHeadOmitEmptyMarshalText", + "StructPtrHeadMarshalText", + "StructPtrHeadOmitEmptyMarshalText", + "StructHeadIntString", + "StructHeadOmitEmptyIntString", + "StructPtrHeadIntString", + "StructPtrHeadOmitEmptyIntString", + "StructHeadUintString", + "StructHeadOmitEmptyUintString", + "StructPtrHeadUintString", + "StructPtrHeadOmitEmptyUintString", + "StructHeadFloat32String", + "StructHeadOmitEmptyFloat32String", + "StructPtrHeadFloat32String", + "StructPtrHeadOmitEmptyFloat32String", + "StructHeadFloat64String", + "StructHeadOmitEmptyFloat64String", + "StructPtrHeadFloat64String", + "StructPtrHeadOmitEmptyFloat64String", + "StructHeadBoolString", + "StructHeadOmitEmptyBoolString", + "StructPtrHeadBoolString", + "StructPtrHeadOmitEmptyBoolString", + "StructHeadStringString", + "StructHeadOmitEmptyStringString", + "StructPtrHeadStringString", + "StructPtrHeadOmitEmptyStringString", + "StructHeadNumberString", + "StructHeadOmitEmptyNumberString", + "StructPtrHeadNumberString", + "StructPtrHeadOmitEmptyNumberString", + "StructHeadIntPtr", + "StructHeadOmitEmptyIntPtr", + "StructPtrHeadIntPtr", + "StructPtrHeadOmitEmptyIntPtr", + "StructHeadUintPtr", + "StructHeadOmitEmptyUintPtr", + "StructPtrHeadUintPtr", + "StructPtrHeadOmitEmptyUintPtr", + "StructHeadFloat32Ptr", + "StructHeadOmitEmptyFloat32Ptr", + "StructPtrHeadFloat32Ptr", + "StructPtrHeadOmitEmptyFloat32Ptr", + "StructHeadFloat64Ptr", + "StructHeadOmitEmptyFloat64Ptr", + "StructPtrHeadFloat64Ptr", + "StructPtrHeadOmitEmptyFloat64Ptr", + "StructHeadBoolPtr", + "StructHeadOmitEmptyBoolPtr", + "StructPtrHeadBoolPtr", + "StructPtrHeadOmitEmptyBoolPtr", + "StructHeadStringPtr", + "StructHeadOmitEmptyStringPtr", + "StructPtrHeadStringPtr", + "StructPtrHeadOmitEmptyStringPtr", + "StructHeadBytesPtr", + "StructHeadOmitEmptyBytesPtr", + "StructPtrHeadBytesPtr", + "StructPtrHeadOmitEmptyBytesPtr", + "StructHeadNumberPtr", + "StructHeadOmitEmptyNumberPtr", + "StructPtrHeadNumberPtr", + "StructPtrHeadOmitEmptyNumberPtr", + "StructHeadArrayPtr", + "StructHeadOmitEmptyArrayPtr", + "StructPtrHeadArrayPtr", + "StructPtrHeadOmitEmptyArrayPtr", + "StructHeadMapPtr", + "StructHeadOmitEmptyMapPtr", + "StructPtrHeadMapPtr", + "StructPtrHeadOmitEmptyMapPtr", + "StructHeadSlicePtr", + "StructHeadOmitEmptySlicePtr", + "StructPtrHeadSlicePtr", + "StructPtrHeadOmitEmptySlicePtr", + "StructHeadMarshalJSONPtr", + "StructHeadOmitEmptyMarshalJSONPtr", + "StructPtrHeadMarshalJSONPtr", + "StructPtrHeadOmitEmptyMarshalJSONPtr", + "StructHeadMarshalTextPtr", + "StructHeadOmitEmptyMarshalTextPtr", + "StructPtrHeadMarshalTextPtr", + "StructPtrHeadOmitEmptyMarshalTextPtr", + "StructHeadInterfacePtr", + "StructHeadOmitEmptyInterfacePtr", + "StructPtrHeadInterfacePtr", + "StructPtrHeadOmitEmptyInterfacePtr", + "StructHeadIntPtrString", + "StructHeadOmitEmptyIntPtrString", + "StructPtrHeadIntPtrString", + "StructPtrHeadOmitEmptyIntPtrString", + "StructHeadUintPtrString", + "StructHeadOmitEmptyUintPtrString", + "StructPtrHeadUintPtrString", + "StructPtrHeadOmitEmptyUintPtrString", + "StructHeadFloat32PtrString", + "StructHeadOmitEmptyFloat32PtrString", + "StructPtrHeadFloat32PtrString", + "StructPtrHeadOmitEmptyFloat32PtrString", + "StructHeadFloat64PtrString", + "StructHeadOmitEmptyFloat64PtrString", + "StructPtrHeadFloat64PtrString", + "StructPtrHeadOmitEmptyFloat64PtrString", + "StructHeadBoolPtrString", + "StructHeadOmitEmptyBoolPtrString", + "StructPtrHeadBoolPtrString", + "StructPtrHeadOmitEmptyBoolPtrString", + "StructHeadStringPtrString", + "StructHeadOmitEmptyStringPtrString", + "StructPtrHeadStringPtrString", + "StructPtrHeadOmitEmptyStringPtrString", + "StructHeadNumberPtrString", + "StructHeadOmitEmptyNumberPtrString", + "StructPtrHeadNumberPtrString", + "StructPtrHeadOmitEmptyNumberPtrString", + "StructHead", + "StructHeadOmitEmpty", + "StructPtrHead", + "StructPtrHeadOmitEmpty", + "StructFieldInt", + "StructFieldOmitEmptyInt", + "StructEndInt", + "StructEndOmitEmptyInt", + "StructFieldUint", + "StructFieldOmitEmptyUint", + "StructEndUint", + "StructEndOmitEmptyUint", + "StructFieldFloat32", + "StructFieldOmitEmptyFloat32", + "StructEndFloat32", + "StructEndOmitEmptyFloat32", + "StructFieldFloat64", + "StructFieldOmitEmptyFloat64", + "StructEndFloat64", + "StructEndOmitEmptyFloat64", + "StructFieldBool", + "StructFieldOmitEmptyBool", + "StructEndBool", + "StructEndOmitEmptyBool", + "StructFieldString", + "StructFieldOmitEmptyString", + "StructEndString", + "StructEndOmitEmptyString", + "StructFieldBytes", + "StructFieldOmitEmptyBytes", + "StructEndBytes", + "StructEndOmitEmptyBytes", + "StructFieldNumber", + "StructFieldOmitEmptyNumber", + "StructEndNumber", + "StructEndOmitEmptyNumber", + "StructFieldArray", + "StructFieldOmitEmptyArray", + "StructEndArray", + "StructEndOmitEmptyArray", + "StructFieldMap", + "StructFieldOmitEmptyMap", + "StructEndMap", + "StructEndOmitEmptyMap", + "StructFieldSlice", + "StructFieldOmitEmptySlice", + "StructEndSlice", + "StructEndOmitEmptySlice", + "StructFieldStruct", + "StructFieldOmitEmptyStruct", + "StructEndStruct", + "StructEndOmitEmptyStruct", + "StructFieldMarshalJSON", + "StructFieldOmitEmptyMarshalJSON", + "StructEndMarshalJSON", + "StructEndOmitEmptyMarshalJSON", + "StructFieldMarshalText", + "StructFieldOmitEmptyMarshalText", + "StructEndMarshalText", + "StructEndOmitEmptyMarshalText", + "StructFieldIntString", + "StructFieldOmitEmptyIntString", + "StructEndIntString", + "StructEndOmitEmptyIntString", + "StructFieldUintString", + "StructFieldOmitEmptyUintString", + "StructEndUintString", + "StructEndOmitEmptyUintString", + "StructFieldFloat32String", + "StructFieldOmitEmptyFloat32String", + "StructEndFloat32String", + "StructEndOmitEmptyFloat32String", + "StructFieldFloat64String", + "StructFieldOmitEmptyFloat64String", + "StructEndFloat64String", + "StructEndOmitEmptyFloat64String", + "StructFieldBoolString", + "StructFieldOmitEmptyBoolString", + "StructEndBoolString", + "StructEndOmitEmptyBoolString", + "StructFieldStringString", + "StructFieldOmitEmptyStringString", + "StructEndStringString", + "StructEndOmitEmptyStringString", + "StructFieldNumberString", + "StructFieldOmitEmptyNumberString", + "StructEndNumberString", + "StructEndOmitEmptyNumberString", + "StructFieldIntPtr", + "StructFieldOmitEmptyIntPtr", + "StructEndIntPtr", + "StructEndOmitEmptyIntPtr", + "StructFieldUintPtr", + "StructFieldOmitEmptyUintPtr", + "StructEndUintPtr", + "StructEndOmitEmptyUintPtr", + "StructFieldFloat32Ptr", + "StructFieldOmitEmptyFloat32Ptr", + "StructEndFloat32Ptr", + "StructEndOmitEmptyFloat32Ptr", + "StructFieldFloat64Ptr", + "StructFieldOmitEmptyFloat64Ptr", + "StructEndFloat64Ptr", + "StructEndOmitEmptyFloat64Ptr", + "StructFieldBoolPtr", + "StructFieldOmitEmptyBoolPtr", + "StructEndBoolPtr", + "StructEndOmitEmptyBoolPtr", + "StructFieldStringPtr", + "StructFieldOmitEmptyStringPtr", + "StructEndStringPtr", + "StructEndOmitEmptyStringPtr", + "StructFieldBytesPtr", + "StructFieldOmitEmptyBytesPtr", + "StructEndBytesPtr", + "StructEndOmitEmptyBytesPtr", + "StructFieldNumberPtr", + "StructFieldOmitEmptyNumberPtr", + "StructEndNumberPtr", + "StructEndOmitEmptyNumberPtr", + "StructFieldArrayPtr", + "StructFieldOmitEmptyArrayPtr", + "StructEndArrayPtr", + "StructEndOmitEmptyArrayPtr", + "StructFieldMapPtr", + "StructFieldOmitEmptyMapPtr", + "StructEndMapPtr", + "StructEndOmitEmptyMapPtr", + "StructFieldSlicePtr", + "StructFieldOmitEmptySlicePtr", + "StructEndSlicePtr", + "StructEndOmitEmptySlicePtr", + "StructFieldMarshalJSONPtr", + "StructFieldOmitEmptyMarshalJSONPtr", + "StructEndMarshalJSONPtr", + "StructEndOmitEmptyMarshalJSONPtr", + "StructFieldMarshalTextPtr", + "StructFieldOmitEmptyMarshalTextPtr", + "StructEndMarshalTextPtr", + "StructEndOmitEmptyMarshalTextPtr", + "StructFieldInterfacePtr", + "StructFieldOmitEmptyInterfacePtr", + "StructEndInterfacePtr", + "StructEndOmitEmptyInterfacePtr", + "StructFieldIntPtrString", + "StructFieldOmitEmptyIntPtrString", + "StructEndIntPtrString", + "StructEndOmitEmptyIntPtrString", + "StructFieldUintPtrString", + "StructFieldOmitEmptyUintPtrString", + "StructEndUintPtrString", + "StructEndOmitEmptyUintPtrString", + "StructFieldFloat32PtrString", + "StructFieldOmitEmptyFloat32PtrString", + "StructEndFloat32PtrString", + "StructEndOmitEmptyFloat32PtrString", + "StructFieldFloat64PtrString", + "StructFieldOmitEmptyFloat64PtrString", + "StructEndFloat64PtrString", + "StructEndOmitEmptyFloat64PtrString", + "StructFieldBoolPtrString", + "StructFieldOmitEmptyBoolPtrString", + "StructEndBoolPtrString", + "StructEndOmitEmptyBoolPtrString", + "StructFieldStringPtrString", + "StructFieldOmitEmptyStringPtrString", + "StructEndStringPtrString", + "StructEndOmitEmptyStringPtrString", + "StructFieldNumberPtrString", + "StructFieldOmitEmptyNumberPtrString", + "StructEndNumberPtrString", + "StructEndOmitEmptyNumberPtrString", + "StructField", + "StructFieldOmitEmpty", + "StructEnd", + "StructEndOmitEmpty", +} + +type OpType int + +const ( + OpEnd OpType = 0 + OpInterface OpType = 1 + OpPtr OpType = 2 + OpSliceElem OpType = 3 + OpSliceEnd OpType = 4 + OpArrayElem OpType = 5 + OpArrayEnd OpType = 6 + OpMapKey OpType = 7 + OpMapValue OpType = 8 + OpMapEnd OpType = 9 + OpRecursive OpType = 10 + OpRecursivePtr OpType = 11 + OpRecursiveEnd OpType = 12 + OpStructAnonymousEnd OpType = 13 + OpInt OpType = 14 + OpUint OpType = 15 + OpFloat32 OpType = 16 + OpFloat64 OpType = 17 + OpBool OpType = 18 + OpString OpType = 19 + OpBytes OpType = 20 + OpNumber OpType = 21 + OpArray OpType = 22 + OpMap OpType = 23 + OpSlice OpType = 24 + OpStruct OpType = 25 + OpMarshalJSON OpType = 26 + OpMarshalText OpType = 27 + OpIntString OpType = 28 + OpUintString OpType = 29 + OpFloat32String OpType = 30 + OpFloat64String OpType = 31 + OpBoolString OpType = 32 + OpStringString OpType = 33 + OpNumberString OpType = 34 + OpIntPtr OpType = 35 + OpUintPtr OpType = 36 + OpFloat32Ptr OpType = 37 + OpFloat64Ptr OpType = 38 + OpBoolPtr OpType = 39 + OpStringPtr OpType = 40 + OpBytesPtr OpType = 41 + OpNumberPtr OpType = 42 + OpArrayPtr OpType = 43 + OpMapPtr OpType = 44 + OpSlicePtr OpType = 45 + OpMarshalJSONPtr OpType = 46 + OpMarshalTextPtr OpType = 47 + OpInterfacePtr OpType = 48 + OpIntPtrString OpType = 49 + OpUintPtrString OpType = 50 + OpFloat32PtrString OpType = 51 + OpFloat64PtrString OpType = 52 + OpBoolPtrString OpType = 53 + OpStringPtrString OpType = 54 + OpNumberPtrString OpType = 55 + OpStructHeadInt OpType = 56 + OpStructHeadOmitEmptyInt OpType = 57 + OpStructPtrHeadInt OpType = 58 + OpStructPtrHeadOmitEmptyInt OpType = 59 + OpStructHeadUint OpType = 60 + OpStructHeadOmitEmptyUint OpType = 61 + OpStructPtrHeadUint OpType = 62 + OpStructPtrHeadOmitEmptyUint OpType = 63 + OpStructHeadFloat32 OpType = 64 + OpStructHeadOmitEmptyFloat32 OpType = 65 + OpStructPtrHeadFloat32 OpType = 66 + OpStructPtrHeadOmitEmptyFloat32 OpType = 67 + OpStructHeadFloat64 OpType = 68 + OpStructHeadOmitEmptyFloat64 OpType = 69 + OpStructPtrHeadFloat64 OpType = 70 + OpStructPtrHeadOmitEmptyFloat64 OpType = 71 + OpStructHeadBool OpType = 72 + OpStructHeadOmitEmptyBool OpType = 73 + OpStructPtrHeadBool OpType = 74 + OpStructPtrHeadOmitEmptyBool OpType = 75 + OpStructHeadString OpType = 76 + OpStructHeadOmitEmptyString OpType = 77 + OpStructPtrHeadString OpType = 78 + OpStructPtrHeadOmitEmptyString OpType = 79 + OpStructHeadBytes OpType = 80 + OpStructHeadOmitEmptyBytes OpType = 81 + OpStructPtrHeadBytes OpType = 82 + OpStructPtrHeadOmitEmptyBytes OpType = 83 + OpStructHeadNumber OpType = 84 + OpStructHeadOmitEmptyNumber OpType = 85 + OpStructPtrHeadNumber OpType = 86 + OpStructPtrHeadOmitEmptyNumber OpType = 87 + OpStructHeadArray OpType = 88 + OpStructHeadOmitEmptyArray OpType = 89 + OpStructPtrHeadArray OpType = 90 + OpStructPtrHeadOmitEmptyArray OpType = 91 + OpStructHeadMap OpType = 92 + OpStructHeadOmitEmptyMap OpType = 93 + OpStructPtrHeadMap OpType = 94 + OpStructPtrHeadOmitEmptyMap OpType = 95 + OpStructHeadSlice OpType = 96 + OpStructHeadOmitEmptySlice OpType = 97 + OpStructPtrHeadSlice OpType = 98 + OpStructPtrHeadOmitEmptySlice OpType = 99 + OpStructHeadStruct OpType = 100 + OpStructHeadOmitEmptyStruct OpType = 101 + OpStructPtrHeadStruct OpType = 102 + OpStructPtrHeadOmitEmptyStruct OpType = 103 + OpStructHeadMarshalJSON OpType = 104 + OpStructHeadOmitEmptyMarshalJSON OpType = 105 + OpStructPtrHeadMarshalJSON OpType = 106 + OpStructPtrHeadOmitEmptyMarshalJSON OpType = 107 + OpStructHeadMarshalText OpType = 108 + OpStructHeadOmitEmptyMarshalText OpType = 109 + OpStructPtrHeadMarshalText OpType = 110 + OpStructPtrHeadOmitEmptyMarshalText OpType = 111 + OpStructHeadIntString OpType = 112 + OpStructHeadOmitEmptyIntString OpType = 113 + OpStructPtrHeadIntString OpType = 114 + OpStructPtrHeadOmitEmptyIntString OpType = 115 + OpStructHeadUintString OpType = 116 + OpStructHeadOmitEmptyUintString OpType = 117 + OpStructPtrHeadUintString OpType = 118 + OpStructPtrHeadOmitEmptyUintString OpType = 119 + OpStructHeadFloat32String OpType = 120 + OpStructHeadOmitEmptyFloat32String OpType = 121 + OpStructPtrHeadFloat32String OpType = 122 + OpStructPtrHeadOmitEmptyFloat32String OpType = 123 + OpStructHeadFloat64String OpType = 124 + OpStructHeadOmitEmptyFloat64String OpType = 125 + OpStructPtrHeadFloat64String OpType = 126 + OpStructPtrHeadOmitEmptyFloat64String OpType = 127 + OpStructHeadBoolString OpType = 128 + OpStructHeadOmitEmptyBoolString OpType = 129 + OpStructPtrHeadBoolString OpType = 130 + OpStructPtrHeadOmitEmptyBoolString OpType = 131 + OpStructHeadStringString OpType = 132 + OpStructHeadOmitEmptyStringString OpType = 133 + OpStructPtrHeadStringString OpType = 134 + OpStructPtrHeadOmitEmptyStringString OpType = 135 + OpStructHeadNumberString OpType = 136 + OpStructHeadOmitEmptyNumberString OpType = 137 + OpStructPtrHeadNumberString OpType = 138 + OpStructPtrHeadOmitEmptyNumberString OpType = 139 + OpStructHeadIntPtr OpType = 140 + OpStructHeadOmitEmptyIntPtr OpType = 141 + OpStructPtrHeadIntPtr OpType = 142 + OpStructPtrHeadOmitEmptyIntPtr OpType = 143 + OpStructHeadUintPtr OpType = 144 + OpStructHeadOmitEmptyUintPtr OpType = 145 + OpStructPtrHeadUintPtr OpType = 146 + OpStructPtrHeadOmitEmptyUintPtr OpType = 147 + OpStructHeadFloat32Ptr OpType = 148 + OpStructHeadOmitEmptyFloat32Ptr OpType = 149 + OpStructPtrHeadFloat32Ptr OpType = 150 + OpStructPtrHeadOmitEmptyFloat32Ptr OpType = 151 + OpStructHeadFloat64Ptr OpType = 152 + OpStructHeadOmitEmptyFloat64Ptr OpType = 153 + OpStructPtrHeadFloat64Ptr OpType = 154 + OpStructPtrHeadOmitEmptyFloat64Ptr OpType = 155 + OpStructHeadBoolPtr OpType = 156 + OpStructHeadOmitEmptyBoolPtr OpType = 157 + OpStructPtrHeadBoolPtr OpType = 158 + OpStructPtrHeadOmitEmptyBoolPtr OpType = 159 + OpStructHeadStringPtr OpType = 160 + OpStructHeadOmitEmptyStringPtr OpType = 161 + OpStructPtrHeadStringPtr OpType = 162 + OpStructPtrHeadOmitEmptyStringPtr OpType = 163 + OpStructHeadBytesPtr OpType = 164 + OpStructHeadOmitEmptyBytesPtr OpType = 165 + OpStructPtrHeadBytesPtr OpType = 166 + OpStructPtrHeadOmitEmptyBytesPtr OpType = 167 + OpStructHeadNumberPtr OpType = 168 + OpStructHeadOmitEmptyNumberPtr OpType = 169 + OpStructPtrHeadNumberPtr OpType = 170 + OpStructPtrHeadOmitEmptyNumberPtr OpType = 171 + OpStructHeadArrayPtr OpType = 172 + OpStructHeadOmitEmptyArrayPtr OpType = 173 + OpStructPtrHeadArrayPtr OpType = 174 + OpStructPtrHeadOmitEmptyArrayPtr OpType = 175 + OpStructHeadMapPtr OpType = 176 + OpStructHeadOmitEmptyMapPtr OpType = 177 + OpStructPtrHeadMapPtr OpType = 178 + OpStructPtrHeadOmitEmptyMapPtr OpType = 179 + OpStructHeadSlicePtr OpType = 180 + OpStructHeadOmitEmptySlicePtr OpType = 181 + OpStructPtrHeadSlicePtr OpType = 182 + OpStructPtrHeadOmitEmptySlicePtr OpType = 183 + OpStructHeadMarshalJSONPtr OpType = 184 + OpStructHeadOmitEmptyMarshalJSONPtr OpType = 185 + OpStructPtrHeadMarshalJSONPtr OpType = 186 + OpStructPtrHeadOmitEmptyMarshalJSONPtr OpType = 187 + OpStructHeadMarshalTextPtr OpType = 188 + OpStructHeadOmitEmptyMarshalTextPtr OpType = 189 + OpStructPtrHeadMarshalTextPtr OpType = 190 + OpStructPtrHeadOmitEmptyMarshalTextPtr OpType = 191 + OpStructHeadInterfacePtr OpType = 192 + OpStructHeadOmitEmptyInterfacePtr OpType = 193 + OpStructPtrHeadInterfacePtr OpType = 194 + OpStructPtrHeadOmitEmptyInterfacePtr OpType = 195 + OpStructHeadIntPtrString OpType = 196 + OpStructHeadOmitEmptyIntPtrString OpType = 197 + OpStructPtrHeadIntPtrString OpType = 198 + OpStructPtrHeadOmitEmptyIntPtrString OpType = 199 + OpStructHeadUintPtrString OpType = 200 + OpStructHeadOmitEmptyUintPtrString OpType = 201 + OpStructPtrHeadUintPtrString OpType = 202 + OpStructPtrHeadOmitEmptyUintPtrString OpType = 203 + OpStructHeadFloat32PtrString OpType = 204 + OpStructHeadOmitEmptyFloat32PtrString OpType = 205 + OpStructPtrHeadFloat32PtrString OpType = 206 + OpStructPtrHeadOmitEmptyFloat32PtrString OpType = 207 + OpStructHeadFloat64PtrString OpType = 208 + OpStructHeadOmitEmptyFloat64PtrString OpType = 209 + OpStructPtrHeadFloat64PtrString OpType = 210 + OpStructPtrHeadOmitEmptyFloat64PtrString OpType = 211 + OpStructHeadBoolPtrString OpType = 212 + OpStructHeadOmitEmptyBoolPtrString OpType = 213 + OpStructPtrHeadBoolPtrString OpType = 214 + OpStructPtrHeadOmitEmptyBoolPtrString OpType = 215 + OpStructHeadStringPtrString OpType = 216 + OpStructHeadOmitEmptyStringPtrString OpType = 217 + OpStructPtrHeadStringPtrString OpType = 218 + OpStructPtrHeadOmitEmptyStringPtrString OpType = 219 + OpStructHeadNumberPtrString OpType = 220 + OpStructHeadOmitEmptyNumberPtrString OpType = 221 + OpStructPtrHeadNumberPtrString OpType = 222 + OpStructPtrHeadOmitEmptyNumberPtrString OpType = 223 + OpStructHead OpType = 224 + OpStructHeadOmitEmpty OpType = 225 + OpStructPtrHead OpType = 226 + OpStructPtrHeadOmitEmpty OpType = 227 + OpStructFieldInt OpType = 228 + OpStructFieldOmitEmptyInt OpType = 229 + OpStructEndInt OpType = 230 + OpStructEndOmitEmptyInt OpType = 231 + OpStructFieldUint OpType = 232 + OpStructFieldOmitEmptyUint OpType = 233 + OpStructEndUint OpType = 234 + OpStructEndOmitEmptyUint OpType = 235 + OpStructFieldFloat32 OpType = 236 + OpStructFieldOmitEmptyFloat32 OpType = 237 + OpStructEndFloat32 OpType = 238 + OpStructEndOmitEmptyFloat32 OpType = 239 + OpStructFieldFloat64 OpType = 240 + OpStructFieldOmitEmptyFloat64 OpType = 241 + OpStructEndFloat64 OpType = 242 + OpStructEndOmitEmptyFloat64 OpType = 243 + OpStructFieldBool OpType = 244 + OpStructFieldOmitEmptyBool OpType = 245 + OpStructEndBool OpType = 246 + OpStructEndOmitEmptyBool OpType = 247 + OpStructFieldString OpType = 248 + OpStructFieldOmitEmptyString OpType = 249 + OpStructEndString OpType = 250 + OpStructEndOmitEmptyString OpType = 251 + OpStructFieldBytes OpType = 252 + OpStructFieldOmitEmptyBytes OpType = 253 + OpStructEndBytes OpType = 254 + OpStructEndOmitEmptyBytes OpType = 255 + OpStructFieldNumber OpType = 256 + OpStructFieldOmitEmptyNumber OpType = 257 + OpStructEndNumber OpType = 258 + OpStructEndOmitEmptyNumber OpType = 259 + OpStructFieldArray OpType = 260 + OpStructFieldOmitEmptyArray OpType = 261 + OpStructEndArray OpType = 262 + OpStructEndOmitEmptyArray OpType = 263 + OpStructFieldMap OpType = 264 + OpStructFieldOmitEmptyMap OpType = 265 + OpStructEndMap OpType = 266 + OpStructEndOmitEmptyMap OpType = 267 + OpStructFieldSlice OpType = 268 + OpStructFieldOmitEmptySlice OpType = 269 + OpStructEndSlice OpType = 270 + OpStructEndOmitEmptySlice OpType = 271 + OpStructFieldStruct OpType = 272 + OpStructFieldOmitEmptyStruct OpType = 273 + OpStructEndStruct OpType = 274 + OpStructEndOmitEmptyStruct OpType = 275 + OpStructFieldMarshalJSON OpType = 276 + OpStructFieldOmitEmptyMarshalJSON OpType = 277 + OpStructEndMarshalJSON OpType = 278 + OpStructEndOmitEmptyMarshalJSON OpType = 279 + OpStructFieldMarshalText OpType = 280 + OpStructFieldOmitEmptyMarshalText OpType = 281 + OpStructEndMarshalText OpType = 282 + OpStructEndOmitEmptyMarshalText OpType = 283 + OpStructFieldIntString OpType = 284 + OpStructFieldOmitEmptyIntString OpType = 285 + OpStructEndIntString OpType = 286 + OpStructEndOmitEmptyIntString OpType = 287 + OpStructFieldUintString OpType = 288 + OpStructFieldOmitEmptyUintString OpType = 289 + OpStructEndUintString OpType = 290 + OpStructEndOmitEmptyUintString OpType = 291 + OpStructFieldFloat32String OpType = 292 + OpStructFieldOmitEmptyFloat32String OpType = 293 + OpStructEndFloat32String OpType = 294 + OpStructEndOmitEmptyFloat32String OpType = 295 + OpStructFieldFloat64String OpType = 296 + OpStructFieldOmitEmptyFloat64String OpType = 297 + OpStructEndFloat64String OpType = 298 + OpStructEndOmitEmptyFloat64String OpType = 299 + OpStructFieldBoolString OpType = 300 + OpStructFieldOmitEmptyBoolString OpType = 301 + OpStructEndBoolString OpType = 302 + OpStructEndOmitEmptyBoolString OpType = 303 + OpStructFieldStringString OpType = 304 + OpStructFieldOmitEmptyStringString OpType = 305 + OpStructEndStringString OpType = 306 + OpStructEndOmitEmptyStringString OpType = 307 + OpStructFieldNumberString OpType = 308 + OpStructFieldOmitEmptyNumberString OpType = 309 + OpStructEndNumberString OpType = 310 + OpStructEndOmitEmptyNumberString OpType = 311 + OpStructFieldIntPtr OpType = 312 + OpStructFieldOmitEmptyIntPtr OpType = 313 + OpStructEndIntPtr OpType = 314 + OpStructEndOmitEmptyIntPtr OpType = 315 + OpStructFieldUintPtr OpType = 316 + OpStructFieldOmitEmptyUintPtr OpType = 317 + OpStructEndUintPtr OpType = 318 + OpStructEndOmitEmptyUintPtr OpType = 319 + OpStructFieldFloat32Ptr OpType = 320 + OpStructFieldOmitEmptyFloat32Ptr OpType = 321 + OpStructEndFloat32Ptr OpType = 322 + OpStructEndOmitEmptyFloat32Ptr OpType = 323 + OpStructFieldFloat64Ptr OpType = 324 + OpStructFieldOmitEmptyFloat64Ptr OpType = 325 + OpStructEndFloat64Ptr OpType = 326 + OpStructEndOmitEmptyFloat64Ptr OpType = 327 + OpStructFieldBoolPtr OpType = 328 + OpStructFieldOmitEmptyBoolPtr OpType = 329 + OpStructEndBoolPtr OpType = 330 + OpStructEndOmitEmptyBoolPtr OpType = 331 + OpStructFieldStringPtr OpType = 332 + OpStructFieldOmitEmptyStringPtr OpType = 333 + OpStructEndStringPtr OpType = 334 + OpStructEndOmitEmptyStringPtr OpType = 335 + OpStructFieldBytesPtr OpType = 336 + OpStructFieldOmitEmptyBytesPtr OpType = 337 + OpStructEndBytesPtr OpType = 338 + OpStructEndOmitEmptyBytesPtr OpType = 339 + OpStructFieldNumberPtr OpType = 340 + OpStructFieldOmitEmptyNumberPtr OpType = 341 + OpStructEndNumberPtr OpType = 342 + OpStructEndOmitEmptyNumberPtr OpType = 343 + OpStructFieldArrayPtr OpType = 344 + OpStructFieldOmitEmptyArrayPtr OpType = 345 + OpStructEndArrayPtr OpType = 346 + OpStructEndOmitEmptyArrayPtr OpType = 347 + OpStructFieldMapPtr OpType = 348 + OpStructFieldOmitEmptyMapPtr OpType = 349 + OpStructEndMapPtr OpType = 350 + OpStructEndOmitEmptyMapPtr OpType = 351 + OpStructFieldSlicePtr OpType = 352 + OpStructFieldOmitEmptySlicePtr OpType = 353 + OpStructEndSlicePtr OpType = 354 + OpStructEndOmitEmptySlicePtr OpType = 355 + OpStructFieldMarshalJSONPtr OpType = 356 + OpStructFieldOmitEmptyMarshalJSONPtr OpType = 357 + OpStructEndMarshalJSONPtr OpType = 358 + OpStructEndOmitEmptyMarshalJSONPtr OpType = 359 + OpStructFieldMarshalTextPtr OpType = 360 + OpStructFieldOmitEmptyMarshalTextPtr OpType = 361 + OpStructEndMarshalTextPtr OpType = 362 + OpStructEndOmitEmptyMarshalTextPtr OpType = 363 + OpStructFieldInterfacePtr OpType = 364 + OpStructFieldOmitEmptyInterfacePtr OpType = 365 + OpStructEndInterfacePtr OpType = 366 + OpStructEndOmitEmptyInterfacePtr OpType = 367 + OpStructFieldIntPtrString OpType = 368 + OpStructFieldOmitEmptyIntPtrString OpType = 369 + OpStructEndIntPtrString OpType = 370 + OpStructEndOmitEmptyIntPtrString OpType = 371 + OpStructFieldUintPtrString OpType = 372 + OpStructFieldOmitEmptyUintPtrString OpType = 373 + OpStructEndUintPtrString OpType = 374 + OpStructEndOmitEmptyUintPtrString OpType = 375 + OpStructFieldFloat32PtrString OpType = 376 + OpStructFieldOmitEmptyFloat32PtrString OpType = 377 + OpStructEndFloat32PtrString OpType = 378 + OpStructEndOmitEmptyFloat32PtrString OpType = 379 + OpStructFieldFloat64PtrString OpType = 380 + OpStructFieldOmitEmptyFloat64PtrString OpType = 381 + OpStructEndFloat64PtrString OpType = 382 + OpStructEndOmitEmptyFloat64PtrString OpType = 383 + OpStructFieldBoolPtrString OpType = 384 + OpStructFieldOmitEmptyBoolPtrString OpType = 385 + OpStructEndBoolPtrString OpType = 386 + OpStructEndOmitEmptyBoolPtrString OpType = 387 + OpStructFieldStringPtrString OpType = 388 + OpStructFieldOmitEmptyStringPtrString OpType = 389 + OpStructEndStringPtrString OpType = 390 + OpStructEndOmitEmptyStringPtrString OpType = 391 + OpStructFieldNumberPtrString OpType = 392 + OpStructFieldOmitEmptyNumberPtrString OpType = 393 + OpStructEndNumberPtrString OpType = 394 + OpStructEndOmitEmptyNumberPtrString OpType = 395 + OpStructField OpType = 396 + OpStructFieldOmitEmpty OpType = 397 + OpStructEnd OpType = 398 + OpStructEndOmitEmpty OpType = 399 +) + +func (t OpType) String() string { + if int(t) >= 400 { + return "" + } + return opTypeStrings[int(t)] +} + +func (t OpType) CodeType() CodeType { + if strings.Contains(t.String(), "Struct") { + if strings.Contains(t.String(), "End") { + return CodeStructEnd + } + return CodeStructField + } + switch t { + case OpArray, OpArrayPtr: + return CodeArrayHead + case OpArrayElem: + return CodeArrayElem + case OpSlice, OpSlicePtr: + return CodeSliceHead + case OpSliceElem: + return CodeSliceElem + case OpMap, OpMapPtr: + return CodeMapHead + case OpMapKey: + return CodeMapKey + case OpMapValue: + return CodeMapValue + case OpMapEnd: + return CodeMapEnd + } + + return CodeOp +} + +func (t OpType) HeadToPtrHead() OpType { + if strings.Index(t.String(), "PtrHead") > 0 { + return t + } + + idx := strings.Index(t.String(), "Head") + if idx == -1 { + return t + } + suffix := "PtrHead" + t.String()[idx+len("Head"):] + + const toPtrOffset = 2 + if strings.Contains(OpType(int(t)+toPtrOffset).String(), suffix) { + return OpType(int(t) + toPtrOffset) + } + return t +} + +func (t OpType) HeadToOmitEmptyHead() OpType { + const toOmitEmptyOffset = 1 + if strings.Contains(OpType(int(t)+toOmitEmptyOffset).String(), "OmitEmpty") { + return OpType(int(t) + toOmitEmptyOffset) + } + + return t +} + +func (t OpType) PtrHeadToHead() OpType { + idx := strings.Index(t.String(), "Ptr") + if idx == -1 { + return t + } + suffix := t.String()[idx+len("Ptr"):] + + const toPtrOffset = 2 + if strings.Contains(OpType(int(t)-toPtrOffset).String(), suffix) { + return OpType(int(t) - toPtrOffset) + } + return t +} + +func (t OpType) FieldToEnd() OpType { + idx := strings.Index(t.String(), "Field") + if idx == -1 { + return t + } + suffix := t.String()[idx+len("Field"):] + if suffix == "" || suffix == "OmitEmpty" { + return t + } + const toEndOffset = 2 + if strings.Contains(OpType(int(t)+toEndOffset).String(), "End"+suffix) { + return OpType(int(t) + toEndOffset) + } + return t +} + +func (t OpType) FieldToOmitEmptyField() OpType { + const toOmitEmptyOffset = 1 + if strings.Contains(OpType(int(t)+toOmitEmptyOffset).String(), "OmitEmpty") { + return OpType(int(t) + toOmitEmptyOffset) + } + return t +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/string.go b/vendor/github.com/goccy/go-json/internal/encoder/string.go new file mode 100644 index 000000000..26da31a5e --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/string.go @@ -0,0 +1,637 @@ +package encoder + +import ( + "math/bits" + "reflect" + "unicode/utf8" + "unsafe" +) + +const ( + lsb = 0x0101010101010101 + msb = 0x8080808080808080 +) + +var needEscapeWithHTML = [256]bool{ + '"': true, + '&': true, + '<': true, + '>': true, + '\\': true, + 0x00: true, + 0x01: true, + 0x02: true, + 0x03: true, + 0x04: true, + 0x05: true, + 0x06: true, + 0x07: true, + 0x08: true, + 0x09: true, + 0x0a: true, + 0x0b: true, + 0x0c: true, + 0x0d: true, + 0x0e: true, + 0x0f: true, + 0x10: true, + 0x11: true, + 0x12: true, + 0x13: true, + 0x14: true, + 0x15: true, + 0x16: true, + 0x17: true, + 0x18: true, + 0x19: true, + 0x1a: true, + 0x1b: true, + 0x1c: true, + 0x1d: true, + 0x1e: true, + 0x1f: true, + /* 0x20 - 0x7f */ + 0x80: true, + 0x81: true, + 0x82: true, + 0x83: true, + 0x84: true, + 0x85: true, + 0x86: true, + 0x87: true, + 0x88: true, + 0x89: true, + 0x8a: true, + 0x8b: true, + 0x8c: true, + 0x8d: true, + 0x8e: true, + 0x8f: true, + 0x90: true, + 0x91: true, + 0x92: true, + 0x93: true, + 0x94: true, + 0x95: true, + 0x96: true, + 0x97: true, + 0x98: true, + 0x99: true, + 0x9a: true, + 0x9b: true, + 0x9c: true, + 0x9d: true, + 0x9e: true, + 0x9f: true, + 0xa0: true, + 0xa1: true, + 0xa2: true, + 0xa3: true, + 0xa4: true, + 0xa5: true, + 0xa6: true, + 0xa7: true, + 0xa8: true, + 0xa9: true, + 0xaa: true, + 0xab: true, + 0xac: true, + 0xad: true, + 0xae: true, + 0xaf: true, + 0xb0: true, + 0xb1: true, + 0xb2: true, + 0xb3: true, + 0xb4: true, + 0xb5: true, + 0xb6: true, + 0xb7: true, + 0xb8: true, + 0xb9: true, + 0xba: true, + 0xbb: true, + 0xbc: true, + 0xbd: true, + 0xbe: true, + 0xbf: true, + 0xc0: true, + 0xc1: true, + 0xc2: true, + 0xc3: true, + 0xc4: true, + 0xc5: true, + 0xc6: true, + 0xc7: true, + 0xc8: true, + 0xc9: true, + 0xca: true, + 0xcb: true, + 0xcc: true, + 0xcd: true, + 0xce: true, + 0xcf: true, + 0xd0: true, + 0xd1: true, + 0xd2: true, + 0xd3: true, + 0xd4: true, + 0xd5: true, + 0xd6: true, + 0xd7: true, + 0xd8: true, + 0xd9: true, + 0xda: true, + 0xdb: true, + 0xdc: true, + 0xdd: true, + 0xde: true, + 0xdf: true, + 0xe0: true, + 0xe1: true, + 0xe2: true, + 0xe3: true, + 0xe4: true, + 0xe5: true, + 0xe6: true, + 0xe7: true, + 0xe8: true, + 0xe9: true, + 0xea: true, + 0xeb: true, + 0xec: true, + 0xed: true, + 0xee: true, + 0xef: true, + 0xf0: true, + 0xf1: true, + 0xf2: true, + 0xf3: true, + 0xf4: true, + 0xf5: true, + 0xf6: true, + 0xf7: true, + 0xf8: true, + 0xf9: true, + 0xfa: true, + 0xfb: true, + 0xfc: true, + 0xfd: true, + 0xfe: true, + 0xff: true, +} + +var needEscape = [256]bool{ + '"': true, + '\\': true, + 0x00: true, + 0x01: true, + 0x02: true, + 0x03: true, + 0x04: true, + 0x05: true, + 0x06: true, + 0x07: true, + 0x08: true, + 0x09: true, + 0x0a: true, + 0x0b: true, + 0x0c: true, + 0x0d: true, + 0x0e: true, + 0x0f: true, + 0x10: true, + 0x11: true, + 0x12: true, + 0x13: true, + 0x14: true, + 0x15: true, + 0x16: true, + 0x17: true, + 0x18: true, + 0x19: true, + 0x1a: true, + 0x1b: true, + 0x1c: true, + 0x1d: true, + 0x1e: true, + 0x1f: true, + /* 0x20 - 0x7f */ + 0x80: true, + 0x81: true, + 0x82: true, + 0x83: true, + 0x84: true, + 0x85: true, + 0x86: true, + 0x87: true, + 0x88: true, + 0x89: true, + 0x8a: true, + 0x8b: true, + 0x8c: true, + 0x8d: true, + 0x8e: true, + 0x8f: true, + 0x90: true, + 0x91: true, + 0x92: true, + 0x93: true, + 0x94: true, + 0x95: true, + 0x96: true, + 0x97: true, + 0x98: true, + 0x99: true, + 0x9a: true, + 0x9b: true, + 0x9c: true, + 0x9d: true, + 0x9e: true, + 0x9f: true, + 0xa0: true, + 0xa1: true, + 0xa2: true, + 0xa3: true, + 0xa4: true, + 0xa5: true, + 0xa6: true, + 0xa7: true, + 0xa8: true, + 0xa9: true, + 0xaa: true, + 0xab: true, + 0xac: true, + 0xad: true, + 0xae: true, + 0xaf: true, + 0xb0: true, + 0xb1: true, + 0xb2: true, + 0xb3: true, + 0xb4: true, + 0xb5: true, + 0xb6: true, + 0xb7: true, + 0xb8: true, + 0xb9: true, + 0xba: true, + 0xbb: true, + 0xbc: true, + 0xbd: true, + 0xbe: true, + 0xbf: true, + 0xc0: true, + 0xc1: true, + 0xc2: true, + 0xc3: true, + 0xc4: true, + 0xc5: true, + 0xc6: true, + 0xc7: true, + 0xc8: true, + 0xc9: true, + 0xca: true, + 0xcb: true, + 0xcc: true, + 0xcd: true, + 0xce: true, + 0xcf: true, + 0xd0: true, + 0xd1: true, + 0xd2: true, + 0xd3: true, + 0xd4: true, + 0xd5: true, + 0xd6: true, + 0xd7: true, + 0xd8: true, + 0xd9: true, + 0xda: true, + 0xdb: true, + 0xdc: true, + 0xdd: true, + 0xde: true, + 0xdf: true, + 0xe0: true, + 0xe1: true, + 0xe2: true, + 0xe3: true, + 0xe4: true, + 0xe5: true, + 0xe6: true, + 0xe7: true, + 0xe8: true, + 0xe9: true, + 0xea: true, + 0xeb: true, + 0xec: true, + 0xed: true, + 0xee: true, + 0xef: true, + 0xf0: true, + 0xf1: true, + 0xf2: true, + 0xf3: true, + 0xf4: true, + 0xf5: true, + 0xf6: true, + 0xf7: true, + 0xf8: true, + 0xf9: true, + 0xfa: true, + 0xfb: true, + 0xfc: true, + 0xfd: true, + 0xfe: true, + 0xff: true, +} + +var hex = "0123456789abcdef" + +// escapeIndex finds the index of the first char in `s` that requires escaping. +// A char requires escaping if it's outside of the range of [0x20, 0x7F] or if +// it includes a double quote or backslash. +// If no chars in `s` require escaping, the return value is -1. +func escapeIndex(s string) int { + chunks := stringToUint64Slice(s) + for _, n := range chunks { + // combine masks before checking for the MSB of each byte. We include + // `n` in the mask to check whether any of the *input* byte MSBs were + // set (i.e. the byte was outside the ASCII range). + mask := n | below(n, 0x20) | contains(n, '"') | contains(n, '\\') + if (mask & msb) != 0 { + return bits.TrailingZeros64(mask&msb) / 8 + } + } + + valLen := len(s) + for i := len(chunks) * 8; i < valLen; i++ { + if needEscape[s[i]] { + return i + } + } + + return -1 +} + +// below return a mask that can be used to determine if any of the bytes +// in `n` are below `b`. If a byte's MSB is set in the mask then that byte was +// below `b`. The result is only valid if `b`, and each byte in `n`, is below +// 0x80. +func below(n uint64, b byte) uint64 { + return n - expand(b) +} + +// contains returns a mask that can be used to determine if any of the +// bytes in `n` are equal to `b`. If a byte's MSB is set in the mask then +// that byte is equal to `b`. The result is only valid if `b`, and each +// byte in `n`, is below 0x80. +func contains(n uint64, b byte) uint64 { + return (n ^ expand(b)) - lsb +} + +// expand puts the specified byte into each of the 8 bytes of a uint64. +func expand(b byte) uint64 { + return lsb * uint64(b) +} + +//nolint:govet +func stringToUint64Slice(s string) []uint64 { + return *(*[]uint64)(unsafe.Pointer(&reflect.SliceHeader{ + Data: ((*reflect.StringHeader)(unsafe.Pointer(&s))).Data, + Len: len(s) / 8, + Cap: len(s) / 8, + })) +} + +func AppendEscapedString(buf []byte, s string) []byte { + valLen := len(s) + if valLen == 0 { + return append(buf, `""`...) + } + buf = append(buf, '"') + var ( + i, j int + ) + if valLen >= 8 { + chunks := stringToUint64Slice(s) + for _, n := range chunks { + // combine masks before checking for the MSB of each byte. We include + // `n` in the mask to check whether any of the *input* byte MSBs were + // set (i.e. the byte was outside the ASCII range). + mask := n | (n - (lsb * 0x20)) | + ((n ^ (lsb * '"')) - lsb) | + ((n ^ (lsb * '\\')) - lsb) | + ((n ^ (lsb * '<')) - lsb) | + ((n ^ (lsb * '>')) - lsb) | + ((n ^ (lsb * '&')) - lsb) + if (mask & msb) != 0 { + j = bits.TrailingZeros64(mask&msb) / 8 + goto ESCAPE_END + } + } + for i := len(chunks) * 8; i < valLen; i++ { + if needEscapeWithHTML[s[i]] { + j = i + goto ESCAPE_END + } + } + // no found any escape characters. + return append(append(buf, s...), '"') + } +ESCAPE_END: + for j < valLen { + c := s[j] + + if !needEscapeWithHTML[c] { + // fast path: most of the time, printable ascii characters are used + j++ + continue + } + + switch c { + case '\\', '"': + buf = append(buf, s[i:j]...) + buf = append(buf, '\\', c) + i = j + 1 + j = j + 1 + continue + + case '\n': + buf = append(buf, s[i:j]...) + buf = append(buf, '\\', 'n') + i = j + 1 + j = j + 1 + continue + + case '\r': + buf = append(buf, s[i:j]...) + buf = append(buf, '\\', 'r') + i = j + 1 + j = j + 1 + continue + + case '\t': + buf = append(buf, s[i:j]...) + buf = append(buf, '\\', 't') + i = j + 1 + j = j + 1 + continue + + case '<', '>', '&': + buf = append(buf, s[i:j]...) + buf = append(buf, `\u00`...) + buf = append(buf, hex[c>>4], hex[c&0xF]) + i = j + 1 + j = j + 1 + continue + } + + // This encodes bytes < 0x20 except for \t, \n and \r. + if c < 0x20 { + buf = append(buf, s[i:j]...) + buf = append(buf, `\u00`...) + buf = append(buf, hex[c>>4], hex[c&0xF]) + i = j + 1 + j = j + 1 + continue + } + + r, size := utf8.DecodeRuneInString(s[j:]) + + if r == utf8.RuneError && size == 1 { + buf = append(buf, s[i:j]...) + buf = append(buf, `\ufffd`...) + i = j + size + j = j + size + continue + } + + switch r { + case '\u2028', '\u2029': + // U+2028 is LINE SEPARATOR. + // U+2029 is PARAGRAPH SEPARATOR. + // They are both technically valid characters in JSON strings, + // but don't work in JSONP, which has to be evaluated as JavaScript, + // and can lead to security holes there. It is valid JSON to + // escape them, so we do so unconditionally. + // See http://timelessrepo.com/json-isnt-a-javascript-subset for discussion. + buf = append(buf, s[i:j]...) + buf = append(buf, `\u202`...) + buf = append(buf, hex[r&0xF]) + i = j + size + j = j + size + continue + } + + j += size + } + + return append(append(buf, s[i:]...), '"') +} + +func AppendString(buf []byte, s string) []byte { + valLen := len(s) + if valLen == 0 { + return append(buf, `""`...) + } + buf = append(buf, '"') + var escapeIdx int + if valLen >= 8 { + if escapeIdx = escapeIndex(s); escapeIdx < 0 { + return append(append(buf, s...), '"') + } + } + + i := 0 + j := escapeIdx + for j < valLen { + c := s[j] + + if c >= 0x20 && c <= 0x7f && c != '\\' && c != '"' { + // fast path: most of the time, printable ascii characters are used + j++ + continue + } + + switch c { + case '\\', '"': + buf = append(buf, s[i:j]...) + buf = append(buf, '\\', c) + i = j + 1 + j = j + 1 + continue + + case '\n': + buf = append(buf, s[i:j]...) + buf = append(buf, '\\', 'n') + i = j + 1 + j = j + 1 + continue + + case '\r': + buf = append(buf, s[i:j]...) + buf = append(buf, '\\', 'r') + i = j + 1 + j = j + 1 + continue + + case '\t': + buf = append(buf, s[i:j]...) + buf = append(buf, '\\', 't') + i = j + 1 + j = j + 1 + continue + + case '<', '>', '&': + buf = append(buf, s[i:j]...) + buf = append(buf, `\u00`...) + buf = append(buf, hex[c>>4], hex[c&0xF]) + i = j + 1 + j = j + 1 + continue + } + + // This encodes bytes < 0x20 except for \t, \n and \r. + if c < 0x20 { + buf = append(buf, s[i:j]...) + buf = append(buf, `\u00`...) + buf = append(buf, hex[c>>4], hex[c&0xF]) + i = j + 1 + j = j + 1 + continue + } + + r, size := utf8.DecodeRuneInString(s[j:]) + + if r == utf8.RuneError && size == 1 { + buf = append(buf, s[i:j]...) + buf = append(buf, `\ufffd`...) + i = j + size + j = j + size + continue + } + + switch r { + case '\u2028', '\u2029': + // U+2028 is LINE SEPARATOR. + // U+2029 is PARAGRAPH SEPARATOR. + // They are both technically valid characters in JSON strings, + // but don't work in JSONP, which has to be evaluated as JavaScript, + // and can lead to security holes there. It is valid JSON to + // escape them, so we do so unconditionally. + // See http://timelessrepo.com/json-isnt-a-javascript-subset for discussion. + buf = append(buf, s[i:j]...) + buf = append(buf, `\u202`...) + buf = append(buf, hex[r&0xF]) + i = j + size + j = j + size + continue + } + + j += size + } + + return append(append(buf, s[i:]...), '"') +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go b/vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go new file mode 100644 index 000000000..43525e1f5 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go @@ -0,0 +1,27 @@ +package vm + +import ( + "fmt" + + "github.com/goccy/go-json/internal/encoder" +) + +func DebugRun(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt encoder.Option) ([]byte, error) { + defer func() { + if err := recover(); err != nil { + fmt.Println("=============[DEBUG]===============") + fmt.Println("* [TYPE]") + fmt.Println(codeSet.Type) + fmt.Printf("\n") + fmt.Println("* [ALL OPCODE]") + fmt.Println(codeSet.Code.Dump()) + fmt.Printf("\n") + fmt.Println("* [CONTEXT]") + fmt.Printf("%+v\n", ctx) + fmt.Println("===================================") + panic(err) + } + }() + + return Run(ctx, b, codeSet, opt) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go b/vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go new file mode 100644 index 000000000..ec24ee32e --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go @@ -0,0 +1,9 @@ +package vm + +import ( + // HACK: compile order + // `vm`, `vm_escaped`, `vm_indent`, `vm_escaped_indent` packages uses a lot of memory to compile, + // so forcibly make dependencies and avoid compiling in concurrent. + // dependency order: vm => vm_escaped => vm_indent => vm_escaped_indent + _ "github.com/goccy/go-json/internal/encoder/vm_escaped" +) diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm/util.go b/vendor/github.com/goccy/go-json/internal/encoder/vm/util.go new file mode 100644 index 000000000..01e608f52 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm/util.go @@ -0,0 +1,215 @@ +package vm + +import ( + "encoding/json" + "fmt" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" + "github.com/goccy/go-json/internal/runtime" +) + +const uintptrSize = 4 << (^uintptr(0) >> 63) + +var ( + appendInt = encoder.AppendInt + appendUint = encoder.AppendUint + appendFloat32 = encoder.AppendFloat32 + appendFloat64 = encoder.AppendFloat64 + appendString = encoder.AppendString + appendByteSlice = encoder.AppendByteSlice + appendNumber = encoder.AppendNumber + errUnsupportedValue = encoder.ErrUnsupportedValue + errUnsupportedFloat = encoder.ErrUnsupportedFloat + mapiterinit = encoder.MapIterInit + mapiterkey = encoder.MapIterKey + mapitervalue = encoder.MapIterValue + mapiternext = encoder.MapIterNext + maplen = encoder.MapLen +) + +type emptyInterface struct { + typ *runtime.Type + ptr unsafe.Pointer +} + +func errUnimplementedOp(op encoder.OpType) error { + return fmt.Errorf("encoder: opcode %s has not been implemented", op) +} + +func load(base uintptr, idx uintptr) uintptr { + addr := base + idx + return **(**uintptr)(unsafe.Pointer(&addr)) +} + +func store(base uintptr, idx uintptr, p uintptr) { + addr := base + idx + **(**uintptr)(unsafe.Pointer(&addr)) = p +} + +func loadNPtr(base uintptr, idx uintptr, ptrNum int) uintptr { + addr := base + idx + p := **(**uintptr)(unsafe.Pointer(&addr)) + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = ptrToPtr(p) + } + return p +} + +func ptrToUint64(p uintptr) uint64 { return **(**uint64)(unsafe.Pointer(&p)) } +func ptrToFloat32(p uintptr) float32 { return **(**float32)(unsafe.Pointer(&p)) } +func ptrToFloat64(p uintptr) float64 { return **(**float64)(unsafe.Pointer(&p)) } +func ptrToBool(p uintptr) bool { return **(**bool)(unsafe.Pointer(&p)) } +func ptrToBytes(p uintptr) []byte { return **(**[]byte)(unsafe.Pointer(&p)) } +func ptrToNumber(p uintptr) json.Number { return **(**json.Number)(unsafe.Pointer(&p)) } +func ptrToString(p uintptr) string { return **(**string)(unsafe.Pointer(&p)) } +func ptrToSlice(p uintptr) *runtime.SliceHeader { return *(**runtime.SliceHeader)(unsafe.Pointer(&p)) } +func ptrToPtr(p uintptr) uintptr { + return uintptr(**(**unsafe.Pointer)(unsafe.Pointer(&p))) +} +func ptrToNPtr(p uintptr, ptrNum int) uintptr { + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = ptrToPtr(p) + } + return p +} + +func ptrToUnsafePtr(p uintptr) unsafe.Pointer { + return *(*unsafe.Pointer)(unsafe.Pointer(&p)) +} +func ptrToInterface(code *encoder.Opcode, p uintptr) interface{} { + return *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: code.Type, + ptr: *(*unsafe.Pointer)(unsafe.Pointer(&p)), + })) +} + +func appendBool(b []byte, v bool) []byte { + if v { + return append(b, "true"...) + } + return append(b, "false"...) +} + +func appendNull(b []byte) []byte { + return append(b, "null"...) +} + +func appendComma(b []byte) []byte { + return append(b, ',') +} + +func appendColon(b []byte) []byte { + last := len(b) - 1 + b[last] = ':' + return b +} + +func appendMapKeyValue(_ *encoder.RuntimeContext, _ *encoder.Opcode, b, key, value []byte) []byte { + b = append(b, key...) + b[len(b)-1] = ':' + return append(b, value...) +} + +func appendMapEnd(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + b[len(b)-1] = '}' + b = append(b, ',') + return b +} + +func appendInterface(ctx *encoder.RuntimeContext, codeSet *encoder.OpcodeSet, opt encoder.Option, _ *encoder.Opcode, b []byte, iface *emptyInterface, ptrOffset uintptr) ([]byte, error) { + ctx.KeepRefs = append(ctx.KeepRefs, unsafe.Pointer(iface)) + ifaceCodeSet, err := encoder.CompileToGetCodeSet(uintptr(unsafe.Pointer(iface.typ))) + if err != nil { + return nil, err + } + + totalLength := uintptr(codeSet.CodeLength) + nextTotalLength := uintptr(ifaceCodeSet.CodeLength) + + curlen := uintptr(len(ctx.Ptrs)) + offsetNum := ptrOffset / uintptrSize + + newLen := offsetNum + totalLength + nextTotalLength + if curlen < newLen { + ctx.Ptrs = append(ctx.Ptrs, make([]uintptr, newLen-curlen)...) + } + oldPtrs := ctx.Ptrs + + newPtrs := ctx.Ptrs[(ptrOffset+totalLength*uintptrSize)/uintptrSize:] + newPtrs[0] = uintptr(iface.ptr) + + ctx.Ptrs = newPtrs + + bb, err := Run(ctx, b, ifaceCodeSet, opt) + if err != nil { + return nil, err + } + + ctx.Ptrs = oldPtrs + return bb, nil +} + +func appendMarshalJSON(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte, v interface{}) ([]byte, error) { + return encoder.AppendMarshalJSON(ctx, code, b, v, false) +} + +func appendMarshalText(code *encoder.Opcode, b []byte, v interface{}) ([]byte, error) { + return encoder.AppendMarshalText(code, b, v, false) +} + +func appendArrayHead(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + return append(b, '[') +} + +func appendArrayEnd(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + b[last] = ']' + return append(b, ',') +} + +func appendEmptyArray(b []byte) []byte { + return append(b, '[', ']', ',') +} + +func appendEmptyObject(b []byte) []byte { + return append(b, '{', '}', ',') +} + +func appendObjectEnd(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + b[last] = '}' + return append(b, ',') +} + +func appendStructHead(b []byte) []byte { + return append(b, '{') +} + +func appendStructKey(_ *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + return append(b, code.Key...) +} + +func appendStructEnd(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + return append(b, '}', ',') +} + +func appendStructEndSkipLast(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + if b[last] == ',' { + b[last] = '}' + return appendComma(b) + } + return appendStructEnd(ctx, code, b) +} + +func restoreIndent(_ *encoder.RuntimeContext, _ *encoder.Opcode, _ uintptr) {} +func storeIndent(_ uintptr, _ *encoder.Opcode, _ uintptr) {} +func appendMapKeyIndent(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { return b } +func appendArrayElemIndent(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { return b } diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go b/vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go new file mode 100644 index 000000000..952236425 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go @@ -0,0 +1,4993 @@ +// Code generated by internal/cmd/generator. DO NOT EDIT! +package vm + +import ( + "math" + "sort" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" +) + +func Run(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt encoder.Option) ([]byte, error) { + recursiveLevel := 0 + ptrOffset := uintptr(0) + ctxptr := ctx.Ptr() + code := codeSet.Code + + for { + switch code.Op { + default: + return nil, errUnimplementedOp(code.Op) + case encoder.OpPtr: + p := load(ctxptr, code.Idx) + code = code.Next + store(ctxptr, code.Idx, ptrToPtr(p)) + case encoder.OpIntPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpInt: + b = appendInt(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = appendComma(b) + code = code.Next + case encoder.OpUintPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpUint: + b = appendUint(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = appendComma(b) + code = code.Next + case encoder.OpIntString: + b = append(b, '"') + b = appendInt(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpUintString: + b = append(b, '"') + b = appendUint(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpFloat32Ptr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpFloat32: + b = appendFloat32(b, ptrToFloat32(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpFloat64Ptr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpFloat64: + v := ptrToFloat64(load(ctxptr, code.Idx)) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStringPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpString: + b = appendString(b, ptrToString(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpBoolPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpBool: + b = appendBool(b, ptrToBool(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpBytesPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpBytes: + b = appendByteSlice(b, ptrToBytes(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpNumberPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpNumber: + bb, err := appendNumber(b, ptrToNumber(load(ctxptr, code.Idx))) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpInterfacePtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpInterface: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + for _, seen := range ctx.SeenPtr { + if p == seen { + return nil, errUnsupportedValue(code, p) + } + } + ctx.SeenPtr = append(ctx.SeenPtr, p) + iface := (*emptyInterface)(ptrToUnsafePtr(p)) + if iface.ptr == nil { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + bb, err := appendInterface(ctx, codeSet, opt, code, b, iface, ptrOffset) + if err != nil { + return nil, err + } + ctxptr = ctx.Ptr() + ctx.SeenPtr = ctx.SeenPtr[:len(ctx.SeenPtr)-1] + + b = bb + code = code.Next + case encoder.OpMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToPtr(p)) + fallthrough + case encoder.OpMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + if code.IsNilableType && code.Indirect { + p = ptrToPtr(p) + } + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToPtr(p)) + fallthrough + case encoder.OpMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + b = append(b, `""`...) + b = appendComma(b) + code = code.Next + break + } + if code.IsNilableType && code.Indirect { + p = ptrToPtr(p) + } + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpSlicePtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpSlice: + p := load(ctxptr, code.Idx) + slice := ptrToSlice(p) + if p == 0 || slice.Data == nil { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.ElemIdx, 0) + store(ctxptr, code.Length, uintptr(slice.Len)) + store(ctxptr, code.Idx, uintptr(slice.Data)) + if slice.Len > 0 { + b = appendArrayHead(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, uintptr(slice.Data)) + } else { + b = appendEmptyArray(b) + code = code.End.Next + } + case encoder.OpSliceElem: + idx := load(ctxptr, code.ElemIdx) + length := load(ctxptr, code.Length) + idx++ + if idx < length { + b = appendArrayElemIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + data := load(ctxptr, code.HeadIdx) + size := code.Size + code = code.Next + store(ctxptr, code.Idx, data+idx*size) + } else { + b = appendArrayEnd(ctx, code, b) + code = code.End.Next + } + case encoder.OpArrayPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpArray: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + if code.Length > 0 { + b = appendArrayHead(ctx, code, b) + store(ctxptr, code.ElemIdx, 0) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + b = appendEmptyArray(b) + code = code.End.Next + } + case encoder.OpArrayElem: + idx := load(ctxptr, code.ElemIdx) + idx++ + if idx < code.Length { + b = appendArrayElemIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + p := load(ctxptr, code.HeadIdx) + size := code.Size + code = code.Next + store(ctxptr, code.Idx, p+idx*size) + } else { + b = appendArrayEnd(ctx, code, b) + code = code.End.Next + } + case encoder.OpMapPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpMap: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + uptr := ptrToUnsafePtr(p) + mlen := maplen(uptr) + if mlen <= 0 { + b = appendEmptyObject(b) + code = code.End.Next + break + } + b = appendStructHead(b) + iter := mapiterinit(code.Type, uptr) + ctx.KeepRefs = append(ctx.KeepRefs, iter) + store(ctxptr, code.ElemIdx, 0) + store(ctxptr, code.Length, uintptr(mlen)) + store(ctxptr, code.MapIter, uintptr(iter)) + if (opt & encoder.UnorderedMapOption) == 0 { + mapCtx := encoder.NewMapContext(mlen) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + ctx.KeepRefs = append(ctx.KeepRefs, unsafe.Pointer(mapCtx)) + store(ctxptr, code.End.MapPos, uintptr(unsafe.Pointer(mapCtx))) + } else { + b = appendMapKeyIndent(ctx, code.Next, b) + } + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + case encoder.OpMapKey: + idx := load(ctxptr, code.ElemIdx) + length := load(ctxptr, code.Length) + idx++ + if (opt & encoder.UnorderedMapOption) != 0 { + if idx < length { + b = appendMapKeyIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + } else { + b = appendObjectEnd(ctx, code, b) + code = code.End.Next + } + } else { + ptr := load(ctxptr, code.End.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + if idx < length { + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + store(ctxptr, code.ElemIdx, idx) + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + } else { + code = code.End + } + } + case encoder.OpMapValue: + if (opt & encoder.UnorderedMapOption) != 0 { + b = appendColon(b) + } else { + ptr := load(ctxptr, code.End.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + } + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + value := mapitervalue(iter) + store(ctxptr, code.Next.Idx, uintptr(value)) + mapiternext(iter) + code = code.Next + case encoder.OpMapEnd: + // this operation only used by sorted map. + length := int(load(ctxptr, code.Length)) + ptr := load(ctxptr, code.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + pos := mapCtx.Pos + for i := 0; i < length; i++ { + startKey := pos[i*2] + startValue := pos[i*2+1] + var endValue int + if i+1 < length { + endValue = pos[i*2+2] + } else { + endValue = len(b) + } + mapCtx.Slice.Items = append(mapCtx.Slice.Items, encoder.MapItem{ + Key: b[startKey:startValue], + Value: b[startValue:endValue], + }) + } + sort.Sort(mapCtx.Slice) + buf := mapCtx.Buf + for _, item := range mapCtx.Slice.Items { + buf = appendMapKeyValue(ctx, code, buf, item.Key, item.Value) + } + buf = appendMapEnd(ctx, code, buf) + b = b[:pos[0]] + b = append(b, buf...) + mapCtx.Buf = buf + encoder.ReleaseMapContext(mapCtx) + code = code.Next + case encoder.OpRecursivePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpRecursive: + ptr := load(ctxptr, code.Idx) + if ptr != 0 { + if recursiveLevel > encoder.StartDetectingCyclesAfter { + for _, seen := range ctx.SeenPtr { + if ptr == seen { + return nil, errUnsupportedValue(code, ptr) + } + } + } + } + ctx.SeenPtr = append(ctx.SeenPtr, ptr) + c := code.Jmp.Code + curlen := uintptr(len(ctx.Ptrs)) + offsetNum := ptrOffset / uintptrSize + oldOffset := ptrOffset + ptrOffset += code.Jmp.CurLen * uintptrSize + oldBaseIndent := ctx.BaseIndent + ctx.BaseIndent += code.Indent - 1 + + newLen := offsetNum + code.Jmp.CurLen + code.Jmp.NextLen + if curlen < newLen { + ctx.Ptrs = append(ctx.Ptrs, make([]uintptr, newLen-curlen)...) + } + ctxptr = ctx.Ptr() + ptrOffset // assign new ctxptr + + store(ctxptr, c.Idx, ptr) + store(ctxptr, c.End.Next.Idx, oldOffset) + store(ctxptr, c.End.Next.ElemIdx, uintptr(unsafe.Pointer(code.Next))) + storeIndent(ctxptr, c, uintptr(oldBaseIndent)) + code = c + recursiveLevel++ + case encoder.OpRecursiveEnd: + recursiveLevel-- + + // restore ctxptr + restoreIndent(ctx, code, ctxptr) + offset := load(ctxptr, code.Idx) + ctx.SeenPtr = ctx.SeenPtr[:len(ctx.SeenPtr)-1] + + codePtr := load(ctxptr, code.ElemIdx) + code = (*encoder.Opcode)(ptrToUnsafePtr(codePtr)) + ctxptr = ctx.Ptr() + offset + ptrOffset = offset + case encoder.OpStructPtrHead: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHead: + p := load(ctxptr, code.Idx) + if p == 0 && (code.Indirect || code.Next.Op == encoder.OpStructEnd) { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if !code.AnonymousKey && len(code.Key) > 0 { + b = appendStructKey(ctx, code, b) + } + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmpty: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmpty: + p := load(ctxptr, code.Idx) + if p == 0 && (code.Indirect || code.Next.Op == encoder.OpStructEnd) { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + if p == 0 || (ptrToPtr(p) == 0 && code.IsNextOpPtrType) { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadInt: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadInt: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyInt: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyInt: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadIntString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadIntString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyIntString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadUint: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadUint: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUint: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyUint: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadUintString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadUintString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyUintString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat32: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat32: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat32(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat32String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat32String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat32(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat64: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat64: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat64String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat64String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToString(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadStringString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadStringString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p+code.Offset)))) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyStringString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToString(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBool: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBool: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBool: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBool: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendComma(b) + code = code.Next + } else { + code = code.NextField + } + case encoder.OpStructPtrHeadBoolString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBoolString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBoolString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } else { + code = code.NextField + } + case encoder.OpStructPtrHeadBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBytes: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBytes: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBytes: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBytes: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBytes(p + code.Offset) + if len(v) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadNumber: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadNumber: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumber: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyNumber: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToNumber(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + } + case encoder.OpStructPtrHeadNumberString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadNumberString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyNumberString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToNumber(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructPtrHeadNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadArray, encoder.OpStructPtrHeadSlice: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadArray, encoder.OpStructHeadSlice: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptyArray: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyArray: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptySlice: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptySlice: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + slice := ptrToSlice(p) + if slice.Len == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadArrayPtr, encoder.OpStructPtrHeadSlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadArrayPtr, encoder.OpStructHeadSlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + } else { + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadOmitEmptyArrayPtr, encoder.OpStructPtrHeadOmitEmptySlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyArrayPtr, encoder.OpStructHeadOmitEmptySlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMap: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMap: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if p != 0 && code.Indirect { + p = ptrToPtr(p + code.Offset) + } + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptyMap: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMap: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p != 0 && code.Indirect { + p = ptrToPtr(p + code.Offset) + } + if maplen(ptrToUnsafePtr(p)) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + break + } + p = ptrToPtr(p + code.Offset) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + } else { + if code.Indirect { + p = ptrToNPtr(p, code.PtrNum) + } + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadOmitEmptyMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + break + } + p = ptrToPtr(p + code.Offset) + if p == 0 { + code = code.NextField + } else { + if code.Indirect { + p = ptrToNPtr(p, code.PtrNum) + } + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadMarshalJSON { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadOmitEmptyMarshalJSON { + p = ptrToPtr(p + code.Offset) + } + } + iface := ptrToInterface(code, p) + if code.Nilcheck && encoder.IsNilForMarshaler(iface) { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, iface) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadMarshalText { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadOmitEmptyMarshalText { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructField: + if !code.AnonymousKey { + b = appendStructKey(ctx, code, b) + } + p := load(ctxptr, code.HeadIdx) + code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmpty: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if ptrToPtr(p) == 0 && code.IsNextOpPtrType { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldInt: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyInt: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUint: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUint: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32String: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringString: + p := load(ctxptr, code.HeadIdx) + s := ptrToString(p + code.Offset) + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, s))) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBool: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBool: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolString: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBytes: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBytes: + p := load(ctxptr, code.HeadIdx) + v := ptrToBytes(p + code.Offset) + if len(v) > 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldNumber: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumber: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldNumberString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberString: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldMarshalJSON: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalJSON: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + code = code.NextField + break + } + iface := ptrToInterface(code, p) + if code.Nilcheck && encoder.IsNilForMarshaler(iface) { + code = code.NextField + break + } + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, iface) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldMarshalJSONPtr: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldMarshalText: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalText: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + code = code.NextField + break + } + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldMarshalTextPtr: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldArray: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyArray: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldArrayPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyArrayPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldSlice: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptySlice: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + slice := ptrToSlice(p) + if slice.Len == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldSlicePtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptySlicePtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldMap: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyMap: + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p == 0 || maplen(ptrToUnsafePtr(p)) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldMapPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p != 0 { + p = ptrToNPtr(p, code.PtrNum) + } + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyMapPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p != 0 { + p = ptrToNPtr(p, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldStruct: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyStruct: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if ptrToPtr(p) == 0 && code.IsNextOpPtrType { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructAnonymousEnd: + code = code.Next + case encoder.OpStructEnd: + b = appendStructEndSkipLast(ctx, code, b) + code = code.Next + case encoder.OpStructEndInt: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyInt: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUint: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUint: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32String: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32Ptr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32PtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64Ptr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendStructEnd(ctx, code, b) + code = code.Next + break + } + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64PtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + s := ptrToString(p + code.Offset) + b = appendString(b, string(appendString([]byte{}, s))) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBool: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBool: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolString: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBytes: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBytes: + p := load(ctxptr, code.HeadIdx) + v := ptrToBytes(p + code.Offset) + if len(v) > 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBytesPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumber: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + code = code.Next + case encoder.OpStructEndOmitEmptyNumber: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberString: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpEnd: + goto END + } + } +END: + return b, nil +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/debug_vm.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/debug_vm.go new file mode 100644 index 000000000..0139f5755 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/debug_vm.go @@ -0,0 +1,27 @@ +package vm_escaped + +import ( + "fmt" + + "github.com/goccy/go-json/internal/encoder" +) + +func DebugRun(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt encoder.Option) ([]byte, error) { + defer func() { + if err := recover(); err != nil { + fmt.Println("=============[DEBUG]===============") + fmt.Println("* [TYPE]") + fmt.Println(codeSet.Type) + fmt.Printf("\n") + fmt.Println("* [ALL OPCODE]") + fmt.Println(codeSet.Code.Dump()) + fmt.Printf("\n") + fmt.Println("* [CONTEXT]") + fmt.Printf("%+v\n", ctx) + fmt.Println("===================================") + panic(err) + } + }() + + return Run(ctx, b, codeSet, opt) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/hack.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/hack.go new file mode 100644 index 000000000..3ac51dda3 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/hack.go @@ -0,0 +1,9 @@ +package vm_escaped + +import ( + // HACK: compile order + // `vm`, `vm_escaped`, `vm_indent`, `vm_escaped_indent` packages uses a lot of memory to compile, + // so forcibly make dependencies and avoid compiling in concurrent. + // dependency order: vm => vm_escaped => vm_indent => vm_escaped_indent + _ "github.com/goccy/go-json/internal/encoder/vm_indent" +) diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/util.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/util.go new file mode 100644 index 000000000..129eb2cfa --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/util.go @@ -0,0 +1,215 @@ +package vm_escaped + +import ( + "encoding/json" + "fmt" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" + "github.com/goccy/go-json/internal/runtime" +) + +const uintptrSize = 4 << (^uintptr(0) >> 63) + +var ( + appendInt = encoder.AppendInt + appendUint = encoder.AppendUint + appendFloat32 = encoder.AppendFloat32 + appendFloat64 = encoder.AppendFloat64 + appendString = encoder.AppendEscapedString + appendByteSlice = encoder.AppendByteSlice + appendNumber = encoder.AppendNumber + errUnsupportedValue = encoder.ErrUnsupportedValue + errUnsupportedFloat = encoder.ErrUnsupportedFloat + mapiterinit = encoder.MapIterInit + mapiterkey = encoder.MapIterKey + mapitervalue = encoder.MapIterValue + mapiternext = encoder.MapIterNext + maplen = encoder.MapLen +) + +type emptyInterface struct { + typ *runtime.Type + ptr unsafe.Pointer +} + +func errUnimplementedOp(op encoder.OpType) error { + return fmt.Errorf("encoder (escaped): opcode %s has not been implemented", op) +} + +func load(base uintptr, idx uintptr) uintptr { + addr := base + idx + return **(**uintptr)(unsafe.Pointer(&addr)) +} + +func store(base uintptr, idx uintptr, p uintptr) { + addr := base + idx + **(**uintptr)(unsafe.Pointer(&addr)) = p +} + +func loadNPtr(base uintptr, idx uintptr, ptrNum int) uintptr { + addr := base + idx + p := **(**uintptr)(unsafe.Pointer(&addr)) + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = ptrToPtr(p) + } + return p +} + +func ptrToUint64(p uintptr) uint64 { return **(**uint64)(unsafe.Pointer(&p)) } +func ptrToFloat32(p uintptr) float32 { return **(**float32)(unsafe.Pointer(&p)) } +func ptrToFloat64(p uintptr) float64 { return **(**float64)(unsafe.Pointer(&p)) } +func ptrToBool(p uintptr) bool { return **(**bool)(unsafe.Pointer(&p)) } +func ptrToBytes(p uintptr) []byte { return **(**[]byte)(unsafe.Pointer(&p)) } +func ptrToNumber(p uintptr) json.Number { return **(**json.Number)(unsafe.Pointer(&p)) } +func ptrToString(p uintptr) string { return **(**string)(unsafe.Pointer(&p)) } +func ptrToSlice(p uintptr) *runtime.SliceHeader { return *(**runtime.SliceHeader)(unsafe.Pointer(&p)) } +func ptrToPtr(p uintptr) uintptr { + return uintptr(**(**unsafe.Pointer)(unsafe.Pointer(&p))) +} +func ptrToNPtr(p uintptr, ptrNum int) uintptr { + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = ptrToPtr(p) + } + return p +} + +func ptrToUnsafePtr(p uintptr) unsafe.Pointer { + return *(*unsafe.Pointer)(unsafe.Pointer(&p)) +} +func ptrToInterface(code *encoder.Opcode, p uintptr) interface{} { + return *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: code.Type, + ptr: *(*unsafe.Pointer)(unsafe.Pointer(&p)), + })) +} + +func appendBool(b []byte, v bool) []byte { + if v { + return append(b, "true"...) + } + return append(b, "false"...) +} + +func appendNull(b []byte) []byte { + return append(b, "null"...) +} + +func appendComma(b []byte) []byte { + return append(b, ',') +} + +func appendColon(b []byte) []byte { + last := len(b) - 1 + b[last] = ':' + return b +} + +func appendMapKeyValue(_ *encoder.RuntimeContext, _ *encoder.Opcode, b, key, value []byte) []byte { + b = append(b, key...) + b[len(b)-1] = ':' + return append(b, value...) +} + +func appendMapEnd(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + b[len(b)-1] = '}' + b = append(b, ',') + return b +} + +func appendInterface(ctx *encoder.RuntimeContext, codeSet *encoder.OpcodeSet, opt encoder.Option, _ *encoder.Opcode, b []byte, iface *emptyInterface, ptrOffset uintptr) ([]byte, error) { + ctx.KeepRefs = append(ctx.KeepRefs, unsafe.Pointer(iface)) + ifaceCodeSet, err := encoder.CompileToGetCodeSet(uintptr(unsafe.Pointer(iface.typ))) + if err != nil { + return nil, err + } + + totalLength := uintptr(codeSet.CodeLength) + nextTotalLength := uintptr(ifaceCodeSet.CodeLength) + + curlen := uintptr(len(ctx.Ptrs)) + offsetNum := ptrOffset / uintptrSize + + newLen := offsetNum + totalLength + nextTotalLength + if curlen < newLen { + ctx.Ptrs = append(ctx.Ptrs, make([]uintptr, newLen-curlen)...) + } + oldPtrs := ctx.Ptrs + + newPtrs := ctx.Ptrs[(ptrOffset+totalLength*uintptrSize)/uintptrSize:] + newPtrs[0] = uintptr(iface.ptr) + + ctx.Ptrs = newPtrs + + bb, err := Run(ctx, b, ifaceCodeSet, opt) + if err != nil { + return nil, err + } + + ctx.Ptrs = oldPtrs + return bb, nil +} + +func appendMarshalJSON(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte, v interface{}) ([]byte, error) { + return encoder.AppendMarshalJSON(ctx, code, b, v, true) +} + +func appendMarshalText(code *encoder.Opcode, b []byte, v interface{}) ([]byte, error) { + return encoder.AppendMarshalText(code, b, v, true) +} + +func appendArrayHead(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + return append(b, '[') +} + +func appendArrayEnd(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + b[last] = ']' + return append(b, ',') +} + +func appendEmptyArray(b []byte) []byte { + return append(b, '[', ']', ',') +} + +func appendEmptyObject(b []byte) []byte { + return append(b, '{', '}', ',') +} + +func appendObjectEnd(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + b[last] = '}' + return append(b, ',') +} + +func appendStructHead(b []byte) []byte { + return append(b, '{') +} + +func appendStructKey(_ *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + return append(b, code.EscapedKey...) +} + +func appendStructEnd(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { + return append(b, '}', ',') +} + +func appendStructEndSkipLast(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + if b[last] == ',' { + b[last] = '}' + return appendComma(b) + } + return appendStructEnd(ctx, code, b) +} + +func restoreIndent(_ *encoder.RuntimeContext, _ *encoder.Opcode, _ uintptr) {} +func storeIndent(_ uintptr, _ *encoder.Opcode, _ uintptr) {} +func appendMapKeyIndent(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { return b } +func appendArrayElemIndent(_ *encoder.RuntimeContext, _ *encoder.Opcode, b []byte) []byte { return b } diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/vm.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/vm.go new file mode 100644 index 000000000..03d5b4e95 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped/vm.go @@ -0,0 +1,4993 @@ +// Code generated by internal/cmd/generator. DO NOT EDIT! +package vm_escaped + +import ( + "math" + "sort" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" +) + +func Run(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt encoder.Option) ([]byte, error) { + recursiveLevel := 0 + ptrOffset := uintptr(0) + ctxptr := ctx.Ptr() + code := codeSet.Code + + for { + switch code.Op { + default: + return nil, errUnimplementedOp(code.Op) + case encoder.OpPtr: + p := load(ctxptr, code.Idx) + code = code.Next + store(ctxptr, code.Idx, ptrToPtr(p)) + case encoder.OpIntPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpInt: + b = appendInt(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = appendComma(b) + code = code.Next + case encoder.OpUintPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpUint: + b = appendUint(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = appendComma(b) + code = code.Next + case encoder.OpIntString: + b = append(b, '"') + b = appendInt(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpUintString: + b = append(b, '"') + b = appendUint(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpFloat32Ptr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpFloat32: + b = appendFloat32(b, ptrToFloat32(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpFloat64Ptr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpFloat64: + v := ptrToFloat64(load(ctxptr, code.Idx)) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStringPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpString: + b = appendString(b, ptrToString(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpBoolPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpBool: + b = appendBool(b, ptrToBool(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpBytesPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpBytes: + b = appendByteSlice(b, ptrToBytes(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpNumberPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpNumber: + bb, err := appendNumber(b, ptrToNumber(load(ctxptr, code.Idx))) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpInterfacePtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpInterface: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + for _, seen := range ctx.SeenPtr { + if p == seen { + return nil, errUnsupportedValue(code, p) + } + } + ctx.SeenPtr = append(ctx.SeenPtr, p) + iface := (*emptyInterface)(ptrToUnsafePtr(p)) + if iface.ptr == nil { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + bb, err := appendInterface(ctx, codeSet, opt, code, b, iface, ptrOffset) + if err != nil { + return nil, err + } + ctxptr = ctx.Ptr() + ctx.SeenPtr = ctx.SeenPtr[:len(ctx.SeenPtr)-1] + + b = bb + code = code.Next + case encoder.OpMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToPtr(p)) + fallthrough + case encoder.OpMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + if code.IsNilableType && code.Indirect { + p = ptrToPtr(p) + } + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToPtr(p)) + fallthrough + case encoder.OpMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + b = append(b, `""`...) + b = appendComma(b) + code = code.Next + break + } + if code.IsNilableType && code.Indirect { + p = ptrToPtr(p) + } + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpSlicePtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpSlice: + p := load(ctxptr, code.Idx) + slice := ptrToSlice(p) + if p == 0 || slice.Data == nil { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.ElemIdx, 0) + store(ctxptr, code.Length, uintptr(slice.Len)) + store(ctxptr, code.Idx, uintptr(slice.Data)) + if slice.Len > 0 { + b = appendArrayHead(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, uintptr(slice.Data)) + } else { + b = appendEmptyArray(b) + code = code.End.Next + } + case encoder.OpSliceElem: + idx := load(ctxptr, code.ElemIdx) + length := load(ctxptr, code.Length) + idx++ + if idx < length { + b = appendArrayElemIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + data := load(ctxptr, code.HeadIdx) + size := code.Size + code = code.Next + store(ctxptr, code.Idx, data+idx*size) + } else { + b = appendArrayEnd(ctx, code, b) + code = code.End.Next + } + case encoder.OpArrayPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpArray: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + if code.Length > 0 { + b = appendArrayHead(ctx, code, b) + store(ctxptr, code.ElemIdx, 0) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + b = appendEmptyArray(b) + code = code.End.Next + } + case encoder.OpArrayElem: + idx := load(ctxptr, code.ElemIdx) + idx++ + if idx < code.Length { + b = appendArrayElemIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + p := load(ctxptr, code.HeadIdx) + size := code.Size + code = code.Next + store(ctxptr, code.Idx, p+idx*size) + } else { + b = appendArrayEnd(ctx, code, b) + code = code.End.Next + } + case encoder.OpMapPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpMap: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + uptr := ptrToUnsafePtr(p) + mlen := maplen(uptr) + if mlen <= 0 { + b = appendEmptyObject(b) + code = code.End.Next + break + } + b = appendStructHead(b) + iter := mapiterinit(code.Type, uptr) + ctx.KeepRefs = append(ctx.KeepRefs, iter) + store(ctxptr, code.ElemIdx, 0) + store(ctxptr, code.Length, uintptr(mlen)) + store(ctxptr, code.MapIter, uintptr(iter)) + if (opt & encoder.UnorderedMapOption) == 0 { + mapCtx := encoder.NewMapContext(mlen) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + ctx.KeepRefs = append(ctx.KeepRefs, unsafe.Pointer(mapCtx)) + store(ctxptr, code.End.MapPos, uintptr(unsafe.Pointer(mapCtx))) + } else { + b = appendMapKeyIndent(ctx, code.Next, b) + } + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + case encoder.OpMapKey: + idx := load(ctxptr, code.ElemIdx) + length := load(ctxptr, code.Length) + idx++ + if (opt & encoder.UnorderedMapOption) != 0 { + if idx < length { + b = appendMapKeyIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + } else { + b = appendObjectEnd(ctx, code, b) + code = code.End.Next + } + } else { + ptr := load(ctxptr, code.End.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + if idx < length { + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + store(ctxptr, code.ElemIdx, idx) + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + } else { + code = code.End + } + } + case encoder.OpMapValue: + if (opt & encoder.UnorderedMapOption) != 0 { + b = appendColon(b) + } else { + ptr := load(ctxptr, code.End.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + } + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + value := mapitervalue(iter) + store(ctxptr, code.Next.Idx, uintptr(value)) + mapiternext(iter) + code = code.Next + case encoder.OpMapEnd: + // this operation only used by sorted map. + length := int(load(ctxptr, code.Length)) + ptr := load(ctxptr, code.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + pos := mapCtx.Pos + for i := 0; i < length; i++ { + startKey := pos[i*2] + startValue := pos[i*2+1] + var endValue int + if i+1 < length { + endValue = pos[i*2+2] + } else { + endValue = len(b) + } + mapCtx.Slice.Items = append(mapCtx.Slice.Items, encoder.MapItem{ + Key: b[startKey:startValue], + Value: b[startValue:endValue], + }) + } + sort.Sort(mapCtx.Slice) + buf := mapCtx.Buf + for _, item := range mapCtx.Slice.Items { + buf = appendMapKeyValue(ctx, code, buf, item.Key, item.Value) + } + buf = appendMapEnd(ctx, code, buf) + b = b[:pos[0]] + b = append(b, buf...) + mapCtx.Buf = buf + encoder.ReleaseMapContext(mapCtx) + code = code.Next + case encoder.OpRecursivePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpRecursive: + ptr := load(ctxptr, code.Idx) + if ptr != 0 { + if recursiveLevel > encoder.StartDetectingCyclesAfter { + for _, seen := range ctx.SeenPtr { + if ptr == seen { + return nil, errUnsupportedValue(code, ptr) + } + } + } + } + ctx.SeenPtr = append(ctx.SeenPtr, ptr) + c := code.Jmp.Code + curlen := uintptr(len(ctx.Ptrs)) + offsetNum := ptrOffset / uintptrSize + oldOffset := ptrOffset + ptrOffset += code.Jmp.CurLen * uintptrSize + oldBaseIndent := ctx.BaseIndent + ctx.BaseIndent += code.Indent - 1 + + newLen := offsetNum + code.Jmp.CurLen + code.Jmp.NextLen + if curlen < newLen { + ctx.Ptrs = append(ctx.Ptrs, make([]uintptr, newLen-curlen)...) + } + ctxptr = ctx.Ptr() + ptrOffset // assign new ctxptr + + store(ctxptr, c.Idx, ptr) + store(ctxptr, c.End.Next.Idx, oldOffset) + store(ctxptr, c.End.Next.ElemIdx, uintptr(unsafe.Pointer(code.Next))) + storeIndent(ctxptr, c, uintptr(oldBaseIndent)) + code = c + recursiveLevel++ + case encoder.OpRecursiveEnd: + recursiveLevel-- + + // restore ctxptr + restoreIndent(ctx, code, ctxptr) + offset := load(ctxptr, code.Idx) + ctx.SeenPtr = ctx.SeenPtr[:len(ctx.SeenPtr)-1] + + codePtr := load(ctxptr, code.ElemIdx) + code = (*encoder.Opcode)(ptrToUnsafePtr(codePtr)) + ctxptr = ctx.Ptr() + offset + ptrOffset = offset + case encoder.OpStructPtrHead: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHead: + p := load(ctxptr, code.Idx) + if p == 0 && (code.Indirect || code.Next.Op == encoder.OpStructEnd) { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if !code.AnonymousKey && len(code.Key) > 0 { + b = appendStructKey(ctx, code, b) + } + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmpty: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmpty: + p := load(ctxptr, code.Idx) + if p == 0 && (code.Indirect || code.Next.Op == encoder.OpStructEnd) { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + if p == 0 || (ptrToPtr(p) == 0 && code.IsNextOpPtrType) { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadInt: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadInt: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyInt: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyInt: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadIntString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadIntString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyIntString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadUint: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadUint: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUint: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyUint: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadUintString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadUintString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyUintString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat32: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat32: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat32(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat32String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat32String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat32(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat64: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat64: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat64String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat64String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToString(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadStringString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadStringString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p+code.Offset)))) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyStringString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToString(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBool: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBool: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBool: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBool: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendComma(b) + code = code.Next + } else { + code = code.NextField + } + case encoder.OpStructPtrHeadBoolString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBoolString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBoolString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } else { + code = code.NextField + } + case encoder.OpStructPtrHeadBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBytes: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBytes: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBytes: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBytes: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBytes(p + code.Offset) + if len(v) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadNumber: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadNumber: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumber: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyNumber: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToNumber(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + } + case encoder.OpStructPtrHeadNumberString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadNumberString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyNumberString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToNumber(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructPtrHeadNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadArray, encoder.OpStructPtrHeadSlice: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadArray, encoder.OpStructHeadSlice: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptyArray: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyArray: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptySlice: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptySlice: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + slice := ptrToSlice(p) + if slice.Len == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadArrayPtr, encoder.OpStructPtrHeadSlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadArrayPtr, encoder.OpStructHeadSlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + } else { + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadOmitEmptyArrayPtr, encoder.OpStructPtrHeadOmitEmptySlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyArrayPtr, encoder.OpStructHeadOmitEmptySlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMap: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMap: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if p != 0 && code.Indirect { + p = ptrToPtr(p + code.Offset) + } + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptyMap: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMap: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p != 0 && code.Indirect { + p = ptrToPtr(p + code.Offset) + } + if maplen(ptrToUnsafePtr(p)) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + break + } + p = ptrToPtr(p + code.Offset) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + } else { + if code.Indirect { + p = ptrToNPtr(p, code.PtrNum) + } + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadOmitEmptyMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + break + } + p = ptrToPtr(p + code.Offset) + if p == 0 { + code = code.NextField + } else { + if code.Indirect { + p = ptrToNPtr(p, code.PtrNum) + } + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadMarshalJSON { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadOmitEmptyMarshalJSON { + p = ptrToPtr(p + code.Offset) + } + } + iface := ptrToInterface(code, p) + if code.Nilcheck && encoder.IsNilForMarshaler(iface) { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, iface) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadMarshalText { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadOmitEmptyMarshalText { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructField: + if !code.AnonymousKey { + b = appendStructKey(ctx, code, b) + } + p := load(ctxptr, code.HeadIdx) + code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmpty: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if ptrToPtr(p) == 0 && code.IsNextOpPtrType { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldInt: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyInt: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUint: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUint: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32String: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringString: + p := load(ctxptr, code.HeadIdx) + s := ptrToString(p + code.Offset) + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, s))) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBool: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBool: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolString: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBytes: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBytes: + p := load(ctxptr, code.HeadIdx) + v := ptrToBytes(p + code.Offset) + if len(v) > 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldNumber: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumber: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldNumberString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberString: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldMarshalJSON: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalJSON: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + code = code.NextField + break + } + iface := ptrToInterface(code, p) + if code.Nilcheck && encoder.IsNilForMarshaler(iface) { + code = code.NextField + break + } + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, iface) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldMarshalJSONPtr: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldMarshalText: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalText: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + code = code.NextField + break + } + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldMarshalTextPtr: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldArray: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyArray: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldArrayPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyArrayPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldSlice: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptySlice: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + slice := ptrToSlice(p) + if slice.Len == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldSlicePtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptySlicePtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldMap: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyMap: + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p == 0 || maplen(ptrToUnsafePtr(p)) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldMapPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p != 0 { + p = ptrToNPtr(p, code.PtrNum) + } + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyMapPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p != 0 { + p = ptrToNPtr(p, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldStruct: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyStruct: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if ptrToPtr(p) == 0 && code.IsNextOpPtrType { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructAnonymousEnd: + code = code.Next + case encoder.OpStructEnd: + b = appendStructEndSkipLast(ctx, code, b) + code = code.Next + case encoder.OpStructEndInt: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyInt: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUint: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUint: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32String: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32Ptr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32PtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64Ptr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendStructEnd(ctx, code, b) + code = code.Next + break + } + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64PtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + s := ptrToString(p + code.Offset) + b = appendString(b, string(appendString([]byte{}, s))) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBool: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBool: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolString: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBytes: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBytes: + p := load(ctxptr, code.HeadIdx) + v := ptrToBytes(p + code.Offset) + if len(v) > 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBytesPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumber: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + code = code.Next + case encoder.OpStructEndOmitEmptyNumber: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberString: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpEnd: + goto END + } + } +END: + return b, nil +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/debug_vm.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/debug_vm.go new file mode 100644 index 000000000..970ab47fa --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/debug_vm.go @@ -0,0 +1,27 @@ +package vm_escaped_indent + +import ( + "fmt" + + "github.com/goccy/go-json/internal/encoder" +) + +func DebugRun(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt encoder.Option) ([]byte, error) { + defer func() { + if err := recover(); err != nil { + fmt.Println("=============[DEBUG]===============") + fmt.Println("* [TYPE]") + fmt.Println(codeSet.Type) + fmt.Printf("\n") + fmt.Println("* [ALL OPCODE]") + fmt.Println(codeSet.Code.Dump()) + fmt.Printf("\n") + fmt.Println("* [CONTEXT]") + fmt.Printf("%+v\n", ctx) + fmt.Println("===================================") + panic(err) + } + }() + + return Run(ctx, b, codeSet, opt) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/hack.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/hack.go new file mode 100644 index 000000000..49d3ceccd --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/hack.go @@ -0,0 +1,6 @@ +package vm_escaped_indent + +// HACK: compile order +// `vm`, `vm_escaped`, `vm_indent`, `vm_escaped_indent` packages uses a lot of memory to compile, +// so forcibly make dependencies and avoid compiling in concurrent. +// dependency order: vm => vm_escaped => vm_indent => vm_escaped_indent diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/util.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/util.go new file mode 100644 index 000000000..60d73e090 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/util.go @@ -0,0 +1,241 @@ +package vm_escaped_indent + +import ( + "encoding/json" + "fmt" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" + "github.com/goccy/go-json/internal/runtime" +) + +const uintptrSize = 4 << (^uintptr(0) >> 63) + +var ( + appendInt = encoder.AppendInt + appendUint = encoder.AppendUint + appendFloat32 = encoder.AppendFloat32 + appendFloat64 = encoder.AppendFloat64 + appendString = encoder.AppendString + appendByteSlice = encoder.AppendByteSlice + appendNumber = encoder.AppendNumber + appendStructEnd = encoder.AppendStructEndIndent + appendIndent = encoder.AppendIndent + errUnsupportedValue = encoder.ErrUnsupportedValue + errUnsupportedFloat = encoder.ErrUnsupportedFloat + mapiterinit = encoder.MapIterInit + mapiterkey = encoder.MapIterKey + mapitervalue = encoder.MapIterValue + mapiternext = encoder.MapIterNext + maplen = encoder.MapLen +) + +type emptyInterface struct { + typ *runtime.Type + ptr unsafe.Pointer +} + +func errUnimplementedOp(op encoder.OpType) error { + return fmt.Errorf("encoder (indent+escaped): opcode %s has not been implemented", op) +} + +func load(base uintptr, idx uintptr) uintptr { + addr := base + idx + return **(**uintptr)(unsafe.Pointer(&addr)) +} + +func store(base uintptr, idx uintptr, p uintptr) { + addr := base + idx + **(**uintptr)(unsafe.Pointer(&addr)) = p +} + +func loadNPtr(base uintptr, idx uintptr, ptrNum int) uintptr { + addr := base + idx + p := **(**uintptr)(unsafe.Pointer(&addr)) + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = ptrToPtr(p) + } + return p +} + +func ptrToUint64(p uintptr) uint64 { return **(**uint64)(unsafe.Pointer(&p)) } +func ptrToFloat32(p uintptr) float32 { return **(**float32)(unsafe.Pointer(&p)) } +func ptrToFloat64(p uintptr) float64 { return **(**float64)(unsafe.Pointer(&p)) } +func ptrToBool(p uintptr) bool { return **(**bool)(unsafe.Pointer(&p)) } +func ptrToBytes(p uintptr) []byte { return **(**[]byte)(unsafe.Pointer(&p)) } +func ptrToNumber(p uintptr) json.Number { return **(**json.Number)(unsafe.Pointer(&p)) } +func ptrToString(p uintptr) string { return **(**string)(unsafe.Pointer(&p)) } +func ptrToSlice(p uintptr) *runtime.SliceHeader { return *(**runtime.SliceHeader)(unsafe.Pointer(&p)) } +func ptrToPtr(p uintptr) uintptr { + return uintptr(**(**unsafe.Pointer)(unsafe.Pointer(&p))) +} +func ptrToNPtr(p uintptr, ptrNum int) uintptr { + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = ptrToPtr(p) + } + return p +} + +func ptrToUnsafePtr(p uintptr) unsafe.Pointer { + return *(*unsafe.Pointer)(unsafe.Pointer(&p)) +} +func ptrToInterface(code *encoder.Opcode, p uintptr) interface{} { + return *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: code.Type, + ptr: *(*unsafe.Pointer)(unsafe.Pointer(&p)), + })) +} + +func appendBool(b []byte, v bool) []byte { + if v { + return append(b, "true"...) + } + return append(b, "false"...) +} + +func appendNull(b []byte) []byte { + return append(b, "null"...) +} + +func appendComma(b []byte) []byte { + return append(b, ',', '\n') +} + +func appendColon(b []byte) []byte { + return append(b, ':', ' ') +} + +func appendInterface(ctx *encoder.RuntimeContext, codeSet *encoder.OpcodeSet, opt encoder.Option, code *encoder.Opcode, b []byte, iface *emptyInterface, ptrOffset uintptr) ([]byte, error) { + ctx.KeepRefs = append(ctx.KeepRefs, unsafe.Pointer(iface)) + ifaceCodeSet, err := encoder.CompileToGetCodeSet(uintptr(unsafe.Pointer(iface.typ))) + if err != nil { + return nil, err + } + + totalLength := uintptr(codeSet.CodeLength) + nextTotalLength := uintptr(ifaceCodeSet.CodeLength) + + curlen := uintptr(len(ctx.Ptrs)) + offsetNum := ptrOffset / uintptrSize + + newLen := offsetNum + totalLength + nextTotalLength + if curlen < newLen { + ctx.Ptrs = append(ctx.Ptrs, make([]uintptr, newLen-curlen)...) + } + oldPtrs := ctx.Ptrs + + newPtrs := ctx.Ptrs[(ptrOffset+totalLength*uintptrSize)/uintptrSize:] + newPtrs[0] = uintptr(iface.ptr) + + ctx.Ptrs = newPtrs + + oldBaseIndent := ctx.BaseIndent + ctx.BaseIndent = code.Indent + bb, err := Run(ctx, b, ifaceCodeSet, opt) + if err != nil { + return nil, err + } + ctx.BaseIndent = oldBaseIndent + + ctx.Ptrs = oldPtrs + + return bb, nil +} + +func appendMapKeyValue(ctx *encoder.RuntimeContext, code *encoder.Opcode, b, key, value []byte) []byte { + b = appendIndent(ctx, b, code.Indent+1) + b = append(b, key...) + b[len(b)-2] = ':' + b[len(b)-1] = ' ' + return append(b, value...) +} + +func appendMapEnd(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + b = b[:len(b)-2] + b = append(b, '\n') + b = appendIndent(ctx, b, code.Indent) + return append(b, '}', ',', '\n') +} + +func appendArrayHead(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + b = append(b, '[', '\n') + return appendIndent(ctx, b, code.Indent+1) +} + +func appendArrayEnd(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + b = b[:len(b)-2] + b = append(b, '\n') + b = appendIndent(ctx, b, code.Indent) + return append(b, ']', ',', '\n') +} + +func appendEmptyArray(b []byte) []byte { + return append(b, '[', ']', ',', '\n') +} + +func appendEmptyObject(b []byte) []byte { + return append(b, '{', '}', ',', '\n') +} + +func appendObjectEnd(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + b[last] = '\n' + b = appendIndent(ctx, b, code.Indent-1) + return append(b, '}', ',', '\n') +} + +func appendMarshalJSON(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte, v interface{}) ([]byte, error) { + return encoder.AppendMarshalJSONIndent(ctx, code, b, v, true) +} + +func appendMarshalText(code *encoder.Opcode, b []byte, v interface{}) ([]byte, error) { + return encoder.AppendMarshalTextIndent(code, b, v, true) +} + +func appendStructHead(b []byte) []byte { + return append(b, '{', '\n') +} + +func appendStructKey(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + b = appendIndent(ctx, b, code.Indent) + b = append(b, code.EscapedKey...) + return append(b, ' ') +} + +func appendStructEndSkipLast(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + if b[last-1] == '{' { + b[last] = '}' + } else { + if b[last] == '\n' { + // to remove ',' and '\n' characters + b = b[:len(b)-2] + } + b = append(b, '\n') + b = appendIndent(ctx, b, code.Indent-1) + b = append(b, '}') + } + return appendComma(b) +} + +func restoreIndent(ctx *encoder.RuntimeContext, code *encoder.Opcode, ctxptr uintptr) { + ctx.BaseIndent = int(load(ctxptr, code.Length)) +} + +func storeIndent(ctxptr uintptr, code *encoder.Opcode, indent uintptr) { + store(ctxptr, code.End.Next.Length, indent) +} + +func appendArrayElemIndent(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + return appendIndent(ctx, b, code.Indent+1) +} + +func appendMapKeyIndent(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + return appendIndent(ctx, b, code.Indent) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/vm.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/vm.go new file mode 100644 index 000000000..2288602c9 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_escaped_indent/vm.go @@ -0,0 +1,4993 @@ +// Code generated by internal/cmd/generator. DO NOT EDIT! +package vm_escaped_indent + +import ( + "math" + "sort" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" +) + +func Run(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt encoder.Option) ([]byte, error) { + recursiveLevel := 0 + ptrOffset := uintptr(0) + ctxptr := ctx.Ptr() + code := codeSet.Code + + for { + switch code.Op { + default: + return nil, errUnimplementedOp(code.Op) + case encoder.OpPtr: + p := load(ctxptr, code.Idx) + code = code.Next + store(ctxptr, code.Idx, ptrToPtr(p)) + case encoder.OpIntPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpInt: + b = appendInt(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = appendComma(b) + code = code.Next + case encoder.OpUintPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpUint: + b = appendUint(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = appendComma(b) + code = code.Next + case encoder.OpIntString: + b = append(b, '"') + b = appendInt(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpUintString: + b = append(b, '"') + b = appendUint(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpFloat32Ptr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpFloat32: + b = appendFloat32(b, ptrToFloat32(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpFloat64Ptr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpFloat64: + v := ptrToFloat64(load(ctxptr, code.Idx)) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStringPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpString: + b = appendString(b, ptrToString(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpBoolPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpBool: + b = appendBool(b, ptrToBool(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpBytesPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpBytes: + b = appendByteSlice(b, ptrToBytes(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpNumberPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpNumber: + bb, err := appendNumber(b, ptrToNumber(load(ctxptr, code.Idx))) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpInterfacePtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpInterface: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + for _, seen := range ctx.SeenPtr { + if p == seen { + return nil, errUnsupportedValue(code, p) + } + } + ctx.SeenPtr = append(ctx.SeenPtr, p) + iface := (*emptyInterface)(ptrToUnsafePtr(p)) + if iface.ptr == nil { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + bb, err := appendInterface(ctx, codeSet, opt, code, b, iface, ptrOffset) + if err != nil { + return nil, err + } + ctxptr = ctx.Ptr() + ctx.SeenPtr = ctx.SeenPtr[:len(ctx.SeenPtr)-1] + + b = bb + code = code.Next + case encoder.OpMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToPtr(p)) + fallthrough + case encoder.OpMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + if code.IsNilableType && code.Indirect { + p = ptrToPtr(p) + } + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToPtr(p)) + fallthrough + case encoder.OpMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + b = append(b, `""`...) + b = appendComma(b) + code = code.Next + break + } + if code.IsNilableType && code.Indirect { + p = ptrToPtr(p) + } + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpSlicePtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpSlice: + p := load(ctxptr, code.Idx) + slice := ptrToSlice(p) + if p == 0 || slice.Data == nil { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.ElemIdx, 0) + store(ctxptr, code.Length, uintptr(slice.Len)) + store(ctxptr, code.Idx, uintptr(slice.Data)) + if slice.Len > 0 { + b = appendArrayHead(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, uintptr(slice.Data)) + } else { + b = appendEmptyArray(b) + code = code.End.Next + } + case encoder.OpSliceElem: + idx := load(ctxptr, code.ElemIdx) + length := load(ctxptr, code.Length) + idx++ + if idx < length { + b = appendArrayElemIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + data := load(ctxptr, code.HeadIdx) + size := code.Size + code = code.Next + store(ctxptr, code.Idx, data+idx*size) + } else { + b = appendArrayEnd(ctx, code, b) + code = code.End.Next + } + case encoder.OpArrayPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpArray: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + if code.Length > 0 { + b = appendArrayHead(ctx, code, b) + store(ctxptr, code.ElemIdx, 0) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + b = appendEmptyArray(b) + code = code.End.Next + } + case encoder.OpArrayElem: + idx := load(ctxptr, code.ElemIdx) + idx++ + if idx < code.Length { + b = appendArrayElemIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + p := load(ctxptr, code.HeadIdx) + size := code.Size + code = code.Next + store(ctxptr, code.Idx, p+idx*size) + } else { + b = appendArrayEnd(ctx, code, b) + code = code.End.Next + } + case encoder.OpMapPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpMap: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + uptr := ptrToUnsafePtr(p) + mlen := maplen(uptr) + if mlen <= 0 { + b = appendEmptyObject(b) + code = code.End.Next + break + } + b = appendStructHead(b) + iter := mapiterinit(code.Type, uptr) + ctx.KeepRefs = append(ctx.KeepRefs, iter) + store(ctxptr, code.ElemIdx, 0) + store(ctxptr, code.Length, uintptr(mlen)) + store(ctxptr, code.MapIter, uintptr(iter)) + if (opt & encoder.UnorderedMapOption) == 0 { + mapCtx := encoder.NewMapContext(mlen) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + ctx.KeepRefs = append(ctx.KeepRefs, unsafe.Pointer(mapCtx)) + store(ctxptr, code.End.MapPos, uintptr(unsafe.Pointer(mapCtx))) + } else { + b = appendMapKeyIndent(ctx, code.Next, b) + } + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + case encoder.OpMapKey: + idx := load(ctxptr, code.ElemIdx) + length := load(ctxptr, code.Length) + idx++ + if (opt & encoder.UnorderedMapOption) != 0 { + if idx < length { + b = appendMapKeyIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + } else { + b = appendObjectEnd(ctx, code, b) + code = code.End.Next + } + } else { + ptr := load(ctxptr, code.End.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + if idx < length { + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + store(ctxptr, code.ElemIdx, idx) + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + } else { + code = code.End + } + } + case encoder.OpMapValue: + if (opt & encoder.UnorderedMapOption) != 0 { + b = appendColon(b) + } else { + ptr := load(ctxptr, code.End.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + } + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + value := mapitervalue(iter) + store(ctxptr, code.Next.Idx, uintptr(value)) + mapiternext(iter) + code = code.Next + case encoder.OpMapEnd: + // this operation only used by sorted map. + length := int(load(ctxptr, code.Length)) + ptr := load(ctxptr, code.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + pos := mapCtx.Pos + for i := 0; i < length; i++ { + startKey := pos[i*2] + startValue := pos[i*2+1] + var endValue int + if i+1 < length { + endValue = pos[i*2+2] + } else { + endValue = len(b) + } + mapCtx.Slice.Items = append(mapCtx.Slice.Items, encoder.MapItem{ + Key: b[startKey:startValue], + Value: b[startValue:endValue], + }) + } + sort.Sort(mapCtx.Slice) + buf := mapCtx.Buf + for _, item := range mapCtx.Slice.Items { + buf = appendMapKeyValue(ctx, code, buf, item.Key, item.Value) + } + buf = appendMapEnd(ctx, code, buf) + b = b[:pos[0]] + b = append(b, buf...) + mapCtx.Buf = buf + encoder.ReleaseMapContext(mapCtx) + code = code.Next + case encoder.OpRecursivePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpRecursive: + ptr := load(ctxptr, code.Idx) + if ptr != 0 { + if recursiveLevel > encoder.StartDetectingCyclesAfter { + for _, seen := range ctx.SeenPtr { + if ptr == seen { + return nil, errUnsupportedValue(code, ptr) + } + } + } + } + ctx.SeenPtr = append(ctx.SeenPtr, ptr) + c := code.Jmp.Code + curlen := uintptr(len(ctx.Ptrs)) + offsetNum := ptrOffset / uintptrSize + oldOffset := ptrOffset + ptrOffset += code.Jmp.CurLen * uintptrSize + oldBaseIndent := ctx.BaseIndent + ctx.BaseIndent += code.Indent - 1 + + newLen := offsetNum + code.Jmp.CurLen + code.Jmp.NextLen + if curlen < newLen { + ctx.Ptrs = append(ctx.Ptrs, make([]uintptr, newLen-curlen)...) + } + ctxptr = ctx.Ptr() + ptrOffset // assign new ctxptr + + store(ctxptr, c.Idx, ptr) + store(ctxptr, c.End.Next.Idx, oldOffset) + store(ctxptr, c.End.Next.ElemIdx, uintptr(unsafe.Pointer(code.Next))) + storeIndent(ctxptr, c, uintptr(oldBaseIndent)) + code = c + recursiveLevel++ + case encoder.OpRecursiveEnd: + recursiveLevel-- + + // restore ctxptr + restoreIndent(ctx, code, ctxptr) + offset := load(ctxptr, code.Idx) + ctx.SeenPtr = ctx.SeenPtr[:len(ctx.SeenPtr)-1] + + codePtr := load(ctxptr, code.ElemIdx) + code = (*encoder.Opcode)(ptrToUnsafePtr(codePtr)) + ctxptr = ctx.Ptr() + offset + ptrOffset = offset + case encoder.OpStructPtrHead: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHead: + p := load(ctxptr, code.Idx) + if p == 0 && (code.Indirect || code.Next.Op == encoder.OpStructEnd) { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if !code.AnonymousKey && len(code.Key) > 0 { + b = appendStructKey(ctx, code, b) + } + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmpty: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmpty: + p := load(ctxptr, code.Idx) + if p == 0 && (code.Indirect || code.Next.Op == encoder.OpStructEnd) { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + if p == 0 || (ptrToPtr(p) == 0 && code.IsNextOpPtrType) { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadInt: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadInt: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyInt: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyInt: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadIntString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadIntString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyIntString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadUint: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadUint: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUint: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyUint: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadUintString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadUintString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyUintString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat32: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat32: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat32(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat32String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat32String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat32(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat64: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat64: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat64String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat64String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToString(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadStringString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadStringString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p+code.Offset)))) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyStringString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToString(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBool: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBool: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBool: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBool: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendComma(b) + code = code.Next + } else { + code = code.NextField + } + case encoder.OpStructPtrHeadBoolString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBoolString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBoolString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } else { + code = code.NextField + } + case encoder.OpStructPtrHeadBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBytes: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBytes: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBytes: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBytes: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBytes(p + code.Offset) + if len(v) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadNumber: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadNumber: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumber: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyNumber: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToNumber(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + } + case encoder.OpStructPtrHeadNumberString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadNumberString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyNumberString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToNumber(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructPtrHeadNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadArray, encoder.OpStructPtrHeadSlice: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadArray, encoder.OpStructHeadSlice: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptyArray: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyArray: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptySlice: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptySlice: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + slice := ptrToSlice(p) + if slice.Len == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadArrayPtr, encoder.OpStructPtrHeadSlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadArrayPtr, encoder.OpStructHeadSlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + } else { + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadOmitEmptyArrayPtr, encoder.OpStructPtrHeadOmitEmptySlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyArrayPtr, encoder.OpStructHeadOmitEmptySlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMap: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMap: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if p != 0 && code.Indirect { + p = ptrToPtr(p + code.Offset) + } + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptyMap: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMap: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p != 0 && code.Indirect { + p = ptrToPtr(p + code.Offset) + } + if maplen(ptrToUnsafePtr(p)) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + break + } + p = ptrToPtr(p + code.Offset) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + } else { + if code.Indirect { + p = ptrToNPtr(p, code.PtrNum) + } + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadOmitEmptyMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + break + } + p = ptrToPtr(p + code.Offset) + if p == 0 { + code = code.NextField + } else { + if code.Indirect { + p = ptrToNPtr(p, code.PtrNum) + } + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadMarshalJSON { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadOmitEmptyMarshalJSON { + p = ptrToPtr(p + code.Offset) + } + } + iface := ptrToInterface(code, p) + if code.Nilcheck && encoder.IsNilForMarshaler(iface) { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, iface) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadMarshalText { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadOmitEmptyMarshalText { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructField: + if !code.AnonymousKey { + b = appendStructKey(ctx, code, b) + } + p := load(ctxptr, code.HeadIdx) + code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmpty: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if ptrToPtr(p) == 0 && code.IsNextOpPtrType { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldInt: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyInt: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUint: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUint: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32String: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringString: + p := load(ctxptr, code.HeadIdx) + s := ptrToString(p + code.Offset) + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, s))) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBool: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBool: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolString: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBytes: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBytes: + p := load(ctxptr, code.HeadIdx) + v := ptrToBytes(p + code.Offset) + if len(v) > 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldNumber: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumber: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldNumberString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberString: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldMarshalJSON: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalJSON: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + code = code.NextField + break + } + iface := ptrToInterface(code, p) + if code.Nilcheck && encoder.IsNilForMarshaler(iface) { + code = code.NextField + break + } + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, iface) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldMarshalJSONPtr: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldMarshalText: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalText: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + code = code.NextField + break + } + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldMarshalTextPtr: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldArray: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyArray: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldArrayPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyArrayPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldSlice: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptySlice: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + slice := ptrToSlice(p) + if slice.Len == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldSlicePtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptySlicePtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldMap: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyMap: + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p == 0 || maplen(ptrToUnsafePtr(p)) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldMapPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p != 0 { + p = ptrToNPtr(p, code.PtrNum) + } + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyMapPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p != 0 { + p = ptrToNPtr(p, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldStruct: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyStruct: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if ptrToPtr(p) == 0 && code.IsNextOpPtrType { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructAnonymousEnd: + code = code.Next + case encoder.OpStructEnd: + b = appendStructEndSkipLast(ctx, code, b) + code = code.Next + case encoder.OpStructEndInt: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyInt: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUint: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUint: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32String: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32Ptr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32PtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64Ptr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendStructEnd(ctx, code, b) + code = code.Next + break + } + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64PtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + s := ptrToString(p + code.Offset) + b = appendString(b, string(appendString([]byte{}, s))) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBool: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBool: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolString: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBytes: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBytes: + p := load(ctxptr, code.HeadIdx) + v := ptrToBytes(p + code.Offset) + if len(v) > 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBytesPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumber: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + code = code.Next + case encoder.OpStructEndOmitEmptyNumber: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberString: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpEnd: + goto END + } + } +END: + return b, nil +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go new file mode 100644 index 000000000..4b78e9e33 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go @@ -0,0 +1,27 @@ +package vm_indent + +import ( + "fmt" + + "github.com/goccy/go-json/internal/encoder" +) + +func DebugRun(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt encoder.Option) ([]byte, error) { + defer func() { + if err := recover(); err != nil { + fmt.Println("=============[DEBUG]===============") + fmt.Println("* [TYPE]") + fmt.Println(codeSet.Type) + fmt.Printf("\n") + fmt.Println("* [ALL OPCODE]") + fmt.Println(codeSet.Code.Dump()) + fmt.Printf("\n") + fmt.Println("* [CONTEXT]") + fmt.Printf("%+v\n", ctx) + fmt.Println("===================================") + panic(err) + } + }() + + return Run(ctx, b, codeSet, opt) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go new file mode 100644 index 000000000..789ade895 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go @@ -0,0 +1,9 @@ +package vm_indent + +import ( + // HACK: compile order + // `vm`, `vm_escaped`, `vm_indent`, `vm_escaped_indent` packages uses a lot of memory to compile, + // so forcibly make dependencies and avoid compiling in concurrent. + // dependency order: vm => vm_escaped => vm_indent => vm_escaped_indent + _ "github.com/goccy/go-json/internal/encoder/vm_escaped_indent" +) diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go new file mode 100644 index 000000000..d73fb7b83 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go @@ -0,0 +1,241 @@ +package vm_indent + +import ( + "encoding/json" + "fmt" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" + "github.com/goccy/go-json/internal/runtime" +) + +const uintptrSize = 4 << (^uintptr(0) >> 63) + +var ( + appendInt = encoder.AppendInt + appendUint = encoder.AppendUint + appendFloat32 = encoder.AppendFloat32 + appendFloat64 = encoder.AppendFloat64 + appendString = encoder.AppendString + appendByteSlice = encoder.AppendByteSlice + appendNumber = encoder.AppendNumber + appendStructEnd = encoder.AppendStructEndIndent + appendIndent = encoder.AppendIndent + errUnsupportedValue = encoder.ErrUnsupportedValue + errUnsupportedFloat = encoder.ErrUnsupportedFloat + mapiterinit = encoder.MapIterInit + mapiterkey = encoder.MapIterKey + mapitervalue = encoder.MapIterValue + mapiternext = encoder.MapIterNext + maplen = encoder.MapLen +) + +type emptyInterface struct { + typ *runtime.Type + ptr unsafe.Pointer +} + +func errUnimplementedOp(op encoder.OpType) error { + return fmt.Errorf("encoder (indent): opcode %s has not been implemented", op) +} + +func load(base uintptr, idx uintptr) uintptr { + addr := base + idx + return **(**uintptr)(unsafe.Pointer(&addr)) +} + +func store(base uintptr, idx uintptr, p uintptr) { + addr := base + idx + **(**uintptr)(unsafe.Pointer(&addr)) = p +} + +func loadNPtr(base uintptr, idx uintptr, ptrNum int) uintptr { + addr := base + idx + p := **(**uintptr)(unsafe.Pointer(&addr)) + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = ptrToPtr(p) + } + return p +} + +func ptrToUint64(p uintptr) uint64 { return **(**uint64)(unsafe.Pointer(&p)) } +func ptrToFloat32(p uintptr) float32 { return **(**float32)(unsafe.Pointer(&p)) } +func ptrToFloat64(p uintptr) float64 { return **(**float64)(unsafe.Pointer(&p)) } +func ptrToBool(p uintptr) bool { return **(**bool)(unsafe.Pointer(&p)) } +func ptrToBytes(p uintptr) []byte { return **(**[]byte)(unsafe.Pointer(&p)) } +func ptrToNumber(p uintptr) json.Number { return **(**json.Number)(unsafe.Pointer(&p)) } +func ptrToString(p uintptr) string { return **(**string)(unsafe.Pointer(&p)) } +func ptrToSlice(p uintptr) *runtime.SliceHeader { return *(**runtime.SliceHeader)(unsafe.Pointer(&p)) } +func ptrToPtr(p uintptr) uintptr { + return uintptr(**(**unsafe.Pointer)(unsafe.Pointer(&p))) +} +func ptrToNPtr(p uintptr, ptrNum int) uintptr { + for i := 0; i < ptrNum; i++ { + if p == 0 { + return 0 + } + p = ptrToPtr(p) + } + return p +} + +func ptrToUnsafePtr(p uintptr) unsafe.Pointer { + return *(*unsafe.Pointer)(unsafe.Pointer(&p)) +} +func ptrToInterface(code *encoder.Opcode, p uintptr) interface{} { + return *(*interface{})(unsafe.Pointer(&emptyInterface{ + typ: code.Type, + ptr: *(*unsafe.Pointer)(unsafe.Pointer(&p)), + })) +} + +func appendBool(b []byte, v bool) []byte { + if v { + return append(b, "true"...) + } + return append(b, "false"...) +} + +func appendNull(b []byte) []byte { + return append(b, "null"...) +} + +func appendComma(b []byte) []byte { + return append(b, ',', '\n') +} + +func appendColon(b []byte) []byte { + return append(b, ':', ' ') +} + +func appendInterface(ctx *encoder.RuntimeContext, codeSet *encoder.OpcodeSet, opt encoder.Option, code *encoder.Opcode, b []byte, iface *emptyInterface, ptrOffset uintptr) ([]byte, error) { + ctx.KeepRefs = append(ctx.KeepRefs, unsafe.Pointer(iface)) + ifaceCodeSet, err := encoder.CompileToGetCodeSet(uintptr(unsafe.Pointer(iface.typ))) + if err != nil { + return nil, err + } + + totalLength := uintptr(codeSet.CodeLength) + nextTotalLength := uintptr(ifaceCodeSet.CodeLength) + + curlen := uintptr(len(ctx.Ptrs)) + offsetNum := ptrOffset / uintptrSize + + newLen := offsetNum + totalLength + nextTotalLength + if curlen < newLen { + ctx.Ptrs = append(ctx.Ptrs, make([]uintptr, newLen-curlen)...) + } + oldPtrs := ctx.Ptrs + + newPtrs := ctx.Ptrs[(ptrOffset+totalLength*uintptrSize)/uintptrSize:] + newPtrs[0] = uintptr(iface.ptr) + + ctx.Ptrs = newPtrs + + oldBaseIndent := ctx.BaseIndent + ctx.BaseIndent = code.Indent + bb, err := Run(ctx, b, ifaceCodeSet, opt) + if err != nil { + return nil, err + } + ctx.BaseIndent = oldBaseIndent + + ctx.Ptrs = oldPtrs + + return bb, nil +} + +func appendMapKeyValue(ctx *encoder.RuntimeContext, code *encoder.Opcode, b, key, value []byte) []byte { + b = appendIndent(ctx, b, code.Indent+1) + b = append(b, key...) + b[len(b)-2] = ':' + b[len(b)-1] = ' ' + return append(b, value...) +} + +func appendMapEnd(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + b = b[:len(b)-2] + b = append(b, '\n') + b = appendIndent(ctx, b, code.Indent) + return append(b, '}', ',', '\n') +} + +func appendArrayHead(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + b = append(b, '[', '\n') + return appendIndent(ctx, b, code.Indent+1) +} + +func appendArrayEnd(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + b = b[:len(b)-2] + b = append(b, '\n') + b = appendIndent(ctx, b, code.Indent) + return append(b, ']', ',', '\n') +} + +func appendEmptyArray(b []byte) []byte { + return append(b, '[', ']', ',', '\n') +} + +func appendEmptyObject(b []byte) []byte { + return append(b, '{', '}', ',', '\n') +} + +func appendObjectEnd(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + b[last] = '\n' + b = appendIndent(ctx, b, code.Indent-1) + return append(b, '}', ',', '\n') +} + +func appendMarshalJSON(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte, v interface{}) ([]byte, error) { + return encoder.AppendMarshalJSONIndent(ctx, code, b, v, false) +} + +func appendMarshalText(code *encoder.Opcode, b []byte, v interface{}) ([]byte, error) { + return encoder.AppendMarshalTextIndent(code, b, v, false) +} + +func appendStructHead(b []byte) []byte { + return append(b, '{', '\n') +} + +func appendStructKey(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + b = appendIndent(ctx, b, code.Indent) + b = append(b, code.Key...) + return append(b, ' ') +} + +func appendStructEndSkipLast(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + last := len(b) - 1 + if b[last-1] == '{' { + b[last] = '}' + } else { + if b[last] == '\n' { + // to remove ',' and '\n' characters + b = b[:len(b)-2] + } + b = append(b, '\n') + b = appendIndent(ctx, b, code.Indent-1) + b = append(b, '}') + } + return appendComma(b) +} + +func restoreIndent(ctx *encoder.RuntimeContext, code *encoder.Opcode, ctxptr uintptr) { + ctx.BaseIndent = int(load(ctxptr, code.Length)) +} + +func storeIndent(ctxptr uintptr, code *encoder.Opcode, indent uintptr) { + store(ctxptr, code.End.Next.Length, indent) +} + +func appendArrayElemIndent(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + return appendIndent(ctx, b, code.Indent+1) +} + +func appendMapKeyIndent(ctx *encoder.RuntimeContext, code *encoder.Opcode, b []byte) []byte { + return appendIndent(ctx, b, code.Indent) +} diff --git a/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/vm.go b/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/vm.go new file mode 100644 index 000000000..b470adaf4 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/vm.go @@ -0,0 +1,4993 @@ +// Code generated by internal/cmd/generator. DO NOT EDIT! +package vm_indent + +import ( + "math" + "sort" + "unsafe" + + "github.com/goccy/go-json/internal/encoder" +) + +func Run(ctx *encoder.RuntimeContext, b []byte, codeSet *encoder.OpcodeSet, opt encoder.Option) ([]byte, error) { + recursiveLevel := 0 + ptrOffset := uintptr(0) + ctxptr := ctx.Ptr() + code := codeSet.Code + + for { + switch code.Op { + default: + return nil, errUnimplementedOp(code.Op) + case encoder.OpPtr: + p := load(ctxptr, code.Idx) + code = code.Next + store(ctxptr, code.Idx, ptrToPtr(p)) + case encoder.OpIntPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpInt: + b = appendInt(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = appendComma(b) + code = code.Next + case encoder.OpUintPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpUint: + b = appendUint(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = appendComma(b) + code = code.Next + case encoder.OpIntString: + b = append(b, '"') + b = appendInt(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpUintString: + b = append(b, '"') + b = appendUint(b, ptrToUint64(load(ctxptr, code.Idx)), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpFloat32Ptr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpFloat32: + b = appendFloat32(b, ptrToFloat32(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpFloat64Ptr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpFloat64: + v := ptrToFloat64(load(ctxptr, code.Idx)) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStringPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpString: + b = appendString(b, ptrToString(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpBoolPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpBool: + b = appendBool(b, ptrToBool(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpBytesPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpBytes: + b = appendByteSlice(b, ptrToBytes(load(ctxptr, code.Idx))) + b = appendComma(b) + code = code.Next + case encoder.OpNumberPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpNumber: + bb, err := appendNumber(b, ptrToNumber(load(ctxptr, code.Idx))) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpInterfacePtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpInterface: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + for _, seen := range ctx.SeenPtr { + if p == seen { + return nil, errUnsupportedValue(code, p) + } + } + ctx.SeenPtr = append(ctx.SeenPtr, p) + iface := (*emptyInterface)(ptrToUnsafePtr(p)) + if iface.ptr == nil { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + bb, err := appendInterface(ctx, codeSet, opt, code, b, iface, ptrOffset) + if err != nil { + return nil, err + } + ctxptr = ctx.Ptr() + ctx.SeenPtr = ctx.SeenPtr[:len(ctx.SeenPtr)-1] + + b = bb + code = code.Next + case encoder.OpMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToPtr(p)) + fallthrough + case encoder.OpMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + if code.IsNilableType && code.Indirect { + p = ptrToPtr(p) + } + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToPtr(p)) + fallthrough + case encoder.OpMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + b = append(b, `""`...) + b = appendComma(b) + code = code.Next + break + } + if code.IsNilableType && code.Indirect { + p = ptrToPtr(p) + } + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpSlicePtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpSlice: + p := load(ctxptr, code.Idx) + slice := ptrToSlice(p) + if p == 0 || slice.Data == nil { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.ElemIdx, 0) + store(ctxptr, code.Length, uintptr(slice.Len)) + store(ctxptr, code.Idx, uintptr(slice.Data)) + if slice.Len > 0 { + b = appendArrayHead(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, uintptr(slice.Data)) + } else { + b = appendEmptyArray(b) + code = code.End.Next + } + case encoder.OpSliceElem: + idx := load(ctxptr, code.ElemIdx) + length := load(ctxptr, code.Length) + idx++ + if idx < length { + b = appendArrayElemIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + data := load(ctxptr, code.HeadIdx) + size := code.Size + code = code.Next + store(ctxptr, code.Idx, data+idx*size) + } else { + b = appendArrayEnd(ctx, code, b) + code = code.End.Next + } + case encoder.OpArrayPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpArray: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + if code.Length > 0 { + b = appendArrayHead(ctx, code, b) + store(ctxptr, code.ElemIdx, 0) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + b = appendEmptyArray(b) + code = code.End.Next + } + case encoder.OpArrayElem: + idx := load(ctxptr, code.ElemIdx) + idx++ + if idx < code.Length { + b = appendArrayElemIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + p := load(ctxptr, code.HeadIdx) + size := code.Size + code = code.Next + store(ctxptr, code.Idx, p+idx*size) + } else { + b = appendArrayEnd(ctx, code, b) + code = code.End.Next + } + case encoder.OpMapPtr: + p := loadNPtr(ctxptr, code.Idx, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + store(ctxptr, code.Idx, p) + fallthrough + case encoder.OpMap: + p := load(ctxptr, code.Idx) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.End.Next + break + } + uptr := ptrToUnsafePtr(p) + mlen := maplen(uptr) + if mlen <= 0 { + b = appendEmptyObject(b) + code = code.End.Next + break + } + b = appendStructHead(b) + iter := mapiterinit(code.Type, uptr) + ctx.KeepRefs = append(ctx.KeepRefs, iter) + store(ctxptr, code.ElemIdx, 0) + store(ctxptr, code.Length, uintptr(mlen)) + store(ctxptr, code.MapIter, uintptr(iter)) + if (opt & encoder.UnorderedMapOption) == 0 { + mapCtx := encoder.NewMapContext(mlen) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + ctx.KeepRefs = append(ctx.KeepRefs, unsafe.Pointer(mapCtx)) + store(ctxptr, code.End.MapPos, uintptr(unsafe.Pointer(mapCtx))) + } else { + b = appendMapKeyIndent(ctx, code.Next, b) + } + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + case encoder.OpMapKey: + idx := load(ctxptr, code.ElemIdx) + length := load(ctxptr, code.Length) + idx++ + if (opt & encoder.UnorderedMapOption) != 0 { + if idx < length { + b = appendMapKeyIndent(ctx, code, b) + store(ctxptr, code.ElemIdx, idx) + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + } else { + b = appendObjectEnd(ctx, code, b) + code = code.End.Next + } + } else { + ptr := load(ctxptr, code.End.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + if idx < length { + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + store(ctxptr, code.ElemIdx, idx) + key := mapiterkey(iter) + store(ctxptr, code.Next.Idx, uintptr(key)) + code = code.Next + } else { + code = code.End + } + } + case encoder.OpMapValue: + if (opt & encoder.UnorderedMapOption) != 0 { + b = appendColon(b) + } else { + ptr := load(ctxptr, code.End.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + mapCtx.Pos = append(mapCtx.Pos, len(b)) + } + ptr := load(ctxptr, code.MapIter) + iter := ptrToUnsafePtr(ptr) + value := mapitervalue(iter) + store(ctxptr, code.Next.Idx, uintptr(value)) + mapiternext(iter) + code = code.Next + case encoder.OpMapEnd: + // this operation only used by sorted map. + length := int(load(ctxptr, code.Length)) + ptr := load(ctxptr, code.MapPos) + mapCtx := (*encoder.MapContext)(ptrToUnsafePtr(ptr)) + pos := mapCtx.Pos + for i := 0; i < length; i++ { + startKey := pos[i*2] + startValue := pos[i*2+1] + var endValue int + if i+1 < length { + endValue = pos[i*2+2] + } else { + endValue = len(b) + } + mapCtx.Slice.Items = append(mapCtx.Slice.Items, encoder.MapItem{ + Key: b[startKey:startValue], + Value: b[startValue:endValue], + }) + } + sort.Sort(mapCtx.Slice) + buf := mapCtx.Buf + for _, item := range mapCtx.Slice.Items { + buf = appendMapKeyValue(ctx, code, buf, item.Key, item.Value) + } + buf = appendMapEnd(ctx, code, buf) + b = b[:pos[0]] + b = append(b, buf...) + mapCtx.Buf = buf + encoder.ReleaseMapContext(mapCtx) + code = code.Next + case encoder.OpRecursivePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + code = code.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpRecursive: + ptr := load(ctxptr, code.Idx) + if ptr != 0 { + if recursiveLevel > encoder.StartDetectingCyclesAfter { + for _, seen := range ctx.SeenPtr { + if ptr == seen { + return nil, errUnsupportedValue(code, ptr) + } + } + } + } + ctx.SeenPtr = append(ctx.SeenPtr, ptr) + c := code.Jmp.Code + curlen := uintptr(len(ctx.Ptrs)) + offsetNum := ptrOffset / uintptrSize + oldOffset := ptrOffset + ptrOffset += code.Jmp.CurLen * uintptrSize + oldBaseIndent := ctx.BaseIndent + ctx.BaseIndent += code.Indent - 1 + + newLen := offsetNum + code.Jmp.CurLen + code.Jmp.NextLen + if curlen < newLen { + ctx.Ptrs = append(ctx.Ptrs, make([]uintptr, newLen-curlen)...) + } + ctxptr = ctx.Ptr() + ptrOffset // assign new ctxptr + + store(ctxptr, c.Idx, ptr) + store(ctxptr, c.End.Next.Idx, oldOffset) + store(ctxptr, c.End.Next.ElemIdx, uintptr(unsafe.Pointer(code.Next))) + storeIndent(ctxptr, c, uintptr(oldBaseIndent)) + code = c + recursiveLevel++ + case encoder.OpRecursiveEnd: + recursiveLevel-- + + // restore ctxptr + restoreIndent(ctx, code, ctxptr) + offset := load(ctxptr, code.Idx) + ctx.SeenPtr = ctx.SeenPtr[:len(ctx.SeenPtr)-1] + + codePtr := load(ctxptr, code.ElemIdx) + code = (*encoder.Opcode)(ptrToUnsafePtr(codePtr)) + ctxptr = ctx.Ptr() + offset + ptrOffset = offset + case encoder.OpStructPtrHead: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHead: + p := load(ctxptr, code.Idx) + if p == 0 && (code.Indirect || code.Next.Op == encoder.OpStructEnd) { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if !code.AnonymousKey && len(code.Key) > 0 { + b = appendStructKey(ctx, code, b) + } + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmpty: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmpty: + p := load(ctxptr, code.Idx) + if p == 0 && (code.Indirect || code.Next.Op == encoder.OpStructEnd) { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + if p == 0 || (ptrToPtr(p) == 0 && code.IsNextOpPtrType) { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadInt: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadInt: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyInt: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyInt: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadIntString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadIntString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyIntString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyIntPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyIntPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadUint: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadUint: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUint: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyUint: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadUintString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadUintString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyUintString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyUintPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyUintPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat32: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat32: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat32(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat32String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat32String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat32(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat32PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat64: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat64: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat64String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadFloat64String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64String: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64String: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToFloat64(p + code.Offset) + if v == 0 { + code = code.NextField + } else { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64Ptr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyFloat64PtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToString(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadStringString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadStringString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p+code.Offset)))) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyStringString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToString(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyStringPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyStringPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBool: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBool: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBool: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBool: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendComma(b) + code = code.Next + } else { + code = code.NextField + } + case encoder.OpStructPtrHeadBoolString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBoolString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBoolString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + } else { + code = code.NextField + } + case encoder.OpStructPtrHeadBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBoolPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBoolPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadBytes: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadBytes: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBytes: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyBytes: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToBytes(p + code.Offset) + if len(v) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyBytesPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadNumber: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadNumber: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumber: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyNumber: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToNumber(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + } + case encoder.OpStructPtrHeadNumberString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadNumberString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberString: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyNumberString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + v := ptrToNumber(p + code.Offset) + if v == "" { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyNumberPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructPtrHeadNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyNumberPtrString: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructPtrHeadArray, encoder.OpStructPtrHeadSlice: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadArray, encoder.OpStructHeadSlice: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptyArray: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyArray: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptySlice: + if code.Indirect { + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptySlice: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + p += code.Offset + slice := ptrToSlice(p) + if slice.Len == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadArrayPtr, encoder.OpStructPtrHeadSlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadArrayPtr, encoder.OpStructHeadSlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + } else { + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadOmitEmptyArrayPtr, encoder.OpStructPtrHeadOmitEmptySlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyArrayPtr, encoder.OpStructHeadOmitEmptySlicePtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMap: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMap: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if p != 0 && code.Indirect { + p = ptrToPtr(p + code.Offset) + } + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructPtrHeadOmitEmptyMap: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMap: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p != 0 && code.Indirect { + p = ptrToPtr(p + code.Offset) + } + if maplen(ptrToUnsafePtr(p)) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + break + } + p = ptrToPtr(p + code.Offset) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.NextField + } else { + if code.Indirect { + p = ptrToNPtr(p, code.PtrNum) + } + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadOmitEmptyMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMapPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + break + } + p = ptrToPtr(p + code.Offset) + if p == 0 { + code = code.NextField + } else { + if code.Indirect { + p = ptrToNPtr(p, code.PtrNum) + } + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructPtrHeadMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadMarshalJSON { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalJSON: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadOmitEmptyMarshalJSON { + p = ptrToPtr(p + code.Offset) + } + } + iface := ptrToInterface(code, p) + if code.Nilcheck && encoder.IsNilForMarshaler(iface) { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, iface) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadMarshalText { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + } + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalText: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if code.IsNilableType { + if code.Indirect || code.Op == encoder.OpStructPtrHeadOmitEmptyMarshalText { + p = ptrToPtr(p + code.Offset) + } + } + if p == 0 && code.Nilcheck { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructPtrHeadMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + b = appendStructKey(ctx, code, b) + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructPtrHeadOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + store(ctxptr, code.Idx, ptrToNPtr(p, code.PtrNum)) + fallthrough + case encoder.OpStructHeadOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.Idx) + if p == 0 && code.Indirect { + if !code.AnonymousHead { + b = appendNull(b) + b = appendComma(b) + } + code = code.End.Next + break + } + if code.Indirect { + p = ptrToNPtr(p+code.Offset, code.PtrNum) + } + if !code.AnonymousHead { + b = appendStructHead(b) + } + if p == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + b = appendComma(b) + code = code.Next + } + case encoder.OpStructField: + if !code.AnonymousKey { + b = appendStructKey(ctx, code, b) + } + p := load(ctxptr, code.HeadIdx) + code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmpty: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if ptrToPtr(p) == 0 && code.IsNextOpPtrType { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldInt: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyInt: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUint: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUint: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32String: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + b = appendComma(b) + code = code.Next + break + } + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringString: + p := load(ctxptr, code.HeadIdx) + s := ptrToString(p + code.Offset) + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, s))) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBool: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBool: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolString: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBytes: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBytes: + p := load(ctxptr, code.HeadIdx) + v := ptrToBytes(p + code.Offset) + if len(v) > 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldNumber: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumber: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldNumberString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberString: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + b = appendStructKey(ctx, code, b) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendComma(b) + } + code = code.Next + case encoder.OpStructFieldMarshalJSON: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalJSON: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + code = code.NextField + break + } + iface := ptrToInterface(code, p) + if code.Nilcheck && encoder.IsNilForMarshaler(iface) { + code = code.NextField + break + } + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, iface) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldMarshalJSONPtr: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalJSONPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalJSON(ctx, code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldMarshalText: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalText: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if code.IsNilableType { + p = ptrToPtr(p) + } + if p == 0 && code.Nilcheck { + code = code.NextField + break + } + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + code = code.Next + case encoder.OpStructFieldMarshalTextPtr: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendComma(b) + code = code.Next + case encoder.OpStructFieldOmitEmptyMarshalTextPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendMarshalText(code, b, ptrToInterface(code, p)) + if err != nil { + return nil, err + } + b = appendComma(bb) + } + code = code.Next + case encoder.OpStructFieldArray: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyArray: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldArrayPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyArrayPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldSlice: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptySlice: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + slice := ptrToSlice(p) + if slice.Len == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldSlicePtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptySlicePtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldMap: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyMap: + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p == 0 || maplen(ptrToUnsafePtr(p)) == 0 { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructFieldMapPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p != 0 { + p = ptrToNPtr(p, code.PtrNum) + } + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyMapPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToPtr(p + code.Offset) + if p != 0 { + p = ptrToNPtr(p, code.PtrNum) + } + if p != 0 { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } else { + code = code.NextField + } + case encoder.OpStructFieldStruct: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p += code.Offset + code = code.Next + store(ctxptr, code.Idx, p) + case encoder.OpStructFieldOmitEmptyStruct: + p := load(ctxptr, code.HeadIdx) + p += code.Offset + if ptrToPtr(p) == 0 && code.IsNextOpPtrType { + code = code.NextField + } else { + b = appendStructKey(ctx, code, b) + code = code.Next + store(ctxptr, code.Idx, p) + } + case encoder.OpStructAnonymousEnd: + code = code.Next + case encoder.OpStructEnd: + b = appendStructEndSkipLast(ctx, code, b) + code = code.Next + case encoder.OpStructEndInt: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyInt: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, u64, code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, u64, code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendInt(b, ptrToUint64(p), code) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendInt(b, ptrToUint64(p), code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndIntPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyIntPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendInt(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUint: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUint: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, u64, code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p+code.Offset), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintString: + p := load(ctxptr, code.HeadIdx) + u64 := ptrToUint64(p + code.Offset) + v := u64 & code.Mask + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, u64, code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendUint(b, ptrToUint64(p), code) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendUint(b, ptrToUint64(p), code) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndUintPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyUintPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendUint(b, ptrToUint64(p), code) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32String: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p+code.Offset)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat32(p + code.Offset) + if v != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32Ptr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendFloat32(b, ptrToFloat32(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendFloat32(b, ptrToFloat32(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat32PtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat32PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat32(b, ptrToFloat32(p)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64String: + p := load(ctxptr, code.HeadIdx) + v := ptrToFloat64(p + code.Offset) + if v != 0 { + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64Ptr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + b = appendStructEnd(ctx, code, b) + code = code.Next + break + } + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64Ptr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndFloat64PtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = appendFloat64(b, v) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyFloat64PtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + v := ptrToFloat64(p) + if math.IsInf(v, 0) || math.IsNaN(v) { + return nil, errUnsupportedFloat(v) + } + b = append(b, '"') + b = appendFloat64(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + s := ptrToString(p + code.Offset) + b = appendString(b, string(appendString([]byte{}, s))) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringString: + p := load(ctxptr, code.HeadIdx) + v := ptrToString(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, v))) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, ptrToString(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, ptrToString(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndStringPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyStringPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendString(b, string(appendString([]byte{}, ptrToString(p)))) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBool: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBool: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = appendBool(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p+code.Offset)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolString: + p := load(ctxptr, code.HeadIdx) + v := ptrToBool(p + code.Offset) + if v { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, v) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendBool(b, ptrToBool(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendBool(b, ptrToBool(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBoolPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBoolPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + b = appendBool(b, ptrToBool(p)) + b = append(b, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBytes: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p+code.Offset)) + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBytes: + p := load(ctxptr, code.HeadIdx) + v := ptrToBytes(p + code.Offset) + if len(v) > 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, v) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndBytesPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = appendByteSlice(b, ptrToBytes(p)) + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyBytesPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = appendByteSlice(b, ptrToBytes(p)) + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumber: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + code = code.Next + case encoder.OpStructEndOmitEmptyNumber: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberString: + p := load(ctxptr, code.HeadIdx) + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p+code.Offset)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberString: + p := load(ctxptr, code.HeadIdx) + v := ptrToNumber(p + code.Offset) + if v != "" { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, v) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberPtr: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = bb + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberPtr: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = appendStructEnd(ctx, code, bb) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpStructEndNumberPtrString: + b = appendStructKey(ctx, code, b) + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p == 0 { + b = appendNull(b) + } else { + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + } + b = appendStructEnd(ctx, code, b) + code = code.Next + case encoder.OpStructEndOmitEmptyNumberPtrString: + p := load(ctxptr, code.HeadIdx) + p = ptrToNPtr(p+code.Offset, code.PtrNum) + if p != 0 { + b = appendStructKey(ctx, code, b) + b = append(b, '"') + bb, err := appendNumber(b, ptrToNumber(p)) + if err != nil { + return nil, err + } + b = append(bb, '"') + b = appendStructEnd(ctx, code, b) + } else { + b = appendStructEndSkipLast(ctx, code, b) + } + code = code.Next + case encoder.OpEnd: + goto END + } + } +END: + return b, nil +} diff --git a/vendor/github.com/goccy/go-json/internal/errors/error.go b/vendor/github.com/goccy/go-json/internal/errors/error.go new file mode 100644 index 000000000..329e2f12d --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/errors/error.go @@ -0,0 +1,157 @@ +package errors + +import ( + "fmt" + "reflect" + "strconv" +) + +type InvalidUTF8Error struct { + S string // the whole string value that caused the error +} + +func (e *InvalidUTF8Error) Error() string { + return fmt.Sprintf("json: invalid UTF-8 in string: %s", strconv.Quote(e.S)) +} + +type InvalidUnmarshalError struct { + Type reflect.Type +} + +func (e *InvalidUnmarshalError) Error() string { + if e.Type == nil { + return "json: Unmarshal(nil)" + } + + if e.Type.Kind() != reflect.Ptr { + return fmt.Sprintf("json: Unmarshal(non-pointer %s)", e.Type) + } + return fmt.Sprintf("json: Unmarshal(nil %s)", e.Type) +} + +// A MarshalerError represents an error from calling a MarshalJSON or MarshalText method. +type MarshalerError struct { + Type reflect.Type + Err error + sourceFunc string +} + +func (e *MarshalerError) Error() string { + srcFunc := e.sourceFunc + if srcFunc == "" { + srcFunc = "MarshalJSON" + } + return fmt.Sprintf("json: error calling %s for type %s: %s", srcFunc, e.Type, e.Err.Error()) +} + +// Unwrap returns the underlying error. +func (e *MarshalerError) Unwrap() error { return e.Err } + +// A SyntaxError is a description of a JSON syntax error. +type SyntaxError struct { + msg string // description of error + Offset int64 // error occurred after reading Offset bytes +} + +func (e *SyntaxError) Error() string { return e.msg } + +// An UnmarshalFieldError describes a JSON object key that +// led to an unexported (and therefore unwritable) struct field. +// +// Deprecated: No longer used; kept for compatibility. +type UnmarshalFieldError struct { + Key string + Type reflect.Type + Field reflect.StructField +} + +func (e *UnmarshalFieldError) Error() string { + return fmt.Sprintf("json: cannot unmarshal object key %s into unexported field %s of type %s", + strconv.Quote(e.Key), e.Field.Name, e.Type.String(), + ) +} + +// An UnmarshalTypeError describes a JSON value that was +// not appropriate for a value of a specific Go type. +type UnmarshalTypeError struct { + Value string // description of JSON value - "bool", "array", "number -5" + Type reflect.Type // type of Go value it could not be assigned to + Offset int64 // error occurred after reading Offset bytes + Struct string // name of the struct type containing the field + Field string // the full path from root node to the field +} + +func (e *UnmarshalTypeError) Error() string { + if e.Struct != "" || e.Field != "" { + return fmt.Sprintf("json: cannot unmarshal %s into Go struct field %s.%s of type %s", + e.Value, e.Struct, e.Field, e.Type, + ) + } + return fmt.Sprintf("json: cannot unmarshal %s into Go value of type %s", e.Value, e.Type) +} + +// An UnsupportedTypeError is returned by Marshal when attempting +// to encode an unsupported value type. +type UnsupportedTypeError struct { + Type reflect.Type +} + +func (e *UnsupportedTypeError) Error() string { + return fmt.Sprintf("json: unsupported type: %s", e.Type) +} + +type UnsupportedValueError struct { + Value reflect.Value + Str string +} + +func (e *UnsupportedValueError) Error() string { + return fmt.Sprintf("json: unsupported value: %s", e.Str) +} + +func ErrSyntax(msg string, offset int64) *SyntaxError { + return &SyntaxError{msg: msg, Offset: offset} +} + +func ErrMarshaler(typ reflect.Type, err error, msg string) *MarshalerError { + return &MarshalerError{ + Type: typ, + Err: err, + sourceFunc: msg, + } +} + +func ErrExceededMaxDepth(c byte, cursor int64) *SyntaxError { + return &SyntaxError{ + msg: fmt.Sprintf(`invalid character "%c" exceeded max depth`, c), + Offset: cursor, + } +} + +func ErrNotAtBeginningOfValue(cursor int64) *SyntaxError { + return &SyntaxError{msg: "not at beginning of value", Offset: cursor} +} + +func ErrUnexpectedEndOfJSON(msg string, cursor int64) *SyntaxError { + return &SyntaxError{ + msg: fmt.Sprintf("json: %s unexpected end of JSON input", msg), + Offset: cursor, + } +} + +func ErrExpected(msg string, cursor int64) *SyntaxError { + return &SyntaxError{msg: fmt.Sprintf("expected %s", msg), Offset: cursor} +} + +func ErrInvalidCharacter(c byte, context string, cursor int64) *SyntaxError { + if c == 0 { + return &SyntaxError{ + msg: fmt.Sprintf("json: invalid character as %s", context), + Offset: cursor, + } + } + return &SyntaxError{ + msg: fmt.Sprintf("json: invalid character %c as %s", c, context), + Offset: cursor, + } +} diff --git a/vendor/github.com/goccy/go-json/internal/runtime/rtype.go b/vendor/github.com/goccy/go-json/internal/runtime/rtype.go new file mode 100644 index 000000000..4db10debe --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/runtime/rtype.go @@ -0,0 +1,263 @@ +package runtime + +import ( + "reflect" + "unsafe" +) + +// Type representing reflect.rtype for noescape trick +type Type struct{} + +//go:linkname rtype_Align reflect.(*rtype).Align +//go:noescape +func rtype_Align(*Type) int + +func (t *Type) Align() int { + return rtype_Align(t) +} + +//go:linkname rtype_FieldAlign reflect.(*rtype).FieldAlign +//go:noescape +func rtype_FieldAlign(*Type) int + +func (t *Type) FieldAlign() int { + return rtype_FieldAlign(t) +} + +//go:linkname rtype_Method reflect.(*rtype).Method +//go:noescape +func rtype_Method(*Type, int) reflect.Method + +func (t *Type) Method(a0 int) reflect.Method { + return rtype_Method(t, a0) +} + +//go:linkname rtype_MethodByName reflect.(*rtype).MethodByName +//go:noescape +func rtype_MethodByName(*Type, string) (reflect.Method, bool) + +func (t *Type) MethodByName(a0 string) (reflect.Method, bool) { + return rtype_MethodByName(t, a0) +} + +//go:linkname rtype_NumMethod reflect.(*rtype).NumMethod +//go:noescape +func rtype_NumMethod(*Type) int + +func (t *Type) NumMethod() int { + return rtype_NumMethod(t) +} + +//go:linkname rtype_Name reflect.(*rtype).Name +//go:noescape +func rtype_Name(*Type) string + +func (t *Type) Name() string { + return rtype_Name(t) +} + +//go:linkname rtype_PkgPath reflect.(*rtype).PkgPath +//go:noescape +func rtype_PkgPath(*Type) string + +func (t *Type) PkgPath() string { + return rtype_PkgPath(t) +} + +//go:linkname rtype_Size reflect.(*rtype).Size +//go:noescape +func rtype_Size(*Type) uintptr + +func (t *Type) Size() uintptr { + return rtype_Size(t) +} + +//go:linkname rtype_String reflect.(*rtype).String +//go:noescape +func rtype_String(*Type) string + +func (t *Type) String() string { + return rtype_String(t) +} + +//go:linkname rtype_Kind reflect.(*rtype).Kind +//go:noescape +func rtype_Kind(*Type) reflect.Kind + +func (t *Type) Kind() reflect.Kind { + return rtype_Kind(t) +} + +//go:linkname rtype_Implements reflect.(*rtype).Implements +//go:noescape +func rtype_Implements(*Type, reflect.Type) bool + +func (t *Type) Implements(u reflect.Type) bool { + return rtype_Implements(t, u) +} + +//go:linkname rtype_AssignableTo reflect.(*rtype).AssignableTo +//go:noescape +func rtype_AssignableTo(*Type, reflect.Type) bool + +func (t *Type) AssignableTo(u reflect.Type) bool { + return rtype_AssignableTo(t, u) +} + +//go:linkname rtype_ConvertibleTo reflect.(*rtype).ConvertibleTo +//go:noescape +func rtype_ConvertibleTo(*Type, reflect.Type) bool + +func (t *Type) ConvertibleTo(u reflect.Type) bool { + return rtype_ConvertibleTo(t, u) +} + +//go:linkname rtype_Comparable reflect.(*rtype).Comparable +//go:noescape +func rtype_Comparable(*Type) bool + +func (t *Type) Comparable() bool { + return rtype_Comparable(t) +} + +//go:linkname rtype_Bits reflect.(*rtype).Bits +//go:noescape +func rtype_Bits(*Type) int + +func (t *Type) Bits() int { + return rtype_Bits(t) +} + +//go:linkname rtype_ChanDir reflect.(*rtype).ChanDir +//go:noescape +func rtype_ChanDir(*Type) reflect.ChanDir + +func (t *Type) ChanDir() reflect.ChanDir { + return rtype_ChanDir(t) +} + +//go:linkname rtype_IsVariadic reflect.(*rtype).IsVariadic +//go:noescape +func rtype_IsVariadic(*Type) bool + +func (t *Type) IsVariadic() bool { + return rtype_IsVariadic(t) +} + +//go:linkname rtype_Elem reflect.(*rtype).Elem +//go:noescape +func rtype_Elem(*Type) reflect.Type + +func (t *Type) Elem() *Type { + return Type2RType(rtype_Elem(t)) +} + +//go:linkname rtype_Field reflect.(*rtype).Field +//go:noescape +func rtype_Field(*Type, int) reflect.StructField + +func (t *Type) Field(i int) reflect.StructField { + return rtype_Field(t, i) +} + +//go:linkname rtype_FieldByIndex reflect.(*rtype).FieldByIndex +//go:noescape +func rtype_FieldByIndex(*Type, []int) reflect.StructField + +func (t *Type) FieldByIndex(index []int) reflect.StructField { + return rtype_FieldByIndex(t, index) +} + +//go:linkname rtype_FieldByName reflect.(*rtype).FieldByName +//go:noescape +func rtype_FieldByName(*Type, string) (reflect.StructField, bool) + +func (t *Type) FieldByName(name string) (reflect.StructField, bool) { + return rtype_FieldByName(t, name) +} + +//go:linkname rtype_FieldByNameFunc reflect.(*rtype).FieldByNameFunc +//go:noescape +func rtype_FieldByNameFunc(*Type, func(string) bool) (reflect.StructField, bool) + +func (t *Type) FieldByNameFunc(match func(string) bool) (reflect.StructField, bool) { + return rtype_FieldByNameFunc(t, match) +} + +//go:linkname rtype_In reflect.(*rtype).In +//go:noescape +func rtype_In(*Type, int) reflect.Type + +func (t *Type) In(i int) reflect.Type { + return rtype_In(t, i) +} + +//go:linkname rtype_Key reflect.(*rtype).Key +//go:noescape +func rtype_Key(*Type) reflect.Type + +func (t *Type) Key() *Type { + return Type2RType(rtype_Key(t)) +} + +//go:linkname rtype_Len reflect.(*rtype).Len +//go:noescape +func rtype_Len(*Type) int + +func (t *Type) Len() int { + return rtype_Len(t) +} + +//go:linkname rtype_NumField reflect.(*rtype).NumField +//go:noescape +func rtype_NumField(*Type) int + +func (t *Type) NumField() int { + return rtype_NumField(t) +} + +//go:linkname rtype_NumIn reflect.(*rtype).NumIn +//go:noescape +func rtype_NumIn(*Type) int + +func (t *Type) NumIn() int { + return rtype_NumIn(t) +} + +//go:linkname rtype_NumOut reflect.(*rtype).NumOut +//go:noescape +func rtype_NumOut(*Type) int + +func (t *Type) NumOut() int { + return rtype_NumOut(t) +} + +//go:linkname rtype_Out reflect.(*rtype).Out +//go:noescape +func rtype_Out(*Type, int) reflect.Type + +//go:linkname PtrTo reflect.(*rtype).ptrTo +//go:noescape +func PtrTo(*Type) *Type + +func (t *Type) Out(i int) reflect.Type { + return rtype_Out(t, i) +} + +//go:linkname IfaceIndir reflect.ifaceIndir +//go:noescape +func IfaceIndir(*Type) bool + +//go:linkname RType2Type reflect.toType +//go:noescape +func RType2Type(t *Type) reflect.Type + +//go:nolint structcheck +type emptyInterface struct { + _ *Type + ptr unsafe.Pointer +} + +func Type2RType(t reflect.Type) *Type { + return (*Type)(((*emptyInterface)(unsafe.Pointer(&t))).ptr) +} diff --git a/vendor/github.com/goccy/go-json/internal/runtime/struct_field.go b/vendor/github.com/goccy/go-json/internal/runtime/struct_field.go new file mode 100644 index 000000000..c321180a3 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/runtime/struct_field.go @@ -0,0 +1,87 @@ +package runtime + +import ( + "reflect" + "strings" + "unicode" +) + +func getTag(field reflect.StructField) string { + return field.Tag.Get("json") +} + +func IsIgnoredStructField(field reflect.StructField) bool { + if field.PkgPath != "" { + if field.Anonymous { + if !(field.Type.Kind() == reflect.Ptr && field.Type.Elem().Kind() == reflect.Struct) && field.Type.Kind() != reflect.Struct { + return true + } + } else { + // private field + return true + } + } + tag := getTag(field) + return tag == "-" +} + +type StructTag struct { + Key string + IsTaggedKey bool + IsOmitEmpty bool + IsString bool + Field reflect.StructField +} + +type StructTags []*StructTag + +func (t StructTags) ExistsKey(key string) bool { + for _, tt := range t { + if tt.Key == key { + return true + } + } + return false +} + +func isValidTag(s string) bool { + if s == "" { + return false + } + for _, c := range s { + switch { + case strings.ContainsRune("!#$%&()*+-./:<=>?@[]^_{|}~ ", c): + // Backslash and quote chars are reserved, but + // otherwise any punctuation chars are allowed + // in a tag name. + case !unicode.IsLetter(c) && !unicode.IsDigit(c): + return false + } + } + return true +} + +func StructTagFromField(field reflect.StructField) *StructTag { + keyName := field.Name + tag := getTag(field) + st := &StructTag{Field: field} + opts := strings.Split(tag, ",") + if len(opts) > 0 { + if opts[0] != "" && isValidTag(opts[0]) { + keyName = opts[0] + st.IsTaggedKey = true + } + } + st.Key = keyName + if len(opts) > 1 { + for _, opt := range opts[1:] { + switch opt { + case "omitempty": + st.IsOmitEmpty = true + case "string": + st.IsString = true + } + } + } + return st +} diff --git a/vendor/github.com/goccy/go-json/internal/runtime/type.go b/vendor/github.com/goccy/go-json/internal/runtime/type.go new file mode 100644 index 000000000..0167cd2c0 --- /dev/null +++ b/vendor/github.com/goccy/go-json/internal/runtime/type.go @@ -0,0 +1,100 @@ +package runtime + +import ( + "reflect" + "unsafe" +) + +type SliceHeader struct { + Data unsafe.Pointer + Len int + Cap int +} + +const ( + maxAcceptableTypeAddrRange = 1024 * 1024 * 2 // 2 Mib +) + +type TypeAddr struct { + BaseTypeAddr uintptr + MaxTypeAddr uintptr + AddrRange uintptr + AddrShift uintptr +} + +var ( + typeAddr *TypeAddr + alreadyAnalyzed bool +) + +//go:linkname typelinks reflect.typelinks +func typelinks() ([]unsafe.Pointer, [][]int32) + +//go:linkname rtypeOff reflect.rtypeOff +func rtypeOff(unsafe.Pointer, int32) unsafe.Pointer + +func AnalyzeTypeAddr() *TypeAddr { + defer func() { + alreadyAnalyzed = true + }() + if alreadyAnalyzed { + return typeAddr + } + sections, offsets := typelinks() + if len(sections) != 1 { + return nil + } + if len(offsets) != 1 { + return nil + } + section := sections[0] + offset := offsets[0] + var ( + min uintptr = uintptr(^uint(0)) + max uintptr = 0 + isAligned64 = true + isAligned32 = true + ) + for i := 0; i < len(offset); i++ { + typ := (*Type)(rtypeOff(section, offset[i])) + addr := uintptr(unsafe.Pointer(typ)) + if min > addr { + min = addr + } + if max < addr { + max = addr + } + if typ.Kind() == reflect.Ptr { + addr = uintptr(unsafe.Pointer(typ.Elem())) + if min > addr { + min = addr + } + if max < addr { + max = addr + } + } + isAligned64 = isAligned64 && (addr-min)&63 == 0 + isAligned32 = isAligned32 && (addr-min)&31 == 0 + } + addrRange := max - min + if addrRange == 0 { + return nil + } + var addrShift uintptr + if isAligned64 { + addrShift = 6 + } else if isAligned32 { + addrShift = 5 + } + cacheSize := addrRange >> addrShift + if cacheSize > maxAcceptableTypeAddrRange { + return nil + } + typeAddr = &TypeAddr{ + BaseTypeAddr: min, + MaxTypeAddr: max, + AddrRange: addrRange, + AddrShift: addrShift, + } + return typeAddr +} diff --git a/vendor/github.com/goccy/go-json/json.go b/vendor/github.com/goccy/go-json/json.go new file mode 100644 index 000000000..05756efa3 --- /dev/null +++ b/vendor/github.com/goccy/go-json/json.go @@ -0,0 +1,345 @@ +package json + +import ( + "bytes" + "encoding/json" + + "github.com/goccy/go-json/internal/encoder" +) + +// Marshaler is the interface implemented by types that +// can marshal themselves into valid JSON. +type Marshaler interface { + MarshalJSON() ([]byte, error) +} + +// Unmarshaler is the interface implemented by types +// that can unmarshal a JSON description of themselves. +// The input can be assumed to be a valid encoding of +// a JSON value. UnmarshalJSON must copy the JSON data +// if it wishes to retain the data after returning. +// +// By convention, to approximate the behavior of Unmarshal itself, +// Unmarshalers implement UnmarshalJSON([]byte("null")) as a no-op. +type Unmarshaler interface { + UnmarshalJSON([]byte) error +} + +// Marshal returns the JSON encoding of v. +// +// Marshal traverses the value v recursively. +// If an encountered value implements the Marshaler interface +// and is not a nil pointer, Marshal calls its MarshalJSON method +// to produce JSON. If no MarshalJSON method is present but the +// value implements encoding.TextMarshaler instead, Marshal calls +// its MarshalText method and encodes the result as a JSON string. +// The nil pointer exception is not strictly necessary +// but mimics a similar, necessary exception in the behavior of +// UnmarshalJSON. +// +// Otherwise, Marshal uses the following type-dependent default encodings: +// +// Boolean values encode as JSON booleans. +// +// Floating point, integer, and Number values encode as JSON numbers. +// +// String values encode as JSON strings coerced to valid UTF-8, +// replacing invalid bytes with the Unicode replacement rune. +// The angle brackets "<" and ">" are escaped to "\u003c" and "\u003e" +// to keep some browsers from misinterpreting JSON output as HTML. +// Ampersand "&" is also escaped to "\u0026" for the same reason. +// This escaping can be disabled using an Encoder that had SetEscapeHTML(false) +// called on it. +// +// Array and slice values encode as JSON arrays, except that +// []byte encodes as a base64-encoded string, and a nil slice +// encodes as the null JSON value. +// +// Struct values encode as JSON objects. +// Each exported struct field becomes a member of the object, using the +// field name as the object key, unless the field is omitted for one of the +// reasons given below. +// +// The encoding of each struct field can be customized by the format string +// stored under the "json" key in the struct field's tag. +// The format string gives the name of the field, possibly followed by a +// comma-separated list of options. The name may be empty in order to +// specify options without overriding the default field name. +// +// The "omitempty" option specifies that the field should be omitted +// from the encoding if the field has an empty value, defined as +// false, 0, a nil pointer, a nil interface value, and any empty array, +// slice, map, or string. +// +// As a special case, if the field tag is "-", the field is always omitted. +// Note that a field with name "-" can still be generated using the tag "-,". +// +// Examples of struct field tags and their meanings: +// +// // Field appears in JSON as key "myName". +// Field int `json:"myName"` +// +// // Field appears in JSON as key "myName" and +// // the field is omitted from the object if its value is empty, +// // as defined above. +// Field int `json:"myName,omitempty"` +// +// // Field appears in JSON as key "Field" (the default), but +// // the field is skipped if empty. +// // Note the leading comma. +// Field int `json:",omitempty"` +// +// // Field is ignored by this package. +// Field int `json:"-"` +// +// // Field appears in JSON as key "-". +// Field int `json:"-,"` +// +// The "string" option signals that a field is stored as JSON inside a +// JSON-encoded string. It applies only to fields of string, floating point, +// integer, or boolean types. This extra level of encoding is sometimes used +// when communicating with JavaScript programs: +// +// Int64String int64 `json:",string"` +// +// The key name will be used if it's a non-empty string consisting of +// only Unicode letters, digits, and ASCII punctuation except quotation +// marks, backslash, and comma. +// +// Anonymous struct fields are usually marshaled as if their inner exported fields +// were fields in the outer struct, subject to the usual Go visibility rules amended +// as described in the next paragraph. +// An anonymous struct field with a name given in its JSON tag is treated as +// having that name, rather than being anonymous. +// An anonymous struct field of interface type is treated the same as having +// that type as its name, rather than being anonymous. +// +// The Go visibility rules for struct fields are amended for JSON when +// deciding which field to marshal or unmarshal. If there are +// multiple fields at the same level, and that level is the least +// nested (and would therefore be the nesting level selected by the +// usual Go rules), the following extra rules apply: +// +// 1) Of those fields, if any are JSON-tagged, only tagged fields are considered, +// even if there are multiple untagged fields that would otherwise conflict. +// +// 2) If there is exactly one field (tagged or not according to the first rule), that is selected. +// +// 3) Otherwise there are multiple fields, and all are ignored; no error occurs. +// +// Handling of anonymous struct fields is new in Go 1.1. +// Prior to Go 1.1, anonymous struct fields were ignored. To force ignoring of +// an anonymous struct field in both current and earlier versions, give the field +// a JSON tag of "-". +// +// Map values encode as JSON objects. The map's key type must either be a +// string, an integer type, or implement encoding.TextMarshaler. The map keys +// are sorted and used as JSON object keys by applying the following rules, +// subject to the UTF-8 coercion described for string values above: +// - string keys are used directly +// - encoding.TextMarshalers are marshaled +// - integer keys are converted to strings +// +// Pointer values encode as the value pointed to. +// A nil pointer encodes as the null JSON value. +// +// Interface values encode as the value contained in the interface. +// A nil interface value encodes as the null JSON value. +// +// Channel, complex, and function values cannot be encoded in JSON. +// Attempting to encode such a value causes Marshal to return +// an UnsupportedTypeError. +// +// JSON cannot represent cyclic data structures and Marshal does not +// handle them. Passing cyclic structures to Marshal will result in +// an infinite recursion. +// +func Marshal(v interface{}) ([]byte, error) { + return MarshalWithOption(v) +} + +// MarshalNoEscape +func MarshalNoEscape(v interface{}) ([]byte, error) { + return marshalNoEscape(v, EncodeOptionHTMLEscape) +} + +// MarshalWithOption returns the JSON encoding of v with EncodeOption. +func MarshalWithOption(v interface{}, optFuncs ...EncodeOptionFunc) ([]byte, error) { + opt := EncodeOptionHTMLEscape + for _, optFunc := range optFuncs { + opt = optFunc(opt) + } + return marshal(v, opt) +} + +// MarshalIndent is like Marshal but applies Indent to format the output. +// Each JSON element in the output will begin on a new line beginning with prefix +// followed by one or more copies of indent according to the indentation nesting. +func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { + return MarshalIndentWithOption(v, prefix, indent) +} + +// MarshalIndentWithOption is like Marshal but applies Indent to format the output with EncodeOption. +func MarshalIndentWithOption(v interface{}, prefix, indent string, optFuncs ...EncodeOptionFunc) ([]byte, error) { + opt := EncodeOptionHTMLEscape | EncodeOptionIndent + for _, optFunc := range optFuncs { + opt = optFunc(opt) + } + return marshalIndent(v, prefix, indent, opt) +} + +// Unmarshal parses the JSON-encoded data and stores the result +// in the value pointed to by v. If v is nil or not a pointer, +// Unmarshal returns an InvalidUnmarshalError. +// +// Unmarshal uses the inverse of the encodings that +// Marshal uses, allocating maps, slices, and pointers as necessary, +// with the following additional rules: +// +// To unmarshal JSON into a pointer, Unmarshal first handles the case of +// the JSON being the JSON literal null. In that case, Unmarshal sets +// the pointer to nil. Otherwise, Unmarshal unmarshals the JSON into +// the value pointed at by the pointer. If the pointer is nil, Unmarshal +// allocates a new value for it to point to. +// +// To unmarshal JSON into a value implementing the Unmarshaler interface, +// Unmarshal calls that value's UnmarshalJSON method, including +// when the input is a JSON null. +// Otherwise, if the value implements encoding.TextUnmarshaler +// and the input is a JSON quoted string, Unmarshal calls that value's +// UnmarshalText method with the unquoted form of the string. +// +// To unmarshal JSON into a struct, Unmarshal matches incoming object +// keys to the keys used by Marshal (either the struct field name or its tag), +// preferring an exact match but also accepting a case-insensitive match. By +// default, object keys which don't have a corresponding struct field are +// ignored (see Decoder.DisallowUnknownFields for an alternative). +// +// To unmarshal JSON into an interface value, +// Unmarshal stores one of these in the interface value: +// +// bool, for JSON booleans +// float64, for JSON numbers +// string, for JSON strings +// []interface{}, for JSON arrays +// map[string]interface{}, for JSON objects +// nil for JSON null +// +// To unmarshal a JSON array into a slice, Unmarshal resets the slice length +// to zero and then appends each element to the slice. +// As a special case, to unmarshal an empty JSON array into a slice, +// Unmarshal replaces the slice with a new empty slice. +// +// To unmarshal a JSON array into a Go array, Unmarshal decodes +// JSON array elements into corresponding Go array elements. +// If the Go array is smaller than the JSON array, +// the additional JSON array elements are discarded. +// If the JSON array is smaller than the Go array, +// the additional Go array elements are set to zero values. +// +// To unmarshal a JSON object into a map, Unmarshal first establishes a map to +// use. If the map is nil, Unmarshal allocates a new map. Otherwise Unmarshal +// reuses the existing map, keeping existing entries. Unmarshal then stores +// key-value pairs from the JSON object into the map. The map's key type must +// either be any string type, an integer, implement json.Unmarshaler, or +// implement encoding.TextUnmarshaler. +// +// If a JSON value is not appropriate for a given target type, +// or if a JSON number overflows the target type, Unmarshal +// skips that field and completes the unmarshaling as best it can. +// If no more serious errors are encountered, Unmarshal returns +// an UnmarshalTypeError describing the earliest such error. In any +// case, it's not guaranteed that all the remaining fields following +// the problematic one will be unmarshaled into the target object. +// +// The JSON null value unmarshals into an interface, map, pointer, or slice +// by setting that Go value to nil. Because null is often used in JSON to mean +// ``not present,'' unmarshaling a JSON null into any other Go type has no effect +// on the value and produces no error. +// +// When unmarshaling quoted strings, invalid UTF-8 or +// invalid UTF-16 surrogate pairs are not treated as an error. +// Instead, they are replaced by the Unicode replacement +// character U+FFFD. +// +func Unmarshal(data []byte, v interface{}) error { + return unmarshal(data, v) +} + +func UnmarshalNoEscape(data []byte, v interface{}) error { + return unmarshalNoEscape(data, v) +} + +// A Token holds a value of one of these types: +// +// Delim, for the four JSON delimiters [ ] { } +// bool, for JSON booleans +// float64, for JSON numbers +// Number, for JSON numbers +// string, for JSON string literals +// nil, for JSON null +// +type Token = json.Token + +// A Number represents a JSON number literal. +type Number = json.Number + +// RawMessage is a raw encoded JSON value. +// It implements Marshaler and Unmarshaler and can +// be used to delay JSON decoding or precompute a JSON encoding. +type RawMessage = json.RawMessage + +// A Delim is a JSON array or object delimiter, one of [ ] { or }. +type Delim = json.Delim + +// Compact appends to dst the JSON-encoded src with +// insignificant space characters elided. +func Compact(dst *bytes.Buffer, src []byte) error { + return encoder.Compact(dst, src, false) +} + +// Indent appends to dst an indented form of the JSON-encoded src. +// Each element in a JSON object or array begins on a new, +// indented line beginning with prefix followed by one or more +// copies of indent according to the indentation nesting. +// The data appended to dst does not begin with the prefix nor +// any indentation, to make it easier to embed inside other formatted JSON data. +// Although leading space characters (space, tab, carriage return, newline) +// at the beginning of src are dropped, trailing space characters +// at the end of src are preserved and copied to dst. +// For example, if src has no trailing spaces, neither will dst; +// if src ends in a trailing newline, so will dst. +func Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error { + return encoder.Indent(dst, src, prefix, indent) +} + +// HTMLEscape appends to dst the JSON-encoded src with <, >, &, U+2028 and U+2029 +// characters inside string literals changed to \u003c, \u003e, \u0026, \u2028, \u2029 +// so that the JSON will be safe to embed inside HTML tag. +func (p *Policy) addDefaultSkipElementContent() { + p.init() + + p.setOfElementsToSkipContent["frame"] = struct{}{} + p.setOfElementsToSkipContent["frameset"] = struct{}{} + p.setOfElementsToSkipContent["iframe"] = struct{}{} + p.setOfElementsToSkipContent["noembed"] = struct{}{} + p.setOfElementsToSkipContent["noframes"] = struct{}{} + p.setOfElementsToSkipContent["noscript"] = struct{}{} + p.setOfElementsToSkipContent["nostyle"] = struct{}{} + p.setOfElementsToSkipContent["object"] = struct{}{} + p.setOfElementsToSkipContent["script"] = struct{}{} + p.setOfElementsToSkipContent["style"] = struct{}{} + p.setOfElementsToSkipContent["title"] = struct{}{} +} diff --git a/vendor/github.com/microcosm-cc/bluemonday/sanitize.go b/vendor/github.com/microcosm-cc/bluemonday/sanitize.go new file mode 100644 index 000000000..5f4b60d71 --- /dev/null +++ b/vendor/github.com/microcosm-cc/bluemonday/sanitize.go @@ -0,0 +1,1061 @@ +// Copyright (c) 2014, David Kitchen +// +// 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 organisation (Microcosm) 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. + +package bluemonday + +import ( + "bytes" + "fmt" + "io" + "net/url" + "regexp" + "strconv" + "strings" + + "golang.org/x/net/html" + + "github.com/aymerick/douceur/parser" +) + +var ( + dataAttribute = regexp.MustCompile("^data-.+") + dataAttributeXMLPrefix = regexp.MustCompile("^xml.+") + dataAttributeInvalidChars = regexp.MustCompile("[A-Z;]+") + cssUnicodeChar = regexp.MustCompile(`\\[0-9a-f]{1,6} ?`) + dataURIbase64Prefix = regexp.MustCompile(`^data:[^,]*;base64,`) +) + +// Sanitize takes a string that contains a HTML fragment or document and applies +// the given policy allowlist. +// +// It returns a HTML string that has been sanitized by the policy or an empty +// string if an error has occurred (most likely as a consequence of extremely +// malformed input) +func (p *Policy) Sanitize(s string) string { + if strings.TrimSpace(s) == "" { + return s + } + + return p.sanitizeWithBuff(strings.NewReader(s)).String() +} + +// SanitizeBytes takes a []byte that contains a HTML fragment or document and applies +// the given policy allowlist. +// +// It returns a []byte containing the HTML that has been sanitized by the policy +// or an empty []byte if an error has occurred (most likely as a consequence of +// extremely malformed input) +func (p *Policy) SanitizeBytes(b []byte) []byte { + if len(bytes.TrimSpace(b)) == 0 { + return b + } + + return p.sanitizeWithBuff(bytes.NewReader(b)).Bytes() +} + +// SanitizeReader takes an io.Reader that contains a HTML fragment or document +// and applies the given policy allowlist. +// +// It returns a bytes.Buffer containing the HTML that has been sanitized by the +// policy. Errors during sanitization will merely return an empty result. +func (p *Policy) SanitizeReader(r io.Reader) *bytes.Buffer { + return p.sanitizeWithBuff(r) +} + +// SanitizeReaderToWriter takes an io.Reader that contains a HTML fragment or document +// and applies the given policy allowlist and writes to the provided writer returning +// an error if there is one. +func (p *Policy) SanitizeReaderToWriter(r io.Reader, w io.Writer) error { + return p.sanitize(r, w) +} + +const escapedURLChars = "'<>\"\r" + +func escapeUrlComponent(w stringWriterWriter, val string) error { + i := strings.IndexAny(val, escapedURLChars) + for i != -1 { + if _, err := w.WriteString(val[:i]); err != nil { + return err + } + var esc string + switch val[i] { + case '\'': + // "'" is shorter than "'" and apos was not in HTML until HTML5. + esc = "'" + case '<': + esc = "<" + case '>': + esc = ">" + case '"': + // """ is shorter than """. + esc = """ + case '\r': + esc = " " + default: + panic("unrecognized escape character") + } + val = val[i+1:] + if _, err := w.WriteString(esc); err != nil { + return err + } + i = strings.IndexAny(val, escapedURLChars) + } + _, err := w.WriteString(val) + return err +} + +// Query represents a single part of the query string, a query param +type Query struct { + Key string + Value string + HasValue bool +} + +func parseQuery(query string) (values []Query, err error) { + // This is essentially a copy of parseQuery from + // https://golang.org/src/net/url/url.go but adjusted to build our values + // based on our type, which we need to preserve the ordering of the query + // string + for query != "" { + key := query + if i := strings.IndexAny(key, "&;"); i >= 0 { + key, query = key[:i], key[i+1:] + } else { + query = "" + } + if key == "" { + continue + } + value := "" + hasValue := false + if i := strings.Index(key, "="); i >= 0 { + key, value = key[:i], key[i+1:] + hasValue = true + } + key, err1 := url.QueryUnescape(key) + if err1 != nil { + if err == nil { + err = err1 + } + continue + } + value, err1 = url.QueryUnescape(value) + if err1 != nil { + if err == nil { + err = err1 + } + continue + } + values = append(values, Query{ + Key: key, + Value: value, + HasValue: hasValue, + }) + } + return values, err +} + +func encodeQueries(queries []Query) string { + var buff bytes.Buffer + for i, query := range queries { + buff.WriteString(url.QueryEscape(query.Key)) + if query.HasValue { + buff.WriteString("=") + buff.WriteString(url.QueryEscape(query.Value)) + } + if i < len(queries)-1 { + buff.WriteString("&") + } + } + return buff.String() +} + +func sanitizedURL(val string) (string, error) { + u, err := url.Parse(val) + if err != nil { + return "", err + } + + // we use parseQuery but not u.Query to keep the order not change because + // url.Values is a map which has a random order. + queryValues, err := parseQuery(u.RawQuery) + if err != nil { + return "", err + } + // sanitize the url query params + for i, query := range queryValues { + queryValues[i].Key = html.EscapeString(query.Key) + } + u.RawQuery = encodeQueries(queryValues) + // u.String() will also sanitize host/scheme/user/pass + return u.String(), nil +} + +// Performs the actual sanitization process. +func (p *Policy) sanitizeWithBuff(r io.Reader) *bytes.Buffer { + var buff bytes.Buffer + if err := p.sanitize(r, &buff); err != nil { + return &bytes.Buffer{} + } + return &buff +} + +type asStringWriter struct { + io.Writer +} + +func (a *asStringWriter) WriteString(s string) (int, error) { + return a.Write([]byte(s)) +} + +func (p *Policy) sanitize(r io.Reader, w io.Writer) error { + // It is possible that the developer has created the policy via: + // p := bluemonday.Policy{} + // rather than: + // p := bluemonday.NewPolicy() + // If this is the case, and if they haven't yet triggered an action that + // would initiliaze the maps, then we need to do that. + p.init() + + buff, ok := w.(stringWriterWriter) + if !ok { + buff = &asStringWriter{w} + } + + var ( + skipElementContent bool + skippingElementsCount int64 + skipClosingTag bool + closingTagToSkipStack []string + mostRecentlyStartedToken string + ) + + tokenizer := html.NewTokenizer(r) + for { + if tokenizer.Next() == html.ErrorToken { + err := tokenizer.Err() + if err == io.EOF { + // End of input means end of processing + return nil + } + + // Raw tokenizer error + return err + } + + token := tokenizer.Token() + switch token.Type { + case html.DoctypeToken: + + // DocType is not handled as there is no safe parsing mechanism + // provided by golang.org/x/net/html for the content, and this can + // be misused to insert HTML tags that are not then sanitized + // + // One might wish to recursively sanitize here using the same policy + // but I will need to do some further testing before considering + // this. + + case html.CommentToken: + + // Comments are ignored by default + if p.allowComments { + // But if allowed then write the comment out as-is + buff.WriteString(token.String()) + } + + case html.StartTagToken: + + mostRecentlyStartedToken = normaliseElementName(token.Data) + + aps, ok := p.elsAndAttrs[token.Data] + if !ok { + aa, matched := p.matchRegex(token.Data) + if !matched { + if _, ok := p.setOfElementsToSkipContent[token.Data]; ok { + skipElementContent = true + skippingElementsCount++ + } + if p.addSpaces { + if _, err := buff.WriteString(" "); err != nil { + return err + } + } + break + } + aps = aa + } + if len(token.Attr) != 0 { + token.Attr = escapeAttributes( + p.sanitizeAttrs(token.Data, token.Attr, aps), + ) + } + + if len(token.Attr) == 0 { + if !p.allowNoAttrs(token.Data) { + skipClosingTag = true + closingTagToSkipStack = append(closingTagToSkipStack, token.Data) + if p.addSpaces { + if _, err := buff.WriteString(" "); err != nil { + return err + } + } + break + } + } + + if !skipElementContent { + if _, err := buff.WriteString(token.String()); err != nil { + return err + } + } + + case html.EndTagToken: + + if mostRecentlyStartedToken == normaliseElementName(token.Data) { + mostRecentlyStartedToken = "" + } + + if skipClosingTag && closingTagToSkipStack[len(closingTagToSkipStack)-1] == token.Data { + closingTagToSkipStack = closingTagToSkipStack[:len(closingTagToSkipStack)-1] + if len(closingTagToSkipStack) == 0 { + skipClosingTag = false + } + if p.addSpaces { + if _, err := buff.WriteString(" "); err != nil { + return err + } + } + break + } + if _, ok := p.elsAndAttrs[token.Data]; !ok { + match := false + for regex := range p.elsMatchingAndAttrs { + if regex.MatchString(token.Data) { + skipElementContent = false + match = true + break + } + } + if _, ok := p.setOfElementsToSkipContent[token.Data]; ok && !match { + skippingElementsCount-- + if skippingElementsCount == 0 { + skipElementContent = false + } + } + if !match { + if p.addSpaces { + if _, err := buff.WriteString(" "); err != nil { + return err + } + } + break + } + } + + if !skipElementContent { + if _, err := buff.WriteString(token.String()); err != nil { + return err + } + } + + case html.SelfClosingTagToken: + + aps, ok := p.elsAndAttrs[token.Data] + if !ok { + aa, matched := p.matchRegex(token.Data) + if !matched { + if p.addSpaces && !matched { + if _, err := buff.WriteString(" "); err != nil { + return err + } + } + break + } + aps = aa + } + + if len(token.Attr) != 0 { + token.Attr = escapeAttributes(p.sanitizeAttrs(token.Data, token.Attr, aps)) + } + + if len(token.Attr) == 0 && !p.allowNoAttrs(token.Data) { + if p.addSpaces { + if _, err := buff.WriteString(" "); err != nil { + return err + } + break + } + } + if !skipElementContent { + if _, err := buff.WriteString(token.String()); err != nil { + return err + } + } + + case html.TextToken: + + if !skipElementContent { + switch mostRecentlyStartedToken { + case `script`: + // not encouraged, but if a policy allows JavaScript we + // should not HTML escape it as that would break the output + if _, err := buff.WriteString(token.Data); err != nil { + return err + } + case "style": + // not encouraged, but if a policy allows CSS styles we + // should not HTML escape it as that would break the output + if _, err := buff.WriteString(token.Data); err != nil { + return err + } + default: + // HTML escape the text + if _, err := buff.WriteString(token.String()); err != nil { + return err + } + } + } + + default: + // A token that didn't exist in the html package when we wrote this + return fmt.Errorf("unknown token: %v", token) + } + } +} + +// sanitizeAttrs takes a set of element attribute policies and the global +// attribute policies and applies them to the []html.Attribute returning a set +// of html.Attributes that match the policies +func (p *Policy) sanitizeAttrs( + elementName string, + attrs []html.Attribute, + aps map[string][]attrPolicy, +) []html.Attribute { + + if len(attrs) == 0 { + return attrs + } + + hasStylePolicies := false + sps, elementHasStylePolicies := p.elsAndStyles[elementName] + if len(p.globalStyles) > 0 || (elementHasStylePolicies && len(sps) > 0) { + hasStylePolicies = true + } + // no specific element policy found, look for a pattern match + if !hasStylePolicies { + for k, v := range p.elsMatchingAndStyles { + if k.MatchString(elementName) { + if len(v) > 0 { + hasStylePolicies = true + break + } + } + } + } + + // Builds a new attribute slice based on the whether the attribute has been + // allowed explicitly or globally. + cleanAttrs := []html.Attribute{} +attrsLoop: + for _, htmlAttr := range attrs { + if p.allowDataAttributes { + // If we see a data attribute, let it through. + if isDataAttribute(htmlAttr.Key) { + cleanAttrs = append(cleanAttrs, htmlAttr) + continue + } + } + // Is this a "style" attribute, and if so, do we need to sanitize it? + if htmlAttr.Key == "style" && hasStylePolicies { + htmlAttr = p.sanitizeStyles(htmlAttr, elementName) + if htmlAttr.Val == "" { + // We've sanitized away any and all styles; don't bother to + // output the style attribute (even if it's allowed) + continue + } else { + cleanAttrs = append(cleanAttrs, htmlAttr) + continue + } + } + + // Is there an element specific attribute policy that applies? + if apl, ok := aps[htmlAttr.Key]; ok { + for _, ap := range apl { + if ap.regexp != nil { + if ap.regexp.MatchString(htmlAttr.Val) { + cleanAttrs = append(cleanAttrs, htmlAttr) + continue attrsLoop + } + } else { + cleanAttrs = append(cleanAttrs, htmlAttr) + continue attrsLoop + } + } + } + + // Is there a global attribute policy that applies? + if apl, ok := p.globalAttrs[htmlAttr.Key]; ok { + for _, ap := range apl { + if ap.regexp != nil { + if ap.regexp.MatchString(htmlAttr.Val) { + htmlAttr.Val = escapeAttribute(htmlAttr.Val) + cleanAttrs = append(cleanAttrs, htmlAttr) + } + } else { + htmlAttr.Val = escapeAttribute(htmlAttr.Val) + cleanAttrs = append(cleanAttrs, htmlAttr) + } + } + } + } + + if len(cleanAttrs) == 0 { + // If nothing was allowed, let's get out of here + return cleanAttrs + } + // cleanAttrs now contains the attributes that are permitted + + if linkable(elementName) { + if p.requireParseableURLs { + // Ensure URLs are parseable: + // - a.href + // - area.href + // - link.href + // - blockquote.cite + // - q.cite + // - img.src + // - script.src + tmpAttrs := []html.Attribute{} + for _, htmlAttr := range cleanAttrs { + switch elementName { + case "a", "area", "base", "link": + if htmlAttr.Key == "href" { + if u, ok := p.validURL(htmlAttr.Val); ok { + htmlAttr.Val = u + tmpAttrs = append(tmpAttrs, htmlAttr) + } + break + } + tmpAttrs = append(tmpAttrs, htmlAttr) + case "blockquote", "del", "ins", "q": + if htmlAttr.Key == "cite" { + if u, ok := p.validURL(htmlAttr.Val); ok { + htmlAttr.Val = u + tmpAttrs = append(tmpAttrs, htmlAttr) + } + break + } + tmpAttrs = append(tmpAttrs, htmlAttr) + case "audio", "embed", "iframe", "img", "script", "source", "track", "video": + if htmlAttr.Key == "src" { + if u, ok := p.validURL(htmlAttr.Val); ok { + htmlAttr.Val = u + tmpAttrs = append(tmpAttrs, htmlAttr) + } + break + } + tmpAttrs = append(tmpAttrs, htmlAttr) + default: + tmpAttrs = append(tmpAttrs, htmlAttr) + } + } + cleanAttrs = tmpAttrs + } + + if (p.requireNoFollow || + p.requireNoFollowFullyQualifiedLinks || + p.requireNoReferrer || + p.requireNoReferrerFullyQualifiedLinks || + p.addTargetBlankToFullyQualifiedLinks) && + len(cleanAttrs) > 0 { + + // Add rel="nofollow" if a "href" exists + switch elementName { + case "a", "area", "base", "link": + var hrefFound bool + var externalLink bool + for _, htmlAttr := range cleanAttrs { + if htmlAttr.Key == "href" { + hrefFound = true + + u, err := url.Parse(htmlAttr.Val) + if err != nil { + continue + } + if u.Host != "" { + externalLink = true + } + + continue + } + } + + if hrefFound { + var ( + noFollowFound bool + noReferrerFound bool + targetBlankFound bool + ) + + addNoFollow := (p.requireNoFollow || + externalLink && p.requireNoFollowFullyQualifiedLinks) + + addNoReferrer := (p.requireNoReferrer || + externalLink && p.requireNoReferrerFullyQualifiedLinks) + + addTargetBlank := (externalLink && + p.addTargetBlankToFullyQualifiedLinks) + + tmpAttrs := []html.Attribute{} + for _, htmlAttr := range cleanAttrs { + + var appended bool + if htmlAttr.Key == "rel" && (addNoFollow || addNoReferrer) { + + if addNoFollow && !strings.Contains(htmlAttr.Val, "nofollow") { + htmlAttr.Val += " nofollow" + } + if addNoReferrer && !strings.Contains(htmlAttr.Val, "noreferrer") { + htmlAttr.Val += " noreferrer" + } + noFollowFound = addNoFollow + noReferrerFound = addNoReferrer + tmpAttrs = append(tmpAttrs, htmlAttr) + appended = true + } + + if elementName == "a" && htmlAttr.Key == "target" { + if htmlAttr.Val == "_blank" { + targetBlankFound = true + } + if addTargetBlank && !targetBlankFound { + htmlAttr.Val = "_blank" + targetBlankFound = true + tmpAttrs = append(tmpAttrs, htmlAttr) + appended = true + } + } + + if !appended { + tmpAttrs = append(tmpAttrs, htmlAttr) + } + } + if noFollowFound || noReferrerFound || targetBlankFound { + cleanAttrs = tmpAttrs + } + + if (addNoFollow && !noFollowFound) || (addNoReferrer && !noReferrerFound) { + rel := html.Attribute{} + rel.Key = "rel" + if addNoFollow { + rel.Val = "nofollow" + } + if addNoReferrer { + if rel.Val != "" { + rel.Val += " " + } + rel.Val += "noreferrer" + } + cleanAttrs = append(cleanAttrs, rel) + } + + if elementName == "a" && addTargetBlank && !targetBlankFound { + rel := html.Attribute{} + rel.Key = "target" + rel.Val = "_blank" + targetBlankFound = true + cleanAttrs = append(cleanAttrs, rel) + } + + if targetBlankFound { + // target="_blank" has a security risk that allows the + // opened window/tab to issue JavaScript calls against + // window.opener, which in effect allow the destination + // of the link to control the source: + // https://dev.to/ben/the-targetblank-vulnerability-by-example + // + // To mitigate this risk, we need to add a specific rel + // attribute if it is not already present. + // rel="noopener" + // + // Unfortunately this is processing the rel twice (we + // already looked at it earlier ^^) as we cannot be sure + // of the ordering of the href and rel, and whether we + // have fully satisfied that we need to do this. This + // double processing only happens *if* target="_blank" + // is true. + var noOpenerAdded bool + tmpAttrs := []html.Attribute{} + for _, htmlAttr := range cleanAttrs { + var appended bool + if htmlAttr.Key == "rel" { + if strings.Contains(htmlAttr.Val, "noopener") { + noOpenerAdded = true + tmpAttrs = append(tmpAttrs, htmlAttr) + } else { + htmlAttr.Val += " noopener" + noOpenerAdded = true + tmpAttrs = append(tmpAttrs, htmlAttr) + } + + appended = true + } + if !appended { + tmpAttrs = append(tmpAttrs, htmlAttr) + } + } + if noOpenerAdded { + cleanAttrs = tmpAttrs + } else { + // rel attr was not found, or else noopener would + // have been added already + rel := html.Attribute{} + rel.Key = "rel" + rel.Val = "noopener" + cleanAttrs = append(cleanAttrs, rel) + } + + } + } + default: + } + } + } + + if p.requireCrossOriginAnonymous && len(cleanAttrs) > 0 { + switch elementName { + case "audio", "img", "link", "script", "video": + var crossOriginFound bool + for _, htmlAttr := range cleanAttrs { + if htmlAttr.Key == "crossorigin" { + crossOriginFound = true + htmlAttr.Val = "anonymous" + } + } + + if !crossOriginFound { + crossOrigin := html.Attribute{} + crossOrigin.Key = "crossorigin" + crossOrigin.Val = "anonymous" + cleanAttrs = append(cleanAttrs, crossOrigin) + } + } + } + + return cleanAttrs +} + +func (p *Policy) sanitizeStyles(attr html.Attribute, elementName string) html.Attribute { + sps := p.elsAndStyles[elementName] + if len(sps) == 0 { + sps = map[string][]stylePolicy{} + // check for any matching elements, if we don't already have a policy found + // if multiple matches are found they will be overwritten, it's best + // to not have overlapping matchers + for regex, policies := range p.elsMatchingAndStyles { + if regex.MatchString(elementName) { + for k, v := range policies { + sps[k] = append(sps[k], v...) + } + } + } + } + + //Add semi-colon to end to fix parsing issue + if len(attr.Val) > 0 && attr.Val[len(attr.Val)-1] != ';' { + attr.Val = attr.Val + ";" + } + decs, err := parser.ParseDeclarations(attr.Val) + if err != nil { + attr.Val = "" + return attr + } + clean := []string{} + prefixes := []string{"-webkit-", "-moz-", "-ms-", "-o-", "mso-", "-xv-", "-atsc-", "-wap-", "-khtml-", "prince-", "-ah-", "-hp-", "-ro-", "-rim-", "-tc-"} + +decLoop: + for _, dec := range decs { + tempProperty := strings.ToLower(dec.Property) + tempValue := removeUnicode(strings.ToLower(dec.Value)) + for _, i := range prefixes { + tempProperty = strings.TrimPrefix(tempProperty, i) + } + if spl, ok := sps[tempProperty]; ok { + for _, sp := range spl { + if sp.handler != nil { + if sp.handler(tempValue) { + clean = append(clean, dec.Property+": "+dec.Value) + continue decLoop + } + } else if len(sp.enum) > 0 { + if stringInSlice(tempValue, sp.enum) { + clean = append(clean, dec.Property+": "+dec.Value) + continue decLoop + } + } else if sp.regexp != nil { + if sp.regexp.MatchString(tempValue) { + clean = append(clean, dec.Property+": "+dec.Value) + continue decLoop + } + } + } + } + if spl, ok := p.globalStyles[tempProperty]; ok { + for _, sp := range spl { + if sp.handler != nil { + if sp.handler(tempValue) { + clean = append(clean, dec.Property+": "+dec.Value) + continue decLoop + } + } else if len(sp.enum) > 0 { + if stringInSlice(tempValue, sp.enum) { + clean = append(clean, dec.Property+": "+dec.Value) + continue decLoop + } + } else if sp.regexp != nil { + if sp.regexp.MatchString(tempValue) { + clean = append(clean, dec.Property+": "+dec.Value) + continue decLoop + } + } + } + } + } + if len(clean) > 0 { + attr.Val = strings.Join(clean, "; ") + } else { + attr.Val = "" + } + return attr +} + +func (p *Policy) allowNoAttrs(elementName string) bool { + _, ok := p.setOfElementsAllowedWithoutAttrs[elementName] + if !ok { + for _, r := range p.setOfElementsMatchingAllowedWithoutAttrs { + if r.MatchString(elementName) { + ok = true + break + } + } + } + return ok +} + +func (p *Policy) validURL(rawurl string) (string, bool) { + if p.requireParseableURLs { + // URLs are valid if when space is trimmed the URL is valid + rawurl = strings.TrimSpace(rawurl) + + // URLs cannot contain whitespace, unless it is a data-uri + if strings.Contains(rawurl, " ") || + strings.Contains(rawurl, "\t") || + strings.Contains(rawurl, "\n") { + if !strings.HasPrefix(rawurl, `data:`) { + return "", false + } + + // Remove \r and \n from base64 encoded data to pass url.Parse. + matched := dataURIbase64Prefix.FindString(rawurl) + if matched != "" { + rawurl = matched + strings.Replace( + strings.Replace( + rawurl[len(matched):], + "\r", + "", + -1, + ), + "\n", + "", + -1, + ) + } + } + + // URLs are valid if they parse + u, err := url.Parse(rawurl) + if err != nil { + return "", false + } + + if u.Scheme != "" { + + urlPolicies, ok := p.allowURLSchemes[u.Scheme] + if !ok { + return "", false + } + + if len(urlPolicies) == 0 { + return u.String(), true + } + + for _, urlPolicy := range urlPolicies { + if urlPolicy(u) == true { + return u.String(), true + } + } + + return "", false + } + + if p.allowRelativeURLs { + if u.String() != "" { + return u.String(), true + } + } + + return "", false + } + + return rawurl, true +} + +func linkable(elementName string) bool { + switch elementName { + case "a", "area", "base", "link": + // elements that allow .href + return true + case "blockquote", "del", "ins", "q": + // elements that allow .cite + return true + case "audio", "embed", "iframe", "img", "input", "script", "track", "video": + // elements that allow .src + return true + default: + return false + } +} + +// stringInSlice returns true if needle exists in haystack +func stringInSlice(needle string, haystack []string) bool { + for _, straw := range haystack { + if strings.ToLower(straw) == strings.ToLower(needle) { + return true + } + } + return false +} + +func isDataAttribute(val string) bool { + if !dataAttribute.MatchString(val) { + return false + } + rest := strings.Split(val, "data-") + if len(rest) == 1 { + return false + } + // data-xml* is invalid. + if dataAttributeXMLPrefix.MatchString(rest[1]) { + return false + } + // no uppercase or semi-colons allowed. + if dataAttributeInvalidChars.MatchString(rest[1]) { + return false + } + return true +} + +func removeUnicode(value string) string { + substitutedValue := value + currentLoc := cssUnicodeChar.FindStringIndex(substitutedValue) + for currentLoc != nil { + + character := substitutedValue[currentLoc[0]+1 : currentLoc[1]] + character = strings.TrimSpace(character) + if len(character) < 4 { + character = strings.Repeat("0", 4-len(character)) + character + } else { + for len(character) > 4 { + if character[0] != '0' { + character = "" + break + } else { + character = character[1:] + } + } + } + character = "\\u" + character + translatedChar, err := strconv.Unquote(`"` + character + `"`) + translatedChar = strings.TrimSpace(translatedChar) + if err != nil { + return "" + } + substitutedValue = substitutedValue[0:currentLoc[0]] + translatedChar + substitutedValue[currentLoc[1]:] + currentLoc = cssUnicodeChar.FindStringIndex(substitutedValue) + } + return substitutedValue +} + +func (p *Policy) matchRegex(elementName string) (map[string][]attrPolicy, bool) { + aps := make(map[string][]attrPolicy, 0) + matched := false + for regex, attrs := range p.elsMatchingAndAttrs { + if regex.MatchString(elementName) { + matched = true + for k, v := range attrs { + aps[k] = append(aps[k], v...) + } + } + } + return aps, matched +} + +// normaliseElementName takes a HTML element like " that closes the next token. If + // non-empty, the subsequent call to Next will return a raw or RCDATA text + // token: one that treats "

" as text instead of an element. + // rawTag's contents are lower-cased. + rawTag string + // textIsRaw is whether the current text token's data is not escaped. + textIsRaw bool + // convertNUL is whether NUL bytes in the current token's data should + // be converted into \ufffd replacement characters. + convertNUL bool + // allowCDATA is whether CDATA sections are allowed in the current context. + allowCDATA bool +} + +// AllowCDATA sets whether or not the tokenizer recognizes as +// the text "foo". The default value is false, which means to recognize it as +// a bogus comment "" instead. +// +// Strictly speaking, an HTML5 compliant tokenizer should allow CDATA if and +// only if tokenizing foreign content, such as MathML and SVG. However, +// tracking foreign-contentness is difficult to do purely in the tokenizer, +// as opposed to the parser, due to HTML integration points: an element +// can contain a that is foreign-to-SVG but not foreign-to- +// HTML. For strict compliance with the HTML5 tokenization algorithm, it is the +// responsibility of the user of a tokenizer to call AllowCDATA as appropriate. +// In practice, if using the tokenizer without caring whether MathML or SVG +// CDATA is text or comments, such as tokenizing HTML to find all the anchor +// text, it is acceptable to ignore this responsibility. +func (z *Tokenizer) AllowCDATA(allowCDATA bool) { + z.allowCDATA = allowCDATA +} + +// NextIsNotRawText instructs the tokenizer that the next token should not be +// considered as 'raw text'. Some elements, such as script and title elements, +// normally require the next token after the opening tag to be 'raw text' that +// has no child elements. For example, tokenizing "a<b>c</b>d" +// yields a start tag token for "", a text token for "a<b>c</b>d", and +// an end tag token for "". There are no distinct start tag or end tag +// tokens for the "" and "". +// +// This tokenizer implementation will generally look for raw text at the right +// times. Strictly speaking, an HTML5 compliant tokenizer should not look for +// raw text if in foreign content: generally needs raw text, but a +// <title> inside an <svg> does not. Another example is that a <textarea> +// generally needs raw text, but a <textarea> is not allowed as an immediate +// child of a <select>; in normal parsing, a <textarea> implies </select>, but +// one cannot close the implicit element when parsing a <select>'s InnerHTML. +// Similarly to AllowCDATA, tracking the correct moment to override raw-text- +// ness is difficult to do purely in the tokenizer, as opposed to the parser. +// For strict compliance with the HTML5 tokenization algorithm, it is the +// responsibility of the user of a tokenizer to call NextIsNotRawText as +// appropriate. In practice, like AllowCDATA, it is acceptable to ignore this +// responsibility for basic usage. +// +// Note that this 'raw text' concept is different from the one offered by the +// Tokenizer.Raw method. +func (z *Tokenizer) NextIsNotRawText() { + z.rawTag = "" +} + +// Err returns the error associated with the most recent ErrorToken token. +// This is typically io.EOF, meaning the end of tokenization. +func (z *Tokenizer) Err() error { + if z.tt != ErrorToken { + return nil + } + return z.err +} + +// readByte returns the next byte from the input stream, doing a buffered read +// from z.r into z.buf if necessary. z.buf[z.raw.start:z.raw.end] remains a contiguous byte +// slice that holds all the bytes read so far for the current token. +// It sets z.err if the underlying reader returns an error. +// Pre-condition: z.err == nil. +func (z *Tokenizer) readByte() byte { + if z.raw.end >= len(z.buf) { + // Our buffer is exhausted and we have to read from z.r. Check if the + // previous read resulted in an error. + if z.readErr != nil { + z.err = z.readErr + return 0 + } + // We copy z.buf[z.raw.start:z.raw.end] to the beginning of z.buf. If the length + // z.raw.end - z.raw.start is more than half the capacity of z.buf, then we + // allocate a new buffer before the copy. + c := cap(z.buf) + d := z.raw.end - z.raw.start + var buf1 []byte + if 2*d > c { + buf1 = make([]byte, d, 2*c) + } else { + buf1 = z.buf[:d] + } + copy(buf1, z.buf[z.raw.start:z.raw.end]) + if x := z.raw.start; x != 0 { + // Adjust the data/attr spans to refer to the same contents after the copy. + z.data.start -= x + z.data.end -= x + z.pendingAttr[0].start -= x + z.pendingAttr[0].end -= x + z.pendingAttr[1].start -= x + z.pendingAttr[1].end -= x + for i := range z.attr { + z.attr[i][0].start -= x + z.attr[i][0].end -= x + z.attr[i][1].start -= x + z.attr[i][1].end -= x + } + } + z.raw.start, z.raw.end, z.buf = 0, d, buf1[:d] + // Now that we have copied the live bytes to the start of the buffer, + // we read from z.r into the remainder. + var n int + n, z.readErr = readAtLeastOneByte(z.r, buf1[d:cap(buf1)]) + if n == 0 { + z.err = z.readErr + return 0 + } + z.buf = buf1[:d+n] + } + x := z.buf[z.raw.end] + z.raw.end++ + if z.maxBuf > 0 && z.raw.end-z.raw.start >= z.maxBuf { + z.err = ErrBufferExceeded + return 0 + } + return x +} + +// Buffered returns a slice containing data buffered but not yet tokenized. +func (z *Tokenizer) Buffered() []byte { + return z.buf[z.raw.end:] +} + +// readAtLeastOneByte wraps an io.Reader so that reading cannot return (0, nil). +// It returns io.ErrNoProgress if the underlying r.Read method returns (0, nil) +// too many times in succession. +func readAtLeastOneByte(r io.Reader, b []byte) (int, error) { + for i := 0; i < 100; i++ { + if n, err := r.Read(b); n != 0 || err != nil { + return n, err + } + } + return 0, io.ErrNoProgress +} + +// skipWhiteSpace skips past any white space. +func (z *Tokenizer) skipWhiteSpace() { + if z.err != nil { + return + } + for { + c := z.readByte() + if z.err != nil { + return + } + switch c { + case ' ', '\n', '\r', '\t', '\f': + // No-op. + default: + z.raw.end-- + return + } + } +} + +// readRawOrRCDATA reads until the next "</foo>", where "foo" is z.rawTag and +// is typically something like "script" or "textarea". +func (z *Tokenizer) readRawOrRCDATA() { + if z.rawTag == "script" { + z.readScript() + z.textIsRaw = true + z.rawTag = "" + return + } +loop: + for { + c := z.readByte() + if z.err != nil { + break loop + } + if c != '<' { + continue loop + } + c = z.readByte() + if z.err != nil { + break loop + } + if c != '/' { + z.raw.end-- + continue loop + } + if z.readRawEndTag() || z.err != nil { + break loop + } + } + z.data.end = z.raw.end + // A textarea's or title's RCDATA can contain escaped entities. + z.textIsRaw = z.rawTag != "textarea" && z.rawTag != "title" + z.rawTag = "" +} + +// readRawEndTag attempts to read a tag like "</foo>", where "foo" is z.rawTag. +// If it succeeds, it backs up the input position to reconsume the tag and +// returns true. Otherwise it returns false. The opening "</" has already been +// consumed. +func (z *Tokenizer) readRawEndTag() bool { + for i := 0; i < len(z.rawTag); i++ { + c := z.readByte() + if z.err != nil { + return false + } + if c != z.rawTag[i] && c != z.rawTag[i]-('a'-'A') { + z.raw.end-- + return false + } + } + c := z.readByte() + if z.err != nil { + return false + } + switch c { + case ' ', '\n', '\r', '\t', '\f', '/', '>': + // The 3 is 2 for the leading "</" plus 1 for the trailing character c. + z.raw.end -= 3 + len(z.rawTag) + return true + } + z.raw.end-- + return false +} + +// readScript reads until the next </script> tag, following the byzantine +// rules for escaping/hiding the closing tag. +func (z *Tokenizer) readScript() { + defer func() { + z.data.end = z.raw.end + }() + var c byte + +scriptData: + c = z.readByte() + if z.err != nil { + return + } + if c == '<' { + goto scriptDataLessThanSign + } + goto scriptData + +scriptDataLessThanSign: + c = z.readByte() + if z.err != nil { + return + } + switch c { + case '/': + goto scriptDataEndTagOpen + case '!': + goto scriptDataEscapeStart + } + z.raw.end-- + goto scriptData + +scriptDataEndTagOpen: + if z.readRawEndTag() || z.err != nil { + return + } + goto scriptData + +scriptDataEscapeStart: + c = z.readByte() + if z.err != nil { + return + } + if c == '-' { + goto scriptDataEscapeStartDash + } + z.raw.end-- + goto scriptData + +scriptDataEscapeStartDash: + c = z.readByte() + if z.err != nil { + return + } + if c == '-' { + goto scriptDataEscapedDashDash + } + z.raw.end-- + goto scriptData + +scriptDataEscaped: + c = z.readByte() + if z.err != nil { + return + } + switch c { + case '-': + goto scriptDataEscapedDash + case '<': + goto scriptDataEscapedLessThanSign + } + goto scriptDataEscaped + +scriptDataEscapedDash: + c = z.readByte() + if z.err != nil { + return + } + switch c { + case '-': + goto scriptDataEscapedDashDash + case '<': + goto scriptDataEscapedLessThanSign + } + goto scriptDataEscaped + +scriptDataEscapedDashDash: + c = z.readByte() + if z.err != nil { + return + } + switch c { + case '-': + goto scriptDataEscapedDashDash + case '<': + goto scriptDataEscapedLessThanSign + case '>': + goto scriptData + } + goto scriptDataEscaped + +scriptDataEscapedLessThanSign: + c = z.readByte() + if z.err != nil { + return + } + if c == '/' { + goto scriptDataEscapedEndTagOpen + } + if 'a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' { + goto scriptDataDoubleEscapeStart + } + z.raw.end-- + goto scriptData + +scriptDataEscapedEndTagOpen: + if z.readRawEndTag() || z.err != nil { + return + } + goto scriptDataEscaped + +scriptDataDoubleEscapeStart: + z.raw.end-- + for i := 0; i < len("script"); i++ { + c = z.readByte() + if z.err != nil { + return + } + if c != "script"[i] && c != "SCRIPT"[i] { + z.raw.end-- + goto scriptDataEscaped + } + } + c = z.readByte() + if z.err != nil { + return + } + switch c { + case ' ', '\n', '\r', '\t', '\f', '/', '>': + goto scriptDataDoubleEscaped + } + z.raw.end-- + goto scriptDataEscaped + +scriptDataDoubleEscaped: + c = z.readByte() + if z.err != nil { + return + } + switch c { + case '-': + goto scriptDataDoubleEscapedDash + case '<': + goto scriptDataDoubleEscapedLessThanSign + } + goto scriptDataDoubleEscaped + +scriptDataDoubleEscapedDash: + c = z.readByte() + if z.err != nil { + return + } + switch c { + case '-': + goto scriptDataDoubleEscapedDashDash + case '<': + goto scriptDataDoubleEscapedLessThanSign + } + goto scriptDataDoubleEscaped + +scriptDataDoubleEscapedDashDash: + c = z.readByte() + if z.err != nil { + return + } + switch c { + case '-': + goto scriptDataDoubleEscapedDashDash + case '<': + goto scriptDataDoubleEscapedLessThanSign + case '>': + goto scriptData + } + goto scriptDataDoubleEscaped + +scriptDataDoubleEscapedLessThanSign: + c = z.readByte() + if z.err != nil { + return + } + if c == '/' { + goto scriptDataDoubleEscapeEnd + } + z.raw.end-- + goto scriptDataDoubleEscaped + +scriptDataDoubleEscapeEnd: + if z.readRawEndTag() { + z.raw.end += len("</script>") + goto scriptDataEscaped + } + if z.err != nil { + return + } + goto scriptDataDoubleEscaped +} + +// readComment reads the next comment token starting with "<!--". The opening +// "<!--" has already been consumed. +func (z *Tokenizer) readComment() { + z.data.start = z.raw.end + defer func() { + if z.data.end < z.data.start { + // It's a comment with no data, like <!-->. + z.data.end = z.data.start + } + }() + for dashCount := 2; ; { + c := z.readByte() + if z.err != nil { + // Ignore up to two dashes at EOF. + if dashCount > 2 { + dashCount = 2 + } + z.data.end = z.raw.end - dashCount + return + } + switch c { + case '-': + dashCount++ + continue + case '>': + if dashCount >= 2 { + z.data.end = z.raw.end - len("-->") + return + } + case '!': + if dashCount >= 2 { + c = z.readByte() + if z.err != nil { + z.data.end = z.raw.end + return + } + if c == '>' { + z.data.end = z.raw.end - len("--!>") + return + } + } + } + dashCount = 0 + } +} + +// readUntilCloseAngle reads until the next ">". +func (z *Tokenizer) readUntilCloseAngle() { + z.data.start = z.raw.end + for { + c := z.readByte() + if z.err != nil { + z.data.end = z.raw.end + return + } + if c == '>' { + z.data.end = z.raw.end - len(">") + return + } + } +} + +// readMarkupDeclaration reads the next token starting with "<!". It might be +// a "<!--comment-->", a "<!DOCTYPE foo>", a "<![CDATA[section]]>" or +// "<!a bogus comment". The opening "<!" has already been consumed. +func (z *Tokenizer) readMarkupDeclaration() TokenType { + z.data.start = z.raw.end + var c [2]byte + for i := 0; i < 2; i++ { + c[i] = z.readByte() + if z.err != nil { + z.data.end = z.raw.end + return CommentToken + } + } + if c[0] == '-' && c[1] == '-' { + z.readComment() + return CommentToken + } + z.raw.end -= 2 + if z.readDoctype() { + return DoctypeToken + } + if z.allowCDATA && z.readCDATA() { + z.convertNUL = true + return TextToken + } + // It's a bogus comment. + z.readUntilCloseAngle() + return CommentToken +} + +// readDoctype attempts to read a doctype declaration and returns true if +// successful. The opening "<!" has already been consumed. +func (z *Tokenizer) readDoctype() bool { + const s = "DOCTYPE" + for i := 0; i < len(s); i++ { + c := z.readByte() + if z.err != nil { + z.data.end = z.raw.end + return false + } + if c != s[i] && c != s[i]+('a'-'A') { + // Back up to read the fragment of "DOCTYPE" again. + z.raw.end = z.data.start + return false + } + } + if z.skipWhiteSpace(); z.err != nil { + z.data.start = z.raw.end + z.data.end = z.raw.end + return true + } + z.readUntilCloseAngle() + return true +} + +// readCDATA attempts to read a CDATA section and returns true if +// successful. The opening "<!" has already been consumed. +func (z *Tokenizer) readCDATA() bool { + const s = "[CDATA[" + for i := 0; i < len(s); i++ { + c := z.readByte() + if z.err != nil { + z.data.end = z.raw.end + return false + } + if c != s[i] { + // Back up to read the fragment of "[CDATA[" again. + z.raw.end = z.data.start + return false + } + } + z.data.start = z.raw.end + brackets := 0 + for { + c := z.readByte() + if z.err != nil { + z.data.end = z.raw.end + return true + } + switch c { + case ']': + brackets++ + case '>': + if brackets >= 2 { + z.data.end = z.raw.end - len("]]>") + return true + } + brackets = 0 + default: + brackets = 0 + } + } +} + +// startTagIn returns whether the start tag in z.buf[z.data.start:z.data.end] +// case-insensitively matches any element of ss. +func (z *Tokenizer) startTagIn(ss ...string) bool { +loop: + for _, s := range ss { + if z.data.end-z.data.start != len(s) { + continue loop + } + for i := 0; i < len(s); i++ { + c := z.buf[z.data.start+i] + if 'A' <= c && c <= 'Z' { + c += 'a' - 'A' + } + if c != s[i] { + continue loop + } + } + return true + } + return false +} + +// readStartTag reads the next start tag token. The opening "<a" has already +// been consumed, where 'a' means anything in [A-Za-z]. +func (z *Tokenizer) readStartTag() TokenType { + z.readTag(true) + if z.err != nil { + return ErrorToken + } + // Several tags flag the tokenizer's next token as raw. + c, raw := z.buf[z.data.start], false + if 'A' <= c && c <= 'Z' { + c += 'a' - 'A' + } + switch c { + case 'i': + raw = z.startTagIn("iframe") + case 'n': + raw = z.startTagIn("noembed", "noframes", "noscript") + case 'p': + raw = z.startTagIn("plaintext") + case 's': + raw = z.startTagIn("script", "style") + case 't': + raw = z.startTagIn("textarea", "title") + case 'x': + raw = z.startTagIn("xmp") + } + if raw { + z.rawTag = strings.ToLower(string(z.buf[z.data.start:z.data.end])) + } + // Look for a self-closing token like "<br/>". + if z.err == nil && z.buf[z.raw.end-2] == '/' { + return SelfClosingTagToken + } + return StartTagToken +} + +// readTag reads the next tag token and its attributes. If saveAttr, those +// attributes are saved in z.attr, otherwise z.attr is set to an empty slice. +// The opening "<a" or "</a" has already been consumed, where 'a' means anything +// in [A-Za-z]. +func (z *Tokenizer) readTag(saveAttr bool) { + z.attr = z.attr[:0] + z.nAttrReturned = 0 + // Read the tag name and attribute key/value pairs. + z.readTagName() + if z.skipWhiteSpace(); z.err != nil { + return + } + for { + c := z.readByte() + if z.err != nil || c == '>' { + break + } + z.raw.end-- + z.readTagAttrKey() + z.readTagAttrVal() + // Save pendingAttr if saveAttr and that attribute has a non-empty key. + if saveAttr && z.pendingAttr[0].start != z.pendingAttr[0].end { + z.attr = append(z.attr, z.pendingAttr) + } + if z.skipWhiteSpace(); z.err != nil { + break + } + } +} + +// readTagName sets z.data to the "div" in "<div k=v>". The reader (z.raw.end) +// is positioned such that the first byte of the tag name (the "d" in "<div") +// has already been consumed. +func (z *Tokenizer) readTagName() { + z.data.start = z.raw.end - 1 + for { + c := z.readByte() + if z.err != nil { + z.data.end = z.raw.end + return + } + switch c { + case ' ', '\n', '\r', '\t', '\f': + z.data.end = z.raw.end - 1 + return + case '/', '>': + z.raw.end-- + z.data.end = z.raw.end + return + } + } +} + +// readTagAttrKey sets z.pendingAttr[0] to the "k" in "<div k=v>". +// Precondition: z.err == nil. +func (z *Tokenizer) readTagAttrKey() { + z.pendingAttr[0].start = z.raw.end + for { + c := z.readByte() + if z.err != nil { + z.pendingAttr[0].end = z.raw.end + return + } + switch c { + case ' ', '\n', '\r', '\t', '\f', '/': + z.pendingAttr[0].end = z.raw.end - 1 + return + case '=', '>': + z.raw.end-- + z.pendingAttr[0].end = z.raw.end + return + } + } +} + +// readTagAttrVal sets z.pendingAttr[1] to the "v" in "<div k=v>". +func (z *Tokenizer) readTagAttrVal() { + z.pendingAttr[1].start = z.raw.end + z.pendingAttr[1].end = z.raw.end + if z.skipWhiteSpace(); z.err != nil { + return + } + c := z.readByte() + if z.err != nil { + return + } + if c != '=' { + z.raw.end-- + return + } + if z.skipWhiteSpace(); z.err != nil { + return + } + quote := z.readByte() + if z.err != nil { + return + } + switch quote { + case '>': + z.raw.end-- + return + + case '\'', '"': + z.pendingAttr[1].start = z.raw.end + for { + c := z.readByte() + if z.err != nil { + z.pendingAttr[1].end = z.raw.end + return + } + if c == quote { + z.pendingAttr[1].end = z.raw.end - 1 + return + } + } + + default: + z.pendingAttr[1].start = z.raw.end - 1 + for { + c := z.readByte() + if z.err != nil { + z.pendingAttr[1].end = z.raw.end + return + } + switch c { + case ' ', '\n', '\r', '\t', '\f': + z.pendingAttr[1].end = z.raw.end - 1 + return + case '>': + z.raw.end-- + z.pendingAttr[1].end = z.raw.end + return + } + } + } +} + +// Next scans the next token and returns its type. +func (z *Tokenizer) Next() TokenType { + z.raw.start = z.raw.end + z.data.start = z.raw.end + z.data.end = z.raw.end + if z.err != nil { + z.tt = ErrorToken + return z.tt + } + if z.rawTag != "" { + if z.rawTag == "plaintext" { + // Read everything up to EOF. + for z.err == nil { + z.readByte() + } + z.data.end = z.raw.end + z.textIsRaw = true + } else { + z.readRawOrRCDATA() + } + if z.data.end > z.data.start { + z.tt = TextToken + z.convertNUL = true + return z.tt + } + } + z.textIsRaw = false + z.convertNUL = false + +loop: + for { + c := z.readByte() + if z.err != nil { + break loop + } + if c != '<' { + continue loop + } + + // Check if the '<' we have just read is part of a tag, comment + // or doctype. If not, it's part of the accumulated text token. + c = z.readByte() + if z.err != nil { + break loop + } + var tokenType TokenType + switch { + case 'a' <= c && c <= 'z' || 'A' <= c && c <= 'Z': + tokenType = StartTagToken + case c == '/': + tokenType = EndTagToken + case c == '!' || c == '?': + // We use CommentToken to mean any of "<!--actual comments-->", + // "<!DOCTYPE declarations>" and "<?xml processing instructions?>". + tokenType = CommentToken + default: + // Reconsume the current character. + z.raw.end-- + continue + } + + // We have a non-text token, but we might have accumulated some text + // before that. If so, we return the text first, and return the non- + // text token on the subsequent call to Next. + if x := z.raw.end - len("<a"); z.raw.start < x { + z.raw.end = x + z.data.end = x + z.tt = TextToken + return z.tt + } + switch tokenType { + case StartTagToken: + z.tt = z.readStartTag() + return z.tt + case EndTagToken: + c = z.readByte() + if z.err != nil { + break loop + } + if c == '>' { + // "</>" does not generate a token at all. Generate an empty comment + // to allow passthrough clients to pick up the data using Raw. + // Reset the tokenizer state and start again. + z.tt = CommentToken + return z.tt + } + if 'a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' { + z.readTag(false) + if z.err != nil { + z.tt = ErrorToken + } else { + z.tt = EndTagToken + } + return z.tt + } + z.raw.end-- + z.readUntilCloseAngle() + z.tt = CommentToken + return z.tt + case CommentToken: + if c == '!' { + z.tt = z.readMarkupDeclaration() + return z.tt + } + z.raw.end-- + z.readUntilCloseAngle() + z.tt = CommentToken + return z.tt + } + } + if z.raw.start < z.raw.end { + z.data.end = z.raw.end + z.tt = TextToken + return z.tt + } + z.tt = ErrorToken + return z.tt +} + +// Raw returns the unmodified text of the current token. Calling Next, Token, +// Text, TagName or TagAttr may change the contents of the returned slice. +// +// The token stream's raw bytes partition the byte stream (up until an +// ErrorToken). There are no overlaps or gaps between two consecutive token's +// raw bytes. One implication is that the byte offset of the current token is +// the sum of the lengths of all previous tokens' raw bytes. +func (z *Tokenizer) Raw() []byte { + return z.buf[z.raw.start:z.raw.end] +} + +// convertNewlines converts "\r" and "\r\n" in s to "\n". +// The conversion happens in place, but the resulting slice may be shorter. +func convertNewlines(s []byte) []byte { + for i, c := range s { + if c != '\r' { + continue + } + + src := i + 1 + if src >= len(s) || s[src] != '\n' { + s[i] = '\n' + continue + } + + dst := i + for src < len(s) { + if s[src] == '\r' { + if src+1 < len(s) && s[src+1] == '\n' { + src++ + } + s[dst] = '\n' + } else { + s[dst] = s[src] + } + src++ + dst++ + } + return s[:dst] + } + return s +} + +var ( + nul = []byte("\x00") + replacement = []byte("\ufffd") +) + +// Text returns the unescaped text of a text, comment or doctype token. The +// contents of the returned slice may change on the next call to Next. +func (z *Tokenizer) Text() []byte { + switch z.tt { + case TextToken, CommentToken, DoctypeToken: + s := z.buf[z.data.start:z.data.end] + z.data.start = z.raw.end + z.data.end = z.raw.end + s = convertNewlines(s) + if (z.convertNUL || z.tt == CommentToken) && bytes.Contains(s, nul) { + s = bytes.Replace(s, nul, replacement, -1) + } + if !z.textIsRaw { + s = unescape(s, false) + } + return s + } + return nil +} + +// TagName returns the lower-cased name of a tag token (the `img` out of +// `<IMG SRC="foo">`) and whether the tag has attributes. +// The contents of the returned slice may change on the next call to Next. +func (z *Tokenizer) TagName() (name []byte, hasAttr bool) { + if z.data.start < z.data.end { + switch z.tt { + case StartTagToken, EndTagToken, SelfClosingTagToken: + s := z.buf[z.data.start:z.data.end] + z.data.start = z.raw.end + z.data.end = z.raw.end + return lower(s), z.nAttrReturned < len(z.attr) + } + } + return nil, false +} + +// TagAttr returns the lower-cased key and unescaped value of the next unparsed +// attribute for the current tag token and whether there are more attributes. +// The contents of the returned slices may change on the next call to Next. +func (z *Tokenizer) TagAttr() (key, val []byte, moreAttr bool) { + if z.nAttrReturned < len(z.attr) { + switch z.tt { + case StartTagToken, SelfClosingTagToken: + x := z.attr[z.nAttrReturned] + z.nAttrReturned++ + key = z.buf[x[0].start:x[0].end] + val = z.buf[x[1].start:x[1].end] + return lower(key), unescape(convertNewlines(val), true), z.nAttrReturned < len(z.attr) + } + } + return nil, nil, false +} + +// Token returns the current Token. The result's Data and Attr values remain +// valid after subsequent Next calls. +func (z *Tokenizer) Token() Token { + t := Token{Type: z.tt} + switch z.tt { + case TextToken, CommentToken, DoctypeToken: + t.Data = string(z.Text()) + case StartTagToken, SelfClosingTagToken, EndTagToken: + name, moreAttr := z.TagName() + for moreAttr { + var key, val []byte + key, val, moreAttr = z.TagAttr() + t.Attr = append(t.Attr, Attribute{"", atom.String(key), string(val)}) + } + if a := atom.Lookup(name); a != 0 { + t.DataAtom, t.Data = a, a.String() + } else { + t.DataAtom, t.Data = 0, string(name) + } + } + return t +} + +// SetMaxBuf sets a limit on the amount of data buffered during tokenization. +// A value of 0 means unlimited. +func (z *Tokenizer) SetMaxBuf(n int) { + z.maxBuf = n +} + +// NewTokenizer returns a new HTML Tokenizer for the given Reader. +// The input is assumed to be UTF-8 encoded. +func NewTokenizer(r io.Reader) *Tokenizer { + return NewTokenizerFragment(r, "") +} + +// NewTokenizerFragment returns a new HTML Tokenizer for the given Reader, for +// tokenizing an existing element's InnerHTML fragment. contextTag is that +// element's tag, such as "div" or "iframe". +// +// For example, how the InnerHTML "a<b" is tokenized depends on whether it is +// for a <p> tag or a <script> tag. +// +// The input is assumed to be UTF-8 encoded. +func NewTokenizerFragment(r io.Reader, contextTag string) *Tokenizer { + z := &Tokenizer{ + r: r, + buf: make([]byte, 0, 4096), + } + if contextTag != "" { + switch s := strings.ToLower(contextTag); s { + case "iframe", "noembed", "noframes", "noscript", "plaintext", "script", "style", "title", "textarea", "xmp": + z.rawTag = s + } + } + return z +} diff --git a/vendor/golang.org/x/net/idna/idna10.0.0.go b/vendor/golang.org/x/net/idna/idna10.0.0.go new file mode 100644 index 000000000..5208ba6cb --- /dev/null +++ b/vendor/golang.org/x/net/idna/idna10.0.0.go @@ -0,0 +1,770 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.10 +// +build go1.10 + +// Package idna implements IDNA2008 using the compatibility processing +// defined by UTS (Unicode Technical Standard) #46, which defines a standard to +// deal with the transition from IDNA2003. +// +// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC +// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894. +// UTS #46 is defined in https://www.unicode.org/reports/tr46. +// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the +// differences between these two standards. +package idna // import "golang.org/x/net/idna" + +import ( + "fmt" + "strings" + "unicode/utf8" + + "golang.org/x/text/secure/bidirule" + "golang.org/x/text/unicode/bidi" + "golang.org/x/text/unicode/norm" +) + +// NOTE: Unlike common practice in Go APIs, the functions will return a +// sanitized domain name in case of errors. Browsers sometimes use a partially +// evaluated string as lookup. +// TODO: the current error handling is, in my opinion, the least opinionated. +// Other strategies are also viable, though: +// Option 1) Return an empty string in case of error, but allow the user to +// specify explicitly which errors to ignore. +// Option 2) Return the partially evaluated string if it is itself a valid +// string, otherwise return the empty string in case of error. +// Option 3) Option 1 and 2. +// Option 4) Always return an empty string for now and implement Option 1 as +// needed, and document that the return string may not be empty in case of +// error in the future. +// I think Option 1 is best, but it is quite opinionated. + +// ToASCII is a wrapper for Punycode.ToASCII. +func ToASCII(s string) (string, error) { + return Punycode.process(s, true) +} + +// ToUnicode is a wrapper for Punycode.ToUnicode. +func ToUnicode(s string) (string, error) { + return Punycode.process(s, false) +} + +// An Option configures a Profile at creation time. +type Option func(*options) + +// Transitional sets a Profile to use the Transitional mapping as defined in UTS +// #46. This will cause, for example, "ß" to be mapped to "ss". Using the +// transitional mapping provides a compromise between IDNA2003 and IDNA2008 +// compatibility. It is used by most browsers when resolving domain names. This +// option is only meaningful if combined with MapForLookup. +func Transitional(transitional bool) Option { + return func(o *options) { o.transitional = true } +} + +// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts +// are longer than allowed by the RFC. +// +// This option corresponds to the VerifyDnsLength flag in UTS #46. +func VerifyDNSLength(verify bool) Option { + return func(o *options) { o.verifyDNSLength = verify } +} + +// RemoveLeadingDots removes leading label separators. Leading runes that map to +// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well. +func RemoveLeadingDots(remove bool) Option { + return func(o *options) { o.removeLeadingDots = remove } +} + +// ValidateLabels sets whether to check the mandatory label validation criteria +// as defined in Section 5.4 of RFC 5891. This includes testing for correct use +// of hyphens ('-'), normalization, validity of runes, and the context rules. +// In particular, ValidateLabels also sets the CheckHyphens and CheckJoiners flags +// in UTS #46. +func ValidateLabels(enable bool) Option { + return func(o *options) { + // Don't override existing mappings, but set one that at least checks + // normalization if it is not set. + if o.mapping == nil && enable { + o.mapping = normalize + } + o.trie = trie + o.checkJoiners = enable + o.checkHyphens = enable + if enable { + o.fromPuny = validateFromPunycode + } else { + o.fromPuny = nil + } + } +} + +// CheckHyphens sets whether to check for correct use of hyphens ('-') in +// labels. Most web browsers do not have this option set, since labels such as +// "r3---sn-apo3qvuoxuxbt-j5pe" are in common use. +// +// This option corresponds to the CheckHyphens flag in UTS #46. +func CheckHyphens(enable bool) Option { + return func(o *options) { o.checkHyphens = enable } +} + +// CheckJoiners sets whether to check the ContextJ rules as defined in Appendix +// A of RFC 5892, concerning the use of joiner runes. +// +// This option corresponds to the CheckJoiners flag in UTS #46. +func CheckJoiners(enable bool) Option { + return func(o *options) { + o.trie = trie + o.checkJoiners = enable + } +} + +// StrictDomainName limits the set of permissible ASCII characters to those +// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the +// hyphen). This is set by default for MapForLookup and ValidateForRegistration, +// but is only useful if ValidateLabels is set. +// +// This option is useful, for instance, for browsers that allow characters +// outside this range, for example a '_' (U+005F LOW LINE). See +// http://www.rfc-editor.org/std/std3.txt for more details. +// +// This option corresponds to the UseSTD3ASCIIRules flag in UTS #46. +func StrictDomainName(use bool) Option { + return func(o *options) { o.useSTD3Rules = use } +} + +// NOTE: the following options pull in tables. The tables should not be linked +// in as long as the options are not used. + +// BidiRule enables the Bidi rule as defined in RFC 5893. Any application +// that relies on proper validation of labels should include this rule. +// +// This option corresponds to the CheckBidi flag in UTS #46. +func BidiRule() Option { + return func(o *options) { o.bidirule = bidirule.ValidString } +} + +// ValidateForRegistration sets validation options to verify that a given IDN is +// properly formatted for registration as defined by Section 4 of RFC 5891. +func ValidateForRegistration() Option { + return func(o *options) { + o.mapping = validateRegistration + StrictDomainName(true)(o) + ValidateLabels(true)(o) + VerifyDNSLength(true)(o) + BidiRule()(o) + } +} + +// MapForLookup sets validation and mapping options such that a given IDN is +// transformed for domain name lookup according to the requirements set out in +// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894, +// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option +// to add this check. +// +// The mappings include normalization and mapping case, width and other +// compatibility mappings. +func MapForLookup() Option { + return func(o *options) { + o.mapping = validateAndMap + StrictDomainName(true)(o) + ValidateLabels(true)(o) + } +} + +type options struct { + transitional bool + useSTD3Rules bool + checkHyphens bool + checkJoiners bool + verifyDNSLength bool + removeLeadingDots bool + + trie *idnaTrie + + // fromPuny calls validation rules when converting A-labels to U-labels. + fromPuny func(p *Profile, s string) error + + // mapping implements a validation and mapping step as defined in RFC 5895 + // or UTS 46, tailored to, for example, domain registration or lookup. + mapping func(p *Profile, s string) (mapped string, isBidi bool, err error) + + // bidirule, if specified, checks whether s conforms to the Bidi Rule + // defined in RFC 5893. + bidirule func(s string) bool +} + +// A Profile defines the configuration of an IDNA mapper. +type Profile struct { + options +} + +func apply(o *options, opts []Option) { + for _, f := range opts { + f(o) + } +} + +// New creates a new Profile. +// +// With no options, the returned Profile is the most permissive and equals the +// Punycode Profile. Options can be passed to further restrict the Profile. The +// MapForLookup and ValidateForRegistration options set a collection of options, +// for lookup and registration purposes respectively, which can be tailored by +// adding more fine-grained options, where later options override earlier +// options. +func New(o ...Option) *Profile { + p := &Profile{} + apply(&p.options, o) + return p +} + +// ToASCII converts a domain or domain label to its ASCII form. For example, +// ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and +// ToASCII("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToASCII(s string) (string, error) { + return p.process(s, true) +} + +// ToUnicode converts a domain or domain label to its Unicode form. For example, +// ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and +// ToUnicode("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToUnicode(s string) (string, error) { + pp := *p + pp.transitional = false + return pp.process(s, false) +} + +// String reports a string with a description of the profile for debugging +// purposes. The string format may change with different versions. +func (p *Profile) String() string { + s := "" + if p.transitional { + s = "Transitional" + } else { + s = "NonTransitional" + } + if p.useSTD3Rules { + s += ":UseSTD3Rules" + } + if p.checkHyphens { + s += ":CheckHyphens" + } + if p.checkJoiners { + s += ":CheckJoiners" + } + if p.verifyDNSLength { + s += ":VerifyDNSLength" + } + return s +} + +var ( + // Punycode is a Profile that does raw punycode processing with a minimum + // of validation. + Punycode *Profile = punycode + + // Lookup is the recommended profile for looking up domain names, according + // to Section 5 of RFC 5891. The exact configuration of this profile may + // change over time. + Lookup *Profile = lookup + + // Display is the recommended profile for displaying domain names. + // The configuration of this profile may change over time. + Display *Profile = display + + // Registration is the recommended profile for checking whether a given + // IDN is valid for registration, according to Section 4 of RFC 5891. + Registration *Profile = registration + + punycode = &Profile{} + lookup = &Profile{options{ + transitional: true, + useSTD3Rules: true, + checkHyphens: true, + checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + display = &Profile{options{ + useSTD3Rules: true, + checkHyphens: true, + checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + registration = &Profile{options{ + useSTD3Rules: true, + verifyDNSLength: true, + checkHyphens: true, + checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateRegistration, + bidirule: bidirule.ValidString, + }} + + // TODO: profiles + // Register: recommended for approving domain names: don't do any mappings + // but rather reject on invalid input. Bundle or block deviation characters. +) + +type labelError struct{ label, code_ string } + +func (e labelError) code() string { return e.code_ } +func (e labelError) Error() string { + return fmt.Sprintf("idna: invalid label %q", e.label) +} + +type runeError rune + +func (e runeError) code() string { return "P1" } +func (e runeError) Error() string { + return fmt.Sprintf("idna: disallowed rune %U", e) +} + +// process implements the algorithm described in section 4 of UTS #46, +// see https://www.unicode.org/reports/tr46. +func (p *Profile) process(s string, toASCII bool) (string, error) { + var err error + var isBidi bool + if p.mapping != nil { + s, isBidi, err = p.mapping(p, s) + } + // Remove leading empty labels. + if p.removeLeadingDots { + for ; len(s) > 0 && s[0] == '.'; s = s[1:] { + } + } + // TODO: allow for a quick check of the tables data. + // It seems like we should only create this error on ToASCII, but the + // UTS 46 conformance tests suggests we should always check this. + if err == nil && p.verifyDNSLength && s == "" { + err = &labelError{s, "A4"} + } + labels := labelIter{orig: s} + for ; !labels.done(); labels.next() { + label := labels.label() + if label == "" { + // Empty labels are not okay. The label iterator skips the last + // label if it is empty. + if err == nil && p.verifyDNSLength { + err = &labelError{s, "A4"} + } + continue + } + if strings.HasPrefix(label, acePrefix) { + u, err2 := decode(label[len(acePrefix):]) + if err2 != nil { + if err == nil { + err = err2 + } + // Spec says keep the old label. + continue + } + isBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight + labels.set(u) + if err == nil && p.fromPuny != nil { + err = p.fromPuny(p, u) + } + if err == nil { + // This should be called on NonTransitional, according to the + // spec, but that currently does not have any effect. Use the + // original profile to preserve options. + err = p.validateLabel(u) + } + } else if err == nil { + err = p.validateLabel(label) + } + } + if isBidi && p.bidirule != nil && err == nil { + for labels.reset(); !labels.done(); labels.next() { + if !p.bidirule(labels.label()) { + err = &labelError{s, "B"} + break + } + } + } + if toASCII { + for labels.reset(); !labels.done(); labels.next() { + label := labels.label() + if !ascii(label) { + a, err2 := encode(acePrefix, label) + if err == nil { + err = err2 + } + label = a + labels.set(a) + } + n := len(label) + if p.verifyDNSLength && err == nil && (n == 0 || n > 63) { + err = &labelError{label, "A4"} + } + } + } + s = labels.result() + if toASCII && p.verifyDNSLength && err == nil { + // Compute the length of the domain name minus the root label and its dot. + n := len(s) + if n > 0 && s[n-1] == '.' { + n-- + } + if len(s) < 1 || n > 253 { + err = &labelError{s, "A4"} + } + } + return s, err +} + +func normalize(p *Profile, s string) (mapped string, isBidi bool, err error) { + // TODO: consider first doing a quick check to see if any of these checks + // need to be done. This will make it slower in the general case, but + // faster in the common case. + mapped = norm.NFC.String(s) + isBidi = bidirule.DirectionString(mapped) == bidi.RightToLeft + return mapped, isBidi, nil +} + +func validateRegistration(p *Profile, s string) (idem string, bidi bool, err error) { + // TODO: filter need for normalization in loop below. + if !norm.NFC.IsNormalString(s) { + return s, false, &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if sz == 0 { + return s, bidi, runeError(utf8.RuneError) + } + bidi = bidi || info(v).isBidi(s[i:]) + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + // TODO: handle the NV8 defined in the Unicode idna data set to allow + // for strict conformance to IDNA2008. + case valid, deviation: + case disallowed, mapped, unknown, ignored: + r, _ := utf8.DecodeRuneInString(s[i:]) + return s, bidi, runeError(r) + } + i += sz + } + return s, bidi, nil +} + +func (c info) isBidi(s string) bool { + if !c.isMapped() { + return c&attributesMask == rtl + } + // TODO: also store bidi info for mapped data. This is possible, but a bit + // cumbersome and not for the common case. + p, _ := bidi.LookupString(s) + switch p.Class() { + case bidi.R, bidi.AL, bidi.AN: + return true + } + return false +} + +func validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) { + var ( + b []byte + k int + ) + // combinedInfoBits contains the or-ed bits of all runes. We use this + // to derive the mayNeedNorm bit later. This may trigger normalization + // overeagerly, but it will not do so in the common case. The end result + // is another 10% saving on BenchmarkProfile for the common case. + var combinedInfoBits info + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if sz == 0 { + b = append(b, s[k:i]...) + b = append(b, "\ufffd"...) + k = len(s) + if err == nil { + err = runeError(utf8.RuneError) + } + break + } + combinedInfoBits |= info(v) + bidi = bidi || info(v).isBidi(s[i:]) + start := i + i += sz + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + case valid: + continue + case disallowed: + if err == nil { + r, _ := utf8.DecodeRuneInString(s[start:]) + err = runeError(r) + } + continue + case mapped, deviation: + b = append(b, s[k:start]...) + b = info(v).appendMapping(b, s[start:i]) + case ignored: + b = append(b, s[k:start]...) + // drop the rune + case unknown: + b = append(b, s[k:start]...) + b = append(b, "\ufffd"...) + } + k = i + } + if k == 0 { + // No changes so far. + if combinedInfoBits&mayNeedNorm != 0 { + s = norm.NFC.String(s) + } + } else { + b = append(b, s[k:]...) + if norm.NFC.QuickSpan(b) != len(b) { + b = norm.NFC.Bytes(b) + } + // TODO: the punycode converters require strings as input. + s = string(b) + } + return s, bidi, err +} + +// A labelIter allows iterating over domain name labels. +type labelIter struct { + orig string + slice []string + curStart int + curEnd int + i int +} + +func (l *labelIter) reset() { + l.curStart = 0 + l.curEnd = 0 + l.i = 0 +} + +func (l *labelIter) done() bool { + return l.curStart >= len(l.orig) +} + +func (l *labelIter) result() string { + if l.slice != nil { + return strings.Join(l.slice, ".") + } + return l.orig +} + +func (l *labelIter) label() string { + if l.slice != nil { + return l.slice[l.i] + } + p := strings.IndexByte(l.orig[l.curStart:], '.') + l.curEnd = l.curStart + p + if p == -1 { + l.curEnd = len(l.orig) + } + return l.orig[l.curStart:l.curEnd] +} + +// next sets the value to the next label. It skips the last label if it is empty. +func (l *labelIter) next() { + l.i++ + if l.slice != nil { + if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" { + l.curStart = len(l.orig) + } + } else { + l.curStart = l.curEnd + 1 + if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' { + l.curStart = len(l.orig) + } + } +} + +func (l *labelIter) set(s string) { + if l.slice == nil { + l.slice = strings.Split(l.orig, ".") + } + l.slice[l.i] = s +} + +// acePrefix is the ASCII Compatible Encoding prefix. +const acePrefix = "xn--" + +func (p *Profile) simplify(cat category) category { + switch cat { + case disallowedSTD3Mapped: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = mapped + } + case disallowedSTD3Valid: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = valid + } + case deviation: + if !p.transitional { + cat = valid + } + case validNV8, validXV8: + // TODO: handle V2008 + cat = valid + } + return cat +} + +func validateFromPunycode(p *Profile, s string) error { + if !norm.NFC.IsNormalString(s) { + return &labelError{s, "V1"} + } + // TODO: detect whether string may have to be normalized in the following + // loop. + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if sz == 0 { + return runeError(utf8.RuneError) + } + if c := p.simplify(info(v).category()); c != valid && c != deviation { + return &labelError{s, "V6"} + } + i += sz + } + return nil +} + +const ( + zwnj = "\u200c" + zwj = "\u200d" +) + +type joinState int8 + +const ( + stateStart joinState = iota + stateVirama + stateBefore + stateBeforeVirama + stateAfter + stateFAIL +) + +var joinStates = [][numJoinTypes]joinState{ + stateStart: { + joiningL: stateBefore, + joiningD: stateBefore, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateVirama, + }, + stateVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + }, + stateBefore: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + joinZWNJ: stateAfter, + joinZWJ: stateFAIL, + joinVirama: stateBeforeVirama, + }, + stateBeforeVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + }, + stateAfter: { + joiningL: stateFAIL, + joiningD: stateBefore, + joiningT: stateAfter, + joiningR: stateStart, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateAfter, // no-op as we can't accept joiners here + }, + stateFAIL: { + 0: stateFAIL, + joiningL: stateFAIL, + joiningD: stateFAIL, + joiningT: stateFAIL, + joiningR: stateFAIL, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateFAIL, + }, +} + +// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are +// already implicitly satisfied by the overall implementation. +func (p *Profile) validateLabel(s string) (err error) { + if s == "" { + if p.verifyDNSLength { + return &labelError{s, "A4"} + } + return nil + } + if p.checkHyphens { + if len(s) > 4 && s[2] == '-' && s[3] == '-' { + return &labelError{s, "V2"} + } + if s[0] == '-' || s[len(s)-1] == '-' { + return &labelError{s, "V3"} + } + } + if !p.checkJoiners { + return nil + } + trie := p.trie // p.checkJoiners is only set if trie is set. + // TODO: merge the use of this in the trie. + v, sz := trie.lookupString(s) + x := info(v) + if x.isModifier() { + return &labelError{s, "V5"} + } + // Quickly return in the absence of zero-width (non) joiners. + if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 { + return nil + } + st := stateStart + for i := 0; ; { + jt := x.joinType() + if s[i:i+sz] == zwj { + jt = joinZWJ + } else if s[i:i+sz] == zwnj { + jt = joinZWNJ + } + st = joinStates[st][jt] + if x.isViramaModifier() { + st = joinStates[st][joinVirama] + } + if i += sz; i == len(s) { + break + } + v, sz = trie.lookupString(s[i:]) + x = info(v) + } + if st == stateFAIL || st == stateAfter { + return &labelError{s, "C"} + } + return nil +} + +func ascii(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} diff --git a/vendor/golang.org/x/net/idna/idna9.0.0.go b/vendor/golang.org/x/net/idna/idna9.0.0.go new file mode 100644 index 000000000..55f718f12 --- /dev/null +++ b/vendor/golang.org/x/net/idna/idna9.0.0.go @@ -0,0 +1,718 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !go1.10 +// +build !go1.10 + +// Package idna implements IDNA2008 using the compatibility processing +// defined by UTS (Unicode Technical Standard) #46, which defines a standard to +// deal with the transition from IDNA2003. +// +// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC +// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894. +// UTS #46 is defined in https://www.unicode.org/reports/tr46. +// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the +// differences between these two standards. +package idna // import "golang.org/x/net/idna" + +import ( + "fmt" + "strings" + "unicode/utf8" + + "golang.org/x/text/secure/bidirule" + "golang.org/x/text/unicode/norm" +) + +// NOTE: Unlike common practice in Go APIs, the functions will return a +// sanitized domain name in case of errors. Browsers sometimes use a partially +// evaluated string as lookup. +// TODO: the current error handling is, in my opinion, the least opinionated. +// Other strategies are also viable, though: +// Option 1) Return an empty string in case of error, but allow the user to +// specify explicitly which errors to ignore. +// Option 2) Return the partially evaluated string if it is itself a valid +// string, otherwise return the empty string in case of error. +// Option 3) Option 1 and 2. +// Option 4) Always return an empty string for now and implement Option 1 as +// needed, and document that the return string may not be empty in case of +// error in the future. +// I think Option 1 is best, but it is quite opinionated. + +// ToASCII is a wrapper for Punycode.ToASCII. +func ToASCII(s string) (string, error) { + return Punycode.process(s, true) +} + +// ToUnicode is a wrapper for Punycode.ToUnicode. +func ToUnicode(s string) (string, error) { + return Punycode.process(s, false) +} + +// An Option configures a Profile at creation time. +type Option func(*options) + +// Transitional sets a Profile to use the Transitional mapping as defined in UTS +// #46. This will cause, for example, "ß" to be mapped to "ss". Using the +// transitional mapping provides a compromise between IDNA2003 and IDNA2008 +// compatibility. It is used by most browsers when resolving domain names. This +// option is only meaningful if combined with MapForLookup. +func Transitional(transitional bool) Option { + return func(o *options) { o.transitional = true } +} + +// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts +// are longer than allowed by the RFC. +// +// This option corresponds to the VerifyDnsLength flag in UTS #46. +func VerifyDNSLength(verify bool) Option { + return func(o *options) { o.verifyDNSLength = verify } +} + +// RemoveLeadingDots removes leading label separators. Leading runes that map to +// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well. +func RemoveLeadingDots(remove bool) Option { + return func(o *options) { o.removeLeadingDots = remove } +} + +// ValidateLabels sets whether to check the mandatory label validation criteria +// as defined in Section 5.4 of RFC 5891. This includes testing for correct use +// of hyphens ('-'), normalization, validity of runes, and the context rules. +// In particular, ValidateLabels also sets the CheckHyphens and CheckJoiners flags +// in UTS #46. +func ValidateLabels(enable bool) Option { + return func(o *options) { + // Don't override existing mappings, but set one that at least checks + // normalization if it is not set. + if o.mapping == nil && enable { + o.mapping = normalize + } + o.trie = trie + o.checkJoiners = enable + o.checkHyphens = enable + if enable { + o.fromPuny = validateFromPunycode + } else { + o.fromPuny = nil + } + } +} + +// CheckHyphens sets whether to check for correct use of hyphens ('-') in +// labels. Most web browsers do not have this option set, since labels such as +// "r3---sn-apo3qvuoxuxbt-j5pe" are in common use. +// +// This option corresponds to the CheckHyphens flag in UTS #46. +func CheckHyphens(enable bool) Option { + return func(o *options) { o.checkHyphens = enable } +} + +// CheckJoiners sets whether to check the ContextJ rules as defined in Appendix +// A of RFC 5892, concerning the use of joiner runes. +// +// This option corresponds to the CheckJoiners flag in UTS #46. +func CheckJoiners(enable bool) Option { + return func(o *options) { + o.trie = trie + o.checkJoiners = enable + } +} + +// StrictDomainName limits the set of permissable ASCII characters to those +// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the +// hyphen). This is set by default for MapForLookup and ValidateForRegistration, +// but is only useful if ValidateLabels is set. +// +// This option is useful, for instance, for browsers that allow characters +// outside this range, for example a '_' (U+005F LOW LINE). See +// http://www.rfc-editor.org/std/std3.txt for more details. +// +// This option corresponds to the UseSTD3ASCIIRules flag in UTS #46. +func StrictDomainName(use bool) Option { + return func(o *options) { o.useSTD3Rules = use } +} + +// NOTE: the following options pull in tables. The tables should not be linked +// in as long as the options are not used. + +// BidiRule enables the Bidi rule as defined in RFC 5893. Any application +// that relies on proper validation of labels should include this rule. +// +// This option corresponds to the CheckBidi flag in UTS #46. +func BidiRule() Option { + return func(o *options) { o.bidirule = bidirule.ValidString } +} + +// ValidateForRegistration sets validation options to verify that a given IDN is +// properly formatted for registration as defined by Section 4 of RFC 5891. +func ValidateForRegistration() Option { + return func(o *options) { + o.mapping = validateRegistration + StrictDomainName(true)(o) + ValidateLabels(true)(o) + VerifyDNSLength(true)(o) + BidiRule()(o) + } +} + +// MapForLookup sets validation and mapping options such that a given IDN is +// transformed for domain name lookup according to the requirements set out in +// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894, +// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option +// to add this check. +// +// The mappings include normalization and mapping case, width and other +// compatibility mappings. +func MapForLookup() Option { + return func(o *options) { + o.mapping = validateAndMap + StrictDomainName(true)(o) + ValidateLabels(true)(o) + RemoveLeadingDots(true)(o) + } +} + +type options struct { + transitional bool + useSTD3Rules bool + checkHyphens bool + checkJoiners bool + verifyDNSLength bool + removeLeadingDots bool + + trie *idnaTrie + + // fromPuny calls validation rules when converting A-labels to U-labels. + fromPuny func(p *Profile, s string) error + + // mapping implements a validation and mapping step as defined in RFC 5895 + // or UTS 46, tailored to, for example, domain registration or lookup. + mapping func(p *Profile, s string) (string, error) + + // bidirule, if specified, checks whether s conforms to the Bidi Rule + // defined in RFC 5893. + bidirule func(s string) bool +} + +// A Profile defines the configuration of a IDNA mapper. +type Profile struct { + options +} + +func apply(o *options, opts []Option) { + for _, f := range opts { + f(o) + } +} + +// New creates a new Profile. +// +// With no options, the returned Profile is the most permissive and equals the +// Punycode Profile. Options can be passed to further restrict the Profile. The +// MapForLookup and ValidateForRegistration options set a collection of options, +// for lookup and registration purposes respectively, which can be tailored by +// adding more fine-grained options, where later options override earlier +// options. +func New(o ...Option) *Profile { + p := &Profile{} + apply(&p.options, o) + return p +} + +// ToASCII converts a domain or domain label to its ASCII form. For example, +// ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and +// ToASCII("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToASCII(s string) (string, error) { + return p.process(s, true) +} + +// ToUnicode converts a domain or domain label to its Unicode form. For example, +// ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and +// ToUnicode("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToUnicode(s string) (string, error) { + pp := *p + pp.transitional = false + return pp.process(s, false) +} + +// String reports a string with a description of the profile for debugging +// purposes. The string format may change with different versions. +func (p *Profile) String() string { + s := "" + if p.transitional { + s = "Transitional" + } else { + s = "NonTransitional" + } + if p.useSTD3Rules { + s += ":UseSTD3Rules" + } + if p.checkHyphens { + s += ":CheckHyphens" + } + if p.checkJoiners { + s += ":CheckJoiners" + } + if p.verifyDNSLength { + s += ":VerifyDNSLength" + } + return s +} + +var ( + // Punycode is a Profile that does raw punycode processing with a minimum + // of validation. + Punycode *Profile = punycode + + // Lookup is the recommended profile for looking up domain names, according + // to Section 5 of RFC 5891. The exact configuration of this profile may + // change over time. + Lookup *Profile = lookup + + // Display is the recommended profile for displaying domain names. + // The configuration of this profile may change over time. + Display *Profile = display + + // Registration is the recommended profile for checking whether a given + // IDN is valid for registration, according to Section 4 of RFC 5891. + Registration *Profile = registration + + punycode = &Profile{} + lookup = &Profile{options{ + transitional: true, + removeLeadingDots: true, + useSTD3Rules: true, + checkHyphens: true, + checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + display = &Profile{options{ + useSTD3Rules: true, + removeLeadingDots: true, + checkHyphens: true, + checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + registration = &Profile{options{ + useSTD3Rules: true, + verifyDNSLength: true, + checkHyphens: true, + checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateRegistration, + bidirule: bidirule.ValidString, + }} + + // TODO: profiles + // Register: recommended for approving domain names: don't do any mappings + // but rather reject on invalid input. Bundle or block deviation characters. +) + +type labelError struct{ label, code_ string } + +func (e labelError) code() string { return e.code_ } +func (e labelError) Error() string { + return fmt.Sprintf("idna: invalid label %q", e.label) +} + +type runeError rune + +func (e runeError) code() string { return "P1" } +func (e runeError) Error() string { + return fmt.Sprintf("idna: disallowed rune %U", e) +} + +// process implements the algorithm described in section 4 of UTS #46, +// see https://www.unicode.org/reports/tr46. +func (p *Profile) process(s string, toASCII bool) (string, error) { + var err error + if p.mapping != nil { + s, err = p.mapping(p, s) + } + // Remove leading empty labels. + if p.removeLeadingDots { + for ; len(s) > 0 && s[0] == '.'; s = s[1:] { + } + } + // It seems like we should only create this error on ToASCII, but the + // UTS 46 conformance tests suggests we should always check this. + if err == nil && p.verifyDNSLength && s == "" { + err = &labelError{s, "A4"} + } + labels := labelIter{orig: s} + for ; !labels.done(); labels.next() { + label := labels.label() + if label == "" { + // Empty labels are not okay. The label iterator skips the last + // label if it is empty. + if err == nil && p.verifyDNSLength { + err = &labelError{s, "A4"} + } + continue + } + if strings.HasPrefix(label, acePrefix) { + u, err2 := decode(label[len(acePrefix):]) + if err2 != nil { + if err == nil { + err = err2 + } + // Spec says keep the old label. + continue + } + labels.set(u) + if err == nil && p.fromPuny != nil { + err = p.fromPuny(p, u) + } + if err == nil { + // This should be called on NonTransitional, according to the + // spec, but that currently does not have any effect. Use the + // original profile to preserve options. + err = p.validateLabel(u) + } + } else if err == nil { + err = p.validateLabel(label) + } + } + if toASCII { + for labels.reset(); !labels.done(); labels.next() { + label := labels.label() + if !ascii(label) { + a, err2 := encode(acePrefix, label) + if err == nil { + err = err2 + } + label = a + labels.set(a) + } + n := len(label) + if p.verifyDNSLength && err == nil && (n == 0 || n > 63) { + err = &labelError{label, "A4"} + } + } + } + s = labels.result() + if toASCII && p.verifyDNSLength && err == nil { + // Compute the length of the domain name minus the root label and its dot. + n := len(s) + if n > 0 && s[n-1] == '.' { + n-- + } + if len(s) < 1 || n > 253 { + err = &labelError{s, "A4"} + } + } + return s, err +} + +func normalize(p *Profile, s string) (string, error) { + return norm.NFC.String(s), nil +} + +func validateRegistration(p *Profile, s string) (string, error) { + if !norm.NFC.IsNormalString(s) { + return s, &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + // TODO: handle the NV8 defined in the Unicode idna data set to allow + // for strict conformance to IDNA2008. + case valid, deviation: + case disallowed, mapped, unknown, ignored: + r, _ := utf8.DecodeRuneInString(s[i:]) + return s, runeError(r) + } + i += sz + } + return s, nil +} + +func validateAndMap(p *Profile, s string) (string, error) { + var ( + err error + b []byte + k int + ) + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + start := i + i += sz + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + case valid: + continue + case disallowed: + if err == nil { + r, _ := utf8.DecodeRuneInString(s[start:]) + err = runeError(r) + } + continue + case mapped, deviation: + b = append(b, s[k:start]...) + b = info(v).appendMapping(b, s[start:i]) + case ignored: + b = append(b, s[k:start]...) + // drop the rune + case unknown: + b = append(b, s[k:start]...) + b = append(b, "\ufffd"...) + } + k = i + } + if k == 0 { + // No changes so far. + s = norm.NFC.String(s) + } else { + b = append(b, s[k:]...) + if norm.NFC.QuickSpan(b) != len(b) { + b = norm.NFC.Bytes(b) + } + // TODO: the punycode converters require strings as input. + s = string(b) + } + return s, err +} + +// A labelIter allows iterating over domain name labels. +type labelIter struct { + orig string + slice []string + curStart int + curEnd int + i int +} + +func (l *labelIter) reset() { + l.curStart = 0 + l.curEnd = 0 + l.i = 0 +} + +func (l *labelIter) done() bool { + return l.curStart >= len(l.orig) +} + +func (l *labelIter) result() string { + if l.slice != nil { + return strings.Join(l.slice, ".") + } + return l.orig +} + +func (l *labelIter) label() string { + if l.slice != nil { + return l.slice[l.i] + } + p := strings.IndexByte(l.orig[l.curStart:], '.') + l.curEnd = l.curStart + p + if p == -1 { + l.curEnd = len(l.orig) + } + return l.orig[l.curStart:l.curEnd] +} + +// next sets the value to the next label. It skips the last label if it is empty. +func (l *labelIter) next() { + l.i++ + if l.slice != nil { + if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" { + l.curStart = len(l.orig) + } + } else { + l.curStart = l.curEnd + 1 + if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' { + l.curStart = len(l.orig) + } + } +} + +func (l *labelIter) set(s string) { + if l.slice == nil { + l.slice = strings.Split(l.orig, ".") + } + l.slice[l.i] = s +} + +// acePrefix is the ASCII Compatible Encoding prefix. +const acePrefix = "xn--" + +func (p *Profile) simplify(cat category) category { + switch cat { + case disallowedSTD3Mapped: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = mapped + } + case disallowedSTD3Valid: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = valid + } + case deviation: + if !p.transitional { + cat = valid + } + case validNV8, validXV8: + // TODO: handle V2008 + cat = valid + } + return cat +} + +func validateFromPunycode(p *Profile, s string) error { + if !norm.NFC.IsNormalString(s) { + return &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if c := p.simplify(info(v).category()); c != valid && c != deviation { + return &labelError{s, "V6"} + } + i += sz + } + return nil +} + +const ( + zwnj = "\u200c" + zwj = "\u200d" +) + +type joinState int8 + +const ( + stateStart joinState = iota + stateVirama + stateBefore + stateBeforeVirama + stateAfter + stateFAIL +) + +var joinStates = [][numJoinTypes]joinState{ + stateStart: { + joiningL: stateBefore, + joiningD: stateBefore, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateVirama, + }, + stateVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + }, + stateBefore: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + joinZWNJ: stateAfter, + joinZWJ: stateFAIL, + joinVirama: stateBeforeVirama, + }, + stateBeforeVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + }, + stateAfter: { + joiningL: stateFAIL, + joiningD: stateBefore, + joiningT: stateAfter, + joiningR: stateStart, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateAfter, // no-op as we can't accept joiners here + }, + stateFAIL: { + 0: stateFAIL, + joiningL: stateFAIL, + joiningD: stateFAIL, + joiningT: stateFAIL, + joiningR: stateFAIL, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateFAIL, + }, +} + +// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are +// already implicitly satisfied by the overall implementation. +func (p *Profile) validateLabel(s string) error { + if s == "" { + if p.verifyDNSLength { + return &labelError{s, "A4"} + } + return nil + } + if p.bidirule != nil && !p.bidirule(s) { + return &labelError{s, "B"} + } + if p.checkHyphens { + if len(s) > 4 && s[2] == '-' && s[3] == '-' { + return &labelError{s, "V2"} + } + if s[0] == '-' || s[len(s)-1] == '-' { + return &labelError{s, "V3"} + } + } + if !p.checkJoiners { + return nil + } + trie := p.trie // p.checkJoiners is only set if trie is set. + // TODO: merge the use of this in the trie. + v, sz := trie.lookupString(s) + x := info(v) + if x.isModifier() { + return &labelError{s, "V5"} + } + // Quickly return in the absence of zero-width (non) joiners. + if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 { + return nil + } + st := stateStart + for i := 0; ; { + jt := x.joinType() + if s[i:i+sz] == zwj { + jt = joinZWJ + } else if s[i:i+sz] == zwnj { + jt = joinZWNJ + } + st = joinStates[st][jt] + if x.isViramaModifier() { + st = joinStates[st][joinVirama] + } + if i += sz; i == len(s) { + break + } + v, sz = trie.lookupString(s[i:]) + x = info(v) + } + if st == stateFAIL || st == stateAfter { + return &labelError{s, "C"} + } + return nil +} + +func ascii(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} diff --git a/vendor/golang.org/x/net/idna/punycode.go b/vendor/golang.org/x/net/idna/punycode.go new file mode 100644 index 000000000..02c7d59af --- /dev/null +++ b/vendor/golang.org/x/net/idna/punycode.go @@ -0,0 +1,203 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package idna + +// This file implements the Punycode algorithm from RFC 3492. + +import ( + "math" + "strings" + "unicode/utf8" +) + +// These parameter values are specified in section 5. +// +// All computation is done with int32s, so that overflow behavior is identical +// regardless of whether int is 32-bit or 64-bit. +const ( + base int32 = 36 + damp int32 = 700 + initialBias int32 = 72 + initialN int32 = 128 + skew int32 = 38 + tmax int32 = 26 + tmin int32 = 1 +) + +func punyError(s string) error { return &labelError{s, "A3"} } + +// decode decodes a string as specified in section 6.2. +func decode(encoded string) (string, error) { + if encoded == "" { + return "", nil + } + pos := 1 + strings.LastIndex(encoded, "-") + if pos == 1 { + return "", punyError(encoded) + } + if pos == len(encoded) { + return encoded[:len(encoded)-1], nil + } + output := make([]rune, 0, len(encoded)) + if pos != 0 { + for _, r := range encoded[:pos-1] { + output = append(output, r) + } + } + i, n, bias := int32(0), initialN, initialBias + for pos < len(encoded) { + oldI, w := i, int32(1) + for k := base; ; k += base { + if pos == len(encoded) { + return "", punyError(encoded) + } + digit, ok := decodeDigit(encoded[pos]) + if !ok { + return "", punyError(encoded) + } + pos++ + i += digit * w + if i < 0 { + return "", punyError(encoded) + } + t := k - bias + if t < tmin { + t = tmin + } else if t > tmax { + t = tmax + } + if digit < t { + break + } + w *= base - t + if w >= math.MaxInt32/base { + return "", punyError(encoded) + } + } + x := int32(len(output) + 1) + bias = adapt(i-oldI, x, oldI == 0) + n += i / x + i %= x + if n > utf8.MaxRune || len(output) >= 1024 { + return "", punyError(encoded) + } + output = append(output, 0) + copy(output[i+1:], output[i:]) + output[i] = n + i++ + } + return string(output), nil +} + +// encode encodes a string as specified in section 6.3 and prepends prefix to +// the result. +// +// The "while h < length(input)" line in the specification becomes "for +// remaining != 0" in the Go code, because len(s) in Go is in bytes, not runes. +func encode(prefix, s string) (string, error) { + output := make([]byte, len(prefix), len(prefix)+1+2*len(s)) + copy(output, prefix) + delta, n, bias := int32(0), initialN, initialBias + b, remaining := int32(0), int32(0) + for _, r := range s { + if r < 0x80 { + b++ + output = append(output, byte(r)) + } else { + remaining++ + } + } + h := b + if b > 0 { + output = append(output, '-') + } + for remaining != 0 { + m := int32(0x7fffffff) + for _, r := range s { + if m > r && r >= n { + m = r + } + } + delta += (m - n) * (h + 1) + if delta < 0 { + return "", punyError(s) + } + n = m + for _, r := range s { + if r < n { + delta++ + if delta < 0 { + return "", punyError(s) + } + continue + } + if r > n { + continue + } + q := delta + for k := base; ; k += base { + t := k - bias + if t < tmin { + t = tmin + } else if t > tmax { + t = tmax + } + if q < t { + break + } + output = append(output, encodeDigit(t+(q-t)%(base-t))) + q = (q - t) / (base - t) + } + output = append(output, encodeDigit(q)) + bias = adapt(delta, h+1, h == b) + delta = 0 + h++ + remaining-- + } + delta++ + n++ + } + return string(output), nil +} + +func decodeDigit(x byte) (digit int32, ok bool) { + switch { + case '0' <= x && x <= '9': + return int32(x - ('0' - 26)), true + case 'A' <= x && x <= 'Z': + return int32(x - 'A'), true + case 'a' <= x && x <= 'z': + return int32(x - 'a'), true + } + return 0, false +} + +func encodeDigit(digit int32) byte { + switch { + case 0 <= digit && digit < 26: + return byte(digit + 'a') + case 26 <= digit && digit < 36: + return byte(digit + ('0' - 26)) + } + panic("idna: internal error in punycode encoding") +} + +// adapt is the bias adaptation function specified in section 6.1. +func adapt(delta, numPoints int32, firstTime bool) int32 { + if firstTime { + delta /= damp + } else { + delta /= 2 + } + delta += delta / numPoints + k := int32(0) + for delta > ((base-tmin)*tmax)/2 { + delta /= base - tmin + k += base + } + return k + (base-tmin+1)*delta/(delta+skew) +} diff --git a/vendor/golang.org/x/net/idna/tables10.0.0.go b/vendor/golang.org/x/net/idna/tables10.0.0.go new file mode 100644 index 000000000..d1d62ef45 --- /dev/null +++ b/vendor/golang.org/x/net/idna/tables10.0.0.go @@ -0,0 +1,4560 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.10 && !go1.13 +// +build go1.10,!go1.13 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "10.0.0" + +var mappings string = "" + // Size: 8175 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07</\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03\x09\x0c" + + "\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06!3\x03" + + "\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05\x03\x07" + + "<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c<?\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" + + "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" + + "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 29052 bytes (28.37 KiB). Checksum: ef06e7ecc26f36dd. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 125: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 125 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 127 blocks, 8128 entries, 16256 bytes +// The third block is the zero block. +var idnaValues = [8128]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08, + 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08, + 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08, + 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808, + 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040, + 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08, + 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08, + 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040, + 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, + 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040, + 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040, + // Block 0x16, offset 0x580 + 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308, + 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008, + 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308, + 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308, + 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1, + 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308, + 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008, + 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008, + 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008, + 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, + 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, + 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, + 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040, + 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, + 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008, + // Block 0x18, offset 0x600 + 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040, + 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008, + 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008, + 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1, + 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308, + 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018, + 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018, + 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x0040, 0x63f: 0x0040, + // Block 0x19, offset 0x640 + 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008, + 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040, + 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040, + 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, + 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, + 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, + 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008, + 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008, + // Block 0x1a, offset 0x680 + 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040, + 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308, + 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308, + 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, + 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040, + 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040, + 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308, + 0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, + 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008, + 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, + 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, + 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, + 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, + 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, + // Block 0x1c, offset 0x700 + 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308, + 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008, + 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040, + 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040, + 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308, + 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040, + 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308, + 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008, + 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008, + 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008, + 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008, + 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008, + 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008, + 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, + // Block 0x1e, offset 0x780 + 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040, + 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008, + 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, + 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008, + 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9, + 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308, + 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018, + 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008, + 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040, + 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, + 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040, + 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040, + 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008, + 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008, + 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, + 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, + // Block 0x20, offset 0x800 + 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040, + 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308, + 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, + 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, + 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308, + 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, + 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018, + 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018, + // Block 0x21, offset 0x840 + 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0040, 0x845: 0x0008, + 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008, + 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040, + 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008, + 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008, + 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008, + 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008, + 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040, + 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040, + 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040, + 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040, + 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040, + 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040, + 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008, + 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008, + 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018, + 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308, + 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018, + 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008, + 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008, + // Block 0x24, offset 0x900 + 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040, + 0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040, + 0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040, + 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008, + 0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008, + 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308, + 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040, + // Block 0x25, offset 0x940 + 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008, + 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, + 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79, + 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008, + 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, + 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9, + 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040, + 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59, + 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008, + // Block 0x26, offset 0x980 + 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018, + 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308, + 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308, + 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11, + 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308, + 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308, + 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308, + 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308, + 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308, + 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, + 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, + 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, + 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, + 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008, + 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008, + 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008, + 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008, + 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41, + 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008, + 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269, + // Block 0x28, offset 0xa00 + 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1, + 0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011, + 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041, + 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9, + 0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099, + 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269, + 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1, + 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008, + 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008, + 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008, + 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008, + // Block 0x29, offset 0xa40 + 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008, + 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008, + 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008, + 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, + 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169, + 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9, + 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251, + 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9, + 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359, + 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1, + 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008, + 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008, + 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008, + 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008, + 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008, + 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008, + 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008, + 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008, + 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008, + 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008, + 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008, + 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008, + 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045, + 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008, + 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008, + 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045, + 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008, + 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, + 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045, + 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489, + 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1, + 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1, + 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591, + 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1, + 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1, + 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771, + 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891, + 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831, + 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951, + 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459, + 0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686, + // Block 0x2e, offset 0xb80 + 0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040, + 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489, + 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008, + 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008, + 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2, + 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61, + 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045, + 0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa, + 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040, + 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9, + 0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a, + 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0, + 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, + 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a, + 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018, + 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, + 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018, + // Block 0x30, offset 0xc00 + 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018, + 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018, + 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018, + 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9, + 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018, + 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340, + 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040, + 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340, + 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61, + 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd, + 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71, + // Block 0x31, offset 0xc40 + 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61, + 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5, + 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09, + 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359, + 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040, + 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018, + 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018, + 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018, + 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018, + 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018, + 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018, + // Block 0x32, offset 0xc80 + 0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e, + 0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249, + 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41, + 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018, + 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269, + 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018, + 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018, + 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09, + 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9, + 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd, + 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9, + 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018, + 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151, + 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279, + 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399, + 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439, + 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369, + 0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61, + 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451, + 0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5, + 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61, + // Block 0x34, offset 0xd00 + 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018, + 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040, + 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51, + 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601, + 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691, + 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26, + 0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6, + 0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a, + // Block 0x35, offset 0xd40 + 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a, + 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040, + 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040, + 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040, + 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46, + 0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06, + 0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6, + 0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86, + 0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46, + 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199, + 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259, + // Block 0x36, offset 0xd80 + 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99, + 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089, + 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9, + 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249, + 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71, + 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9, + 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1, + 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018, + 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018, + 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008, + 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008, + 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008, + 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008, + 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008, + 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd, + 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d, + 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9, + 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d, + 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008, + 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9, + // Block 0x38, offset 0xe00 + 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008, + 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008, + 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008, + 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008, + 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008, + 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008, + 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, + 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308, + 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018, + 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + // Block 0x39, offset 0xe40 + 0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d, + 0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d, + 0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d, + 0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040, + 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040, + 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040, + 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040, + 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040, + 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040, + 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040, + 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040, + // Block 0x3a, offset 0xe80 + 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008, + 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018, + 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018, + 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018, + 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018, + 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018, + 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018, + 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018, + 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018, + 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018, + 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd, + 0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd, + 0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d, + 0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d, + 0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d, + 0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd, + 0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d, + 0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd, + 0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d, + 0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd, + 0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d, + // Block 0x3c, offset 0xf00 + 0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd, + 0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d, + 0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018, + 0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd, + 0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d, + 0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008, + 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008, + 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008, + 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008, + 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040, + 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd, + 0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018, + 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761, + 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1, + 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881, + 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd, + 0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d, + 0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d, + 0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd, + 0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d, + 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018, + // Block 0x3e, offset 0xf80 + 0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d, + 0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d, + 0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd, + 0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd, + 0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d, + 0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d, + 0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd, + 0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d, + 0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999, + 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29, + 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69, + 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69, + 0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15, + 0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75, + 0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded, + 0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d, + 0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5, + 0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d, + 0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d, + 0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd, + 0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040, + // Block 0x40, offset 0x1000 + 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9, + 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1, + 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9, + 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549, + 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1, + 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11, + 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91, + 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9, + 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011, + 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209, + 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361, + // Block 0x41, offset 0x1040 + 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541, + 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781, + 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979, + 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89, + 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1, + 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99, + 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9, + 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9, + 0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069, + 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9, + 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9, + // Block 0x42, offset 0x1080 + 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271, + 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9, + 0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed, + 0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371, + 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9, + 0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d, + 0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211, + 0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1, + 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599, + 0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9, + 0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671, + 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709, + 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781, + 0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1, + 0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811, + 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901, + 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1, + 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11, + 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31, + 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51, + 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008, + 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008, + 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, + 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308, + 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308, + 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308, + 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, + 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, + 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, + 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, + 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11, + 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008, + 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008, + 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, + 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008, + 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018, + 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018, + 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018, + 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008, + 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008, + 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008, + 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008, + 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008, + 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008, + 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008, + 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d, + 0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008, + // Block 0x48, offset 0x1200 + 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008, + 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d, + 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008, + 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008, + 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008, + 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008, + 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008, + 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0040, + 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008, + 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040, + 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040, + // Block 0x49, offset 0x1240 + 0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575, + 0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635, + 0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008, + 0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715, + 0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5, + 0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008, + 0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008, + 0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935, + 0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5, + 0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5, + 0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35, + // Block 0x4a, offset 0x1280 + 0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35, + 0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5, + 0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19, + 0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91, + 0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040, + 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040, + 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040, + 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040, + 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040, + 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040, + 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001, + 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040, + 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040, + 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9, + 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1, + 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149, + 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2, + 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1, + 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1, + 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479, + 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040, + // Block 0x4c, offset 0x1300 + 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040, + 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659, + 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721, + 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751, + 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769, + 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799, + 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1, + 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1, + 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9, + 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829, + 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841, + // Block 0x4d, offset 0x1340 + 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871, + 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9, + 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9, + 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919, + 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931, + 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961, + 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991, + 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1, + 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818, + 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818, + 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040, + 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040, + 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040, + 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09, + 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479, + 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81, + 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1, + 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19, + 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91, + 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1, + 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1, + 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1, + 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1, + 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991, + 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81, + 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a, + 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99, + 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89, + 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79, + 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19, + 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469, + // Block 0x50, offset 0x1400 + 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649, + 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9, + 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49, + 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21, + 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9, + 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01, + 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91, + 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9, + 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171, + 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289, + 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329, + // Block 0x51, offset 0x1440 + 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1, + 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621, + 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739, + 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1, + 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9, + 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29, + 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079, + 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1, + 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171, + 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261, + 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301, + // Block 0x52, offset 0x1480 + 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1, + 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1, + 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171, + 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261, + 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351, + 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441, + 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509, + 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1, + 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081, + 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239, + 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040, + 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609, + 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721, + 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839, + 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919, + 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9, + 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9, + 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9, + 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1, + 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79, + // Block 0x54, offset 0x1500 + 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989, + 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040, + 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040, + 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040, + 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040, + 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040, + 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, + 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9, + 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12, + 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040, + // Block 0x55, offset 0x1540 + 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0, + 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0, + 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55, + 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75, + 0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040, + 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308, + 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308, + 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308, + 0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2, + 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35, + 0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55, + // Block 0x56, offset 0x1580 + 0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018, + 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56, + 0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95, + 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa, + 0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95, + 0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99, + 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda, + 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040, + 0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040, + 0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081, + 0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141, + 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171, + 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1, + 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1, + 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201, + 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219, + 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249, + 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291, + 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1, + 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9, + 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1, + // Block 0x58, offset 0x1600 + 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321, + 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339, + 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369, + 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381, + 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1, + 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9, + 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9, + 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1, + 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441, + 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9, + 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0, + // Block 0x59, offset 0x1640 + 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea, + 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2, + 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9, + 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81, + 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2, + 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159, + 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41, + 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9, + 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9, + 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a, + 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09, + 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51, + 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039, + 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279, + 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a, + 0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115, + 0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5, + 0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295, + 0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355, + 0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415, + 0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515, + 0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595, + 0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5, + 0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655, + 0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115, + 0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735, + 0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5, + 0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5, + 0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5, + 0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5, + 0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5, + 0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715, + 0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040, + 0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935, + 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040, + 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6, + 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35, + 0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040, + 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, + 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08, + 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808, + 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08, + 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908, + 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08, + 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808, + 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040, + 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18, + 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818, + 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08, + 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08, + 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08, + 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040, + 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040, + 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040, + 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18, + 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818, + 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040, + 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008, + 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008, + 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008, + 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008, + 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040, + 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008, + 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008, + 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x0040, + 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008, + // Block 0x60, offset 0x1800 + 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040, + 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008, + 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040, + 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008, + 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008, + 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008, + 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308, + 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040, + 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040, + 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040, + 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040, + // Block 0x61, offset 0x1840 + 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199, + 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359, + 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269, + 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369, + 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9, + 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259, + 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99, + 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089, + 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9, + 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249, + 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359, + // Block 0x62, offset 0x1880 + 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269, + 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369, + 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9, + 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259, + 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99, + 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089, + 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9, + 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249, + 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71, + 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9, + 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9, + 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259, + 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99, + 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089, + 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040, + 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040, + 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71, + 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9, + 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1, + 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199, + 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259, + // Block 0x64, offset 0x1900 + 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99, + 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089, + 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9, + 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249, + 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71, + 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9, + 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1, + 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199, + 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359, + 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269, + 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089, + // Block 0x65, offset 0x1940 + 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9, + 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040, + 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71, + 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9, + 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040, + 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199, + 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359, + 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269, + 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369, + 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9, + 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040, + // Block 0x66, offset 0x1980 + 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040, + 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9, + 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040, + 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199, + 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359, + 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269, + 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369, + 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9, + 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259, + 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99, + 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1, + 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199, + 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359, + 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269, + 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369, + 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9, + 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259, + 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99, + 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089, + 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9, + 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359, + 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269, + 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369, + 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9, + 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259, + 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99, + 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089, + 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9, + 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249, + 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71, + 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369, + 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9, + 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259, + 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99, + 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089, + 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9, + 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249, + 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71, + 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9, + 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1, + 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259, + 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99, + 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089, + 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9, + 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249, + 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71, + 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9, + 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1, + 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199, + 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359, + 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089, + 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9, + 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249, + 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71, + 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9, + 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1, + 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099, + 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429, + 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71, + 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9, + 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9, + 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11, + 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109, + 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1, + 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429, + 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099, + 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429, + 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71, + 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9, + 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01, + 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11, + 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109, + 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1, + 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429, + 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099, + 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429, + 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71, + 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9, + 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01, + 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1, + 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109, + 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1, + 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429, + 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099, + 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429, + 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71, + 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9, + 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01, + 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1, + 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41, + 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1, + 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429, + 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099, + 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429, + 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71, + 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9, + 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01, + 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1, + 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41, + 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1, + 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429, + 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41, + 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079, + 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1, + 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61, + 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9, + 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81, + 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079, + 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1, + 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61, + 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115, + 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135, + 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115, + 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175, + 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115, + 0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08, + 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08, + 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08, + 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08, + 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08, + 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08, + // Block 0x72, offset 0x1c80 + 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411, + 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1, + 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231, + 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949, + 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351, + 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040, + 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231, + 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949, + 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040, + 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411, + 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1, + 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9, + 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231, + 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040, + 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249, + 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429, + 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339, + 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1, + 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351, + 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02, + 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018, + 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2, + 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72, + 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32, + 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2, + 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2, + 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0040, + 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199, + 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359, + 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99, + // Block 0x76, offset 0x1d80 + 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089, + 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1, + 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018, + 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018, + 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018, + 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018, + 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018, + 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040, + 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018, + 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018, + 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040, + 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040, + 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289, + 0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349, + 0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409, + 0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9, + 0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589, + 0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649, + 0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709, + 0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9, + 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79, + 0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39, + 0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9, + 0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39, + 0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9, + 0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79, + 0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39, + 0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9, + 0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059, + 0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9, + 0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239, + 0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9, + 0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399, + 0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459, + 0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309, + 0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559, + 0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9, + 0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679, + 0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9, + 0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d, + 0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9, + 0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959, + 0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d, + 0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d, + 0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9, + 0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99, + 0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9, + 0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9, + 0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99, + 0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39, + 0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639, + 0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9, + 0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d, + 0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9, + 0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d, + 0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd, + 0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979, + 0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19, + 0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d, + 0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d, + 0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99, + 0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39, + 0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9, + 0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39, + 0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd, + 0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19, + 0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9, + 0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59, + 0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd, + 0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d, + 0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d, + 0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d, + 0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879, + 0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919, + 0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd, + 0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9, + 0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99, + 0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39, + 0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9, + 0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d, + 0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19, + 0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9, + 0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59, + 0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9, + 0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d, + 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040, + 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040, + 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040, + 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040, + 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040, + 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040, +} + +// idnaIndex: 36 blocks, 2304 entries, 4608 bytes +// Block 0 is the zero block. +var idnaIndex = [2304]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21, + // Block 0x4, offset 0x100 + 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16, + 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3, + 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c, + // Block 0x6, offset 0x180 + 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b, + 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0, + 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5, + 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1, + 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8, + 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0, + 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe, + 0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c, + 0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52, + 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e, + 0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c, + 0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba, + 0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x126, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba, + // Block 0x10, offset 0x400 + 0x400: 0x127, 0x401: 0x128, 0x402: 0x129, 0x403: 0x12a, 0x404: 0x12b, 0x405: 0x12c, 0x406: 0x12d, 0x407: 0x12e, + 0x408: 0x12f, 0x409: 0xba, 0x40a: 0x130, 0x40b: 0x131, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x132, 0x411: 0x133, 0x412: 0x134, 0x413: 0x135, 0x414: 0xba, 0x415: 0xba, 0x416: 0x136, 0x417: 0x137, + 0x418: 0x138, 0x419: 0x139, 0x41a: 0x13a, 0x41b: 0x13b, 0x41c: 0x13c, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0xba, 0x421: 0xba, 0x422: 0x13d, 0x423: 0x13e, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba, + 0x428: 0x13f, 0x429: 0x140, 0x42a: 0x141, 0x42b: 0x142, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x143, 0x431: 0x144, 0x432: 0x145, 0x433: 0xba, 0x434: 0x146, 0x435: 0x147, 0x436: 0xba, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x148, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x149, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x14a, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x14b, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x14c, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x142, 0x529: 0x14d, 0x52a: 0xba, 0x52b: 0x14e, 0x52c: 0x14f, 0x52d: 0x150, 0x52e: 0x151, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x152, 0x53e: 0x153, 0x53f: 0x154, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x155, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x156, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x157, 0x585: 0x158, 0x586: 0x9f, 0x587: 0x9f, + 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x159, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x15a, 0x5b2: 0x15b, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x15c, 0x5c4: 0x15d, 0x5c5: 0x15e, 0x5c6: 0x15f, 0x5c7: 0x160, + 0x5c8: 0x9b, 0x5c9: 0x161, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x162, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66, + 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x163, 0x5e9: 0x164, 0x5ea: 0x165, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x166, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x167, 0x624: 0x6f, 0x625: 0x168, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x169, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x16a, 0x641: 0x9b, 0x642: 0x16b, 0x643: 0x16c, 0x644: 0x73, 0x645: 0x74, 0x646: 0x16d, 0x647: 0x16e, + 0x648: 0x75, 0x649: 0x16f, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x170, 0x65c: 0x9b, 0x65d: 0x171, 0x65e: 0x9b, 0x65f: 0x172, + 0x660: 0x173, 0x661: 0x174, 0x662: 0x175, 0x663: 0xba, 0x664: 0x176, 0x665: 0x177, 0x666: 0x178, 0x667: 0x179, + 0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x17a, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x17b, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x17c, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x17d, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f, + // Block 0x1d, offset 0x740 + 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f, + 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f, + 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f, + 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f, + 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f, + 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x17e, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba, + 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba, + 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba, + 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba, + 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x17f, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x180, 0x7a7: 0x7b, + 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba, + 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba, + 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba, + // Block 0x1f, offset 0x7c0 + 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07, + 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17, + 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07, + 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b, + 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b, + 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b, + 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b, + 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b, + 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b, + 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b, + 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b, + // Block 0x21, offset 0x840 + 0x840: 0x181, 0x841: 0x182, 0x842: 0xba, 0x843: 0xba, 0x844: 0x183, 0x845: 0x183, 0x846: 0x183, 0x847: 0x184, + 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba, + 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba, + 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba, + 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba, + 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba, + 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba, + 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, + 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b, + 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b, + 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b, + 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b, + 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b, + 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b, + 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b, +} + +// idnaSparseOffset: 264 entries, 528 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x8a, 0x93, 0xa3, 0xb1, 0xbd, 0xc9, 0xda, 0xe4, 0xeb, 0xf8, 0x109, 0x110, 0x11b, 0x12a, 0x138, 0x142, 0x144, 0x149, 0x14c, 0x14f, 0x151, 0x15d, 0x168, 0x170, 0x176, 0x17c, 0x181, 0x186, 0x189, 0x18d, 0x193, 0x198, 0x1a4, 0x1ae, 0x1b4, 0x1c5, 0x1cf, 0x1d2, 0x1da, 0x1dd, 0x1ea, 0x1f2, 0x1f6, 0x1fd, 0x205, 0x215, 0x221, 0x223, 0x22d, 0x239, 0x245, 0x251, 0x259, 0x25e, 0x268, 0x279, 0x27d, 0x288, 0x28c, 0x295, 0x29d, 0x2a3, 0x2a8, 0x2ab, 0x2af, 0x2b5, 0x2b9, 0x2bd, 0x2c3, 0x2ca, 0x2d0, 0x2d8, 0x2df, 0x2ea, 0x2f4, 0x2f8, 0x2fb, 0x301, 0x305, 0x307, 0x30a, 0x30c, 0x30f, 0x319, 0x31c, 0x32b, 0x32f, 0x334, 0x337, 0x33b, 0x340, 0x345, 0x34b, 0x351, 0x360, 0x366, 0x36a, 0x379, 0x37e, 0x386, 0x390, 0x39b, 0x3a3, 0x3b4, 0x3bd, 0x3cd, 0x3da, 0x3e4, 0x3e9, 0x3f6, 0x3fa, 0x3ff, 0x401, 0x405, 0x407, 0x40b, 0x414, 0x41a, 0x41e, 0x42e, 0x438, 0x43d, 0x440, 0x446, 0x44d, 0x452, 0x456, 0x45c, 0x461, 0x46a, 0x46f, 0x475, 0x47c, 0x483, 0x48a, 0x48e, 0x493, 0x496, 0x49b, 0x4a7, 0x4ad, 0x4b2, 0x4b9, 0x4c1, 0x4c6, 0x4ca, 0x4da, 0x4e1, 0x4e5, 0x4e9, 0x4f0, 0x4f2, 0x4f5, 0x4f8, 0x4fc, 0x500, 0x506, 0x50f, 0x51b, 0x522, 0x52b, 0x533, 0x53a, 0x548, 0x555, 0x562, 0x56b, 0x56f, 0x57d, 0x585, 0x590, 0x599, 0x59f, 0x5a7, 0x5b0, 0x5ba, 0x5bd, 0x5c9, 0x5cc, 0x5d1, 0x5de, 0x5e7, 0x5f3, 0x5f6, 0x600, 0x609, 0x615, 0x622, 0x62a, 0x62d, 0x632, 0x635, 0x638, 0x63b, 0x642, 0x649, 0x64d, 0x658, 0x65b, 0x661, 0x666, 0x66a, 0x66d, 0x670, 0x673, 0x676, 0x679, 0x67e, 0x688, 0x68b, 0x68f, 0x69e, 0x6aa, 0x6ae, 0x6b3, 0x6b8, 0x6bc, 0x6c1, 0x6ca, 0x6d5, 0x6db, 0x6e3, 0x6e7, 0x6eb, 0x6f1, 0x6f7, 0x6fc, 0x6ff, 0x70f, 0x716, 0x719, 0x71c, 0x720, 0x726, 0x72b, 0x730, 0x735, 0x738, 0x73d, 0x740, 0x743, 0x747, 0x74b, 0x74e, 0x75e, 0x76f, 0x774, 0x776, 0x778} + +// idnaSparseValues: 1915 entries, 7660 bytes +var idnaSparseValues = [1915]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x07}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x6, offset 0x34 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3f + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4b + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4f + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x63 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0xc, offset 0x6b + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x77 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xe, offset 0x85 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0xf, offset 0x8a + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0x93 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x11, offset 0xa3 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x12, offset 0xb1 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x3b08, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbd + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xc9 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x15, offset 0xda + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x16, offset 0xe4 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x17, offset 0xeb + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x18, offset 0xf8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x19, offset 0x109 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1a, offset 0x110 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0x11b + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1c, offset 0x12a + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1d, offset 0x138 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0x142 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x1f, offset 0x144 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x20, offset 0x149 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x21, offset 0x14c + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x22, offset 0x14f + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x23, offset 0x151 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x24, offset 0x15d + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x25, offset 0x168 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x26, offset 0x170 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x176 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x28, offset 0x17c + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x29, offset 0x181 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2a, offset 0x186 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2b, offset 0x189 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2c, offset 0x18d + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2d, offset 0x193 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2e, offset 0x198 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x2f, offset 0x1a4 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x30, offset 0x1ae + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x31, offset 0x1b4 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x32, offset 0x1c5 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x33, offset 0x1cf + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x34, offset 0x1d2 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x35, offset 0x1da + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x36, offset 0x1dd + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x37, offset 0x1ea + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x38, offset 0x1f2 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x39, offset 0x1f6 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3a, offset 0x1fd + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3b, offset 0x205 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x215 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x221 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3e, offset 0x223 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x3f, offset 0x22d + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x239 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x41, offset 0x245 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x42, offset 0x251 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x43, offset 0x259 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x44, offset 0x25e + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x45, offset 0x268 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x46, offset 0x279 + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x47, offset 0x27d + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x48, offset 0x288 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x49, offset 0x28c + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4a, offset 0x295 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4b, offset 0x29d + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4c, offset 0x2a3 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4d, offset 0x2a8 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x4e, offset 0x2ab + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x4f, offset 0x2af + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x50, offset 0x2b5 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x51, offset 0x2b9 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x52, offset 0x2bd + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0018, lo: 0xbd, hi: 0xbf}, + // Block 0x53, offset 0x2c3 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0xab}, + {value: 0x0018, lo: 0xac, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x54, offset 0x2ca + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x55, offset 0x2d0 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2d8 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x57, offset 0x2df + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x58, offset 0x2ea + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x59, offset 0x2f4 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5a, offset 0x2f8 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0x5b, offset 0x2fb + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5c, offset 0x301 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5d, offset 0x305 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x5e, offset 0x307 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x5f, offset 0x30a + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x30c + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x61, offset 0x30f + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x62, offset 0x319 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x31c + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x64, offset 0x32b + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x65, offset 0x32f + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x66, offset 0x334 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0x67, offset 0x337 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x68, offset 0x33b + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x69, offset 0x340 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6a, offset 0x345 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6b, offset 0x34b + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6c, offset 0x351 + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6d, offset 0x360 + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6e, offset 0x366 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x6f, offset 0x36a + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x70, offset 0x379 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x71, offset 0x37e + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x72, offset 0x386 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x73, offset 0x390 + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x74, offset 0x39b + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x75, offset 0x3a3 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x76, offset 0x3b4 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x77, offset 0x3bd + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x78, offset 0x3cd + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x79, offset 0x3da + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7a, offset 0x3e4 + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3e9 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7c, offset 0x3f6 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7d, offset 0x3fa + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x7e, offset 0x3ff + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x7f, offset 0x401 + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x80, offset 0x405 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x407 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x82, offset 0x40b + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x83, offset 0x414 + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x84, offset 0x41a + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x85, offset 0x41e + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x86, offset 0x42e + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x87, offset 0x438 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x88, offset 0x43d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x89, offset 0x440 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8a, offset 0x446 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8b, offset 0x44d + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8c, offset 0x452 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8d, offset 0x456 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x8e, offset 0x45c + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xbf}, + // Block 0x8f, offset 0x461 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x90, offset 0x46a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x91, offset 0x46f + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x92, offset 0x475 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x93, offset 0x47c + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x94, offset 0x483 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x95, offset 0x48a + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x96, offset 0x48e + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x493 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x98, offset 0x496 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x99, offset 0x49b + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x4a7 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9b, offset 0x4ad + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9c, offset 0x4b2 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9d, offset 0x4b9 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x4c1 + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0x9f, offset 0x4c6 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa0, offset 0x4ca + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa1, offset 0x4da + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa2, offset 0x4e1 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x4e5 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa4, offset 0x4e9 + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa5, offset 0x4f0 + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa6, offset 0x4f2 + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa7, offset 0x4f5 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xa8, offset 0x4f8 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x4fc + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xaa, offset 0x500 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x506 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xac, offset 0x50f + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0340, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xad, offset 0x51b + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xae, offset 0x522 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xaf, offset 0x52b + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb0, offset 0x533 + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb1, offset 0x53a + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb2, offset 0x548 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb3, offset 0x555 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb4, offset 0x562 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb5, offset 0x56b + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb6, offset 0x56f + {value: 0x0000, lo: 0x0d}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xb7, offset 0x57d + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xb8, offset 0x585 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xb9, offset 0x590 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xba, offset 0x599 + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbb, offset 0x59f + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbc, offset 0x5a7 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xbd, offset 0x5b0 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xbe, offset 0x5ba + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xbf, offset 0x5bd + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc0, offset 0x5c9 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc1, offset 0x5cc + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc2, offset 0x5d1 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xc3, offset 0x5de + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x3b08, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0xbf}, + // Block 0xc4, offset 0x5e7 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x98}, + {value: 0x3b08, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xbf}, + // Block 0xc5, offset 0x5f3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xc6, offset 0x5f6 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xc7, offset 0x600 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xc8, offset 0x609 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xc9, offset 0x615 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xca, offset 0x622 + {value: 0x0000, lo: 0x07}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xcb, offset 0x62a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xcc, offset 0x62d + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xcd, offset 0x632 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xce, offset 0x635 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xcf, offset 0x638 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xd0, offset 0x63b + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xd1, offset 0x642 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xd2, offset 0x649 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xd3, offset 0x64d + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xd4, offset 0x658 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xd5, offset 0x65b + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd6, offset 0x661 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xd7, offset 0x666 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xd8, offset 0x66a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xd9, offset 0x66d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xda, offset 0x670 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xdb, offset 0x673 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xdc, offset 0x676 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xdd, offset 0x679 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xde, offset 0x67e + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xdf, offset 0x688 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xe0, offset 0x68b + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xe1, offset 0x68f + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xe2, offset 0x69e + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xe3, offset 0x6aa + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xe4, offset 0x6ae + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xe5, offset 0x6b3 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe6, offset 0x6b8 + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xe7, offset 0x6bc + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xe8, offset 0x6c1 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xe9, offset 0x6ca + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xea, offset 0x6d5 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xeb, offset 0x6db + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xec, offset 0x6e3 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xed, offset 0x6e7 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xee, offset 0x6eb + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xef, offset 0x6f1 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xf0, offset 0x6f7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xf1, offset 0x6fc + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xf2, offset 0x6ff + {value: 0x0000, lo: 0x0f}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xbf}, + // Block 0xf3, offset 0x70f + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xf4, offset 0x716 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xf5, offset 0x719 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0xbf}, + // Block 0xf6, offset 0x71c + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0xf7, offset 0x720 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0xf8, offset 0x726 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0xf9, offset 0x72b + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xfa, offset 0x730 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0xfb, offset 0x735 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xbf}, + // Block 0xfc, offset 0x738 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0xfd, offset 0x73d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xfe, offset 0x740 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xff, offset 0x743 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x100, offset 0x747 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x101, offset 0x74b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x102, offset 0x74e + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0x103, offset 0x75e + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0x104, offset 0x76f + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0x105, offset 0x774 + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x106, offset 0x776 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x107, offset 0x778 + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 42114 bytes (41KiB); checksum: 355A58A4 diff --git a/vendor/golang.org/x/net/idna/tables11.0.0.go b/vendor/golang.org/x/net/idna/tables11.0.0.go new file mode 100644 index 000000000..167efba71 --- /dev/null +++ b/vendor/golang.org/x/net/idna/tables11.0.0.go @@ -0,0 +1,4654 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.13 && !go1.14 +// +build go1.13,!go1.14 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +var mappings string = "" + // Size: 8175 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07</\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03\x09\x0c" + + "\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06!3\x03" + + "\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05\x03\x07" + + "<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c<?\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" + + "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" + + "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 29404 bytes (28.71 KiB). Checksum: 848c45acb5f7991c. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 125: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 125 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 127 blocks, 8128 entries, 16256 bytes +// The third block is the zero block. +var idnaValues = [8128]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08, + 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08, + 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08, + 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808, + 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040, + 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08, + 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08, + 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040, + 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, + 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040, + 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040, + // Block 0x16, offset 0x580 + 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308, + 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008, + 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308, + 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308, + 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1, + 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308, + 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008, + 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008, + 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008, + 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, + 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, + 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, + 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040, + 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, + 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008, + // Block 0x18, offset 0x600 + 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040, + 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008, + 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008, + 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1, + 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308, + 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018, + 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018, + 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040, + // Block 0x19, offset 0x640 + 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008, + 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040, + 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040, + 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, + 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, + 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, + 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008, + 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008, + // Block 0x1a, offset 0x680 + 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040, + 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308, + 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308, + 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, + 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040, + 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040, + 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308, + 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, + 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008, + 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, + 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, + 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, + 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, + 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, + // Block 0x1c, offset 0x700 + 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308, + 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008, + 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040, + 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040, + 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308, + 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040, + 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308, + 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008, + 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008, + 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008, + 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008, + 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008, + 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008, + 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, + // Block 0x1e, offset 0x780 + 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040, + 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008, + 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, + 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008, + 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9, + 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308, + 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018, + 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008, + 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040, + 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, + 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040, + 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040, + 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008, + 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008, + 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, + 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, + // Block 0x20, offset 0x800 + 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040, + 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308, + 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, + 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, + 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308, + 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, + 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018, + 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018, + // Block 0x21, offset 0x840 + 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008, + 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008, + 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040, + 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008, + 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008, + 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008, + 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008, + 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040, + 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040, + 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040, + 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040, + 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040, + 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040, + 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008, + 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008, + 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018, + 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308, + 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018, + 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008, + 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008, + // Block 0x24, offset 0x900 + 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040, + 0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040, + 0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040, + 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008, + 0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008, + 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308, + 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040, + // Block 0x25, offset 0x940 + 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008, + 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, + 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79, + 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008, + 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, + 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9, + 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040, + 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59, + 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008, + // Block 0x26, offset 0x980 + 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018, + 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308, + 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308, + 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11, + 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308, + 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308, + 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308, + 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308, + 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308, + 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, + 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, + 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, + 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, + 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008, + 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008, + 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008, + 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008, + 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41, + 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008, + 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269, + // Block 0x28, offset 0xa00 + 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1, + 0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011, + 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041, + 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9, + 0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099, + 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269, + 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1, + 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008, + 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008, + 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008, + 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008, + // Block 0x29, offset 0xa40 + 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008, + 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008, + 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008, + 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, + 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169, + 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9, + 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251, + 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9, + 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359, + 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1, + 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008, + 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008, + 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008, + 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008, + 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008, + 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008, + 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008, + 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008, + 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008, + 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008, + 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008, + 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008, + 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045, + 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008, + 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008, + 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045, + 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008, + 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, + 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045, + 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489, + 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1, + 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1, + 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591, + 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1, + 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1, + 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771, + 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891, + 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831, + 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951, + 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459, + 0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686, + // Block 0x2e, offset 0xb80 + 0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040, + 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489, + 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008, + 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008, + 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2, + 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61, + 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045, + 0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa, + 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040, + 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9, + 0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a, + 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0, + 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, + 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a, + 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018, + 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, + 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018, + // Block 0x30, offset 0xc00 + 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018, + 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018, + 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018, + 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9, + 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018, + 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340, + 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040, + 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340, + 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61, + 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd, + 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71, + // Block 0x31, offset 0xc40 + 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61, + 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5, + 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09, + 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359, + 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040, + 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018, + 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018, + 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018, + 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018, + 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018, + 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018, + // Block 0x32, offset 0xc80 + 0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e, + 0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249, + 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41, + 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018, + 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269, + 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018, + 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018, + 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09, + 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9, + 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd, + 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9, + 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018, + 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151, + 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279, + 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399, + 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439, + 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369, + 0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61, + 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451, + 0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5, + 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61, + // Block 0x34, offset 0xd00 + 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018, + 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040, + 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51, + 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601, + 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691, + 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26, + 0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6, + 0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a, + // Block 0x35, offset 0xd40 + 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a, + 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040, + 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040, + 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040, + 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46, + 0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06, + 0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6, + 0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86, + 0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46, + 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199, + 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259, + // Block 0x36, offset 0xd80 + 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99, + 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089, + 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9, + 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249, + 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71, + 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9, + 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1, + 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018, + 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018, + 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008, + 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008, + 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008, + 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008, + 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008, + 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd, + 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d, + 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9, + 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d, + 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008, + 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9, + // Block 0x38, offset 0xe00 + 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008, + 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008, + 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008, + 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008, + 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008, + 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008, + 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, + 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308, + 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018, + 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + // Block 0x39, offset 0xe40 + 0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d, + 0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d, + 0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d, + 0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040, + 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040, + 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040, + 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040, + 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040, + 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040, + 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040, + 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040, + // Block 0x3a, offset 0xe80 + 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008, + 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018, + 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018, + 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018, + 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018, + 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018, + 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018, + 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018, + 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018, + 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018, + 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd, + 0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd, + 0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d, + 0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d, + 0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d, + 0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd, + 0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d, + 0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd, + 0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d, + 0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd, + 0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d, + // Block 0x3c, offset 0xf00 + 0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd, + 0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d, + 0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018, + 0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd, + 0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d, + 0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008, + 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008, + 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008, + 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008, + 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040, + 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd, + 0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018, + 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761, + 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1, + 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881, + 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd, + 0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d, + 0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d, + 0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd, + 0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d, + 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018, + // Block 0x3e, offset 0xf80 + 0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d, + 0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d, + 0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd, + 0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd, + 0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d, + 0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d, + 0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd, + 0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d, + 0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999, + 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29, + 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69, + 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69, + 0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15, + 0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75, + 0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded, + 0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d, + 0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5, + 0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d, + 0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d, + 0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd, + 0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040, + // Block 0x40, offset 0x1000 + 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9, + 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1, + 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9, + 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549, + 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1, + 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11, + 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91, + 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9, + 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011, + 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209, + 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361, + // Block 0x41, offset 0x1040 + 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541, + 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781, + 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979, + 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89, + 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1, + 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99, + 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9, + 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9, + 0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069, + 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9, + 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9, + // Block 0x42, offset 0x1080 + 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271, + 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9, + 0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed, + 0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371, + 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9, + 0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d, + 0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211, + 0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1, + 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599, + 0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9, + 0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671, + 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709, + 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781, + 0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1, + 0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811, + 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901, + 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1, + 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11, + 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31, + 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51, + 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008, + 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008, + 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, + 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308, + 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308, + 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308, + 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, + 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, + 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, + 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, + 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11, + 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008, + 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008, + 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, + 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008, + 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018, + 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018, + 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018, + 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008, + 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008, + 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008, + 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008, + 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008, + 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008, + 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008, + 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d, + 0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008, + // Block 0x48, offset 0x1200 + 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008, + 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d, + 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008, + 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008, + 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008, + 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008, + 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008, + 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0008, + 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008, + 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0008, 0x123a: 0x0040, 0x123b: 0x0040, + 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040, + // Block 0x49, offset 0x1240 + 0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575, + 0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635, + 0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008, + 0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715, + 0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5, + 0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008, + 0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008, + 0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935, + 0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5, + 0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5, + 0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35, + // Block 0x4a, offset 0x1280 + 0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35, + 0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5, + 0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19, + 0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91, + 0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040, + 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040, + 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040, + 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040, + 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040, + 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040, + 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001, + 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040, + 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040, + 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9, + 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1, + 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149, + 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2, + 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1, + 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1, + 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479, + 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040, + // Block 0x4c, offset 0x1300 + 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040, + 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659, + 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721, + 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751, + 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769, + 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799, + 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1, + 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1, + 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9, + 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829, + 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841, + // Block 0x4d, offset 0x1340 + 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871, + 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9, + 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9, + 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919, + 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931, + 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961, + 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991, + 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1, + 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818, + 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818, + 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040, + 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040, + 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040, + 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09, + 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479, + 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81, + 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1, + 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19, + 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91, + 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1, + 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1, + 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1, + 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1, + 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991, + 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81, + 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a, + 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99, + 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89, + 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79, + 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19, + 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469, + // Block 0x50, offset 0x1400 + 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649, + 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9, + 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49, + 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21, + 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9, + 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01, + 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91, + 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9, + 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171, + 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289, + 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329, + // Block 0x51, offset 0x1440 + 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1, + 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621, + 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739, + 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1, + 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9, + 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29, + 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079, + 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1, + 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171, + 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261, + 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301, + // Block 0x52, offset 0x1480 + 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1, + 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1, + 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171, + 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261, + 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351, + 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441, + 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509, + 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1, + 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081, + 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239, + 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040, + 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609, + 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721, + 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839, + 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919, + 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9, + 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9, + 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9, + 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1, + 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79, + // Block 0x54, offset 0x1500 + 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989, + 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040, + 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040, + 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040, + 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040, + 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040, + 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, + 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9, + 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12, + 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040, + // Block 0x55, offset 0x1540 + 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0, + 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0, + 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55, + 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75, + 0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040, + 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308, + 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308, + 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308, + 0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2, + 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35, + 0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55, + // Block 0x56, offset 0x1580 + 0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018, + 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56, + 0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95, + 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa, + 0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95, + 0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99, + 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda, + 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040, + 0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040, + 0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081, + 0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141, + 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171, + 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1, + 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1, + 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201, + 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219, + 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249, + 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291, + 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1, + 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9, + 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1, + // Block 0x58, offset 0x1600 + 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321, + 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339, + 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369, + 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381, + 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1, + 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9, + 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9, + 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1, + 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441, + 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9, + 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0, + // Block 0x59, offset 0x1640 + 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea, + 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2, + 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9, + 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81, + 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2, + 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159, + 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41, + 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9, + 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9, + 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a, + 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09, + 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51, + 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039, + 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279, + 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a, + 0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115, + 0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5, + 0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295, + 0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355, + 0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415, + 0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515, + 0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595, + 0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5, + 0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655, + 0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115, + 0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735, + 0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5, + 0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5, + 0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5, + 0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5, + 0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5, + 0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715, + 0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040, + 0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935, + 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040, + 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6, + 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35, + 0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040, + 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, + 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08, + 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808, + 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08, + 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908, + 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08, + 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808, + 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040, + 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18, + 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818, + 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08, + 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08, + 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08, + 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040, + 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040, + 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040, + 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18, + 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818, + 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040, + 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008, + 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008, + 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008, + 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008, + 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040, + 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008, + 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008, + 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x3308, + 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008, + // Block 0x60, offset 0x1800 + 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040, + 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008, + 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040, + 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008, + 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008, + 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008, + 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308, + 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040, + 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040, + 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040, + 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040, + // Block 0x61, offset 0x1840 + 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199, + 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359, + 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269, + 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369, + 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9, + 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259, + 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99, + 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089, + 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9, + 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249, + 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359, + // Block 0x62, offset 0x1880 + 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269, + 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369, + 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9, + 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259, + 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99, + 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089, + 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9, + 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249, + 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71, + 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9, + 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9, + 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259, + 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99, + 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089, + 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040, + 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040, + 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71, + 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9, + 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1, + 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199, + 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259, + // Block 0x64, offset 0x1900 + 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99, + 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089, + 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9, + 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249, + 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71, + 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9, + 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1, + 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199, + 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359, + 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269, + 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089, + // Block 0x65, offset 0x1940 + 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9, + 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040, + 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71, + 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9, + 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040, + 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199, + 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359, + 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269, + 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369, + 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9, + 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040, + // Block 0x66, offset 0x1980 + 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040, + 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9, + 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040, + 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199, + 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359, + 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269, + 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369, + 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9, + 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259, + 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99, + 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1, + 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199, + 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359, + 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269, + 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369, + 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9, + 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259, + 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99, + 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089, + 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9, + 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359, + 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269, + 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369, + 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9, + 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259, + 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99, + 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089, + 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9, + 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249, + 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71, + 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369, + 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9, + 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259, + 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99, + 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089, + 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9, + 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249, + 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71, + 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9, + 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1, + 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259, + 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99, + 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089, + 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9, + 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249, + 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71, + 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9, + 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1, + 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199, + 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359, + 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089, + 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9, + 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249, + 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71, + 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9, + 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1, + 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099, + 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429, + 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71, + 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9, + 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9, + 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11, + 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109, + 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1, + 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429, + 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099, + 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429, + 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71, + 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9, + 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01, + 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11, + 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109, + 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1, + 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429, + 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099, + 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429, + 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71, + 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9, + 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01, + 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1, + 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109, + 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1, + 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429, + 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099, + 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429, + 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71, + 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9, + 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01, + 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1, + 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41, + 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1, + 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429, + 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099, + 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429, + 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71, + 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9, + 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01, + 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1, + 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41, + 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1, + 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429, + 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41, + 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079, + 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1, + 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61, + 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9, + 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81, + 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079, + 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1, + 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61, + 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115, + 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135, + 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115, + 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175, + 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115, + 0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08, + 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08, + 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08, + 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08, + 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08, + 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08, + // Block 0x72, offset 0x1c80 + 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411, + 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1, + 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231, + 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949, + 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351, + 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040, + 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231, + 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949, + 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040, + 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411, + 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1, + 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9, + 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231, + 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040, + 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249, + 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429, + 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339, + 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1, + 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351, + 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02, + 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018, + 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2, + 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72, + 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32, + 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2, + 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2, + 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0018, + 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199, + 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359, + 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99, + // Block 0x76, offset 0x1d80 + 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089, + 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1, + 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018, + 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018, + 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018, + 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018, + 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018, + 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040, + 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018, + 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018, + 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040, + 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040, + 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289, + 0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349, + 0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409, + 0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9, + 0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589, + 0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649, + 0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709, + 0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9, + 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79, + 0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39, + 0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9, + 0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39, + 0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9, + 0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79, + 0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39, + 0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9, + 0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059, + 0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9, + 0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239, + 0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9, + 0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399, + 0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459, + 0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309, + 0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559, + 0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9, + 0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679, + 0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9, + 0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d, + 0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9, + 0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959, + 0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d, + 0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d, + 0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9, + 0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99, + 0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9, + 0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9, + 0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99, + 0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39, + 0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639, + 0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9, + 0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d, + 0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9, + 0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d, + 0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd, + 0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979, + 0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19, + 0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d, + 0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d, + 0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99, + 0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39, + 0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9, + 0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39, + 0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd, + 0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19, + 0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9, + 0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59, + 0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd, + 0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d, + 0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d, + 0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d, + 0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879, + 0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919, + 0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd, + 0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9, + 0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99, + 0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39, + 0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9, + 0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d, + 0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19, + 0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9, + 0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59, + 0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9, + 0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d, + 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040, + 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040, + 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040, + 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040, + 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040, + 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040, +} + +// idnaIndex: 36 blocks, 2304 entries, 4608 bytes +// Block 0 is the zero block. +var idnaIndex = [2304]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21, + // Block 0x4, offset 0x100 + 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16, + 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3, + 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c, + // Block 0x6, offset 0x180 + 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b, + 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0, + 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5, + 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1, + 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8, + 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0, + 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe, + 0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c, + 0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52, + 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e, + 0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c, + 0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba, + 0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0x126, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x127, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0x128, 0x3fd: 0x129, 0x3fe: 0xba, 0x3ff: 0xba, + // Block 0x10, offset 0x400 + 0x400: 0x12a, 0x401: 0x12b, 0x402: 0x12c, 0x403: 0x12d, 0x404: 0x12e, 0x405: 0x12f, 0x406: 0x130, 0x407: 0x131, + 0x408: 0x132, 0x409: 0xba, 0x40a: 0x133, 0x40b: 0x134, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x135, 0x411: 0x136, 0x412: 0x137, 0x413: 0x138, 0x414: 0xba, 0x415: 0xba, 0x416: 0x139, 0x417: 0x13a, + 0x418: 0x13b, 0x419: 0x13c, 0x41a: 0x13d, 0x41b: 0x13e, 0x41c: 0x13f, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0x140, 0x421: 0xba, 0x422: 0x141, 0x423: 0x142, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba, + 0x428: 0x143, 0x429: 0x144, 0x42a: 0x145, 0x42b: 0x146, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x147, 0x431: 0x148, 0x432: 0x149, 0x433: 0xba, 0x434: 0x14a, 0x435: 0x14b, 0x436: 0x14c, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0x14d, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x14e, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x14f, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x150, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x151, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x152, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x146, 0x529: 0x153, 0x52a: 0xba, 0x52b: 0x154, 0x52c: 0x155, 0x52d: 0x156, 0x52e: 0x157, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0x158, 0x53a: 0x159, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x15a, 0x53e: 0x15b, 0x53f: 0x15c, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x15d, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x15e, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x15f, 0x585: 0x160, 0x586: 0x9f, 0x587: 0x9f, + 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x161, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x162, 0x5b2: 0x163, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x164, 0x5c4: 0x165, 0x5c5: 0x166, 0x5c6: 0x167, 0x5c7: 0x168, + 0x5c8: 0x9b, 0x5c9: 0x169, 0x5ca: 0xba, 0x5cb: 0x16a, 0x5cc: 0x9b, 0x5cd: 0x16b, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66, + 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x16c, 0x5e9: 0x16d, 0x5ea: 0x16e, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x16f, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x170, 0x624: 0x6f, 0x625: 0x171, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0x172, 0x632: 0x173, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x174, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x175, 0x641: 0x9b, 0x642: 0x176, 0x643: 0x177, 0x644: 0x73, 0x645: 0x74, 0x646: 0x178, 0x647: 0x179, + 0x648: 0x75, 0x649: 0x17a, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x17b, 0x65c: 0x9b, 0x65d: 0x17c, 0x65e: 0x9b, 0x65f: 0x17d, + 0x660: 0x17e, 0x661: 0x17f, 0x662: 0x180, 0x663: 0xba, 0x664: 0x181, 0x665: 0x182, 0x666: 0x183, 0x667: 0x184, + 0x668: 0xba, 0x669: 0x185, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x186, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x187, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x188, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x189, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f, + // Block 0x1d, offset 0x740 + 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f, + 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f, + 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f, + 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f, + 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f, + 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x18a, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba, + 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba, + 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba, + 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba, + 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x18b, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x18c, 0x7a7: 0x7b, + 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba, + 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba, + 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba, + // Block 0x1f, offset 0x7c0 + 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07, + 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17, + 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07, + 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b, + 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b, + 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b, + 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b, + 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b, + 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b, + 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b, + 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b, + // Block 0x21, offset 0x840 + 0x840: 0x18d, 0x841: 0x18e, 0x842: 0xba, 0x843: 0xba, 0x844: 0x18f, 0x845: 0x18f, 0x846: 0x18f, 0x847: 0x190, + 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba, + 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba, + 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba, + 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba, + 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba, + 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba, + 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, + 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b, + 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b, + 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b, + 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b, + 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b, + 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b, + 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b, +} + +// idnaSparseOffset: 276 entries, 552 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x86, 0x8b, 0x94, 0xa4, 0xb2, 0xbe, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x224, 0x22e, 0x23a, 0x246, 0x252, 0x25a, 0x25f, 0x269, 0x27a, 0x27e, 0x289, 0x28d, 0x296, 0x29e, 0x2a4, 0x2a9, 0x2ac, 0x2b0, 0x2b6, 0x2ba, 0x2be, 0x2c2, 0x2c7, 0x2cd, 0x2d5, 0x2dc, 0x2e7, 0x2f1, 0x2f5, 0x2f8, 0x2fe, 0x302, 0x304, 0x307, 0x309, 0x30c, 0x316, 0x319, 0x328, 0x32c, 0x331, 0x334, 0x338, 0x33d, 0x342, 0x348, 0x34e, 0x35d, 0x363, 0x367, 0x376, 0x37b, 0x383, 0x38d, 0x398, 0x3a0, 0x3b1, 0x3ba, 0x3ca, 0x3d7, 0x3e1, 0x3e6, 0x3f3, 0x3f7, 0x3fc, 0x3fe, 0x402, 0x404, 0x408, 0x411, 0x417, 0x41b, 0x42b, 0x435, 0x43a, 0x43d, 0x443, 0x44a, 0x44f, 0x453, 0x459, 0x45e, 0x467, 0x46c, 0x472, 0x479, 0x480, 0x487, 0x48b, 0x490, 0x493, 0x498, 0x4a4, 0x4aa, 0x4af, 0x4b6, 0x4be, 0x4c3, 0x4c7, 0x4d7, 0x4de, 0x4e2, 0x4e6, 0x4ed, 0x4ef, 0x4f2, 0x4f5, 0x4f9, 0x502, 0x506, 0x50e, 0x516, 0x51c, 0x525, 0x531, 0x538, 0x541, 0x54b, 0x552, 0x560, 0x56d, 0x57a, 0x583, 0x587, 0x596, 0x59e, 0x5a9, 0x5b2, 0x5b8, 0x5c0, 0x5c9, 0x5d3, 0x5d6, 0x5e2, 0x5eb, 0x5ee, 0x5f3, 0x5fe, 0x607, 0x613, 0x616, 0x620, 0x629, 0x635, 0x642, 0x64f, 0x65d, 0x664, 0x667, 0x66c, 0x66f, 0x672, 0x675, 0x67c, 0x683, 0x687, 0x692, 0x695, 0x698, 0x69b, 0x6a1, 0x6a6, 0x6aa, 0x6ad, 0x6b0, 0x6b3, 0x6b6, 0x6b9, 0x6be, 0x6c8, 0x6cb, 0x6cf, 0x6de, 0x6ea, 0x6ee, 0x6f3, 0x6f7, 0x6fc, 0x700, 0x705, 0x70e, 0x719, 0x71f, 0x727, 0x72a, 0x72d, 0x731, 0x735, 0x73b, 0x741, 0x746, 0x749, 0x759, 0x760, 0x763, 0x766, 0x76a, 0x770, 0x775, 0x77a, 0x782, 0x787, 0x78b, 0x78f, 0x792, 0x795, 0x799, 0x79d, 0x7a0, 0x7b0, 0x7c1, 0x7c6, 0x7c8, 0x7ca} + +// idnaSparseValues: 1997 entries, 7988 bytes +var idnaSparseValues = [1997]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x06}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x6, offset 0x33 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3e + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xae}, + {value: 0x0808, lo: 0xaf, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4a + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4e + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5d + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x62 + {value: 0x0000, lo: 0x09}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbf}, + // Block 0xc, offset 0x6c + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x78 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xe, offset 0x86 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0xf, offset 0x8b + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0x94 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x11, offset 0xa4 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x12, offset 0xb2 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x3b08, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbe + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xca + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x15, offset 0xdb + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x16, offset 0xe5 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x17, offset 0xec + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x18, offset 0xf9 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x19, offset 0x10a + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1a, offset 0x111 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0x11c + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1c, offset 0x12b + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1d, offset 0x139 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0x143 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x1f, offset 0x145 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x20, offset 0x14a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x21, offset 0x14d + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x22, offset 0x150 + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x23, offset 0x152 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x24, offset 0x15e + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x25, offset 0x169 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x26, offset 0x171 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x177 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x28, offset 0x17d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x29, offset 0x182 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2a, offset 0x187 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2b, offset 0x18a + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2c, offset 0x18e + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2d, offset 0x194 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2e, offset 0x199 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x2f, offset 0x1a5 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x30, offset 0x1af + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x31, offset 0x1b5 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x32, offset 0x1c6 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x33, offset 0x1d0 + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x34, offset 0x1d3 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x35, offset 0x1db + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x36, offset 0x1de + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x37, offset 0x1eb + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x38, offset 0x1f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x39, offset 0x1f7 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3a, offset 0x1fe + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3b, offset 0x206 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x216 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x222 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3e, offset 0x224 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x3f, offset 0x22e + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x23a + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x41, offset 0x246 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x42, offset 0x252 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x43, offset 0x25a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x44, offset 0x25f + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x45, offset 0x269 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x46, offset 0x27a + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x47, offset 0x27e + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x48, offset 0x289 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x49, offset 0x28d + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4a, offset 0x296 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4b, offset 0x29e + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4c, offset 0x2a4 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4d, offset 0x2a9 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x4e, offset 0x2ac + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x4f, offset 0x2b0 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x50, offset 0x2b6 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x51, offset 0x2ba + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x52, offset 0x2be + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xbf}, + // Block 0x53, offset 0x2c2 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x54, offset 0x2c7 + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x55, offset 0x2cd + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2d5 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x57, offset 0x2dc + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x58, offset 0x2e7 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x59, offset 0x2f1 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5a, offset 0x2f5 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0xbf}, + // Block 0x5b, offset 0x2f8 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5c, offset 0x2fe + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5d, offset 0x302 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x5e, offset 0x304 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x5f, offset 0x307 + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x309 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x61, offset 0x30c + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x62, offset 0x316 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x319 + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x64, offset 0x328 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x65, offset 0x32c + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x66, offset 0x331 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x67, offset 0x334 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x68, offset 0x338 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x69, offset 0x33d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6a, offset 0x342 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6b, offset 0x348 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6c, offset 0x34e + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6d, offset 0x35d + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6e, offset 0x363 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x6f, offset 0x367 + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x70, offset 0x376 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x71, offset 0x37b + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x72, offset 0x383 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x73, offset 0x38d + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x74, offset 0x398 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x75, offset 0x3a0 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x76, offset 0x3b1 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x77, offset 0x3ba + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x78, offset 0x3ca + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x79, offset 0x3d7 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7a, offset 0x3e1 + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3e6 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7c, offset 0x3f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7d, offset 0x3f7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x7e, offset 0x3fc + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x7f, offset 0x3fe + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x80, offset 0x402 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x404 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x82, offset 0x408 + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x83, offset 0x411 + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x84, offset 0x417 + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x85, offset 0x41b + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x86, offset 0x42b + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x87, offset 0x435 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x88, offset 0x43a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x89, offset 0x43d + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8a, offset 0x443 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8b, offset 0x44a + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8c, offset 0x44f + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8d, offset 0x453 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x8e, offset 0x459 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xbf}, + // Block 0x8f, offset 0x45e + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x90, offset 0x467 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x91, offset 0x46c + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x92, offset 0x472 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x93, offset 0x479 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x94, offset 0x480 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x95, offset 0x487 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x96, offset 0x48b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x490 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x98, offset 0x493 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x99, offset 0x498 + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x4a4 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9b, offset 0x4aa + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9c, offset 0x4af + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9d, offset 0x4b6 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x4be + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0x9f, offset 0x4c3 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa0, offset 0x4c7 + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa1, offset 0x4d7 + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa2, offset 0x4de + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x4e2 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa4, offset 0x4e6 + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa5, offset 0x4ed + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa6, offset 0x4ef + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa7, offset 0x4f2 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xa8, offset 0x4f5 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x4f9 + {value: 0x0000, lo: 0x08}, + {value: 0x0908, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0xa1}, + {value: 0x0c08, lo: 0xa2, hi: 0xa2}, + {value: 0x0a08, lo: 0xa3, hi: 0xa3}, + {value: 0x3308, lo: 0xa4, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xaa, offset 0x502 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xab, offset 0x506 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0xa6}, + {value: 0x0808, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0a08, lo: 0xb0, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb3}, + {value: 0x0a08, lo: 0xb4, hi: 0xbf}, + // Block 0xac, offset 0x50e + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x84}, + {value: 0x0808, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x90}, + {value: 0x0a18, lo: 0x91, hi: 0x93}, + {value: 0x0c18, lo: 0x94, hi: 0x94}, + {value: 0x0818, lo: 0x95, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xad, offset 0x516 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xae, offset 0x51c + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xaf, offset 0x525 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xb0, offset 0x531 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb1, offset 0x538 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xb2, offset 0x541 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb3, offset 0x54b + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb4, offset 0x552 + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb5, offset 0x560 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb6, offset 0x56d + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb7, offset 0x57a + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb8, offset 0x583 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb9, offset 0x587 + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xba, offset 0x596 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xbb, offset 0x59e + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xbc, offset 0x5a9 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbd, offset 0x5b2 + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbe, offset 0x5b8 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbf, offset 0x5c0 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xc0, offset 0x5c9 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xc1, offset 0x5d3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xc2, offset 0x5d6 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc3, offset 0x5e2 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xc4, offset 0x5eb + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc5, offset 0x5ee + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc6, offset 0x5f3 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xc7, offset 0x5fe + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x3b08, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0xbf}, + // Block 0xc8, offset 0x607 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x98}, + {value: 0x3b08, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xbf}, + // Block 0xc9, offset 0x613 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xca, offset 0x616 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xcb, offset 0x620 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xcc, offset 0x629 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xcd, offset 0x635 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xce, offset 0x642 + {value: 0x0000, lo: 0x0c}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xbf}, + // Block 0xcf, offset 0x64f + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x3008, lo: 0x93, hi: 0x94}, + {value: 0x3308, lo: 0x95, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x96}, + {value: 0x3b08, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xbf}, + // Block 0xd0, offset 0x65d + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xd1, offset 0x664 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xd2, offset 0x667 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xd3, offset 0x66c + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xd4, offset 0x66f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xd5, offset 0x672 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xd6, offset 0x675 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xd7, offset 0x67c + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xd8, offset 0x683 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xd9, offset 0x687 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xda, offset 0x692 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xdb, offset 0x695 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xdc, offset 0x698 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0xdd, offset 0x69b + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xde, offset 0x6a1 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xdf, offset 0x6a6 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xe0, offset 0x6aa + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe1, offset 0x6ad + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xe2, offset 0x6b0 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xe3, offset 0x6b3 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xe4, offset 0x6b6 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xe5, offset 0x6b9 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xe6, offset 0x6be + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xe7, offset 0x6c8 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xe8, offset 0x6cb + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xe9, offset 0x6cf + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xea, offset 0x6de + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xeb, offset 0x6ea + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xec, offset 0x6ee + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xed, offset 0x6f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xee, offset 0x6f7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xef, offset 0x6fc + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xf0, offset 0x700 + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xf1, offset 0x705 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xf2, offset 0x70e + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xf3, offset 0x719 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xf4, offset 0x71f + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xf5, offset 0x727 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xb0}, + {value: 0x0818, lo: 0xb1, hi: 0xbf}, + // Block 0xf6, offset 0x72a + {value: 0x0000, lo: 0x02}, + {value: 0x0818, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xf7, offset 0x72d + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xf8, offset 0x731 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xf9, offset 0x735 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xfa, offset 0x73b + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xfb, offset 0x741 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xfc, offset 0x746 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xfd, offset 0x749 + {value: 0x0000, lo: 0x0f}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xbf}, + // Block 0xfe, offset 0x759 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xff, offset 0x760 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x100, offset 0x763 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0xbf}, + // Block 0x101, offset 0x766 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x102, offset 0x76a + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x103, offset 0x770 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0x104, offset 0x775 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x105, offset 0x77a + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb2}, + {value: 0x0018, lo: 0xb3, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x106, offset 0x782 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x107, offset 0x787 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x108, offset 0x78b + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0x109, offset 0x78f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0x10a, offset 0x792 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x10b, offset 0x795 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x10c, offset 0x799 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x10d, offset 0x79d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x10e, offset 0x7a0 + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0x10f, offset 0x7b0 + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0x110, offset 0x7c1 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0x111, offset 0x7c6 + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x112, offset 0x7c8 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x113, offset 0x7ca + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 42466 bytes (41KiB); checksum: 355A58A4 diff --git a/vendor/golang.org/x/net/idna/tables12.0.0.go b/vendor/golang.org/x/net/idna/tables12.0.0.go new file mode 100644 index 000000000..ab40f7bcc --- /dev/null +++ b/vendor/golang.org/x/net/idna/tables12.0.0.go @@ -0,0 +1,4734 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.14 && !go1.16 +// +build go1.14,!go1.16 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "12.0.0" + +var mappings string = "" + // Size: 8178 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02mr\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多" + + "\x03解\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販" + + "\x03声\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打" + + "\x03禁\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕" + + "\x09〔安〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你" + + "\x03侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內" + + "\x03冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉" + + "\x03勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟" + + "\x03叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙" + + "\x03喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型" + + "\x03堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮" + + "\x03嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍" + + "\x03嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰" + + "\x03庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹" + + "\x03悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞" + + "\x03懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢" + + "\x03揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙" + + "\x03暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓" + + "\x03㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛" + + "\x03㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派" + + "\x03海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆" + + "\x03瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀" + + "\x03犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾" + + "\x03異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌" + + "\x03磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒" + + "\x03䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺" + + "\x03者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋" + + "\x03芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著" + + "\x03荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜" + + "\x03虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠" + + "\x03衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁" + + "\x03贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘" + + "\x03鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲" + + "\x03頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭" + + "\x03鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4862 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x021\x00\x02\x01\x04\x02\x01\x02\x02\x019\x02" + + "\x03\x1c\x02\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03" + + "\xc1r\x02\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<" + + "\x03\xc1s*\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03" + + "\x83\xab\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96" + + "\xe1\xcd\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03" + + "\x9a\xec\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c" + + "!\x03\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03" + + "ʦ\x93\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7" + + "\x03\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca" + + "\xfa\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e" + + "\x03\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca" + + "\xe3\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99" + + "\x03\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca" + + "\xe8\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03" + + "\x0b\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06" + + "\x05\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03" + + "\x0786\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/" + + "\x03\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f" + + "\x03\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-" + + "\x03\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03" + + "\x07\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03" + + "\x07\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03" + + "\x07\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b" + + "\x0a\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03" + + "\x07\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+" + + "\x03\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03" + + "\x044\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03" + + "\x04+ \x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!" + + "\x22\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04" + + "\x03\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>" + + "\x03\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03" + + "\x054\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03" + + "\x05):\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$" + + "\x1e\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226" + + "\x03\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05" + + "\x1b\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05" + + "\x03\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03" + + "\x06\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08" + + "\x03\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03" + + "\x0a6\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a" + + "\x1f\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03" + + "\x0a\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f" + + "\x02\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/" + + "\x03\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a" + + "\x00\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+" + + "\x10\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#" + + "<\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!" + + "\x00\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18." + + "\x03\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15" + + "\x22\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b" + + "\x12\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05" + + "<\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x03\x0b)\x08\x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!" + + "\x10\x03\x0b!0\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b" + + "\x03\x09\x1f\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14" + + "\x03\x0a\x01\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03" + + "\x08='\x03\x08\x1a\x0a\x03\x07</\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03" + + "\x09\x0c\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06" + + "!3\x03\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05" + + "\x03\x07<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07" + + "\x01\x00\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03" + + "\x09\x11\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03" + + "\x0a/1\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03" + + "\x07<3\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06" + + "\x13\x00\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(" + + ";\x03\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08" + + "\x14$\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03" + + "\x0a\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19" + + "\x01\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18" + + "\x03\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03" + + "\x07\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03" + + "\x0a\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03" + + "\x0b\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03" + + "\x08\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05" + + "\x03\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11" + + "\x03\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03" + + "\x09\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a" + + ".\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c<?\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" + + "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" + + "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 29708 bytes (29.01 KiB). Checksum: c3ecc76d8fffa6e6. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 125: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 125 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 127 blocks, 8128 entries, 16256 bytes +// The third block is the zero block. +var idnaValues = [8128]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08, + 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08, + 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08, + 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808, + 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040, + 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08, + 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08, + 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040, + 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, + 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040, + 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040, + // Block 0x16, offset 0x580 + 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308, + 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008, + 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308, + 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308, + 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1, + 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308, + 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008, + 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008, + 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008, + 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, + 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, + 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, + 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040, + 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, + 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008, + // Block 0x18, offset 0x600 + 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040, + 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008, + 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008, + 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1, + 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308, + 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018, + 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018, + 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040, + // Block 0x19, offset 0x640 + 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008, + 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040, + 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040, + 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, + 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, + 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, + 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008, + 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008, + // Block 0x1a, offset 0x680 + 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040, + 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308, + 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308, + 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, + 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040, + 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040, + 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308, + 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, + 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008, + 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, + 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, + 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, + 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, + 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, + // Block 0x1c, offset 0x700 + 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308, + 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008, + 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040, + 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040, + 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308, + 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040, + 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308, + 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008, + 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008, + 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008, + 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008, + 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008, + 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008, + 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, + // Block 0x1e, offset 0x780 + 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040, + 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008, + 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, + 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008, + 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9, + 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308, + 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018, + 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008, + 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040, + 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, + 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040, + 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040, + 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008, + 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008, + 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, + 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, + // Block 0x20, offset 0x800 + 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040, + 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308, + 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, + 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, + 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308, + 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, + 0x836: 0x0040, 0x837: 0x0018, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018, + 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018, + // Block 0x21, offset 0x840 + 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008, + 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008, + 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040, + 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008, + 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008, + 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008, + 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008, + 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040, + 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040, + 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040, + 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040, + 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040, + 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040, + 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008, + 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008, + 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018, + 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308, + 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018, + 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008, + 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008, + // Block 0x24, offset 0x900 + 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040, + 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0040, + 0x90c: 0x0008, 0x90d: 0x0008, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008, + 0x912: 0x0008, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008, + 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0008, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008, + 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308, + 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x3b08, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040, + // Block 0x25, offset 0x940 + 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008, + 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, + 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79, + 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008, + 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, + 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9, + 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040, + 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59, + 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008, + // Block 0x26, offset 0x980 + 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018, + 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308, + 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308, + 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11, + 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308, + 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308, + 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308, + 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308, + 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308, + 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, + 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, + 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, + 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, + 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008, + 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008, + 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008, + 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008, + 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41, + 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008, + 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269, + // Block 0x28, offset 0xa00 + 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1, + 0xa06: 0x05b5, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011, + 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041, + 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05cd, 0xa15: 0x05cd, 0xa16: 0x0f99, 0xa17: 0x0fa9, + 0xa18: 0x0fb9, 0xa19: 0x05b5, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05e5, 0xa1d: 0x1099, + 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269, + 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1, + 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008, + 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008, + 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008, + 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008, + // Block 0x29, offset 0xa40 + 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008, + 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008, + 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008, + 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, + 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169, + 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9, + 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05fd, 0xa68: 0x1239, 0xa69: 0x1251, + 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9, + 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359, + 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x0615, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1, + 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008, + 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008, + 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008, + 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008, + 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008, + 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x062d, 0xadb: 0x064d, 0xadc: 0x0008, 0xadd: 0x0008, + 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008, + 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008, + 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008, + 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008, + 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008, + 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008, + 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045, + 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008, + 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008, + 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045, + 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008, + 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, + 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045, + 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489, + 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1, + 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1, + 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591, + 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1, + 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1, + 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771, + 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891, + 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831, + 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951, + 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x0665, 0xb7b: 0x1459, + 0xb7c: 0x19b1, 0xb7d: 0x067e, 0xb7e: 0x1a31, 0xb7f: 0x069e, + // Block 0x2e, offset 0xb80 + 0xb80: 0x06be, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040, + 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06dd, 0xb89: 0x1471, 0xb8a: 0x06f5, 0xb8b: 0x1489, + 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008, + 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008, + 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x070d, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2, + 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61, + 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045, + 0xbaa: 0x0725, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa, + 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040, + 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x073d, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9, + 0xbbc: 0x1ce9, 0xbbd: 0x0756, 0xbbe: 0x0776, 0xbbf: 0x0040, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a, + 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0, + 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x0796, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, + 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a, + 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018, + 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, + 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x07b6, 0xbff: 0x0018, + // Block 0x30, offset 0xc00 + 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018, + 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018, + 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018, + 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9, + 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018, + 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340, + 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040, + 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340, + 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61, + 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07d5, + 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71, + // Block 0x31, offset 0xc40 + 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61, + 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07ed, + 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09, + 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359, + 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040, + 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018, + 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018, + 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018, + 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018, + 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018, + 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018, + // Block 0x32, offset 0xc80 + 0xc80: 0x0806, 0xc81: 0x0826, 0xc82: 0x1159, 0xc83: 0x0845, 0xc84: 0x0018, 0xc85: 0x0866, + 0xc86: 0x0886, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x08a5, 0xc8a: 0x0f31, 0xc8b: 0x0249, + 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41, + 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018, + 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269, + 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08c5, 0xca2: 0x2061, 0xca3: 0x0018, + 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018, + 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09, + 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9, + 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08e5, + 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x0905, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9, + 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018, + 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151, + 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279, + 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399, + 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x091d, 0xce3: 0x2439, + 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x093d, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369, + 0xcea: 0x24a9, 0xceb: 0x095d, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61, + 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x097d, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451, + 0xcf6: 0x099d, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09bd, + 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61, + // Block 0x34, offset 0xd00 + 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018, + 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040, + 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51, + 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601, + 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691, + 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a1e, 0xd35: 0x0a3e, + 0xd36: 0x0a5e, 0xd37: 0x0a7e, 0xd38: 0x0a9e, 0xd39: 0x0abe, 0xd3a: 0x0ade, 0xd3b: 0x0afe, + 0xd3c: 0x0b1e, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a, + // Block 0x35, offset 0xd40 + 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a, + 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040, + 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040, + 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040, + 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b3e, 0xd5d: 0x0b5e, + 0xd5e: 0x0b7e, 0xd5f: 0x0b9e, 0xd60: 0x0bbe, 0xd61: 0x0bde, 0xd62: 0x0bfe, 0xd63: 0x0c1e, + 0xd64: 0x0c3e, 0xd65: 0x0c5e, 0xd66: 0x0c7e, 0xd67: 0x0c9e, 0xd68: 0x0cbe, 0xd69: 0x0cde, + 0xd6a: 0x0cfe, 0xd6b: 0x0d1e, 0xd6c: 0x0d3e, 0xd6d: 0x0d5e, 0xd6e: 0x0d7e, 0xd6f: 0x0d9e, + 0xd70: 0x0dbe, 0xd71: 0x0dde, 0xd72: 0x0dfe, 0xd73: 0x0e1e, 0xd74: 0x0e3e, 0xd75: 0x0e5e, + 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199, + 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259, + // Block 0x36, offset 0xd80 + 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99, + 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089, + 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9, + 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249, + 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71, + 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9, + 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1, + 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018, + 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018, + 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008, + 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008, + 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008, + 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008, + 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008, + 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ed5, + 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d, + 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9, + 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d, + 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008, + 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9, + // Block 0x38, offset 0xe00 + 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008, + 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008, + 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008, + 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008, + 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008, + 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008, + 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, + 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308, + 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018, + 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + // Block 0x39, offset 0xe40 + 0xe40: 0x2715, 0xe41: 0x2735, 0xe42: 0x2755, 0xe43: 0x2775, 0xe44: 0x2795, 0xe45: 0x27b5, + 0xe46: 0x27d5, 0xe47: 0x27f5, 0xe48: 0x2815, 0xe49: 0x2835, 0xe4a: 0x2855, 0xe4b: 0x2875, + 0xe4c: 0x2895, 0xe4d: 0x28b5, 0xe4e: 0x28d5, 0xe4f: 0x28f5, 0xe50: 0x2915, 0xe51: 0x2935, + 0xe52: 0x2955, 0xe53: 0x2975, 0xe54: 0x2995, 0xe55: 0x29b5, 0xe56: 0x0040, 0xe57: 0x0040, + 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040, + 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040, + 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040, + 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040, + 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040, + 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040, + 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040, + // Block 0x3a, offset 0xe80 + 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008, + 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018, + 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018, + 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018, + 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018, + 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018, + 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018, + 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018, + 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018, + 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29d5, 0xeb9: 0x29f5, 0xeba: 0x2a15, 0xebb: 0x0018, + 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2b55, 0xec1: 0x2b75, 0xec2: 0x2b95, 0xec3: 0x2bb5, 0xec4: 0x2bd5, 0xec5: 0x2bf5, + 0xec6: 0x2bf5, 0xec7: 0x2bf5, 0xec8: 0x2c15, 0xec9: 0x2c15, 0xeca: 0x2c15, 0xecb: 0x2c15, + 0xecc: 0x2c35, 0xecd: 0x2c35, 0xece: 0x2c35, 0xecf: 0x2c55, 0xed0: 0x2c75, 0xed1: 0x2c75, + 0xed2: 0x2a95, 0xed3: 0x2a95, 0xed4: 0x2c75, 0xed5: 0x2c75, 0xed6: 0x2c95, 0xed7: 0x2c95, + 0xed8: 0x2c75, 0xed9: 0x2c75, 0xeda: 0x2a95, 0xedb: 0x2a95, 0xedc: 0x2c75, 0xedd: 0x2c75, + 0xede: 0x2c55, 0xedf: 0x2c55, 0xee0: 0x2cb5, 0xee1: 0x2cb5, 0xee2: 0x2cd5, 0xee3: 0x2cd5, + 0xee4: 0x0040, 0xee5: 0x2cf5, 0xee6: 0x2d15, 0xee7: 0x2d35, 0xee8: 0x2d35, 0xee9: 0x2d55, + 0xeea: 0x2d75, 0xeeb: 0x2d95, 0xeec: 0x2db5, 0xeed: 0x2dd5, 0xeee: 0x2df5, 0xeef: 0x2e15, + 0xef0: 0x2e35, 0xef1: 0x2e55, 0xef2: 0x2e55, 0xef3: 0x2e75, 0xef4: 0x2e95, 0xef5: 0x2e95, + 0xef6: 0x2eb5, 0xef7: 0x2ed5, 0xef8: 0x2e75, 0xef9: 0x2ef5, 0xefa: 0x2f15, 0xefb: 0x2ef5, + 0xefc: 0x2e75, 0xefd: 0x2f35, 0xefe: 0x2f55, 0xeff: 0x2f75, + // Block 0x3c, offset 0xf00 + 0xf00: 0x2f95, 0xf01: 0x2fb5, 0xf02: 0x2d15, 0xf03: 0x2cf5, 0xf04: 0x2fd5, 0xf05: 0x2ff5, + 0xf06: 0x3015, 0xf07: 0x3035, 0xf08: 0x3055, 0xf09: 0x3075, 0xf0a: 0x3095, 0xf0b: 0x30b5, + 0xf0c: 0x30d5, 0xf0d: 0x30f5, 0xf0e: 0x3115, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018, + 0xf12: 0x3135, 0xf13: 0x3155, 0xf14: 0x3175, 0xf15: 0x3195, 0xf16: 0x31b5, 0xf17: 0x31d5, + 0xf18: 0x31f5, 0xf19: 0x3215, 0xf1a: 0x3235, 0xf1b: 0x3255, 0xf1c: 0x3175, 0xf1d: 0x3275, + 0xf1e: 0x3295, 0xf1f: 0x32b5, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008, + 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008, + 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008, + 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008, + 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040, + 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32d5, 0xf45: 0x32f5, + 0xf46: 0x3315, 0xf47: 0x3335, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018, + 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x3355, 0xf51: 0x3761, + 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1, + 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881, + 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x3375, 0xf61: 0x3395, 0xf62: 0x33b5, 0xf63: 0x33d5, + 0xf64: 0x33f5, 0xf65: 0x33f5, 0xf66: 0x3415, 0xf67: 0x3435, 0xf68: 0x3455, 0xf69: 0x3475, + 0xf6a: 0x3495, 0xf6b: 0x34b5, 0xf6c: 0x34d5, 0xf6d: 0x34f5, 0xf6e: 0x3515, 0xf6f: 0x3535, + 0xf70: 0x3555, 0xf71: 0x3575, 0xf72: 0x3595, 0xf73: 0x35b5, 0xf74: 0x35d5, 0xf75: 0x35f5, + 0xf76: 0x3615, 0xf77: 0x3635, 0xf78: 0x3655, 0xf79: 0x3675, 0xf7a: 0x3695, 0xf7b: 0x36b5, + 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36d5, 0xf7f: 0x0018, + // Block 0x3e, offset 0xf80 + 0xf80: 0x36f5, 0xf81: 0x3715, 0xf82: 0x3735, 0xf83: 0x3755, 0xf84: 0x3775, 0xf85: 0x3795, + 0xf86: 0x37b5, 0xf87: 0x37d5, 0xf88: 0x37f5, 0xf89: 0x3815, 0xf8a: 0x3835, 0xf8b: 0x3855, + 0xf8c: 0x3875, 0xf8d: 0x3895, 0xf8e: 0x38b5, 0xf8f: 0x38d5, 0xf90: 0x38f5, 0xf91: 0x3915, + 0xf92: 0x3935, 0xf93: 0x3955, 0xf94: 0x3975, 0xf95: 0x3995, 0xf96: 0x39b5, 0xf97: 0x39d5, + 0xf98: 0x39f5, 0xf99: 0x3a15, 0xf9a: 0x3a35, 0xf9b: 0x3a55, 0xf9c: 0x3a75, 0xf9d: 0x3a95, + 0xf9e: 0x3ab5, 0xf9f: 0x3ad5, 0xfa0: 0x3af5, 0xfa1: 0x3b15, 0xfa2: 0x3b35, 0xfa3: 0x3b55, + 0xfa4: 0x3b75, 0xfa5: 0x3b95, 0xfa6: 0x1295, 0xfa7: 0x3bb5, 0xfa8: 0x3bd5, 0xfa9: 0x3bf5, + 0xfaa: 0x3c15, 0xfab: 0x3c35, 0xfac: 0x3c55, 0xfad: 0x3c75, 0xfae: 0x23b5, 0xfaf: 0x3c95, + 0xfb0: 0x3cb5, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999, + 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29, + 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69, + 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69, + 0xfcc: 0x3c99, 0xfcd: 0x3cd5, 0xfce: 0x3cb1, 0xfcf: 0x3cf5, 0xfd0: 0x3d15, 0xfd1: 0x3d2d, + 0xfd2: 0x3d45, 0xfd3: 0x3d5d, 0xfd4: 0x3d75, 0xfd5: 0x3d75, 0xfd6: 0x3d5d, 0xfd7: 0x3d8d, + 0xfd8: 0x07d5, 0xfd9: 0x3da5, 0xfda: 0x3dbd, 0xfdb: 0x3dd5, 0xfdc: 0x3ded, 0xfdd: 0x3e05, + 0xfde: 0x3e1d, 0xfdf: 0x3e35, 0xfe0: 0x3e4d, 0xfe1: 0x3e65, 0xfe2: 0x3e7d, 0xfe3: 0x3e95, + 0xfe4: 0x3ead, 0xfe5: 0x3ead, 0xfe6: 0x3ec5, 0xfe7: 0x3ec5, 0xfe8: 0x3edd, 0xfe9: 0x3edd, + 0xfea: 0x3ef5, 0xfeb: 0x3f0d, 0xfec: 0x3f25, 0xfed: 0x3f3d, 0xfee: 0x3f55, 0xfef: 0x3f55, + 0xff0: 0x3f6d, 0xff1: 0x3f6d, 0xff2: 0x3f6d, 0xff3: 0x3f85, 0xff4: 0x3f9d, 0xff5: 0x3fb5, + 0xff6: 0x3fcd, 0xff7: 0x3fb5, 0xff8: 0x3fe5, 0xff9: 0x3ffd, 0xffa: 0x3f85, 0xffb: 0x4015, + 0xffc: 0x402d, 0xffd: 0x402d, 0xffe: 0x402d, 0xfff: 0x0040, + // Block 0x40, offset 0x1000 + 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9, + 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1, + 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9, + 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549, + 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1, + 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11, + 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91, + 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9, + 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011, + 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209, + 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361, + // Block 0x41, offset 0x1040 + 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541, + 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781, + 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979, + 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89, + 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1, + 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99, + 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9, + 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9, + 0x1070: 0x6009, 0x1071: 0x4045, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x4065, 0x1075: 0x6069, + 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x4085, 0x1079: 0x4085, 0x107a: 0x60b1, 0x107b: 0x60c9, + 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9, + // Block 0x42, offset 0x1080 + 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x40a5, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271, + 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40c5, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9, + 0x108c: 0x40e5, 0x108d: 0x40e5, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x4105, + 0x1092: 0x4125, 0x1093: 0x4145, 0x1094: 0x4165, 0x1095: 0x4185, 0x1096: 0x6359, 0x1097: 0x6371, + 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x41a5, 0x109c: 0x63d1, 0x109d: 0x63e9, + 0x109e: 0x6401, 0x109f: 0x41c5, 0x10a0: 0x41e5, 0x10a1: 0x6419, 0x10a2: 0x4205, 0x10a3: 0x4225, + 0x10a4: 0x4245, 0x10a5: 0x6431, 0x10a6: 0x4265, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211, + 0x10aa: 0x4285, 0x10ab: 0x42a5, 0x10ac: 0x42c5, 0x10ad: 0x42e5, 0x10ae: 0x64b1, 0x10af: 0x64f1, + 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x4305, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599, + 0x10b6: 0x4325, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9, + 0x10bc: 0x4345, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x4365, 0x10c1: 0x4385, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671, + 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709, + 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781, + 0x10d2: 0x43a5, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43c5, 0x10d6: 0x43e5, 0x10d7: 0x67b1, + 0x10d8: 0x0040, 0x10d9: 0x4405, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811, + 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901, + 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1, + 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11, + 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31, + 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51, + 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x4425, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008, + 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008, + 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, + 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308, + 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308, + 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308, + 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, + 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, + 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, + 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, + 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11, + 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008, + 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008, + 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, + 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008, + 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018, + 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018, + 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018, + 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008, + 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008, + 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008, + 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008, + 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008, + 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008, + 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008, + 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d, + 0x11fc: 0x0008, 0x11fd: 0x4445, 0x11fe: 0xe00d, 0x11ff: 0x0008, + // Block 0x48, offset 0x1200 + 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008, + 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d, + 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008, + 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008, + 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008, + 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008, + 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008, + 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0008, + 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x4465, 0x1234: 0xe00d, 0x1235: 0x0008, + 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0xe00d, 0x1239: 0x0008, 0x123a: 0xe00d, 0x123b: 0x0008, + 0x123c: 0xe00d, 0x123d: 0x0008, 0x123e: 0xe00d, 0x123f: 0x0008, + // Block 0x49, offset 0x1240 + 0x1240: 0x650d, 0x1241: 0x652d, 0x1242: 0x654d, 0x1243: 0x656d, 0x1244: 0x658d, 0x1245: 0x65ad, + 0x1246: 0x65cd, 0x1247: 0x65ed, 0x1248: 0x660d, 0x1249: 0x662d, 0x124a: 0x664d, 0x124b: 0x666d, + 0x124c: 0x668d, 0x124d: 0x66ad, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x66cd, 0x1251: 0x0008, + 0x1252: 0x66ed, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x670d, 0x1256: 0x672d, 0x1257: 0x674d, + 0x1258: 0x676d, 0x1259: 0x678d, 0x125a: 0x67ad, 0x125b: 0x67cd, 0x125c: 0x67ed, 0x125d: 0x680d, + 0x125e: 0x682d, 0x125f: 0x0008, 0x1260: 0x684d, 0x1261: 0x0008, 0x1262: 0x686d, 0x1263: 0x0008, + 0x1264: 0x0008, 0x1265: 0x688d, 0x1266: 0x68ad, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008, + 0x126a: 0x68cd, 0x126b: 0x68ed, 0x126c: 0x690d, 0x126d: 0x692d, 0x126e: 0x694d, 0x126f: 0x696d, + 0x1270: 0x698d, 0x1271: 0x69ad, 0x1272: 0x69cd, 0x1273: 0x69ed, 0x1274: 0x6a0d, 0x1275: 0x6a2d, + 0x1276: 0x6a4d, 0x1277: 0x6a6d, 0x1278: 0x6a8d, 0x1279: 0x6aad, 0x127a: 0x6acd, 0x127b: 0x6aed, + 0x127c: 0x6b0d, 0x127d: 0x6b2d, 0x127e: 0x6b4d, 0x127f: 0x6b6d, + // Block 0x4a, offset 0x1280 + 0x1280: 0x7acd, 0x1281: 0x7aed, 0x1282: 0x7b0d, 0x1283: 0x7b2d, 0x1284: 0x7b4d, 0x1285: 0x7b6d, + 0x1286: 0x7b8d, 0x1287: 0x7bad, 0x1288: 0x7bcd, 0x1289: 0x7bed, 0x128a: 0x7c0d, 0x128b: 0x7c2d, + 0x128c: 0x7c4d, 0x128d: 0x7c6d, 0x128e: 0x7c8d, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19, + 0x1292: 0x7cad, 0x1293: 0x7ccd, 0x1294: 0x7ced, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91, + 0x1298: 0x7d0d, 0x1299: 0x7d2d, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040, + 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040, + 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040, + 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040, + 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040, + 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040, + 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d4d, 0x12c4: 0x7d6d, 0x12c5: 0x7001, + 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040, + 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040, + 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9, + 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1, + 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149, + 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2, + 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1, + 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1, + 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479, + 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040, + // Block 0x4c, offset 0x1300 + 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040, + 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659, + 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721, + 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751, + 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769, + 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799, + 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1, + 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1, + 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9, + 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829, + 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841, + // Block 0x4d, offset 0x1340 + 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871, + 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9, + 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9, + 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919, + 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931, + 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961, + 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991, + 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1, + 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818, + 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818, + 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040, + 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040, + 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040, + 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09, + 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479, + 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81, + 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1, + 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19, + 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91, + 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1, + 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1, + 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1, + 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1, + 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991, + 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81, + 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a, + 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99, + 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89, + 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79, + 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19, + 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469, + // Block 0x50, offset 0x1400 + 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649, + 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9, + 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49, + 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21, + 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9, + 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01, + 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91, + 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9, + 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171, + 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289, + 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329, + // Block 0x51, offset 0x1440 + 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1, + 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621, + 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739, + 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1, + 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9, + 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29, + 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079, + 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1, + 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171, + 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261, + 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301, + // Block 0x52, offset 0x1480 + 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1, + 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1, + 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171, + 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261, + 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351, + 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441, + 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509, + 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1, + 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081, + 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239, + 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040, + 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609, + 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721, + 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839, + 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919, + 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9, + 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9, + 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9, + 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1, + 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79, + // Block 0x54, offset 0x1500 + 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989, + 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040, + 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040, + 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040, + 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040, + 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040, + 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, + 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9, + 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12, + 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040, + // Block 0x55, offset 0x1540 + 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0, + 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0, + 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d8d, + 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7dad, + 0x1558: 0x7dcd, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040, + 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308, + 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308, + 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308, + 0x1570: 0x0040, 0x1571: 0x7ded, 0x1572: 0x7e0d, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2, + 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7e2d, 0x157a: 0x7e4d, 0x157b: 0x7e6d, + 0x157c: 0x7e2d, 0x157d: 0x7e8d, 0x157e: 0x7ead, 0x157f: 0x7e8d, + // Block 0x56, offset 0x1580 + 0x1580: 0x7ecd, 0x1581: 0x7eed, 0x1582: 0x7f0d, 0x1583: 0x7eed, 0x1584: 0x7f2d, 0x1585: 0x0018, + 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f4e, 0x158a: 0x7f6e, 0x158b: 0x7f8e, + 0x158c: 0x7fae, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7fcd, + 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa, + 0x1598: 0x7fed, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7ecd, + 0x159e: 0x7f2d, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99, + 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda, + 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040, + 0x15b0: 0x800e, 0x15b1: 0xb009, 0x15b2: 0x802e, 0x15b3: 0x0808, 0x15b4: 0x804e, 0x15b5: 0x0040, + 0x15b6: 0x806e, 0x15b7: 0xb031, 0x15b8: 0x808e, 0x15b9: 0xb059, 0x15ba: 0x80ae, 0x15bb: 0xb081, + 0x15bc: 0x80ce, 0x15bd: 0xb0a9, 0x15be: 0x80ee, 0x15bf: 0xb0d1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141, + 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171, + 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1, + 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1, + 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201, + 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219, + 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249, + 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291, + 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1, + 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9, + 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1, + // Block 0x58, offset 0x1600 + 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321, + 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339, + 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369, + 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381, + 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1, + 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9, + 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9, + 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1, + 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441, + 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9, + 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0, + // Block 0x59, offset 0x1640 + 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea, + 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2, + 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9, + 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81, + 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2, + 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159, + 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41, + 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9, + 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9, + 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a, + 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09, + 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51, + 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039, + 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279, + 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a, + 0x169e: 0xb532, 0x169f: 0x810d, 0x16a0: 0x812d, 0x16a1: 0x29d1, 0x16a2: 0x814d, 0x16a3: 0x814d, + 0x16a4: 0x816d, 0x16a5: 0x818d, 0x16a6: 0x81ad, 0x16a7: 0x81cd, 0x16a8: 0x81ed, 0x16a9: 0x820d, + 0x16aa: 0x822d, 0x16ab: 0x824d, 0x16ac: 0x826d, 0x16ad: 0x828d, 0x16ae: 0x82ad, 0x16af: 0x82cd, + 0x16b0: 0x82ed, 0x16b1: 0x830d, 0x16b2: 0x832d, 0x16b3: 0x834d, 0x16b4: 0x836d, 0x16b5: 0x838d, + 0x16b6: 0x83ad, 0x16b7: 0x83cd, 0x16b8: 0x83ed, 0x16b9: 0x840d, 0x16ba: 0x842d, 0x16bb: 0x844d, + 0x16bc: 0x81ed, 0x16bd: 0x846d, 0x16be: 0x848d, 0x16bf: 0x824d, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x84ad, 0x16c1: 0x84cd, 0x16c2: 0x84ed, 0x16c3: 0x850d, 0x16c4: 0x852d, 0x16c5: 0x854d, + 0x16c6: 0x856d, 0x16c7: 0x858d, 0x16c8: 0x850d, 0x16c9: 0x85ad, 0x16ca: 0x850d, 0x16cb: 0x85cd, + 0x16cc: 0x85cd, 0x16cd: 0x85ed, 0x16ce: 0x85ed, 0x16cf: 0x860d, 0x16d0: 0x854d, 0x16d1: 0x862d, + 0x16d2: 0x864d, 0x16d3: 0x862d, 0x16d4: 0x866d, 0x16d5: 0x864d, 0x16d6: 0x868d, 0x16d7: 0x868d, + 0x16d8: 0x86ad, 0x16d9: 0x86ad, 0x16da: 0x86cd, 0x16db: 0x86cd, 0x16dc: 0x864d, 0x16dd: 0x814d, + 0x16de: 0x86ed, 0x16df: 0x870d, 0x16e0: 0x0040, 0x16e1: 0x872d, 0x16e2: 0x874d, 0x16e3: 0x876d, + 0x16e4: 0x878d, 0x16e5: 0x876d, 0x16e6: 0x87ad, 0x16e7: 0x87cd, 0x16e8: 0x87ed, 0x16e9: 0x87ed, + 0x16ea: 0x880d, 0x16eb: 0x880d, 0x16ec: 0x882d, 0x16ed: 0x882d, 0x16ee: 0x880d, 0x16ef: 0x880d, + 0x16f0: 0x884d, 0x16f1: 0x886d, 0x16f2: 0x888d, 0x16f3: 0x88ad, 0x16f4: 0x88cd, 0x16f5: 0x88ed, + 0x16f6: 0x88ed, 0x16f7: 0x88ed, 0x16f8: 0x890d, 0x16f9: 0x890d, 0x16fa: 0x890d, 0x16fb: 0x890d, + 0x16fc: 0x87ed, 0x16fd: 0x87ed, 0x16fe: 0x87ed, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x874d, 0x1703: 0x872d, 0x1704: 0x892d, 0x1705: 0x872d, + 0x1706: 0x874d, 0x1707: 0x872d, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x894d, 0x170b: 0x874d, + 0x170c: 0x896d, 0x170d: 0x892d, 0x170e: 0x896d, 0x170f: 0x874d, 0x1710: 0x0040, 0x1711: 0x0040, + 0x1712: 0x898d, 0x1713: 0x89ad, 0x1714: 0x88ad, 0x1715: 0x896d, 0x1716: 0x892d, 0x1717: 0x896d, + 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x89cd, 0x171b: 0x89ed, 0x171c: 0x89cd, 0x171d: 0x0040, + 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x8a0e, + 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x8a2d, 0x1727: 0x0040, 0x1728: 0x8a4d, 0x1729: 0x8a6d, + 0x172a: 0x8a8d, 0x172b: 0x8a6d, 0x172c: 0x8aad, 0x172d: 0x8acd, 0x172e: 0x8aed, 0x172f: 0x0040, + 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, + 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08, + 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808, + 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08, + 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908, + 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08, + 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808, + 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040, + 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18, + 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818, + 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08, + 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08, + 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08, + 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040, + 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040, + 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040, + 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18, + 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818, + 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040, + 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008, + 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008, + 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008, + 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008, + 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040, + 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008, + 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008, + 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x3308, + 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008, + // Block 0x60, offset 0x1800 + 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040, + 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008, + 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040, + 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008, + 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008, + 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008, + 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308, + 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040, + 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040, + 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040, + 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040, + // Block 0x61, offset 0x1840 + 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199, + 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359, + 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269, + 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369, + 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9, + 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259, + 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99, + 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089, + 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9, + 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249, + 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359, + // Block 0x62, offset 0x1880 + 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269, + 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369, + 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9, + 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259, + 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99, + 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089, + 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9, + 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249, + 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71, + 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9, + 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9, + 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259, + 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99, + 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089, + 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040, + 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040, + 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71, + 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9, + 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1, + 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199, + 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259, + // Block 0x64, offset 0x1900 + 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99, + 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089, + 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9, + 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249, + 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71, + 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9, + 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1, + 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199, + 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359, + 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269, + 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089, + // Block 0x65, offset 0x1940 + 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9, + 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040, + 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71, + 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9, + 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040, + 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199, + 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359, + 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269, + 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369, + 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9, + 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040, + // Block 0x66, offset 0x1980 + 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040, + 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9, + 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040, + 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199, + 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359, + 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269, + 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369, + 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9, + 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259, + 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99, + 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1, + 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199, + 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359, + 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269, + 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369, + 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9, + 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259, + 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99, + 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089, + 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9, + 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359, + 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269, + 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369, + 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9, + 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259, + 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99, + 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089, + 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9, + 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249, + 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71, + 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369, + 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9, + 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259, + 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99, + 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089, + 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9, + 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249, + 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71, + 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9, + 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1, + 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259, + 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99, + 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089, + 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9, + 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249, + 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71, + 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9, + 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1, + 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199, + 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359, + 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089, + 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9, + 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249, + 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71, + 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9, + 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1, + 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099, + 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429, + 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71, + 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9, + 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9, + 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11, + 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109, + 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1, + 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429, + 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099, + 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429, + 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71, + 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9, + 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01, + 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11, + 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109, + 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1, + 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429, + 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099, + 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429, + 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71, + 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9, + 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01, + 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1, + 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109, + 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1, + 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429, + 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099, + 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429, + 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71, + 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9, + 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01, + 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1, + 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41, + 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1, + 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429, + 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099, + 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429, + 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71, + 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9, + 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01, + 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1, + 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41, + 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1, + 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429, + 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41, + 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079, + 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1, + 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61, + 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9, + 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81, + 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079, + 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1, + 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61, + 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115, + 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135, + 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115, + 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175, + 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115, + 0x1c5e: 0x8b3d, 0x1c5f: 0x8b3d, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08, + 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08, + 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08, + 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08, + 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08, + 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08, + // Block 0x72, offset 0x1c80 + 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411, + 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1, + 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231, + 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949, + 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351, + 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040, + 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231, + 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949, + 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040, + 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411, + 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1, + 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9, + 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231, + 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040, + 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249, + 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429, + 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339, + 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1, + 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351, + 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02, + 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018, + 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2, + 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72, + 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32, + 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2, + 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2, + 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0018, + 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199, + 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359, + 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99, + // Block 0x76, offset 0x1d80 + 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089, + 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1, + 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018, + 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018, + 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018, + 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018, + 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018, + 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0xc1c1, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040, + 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018, + 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018, + 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xc1f1, 0x1dc1: 0xc229, 0x1dc2: 0xc261, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040, + 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040, + 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc281, 0x1dd1: 0xc2a1, + 0x1dd2: 0xc2c1, 0x1dd3: 0xc2e1, 0x1dd4: 0xc301, 0x1dd5: 0xc321, 0x1dd6: 0xc341, 0x1dd7: 0xc361, + 0x1dd8: 0xc381, 0x1dd9: 0xc3a1, 0x1dda: 0xc3c1, 0x1ddb: 0xc3e1, 0x1ddc: 0xc401, 0x1ddd: 0xc421, + 0x1dde: 0xc441, 0x1ddf: 0xc461, 0x1de0: 0xc481, 0x1de1: 0xc4a1, 0x1de2: 0xc4c1, 0x1de3: 0xc4e1, + 0x1de4: 0xc501, 0x1de5: 0xc521, 0x1de6: 0xc541, 0x1de7: 0xc561, 0x1de8: 0xc581, 0x1de9: 0xc5a1, + 0x1dea: 0xc5c1, 0x1deb: 0xc5e1, 0x1dec: 0xc601, 0x1ded: 0xc621, 0x1dee: 0xc641, 0x1def: 0xc661, + 0x1df0: 0xc681, 0x1df1: 0xc6a1, 0x1df2: 0xc6c1, 0x1df3: 0xc6e1, 0x1df4: 0xc701, 0x1df5: 0xc721, + 0x1df6: 0xc741, 0x1df7: 0xc761, 0x1df8: 0xc781, 0x1df9: 0xc7a1, 0x1dfa: 0xc7c1, 0x1dfb: 0xc7e1, + 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xcb11, 0x1e01: 0xcb31, 0x1e02: 0xcb51, 0x1e03: 0x8b55, 0x1e04: 0xcb71, 0x1e05: 0xcb91, + 0x1e06: 0xcbb1, 0x1e07: 0xcbd1, 0x1e08: 0xcbf1, 0x1e09: 0xcc11, 0x1e0a: 0xcc31, 0x1e0b: 0xcc51, + 0x1e0c: 0xcc71, 0x1e0d: 0x8b75, 0x1e0e: 0xcc91, 0x1e0f: 0xccb1, 0x1e10: 0xccd1, 0x1e11: 0xccf1, + 0x1e12: 0x8b95, 0x1e13: 0xcd11, 0x1e14: 0xcd31, 0x1e15: 0xc441, 0x1e16: 0x8bb5, 0x1e17: 0xcd51, + 0x1e18: 0xcd71, 0x1e19: 0xcd91, 0x1e1a: 0xcdb1, 0x1e1b: 0xcdd1, 0x1e1c: 0x8bd5, 0x1e1d: 0xcdf1, + 0x1e1e: 0xce11, 0x1e1f: 0xce31, 0x1e20: 0xce51, 0x1e21: 0xce71, 0x1e22: 0xc7a1, 0x1e23: 0xce91, + 0x1e24: 0xceb1, 0x1e25: 0xced1, 0x1e26: 0xcef1, 0x1e27: 0xcf11, 0x1e28: 0xcf31, 0x1e29: 0xcf51, + 0x1e2a: 0xcf71, 0x1e2b: 0xcf91, 0x1e2c: 0xcfb1, 0x1e2d: 0xcfd1, 0x1e2e: 0xcff1, 0x1e2f: 0xd011, + 0x1e30: 0xd031, 0x1e31: 0xd051, 0x1e32: 0xd051, 0x1e33: 0xd051, 0x1e34: 0x8bf5, 0x1e35: 0xd071, + 0x1e36: 0xd091, 0x1e37: 0xd0b1, 0x1e38: 0x8c15, 0x1e39: 0xd0d1, 0x1e3a: 0xd0f1, 0x1e3b: 0xd111, + 0x1e3c: 0xd131, 0x1e3d: 0xd151, 0x1e3e: 0xd171, 0x1e3f: 0xd191, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd1b1, 0x1e41: 0xd1d1, 0x1e42: 0xd1f1, 0x1e43: 0xd211, 0x1e44: 0xd231, 0x1e45: 0xd251, + 0x1e46: 0xd251, 0x1e47: 0xd271, 0x1e48: 0xd291, 0x1e49: 0xd2b1, 0x1e4a: 0xd2d1, 0x1e4b: 0xd2f1, + 0x1e4c: 0xd311, 0x1e4d: 0xd331, 0x1e4e: 0xd351, 0x1e4f: 0xd371, 0x1e50: 0xd391, 0x1e51: 0xd3b1, + 0x1e52: 0xd3d1, 0x1e53: 0xd3f1, 0x1e54: 0xd411, 0x1e55: 0xd431, 0x1e56: 0xd451, 0x1e57: 0xd471, + 0x1e58: 0xd491, 0x1e59: 0x8c35, 0x1e5a: 0xd4b1, 0x1e5b: 0xd4d1, 0x1e5c: 0xd4f1, 0x1e5d: 0xc321, + 0x1e5e: 0xd511, 0x1e5f: 0xd531, 0x1e60: 0x8c55, 0x1e61: 0x8c75, 0x1e62: 0xd551, 0x1e63: 0xd571, + 0x1e64: 0xd591, 0x1e65: 0xd5b1, 0x1e66: 0xd5d1, 0x1e67: 0xd5f1, 0x1e68: 0x2040, 0x1e69: 0xd611, + 0x1e6a: 0xd631, 0x1e6b: 0xd631, 0x1e6c: 0x8c95, 0x1e6d: 0xd651, 0x1e6e: 0xd671, 0x1e6f: 0xd691, + 0x1e70: 0xd6b1, 0x1e71: 0x8cb5, 0x1e72: 0xd6d1, 0x1e73: 0xd6f1, 0x1e74: 0x2040, 0x1e75: 0xd711, + 0x1e76: 0xd731, 0x1e77: 0xd751, 0x1e78: 0xd771, 0x1e79: 0xd791, 0x1e7a: 0xd7b1, 0x1e7b: 0x8cd5, + 0x1e7c: 0xd7d1, 0x1e7d: 0x8cf5, 0x1e7e: 0xd7f1, 0x1e7f: 0xd811, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xd831, 0x1e81: 0xd851, 0x1e82: 0xd871, 0x1e83: 0xd891, 0x1e84: 0xd8b1, 0x1e85: 0xd8d1, + 0x1e86: 0xd8f1, 0x1e87: 0xd911, 0x1e88: 0xd931, 0x1e89: 0x8d15, 0x1e8a: 0xd951, 0x1e8b: 0xd971, + 0x1e8c: 0xd991, 0x1e8d: 0xd9b1, 0x1e8e: 0xd9d1, 0x1e8f: 0x8d35, 0x1e90: 0xd9f1, 0x1e91: 0x8d55, + 0x1e92: 0x8d75, 0x1e93: 0xda11, 0x1e94: 0xda31, 0x1e95: 0xda31, 0x1e96: 0xda51, 0x1e97: 0x8d95, + 0x1e98: 0x8db5, 0x1e99: 0xda71, 0x1e9a: 0xda91, 0x1e9b: 0xdab1, 0x1e9c: 0xdad1, 0x1e9d: 0xdaf1, + 0x1e9e: 0xdb11, 0x1e9f: 0xdb31, 0x1ea0: 0xdb51, 0x1ea1: 0xdb71, 0x1ea2: 0xdb91, 0x1ea3: 0xdbb1, + 0x1ea4: 0x8dd5, 0x1ea5: 0xdbd1, 0x1ea6: 0xdbf1, 0x1ea7: 0xdc11, 0x1ea8: 0xdc31, 0x1ea9: 0xdc11, + 0x1eaa: 0xdc51, 0x1eab: 0xdc71, 0x1eac: 0xdc91, 0x1ead: 0xdcb1, 0x1eae: 0xdcd1, 0x1eaf: 0xdcf1, + 0x1eb0: 0xdd11, 0x1eb1: 0xdd31, 0x1eb2: 0xdd51, 0x1eb3: 0xdd71, 0x1eb4: 0xdd91, 0x1eb5: 0xddb1, + 0x1eb6: 0xddd1, 0x1eb7: 0xddf1, 0x1eb8: 0x8df5, 0x1eb9: 0xde11, 0x1eba: 0xde31, 0x1ebb: 0xde51, + 0x1ebc: 0xde71, 0x1ebd: 0xde91, 0x1ebe: 0x8e15, 0x1ebf: 0xdeb1, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xe5b1, 0x1ec1: 0xe5d1, 0x1ec2: 0xe5f1, 0x1ec3: 0xe611, 0x1ec4: 0xe631, 0x1ec5: 0xe651, + 0x1ec6: 0x8f35, 0x1ec7: 0xe671, 0x1ec8: 0xe691, 0x1ec9: 0xe6b1, 0x1eca: 0xe6d1, 0x1ecb: 0xe6f1, + 0x1ecc: 0xe711, 0x1ecd: 0x8f55, 0x1ece: 0xe731, 0x1ecf: 0xe751, 0x1ed0: 0x8f75, 0x1ed1: 0x8f95, + 0x1ed2: 0xe771, 0x1ed3: 0xe791, 0x1ed4: 0xe7b1, 0x1ed5: 0xe7d1, 0x1ed6: 0xe7f1, 0x1ed7: 0xe811, + 0x1ed8: 0xe831, 0x1ed9: 0xe851, 0x1eda: 0xe871, 0x1edb: 0x8fb5, 0x1edc: 0xe891, 0x1edd: 0x8fd5, + 0x1ede: 0xe8b1, 0x1edf: 0x2040, 0x1ee0: 0xe8d1, 0x1ee1: 0xe8f1, 0x1ee2: 0xe911, 0x1ee3: 0x8ff5, + 0x1ee4: 0xe931, 0x1ee5: 0xe951, 0x1ee6: 0x9015, 0x1ee7: 0x9035, 0x1ee8: 0xe971, 0x1ee9: 0xe991, + 0x1eea: 0xe9b1, 0x1eeb: 0xe9d1, 0x1eec: 0xe9f1, 0x1eed: 0xe9f1, 0x1eee: 0xea11, 0x1eef: 0xea31, + 0x1ef0: 0xea51, 0x1ef1: 0xea71, 0x1ef2: 0xea91, 0x1ef3: 0xeab1, 0x1ef4: 0xead1, 0x1ef5: 0x9055, + 0x1ef6: 0xeaf1, 0x1ef7: 0x9075, 0x1ef8: 0xeb11, 0x1ef9: 0x9095, 0x1efa: 0xeb31, 0x1efb: 0x90b5, + 0x1efc: 0x90d5, 0x1efd: 0x90f5, 0x1efe: 0xeb51, 0x1eff: 0xeb71, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xeb91, 0x1f01: 0x9115, 0x1f02: 0x9135, 0x1f03: 0x9155, 0x1f04: 0x9175, 0x1f05: 0xebb1, + 0x1f06: 0xebd1, 0x1f07: 0xebd1, 0x1f08: 0xebf1, 0x1f09: 0xec11, 0x1f0a: 0xec31, 0x1f0b: 0xec51, + 0x1f0c: 0xec71, 0x1f0d: 0x9195, 0x1f0e: 0xec91, 0x1f0f: 0xecb1, 0x1f10: 0xecd1, 0x1f11: 0xecf1, + 0x1f12: 0x91b5, 0x1f13: 0xed11, 0x1f14: 0x91d5, 0x1f15: 0x91f5, 0x1f16: 0xed31, 0x1f17: 0xed51, + 0x1f18: 0xed71, 0x1f19: 0xed91, 0x1f1a: 0xedb1, 0x1f1b: 0xedd1, 0x1f1c: 0x9215, 0x1f1d: 0x9235, + 0x1f1e: 0x9255, 0x1f1f: 0x2040, 0x1f20: 0xedf1, 0x1f21: 0x9275, 0x1f22: 0xee11, 0x1f23: 0xee31, + 0x1f24: 0xee51, 0x1f25: 0x9295, 0x1f26: 0xee71, 0x1f27: 0xee91, 0x1f28: 0xeeb1, 0x1f29: 0xeed1, + 0x1f2a: 0xeef1, 0x1f2b: 0x92b5, 0x1f2c: 0xef11, 0x1f2d: 0xef31, 0x1f2e: 0xef51, 0x1f2f: 0xef71, + 0x1f30: 0xef91, 0x1f31: 0xefb1, 0x1f32: 0x92d5, 0x1f33: 0x92f5, 0x1f34: 0xefd1, 0x1f35: 0x9315, + 0x1f36: 0xeff1, 0x1f37: 0x9335, 0x1f38: 0xf011, 0x1f39: 0xf031, 0x1f3a: 0xf051, 0x1f3b: 0x9355, + 0x1f3c: 0x9375, 0x1f3d: 0xf071, 0x1f3e: 0x9395, 0x1f3f: 0xf091, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xf6d1, 0x1f41: 0xf6f1, 0x1f42: 0xf711, 0x1f43: 0xf731, 0x1f44: 0xf751, 0x1f45: 0x9555, + 0x1f46: 0xf771, 0x1f47: 0xf791, 0x1f48: 0xf7b1, 0x1f49: 0xf7d1, 0x1f4a: 0xf7f1, 0x1f4b: 0x9575, + 0x1f4c: 0x9595, 0x1f4d: 0xf811, 0x1f4e: 0xf831, 0x1f4f: 0xf851, 0x1f50: 0xf871, 0x1f51: 0xf891, + 0x1f52: 0xf8b1, 0x1f53: 0x95b5, 0x1f54: 0xf8d1, 0x1f55: 0xf8f1, 0x1f56: 0xf911, 0x1f57: 0xf931, + 0x1f58: 0x95d5, 0x1f59: 0x95f5, 0x1f5a: 0xf951, 0x1f5b: 0xf971, 0x1f5c: 0xf991, 0x1f5d: 0x9615, + 0x1f5e: 0xf9b1, 0x1f5f: 0xf9d1, 0x1f60: 0x684d, 0x1f61: 0x9635, 0x1f62: 0xf9f1, 0x1f63: 0xfa11, + 0x1f64: 0xfa31, 0x1f65: 0x9655, 0x1f66: 0xfa51, 0x1f67: 0xfa71, 0x1f68: 0xfa91, 0x1f69: 0xfab1, + 0x1f6a: 0xfad1, 0x1f6b: 0xfaf1, 0x1f6c: 0xfb11, 0x1f6d: 0x9675, 0x1f6e: 0xfb31, 0x1f6f: 0xfb51, + 0x1f70: 0xfb71, 0x1f71: 0x9695, 0x1f72: 0xfb91, 0x1f73: 0xfbb1, 0x1f74: 0xfbd1, 0x1f75: 0xfbf1, + 0x1f76: 0x7b6d, 0x1f77: 0x96b5, 0x1f78: 0xfc11, 0x1f79: 0xfc31, 0x1f7a: 0xfc51, 0x1f7b: 0x96d5, + 0x1f7c: 0xfc71, 0x1f7d: 0x96f5, 0x1f7e: 0xfc91, 0x1f7f: 0xfc91, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0xfcb1, 0x1f81: 0x9715, 0x1f82: 0xfcd1, 0x1f83: 0xfcf1, 0x1f84: 0xfd11, 0x1f85: 0xfd31, + 0x1f86: 0xfd51, 0x1f87: 0xfd71, 0x1f88: 0xfd91, 0x1f89: 0x9735, 0x1f8a: 0xfdb1, 0x1f8b: 0xfdd1, + 0x1f8c: 0xfdf1, 0x1f8d: 0xfe11, 0x1f8e: 0xfe31, 0x1f8f: 0xfe51, 0x1f90: 0x9755, 0x1f91: 0xfe71, + 0x1f92: 0x9775, 0x1f93: 0x9795, 0x1f94: 0x97b5, 0x1f95: 0xfe91, 0x1f96: 0xfeb1, 0x1f97: 0xfed1, + 0x1f98: 0xfef1, 0x1f99: 0xff11, 0x1f9a: 0xff31, 0x1f9b: 0xff51, 0x1f9c: 0xff71, 0x1f9d: 0x97d5, + 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040, + 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040, + 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040, + 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040, + 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040, + 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040, +} + +// idnaIndex: 36 blocks, 2304 entries, 4608 bytes +// Block 0 is the zero block. +var idnaIndex = [2304]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21, + // Block 0x4, offset 0x100 + 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16, + 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3, + 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c, + // Block 0x6, offset 0x180 + 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b, + 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0x9b, + 0x1b0: 0xd0, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd1, 0x1b5: 0xd2, 0x1b6: 0xd3, 0x1b7: 0xd4, + 0x1b8: 0xd5, 0x1b9: 0xd6, 0x1ba: 0xd7, 0x1bb: 0xd8, 0x1bc: 0xd9, 0x1bd: 0xda, 0x1be: 0xdb, 0x1bf: 0x37, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x38, 0x1c1: 0xdc, 0x1c2: 0xdd, 0x1c3: 0xde, 0x1c4: 0xdf, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe0, + 0x1c8: 0xe1, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe2, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe3, 0x2d3: 0xe4, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe5, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe6, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe7, + 0x2e0: 0xe8, 0x2e1: 0xe9, 0x2e2: 0xea, 0x2e3: 0xeb, 0x2e4: 0xec, 0x2e5: 0xed, 0x2e6: 0xee, 0x2e7: 0xef, + 0x2e8: 0xf0, 0x2e9: 0xf1, 0x2ea: 0xf2, 0x2eb: 0xf3, 0x2ec: 0xf4, 0x2ed: 0xf5, 0x2ee: 0xf6, 0x2ef: 0xf7, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf8, 0x31f: 0xf9, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfa, 0x3a5: 0xfb, 0x3a6: 0xfc, 0x3a7: 0xfd, + 0x3a8: 0x47, 0x3a9: 0xfe, 0x3aa: 0xff, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c, + 0x3b0: 0x100, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x101, 0x3b7: 0x52, + 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x102, 0x3c1: 0x103, 0x3c2: 0x9f, 0x3c3: 0x104, 0x3c4: 0x105, 0x3c5: 0x9b, 0x3c6: 0x106, 0x3c7: 0x107, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x108, 0x3cb: 0x109, 0x3cc: 0x10a, 0x3cd: 0x10b, 0x3ce: 0x10c, 0x3cf: 0x10d, + 0x3d0: 0x10e, 0x3d1: 0x9f, 0x3d2: 0x10f, 0x3d3: 0x110, 0x3d4: 0x111, 0x3d5: 0x112, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x113, 0x3dd: 0x114, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x115, 0x3e1: 0x116, 0x3e2: 0x117, 0x3e3: 0x118, 0x3e4: 0x119, 0x3e5: 0xba, 0x3e6: 0x11a, 0x3e7: 0x11b, + 0x3e8: 0x11c, 0x3e9: 0x11d, 0x3ea: 0x11e, 0x3eb: 0x5b, 0x3ec: 0x11f, 0x3ed: 0x120, 0x3ee: 0x5c, 0x3ef: 0xba, + 0x3f0: 0x121, 0x3f1: 0x122, 0x3f2: 0x123, 0x3f3: 0x124, 0x3f4: 0x125, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x126, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0x127, 0x3fd: 0x128, 0x3fe: 0xba, 0x3ff: 0x129, + // Block 0x10, offset 0x400 + 0x400: 0x12a, 0x401: 0x12b, 0x402: 0x12c, 0x403: 0x12d, 0x404: 0x12e, 0x405: 0x12f, 0x406: 0x130, 0x407: 0x131, + 0x408: 0x132, 0x409: 0xba, 0x40a: 0x133, 0x40b: 0x134, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x135, 0x411: 0x136, 0x412: 0x137, 0x413: 0x138, 0x414: 0xba, 0x415: 0xba, 0x416: 0x139, 0x417: 0x13a, + 0x418: 0x13b, 0x419: 0x13c, 0x41a: 0x13d, 0x41b: 0x13e, 0x41c: 0x13f, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0x140, 0x421: 0xba, 0x422: 0x141, 0x423: 0x142, 0x424: 0xba, 0x425: 0xba, 0x426: 0x143, 0x427: 0x144, + 0x428: 0x145, 0x429: 0x146, 0x42a: 0x147, 0x42b: 0x148, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x149, 0x431: 0x14a, 0x432: 0x14b, 0x433: 0xba, 0x434: 0x14c, 0x435: 0x14d, 0x436: 0x14e, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0x14f, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0x150, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x151, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x152, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x153, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x154, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x155, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x148, 0x529: 0x156, 0x52a: 0xba, 0x52b: 0x157, 0x52c: 0x158, 0x52d: 0x159, 0x52e: 0x15a, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0x15b, 0x53a: 0x15c, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x15d, 0x53e: 0x15e, 0x53f: 0x15f, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x160, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x161, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x162, 0x585: 0x163, 0x586: 0x9f, 0x587: 0x9f, + 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x164, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x165, 0x5b2: 0x166, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x167, 0x5c4: 0x168, 0x5c5: 0x169, 0x5c6: 0x16a, 0x5c7: 0x16b, + 0x5c8: 0x9b, 0x5c9: 0x16c, 0x5ca: 0xba, 0x5cb: 0x16d, 0x5cc: 0x9b, 0x5cd: 0x16e, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66, + 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x16f, 0x5e9: 0x170, 0x5ea: 0x171, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x172, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0x173, 0x605: 0x174, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0x175, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x121, 0x621: 0x121, 0x622: 0x121, 0x623: 0x176, 0x624: 0x6f, 0x625: 0x177, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0x178, 0x632: 0x179, 0x633: 0xba, 0x634: 0x17a, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x17b, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x17c, 0x641: 0x9b, 0x642: 0x17d, 0x643: 0x17e, 0x644: 0x73, 0x645: 0x74, 0x646: 0x17f, 0x647: 0x180, + 0x648: 0x75, 0x649: 0x181, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x182, 0x65c: 0x9b, 0x65d: 0x183, 0x65e: 0x9b, 0x65f: 0x184, + 0x660: 0x185, 0x661: 0x186, 0x662: 0x187, 0x663: 0xba, 0x664: 0x188, 0x665: 0x189, 0x666: 0x18a, 0x667: 0x18b, + 0x668: 0x9b, 0x669: 0x18c, 0x66a: 0x18d, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x18e, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x18f, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x190, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x191, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f, + // Block 0x1d, offset 0x740 + 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f, + 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f, + 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f, + 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f, + 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f, + 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x192, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba, + 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba, + 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba, + 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba, + 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x193, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x194, 0x7a7: 0x7b, + 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba, + 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba, + 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba, + // Block 0x1f, offset 0x7c0 + 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07, + 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17, + 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07, + 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b, + 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b, + 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b, + 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b, + 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b, + 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b, + 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b, + 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b, + // Block 0x21, offset 0x840 + 0x840: 0x195, 0x841: 0x196, 0x842: 0xba, 0x843: 0xba, 0x844: 0x197, 0x845: 0x197, 0x846: 0x197, 0x847: 0x198, + 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba, + 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba, + 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba, + 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba, + 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba, + 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba, + 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, + 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b, + 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b, + 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b, + 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b, + 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b, + 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b, + 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b, +} + +// idnaSparseOffset: 284 entries, 568 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x86, 0x8b, 0x94, 0xa4, 0xb2, 0xbe, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x224, 0x22e, 0x23a, 0x246, 0x252, 0x25a, 0x25f, 0x26c, 0x27d, 0x281, 0x28c, 0x290, 0x299, 0x2a1, 0x2a7, 0x2ac, 0x2af, 0x2b3, 0x2b9, 0x2bd, 0x2c1, 0x2c5, 0x2cb, 0x2d3, 0x2da, 0x2e5, 0x2ef, 0x2f3, 0x2f6, 0x2fc, 0x300, 0x302, 0x305, 0x307, 0x30a, 0x314, 0x317, 0x326, 0x32a, 0x32f, 0x332, 0x336, 0x33b, 0x340, 0x346, 0x352, 0x361, 0x367, 0x36b, 0x37a, 0x37f, 0x387, 0x391, 0x39c, 0x3a4, 0x3b5, 0x3be, 0x3ce, 0x3db, 0x3e5, 0x3ea, 0x3f7, 0x3fb, 0x400, 0x402, 0x406, 0x408, 0x40c, 0x415, 0x41b, 0x41f, 0x42f, 0x439, 0x43e, 0x441, 0x447, 0x44e, 0x453, 0x457, 0x45d, 0x462, 0x46b, 0x470, 0x476, 0x47d, 0x484, 0x48b, 0x48f, 0x494, 0x497, 0x49c, 0x4a8, 0x4ae, 0x4b3, 0x4ba, 0x4c2, 0x4c7, 0x4cb, 0x4db, 0x4e2, 0x4e6, 0x4ea, 0x4f1, 0x4f3, 0x4f6, 0x4f9, 0x4fd, 0x506, 0x50a, 0x512, 0x51a, 0x51e, 0x524, 0x52d, 0x539, 0x540, 0x549, 0x553, 0x55a, 0x568, 0x575, 0x582, 0x58b, 0x58f, 0x59f, 0x5a7, 0x5b2, 0x5bb, 0x5c1, 0x5c9, 0x5d2, 0x5dd, 0x5e0, 0x5ec, 0x5f5, 0x5f8, 0x5fd, 0x602, 0x60f, 0x61a, 0x623, 0x62d, 0x630, 0x63a, 0x643, 0x64f, 0x65c, 0x669, 0x677, 0x67e, 0x682, 0x685, 0x68a, 0x68d, 0x692, 0x695, 0x69c, 0x6a3, 0x6a7, 0x6b2, 0x6b5, 0x6b8, 0x6bb, 0x6c1, 0x6c7, 0x6cd, 0x6d0, 0x6d3, 0x6d6, 0x6dd, 0x6e0, 0x6e5, 0x6ef, 0x6f2, 0x6f6, 0x705, 0x711, 0x715, 0x71a, 0x71e, 0x723, 0x727, 0x72c, 0x735, 0x740, 0x746, 0x74c, 0x752, 0x758, 0x761, 0x764, 0x767, 0x76b, 0x76f, 0x773, 0x779, 0x77f, 0x784, 0x787, 0x797, 0x79e, 0x7a1, 0x7a6, 0x7aa, 0x7b0, 0x7b5, 0x7b9, 0x7bf, 0x7c5, 0x7c9, 0x7d2, 0x7d7, 0x7da, 0x7dd, 0x7e1, 0x7e5, 0x7e8, 0x7f8, 0x809, 0x80e, 0x810, 0x812} + +// idnaSparseValues: 2069 entries, 8276 bytes +var idnaSparseValues = [2069]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x06}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x6, offset 0x33 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3e + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xae}, + {value: 0x0808, lo: 0xaf, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4a + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4e + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5d + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x62 + {value: 0x0000, lo: 0x09}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbf}, + // Block 0xc, offset 0x6c + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x78 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xe, offset 0x86 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0xf, offset 0x8b + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0x94 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x11, offset 0xa4 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x12, offset 0xb2 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x3b08, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbe + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xca + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x15, offset 0xdb + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x16, offset 0xe5 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x17, offset 0xec + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x18, offset 0xf9 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x19, offset 0x10a + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1a, offset 0x111 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0x11c + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1c, offset 0x12b + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1d, offset 0x139 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0x143 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x1f, offset 0x145 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x20, offset 0x14a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x21, offset 0x14d + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x22, offset 0x150 + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x23, offset 0x152 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x24, offset 0x15e + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x25, offset 0x169 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x26, offset 0x171 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x177 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x28, offset 0x17d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x29, offset 0x182 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2a, offset 0x187 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2b, offset 0x18a + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2c, offset 0x18e + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2d, offset 0x194 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2e, offset 0x199 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x2f, offset 0x1a5 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x30, offset 0x1af + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x31, offset 0x1b5 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x32, offset 0x1c6 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x33, offset 0x1d0 + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x34, offset 0x1d3 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x35, offset 0x1db + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x36, offset 0x1de + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x37, offset 0x1eb + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x38, offset 0x1f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x39, offset 0x1f7 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3a, offset 0x1fe + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3b, offset 0x206 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x216 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x222 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3e, offset 0x224 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x3f, offset 0x22e + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x23a + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x41, offset 0x246 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x42, offset 0x252 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x43, offset 0x25a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x44, offset 0x25f + {value: 0x0000, lo: 0x0c}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x059d, lo: 0x90, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x059d, lo: 0xbd, hi: 0xbf}, + // Block 0x45, offset 0x26c + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x46, offset 0x27d + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x47, offset 0x281 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x48, offset 0x28c + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x49, offset 0x290 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4a, offset 0x299 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4b, offset 0x2a1 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4c, offset 0x2a7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09dd, lo: 0xa9, hi: 0xa9}, + {value: 0x09fd, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4d, offset 0x2ac + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x4e, offset 0x2af + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x4f, offset 0x2b3 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e7e, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e9e, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x50, offset 0x2b9 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x51, offset 0x2bd + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x52, offset 0x2c1 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xbf}, + // Block 0x53, offset 0x2c5 + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ebd, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x54, offset 0x2cb + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x55, offset 0x2d3 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x56, offset 0x2da + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x57, offset 0x2e5 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x58, offset 0x2ef + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x59, offset 0x2f3 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0x5a, offset 0x2f6 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0ef5, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5b, offset 0x2fc + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0f15, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5c, offset 0x300 + {value: 0x0020, lo: 0x01}, + {value: 0x0f35, lo: 0x80, hi: 0xbf}, + // Block 0x5d, offset 0x302 + {value: 0x0020, lo: 0x02}, + {value: 0x1735, lo: 0x80, hi: 0x8f}, + {value: 0x1915, lo: 0x90, hi: 0xbf}, + // Block 0x5e, offset 0x305 + {value: 0x0020, lo: 0x01}, + {value: 0x1f15, lo: 0x80, hi: 0xbf}, + // Block 0x5f, offset 0x307 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x60, offset 0x30a + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x61, offset 0x314 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x62, offset 0x317 + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb0}, + {value: 0x2a35, lo: 0xb1, hi: 0xb1}, + {value: 0x2a55, lo: 0xb2, hi: 0xb2}, + {value: 0x2a75, lo: 0xb3, hi: 0xb3}, + {value: 0x2a95, lo: 0xb4, hi: 0xb4}, + {value: 0x2a75, lo: 0xb5, hi: 0xb5}, + {value: 0x2ab5, lo: 0xb6, hi: 0xb6}, + {value: 0x2ad5, lo: 0xb7, hi: 0xb7}, + {value: 0x2af5, lo: 0xb8, hi: 0xb9}, + {value: 0x2b15, lo: 0xba, hi: 0xbb}, + {value: 0x2b35, lo: 0xbc, hi: 0xbd}, + {value: 0x2b15, lo: 0xbe, hi: 0xbf}, + // Block 0x63, offset 0x326 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x64, offset 0x32a + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x65, offset 0x32f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x66, offset 0x332 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x67, offset 0x336 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x68, offset 0x33b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x69, offset 0x340 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6a, offset 0x346 + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0xe00d, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x83}, + {value: 0x03f5, lo: 0x84, hi: 0x84}, + {value: 0x1329, lo: 0x85, hi: 0x85}, + {value: 0x447d, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6b, offset 0x352 + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6c, offset 0x361 + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6d, offset 0x367 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x6e, offset 0x36b + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x6f, offset 0x37a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x70, offset 0x37f + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x71, offset 0x387 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x72, offset 0x391 + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x73, offset 0x39c + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x74, offset 0x3a4 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x75, offset 0x3b5 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x76, offset 0x3be + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x77, offset 0x3ce + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x78, offset 0x3db + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x449d, lo: 0x9c, hi: 0x9c}, + {value: 0x44b5, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x44cd, lo: 0xb0, hi: 0xbf}, + // Block 0x79, offset 0x3e5 + {value: 0x0000, lo: 0x04}, + {value: 0x44ed, lo: 0x80, hi: 0x8f}, + {value: 0x450d, lo: 0x90, hi: 0x9f}, + {value: 0x452d, lo: 0xa0, hi: 0xaf}, + {value: 0x450d, lo: 0xb0, hi: 0xbf}, + // Block 0x7a, offset 0x3ea + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7b, offset 0x3f7 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7c, offset 0x3fb + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x7d, offset 0x400 + {value: 0x0020, lo: 0x01}, + {value: 0x454d, lo: 0x80, hi: 0xbf}, + // Block 0x7e, offset 0x402 + {value: 0x0020, lo: 0x03}, + {value: 0x4d4d, lo: 0x80, hi: 0x94}, + {value: 0x4b0d, lo: 0x95, hi: 0x95}, + {value: 0x4fed, lo: 0x96, hi: 0xbf}, + // Block 0x7f, offset 0x406 + {value: 0x0020, lo: 0x01}, + {value: 0x552d, lo: 0x80, hi: 0xbf}, + // Block 0x80, offset 0x408 + {value: 0x0020, lo: 0x03}, + {value: 0x5d2d, lo: 0x80, hi: 0x84}, + {value: 0x568d, lo: 0x85, hi: 0x85}, + {value: 0x5dcd, lo: 0x86, hi: 0xbf}, + // Block 0x81, offset 0x40c + {value: 0x0020, lo: 0x08}, + {value: 0x6b8d, lo: 0x80, hi: 0x8f}, + {value: 0x6d4d, lo: 0x90, hi: 0x90}, + {value: 0x6d8d, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70ed, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x710d, lo: 0xb0, hi: 0xbf}, + // Block 0x82, offset 0x415 + {value: 0x0020, lo: 0x05}, + {value: 0x730d, lo: 0x80, hi: 0xad}, + {value: 0x656d, lo: 0xae, hi: 0xae}, + {value: 0x78cd, lo: 0xaf, hi: 0xb5}, + {value: 0x6f8d, lo: 0xb6, hi: 0xb6}, + {value: 0x79ad, lo: 0xb7, hi: 0xbf}, + // Block 0x83, offset 0x41b + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x84, offset 0x41f + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x85, offset 0x42f + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x86, offset 0x439 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x87, offset 0x43e + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x88, offset 0x441 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x89, offset 0x447 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8a, offset 0x44e + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8b, offset 0x453 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8c, offset 0x457 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x8d, offset 0x45d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xbf}, + // Block 0x8e, offset 0x462 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x8f, offset 0x46b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x90, offset 0x470 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x91, offset 0x476 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8b0d, lo: 0x98, hi: 0x9f}, + {value: 0x8b25, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x92, offset 0x47d + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8b25, lo: 0xb0, hi: 0xb7}, + {value: 0x8b0d, lo: 0xb8, hi: 0xbf}, + // Block 0x93, offset 0x484 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x94, offset 0x48b + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x95, offset 0x48f + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x96, offset 0x494 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x97, offset 0x497 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x98, offset 0x49c + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x99, offset 0x4a8 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9a, offset 0x4ae + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9b, offset 0x4b3 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9c, offset 0x4ba + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0x9d, offset 0x4c2 + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0x9e, offset 0x4c7 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0x9f, offset 0x4cb + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa0, offset 0x4db + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa1, offset 0x4e2 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa2, offset 0x4e6 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa3, offset 0x4ea + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa4, offset 0x4f1 + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa5, offset 0x4f3 + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa6, offset 0x4f6 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xa7, offset 0x4f9 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xa8, offset 0x4fd + {value: 0x0000, lo: 0x08}, + {value: 0x0908, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0xa1}, + {value: 0x0c08, lo: 0xa2, hi: 0xa2}, + {value: 0x0a08, lo: 0xa3, hi: 0xa3}, + {value: 0x3308, lo: 0xa4, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x506 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xaa, offset 0x50a + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0xa6}, + {value: 0x0808, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0a08, lo: 0xb0, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb3}, + {value: 0x0a08, lo: 0xb4, hi: 0xbf}, + // Block 0xab, offset 0x512 + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x84}, + {value: 0x0808, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x90}, + {value: 0x0a18, lo: 0x91, hi: 0x93}, + {value: 0x0c18, lo: 0x94, hi: 0x94}, + {value: 0x0818, lo: 0x95, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xac, offset 0x51a + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xad, offset 0x51e + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xae, offset 0x524 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xaf, offset 0x52d + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xb0, offset 0x539 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb1, offset 0x540 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xb2, offset 0x549 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb3, offset 0x553 + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb4, offset 0x55a + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb5, offset 0x568 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb6, offset 0x575 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb7, offset 0x582 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb8, offset 0x58b + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb9, offset 0x58f + {value: 0x0000, lo: 0x0f}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xba, offset 0x59f + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xbb, offset 0x5a7 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xbc, offset 0x5b2 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbd, offset 0x5bb + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbe, offset 0x5c1 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbf, offset 0x5c9 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xc0, offset 0x5d2 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xc1, offset 0x5dd + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xc2, offset 0x5e0 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc3, offset 0x5ec + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xc4, offset 0x5f5 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc5, offset 0x5f8 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc6, offset 0x5fd + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xbf}, + // Block 0xc7, offset 0x602 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x99}, + {value: 0x3308, lo: 0x9a, hi: 0x9b}, + {value: 0x3008, lo: 0x9c, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x0018, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xbf}, + // Block 0xc8, offset 0x60f + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xc9, offset 0x61a + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x3b08, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0xbf}, + // Block 0xca, offset 0x623 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x98}, + {value: 0x3b08, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xbf}, + // Block 0xcb, offset 0x62d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xcc, offset 0x630 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xcd, offset 0x63a + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xce, offset 0x643 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xcf, offset 0x64f + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xd0, offset 0x65c + {value: 0x0000, lo: 0x0c}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xbf}, + // Block 0xd1, offset 0x669 + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x3008, lo: 0x93, hi: 0x94}, + {value: 0x3308, lo: 0x95, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x96}, + {value: 0x3b08, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xbf}, + // Block 0xd2, offset 0x677 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xd3, offset 0x67e + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xd4, offset 0x682 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xd5, offset 0x685 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xd6, offset 0x68a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xd7, offset 0x68d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0340, lo: 0xb0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xd8, offset 0x692 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xd9, offset 0x695 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xda, offset 0x69c + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xdb, offset 0x6a3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xdc, offset 0x6a7 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xdd, offset 0x6b2 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xde, offset 0x6b5 + {value: 0x0000, lo: 0x02}, + {value: 0xe105, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xdf, offset 0x6b8 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0xe0, offset 0x6bb + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbf}, + // Block 0xe1, offset 0x6c1 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xe2, offset 0x6c7 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa1}, + {value: 0x0018, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xe3, offset 0x6cd + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xe4, offset 0x6d0 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xe5, offset 0x6d3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xe6, offset 0x6d6 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0xa3}, + {value: 0x0008, lo: 0xa4, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xe7, offset 0x6dd + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xe8, offset 0x6e0 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xe9, offset 0x6e5 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xea, offset 0x6ef + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xeb, offset 0x6f2 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xec, offset 0x6f6 + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xed, offset 0x705 + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xee, offset 0x711 + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xef, offset 0x715 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xf0, offset 0x71a + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xf1, offset 0x71e + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xf2, offset 0x723 + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xf3, offset 0x727 + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xf4, offset 0x72c + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xf5, offset 0x735 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xf6, offset 0x740 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xf7, offset 0x746 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xf8, offset 0x74c + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xf9, offset 0x752 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xfa, offset 0x758 + {value: 0x0000, lo: 0x08}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0b08, lo: 0x8b, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xfb, offset 0x761 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xb0}, + {value: 0x0818, lo: 0xb1, hi: 0xbf}, + // Block 0xfc, offset 0x764 + {value: 0x0000, lo: 0x02}, + {value: 0x0818, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xfd, offset 0x767 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0818, lo: 0x81, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xfe, offset 0x76b + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xff, offset 0x76f + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x100, offset 0x773 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x101, offset 0x779 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x102, offset 0x77f + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1d9, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0x103, offset 0x784 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0x104, offset 0x787 + {value: 0x0000, lo: 0x0f}, + {value: 0xc801, lo: 0x80, hi: 0x80}, + {value: 0xc851, lo: 0x81, hi: 0x81}, + {value: 0xc8a1, lo: 0x82, hi: 0x82}, + {value: 0xc8f1, lo: 0x83, hi: 0x83}, + {value: 0xc941, lo: 0x84, hi: 0x84}, + {value: 0xc991, lo: 0x85, hi: 0x85}, + {value: 0xc9e1, lo: 0x86, hi: 0x86}, + {value: 0xca31, lo: 0x87, hi: 0x87}, + {value: 0xca81, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcad1, lo: 0x90, hi: 0x90}, + {value: 0xcaf1, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xbf}, + // Block 0x105, offset 0x797 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x106, offset 0x79e + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x107, offset 0x7a1 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x108, offset 0x7a6 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x109, offset 0x7aa + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x10a, offset 0x7b0 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0x10b, offset 0x7b5 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x10c, offset 0x7b9 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0018, lo: 0xb3, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0x10d, offset 0x7bf + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xa4}, + {value: 0x0018, lo: 0xa5, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xbf}, + // Block 0x10e, offset 0x7c5 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x10f, offset 0x7c9 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x110, offset 0x7d2 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x111, offset 0x7d7 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0x112, offset 0x7da + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x113, offset 0x7dd + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x114, offset 0x7e1 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x115, offset 0x7e5 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x116, offset 0x7e8 + {value: 0x0020, lo: 0x0f}, + {value: 0xded1, lo: 0x80, hi: 0x89}, + {value: 0x8e35, lo: 0x8a, hi: 0x8a}, + {value: 0xe011, lo: 0x8b, hi: 0x9c}, + {value: 0x8e55, lo: 0x9d, hi: 0x9d}, + {value: 0xe251, lo: 0x9e, hi: 0xa2}, + {value: 0x8e75, lo: 0xa3, hi: 0xa3}, + {value: 0xe2f1, lo: 0xa4, hi: 0xab}, + {value: 0x7f0d, lo: 0xac, hi: 0xac}, + {value: 0xe3f1, lo: 0xad, hi: 0xaf}, + {value: 0x8e95, lo: 0xb0, hi: 0xb0}, + {value: 0xe451, lo: 0xb1, hi: 0xb6}, + {value: 0x8eb5, lo: 0xb7, hi: 0xb9}, + {value: 0xe511, lo: 0xba, hi: 0xba}, + {value: 0x8f15, lo: 0xbb, hi: 0xbb}, + {value: 0xe531, lo: 0xbc, hi: 0xbf}, + // Block 0x117, offset 0x7f8 + {value: 0x0020, lo: 0x10}, + {value: 0x93b5, lo: 0x80, hi: 0x80}, + {value: 0xf0b1, lo: 0x81, hi: 0x86}, + {value: 0x93d5, lo: 0x87, hi: 0x8a}, + {value: 0xda11, lo: 0x8b, hi: 0x8b}, + {value: 0xf171, lo: 0x8c, hi: 0x96}, + {value: 0x9455, lo: 0x97, hi: 0x97}, + {value: 0xf2d1, lo: 0x98, hi: 0xa3}, + {value: 0x9475, lo: 0xa4, hi: 0xa6}, + {value: 0xf451, lo: 0xa7, hi: 0xaa}, + {value: 0x94d5, lo: 0xab, hi: 0xab}, + {value: 0xf4d1, lo: 0xac, hi: 0xac}, + {value: 0x94f5, lo: 0xad, hi: 0xad}, + {value: 0xf4f1, lo: 0xae, hi: 0xaf}, + {value: 0x9515, lo: 0xb0, hi: 0xb1}, + {value: 0xf531, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0x118, offset 0x809 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0x119, offset 0x80e + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x11a, offset 0x810 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x11b, offset 0x812 + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 42780 bytes (41KiB); checksum: 29936AB9 diff --git a/vendor/golang.org/x/net/idna/tables13.0.0.go b/vendor/golang.org/x/net/idna/tables13.0.0.go new file mode 100644 index 000000000..390c5e56d --- /dev/null +++ b/vendor/golang.org/x/net/idna/tables13.0.0.go @@ -0,0 +1,4840 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.16 +// +build go1.16 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "13.0.0" + +var mappings string = "" + // Size: 8188 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x06令和\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニ" + + "ング\x09インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー" + + "\x09ガロン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0f" + + "キロワット\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル" + + "\x0fサンチーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット" + + "\x09ハイツ\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0c" + + "フィート\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ" + + "\x0cポイント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク" + + "\x0fマンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09" + + "ユアン\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x04" + + "2点\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x02ʍ\x04𤋮\x04𢡊\x04𢡄\x04𣏕" + + "\x04𥉉\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ" + + "\x04יִ\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּ" + + "ׂ\x04אַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04" + + "ךּ\x04כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ" + + "\x04תּ\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ" + + "\x02ڤ\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ" + + "\x02ڳ\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ" + + "\x02ۅ\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02" + + "ی\x04ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04" + + "تح\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج" + + "\x04حم\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح" + + "\x04ضخ\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ" + + "\x04فم\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل" + + "\x04كم\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ" + + "\x04مم\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى" + + "\x04هي\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 " + + "ٍّ\x05 َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04ت" + + "ر\x04تز\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04" + + "ين\x04ئخ\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه" + + "\x04شم\x04شه\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي" + + "\x04سى\x04سي\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي" + + "\x04ضى\x04ضي\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06ت" + + "حج\x06تحم\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سج" + + "ح\x06سجى\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم" + + "\x06ضحى\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي" + + "\x06غمى\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح" + + "\x06محج\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم" + + "\x06نحم\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى" + + "\x06تخي\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي" + + "\x06ضحي\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي" + + "\x06كمي\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي" + + "\x06سخي\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08" + + "عليه\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:" + + "\x01!\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\" + + "\x01$\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ" + + "\x02إ\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز" + + "\x02س\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن" + + "\x02ه\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~" + + "\x02¢\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲" + + "\x08𝆹𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η" + + "\x02κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ" + + "\x02ڡ\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029," + + "\x03(a)\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)" + + "\x03(k)\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)" + + "\x03(u)\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03p" + + "pv\x02wc\x02mc\x02md\x02mr\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ" + + "\x03二\x03多\x03解\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終" + + "\x03生\x03販\x03声\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指" + + "\x03走\x03打\x03禁\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔" + + "三〕\x09〔二〕\x09〔安〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03" + + "丸\x03乁\x03你\x03侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03" + + "具\x03㒹\x03內\x03冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03" + + "㔕\x03勇\x03勉\x03勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03" + + "灰\x03及\x03叟\x03叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03" + + "啣\x03善\x03喙\x03喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03" + + "埴\x03堍\x03型\x03堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03" + + "姘\x03婦\x03㛮\x03嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03" + + "屮\x03峀\x03岍\x03嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03" + + "㡢\x03㡼\x03庰\x03庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03" + + "忍\x03志\x03忹\x03悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03" + + "憤\x03憯\x03懞\x03懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03" + + "掃\x03揤\x03搢\x03揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03" + + "書\x03晉\x03㬙\x03暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03" + + "朡\x03杞\x03杓\x03㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03" + + "槪\x03檨\x03櫛\x03㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03" + + "汧\x03洖\x03派\x03海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03" + + "淹\x03潮\x03濆\x03瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03" + + "爵\x03牐\x03犀\x03犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03" + + "㼛\x03甤\x03甾\x03異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03" + + "䂖\x03硎\x03碌\x03磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03" + + "築\x03䈧\x03糒\x03䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03" + + "罺\x03羕\x03翺\x03者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03" + + "䑫\x03芑\x03芋\x03芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03" + + "莽\x03菧\x03著\x03荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03" + + "䕫\x03虐\x03虜\x03虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03" + + "蠁\x03䗹\x03衠\x03衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03" + + "豕\x03貫\x03賁\x03贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03" + + "鈸\x03鋗\x03鋘\x03鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03" + + "䩶\x03韠\x03䪲\x03頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03" + + "鳽\x03䳎\x03䳭\x03鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4862 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x021\x00\x02\x01\x04\x02\x01\x02\x02\x019\x02" + + "\x03\x1c\x02\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03" + + "\xc1r\x02\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<" + + "\x03\xc1s*\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03" + + "\x83\xab\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96" + + "\xe1\xcd\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03" + + "\x9a\xec\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c" + + "!\x03\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03" + + "ʦ\x93\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7" + + "\x03\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca" + + "\xfa\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e" + + "\x03\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca" + + "\xe3\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99" + + "\x03\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca" + + "\xe8\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03" + + "\x0b\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06" + + "\x05\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03" + + "\x0786\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/" + + "\x03\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f" + + "\x03\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-" + + "\x03\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03" + + "\x07\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03" + + "\x07\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03" + + "\x07\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b" + + "\x0a\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03" + + "\x07\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+" + + "\x03\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03" + + "\x044\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03" + + "\x04+ \x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!" + + "\x22\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04" + + "\x03\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>" + + "\x03\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03" + + "\x054\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03" + + "\x05):\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$" + + "\x1e\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226" + + "\x03\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05" + + "\x1b\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05" + + "\x03\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03" + + "\x06\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08" + + "\x03\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03" + + "\x0a6\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a" + + "\x1f\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03" + + "\x0a\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f" + + "\x02\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/" + + "\x03\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a" + + "\x00\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+" + + "\x10\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#" + + "<\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!" + + "\x00\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18." + + "\x03\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15" + + "\x22\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b" + + "\x12\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05" + + "<\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x03\x0b)\x08\x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!" + + "\x10\x03\x0b!0\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b" + + "\x03\x09\x1f\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14" + + "\x03\x0a\x01\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03" + + "\x08='\x03\x08\x1a\x0a\x03\x07</\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03" + + "\x09\x0c\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06" + + "!3\x03\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05" + + "\x03\x07<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07" + + "\x01\x00\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03" + + "\x09\x11\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03" + + "\x0a/1\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03" + + "\x07<3\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06" + + "\x13\x00\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(" + + ";\x03\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08" + + "\x14$\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03" + + "\x0a\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19" + + "\x01\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18" + + "\x03\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03" + + "\x07\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03" + + "\x0a\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03" + + "\x0b\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03" + + "\x08\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05" + + "\x03\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11" + + "\x03\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03" + + "\x09\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a" + + ".\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c<?\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" + + "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" + + "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 30288 bytes (29.58 KiB). Checksum: c0cd84404a2f6f19. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 126: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 126 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 128 blocks, 8192 entries, 16384 bytes +// The third block is the zero block. +var idnaValues = [8192]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08, + 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08, + 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08, + 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0c08, 0x557: 0x0c08, + 0x558: 0x0c08, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040, + 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08, + 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08, + 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040, + 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, + 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040, + 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040, + // Block 0x16, offset 0x580 + 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308, + 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008, + 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308, + 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308, + 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1, + 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308, + 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008, + 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008, + 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008, + 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, + 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, + 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, + 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040, + 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, + 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008, + // Block 0x18, offset 0x600 + 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040, + 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008, + 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008, + 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1, + 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308, + 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018, + 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018, + 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040, + // Block 0x19, offset 0x640 + 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008, + 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040, + 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040, + 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, + 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, + 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, + 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008, + 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008, + // Block 0x1a, offset 0x680 + 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040, + 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308, + 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308, + 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, + 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040, + 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040, + 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308, + 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, + 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008, + 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, + 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, + 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, + 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, + 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, + // Block 0x1c, offset 0x700 + 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308, + 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008, + 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040, + 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040, + 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308, + 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040, + 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308, + 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008, + 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008, + 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008, + 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008, + 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008, + 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008, + 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, + // Block 0x1e, offset 0x780 + 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040, + 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008, + 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, + 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x3308, 0x796: 0x3308, 0x797: 0x3008, + 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9, + 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308, + 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018, + 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008, + 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040, + 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, + 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040, + 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040, + 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008, + 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008, + 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, + 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, + // Block 0x20, offset 0x800 + 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040, + 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308, + 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, + 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, + 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308, + 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, + 0x836: 0x0040, 0x837: 0x0018, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018, + 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018, + // Block 0x21, offset 0x840 + 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008, + 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008, + 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040, + 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008, + 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008, + 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008, + 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008, + 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040, + 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040, + 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040, + 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040, + 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040, + 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040, + 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008, + 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008, + 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018, + 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308, + 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018, + 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008, + 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008, + // Block 0x24, offset 0x900 + 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040, + 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0040, + 0x90c: 0x0008, 0x90d: 0x0008, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008, + 0x912: 0x0008, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008, + 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0008, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008, + 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308, + 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x3b08, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040, + // Block 0x25, offset 0x940 + 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008, + 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, + 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79, + 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008, + 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, + 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9, + 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040, + 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59, + 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008, + // Block 0x26, offset 0x980 + 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018, + 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308, + 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308, + 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11, + 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308, + 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308, + 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308, + 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308, + 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308, + 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, + 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, + 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, + 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, + 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008, + 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008, + 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008, + 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008, + 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41, + 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008, + 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269, + // Block 0x28, offset 0xa00 + 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1, + 0xa06: 0x05b5, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011, + 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041, + 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05cd, 0xa15: 0x05cd, 0xa16: 0x0f99, 0xa17: 0x0fa9, + 0xa18: 0x0fb9, 0xa19: 0x05b5, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05e5, 0xa1d: 0x1099, + 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269, + 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1, + 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008, + 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008, + 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008, + 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008, + // Block 0x29, offset 0xa40 + 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008, + 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008, + 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008, + 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, + 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169, + 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9, + 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05fd, 0xa68: 0x1239, 0xa69: 0x1251, + 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9, + 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359, + 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x0615, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1, + 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008, + 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008, + 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008, + 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008, + 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008, + 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x062d, 0xadb: 0x064d, 0xadc: 0x0008, 0xadd: 0x0008, + 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008, + 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008, + 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008, + 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008, + 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008, + 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008, + 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045, + 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008, + 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008, + 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045, + 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008, + 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, + 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045, + 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489, + 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1, + 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1, + 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591, + 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1, + 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1, + 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771, + 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891, + 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831, + 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951, + 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x0665, 0xb7b: 0x1459, + 0xb7c: 0x19b1, 0xb7d: 0x067e, 0xb7e: 0x1a31, 0xb7f: 0x069e, + // Block 0x2e, offset 0xb80 + 0xb80: 0x06be, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040, + 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06dd, 0xb89: 0x1471, 0xb8a: 0x06f5, 0xb8b: 0x1489, + 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008, + 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008, + 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x070d, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2, + 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61, + 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045, + 0xbaa: 0x0725, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa, + 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040, + 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x073d, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9, + 0xbbc: 0x1ce9, 0xbbd: 0x0756, 0xbbe: 0x0776, 0xbbf: 0x0040, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a, + 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0, + 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x0796, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, + 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a, + 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018, + 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, + 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x07b6, 0xbff: 0x0018, + // Block 0x30, offset 0xc00 + 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018, + 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018, + 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018, + 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9, + 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018, + 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340, + 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040, + 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340, + 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61, + 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07d5, + 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71, + // Block 0x31, offset 0xc40 + 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61, + 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07ed, + 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09, + 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359, + 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040, + 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018, + 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018, + 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018, + 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018, + 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018, + 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018, + // Block 0x32, offset 0xc80 + 0xc80: 0x0806, 0xc81: 0x0826, 0xc82: 0x1159, 0xc83: 0x0845, 0xc84: 0x0018, 0xc85: 0x0866, + 0xc86: 0x0886, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x08a5, 0xc8a: 0x0f31, 0xc8b: 0x0249, + 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41, + 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018, + 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269, + 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08c5, 0xca2: 0x2061, 0xca3: 0x0018, + 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018, + 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09, + 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9, + 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08e5, + 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x0905, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9, + 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018, + 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151, + 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279, + 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399, + 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x091d, 0xce3: 0x2439, + 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x093d, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369, + 0xcea: 0x24a9, 0xceb: 0x095d, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61, + 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x097d, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451, + 0xcf6: 0x099d, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09bd, + 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61, + // Block 0x34, offset 0xd00 + 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018, + 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040, + 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51, + 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601, + 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691, + 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a1e, 0xd35: 0x0a3e, + 0xd36: 0x0a5e, 0xd37: 0x0a7e, 0xd38: 0x0a9e, 0xd39: 0x0abe, 0xd3a: 0x0ade, 0xd3b: 0x0afe, + 0xd3c: 0x0b1e, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a, + // Block 0x35, offset 0xd40 + 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a, + 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040, + 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040, + 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040, + 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b3e, 0xd5d: 0x0b5e, + 0xd5e: 0x0b7e, 0xd5f: 0x0b9e, 0xd60: 0x0bbe, 0xd61: 0x0bde, 0xd62: 0x0bfe, 0xd63: 0x0c1e, + 0xd64: 0x0c3e, 0xd65: 0x0c5e, 0xd66: 0x0c7e, 0xd67: 0x0c9e, 0xd68: 0x0cbe, 0xd69: 0x0cde, + 0xd6a: 0x0cfe, 0xd6b: 0x0d1e, 0xd6c: 0x0d3e, 0xd6d: 0x0d5e, 0xd6e: 0x0d7e, 0xd6f: 0x0d9e, + 0xd70: 0x0dbe, 0xd71: 0x0dde, 0xd72: 0x0dfe, 0xd73: 0x0e1e, 0xd74: 0x0e3e, 0xd75: 0x0e5e, + 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199, + 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259, + // Block 0x36, offset 0xd80 + 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99, + 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089, + 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9, + 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249, + 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71, + 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9, + 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1, + 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018, + 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018, + 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008, + 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008, + 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008, + 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008, + 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008, + 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ed5, + 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d, + 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9, + 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d, + 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008, + 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9, + // Block 0x38, offset 0xe00 + 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008, + 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008, + 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008, + 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008, + 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008, + 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008, + 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, + 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308, + 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018, + 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + // Block 0x39, offset 0xe40 + 0xe40: 0x2715, 0xe41: 0x2735, 0xe42: 0x2755, 0xe43: 0x2775, 0xe44: 0x2795, 0xe45: 0x27b5, + 0xe46: 0x27d5, 0xe47: 0x27f5, 0xe48: 0x2815, 0xe49: 0x2835, 0xe4a: 0x2855, 0xe4b: 0x2875, + 0xe4c: 0x2895, 0xe4d: 0x28b5, 0xe4e: 0x28d5, 0xe4f: 0x28f5, 0xe50: 0x2915, 0xe51: 0x2935, + 0xe52: 0x2955, 0xe53: 0x2975, 0xe54: 0x2995, 0xe55: 0x29b5, 0xe56: 0x0040, 0xe57: 0x0040, + 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040, + 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040, + 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040, + 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040, + 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040, + 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040, + 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040, + // Block 0x3a, offset 0xe80 + 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008, + 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018, + 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018, + 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018, + 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018, + 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018, + 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018, + 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018, + 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018, + 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29d5, 0xeb9: 0x29f5, 0xeba: 0x2a15, 0xebb: 0x0018, + 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2b55, 0xec1: 0x2b75, 0xec2: 0x2b95, 0xec3: 0x2bb5, 0xec4: 0x2bd5, 0xec5: 0x2bf5, + 0xec6: 0x2bf5, 0xec7: 0x2bf5, 0xec8: 0x2c15, 0xec9: 0x2c15, 0xeca: 0x2c15, 0xecb: 0x2c15, + 0xecc: 0x2c35, 0xecd: 0x2c35, 0xece: 0x2c35, 0xecf: 0x2c55, 0xed0: 0x2c75, 0xed1: 0x2c75, + 0xed2: 0x2a95, 0xed3: 0x2a95, 0xed4: 0x2c75, 0xed5: 0x2c75, 0xed6: 0x2c95, 0xed7: 0x2c95, + 0xed8: 0x2c75, 0xed9: 0x2c75, 0xeda: 0x2a95, 0xedb: 0x2a95, 0xedc: 0x2c75, 0xedd: 0x2c75, + 0xede: 0x2c55, 0xedf: 0x2c55, 0xee0: 0x2cb5, 0xee1: 0x2cb5, 0xee2: 0x2cd5, 0xee3: 0x2cd5, + 0xee4: 0x0040, 0xee5: 0x2cf5, 0xee6: 0x2d15, 0xee7: 0x2d35, 0xee8: 0x2d35, 0xee9: 0x2d55, + 0xeea: 0x2d75, 0xeeb: 0x2d95, 0xeec: 0x2db5, 0xeed: 0x2dd5, 0xeee: 0x2df5, 0xeef: 0x2e15, + 0xef0: 0x2e35, 0xef1: 0x2e55, 0xef2: 0x2e55, 0xef3: 0x2e75, 0xef4: 0x2e95, 0xef5: 0x2e95, + 0xef6: 0x2eb5, 0xef7: 0x2ed5, 0xef8: 0x2e75, 0xef9: 0x2ef5, 0xefa: 0x2f15, 0xefb: 0x2ef5, + 0xefc: 0x2e75, 0xefd: 0x2f35, 0xefe: 0x2f55, 0xeff: 0x2f75, + // Block 0x3c, offset 0xf00 + 0xf00: 0x2f95, 0xf01: 0x2fb5, 0xf02: 0x2d15, 0xf03: 0x2cf5, 0xf04: 0x2fd5, 0xf05: 0x2ff5, + 0xf06: 0x3015, 0xf07: 0x3035, 0xf08: 0x3055, 0xf09: 0x3075, 0xf0a: 0x3095, 0xf0b: 0x30b5, + 0xf0c: 0x30d5, 0xf0d: 0x30f5, 0xf0e: 0x3115, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018, + 0xf12: 0x3135, 0xf13: 0x3155, 0xf14: 0x3175, 0xf15: 0x3195, 0xf16: 0x31b5, 0xf17: 0x31d5, + 0xf18: 0x31f5, 0xf19: 0x3215, 0xf1a: 0x3235, 0xf1b: 0x3255, 0xf1c: 0x3175, 0xf1d: 0x3275, + 0xf1e: 0x3295, 0xf1f: 0x32b5, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008, + 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008, + 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008, + 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008, + 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0008, + 0xf3c: 0x0008, 0xf3d: 0x0008, 0xf3e: 0x0008, 0xf3f: 0x0008, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32d5, 0xf45: 0x32f5, + 0xf46: 0x3315, 0xf47: 0x3335, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018, + 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x3355, 0xf51: 0x3761, + 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1, + 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881, + 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x3375, 0xf61: 0x3395, 0xf62: 0x33b5, 0xf63: 0x33d5, + 0xf64: 0x33f5, 0xf65: 0x33f5, 0xf66: 0x3415, 0xf67: 0x3435, 0xf68: 0x3455, 0xf69: 0x3475, + 0xf6a: 0x3495, 0xf6b: 0x34b5, 0xf6c: 0x34d5, 0xf6d: 0x34f5, 0xf6e: 0x3515, 0xf6f: 0x3535, + 0xf70: 0x3555, 0xf71: 0x3575, 0xf72: 0x3595, 0xf73: 0x35b5, 0xf74: 0x35d5, 0xf75: 0x35f5, + 0xf76: 0x3615, 0xf77: 0x3635, 0xf78: 0x3655, 0xf79: 0x3675, 0xf7a: 0x3695, 0xf7b: 0x36b5, + 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36d5, 0xf7f: 0x0018, + // Block 0x3e, offset 0xf80 + 0xf80: 0x36f5, 0xf81: 0x3715, 0xf82: 0x3735, 0xf83: 0x3755, 0xf84: 0x3775, 0xf85: 0x3795, + 0xf86: 0x37b5, 0xf87: 0x37d5, 0xf88: 0x37f5, 0xf89: 0x3815, 0xf8a: 0x3835, 0xf8b: 0x3855, + 0xf8c: 0x3875, 0xf8d: 0x3895, 0xf8e: 0x38b5, 0xf8f: 0x38d5, 0xf90: 0x38f5, 0xf91: 0x3915, + 0xf92: 0x3935, 0xf93: 0x3955, 0xf94: 0x3975, 0xf95: 0x3995, 0xf96: 0x39b5, 0xf97: 0x39d5, + 0xf98: 0x39f5, 0xf99: 0x3a15, 0xf9a: 0x3a35, 0xf9b: 0x3a55, 0xf9c: 0x3a75, 0xf9d: 0x3a95, + 0xf9e: 0x3ab5, 0xf9f: 0x3ad5, 0xfa0: 0x3af5, 0xfa1: 0x3b15, 0xfa2: 0x3b35, 0xfa3: 0x3b55, + 0xfa4: 0x3b75, 0xfa5: 0x3b95, 0xfa6: 0x1295, 0xfa7: 0x3bb5, 0xfa8: 0x3bd5, 0xfa9: 0x3bf5, + 0xfaa: 0x3c15, 0xfab: 0x3c35, 0xfac: 0x3c55, 0xfad: 0x3c75, 0xfae: 0x23b5, 0xfaf: 0x3c95, + 0xfb0: 0x3cb5, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999, + 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29, + 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69, + 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69, + 0xfcc: 0x3c99, 0xfcd: 0x3cd5, 0xfce: 0x3cb1, 0xfcf: 0x3cf5, 0xfd0: 0x3d15, 0xfd1: 0x3d2d, + 0xfd2: 0x3d45, 0xfd3: 0x3d5d, 0xfd4: 0x3d75, 0xfd5: 0x3d75, 0xfd6: 0x3d5d, 0xfd7: 0x3d8d, + 0xfd8: 0x07d5, 0xfd9: 0x3da5, 0xfda: 0x3dbd, 0xfdb: 0x3dd5, 0xfdc: 0x3ded, 0xfdd: 0x3e05, + 0xfde: 0x3e1d, 0xfdf: 0x3e35, 0xfe0: 0x3e4d, 0xfe1: 0x3e65, 0xfe2: 0x3e7d, 0xfe3: 0x3e95, + 0xfe4: 0x3ead, 0xfe5: 0x3ead, 0xfe6: 0x3ec5, 0xfe7: 0x3ec5, 0xfe8: 0x3edd, 0xfe9: 0x3edd, + 0xfea: 0x3ef5, 0xfeb: 0x3f0d, 0xfec: 0x3f25, 0xfed: 0x3f3d, 0xfee: 0x3f55, 0xfef: 0x3f55, + 0xff0: 0x3f6d, 0xff1: 0x3f6d, 0xff2: 0x3f6d, 0xff3: 0x3f85, 0xff4: 0x3f9d, 0xff5: 0x3fb5, + 0xff6: 0x3fcd, 0xff7: 0x3fb5, 0xff8: 0x3fe5, 0xff9: 0x3ffd, 0xffa: 0x3f85, 0xffb: 0x4015, + 0xffc: 0x402d, 0xffd: 0x402d, 0xffe: 0x402d, 0xfff: 0x3cc9, + // Block 0x40, offset 0x1000 + 0x1000: 0x3d01, 0x1001: 0x3d69, 0x1002: 0x3dd1, 0x1003: 0x3e39, 0x1004: 0x3e89, 0x1005: 0x3ef1, + 0x1006: 0x3f41, 0x1007: 0x3f91, 0x1008: 0x4011, 0x1009: 0x4079, 0x100a: 0x40c9, 0x100b: 0x4119, + 0x100c: 0x4169, 0x100d: 0x41d1, 0x100e: 0x4239, 0x100f: 0x4289, 0x1010: 0x42d9, 0x1011: 0x4311, + 0x1012: 0x4361, 0x1013: 0x43c9, 0x1014: 0x4431, 0x1015: 0x4469, 0x1016: 0x44e9, 0x1017: 0x4581, + 0x1018: 0x4601, 0x1019: 0x4651, 0x101a: 0x46d1, 0x101b: 0x4751, 0x101c: 0x47b9, 0x101d: 0x4809, + 0x101e: 0x4859, 0x101f: 0x48a9, 0x1020: 0x4911, 0x1021: 0x4991, 0x1022: 0x49f9, 0x1023: 0x4a49, + 0x1024: 0x4a99, 0x1025: 0x4ae9, 0x1026: 0x4b21, 0x1027: 0x4b59, 0x1028: 0x4b91, 0x1029: 0x4bc9, + 0x102a: 0x4c19, 0x102b: 0x4c69, 0x102c: 0x4ce9, 0x102d: 0x4d39, 0x102e: 0x4da1, 0x102f: 0x4e21, + 0x1030: 0x4e71, 0x1031: 0x4ea9, 0x1032: 0x4ee1, 0x1033: 0x4f61, 0x1034: 0x4fc9, 0x1035: 0x5049, + 0x1036: 0x5099, 0x1037: 0x5119, 0x1038: 0x5151, 0x1039: 0x51a1, 0x103a: 0x51f1, 0x103b: 0x5241, + 0x103c: 0x5291, 0x103d: 0x52e1, 0x103e: 0x5349, 0x103f: 0x5399, + // Block 0x41, offset 0x1040 + 0x1040: 0x53d1, 0x1041: 0x5421, 0x1042: 0x5471, 0x1043: 0x54c1, 0x1044: 0x5529, 0x1045: 0x5579, + 0x1046: 0x55c9, 0x1047: 0x5619, 0x1048: 0x5699, 0x1049: 0x5701, 0x104a: 0x5739, 0x104b: 0x57b9, + 0x104c: 0x57f1, 0x104d: 0x5859, 0x104e: 0x58c1, 0x104f: 0x5911, 0x1050: 0x5961, 0x1051: 0x59b1, + 0x1052: 0x5a19, 0x1053: 0x5a51, 0x1054: 0x5aa1, 0x1055: 0x5b09, 0x1056: 0x5b41, 0x1057: 0x5bc1, + 0x1058: 0x5c11, 0x1059: 0x5c39, 0x105a: 0x5c61, 0x105b: 0x5c89, 0x105c: 0x5cb1, 0x105d: 0x5cd9, + 0x105e: 0x5d01, 0x105f: 0x5d29, 0x1060: 0x5d51, 0x1061: 0x5d79, 0x1062: 0x5da1, 0x1063: 0x5dd1, + 0x1064: 0x5e01, 0x1065: 0x5e31, 0x1066: 0x5e61, 0x1067: 0x5e91, 0x1068: 0x5ec1, 0x1069: 0x5ef1, + 0x106a: 0x5f21, 0x106b: 0x5f51, 0x106c: 0x5f81, 0x106d: 0x5fb1, 0x106e: 0x5fe1, 0x106f: 0x6011, + 0x1070: 0x6041, 0x1071: 0x4045, 0x1072: 0x6071, 0x1073: 0x6089, 0x1074: 0x4065, 0x1075: 0x60a1, + 0x1076: 0x60b9, 0x1077: 0x60d1, 0x1078: 0x4085, 0x1079: 0x4085, 0x107a: 0x60e9, 0x107b: 0x6101, + 0x107c: 0x6139, 0x107d: 0x6171, 0x107e: 0x61a9, 0x107f: 0x61e1, + // Block 0x42, offset 0x1080 + 0x1080: 0x6249, 0x1081: 0x6261, 0x1082: 0x40a5, 0x1083: 0x6279, 0x1084: 0x6291, 0x1085: 0x62a9, + 0x1086: 0x62c1, 0x1087: 0x62d9, 0x1088: 0x40c5, 0x1089: 0x62f1, 0x108a: 0x6319, 0x108b: 0x6331, + 0x108c: 0x40e5, 0x108d: 0x40e5, 0x108e: 0x6349, 0x108f: 0x6361, 0x1090: 0x6379, 0x1091: 0x4105, + 0x1092: 0x4125, 0x1093: 0x4145, 0x1094: 0x4165, 0x1095: 0x4185, 0x1096: 0x6391, 0x1097: 0x63a9, + 0x1098: 0x63c1, 0x1099: 0x63d9, 0x109a: 0x63f1, 0x109b: 0x41a5, 0x109c: 0x6409, 0x109d: 0x6421, + 0x109e: 0x6439, 0x109f: 0x41c5, 0x10a0: 0x41e5, 0x10a1: 0x6451, 0x10a2: 0x4205, 0x10a3: 0x4225, + 0x10a4: 0x4245, 0x10a5: 0x6469, 0x10a6: 0x4265, 0x10a7: 0x6481, 0x10a8: 0x64b1, 0x10a9: 0x6249, + 0x10aa: 0x4285, 0x10ab: 0x42a5, 0x10ac: 0x42c5, 0x10ad: 0x42e5, 0x10ae: 0x64e9, 0x10af: 0x6529, + 0x10b0: 0x6571, 0x10b1: 0x6589, 0x10b2: 0x4305, 0x10b3: 0x65a1, 0x10b4: 0x65b9, 0x10b5: 0x65d1, + 0x10b6: 0x4325, 0x10b7: 0x65e9, 0x10b8: 0x6601, 0x10b9: 0x65e9, 0x10ba: 0x6619, 0x10bb: 0x6631, + 0x10bc: 0x4345, 0x10bd: 0x6649, 0x10be: 0x6661, 0x10bf: 0x6649, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x4365, 0x10c1: 0x4385, 0x10c2: 0x0040, 0x10c3: 0x6679, 0x10c4: 0x6691, 0x10c5: 0x66a9, + 0x10c6: 0x66c1, 0x10c7: 0x0040, 0x10c8: 0x66f9, 0x10c9: 0x6711, 0x10ca: 0x6729, 0x10cb: 0x6741, + 0x10cc: 0x6759, 0x10cd: 0x6771, 0x10ce: 0x6439, 0x10cf: 0x6789, 0x10d0: 0x67a1, 0x10d1: 0x67b9, + 0x10d2: 0x43a5, 0x10d3: 0x67d1, 0x10d4: 0x62c1, 0x10d5: 0x43c5, 0x10d6: 0x43e5, 0x10d7: 0x67e9, + 0x10d8: 0x0040, 0x10d9: 0x4405, 0x10da: 0x6801, 0x10db: 0x6819, 0x10dc: 0x6831, 0x10dd: 0x6849, + 0x10de: 0x6861, 0x10df: 0x6891, 0x10e0: 0x68c1, 0x10e1: 0x68e9, 0x10e2: 0x6911, 0x10e3: 0x6939, + 0x10e4: 0x6961, 0x10e5: 0x6989, 0x10e6: 0x69b1, 0x10e7: 0x69d9, 0x10e8: 0x6a01, 0x10e9: 0x6a29, + 0x10ea: 0x6a59, 0x10eb: 0x6a89, 0x10ec: 0x6ab9, 0x10ed: 0x6ae9, 0x10ee: 0x6b19, 0x10ef: 0x6b49, + 0x10f0: 0x6b79, 0x10f1: 0x6ba9, 0x10f2: 0x6bd9, 0x10f3: 0x6c09, 0x10f4: 0x6c39, 0x10f5: 0x6c69, + 0x10f6: 0x6c99, 0x10f7: 0x6cc9, 0x10f8: 0x6cf9, 0x10f9: 0x6d29, 0x10fa: 0x6d59, 0x10fb: 0x6d89, + 0x10fc: 0x6db9, 0x10fd: 0x6de9, 0x10fe: 0x6e19, 0x10ff: 0x4425, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008, + 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008, + 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, + 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308, + 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308, + 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308, + 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, + 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, + 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, + 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, + 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e49, + 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008, + 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008, + 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, + 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008, + 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018, + 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018, + 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018, + 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008, + 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008, + 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008, + 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008, + 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008, + 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008, + 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008, + 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d, + 0x11fc: 0x0008, 0x11fd: 0x4445, 0x11fe: 0xe00d, 0x11ff: 0x0008, + // Block 0x48, offset 0x1200 + 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008, + 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d, + 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008, + 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008, + 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008, + 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008, + 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008, + 0x122a: 0x6e61, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e79, 0x122e: 0x1221, 0x122f: 0x0008, + 0x1230: 0x6e91, 0x1231: 0x6ea9, 0x1232: 0x1239, 0x1233: 0x4465, 0x1234: 0xe00d, 0x1235: 0x0008, + 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0xe00d, 0x1239: 0x0008, 0x123a: 0xe00d, 0x123b: 0x0008, + 0x123c: 0xe00d, 0x123d: 0x0008, 0x123e: 0xe00d, 0x123f: 0x0008, + // Block 0x49, offset 0x1240 + 0x1240: 0x650d, 0x1241: 0x652d, 0x1242: 0x654d, 0x1243: 0x656d, 0x1244: 0x658d, 0x1245: 0x65ad, + 0x1246: 0x65cd, 0x1247: 0x65ed, 0x1248: 0x660d, 0x1249: 0x662d, 0x124a: 0x664d, 0x124b: 0x666d, + 0x124c: 0x668d, 0x124d: 0x66ad, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x66cd, 0x1251: 0x0008, + 0x1252: 0x66ed, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x670d, 0x1256: 0x672d, 0x1257: 0x674d, + 0x1258: 0x676d, 0x1259: 0x678d, 0x125a: 0x67ad, 0x125b: 0x67cd, 0x125c: 0x67ed, 0x125d: 0x680d, + 0x125e: 0x682d, 0x125f: 0x0008, 0x1260: 0x684d, 0x1261: 0x0008, 0x1262: 0x686d, 0x1263: 0x0008, + 0x1264: 0x0008, 0x1265: 0x688d, 0x1266: 0x68ad, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008, + 0x126a: 0x68cd, 0x126b: 0x68ed, 0x126c: 0x690d, 0x126d: 0x692d, 0x126e: 0x694d, 0x126f: 0x696d, + 0x1270: 0x698d, 0x1271: 0x69ad, 0x1272: 0x69cd, 0x1273: 0x69ed, 0x1274: 0x6a0d, 0x1275: 0x6a2d, + 0x1276: 0x6a4d, 0x1277: 0x6a6d, 0x1278: 0x6a8d, 0x1279: 0x6aad, 0x127a: 0x6acd, 0x127b: 0x6aed, + 0x127c: 0x6b0d, 0x127d: 0x6b2d, 0x127e: 0x6b4d, 0x127f: 0x6b6d, + // Block 0x4a, offset 0x1280 + 0x1280: 0x7acd, 0x1281: 0x7aed, 0x1282: 0x7b0d, 0x1283: 0x7b2d, 0x1284: 0x7b4d, 0x1285: 0x7b6d, + 0x1286: 0x7b8d, 0x1287: 0x7bad, 0x1288: 0x7bcd, 0x1289: 0x7bed, 0x128a: 0x7c0d, 0x128b: 0x7c2d, + 0x128c: 0x7c4d, 0x128d: 0x7c6d, 0x128e: 0x7c8d, 0x128f: 0x6f19, 0x1290: 0x6f41, 0x1291: 0x6f69, + 0x1292: 0x7cad, 0x1293: 0x7ccd, 0x1294: 0x7ced, 0x1295: 0x6f91, 0x1296: 0x6fb9, 0x1297: 0x6fe1, + 0x1298: 0x7d0d, 0x1299: 0x7d2d, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040, + 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040, + 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040, + 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040, + 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040, + 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040, + 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x7009, 0x12c1: 0x7021, 0x12c2: 0x7039, 0x12c3: 0x7d4d, 0x12c4: 0x7d6d, 0x12c5: 0x7051, + 0x12c6: 0x7051, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040, + 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040, + 0x12d2: 0x0040, 0x12d3: 0x7069, 0x12d4: 0x7091, 0x12d5: 0x70b9, 0x12d6: 0x70e1, 0x12d7: 0x7109, + 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x7131, + 0x12de: 0x3308, 0x12df: 0x7159, 0x12e0: 0x7181, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7199, + 0x12e4: 0x71b1, 0x12e5: 0x71c9, 0x12e6: 0x71e1, 0x12e7: 0x71f9, 0x12e8: 0x7211, 0x12e9: 0x1fb2, + 0x12ea: 0x7229, 0x12eb: 0x7251, 0x12ec: 0x7279, 0x12ed: 0x72b1, 0x12ee: 0x72e9, 0x12ef: 0x7311, + 0x12f0: 0x7339, 0x12f1: 0x7361, 0x12f2: 0x7389, 0x12f3: 0x73b1, 0x12f4: 0x73d9, 0x12f5: 0x7401, + 0x12f6: 0x7429, 0x12f7: 0x0040, 0x12f8: 0x7451, 0x12f9: 0x7479, 0x12fa: 0x74a1, 0x12fb: 0x74c9, + 0x12fc: 0x74f1, 0x12fd: 0x0040, 0x12fe: 0x7519, 0x12ff: 0x0040, + // Block 0x4c, offset 0x1300 + 0x1300: 0x7541, 0x1301: 0x7569, 0x1302: 0x0040, 0x1303: 0x7591, 0x1304: 0x75b9, 0x1305: 0x0040, + 0x1306: 0x75e1, 0x1307: 0x7609, 0x1308: 0x7631, 0x1309: 0x7659, 0x130a: 0x7681, 0x130b: 0x76a9, + 0x130c: 0x76d1, 0x130d: 0x76f9, 0x130e: 0x7721, 0x130f: 0x7749, 0x1310: 0x7771, 0x1311: 0x7771, + 0x1312: 0x7789, 0x1313: 0x7789, 0x1314: 0x7789, 0x1315: 0x7789, 0x1316: 0x77a1, 0x1317: 0x77a1, + 0x1318: 0x77a1, 0x1319: 0x77a1, 0x131a: 0x77b9, 0x131b: 0x77b9, 0x131c: 0x77b9, 0x131d: 0x77b9, + 0x131e: 0x77d1, 0x131f: 0x77d1, 0x1320: 0x77d1, 0x1321: 0x77d1, 0x1322: 0x77e9, 0x1323: 0x77e9, + 0x1324: 0x77e9, 0x1325: 0x77e9, 0x1326: 0x7801, 0x1327: 0x7801, 0x1328: 0x7801, 0x1329: 0x7801, + 0x132a: 0x7819, 0x132b: 0x7819, 0x132c: 0x7819, 0x132d: 0x7819, 0x132e: 0x7831, 0x132f: 0x7831, + 0x1330: 0x7831, 0x1331: 0x7831, 0x1332: 0x7849, 0x1333: 0x7849, 0x1334: 0x7849, 0x1335: 0x7849, + 0x1336: 0x7861, 0x1337: 0x7861, 0x1338: 0x7861, 0x1339: 0x7861, 0x133a: 0x7879, 0x133b: 0x7879, + 0x133c: 0x7879, 0x133d: 0x7879, 0x133e: 0x7891, 0x133f: 0x7891, + // Block 0x4d, offset 0x1340 + 0x1340: 0x7891, 0x1341: 0x7891, 0x1342: 0x78a9, 0x1343: 0x78a9, 0x1344: 0x78c1, 0x1345: 0x78c1, + 0x1346: 0x78d9, 0x1347: 0x78d9, 0x1348: 0x78f1, 0x1349: 0x78f1, 0x134a: 0x7909, 0x134b: 0x7909, + 0x134c: 0x7921, 0x134d: 0x7921, 0x134e: 0x7939, 0x134f: 0x7939, 0x1350: 0x7939, 0x1351: 0x7939, + 0x1352: 0x7951, 0x1353: 0x7951, 0x1354: 0x7951, 0x1355: 0x7951, 0x1356: 0x7969, 0x1357: 0x7969, + 0x1358: 0x7969, 0x1359: 0x7969, 0x135a: 0x7981, 0x135b: 0x7981, 0x135c: 0x7981, 0x135d: 0x7981, + 0x135e: 0x7999, 0x135f: 0x7999, 0x1360: 0x79b1, 0x1361: 0x79b1, 0x1362: 0x79b1, 0x1363: 0x79b1, + 0x1364: 0x79c9, 0x1365: 0x79c9, 0x1366: 0x79e1, 0x1367: 0x79e1, 0x1368: 0x79e1, 0x1369: 0x79e1, + 0x136a: 0x79f9, 0x136b: 0x79f9, 0x136c: 0x79f9, 0x136d: 0x79f9, 0x136e: 0x7a11, 0x136f: 0x7a11, + 0x1370: 0x7a29, 0x1371: 0x7a29, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818, + 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818, + 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040, + 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040, + 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040, + 0x1392: 0x0040, 0x1393: 0x7a41, 0x1394: 0x7a41, 0x1395: 0x7a41, 0x1396: 0x7a41, 0x1397: 0x7a59, + 0x1398: 0x7a59, 0x1399: 0x7a71, 0x139a: 0x7a71, 0x139b: 0x7a89, 0x139c: 0x7a89, 0x139d: 0x0479, + 0x139e: 0x7aa1, 0x139f: 0x7aa1, 0x13a0: 0x7ab9, 0x13a1: 0x7ab9, 0x13a2: 0x7ad1, 0x13a3: 0x7ad1, + 0x13a4: 0x7ae9, 0x13a5: 0x7ae9, 0x13a6: 0x7ae9, 0x13a7: 0x7ae9, 0x13a8: 0x7b01, 0x13a9: 0x7b01, + 0x13aa: 0x7b19, 0x13ab: 0x7b19, 0x13ac: 0x7b41, 0x13ad: 0x7b41, 0x13ae: 0x7b69, 0x13af: 0x7b69, + 0x13b0: 0x7b91, 0x13b1: 0x7b91, 0x13b2: 0x7bb9, 0x13b3: 0x7bb9, 0x13b4: 0x7be1, 0x13b5: 0x7be1, + 0x13b6: 0x7c09, 0x13b7: 0x7c09, 0x13b8: 0x7c09, 0x13b9: 0x7c31, 0x13ba: 0x7c31, 0x13bb: 0x7c31, + 0x13bc: 0x7c59, 0x13bd: 0x7c59, 0x13be: 0x7c59, 0x13bf: 0x7c59, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x8649, 0x13c1: 0x8671, 0x13c2: 0x8699, 0x13c3: 0x86c1, 0x13c4: 0x86e9, 0x13c5: 0x8711, + 0x13c6: 0x8739, 0x13c7: 0x8761, 0x13c8: 0x8789, 0x13c9: 0x87b1, 0x13ca: 0x87d9, 0x13cb: 0x8801, + 0x13cc: 0x8829, 0x13cd: 0x8851, 0x13ce: 0x8879, 0x13cf: 0x88a1, 0x13d0: 0x88c9, 0x13d1: 0x88f1, + 0x13d2: 0x8919, 0x13d3: 0x8941, 0x13d4: 0x8969, 0x13d5: 0x8991, 0x13d6: 0x89b9, 0x13d7: 0x89e1, + 0x13d8: 0x8a09, 0x13d9: 0x8a31, 0x13da: 0x8a59, 0x13db: 0x8a81, 0x13dc: 0x8aa9, 0x13dd: 0x8ad1, + 0x13de: 0x8afa, 0x13df: 0x8b2a, 0x13e0: 0x8b5a, 0x13e1: 0x8b8a, 0x13e2: 0x8bba, 0x13e3: 0x8bea, + 0x13e4: 0x8c19, 0x13e5: 0x8c41, 0x13e6: 0x7cc1, 0x13e7: 0x8c69, 0x13e8: 0x7c31, 0x13e9: 0x7ce9, + 0x13ea: 0x8c91, 0x13eb: 0x8cb9, 0x13ec: 0x7d89, 0x13ed: 0x8ce1, 0x13ee: 0x7db1, 0x13ef: 0x7dd9, + 0x13f0: 0x8d09, 0x13f1: 0x8d31, 0x13f2: 0x7e79, 0x13f3: 0x8d59, 0x13f4: 0x7ea1, 0x13f5: 0x7ec9, + 0x13f6: 0x8d81, 0x13f7: 0x8da9, 0x13f8: 0x7f19, 0x13f9: 0x8dd1, 0x13fa: 0x7f41, 0x13fb: 0x7f69, + 0x13fc: 0x83f1, 0x13fd: 0x8419, 0x13fe: 0x8491, 0x13ff: 0x84b9, + // Block 0x50, offset 0x1400 + 0x1400: 0x84e1, 0x1401: 0x8581, 0x1402: 0x85a9, 0x1403: 0x85d1, 0x1404: 0x85f9, 0x1405: 0x8699, + 0x1406: 0x86c1, 0x1407: 0x86e9, 0x1408: 0x8df9, 0x1409: 0x8789, 0x140a: 0x8e21, 0x140b: 0x8e49, + 0x140c: 0x8879, 0x140d: 0x8e71, 0x140e: 0x88a1, 0x140f: 0x88c9, 0x1410: 0x8ad1, 0x1411: 0x8e99, + 0x1412: 0x8ec1, 0x1413: 0x8a09, 0x1414: 0x8ee9, 0x1415: 0x8a31, 0x1416: 0x8a59, 0x1417: 0x7c71, + 0x1418: 0x7c99, 0x1419: 0x8f11, 0x141a: 0x7cc1, 0x141b: 0x8f39, 0x141c: 0x7d11, 0x141d: 0x7d39, + 0x141e: 0x7d61, 0x141f: 0x7d89, 0x1420: 0x8f61, 0x1421: 0x7e01, 0x1422: 0x7e29, 0x1423: 0x7e51, + 0x1424: 0x7e79, 0x1425: 0x8f89, 0x1426: 0x7f19, 0x1427: 0x7f91, 0x1428: 0x7fb9, 0x1429: 0x7fe1, + 0x142a: 0x8009, 0x142b: 0x8031, 0x142c: 0x8081, 0x142d: 0x80a9, 0x142e: 0x80d1, 0x142f: 0x80f9, + 0x1430: 0x8121, 0x1431: 0x8149, 0x1432: 0x8fb1, 0x1433: 0x8171, 0x1434: 0x8199, 0x1435: 0x81c1, + 0x1436: 0x81e9, 0x1437: 0x8211, 0x1438: 0x8239, 0x1439: 0x8289, 0x143a: 0x82b1, 0x143b: 0x82d9, + 0x143c: 0x8301, 0x143d: 0x8329, 0x143e: 0x8351, 0x143f: 0x8379, + // Block 0x51, offset 0x1440 + 0x1440: 0x83a1, 0x1441: 0x83c9, 0x1442: 0x8441, 0x1443: 0x8469, 0x1444: 0x8509, 0x1445: 0x8531, + 0x1446: 0x8559, 0x1447: 0x8581, 0x1448: 0x85a9, 0x1449: 0x8621, 0x144a: 0x8649, 0x144b: 0x8671, + 0x144c: 0x8699, 0x144d: 0x8fd9, 0x144e: 0x8711, 0x144f: 0x8739, 0x1450: 0x8761, 0x1451: 0x8789, + 0x1452: 0x8801, 0x1453: 0x8829, 0x1454: 0x8851, 0x1455: 0x8879, 0x1456: 0x9001, 0x1457: 0x88f1, + 0x1458: 0x8919, 0x1459: 0x9029, 0x145a: 0x8991, 0x145b: 0x89b9, 0x145c: 0x89e1, 0x145d: 0x8a09, + 0x145e: 0x9051, 0x145f: 0x7cc1, 0x1460: 0x8f39, 0x1461: 0x7d89, 0x1462: 0x8f61, 0x1463: 0x7e79, + 0x1464: 0x8f89, 0x1465: 0x7f19, 0x1466: 0x9079, 0x1467: 0x8121, 0x1468: 0x90a1, 0x1469: 0x90c9, + 0x146a: 0x90f1, 0x146b: 0x8581, 0x146c: 0x85a9, 0x146d: 0x8699, 0x146e: 0x8879, 0x146f: 0x9001, + 0x1470: 0x8a09, 0x1471: 0x9051, 0x1472: 0x9119, 0x1473: 0x9151, 0x1474: 0x9189, 0x1475: 0x91c1, + 0x1476: 0x91e9, 0x1477: 0x9211, 0x1478: 0x9239, 0x1479: 0x9261, 0x147a: 0x9289, 0x147b: 0x92b1, + 0x147c: 0x92d9, 0x147d: 0x9301, 0x147e: 0x9329, 0x147f: 0x9351, + // Block 0x52, offset 0x1480 + 0x1480: 0x9379, 0x1481: 0x93a1, 0x1482: 0x93c9, 0x1483: 0x93f1, 0x1484: 0x9419, 0x1485: 0x9441, + 0x1486: 0x9469, 0x1487: 0x9491, 0x1488: 0x94b9, 0x1489: 0x94e1, 0x148a: 0x9509, 0x148b: 0x9531, + 0x148c: 0x90c9, 0x148d: 0x9559, 0x148e: 0x9581, 0x148f: 0x95a9, 0x1490: 0x95d1, 0x1491: 0x91c1, + 0x1492: 0x91e9, 0x1493: 0x9211, 0x1494: 0x9239, 0x1495: 0x9261, 0x1496: 0x9289, 0x1497: 0x92b1, + 0x1498: 0x92d9, 0x1499: 0x9301, 0x149a: 0x9329, 0x149b: 0x9351, 0x149c: 0x9379, 0x149d: 0x93a1, + 0x149e: 0x93c9, 0x149f: 0x93f1, 0x14a0: 0x9419, 0x14a1: 0x9441, 0x14a2: 0x9469, 0x14a3: 0x9491, + 0x14a4: 0x94b9, 0x14a5: 0x94e1, 0x14a6: 0x9509, 0x14a7: 0x9531, 0x14a8: 0x90c9, 0x14a9: 0x9559, + 0x14aa: 0x9581, 0x14ab: 0x95a9, 0x14ac: 0x95d1, 0x14ad: 0x94e1, 0x14ae: 0x9509, 0x14af: 0x9531, + 0x14b0: 0x90c9, 0x14b1: 0x90a1, 0x14b2: 0x90f1, 0x14b3: 0x8261, 0x14b4: 0x80a9, 0x14b5: 0x80d1, + 0x14b6: 0x80f9, 0x14b7: 0x94e1, 0x14b8: 0x9509, 0x14b9: 0x9531, 0x14ba: 0x8261, 0x14bb: 0x8289, + 0x14bc: 0x95f9, 0x14bd: 0x95f9, 0x14be: 0x0018, 0x14bf: 0x0018, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040, + 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x9621, 0x14d1: 0x9659, + 0x14d2: 0x9659, 0x14d3: 0x9691, 0x14d4: 0x96c9, 0x14d5: 0x9701, 0x14d6: 0x9739, 0x14d7: 0x9771, + 0x14d8: 0x97a9, 0x14d9: 0x97a9, 0x14da: 0x97e1, 0x14db: 0x9819, 0x14dc: 0x9851, 0x14dd: 0x9889, + 0x14de: 0x98c1, 0x14df: 0x98f9, 0x14e0: 0x98f9, 0x14e1: 0x9931, 0x14e2: 0x9969, 0x14e3: 0x9969, + 0x14e4: 0x99a1, 0x14e5: 0x99a1, 0x14e6: 0x99d9, 0x14e7: 0x9a11, 0x14e8: 0x9a11, 0x14e9: 0x9a49, + 0x14ea: 0x9a81, 0x14eb: 0x9a81, 0x14ec: 0x9ab9, 0x14ed: 0x9ab9, 0x14ee: 0x9af1, 0x14ef: 0x9b29, + 0x14f0: 0x9b29, 0x14f1: 0x9b61, 0x14f2: 0x9b61, 0x14f3: 0x9b99, 0x14f4: 0x9bd1, 0x14f5: 0x9c09, + 0x14f6: 0x9c41, 0x14f7: 0x9c41, 0x14f8: 0x9c79, 0x14f9: 0x9cb1, 0x14fa: 0x9ce9, 0x14fb: 0x9d21, + 0x14fc: 0x9d59, 0x14fd: 0x9d59, 0x14fe: 0x9d91, 0x14ff: 0x9dc9, + // Block 0x54, offset 0x1500 + 0x1500: 0xa999, 0x1501: 0xa9d1, 0x1502: 0xaa09, 0x1503: 0xa8f1, 0x1504: 0x9c09, 0x1505: 0x99d9, + 0x1506: 0xaa41, 0x1507: 0xaa79, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040, + 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040, + 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040, + 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040, + 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040, + 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, + 0x1530: 0xaab1, 0x1531: 0xaae9, 0x1532: 0xab21, 0x1533: 0xab69, 0x1534: 0xabb1, 0x1535: 0xabf9, + 0x1536: 0xac41, 0x1537: 0xac89, 0x1538: 0xacd1, 0x1539: 0xad19, 0x153a: 0xad52, 0x153b: 0xae62, + 0x153c: 0xaee1, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040, + // Block 0x55, offset 0x1540 + 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0, + 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0, + 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaf2a, 0x1551: 0x7d8d, + 0x1552: 0x0040, 0x1553: 0xaf3a, 0x1554: 0x03c2, 0x1555: 0xaf4a, 0x1556: 0xaf5a, 0x1557: 0x7dad, + 0x1558: 0x7dcd, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040, + 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308, + 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308, + 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308, + 0x1570: 0x0040, 0x1571: 0x7ded, 0x1572: 0x7e0d, 0x1573: 0xaf6a, 0x1574: 0xaf6a, 0x1575: 0x1fd2, + 0x1576: 0x1fe2, 0x1577: 0xaf7a, 0x1578: 0xaf8a, 0x1579: 0x7e2d, 0x157a: 0x7e4d, 0x157b: 0x7e6d, + 0x157c: 0x7e2d, 0x157d: 0x7e8d, 0x157e: 0x7ead, 0x157f: 0x7e8d, + // Block 0x56, offset 0x1580 + 0x1580: 0x7ecd, 0x1581: 0x7eed, 0x1582: 0x7f0d, 0x1583: 0x7eed, 0x1584: 0x7f2d, 0x1585: 0x0018, + 0x1586: 0x0018, 0x1587: 0xaf9a, 0x1588: 0xafaa, 0x1589: 0x7f4e, 0x158a: 0x7f6e, 0x158b: 0x7f8e, + 0x158c: 0x7fae, 0x158d: 0xaf6a, 0x158e: 0xaf6a, 0x158f: 0xaf6a, 0x1590: 0xaf2a, 0x1591: 0x7fcd, + 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaf3a, 0x1596: 0xaf5a, 0x1597: 0xaf4a, + 0x1598: 0x7fed, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf7a, 0x159c: 0xaf8a, 0x159d: 0x7ecd, + 0x159e: 0x7f2d, 0x159f: 0xafba, 0x15a0: 0xafca, 0x15a1: 0xafda, 0x15a2: 0x1fb2, 0x15a3: 0xafe9, + 0x15a4: 0xaffa, 0x15a5: 0xb00a, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xb01a, 0x15a9: 0xb02a, + 0x15aa: 0xb03a, 0x15ab: 0xb04a, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040, + 0x15b0: 0x800e, 0x15b1: 0xb059, 0x15b2: 0x802e, 0x15b3: 0x0808, 0x15b4: 0x804e, 0x15b5: 0x0040, + 0x15b6: 0x806e, 0x15b7: 0xb081, 0x15b8: 0x808e, 0x15b9: 0xb0a9, 0x15ba: 0x80ae, 0x15bb: 0xb0d1, + 0x15bc: 0x80ce, 0x15bd: 0xb0f9, 0x15be: 0x80ee, 0x15bf: 0xb121, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb149, 0x15c1: 0xb161, 0x15c2: 0xb161, 0x15c3: 0xb179, 0x15c4: 0xb179, 0x15c5: 0xb191, + 0x15c6: 0xb191, 0x15c7: 0xb1a9, 0x15c8: 0xb1a9, 0x15c9: 0xb1c1, 0x15ca: 0xb1c1, 0x15cb: 0xb1c1, + 0x15cc: 0xb1c1, 0x15cd: 0xb1d9, 0x15ce: 0xb1d9, 0x15cf: 0xb1f1, 0x15d0: 0xb1f1, 0x15d1: 0xb1f1, + 0x15d2: 0xb1f1, 0x15d3: 0xb209, 0x15d4: 0xb209, 0x15d5: 0xb221, 0x15d6: 0xb221, 0x15d7: 0xb221, + 0x15d8: 0xb221, 0x15d9: 0xb239, 0x15da: 0xb239, 0x15db: 0xb239, 0x15dc: 0xb239, 0x15dd: 0xb251, + 0x15de: 0xb251, 0x15df: 0xb251, 0x15e0: 0xb251, 0x15e1: 0xb269, 0x15e2: 0xb269, 0x15e3: 0xb269, + 0x15e4: 0xb269, 0x15e5: 0xb281, 0x15e6: 0xb281, 0x15e7: 0xb281, 0x15e8: 0xb281, 0x15e9: 0xb299, + 0x15ea: 0xb299, 0x15eb: 0xb2b1, 0x15ec: 0xb2b1, 0x15ed: 0xb2c9, 0x15ee: 0xb2c9, 0x15ef: 0xb2e1, + 0x15f0: 0xb2e1, 0x15f1: 0xb2f9, 0x15f2: 0xb2f9, 0x15f3: 0xb2f9, 0x15f4: 0xb2f9, 0x15f5: 0xb311, + 0x15f6: 0xb311, 0x15f7: 0xb311, 0x15f8: 0xb311, 0x15f9: 0xb329, 0x15fa: 0xb329, 0x15fb: 0xb329, + 0x15fc: 0xb329, 0x15fd: 0xb341, 0x15fe: 0xb341, 0x15ff: 0xb341, + // Block 0x58, offset 0x1600 + 0x1600: 0xb341, 0x1601: 0xb359, 0x1602: 0xb359, 0x1603: 0xb359, 0x1604: 0xb359, 0x1605: 0xb371, + 0x1606: 0xb371, 0x1607: 0xb371, 0x1608: 0xb371, 0x1609: 0xb389, 0x160a: 0xb389, 0x160b: 0xb389, + 0x160c: 0xb389, 0x160d: 0xb3a1, 0x160e: 0xb3a1, 0x160f: 0xb3a1, 0x1610: 0xb3a1, 0x1611: 0xb3b9, + 0x1612: 0xb3b9, 0x1613: 0xb3b9, 0x1614: 0xb3b9, 0x1615: 0xb3d1, 0x1616: 0xb3d1, 0x1617: 0xb3d1, + 0x1618: 0xb3d1, 0x1619: 0xb3e9, 0x161a: 0xb3e9, 0x161b: 0xb3e9, 0x161c: 0xb3e9, 0x161d: 0xb401, + 0x161e: 0xb401, 0x161f: 0xb401, 0x1620: 0xb401, 0x1621: 0xb419, 0x1622: 0xb419, 0x1623: 0xb419, + 0x1624: 0xb419, 0x1625: 0xb431, 0x1626: 0xb431, 0x1627: 0xb431, 0x1628: 0xb431, 0x1629: 0xb449, + 0x162a: 0xb449, 0x162b: 0xb449, 0x162c: 0xb449, 0x162d: 0xb461, 0x162e: 0xb461, 0x162f: 0x7b01, + 0x1630: 0x7b01, 0x1631: 0xb479, 0x1632: 0xb479, 0x1633: 0xb479, 0x1634: 0xb479, 0x1635: 0xb491, + 0x1636: 0xb491, 0x1637: 0xb4b9, 0x1638: 0xb4b9, 0x1639: 0xb4e1, 0x163a: 0xb4e1, 0x163b: 0xb509, + 0x163c: 0xb509, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0, + // Block 0x59, offset 0x1640 + 0x1640: 0x0040, 0x1641: 0xaf4a, 0x1642: 0xb532, 0x1643: 0xafba, 0x1644: 0xb02a, 0x1645: 0xb03a, + 0x1646: 0xafca, 0x1647: 0xb542, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xafda, 0x164b: 0x1fb2, + 0x164c: 0xaf2a, 0x164d: 0xafe9, 0x164e: 0x29d1, 0x164f: 0xb552, 0x1650: 0x1f41, 0x1651: 0x00c9, + 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81, + 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaf3a, 0x165b: 0x03c2, 0x165c: 0xaffa, 0x165d: 0x1fc2, + 0x165e: 0xb00a, 0x165f: 0xaf5a, 0x1660: 0xb04a, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159, + 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41, + 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9, + 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9, + 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf9a, + 0x167c: 0xb01a, 0x167d: 0xafaa, 0x167e: 0xb562, 0x167f: 0xaf6a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09, + 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51, + 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039, + 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279, + 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf7a, 0x169c: 0xb572, 0x169d: 0xaf8a, + 0x169e: 0xb582, 0x169f: 0x810d, 0x16a0: 0x812d, 0x16a1: 0x29d1, 0x16a2: 0x814d, 0x16a3: 0x814d, + 0x16a4: 0x816d, 0x16a5: 0x818d, 0x16a6: 0x81ad, 0x16a7: 0x81cd, 0x16a8: 0x81ed, 0x16a9: 0x820d, + 0x16aa: 0x822d, 0x16ab: 0x824d, 0x16ac: 0x826d, 0x16ad: 0x828d, 0x16ae: 0x82ad, 0x16af: 0x82cd, + 0x16b0: 0x82ed, 0x16b1: 0x830d, 0x16b2: 0x832d, 0x16b3: 0x834d, 0x16b4: 0x836d, 0x16b5: 0x838d, + 0x16b6: 0x83ad, 0x16b7: 0x83cd, 0x16b8: 0x83ed, 0x16b9: 0x840d, 0x16ba: 0x842d, 0x16bb: 0x844d, + 0x16bc: 0x81ed, 0x16bd: 0x846d, 0x16be: 0x848d, 0x16bf: 0x824d, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x84ad, 0x16c1: 0x84cd, 0x16c2: 0x84ed, 0x16c3: 0x850d, 0x16c4: 0x852d, 0x16c5: 0x854d, + 0x16c6: 0x856d, 0x16c7: 0x858d, 0x16c8: 0x850d, 0x16c9: 0x85ad, 0x16ca: 0x850d, 0x16cb: 0x85cd, + 0x16cc: 0x85cd, 0x16cd: 0x85ed, 0x16ce: 0x85ed, 0x16cf: 0x860d, 0x16d0: 0x854d, 0x16d1: 0x862d, + 0x16d2: 0x864d, 0x16d3: 0x862d, 0x16d4: 0x866d, 0x16d5: 0x864d, 0x16d6: 0x868d, 0x16d7: 0x868d, + 0x16d8: 0x86ad, 0x16d9: 0x86ad, 0x16da: 0x86cd, 0x16db: 0x86cd, 0x16dc: 0x864d, 0x16dd: 0x814d, + 0x16de: 0x86ed, 0x16df: 0x870d, 0x16e0: 0x0040, 0x16e1: 0x872d, 0x16e2: 0x874d, 0x16e3: 0x876d, + 0x16e4: 0x878d, 0x16e5: 0x876d, 0x16e6: 0x87ad, 0x16e7: 0x87cd, 0x16e8: 0x87ed, 0x16e9: 0x87ed, + 0x16ea: 0x880d, 0x16eb: 0x880d, 0x16ec: 0x882d, 0x16ed: 0x882d, 0x16ee: 0x880d, 0x16ef: 0x880d, + 0x16f0: 0x884d, 0x16f1: 0x886d, 0x16f2: 0x888d, 0x16f3: 0x88ad, 0x16f4: 0x88cd, 0x16f5: 0x88ed, + 0x16f6: 0x88ed, 0x16f7: 0x88ed, 0x16f8: 0x890d, 0x16f9: 0x890d, 0x16fa: 0x890d, 0x16fb: 0x890d, + 0x16fc: 0x87ed, 0x16fd: 0x87ed, 0x16fe: 0x87ed, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x874d, 0x1703: 0x872d, 0x1704: 0x892d, 0x1705: 0x872d, + 0x1706: 0x874d, 0x1707: 0x872d, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x894d, 0x170b: 0x874d, + 0x170c: 0x896d, 0x170d: 0x892d, 0x170e: 0x896d, 0x170f: 0x874d, 0x1710: 0x0040, 0x1711: 0x0040, + 0x1712: 0x898d, 0x1713: 0x89ad, 0x1714: 0x88ad, 0x1715: 0x896d, 0x1716: 0x892d, 0x1717: 0x896d, + 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x89cd, 0x171b: 0x89ed, 0x171c: 0x89cd, 0x171d: 0x0040, + 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb591, 0x1721: 0xb5a9, 0x1722: 0xb5c1, 0x1723: 0x8a0e, + 0x1724: 0xb5d9, 0x1725: 0xb5f1, 0x1726: 0x8a2d, 0x1727: 0x0040, 0x1728: 0x8a4d, 0x1729: 0x8a6d, + 0x172a: 0x8a8d, 0x172b: 0x8a6d, 0x172c: 0x8aad, 0x172d: 0x8acd, 0x172e: 0x8aed, 0x172f: 0x0040, + 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, + 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08, + 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808, + 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08, + 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908, + 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08, + 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808, + 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040, + 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18, + 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818, + 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08, + 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08, + 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08, + 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040, + 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040, + 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040, + 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18, + 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818, + 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040, + 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008, + 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008, + 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008, + 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008, + 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040, + 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008, + 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008, + 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x3308, + 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008, + // Block 0x60, offset 0x1800 + 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040, + 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008, + 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040, + 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008, + 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008, + 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008, + 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308, + 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040, + 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040, + 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040, + 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040, + // Block 0x61, offset 0x1840 + 0x1840: 0x0008, 0x1841: 0x0008, 0x1842: 0x0008, 0x1843: 0x0008, 0x1844: 0x0008, 0x1845: 0x0008, + 0x1846: 0x0008, 0x1847: 0x0040, 0x1848: 0x0040, 0x1849: 0x0008, 0x184a: 0x0040, 0x184b: 0x0040, + 0x184c: 0x0008, 0x184d: 0x0008, 0x184e: 0x0008, 0x184f: 0x0008, 0x1850: 0x0008, 0x1851: 0x0008, + 0x1852: 0x0008, 0x1853: 0x0008, 0x1854: 0x0040, 0x1855: 0x0008, 0x1856: 0x0008, 0x1857: 0x0040, + 0x1858: 0x0008, 0x1859: 0x0008, 0x185a: 0x0008, 0x185b: 0x0008, 0x185c: 0x0008, 0x185d: 0x0008, + 0x185e: 0x0008, 0x185f: 0x0008, 0x1860: 0x0008, 0x1861: 0x0008, 0x1862: 0x0008, 0x1863: 0x0008, + 0x1864: 0x0008, 0x1865: 0x0008, 0x1866: 0x0008, 0x1867: 0x0008, 0x1868: 0x0008, 0x1869: 0x0008, + 0x186a: 0x0008, 0x186b: 0x0008, 0x186c: 0x0008, 0x186d: 0x0008, 0x186e: 0x0008, 0x186f: 0x0008, + 0x1870: 0x3008, 0x1871: 0x3008, 0x1872: 0x3008, 0x1873: 0x3008, 0x1874: 0x3008, 0x1875: 0x3008, + 0x1876: 0x0040, 0x1877: 0x3008, 0x1878: 0x3008, 0x1879: 0x0040, 0x187a: 0x0040, 0x187b: 0x3308, + 0x187c: 0x3308, 0x187d: 0x3808, 0x187e: 0x3b08, 0x187f: 0x0008, + // Block 0x62, offset 0x1880 + 0x1880: 0x0039, 0x1881: 0x0ee9, 0x1882: 0x1159, 0x1883: 0x0ef9, 0x1884: 0x0f09, 0x1885: 0x1199, + 0x1886: 0x0f31, 0x1887: 0x0249, 0x1888: 0x0f41, 0x1889: 0x0259, 0x188a: 0x0f51, 0x188b: 0x0359, + 0x188c: 0x0f61, 0x188d: 0x0f71, 0x188e: 0x00d9, 0x188f: 0x0f99, 0x1890: 0x2039, 0x1891: 0x0269, + 0x1892: 0x01d9, 0x1893: 0x0fa9, 0x1894: 0x0fb9, 0x1895: 0x1089, 0x1896: 0x0279, 0x1897: 0x0369, + 0x1898: 0x0289, 0x1899: 0x13d1, 0x189a: 0x0039, 0x189b: 0x0ee9, 0x189c: 0x1159, 0x189d: 0x0ef9, + 0x189e: 0x0f09, 0x189f: 0x1199, 0x18a0: 0x0f31, 0x18a1: 0x0249, 0x18a2: 0x0f41, 0x18a3: 0x0259, + 0x18a4: 0x0f51, 0x18a5: 0x0359, 0x18a6: 0x0f61, 0x18a7: 0x0f71, 0x18a8: 0x00d9, 0x18a9: 0x0f99, + 0x18aa: 0x2039, 0x18ab: 0x0269, 0x18ac: 0x01d9, 0x18ad: 0x0fa9, 0x18ae: 0x0fb9, 0x18af: 0x1089, + 0x18b0: 0x0279, 0x18b1: 0x0369, 0x18b2: 0x0289, 0x18b3: 0x13d1, 0x18b4: 0x0039, 0x18b5: 0x0ee9, + 0x18b6: 0x1159, 0x18b7: 0x0ef9, 0x18b8: 0x0f09, 0x18b9: 0x1199, 0x18ba: 0x0f31, 0x18bb: 0x0249, + 0x18bc: 0x0f41, 0x18bd: 0x0259, 0x18be: 0x0f51, 0x18bf: 0x0359, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0f61, 0x18c1: 0x0f71, 0x18c2: 0x00d9, 0x18c3: 0x0f99, 0x18c4: 0x2039, 0x18c5: 0x0269, + 0x18c6: 0x01d9, 0x18c7: 0x0fa9, 0x18c8: 0x0fb9, 0x18c9: 0x1089, 0x18ca: 0x0279, 0x18cb: 0x0369, + 0x18cc: 0x0289, 0x18cd: 0x13d1, 0x18ce: 0x0039, 0x18cf: 0x0ee9, 0x18d0: 0x1159, 0x18d1: 0x0ef9, + 0x18d2: 0x0f09, 0x18d3: 0x1199, 0x18d4: 0x0f31, 0x18d5: 0x0040, 0x18d6: 0x0f41, 0x18d7: 0x0259, + 0x18d8: 0x0f51, 0x18d9: 0x0359, 0x18da: 0x0f61, 0x18db: 0x0f71, 0x18dc: 0x00d9, 0x18dd: 0x0f99, + 0x18de: 0x2039, 0x18df: 0x0269, 0x18e0: 0x01d9, 0x18e1: 0x0fa9, 0x18e2: 0x0fb9, 0x18e3: 0x1089, + 0x18e4: 0x0279, 0x18e5: 0x0369, 0x18e6: 0x0289, 0x18e7: 0x13d1, 0x18e8: 0x0039, 0x18e9: 0x0ee9, + 0x18ea: 0x1159, 0x18eb: 0x0ef9, 0x18ec: 0x0f09, 0x18ed: 0x1199, 0x18ee: 0x0f31, 0x18ef: 0x0249, + 0x18f0: 0x0f41, 0x18f1: 0x0259, 0x18f2: 0x0f51, 0x18f3: 0x0359, 0x18f4: 0x0f61, 0x18f5: 0x0f71, + 0x18f6: 0x00d9, 0x18f7: 0x0f99, 0x18f8: 0x2039, 0x18f9: 0x0269, 0x18fa: 0x01d9, 0x18fb: 0x0fa9, + 0x18fc: 0x0fb9, 0x18fd: 0x1089, 0x18fe: 0x0279, 0x18ff: 0x0369, + // Block 0x64, offset 0x1900 + 0x1900: 0x0289, 0x1901: 0x13d1, 0x1902: 0x0039, 0x1903: 0x0ee9, 0x1904: 0x1159, 0x1905: 0x0ef9, + 0x1906: 0x0f09, 0x1907: 0x1199, 0x1908: 0x0f31, 0x1909: 0x0249, 0x190a: 0x0f41, 0x190b: 0x0259, + 0x190c: 0x0f51, 0x190d: 0x0359, 0x190e: 0x0f61, 0x190f: 0x0f71, 0x1910: 0x00d9, 0x1911: 0x0f99, + 0x1912: 0x2039, 0x1913: 0x0269, 0x1914: 0x01d9, 0x1915: 0x0fa9, 0x1916: 0x0fb9, 0x1917: 0x1089, + 0x1918: 0x0279, 0x1919: 0x0369, 0x191a: 0x0289, 0x191b: 0x13d1, 0x191c: 0x0039, 0x191d: 0x0040, + 0x191e: 0x1159, 0x191f: 0x0ef9, 0x1920: 0x0040, 0x1921: 0x0040, 0x1922: 0x0f31, 0x1923: 0x0040, + 0x1924: 0x0040, 0x1925: 0x0259, 0x1926: 0x0f51, 0x1927: 0x0040, 0x1928: 0x0040, 0x1929: 0x0f71, + 0x192a: 0x00d9, 0x192b: 0x0f99, 0x192c: 0x2039, 0x192d: 0x0040, 0x192e: 0x01d9, 0x192f: 0x0fa9, + 0x1930: 0x0fb9, 0x1931: 0x1089, 0x1932: 0x0279, 0x1933: 0x0369, 0x1934: 0x0289, 0x1935: 0x13d1, + 0x1936: 0x0039, 0x1937: 0x0ee9, 0x1938: 0x1159, 0x1939: 0x0ef9, 0x193a: 0x0040, 0x193b: 0x1199, + 0x193c: 0x0040, 0x193d: 0x0249, 0x193e: 0x0f41, 0x193f: 0x0259, + // Block 0x65, offset 0x1940 + 0x1940: 0x0f51, 0x1941: 0x0359, 0x1942: 0x0f61, 0x1943: 0x0f71, 0x1944: 0x0040, 0x1945: 0x0f99, + 0x1946: 0x2039, 0x1947: 0x0269, 0x1948: 0x01d9, 0x1949: 0x0fa9, 0x194a: 0x0fb9, 0x194b: 0x1089, + 0x194c: 0x0279, 0x194d: 0x0369, 0x194e: 0x0289, 0x194f: 0x13d1, 0x1950: 0x0039, 0x1951: 0x0ee9, + 0x1952: 0x1159, 0x1953: 0x0ef9, 0x1954: 0x0f09, 0x1955: 0x1199, 0x1956: 0x0f31, 0x1957: 0x0249, + 0x1958: 0x0f41, 0x1959: 0x0259, 0x195a: 0x0f51, 0x195b: 0x0359, 0x195c: 0x0f61, 0x195d: 0x0f71, + 0x195e: 0x00d9, 0x195f: 0x0f99, 0x1960: 0x2039, 0x1961: 0x0269, 0x1962: 0x01d9, 0x1963: 0x0fa9, + 0x1964: 0x0fb9, 0x1965: 0x1089, 0x1966: 0x0279, 0x1967: 0x0369, 0x1968: 0x0289, 0x1969: 0x13d1, + 0x196a: 0x0039, 0x196b: 0x0ee9, 0x196c: 0x1159, 0x196d: 0x0ef9, 0x196e: 0x0f09, 0x196f: 0x1199, + 0x1970: 0x0f31, 0x1971: 0x0249, 0x1972: 0x0f41, 0x1973: 0x0259, 0x1974: 0x0f51, 0x1975: 0x0359, + 0x1976: 0x0f61, 0x1977: 0x0f71, 0x1978: 0x00d9, 0x1979: 0x0f99, 0x197a: 0x2039, 0x197b: 0x0269, + 0x197c: 0x01d9, 0x197d: 0x0fa9, 0x197e: 0x0fb9, 0x197f: 0x1089, + // Block 0x66, offset 0x1980 + 0x1980: 0x0279, 0x1981: 0x0369, 0x1982: 0x0289, 0x1983: 0x13d1, 0x1984: 0x0039, 0x1985: 0x0ee9, + 0x1986: 0x0040, 0x1987: 0x0ef9, 0x1988: 0x0f09, 0x1989: 0x1199, 0x198a: 0x0f31, 0x198b: 0x0040, + 0x198c: 0x0040, 0x198d: 0x0259, 0x198e: 0x0f51, 0x198f: 0x0359, 0x1990: 0x0f61, 0x1991: 0x0f71, + 0x1992: 0x00d9, 0x1993: 0x0f99, 0x1994: 0x2039, 0x1995: 0x0040, 0x1996: 0x01d9, 0x1997: 0x0fa9, + 0x1998: 0x0fb9, 0x1999: 0x1089, 0x199a: 0x0279, 0x199b: 0x0369, 0x199c: 0x0289, 0x199d: 0x0040, + 0x199e: 0x0039, 0x199f: 0x0ee9, 0x19a0: 0x1159, 0x19a1: 0x0ef9, 0x19a2: 0x0f09, 0x19a3: 0x1199, + 0x19a4: 0x0f31, 0x19a5: 0x0249, 0x19a6: 0x0f41, 0x19a7: 0x0259, 0x19a8: 0x0f51, 0x19a9: 0x0359, + 0x19aa: 0x0f61, 0x19ab: 0x0f71, 0x19ac: 0x00d9, 0x19ad: 0x0f99, 0x19ae: 0x2039, 0x19af: 0x0269, + 0x19b0: 0x01d9, 0x19b1: 0x0fa9, 0x19b2: 0x0fb9, 0x19b3: 0x1089, 0x19b4: 0x0279, 0x19b5: 0x0369, + 0x19b6: 0x0289, 0x19b7: 0x13d1, 0x19b8: 0x0039, 0x19b9: 0x0ee9, 0x19ba: 0x0040, 0x19bb: 0x0ef9, + 0x19bc: 0x0f09, 0x19bd: 0x1199, 0x19be: 0x0f31, 0x19bf: 0x0040, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0f41, 0x19c1: 0x0259, 0x19c2: 0x0f51, 0x19c3: 0x0359, 0x19c4: 0x0f61, 0x19c5: 0x0040, + 0x19c6: 0x00d9, 0x19c7: 0x0040, 0x19c8: 0x0040, 0x19c9: 0x0040, 0x19ca: 0x01d9, 0x19cb: 0x0fa9, + 0x19cc: 0x0fb9, 0x19cd: 0x1089, 0x19ce: 0x0279, 0x19cf: 0x0369, 0x19d0: 0x0289, 0x19d1: 0x0040, + 0x19d2: 0x0039, 0x19d3: 0x0ee9, 0x19d4: 0x1159, 0x19d5: 0x0ef9, 0x19d6: 0x0f09, 0x19d7: 0x1199, + 0x19d8: 0x0f31, 0x19d9: 0x0249, 0x19da: 0x0f41, 0x19db: 0x0259, 0x19dc: 0x0f51, 0x19dd: 0x0359, + 0x19de: 0x0f61, 0x19df: 0x0f71, 0x19e0: 0x00d9, 0x19e1: 0x0f99, 0x19e2: 0x2039, 0x19e3: 0x0269, + 0x19e4: 0x01d9, 0x19e5: 0x0fa9, 0x19e6: 0x0fb9, 0x19e7: 0x1089, 0x19e8: 0x0279, 0x19e9: 0x0369, + 0x19ea: 0x0289, 0x19eb: 0x13d1, 0x19ec: 0x0039, 0x19ed: 0x0ee9, 0x19ee: 0x1159, 0x19ef: 0x0ef9, + 0x19f0: 0x0f09, 0x19f1: 0x1199, 0x19f2: 0x0f31, 0x19f3: 0x0249, 0x19f4: 0x0f41, 0x19f5: 0x0259, + 0x19f6: 0x0f51, 0x19f7: 0x0359, 0x19f8: 0x0f61, 0x19f9: 0x0f71, 0x19fa: 0x00d9, 0x19fb: 0x0f99, + 0x19fc: 0x2039, 0x19fd: 0x0269, 0x19fe: 0x01d9, 0x19ff: 0x0fa9, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x0fb9, 0x1a01: 0x1089, 0x1a02: 0x0279, 0x1a03: 0x0369, 0x1a04: 0x0289, 0x1a05: 0x13d1, + 0x1a06: 0x0039, 0x1a07: 0x0ee9, 0x1a08: 0x1159, 0x1a09: 0x0ef9, 0x1a0a: 0x0f09, 0x1a0b: 0x1199, + 0x1a0c: 0x0f31, 0x1a0d: 0x0249, 0x1a0e: 0x0f41, 0x1a0f: 0x0259, 0x1a10: 0x0f51, 0x1a11: 0x0359, + 0x1a12: 0x0f61, 0x1a13: 0x0f71, 0x1a14: 0x00d9, 0x1a15: 0x0f99, 0x1a16: 0x2039, 0x1a17: 0x0269, + 0x1a18: 0x01d9, 0x1a19: 0x0fa9, 0x1a1a: 0x0fb9, 0x1a1b: 0x1089, 0x1a1c: 0x0279, 0x1a1d: 0x0369, + 0x1a1e: 0x0289, 0x1a1f: 0x13d1, 0x1a20: 0x0039, 0x1a21: 0x0ee9, 0x1a22: 0x1159, 0x1a23: 0x0ef9, + 0x1a24: 0x0f09, 0x1a25: 0x1199, 0x1a26: 0x0f31, 0x1a27: 0x0249, 0x1a28: 0x0f41, 0x1a29: 0x0259, + 0x1a2a: 0x0f51, 0x1a2b: 0x0359, 0x1a2c: 0x0f61, 0x1a2d: 0x0f71, 0x1a2e: 0x00d9, 0x1a2f: 0x0f99, + 0x1a30: 0x2039, 0x1a31: 0x0269, 0x1a32: 0x01d9, 0x1a33: 0x0fa9, 0x1a34: 0x0fb9, 0x1a35: 0x1089, + 0x1a36: 0x0279, 0x1a37: 0x0369, 0x1a38: 0x0289, 0x1a39: 0x13d1, 0x1a3a: 0x0039, 0x1a3b: 0x0ee9, + 0x1a3c: 0x1159, 0x1a3d: 0x0ef9, 0x1a3e: 0x0f09, 0x1a3f: 0x1199, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x0f31, 0x1a41: 0x0249, 0x1a42: 0x0f41, 0x1a43: 0x0259, 0x1a44: 0x0f51, 0x1a45: 0x0359, + 0x1a46: 0x0f61, 0x1a47: 0x0f71, 0x1a48: 0x00d9, 0x1a49: 0x0f99, 0x1a4a: 0x2039, 0x1a4b: 0x0269, + 0x1a4c: 0x01d9, 0x1a4d: 0x0fa9, 0x1a4e: 0x0fb9, 0x1a4f: 0x1089, 0x1a50: 0x0279, 0x1a51: 0x0369, + 0x1a52: 0x0289, 0x1a53: 0x13d1, 0x1a54: 0x0039, 0x1a55: 0x0ee9, 0x1a56: 0x1159, 0x1a57: 0x0ef9, + 0x1a58: 0x0f09, 0x1a59: 0x1199, 0x1a5a: 0x0f31, 0x1a5b: 0x0249, 0x1a5c: 0x0f41, 0x1a5d: 0x0259, + 0x1a5e: 0x0f51, 0x1a5f: 0x0359, 0x1a60: 0x0f61, 0x1a61: 0x0f71, 0x1a62: 0x00d9, 0x1a63: 0x0f99, + 0x1a64: 0x2039, 0x1a65: 0x0269, 0x1a66: 0x01d9, 0x1a67: 0x0fa9, 0x1a68: 0x0fb9, 0x1a69: 0x1089, + 0x1a6a: 0x0279, 0x1a6b: 0x0369, 0x1a6c: 0x0289, 0x1a6d: 0x13d1, 0x1a6e: 0x0039, 0x1a6f: 0x0ee9, + 0x1a70: 0x1159, 0x1a71: 0x0ef9, 0x1a72: 0x0f09, 0x1a73: 0x1199, 0x1a74: 0x0f31, 0x1a75: 0x0249, + 0x1a76: 0x0f41, 0x1a77: 0x0259, 0x1a78: 0x0f51, 0x1a79: 0x0359, 0x1a7a: 0x0f61, 0x1a7b: 0x0f71, + 0x1a7c: 0x00d9, 0x1a7d: 0x0f99, 0x1a7e: 0x2039, 0x1a7f: 0x0269, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x01d9, 0x1a81: 0x0fa9, 0x1a82: 0x0fb9, 0x1a83: 0x1089, 0x1a84: 0x0279, 0x1a85: 0x0369, + 0x1a86: 0x0289, 0x1a87: 0x13d1, 0x1a88: 0x0039, 0x1a89: 0x0ee9, 0x1a8a: 0x1159, 0x1a8b: 0x0ef9, + 0x1a8c: 0x0f09, 0x1a8d: 0x1199, 0x1a8e: 0x0f31, 0x1a8f: 0x0249, 0x1a90: 0x0f41, 0x1a91: 0x0259, + 0x1a92: 0x0f51, 0x1a93: 0x0359, 0x1a94: 0x0f61, 0x1a95: 0x0f71, 0x1a96: 0x00d9, 0x1a97: 0x0f99, + 0x1a98: 0x2039, 0x1a99: 0x0269, 0x1a9a: 0x01d9, 0x1a9b: 0x0fa9, 0x1a9c: 0x0fb9, 0x1a9d: 0x1089, + 0x1a9e: 0x0279, 0x1a9f: 0x0369, 0x1aa0: 0x0289, 0x1aa1: 0x13d1, 0x1aa2: 0x0039, 0x1aa3: 0x0ee9, + 0x1aa4: 0x1159, 0x1aa5: 0x0ef9, 0x1aa6: 0x0f09, 0x1aa7: 0x1199, 0x1aa8: 0x0f31, 0x1aa9: 0x0249, + 0x1aaa: 0x0f41, 0x1aab: 0x0259, 0x1aac: 0x0f51, 0x1aad: 0x0359, 0x1aae: 0x0f61, 0x1aaf: 0x0f71, + 0x1ab0: 0x00d9, 0x1ab1: 0x0f99, 0x1ab2: 0x2039, 0x1ab3: 0x0269, 0x1ab4: 0x01d9, 0x1ab5: 0x0fa9, + 0x1ab6: 0x0fb9, 0x1ab7: 0x1089, 0x1ab8: 0x0279, 0x1ab9: 0x0369, 0x1aba: 0x0289, 0x1abb: 0x13d1, + 0x1abc: 0x0039, 0x1abd: 0x0ee9, 0x1abe: 0x1159, 0x1abf: 0x0ef9, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x0f09, 0x1ac1: 0x1199, 0x1ac2: 0x0f31, 0x1ac3: 0x0249, 0x1ac4: 0x0f41, 0x1ac5: 0x0259, + 0x1ac6: 0x0f51, 0x1ac7: 0x0359, 0x1ac8: 0x0f61, 0x1ac9: 0x0f71, 0x1aca: 0x00d9, 0x1acb: 0x0f99, + 0x1acc: 0x2039, 0x1acd: 0x0269, 0x1ace: 0x01d9, 0x1acf: 0x0fa9, 0x1ad0: 0x0fb9, 0x1ad1: 0x1089, + 0x1ad2: 0x0279, 0x1ad3: 0x0369, 0x1ad4: 0x0289, 0x1ad5: 0x13d1, 0x1ad6: 0x0039, 0x1ad7: 0x0ee9, + 0x1ad8: 0x1159, 0x1ad9: 0x0ef9, 0x1ada: 0x0f09, 0x1adb: 0x1199, 0x1adc: 0x0f31, 0x1add: 0x0249, + 0x1ade: 0x0f41, 0x1adf: 0x0259, 0x1ae0: 0x0f51, 0x1ae1: 0x0359, 0x1ae2: 0x0f61, 0x1ae3: 0x0f71, + 0x1ae4: 0x00d9, 0x1ae5: 0x0f99, 0x1ae6: 0x2039, 0x1ae7: 0x0269, 0x1ae8: 0x01d9, 0x1ae9: 0x0fa9, + 0x1aea: 0x0fb9, 0x1aeb: 0x1089, 0x1aec: 0x0279, 0x1aed: 0x0369, 0x1aee: 0x0289, 0x1aef: 0x13d1, + 0x1af0: 0x0039, 0x1af1: 0x0ee9, 0x1af2: 0x1159, 0x1af3: 0x0ef9, 0x1af4: 0x0f09, 0x1af5: 0x1199, + 0x1af6: 0x0f31, 0x1af7: 0x0249, 0x1af8: 0x0f41, 0x1af9: 0x0259, 0x1afa: 0x0f51, 0x1afb: 0x0359, + 0x1afc: 0x0f61, 0x1afd: 0x0f71, 0x1afe: 0x00d9, 0x1aff: 0x0f99, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x2039, 0x1b01: 0x0269, 0x1b02: 0x01d9, 0x1b03: 0x0fa9, 0x1b04: 0x0fb9, 0x1b05: 0x1089, + 0x1b06: 0x0279, 0x1b07: 0x0369, 0x1b08: 0x0289, 0x1b09: 0x13d1, 0x1b0a: 0x0039, 0x1b0b: 0x0ee9, + 0x1b0c: 0x1159, 0x1b0d: 0x0ef9, 0x1b0e: 0x0f09, 0x1b0f: 0x1199, 0x1b10: 0x0f31, 0x1b11: 0x0249, + 0x1b12: 0x0f41, 0x1b13: 0x0259, 0x1b14: 0x0f51, 0x1b15: 0x0359, 0x1b16: 0x0f61, 0x1b17: 0x0f71, + 0x1b18: 0x00d9, 0x1b19: 0x0f99, 0x1b1a: 0x2039, 0x1b1b: 0x0269, 0x1b1c: 0x01d9, 0x1b1d: 0x0fa9, + 0x1b1e: 0x0fb9, 0x1b1f: 0x1089, 0x1b20: 0x0279, 0x1b21: 0x0369, 0x1b22: 0x0289, 0x1b23: 0x13d1, + 0x1b24: 0xbad1, 0x1b25: 0xbae9, 0x1b26: 0x0040, 0x1b27: 0x0040, 0x1b28: 0xbb01, 0x1b29: 0x1099, + 0x1b2a: 0x10b1, 0x1b2b: 0x10c9, 0x1b2c: 0xbb19, 0x1b2d: 0xbb31, 0x1b2e: 0xbb49, 0x1b2f: 0x1429, + 0x1b30: 0x1a31, 0x1b31: 0xbb61, 0x1b32: 0xbb79, 0x1b33: 0xbb91, 0x1b34: 0xbba9, 0x1b35: 0xbbc1, + 0x1b36: 0xbbd9, 0x1b37: 0x2109, 0x1b38: 0x1111, 0x1b39: 0x1429, 0x1b3a: 0xbbf1, 0x1b3b: 0xbc09, + 0x1b3c: 0xbc21, 0x1b3d: 0x10e1, 0x1b3e: 0x10f9, 0x1b3f: 0xbc39, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x2079, 0x1b41: 0xbc51, 0x1b42: 0xbb01, 0x1b43: 0x1099, 0x1b44: 0x10b1, 0x1b45: 0x10c9, + 0x1b46: 0xbb19, 0x1b47: 0xbb31, 0x1b48: 0xbb49, 0x1b49: 0x1429, 0x1b4a: 0x1a31, 0x1b4b: 0xbb61, + 0x1b4c: 0xbb79, 0x1b4d: 0xbb91, 0x1b4e: 0xbba9, 0x1b4f: 0xbbc1, 0x1b50: 0xbbd9, 0x1b51: 0x2109, + 0x1b52: 0x1111, 0x1b53: 0xbbf1, 0x1b54: 0xbbf1, 0x1b55: 0xbc09, 0x1b56: 0xbc21, 0x1b57: 0x10e1, + 0x1b58: 0x10f9, 0x1b59: 0xbc39, 0x1b5a: 0x2079, 0x1b5b: 0xbc71, 0x1b5c: 0xbb19, 0x1b5d: 0x1429, + 0x1b5e: 0xbb61, 0x1b5f: 0x10e1, 0x1b60: 0x1111, 0x1b61: 0x2109, 0x1b62: 0xbb01, 0x1b63: 0x1099, + 0x1b64: 0x10b1, 0x1b65: 0x10c9, 0x1b66: 0xbb19, 0x1b67: 0xbb31, 0x1b68: 0xbb49, 0x1b69: 0x1429, + 0x1b6a: 0x1a31, 0x1b6b: 0xbb61, 0x1b6c: 0xbb79, 0x1b6d: 0xbb91, 0x1b6e: 0xbba9, 0x1b6f: 0xbbc1, + 0x1b70: 0xbbd9, 0x1b71: 0x2109, 0x1b72: 0x1111, 0x1b73: 0x1429, 0x1b74: 0xbbf1, 0x1b75: 0xbc09, + 0x1b76: 0xbc21, 0x1b77: 0x10e1, 0x1b78: 0x10f9, 0x1b79: 0xbc39, 0x1b7a: 0x2079, 0x1b7b: 0xbc51, + 0x1b7c: 0xbb01, 0x1b7d: 0x1099, 0x1b7e: 0x10b1, 0x1b7f: 0x10c9, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0xbb19, 0x1b81: 0xbb31, 0x1b82: 0xbb49, 0x1b83: 0x1429, 0x1b84: 0x1a31, 0x1b85: 0xbb61, + 0x1b86: 0xbb79, 0x1b87: 0xbb91, 0x1b88: 0xbba9, 0x1b89: 0xbbc1, 0x1b8a: 0xbbd9, 0x1b8b: 0x2109, + 0x1b8c: 0x1111, 0x1b8d: 0xbbf1, 0x1b8e: 0xbbf1, 0x1b8f: 0xbc09, 0x1b90: 0xbc21, 0x1b91: 0x10e1, + 0x1b92: 0x10f9, 0x1b93: 0xbc39, 0x1b94: 0x2079, 0x1b95: 0xbc71, 0x1b96: 0xbb19, 0x1b97: 0x1429, + 0x1b98: 0xbb61, 0x1b99: 0x10e1, 0x1b9a: 0x1111, 0x1b9b: 0x2109, 0x1b9c: 0xbb01, 0x1b9d: 0x1099, + 0x1b9e: 0x10b1, 0x1b9f: 0x10c9, 0x1ba0: 0xbb19, 0x1ba1: 0xbb31, 0x1ba2: 0xbb49, 0x1ba3: 0x1429, + 0x1ba4: 0x1a31, 0x1ba5: 0xbb61, 0x1ba6: 0xbb79, 0x1ba7: 0xbb91, 0x1ba8: 0xbba9, 0x1ba9: 0xbbc1, + 0x1baa: 0xbbd9, 0x1bab: 0x2109, 0x1bac: 0x1111, 0x1bad: 0x1429, 0x1bae: 0xbbf1, 0x1baf: 0xbc09, + 0x1bb0: 0xbc21, 0x1bb1: 0x10e1, 0x1bb2: 0x10f9, 0x1bb3: 0xbc39, 0x1bb4: 0x2079, 0x1bb5: 0xbc51, + 0x1bb6: 0xbb01, 0x1bb7: 0x1099, 0x1bb8: 0x10b1, 0x1bb9: 0x10c9, 0x1bba: 0xbb19, 0x1bbb: 0xbb31, + 0x1bbc: 0xbb49, 0x1bbd: 0x1429, 0x1bbe: 0x1a31, 0x1bbf: 0xbb61, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0xbb79, 0x1bc1: 0xbb91, 0x1bc2: 0xbba9, 0x1bc3: 0xbbc1, 0x1bc4: 0xbbd9, 0x1bc5: 0x2109, + 0x1bc6: 0x1111, 0x1bc7: 0xbbf1, 0x1bc8: 0xbbf1, 0x1bc9: 0xbc09, 0x1bca: 0xbc21, 0x1bcb: 0x10e1, + 0x1bcc: 0x10f9, 0x1bcd: 0xbc39, 0x1bce: 0x2079, 0x1bcf: 0xbc71, 0x1bd0: 0xbb19, 0x1bd1: 0x1429, + 0x1bd2: 0xbb61, 0x1bd3: 0x10e1, 0x1bd4: 0x1111, 0x1bd5: 0x2109, 0x1bd6: 0xbb01, 0x1bd7: 0x1099, + 0x1bd8: 0x10b1, 0x1bd9: 0x10c9, 0x1bda: 0xbb19, 0x1bdb: 0xbb31, 0x1bdc: 0xbb49, 0x1bdd: 0x1429, + 0x1bde: 0x1a31, 0x1bdf: 0xbb61, 0x1be0: 0xbb79, 0x1be1: 0xbb91, 0x1be2: 0xbba9, 0x1be3: 0xbbc1, + 0x1be4: 0xbbd9, 0x1be5: 0x2109, 0x1be6: 0x1111, 0x1be7: 0x1429, 0x1be8: 0xbbf1, 0x1be9: 0xbc09, + 0x1bea: 0xbc21, 0x1beb: 0x10e1, 0x1bec: 0x10f9, 0x1bed: 0xbc39, 0x1bee: 0x2079, 0x1bef: 0xbc51, + 0x1bf0: 0xbb01, 0x1bf1: 0x1099, 0x1bf2: 0x10b1, 0x1bf3: 0x10c9, 0x1bf4: 0xbb19, 0x1bf5: 0xbb31, + 0x1bf6: 0xbb49, 0x1bf7: 0x1429, 0x1bf8: 0x1a31, 0x1bf9: 0xbb61, 0x1bfa: 0xbb79, 0x1bfb: 0xbb91, + 0x1bfc: 0xbba9, 0x1bfd: 0xbbc1, 0x1bfe: 0xbbd9, 0x1bff: 0x2109, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x1111, 0x1c01: 0xbbf1, 0x1c02: 0xbbf1, 0x1c03: 0xbc09, 0x1c04: 0xbc21, 0x1c05: 0x10e1, + 0x1c06: 0x10f9, 0x1c07: 0xbc39, 0x1c08: 0x2079, 0x1c09: 0xbc71, 0x1c0a: 0xbb19, 0x1c0b: 0x1429, + 0x1c0c: 0xbb61, 0x1c0d: 0x10e1, 0x1c0e: 0x1111, 0x1c0f: 0x2109, 0x1c10: 0xbb01, 0x1c11: 0x1099, + 0x1c12: 0x10b1, 0x1c13: 0x10c9, 0x1c14: 0xbb19, 0x1c15: 0xbb31, 0x1c16: 0xbb49, 0x1c17: 0x1429, + 0x1c18: 0x1a31, 0x1c19: 0xbb61, 0x1c1a: 0xbb79, 0x1c1b: 0xbb91, 0x1c1c: 0xbba9, 0x1c1d: 0xbbc1, + 0x1c1e: 0xbbd9, 0x1c1f: 0x2109, 0x1c20: 0x1111, 0x1c21: 0x1429, 0x1c22: 0xbbf1, 0x1c23: 0xbc09, + 0x1c24: 0xbc21, 0x1c25: 0x10e1, 0x1c26: 0x10f9, 0x1c27: 0xbc39, 0x1c28: 0x2079, 0x1c29: 0xbc51, + 0x1c2a: 0xbb01, 0x1c2b: 0x1099, 0x1c2c: 0x10b1, 0x1c2d: 0x10c9, 0x1c2e: 0xbb19, 0x1c2f: 0xbb31, + 0x1c30: 0xbb49, 0x1c31: 0x1429, 0x1c32: 0x1a31, 0x1c33: 0xbb61, 0x1c34: 0xbb79, 0x1c35: 0xbb91, + 0x1c36: 0xbba9, 0x1c37: 0xbbc1, 0x1c38: 0xbbd9, 0x1c39: 0x2109, 0x1c3a: 0x1111, 0x1c3b: 0xbbf1, + 0x1c3c: 0xbbf1, 0x1c3d: 0xbc09, 0x1c3e: 0xbc21, 0x1c3f: 0x10e1, + // Block 0x71, offset 0x1c40 + 0x1c40: 0x10f9, 0x1c41: 0xbc39, 0x1c42: 0x2079, 0x1c43: 0xbc71, 0x1c44: 0xbb19, 0x1c45: 0x1429, + 0x1c46: 0xbb61, 0x1c47: 0x10e1, 0x1c48: 0x1111, 0x1c49: 0x2109, 0x1c4a: 0xbc91, 0x1c4b: 0xbc91, + 0x1c4c: 0x0040, 0x1c4d: 0x0040, 0x1c4e: 0x1f41, 0x1c4f: 0x00c9, 0x1c50: 0x0069, 0x1c51: 0x0079, + 0x1c52: 0x1f51, 0x1c53: 0x1f61, 0x1c54: 0x1f71, 0x1c55: 0x1f81, 0x1c56: 0x1f91, 0x1c57: 0x1fa1, + 0x1c58: 0x1f41, 0x1c59: 0x00c9, 0x1c5a: 0x0069, 0x1c5b: 0x0079, 0x1c5c: 0x1f51, 0x1c5d: 0x1f61, + 0x1c5e: 0x1f71, 0x1c5f: 0x1f81, 0x1c60: 0x1f91, 0x1c61: 0x1fa1, 0x1c62: 0x1f41, 0x1c63: 0x00c9, + 0x1c64: 0x0069, 0x1c65: 0x0079, 0x1c66: 0x1f51, 0x1c67: 0x1f61, 0x1c68: 0x1f71, 0x1c69: 0x1f81, + 0x1c6a: 0x1f91, 0x1c6b: 0x1fa1, 0x1c6c: 0x1f41, 0x1c6d: 0x00c9, 0x1c6e: 0x0069, 0x1c6f: 0x0079, + 0x1c70: 0x1f51, 0x1c71: 0x1f61, 0x1c72: 0x1f71, 0x1c73: 0x1f81, 0x1c74: 0x1f91, 0x1c75: 0x1fa1, + 0x1c76: 0x1f41, 0x1c77: 0x00c9, 0x1c78: 0x0069, 0x1c79: 0x0079, 0x1c7a: 0x1f51, 0x1c7b: 0x1f61, + 0x1c7c: 0x1f71, 0x1c7d: 0x1f81, 0x1c7e: 0x1f91, 0x1c7f: 0x1fa1, + // Block 0x72, offset 0x1c80 + 0x1c80: 0xe115, 0x1c81: 0xe115, 0x1c82: 0xe135, 0x1c83: 0xe135, 0x1c84: 0xe115, 0x1c85: 0xe115, + 0x1c86: 0xe175, 0x1c87: 0xe175, 0x1c88: 0xe115, 0x1c89: 0xe115, 0x1c8a: 0xe135, 0x1c8b: 0xe135, + 0x1c8c: 0xe115, 0x1c8d: 0xe115, 0x1c8e: 0xe1f5, 0x1c8f: 0xe1f5, 0x1c90: 0xe115, 0x1c91: 0xe115, + 0x1c92: 0xe135, 0x1c93: 0xe135, 0x1c94: 0xe115, 0x1c95: 0xe115, 0x1c96: 0xe175, 0x1c97: 0xe175, + 0x1c98: 0xe115, 0x1c99: 0xe115, 0x1c9a: 0xe135, 0x1c9b: 0xe135, 0x1c9c: 0xe115, 0x1c9d: 0xe115, + 0x1c9e: 0x8b3d, 0x1c9f: 0x8b3d, 0x1ca0: 0x04b5, 0x1ca1: 0x04b5, 0x1ca2: 0x0a08, 0x1ca3: 0x0a08, + 0x1ca4: 0x0a08, 0x1ca5: 0x0a08, 0x1ca6: 0x0a08, 0x1ca7: 0x0a08, 0x1ca8: 0x0a08, 0x1ca9: 0x0a08, + 0x1caa: 0x0a08, 0x1cab: 0x0a08, 0x1cac: 0x0a08, 0x1cad: 0x0a08, 0x1cae: 0x0a08, 0x1caf: 0x0a08, + 0x1cb0: 0x0a08, 0x1cb1: 0x0a08, 0x1cb2: 0x0a08, 0x1cb3: 0x0a08, 0x1cb4: 0x0a08, 0x1cb5: 0x0a08, + 0x1cb6: 0x0a08, 0x1cb7: 0x0a08, 0x1cb8: 0x0a08, 0x1cb9: 0x0a08, 0x1cba: 0x0a08, 0x1cbb: 0x0a08, + 0x1cbc: 0x0a08, 0x1cbd: 0x0a08, 0x1cbe: 0x0a08, 0x1cbf: 0x0a08, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0xb1d9, 0x1cc1: 0xb1f1, 0x1cc2: 0xb251, 0x1cc3: 0xb299, 0x1cc4: 0x0040, 0x1cc5: 0xb461, + 0x1cc6: 0xb2e1, 0x1cc7: 0xb269, 0x1cc8: 0xb359, 0x1cc9: 0xb479, 0x1cca: 0xb3e9, 0x1ccb: 0xb401, + 0x1ccc: 0xb419, 0x1ccd: 0xb431, 0x1cce: 0xb2f9, 0x1ccf: 0xb389, 0x1cd0: 0xb3b9, 0x1cd1: 0xb329, + 0x1cd2: 0xb3d1, 0x1cd3: 0xb2c9, 0x1cd4: 0xb311, 0x1cd5: 0xb221, 0x1cd6: 0xb239, 0x1cd7: 0xb281, + 0x1cd8: 0xb2b1, 0x1cd9: 0xb341, 0x1cda: 0xb371, 0x1cdb: 0xb3a1, 0x1cdc: 0xbca9, 0x1cdd: 0x7999, + 0x1cde: 0xbcc1, 0x1cdf: 0xbcd9, 0x1ce0: 0x0040, 0x1ce1: 0xb1f1, 0x1ce2: 0xb251, 0x1ce3: 0x0040, + 0x1ce4: 0xb449, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb269, 0x1ce8: 0x0040, 0x1ce9: 0xb479, + 0x1cea: 0xb3e9, 0x1ceb: 0xb401, 0x1cec: 0xb419, 0x1ced: 0xb431, 0x1cee: 0xb2f9, 0x1cef: 0xb389, + 0x1cf0: 0xb3b9, 0x1cf1: 0xb329, 0x1cf2: 0xb3d1, 0x1cf3: 0x0040, 0x1cf4: 0xb311, 0x1cf5: 0xb221, + 0x1cf6: 0xb239, 0x1cf7: 0xb281, 0x1cf8: 0x0040, 0x1cf9: 0xb341, 0x1cfa: 0x0040, 0x1cfb: 0xb3a1, + 0x1cfc: 0x0040, 0x1cfd: 0x0040, 0x1cfe: 0x0040, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0x0040, 0x1d01: 0x0040, 0x1d02: 0xb251, 0x1d03: 0x0040, 0x1d04: 0x0040, 0x1d05: 0x0040, + 0x1d06: 0x0040, 0x1d07: 0xb269, 0x1d08: 0x0040, 0x1d09: 0xb479, 0x1d0a: 0x0040, 0x1d0b: 0xb401, + 0x1d0c: 0x0040, 0x1d0d: 0xb431, 0x1d0e: 0xb2f9, 0x1d0f: 0xb389, 0x1d10: 0x0040, 0x1d11: 0xb329, + 0x1d12: 0xb3d1, 0x1d13: 0x0040, 0x1d14: 0xb311, 0x1d15: 0x0040, 0x1d16: 0x0040, 0x1d17: 0xb281, + 0x1d18: 0x0040, 0x1d19: 0xb341, 0x1d1a: 0x0040, 0x1d1b: 0xb3a1, 0x1d1c: 0x0040, 0x1d1d: 0x7999, + 0x1d1e: 0x0040, 0x1d1f: 0xbcd9, 0x1d20: 0x0040, 0x1d21: 0xb1f1, 0x1d22: 0xb251, 0x1d23: 0x0040, + 0x1d24: 0xb449, 0x1d25: 0x0040, 0x1d26: 0x0040, 0x1d27: 0xb269, 0x1d28: 0xb359, 0x1d29: 0xb479, + 0x1d2a: 0xb3e9, 0x1d2b: 0x0040, 0x1d2c: 0xb419, 0x1d2d: 0xb431, 0x1d2e: 0xb2f9, 0x1d2f: 0xb389, + 0x1d30: 0xb3b9, 0x1d31: 0xb329, 0x1d32: 0xb3d1, 0x1d33: 0x0040, 0x1d34: 0xb311, 0x1d35: 0xb221, + 0x1d36: 0xb239, 0x1d37: 0xb281, 0x1d38: 0x0040, 0x1d39: 0xb341, 0x1d3a: 0xb371, 0x1d3b: 0xb3a1, + 0x1d3c: 0xbca9, 0x1d3d: 0x0040, 0x1d3e: 0xbcc1, 0x1d3f: 0x0040, + // Block 0x75, offset 0x1d40 + 0x1d40: 0xb1d9, 0x1d41: 0xb1f1, 0x1d42: 0xb251, 0x1d43: 0xb299, 0x1d44: 0xb449, 0x1d45: 0xb461, + 0x1d46: 0xb2e1, 0x1d47: 0xb269, 0x1d48: 0xb359, 0x1d49: 0xb479, 0x1d4a: 0x0040, 0x1d4b: 0xb401, + 0x1d4c: 0xb419, 0x1d4d: 0xb431, 0x1d4e: 0xb2f9, 0x1d4f: 0xb389, 0x1d50: 0xb3b9, 0x1d51: 0xb329, + 0x1d52: 0xb3d1, 0x1d53: 0xb2c9, 0x1d54: 0xb311, 0x1d55: 0xb221, 0x1d56: 0xb239, 0x1d57: 0xb281, + 0x1d58: 0xb2b1, 0x1d59: 0xb341, 0x1d5a: 0xb371, 0x1d5b: 0xb3a1, 0x1d5c: 0x0040, 0x1d5d: 0x0040, + 0x1d5e: 0x0040, 0x1d5f: 0x0040, 0x1d60: 0x0040, 0x1d61: 0xb1f1, 0x1d62: 0xb251, 0x1d63: 0xb299, + 0x1d64: 0x0040, 0x1d65: 0xb461, 0x1d66: 0xb2e1, 0x1d67: 0xb269, 0x1d68: 0xb359, 0x1d69: 0xb479, + 0x1d6a: 0x0040, 0x1d6b: 0xb401, 0x1d6c: 0xb419, 0x1d6d: 0xb431, 0x1d6e: 0xb2f9, 0x1d6f: 0xb389, + 0x1d70: 0xb3b9, 0x1d71: 0xb329, 0x1d72: 0xb3d1, 0x1d73: 0xb2c9, 0x1d74: 0xb311, 0x1d75: 0xb221, + 0x1d76: 0xb239, 0x1d77: 0xb281, 0x1d78: 0xb2b1, 0x1d79: 0xb341, 0x1d7a: 0xb371, 0x1d7b: 0xb3a1, + 0x1d7c: 0x0040, 0x1d7d: 0x0040, 0x1d7e: 0x0040, 0x1d7f: 0x0040, + // Block 0x76, offset 0x1d80 + 0x1d80: 0x0040, 0x1d81: 0xbcf2, 0x1d82: 0xbd0a, 0x1d83: 0xbd22, 0x1d84: 0xbd3a, 0x1d85: 0xbd52, + 0x1d86: 0xbd6a, 0x1d87: 0xbd82, 0x1d88: 0xbd9a, 0x1d89: 0xbdb2, 0x1d8a: 0xbdca, 0x1d8b: 0x0018, + 0x1d8c: 0x0018, 0x1d8d: 0x0018, 0x1d8e: 0x0018, 0x1d8f: 0x0018, 0x1d90: 0xbde2, 0x1d91: 0xbe02, + 0x1d92: 0xbe22, 0x1d93: 0xbe42, 0x1d94: 0xbe62, 0x1d95: 0xbe82, 0x1d96: 0xbea2, 0x1d97: 0xbec2, + 0x1d98: 0xbee2, 0x1d99: 0xbf02, 0x1d9a: 0xbf22, 0x1d9b: 0xbf42, 0x1d9c: 0xbf62, 0x1d9d: 0xbf82, + 0x1d9e: 0xbfa2, 0x1d9f: 0xbfc2, 0x1da0: 0xbfe2, 0x1da1: 0xc002, 0x1da2: 0xc022, 0x1da3: 0xc042, + 0x1da4: 0xc062, 0x1da5: 0xc082, 0x1da6: 0xc0a2, 0x1da7: 0xc0c2, 0x1da8: 0xc0e2, 0x1da9: 0xc102, + 0x1daa: 0xc121, 0x1dab: 0x1159, 0x1dac: 0x0269, 0x1dad: 0x66a9, 0x1dae: 0xc161, 0x1daf: 0x0018, + 0x1db0: 0x0039, 0x1db1: 0x0ee9, 0x1db2: 0x1159, 0x1db3: 0x0ef9, 0x1db4: 0x0f09, 0x1db5: 0x1199, + 0x1db6: 0x0f31, 0x1db7: 0x0249, 0x1db8: 0x0f41, 0x1db9: 0x0259, 0x1dba: 0x0f51, 0x1dbb: 0x0359, + 0x1dbc: 0x0f61, 0x1dbd: 0x0f71, 0x1dbe: 0x00d9, 0x1dbf: 0x0f99, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0x2039, 0x1dc1: 0x0269, 0x1dc2: 0x01d9, 0x1dc3: 0x0fa9, 0x1dc4: 0x0fb9, 0x1dc5: 0x1089, + 0x1dc6: 0x0279, 0x1dc7: 0x0369, 0x1dc8: 0x0289, 0x1dc9: 0x13d1, 0x1dca: 0xc179, 0x1dcb: 0x65e9, + 0x1dcc: 0xc191, 0x1dcd: 0x1441, 0x1dce: 0xc1a9, 0x1dcf: 0xc1c9, 0x1dd0: 0x0018, 0x1dd1: 0x0018, + 0x1dd2: 0x0018, 0x1dd3: 0x0018, 0x1dd4: 0x0018, 0x1dd5: 0x0018, 0x1dd6: 0x0018, 0x1dd7: 0x0018, + 0x1dd8: 0x0018, 0x1dd9: 0x0018, 0x1dda: 0x0018, 0x1ddb: 0x0018, 0x1ddc: 0x0018, 0x1ddd: 0x0018, + 0x1dde: 0x0018, 0x1ddf: 0x0018, 0x1de0: 0x0018, 0x1de1: 0x0018, 0x1de2: 0x0018, 0x1de3: 0x0018, + 0x1de4: 0x0018, 0x1de5: 0x0018, 0x1de6: 0x0018, 0x1de7: 0x0018, 0x1de8: 0x0018, 0x1de9: 0x0018, + 0x1dea: 0xc1e1, 0x1deb: 0xc1f9, 0x1dec: 0xc211, 0x1ded: 0x0018, 0x1dee: 0x0018, 0x1def: 0x0018, + 0x1df0: 0x0018, 0x1df1: 0x0018, 0x1df2: 0x0018, 0x1df3: 0x0018, 0x1df4: 0x0018, 0x1df5: 0x0018, + 0x1df6: 0x0018, 0x1df7: 0x0018, 0x1df8: 0x0018, 0x1df9: 0x0018, 0x1dfa: 0x0018, 0x1dfb: 0x0018, + 0x1dfc: 0x0018, 0x1dfd: 0x0018, 0x1dfe: 0x0018, 0x1dff: 0x0018, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xc241, 0x1e01: 0xc279, 0x1e02: 0xc2b1, 0x1e03: 0x0040, 0x1e04: 0x0040, 0x1e05: 0x0040, + 0x1e06: 0x0040, 0x1e07: 0x0040, 0x1e08: 0x0040, 0x1e09: 0x0040, 0x1e0a: 0x0040, 0x1e0b: 0x0040, + 0x1e0c: 0x0040, 0x1e0d: 0x0040, 0x1e0e: 0x0040, 0x1e0f: 0x0040, 0x1e10: 0xc2d1, 0x1e11: 0xc2f1, + 0x1e12: 0xc311, 0x1e13: 0xc331, 0x1e14: 0xc351, 0x1e15: 0xc371, 0x1e16: 0xc391, 0x1e17: 0xc3b1, + 0x1e18: 0xc3d1, 0x1e19: 0xc3f1, 0x1e1a: 0xc411, 0x1e1b: 0xc431, 0x1e1c: 0xc451, 0x1e1d: 0xc471, + 0x1e1e: 0xc491, 0x1e1f: 0xc4b1, 0x1e20: 0xc4d1, 0x1e21: 0xc4f1, 0x1e22: 0xc511, 0x1e23: 0xc531, + 0x1e24: 0xc551, 0x1e25: 0xc571, 0x1e26: 0xc591, 0x1e27: 0xc5b1, 0x1e28: 0xc5d1, 0x1e29: 0xc5f1, + 0x1e2a: 0xc611, 0x1e2b: 0xc631, 0x1e2c: 0xc651, 0x1e2d: 0xc671, 0x1e2e: 0xc691, 0x1e2f: 0xc6b1, + 0x1e30: 0xc6d1, 0x1e31: 0xc6f1, 0x1e32: 0xc711, 0x1e33: 0xc731, 0x1e34: 0xc751, 0x1e35: 0xc771, + 0x1e36: 0xc791, 0x1e37: 0xc7b1, 0x1e38: 0xc7d1, 0x1e39: 0xc7f1, 0x1e3a: 0xc811, 0x1e3b: 0xc831, + 0x1e3c: 0x0040, 0x1e3d: 0x0040, 0x1e3e: 0x0040, 0x1e3f: 0x0040, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xcb61, 0x1e41: 0xcb81, 0x1e42: 0xcba1, 0x1e43: 0x8b55, 0x1e44: 0xcbc1, 0x1e45: 0xcbe1, + 0x1e46: 0xcc01, 0x1e47: 0xcc21, 0x1e48: 0xcc41, 0x1e49: 0xcc61, 0x1e4a: 0xcc81, 0x1e4b: 0xcca1, + 0x1e4c: 0xccc1, 0x1e4d: 0x8b75, 0x1e4e: 0xcce1, 0x1e4f: 0xcd01, 0x1e50: 0xcd21, 0x1e51: 0xcd41, + 0x1e52: 0x8b95, 0x1e53: 0xcd61, 0x1e54: 0xcd81, 0x1e55: 0xc491, 0x1e56: 0x8bb5, 0x1e57: 0xcda1, + 0x1e58: 0xcdc1, 0x1e59: 0xcde1, 0x1e5a: 0xce01, 0x1e5b: 0xce21, 0x1e5c: 0x8bd5, 0x1e5d: 0xce41, + 0x1e5e: 0xce61, 0x1e5f: 0xce81, 0x1e60: 0xcea1, 0x1e61: 0xcec1, 0x1e62: 0xc7f1, 0x1e63: 0xcee1, + 0x1e64: 0xcf01, 0x1e65: 0xcf21, 0x1e66: 0xcf41, 0x1e67: 0xcf61, 0x1e68: 0xcf81, 0x1e69: 0xcfa1, + 0x1e6a: 0xcfc1, 0x1e6b: 0xcfe1, 0x1e6c: 0xd001, 0x1e6d: 0xd021, 0x1e6e: 0xd041, 0x1e6f: 0xd061, + 0x1e70: 0xd081, 0x1e71: 0xd0a1, 0x1e72: 0xd0a1, 0x1e73: 0xd0a1, 0x1e74: 0x8bf5, 0x1e75: 0xd0c1, + 0x1e76: 0xd0e1, 0x1e77: 0xd101, 0x1e78: 0x8c15, 0x1e79: 0xd121, 0x1e7a: 0xd141, 0x1e7b: 0xd161, + 0x1e7c: 0xd181, 0x1e7d: 0xd1a1, 0x1e7e: 0xd1c1, 0x1e7f: 0xd1e1, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xd201, 0x1e81: 0xd221, 0x1e82: 0xd241, 0x1e83: 0xd261, 0x1e84: 0xd281, 0x1e85: 0xd2a1, + 0x1e86: 0xd2a1, 0x1e87: 0xd2c1, 0x1e88: 0xd2e1, 0x1e89: 0xd301, 0x1e8a: 0xd321, 0x1e8b: 0xd341, + 0x1e8c: 0xd361, 0x1e8d: 0xd381, 0x1e8e: 0xd3a1, 0x1e8f: 0xd3c1, 0x1e90: 0xd3e1, 0x1e91: 0xd401, + 0x1e92: 0xd421, 0x1e93: 0xd441, 0x1e94: 0xd461, 0x1e95: 0xd481, 0x1e96: 0xd4a1, 0x1e97: 0xd4c1, + 0x1e98: 0xd4e1, 0x1e99: 0x8c35, 0x1e9a: 0xd501, 0x1e9b: 0xd521, 0x1e9c: 0xd541, 0x1e9d: 0xc371, + 0x1e9e: 0xd561, 0x1e9f: 0xd581, 0x1ea0: 0x8c55, 0x1ea1: 0x8c75, 0x1ea2: 0xd5a1, 0x1ea3: 0xd5c1, + 0x1ea4: 0xd5e1, 0x1ea5: 0xd601, 0x1ea6: 0xd621, 0x1ea7: 0xd641, 0x1ea8: 0x2040, 0x1ea9: 0xd661, + 0x1eaa: 0xd681, 0x1eab: 0xd681, 0x1eac: 0x8c95, 0x1ead: 0xd6a1, 0x1eae: 0xd6c1, 0x1eaf: 0xd6e1, + 0x1eb0: 0xd701, 0x1eb1: 0x8cb5, 0x1eb2: 0xd721, 0x1eb3: 0xd741, 0x1eb4: 0x2040, 0x1eb5: 0xd761, + 0x1eb6: 0xd781, 0x1eb7: 0xd7a1, 0x1eb8: 0xd7c1, 0x1eb9: 0xd7e1, 0x1eba: 0xd801, 0x1ebb: 0x8cd5, + 0x1ebc: 0xd821, 0x1ebd: 0x8cf5, 0x1ebe: 0xd841, 0x1ebf: 0xd861, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xd881, 0x1ec1: 0xd8a1, 0x1ec2: 0xd8c1, 0x1ec3: 0xd8e1, 0x1ec4: 0xd901, 0x1ec5: 0xd921, + 0x1ec6: 0xd941, 0x1ec7: 0xd961, 0x1ec8: 0xd981, 0x1ec9: 0x8d15, 0x1eca: 0xd9a1, 0x1ecb: 0xd9c1, + 0x1ecc: 0xd9e1, 0x1ecd: 0xda01, 0x1ece: 0xda21, 0x1ecf: 0x8d35, 0x1ed0: 0xda41, 0x1ed1: 0x8d55, + 0x1ed2: 0x8d75, 0x1ed3: 0xda61, 0x1ed4: 0xda81, 0x1ed5: 0xda81, 0x1ed6: 0xdaa1, 0x1ed7: 0x8d95, + 0x1ed8: 0x8db5, 0x1ed9: 0xdac1, 0x1eda: 0xdae1, 0x1edb: 0xdb01, 0x1edc: 0xdb21, 0x1edd: 0xdb41, + 0x1ede: 0xdb61, 0x1edf: 0xdb81, 0x1ee0: 0xdba1, 0x1ee1: 0xdbc1, 0x1ee2: 0xdbe1, 0x1ee3: 0xdc01, + 0x1ee4: 0x8dd5, 0x1ee5: 0xdc21, 0x1ee6: 0xdc41, 0x1ee7: 0xdc61, 0x1ee8: 0xdc81, 0x1ee9: 0xdc61, + 0x1eea: 0xdca1, 0x1eeb: 0xdcc1, 0x1eec: 0xdce1, 0x1eed: 0xdd01, 0x1eee: 0xdd21, 0x1eef: 0xdd41, + 0x1ef0: 0xdd61, 0x1ef1: 0xdd81, 0x1ef2: 0xdda1, 0x1ef3: 0xddc1, 0x1ef4: 0xdde1, 0x1ef5: 0xde01, + 0x1ef6: 0xde21, 0x1ef7: 0xde41, 0x1ef8: 0x8df5, 0x1ef9: 0xde61, 0x1efa: 0xde81, 0x1efb: 0xdea1, + 0x1efc: 0xdec1, 0x1efd: 0xdee1, 0x1efe: 0x8e15, 0x1eff: 0xdf01, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xe601, 0x1f01: 0xe621, 0x1f02: 0xe641, 0x1f03: 0xe661, 0x1f04: 0xe681, 0x1f05: 0xe6a1, + 0x1f06: 0x8f35, 0x1f07: 0xe6c1, 0x1f08: 0xe6e1, 0x1f09: 0xe701, 0x1f0a: 0xe721, 0x1f0b: 0xe741, + 0x1f0c: 0xe761, 0x1f0d: 0x8f55, 0x1f0e: 0xe781, 0x1f0f: 0xe7a1, 0x1f10: 0x8f75, 0x1f11: 0x8f95, + 0x1f12: 0xe7c1, 0x1f13: 0xe7e1, 0x1f14: 0xe801, 0x1f15: 0xe821, 0x1f16: 0xe841, 0x1f17: 0xe861, + 0x1f18: 0xe881, 0x1f19: 0xe8a1, 0x1f1a: 0xe8c1, 0x1f1b: 0x8fb5, 0x1f1c: 0xe8e1, 0x1f1d: 0x8fd5, + 0x1f1e: 0xe901, 0x1f1f: 0x2040, 0x1f20: 0xe921, 0x1f21: 0xe941, 0x1f22: 0xe961, 0x1f23: 0x8ff5, + 0x1f24: 0xe981, 0x1f25: 0xe9a1, 0x1f26: 0x9015, 0x1f27: 0x9035, 0x1f28: 0xe9c1, 0x1f29: 0xe9e1, + 0x1f2a: 0xea01, 0x1f2b: 0xea21, 0x1f2c: 0xea41, 0x1f2d: 0xea41, 0x1f2e: 0xea61, 0x1f2f: 0xea81, + 0x1f30: 0xeaa1, 0x1f31: 0xeac1, 0x1f32: 0xeae1, 0x1f33: 0xeb01, 0x1f34: 0xeb21, 0x1f35: 0x9055, + 0x1f36: 0xeb41, 0x1f37: 0x9075, 0x1f38: 0xeb61, 0x1f39: 0x9095, 0x1f3a: 0xeb81, 0x1f3b: 0x90b5, + 0x1f3c: 0x90d5, 0x1f3d: 0x90f5, 0x1f3e: 0xeba1, 0x1f3f: 0xebc1, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xebe1, 0x1f41: 0x9115, 0x1f42: 0x9135, 0x1f43: 0x9155, 0x1f44: 0x9175, 0x1f45: 0xec01, + 0x1f46: 0xec21, 0x1f47: 0xec21, 0x1f48: 0xec41, 0x1f49: 0xec61, 0x1f4a: 0xec81, 0x1f4b: 0xeca1, + 0x1f4c: 0xecc1, 0x1f4d: 0x9195, 0x1f4e: 0xece1, 0x1f4f: 0xed01, 0x1f50: 0xed21, 0x1f51: 0xed41, + 0x1f52: 0x91b5, 0x1f53: 0xed61, 0x1f54: 0x91d5, 0x1f55: 0x91f5, 0x1f56: 0xed81, 0x1f57: 0xeda1, + 0x1f58: 0xedc1, 0x1f59: 0xede1, 0x1f5a: 0xee01, 0x1f5b: 0xee21, 0x1f5c: 0x9215, 0x1f5d: 0x9235, + 0x1f5e: 0x9255, 0x1f5f: 0x2040, 0x1f60: 0xee41, 0x1f61: 0x9275, 0x1f62: 0xee61, 0x1f63: 0xee81, + 0x1f64: 0xeea1, 0x1f65: 0x9295, 0x1f66: 0xeec1, 0x1f67: 0xeee1, 0x1f68: 0xef01, 0x1f69: 0xef21, + 0x1f6a: 0xef41, 0x1f6b: 0x92b5, 0x1f6c: 0xef61, 0x1f6d: 0xef81, 0x1f6e: 0xefa1, 0x1f6f: 0xefc1, + 0x1f70: 0xefe1, 0x1f71: 0xf001, 0x1f72: 0x92d5, 0x1f73: 0x92f5, 0x1f74: 0xf021, 0x1f75: 0x9315, + 0x1f76: 0xf041, 0x1f77: 0x9335, 0x1f78: 0xf061, 0x1f79: 0xf081, 0x1f7a: 0xf0a1, 0x1f7b: 0x9355, + 0x1f7c: 0x9375, 0x1f7d: 0xf0c1, 0x1f7e: 0x9395, 0x1f7f: 0xf0e1, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0xf721, 0x1f81: 0xf741, 0x1f82: 0xf761, 0x1f83: 0xf781, 0x1f84: 0xf7a1, 0x1f85: 0x9555, + 0x1f86: 0xf7c1, 0x1f87: 0xf7e1, 0x1f88: 0xf801, 0x1f89: 0xf821, 0x1f8a: 0xf841, 0x1f8b: 0x9575, + 0x1f8c: 0x9595, 0x1f8d: 0xf861, 0x1f8e: 0xf881, 0x1f8f: 0xf8a1, 0x1f90: 0xf8c1, 0x1f91: 0xf8e1, + 0x1f92: 0xf901, 0x1f93: 0x95b5, 0x1f94: 0xf921, 0x1f95: 0xf941, 0x1f96: 0xf961, 0x1f97: 0xf981, + 0x1f98: 0x95d5, 0x1f99: 0x95f5, 0x1f9a: 0xf9a1, 0x1f9b: 0xf9c1, 0x1f9c: 0xf9e1, 0x1f9d: 0x9615, + 0x1f9e: 0xfa01, 0x1f9f: 0xfa21, 0x1fa0: 0x684d, 0x1fa1: 0x9635, 0x1fa2: 0xfa41, 0x1fa3: 0xfa61, + 0x1fa4: 0xfa81, 0x1fa5: 0x9655, 0x1fa6: 0xfaa1, 0x1fa7: 0xfac1, 0x1fa8: 0xfae1, 0x1fa9: 0xfb01, + 0x1faa: 0xfb21, 0x1fab: 0xfb41, 0x1fac: 0xfb61, 0x1fad: 0x9675, 0x1fae: 0xfb81, 0x1faf: 0xfba1, + 0x1fb0: 0xfbc1, 0x1fb1: 0x9695, 0x1fb2: 0xfbe1, 0x1fb3: 0xfc01, 0x1fb4: 0xfc21, 0x1fb5: 0xfc41, + 0x1fb6: 0x7b6d, 0x1fb7: 0x96b5, 0x1fb8: 0xfc61, 0x1fb9: 0xfc81, 0x1fba: 0xfca1, 0x1fbb: 0x96d5, + 0x1fbc: 0xfcc1, 0x1fbd: 0x96f5, 0x1fbe: 0xfce1, 0x1fbf: 0xfce1, + // Block 0x7f, offset 0x1fc0 + 0x1fc0: 0xfd01, 0x1fc1: 0x9715, 0x1fc2: 0xfd21, 0x1fc3: 0xfd41, 0x1fc4: 0xfd61, 0x1fc5: 0xfd81, + 0x1fc6: 0xfda1, 0x1fc7: 0xfdc1, 0x1fc8: 0xfde1, 0x1fc9: 0x9735, 0x1fca: 0xfe01, 0x1fcb: 0xfe21, + 0x1fcc: 0xfe41, 0x1fcd: 0xfe61, 0x1fce: 0xfe81, 0x1fcf: 0xfea1, 0x1fd0: 0x9755, 0x1fd1: 0xfec1, + 0x1fd2: 0x9775, 0x1fd3: 0x9795, 0x1fd4: 0x97b5, 0x1fd5: 0xfee1, 0x1fd6: 0xff01, 0x1fd7: 0xff21, + 0x1fd8: 0xff41, 0x1fd9: 0xff61, 0x1fda: 0xff81, 0x1fdb: 0xffa1, 0x1fdc: 0xffc1, 0x1fdd: 0x97d5, + 0x1fde: 0x0040, 0x1fdf: 0x0040, 0x1fe0: 0x0040, 0x1fe1: 0x0040, 0x1fe2: 0x0040, 0x1fe3: 0x0040, + 0x1fe4: 0x0040, 0x1fe5: 0x0040, 0x1fe6: 0x0040, 0x1fe7: 0x0040, 0x1fe8: 0x0040, 0x1fe9: 0x0040, + 0x1fea: 0x0040, 0x1feb: 0x0040, 0x1fec: 0x0040, 0x1fed: 0x0040, 0x1fee: 0x0040, 0x1fef: 0x0040, + 0x1ff0: 0x0040, 0x1ff1: 0x0040, 0x1ff2: 0x0040, 0x1ff3: 0x0040, 0x1ff4: 0x0040, 0x1ff5: 0x0040, + 0x1ff6: 0x0040, 0x1ff7: 0x0040, 0x1ff8: 0x0040, 0x1ff9: 0x0040, 0x1ffa: 0x0040, 0x1ffb: 0x0040, + 0x1ffc: 0x0040, 0x1ffd: 0x0040, 0x1ffe: 0x0040, 0x1fff: 0x0040, +} + +// idnaIndex: 37 blocks, 2368 entries, 4736 bytes +// Block 0 is the zero block. +var idnaIndex = [2368]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7e, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7f, 0xca: 0x80, 0xcb: 0x07, 0xcc: 0x81, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x82, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x83, 0xd6: 0x84, 0xd7: 0x85, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x86, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x87, 0xde: 0x88, 0xdf: 0x89, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1e, 0xf1: 0x1f, 0xf2: 0x1f, 0xf3: 0x21, 0xf4: 0x22, + // Block 0x4, offset 0x100 + 0x120: 0x8a, 0x121: 0x13, 0x122: 0x8b, 0x123: 0x8c, 0x124: 0x8d, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16, + 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8e, + 0x130: 0x8f, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x90, 0x135: 0x21, 0x136: 0x91, 0x137: 0x92, + 0x138: 0x93, 0x139: 0x94, 0x13a: 0x22, 0x13b: 0x95, 0x13c: 0x96, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x97, + // Block 0x5, offset 0x140 + 0x140: 0x98, 0x141: 0x99, 0x142: 0x9a, 0x143: 0x9b, 0x144: 0x9c, 0x145: 0x9d, 0x146: 0x9e, 0x147: 0x9f, + 0x148: 0xa0, 0x149: 0xa1, 0x14a: 0xa2, 0x14b: 0xa3, 0x14c: 0xa4, 0x14d: 0xa5, 0x14e: 0xa6, 0x14f: 0xa7, + 0x150: 0xa8, 0x151: 0xa0, 0x152: 0xa0, 0x153: 0xa0, 0x154: 0xa0, 0x155: 0xa0, 0x156: 0xa0, 0x157: 0xa0, + 0x158: 0xa0, 0x159: 0xa9, 0x15a: 0xaa, 0x15b: 0xab, 0x15c: 0xac, 0x15d: 0xad, 0x15e: 0xae, 0x15f: 0xaf, + 0x160: 0xb0, 0x161: 0xb1, 0x162: 0xb2, 0x163: 0xb3, 0x164: 0xb4, 0x165: 0xb5, 0x166: 0xb6, 0x167: 0xb7, + 0x168: 0xb8, 0x169: 0xb9, 0x16a: 0xba, 0x16b: 0xbb, 0x16c: 0xbc, 0x16d: 0xbd, 0x16e: 0xbe, 0x16f: 0xbf, + 0x170: 0xc0, 0x171: 0xc1, 0x172: 0xc2, 0x173: 0xc3, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc4, + 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc5, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c, + // Block 0x6, offset 0x180 + 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc6, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc7, 0x187: 0x9c, + 0x188: 0xc8, 0x189: 0xc9, 0x18a: 0x9c, 0x18b: 0x9c, 0x18c: 0xca, 0x18d: 0x9c, 0x18e: 0x9c, 0x18f: 0x9c, + 0x190: 0xcb, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9c, 0x195: 0x9c, 0x196: 0x9c, 0x197: 0x9c, + 0x198: 0x9c, 0x199: 0x9c, 0x19a: 0x9c, 0x19b: 0x9c, 0x19c: 0x9c, 0x19d: 0x9c, 0x19e: 0x9c, 0x19f: 0x9c, + 0x1a0: 0x9c, 0x1a1: 0x9c, 0x1a2: 0x9c, 0x1a3: 0x9c, 0x1a4: 0x9c, 0x1a5: 0x9c, 0x1a6: 0x9c, 0x1a7: 0x9c, + 0x1a8: 0xcc, 0x1a9: 0xcd, 0x1aa: 0x9c, 0x1ab: 0xce, 0x1ac: 0x9c, 0x1ad: 0xcf, 0x1ae: 0xd0, 0x1af: 0x9c, + 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5, + 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1, + 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41, + 0x1d0: 0xa0, 0x1d1: 0xa0, 0x1d2: 0xa0, 0x1d3: 0xa0, 0x1d4: 0xa0, 0x1d5: 0xa0, 0x1d6: 0xa0, 0x1d7: 0xa0, + 0x1d8: 0xa0, 0x1d9: 0xa0, 0x1da: 0xa0, 0x1db: 0xa0, 0x1dc: 0xa0, 0x1dd: 0xa0, 0x1de: 0xa0, 0x1df: 0xa0, + 0x1e0: 0xa0, 0x1e1: 0xa0, 0x1e2: 0xa0, 0x1e3: 0xa0, 0x1e4: 0xa0, 0x1e5: 0xa0, 0x1e6: 0xa0, 0x1e7: 0xa0, + 0x1e8: 0xa0, 0x1e9: 0xa0, 0x1ea: 0xa0, 0x1eb: 0xa0, 0x1ec: 0xa0, 0x1ed: 0xa0, 0x1ee: 0xa0, 0x1ef: 0xa0, + 0x1f0: 0xa0, 0x1f1: 0xa0, 0x1f2: 0xa0, 0x1f3: 0xa0, 0x1f4: 0xa0, 0x1f5: 0xa0, 0x1f6: 0xa0, 0x1f7: 0xa0, + 0x1f8: 0xa0, 0x1f9: 0xa0, 0x1fa: 0xa0, 0x1fb: 0xa0, 0x1fc: 0xa0, 0x1fd: 0xa0, 0x1fe: 0xa0, 0x1ff: 0xa0, + // Block 0x8, offset 0x200 + 0x200: 0xa0, 0x201: 0xa0, 0x202: 0xa0, 0x203: 0xa0, 0x204: 0xa0, 0x205: 0xa0, 0x206: 0xa0, 0x207: 0xa0, + 0x208: 0xa0, 0x209: 0xa0, 0x20a: 0xa0, 0x20b: 0xa0, 0x20c: 0xa0, 0x20d: 0xa0, 0x20e: 0xa0, 0x20f: 0xa0, + 0x210: 0xa0, 0x211: 0xa0, 0x212: 0xa0, 0x213: 0xa0, 0x214: 0xa0, 0x215: 0xa0, 0x216: 0xa0, 0x217: 0xa0, + 0x218: 0xa0, 0x219: 0xa0, 0x21a: 0xa0, 0x21b: 0xa0, 0x21c: 0xa0, 0x21d: 0xa0, 0x21e: 0xa0, 0x21f: 0xa0, + 0x220: 0xa0, 0x221: 0xa0, 0x222: 0xa0, 0x223: 0xa0, 0x224: 0xa0, 0x225: 0xa0, 0x226: 0xa0, 0x227: 0xa0, + 0x228: 0xa0, 0x229: 0xa0, 0x22a: 0xa0, 0x22b: 0xa0, 0x22c: 0xa0, 0x22d: 0xa0, 0x22e: 0xa0, 0x22f: 0xa0, + 0x230: 0xa0, 0x231: 0xa0, 0x232: 0xa0, 0x233: 0xa0, 0x234: 0xa0, 0x235: 0xa0, 0x236: 0xa0, 0x237: 0x9c, + 0x238: 0xa0, 0x239: 0xa0, 0x23a: 0xa0, 0x23b: 0xa0, 0x23c: 0xa0, 0x23d: 0xa0, 0x23e: 0xa0, 0x23f: 0xa0, + // Block 0x9, offset 0x240 + 0x240: 0xa0, 0x241: 0xa0, 0x242: 0xa0, 0x243: 0xa0, 0x244: 0xa0, 0x245: 0xa0, 0x246: 0xa0, 0x247: 0xa0, + 0x248: 0xa0, 0x249: 0xa0, 0x24a: 0xa0, 0x24b: 0xa0, 0x24c: 0xa0, 0x24d: 0xa0, 0x24e: 0xa0, 0x24f: 0xa0, + 0x250: 0xa0, 0x251: 0xa0, 0x252: 0xa0, 0x253: 0xa0, 0x254: 0xa0, 0x255: 0xa0, 0x256: 0xa0, 0x257: 0xa0, + 0x258: 0xa0, 0x259: 0xa0, 0x25a: 0xa0, 0x25b: 0xa0, 0x25c: 0xa0, 0x25d: 0xa0, 0x25e: 0xa0, 0x25f: 0xa0, + 0x260: 0xa0, 0x261: 0xa0, 0x262: 0xa0, 0x263: 0xa0, 0x264: 0xa0, 0x265: 0xa0, 0x266: 0xa0, 0x267: 0xa0, + 0x268: 0xa0, 0x269: 0xa0, 0x26a: 0xa0, 0x26b: 0xa0, 0x26c: 0xa0, 0x26d: 0xa0, 0x26e: 0xa0, 0x26f: 0xa0, + 0x270: 0xa0, 0x271: 0xa0, 0x272: 0xa0, 0x273: 0xa0, 0x274: 0xa0, 0x275: 0xa0, 0x276: 0xa0, 0x277: 0xa0, + 0x278: 0xa0, 0x279: 0xa0, 0x27a: 0xa0, 0x27b: 0xa0, 0x27c: 0xa0, 0x27d: 0xa0, 0x27e: 0xa0, 0x27f: 0xa0, + // Block 0xa, offset 0x280 + 0x280: 0xa0, 0x281: 0xa0, 0x282: 0xa0, 0x283: 0xa0, 0x284: 0xa0, 0x285: 0xa0, 0x286: 0xa0, 0x287: 0xa0, + 0x288: 0xa0, 0x289: 0xa0, 0x28a: 0xa0, 0x28b: 0xa0, 0x28c: 0xa0, 0x28d: 0xa0, 0x28e: 0xa0, 0x28f: 0xa0, + 0x290: 0xa0, 0x291: 0xa0, 0x292: 0xa0, 0x293: 0xa0, 0x294: 0xa0, 0x295: 0xa0, 0x296: 0xa0, 0x297: 0xa0, + 0x298: 0xa0, 0x299: 0xa0, 0x29a: 0xa0, 0x29b: 0xa0, 0x29c: 0xa0, 0x29d: 0xa0, 0x29e: 0xa0, 0x29f: 0xa0, + 0x2a0: 0xa0, 0x2a1: 0xa0, 0x2a2: 0xa0, 0x2a3: 0xa0, 0x2a4: 0xa0, 0x2a5: 0xa0, 0x2a6: 0xa0, 0x2a7: 0xa0, + 0x2a8: 0xa0, 0x2a9: 0xa0, 0x2aa: 0xa0, 0x2ab: 0xa0, 0x2ac: 0xa0, 0x2ad: 0xa0, 0x2ae: 0xa0, 0x2af: 0xa0, + 0x2b0: 0xa0, 0x2b1: 0xa0, 0x2b2: 0xa0, 0x2b3: 0xa0, 0x2b4: 0xa0, 0x2b5: 0xa0, 0x2b6: 0xa0, 0x2b7: 0xa0, + 0x2b8: 0xa0, 0x2b9: 0xa0, 0x2ba: 0xa0, 0x2bb: 0xa0, 0x2bc: 0xa0, 0x2bd: 0xa0, 0x2be: 0xa0, 0x2bf: 0xe3, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xa0, 0x2c1: 0xa0, 0x2c2: 0xa0, 0x2c3: 0xa0, 0x2c4: 0xa0, 0x2c5: 0xa0, 0x2c6: 0xa0, 0x2c7: 0xa0, + 0x2c8: 0xa0, 0x2c9: 0xa0, 0x2ca: 0xa0, 0x2cb: 0xa0, 0x2cc: 0xa0, 0x2cd: 0xa0, 0x2ce: 0xa0, 0x2cf: 0xa0, + 0x2d0: 0xa0, 0x2d1: 0xa0, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0xa0, 0x2d5: 0xa0, 0x2d6: 0xa0, 0x2d7: 0xa0, + 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8, + 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0, + 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8, + 0x2f0: 0xa0, 0x2f1: 0xa0, 0x2f2: 0xa0, 0x2f3: 0xa0, 0x2f4: 0xa0, 0x2f5: 0xa0, 0x2f6: 0xa0, 0x2f7: 0xa0, + 0x2f8: 0xa0, 0x2f9: 0xa0, 0x2fa: 0xa0, 0x2fb: 0xa0, 0x2fc: 0xa0, 0x2fd: 0xa0, 0x2fe: 0xa0, 0x2ff: 0xa0, + // Block 0xc, offset 0x300 + 0x300: 0xa0, 0x301: 0xa0, 0x302: 0xa0, 0x303: 0xa0, 0x304: 0xa0, 0x305: 0xa0, 0x306: 0xa0, 0x307: 0xa0, + 0x308: 0xa0, 0x309: 0xa0, 0x30a: 0xa0, 0x30b: 0xa0, 0x30c: 0xa0, 0x30d: 0xa0, 0x30e: 0xa0, 0x30f: 0xa0, + 0x310: 0xa0, 0x311: 0xa0, 0x312: 0xa0, 0x313: 0xa0, 0x314: 0xa0, 0x315: 0xa0, 0x316: 0xa0, 0x317: 0xa0, + 0x318: 0xa0, 0x319: 0xa0, 0x31a: 0xa0, 0x31b: 0xa0, 0x31c: 0xa0, 0x31d: 0xa0, 0x31e: 0xf9, 0x31f: 0xfa, + // Block 0xd, offset 0x340 + 0x340: 0xfb, 0x341: 0xfb, 0x342: 0xfb, 0x343: 0xfb, 0x344: 0xfb, 0x345: 0xfb, 0x346: 0xfb, 0x347: 0xfb, + 0x348: 0xfb, 0x349: 0xfb, 0x34a: 0xfb, 0x34b: 0xfb, 0x34c: 0xfb, 0x34d: 0xfb, 0x34e: 0xfb, 0x34f: 0xfb, + 0x350: 0xfb, 0x351: 0xfb, 0x352: 0xfb, 0x353: 0xfb, 0x354: 0xfb, 0x355: 0xfb, 0x356: 0xfb, 0x357: 0xfb, + 0x358: 0xfb, 0x359: 0xfb, 0x35a: 0xfb, 0x35b: 0xfb, 0x35c: 0xfb, 0x35d: 0xfb, 0x35e: 0xfb, 0x35f: 0xfb, + 0x360: 0xfb, 0x361: 0xfb, 0x362: 0xfb, 0x363: 0xfb, 0x364: 0xfb, 0x365: 0xfb, 0x366: 0xfb, 0x367: 0xfb, + 0x368: 0xfb, 0x369: 0xfb, 0x36a: 0xfb, 0x36b: 0xfb, 0x36c: 0xfb, 0x36d: 0xfb, 0x36e: 0xfb, 0x36f: 0xfb, + 0x370: 0xfb, 0x371: 0xfb, 0x372: 0xfb, 0x373: 0xfb, 0x374: 0xfb, 0x375: 0xfb, 0x376: 0xfb, 0x377: 0xfb, + 0x378: 0xfb, 0x379: 0xfb, 0x37a: 0xfb, 0x37b: 0xfb, 0x37c: 0xfb, 0x37d: 0xfb, 0x37e: 0xfb, 0x37f: 0xfb, + // Block 0xe, offset 0x380 + 0x380: 0xfb, 0x381: 0xfb, 0x382: 0xfb, 0x383: 0xfb, 0x384: 0xfb, 0x385: 0xfb, 0x386: 0xfb, 0x387: 0xfb, + 0x388: 0xfb, 0x389: 0xfb, 0x38a: 0xfb, 0x38b: 0xfb, 0x38c: 0xfb, 0x38d: 0xfb, 0x38e: 0xfb, 0x38f: 0xfb, + 0x390: 0xfb, 0x391: 0xfb, 0x392: 0xfb, 0x393: 0xfb, 0x394: 0xfb, 0x395: 0xfb, 0x396: 0xfb, 0x397: 0xfb, + 0x398: 0xfb, 0x399: 0xfb, 0x39a: 0xfb, 0x39b: 0xfb, 0x39c: 0xfb, 0x39d: 0xfb, 0x39e: 0xfb, 0x39f: 0xfb, + 0x3a0: 0xfb, 0x3a1: 0xfb, 0x3a2: 0xfb, 0x3a3: 0xfb, 0x3a4: 0xfc, 0x3a5: 0xfd, 0x3a6: 0xfe, 0x3a7: 0xff, + 0x3a8: 0x47, 0x3a9: 0x100, 0x3aa: 0x101, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c, + 0x3b0: 0x102, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x103, 0x3b7: 0x52, + 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x104, 0x3c1: 0x105, 0x3c2: 0xa0, 0x3c3: 0x106, 0x3c4: 0x107, 0x3c5: 0x9c, 0x3c6: 0x108, 0x3c7: 0x109, + 0x3c8: 0xfb, 0x3c9: 0xfb, 0x3ca: 0x10a, 0x3cb: 0x10b, 0x3cc: 0x10c, 0x3cd: 0x10d, 0x3ce: 0x10e, 0x3cf: 0x10f, + 0x3d0: 0x110, 0x3d1: 0xa0, 0x3d2: 0x111, 0x3d3: 0x112, 0x3d4: 0x113, 0x3d5: 0x114, 0x3d6: 0xfb, 0x3d7: 0xfb, + 0x3d8: 0xa0, 0x3d9: 0xa0, 0x3da: 0xa0, 0x3db: 0xa0, 0x3dc: 0x115, 0x3dd: 0x116, 0x3de: 0xfb, 0x3df: 0xfb, + 0x3e0: 0x117, 0x3e1: 0x118, 0x3e2: 0x119, 0x3e3: 0x11a, 0x3e4: 0x11b, 0x3e5: 0xfb, 0x3e6: 0x11c, 0x3e7: 0x11d, + 0x3e8: 0x11e, 0x3e9: 0x11f, 0x3ea: 0x120, 0x3eb: 0x5b, 0x3ec: 0x121, 0x3ed: 0x122, 0x3ee: 0x5c, 0x3ef: 0xfb, + 0x3f0: 0x123, 0x3f1: 0x124, 0x3f2: 0x125, 0x3f3: 0x126, 0x3f4: 0x127, 0x3f5: 0xfb, 0x3f6: 0xfb, 0x3f7: 0xfb, + 0x3f8: 0xfb, 0x3f9: 0x128, 0x3fa: 0x129, 0x3fb: 0xfb, 0x3fc: 0x12a, 0x3fd: 0x12b, 0x3fe: 0x12c, 0x3ff: 0x12d, + // Block 0x10, offset 0x400 + 0x400: 0x12e, 0x401: 0x12f, 0x402: 0x130, 0x403: 0x131, 0x404: 0x132, 0x405: 0x133, 0x406: 0x134, 0x407: 0x135, + 0x408: 0x136, 0x409: 0xfb, 0x40a: 0x137, 0x40b: 0x138, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xfb, 0x40f: 0xfb, + 0x410: 0x139, 0x411: 0x13a, 0x412: 0x13b, 0x413: 0x13c, 0x414: 0xfb, 0x415: 0xfb, 0x416: 0x13d, 0x417: 0x13e, + 0x418: 0x13f, 0x419: 0x140, 0x41a: 0x141, 0x41b: 0x142, 0x41c: 0x143, 0x41d: 0xfb, 0x41e: 0xfb, 0x41f: 0xfb, + 0x420: 0x144, 0x421: 0xfb, 0x422: 0x145, 0x423: 0x146, 0x424: 0x5f, 0x425: 0x147, 0x426: 0x148, 0x427: 0x149, + 0x428: 0x14a, 0x429: 0x14b, 0x42a: 0x14c, 0x42b: 0x14d, 0x42c: 0xfb, 0x42d: 0xfb, 0x42e: 0xfb, 0x42f: 0xfb, + 0x430: 0x14e, 0x431: 0x14f, 0x432: 0x150, 0x433: 0xfb, 0x434: 0x151, 0x435: 0x152, 0x436: 0x153, 0x437: 0xfb, + 0x438: 0xfb, 0x439: 0xfb, 0x43a: 0xfb, 0x43b: 0x154, 0x43c: 0xfb, 0x43d: 0xfb, 0x43e: 0x155, 0x43f: 0x156, + // Block 0x11, offset 0x440 + 0x440: 0xa0, 0x441: 0xa0, 0x442: 0xa0, 0x443: 0xa0, 0x444: 0xa0, 0x445: 0xa0, 0x446: 0xa0, 0x447: 0xa0, + 0x448: 0xa0, 0x449: 0xa0, 0x44a: 0xa0, 0x44b: 0xa0, 0x44c: 0xa0, 0x44d: 0xa0, 0x44e: 0x157, 0x44f: 0xfb, + 0x450: 0x9c, 0x451: 0x158, 0x452: 0xa0, 0x453: 0xa0, 0x454: 0xa0, 0x455: 0x159, 0x456: 0xfb, 0x457: 0xfb, + 0x458: 0xfb, 0x459: 0xfb, 0x45a: 0xfb, 0x45b: 0xfb, 0x45c: 0xfb, 0x45d: 0xfb, 0x45e: 0xfb, 0x45f: 0xfb, + 0x460: 0xfb, 0x461: 0xfb, 0x462: 0xfb, 0x463: 0xfb, 0x464: 0xfb, 0x465: 0xfb, 0x466: 0xfb, 0x467: 0xfb, + 0x468: 0xfb, 0x469: 0xfb, 0x46a: 0xfb, 0x46b: 0xfb, 0x46c: 0xfb, 0x46d: 0xfb, 0x46e: 0xfb, 0x46f: 0xfb, + 0x470: 0xfb, 0x471: 0xfb, 0x472: 0xfb, 0x473: 0xfb, 0x474: 0xfb, 0x475: 0xfb, 0x476: 0xfb, 0x477: 0xfb, + 0x478: 0xfb, 0x479: 0xfb, 0x47a: 0xfb, 0x47b: 0xfb, 0x47c: 0xfb, 0x47d: 0xfb, 0x47e: 0xfb, 0x47f: 0xfb, + // Block 0x12, offset 0x480 + 0x480: 0xa0, 0x481: 0xa0, 0x482: 0xa0, 0x483: 0xa0, 0x484: 0xa0, 0x485: 0xa0, 0x486: 0xa0, 0x487: 0xa0, + 0x488: 0xa0, 0x489: 0xa0, 0x48a: 0xa0, 0x48b: 0xa0, 0x48c: 0xa0, 0x48d: 0xa0, 0x48e: 0xa0, 0x48f: 0xa0, + 0x490: 0x15a, 0x491: 0xfb, 0x492: 0xfb, 0x493: 0xfb, 0x494: 0xfb, 0x495: 0xfb, 0x496: 0xfb, 0x497: 0xfb, + 0x498: 0xfb, 0x499: 0xfb, 0x49a: 0xfb, 0x49b: 0xfb, 0x49c: 0xfb, 0x49d: 0xfb, 0x49e: 0xfb, 0x49f: 0xfb, + 0x4a0: 0xfb, 0x4a1: 0xfb, 0x4a2: 0xfb, 0x4a3: 0xfb, 0x4a4: 0xfb, 0x4a5: 0xfb, 0x4a6: 0xfb, 0x4a7: 0xfb, + 0x4a8: 0xfb, 0x4a9: 0xfb, 0x4aa: 0xfb, 0x4ab: 0xfb, 0x4ac: 0xfb, 0x4ad: 0xfb, 0x4ae: 0xfb, 0x4af: 0xfb, + 0x4b0: 0xfb, 0x4b1: 0xfb, 0x4b2: 0xfb, 0x4b3: 0xfb, 0x4b4: 0xfb, 0x4b5: 0xfb, 0x4b6: 0xfb, 0x4b7: 0xfb, + 0x4b8: 0xfb, 0x4b9: 0xfb, 0x4ba: 0xfb, 0x4bb: 0xfb, 0x4bc: 0xfb, 0x4bd: 0xfb, 0x4be: 0xfb, 0x4bf: 0xfb, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xfb, 0x4c1: 0xfb, 0x4c2: 0xfb, 0x4c3: 0xfb, 0x4c4: 0xfb, 0x4c5: 0xfb, 0x4c6: 0xfb, 0x4c7: 0xfb, + 0x4c8: 0xfb, 0x4c9: 0xfb, 0x4ca: 0xfb, 0x4cb: 0xfb, 0x4cc: 0xfb, 0x4cd: 0xfb, 0x4ce: 0xfb, 0x4cf: 0xfb, + 0x4d0: 0xa0, 0x4d1: 0xa0, 0x4d2: 0xa0, 0x4d3: 0xa0, 0x4d4: 0xa0, 0x4d5: 0xa0, 0x4d6: 0xa0, 0x4d7: 0xa0, + 0x4d8: 0xa0, 0x4d9: 0x15b, 0x4da: 0xfb, 0x4db: 0xfb, 0x4dc: 0xfb, 0x4dd: 0xfb, 0x4de: 0xfb, 0x4df: 0xfb, + 0x4e0: 0xfb, 0x4e1: 0xfb, 0x4e2: 0xfb, 0x4e3: 0xfb, 0x4e4: 0xfb, 0x4e5: 0xfb, 0x4e6: 0xfb, 0x4e7: 0xfb, + 0x4e8: 0xfb, 0x4e9: 0xfb, 0x4ea: 0xfb, 0x4eb: 0xfb, 0x4ec: 0xfb, 0x4ed: 0xfb, 0x4ee: 0xfb, 0x4ef: 0xfb, + 0x4f0: 0xfb, 0x4f1: 0xfb, 0x4f2: 0xfb, 0x4f3: 0xfb, 0x4f4: 0xfb, 0x4f5: 0xfb, 0x4f6: 0xfb, 0x4f7: 0xfb, + 0x4f8: 0xfb, 0x4f9: 0xfb, 0x4fa: 0xfb, 0x4fb: 0xfb, 0x4fc: 0xfb, 0x4fd: 0xfb, 0x4fe: 0xfb, 0x4ff: 0xfb, + // Block 0x14, offset 0x500 + 0x500: 0xfb, 0x501: 0xfb, 0x502: 0xfb, 0x503: 0xfb, 0x504: 0xfb, 0x505: 0xfb, 0x506: 0xfb, 0x507: 0xfb, + 0x508: 0xfb, 0x509: 0xfb, 0x50a: 0xfb, 0x50b: 0xfb, 0x50c: 0xfb, 0x50d: 0xfb, 0x50e: 0xfb, 0x50f: 0xfb, + 0x510: 0xfb, 0x511: 0xfb, 0x512: 0xfb, 0x513: 0xfb, 0x514: 0xfb, 0x515: 0xfb, 0x516: 0xfb, 0x517: 0xfb, + 0x518: 0xfb, 0x519: 0xfb, 0x51a: 0xfb, 0x51b: 0xfb, 0x51c: 0xfb, 0x51d: 0xfb, 0x51e: 0xfb, 0x51f: 0xfb, + 0x520: 0xa0, 0x521: 0xa0, 0x522: 0xa0, 0x523: 0xa0, 0x524: 0xa0, 0x525: 0xa0, 0x526: 0xa0, 0x527: 0xa0, + 0x528: 0x14d, 0x529: 0x15c, 0x52a: 0xfb, 0x52b: 0x15d, 0x52c: 0x15e, 0x52d: 0x15f, 0x52e: 0x160, 0x52f: 0xfb, + 0x530: 0xfb, 0x531: 0xfb, 0x532: 0xfb, 0x533: 0xfb, 0x534: 0xfb, 0x535: 0xfb, 0x536: 0xfb, 0x537: 0xfb, + 0x538: 0xfb, 0x539: 0x161, 0x53a: 0x162, 0x53b: 0xfb, 0x53c: 0xa0, 0x53d: 0x163, 0x53e: 0x164, 0x53f: 0x165, + // Block 0x15, offset 0x540 + 0x540: 0xa0, 0x541: 0xa0, 0x542: 0xa0, 0x543: 0xa0, 0x544: 0xa0, 0x545: 0xa0, 0x546: 0xa0, 0x547: 0xa0, + 0x548: 0xa0, 0x549: 0xa0, 0x54a: 0xa0, 0x54b: 0xa0, 0x54c: 0xa0, 0x54d: 0xa0, 0x54e: 0xa0, 0x54f: 0xa0, + 0x550: 0xa0, 0x551: 0xa0, 0x552: 0xa0, 0x553: 0xa0, 0x554: 0xa0, 0x555: 0xa0, 0x556: 0xa0, 0x557: 0xa0, + 0x558: 0xa0, 0x559: 0xa0, 0x55a: 0xa0, 0x55b: 0xa0, 0x55c: 0xa0, 0x55d: 0xa0, 0x55e: 0xa0, 0x55f: 0x166, + 0x560: 0xa0, 0x561: 0xa0, 0x562: 0xa0, 0x563: 0xa0, 0x564: 0xa0, 0x565: 0xa0, 0x566: 0xa0, 0x567: 0xa0, + 0x568: 0xa0, 0x569: 0xa0, 0x56a: 0xa0, 0x56b: 0xa0, 0x56c: 0xa0, 0x56d: 0xa0, 0x56e: 0xa0, 0x56f: 0xa0, + 0x570: 0xa0, 0x571: 0xa0, 0x572: 0xa0, 0x573: 0x167, 0x574: 0x168, 0x575: 0xfb, 0x576: 0xfb, 0x577: 0xfb, + 0x578: 0xfb, 0x579: 0xfb, 0x57a: 0xfb, 0x57b: 0xfb, 0x57c: 0xfb, 0x57d: 0xfb, 0x57e: 0xfb, 0x57f: 0xfb, + // Block 0x16, offset 0x580 + 0x580: 0xa0, 0x581: 0xa0, 0x582: 0xa0, 0x583: 0xa0, 0x584: 0x169, 0x585: 0x16a, 0x586: 0xa0, 0x587: 0xa0, + 0x588: 0xa0, 0x589: 0xa0, 0x58a: 0xa0, 0x58b: 0x16b, 0x58c: 0xfb, 0x58d: 0xfb, 0x58e: 0xfb, 0x58f: 0xfb, + 0x590: 0xfb, 0x591: 0xfb, 0x592: 0xfb, 0x593: 0xfb, 0x594: 0xfb, 0x595: 0xfb, 0x596: 0xfb, 0x597: 0xfb, + 0x598: 0xfb, 0x599: 0xfb, 0x59a: 0xfb, 0x59b: 0xfb, 0x59c: 0xfb, 0x59d: 0xfb, 0x59e: 0xfb, 0x59f: 0xfb, + 0x5a0: 0xfb, 0x5a1: 0xfb, 0x5a2: 0xfb, 0x5a3: 0xfb, 0x5a4: 0xfb, 0x5a5: 0xfb, 0x5a6: 0xfb, 0x5a7: 0xfb, + 0x5a8: 0xfb, 0x5a9: 0xfb, 0x5aa: 0xfb, 0x5ab: 0xfb, 0x5ac: 0xfb, 0x5ad: 0xfb, 0x5ae: 0xfb, 0x5af: 0xfb, + 0x5b0: 0xa0, 0x5b1: 0x16c, 0x5b2: 0x16d, 0x5b3: 0xfb, 0x5b4: 0xfb, 0x5b5: 0xfb, 0x5b6: 0xfb, 0x5b7: 0xfb, + 0x5b8: 0xfb, 0x5b9: 0xfb, 0x5ba: 0xfb, 0x5bb: 0xfb, 0x5bc: 0xfb, 0x5bd: 0xfb, 0x5be: 0xfb, 0x5bf: 0xfb, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9c, 0x5c1: 0x9c, 0x5c2: 0x9c, 0x5c3: 0x16e, 0x5c4: 0x16f, 0x5c5: 0x170, 0x5c6: 0x171, 0x5c7: 0x172, + 0x5c8: 0x9c, 0x5c9: 0x173, 0x5ca: 0xfb, 0x5cb: 0x174, 0x5cc: 0x9c, 0x5cd: 0x175, 0x5ce: 0xfb, 0x5cf: 0xfb, + 0x5d0: 0x60, 0x5d1: 0x61, 0x5d2: 0x62, 0x5d3: 0x63, 0x5d4: 0x64, 0x5d5: 0x65, 0x5d6: 0x66, 0x5d7: 0x67, + 0x5d8: 0x68, 0x5d9: 0x69, 0x5da: 0x6a, 0x5db: 0x6b, 0x5dc: 0x6c, 0x5dd: 0x6d, 0x5de: 0x6e, 0x5df: 0x6f, + 0x5e0: 0x9c, 0x5e1: 0x9c, 0x5e2: 0x9c, 0x5e3: 0x9c, 0x5e4: 0x9c, 0x5e5: 0x9c, 0x5e6: 0x9c, 0x5e7: 0x9c, + 0x5e8: 0x176, 0x5e9: 0x177, 0x5ea: 0x178, 0x5eb: 0xfb, 0x5ec: 0xfb, 0x5ed: 0xfb, 0x5ee: 0xfb, 0x5ef: 0xfb, + 0x5f0: 0xfb, 0x5f1: 0xfb, 0x5f2: 0xfb, 0x5f3: 0xfb, 0x5f4: 0xfb, 0x5f5: 0xfb, 0x5f6: 0xfb, 0x5f7: 0xfb, + 0x5f8: 0xfb, 0x5f9: 0xfb, 0x5fa: 0xfb, 0x5fb: 0xfb, 0x5fc: 0xfb, 0x5fd: 0xfb, 0x5fe: 0xfb, 0x5ff: 0xfb, + // Block 0x18, offset 0x600 + 0x600: 0x179, 0x601: 0xfb, 0x602: 0xfb, 0x603: 0xfb, 0x604: 0x17a, 0x605: 0x17b, 0x606: 0xfb, 0x607: 0xfb, + 0x608: 0xfb, 0x609: 0xfb, 0x60a: 0xfb, 0x60b: 0x17c, 0x60c: 0xfb, 0x60d: 0xfb, 0x60e: 0xfb, 0x60f: 0xfb, + 0x610: 0xfb, 0x611: 0xfb, 0x612: 0xfb, 0x613: 0xfb, 0x614: 0xfb, 0x615: 0xfb, 0x616: 0xfb, 0x617: 0xfb, + 0x618: 0xfb, 0x619: 0xfb, 0x61a: 0xfb, 0x61b: 0xfb, 0x61c: 0xfb, 0x61d: 0xfb, 0x61e: 0xfb, 0x61f: 0xfb, + 0x620: 0x123, 0x621: 0x123, 0x622: 0x123, 0x623: 0x17d, 0x624: 0x70, 0x625: 0x17e, 0x626: 0xfb, 0x627: 0xfb, + 0x628: 0xfb, 0x629: 0xfb, 0x62a: 0xfb, 0x62b: 0xfb, 0x62c: 0xfb, 0x62d: 0xfb, 0x62e: 0xfb, 0x62f: 0xfb, + 0x630: 0xfb, 0x631: 0x17f, 0x632: 0x180, 0x633: 0xfb, 0x634: 0x181, 0x635: 0xfb, 0x636: 0xfb, 0x637: 0xfb, + 0x638: 0x71, 0x639: 0x72, 0x63a: 0x73, 0x63b: 0x182, 0x63c: 0xfb, 0x63d: 0xfb, 0x63e: 0xfb, 0x63f: 0xfb, + // Block 0x19, offset 0x640 + 0x640: 0x183, 0x641: 0x9c, 0x642: 0x184, 0x643: 0x185, 0x644: 0x74, 0x645: 0x75, 0x646: 0x186, 0x647: 0x187, + 0x648: 0x76, 0x649: 0x188, 0x64a: 0xfb, 0x64b: 0xfb, 0x64c: 0x9c, 0x64d: 0x9c, 0x64e: 0x9c, 0x64f: 0x9c, + 0x650: 0x9c, 0x651: 0x9c, 0x652: 0x9c, 0x653: 0x9c, 0x654: 0x9c, 0x655: 0x9c, 0x656: 0x9c, 0x657: 0x9c, + 0x658: 0x9c, 0x659: 0x9c, 0x65a: 0x9c, 0x65b: 0x189, 0x65c: 0x9c, 0x65d: 0x18a, 0x65e: 0x9c, 0x65f: 0x18b, + 0x660: 0x18c, 0x661: 0x18d, 0x662: 0x18e, 0x663: 0xfb, 0x664: 0x9c, 0x665: 0x18f, 0x666: 0x9c, 0x667: 0x190, + 0x668: 0x9c, 0x669: 0x191, 0x66a: 0x192, 0x66b: 0x193, 0x66c: 0x9c, 0x66d: 0x9c, 0x66e: 0x194, 0x66f: 0x195, + 0x670: 0xfb, 0x671: 0xfb, 0x672: 0xfb, 0x673: 0xfb, 0x674: 0xfb, 0x675: 0xfb, 0x676: 0xfb, 0x677: 0xfb, + 0x678: 0xfb, 0x679: 0xfb, 0x67a: 0xfb, 0x67b: 0xfb, 0x67c: 0xfb, 0x67d: 0xfb, 0x67e: 0xfb, 0x67f: 0xfb, + // Block 0x1a, offset 0x680 + 0x680: 0xa0, 0x681: 0xa0, 0x682: 0xa0, 0x683: 0xa0, 0x684: 0xa0, 0x685: 0xa0, 0x686: 0xa0, 0x687: 0xa0, + 0x688: 0xa0, 0x689: 0xa0, 0x68a: 0xa0, 0x68b: 0xa0, 0x68c: 0xa0, 0x68d: 0xa0, 0x68e: 0xa0, 0x68f: 0xa0, + 0x690: 0xa0, 0x691: 0xa0, 0x692: 0xa0, 0x693: 0xa0, 0x694: 0xa0, 0x695: 0xa0, 0x696: 0xa0, 0x697: 0xa0, + 0x698: 0xa0, 0x699: 0xa0, 0x69a: 0xa0, 0x69b: 0x196, 0x69c: 0xa0, 0x69d: 0xa0, 0x69e: 0xa0, 0x69f: 0xa0, + 0x6a0: 0xa0, 0x6a1: 0xa0, 0x6a2: 0xa0, 0x6a3: 0xa0, 0x6a4: 0xa0, 0x6a5: 0xa0, 0x6a6: 0xa0, 0x6a7: 0xa0, + 0x6a8: 0xa0, 0x6a9: 0xa0, 0x6aa: 0xa0, 0x6ab: 0xa0, 0x6ac: 0xa0, 0x6ad: 0xa0, 0x6ae: 0xa0, 0x6af: 0xa0, + 0x6b0: 0xa0, 0x6b1: 0xa0, 0x6b2: 0xa0, 0x6b3: 0xa0, 0x6b4: 0xa0, 0x6b5: 0xa0, 0x6b6: 0xa0, 0x6b7: 0xa0, + 0x6b8: 0xa0, 0x6b9: 0xa0, 0x6ba: 0xa0, 0x6bb: 0xa0, 0x6bc: 0xa0, 0x6bd: 0xa0, 0x6be: 0xa0, 0x6bf: 0xa0, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0xa0, 0x6c1: 0xa0, 0x6c2: 0xa0, 0x6c3: 0xa0, 0x6c4: 0xa0, 0x6c5: 0xa0, 0x6c6: 0xa0, 0x6c7: 0xa0, + 0x6c8: 0xa0, 0x6c9: 0xa0, 0x6ca: 0xa0, 0x6cb: 0xa0, 0x6cc: 0xa0, 0x6cd: 0xa0, 0x6ce: 0xa0, 0x6cf: 0xa0, + 0x6d0: 0xa0, 0x6d1: 0xa0, 0x6d2: 0xa0, 0x6d3: 0xa0, 0x6d4: 0xa0, 0x6d5: 0xa0, 0x6d6: 0xa0, 0x6d7: 0xa0, + 0x6d8: 0xa0, 0x6d9: 0xa0, 0x6da: 0xa0, 0x6db: 0xa0, 0x6dc: 0x197, 0x6dd: 0xa0, 0x6de: 0xa0, 0x6df: 0xa0, + 0x6e0: 0x198, 0x6e1: 0xa0, 0x6e2: 0xa0, 0x6e3: 0xa0, 0x6e4: 0xa0, 0x6e5: 0xa0, 0x6e6: 0xa0, 0x6e7: 0xa0, + 0x6e8: 0xa0, 0x6e9: 0xa0, 0x6ea: 0xa0, 0x6eb: 0xa0, 0x6ec: 0xa0, 0x6ed: 0xa0, 0x6ee: 0xa0, 0x6ef: 0xa0, + 0x6f0: 0xa0, 0x6f1: 0xa0, 0x6f2: 0xa0, 0x6f3: 0xa0, 0x6f4: 0xa0, 0x6f5: 0xa0, 0x6f6: 0xa0, 0x6f7: 0xa0, + 0x6f8: 0xa0, 0x6f9: 0xa0, 0x6fa: 0xa0, 0x6fb: 0xa0, 0x6fc: 0xa0, 0x6fd: 0xa0, 0x6fe: 0xa0, 0x6ff: 0xa0, + // Block 0x1c, offset 0x700 + 0x700: 0xa0, 0x701: 0xa0, 0x702: 0xa0, 0x703: 0xa0, 0x704: 0xa0, 0x705: 0xa0, 0x706: 0xa0, 0x707: 0xa0, + 0x708: 0xa0, 0x709: 0xa0, 0x70a: 0xa0, 0x70b: 0xa0, 0x70c: 0xa0, 0x70d: 0xa0, 0x70e: 0xa0, 0x70f: 0xa0, + 0x710: 0xa0, 0x711: 0xa0, 0x712: 0xa0, 0x713: 0xa0, 0x714: 0xa0, 0x715: 0xa0, 0x716: 0xa0, 0x717: 0xa0, + 0x718: 0xa0, 0x719: 0xa0, 0x71a: 0xa0, 0x71b: 0xa0, 0x71c: 0xa0, 0x71d: 0xa0, 0x71e: 0xa0, 0x71f: 0xa0, + 0x720: 0xa0, 0x721: 0xa0, 0x722: 0xa0, 0x723: 0xa0, 0x724: 0xa0, 0x725: 0xa0, 0x726: 0xa0, 0x727: 0xa0, + 0x728: 0xa0, 0x729: 0xa0, 0x72a: 0xa0, 0x72b: 0xa0, 0x72c: 0xa0, 0x72d: 0xa0, 0x72e: 0xa0, 0x72f: 0xa0, + 0x730: 0xa0, 0x731: 0xa0, 0x732: 0xa0, 0x733: 0xa0, 0x734: 0xa0, 0x735: 0xa0, 0x736: 0xa0, 0x737: 0xa0, + 0x738: 0xa0, 0x739: 0xa0, 0x73a: 0x199, 0x73b: 0xa0, 0x73c: 0xa0, 0x73d: 0xa0, 0x73e: 0xa0, 0x73f: 0xa0, + // Block 0x1d, offset 0x740 + 0x740: 0xa0, 0x741: 0xa0, 0x742: 0xa0, 0x743: 0xa0, 0x744: 0xa0, 0x745: 0xa0, 0x746: 0xa0, 0x747: 0xa0, + 0x748: 0xa0, 0x749: 0xa0, 0x74a: 0xa0, 0x74b: 0xa0, 0x74c: 0xa0, 0x74d: 0xa0, 0x74e: 0xa0, 0x74f: 0xa0, + 0x750: 0xa0, 0x751: 0xa0, 0x752: 0xa0, 0x753: 0xa0, 0x754: 0xa0, 0x755: 0xa0, 0x756: 0xa0, 0x757: 0xa0, + 0x758: 0xa0, 0x759: 0xa0, 0x75a: 0xa0, 0x75b: 0xa0, 0x75c: 0xa0, 0x75d: 0xa0, 0x75e: 0xa0, 0x75f: 0xa0, + 0x760: 0xa0, 0x761: 0xa0, 0x762: 0xa0, 0x763: 0xa0, 0x764: 0xa0, 0x765: 0xa0, 0x766: 0xa0, 0x767: 0xa0, + 0x768: 0xa0, 0x769: 0xa0, 0x76a: 0xa0, 0x76b: 0xa0, 0x76c: 0xa0, 0x76d: 0xa0, 0x76e: 0xa0, 0x76f: 0x19a, + 0x770: 0xfb, 0x771: 0xfb, 0x772: 0xfb, 0x773: 0xfb, 0x774: 0xfb, 0x775: 0xfb, 0x776: 0xfb, 0x777: 0xfb, + 0x778: 0xfb, 0x779: 0xfb, 0x77a: 0xfb, 0x77b: 0xfb, 0x77c: 0xfb, 0x77d: 0xfb, 0x77e: 0xfb, 0x77f: 0xfb, + // Block 0x1e, offset 0x780 + 0x780: 0xfb, 0x781: 0xfb, 0x782: 0xfb, 0x783: 0xfb, 0x784: 0xfb, 0x785: 0xfb, 0x786: 0xfb, 0x787: 0xfb, + 0x788: 0xfb, 0x789: 0xfb, 0x78a: 0xfb, 0x78b: 0xfb, 0x78c: 0xfb, 0x78d: 0xfb, 0x78e: 0xfb, 0x78f: 0xfb, + 0x790: 0xfb, 0x791: 0xfb, 0x792: 0xfb, 0x793: 0xfb, 0x794: 0xfb, 0x795: 0xfb, 0x796: 0xfb, 0x797: 0xfb, + 0x798: 0xfb, 0x799: 0xfb, 0x79a: 0xfb, 0x79b: 0xfb, 0x79c: 0xfb, 0x79d: 0xfb, 0x79e: 0xfb, 0x79f: 0xfb, + 0x7a0: 0x77, 0x7a1: 0x78, 0x7a2: 0x79, 0x7a3: 0x19b, 0x7a4: 0x7a, 0x7a5: 0x7b, 0x7a6: 0x19c, 0x7a7: 0x7c, + 0x7a8: 0x7d, 0x7a9: 0xfb, 0x7aa: 0xfb, 0x7ab: 0xfb, 0x7ac: 0xfb, 0x7ad: 0xfb, 0x7ae: 0xfb, 0x7af: 0xfb, + 0x7b0: 0xfb, 0x7b1: 0xfb, 0x7b2: 0xfb, 0x7b3: 0xfb, 0x7b4: 0xfb, 0x7b5: 0xfb, 0x7b6: 0xfb, 0x7b7: 0xfb, + 0x7b8: 0xfb, 0x7b9: 0xfb, 0x7ba: 0xfb, 0x7bb: 0xfb, 0x7bc: 0xfb, 0x7bd: 0xfb, 0x7be: 0xfb, 0x7bf: 0xfb, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0xa0, 0x7c1: 0xa0, 0x7c2: 0xa0, 0x7c3: 0xa0, 0x7c4: 0xa0, 0x7c5: 0xa0, 0x7c6: 0xa0, 0x7c7: 0xa0, + 0x7c8: 0xa0, 0x7c9: 0xa0, 0x7ca: 0xa0, 0x7cb: 0xa0, 0x7cc: 0xa0, 0x7cd: 0x19d, 0x7ce: 0xfb, 0x7cf: 0xfb, + 0x7d0: 0xfb, 0x7d1: 0xfb, 0x7d2: 0xfb, 0x7d3: 0xfb, 0x7d4: 0xfb, 0x7d5: 0xfb, 0x7d6: 0xfb, 0x7d7: 0xfb, + 0x7d8: 0xfb, 0x7d9: 0xfb, 0x7da: 0xfb, 0x7db: 0xfb, 0x7dc: 0xfb, 0x7dd: 0xfb, 0x7de: 0xfb, 0x7df: 0xfb, + 0x7e0: 0xfb, 0x7e1: 0xfb, 0x7e2: 0xfb, 0x7e3: 0xfb, 0x7e4: 0xfb, 0x7e5: 0xfb, 0x7e6: 0xfb, 0x7e7: 0xfb, + 0x7e8: 0xfb, 0x7e9: 0xfb, 0x7ea: 0xfb, 0x7eb: 0xfb, 0x7ec: 0xfb, 0x7ed: 0xfb, 0x7ee: 0xfb, 0x7ef: 0xfb, + 0x7f0: 0xfb, 0x7f1: 0xfb, 0x7f2: 0xfb, 0x7f3: 0xfb, 0x7f4: 0xfb, 0x7f5: 0xfb, 0x7f6: 0xfb, 0x7f7: 0xfb, + 0x7f8: 0xfb, 0x7f9: 0xfb, 0x7fa: 0xfb, 0x7fb: 0xfb, 0x7fc: 0xfb, 0x7fd: 0xfb, 0x7fe: 0xfb, 0x7ff: 0xfb, + // Block 0x20, offset 0x800 + 0x810: 0x0d, 0x811: 0x0e, 0x812: 0x0f, 0x813: 0x10, 0x814: 0x11, 0x815: 0x0b, 0x816: 0x12, 0x817: 0x07, + 0x818: 0x13, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x14, 0x81c: 0x0b, 0x81d: 0x15, 0x81e: 0x16, 0x81f: 0x17, + 0x820: 0x07, 0x821: 0x07, 0x822: 0x07, 0x823: 0x07, 0x824: 0x07, 0x825: 0x07, 0x826: 0x07, 0x827: 0x07, + 0x828: 0x07, 0x829: 0x07, 0x82a: 0x18, 0x82b: 0x19, 0x82c: 0x1a, 0x82d: 0x07, 0x82e: 0x1b, 0x82f: 0x1c, + 0x830: 0x07, 0x831: 0x1d, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b, + 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b, + // Block 0x21, offset 0x840 + 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b, + 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b, + 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b, + 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b, + 0x860: 0x0b, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b, + 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b, + 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b, + 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b, + // Block 0x22, offset 0x880 + 0x880: 0x19e, 0x881: 0x19f, 0x882: 0xfb, 0x883: 0xfb, 0x884: 0x1a0, 0x885: 0x1a0, 0x886: 0x1a0, 0x887: 0x1a1, + 0x888: 0xfb, 0x889: 0xfb, 0x88a: 0xfb, 0x88b: 0xfb, 0x88c: 0xfb, 0x88d: 0xfb, 0x88e: 0xfb, 0x88f: 0xfb, + 0x890: 0xfb, 0x891: 0xfb, 0x892: 0xfb, 0x893: 0xfb, 0x894: 0xfb, 0x895: 0xfb, 0x896: 0xfb, 0x897: 0xfb, + 0x898: 0xfb, 0x899: 0xfb, 0x89a: 0xfb, 0x89b: 0xfb, 0x89c: 0xfb, 0x89d: 0xfb, 0x89e: 0xfb, 0x89f: 0xfb, + 0x8a0: 0xfb, 0x8a1: 0xfb, 0x8a2: 0xfb, 0x8a3: 0xfb, 0x8a4: 0xfb, 0x8a5: 0xfb, 0x8a6: 0xfb, 0x8a7: 0xfb, + 0x8a8: 0xfb, 0x8a9: 0xfb, 0x8aa: 0xfb, 0x8ab: 0xfb, 0x8ac: 0xfb, 0x8ad: 0xfb, 0x8ae: 0xfb, 0x8af: 0xfb, + 0x8b0: 0xfb, 0x8b1: 0xfb, 0x8b2: 0xfb, 0x8b3: 0xfb, 0x8b4: 0xfb, 0x8b5: 0xfb, 0x8b6: 0xfb, 0x8b7: 0xfb, + 0x8b8: 0xfb, 0x8b9: 0xfb, 0x8ba: 0xfb, 0x8bb: 0xfb, 0x8bc: 0xfb, 0x8bd: 0xfb, 0x8be: 0xfb, 0x8bf: 0xfb, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b, + 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b, + 0x8d0: 0x0b, 0x8d1: 0x0b, 0x8d2: 0x0b, 0x8d3: 0x0b, 0x8d4: 0x0b, 0x8d5: 0x0b, 0x8d6: 0x0b, 0x8d7: 0x0b, + 0x8d8: 0x0b, 0x8d9: 0x0b, 0x8da: 0x0b, 0x8db: 0x0b, 0x8dc: 0x0b, 0x8dd: 0x0b, 0x8de: 0x0b, 0x8df: 0x0b, + 0x8e0: 0x20, 0x8e1: 0x0b, 0x8e2: 0x0b, 0x8e3: 0x0b, 0x8e4: 0x0b, 0x8e5: 0x0b, 0x8e6: 0x0b, 0x8e7: 0x0b, + 0x8e8: 0x0b, 0x8e9: 0x0b, 0x8ea: 0x0b, 0x8eb: 0x0b, 0x8ec: 0x0b, 0x8ed: 0x0b, 0x8ee: 0x0b, 0x8ef: 0x0b, + 0x8f0: 0x0b, 0x8f1: 0x0b, 0x8f2: 0x0b, 0x8f3: 0x0b, 0x8f4: 0x0b, 0x8f5: 0x0b, 0x8f6: 0x0b, 0x8f7: 0x0b, + 0x8f8: 0x0b, 0x8f9: 0x0b, 0x8fa: 0x0b, 0x8fb: 0x0b, 0x8fc: 0x0b, 0x8fd: 0x0b, 0x8fe: 0x0b, 0x8ff: 0x0b, + // Block 0x24, offset 0x900 + 0x900: 0x0b, 0x901: 0x0b, 0x902: 0x0b, 0x903: 0x0b, 0x904: 0x0b, 0x905: 0x0b, 0x906: 0x0b, 0x907: 0x0b, + 0x908: 0x0b, 0x909: 0x0b, 0x90a: 0x0b, 0x90b: 0x0b, 0x90c: 0x0b, 0x90d: 0x0b, 0x90e: 0x0b, 0x90f: 0x0b, +} + +// idnaSparseOffset: 292 entries, 584 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x85, 0x8b, 0x94, 0xa4, 0xb2, 0xbd, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x225, 0x22f, 0x23b, 0x247, 0x253, 0x25b, 0x260, 0x26d, 0x27e, 0x282, 0x28d, 0x291, 0x29a, 0x2a2, 0x2a8, 0x2ad, 0x2b0, 0x2b4, 0x2ba, 0x2be, 0x2c2, 0x2c6, 0x2cc, 0x2d4, 0x2db, 0x2e6, 0x2f0, 0x2f4, 0x2f7, 0x2fd, 0x301, 0x303, 0x306, 0x308, 0x30b, 0x315, 0x318, 0x327, 0x32b, 0x330, 0x333, 0x337, 0x33c, 0x341, 0x347, 0x358, 0x368, 0x36e, 0x372, 0x381, 0x386, 0x38e, 0x398, 0x3a3, 0x3ab, 0x3bc, 0x3c5, 0x3d5, 0x3e2, 0x3ee, 0x3f3, 0x400, 0x404, 0x409, 0x40b, 0x40d, 0x411, 0x413, 0x417, 0x420, 0x426, 0x42a, 0x43a, 0x444, 0x449, 0x44c, 0x452, 0x459, 0x45e, 0x462, 0x468, 0x46d, 0x476, 0x47b, 0x481, 0x488, 0x48f, 0x496, 0x49a, 0x49f, 0x4a2, 0x4a7, 0x4b3, 0x4b9, 0x4be, 0x4c5, 0x4cd, 0x4d2, 0x4d6, 0x4e6, 0x4ed, 0x4f1, 0x4f5, 0x4fc, 0x4fe, 0x501, 0x504, 0x508, 0x511, 0x515, 0x51d, 0x525, 0x52d, 0x539, 0x545, 0x54b, 0x554, 0x560, 0x567, 0x570, 0x57b, 0x582, 0x591, 0x59e, 0x5ab, 0x5b4, 0x5b8, 0x5c7, 0x5cf, 0x5da, 0x5e3, 0x5e9, 0x5f1, 0x5fa, 0x605, 0x608, 0x614, 0x61d, 0x620, 0x625, 0x62e, 0x633, 0x640, 0x64b, 0x654, 0x65e, 0x661, 0x66b, 0x674, 0x680, 0x68d, 0x69a, 0x6a8, 0x6af, 0x6b3, 0x6b7, 0x6ba, 0x6bf, 0x6c2, 0x6c7, 0x6ca, 0x6d1, 0x6d8, 0x6dc, 0x6e7, 0x6ea, 0x6ed, 0x6f0, 0x6f6, 0x6fc, 0x705, 0x708, 0x70b, 0x70e, 0x711, 0x718, 0x71b, 0x720, 0x72a, 0x72d, 0x731, 0x740, 0x74c, 0x750, 0x755, 0x759, 0x75e, 0x762, 0x767, 0x770, 0x77b, 0x781, 0x787, 0x78d, 0x793, 0x79c, 0x79f, 0x7a2, 0x7a6, 0x7aa, 0x7ae, 0x7b4, 0x7ba, 0x7bf, 0x7c2, 0x7d2, 0x7d9, 0x7dc, 0x7e1, 0x7e5, 0x7eb, 0x7f2, 0x7f6, 0x7fa, 0x803, 0x80a, 0x80f, 0x813, 0x821, 0x824, 0x827, 0x82b, 0x82f, 0x832, 0x842, 0x853, 0x856, 0x85b, 0x85d, 0x85f} + +// idnaSparseValues: 2146 entries, 8584 bytes +var idnaSparseValues = [2146]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x06}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x6, offset 0x33 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3e + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xae}, + {value: 0x0808, lo: 0xaf, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4a + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4e + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5d + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x62 + {value: 0x0000, lo: 0x09}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbf}, + // Block 0xc, offset 0x6c + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x78 + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xe, offset 0x85 + {value: 0x0000, lo: 0x05}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0xf, offset 0x8b + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0x94 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x11, offset 0xa4 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x12, offset 0xb2 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x3b08, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbd + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xca + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x15, offset 0xdb + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x16, offset 0xe5 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x17, offset 0xec + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x18, offset 0xf9 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x19, offset 0x10a + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1a, offset 0x111 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0x11c + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1c, offset 0x12b + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1d, offset 0x139 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0x143 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x1f, offset 0x145 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x20, offset 0x14a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x21, offset 0x14d + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x22, offset 0x150 + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x23, offset 0x152 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x24, offset 0x15e + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x25, offset 0x169 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x26, offset 0x171 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x177 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x28, offset 0x17d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x29, offset 0x182 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2a, offset 0x187 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2b, offset 0x18a + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2c, offset 0x18e + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2d, offset 0x194 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2e, offset 0x199 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x2f, offset 0x1a5 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x30, offset 0x1af + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x31, offset 0x1b5 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x32, offset 0x1c6 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x33, offset 0x1d0 + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x34, offset 0x1d3 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x35, offset 0x1db + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x36, offset 0x1de + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x37, offset 0x1eb + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x38, offset 0x1f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x39, offset 0x1f7 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3a, offset 0x1fe + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3b, offset 0x206 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x216 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x222 + {value: 0x0000, lo: 0x02}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0xbf}, + // Block 0x3e, offset 0x225 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x3f, offset 0x22f + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x23b + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x41, offset 0x247 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x42, offset 0x253 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x43, offset 0x25b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x44, offset 0x260 + {value: 0x0000, lo: 0x0c}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x059d, lo: 0x90, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x059d, lo: 0xbd, hi: 0xbf}, + // Block 0x45, offset 0x26d + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x46, offset 0x27e + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x47, offset 0x282 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x48, offset 0x28d + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x49, offset 0x291 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4a, offset 0x29a + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4b, offset 0x2a2 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4c, offset 0x2a8 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09dd, lo: 0xa9, hi: 0xa9}, + {value: 0x09fd, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4d, offset 0x2ad + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x4e, offset 0x2b0 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x4f, offset 0x2b4 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e7e, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e9e, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x50, offset 0x2ba + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x51, offset 0x2be + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x52, offset 0x2c2 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0xbf}, + // Block 0x53, offset 0x2c6 + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ebd, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x54, offset 0x2cc + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x55, offset 0x2d4 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x56, offset 0x2db + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x57, offset 0x2e6 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x58, offset 0x2f0 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x59, offset 0x2f4 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0xbf}, + // Block 0x5a, offset 0x2f7 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0ef5, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5b, offset 0x2fd + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0f15, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5c, offset 0x301 + {value: 0x0020, lo: 0x01}, + {value: 0x0f35, lo: 0x80, hi: 0xbf}, + // Block 0x5d, offset 0x303 + {value: 0x0020, lo: 0x02}, + {value: 0x1735, lo: 0x80, hi: 0x8f}, + {value: 0x1915, lo: 0x90, hi: 0xbf}, + // Block 0x5e, offset 0x306 + {value: 0x0020, lo: 0x01}, + {value: 0x1f15, lo: 0x80, hi: 0xbf}, + // Block 0x5f, offset 0x308 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x60, offset 0x30b + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x61, offset 0x315 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x62, offset 0x318 + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb0}, + {value: 0x2a35, lo: 0xb1, hi: 0xb1}, + {value: 0x2a55, lo: 0xb2, hi: 0xb2}, + {value: 0x2a75, lo: 0xb3, hi: 0xb3}, + {value: 0x2a95, lo: 0xb4, hi: 0xb4}, + {value: 0x2a75, lo: 0xb5, hi: 0xb5}, + {value: 0x2ab5, lo: 0xb6, hi: 0xb6}, + {value: 0x2ad5, lo: 0xb7, hi: 0xb7}, + {value: 0x2af5, lo: 0xb8, hi: 0xb9}, + {value: 0x2b15, lo: 0xba, hi: 0xbb}, + {value: 0x2b35, lo: 0xbc, hi: 0xbd}, + {value: 0x2b15, lo: 0xbe, hi: 0xbf}, + // Block 0x63, offset 0x327 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x64, offset 0x32b + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x65, offset 0x330 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x66, offset 0x333 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x67, offset 0x337 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x68, offset 0x33c + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x69, offset 0x341 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6a, offset 0x347 + {value: 0x0000, lo: 0x10}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0xe00d, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x83}, + {value: 0x03f5, lo: 0x84, hi: 0x84}, + {value: 0x1329, lo: 0x85, hi: 0x85}, + {value: 0x447d, lo: 0x86, hi: 0x86}, + {value: 0xe07d, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0xe01d, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0xb4}, + {value: 0xe01d, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6ec1, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6b, offset 0x358 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x3b08, lo: 0xac, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6c, offset 0x368 + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6d, offset 0x36e + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x6e, offset 0x372 + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x6f, offset 0x381 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x70, offset 0x386 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x71, offset 0x38e + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x72, offset 0x398 + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x73, offset 0x3a3 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x74, offset 0x3ab + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x75, offset 0x3bc + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x76, offset 0x3c5 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x77, offset 0x3d5 + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x78, offset 0x3e2 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x449d, lo: 0x9c, hi: 0x9c}, + {value: 0x44b5, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa8}, + {value: 0x6ed9, lo: 0xa9, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x44cd, lo: 0xb0, hi: 0xbf}, + // Block 0x79, offset 0x3ee + {value: 0x0000, lo: 0x04}, + {value: 0x44ed, lo: 0x80, hi: 0x8f}, + {value: 0x450d, lo: 0x90, hi: 0x9f}, + {value: 0x452d, lo: 0xa0, hi: 0xaf}, + {value: 0x450d, lo: 0xb0, hi: 0xbf}, + // Block 0x7a, offset 0x3f3 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7b, offset 0x400 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7c, offset 0x404 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x7d, offset 0x409 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x7e, offset 0x40b + {value: 0x0020, lo: 0x01}, + {value: 0x454d, lo: 0x80, hi: 0xbf}, + // Block 0x7f, offset 0x40d + {value: 0x0020, lo: 0x03}, + {value: 0x4d4d, lo: 0x80, hi: 0x94}, + {value: 0x4b0d, lo: 0x95, hi: 0x95}, + {value: 0x4fed, lo: 0x96, hi: 0xbf}, + // Block 0x80, offset 0x411 + {value: 0x0020, lo: 0x01}, + {value: 0x552d, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x413 + {value: 0x0020, lo: 0x03}, + {value: 0x5d2d, lo: 0x80, hi: 0x84}, + {value: 0x568d, lo: 0x85, hi: 0x85}, + {value: 0x5dcd, lo: 0x86, hi: 0xbf}, + // Block 0x82, offset 0x417 + {value: 0x0020, lo: 0x08}, + {value: 0x6b8d, lo: 0x80, hi: 0x8f}, + {value: 0x6d4d, lo: 0x90, hi: 0x90}, + {value: 0x6d8d, lo: 0x91, hi: 0xab}, + {value: 0x6ef1, lo: 0xac, hi: 0xac}, + {value: 0x70ed, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x710d, lo: 0xb0, hi: 0xbf}, + // Block 0x83, offset 0x420 + {value: 0x0020, lo: 0x05}, + {value: 0x730d, lo: 0x80, hi: 0xad}, + {value: 0x656d, lo: 0xae, hi: 0xae}, + {value: 0x78cd, lo: 0xaf, hi: 0xb5}, + {value: 0x6f8d, lo: 0xb6, hi: 0xb6}, + {value: 0x79ad, lo: 0xb7, hi: 0xbf}, + // Block 0x84, offset 0x426 + {value: 0x0028, lo: 0x03}, + {value: 0x7c71, lo: 0x80, hi: 0x82}, + {value: 0x7c31, lo: 0x83, hi: 0x83}, + {value: 0x7ce9, lo: 0x84, hi: 0xbf}, + // Block 0x85, offset 0x42a + {value: 0x0038, lo: 0x0f}, + {value: 0x9e01, lo: 0x80, hi: 0x83}, + {value: 0x9ea9, lo: 0x84, hi: 0x85}, + {value: 0x9ee1, lo: 0x86, hi: 0x87}, + {value: 0x9f19, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa0d9, lo: 0x92, hi: 0x97}, + {value: 0xa1f1, lo: 0x98, hi: 0x9c}, + {value: 0xa2d1, lo: 0x9d, hi: 0xb3}, + {value: 0x9d91, lo: 0xb4, hi: 0xb4}, + {value: 0x9e01, lo: 0xb5, hi: 0xb5}, + {value: 0xa7d9, lo: 0xb6, hi: 0xbb}, + {value: 0xa8b9, lo: 0xbc, hi: 0xbc}, + {value: 0xa849, lo: 0xbd, hi: 0xbd}, + {value: 0xa929, lo: 0xbe, hi: 0xbf}, + // Block 0x86, offset 0x43a + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x87, offset 0x444 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x88, offset 0x449 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x89, offset 0x44c + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8a, offset 0x452 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8b, offset 0x459 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8c, offset 0x45e + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8d, offset 0x462 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x8e, offset 0x468 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xbf}, + // Block 0x8f, offset 0x46d + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x90, offset 0x476 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x91, offset 0x47b + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x92, offset 0x481 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8b0d, lo: 0x98, hi: 0x9f}, + {value: 0x8b25, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x93, offset 0x488 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8b25, lo: 0xb0, hi: 0xb7}, + {value: 0x8b0d, lo: 0xb8, hi: 0xbf}, + // Block 0x94, offset 0x48f + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x95, offset 0x496 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x96, offset 0x49a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x49f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x98, offset 0x4a2 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x99, offset 0x4a7 + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x4b3 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9b, offset 0x4b9 + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9c, offset 0x4be + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9d, offset 0x4c5 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x4cd + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0x9f, offset 0x4d2 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa0, offset 0x4d6 + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa1, offset 0x4e6 + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa2, offset 0x4ed + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x4f1 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa4, offset 0x4f5 + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa5, offset 0x4fc + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa6, offset 0x4fe + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa7, offset 0x501 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xa8, offset 0x504 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x508 + {value: 0x0000, lo: 0x08}, + {value: 0x0908, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0xa1}, + {value: 0x0c08, lo: 0xa2, hi: 0xa2}, + {value: 0x0a08, lo: 0xa3, hi: 0xa3}, + {value: 0x3308, lo: 0xa4, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xaa, offset 0x511 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xab, offset 0x515 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xac}, + {value: 0x0818, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xac, offset 0x51d + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0xa6}, + {value: 0x0808, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0a08, lo: 0xb0, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb3}, + {value: 0x0a08, lo: 0xb4, hi: 0xbf}, + // Block 0xad, offset 0x525 + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x84}, + {value: 0x0808, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x90}, + {value: 0x0a18, lo: 0x91, hi: 0x93}, + {value: 0x0c18, lo: 0x94, hi: 0x94}, + {value: 0x0818, lo: 0x95, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xae, offset 0x52d + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0a08, lo: 0xb0, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb3}, + {value: 0x0c08, lo: 0xb4, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb7}, + {value: 0x0a08, lo: 0xb8, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xba}, + {value: 0x0a08, lo: 0xbb, hi: 0xbc}, + {value: 0x0c08, lo: 0xbd, hi: 0xbd}, + {value: 0x0a08, lo: 0xbe, hi: 0xbf}, + // Block 0xaf, offset 0x539 + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0x81}, + {value: 0x0c08, lo: 0x82, hi: 0x83}, + {value: 0x0a08, lo: 0x84, hi: 0x84}, + {value: 0x0818, lo: 0x85, hi: 0x88}, + {value: 0x0c18, lo: 0x89, hi: 0x89}, + {value: 0x0a18, lo: 0x8a, hi: 0x8a}, + {value: 0x0918, lo: 0x8b, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb0, offset 0x545 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb1, offset 0x54b + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xb2, offset 0x554 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xb3, offset 0x560 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb4, offset 0x567 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xb5, offset 0x570 + {value: 0x0000, lo: 0x0a}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb6, offset 0x57b + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb7, offset 0x582 + {value: 0x0000, lo: 0x0e}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x3008, lo: 0x8e, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb8, offset 0x591 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb9, offset 0x59e + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xba, offset 0x5ab + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xbb, offset 0x5b4 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xbc, offset 0x5b8 + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xbd, offset 0x5c7 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xbe, offset 0x5cf + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xbf, offset 0x5da + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xc0, offset 0x5e3 + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xc1, offset 0x5e9 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xc2, offset 0x5f1 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xc3, offset 0x5fa + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xc4, offset 0x605 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xc5, offset 0x608 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc6, offset 0x614 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xc7, offset 0x61d + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc8, offset 0x620 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc9, offset 0x625 + {value: 0x0000, lo: 0x08}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xca, offset 0x62e + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xbf}, + // Block 0xcb, offset 0x633 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x99}, + {value: 0x3308, lo: 0x9a, hi: 0x9b}, + {value: 0x3008, lo: 0x9c, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x0018, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xbf}, + // Block 0xcc, offset 0x640 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xcd, offset 0x64b + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x3b08, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0xbf}, + // Block 0xce, offset 0x654 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x98}, + {value: 0x3b08, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xbf}, + // Block 0xcf, offset 0x65e + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xd0, offset 0x661 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xd1, offset 0x66b + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xd2, offset 0x674 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xd3, offset 0x680 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xd4, offset 0x68d + {value: 0x0000, lo: 0x0c}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xbf}, + // Block 0xd5, offset 0x69a + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x3008, lo: 0x93, hi: 0x94}, + {value: 0x3308, lo: 0x95, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x96}, + {value: 0x3b08, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xbf}, + // Block 0xd6, offset 0x6a8 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xd7, offset 0x6af + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0xd8, offset 0x6b3 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xd9, offset 0x6b7 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xda, offset 0x6ba + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xdb, offset 0x6bf + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xdc, offset 0x6c2 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0340, lo: 0xb0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xdd, offset 0x6c7 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xde, offset 0x6ca + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xdf, offset 0x6d1 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xe0, offset 0x6d8 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xe1, offset 0x6dc + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xe2, offset 0x6e7 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xe3, offset 0x6ea + {value: 0x0000, lo: 0x02}, + {value: 0xe105, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xe4, offset 0x6ed + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0xe5, offset 0x6f0 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbf}, + // Block 0xe6, offset 0x6f6 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xe7, offset 0x6fc + {value: 0x0000, lo: 0x08}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa1}, + {value: 0x0018, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xa3}, + {value: 0x3308, lo: 0xa4, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe8, offset 0x705 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xe9, offset 0x708 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0xea, offset 0x70b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xeb, offset 0x70e + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xec, offset 0x711 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0xa3}, + {value: 0x0008, lo: 0xa4, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xed, offset 0x718 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xee, offset 0x71b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xef, offset 0x720 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xf0, offset 0x72a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xf1, offset 0x72d + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xf2, offset 0x731 + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb609, lo: 0x9e, hi: 0x9e}, + {value: 0xb651, lo: 0x9f, hi: 0x9f}, + {value: 0xb699, lo: 0xa0, hi: 0xa0}, + {value: 0xb701, lo: 0xa1, hi: 0xa1}, + {value: 0xb769, lo: 0xa2, hi: 0xa2}, + {value: 0xb7d1, lo: 0xa3, hi: 0xa3}, + {value: 0xb839, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xf3, offset 0x740 + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb8a1, lo: 0xbb, hi: 0xbb}, + {value: 0xb8e9, lo: 0xbc, hi: 0xbc}, + {value: 0xb931, lo: 0xbd, hi: 0xbd}, + {value: 0xb999, lo: 0xbe, hi: 0xbe}, + {value: 0xba01, lo: 0xbf, hi: 0xbf}, + // Block 0xf4, offset 0x74c + {value: 0x0000, lo: 0x03}, + {value: 0xba69, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xf5, offset 0x750 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xf6, offset 0x755 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xf7, offset 0x759 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xf8, offset 0x75e + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xf9, offset 0x762 + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xfa, offset 0x767 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xfb, offset 0x770 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xfc, offset 0x77b + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xfd, offset 0x781 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xfe, offset 0x787 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xff, offset 0x78d + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0x100, offset 0x793 + {value: 0x0000, lo: 0x08}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0b08, lo: 0x8b, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x101, offset 0x79c + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xb0}, + {value: 0x0818, lo: 0xb1, hi: 0xbf}, + // Block 0x102, offset 0x79f + {value: 0x0000, lo: 0x02}, + {value: 0x0818, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x103, offset 0x7a2 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0818, lo: 0x81, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x104, offset 0x7a6 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0x105, offset 0x7aa + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x106, offset 0x7ae + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x107, offset 0x7b4 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x108, offset 0x7ba + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc229, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0x109, offset 0x7bf + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0x10a, offset 0x7c2 + {value: 0x0000, lo: 0x0f}, + {value: 0xc851, lo: 0x80, hi: 0x80}, + {value: 0xc8a1, lo: 0x81, hi: 0x81}, + {value: 0xc8f1, lo: 0x82, hi: 0x82}, + {value: 0xc941, lo: 0x83, hi: 0x83}, + {value: 0xc991, lo: 0x84, hi: 0x84}, + {value: 0xc9e1, lo: 0x85, hi: 0x85}, + {value: 0xca31, lo: 0x86, hi: 0x86}, + {value: 0xca81, lo: 0x87, hi: 0x87}, + {value: 0xcad1, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcb21, lo: 0x90, hi: 0x90}, + {value: 0xcb41, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xbf}, + // Block 0x10b, offset 0x7d2 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x10c, offset 0x7d9 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x10d, offset 0x7dc + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x10e, offset 0x7e1 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x10f, offset 0x7e5 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x110, offset 0x7eb + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0x111, offset 0x7f2 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0x112, offset 0x7f6 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x113, offset 0x7fa + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x114, offset 0x803 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x115, offset 0x80a + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0x116, offset 0x80f + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0xbf}, + // Block 0x117, offset 0x813 + {value: 0x0000, lo: 0x0d}, + {value: 0x0018, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0xaf}, + {value: 0x1f41, lo: 0xb0, hi: 0xb0}, + {value: 0x00c9, lo: 0xb1, hi: 0xb1}, + {value: 0x0069, lo: 0xb2, hi: 0xb2}, + {value: 0x0079, lo: 0xb3, hi: 0xb3}, + {value: 0x1f51, lo: 0xb4, hi: 0xb4}, + {value: 0x1f61, lo: 0xb5, hi: 0xb5}, + {value: 0x1f71, lo: 0xb6, hi: 0xb6}, + {value: 0x1f81, lo: 0xb7, hi: 0xb7}, + {value: 0x1f91, lo: 0xb8, hi: 0xb8}, + {value: 0x1fa1, lo: 0xb9, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x118, offset 0x821 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x119, offset 0x824 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x11a, offset 0x827 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x11b, offset 0x82b + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x11c, offset 0x82f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x11d, offset 0x832 + {value: 0x0020, lo: 0x0f}, + {value: 0xdf21, lo: 0x80, hi: 0x89}, + {value: 0x8e35, lo: 0x8a, hi: 0x8a}, + {value: 0xe061, lo: 0x8b, hi: 0x9c}, + {value: 0x8e55, lo: 0x9d, hi: 0x9d}, + {value: 0xe2a1, lo: 0x9e, hi: 0xa2}, + {value: 0x8e75, lo: 0xa3, hi: 0xa3}, + {value: 0xe341, lo: 0xa4, hi: 0xab}, + {value: 0x7f0d, lo: 0xac, hi: 0xac}, + {value: 0xe441, lo: 0xad, hi: 0xaf}, + {value: 0x8e95, lo: 0xb0, hi: 0xb0}, + {value: 0xe4a1, lo: 0xb1, hi: 0xb6}, + {value: 0x8eb5, lo: 0xb7, hi: 0xb9}, + {value: 0xe561, lo: 0xba, hi: 0xba}, + {value: 0x8f15, lo: 0xbb, hi: 0xbb}, + {value: 0xe581, lo: 0xbc, hi: 0xbf}, + // Block 0x11e, offset 0x842 + {value: 0x0020, lo: 0x10}, + {value: 0x93b5, lo: 0x80, hi: 0x80}, + {value: 0xf101, lo: 0x81, hi: 0x86}, + {value: 0x93d5, lo: 0x87, hi: 0x8a}, + {value: 0xda61, lo: 0x8b, hi: 0x8b}, + {value: 0xf1c1, lo: 0x8c, hi: 0x96}, + {value: 0x9455, lo: 0x97, hi: 0x97}, + {value: 0xf321, lo: 0x98, hi: 0xa3}, + {value: 0x9475, lo: 0xa4, hi: 0xa6}, + {value: 0xf4a1, lo: 0xa7, hi: 0xaa}, + {value: 0x94d5, lo: 0xab, hi: 0xab}, + {value: 0xf521, lo: 0xac, hi: 0xac}, + {value: 0x94f5, lo: 0xad, hi: 0xad}, + {value: 0xf541, lo: 0xae, hi: 0xaf}, + {value: 0x9515, lo: 0xb0, hi: 0xb1}, + {value: 0xf581, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0x11f, offset 0x853 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0xbf}, + // Block 0x120, offset 0x856 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0x121, offset 0x85b + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x122, offset 0x85d + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x123, offset 0x85f + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 43370 bytes (42KiB); checksum: EBD909C0 diff --git a/vendor/golang.org/x/net/idna/tables9.0.0.go b/vendor/golang.org/x/net/idna/tables9.0.0.go new file mode 100644 index 000000000..4074b5332 --- /dev/null +++ b/vendor/golang.org/x/net/idna/tables9.0.0.go @@ -0,0 +1,4487 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build !go1.10 +// +build !go1.10 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +var mappings string = "" + // Size: 8175 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07</\x03\x07:+\x03\x07\x07*\x03\x06&\x1c\x03\x09\x0c" + + "\x16\x03\x09\x10\x0e\x03\x08'\x0f\x03\x08+\x09\x03\x074%\x03\x06!3\x03" + + "\x06\x03+\x03\x0b\x1e\x19\x03\x0a))\x03\x09\x08\x19\x03\x08,\x05\x03\x07" + + "<2\x03\x06\x1c>\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c<?\x03\x0c=\x00\x03\x0c=\x06\x03\x0c=\x05\x03" + + "\x0c=\x0c\x03\x0c=\x0f\x03\x0c=\x0d\x03\x0c=\x0b\x03\x0c=\x07\x03\x0c=" + + "\x19\x03\x0c=\x15\x03\x0c=\x11\x03\x0c=1\x03\x0c=3\x03\x0c=0\x03\x0c=>" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 28600 bytes (27.93 KiB). Checksum: 95575047b5d8fff. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 124: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 124 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 126 blocks, 8064 entries, 16128 bytes +// The third block is the zero block. +var idnaValues = [8064]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x3008, 0x541: 0x3308, 0x542: 0x3308, 0x543: 0x3308, 0x544: 0x3308, 0x545: 0x3308, + 0x546: 0x3308, 0x547: 0x3308, 0x548: 0x3308, 0x549: 0x3008, 0x54a: 0x3008, 0x54b: 0x3008, + 0x54c: 0x3008, 0x54d: 0x3b08, 0x54e: 0x3008, 0x54f: 0x3008, 0x550: 0x0008, 0x551: 0x3308, + 0x552: 0x3308, 0x553: 0x3308, 0x554: 0x3308, 0x555: 0x3308, 0x556: 0x3308, 0x557: 0x3308, + 0x558: 0x04c9, 0x559: 0x0501, 0x55a: 0x0539, 0x55b: 0x0571, 0x55c: 0x05a9, 0x55d: 0x05e1, + 0x55e: 0x0619, 0x55f: 0x0651, 0x560: 0x0008, 0x561: 0x0008, 0x562: 0x3308, 0x563: 0x3308, + 0x564: 0x0018, 0x565: 0x0018, 0x566: 0x0008, 0x567: 0x0008, 0x568: 0x0008, 0x569: 0x0008, + 0x56a: 0x0008, 0x56b: 0x0008, 0x56c: 0x0008, 0x56d: 0x0008, 0x56e: 0x0008, 0x56f: 0x0008, + 0x570: 0x0018, 0x571: 0x0008, 0x572: 0x0008, 0x573: 0x0008, 0x574: 0x0008, 0x575: 0x0008, + 0x576: 0x0008, 0x577: 0x0008, 0x578: 0x0008, 0x579: 0x0008, 0x57a: 0x0008, 0x57b: 0x0008, + 0x57c: 0x0008, 0x57d: 0x0008, 0x57e: 0x0008, 0x57f: 0x0008, + // Block 0x16, offset 0x580 + 0x580: 0x0008, 0x581: 0x3308, 0x582: 0x3008, 0x583: 0x3008, 0x584: 0x0040, 0x585: 0x0008, + 0x586: 0x0008, 0x587: 0x0008, 0x588: 0x0008, 0x589: 0x0008, 0x58a: 0x0008, 0x58b: 0x0008, + 0x58c: 0x0008, 0x58d: 0x0040, 0x58e: 0x0040, 0x58f: 0x0008, 0x590: 0x0008, 0x591: 0x0040, + 0x592: 0x0040, 0x593: 0x0008, 0x594: 0x0008, 0x595: 0x0008, 0x596: 0x0008, 0x597: 0x0008, + 0x598: 0x0008, 0x599: 0x0008, 0x59a: 0x0008, 0x59b: 0x0008, 0x59c: 0x0008, 0x59d: 0x0008, + 0x59e: 0x0008, 0x59f: 0x0008, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x0008, 0x5a3: 0x0008, + 0x5a4: 0x0008, 0x5a5: 0x0008, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0040, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0008, 0x5b1: 0x0040, 0x5b2: 0x0008, 0x5b3: 0x0040, 0x5b4: 0x0040, 0x5b5: 0x0040, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0040, 0x5bb: 0x0040, + 0x5bc: 0x3308, 0x5bd: 0x0008, 0x5be: 0x3008, 0x5bf: 0x3008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x3008, 0x5c1: 0x3308, 0x5c2: 0x3308, 0x5c3: 0x3308, 0x5c4: 0x3308, 0x5c5: 0x0040, + 0x5c6: 0x0040, 0x5c7: 0x3008, 0x5c8: 0x3008, 0x5c9: 0x0040, 0x5ca: 0x0040, 0x5cb: 0x3008, + 0x5cc: 0x3008, 0x5cd: 0x3b08, 0x5ce: 0x0008, 0x5cf: 0x0040, 0x5d0: 0x0040, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0040, 0x5d4: 0x0040, 0x5d5: 0x0040, 0x5d6: 0x0040, 0x5d7: 0x3008, + 0x5d8: 0x0040, 0x5d9: 0x0040, 0x5da: 0x0040, 0x5db: 0x0040, 0x5dc: 0x0689, 0x5dd: 0x06c1, + 0x5de: 0x0040, 0x5df: 0x06f9, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x3308, 0x5e3: 0x3308, + 0x5e4: 0x0040, 0x5e5: 0x0040, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0008, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0008, 0x5f2: 0x0018, 0x5f3: 0x0018, 0x5f4: 0x0018, 0x5f5: 0x0018, + 0x5f6: 0x0018, 0x5f7: 0x0018, 0x5f8: 0x0018, 0x5f9: 0x0018, 0x5fa: 0x0018, 0x5fb: 0x0018, + 0x5fc: 0x0040, 0x5fd: 0x0040, 0x5fe: 0x0040, 0x5ff: 0x0040, + // Block 0x18, offset 0x600 + 0x600: 0x0040, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3008, 0x604: 0x0040, 0x605: 0x0008, + 0x606: 0x0008, 0x607: 0x0008, 0x608: 0x0008, 0x609: 0x0008, 0x60a: 0x0008, 0x60b: 0x0040, + 0x60c: 0x0040, 0x60d: 0x0040, 0x60e: 0x0040, 0x60f: 0x0008, 0x610: 0x0008, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0008, 0x614: 0x0008, 0x615: 0x0008, 0x616: 0x0008, 0x617: 0x0008, + 0x618: 0x0008, 0x619: 0x0008, 0x61a: 0x0008, 0x61b: 0x0008, 0x61c: 0x0008, 0x61d: 0x0008, + 0x61e: 0x0008, 0x61f: 0x0008, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x0008, 0x623: 0x0008, + 0x624: 0x0008, 0x625: 0x0008, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0040, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0040, 0x632: 0x0008, 0x633: 0x0731, 0x634: 0x0040, 0x635: 0x0008, + 0x636: 0x0769, 0x637: 0x0040, 0x638: 0x0008, 0x639: 0x0008, 0x63a: 0x0040, 0x63b: 0x0040, + 0x63c: 0x3308, 0x63d: 0x0040, 0x63e: 0x3008, 0x63f: 0x3008, + // Block 0x19, offset 0x640 + 0x640: 0x3008, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x0040, 0x644: 0x0040, 0x645: 0x0040, + 0x646: 0x0040, 0x647: 0x3308, 0x648: 0x3308, 0x649: 0x0040, 0x64a: 0x0040, 0x64b: 0x3308, + 0x64c: 0x3308, 0x64d: 0x3b08, 0x64e: 0x0040, 0x64f: 0x0040, 0x650: 0x0040, 0x651: 0x3308, + 0x652: 0x0040, 0x653: 0x0040, 0x654: 0x0040, 0x655: 0x0040, 0x656: 0x0040, 0x657: 0x0040, + 0x658: 0x0040, 0x659: 0x07a1, 0x65a: 0x07d9, 0x65b: 0x0811, 0x65c: 0x0008, 0x65d: 0x0040, + 0x65e: 0x0849, 0x65f: 0x0040, 0x660: 0x0040, 0x661: 0x0040, 0x662: 0x0040, 0x663: 0x0040, + 0x664: 0x0040, 0x665: 0x0040, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0008, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x3308, 0x671: 0x3308, 0x672: 0x0008, 0x673: 0x0008, 0x674: 0x0008, 0x675: 0x3308, + 0x676: 0x0040, 0x677: 0x0040, 0x678: 0x0040, 0x679: 0x0040, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x0040, 0x67d: 0x0040, 0x67e: 0x0040, 0x67f: 0x0040, + // Block 0x1a, offset 0x680 + 0x680: 0x0040, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x3008, 0x684: 0x0040, 0x685: 0x0008, + 0x686: 0x0008, 0x687: 0x0008, 0x688: 0x0008, 0x689: 0x0008, 0x68a: 0x0008, 0x68b: 0x0008, + 0x68c: 0x0008, 0x68d: 0x0008, 0x68e: 0x0040, 0x68f: 0x0008, 0x690: 0x0008, 0x691: 0x0008, + 0x692: 0x0040, 0x693: 0x0008, 0x694: 0x0008, 0x695: 0x0008, 0x696: 0x0008, 0x697: 0x0008, + 0x698: 0x0008, 0x699: 0x0008, 0x69a: 0x0008, 0x69b: 0x0008, 0x69c: 0x0008, 0x69d: 0x0008, + 0x69e: 0x0008, 0x69f: 0x0008, 0x6a0: 0x0008, 0x6a1: 0x0008, 0x6a2: 0x0008, 0x6a3: 0x0008, + 0x6a4: 0x0008, 0x6a5: 0x0008, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0040, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x0008, 0x6b1: 0x0040, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0040, 0x6b5: 0x0008, + 0x6b6: 0x0008, 0x6b7: 0x0008, 0x6b8: 0x0008, 0x6b9: 0x0008, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x3308, 0x6bd: 0x0008, 0x6be: 0x3008, 0x6bf: 0x3008, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3008, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3308, 0x6c4: 0x3308, 0x6c5: 0x3308, + 0x6c6: 0x0040, 0x6c7: 0x3308, 0x6c8: 0x3308, 0x6c9: 0x3008, 0x6ca: 0x0040, 0x6cb: 0x3008, + 0x6cc: 0x3008, 0x6cd: 0x3b08, 0x6ce: 0x0040, 0x6cf: 0x0040, 0x6d0: 0x0008, 0x6d1: 0x0040, + 0x6d2: 0x0040, 0x6d3: 0x0040, 0x6d4: 0x0040, 0x6d5: 0x0040, 0x6d6: 0x0040, 0x6d7: 0x0040, + 0x6d8: 0x0040, 0x6d9: 0x0040, 0x6da: 0x0040, 0x6db: 0x0040, 0x6dc: 0x0040, 0x6dd: 0x0040, + 0x6de: 0x0040, 0x6df: 0x0040, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x3308, 0x6e3: 0x3308, + 0x6e4: 0x0040, 0x6e5: 0x0040, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0008, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0018, 0x6f1: 0x0018, 0x6f2: 0x0040, 0x6f3: 0x0040, 0x6f4: 0x0040, 0x6f5: 0x0040, + 0x6f6: 0x0040, 0x6f7: 0x0040, 0x6f8: 0x0040, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x0040, 0x6fd: 0x0040, 0x6fe: 0x0040, 0x6ff: 0x0040, + // Block 0x1c, offset 0x700 + 0x700: 0x0040, 0x701: 0x3308, 0x702: 0x3008, 0x703: 0x3008, 0x704: 0x0040, 0x705: 0x0008, + 0x706: 0x0008, 0x707: 0x0008, 0x708: 0x0008, 0x709: 0x0008, 0x70a: 0x0008, 0x70b: 0x0008, + 0x70c: 0x0008, 0x70d: 0x0040, 0x70e: 0x0040, 0x70f: 0x0008, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0008, 0x714: 0x0008, 0x715: 0x0008, 0x716: 0x0008, 0x717: 0x0008, + 0x718: 0x0008, 0x719: 0x0008, 0x71a: 0x0008, 0x71b: 0x0008, 0x71c: 0x0008, 0x71d: 0x0008, + 0x71e: 0x0008, 0x71f: 0x0008, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x0008, 0x723: 0x0008, + 0x724: 0x0008, 0x725: 0x0008, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0040, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0008, 0x731: 0x0040, 0x732: 0x0008, 0x733: 0x0008, 0x734: 0x0040, 0x735: 0x0008, + 0x736: 0x0008, 0x737: 0x0008, 0x738: 0x0008, 0x739: 0x0008, 0x73a: 0x0040, 0x73b: 0x0040, + 0x73c: 0x3308, 0x73d: 0x0008, 0x73e: 0x3008, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x3008, 0x741: 0x3308, 0x742: 0x3308, 0x743: 0x3308, 0x744: 0x3308, 0x745: 0x0040, + 0x746: 0x0040, 0x747: 0x3008, 0x748: 0x3008, 0x749: 0x0040, 0x74a: 0x0040, 0x74b: 0x3008, + 0x74c: 0x3008, 0x74d: 0x3b08, 0x74e: 0x0040, 0x74f: 0x0040, 0x750: 0x0040, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0040, 0x754: 0x0040, 0x755: 0x0040, 0x756: 0x3308, 0x757: 0x3008, + 0x758: 0x0040, 0x759: 0x0040, 0x75a: 0x0040, 0x75b: 0x0040, 0x75c: 0x0881, 0x75d: 0x08b9, + 0x75e: 0x0040, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x3308, 0x763: 0x3308, + 0x764: 0x0040, 0x765: 0x0040, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0008, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0018, 0x771: 0x0008, 0x772: 0x0018, 0x773: 0x0018, 0x774: 0x0018, 0x775: 0x0018, + 0x776: 0x0018, 0x777: 0x0018, 0x778: 0x0040, 0x779: 0x0040, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x0040, 0x77d: 0x0040, 0x77e: 0x0040, 0x77f: 0x0040, + // Block 0x1e, offset 0x780 + 0x780: 0x0040, 0x781: 0x0040, 0x782: 0x3308, 0x783: 0x0008, 0x784: 0x0040, 0x785: 0x0008, + 0x786: 0x0008, 0x787: 0x0008, 0x788: 0x0008, 0x789: 0x0008, 0x78a: 0x0008, 0x78b: 0x0040, + 0x78c: 0x0040, 0x78d: 0x0040, 0x78e: 0x0008, 0x78f: 0x0008, 0x790: 0x0008, 0x791: 0x0040, + 0x792: 0x0008, 0x793: 0x0008, 0x794: 0x0008, 0x795: 0x0008, 0x796: 0x0040, 0x797: 0x0040, + 0x798: 0x0040, 0x799: 0x0008, 0x79a: 0x0008, 0x79b: 0x0040, 0x79c: 0x0008, 0x79d: 0x0040, + 0x79e: 0x0008, 0x79f: 0x0008, 0x7a0: 0x0040, 0x7a1: 0x0040, 0x7a2: 0x0040, 0x7a3: 0x0008, + 0x7a4: 0x0008, 0x7a5: 0x0040, 0x7a6: 0x0040, 0x7a7: 0x0040, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0040, 0x7ac: 0x0040, 0x7ad: 0x0040, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0008, 0x7b1: 0x0008, 0x7b2: 0x0008, 0x7b3: 0x0008, 0x7b4: 0x0008, 0x7b5: 0x0008, + 0x7b6: 0x0008, 0x7b7: 0x0008, 0x7b8: 0x0008, 0x7b9: 0x0008, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x3008, 0x7bf: 0x3008, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x3308, 0x7c1: 0x3008, 0x7c2: 0x3008, 0x7c3: 0x3008, 0x7c4: 0x3008, 0x7c5: 0x0040, + 0x7c6: 0x3308, 0x7c7: 0x3308, 0x7c8: 0x3308, 0x7c9: 0x0040, 0x7ca: 0x3308, 0x7cb: 0x3308, + 0x7cc: 0x3308, 0x7cd: 0x3b08, 0x7ce: 0x0040, 0x7cf: 0x0040, 0x7d0: 0x0040, 0x7d1: 0x0040, + 0x7d2: 0x0040, 0x7d3: 0x0040, 0x7d4: 0x0040, 0x7d5: 0x3308, 0x7d6: 0x3308, 0x7d7: 0x0040, + 0x7d8: 0x0008, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0040, 0x7dd: 0x0040, + 0x7de: 0x0040, 0x7df: 0x0040, 0x7e0: 0x0008, 0x7e1: 0x0008, 0x7e2: 0x3308, 0x7e3: 0x3308, + 0x7e4: 0x0040, 0x7e5: 0x0040, 0x7e6: 0x0008, 0x7e7: 0x0008, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0008, 0x7ec: 0x0008, 0x7ed: 0x0008, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0040, 0x7f1: 0x0040, 0x7f2: 0x0040, 0x7f3: 0x0040, 0x7f4: 0x0040, 0x7f5: 0x0040, + 0x7f6: 0x0040, 0x7f7: 0x0040, 0x7f8: 0x0018, 0x7f9: 0x0018, 0x7fa: 0x0018, 0x7fb: 0x0018, + 0x7fc: 0x0018, 0x7fd: 0x0018, 0x7fe: 0x0018, 0x7ff: 0x0018, + // Block 0x20, offset 0x800 + 0x800: 0x0008, 0x801: 0x3308, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x0040, 0x805: 0x0008, + 0x806: 0x0008, 0x807: 0x0008, 0x808: 0x0008, 0x809: 0x0008, 0x80a: 0x0008, 0x80b: 0x0008, + 0x80c: 0x0008, 0x80d: 0x0040, 0x80e: 0x0008, 0x80f: 0x0008, 0x810: 0x0008, 0x811: 0x0040, + 0x812: 0x0008, 0x813: 0x0008, 0x814: 0x0008, 0x815: 0x0008, 0x816: 0x0008, 0x817: 0x0008, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0008, 0x81c: 0x0008, 0x81d: 0x0008, + 0x81e: 0x0008, 0x81f: 0x0008, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x0008, 0x823: 0x0008, + 0x824: 0x0008, 0x825: 0x0008, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0040, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0008, 0x831: 0x0008, 0x832: 0x0008, 0x833: 0x0008, 0x834: 0x0040, 0x835: 0x0008, + 0x836: 0x0008, 0x837: 0x0008, 0x838: 0x0008, 0x839: 0x0008, 0x83a: 0x0040, 0x83b: 0x0040, + 0x83c: 0x3308, 0x83d: 0x0008, 0x83e: 0x3008, 0x83f: 0x3308, + // Block 0x21, offset 0x840 + 0x840: 0x3008, 0x841: 0x3008, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x3008, 0x845: 0x0040, + 0x846: 0x3308, 0x847: 0x3008, 0x848: 0x3008, 0x849: 0x0040, 0x84a: 0x3008, 0x84b: 0x3008, + 0x84c: 0x3308, 0x84d: 0x3b08, 0x84e: 0x0040, 0x84f: 0x0040, 0x850: 0x0040, 0x851: 0x0040, + 0x852: 0x0040, 0x853: 0x0040, 0x854: 0x0040, 0x855: 0x3008, 0x856: 0x3008, 0x857: 0x0040, + 0x858: 0x0040, 0x859: 0x0040, 0x85a: 0x0040, 0x85b: 0x0040, 0x85c: 0x0040, 0x85d: 0x0040, + 0x85e: 0x0008, 0x85f: 0x0040, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x3308, 0x863: 0x3308, + 0x864: 0x0040, 0x865: 0x0040, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0008, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0040, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0040, 0x874: 0x0040, 0x875: 0x0040, + 0x876: 0x0040, 0x877: 0x0040, 0x878: 0x0040, 0x879: 0x0040, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x0040, 0x87d: 0x0040, 0x87e: 0x0040, 0x87f: 0x0040, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3308, 0x882: 0x3308, 0x883: 0x3308, 0x884: 0x3308, 0x885: 0x0040, + 0x886: 0x3008, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3008, 0x88d: 0x3b08, 0x88e: 0x0008, 0x88f: 0x0018, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0008, 0x895: 0x0008, 0x896: 0x0008, 0x897: 0x3008, + 0x898: 0x0018, 0x899: 0x0018, 0x89a: 0x0018, 0x89b: 0x0018, 0x89c: 0x0018, 0x89d: 0x0018, + 0x89e: 0x0018, 0x89f: 0x0008, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0018, 0x8b1: 0x0018, 0x8b2: 0x0018, 0x8b3: 0x0018, 0x8b4: 0x0018, 0x8b5: 0x0018, + 0x8b6: 0x0018, 0x8b7: 0x0018, 0x8b8: 0x0018, 0x8b9: 0x0018, 0x8ba: 0x0008, 0x8bb: 0x0008, + 0x8bc: 0x0008, 0x8bd: 0x0008, 0x8be: 0x0008, 0x8bf: 0x0008, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0040, 0x8c1: 0x0008, 0x8c2: 0x0008, 0x8c3: 0x0040, 0x8c4: 0x0008, 0x8c5: 0x0040, + 0x8c6: 0x0040, 0x8c7: 0x0008, 0x8c8: 0x0008, 0x8c9: 0x0040, 0x8ca: 0x0008, 0x8cb: 0x0040, + 0x8cc: 0x0040, 0x8cd: 0x0008, 0x8ce: 0x0040, 0x8cf: 0x0040, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x0008, + 0x8d8: 0x0040, 0x8d9: 0x0008, 0x8da: 0x0008, 0x8db: 0x0008, 0x8dc: 0x0008, 0x8dd: 0x0008, + 0x8de: 0x0008, 0x8df: 0x0008, 0x8e0: 0x0040, 0x8e1: 0x0008, 0x8e2: 0x0008, 0x8e3: 0x0008, + 0x8e4: 0x0040, 0x8e5: 0x0008, 0x8e6: 0x0040, 0x8e7: 0x0008, 0x8e8: 0x0040, 0x8e9: 0x0040, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0040, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0008, 0x8f1: 0x3308, 0x8f2: 0x0008, 0x8f3: 0x0929, 0x8f4: 0x3308, 0x8f5: 0x3308, + 0x8f6: 0x3308, 0x8f7: 0x3308, 0x8f8: 0x3308, 0x8f9: 0x3308, 0x8fa: 0x0040, 0x8fb: 0x3308, + 0x8fc: 0x3308, 0x8fd: 0x0008, 0x8fe: 0x0040, 0x8ff: 0x0040, + // Block 0x24, offset 0x900 + 0x900: 0x0008, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x09d1, 0x904: 0x0008, 0x905: 0x0008, + 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0040, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0008, + 0x90c: 0x0008, 0x90d: 0x0a09, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008, + 0x912: 0x0a41, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0a79, + 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0ab1, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0008, 0x925: 0x0008, 0x926: 0x0008, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0ae9, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0040, 0x92e: 0x0040, 0x92f: 0x0040, + 0x930: 0x0040, 0x931: 0x3308, 0x932: 0x3308, 0x933: 0x0b21, 0x934: 0x3308, 0x935: 0x0b59, + 0x936: 0x0b91, 0x937: 0x0bc9, 0x938: 0x0c19, 0x939: 0x0c51, 0x93a: 0x3308, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x3308, 0x93e: 0x3308, 0x93f: 0x3008, + // Block 0x25, offset 0x940 + 0x940: 0x3308, 0x941: 0x0ca1, 0x942: 0x3308, 0x943: 0x3308, 0x944: 0x3b08, 0x945: 0x0018, + 0x946: 0x3308, 0x947: 0x3308, 0x948: 0x0008, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x3308, 0x94e: 0x3308, 0x94f: 0x3308, 0x950: 0x3308, 0x951: 0x3308, + 0x952: 0x3308, 0x953: 0x0cd9, 0x954: 0x3308, 0x955: 0x3308, 0x956: 0x3308, 0x957: 0x3308, + 0x958: 0x0040, 0x959: 0x3308, 0x95a: 0x3308, 0x95b: 0x3308, 0x95c: 0x3308, 0x95d: 0x0d11, + 0x95e: 0x3308, 0x95f: 0x3308, 0x960: 0x3308, 0x961: 0x3308, 0x962: 0x0d49, 0x963: 0x3308, + 0x964: 0x3308, 0x965: 0x3308, 0x966: 0x3308, 0x967: 0x0d81, 0x968: 0x3308, 0x969: 0x3308, + 0x96a: 0x3308, 0x96b: 0x3308, 0x96c: 0x0db9, 0x96d: 0x3308, 0x96e: 0x3308, 0x96f: 0x3308, + 0x970: 0x3308, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x3308, 0x974: 0x3308, 0x975: 0x3308, + 0x976: 0x3308, 0x977: 0x3308, 0x978: 0x3308, 0x979: 0x0df1, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x0040, 0x97e: 0x0018, 0x97f: 0x0018, + // Block 0x26, offset 0x980 + 0x980: 0x0008, 0x981: 0x0008, 0x982: 0x0008, 0x983: 0x0008, 0x984: 0x0008, 0x985: 0x0008, + 0x986: 0x0008, 0x987: 0x0008, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x0008, 0x98e: 0x0008, 0x98f: 0x0008, 0x990: 0x0008, 0x991: 0x0008, + 0x992: 0x0008, 0x993: 0x0008, 0x994: 0x0008, 0x995: 0x0008, 0x996: 0x0008, 0x997: 0x0008, + 0x998: 0x0008, 0x999: 0x0008, 0x99a: 0x0008, 0x99b: 0x0008, 0x99c: 0x0008, 0x99d: 0x0008, + 0x99e: 0x0008, 0x99f: 0x0008, 0x9a0: 0x0008, 0x9a1: 0x0008, 0x9a2: 0x0008, 0x9a3: 0x0008, + 0x9a4: 0x0008, 0x9a5: 0x0008, 0x9a6: 0x0008, 0x9a7: 0x0008, 0x9a8: 0x0008, 0x9a9: 0x0008, + 0x9aa: 0x0008, 0x9ab: 0x0008, 0x9ac: 0x0039, 0x9ad: 0x0ed1, 0x9ae: 0x0ee9, 0x9af: 0x0008, + 0x9b0: 0x0ef9, 0x9b1: 0x0f09, 0x9b2: 0x0f19, 0x9b3: 0x0f31, 0x9b4: 0x0249, 0x9b5: 0x0f41, + 0x9b6: 0x0259, 0x9b7: 0x0f51, 0x9b8: 0x0359, 0x9b9: 0x0f61, 0x9ba: 0x0f71, 0x9bb: 0x0008, + 0x9bc: 0x00d9, 0x9bd: 0x0f81, 0x9be: 0x0f99, 0x9bf: 0x0269, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0fa9, 0x9c1: 0x0fb9, 0x9c2: 0x0279, 0x9c3: 0x0039, 0x9c4: 0x0fc9, 0x9c5: 0x0fe1, + 0x9c6: 0x059d, 0x9c7: 0x0ee9, 0x9c8: 0x0ef9, 0x9c9: 0x0f09, 0x9ca: 0x0ff9, 0x9cb: 0x1011, + 0x9cc: 0x1029, 0x9cd: 0x0f31, 0x9ce: 0x0008, 0x9cf: 0x0f51, 0x9d0: 0x0f61, 0x9d1: 0x1041, + 0x9d2: 0x00d9, 0x9d3: 0x1059, 0x9d4: 0x05b5, 0x9d5: 0x05b5, 0x9d6: 0x0f99, 0x9d7: 0x0fa9, + 0x9d8: 0x0fb9, 0x9d9: 0x059d, 0x9da: 0x1071, 0x9db: 0x1089, 0x9dc: 0x05cd, 0x9dd: 0x1099, + 0x9de: 0x10b1, 0x9df: 0x10c9, 0x9e0: 0x10e1, 0x9e1: 0x10f9, 0x9e2: 0x0f41, 0x9e3: 0x0269, + 0x9e4: 0x0fb9, 0x9e5: 0x1089, 0x9e6: 0x1099, 0x9e7: 0x10b1, 0x9e8: 0x1111, 0x9e9: 0x10e1, + 0x9ea: 0x10f9, 0x9eb: 0x0008, 0x9ec: 0x0008, 0x9ed: 0x0008, 0x9ee: 0x0008, 0x9ef: 0x0008, + 0x9f0: 0x0008, 0x9f1: 0x0008, 0x9f2: 0x0008, 0x9f3: 0x0008, 0x9f4: 0x0008, 0x9f5: 0x0008, + 0x9f6: 0x0008, 0x9f7: 0x0008, 0x9f8: 0x1129, 0x9f9: 0x0008, 0x9fa: 0x0008, 0x9fb: 0x0008, + 0x9fc: 0x0008, 0x9fd: 0x0008, 0x9fe: 0x0008, 0x9ff: 0x0008, + // Block 0x28, offset 0xa00 + 0xa00: 0x0008, 0xa01: 0x0008, 0xa02: 0x0008, 0xa03: 0x0008, 0xa04: 0x0008, 0xa05: 0x0008, + 0xa06: 0x0008, 0xa07: 0x0008, 0xa08: 0x0008, 0xa09: 0x0008, 0xa0a: 0x0008, 0xa0b: 0x0008, + 0xa0c: 0x0008, 0xa0d: 0x0008, 0xa0e: 0x0008, 0xa0f: 0x0008, 0xa10: 0x0008, 0xa11: 0x0008, + 0xa12: 0x0008, 0xa13: 0x0008, 0xa14: 0x0008, 0xa15: 0x0008, 0xa16: 0x0008, 0xa17: 0x0008, + 0xa18: 0x0008, 0xa19: 0x0008, 0xa1a: 0x0008, 0xa1b: 0x1141, 0xa1c: 0x1159, 0xa1d: 0x1169, + 0xa1e: 0x1181, 0xa1f: 0x1029, 0xa20: 0x1199, 0xa21: 0x11a9, 0xa22: 0x11c1, 0xa23: 0x11d9, + 0xa24: 0x11f1, 0xa25: 0x1209, 0xa26: 0x1221, 0xa27: 0x05e5, 0xa28: 0x1239, 0xa29: 0x1251, + 0xa2a: 0xe17d, 0xa2b: 0x1269, 0xa2c: 0x1281, 0xa2d: 0x1299, 0xa2e: 0x12b1, 0xa2f: 0x12c9, + 0xa30: 0x12e1, 0xa31: 0x12f9, 0xa32: 0x1311, 0xa33: 0x1329, 0xa34: 0x1341, 0xa35: 0x1359, + 0xa36: 0x1371, 0xa37: 0x1389, 0xa38: 0x05fd, 0xa39: 0x13a1, 0xa3a: 0x13b9, 0xa3b: 0x13d1, + 0xa3c: 0x13e1, 0xa3d: 0x13f9, 0xa3e: 0x1411, 0xa3f: 0x1429, + // Block 0x29, offset 0xa40 + 0xa40: 0xe00d, 0xa41: 0x0008, 0xa42: 0xe00d, 0xa43: 0x0008, 0xa44: 0xe00d, 0xa45: 0x0008, + 0xa46: 0xe00d, 0xa47: 0x0008, 0xa48: 0xe00d, 0xa49: 0x0008, 0xa4a: 0xe00d, 0xa4b: 0x0008, + 0xa4c: 0xe00d, 0xa4d: 0x0008, 0xa4e: 0xe00d, 0xa4f: 0x0008, 0xa50: 0xe00d, 0xa51: 0x0008, + 0xa52: 0xe00d, 0xa53: 0x0008, 0xa54: 0xe00d, 0xa55: 0x0008, 0xa56: 0xe00d, 0xa57: 0x0008, + 0xa58: 0xe00d, 0xa59: 0x0008, 0xa5a: 0xe00d, 0xa5b: 0x0008, 0xa5c: 0xe00d, 0xa5d: 0x0008, + 0xa5e: 0xe00d, 0xa5f: 0x0008, 0xa60: 0xe00d, 0xa61: 0x0008, 0xa62: 0xe00d, 0xa63: 0x0008, + 0xa64: 0xe00d, 0xa65: 0x0008, 0xa66: 0xe00d, 0xa67: 0x0008, 0xa68: 0xe00d, 0xa69: 0x0008, + 0xa6a: 0xe00d, 0xa6b: 0x0008, 0xa6c: 0xe00d, 0xa6d: 0x0008, 0xa6e: 0xe00d, 0xa6f: 0x0008, + 0xa70: 0xe00d, 0xa71: 0x0008, 0xa72: 0xe00d, 0xa73: 0x0008, 0xa74: 0xe00d, 0xa75: 0x0008, + 0xa76: 0xe00d, 0xa77: 0x0008, 0xa78: 0xe00d, 0xa79: 0x0008, 0xa7a: 0xe00d, 0xa7b: 0x0008, + 0xa7c: 0xe00d, 0xa7d: 0x0008, 0xa7e: 0xe00d, 0xa7f: 0x0008, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0x0008, 0xa97: 0x0008, + 0xa98: 0x0008, 0xa99: 0x0008, 0xa9a: 0x0615, 0xa9b: 0x0635, 0xa9c: 0x0008, 0xa9d: 0x0008, + 0xa9e: 0x1441, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0008, 0xac1: 0x0008, 0xac2: 0x0008, 0xac3: 0x0008, 0xac4: 0x0008, 0xac5: 0x0008, + 0xac6: 0x0040, 0xac7: 0x0040, 0xac8: 0xe045, 0xac9: 0xe045, 0xaca: 0xe045, 0xacb: 0xe045, + 0xacc: 0xe045, 0xacd: 0xe045, 0xace: 0x0040, 0xacf: 0x0040, 0xad0: 0x0008, 0xad1: 0x0008, + 0xad2: 0x0008, 0xad3: 0x0008, 0xad4: 0x0008, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0040, 0xad9: 0xe045, 0xada: 0x0040, 0xadb: 0xe045, 0xadc: 0x0040, 0xadd: 0xe045, + 0xade: 0x0040, 0xadf: 0xe045, 0xae0: 0x0008, 0xae1: 0x0008, 0xae2: 0x0008, 0xae3: 0x0008, + 0xae4: 0x0008, 0xae5: 0x0008, 0xae6: 0x0008, 0xae7: 0x0008, 0xae8: 0xe045, 0xae9: 0xe045, + 0xaea: 0xe045, 0xaeb: 0xe045, 0xaec: 0xe045, 0xaed: 0xe045, 0xaee: 0xe045, 0xaef: 0xe045, + 0xaf0: 0x0008, 0xaf1: 0x1459, 0xaf2: 0x0008, 0xaf3: 0x1471, 0xaf4: 0x0008, 0xaf5: 0x1489, + 0xaf6: 0x0008, 0xaf7: 0x14a1, 0xaf8: 0x0008, 0xaf9: 0x14b9, 0xafa: 0x0008, 0xafb: 0x14d1, + 0xafc: 0x0008, 0xafd: 0x14e9, 0xafe: 0x0040, 0xaff: 0x0040, + // Block 0x2c, offset 0xb00 + 0xb00: 0x1501, 0xb01: 0x1531, 0xb02: 0x1561, 0xb03: 0x1591, 0xb04: 0x15c1, 0xb05: 0x15f1, + 0xb06: 0x1621, 0xb07: 0x1651, 0xb08: 0x1501, 0xb09: 0x1531, 0xb0a: 0x1561, 0xb0b: 0x1591, + 0xb0c: 0x15c1, 0xb0d: 0x15f1, 0xb0e: 0x1621, 0xb0f: 0x1651, 0xb10: 0x1681, 0xb11: 0x16b1, + 0xb12: 0x16e1, 0xb13: 0x1711, 0xb14: 0x1741, 0xb15: 0x1771, 0xb16: 0x17a1, 0xb17: 0x17d1, + 0xb18: 0x1681, 0xb19: 0x16b1, 0xb1a: 0x16e1, 0xb1b: 0x1711, 0xb1c: 0x1741, 0xb1d: 0x1771, + 0xb1e: 0x17a1, 0xb1f: 0x17d1, 0xb20: 0x1801, 0xb21: 0x1831, 0xb22: 0x1861, 0xb23: 0x1891, + 0xb24: 0x18c1, 0xb25: 0x18f1, 0xb26: 0x1921, 0xb27: 0x1951, 0xb28: 0x1801, 0xb29: 0x1831, + 0xb2a: 0x1861, 0xb2b: 0x1891, 0xb2c: 0x18c1, 0xb2d: 0x18f1, 0xb2e: 0x1921, 0xb2f: 0x1951, + 0xb30: 0x0008, 0xb31: 0x0008, 0xb32: 0x1981, 0xb33: 0x19b1, 0xb34: 0x19d9, 0xb35: 0x0040, + 0xb36: 0x0008, 0xb37: 0x1a01, 0xb38: 0xe045, 0xb39: 0xe045, 0xb3a: 0x064d, 0xb3b: 0x1459, + 0xb3c: 0x19b1, 0xb3d: 0x0666, 0xb3e: 0x1a31, 0xb3f: 0x0686, + // Block 0x2d, offset 0xb40 + 0xb40: 0x06a6, 0xb41: 0x1a4a, 0xb42: 0x1a79, 0xb43: 0x1aa9, 0xb44: 0x1ad1, 0xb45: 0x0040, + 0xb46: 0x0008, 0xb47: 0x1af9, 0xb48: 0x06c5, 0xb49: 0x1471, 0xb4a: 0x06dd, 0xb4b: 0x1489, + 0xb4c: 0x1aa9, 0xb4d: 0x1b2a, 0xb4e: 0x1b5a, 0xb4f: 0x1b8a, 0xb50: 0x0008, 0xb51: 0x0008, + 0xb52: 0x0008, 0xb53: 0x1bb9, 0xb54: 0x0040, 0xb55: 0x0040, 0xb56: 0x0008, 0xb57: 0x0008, + 0xb58: 0xe045, 0xb59: 0xe045, 0xb5a: 0x06f5, 0xb5b: 0x14a1, 0xb5c: 0x0040, 0xb5d: 0x1bd2, + 0xb5e: 0x1c02, 0xb5f: 0x1c32, 0xb60: 0x0008, 0xb61: 0x0008, 0xb62: 0x0008, 0xb63: 0x1c61, + 0xb64: 0x0008, 0xb65: 0x0008, 0xb66: 0x0008, 0xb67: 0x0008, 0xb68: 0xe045, 0xb69: 0xe045, + 0xb6a: 0x070d, 0xb6b: 0x14d1, 0xb6c: 0xe04d, 0xb6d: 0x1c7a, 0xb6e: 0x03d2, 0xb6f: 0x1caa, + 0xb70: 0x0040, 0xb71: 0x0040, 0xb72: 0x1cb9, 0xb73: 0x1ce9, 0xb74: 0x1d11, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1d39, 0xb78: 0x0725, 0xb79: 0x14b9, 0xb7a: 0x0515, 0xb7b: 0x14e9, + 0xb7c: 0x1ce9, 0xb7d: 0x073e, 0xb7e: 0x075e, 0xb7f: 0x0040, + // Block 0x2e, offset 0xb80 + 0xb80: 0x000a, 0xb81: 0x000a, 0xb82: 0x000a, 0xb83: 0x000a, 0xb84: 0x000a, 0xb85: 0x000a, + 0xb86: 0x000a, 0xb87: 0x000a, 0xb88: 0x000a, 0xb89: 0x000a, 0xb8a: 0x000a, 0xb8b: 0x03c0, + 0xb8c: 0x0003, 0xb8d: 0x0003, 0xb8e: 0x0340, 0xb8f: 0x0b40, 0xb90: 0x0018, 0xb91: 0xe00d, + 0xb92: 0x0018, 0xb93: 0x0018, 0xb94: 0x0018, 0xb95: 0x0018, 0xb96: 0x0018, 0xb97: 0x077e, + 0xb98: 0x0018, 0xb99: 0x0018, 0xb9a: 0x0018, 0xb9b: 0x0018, 0xb9c: 0x0018, 0xb9d: 0x0018, + 0xb9e: 0x0018, 0xb9f: 0x0018, 0xba0: 0x0018, 0xba1: 0x0018, 0xba2: 0x0018, 0xba3: 0x0018, + 0xba4: 0x0040, 0xba5: 0x0040, 0xba6: 0x0040, 0xba7: 0x0018, 0xba8: 0x0040, 0xba9: 0x0040, + 0xbaa: 0x0340, 0xbab: 0x0340, 0xbac: 0x0340, 0xbad: 0x0340, 0xbae: 0x0340, 0xbaf: 0x000a, + 0xbb0: 0x0018, 0xbb1: 0x0018, 0xbb2: 0x0018, 0xbb3: 0x1d69, 0xbb4: 0x1da1, 0xbb5: 0x0018, + 0xbb6: 0x1df1, 0xbb7: 0x1e29, 0xbb8: 0x0018, 0xbb9: 0x0018, 0xbba: 0x0018, 0xbbb: 0x0018, + 0xbbc: 0x1e7a, 0xbbd: 0x0018, 0xbbe: 0x079e, 0xbbf: 0x0018, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x0018, 0xbc1: 0x0018, 0xbc2: 0x0018, 0xbc3: 0x0018, 0xbc4: 0x0018, 0xbc5: 0x0018, + 0xbc6: 0x0018, 0xbc7: 0x1e92, 0xbc8: 0x1eaa, 0xbc9: 0x1ec2, 0xbca: 0x0018, 0xbcb: 0x0018, + 0xbcc: 0x0018, 0xbcd: 0x0018, 0xbce: 0x0018, 0xbcf: 0x0018, 0xbd0: 0x0018, 0xbd1: 0x0018, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x1ed9, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x000a, 0xbe0: 0x03c0, 0xbe1: 0x0340, 0xbe2: 0x0340, 0xbe3: 0x0340, + 0xbe4: 0x03c0, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0040, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x0340, + 0xbf0: 0x1f41, 0xbf1: 0x0f41, 0xbf2: 0x0040, 0xbf3: 0x0040, 0xbf4: 0x1f51, 0xbf5: 0x1f61, + 0xbf6: 0x1f71, 0xbf7: 0x1f81, 0xbf8: 0x1f91, 0xbf9: 0x1fa1, 0xbfa: 0x1fb2, 0xbfb: 0x07bd, + 0xbfc: 0x1fc2, 0xbfd: 0x1fd2, 0xbfe: 0x1fe2, 0xbff: 0x0f71, + // Block 0x30, offset 0xc00 + 0xc00: 0x1f41, 0xc01: 0x00c9, 0xc02: 0x0069, 0xc03: 0x0079, 0xc04: 0x1f51, 0xc05: 0x1f61, + 0xc06: 0x1f71, 0xc07: 0x1f81, 0xc08: 0x1f91, 0xc09: 0x1fa1, 0xc0a: 0x1fb2, 0xc0b: 0x07d5, + 0xc0c: 0x1fc2, 0xc0d: 0x1fd2, 0xc0e: 0x1fe2, 0xc0f: 0x0040, 0xc10: 0x0039, 0xc11: 0x0f09, + 0xc12: 0x00d9, 0xc13: 0x0369, 0xc14: 0x0ff9, 0xc15: 0x0249, 0xc16: 0x0f51, 0xc17: 0x0359, + 0xc18: 0x0f61, 0xc19: 0x0f71, 0xc1a: 0x0f99, 0xc1b: 0x01d9, 0xc1c: 0x0fa9, 0xc1d: 0x0040, + 0xc1e: 0x0040, 0xc1f: 0x0040, 0xc20: 0x0018, 0xc21: 0x0018, 0xc22: 0x0018, 0xc23: 0x0018, + 0xc24: 0x0018, 0xc25: 0x0018, 0xc26: 0x0018, 0xc27: 0x0018, 0xc28: 0x1ff1, 0xc29: 0x0018, + 0xc2a: 0x0018, 0xc2b: 0x0018, 0xc2c: 0x0018, 0xc2d: 0x0018, 0xc2e: 0x0018, 0xc2f: 0x0018, + 0xc30: 0x0018, 0xc31: 0x0018, 0xc32: 0x0018, 0xc33: 0x0018, 0xc34: 0x0018, 0xc35: 0x0018, + 0xc36: 0x0018, 0xc37: 0x0018, 0xc38: 0x0018, 0xc39: 0x0018, 0xc3a: 0x0018, 0xc3b: 0x0018, + 0xc3c: 0x0018, 0xc3d: 0x0018, 0xc3e: 0x0018, 0xc3f: 0x0040, + // Block 0x31, offset 0xc40 + 0xc40: 0x07ee, 0xc41: 0x080e, 0xc42: 0x1159, 0xc43: 0x082d, 0xc44: 0x0018, 0xc45: 0x084e, + 0xc46: 0x086e, 0xc47: 0x1011, 0xc48: 0x0018, 0xc49: 0x088d, 0xc4a: 0x0f31, 0xc4b: 0x0249, + 0xc4c: 0x0249, 0xc4d: 0x0249, 0xc4e: 0x0249, 0xc4f: 0x2009, 0xc50: 0x0f41, 0xc51: 0x0f41, + 0xc52: 0x0359, 0xc53: 0x0359, 0xc54: 0x0018, 0xc55: 0x0f71, 0xc56: 0x2021, 0xc57: 0x0018, + 0xc58: 0x0018, 0xc59: 0x0f99, 0xc5a: 0x2039, 0xc5b: 0x0269, 0xc5c: 0x0269, 0xc5d: 0x0269, + 0xc5e: 0x0018, 0xc5f: 0x0018, 0xc60: 0x2049, 0xc61: 0x08ad, 0xc62: 0x2061, 0xc63: 0x0018, + 0xc64: 0x13d1, 0xc65: 0x0018, 0xc66: 0x2079, 0xc67: 0x0018, 0xc68: 0x13d1, 0xc69: 0x0018, + 0xc6a: 0x0f51, 0xc6b: 0x2091, 0xc6c: 0x0ee9, 0xc6d: 0x1159, 0xc6e: 0x0018, 0xc6f: 0x0f09, + 0xc70: 0x0f09, 0xc71: 0x1199, 0xc72: 0x0040, 0xc73: 0x0f61, 0xc74: 0x00d9, 0xc75: 0x20a9, + 0xc76: 0x20c1, 0xc77: 0x20d9, 0xc78: 0x20f1, 0xc79: 0x0f41, 0xc7a: 0x0018, 0xc7b: 0x08cd, + 0xc7c: 0x2109, 0xc7d: 0x10b1, 0xc7e: 0x10b1, 0xc7f: 0x2109, + // Block 0x32, offset 0xc80 + 0xc80: 0x08ed, 0xc81: 0x0018, 0xc82: 0x0018, 0xc83: 0x0018, 0xc84: 0x0018, 0xc85: 0x0ef9, + 0xc86: 0x0ef9, 0xc87: 0x0f09, 0xc88: 0x0f41, 0xc89: 0x0259, 0xc8a: 0x0018, 0xc8b: 0x0018, + 0xc8c: 0x0018, 0xc8d: 0x0018, 0xc8e: 0x0008, 0xc8f: 0x0018, 0xc90: 0x2121, 0xc91: 0x2151, + 0xc92: 0x2181, 0xc93: 0x21b9, 0xc94: 0x21e9, 0xc95: 0x2219, 0xc96: 0x2249, 0xc97: 0x2279, + 0xc98: 0x22a9, 0xc99: 0x22d9, 0xc9a: 0x2309, 0xc9b: 0x2339, 0xc9c: 0x2369, 0xc9d: 0x2399, + 0xc9e: 0x23c9, 0xc9f: 0x23f9, 0xca0: 0x0f41, 0xca1: 0x2421, 0xca2: 0x0905, 0xca3: 0x2439, + 0xca4: 0x1089, 0xca5: 0x2451, 0xca6: 0x0925, 0xca7: 0x2469, 0xca8: 0x2491, 0xca9: 0x0369, + 0xcaa: 0x24a9, 0xcab: 0x0945, 0xcac: 0x0359, 0xcad: 0x1159, 0xcae: 0x0ef9, 0xcaf: 0x0f61, + 0xcb0: 0x0f41, 0xcb1: 0x2421, 0xcb2: 0x0965, 0xcb3: 0x2439, 0xcb4: 0x1089, 0xcb5: 0x2451, + 0xcb6: 0x0985, 0xcb7: 0x2469, 0xcb8: 0x2491, 0xcb9: 0x0369, 0xcba: 0x24a9, 0xcbb: 0x09a5, + 0xcbc: 0x0359, 0xcbd: 0x1159, 0xcbe: 0x0ef9, 0xcbf: 0x0f61, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x0018, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0018, + 0xcc6: 0x0018, 0xcc7: 0x0018, 0xcc8: 0x0018, 0xcc9: 0x0018, 0xcca: 0x0018, 0xccb: 0x0040, + 0xccc: 0x0040, 0xccd: 0x0040, 0xcce: 0x0040, 0xccf: 0x0040, 0xcd0: 0x0040, 0xcd1: 0x0040, + 0xcd2: 0x0040, 0xcd3: 0x0040, 0xcd4: 0x0040, 0xcd5: 0x0040, 0xcd6: 0x0040, 0xcd7: 0x0040, + 0xcd8: 0x0040, 0xcd9: 0x0040, 0xcda: 0x0040, 0xcdb: 0x0040, 0xcdc: 0x0040, 0xcdd: 0x0040, + 0xcde: 0x0040, 0xcdf: 0x0040, 0xce0: 0x00c9, 0xce1: 0x0069, 0xce2: 0x0079, 0xce3: 0x1f51, + 0xce4: 0x1f61, 0xce5: 0x1f71, 0xce6: 0x1f81, 0xce7: 0x1f91, 0xce8: 0x1fa1, 0xce9: 0x2601, + 0xcea: 0x2619, 0xceb: 0x2631, 0xcec: 0x2649, 0xced: 0x2661, 0xcee: 0x2679, 0xcef: 0x2691, + 0xcf0: 0x26a9, 0xcf1: 0x26c1, 0xcf2: 0x26d9, 0xcf3: 0x26f1, 0xcf4: 0x0a06, 0xcf5: 0x0a26, + 0xcf6: 0x0a46, 0xcf7: 0x0a66, 0xcf8: 0x0a86, 0xcf9: 0x0aa6, 0xcfa: 0x0ac6, 0xcfb: 0x0ae6, + 0xcfc: 0x0b06, 0xcfd: 0x270a, 0xcfe: 0x2732, 0xcff: 0x275a, + // Block 0x34, offset 0xd00 + 0xd00: 0x2782, 0xd01: 0x27aa, 0xd02: 0x27d2, 0xd03: 0x27fa, 0xd04: 0x2822, 0xd05: 0x284a, + 0xd06: 0x2872, 0xd07: 0x289a, 0xd08: 0x0040, 0xd09: 0x0040, 0xd0a: 0x0040, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0b26, 0xd1d: 0x0b46, + 0xd1e: 0x0b66, 0xd1f: 0x0b86, 0xd20: 0x0ba6, 0xd21: 0x0bc6, 0xd22: 0x0be6, 0xd23: 0x0c06, + 0xd24: 0x0c26, 0xd25: 0x0c46, 0xd26: 0x0c66, 0xd27: 0x0c86, 0xd28: 0x0ca6, 0xd29: 0x0cc6, + 0xd2a: 0x0ce6, 0xd2b: 0x0d06, 0xd2c: 0x0d26, 0xd2d: 0x0d46, 0xd2e: 0x0d66, 0xd2f: 0x0d86, + 0xd30: 0x0da6, 0xd31: 0x0dc6, 0xd32: 0x0de6, 0xd33: 0x0e06, 0xd34: 0x0e26, 0xd35: 0x0e46, + 0xd36: 0x0039, 0xd37: 0x0ee9, 0xd38: 0x1159, 0xd39: 0x0ef9, 0xd3a: 0x0f09, 0xd3b: 0x1199, + 0xd3c: 0x0f31, 0xd3d: 0x0249, 0xd3e: 0x0f41, 0xd3f: 0x0259, + // Block 0x35, offset 0xd40 + 0xd40: 0x0f51, 0xd41: 0x0359, 0xd42: 0x0f61, 0xd43: 0x0f71, 0xd44: 0x00d9, 0xd45: 0x0f99, + 0xd46: 0x2039, 0xd47: 0x0269, 0xd48: 0x01d9, 0xd49: 0x0fa9, 0xd4a: 0x0fb9, 0xd4b: 0x1089, + 0xd4c: 0x0279, 0xd4d: 0x0369, 0xd4e: 0x0289, 0xd4f: 0x13d1, 0xd50: 0x0039, 0xd51: 0x0ee9, + 0xd52: 0x1159, 0xd53: 0x0ef9, 0xd54: 0x0f09, 0xd55: 0x1199, 0xd56: 0x0f31, 0xd57: 0x0249, + 0xd58: 0x0f41, 0xd59: 0x0259, 0xd5a: 0x0f51, 0xd5b: 0x0359, 0xd5c: 0x0f61, 0xd5d: 0x0f71, + 0xd5e: 0x00d9, 0xd5f: 0x0f99, 0xd60: 0x2039, 0xd61: 0x0269, 0xd62: 0x01d9, 0xd63: 0x0fa9, + 0xd64: 0x0fb9, 0xd65: 0x1089, 0xd66: 0x0279, 0xd67: 0x0369, 0xd68: 0x0289, 0xd69: 0x13d1, + 0xd6a: 0x1f41, 0xd6b: 0x0018, 0xd6c: 0x0018, 0xd6d: 0x0018, 0xd6e: 0x0018, 0xd6f: 0x0018, + 0xd70: 0x0018, 0xd71: 0x0018, 0xd72: 0x0018, 0xd73: 0x0018, 0xd74: 0x0018, 0xd75: 0x0018, + 0xd76: 0x0018, 0xd77: 0x0018, 0xd78: 0x0018, 0xd79: 0x0018, 0xd7a: 0x0018, 0xd7b: 0x0018, + 0xd7c: 0x0018, 0xd7d: 0x0018, 0xd7e: 0x0018, 0xd7f: 0x0018, + // Block 0x36, offset 0xd80 + 0xd80: 0x0008, 0xd81: 0x0008, 0xd82: 0x0008, 0xd83: 0x0008, 0xd84: 0x0008, 0xd85: 0x0008, + 0xd86: 0x0008, 0xd87: 0x0008, 0xd88: 0x0008, 0xd89: 0x0008, 0xd8a: 0x0008, 0xd8b: 0x0008, + 0xd8c: 0x0008, 0xd8d: 0x0008, 0xd8e: 0x0008, 0xd8f: 0x0008, 0xd90: 0x0008, 0xd91: 0x0008, + 0xd92: 0x0008, 0xd93: 0x0008, 0xd94: 0x0008, 0xd95: 0x0008, 0xd96: 0x0008, 0xd97: 0x0008, + 0xd98: 0x0008, 0xd99: 0x0008, 0xd9a: 0x0008, 0xd9b: 0x0008, 0xd9c: 0x0008, 0xd9d: 0x0008, + 0xd9e: 0x0008, 0xd9f: 0x0040, 0xda0: 0xe00d, 0xda1: 0x0008, 0xda2: 0x2971, 0xda3: 0x0ebd, + 0xda4: 0x2989, 0xda5: 0x0008, 0xda6: 0x0008, 0xda7: 0xe07d, 0xda8: 0x0008, 0xda9: 0xe01d, + 0xdaa: 0x0008, 0xdab: 0xe03d, 0xdac: 0x0008, 0xdad: 0x0fe1, 0xdae: 0x1281, 0xdaf: 0x0fc9, + 0xdb0: 0x1141, 0xdb1: 0x0008, 0xdb2: 0xe00d, 0xdb3: 0x0008, 0xdb4: 0x0008, 0xdb5: 0xe01d, + 0xdb6: 0x0008, 0xdb7: 0x0008, 0xdb8: 0x0008, 0xdb9: 0x0008, 0xdba: 0x0008, 0xdbb: 0x0008, + 0xdbc: 0x0259, 0xdbd: 0x1089, 0xdbe: 0x29a1, 0xdbf: 0x29b9, + // Block 0x37, offset 0xdc0 + 0xdc0: 0xe00d, 0xdc1: 0x0008, 0xdc2: 0xe00d, 0xdc3: 0x0008, 0xdc4: 0xe00d, 0xdc5: 0x0008, + 0xdc6: 0xe00d, 0xdc7: 0x0008, 0xdc8: 0xe00d, 0xdc9: 0x0008, 0xdca: 0xe00d, 0xdcb: 0x0008, + 0xdcc: 0xe00d, 0xdcd: 0x0008, 0xdce: 0xe00d, 0xdcf: 0x0008, 0xdd0: 0xe00d, 0xdd1: 0x0008, + 0xdd2: 0xe00d, 0xdd3: 0x0008, 0xdd4: 0xe00d, 0xdd5: 0x0008, 0xdd6: 0xe00d, 0xdd7: 0x0008, + 0xdd8: 0xe00d, 0xdd9: 0x0008, 0xdda: 0xe00d, 0xddb: 0x0008, 0xddc: 0xe00d, 0xddd: 0x0008, + 0xdde: 0xe00d, 0xddf: 0x0008, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0xe00d, 0xde3: 0x0008, + 0xde4: 0x0008, 0xde5: 0x0018, 0xde6: 0x0018, 0xde7: 0x0018, 0xde8: 0x0018, 0xde9: 0x0018, + 0xdea: 0x0018, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0xe01d, 0xdee: 0x0008, 0xdef: 0x3308, + 0xdf0: 0x3308, 0xdf1: 0x3308, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0040, 0xdf5: 0x0040, + 0xdf6: 0x0040, 0xdf7: 0x0040, 0xdf8: 0x0040, 0xdf9: 0x0018, 0xdfa: 0x0018, 0xdfb: 0x0018, + 0xdfc: 0x0018, 0xdfd: 0x0018, 0xdfe: 0x0018, 0xdff: 0x0018, + // Block 0x38, offset 0xe00 + 0xe00: 0x26fd, 0xe01: 0x271d, 0xe02: 0x273d, 0xe03: 0x275d, 0xe04: 0x277d, 0xe05: 0x279d, + 0xe06: 0x27bd, 0xe07: 0x27dd, 0xe08: 0x27fd, 0xe09: 0x281d, 0xe0a: 0x283d, 0xe0b: 0x285d, + 0xe0c: 0x287d, 0xe0d: 0x289d, 0xe0e: 0x28bd, 0xe0f: 0x28dd, 0xe10: 0x28fd, 0xe11: 0x291d, + 0xe12: 0x293d, 0xe13: 0x295d, 0xe14: 0x297d, 0xe15: 0x299d, 0xe16: 0x0040, 0xe17: 0x0040, + 0xe18: 0x0040, 0xe19: 0x0040, 0xe1a: 0x0040, 0xe1b: 0x0040, 0xe1c: 0x0040, 0xe1d: 0x0040, + 0xe1e: 0x0040, 0xe1f: 0x0040, 0xe20: 0x0040, 0xe21: 0x0040, 0xe22: 0x0040, 0xe23: 0x0040, + 0xe24: 0x0040, 0xe25: 0x0040, 0xe26: 0x0040, 0xe27: 0x0040, 0xe28: 0x0040, 0xe29: 0x0040, + 0xe2a: 0x0040, 0xe2b: 0x0040, 0xe2c: 0x0040, 0xe2d: 0x0040, 0xe2e: 0x0040, 0xe2f: 0x0040, + 0xe30: 0x0040, 0xe31: 0x0040, 0xe32: 0x0040, 0xe33: 0x0040, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0040, 0xe3a: 0x0040, 0xe3b: 0x0040, + 0xe3c: 0x0040, 0xe3d: 0x0040, 0xe3e: 0x0040, 0xe3f: 0x0040, + // Block 0x39, offset 0xe40 + 0xe40: 0x000a, 0xe41: 0x0018, 0xe42: 0x29d1, 0xe43: 0x0018, 0xe44: 0x0018, 0xe45: 0x0008, + 0xe46: 0x0008, 0xe47: 0x0008, 0xe48: 0x0018, 0xe49: 0x0018, 0xe4a: 0x0018, 0xe4b: 0x0018, + 0xe4c: 0x0018, 0xe4d: 0x0018, 0xe4e: 0x0018, 0xe4f: 0x0018, 0xe50: 0x0018, 0xe51: 0x0018, + 0xe52: 0x0018, 0xe53: 0x0018, 0xe54: 0x0018, 0xe55: 0x0018, 0xe56: 0x0018, 0xe57: 0x0018, + 0xe58: 0x0018, 0xe59: 0x0018, 0xe5a: 0x0018, 0xe5b: 0x0018, 0xe5c: 0x0018, 0xe5d: 0x0018, + 0xe5e: 0x0018, 0xe5f: 0x0018, 0xe60: 0x0018, 0xe61: 0x0018, 0xe62: 0x0018, 0xe63: 0x0018, + 0xe64: 0x0018, 0xe65: 0x0018, 0xe66: 0x0018, 0xe67: 0x0018, 0xe68: 0x0018, 0xe69: 0x0018, + 0xe6a: 0x3308, 0xe6b: 0x3308, 0xe6c: 0x3308, 0xe6d: 0x3308, 0xe6e: 0x3018, 0xe6f: 0x3018, + 0xe70: 0x0018, 0xe71: 0x0018, 0xe72: 0x0018, 0xe73: 0x0018, 0xe74: 0x0018, 0xe75: 0x0018, + 0xe76: 0xe125, 0xe77: 0x0018, 0xe78: 0x29bd, 0xe79: 0x29dd, 0xe7a: 0x29fd, 0xe7b: 0x0018, + 0xe7c: 0x0008, 0xe7d: 0x0018, 0xe7e: 0x0018, 0xe7f: 0x0018, + // Block 0x3a, offset 0xe80 + 0xe80: 0x2b3d, 0xe81: 0x2b5d, 0xe82: 0x2b7d, 0xe83: 0x2b9d, 0xe84: 0x2bbd, 0xe85: 0x2bdd, + 0xe86: 0x2bdd, 0xe87: 0x2bdd, 0xe88: 0x2bfd, 0xe89: 0x2bfd, 0xe8a: 0x2bfd, 0xe8b: 0x2bfd, + 0xe8c: 0x2c1d, 0xe8d: 0x2c1d, 0xe8e: 0x2c1d, 0xe8f: 0x2c3d, 0xe90: 0x2c5d, 0xe91: 0x2c5d, + 0xe92: 0x2a7d, 0xe93: 0x2a7d, 0xe94: 0x2c5d, 0xe95: 0x2c5d, 0xe96: 0x2c7d, 0xe97: 0x2c7d, + 0xe98: 0x2c5d, 0xe99: 0x2c5d, 0xe9a: 0x2a7d, 0xe9b: 0x2a7d, 0xe9c: 0x2c5d, 0xe9d: 0x2c5d, + 0xe9e: 0x2c3d, 0xe9f: 0x2c3d, 0xea0: 0x2c9d, 0xea1: 0x2c9d, 0xea2: 0x2cbd, 0xea3: 0x2cbd, + 0xea4: 0x0040, 0xea5: 0x2cdd, 0xea6: 0x2cfd, 0xea7: 0x2d1d, 0xea8: 0x2d1d, 0xea9: 0x2d3d, + 0xeaa: 0x2d5d, 0xeab: 0x2d7d, 0xeac: 0x2d9d, 0xead: 0x2dbd, 0xeae: 0x2ddd, 0xeaf: 0x2dfd, + 0xeb0: 0x2e1d, 0xeb1: 0x2e3d, 0xeb2: 0x2e3d, 0xeb3: 0x2e5d, 0xeb4: 0x2e7d, 0xeb5: 0x2e7d, + 0xeb6: 0x2e9d, 0xeb7: 0x2ebd, 0xeb8: 0x2e5d, 0xeb9: 0x2edd, 0xeba: 0x2efd, 0xebb: 0x2edd, + 0xebc: 0x2e5d, 0xebd: 0x2f1d, 0xebe: 0x2f3d, 0xebf: 0x2f5d, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2f7d, 0xec1: 0x2f9d, 0xec2: 0x2cfd, 0xec3: 0x2cdd, 0xec4: 0x2fbd, 0xec5: 0x2fdd, + 0xec6: 0x2ffd, 0xec7: 0x301d, 0xec8: 0x303d, 0xec9: 0x305d, 0xeca: 0x307d, 0xecb: 0x309d, + 0xecc: 0x30bd, 0xecd: 0x30dd, 0xece: 0x30fd, 0xecf: 0x0040, 0xed0: 0x0018, 0xed1: 0x0018, + 0xed2: 0x311d, 0xed3: 0x313d, 0xed4: 0x315d, 0xed5: 0x317d, 0xed6: 0x319d, 0xed7: 0x31bd, + 0xed8: 0x31dd, 0xed9: 0x31fd, 0xeda: 0x321d, 0xedb: 0x323d, 0xedc: 0x315d, 0xedd: 0x325d, + 0xede: 0x327d, 0xedf: 0x329d, 0xee0: 0x0008, 0xee1: 0x0008, 0xee2: 0x0008, 0xee3: 0x0008, + 0xee4: 0x0008, 0xee5: 0x0008, 0xee6: 0x0008, 0xee7: 0x0008, 0xee8: 0x0008, 0xee9: 0x0008, + 0xeea: 0x0008, 0xeeb: 0x0008, 0xeec: 0x0008, 0xeed: 0x0008, 0xeee: 0x0008, 0xeef: 0x0008, + 0xef0: 0x0008, 0xef1: 0x0008, 0xef2: 0x0008, 0xef3: 0x0008, 0xef4: 0x0008, 0xef5: 0x0008, + 0xef6: 0x0008, 0xef7: 0x0008, 0xef8: 0x0008, 0xef9: 0x0008, 0xefa: 0x0008, 0xefb: 0x0040, + 0xefc: 0x0040, 0xefd: 0x0040, 0xefe: 0x0040, 0xeff: 0x0040, + // Block 0x3c, offset 0xf00 + 0xf00: 0x36a2, 0xf01: 0x36d2, 0xf02: 0x3702, 0xf03: 0x3732, 0xf04: 0x32bd, 0xf05: 0x32dd, + 0xf06: 0x32fd, 0xf07: 0x331d, 0xf08: 0x0018, 0xf09: 0x0018, 0xf0a: 0x0018, 0xf0b: 0x0018, + 0xf0c: 0x0018, 0xf0d: 0x0018, 0xf0e: 0x0018, 0xf0f: 0x0018, 0xf10: 0x333d, 0xf11: 0x3761, + 0xf12: 0x3779, 0xf13: 0x3791, 0xf14: 0x37a9, 0xf15: 0x37c1, 0xf16: 0x37d9, 0xf17: 0x37f1, + 0xf18: 0x3809, 0xf19: 0x3821, 0xf1a: 0x3839, 0xf1b: 0x3851, 0xf1c: 0x3869, 0xf1d: 0x3881, + 0xf1e: 0x3899, 0xf1f: 0x38b1, 0xf20: 0x335d, 0xf21: 0x337d, 0xf22: 0x339d, 0xf23: 0x33bd, + 0xf24: 0x33dd, 0xf25: 0x33dd, 0xf26: 0x33fd, 0xf27: 0x341d, 0xf28: 0x343d, 0xf29: 0x345d, + 0xf2a: 0x347d, 0xf2b: 0x349d, 0xf2c: 0x34bd, 0xf2d: 0x34dd, 0xf2e: 0x34fd, 0xf2f: 0x351d, + 0xf30: 0x353d, 0xf31: 0x355d, 0xf32: 0x357d, 0xf33: 0x359d, 0xf34: 0x35bd, 0xf35: 0x35dd, + 0xf36: 0x35fd, 0xf37: 0x361d, 0xf38: 0x363d, 0xf39: 0x365d, 0xf3a: 0x367d, 0xf3b: 0x369d, + 0xf3c: 0x38c9, 0xf3d: 0x3901, 0xf3e: 0x36bd, 0xf3f: 0x0018, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36dd, 0xf41: 0x36fd, 0xf42: 0x371d, 0xf43: 0x373d, 0xf44: 0x375d, 0xf45: 0x377d, + 0xf46: 0x379d, 0xf47: 0x37bd, 0xf48: 0x37dd, 0xf49: 0x37fd, 0xf4a: 0x381d, 0xf4b: 0x383d, + 0xf4c: 0x385d, 0xf4d: 0x387d, 0xf4e: 0x389d, 0xf4f: 0x38bd, 0xf50: 0x38dd, 0xf51: 0x38fd, + 0xf52: 0x391d, 0xf53: 0x393d, 0xf54: 0x395d, 0xf55: 0x397d, 0xf56: 0x399d, 0xf57: 0x39bd, + 0xf58: 0x39dd, 0xf59: 0x39fd, 0xf5a: 0x3a1d, 0xf5b: 0x3a3d, 0xf5c: 0x3a5d, 0xf5d: 0x3a7d, + 0xf5e: 0x3a9d, 0xf5f: 0x3abd, 0xf60: 0x3add, 0xf61: 0x3afd, 0xf62: 0x3b1d, 0xf63: 0x3b3d, + 0xf64: 0x3b5d, 0xf65: 0x3b7d, 0xf66: 0x127d, 0xf67: 0x3b9d, 0xf68: 0x3bbd, 0xf69: 0x3bdd, + 0xf6a: 0x3bfd, 0xf6b: 0x3c1d, 0xf6c: 0x3c3d, 0xf6d: 0x3c5d, 0xf6e: 0x239d, 0xf6f: 0x3c7d, + 0xf70: 0x3c9d, 0xf71: 0x3939, 0xf72: 0x3951, 0xf73: 0x3969, 0xf74: 0x3981, 0xf75: 0x3999, + 0xf76: 0x39b1, 0xf77: 0x39c9, 0xf78: 0x39e1, 0xf79: 0x39f9, 0xf7a: 0x3a11, 0xf7b: 0x3a29, + 0xf7c: 0x3a41, 0xf7d: 0x3a59, 0xf7e: 0x3a71, 0xf7f: 0x3a89, + // Block 0x3e, offset 0xf80 + 0xf80: 0x3aa1, 0xf81: 0x3ac9, 0xf82: 0x3af1, 0xf83: 0x3b19, 0xf84: 0x3b41, 0xf85: 0x3b69, + 0xf86: 0x3b91, 0xf87: 0x3bb9, 0xf88: 0x3be1, 0xf89: 0x3c09, 0xf8a: 0x3c39, 0xf8b: 0x3c69, + 0xf8c: 0x3c99, 0xf8d: 0x3cbd, 0xf8e: 0x3cb1, 0xf8f: 0x3cdd, 0xf90: 0x3cfd, 0xf91: 0x3d15, + 0xf92: 0x3d2d, 0xf93: 0x3d45, 0xf94: 0x3d5d, 0xf95: 0x3d5d, 0xf96: 0x3d45, 0xf97: 0x3d75, + 0xf98: 0x07bd, 0xf99: 0x3d8d, 0xf9a: 0x3da5, 0xf9b: 0x3dbd, 0xf9c: 0x3dd5, 0xf9d: 0x3ded, + 0xf9e: 0x3e05, 0xf9f: 0x3e1d, 0xfa0: 0x3e35, 0xfa1: 0x3e4d, 0xfa2: 0x3e65, 0xfa3: 0x3e7d, + 0xfa4: 0x3e95, 0xfa5: 0x3e95, 0xfa6: 0x3ead, 0xfa7: 0x3ead, 0xfa8: 0x3ec5, 0xfa9: 0x3ec5, + 0xfaa: 0x3edd, 0xfab: 0x3ef5, 0xfac: 0x3f0d, 0xfad: 0x3f25, 0xfae: 0x3f3d, 0xfaf: 0x3f3d, + 0xfb0: 0x3f55, 0xfb1: 0x3f55, 0xfb2: 0x3f55, 0xfb3: 0x3f6d, 0xfb4: 0x3f85, 0xfb5: 0x3f9d, + 0xfb6: 0x3fb5, 0xfb7: 0x3f9d, 0xfb8: 0x3fcd, 0xfb9: 0x3fe5, 0xfba: 0x3f6d, 0xfbb: 0x3ffd, + 0xfbc: 0x4015, 0xfbd: 0x4015, 0xfbe: 0x4015, 0xfbf: 0x0040, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3cc9, 0xfc1: 0x3d31, 0xfc2: 0x3d99, 0xfc3: 0x3e01, 0xfc4: 0x3e51, 0xfc5: 0x3eb9, + 0xfc6: 0x3f09, 0xfc7: 0x3f59, 0xfc8: 0x3fd9, 0xfc9: 0x4041, 0xfca: 0x4091, 0xfcb: 0x40e1, + 0xfcc: 0x4131, 0xfcd: 0x4199, 0xfce: 0x4201, 0xfcf: 0x4251, 0xfd0: 0x42a1, 0xfd1: 0x42d9, + 0xfd2: 0x4329, 0xfd3: 0x4391, 0xfd4: 0x43f9, 0xfd5: 0x4431, 0xfd6: 0x44b1, 0xfd7: 0x4549, + 0xfd8: 0x45c9, 0xfd9: 0x4619, 0xfda: 0x4699, 0xfdb: 0x4719, 0xfdc: 0x4781, 0xfdd: 0x47d1, + 0xfde: 0x4821, 0xfdf: 0x4871, 0xfe0: 0x48d9, 0xfe1: 0x4959, 0xfe2: 0x49c1, 0xfe3: 0x4a11, + 0xfe4: 0x4a61, 0xfe5: 0x4ab1, 0xfe6: 0x4ae9, 0xfe7: 0x4b21, 0xfe8: 0x4b59, 0xfe9: 0x4b91, + 0xfea: 0x4be1, 0xfeb: 0x4c31, 0xfec: 0x4cb1, 0xfed: 0x4d01, 0xfee: 0x4d69, 0xfef: 0x4de9, + 0xff0: 0x4e39, 0xff1: 0x4e71, 0xff2: 0x4ea9, 0xff3: 0x4f29, 0xff4: 0x4f91, 0xff5: 0x5011, + 0xff6: 0x5061, 0xff7: 0x50e1, 0xff8: 0x5119, 0xff9: 0x5169, 0xffa: 0x51b9, 0xffb: 0x5209, + 0xffc: 0x5259, 0xffd: 0x52a9, 0xffe: 0x5311, 0xfff: 0x5361, + // Block 0x40, offset 0x1000 + 0x1000: 0x5399, 0x1001: 0x53e9, 0x1002: 0x5439, 0x1003: 0x5489, 0x1004: 0x54f1, 0x1005: 0x5541, + 0x1006: 0x5591, 0x1007: 0x55e1, 0x1008: 0x5661, 0x1009: 0x56c9, 0x100a: 0x5701, 0x100b: 0x5781, + 0x100c: 0x57b9, 0x100d: 0x5821, 0x100e: 0x5889, 0x100f: 0x58d9, 0x1010: 0x5929, 0x1011: 0x5979, + 0x1012: 0x59e1, 0x1013: 0x5a19, 0x1014: 0x5a69, 0x1015: 0x5ad1, 0x1016: 0x5b09, 0x1017: 0x5b89, + 0x1018: 0x5bd9, 0x1019: 0x5c01, 0x101a: 0x5c29, 0x101b: 0x5c51, 0x101c: 0x5c79, 0x101d: 0x5ca1, + 0x101e: 0x5cc9, 0x101f: 0x5cf1, 0x1020: 0x5d19, 0x1021: 0x5d41, 0x1022: 0x5d69, 0x1023: 0x5d99, + 0x1024: 0x5dc9, 0x1025: 0x5df9, 0x1026: 0x5e29, 0x1027: 0x5e59, 0x1028: 0x5e89, 0x1029: 0x5eb9, + 0x102a: 0x5ee9, 0x102b: 0x5f19, 0x102c: 0x5f49, 0x102d: 0x5f79, 0x102e: 0x5fa9, 0x102f: 0x5fd9, + 0x1030: 0x6009, 0x1031: 0x402d, 0x1032: 0x6039, 0x1033: 0x6051, 0x1034: 0x404d, 0x1035: 0x6069, + 0x1036: 0x6081, 0x1037: 0x6099, 0x1038: 0x406d, 0x1039: 0x406d, 0x103a: 0x60b1, 0x103b: 0x60c9, + 0x103c: 0x6101, 0x103d: 0x6139, 0x103e: 0x6171, 0x103f: 0x61a9, + // Block 0x41, offset 0x1040 + 0x1040: 0x6211, 0x1041: 0x6229, 0x1042: 0x408d, 0x1043: 0x6241, 0x1044: 0x6259, 0x1045: 0x6271, + 0x1046: 0x6289, 0x1047: 0x62a1, 0x1048: 0x40ad, 0x1049: 0x62b9, 0x104a: 0x62e1, 0x104b: 0x62f9, + 0x104c: 0x40cd, 0x104d: 0x40cd, 0x104e: 0x6311, 0x104f: 0x6329, 0x1050: 0x6341, 0x1051: 0x40ed, + 0x1052: 0x410d, 0x1053: 0x412d, 0x1054: 0x414d, 0x1055: 0x416d, 0x1056: 0x6359, 0x1057: 0x6371, + 0x1058: 0x6389, 0x1059: 0x63a1, 0x105a: 0x63b9, 0x105b: 0x418d, 0x105c: 0x63d1, 0x105d: 0x63e9, + 0x105e: 0x6401, 0x105f: 0x41ad, 0x1060: 0x41cd, 0x1061: 0x6419, 0x1062: 0x41ed, 0x1063: 0x420d, + 0x1064: 0x422d, 0x1065: 0x6431, 0x1066: 0x424d, 0x1067: 0x6449, 0x1068: 0x6479, 0x1069: 0x6211, + 0x106a: 0x426d, 0x106b: 0x428d, 0x106c: 0x42ad, 0x106d: 0x42cd, 0x106e: 0x64b1, 0x106f: 0x64f1, + 0x1070: 0x6539, 0x1071: 0x6551, 0x1072: 0x42ed, 0x1073: 0x6569, 0x1074: 0x6581, 0x1075: 0x6599, + 0x1076: 0x430d, 0x1077: 0x65b1, 0x1078: 0x65c9, 0x1079: 0x65b1, 0x107a: 0x65e1, 0x107b: 0x65f9, + 0x107c: 0x432d, 0x107d: 0x6611, 0x107e: 0x6629, 0x107f: 0x6611, + // Block 0x42, offset 0x1080 + 0x1080: 0x434d, 0x1081: 0x436d, 0x1082: 0x0040, 0x1083: 0x6641, 0x1084: 0x6659, 0x1085: 0x6671, + 0x1086: 0x6689, 0x1087: 0x0040, 0x1088: 0x66c1, 0x1089: 0x66d9, 0x108a: 0x66f1, 0x108b: 0x6709, + 0x108c: 0x6721, 0x108d: 0x6739, 0x108e: 0x6401, 0x108f: 0x6751, 0x1090: 0x6769, 0x1091: 0x6781, + 0x1092: 0x438d, 0x1093: 0x6799, 0x1094: 0x6289, 0x1095: 0x43ad, 0x1096: 0x43cd, 0x1097: 0x67b1, + 0x1098: 0x0040, 0x1099: 0x43ed, 0x109a: 0x67c9, 0x109b: 0x67e1, 0x109c: 0x67f9, 0x109d: 0x6811, + 0x109e: 0x6829, 0x109f: 0x6859, 0x10a0: 0x6889, 0x10a1: 0x68b1, 0x10a2: 0x68d9, 0x10a3: 0x6901, + 0x10a4: 0x6929, 0x10a5: 0x6951, 0x10a6: 0x6979, 0x10a7: 0x69a1, 0x10a8: 0x69c9, 0x10a9: 0x69f1, + 0x10aa: 0x6a21, 0x10ab: 0x6a51, 0x10ac: 0x6a81, 0x10ad: 0x6ab1, 0x10ae: 0x6ae1, 0x10af: 0x6b11, + 0x10b0: 0x6b41, 0x10b1: 0x6b71, 0x10b2: 0x6ba1, 0x10b3: 0x6bd1, 0x10b4: 0x6c01, 0x10b5: 0x6c31, + 0x10b6: 0x6c61, 0x10b7: 0x6c91, 0x10b8: 0x6cc1, 0x10b9: 0x6cf1, 0x10ba: 0x6d21, 0x10bb: 0x6d51, + 0x10bc: 0x6d81, 0x10bd: 0x6db1, 0x10be: 0x6de1, 0x10bf: 0x440d, + // Block 0x43, offset 0x10c0 + 0x10c0: 0xe00d, 0x10c1: 0x0008, 0x10c2: 0xe00d, 0x10c3: 0x0008, 0x10c4: 0xe00d, 0x10c5: 0x0008, + 0x10c6: 0xe00d, 0x10c7: 0x0008, 0x10c8: 0xe00d, 0x10c9: 0x0008, 0x10ca: 0xe00d, 0x10cb: 0x0008, + 0x10cc: 0xe00d, 0x10cd: 0x0008, 0x10ce: 0xe00d, 0x10cf: 0x0008, 0x10d0: 0xe00d, 0x10d1: 0x0008, + 0x10d2: 0xe00d, 0x10d3: 0x0008, 0x10d4: 0xe00d, 0x10d5: 0x0008, 0x10d6: 0xe00d, 0x10d7: 0x0008, + 0x10d8: 0xe00d, 0x10d9: 0x0008, 0x10da: 0xe00d, 0x10db: 0x0008, 0x10dc: 0xe00d, 0x10dd: 0x0008, + 0x10de: 0xe00d, 0x10df: 0x0008, 0x10e0: 0xe00d, 0x10e1: 0x0008, 0x10e2: 0xe00d, 0x10e3: 0x0008, + 0x10e4: 0xe00d, 0x10e5: 0x0008, 0x10e6: 0xe00d, 0x10e7: 0x0008, 0x10e8: 0xe00d, 0x10e9: 0x0008, + 0x10ea: 0xe00d, 0x10eb: 0x0008, 0x10ec: 0xe00d, 0x10ed: 0x0008, 0x10ee: 0x0008, 0x10ef: 0x3308, + 0x10f0: 0x3318, 0x10f1: 0x3318, 0x10f2: 0x3318, 0x10f3: 0x0018, 0x10f4: 0x3308, 0x10f5: 0x3308, + 0x10f6: 0x3308, 0x10f7: 0x3308, 0x10f8: 0x3308, 0x10f9: 0x3308, 0x10fa: 0x3308, 0x10fb: 0x3308, + 0x10fc: 0x3308, 0x10fd: 0x3308, 0x10fe: 0x0018, 0x10ff: 0x0008, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0x0ea1, 0x111d: 0x6e11, + 0x111e: 0x3308, 0x111f: 0x3308, 0x1120: 0x0008, 0x1121: 0x0008, 0x1122: 0x0008, 0x1123: 0x0008, + 0x1124: 0x0008, 0x1125: 0x0008, 0x1126: 0x0008, 0x1127: 0x0008, 0x1128: 0x0008, 0x1129: 0x0008, + 0x112a: 0x0008, 0x112b: 0x0008, 0x112c: 0x0008, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x0008, + 0x1130: 0x0008, 0x1131: 0x0008, 0x1132: 0x0008, 0x1133: 0x0008, 0x1134: 0x0008, 0x1135: 0x0008, + 0x1136: 0x0008, 0x1137: 0x0008, 0x1138: 0x0008, 0x1139: 0x0008, 0x113a: 0x0008, 0x113b: 0x0008, + 0x113c: 0x0008, 0x113d: 0x0008, 0x113e: 0x0008, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0x0018, 0x1141: 0x0018, 0x1142: 0x0018, 0x1143: 0x0018, 0x1144: 0x0018, 0x1145: 0x0018, + 0x1146: 0x0018, 0x1147: 0x0018, 0x1148: 0x0018, 0x1149: 0x0018, 0x114a: 0x0018, 0x114b: 0x0018, + 0x114c: 0x0018, 0x114d: 0x0018, 0x114e: 0x0018, 0x114f: 0x0018, 0x1150: 0x0018, 0x1151: 0x0018, + 0x1152: 0x0018, 0x1153: 0x0018, 0x1154: 0x0018, 0x1155: 0x0018, 0x1156: 0x0018, 0x1157: 0x0008, + 0x1158: 0x0008, 0x1159: 0x0008, 0x115a: 0x0008, 0x115b: 0x0008, 0x115c: 0x0008, 0x115d: 0x0008, + 0x115e: 0x0008, 0x115f: 0x0008, 0x1160: 0x0018, 0x1161: 0x0018, 0x1162: 0xe00d, 0x1163: 0x0008, + 0x1164: 0xe00d, 0x1165: 0x0008, 0x1166: 0xe00d, 0x1167: 0x0008, 0x1168: 0xe00d, 0x1169: 0x0008, + 0x116a: 0xe00d, 0x116b: 0x0008, 0x116c: 0xe00d, 0x116d: 0x0008, 0x116e: 0xe00d, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0xe00d, 0x1173: 0x0008, 0x1174: 0xe00d, 0x1175: 0x0008, + 0x1176: 0xe00d, 0x1177: 0x0008, 0x1178: 0xe00d, 0x1179: 0x0008, 0x117a: 0xe00d, 0x117b: 0x0008, + 0x117c: 0xe00d, 0x117d: 0x0008, 0x117e: 0xe00d, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0xe00d, 0x1181: 0x0008, 0x1182: 0xe00d, 0x1183: 0x0008, 0x1184: 0xe00d, 0x1185: 0x0008, + 0x1186: 0xe00d, 0x1187: 0x0008, 0x1188: 0xe00d, 0x1189: 0x0008, 0x118a: 0xe00d, 0x118b: 0x0008, + 0x118c: 0xe00d, 0x118d: 0x0008, 0x118e: 0xe00d, 0x118f: 0x0008, 0x1190: 0xe00d, 0x1191: 0x0008, + 0x1192: 0xe00d, 0x1193: 0x0008, 0x1194: 0xe00d, 0x1195: 0x0008, 0x1196: 0xe00d, 0x1197: 0x0008, + 0x1198: 0xe00d, 0x1199: 0x0008, 0x119a: 0xe00d, 0x119b: 0x0008, 0x119c: 0xe00d, 0x119d: 0x0008, + 0x119e: 0xe00d, 0x119f: 0x0008, 0x11a0: 0xe00d, 0x11a1: 0x0008, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0xe0fd, 0x11b1: 0x0008, 0x11b2: 0x0008, 0x11b3: 0x0008, 0x11b4: 0x0008, 0x11b5: 0x0008, + 0x11b6: 0x0008, 0x11b7: 0x0008, 0x11b8: 0x0008, 0x11b9: 0xe01d, 0x11ba: 0x0008, 0x11bb: 0xe03d, + 0x11bc: 0x0008, 0x11bd: 0x442d, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0x0008, 0x11c9: 0x0018, 0x11ca: 0x0018, 0x11cb: 0xe03d, + 0x11cc: 0x0008, 0x11cd: 0x11d9, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0x6e29, 0x11eb: 0x1029, 0x11ec: 0x11c1, 0x11ed: 0x6e41, 0x11ee: 0x1221, 0x11ef: 0x0040, + 0x11f0: 0x6e59, 0x11f1: 0x6e71, 0x11f2: 0x1239, 0x11f3: 0x444d, 0x11f4: 0xe00d, 0x11f5: 0x0008, + 0x11f6: 0xe00d, 0x11f7: 0x0008, 0x11f8: 0x0040, 0x11f9: 0x0040, 0x11fa: 0x0040, 0x11fb: 0x0040, + 0x11fc: 0x0040, 0x11fd: 0x0040, 0x11fe: 0x0040, 0x11ff: 0x0040, + // Block 0x48, offset 0x1200 + 0x1200: 0x64d5, 0x1201: 0x64f5, 0x1202: 0x6515, 0x1203: 0x6535, 0x1204: 0x6555, 0x1205: 0x6575, + 0x1206: 0x6595, 0x1207: 0x65b5, 0x1208: 0x65d5, 0x1209: 0x65f5, 0x120a: 0x6615, 0x120b: 0x6635, + 0x120c: 0x6655, 0x120d: 0x6675, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0x6695, 0x1211: 0x0008, + 0x1212: 0x66b5, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x66d5, 0x1216: 0x66f5, 0x1217: 0x6715, + 0x1218: 0x6735, 0x1219: 0x6755, 0x121a: 0x6775, 0x121b: 0x6795, 0x121c: 0x67b5, 0x121d: 0x67d5, + 0x121e: 0x67f5, 0x121f: 0x0008, 0x1220: 0x6815, 0x1221: 0x0008, 0x1222: 0x6835, 0x1223: 0x0008, + 0x1224: 0x0008, 0x1225: 0x6855, 0x1226: 0x6875, 0x1227: 0x0008, 0x1228: 0x0008, 0x1229: 0x0008, + 0x122a: 0x6895, 0x122b: 0x68b5, 0x122c: 0x68d5, 0x122d: 0x68f5, 0x122e: 0x6915, 0x122f: 0x6935, + 0x1230: 0x6955, 0x1231: 0x6975, 0x1232: 0x6995, 0x1233: 0x69b5, 0x1234: 0x69d5, 0x1235: 0x69f5, + 0x1236: 0x6a15, 0x1237: 0x6a35, 0x1238: 0x6a55, 0x1239: 0x6a75, 0x123a: 0x6a95, 0x123b: 0x6ab5, + 0x123c: 0x6ad5, 0x123d: 0x6af5, 0x123e: 0x6b15, 0x123f: 0x6b35, + // Block 0x49, offset 0x1240 + 0x1240: 0x7a95, 0x1241: 0x7ab5, 0x1242: 0x7ad5, 0x1243: 0x7af5, 0x1244: 0x7b15, 0x1245: 0x7b35, + 0x1246: 0x7b55, 0x1247: 0x7b75, 0x1248: 0x7b95, 0x1249: 0x7bb5, 0x124a: 0x7bd5, 0x124b: 0x7bf5, + 0x124c: 0x7c15, 0x124d: 0x7c35, 0x124e: 0x7c55, 0x124f: 0x6ec9, 0x1250: 0x6ef1, 0x1251: 0x6f19, + 0x1252: 0x7c75, 0x1253: 0x7c95, 0x1254: 0x7cb5, 0x1255: 0x6f41, 0x1256: 0x6f69, 0x1257: 0x6f91, + 0x1258: 0x7cd5, 0x1259: 0x7cf5, 0x125a: 0x0040, 0x125b: 0x0040, 0x125c: 0x0040, 0x125d: 0x0040, + 0x125e: 0x0040, 0x125f: 0x0040, 0x1260: 0x0040, 0x1261: 0x0040, 0x1262: 0x0040, 0x1263: 0x0040, + 0x1264: 0x0040, 0x1265: 0x0040, 0x1266: 0x0040, 0x1267: 0x0040, 0x1268: 0x0040, 0x1269: 0x0040, + 0x126a: 0x0040, 0x126b: 0x0040, 0x126c: 0x0040, 0x126d: 0x0040, 0x126e: 0x0040, 0x126f: 0x0040, + 0x1270: 0x0040, 0x1271: 0x0040, 0x1272: 0x0040, 0x1273: 0x0040, 0x1274: 0x0040, 0x1275: 0x0040, + 0x1276: 0x0040, 0x1277: 0x0040, 0x1278: 0x0040, 0x1279: 0x0040, 0x127a: 0x0040, 0x127b: 0x0040, + 0x127c: 0x0040, 0x127d: 0x0040, 0x127e: 0x0040, 0x127f: 0x0040, + // Block 0x4a, offset 0x1280 + 0x1280: 0x6fb9, 0x1281: 0x6fd1, 0x1282: 0x6fe9, 0x1283: 0x7d15, 0x1284: 0x7d35, 0x1285: 0x7001, + 0x1286: 0x7001, 0x1287: 0x0040, 0x1288: 0x0040, 0x1289: 0x0040, 0x128a: 0x0040, 0x128b: 0x0040, + 0x128c: 0x0040, 0x128d: 0x0040, 0x128e: 0x0040, 0x128f: 0x0040, 0x1290: 0x0040, 0x1291: 0x0040, + 0x1292: 0x0040, 0x1293: 0x7019, 0x1294: 0x7041, 0x1295: 0x7069, 0x1296: 0x7091, 0x1297: 0x70b9, + 0x1298: 0x0040, 0x1299: 0x0040, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x70e1, + 0x129e: 0x3308, 0x129f: 0x7109, 0x12a0: 0x7131, 0x12a1: 0x20a9, 0x12a2: 0x20f1, 0x12a3: 0x7149, + 0x12a4: 0x7161, 0x12a5: 0x7179, 0x12a6: 0x7191, 0x12a7: 0x71a9, 0x12a8: 0x71c1, 0x12a9: 0x1fb2, + 0x12aa: 0x71d9, 0x12ab: 0x7201, 0x12ac: 0x7229, 0x12ad: 0x7261, 0x12ae: 0x7299, 0x12af: 0x72c1, + 0x12b0: 0x72e9, 0x12b1: 0x7311, 0x12b2: 0x7339, 0x12b3: 0x7361, 0x12b4: 0x7389, 0x12b5: 0x73b1, + 0x12b6: 0x73d9, 0x12b7: 0x0040, 0x12b8: 0x7401, 0x12b9: 0x7429, 0x12ba: 0x7451, 0x12bb: 0x7479, + 0x12bc: 0x74a1, 0x12bd: 0x0040, 0x12be: 0x74c9, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x74f1, 0x12c1: 0x7519, 0x12c2: 0x0040, 0x12c3: 0x7541, 0x12c4: 0x7569, 0x12c5: 0x0040, + 0x12c6: 0x7591, 0x12c7: 0x75b9, 0x12c8: 0x75e1, 0x12c9: 0x7609, 0x12ca: 0x7631, 0x12cb: 0x7659, + 0x12cc: 0x7681, 0x12cd: 0x76a9, 0x12ce: 0x76d1, 0x12cf: 0x76f9, 0x12d0: 0x7721, 0x12d1: 0x7721, + 0x12d2: 0x7739, 0x12d3: 0x7739, 0x12d4: 0x7739, 0x12d5: 0x7739, 0x12d6: 0x7751, 0x12d7: 0x7751, + 0x12d8: 0x7751, 0x12d9: 0x7751, 0x12da: 0x7769, 0x12db: 0x7769, 0x12dc: 0x7769, 0x12dd: 0x7769, + 0x12de: 0x7781, 0x12df: 0x7781, 0x12e0: 0x7781, 0x12e1: 0x7781, 0x12e2: 0x7799, 0x12e3: 0x7799, + 0x12e4: 0x7799, 0x12e5: 0x7799, 0x12e6: 0x77b1, 0x12e7: 0x77b1, 0x12e8: 0x77b1, 0x12e9: 0x77b1, + 0x12ea: 0x77c9, 0x12eb: 0x77c9, 0x12ec: 0x77c9, 0x12ed: 0x77c9, 0x12ee: 0x77e1, 0x12ef: 0x77e1, + 0x12f0: 0x77e1, 0x12f1: 0x77e1, 0x12f2: 0x77f9, 0x12f3: 0x77f9, 0x12f4: 0x77f9, 0x12f5: 0x77f9, + 0x12f6: 0x7811, 0x12f7: 0x7811, 0x12f8: 0x7811, 0x12f9: 0x7811, 0x12fa: 0x7829, 0x12fb: 0x7829, + 0x12fc: 0x7829, 0x12fd: 0x7829, 0x12fe: 0x7841, 0x12ff: 0x7841, + // Block 0x4c, offset 0x1300 + 0x1300: 0x7841, 0x1301: 0x7841, 0x1302: 0x7859, 0x1303: 0x7859, 0x1304: 0x7871, 0x1305: 0x7871, + 0x1306: 0x7889, 0x1307: 0x7889, 0x1308: 0x78a1, 0x1309: 0x78a1, 0x130a: 0x78b9, 0x130b: 0x78b9, + 0x130c: 0x78d1, 0x130d: 0x78d1, 0x130e: 0x78e9, 0x130f: 0x78e9, 0x1310: 0x78e9, 0x1311: 0x78e9, + 0x1312: 0x7901, 0x1313: 0x7901, 0x1314: 0x7901, 0x1315: 0x7901, 0x1316: 0x7919, 0x1317: 0x7919, + 0x1318: 0x7919, 0x1319: 0x7919, 0x131a: 0x7931, 0x131b: 0x7931, 0x131c: 0x7931, 0x131d: 0x7931, + 0x131e: 0x7949, 0x131f: 0x7949, 0x1320: 0x7961, 0x1321: 0x7961, 0x1322: 0x7961, 0x1323: 0x7961, + 0x1324: 0x7979, 0x1325: 0x7979, 0x1326: 0x7991, 0x1327: 0x7991, 0x1328: 0x7991, 0x1329: 0x7991, + 0x132a: 0x79a9, 0x132b: 0x79a9, 0x132c: 0x79a9, 0x132d: 0x79a9, 0x132e: 0x79c1, 0x132f: 0x79c1, + 0x1330: 0x79d9, 0x1331: 0x79d9, 0x1332: 0x0818, 0x1333: 0x0818, 0x1334: 0x0818, 0x1335: 0x0818, + 0x1336: 0x0818, 0x1337: 0x0818, 0x1338: 0x0818, 0x1339: 0x0818, 0x133a: 0x0818, 0x133b: 0x0818, + 0x133c: 0x0818, 0x133d: 0x0818, 0x133e: 0x0818, 0x133f: 0x0818, + // Block 0x4d, offset 0x1340 + 0x1340: 0x0818, 0x1341: 0x0818, 0x1342: 0x0040, 0x1343: 0x0040, 0x1344: 0x0040, 0x1345: 0x0040, + 0x1346: 0x0040, 0x1347: 0x0040, 0x1348: 0x0040, 0x1349: 0x0040, 0x134a: 0x0040, 0x134b: 0x0040, + 0x134c: 0x0040, 0x134d: 0x0040, 0x134e: 0x0040, 0x134f: 0x0040, 0x1350: 0x0040, 0x1351: 0x0040, + 0x1352: 0x0040, 0x1353: 0x79f1, 0x1354: 0x79f1, 0x1355: 0x79f1, 0x1356: 0x79f1, 0x1357: 0x7a09, + 0x1358: 0x7a09, 0x1359: 0x7a21, 0x135a: 0x7a21, 0x135b: 0x7a39, 0x135c: 0x7a39, 0x135d: 0x0479, + 0x135e: 0x7a51, 0x135f: 0x7a51, 0x1360: 0x7a69, 0x1361: 0x7a69, 0x1362: 0x7a81, 0x1363: 0x7a81, + 0x1364: 0x7a99, 0x1365: 0x7a99, 0x1366: 0x7a99, 0x1367: 0x7a99, 0x1368: 0x7ab1, 0x1369: 0x7ab1, + 0x136a: 0x7ac9, 0x136b: 0x7ac9, 0x136c: 0x7af1, 0x136d: 0x7af1, 0x136e: 0x7b19, 0x136f: 0x7b19, + 0x1370: 0x7b41, 0x1371: 0x7b41, 0x1372: 0x7b69, 0x1373: 0x7b69, 0x1374: 0x7b91, 0x1375: 0x7b91, + 0x1376: 0x7bb9, 0x1377: 0x7bb9, 0x1378: 0x7bb9, 0x1379: 0x7be1, 0x137a: 0x7be1, 0x137b: 0x7be1, + 0x137c: 0x7c09, 0x137d: 0x7c09, 0x137e: 0x7c09, 0x137f: 0x7c09, + // Block 0x4e, offset 0x1380 + 0x1380: 0x85f9, 0x1381: 0x8621, 0x1382: 0x8649, 0x1383: 0x8671, 0x1384: 0x8699, 0x1385: 0x86c1, + 0x1386: 0x86e9, 0x1387: 0x8711, 0x1388: 0x8739, 0x1389: 0x8761, 0x138a: 0x8789, 0x138b: 0x87b1, + 0x138c: 0x87d9, 0x138d: 0x8801, 0x138e: 0x8829, 0x138f: 0x8851, 0x1390: 0x8879, 0x1391: 0x88a1, + 0x1392: 0x88c9, 0x1393: 0x88f1, 0x1394: 0x8919, 0x1395: 0x8941, 0x1396: 0x8969, 0x1397: 0x8991, + 0x1398: 0x89b9, 0x1399: 0x89e1, 0x139a: 0x8a09, 0x139b: 0x8a31, 0x139c: 0x8a59, 0x139d: 0x8a81, + 0x139e: 0x8aaa, 0x139f: 0x8ada, 0x13a0: 0x8b0a, 0x13a1: 0x8b3a, 0x13a2: 0x8b6a, 0x13a3: 0x8b9a, + 0x13a4: 0x8bc9, 0x13a5: 0x8bf1, 0x13a6: 0x7c71, 0x13a7: 0x8c19, 0x13a8: 0x7be1, 0x13a9: 0x7c99, + 0x13aa: 0x8c41, 0x13ab: 0x8c69, 0x13ac: 0x7d39, 0x13ad: 0x8c91, 0x13ae: 0x7d61, 0x13af: 0x7d89, + 0x13b0: 0x8cb9, 0x13b1: 0x8ce1, 0x13b2: 0x7e29, 0x13b3: 0x8d09, 0x13b4: 0x7e51, 0x13b5: 0x7e79, + 0x13b6: 0x8d31, 0x13b7: 0x8d59, 0x13b8: 0x7ec9, 0x13b9: 0x8d81, 0x13ba: 0x7ef1, 0x13bb: 0x7f19, + 0x13bc: 0x83a1, 0x13bd: 0x83c9, 0x13be: 0x8441, 0x13bf: 0x8469, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x8491, 0x13c1: 0x8531, 0x13c2: 0x8559, 0x13c3: 0x8581, 0x13c4: 0x85a9, 0x13c5: 0x8649, + 0x13c6: 0x8671, 0x13c7: 0x8699, 0x13c8: 0x8da9, 0x13c9: 0x8739, 0x13ca: 0x8dd1, 0x13cb: 0x8df9, + 0x13cc: 0x8829, 0x13cd: 0x8e21, 0x13ce: 0x8851, 0x13cf: 0x8879, 0x13d0: 0x8a81, 0x13d1: 0x8e49, + 0x13d2: 0x8e71, 0x13d3: 0x89b9, 0x13d4: 0x8e99, 0x13d5: 0x89e1, 0x13d6: 0x8a09, 0x13d7: 0x7c21, + 0x13d8: 0x7c49, 0x13d9: 0x8ec1, 0x13da: 0x7c71, 0x13db: 0x8ee9, 0x13dc: 0x7cc1, 0x13dd: 0x7ce9, + 0x13de: 0x7d11, 0x13df: 0x7d39, 0x13e0: 0x8f11, 0x13e1: 0x7db1, 0x13e2: 0x7dd9, 0x13e3: 0x7e01, + 0x13e4: 0x7e29, 0x13e5: 0x8f39, 0x13e6: 0x7ec9, 0x13e7: 0x7f41, 0x13e8: 0x7f69, 0x13e9: 0x7f91, + 0x13ea: 0x7fb9, 0x13eb: 0x7fe1, 0x13ec: 0x8031, 0x13ed: 0x8059, 0x13ee: 0x8081, 0x13ef: 0x80a9, + 0x13f0: 0x80d1, 0x13f1: 0x80f9, 0x13f2: 0x8f61, 0x13f3: 0x8121, 0x13f4: 0x8149, 0x13f5: 0x8171, + 0x13f6: 0x8199, 0x13f7: 0x81c1, 0x13f8: 0x81e9, 0x13f9: 0x8239, 0x13fa: 0x8261, 0x13fb: 0x8289, + 0x13fc: 0x82b1, 0x13fd: 0x82d9, 0x13fe: 0x8301, 0x13ff: 0x8329, + // Block 0x50, offset 0x1400 + 0x1400: 0x8351, 0x1401: 0x8379, 0x1402: 0x83f1, 0x1403: 0x8419, 0x1404: 0x84b9, 0x1405: 0x84e1, + 0x1406: 0x8509, 0x1407: 0x8531, 0x1408: 0x8559, 0x1409: 0x85d1, 0x140a: 0x85f9, 0x140b: 0x8621, + 0x140c: 0x8649, 0x140d: 0x8f89, 0x140e: 0x86c1, 0x140f: 0x86e9, 0x1410: 0x8711, 0x1411: 0x8739, + 0x1412: 0x87b1, 0x1413: 0x87d9, 0x1414: 0x8801, 0x1415: 0x8829, 0x1416: 0x8fb1, 0x1417: 0x88a1, + 0x1418: 0x88c9, 0x1419: 0x8fd9, 0x141a: 0x8941, 0x141b: 0x8969, 0x141c: 0x8991, 0x141d: 0x89b9, + 0x141e: 0x9001, 0x141f: 0x7c71, 0x1420: 0x8ee9, 0x1421: 0x7d39, 0x1422: 0x8f11, 0x1423: 0x7e29, + 0x1424: 0x8f39, 0x1425: 0x7ec9, 0x1426: 0x9029, 0x1427: 0x80d1, 0x1428: 0x9051, 0x1429: 0x9079, + 0x142a: 0x90a1, 0x142b: 0x8531, 0x142c: 0x8559, 0x142d: 0x8649, 0x142e: 0x8829, 0x142f: 0x8fb1, + 0x1430: 0x89b9, 0x1431: 0x9001, 0x1432: 0x90c9, 0x1433: 0x9101, 0x1434: 0x9139, 0x1435: 0x9171, + 0x1436: 0x9199, 0x1437: 0x91c1, 0x1438: 0x91e9, 0x1439: 0x9211, 0x143a: 0x9239, 0x143b: 0x9261, + 0x143c: 0x9289, 0x143d: 0x92b1, 0x143e: 0x92d9, 0x143f: 0x9301, + // Block 0x51, offset 0x1440 + 0x1440: 0x9329, 0x1441: 0x9351, 0x1442: 0x9379, 0x1443: 0x93a1, 0x1444: 0x93c9, 0x1445: 0x93f1, + 0x1446: 0x9419, 0x1447: 0x9441, 0x1448: 0x9469, 0x1449: 0x9491, 0x144a: 0x94b9, 0x144b: 0x94e1, + 0x144c: 0x9079, 0x144d: 0x9509, 0x144e: 0x9531, 0x144f: 0x9559, 0x1450: 0x9581, 0x1451: 0x9171, + 0x1452: 0x9199, 0x1453: 0x91c1, 0x1454: 0x91e9, 0x1455: 0x9211, 0x1456: 0x9239, 0x1457: 0x9261, + 0x1458: 0x9289, 0x1459: 0x92b1, 0x145a: 0x92d9, 0x145b: 0x9301, 0x145c: 0x9329, 0x145d: 0x9351, + 0x145e: 0x9379, 0x145f: 0x93a1, 0x1460: 0x93c9, 0x1461: 0x93f1, 0x1462: 0x9419, 0x1463: 0x9441, + 0x1464: 0x9469, 0x1465: 0x9491, 0x1466: 0x94b9, 0x1467: 0x94e1, 0x1468: 0x9079, 0x1469: 0x9509, + 0x146a: 0x9531, 0x146b: 0x9559, 0x146c: 0x9581, 0x146d: 0x9491, 0x146e: 0x94b9, 0x146f: 0x94e1, + 0x1470: 0x9079, 0x1471: 0x9051, 0x1472: 0x90a1, 0x1473: 0x8211, 0x1474: 0x8059, 0x1475: 0x8081, + 0x1476: 0x80a9, 0x1477: 0x9491, 0x1478: 0x94b9, 0x1479: 0x94e1, 0x147a: 0x8211, 0x147b: 0x8239, + 0x147c: 0x95a9, 0x147d: 0x95a9, 0x147e: 0x0018, 0x147f: 0x0018, + // Block 0x52, offset 0x1480 + 0x1480: 0x0040, 0x1481: 0x0040, 0x1482: 0x0040, 0x1483: 0x0040, 0x1484: 0x0040, 0x1485: 0x0040, + 0x1486: 0x0040, 0x1487: 0x0040, 0x1488: 0x0040, 0x1489: 0x0040, 0x148a: 0x0040, 0x148b: 0x0040, + 0x148c: 0x0040, 0x148d: 0x0040, 0x148e: 0x0040, 0x148f: 0x0040, 0x1490: 0x95d1, 0x1491: 0x9609, + 0x1492: 0x9609, 0x1493: 0x9641, 0x1494: 0x9679, 0x1495: 0x96b1, 0x1496: 0x96e9, 0x1497: 0x9721, + 0x1498: 0x9759, 0x1499: 0x9759, 0x149a: 0x9791, 0x149b: 0x97c9, 0x149c: 0x9801, 0x149d: 0x9839, + 0x149e: 0x9871, 0x149f: 0x98a9, 0x14a0: 0x98a9, 0x14a1: 0x98e1, 0x14a2: 0x9919, 0x14a3: 0x9919, + 0x14a4: 0x9951, 0x14a5: 0x9951, 0x14a6: 0x9989, 0x14a7: 0x99c1, 0x14a8: 0x99c1, 0x14a9: 0x99f9, + 0x14aa: 0x9a31, 0x14ab: 0x9a31, 0x14ac: 0x9a69, 0x14ad: 0x9a69, 0x14ae: 0x9aa1, 0x14af: 0x9ad9, + 0x14b0: 0x9ad9, 0x14b1: 0x9b11, 0x14b2: 0x9b11, 0x14b3: 0x9b49, 0x14b4: 0x9b81, 0x14b5: 0x9bb9, + 0x14b6: 0x9bf1, 0x14b7: 0x9bf1, 0x14b8: 0x9c29, 0x14b9: 0x9c61, 0x14ba: 0x9c99, 0x14bb: 0x9cd1, + 0x14bc: 0x9d09, 0x14bd: 0x9d09, 0x14be: 0x9d41, 0x14bf: 0x9d79, + // Block 0x53, offset 0x14c0 + 0x14c0: 0xa949, 0x14c1: 0xa981, 0x14c2: 0xa9b9, 0x14c3: 0xa8a1, 0x14c4: 0x9bb9, 0x14c5: 0x9989, + 0x14c6: 0xa9f1, 0x14c7: 0xaa29, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x0040, 0x14d1: 0x0040, + 0x14d2: 0x0040, 0x14d3: 0x0040, 0x14d4: 0x0040, 0x14d5: 0x0040, 0x14d6: 0x0040, 0x14d7: 0x0040, + 0x14d8: 0x0040, 0x14d9: 0x0040, 0x14da: 0x0040, 0x14db: 0x0040, 0x14dc: 0x0040, 0x14dd: 0x0040, + 0x14de: 0x0040, 0x14df: 0x0040, 0x14e0: 0x0040, 0x14e1: 0x0040, 0x14e2: 0x0040, 0x14e3: 0x0040, + 0x14e4: 0x0040, 0x14e5: 0x0040, 0x14e6: 0x0040, 0x14e7: 0x0040, 0x14e8: 0x0040, 0x14e9: 0x0040, + 0x14ea: 0x0040, 0x14eb: 0x0040, 0x14ec: 0x0040, 0x14ed: 0x0040, 0x14ee: 0x0040, 0x14ef: 0x0040, + 0x14f0: 0xaa61, 0x14f1: 0xaa99, 0x14f2: 0xaad1, 0x14f3: 0xab19, 0x14f4: 0xab61, 0x14f5: 0xaba9, + 0x14f6: 0xabf1, 0x14f7: 0xac39, 0x14f8: 0xac81, 0x14f9: 0xacc9, 0x14fa: 0xad02, 0x14fb: 0xae12, + 0x14fc: 0xae91, 0x14fd: 0x0018, 0x14fe: 0x0040, 0x14ff: 0x0040, + // Block 0x54, offset 0x1500 + 0x1500: 0x33c0, 0x1501: 0x33c0, 0x1502: 0x33c0, 0x1503: 0x33c0, 0x1504: 0x33c0, 0x1505: 0x33c0, + 0x1506: 0x33c0, 0x1507: 0x33c0, 0x1508: 0x33c0, 0x1509: 0x33c0, 0x150a: 0x33c0, 0x150b: 0x33c0, + 0x150c: 0x33c0, 0x150d: 0x33c0, 0x150e: 0x33c0, 0x150f: 0x33c0, 0x1510: 0xaeda, 0x1511: 0x7d55, + 0x1512: 0x0040, 0x1513: 0xaeea, 0x1514: 0x03c2, 0x1515: 0xaefa, 0x1516: 0xaf0a, 0x1517: 0x7d75, + 0x1518: 0x7d95, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x3308, 0x1521: 0x3308, 0x1522: 0x3308, 0x1523: 0x3308, + 0x1524: 0x3308, 0x1525: 0x3308, 0x1526: 0x3308, 0x1527: 0x3308, 0x1528: 0x3308, 0x1529: 0x3308, + 0x152a: 0x3308, 0x152b: 0x3308, 0x152c: 0x3308, 0x152d: 0x3308, 0x152e: 0x3308, 0x152f: 0x3308, + 0x1530: 0x0040, 0x1531: 0x7db5, 0x1532: 0x7dd5, 0x1533: 0xaf1a, 0x1534: 0xaf1a, 0x1535: 0x1fd2, + 0x1536: 0x1fe2, 0x1537: 0xaf2a, 0x1538: 0xaf3a, 0x1539: 0x7df5, 0x153a: 0x7e15, 0x153b: 0x7e35, + 0x153c: 0x7df5, 0x153d: 0x7e55, 0x153e: 0x7e75, 0x153f: 0x7e55, + // Block 0x55, offset 0x1540 + 0x1540: 0x7e95, 0x1541: 0x7eb5, 0x1542: 0x7ed5, 0x1543: 0x7eb5, 0x1544: 0x7ef5, 0x1545: 0x0018, + 0x1546: 0x0018, 0x1547: 0xaf4a, 0x1548: 0xaf5a, 0x1549: 0x7f16, 0x154a: 0x7f36, 0x154b: 0x7f56, + 0x154c: 0x7f76, 0x154d: 0xaf1a, 0x154e: 0xaf1a, 0x154f: 0xaf1a, 0x1550: 0xaeda, 0x1551: 0x7f95, + 0x1552: 0x0040, 0x1553: 0x0040, 0x1554: 0x03c2, 0x1555: 0xaeea, 0x1556: 0xaf0a, 0x1557: 0xaefa, + 0x1558: 0x7fb5, 0x1559: 0x1fd2, 0x155a: 0x1fe2, 0x155b: 0xaf2a, 0x155c: 0xaf3a, 0x155d: 0x7e95, + 0x155e: 0x7ef5, 0x155f: 0xaf6a, 0x1560: 0xaf7a, 0x1561: 0xaf8a, 0x1562: 0x1fb2, 0x1563: 0xaf99, + 0x1564: 0xafaa, 0x1565: 0xafba, 0x1566: 0x1fc2, 0x1567: 0x0040, 0x1568: 0xafca, 0x1569: 0xafda, + 0x156a: 0xafea, 0x156b: 0xaffa, 0x156c: 0x0040, 0x156d: 0x0040, 0x156e: 0x0040, 0x156f: 0x0040, + 0x1570: 0x7fd6, 0x1571: 0xb009, 0x1572: 0x7ff6, 0x1573: 0x0808, 0x1574: 0x8016, 0x1575: 0x0040, + 0x1576: 0x8036, 0x1577: 0xb031, 0x1578: 0x8056, 0x1579: 0xb059, 0x157a: 0x8076, 0x157b: 0xb081, + 0x157c: 0x8096, 0x157d: 0xb0a9, 0x157e: 0x80b6, 0x157f: 0xb0d1, + // Block 0x56, offset 0x1580 + 0x1580: 0xb0f9, 0x1581: 0xb111, 0x1582: 0xb111, 0x1583: 0xb129, 0x1584: 0xb129, 0x1585: 0xb141, + 0x1586: 0xb141, 0x1587: 0xb159, 0x1588: 0xb159, 0x1589: 0xb171, 0x158a: 0xb171, 0x158b: 0xb171, + 0x158c: 0xb171, 0x158d: 0xb189, 0x158e: 0xb189, 0x158f: 0xb1a1, 0x1590: 0xb1a1, 0x1591: 0xb1a1, + 0x1592: 0xb1a1, 0x1593: 0xb1b9, 0x1594: 0xb1b9, 0x1595: 0xb1d1, 0x1596: 0xb1d1, 0x1597: 0xb1d1, + 0x1598: 0xb1d1, 0x1599: 0xb1e9, 0x159a: 0xb1e9, 0x159b: 0xb1e9, 0x159c: 0xb1e9, 0x159d: 0xb201, + 0x159e: 0xb201, 0x159f: 0xb201, 0x15a0: 0xb201, 0x15a1: 0xb219, 0x15a2: 0xb219, 0x15a3: 0xb219, + 0x15a4: 0xb219, 0x15a5: 0xb231, 0x15a6: 0xb231, 0x15a7: 0xb231, 0x15a8: 0xb231, 0x15a9: 0xb249, + 0x15aa: 0xb249, 0x15ab: 0xb261, 0x15ac: 0xb261, 0x15ad: 0xb279, 0x15ae: 0xb279, 0x15af: 0xb291, + 0x15b0: 0xb291, 0x15b1: 0xb2a9, 0x15b2: 0xb2a9, 0x15b3: 0xb2a9, 0x15b4: 0xb2a9, 0x15b5: 0xb2c1, + 0x15b6: 0xb2c1, 0x15b7: 0xb2c1, 0x15b8: 0xb2c1, 0x15b9: 0xb2d9, 0x15ba: 0xb2d9, 0x15bb: 0xb2d9, + 0x15bc: 0xb2d9, 0x15bd: 0xb2f1, 0x15be: 0xb2f1, 0x15bf: 0xb2f1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb2f1, 0x15c1: 0xb309, 0x15c2: 0xb309, 0x15c3: 0xb309, 0x15c4: 0xb309, 0x15c5: 0xb321, + 0x15c6: 0xb321, 0x15c7: 0xb321, 0x15c8: 0xb321, 0x15c9: 0xb339, 0x15ca: 0xb339, 0x15cb: 0xb339, + 0x15cc: 0xb339, 0x15cd: 0xb351, 0x15ce: 0xb351, 0x15cf: 0xb351, 0x15d0: 0xb351, 0x15d1: 0xb369, + 0x15d2: 0xb369, 0x15d3: 0xb369, 0x15d4: 0xb369, 0x15d5: 0xb381, 0x15d6: 0xb381, 0x15d7: 0xb381, + 0x15d8: 0xb381, 0x15d9: 0xb399, 0x15da: 0xb399, 0x15db: 0xb399, 0x15dc: 0xb399, 0x15dd: 0xb3b1, + 0x15de: 0xb3b1, 0x15df: 0xb3b1, 0x15e0: 0xb3b1, 0x15e1: 0xb3c9, 0x15e2: 0xb3c9, 0x15e3: 0xb3c9, + 0x15e4: 0xb3c9, 0x15e5: 0xb3e1, 0x15e6: 0xb3e1, 0x15e7: 0xb3e1, 0x15e8: 0xb3e1, 0x15e9: 0xb3f9, + 0x15ea: 0xb3f9, 0x15eb: 0xb3f9, 0x15ec: 0xb3f9, 0x15ed: 0xb411, 0x15ee: 0xb411, 0x15ef: 0x7ab1, + 0x15f0: 0x7ab1, 0x15f1: 0xb429, 0x15f2: 0xb429, 0x15f3: 0xb429, 0x15f4: 0xb429, 0x15f5: 0xb441, + 0x15f6: 0xb441, 0x15f7: 0xb469, 0x15f8: 0xb469, 0x15f9: 0xb491, 0x15fa: 0xb491, 0x15fb: 0xb4b9, + 0x15fc: 0xb4b9, 0x15fd: 0x0040, 0x15fe: 0x0040, 0x15ff: 0x03c0, + // Block 0x58, offset 0x1600 + 0x1600: 0x0040, 0x1601: 0xaefa, 0x1602: 0xb4e2, 0x1603: 0xaf6a, 0x1604: 0xafda, 0x1605: 0xafea, + 0x1606: 0xaf7a, 0x1607: 0xb4f2, 0x1608: 0x1fd2, 0x1609: 0x1fe2, 0x160a: 0xaf8a, 0x160b: 0x1fb2, + 0x160c: 0xaeda, 0x160d: 0xaf99, 0x160e: 0x29d1, 0x160f: 0xb502, 0x1610: 0x1f41, 0x1611: 0x00c9, + 0x1612: 0x0069, 0x1613: 0x0079, 0x1614: 0x1f51, 0x1615: 0x1f61, 0x1616: 0x1f71, 0x1617: 0x1f81, + 0x1618: 0x1f91, 0x1619: 0x1fa1, 0x161a: 0xaeea, 0x161b: 0x03c2, 0x161c: 0xafaa, 0x161d: 0x1fc2, + 0x161e: 0xafba, 0x161f: 0xaf0a, 0x1620: 0xaffa, 0x1621: 0x0039, 0x1622: 0x0ee9, 0x1623: 0x1159, + 0x1624: 0x0ef9, 0x1625: 0x0f09, 0x1626: 0x1199, 0x1627: 0x0f31, 0x1628: 0x0249, 0x1629: 0x0f41, + 0x162a: 0x0259, 0x162b: 0x0f51, 0x162c: 0x0359, 0x162d: 0x0f61, 0x162e: 0x0f71, 0x162f: 0x00d9, + 0x1630: 0x0f99, 0x1631: 0x2039, 0x1632: 0x0269, 0x1633: 0x01d9, 0x1634: 0x0fa9, 0x1635: 0x0fb9, + 0x1636: 0x1089, 0x1637: 0x0279, 0x1638: 0x0369, 0x1639: 0x0289, 0x163a: 0x13d1, 0x163b: 0xaf4a, + 0x163c: 0xafca, 0x163d: 0xaf5a, 0x163e: 0xb512, 0x163f: 0xaf1a, + // Block 0x59, offset 0x1640 + 0x1640: 0x1caa, 0x1641: 0x0039, 0x1642: 0x0ee9, 0x1643: 0x1159, 0x1644: 0x0ef9, 0x1645: 0x0f09, + 0x1646: 0x1199, 0x1647: 0x0f31, 0x1648: 0x0249, 0x1649: 0x0f41, 0x164a: 0x0259, 0x164b: 0x0f51, + 0x164c: 0x0359, 0x164d: 0x0f61, 0x164e: 0x0f71, 0x164f: 0x00d9, 0x1650: 0x0f99, 0x1651: 0x2039, + 0x1652: 0x0269, 0x1653: 0x01d9, 0x1654: 0x0fa9, 0x1655: 0x0fb9, 0x1656: 0x1089, 0x1657: 0x0279, + 0x1658: 0x0369, 0x1659: 0x0289, 0x165a: 0x13d1, 0x165b: 0xaf2a, 0x165c: 0xb522, 0x165d: 0xaf3a, + 0x165e: 0xb532, 0x165f: 0x80d5, 0x1660: 0x80f5, 0x1661: 0x29d1, 0x1662: 0x8115, 0x1663: 0x8115, + 0x1664: 0x8135, 0x1665: 0x8155, 0x1666: 0x8175, 0x1667: 0x8195, 0x1668: 0x81b5, 0x1669: 0x81d5, + 0x166a: 0x81f5, 0x166b: 0x8215, 0x166c: 0x8235, 0x166d: 0x8255, 0x166e: 0x8275, 0x166f: 0x8295, + 0x1670: 0x82b5, 0x1671: 0x82d5, 0x1672: 0x82f5, 0x1673: 0x8315, 0x1674: 0x8335, 0x1675: 0x8355, + 0x1676: 0x8375, 0x1677: 0x8395, 0x1678: 0x83b5, 0x1679: 0x83d5, 0x167a: 0x83f5, 0x167b: 0x8415, + 0x167c: 0x81b5, 0x167d: 0x8435, 0x167e: 0x8455, 0x167f: 0x8215, + // Block 0x5a, offset 0x1680 + 0x1680: 0x8475, 0x1681: 0x8495, 0x1682: 0x84b5, 0x1683: 0x84d5, 0x1684: 0x84f5, 0x1685: 0x8515, + 0x1686: 0x8535, 0x1687: 0x8555, 0x1688: 0x84d5, 0x1689: 0x8575, 0x168a: 0x84d5, 0x168b: 0x8595, + 0x168c: 0x8595, 0x168d: 0x85b5, 0x168e: 0x85b5, 0x168f: 0x85d5, 0x1690: 0x8515, 0x1691: 0x85f5, + 0x1692: 0x8615, 0x1693: 0x85f5, 0x1694: 0x8635, 0x1695: 0x8615, 0x1696: 0x8655, 0x1697: 0x8655, + 0x1698: 0x8675, 0x1699: 0x8675, 0x169a: 0x8695, 0x169b: 0x8695, 0x169c: 0x8615, 0x169d: 0x8115, + 0x169e: 0x86b5, 0x169f: 0x86d5, 0x16a0: 0x0040, 0x16a1: 0x86f5, 0x16a2: 0x8715, 0x16a3: 0x8735, + 0x16a4: 0x8755, 0x16a5: 0x8735, 0x16a6: 0x8775, 0x16a7: 0x8795, 0x16a8: 0x87b5, 0x16a9: 0x87b5, + 0x16aa: 0x87d5, 0x16ab: 0x87d5, 0x16ac: 0x87f5, 0x16ad: 0x87f5, 0x16ae: 0x87d5, 0x16af: 0x87d5, + 0x16b0: 0x8815, 0x16b1: 0x8835, 0x16b2: 0x8855, 0x16b3: 0x8875, 0x16b4: 0x8895, 0x16b5: 0x88b5, + 0x16b6: 0x88b5, 0x16b7: 0x88b5, 0x16b8: 0x88d5, 0x16b9: 0x88d5, 0x16ba: 0x88d5, 0x16bb: 0x88d5, + 0x16bc: 0x87b5, 0x16bd: 0x87b5, 0x16be: 0x87b5, 0x16bf: 0x0040, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x0040, 0x16c1: 0x0040, 0x16c2: 0x8715, 0x16c3: 0x86f5, 0x16c4: 0x88f5, 0x16c5: 0x86f5, + 0x16c6: 0x8715, 0x16c7: 0x86f5, 0x16c8: 0x0040, 0x16c9: 0x0040, 0x16ca: 0x8915, 0x16cb: 0x8715, + 0x16cc: 0x8935, 0x16cd: 0x88f5, 0x16ce: 0x8935, 0x16cf: 0x8715, 0x16d0: 0x0040, 0x16d1: 0x0040, + 0x16d2: 0x8955, 0x16d3: 0x8975, 0x16d4: 0x8875, 0x16d5: 0x8935, 0x16d6: 0x88f5, 0x16d7: 0x8935, + 0x16d8: 0x0040, 0x16d9: 0x0040, 0x16da: 0x8995, 0x16db: 0x89b5, 0x16dc: 0x8995, 0x16dd: 0x0040, + 0x16de: 0x0040, 0x16df: 0x0040, 0x16e0: 0xb541, 0x16e1: 0xb559, 0x16e2: 0xb571, 0x16e3: 0x89d6, + 0x16e4: 0xb589, 0x16e5: 0xb5a1, 0x16e6: 0x89f5, 0x16e7: 0x0040, 0x16e8: 0x8a15, 0x16e9: 0x8a35, + 0x16ea: 0x8a55, 0x16eb: 0x8a35, 0x16ec: 0x8a75, 0x16ed: 0x8a95, 0x16ee: 0x8ab5, 0x16ef: 0x0040, + 0x16f0: 0x0040, 0x16f1: 0x0040, 0x16f2: 0x0040, 0x16f3: 0x0040, 0x16f4: 0x0040, 0x16f5: 0x0040, + 0x16f6: 0x0040, 0x16f7: 0x0040, 0x16f8: 0x0040, 0x16f9: 0x0340, 0x16fa: 0x0340, 0x16fb: 0x0340, + 0x16fc: 0x0040, 0x16fd: 0x0040, 0x16fe: 0x0040, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0a08, 0x1701: 0x0a08, 0x1702: 0x0a08, 0x1703: 0x0a08, 0x1704: 0x0a08, 0x1705: 0x0c08, + 0x1706: 0x0808, 0x1707: 0x0c08, 0x1708: 0x0818, 0x1709: 0x0c08, 0x170a: 0x0c08, 0x170b: 0x0808, + 0x170c: 0x0808, 0x170d: 0x0908, 0x170e: 0x0c08, 0x170f: 0x0c08, 0x1710: 0x0c08, 0x1711: 0x0c08, + 0x1712: 0x0c08, 0x1713: 0x0a08, 0x1714: 0x0a08, 0x1715: 0x0a08, 0x1716: 0x0a08, 0x1717: 0x0908, + 0x1718: 0x0a08, 0x1719: 0x0a08, 0x171a: 0x0a08, 0x171b: 0x0a08, 0x171c: 0x0a08, 0x171d: 0x0c08, + 0x171e: 0x0a08, 0x171f: 0x0a08, 0x1720: 0x0a08, 0x1721: 0x0c08, 0x1722: 0x0808, 0x1723: 0x0808, + 0x1724: 0x0c08, 0x1725: 0x3308, 0x1726: 0x3308, 0x1727: 0x0040, 0x1728: 0x0040, 0x1729: 0x0040, + 0x172a: 0x0040, 0x172b: 0x0a18, 0x172c: 0x0a18, 0x172d: 0x0a18, 0x172e: 0x0a18, 0x172f: 0x0c18, + 0x1730: 0x0818, 0x1731: 0x0818, 0x1732: 0x0818, 0x1733: 0x0818, 0x1734: 0x0818, 0x1735: 0x0818, + 0x1736: 0x0818, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0040, 0x173a: 0x0040, 0x173b: 0x0040, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0c08, 0x1742: 0x0a08, 0x1743: 0x0c08, 0x1744: 0x0c08, 0x1745: 0x0c08, + 0x1746: 0x0a08, 0x1747: 0x0a08, 0x1748: 0x0a08, 0x1749: 0x0c08, 0x174a: 0x0a08, 0x174b: 0x0a08, + 0x174c: 0x0c08, 0x174d: 0x0a08, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0a08, 0x1751: 0x0c08, + 0x1752: 0x0040, 0x1753: 0x0040, 0x1754: 0x0040, 0x1755: 0x0040, 0x1756: 0x0040, 0x1757: 0x0040, + 0x1758: 0x0040, 0x1759: 0x0818, 0x175a: 0x0818, 0x175b: 0x0818, 0x175c: 0x0818, 0x175d: 0x0040, + 0x175e: 0x0040, 0x175f: 0x0040, 0x1760: 0x0040, 0x1761: 0x0040, 0x1762: 0x0040, 0x1763: 0x0040, + 0x1764: 0x0040, 0x1765: 0x0040, 0x1766: 0x0040, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0c18, + 0x176a: 0x0c18, 0x176b: 0x0c18, 0x176c: 0x0c18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0818, + 0x1770: 0x0040, 0x1771: 0x0040, 0x1772: 0x0040, 0x1773: 0x0040, 0x1774: 0x0040, 0x1775: 0x0040, + 0x1776: 0x0040, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x3308, 0x1781: 0x3308, 0x1782: 0x3008, 0x1783: 0x3008, 0x1784: 0x0040, 0x1785: 0x0008, + 0x1786: 0x0008, 0x1787: 0x0008, 0x1788: 0x0008, 0x1789: 0x0008, 0x178a: 0x0008, 0x178b: 0x0008, + 0x178c: 0x0008, 0x178d: 0x0040, 0x178e: 0x0040, 0x178f: 0x0008, 0x1790: 0x0008, 0x1791: 0x0040, + 0x1792: 0x0040, 0x1793: 0x0008, 0x1794: 0x0008, 0x1795: 0x0008, 0x1796: 0x0008, 0x1797: 0x0008, + 0x1798: 0x0008, 0x1799: 0x0008, 0x179a: 0x0008, 0x179b: 0x0008, 0x179c: 0x0008, 0x179d: 0x0008, + 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x0008, 0x17a3: 0x0008, + 0x17a4: 0x0008, 0x17a5: 0x0008, 0x17a6: 0x0008, 0x17a7: 0x0008, 0x17a8: 0x0008, 0x17a9: 0x0040, + 0x17aa: 0x0008, 0x17ab: 0x0008, 0x17ac: 0x0008, 0x17ad: 0x0008, 0x17ae: 0x0008, 0x17af: 0x0008, + 0x17b0: 0x0008, 0x17b1: 0x0040, 0x17b2: 0x0008, 0x17b3: 0x0008, 0x17b4: 0x0040, 0x17b5: 0x0008, + 0x17b6: 0x0008, 0x17b7: 0x0008, 0x17b8: 0x0008, 0x17b9: 0x0008, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x3308, 0x17bd: 0x0008, 0x17be: 0x3008, 0x17bf: 0x3008, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3008, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x3008, 0x17c5: 0x0040, + 0x17c6: 0x0040, 0x17c7: 0x3008, 0x17c8: 0x3008, 0x17c9: 0x0040, 0x17ca: 0x0040, 0x17cb: 0x3008, + 0x17cc: 0x3008, 0x17cd: 0x3808, 0x17ce: 0x0040, 0x17cf: 0x0040, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0040, 0x17d4: 0x0040, 0x17d5: 0x0040, 0x17d6: 0x0040, 0x17d7: 0x3008, + 0x17d8: 0x0040, 0x17d9: 0x0040, 0x17da: 0x0040, 0x17db: 0x0040, 0x17dc: 0x0040, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x3008, 0x17e3: 0x3008, + 0x17e4: 0x0040, 0x17e5: 0x0040, 0x17e6: 0x3308, 0x17e7: 0x3308, 0x17e8: 0x3308, 0x17e9: 0x3308, + 0x17ea: 0x3308, 0x17eb: 0x3308, 0x17ec: 0x3308, 0x17ed: 0x0040, 0x17ee: 0x0040, 0x17ef: 0x0040, + 0x17f0: 0x3308, 0x17f1: 0x3308, 0x17f2: 0x3308, 0x17f3: 0x3308, 0x17f4: 0x3308, 0x17f5: 0x0040, + 0x17f6: 0x0040, 0x17f7: 0x0040, 0x17f8: 0x0040, 0x17f9: 0x0040, 0x17fa: 0x0040, 0x17fb: 0x0040, + 0x17fc: 0x0040, 0x17fd: 0x0040, 0x17fe: 0x0040, 0x17ff: 0x0040, + // Block 0x60, offset 0x1800 + 0x1800: 0x0039, 0x1801: 0x0ee9, 0x1802: 0x1159, 0x1803: 0x0ef9, 0x1804: 0x0f09, 0x1805: 0x1199, + 0x1806: 0x0f31, 0x1807: 0x0249, 0x1808: 0x0f41, 0x1809: 0x0259, 0x180a: 0x0f51, 0x180b: 0x0359, + 0x180c: 0x0f61, 0x180d: 0x0f71, 0x180e: 0x00d9, 0x180f: 0x0f99, 0x1810: 0x2039, 0x1811: 0x0269, + 0x1812: 0x01d9, 0x1813: 0x0fa9, 0x1814: 0x0fb9, 0x1815: 0x1089, 0x1816: 0x0279, 0x1817: 0x0369, + 0x1818: 0x0289, 0x1819: 0x13d1, 0x181a: 0x0039, 0x181b: 0x0ee9, 0x181c: 0x1159, 0x181d: 0x0ef9, + 0x181e: 0x0f09, 0x181f: 0x1199, 0x1820: 0x0f31, 0x1821: 0x0249, 0x1822: 0x0f41, 0x1823: 0x0259, + 0x1824: 0x0f51, 0x1825: 0x0359, 0x1826: 0x0f61, 0x1827: 0x0f71, 0x1828: 0x00d9, 0x1829: 0x0f99, + 0x182a: 0x2039, 0x182b: 0x0269, 0x182c: 0x01d9, 0x182d: 0x0fa9, 0x182e: 0x0fb9, 0x182f: 0x1089, + 0x1830: 0x0279, 0x1831: 0x0369, 0x1832: 0x0289, 0x1833: 0x13d1, 0x1834: 0x0039, 0x1835: 0x0ee9, + 0x1836: 0x1159, 0x1837: 0x0ef9, 0x1838: 0x0f09, 0x1839: 0x1199, 0x183a: 0x0f31, 0x183b: 0x0249, + 0x183c: 0x0f41, 0x183d: 0x0259, 0x183e: 0x0f51, 0x183f: 0x0359, + // Block 0x61, offset 0x1840 + 0x1840: 0x0f61, 0x1841: 0x0f71, 0x1842: 0x00d9, 0x1843: 0x0f99, 0x1844: 0x2039, 0x1845: 0x0269, + 0x1846: 0x01d9, 0x1847: 0x0fa9, 0x1848: 0x0fb9, 0x1849: 0x1089, 0x184a: 0x0279, 0x184b: 0x0369, + 0x184c: 0x0289, 0x184d: 0x13d1, 0x184e: 0x0039, 0x184f: 0x0ee9, 0x1850: 0x1159, 0x1851: 0x0ef9, + 0x1852: 0x0f09, 0x1853: 0x1199, 0x1854: 0x0f31, 0x1855: 0x0040, 0x1856: 0x0f41, 0x1857: 0x0259, + 0x1858: 0x0f51, 0x1859: 0x0359, 0x185a: 0x0f61, 0x185b: 0x0f71, 0x185c: 0x00d9, 0x185d: 0x0f99, + 0x185e: 0x2039, 0x185f: 0x0269, 0x1860: 0x01d9, 0x1861: 0x0fa9, 0x1862: 0x0fb9, 0x1863: 0x1089, + 0x1864: 0x0279, 0x1865: 0x0369, 0x1866: 0x0289, 0x1867: 0x13d1, 0x1868: 0x0039, 0x1869: 0x0ee9, + 0x186a: 0x1159, 0x186b: 0x0ef9, 0x186c: 0x0f09, 0x186d: 0x1199, 0x186e: 0x0f31, 0x186f: 0x0249, + 0x1870: 0x0f41, 0x1871: 0x0259, 0x1872: 0x0f51, 0x1873: 0x0359, 0x1874: 0x0f61, 0x1875: 0x0f71, + 0x1876: 0x00d9, 0x1877: 0x0f99, 0x1878: 0x2039, 0x1879: 0x0269, 0x187a: 0x01d9, 0x187b: 0x0fa9, + 0x187c: 0x0fb9, 0x187d: 0x1089, 0x187e: 0x0279, 0x187f: 0x0369, + // Block 0x62, offset 0x1880 + 0x1880: 0x0289, 0x1881: 0x13d1, 0x1882: 0x0039, 0x1883: 0x0ee9, 0x1884: 0x1159, 0x1885: 0x0ef9, + 0x1886: 0x0f09, 0x1887: 0x1199, 0x1888: 0x0f31, 0x1889: 0x0249, 0x188a: 0x0f41, 0x188b: 0x0259, + 0x188c: 0x0f51, 0x188d: 0x0359, 0x188e: 0x0f61, 0x188f: 0x0f71, 0x1890: 0x00d9, 0x1891: 0x0f99, + 0x1892: 0x2039, 0x1893: 0x0269, 0x1894: 0x01d9, 0x1895: 0x0fa9, 0x1896: 0x0fb9, 0x1897: 0x1089, + 0x1898: 0x0279, 0x1899: 0x0369, 0x189a: 0x0289, 0x189b: 0x13d1, 0x189c: 0x0039, 0x189d: 0x0040, + 0x189e: 0x1159, 0x189f: 0x0ef9, 0x18a0: 0x0040, 0x18a1: 0x0040, 0x18a2: 0x0f31, 0x18a3: 0x0040, + 0x18a4: 0x0040, 0x18a5: 0x0259, 0x18a6: 0x0f51, 0x18a7: 0x0040, 0x18a8: 0x0040, 0x18a9: 0x0f71, + 0x18aa: 0x00d9, 0x18ab: 0x0f99, 0x18ac: 0x2039, 0x18ad: 0x0040, 0x18ae: 0x01d9, 0x18af: 0x0fa9, + 0x18b0: 0x0fb9, 0x18b1: 0x1089, 0x18b2: 0x0279, 0x18b3: 0x0369, 0x18b4: 0x0289, 0x18b5: 0x13d1, + 0x18b6: 0x0039, 0x18b7: 0x0ee9, 0x18b8: 0x1159, 0x18b9: 0x0ef9, 0x18ba: 0x0040, 0x18bb: 0x1199, + 0x18bc: 0x0040, 0x18bd: 0x0249, 0x18be: 0x0f41, 0x18bf: 0x0259, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0f51, 0x18c1: 0x0359, 0x18c2: 0x0f61, 0x18c3: 0x0f71, 0x18c4: 0x0040, 0x18c5: 0x0f99, + 0x18c6: 0x2039, 0x18c7: 0x0269, 0x18c8: 0x01d9, 0x18c9: 0x0fa9, 0x18ca: 0x0fb9, 0x18cb: 0x1089, + 0x18cc: 0x0279, 0x18cd: 0x0369, 0x18ce: 0x0289, 0x18cf: 0x13d1, 0x18d0: 0x0039, 0x18d1: 0x0ee9, + 0x18d2: 0x1159, 0x18d3: 0x0ef9, 0x18d4: 0x0f09, 0x18d5: 0x1199, 0x18d6: 0x0f31, 0x18d7: 0x0249, + 0x18d8: 0x0f41, 0x18d9: 0x0259, 0x18da: 0x0f51, 0x18db: 0x0359, 0x18dc: 0x0f61, 0x18dd: 0x0f71, + 0x18de: 0x00d9, 0x18df: 0x0f99, 0x18e0: 0x2039, 0x18e1: 0x0269, 0x18e2: 0x01d9, 0x18e3: 0x0fa9, + 0x18e4: 0x0fb9, 0x18e5: 0x1089, 0x18e6: 0x0279, 0x18e7: 0x0369, 0x18e8: 0x0289, 0x18e9: 0x13d1, + 0x18ea: 0x0039, 0x18eb: 0x0ee9, 0x18ec: 0x1159, 0x18ed: 0x0ef9, 0x18ee: 0x0f09, 0x18ef: 0x1199, + 0x18f0: 0x0f31, 0x18f1: 0x0249, 0x18f2: 0x0f41, 0x18f3: 0x0259, 0x18f4: 0x0f51, 0x18f5: 0x0359, + 0x18f6: 0x0f61, 0x18f7: 0x0f71, 0x18f8: 0x00d9, 0x18f9: 0x0f99, 0x18fa: 0x2039, 0x18fb: 0x0269, + 0x18fc: 0x01d9, 0x18fd: 0x0fa9, 0x18fe: 0x0fb9, 0x18ff: 0x1089, + // Block 0x64, offset 0x1900 + 0x1900: 0x0279, 0x1901: 0x0369, 0x1902: 0x0289, 0x1903: 0x13d1, 0x1904: 0x0039, 0x1905: 0x0ee9, + 0x1906: 0x0040, 0x1907: 0x0ef9, 0x1908: 0x0f09, 0x1909: 0x1199, 0x190a: 0x0f31, 0x190b: 0x0040, + 0x190c: 0x0040, 0x190d: 0x0259, 0x190e: 0x0f51, 0x190f: 0x0359, 0x1910: 0x0f61, 0x1911: 0x0f71, + 0x1912: 0x00d9, 0x1913: 0x0f99, 0x1914: 0x2039, 0x1915: 0x0040, 0x1916: 0x01d9, 0x1917: 0x0fa9, + 0x1918: 0x0fb9, 0x1919: 0x1089, 0x191a: 0x0279, 0x191b: 0x0369, 0x191c: 0x0289, 0x191d: 0x0040, + 0x191e: 0x0039, 0x191f: 0x0ee9, 0x1920: 0x1159, 0x1921: 0x0ef9, 0x1922: 0x0f09, 0x1923: 0x1199, + 0x1924: 0x0f31, 0x1925: 0x0249, 0x1926: 0x0f41, 0x1927: 0x0259, 0x1928: 0x0f51, 0x1929: 0x0359, + 0x192a: 0x0f61, 0x192b: 0x0f71, 0x192c: 0x00d9, 0x192d: 0x0f99, 0x192e: 0x2039, 0x192f: 0x0269, + 0x1930: 0x01d9, 0x1931: 0x0fa9, 0x1932: 0x0fb9, 0x1933: 0x1089, 0x1934: 0x0279, 0x1935: 0x0369, + 0x1936: 0x0289, 0x1937: 0x13d1, 0x1938: 0x0039, 0x1939: 0x0ee9, 0x193a: 0x0040, 0x193b: 0x0ef9, + 0x193c: 0x0f09, 0x193d: 0x1199, 0x193e: 0x0f31, 0x193f: 0x0040, + // Block 0x65, offset 0x1940 + 0x1940: 0x0f41, 0x1941: 0x0259, 0x1942: 0x0f51, 0x1943: 0x0359, 0x1944: 0x0f61, 0x1945: 0x0040, + 0x1946: 0x00d9, 0x1947: 0x0040, 0x1948: 0x0040, 0x1949: 0x0040, 0x194a: 0x01d9, 0x194b: 0x0fa9, + 0x194c: 0x0fb9, 0x194d: 0x1089, 0x194e: 0x0279, 0x194f: 0x0369, 0x1950: 0x0289, 0x1951: 0x0040, + 0x1952: 0x0039, 0x1953: 0x0ee9, 0x1954: 0x1159, 0x1955: 0x0ef9, 0x1956: 0x0f09, 0x1957: 0x1199, + 0x1958: 0x0f31, 0x1959: 0x0249, 0x195a: 0x0f41, 0x195b: 0x0259, 0x195c: 0x0f51, 0x195d: 0x0359, + 0x195e: 0x0f61, 0x195f: 0x0f71, 0x1960: 0x00d9, 0x1961: 0x0f99, 0x1962: 0x2039, 0x1963: 0x0269, + 0x1964: 0x01d9, 0x1965: 0x0fa9, 0x1966: 0x0fb9, 0x1967: 0x1089, 0x1968: 0x0279, 0x1969: 0x0369, + 0x196a: 0x0289, 0x196b: 0x13d1, 0x196c: 0x0039, 0x196d: 0x0ee9, 0x196e: 0x1159, 0x196f: 0x0ef9, + 0x1970: 0x0f09, 0x1971: 0x1199, 0x1972: 0x0f31, 0x1973: 0x0249, 0x1974: 0x0f41, 0x1975: 0x0259, + 0x1976: 0x0f51, 0x1977: 0x0359, 0x1978: 0x0f61, 0x1979: 0x0f71, 0x197a: 0x00d9, 0x197b: 0x0f99, + 0x197c: 0x2039, 0x197d: 0x0269, 0x197e: 0x01d9, 0x197f: 0x0fa9, + // Block 0x66, offset 0x1980 + 0x1980: 0x0fb9, 0x1981: 0x1089, 0x1982: 0x0279, 0x1983: 0x0369, 0x1984: 0x0289, 0x1985: 0x13d1, + 0x1986: 0x0039, 0x1987: 0x0ee9, 0x1988: 0x1159, 0x1989: 0x0ef9, 0x198a: 0x0f09, 0x198b: 0x1199, + 0x198c: 0x0f31, 0x198d: 0x0249, 0x198e: 0x0f41, 0x198f: 0x0259, 0x1990: 0x0f51, 0x1991: 0x0359, + 0x1992: 0x0f61, 0x1993: 0x0f71, 0x1994: 0x00d9, 0x1995: 0x0f99, 0x1996: 0x2039, 0x1997: 0x0269, + 0x1998: 0x01d9, 0x1999: 0x0fa9, 0x199a: 0x0fb9, 0x199b: 0x1089, 0x199c: 0x0279, 0x199d: 0x0369, + 0x199e: 0x0289, 0x199f: 0x13d1, 0x19a0: 0x0039, 0x19a1: 0x0ee9, 0x19a2: 0x1159, 0x19a3: 0x0ef9, + 0x19a4: 0x0f09, 0x19a5: 0x1199, 0x19a6: 0x0f31, 0x19a7: 0x0249, 0x19a8: 0x0f41, 0x19a9: 0x0259, + 0x19aa: 0x0f51, 0x19ab: 0x0359, 0x19ac: 0x0f61, 0x19ad: 0x0f71, 0x19ae: 0x00d9, 0x19af: 0x0f99, + 0x19b0: 0x2039, 0x19b1: 0x0269, 0x19b2: 0x01d9, 0x19b3: 0x0fa9, 0x19b4: 0x0fb9, 0x19b5: 0x1089, + 0x19b6: 0x0279, 0x19b7: 0x0369, 0x19b8: 0x0289, 0x19b9: 0x13d1, 0x19ba: 0x0039, 0x19bb: 0x0ee9, + 0x19bc: 0x1159, 0x19bd: 0x0ef9, 0x19be: 0x0f09, 0x19bf: 0x1199, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0f31, 0x19c1: 0x0249, 0x19c2: 0x0f41, 0x19c3: 0x0259, 0x19c4: 0x0f51, 0x19c5: 0x0359, + 0x19c6: 0x0f61, 0x19c7: 0x0f71, 0x19c8: 0x00d9, 0x19c9: 0x0f99, 0x19ca: 0x2039, 0x19cb: 0x0269, + 0x19cc: 0x01d9, 0x19cd: 0x0fa9, 0x19ce: 0x0fb9, 0x19cf: 0x1089, 0x19d0: 0x0279, 0x19d1: 0x0369, + 0x19d2: 0x0289, 0x19d3: 0x13d1, 0x19d4: 0x0039, 0x19d5: 0x0ee9, 0x19d6: 0x1159, 0x19d7: 0x0ef9, + 0x19d8: 0x0f09, 0x19d9: 0x1199, 0x19da: 0x0f31, 0x19db: 0x0249, 0x19dc: 0x0f41, 0x19dd: 0x0259, + 0x19de: 0x0f51, 0x19df: 0x0359, 0x19e0: 0x0f61, 0x19e1: 0x0f71, 0x19e2: 0x00d9, 0x19e3: 0x0f99, + 0x19e4: 0x2039, 0x19e5: 0x0269, 0x19e6: 0x01d9, 0x19e7: 0x0fa9, 0x19e8: 0x0fb9, 0x19e9: 0x1089, + 0x19ea: 0x0279, 0x19eb: 0x0369, 0x19ec: 0x0289, 0x19ed: 0x13d1, 0x19ee: 0x0039, 0x19ef: 0x0ee9, + 0x19f0: 0x1159, 0x19f1: 0x0ef9, 0x19f2: 0x0f09, 0x19f3: 0x1199, 0x19f4: 0x0f31, 0x19f5: 0x0249, + 0x19f6: 0x0f41, 0x19f7: 0x0259, 0x19f8: 0x0f51, 0x19f9: 0x0359, 0x19fa: 0x0f61, 0x19fb: 0x0f71, + 0x19fc: 0x00d9, 0x19fd: 0x0f99, 0x19fe: 0x2039, 0x19ff: 0x0269, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x01d9, 0x1a01: 0x0fa9, 0x1a02: 0x0fb9, 0x1a03: 0x1089, 0x1a04: 0x0279, 0x1a05: 0x0369, + 0x1a06: 0x0289, 0x1a07: 0x13d1, 0x1a08: 0x0039, 0x1a09: 0x0ee9, 0x1a0a: 0x1159, 0x1a0b: 0x0ef9, + 0x1a0c: 0x0f09, 0x1a0d: 0x1199, 0x1a0e: 0x0f31, 0x1a0f: 0x0249, 0x1a10: 0x0f41, 0x1a11: 0x0259, + 0x1a12: 0x0f51, 0x1a13: 0x0359, 0x1a14: 0x0f61, 0x1a15: 0x0f71, 0x1a16: 0x00d9, 0x1a17: 0x0f99, + 0x1a18: 0x2039, 0x1a19: 0x0269, 0x1a1a: 0x01d9, 0x1a1b: 0x0fa9, 0x1a1c: 0x0fb9, 0x1a1d: 0x1089, + 0x1a1e: 0x0279, 0x1a1f: 0x0369, 0x1a20: 0x0289, 0x1a21: 0x13d1, 0x1a22: 0x0039, 0x1a23: 0x0ee9, + 0x1a24: 0x1159, 0x1a25: 0x0ef9, 0x1a26: 0x0f09, 0x1a27: 0x1199, 0x1a28: 0x0f31, 0x1a29: 0x0249, + 0x1a2a: 0x0f41, 0x1a2b: 0x0259, 0x1a2c: 0x0f51, 0x1a2d: 0x0359, 0x1a2e: 0x0f61, 0x1a2f: 0x0f71, + 0x1a30: 0x00d9, 0x1a31: 0x0f99, 0x1a32: 0x2039, 0x1a33: 0x0269, 0x1a34: 0x01d9, 0x1a35: 0x0fa9, + 0x1a36: 0x0fb9, 0x1a37: 0x1089, 0x1a38: 0x0279, 0x1a39: 0x0369, 0x1a3a: 0x0289, 0x1a3b: 0x13d1, + 0x1a3c: 0x0039, 0x1a3d: 0x0ee9, 0x1a3e: 0x1159, 0x1a3f: 0x0ef9, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x0f09, 0x1a41: 0x1199, 0x1a42: 0x0f31, 0x1a43: 0x0249, 0x1a44: 0x0f41, 0x1a45: 0x0259, + 0x1a46: 0x0f51, 0x1a47: 0x0359, 0x1a48: 0x0f61, 0x1a49: 0x0f71, 0x1a4a: 0x00d9, 0x1a4b: 0x0f99, + 0x1a4c: 0x2039, 0x1a4d: 0x0269, 0x1a4e: 0x01d9, 0x1a4f: 0x0fa9, 0x1a50: 0x0fb9, 0x1a51: 0x1089, + 0x1a52: 0x0279, 0x1a53: 0x0369, 0x1a54: 0x0289, 0x1a55: 0x13d1, 0x1a56: 0x0039, 0x1a57: 0x0ee9, + 0x1a58: 0x1159, 0x1a59: 0x0ef9, 0x1a5a: 0x0f09, 0x1a5b: 0x1199, 0x1a5c: 0x0f31, 0x1a5d: 0x0249, + 0x1a5e: 0x0f41, 0x1a5f: 0x0259, 0x1a60: 0x0f51, 0x1a61: 0x0359, 0x1a62: 0x0f61, 0x1a63: 0x0f71, + 0x1a64: 0x00d9, 0x1a65: 0x0f99, 0x1a66: 0x2039, 0x1a67: 0x0269, 0x1a68: 0x01d9, 0x1a69: 0x0fa9, + 0x1a6a: 0x0fb9, 0x1a6b: 0x1089, 0x1a6c: 0x0279, 0x1a6d: 0x0369, 0x1a6e: 0x0289, 0x1a6f: 0x13d1, + 0x1a70: 0x0039, 0x1a71: 0x0ee9, 0x1a72: 0x1159, 0x1a73: 0x0ef9, 0x1a74: 0x0f09, 0x1a75: 0x1199, + 0x1a76: 0x0f31, 0x1a77: 0x0249, 0x1a78: 0x0f41, 0x1a79: 0x0259, 0x1a7a: 0x0f51, 0x1a7b: 0x0359, + 0x1a7c: 0x0f61, 0x1a7d: 0x0f71, 0x1a7e: 0x00d9, 0x1a7f: 0x0f99, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x2039, 0x1a81: 0x0269, 0x1a82: 0x01d9, 0x1a83: 0x0fa9, 0x1a84: 0x0fb9, 0x1a85: 0x1089, + 0x1a86: 0x0279, 0x1a87: 0x0369, 0x1a88: 0x0289, 0x1a89: 0x13d1, 0x1a8a: 0x0039, 0x1a8b: 0x0ee9, + 0x1a8c: 0x1159, 0x1a8d: 0x0ef9, 0x1a8e: 0x0f09, 0x1a8f: 0x1199, 0x1a90: 0x0f31, 0x1a91: 0x0249, + 0x1a92: 0x0f41, 0x1a93: 0x0259, 0x1a94: 0x0f51, 0x1a95: 0x0359, 0x1a96: 0x0f61, 0x1a97: 0x0f71, + 0x1a98: 0x00d9, 0x1a99: 0x0f99, 0x1a9a: 0x2039, 0x1a9b: 0x0269, 0x1a9c: 0x01d9, 0x1a9d: 0x0fa9, + 0x1a9e: 0x0fb9, 0x1a9f: 0x1089, 0x1aa0: 0x0279, 0x1aa1: 0x0369, 0x1aa2: 0x0289, 0x1aa3: 0x13d1, + 0x1aa4: 0xba81, 0x1aa5: 0xba99, 0x1aa6: 0x0040, 0x1aa7: 0x0040, 0x1aa8: 0xbab1, 0x1aa9: 0x1099, + 0x1aaa: 0x10b1, 0x1aab: 0x10c9, 0x1aac: 0xbac9, 0x1aad: 0xbae1, 0x1aae: 0xbaf9, 0x1aaf: 0x1429, + 0x1ab0: 0x1a31, 0x1ab1: 0xbb11, 0x1ab2: 0xbb29, 0x1ab3: 0xbb41, 0x1ab4: 0xbb59, 0x1ab5: 0xbb71, + 0x1ab6: 0xbb89, 0x1ab7: 0x2109, 0x1ab8: 0x1111, 0x1ab9: 0x1429, 0x1aba: 0xbba1, 0x1abb: 0xbbb9, + 0x1abc: 0xbbd1, 0x1abd: 0x10e1, 0x1abe: 0x10f9, 0x1abf: 0xbbe9, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2079, 0x1ac1: 0xbc01, 0x1ac2: 0xbab1, 0x1ac3: 0x1099, 0x1ac4: 0x10b1, 0x1ac5: 0x10c9, + 0x1ac6: 0xbac9, 0x1ac7: 0xbae1, 0x1ac8: 0xbaf9, 0x1ac9: 0x1429, 0x1aca: 0x1a31, 0x1acb: 0xbb11, + 0x1acc: 0xbb29, 0x1acd: 0xbb41, 0x1ace: 0xbb59, 0x1acf: 0xbb71, 0x1ad0: 0xbb89, 0x1ad1: 0x2109, + 0x1ad2: 0x1111, 0x1ad3: 0xbba1, 0x1ad4: 0xbba1, 0x1ad5: 0xbbb9, 0x1ad6: 0xbbd1, 0x1ad7: 0x10e1, + 0x1ad8: 0x10f9, 0x1ad9: 0xbbe9, 0x1ada: 0x2079, 0x1adb: 0xbc21, 0x1adc: 0xbac9, 0x1add: 0x1429, + 0x1ade: 0xbb11, 0x1adf: 0x10e1, 0x1ae0: 0x1111, 0x1ae1: 0x2109, 0x1ae2: 0xbab1, 0x1ae3: 0x1099, + 0x1ae4: 0x10b1, 0x1ae5: 0x10c9, 0x1ae6: 0xbac9, 0x1ae7: 0xbae1, 0x1ae8: 0xbaf9, 0x1ae9: 0x1429, + 0x1aea: 0x1a31, 0x1aeb: 0xbb11, 0x1aec: 0xbb29, 0x1aed: 0xbb41, 0x1aee: 0xbb59, 0x1aef: 0xbb71, + 0x1af0: 0xbb89, 0x1af1: 0x2109, 0x1af2: 0x1111, 0x1af3: 0x1429, 0x1af4: 0xbba1, 0x1af5: 0xbbb9, + 0x1af6: 0xbbd1, 0x1af7: 0x10e1, 0x1af8: 0x10f9, 0x1af9: 0xbbe9, 0x1afa: 0x2079, 0x1afb: 0xbc01, + 0x1afc: 0xbab1, 0x1afd: 0x1099, 0x1afe: 0x10b1, 0x1aff: 0x10c9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0xbac9, 0x1b01: 0xbae1, 0x1b02: 0xbaf9, 0x1b03: 0x1429, 0x1b04: 0x1a31, 0x1b05: 0xbb11, + 0x1b06: 0xbb29, 0x1b07: 0xbb41, 0x1b08: 0xbb59, 0x1b09: 0xbb71, 0x1b0a: 0xbb89, 0x1b0b: 0x2109, + 0x1b0c: 0x1111, 0x1b0d: 0xbba1, 0x1b0e: 0xbba1, 0x1b0f: 0xbbb9, 0x1b10: 0xbbd1, 0x1b11: 0x10e1, + 0x1b12: 0x10f9, 0x1b13: 0xbbe9, 0x1b14: 0x2079, 0x1b15: 0xbc21, 0x1b16: 0xbac9, 0x1b17: 0x1429, + 0x1b18: 0xbb11, 0x1b19: 0x10e1, 0x1b1a: 0x1111, 0x1b1b: 0x2109, 0x1b1c: 0xbab1, 0x1b1d: 0x1099, + 0x1b1e: 0x10b1, 0x1b1f: 0x10c9, 0x1b20: 0xbac9, 0x1b21: 0xbae1, 0x1b22: 0xbaf9, 0x1b23: 0x1429, + 0x1b24: 0x1a31, 0x1b25: 0xbb11, 0x1b26: 0xbb29, 0x1b27: 0xbb41, 0x1b28: 0xbb59, 0x1b29: 0xbb71, + 0x1b2a: 0xbb89, 0x1b2b: 0x2109, 0x1b2c: 0x1111, 0x1b2d: 0x1429, 0x1b2e: 0xbba1, 0x1b2f: 0xbbb9, + 0x1b30: 0xbbd1, 0x1b31: 0x10e1, 0x1b32: 0x10f9, 0x1b33: 0xbbe9, 0x1b34: 0x2079, 0x1b35: 0xbc01, + 0x1b36: 0xbab1, 0x1b37: 0x1099, 0x1b38: 0x10b1, 0x1b39: 0x10c9, 0x1b3a: 0xbac9, 0x1b3b: 0xbae1, + 0x1b3c: 0xbaf9, 0x1b3d: 0x1429, 0x1b3e: 0x1a31, 0x1b3f: 0xbb11, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbb29, 0x1b41: 0xbb41, 0x1b42: 0xbb59, 0x1b43: 0xbb71, 0x1b44: 0xbb89, 0x1b45: 0x2109, + 0x1b46: 0x1111, 0x1b47: 0xbba1, 0x1b48: 0xbba1, 0x1b49: 0xbbb9, 0x1b4a: 0xbbd1, 0x1b4b: 0x10e1, + 0x1b4c: 0x10f9, 0x1b4d: 0xbbe9, 0x1b4e: 0x2079, 0x1b4f: 0xbc21, 0x1b50: 0xbac9, 0x1b51: 0x1429, + 0x1b52: 0xbb11, 0x1b53: 0x10e1, 0x1b54: 0x1111, 0x1b55: 0x2109, 0x1b56: 0xbab1, 0x1b57: 0x1099, + 0x1b58: 0x10b1, 0x1b59: 0x10c9, 0x1b5a: 0xbac9, 0x1b5b: 0xbae1, 0x1b5c: 0xbaf9, 0x1b5d: 0x1429, + 0x1b5e: 0x1a31, 0x1b5f: 0xbb11, 0x1b60: 0xbb29, 0x1b61: 0xbb41, 0x1b62: 0xbb59, 0x1b63: 0xbb71, + 0x1b64: 0xbb89, 0x1b65: 0x2109, 0x1b66: 0x1111, 0x1b67: 0x1429, 0x1b68: 0xbba1, 0x1b69: 0xbbb9, + 0x1b6a: 0xbbd1, 0x1b6b: 0x10e1, 0x1b6c: 0x10f9, 0x1b6d: 0xbbe9, 0x1b6e: 0x2079, 0x1b6f: 0xbc01, + 0x1b70: 0xbab1, 0x1b71: 0x1099, 0x1b72: 0x10b1, 0x1b73: 0x10c9, 0x1b74: 0xbac9, 0x1b75: 0xbae1, + 0x1b76: 0xbaf9, 0x1b77: 0x1429, 0x1b78: 0x1a31, 0x1b79: 0xbb11, 0x1b7a: 0xbb29, 0x1b7b: 0xbb41, + 0x1b7c: 0xbb59, 0x1b7d: 0xbb71, 0x1b7e: 0xbb89, 0x1b7f: 0x2109, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x1111, 0x1b81: 0xbba1, 0x1b82: 0xbba1, 0x1b83: 0xbbb9, 0x1b84: 0xbbd1, 0x1b85: 0x10e1, + 0x1b86: 0x10f9, 0x1b87: 0xbbe9, 0x1b88: 0x2079, 0x1b89: 0xbc21, 0x1b8a: 0xbac9, 0x1b8b: 0x1429, + 0x1b8c: 0xbb11, 0x1b8d: 0x10e1, 0x1b8e: 0x1111, 0x1b8f: 0x2109, 0x1b90: 0xbab1, 0x1b91: 0x1099, + 0x1b92: 0x10b1, 0x1b93: 0x10c9, 0x1b94: 0xbac9, 0x1b95: 0xbae1, 0x1b96: 0xbaf9, 0x1b97: 0x1429, + 0x1b98: 0x1a31, 0x1b99: 0xbb11, 0x1b9a: 0xbb29, 0x1b9b: 0xbb41, 0x1b9c: 0xbb59, 0x1b9d: 0xbb71, + 0x1b9e: 0xbb89, 0x1b9f: 0x2109, 0x1ba0: 0x1111, 0x1ba1: 0x1429, 0x1ba2: 0xbba1, 0x1ba3: 0xbbb9, + 0x1ba4: 0xbbd1, 0x1ba5: 0x10e1, 0x1ba6: 0x10f9, 0x1ba7: 0xbbe9, 0x1ba8: 0x2079, 0x1ba9: 0xbc01, + 0x1baa: 0xbab1, 0x1bab: 0x1099, 0x1bac: 0x10b1, 0x1bad: 0x10c9, 0x1bae: 0xbac9, 0x1baf: 0xbae1, + 0x1bb0: 0xbaf9, 0x1bb1: 0x1429, 0x1bb2: 0x1a31, 0x1bb3: 0xbb11, 0x1bb4: 0xbb29, 0x1bb5: 0xbb41, + 0x1bb6: 0xbb59, 0x1bb7: 0xbb71, 0x1bb8: 0xbb89, 0x1bb9: 0x2109, 0x1bba: 0x1111, 0x1bbb: 0xbba1, + 0x1bbc: 0xbba1, 0x1bbd: 0xbbb9, 0x1bbe: 0xbbd1, 0x1bbf: 0x10e1, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x10f9, 0x1bc1: 0xbbe9, 0x1bc2: 0x2079, 0x1bc3: 0xbc21, 0x1bc4: 0xbac9, 0x1bc5: 0x1429, + 0x1bc6: 0xbb11, 0x1bc7: 0x10e1, 0x1bc8: 0x1111, 0x1bc9: 0x2109, 0x1bca: 0xbc41, 0x1bcb: 0xbc41, + 0x1bcc: 0x0040, 0x1bcd: 0x0040, 0x1bce: 0x1f41, 0x1bcf: 0x00c9, 0x1bd0: 0x0069, 0x1bd1: 0x0079, + 0x1bd2: 0x1f51, 0x1bd3: 0x1f61, 0x1bd4: 0x1f71, 0x1bd5: 0x1f81, 0x1bd6: 0x1f91, 0x1bd7: 0x1fa1, + 0x1bd8: 0x1f41, 0x1bd9: 0x00c9, 0x1bda: 0x0069, 0x1bdb: 0x0079, 0x1bdc: 0x1f51, 0x1bdd: 0x1f61, + 0x1bde: 0x1f71, 0x1bdf: 0x1f81, 0x1be0: 0x1f91, 0x1be1: 0x1fa1, 0x1be2: 0x1f41, 0x1be3: 0x00c9, + 0x1be4: 0x0069, 0x1be5: 0x0079, 0x1be6: 0x1f51, 0x1be7: 0x1f61, 0x1be8: 0x1f71, 0x1be9: 0x1f81, + 0x1bea: 0x1f91, 0x1beb: 0x1fa1, 0x1bec: 0x1f41, 0x1bed: 0x00c9, 0x1bee: 0x0069, 0x1bef: 0x0079, + 0x1bf0: 0x1f51, 0x1bf1: 0x1f61, 0x1bf2: 0x1f71, 0x1bf3: 0x1f81, 0x1bf4: 0x1f91, 0x1bf5: 0x1fa1, + 0x1bf6: 0x1f41, 0x1bf7: 0x00c9, 0x1bf8: 0x0069, 0x1bf9: 0x0079, 0x1bfa: 0x1f51, 0x1bfb: 0x1f61, + 0x1bfc: 0x1f71, 0x1bfd: 0x1f81, 0x1bfe: 0x1f91, 0x1bff: 0x1fa1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0xe115, 0x1c01: 0xe115, 0x1c02: 0xe135, 0x1c03: 0xe135, 0x1c04: 0xe115, 0x1c05: 0xe115, + 0x1c06: 0xe175, 0x1c07: 0xe175, 0x1c08: 0xe115, 0x1c09: 0xe115, 0x1c0a: 0xe135, 0x1c0b: 0xe135, + 0x1c0c: 0xe115, 0x1c0d: 0xe115, 0x1c0e: 0xe1f5, 0x1c0f: 0xe1f5, 0x1c10: 0xe115, 0x1c11: 0xe115, + 0x1c12: 0xe135, 0x1c13: 0xe135, 0x1c14: 0xe115, 0x1c15: 0xe115, 0x1c16: 0xe175, 0x1c17: 0xe175, + 0x1c18: 0xe115, 0x1c19: 0xe115, 0x1c1a: 0xe135, 0x1c1b: 0xe135, 0x1c1c: 0xe115, 0x1c1d: 0xe115, + 0x1c1e: 0x8b05, 0x1c1f: 0x8b05, 0x1c20: 0x04b5, 0x1c21: 0x04b5, 0x1c22: 0x0a08, 0x1c23: 0x0a08, + 0x1c24: 0x0a08, 0x1c25: 0x0a08, 0x1c26: 0x0a08, 0x1c27: 0x0a08, 0x1c28: 0x0a08, 0x1c29: 0x0a08, + 0x1c2a: 0x0a08, 0x1c2b: 0x0a08, 0x1c2c: 0x0a08, 0x1c2d: 0x0a08, 0x1c2e: 0x0a08, 0x1c2f: 0x0a08, + 0x1c30: 0x0a08, 0x1c31: 0x0a08, 0x1c32: 0x0a08, 0x1c33: 0x0a08, 0x1c34: 0x0a08, 0x1c35: 0x0a08, + 0x1c36: 0x0a08, 0x1c37: 0x0a08, 0x1c38: 0x0a08, 0x1c39: 0x0a08, 0x1c3a: 0x0a08, 0x1c3b: 0x0a08, + 0x1c3c: 0x0a08, 0x1c3d: 0x0a08, 0x1c3e: 0x0a08, 0x1c3f: 0x0a08, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xb189, 0x1c41: 0xb1a1, 0x1c42: 0xb201, 0x1c43: 0xb249, 0x1c44: 0x0040, 0x1c45: 0xb411, + 0x1c46: 0xb291, 0x1c47: 0xb219, 0x1c48: 0xb309, 0x1c49: 0xb429, 0x1c4a: 0xb399, 0x1c4b: 0xb3b1, + 0x1c4c: 0xb3c9, 0x1c4d: 0xb3e1, 0x1c4e: 0xb2a9, 0x1c4f: 0xb339, 0x1c50: 0xb369, 0x1c51: 0xb2d9, + 0x1c52: 0xb381, 0x1c53: 0xb279, 0x1c54: 0xb2c1, 0x1c55: 0xb1d1, 0x1c56: 0xb1e9, 0x1c57: 0xb231, + 0x1c58: 0xb261, 0x1c59: 0xb2f1, 0x1c5a: 0xb321, 0x1c5b: 0xb351, 0x1c5c: 0xbc59, 0x1c5d: 0x7949, + 0x1c5e: 0xbc71, 0x1c5f: 0xbc89, 0x1c60: 0x0040, 0x1c61: 0xb1a1, 0x1c62: 0xb201, 0x1c63: 0x0040, + 0x1c64: 0xb3f9, 0x1c65: 0x0040, 0x1c66: 0x0040, 0x1c67: 0xb219, 0x1c68: 0x0040, 0x1c69: 0xb429, + 0x1c6a: 0xb399, 0x1c6b: 0xb3b1, 0x1c6c: 0xb3c9, 0x1c6d: 0xb3e1, 0x1c6e: 0xb2a9, 0x1c6f: 0xb339, + 0x1c70: 0xb369, 0x1c71: 0xb2d9, 0x1c72: 0xb381, 0x1c73: 0x0040, 0x1c74: 0xb2c1, 0x1c75: 0xb1d1, + 0x1c76: 0xb1e9, 0x1c77: 0xb231, 0x1c78: 0x0040, 0x1c79: 0xb2f1, 0x1c7a: 0x0040, 0x1c7b: 0xb351, + 0x1c7c: 0x0040, 0x1c7d: 0x0040, 0x1c7e: 0x0040, 0x1c7f: 0x0040, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x0040, 0x1c81: 0x0040, 0x1c82: 0xb201, 0x1c83: 0x0040, 0x1c84: 0x0040, 0x1c85: 0x0040, + 0x1c86: 0x0040, 0x1c87: 0xb219, 0x1c88: 0x0040, 0x1c89: 0xb429, 0x1c8a: 0x0040, 0x1c8b: 0xb3b1, + 0x1c8c: 0x0040, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0x0040, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0x0040, 0x1c94: 0xb2c1, 0x1c95: 0x0040, 0x1c96: 0x0040, 0x1c97: 0xb231, + 0x1c98: 0x0040, 0x1c99: 0xb2f1, 0x1c9a: 0x0040, 0x1c9b: 0xb351, 0x1c9c: 0x0040, 0x1c9d: 0x7949, + 0x1c9e: 0x0040, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0xb309, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0x0040, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0xb321, 0x1cbb: 0xb351, + 0x1cbc: 0xbc59, 0x1cbd: 0x0040, 0x1cbe: 0xbc71, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0xb189, 0x1cc1: 0xb1a1, 0x1cc2: 0xb201, 0x1cc3: 0xb249, 0x1cc4: 0xb3f9, 0x1cc5: 0xb411, + 0x1cc6: 0xb291, 0x1cc7: 0xb219, 0x1cc8: 0xb309, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0xb3c9, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0xb369, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0xb279, 0x1cd4: 0xb2c1, 0x1cd5: 0xb1d1, 0x1cd6: 0xb1e9, 0x1cd7: 0xb231, + 0x1cd8: 0xb261, 0x1cd9: 0xb2f1, 0x1cda: 0xb321, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x0040, + 0x1cde: 0x0040, 0x1cdf: 0x0040, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0xb249, + 0x1ce4: 0x0040, 0x1ce5: 0xb411, 0x1ce6: 0xb291, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0x0040, 0x1ceb: 0xb3b1, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0xb279, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0xb261, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0x0040, 0x1cfd: 0x0040, 0x1cfe: 0x0040, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0x0040, 0x1d01: 0xbca2, 0x1d02: 0xbcba, 0x1d03: 0xbcd2, 0x1d04: 0xbcea, 0x1d05: 0xbd02, + 0x1d06: 0xbd1a, 0x1d07: 0xbd32, 0x1d08: 0xbd4a, 0x1d09: 0xbd62, 0x1d0a: 0xbd7a, 0x1d0b: 0x0018, + 0x1d0c: 0x0018, 0x1d0d: 0x0040, 0x1d0e: 0x0040, 0x1d0f: 0x0040, 0x1d10: 0xbd92, 0x1d11: 0xbdb2, + 0x1d12: 0xbdd2, 0x1d13: 0xbdf2, 0x1d14: 0xbe12, 0x1d15: 0xbe32, 0x1d16: 0xbe52, 0x1d17: 0xbe72, + 0x1d18: 0xbe92, 0x1d19: 0xbeb2, 0x1d1a: 0xbed2, 0x1d1b: 0xbef2, 0x1d1c: 0xbf12, 0x1d1d: 0xbf32, + 0x1d1e: 0xbf52, 0x1d1f: 0xbf72, 0x1d20: 0xbf92, 0x1d21: 0xbfb2, 0x1d22: 0xbfd2, 0x1d23: 0xbff2, + 0x1d24: 0xc012, 0x1d25: 0xc032, 0x1d26: 0xc052, 0x1d27: 0xc072, 0x1d28: 0xc092, 0x1d29: 0xc0b2, + 0x1d2a: 0xc0d1, 0x1d2b: 0x1159, 0x1d2c: 0x0269, 0x1d2d: 0x6671, 0x1d2e: 0xc111, 0x1d2f: 0x0040, + 0x1d30: 0x0039, 0x1d31: 0x0ee9, 0x1d32: 0x1159, 0x1d33: 0x0ef9, 0x1d34: 0x0f09, 0x1d35: 0x1199, + 0x1d36: 0x0f31, 0x1d37: 0x0249, 0x1d38: 0x0f41, 0x1d39: 0x0259, 0x1d3a: 0x0f51, 0x1d3b: 0x0359, + 0x1d3c: 0x0f61, 0x1d3d: 0x0f71, 0x1d3e: 0x00d9, 0x1d3f: 0x0f99, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x2039, 0x1d41: 0x0269, 0x1d42: 0x01d9, 0x1d43: 0x0fa9, 0x1d44: 0x0fb9, 0x1d45: 0x1089, + 0x1d46: 0x0279, 0x1d47: 0x0369, 0x1d48: 0x0289, 0x1d49: 0x13d1, 0x1d4a: 0xc129, 0x1d4b: 0x65b1, + 0x1d4c: 0xc141, 0x1d4d: 0x1441, 0x1d4e: 0xc159, 0x1d4f: 0xc179, 0x1d50: 0x0018, 0x1d51: 0x0018, + 0x1d52: 0x0018, 0x1d53: 0x0018, 0x1d54: 0x0018, 0x1d55: 0x0018, 0x1d56: 0x0018, 0x1d57: 0x0018, + 0x1d58: 0x0018, 0x1d59: 0x0018, 0x1d5a: 0x0018, 0x1d5b: 0x0018, 0x1d5c: 0x0018, 0x1d5d: 0x0018, + 0x1d5e: 0x0018, 0x1d5f: 0x0018, 0x1d60: 0x0018, 0x1d61: 0x0018, 0x1d62: 0x0018, 0x1d63: 0x0018, + 0x1d64: 0x0018, 0x1d65: 0x0018, 0x1d66: 0x0018, 0x1d67: 0x0018, 0x1d68: 0x0018, 0x1d69: 0x0018, + 0x1d6a: 0xc191, 0x1d6b: 0xc1a9, 0x1d6c: 0x0040, 0x1d6d: 0x0040, 0x1d6e: 0x0040, 0x1d6f: 0x0040, + 0x1d70: 0x0018, 0x1d71: 0x0018, 0x1d72: 0x0018, 0x1d73: 0x0018, 0x1d74: 0x0018, 0x1d75: 0x0018, + 0x1d76: 0x0018, 0x1d77: 0x0018, 0x1d78: 0x0018, 0x1d79: 0x0018, 0x1d7a: 0x0018, 0x1d7b: 0x0018, + 0x1d7c: 0x0018, 0x1d7d: 0x0018, 0x1d7e: 0x0018, 0x1d7f: 0x0018, + // Block 0x76, offset 0x1d80 + 0x1d80: 0xc1d9, 0x1d81: 0xc211, 0x1d82: 0xc249, 0x1d83: 0x0040, 0x1d84: 0x0040, 0x1d85: 0x0040, + 0x1d86: 0x0040, 0x1d87: 0x0040, 0x1d88: 0x0040, 0x1d89: 0x0040, 0x1d8a: 0x0040, 0x1d8b: 0x0040, + 0x1d8c: 0x0040, 0x1d8d: 0x0040, 0x1d8e: 0x0040, 0x1d8f: 0x0040, 0x1d90: 0xc269, 0x1d91: 0xc289, + 0x1d92: 0xc2a9, 0x1d93: 0xc2c9, 0x1d94: 0xc2e9, 0x1d95: 0xc309, 0x1d96: 0xc329, 0x1d97: 0xc349, + 0x1d98: 0xc369, 0x1d99: 0xc389, 0x1d9a: 0xc3a9, 0x1d9b: 0xc3c9, 0x1d9c: 0xc3e9, 0x1d9d: 0xc409, + 0x1d9e: 0xc429, 0x1d9f: 0xc449, 0x1da0: 0xc469, 0x1da1: 0xc489, 0x1da2: 0xc4a9, 0x1da3: 0xc4c9, + 0x1da4: 0xc4e9, 0x1da5: 0xc509, 0x1da6: 0xc529, 0x1da7: 0xc549, 0x1da8: 0xc569, 0x1da9: 0xc589, + 0x1daa: 0xc5a9, 0x1dab: 0xc5c9, 0x1dac: 0xc5e9, 0x1dad: 0xc609, 0x1dae: 0xc629, 0x1daf: 0xc649, + 0x1db0: 0xc669, 0x1db1: 0xc689, 0x1db2: 0xc6a9, 0x1db3: 0xc6c9, 0x1db4: 0xc6e9, 0x1db5: 0xc709, + 0x1db6: 0xc729, 0x1db7: 0xc749, 0x1db8: 0xc769, 0x1db9: 0xc789, 0x1dba: 0xc7a9, 0x1dbb: 0xc7c9, + 0x1dbc: 0x0040, 0x1dbd: 0x0040, 0x1dbe: 0x0040, 0x1dbf: 0x0040, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xcaf9, 0x1dc1: 0xcb19, 0x1dc2: 0xcb39, 0x1dc3: 0x8b1d, 0x1dc4: 0xcb59, 0x1dc5: 0xcb79, + 0x1dc6: 0xcb99, 0x1dc7: 0xcbb9, 0x1dc8: 0xcbd9, 0x1dc9: 0xcbf9, 0x1dca: 0xcc19, 0x1dcb: 0xcc39, + 0x1dcc: 0xcc59, 0x1dcd: 0x8b3d, 0x1dce: 0xcc79, 0x1dcf: 0xcc99, 0x1dd0: 0xccb9, 0x1dd1: 0xccd9, + 0x1dd2: 0x8b5d, 0x1dd3: 0xccf9, 0x1dd4: 0xcd19, 0x1dd5: 0xc429, 0x1dd6: 0x8b7d, 0x1dd7: 0xcd39, + 0x1dd8: 0xcd59, 0x1dd9: 0xcd79, 0x1dda: 0xcd99, 0x1ddb: 0xcdb9, 0x1ddc: 0x8b9d, 0x1ddd: 0xcdd9, + 0x1dde: 0xcdf9, 0x1ddf: 0xce19, 0x1de0: 0xce39, 0x1de1: 0xce59, 0x1de2: 0xc789, 0x1de3: 0xce79, + 0x1de4: 0xce99, 0x1de5: 0xceb9, 0x1de6: 0xced9, 0x1de7: 0xcef9, 0x1de8: 0xcf19, 0x1de9: 0xcf39, + 0x1dea: 0xcf59, 0x1deb: 0xcf79, 0x1dec: 0xcf99, 0x1ded: 0xcfb9, 0x1dee: 0xcfd9, 0x1def: 0xcff9, + 0x1df0: 0xd019, 0x1df1: 0xd039, 0x1df2: 0xd039, 0x1df3: 0xd039, 0x1df4: 0x8bbd, 0x1df5: 0xd059, + 0x1df6: 0xd079, 0x1df7: 0xd099, 0x1df8: 0x8bdd, 0x1df9: 0xd0b9, 0x1dfa: 0xd0d9, 0x1dfb: 0xd0f9, + 0x1dfc: 0xd119, 0x1dfd: 0xd139, 0x1dfe: 0xd159, 0x1dff: 0xd179, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xd199, 0x1e01: 0xd1b9, 0x1e02: 0xd1d9, 0x1e03: 0xd1f9, 0x1e04: 0xd219, 0x1e05: 0xd239, + 0x1e06: 0xd239, 0x1e07: 0xd259, 0x1e08: 0xd279, 0x1e09: 0xd299, 0x1e0a: 0xd2b9, 0x1e0b: 0xd2d9, + 0x1e0c: 0xd2f9, 0x1e0d: 0xd319, 0x1e0e: 0xd339, 0x1e0f: 0xd359, 0x1e10: 0xd379, 0x1e11: 0xd399, + 0x1e12: 0xd3b9, 0x1e13: 0xd3d9, 0x1e14: 0xd3f9, 0x1e15: 0xd419, 0x1e16: 0xd439, 0x1e17: 0xd459, + 0x1e18: 0xd479, 0x1e19: 0x8bfd, 0x1e1a: 0xd499, 0x1e1b: 0xd4b9, 0x1e1c: 0xd4d9, 0x1e1d: 0xc309, + 0x1e1e: 0xd4f9, 0x1e1f: 0xd519, 0x1e20: 0x8c1d, 0x1e21: 0x8c3d, 0x1e22: 0xd539, 0x1e23: 0xd559, + 0x1e24: 0xd579, 0x1e25: 0xd599, 0x1e26: 0xd5b9, 0x1e27: 0xd5d9, 0x1e28: 0x2040, 0x1e29: 0xd5f9, + 0x1e2a: 0xd619, 0x1e2b: 0xd619, 0x1e2c: 0x8c5d, 0x1e2d: 0xd639, 0x1e2e: 0xd659, 0x1e2f: 0xd679, + 0x1e30: 0xd699, 0x1e31: 0x8c7d, 0x1e32: 0xd6b9, 0x1e33: 0xd6d9, 0x1e34: 0x2040, 0x1e35: 0xd6f9, + 0x1e36: 0xd719, 0x1e37: 0xd739, 0x1e38: 0xd759, 0x1e39: 0xd779, 0x1e3a: 0xd799, 0x1e3b: 0x8c9d, + 0x1e3c: 0xd7b9, 0x1e3d: 0x8cbd, 0x1e3e: 0xd7d9, 0x1e3f: 0xd7f9, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd819, 0x1e41: 0xd839, 0x1e42: 0xd859, 0x1e43: 0xd879, 0x1e44: 0xd899, 0x1e45: 0xd8b9, + 0x1e46: 0xd8d9, 0x1e47: 0xd8f9, 0x1e48: 0xd919, 0x1e49: 0x8cdd, 0x1e4a: 0xd939, 0x1e4b: 0xd959, + 0x1e4c: 0xd979, 0x1e4d: 0xd999, 0x1e4e: 0xd9b9, 0x1e4f: 0x8cfd, 0x1e50: 0xd9d9, 0x1e51: 0x8d1d, + 0x1e52: 0x8d3d, 0x1e53: 0xd9f9, 0x1e54: 0xda19, 0x1e55: 0xda19, 0x1e56: 0xda39, 0x1e57: 0x8d5d, + 0x1e58: 0x8d7d, 0x1e59: 0xda59, 0x1e5a: 0xda79, 0x1e5b: 0xda99, 0x1e5c: 0xdab9, 0x1e5d: 0xdad9, + 0x1e5e: 0xdaf9, 0x1e5f: 0xdb19, 0x1e60: 0xdb39, 0x1e61: 0xdb59, 0x1e62: 0xdb79, 0x1e63: 0xdb99, + 0x1e64: 0x8d9d, 0x1e65: 0xdbb9, 0x1e66: 0xdbd9, 0x1e67: 0xdbf9, 0x1e68: 0xdc19, 0x1e69: 0xdbf9, + 0x1e6a: 0xdc39, 0x1e6b: 0xdc59, 0x1e6c: 0xdc79, 0x1e6d: 0xdc99, 0x1e6e: 0xdcb9, 0x1e6f: 0xdcd9, + 0x1e70: 0xdcf9, 0x1e71: 0xdd19, 0x1e72: 0xdd39, 0x1e73: 0xdd59, 0x1e74: 0xdd79, 0x1e75: 0xdd99, + 0x1e76: 0xddb9, 0x1e77: 0xddd9, 0x1e78: 0x8dbd, 0x1e79: 0xddf9, 0x1e7a: 0xde19, 0x1e7b: 0xde39, + 0x1e7c: 0xde59, 0x1e7d: 0xde79, 0x1e7e: 0x8ddd, 0x1e7f: 0xde99, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xe599, 0x1e81: 0xe5b9, 0x1e82: 0xe5d9, 0x1e83: 0xe5f9, 0x1e84: 0xe619, 0x1e85: 0xe639, + 0x1e86: 0x8efd, 0x1e87: 0xe659, 0x1e88: 0xe679, 0x1e89: 0xe699, 0x1e8a: 0xe6b9, 0x1e8b: 0xe6d9, + 0x1e8c: 0xe6f9, 0x1e8d: 0x8f1d, 0x1e8e: 0xe719, 0x1e8f: 0xe739, 0x1e90: 0x8f3d, 0x1e91: 0x8f5d, + 0x1e92: 0xe759, 0x1e93: 0xe779, 0x1e94: 0xe799, 0x1e95: 0xe7b9, 0x1e96: 0xe7d9, 0x1e97: 0xe7f9, + 0x1e98: 0xe819, 0x1e99: 0xe839, 0x1e9a: 0xe859, 0x1e9b: 0x8f7d, 0x1e9c: 0xe879, 0x1e9d: 0x8f9d, + 0x1e9e: 0xe899, 0x1e9f: 0x2040, 0x1ea0: 0xe8b9, 0x1ea1: 0xe8d9, 0x1ea2: 0xe8f9, 0x1ea3: 0x8fbd, + 0x1ea4: 0xe919, 0x1ea5: 0xe939, 0x1ea6: 0x8fdd, 0x1ea7: 0x8ffd, 0x1ea8: 0xe959, 0x1ea9: 0xe979, + 0x1eaa: 0xe999, 0x1eab: 0xe9b9, 0x1eac: 0xe9d9, 0x1ead: 0xe9d9, 0x1eae: 0xe9f9, 0x1eaf: 0xea19, + 0x1eb0: 0xea39, 0x1eb1: 0xea59, 0x1eb2: 0xea79, 0x1eb3: 0xea99, 0x1eb4: 0xeab9, 0x1eb5: 0x901d, + 0x1eb6: 0xead9, 0x1eb7: 0x903d, 0x1eb8: 0xeaf9, 0x1eb9: 0x905d, 0x1eba: 0xeb19, 0x1ebb: 0x907d, + 0x1ebc: 0x909d, 0x1ebd: 0x90bd, 0x1ebe: 0xeb39, 0x1ebf: 0xeb59, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xeb79, 0x1ec1: 0x90dd, 0x1ec2: 0x90fd, 0x1ec3: 0x911d, 0x1ec4: 0x913d, 0x1ec5: 0xeb99, + 0x1ec6: 0xebb9, 0x1ec7: 0xebb9, 0x1ec8: 0xebd9, 0x1ec9: 0xebf9, 0x1eca: 0xec19, 0x1ecb: 0xec39, + 0x1ecc: 0xec59, 0x1ecd: 0x915d, 0x1ece: 0xec79, 0x1ecf: 0xec99, 0x1ed0: 0xecb9, 0x1ed1: 0xecd9, + 0x1ed2: 0x917d, 0x1ed3: 0xecf9, 0x1ed4: 0x919d, 0x1ed5: 0x91bd, 0x1ed6: 0xed19, 0x1ed7: 0xed39, + 0x1ed8: 0xed59, 0x1ed9: 0xed79, 0x1eda: 0xed99, 0x1edb: 0xedb9, 0x1edc: 0x91dd, 0x1edd: 0x91fd, + 0x1ede: 0x921d, 0x1edf: 0x2040, 0x1ee0: 0xedd9, 0x1ee1: 0x923d, 0x1ee2: 0xedf9, 0x1ee3: 0xee19, + 0x1ee4: 0xee39, 0x1ee5: 0x925d, 0x1ee6: 0xee59, 0x1ee7: 0xee79, 0x1ee8: 0xee99, 0x1ee9: 0xeeb9, + 0x1eea: 0xeed9, 0x1eeb: 0x927d, 0x1eec: 0xeef9, 0x1eed: 0xef19, 0x1eee: 0xef39, 0x1eef: 0xef59, + 0x1ef0: 0xef79, 0x1ef1: 0xef99, 0x1ef2: 0x929d, 0x1ef3: 0x92bd, 0x1ef4: 0xefb9, 0x1ef5: 0x92dd, + 0x1ef6: 0xefd9, 0x1ef7: 0x92fd, 0x1ef8: 0xeff9, 0x1ef9: 0xf019, 0x1efa: 0xf039, 0x1efb: 0x931d, + 0x1efc: 0x933d, 0x1efd: 0xf059, 0x1efe: 0x935d, 0x1eff: 0xf079, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xf6b9, 0x1f01: 0xf6d9, 0x1f02: 0xf6f9, 0x1f03: 0xf719, 0x1f04: 0xf739, 0x1f05: 0x951d, + 0x1f06: 0xf759, 0x1f07: 0xf779, 0x1f08: 0xf799, 0x1f09: 0xf7b9, 0x1f0a: 0xf7d9, 0x1f0b: 0x953d, + 0x1f0c: 0x955d, 0x1f0d: 0xf7f9, 0x1f0e: 0xf819, 0x1f0f: 0xf839, 0x1f10: 0xf859, 0x1f11: 0xf879, + 0x1f12: 0xf899, 0x1f13: 0x957d, 0x1f14: 0xf8b9, 0x1f15: 0xf8d9, 0x1f16: 0xf8f9, 0x1f17: 0xf919, + 0x1f18: 0x959d, 0x1f19: 0x95bd, 0x1f1a: 0xf939, 0x1f1b: 0xf959, 0x1f1c: 0xf979, 0x1f1d: 0x95dd, + 0x1f1e: 0xf999, 0x1f1f: 0xf9b9, 0x1f20: 0x6815, 0x1f21: 0x95fd, 0x1f22: 0xf9d9, 0x1f23: 0xf9f9, + 0x1f24: 0xfa19, 0x1f25: 0x961d, 0x1f26: 0xfa39, 0x1f27: 0xfa59, 0x1f28: 0xfa79, 0x1f29: 0xfa99, + 0x1f2a: 0xfab9, 0x1f2b: 0xfad9, 0x1f2c: 0xfaf9, 0x1f2d: 0x963d, 0x1f2e: 0xfb19, 0x1f2f: 0xfb39, + 0x1f30: 0xfb59, 0x1f31: 0x965d, 0x1f32: 0xfb79, 0x1f33: 0xfb99, 0x1f34: 0xfbb9, 0x1f35: 0xfbd9, + 0x1f36: 0x7b35, 0x1f37: 0x967d, 0x1f38: 0xfbf9, 0x1f39: 0xfc19, 0x1f3a: 0xfc39, 0x1f3b: 0x969d, + 0x1f3c: 0xfc59, 0x1f3d: 0x96bd, 0x1f3e: 0xfc79, 0x1f3f: 0xfc79, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xfc99, 0x1f41: 0x96dd, 0x1f42: 0xfcb9, 0x1f43: 0xfcd9, 0x1f44: 0xfcf9, 0x1f45: 0xfd19, + 0x1f46: 0xfd39, 0x1f47: 0xfd59, 0x1f48: 0xfd79, 0x1f49: 0x96fd, 0x1f4a: 0xfd99, 0x1f4b: 0xfdb9, + 0x1f4c: 0xfdd9, 0x1f4d: 0xfdf9, 0x1f4e: 0xfe19, 0x1f4f: 0xfe39, 0x1f50: 0x971d, 0x1f51: 0xfe59, + 0x1f52: 0x973d, 0x1f53: 0x975d, 0x1f54: 0x977d, 0x1f55: 0xfe79, 0x1f56: 0xfe99, 0x1f57: 0xfeb9, + 0x1f58: 0xfed9, 0x1f59: 0xfef9, 0x1f5a: 0xff19, 0x1f5b: 0xff39, 0x1f5c: 0xff59, 0x1f5d: 0x979d, + 0x1f5e: 0x0040, 0x1f5f: 0x0040, 0x1f60: 0x0040, 0x1f61: 0x0040, 0x1f62: 0x0040, 0x1f63: 0x0040, + 0x1f64: 0x0040, 0x1f65: 0x0040, 0x1f66: 0x0040, 0x1f67: 0x0040, 0x1f68: 0x0040, 0x1f69: 0x0040, + 0x1f6a: 0x0040, 0x1f6b: 0x0040, 0x1f6c: 0x0040, 0x1f6d: 0x0040, 0x1f6e: 0x0040, 0x1f6f: 0x0040, + 0x1f70: 0x0040, 0x1f71: 0x0040, 0x1f72: 0x0040, 0x1f73: 0x0040, 0x1f74: 0x0040, 0x1f75: 0x0040, + 0x1f76: 0x0040, 0x1f77: 0x0040, 0x1f78: 0x0040, 0x1f79: 0x0040, 0x1f7a: 0x0040, 0x1f7b: 0x0040, + 0x1f7c: 0x0040, 0x1f7d: 0x0040, 0x1f7e: 0x0040, 0x1f7f: 0x0040, +} + +// idnaIndex: 35 blocks, 2240 entries, 4480 bytes +// Block 0 is the zero block. +var idnaIndex = [2240]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7c, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7d, 0xca: 0x7e, 0xcb: 0x07, 0xcc: 0x7f, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x80, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x81, 0xd6: 0x82, 0xd7: 0x83, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x84, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x85, 0xde: 0x86, 0xdf: 0x87, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1c, 0xf1: 0x1d, 0xf2: 0x1d, 0xf3: 0x1f, 0xf4: 0x20, + // Block 0x4, offset 0x100 + 0x120: 0x88, 0x121: 0x89, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x13, 0x126: 0x14, 0x127: 0x15, + 0x128: 0x16, 0x129: 0x17, 0x12a: 0x18, 0x12b: 0x19, 0x12c: 0x1a, 0x12d: 0x1b, 0x12e: 0x1c, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1d, 0x132: 0x1e, 0x133: 0x1f, 0x134: 0x8f, 0x135: 0x20, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x21, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x22, 0x13e: 0x23, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x24, 0x175: 0x25, 0x176: 0x26, 0x177: 0xc3, + 0x178: 0x27, 0x179: 0x27, 0x17a: 0x28, 0x17b: 0x27, 0x17c: 0xc4, 0x17d: 0x29, 0x17e: 0x2a, 0x17f: 0x2b, + // Block 0x6, offset 0x180 + 0x180: 0x2c, 0x181: 0x2d, 0x182: 0x2e, 0x183: 0xc5, 0x184: 0x2f, 0x185: 0x30, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0xca, + 0x190: 0xcb, 0x191: 0x31, 0x192: 0x32, 0x193: 0x33, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcc, 0x1a9: 0xcd, 0x1aa: 0x9b, 0x1ab: 0xce, 0x1ac: 0x9b, 0x1ad: 0xcf, 0x1ae: 0xd0, 0x1af: 0xd1, + 0x1b0: 0xd2, 0x1b1: 0x34, 0x1b2: 0x27, 0x1b3: 0x35, 0x1b4: 0xd3, 0x1b5: 0xd4, 0x1b6: 0xd5, 0x1b7: 0xd6, + 0x1b8: 0xd7, 0x1b9: 0xd8, 0x1ba: 0xd9, 0x1bb: 0xda, 0x1bc: 0xdb, 0x1bd: 0xdc, 0x1be: 0xdd, 0x1bf: 0x36, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x37, 0x1c1: 0xde, 0x1c2: 0xdf, 0x1c3: 0xe0, 0x1c4: 0xe1, 0x1c5: 0x38, 0x1c6: 0x39, 0x1c7: 0xe2, + 0x1c8: 0xe3, 0x1c9: 0x3a, 0x1ca: 0x3b, 0x1cb: 0x3c, 0x1cc: 0x3d, 0x1cd: 0x3e, 0x1ce: 0x3f, 0x1cf: 0x40, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe4, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe5, 0x2d3: 0xe6, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe7, 0x2d9: 0x41, 0x2da: 0x42, 0x2db: 0xe8, 0x2dc: 0x43, 0x2dd: 0x44, 0x2de: 0x45, 0x2df: 0xe9, + 0x2e0: 0xea, 0x2e1: 0xeb, 0x2e2: 0xec, 0x2e3: 0xed, 0x2e4: 0xee, 0x2e5: 0xef, 0x2e6: 0xf0, 0x2e7: 0xf1, + 0x2e8: 0xf2, 0x2e9: 0xf3, 0x2ea: 0xf4, 0x2eb: 0xf5, 0x2ec: 0xf6, 0x2ed: 0xf7, 0x2ee: 0xf8, 0x2ef: 0xf9, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xfa, 0x31f: 0xfb, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfc, 0x3a5: 0xfd, 0x3a6: 0xfe, 0x3a7: 0xff, + 0x3a8: 0x46, 0x3a9: 0x100, 0x3aa: 0x101, 0x3ab: 0x47, 0x3ac: 0x48, 0x3ad: 0x49, 0x3ae: 0x4a, 0x3af: 0x4b, + 0x3b0: 0x102, 0x3b1: 0x4c, 0x3b2: 0x4d, 0x3b3: 0x4e, 0x3b4: 0x4f, 0x3b5: 0x50, 0x3b6: 0x103, 0x3b7: 0x51, + 0x3b8: 0x52, 0x3b9: 0x53, 0x3ba: 0x54, 0x3bb: 0x55, 0x3bc: 0x56, 0x3bd: 0x57, 0x3be: 0x58, 0x3bf: 0x59, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x104, 0x3c1: 0x105, 0x3c2: 0x9f, 0x3c3: 0x106, 0x3c4: 0x107, 0x3c5: 0x9b, 0x3c6: 0x108, 0x3c7: 0x109, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x10a, 0x3cb: 0x10b, 0x3cc: 0x10c, 0x3cd: 0x10d, 0x3ce: 0x10e, 0x3cf: 0x10f, + 0x3d0: 0x110, 0x3d1: 0x9f, 0x3d2: 0x111, 0x3d3: 0x112, 0x3d4: 0x113, 0x3d5: 0x114, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x115, 0x3dd: 0x116, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x117, 0x3e1: 0x118, 0x3e2: 0x119, 0x3e3: 0x11a, 0x3e4: 0x11b, 0x3e5: 0xba, 0x3e6: 0x11c, 0x3e7: 0x11d, + 0x3e8: 0x11e, 0x3e9: 0x11f, 0x3ea: 0x120, 0x3eb: 0x5a, 0x3ec: 0x121, 0x3ed: 0x122, 0x3ee: 0x5b, 0x3ef: 0xba, + 0x3f0: 0x123, 0x3f1: 0x124, 0x3f2: 0x125, 0x3f3: 0x126, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x127, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba, + // Block 0x10, offset 0x400 + 0x400: 0x128, 0x401: 0x129, 0x402: 0x12a, 0x403: 0x12b, 0x404: 0x12c, 0x405: 0x12d, 0x406: 0x12e, 0x407: 0x12f, + 0x408: 0x130, 0x409: 0xba, 0x40a: 0x131, 0x40b: 0x132, 0x40c: 0x5c, 0x40d: 0x5d, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x133, 0x411: 0x134, 0x412: 0x135, 0x413: 0x136, 0x414: 0xba, 0x415: 0xba, 0x416: 0x137, 0x417: 0x138, + 0x418: 0x139, 0x419: 0x13a, 0x41a: 0x13b, 0x41b: 0x13c, 0x41c: 0x13d, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0xba, 0x421: 0xba, 0x422: 0x13e, 0x423: 0x13f, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba, + 0x428: 0xba, 0x429: 0xba, 0x42a: 0xba, 0x42b: 0x140, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x141, 0x431: 0x142, 0x432: 0x143, 0x433: 0xba, 0x434: 0xba, 0x435: 0xba, 0x436: 0xba, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x144, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x145, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x146, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x147, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x148, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x140, 0x529: 0x149, 0x52a: 0xba, 0x52b: 0x14a, 0x52c: 0x14b, 0x52d: 0x14c, 0x52e: 0x14d, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x14e, 0x53e: 0x14f, 0x53f: 0x150, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x151, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x152, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x153, 0x581: 0xba, 0x582: 0xba, 0x583: 0xba, 0x584: 0xba, 0x585: 0xba, 0x586: 0xba, 0x587: 0xba, + 0x588: 0xba, 0x589: 0xba, 0x58a: 0xba, 0x58b: 0xba, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x154, 0x5b2: 0x155, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x156, 0x5c4: 0x157, 0x5c5: 0x158, 0x5c6: 0x159, 0x5c7: 0x15a, + 0x5c8: 0x9b, 0x5c9: 0x15b, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x15c, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5e, 0x5d1: 0x5f, 0x5d2: 0x60, 0x5d3: 0x61, 0x5d4: 0x62, 0x5d5: 0x63, 0x5d6: 0x64, 0x5d7: 0x65, + 0x5d8: 0x66, 0x5d9: 0x67, 0x5da: 0x68, 0x5db: 0x69, 0x5dc: 0x6a, 0x5dd: 0x6b, 0x5de: 0x6c, 0x5df: 0x6d, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x15d, 0x5e9: 0x15e, 0x5ea: 0x15f, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x160, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x123, 0x621: 0x123, 0x622: 0x123, 0x623: 0x161, 0x624: 0x6e, 0x625: 0x162, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x6f, 0x639: 0x70, 0x63a: 0x71, 0x63b: 0x163, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x164, 0x641: 0x9b, 0x642: 0x165, 0x643: 0x166, 0x644: 0x72, 0x645: 0x73, 0x646: 0x167, 0x647: 0x168, + 0x648: 0x74, 0x649: 0x169, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x16a, 0x65c: 0x9b, 0x65d: 0x16b, 0x65e: 0x9b, 0x65f: 0x16c, + 0x660: 0x16d, 0x661: 0x16e, 0x662: 0x16f, 0x663: 0xba, 0x664: 0x170, 0x665: 0x171, 0x666: 0x172, 0x667: 0x173, + 0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x174, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x175, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x176, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x177, 0x73b: 0xba, 0x73c: 0xba, 0x73d: 0xba, 0x73e: 0xba, 0x73f: 0xba, + // Block 0x1d, offset 0x740 + 0x740: 0xba, 0x741: 0xba, 0x742: 0xba, 0x743: 0xba, 0x744: 0xba, 0x745: 0xba, 0x746: 0xba, 0x747: 0xba, + 0x748: 0xba, 0x749: 0xba, 0x74a: 0xba, 0x74b: 0xba, 0x74c: 0xba, 0x74d: 0xba, 0x74e: 0xba, 0x74f: 0xba, + 0x750: 0xba, 0x751: 0xba, 0x752: 0xba, 0x753: 0xba, 0x754: 0xba, 0x755: 0xba, 0x756: 0xba, 0x757: 0xba, + 0x758: 0xba, 0x759: 0xba, 0x75a: 0xba, 0x75b: 0xba, 0x75c: 0xba, 0x75d: 0xba, 0x75e: 0xba, 0x75f: 0xba, + 0x760: 0x75, 0x761: 0x76, 0x762: 0x77, 0x763: 0x178, 0x764: 0x78, 0x765: 0x79, 0x766: 0x179, 0x767: 0x7a, + 0x768: 0x7b, 0x769: 0xba, 0x76a: 0xba, 0x76b: 0xba, 0x76c: 0xba, 0x76d: 0xba, 0x76e: 0xba, 0x76f: 0xba, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x790: 0x0d, 0x791: 0x0e, 0x792: 0x0f, 0x793: 0x10, 0x794: 0x11, 0x795: 0x0b, 0x796: 0x12, 0x797: 0x07, + 0x798: 0x13, 0x799: 0x0b, 0x79a: 0x0b, 0x79b: 0x14, 0x79c: 0x0b, 0x79d: 0x15, 0x79e: 0x16, 0x79f: 0x17, + 0x7a0: 0x07, 0x7a1: 0x07, 0x7a2: 0x07, 0x7a3: 0x07, 0x7a4: 0x07, 0x7a5: 0x07, 0x7a6: 0x07, 0x7a7: 0x07, + 0x7a8: 0x07, 0x7a9: 0x07, 0x7aa: 0x18, 0x7ab: 0x19, 0x7ac: 0x1a, 0x7ad: 0x0b, 0x7ae: 0x0b, 0x7af: 0x1b, + 0x7b0: 0x0b, 0x7b1: 0x0b, 0x7b2: 0x0b, 0x7b3: 0x0b, 0x7b4: 0x0b, 0x7b5: 0x0b, 0x7b6: 0x0b, 0x7b7: 0x0b, + 0x7b8: 0x0b, 0x7b9: 0x0b, 0x7ba: 0x0b, 0x7bb: 0x0b, 0x7bc: 0x0b, 0x7bd: 0x0b, 0x7be: 0x0b, 0x7bf: 0x0b, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0b, 0x7c1: 0x0b, 0x7c2: 0x0b, 0x7c3: 0x0b, 0x7c4: 0x0b, 0x7c5: 0x0b, 0x7c6: 0x0b, 0x7c7: 0x0b, + 0x7c8: 0x0b, 0x7c9: 0x0b, 0x7ca: 0x0b, 0x7cb: 0x0b, 0x7cc: 0x0b, 0x7cd: 0x0b, 0x7ce: 0x0b, 0x7cf: 0x0b, + 0x7d0: 0x0b, 0x7d1: 0x0b, 0x7d2: 0x0b, 0x7d3: 0x0b, 0x7d4: 0x0b, 0x7d5: 0x0b, 0x7d6: 0x0b, 0x7d7: 0x0b, + 0x7d8: 0x0b, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x0b, 0x7dc: 0x0b, 0x7dd: 0x0b, 0x7de: 0x0b, 0x7df: 0x0b, + 0x7e0: 0x0b, 0x7e1: 0x0b, 0x7e2: 0x0b, 0x7e3: 0x0b, 0x7e4: 0x0b, 0x7e5: 0x0b, 0x7e6: 0x0b, 0x7e7: 0x0b, + 0x7e8: 0x0b, 0x7e9: 0x0b, 0x7ea: 0x0b, 0x7eb: 0x0b, 0x7ec: 0x0b, 0x7ed: 0x0b, 0x7ee: 0x0b, 0x7ef: 0x0b, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x17a, 0x801: 0x17b, 0x802: 0xba, 0x803: 0xba, 0x804: 0x17c, 0x805: 0x17c, 0x806: 0x17c, 0x807: 0x17d, + 0x808: 0xba, 0x809: 0xba, 0x80a: 0xba, 0x80b: 0xba, 0x80c: 0xba, 0x80d: 0xba, 0x80e: 0xba, 0x80f: 0xba, + 0x810: 0xba, 0x811: 0xba, 0x812: 0xba, 0x813: 0xba, 0x814: 0xba, 0x815: 0xba, 0x816: 0xba, 0x817: 0xba, + 0x818: 0xba, 0x819: 0xba, 0x81a: 0xba, 0x81b: 0xba, 0x81c: 0xba, 0x81d: 0xba, 0x81e: 0xba, 0x81f: 0xba, + 0x820: 0xba, 0x821: 0xba, 0x822: 0xba, 0x823: 0xba, 0x824: 0xba, 0x825: 0xba, 0x826: 0xba, 0x827: 0xba, + 0x828: 0xba, 0x829: 0xba, 0x82a: 0xba, 0x82b: 0xba, 0x82c: 0xba, 0x82d: 0xba, 0x82e: 0xba, 0x82f: 0xba, + 0x830: 0xba, 0x831: 0xba, 0x832: 0xba, 0x833: 0xba, 0x834: 0xba, 0x835: 0xba, 0x836: 0xba, 0x837: 0xba, + 0x838: 0xba, 0x839: 0xba, 0x83a: 0xba, 0x83b: 0xba, 0x83c: 0xba, 0x83d: 0xba, 0x83e: 0xba, 0x83f: 0xba, + // Block 0x21, offset 0x840 + 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b, + 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b, + 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b, + 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b, + 0x860: 0x1e, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b, + 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b, + 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b, + 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, +} + +// idnaSparseOffset: 258 entries, 516 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x93, 0x98, 0xa1, 0xb1, 0xbf, 0xcc, 0xd8, 0xe9, 0xf3, 0xfa, 0x107, 0x118, 0x11f, 0x12a, 0x139, 0x147, 0x151, 0x153, 0x158, 0x15b, 0x15e, 0x160, 0x16c, 0x177, 0x17f, 0x185, 0x18b, 0x190, 0x195, 0x198, 0x19c, 0x1a2, 0x1a7, 0x1b3, 0x1bd, 0x1c3, 0x1d4, 0x1de, 0x1e1, 0x1e9, 0x1ec, 0x1f9, 0x201, 0x205, 0x20c, 0x214, 0x224, 0x230, 0x232, 0x23c, 0x248, 0x254, 0x260, 0x268, 0x26d, 0x277, 0x288, 0x28c, 0x297, 0x29b, 0x2a4, 0x2ac, 0x2b2, 0x2b7, 0x2ba, 0x2bd, 0x2c1, 0x2c7, 0x2cb, 0x2cf, 0x2d5, 0x2dc, 0x2e2, 0x2ea, 0x2f1, 0x2fc, 0x306, 0x30a, 0x30d, 0x313, 0x317, 0x319, 0x31c, 0x31e, 0x321, 0x32b, 0x32e, 0x33d, 0x341, 0x346, 0x349, 0x34d, 0x352, 0x357, 0x35d, 0x363, 0x372, 0x378, 0x37c, 0x38b, 0x390, 0x398, 0x3a2, 0x3ad, 0x3b5, 0x3c6, 0x3cf, 0x3df, 0x3ec, 0x3f6, 0x3fb, 0x408, 0x40c, 0x411, 0x413, 0x417, 0x419, 0x41d, 0x426, 0x42c, 0x430, 0x440, 0x44a, 0x44f, 0x452, 0x458, 0x45f, 0x464, 0x468, 0x46e, 0x473, 0x47c, 0x481, 0x487, 0x48e, 0x495, 0x49c, 0x4a0, 0x4a5, 0x4a8, 0x4ad, 0x4b9, 0x4bf, 0x4c4, 0x4cb, 0x4d3, 0x4d8, 0x4dc, 0x4ec, 0x4f3, 0x4f7, 0x4fb, 0x502, 0x504, 0x507, 0x50a, 0x50e, 0x512, 0x518, 0x521, 0x52d, 0x534, 0x53d, 0x545, 0x54c, 0x55a, 0x567, 0x574, 0x57d, 0x581, 0x58f, 0x597, 0x5a2, 0x5ab, 0x5b1, 0x5b9, 0x5c2, 0x5cc, 0x5cf, 0x5db, 0x5de, 0x5e3, 0x5e6, 0x5f0, 0x5f9, 0x605, 0x608, 0x60d, 0x610, 0x613, 0x616, 0x61d, 0x624, 0x628, 0x633, 0x636, 0x63c, 0x641, 0x645, 0x648, 0x64b, 0x64e, 0x653, 0x65d, 0x660, 0x664, 0x673, 0x67f, 0x683, 0x688, 0x68d, 0x691, 0x696, 0x69f, 0x6aa, 0x6b0, 0x6b8, 0x6bc, 0x6c0, 0x6c6, 0x6cc, 0x6d1, 0x6d4, 0x6e2, 0x6e9, 0x6ec, 0x6ef, 0x6f3, 0x6f9, 0x6fe, 0x708, 0x70d, 0x710, 0x713, 0x716, 0x719, 0x71d, 0x720, 0x730, 0x741, 0x746, 0x748, 0x74a} + +// idnaSparseValues: 1869 entries, 7476 bytes +var idnaSparseValues = [1869]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x07}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x6, offset 0x34 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3f + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4b + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4f + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x63 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0xc, offset 0x6b + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x77 + {value: 0x0000, lo: 0x0d}, + {value: 0x0c08, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0x85}, + {value: 0x0c08, lo: 0x86, hi: 0x87}, + {value: 0x0a08, lo: 0x88, hi: 0x88}, + {value: 0x0c08, lo: 0x89, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0x93}, + {value: 0x0c08, lo: 0x94, hi: 0x94}, + {value: 0x0a08, lo: 0x95, hi: 0x95}, + {value: 0x0808, lo: 0x96, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xe, offset 0x85 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xf, offset 0x93 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0x10, offset 0x98 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x11, offset 0xa1 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x12, offset 0xb1 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbf + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xcc + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x15, offset 0xd8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x16, offset 0xe9 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x17, offset 0xf3 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x18, offset 0xfa + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x19, offset 0x107 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x1a, offset 0x118 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1b, offset 0x11f + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0x12a + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1d, offset 0x139 + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1e, offset 0x147 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1f, offset 0x151 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x20, offset 0x153 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x21, offset 0x158 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x22, offset 0x15b + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x23, offset 0x15e + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x24, offset 0x160 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x25, offset 0x16c + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x26, offset 0x177 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x17f + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x28, offset 0x185 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x29, offset 0x18b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2a, offset 0x190 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2b, offset 0x195 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2c, offset 0x198 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2d, offset 0x19c + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2e, offset 0x1a2 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2f, offset 0x1a7 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x30, offset 0x1b3 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x31, offset 0x1bd + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x32, offset 0x1c3 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x33, offset 0x1d4 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x34, offset 0x1de + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x35, offset 0x1e1 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x36, offset 0x1e9 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x37, offset 0x1ec + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x38, offset 0x1f9 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x39, offset 0x201 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x3a, offset 0x205 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3b, offset 0x20c + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3c, offset 0x214 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x224 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x230 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3f, offset 0x232 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x23c + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x41, offset 0x248 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x42, offset 0x254 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x43, offset 0x260 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x44, offset 0x268 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x45, offset 0x26d + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x46, offset 0x277 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x47, offset 0x288 + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x48, offset 0x28c + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x49, offset 0x297 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x4a, offset 0x29b + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4b, offset 0x2a4 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4c, offset 0x2ac + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4d, offset 0x2b2 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4e, offset 0x2b7 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x4f, offset 0x2ba + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x50, offset 0x2bd + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x51, offset 0x2c1 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x52, offset 0x2c7 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x53, offset 0x2cb + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x54, offset 0x2cf + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0018, lo: 0xbd, hi: 0xbf}, + // Block 0x55, offset 0x2d5 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xab}, + {value: 0x0018, lo: 0xac, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2dc + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x57, offset 0x2e2 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x58, offset 0x2ea + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x59, offset 0x2f1 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x5a, offset 0x2fc + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x5b, offset 0x306 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5c, offset 0x30a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0xbf}, + // Block 0x5d, offset 0x30d + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5e, offset 0x313 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5f, offset 0x317 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x319 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x61, offset 0x31c + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x62, offset 0x31e + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x63, offset 0x321 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x64, offset 0x32b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x65, offset 0x32e + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x66, offset 0x33d + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x67, offset 0x341 + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x68, offset 0x346 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x69, offset 0x349 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x6a, offset 0x34d + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x6b, offset 0x352 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6c, offset 0x357 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6d, offset 0x35d + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6e, offset 0x363 + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6f, offset 0x372 + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x70, offset 0x378 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x71, offset 0x37c + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x72, offset 0x38b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x73, offset 0x390 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x74, offset 0x398 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x75, offset 0x3a2 + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x3ad + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x77, offset 0x3b5 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x78, offset 0x3c6 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x79, offset 0x3cf + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x7a, offset 0x3df + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3ec + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7c, offset 0x3f6 + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7d, offset 0x3fb + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7e, offset 0x408 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7f, offset 0x40c + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x80, offset 0x411 + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x413 + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x82, offset 0x417 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x83, offset 0x419 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x84, offset 0x41d + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x85, offset 0x426 + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x86, offset 0x42c + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x87, offset 0x430 + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x88, offset 0x440 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x89, offset 0x44a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x8a, offset 0x44f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x8b, offset 0x452 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8c, offset 0x458 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8d, offset 0x45f + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8e, offset 0x464 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8f, offset 0x468 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x90, offset 0x46e + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x91, offset 0x473 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x92, offset 0x47c + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x93, offset 0x481 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x94, offset 0x487 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x95, offset 0x48e + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x96, offset 0x495 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x97, offset 0x49c + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x98, offset 0x4a0 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x99, offset 0x4a5 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x9a, offset 0x4a8 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x9b, offset 0x4ad + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9c, offset 0x4b9 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9d, offset 0x4bf + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9e, offset 0x4c4 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9f, offset 0x4cb + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0xa0, offset 0x4d3 + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0xa1, offset 0x4d8 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa2, offset 0x4dc + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa3, offset 0x4ec + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa4, offset 0x4f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa5, offset 0x4f7 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa6, offset 0x4fb + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa7, offset 0x502 + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa8, offset 0x504 + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa9, offset 0x507 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xaa, offset 0x50a + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xab, offset 0x50e + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xac, offset 0x512 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xad, offset 0x518 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xae, offset 0x521 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0340, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xaf, offset 0x52d + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb0, offset 0x534 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xb1, offset 0x53d + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb2, offset 0x545 + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb3, offset 0x54c + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb4, offset 0x55a + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb5, offset 0x567 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb6, offset 0x574 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb7, offset 0x57d + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb8, offset 0x581 + {value: 0x0000, lo: 0x0d}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xb9, offset 0x58f + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xba, offset 0x597 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xbb, offset 0x5a2 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbc, offset 0x5ab + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbd, offset 0x5b1 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbe, offset 0x5b9 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xbf, offset 0x5c2 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xc0, offset 0x5cc + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xc1, offset 0x5cf + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc2, offset 0x5db + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc3, offset 0x5de + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc4, offset 0x5e3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xc5, offset 0x5e6 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xc6, offset 0x5f0 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xc7, offset 0x5f9 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xc8, offset 0x605 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xc9, offset 0x608 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xca, offset 0x60d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xcb, offset 0x610 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xcc, offset 0x613 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xcd, offset 0x616 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xce, offset 0x61d + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xcf, offset 0x624 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xd0, offset 0x628 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xd1, offset 0x633 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xd2, offset 0x636 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd3, offset 0x63c + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xd4, offset 0x641 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0xd5, offset 0x645 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xd6, offset 0x648 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xd7, offset 0x64b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0xbf}, + // Block 0xd8, offset 0x64e + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xd9, offset 0x653 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xda, offset 0x65d + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xdb, offset 0x660 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xdc, offset 0x664 + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xdd, offset 0x673 + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xde, offset 0x67f + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xdf, offset 0x683 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xe0, offset 0x688 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe1, offset 0x68d + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xe2, offset 0x691 + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xe3, offset 0x696 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xe4, offset 0x69f + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xe5, offset 0x6aa + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xe6, offset 0x6b0 + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xe7, offset 0x6b8 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe8, offset 0x6bc + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xe9, offset 0x6c0 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xea, offset 0x6c6 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xeb, offset 0x6cc + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xec, offset 0x6d1 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xed, offset 0x6d4 + {value: 0x0000, lo: 0x0d}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xbf}, + // Block 0xee, offset 0x6e2 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xef, offset 0x6e9 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xf0, offset 0x6ec + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0xbf}, + // Block 0xf1, offset 0x6ef + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0xf2, offset 0x6f3 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0xf3, offset 0x6f9 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0xf4, offset 0x6fe + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb2}, + {value: 0x0018, lo: 0xb3, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xf5, offset 0x708 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xf6, offset 0x70d + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xbf}, + // Block 0xf7, offset 0x710 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0xbf}, + // Block 0xf8, offset 0x713 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xf9, offset 0x716 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xfa, offset 0x719 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xfb, offset 0x71d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xfc, offset 0x720 + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0xfd, offset 0x730 + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0xfe, offset 0x741 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0xff, offset 0x746 + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x100, offset 0x748 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x101, offset 0x74a + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 41662 bytes (40KiB); checksum: 355A58A4 diff --git a/vendor/golang.org/x/net/idna/trie.go b/vendor/golang.org/x/net/idna/trie.go new file mode 100644 index 000000000..c4ef847e7 --- /dev/null +++ b/vendor/golang.org/x/net/idna/trie.go @@ -0,0 +1,72 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package idna + +// appendMapping appends the mapping for the respective rune. isMapped must be +// true. A mapping is a categorization of a rune as defined in UTS #46. +func (c info) appendMapping(b []byte, s string) []byte { + index := int(c >> indexShift) + if c&xorBit == 0 { + s := mappings[index:] + return append(b, s[1:s[0]+1]...) + } + b = append(b, s...) + if c&inlineXOR == inlineXOR { + // TODO: support and handle two-byte inline masks + b[len(b)-1] ^= byte(index) + } else { + for p := len(b) - int(xorData[index]); p < len(b); p++ { + index++ + b[p] ^= xorData[index] + } + } + return b +} + +// Sparse block handling code. + +type valueRange struct { + value uint16 // header: value:stride + lo, hi byte // header: lo:n +} + +type sparseBlocks struct { + values []valueRange + offset []uint16 +} + +var idnaSparse = sparseBlocks{ + values: idnaSparseValues[:], + offset: idnaSparseOffset[:], +} + +// Don't use newIdnaTrie to avoid unconditional linking in of the table. +var trie = &idnaTrie{} + +// lookup determines the type of block n and looks up the value for b. +// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block +// is a list of ranges with an accompanying value. Given a matching range r, +// the value for b is by r.value + (b - r.lo) * stride. +func (t *sparseBlocks) lookup(n uint32, b byte) uint16 { + offset := t.offset[n] + header := t.values[offset] + lo := offset + 1 + hi := lo + uint16(header.lo) + for lo < hi { + m := lo + (hi-lo)/2 + r := t.values[m] + if r.lo <= b && b <= r.hi { + return r.value + uint16(b-r.lo)*header.value + } + if b < r.lo { + hi = m + } else { + lo = m + 1 + } + } + return 0 +} diff --git a/vendor/golang.org/x/net/idna/trieval.go b/vendor/golang.org/x/net/idna/trieval.go new file mode 100644 index 000000000..7a8cf889b --- /dev/null +++ b/vendor/golang.org/x/net/idna/trieval.go @@ -0,0 +1,119 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package idna + +// This file contains definitions for interpreting the trie value of the idna +// trie generated by "go run gen*.go". It is shared by both the generator +// program and the resultant package. Sharing is achieved by the generator +// copying gen_trieval.go to trieval.go and changing what's above this comment. + +// info holds information from the IDNA mapping table for a single rune. It is +// the value returned by a trie lookup. In most cases, all information fits in +// a 16-bit value. For mappings, this value may contain an index into a slice +// with the mapped string. Such mappings can consist of the actual mapped value +// or an XOR pattern to be applied to the bytes of the UTF8 encoding of the +// input rune. This technique is used by the cases packages and reduces the +// table size significantly. +// +// The per-rune values have the following format: +// +// if mapped { +// if inlinedXOR { +// 15..13 inline XOR marker +// 12..11 unused +// 10..3 inline XOR mask +// } else { +// 15..3 index into xor or mapping table +// } +// } else { +// 15..14 unused +// 13 mayNeedNorm +// 12..11 attributes +// 10..8 joining type +// 7..3 category type +// } +// 2 use xor pattern +// 1..0 mapped category +// +// See the definitions below for a more detailed description of the various +// bits. +type info uint16 + +const ( + catSmallMask = 0x3 + catBigMask = 0xF8 + indexShift = 3 + xorBit = 0x4 // interpret the index as an xor pattern + inlineXOR = 0xE000 // These bits are set if the XOR pattern is inlined. + + joinShift = 8 + joinMask = 0x07 + + // Attributes + attributesMask = 0x1800 + viramaModifier = 0x1800 + modifier = 0x1000 + rtl = 0x0800 + + mayNeedNorm = 0x2000 +) + +// A category corresponds to a category defined in the IDNA mapping table. +type category uint16 + +const ( + unknown category = 0 // not currently defined in unicode. + mapped category = 1 + disallowedSTD3Mapped category = 2 + deviation category = 3 +) + +const ( + valid category = 0x08 + validNV8 category = 0x18 + validXV8 category = 0x28 + disallowed category = 0x40 + disallowedSTD3Valid category = 0x80 + ignored category = 0xC0 +) + +// join types and additional rune information +const ( + joiningL = (iota + 1) + joiningD + joiningT + joiningR + + //the following types are derived during processing + joinZWJ + joinZWNJ + joinVirama + numJoinTypes +) + +func (c info) isMapped() bool { + return c&0x3 != 0 +} + +func (c info) category() category { + small := c & catSmallMask + if small != 0 { + return category(small) + } + return category(c & catBigMask) +} + +func (c info) joinType() info { + if c.isMapped() { + return 0 + } + return (c >> joinShift) & joinMask +} + +func (c info) isModifier() bool { + return c&(modifier|catSmallMask) == modifier +} + +func (c info) isViramaModifier() bool { + return c&(attributesMask|catSmallMask) == viramaModifier +} diff --git a/vendor/golang.org/x/oauth2/.travis.yml b/vendor/golang.org/x/oauth2/.travis.yml new file mode 100644 index 000000000..fa139db22 --- /dev/null +++ b/vendor/golang.org/x/oauth2/.travis.yml @@ -0,0 +1,13 @@ +language: go + +go: + - tip + +install: + - export GOPATH="$HOME/gopath" + - mkdir -p "$GOPATH/src/golang.org/x" + - mv "$TRAVIS_BUILD_DIR" "$GOPATH/src/golang.org/x/oauth2" + - go get -v -t -d golang.org/x/oauth2/... + +script: + - go test -v golang.org/x/oauth2/... diff --git a/vendor/golang.org/x/oauth2/AUTHORS b/vendor/golang.org/x/oauth2/AUTHORS new file mode 100644 index 000000000..15167cd74 --- /dev/null +++ b/vendor/golang.org/x/oauth2/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/oauth2/CONTRIBUTING.md b/vendor/golang.org/x/oauth2/CONTRIBUTING.md new file mode 100644 index 000000000..dfbed62cf --- /dev/null +++ b/vendor/golang.org/x/oauth2/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# 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://github.com/golang/oauth2/issues), 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. + +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/oauth2/CONTRIBUTORS b/vendor/golang.org/x/oauth2/CONTRIBUTORS new file mode 100644 index 000000000..1c4577e96 --- /dev/null +++ b/vendor/golang.org/x/oauth2/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/oauth2/LICENSE b/vendor/golang.org/x/oauth2/LICENSE new file mode 100644 index 000000000..6a66aea5e --- /dev/null +++ b/vendor/golang.org/x/oauth2/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/golang.org/x/oauth2/README.md b/vendor/golang.org/x/oauth2/README.md new file mode 100644 index 000000000..1473e1296 --- /dev/null +++ b/vendor/golang.org/x/oauth2/README.md @@ -0,0 +1,36 @@ +# OAuth2 for Go + +[![Go Reference](https://pkg.go.dev/badge/golang.org/x/oauth2.svg)](https://pkg.go.dev/golang.org/x/oauth2) +[![Build Status](https://travis-ci.org/golang/oauth2.svg?branch=master)](https://travis-ci.org/golang/oauth2) + +oauth2 package contains a client implementation for OAuth 2.0 spec. + +## Installation + +~~~~ +go get golang.org/x/oauth2 +~~~~ + +Or you can manually git clone the repository to +`$(go env GOPATH)/src/golang.org/x/oauth2`. + +See pkg.go.dev for further documentation and examples. + +* [pkg.go.dev/golang.org/x/oauth2](https://pkg.go.dev/golang.org/x/oauth2) +* [pkg.go.dev/golang.org/x/oauth2/google](https://pkg.go.dev/golang.org/x/oauth2/google) + +## Policy for new packages + +We no longer accept new provider-specific packages in this repo if all +they do is add a single endpoint variable. If you just want to add a +single endpoint, add it to the +[pkg.go.dev/golang.org/x/oauth2/endpoints](https://pkg.go.dev/golang.org/x/oauth2/endpoints) +package. + +## Report Issues / Send Patches + +This repository uses Gerrit for code changes. To learn how to submit changes to +this repository, see https://golang.org/doc/contribute.html. + +The main issue tracker for the oauth2 repository is located at +https://github.com/golang/oauth2/issues. diff --git a/vendor/golang.org/x/oauth2/go.mod b/vendor/golang.org/x/oauth2/go.mod new file mode 100644 index 000000000..2b13f0b34 --- /dev/null +++ b/vendor/golang.org/x/oauth2/go.mod @@ -0,0 +1,9 @@ +module golang.org/x/oauth2 + +go 1.11 + +require ( + cloud.google.com/go v0.65.0 + golang.org/x/net v0.0.0-20200822124328-c89045814202 + google.golang.org/appengine v1.6.6 +) diff --git a/vendor/golang.org/x/oauth2/go.sum b/vendor/golang.org/x/oauth2/go.sum new file mode 100644 index 000000000..eab5833c4 --- /dev/null +++ b/vendor/golang.org/x/oauth2/go.sum @@ -0,0 +1,361 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0 h1:Dg9iHVQfrhq82rUNu9ZxUDrJLaxFUe/HlCVaLyRruq8= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/vendor/golang.org/x/oauth2/internal/client_appengine.go b/vendor/golang.org/x/oauth2/internal/client_appengine.go new file mode 100644 index 000000000..e1755d1d9 --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/client_appengine.go @@ -0,0 +1,14 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build appengine +// +build appengine + +package internal + +import "google.golang.org/appengine/urlfetch" + +func init() { + appengineClientHook = urlfetch.Client +} diff --git a/vendor/golang.org/x/oauth2/internal/doc.go b/vendor/golang.org/x/oauth2/internal/doc.go new file mode 100644 index 000000000..03265e888 --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/doc.go @@ -0,0 +1,6 @@ +// 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 internal contains support packages for oauth2 package. +package internal diff --git a/vendor/golang.org/x/oauth2/internal/oauth2.go b/vendor/golang.org/x/oauth2/internal/oauth2.go new file mode 100644 index 000000000..c0ab196cf --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/oauth2.go @@ -0,0 +1,37 @@ +// 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 internal + +import ( + "crypto/rsa" + "crypto/x509" + "encoding/pem" + "errors" + "fmt" +) + +// ParseKey converts the binary contents of a private key file +// to an *rsa.PrivateKey. It detects whether the private key is in a +// PEM container or not. If so, it extracts the the private key +// from PEM container before conversion. It only supports PEM +// containers with no passphrase. +func ParseKey(key []byte) (*rsa.PrivateKey, error) { + block, _ := pem.Decode(key) + if block != nil { + key = block.Bytes + } + parsedKey, err := x509.ParsePKCS8PrivateKey(key) + if err != nil { + parsedKey, err = x509.ParsePKCS1PrivateKey(key) + if err != nil { + return nil, fmt.Errorf("private key should be a PEM or plain PKCS1 or PKCS8; parse error: %v", err) + } + } + parsed, ok := parsedKey.(*rsa.PrivateKey) + if !ok { + return nil, errors.New("private key is invalid") + } + return parsed, nil +} diff --git a/vendor/golang.org/x/oauth2/internal/token.go b/vendor/golang.org/x/oauth2/internal/token.go new file mode 100644 index 000000000..355c38696 --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/token.go @@ -0,0 +1,294 @@ +// 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 internal + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "io" + "io/ioutil" + "math" + "mime" + "net/http" + "net/url" + "strconv" + "strings" + "sync" + "time" + + "golang.org/x/net/context/ctxhttp" +) + +// Token represents the credentials used to authorize +// the requests to access protected resources on the OAuth 2.0 +// provider's backend. +// +// This type is a mirror of oauth2.Token and exists to break +// an otherwise-circular dependency. Other internal packages +// should convert this Token into an oauth2.Token before use. +type Token struct { + // AccessToken is the token that authorizes and authenticates + // the requests. + AccessToken string + + // TokenType is the type of token. + // The Type method returns either this or "Bearer", the default. + TokenType string + + // RefreshToken is a token that's used by the application + // (as opposed to the user) to refresh the access token + // if it expires. + RefreshToken string + + // Expiry is the optional expiration time of the access token. + // + // If zero, TokenSource implementations will reuse the same + // token forever and RefreshToken or equivalent + // mechanisms for that TokenSource will not be used. + Expiry time.Time + + // Raw optionally contains extra metadata from the server + // when updating a token. + Raw interface{} +} + +// tokenJSON is the struct representing the HTTP response from OAuth2 +// providers returning a token in JSON form. +type tokenJSON struct { + AccessToken string `json:"access_token"` + TokenType string `json:"token_type"` + RefreshToken string `json:"refresh_token"` + ExpiresIn expirationTime `json:"expires_in"` // at least PayPal returns string, while most return number +} + +func (e *tokenJSON) expiry() (t time.Time) { + if v := e.ExpiresIn; v != 0 { + return time.Now().Add(time.Duration(v) * time.Second) + } + return +} + +type expirationTime int32 + +func (e *expirationTime) UnmarshalJSON(b []byte) error { + if len(b) == 0 || string(b) == "null" { + return nil + } + var n json.Number + err := json.Unmarshal(b, &n) + if err != nil { + return err + } + i, err := n.Int64() + if err != nil { + return err + } + if i > math.MaxInt32 { + i = math.MaxInt32 + } + *e = expirationTime(i) + return nil +} + +// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op. +// +// Deprecated: this function no longer does anything. Caller code that +// wants to avoid potential extra HTTP requests made during +// auto-probing of the provider's auth style should set +// Endpoint.AuthStyle. +func RegisterBrokenAuthHeaderProvider(tokenURL string) {} + +// AuthStyle is a copy of the golang.org/x/oauth2 package's AuthStyle type. +type AuthStyle int + +const ( + AuthStyleUnknown AuthStyle = 0 + AuthStyleInParams AuthStyle = 1 + AuthStyleInHeader AuthStyle = 2 +) + +// authStyleCache is the set of tokenURLs we've successfully used via +// RetrieveToken and which style auth we ended up using. +// It's called a cache, but it doesn't (yet?) shrink. It's expected that +// the set of OAuth2 servers a program contacts over time is fixed and +// small. +var authStyleCache struct { + sync.Mutex + m map[string]AuthStyle // keyed by tokenURL +} + +// ResetAuthCache resets the global authentication style cache used +// for AuthStyleUnknown token requests. +func ResetAuthCache() { + authStyleCache.Lock() + defer authStyleCache.Unlock() + authStyleCache.m = nil +} + +// lookupAuthStyle reports which auth style we last used with tokenURL +// when calling RetrieveToken and whether we have ever done so. +func lookupAuthStyle(tokenURL string) (style AuthStyle, ok bool) { + authStyleCache.Lock() + defer authStyleCache.Unlock() + style, ok = authStyleCache.m[tokenURL] + return +} + +// setAuthStyle adds an entry to authStyleCache, documented above. +func setAuthStyle(tokenURL string, v AuthStyle) { + authStyleCache.Lock() + defer authStyleCache.Unlock() + if authStyleCache.m == nil { + authStyleCache.m = make(map[string]AuthStyle) + } + authStyleCache.m[tokenURL] = v +} + +// newTokenRequest returns a new *http.Request to retrieve a new token +// from tokenURL using the provided clientID, clientSecret, and POST +// body parameters. +// +// inParams is whether the clientID & clientSecret should be encoded +// as the POST body. An 'inParams' value of true means to send it in +// the POST body (along with any values in v); false means to send it +// in the Authorization header. +func newTokenRequest(tokenURL, clientID, clientSecret string, v url.Values, authStyle AuthStyle) (*http.Request, error) { + if authStyle == AuthStyleInParams { + v = cloneURLValues(v) + if clientID != "" { + v.Set("client_id", clientID) + } + if clientSecret != "" { + v.Set("client_secret", clientSecret) + } + } + req, err := http.NewRequest("POST", tokenURL, strings.NewReader(v.Encode())) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + if authStyle == AuthStyleInHeader { + req.SetBasicAuth(url.QueryEscape(clientID), url.QueryEscape(clientSecret)) + } + return req, nil +} + +func cloneURLValues(v url.Values) url.Values { + v2 := make(url.Values, len(v)) + for k, vv := range v { + v2[k] = append([]string(nil), vv...) + } + return v2 +} + +func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, v url.Values, authStyle AuthStyle) (*Token, error) { + needsAuthStyleProbe := authStyle == 0 + if needsAuthStyleProbe { + if style, ok := lookupAuthStyle(tokenURL); ok { + authStyle = style + needsAuthStyleProbe = false + } else { + authStyle = AuthStyleInHeader // the first way we'll try + } + } + req, err := newTokenRequest(tokenURL, clientID, clientSecret, v, authStyle) + if err != nil { + return nil, err + } + token, err := doTokenRoundTrip(ctx, req) + if err != nil && needsAuthStyleProbe { + // If we get an error, assume the server wants the + // clientID & clientSecret in a different form. + // See https://code.google.com/p/goauth2/issues/detail?id=31 for background. + // In summary: + // - Reddit only accepts client secret in the Authorization header + // - Dropbox accepts either it in URL param or Auth header, but not both. + // - Google only accepts URL param (not spec compliant?), not Auth header + // - Stripe only accepts client secret in Auth header with Bearer method, not Basic + // + // We used to maintain a big table in this code of all the sites and which way + // they went, but maintaining it didn't scale & got annoying. + // So just try both ways. + authStyle = AuthStyleInParams // the second way we'll try + req, _ = newTokenRequest(tokenURL, clientID, clientSecret, v, authStyle) + token, err = doTokenRoundTrip(ctx, req) + } + if needsAuthStyleProbe && err == nil { + setAuthStyle(tokenURL, authStyle) + } + // Don't overwrite `RefreshToken` with an empty value + // if this was a token refreshing request. + if token != nil && token.RefreshToken == "" { + token.RefreshToken = v.Get("refresh_token") + } + return token, err +} + +func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) { + r, err := ctxhttp.Do(ctx, ContextClient(ctx), req) + if err != nil { + return nil, err + } + body, err := ioutil.ReadAll(io.LimitReader(r.Body, 1<<20)) + r.Body.Close() + if err != nil { + return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err) + } + if code := r.StatusCode; code < 200 || code > 299 { + return nil, &RetrieveError{ + Response: r, + Body: body, + } + } + + var token *Token + content, _, _ := mime.ParseMediaType(r.Header.Get("Content-Type")) + switch content { + case "application/x-www-form-urlencoded", "text/plain": + vals, err := url.ParseQuery(string(body)) + if err != nil { + return nil, err + } + token = &Token{ + AccessToken: vals.Get("access_token"), + TokenType: vals.Get("token_type"), + RefreshToken: vals.Get("refresh_token"), + Raw: vals, + } + e := vals.Get("expires_in") + expires, _ := strconv.Atoi(e) + if expires != 0 { + token.Expiry = time.Now().Add(time.Duration(expires) * time.Second) + } + default: + var tj tokenJSON + if err = json.Unmarshal(body, &tj); err != nil { + return nil, err + } + token = &Token{ + AccessToken: tj.AccessToken, + TokenType: tj.TokenType, + RefreshToken: tj.RefreshToken, + Expiry: tj.expiry(), + Raw: make(map[string]interface{}), + } + json.Unmarshal(body, &token.Raw) // no error checks for optional fields + } + if token.AccessToken == "" { + return nil, errors.New("oauth2: server response missing access_token") + } + return token, nil +} + +type RetrieveError struct { + Response *http.Response + Body []byte +} + +func (r *RetrieveError) Error() string { + return fmt.Sprintf("oauth2: cannot fetch token: %v\nResponse: %s", r.Response.Status, r.Body) +} diff --git a/vendor/golang.org/x/oauth2/internal/transport.go b/vendor/golang.org/x/oauth2/internal/transport.go new file mode 100644 index 000000000..572074a63 --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/transport.go @@ -0,0 +1,33 @@ +// 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 internal + +import ( + "context" + "net/http" +) + +// HTTPClient is the context key to use with golang.org/x/net/context's +// WithValue function to associate an *http.Client value with a context. +var HTTPClient ContextKey + +// ContextKey is just an empty struct. It exists so HTTPClient can be +// an immutable public variable with a unique type. It's immutable +// because nobody else can create a ContextKey, being unexported. +type ContextKey struct{} + +var appengineClientHook func(context.Context) *http.Client + +func ContextClient(ctx context.Context) *http.Client { + if ctx != nil { + if hc, ok := ctx.Value(HTTPClient).(*http.Client); ok { + return hc + } + } + if appengineClientHook != nil { + return appengineClientHook(ctx) + } + return http.DefaultClient +} diff --git a/vendor/golang.org/x/oauth2/oauth2.go b/vendor/golang.org/x/oauth2/oauth2.go new file mode 100644 index 000000000..291df5c83 --- /dev/null +++ b/vendor/golang.org/x/oauth2/oauth2.go @@ -0,0 +1,381 @@ +// 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 oauth2 provides support for making +// OAuth2 authorized and authenticated HTTP requests, +// as specified in RFC 6749. +// It can additionally grant authorization with Bearer JWT. +package oauth2 // import "golang.org/x/oauth2" + +import ( + "bytes" + "context" + "errors" + "net/http" + "net/url" + "strings" + "sync" + + "golang.org/x/oauth2/internal" +) + +// NoContext is the default context you should supply if not using +// your own context.Context (see https://golang.org/x/net/context). +// +// Deprecated: Use context.Background() or context.TODO() instead. +var NoContext = context.TODO() + +// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op. +// +// Deprecated: this function no longer does anything. Caller code that +// wants to avoid potential extra HTTP requests made during +// auto-probing of the provider's auth style should set +// Endpoint.AuthStyle. +func RegisterBrokenAuthHeaderProvider(tokenURL string) {} + +// Config describes a typical 3-legged OAuth2 flow, with both the +// client application information and the server's endpoint URLs. +// For the client credentials 2-legged OAuth2 flow, see the clientcredentials +// package (https://golang.org/x/oauth2/clientcredentials). +type Config struct { + // ClientID is the application's ID. + ClientID string + + // ClientSecret is the application's secret. + ClientSecret string + + // Endpoint contains the resource server's token endpoint + // URLs. These are constants specific to each server and are + // often available via site-specific packages, such as + // google.Endpoint or github.Endpoint. + Endpoint Endpoint + + // RedirectURL is the URL to redirect users going through + // the OAuth flow, after the resource owner's URLs. + RedirectURL string + + // Scope specifies optional requested permissions. + Scopes []string +} + +// A TokenSource is anything that can return a token. +type TokenSource interface { + // Token returns a token or an error. + // Token must be safe for concurrent use by multiple goroutines. + // The returned Token must not be modified. + Token() (*Token, error) +} + +// Endpoint represents an OAuth 2.0 provider's authorization and token +// endpoint URLs. +type Endpoint struct { + AuthURL string + TokenURL string + + // AuthStyle optionally specifies how the endpoint wants the + // client ID & client secret sent. The zero value means to + // auto-detect. + AuthStyle AuthStyle +} + +// AuthStyle represents how requests for tokens are authenticated +// to the server. +type AuthStyle int + +const ( + // AuthStyleAutoDetect means to auto-detect which authentication + // style the provider wants by trying both ways and caching + // the successful way for the future. + AuthStyleAutoDetect AuthStyle = 0 + + // AuthStyleInParams sends the "client_id" and "client_secret" + // in the POST body as application/x-www-form-urlencoded parameters. + AuthStyleInParams AuthStyle = 1 + + // AuthStyleInHeader sends the client_id and client_password + // using HTTP Basic Authorization. This is an optional style + // described in the OAuth2 RFC 6749 section 2.3.1. + AuthStyleInHeader AuthStyle = 2 +) + +var ( + // AccessTypeOnline and AccessTypeOffline are options passed + // to the Options.AuthCodeURL method. They modify the + // "access_type" field that gets sent in the URL returned by + // AuthCodeURL. + // + // Online is the default if neither is specified. If your + // application needs to refresh access tokens when the user + // is not present at the browser, then use offline. This will + // result in your application obtaining a refresh token the + // first time your application exchanges an authorization + // code for a user. + AccessTypeOnline AuthCodeOption = SetAuthURLParam("access_type", "online") + AccessTypeOffline AuthCodeOption = SetAuthURLParam("access_type", "offline") + + // ApprovalForce forces the users to view the consent dialog + // and confirm the permissions request at the URL returned + // from AuthCodeURL, even if they've already done so. + ApprovalForce AuthCodeOption = SetAuthURLParam("prompt", "consent") +) + +// An AuthCodeOption is passed to Config.AuthCodeURL. +type AuthCodeOption interface { + setValue(url.Values) +} + +type setParam struct{ k, v string } + +func (p setParam) setValue(m url.Values) { m.Set(p.k, p.v) } + +// SetAuthURLParam builds an AuthCodeOption which passes key/value parameters +// to a provider's authorization endpoint. +func SetAuthURLParam(key, value string) AuthCodeOption { + return setParam{key, value} +} + +// AuthCodeURL returns a URL to OAuth 2.0 provider's consent page +// that asks for permissions for the required scopes explicitly. +// +// State is a token to protect the user from CSRF attacks. You must +// always provide a non-empty string and validate that it matches the +// the state query parameter on your redirect callback. +// See http://tools.ietf.org/html/rfc6749#section-10.12 for more info. +// +// Opts may include AccessTypeOnline or AccessTypeOffline, as well +// as ApprovalForce. +// It can also be used to pass the PKCE challenge. +// See https://www.oauth.com/oauth2-servers/pkce/ for more info. +func (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string { + var buf bytes.Buffer + buf.WriteString(c.Endpoint.AuthURL) + v := url.Values{ + "response_type": {"code"}, + "client_id": {c.ClientID}, + } + if c.RedirectURL != "" { + v.Set("redirect_uri", c.RedirectURL) + } + if len(c.Scopes) > 0 { + v.Set("scope", strings.Join(c.Scopes, " ")) + } + if state != "" { + // TODO(light): Docs say never to omit state; don't allow empty. + v.Set("state", state) + } + for _, opt := range opts { + opt.setValue(v) + } + if strings.Contains(c.Endpoint.AuthURL, "?") { + buf.WriteByte('&') + } else { + buf.WriteByte('?') + } + buf.WriteString(v.Encode()) + return buf.String() +} + +// PasswordCredentialsToken converts a resource owner username and password +// pair into a token. +// +// Per the RFC, this grant type should only be used "when there is a high +// degree of trust between the resource owner and the client (e.g., the client +// is part of the device operating system or a highly privileged application), +// and when other authorization grant types are not available." +// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info. +// +// The provided context optionally controls which HTTP client is used. See the HTTPClient variable. +func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) { + v := url.Values{ + "grant_type": {"password"}, + "username": {username}, + "password": {password}, + } + if len(c.Scopes) > 0 { + v.Set("scope", strings.Join(c.Scopes, " ")) + } + return retrieveToken(ctx, c, v) +} + +// Exchange converts an authorization code into a token. +// +// It is used after a resource provider redirects the user back +// to the Redirect URI (the URL obtained from AuthCodeURL). +// +// The provided context optionally controls which HTTP client is used. See the HTTPClient variable. +// +// The code will be in the *http.Request.FormValue("code"). Before +// calling Exchange, be sure to validate FormValue("state"). +// +// Opts may include the PKCE verifier code if previously used in AuthCodeURL. +// See https://www.oauth.com/oauth2-servers/pkce/ for more info. +func (c *Config) Exchange(ctx context.Context, code string, opts ...AuthCodeOption) (*Token, error) { + v := url.Values{ + "grant_type": {"authorization_code"}, + "code": {code}, + } + if c.RedirectURL != "" { + v.Set("redirect_uri", c.RedirectURL) + } + for _, opt := range opts { + opt.setValue(v) + } + return retrieveToken(ctx, c, v) +} + +// Client returns an HTTP client using the provided token. +// The token will auto-refresh as necessary. The underlying +// HTTP transport will be obtained using the provided context. +// The returned client and its Transport should not be modified. +func (c *Config) Client(ctx context.Context, t *Token) *http.Client { + return NewClient(ctx, c.TokenSource(ctx, t)) +} + +// TokenSource returns a TokenSource that returns t until t expires, +// automatically refreshing it as necessary using the provided context. +// +// Most users will use Config.Client instead. +func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource { + tkr := &tokenRefresher{ + ctx: ctx, + conf: c, + } + if t != nil { + tkr.refreshToken = t.RefreshToken + } + return &reuseTokenSource{ + t: t, + new: tkr, + } +} + +// tokenRefresher is a TokenSource that makes "grant_type"=="refresh_token" +// HTTP requests to renew a token using a RefreshToken. +type tokenRefresher struct { + ctx context.Context // used to get HTTP requests + conf *Config + refreshToken string +} + +// WARNING: Token is not safe for concurrent access, as it +// updates the tokenRefresher's refreshToken field. +// Within this package, it is used by reuseTokenSource which +// synchronizes calls to this method with its own mutex. +func (tf *tokenRefresher) Token() (*Token, error) { + if tf.refreshToken == "" { + return nil, errors.New("oauth2: token expired and refresh token is not set") + } + + tk, err := retrieveToken(tf.ctx, tf.conf, url.Values{ + "grant_type": {"refresh_token"}, + "refresh_token": {tf.refreshToken}, + }) + + if err != nil { + return nil, err + } + if tf.refreshToken != tk.RefreshToken { + tf.refreshToken = tk.RefreshToken + } + return tk, err +} + +// reuseTokenSource is a TokenSource that holds a single token in memory +// and validates its expiry before each call to retrieve it with +// Token. If it's expired, it will be auto-refreshed using the +// new TokenSource. +type reuseTokenSource struct { + new TokenSource // called when t is expired. + + mu sync.Mutex // guards t + t *Token +} + +// Token returns the current token if it's still valid, else will +// refresh the current token (using r.Context for HTTP client +// information) and return the new one. +func (s *reuseTokenSource) Token() (*Token, error) { + s.mu.Lock() + defer s.mu.Unlock() + if s.t.Valid() { + return s.t, nil + } + t, err := s.new.Token() + if err != nil { + return nil, err + } + s.t = t + return t, nil +} + +// StaticTokenSource returns a TokenSource that always returns the same token. +// Because the provided token t is never refreshed, StaticTokenSource is only +// useful for tokens that never expire. +func StaticTokenSource(t *Token) TokenSource { + return staticTokenSource{t} +} + +// staticTokenSource is a TokenSource that always returns the same Token. +type staticTokenSource struct { + t *Token +} + +func (s staticTokenSource) Token() (*Token, error) { + return s.t, nil +} + +// HTTPClient is the context key to use with golang.org/x/net/context's +// WithValue function to associate an *http.Client value with a context. +var HTTPClient internal.ContextKey + +// NewClient creates an *http.Client from a Context and TokenSource. +// The returned client is not valid beyond the lifetime of the context. +// +// Note that if a custom *http.Client is provided via the Context it +// is used only for token acquisition and is not used to configure the +// *http.Client returned from NewClient. +// +// As a special case, if src is nil, a non-OAuth2 client is returned +// using the provided context. This exists to support related OAuth2 +// packages. +func NewClient(ctx context.Context, src TokenSource) *http.Client { + if src == nil { + return internal.ContextClient(ctx) + } + return &http.Client{ + Transport: &Transport{ + Base: internal.ContextClient(ctx).Transport, + Source: ReuseTokenSource(nil, src), + }, + } +} + +// ReuseTokenSource returns a TokenSource which repeatedly returns the +// same token as long as it's valid, starting with t. +// When its cached token is invalid, a new token is obtained from src. +// +// ReuseTokenSource is typically used to reuse tokens from a cache +// (such as a file on disk) between runs of a program, rather than +// obtaining new tokens unnecessarily. +// +// The initial token t may be nil, in which case the TokenSource is +// wrapped in a caching version if it isn't one already. This also +// means it's always safe to wrap ReuseTokenSource around any other +// TokenSource without adverse effects. +func ReuseTokenSource(t *Token, src TokenSource) TokenSource { + // Don't wrap a reuseTokenSource in itself. That would work, + // but cause an unnecessary number of mutex operations. + // Just build the equivalent one. + if rt, ok := src.(*reuseTokenSource); ok { + if t == nil { + // Just use it directly. + return rt + } + src = rt.new + } + return &reuseTokenSource{ + t: t, + new: src, + } +} diff --git a/vendor/golang.org/x/oauth2/token.go b/vendor/golang.org/x/oauth2/token.go new file mode 100644 index 000000000..822720341 --- /dev/null +++ b/vendor/golang.org/x/oauth2/token.go @@ -0,0 +1,178 @@ +// 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 oauth2 + +import ( + "context" + "fmt" + "net/http" + "net/url" + "strconv" + "strings" + "time" + + "golang.org/x/oauth2/internal" +) + +// expiryDelta determines how earlier a token should be considered +// expired than its actual expiration time. It is used to avoid late +// expirations due to client-server time mismatches. +const expiryDelta = 10 * time.Second + +// Token represents the credentials used to authorize +// the requests to access protected resources on the OAuth 2.0 +// provider's backend. +// +// Most users of this package should not access fields of Token +// directly. They're exported mostly for use by related packages +// implementing derivative OAuth2 flows. +type Token struct { + // AccessToken is the token that authorizes and authenticates + // the requests. + AccessToken string `json:"access_token"` + + // TokenType is the type of token. + // The Type method returns either this or "Bearer", the default. + TokenType string `json:"token_type,omitempty"` + + // RefreshToken is a token that's used by the application + // (as opposed to the user) to refresh the access token + // if it expires. + RefreshToken string `json:"refresh_token,omitempty"` + + // Expiry is the optional expiration time of the access token. + // + // If zero, TokenSource implementations will reuse the same + // token forever and RefreshToken or equivalent + // mechanisms for that TokenSource will not be used. + Expiry time.Time `json:"expiry,omitempty"` + + // raw optionally contains extra metadata from the server + // when updating a token. + raw interface{} +} + +// Type returns t.TokenType if non-empty, else "Bearer". +func (t *Token) Type() string { + if strings.EqualFold(t.TokenType, "bearer") { + return "Bearer" + } + if strings.EqualFold(t.TokenType, "mac") { + return "MAC" + } + if strings.EqualFold(t.TokenType, "basic") { + return "Basic" + } + if t.TokenType != "" { + return t.TokenType + } + return "Bearer" +} + +// SetAuthHeader sets the Authorization header to r using the access +// token in t. +// +// This method is unnecessary when using Transport or an HTTP Client +// returned by this package. +func (t *Token) SetAuthHeader(r *http.Request) { + r.Header.Set("Authorization", t.Type()+" "+t.AccessToken) +} + +// WithExtra returns a new Token that's a clone of t, but using the +// provided raw extra map. This is only intended for use by packages +// implementing derivative OAuth2 flows. +func (t *Token) WithExtra(extra interface{}) *Token { + t2 := new(Token) + *t2 = *t + t2.raw = extra + return t2 +} + +// Extra returns an extra field. +// Extra fields are key-value pairs returned by the server as a +// part of the token retrieval response. +func (t *Token) Extra(key string) interface{} { + if raw, ok := t.raw.(map[string]interface{}); ok { + return raw[key] + } + + vals, ok := t.raw.(url.Values) + if !ok { + return nil + } + + v := vals.Get(key) + switch s := strings.TrimSpace(v); strings.Count(s, ".") { + case 0: // Contains no "."; try to parse as int + if i, err := strconv.ParseInt(s, 10, 64); err == nil { + return i + } + case 1: // Contains a single "."; try to parse as float + if f, err := strconv.ParseFloat(s, 64); err == nil { + return f + } + } + + return v +} + +// timeNow is time.Now but pulled out as a variable for tests. +var timeNow = time.Now + +// expired reports whether the token is expired. +// t must be non-nil. +func (t *Token) expired() bool { + if t.Expiry.IsZero() { + return false + } + return t.Expiry.Round(0).Add(-expiryDelta).Before(timeNow()) +} + +// Valid reports whether t is non-nil, has an AccessToken, and is not expired. +func (t *Token) Valid() bool { + return t != nil && t.AccessToken != "" && !t.expired() +} + +// tokenFromInternal maps an *internal.Token struct into +// a *Token struct. +func tokenFromInternal(t *internal.Token) *Token { + if t == nil { + return nil + } + return &Token{ + AccessToken: t.AccessToken, + TokenType: t.TokenType, + RefreshToken: t.RefreshToken, + Expiry: t.Expiry, + raw: t.Raw, + } +} + +// retrieveToken takes a *Config and uses that to retrieve an *internal.Token. +// This token is then mapped from *internal.Token into an *oauth2.Token which is returned along +// with an error.. +func retrieveToken(ctx context.Context, c *Config, v url.Values) (*Token, error) { + tk, err := internal.RetrieveToken(ctx, c.ClientID, c.ClientSecret, c.Endpoint.TokenURL, v, internal.AuthStyle(c.Endpoint.AuthStyle)) + if err != nil { + if rErr, ok := err.(*internal.RetrieveError); ok { + return nil, (*RetrieveError)(rErr) + } + return nil, err + } + return tokenFromInternal(tk), nil +} + +// RetrieveError is the error returned when the token endpoint returns a +// non-2XX HTTP status code. +type RetrieveError struct { + Response *http.Response + // Body is the body that was consumed by reading Response.Body. + // It may be truncated. + Body []byte +} + +func (r *RetrieveError) Error() string { + return fmt.Sprintf("oauth2: cannot fetch token: %v\nResponse: %s", r.Response.Status, r.Body) +} diff --git a/vendor/golang.org/x/oauth2/transport.go b/vendor/golang.org/x/oauth2/transport.go new file mode 100644 index 000000000..90657915f --- /dev/null +++ b/vendor/golang.org/x/oauth2/transport.go @@ -0,0 +1,89 @@ +// 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 oauth2 + +import ( + "errors" + "log" + "net/http" + "sync" +) + +// Transport is an http.RoundTripper that makes OAuth 2.0 HTTP requests, +// wrapping a base RoundTripper and adding an Authorization header +// with a token from the supplied Sources. +// +// Transport is a low-level mechanism. Most code will use the +// higher-level Config.Client method instead. +type Transport struct { + // Source supplies the token to add to outgoing requests' + // Authorization headers. + Source TokenSource + + // Base is the base RoundTripper used to make HTTP requests. + // If nil, http.DefaultTransport is used. + Base http.RoundTripper +} + +// RoundTrip authorizes and authenticates the request with an +// access token from Transport's Source. +func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) { + reqBodyClosed := false + if req.Body != nil { + defer func() { + if !reqBodyClosed { + req.Body.Close() + } + }() + } + + if t.Source == nil { + return nil, errors.New("oauth2: Transport's Source is nil") + } + token, err := t.Source.Token() + if err != nil { + return nil, err + } + + req2 := cloneRequest(req) // per RoundTripper contract + token.SetAuthHeader(req2) + + // req.Body is assumed to be closed by the base RoundTripper. + reqBodyClosed = true + return t.base().RoundTrip(req2) +} + +var cancelOnce sync.Once + +// CancelRequest does nothing. It used to be a legacy cancellation mechanism +// but now only it only logs on first use to warn that it's deprecated. +// +// Deprecated: use contexts for cancellation instead. +func (t *Transport) CancelRequest(req *http.Request) { + cancelOnce.Do(func() { + log.Printf("deprecated: golang.org/x/oauth2: Transport.CancelRequest no longer does anything; use contexts") + }) +} + +func (t *Transport) base() http.RoundTripper { + if t.Base != nil { + return t.Base + } + return http.DefaultTransport +} + +// cloneRequest returns a clone of the provided *http.Request. +// The clone is a shallow copy of the struct and its Header map. +func cloneRequest(r *http.Request) *http.Request { + // shallow copy of the struct + r2 := new(http.Request) + *r2 = *r + // deep copy of the Header + r2.Header = make(http.Header, len(r.Header)) + for k, s := range r.Header { + r2.Header[k] = append([]string(nil), s...) + } + return r2 +} diff --git a/vendor/golang.org/x/sys/AUTHORS b/vendor/golang.org/x/sys/AUTHORS new file mode 100644 index 000000000..15167cd74 --- /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/CONTRIBUTORS b/vendor/golang.org/x/sys/CONTRIBUTORS new file mode 100644 index 000000000..1c4577e96 --- /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 000000000..6a66aea5e --- /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/golang.org/x/sys/PATENTS b/vendor/golang.org/x/sys/PATENTS new file mode 100644 index 000000000..733099041 --- /dev/null +++ b/vendor/golang.org/x/sys/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s b/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s new file mode 100644 index 000000000..db9171c2e --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s @@ -0,0 +1,18 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc +// +build gc + +#include "textflag.h" + +// +// System calls for ppc64, AIX are implemented in runtime/syscall_aix.go +// + +TEXT ·syscall6(SB),NOSPLIT,$0-88 + JMP syscall·syscall6(SB) + +TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 + JMP syscall·rawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/cpu/byteorder.go b/vendor/golang.org/x/sys/cpu/byteorder.go new file mode 100644 index 000000000..dcbb14ef3 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/byteorder.go @@ -0,0 +1,65 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +import ( + "runtime" +) + +// byteOrder is a subset of encoding/binary.ByteOrder. +type byteOrder interface { + Uint32([]byte) uint32 + Uint64([]byte) uint64 +} + +type littleEndian struct{} +type bigEndian struct{} + +func (littleEndian) Uint32(b []byte) uint32 { + _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 + return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 +} + +func (littleEndian) Uint64(b []byte) uint64 { + _ = 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 +} + +func (bigEndian) Uint32(b []byte) uint32 { + _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 + return uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24 +} + +func (bigEndian) Uint64(b []byte) uint64 { + _ = 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 +} + +// hostByteOrder returns littleEndian on little-endian machines and +// bigEndian on big-endian machines. +func hostByteOrder() byteOrder { + switch runtime.GOARCH { + case "386", "amd64", "amd64p32", + "alpha", + "arm", "arm64", + "mipsle", "mips64le", "mips64p32le", + "nios2", + "ppc64le", + "riscv", "riscv64", + "sh": + return littleEndian{} + case "armbe", "arm64be", + "m68k", + "mips", "mips64", "mips64p32", + "ppc", "ppc64", + "s390", "s390x", + "shbe", + "sparc", "sparc64": + return bigEndian{} + } + panic("unknown architecture") +} diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go new file mode 100644 index 000000000..abbec2d44 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu.go @@ -0,0 +1,286 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package cpu implements processor feature detection for +// various CPU architectures. +package cpu + +import ( + "os" + "strings" +) + +// Initialized reports whether the CPU features were initialized. +// +// For some GOOS/GOARCH combinations initialization of the CPU features depends +// on reading an operating specific file, e.g. /proc/self/auxv on linux/arm +// Initialized will report false if reading the file fails. +var Initialized bool + +// CacheLinePad is used to pad structs to avoid false sharing. +type CacheLinePad struct{ _ [cacheLineSize]byte } + +// X86 contains the supported CPU features of the +// current X86/AMD64 platform. If the current platform +// is not X86/AMD64 then all feature flags are false. +// +// X86 is padded to avoid false sharing. Further the HasAVX +// and HasAVX2 are only set if the OS supports XMM and YMM +// registers in addition to the CPUID feature bit being set. +var X86 struct { + _ CacheLinePad + HasAES bool // AES hardware implementation (AES NI) + HasADX bool // Multi-precision add-carry instruction extensions + HasAVX bool // Advanced vector extension + HasAVX2 bool // Advanced vector extension 2 + HasAVX512 bool // Advanced vector extension 512 + HasAVX512F bool // Advanced vector extension 512 Foundation Instructions + HasAVX512CD bool // Advanced vector extension 512 Conflict Detection Instructions + HasAVX512ER bool // Advanced vector extension 512 Exponential and Reciprocal Instructions + HasAVX512PF bool // Advanced vector extension 512 Prefetch Instructions Instructions + HasAVX512VL bool // Advanced vector extension 512 Vector Length Extensions + HasAVX512BW bool // Advanced vector extension 512 Byte and Word Instructions + HasAVX512DQ bool // Advanced vector extension 512 Doubleword and Quadword Instructions + HasAVX512IFMA bool // Advanced vector extension 512 Integer Fused Multiply Add + HasAVX512VBMI bool // Advanced vector extension 512 Vector Byte Manipulation Instructions + HasAVX5124VNNIW bool // Advanced vector extension 512 Vector Neural Network Instructions Word variable precision + HasAVX5124FMAPS bool // Advanced vector extension 512 Fused Multiply Accumulation Packed Single precision + HasAVX512VPOPCNTDQ bool // Advanced vector extension 512 Double and quad word population count instructions + HasAVX512VPCLMULQDQ bool // Advanced vector extension 512 Vector carry-less multiply operations + HasAVX512VNNI bool // Advanced vector extension 512 Vector Neural Network Instructions + HasAVX512GFNI bool // Advanced vector extension 512 Galois field New Instructions + HasAVX512VAES bool // Advanced vector extension 512 Vector AES instructions + HasAVX512VBMI2 bool // Advanced vector extension 512 Vector Byte Manipulation Instructions 2 + HasAVX512BITALG bool // Advanced vector extension 512 Bit Algorithms + HasAVX512BF16 bool // Advanced vector extension 512 BFloat16 Instructions + HasBMI1 bool // Bit manipulation instruction set 1 + HasBMI2 bool // Bit manipulation instruction set 2 + HasERMS bool // Enhanced REP for MOVSB and STOSB + HasFMA bool // Fused-multiply-add instructions + HasOSXSAVE bool // OS supports XSAVE/XRESTOR for saving/restoring XMM registers. + HasPCLMULQDQ bool // PCLMULQDQ instruction - most often used for AES-GCM + HasPOPCNT bool // Hamming weight instruction POPCNT. + HasRDRAND bool // RDRAND instruction (on-chip random number generator) + HasRDSEED bool // RDSEED instruction (on-chip random number generator) + HasSSE2 bool // Streaming SIMD extension 2 (always available on amd64) + HasSSE3 bool // Streaming SIMD extension 3 + HasSSSE3 bool // Supplemental streaming SIMD extension 3 + HasSSE41 bool // Streaming SIMD extension 4 and 4.1 + HasSSE42 bool // Streaming SIMD extension 4 and 4.2 + _ CacheLinePad +} + +// ARM64 contains the supported CPU features of the +// current ARMv8(aarch64) platform. If the current platform +// is not arm64 then all feature flags are false. +var ARM64 struct { + _ CacheLinePad + HasFP bool // Floating-point instruction set (always available) + HasASIMD bool // Advanced SIMD (always available) + HasEVTSTRM bool // Event stream support + HasAES bool // AES hardware implementation + HasPMULL bool // Polynomial multiplication instruction set + HasSHA1 bool // SHA1 hardware implementation + HasSHA2 bool // SHA2 hardware implementation + HasCRC32 bool // CRC32 hardware implementation + HasATOMICS bool // Atomic memory operation instruction set + HasFPHP bool // Half precision floating-point instruction set + HasASIMDHP bool // Advanced SIMD half precision instruction set + HasCPUID bool // CPUID identification scheme registers + HasASIMDRDM bool // Rounding double multiply add/subtract instruction set + HasJSCVT bool // Javascript conversion from floating-point to integer + HasFCMA bool // Floating-point multiplication and addition of complex numbers + HasLRCPC bool // Release Consistent processor consistent support + HasDCPOP bool // Persistent memory support + HasSHA3 bool // SHA3 hardware implementation + HasSM3 bool // SM3 hardware implementation + HasSM4 bool // SM4 hardware implementation + HasASIMDDP bool // Advanced SIMD double precision instruction set + HasSHA512 bool // SHA512 hardware implementation + HasSVE bool // Scalable Vector Extensions + HasASIMDFHM bool // Advanced SIMD multiplication FP16 to FP32 + _ CacheLinePad +} + +// ARM contains the supported CPU features of the current ARM (32-bit) platform. +// All feature flags are false if: +// 1. the current platform is not arm, or +// 2. the current operating system is not Linux. +var ARM struct { + _ CacheLinePad + HasSWP bool // SWP instruction support + HasHALF bool // Half-word load and store support + HasTHUMB bool // ARM Thumb instruction set + Has26BIT bool // Address space limited to 26-bits + HasFASTMUL bool // 32-bit operand, 64-bit result multiplication support + HasFPA bool // Floating point arithmetic support + HasVFP bool // Vector floating point support + HasEDSP bool // DSP Extensions support + HasJAVA bool // Java instruction set + HasIWMMXT bool // Intel Wireless MMX technology support + HasCRUNCH bool // MaverickCrunch context switching and handling + HasTHUMBEE bool // Thumb EE instruction set + HasNEON bool // NEON instruction set + HasVFPv3 bool // Vector floating point version 3 support + HasVFPv3D16 bool // Vector floating point version 3 D8-D15 + HasTLS bool // Thread local storage support + HasVFPv4 bool // Vector floating point version 4 support + HasIDIVA bool // Integer divide instruction support in ARM mode + HasIDIVT bool // Integer divide instruction support in Thumb mode + HasVFPD32 bool // Vector floating point version 3 D15-D31 + HasLPAE bool // Large Physical Address Extensions + HasEVTSTRM bool // Event stream support + HasAES bool // AES hardware implementation + HasPMULL bool // Polynomial multiplication instruction set + HasSHA1 bool // SHA1 hardware implementation + HasSHA2 bool // SHA2 hardware implementation + HasCRC32 bool // CRC32 hardware implementation + _ CacheLinePad +} + +// MIPS64X contains the supported CPU features of the current mips64/mips64le +// platforms. If the current platform is not mips64/mips64le or the current +// operating system is not Linux then all feature flags are false. +var MIPS64X struct { + _ CacheLinePad + HasMSA bool // MIPS SIMD architecture + _ CacheLinePad +} + +// PPC64 contains the supported CPU features of the current ppc64/ppc64le platforms. +// If the current platform is not ppc64/ppc64le then all feature flags are false. +// +// For ppc64/ppc64le, it is safe to check only for ISA level starting on ISA v3.00, +// since there are no optional categories. There are some exceptions that also +// require kernel support to work (DARN, SCV), so there are feature bits for +// those as well. The struct is padded to avoid false sharing. +var PPC64 struct { + _ CacheLinePad + HasDARN bool // Hardware random number generator (requires kernel enablement) + HasSCV bool // Syscall vectored (requires kernel enablement) + IsPOWER8 bool // ISA v2.07 (POWER8) + IsPOWER9 bool // ISA v3.00 (POWER9), implies IsPOWER8 + _ CacheLinePad +} + +// S390X contains the supported CPU features of the current IBM Z +// (s390x) platform. If the current platform is not IBM Z then all +// feature flags are false. +// +// S390X is padded to avoid false sharing. Further HasVX is only set +// if the OS supports vector registers in addition to the STFLE +// feature bit being set. +var S390X struct { + _ CacheLinePad + HasZARCH bool // z/Architecture mode is active [mandatory] + HasSTFLE bool // store facility list extended + HasLDISP bool // long (20-bit) displacements + HasEIMM bool // 32-bit immediates + HasDFP bool // decimal floating point + HasETF3EH bool // ETF-3 enhanced + HasMSA bool // message security assist (CPACF) + HasAES bool // KM-AES{128,192,256} functions + HasAESCBC bool // KMC-AES{128,192,256} functions + HasAESCTR bool // KMCTR-AES{128,192,256} functions + HasAESGCM bool // KMA-GCM-AES{128,192,256} functions + HasGHASH bool // KIMD-GHASH function + HasSHA1 bool // K{I,L}MD-SHA-1 functions + HasSHA256 bool // K{I,L}MD-SHA-256 functions + HasSHA512 bool // K{I,L}MD-SHA-512 functions + HasSHA3 bool // K{I,L}MD-SHA3-{224,256,384,512} and K{I,L}MD-SHAKE-{128,256} functions + HasVX bool // vector facility + HasVXE bool // vector-enhancements facility 1 + _ CacheLinePad +} + +func init() { + archInit() + initOptions() + processOptions() +} + +// options contains the cpu debug options that can be used in GODEBUG. +// Options are arch dependent and are added by the arch specific initOptions functions. +// Features that are mandatory for the specific GOARCH should have the Required field set +// (e.g. SSE2 on amd64). +var options []option + +// Option names should be lower case. e.g. avx instead of AVX. +type option struct { + Name string + Feature *bool + Specified bool // whether feature value was specified in GODEBUG + Enable bool // whether feature should be enabled + Required bool // whether feature is mandatory and can not be disabled +} + +func processOptions() { + env := os.Getenv("GODEBUG") +field: + for env != "" { + field := "" + i := strings.IndexByte(env, ',') + if i < 0 { + field, env = env, "" + } else { + field, env = env[:i], env[i+1:] + } + if len(field) < 4 || field[:4] != "cpu." { + continue + } + i = strings.IndexByte(field, '=') + if i < 0 { + print("GODEBUG sys/cpu: no value specified for \"", field, "\"\n") + continue + } + key, value := field[4:i], field[i+1:] // e.g. "SSE2", "on" + + var enable bool + switch value { + case "on": + enable = true + case "off": + enable = false + default: + print("GODEBUG sys/cpu: value \"", value, "\" not supported for cpu option \"", key, "\"\n") + continue field + } + + if key == "all" { + for i := range options { + options[i].Specified = true + options[i].Enable = enable || options[i].Required + } + continue field + } + + for i := range options { + if options[i].Name == key { + options[i].Specified = true + options[i].Enable = enable + continue field + } + } + + print("GODEBUG sys/cpu: unknown cpu feature \"", key, "\"\n") + } + + for _, o := range options { + if !o.Specified { + continue + } + + if o.Enable && !*o.Feature { + print("GODEBUG sys/cpu: can not enable \"", o.Name, "\", missing CPU support\n") + continue + } + + if !o.Enable && o.Required { + print("GODEBUG sys/cpu: can not disable \"", o.Name, "\", required CPU feature\n") + continue + } + + *o.Feature = o.Enable + } +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_aix.go b/vendor/golang.org/x/sys/cpu/cpu_aix.go new file mode 100644 index 000000000..8aaeef545 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_aix.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix +// +build aix + +package cpu + +const ( + // getsystemcfg constants + _SC_IMPL = 2 + _IMPL_POWER8 = 0x10000 + _IMPL_POWER9 = 0x20000 +) + +func archInit() { + impl := getsystemcfg(_SC_IMPL) + if impl&_IMPL_POWER8 != 0 { + PPC64.IsPOWER8 = true + } + if impl&_IMPL_POWER9 != 0 { + PPC64.IsPOWER8 = true + PPC64.IsPOWER9 = true + } + + Initialized = true +} + +func getsystemcfg(label int) (n uint64) { + r0, _ := callgetsystemcfg(label) + n = uint64(r0) + return +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm.go b/vendor/golang.org/x/sys/cpu/cpu_arm.go new file mode 100644 index 000000000..301b752e9 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_arm.go @@ -0,0 +1,73 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +const cacheLineSize = 32 + +// HWCAP/HWCAP2 bits. +// These are specific to Linux. +const ( + hwcap_SWP = 1 << 0 + hwcap_HALF = 1 << 1 + hwcap_THUMB = 1 << 2 + hwcap_26BIT = 1 << 3 + hwcap_FAST_MULT = 1 << 4 + hwcap_FPA = 1 << 5 + hwcap_VFP = 1 << 6 + hwcap_EDSP = 1 << 7 + hwcap_JAVA = 1 << 8 + hwcap_IWMMXT = 1 << 9 + hwcap_CRUNCH = 1 << 10 + hwcap_THUMBEE = 1 << 11 + hwcap_NEON = 1 << 12 + hwcap_VFPv3 = 1 << 13 + hwcap_VFPv3D16 = 1 << 14 + hwcap_TLS = 1 << 15 + hwcap_VFPv4 = 1 << 16 + hwcap_IDIVA = 1 << 17 + hwcap_IDIVT = 1 << 18 + hwcap_VFPD32 = 1 << 19 + hwcap_LPAE = 1 << 20 + hwcap_EVTSTRM = 1 << 21 + + hwcap2_AES = 1 << 0 + hwcap2_PMULL = 1 << 1 + hwcap2_SHA1 = 1 << 2 + hwcap2_SHA2 = 1 << 3 + hwcap2_CRC32 = 1 << 4 +) + +func initOptions() { + options = []option{ + {Name: "pmull", Feature: &ARM.HasPMULL}, + {Name: "sha1", Feature: &ARM.HasSHA1}, + {Name: "sha2", Feature: &ARM.HasSHA2}, + {Name: "swp", Feature: &ARM.HasSWP}, + {Name: "thumb", Feature: &ARM.HasTHUMB}, + {Name: "thumbee", Feature: &ARM.HasTHUMBEE}, + {Name: "tls", Feature: &ARM.HasTLS}, + {Name: "vfp", Feature: &ARM.HasVFP}, + {Name: "vfpd32", Feature: &ARM.HasVFPD32}, + {Name: "vfpv3", Feature: &ARM.HasVFPv3}, + {Name: "vfpv3d16", Feature: &ARM.HasVFPv3D16}, + {Name: "vfpv4", Feature: &ARM.HasVFPv4}, + {Name: "half", Feature: &ARM.HasHALF}, + {Name: "26bit", Feature: &ARM.Has26BIT}, + {Name: "fastmul", Feature: &ARM.HasFASTMUL}, + {Name: "fpa", Feature: &ARM.HasFPA}, + {Name: "edsp", Feature: &ARM.HasEDSP}, + {Name: "java", Feature: &ARM.HasJAVA}, + {Name: "iwmmxt", Feature: &ARM.HasIWMMXT}, + {Name: "crunch", Feature: &ARM.HasCRUNCH}, + {Name: "neon", Feature: &ARM.HasNEON}, + {Name: "idivt", Feature: &ARM.HasIDIVT}, + {Name: "idiva", Feature: &ARM.HasIDIVA}, + {Name: "lpae", Feature: &ARM.HasLPAE}, + {Name: "evtstrm", Feature: &ARM.HasEVTSTRM}, + {Name: "aes", Feature: &ARM.HasAES}, + {Name: "crc32", Feature: &ARM.HasCRC32}, + } + +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_arm64.go new file mode 100644 index 000000000..87dd5e302 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.go @@ -0,0 +1,172 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +import "runtime" + +const cacheLineSize = 64 + +func initOptions() { + options = []option{ + {Name: "fp", Feature: &ARM64.HasFP}, + {Name: "asimd", Feature: &ARM64.HasASIMD}, + {Name: "evstrm", Feature: &ARM64.HasEVTSTRM}, + {Name: "aes", Feature: &ARM64.HasAES}, + {Name: "fphp", Feature: &ARM64.HasFPHP}, + {Name: "jscvt", Feature: &ARM64.HasJSCVT}, + {Name: "lrcpc", Feature: &ARM64.HasLRCPC}, + {Name: "pmull", Feature: &ARM64.HasPMULL}, + {Name: "sha1", Feature: &ARM64.HasSHA1}, + {Name: "sha2", Feature: &ARM64.HasSHA2}, + {Name: "sha3", Feature: &ARM64.HasSHA3}, + {Name: "sha512", Feature: &ARM64.HasSHA512}, + {Name: "sm3", Feature: &ARM64.HasSM3}, + {Name: "sm4", Feature: &ARM64.HasSM4}, + {Name: "sve", Feature: &ARM64.HasSVE}, + {Name: "crc32", Feature: &ARM64.HasCRC32}, + {Name: "atomics", Feature: &ARM64.HasATOMICS}, + {Name: "asimdhp", Feature: &ARM64.HasASIMDHP}, + {Name: "cpuid", Feature: &ARM64.HasCPUID}, + {Name: "asimrdm", Feature: &ARM64.HasASIMDRDM}, + {Name: "fcma", Feature: &ARM64.HasFCMA}, + {Name: "dcpop", Feature: &ARM64.HasDCPOP}, + {Name: "asimddp", Feature: &ARM64.HasASIMDDP}, + {Name: "asimdfhm", Feature: &ARM64.HasASIMDFHM}, + } +} + +func archInit() { + switch runtime.GOOS { + case "freebsd": + readARM64Registers() + case "linux", "netbsd": + doinit() + default: + // Most platforms don't seem to allow reading these registers. + // + // OpenBSD: + // See https://golang.org/issue/31746 + setMinimalFeatures() + } +} + +// setMinimalFeatures fakes the minimal ARM64 features expected by +// TestARM64minimalFeatures. +func setMinimalFeatures() { + ARM64.HasASIMD = true + ARM64.HasFP = true +} + +func readARM64Registers() { + Initialized = true + + parseARM64SystemRegisters(getisar0(), getisar1(), getpfr0()) +} + +func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { + // ID_AA64ISAR0_EL1 + switch extractBits(isar0, 4, 7) { + case 1: + ARM64.HasAES = true + case 2: + ARM64.HasAES = true + ARM64.HasPMULL = true + } + + switch extractBits(isar0, 8, 11) { + case 1: + ARM64.HasSHA1 = true + } + + switch extractBits(isar0, 12, 15) { + case 1: + ARM64.HasSHA2 = true + case 2: + ARM64.HasSHA2 = true + ARM64.HasSHA512 = true + } + + switch extractBits(isar0, 16, 19) { + case 1: + ARM64.HasCRC32 = true + } + + switch extractBits(isar0, 20, 23) { + case 2: + ARM64.HasATOMICS = true + } + + switch extractBits(isar0, 28, 31) { + case 1: + ARM64.HasASIMDRDM = true + } + + switch extractBits(isar0, 32, 35) { + case 1: + ARM64.HasSHA3 = true + } + + switch extractBits(isar0, 36, 39) { + case 1: + ARM64.HasSM3 = true + } + + switch extractBits(isar0, 40, 43) { + case 1: + ARM64.HasSM4 = true + } + + switch extractBits(isar0, 44, 47) { + case 1: + ARM64.HasASIMDDP = true + } + + // ID_AA64ISAR1_EL1 + switch extractBits(isar1, 0, 3) { + case 1: + ARM64.HasDCPOP = true + } + + switch extractBits(isar1, 12, 15) { + case 1: + ARM64.HasJSCVT = true + } + + switch extractBits(isar1, 16, 19) { + case 1: + ARM64.HasFCMA = true + } + + switch extractBits(isar1, 20, 23) { + case 1: + ARM64.HasLRCPC = true + } + + // ID_AA64PFR0_EL1 + switch extractBits(pfr0, 16, 19) { + case 0: + ARM64.HasFP = true + case 1: + ARM64.HasFP = true + ARM64.HasFPHP = true + } + + switch extractBits(pfr0, 20, 23) { + case 0: + ARM64.HasASIMD = true + case 1: + ARM64.HasASIMD = true + ARM64.HasASIMDHP = true + } + + switch extractBits(pfr0, 32, 35) { + case 1: + ARM64.HasSVE = true + } +} + +func extractBits(data uint64, start, end uint) uint { + return (uint)(data>>start) & ((1 << (end - start + 1)) - 1) +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.s b/vendor/golang.org/x/sys/cpu/cpu_arm64.s new file mode 100644 index 000000000..c61f95a05 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.s @@ -0,0 +1,32 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc +// +build gc + +#include "textflag.h" + +// func getisar0() uint64 +TEXT ·getisar0(SB),NOSPLIT,$0-8 + // get Instruction Set Attributes 0 into x0 + // mrs x0, ID_AA64ISAR0_EL1 = d5380600 + WORD $0xd5380600 + MOVD R0, ret+0(FP) + RET + +// func getisar1() uint64 +TEXT ·getisar1(SB),NOSPLIT,$0-8 + // get Instruction Set Attributes 1 into x0 + // mrs x0, ID_AA64ISAR1_EL1 = d5380620 + WORD $0xd5380620 + MOVD R0, ret+0(FP) + RET + +// func getpfr0() uint64 +TEXT ·getpfr0(SB),NOSPLIT,$0-8 + // get Processor Feature Register 0 into x0 + // mrs x0, ID_AA64PFR0_EL1 = d5380400 + WORD $0xd5380400 + MOVD R0, ret+0(FP) + RET diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go new file mode 100644 index 000000000..ccf542a73 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go @@ -0,0 +1,12 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc +// +build gc + +package cpu + +func getisar0() uint64 +func getisar1() uint64 +func getpfr0() uint64 diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go new file mode 100644 index 000000000..0af2f2484 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go @@ -0,0 +1,22 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc +// +build gc + +package cpu + +// haveAsmFunctions reports whether the other functions in this file can +// be safely called. +func haveAsmFunctions() bool { return true } + +// The following feature detection functions are defined in cpu_s390x.s. +// They are likely to be expensive to call so the results should be cached. +func stfle() facilityList +func kmQuery() queryResult +func kmcQuery() queryResult +func kmctrQuery() queryResult +func kmaQuery() queryResult +func kimdQuery() queryResult +func klmdQuery() queryResult diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go b/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go new file mode 100644 index 000000000..3298a87e9 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go @@ -0,0 +1,21 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build (386 || amd64 || amd64p32) && gc +// +build 386 amd64 amd64p32 +// +build gc + +package cpu + +// cpuid is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo.c for gccgo. +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) + +// xgetbv with ecx = 0 is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo.c for gccgo. +func xgetbv() (eax, edx uint32) + +// darwinSupportsAVX512 is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo_x86.go for gccgo. +func darwinSupportsAVX512() bool diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go new file mode 100644 index 000000000..2aff31891 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go @@ -0,0 +1,12 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gccgo +// +build gccgo + +package cpu + +func getisar0() uint64 { return 0 } +func getisar1() uint64 { return 0 } +func getpfr0() uint64 { return 0 } diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go new file mode 100644 index 000000000..4bfbda619 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go @@ -0,0 +1,23 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gccgo +// +build gccgo + +package cpu + +// haveAsmFunctions reports whether the other functions in this file can +// be safely called. +func haveAsmFunctions() bool { return false } + +// TODO(mundaym): the following feature detection functions are currently +// stubs. See https://golang.org/cl/162887 for how to fix this. +// They are likely to be expensive to call so the results should be cached. +func stfle() facilityList { panic("not implemented for gccgo") } +func kmQuery() queryResult { panic("not implemented for gccgo") } +func kmcQuery() queryResult { panic("not implemented for gccgo") } +func kmctrQuery() queryResult { panic("not implemented for gccgo") } +func kmaQuery() queryResult { panic("not implemented for gccgo") } +func kimdQuery() queryResult { panic("not implemented for gccgo") } +func klmdQuery() queryResult { panic("not implemented for gccgo") } diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c b/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c new file mode 100644 index 000000000..e363c7d13 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c @@ -0,0 +1,43 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386 amd64 amd64p32 +// +build gccgo + +#include <cpuid.h> +#include <stdint.h> + +// Need to wrap __get_cpuid_count because it's declared as static. +int +gccgoGetCpuidCount(uint32_t leaf, uint32_t subleaf, + uint32_t *eax, uint32_t *ebx, + uint32_t *ecx, uint32_t *edx) +{ + return __get_cpuid_count(leaf, subleaf, eax, ebx, ecx, edx); +} + +// xgetbv reads the contents of an XCR (Extended Control Register) +// specified in the ECX register into registers EDX:EAX. +// Currently, the only supported value for XCR is 0. +// +// TODO: Replace with a better alternative: +// +// #include <xsaveintrin.h> +// +// #pragma GCC target("xsave") +// +// void gccgoXgetbv(uint32_t *eax, uint32_t *edx) { +// unsigned long long x = _xgetbv(0); +// *eax = x & 0xffffffff; +// *edx = (x >> 32) & 0xffffffff; +// } +// +// Note that _xgetbv is defined starting with GCC 8. +void +gccgoXgetbv(uint32_t *eax, uint32_t *edx) +{ + __asm(" xorl %%ecx, %%ecx\n" + " xgetbv" + : "=a"(*eax), "=d"(*edx)); +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go new file mode 100644 index 000000000..863d415ab --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go @@ -0,0 +1,33 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build (386 || amd64 || amd64p32) && gccgo +// +build 386 amd64 amd64p32 +// +build gccgo + +package cpu + +//extern gccgoGetCpuidCount +func gccgoGetCpuidCount(eaxArg, ecxArg uint32, eax, ebx, ecx, edx *uint32) + +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) { + var a, b, c, d uint32 + gccgoGetCpuidCount(eaxArg, ecxArg, &a, &b, &c, &d) + return a, b, c, d +} + +//extern gccgoXgetbv +func gccgoXgetbv(eax, edx *uint32) + +func xgetbv() (eax, edx uint32) { + var a, d uint32 + gccgoXgetbv(&a, &d) + return a, d +} + +// gccgo doesn't build on Darwin, per: +// https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gcc.rb#L76 +func darwinSupportsAVX512() bool { + return false +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux.go b/vendor/golang.org/x/sys/cpu/cpu_linux.go new file mode 100644 index 000000000..159a686f6 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux.go @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !386 && !amd64 && !amd64p32 && !arm64 +// +build !386,!amd64,!amd64p32,!arm64 + +package cpu + +func archInit() { + if err := readHWCAP(); err != nil { + return + } + doinit() + Initialized = true +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_arm.go b/vendor/golang.org/x/sys/cpu/cpu_linux_arm.go new file mode 100644 index 000000000..2057006dc --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_arm.go @@ -0,0 +1,39 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +func doinit() { + ARM.HasSWP = isSet(hwCap, hwcap_SWP) + ARM.HasHALF = isSet(hwCap, hwcap_HALF) + ARM.HasTHUMB = isSet(hwCap, hwcap_THUMB) + ARM.Has26BIT = isSet(hwCap, hwcap_26BIT) + ARM.HasFASTMUL = isSet(hwCap, hwcap_FAST_MULT) + ARM.HasFPA = isSet(hwCap, hwcap_FPA) + ARM.HasVFP = isSet(hwCap, hwcap_VFP) + ARM.HasEDSP = isSet(hwCap, hwcap_EDSP) + ARM.HasJAVA = isSet(hwCap, hwcap_JAVA) + ARM.HasIWMMXT = isSet(hwCap, hwcap_IWMMXT) + ARM.HasCRUNCH = isSet(hwCap, hwcap_CRUNCH) + ARM.HasTHUMBEE = isSet(hwCap, hwcap_THUMBEE) + ARM.HasNEON = isSet(hwCap, hwcap_NEON) + ARM.HasVFPv3 = isSet(hwCap, hwcap_VFPv3) + ARM.HasVFPv3D16 = isSet(hwCap, hwcap_VFPv3D16) + ARM.HasTLS = isSet(hwCap, hwcap_TLS) + ARM.HasVFPv4 = isSet(hwCap, hwcap_VFPv4) + ARM.HasIDIVA = isSet(hwCap, hwcap_IDIVA) + ARM.HasIDIVT = isSet(hwCap, hwcap_IDIVT) + ARM.HasVFPD32 = isSet(hwCap, hwcap_VFPD32) + ARM.HasLPAE = isSet(hwCap, hwcap_LPAE) + ARM.HasEVTSTRM = isSet(hwCap, hwcap_EVTSTRM) + ARM.HasAES = isSet(hwCap2, hwcap2_AES) + ARM.HasPMULL = isSet(hwCap2, hwcap2_PMULL) + ARM.HasSHA1 = isSet(hwCap2, hwcap2_SHA1) + ARM.HasSHA2 = isSet(hwCap2, hwcap2_SHA2) + ARM.HasCRC32 = isSet(hwCap2, hwcap2_CRC32) +} + +func isSet(hwc uint, value uint) bool { + return hwc&value != 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go new file mode 100644 index 000000000..79a38a0b9 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go @@ -0,0 +1,71 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +// HWCAP/HWCAP2 bits. These are exposed by Linux. +const ( + hwcap_FP = 1 << 0 + hwcap_ASIMD = 1 << 1 + hwcap_EVTSTRM = 1 << 2 + hwcap_AES = 1 << 3 + hwcap_PMULL = 1 << 4 + hwcap_SHA1 = 1 << 5 + hwcap_SHA2 = 1 << 6 + hwcap_CRC32 = 1 << 7 + hwcap_ATOMICS = 1 << 8 + hwcap_FPHP = 1 << 9 + hwcap_ASIMDHP = 1 << 10 + hwcap_CPUID = 1 << 11 + hwcap_ASIMDRDM = 1 << 12 + hwcap_JSCVT = 1 << 13 + hwcap_FCMA = 1 << 14 + hwcap_LRCPC = 1 << 15 + hwcap_DCPOP = 1 << 16 + hwcap_SHA3 = 1 << 17 + hwcap_SM3 = 1 << 18 + hwcap_SM4 = 1 << 19 + hwcap_ASIMDDP = 1 << 20 + hwcap_SHA512 = 1 << 21 + hwcap_SVE = 1 << 22 + hwcap_ASIMDFHM = 1 << 23 +) + +func doinit() { + if err := readHWCAP(); err != nil { + // failed to read /proc/self/auxv, try reading registers directly + readARM64Registers() + return + } + + // HWCAP feature bits + ARM64.HasFP = isSet(hwCap, hwcap_FP) + ARM64.HasASIMD = isSet(hwCap, hwcap_ASIMD) + ARM64.HasEVTSTRM = isSet(hwCap, hwcap_EVTSTRM) + ARM64.HasAES = isSet(hwCap, hwcap_AES) + ARM64.HasPMULL = isSet(hwCap, hwcap_PMULL) + ARM64.HasSHA1 = isSet(hwCap, hwcap_SHA1) + ARM64.HasSHA2 = isSet(hwCap, hwcap_SHA2) + ARM64.HasCRC32 = isSet(hwCap, hwcap_CRC32) + ARM64.HasATOMICS = isSet(hwCap, hwcap_ATOMICS) + ARM64.HasFPHP = isSet(hwCap, hwcap_FPHP) + ARM64.HasASIMDHP = isSet(hwCap, hwcap_ASIMDHP) + ARM64.HasCPUID = isSet(hwCap, hwcap_CPUID) + ARM64.HasASIMDRDM = isSet(hwCap, hwcap_ASIMDRDM) + ARM64.HasJSCVT = isSet(hwCap, hwcap_JSCVT) + ARM64.HasFCMA = isSet(hwCap, hwcap_FCMA) + ARM64.HasLRCPC = isSet(hwCap, hwcap_LRCPC) + ARM64.HasDCPOP = isSet(hwCap, hwcap_DCPOP) + ARM64.HasSHA3 = isSet(hwCap, hwcap_SHA3) + ARM64.HasSM3 = isSet(hwCap, hwcap_SM3) + ARM64.HasSM4 = isSet(hwCap, hwcap_SM4) + ARM64.HasASIMDDP = isSet(hwCap, hwcap_ASIMDDP) + ARM64.HasSHA512 = isSet(hwCap, hwcap_SHA512) + ARM64.HasSVE = isSet(hwCap, hwcap_SVE) + ARM64.HasASIMDFHM = isSet(hwCap, hwcap_ASIMDFHM) +} + +func isSet(hwc uint, value uint) bool { + return hwc&value != 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go b/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go new file mode 100644 index 000000000..6000db4cd --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go @@ -0,0 +1,24 @@ +// Copyright 2020 The Go 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:build linux && (mips64 || mips64le) +// +build linux +// +build mips64 mips64le + +package cpu + +// HWCAP bits. These are exposed by the Linux kernel 5.4. +const ( + // CPU features + hwcap_MIPS_MSA = 1 << 1 +) + +func doinit() { + // HWCAP feature bits + MIPS64X.HasMSA = isSet(hwCap, hwcap_MIPS_MSA) +} + +func isSet(hwc uint, value uint) bool { + return hwc&value != 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go b/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go new file mode 100644 index 000000000..f4992b1a5 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go @@ -0,0 +1,10 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x +// +build linux,!arm,!arm64,!mips64,!mips64le,!ppc64,!ppc64le,!s390x + +package cpu + +func doinit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go b/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go new file mode 100644 index 000000000..021356d6d --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go @@ -0,0 +1,32 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build linux && (ppc64 || ppc64le) +// +build linux +// +build ppc64 ppc64le + +package cpu + +// HWCAP/HWCAP2 bits. These are exposed by the kernel. +const ( + // ISA Level + _PPC_FEATURE2_ARCH_2_07 = 0x80000000 + _PPC_FEATURE2_ARCH_3_00 = 0x00800000 + + // CPU features + _PPC_FEATURE2_DARN = 0x00200000 + _PPC_FEATURE2_SCV = 0x00100000 +) + +func doinit() { + // HWCAP2 feature bits + PPC64.IsPOWER8 = isSet(hwCap2, _PPC_FEATURE2_ARCH_2_07) + PPC64.IsPOWER9 = isSet(hwCap2, _PPC_FEATURE2_ARCH_3_00) + PPC64.HasDARN = isSet(hwCap2, _PPC_FEATURE2_DARN) + PPC64.HasSCV = isSet(hwCap2, _PPC_FEATURE2_SCV) +} + +func isSet(hwc uint, value uint) bool { + return hwc&value != 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go new file mode 100644 index 000000000..1517ac61d --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go @@ -0,0 +1,40 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +const ( + // bit mask values from /usr/include/bits/hwcap.h + hwcap_ZARCH = 2 + hwcap_STFLE = 4 + hwcap_MSA = 8 + hwcap_LDISP = 16 + hwcap_EIMM = 32 + hwcap_DFP = 64 + hwcap_ETF3EH = 256 + hwcap_VX = 2048 + hwcap_VXE = 8192 +) + +func initS390Xbase() { + // test HWCAP bit vector + has := func(featureMask uint) bool { + return hwCap&featureMask == featureMask + } + + // mandatory + S390X.HasZARCH = has(hwcap_ZARCH) + + // optional + S390X.HasSTFLE = has(hwcap_STFLE) + S390X.HasLDISP = has(hwcap_LDISP) + S390X.HasEIMM = has(hwcap_EIMM) + S390X.HasETF3EH = has(hwcap_ETF3EH) + S390X.HasDFP = has(hwcap_DFP) + S390X.HasMSA = has(hwcap_MSA) + S390X.HasVX = has(hwcap_VX) + if S390X.HasVX { + S390X.HasVXE = has(hwcap_VXE) + } +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_mips64x.go b/vendor/golang.org/x/sys/cpu/cpu_mips64x.go new file mode 100644 index 000000000..f4063c664 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_mips64x.go @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build mips64 || mips64le +// +build mips64 mips64le + +package cpu + +const cacheLineSize = 32 + +func initOptions() { + options = []option{ + {Name: "msa", Feature: &MIPS64X.HasMSA}, + } +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_mipsx.go b/vendor/golang.org/x/sys/cpu/cpu_mipsx.go new file mode 100644 index 000000000..07c4e36d8 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_mipsx.go @@ -0,0 +1,12 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build mips || mipsle +// +build mips mipsle + +package cpu + +const cacheLineSize = 32 + +func initOptions() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go new file mode 100644 index 000000000..ebfb3fc8e --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go @@ -0,0 +1,173 @@ +// Copyright 2020 The Go 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 cpu + +import ( + "syscall" + "unsafe" +) + +// Minimal copy of functionality from x/sys/unix so the cpu package can call +// sysctl without depending on x/sys/unix. + +const ( + _CTL_QUERY = -2 + + _SYSCTL_VERS_1 = 0x1000000 +) + +var _zero uintptr + +func sysctl(mib []int32, 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) + } + _, _, errno := syscall.Syscall6( + syscall.SYS___SYSCTL, + uintptr(_p0), + uintptr(len(mib)), + uintptr(unsafe.Pointer(old)), + uintptr(unsafe.Pointer(oldlen)), + uintptr(unsafe.Pointer(new)), + uintptr(newlen)) + if errno != 0 { + return errno + } + return nil +} + +type sysctlNode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + __rsvd uint32 + Un [16]byte + _sysctl_size [8]byte + _sysctl_func [8]byte + _sysctl_parent [8]byte + _sysctl_desc [8]byte +} + +func sysctlNodes(mib []int32) ([]sysctlNode, 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) ([]int32, 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:]) + + mib := []int32{} + // 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, int32(node.Num)) + break + } + } + if len(mib) != partno+1 { + return nil, err + } + } + + return mib, nil +} + +// aarch64SysctlCPUID is struct aarch64_sysctl_cpu_id from NetBSD's <aarch64/armreg.h> +type aarch64SysctlCPUID struct { + midr uint64 /* Main ID Register */ + revidr uint64 /* Revision ID Register */ + mpidr uint64 /* Multiprocessor Affinity Register */ + aa64dfr0 uint64 /* A64 Debug Feature Register 0 */ + aa64dfr1 uint64 /* A64 Debug Feature Register 1 */ + aa64isar0 uint64 /* A64 Instruction Set Attribute Register 0 */ + aa64isar1 uint64 /* A64 Instruction Set Attribute Register 1 */ + aa64mmfr0 uint64 /* A64 Memory Model Feature Register 0 */ + aa64mmfr1 uint64 /* A64 Memory Model Feature Register 1 */ + aa64mmfr2 uint64 /* A64 Memory Model Feature Register 2 */ + aa64pfr0 uint64 /* A64 Processor Feature Register 0 */ + aa64pfr1 uint64 /* A64 Processor Feature Register 1 */ + aa64zfr0 uint64 /* A64 SVE Feature ID Register 0 */ + mvfr0 uint32 /* Media and VFP Feature Register 0 */ + mvfr1 uint32 /* Media and VFP Feature Register 1 */ + mvfr2 uint32 /* Media and VFP Feature Register 2 */ + pad uint32 + clidr uint64 /* Cache Level ID Register */ + ctr uint64 /* Cache Type Register */ +} + +func sysctlCPUID(name string) (*aarch64SysctlCPUID, error) { + mib, err := nametomib(name) + if err != nil { + return nil, err + } + + out := aarch64SysctlCPUID{} + n := unsafe.Sizeof(out) + _, _, errno := syscall.Syscall6( + syscall.SYS___SYSCTL, + uintptr(unsafe.Pointer(&mib[0])), + uintptr(len(mib)), + uintptr(unsafe.Pointer(&out)), + uintptr(unsafe.Pointer(&n)), + uintptr(0), + uintptr(0)) + if errno != 0 { + return nil, errno + } + return &out, nil +} + +func doinit() { + cpuid, err := sysctlCPUID("machdep.cpu0.cpu_id") + if err != nil { + setMinimalFeatures() + return + } + parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64pfr0) + + Initialized = true +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_arm.go b/vendor/golang.org/x/sys/cpu/cpu_other_arm.go new file mode 100644 index 000000000..d7b4fb4cc --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_other_arm.go @@ -0,0 +1,10 @@ +// Copyright 2020 The Go 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:build !linux && arm +// +build !linux,arm + +package cpu + +func archInit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go new file mode 100644 index 000000000..f8c484f58 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go @@ -0,0 +1,10 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !linux && !netbsd && arm64 +// +build !linux,!netbsd,arm64 + +package cpu + +func doinit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go b/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go new file mode 100644 index 000000000..0dafe9644 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go @@ -0,0 +1,13 @@ +// Copyright 2020 The Go 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:build !linux && (mips64 || mips64le) +// +build !linux +// +build mips64 mips64le + +package cpu + +func archInit() { + Initialized = true +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go b/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go new file mode 100644 index 000000000..4e8acd165 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go @@ -0,0 +1,17 @@ +// Copyright 2020 The Go 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:build ppc64 || ppc64le +// +build ppc64 ppc64le + +package cpu + +const cacheLineSize = 128 + +func initOptions() { + options = []option{ + {Name: "darn", Feature: &PPC64.HasDARN}, + {Name: "scv", Feature: &PPC64.HasSCV}, + } +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go new file mode 100644 index 000000000..bd6c128af --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go @@ -0,0 +1,12 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build riscv64 +// +build riscv64 + +package cpu + +const cacheLineSize = 32 + +func initOptions() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_s390x.go new file mode 100644 index 000000000..5881b8833 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_s390x.go @@ -0,0 +1,172 @@ +// Copyright 2020 The Go 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 cpu + +const cacheLineSize = 256 + +func initOptions() { + options = []option{ + {Name: "zarch", Feature: &S390X.HasZARCH, Required: true}, + {Name: "stfle", Feature: &S390X.HasSTFLE, Required: true}, + {Name: "ldisp", Feature: &S390X.HasLDISP, Required: true}, + {Name: "eimm", Feature: &S390X.HasEIMM, Required: true}, + {Name: "dfp", Feature: &S390X.HasDFP}, + {Name: "etf3eh", Feature: &S390X.HasETF3EH}, + {Name: "msa", Feature: &S390X.HasMSA}, + {Name: "aes", Feature: &S390X.HasAES}, + {Name: "aescbc", Feature: &S390X.HasAESCBC}, + {Name: "aesctr", Feature: &S390X.HasAESCTR}, + {Name: "aesgcm", Feature: &S390X.HasAESGCM}, + {Name: "ghash", Feature: &S390X.HasGHASH}, + {Name: "sha1", Feature: &S390X.HasSHA1}, + {Name: "sha256", Feature: &S390X.HasSHA256}, + {Name: "sha3", Feature: &S390X.HasSHA3}, + {Name: "sha512", Feature: &S390X.HasSHA512}, + {Name: "vx", Feature: &S390X.HasVX}, + {Name: "vxe", Feature: &S390X.HasVXE}, + } +} + +// bitIsSet reports whether the bit at index is set. The bit index +// is in big endian order, so bit index 0 is the leftmost bit. +func bitIsSet(bits []uint64, index uint) bool { + return bits[index/64]&((1<<63)>>(index%64)) != 0 +} + +// facility is a bit index for the named facility. +type facility uint8 + +const ( + // mandatory facilities + zarch facility = 1 // z architecture mode is active + stflef facility = 7 // store-facility-list-extended + ldisp facility = 18 // long-displacement + eimm facility = 21 // extended-immediate + + // miscellaneous facilities + dfp facility = 42 // decimal-floating-point + etf3eh facility = 30 // extended-translation 3 enhancement + + // cryptography facilities + msa facility = 17 // message-security-assist + msa3 facility = 76 // message-security-assist extension 3 + msa4 facility = 77 // message-security-assist extension 4 + msa5 facility = 57 // message-security-assist extension 5 + msa8 facility = 146 // message-security-assist extension 8 + msa9 facility = 155 // message-security-assist extension 9 + + // vector facilities + vx facility = 129 // vector facility + vxe facility = 135 // vector-enhancements 1 + vxe2 facility = 148 // vector-enhancements 2 +) + +// facilityList contains the result of an STFLE call. +// Bits are numbered in big endian order so the +// leftmost bit (the MSB) is at index 0. +type facilityList struct { + bits [4]uint64 +} + +// Has reports whether the given facilities are present. +func (s *facilityList) Has(fs ...facility) bool { + if len(fs) == 0 { + panic("no facility bits provided") + } + for _, f := range fs { + if !bitIsSet(s.bits[:], uint(f)) { + return false + } + } + return true +} + +// function is the code for the named cryptographic function. +type function uint8 + +const ( + // KM{,A,C,CTR} function codes + aes128 function = 18 // AES-128 + aes192 function = 19 // AES-192 + aes256 function = 20 // AES-256 + + // K{I,L}MD function codes + sha1 function = 1 // SHA-1 + sha256 function = 2 // SHA-256 + sha512 function = 3 // SHA-512 + sha3_224 function = 32 // SHA3-224 + sha3_256 function = 33 // SHA3-256 + sha3_384 function = 34 // SHA3-384 + sha3_512 function = 35 // SHA3-512 + shake128 function = 36 // SHAKE-128 + shake256 function = 37 // SHAKE-256 + + // KLMD function codes + ghash function = 65 // GHASH +) + +// queryResult contains the result of a Query function +// call. Bits are numbered in big endian order so the +// leftmost bit (the MSB) is at index 0. +type queryResult struct { + bits [2]uint64 +} + +// Has reports whether the given functions are present. +func (q *queryResult) Has(fns ...function) bool { + if len(fns) == 0 { + panic("no function codes provided") + } + for _, f := range fns { + if !bitIsSet(q.bits[:], uint(f)) { + return false + } + } + return true +} + +func doinit() { + initS390Xbase() + + // We need implementations of stfle, km and so on + // to detect cryptographic features. + if !haveAsmFunctions() { + return + } + + // optional cryptographic functions + if S390X.HasMSA { + aes := []function{aes128, aes192, aes256} + + // cipher message + km, kmc := kmQuery(), kmcQuery() + S390X.HasAES = km.Has(aes...) + S390X.HasAESCBC = kmc.Has(aes...) + if S390X.HasSTFLE { + facilities := stfle() + if facilities.Has(msa4) { + kmctr := kmctrQuery() + S390X.HasAESCTR = kmctr.Has(aes...) + } + if facilities.Has(msa8) { + kma := kmaQuery() + S390X.HasAESGCM = kma.Has(aes...) + } + } + + // compute message digest + kimd := kimdQuery() // intermediate (no padding) + klmd := klmdQuery() // last (padding) + S390X.HasSHA1 = kimd.Has(sha1) && klmd.Has(sha1) + S390X.HasSHA256 = kimd.Has(sha256) && klmd.Has(sha256) + S390X.HasSHA512 = kimd.Has(sha512) && klmd.Has(sha512) + S390X.HasGHASH = kimd.Has(ghash) // KLMD-GHASH does not exist + sha3 := []function{ + sha3_224, sha3_256, sha3_384, sha3_512, + shake128, shake256, + } + S390X.HasSHA3 = kimd.Has(sha3...) && klmd.Has(sha3...) + } +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_s390x.s b/vendor/golang.org/x/sys/cpu/cpu_s390x.s new file mode 100644 index 000000000..96f81e209 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_s390x.s @@ -0,0 +1,58 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc +// +build gc + +#include "textflag.h" + +// func stfle() facilityList +TEXT ·stfle(SB), NOSPLIT|NOFRAME, $0-32 + MOVD $ret+0(FP), R1 + MOVD $3, R0 // last doubleword index to store + XC $32, (R1), (R1) // clear 4 doublewords (32 bytes) + WORD $0xb2b01000 // store facility list extended (STFLE) + RET + +// func kmQuery() queryResult +TEXT ·kmQuery(SB), NOSPLIT|NOFRAME, $0-16 + MOVD $0, R0 // set function code to 0 (KM-Query) + MOVD $ret+0(FP), R1 // address of 16-byte return value + WORD $0xB92E0024 // cipher message (KM) + RET + +// func kmcQuery() queryResult +TEXT ·kmcQuery(SB), NOSPLIT|NOFRAME, $0-16 + MOVD $0, R0 // set function code to 0 (KMC-Query) + MOVD $ret+0(FP), R1 // address of 16-byte return value + WORD $0xB92F0024 // cipher message with chaining (KMC) + RET + +// func kmctrQuery() queryResult +TEXT ·kmctrQuery(SB), NOSPLIT|NOFRAME, $0-16 + MOVD $0, R0 // set function code to 0 (KMCTR-Query) + MOVD $ret+0(FP), R1 // address of 16-byte return value + WORD $0xB92D4024 // cipher message with counter (KMCTR) + RET + +// func kmaQuery() queryResult +TEXT ·kmaQuery(SB), NOSPLIT|NOFRAME, $0-16 + MOVD $0, R0 // set function code to 0 (KMA-Query) + MOVD $ret+0(FP), R1 // address of 16-byte return value + WORD $0xb9296024 // cipher message with authentication (KMA) + RET + +// func kimdQuery() queryResult +TEXT ·kimdQuery(SB), NOSPLIT|NOFRAME, $0-16 + MOVD $0, R0 // set function code to 0 (KIMD-Query) + MOVD $ret+0(FP), R1 // address of 16-byte return value + WORD $0xB93E0024 // compute intermediate message digest (KIMD) + RET + +// func klmdQuery() queryResult +TEXT ·klmdQuery(SB), NOSPLIT|NOFRAME, $0-16 + MOVD $0, R0 // set function code to 0 (KLMD-Query) + MOVD $ret+0(FP), R1 // address of 16-byte return value + WORD $0xB93F0024 // compute last message digest (KLMD) + RET diff --git a/vendor/golang.org/x/sys/cpu/cpu_wasm.go b/vendor/golang.org/x/sys/cpu/cpu_wasm.go new file mode 100644 index 000000000..7747d888a --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_wasm.go @@ -0,0 +1,18 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build wasm +// +build wasm + +package cpu + +// We're compiling the cpu package for an unknown (software-abstracted) CPU. +// Make CacheLinePad an empty struct and hope that the usual struct alignment +// rules are good enough. + +const cacheLineSize = 0 + +func initOptions() {} + +func archInit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.go b/vendor/golang.org/x/sys/cpu/cpu_x86.go new file mode 100644 index 000000000..54ca4667f --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_x86.go @@ -0,0 +1,142 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build 386 || amd64 || amd64p32 +// +build 386 amd64 amd64p32 + +package cpu + +import "runtime" + +const cacheLineSize = 64 + +func initOptions() { + options = []option{ + {Name: "adx", Feature: &X86.HasADX}, + {Name: "aes", Feature: &X86.HasAES}, + {Name: "avx", Feature: &X86.HasAVX}, + {Name: "avx2", Feature: &X86.HasAVX2}, + {Name: "avx512", Feature: &X86.HasAVX512}, + {Name: "avx512f", Feature: &X86.HasAVX512F}, + {Name: "avx512cd", Feature: &X86.HasAVX512CD}, + {Name: "avx512er", Feature: &X86.HasAVX512ER}, + {Name: "avx512pf", Feature: &X86.HasAVX512PF}, + {Name: "avx512vl", Feature: &X86.HasAVX512VL}, + {Name: "avx512bw", Feature: &X86.HasAVX512BW}, + {Name: "avx512dq", Feature: &X86.HasAVX512DQ}, + {Name: "avx512ifma", Feature: &X86.HasAVX512IFMA}, + {Name: "avx512vbmi", Feature: &X86.HasAVX512VBMI}, + {Name: "avx512vnniw", Feature: &X86.HasAVX5124VNNIW}, + {Name: "avx5124fmaps", Feature: &X86.HasAVX5124FMAPS}, + {Name: "avx512vpopcntdq", Feature: &X86.HasAVX512VPOPCNTDQ}, + {Name: "avx512vpclmulqdq", Feature: &X86.HasAVX512VPCLMULQDQ}, + {Name: "avx512vnni", Feature: &X86.HasAVX512VNNI}, + {Name: "avx512gfni", Feature: &X86.HasAVX512GFNI}, + {Name: "avx512vaes", Feature: &X86.HasAVX512VAES}, + {Name: "avx512vbmi2", Feature: &X86.HasAVX512VBMI2}, + {Name: "avx512bitalg", Feature: &X86.HasAVX512BITALG}, + {Name: "avx512bf16", Feature: &X86.HasAVX512BF16}, + {Name: "bmi1", Feature: &X86.HasBMI1}, + {Name: "bmi2", Feature: &X86.HasBMI2}, + {Name: "erms", Feature: &X86.HasERMS}, + {Name: "fma", Feature: &X86.HasFMA}, + {Name: "osxsave", Feature: &X86.HasOSXSAVE}, + {Name: "pclmulqdq", Feature: &X86.HasPCLMULQDQ}, + {Name: "popcnt", Feature: &X86.HasPOPCNT}, + {Name: "rdrand", Feature: &X86.HasRDRAND}, + {Name: "rdseed", Feature: &X86.HasRDSEED}, + {Name: "sse3", Feature: &X86.HasSSE3}, + {Name: "sse41", Feature: &X86.HasSSE41}, + {Name: "sse42", Feature: &X86.HasSSE42}, + {Name: "ssse3", Feature: &X86.HasSSSE3}, + + // These capabilities should always be enabled on amd64: + {Name: "sse2", Feature: &X86.HasSSE2, Required: runtime.GOARCH == "amd64"}, + } +} + +func archInit() { + + Initialized = true + + maxID, _, _, _ := cpuid(0, 0) + + if maxID < 1 { + return + } + + _, _, ecx1, edx1 := cpuid(1, 0) + X86.HasSSE2 = isSet(26, edx1) + + X86.HasSSE3 = isSet(0, ecx1) + X86.HasPCLMULQDQ = isSet(1, ecx1) + X86.HasSSSE3 = isSet(9, ecx1) + X86.HasFMA = isSet(12, ecx1) + X86.HasSSE41 = isSet(19, ecx1) + X86.HasSSE42 = isSet(20, ecx1) + X86.HasPOPCNT = isSet(23, ecx1) + X86.HasAES = isSet(25, ecx1) + X86.HasOSXSAVE = isSet(27, ecx1) + X86.HasRDRAND = isSet(30, ecx1) + + var osSupportsAVX, osSupportsAVX512 bool + // For XGETBV, OSXSAVE bit is required and sufficient. + if X86.HasOSXSAVE { + eax, _ := xgetbv() + // Check if XMM and YMM registers have OS support. + osSupportsAVX = isSet(1, eax) && isSet(2, eax) + + if runtime.GOOS == "darwin" { + // Check darwin commpage for AVX512 support. Necessary because: + // https://github.com/apple/darwin-xnu/blob/0a798f6738bc1db01281fc08ae024145e84df927/osfmk/i386/fpu.c#L175-L201 + osSupportsAVX512 = osSupportsAVX && darwinSupportsAVX512() + } else { + // Check if OPMASK and ZMM registers have OS support. + osSupportsAVX512 = osSupportsAVX && isSet(5, eax) && isSet(6, eax) && isSet(7, eax) + } + } + + X86.HasAVX = isSet(28, ecx1) && osSupportsAVX + + if maxID < 7 { + return + } + + _, ebx7, ecx7, edx7 := cpuid(7, 0) + X86.HasBMI1 = isSet(3, ebx7) + X86.HasAVX2 = isSet(5, ebx7) && osSupportsAVX + X86.HasBMI2 = isSet(8, ebx7) + X86.HasERMS = isSet(9, ebx7) + X86.HasRDSEED = isSet(18, ebx7) + X86.HasADX = isSet(19, ebx7) + + X86.HasAVX512 = isSet(16, ebx7) && osSupportsAVX512 // Because avx-512 foundation is the core required extension + if X86.HasAVX512 { + X86.HasAVX512F = true + X86.HasAVX512CD = isSet(28, ebx7) + X86.HasAVX512ER = isSet(27, ebx7) + X86.HasAVX512PF = isSet(26, ebx7) + X86.HasAVX512VL = isSet(31, ebx7) + X86.HasAVX512BW = isSet(30, ebx7) + X86.HasAVX512DQ = isSet(17, ebx7) + X86.HasAVX512IFMA = isSet(21, ebx7) + X86.HasAVX512VBMI = isSet(1, ecx7) + X86.HasAVX5124VNNIW = isSet(2, edx7) + X86.HasAVX5124FMAPS = isSet(3, edx7) + X86.HasAVX512VPOPCNTDQ = isSet(14, ecx7) + X86.HasAVX512VPCLMULQDQ = isSet(10, ecx7) + X86.HasAVX512VNNI = isSet(11, ecx7) + X86.HasAVX512GFNI = isSet(8, ecx7) + X86.HasAVX512VAES = isSet(9, ecx7) + X86.HasAVX512VBMI2 = isSet(6, ecx7) + X86.HasAVX512BITALG = isSet(12, ecx7) + + eax71, _, _, _ := cpuid(7, 1) + X86.HasAVX512BF16 = isSet(5, eax71) + } +} + +func isSet(bitpos uint, value uint32) bool { + return value&(1<<bitpos) != 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.s b/vendor/golang.org/x/sys/cpu/cpu_x86.s new file mode 100644 index 000000000..b748ba52f --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_x86.s @@ -0,0 +1,52 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build (386 || amd64 || amd64p32) && gc +// +build 386 amd64 amd64p32 +// +build gc + +#include "textflag.h" + +// func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) +TEXT ·cpuid(SB), NOSPLIT, $0-24 + MOVL eaxArg+0(FP), AX + MOVL ecxArg+4(FP), CX + CPUID + MOVL AX, eax+8(FP) + MOVL BX, ebx+12(FP) + MOVL CX, ecx+16(FP) + MOVL DX, edx+20(FP) + RET + +// func xgetbv() (eax, edx uint32) +TEXT ·xgetbv(SB),NOSPLIT,$0-8 + MOVL $0, CX + XGETBV + MOVL AX, eax+0(FP) + MOVL DX, edx+4(FP) + RET + +// func darwinSupportsAVX512() bool +TEXT ·darwinSupportsAVX512(SB), NOSPLIT, $0-1 + MOVB $0, ret+0(FP) // default to false +#ifdef GOOS_darwin // return if not darwin +#ifdef GOARCH_amd64 // return if not amd64 +// These values from: +// https://github.com/apple/darwin-xnu/blob/xnu-4570.1.46/osfmk/i386/cpu_capabilities.h +#define commpage64_base_address 0x00007fffffe00000 +#define commpage64_cpu_capabilities64 (commpage64_base_address+0x010) +#define commpage64_version (commpage64_base_address+0x01E) +#define hasAVX512F 0x0000004000000000 + MOVQ $commpage64_version, BX + CMPW (BX), $13 // cpu_capabilities64 undefined in versions < 13 + JL no_avx512 + MOVQ $commpage64_cpu_capabilities64, BX + MOVQ $hasAVX512F, CX + TESTQ (BX), CX + JZ no_avx512 + MOVB $1, ret+0(FP) +no_avx512: +#endif +#endif + RET diff --git a/vendor/golang.org/x/sys/cpu/cpu_zos.go b/vendor/golang.org/x/sys/cpu/cpu_zos.go new file mode 100644 index 000000000..5f54683a2 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_zos.go @@ -0,0 +1,10 @@ +// Copyright 2020 The Go 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 cpu + +func archInit() { + doinit() + Initialized = true +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go new file mode 100644 index 000000000..ccb1b708a --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go @@ -0,0 +1,25 @@ +// Copyright 2020 The Go 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 cpu + +func initS390Xbase() { + // get the facilities list + facilities := stfle() + + // mandatory + S390X.HasZARCH = facilities.Has(zarch) + S390X.HasSTFLE = facilities.Has(stflef) + S390X.HasLDISP = facilities.Has(ldisp) + S390X.HasEIMM = facilities.Has(eimm) + + // optional + S390X.HasETF3EH = facilities.Has(etf3eh) + S390X.HasDFP = facilities.Has(dfp) + S390X.HasMSA = facilities.Has(msa) + S390X.HasVX = facilities.Has(vx) + if S390X.HasVX { + S390X.HasVXE = facilities.Has(vxe) + } +} diff --git a/vendor/golang.org/x/sys/cpu/hwcap_linux.go b/vendor/golang.org/x/sys/cpu/hwcap_linux.go new file mode 100644 index 000000000..f3baa3793 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/hwcap_linux.go @@ -0,0 +1,56 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +import ( + "io/ioutil" +) + +const ( + _AT_HWCAP = 16 + _AT_HWCAP2 = 26 + + procAuxv = "/proc/self/auxv" + + uintSize = int(32 << (^uint(0) >> 63)) +) + +// For those platforms don't have a 'cpuid' equivalent we use HWCAP/HWCAP2 +// These are initialized in cpu_$GOARCH.go +// and should not be changed after they are initialized. +var hwCap uint +var hwCap2 uint + +func readHWCAP() error { + buf, err := ioutil.ReadFile(procAuxv) + if err != nil { + // e.g. on android /proc/self/auxv is not accessible, so silently + // ignore the error and leave Initialized = false. On some + // architectures (e.g. arm64) doinit() implements a fallback + // readout and will set Initialized = true again. + return err + } + bo := hostByteOrder() + for len(buf) >= 2*(uintSize/8) { + var tag, val uint + switch uintSize { + case 32: + tag = uint(bo.Uint32(buf[0:])) + val = uint(bo.Uint32(buf[4:])) + buf = buf[8:] + case 64: + tag = uint(bo.Uint64(buf[0:])) + val = uint(bo.Uint64(buf[8:])) + buf = buf[16:] + } + switch tag { + case _AT_HWCAP: + hwCap = val + case _AT_HWCAP2: + hwCap2 = val + } + } + return nil +} diff --git a/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go b/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go new file mode 100644 index 000000000..a864f24d7 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go @@ -0,0 +1,27 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Recreate a getsystemcfg syscall handler instead of +// using the one provided by x/sys/unix to avoid having +// the dependency between them. (See golang.org/issue/32102) +// Morever, this file will be used during the building of +// gccgo's libgo and thus must not used a CGo method. + +//go:build aix && gccgo +// +build aix,gccgo + +package cpu + +import ( + "syscall" +) + +//extern getsystemcfg +func gccgoGetsystemcfg(label uint32) (r uint64) + +func callgetsystemcfg(label int) (r1 uintptr, e1 syscall.Errno) { + r1 = uintptr(gccgoGetsystemcfg(uint32(label))) + e1 = syscall.GetErrno() + return +} diff --git a/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go new file mode 100644 index 000000000..904be42ff --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go @@ -0,0 +1,36 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Minimal copy of x/sys/unix so the cpu package can make a +// system call on AIX without depending on x/sys/unix. +// (See golang.org/issue/32102) + +//go:build aix && ppc64 && gc +// +build aix,ppc64,gc + +package cpu + +import ( + "syscall" + "unsafe" +) + +//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o" + +//go:linkname libc_getsystemcfg libc_getsystemcfg + +type syscallFunc uintptr + +var libc_getsystemcfg syscallFunc + +type errno = syscall.Errno + +// Implemented in runtime/syscall_aix.go. +func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err errno) +func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err errno) + +func callgetsystemcfg(label int) (r1 uintptr, e1 errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0) + return +} diff --git a/vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go b/vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go new file mode 100644 index 000000000..e07899b90 --- /dev/null +++ b/vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go @@ -0,0 +1,30 @@ +// Copyright 2020 The Go 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 unsafeheader contains header declarations for the Go runtime's +// slice and string implementations. +// +// This package allows x/sys to use types equivalent to +// reflect.SliceHeader and reflect.StringHeader without introducing +// a dependency on the (relatively heavy) "reflect" package. +package unsafeheader + +import ( + "unsafe" +) + +// Slice is the runtime representation of a slice. +// It cannot be used safely or portably and its representation may change in a later release. +type Slice struct { + Data unsafe.Pointer + Len int + Cap int +} + +// String is the runtime representation of a string. +// It cannot be used safely or portably and its representation may change in a later release. +type String struct { + Data unsafe.Pointer + Len int +} diff --git a/vendor/golang.org/x/sys/unix/.gitignore b/vendor/golang.org/x/sys/unix/.gitignore new file mode 100644 index 000000000..e3e0fc6f8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/.gitignore @@ -0,0 +1,2 @@ +_obj/ +unix.test 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 000000000..474efad0e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/README.md @@ -0,0 +1,184 @@ +# Building `sys/unix` + +The sys/unix package provides access to the raw system call interface of the +underlying operating system. See: https://godoc.org/golang.org/x/sys/unix + +Porting Go to a new architecture/OS combination or adding syscalls, types, or +constants to an existing architecture/OS pair requires some manual effort; +however, there are tools that automate much of the process. + +## Build Systems + +There are currently two ways we generate the necessary files. We are currently +migrating the build system to use containers so the builds are reproducible. +This is being done on an OS-by-OS basis. Please update this documentation as +components of the build system change. + +### Old Build System (currently for `GOOS != "linux"`) + +The old build system generates the Go files based on the C header files +present on your system. This means that files +for a given GOOS/GOARCH pair must be generated on a system with that OS and +architecture. This also means that the generated code can differ from system +to system, based on differences in the header files. + +To avoid this, if you are using the old build system, only generate the Go +files on an installation with unmodified header files. It is also important to +keep track of which version of the OS the files were generated from (ex. +Darwin 14 vs Darwin 15). This makes it easier to track the progress of changes +and have each OS upgrade correspond to a single change. + +To build the files for your current OS and architecture, make sure GOOS and +GOARCH are set correctly and run `mkall.sh`. This will generate the files for +your specific system. Running `mkall.sh -n` shows the commands that will be run. + +Requirements: bash, go + +### New Build System (currently for `GOOS == "linux"`) + +The new build system uses a Docker container to generate the go files directly +from source checkouts of the kernel and various system libraries. This means +that on any platform that supports Docker, all the files using the new build +system can be generated at once, and generated files will not change based on +what the person running the scripts has installed on their computer. + +The OS specific files for the new build system are located in the `${GOOS}` +directory, and the build is coordinated by the `${GOOS}/mkall.go` program. When +the kernel or system library updates, modify the Dockerfile at +`${GOOS}/Dockerfile` to checkout the new release of the source. + +To build all the files under the new build system, you must be on an amd64/Linux +system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will +then generate all of the files for all of the GOOS/GOARCH pairs in the new build +system. Running `mkall.sh -n` shows the commands that will be run. + +Requirements: bash, go, docker + +## Component files + +This section describes the various files used in the code generation process. +It also contains instructions on how to modify these files to add a new +architecture/OS or to add additional syscalls, types, or constants. Note that +if you are using the new build system, the scripts/programs cannot be called normally. +They must be called from within the docker container. + +### asm files + +The hand-written assembly file at `asm_${GOOS}_${GOARCH}.s` implements system +call dispatch. There are three entry points: +``` + func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) + func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) + func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) +``` +The first and second are the standard ones; they differ only in how many +arguments can be passed to the kernel. The third is for low-level use by the +ForkExec wrapper. Unlike the first two, it does not call into the scheduler to +let it know that a system call is running. + +When porting Go to a new architecture/OS, this file must be implemented for +each GOOS/GOARCH pair. + +### mksysnum + +Mksysnum is a Go program located at `${GOOS}/mksysnum.go` (or `mksysnum_${GOOS}.go` +for the old system). This program takes in a list of header files containing the +syscall number declarations and parses them to produce the corresponding list of +Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated +constants. + +Adding new syscall numbers is mostly done by running the build on a sufficiently +new installation of the target OS (or updating the source checkouts for the +new build system). However, depending on the OS, you may need to update the +parsing in mksysnum. + +### mksyscall.go + +The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are +hand-written Go files which implement system calls (for unix, the specific OS, +or the specific OS/Architecture pair respectively) that need special handling +and list `//sys` comments giving prototypes for ones that can be generated. + +The mksyscall.go program takes the `//sys` and `//sysnb` comments and converts +them into syscalls. This requires the name of the prototype in the comment to +match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function +prototype can be exported (capitalized) or not. + +Adding a new syscall often just requires adding a new `//sys` function prototype +with the desired arguments and a capitalized name so it is exported. However, if +you want the interface to the syscall to be different, often one will make an +unexported `//sys` prototype, and 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 +and 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. + +### mkmerge.go + +This program is used to extract duplicate const, func, and type declarations +from the generated architecture-specific files listed below, and merge these +into a common file for each OS. + +The merge is performed in the following steps: +1. Construct the set of common code that is idential in all architecture-specific files. +2. Write this common code to the merged file. +3. Remove the common code from all architecture-specific files. + + +## Generated files + +### `zerrors_${GOOS}_${GOARCH}.go` + +A file containing all of the system's generated error numbers, error strings, +signal numbers, and constants. Generated by `mkerrors.sh` (see above). + +### `zsyscall_${GOOS}_${GOARCH}.go` + +A file containing all the generated syscalls for a specific GOOS and GOARCH. +Generated by `mksyscall.go` (see above). + +### `zsysnum_${GOOS}_${GOARCH}.go` + +A list of numeric constants for all the syscall number of the specific GOOS +and GOARCH. Generated by mksysnum (see above). + +### `ztypes_${GOOS}_${GOARCH}.go` + +A file containing Go types for passing into (or returning from) syscalls. +Generated by godefs and the types file (see above). diff --git a/vendor/golang.org/x/sys/unix/affinity_linux.go b/vendor/golang.org/x/sys/unix/affinity_linux.go new file mode 100644 index 000000000..6e5c81acd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/affinity_linux.go @@ -0,0 +1,86 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// CPU affinity functions + +package unix + +import ( + "math/bits" + "unsafe" +) + +const cpuSetSize = _CPU_SETSIZE / _NCPUBITS + +// CPUSet represents a CPU affinity mask. +type CPUSet [cpuSetSize]cpuMask + +func schedAffinity(trap uintptr, pid int, set *CPUSet) error { + _, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(*set)), uintptr(unsafe.Pointer(set))) + if e != 0 { + return errnoErr(e) + } + return nil +} + +// SchedGetaffinity gets the CPU affinity mask of the thread specified by pid. +// If pid is 0 the calling thread is used. +func SchedGetaffinity(pid int, set *CPUSet) error { + return schedAffinity(SYS_SCHED_GETAFFINITY, pid, set) +} + +// SchedSetaffinity sets the CPU affinity mask of the thread specified by pid. +// If pid is 0 the calling thread is used. +func SchedSetaffinity(pid int, set *CPUSet) error { + return schedAffinity(SYS_SCHED_SETAFFINITY, pid, set) +} + +// Zero clears the set s, so that it contains no CPUs. +func (s *CPUSet) Zero() { + for i := range s { + s[i] = 0 + } +} + +func cpuBitsIndex(cpu int) int { + return cpu / _NCPUBITS +} + +func cpuBitsMask(cpu int) cpuMask { + return cpuMask(1 << (uint(cpu) % _NCPUBITS)) +} + +// Set adds cpu to the set s. +func (s *CPUSet) Set(cpu int) { + i := cpuBitsIndex(cpu) + if i < len(s) { + s[i] |= cpuBitsMask(cpu) + } +} + +// Clear removes cpu from the set s. +func (s *CPUSet) Clear(cpu int) { + i := cpuBitsIndex(cpu) + if i < len(s) { + s[i] &^= cpuBitsMask(cpu) + } +} + +// IsSet reports whether cpu is in the set s. +func (s *CPUSet) IsSet(cpu int) bool { + i := cpuBitsIndex(cpu) + if i < len(s) { + return s[i]&cpuBitsMask(cpu) != 0 + } + return false +} + +// Count returns the number of CPUs in the set s. +func (s *CPUSet) Count() int { + c := 0 + for _, b := range s { + c += bits.OnesCount64(uint64(b)) + } + return c +} diff --git a/vendor/golang.org/x/sys/unix/aliases.go b/vendor/golang.org/x/sys/unix/aliases.go new file mode 100644 index 000000000..abc89c104 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/aliases.go @@ -0,0 +1,15 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9 +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos +// +build go1.9 + +package unix + +import "syscall" + +type Signal = syscall.Signal +type Errno = syscall.Errno +type SysProcAttr = syscall.SysProcAttr diff --git a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s new file mode 100644 index 000000000..db9171c2e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s @@ -0,0 +1,18 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc +// +build gc + +#include "textflag.h" + +// +// System calls for ppc64, AIX are implemented in runtime/syscall_aix.go +// + +TEXT ·syscall6(SB),NOSPLIT,$0-88 + JMP syscall·syscall6(SB) + +TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 + JMP syscall·rawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_bsd_386.s b/vendor/golang.org/x/sys/unix/asm_bsd_386.s new file mode 100644 index 000000000..e0fcd9b3d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_bsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2021 The Go 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:build (freebsd || netbsd || openbsd) && gc +// +build freebsd netbsd openbsd +// +build gc + +#include "textflag.h" + +// System call support for 386 BSD + +// 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_bsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s new file mode 100644 index 000000000..2b99c349a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2021 The Go 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:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc +// +build darwin dragonfly freebsd netbsd openbsd +// +build gc + +#include "textflag.h" + +// System call support for AMD64 BSD + +// 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_bsd_arm.s b/vendor/golang.org/x/sys/unix/asm_bsd_arm.s new file mode 100644 index 000000000..d702d4adc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_bsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2021 The Go 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:build (freebsd || netbsd || openbsd) && gc +// +build freebsd netbsd openbsd +// +build gc + +#include "textflag.h" + +// System call support for ARM BSD + +// 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_bsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s new file mode 100644 index 000000000..fe36a7391 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2021 The Go 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:build (darwin || freebsd || netbsd || openbsd) && gc +// +build darwin freebsd netbsd openbsd +// +build gc + +#include "textflag.h" + +// System call support for ARM64 BSD + +// 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_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s new file mode 100644 index 000000000..8fd101d07 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s @@ -0,0 +1,66 @@ +// 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. + +//go:build gc +// +build gc + +#include "textflag.h" + +// +// System calls for 386, Linux +// + +// See ../runtime/sys_linux_386.s for the reason why we always use int 0x80 +// instead of the glibc-specific "CALL 0x10(GS)". +#define INVOKE_SYSCALL INT $0x80 + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + CALL runtime·entersyscall(SB) + MOVL trap+0(FP), AX // syscall entry + MOVL a1+4(FP), BX + MOVL a2+8(FP), CX + MOVL a3+12(FP), DX + MOVL $0, SI + MOVL $0, DI + INVOKE_SYSCALL + MOVL AX, r1+16(FP) + MOVL DX, r2+20(FP) + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVL trap+0(FP), AX // syscall entry + MOVL a1+4(FP), BX + MOVL a2+8(FP), CX + MOVL a3+12(FP), DX + MOVL $0, SI + MOVL $0, DI + INVOKE_SYSCALL + MOVL AX, r1+16(FP) + MOVL DX, r2+20(FP) + RET + +TEXT ·socketcall(SB),NOSPLIT,$0-36 + JMP syscall·socketcall(SB) + +TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 + JMP syscall·rawsocketcall(SB) + +TEXT ·seek(SB),NOSPLIT,$0-28 + JMP syscall·seek(SB) diff --git a/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 000000000..7ed38e43c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s @@ -0,0 +1,58 @@ +// 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. + +//go:build gc +// +build gc + +#include "textflag.h" + +// +// System calls for AMD64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + CALL runtime·entersyscall(SB) + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ $0, R10 + MOVQ $0, R8 + MOVQ $0, R9 + MOVQ trap+0(FP), AX // syscall entry + SYSCALL + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ $0, R10 + MOVQ $0, R8 + MOVQ $0, R9 + MOVQ trap+0(FP), AX // syscall entry + SYSCALL + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + RET + +TEXT ·gettimeofday(SB),NOSPLIT,$0-16 + JMP syscall·gettimeofday(SB) diff --git a/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 000000000..8ef1d5140 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.s @@ -0,0 +1,57 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc +// +build gc + +#include "textflag.h" + +// +// System calls for arm, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + BL runtime·entersyscall(SB) + MOVW trap+0(FP), R7 + MOVW a1+4(FP), R0 + MOVW a2+8(FP), R1 + MOVW a3+12(FP), R2 + MOVW $0, R3 + MOVW $0, R4 + MOVW $0, R5 + SWI $0 + MOVW R0, r1+16(FP) + MOVW $0, R0 + MOVW R0, r2+20(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVW trap+0(FP), R7 // syscall entry + MOVW a1+4(FP), R0 + MOVW a2+8(FP), R1 + MOVW a3+12(FP), R2 + SWI $0 + MOVW R0, r1+16(FP) + MOVW $0, R0 + MOVW R0, r2+20(FP) + RET + +TEXT ·seek(SB),NOSPLIT,$0-28 + B syscall·seek(SB) diff --git a/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 000000000..98ae02760 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s @@ -0,0 +1,53 @@ +// 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:build linux && arm64 && gc +// +build linux +// +build arm64 +// +build gc + +#include "textflag.h" + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R0 + MOVD a2+16(FP), R1 + MOVD a3+24(FP), R2 + MOVD $0, R3 + MOVD $0, R4 + MOVD $0, R5 + MOVD trap+0(FP), R8 // syscall entry + SVC + MOVD R0, r1+32(FP) // r1 + MOVD R1, r2+40(FP) // r2 + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R0 + MOVD a2+16(FP), R1 + MOVD a3+24(FP), R2 + MOVD $0, R3 + MOVD $0, R4 + MOVD $0, R5 + MOVD trap+0(FP), R8 // syscall entry + SVC + MOVD R0, r1+32(FP) + MOVD R1, r2+40(FP) + RET diff --git a/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 000000000..21231d2ce --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s @@ -0,0 +1,57 @@ +// 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:build linux && (mips64 || mips64le) && gc +// +build linux +// +build mips64 mips64le +// +build gc + +#include "textflag.h" + +// +// System calls for mips64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + JAL runtime·entersyscall(SB) + MOVV a1+8(FP), R4 + MOVV a2+16(FP), R5 + MOVV a3+24(FP), R6 + MOVV R0, R7 + MOVV R0, R8 + MOVV R0, R9 + MOVV trap+0(FP), R2 // syscall entry + SYSCALL + MOVV R2, r1+32(FP) + MOVV R3, r2+40(FP) + JAL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVV a1+8(FP), R4 + MOVV a2+16(FP), R5 + MOVV a3+24(FP), R6 + MOVV R0, R7 + MOVV R0, R8 + MOVV R0, R9 + MOVV trap+0(FP), R2 // syscall entry + SYSCALL + MOVV R2, r1+32(FP) + MOVV R3, r2+40(FP) + RET diff --git a/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 000000000..6783b26c6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s @@ -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. + +//go:build linux && (mips || mipsle) && gc +// +build linux +// +build mips mipsle +// +build gc + +#include "textflag.h" + +// +// System calls for mips, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + JAL runtime·entersyscall(SB) + MOVW a1+4(FP), R4 + MOVW a2+8(FP), R5 + MOVW a3+12(FP), R6 + MOVW R0, R7 + MOVW trap+0(FP), R2 // syscall entry + SYSCALL + MOVW R2, r1+16(FP) // r1 + MOVW R3, r2+20(FP) // r2 + JAL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVW a1+4(FP), R4 + MOVW a2+8(FP), R5 + MOVW a3+12(FP), R6 + MOVW trap+0(FP), R2 // syscall entry + SYSCALL + MOVW R2, r1+16(FP) + MOVW R3, r2+20(FP) + RET diff --git a/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 000000000..19d498934 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s @@ -0,0 +1,45 @@ +// 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. + +//go:build linux && (ppc64 || ppc64le) && gc +// +build linux +// +build ppc64 ppc64le +// +build gc + +#include "textflag.h" + +// +// System calls for ppc64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R3 + MOVD a2+16(FP), R4 + MOVD a3+24(FP), R5 + MOVD R0, R6 + MOVD R0, R7 + MOVD R0, R8 + MOVD trap+0(FP), R9 // syscall entry + SYSCALL R9 + MOVD R3, r1+32(FP) + MOVD R4, r2+40(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R3 + MOVD a2+16(FP), R4 + MOVD a3+24(FP), R5 + MOVD R0, R6 + MOVD R0, R7 + MOVD R0, R8 + MOVD trap+0(FP), R9 // syscall entry + SYSCALL R9 + MOVD R3, r1+32(FP) + MOVD R4, r2+40(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s new file mode 100644 index 000000000..e42eb81d5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s @@ -0,0 +1,49 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build riscv64 && gc +// +build riscv64 +// +build gc + +#include "textflag.h" + +// +// System calls for linux/riscv64. +// +// Where available, just jump to package syscall's implementation of +// these functions. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + CALL runtime·entersyscall(SB) + MOV a1+8(FP), A0 + MOV a2+16(FP), A1 + MOV a3+24(FP), A2 + MOV trap+0(FP), A7 // syscall entry + ECALL + MOV A0, r1+32(FP) // r1 + MOV A1, r2+40(FP) // r2 + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOV a1+8(FP), A0 + MOV a2+16(FP), A1 + MOV a3+24(FP), A2 + MOV trap+0(FP), A7 // syscall entry + ECALL + MOV A0, r1+32(FP) + MOV A1, r2+40(FP) + RET 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 000000000..c46aab339 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s @@ -0,0 +1,57 @@ +// 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. + +//go:build linux && s390x && gc +// +build linux +// +build s390x +// +build gc + +#include "textflag.h" + +// +// System calls for s390x, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + BR syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + BR syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R2 + MOVD a2+16(FP), R3 + MOVD a3+24(FP), R4 + MOVD $0, R5 + MOVD $0, R6 + MOVD $0, R7 + MOVD trap+0(FP), R1 // syscall entry + SYSCALL + MOVD R2, r1+32(FP) + MOVD R3, r2+40(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + BR syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + BR syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R2 + MOVD a2+16(FP), R3 + MOVD a3+24(FP), R4 + MOVD $0, R5 + MOVD $0, R6 + MOVD $0, R7 + MOVD trap+0(FP), R1 // syscall entry + SYSCALL + MOVD R2, r1+32(FP) + MOVD R3, r2+40(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s new file mode 100644 index 000000000..5e7a1169c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s @@ -0,0 +1,30 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build gc +// +build gc + +#include "textflag.h" + +// +// System call support for mips64, 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_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s new file mode 100644 index 000000000..f8c5394c1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s @@ -0,0 +1,18 @@ +// 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. + +//go:build gc +// +build gc + +#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/asm_zos_s390x.s b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s new file mode 100644 index 000000000..3b54e1858 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s @@ -0,0 +1,426 @@ +// Copyright 2020 The Go 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:build zos && s390x && gc +// +build zos +// +build s390x +// +build gc + +#include "textflag.h" + +#define PSALAA 1208(R0) +#define GTAB64(x) 80(x) +#define LCA64(x) 88(x) +#define CAA(x) 8(x) +#define EDCHPXV(x) 1016(x) // in the CAA +#define SAVSTACK_ASYNC(x) 336(x) // in the LCA + +// SS_*, where x=SAVSTACK_ASYNC +#define SS_LE(x) 0(x) +#define SS_GO(x) 8(x) +#define SS_ERRNO(x) 16(x) +#define SS_ERRNOJR(x) 20(x) + +#define LE_CALL BYTE $0x0D; BYTE $0x76; // BL R7, R6 + +TEXT ·clearErrno(SB),NOSPLIT,$0-0 + BL addrerrno<>(SB) + MOVD $0, 0(R3) + RET + +// Returns the address of errno in R3. +TEXT addrerrno<>(SB),NOSPLIT|NOFRAME,$0-0 + // Get library control area (LCA). + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + + // Get __errno FuncDesc. + MOVD CAA(R8), R9 + MOVD EDCHPXV(R9), R9 + ADD $(0x156*16), R9 + LMG 0(R9), R5, R6 + + // Switch to saved LE stack. + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R4 + MOVD $0, 0(R9) + + // Call __errno function. + LE_CALL + NOPH + + // Switch back to Go stack. + XOR R0, R0 // Restore R0 to $0. + MOVD R4, 0(R9) // Save stack pointer. + RET + +TEXT ·syscall_syscall(SB),NOSPLIT,$0-56 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R1 + MOVD a2+16(FP), R2 + MOVD a3+24(FP), R3 + + // Get library control area (LCA). + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + + // Get function. + MOVD CAA(R8), R9 + MOVD EDCHPXV(R9), R9 + MOVD trap+0(FP), R5 + SLD $4, R5 + ADD R5, R9 + LMG 0(R9), R5, R6 + + // Restore LE stack. + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R4 + MOVD $0, 0(R9) + + // Call function. + LE_CALL + NOPH + XOR R0, R0 // Restore R0 to $0. + MOVD R4, 0(R9) // Save stack pointer. + + MOVD R3, r1+32(FP) + MOVD R0, r2+40(FP) + MOVD R0, err+48(FP) + MOVW R3, R4 + CMP R4, $-1 + BNE done + BL addrerrno<>(SB) + MOVWZ 0(R3), R3 + MOVD R3, err+48(FP) +done: + BL runtime·exitsyscall(SB) + RET + +TEXT ·syscall_rawsyscall(SB),NOSPLIT,$0-56 + MOVD a1+8(FP), R1 + MOVD a2+16(FP), R2 + MOVD a3+24(FP), R3 + + // Get library control area (LCA). + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + + // Get function. + MOVD CAA(R8), R9 + MOVD EDCHPXV(R9), R9 + MOVD trap+0(FP), R5 + SLD $4, R5 + ADD R5, R9 + LMG 0(R9), R5, R6 + + // Restore LE stack. + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R4 + MOVD $0, 0(R9) + + // Call function. + LE_CALL + NOPH + XOR R0, R0 // Restore R0 to $0. + MOVD R4, 0(R9) // Save stack pointer. + + MOVD R3, r1+32(FP) + MOVD R0, r2+40(FP) + MOVD R0, err+48(FP) + MOVW R3, R4 + CMP R4, $-1 + BNE done + BL addrerrno<>(SB) + MOVWZ 0(R3), R3 + MOVD R3, err+48(FP) +done: + RET + +TEXT ·syscall_syscall6(SB),NOSPLIT,$0-80 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R1 + MOVD a2+16(FP), R2 + MOVD a3+24(FP), R3 + + // Get library control area (LCA). + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + + // Get function. + MOVD CAA(R8), R9 + MOVD EDCHPXV(R9), R9 + MOVD trap+0(FP), R5 + SLD $4, R5 + ADD R5, R9 + LMG 0(R9), R5, R6 + + // Restore LE stack. + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R4 + MOVD $0, 0(R9) + + // Fill in parameter list. + MOVD a4+32(FP), R12 + MOVD R12, (2176+24)(R4) + MOVD a5+40(FP), R12 + MOVD R12, (2176+32)(R4) + MOVD a6+48(FP), R12 + MOVD R12, (2176+40)(R4) + + // Call function. + LE_CALL + NOPH + XOR R0, R0 // Restore R0 to $0. + MOVD R4, 0(R9) // Save stack pointer. + + MOVD R3, r1+56(FP) + MOVD R0, r2+64(FP) + MOVD R0, err+72(FP) + MOVW R3, R4 + CMP R4, $-1 + BNE done + BL addrerrno<>(SB) + MOVWZ 0(R3), R3 + MOVD R3, err+72(FP) +done: + BL runtime·exitsyscall(SB) + RET + +TEXT ·syscall_rawsyscall6(SB),NOSPLIT,$0-80 + MOVD a1+8(FP), R1 + MOVD a2+16(FP), R2 + MOVD a3+24(FP), R3 + + // Get library control area (LCA). + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + + // Get function. + MOVD CAA(R8), R9 + MOVD EDCHPXV(R9), R9 + MOVD trap+0(FP), R5 + SLD $4, R5 + ADD R5, R9 + LMG 0(R9), R5, R6 + + // Restore LE stack. + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R4 + MOVD $0, 0(R9) + + // Fill in parameter list. + MOVD a4+32(FP), R12 + MOVD R12, (2176+24)(R4) + MOVD a5+40(FP), R12 + MOVD R12, (2176+32)(R4) + MOVD a6+48(FP), R12 + MOVD R12, (2176+40)(R4) + + // Call function. + LE_CALL + NOPH + XOR R0, R0 // Restore R0 to $0. + MOVD R4, 0(R9) // Save stack pointer. + + MOVD R3, r1+56(FP) + MOVD R0, r2+64(FP) + MOVD R0, err+72(FP) + MOVW R3, R4 + CMP R4, $-1 + BNE done + BL ·rrno<>(SB) + MOVWZ 0(R3), R3 + MOVD R3, err+72(FP) +done: + RET + +TEXT ·syscall_syscall9(SB),NOSPLIT,$0 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R1 + MOVD a2+16(FP), R2 + MOVD a3+24(FP), R3 + + // Get library control area (LCA). + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + + // Get function. + MOVD CAA(R8), R9 + MOVD EDCHPXV(R9), R9 + MOVD trap+0(FP), R5 + SLD $4, R5 + ADD R5, R9 + LMG 0(R9), R5, R6 + + // Restore LE stack. + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R4 + MOVD $0, 0(R9) + + // Fill in parameter list. + MOVD a4+32(FP), R12 + MOVD R12, (2176+24)(R4) + MOVD a5+40(FP), R12 + MOVD R12, (2176+32)(R4) + MOVD a6+48(FP), R12 + MOVD R12, (2176+40)(R4) + MOVD a7+56(FP), R12 + MOVD R12, (2176+48)(R4) + MOVD a8+64(FP), R12 + MOVD R12, (2176+56)(R4) + MOVD a9+72(FP), R12 + MOVD R12, (2176+64)(R4) + + // Call function. + LE_CALL + NOPH + XOR R0, R0 // Restore R0 to $0. + MOVD R4, 0(R9) // Save stack pointer. + + MOVD R3, r1+80(FP) + MOVD R0, r2+88(FP) + MOVD R0, err+96(FP) + MOVW R3, R4 + CMP R4, $-1 + BNE done + BL addrerrno<>(SB) + MOVWZ 0(R3), R3 + MOVD R3, err+96(FP) +done: + BL runtime·exitsyscall(SB) + RET + +TEXT ·syscall_rawsyscall9(SB),NOSPLIT,$0 + MOVD a1+8(FP), R1 + MOVD a2+16(FP), R2 + MOVD a3+24(FP), R3 + + // Get library control area (LCA). + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + + // Get function. + MOVD CAA(R8), R9 + MOVD EDCHPXV(R9), R9 + MOVD trap+0(FP), R5 + SLD $4, R5 + ADD R5, R9 + LMG 0(R9), R5, R6 + + // Restore LE stack. + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R4 + MOVD $0, 0(R9) + + // Fill in parameter list. + MOVD a4+32(FP), R12 + MOVD R12, (2176+24)(R4) + MOVD a5+40(FP), R12 + MOVD R12, (2176+32)(R4) + MOVD a6+48(FP), R12 + MOVD R12, (2176+40)(R4) + MOVD a7+56(FP), R12 + MOVD R12, (2176+48)(R4) + MOVD a8+64(FP), R12 + MOVD R12, (2176+56)(R4) + MOVD a9+72(FP), R12 + MOVD R12, (2176+64)(R4) + + // Call function. + LE_CALL + NOPH + XOR R0, R0 // Restore R0 to $0. + MOVD R4, 0(R9) // Save stack pointer. + + MOVD R3, r1+80(FP) + MOVD R0, r2+88(FP) + MOVD R0, err+96(FP) + MOVW R3, R4 + CMP R4, $-1 + BNE done + BL addrerrno<>(SB) + MOVWZ 0(R3), R3 + MOVD R3, err+96(FP) +done: + RET + +// func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64) +TEXT ·svcCall(SB),NOSPLIT,$0 + BL runtime·save_g(SB) // Save g and stack pointer + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD R15, 0(R9) + + MOVD argv+8(FP), R1 // Move function arguments into registers + MOVD dsa+16(FP), g + MOVD fnptr+0(FP), R15 + + BYTE $0x0D // Branch to function + BYTE $0xEF + + BL runtime·load_g(SB) // Restore g and stack pointer + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R15 + + RET + +// func svcLoad(name *byte) unsafe.Pointer +TEXT ·svcLoad(SB),NOSPLIT,$0 + MOVD R15, R2 // Save go stack pointer + MOVD name+0(FP), R0 // Move SVC args into registers + MOVD $0x80000000, R1 + MOVD $0, R15 + BYTE $0x0A // SVC 08 LOAD + BYTE $0x08 + MOVW R15, R3 // Save return code from SVC + MOVD R2, R15 // Restore go stack pointer + CMP R3, $0 // Check SVC return code + BNE error + + MOVD $-2, R3 // Reset last bit of entry point to zero + AND R0, R3 + MOVD R3, addr+8(FP) // Return entry point returned by SVC + CMP R0, R3 // Check if last bit of entry point was set + BNE done + + MOVD R15, R2 // Save go stack pointer + MOVD $0, R15 // Move SVC args into registers (entry point still in r0 from SVC 08) + BYTE $0x0A // SVC 09 DELETE + BYTE $0x09 + MOVD R2, R15 // Restore go stack pointer + +error: + MOVD $0, addr+8(FP) // Return 0 on failure +done: + XOR R0, R0 // Reset r0 to 0 + RET + +// func svcUnload(name *byte, fnptr unsafe.Pointer) int64 +TEXT ·svcUnload(SB),NOSPLIT,$0 + MOVD R15, R2 // Save go stack pointer + MOVD name+0(FP), R0 // Move SVC args into registers + MOVD addr+8(FP), R15 + BYTE $0x0A // SVC 09 + BYTE $0x09 + XOR R0, R0 // Reset r0 to 0 + MOVD R15, R1 // Save SVC return code + MOVD R2, R15 // Restore go stack pointer + MOVD R1, rc+0(FP) // Return SVC return code + RET + +// func gettid() uint64 +TEXT ·gettid(SB), NOSPLIT, $0 + // Get library control area (LCA). + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + + // Get CEECAATHDID + MOVD CAA(R8), R9 + MOVD 0x3D0(R9), R9 + MOVD R9, ret+0(FP) + + RET 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 000000000..a178a6149 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/bluetooth_linux.go @@ -0,0 +1,36 @@ +// 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 + HCI_CHANNEL_LOGGING = 4 +) + +// 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 000000000..0b7c6adb8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/cap_freebsd.go @@ -0,0 +1,196 @@ +// 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. + +//go:build freebsd +// +build freebsd + +package unix + +import ( + "errors" + "fmt" +) + +// Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c + +const ( + // This is the version of CapRights this package understands. See C implementation for parallels. + capRightsGoVersion = CAP_RIGHTS_VERSION_00 + capArSizeMin = CAP_RIGHTS_VERSION_00 + 2 + capArSizeMax = capRightsGoVersion + 2 +) + +var ( + bit2idx = []int{ + -1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, + 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + } +) + +func capidxbit(right uint64) int { + return int((right >> 57) & 0x1f) +} + +func rightToIndex(right uint64) (int, error) { + idx := capidxbit(right) + if idx < 0 || idx >= len(bit2idx) { + return -2, fmt.Errorf("index for right 0x%x out of range", right) + } + return bit2idx[idx], nil +} + +func caprver(right uint64) int { + return int(right >> 62) +} + +func capver(rights *CapRights) int { + return caprver(rights.Rights[0]) +} + +func caparsize(rights *CapRights) int { + return capver(rights) + 2 +} + +// CapRightsSet sets the permissions in setrights in rights. +func CapRightsSet(rights *CapRights, setrights []uint64) error { + // This is essentially a copy of cap_rights_vset() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return errors.New("bad rights size") + } + + for _, right := range setrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return err + } + if i >= n { + return errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch") + } + rights.Rights[i] |= right + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch (after assign)") + } + } + + return nil +} + +// CapRightsClear clears the permissions in clearrights from rights. +func CapRightsClear(rights *CapRights, clearrights []uint64) error { + // This is essentially a copy of cap_rights_vclear() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return errors.New("bad rights size") + } + + for _, right := range clearrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return err + } + if i >= n { + return errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch") + } + rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF) + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch (after assign)") + } + } + + return nil +} + +// CapRightsIsSet checks whether all the permissions in setrights are present in rights. +func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) { + // This is essentially a copy of cap_rights_is_vset() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return false, fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return false, errors.New("bad rights size") + } + + for _, right := range setrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return false, errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return false, err + } + if i >= n { + return false, errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return false, errors.New("index mismatch") + } + if (rights.Rights[i] & right) != right { + return false, nil + } + } + + return true, nil +} + +func capright(idx uint64, bit uint64) uint64 { + return ((1 << (57 + idx)) | bit) +} + +// CapRightsInit returns a pointer to an initialised CapRights structure filled with rights. +// See man cap_rights_init(3) and rights(4). +func CapRightsInit(rights []uint64) (*CapRights, error) { + var r CapRights + r.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0) + r.Rights[1] = capright(1, 0) + + err := CapRightsSet(&r, rights) + if err != nil { + return nil, err + } + return &r, nil +} + +// CapRightsLimit reduces the operations permitted on fd to at most those contained in rights. +// The capability rights on fd can never be increased by CapRightsLimit. +// See man cap_rights_limit(2) and rights(4). +func CapRightsLimit(fd uintptr, rights *CapRights) error { + return capRightsLimit(int(fd), rights) +} + +// CapRightsGet returns a CapRights structure containing the operations permitted on fd. +// See man cap_rights_get(3) and rights(4). +func CapRightsGet(fd uintptr) (*CapRights, error) { + r, err := CapRightsInit(nil) + if err != nil { + return nil, err + } + err = capRightsGet(capRightsGoVersion, int(fd), r) + if err != nil { + return nil, err + } + return r, nil +} diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go new file mode 100644 index 000000000..394a3965b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/constants.go @@ -0,0 +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. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + +package unix + +const ( + R_OK = 0x4 + W_OK = 0x2 + X_OK = 0x1 +) diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go new file mode 100644 index 000000000..65a998508 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go @@ -0,0 +1,27 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix && ppc +// +build aix,ppc + +// Functions to access/create device major and minor numbers matching the +// encoding used by AIX. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 16) & 0xffff) +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff) +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + return uint64(((major) << 16) | (minor)) +} diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go new file mode 100644 index 000000000..8fc08ad0a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix && ppc64 +// +build aix,ppc64 + +// Functions to access/create device major and minor numbers matching the +// encoding used AIX. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x3fffffff00000000) >> 32) +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + return uint32((dev & 0x00000000ffffffff) >> 0) +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + var DEVNO64 uint64 + DEVNO64 = 0x8000000000000000 + return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) +} diff --git a/vendor/golang.org/x/sys/unix/dev_darwin.go b/vendor/golang.org/x/sys/unix/dev_darwin.go new file mode 100644 index 000000000..8d1dc0fa3 --- /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_dragonfly.go b/vendor/golang.org/x/sys/unix/dev_dragonfly.go new file mode 100644 index 000000000..8502f202c --- /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_freebsd.go b/vendor/golang.org/x/sys/unix/dev_freebsd.go new file mode 100644 index 000000000..eba3b4bd3 --- /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 000000000..d165d6f30 --- /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_netbsd.go b/vendor/golang.org/x/sys/unix/dev_netbsd.go new file mode 100644 index 000000000..b4a203d0c --- /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_openbsd.go b/vendor/golang.org/x/sys/unix/dev_openbsd.go new file mode 100644 index 000000000..f3430c42f --- /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_zos.go b/vendor/golang.org/x/sys/unix/dev_zos.go new file mode 100644 index 000000000..a388e59a0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_zos.go @@ -0,0 +1,29 @@ +// Copyright 2020 The Go 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:build zos && s390x +// +build zos,s390x + +// Functions to access/create device major and minor numbers matching the +// encoding used by z/OS. +// +// The information below is extracted and adapted from <sys/stat.h> macros. + +package unix + +// Major returns the major component of a z/OS device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 16) & 0x0000FFFF) +} + +// Minor returns the minor component of a z/OS device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0x0000FFFF) +} + +// Mkdev returns a z/OS device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 16) | uint64(minor) +} 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 000000000..e74e5eaa3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dirent.go @@ -0,0 +1,103 @@ +// 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. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris +// +build aix darwin dragonfly freebsd linux 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 000000000..a52026557 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/endian_big.go @@ -0,0 +1,10 @@ +// 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. +// +//go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 +// +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64 + +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 000000000..4362f47e2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/endian_little.go @@ -0,0 +1,10 @@ +// 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. +// +//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh +// +build 386 amd64 amd64p32 alpha arm arm64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh + +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 000000000..29ccc4d13 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/env_unix.go @@ -0,0 +1,32 @@ +// 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. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + +// Unix environment variables. + +package unix + +import "syscall" + +func Getenv(key string) (value string, found bool) { + return syscall.Getenv(key) +} + +func Setenv(key, value string) error { + return syscall.Setenv(key, value) +} + +func Clearenv() { + syscall.Clearenv() +} + +func Environ() []string { + return syscall.Environ() +} + +func Unsetenv(key string) error { + return syscall.Unsetenv(key) +} diff --git a/vendor/golang.org/x/sys/unix/epoll_zos.go b/vendor/golang.org/x/sys/unix/epoll_zos.go new file mode 100644 index 000000000..cedaf7e02 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/epoll_zos.go @@ -0,0 +1,221 @@ +// Copyright 2020 The Go 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:build zos && s390x +// +build zos,s390x + +package unix + +import ( + "sync" +) + +// This file simulates epoll on z/OS using poll. + +// Analogous to epoll_event on Linux. +// TODO(neeilan): Pad is because the Linux kernel expects a 96-bit struct. We never pass this to the kernel; remove? +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + EPOLLERR = 0x8 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDNORM = 0x40 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + // The following constants are part of the epoll API, but represent + // currently unsupported functionality on z/OS. + // EPOLL_CLOEXEC = 0x80000 + // EPOLLET = 0x80000000 + // EPOLLONESHOT = 0x40000000 + // EPOLLRDHUP = 0x2000 // Typically used with edge-triggered notis + // EPOLLEXCLUSIVE = 0x10000000 // Exclusive wake-up mode + // EPOLLWAKEUP = 0x20000000 // Relies on Linux's BLOCK_SUSPEND capability +) + +// TODO(neeilan): We can eliminate these epToPoll / pToEpoll calls by using identical mask values for POLL/EPOLL +// constants where possible The lower 16 bits of epoll events (uint32) can fit any system poll event (int16). + +// epToPollEvt converts epoll event field to poll equivalent. +// In epoll, Events is a 32-bit field, while poll uses 16 bits. +func epToPollEvt(events uint32) int16 { + var ep2p = map[uint32]int16{ + EPOLLIN: POLLIN, + EPOLLOUT: POLLOUT, + EPOLLHUP: POLLHUP, + EPOLLPRI: POLLPRI, + EPOLLERR: POLLERR, + } + + var pollEvts int16 = 0 + for epEvt, pEvt := range ep2p { + if (events & epEvt) != 0 { + pollEvts |= pEvt + } + } + + return pollEvts +} + +// pToEpollEvt converts 16 bit poll event bitfields to 32-bit epoll event fields. +func pToEpollEvt(revents int16) uint32 { + var p2ep = map[int16]uint32{ + POLLIN: EPOLLIN, + POLLOUT: EPOLLOUT, + POLLHUP: EPOLLHUP, + POLLPRI: EPOLLPRI, + POLLERR: EPOLLERR, + } + + var epollEvts uint32 = 0 + for pEvt, epEvt := range p2ep { + if (revents & pEvt) != 0 { + epollEvts |= epEvt + } + } + + return epollEvts +} + +// Per-process epoll implementation. +type epollImpl struct { + mu sync.Mutex + epfd2ep map[int]*eventPoll + nextEpfd int +} + +// eventPoll holds a set of file descriptors being watched by the process. A process can have multiple epoll instances. +// On Linux, this is an in-kernel data structure accessed through a fd. +type eventPoll struct { + mu sync.Mutex + fds map[int]*EpollEvent +} + +// epoll impl for this process. +var impl epollImpl = epollImpl{ + epfd2ep: make(map[int]*eventPoll), + nextEpfd: 0, +} + +func (e *epollImpl) epollcreate(size int) (epfd int, err error) { + e.mu.Lock() + defer e.mu.Unlock() + epfd = e.nextEpfd + e.nextEpfd++ + + e.epfd2ep[epfd] = &eventPoll{ + fds: make(map[int]*EpollEvent), + } + return epfd, nil +} + +func (e *epollImpl) epollcreate1(flag int) (fd int, err error) { + return e.epollcreate(4) +} + +func (e *epollImpl) epollctl(epfd int, op int, fd int, event *EpollEvent) (err error) { + e.mu.Lock() + defer e.mu.Unlock() + + ep, ok := e.epfd2ep[epfd] + if !ok { + + return EBADF + } + + switch op { + case EPOLL_CTL_ADD: + // TODO(neeilan): When we make epfds and fds disjoint, detect epoll + // loops here (instances watching each other) and return ELOOP. + if _, ok := ep.fds[fd]; ok { + return EEXIST + } + ep.fds[fd] = event + case EPOLL_CTL_MOD: + if _, ok := ep.fds[fd]; !ok { + return ENOENT + } + ep.fds[fd] = event + case EPOLL_CTL_DEL: + if _, ok := ep.fds[fd]; !ok { + return ENOENT + } + delete(ep.fds, fd) + + } + return nil +} + +// Must be called while holding ep.mu +func (ep *eventPoll) getFds() []int { + fds := make([]int, len(ep.fds)) + for fd := range ep.fds { + fds = append(fds, fd) + } + return fds +} + +func (e *epollImpl) epollwait(epfd int, events []EpollEvent, msec int) (n int, err error) { + e.mu.Lock() // in [rare] case of concurrent epollcreate + epollwait + ep, ok := e.epfd2ep[epfd] + + if !ok { + e.mu.Unlock() + return 0, EBADF + } + + pollfds := make([]PollFd, 4) + for fd, epollevt := range ep.fds { + pollfds = append(pollfds, PollFd{Fd: int32(fd), Events: epToPollEvt(epollevt.Events)}) + } + e.mu.Unlock() + + n, err = Poll(pollfds, msec) + if err != nil { + return n, err + } + + i := 0 + for _, pFd := range pollfds { + if pFd.Revents != 0 { + events[i] = EpollEvent{Fd: pFd.Fd, Events: pToEpollEvt(pFd.Revents)} + i++ + } + + if i == n { + break + } + } + + return n, nil +} + +func EpollCreate(size int) (fd int, err error) { + return impl.epollcreate(size) +} + +func EpollCreate1(flag int) (fd int, err error) { + return impl.epollcreate1(flag) +} + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + return impl.epollctl(epfd, op, fd, event) +} + +// Because EpollWait mutates events, the caller is expected to coordinate +// concurrent access if calling with the same epfd from multiple goroutines. +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + return impl.epollwait(epfd, events, msec) +} 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 000000000..761db66ef --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go @@ -0,0 +1,233 @@ +// 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 ( + DLT_HHDLC = 0x79 + 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 + IPV6_MIN_MEMBERSHIPS = 0x1f + IP_FAITH = 0x16 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MIN_MEMBERSHIPS = 0x1f + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RT_CACHING_CONTEXT = 0x1 + RT_NORTREF = 0x2 + 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 000000000..070f44b65 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go @@ -0,0 +1,233 @@ +// 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 ( + DLT_HHDLC = 0x79 + 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 + IPV6_MIN_MEMBERSHIPS = 0x1f + IP_FAITH = 0x16 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MIN_MEMBERSHIPS = 0x1f + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RT_CACHING_CONTEXT = 0x1 + RT_NORTREF = 0x2 + 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 000000000..856dca325 --- /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/errors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go new file mode 100644 index 000000000..946dcf3fc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go @@ -0,0 +1,17 @@ +// Copyright 2020 The Go 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 ( + DLT_HHDLC = 0x79 + IPV6_MIN_MEMBERSHIPS = 0x1f + IP_MAX_SOURCE_FILTER = 0x400 + IP_MIN_MEMBERSHIPS = 0x1f + RT_CACHING_CONTEXT = 0x1 + RT_NORTREF = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/fcntl.go b/vendor/golang.org/x/sys/unix/fcntl.go new file mode 100644 index 000000000..e9b991258 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/fcntl.go @@ -0,0 +1,37 @@ +// 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. + +//go:build dragonfly || freebsd || linux || netbsd || openbsd +// +build dragonfly freebsd linux netbsd openbsd + +package unix + +import "unsafe" + +// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux +// systems by fcntl_linux_32bit.go to be SYS_FCNTL64. +var fcntl64Syscall uintptr = SYS_FCNTL + +func fcntl(fd int, cmd, arg int) (int, error) { + valptr, _, errno := Syscall(fcntl64Syscall, uintptr(fd), uintptr(cmd), uintptr(arg)) + var err error + if errno != 0 { + err = errno + } + return int(valptr), err +} + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + return fcntl(int(fd), cmd, arg) +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, 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/fcntl_darwin.go b/vendor/golang.org/x/sys/unix/fcntl_darwin.go new file mode 100644 index 000000000..a9911c7c1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/fcntl_darwin.go @@ -0,0 +1,24 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import "unsafe" + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + return fcntl(int(fd), cmd, arg) +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) + return err +} + +// FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. +func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { + _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) + return err +} diff --git a/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go new file mode 100644 index 000000000..29d44808b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.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. + +//go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) +// +build linux,386 linux,arm linux,mips linux,mipsle linux,ppc + +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/fdset.go b/vendor/golang.org/x/sys/unix/fdset.go new file mode 100644 index 000000000..a8068f94f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/fdset.go @@ -0,0 +1,30 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + +package unix + +// Set adds fd to the set fds. +func (fds *FdSet) Set(fd int) { + fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) +} + +// Clear removes fd from the set fds. +func (fds *FdSet) Clear(fd int) { + fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) +} + +// IsSet returns whether fd is in the set fds. +func (fds *FdSet) IsSet(fd int) bool { + return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 +} + +// Zero clears the set fds. +func (fds *FdSet) Zero() { + for i := range fds.Bits { + fds.Bits[i] = 0 + } +} diff --git a/vendor/golang.org/x/sys/unix/fstatfs_zos.go b/vendor/golang.org/x/sys/unix/fstatfs_zos.go new file mode 100644 index 000000000..e377cc9f4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/fstatfs_zos.go @@ -0,0 +1,164 @@ +// Copyright 2020 The Go 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:build zos && s390x +// +build zos,s390x + +package unix + +import ( + "unsafe" +) + +// This file simulates fstatfs on z/OS using fstatvfs and w_getmntent. + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + var stat_v Statvfs_t + err = Fstatvfs(fd, &stat_v) + if err == nil { + // populate stat + stat.Type = 0 + stat.Bsize = stat_v.Bsize + stat.Blocks = stat_v.Blocks + stat.Bfree = stat_v.Bfree + stat.Bavail = stat_v.Bavail + stat.Files = stat_v.Files + stat.Ffree = stat_v.Ffree + stat.Fsid = stat_v.Fsid + stat.Namelen = stat_v.Namemax + stat.Frsize = stat_v.Frsize + stat.Flags = stat_v.Flag + for passn := 0; passn < 5; passn++ { + switch passn { + case 0: + err = tryGetmntent64(stat) + break + case 1: + err = tryGetmntent128(stat) + break + case 2: + err = tryGetmntent256(stat) + break + case 3: + err = tryGetmntent512(stat) + break + case 4: + err = tryGetmntent1024(stat) + break + default: + break + } + //proceed to return if: err is nil (found), err is nonnil but not ERANGE (another error occurred) + if err == nil || err != nil && err != ERANGE { + break + } + } + } + return err +} + +func tryGetmntent64(stat *Statfs_t) (err error) { + var mnt_ent_buffer struct { + header W_Mnth + filesys_info [64]W_Mntent + } + var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) + fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) + if err != nil { + return err + } + err = ERANGE //return ERANGE if no match is found in this batch + for i := 0; i < fs_count; i++ { + if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { + stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) + err = nil + break + } + } + return err +} + +func tryGetmntent128(stat *Statfs_t) (err error) { + var mnt_ent_buffer struct { + header W_Mnth + filesys_info [128]W_Mntent + } + var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) + fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) + if err != nil { + return err + } + err = ERANGE //return ERANGE if no match is found in this batch + for i := 0; i < fs_count; i++ { + if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { + stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) + err = nil + break + } + } + return err +} + +func tryGetmntent256(stat *Statfs_t) (err error) { + var mnt_ent_buffer struct { + header W_Mnth + filesys_info [256]W_Mntent + } + var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) + fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) + if err != nil { + return err + } + err = ERANGE //return ERANGE if no match is found in this batch + for i := 0; i < fs_count; i++ { + if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { + stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) + err = nil + break + } + } + return err +} + +func tryGetmntent512(stat *Statfs_t) (err error) { + var mnt_ent_buffer struct { + header W_Mnth + filesys_info [512]W_Mntent + } + var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) + fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) + if err != nil { + return err + } + err = ERANGE //return ERANGE if no match is found in this batch + for i := 0; i < fs_count; i++ { + if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { + stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) + err = nil + break + } + } + return err +} + +func tryGetmntent1024(stat *Statfs_t) (err error) { + var mnt_ent_buffer struct { + header W_Mnth + filesys_info [1024]W_Mntent + } + var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) + fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) + if err != nil { + return err + } + err = ERANGE //return ERANGE if no match is found in this batch + for i := 0; i < fs_count; i++ { + if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { + stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) + err = nil + break + } + } + return err +} 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 000000000..0dee23222 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo.go @@ -0,0 +1,60 @@ +// 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:build gccgo && !aix +// +build gccgo,!aix + +package unix + +import "syscall" + +// We can't use the gc-syntax .s files for gccgo. On the plus side +// much of the functionality can be written directly in Go. + +func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr) + +func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) + +func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { + syscall.Entersyscall() + r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + syscall.Exitsyscall() + return r, 0 +} + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { + r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + return r, 0 +} + +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + return r, 0, syscall.Errno(errno) +} + +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) + return r, 0, syscall.Errno(errno) +} diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c new file mode 100644 index 000000000..2cb1fefac --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo_c.c @@ -0,0 +1,45 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo +// +build !aix + +#include <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) + __asm__(GOSYM_PREFIX GOPKGPATH ".realSyscall"); + +struct ret +gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) +{ + struct ret r; + + errno = 0; + r.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); + r.err = errno; + return r; +} + +uintptr_t gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) + __asm__(GOSYM_PREFIX GOPKGPATH ".realSyscallNoError"); + +uintptr_t +gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) +{ + return syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); +} diff --git a/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 000000000..e60e49a3d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.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. + +//go:build gccgo && linux && amd64 +// +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/ioctl.go b/vendor/golang.org/x/sys/unix/ioctl.go new file mode 100644 index 000000000..6c7ad052e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ioctl.go @@ -0,0 +1,75 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import ( + "runtime" + "unsafe" +) + +// 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)) +} + +// IoctlSetPointerInt performs an ioctl operation which sets an +// integer value on fd, using the specified request number. The ioctl +// argument is called with a pointer to the integer value, rather than +// passing the integer value directly. +func IoctlSetPointerInt(fd int, req uint, value int) error { + v := int32(value) + return ioctl(fd, req, uintptr(unsafe.Pointer(&v))) +} + +// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. +// +// To change fd's window size, the req argument should be TIOCSWINSZ. +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + // TODO: if we get the chance, remove the req parameter and + // hardcode TIOCSWINSZ. + err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +// IoctlSetTermios performs an ioctl on fd with a *Termios. +// +// The req value will usually be TCSETA or TIOCSETA. +func IoctlSetTermios(fd int, req uint, value *Termios) error { + // TODO: if we get the chance, remove the req parameter. + err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +// +// A few ioctl requests use the return value as an output parameter; +// for those, IoctlRetInt should be used instead of this function. +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 +} diff --git a/vendor/golang.org/x/sys/unix/ioctl_linux.go b/vendor/golang.org/x/sys/unix/ioctl_linux.go new file mode 100644 index 000000000..48773f730 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ioctl_linux.go @@ -0,0 +1,196 @@ +// Copyright 2021 The Go 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 ( + "runtime" + "unsafe" +) + +// IoctlRetInt performs an ioctl operation specified by req on a device +// associated with opened file descriptor fd, and returns a non-negative +// integer that is returned by the ioctl syscall. +func IoctlRetInt(fd int, req uint) (int, error) { + ret, _, err := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), 0) + if err != 0 { + return 0, err + } + return int(ret), nil +} + +func IoctlGetUint32(fd int, req uint) (uint32, error) { + var value uint32 + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetRTCTime(fd int) (*RTCTime, error) { + var value RTCTime + err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlSetRTCTime(fd int, value *RTCTime) error { + err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +func IoctlGetRTCWkAlrm(fd int) (*RTCWkAlrm, error) { + var value RTCWkAlrm + err := ioctl(fd, RTC_WKALM_RD, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlSetRTCWkAlrm(fd int, value *RTCWkAlrm) error { + err := ioctl(fd, RTC_WKALM_SET, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +type ifreqEthtool struct { + name [IFNAMSIZ]byte + data unsafe.Pointer +} + +// IoctlGetEthtoolDrvinfo fetches ethtool driver information for the network +// device specified by ifname. +func IoctlGetEthtoolDrvinfo(fd int, ifname string) (*EthtoolDrvinfo, error) { + // Leave room for terminating NULL byte. + if len(ifname) >= IFNAMSIZ { + return nil, EINVAL + } + + value := EthtoolDrvinfo{ + Cmd: ETHTOOL_GDRVINFO, + } + ifreq := ifreqEthtool{ + data: unsafe.Pointer(&value), + } + copy(ifreq.name[:], ifname) + err := ioctl(fd, SIOCETHTOOL, uintptr(unsafe.Pointer(&ifreq))) + runtime.KeepAlive(ifreq) + return &value, err +} + +// IoctlGetWatchdogInfo fetches information about a watchdog device from the +// Linux watchdog API. For more information, see: +// https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html. +func IoctlGetWatchdogInfo(fd int) (*WatchdogInfo, error) { + var value WatchdogInfo + err := ioctl(fd, WDIOC_GETSUPPORT, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +// IoctlWatchdogKeepalive issues a keepalive ioctl to a watchdog device. For +// more information, see: +// https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html. +func IoctlWatchdogKeepalive(fd int) error { + return ioctl(fd, WDIOC_KEEPALIVE, 0) +} + +// IoctlFileCloneRange performs an FICLONERANGE ioctl operation to clone the +// range of data conveyed in value to the file associated with the file +// descriptor destFd. See the ioctl_ficlonerange(2) man page for details. +func IoctlFileCloneRange(destFd int, value *FileCloneRange) error { + err := ioctl(destFd, FICLONERANGE, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +// IoctlFileClone performs an FICLONE ioctl operation to clone the entire file +// associated with the file description srcFd to the file associated with the +// file descriptor destFd. See the ioctl_ficlone(2) man page for details. +func IoctlFileClone(destFd, srcFd int) error { + return ioctl(destFd, FICLONE, uintptr(srcFd)) +} + +type FileDedupeRange struct { + Src_offset uint64 + Src_length uint64 + Reserved1 uint16 + Reserved2 uint32 + Info []FileDedupeRangeInfo +} + +type FileDedupeRangeInfo struct { + Dest_fd int64 + Dest_offset uint64 + Bytes_deduped uint64 + Status int32 + Reserved uint32 +} + +// IoctlFileDedupeRange performs an FIDEDUPERANGE ioctl operation to share the +// range of data conveyed in value from the file associated with the file +// descriptor srcFd to the value.Info destinations. See the +// ioctl_fideduperange(2) man page for details. +func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error { + buf := make([]byte, SizeofRawFileDedupeRange+ + len(value.Info)*SizeofRawFileDedupeRangeInfo) + rawrange := (*RawFileDedupeRange)(unsafe.Pointer(&buf[0])) + rawrange.Src_offset = value.Src_offset + rawrange.Src_length = value.Src_length + rawrange.Dest_count = uint16(len(value.Info)) + rawrange.Reserved1 = value.Reserved1 + rawrange.Reserved2 = value.Reserved2 + + for i := range value.Info { + rawinfo := (*RawFileDedupeRangeInfo)(unsafe.Pointer( + uintptr(unsafe.Pointer(&buf[0])) + uintptr(SizeofRawFileDedupeRange) + + uintptr(i*SizeofRawFileDedupeRangeInfo))) + rawinfo.Dest_fd = value.Info[i].Dest_fd + rawinfo.Dest_offset = value.Info[i].Dest_offset + rawinfo.Bytes_deduped = value.Info[i].Bytes_deduped + rawinfo.Status = value.Info[i].Status + rawinfo.Reserved = value.Info[i].Reserved + } + + err := ioctl(srcFd, FIDEDUPERANGE, uintptr(unsafe.Pointer(&buf[0]))) + + // Output + for i := range value.Info { + rawinfo := (*RawFileDedupeRangeInfo)(unsafe.Pointer( + uintptr(unsafe.Pointer(&buf[0])) + uintptr(SizeofRawFileDedupeRange) + + uintptr(i*SizeofRawFileDedupeRangeInfo))) + value.Info[i].Dest_fd = rawinfo.Dest_fd + value.Info[i].Dest_offset = rawinfo.Dest_offset + value.Info[i].Bytes_deduped = rawinfo.Bytes_deduped + value.Info[i].Status = rawinfo.Status + value.Info[i].Reserved = rawinfo.Reserved + } + + return err +} + +func IoctlHIDGetDesc(fd int, value *HIDRawReportDescriptor) error { + err := ioctl(fd, HIDIOCGRDESC, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +func IoctlHIDGetRawInfo(fd int) (*HIDRawDevInfo, error) { + var value HIDRawDevInfo + err := ioctl(fd, HIDIOCGRAWINFO, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlHIDGetRawName(fd int) (string, error) { + var value [_HIDIOCGRAWNAME_LEN]byte + err := ioctl(fd, _HIDIOCGRAWNAME, uintptr(unsafe.Pointer(&value[0]))) + return ByteSliceToString(value[:]), err +} + +func IoctlHIDGetRawPhys(fd int) (string, error) { + var value [_HIDIOCGRAWPHYS_LEN]byte + err := ioctl(fd, _HIDIOCGRAWPHYS, uintptr(unsafe.Pointer(&value[0]))) + return ByteSliceToString(value[:]), err +} + +func IoctlHIDGetRawUniq(fd int) (string, error) { + var value [_HIDIOCGRAWUNIQ_LEN]byte + err := ioctl(fd, _HIDIOCGRAWUNIQ, uintptr(unsafe.Pointer(&value[0]))) + return ByteSliceToString(value[:]), err +} diff --git a/vendor/golang.org/x/sys/unix/ioctl_zos.go b/vendor/golang.org/x/sys/unix/ioctl_zos.go new file mode 100644 index 000000000..5384e7d91 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ioctl_zos.go @@ -0,0 +1,74 @@ +// Copyright 2020 The Go 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:build zos && s390x +// +build zos,s390x + +package unix + +import ( + "runtime" + "unsafe" +) + +// 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)) +} + +// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. +// +// To change fd's window size, the req argument should be TIOCSWINSZ. +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + // TODO: if we get the chance, remove the req parameter and + // hardcode TIOCSWINSZ. + err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +// IoctlSetTermios performs an ioctl on fd with a *Termios. +// +// The req value is expected to be TCSETS, TCSETSW, or TCSETSF +func IoctlSetTermios(fd int, req uint, value *Termios) error { + if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) { + return ENOSYS + } + err := Tcsetattr(fd, int(req), value) + runtime.KeepAlive(value) + return err +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +// +// A few ioctl requests use the return value as an output parameter; +// for those, IoctlRetInt should be used instead of this function. +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 +} + +// IoctlGetTermios performs an ioctl on fd with a *Termios. +// +// The req value is expected to be TCGETS +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + if req != TCGETS { + return &value, ENOSYS + } + err := Tcgetattr(fd, &value) + return &value, err +} diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh new file mode 100644 index 000000000..396aadf86 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkall.sh @@ -0,0 +1,231 @@ +#!/usr/bin/env bash +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# This script runs or (given -n) prints suggested commands to generate files for +# the Architecture/OS specified by the GOARCH and GOOS environment variables. +# See README.md for more information about how the build system works. + +GOOSARCH="${GOOS}_${GOARCH}" + +# defaults +mksyscall="go run mksyscall.go" +mkerrors="./mkerrors.sh" +zerrors="zerrors_$GOOSARCH.go" +mksysctl="" +zsysctl="zsysctl_$GOOSARCH.go" +mksysnum= +mktypes= +mkasm= +run="sh" +cmd="" + +case "$1" in +-syscalls) + for i in zsyscall*go + do + # Run the command line that appears in the first line + # of the generated file to regenerate it. + sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i + rm _$i + done + exit 0 + ;; +-n) + run="cat" + cmd="echo" + shift +esac + +case "$#" in +0) + ;; +*) + echo 'usage: mkall.sh [-n]' 1>&2 + exit 2 +esac + +if [[ "$GOOS" = "linux" ]]; then + # Use the Docker-based build system + # Files generated through docker (use $cmd so you can Ctl-C the build or run) + $cmd docker build --tag generate:$GOOS $GOOS + $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")" && /bin/pwd):/build generate:$GOOS + exit +fi + +GOOSARCH_in=syscall_$GOOSARCH.go +case "$GOOSARCH" in +_* | *_ | _) + echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 + exit 1 + ;; +aix_ppc) + mkerrors="$mkerrors -maix32" + mksyscall="go run mksyscall_aix_ppc.go -aix" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +aix_ppc64) + mkerrors="$mkerrors -maix64" + mksyscall="go run mksyscall_aix_ppc64.go -aix" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +darwin_amd64) + mkerrors="$mkerrors -m64" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +darwin_arm64) + mkerrors="$mkerrors -m64" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +dragonfly_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -dragonfly" + mksysnum="go run mksysnum.go 'https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_amd64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -arm" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +freebsd_arm64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +netbsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32 -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -netbsd -arm" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +netbsd_arm64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32 -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -openbsd -arm" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +openbsd_arm64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +openbsd_mips64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +solaris_amd64) + mksyscall="go run mksyscall_solaris.go" + mkerrors="$mkerrors -m64" + mksysnum= + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +illumos_amd64) + mksyscall="go run mksyscall_solaris.go" + mkerrors= + mksysnum= + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +*) + echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 + exit 1 + ;; +esac + +( + if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi + case "$GOOS" in + *) + syscall_goos="syscall_$GOOS.go" + case "$GOOS" in + darwin | dragonfly | freebsd | netbsd | openbsd) + syscall_goos="syscall_bsd.go $syscall_goos" + ;; + esac + if [ -n "$mksyscall" ]; then + if [ "$GOOSARCH" == "aix_ppc64" ]; then + # aix/ppc64 script generates files instead of writing to stdin. + echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ; + elif [ "$GOOS" == "darwin" ]; then + # 1.12 and later, syscalls via libSystem + echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; + # 1.13 and later, syscalls via libSystem (including syscallPtr) + echo "$mksyscall -tags $GOOS,$GOARCH,go1.13 syscall_darwin.1_13.go |gofmt >zsyscall_$GOOSARCH.1_13.go"; + elif [ "$GOOS" == "illumos" ]; then + # illumos code generation requires a --illumos switch + echo "$mksyscall -illumos -tags illumos,$GOARCH syscall_illumos.go |gofmt > zsyscall_illumos_$GOARCH.go"; + # illumos implies solaris, so solaris code generation is also required + echo "$mksyscall -tags solaris,$GOARCH syscall_solaris.go syscall_solaris_$GOARCH.go |gofmt >zsyscall_solaris_$GOARCH.go"; + else + echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; + fi + fi + esac + if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi + if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi + if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi + if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi +) | $run diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh new file mode 100644 index 000000000..6e6afcaa1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -0,0 +1,759 @@ +#!/usr/bin/env bash +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Generate Go code listing errors and other #defined constant +# values (ENAMETOOLONG etc.), by asking the preprocessor +# about the definitions. + +unset LANG +export LC_ALL=C +export LC_CTYPE=C + +if test -z "$GOARCH" -o -z "$GOOS"; then + echo 1>&2 "GOARCH or GOOS not defined in environment" + exit 1 +fi + +# Check that we are using the new build system if we should +if [[ "$GOOS" = "linux" ]] && [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then + echo 1>&2 "In the Docker based build system, mkerrors should not be called directly." + echo 1>&2 "See README.md" + exit 1 +fi + +if [[ "$GOOS" = "aix" ]]; then + CC=${CC:-gcc} +else + CC=${CC:-cc} +fi + +if [[ "$GOOS" = "solaris" ]]; then + # Assumes GNU versions of utilities in PATH. + export PATH=/usr/gnu/bin:$PATH +fi + +uname=$(uname) + +includes_AIX=' +#include <net/if.h> +#include <net/netopt.h> +#include <netinet/ip_mroute.h> +#include <sys/protosw.h> +#include <sys/stropts.h> +#include <sys/mman.h> +#include <sys/poll.h> +#include <sys/select.h> +#include <sys/termio.h> +#include <termios.h> +#include <fcntl.h> + +#define AF_LOCAL AF_UNIX +' + +includes_Darwin=' +#define _DARWIN_C_SOURCE +#define KERNEL +#define _DARWIN_USE_64_BIT_INODE +#define __APPLE_USE_RFC_3542 +#include <stdint.h> +#include <sys/attr.h> +#include <sys/clonefile.h> +#include <sys/kern_control.h> +#include <sys/types.h> +#include <sys/event.h> +#include <sys/ptrace.h> +#include <sys/select.h> +#include <sys/socket.h> +#include <sys/un.h> +#include <sys/sockio.h> +#include <sys/sys_domain.h> +#include <sys/sysctl.h> +#include <sys/mman.h> +#include <sys/mount.h> +#include <sys/utsname.h> +#include <sys/wait.h> +#include <sys/xattr.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/select.h> +#include <sys/socket.h> +#include <sys/sockio.h> +#include <sys/stat.h> +#include <sys/sysctl.h> +#include <sys/mman.h> +#include <sys/mount.h> +#include <sys/wait.h> +#include <sys/ioctl.h> +#include <net/bpf.h> +#include <net/if.h> +#include <net/if_clone.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/capsicum.h> +#include <sys/param.h> +#include <sys/types.h> +#include <sys/disk.h> +#include <sys/event.h> +#include <sys/sched.h> +#include <sys/select.h> +#include <sys/socket.h> +#include <sys/un.h> +#include <sys/sockio.h> +#include <sys/stat.h> +#include <sys/sysctl.h> +#include <sys/mman.h> +#include <sys/mount.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/select.h> +#include <sys/signalfd.h> +#include <sys/socket.h> +#include <sys/timerfd.h> +#include <sys/uio.h> +#include <sys/xattr.h> +#include <linux/bpf.h> +#include <linux/can.h> +#include <linux/can/error.h> +#include <linux/can/raw.h> +#include <linux/capability.h> +#include <linux/cryptouser.h> +#include <linux/devlink.h> +#include <linux/dm-ioctl.h> +#include <linux/errqueue.h> +#include <linux/ethtool_netlink.h> +#include <linux/falloc.h> +#include <linux/fanotify.h> +#include <linux/filter.h> +#include <linux/fs.h> +#include <linux/fscrypt.h> +#include <linux/fsverity.h> +#include <linux/genetlink.h> +#include <linux/hdreg.h> +#include <linux/hidraw.h> +#include <linux/icmp.h> +#include <linux/icmpv6.h> +#include <linux/if.h> +#include <linux/if_addr.h> +#include <linux/if_alg.h> +#include <linux/if_arp.h> +#include <linux/if_ether.h> +#include <linux/if_ppp.h> +#include <linux/if_tun.h> +#include <linux/if_packet.h> +#include <linux/if_xdp.h> +#include <linux/input.h> +#include <linux/kexec.h> +#include <linux/keyctl.h> +#include <linux/loop.h> +#include <linux/lwtunnel.h> +#include <linux/magic.h> +#include <linux/memfd.h> +#include <linux/module.h> +#include <linux/netfilter/nfnetlink.h> +#include <linux/netlink.h> +#include <linux/net_namespace.h> +#include <linux/nfc.h> +#include <linux/nsfs.h> +#include <linux/perf_event.h> +#include <linux/pps.h> +#include <linux/ptrace.h> +#include <linux/random.h> +#include <linux/reboot.h> +#include <linux/rtc.h> +#include <linux/rtnetlink.h> +#include <linux/sched.h> +#include <linux/seccomp.h> +#include <linux/serial.h> +#include <linux/sockios.h> +#include <linux/taskstats.h> +#include <linux/tipc.h> +#include <linux/vm_sockets.h> +#include <linux/wait.h> +#include <linux/watchdog.h> + +#include <mtd/ubi-user.h> +#include <mtd/mtd-user.h> +#include <net/route.h> + +#if defined(__sparc__) +// On sparc{,64}, the kernel defines struct termios2 itself which clashes with the +// definition in glibc. As only the error constants are needed here, include the +// generic termibits.h (which is included by termbits.h on sparc). +#include <asm-generic/termbits.h> +#else +#include <asm/termbits.h> +#endif + +#ifndef MSG_FASTOPEN +#define MSG_FASTOPEN 0x20000000 +#endif + +#ifndef PTRACE_GETREGS +#define PTRACE_GETREGS 0xc +#endif + +#ifndef PTRACE_SETREGS +#define PTRACE_SETREGS 0xd +#endif + +#ifndef SOL_NETLINK +#define SOL_NETLINK 270 +#endif + +#ifdef SOL_BLUETOOTH +// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h +// but it is already in bluetooth_linux.go +#undef SOL_BLUETOOTH +#endif + +// Certain constants are missing from the fs/crypto UAPI +#define FS_KEY_DESC_PREFIX "fscrypt:" +#define FS_KEY_DESC_PREFIX_SIZE 8 +#define FS_MAX_KEY_SIZE 64 + +// The code generator produces -0x1 for (~0), but an unsigned value is necessary +// for the tipc_subscr timeout __u32 field. +#undef TIPC_WAIT_FOREVER +#define TIPC_WAIT_FOREVER 0xffffffff + +// Copied from linux/l2tp.h +// Including linux/l2tp.h here causes conflicts between linux/in.h +// and netinet/in.h included via net/route.h above. +#define IPPROTO_L2TP 115 + +// Copied from linux/hid.h. +// Keep in sync with the size of the referenced fields. +#define _HIDIOCGRAWNAME_LEN 128 // sizeof_field(struct hid_device, name) +#define _HIDIOCGRAWPHYS_LEN 64 // sizeof_field(struct hid_device, phys) +#define _HIDIOCGRAWUNIQ_LEN 64 // sizeof_field(struct hid_device, uniq) + +#define _HIDIOCGRAWNAME HIDIOCGRAWNAME(_HIDIOCGRAWNAME_LEN) +#define _HIDIOCGRAWPHYS HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN) +#define _HIDIOCGRAWUNIQ HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN) + +' + +includes_NetBSD=' +#include <sys/types.h> +#include <sys/param.h> +#include <sys/event.h> +#include <sys/extattr.h> +#include <sys/mman.h> +#include <sys/mount.h> +#include <sys/sched.h> +#include <sys/select.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/mount.h> +#include <sys/select.h> +#include <sys/sched.h> +#include <sys/socket.h> +#include <sys/sockio.h> +#include <sys/stat.h> +#include <sys/sysctl.h> +#include <sys/termios.h> +#include <sys/ttycom.h> +#include <sys/unistd.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/select.h> +#include <sys/socket.h> +#include <sys/sockio.h> +#include <sys/stat.h> +#include <sys/stream.h> +#include <sys/mman.h> +#include <sys/wait.h> +#include <sys/ioctl.h> +#include <sys/mkdev.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/icmp6.h> +#include <netinet/in.h> +#include <netinet/ip.h> +#include <netinet/ip_mroute.h> +#include <termios.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 !~ /^ECCAPBITS/ && + $2 !~ /^ETH_/ && + $2 !~ /^EPROC_/ && + $2 !~ /^EQUIV_/ && + $2 !~ /^EXPR_/ && + $2 !~ /^EVIOC/ && + $2 !~ /^EV_/ && + $2 ~ /^E[A-Z0-9_]+$/ || + $2 ~ /^B[0-9_]+$/ || + $2 ~ /^(OLD|NEW)DEV$/ || + $2 == "BOTHER" || + $2 ~ /^CI?BAUD(EX)?$/ || + $2 == "IBSHIFT" || + $2 ~ /^V[A-Z0-9]+$/ || + $2 ~ /^CS[A-Z0-9]/ || + $2 ~ /^I(SIG|CANON|CRNL|UCLC|EXTEN|MAXBEL|STRIP|UTF8)$/ || + $2 ~ /^IGN/ || + $2 ~ /^IX(ON|ANY|OFF)$/ || + $2 ~ /^IN(LCR|PCK)$/ || + $2 !~ "X86_CR3_PCID_NOFLUSH" && + $2 ~ /(^FLU?SH)|(FLU?SH$)/ || + $2 ~ /^C(LOCAL|READ|MSPAR|RTSCTS)$/ || + $2 == "BRKINT" || + $2 == "HUPCL" || + $2 == "PENDIN" || + $2 == "TOSTOP" || + $2 == "XCASE" || + $2 == "ALTWERASE" || + $2 == "NOKERNINFO" || + $2 == "NFDBITS" || + $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 ~ /^LO_(KEY|NAME)_SIZE$/ || + $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ || + $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ || + $2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ || + $2 ~ /^NFC_.*_(MAX)?SIZE$/ || + $2 ~ /^RAW_PAYLOAD_/ || + $2 ~ /^TP_STATUS_/ || + $2 ~ /^FALLOC_/ || + $2 ~ /^ICMPV?6?_(FILTER|SEC)/ || + $2 == "SOMAXCONN" || + $2 == "NAME_MAX" || + $2 == "IFNAMSIZ" || + $2 ~ /^CTL_(HW|KERN|MAXNAME|NET|QUERY)$/ || + $2 ~ /^KERN_(HOSTNAME|OS(RELEASE|TYPE)|VERSION)$/ || + $2 ~ /^HW_MACHINE$/ || + $2 ~ /^SYSCTL_VERS/ || + $2 !~ "MNT_BITS" && + $2 ~ /^(MS|MNT|UMOUNT)_/ || + $2 ~ /^NS_GET_/ || + $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || + $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT|TFD)_/ || + $2 ~ /^KEXEC_/ || + $2 ~ /^LINUX_REBOOT_CMD_/ || + $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ || + $2 ~ /^MODULE_INIT_/ || + $2 !~ "NLA_TYPE_MASK" && + $2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ && + $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || + $2 ~ /^FIORDCHK$/ || + $2 ~ /^SIOC/ || + $2 ~ /^TIOC/ || + $2 ~ /^TCGET/ || + $2 ~ /^TCSET/ || + $2 ~ /^TC(FLSH|SBRKP?|XONC)$/ || + $2 !~ "RTF_BITS" && + $2 ~ /^(IFF|IFT|NET_RT|RTM(GRP)?|RTF|RTV|RTA|RTAX)_/ || + $2 ~ /^BIOC/ || + $2 ~ /^DIOC/ || + $2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ || + $2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ || + $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ || + $2 ~ /^CLONE_[A-Z_]+/ || + $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ && + $2 ~ /^(BPF|DLT)_/ || + $2 ~ /^(CLOCK|TIMER)_/ || + $2 ~ /^CAN_/ || + $2 ~ /^CAP_/ || + $2 ~ /^CP_/ || + $2 ~ /^CPUSTATES$/ || + $2 ~ /^CTLIOCGINFO$/ || + $2 ~ /^ALG_/ || + $2 ~ /^FI(CLONE|DEDUPERANGE)/ || + $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE)/ || + $2 ~ /^FS_IOC_.*(ENCRYPTION|VERITY|[GS]ETFLAGS)/ || + $2 ~ /^FS_VERITY_/ || + $2 ~ /^FSCRYPT_/ || + $2 ~ /^DM_/ || + $2 ~ /^GRND_/ || + $2 ~ /^RND/ || + $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || + $2 ~ /^KEYCTL_/ || + $2 ~ /^PERF_/ || + $2 ~ /^SECCOMP_MODE_/ || + $2 ~ /^SEEK_/ || + $2 ~ /^SPLICE_/ || + $2 ~ /^SYNC_FILE_RANGE_/ || + $2 !~ /^AUDIT_RECORD_MAGIC/ && + $2 !~ /IOC_MAGIC/ && + $2 ~ /^[A-Z][A-Z0-9_]+_MAGIC2?$/ || + $2 ~ /^(VM|VMADDR)_/ || + $2 ~ /^IOCTL_VM_SOCKETS_/ || + $2 ~ /^(TASKSTATS|TS)_/ || + $2 ~ /^CGROUPSTATS_/ || + $2 ~ /^GENL_/ || + $2 ~ /^STATX_/ || + $2 ~ /^RENAME/ || + $2 ~ /^UBI_IOC[A-Z]/ || + $2 ~ /^UTIME_/ || + $2 ~ /^XATTR_(CREATE|REPLACE|NO(DEFAULT|FOLLOW|SECURITY)|SHOWCOMPRESSION)/ || + $2 ~ /^ATTR_(BIT_MAP_COUNT|(CMN|VOL|FILE)_)/ || + $2 ~ /^FSOPT_/ || + $2 ~ /^WDIO[CFS]_/ || + $2 ~ /^NFN/ || + $2 ~ /^XDP_/ || + $2 ~ /^RWF_/ || + $2 ~ /^(HDIO|WIN|SMART)_/ || + $2 ~ /^CRYPTO_/ || + $2 ~ /^TIPC_/ || + $2 !~ "DEVLINK_RELOAD_LIMITS_VALID_MASK" && + $2 ~ /^DEVLINK_/ || + $2 ~ /^ETHTOOL_/ || + $2 ~ /^LWTUNNEL_IP/ || + $2 !~ "WMESGLEN" && + $2 ~ /^W[A-Z0-9]+$/ || + $2 ~/^PPPIOC/ || + $2 ~ /^FAN_|FANOTIFY_/ || + $2 == "HID_MAX_DESCRIPTOR_SIZE" || + $2 ~ /^_?HIDIOC/ || + $2 ~ /^BUS_(USB|HIL|BLUETOOTH|VIRTUAL)$/ || + $2 ~ /^MTD/ || + $2 ~ /^OTP/ || + $2 ~ /^MEM/ || + $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|SIGMAX64)' | + 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|SIGMAX64)' | + sort >_signal.grep + +echo '// mkerrors.sh' "$@" +echo '// Code generated by the command above; see README.md. DO NOT EDIT.' +echo +echo "//go:build ${GOARCH} && ${GOOS}" +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 + +struct tuple { + int num; + const char *name; +}; + +struct tuple errors[] = { +" + for i in $errors + do + echo -E ' {'$i', "'$i'" },' + done + + echo -E " +}; + +struct tuple signals[] = { +" + for i in $signals + do + echo -E ' {'$i', "'$i'" },' + done + + # Use -E because on some systems bash builtin interprets \n itself. + echo -E ' +}; + +static int +tuplecmp(const void *a, const void *b) +{ + return ((struct tuple *)a)->num - ((struct tuple *)b)->num; +} + +int +main(void) +{ + int i, e; + char buf[1024], *p; + + printf("\n\n// Error table\n"); + printf("var errorList = [...]struct {\n"); + printf("\tnum syscall.Errno\n"); + printf("\tname string\n"); + printf("\tdesc string\n"); + printf("} {\n"); + qsort(errors, nelem(errors), sizeof errors[0], tuplecmp); + for(i=0; i<nelem(errors); i++) { + e = errors[i].num; + if(i > 0 && errors[i-1].num == e) + continue; + strcpy(buf, strerror(e)); + // lowercase first letter: Bad -> bad, but STREAM -> STREAM. + if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) + buf[0] += a - A; + printf("\t{ %d, \"%s\", \"%s\" },\n", e, errors[i].name, buf); + } + printf("}\n\n"); + + printf("\n\n// Signal table\n"); + printf("var signalList = [...]struct {\n"); + printf("\tnum syscall.Signal\n"); + printf("\tname string\n"); + printf("\tdesc string\n"); + printf("} {\n"); + qsort(signals, nelem(signals), sizeof signals[0], tuplecmp); + for(i=0; i<nelem(signals); i++) { + e = signals[i].num; + if(i > 0 && signals[i-1].num == e) + continue; + strcpy(buf, strsignal(e)); + // lowercase first letter: Bad -> bad, but STREAM -> STREAM. + if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) + buf[0] += a - A; + // cut trailing : number. + p = strrchr(buf, ":"[0]); + if(p) + *p = '\0'; + printf("\t{ %d, \"%s\", \"%s\" },\n", e, signals[i].name, buf); + } + printf("}\n\n"); + + return 0; +} + +' +) >_errors.c + +$CC $ccflags -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.go _error.grep _signal.grep _error.out diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go new file mode 100644 index 000000000..53f1b4c5b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go @@ -0,0 +1,16 @@ +// 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. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// For Unix, get the pagesize from the runtime. + +package unix + +import "syscall" + +func Getpagesize() int { + return syscall.Getpagesize() +} diff --git a/vendor/golang.org/x/sys/unix/pledge_openbsd.go b/vendor/golang.org/x/sys/unix/pledge_openbsd.go new file mode 100644 index 000000000..eb48294b2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/pledge_openbsd.go @@ -0,0 +1,163 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "errors" + "fmt" + "strconv" + "syscall" + "unsafe" +) + +// Pledge implements the pledge syscall. +// +// The pledge syscall does not accept execpromises on OpenBSD releases +// before 6.3. +// +// execpromises must be empty when Pledge is called on OpenBSD +// releases predating 6.3, otherwise an error will be returned. +// +// For more information see pledge(2). +func Pledge(promises, execpromises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, execpromises) + if err != nil { + return err + } + + pptr, err := syscall.BytePtrFromString(promises) + if err != nil { + return err + } + + // This variable will hold either a nil unsafe.Pointer or + // an unsafe.Pointer to a string (execpromises). + var expr unsafe.Pointer + + // If we're running on OpenBSD > 6.2, pass execpromises to the syscall. + if maj > 6 || (maj == 6 && min > 2) { + exptr, err := syscall.BytePtrFromString(execpromises) + if err != nil { + return err + } + expr = unsafe.Pointer(exptr) + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0) + if e != 0 { + return e + } + + return nil +} + +// PledgePromises implements the pledge syscall. +// +// This changes the promises and leaves the execpromises untouched. +// +// For more information see pledge(2). +func PledgePromises(promises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, "") + if err != nil { + return err + } + + // This variable holds the execpromises and is always nil. + var expr unsafe.Pointer + + pptr, err := syscall.BytePtrFromString(promises) + if err != nil { + return err + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0) + if e != 0 { + return e + } + + return nil +} + +// PledgeExecpromises implements the pledge syscall. +// +// This changes the execpromises and leaves the promises untouched. +// +// For more information see pledge(2). +func PledgeExecpromises(execpromises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, execpromises) + if err != nil { + return err + } + + // This variable holds the promises and is always nil. + var pptr unsafe.Pointer + + exptr, err := syscall.BytePtrFromString(execpromises) + if err != nil { + return err + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0) + if e != 0 { + return e + } + + return nil +} + +// majmin returns major and minor version number for an OpenBSD system. +func majmin() (major int, minor int, err error) { + var v Utsname + err = Uname(&v) + if err != nil { + return + } + + major, err = strconv.Atoi(string(v.Release[0])) + if err != nil { + err = errors.New("cannot parse major version number returned by uname") + return + } + + minor, err = strconv.Atoi(string(v.Release[2])) + if err != nil { + err = errors.New("cannot parse minor version number returned by uname") + return + } + + return +} + +// pledgeAvailable checks for availability of the pledge(2) syscall +// based on the running OpenBSD version. +func pledgeAvailable(maj, min int, execpromises string) error { + // If OpenBSD <= 5.9, pledge is not available. + if (maj == 5 && min != 9) || maj < 5 { + return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min) + } + + // If OpenBSD <= 6.2 and execpromises is not empty, + // return an error - execpromises is not available before 6.3 + if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" { + return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min) + } + + return nil +} diff --git a/vendor/golang.org/x/sys/unix/ptrace_darwin.go b/vendor/golang.org/x/sys/unix/ptrace_darwin.go new file mode 100644 index 000000000..463c3eff7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ptrace_darwin.go @@ -0,0 +1,12 @@ +// Copyright 2020 The Go 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:build darwin && !ios +// +build darwin,!ios + +package unix + +func ptrace(request int, pid int, addr uintptr, data uintptr) error { + return ptrace1(request, pid, addr, data) +} diff --git a/vendor/golang.org/x/sys/unix/ptrace_ios.go b/vendor/golang.org/x/sys/unix/ptrace_ios.go new file mode 100644 index 000000000..ed0509a01 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ptrace_ios.go @@ -0,0 +1,12 @@ +// Copyright 2020 The Go 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:build ios +// +build ios + +package unix + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + return ENOTSUP +} 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 000000000..6f6c5fec5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/race.go @@ -0,0 +1,31 @@ +// 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. + +//go:build (darwin && race) || (linux && race) || (freebsd && race) +// +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 000000000..706e1322a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/race0.go @@ -0,0 +1,26 @@ +// 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. + +//go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos +// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly zos + +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/readdirent_getdents.go b/vendor/golang.org/x/sys/unix/readdirent_getdents.go new file mode 100644 index 000000000..4d6257569 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/readdirent_getdents.go @@ -0,0 +1,13 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix || dragonfly || freebsd || linux || netbsd || openbsd +// +build aix dragonfly freebsd linux netbsd openbsd + +package unix + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + return Getdents(fd, buf) +} diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go new file mode 100644 index 000000000..2a4ba47c4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go @@ -0,0 +1,20 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build darwin +// +build darwin + +package unix + +import "unsafe" + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // 64 bits should be enough. (32 bits isn't even on 386). Since the + // actual system call is getdirentries64, 64 is a good guess. + // TODO(rsc): Can we use a single global basep for all calls? + var base = (*uintptr)(unsafe.Pointer(new(uint64))) + return Getdirentries(fd, buf, base) +} diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go b/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go new file mode 100644 index 000000000..5144deecc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go @@ -0,0 +1,16 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +// Round the length of a raw sockaddr up to align it properly. +func cmsgAlignOf(salen int) int { + salign := SizeofPtr + if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { + // 64-bit Dragonfly before the September 2019 ABI changes still requires + // 32-bit aligned access to network subsystem. + salign = 4 + } + return (salen + salign - 1) & ^(salign - 1) +} 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 000000000..8bf457059 --- /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)(h.data(0)) = *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 000000000..453a942c5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go @@ -0,0 +1,93 @@ +// 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. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + +// Socket control messages + +package unix + +import ( + "unsafe" +) + +// 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 (h *Cmsghdr) data(offset uintptr) unsafe.Pointer { + return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)) + offset) +} + +// 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)) + for i, fd := range fds { + *(*int32)(h.data(4 * uintptr(i))) = int32(fd) + } + 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/sockcmsg_unix_other.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go new file mode 100644 index 000000000..0840fe4a5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go @@ -0,0 +1,47 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix || darwin || freebsd || linux || netbsd || openbsd || solaris || zos +// +build aix darwin freebsd linux netbsd openbsd solaris zos + +package unix + +import ( + "runtime" +) + +// Round the length of a raw sockaddr up to align it properly. +func cmsgAlignOf(salen int) int { + salign := SizeofPtr + + // dragonfly needs to check ABI version at runtime, see cmsgAlignOf in + // sockcmsg_dragonfly.go + switch runtime.GOOS { + case "aix": + // There is no alignment on AIX. + salign = 1 + case "darwin", "ios", "illumos", "solaris": + // NOTE: It seems like 64-bit Darwin, Illumos and Solaris + // kernels still require 32-bit aligned access to network + // subsystem. + if SizeofPtr == 8 { + salign = 4 + } + case "netbsd", "openbsd": + // NetBSD and OpenBSD armv7 require 64-bit alignment. + if runtime.GOARCH == "arm" { + salign = 8 + } + // NetBSD aarch64 requires 128-bit alignment. + if runtime.GOOS == "netbsd" && runtime.GOARCH == "arm64" { + salign = 16 + } + case "zos": + // z/OS socket macros use [32-bit] sizeof(int) alignment, + // not pointer width. + salign = SizeofInt + } + + return (salen + salign - 1) & ^(salign - 1) +} 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 000000000..8ba89ed86 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/str.go @@ -0,0 +1,27 @@ +// 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. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +func itoa(val int) string { // do it here rather than with fmt to avoid dependency + if val < 0 { + return "-" + uitoa(uint(-val)) + } + return uitoa(uint(val)) +} + +func uitoa(val uint) string { + var buf [32]byte // big enough for int64 + i := len(buf) - 1 + for val >= 10 { + buf[i] = byte(val%10 + '0') + i-- + val /= 10 + } + buf[i] = byte(val + '0') + return string(buf[i:]) +} diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go new file mode 100644 index 000000000..649fa8740 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall.go @@ -0,0 +1,95 @@ +// 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. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + +// Package unix contains an interface to the low-level operating system +// primitives. OS details vary depending on the underlying system, and +// by default, godoc will display OS-specific documentation for the current +// system. If you want godoc to display OS documentation for another +// system, set $GOOS and $GOARCH to the desired system. For example, if +// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS +// to freebsd and $GOARCH to arm. +// +// The primary use of this package is inside other packages that provide a more +// portable interface to the system, such as "os", "time" and "net". Use +// those packages rather than this one if you can. +// +// For details of the functions and data types in this package consult +// the manuals for the appropriate operating system. +// +// These calls return err == nil to indicate success; otherwise +// err represents an operating system error describing the failure and +// holds a value of type syscall.Errno. +package unix // import "golang.org/x/sys/unix" + +import ( + "bytes" + "strings" + "unsafe" + + "golang.org/x/sys/internal/unsafeheader" +) + +// ByteSliceFromString returns a NUL-terminated slice of bytes +// containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func ByteSliceFromString(s string) ([]byte, error) { + if strings.IndexByte(s, 0) != -1 { + return nil, EINVAL + } + a := make([]byte, len(s)+1) + copy(a, s) + return a, nil +} + +// BytePtrFromString returns a pointer to a NUL-terminated array of +// bytes containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func BytePtrFromString(s string) (*byte, error) { + a, err := ByteSliceFromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +// ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any +// bytes after the NUL removed. +func ByteSliceToString(s []byte) string { + if i := bytes.IndexByte(s, 0); i != -1 { + s = s[:i] + } + return string(s) +} + +// BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. +// If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated +// at a zero byte; if the zero byte is not present, the program may crash. +func BytePtrToString(p *byte) string { + if p == nil { + return "" + } + if *p == 0 { + return "" + } + + // Find NUL terminator. + n := 0 + for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { + ptr = unsafe.Pointer(uintptr(ptr) + 1) + } + + var s []byte + h := (*unsafeheader.Slice)(unsafe.Pointer(&s)) + h.Data = unsafe.Pointer(p) + h.Len = n + h.Cap = n + + return string(s) +} + +// Single-word zero for use when we need a valid pointer to 0 bytes. +var _zero uintptr diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go new file mode 100644 index 000000000..d8efb715f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix.go @@ -0,0 +1,553 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix +// +build aix + +// Aix system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import "unsafe" + +/* + * Wrapped + */ + +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 utimes(path string, times *[2]Timeval) (err error) +func Utimes(path string, tv []Timeval) error { + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) +func UtimesNano(path string, ts []Timespec) error { + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n > len(sa.raw.Path) { + return nil, 0, EINVAL + } + if n == len(sa.raw.Path) && name[0] != '@' { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = uint8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +//sys getcwd(buf []byte) (err error) + +const ImplementsGetwd = true + +func Getwd() (ret string, err error) { + for len := uint64(4096); ; len *= 2 { + b := make([]byte, len) + err := getcwd(b) + if err == nil { + i := 0 + for b[i] != 0 { + i++ + } + return string(b[0:i]), nil + } + if err != ERANGE { + return "", err + } + } +} + +func Getcwd(buf []byte) (n int, err error) { + err = getcwd(buf) + if err == nil { + i := 0 + for buf[i] != 0 { + i++ + } + n = i + 1 + } + return +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +/* + * Socket + */ + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + // Recvmsg not implemented on AIX + sa := new(SockaddrUnix) + return -1, -1, -1, sa, ENOSYS +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + // SendmsgN not implemented on AIX + return -1, ENOSYS +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + + // Some versions of AIX have a bug in getsockname (see IV78655). + // We can't rely on sa.Len being set correctly. + n := SizeofSockaddrUnix - 3 // subtract leading Family, Len, terminating NUL. + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + n = i + break + } + } + + bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Gettimeofday(tv *Timeval) (err error) { + err = gettimeofday(tv, nil) + return +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sys getdirent(fd int, buf []byte) (n int, err error) +func Getdents(fd int, buf []byte) (n int, err error) { + return getdirent(fd, buf) +} + +//sys wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + var r Pid_t + err = ERESTART + // AIX wait4 may return with ERESTART errno, while the processus is still + // active. + for err == ERESTART { + r, err = wait4(Pid_t(pid), &status, options, rusage) + } + wpid = int(r) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +/* + * Wait + */ + +type WaitStatus uint32 + +func (w WaitStatus) Stopped() bool { return w&0x40 != 0 } +func (w WaitStatus) StopSignal() Signal { + if !w.Stopped() { + return -1 + } + return Signal(w>>8) & 0xFF +} + +func (w WaitStatus) Exited() bool { return w&0xFF == 0 } +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int((w >> 8) & 0xFF) +} + +func (w WaitStatus) Signaled() bool { return w&0x40 == 0 && w&0xFF != 0 } +func (w WaitStatus) Signal() Signal { + if !w.Signaled() { + return -1 + } + return Signal(w>>16) & 0xFF +} + +func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 } + +func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 } + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX +// There is no way to create a custom fcntl and to keep //sys fcntl easily, +// Therefore, the programmer must call dup2 instead of fcntl in this case. + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +//sys FcntlInt(fd uintptr, cmd int, arg int) (r int,err error) = fcntl + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +//sys FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) = fcntl + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +/* + * Direct access + */ + +//sys Acct(path string) (err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(oldfd int) (fd int, err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Fsync(fd int) (err error) +// readdir_r +//sysnb Getpgid(pid int) (pgid int, err error) + +//sys Getpgrp() (pid int) + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Kill(pid int, sig Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = syslog +//sys Mkdir(dirfd int, path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) = open64 +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) + +//sys Setuid(uid int) (err error) +//sys Setgid(uid int) (err error) + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) +//sys Sync() +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys readlen(fd int, p *byte, np int) (n int, err error) = read +//sys writelen(fd int, p *byte, np int) (n int, err error) = write + +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys fstat(fd int, stat *Stat_t) (err error) +//sys fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys stat(path string, statptr *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys Truncate(path string, length int64) (err error) + +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) + +// In order to use msghdr structure with Control, Controllen, nrecvmsg and nsendmsg must be used. +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = nrecvmsg +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = nsendmsg + +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys gettimeofday(tv *Timeval, tzp *Timezone) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) + +//sys Getsystemcfg(label int) (n uint64) + +//sys umount(target string) (err error) +func Unmount(target string, flags int) (err error) { + if flags != 0 { + // AIX doesn't have any flags for umount. + return ENOSYS + } + return umount(target) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go new file mode 100644 index 000000000..e92a0be16 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go @@ -0,0 +1,54 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix && ppc +// +build aix,ppc + +package unix + +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64 +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64 + +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Fstat(fd int, stat *Stat_t) error { + return fstat(fd, stat) +} + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { + return fstatat(dirfd, path, stat, flags) +} + +func Lstat(path string, stat *Stat_t) error { + return lstat(path, stat) +} + +func Stat(path string, statptr *Stat_t) error { + return stat(path, statptr) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go new file mode 100644 index 000000000..16eed1709 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go @@ -0,0 +1,85 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix && ppc64 +// +build aix,ppc64 + +package unix + +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek + +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64 + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int64(sec), Usec: int32(usec)} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// In order to only have Timespec structure, type of Stat_t's fields +// Atim, Mtim and Ctim is changed from StTimespec to Timespec during +// ztypes generation. +// On ppc64, Timespec.Nsec is an int64 while StTimespec.Nsec is an +// int32, so the fields' value must be modified. +func fixStatTimFields(stat *Stat_t) { + stat.Atim.Nsec >>= 32 + stat.Mtim.Nsec >>= 32 + stat.Ctim.Nsec >>= 32 +} + +func Fstat(fd int, stat *Stat_t) error { + err := fstat(fd, stat) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { + err := fstatat(dirfd, path, stat, flags) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Lstat(path string, stat *Stat_t) error { + err := lstat(path, stat) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Stat(path string, statptr *Stat_t) error { + err := stat(path, statptr) + if err != nil { + return err + } + fixStatTimFields(statptr) + return nil +} diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go new file mode 100644 index 000000000..95ac3946b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go @@ -0,0 +1,664 @@ +// 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. + +//go:build darwin || dragonfly || freebsd || netbsd || openbsd +// +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" +) + +const ImplementsGetwd = true + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + killed = 9 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Killed() bool { return w&mask == killed && syscall.Signal(w>>shift) != SIGKILL } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys Shutdown(s int, how int) (err error) + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet4 + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet6 + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) || n == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Index == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = sa.Len + sa.raw.Family = AF_LINK + sa.raw.Index = sa.Index + sa.raw.Type = sa.Type + sa.raw.Nlen = sa.Nlen + sa.raw.Alen = sa.Alen + sa.raw.Slen = sa.Slen + for i := 0; i < len(sa.raw.Data); i++ { + sa.raw.Data[i] = sa.Data[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_LINK: + pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa)) + sa := new(SockaddrDatalink) + sa.Len = pp.Len + sa.Family = pp.Family + sa.Index = pp.Index + sa.Type = pp.Type + sa.Nlen = pp.Nlen + sa.Alen = pp.Alen + sa.Slen = pp.Slen + for i := 0; i < len(sa.Data); i++ { + sa.Data[i] = pp.Data[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + if pp.Len < 2 || pp.Len > SizeofSockaddrUnix { + return nil, EINVAL + } + sa := new(SockaddrUnix) + + // Some BSDs include the trailing NUL in the length, whereas + // others do not. Work around this by subtracting the leading + // family and len. The path is then scanned to see if a NUL + // terminator still exists within the length. + n := int(pp.Len) - 2 // subtract leading Family, Len + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + // found early NUL; assume Len included the NUL + // or was overestimating. + n = i + break + } + } + bytes := (*[len(pp.Path)]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 anyToSockaddrGOOS(fd, rsa) +} + +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" || runtime.GOOS == "ios") && len == 0 { + // Accepted socket has no address. + // This is likely due to a bug in xnu kernels, + // where instead of ECONNABORTED error socket + // is accepted, but has no address. + Close(nfd) + return 0, nil, ECONNABORTED + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be + // reported upstream. + if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { + rsa.Addr.Family = AF_UNIX + rsa.Addr.Len = SizeofSockaddrUnix + } + return anyToSockaddr(fd, &rsa) +} + +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + return string(buf[:vallen-1]), nil +} + +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) + +func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) { + var change, event unsafe.Pointer + if len(changes) > 0 { + change = unsafe.Pointer(&changes[0]) + } + if len(events) > 0 { + event = unsafe.Pointer(&events[0]) + } + return kevent(kq, change, len(changes), event, len(events), timeout) +} + +// 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 +} + +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + +func SysctlTimeval(name string) (*Timeval, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + var tv Timeval + n := uintptr(unsafe.Sizeof(tv)) + if err := sysctl(mib, (*byte)(unsafe.Pointer(&tv)), &n, nil, 0); err != nil { + return nil, err + } + if n != unsafe.Sizeof(tv) { + return nil, EIO + } + return &tv, nil +} + +//sys utimes(path string, timeval *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + // Darwin setattrlist can set nanosecond timestamps + err := setattrlistTimes(path, ts, 0) + if err != ENOSYS { + return err + } + err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // Not as efficient as it could be because Timespec and + // Timeval have different types in the different OSes + tv := [2]Timeval{ + NsecToTimeval(TimespecToNsec(ts[0])), + NsecToTimeval(TimespecToNsec(ts[1])), + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + err := setattrlistTimes(path, ts, flags) + if err != ENOSYS { + return err + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys futimes(fd int, timeval *[2]Timeval) (err error) + +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimes(fd, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +// TODO: wrap +// Acct(name nil-string) (err error) +// Gethostuuid(uuid *byte, timeout *Timespec) (err error) +// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, behav int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go new file mode 100644 index 000000000..b0098607c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go @@ -0,0 +1,32 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build darwin && go1.12 && !go1.13 +// +build darwin,go1.12,!go1.13 + +package unix + +import ( + "unsafe" +) + +const _SYS_GETDIRENTRIES64 = 344 + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + // To implement this using libSystem we'd need syscall_syscallPtr for + // fdopendir. However, syscallPtr was only added in Go 1.13, so we fall + // back to raw syscalls for this func on Go 1.12. + var p unsafe.Pointer + if len(buf) > 0 { + p = unsafe.Pointer(&buf[0]) + } else { + p = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(_SYS_GETDIRENTRIES64, uintptr(fd), uintptr(p), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + return n, errnoErr(e1) + } + return n, nil +} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go new file mode 100644 index 000000000..1596426b1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go @@ -0,0 +1,108 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build darwin && go1.13 +// +build darwin,go1.13 + +package unix + +import ( + "unsafe" + + "golang.org/x/sys/internal/unsafeheader" +) + +//sys closedir(dir uintptr) (err error) +//sys readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) + +func fdopendir(fd int) (dir uintptr, err error) { + r0, _, e1 := syscall_syscallPtr(libc_fdopendir_trampoline_addr, uintptr(fd), 0, 0) + dir = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fdopendir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fdopendir fdopendir "/usr/lib/libSystem.B.dylib" + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + // Simulate Getdirentries using fdopendir/readdir_r/closedir. + // We store the number of entries to skip in the seek + // offset of fd. See issue #31368. + // It's not the full required semantics, but should handle the case + // of calling Getdirentries or ReadDirent repeatedly. + // It won't handle assigning the results of lseek to *basep, or handle + // the directory being edited underfoot. + skip, err := Seek(fd, 0, 1 /* SEEK_CUR */) + if err != nil { + return 0, err + } + + // We need to duplicate the incoming file descriptor + // because the caller expects to retain control of it, but + // fdopendir expects to take control of its argument. + // Just Dup'ing the file descriptor is not enough, as the + // result shares underlying state. Use Openat to make a really + // new file descriptor referring to the same directory. + fd2, err := Openat(fd, ".", O_RDONLY, 0) + if err != nil { + return 0, err + } + d, err := fdopendir(fd2) + if err != nil { + Close(fd2) + return 0, err + } + defer closedir(d) + + var cnt int64 + for { + var entry Dirent + var entryp *Dirent + e := readdir_r(d, &entry, &entryp) + if e != 0 { + return n, errnoErr(e) + } + if entryp == nil { + break + } + if skip > 0 { + skip-- + cnt++ + continue + } + + reclen := int(entry.Reclen) + if reclen > len(buf) { + // Not enough room. Return for now. + // The counter will let us know where we should start up again. + // Note: this strategy for suspending in the middle and + // restarting is O(n^2) in the length of the directory. Oh well. + break + } + + // Copy entry into return buffer. + var s []byte + hdr := (*unsafeheader.Slice)(unsafe.Pointer(&s)) + hdr.Data = unsafe.Pointer(&entry) + hdr.Cap = reclen + hdr.Len = reclen + copy(buf, s) + + buf = buf[reclen:] + n += reclen + cnt++ + } + // Set the seek offset of the input fd to record + // how many files we've already returned. + _, err = Seek(fd, cnt, 0 /* SEEK_SET */) + if err != nil { + return n, err + } + + return n, nil +} 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 000000000..23f6b5760 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -0,0 +1,721 @@ +// 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 ( + "fmt" + "runtime" + "syscall" + "unsafe" +) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +// SockaddrCtl implements the Sockaddr interface for AF_SYSTEM type sockets. +type SockaddrCtl struct { + ID uint32 + Unit uint32 + raw RawSockaddrCtl +} + +func (sa *SockaddrCtl) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Sc_len = SizeofSockaddrCtl + sa.raw.Sc_family = AF_SYSTEM + sa.raw.Ss_sysaddr = AF_SYS_CONTROL + sa.raw.Sc_id = sa.ID + sa.raw.Sc_unit = sa.Unit + return unsafe.Pointer(&sa.raw), SizeofSockaddrCtl, nil +} + +func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_SYSTEM: + pp := (*RawSockaddrCtl)(unsafe.Pointer(rsa)) + if pp.Ss_sysaddr == AF_SYS_CONTROL { + sa := new(SockaddrCtl) + sa.ID = pp.Sc_id + sa.Unit = pp.Sc_unit + return sa, nil + } + } + return nil, EAFNOSUPPORT +} + +// Some external packages rely on SYS___SYSCTL being defined to implement their +// own sysctl wrappers. Provide it here, even though direct syscalls are no +// longer supported on darwin. +const SYS___SYSCTL = SYS_SYSCTL + +// 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)) +} + +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) } + +type attrList struct { + bitmapCount uint16 + _ uint16 + CommonAttr uint32 + VolAttr uint32 + DirAttr uint32 + FileAttr uint32 + Forkattr uint32 +} + +//sysnb pipe(p *[2]int32) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var x [2]int32 + err = pipe(&x) + p[0] = int(x[0]) + p[1] = int(x[1]) + return +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + return getfsstat(_p0, bufsize, flags) +} + +func xattrPointer(dest []byte) *byte { + // It's only when dest is set to NULL that the OS X implementations of + // getxattr() and listxattr() return the current sizes of the named attributes. + // An empty byte array is not sufficient. To maintain the same behaviour as the + // linux implementation, we wrap around the system calls and pass in NULL when + // dest is empty. + var destp *byte + if len(dest) > 0 { + destp = &dest[0] + } + return destp +} + +//sys getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + return getxattr(path, attr, xattrPointer(dest), len(dest), 0, 0) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + return getxattr(link, attr, xattrPointer(dest), len(dest), 0, XATTR_NOFOLLOW) +} + +//sys fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + return fgetxattr(fd, attr, xattrPointer(dest), len(dest), 0, 0) +} + +//sys setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + // The parameters for the OS X implementation vary slightly compared to the + // linux system call, specifically the position parameter: + // + // linux: + // int setxattr( + // const char *path, + // const char *name, + // const void *value, + // size_t size, + // int flags + // ); + // + // darwin: + // int setxattr( + // const char *path, + // const char *name, + // void *value, + // size_t size, + // u_int32_t position, + // int options + // ); + // + // position specifies the offset within the extended attribute. In the + // current implementation, only the resource fork extended attribute makes + // use of this argument. For all others, position is reserved. We simply + // default to setting it to zero. + return setxattr(path, attr, xattrPointer(data), len(data), 0, flags) +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + return setxattr(link, attr, xattrPointer(data), len(data), 0, flags|XATTR_NOFOLLOW) +} + +//sys fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + return fsetxattr(fd, attr, xattrPointer(data), len(data), 0, 0) +} + +//sys removexattr(path string, attr string, options int) (err error) + +func Removexattr(path string, attr string) (err error) { + // We wrap around and explicitly zero out the options provided to the OS X + // implementation of removexattr, we do so for interoperability with the + // linux variant. + return removexattr(path, attr, 0) +} + +func Lremovexattr(link string, attr string) (err error) { + return removexattr(link, attr, XATTR_NOFOLLOW) +} + +//sys fremovexattr(fd int, attr string, options int) (err error) + +func Fremovexattr(fd int, attr string) (err error) { + return fremovexattr(fd, attr, 0) +} + +//sys listxattr(path string, dest *byte, size int, options int) (sz int, err error) + +func Listxattr(path string, dest []byte) (sz int, err error) { + return listxattr(path, xattrPointer(dest), len(dest), 0) +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + return listxattr(link, xattrPointer(dest), len(dest), XATTR_NOFOLLOW) +} + +//sys flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + return flistxattr(fd, xattrPointer(dest), len(dest), 0) +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + _p0, err := BytePtrFromString(path) + if err != nil { + return err + } + + var attrList attrList + attrList.bitmapCount = ATTR_BIT_MAP_COUNT + attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME + + // order is mtime, atime: the opposite of Chtimes + attributes := [2]Timespec{times[1], times[0]} + options := 0 + if flags&AT_SYMLINK_NOFOLLOW != 0 { + options |= FSOPT_NOFOLLOW + } + return setattrlist( + _p0, + unsafe.Pointer(&attrList), + unsafe.Pointer(&attributes), + unsafe.Sizeof(attributes), + options) +} + +//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error { + // Darwin doesn't support SYS_UTIMENSAT + return ENOSYS +} + +/* + * Wrapped + */ + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +//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) + +func IoctlCtlInfo(fd int, ctlInfo *CtlInfo) error { + err := ioctl(fd, CTLIOCGINFO, uintptr(unsafe.Pointer(ctlInfo))) + runtime.KeepAlive(ctlInfo) + return err +} + +// IfreqMTU is struct ifreq used to get or set a network device's MTU. +type IfreqMTU struct { + Name [IFNAMSIZ]byte + MTU int32 +} + +// IoctlGetIfreqMTU performs the SIOCGIFMTU ioctl operation on fd to get the MTU +// of the network device specified by ifname. +func IoctlGetIfreqMTU(fd int, ifname string) (*IfreqMTU, error) { + var ifreq IfreqMTU + copy(ifreq.Name[:], ifname) + err := ioctl(fd, SIOCGIFMTU, uintptr(unsafe.Pointer(&ifreq))) + return &ifreq, err +} + +// IoctlSetIfreqMTU performs the SIOCSIFMTU ioctl operation on fd to set the MTU +// of the network device specified by ifreq.Name. +func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error { + err := ioctl(fd, SIOCSIFMTU, uintptr(unsafe.Pointer(ifreq))) + runtime.KeepAlive(ifreq) + return err +} + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + var length = int64(count) + err = sendfile(infd, outfd, *offset, &length, nil, 0) + written = int(length) + return +} + +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)) +} + +// GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct. +// The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively. +func GetsockoptXucred(fd, level, opt int) (*Xucred, error) { + x := new(Xucred) + vallen := _Socklen(SizeofXucred) + err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen) + return x, err +} + +func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) { + mib, err := sysctlmib(name) + 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 + } + if n%SizeofKinfoProc != 0 { + return nil, fmt.Errorf("sysctl() returned a size of %d, which is not a multiple of %d", n, SizeofKinfoProc) + } + + // Read into buffer of that size. + buf := make([]KinfoProc, n/SizeofKinfoProc) + if err := sysctl(mib, (*byte)(unsafe.Pointer(&buf[0])), &n, nil, 0); err != nil { + return nil, err + } + if n%SizeofKinfoProc != 0 { + return nil, fmt.Errorf("sysctl() returned a size of %d, which is not a multiple of %d", n, SizeofKinfoProc) + } + + // The actual call may return less than the original reported required + // size so ensure we deal with that. + return buf[:n/SizeofKinfoProc], nil +} + +//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys Close(fd int) (err error) +//sys Clonefile(src string, dst string, flags int) (err error) +//sys Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags 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 Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getcwd(buf []byte) (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(tp *Timeval) (err error) +//sysnb Getuid() (uid int) +//sysnb Issetugid() (tainted bool) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setprivexec(flag int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// sendfile +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/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 000000000..b37310ce9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go @@ -0,0 +1,51 @@ +// 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. + +//go:build amd64 && darwin +// +build amd64,darwin + +package unix + +import "syscall" + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +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 (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 diff --git a/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 000000000..d51ec9963 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go @@ -0,0 +1,51 @@ +// 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:build arm64 && darwin +// +build arm64,darwin + +package unix + +import "syscall" + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +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 (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT +//sys Lstat(path string, stat *Stat_t) (err error) +//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go new file mode 100644 index 000000000..53c96641f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go @@ -0,0 +1,27 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build darwin && go1.12 +// +build darwin,go1.12 + +package unix + +import _ "unsafe" + +// Implemented in the runtime package (runtime/sys_darwin.go) +func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // 32-bit only +func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) + +//go:linkname syscall_syscall syscall.syscall +//go:linkname syscall_syscall6 syscall.syscall6 +//go:linkname syscall_syscall6X syscall.syscall6X +//go:linkname syscall_syscall9 syscall.syscall9 +//go:linkname syscall_rawSyscall syscall.rawSyscall +//go:linkname syscall_rawSyscall6 syscall.rawSyscall6 +//go:linkname syscall_syscallPtr syscall.syscallPtr 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 000000000..5af108a50 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go @@ -0,0 +1,541 @@ +// 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 ( + "sync" + "unsafe" +) + +// See version list in https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/param.h +var ( + osreldateOnce sync.Once + osreldate uint32 +) + +// First __DragonFly_version after September 2019 ABI changes +// http://lists.dragonflybsd.org/pipermail/users/2019-September/358280.html +const _dragonflyABIChangeVersion = 500705 + +func supportsABI(ver uint32) bool { + osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) + return osreldate >= ver +} + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 + raw RawSockaddrDatalink +} + +func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + return nil, EAFNOSUPPORT +} + +// 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 +} + +//sysnb pipe2(p *[2]_C_int, flags int) (r int, w int, err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + // pipe2 on dragonfly takes an fds array as an argument, but still + // returns the file descriptors. + p[0], p[1], err = pipe2(&pp, flags) + return err +} + +//sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pread(fd int, p []byte, offset int64) (n int, err error) { + return extpread(fd, p, 0, offset) +} + +//sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return extpwrite(fd, p, 0, offset) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error { + err := sysctl(mib, old, oldlen, nil, 0) + if err != nil { + // Utsname members on Dragonfly are only 32 bytes and + // the syscall returns ENOMEM in case the actual value + // is longer. + if err == ENOMEM { + err = nil + } + } + return err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctlUname(mib, &uname.Sysname[0], &n); err != nil { + return err + } + uname.Sysname[unsafe.Sizeof(uname.Sysname)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctlUname(mib, &uname.Nodename[0], &n); err != nil { + return err + } + uname.Nodename[unsafe.Sizeof(uname.Nodename)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctlUname(mib, &uname.Release[0], &n); err != nil { + return err + } + uname.Release[unsafe.Sizeof(uname.Release)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctlUname(mib, &uname.Version[0], &n); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctlUname(mib, &uname.Machine[0], &n); err != nil { + return err + } + uname.Machine[unsafe.Sizeof(uname.Machine)-1] = 0 + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdents(fd int, buf []byte) (n int, err error) +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(fd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + * TODO(jsing): Update this list for DragonFly. + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Getxattr +// Fgetxattr +// Setxattr +// Fsetxattr +// Removexattr +// Fremovexattr +// Listxattr +// Flistxattr +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/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 000000000..4e2d32120 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go @@ -0,0 +1,57 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build amd64 && dragonfly +// +build amd64,dragonfly + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(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 000000000..18c392cf3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -0,0 +1,872 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// FreeBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "sync" + "unsafe" +) + +const ( + SYS_FSTAT_FREEBSD12 = 551 // { int fstat(int fd, _Out_ struct stat *sb); } + SYS_FSTATAT_FREEBSD12 = 552 // { int fstatat(int fd, _In_z_ char *path, \ + SYS_GETDIRENTRIES_FREEBSD12 = 554 // { ssize_t getdirentries(int fd, \ + SYS_STATFS_FREEBSD12 = 555 // { int statfs(_In_z_ char *path, \ + SYS_FSTATFS_FREEBSD12 = 556 // { int fstatfs(int fd, \ + SYS_GETFSSTAT_FREEBSD12 = 557 // { int getfsstat( \ + SYS_MKNODAT_FREEBSD12 = 559 // { int mknodat(int fd, _In_z_ char *path, \ +) + +// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html. +var ( + osreldateOnce sync.Once + osreldate uint32 +) + +// INO64_FIRST from /usr/src/lib/libc/sys/compat-ino64.h +const _ino64First = 1200031 + +func supportsABI(ver uint32) bool { + osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) + return osreldate >= ver +} + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 + raw RawSockaddrDatalink +} + +func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + return nil, EAFNOSUPPORT +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func Pipe(p []int) (err error) { + return Pipe2(p, 0) +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err := pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return err +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, errno +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +// GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct. +// The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively. +func GetsockoptXucred(fd, level, opt int) (*Xucred, error) { + x := new(Xucred) + vallen := _Socklen(SizeofXucred) + err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen) + return x, err +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var ( + _p0 unsafe.Pointer + bufsize uintptr + oldBuf []statfs_freebsd11_t + needsConvert bool + ) + + if len(buf) > 0 { + if supportsABI(_ino64First) { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } else { + n := len(buf) + oldBuf = make([]statfs_freebsd11_t, n) + _p0 = unsafe.Pointer(&oldBuf[0]) + bufsize = unsafe.Sizeof(statfs_freebsd11_t{}) * uintptr(n) + needsConvert = true + } + } + var sysno uintptr = SYS_GETFSSTAT + if supportsABI(_ino64First) { + sysno = SYS_GETFSSTAT_FREEBSD12 + } + r0, _, e1 := Syscall(sysno, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + if e1 == 0 && needsConvert { + for i := range oldBuf { + buf[i].convertFrom(&oldBuf[i]) + } + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Stat(path string, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(AT_FDCWD, path, st, 0) + } + err = stat(path, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Lstat(path string, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW) + } + err = lstat(path, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Fstat(fd int, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstat_freebsd12(fd, st) + } + err = fstat(fd, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Fstatat(fd int, path string, st *Stat_t, flags int) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(fd, path, st, flags) + } + err = fstatat(fd, path, &oldStat, flags) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Statfs(path string, st *Statfs_t) (err error) { + var oldStatfs statfs_freebsd11_t + if supportsABI(_ino64First) { + return statfs_freebsd12(path, st) + } + err = statfs(path, &oldStatfs) + if err != nil { + return err + } + + st.convertFrom(&oldStatfs) + return nil +} + +func Fstatfs(fd int, st *Statfs_t) (err error) { + var oldStatfs statfs_freebsd11_t + if supportsABI(_ino64First) { + return fstatfs_freebsd12(fd, st) + } + err = fstatfs(fd, &oldStatfs) + if err != nil { + return err + } + + st.convertFrom(&oldStatfs) + return nil +} + +func Getdents(fd int, buf []byte) (n int, err error) { + return Getdirentries(fd, buf, nil) +} + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + if supportsABI(_ino64First) { + if basep == nil || unsafe.Sizeof(*basep) == 8 { + return getdirentries_freebsd12(fd, buf, (*uint64)(unsafe.Pointer(basep))) + } + // The freebsd12 syscall needs a 64-bit base. On 32-bit machines + // we can't just use the basep passed in. See #32498. + var base uint64 = uint64(*basep) + n, err = getdirentries_freebsd12(fd, buf, &base) + *basep = uintptr(base) + if base>>32 != 0 { + // We can't stuff the base back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO is allowed by getdirentries. + err = EIO + } + return + } + + // The old syscall entries are smaller than the new. Use 1/4 of the original + // buffer size rounded up to DIRBLKSIZ (see /usr/src/lib/libc/sys/getdirentries.c). + oldBufLen := roundup(len(buf)/4, _dirblksiz) + oldBuf := make([]byte, oldBufLen) + n, err = getdirentries(fd, oldBuf, basep) + if err == nil && n > 0 { + n = convertFromDirents11(buf, oldBuf[:n]) + } + return +} + +func Mknod(path string, mode uint32, dev uint64) (err error) { + var oldDev int + if supportsABI(_ino64First) { + return mknodat_freebsd12(AT_FDCWD, path, mode, dev) + } + oldDev = int(dev) + return mknod(path, mode, oldDev) +} + +func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var oldDev int + if supportsABI(_ino64First) { + return mknodat_freebsd12(fd, path, mode, dev) + } + oldDev = int(dev) + return mknodat(fd, path, mode, oldDev) +} + +// round x to the nearest multiple of y, larger or equal to x. +// +// from /usr/include/sys/param.h Macros for counting and rounding. +// #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) +func roundup(x, y int) int { + return ((x + y - 1) / y) * y +} + +func (s *Stat_t) convertFrom(old *stat_freebsd11_t) { + *s = Stat_t{ + Dev: uint64(old.Dev), + Ino: uint64(old.Ino), + Nlink: uint64(old.Nlink), + Mode: old.Mode, + Uid: old.Uid, + Gid: old.Gid, + Rdev: uint64(old.Rdev), + Atim: old.Atim, + Mtim: old.Mtim, + Ctim: old.Ctim, + Btim: old.Btim, + Size: old.Size, + Blocks: old.Blocks, + Blksize: old.Blksize, + Flags: old.Flags, + Gen: uint64(old.Gen), + } +} + +func (s *Statfs_t) convertFrom(old *statfs_freebsd11_t) { + *s = Statfs_t{ + Version: _statfsVersion, + Type: old.Type, + Flags: old.Flags, + Bsize: old.Bsize, + Iosize: old.Iosize, + Blocks: old.Blocks, + Bfree: old.Bfree, + Bavail: old.Bavail, + Files: old.Files, + Ffree: old.Ffree, + Syncwrites: old.Syncwrites, + Asyncwrites: old.Asyncwrites, + Syncreads: old.Syncreads, + Asyncreads: old.Asyncreads, + // Spare + Namemax: old.Namemax, + Owner: old.Owner, + Fsid: old.Fsid, + // Charspare + // Fstypename + // Mntfromname + // Mntonname + } + + sl := old.Fstypename[:] + n := clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Fstypename[:], old.Fstypename[:n]) + + sl = old.Mntfromname[:] + n = clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Mntfromname[:], old.Mntfromname[:n]) + + sl = old.Mntonname[:] + n = clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Mntonname[:], old.Mntonname[:n]) +} + +func convertFromDirents11(buf []byte, old []byte) int { + const ( + fixedSize = int(unsafe.Offsetof(Dirent{}.Name)) + oldFixedSize = int(unsafe.Offsetof(dirent_freebsd11{}.Name)) + ) + + dstPos := 0 + srcPos := 0 + for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) { + var dstDirent Dirent + var srcDirent dirent_freebsd11 + + // If multiple direntries are written, sometimes when we reach the final one, + // we may have cap of old less than size of dirent_freebsd11. + copy((*[unsafe.Sizeof(srcDirent)]byte)(unsafe.Pointer(&srcDirent))[:], old[srcPos:]) + + reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8) + if dstPos+reclen > len(buf) { + break + } + + dstDirent.Fileno = uint64(srcDirent.Fileno) + dstDirent.Off = 0 + dstDirent.Reclen = uint16(reclen) + dstDirent.Type = srcDirent.Type + dstDirent.Pad0 = 0 + dstDirent.Namlen = uint16(srcDirent.Namlen) + dstDirent.Pad1 = 0 + + copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen]) + copy(buf[dstPos:], (*[unsafe.Sizeof(dstDirent)]byte)(unsafe.Pointer(&dstDirent))[:]) + padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen] + for i := range padding { + padding[i] = 0 + } + + dstPos += int(dstDirent.Reclen) + srcPos += int(srcDirent.Reclen) + } + + return dstPos +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +//sys ptrace(request int, pid int, addr uintptr, data int) (err error) + +func PtraceAttach(pid int) (err error) { + return ptrace(PTRACE_ATTACH, pid, 0, 0) +} + +func PtraceCont(pid int, signal int) (err error) { + return ptrace(PTRACE_CONT, pid, 1, signal) +} + +func PtraceDetach(pid int) (err error) { + return ptrace(PTRACE_DETACH, pid, 1, 0) +} + +func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) { + return ptrace(PTRACE_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0) +} + +func PtraceGetRegs(pid int, regsout *Reg) (err error) { + return ptrace(PTRACE_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0) +} + +func PtraceLwpEvents(pid int, enable int) (err error) { + return ptrace(PTRACE_LWPEVENTS, pid, 0, enable) +} + +func PtraceLwpInfo(pid int, info uintptr) (err error) { + return ptrace(PTRACE_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{}))) +} + +func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { + return PtraceIO(PIOD_READ_D, pid, addr, out, SizeofLong) +} + +func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { + return PtraceIO(PIOD_READ_I, pid, addr, out, SizeofLong) +} + +func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { + return PtraceIO(PIOD_WRITE_D, pid, addr, data, SizeofLong) +} + +func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + return PtraceIO(PIOD_WRITE_I, pid, addr, data, SizeofLong) +} + +func PtraceSetRegs(pid int, regs *Reg) (err error) { + return ptrace(PTRACE_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0) +} + +func PtraceSingleStep(pid int) (err error) { + return ptrace(PTRACE_SINGLESTEP, pid, 1, 0) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys CapEnter() (err error) +//sys capRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET +//sys capRightsLimit(fd int, rightsp *CapRights) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys fstat(fd int, stat *stat_freebsd11_t) (err error) +//sys fstat_freebsd12(fd int, stat *Stat_t) (err error) +//sys fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) +//sys fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) +//sys fstatfs(fd int, stat *statfs_freebsd11_t) (err error) +//sys fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys lstat(path string, stat *stat_freebsd11_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys mknod(path string, mode uint32, dev int) (err error) +//sys mknodat(fd int, path string, mode uint32, dev int) (err error) +//sys mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys stat(path string, stat *stat_freebsd11_t) (err error) +//sys statfs(path string, stat *statfs_freebsd11_t) (err error) +//sys statfs_freebsd12(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdents +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go new file mode 100644 index 000000000..342fc32b1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go @@ -0,0 +1,67 @@ +// 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. + +//go:build 386 && freebsd +// +build 386,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(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) + +func PtraceGetFsBase(pid int, fsbase *int64) (err error) { + return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0) +} + +func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { + ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint32(countin)} + err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err +} 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 000000000..a32d5aa4a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go @@ -0,0 +1,67 @@ +// 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. + +//go:build amd64 && freebsd +// +build amd64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(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) + +func PtraceGetFsBase(pid int, fsbase *int64) (err error) { + return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0) +} + +func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { + ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint64(countin)} + err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err +} 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 000000000..1e36d39ab --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go @@ -0,0 +1,63 @@ +// 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. + +//go:build arm && freebsd +// +build arm,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(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) + +func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { + ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint32(countin)} + err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err +} diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go new file mode 100644 index 000000000..a09a1537b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go @@ -0,0 +1,63 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build arm64 && freebsd +// +build arm64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(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) + +func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { + ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint64(countin)} + err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err +} diff --git a/vendor/golang.org/x/sys/unix/syscall_illumos.go b/vendor/golang.org/x/sys/unix/syscall_illumos.go new file mode 100644 index 000000000..8c5357683 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_illumos.go @@ -0,0 +1,178 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// illumos system calls not present on Solaris. + +//go:build amd64 && illumos +// +build amd64,illumos + +package unix + +import ( + "fmt" + "runtime" + "unsafe" +) + +func bytes2iovec(bs [][]byte) []Iovec { + iovecs := make([]Iovec, len(bs)) + for i, b := range bs { + iovecs[i].SetLen(len(b)) + if len(b) > 0 { + // somehow Iovec.Base on illumos is (*int8), not (*byte) + iovecs[i].Base = (*int8)(unsafe.Pointer(&b[0])) + } else { + iovecs[i].Base = (*int8)(unsafe.Pointer(&_zero)) + } + } + return iovecs +} + +//sys readv(fd int, iovs []Iovec) (n int, err error) + +func Readv(fd int, iovs [][]byte) (n int, err error) { + iovecs := bytes2iovec(iovs) + n, err = readv(fd, iovecs) + return n, err +} + +//sys preadv(fd int, iovs []Iovec, off int64) (n int, err error) + +func Preadv(fd int, iovs [][]byte, off int64) (n int, err error) { + iovecs := bytes2iovec(iovs) + n, err = preadv(fd, iovecs, off) + return n, err +} + +//sys writev(fd int, iovs []Iovec) (n int, err error) + +func Writev(fd int, iovs [][]byte) (n int, err error) { + iovecs := bytes2iovec(iovs) + n, err = writev(fd, iovecs) + return n, err +} + +//sys pwritev(fd int, iovs []Iovec, off int64) (n int, err error) + +func Pwritev(fd int, iovs [][]byte, off int64) (n int, err error) { + iovecs := bytes2iovec(iovs) + n, err = pwritev(fd, iovecs, off) + return n, err +} + +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) = libsocket.accept4 + +func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +//sys putmsg(fd int, clptr *strbuf, dataptr *strbuf, flags int) (err error) + +func Putmsg(fd int, cl []byte, data []byte, flags int) (err error) { + var clp, datap *strbuf + if len(cl) > 0 { + clp = &strbuf{ + Len: int32(len(cl)), + Buf: (*int8)(unsafe.Pointer(&cl[0])), + } + } + if len(data) > 0 { + datap = &strbuf{ + Len: int32(len(data)), + Buf: (*int8)(unsafe.Pointer(&data[0])), + } + } + return putmsg(fd, clp, datap, flags) +} + +//sys getmsg(fd int, clptr *strbuf, dataptr *strbuf, flags *int) (err error) + +func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byte, flags int, err error) { + var clp, datap *strbuf + if len(cl) > 0 { + clp = &strbuf{ + Maxlen: int32(len(cl)), + Buf: (*int8)(unsafe.Pointer(&cl[0])), + } + } + if len(data) > 0 { + datap = &strbuf{ + Maxlen: int32(len(data)), + Buf: (*int8)(unsafe.Pointer(&data[0])), + } + } + + if err = getmsg(fd, clp, datap, &flags); err != nil { + return nil, nil, 0, err + } + + if len(cl) > 0 { + retCl = cl[:clp.Len] + } + if len(data) > 0 { + retData = data[:datap.Len] + } + return retCl, retData, flags, nil +} + +func IoctlSetIntRetInt(fd int, req uint, arg int) (int, error) { + return ioctlRet(fd, req, uintptr(arg)) +} + +func IoctlSetString(fd int, req uint, val string) error { + bs := make([]byte, len(val)+1) + copy(bs[:len(bs)-1], val) + err := ioctl(fd, req, uintptr(unsafe.Pointer(&bs[0]))) + runtime.KeepAlive(&bs[0]) + return err +} + +// Lifreq Helpers + +func (l *Lifreq) SetName(name string) error { + if len(name) >= len(l.Name) { + return fmt.Errorf("name cannot be more than %d characters", len(l.Name)-1) + } + for i := range name { + l.Name[i] = int8(name[i]) + } + return nil +} + +func (l *Lifreq) SetLifruInt(d int) { + *(*int)(unsafe.Pointer(&l.Lifru[0])) = d +} + +func (l *Lifreq) GetLifruInt() int { + return *(*int)(unsafe.Pointer(&l.Lifru[0])) +} + +func IoctlLifreq(fd int, req uint, l *Lifreq) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(l))) +} + +// Strioctl Helpers + +func (s *Strioctl) SetInt(i int) { + s.Len = int32(unsafe.Sizeof(i)) + s.Dp = (*int8)(unsafe.Pointer(&i)) +} + +func IoctlSetStrioctlRetInt(fd int, req uint, s *Strioctl) (int, error) { + return ioctlRet(fd, req, uintptr(unsafe.Pointer(s))) +} 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 000000000..41b91fdfb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -0,0 +1,2400 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Linux system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import ( + "encoding/binary" + "runtime" + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +func Access(path string, mode uint32) (err error) { + return Faccessat(AT_FDCWD, path, mode, 0) +} + +func Chmod(path string, mode uint32) (err error) { + return Fchmodat(AT_FDCWD, path, mode, 0) +} + +func Chown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, 0) +} + +func Creat(path string, mode uint32) (fd int, err error) { + return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) +} + +//sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) +//sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) + +func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) { + if pathname == "" { + return fanotifyMark(fd, flags, mask, dirFd, nil) + } + p, err := BytePtrFromString(pathname) + if err != nil { + return err + } + return fanotifyMark(fd, flags, mask, dirFd, p) +} + +//sys fchmodat(dirfd int, path string, mode uint32) (err error) + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + // Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior + // and check the flags. Otherwise the mode would be applied to the symlink + // destination which is not what the user expects. + if flags&^AT_SYMLINK_NOFOLLOW != 0 { + return EINVAL + } else if flags&AT_SYMLINK_NOFOLLOW != 0 { + return EOPNOTSUPP + } + return fchmodat(dirfd, path, mode) +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. +// These are defined in ioctl.go and ioctl_linux.go. + +//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 openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) + +func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) { + return openat2(dirfd, path, how, SizeofOpenHow) +} + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) + +func Readlink(path string, buf []byte) (n int, err error) { + return Readlinkat(AT_FDCWD, path, buf) +} + +func Rename(oldpath string, newpath string) (err error) { + return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath) +} + +func Rmdir(path string) error { + return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR) +} + +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) + +func Symlink(oldpath string, newpath string) (err error) { + return Symlinkat(oldpath, AT_FDCWD, newpath) +} + +func Unlink(path string) error { + return Unlinkat(AT_FDCWD, path, 0) +} + +//sys Unlinkat(dirfd int, path string, flags int) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + var ts [2]Timespec + ts[0] = NsecToTimespec(TimevalToNsec(tv[0])) + ts[1] = NsecToTimespec(TimevalToNsec(tv[1])) + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // If the utimensat syscall isn't available (utimensat was added to Linux + // in 2.6.22, Released, 8 July 2007) then fall back to utimes + var tv [2]Timeval + for i := 0; i < 2; i++ { + tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func Futimesat(dirfd int, path string, tv []Timeval) error { + if tv == nil { + return futimesat(dirfd, path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func Futimes(fd int, tv []Timeval) (err error) { + // Believe it or not, this is the best we can do on Linux + // (and is what glibc does). + return Utimes("/proc/self/fd/"+itoa(fd), tv) +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + n, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + // Getcwd returns the number of bytes written to buf, including the NUL. + if n < 1 || n > len(buf) || buf[n-1] != 0 { + return "", EINVAL + } + return string(buf[0 : n-1]), nil +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 1<<16 on Linux. + if n < 0 || n > 1<<20 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +type WaitStatus uint32 + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. At least that's the idea. +// There are various irregularities. For example, the +// "continued" status is 0xFFFF, distinguishing itself +// from stopped via the core dump bit. + +const ( + mask = 0x7F + core = 0x80 + exited = 0x00 + stopped = 0x7F + shift = 8 +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } + +func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } + +func (w WaitStatus) Continued() bool { return w == 0xFFFF } + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int(w>>shift) & 0xFF +} + +func (w WaitStatus) Signal() syscall.Signal { + if !w.Signaled() { + return -1 + } + return syscall.Signal(w & mask) +} + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { + if w.StopSignal() != SIGTRAP { + return -1 + } + return int(w>>shift) >> 8 +} + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +func Mkfifo(path string, mode uint32) error { + return Mknod(path, mode|S_IFIFO, 0) +} + +func Mkfifoat(dirfd int, path string, mode uint32) error { + return Mknodat(dirfd, path, mode|S_IFIFO, 0) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets. +type SockaddrLinklayer struct { + Protocol uint16 + Ifindex int + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]byte + raw RawSockaddrLinklayer +} + +func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_PACKET + sa.raw.Protocol = sa.Protocol + sa.raw.Ifindex = int32(sa.Ifindex) + sa.raw.Hatype = sa.Hatype + sa.raw.Pkttype = sa.Pkttype + sa.raw.Halen = sa.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil +} + +// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets. +type SockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 + raw RawSockaddrNetlink +} + +func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_NETLINK + sa.raw.Pad = sa.Pad + sa.raw.Pid = sa.Pid + sa.raw.Groups = sa.Groups + return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil +} + +// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the HCI protocol. +type SockaddrHCI struct { + Dev uint16 + Channel uint16 + raw RawSockaddrHCI +} + +func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Dev = sa.Dev + sa.raw.Channel = sa.Channel + return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil +} + +// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the L2CAP protocol. +type SockaddrL2 struct { + PSM uint16 + CID uint16 + Addr [6]uint8 + AddrType uint8 + raw RawSockaddrL2 +} + +func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm)) + psm[0] = byte(sa.PSM) + psm[1] = byte(sa.PSM >> 8) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i] + } + cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid)) + cid[0] = byte(sa.CID) + cid[1] = byte(sa.CID >> 8) + sa.raw.Bdaddr_type = sa.AddrType + return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil +} + +// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the RFCOMM protocol. +// +// Server example: +// +// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +// _ = unix.Bind(fd, &unix.SockaddrRFCOMM{ +// Channel: 1, +// Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00 +// }) +// _ = Listen(fd, 1) +// nfd, sa, _ := Accept(fd) +// fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd) +// Read(nfd, buf) +// +// Client example: +// +// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +// _ = Connect(fd, &SockaddrRFCOMM{ +// Channel: 1, +// Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11 +// }) +// Write(fd, []byte(`hello`)) +type SockaddrRFCOMM struct { + // Addr represents a bluetooth address, byte ordering is little-endian. + Addr [6]uint8 + + // Channel is a designated bluetooth channel, only 1-30 are available for use. + // Since Linux 2.6.7 and further zero value is the first available channel. + Channel uint8 + + raw RawSockaddrRFCOMM +} + +func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Channel = sa.Channel + sa.raw.Bdaddr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil +} + +// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets. +// The RxID and TxID fields are used for transport protocol addressing in +// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with +// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning. +// +// The SockaddrCAN struct must be bound to the socket file descriptor +// using Bind before the CAN socket can be used. +// +// // Read one raw CAN frame +// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) +// addr := &SockaddrCAN{Ifindex: index} +// Bind(fd, addr) +// frame := make([]byte, 16) +// Read(fd, frame) +// +// The full SocketCAN documentation can be found in the linux kernel +// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt +type SockaddrCAN struct { + Ifindex int + RxID uint32 + TxID uint32 + raw RawSockaddrCAN +} + +func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_CAN + sa.raw.Ifindex = int32(sa.Ifindex) + rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i] = rx[i] + } + tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i+4] = tx[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil +} + +// SockaddrCANJ1939 implements the Sockaddr interface for AF_CAN using J1939 +// protocol (https://en.wikipedia.org/wiki/SAE_J1939). For more information +// on the purposes of the fields, check the official linux kernel documentation +// available here: https://www.kernel.org/doc/Documentation/networking/j1939.rst +type SockaddrCANJ1939 struct { + Ifindex int + Name uint64 + PGN uint32 + Addr uint8 + raw RawSockaddrCAN +} + +func (sa *SockaddrCANJ1939) 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) + n := (*[8]byte)(unsafe.Pointer(&sa.Name)) + for i := 0; i < 8; i++ { + sa.raw.Addr[i] = n[i] + } + p := (*[4]byte)(unsafe.Pointer(&sa.PGN)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i+8] = p[i] + } + sa.raw.Addr[12] = sa.Addr + 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_LOCAL: refers to local communication (loopback). + // - VMADDR_CID_HOST: refers to other processes on the host. + CID uint32 + Port uint32 + Flags uint8 + 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 + sa.raw.Flags = sa.Flags + + return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil +} + +type SockaddrXDP struct { + Flags uint16 + Ifindex uint32 + QueueID uint32 + SharedUmemFD uint32 + raw RawSockaddrXDP +} + +func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_XDP + sa.raw.Flags = sa.Flags + sa.raw.Ifindex = sa.Ifindex + sa.raw.Queue_id = sa.QueueID + sa.raw.Shared_umem_fd = sa.SharedUmemFD + + return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil +} + +// This constant mirrors the #define of PX_PROTO_OE in +// linux/if_pppox.h. We're defining this by hand here instead of +// autogenerating through mkerrors.sh because including +// linux/if_pppox.h causes some declaration conflicts with other +// includes (linux/if_pppox.h includes linux/in.h, which conflicts +// with netinet/in.h). Given that we only need a single zero constant +// out of that file, it's cleaner to just define it by hand here. +const px_proto_oe = 0 + +type SockaddrPPPoE struct { + SID uint16 + Remote []byte + Dev string + raw RawSockaddrPPPoX +} + +func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) { + if len(sa.Remote) != 6 { + return nil, 0, EINVAL + } + if len(sa.Dev) > IFNAMSIZ-1 { + return nil, 0, EINVAL + } + + *(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX + // This next field is in host-endian byte order. We can't use the + // same unsafe pointer cast as above, because this value is not + // 32-bit aligned and some architectures don't allow unaligned + // access. + // + // However, the value of px_proto_oe is 0, so we can use + // encoding/binary helpers to write the bytes without worrying + // about the ordering. + binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe) + // This field is deliberately big-endian, unlike the previous + // one. The kernel expects SID to be in network byte order. + binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID) + copy(sa.raw[8:14], sa.Remote) + for i := 14; i < 14+IFNAMSIZ; i++ { + sa.raw[i] = 0 + } + copy(sa.raw[14:], sa.Dev) + return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil +} + +// SockaddrTIPC implements the Sockaddr interface for AF_TIPC type sockets. +// For more information on TIPC, see: http://tipc.sourceforge.net/. +type SockaddrTIPC struct { + // Scope is the publication scopes when binding service/service range. + // Should be set to TIPC_CLUSTER_SCOPE or TIPC_NODE_SCOPE. + Scope int + + // Addr is the type of address used to manipulate a socket. Addr must be + // one of: + // - *TIPCSocketAddr: "id" variant in the C addr union + // - *TIPCServiceRange: "nameseq" variant in the C addr union + // - *TIPCServiceName: "name" variant in the C addr union + // + // If nil, EINVAL will be returned when the structure is used. + Addr TIPCAddr + + raw RawSockaddrTIPC +} + +// TIPCAddr is implemented by types that can be used as an address for +// SockaddrTIPC. It is only implemented by *TIPCSocketAddr, *TIPCServiceRange, +// and *TIPCServiceName. +type TIPCAddr interface { + tipcAddrtype() uint8 + tipcAddr() [12]byte +} + +func (sa *TIPCSocketAddr) tipcAddr() [12]byte { + var out [12]byte + copy(out[:], (*(*[unsafe.Sizeof(TIPCSocketAddr{})]byte)(unsafe.Pointer(sa)))[:]) + return out +} + +func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR } + +func (sa *TIPCServiceRange) tipcAddr() [12]byte { + var out [12]byte + copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceRange{})]byte)(unsafe.Pointer(sa)))[:]) + return out +} + +func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_RANGE } + +func (sa *TIPCServiceName) tipcAddr() [12]byte { + var out [12]byte + copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceName{})]byte)(unsafe.Pointer(sa)))[:]) + return out +} + +func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_ADDR } + +func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Addr == nil { + return nil, 0, EINVAL + } + + sa.raw.Family = AF_TIPC + sa.raw.Scope = int8(sa.Scope) + sa.raw.Addrtype = sa.Addr.tipcAddrtype() + sa.raw.Addr = sa.Addr.tipcAddr() + + return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil +} + +// SockaddrL2TPIP implements the Sockaddr interface for IPPROTO_L2TP/AF_INET sockets. +type SockaddrL2TPIP struct { + Addr [4]byte + ConnId uint32 + raw RawSockaddrL2TPIP +} + +func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_INET + sa.raw.Conn_id = sa.ConnId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil +} + +// SockaddrL2TPIP6 implements the Sockaddr interface for IPPROTO_L2TP/AF_INET6 sockets. +type SockaddrL2TPIP6 struct { + Addr [16]byte + ZoneId uint32 + ConnId uint32 + raw RawSockaddrL2TPIP6 +} + +func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_INET6 + sa.raw.Conn_id = sa.ConnId + 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), SizeofSockaddrL2TPIP6, nil +} + +// SockaddrIUCV implements the Sockaddr interface for AF_IUCV sockets. +type SockaddrIUCV struct { + UserID string + Name string + raw RawSockaddrIUCV +} + +func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_IUCV + // These are EBCDIC encoded by the kernel, but we still need to pad them + // with blanks. Initializing with blanks allows the caller to feed in either + // a padded or an unpadded string. + for i := 0; i < 8; i++ { + sa.raw.Nodeid[i] = ' ' + sa.raw.User_id[i] = ' ' + sa.raw.Name[i] = ' ' + } + if len(sa.UserID) > 8 || len(sa.Name) > 8 { + return nil, 0, EINVAL + } + for i, b := range []byte(sa.UserID[:]) { + sa.raw.User_id[i] = int8(b) + } + for i, b := range []byte(sa.Name[:]) { + sa.raw.Name[i] = int8(b) + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrIUCV, nil +} + +type SockaddrNFC struct { + DeviceIdx uint32 + TargetIdx uint32 + NFCProtocol uint32 + raw RawSockaddrNFC +} + +func (sa *SockaddrNFC) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Sa_family = AF_NFC + sa.raw.Dev_idx = sa.DeviceIdx + sa.raw.Target_idx = sa.TargetIdx + sa.raw.Nfc_protocol = sa.NFCProtocol + return unsafe.Pointer(&sa.raw), SizeofSockaddrNFC, nil +} + +type SockaddrNFCLLCP struct { + DeviceIdx uint32 + TargetIdx uint32 + NFCProtocol uint32 + DestinationSAP uint8 + SourceSAP uint8 + ServiceName string + raw RawSockaddrNFCLLCP +} + +func (sa *SockaddrNFCLLCP) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Sa_family = AF_NFC + sa.raw.Dev_idx = sa.DeviceIdx + sa.raw.Target_idx = sa.TargetIdx + sa.raw.Nfc_protocol = sa.NFCProtocol + sa.raw.Dsap = sa.DestinationSAP + sa.raw.Ssap = sa.SourceSAP + if len(sa.ServiceName) > len(sa.raw.Service_name) { + return nil, 0, EINVAL + } + copy(sa.raw.Service_name[:], sa.ServiceName) + sa.raw.SetServiceNameLen(len(sa.ServiceName)) + return unsafe.Pointer(&sa.raw), SizeofSockaddrNFCLLCP, nil +} + +var socketProtocol = func(fd int) (int, error) { + return GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_NETLINK: + pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa)) + sa := new(SockaddrNetlink) + sa.Family = pp.Family + sa.Pad = pp.Pad + sa.Pid = pp.Pid + sa.Groups = pp.Groups + return sa, nil + + case AF_PACKET: + pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa)) + sa := new(SockaddrLinklayer) + sa.Protocol = pp.Protocol + sa.Ifindex = int(pp.Ifindex) + sa.Hatype = pp.Hatype + sa.Pkttype = pp.Pkttype + sa.Halen = pp.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + if pp.Path[0] == 0 { + // "Abstract" Unix domain socket. + // Rewrite leading NUL as @ for textual display. + // (This is the standard convention.) + // Not friendly to overwrite in place, + // but the callers below don't care. + pp.Path[0] = '@' + } + + // Assume path ends at NUL. + // This is not technically the Linux semantics for + // abstract Unix domain sockets--they are supposed + // to be uninterpreted fixed-size binary blobs--but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + proto, err := socketProtocol(fd) + if err != nil { + return nil, err + } + + switch proto { + case IPPROTO_L2TP: + pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa)) + sa := new(SockaddrL2TPIP) + sa.ConnId = pp.Conn_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + default: + 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: + proto, err := socketProtocol(fd) + if err != nil { + return nil, err + } + + switch proto { + case IPPROTO_L2TP: + pp := (*RawSockaddrL2TPIP6)(unsafe.Pointer(rsa)) + sa := new(SockaddrL2TPIP6) + sa.ConnId = pp.Conn_id + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + default: + 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, + Flags: pp.Flags, + } + return sa, nil + case AF_BLUETOOTH: + proto, err := socketProtocol(fd) + if err != nil { + return nil, err + } + // only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections + switch proto { + case BTPROTO_L2CAP: + pp := (*RawSockaddrL2)(unsafe.Pointer(rsa)) + sa := &SockaddrL2{ + PSM: pp.Psm, + CID: pp.Cid, + Addr: pp.Bdaddr, + AddrType: pp.Bdaddr_type, + } + return sa, nil + case BTPROTO_RFCOMM: + pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa)) + sa := &SockaddrRFCOMM{ + Channel: pp.Channel, + Addr: pp.Bdaddr, + } + return sa, nil + } + case AF_XDP: + pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa)) + sa := &SockaddrXDP{ + Flags: pp.Flags, + Ifindex: pp.Ifindex, + QueueID: pp.Queue_id, + SharedUmemFD: pp.Shared_umem_fd, + } + return sa, nil + case AF_PPPOX: + pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa)) + if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe { + return nil, EINVAL + } + sa := &SockaddrPPPoE{ + SID: binary.BigEndian.Uint16(pp[6:8]), + Remote: pp[8:14], + } + for i := 14; i < 14+IFNAMSIZ; i++ { + if pp[i] == 0 { + sa.Dev = string(pp[14:i]) + break + } + } + return sa, nil + case AF_TIPC: + pp := (*RawSockaddrTIPC)(unsafe.Pointer(rsa)) + + sa := &SockaddrTIPC{ + Scope: int(pp.Scope), + } + + // Determine which union variant is present in pp.Addr by checking + // pp.Addrtype. + switch pp.Addrtype { + case TIPC_SERVICE_RANGE: + sa.Addr = (*TIPCServiceRange)(unsafe.Pointer(&pp.Addr)) + case TIPC_SERVICE_ADDR: + sa.Addr = (*TIPCServiceName)(unsafe.Pointer(&pp.Addr)) + case TIPC_SOCKET_ADDR: + sa.Addr = (*TIPCSocketAddr)(unsafe.Pointer(&pp.Addr)) + default: + return nil, EINVAL + } + + return sa, nil + case AF_IUCV: + pp := (*RawSockaddrIUCV)(unsafe.Pointer(rsa)) + + var user [8]byte + var name [8]byte + + for i := 0; i < 8; i++ { + user[i] = byte(pp.User_id[i]) + name[i] = byte(pp.Name[i]) + } + + sa := &SockaddrIUCV{ + UserID: string(user[:]), + Name: string(name[:]), + } + return sa, nil + + case AF_CAN: + proto, err := socketProtocol(fd) + if err != nil { + return nil, err + } + + pp := (*RawSockaddrCAN)(unsafe.Pointer(rsa)) + + switch proto { + case CAN_J1939: + sa := &SockaddrCANJ1939{ + Ifindex: int(pp.Ifindex), + } + name := (*[8]byte)(unsafe.Pointer(&sa.Name)) + for i := 0; i < 8; i++ { + name[i] = pp.Addr[i] + } + pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN)) + for i := 0; i < 4; i++ { + pgn[i] = pp.Addr[i+8] + } + addr := (*[1]byte)(unsafe.Pointer(&sa.Addr)) + addr[0] = pp.Addr[12] + return sa, nil + default: + sa := &SockaddrCAN{ + Ifindex: int(pp.Ifindex), + } + rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) + for i := 0; i < 4; i++ { + rx[i] = pp.Addr[i] + } + tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) + for i := 0; i < 4; i++ { + tx[i] = pp.Addr[i+4] + } + return sa, nil + } + case AF_NFC: + proto, err := socketProtocol(fd) + if err != nil { + return nil, err + } + switch proto { + case NFC_SOCKPROTO_RAW: + pp := (*RawSockaddrNFC)(unsafe.Pointer(rsa)) + sa := &SockaddrNFC{ + DeviceIdx: pp.Dev_idx, + TargetIdx: pp.Target_idx, + NFCProtocol: pp.Nfc_protocol, + } + return sa, nil + case NFC_SOCKPROTO_LLCP: + pp := (*RawSockaddrNFCLLCP)(unsafe.Pointer(rsa)) + if uint64(pp.Service_name_len) > uint64(len(pp.Service_name)) { + return nil, EINVAL + } + sa := &SockaddrNFCLLCP{ + DeviceIdx: pp.Dev_idx, + TargetIdx: pp.Target_idx, + NFCProtocol: pp.Nfc_protocol, + DestinationSAP: pp.Dsap, + SourceSAP: pp.Ssap, + ServiceName: string(pp.Service_name[:pp.Service_name_len]), + } + return sa, nil + default: + return nil, EINVAL + } + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + // Try accept4 first for Android, then try accept for kernel older than 2.6.28 + nfd, err = accept4(fd, &rsa, &len, 0) + if err == ENOSYS { + nfd, err = accept(fd, &rsa, &len) + } + if err != nil { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptUcred(fd, level, opt int) (*Ucred, error) { + var value Ucred + vallen := _Socklen(SizeofUcred) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { + var value TCPInfo + vallen := _Socklen(SizeofTCPInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + if err == ERANGE { + buf = make([]byte, vallen) + err = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + } + if err != nil { + return "", err + } + } + return string(buf[:vallen-1]), nil +} + +func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) { + var value TpacketStats + vallen := _Socklen(SizeofTpacketStats) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) { + var value TpacketStatsV3 + vallen := _Socklen(SizeofTpacketStatsV3) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +// SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a +// socket to filter incoming packets. See 'man 7 socket' for usage information. +func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error { + return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog)) +} + +func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error { + var p unsafe.Pointer + if len(filter) > 0 { + p = unsafe.Pointer(&filter[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter)) +} + +func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) +} + +func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) +} + +// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) + +// KeyctlInt calls keyctl commands in which each argument is an int. +// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK, +// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT, +// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT, +// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT. +//sys KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlBuffer calls keyctl commands in which the third and fourth +// arguments are a buffer and its length, respectively. +// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE. +//sys KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlString calls keyctl commands which return a string. +// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY. +func KeyctlString(cmd int, id int) (string, error) { + // We must loop as the string data may change in between the syscalls. + // We could allocate a large buffer here to reduce the chance that the + // syscall needs to be called twice; however, this is unnecessary as + // the performance loss is negligible. + var buffer []byte + for { + // Try to fill the buffer with data + length, err := KeyctlBuffer(cmd, id, buffer, 0) + if err != nil { + return "", err + } + + // Check if the data was written + if length <= len(buffer) { + // Exclude the null terminator + return string(buffer[:length-1]), nil + } + + // Make a bigger buffer if needed + buffer = make([]byte, length) + } +} + +// Keyctl commands with special signatures. + +// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html +func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) { + createInt := 0 + if create { + createInt = 1 + } + return KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0) +} + +// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the +// key handle permission mask as described in the "keyctl setperm" section of +// http://man7.org/linux/man-pages/man1/keyctl.1.html. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html +func KeyctlSetperm(id int, perm uint32) error { + _, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0) + return err +} + +//sys keyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL + +// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html +func KeyctlJoinSessionKeyring(name string) (ringid int, err error) { + return keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name) +} + +//sys keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlSearch implements the KEYCTL_SEARCH command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_search.3.html +func KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) { + return keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid) +} + +//sys keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL + +// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This +// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice +// of Iovec (each of which represents a buffer) instead of a single buffer. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html +func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error { + return keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid) +} + +//sys keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL + +// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command +// computes a Diffie-Hellman shared secret based on the provide params. The +// secret is written to the provided buffer and the returned size is the number +// of bytes written (returning an error if there is insufficient space in the +// buffer). If a nil buffer is passed in, this function returns the minimum +// buffer length needed to store the appropriate data. Note that this differs +// from KEYCTL_READ's behavior which always returns the requested payload size. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html +func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) { + return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer) +} + +// KeyctlRestrictKeyring implements the KEYCTL_RESTRICT_KEYRING command. This +// command limits the set of keys that can be linked to the keyring, regardless +// of keyring permissions. The command requires the "setattr" permission. +// +// When called with an empty keyType the command locks the keyring, preventing +// any further keys from being linked to the keyring. +// +// The "asymmetric" keyType defines restrictions requiring key payloads to be +// DER encoded X.509 certificates signed by keys in another keyring. Restrictions +// for "asymmetric" include "builtin_trusted", "builtin_and_secondary_trusted", +// "key_or_keyring:<key>", and "key_or_keyring:<key>:chain". +// +// As of Linux 4.12, only the "asymmetric" keyType defines type-specific +// restrictions. +// +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_restrict_keyring.3.html +// http://man7.org/linux/man-pages/man2/keyctl.2.html +func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error { + if keyType == "" { + return keyctlRestrictKeyring(KEYCTL_RESTRICT_KEYRING, ringid) + } + return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction) +} + +//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL +//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = &p[0] + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + if len(p) == 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return + } + // receive at least one normal byte + if sockType != SOCK_DGRAM { + iov.Base = &dummy + iov.SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + var err error + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(ptr) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = &p[0] + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + if len(p) == 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return 0, err + } + // send at least one normal byte + if sockType != SOCK_DGRAM { + iov.Base = &dummy + iov.SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +// BindToDevice binds the socket associated with fd to device. +func BindToDevice(fd int, device string) (err error) { + return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device) +} + +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) + +func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) { + // The peek requests are machine-size oriented, so we wrap it + // to retrieve arbitrary-length data. + + // The ptrace syscall differs from glibc's ptrace. + // Peeks returns the word in *data, not as the return value. + + var buf [SizeofPtr]byte + + // Leading edge. PEEKTEXT/PEEKDATA don't require aligned + // access (PEEKUSER warns that it might), but if we don't + // align our reads, we might straddle an unmapped page + // boundary and not get the bytes leading up to the page + // boundary. + n := 0 + if addr%SizeofPtr != 0 { + err = ptrace(req, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(out, buf[addr%SizeofPtr:]) + out = out[n:] + } + + // Remainder. + for len(out) > 0 { + // We use an internal buffer to guarantee alignment. + // It's not documented if this is necessary, but we're paranoid. + err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copied := copy(out, buf[0:]) + n += copied + out = out[copied:] + } + + return n, nil +} + +func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out) +} + +func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKDATA, pid, addr, out) +} + +func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKUSR, pid, addr, out) +} + +func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) { + // As for ptracePeek, we need to align our accesses to deal + // with the possibility of straddling an invalid page. + + // Leading edge. + n := 0 + if addr%SizeofPtr != 0 { + var buf [SizeofPtr]byte + err = ptrace(peekReq, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(buf[addr%SizeofPtr:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word) + if err != nil { + return 0, err + } + data = data[n:] + } + + // Interior. + for len(data) > SizeofPtr { + word := *((*uintptr)(unsafe.Pointer(&data[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += SizeofPtr + data = data[SizeofPtr:] + } + + // Trailing edge. + if len(data) > 0 { + var buf [SizeofPtr]byte + err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copy(buf[0:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += len(data) + } + + return n, nil +} + +func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data) +} + +func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data) +} + +func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data) +} + +func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +func PtraceSetOptions(pid int, options int) (err error) { + return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options)) +} + +func PtraceGetEventMsg(pid int) (msg uint, err error) { + var data _C_long + err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data))) + msg = uint(data) + return +} + +func PtraceCont(pid int, signal int) (err error) { + return ptrace(PTRACE_CONT, pid, 0, uintptr(signal)) +} + +func PtraceSyscall(pid int, signal int) (err error) { + return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal)) +} + +func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } + +func PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRUPT, pid, 0, 0) } + +func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } + +func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, pid, 0, 0) } + +func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) } + +//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) + +func Reboot(cmd int) (err error) { + return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) + +func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { + // Certain file systems get rather angry and EINVAL if you give + // them an empty string of data, rather than NULL. + if data == "" { + return mount(source, target, fstype, flags, nil) + } + datap, err := BytePtrFromString(data) + if err != nil { + return err + } + return mount(source, target, fstype, flags, datap) +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// Sendto +// Recvfrom +// Socketpair + +/* + * Direct access + */ +//sys Acct(path string) (err error) +//sys AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) +//sys Adjtimex(buf *Timex) (state int, err error) +//sysnb Capget(hdr *CapUserHeader, data *CapUserData) (err error) +//sysnb Capset(hdr *CapUserHeader, data *CapUserData) (err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys ClockGetres(clockid int32, res *Timespec) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) +//sys Close(fd int) (err error) +//sys CloseRange(first uint, last uint, flags uint) (err error) +//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys DeleteModule(name string, flags int) (err error) +//sys Dup(oldfd int) (fd int, err error) + +func Dup2(oldfd, newfd int) error { + // Android O and newer blocks dup2; riscv and arm64 don't implement dup2. + if runtime.GOOS == "android" || runtime.GOARCH == "riscv64" || runtime.GOARCH == "arm64" { + return Dup3(oldfd, newfd, 0) + } + return dup2(oldfd, newfd) +} + +//sys Dup3(oldfd int, newfd int, flags int) (err error) +//sysnb EpollCreate1(flag int) (fd int, err error) +//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) +//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2 +//sys Exit(code int) = SYS_EXIT_GROUP +//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) +//sys FinitModule(fd int, params string, flags int) (err error) +//sys Flistxattr(fd int, dest []byte) (sz int, err error) +//sys Flock(fd int, how int) (err error) +//sys Fremovexattr(fd int, attr string) (err error) +//sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) +//sys Fsync(fd int) (err error) +//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 +//sysnb Getpgid(pid int) (pgid int, err error) + +func Getpgrp() (pid int) { + pid, _ = Getpgid(0) + return +} + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sys Getrandom(buf []byte, flags int) (n int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettid() (tid int) +//sys Getxattr(path string, attr string, dest []byte) (sz int, err error) +//sys InitModule(moduleImage []byte, params string) (err error) +//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) +//sysnb InotifyInit1(flags int) (fd int, err error) +//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) +//sysnb Kill(pid int, sig syscall.Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG +//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error) +//sys Listxattr(path string, dest []byte) (sz int, err error) +//sys Llistxattr(path string, dest []byte) (sz int, err error) +//sys Lremovexattr(path string, attr string) (err error) +//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) +//sys MemfdCreate(name string, flags int) (fd int, err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) +//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT +//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 +//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) +//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6 +//sys read(fd int, p []byte) (n int, err error) +//sys Removexattr(path string, attr string) (err error) +//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) +//sys RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) +//sys Setns(fd int, nstype int) (err error) + +// PrctlRetInt performs a prctl operation specified by option and further +// optional arguments arg2 through arg5 depending on option. It returns a +// non-negative integer that is returned by the prctl syscall. +func PrctlRetInt(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (int, error) { + ret, _, err := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if err != 0 { + return 0, err + } + return int(ret), nil +} + +// 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 +} + +// SetfsgidRetGid sets fsgid for current thread and returns previous fsgid set. +// setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability. +// If the call fails due to other reasons, current fsgid will be returned. +func SetfsgidRetGid(gid int) (int, error) { + return setfsgid(gid) +} + +// SetfsuidRetUid sets fsuid for current thread and returns previous fsuid set. +// setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability +// If the call fails due to other reasons, current fsuid will be returned. +func SetfsuidRetUid(uid int) (int, error) { + return setfsuid(uid) +} + +func Setfsgid(gid int) error { + _, err := setfsgid(gid) + return err +} + +func Setfsuid(uid int) error { + _, err := setfsuid(uid) + return err +} + +func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) { + return signalfd(fd, sigmask, _C__NSIG/8, flags) +} + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setxattr(path string, attr string, data []byte, flags int) (err error) +//sys signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4 +//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) +//sys Sync() +//sys Syncfs(fd int) (err error) +//sysnb Sysinfo(info *Sysinfo_t) (err error) +//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) +//sysnb TimerfdCreate(clockid int, flags int) (fd int, err error) +//sysnb TimerfdGettime(fd int, currValue *ItimerSpec) (err error) +//sysnb TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error) +//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2 +//sys Unshare(flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys exitThread(code int) (err error) = SYS_EXIT +//sys readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ +//sys writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE +//sys readv(fd int, iovs []Iovec) (n int, err error) = SYS_READV +//sys writev(fd int, iovs []Iovec) (n int, err error) = SYS_WRITEV +//sys preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PREADV +//sys pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PWRITEV +//sys preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PREADV2 +//sys pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PWRITEV2 + +func bytes2iovec(bs [][]byte) []Iovec { + iovecs := make([]Iovec, len(bs)) + for i, b := range bs { + iovecs[i].SetLen(len(b)) + if len(b) > 0 { + iovecs[i].Base = &b[0] + } else { + iovecs[i].Base = (*byte)(unsafe.Pointer(&_zero)) + } + } + return iovecs +} + +// offs2lohi splits offs into its lower and upper unsigned long. On 64-bit +// systems, hi will always be 0. On 32-bit systems, offs will be split in half. +// preadv/pwritev chose this calling convention so they don't need to add a +// padding-register for alignment on ARM. +func offs2lohi(offs int64) (lo, hi uintptr) { + return uintptr(offs), uintptr(uint64(offs) >> SizeofLong) +} + +func Readv(fd int, iovs [][]byte) (n int, err error) { + iovecs := bytes2iovec(iovs) + n, err = readv(fd, iovecs) + readvRacedetect(iovecs, n, err) + return n, err +} + +func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) { + iovecs := bytes2iovec(iovs) + lo, hi := offs2lohi(offset) + n, err = preadv(fd, iovecs, lo, hi) + readvRacedetect(iovecs, n, err) + return n, err +} + +func Preadv2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) { + iovecs := bytes2iovec(iovs) + lo, hi := offs2lohi(offset) + n, err = preadv2(fd, iovecs, lo, hi, flags) + readvRacedetect(iovecs, n, err) + return n, err +} + +func readvRacedetect(iovecs []Iovec, n int, err error) { + if !raceenabled { + return + } + for i := 0; n > 0 && i < len(iovecs); i++ { + m := int(iovecs[i].Len) + if m > n { + m = n + } + n -= m + if m > 0 { + raceWriteRange(unsafe.Pointer(iovecs[i].Base), m) + } + } + if err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } +} + +func Writev(fd int, iovs [][]byte) (n int, err error) { + iovecs := bytes2iovec(iovs) + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = writev(fd, iovecs) + writevRacedetect(iovecs, n) + return n, err +} + +func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) { + iovecs := bytes2iovec(iovs) + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + lo, hi := offs2lohi(offset) + n, err = pwritev(fd, iovecs, lo, hi) + writevRacedetect(iovecs, n) + return n, err +} + +func Pwritev2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) { + iovecs := bytes2iovec(iovs) + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + lo, hi := offs2lohi(offset) + n, err = pwritev2(fd, iovecs, lo, hi, flags) + writevRacedetect(iovecs, n) + return n, err +} + +func writevRacedetect(iovecs []Iovec, n int) { + if !raceenabled { + return + } + for i := 0; n > 0 && i < len(iovecs); i++ { + m := int(iovecs[i].Len) + if m > n { + m = n + } + n -= m + if m > 0 { + raceReadRange(unsafe.Pointer(iovecs[i].Base), m) + } + } +} + +// mmap varies by architecture; see syscall_linux_*.go. +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, +// using the specified flags. +func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { + var p unsafe.Pointer + if len(iovs) > 0 { + p = unsafe.Pointer(&iovs[0]) + } + + n, _, errno := Syscall6(SYS_VMSPLICE, uintptr(fd), uintptr(p), uintptr(len(iovs)), uintptr(flags), 0, 0) + if errno != 0 { + return 0, syscall.Errno(errno) + } + + return int(n), nil +} + +func isGroupMember(gid int) bool { + groups, err := Getgroups() + if err != nil { + return false + } + + for _, g := range groups { + if g == gid { + return true + } + } + return false +} + +//sys faccessat(dirfd int, path string, mode uint32) (err error) +//sys Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if flags == 0 { + return faccessat(dirfd, path, mode) + } + + if err := Faccessat2(dirfd, path, mode, flags); err != ENOSYS && err != EPERM { + return err + } + + // The Linux kernel faccessat system call does not take any flags. + // The glibc faccessat implements the flags itself; see + // https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD + // Because people naturally expect syscall.Faccessat to act + // like C faccessat, we do the same. + + if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 { + return EINVAL + } + + var st Stat_t + if err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil { + return err + } + + mode &= 7 + if mode == 0 { + return nil + } + + var uid int + if flags&AT_EACCESS != 0 { + uid = Geteuid() + } else { + uid = Getuid() + } + + if uid == 0 { + if mode&1 == 0 { + // Root can read and write any file. + return nil + } + if st.Mode&0111 != 0 { + // Root can execute any file that anybody can execute. + return nil + } + return EACCES + } + + var fmode uint32 + if uint32(uid) == st.Uid { + fmode = (st.Mode >> 6) & 7 + } else { + var gid int + if flags&AT_EACCESS != 0 { + gid = Getegid() + } else { + gid = Getgid() + } + + if uint32(gid) == st.Gid || isGroupMember(gid) { + fmode = (st.Mode >> 3) & 7 + } else { + fmode = st.Mode & 7 + } + } + + if fmode&mode == mode { + return nil + } + + return EACCES +} + +//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT +//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT + +// fileHandle is the argument to nameToHandleAt and openByHandleAt. We +// originally tried to generate it via unix/linux/types.go with "type +// fileHandle C.struct_file_handle" but that generated empty structs +// for mips64 and mips64le. Instead, hard code it for now (it's the +// same everywhere else) until the mips64 generator issue is fixed. +type fileHandle struct { + Bytes uint32 + Type int32 +} + +// FileHandle represents the C struct file_handle used by +// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see +// OpenByHandleAt). +type FileHandle struct { + *fileHandle +} + +// NewFileHandle constructs a FileHandle. +func NewFileHandle(handleType int32, handle []byte) FileHandle { + const hdrSize = unsafe.Sizeof(fileHandle{}) + buf := make([]byte, hdrSize+uintptr(len(handle))) + copy(buf[hdrSize:], handle) + fh := (*fileHandle)(unsafe.Pointer(&buf[0])) + fh.Type = handleType + fh.Bytes = uint32(len(handle)) + return FileHandle{fh} +} + +func (fh *FileHandle) Size() int { return int(fh.fileHandle.Bytes) } +func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type } +func (fh *FileHandle) Bytes() []byte { + n := fh.Size() + if n == 0 { + return nil + } + return (*[1 << 30]byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type)) + 4))[:n:n] +} + +// NameToHandleAt wraps the name_to_handle_at system call; it obtains +// a handle for a path name. +func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) { + var mid _C_int + // Try first with a small buffer, assuming the handle will + // only be 32 bytes. + size := uint32(32 + unsafe.Sizeof(fileHandle{})) + didResize := false + for { + buf := make([]byte, size) + fh := (*fileHandle)(unsafe.Pointer(&buf[0])) + fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{})) + err = nameToHandleAt(dirfd, path, fh, &mid, flags) + if err == EOVERFLOW { + if didResize { + // We shouldn't need to resize more than once + return + } + didResize = true + size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{})) + continue + } + if err != nil { + return + } + return FileHandle{fh}, int(mid), nil + } +} + +// OpenByHandleAt wraps the open_by_handle_at system call; it opens a +// file via a handle as previously returned by NameToHandleAt. +func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) { + return openByHandleAt(mountFD, handle.fileHandle, flags) +} + +// Klogset wraps the sys_syslog system call; it sets console_loglevel to +// the value specified by arg and passes a dummy pointer to bufp. +func Klogset(typ int, arg int) (err error) { + var p unsafe.Pointer + _, _, errno := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(p), uintptr(arg)) + if errno != 0 { + return errnoErr(errno) + } + return nil +} + +// RemoteIovec is Iovec with the pointer replaced with an integer. +// It is used for ProcessVMReadv and ProcessVMWritev, where the pointer +// refers to a location in a different process' address space, which +// would confuse the Go garbage collector. +type RemoteIovec struct { + Base uintptr + Len int +} + +//sys ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_READV +//sys ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_WRITEV + +/* + * Unimplemented + */ +// AfsSyscall +// Alarm +// ArchPrctl +// Brk +// ClockNanosleep +// ClockSettime +// Clone +// EpollCtlOld +// EpollPwait +// EpollWaitOld +// Execve +// Fork +// Futex +// GetKernelSyms +// GetMempolicy +// GetRobustList +// GetThreadArea +// Getitimer +// Getpmsg +// IoCancel +// IoDestroy +// IoGetevents +// IoSetup +// IoSubmit +// IoprioGet +// IoprioSet +// KexecLoad +// LookupDcookie +// Mbind +// MigratePages +// Mincore +// ModifyLdt +// Mount +// MovePages +// MqGetsetattr +// MqNotify +// MqOpen +// MqTimedreceive +// MqTimedsend +// MqUnlink +// Mremap +// Msgctl +// Msgget +// Msgrcv +// Msgsnd +// Nfsservctl +// Personality +// Pselect6 +// Ptrace +// Putpmsg +// Quotactl +// Readahead +// Readv +// RemapFilePages +// RestartSyscall +// RtSigaction +// RtSigpending +// RtSigprocmask +// RtSigqueueinfo +// RtSigreturn +// RtSigsuspend +// RtSigtimedwait +// SchedGetPriorityMax +// SchedGetPriorityMin +// SchedGetparam +// SchedGetscheduler +// SchedRrGetInterval +// SchedSetparam +// SchedYield +// Security +// Semctl +// Semget +// Semop +// Semtimedop +// SetMempolicy +// SetRobustList +// SetThreadArea +// SetTidAddress +// Shmat +// Shmctl +// Shmdt +// Shmget +// Sigaltstack +// Swapoff +// Swapon +// Sysfs +// TimerCreate +// TimerDelete +// TimerGetoverrun +// TimerGettime +// TimerSettime +// 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 000000000..b430536c8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -0,0 +1,392 @@ +// 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. + +//go:build 386 && linux +// +build 386,linux + +package unix + +import ( + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// 64-bit file system and 32-bit uid calls +// (386 default is 32-bit file system and 16-bit uid). +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32 +//sys setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) +//sys Pause() (err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +// On x86 Linux, all the socket calls go through an extra indirection, +// I think because the 5-register system call interface can't handle +// the 6-argument calls like sendto and recvfrom. Instead the +// arguments to the underlying system call are the number below +// and a pointer to an array of uintptr. We hide the pointer in the +// socketcall assembly to avoid allocation on every system call. + +const ( + // see linux/net.h + _SOCKET = 1 + _BIND = 2 + _CONNECT = 3 + _LISTEN = 4 + _ACCEPT = 5 + _GETSOCKNAME = 6 + _GETPEERNAME = 7 + _SOCKETPAIR = 8 + _SEND = 9 + _RECV = 10 + _SENDTO = 11 + _RECVFROM = 12 + _SHUTDOWN = 13 + _SETSOCKOPT = 14 + _GETSOCKOPT = 15 + _SENDMSG = 16 + _RECVMSG = 17 + _ACCEPT4 = 18 + _RECVMMSG = 19 + _SENDMMSG = 20 +) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e != 0 { + err = e + } + return +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socket(domain int, typ int, proto int) (fd int, err error) { + fd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e != 0 { + err = e + } + return +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0) + if e != 0 { + err = e + } + return +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + n, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + if e != 0 { + err = e + } + return +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + _, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e != 0 { + err = e + } + return +} + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Listen(s int, n int) (err error) { + _, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Shutdown(s, how int) (err error) { + _, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_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 000000000..85cd97da0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -0,0 +1,199 @@ +// 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. + +//go:build amd64 && linux +// +build amd64,linux + +package unix + +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb inotifyInit() (fd int, err error) + +func InotifyInit() (fd int, err error) { + // First try inotify_init1, because Android's seccomp policy blocks the latter. + fd, err = InotifyInit1(0) + if err == ENOSYS { + fd, err = inotifyInit() + } + return +} + +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys setfsgid(gid int) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + // Use fstatat, because Android's seccomp policy blocks stat. + return Fstatat(AT_FDCWD, path, stat, 0) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) + +func Gettimeofday(tv *Timeval) (err error) { + errno := gettimeofday(tv) + if errno != 0 { + return errno + } + return nil +} + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + errno := gettimeofday(&tv) + if errno != 0 { + return 0, errno + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Rip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/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 000000000..8b0f0f3aa --- /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. + +//go:build amd64 && linux && gc +// +build amd64,linux,gc + +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 000000000..39a864d4e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -0,0 +1,291 @@ +// 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. + +//go:build arm && linux +// +build arm,linux + +package unix + +import ( + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + // Try pipe2 first for Android O, then try pipe for kernel 2.6.23. + err = pipe2(&pp, 0) + if err == ENOSYS { + err = pipe(&pp) + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +// 64-bit file system and 32-bit uid calls +// (16-bit uid calls are not always supported in newer kernels) +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pause() (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32 +//sys setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and arm_sync_file_range syscalls differ only in the + // order of their arguments. + return armSyncFileRange(fd, flags, off, n) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/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 000000000..7f27ebf2f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -0,0 +1,250 @@ +// 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:build arm64 && linux +// +build arm64,linux + +package unix + +import "unsafe" + +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys setfsgid(gid int) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(dirfd, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func utimes(path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// Getrlimit prefers the prlimit64 system call. See issue 38604. +func Getrlimit(resource int, rlim *Rlimit) error { + err := prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + return getrlimit(resource, rlim) +} + +// Setrlimit prefers the prlimit64 system call. See issue 38604. +func Setrlimit(resource int, rlim *Rlimit) error { + err := prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + return setrlimit(resource, rlim) +} + +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 (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +// dup2 exists because func Dup3 in syscall_linux.go references +// it in an unreachable path. dup2 isn't available on arm64. +func dup2(oldfd int, newfd int) error + +func Pause() error { + _, err := ppoll(nil, 0, nil, nil) + return err +} + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go new file mode 100644 index 000000000..2b1168d7d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go @@ -0,0 +1,15 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build linux && gc +// +build linux,gc + +package unix + +// SyscallNoError may be used instead of Syscall for syscalls that don't fail. +func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) + +// RawSyscallNoError may be used instead of RawSyscall for syscalls that don't +// fail. +func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go new file mode 100644 index 000000000..9843fb489 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go @@ -0,0 +1,17 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build linux && gc && 386 +// +build linux,gc,386 + +package unix + +import "syscall" + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go new file mode 100644 index 000000000..a6008fccd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go @@ -0,0 +1,14 @@ +// 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. + +//go:build arm && gc && linux +// +build arm,gc,linux + +package unix + +import "syscall" + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go new file mode 100644 index 000000000..7740af242 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go @@ -0,0 +1,31 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build linux && gccgo && 386 +// +build linux,gccgo,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { + fd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) + return int(fd), err +} + +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { + fd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) + return int(fd), err +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go new file mode 100644 index 000000000..e16a12299 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go @@ -0,0 +1,21 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build linux && gccgo && arm +// +build linux,gccgo,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} diff --git a/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 000000000..27aee81d9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -0,0 +1,235 @@ +// 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:build linux && (mips64 || mips64le) +// +build linux +// +build mips64 mips64le + +package unix + +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys setfsgid(gid int) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +type stat_t struct { + Dev uint32 + Pad0 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad1 [3]uint32 + Size int64 + Atime uint32 + Atime_nsec uint32 + Mtime uint32 + Mtime_nsec uint32 + Ctime uint32 + Ctime_nsec uint32 + Blksize uint32 + Pad2 uint32 + Blocks int64 +} + +//sys fstat(fd int, st *stat_t) (err error) +//sys fstatat(dirfd int, path string, st *stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys lstat(path string, st *stat_t) (err error) +//sys stat(path string, st *stat_t) (err error) + +func Fstat(fd int, s *Stat_t) (err error) { + st := &stat_t{} + err = fstat(fd, st) + fillStat_t(s, st) + return +} + +func Fstatat(dirfd int, path string, s *Stat_t, flags int) (err error) { + st := &stat_t{} + err = fstatat(dirfd, path, st, flags) + fillStat_t(s, st) + return +} + +func Lstat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = lstat(path, st) + fillStat_t(s, st) + return +} + +func Stat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = stat(path, st) + fillStat_t(s, st) + return +} + +func fillStat_t(s *Stat_t, st *stat_t) { + s.Dev = st.Dev + s.Ino = st.Ino + s.Mode = st.Mode + s.Nlink = st.Nlink + s.Uid = st.Uid + s.Gid = st.Gid + s.Rdev = st.Rdev + s.Size = st.Size + s.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)} + s.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)} + s.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)} + s.Blksize = st.Blksize + s.Blocks = st.Blocks +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +//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 000000000..3a5621e37 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -0,0 +1,243 @@ +// 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. + +//go:build linux && (mips || mipsle) +// +build linux +// +build mips mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys setfsgid(gid int) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 + +//sys Pause() (err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + p, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + _, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0) + if e != 0 { + err = errnoErr(e) + } + return +} + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe() (p1 int, p2 int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_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_ppc.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go new file mode 100644 index 000000000..cf0d36f76 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go @@ -0,0 +1,276 @@ +// Copyright 2021 The Go 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:build linux && ppc +// +build linux +// +build ppc + +package unix + +import ( + "syscall" + "unsafe" +) + +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//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_LSTAT64 +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys 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) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} + +func 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 +} + +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 +} + +//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) +} + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +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() uint32 { return r.Nip } + +func (r *PtraceRegs) SetPC(pc uint32) { r.Nip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_len = uint32(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and sync_file_range2 syscalls differ only in the + // order of their arguments. + return syncFileRange2(fd, flags, off, n) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/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 000000000..5259a5fea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -0,0 +1,161 @@ +// 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. + +//go:build linux && (ppc64 || ppc64le) +// +build linux +// +build ppc64 ppc64le + +package unix + +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys setfsgid(gid int) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func (r *PtraceRegs) PC() uint64 { return r.Nip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and sync_file_range2 syscalls differ only in the + // order of their arguments. + return syncFileRange2(fd, flags, off, n) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go new file mode 100644 index 000000000..8ef821e5d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go @@ -0,0 +1,235 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build riscv64 && linux +// +build riscv64,linux + +package unix + +import "unsafe" + +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys setfsgid(gid int) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(dirfd, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func utimes(path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Pc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +func Pause() error { + _, err := ppoll(nil, 0, nil, nil) + return err +} + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} + +// dup2 exists because func Dup3 in syscall_linux.go references +// it in an unreachable path. dup2 isn't available on arm64. +func dup2(oldfd int, newfd int) error 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 000000000..a1c0574b5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -0,0 +1,347 @@ +// 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. + +//go:build s390x && linux +// +build s390x,linux + +package unix + +import ( + "unsafe" +) + +//sys dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys setfsgid(gid int) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_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 := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen} + _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func Listen(s int, n int) error { + args := [2]uintptr{uintptr(s), uintptr(n)} + _, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func Shutdown(s, how int) error { + args := [2]uintptr{uintptr(s), uintptr(how)} + _, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/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 000000000..de14b8898 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -0,0 +1,156 @@ +// 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. + +//go:build sparc64 && linux +// +build sparc64,linux + +package unix + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys setfsgid(gid int) (prev int, err error) +//sys setfsuid(uid int) (prev int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func (r *PtraceRegs) PC() uint64 { return r.Tpc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { + rsa.Service_name_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_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go new file mode 100644 index 000000000..853d5f0f4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go @@ -0,0 +1,618 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// NetBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "runtime" + "syscall" + "unsafe" +) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + return nil, EAFNOSUPPORT +} + +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 +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err := pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return err +} + +//sys Getdents(fd int, buf []byte) (n int, err error) + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + n, err = Getdents(fd, buf) + if err != nil || basep == nil { + return + } + + var off int64 + off, err = Seek(fd, 0, 1 /* SEEK_CUR */) + if err != nil { + *basep = ^uintptr(0) + return + } + *basep = uintptr(off) + if unsafe.Sizeof(*basep) == 8 { + return + } + if off>>32 != 0 { + // We can't stuff the offset back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO is allowed by getdirentries. + err = EIO + } + return +} + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) { + var value Ptmget + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + runtime.KeepAlive(value) + return &value, err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +func Fstatvfs(fd int, buf *Statvfs_t) (err error) { + return Fstatvfs1(fd, buf, ST_WAIT) +} + +func Statvfs(path string, buf *Statvfs_t) (err error) { + return Statvfs1(path, buf, ST_WAIT) +} + +/* + * 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 Dup3(from int, to int, flags int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) = SYS_FSTATVFS1 +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) = SYS_STATVFS1 +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// ____semctl13 +// __clone +// __fhopen40 +// __fhstat40 +// __fhstatvfs140 +// __fstat30 +// __getcwd +// __getfh30 +// __getlogin +// __lstat30 +// __mount50 +// __msgctl13 +// __msync13 +// __ntp_gettime30 +// __posix_chown +// __posix_fchown +// __posix_lchown +// __posix_rename +// __setlogin +// __shmctl13 +// __sigaction_sigtramp +// __sigaltstack14 +// __sigpending14 +// __sigprocmask14 +// __sigsuspend14 +// __sigtimedwait +// __stat30 +// __syscall +// __vfork14 +// _ksem_close +// _ksem_destroy +// _ksem_getvalue +// _ksem_init +// _ksem_open +// _ksem_post +// _ksem_trywait +// _ksem_unlink +// _ksem_wait +// _lwp_continue +// _lwp_create +// _lwp_ctl +// _lwp_detach +// _lwp_exit +// _lwp_getname +// _lwp_getprivate +// _lwp_kill +// _lwp_park +// _lwp_self +// _lwp_setname +// _lwp_setprivate +// _lwp_suspend +// _lwp_unpark +// _lwp_unpark_all +// _lwp_wait +// _lwp_wakeup +// _pset_bind +// _sched_getaffinity +// _sched_getparam +// _sched_setaffinity +// _sched_setparam +// acct +// aio_cancel +// aio_error +// aio_fsync +// aio_read +// aio_return +// aio_suspend +// aio_write +// break +// clock_getres +// clock_gettime +// clock_settime +// compat_09_ogetdomainname +// compat_09_osetdomainname +// compat_09_ouname +// compat_10_omsgsys +// compat_10_osemsys +// compat_10_oshmsys +// compat_12_fstat12 +// compat_12_getdirentries +// compat_12_lstat12 +// compat_12_msync +// compat_12_oreboot +// compat_12_oswapon +// compat_12_stat12 +// compat_13_sigaction13 +// compat_13_sigaltstack13 +// compat_13_sigpending13 +// compat_13_sigprocmask13 +// compat_13_sigreturn13 +// compat_13_sigsuspend13 +// compat_14___semctl +// compat_14_msgctl +// compat_14_shmctl +// compat_16___sigaction14 +// compat_16___sigreturn14 +// compat_20_fhstatfs +// compat_20_fstatfs +// compat_20_getfsstat +// compat_20_statfs +// compat_30___fhstat30 +// compat_30___fstat13 +// compat_30___lstat13 +// compat_30___stat13 +// compat_30_fhopen +// compat_30_fhstat +// compat_30_fhstatvfs1 +// compat_30_getdents +// compat_30_getfh +// compat_30_ntp_gettime +// compat_30_socket +// compat_40_mount +// compat_43_fstat43 +// compat_43_lstat43 +// compat_43_oaccept +// compat_43_ocreat +// compat_43_oftruncate +// compat_43_ogetdirentries +// compat_43_ogetdtablesize +// compat_43_ogethostid +// compat_43_ogethostname +// compat_43_ogetkerninfo +// compat_43_ogetpagesize +// compat_43_ogetpeername +// compat_43_ogetrlimit +// compat_43_ogetsockname +// compat_43_okillpg +// compat_43_olseek +// compat_43_ommap +// compat_43_oquota +// compat_43_orecv +// compat_43_orecvfrom +// compat_43_orecvmsg +// compat_43_osend +// compat_43_osendmsg +// compat_43_osethostid +// compat_43_osethostname +// compat_43_osetrlimit +// compat_43_osigblock +// compat_43_osigsetmask +// compat_43_osigstack +// compat_43_osigvec +// compat_43_otruncate +// compat_43_owait +// compat_43_stat43 +// execve +// extattr_delete_fd +// extattr_delete_file +// extattr_delete_link +// extattr_get_fd +// extattr_get_file +// extattr_get_link +// extattr_list_fd +// extattr_list_file +// extattr_list_link +// extattr_set_fd +// extattr_set_file +// extattr_set_link +// extattrctl +// fchroot +// fdatasync +// fgetxattr +// fktrace +// flistxattr +// fork +// fremovexattr +// fsetxattr +// fstatvfs1 +// fsync_range +// getcontext +// getitimer +// getvfsstat +// getxattr +// ktrace +// lchflags +// lchmod +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// lgetxattr +// lio_listio +// listxattr +// llistxattr +// lremovexattr +// lseek +// lsetxattr +// lutimes +// madvise +// mincore +// minherit +// modctl +// mq_close +// mq_getattr +// mq_notify +// mq_open +// mq_receive +// mq_send +// mq_setattr +// mq_timedreceive +// mq_timedsend +// mq_unlink +// mremap +// msgget +// msgrcv +// msgsnd +// nfssvc +// ntp_adjtime +// pmc_control +// pmc_get_info +// pollts +// preadv +// profil +// pselect +// pset_assign +// pset_create +// pset_destroy +// ptrace +// pwritev +// quotactl +// rasctl +// readv +// reboot +// removexattr +// sa_enable +// sa_preempt +// sa_register +// sa_setconcurrency +// sa_stacks +// sa_yield +// sbrk +// sched_yield +// semconfig +// semget +// semop +// setcontext +// setitimer +// setxattr +// shmat +// shmdt +// shmget +// sstk +// statvfs1 +// swapctl +// sysarch +// syscall +// timer_create +// timer_delete +// timer_getoverrun +// timer_gettime +// timer_settime +// undelete +// utrace +// uuidgen +// vadvise +// vfork +// writev diff --git a/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 000000000..5199d282f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go @@ -0,0 +1,38 @@ +// 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. + +//go:build 386 && netbsd +// +build 386,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(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 000000000..70a9c52e9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go @@ -0,0 +1,38 @@ +// 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. + +//go:build amd64 && netbsd +// +build amd64,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(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 000000000..3eb5942f9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.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. + +//go:build arm && netbsd +// +build arm,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go new file mode 100644 index 000000000..fc6ccfd81 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go @@ -0,0 +1,38 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build arm64 && netbsd +// +build arm64,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} 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 000000000..22b550385 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -0,0 +1,390 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// OpenBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "sort" + "syscall" + "unsafe" +) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 + raw RawSockaddrDatalink +} + +func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + return nil, EAFNOSUPPORT +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func nametomib(name string) (mib []_C_int, err error) { + i := sort.Search(len(sysctlMib), func(i int) bool { + return sysctlMib[i].ctlname >= name + }) + if i < len(sysctlMib) && sysctlMib[i].ctlname == name { + return sysctlMib[i].ctloid, nil + } + return nil, EINVAL +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func SysctlUvmexp(name string) (*Uvmexp, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofUvmexp) + var u Uvmexp + if err := sysctl(mib, (*byte)(unsafe.Pointer(&u)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofUvmexp { + return nil, EIO + } + return &u, nil +} + +func Pipe(p []int) (err error) { + return Pipe2(p, 0) +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) +func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err := pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return err +} + +//sys Getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + n, err = Getdents(fd, buf) + if err != nil || basep == nil { + return + } + + var off int64 + off, err = Seek(fd, 0, 1 /* SEEK_CUR */) + if err != nil { + *basep = ^uintptr(0) + return + } + *basep = uintptr(off) + if unsafe.Sizeof(*basep) == 8 { + return + } + if off>>32 != 0 { + // We can't stuff the offset back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO was allowed by getdirentries. + err = EIO + } + return +} + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Dup3(from int, to int, flags int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrtable() (rtable int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setrtable(rtable int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// __getcwd +// __semctl +// __syscall +// __sysctl +// adjfreq +// break +// clock_getres +// clock_gettime +// clock_settime +// closefrom +// execve +// fhopen +// fhstat +// fhstatfs +// fork +// futimens +// getfh +// getgid +// getitimer +// getlogin +// getresgid +// getresuid +// getthrid +// ktrace +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// mincore +// minherit +// mount +// mquery +// msgctl +// msgget +// msgrcv +// msgsnd +// nfssvc +// nnpfspioctl +// preadv +// profil +// pwritev +// quotactl +// readv +// reboot +// renameat +// rfork +// sched_yield +// semget +// semop +// setgroups +// setitimer +// setsockopt +// shmat +// shmctl +// shmdt +// shmget +// sigaction +// sigaltstack +// sigpending +// sigprocmask +// sigreturn +// sigsuspend +// sysarch +// syscall +// threxit +// thrsigdivert +// thrsleep +// thrwakeup +// vfork +// writev diff --git a/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 000000000..6baabcdcb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go @@ -0,0 +1,42 @@ +// 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. + +//go:build 386 && openbsd +// +build 386,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/386 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/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 000000000..bab25360e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go @@ -0,0 +1,42 @@ +// 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. + +//go:build amd64 && openbsd +// +build amd64,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/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 000000000..8eed3c4d4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.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. + +//go:build arm && openbsd +// +build arm,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/arm the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go new file mode 100644 index 000000000..483dde99d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go @@ -0,0 +1,42 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build arm64 && openbsd +// +build arm64,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go new file mode 100644 index 000000000..30f285343 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go @@ -0,0 +1,35 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of OpenBSD the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL 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 000000000..77fcde7c1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -0,0 +1,746 @@ +// 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 ( + "runtime" + "syscall" + "unsafe" +) + +// Implemented in runtime/syscall_solaris.go. +type syscallFunc uintptr + +func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 + raw RawSockaddrDatalink +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sysnb pipe(p *[2]_C_int) (n int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + n, err := pipe(&pp) + if n != 0 { + return err + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return nil +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err := pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return err +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + return string(buf[:vallen-1]), nil +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + // Getcwd will return an error if it failed for any reason. + _, err = Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + // Check for error and sanity check group count. Newer versions of + // Solaris allow up to 1024 (NGROUPS_MAX). + if n < 0 || n > 1024 { + if err != nil { + return nil, err + } + return nil, EINVAL + } else if n == 0 { + return nil, nil + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if n == -1 { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // TODO(rsc): Can we use a single global basep for all calls? + return Getdents(fd, buf, new(uintptr)) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) { + var status _C_int + rpid, err := wait4(int32(pid), &status, options, rusage) + wpid := int(rpid) + if wpid == -1 { + return wpid, err + } + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return wpid, nil +} + +//sys gethostname(buf []byte) (n int, err error) + +func Gethostname() (name string, err error) { + var buf [MaxHostNameLen]byte + n, err := gethostname(buf[:]) + if n != 0 { + return "", err + } + n = clen(buf[:]) + if n < 1 { + return "", EFAULT + } + return string(buf[:n]), nil +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) (err error) { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + valptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + var err error + if errno != 0 { + err = errno + } + return int(valptr), err +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0) + if e1 != 0 { + return e1 + } + return nil +} + +//sys futimesat(fildes int, path *byte, times *[2]Timeval) (err error) + +func Futimesat(dirfd int, path string, tv []Timeval) error { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + if tv == nil { + return futimesat(dirfd, pathp, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +// Solaris doesn't have an futimes function because it allows NULL to be +// specified as the path for futimesat. However, Go doesn't like +// NULL-style string interfaces, so this simple wrapper is provided. +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimesat(fd, nil, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + // Assume path ends at NUL. + // This is not technically the Solaris semantics for + // abstract Unix domain sockets -- they are supposed + // to be uninterpreted fixed-size binary blobs -- but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); n == -1 { + return + } + oobn = int(msg.Accrightslen) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys acct(path *byte) (err error) + +func Acct(path string) (err error) { + if len(path) == 0 { + // Assume caller wants to disable accounting. + return acct(nil) + } + + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + return acct(pathp) +} + +//sys __makedev(version int, major uint, minor uint) (val uint64) + +func Mkdev(major, minor uint32) uint64 { + return __makedev(NEWDEV, uint(major), uint(minor)) +} + +//sys __major(version int, dev uint64) (val uint) + +func Major(dev uint64) uint32 { + return uint32(__major(NEWDEV, dev)) +} + +//sys __minor(version int, dev uint64) (val uint) + +func Minor(dev uint64) uint32 { + return uint32(__minor(NEWDEV, dev)) +} + +/* + * Expose the ioctl function + */ + +//sys ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) = libc.ioctl + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, err = ioctlRet(fd, req, arg) + return err +} + +func IoctlSetTermio(fd int, req uint, value *Termio) error { + err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +func IoctlGetTermio(fd int, req uint) (*Termio, error) { + var value Termio + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Creat(path string, mode uint32) (fd int, err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) +//sys Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) +//sysnb Getgid() (gid int) +//sysnb Getpid() (pid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgid int, err error) +//sys Geteuid() (euid int) +//sys Getegid() (egid int) +//sys Getppid() (ppid int) +//sys Getpriority(which int, who int) (n int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Listen(s int, backlog int) (err error) = libsocket.__xnet_llisten +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Madvise(b []byte, advice int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Setuid(uid int) (err error) +//sys Shutdown(s int, how int) (err error) = libsocket.shutdown +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statvfs(path string, vfsstat *Statvfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Sync() (err error) +//sys Sysconf(which int) (n int64, err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sys Truncate(path string, length int64) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = libc.umount +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_bind +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = libsendfile.sendfile +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto +//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair +//sys write(fd int, p []byte) (n int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.__xnet_getsockopt +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} diff --git a/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 000000000..0bd25ef81 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go @@ -0,0 +1,28 @@ +// 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. + +//go:build amd64 && solaris +// +build amd64,solaris + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} 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 000000000..a7618ceb5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -0,0 +1,431 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import ( + "bytes" + "sort" + "sync" + "syscall" + "unsafe" + + "golang.org/x/sys/internal/unsafeheader" +) + +var ( + Stdin = 0 + Stdout = 1 + Stderr = 2 +) + +// Do the interface allocations only once for common +// Errno values. +var ( + errEAGAIN error = syscall.EAGAIN + errEINVAL error = syscall.EINVAL + errENOENT error = syscall.ENOENT +) + +var ( + signalNameMapOnce sync.Once + signalNameMap map[string]syscall.Signal +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e syscall.Errno) error { + switch e { + case 0: + return nil + case EAGAIN: + return errEAGAIN + case EINVAL: + return errEINVAL + case ENOENT: + return errENOENT + } + return e +} + +// ErrnoName returns the error name for error number e. +func ErrnoName(e syscall.Errno) string { + i := sort.Search(len(errorList), func(i int) bool { + return errorList[i].num >= e + }) + if i < len(errorList) && errorList[i].num == e { + return errorList[i].name + } + return "" +} + +// SignalName returns the signal name for signal number s. +func SignalName(s syscall.Signal) string { + i := sort.Search(len(signalList), func(i int) bool { + return signalList[i].num >= s + }) + if i < len(signalList) && signalList[i].num == s { + return signalList[i].name + } + return "" +} + +// SignalNum returns the syscall.Signal for signal named s, +// or 0 if a signal with such name is not found. +// The signal name should start with "SIG". +func SignalNum(s string) syscall.Signal { + signalNameMapOnce.Do(func() { + signalNameMap = make(map[string]syscall.Signal, len(signalList)) + for _, signal := range signalList { + signalNameMap[signal.name] = signal.num + } + }) + return signalNameMap[s] +} + +// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. +func clen(n []byte) int { + i := bytes.IndexByte(n, 0) + if i == -1 { + i = len(n) + } + return i +} + +// Mmap manager, for use by operating system-specific implementations. + +type mmapper struct { + sync.Mutex + active map[*byte][]byte // active mappings; key is last byte in mapping + mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) + munmap func(addr uintptr, length uintptr) error +} + +func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + if length <= 0 { + return nil, EINVAL + } + + // Map the requested memory. + addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) + if errno != nil { + return nil, errno + } + + // Use unsafe to convert addr into a []byte. + var b []byte + hdr := (*unsafeheader.Slice)(unsafe.Pointer(&b)) + hdr.Data = unsafe.Pointer(addr) + hdr.Cap = length + hdr.Len = length + + // Register mapping in m and return it. + p := &b[cap(b)-1] + m.Lock() + defer m.Unlock() + m.active[p] = b + return b, nil +} + +func (m *mmapper) Munmap(data []byte) (err error) { + if len(data) == 0 || len(data) != cap(data) { + return EINVAL + } + + // Find the base of the mapping. + p := &data[cap(data)-1] + m.Lock() + defer m.Unlock() + b := m.active[p] + if b == nil || &b[0] != &data[0] { + return EINVAL + } + + // Unmap the memory and update m. + if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { + return errno + } + delete(m.active, p) + return nil +} + +func Read(fd int, p []byte) (n int, err error) { + n, err = read(fd, p) + if raceenabled { + if n > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), n) + } + if err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } + } + return +} + +func Write(fd int, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = write(fd, p) + if raceenabled && n > 0 { + raceReadRange(unsafe.Pointer(&p[0]), n) + } + return +} + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +// Sockaddr represents a socket address. +type Sockaddr interface { + sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs +} + +// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets. +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets. +type SockaddrInet6 struct { + Port int + ZoneId uint32 + Addr [16]byte + raw RawSockaddrInet6 +} + +// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func Bind(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connect(fd, ptr, n) +} + +func Getpeername(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getpeername(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptByte(fd, level, opt int) (value byte, err error) { + var n byte + vallen := _Socklen(1) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func GetsockoptInt(fd, level, opt int) (value int, err error) { + var n int32 + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return int(n), err +} + +func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) + return value, err +} + +func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { + var value IPMreq + vallen := _Socklen(SizeofIPMreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { + var value IPv6Mreq + vallen := _Socklen(SizeofIPv6Mreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { + var value IPv6MTUInfo + vallen := _Socklen(SizeofIPv6MTUInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { + var value ICMPv6Filter + vallen := _Socklen(SizeofICMPv6Filter) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptLinger(fd, level, opt int) (*Linger, error) { + var linger Linger + vallen := _Socklen(SizeofLinger) + err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen) + return &linger, err +} + +func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { + var tv Timeval + vallen := _Socklen(unsafe.Sizeof(tv)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen) + return &tv, err +} + +func GetsockoptUint64(fd, level, opt int) (value uint64, err error) { + var n uint64 + vallen := _Socklen(8) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { + return + } + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { + ptr, n, err := to.sockaddr() + if err != nil { + return err + } + return sendto(fd, p, flags, ptr, n) +} + +func SetsockoptByte(fd, level, opt int, value byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) +} + +func SetsockoptInt(fd, level, opt int, value int) (err error) { + var n = int32(value) + return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) +} + +func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) +} + +func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) +} + +func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) +} + +func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { + return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) +} + +func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) +} + +func SetsockoptString(fd, level, opt int, s string) (err error) { + var p unsafe.Pointer + if len(s) > 0 { + p = unsafe.Pointer(&[]byte(s)[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(s))) +} + +func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) +} + +func SetsockoptUint64(fd, level, opt int, value uint64) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8) +} + +func Socket(domain, typ, proto int) (fd int, err error) { + if domain == AF_INET6 && SocketDisableIPv6 { + return -1, EAFNOSUPPORT + } + fd, err = socket(domain, typ, proto) + return +} + +func Socketpair(domain, typ, proto int) (fd [2]int, err error) { + var fdx [2]int32 + err = socketpair(domain, typ, proto, &fdx) + if err == nil { + fd[0] = int(fdx[0]) + fd[1] = int(fdx[1]) + } + return +} + +var ioSync int64 + +func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } + +func SetNonblock(fd int, nonblocking bool) (err error) { + flag, err := fcntl(fd, F_GETFL, 0) + if err != nil { + return err + } + if nonblocking { + flag |= O_NONBLOCK + } else { + flag &= ^O_NONBLOCK + } + _, err = fcntl(fd, F_SETFL, flag) + return err +} + +// Exec calls execve(2), which replaces the calling executable in the process +// tree. argv0 should be the full path to an executable ("/bin/ls") and the +// executable name should also be the first argument in argv (["ls", "-l"]). +// envv are the environment variables that should be passed to the new +// process (["USER=go", "PWD=/tmp"]). +func Exec(argv0 string, argv []string, envv []string) error { + return syscall.Exec(argv0, argv, envv) +} + +// Lutimes sets the access and modification times tv on path. If path refers to +// a symlink, it is not dereferenced and the timestamps are set on the symlink. +// If tv is nil, the access and modification times are set to the current time. +// Otherwise tv must contain exactly 2 elements, with access time as the first +// element and modification time as the second element. +func Lutimes(path string, tv []Timeval) error { + if tv == nil { + return UtimesNanoAt(AT_FDCWD, path, nil, AT_SYMLINK_NOFOLLOW) + } + if len(tv) != 2 { + return EINVAL + } + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW) +} diff --git a/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 000000000..5898e9a52 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go @@ -0,0 +1,18 @@ +// 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. + +//go:build (darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris) && gc && !ppc64le && !ppc64 +// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build gc +// +build !ppc64le +// +build !ppc64 + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go new file mode 100644 index 000000000..f6f707acf --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go @@ -0,0 +1,25 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build linux && (ppc64le || ppc64) && gc +// +build linux +// +build ppc64le ppc64 +// +build gc + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.Syscall(trap, a1, a2, a3) +} +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) +} +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.RawSyscall(trap, a1, a2, a3) +} +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go new file mode 100644 index 000000000..1ffd8bfcf --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go @@ -0,0 +1,1829 @@ +// Copyright 2020 The Go 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:build zos && s390x +// +build zos,s390x + +package unix + +import ( + "bytes" + "runtime" + "sort" + "sync" + "syscall" + "unsafe" +) + +const ( + O_CLOEXEC = 0 // Dummy value (not supported). + AF_LOCAL = AF_UNIX // AF_LOCAL is an alias for AF_UNIX +) + +func syscall_syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_rawsyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_rawsyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) +func syscall_rawsyscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) + +func copyStat(stat *Stat_t, statLE *Stat_LE_t) { + stat.Dev = uint64(statLE.Dev) + stat.Ino = uint64(statLE.Ino) + stat.Nlink = uint64(statLE.Nlink) + stat.Mode = uint32(statLE.Mode) + stat.Uid = uint32(statLE.Uid) + stat.Gid = uint32(statLE.Gid) + stat.Rdev = uint64(statLE.Rdev) + stat.Size = statLE.Size + stat.Atim.Sec = int64(statLE.Atim) + stat.Atim.Nsec = 0 //zos doesn't return nanoseconds + stat.Mtim.Sec = int64(statLE.Mtim) + stat.Mtim.Nsec = 0 //zos doesn't return nanoseconds + stat.Ctim.Sec = int64(statLE.Ctim) + stat.Ctim.Nsec = 0 //zos doesn't return nanoseconds + stat.Blksize = int64(statLE.Blksize) + stat.Blocks = statLE.Blocks +} + +func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64) +func svcLoad(name *byte) unsafe.Pointer +func svcUnload(name *byte, fnptr unsafe.Pointer) int64 + +func (d *Dirent) NameString() string { + if d == nil { + return "" + } + return string(d.Name[:d.Namlen]) +} + +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 anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) { + // TODO(neeilan): Implement use of first param (fd) + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + // For z/OS, only replace NUL with @ when the + // length is not zero. + if pp.Len != 0 && 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. + // + // For z/OS, the length of the name is a field + // in the structure. To be on the safe side, we + // will still scan the name for a NUL but only + // to the length provided in the structure. + // + // 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 < int(pp.Len) && pp.Path[n] != 0 { + n++ + } + bytes := (*[len(pp.Path)]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 + } + // TODO(neeilan): Remove 0 in call + sa, err = anyToSockaddr(0, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = int32(length) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys write(fd int, p []byte) (n int, err error) + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = SYS___ACCEPT_A +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___BIND_A +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___CONNECT_A +//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) = SYS___GETPEERNAME_A +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETSOCKNAME_A +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = SYS___RECVFROM_A +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = SYS___SENDTO_A +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___RECVMSG_A +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP +//sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP +//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL + +//sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A +//sys Chdir(path string) (err error) = SYS___CHDIR_A +//sys Chown(path string, uid int, gid int) (err error) = SYS___CHOWN_A +//sys Chmod(path string, mode uint32) (err error) = SYS___CHMOD_A +//sys Creat(path string, mode uint32) (fd int, err error) = SYS___CREAT_A +//sys Dup(oldfd int) (fd int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Errno2() (er2 int) = SYS___ERRNO2 +//sys Err2ad() (eadd *int) = SYS___ERR2AD +//sys Exit(code int) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) = SYS_FCNTL +//sys fstat(fd int, stat *Stat_LE_t) (err error) + +func Fstat(fd int, stat *Stat_t) (err error) { + var statLE Stat_LE_t + err = fstat(fd, &statLE) + copyStat(stat, &statLE) + return +} + +//sys Fstatvfs(fd int, stat *Statvfs_t) (err error) = SYS_FSTATVFS +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getpagesize() (pgsize int) = SYS_GETPAGESIZE +//sys Mprotect(b []byte, prot int) (err error) = SYS_MPROTECT +//sys Msync(b []byte, flags int) (err error) = SYS_MSYNC +//sys Poll(fds []PollFd, timeout int) (n int, err error) = SYS_POLL +//sys Times(tms *Tms) (ticks uintptr, err error) = SYS_TIMES +//sys W_Getmntent(buff *byte, size int) (lastsys int, err error) = SYS_W_GETMNTENT +//sys W_Getmntent_A(buff *byte, size int) (lastsys int, err error) = SYS___W_GETMNTENT_A + +//sys mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) = SYS___MOUNT_A +//sys unmount(filesystem string, mtm int) (err error) = SYS___UMOUNT_A +//sys Chroot(path string) (err error) = SYS___CHROOT_A +//sys Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) = SYS_SELECT +//sysnb Uname(buf *Utsname) (err error) = SYS___UNAME_A + +func Ptsname(fd int) (name string, err error) { + r0, _, e1 := syscall_syscall(SYS___PTSNAME_A, uintptr(fd), 0, 0) + name = u2s(unsafe.Pointer(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func u2s(cstr unsafe.Pointer) string { + str := (*[1024]uint8)(cstr) + i := 0 + for str[i] != 0 { + i++ + } + return string(str[:i]) +} + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(SYS_CLOSE, uintptr(fd), 0, 0) + for i := 0; e1 == EAGAIN && i < 10; i++ { + _, _, _ = syscall_syscall(SYS_USLEEP, uintptr(10), 0, 0) + _, _, e1 = syscall_syscall(SYS_CLOSE, uintptr(fd), 0, 0) + } + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +// Dummy function: there are no semantics for Madvise on z/OS +func Madvise(b []byte, advice int) (err error) { + return +} + +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 Gethostname(buf []byte) (err error) = SYS___GETHOSTNAME_A +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpid() (pid int) +//sysnb Getpgid(pid int) (pgid int, err error) = SYS_GETPGID + +func Getpgrp() (pid int) { + pid, _ = Getpgid(0) + return +} + +//sysnb Getppid() (pid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_GETRLIMIT + +//sysnb getrusage(who int, rusage *rusage_zos) (err error) = SYS_GETRUSAGE + +func Getrusage(who int, rusage *Rusage) (err error) { + var ruz rusage_zos + err = getrusage(who, &ruz) + //Only the first two fields of Rusage are set + rusage.Utime.Sec = ruz.Utime.Sec + rusage.Utime.Usec = int64(ruz.Utime.Usec) + rusage.Stime.Sec = ruz.Stime.Sec + rusage.Stime.Usec = int64(ruz.Stime.Usec) + return +} + +//sysnb Getsid(pid int) (sid int, err error) = SYS_GETSID +//sysnb Getuid() (uid int) +//sysnb Kill(pid int, sig Signal) (err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS___LCHOWN_A +//sys Link(path string, link string) (err error) = SYS___LINK_A +//sys Listen(s int, n int) (err error) +//sys lstat(path string, stat *Stat_LE_t) (err error) = SYS___LSTAT_A + +func Lstat(path string, stat *Stat_t) (err error) { + var statLE Stat_LE_t + err = lstat(path, &statLE) + copyStat(stat, &statLE) + return +} + +//sys Mkdir(path string, mode uint32) (err error) = SYS___MKDIR_A +//sys Mkfifo(path string, mode uint32) (err error) = SYS___MKFIFO_A +//sys Mknod(path string, mode uint32, dev int) (err error) = SYS___MKNOD_A +//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 Readlink(path string, buf []byte) (n int, err error) = SYS___READLINK_A +//sys Rename(from string, to string) (err error) = SYS___RENAME_A +//sys Rmdir(path string) (err error) = SYS___RMDIR_A +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) = SYS_SETPGID +//sysnb Setrlimit(resource int, lim *Rlimit) (err error) +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID +//sysnb Setsid() (pid int, err error) = SYS_SETSID +//sys Setuid(uid int) (err error) = SYS_SETUID +//sys Setgid(uid int) (err error) = SYS_SETGID +//sys Shutdown(fd int, how int) (err error) +//sys stat(path string, statLE *Stat_LE_t) (err error) = SYS___STAT_A + +func Stat(path string, sta *Stat_t) (err error) { + var statLE Stat_LE_t + err = stat(path, &statLE) + copyStat(sta, &statLE) + return +} + +//sys Symlink(path string, link string) (err error) = SYS___SYMLINK_A +//sys Sync() = SYS_SYNC +//sys Truncate(path string, length int64) (err error) = SYS___TRUNCATE_A +//sys Tcgetattr(fildes int, termptr *Termios) (err error) = SYS_TCGETATTR +//sys Tcsetattr(fildes int, when int, termptr *Termios) (err error) = SYS_TCSETATTR +//sys Umask(mask int) (oldmask int) +//sys Unlink(path string) (err error) = SYS___UNLINK_A +//sys Utime(path string, utim *Utimbuf) (err error) = SYS___UTIME_A + +//sys open(path string, mode int, perm uint32) (fd int, err error) = SYS___OPEN_A + +func Open(path string, mode int, perm uint32) (fd int, err error) { + return open(path, mode, perm) +} + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + wd, err := Getwd() + if err != nil { + return err + } + + if err := Fchdir(dirfd); err != nil { + return err + } + defer Chdir(wd) + + return Mkfifo(path, mode) +} + +//sys remove(path string) (err error) + +func Remove(path string) error { + return remove(path) +} + +const ImplementsGetwd = true + +func Getcwd(buf []byte) (n int, err error) { + var p unsafe.Pointer + if len(buf) > 0 { + p = unsafe.Pointer(&buf[0]) + } else { + p = unsafe.Pointer(&_zero) + } + _, _, e := syscall_syscall(SYS___GETCWD_A, uintptr(p), uintptr(len(buf)), 0) + n = clen(buf) + 1 + if e != 0 { + err = errnoErr(e) + } + return +} + +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]) +} + +func gettid() uint64 + +func Gettid() (tid int) { + return int(gettid()) +} + +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() Signal { + if !w.Signaled() { + return -1 + } + return Signal(w & mask) +} + +func (w WaitStatus) StopSignal() Signal { + if !w.Stopped() { + return -1 + } + return Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + // TODO(mundaym): z/OS doesn't have wait4. I don't think getrusage does what we want. + // At the moment rusage will not be touched. + var status _C_int + wpid, err = waitpid(pid, &status, options) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +//sysnb gettimeofday(tv *timeval_zos) (err error) + +func Gettimeofday(tv *Timeval) (err error) { + var tvz timeval_zos + err = gettimeofday(&tvz) + tv.Sec = tvz.Sec + tv.Usec = int64(tvz.Usec) + return +} + +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 +} + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { //fix + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys utimes(path string, timeval *[2]Timeval) (err error) = SYS___UTIMES_A + +func Utimes(path string, tv []Timeval) (err error) { + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNano(path string, ts []Timespec) error { + if len(ts) != 2 { + return EINVAL + } + // 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 Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + // TODO(neeilan) : Remove this 0 ( added to get sys/unix compiling on z/OS ) + return anyToSockaddr(0, &rsa) +} + +const ( + // identifier constants + nwmHeaderIdentifier = 0xd5e6d4c8 + nwmFilterIdentifier = 0xd5e6d4c6 + nwmTCPConnIdentifier = 0xd5e6d4c3 + nwmRecHeaderIdentifier = 0xd5e6d4d9 + nwmIPStatsIdentifier = 0xd5e6d4c9d7e2e340 + nwmIPGStatsIdentifier = 0xd5e6d4c9d7c7e2e3 + nwmTCPStatsIdentifier = 0xd5e6d4e3c3d7e2e3 + nwmUDPStatsIdentifier = 0xd5e6d4e4c4d7e2e3 + nwmICMPGStatsEntry = 0xd5e6d4c9c3d4d7c7 + nwmICMPTStatsEntry = 0xd5e6d4c9c3d4d7e3 + + // nwmHeader constants + nwmVersion1 = 1 + nwmVersion2 = 2 + nwmCurrentVer = 2 + + nwmTCPConnType = 1 + nwmGlobalStatsType = 14 + + // nwmFilter constants + nwmFilterLclAddrMask = 0x20000000 // Local address + nwmFilterSrcAddrMask = 0x20000000 // Source address + nwmFilterLclPortMask = 0x10000000 // Local port + nwmFilterSrcPortMask = 0x10000000 // Source port + + // nwmConnEntry constants + nwmTCPStateClosed = 1 + nwmTCPStateListen = 2 + nwmTCPStateSynSent = 3 + nwmTCPStateSynRcvd = 4 + nwmTCPStateEstab = 5 + nwmTCPStateFinWait1 = 6 + nwmTCPStateFinWait2 = 7 + nwmTCPStateClosWait = 8 + nwmTCPStateLastAck = 9 + nwmTCPStateClosing = 10 + nwmTCPStateTimeWait = 11 + nwmTCPStateDeletTCB = 12 + + // Existing constants on linux + BPF_TCP_CLOSE = 1 + BPF_TCP_LISTEN = 2 + BPF_TCP_SYN_SENT = 3 + BPF_TCP_SYN_RECV = 4 + BPF_TCP_ESTABLISHED = 5 + BPF_TCP_FIN_WAIT1 = 6 + BPF_TCP_FIN_WAIT2 = 7 + BPF_TCP_CLOSE_WAIT = 8 + BPF_TCP_LAST_ACK = 9 + BPF_TCP_CLOSING = 10 + BPF_TCP_TIME_WAIT = 11 + BPF_TCP_NEW_SYN_RECV = -1 + BPF_TCP_MAX_STATES = -2 +) + +type nwmTriplet struct { + offset uint32 + length uint32 + number uint32 +} + +type nwmQuadruplet struct { + offset uint32 + length uint32 + number uint32 + match uint32 +} + +type nwmHeader struct { + ident uint32 + length uint32 + version uint16 + nwmType uint16 + bytesNeeded uint32 + options uint32 + _ [16]byte + inputDesc nwmTriplet + outputDesc nwmQuadruplet +} + +type nwmFilter struct { + ident uint32 + flags uint32 + resourceName [8]byte + resourceId uint32 + listenerId uint32 + local [28]byte // union of sockaddr4 and sockaddr6 + remote [28]byte // union of sockaddr4 and sockaddr6 + _ uint16 + _ uint16 + asid uint16 + _ [2]byte + tnLuName [8]byte + tnMonGrp uint32 + tnAppl [8]byte + applData [40]byte + nInterface [16]byte + dVipa [16]byte + dVipaPfx uint16 + dVipaPort uint16 + dVipaFamily byte + _ [3]byte + destXCF [16]byte + destXCFPfx uint16 + destXCFFamily byte + _ [1]byte + targIP [16]byte + targIPPfx uint16 + targIPFamily byte + _ [1]byte + _ [20]byte +} + +type nwmRecHeader struct { + ident uint32 + length uint32 + number byte + _ [3]byte +} + +type nwmTCPStatsEntry struct { + ident uint64 + currEstab uint32 + activeOpened uint32 + passiveOpened uint32 + connClosed uint32 + estabResets uint32 + attemptFails uint32 + passiveDrops uint32 + timeWaitReused uint32 + inSegs uint64 + predictAck uint32 + predictData uint32 + inDupAck uint32 + inBadSum uint32 + inBadLen uint32 + inShort uint32 + inDiscOldTime uint32 + inAllBeforeWin uint32 + inSomeBeforeWin uint32 + inAllAfterWin uint32 + inSomeAfterWin uint32 + inOutOfOrder uint32 + inAfterClose uint32 + inWinProbes uint32 + inWinUpdates uint32 + outWinUpdates uint32 + outSegs uint64 + outDelayAcks uint32 + outRsts uint32 + retransSegs uint32 + retransTimeouts uint32 + retransDrops uint32 + pmtuRetrans uint32 + pmtuErrors uint32 + outWinProbes uint32 + probeDrops uint32 + keepAliveProbes uint32 + keepAliveDrops uint32 + finwait2Drops uint32 + acceptCount uint64 + inBulkQSegs uint64 + inDiscards uint64 + connFloods uint32 + connStalls uint32 + cfgEphemDef uint16 + ephemInUse uint16 + ephemHiWater uint16 + flags byte + _ [1]byte + ephemExhaust uint32 + smcRCurrEstabLnks uint32 + smcRLnkActTimeOut uint32 + smcRActLnkOpened uint32 + smcRPasLnkOpened uint32 + smcRLnksClosed uint32 + smcRCurrEstab uint32 + smcRActiveOpened uint32 + smcRPassiveOpened uint32 + smcRConnClosed uint32 + smcRInSegs uint64 + smcROutSegs uint64 + smcRInRsts uint32 + smcROutRsts uint32 + smcDCurrEstabLnks uint32 + smcDActLnkOpened uint32 + smcDPasLnkOpened uint32 + smcDLnksClosed uint32 + smcDCurrEstab uint32 + smcDActiveOpened uint32 + smcDPassiveOpened uint32 + smcDConnClosed uint32 + smcDInSegs uint64 + smcDOutSegs uint64 + smcDInRsts uint32 + smcDOutRsts uint32 +} + +type nwmConnEntry struct { + ident uint32 + local [28]byte // union of sockaddr4 and sockaddr6 + remote [28]byte // union of sockaddr4 and sockaddr6 + startTime [8]byte // uint64, changed to prevent padding from being inserted + lastActivity [8]byte // uint64 + bytesIn [8]byte // uint64 + bytesOut [8]byte // uint64 + inSegs [8]byte // uint64 + outSegs [8]byte // uint64 + state uint16 + activeOpen byte + flag01 byte + outBuffered uint32 + inBuffered uint32 + maxSndWnd uint32 + reXmtCount uint32 + congestionWnd uint32 + ssThresh uint32 + roundTripTime uint32 + roundTripVar uint32 + sendMSS uint32 + sndWnd uint32 + rcvBufSize uint32 + sndBufSize uint32 + outOfOrderCount uint32 + lcl0WindowCount uint32 + rmt0WindowCount uint32 + dupacks uint32 + flag02 byte + sockOpt6Cont byte + asid uint16 + resourceName [8]byte + resourceId uint32 + subtask uint32 + sockOpt byte + sockOpt6 byte + clusterConnFlag byte + proto byte + targetAppl [8]byte + luName [8]byte + clientUserId [8]byte + logMode [8]byte + timeStamp uint32 + timeStampAge uint32 + serverResourceId uint32 + intfName [16]byte + ttlsStatPol byte + ttlsStatConn byte + ttlsSSLProt uint16 + ttlsNegCiph [2]byte + ttlsSecType byte + ttlsFIPS140Mode byte + ttlsUserID [8]byte + applData [40]byte + inOldestTime [8]byte // uint64 + outOldestTime [8]byte // uint64 + tcpTrustedPartner byte + _ [3]byte + bulkDataIntfName [16]byte + ttlsNegCiph4 [4]byte + smcReason uint32 + lclSMCLinkId uint32 + rmtSMCLinkId uint32 + smcStatus byte + smcFlags byte + _ [2]byte + rcvWnd uint32 + lclSMCBufSz uint32 + rmtSMCBufSz uint32 + ttlsSessID [32]byte + ttlsSessIDLen int16 + _ [1]byte + smcDStatus byte + smcDReason uint32 +} + +var svcNameTable [][]byte = [][]byte{ + []byte("\xc5\xe9\xc2\xd5\xd4\xc9\xc6\xf4"), // svc_EZBNMIF4 +} + +const ( + svc_EZBNMIF4 = 0 +) + +func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { + jobname := []byte("\x5c\x40\x40\x40\x40\x40\x40\x40") // "*" + responseBuffer := [4096]byte{0} + var bufferAlet, reasonCode uint32 = 0, 0 + var bufferLen, returnValue, returnCode int32 = 4096, 0, 0 + + dsa := [18]uint64{0} + var argv [7]unsafe.Pointer + argv[0] = unsafe.Pointer(&jobname[0]) + argv[1] = unsafe.Pointer(&responseBuffer[0]) + argv[2] = unsafe.Pointer(&bufferAlet) + argv[3] = unsafe.Pointer(&bufferLen) + argv[4] = unsafe.Pointer(&returnValue) + argv[5] = unsafe.Pointer(&returnCode) + argv[6] = unsafe.Pointer(&reasonCode) + + request := (*struct { + header nwmHeader + filter nwmFilter + })(unsafe.Pointer(&responseBuffer[0])) + + EZBNMIF4 := svcLoad(&svcNameTable[svc_EZBNMIF4][0]) + if EZBNMIF4 == nil { + return nil, errnoErr(EINVAL) + } + + // GetGlobalStats EZBNMIF4 call + request.header.ident = nwmHeaderIdentifier + request.header.length = uint32(unsafe.Sizeof(request.header)) + request.header.version = nwmCurrentVer + request.header.nwmType = nwmGlobalStatsType + request.header.options = 0x80000000 + + svcCall(EZBNMIF4, &argv[0], &dsa[0]) + + // outputDesc field is filled by EZBNMIF4 on success + if returnCode != 0 || request.header.outputDesc.offset == 0 { + return nil, errnoErr(EINVAL) + } + + // Check that EZBNMIF4 returned a nwmRecHeader + recHeader := (*nwmRecHeader)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset])) + if recHeader.ident != nwmRecHeaderIdentifier { + return nil, errnoErr(EINVAL) + } + + // Parse nwmTriplets to get offsets of returned entries + var sections []*uint64 + var sectionDesc *nwmTriplet = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[0])) + for i := uint32(0); i < uint32(recHeader.number); i++ { + offset := request.header.outputDesc.offset + uint32(unsafe.Sizeof(*recHeader)) + i*uint32(unsafe.Sizeof(*sectionDesc)) + sectionDesc = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[offset])) + for j := uint32(0); j < sectionDesc.number; j++ { + offset = request.header.outputDesc.offset + sectionDesc.offset + j*sectionDesc.length + sections = append(sections, (*uint64)(unsafe.Pointer(&responseBuffer[offset]))) + } + } + + // Find nwmTCPStatsEntry in returned entries + var tcpStats *nwmTCPStatsEntry = nil + for _, ptr := range sections { + switch *ptr { + case nwmTCPStatsIdentifier: + if tcpStats != nil { + return nil, errnoErr(EINVAL) + } + tcpStats = (*nwmTCPStatsEntry)(unsafe.Pointer(ptr)) + case nwmIPStatsIdentifier: + case nwmIPGStatsIdentifier: + case nwmUDPStatsIdentifier: + case nwmICMPGStatsEntry: + case nwmICMPTStatsEntry: + default: + return nil, errnoErr(EINVAL) + } + } + if tcpStats == nil { + return nil, errnoErr(EINVAL) + } + + // GetConnectionDetail EZBNMIF4 call + responseBuffer = [4096]byte{0} + dsa = [18]uint64{0} + bufferAlet, reasonCode = 0, 0 + bufferLen, returnValue, returnCode = 4096, 0, 0 + nameptr := (*uint32)(unsafe.Pointer(uintptr(0x21c))) // Get jobname of current process + nameptr = (*uint32)(unsafe.Pointer(uintptr(*nameptr + 12))) + argv[0] = unsafe.Pointer(uintptr(*nameptr)) + + request.header.ident = nwmHeaderIdentifier + request.header.length = uint32(unsafe.Sizeof(request.header)) + request.header.version = nwmCurrentVer + request.header.nwmType = nwmTCPConnType + request.header.options = 0x80000000 + + request.filter.ident = nwmFilterIdentifier + + var localSockaddr RawSockaddrAny + socklen := _Socklen(SizeofSockaddrAny) + err := getsockname(fd, &localSockaddr, &socklen) + if err != nil { + return nil, errnoErr(EINVAL) + } + if localSockaddr.Addr.Family == AF_INET { + localSockaddr := (*RawSockaddrInet4)(unsafe.Pointer(&localSockaddr.Addr)) + localSockFilter := (*RawSockaddrInet4)(unsafe.Pointer(&request.filter.local[0])) + localSockFilter.Family = AF_INET + var i int + for i = 0; i < 4; i++ { + if localSockaddr.Addr[i] != 0 { + break + } + } + if i != 4 { + request.filter.flags |= nwmFilterLclAddrMask + for i = 0; i < 4; i++ { + localSockFilter.Addr[i] = localSockaddr.Addr[i] + } + } + if localSockaddr.Port != 0 { + request.filter.flags |= nwmFilterLclPortMask + localSockFilter.Port = localSockaddr.Port + } + } else if localSockaddr.Addr.Family == AF_INET6 { + localSockaddr := (*RawSockaddrInet6)(unsafe.Pointer(&localSockaddr.Addr)) + localSockFilter := (*RawSockaddrInet6)(unsafe.Pointer(&request.filter.local[0])) + localSockFilter.Family = AF_INET6 + var i int + for i = 0; i < 16; i++ { + if localSockaddr.Addr[i] != 0 { + break + } + } + if i != 16 { + request.filter.flags |= nwmFilterLclAddrMask + for i = 0; i < 16; i++ { + localSockFilter.Addr[i] = localSockaddr.Addr[i] + } + } + if localSockaddr.Port != 0 { + request.filter.flags |= nwmFilterLclPortMask + localSockFilter.Port = localSockaddr.Port + } + } + + svcCall(EZBNMIF4, &argv[0], &dsa[0]) + + // outputDesc field is filled by EZBNMIF4 on success + if returnCode != 0 || request.header.outputDesc.offset == 0 { + return nil, errnoErr(EINVAL) + } + + // Check that EZBNMIF4 returned a nwmConnEntry + conn := (*nwmConnEntry)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset])) + if conn.ident != nwmTCPConnIdentifier { + return nil, errnoErr(EINVAL) + } + + // Copy data from the returned data structures into tcpInfo + // Stats from nwmConnEntry are specific to that connection. + // Stats from nwmTCPStatsEntry are global (to the interface?) + // Fields may not be an exact match. Some fields have no equivalent. + var tcpinfo TCPInfo + tcpinfo.State = uint8(conn.state) + tcpinfo.Ca_state = 0 // dummy + tcpinfo.Retransmits = uint8(tcpStats.retransSegs) + tcpinfo.Probes = uint8(tcpStats.outWinProbes) + tcpinfo.Backoff = 0 // dummy + tcpinfo.Options = 0 // dummy + tcpinfo.Rto = tcpStats.retransTimeouts + tcpinfo.Ato = tcpStats.outDelayAcks + tcpinfo.Snd_mss = conn.sendMSS + tcpinfo.Rcv_mss = conn.sendMSS // dummy + tcpinfo.Unacked = 0 // dummy + tcpinfo.Sacked = 0 // dummy + tcpinfo.Lost = 0 // dummy + tcpinfo.Retrans = conn.reXmtCount + tcpinfo.Fackets = 0 // dummy + tcpinfo.Last_data_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.lastActivity[0]))) + tcpinfo.Last_ack_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.outOldestTime[0]))) + tcpinfo.Last_data_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0]))) + tcpinfo.Last_ack_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0]))) + tcpinfo.Pmtu = conn.sendMSS // dummy, NWMIfRouteMtu is a candidate + tcpinfo.Rcv_ssthresh = conn.ssThresh + tcpinfo.Rtt = conn.roundTripTime + tcpinfo.Rttvar = conn.roundTripVar + tcpinfo.Snd_ssthresh = conn.ssThresh // dummy + tcpinfo.Snd_cwnd = conn.congestionWnd + tcpinfo.Advmss = conn.sendMSS // dummy + tcpinfo.Reordering = 0 // dummy + tcpinfo.Rcv_rtt = conn.roundTripTime // dummy + tcpinfo.Rcv_space = conn.sendMSS // dummy + tcpinfo.Total_retrans = conn.reXmtCount + + svcUnload(&svcNameTable[svc_EZBNMIF4][0], EZBNMIF4) + + return &tcpinfo, nil +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + + return string(buf[:vallen-1]), nil +} + +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 = 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 { + // TODO(neeilan): Remove 0 arg added to get this compiling on z/OS + from, err = anyToSockaddr(0, &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 = int32(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 +} + +func Opendir(name string) (uintptr, error) { + p, err := BytePtrFromString(name) + if err != nil { + return 0, err + } + dir, _, e := syscall_syscall(SYS___OPENDIR_A, uintptr(unsafe.Pointer(p)), 0, 0) + runtime.KeepAlive(unsafe.Pointer(p)) + if e != 0 { + err = errnoErr(e) + } + return dir, err +} + +// clearsyscall.Errno resets the errno value to 0. +func clearErrno() + +func Readdir(dir uintptr) (*Dirent, error) { + var ent Dirent + var res uintptr + // __readdir_r_a returns errno at the end of the directory stream, rather than 0. + // Therefore to avoid false positives we clear errno before calling it. + + // TODO(neeilan): Commented this out to get sys/unix compiling on z/OS. Uncomment and fix. Error: "undefined: clearsyscall" + //clearsyscall.Errno() // TODO(mundaym): check pre-emption rules. + + e, _, _ := syscall_syscall(SYS___READDIR_R_A, dir, uintptr(unsafe.Pointer(&ent)), uintptr(unsafe.Pointer(&res))) + var err error + if e != 0 { + err = errnoErr(Errno(e)) + } + if res == 0 { + return nil, err + } + return &ent, err +} + +func Closedir(dir uintptr) error { + _, _, e := syscall_syscall(SYS_CLOSEDIR, dir, 0, 0) + if e != 0 { + return errnoErr(e) + } + return nil +} + +func Seekdir(dir uintptr, pos int) { + _, _, _ = syscall_syscall(SYS_SEEKDIR, dir, uintptr(pos), 0) +} + +func Telldir(dir uintptr) (int, error) { + p, _, e := syscall_syscall(SYS_TELLDIR, dir, 0, 0) + pos := int(p) + if pos == -1 { + return pos, errnoErr(e) + } + return pos, nil +} + +// 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 { + // struct flock is packed on z/OS. We can't emulate that in Go so + // instead we pack it here. + var flock [24]byte + *(*int16)(unsafe.Pointer(&flock[0])) = lk.Type + *(*int16)(unsafe.Pointer(&flock[2])) = lk.Whence + *(*int64)(unsafe.Pointer(&flock[4])) = lk.Start + *(*int64)(unsafe.Pointer(&flock[12])) = lk.Len + *(*int32)(unsafe.Pointer(&flock[20])) = lk.Pid + _, _, errno := syscall_syscall(SYS_FCNTL, fd, uintptr(cmd), uintptr(unsafe.Pointer(&flock))) + lk.Type = *(*int16)(unsafe.Pointer(&flock[0])) + lk.Whence = *(*int16)(unsafe.Pointer(&flock[2])) + lk.Start = *(*int64)(unsafe.Pointer(&flock[4])) + lk.Len = *(*int64)(unsafe.Pointer(&flock[12])) + lk.Pid = *(*int32)(unsafe.Pointer(&flock[20])) + if errno == 0 { + return nil + } + return errno +} + +func Flock(fd int, how int) error { + + var flock_type int16 + var fcntl_cmd int + + switch how { + case LOCK_SH | LOCK_NB: + flock_type = F_RDLCK + fcntl_cmd = F_SETLK + case LOCK_EX | LOCK_NB: + flock_type = F_WRLCK + fcntl_cmd = F_SETLK + case LOCK_EX: + flock_type = F_WRLCK + fcntl_cmd = F_SETLKW + case LOCK_UN: + flock_type = F_UNLCK + fcntl_cmd = F_SETLKW + default: + } + + flock := Flock_t{ + Type: int16(flock_type), + Whence: int16(0), + Start: int64(0), + Len: int64(0), + Pid: int32(Getppid()), + } + + err := FcntlFlock(uintptr(fd), fcntl_cmd, &flock) + return err +} + +func Mlock(b []byte) (err error) { + _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func Mlock2(b []byte, flags int) (err error) { + _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func Munlock(b []byte) (err error) { + _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_SWAP, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_SWAP, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func ClockGettime(clockid int32, ts *Timespec) error { + + var ticks_per_sec uint32 = 100 //TODO(kenan): value is currently hardcoded; need sysconf() call otherwise + var nsec_per_sec int64 = 1000000000 + + if ts == nil { + return EFAULT + } + if clockid == CLOCK_REALTIME || clockid == CLOCK_MONOTONIC { + var nanotime int64 = runtime.Nanotime1() + ts.Sec = nanotime / nsec_per_sec + ts.Nsec = nanotime % nsec_per_sec + } else if clockid == CLOCK_PROCESS_CPUTIME_ID || clockid == CLOCK_THREAD_CPUTIME_ID { + var tm Tms + _, err := Times(&tm) + if err != nil { + return EFAULT + } + ts.Sec = int64(tm.Utime / ticks_per_sec) + ts.Nsec = int64(tm.Utime) * nsec_per_sec / int64(ticks_per_sec) + } else { + return EINVAL + } + return nil +} + +func Statfs(path string, stat *Statfs_t) (err error) { + fd, err := open(path, O_RDONLY, 0) + defer Close(fd) + if err != nil { + return err + } + return Fstatfs(fd, stat) +} + +var ( + Stdin = 0 + Stdout = 1 + Stderr = 2 +) + +// Do the interface allocations only once for common +// Errno values. +var ( + errEAGAIN error = syscall.EAGAIN + errEINVAL error = syscall.EINVAL + errENOENT error = syscall.ENOENT +) + +var ( + signalNameMapOnce sync.Once + signalNameMap map[string]syscall.Signal +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e Errno) error { + switch e { + case 0: + return nil + case EAGAIN: + return errEAGAIN + case EINVAL: + return errEINVAL + case ENOENT: + return errENOENT + } + return e +} + +// ErrnoName returns the error name for error number e. +func ErrnoName(e Errno) string { + i := sort.Search(len(errorList), func(i int) bool { + return errorList[i].num >= e + }) + if i < len(errorList) && errorList[i].num == e { + return errorList[i].name + } + return "" +} + +// SignalName returns the signal name for signal number s. +func SignalName(s syscall.Signal) string { + i := sort.Search(len(signalList), func(i int) bool { + return signalList[i].num >= s + }) + if i < len(signalList) && signalList[i].num == s { + return signalList[i].name + } + return "" +} + +// SignalNum returns the syscall.Signal for signal named s, +// or 0 if a signal with such name is not found. +// The signal name should start with "SIG". +func SignalNum(s string) syscall.Signal { + signalNameMapOnce.Do(func() { + signalNameMap = make(map[string]syscall.Signal, len(signalList)) + for _, signal := range signalList { + signalNameMap[signal.name] = signal.num + } + }) + return signalNameMap[s] +} + +// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. +func clen(n []byte) int { + i := bytes.IndexByte(n, 0) + if i == -1 { + i = len(n) + } + return i +} + +// Mmap manager, for use by operating system-specific implementations. + +type mmapper struct { + sync.Mutex + active map[*byte][]byte // active mappings; key is last byte in mapping + mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) + munmap func(addr uintptr, length uintptr) error +} + +func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + if length <= 0 { + return nil, EINVAL + } + + // Map the requested memory. + addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) + if errno != nil { + return nil, errno + } + + // Slice memory layout + var sl = struct { + addr uintptr + len int + cap int + }{addr, length, length} + + // Use unsafe to turn sl into a []byte. + b := *(*[]byte)(unsafe.Pointer(&sl)) + + // Register mapping in m and return it. + p := &b[cap(b)-1] + m.Lock() + defer m.Unlock() + m.active[p] = b + return b, nil +} + +func (m *mmapper) Munmap(data []byte) (err error) { + if len(data) == 0 || len(data) != cap(data) { + return EINVAL + } + + // Find the base of the mapping. + p := &data[cap(data)-1] + m.Lock() + defer m.Unlock() + b := m.active[p] + if b == nil || &b[0] != &data[0] { + return EINVAL + } + + // Unmap the memory and update m. + if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { + return errno + } + delete(m.active, p) + return nil +} + +func Read(fd int, p []byte) (n int, err error) { + n, err = read(fd, p) + if raceenabled { + if n > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), n) + } + if err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } + } + return +} + +func Write(fd int, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = write(fd, p) + if raceenabled && n > 0 { + raceReadRange(unsafe.Pointer(&p[0]), n) + } + return +} + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +// Sockaddr represents a socket address. +type Sockaddr interface { + sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs +} + +// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets. +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets. +type SockaddrInet6 struct { + Port int + ZoneId uint32 + Addr [16]byte + raw RawSockaddrInet6 +} + +// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func Bind(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connect(fd, ptr, n) +} + +func Getpeername(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getpeername(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptByte(fd, level, opt int) (value byte, err error) { + var n byte + vallen := _Socklen(1) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func GetsockoptInt(fd, level, opt int) (value int, err error) { + var n int32 + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return int(n), err +} + +func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) + return value, err +} + +func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { + var value IPMreq + vallen := _Socklen(SizeofIPMreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { + var value IPv6Mreq + vallen := _Socklen(SizeofIPv6Mreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { + var value IPv6MTUInfo + vallen := _Socklen(SizeofIPv6MTUInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { + var value ICMPv6Filter + vallen := _Socklen(SizeofICMPv6Filter) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptLinger(fd, level, opt int) (*Linger, error) { + var linger Linger + vallen := _Socklen(SizeofLinger) + err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen) + return &linger, err +} + +func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { + var tv Timeval + vallen := _Socklen(unsafe.Sizeof(tv)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen) + return &tv, err +} + +func GetsockoptUint64(fd, level, opt int) (value uint64, err error) { + var n uint64 + vallen := _Socklen(8) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { + return + } + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { + ptr, n, err := to.sockaddr() + if err != nil { + return err + } + return sendto(fd, p, flags, ptr, n) +} + +func SetsockoptByte(fd, level, opt int, value byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) +} + +func SetsockoptInt(fd, level, opt int, value int) (err error) { + var n = int32(value) + return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) +} + +func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) +} + +func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) +} + +func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) +} + +func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { + return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) +} + +func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) +} + +func SetsockoptString(fd, level, opt int, s string) (err error) { + var p unsafe.Pointer + if len(s) > 0 { + p = unsafe.Pointer(&[]byte(s)[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(s))) +} + +func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) +} + +func SetsockoptUint64(fd, level, opt int, value uint64) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8) +} + +func Socket(domain, typ, proto int) (fd int, err error) { + if domain == AF_INET6 && SocketDisableIPv6 { + return -1, EAFNOSUPPORT + } + fd, err = socket(domain, typ, proto) + return +} + +func Socketpair(domain, typ, proto int) (fd [2]int, err error) { + var fdx [2]int32 + err = socketpair(domain, typ, proto, &fdx) + if err == nil { + fd[0] = int(fdx[0]) + fd[1] = int(fdx[1]) + } + return +} + +var ioSync int64 + +func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } + +func SetNonblock(fd int, nonblocking bool) (err error) { + flag, err := fcntl(fd, F_GETFL, 0) + if err != nil { + return err + } + if nonblocking { + flag |= O_NONBLOCK + } else { + flag &= ^O_NONBLOCK + } + _, err = fcntl(fd, F_SETFL, flag) + return err +} + +// Exec calls execve(2), which replaces the calling executable in the process +// tree. argv0 should be the full path to an executable ("/bin/ls") and the +// executable name should also be the first argument in argv (["ls", "-l"]). +// envv are the environment variables that should be passed to the new +// process (["USER=go", "PWD=/tmp"]). +func Exec(argv0 string, argv []string, envv []string) error { + return syscall.Exec(argv0, argv, envv) +} + +func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { + if needspace := 8 - len(fstype); needspace <= 0 { + fstype = fstype[:8] + } else { + fstype += " "[:needspace] + } + return mount_LE(target, source, fstype, uint32(flags), int32(len(data)), data) +} + +func Unmount(name string, mtm int) (err error) { + // mountpoint is always a full path and starts with a '/' + // check if input string is not a mountpoint but a filesystem name + if name[0] != '/' { + return unmount(name, mtm) + } + // treat name as mountpoint + b2s := func(arr []byte) string { + nulli := bytes.IndexByte(arr, 0) + if nulli == -1 { + return string(arr) + } else { + return string(arr[:nulli]) + } + } + var buffer struct { + header W_Mnth + fsinfo [64]W_Mntent + } + fsCount, err := W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer))) + if err != nil { + return err + } + if fsCount == 0 { + return EINVAL + } + for i := 0; i < fsCount; i++ { + if b2s(buffer.fsinfo[i].Mountpoint[:]) == name { + err = unmount(b2s(buffer.fsinfo[i].Fsname[:]), mtm) + break + } + } + return err +} diff --git a/vendor/golang.org/x/sys/unix/timestruct.go b/vendor/golang.org/x/sys/unix/timestruct.go new file mode 100644 index 000000000..3d8930405 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/timestruct.go @@ -0,0 +1,77 @@ +// 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. + +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + +package unix + +import "time" + +// TimespecToNSec returns the time stored in ts as nanoseconds. +func TimespecToNsec(ts Timespec) int64 { return ts.Nano() } + +// NsecToTimespec converts a number of nanoseconds into a Timespec. +func NsecToTimespec(nsec int64) Timespec { + sec := nsec / 1e9 + nsec = nsec % 1e9 + if nsec < 0 { + nsec += 1e9 + sec-- + } + return setTimespec(sec, nsec) +} + +// TimeToTimespec converts t into a Timespec. +// On some 32-bit systems the range of valid Timespec values are smaller +// than that of time.Time values. So if t is out of the valid range of +// Timespec, it returns a zero Timespec and ERANGE. +func TimeToTimespec(t time.Time) (Timespec, error) { + sec := t.Unix() + nsec := int64(t.Nanosecond()) + ts := setTimespec(sec, nsec) + + // Currently all targets have either int32 or int64 for Timespec.Sec. + // If there were a new target with floating point type for it, we have + // to consider the rounding error. + if int64(ts.Sec) != sec { + return Timespec{}, ERANGE + } + return ts, nil +} + +// TimevalToNsec returns the time stored in tv as nanoseconds. +func TimevalToNsec(tv Timeval) int64 { return tv.Nano() } + +// NsecToTimeval converts a number of nanoseconds into a Timeval. +func NsecToTimeval(nsec int64) Timeval { + nsec += 999 // round up to microsecond + usec := nsec % 1e9 / 1e3 + sec := nsec / 1e9 + if usec < 0 { + usec += 1e6 + sec-- + } + return setTimeval(sec, usec) +} + +// Unix returns the time stored in ts as seconds plus nanoseconds. +func (ts *Timespec) Unix() (sec int64, nsec int64) { + return int64(ts.Sec), int64(ts.Nsec) +} + +// Unix returns the time stored in tv as seconds plus nanoseconds. +func (tv *Timeval) Unix() (sec int64, nsec int64) { + return int64(tv.Sec), int64(tv.Usec) * 1000 +} + +// Nano returns the time stored in ts as nanoseconds. +func (ts *Timespec) Nano() int64 { + return int64(ts.Sec)*1e9 + int64(ts.Nsec) +} + +// Nano returns the time stored in tv as nanoseconds. +func (tv *Timeval) Nano() int64 { + return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 +} diff --git a/vendor/golang.org/x/sys/unix/unveil_openbsd.go b/vendor/golang.org/x/sys/unix/unveil_openbsd.go new file mode 100644 index 000000000..168d5ae77 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/unveil_openbsd.go @@ -0,0 +1,42 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "syscall" + "unsafe" +) + +// Unveil implements the unveil syscall. +// For more information see unveil(2). +// Note that the special case of blocking further +// unveil calls is handled by UnveilBlock. +func Unveil(path string, flags string) error { + pathPtr, err := syscall.BytePtrFromString(path) + if err != nil { + return err + } + flagsPtr, err := syscall.BytePtrFromString(flags) + if err != nil { + return err + } + _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0) + if e != 0 { + return e + } + return nil +} + +// UnveilBlock blocks future unveil calls. +// For more information see unveil(2). +func UnveilBlock() error { + // Both pointers must be nil. + var pathUnsafe, flagsUnsafe unsafe.Pointer + _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0) + if e != 0 { + return e + } + return nil +} diff --git a/vendor/golang.org/x/sys/unix/xattr_bsd.go b/vendor/golang.org/x/sys/unix/xattr_bsd.go new file mode 100644 index 000000000..25df1e378 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/xattr_bsd.go @@ -0,0 +1,241 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build freebsd || netbsd +// +build freebsd netbsd + +package unix + +import ( + "strings" + "unsafe" +) + +// Derive extattr namespace and attribute name + +func xattrnamespace(fullattr string) (ns int, attr string, err error) { + s := strings.IndexByte(fullattr, '.') + if s == -1 { + return -1, "", ENOATTR + } + + namespace := fullattr[0:s] + attr = fullattr[s+1:] + + switch namespace { + case "user": + return EXTATTR_NAMESPACE_USER, attr, nil + case "system": + return EXTATTR_NAMESPACE_SYSTEM, attr, nil + default: + return -1, "", ENOATTR + } +} + +func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) { + if len(dest) > idx { + return unsafe.Pointer(&dest[idx]) + } else { + return unsafe.Pointer(_zero) + } +} + +// FreeBSD and NetBSD implement their own syscalls to handle extended attributes + +func Getxattr(file string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFile(file, nsid, a, uintptr(d), destsize) +} + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetLink(link, nsid, a, uintptr(d), destsize) +} + +// flags are unused on FreeBSD + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) + return +} + +func Setxattr(file string, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) + return +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz) + return +} + +func Removexattr(file string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFile(file, nsid, a) + return +} + +func Fremovexattr(fd int, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFd(fd, nsid, a) + return +} + +func Lremovexattr(link string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteLink(link, nsid, a) + return +} + +func Listxattr(file string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + // FreeBSD won't allow you to list xattrs from multiple namespaces + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) + + /* Errors accessing system attrs are ignored so that + * we can implement the Linux-like behavior of omitting errors that + * we don't have read permissions on + * + * Linux will still error if we ask for user attributes on a file that + * we don't have read permissions on, so don't ignore those errors + */ + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go new file mode 100644 index 000000000..ca9799b79 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go @@ -0,0 +1,1385 @@ +// mkerrors.sh -maix32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc && aix +// +build ppc,aix + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -maix32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BYPASS = 0x19 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_INTF = 0x14 + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x1e + AF_NDD = 0x17 + AF_NETWARE = 0x16 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_RIF = 0x15 + AF_ROUTE = 0x11 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x400000 + ARPHRD_802_3 = 0x6 + ARPHRD_802_5 = 0x6 + ARPHRD_ETHER = 0x1 + ARPHRD_FDDI = 0x1 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x1000 + BSDLY = 0x1000 + CAP_AACCT = 0x6 + CAP_ARM_APPLICATION = 0x5 + CAP_BYPASS_RAC_VMM = 0x3 + CAP_CLEAR = 0x0 + CAP_CREDENTIALS = 0x7 + CAP_EFFECTIVE = 0x1 + CAP_EWLM_AGENT = 0x4 + CAP_INHERITABLE = 0x2 + CAP_MAXIMUM = 0x7 + CAP_NUMA_ATTACH = 0x2 + CAP_PERMITTED = 0x3 + CAP_PROPAGATE = 0x1 + CAP_PROPOGATE = 0x1 + CAP_SET = 0x1 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_MONOTONIC = 0xa + CLOCK_PROCESS_CPUTIME_ID = 0xb + CLOCK_REALTIME = 0x9 + CLOCK_THREAD_CPUTIME_ID = 0xc + CR0 = 0x0 + CR1 = 0x100 + CR2 = 0x200 + CR3 = 0x300 + CRDLY = 0x300 + CREAD = 0x80 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIOCGIFCONF = -0x3ff796dc + CSIZE = 0x30 + CSMAP_DIR = "/usr/lib/nls/csmap/" + CSTART = '\021' + CSTOP = '\023' + CSTOPB = 0x40 + CSUSP = 0x1a + ECHO = 0x8 + ECHOCTL = 0x20000 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x80000 + ECHONL = 0x40 + ECHOPRT = 0x40000 + ECH_ICMPID = 0x2 + ETHERNET_CSMACD = 0x6 + EVENP = 0x80 + EXCONTINUE = 0x0 + EXDLOK = 0x3 + EXIO = 0x2 + EXPGIO = 0x0 + EXRESUME = 0x2 + EXRETURN = 0x1 + EXSIG = 0x4 + EXTA = 0xe + EXTB = 0xf + EXTRAP = 0x1 + EYEC_RTENTRYA = 0x257274656e747241 + EYEC_RTENTRYF = 0x257274656e747246 + E_ACC = 0x0 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0xfffe + FF0 = 0x0 + FF1 = 0x2000 + FFDLY = 0x2000 + FLUSHBAND = 0x40 + FLUSHLOW = 0x8 + FLUSHO = 0x100000 + FLUSHR = 0x1 + FLUSHRW = 0x3 + FLUSHW = 0x2 + F_CLOSEM = 0xa + F_DUP2FD = 0xe + F_DUPFD = 0x0 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x5 + F_GETLK64 = 0xb + F_GETOWN = 0x8 + F_LOCK = 0x1 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x6 + F_SETLK64 = 0xc + F_SETLKW = 0x7 + F_SETLKW64 = 0xd + F_SETOWN = 0x9 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_TSTLK = 0xf + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMP6_FILTER = 0x26 + ICMP6_SEC_SEND_DEL = 0x46 + ICMP6_SEC_SEND_GET = 0x47 + ICMP6_SEC_SEND_SET = 0x44 + ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 + ICRNL = 0x100 + IEXTEN = 0x200000 + IFA_FIRSTALIAS = 0x2000 + IFA_ROUTE = 0x1 + IFF_64BIT = 0x4000000 + IFF_ALLCAST = 0x20000 + IFF_ALLMULTI = 0x200 + IFF_BPF = 0x8000000 + IFF_BRIDGE = 0x40000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x80c52 + IFF_CHECKSUM_OFFLOAD = 0x10000000 + IFF_D1 = 0x8000 + IFF_D2 = 0x4000 + IFF_D3 = 0x2000 + IFF_D4 = 0x1000 + IFF_DEBUG = 0x4 + IFF_DEVHEALTH = 0x4000 + IFF_DO_HW_LOOPBACK = 0x10000 + IFF_GROUP_ROUTING = 0x2000000 + IFF_IFBUFMGT = 0x800000 + IFF_LINK0 = 0x100000 + IFF_LINK1 = 0x200000 + IFF_LINK2 = 0x400000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x80000 + IFF_NOARP = 0x80 + IFF_NOECHO = 0x800 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_PSEG = 0x40000000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SNAP = 0x8000 + IFF_TCP_DISABLE_CKSUM = 0x20000000 + IFF_TCP_NOCKSUM = 0x1000000 + IFF_UP = 0x1 + IFF_VIPA = 0x80000000 + IFNAMSIZ = 0x10 + IFO_FLUSH = 0x1 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_CLUSTER = 0x3e + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FCS = 0x3a + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIFTUNNEL = 0x3c + IFT_HDH1822 = 0x3 + IFT_HF = 0x3d + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SN = 0x38 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SP = 0x39 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TUNNEL = 0x3b + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_VIPA = 0x37 + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x10000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_USE = 0x1 + IPPROTO_AH = 0x33 + IPPROTO_BIP = 0x53 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GIF = 0x8c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_LOCAL = 0x3f + IPPROTO_MAX = 0x100 + IPPROTO_MH = 0x87 + IPPROTO_NONE = 0x3b + IPPROTO_PUP = 0xc + IPPROTO_QOS = 0x2d + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_ADDRFORM = 0x16 + IPV6_ADDR_PREFERENCES = 0x4a + IPV6_ADD_MEMBERSHIP = 0xc + IPV6_AIXRAWSOCKET = 0x39 + IPV6_CHECKSUM = 0x27 + IPV6_DONTFRAG = 0x2d + IPV6_DROP_MEMBERSHIP = 0xd + IPV6_DSTOPTS = 0x36 + IPV6_FLOWINFO_FLOWLABEL = 0xffffff + IPV6_FLOWINFO_PRIFLOW = 0xfffffff + IPV6_FLOWINFO_PRIORITY = 0xf000000 + IPV6_FLOWINFO_SRFLAG = 0x10000000 + IPV6_FLOWINFO_VERSION = 0xf0000000 + IPV6_HOPLIMIT = 0x28 + IPV6_HOPOPTS = 0x34 + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MIPDSTOPTS = 0x36 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_NOPROBE = 0x1c + IPV6_PATHMTU = 0x2e + IPV6_PKTINFO = 0x21 + IPV6_PKTOPTIONS = 0x24 + IPV6_PRIORITY_10 = 0xa000000 + IPV6_PRIORITY_11 = 0xb000000 + IPV6_PRIORITY_12 = 0xc000000 + IPV6_PRIORITY_13 = 0xd000000 + IPV6_PRIORITY_14 = 0xe000000 + IPV6_PRIORITY_15 = 0xf000000 + IPV6_PRIORITY_8 = 0x8000000 + IPV6_PRIORITY_9 = 0x9000000 + IPV6_PRIORITY_BULK = 0x4000000 + IPV6_PRIORITY_CONTROL = 0x7000000 + IPV6_PRIORITY_FILLER = 0x1000000 + IPV6_PRIORITY_INTERACTIVE = 0x6000000 + IPV6_PRIORITY_RESERVED1 = 0x3000000 + IPV6_PRIORITY_RESERVED2 = 0x5000000 + IPV6_PRIORITY_UNATTENDED = 0x2000000 + IPV6_PRIORITY_UNCHARACTERIZED = 0x0 + IPV6_RECVDSTOPTS = 0x38 + IPV6_RECVHOPLIMIT = 0x29 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVHOPS = 0x22 + IPV6_RECVIF = 0x1e + IPV6_RECVPATHMTU = 0x2f + IPV6_RECVPKTINFO = 0x23 + IPV6_RECVRTHDR = 0x33 + IPV6_RECVSRCRT = 0x1d + IPV6_RECVTCLASS = 0x2a + IPV6_RTHDR = 0x32 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RTHDR_TYPE_2 = 0x2 + IPV6_SENDIF = 0x1f + IPV6_SRFLAG_LOOSE = 0x0 + IPV6_SRFLAG_STRICT = 0x10000000 + IPV6_TCLASS = 0x2b + IPV6_TOKEN_LENGTH = 0x40 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2c + IPV6_V6ONLY = 0x25 + IPV6_VERSION = 0x60000000 + IP_ADDRFORM = 0x16 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x3c + IP_BLOCK_SOURCE = 0x3a + IP_BROADCAST_IF = 0x10 + IP_CACHE_LINE_SIZE = 0x80 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPMODE = 0x11 + IP_DONTFRAG = 0x19 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x3d + IP_FINDPMTU = 0x1a + IP_HDRINCL = 0x2 + IP_INC_MEMBERSHIPS = 0x14 + IP_INIT_MEMBERSHIP = 0x14 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_HOPS = 0xa + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OPT = 0x1b + IP_OPTIONS = 0x1 + IP_PMTUAGE = 0x1b + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVIFINFO = 0xf + IP_RECVINTERFACE = 0x20 + IP_RECVMACHDR = 0xe + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x22 + IP_RETOPTS = 0x8 + IP_SOURCE_FILTER = 0x48 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x3b + IP_UNICAST_HOPS = 0x4 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x800 + IXANY = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + I_FLUSH = 0x20005305 + LNOFLSH = 0x8000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x10 + MAP_ANONYMOUS = 0x10 + MAP_FILE = 0x0 + MAP_FIXED = 0x100 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_TYPE = 0xf0 + MAP_VARIABLE = 0x0 + MCAST_BLOCK_SOURCE = 0x40 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x3e + MCAST_JOIN_SOURCE_GROUP = 0x42 + MCAST_LEAVE_GROUP = 0x3f + MCAST_LEAVE_SOURCE_GROUP = 0x43 + MCAST_SOURCE_FILTER = 0x49 + MCAST_UNBLOCK_SOURCE = 0x41 + MCL_CURRENT = 0x100 + MCL_FUTURE = 0x200 + MSG_ANY = 0x4 + MSG_ARGEXT = 0x400 + MSG_BAND = 0x2 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOR = 0x8 + MSG_HIPRI = 0x1 + MSG_MAXIOVLEN = 0x10 + MSG_MPEG2 = 0x80 + MSG_NONBLOCK = 0x4000 + MSG_NOSIGNAL = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x200 + MS_ASYNC = 0x10 + MS_EINTR = 0x80 + MS_INVALIDATE = 0x40 + MS_PER_SEC = 0x3e8 + MS_SYNC = 0x20 + NFDBITS = 0x20 + NL0 = 0x0 + NL1 = 0x4000 + NL2 = 0x8000 + NL3 = 0xc000 + NLDLY = 0x4000 + NOFLSH = 0x80 + NOFLUSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + ONOEOT = 0x80000 + OPOST = 0x1 + OXTABS = 0x40000 + O_ACCMODE = 0x23 + O_APPEND = 0x8 + O_CIO = 0x80 + O_CIOR = 0x800000000 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DEFER = 0x2000 + O_DELAY = 0x4000 + O_DIRECT = 0x8000000 + O_DIRECTORY = 0x80000 + O_DSYNC = 0x400000 + O_EFSOFF = 0x400000000 + O_EFSON = 0x200000000 + O_EXCL = 0x400 + O_EXEC = 0x20 + O_LARGEFILE = 0x4000000 + O_NDELAY = 0x8000 + O_NOCACHE = 0x100000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x1000000 + O_NONBLOCK = 0x4 + O_NONE = 0x3 + O_NSHARE = 0x10000 + O_RAW = 0x100000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSHARE = 0x1000 + O_RSYNC = 0x200000 + O_SEARCH = 0x20 + O_SNAPSHOT = 0x40 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_TTY_INIT = 0x0 + O_WRONLY = 0x1 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_64BIT = 0x20 + PR_ADDR = 0x2 + PR_ARGEXT = 0x400 + PR_ATOMIC = 0x1 + PR_CONNREQUIRED = 0x4 + PR_FASTHZ = 0x5 + PR_INP = 0x40 + PR_INTRLEVEL = 0x8000 + PR_MLS = 0x100 + PR_MLS_1_LABEL = 0x200 + PR_NOEOR = 0x4000 + PR_RIGHTS = 0x10 + PR_SLOWHZ = 0x2 + PR_WANTRCVD = 0x8 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x9 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DOWNSTREAM = 0x100 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTC_IA64 = 0x3 + RTC_POWER = 0x1 + RTC_POWER_PC = 0x2 + RTF_ACTIVE_DGD = 0x1000000 + RTF_BCE = 0x80000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_BUL = 0x2000 + RTF_CLONE = 0x10000 + RTF_CLONED = 0x20000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FREE_IN_PROG = 0x4000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PERMANENT6 = 0x8000000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_SMALLMTU = 0x40000 + RTF_STATIC = 0x800 + RTF_STOPSRCH = 0x2000000 + RTF_UNREACHABLE = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_EXPIRE = 0xf + RTM_GET = 0x4 + RTM_GETNEXT = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTLOST = 0x10 + RTM_RTTUNIT = 0xf4240 + RTM_SAMEADDR = 0x12 + RTM_SET = 0x13 + RTM_VERSION = 0x2 + RTM_VERSION_GR = 0x4 + RTM_VERSION_GR_COMPAT = 0x3 + RTM_VERSION_POLICY = 0x5 + RTM_VERSION_POLICY_EXT = 0x6 + RTM_VERSION_POLICY_PRFN = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIGMAX64 = 0xff + SIGQUEUE_MAX = 0x20 + SIOCADDIFVIPA = 0x20006942 + SIOCADDMTU = -0x7ffb9690 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDNETID = -0x7fd796a9 + SIOCADDRT = -0x7fcf8df6 + SIOCAIFADDR = -0x7fbf96e6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fb396e0 + SIOCDELIFVIPA = 0x20006943 + SIOCDELMTU = -0x7ffb968f + SIOCDELMULTI = -0x7fdf96ce + SIOCDELPMTU = -0x7fd78ff6 + SIOCDELRT = -0x7fcf8df5 + SIOCDIFADDR = -0x7fd796e7 + SIOCDNETOPT = -0x3ffe9680 + SIOCDX25XLATE = -0x7fd7969b + SIOCFIFADDR = -0x7fdf966d + SIOCGARP = -0x3fb396da + SIOCGETMTUS = 0x2000696f + SIOCGETSGCNT = -0x3feb8acc + SIOCGETVIFCNT = -0x3feb8acd + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fd796df + SIOCGIFADDRS = 0x2000698c + SIOCGIFBAUDRATE = -0x3fdf9669 + SIOCGIFBRDADDR = -0x3fd796dd + SIOCGIFCONF = -0x3ff796bb + SIOCGIFCONFGLOB = -0x3ff79670 + SIOCGIFDSTADDR = -0x3fd796de + SIOCGIFFLAGS = -0x3fd796ef + SIOCGIFGIDLIST = 0x20006968 + SIOCGIFHWADDR = -0x3fab966b + SIOCGIFMETRIC = -0x3fd796e9 + SIOCGIFMTU = -0x3fd796aa + SIOCGIFNETMASK = -0x3fd796db + SIOCGIFOPTIONS = -0x3fd796d6 + SIOCGISNO = -0x3fd79695 + SIOCGLOADF = -0x3ffb967e + SIOCGLOWAT = 0x40047303 + SIOCGNETOPT = -0x3ffe96a5 + SIOCGNETOPT1 = -0x3fdf967f + SIOCGNMTUS = 0x2000696e + SIOCGPGRP = 0x40047309 + SIOCGSIZIFCONF = 0x4004696a + SIOCGSRCFILTER = -0x3fe796cb + SIOCGTUNEPHASE = -0x3ffb9676 + SIOCGX25XLATE = -0x3fd7969c + SIOCIFATTACH = -0x7fdf9699 + SIOCIFDETACH = -0x7fdf969a + SIOCIFGETPKEY = -0x7fdf969b + SIOCIF_ATM_DARP = -0x7fdf9683 + SIOCIF_ATM_DUMPARP = -0x7fdf9685 + SIOCIF_ATM_GARP = -0x7fdf9682 + SIOCIF_ATM_IDLE = -0x7fdf9686 + SIOCIF_ATM_SARP = -0x7fdf9681 + SIOCIF_ATM_SNMPARP = -0x7fdf9687 + SIOCIF_ATM_SVC = -0x7fdf9684 + SIOCIF_ATM_UBR = -0x7fdf9688 + SIOCIF_DEVHEALTH = -0x7ffb966c + SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 + SIOCIF_IB_ARP_TIMER = -0x7fdf9678 + SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f + SIOCIF_IB_DEL_ARP = -0x7fdf967f + SIOCIF_IB_DEL_PINFO = -0x3fdf9670 + SIOCIF_IB_DUMP_ARP = -0x7fdf9680 + SIOCIF_IB_GET_ARP = -0x7fdf967e + SIOCIF_IB_GET_INFO = -0x3f879675 + SIOCIF_IB_GET_STATS = -0x3f879672 + SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a + SIOCIF_IB_RESET_STATS = -0x3f879671 + SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 + SIOCIF_IB_SET_ARP = -0x7fdf967d + SIOCIF_IB_SET_PKEY = -0x7fdf967c + SIOCIF_IB_SET_PORT = -0x7fdf967b + SIOCIF_IB_SET_QKEY = -0x7fdf9676 + SIOCIF_IB_SET_QSIZE = -0x7fdf967a + SIOCLISTIFVIPA = 0x20006944 + SIOCSARP = -0x7fb396e2 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = -0x7fd796f4 + SIOCSIFADDRORI = -0x7fdb9673 + SIOCSIFBRDADDR = -0x7fd796ed + SIOCSIFDSTADDR = -0x7fd796f2 + SIOCSIFFLAGS = -0x7fd796f0 + SIOCSIFGIDLIST = 0x20006969 + SIOCSIFMETRIC = -0x7fd796e8 + SIOCSIFMTU = -0x7fd796a8 + SIOCSIFNETDUMP = -0x7fd796e4 + SIOCSIFNETMASK = -0x7fd796ea + SIOCSIFOPTIONS = -0x7fd796d7 + SIOCSIFSUBCHAN = -0x7fd796e5 + SIOCSISNO = -0x7fd79694 + SIOCSLOADF = -0x3ffb967d + SIOCSLOWAT = 0x80047302 + SIOCSNETOPT = -0x7ffe96a6 + SIOCSPGRP = 0x80047308 + SIOCSX25XLATE = -0x7fd7969d + SOCK_CONN_DGRAM = 0x6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x400 + SO_ACCEPTCONN = 0x2 + SO_AUDIT = 0x8000 + SO_BROADCAST = 0x20 + SO_CKSUMRECV = 0x800 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_KERNACCEPT = 0x2000 + SO_LINGER = 0x80 + SO_NOMULTIPATH = 0x4000 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x100 + SO_PEERID = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMPNS = 0x100a + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USE_IFBUFS = 0x400 + S_BANDURG = 0x400 + S_EMODFMT = 0x3c000000 + S_ENFMT = 0x400 + S_ERROR = 0x100 + S_HANGUP = 0x200 + S_HIPRI = 0x2 + S_ICRYPTO = 0x80000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFJOURNAL = 0x10000 + S_IFLNK = 0xa000 + S_IFMPX = 0x2200 + S_IFMT = 0xf000 + S_IFPDIR = 0x4000000 + S_IFPSDIR = 0x8000000 + S_IFPSSDIR = 0xc000000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFSYSEA = 0x30000000 + S_INPUT = 0x1 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_ITCB = 0x1000000 + S_ITP = 0x800000 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXACL = 0x2000000 + S_IXATTR = 0x40000 + S_IXGRP = 0x8 + S_IXINTERFACE = 0x100000 + S_IXMOD = 0x40000000 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_MSG = 0x8 + S_OUTPUT = 0x4 + S_RDBAND = 0x20 + S_RDNORM = 0x10 + S_RESERVED1 = 0x20000 + S_RESERVED2 = 0x200000 + S_RESERVED3 = 0x400000 + S_RESERVED4 = 0x80000000 + S_RESFMT1 = 0x10000000 + S_RESFMT10 = 0x34000000 + S_RESFMT11 = 0x38000000 + S_RESFMT12 = 0x3c000000 + S_RESFMT2 = 0x14000000 + S_RESFMT3 = 0x18000000 + S_RESFMT4 = 0x1c000000 + S_RESFMT5 = 0x20000000 + S_RESFMT6 = 0x24000000 + S_RESFMT7 = 0x28000000 + S_RESFMT8 = 0x2c000000 + S_WRBAND = 0x80 + S_WRNORM = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x540c + TCGETA = 0x5405 + TCGETS = 0x5401 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 + TCP_ACLADD = 0x23 + TCP_ACLBIND = 0x26 + TCP_ACLCLEAR = 0x22 + TCP_ACLDEL = 0x24 + TCP_ACLDENY = 0x8 + TCP_ACLFLUSH = 0x21 + TCP_ACLGID = 0x1 + TCP_ACLLS = 0x25 + TCP_ACLSUBNET = 0x4 + TCP_ACLUID = 0x2 + TCP_CWND_DF = 0x16 + TCP_CWND_IF = 0x15 + TCP_DELAY_ACK_FIN = 0x2 + TCP_DELAY_ACK_SYN = 0x1 + TCP_FASTNAME = 0x101080a + TCP_KEEPCNT = 0x13 + TCP_KEEPIDLE = 0x11 + TCP_KEEPINTVL = 0x12 + TCP_LSPRIV = 0x29 + TCP_LUID = 0x20 + TCP_MAXBURST = 0x8 + TCP_MAXDF = 0x64 + TCP_MAXIF = 0x64 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAXWINDOWSCALE = 0xe + TCP_MAX_SACK = 0x4 + TCP_MSS = 0x5b4 + TCP_NODELAY = 0x1 + TCP_NODELAYACK = 0x14 + TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 + TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 + TCP_NOTENTER_SSTART = 0x17 + TCP_OPT = 0x19 + TCP_RFC1323 = 0x4 + TCP_SETPRIV = 0x27 + TCP_STDURG = 0x10 + TCP_TIMESTAMP_OPTLEN = 0xc + TCP_UNSETPRIV = 0x28 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETSF = 0x5404 + TCSETSW = 0x5403 + TCXONC = 0x540b + TIMER_ABSTIME = 0x3e7 + TIMER_MAX = 0x20 + TIOC = 0x5400 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCEXCL = 0x2000740d + TIOCFLUSH = 0x80047410 + TIOCGETC = 0x40067412 + TIOCGETD = 0x40047400 + TIOCGETP = 0x40067408 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047448 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCHPCL = 0x20007402 + TIOCLBIC = 0x8004747e + TIOCLBIS = 0x8004747f + TIOCLGET = 0x4004747c + TIOCLSET = 0x8004747d + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x80047464 + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSDTR = 0x20007479 + TIOCSETC = 0x80067411 + TIOCSETD = 0x80047401 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x10000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x3 + VDISCRD = 0xc + VDSUSP = 0xa + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xe + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0x7 + VSTOP = 0x8 + VSTRT = 0x7 + VSUSP = 0x9 + VT0 = 0x0 + VT1 = 0x8000 + VTDELAY = 0x2000 + VTDLY = 0x8000 + VTIME = 0x5 + VWERSE = 0xd + WPARSTART = 0x1 + WPARSTOP = 0x2 + WPARTTYNAME = "Global" + XCASE = 0x4 + XTABS = 0xc00 + _FDATAFLUSH = 0x2000000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x43) + EADDRNOTAVAIL = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x42) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x38) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x78) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x75) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECLONEME = syscall.Errno(0x52) + ECONNABORTED = syscall.Errno(0x48) + ECONNREFUSED = syscall.Errno(0x4f) + ECONNRESET = syscall.Errno(0x49) + ECORRUPT = syscall.Errno(0x59) + EDEADLK = syscall.Errno(0x2d) + EDESTADDREQ = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x3a) + EDIST = syscall.Errno(0x35) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x58) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFORMAT = syscall.Errno(0x30) + EHOSTDOWN = syscall.Errno(0x50) + EHOSTUNREACH = syscall.Errno(0x51) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x74) + EINPROGRESS = syscall.Errno(0x37) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x4b) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x55) + EMEDIA = syscall.Errno(0x6e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x3b) + EMULTIHOP = syscall.Errno(0x7d) + ENAMETOOLONG = syscall.Errno(0x56) + ENETDOWN = syscall.Errno(0x45) + ENETRESET = syscall.Errno(0x47) + ENETUNREACH = syscall.Errno(0x46) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x70) + ENOBUFS = syscall.Errno(0x4a) + ENOCONNECT = syscall.Errno(0x32) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x7a) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x31) + ENOLINK = syscall.Errno(0x7e) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENOPROTOOPT = syscall.Errno(0x3d) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x76) + ENOSTR = syscall.Errno(0x7b) + ENOSYS = syscall.Errno(0x6d) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x4c) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x11) + ENOTREADY = syscall.Errno(0x2e) + ENOTRECOVERABLE = syscall.Errno(0x5e) + ENOTRUST = syscall.Errno(0x72) + ENOTSOCK = syscall.Errno(0x39) + ENOTSUP = syscall.Errno(0x7c) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x40) + EOVERFLOW = syscall.Errno(0x7f) + EOWNERDEAD = syscall.Errno(0x5f) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x41) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x53) + EPROTO = syscall.Errno(0x79) + EPROTONOSUPPORT = syscall.Errno(0x3e) + EPROTOTYPE = syscall.Errno(0x3c) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x5d) + ERESTART = syscall.Errno(0x52) + EROFS = syscall.Errno(0x1e) + ESAD = syscall.Errno(0x71) + ESHUTDOWN = syscall.Errno(0x4d) + ESOCKTNOSUPPORT = syscall.Errno(0x3f) + ESOFT = syscall.Errno(0x6f) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x34) + ESYSERROR = syscall.Errno(0x5a) + ETIME = syscall.Errno(0x77) + ETIMEDOUT = syscall.Errno(0x4e) + ETOOMANYREFS = syscall.Errno(0x73) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x54) + EWOULDBLOCK = syscall.Errno(0xb) + EWRPROTECT = syscall.Errno(0x2f) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGAIO = syscall.Signal(0x17) + SIGALRM = syscall.Signal(0xe) + SIGALRM1 = syscall.Signal(0x26) + SIGBUS = syscall.Signal(0xa) + SIGCAPI = syscall.Signal(0x31) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGCPUFAIL = syscall.Signal(0x3b) + SIGDANGER = syscall.Signal(0x21) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGGRANT = syscall.Signal(0x3c) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOINT = syscall.Signal(0x10) + SIGIOT = syscall.Signal(0x6) + SIGKAP = syscall.Signal(0x3c) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x6) + SIGMAX = syscall.Signal(0x3f) + SIGMAX32 = syscall.Signal(0x3f) + SIGMIGRATE = syscall.Signal(0x23) + SIGMSG = syscall.Signal(0x1b) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPRE = syscall.Signal(0x24) + SIGPROF = syscall.Signal(0x20) + SIGPTY = syscall.Signal(0x17) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGRECONFIG = syscall.Signal(0x3a) + SIGRETRACT = syscall.Signal(0x3d) + SIGSAK = syscall.Signal(0x3f) + SIGSEGV = syscall.Signal(0xb) + SIGSOUND = syscall.Signal(0x3e) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGSYSERROR = syscall.Signal(0x30) + SIGTALRM = syscall.Signal(0x26) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVIRT = syscall.Signal(0x25) + SIGVTALRM = syscall.Signal(0x22) + SIGWAITING = syscall.Signal(0x27) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EWOULDBLOCK", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "ENOTEMPTY", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "not a typewriter"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock condition if locked"}, + {46, "ENOTREADY", "device not ready"}, + {47, "EWRPROTECT", "write-protected media"}, + {48, "EFORMAT", "unformatted or incompatible media"}, + {49, "ENOLCK", "no locks available"}, + {50, "ENOCONNECT", "cannot Establish Connection"}, + {52, "ESTALE", "missing file or filesystem"}, + {53, "EDIST", "requests blocked by Administrator"}, + {55, "EINPROGRESS", "operation now in progress"}, + {56, "EALREADY", "operation already in progress"}, + {57, "ENOTSOCK", "socket operation on non-socket"}, + {58, "EDESTADDREQ", "destination address required"}, + {59, "EMSGSIZE", "message too long"}, + {60, "EPROTOTYPE", "protocol wrong type for socket"}, + {61, "ENOPROTOOPT", "protocol not available"}, + {62, "EPROTONOSUPPORT", "protocol not supported"}, + {63, "ESOCKTNOSUPPORT", "socket type not supported"}, + {64, "EOPNOTSUPP", "operation not supported on socket"}, + {65, "EPFNOSUPPORT", "protocol family not supported"}, + {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, + {67, "EADDRINUSE", "address already in use"}, + {68, "EADDRNOTAVAIL", "can't assign requested address"}, + {69, "ENETDOWN", "network is down"}, + {70, "ENETUNREACH", "network is unreachable"}, + {71, "ENETRESET", "network dropped connection on reset"}, + {72, "ECONNABORTED", "software caused connection abort"}, + {73, "ECONNRESET", "connection reset by peer"}, + {74, "ENOBUFS", "no buffer space available"}, + {75, "EISCONN", "socket is already connected"}, + {76, "ENOTCONN", "socket is not connected"}, + {77, "ESHUTDOWN", "can't send after socket shutdown"}, + {78, "ETIMEDOUT", "connection timed out"}, + {79, "ECONNREFUSED", "connection refused"}, + {80, "EHOSTDOWN", "host is down"}, + {81, "EHOSTUNREACH", "no route to host"}, + {82, "ERESTART", "restart the system call"}, + {83, "EPROCLIM", "too many processes"}, + {84, "EUSERS", "too many users"}, + {85, "ELOOP", "too many levels of symbolic links"}, + {86, "ENAMETOOLONG", "file name too long"}, + {88, "EDQUOT", "disk quota exceeded"}, + {89, "ECORRUPT", "invalid file system control data detected"}, + {90, "ESYSERROR", "for future use "}, + {93, "EREMOTE", "item is not local to host"}, + {94, "ENOTRECOVERABLE", "state not recoverable "}, + {95, "EOWNERDEAD", "previous owner died "}, + {109, "ENOSYS", "function not implemented"}, + {110, "EMEDIA", "media surface error"}, + {111, "ESOFT", "I/O completed, but needs relocation"}, + {112, "ENOATTR", "no attribute found"}, + {113, "ESAD", "security Authentication Denied"}, + {114, "ENOTRUST", "not a Trusted Program"}, + {115, "ETOOMANYREFS", "too many references: can't splice"}, + {116, "EILSEQ", "invalid wide character"}, + {117, "ECANCELED", "asynchronous I/O cancelled"}, + {118, "ENOSR", "out of STREAMS resources"}, + {119, "ETIME", "system call timed out"}, + {120, "EBADMSG", "next message has wrong type"}, + {121, "EPROTO", "error in protocol"}, + {122, "ENODATA", "no message on stream head read q"}, + {123, "ENOSTR", "fd not associated with a stream"}, + {124, "ENOTSUP", "unsupported attribute value"}, + {125, "EMULTIHOP", "multihop is not allowed"}, + {126, "ENOLINK", "the server link has been severed"}, + {127, "EOVERFLOW", "value too large to be stored in data type"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "IOT/Abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible/complete"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {27, "SIGMSG", "input device data"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGPWR", "power-failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "paging space low"}, + {34, "SIGVTALRM", "virtual timer expired"}, + {35, "SIGMIGRATE", "signal 35"}, + {36, "SIGPRE", "signal 36"}, + {37, "SIGVIRT", "signal 37"}, + {38, "SIGTALRM", "signal 38"}, + {39, "SIGWAITING", "signal 39"}, + {48, "SIGSYSERROR", "signal 48"}, + {49, "SIGCAPI", "signal 49"}, + {58, "SIGRECONFIG", "signal 58"}, + {59, "SIGCPUFAIL", "CPU Failure Predicted"}, + {60, "SIGKAP", "monitor mode granted"}, + {61, "SIGRETRACT", "monitor mode retracted"}, + {62, "SIGSOUND", "sound completed"}, + {63, "SIGSAK", "secure attention"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go new file mode 100644 index 000000000..200c8c26f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go @@ -0,0 +1,1386 @@ +// mkerrors.sh -maix64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc64 && aix +// +build ppc64,aix + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -maix64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BYPASS = 0x19 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_INTF = 0x14 + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x1e + AF_NDD = 0x17 + AF_NETWARE = 0x16 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_RIF = 0x15 + AF_ROUTE = 0x11 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x400000 + ARPHRD_802_3 = 0x6 + ARPHRD_802_5 = 0x6 + ARPHRD_ETHER = 0x1 + ARPHRD_FDDI = 0x1 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x1000 + BSDLY = 0x1000 + CAP_AACCT = 0x6 + CAP_ARM_APPLICATION = 0x5 + CAP_BYPASS_RAC_VMM = 0x3 + CAP_CLEAR = 0x0 + CAP_CREDENTIALS = 0x7 + CAP_EFFECTIVE = 0x1 + CAP_EWLM_AGENT = 0x4 + CAP_INHERITABLE = 0x2 + CAP_MAXIMUM = 0x7 + CAP_NUMA_ATTACH = 0x2 + CAP_PERMITTED = 0x3 + CAP_PROPAGATE = 0x1 + CAP_PROPOGATE = 0x1 + CAP_SET = 0x1 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_MONOTONIC = 0xa + CLOCK_PROCESS_CPUTIME_ID = 0xb + CLOCK_REALTIME = 0x9 + CLOCK_THREAD_CPUTIME_ID = 0xc + CR0 = 0x0 + CR1 = 0x100 + CR2 = 0x200 + CR3 = 0x300 + CRDLY = 0x300 + CREAD = 0x80 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIOCGIFCONF = -0x3fef96dc + CSIZE = 0x30 + CSMAP_DIR = "/usr/lib/nls/csmap/" + CSTART = '\021' + CSTOP = '\023' + CSTOPB = 0x40 + CSUSP = 0x1a + ECHO = 0x8 + ECHOCTL = 0x20000 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x80000 + ECHONL = 0x40 + ECHOPRT = 0x40000 + ECH_ICMPID = 0x2 + ETHERNET_CSMACD = 0x6 + EVENP = 0x80 + EXCONTINUE = 0x0 + EXDLOK = 0x3 + EXIO = 0x2 + EXPGIO = 0x0 + EXRESUME = 0x2 + EXRETURN = 0x1 + EXSIG = 0x4 + EXTA = 0xe + EXTB = 0xf + EXTRAP = 0x1 + EYEC_RTENTRYA = 0x257274656e747241 + EYEC_RTENTRYF = 0x257274656e747246 + E_ACC = 0x0 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0xfffe + FF0 = 0x0 + FF1 = 0x2000 + FFDLY = 0x2000 + FLUSHBAND = 0x40 + FLUSHLOW = 0x8 + FLUSHO = 0x100000 + FLUSHR = 0x1 + FLUSHRW = 0x3 + FLUSHW = 0x2 + F_CLOSEM = 0xa + F_DUP2FD = 0xe + F_DUPFD = 0x0 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETLK64 = 0xb + F_GETOWN = 0x8 + F_LOCK = 0x1 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLK64 = 0xc + F_SETLKW = 0xd + F_SETLKW64 = 0xd + F_SETOWN = 0x9 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_TSTLK = 0xf + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMP6_FILTER = 0x26 + ICMP6_SEC_SEND_DEL = 0x46 + ICMP6_SEC_SEND_GET = 0x47 + ICMP6_SEC_SEND_SET = 0x44 + ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 + ICRNL = 0x100 + IEXTEN = 0x200000 + IFA_FIRSTALIAS = 0x2000 + IFA_ROUTE = 0x1 + IFF_64BIT = 0x4000000 + IFF_ALLCAST = 0x20000 + IFF_ALLMULTI = 0x200 + IFF_BPF = 0x8000000 + IFF_BRIDGE = 0x40000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x80c52 + IFF_CHECKSUM_OFFLOAD = 0x10000000 + IFF_D1 = 0x8000 + IFF_D2 = 0x4000 + IFF_D3 = 0x2000 + IFF_D4 = 0x1000 + IFF_DEBUG = 0x4 + IFF_DEVHEALTH = 0x4000 + IFF_DO_HW_LOOPBACK = 0x10000 + IFF_GROUP_ROUTING = 0x2000000 + IFF_IFBUFMGT = 0x800000 + IFF_LINK0 = 0x100000 + IFF_LINK1 = 0x200000 + IFF_LINK2 = 0x400000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x80000 + IFF_NOARP = 0x80 + IFF_NOECHO = 0x800 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_PSEG = 0x40000000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SNAP = 0x8000 + IFF_TCP_DISABLE_CKSUM = 0x20000000 + IFF_TCP_NOCKSUM = 0x1000000 + IFF_UP = 0x1 + IFF_VIPA = 0x80000000 + IFNAMSIZ = 0x10 + IFO_FLUSH = 0x1 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_CLUSTER = 0x3e + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FCS = 0x3a + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIFTUNNEL = 0x3c + IFT_HDH1822 = 0x3 + IFT_HF = 0x3d + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SN = 0x38 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SP = 0x39 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TUNNEL = 0x3b + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_VIPA = 0x37 + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x10000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_USE = 0x1 + IPPROTO_AH = 0x33 + IPPROTO_BIP = 0x53 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GIF = 0x8c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_LOCAL = 0x3f + IPPROTO_MAX = 0x100 + IPPROTO_MH = 0x87 + IPPROTO_NONE = 0x3b + IPPROTO_PUP = 0xc + IPPROTO_QOS = 0x2d + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_ADDRFORM = 0x16 + IPV6_ADDR_PREFERENCES = 0x4a + IPV6_ADD_MEMBERSHIP = 0xc + IPV6_AIXRAWSOCKET = 0x39 + IPV6_CHECKSUM = 0x27 + IPV6_DONTFRAG = 0x2d + IPV6_DROP_MEMBERSHIP = 0xd + IPV6_DSTOPTS = 0x36 + IPV6_FLOWINFO_FLOWLABEL = 0xffffff + IPV6_FLOWINFO_PRIFLOW = 0xfffffff + IPV6_FLOWINFO_PRIORITY = 0xf000000 + IPV6_FLOWINFO_SRFLAG = 0x10000000 + IPV6_FLOWINFO_VERSION = 0xf0000000 + IPV6_HOPLIMIT = 0x28 + IPV6_HOPOPTS = 0x34 + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MIPDSTOPTS = 0x36 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_NOPROBE = 0x1c + IPV6_PATHMTU = 0x2e + IPV6_PKTINFO = 0x21 + IPV6_PKTOPTIONS = 0x24 + IPV6_PRIORITY_10 = 0xa000000 + IPV6_PRIORITY_11 = 0xb000000 + IPV6_PRIORITY_12 = 0xc000000 + IPV6_PRIORITY_13 = 0xd000000 + IPV6_PRIORITY_14 = 0xe000000 + IPV6_PRIORITY_15 = 0xf000000 + IPV6_PRIORITY_8 = 0x8000000 + IPV6_PRIORITY_9 = 0x9000000 + IPV6_PRIORITY_BULK = 0x4000000 + IPV6_PRIORITY_CONTROL = 0x7000000 + IPV6_PRIORITY_FILLER = 0x1000000 + IPV6_PRIORITY_INTERACTIVE = 0x6000000 + IPV6_PRIORITY_RESERVED1 = 0x3000000 + IPV6_PRIORITY_RESERVED2 = 0x5000000 + IPV6_PRIORITY_UNATTENDED = 0x2000000 + IPV6_PRIORITY_UNCHARACTERIZED = 0x0 + IPV6_RECVDSTOPTS = 0x38 + IPV6_RECVHOPLIMIT = 0x29 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVHOPS = 0x22 + IPV6_RECVIF = 0x1e + IPV6_RECVPATHMTU = 0x2f + IPV6_RECVPKTINFO = 0x23 + IPV6_RECVRTHDR = 0x33 + IPV6_RECVSRCRT = 0x1d + IPV6_RECVTCLASS = 0x2a + IPV6_RTHDR = 0x32 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RTHDR_TYPE_2 = 0x2 + IPV6_SENDIF = 0x1f + IPV6_SRFLAG_LOOSE = 0x0 + IPV6_SRFLAG_STRICT = 0x10000000 + IPV6_TCLASS = 0x2b + IPV6_TOKEN_LENGTH = 0x40 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2c + IPV6_V6ONLY = 0x25 + IPV6_VERSION = 0x60000000 + IP_ADDRFORM = 0x16 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x3c + IP_BLOCK_SOURCE = 0x3a + IP_BROADCAST_IF = 0x10 + IP_CACHE_LINE_SIZE = 0x80 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPMODE = 0x11 + IP_DONTFRAG = 0x19 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x3d + IP_FINDPMTU = 0x1a + IP_HDRINCL = 0x2 + IP_INC_MEMBERSHIPS = 0x14 + IP_INIT_MEMBERSHIP = 0x14 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_HOPS = 0xa + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OPT = 0x1b + IP_OPTIONS = 0x1 + IP_PMTUAGE = 0x1b + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVIFINFO = 0xf + IP_RECVINTERFACE = 0x20 + IP_RECVMACHDR = 0xe + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x22 + IP_RETOPTS = 0x8 + IP_SOURCE_FILTER = 0x48 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x3b + IP_UNICAST_HOPS = 0x4 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x800 + IXANY = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + I_FLUSH = 0x20005305 + LNOFLSH = 0x8000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x10 + MAP_ANONYMOUS = 0x10 + MAP_FILE = 0x0 + MAP_FIXED = 0x100 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_TYPE = 0xf0 + MAP_VARIABLE = 0x0 + MCAST_BLOCK_SOURCE = 0x40 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x3e + MCAST_JOIN_SOURCE_GROUP = 0x42 + MCAST_LEAVE_GROUP = 0x3f + MCAST_LEAVE_SOURCE_GROUP = 0x43 + MCAST_SOURCE_FILTER = 0x49 + MCAST_UNBLOCK_SOURCE = 0x41 + MCL_CURRENT = 0x100 + MCL_FUTURE = 0x200 + MSG_ANY = 0x4 + MSG_ARGEXT = 0x400 + MSG_BAND = 0x2 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOR = 0x8 + MSG_HIPRI = 0x1 + MSG_MAXIOVLEN = 0x10 + MSG_MPEG2 = 0x80 + MSG_NONBLOCK = 0x4000 + MSG_NOSIGNAL = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x200 + MS_ASYNC = 0x10 + MS_EINTR = 0x80 + MS_INVALIDATE = 0x40 + MS_PER_SEC = 0x3e8 + MS_SYNC = 0x20 + NFDBITS = 0x40 + NL0 = 0x0 + NL1 = 0x4000 + NL2 = 0x8000 + NL3 = 0xc000 + NLDLY = 0x4000 + NOFLSH = 0x80 + NOFLUSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + ONOEOT = 0x80000 + OPOST = 0x1 + OXTABS = 0x40000 + O_ACCMODE = 0x23 + O_APPEND = 0x8 + O_CIO = 0x80 + O_CIOR = 0x800000000 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DEFER = 0x2000 + O_DELAY = 0x4000 + O_DIRECT = 0x8000000 + O_DIRECTORY = 0x80000 + O_DSYNC = 0x400000 + O_EFSOFF = 0x400000000 + O_EFSON = 0x200000000 + O_EXCL = 0x400 + O_EXEC = 0x20 + O_LARGEFILE = 0x4000000 + O_NDELAY = 0x8000 + O_NOCACHE = 0x100000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x1000000 + O_NONBLOCK = 0x4 + O_NONE = 0x3 + O_NSHARE = 0x10000 + O_RAW = 0x100000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSHARE = 0x1000 + O_RSYNC = 0x200000 + O_SEARCH = 0x20 + O_SNAPSHOT = 0x40 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_TTY_INIT = 0x0 + O_WRONLY = 0x1 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_64BIT = 0x20 + PR_ADDR = 0x2 + PR_ARGEXT = 0x400 + PR_ATOMIC = 0x1 + PR_CONNREQUIRED = 0x4 + PR_FASTHZ = 0x5 + PR_INP = 0x40 + PR_INTRLEVEL = 0x8000 + PR_MLS = 0x100 + PR_MLS_1_LABEL = 0x200 + PR_NOEOR = 0x4000 + PR_RIGHTS = 0x10 + PR_SLOWHZ = 0x2 + PR_WANTRCVD = 0x8 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x9 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DOWNSTREAM = 0x100 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTC_IA64 = 0x3 + RTC_POWER = 0x1 + RTC_POWER_PC = 0x2 + RTF_ACTIVE_DGD = 0x1000000 + RTF_BCE = 0x80000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_BUL = 0x2000 + RTF_CLONE = 0x10000 + RTF_CLONED = 0x20000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FREE_IN_PROG = 0x4000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PERMANENT6 = 0x8000000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_SMALLMTU = 0x40000 + RTF_STATIC = 0x800 + RTF_STOPSRCH = 0x2000000 + RTF_UNREACHABLE = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_EXPIRE = 0xf + RTM_GET = 0x4 + RTM_GETNEXT = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTLOST = 0x10 + RTM_RTTUNIT = 0xf4240 + RTM_SAMEADDR = 0x12 + RTM_SET = 0x13 + RTM_VERSION = 0x2 + RTM_VERSION_GR = 0x4 + RTM_VERSION_GR_COMPAT = 0x3 + RTM_VERSION_POLICY = 0x5 + RTM_VERSION_POLICY_EXT = 0x6 + RTM_VERSION_POLICY_PRFN = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIGMAX64 = 0xff + SIGQUEUE_MAX = 0x20 + SIOCADDIFVIPA = 0x20006942 + SIOCADDMTU = -0x7ffb9690 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDNETID = -0x7fd796a9 + SIOCADDRT = -0x7fc78df6 + SIOCAIFADDR = -0x7fbf96e6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fb396e0 + SIOCDELIFVIPA = 0x20006943 + SIOCDELMTU = -0x7ffb968f + SIOCDELMULTI = -0x7fdf96ce + SIOCDELPMTU = -0x7fd78ff6 + SIOCDELRT = -0x7fc78df5 + SIOCDIFADDR = -0x7fd796e7 + SIOCDNETOPT = -0x3ffe9680 + SIOCDX25XLATE = -0x7fd7969b + SIOCFIFADDR = -0x7fdf966d + SIOCGARP = -0x3fb396da + SIOCGETMTUS = 0x2000696f + SIOCGETSGCNT = -0x3feb8acc + SIOCGETVIFCNT = -0x3feb8acd + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fd796df + SIOCGIFADDRS = 0x2000698c + SIOCGIFBAUDRATE = -0x3fdf9669 + SIOCGIFBRDADDR = -0x3fd796dd + SIOCGIFCONF = -0x3fef96bb + SIOCGIFCONFGLOB = -0x3fef9670 + SIOCGIFDSTADDR = -0x3fd796de + SIOCGIFFLAGS = -0x3fd796ef + SIOCGIFGIDLIST = 0x20006968 + SIOCGIFHWADDR = -0x3fab966b + SIOCGIFMETRIC = -0x3fd796e9 + SIOCGIFMTU = -0x3fd796aa + SIOCGIFNETMASK = -0x3fd796db + SIOCGIFOPTIONS = -0x3fd796d6 + SIOCGISNO = -0x3fd79695 + SIOCGLOADF = -0x3ffb967e + SIOCGLOWAT = 0x40047303 + SIOCGNETOPT = -0x3ffe96a5 + SIOCGNETOPT1 = -0x3fdf967f + SIOCGNMTUS = 0x2000696e + SIOCGPGRP = 0x40047309 + SIOCGSIZIFCONF = 0x4004696a + SIOCGSRCFILTER = -0x3fe796cb + SIOCGTUNEPHASE = -0x3ffb9676 + SIOCGX25XLATE = -0x3fd7969c + SIOCIFATTACH = -0x7fdf9699 + SIOCIFDETACH = -0x7fdf969a + SIOCIFGETPKEY = -0x7fdf969b + SIOCIF_ATM_DARP = -0x7fdf9683 + SIOCIF_ATM_DUMPARP = -0x7fdf9685 + SIOCIF_ATM_GARP = -0x7fdf9682 + SIOCIF_ATM_IDLE = -0x7fdf9686 + SIOCIF_ATM_SARP = -0x7fdf9681 + SIOCIF_ATM_SNMPARP = -0x7fdf9687 + SIOCIF_ATM_SVC = -0x7fdf9684 + SIOCIF_ATM_UBR = -0x7fdf9688 + SIOCIF_DEVHEALTH = -0x7ffb966c + SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 + SIOCIF_IB_ARP_TIMER = -0x7fdf9678 + SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f + SIOCIF_IB_DEL_ARP = -0x7fdf967f + SIOCIF_IB_DEL_PINFO = -0x3fdf9670 + SIOCIF_IB_DUMP_ARP = -0x7fdf9680 + SIOCIF_IB_GET_ARP = -0x7fdf967e + SIOCIF_IB_GET_INFO = -0x3f879675 + SIOCIF_IB_GET_STATS = -0x3f879672 + SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a + SIOCIF_IB_RESET_STATS = -0x3f879671 + SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 + SIOCIF_IB_SET_ARP = -0x7fdf967d + SIOCIF_IB_SET_PKEY = -0x7fdf967c + SIOCIF_IB_SET_PORT = -0x7fdf967b + SIOCIF_IB_SET_QKEY = -0x7fdf9676 + SIOCIF_IB_SET_QSIZE = -0x7fdf967a + SIOCLISTIFVIPA = 0x20006944 + SIOCSARP = -0x7fb396e2 + SIOCSHIWAT = 0xffffffff80047300 + SIOCSIFADDR = -0x7fd796f4 + SIOCSIFADDRORI = -0x7fdb9673 + SIOCSIFBRDADDR = -0x7fd796ed + SIOCSIFDSTADDR = -0x7fd796f2 + SIOCSIFFLAGS = -0x7fd796f0 + SIOCSIFGIDLIST = 0x20006969 + SIOCSIFMETRIC = -0x7fd796e8 + SIOCSIFMTU = -0x7fd796a8 + SIOCSIFNETDUMP = -0x7fd796e4 + SIOCSIFNETMASK = -0x7fd796ea + SIOCSIFOPTIONS = -0x7fd796d7 + SIOCSIFSUBCHAN = -0x7fd796e5 + SIOCSISNO = -0x7fd79694 + SIOCSLOADF = -0x3ffb967d + SIOCSLOWAT = 0xffffffff80047302 + SIOCSNETOPT = -0x7ffe96a6 + SIOCSPGRP = 0xffffffff80047308 + SIOCSX25XLATE = -0x7fd7969d + SOCK_CONN_DGRAM = 0x6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x400 + SO_ACCEPTCONN = 0x2 + SO_AUDIT = 0x8000 + SO_BROADCAST = 0x20 + SO_CKSUMRECV = 0x800 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_KERNACCEPT = 0x2000 + SO_LINGER = 0x80 + SO_NOMULTIPATH = 0x4000 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x100 + SO_PEERID = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMPNS = 0x100a + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USE_IFBUFS = 0x400 + S_BANDURG = 0x400 + S_EMODFMT = 0x3c000000 + S_ENFMT = 0x400 + S_ERROR = 0x100 + S_HANGUP = 0x200 + S_HIPRI = 0x2 + S_ICRYPTO = 0x80000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFJOURNAL = 0x10000 + S_IFLNK = 0xa000 + S_IFMPX = 0x2200 + S_IFMT = 0xf000 + S_IFPDIR = 0x4000000 + S_IFPSDIR = 0x8000000 + S_IFPSSDIR = 0xc000000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFSYSEA = 0x30000000 + S_INPUT = 0x1 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_ITCB = 0x1000000 + S_ITP = 0x800000 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXACL = 0x2000000 + S_IXATTR = 0x40000 + S_IXGRP = 0x8 + S_IXINTERFACE = 0x100000 + S_IXMOD = 0x40000000 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_MSG = 0x8 + S_OUTPUT = 0x4 + S_RDBAND = 0x20 + S_RDNORM = 0x10 + S_RESERVED1 = 0x20000 + S_RESERVED2 = 0x200000 + S_RESERVED3 = 0x400000 + S_RESERVED4 = 0x80000000 + S_RESFMT1 = 0x10000000 + S_RESFMT10 = 0x34000000 + S_RESFMT11 = 0x38000000 + S_RESFMT12 = 0x3c000000 + S_RESFMT2 = 0x14000000 + S_RESFMT3 = 0x18000000 + S_RESFMT4 = 0x1c000000 + S_RESFMT5 = 0x20000000 + S_RESFMT6 = 0x24000000 + S_RESFMT7 = 0x28000000 + S_RESFMT8 = 0x2c000000 + S_WRBAND = 0x80 + S_WRNORM = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x540c + TCGETA = 0x5405 + TCGETS = 0x5401 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 + TCP_ACLADD = 0x23 + TCP_ACLBIND = 0x26 + TCP_ACLCLEAR = 0x22 + TCP_ACLDEL = 0x24 + TCP_ACLDENY = 0x8 + TCP_ACLFLUSH = 0x21 + TCP_ACLGID = 0x1 + TCP_ACLLS = 0x25 + TCP_ACLSUBNET = 0x4 + TCP_ACLUID = 0x2 + TCP_CWND_DF = 0x16 + TCP_CWND_IF = 0x15 + TCP_DELAY_ACK_FIN = 0x2 + TCP_DELAY_ACK_SYN = 0x1 + TCP_FASTNAME = 0x101080a + TCP_KEEPCNT = 0x13 + TCP_KEEPIDLE = 0x11 + TCP_KEEPINTVL = 0x12 + TCP_LSPRIV = 0x29 + TCP_LUID = 0x20 + TCP_MAXBURST = 0x8 + TCP_MAXDF = 0x64 + TCP_MAXIF = 0x64 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAXWINDOWSCALE = 0xe + TCP_MAX_SACK = 0x4 + TCP_MSS = 0x5b4 + TCP_NODELAY = 0x1 + TCP_NODELAYACK = 0x14 + TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 + TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 + TCP_NOTENTER_SSTART = 0x17 + TCP_OPT = 0x19 + TCP_RFC1323 = 0x4 + TCP_SETPRIV = 0x27 + TCP_STDURG = 0x10 + TCP_TIMESTAMP_OPTLEN = 0xc + TCP_UNSETPRIV = 0x28 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETSF = 0x5404 + TCSETSW = 0x5403 + TCXONC = 0x540b + TIMER_ABSTIME = 0x3e7 + TIMER_MAX = 0x20 + TIOC = 0x5400 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0xffffffff80047462 + TIOCEXCL = 0x2000740d + TIOCFLUSH = 0xffffffff80047410 + TIOCGETC = 0x40067412 + TIOCGETD = 0x40047400 + TIOCGETP = 0x40067408 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047448 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCHPCL = 0x20007402 + TIOCLBIC = 0xffffffff8004747e + TIOCLBIS = 0xffffffff8004747f + TIOCLGET = 0x4004747c + TIOCLSET = 0xffffffff8004747d + TIOCMBIC = 0xffffffff8004746b + TIOCMBIS = 0xffffffff8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0xffffffff80047464 + TIOCMODG = 0x40047403 + TIOCMODS = 0xffffffff80047404 + TIOCMSET = 0xffffffff8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0xffffffff80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0xffffffff80047469 + TIOCSBRK = 0x2000747b + TIOCSDTR = 0x20007479 + TIOCSETC = 0xffffffff80067411 + TIOCSETD = 0xffffffff80047401 + TIOCSETN = 0xffffffff8006740a + TIOCSETP = 0xffffffff80067409 + TIOCSLTC = 0xffffffff80067475 + TIOCSPGRP = 0xffffffff80047476 + TIOCSSIZE = 0xffffffff80087467 + TIOCSTART = 0x2000746e + TIOCSTI = 0xffffffff80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0xffffffff80087467 + TIOCUCNTL = 0xffffffff80047466 + TOSTOP = 0x10000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x3 + VDISCRD = 0xc + VDSUSP = 0xa + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xe + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0x7 + VSTOP = 0x8 + VSTRT = 0x7 + VSUSP = 0x9 + VT0 = 0x0 + VT1 = 0x8000 + VTDELAY = 0x2000 + VTDLY = 0x8000 + VTIME = 0x5 + VWERSE = 0xd + WPARSTART = 0x1 + WPARSTOP = 0x2 + WPARTTYNAME = "Global" + XCASE = 0x4 + XTABS = 0xc00 + _FDATAFLUSH = 0x2000000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x43) + EADDRNOTAVAIL = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x42) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x38) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x78) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x75) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECLONEME = syscall.Errno(0x52) + ECONNABORTED = syscall.Errno(0x48) + ECONNREFUSED = syscall.Errno(0x4f) + ECONNRESET = syscall.Errno(0x49) + ECORRUPT = syscall.Errno(0x59) + EDEADLK = syscall.Errno(0x2d) + EDESTADDREQ = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x3a) + EDIST = syscall.Errno(0x35) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x58) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFORMAT = syscall.Errno(0x30) + EHOSTDOWN = syscall.Errno(0x50) + EHOSTUNREACH = syscall.Errno(0x51) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x74) + EINPROGRESS = syscall.Errno(0x37) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x4b) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x55) + EMEDIA = syscall.Errno(0x6e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x3b) + EMULTIHOP = syscall.Errno(0x7d) + ENAMETOOLONG = syscall.Errno(0x56) + ENETDOWN = syscall.Errno(0x45) + ENETRESET = syscall.Errno(0x47) + ENETUNREACH = syscall.Errno(0x46) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x70) + ENOBUFS = syscall.Errno(0x4a) + ENOCONNECT = syscall.Errno(0x32) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x7a) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x31) + ENOLINK = syscall.Errno(0x7e) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENOPROTOOPT = syscall.Errno(0x3d) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x76) + ENOSTR = syscall.Errno(0x7b) + ENOSYS = syscall.Errno(0x6d) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x4c) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x11) + ENOTREADY = syscall.Errno(0x2e) + ENOTRECOVERABLE = syscall.Errno(0x5e) + ENOTRUST = syscall.Errno(0x72) + ENOTSOCK = syscall.Errno(0x39) + ENOTSUP = syscall.Errno(0x7c) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x40) + EOVERFLOW = syscall.Errno(0x7f) + EOWNERDEAD = syscall.Errno(0x5f) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x41) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x53) + EPROTO = syscall.Errno(0x79) + EPROTONOSUPPORT = syscall.Errno(0x3e) + EPROTOTYPE = syscall.Errno(0x3c) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x5d) + ERESTART = syscall.Errno(0x52) + EROFS = syscall.Errno(0x1e) + ESAD = syscall.Errno(0x71) + ESHUTDOWN = syscall.Errno(0x4d) + ESOCKTNOSUPPORT = syscall.Errno(0x3f) + ESOFT = syscall.Errno(0x6f) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x34) + ESYSERROR = syscall.Errno(0x5a) + ETIME = syscall.Errno(0x77) + ETIMEDOUT = syscall.Errno(0x4e) + ETOOMANYREFS = syscall.Errno(0x73) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x54) + EWOULDBLOCK = syscall.Errno(0xb) + EWRPROTECT = syscall.Errno(0x2f) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGAIO = syscall.Signal(0x17) + SIGALRM = syscall.Signal(0xe) + SIGALRM1 = syscall.Signal(0x26) + SIGBUS = syscall.Signal(0xa) + SIGCAPI = syscall.Signal(0x31) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGCPUFAIL = syscall.Signal(0x3b) + SIGDANGER = syscall.Signal(0x21) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGGRANT = syscall.Signal(0x3c) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOINT = syscall.Signal(0x10) + SIGIOT = syscall.Signal(0x6) + SIGKAP = syscall.Signal(0x3c) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x6) + SIGMAX = syscall.Signal(0xff) + SIGMAX32 = syscall.Signal(0x3f) + SIGMIGRATE = syscall.Signal(0x23) + SIGMSG = syscall.Signal(0x1b) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPRE = syscall.Signal(0x24) + SIGPROF = syscall.Signal(0x20) + SIGPTY = syscall.Signal(0x17) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGRECONFIG = syscall.Signal(0x3a) + SIGRETRACT = syscall.Signal(0x3d) + SIGSAK = syscall.Signal(0x3f) + SIGSEGV = syscall.Signal(0xb) + SIGSOUND = syscall.Signal(0x3e) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGSYSERROR = syscall.Signal(0x30) + SIGTALRM = syscall.Signal(0x26) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVIRT = syscall.Signal(0x25) + SIGVTALRM = syscall.Signal(0x22) + SIGWAITING = syscall.Signal(0x27) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EWOULDBLOCK", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "ENOTEMPTY", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "not a typewriter"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock condition if locked"}, + {46, "ENOTREADY", "device not ready"}, + {47, "EWRPROTECT", "write-protected media"}, + {48, "EFORMAT", "unformatted or incompatible media"}, + {49, "ENOLCK", "no locks available"}, + {50, "ENOCONNECT", "cannot Establish Connection"}, + {52, "ESTALE", "missing file or filesystem"}, + {53, "EDIST", "requests blocked by Administrator"}, + {55, "EINPROGRESS", "operation now in progress"}, + {56, "EALREADY", "operation already in progress"}, + {57, "ENOTSOCK", "socket operation on non-socket"}, + {58, "EDESTADDREQ", "destination address required"}, + {59, "EMSGSIZE", "message too long"}, + {60, "EPROTOTYPE", "protocol wrong type for socket"}, + {61, "ENOPROTOOPT", "protocol not available"}, + {62, "EPROTONOSUPPORT", "protocol not supported"}, + {63, "ESOCKTNOSUPPORT", "socket type not supported"}, + {64, "EOPNOTSUPP", "operation not supported on socket"}, + {65, "EPFNOSUPPORT", "protocol family not supported"}, + {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, + {67, "EADDRINUSE", "address already in use"}, + {68, "EADDRNOTAVAIL", "can't assign requested address"}, + {69, "ENETDOWN", "network is down"}, + {70, "ENETUNREACH", "network is unreachable"}, + {71, "ENETRESET", "network dropped connection on reset"}, + {72, "ECONNABORTED", "software caused connection abort"}, + {73, "ECONNRESET", "connection reset by peer"}, + {74, "ENOBUFS", "no buffer space available"}, + {75, "EISCONN", "socket is already connected"}, + {76, "ENOTCONN", "socket is not connected"}, + {77, "ESHUTDOWN", "can't send after socket shutdown"}, + {78, "ETIMEDOUT", "connection timed out"}, + {79, "ECONNREFUSED", "connection refused"}, + {80, "EHOSTDOWN", "host is down"}, + {81, "EHOSTUNREACH", "no route to host"}, + {82, "ERESTART", "restart the system call"}, + {83, "EPROCLIM", "too many processes"}, + {84, "EUSERS", "too many users"}, + {85, "ELOOP", "too many levels of symbolic links"}, + {86, "ENAMETOOLONG", "file name too long"}, + {88, "EDQUOT", "disk quota exceeded"}, + {89, "ECORRUPT", "invalid file system control data detected"}, + {90, "ESYSERROR", "for future use "}, + {93, "EREMOTE", "item is not local to host"}, + {94, "ENOTRECOVERABLE", "state not recoverable "}, + {95, "EOWNERDEAD", "previous owner died "}, + {109, "ENOSYS", "function not implemented"}, + {110, "EMEDIA", "media surface error"}, + {111, "ESOFT", "I/O completed, but needs relocation"}, + {112, "ENOATTR", "no attribute found"}, + {113, "ESAD", "security Authentication Denied"}, + {114, "ENOTRUST", "not a Trusted Program"}, + {115, "ETOOMANYREFS", "too many references: can't splice"}, + {116, "EILSEQ", "invalid wide character"}, + {117, "ECANCELED", "asynchronous I/O cancelled"}, + {118, "ENOSR", "out of STREAMS resources"}, + {119, "ETIME", "system call timed out"}, + {120, "EBADMSG", "next message has wrong type"}, + {121, "EPROTO", "error in protocol"}, + {122, "ENODATA", "no message on stream head read q"}, + {123, "ENOSTR", "fd not associated with a stream"}, + {124, "ENOTSUP", "unsupported attribute value"}, + {125, "EMULTIHOP", "multihop is not allowed"}, + {126, "ENOLINK", "the server link has been severed"}, + {127, "EOVERFLOW", "value too large to be stored in data type"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "IOT/Abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible/complete"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {27, "SIGMSG", "input device data"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGPWR", "power-failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "paging space low"}, + {34, "SIGVTALRM", "virtual timer expired"}, + {35, "SIGMIGRATE", "signal 35"}, + {36, "SIGPRE", "signal 36"}, + {37, "SIGVIRT", "signal 37"}, + {38, "SIGTALRM", "signal 38"}, + {39, "SIGWAITING", "signal 39"}, + {48, "SIGSYSERROR", "signal 48"}, + {49, "SIGCAPI", "signal 49"}, + {58, "SIGRECONFIG", "signal 58"}, + {59, "SIGCPUFAIL", "CPU Failure Predicted"}, + {60, "SIGGRANT", "monitor mode granted"}, + {61, "SIGRETRACT", "monitor mode retracted"}, + {62, "SIGSOUND", "sound completed"}, + {63, "SIGMAX32", "secure attention"}, + {255, "SIGMAX", "signal 255"}, +} diff --git a/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 000000000..5bb48ef54 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -0,0 +1,1865 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && darwin +// +build amd64,darwin + +// Code generated by cmd/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 = 0x29 + 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_SYS_CONTROL = 0x2 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + AF_VSOCK = 0x28 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x51c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CLONE_NOFOLLOW = 0x1 + CLONE_NOOWNERCOPY = 0x2 + 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 + CTLIOCGINFO = 0xc0644e03 + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x10a + 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_DARWIN = 0x10a + 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 = 0x11 + EVFILT_THREADMARKER = 0x11 + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + FSOPT_RETURN_REALDEV = 0x200 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_INFO = 0x67 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDFILESUPPL = 0x68 + 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_GETPATH_NOFIRMLINK = 0x66 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GETSIGSINFO = 0x69 + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_SPECULATIVE_READ = 0x65 + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_6LOWPAN = 0x40 + 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_3542DSTOPTS = 0x32 + IPV6_3542HOPLIMIT = 0x2f + IPV6_3542HOPOPTS = 0x31 + IPV6_3542NEXTHOP = 0x30 + IPV6_3542PKTINFO = 0x2e + IPV6_3542RTHDR = 0x33 + IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 + IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 + IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + 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_FLOW_ECN_MASK = 0x3000 + 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_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 = 0x3d + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x39 + 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_USE_MIN_MTU = 0x2a + 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_DONTFRAG = 0x1c + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCAL_PEERCRED = 0x1 + LOCAL_PEEREPID = 0x3 + LOCAL_PEEREUUID = 0x5 + LOCAL_PEERPID = 0x2 + LOCAL_PEERTOKEN = 0x6 + LOCAL_PEERUUID = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_32BIT = 0x8000 + 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 + MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 + MAP_UNIX03 = 0x40000 + MCAST_BLOCK_SOURCE = 0x54 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x50 + MCAST_JOIN_SOURCE_GROUP = 0x52 + MCAST_LEAVE_GROUP = 0x51 + MCAST_LEAVE_SOURCE_GROUP = 0x53 + MCAST_UNBLOCK_SOURCE = 0x55 + MCAST_UNDEFINED = 0x0 + 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_EXT_ROOT_DATA_VOL = 0x1 + 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_REMOVABLE = 0x200 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x40000000 + MNT_STRICTATIME = 0x80000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xd7f0f7ff + 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_NOSIGNAL = 0x80000 + 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_FLAGS_PRIV = 0xa + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xb + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NFDBITS = 0x20 + 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_MACHTIME = 0x100 + 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_NOFOLLOW_ANY = 0x20000000 + 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_DEAD = 0x20000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLDATA = 0x400 + 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 + SEEK_CUR = 0x1 + SEEK_DATA = 0x4 + SEEK_END = 0x2 + SEEK_HOLE = 0x3 + SEEK_SET = 0x0 + 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 + SIOCGIF6LOWPAN = 0xc02069c5 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFFUNCTIONALTYPE = 0xc02069ad + 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 + SIOCGIFXMEDIA = 0xc02c6948 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIF6LOWPAN = 0x802069c4 + 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_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/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 000000000..11e570979 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -0,0 +1,1865 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && darwin +// +build arm64,darwin + +// Code generated by cmd/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 = 0x29 + 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_SYS_CONTROL = 0x2 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + AF_VSOCK = 0x28 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x51c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CLONE_NOFOLLOW = 0x1 + CLONE_NOOWNERCOPY = 0x2 + 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 + CTLIOCGINFO = 0xc0644e03 + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x10a + 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_DARWIN = 0x10a + 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 = 0x11 + EVFILT_THREADMARKER = 0x11 + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + FSOPT_RETURN_REALDEV = 0x200 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_INFO = 0x67 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDFILESUPPL = 0x68 + 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_GETPATH_NOFIRMLINK = 0x66 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GETSIGSINFO = 0x69 + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_SPECULATIVE_READ = 0x65 + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_6LOWPAN = 0x40 + 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_3542DSTOPTS = 0x32 + IPV6_3542HOPLIMIT = 0x2f + IPV6_3542HOPOPTS = 0x31 + IPV6_3542NEXTHOP = 0x30 + IPV6_3542PKTINFO = 0x2e + IPV6_3542RTHDR = 0x33 + IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 + IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 + IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + 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_FLOW_ECN_MASK = 0x3000 + 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_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 = 0x3d + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x39 + 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_USE_MIN_MTU = 0x2a + 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_DONTFRAG = 0x1c + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCAL_PEERCRED = 0x1 + LOCAL_PEEREPID = 0x3 + LOCAL_PEEREUUID = 0x5 + LOCAL_PEERPID = 0x2 + LOCAL_PEERTOKEN = 0x6 + LOCAL_PEERUUID = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_32BIT = 0x8000 + 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 + MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 + MAP_UNIX03 = 0x40000 + MCAST_BLOCK_SOURCE = 0x54 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x50 + MCAST_JOIN_SOURCE_GROUP = 0x52 + MCAST_LEAVE_GROUP = 0x51 + MCAST_LEAVE_SOURCE_GROUP = 0x53 + MCAST_UNBLOCK_SOURCE = 0x55 + MCAST_UNDEFINED = 0x0 + 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_EXT_ROOT_DATA_VOL = 0x1 + 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_REMOVABLE = 0x200 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x40000000 + MNT_STRICTATIME = 0x80000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xd7f0f7ff + 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_NOSIGNAL = 0x80000 + 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_FLAGS_PRIV = 0xa + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xb + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NFDBITS = 0x20 + 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_MACHTIME = 0x100 + 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_NOFOLLOW_ANY = 0x20000000 + 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_DEAD = 0x20000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLDATA = 0x400 + 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 + SEEK_CUR = 0x1 + SEEK_DATA = 0x4 + SEEK_END = 0x2 + SEEK_HOLE = 0x3 + SEEK_SET = 0x0 + 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 + SIOCGIF6LOWPAN = 0xc02069c5 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFFUNCTIONALTYPE = 0xc02069ad + 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 + SIOCGIFXMEDIA = 0xc02c6948 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIF6LOWPAN = 0x802069c4 + 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_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go new file mode 100644 index 000000000..17bba0e44 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go @@ -0,0 +1,1738 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && dragonfly +// +build amd64,dragonfly + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x21 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x23 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x22 + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + 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 = 0xc0104279 + BIOCGETIF = 0x4020426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DEFAULTBUFSIZE = 0x1000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MAX_CLONES = 0x80 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_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_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + 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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_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_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_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 = 0x12 + 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_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 = 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_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_DBF = 0xf + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0x8 + EVFILT_FS = -0xa + EVFILT_MARKER = 0xf + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xa + EVFILT_TIMER = -0x7 + EVFILT_USER = -0x9 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_HUP = 0x800 + EV_NODATA = 0x1000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf800 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTEXIT_LWP = 0x10000 + EXTEXIT_PROC = 0x0 + EXTEXIT_SETINT = 0x1 + EXTEXIT_SIMPLE = 0x0 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x318e72 + IFF_DEBUG = 0x4 + IFF_IDIRECT = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NPOLLING = 0x100000 + IFF_OACTIVE = 0x400 + IFF_OACTIVE_COMPAT = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_POLLING = 0x10000 + IFF_POLLING_COMPAT = 0x10000 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SMART = 0x20 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xf3 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + 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 = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SKIP = 0x39 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UNKNOWN = 0x102 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_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_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHLIM = 0x28 + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PKTOPTIONS = 0x34 + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_RESETLOG = 0x37 + IP_FW_TBL_ADD = 0x2a + IP_FW_TBL_CREATE = 0x28 + IP_FW_TBL_DEL = 0x2b + IP_FW_TBL_DESTROY = 0x29 + IP_FW_TBL_EXPIRE = 0x2f + IP_FW_TBL_FLUSH = 0x2c + IP_FW_TBL_GET = 0x2d + IP_FW_TBL_ZERO = 0x2e + IP_FW_X = 0x31 + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CONTROL_END = 0xb + MADV_CONTROL_START = 0xa + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_INVAL = 0xa + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SETMAP = 0xb + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_NOCORE = 0x20000 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_NOSYNC = 0x800 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_SIZEALIGN = 0x40000 + MAP_STACK = 0x400 + MAP_TRYFIXED = 0x10000 + MAP_VPAGETABLE = 0x2000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x20 + MNT_CMDFLAGS = 0xf0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x4 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SYNCHRONOUS = 0x2 + MNT_TRIM = 0x1000000 + MNT_UPDATE = 0x10000 + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0xf1f0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x1000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FBLOCKING = 0x10000 + MSG_FMASK = 0xffff0000 + MSG_FNONBLOCKING = 0x20000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_SYNC = 0x800 + MSG_TRUNC = 0x10 + MSG_UNUSED09 = 0x200 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x4 + NFDBITS = 0x40 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x20000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x8000000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FAPPEND = 0x100000 + O_FASYNCWRITE = 0x800000 + O_FBLOCKING = 0x40000 + O_FMASK = 0xfc0000 + O_FNONBLOCKING = 0x80000 + O_FOFFSET = 0x200000 + O_FSYNC = 0x80 + O_FSYNCWRITE = 0x400000 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0xb + RTAX_MPLS1 = 0x8 + RTAX_MPLS2 = 0x9 + RTAX_MPLS3 = 0xa + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_MPLS1 = 0x100 + RTA_MPLS2 = 0x200 + RTA_MPLS3 = 0x400 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPLSOPS = 0x1000000 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_IWCAPSEGS = 0x400 + RTV_IWMAXSEGS = 0x200 + RTV_MSL = 0x100 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCALIFADDR = 0x8118691b + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8118691d + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALIAS = 0xc0406929 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc0206926 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPOLLCPU = 0xc020697e + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFTSOLEN = 0xc0206980 + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFPOLLCPU = 0x8020697d + SIOCSIFTSOLEN = 0x8020697f + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_CPUHINT = 0x1030 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RERROR = 0x2000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDSPACE = 0x100a + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDB = 0x9000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_FASTKEEP = 0x80 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x20 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0x100 + TCP_MIN_WINSHIFT = 0x5 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_SIGNATURE_ENABLE = 0x10 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCISPTMASTER = 0x20007455 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + UTIME_NOW = -0x1 + UTIME_OMIT = -0x2 + VCHECKPT = 0x13 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_BCACHE_SIZE_MAX = 0x0 + VM_SWZONE_SIZE_MAX = 0x4000000000 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + 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) + EASYNC = syscall.Errno(0x63) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x63) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEDIUM = syscall.Errno(0x5d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCKPT = syscall.Signal(0x21) + SIGCKPTEXIT = syscall.Signal(0x22) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOMEDIUM", "no medium found"}, + {99, "EASYNC", "unknown error: 99"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread Scheduler"}, + {33, "SIGCKPT", "checkPoint"}, + {34, "SIGCKPTEXIT", "checkPointExit"}, +} diff --git a/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 000000000..440900112 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go @@ -0,0 +1,1948 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && freebsd +// +build 386,freebsd + +// Code generated by cmd/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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DIOCGATTR = 0xc144648e + DIOCGDELETE = 0x80106488 + DIOCGFLUSH = 0x20006487 + DIOCGFRONTSTUFF = 0x40086486 + DIOCGFWHEADS = 0x40046483 + DIOCGFWSECTORS = 0x40046482 + DIOCGIDENT = 0x41006489 + DIOCGMEDIASIZE = 0x40086481 + DIOCGPHYSPATH = 0x4400648d + DIOCGPROVIDERNAME = 0x4400648a + DIOCGSECTORSIZE = 0x40046480 + DIOCGSTRIPEOFFSET = 0x4008648c + DIOCGSTRIPESIZE = 0x4008648b + DIOCSKERNELDUMP = 0x804c6490 + DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 + DIOCZONECMD = 0xc06c648f + 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_DISPLAYPORT_AUX = 0x113 + DLT_DOCSIS = 0x8f + DLT_DOCSIS31_XRA31 = 0x111 + 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_ETHERNET_MPACKET = 0x112 + 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_LORATAP = 0x10e + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x113 + 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_NORDIC_BLE = 0x110 + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + 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_SDLC = 0x10c + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TI_LLN_SNIFFER = 0x10d + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_DARWIN = 0x10a + 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_VSOCK = 0x10f + 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_EMPTY = -0xd + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xd + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVNAMEMAP_NAME_SIZE = 0x40 + 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_MAXNAMELEN = 0xff + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFCAP_WOL_MAGIC = 0x2000 + 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_NOGROUP = 0x800000 + 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_LEN = 0x14 + 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_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_ORIGDSTADDR = 0x48 + 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_RECVORIGDSTADDR = 0x48 + 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_MF = 0x2000 + IP_MINTTL = 0x42 + 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_ORIGDSTADDR = 0x1b + 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_RECVORIGDSTADDR = 0x1b + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCAL_CONNWAIT = 0x4 + LOCAL_CREDS = 0x2 + LOCAL_CREDS_PERSISTENT = 0x3 + LOCAL_PEERCRED = 0x1 + LOCAL_VENDOR = 0x80000000 + 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 + MCAST_BLOCK_SOURCE = 0x54 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x50 + MCAST_JOIN_SOURCE_GROUP = 0x52 + MCAST_LEAVE_GROUP = 0x51 + MCAST_LEAVE_SOURCE_GROUP = 0x53 + MCAST_UNBLOCK_SOURCE = 0x55 + MCAST_UNDEFINED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNTRUSTED = 0x800000000 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0xad8d0807e + MNT_USER = 0x8000 + MNT_VERIFIED = 0x400000000 + MNT_VISFLAGMASK = 0xffef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSTIME = 0x10 + 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_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_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_MONOTONIC = 0x6 + SCM_REALTIME = 0x5 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIME_INFO = 0x7 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_SET = 0x0 + 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 + SIOCGIFRSSHASH = 0xc0186997 + SIOCGIFRSSKEY = 0xc0946996 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLANPCP = 0xc0206998 + 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 + SIOCSLANPCP = 0x80206999 + 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_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DOMAIN = 0x1019 + 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_MAX_PACING_RATE = 0x1018 + 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_REUSEPORT_LB = 0x10000 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TS_BINTIME = 0x1 + SO_TS_CLOCK = 0x1017 + SO_TS_CLOCK_MAX = 0x3 + SO_TS_DEFAULT = 0x0 + SO_TS_MONOTONIC = 0x3 + SO_TS_REALTIME = 0x2 + SO_TS_REALTIME_MICRO = 0x0 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_BBR_ACK_COMP_ALG = 0x448 + TCP_BBR_DRAIN_INC_EXTRA = 0x43c + TCP_BBR_DRAIN_PG = 0x42e + TCP_BBR_EXTRA_GAIN = 0x449 + TCP_BBR_IWINTSO = 0x42b + TCP_BBR_LOWGAIN_FD = 0x436 + TCP_BBR_LOWGAIN_HALF = 0x435 + TCP_BBR_LOWGAIN_THRESH = 0x434 + TCP_BBR_MAX_RTO = 0x439 + TCP_BBR_MIN_RTO = 0x438 + TCP_BBR_ONE_RETRAN = 0x431 + TCP_BBR_PACE_CROSS = 0x442 + TCP_BBR_PACE_DEL_TAR = 0x43f + TCP_BBR_PACE_PER_SEC = 0x43e + TCP_BBR_PACE_SEG_MAX = 0x440 + TCP_BBR_PACE_SEG_MIN = 0x441 + TCP_BBR_PROBE_RTT_GAIN = 0x44d + TCP_BBR_PROBE_RTT_INT = 0x430 + TCP_BBR_PROBE_RTT_LEN = 0x44e + TCP_BBR_RACK_RTT_USE = 0x44a + TCP_BBR_RECFORCE = 0x42c + TCP_BBR_REC_OVER_HPTS = 0x43a + TCP_BBR_RETRAN_WTSO = 0x44b + TCP_BBR_RWND_IS_APP = 0x42f + TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d + TCP_BBR_STARTUP_LOSS_EXIT = 0x432 + TCP_BBR_STARTUP_PG = 0x42d + TCP_BBR_UNLIMITED = 0x43b + TCP_BBR_USEDEL_RATE = 0x437 + TCP_BBR_USE_LOWGAIN = 0x433 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_DATA_AFTER_CLOSE = 0x44c + TCP_DELACK = 0x48 + TCP_FASTOPEN = 0x401 + TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 + TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 + TCP_FASTOPEN_PSK_LEN = 0x10 + 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_LOG = 0x22 + TCP_LOGBUF = 0x23 + TCP_LOGDUMP = 0x25 + TCP_LOGDUMPID = 0x26 + TCP_LOGID = 0x24 + TCP_LOG_ID_LEN = 0x40 + 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_RACK_EARLY_RECOV = 0x423 + TCP_RACK_EARLY_SEG = 0x424 + TCP_RACK_IDLE_REDUCE_HIGH = 0x444 + TCP_RACK_MIN_PACE = 0x445 + TCP_RACK_MIN_PACE_SEG = 0x446 + TCP_RACK_MIN_TO = 0x422 + TCP_RACK_PACE_ALWAYS = 0x41f + TCP_RACK_PACE_MAX_SEG = 0x41e + TCP_RACK_PACE_REDUCE = 0x41d + TCP_RACK_PKT_DELAY = 0x428 + TCP_RACK_PROP = 0x41b + TCP_RACK_PROP_RATE = 0x420 + TCP_RACK_PRR_SENDALOT = 0x421 + TCP_RACK_REORD_FADE = 0x426 + TCP_RACK_REORD_THRESH = 0x425 + TCP_RACK_SESS_CWV = 0x42a + TCP_RACK_TLP_INC_VAR = 0x429 + TCP_RACK_TLP_REDUCE = 0x41c + TCP_RACK_TLP_THRESH = 0x427 + TCP_RACK_TLP_USE = 0x447 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + 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 + UTIME_NOW = -0x1 + UTIME_OMIT = -0x2 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_BCACHE_SIZE_MAX = 0x70e0000 + VM_SWZONE_SIZE_MAX = 0x2280000 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/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 000000000..64520d312 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go @@ -0,0 +1,1947 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && freebsd +// +build amd64,freebsd + +// Code generated by cmd/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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DIOCGATTR = 0xc148648e + DIOCGDELETE = 0x80106488 + DIOCGFLUSH = 0x20006487 + DIOCGFRONTSTUFF = 0x40086486 + DIOCGFWHEADS = 0x40046483 + DIOCGFWSECTORS = 0x40046482 + DIOCGIDENT = 0x41006489 + DIOCGMEDIASIZE = 0x40086481 + DIOCGPHYSPATH = 0x4400648d + DIOCGPROVIDERNAME = 0x4400648a + DIOCGSECTORSIZE = 0x40046480 + DIOCGSTRIPEOFFSET = 0x4008648c + DIOCGSTRIPESIZE = 0x4008648b + DIOCSKERNELDUMP = 0x80506490 + DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 + DIOCZONECMD = 0xc080648f + 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_DISPLAYPORT_AUX = 0x113 + DLT_DOCSIS = 0x8f + DLT_DOCSIS31_XRA31 = 0x111 + 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_ETHERNET_MPACKET = 0x112 + 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_LORATAP = 0x10e + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x113 + 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_NORDIC_BLE = 0x110 + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + 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_SDLC = 0x10c + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TI_LLN_SNIFFER = 0x10d + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_DARWIN = 0x10a + 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_VSOCK = 0x10f + 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_EMPTY = -0xd + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xd + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVNAMEMAP_NAME_SIZE = 0x40 + 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_MAXNAMELEN = 0xff + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFCAP_WOL_MAGIC = 0x2000 + 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_NOGROUP = 0x800000 + 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_LEN = 0x14 + 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_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_ORIGDSTADDR = 0x48 + 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_RECVORIGDSTADDR = 0x48 + 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_MF = 0x2000 + IP_MINTTL = 0x42 + 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_ORIGDSTADDR = 0x1b + 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_RECVORIGDSTADDR = 0x1b + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCAL_CONNWAIT = 0x4 + LOCAL_CREDS = 0x2 + LOCAL_CREDS_PERSISTENT = 0x3 + LOCAL_PEERCRED = 0x1 + LOCAL_VENDOR = 0x80000000 + 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_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 + MCAST_BLOCK_SOURCE = 0x54 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x50 + MCAST_JOIN_SOURCE_GROUP = 0x52 + MCAST_LEAVE_GROUP = 0x51 + MCAST_LEAVE_SOURCE_GROUP = 0x53 + MCAST_UNBLOCK_SOURCE = 0x55 + MCAST_UNDEFINED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNTRUSTED = 0x800000000 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0xad8d0807e + MNT_USER = 0x8000 + MNT_VERIFIED = 0x400000000 + MNT_VISFLAGMASK = 0xffef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NFDBITS = 0x40 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSTIME = 0x10 + 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_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_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_MONOTONIC = 0x6 + SCM_REALTIME = 0x5 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIME_INFO = 0x7 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_SET = 0x0 + 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 + SIOCGHWADDR = 0xc020693e + 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 + SIOCGIFRSSHASH = 0xc0186997 + SIOCGIFRSSKEY = 0xc0946996 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLANPCP = 0xc0206998 + 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 + SIOCSLANPCP = 0x80206999 + 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_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DOMAIN = 0x1019 + 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_MAX_PACING_RATE = 0x1018 + 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_REUSEPORT_LB = 0x10000 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TS_BINTIME = 0x1 + SO_TS_CLOCK = 0x1017 + SO_TS_CLOCK_MAX = 0x3 + SO_TS_DEFAULT = 0x0 + SO_TS_MONOTONIC = 0x3 + SO_TS_REALTIME = 0x2 + SO_TS_REALTIME_MICRO = 0x0 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_BBR_ACK_COMP_ALG = 0x448 + TCP_BBR_DRAIN_INC_EXTRA = 0x43c + TCP_BBR_DRAIN_PG = 0x42e + TCP_BBR_EXTRA_GAIN = 0x449 + TCP_BBR_IWINTSO = 0x42b + TCP_BBR_LOWGAIN_FD = 0x436 + TCP_BBR_LOWGAIN_HALF = 0x435 + TCP_BBR_LOWGAIN_THRESH = 0x434 + TCP_BBR_MAX_RTO = 0x439 + TCP_BBR_MIN_RTO = 0x438 + TCP_BBR_ONE_RETRAN = 0x431 + TCP_BBR_PACE_CROSS = 0x442 + TCP_BBR_PACE_DEL_TAR = 0x43f + TCP_BBR_PACE_PER_SEC = 0x43e + TCP_BBR_PACE_SEG_MAX = 0x440 + TCP_BBR_PACE_SEG_MIN = 0x441 + TCP_BBR_PROBE_RTT_GAIN = 0x44d + TCP_BBR_PROBE_RTT_INT = 0x430 + TCP_BBR_PROBE_RTT_LEN = 0x44e + TCP_BBR_RACK_RTT_USE = 0x44a + TCP_BBR_RECFORCE = 0x42c + TCP_BBR_REC_OVER_HPTS = 0x43a + TCP_BBR_RETRAN_WTSO = 0x44b + TCP_BBR_RWND_IS_APP = 0x42f + TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d + TCP_BBR_STARTUP_LOSS_EXIT = 0x432 + TCP_BBR_STARTUP_PG = 0x42d + TCP_BBR_UNLIMITED = 0x43b + TCP_BBR_USEDEL_RATE = 0x437 + TCP_BBR_USE_LOWGAIN = 0x433 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_DATA_AFTER_CLOSE = 0x44c + TCP_DELACK = 0x48 + TCP_FASTOPEN = 0x401 + TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 + TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 + TCP_FASTOPEN_PSK_LEN = 0x10 + 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_LOG = 0x22 + TCP_LOGBUF = 0x23 + TCP_LOGDUMP = 0x25 + TCP_LOGDUMPID = 0x26 + TCP_LOGID = 0x24 + TCP_LOG_ID_LEN = 0x40 + 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_RACK_EARLY_RECOV = 0x423 + TCP_RACK_EARLY_SEG = 0x424 + TCP_RACK_IDLE_REDUCE_HIGH = 0x444 + TCP_RACK_MIN_PACE = 0x445 + TCP_RACK_MIN_PACE_SEG = 0x446 + TCP_RACK_MIN_TO = 0x422 + TCP_RACK_PACE_ALWAYS = 0x41f + TCP_RACK_PACE_MAX_SEG = 0x41e + TCP_RACK_PACE_REDUCE = 0x41d + TCP_RACK_PKT_DELAY = 0x428 + TCP_RACK_PROP = 0x41b + TCP_RACK_PROP_RATE = 0x420 + TCP_RACK_PRR_SENDALOT = 0x421 + TCP_RACK_REORD_FADE = 0x426 + TCP_RACK_REORD_THRESH = 0x425 + TCP_RACK_SESS_CWV = 0x42a + TCP_RACK_TLP_INC_VAR = 0x429 + TCP_RACK_TLP_REDUCE = 0x41c + TCP_RACK_TLP_THRESH = 0x427 + TCP_RACK_TLP_USE = 0x447 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + 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 + UTIME_NOW = -0x1 + UTIME_OMIT = -0x2 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/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 000000000..99e9a0e06 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go @@ -0,0 +1,1846 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && freebsd +// +build arm,freebsd + +// Code generated by cmd/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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DIOCGATTR = 0xc144648e + DIOCGDELETE = 0x80106488 + DIOCGFLUSH = 0x20006487 + DIOCGFRONTSTUFF = 0x40086486 + DIOCGFWHEADS = 0x40046483 + DIOCGFWSECTORS = 0x40046482 + DIOCGIDENT = 0x41006489 + DIOCGMEDIASIZE = 0x40086481 + DIOCGPHYSPATH = 0x4400648d + DIOCGPROVIDERNAME = 0x4400648a + DIOCGSECTORSIZE = 0x40046480 + DIOCGSTRIPEOFFSET = 0x4008648c + DIOCGSTRIPESIZE = 0x4008648b + DIOCSKERNELDUMP = 0x804c6490 + DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 + DIOCZONECMD = 0xc06c648f + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_CLASS_NETBSD_RAWAF = 0x2240000 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_ISO_14443 = 0x108 + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x109 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RDS = 0x109 + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_FREEBSD = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WATTSTOPPER_DLM = 0x107 + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DLT_ZWAVE_R1_R2 = 0x105 + DLT_ZWAVE_R3 = 0x106 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCAL_CONNWAIT = 0x4 + LOCAL_CREDS = 0x2 + LOCAL_CREDS_PERSISTENT = 0x3 + LOCAL_PEERCRED = 0x1 + LOCAL_VENDOR = 0x80000000 + 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 + MCAST_BLOCK_SOURCE = 0x54 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x50 + MCAST_JOIN_SOURCE_GROUP = 0x52 + MCAST_LEAVE_GROUP = 0x51 + MCAST_LEAVE_SOURCE_GROUP = 0x53 + MCAST_UNBLOCK_SOURCE = 0x55 + MCAST_UNDEFINED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NFDBITS = 0x20 + 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 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_SET = 0x0 + 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_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go new file mode 100644 index 000000000..4c8377114 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go @@ -0,0 +1,1948 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && freebsd +// +build arm64,freebsd + +// Code generated by cmd/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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DIOCGATTR = 0xc148648e + DIOCGDELETE = 0x80106488 + DIOCGFLUSH = 0x20006487 + DIOCGFRONTSTUFF = 0x40086486 + DIOCGFWHEADS = 0x40046483 + DIOCGFWSECTORS = 0x40046482 + DIOCGIDENT = 0x41006489 + DIOCGMEDIASIZE = 0x40086481 + DIOCGPHYSPATH = 0x4400648d + DIOCGPROVIDERNAME = 0x4400648a + DIOCGSECTORSIZE = 0x40046480 + DIOCGSTRIPEOFFSET = 0x4008648c + DIOCGSTRIPESIZE = 0x4008648b + DIOCSKERNELDUMP = 0x80506490 + DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 + DIOCZONECMD = 0xc080648f + 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_DISPLAYPORT_AUX = 0x113 + DLT_DOCSIS = 0x8f + DLT_DOCSIS31_XRA31 = 0x111 + 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_ETHERNET_MPACKET = 0x112 + 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_LORATAP = 0x10e + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x113 + 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_NORDIC_BLE = 0x110 + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + 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_SDLC = 0x10c + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TI_LLN_SNIFFER = 0x10d + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_DARWIN = 0x10a + 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_VSOCK = 0x10f + 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_EMPTY = -0xd + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xd + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVNAMEMAP_NAME_SIZE = 0x40 + 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_MAXNAMELEN = 0xff + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFCAP_WOL_MAGIC = 0x2000 + 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_NOGROUP = 0x800000 + 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_LEN = 0x14 + 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_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_ORIGDSTADDR = 0x48 + 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_RECVORIGDSTADDR = 0x48 + 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_MF = 0x2000 + IP_MINTTL = 0x42 + 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_ORIGDSTADDR = 0x1b + 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_RECVORIGDSTADDR = 0x1b + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCAL_CONNWAIT = 0x4 + LOCAL_CREDS = 0x2 + LOCAL_CREDS_PERSISTENT = 0x3 + LOCAL_PEERCRED = 0x1 + LOCAL_VENDOR = 0x80000000 + 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_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 + MCAST_BLOCK_SOURCE = 0x54 + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x50 + MCAST_JOIN_SOURCE_GROUP = 0x52 + MCAST_LEAVE_GROUP = 0x51 + MCAST_LEAVE_SOURCE_GROUP = 0x53 + MCAST_UNBLOCK_SOURCE = 0x55 + MCAST_UNDEFINED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNTRUSTED = 0x800000000 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0xad8d0807e + MNT_USER = 0x8000 + MNT_VERIFIED = 0x400000000 + MNT_VISFLAGMASK = 0xffef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NFDBITS = 0x40 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSTIME = 0x10 + 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_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_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_MONOTONIC = 0x6 + SCM_REALTIME = 0x5 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIME_INFO = 0x7 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_SET = 0x0 + 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 + SIOCGHWADDR = 0xc020693e + 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 + SIOCGIFRSSHASH = 0xc0186997 + SIOCGIFRSSKEY = 0xc0946996 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLANPCP = 0xc0206998 + 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 + SIOCSLANPCP = 0x80206999 + 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_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DOMAIN = 0x1019 + 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_MAX_PACING_RATE = 0x1018 + 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_REUSEPORT_LB = 0x10000 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TS_BINTIME = 0x1 + SO_TS_CLOCK = 0x1017 + SO_TS_CLOCK_MAX = 0x3 + SO_TS_DEFAULT = 0x0 + SO_TS_MONOTONIC = 0x3 + SO_TS_REALTIME = 0x2 + SO_TS_REALTIME_MICRO = 0x0 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_BBR_ACK_COMP_ALG = 0x448 + TCP_BBR_DRAIN_INC_EXTRA = 0x43c + TCP_BBR_DRAIN_PG = 0x42e + TCP_BBR_EXTRA_GAIN = 0x449 + TCP_BBR_IWINTSO = 0x42b + TCP_BBR_LOWGAIN_FD = 0x436 + TCP_BBR_LOWGAIN_HALF = 0x435 + TCP_BBR_LOWGAIN_THRESH = 0x434 + TCP_BBR_MAX_RTO = 0x439 + TCP_BBR_MIN_RTO = 0x438 + TCP_BBR_ONE_RETRAN = 0x431 + TCP_BBR_PACE_CROSS = 0x442 + TCP_BBR_PACE_DEL_TAR = 0x43f + TCP_BBR_PACE_PER_SEC = 0x43e + TCP_BBR_PACE_SEG_MAX = 0x440 + TCP_BBR_PACE_SEG_MIN = 0x441 + TCP_BBR_PROBE_RTT_GAIN = 0x44d + TCP_BBR_PROBE_RTT_INT = 0x430 + TCP_BBR_PROBE_RTT_LEN = 0x44e + TCP_BBR_RACK_RTT_USE = 0x44a + TCP_BBR_RECFORCE = 0x42c + TCP_BBR_REC_OVER_HPTS = 0x43a + TCP_BBR_RETRAN_WTSO = 0x44b + TCP_BBR_RWND_IS_APP = 0x42f + TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d + TCP_BBR_STARTUP_LOSS_EXIT = 0x432 + TCP_BBR_STARTUP_PG = 0x42d + TCP_BBR_UNLIMITED = 0x43b + TCP_BBR_USEDEL_RATE = 0x437 + TCP_BBR_USE_LOWGAIN = 0x433 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_DATA_AFTER_CLOSE = 0x44c + TCP_DELACK = 0x48 + TCP_FASTOPEN = 0x401 + TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 + TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 + TCP_FASTOPEN_PSK_LEN = 0x10 + 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_LOG = 0x22 + TCP_LOGBUF = 0x23 + TCP_LOGDUMP = 0x25 + TCP_LOGDUMPID = 0x26 + TCP_LOGID = 0x24 + TCP_LOG_ID_LEN = 0x40 + 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_RACK_EARLY_RECOV = 0x423 + TCP_RACK_EARLY_SEG = 0x424 + TCP_RACK_IDLE_REDUCE_HIGH = 0x444 + TCP_RACK_MIN_PACE = 0x445 + TCP_RACK_MIN_PACE_SEG = 0x446 + TCP_RACK_MIN_TO = 0x422 + TCP_RACK_PACE_ALWAYS = 0x41f + TCP_RACK_PACE_MAX_SEG = 0x41e + TCP_RACK_PACE_REDUCE = 0x41d + TCP_RACK_PKT_DELAY = 0x428 + TCP_RACK_PROP = 0x41b + TCP_RACK_PROP_RATE = 0x420 + TCP_RACK_PRR_SENDALOT = 0x421 + TCP_RACK_REORD_FADE = 0x426 + TCP_RACK_REORD_THRESH = 0x425 + TCP_RACK_SESS_CWV = 0x42a + TCP_RACK_TLP_INC_VAR = 0x429 + TCP_RACK_TLP_REDUCE = 0x41c + TCP_RACK_TLP_THRESH = 0x427 + TCP_RACK_TLP_USE = 0x447 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + 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 + UTIME_NOW = -0x1 + UTIME_OMIT = -0x2 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_BCACHE_SIZE_MAX = 0x19000000 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go new file mode 100644 index 000000000..52f5bbc14 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -0,0 +1,2923 @@ +// Code generated by mkmerge.go; DO NOT EDIT. + +//go:build linux +// +build linux + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_DRBG_ENTROPY = 0x6 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ARSH = 0xc0 + BPF_ATOMIC = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_CMPXCHG = 0xf1 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIT = 0x90 + BPF_FETCH = 0x1 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_REPLACE = 0x4 + BPF_F_SLEEPABLE = 0x10 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TEST_RUN_ON_CPU = 0x1 + BPF_F_TEST_STATE_FREQ = 0x8 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_BTF_ID = 0x3 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XCHG = 0xe1 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + BUS_BLUETOOTH = 0x5 + BUS_HIL = 0x4 + BUS_USB = 0x3 + BUS_VIRTUAL = 0x6 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_ACK = 0x20 + CAN_ERR_BUSERROR = 0x80 + CAN_ERR_BUSOFF = 0x40 + CAN_ERR_CRTL = 0x4 + CAN_ERR_CRTL_ACTIVE = 0x40 + CAN_ERR_CRTL_RX_OVERFLOW = 0x1 + CAN_ERR_CRTL_RX_PASSIVE = 0x10 + CAN_ERR_CRTL_RX_WARNING = 0x4 + CAN_ERR_CRTL_TX_OVERFLOW = 0x2 + CAN_ERR_CRTL_TX_PASSIVE = 0x20 + CAN_ERR_CRTL_TX_WARNING = 0x8 + CAN_ERR_CRTL_UNSPEC = 0x0 + CAN_ERR_DLC = 0x8 + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_LOSTARB = 0x2 + CAN_ERR_LOSTARB_UNSPEC = 0x0 + CAN_ERR_MASK = 0x1fffffff + CAN_ERR_PROT = 0x8 + CAN_ERR_PROT_ACTIVE = 0x40 + CAN_ERR_PROT_BIT = 0x1 + CAN_ERR_PROT_BIT0 = 0x8 + CAN_ERR_PROT_BIT1 = 0x10 + CAN_ERR_PROT_FORM = 0x2 + CAN_ERR_PROT_LOC_ACK = 0x19 + CAN_ERR_PROT_LOC_ACK_DEL = 0x1b + CAN_ERR_PROT_LOC_CRC_DEL = 0x18 + CAN_ERR_PROT_LOC_CRC_SEQ = 0x8 + CAN_ERR_PROT_LOC_DATA = 0xa + CAN_ERR_PROT_LOC_DLC = 0xb + CAN_ERR_PROT_LOC_EOF = 0x1a + CAN_ERR_PROT_LOC_ID04_00 = 0xe + CAN_ERR_PROT_LOC_ID12_05 = 0xf + CAN_ERR_PROT_LOC_ID17_13 = 0x7 + CAN_ERR_PROT_LOC_ID20_18 = 0x6 + CAN_ERR_PROT_LOC_ID28_21 = 0x2 + CAN_ERR_PROT_LOC_IDE = 0x5 + CAN_ERR_PROT_LOC_INTERM = 0x12 + CAN_ERR_PROT_LOC_RES0 = 0x9 + CAN_ERR_PROT_LOC_RES1 = 0xd + CAN_ERR_PROT_LOC_RTR = 0xc + CAN_ERR_PROT_LOC_SOF = 0x3 + CAN_ERR_PROT_LOC_SRTR = 0x4 + CAN_ERR_PROT_LOC_UNSPEC = 0x0 + CAN_ERR_PROT_OVERLOAD = 0x20 + CAN_ERR_PROT_STUFF = 0x4 + CAN_ERR_PROT_TX = 0x80 + CAN_ERR_PROT_UNSPEC = 0x0 + CAN_ERR_RESTARTED = 0x100 + CAN_ERR_TRX = 0x10 + CAN_ERR_TRX_CANH_NO_WIRE = 0x4 + CAN_ERR_TRX_CANH_SHORT_TO_BAT = 0x5 + CAN_ERR_TRX_CANH_SHORT_TO_GND = 0x7 + CAN_ERR_TRX_CANH_SHORT_TO_VCC = 0x6 + CAN_ERR_TRX_CANL_NO_WIRE = 0x40 + CAN_ERR_TRX_CANL_SHORT_TO_BAT = 0x50 + CAN_ERR_TRX_CANL_SHORT_TO_CANH = 0x80 + CAN_ERR_TRX_CANL_SHORT_TO_GND = 0x70 + CAN_ERR_TRX_CANL_SHORT_TO_VCC = 0x60 + CAN_ERR_TRX_UNSPEC = 0x0 + CAN_ERR_TX_TIMEOUT = 0x1 + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_J1939 = 0x7 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MAX_RAW_DLC = 0xf + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x8 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_BPF = 0x27 + CAP_CHECKPOINT_RESTORE = 0x28 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x28 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_PERFMON = 0x26 + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + 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_ARGS_SIZE_VER0 = 0x40 + CLONE_ARGS_SIZE_VER1 = 0x50 + CLONE_ARGS_SIZE_VER2 = 0x58 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_CLEAR_SIGHAND = 0x100000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_INTO_CGROUP = 0x200000000 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWTIME = 0x80 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CRAMFS_MAGIC = 0x28cd3d45 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CSIGNAL = 0xff + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d + DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e + DEVLINK_FLASH_OVERWRITE_IDENTIFIERS = 0x2 + DEVLINK_FLASH_OVERWRITE_SETTINGS = 0x1 + DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" + DEVLINK_GENL_NAME = "devlink" + DEVLINK_GENL_VERSION = 0x1 + DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 + DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS = 0x3 + DEVMEM_MAGIC = 0x454d444d + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DM_ACTIVE_PRESENT_FLAG = 0x20 + DM_BUFFER_FULL_FLAG = 0x100 + DM_CONTROL_NODE = "control" + DM_DATA_OUT_FLAG = 0x10000 + DM_DEFERRED_REMOVE = 0x20000 + DM_DEV_ARM_POLL = 0xc138fd10 + DM_DEV_CREATE = 0xc138fd03 + DM_DEV_REMOVE = 0xc138fd04 + DM_DEV_RENAME = 0xc138fd05 + DM_DEV_SET_GEOMETRY = 0xc138fd0f + DM_DEV_STATUS = 0xc138fd07 + DM_DEV_SUSPEND = 0xc138fd06 + DM_DEV_WAIT = 0xc138fd08 + DM_DIR = "mapper" + DM_GET_TARGET_VERSION = 0xc138fd11 + DM_INACTIVE_PRESENT_FLAG = 0x40 + DM_INTERNAL_SUSPEND_FLAG = 0x40000 + DM_IOCTL = 0xfd + DM_LIST_DEVICES = 0xc138fd02 + DM_LIST_VERSIONS = 0xc138fd0d + DM_MAX_TYPE_NAME = 0x10 + DM_NAME_LEN = 0x80 + DM_NOFLUSH_FLAG = 0x800 + DM_PERSISTENT_DEV_FLAG = 0x8 + DM_QUERY_INACTIVE_TABLE_FLAG = 0x1000 + DM_READONLY_FLAG = 0x1 + DM_REMOVE_ALL = 0xc138fd01 + DM_SECURE_DATA_FLAG = 0x8000 + DM_SKIP_BDGET_FLAG = 0x200 + DM_SKIP_LOCKFS_FLAG = 0x400 + DM_STATUS_TABLE_FLAG = 0x10 + DM_SUSPEND_FLAG = 0x2 + DM_TABLE_CLEAR = 0xc138fd0a + DM_TABLE_DEPS = 0xc138fd0b + DM_TABLE_LOAD = 0xc138fd09 + DM_TABLE_STATUS = 0xc138fd0c + DM_TARGET_MSG = 0xc138fd0e + DM_UEVENT_GENERATED_FLAG = 0x2000 + DM_UUID_FLAG = 0x4000 + DM_UUID_LEN = 0x81 + DM_VERSION = 0xc138fd00 + DM_VERSION_EXTRA = "-ioctl (2021-02-01)" + DM_VERSION_MAJOR = 0x4 + DM_VERSION_MINOR = 0x2c + DM_VERSION_PATCHLEVEL = 0x0 + 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 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 + ESP_V4_FLOW = 0xa + ESP_V6_FLOW = 0xc + ETHER_FLOW = 0x12 + ETHTOOL_BUSINFO_LEN = 0x20 + ETHTOOL_EROMVERS_LEN = 0x20 + ETHTOOL_FEC_AUTO = 0x2 + ETHTOOL_FEC_BASER = 0x10 + ETHTOOL_FEC_LLRS = 0x20 + ETHTOOL_FEC_NONE = 0x1 + ETHTOOL_FEC_OFF = 0x4 + ETHTOOL_FEC_RS = 0x8 + ETHTOOL_FLAG_ALL = 0x7 + ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 + ETHTOOL_FLAG_OMIT_REPLY = 0x2 + ETHTOOL_FLAG_STATS = 0x4 + ETHTOOL_FLASHDEV = 0x33 + ETHTOOL_FLASH_MAX_FILENAME = 0x80 + ETHTOOL_FWVERS_LEN = 0x20 + ETHTOOL_F_COMPAT = 0x4 + ETHTOOL_F_UNSUPPORTED = 0x1 + ETHTOOL_F_WISH = 0x2 + ETHTOOL_GCHANNELS = 0x3c + ETHTOOL_GCOALESCE = 0xe + ETHTOOL_GDRVINFO = 0x3 + ETHTOOL_GEEE = 0x44 + ETHTOOL_GEEPROM = 0xb + ETHTOOL_GENL_NAME = "ethtool" + ETHTOOL_GENL_VERSION = 0x1 + ETHTOOL_GET_DUMP_DATA = 0x40 + ETHTOOL_GET_DUMP_FLAG = 0x3f + ETHTOOL_GET_TS_INFO = 0x41 + ETHTOOL_GFEATURES = 0x3a + ETHTOOL_GFECPARAM = 0x50 + ETHTOOL_GFLAGS = 0x25 + ETHTOOL_GGRO = 0x2b + ETHTOOL_GGSO = 0x23 + ETHTOOL_GLINK = 0xa + ETHTOOL_GLINKSETTINGS = 0x4c + ETHTOOL_GMODULEEEPROM = 0x43 + ETHTOOL_GMODULEINFO = 0x42 + ETHTOOL_GMSGLVL = 0x7 + ETHTOOL_GPAUSEPARAM = 0x12 + ETHTOOL_GPERMADDR = 0x20 + ETHTOOL_GPFLAGS = 0x27 + ETHTOOL_GPHYSTATS = 0x4a + ETHTOOL_GREGS = 0x4 + ETHTOOL_GRINGPARAM = 0x10 + ETHTOOL_GRSSH = 0x46 + ETHTOOL_GRXCLSRLALL = 0x30 + ETHTOOL_GRXCLSRLCNT = 0x2e + ETHTOOL_GRXCLSRULE = 0x2f + ETHTOOL_GRXCSUM = 0x14 + ETHTOOL_GRXFH = 0x29 + ETHTOOL_GRXFHINDIR = 0x38 + ETHTOOL_GRXNTUPLE = 0x36 + ETHTOOL_GRXRINGS = 0x2d + ETHTOOL_GSET = 0x1 + ETHTOOL_GSG = 0x18 + ETHTOOL_GSSET_INFO = 0x37 + ETHTOOL_GSTATS = 0x1d + ETHTOOL_GSTRINGS = 0x1b + ETHTOOL_GTSO = 0x1e + ETHTOOL_GTUNABLE = 0x48 + ETHTOOL_GTXCSUM = 0x16 + ETHTOOL_GUFO = 0x21 + ETHTOOL_GWOL = 0x5 + ETHTOOL_MCGRP_MONITOR_NAME = "monitor" + ETHTOOL_NWAY_RST = 0x9 + ETHTOOL_PERQUEUE = 0x4b + ETHTOOL_PHYS_ID = 0x1c + ETHTOOL_PHY_EDPD_DFLT_TX_MSECS = 0xffff + ETHTOOL_PHY_EDPD_DISABLE = 0x0 + ETHTOOL_PHY_EDPD_NO_TX = 0xfffe + ETHTOOL_PHY_FAST_LINK_DOWN_OFF = 0xff + ETHTOOL_PHY_FAST_LINK_DOWN_ON = 0x0 + ETHTOOL_PHY_GTUNABLE = 0x4e + ETHTOOL_PHY_STUNABLE = 0x4f + ETHTOOL_RESET = 0x34 + ETHTOOL_RXNTUPLE_ACTION_CLEAR = -0x2 + ETHTOOL_RXNTUPLE_ACTION_DROP = -0x1 + ETHTOOL_RX_FLOW_SPEC_RING = 0xffffffff + ETHTOOL_RX_FLOW_SPEC_RING_VF = 0xff00000000 + ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF = 0x20 + ETHTOOL_SCHANNELS = 0x3d + ETHTOOL_SCOALESCE = 0xf + ETHTOOL_SEEE = 0x45 + ETHTOOL_SEEPROM = 0xc + ETHTOOL_SET_DUMP = 0x3e + ETHTOOL_SFEATURES = 0x3b + ETHTOOL_SFECPARAM = 0x51 + ETHTOOL_SFLAGS = 0x26 + ETHTOOL_SGRO = 0x2c + ETHTOOL_SGSO = 0x24 + ETHTOOL_SLINKSETTINGS = 0x4d + ETHTOOL_SMSGLVL = 0x8 + ETHTOOL_SPAUSEPARAM = 0x13 + ETHTOOL_SPFLAGS = 0x28 + ETHTOOL_SRINGPARAM = 0x11 + ETHTOOL_SRSSH = 0x47 + ETHTOOL_SRXCLSRLDEL = 0x31 + ETHTOOL_SRXCLSRLINS = 0x32 + ETHTOOL_SRXCSUM = 0x15 + ETHTOOL_SRXFH = 0x2a + ETHTOOL_SRXFHINDIR = 0x39 + ETHTOOL_SRXNTUPLE = 0x35 + ETHTOOL_SSET = 0x2 + ETHTOOL_SSG = 0x19 + ETHTOOL_STSO = 0x1f + ETHTOOL_STUNABLE = 0x49 + ETHTOOL_STXCSUM = 0x17 + ETHTOOL_SUFO = 0x22 + ETHTOOL_SWOL = 0x6 + ETHTOOL_TEST = 0x1a + 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_CFM = 0x8902 + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MRP = 0x88e3 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_DFID = 0x3 + FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_DFID_NAME = 0xc00 + FAN_REPORT_DIR_FID = 0x400 + FAN_REPORT_FID = 0x200 + FAN_REPORT_NAME = 0x800 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FIDEDUPERANGE = 0xc0189436 + FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 + FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" + FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 + FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 + FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 + FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 + FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 + FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 + FSCRYPT_KEY_STATUS_ABSENT = 0x1 + FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 + FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 + FSCRYPT_KEY_STATUS_PRESENT = 0x2 + FSCRYPT_MAX_KEY_SIZE = 0x40 + FSCRYPT_MODE_ADIANTUM = 0x9 + FSCRYPT_MODE_AES_128_CBC = 0x5 + FSCRYPT_MODE_AES_128_CTS = 0x6 + FSCRYPT_MODE_AES_256_CTS = 0x4 + FSCRYPT_MODE_AES_256_XTS = 0x1 + FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 + FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 + FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 + FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 + FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 + FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 + FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32 = 0x10 + FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 = 0x8 + FSCRYPT_POLICY_V1 = 0x0 + FSCRYPT_POLICY_V2 = 0x2 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_ADD_ENCRYPTION_KEY = 0xc0506617 + FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a + FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 + FS_IOC_MEASURE_VERITY = 0xc0046686 + FS_IOC_READ_VERITY_METADATA = 0xc0286687 + FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 + FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FS_VERITY_FL = 0x100000 + FS_VERITY_HASH_ALG_SHA256 = 0x1 + FS_VERITY_HASH_ALG_SHA512 = 0x2 + FS_VERITY_METADATA_TYPE_DESCRIPTOR = 0x2 + FS_VERITY_METADATA_TYPE_MERKLE_TREE = 0x1 + FS_VERITY_METADATA_TYPE_SIGNATURE = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + 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_INSECURE = 0x4 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HID_MAX_DESCRIPTOR_SIZE = 0x1000 + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + IBSHIFT = 0x10 + ICMPV6_FILTER = 0x1 + ICMPV6_FILTER_BLOCK = 0x1 + ICMPV6_FILTER_BLOCKOTHERS = 0x3 + ICMPV6_FILTER_PASS = 0x2 + ICMPV6_FILTER_PASSONLY = 0x4 + ICMP_FILTER = 0x1 + ICRNL = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_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_ETHERNET = 0x8f + 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_L2TP = 0x73 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MPTCP = 0x106 + 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_FLOW = 0x11 + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVERR_RFC4884 = 0x1f + 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_ROUTER_ALERT_ISOLATE = 0x1e + 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_USER_FLOW = 0xe + 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_RECVERR_RFC4884 = 0x1a + 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_USER_FLOW = 0xd + IP_XFRM_POLICY = 0x11 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PARISC = 0xf0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NOTIFICATIONS = 0x4 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + 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_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEYCTL_WATCH_KEY = 0x20 + 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 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LOOP_SET_STATUS_CLEARABLE_FLAGS = 0x4 + LOOP_SET_STATUS_SETTABLE_FLAGS = 0xc + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + LWTUNNEL_IP6_MAX = 0x8 + LWTUNNEL_IP_MAX = 0x8 + LWTUNNEL_IP_OPTS_MAX = 0x3 + LWTUNNEL_IP_OPT_ERSPAN_MAX = 0x4 + LWTUNNEL_IP_OPT_GENEVE_MAX = 0x3 + LWTUNNEL_IP_OPT_VXLAN_MAX = 0x1 + MADV_COLD = 0x14 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0x15 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MEMGETREGIONINFO = 0xc0104d08 + MEMREADOOB64 = 0xc0184d16 + MEMWRITE = 0xc0304d18 + MEMWRITEOOB64 = 0xc0184d15 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOSYMFOLLOW = 0x100 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_ABSENT = 0x0 + MTD_BIT_WRITEABLE = 0x800 + MTD_CAP_NANDFLASH = 0x400 + MTD_CAP_NORFLASH = 0xc00 + MTD_CAP_NVRAM = 0x1c00 + MTD_CAP_RAM = 0x1c00 + MTD_CAP_ROM = 0x0 + MTD_DATAFLASH = 0x6 + MTD_INODE_FS_MAGIC = 0x11307854 + MTD_MAX_ECCPOS_ENTRIES = 0x40 + MTD_MAX_OOBFREE_ENTRIES = 0x8 + MTD_MLCNANDFLASH = 0x8 + MTD_NANDECC_AUTOPLACE = 0x2 + MTD_NANDECC_AUTOPL_USR = 0x4 + MTD_NANDECC_OFF = 0x0 + MTD_NANDECC_PLACE = 0x1 + MTD_NANDECC_PLACEONLY = 0x3 + MTD_NANDFLASH = 0x4 + MTD_NORFLASH = 0x3 + MTD_NO_ERASE = 0x1000 + MTD_OTP_FACTORY = 0x1 + MTD_OTP_OFF = 0x0 + MTD_OTP_USER = 0x2 + MTD_POWERUP_LOCK = 0x2000 + MTD_RAM = 0x1 + MTD_ROM = 0x2 + MTD_SLC_ON_MLC_EMULATION = 0x4000 + MTD_UBIVOLUME = 0x7 + MTD_WRITEABLE = 0x400 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFC_ATR_REQ_GB_MAXSIZE = 0x30 + NFC_ATR_REQ_MAXSIZE = 0x40 + NFC_ATR_RES_GB_MAXSIZE = 0x2f + NFC_ATR_RES_MAXSIZE = 0x40 + NFC_COMM_ACTIVE = 0x0 + NFC_COMM_PASSIVE = 0x1 + NFC_DEVICE_NAME_MAXSIZE = 0x8 + NFC_DIRECTION_RX = 0x0 + NFC_DIRECTION_TX = 0x1 + NFC_FIRMWARE_NAME_MAXSIZE = 0x20 + NFC_GB_MAXSIZE = 0x30 + NFC_GENL_MCAST_EVENT_NAME = "events" + NFC_GENL_NAME = "nfc" + NFC_GENL_VERSION = 0x1 + NFC_HEADER_SIZE = 0x1 + NFC_ISO15693_UID_MAXSIZE = 0x8 + NFC_LLCP_MAX_SERVICE_NAME = 0x3f + NFC_LLCP_MIUX = 0x1 + NFC_LLCP_REMOTE_LTO = 0x3 + NFC_LLCP_REMOTE_MIU = 0x2 + NFC_LLCP_REMOTE_RW = 0x4 + NFC_LLCP_RW = 0x0 + NFC_NFCID1_MAXSIZE = 0xa + NFC_NFCID2_MAXSIZE = 0x8 + NFC_NFCID3_MAXSIZE = 0xa + NFC_PROTO_FELICA = 0x3 + NFC_PROTO_FELICA_MASK = 0x8 + NFC_PROTO_ISO14443 = 0x4 + NFC_PROTO_ISO14443_B = 0x6 + NFC_PROTO_ISO14443_B_MASK = 0x40 + NFC_PROTO_ISO14443_MASK = 0x10 + NFC_PROTO_ISO15693 = 0x7 + NFC_PROTO_ISO15693_MASK = 0x80 + NFC_PROTO_JEWEL = 0x1 + NFC_PROTO_JEWEL_MASK = 0x2 + NFC_PROTO_MAX = 0x8 + NFC_PROTO_MIFARE = 0x2 + NFC_PROTO_MIFARE_MASK = 0x4 + NFC_PROTO_NFC_DEP = 0x5 + NFC_PROTO_NFC_DEP_MASK = 0x20 + NFC_RAW_HEADER_SIZE = 0x2 + NFC_RF_INITIATOR = 0x0 + NFC_RF_NONE = 0x2 + NFC_RF_TARGET = 0x1 + NFC_SENSB_RES_MAXSIZE = 0xc + NFC_SENSF_RES_MAXSIZE = 0x12 + NFC_SE_DISABLED = 0x0 + NFC_SE_EMBEDDED = 0x2 + NFC_SE_ENABLED = 0x1 + NFC_SE_UICC = 0x1 + NFC_SOCKPROTO_LLCP = 0x1 + NFC_SOCKPROTO_MAX = 0x2 + NFC_SOCKPROTO_RAW = 0x0 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + 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 + PERF_ATTR_SIZE_VER0 = 0x40 + PERF_ATTR_SIZE_VER1 = 0x48 + PERF_ATTR_SIZE_VER2 = 0x50 + PERF_ATTR_SIZE_VER3 = 0x60 + PERF_ATTR_SIZE_VER4 = 0x68 + PERF_ATTR_SIZE_VER5 = 0x70 + PERF_ATTR_SIZE_VER6 = 0x78 + PERF_AUX_FLAG_COLLISION = 0x8 + PERF_AUX_FLAG_OVERWRITE = 0x2 + PERF_AUX_FLAG_PARTIAL = 0x4 + PERF_AUX_FLAG_TRUNCATED = 0x1 + PERF_FLAG_FD_CLOEXEC = 0x8 + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_MAX_CONTEXTS_PER_STACK = 0x8 + PERF_MAX_STACK_DEPTH = 0x7f + PERF_MEM_BLK_ADDR = 0x4 + PERF_MEM_BLK_DATA = 0x2 + PERF_MEM_BLK_NA = 0x1 + PERF_MEM_BLK_SHIFT = 0x28 + PERF_MEM_LOCK_LOCKED = 0x2 + PERF_MEM_LOCK_NA = 0x1 + PERF_MEM_LOCK_SHIFT = 0x18 + PERF_MEM_LVLNUM_ANY_CACHE = 0xb + PERF_MEM_LVLNUM_L1 = 0x1 + PERF_MEM_LVLNUM_L2 = 0x2 + PERF_MEM_LVLNUM_L3 = 0x3 + PERF_MEM_LVLNUM_L4 = 0x4 + PERF_MEM_LVLNUM_LFB = 0xc + PERF_MEM_LVLNUM_NA = 0xf + PERF_MEM_LVLNUM_PMEM = 0xe + PERF_MEM_LVLNUM_RAM = 0xd + PERF_MEM_LVLNUM_SHIFT = 0x21 + PERF_MEM_LVL_HIT = 0x2 + PERF_MEM_LVL_IO = 0x1000 + PERF_MEM_LVL_L1 = 0x8 + PERF_MEM_LVL_L2 = 0x20 + PERF_MEM_LVL_L3 = 0x40 + PERF_MEM_LVL_LFB = 0x10 + PERF_MEM_LVL_LOC_RAM = 0x80 + PERF_MEM_LVL_MISS = 0x4 + PERF_MEM_LVL_NA = 0x1 + PERF_MEM_LVL_REM_CCE1 = 0x400 + PERF_MEM_LVL_REM_CCE2 = 0x800 + PERF_MEM_LVL_REM_RAM1 = 0x100 + PERF_MEM_LVL_REM_RAM2 = 0x200 + PERF_MEM_LVL_SHIFT = 0x5 + PERF_MEM_LVL_UNC = 0x2000 + PERF_MEM_OP_EXEC = 0x10 + PERF_MEM_OP_LOAD = 0x2 + PERF_MEM_OP_NA = 0x1 + PERF_MEM_OP_PFETCH = 0x8 + PERF_MEM_OP_SHIFT = 0x0 + PERF_MEM_OP_STORE = 0x4 + PERF_MEM_REMOTE_REMOTE = 0x1 + PERF_MEM_REMOTE_SHIFT = 0x25 + PERF_MEM_SNOOPX_FWD = 0x1 + PERF_MEM_SNOOPX_SHIFT = 0x26 + PERF_MEM_SNOOP_HIT = 0x4 + PERF_MEM_SNOOP_HITM = 0x10 + PERF_MEM_SNOOP_MISS = 0x8 + PERF_MEM_SNOOP_NA = 0x1 + PERF_MEM_SNOOP_NONE = 0x2 + PERF_MEM_SNOOP_SHIFT = 0x13 + PERF_MEM_TLB_HIT = 0x2 + PERF_MEM_TLB_L1 = 0x8 + PERF_MEM_TLB_L2 = 0x10 + PERF_MEM_TLB_MISS = 0x4 + PERF_MEM_TLB_NA = 0x1 + PERF_MEM_TLB_OS = 0x40 + PERF_MEM_TLB_SHIFT = 0x1a + PERF_MEM_TLB_WK = 0x20 + PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER = 0x1 + PERF_RECORD_MISC_COMM_EXEC = 0x2000 + PERF_RECORD_MISC_CPUMODE_MASK = 0x7 + PERF_RECORD_MISC_CPUMODE_UNKNOWN = 0x0 + PERF_RECORD_MISC_EXACT_IP = 0x4000 + PERF_RECORD_MISC_EXT_RESERVED = 0x8000 + PERF_RECORD_MISC_FORK_EXEC = 0x2000 + PERF_RECORD_MISC_GUEST_KERNEL = 0x4 + PERF_RECORD_MISC_GUEST_USER = 0x5 + PERF_RECORD_MISC_HYPERVISOR = 0x3 + PERF_RECORD_MISC_KERNEL = 0x1 + PERF_RECORD_MISC_MMAP_BUILD_ID = 0x4000 + PERF_RECORD_MISC_MMAP_DATA = 0x2000 + PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT = 0x1000 + PERF_RECORD_MISC_SWITCH_OUT = 0x2000 + PERF_RECORD_MISC_SWITCH_OUT_PREEMPT = 0x4000 + PERF_RECORD_MISC_USER = 0x2 + PERF_SAMPLE_BRANCH_PLM_ALL = 0x7 + PERF_SAMPLE_WEIGHT_TYPE = 0x1004000 + PIPEFS_MAGIC = 0x50495045 + PPC_CMM_MAGIC = 0xc7571590 + PPPIOCGNPMODE = 0xc008744c + PPPIOCNEWUNIT = 0xc004743e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_IO_FLUSHER = 0x3a + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_TAGGED_ADDR_CTRL = 0x38 + 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_MTE_TAG_MASK = 0x7fff8 + PR_MTE_TAG_SHIFT = 0x3 + PR_MTE_TCF_ASYNC = 0x4 + PR_MTE_TCF_MASK = 0x6 + PR_MTE_TCF_NONE = 0x0 + PR_MTE_TCF_SHIFT = 0x1 + PR_MTE_TCF_SYNC = 0x2 + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_IO_FLUSHER = 0x39 + 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_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_SYSCALL_USER_DISPATCH = 0x3b + PR_SET_TAGGED_ADDR_CTRL = 0x37 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_SYS_DISPATCH_OFF = 0x0 + PR_SYS_DISPATCH_ON = 0x1 + PR_TAGGED_ADDR_ENABLE = 0x1 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + 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_SYSCALL_INFO = 0x420e + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RAW_PAYLOAD_DIGITAL = 0x3 + RAW_PAYLOAD_HCI = 0x2 + RAW_PAYLOAD_LLCP = 0x0 + RAW_PAYLOAD_NCI = 0x1 + RAW_PAYLOAD_PROPRIETARY = 0x4 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_FEATURE_ALARM = 0x0 + RTC_FEATURE_ALARM_RES_MINUTE = 0x1 + RTC_FEATURE_CNT = 0x3 + RTC_FEATURE_NEED_WEEK_DAY = 0x2 + RTC_IRQF = 0x80 + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_UF = 0x10 + 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 + RTMGRP_DECnet_IFADDR = 0x1000 + RTMGRP_DECnet_ROUTE = 0x4000 + RTMGRP_IPV4_IFADDR = 0x10 + RTMGRP_IPV4_MROUTE = 0x20 + RTMGRP_IPV4_ROUTE = 0x40 + RTMGRP_IPV4_RULE = 0x80 + RTMGRP_IPV6_IFADDR = 0x100 + RTMGRP_IPV6_IFINFO = 0x800 + RTMGRP_IPV6_MROUTE = 0x200 + RTMGRP_IPV6_PREFIX = 0x20000 + RTMGRP_IPV6_ROUTE = 0x400 + RTMGRP_LINK = 0x1 + RTMGRP_NEIGH = 0x4 + RTMGRP_NOTIFY = 0x2 + RTMGRP_TC = 0x8 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELLINKPROP = 0x6d + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_DELVLAN = 0x71 + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_OFFLOAD = 0x4000 + RTM_F_OFFLOAD_FAILED = 0x20000000 + RTM_F_PREFIX = 0x800 + RTM_F_TRAP = 0x8000 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETLINKPROP = 0x6e + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_GETVLAN = 0x72 + RTM_MAX = 0x73 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWLINKPROP = 0x6c + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWNVLAN = 0x70 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x19 + RTM_NR_MSGTYPES = 0x64 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x59 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_TRAP = 0x40 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KEEPALIVED = 0x12 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + RWF_APPEND = 0x10 + RWF_DSYNC = 0x2 + RWF_HIPRI = 0x1 + RWF_NOWAIT = 0x8 + RWF_SUPPORTED = 0x1f + RWF_SYNC = 0x4 + RWF_WRITE_LIFE_NOT_SET = 0x0 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_MAX = 0x4 + SEEK_SET = 0x0 + SELINUX_MAGIC = 0xf97cff8c + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + 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 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + 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 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_OLD = 0x8906 + 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 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_DCCP = 0x6 + SOCK_IOC_TYPE = 0x89 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_CAN_RAW = 0x65 + 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_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x1000 + SO_ATTACH_FILTER = 0x1a + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_EE_RFC4884_FLAG_INVALID = 0x1 + SO_GET_FILTER = 0x1a + SO_NO_CHECK = 0xb + SO_PEERNAME = 0x1c + SO_PRIORITY = 0xc + SO_TIMESTAMP = 0x1d + SO_TIMESTAMP_OLD = 0x1d + 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 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_DAX = 0x200000 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_MOUNT_ROOT = 0x2000 + STATX_ATTR_NODUMP = 0x40 + STATX_ATTR_VERITY = 0x100000 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MNT_ID = 0x1000 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0xa + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_TX_DELAY = 0x25 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_V4_FLOW = 0x1 + TCP_V6_FLOW = 0x5 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TFD_TIMER_ABSTIME = 0x1 + TFD_TIMER_CANCEL_ON_SET = 0x2 + TIMER_ABSTIME = 0x1 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RTS = 0x4 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_AEAD_ALG_NAME = 0x20 + TIPC_AEAD_KEYLEN_MAX = 0x24 + TIPC_AEAD_KEYLEN_MIN = 0x14 + TIPC_AEAD_KEY_SIZE_MAX = 0x48 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODELAY = 0x8a + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_REKEYING_NOW = 0xffffffff + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_LOCAL = 0x1 + VMADDR_FLAG_TO_HOST = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VT0 = 0x0 + WAKE_MAGIC = 0x20 + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WDIOF_ALARMONLY = 0x400 + WDIOF_CARDRESET = 0x20 + WDIOF_EXTERN1 = 0x4 + WDIOF_EXTERN2 = 0x8 + WDIOF_FANFAULT = 0x2 + WDIOF_KEEPALIVEPING = 0x8000 + WDIOF_MAGICCLOSE = 0x100 + WDIOF_OVERHEAT = 0x1 + WDIOF_POWEROVER = 0x40 + WDIOF_POWERUNDER = 0x10 + WDIOF_PRETIMEOUT = 0x200 + WDIOF_SETTIMEOUT = 0x80 + WDIOF_UNKNOWN = -0x1 + WDIOS_DISABLECARD = 0x1 + WDIOS_ENABLECARD = 0x2 + WDIOS_TEMPPANIC = 0x4 + WDIOS_UNKNOWN = -0x1 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0x1f + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_REPLACE = 0x10 + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RING_NEED_WAKEUP = 0x1 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 + XDP_USE_NEED_WAKEUP = 0x8 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + Z3FOLD_MAGIC = 0x33 + ZONEFS_MAGIC = 0x5a4f4653 + ZSMALLOC_MAGIC = 0x58295829 + _HIDIOCGRAWNAME_LEN = 0x80 + _HIDIOCGRAWPHYS_LEN = 0x40 + _HIDIOCGRAWUNIQ_LEN = 0x40 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EAGAIN = syscall.Errno(0xb) + EBADF = syscall.Errno(0x9) + EBUSY = syscall.Errno(0x10) + ECHILD = syscall.Errno(0xa) + EDOM = syscall.Errno(0x21) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISDIR = syscall.Errno(0x15) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + ENFILE = syscall.Errno(0x17) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOMEM = syscall.Errno(0xc) + ENOSPC = syscall.Errno(0x1c) + ENOTBLK = syscall.Errno(0xf) + ENOTDIR = syscall.Errno(0x14) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EPERM = syscall.Errno(0x1) + EPIPE = syscall.Errno(0x20) + ERANGE = syscall.Errno(0x22) + EROFS = syscall.Errno(0x1e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ETXTBSY = syscall.Errno(0x1a) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) +) 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 000000000..09fc559ed --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -0,0 +1,820 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && linux +// +build 386,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x81484d11 + ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x40049409 + FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80046601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SETFLAGS = 0x40046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x80084803 + HIDIOCGRDESC = 0x90044802 + HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x40084d02 + MEMERASE64 = 0x40104d14 + MEMGETBADBLOCK = 0x40084d0b + MEMGETINFO = 0x80204d01 + MEMGETOOBSEL = 0x80c84d0a + MEMGETREGIONCOUNT = 0x80044d07 + MEMISLOCKED = 0x80084d17 + MEMLOCK = 0x40084d05 + MEMREADOOB = 0xc00c4d04 + MEMSETBADBLOCK = 0x40084d0c + MEMUNLOCK = 0x40084d06 + MEMWRITEOOB = 0xc00c4d03 + MTDFILEMODE = 0x4d13 + NFDBITS = 0x20 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x40044d0e + OTPGETREGIONINFO = 0x400c4d0f + OTPLOCK = 0x800c4d10 + OTPSELECT = 0x80044d0d + 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_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8008743f + PPPIOCGIDLE32 = 0x8008743f + PPPIOCGIDLE64 = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCSACTIVE = 0x40087446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x400c744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + RLIMIT_AS = 0x9 + RLIMIT_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8004700d + RTC_EPOCH_SET = 0x4004700e + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 + RTC_PLL_SET = 0x401c7012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VMIN = 0x6 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WORDSIZE = 0x20 + X86_FXSR_MAGIC = 0x0 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x80804804 + _HIDIOCGRAWPHYS = 0x80404805 + _HIDIOCGRAWUNIQ = 0x80404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/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 000000000..75730cc22 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -0,0 +1,820 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && linux +// +build amd64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x81484d11 + ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x40049409 + FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SETFLAGS = 0x40086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x80084803 + HIDIOCGRDESC = 0x90044802 + HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x40084d02 + MEMERASE64 = 0x40104d14 + MEMGETBADBLOCK = 0x40084d0b + MEMGETINFO = 0x80204d01 + MEMGETOOBSEL = 0x80c84d0a + MEMGETREGIONCOUNT = 0x80044d07 + MEMISLOCKED = 0x80084d17 + MEMLOCK = 0x40084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x40084d0c + MEMUNLOCK = 0x40084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x4d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x40044d0e + OTPGETREGIONINFO = 0x400c4d0f + OTPLOCK = 0x800c4d10 + OTPSELECT = 0x80044d0d + 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_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGIDLE32 = 0x8008743f + PPPIOCGIDLE64 = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_ARCH_PRCTL = 0x1e + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + RLIMIT_AS = 0x9 + RLIMIT_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VMIN = 0x6 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x80804804 + _HIDIOCGRAWPHYS = 0x80404805 + _HIDIOCGRAWUNIQ = 0x80404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/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 000000000..127cf17ad --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -0,0 +1,826 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && linux +// +build arm,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x81484d11 + ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x40049409 + FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80046601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SETFLAGS = 0x40046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x80084803 + HIDIOCGRDESC = 0x90044802 + HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x40084d02 + MEMERASE64 = 0x40104d14 + MEMGETBADBLOCK = 0x40084d0b + MEMGETINFO = 0x80204d01 + MEMGETOOBSEL = 0x80c84d0a + MEMGETREGIONCOUNT = 0x80044d07 + MEMISLOCKED = 0x80084d17 + MEMLOCK = 0x40084d05 + MEMREADOOB = 0xc00c4d04 + MEMSETBADBLOCK = 0x40084d0c + MEMUNLOCK = 0x40084d06 + MEMWRITEOOB = 0xc00c4d03 + MTDFILEMODE = 0x4d13 + NFDBITS = 0x20 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x40044d0e + OTPGETREGIONINFO = 0x400c4d0f + OTPLOCK = 0x800c4d10 + OTPSELECT = 0x80044d0d + 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_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8008743f + PPPIOCGIDLE32 = 0x8008743f + PPPIOCGIDLE64 = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCSACTIVE = 0x40087446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x400c744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETCRUNCHREGS = 0x19 + PTRACE_GETFDPIC = 0x1f + PTRACE_GETFDPIC_EXEC = 0x0 + PTRACE_GETFDPIC_INTERP = 0x1 + PTRACE_GETFPREGS = 0xe + PTRACE_GETHBPREGS = 0x1d + PTRACE_GETVFPREGS = 0x1b + PTRACE_GETWMMXREGS = 0x12 + PTRACE_GET_THREAD_AREA = 0x16 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_SETCRUNCHREGS = 0x1a + PTRACE_SETFPREGS = 0xf + PTRACE_SETHBPREGS = 0x1e + PTRACE_SETVFPREGS = 0x1c + PTRACE_SETWMMXREGS = 0x13 + PTRACE_SET_SYSCALL = 0x17 + PT_DATA_ADDR = 0x10004 + PT_TEXT_ADDR = 0x10000 + PT_TEXT_END_ADDR = 0x10008 + RLIMIT_AS = 0x9 + RLIMIT_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8004700d + RTC_EPOCH_SET = 0x4004700e + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 + RTC_PLL_SET = 0x401c7012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VMIN = 0x6 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WORDSIZE = 0x20 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x80804804 + _HIDIOCGRAWPHYS = 0x80404805 + _HIDIOCGRAWUNIQ = 0x80404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/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 000000000..957ca1ff1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -0,0 +1,817 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && linux +// +build arm64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x81484d11 + ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + ESR_MAGIC = 0x45535201 + EXTPROC = 0x10000 + EXTRA_MAGIC = 0x45585401 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x40049409 + FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FPSIMD_MAGIC = 0x46508001 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SETFLAGS = 0x40086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x80084803 + HIDIOCGRDESC = 0x90044802 + HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x40084d02 + MEMERASE64 = 0x40104d14 + MEMGETBADBLOCK = 0x40084d0b + MEMGETINFO = 0x80204d01 + MEMGETOOBSEL = 0x80c84d0a + MEMGETREGIONCOUNT = 0x80044d07 + MEMISLOCKED = 0x80084d17 + MEMLOCK = 0x40084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x40084d0c + MEMUNLOCK = 0x40084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x4d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x40044d0e + OTPGETREGIONINFO = 0x400c4d0f + OTPLOCK = 0x800c4d10 + OTPSELECT = 0x80044d0d + 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_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGIDLE32 = 0x8008743f + PPPIOCGIDLE64 = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PROT_BTI = 0x10 + PROT_MTE = 0x20 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_PEEKMTETAGS = 0x21 + PTRACE_POKEMTETAGS = 0x22 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + RLIMIT_AS = 0x9 + RLIMIT_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SVE_MAGIC = 0x53564501 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VMIN = 0x6 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x80804804 + _HIDIOCGRAWPHYS = 0x80404805 + _HIDIOCGRAWUNIQ = 0x80404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/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 000000000..314a2054f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -0,0 +1,827 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips && linux +// +build mips,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x41484d11 + ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x80049409 + FICLONERANGE = 0x8020940d + FLUSHO = 0x2000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40046601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SETFLAGS = 0x80046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_RDLCK = 0x0 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x40084803 + HIDIOCGRDESC = 0x50044802 + HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x100 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x80 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_RENAME = 0x800 + MAP_STACK = 0x40000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x80084d02 + MEMERASE64 = 0x80104d14 + MEMGETBADBLOCK = 0x80084d0b + MEMGETINFO = 0x40204d01 + MEMGETOOBSEL = 0x40c84d0a + MEMGETREGIONCOUNT = 0x40044d07 + MEMISLOCKED = 0x40084d17 + MEMLOCK = 0x80084d05 + MEMREADOOB = 0xc00c4d04 + MEMSETBADBLOCK = 0x80084d0c + MEMUNLOCK = 0x80084d06 + MEMWRITEOOB = 0xc00c4d03 + MTDFILEMODE = 0x20004d13 + NFDBITS = 0x20 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x80044d0e + OTPGETREGIONINFO = 0x800c4d0f + OTPLOCK = 0x400c4d10 + OTPSELECT = 0x40044d0d + 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_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGIDLE32 = 0x4008743f + PPPIOCGIDLE64 = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETFPREGS = 0xe + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_SETFPREGS = 0xf + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + RLIMIT_AS = 0x6 + RLIMIT_MEMLOCK = 0x9 + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SIOCATMARK = 0x40047307 + SIOCGPGRP = 0x40047309 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NONBLOCK = 0x80 + SOCK_STREAM = 0x2 + SOL_SOCKET = 0xffff + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + 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_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1e + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x80 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x8000 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VMIN = 0x4 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WORDSIZE = 0x20 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x40804804 + _HIDIOCGRAWPHYS = 0x40404805 + _HIDIOCGRAWUNIQ = 0x40404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x9e) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + 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) + EISCONN = syscall.Errno(0x85) + 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) + 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) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTCONN = syscall.Errno(0x86) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTUNIQ = syscall.Errno(0x50) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGIO = syscall.Signal(0x16) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/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 000000000..457e8de97 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -0,0 +1,827 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64 && linux +// +build mips64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x41484d11 + ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x80049409 + FICLONERANGE = 0x8020940d + FLUSHO = 0x2000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_RDLCK = 0x0 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x40084803 + HIDIOCGRDESC = 0x50044802 + HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x100 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x80 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_RENAME = 0x800 + MAP_STACK = 0x40000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x80084d02 + MEMERASE64 = 0x80104d14 + MEMGETBADBLOCK = 0x80084d0b + MEMGETINFO = 0x40204d01 + MEMGETOOBSEL = 0x40c84d0a + MEMGETREGIONCOUNT = 0x40044d07 + MEMISLOCKED = 0x40084d17 + MEMLOCK = 0x80084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x80084d0c + MEMUNLOCK = 0x80084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x80044d0e + OTPGETREGIONINFO = 0x800c4d0f + OTPLOCK = 0x400c4d10 + OTPSELECT = 0x40044d0d + 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_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGIDLE32 = 0x4008743f + PPPIOCGIDLE64 = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_GETFPREGS = 0xe + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_SETFPREGS = 0xf + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + RLIMIT_AS = 0x6 + RLIMIT_MEMLOCK = 0x9 + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SIOCATMARK = 0x40047307 + SIOCGPGRP = 0x40047309 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NONBLOCK = 0x80 + SOCK_STREAM = 0x2 + SOL_SOCKET = 0xffff + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + 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_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1e + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x80 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x8000 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VMIN = 0x4 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x40804804 + _HIDIOCGRAWPHYS = 0x40404805 + _HIDIOCGRAWUNIQ = 0x40404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x9e) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + 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) + EISCONN = syscall.Errno(0x85) + 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) + 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) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTCONN = syscall.Errno(0x86) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTUNIQ = syscall.Errno(0x50) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGIO = syscall.Signal(0x16) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/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 000000000..33cd28f6b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -0,0 +1,827 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64le && linux +// +build mips64le,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x41484d11 + ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x80049409 + FICLONERANGE = 0x8020940d + FLUSHO = 0x2000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_RDLCK = 0x0 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x40084803 + HIDIOCGRDESC = 0x50044802 + HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x100 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x80 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_RENAME = 0x800 + MAP_STACK = 0x40000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x80084d02 + MEMERASE64 = 0x80104d14 + MEMGETBADBLOCK = 0x80084d0b + MEMGETINFO = 0x40204d01 + MEMGETOOBSEL = 0x40c84d0a + MEMGETREGIONCOUNT = 0x40044d07 + MEMISLOCKED = 0x40084d17 + MEMLOCK = 0x80084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x80084d0c + MEMUNLOCK = 0x80084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x80044d0e + OTPGETREGIONINFO = 0x800c4d0f + OTPLOCK = 0x400c4d10 + OTPSELECT = 0x40044d0d + 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_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGIDLE32 = 0x4008743f + PPPIOCGIDLE64 = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_GETFPREGS = 0xe + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_SETFPREGS = 0xf + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + RLIMIT_AS = 0x6 + RLIMIT_MEMLOCK = 0x9 + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SIOCATMARK = 0x40047307 + SIOCGPGRP = 0x40047309 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NONBLOCK = 0x80 + SOCK_STREAM = 0x2 + SOL_SOCKET = 0xffff + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + 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_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1e + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x80 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x8000 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VMIN = 0x4 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x40804804 + _HIDIOCGRAWPHYS = 0x40404805 + _HIDIOCGRAWUNIQ = 0x40404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x9e) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + 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) + EISCONN = syscall.Errno(0x85) + 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) + 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) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTCONN = syscall.Errno(0x86) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTUNIQ = syscall.Errno(0x50) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGIO = syscall.Signal(0x16) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/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 000000000..0e085ba14 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -0,0 +1,827 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mipsle && linux +// +build mipsle,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x41484d11 + ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x80049409 + FICLONERANGE = 0x8020940d + FLUSHO = 0x2000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40046601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SETFLAGS = 0x80046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_RDLCK = 0x0 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x40084803 + HIDIOCGRDESC = 0x50044802 + HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x100 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x80 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_RENAME = 0x800 + MAP_STACK = 0x40000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x80084d02 + MEMERASE64 = 0x80104d14 + MEMGETBADBLOCK = 0x80084d0b + MEMGETINFO = 0x40204d01 + MEMGETOOBSEL = 0x40c84d0a + MEMGETREGIONCOUNT = 0x40044d07 + MEMISLOCKED = 0x40084d17 + MEMLOCK = 0x80084d05 + MEMREADOOB = 0xc00c4d04 + MEMSETBADBLOCK = 0x80084d0c + MEMUNLOCK = 0x80084d06 + MEMWRITEOOB = 0xc00c4d03 + MTDFILEMODE = 0x20004d13 + NFDBITS = 0x20 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x80044d0e + OTPGETREGIONINFO = 0x800c4d0f + OTPLOCK = 0x400c4d10 + OTPSELECT = 0x40044d0d + 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_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGIDLE32 = 0x4008743f + PPPIOCGIDLE64 = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETFPREGS = 0xe + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_SETFPREGS = 0xf + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + RLIMIT_AS = 0x6 + RLIMIT_MEMLOCK = 0x9 + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SIOCATMARK = 0x40047307 + SIOCGPGRP = 0x40047309 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NONBLOCK = 0x80 + SOCK_STREAM = 0x2 + SOL_SOCKET = 0xffff + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + 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_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1e + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x80 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x8000 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VMIN = 0x4 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WORDSIZE = 0x20 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x40804804 + _HIDIOCGRAWPHYS = 0x40404805 + _HIDIOCGRAWUNIQ = 0x40404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x9e) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + 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) + EISCONN = syscall.Errno(0x85) + 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) + 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) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTCONN = syscall.Errno(0x86) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTUNIQ = syscall.Errno(0x50) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGIO = syscall.Signal(0x16) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go new file mode 100644 index 000000000..1b5928cff --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -0,0 +1,879 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc && linux +// +build ppc,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x17 + B115200 = 0x11 + B1152000 = 0x18 + B1500000 = 0x19 + B2000000 = 0x1a + B230400 = 0x12 + B2500000 = 0x1b + B3000000 = 0x1c + B3500000 = 0x1d + B4000000 = 0x1e + B460800 = 0x13 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B921600 = 0x16 + 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 = 0x1f + BS1 = 0x8000 + BSDLY = 0x8000 + CBAUD = 0xff + CBAUDEX = 0x0 + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTOPB = 0x400 + ECCGETLAYOUT = 0x41484d11 + ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000000 + FF1 = 0x4000 + FFDLY = 0x4000 + FICLONE = 0x80049409 + FICLONERANGE = 0x8020940d + FLUSHO = 0x800000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40046601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SETFLAGS = 0x80046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x40084803 + HIDIOCGRDESC = 0x50044802 + HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x4000 + ICANON = 0x100 + IEXTEN = 0x400 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + ISIG = 0x80 + IUCLC = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MEMERASE = 0x80084d02 + MEMERASE64 = 0x80104d14 + MEMGETBADBLOCK = 0x80084d0b + MEMGETINFO = 0x40204d01 + MEMGETOOBSEL = 0x40c84d0a + MEMGETREGIONCOUNT = 0x40044d07 + MEMISLOCKED = 0x40084d17 + MEMLOCK = 0x80084d05 + MEMREADOOB = 0xc00c4d04 + MEMSETBADBLOCK = 0x80084d0c + MEMUNLOCK = 0x80084d06 + MEMWRITEOOB = 0xc00c4d03 + MTDFILEMODE = 0x20004d13 + NFDBITS = 0x20 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x4 + ONLCR = 0x2 + OTPGETREGIONCOUNT = 0x80044d0e + OTPGETREGIONINFO = 0x800c4d0f + OTPLOCK = 0x400c4d10 + OTPSELECT = 0x40044d0d + 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 = 0x10000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + PARENB = 0x1000 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGIDLE32 = 0x4008743f + PPPIOCGIDLE64 = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PROT_SAO = 0x10 + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS64 = 0x16 + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETREGS64 = 0x17 + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPR31 = 0x6e + PT_FPSCR = 0x71 + PT_LNK = 0x24 + PT_MQ = 0x27 + 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_TRAP = 0x28 + PT_XER = 0x25 + RLIMIT_AS = 0x9 + RLIMIT_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x400000 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VMIN = 0x5 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WORDSIZE = 0x20 + XCASE = 0x4000 + XTABS = 0xc00 + _HIDIOCGRAWNAME = 0x40804804 + _HIDIOCGRAWPHYS = 0x40404805 + _HIDIOCGRAWUNIQ = 0x40404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/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 000000000..f3a41d6ec --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -0,0 +1,883 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc64 && linux +// +build ppc64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x17 + B115200 = 0x11 + B1152000 = 0x18 + B1500000 = 0x19 + B2000000 = 0x1a + B230400 = 0x12 + B2500000 = 0x1b + B3000000 = 0x1c + B3500000 = 0x1d + B4000000 = 0x1e + B460800 = 0x13 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B921600 = 0x16 + 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 + BS1 = 0x8000 + BSDLY = 0x8000 + CBAUD = 0xff + CBAUDEX = 0x0 + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTOPB = 0x400 + ECCGETLAYOUT = 0x41484d11 + ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000000 + FF1 = 0x4000 + FFDLY = 0x4000 + FICLONE = 0x80049409 + FICLONERANGE = 0x8020940d + FLUSHO = 0x800000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x40084803 + HIDIOCGRDESC = 0x50044802 + HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x4000 + ICANON = 0x100 + IEXTEN = 0x400 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + ISIG = 0x80 + IUCLC = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MEMERASE = 0x80084d02 + MEMERASE64 = 0x80104d14 + MEMGETBADBLOCK = 0x80084d0b + MEMGETINFO = 0x40204d01 + MEMGETOOBSEL = 0x40c84d0a + MEMGETREGIONCOUNT = 0x40044d07 + MEMISLOCKED = 0x40084d17 + MEMLOCK = 0x80084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x80084d0c + MEMUNLOCK = 0x80084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x4 + ONLCR = 0x2 + OTPGETREGIONCOUNT = 0x80044d0e + OTPGETREGIONINFO = 0x800c4d0f + OTPLOCK = 0x400c4d10 + OTPSELECT = 0x40044d0d + 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_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + PARENB = 0x1000 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGIDLE32 = 0x4008743f + PPPIOCGIDLE64 = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PROT_SAO = 0x10 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS64 = 0x16 + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETREGS64 = 0x17 + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + 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_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x400000 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VMIN = 0x5 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WORDSIZE = 0x40 + XCASE = 0x4000 + XTABS = 0xc00 + _HIDIOCGRAWNAME = 0x40804804 + _HIDIOCGRAWPHYS = 0x40404805 + _HIDIOCGRAWUNIQ = 0x40404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/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 000000000..6a5a555d5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -0,0 +1,883 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc64le && linux +// +build ppc64le,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x17 + B115200 = 0x11 + B1152000 = 0x18 + B1500000 = 0x19 + B2000000 = 0x1a + B230400 = 0x12 + B2500000 = 0x1b + B3000000 = 0x1c + B3500000 = 0x1d + B4000000 = 0x1e + B460800 = 0x13 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B921600 = 0x16 + 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 + BS1 = 0x8000 + BSDLY = 0x8000 + CBAUD = 0xff + CBAUDEX = 0x0 + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTOPB = 0x400 + ECCGETLAYOUT = 0x41484d11 + ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000000 + FF1 = 0x4000 + FFDLY = 0x4000 + FICLONE = 0x80049409 + FICLONERANGE = 0x8020940d + FLUSHO = 0x800000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x40084803 + HIDIOCGRDESC = 0x50044802 + HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x4000 + ICANON = 0x100 + IEXTEN = 0x400 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + ISIG = 0x80 + IUCLC = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MEMERASE = 0x80084d02 + MEMERASE64 = 0x80104d14 + MEMGETBADBLOCK = 0x80084d0b + MEMGETINFO = 0x40204d01 + MEMGETOOBSEL = 0x40c84d0a + MEMGETREGIONCOUNT = 0x40044d07 + MEMISLOCKED = 0x40084d17 + MEMLOCK = 0x80084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x80084d0c + MEMUNLOCK = 0x80084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x4 + ONLCR = 0x2 + OTPGETREGIONCOUNT = 0x80044d0e + OTPGETREGIONINFO = 0x800c4d0f + OTPLOCK = 0x400c4d10 + OTPSELECT = 0x40044d0d + 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_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + PARENB = 0x1000 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGIDLE32 = 0x4008743f + PPPIOCGIDLE64 = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PROT_SAO = 0x10 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS64 = 0x16 + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETREGS64 = 0x17 + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + 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_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x400000 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VMIN = 0x5 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WORDSIZE = 0x40 + XCASE = 0x4000 + XTABS = 0xc00 + _HIDIOCGRAWNAME = 0x40804804 + _HIDIOCGRAWPHYS = 0x40404805 + _HIDIOCGRAWUNIQ = 0x40404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go new file mode 100644 index 000000000..a4da67edb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -0,0 +1,807 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build riscv64 && linux +// +build riscv64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x81484d11 + ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x40049409 + FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SETFLAGS = 0x40086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x80084803 + HIDIOCGRDESC = 0x90044802 + HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x40084d02 + MEMERASE64 = 0x40104d14 + MEMGETBADBLOCK = 0x40084d0b + MEMGETINFO = 0x80204d01 + MEMGETOOBSEL = 0x80c84d0a + MEMGETREGIONCOUNT = 0x80044d07 + MEMISLOCKED = 0x80084d17 + MEMLOCK = 0x40084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x40084d0c + MEMUNLOCK = 0x40084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x4d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x40044d0e + OTPGETREGIONINFO = 0x400c4d0f + OTPLOCK = 0x800c4d10 + OTPSELECT = 0x80044d0d + 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_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGIDLE32 = 0x8008743f + PPPIOCGIDLE64 = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + RLIMIT_AS = 0x9 + RLIMIT_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VMIN = 0x6 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x80804804 + _HIDIOCGRAWPHYS = 0x80404805 + _HIDIOCGRAWUNIQ = 0x80404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/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 000000000..a7028e0ef --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -0,0 +1,882 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build s390x && linux +// +build s390x,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go + +package unix + +import "syscall" + +const ( + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x81484d11 + ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EPOLL_CLOEXEC = 0x80000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x40049409 + FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SETFLAGS = 0x40086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_RDLCK = 0x0 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + HIDIOCGRAWINFO = 0x80084803 + HIDIOCGRDESC = 0x90044802 + HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 + IN_CLOEXEC = 0x80000 + IN_NONBLOCK = 0x800 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MEMERASE = 0x40084d02 + MEMERASE64 = 0x40104d14 + MEMGETBADBLOCK = 0x40084d0b + MEMGETINFO = 0x80204d01 + MEMGETOOBSEL = 0x80c84d0a + MEMGETREGIONCOUNT = 0x80044d07 + MEMISLOCKED = 0x80084d17 + MEMLOCK = 0x40084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x40084d0c + MEMUNLOCK = 0x40084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x4d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x40044d0e + OTPGETREGIONINFO = 0x400c4d0f + OTPLOCK = 0x800c4d10 + OTPSELECT = 0x80044d0d + 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_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGIDLE32 = 0x8008743f + PPPIOCGIDLE64 = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_DISABLE_TE = 0x5010 + PTRACE_ENABLE_TE = 0x5009 + PTRACE_GET_LAST_BREAK = 0x5006 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_PEEKDATA_AREA = 0x5003 + PTRACE_PEEKTEXT_AREA = 0x5002 + PTRACE_PEEKUSR_AREA = 0x5000 + PTRACE_PEEK_SYSTEM_CALL = 0x5007 + PTRACE_POKEDATA_AREA = 0x5005 + PTRACE_POKETEXT_AREA = 0x5004 + PTRACE_POKEUSR_AREA = 0x5001 + PTRACE_POKE_SYSTEM_CALL = 0x5008 + PTRACE_PROT = 0x15 + PTRACE_SINGLEBLOCK = 0xc + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TE_ABORT_RAND = 0x5011 + 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_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x800 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0x1 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + 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_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f + SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + 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 + TFD_CLOEXEC = 0x80000 + TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VMIN = 0x6 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x80804804 + _HIDIOCGRAWPHYS = 0x80404805 + _HIDIOCGRAWUNIQ = 0x80404808 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + ECANCELED = syscall.Errno(0x7d) + 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) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EISCONN = syscall.Errno(0x6a) + 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) + 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) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTCONN = syscall.Errno(0x6b) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTUNIQ = syscall.Errno(0x4c) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPFNOSUPPORT = syscall.Errno(0x60) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGIO = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/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 000000000..ed3b3286c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -0,0 +1,877 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build sparc64 && linux +// +build sparc64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go + +package unix + +import "syscall" + +const ( + ASI_LEON_DFLUSH = 0x11 + ASI_LEON_IFLUSH = 0x10 + ASI_LEON_MMUFLUSH = 0x18 + B1000000 = 0x1008 + B115200 = 0x1002 + B1152000 = 0x1009 + B1500000 = 0x100a + B2000000 = 0x100b + B230400 = 0x1003 + B2500000 = 0x100c + B3000000 = 0x100d + B3500000 = 0x100e + B4000000 = 0x100f + B460800 = 0x1004 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B921600 = 0x1007 + 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 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 + ECCGETLAYOUT = 0x41484d11 + ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x400000 + EFD_NONBLOCK = 0x4000 + EMT_TAGOVF = 0x1 + EPOLL_CLOEXEC = 0x400000 + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 + FICLONE = 0x80049409 + FICLONERANGE = 0x8020940d + FLUSHO = 0x1000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 + FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x7 + F_GETLK64 = 0x7 + F_GETOWN = 0x5 + F_RDLCK = 0x1 + F_SETLK = 0x8 + F_SETLK64 = 0x8 + F_SETLKW = 0x9 + F_SETLKW64 = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HIDIOCGRAWINFO = 0x40084803 + HIDIOCGRDESC = 0x50044802 + HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 + IN_CLOEXEC = 0x400000 + IN_NONBLOCK = 0x4000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + ISIG = 0x1 + IUCLC = 0x200 + IXOFF = 0x1000 + IXON = 0x400 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_GROWSDOWN = 0x200 + MAP_HUGETLB = 0x40000 + MAP_LOCKED = 0x100 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_RENAME = 0x20 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MEMERASE = 0x80084d02 + MEMERASE64 = 0x80104d14 + MEMGETBADBLOCK = 0x80084d0b + MEMGETINFO = 0x40204d01 + MEMGETOOBSEL = 0x40c84d0a + MEMGETREGIONCOUNT = 0x40044d07 + MEMISLOCKED = 0x40084d17 + MEMLOCK = 0x80084d05 + MEMREADOOB = 0xc0104d04 + MEMSETBADBLOCK = 0x80084d0c + MEMUNLOCK = 0x80084d06 + MEMWRITEOOB = 0xc0104d03 + MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 + OTPGETREGIONCOUNT = 0x80044d0e + OTPGETREGIONINFO = 0x800c4d0f + OTPLOCK = 0x400c4d10 + OTPSELECT = 0x40044d0d + 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_RSYNC = 0x802000 + O_SYNC = 0x802000 + O_TMPFILE = 0x2010000 + O_TRUNC = 0x400 + PARENB = 0x100 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGIDLE32 = 0x4008743f + PPPIOCGIDLE64 = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_GETFPAREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPREGS64 = 0x19 + PTRACE_GETREGS64 = 0x16 + PTRACE_READDATA = 0x10 + PTRACE_READTEXT = 0x12 + PTRACE_SETFPAREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPREGS64 = 0x1a + PTRACE_SETREGS64 = 0x17 + PTRACE_SPARC_DETACH = 0xb + 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_MEMLOCK = 0x8 + RLIMIT_NOFILE = 0x6 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + SCM_TIMESTAMPING = 0x23 + SCM_TIMESTAMPING_OPT_STATS = 0x38 + SCM_TIMESTAMPING_PKTINFO = 0x3c + SCM_TIMESTAMPNS = 0x21 + SCM_TXTIME = 0x3f + SCM_WIFI_STATUS = 0x25 + SFD_CLOEXEC = 0x400000 + SFD_NONBLOCK = 0x4000 + SIOCATMARK = 0x8905 + SIOCGPGRP = 0x8904 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCSPGRP = 0x8902 + SOCK_CLOEXEC = 0x400000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x4000 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SO_ACCEPTCONN = 0x8000 + SO_ATTACH_BPF = 0x34 + SO_ATTACH_REUSEPORT_CBPF = 0x35 + SO_ATTACH_REUSEPORT_EBPF = 0x36 + SO_BINDTODEVICE = 0xd + SO_BINDTOIFINDEX = 0x41 + SO_BPF_EXTENSIONS = 0x32 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0x400 + SO_BUSY_POLL = 0x30 + SO_BUSY_POLL_BUDGET = 0x49 + SO_CNX_ADVICE = 0x37 + SO_COOKIE = 0x3b + SO_DETACH_REUSEPORT_BPF = 0x47 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_INCOMING_CPU = 0x33 + SO_INCOMING_NAPI_ID = 0x3a + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x28 + SO_MARK = 0x22 + SO_MAX_PACING_RATE = 0x31 + SO_MEMINFO = 0x39 + SO_NOFCS = 0x27 + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x2 + SO_PASSSEC = 0x1f + SO_PEEK_OFF = 0x26 + SO_PEERCRED = 0x40 + SO_PEERGROUPS = 0x3d + SO_PEERSEC = 0x1e + SO_PREFER_BUSY_POLL = 0x48 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x100b + SO_RCVLOWAT = 0x800 + SO_RCVTIMEO = 0x2000 + SO_RCVTIMEO_NEW = 0x44 + SO_RCVTIMEO_OLD = 0x2000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x24 + SO_SECURITY_AUTHENTICATION = 0x5001 + SO_SECURITY_ENCRYPTION_NETWORK = 0x5004 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002 + SO_SELECT_ERR_QUEUE = 0x29 + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x100a + SO_SNDLOWAT = 0x1000 + SO_SNDTIMEO = 0x4000 + SO_SNDTIMEO_NEW = 0x45 + SO_SNDTIMEO_OLD = 0x4000 + SO_TIMESTAMPING = 0x23 + SO_TIMESTAMPING_NEW = 0x43 + SO_TIMESTAMPING_OLD = 0x23 + SO_TIMESTAMPNS = 0x21 + SO_TIMESTAMPNS_NEW = 0x42 + SO_TIMESTAMPNS_OLD = 0x21 + SO_TIMESTAMP_NEW = 0x46 + SO_TXTIME = 0x3f + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x25 + SO_ZEROCOPY = 0x3e + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x20005407 + TCGETA = 0x40125401 + TCGETS = 0x40245408 + TCGETS2 = 0x402c540c + 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 + TFD_CLOEXEC = 0x400000 + TFD_NONBLOCK = 0x4000 + TIOCCBRK = 0x2000747a + TIOCCONS = 0x20007424 + TIOCEXCL = 0x2000740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x40047400 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285443 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x40047483 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40047486 + TIOCGPTPEER = 0x20007489 + TIOCGRS485 = 0x40205441 + TIOCGSERIAL = 0x541e + TIOCGSID = 0x40047485 + TIOCGSOFTCAR = 0x40047464 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x545c + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007484 + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSETD = 0x80047401 + TIOCSIG = 0x80047488 + TIOCSISO7816 = 0xc0285444 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x80047482 + TIOCSPTLCK = 0x80047487 + TIOCSRS485 = 0xc0205442 + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x80047465 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x20005437 + TOSTOP = 0x100 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VMIN = 0x6 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 + _HIDIOCGRAWNAME = 0x40804804 + _HIDIOCGRAWPHYS = 0x40404805 + _HIDIOCGRAWUNIQ = 0x40404808 + __TIOCFLUSH = 0x80047410 +) + +// Errors +const ( + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EADV = syscall.Errno(0x53) + EAFNOSUPPORT = syscall.Errno(0x2f) + EALREADY = syscall.Errno(0x25) + EBADE = syscall.Errno(0x66) + EBADFD = syscall.Errno(0x5d) + EBADMSG = syscall.Errno(0x4c) + EBADR = syscall.Errno(0x67) + EBADRQC = syscall.Errno(0x6a) + EBADSLT = syscall.Errno(0x6b) + EBFONT = syscall.Errno(0x6d) + ECANCELED = syscall.Errno(0x7f) + 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) + EDOTDOT = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EHWPOISON = syscall.Errno(0x87) + EIDRM = syscall.Errno(0x4d) + EILSEQ = syscall.Errno(0x7a) + EINPROGRESS = syscall.Errno(0x24) + EISCONN = syscall.Errno(0x38) + 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) + 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) + ENOANO = syscall.Errno(0x69) + ENOBUFS = syscall.Errno(0x37) + ENOCSI = syscall.Errno(0x64) + ENODATA = syscall.Errno(0x6f) + ENOKEY = syscall.Errno(0x80) + ENOLCK = syscall.Errno(0x4f) + ENOLINK = syscall.Errno(0x52) + ENOMEDIUM = syscall.Errno(0x7d) + ENOMSG = syscall.Errno(0x4b) + ENONET = syscall.Errno(0x50) + ENOPKG = syscall.Errno(0x71) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSR = syscall.Errno(0x4a) + ENOSTR = syscall.Errno(0x48) + ENOSYS = syscall.Errno(0x5a) + ENOTCONN = syscall.Errno(0x39) + ENOTEMPTY = syscall.Errno(0x42) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x85) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTUNIQ = syscall.Errno(0x73) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x5c) + EOWNERDEAD = syscall.Errno(0x84) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPROCLIM = syscall.Errno(0x43) + EPROTO = syscall.Errno(0x56) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EREMCHG = syscall.Errno(0x59) + EREMOTE = syscall.Errno(0x47) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x74) + ERFKILL = syscall.Errno(0x86) + ERREMOTE = syscall.Errno(0x51) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESRMNT = syscall.Errno(0x54) + ESTALE = syscall.Errno(0x46) + ESTRPIPE = syscall.Errno(0x5b) + ETIME = syscall.Errno(0x49) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x63) + EUSERS = syscall.Errno(0x44) + EXFULL = syscall.Errno(0x68) +) + +// Signals +const ( + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGIO = syscall.Signal(0x17) + SIGLOST = syscall.Signal(0x1d) + SIGPOLL = syscall.Signal(0x17) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1d) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "cannot assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "transport endpoint is already connected"}, + {57, "ENOTCONN", "transport endpoint is not connected"}, + {58, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {59, "ETOOMANYREFS", "too many references: cannot splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale file handle"}, + {71, "EREMOTE", "object is remote"}, + {72, "ENOSTR", "device not a stream"}, + {73, "ETIME", "timer expired"}, + {74, "ENOSR", "out of streams resources"}, + {75, "ENOMSG", "no message of desired type"}, + {76, "EBADMSG", "bad message"}, + {77, "EIDRM", "identifier removed"}, + {78, "EDEADLK", "resource deadlock avoided"}, + {79, "ENOLCK", "no locks available"}, + {80, "ENONET", "machine is not on the network"}, + {81, "ERREMOTE", "unknown error 81"}, + {82, "ENOLINK", "link has been severed"}, + {83, "EADV", "advertise error"}, + {84, "ESRMNT", "srmount error"}, + {85, "ECOMM", "communication error on send"}, + {86, "EPROTO", "protocol error"}, + {87, "EMULTIHOP", "multihop attempted"}, + {88, "EDOTDOT", "RFS specific error"}, + {89, "EREMCHG", "remote address changed"}, + {90, "ENOSYS", "function not implemented"}, + {91, "ESTRPIPE", "streams pipe error"}, + {92, "EOVERFLOW", "value too large for defined data type"}, + {93, "EBADFD", "file descriptor in bad state"}, + {94, "ECHRNG", "channel number out of range"}, + {95, "EL2NSYNC", "level 2 not synchronized"}, + {96, "EL3HLT", "level 3 halted"}, + {97, "EL3RST", "level 3 reset"}, + {98, "ELNRNG", "link number out of range"}, + {99, "EUNATCH", "protocol driver not attached"}, + {100, "ENOCSI", "no CSI structure available"}, + {101, "EL2HLT", "level 2 halted"}, + {102, "EBADE", "invalid exchange"}, + {103, "EBADR", "invalid request descriptor"}, + {104, "EXFULL", "exchange full"}, + {105, "ENOANO", "no anode"}, + {106, "EBADRQC", "invalid request code"}, + {107, "EBADSLT", "invalid slot"}, + {108, "EDEADLOCK", "file locking deadlock error"}, + {109, "EBFONT", "bad font file format"}, + {110, "ELIBEXEC", "cannot exec a shared library directly"}, + {111, "ENODATA", "no data available"}, + {112, "ELIBBAD", "accessing a corrupted shared library"}, + {113, "ENOPKG", "package not installed"}, + {114, "ELIBACC", "can not access a needed shared library"}, + {115, "ENOTUNIQ", "name not unique on network"}, + {116, "ERESTART", "interrupted system call should be restarted"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {123, "ELIBMAX", "attempting to link in too many shared libraries"}, + {124, "ELIBSCN", ".lib section in a.out corrupted"}, + {125, "ENOMEDIUM", "no medium found"}, + {126, "EMEDIUMTYPE", "wrong medium type"}, + {127, "ECANCELED", "operation canceled"}, + {128, "ENOKEY", "required key not available"}, + {129, "EKEYEXPIRED", "key has expired"}, + {130, "EKEYREVOKED", "key has been revoked"}, + {131, "EKEYREJECTED", "key was rejected by service"}, + {132, "EOWNERDEAD", "owner died"}, + {133, "ENOTRECOVERABLE", "state not recoverable"}, + {134, "ERFKILL", "operation not possible due to RF-kill"}, + {135, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGLOST", "power failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/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 000000000..72f7420d2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go @@ -0,0 +1,1780 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && netbsd +// +build 386,netbsd + +// Code generated by cmd/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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + EN_SW_CTL_INF = 0x1000 + EN_SW_CTL_PREC = 0x300 + EN_SW_CTL_ROUND = 0xc00 + EN_SW_DATACHAIN = 0x80 + EN_SW_DENORM = 0x2 + EN_SW_INVOP = 0x1 + EN_SW_OVERFLOW = 0x8 + EN_SW_PRECLOSS = 0x20 + EN_SW_UNDERFLOW = 0x10 + EN_SW_ZERODIV = 0x4 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/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 000000000..8d4eb0c08 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go @@ -0,0 +1,1770 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && netbsd +// +build amd64,netbsd + +// Code generated by cmd/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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/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 000000000..9eef9749f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go @@ -0,0 +1,1759 @@ +// mkerrors.sh -marm +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && netbsd +// +build arm,netbsd + +// Code generated by cmd/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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PRI_IOFLUSH = 0x7c + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x48087446 + TIOCPTSNAME = 0x48087448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go new file mode 100644 index 000000000..3b62ba192 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go @@ -0,0 +1,1770 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && netbsd +// +build arm64,netbsd + +// Code generated by cmd/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 + CPUSTATES = 0x5 + CP_IDLE = 0x4 + CP_INTR = 0x3 + CP_NICE = 0x1 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/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 000000000..593cc0fef --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go @@ -0,0 +1,1665 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && openbsd +// +build 386,openbsd + +// Code generated by cmd/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 + CPUSTATES = 0x6 + CP_IDLE = 0x5 + CP_INTR = 0x4 + CP_NICE = 0x1 + CP_SPIN = 0x3 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_MASK = 0x3ff000 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x10f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_SOURCE = 0x20000 + RTF_STATIC = 0x800 + RTF_TUNNEL = 0x100000 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ELAST", "not supported"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/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 000000000..25cb60948 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go @@ -0,0 +1,1775 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && openbsd +// +build amd64,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CPUSTATES = 0x6 + CP_IDLE = 0x5 + CP_INTR = 0x4 + CP_NICE = 0x1 + CP_SPIN = 0x3 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MAXID = 0xc + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/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 000000000..a4e4c2231 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go @@ -0,0 +1,1667 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && openbsd +// +build arm,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- _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 + CPUSTATES = 0x6 + CP_IDLE = 0x5 + CP_INTR = 0x4 + CP_NICE = 0x1 + CP_SPIN = 0x3 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x70f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ELAST", "not supported"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go new file mode 100644 index 000000000..90de7dfc3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go @@ -0,0 +1,1798 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && openbsd +// +build arm64,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_FILDROP_CAPTURE = 0x1 + BPF_FILDROP_DROP = 0x2 + BPF_FILDROP_PASS = 0x0 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CPUSTATES = 0x6 + CP_IDLE = 0x5 + CP_INTR = 0x4 + CP_NICE = 0x1 + CP_SPIN = 0x3 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PBB = 0x88e7 + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SWAPPABLE = 0x200000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_80211INFO = 0x15 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_CHGADDRATTR = 0x14 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELLABEL = 0x80206997 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDPWE3NEIGHBOR = 0x802069de + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGLIST = 0xc028698d + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFSFFPAGE = 0xc1126939 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYECN = 0xc02069c8 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGPWE3 = 0xc0206998 + SIOCGPWE3CTRLWORD = 0xc02069dc + SIOCGPWE3FAT = 0xc02069dd + SIOCGPWE3NEIGHBOR = 0xc21869de + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGTXHPRIO = 0xc02069c6 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYECN = 0x802069c7 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSPWE3CTRLWORD = 0x802069dc + SIOCSPWE3FAT = 0x802069dd + SIOCSPWE3NEIGHBOR = 0x821869de + SIOCSSPPPPARAMS = 0x80206993 + SIOCSTXHPRIO = 0x802069c5 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MALLOC_CONF = 0xc + VM_MAXID = 0xd + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go new file mode 100644 index 000000000..f1154ff56 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go @@ -0,0 +1,1863 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64 && openbsd +// +build mips64,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_FILDROP_CAPTURE = 0x1 + BPF_FILDROP_DROP = 0x2 + BPF_FILDROP_PASS = 0x0 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CPUSTATES = 0x6 + CP_IDLE = 0x5 + CP_INTR = 0x4 + CP_NICE = 0x1 + CP_SPIN = 0x3 + CP_SYS = 0x2 + CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCADDQUEUE = 0xc110445d + DIOCADDRULE = 0xcd604404 + DIOCADDSTATE = 0xc1084425 + DIOCCHANGERULE = 0xcd60441a + DIOCCLRIFFLAG = 0xc028445a + DIOCCLRSRCNODES = 0x20004455 + DIOCCLRSTATES = 0xc0e04412 + DIOCCLRSTATUS = 0xc0284416 + DIOCGETLIMIT = 0xc0084427 + DIOCGETQSTATS = 0xc1204460 + DIOCGETQUEUE = 0xc110445f + DIOCGETQUEUES = 0xc110445e + DIOCGETRULE = 0xcd604407 + DIOCGETRULES = 0xcd604406 + DIOCGETRULESET = 0xc444443b + DIOCGETRULESETS = 0xc444443a + DIOCGETSRCNODES = 0xc0104454 + DIOCGETSTATE = 0xc1084413 + DIOCGETSTATES = 0xc0104419 + DIOCGETSTATUS = 0xc1e84415 + DIOCGETSYNFLWATS = 0xc0084463 + DIOCGETTIMEOUT = 0xc008441e + DIOCIGETIFACES = 0xc0284457 + DIOCKILLSRCNODES = 0xc080445b + DIOCKILLSTATES = 0xc0e04429 + DIOCNATLOOK = 0xc0504417 + DIOCOSFPADD = 0xc088444f + DIOCOSFPFLUSH = 0x2000444e + DIOCOSFPGET = 0xc0884450 + DIOCRADDADDRS = 0xc4504443 + DIOCRADDTABLES = 0xc450443d + DIOCRCLRADDRS = 0xc4504442 + DIOCRCLRASTATS = 0xc4504448 + DIOCRCLRTABLES = 0xc450443c + DIOCRCLRTSTATS = 0xc4504441 + DIOCRDELADDRS = 0xc4504444 + DIOCRDELTABLES = 0xc450443e + DIOCRGETADDRS = 0xc4504446 + DIOCRGETASTATS = 0xc4504447 + DIOCRGETTABLES = 0xc450443f + DIOCRGETTSTATS = 0xc4504440 + DIOCRINADEFINE = 0xc450444d + DIOCRSETADDRS = 0xc4504445 + DIOCRSETTFLAGS = 0xc450444a + DIOCRTSTADDRS = 0xc4504449 + DIOCSETDEBUG = 0xc0044418 + DIOCSETHOSTID = 0xc0044456 + DIOCSETIFFLAG = 0xc0284459 + DIOCSETLIMIT = 0xc0084428 + DIOCSETREASS = 0xc004445c + DIOCSETSTATUSIF = 0xc0284414 + DIOCSETSYNCOOKIES = 0xc0014462 + DIOCSETSYNFLWATS = 0xc0084461 + DIOCSETTIMEOUT = 0xc008441d + DIOCSTART = 0x20004401 + DIOCSTOP = 0x20004402 + DIOCXBEGIN = 0xc0104451 + DIOCXCOMMIT = 0xc0104452 + DIOCXROLLBACK = 0xc0104453 + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MACSEC = 0x88e5 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PBB = 0x88e7 + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + 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 = 0xfffffff + IPV6_FLOWLABEL_MASK = 0xfffff + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SWAPPABLE = 0x200000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_80211INFO = 0x15 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_CHGADDRATTR = 0x14 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELLABEL = 0x80206997 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDPWE3NEIGHBOR = 0x802069de + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGLIST = 0xc028698d + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFSFFPAGE = 0xc1126939 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYECN = 0xc02069c8 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGPWE3 = 0xc0206998 + SIOCGPWE3CTRLWORD = 0xc02069dc + SIOCGPWE3FAT = 0xc02069dd + SIOCGPWE3NEIGHBOR = 0xc21869de + SIOCGRXHPRIO = 0xc02069db + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGTXHPRIO = 0xc02069c6 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYECN = 0x802069c7 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSPWE3CTRLWORD = 0x802069dc + SIOCSPWE3FAT = 0x802069dd + SIOCSPWE3NEIGHBOR = 0x821869de + SIOCSRXHPRIO = 0x802069db + SIOCSSPPPPARAMS = 0x80206993 + SIOCSTXHPRIO = 0x802069c5 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DOMAIN = 0x1024 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_PROTOCOL = 0x1025 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACKHOLE_LIMIT = 0x80 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MALLOC_CONF = 0xc + VM_MAXID = 0xd + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/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 000000000..1afee6a08 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go @@ -0,0 +1,1557 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && solaris +// +build amd64,solaris + +// Code generated by cmd/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 + DIOC = 0x6400 + DIOCGETB = 0x6402 + DIOCGETC = 0x6401 + DIOCGETP = 0x6408 + DIOCSETE = 0x6403 + DIOCSETP = 0x6409 + 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 + FIORDCHK = 0x6603 + 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 + ICMP6_FILTER = 0x1 + 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_RECVTOS = 0xc + 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 + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x2 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x29 + MCAST_JOIN_SOURCE_GROUP = 0x2d + MCAST_LEAVE_GROUP = 0x2a + MCAST_LEAVE_SOURCE_GROUP = 0x2e + MCAST_UNBLOCK_SOURCE = 0x2c + 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_NOSIGNAL = 0x200 + MSG_NOTIFICATION = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x20 + MSG_WAITALL = 0x40 + MSG_XPG4_2 = 0x8000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_OLDSYNC = 0x0 + MS_SYNC = 0x4 + M_FLUSH = 0x86 + NAME_MAX = 0xff + NEWDEV = 0x1 + NFDBITS = 0x40 + NL0 = 0x0 + NL1 = 0x100 + NLDLY = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + OLDDEV = 0x0 + ONBITSMAJOR = 0x7 + ONBITSMINOR = 0x8 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENFAIL = -0x1 + OPOST = 0x1 + O_ACCMODE = 0x600003 + O_APPEND = 0x8 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DIRECT = 0x2000000 + O_DIRECTORY = 0x1000000 + 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 = 0xfffffffffffffffd + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_NUMBITS = 0x9 + RTA_SRC = 0x100 + RTF_BLACKHOLE = 0x1000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INDIRECT = 0x40000 + RTF_KERNEL = 0x80000 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTIRT = 0x10000 + RTF_PRIVATE = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SETSRC = 0x20000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTF_ZONE = 0x100000 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0xf + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_FREEADDR = 0x10 + RTM_GET = 0x4 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_VERSION = 0x3 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_AWARE = 0x1 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_RIGHTS = 0x1010 + SCM_TIMESTAMP = 0x1013 + SCM_UCRED = 0x1012 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIG2STR_MAX = 0x20 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDRT = -0x7fcf8df6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fdb96e0 + SIOCDELMULTI = -0x7fdf96ce + SIOCDELRT = -0x7fcf8df5 + SIOCDXARP = -0x7fff9658 + SIOCGARP = -0x3fdb96e1 + SIOCGDSTINFO = -0x3fff965c + SIOCGENADDR = -0x3fdf96ab + SIOCGENPSTATS = -0x3fdf96c7 + SIOCGETLSGCNT = -0x3fef8deb + SIOCGETNAME = 0x40107334 + SIOCGETPEER = 0x40107335 + SIOCGETPROP = -0x3fff8f44 + SIOCGETSGCNT = -0x3feb8deb + SIOCGETSYNC = -0x3fdf96d3 + SIOCGETVIFCNT = -0x3feb8dec + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fdf96f3 + SIOCGIFBRDADDR = -0x3fdf96e9 + SIOCGIFCONF = -0x3ff796a4 + SIOCGIFDSTADDR = -0x3fdf96f1 + SIOCGIFFLAGS = -0x3fdf96ef + SIOCGIFHWADDR = -0x3fdf9647 + SIOCGIFINDEX = -0x3fdf96a6 + SIOCGIFMEM = -0x3fdf96ed + SIOCGIFMETRIC = -0x3fdf96e5 + SIOCGIFMTU = -0x3fdf96ea + SIOCGIFMUXID = -0x3fdf96a8 + SIOCGIFNETMASK = -0x3fdf96e7 + SIOCGIFNUM = 0x40046957 + SIOCGIP6ADDRPOLICY = -0x3fff965e + SIOCGIPMSFILTER = -0x3ffb964c + SIOCGLIFADDR = -0x3f87968f + SIOCGLIFBINDING = -0x3f879666 + SIOCGLIFBRDADDR = -0x3f879685 + SIOCGLIFCONF = -0x3fef965b + SIOCGLIFDADSTATE = -0x3f879642 + SIOCGLIFDSTADDR = -0x3f87968d + SIOCGLIFFLAGS = -0x3f87968b + SIOCGLIFGROUPINFO = -0x3f4b9663 + SIOCGLIFGROUPNAME = -0x3f879664 + SIOCGLIFHWADDR = -0x3f879640 + SIOCGLIFINDEX = -0x3f87967b + SIOCGLIFLNKINFO = -0x3f879674 + SIOCGLIFMETRIC = -0x3f879681 + SIOCGLIFMTU = -0x3f879686 + SIOCGLIFMUXID = -0x3f87967d + SIOCGLIFNETMASK = -0x3f879683 + SIOCGLIFNUM = -0x3ff3967e + SIOCGLIFSRCOF = -0x3fef964f + SIOCGLIFSUBNET = -0x3f879676 + SIOCGLIFTOKEN = -0x3f879678 + SIOCGLIFUSESRC = -0x3f879651 + SIOCGLIFZONE = -0x3f879656 + SIOCGLOWAT = 0x40047303 + SIOCGMSFILTER = -0x3ffb964e + SIOCGPGRP = 0x40047309 + SIOCGSTAMP = -0x3fef9646 + SIOCGXARP = -0x3fff9659 + SIOCIFDETACH = -0x7fdf96c8 + SIOCILB = -0x3ffb9645 + SIOCLIFADDIF = -0x3f879691 + SIOCLIFDELND = -0x7f879673 + SIOCLIFGETND = -0x3f879672 + SIOCLIFREMOVEIF = -0x7f879692 + SIOCLIFSETND = -0x7f879671 + SIOCLOWER = -0x7fdf96d7 + SIOCSARP = -0x7fdb96e2 + SIOCSCTPGOPT = -0x3fef9653 + SIOCSCTPPEELOFF = -0x3ffb9652 + SIOCSCTPSOPT = -0x7fef9654 + SIOCSENABLESDP = -0x3ffb9649 + SIOCSETPROP = -0x7ffb8f43 + SIOCSETSYNC = -0x7fdf96d4 + SIOCSHIWAT = -0x7ffb8d00 + SIOCSIFADDR = -0x7fdf96f4 + SIOCSIFBRDADDR = -0x7fdf96e8 + SIOCSIFDSTADDR = -0x7fdf96f2 + SIOCSIFFLAGS = -0x7fdf96f0 + SIOCSIFINDEX = -0x7fdf96a5 + SIOCSIFMEM = -0x7fdf96ee + SIOCSIFMETRIC = -0x7fdf96e4 + SIOCSIFMTU = -0x7fdf96eb + SIOCSIFMUXID = -0x7fdf96a7 + SIOCSIFNAME = -0x7fdf96b7 + SIOCSIFNETMASK = -0x7fdf96e6 + SIOCSIP6ADDRPOLICY = -0x7fff965d + SIOCSIPMSFILTER = -0x7ffb964b + SIOCSLGETREQ = -0x3fdf96b9 + SIOCSLIFADDR = -0x7f879690 + SIOCSLIFBRDADDR = -0x7f879684 + SIOCSLIFDSTADDR = -0x7f87968e + SIOCSLIFFLAGS = -0x7f87968c + SIOCSLIFGROUPNAME = -0x7f879665 + SIOCSLIFINDEX = -0x7f87967a + SIOCSLIFLNKINFO = -0x7f879675 + SIOCSLIFMETRIC = -0x7f879680 + SIOCSLIFMTU = -0x7f879687 + SIOCSLIFMUXID = -0x7f87967c + SIOCSLIFNAME = -0x3f87967f + SIOCSLIFNETMASK = -0x7f879682 + SIOCSLIFPREFIX = -0x3f879641 + SIOCSLIFSUBNET = -0x7f879677 + SIOCSLIFTOKEN = -0x7f879679 + SIOCSLIFUSESRC = -0x7f879650 + SIOCSLIFZONE = -0x7f879655 + SIOCSLOWAT = -0x7ffb8cfe + SIOCSLSTAT = -0x7fdf96b8 + SIOCSMSFILTER = -0x7ffb964d + SIOCSPGRP = -0x7ffb8cf8 + SIOCSPROMISC = -0x7ffb96d0 + SIOCSQPTR = -0x3ffb9648 + SIOCSSDSTATS = -0x3fdf96d2 + SIOCSSESTATS = -0x3fdf96d1 + SIOCSXARP = -0x7fff965a + SIOCTMYADDR = -0x3ff79670 + SIOCTMYSITE = -0x3ff7966e + SIOCTONLINK = -0x3ff7966f + SIOCUPPER = -0x7fdf96d8 + SIOCX25RCV = -0x3fdf96c4 + SIOCX25TBL = -0x3fdf96c3 + SIOCX25XMT = -0x3fdf96c5 + SIOCXPROTO = 0x20007337 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NDELAY = 0x200000 + SOCK_NONBLOCK = 0x100000 + SOCK_RAW = 0x4 + SOCK_RDM = 0x5 + SOCK_SEQPACKET = 0x6 + SOCK_STREAM = 0x2 + SOCK_TYPE_MASK = 0xffff + SOL_FILTER = 0xfffc + SOL_PACKET = 0xfffd + SOL_ROUTE = 0xfffe + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ALL = 0x3f + SO_ALLZONES = 0x1014 + SO_ANON_MLP = 0x100a + SO_ATTACH_FILTER = 0x40000001 + SO_BAND = 0x4000 + SO_BROADCAST = 0x20 + SO_COPYOPT = 0x80000 + SO_DEBUG = 0x1 + SO_DELIM = 0x8000 + SO_DETACH_FILTER = 0x40000002 + SO_DGRAM_ERRIND = 0x200 + SO_DOMAIN = 0x100c + SO_DONTLINGER = -0x81 + SO_DONTROUTE = 0x10 + SO_ERROPT = 0x40000 + SO_ERROR = 0x1007 + SO_EXCLBIND = 0x1015 + SO_HIWAT = 0x10 + SO_ISNTTY = 0x800 + SO_ISTTY = 0x400 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOWAT = 0x20 + SO_MAC_EXEMPT = 0x100b + SO_MAC_IMPLICIT = 0x1016 + SO_MAXBLK = 0x100000 + SO_MAXPSZ = 0x8 + SO_MINPSZ = 0x4 + SO_MREADOFF = 0x80 + SO_MREADON = 0x40 + SO_NDELOFF = 0x200 + SO_NDELON = 0x100 + SO_NODELIM = 0x10000 + SO_OOBINLINE = 0x100 + SO_PROTOTYPE = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVPSH = 0x100d + SO_RCVTIMEO = 0x1006 + SO_READOPT = 0x1 + SO_RECVUCRED = 0x400 + SO_REUSEADDR = 0x4 + SO_SECATTR = 0x1011 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STRHOLD = 0x20000 + SO_TAIL = 0x200000 + SO_TIMESTAMP = 0x1013 + SO_TONSTOP = 0x2000 + SO_TOSTOP = 0x1000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_VRRP = 0x1017 + SO_WROFF = 0x2 + S_ENFMT = 0x400 + S_IAMB = 0x1ff + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFDOOR = 0xd000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFNAM = 0x5000 + S_IFPORT = 0xe000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_INSEM = 0x1 + S_INSHD = 0x2 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_ABORT_THRESHOLD = 0x11 + TCP_ANONPRIVBIND = 0x20 + TCP_CONGESTION = 0x25 + 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 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + TIOC = 0x5400 + TIOCCBRK = 0x747a + TIOCCDTR = 0x7478 + TIOCCILOOP = 0x746c + TIOCEXCL = 0x740d + TIOCFLUSH = 0x7410 + TIOCGETC = 0x7412 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x7414 + TIOCGPPS = 0x547d + TIOCGPPSEV = 0x547f + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5469 + TIOCGWINSZ = 0x5468 + TIOCHPCL = 0x7402 + TIOCKBOF = 0x5409 + TIOCKBON = 0x5408 + TIOCLBIC = 0x747e + TIOCLBIS = 0x747f + TIOCLGET = 0x747c + TIOCLSET = 0x747d + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMSET = 0x741a + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x7471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7473 + TIOCREMOTE = 0x741e + TIOCSBRK = 0x747b + TIOCSCTTY = 0x7484 + TIOCSDTR = 0x7479 + TIOCSETC = 0x7411 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIGNAL = 0x741f + TIOCSILOOP = 0x746d + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x7415 + TIOCSPPS = 0x547e + TIOCSSOFTCAR = 0x546a + TIOCSTART = 0x746e + TIOCSTI = 0x7417 + TIOCSTOP = 0x746f + TIOCSWINSZ = 0x5467 + TOSTOP = 0x100 + UTIME_NOW = -0x1 + UTIME_OMIT = -0x2 + VCEOF = 0x8 + VCEOL = 0x9 + VDISCARD = 0xd + VDSUSP = 0xb + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VERASE2 = 0x11 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTATUS = 0x10 + VSTOP = 0x9 + VSUSP = 0xa + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WCONTFLG = 0xffff + WCONTINUED = 0x8 + WCOREFLG = 0x80 + WEXITED = 0x1 + WNOHANG = 0x40 + WNOWAIT = 0x80 + WOPTMASK = 0xcf + WRAP = 0x20000 + WSIGMASK = 0x7f + WSTOPFLG = 0x7f + WSTOPPED = 0x4 + WTRAPPED = 0x2 + WUNTRACED = 0x4 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x39) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x2f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x31) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOCKUNMAPPED = syscall.Errno(0x48) + ELOOP = syscall.Errno(0x5a) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTACTIVE = syscall.Errno(0x49) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTRECOVERABLE = syscall.Errno(0x3b) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x30) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0x3a) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMOTE = syscall.Errno(0x42) + ERESTART = syscall.Errno(0x5b) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCANCEL = syscall.Signal(0x24) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGFREEZE = syscall.Signal(0x22) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x29) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGJVM1 = syscall.Signal(0x27) + SIGJVM2 = syscall.Signal(0x28) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x25) + SIGLWP = syscall.Signal(0x21) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHAW = syscall.Signal(0x23) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWAITING = syscall.Signal(0x20) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) + SIGXRES = syscall.Signal(0x26) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock situation detected/avoided"}, + {46, "ENOLCK", "no record locks available"}, + {47, "ECANCELED", "operation canceled"}, + {48, "ENOTSUP", "operation not supported"}, + {49, "EDQUOT", "disc quota exceeded"}, + {50, "EBADE", "bad exchange descriptor"}, + {51, "EBADR", "bad request descriptor"}, + {52, "EXFULL", "message tables full"}, + {53, "ENOANO", "anode table overflow"}, + {54, "EBADRQC", "bad request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock"}, + {57, "EBFONT", "bad font file format"}, + {58, "EOWNERDEAD", "owner of the lock died"}, + {59, "ENOTRECOVERABLE", "lock is not recoverable"}, + {60, "ENOSTR", "not a stream device"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of stream resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "ELOCKUNMAPPED", "locked lock was unmapped "}, + {73, "ENOTACTIVE", "facility is not active"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "not a data message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in more shared libraries than system limit"}, + {87, "ELIBEXEC", "can not exec a shared library directly"}, + {88, "EILSEQ", "illegal byte sequence"}, + {89, "ENOSYS", "operation not applicable"}, + {90, "ELOOP", "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"}, + {91, "ERESTART", "error 91"}, + {92, "ESTRPIPE", "error 92"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "option not supported by protocol"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "EOPNOTSUPP", "operation not supported on transport endpoint"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection because of reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {143, "ESHUTDOWN", "cannot send after socket shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale NFS file handle"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal Instruction"}, + {5, "SIGTRAP", "trace/Breakpoint Trap"}, + {6, "SIGABRT", "abort"}, + {7, "SIGEMT", "emulation Trap"}, + {8, "SIGFPE", "arithmetic Exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus Error"}, + {11, "SIGSEGV", "segmentation Fault"}, + {12, "SIGSYS", "bad System Call"}, + {13, "SIGPIPE", "broken Pipe"}, + {14, "SIGALRM", "alarm Clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user Signal 1"}, + {17, "SIGUSR2", "user Signal 2"}, + {18, "SIGCHLD", "child Status Changed"}, + {19, "SIGPWR", "power-Fail/Restart"}, + {20, "SIGWINCH", "window Size Change"}, + {21, "SIGURG", "urgent Socket Condition"}, + {22, "SIGIO", "pollable Event"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped (user)"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual Timer Expired"}, + {29, "SIGPROF", "profiling Timer Expired"}, + {30, "SIGXCPU", "cpu Limit Exceeded"}, + {31, "SIGXFSZ", "file Size Limit Exceeded"}, + {32, "SIGWAITING", "no runnable lwp"}, + {33, "SIGLWP", "inter-lwp signal"}, + {34, "SIGFREEZE", "checkpoint Freeze"}, + {35, "SIGTHAW", "checkpoint Thaw"}, + {36, "SIGCANCEL", "thread Cancellation"}, + {37, "SIGLOST", "resource Lost"}, + {38, "SIGXRES", "resource Control Exceeded"}, + {39, "SIGJVM1", "reserved for JVM 1"}, + {40, "SIGJVM2", "reserved for JVM 2"}, + {41, "SIGINFO", "information Request"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go new file mode 100644 index 000000000..fc7d0506f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go @@ -0,0 +1,860 @@ +// Copyright 2020 The Go 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:build zos && s390x +// +build zos,s390x + +// Hand edited based on zerrors_linux_s390x.go +// TODO: auto-generate. + +package unix + +const ( + BRKINT = 0x0001 + CLOCK_MONOTONIC = 0x1 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x3 + CS8 = 0x0030 + CSIZE = 0x0030 + ECHO = 0x00000008 + ECHONL = 0x00000001 + FD_CLOEXEC = 0x01 + FD_CLOFORK = 0x02 + FNDELAY = 0x04 + F_CLOSFD = 9 + F_CONTROL_CVT = 13 + F_DUPFD = 0 + F_DUPFD2 = 8 + F_GETFD = 1 + F_GETFL = 259 + F_GETLK = 5 + F_GETOWN = 10 + F_OK = 0x0 + F_RDLCK = 1 + F_SETFD = 2 + F_SETFL = 4 + F_SETLK = 6 + F_SETLKW = 7 + F_SETOWN = 11 + F_SETTAG = 12 + F_UNLCK = 3 + F_WRLCK = 2 + FSTYPE_ZFS = 0xe9 //"Z" + FSTYPE_HFS = 0xc8 //"H" + FSTYPE_NFS = 0xd5 //"N" + FSTYPE_TFS = 0xe3 //"T" + FSTYPE_AUTOMOUNT = 0xc1 //"A" + IP6F_MORE_FRAG = 0x0001 + IP6F_OFF_MASK = 0xfff8 + IP6F_RESERVED_MASK = 0x0006 + IP6OPT_JUMBO = 0xc2 + IP6OPT_JUMBO_LEN = 6 + IP6OPT_MUTABLE = 0x20 + IP6OPT_NSAP_ADDR = 0xc3 + IP6OPT_PAD1 = 0x00 + IP6OPT_PADN = 0x01 + IP6OPT_ROUTER_ALERT = 0x05 + IP6OPT_TUNNEL_LIMIT = 0x04 + IP6OPT_TYPE_DISCARD = 0x40 + IP6OPT_TYPE_FORCEICMP = 0x80 + IP6OPT_TYPE_ICMP = 0xc0 + IP6OPT_TYPE_SKIP = 0x00 + IP6_ALERT_AN = 0x0002 + IP6_ALERT_MLD = 0x0000 + IP6_ALERT_RSVP = 0x0001 + IPPORT_RESERVED = 1024 + IPPORT_USERRESERVED = 5000 + IPPROTO_AH = 51 + SOL_AH = 51 + IPPROTO_DSTOPTS = 60 + SOL_DSTOPTS = 60 + IPPROTO_EGP = 8 + SOL_EGP = 8 + IPPROTO_ESP = 50 + SOL_ESP = 50 + IPPROTO_FRAGMENT = 44 + SOL_FRAGMENT = 44 + IPPROTO_GGP = 2 + SOL_GGP = 2 + IPPROTO_HOPOPTS = 0 + SOL_HOPOPTS = 0 + IPPROTO_ICMP = 1 + SOL_ICMP = 1 + IPPROTO_ICMPV6 = 58 + SOL_ICMPV6 = 58 + IPPROTO_IDP = 22 + SOL_IDP = 22 + IPPROTO_IP = 0 + SOL_IP = 0 + IPPROTO_IPV6 = 41 + SOL_IPV6 = 41 + IPPROTO_MAX = 256 + SOL_MAX = 256 + IPPROTO_NONE = 59 + SOL_NONE = 59 + IPPROTO_PUP = 12 + SOL_PUP = 12 + IPPROTO_RAW = 255 + SOL_RAW = 255 + IPPROTO_ROUTING = 43 + SOL_ROUTING = 43 + IPPROTO_TCP = 6 + SOL_TCP = 6 + IPPROTO_UDP = 17 + SOL_UDP = 17 + IPV6_ADDR_PREFERENCES = 32 + IPV6_CHECKSUM = 19 + IPV6_DONTFRAG = 29 + IPV6_DSTOPTS = 23 + IPV6_HOPLIMIT = 11 + IPV6_HOPOPTS = 22 + IPV6_JOIN_GROUP = 5 + IPV6_LEAVE_GROUP = 6 + IPV6_MULTICAST_HOPS = 9 + IPV6_MULTICAST_IF = 7 + IPV6_MULTICAST_LOOP = 4 + IPV6_NEXTHOP = 20 + IPV6_PATHMTU = 12 + IPV6_PKTINFO = 13 + IPV6_PREFER_SRC_CGA = 0x10 + IPV6_PREFER_SRC_COA = 0x02 + IPV6_PREFER_SRC_HOME = 0x01 + IPV6_PREFER_SRC_NONCGA = 0x20 + IPV6_PREFER_SRC_PUBLIC = 0x08 + IPV6_PREFER_SRC_TMP = 0x04 + IPV6_RECVDSTOPTS = 28 + IPV6_RECVHOPLIMIT = 14 + IPV6_RECVHOPOPTS = 26 + IPV6_RECVPATHMTU = 16 + IPV6_RECVPKTINFO = 15 + IPV6_RECVRTHDR = 25 + IPV6_RECVTCLASS = 31 + IPV6_RTHDR = 21 + IPV6_RTHDRDSTOPTS = 24 + IPV6_RTHDR_TYPE_0 = 0 + IPV6_TCLASS = 30 + IPV6_UNICAST_HOPS = 3 + IPV6_USE_MIN_MTU = 18 + IPV6_V6ONLY = 10 + IP_ADD_MEMBERSHIP = 5 + IP_ADD_SOURCE_MEMBERSHIP = 12 + IP_BLOCK_SOURCE = 10 + IP_DEFAULT_MULTICAST_LOOP = 1 + IP_DEFAULT_MULTICAST_TTL = 1 + IP_DROP_MEMBERSHIP = 6 + IP_DROP_SOURCE_MEMBERSHIP = 13 + IP_MAX_MEMBERSHIPS = 20 + IP_MULTICAST_IF = 7 + IP_MULTICAST_LOOP = 4 + IP_MULTICAST_TTL = 3 + IP_OPTIONS = 1 + IP_PKTINFO = 101 + IP_RECVPKTINFO = 102 + IP_TOS = 2 + IP_TTL = 3 + IP_UNBLOCK_SOURCE = 11 + ICANON = 0x0010 + ICMP6_FILTER = 0x26 + ICRNL = 0x0002 + IEXTEN = 0x0020 + IGNBRK = 0x0004 + IGNCR = 0x0008 + INLCR = 0x0020 + ISIG = 0x0040 + ISTRIP = 0x0080 + IXON = 0x0200 + IXOFF = 0x0100 + LOCK_SH = 0x1 // Not exist on zOS + LOCK_EX = 0x2 // Not exist on zOS + LOCK_NB = 0x4 // Not exist on zOS + LOCK_UN = 0x8 // Not exist on zOS + POLLIN = 0x0003 + POLLOUT = 0x0004 + POLLPRI = 0x0010 + POLLERR = 0x0020 + POLLHUP = 0x0040 + POLLNVAL = 0x0080 + PROT_READ = 0x1 // mmap - page can be read + PROT_WRITE = 0x2 // page can be written + PROT_NONE = 0x4 // can't be accessed + PROT_EXEC = 0x8 // can be executed + MAP_PRIVATE = 0x1 // changes are private + MAP_SHARED = 0x2 // changes are shared + MAP_FIXED = 0x4 // place exactly + MCAST_JOIN_GROUP = 40 + MCAST_LEAVE_GROUP = 41 + MCAST_JOIN_SOURCE_GROUP = 42 + MCAST_LEAVE_SOURCE_GROUP = 43 + MCAST_BLOCK_SOURCE = 44 + MCAST_UNBLOCK_SOURCE = 45 + MS_SYNC = 0x1 // msync - synchronous writes + MS_ASYNC = 0x2 // asynchronous writes + MS_INVALIDATE = 0x4 // invalidate mappings + MTM_RDONLY = 0x80000000 + MTM_RDWR = 0x40000000 + MTM_UMOUNT = 0x10000000 + MTM_IMMED = 0x08000000 + MTM_FORCE = 0x04000000 + MTM_DRAIN = 0x02000000 + MTM_RESET = 0x01000000 + MTM_SAMEMODE = 0x00100000 + MTM_UNQSEFORCE = 0x00040000 + MTM_NOSUID = 0x00000400 + MTM_SYNCHONLY = 0x00000200 + MTM_REMOUNT = 0x00000100 + MTM_NOSECURITY = 0x00000080 + NFDBITS = 0x20 + O_ACCMODE = 0x03 + O_APPEND = 0x08 + O_ASYNCSIG = 0x0200 + O_CREAT = 0x80 + O_EXCL = 0x40 + O_GETFL = 0x0F + O_LARGEFILE = 0x0400 + O_NONBLOCK = 0x04 + O_RDONLY = 0x02 + O_RDWR = 0x03 + O_SYNC = 0x0100 + O_TRUNC = 0x10 + O_WRONLY = 0x01 + O_NOCTTY = 0x20 + OPOST = 0x0001 + ONLCR = 0x0004 + PARENB = 0x0200 + PARMRK = 0x0400 + QUERYCVT = 3 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 // RUSAGE_THREAD unsupported on z/OS + SEEK_CUR = 1 + SEEK_END = 2 + SEEK_SET = 0 + SETAUTOCVTALL = 5 + SETAUTOCVTON = 2 + SETCVTALL = 4 + SETCVTOFF = 0 + SETCVTON = 1 + AF_APPLETALK = 16 + AF_CCITT = 10 + AF_CHAOS = 5 + AF_DATAKIT = 9 + AF_DLI = 13 + AF_ECMA = 8 + AF_HYLINK = 15 + AF_IMPLINK = 3 + AF_INET = 2 + AF_INET6 = 19 + AF_INTF = 20 + AF_IUCV = 17 + AF_LAT = 14 + AF_LINK = 18 + AF_MAX = 30 + AF_NBS = 7 + AF_NDD = 23 + AF_NETWARE = 22 + AF_NS = 6 + AF_PUP = 4 + AF_RIF = 21 + AF_ROUTE = 20 + AF_SNA = 11 + AF_UNIX = 1 + AF_UNSPEC = 0 + IBMTCP_IMAGE = 1 + MSG_ACK_EXPECTED = 0x10 + MSG_ACK_GEN = 0x40 + MSG_ACK_TIMEOUT = 0x20 + MSG_CONNTERM = 0x80 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOF = 0x8000 + MSG_EOR = 0x8 + MSG_MAXIOVLEN = 16 + MSG_NONBLOCK = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + PRIO_PROCESS = 1 + PRIO_PGRP = 2 + PRIO_USER = 3 + RLIMIT_CPU = 0 + RLIMIT_FSIZE = 1 + RLIMIT_DATA = 2 + RLIMIT_STACK = 3 + RLIMIT_CORE = 4 + RLIMIT_AS = 5 + RLIMIT_NOFILE = 6 + RLIMIT_MEMLIMIT = 7 + RLIM_INFINITY = 2147483647 + SCM_RIGHTS = 0x01 + SF_CLOSE = 0x00000002 + SF_REUSE = 0x00000001 + SHUT_RD = 0 + SHUT_RDWR = 2 + SHUT_WR = 1 + SOCK_CONN_DGRAM = 6 + SOCK_DGRAM = 2 + SOCK_RAW = 3 + SOCK_RDM = 4 + SOCK_SEQPACKET = 5 + SOCK_STREAM = 1 + SOL_SOCKET = 0xffff + SOMAXCONN = 10 + SO_ACCEPTCONN = 0x0002 + SO_ACCEPTECONNABORTED = 0x0006 + SO_ACKNOW = 0x7700 + SO_BROADCAST = 0x0020 + SO_BULKMODE = 0x8000 + SO_CKSUMRECV = 0x0800 + SO_CLOSE = 0x01 + SO_CLUSTERCONNTYPE = 0x00004001 + SO_CLUSTERCONNTYPE_INTERNAL = 8 + SO_CLUSTERCONNTYPE_NOCONN = 0 + SO_CLUSTERCONNTYPE_NONE = 1 + SO_CLUSTERCONNTYPE_SAME_CLUSTER = 2 + SO_CLUSTERCONNTYPE_SAME_IMAGE = 4 + SO_DEBUG = 0x0001 + SO_DONTROUTE = 0x0010 + SO_ERROR = 0x1007 + SO_IGNOREINCOMINGPUSH = 0x1 + SO_IGNORESOURCEVIPA = 0x0002 + SO_KEEPALIVE = 0x0008 + SO_LINGER = 0x0080 + SO_NONBLOCKLOCAL = 0x8001 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x0100 + SO_OPTACK = 0x8004 + SO_OPTMSS = 0x8003 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x0004 + SO_REUSEPORT = 0x0200 + SO_SECINFO = 0x00004002 + SO_SET = 0x0200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TYPE = 0x1008 + SO_UNSET = 0x0400 + SO_USELOOPBACK = 0x0040 + SO_USE_IFBUFS = 0x0400 + S_ISUID = 0x0800 + S_ISGID = 0x0400 + S_ISVTX = 0x0200 + S_IRUSR = 0x0100 + S_IWUSR = 0x0080 + S_IXUSR = 0x0040 + S_IRWXU = 0x01C0 + S_IRGRP = 0x0020 + S_IWGRP = 0x0010 + S_IXGRP = 0x0008 + S_IRWXG = 0x0038 + S_IROTH = 0x0004 + S_IWOTH = 0x0002 + S_IXOTH = 0x0001 + S_IRWXO = 0x0007 + S_IREAD = S_IRUSR + S_IWRITE = S_IWUSR + S_IEXEC = S_IXUSR + S_IFDIR = 0x01000000 + S_IFCHR = 0x02000000 + S_IFREG = 0x03000000 + S_IFFIFO = 0x04000000 + S_IFIFO = 0x04000000 + S_IFLNK = 0x05000000 + S_IFBLK = 0x06000000 + S_IFSOCK = 0x07000000 + S_IFVMEXTL = 0xFE000000 + S_IFVMEXTL_EXEC = 0x00010000 + S_IFVMEXTL_DATA = 0x00020000 + S_IFVMEXTL_MEL = 0x00030000 + S_IFEXTL = 0x00000001 + S_IFPROGCTL = 0x00000002 + S_IFAPFCTL = 0x00000004 + S_IFNOSHARE = 0x00000008 + S_IFSHARELIB = 0x00000010 + S_IFMT = 0xFF000000 + S_IFMST = 0x00FF0000 + TCP_KEEPALIVE = 0x8 + TCP_NODELAY = 0x1 + TCP_INFO = 0xb + TCP_USER_TIMEOUT = 0x1 + TIOCGWINSZ = 0x4008a368 + TIOCSWINSZ = 0x8008a367 + TIOCSBRK = 0x2000a77b + TIOCCBRK = 0x2000a77a + TIOCSTI = 0x8001a772 + TIOCGPGRP = 0x4004a777 // _IOR(167, 119, int) + TCSANOW = 0 + TCSETS = 0 // equivalent to TCSANOW for tcsetattr + TCSADRAIN = 1 + TCSETSW = 1 // equivalent to TCSADRAIN for tcsetattr + TCSAFLUSH = 2 + TCSETSF = 2 // equivalent to TCSAFLUSH for tcsetattr + TCGETS = 3 // not defined in ioctl.h -- zos golang only + TCIFLUSH = 0 + TCOFLUSH = 1 + TCIOFLUSH = 2 + TCOOFF = 0 + TCOON = 1 + TCIOFF = 2 + TCION = 3 + TIOCSPGRP = 0x8004a776 + TIOCNOTTY = 0x2000a771 + TIOCEXCL = 0x2000a70d + TIOCNXCL = 0x2000a70e + TIOCGETD = 0x4004a700 + TIOCSETD = 0x8004a701 + TIOCPKT = 0x8004a770 + TIOCSTOP = 0x2000a76f + TIOCSTART = 0x2000a76e + TIOCUCNTL = 0x8004a766 + TIOCREMOTE = 0x8004a769 + TIOCMGET = 0x4004a76a + TIOCMSET = 0x8004a76d + TIOCMBIC = 0x8004a76b + TIOCMBIS = 0x8004a76c + VINTR = 0 + VQUIT = 1 + VERASE = 2 + VKILL = 3 + VEOF = 4 + VEOL = 5 + VMIN = 6 + VSTART = 7 + VSTOP = 8 + VSUSP = 9 + VTIME = 10 + WCONTINUED = 0x4 + WNOHANG = 0x1 + WUNTRACED = 0x2 + _BPX_SWAP = 1 + _BPX_NONSWAP = 2 + MCL_CURRENT = 1 // for Linux compatibility -- no zos semantics + MCL_FUTURE = 2 // for Linux compatibility -- no zos semantics + MCL_ONFAULT = 3 // for Linux compatibility -- no zos semantics + MADV_NORMAL = 0 // for Linux compatibility -- no zos semantics + MADV_RANDOM = 1 // for Linux compatibility -- no zos semantics + MADV_SEQUENTIAL = 2 // for Linux compatibility -- no zos semantics + MADV_WILLNEED = 3 // for Linux compatibility -- no zos semantics + MADV_REMOVE = 4 // for Linux compatibility -- no zos semantics + MADV_DONTFORK = 5 // for Linux compatibility -- no zos semantics + MADV_DOFORK = 6 // for Linux compatibility -- no zos semantics + MADV_HWPOISON = 7 // for Linux compatibility -- no zos semantics + MADV_MERGEABLE = 8 // for Linux compatibility -- no zos semantics + MADV_UNMERGEABLE = 9 // for Linux compatibility -- no zos semantics + MADV_SOFT_OFFLINE = 10 // for Linux compatibility -- no zos semantics + MADV_HUGEPAGE = 11 // for Linux compatibility -- no zos semantics + MADV_NOHUGEPAGE = 12 // for Linux compatibility -- no zos semantics + MADV_DONTDUMP = 13 // for Linux compatibility -- no zos semantics + MADV_DODUMP = 14 // for Linux compatibility -- no zos semantics + MADV_FREE = 15 // for Linux compatibility -- no zos semantics + MADV_WIPEONFORK = 16 // for Linux compatibility -- no zos semantics + MADV_KEEPONFORK = 17 // for Linux compatibility -- no zos semantics + AT_SYMLINK_NOFOLLOW = 1 // for Unix compatibility -- no zos semantics + AT_FDCWD = 2 // for Unix compatibility -- no zos semantics +) + +const ( + EDOM = Errno(1) + ERANGE = Errno(2) + EACCES = Errno(111) + EAGAIN = Errno(112) + EBADF = Errno(113) + EBUSY = Errno(114) + ECHILD = Errno(115) + EDEADLK = Errno(116) + EEXIST = Errno(117) + EFAULT = Errno(118) + EFBIG = Errno(119) + EINTR = Errno(120) + EINVAL = Errno(121) + EIO = Errno(122) + EISDIR = Errno(123) + EMFILE = Errno(124) + EMLINK = Errno(125) + ENAMETOOLONG = Errno(126) + ENFILE = Errno(127) + ENODEV = Errno(128) + ENOENT = Errno(129) + ENOEXEC = Errno(130) + ENOLCK = Errno(131) + ENOMEM = Errno(132) + ENOSPC = Errno(133) + ENOSYS = Errno(134) + ENOTDIR = Errno(135) + ENOTEMPTY = Errno(136) + ENOTTY = Errno(137) + ENXIO = Errno(138) + EPERM = Errno(139) + EPIPE = Errno(140) + EROFS = Errno(141) + ESPIPE = Errno(142) + ESRCH = Errno(143) + EXDEV = Errno(144) + E2BIG = Errno(145) + ELOOP = Errno(146) + EILSEQ = Errno(147) + ENODATA = Errno(148) + EOVERFLOW = Errno(149) + EMVSNOTUP = Errno(150) + ECMSSTORAGE = Errno(151) + EMVSDYNALC = Errno(151) + EMVSCVAF = Errno(152) + EMVSCATLG = Errno(153) + ECMSINITIAL = Errno(156) + EMVSINITIAL = Errno(156) + ECMSERR = Errno(157) + EMVSERR = Errno(157) + EMVSPARM = Errno(158) + ECMSPFSFILE = Errno(159) + EMVSPFSFILE = Errno(159) + EMVSBADCHAR = Errno(160) + ECMSPFSPERM = Errno(162) + EMVSPFSPERM = Errno(162) + EMVSSAFEXTRERR = Errno(163) + EMVSSAF2ERR = Errno(164) + EMVSTODNOTSET = Errno(165) + EMVSPATHOPTS = Errno(166) + EMVSNORTL = Errno(167) + EMVSEXPIRE = Errno(168) + EMVSPASSWORD = Errno(169) + EMVSWLMERROR = Errno(170) + EMVSCPLERROR = Errno(171) + EMVSARMERROR = Errno(172) + ELENOFORK = Errno(200) + ELEMSGERR = Errno(201) + EFPMASKINV = Errno(202) + EFPMODEINV = Errno(203) + EBUFLEN = Errno(227) + EEXTLINK = Errno(228) + ENODD = Errno(229) + ECMSESMERR = Errno(230) + ECPERR = Errno(231) + ELEMULTITHREAD = Errno(232) + ELEFENCE = Errno(244) + EBADDATA = Errno(245) + EUNKNOWN = Errno(246) + ENOTSUP = Errno(247) + EBADNAME = Errno(248) + ENOTSAFE = Errno(249) + ELEMULTITHREADFORK = Errno(257) + ECUNNOENV = Errno(258) + ECUNNOCONV = Errno(259) + ECUNNOTALIGNED = Errno(260) + ECUNERR = Errno(262) + EIBMBADCALL = Errno(1000) + EIBMBADPARM = Errno(1001) + EIBMSOCKOUTOFRANGE = Errno(1002) + EIBMSOCKINUSE = Errno(1003) + EIBMIUCVERR = Errno(1004) + EOFFLOADboxERROR = Errno(1005) + EOFFLOADboxRESTART = Errno(1006) + EOFFLOADboxDOWN = Errno(1007) + EIBMCONFLICT = Errno(1008) + EIBMCANCELLED = Errno(1009) + EIBMBADTCPNAME = Errno(1011) + ENOTBLK = Errno(1100) + ETXTBSY = Errno(1101) + EWOULDBLOCK = Errno(1102) + EINPROGRESS = Errno(1103) + EALREADY = Errno(1104) + ENOTSOCK = Errno(1105) + EDESTADDRREQ = Errno(1106) + EMSGSIZE = Errno(1107) + EPROTOTYPE = Errno(1108) + ENOPROTOOPT = Errno(1109) + EPROTONOSUPPORT = Errno(1110) + ESOCKTNOSUPPORT = Errno(1111) + EOPNOTSUPP = Errno(1112) + EPFNOSUPPORT = Errno(1113) + EAFNOSUPPORT = Errno(1114) + EADDRINUSE = Errno(1115) + EADDRNOTAVAIL = Errno(1116) + ENETDOWN = Errno(1117) + ENETUNREACH = Errno(1118) + ENETRESET = Errno(1119) + ECONNABORTED = Errno(1120) + ECONNRESET = Errno(1121) + ENOBUFS = Errno(1122) + EISCONN = Errno(1123) + ENOTCONN = Errno(1124) + ESHUTDOWN = Errno(1125) + ETOOMANYREFS = Errno(1126) + ETIMEDOUT = Errno(1127) + ECONNREFUSED = Errno(1128) + EHOSTDOWN = Errno(1129) + EHOSTUNREACH = Errno(1130) + EPROCLIM = Errno(1131) + EUSERS = Errno(1132) + EDQUOT = Errno(1133) + ESTALE = Errno(1134) + EREMOTE = Errno(1135) + ENOSTR = Errno(1136) + ETIME = Errno(1137) + ENOSR = Errno(1138) + ENOMSG = Errno(1139) + EBADMSG = Errno(1140) + EIDRM = Errno(1141) + ENONET = Errno(1142) + ERREMOTE = Errno(1143) + ENOLINK = Errno(1144) + EADV = Errno(1145) + ESRMNT = Errno(1146) + ECOMM = Errno(1147) + EPROTO = Errno(1148) + EMULTIHOP = Errno(1149) + EDOTDOT = Errno(1150) + EREMCHG = Errno(1151) + ECANCELED = Errno(1152) + EINTRNODATA = Errno(1159) + ENOREUSE = Errno(1160) + ENOMOVE = Errno(1161) +) + +// Signals +const ( + SIGHUP = Signal(1) + SIGINT = Signal(2) + SIGABRT = Signal(3) + SIGILL = Signal(4) + SIGPOLL = Signal(5) + SIGURG = Signal(6) + SIGSTOP = Signal(7) + SIGFPE = Signal(8) + SIGKILL = Signal(9) + SIGBUS = Signal(10) + SIGSEGV = Signal(11) + SIGSYS = Signal(12) + SIGPIPE = Signal(13) + SIGALRM = Signal(14) + SIGTERM = Signal(15) + SIGUSR1 = Signal(16) + SIGUSR2 = Signal(17) + SIGABND = Signal(18) + SIGCONT = Signal(19) + SIGCHLD = Signal(20) + SIGTTIN = Signal(21) + SIGTTOU = Signal(22) + SIGIO = Signal(23) + SIGQUIT = Signal(24) + SIGTSTP = Signal(25) + SIGTRAP = Signal(26) + SIGIOERR = Signal(27) + SIGWINCH = Signal(28) + SIGXCPU = Signal(29) + SIGXFSZ = Signal(30) + SIGVTALRM = Signal(31) + SIGPROF = Signal(32) + SIGDANGER = Signal(33) + SIGTHSTOP = Signal(34) + SIGTHCONT = Signal(35) + SIGTRACE = Signal(37) + SIGDCE = Signal(38) + SIGDUMP = Signal(39) +) + +// Error table +var errorList = [...]struct { + num Errno + name string + desc string +}{ + {1, "EDC5001I", "A domain error occurred."}, + {2, "EDC5002I", "A range error occurred."}, + {111, "EDC5111I", "Permission denied."}, + {112, "EDC5112I", "Resource temporarily unavailable."}, + {113, "EDC5113I", "Bad file descriptor."}, + {114, "EDC5114I", "Resource busy."}, + {115, "EDC5115I", "No child processes."}, + {116, "EDC5116I", "Resource deadlock avoided."}, + {117, "EDC5117I", "File exists."}, + {118, "EDC5118I", "Incorrect address."}, + {119, "EDC5119I", "File too large."}, + {120, "EDC5120I", "Interrupted function call."}, + {121, "EDC5121I", "Invalid argument."}, + {122, "EDC5122I", "Input/output error."}, + {123, "EDC5123I", "Is a directory."}, + {124, "EDC5124I", "Too many open files."}, + {125, "EDC5125I", "Too many links."}, + {126, "EDC5126I", "Filename too long."}, + {127, "EDC5127I", "Too many open files in system."}, + {128, "EDC5128I", "No such device."}, + {129, "EDC5129I", "No such file or directory."}, + {130, "EDC5130I", "Exec format error."}, + {131, "EDC5131I", "No locks available."}, + {132, "EDC5132I", "Not enough memory."}, + {133, "EDC5133I", "No space left on device."}, + {134, "EDC5134I", "Function not implemented."}, + {135, "EDC5135I", "Not a directory."}, + {136, "EDC5136I", "Directory not empty."}, + {137, "EDC5137I", "Inappropriate I/O control operation."}, + {138, "EDC5138I", "No such device or address."}, + {139, "EDC5139I", "Operation not permitted."}, + {140, "EDC5140I", "Broken pipe."}, + {141, "EDC5141I", "Read-only file system."}, + {142, "EDC5142I", "Invalid seek."}, + {143, "EDC5143I", "No such process."}, + {144, "EDC5144I", "Improper link."}, + {145, "EDC5145I", "The parameter list is too long, or the message to receive was too large for the buffer."}, + {146, "EDC5146I", "Too many levels of symbolic links."}, + {147, "EDC5147I", "Illegal byte sequence."}, + {148, "", ""}, + {149, "EDC5149I", "Value Overflow Error."}, + {150, "EDC5150I", "UNIX System Services is not active."}, + {151, "EDC5151I", "Dynamic allocation error."}, + {152, "EDC5152I", "Common VTOC access facility (CVAF) error."}, + {153, "EDC5153I", "Catalog obtain error."}, + {156, "EDC5156I", "Process initialization error."}, + {157, "EDC5157I", "An internal error has occurred."}, + {158, "EDC5158I", "Bad parameters were passed to the service."}, + {159, "EDC5159I", "The Physical File System encountered a permanent file error."}, + {160, "EDC5160I", "Bad character in environment variable name."}, + {162, "EDC5162I", "The Physical File System encountered a system error."}, + {163, "EDC5163I", "SAF/RACF extract error."}, + {164, "EDC5164I", "SAF/RACF error."}, + {165, "EDC5165I", "System TOD clock not set."}, + {166, "EDC5166I", "Access mode argument on function call conflicts with PATHOPTS parameter on JCL DD statement."}, + {167, "EDC5167I", "Access to the UNIX System Services version of the C RTL is denied."}, + {168, "EDC5168I", "Password has expired."}, + {169, "EDC5169I", "Password is invalid."}, + {170, "EDC5170I", "An error was encountered with WLM."}, + {171, "EDC5171I", "An error was encountered with CPL."}, + {172, "EDC5172I", "An error was encountered with Application Response Measurement (ARM) component."}, + {200, "EDC5200I", "The application contains a Language Environment member language that cannot tolerate a fork()."}, + {201, "EDC5201I", "The Language Environment message file was not found in the hierarchical file system."}, + {202, "EDC5202E", "DLL facilities are not supported under SPC environment."}, + {203, "EDC5203E", "DLL facilities are not supported under POSIX environment."}, + {227, "EDC5227I", "Buffer is not long enough to contain a path definition"}, + {228, "EDC5228I", "The file referred to is an external link"}, + {229, "EDC5229I", "No path definition for ddname in effect"}, + {230, "EDC5230I", "ESM error."}, + {231, "EDC5231I", "CP or the external security manager had an error"}, + {232, "EDC5232I", "The function failed because it was invoked from a multithread environment."}, + {244, "EDC5244I", "The program, module or DLL is not supported in this environment."}, + {245, "EDC5245I", "Data is not valid."}, + {246, "EDC5246I", "Unknown system state."}, + {247, "EDC5247I", "Operation not supported."}, + {248, "EDC5248I", "The object name specified is not correct."}, + {249, "EDC5249I", "The function is not allowed."}, + {257, "EDC5257I", "Function cannot be called in the child process of a fork() from a multithreaded process until exec() is called."}, + {258, "EDC5258I", "A CUN_RS_NO_UNI_ENV error was issued by Unicode Services."}, + {259, "EDC5259I", "A CUN_RS_NO_CONVERSION error was issued by Unicode Services."}, + {260, "EDC5260I", "A CUN_RS_TABLE_NOT_ALIGNED error was issued by Unicode Services."}, + {262, "EDC5262I", "An iconv() function encountered an unexpected error while using Unicode Services."}, + {1000, "EDC8000I", "A bad socket-call constant was found in the IUCV header."}, + {1001, "EDC8001I", "An error was found in the IUCV header."}, + {1002, "EDC8002I", "A socket descriptor is out of range."}, + {1003, "EDC8003I", "A socket descriptor is in use."}, + {1004, "EDC8004I", "Request failed because of an IUCV error."}, + {1005, "EDC8005I", "Offload box error."}, + {1006, "EDC8006I", "Offload box restarted."}, + {1007, "EDC8007I", "Offload box down."}, + {1008, "EDC8008I", "Already a conflicting call outstanding on socket."}, + {1009, "EDC8009I", "Request cancelled using a SOCKcallCANCEL request."}, + {1011, "EDC8011I", "A name of a PFS was specified that either is not configured or is not a Sockets PFS."}, + {1100, "EDC8100I", "Block device required."}, + {1101, "EDC8101I", "Text file busy."}, + {1102, "EDC8102I", "Operation would block."}, + {1103, "EDC8103I", "Operation now in progress."}, + {1104, "EDC8104I", "Connection already in progress."}, + {1105, "EDC8105I", "Socket operation on non-socket."}, + {1106, "EDC8106I", "Destination address required."}, + {1107, "EDC8107I", "Message too long."}, + {1108, "EDC8108I", "Protocol wrong type for socket."}, + {1109, "EDC8109I", "Protocol not available."}, + {1110, "EDC8110I", "Protocol not supported."}, + {1111, "EDC8111I", "Socket type not supported."}, + {1112, "EDC8112I", "Operation not supported on socket."}, + {1113, "EDC8113I", "Protocol family not supported."}, + {1114, "EDC8114I", "Address family not supported."}, + {1115, "EDC8115I", "Address already in use."}, + {1116, "EDC8116I", "Address not available."}, + {1117, "EDC8117I", "Network is down."}, + {1118, "EDC8118I", "Network is unreachable."}, + {1119, "EDC8119I", "Network dropped connection on reset."}, + {1120, "EDC8120I", "Connection ended abnormally."}, + {1121, "EDC8121I", "Connection reset."}, + {1122, "EDC8122I", "No buffer space available."}, + {1123, "EDC8123I", "Socket already connected."}, + {1124, "EDC8124I", "Socket not connected."}, + {1125, "EDC8125I", "Can't send after socket shutdown."}, + {1126, "EDC8126I", "Too many references; can't splice."}, + {1127, "EDC8127I", "Connection timed out."}, + {1128, "EDC8128I", "Connection refused."}, + {1129, "EDC8129I", "Host is not available."}, + {1130, "EDC8130I", "Host cannot be reached."}, + {1131, "EDC8131I", "Too many processes."}, + {1132, "EDC8132I", "Too many users."}, + {1133, "EDC8133I", "Disk quota exceeded."}, + {1134, "EDC8134I", "Stale file handle."}, + {1135, "", ""}, + {1136, "EDC8136I", "File is not a STREAM."}, + {1137, "EDC8137I", "STREAMS ioctl() timeout."}, + {1138, "EDC8138I", "No STREAMS resources."}, + {1139, "EDC8139I", "The message identified by set_id and msg_id is not in the message catalog."}, + {1140, "EDC8140I", "Bad message."}, + {1141, "EDC8141I", "Identifier removed."}, + {1142, "", ""}, + {1143, "", ""}, + {1144, "EDC8144I", "The link has been severed."}, + {1145, "", ""}, + {1146, "", ""}, + {1147, "", ""}, + {1148, "EDC8148I", "Protocol error."}, + {1149, "EDC8149I", "Multihop not allowed."}, + {1150, "", ""}, + {1151, "", ""}, + {1152, "EDC8152I", "The asynchronous I/O request has been canceled."}, + {1159, "EDC8159I", "Function call was interrupted before any data was received."}, + {1160, "EDC8160I", "Socket reuse is not supported."}, + {1161, "EDC8161I", "The file system cannot currently be moved."}, +} + +// Signal table +var signalList = [...]struct { + num Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGABT", "aborted"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGPOLL", "pollable event"}, + {6, "SIGURG", "urgent I/O condition"}, + {7, "SIGSTOP", "stop process"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad argument to routine"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGABND", "abend"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGQUIT", "quit"}, + {25, "SIGTSTP", "stopped"}, + {26, "SIGTRAP", "trace/breakpoint trap"}, + {27, "SIGIOER", "I/O error"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGXCPU", "CPU time limit exceeded"}, + {30, "SIGXFSZ", "file size limit exceeded"}, + {31, "SIGVTALRM", "virtual timer expired"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "danger"}, + {34, "SIGTHSTOP", "stop thread"}, + {35, "SIGTHCONT", "continue thread"}, + {37, "SIGTRACE", "trace"}, + {38, "", "DCE"}, + {39, "SIGDUMP", "dump"}, +} diff --git a/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go b/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go new file mode 100644 index 000000000..bd001a6e1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go @@ -0,0 +1,42 @@ +// Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT. + +//go:build linux && (arm || arm64) +// +build linux +// +build arm arm64 + +package unix + +import "unsafe" + +// PtraceRegsArm is the registers used by arm binaries. +type PtraceRegsArm struct { + Uregs [18]uint32 +} + +// PtraceGetRegsArm fetches the registers used by arm binaries. +func PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsArm sets the registers used by arm binaries. +func PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsArm64 is the registers used by arm64 binaries. +type PtraceRegsArm64 struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +// PtraceGetRegsArm64 fetches the registers used by arm64 binaries. +func PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsArm64 sets the registers used by arm64 binaries. +func PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go b/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go new file mode 100644 index 000000000..6cb6d688a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go @@ -0,0 +1,17 @@ +// Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT. + +package unix + +import "unsafe" + +// PtraceGetRegSetArm64 fetches the registers used by arm64 binaries. +func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error { + iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))} + return ptrace(PTRACE_GETREGSET, pid, uintptr(addr), uintptr(unsafe.Pointer(&iovec))) +} + +// PtraceSetRegSetArm64 sets the registers used by arm64 binaries. +func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error { + iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))} + return ptrace(PTRACE_SETREGSET, pid, uintptr(addr), uintptr(unsafe.Pointer(&iovec))) +} diff --git a/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go b/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go new file mode 100644 index 000000000..c34d0639b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go @@ -0,0 +1,51 @@ +// Code generated by linux/mkall.go generatePtracePair("mips", "mips64"). DO NOT EDIT. + +//go:build linux && (mips || mips64) +// +build linux +// +build mips mips64 + +package unix + +import "unsafe" + +// PtraceRegsMips is the registers used by mips binaries. +type PtraceRegsMips struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips fetches the registers used by mips binaries. +func PtraceGetRegsMips(pid int, regsout *PtraceRegsMips) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips sets the registers used by mips binaries. +func PtraceSetRegsMips(pid int, regs *PtraceRegsMips) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsMips64 is the registers used by mips64 binaries. +type PtraceRegsMips64 struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips64 fetches the registers used by mips64 binaries. +func PtraceGetRegsMips64(pid int, regsout *PtraceRegsMips64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips64 sets the registers used by mips64 binaries. +func PtraceSetRegsMips64(pid int, regs *PtraceRegsMips64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go b/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go new file mode 100644 index 000000000..3ccf0c0c4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go @@ -0,0 +1,51 @@ +// Code generated by linux/mkall.go generatePtracePair("mipsle", "mips64le"). DO NOT EDIT. + +//go:build linux && (mipsle || mips64le) +// +build linux +// +build mipsle mips64le + +package unix + +import "unsafe" + +// PtraceRegsMipsle is the registers used by mipsle binaries. +type PtraceRegsMipsle struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMipsle fetches the registers used by mipsle binaries. +func PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMipsle sets the registers used by mipsle binaries. +func PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsMips64le is the registers used by mips64le binaries. +type PtraceRegsMips64le struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips64le fetches the registers used by mips64le binaries. +func PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips64le sets the registers used by mips64le binaries. +func PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go b/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go new file mode 100644 index 000000000..7d6585700 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go @@ -0,0 +1,81 @@ +// Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT. + +//go:build linux && (386 || amd64) +// +build linux +// +build 386 amd64 + +package unix + +import "unsafe" + +// PtraceRegs386 is the registers used by 386 binaries. +type PtraceRegs386 struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +// PtraceGetRegs386 fetches the registers used by 386 binaries. +func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegs386 sets the registers used by 386 binaries. +func PtraceSetRegs386(pid int, regs *PtraceRegs386) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsAmd64 is the registers used by amd64 binaries. +type PtraceRegsAmd64 struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries. +func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsAmd64 sets the registers used by amd64 binaries. +func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go new file mode 100644 index 000000000..91a23cc72 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go @@ -0,0 +1,1485 @@ +// go run mksyscall_aix_ppc.go -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build aix && ppc +// +build aix,ppc + +package unix + +/* +#include <stdint.h> +#include <stddef.h> +int utimes(uintptr_t, uintptr_t); +int utimensat(int, uintptr_t, uintptr_t, int); +int getcwd(uintptr_t, size_t); +int accept(int, uintptr_t, uintptr_t); +int getdirent(int, uintptr_t, size_t); +int wait4(int, uintptr_t, int, uintptr_t); +int ioctl(int, int, uintptr_t); +int fcntl(uintptr_t, int, uintptr_t); +int acct(uintptr_t); +int chdir(uintptr_t); +int chroot(uintptr_t); +int close(int); +int dup(int); +void exit(int); +int faccessat(int, uintptr_t, unsigned int, int); +int fchdir(int); +int fchmod(int, unsigned int); +int fchmodat(int, uintptr_t, unsigned int, int); +int fchownat(int, uintptr_t, int, int, int); +int fdatasync(int); +int fsync(int); +int getpgid(int); +int getpgrp(); +int getpid(); +int getppid(); +int getpriority(int, int); +int getrusage(int, uintptr_t); +int getsid(int); +int kill(int, int); +int syslog(int, uintptr_t, size_t); +int mkdir(int, uintptr_t, unsigned int); +int mkdirat(int, uintptr_t, unsigned int); +int mkfifo(uintptr_t, unsigned int); +int mknod(uintptr_t, unsigned int, int); +int mknodat(int, uintptr_t, unsigned int, int); +int nanosleep(uintptr_t, uintptr_t); +int open64(uintptr_t, int, unsigned int); +int openat(int, uintptr_t, int, unsigned int); +int read(int, uintptr_t, size_t); +int readlink(uintptr_t, uintptr_t, size_t); +int renameat(int, uintptr_t, int, uintptr_t); +int setdomainname(uintptr_t, size_t); +int sethostname(uintptr_t, size_t); +int setpgid(int, int); +int setsid(); +int settimeofday(uintptr_t); +int setuid(int); +int setgid(int); +int setpriority(int, int, int); +int statx(int, uintptr_t, int, int, uintptr_t); +int sync(); +uintptr_t times(uintptr_t); +int umask(int); +int uname(uintptr_t); +int unlink(uintptr_t); +int unlinkat(int, uintptr_t, int); +int ustat(int, uintptr_t); +int write(int, uintptr_t, size_t); +int dup2(int, int); +int posix_fadvise64(int, long long, long long, int); +int fchown(int, int, int); +int fstat(int, uintptr_t); +int fstatat(int, uintptr_t, uintptr_t, int); +int fstatfs(int, uintptr_t); +int ftruncate(int, long long); +int getegid(); +int geteuid(); +int getgid(); +int getuid(); +int lchown(uintptr_t, int, int); +int listen(int, int); +int lstat(uintptr_t, uintptr_t); +int pause(); +int pread64(int, uintptr_t, size_t, long long); +int pwrite64(int, uintptr_t, size_t, long long); +#define c_select select +int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int setregid(int, int); +int setreuid(int, int); +int shutdown(int, int); +long long splice(int, uintptr_t, int, uintptr_t, int, int); +int stat(uintptr_t, uintptr_t); +int statfs(uintptr_t, uintptr_t); +int truncate(uintptr_t, long long); +int bind(int, uintptr_t, uintptr_t); +int connect(int, uintptr_t, uintptr_t); +int getgroups(int, uintptr_t); +int setgroups(int, uintptr_t); +int getsockopt(int, int, int, uintptr_t, uintptr_t); +int setsockopt(int, int, int, uintptr_t, uintptr_t); +int socket(int, int, int); +int socketpair(int, int, int, uintptr_t); +int getpeername(int, uintptr_t, uintptr_t); +int getsockname(int, uintptr_t, uintptr_t); +int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int nrecvmsg(int, uintptr_t, int); +int nsendmsg(int, uintptr_t, int); +int munmap(uintptr_t, uintptr_t); +int madvise(uintptr_t, size_t, int); +int mprotect(uintptr_t, size_t, int); +int mlock(uintptr_t, size_t); +int mlockall(int); +int msync(uintptr_t, size_t, int); +int munlock(uintptr_t, size_t); +int munlockall(); +int pipe(uintptr_t); +int poll(uintptr_t, int, int); +int gettimeofday(uintptr_t, uintptr_t); +int time(uintptr_t); +int utime(uintptr_t, uintptr_t); +unsigned long long getsystemcfg(int); +int umount(uintptr_t); +int getrlimit64(int, uintptr_t); +int setrlimit64(int, uintptr_t); +long long lseek64(int, long long, int); +uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long); + +*/ +import "C" +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utimes(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))), C.int(flag)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getcwd(buf []byte) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.getcwd(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, er := C.accept(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirent(fd int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.getdirent(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { + r0, er := C.wait4(C.int(pid), C.uintptr_t(uintptr(unsafe.Pointer(status))), C.int(options), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) + wpid = Pid_t(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) + r = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(uintptr(unsafe.Pointer(lk)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) + val = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.acct(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.chdir(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.chroot(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + r0, er := C.close(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, er := C.dup(C.int(oldfd)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + C.exit(C.int(code)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + r0, er := C.fchdir(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + r0, er := C.fchmod(C.int(fd), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + r0, er := C.fdatasync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + r0, er := C.fsync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, er := C.getpgid(C.int(pid)) + pgid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pid int) { + r0, _ := C.getpgrp() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := C.getpid() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := C.getppid() + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, er := C.getpriority(C.int(which), C.int(who)) + prio = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + r0, er := C.getrusage(C.int(who), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, er := C.getsid(C.int(pid)) + sid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + r0, er := C.kill(C.int(pid), C.int(sig)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.syslog(C.int(typ), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(dirfd int, path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkfifo(C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + r0, er := C.nanosleep(C.uintptr_t(uintptr(unsafe.Pointer(time))), C.uintptr_t(uintptr(unsafe.Pointer(leftover)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + var _p2 int + _p2 = len(buf) + r0, er := C.readlink(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(_p1))), C.size_t(_p2)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(oldpath))) + _p1 := uintptr(unsafe.Pointer(C.CString(newpath))) + r0, er := C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.setdomainname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.sethostname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + r0, er := C.setpgid(C.int(pid), C.int(pgid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, er := C.setsid() + pid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + r0, er := C.settimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + r0, er := C.setuid(C.int(uid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(uid int) (err error) { + r0, er := C.setgid(C.int(uid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + r0, er := C.setpriority(C.int(which), C.int(who), C.int(prio)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + C.sync() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, er := C.times(C.uintptr_t(uintptr(unsafe.Pointer(tms)))) + ticks = uintptr(r0) + if uintptr(r0) == ^uintptr(0) && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := C.umask(C.int(mask)) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + r0, er := C.uname(C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.unlink(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + r0, er := C.ustat(C.int(dev), C.uintptr_t(uintptr(unsafe.Pointer(ubuf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + r0, er := C.dup2(C.int(oldfd), C.int(newfd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + r0, er := C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + r0, er := C.fchown(C.int(fd), C.int(uid), C.int(gid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *Stat_t) (err error) { + r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + r0, er := C.fstatfs(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + r0, er := C.ftruncate(C.int(fd), C.longlong(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := C.getegid() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := C.geteuid() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := C.getgid() + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := C.getuid() + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + r0, er := C.listen(C.int(s), C.int(n)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *Stat_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + r0, er := C.pause() + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.pread64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.pwrite64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, er := C.c_select(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + r0, er := C.setregid(C.int(rgid), C.int(egid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + r0, er := C.setreuid(C.int(ruid), C.int(euid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + r0, er := C.shutdown(C.int(fd), C.int(how)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, er := C.splice(C.int(rfd), C.uintptr_t(uintptr(unsafe.Pointer(roff))), C.int(wfd), C.uintptr_t(uintptr(unsafe.Pointer(woff))), C.int(len), C.int(flags)) + n = int64(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, statptr *Stat_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(statptr)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.statfs(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.truncate(C.uintptr_t(_p0), C.longlong(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + r0, er := C.bind(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + r0, er := C.connect(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, er := C.getgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) + nn = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + r0, er := C.setgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + r0, er := C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(uintptr(unsafe.Pointer(vallen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + r0, er := C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(vallen)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, er := C.socket(C.int(domain), C.int(typ), C.int(proto)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + r0, er := C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(uintptr(unsafe.Pointer(fd)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + r0, er := C.getpeername(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + r0, er := C.getsockname(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.recvfrom(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(unsafe.Pointer(from))), C.uintptr_t(uintptr(unsafe.Pointer(fromlen)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.sendto(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(to)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, er := C.nrecvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, er := C.nsendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + r0, er := C.munmap(C.uintptr_t(addr), C.uintptr_t(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.madvise(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(advice)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.mprotect(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(prot)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.mlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + r0, er := C.mlockall(C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.msync(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.munlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + r0, er := C.munlockall() + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + r0, er := C.pipe(C.uintptr_t(uintptr(unsafe.Pointer(p)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, er := C.poll(C.uintptr_t(uintptr(unsafe.Pointer(fds))), C.int(nfds), C.int(timeout)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { + r0, er := C.gettimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))), C.uintptr_t(uintptr(unsafe.Pointer(tzp)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, er := C.time(C.uintptr_t(uintptr(unsafe.Pointer(t)))) + tt = Time_t(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utime(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsystemcfg(label int) (n uint64) { + r0, _ := C.getsystemcfg(C.int(label)) + n = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func umount(target string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(target))) + r0, er := C.umount(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence)) + off = int64(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, er := C.mmap(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset)) + xaddr = uintptr(r0) + if uintptr(r0) == ^uintptr(0) && er != nil { + err = er + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go new file mode 100644 index 000000000..33c2609b8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go @@ -0,0 +1,1443 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build aix && ppc64 +// +build aix,ppc64 + +package unix + +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutimes(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutimensat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), flag) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getcwd(buf []byte) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, e1 := callgetcwd(uintptr(unsafe.Pointer(_p0)), len(buf)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, e1 := callaccept(s, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirent(fd int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, e1 := callgetdirent(fd, uintptr(unsafe.Pointer(_p0)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { + r0, e1 := callwait4(int(pid), uintptr(unsafe.Pointer(status)), options, uintptr(unsafe.Pointer(rusage))) + wpid = Pid_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, e1 := callioctl(fd, int(req), arg) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { + r0, e1 := callfcntl(fd, cmd, uintptr(arg)) + r = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { + _, e1 := callfcntl(fd, cmd, uintptr(unsafe.Pointer(lk))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, e1 := callfcntl(uintptr(fd), cmd, uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callacct(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callchdir(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callchroot(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, e1 := callclose(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, e1 := calldup(oldfd) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + callexit(code) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfaccessat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, e1 := callfchdir(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, e1 := callfchmod(fd, mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfchmodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfchownat(dirfd, uintptr(unsafe.Pointer(_p0)), uid, gid, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, e1 := callfdatasync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, e1 := callfsync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, e1 := callgetpgid(pid) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pid int) { + r0, _ := callgetpgrp() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := callgetpid() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := callgetppid() + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, e1 := callgetpriority(which, who) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, e1 := callgetrusage(who, uintptr(unsafe.Pointer(rusage))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, e1 := callgetsid(pid) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + _, e1 := callkill(pid, int(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, e1 := callsyslog(typ, uintptr(unsafe.Pointer(_p0)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkdir(dirfd, uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkdirat(dirfd, uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkfifo(uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmknod(uintptr(unsafe.Pointer(_p0)), mode, dev) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmknodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, dev) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, e1 := callnanosleep(uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, e1 := callopen64(uintptr(unsafe.Pointer(_p0)), mode, perm) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, e1 := callopenat(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mode) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callread(fd, uintptr(unsafe.Pointer(_p0)), len(p)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, e1 := callreadlink(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, e1 := callrenameat(olddirfd, uintptr(unsafe.Pointer(_p0)), newdirfd, uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, e1 := callsetdomainname(uintptr(unsafe.Pointer(_p0)), len(p)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, e1 := callsethostname(uintptr(unsafe.Pointer(_p0)), len(p)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, e1 := callsetpgid(pid, pgid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, e1 := callsetsid() + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, e1 := callsettimeofday(uintptr(unsafe.Pointer(tv))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, e1 := callsetuid(uid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(uid int) (err error) { + _, e1 := callsetgid(uid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, e1 := callsetpriority(which, who, prio) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstatx(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mask, uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + callsync() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, e1 := calltimes(uintptr(unsafe.Pointer(tms))) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := callumask(mask) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, e1 := calluname(uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callunlink(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callunlinkat(dirfd, uintptr(unsafe.Pointer(_p0)), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, e1 := callustat(dev, uintptr(unsafe.Pointer(ubuf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(_p0)), len(p)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, e1 := callread(fd, uintptr(unsafe.Pointer(p)), np) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(p)), np) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, e1 := calldup2(oldfd, newfd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, e1 := callposix_fadvise64(fd, offset, length, advice) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, e1 := callfchown(fd, uid, gid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *Stat_t) (err error) { + _, e1 := callfstat(fd, uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfstatat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, e1 := callfstatfs(fd, uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, e1 := callftruncate(fd, length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := callgetegid() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := callgeteuid() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := callgetgid() + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := callgetuid() + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calllchown(uintptr(unsafe.Pointer(_p0)), uid, gid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, e1 := calllisten(s, n) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calllstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, e1 := callpause() + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callpread64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callpwrite64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, e1 := callselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, e1 := callsetregid(rgid, egid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, e1 := callsetreuid(ruid, euid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, e1 := callshutdown(fd, how) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, e1 := callsplice(rfd, uintptr(unsafe.Pointer(roff)), wfd, uintptr(unsafe.Pointer(woff)), len, flags) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, statptr *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statptr))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstatfs(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calltruncate(uintptr(unsafe.Pointer(_p0)), length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e1 := callbind(s, uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e1 := callconnect(s, uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, e1 := callgetgroups(n, uintptr(unsafe.Pointer(list))) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, e1 := callsetgroups(n, uintptr(unsafe.Pointer(list))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e1 := callgetsockopt(s, level, name, uintptr(val), uintptr(unsafe.Pointer(vallen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e1 := callsetsockopt(s, level, name, uintptr(val), vallen) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, e1 := callsocket(domain, typ, proto) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, e1 := callsocketpair(domain, typ, proto, uintptr(unsafe.Pointer(fd))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e1 := callgetpeername(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e1 := callgetsockname(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callrecvfrom(fd, uintptr(unsafe.Pointer(_p0)), len(p), flags, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, e1 := callsendto(s, uintptr(unsafe.Pointer(_p0)), len(buf), flags, uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, e1 := callnrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, e1 := callnsendmsg(s, uintptr(unsafe.Pointer(msg)), flags) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, e1 := callmunmap(addr, length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmadvise(uintptr(unsafe.Pointer(_p0)), len(b), advice) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmprotect(uintptr(unsafe.Pointer(_p0)), len(b), prot) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmlock(uintptr(unsafe.Pointer(_p0)), len(b)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, e1 := callmlockall(flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmsync(uintptr(unsafe.Pointer(_p0)), len(b), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmunlock(uintptr(unsafe.Pointer(_p0)), len(b)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, e1 := callmunlockall() + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, e1 := callpipe(uintptr(unsafe.Pointer(p))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, e1 := callpoll(uintptr(unsafe.Pointer(fds)), nfds, timeout) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { + _, e1 := callgettimeofday(uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, e1 := calltime(uintptr(unsafe.Pointer(t))) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutime(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsystemcfg(label int) (n uint64) { + r0, _ := callgetsystemcfg(label) + n = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func umount(target string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, e1 := callumount(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, e1 := calllseek(fd, offset, whence) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, e1 := callmmap64(addr, length, prot, flags, fd, offset) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go new file mode 100644 index 000000000..8b737fa97 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go @@ -0,0 +1,1192 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build aix && ppc64 && gc +// +build aix,ppc64,gc + +package unix + +import ( + "unsafe" +) + +//go:cgo_import_dynamic libc_utimes utimes "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_accept accept "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getdirent getdirent "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_close close "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_dup dup "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_exit exit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_faccessat faccessat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getppid getppid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsid getsid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_kill kill "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_syslog syslog "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mknod mknod "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_open64 open64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_openat openat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_read read "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_readlink readlink "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_renameat renameat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setdomainname setdomainname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setsid setsid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setuid setuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setgid setgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_statx statx "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sync sync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_times times "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_umask umask "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_uname uname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_unlink unlink "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ustat ustat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_write write "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_posix_fadvise64 posix_fadvise64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchown fchown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstat fstat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstatat fstatat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getegid getegid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getgid getgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getuid getuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lchown lchown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_listen listen "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lstat lstat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_select select "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_shutdown shutdown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_splice splice "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_stat stat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_statfs statfs "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_truncate truncate "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_bind bind "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_connect connect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_socket socket "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_socketpair socketpair "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpeername getpeername "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nrecvmsg nrecvmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nsendmsg nsendmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mlock mlock "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_msync msync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munlock munlock "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pipe pipe "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_poll poll "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o" + +//go:linkname libc_utimes libc_utimes +//go:linkname libc_utimensat libc_utimensat +//go:linkname libc_getcwd libc_getcwd +//go:linkname libc_accept libc_accept +//go:linkname libc_getdirent libc_getdirent +//go:linkname libc_wait4 libc_wait4 +//go:linkname libc_ioctl libc_ioctl +//go:linkname libc_fcntl libc_fcntl +//go:linkname libc_acct libc_acct +//go:linkname libc_chdir libc_chdir +//go:linkname libc_chroot libc_chroot +//go:linkname libc_close libc_close +//go:linkname libc_dup libc_dup +//go:linkname libc_exit libc_exit +//go:linkname libc_faccessat libc_faccessat +//go:linkname libc_fchdir libc_fchdir +//go:linkname libc_fchmod libc_fchmod +//go:linkname libc_fchmodat libc_fchmodat +//go:linkname libc_fchownat libc_fchownat +//go:linkname libc_fdatasync libc_fdatasync +//go:linkname libc_fsync libc_fsync +//go:linkname libc_getpgid libc_getpgid +//go:linkname libc_getpgrp libc_getpgrp +//go:linkname libc_getpid libc_getpid +//go:linkname libc_getppid libc_getppid +//go:linkname libc_getpriority libc_getpriority +//go:linkname libc_getrusage libc_getrusage +//go:linkname libc_getsid libc_getsid +//go:linkname libc_kill libc_kill +//go:linkname libc_syslog libc_syslog +//go:linkname libc_mkdir libc_mkdir +//go:linkname libc_mkdirat libc_mkdirat +//go:linkname libc_mkfifo libc_mkfifo +//go:linkname libc_mknod libc_mknod +//go:linkname libc_mknodat libc_mknodat +//go:linkname libc_nanosleep libc_nanosleep +//go:linkname libc_open64 libc_open64 +//go:linkname libc_openat libc_openat +//go:linkname libc_read libc_read +//go:linkname libc_readlink libc_readlink +//go:linkname libc_renameat libc_renameat +//go:linkname libc_setdomainname libc_setdomainname +//go:linkname libc_sethostname libc_sethostname +//go:linkname libc_setpgid libc_setpgid +//go:linkname libc_setsid libc_setsid +//go:linkname libc_settimeofday libc_settimeofday +//go:linkname libc_setuid libc_setuid +//go:linkname libc_setgid libc_setgid +//go:linkname libc_setpriority libc_setpriority +//go:linkname libc_statx libc_statx +//go:linkname libc_sync libc_sync +//go:linkname libc_times libc_times +//go:linkname libc_umask libc_umask +//go:linkname libc_uname libc_uname +//go:linkname libc_unlink libc_unlink +//go:linkname libc_unlinkat libc_unlinkat +//go:linkname libc_ustat libc_ustat +//go:linkname libc_write libc_write +//go:linkname libc_dup2 libc_dup2 +//go:linkname libc_posix_fadvise64 libc_posix_fadvise64 +//go:linkname libc_fchown libc_fchown +//go:linkname libc_fstat libc_fstat +//go:linkname libc_fstatat libc_fstatat +//go:linkname libc_fstatfs libc_fstatfs +//go:linkname libc_ftruncate libc_ftruncate +//go:linkname libc_getegid libc_getegid +//go:linkname libc_geteuid libc_geteuid +//go:linkname libc_getgid libc_getgid +//go:linkname libc_getuid libc_getuid +//go:linkname libc_lchown libc_lchown +//go:linkname libc_listen libc_listen +//go:linkname libc_lstat libc_lstat +//go:linkname libc_pause libc_pause +//go:linkname libc_pread64 libc_pread64 +//go:linkname libc_pwrite64 libc_pwrite64 +//go:linkname libc_select libc_select +//go:linkname libc_pselect libc_pselect +//go:linkname libc_setregid libc_setregid +//go:linkname libc_setreuid libc_setreuid +//go:linkname libc_shutdown libc_shutdown +//go:linkname libc_splice libc_splice +//go:linkname libc_stat libc_stat +//go:linkname libc_statfs libc_statfs +//go:linkname libc_truncate libc_truncate +//go:linkname libc_bind libc_bind +//go:linkname libc_connect libc_connect +//go:linkname libc_getgroups libc_getgroups +//go:linkname libc_setgroups libc_setgroups +//go:linkname libc_getsockopt libc_getsockopt +//go:linkname libc_setsockopt libc_setsockopt +//go:linkname libc_socket libc_socket +//go:linkname libc_socketpair libc_socketpair +//go:linkname libc_getpeername libc_getpeername +//go:linkname libc_getsockname libc_getsockname +//go:linkname libc_recvfrom libc_recvfrom +//go:linkname libc_sendto libc_sendto +//go:linkname libc_nrecvmsg libc_nrecvmsg +//go:linkname libc_nsendmsg libc_nsendmsg +//go:linkname libc_munmap libc_munmap +//go:linkname libc_madvise libc_madvise +//go:linkname libc_mprotect libc_mprotect +//go:linkname libc_mlock libc_mlock +//go:linkname libc_mlockall libc_mlockall +//go:linkname libc_msync libc_msync +//go:linkname libc_munlock libc_munlock +//go:linkname libc_munlockall libc_munlockall +//go:linkname libc_pipe libc_pipe +//go:linkname libc_poll libc_poll +//go:linkname libc_gettimeofday libc_gettimeofday +//go:linkname libc_time libc_time +//go:linkname libc_utime libc_utime +//go:linkname libc_getsystemcfg libc_getsystemcfg +//go:linkname libc_umount libc_umount +//go:linkname libc_getrlimit libc_getrlimit +//go:linkname libc_setrlimit libc_setrlimit +//go:linkname libc_lseek libc_lseek +//go:linkname libc_mmap64 libc_mmap64 + +type syscallFunc uintptr + +var ( + libc_utimes, + libc_utimensat, + libc_getcwd, + libc_accept, + libc_getdirent, + libc_wait4, + libc_ioctl, + libc_fcntl, + libc_acct, + libc_chdir, + libc_chroot, + libc_close, + libc_dup, + libc_exit, + libc_faccessat, + libc_fchdir, + libc_fchmod, + libc_fchmodat, + libc_fchownat, + libc_fdatasync, + libc_fsync, + libc_getpgid, + libc_getpgrp, + libc_getpid, + libc_getppid, + libc_getpriority, + libc_getrusage, + libc_getsid, + libc_kill, + libc_syslog, + libc_mkdir, + libc_mkdirat, + libc_mkfifo, + libc_mknod, + libc_mknodat, + libc_nanosleep, + libc_open64, + libc_openat, + libc_read, + libc_readlink, + libc_renameat, + libc_setdomainname, + libc_sethostname, + libc_setpgid, + libc_setsid, + libc_settimeofday, + libc_setuid, + libc_setgid, + libc_setpriority, + libc_statx, + libc_sync, + libc_times, + libc_umask, + libc_uname, + libc_unlink, + libc_unlinkat, + libc_ustat, + libc_write, + libc_dup2, + libc_posix_fadvise64, + libc_fchown, + libc_fstat, + libc_fstatat, + libc_fstatfs, + libc_ftruncate, + libc_getegid, + libc_geteuid, + libc_getgid, + libc_getuid, + libc_lchown, + libc_listen, + libc_lstat, + libc_pause, + libc_pread64, + libc_pwrite64, + libc_select, + libc_pselect, + libc_setregid, + libc_setreuid, + libc_shutdown, + libc_splice, + libc_stat, + libc_statfs, + libc_truncate, + libc_bind, + libc_connect, + libc_getgroups, + libc_setgroups, + libc_getsockopt, + libc_setsockopt, + libc_socket, + libc_socketpair, + libc_getpeername, + libc_getsockname, + libc_recvfrom, + libc_sendto, + libc_nrecvmsg, + libc_nsendmsg, + libc_munmap, + libc_madvise, + libc_mprotect, + libc_mlock, + libc_mlockall, + libc_msync, + libc_munlock, + libc_munlockall, + libc_pipe, + libc_poll, + libc_gettimeofday, + libc_time, + libc_utime, + libc_getsystemcfg, + libc_umount, + libc_getrlimit, + libc_setrlimit, + libc_lseek, + libc_mmap64 syscallFunc +) + +// Implemented in runtime/syscall_aix.go. +func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimes)), 2, _p0, times, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimensat)), 4, uintptr(dirfd), _p0, times, uintptr(flag), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getcwd)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_accept)), 3, uintptr(s), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getdirent)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_wait4)), 4, uintptr(pid), status, uintptr(options), rusage, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ioctl)), 3, uintptr(fd), uintptr(req), arg, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fcntl)), 3, fd, uintptr(cmd), arg, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chdir)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chroot)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callclose(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_close)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup(oldfd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup)), 1, uintptr(oldfd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callexit(code int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_exit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_faccessat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchdir(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchownat)), 5, uintptr(dirfd), _p0, uintptr(uid), uintptr(gid), uintptr(flags), 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgrp() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpgrp)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetppid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getppid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrusage)), 2, uintptr(who), rusage, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_kill)), 2, uintptr(pid), uintptr(sig), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_syslog)), 3, uintptr(typ), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdir)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdirat)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkfifo)), 2, _p0, uintptr(mode), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknod)), 3, _p0, uintptr(mode), uintptr(dev), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(dev), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nanosleep)), 2, time, leftover, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_open64)), 3, _p0, uintptr(mode), uintptr(perm), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_openat)), 4, uintptr(dirfd), _p0, uintptr(flags), uintptr(mode), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_read)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_readlink)), 3, _p0, _p1, uintptr(_lenp1), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_renameat)), 4, uintptr(olddirfd), _p0, uintptr(newdirfd), _p1, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setdomainname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sethostname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setsid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_settimeofday)), 1, tv, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetuid(uid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgid(uid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setgid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statx)), 5, uintptr(dirfd), _p0, uintptr(flags), uintptr(mask), stat, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsync() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sync)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_times)), 1, tms, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumask(mask int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_umask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calluname(buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_uname)), 1, buf, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlink)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlinkat)), 3, uintptr(dirfd), _p0, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ustat)), 2, uintptr(dev), ubuf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_write)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_posix_fadvise64)), 4, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstat)), 2, uintptr(fd), stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatat)), 4, uintptr(dirfd), _p0, stat, uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatfs)), 2, uintptr(fd), buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ftruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetegid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getegid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgeteuid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_geteuid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetuid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getuid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lchown)), 3, _p0, uintptr(uid), uintptr(gid), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllisten(s int, n int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_listen)), 2, uintptr(s), uintptr(n), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lstat)), 2, _p0, stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpause() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pause)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pread64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pwrite64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_select)), 5, uintptr(nfd), r, w, e, timeout, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_shutdown)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_splice)), 6, uintptr(rfd), roff, uintptr(wfd), woff, uintptr(len), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, statptr, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statfs)), 2, _p0, buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_truncate)), 2, _p0, uintptr(length), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_bind)), 3, uintptr(s), addr, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_connect)), 3, uintptr(s), addr, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgroups)), 2, uintptr(n), list, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setgroups)), 2, uintptr(n), list, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), fd, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpeername)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsockname)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvfrom)), 6, uintptr(fd), _p0, uintptr(_lenp0), uintptr(flags), from, fromlen) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendto)), 6, uintptr(s), _p0, uintptr(_lenp0), uintptr(flags), to, addrlen) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nrecvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nsendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munmap)), 2, addr, length, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_madvise)), 3, _p0, uintptr(_lenp0), uintptr(advice), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mprotect)), 3, _p0, uintptr(_lenp0), uintptr(prot), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlockall(flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_msync)), 3, _p0, uintptr(_lenp0), uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlockall() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlockall)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpipe(p uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_pipe)), 1, p, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_poll)), 3, fds, uintptr(nfds), uintptr(timeout), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_gettimeofday)), 2, tv, tzp, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltime(t uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_time)), 1, t, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utime)), 2, _p0, buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_umount)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mmap64)), 6, addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go new file mode 100644 index 000000000..3c260917e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go @@ -0,0 +1,1070 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build aix && ppc64 && gccgo +// +build aix,ppc64,gccgo + +package unix + +/* +#include <stdint.h> +int utimes(uintptr_t, uintptr_t); +int utimensat(int, uintptr_t, uintptr_t, int); +int getcwd(uintptr_t, size_t); +int accept(int, uintptr_t, uintptr_t); +int getdirent(int, uintptr_t, size_t); +int wait4(int, uintptr_t, int, uintptr_t); +int ioctl(int, int, uintptr_t); +int fcntl(uintptr_t, int, uintptr_t); +int acct(uintptr_t); +int chdir(uintptr_t); +int chroot(uintptr_t); +int close(int); +int dup(int); +void exit(int); +int faccessat(int, uintptr_t, unsigned int, int); +int fchdir(int); +int fchmod(int, unsigned int); +int fchmodat(int, uintptr_t, unsigned int, int); +int fchownat(int, uintptr_t, int, int, int); +int fdatasync(int); +int fsync(int); +int getpgid(int); +int getpgrp(); +int getpid(); +int getppid(); +int getpriority(int, int); +int getrusage(int, uintptr_t); +int getsid(int); +int kill(int, int); +int syslog(int, uintptr_t, size_t); +int mkdir(int, uintptr_t, unsigned int); +int mkdirat(int, uintptr_t, unsigned int); +int mkfifo(uintptr_t, unsigned int); +int mknod(uintptr_t, unsigned int, int); +int mknodat(int, uintptr_t, unsigned int, int); +int nanosleep(uintptr_t, uintptr_t); +int open64(uintptr_t, int, unsigned int); +int openat(int, uintptr_t, int, unsigned int); +int read(int, uintptr_t, size_t); +int readlink(uintptr_t, uintptr_t, size_t); +int renameat(int, uintptr_t, int, uintptr_t); +int setdomainname(uintptr_t, size_t); +int sethostname(uintptr_t, size_t); +int setpgid(int, int); +int setsid(); +int settimeofday(uintptr_t); +int setuid(int); +int setgid(int); +int setpriority(int, int, int); +int statx(int, uintptr_t, int, int, uintptr_t); +int sync(); +uintptr_t times(uintptr_t); +int umask(int); +int uname(uintptr_t); +int unlink(uintptr_t); +int unlinkat(int, uintptr_t, int); +int ustat(int, uintptr_t); +int write(int, uintptr_t, size_t); +int dup2(int, int); +int posix_fadvise64(int, long long, long long, int); +int fchown(int, int, int); +int fstat(int, uintptr_t); +int fstatat(int, uintptr_t, uintptr_t, int); +int fstatfs(int, uintptr_t); +int ftruncate(int, long long); +int getegid(); +int geteuid(); +int getgid(); +int getuid(); +int lchown(uintptr_t, int, int); +int listen(int, int); +int lstat(uintptr_t, uintptr_t); +int pause(); +int pread64(int, uintptr_t, size_t, long long); +int pwrite64(int, uintptr_t, size_t, long long); +#define c_select select +int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int setregid(int, int); +int setreuid(int, int); +int shutdown(int, int); +long long splice(int, uintptr_t, int, uintptr_t, int, int); +int stat(uintptr_t, uintptr_t); +int statfs(uintptr_t, uintptr_t); +int truncate(uintptr_t, long long); +int bind(int, uintptr_t, uintptr_t); +int connect(int, uintptr_t, uintptr_t); +int getgroups(int, uintptr_t); +int setgroups(int, uintptr_t); +int getsockopt(int, int, int, uintptr_t, uintptr_t); +int setsockopt(int, int, int, uintptr_t, uintptr_t); +int socket(int, int, int); +int socketpair(int, int, int, uintptr_t); +int getpeername(int, uintptr_t, uintptr_t); +int getsockname(int, uintptr_t, uintptr_t); +int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int nrecvmsg(int, uintptr_t, int); +int nsendmsg(int, uintptr_t, int); +int munmap(uintptr_t, uintptr_t); +int madvise(uintptr_t, size_t, int); +int mprotect(uintptr_t, size_t, int); +int mlock(uintptr_t, size_t); +int mlockall(int); +int msync(uintptr_t, size_t, int); +int munlock(uintptr_t, size_t); +int munlockall(); +int pipe(uintptr_t); +int poll(uintptr_t, int, int); +int gettimeofday(uintptr_t, uintptr_t); +int time(uintptr_t); +int utime(uintptr_t, uintptr_t); +unsigned long long getsystemcfg(int); +int umount(uintptr_t); +int getrlimit(int, uintptr_t); +int setrlimit(int, uintptr_t); +long long lseek(int, long long, int); +uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long); + +*/ +import "C" +import ( + "syscall" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utimes(C.uintptr_t(_p0), C.uintptr_t(times))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(times), C.int(flag))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getcwd(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.accept(C.int(s), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getdirent(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.wait4(C.int(pid), C.uintptr_t(status), C.int(options), C.uintptr_t(rusage))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.acct(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.chdir(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.chroot(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callclose(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.close(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup(oldfd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.dup(C.int(oldfd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callexit(code int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.exit(C.int(code))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchdir(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchdir(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchmod(C.int(fd), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fdatasync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fsync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgid(C.int(pid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgrp() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgrp()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetppid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getppid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpriority(C.int(which), C.int(who))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getrusage(C.int(who), C.uintptr_t(rusage))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsid(C.int(pid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.kill(C.int(pid), C.int(sig))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.syslog(C.int(typ), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkfifo(C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nanosleep(C.uintptr_t(time), C.uintptr_t(leftover))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.read(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.readlink(C.uintptr_t(_p0), C.uintptr_t(_p1), C.size_t(_lenp1))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setdomainname(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sethostname(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setpgid(C.int(pid), C.int(pgid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setsid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.settimeofday(C.uintptr_t(tv))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetuid(uid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setuid(C.int(uid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgid(uid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setgid(C.int(uid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setpriority(C.int(which), C.int(who), C.int(prio))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsync() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sync()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.times(C.uintptr_t(tms))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumask(mask int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.umask(C.int(mask))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calluname(buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.uname(C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.unlink(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ustat(C.int(dev), C.uintptr_t(ubuf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.write(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.dup2(C.int(oldfd), C.int(newfd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchown(C.int(fd), C.int(uid), C.int(gid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstat(C.int(fd), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(stat), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstatfs(C.int(fd), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ftruncate(C.int(fd), C.longlong(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetegid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getegid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgeteuid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.geteuid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getgid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetuid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getuid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllisten(s int, n int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.listen(C.int(s), C.int(n))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lstat(C.uintptr_t(_p0), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpause() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pause()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pread64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pwrite64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.c_select(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setregid(C.int(rgid), C.int(egid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setreuid(C.int(ruid), C.int(euid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.shutdown(C.int(fd), C.int(how))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.splice(C.int(rfd), C.uintptr_t(roff), C.int(wfd), C.uintptr_t(woff), C.int(len), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(statptr))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.statfs(C.uintptr_t(_p0), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.truncate(C.uintptr_t(_p0), C.longlong(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.bind(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.connect(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getgroups(C.int(n), C.uintptr_t(list))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setgroups(C.int(n), C.uintptr_t(list))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.socket(C.int(domain), C.int(typ), C.int(proto))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpeername(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsockname(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.recvfrom(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(from), C.uintptr_t(fromlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sendto(C.int(s), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(to), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nrecvmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nsendmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munmap(C.uintptr_t(addr), C.uintptr_t(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.madvise(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(advice))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mprotect(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(prot))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mlock(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlockall(flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mlockall(C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.msync(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munlock(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlockall() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munlockall()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpipe(p uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pipe(C.uintptr_t(p))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.poll(C.uintptr_t(fds), C.int(nfds), C.int(timeout))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.gettimeofday(C.uintptr_t(tv), C.uintptr_t(tzp))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltime(t uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.time(C.uintptr_t(t))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utime(C.uintptr_t(_p0), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsystemcfg(C.int(label))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.umount(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mmap64(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go new file mode 100644 index 000000000..a06eb0932 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go @@ -0,0 +1,40 @@ +// go run mksyscall.go -tags darwin,amd64,go1.13 syscall_darwin.1_13.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build darwin && amd64 && go1.13 +// +build darwin,amd64,go1.13 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func closedir(dir uintptr) (err error) { + _, _, e1 := syscall_syscall(libc_closedir_trampoline_addr, uintptr(dir), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_closedir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { + r0, _, _ := syscall_syscall(libc_readdir_r_trampoline_addr, uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + res = Errno(r0) + return +} + +var libc_readdir_r_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s new file mode 100644 index 000000000..d6c3e25c0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s @@ -0,0 +1,25 @@ +// go run mkasm_darwin.go amd64 +// Code generated by the command above; DO NOT EDIT. + +//go:build go1.13 +// +build go1.13 + +#include "textflag.h" + +TEXT libc_fdopendir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fdopendir(SB) + +GLOBL ·libc_fdopendir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fdopendir_trampoline_addr(SB)/8, $libc_fdopendir_trampoline<>(SB) + +TEXT libc_closedir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_closedir(SB) + +GLOBL ·libc_closedir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_closedir_trampoline_addr(SB)/8, $libc_closedir_trampoline<>(SB) + +TEXT libc_readdir_r_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readdir_r(SB) + +GLOBL ·libc_readdir_r_trampoline_addr(SB), RODATA, $8 +DATA ·libc_readdir_r_trampoline_addr(SB)/8, $libc_readdir_r_trampoline<>(SB) 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 000000000..d4efe8d45 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -0,0 +1,2431 @@ +// go run mksyscall.go -tags darwin,amd64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build darwin && amd64 && go1.12 +// +build darwin,amd64,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getgroups_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setgroups_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_wait4_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_accept_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_bind_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_connect_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_socket_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getsockopt_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setsockopt_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getpeername_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getsockname_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_shutdown_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_socketpair_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 +} + +var libc_recvfrom_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_sendto_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_recvmsg_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_sendmsg_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_kevent_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_utimes_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_futimes_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_poll_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_madvise_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mlock_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mlockall_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mprotect_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_msync_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_munlock_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_munlockall_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall(libc_pipe_trampoline_addr, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pipe_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(libc_getxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(libc_fgetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fgetxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_setxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fsetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fsetxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_removexattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_removexattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_fremovexattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fremovexattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(libc_listxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_listxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(libc_flistxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_flistxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setattrlist_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fcntl_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_kill_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_ioctl_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 +} + +var libc_sysctl_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_sendfile_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_access_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_adjtime_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chdir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chflags_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chmod_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chown_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chroot_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_clock_gettime_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_close_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Clonefile(src string, dst string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(src) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dst) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_clonefile_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_clonefile_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_clonefile clonefile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(src) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dst) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_clonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_clonefileat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_clonefileat clonefileat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_dup_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_dup2_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_exchangedata_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_exchangedata_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) + return +} + +var libc_exit_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_faccessat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchdir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchflags_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchmod_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchmodat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchown_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchownat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(dst) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fclonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fclonefileat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fclonefileat fclonefileat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_flock_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fpathconf_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fsync_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_ftruncate_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getcwd_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getcwd getcwd "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(libc_getdtablesize_trampoline_addr, 0, 0, 0) + size = int(r0) + return +} + +var libc_getdtablesize_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) + egid = int(r0) + return +} + +var libc_getegid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return +} + +var libc_geteuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) + gid = int(r0) + return +} + +var libc_getgid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getpgid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) + pgrp = int(r0) + return +} + +var libc_getpgrp_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) + pid = int(r0) + return +} + +var libc_getpid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) + ppid = int(r0) + return +} + +var libc_getppid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getpriority_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getrlimit_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getrusage_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getsid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_gettimeofday_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return +} + +var libc_getuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(libc_issetugid_trampoline_addr, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +var libc_issetugid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_kqueue_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_lchown_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_link_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_linkat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_listen_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mkdir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mkdirat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mkfifo_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mknod_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_open_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_openat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pathconf_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pread_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pwrite_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_read_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_readlink_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_readlinkat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_rename_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renameat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_revoke_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_rmdir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := syscall_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_lseek_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := syscall_syscall6(libc_select_trampoline_addr, 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 +} + +var libc_select_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setegid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_seteuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setgid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setlogin_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setpgid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setpriority_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(libc_setprivexec_trampoline_addr, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setprivexec_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setregid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setreuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setrlimit_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setsid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_settimeofday_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_symlink_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_symlinkat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_sync_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_truncate_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +var libc_umask_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_undelete_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_undelete_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_unlink_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_unlinkat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_unmount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_write_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mmap_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_munmap_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, 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 Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(libc_fstat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fstat64_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fstatat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fstatat64_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(libc_fstatfs64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fstatfs64_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_getfsstat64_trampoline_addr, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getfsstat64_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_lstat64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_lstat64_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(libc_ptrace_trampoline_addr, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_ptrace_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_stat64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_stat64_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_statfs64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_statfs64_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s new file mode 100644 index 000000000..bc169c2ab --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -0,0 +1,859 @@ +// go run mkasm_darwin.go amd64 +// Code generated by the command above; DO NOT EDIT. + +//go:build go1.12 +// +build go1.12 + +#include "textflag.h" + +TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) + +GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) + +TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) + +GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) + +TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) + +GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 +DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) + +TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) + +GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 +DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) + +TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) + +GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 +DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) + +TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) + +GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 +DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) + +TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) + +GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 +DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) + +TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) + +GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) + +TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) + +GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) + +TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) + +GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) + +TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) + +GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) + +TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) + +GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 +DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) + +TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) + +GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 +DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) + +TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) + +GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 +DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) + +TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) + +GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) + +TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) + +GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 +DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) + +TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) + +GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) + +TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) + +GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 +DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) + +TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) + +GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 +DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) + +TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) + +GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 +DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) + +TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) + +GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 +DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) + +TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) + +GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 +DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) + +TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) + +GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) + +TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) + +GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) + +TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) + +GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) + +TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) + +GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 +DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) + +TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) + +GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 +DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) + +TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) + +GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 +DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) + +TEXT libc_pipe_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) + +GLOBL ·libc_pipe_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pipe_trampoline_addr(SB)/8, $libc_pipe_trampoline<>(SB) + +TEXT libc_getxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) + +GLOBL ·libc_getxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getxattr_trampoline_addr(SB)/8, $libc_getxattr_trampoline<>(SB) + +TEXT libc_fgetxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) + +GLOBL ·libc_fgetxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fgetxattr_trampoline_addr(SB)/8, $libc_fgetxattr_trampoline<>(SB) + +TEXT libc_setxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) + +GLOBL ·libc_setxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setxattr_trampoline_addr(SB)/8, $libc_setxattr_trampoline<>(SB) + +TEXT libc_fsetxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) + +GLOBL ·libc_fsetxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fsetxattr_trampoline_addr(SB)/8, $libc_fsetxattr_trampoline<>(SB) + +TEXT libc_removexattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) + +GLOBL ·libc_removexattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_removexattr_trampoline_addr(SB)/8, $libc_removexattr_trampoline<>(SB) + +TEXT libc_fremovexattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) + +GLOBL ·libc_fremovexattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fremovexattr_trampoline_addr(SB)/8, $libc_fremovexattr_trampoline<>(SB) + +TEXT libc_listxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) + +GLOBL ·libc_listxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_listxattr_trampoline_addr(SB)/8, $libc_listxattr_trampoline<>(SB) + +TEXT libc_flistxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) + +GLOBL ·libc_flistxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB) + +TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) + +GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB) + +TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) + +GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) + +TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) + +GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 +DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) + +TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) + +GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 +DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) + +TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sysctl(SB) + +GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) + +TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) + +GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB) + +TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_access(SB) + +GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 +DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) + +TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) + +GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 +DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) + +TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) + +GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) + +TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) + +GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) + +TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) + +GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) + +TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) + +GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) + +TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) + +GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) + +TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) + +GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 +DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) + +TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_close(SB) + +GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 +DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) + +TEXT libc_clonefile_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_clonefile(SB) + +GLOBL ·libc_clonefile_trampoline_addr(SB), RODATA, $8 +DATA ·libc_clonefile_trampoline_addr(SB)/8, $libc_clonefile_trampoline<>(SB) + +TEXT libc_clonefileat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_clonefileat(SB) + +GLOBL ·libc_clonefileat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_clonefileat_trampoline_addr(SB)/8, $libc_clonefileat_trampoline<>(SB) + +TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) + +GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 +DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) + +TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) + +GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 +DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) + +TEXT libc_exchangedata_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) + +GLOBL ·libc_exchangedata_trampoline_addr(SB), RODATA, $8 +DATA ·libc_exchangedata_trampoline_addr(SB)/8, $libc_exchangedata_trampoline<>(SB) + +TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) + +GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 +DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) + +TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) + +GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) + +TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) + +GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) + +TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) + +GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) + +TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) + +GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) + +TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) + +GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) + +TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) + +GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) + +TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) + +GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) + +TEXT libc_fclonefileat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fclonefileat(SB) + +GLOBL ·libc_fclonefileat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fclonefileat_trampoline_addr(SB)/8, $libc_fclonefileat_trampoline<>(SB) + +TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) + +GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 +DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) + +TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) + +GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) + +TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) + +GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) + +TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) + +GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 +DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) + +TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getcwd(SB) + +GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) + +TEXT libc_getdtablesize_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) + +GLOBL ·libc_getdtablesize_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getdtablesize_trampoline_addr(SB)/8, $libc_getdtablesize_trampoline<>(SB) + +TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) + +GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) + +TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) + +GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) + +TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) + +GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) + +TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) + +GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) + +TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) + +GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) + +TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) + +GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) + +TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) + +GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) + +TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) + +GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) + +TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) + +GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) + +TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) + +GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) + +TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) + +GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) + +TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) + +GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 +DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) + +TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) + +GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) + +TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) + +GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) + +TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) + +GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 +DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) + +TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) + +GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 +DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) + +TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_link(SB) + +GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 +DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) + +TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) + +GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) + +TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) + +GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 +DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) + +TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) + +GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) + +TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) + +GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) + +TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) + +GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) + +TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) + +GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) + +TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_open(SB) + +GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 +DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) + +TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) + +GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) + +TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) + +GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) + +TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) + +GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) + +TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) + +GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) + +TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_read(SB) + +GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 +DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) + +TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) + +GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 +DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) + +TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) + +GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) + +TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) + +GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 +DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) + +TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) + +GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) + +TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) + +GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 +DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) + +TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) + +GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) + +TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) + +GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 +DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) + +TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_select(SB) + +GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 +DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) + +TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) + +GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) + +TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) + +GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) + +TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) + +GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) + +TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) + +GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) + +TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) + +GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) + +TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) + +GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) + +TEXT libc_setprivexec_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) + +GLOBL ·libc_setprivexec_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setprivexec_trampoline_addr(SB)/8, $libc_setprivexec_trampoline<>(SB) + +TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) + +GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) + +TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) + +GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) + +TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) + +GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) + +TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) + +GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) + +TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) + +GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 +DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) + +TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) + +GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) + +TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) + +GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 +DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) + +TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) + +GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) + +TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) + +GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) + +TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) + +GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 +DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) + +TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) + +GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 +DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) + +TEXT libc_undelete_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) + +GLOBL ·libc_undelete_trampoline_addr(SB), RODATA, $8 +DATA ·libc_undelete_trampoline_addr(SB)/8, $libc_undelete_trampoline<>(SB) + +TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) + +GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 +DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) + +TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) + +GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) + +TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) + +GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) + +TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_write(SB) + +GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 +DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) + +TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) + +GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) + +TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) + +GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 +DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) + +TEXT libc_fstat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstat64(SB) + +GLOBL ·libc_fstat64_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fstat64_trampoline_addr(SB)/8, $libc_fstat64_trampoline<>(SB) + +TEXT libc_fstatat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstatat64(SB) + +GLOBL ·libc_fstatat64_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fstatat64_trampoline_addr(SB)/8, $libc_fstatat64_trampoline<>(SB) + +TEXT libc_fstatfs64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstatfs64(SB) + +GLOBL ·libc_fstatfs64_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fstatfs64_trampoline_addr(SB)/8, $libc_fstatfs64_trampoline<>(SB) + +TEXT libc_getfsstat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getfsstat64(SB) + +GLOBL ·libc_getfsstat64_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getfsstat64_trampoline_addr(SB)/8, $libc_getfsstat64_trampoline<>(SB) + +TEXT libc_lstat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lstat64(SB) + +GLOBL ·libc_lstat64_trampoline_addr(SB), RODATA, $8 +DATA ·libc_lstat64_trampoline_addr(SB)/8, $libc_lstat64_trampoline<>(SB) + +TEXT libc_ptrace_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) + +GLOBL ·libc_ptrace_trampoline_addr(SB), RODATA, $8 +DATA ·libc_ptrace_trampoline_addr(SB)/8, $libc_ptrace_trampoline<>(SB) + +TEXT libc_stat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_stat64(SB) + +GLOBL ·libc_stat64_trampoline_addr(SB), RODATA, $8 +DATA ·libc_stat64_trampoline_addr(SB)/8, $libc_stat64_trampoline<>(SB) + +TEXT libc_statfs64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_statfs64(SB) + +GLOBL ·libc_statfs64_trampoline_addr(SB), RODATA, $8 +DATA ·libc_statfs64_trampoline_addr(SB)/8, $libc_statfs64_trampoline<>(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go new file mode 100644 index 000000000..cec595d55 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go @@ -0,0 +1,40 @@ +// go run mksyscall.go -tags darwin,arm64,go1.13 syscall_darwin.1_13.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build darwin && arm64 && go1.13 +// +build darwin,arm64,go1.13 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func closedir(dir uintptr) (err error) { + _, _, e1 := syscall_syscall(libc_closedir_trampoline_addr, uintptr(dir), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_closedir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { + r0, _, _ := syscall_syscall(libc_readdir_r_trampoline_addr, uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + res = Errno(r0) + return +} + +var libc_readdir_r_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s new file mode 100644 index 000000000..357989722 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s @@ -0,0 +1,25 @@ +// go run mkasm_darwin.go arm64 +// Code generated by the command above; DO NOT EDIT. + +//go:build go1.13 +// +build go1.13 + +#include "textflag.h" + +TEXT libc_fdopendir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fdopendir(SB) + +GLOBL ·libc_fdopendir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fdopendir_trampoline_addr(SB)/8, $libc_fdopendir_trampoline<>(SB) + +TEXT libc_closedir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_closedir(SB) + +GLOBL ·libc_closedir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_closedir_trampoline_addr(SB)/8, $libc_closedir_trampoline<>(SB) + +TEXT libc_readdir_r_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readdir_r(SB) + +GLOBL ·libc_readdir_r_trampoline_addr(SB), RODATA, $8 +DATA ·libc_readdir_r_trampoline_addr(SB)/8, $libc_readdir_r_trampoline<>(SB) 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 000000000..f2ee2bd33 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -0,0 +1,2431 @@ +// go run mksyscall.go -tags darwin,arm64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build darwin && arm64 && go1.12 +// +build darwin,arm64,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getgroups_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setgroups_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_wait4_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_accept_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_bind_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_connect_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_socket_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getsockopt_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setsockopt_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getpeername_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getsockname_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_shutdown_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_socketpair_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 +} + +var libc_recvfrom_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_sendto_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_recvmsg_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_sendmsg_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_kevent_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_utimes_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_futimes_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_poll_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_madvise_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mlock_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mlockall_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mprotect_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_msync_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_munlock_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_munlockall_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall(libc_pipe_trampoline_addr, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pipe_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(libc_getxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(libc_fgetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fgetxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_setxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fsetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fsetxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_removexattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_removexattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_fremovexattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fremovexattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(libc_listxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_listxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(libc_flistxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_flistxattr_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setattrlist_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fcntl_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_kill_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_ioctl_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 +} + +var libc_sysctl_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_sendfile_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_access_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_adjtime_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chdir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chflags_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chmod_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chown_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_chroot_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_clock_gettime_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_close_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Clonefile(src string, dst string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(src) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dst) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_clonefile_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_clonefile_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_clonefile clonefile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(src) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dst) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_clonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_clonefileat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_clonefileat clonefileat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_dup_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_dup2_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_exchangedata_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_exchangedata_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) + return +} + +var libc_exit_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_faccessat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchdir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchflags_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchmod_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchmodat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchown_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fchownat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(dst) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fclonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fclonefileat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fclonefileat fclonefileat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_flock_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fpathconf_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fsync_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_ftruncate_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getcwd_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getcwd getcwd "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(libc_getdtablesize_trampoline_addr, 0, 0, 0) + size = int(r0) + return +} + +var libc_getdtablesize_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) + egid = int(r0) + return +} + +var libc_getegid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return +} + +var libc_geteuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) + gid = int(r0) + return +} + +var libc_getgid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getpgid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) + pgrp = int(r0) + return +} + +var libc_getpgrp_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) + pid = int(r0) + return +} + +var libc_getpid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) + ppid = int(r0) + return +} + +var libc_getppid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getpriority_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getrlimit_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getrusage_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getsid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_gettimeofday_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return +} + +var libc_getuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(libc_issetugid_trampoline_addr, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +var libc_issetugid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_kqueue_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_lchown_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_link_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_linkat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_listen_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mkdir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mkdirat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mkfifo_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mknod_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_open_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_openat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pathconf_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pread_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pwrite_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_read_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_readlink_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_readlinkat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_rename_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renameat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_revoke_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_rmdir_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := syscall_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_lseek_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := syscall_syscall6(libc_select_trampoline_addr, 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 +} + +var libc_select_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setegid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_seteuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setgid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setlogin_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setpgid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setpriority_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(libc_setprivexec_trampoline_addr, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setprivexec_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setregid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setreuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setrlimit_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setsid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_settimeofday_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setuid_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_symlink_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_symlinkat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_sync_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_truncate_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +var libc_umask_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_undelete_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_undelete_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_unlink_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_unlinkat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_unmount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_write_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mmap_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_munmap_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, 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 Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fstat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fstatat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_fstatfs_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_getfsstat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_lstat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(libc_ptrace_trampoline_addr, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_ptrace_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_stat_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_statfs_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s new file mode 100644 index 000000000..33e19776d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -0,0 +1,859 @@ +// go run mkasm_darwin.go arm64 +// Code generated by the command above; DO NOT EDIT. + +//go:build go1.12 +// +build go1.12 + +#include "textflag.h" + +TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) + +GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) + +TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) + +GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) + +TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) + +GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 +DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) + +TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) + +GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 +DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) + +TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) + +GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 +DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) + +TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) + +GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 +DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) + +TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) + +GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 +DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) + +TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) + +GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) + +TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) + +GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) + +TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) + +GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) + +TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) + +GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) + +TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) + +GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 +DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) + +TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) + +GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 +DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) + +TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) + +GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 +DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) + +TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) + +GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) + +TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) + +GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 +DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) + +TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) + +GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) + +TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) + +GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 +DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) + +TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) + +GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 +DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) + +TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) + +GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 +DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) + +TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) + +GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 +DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) + +TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) + +GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 +DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) + +TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) + +GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) + +TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) + +GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) + +TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) + +GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) + +TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) + +GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 +DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) + +TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) + +GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 +DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) + +TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) + +GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 +DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) + +TEXT libc_pipe_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) + +GLOBL ·libc_pipe_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pipe_trampoline_addr(SB)/8, $libc_pipe_trampoline<>(SB) + +TEXT libc_getxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) + +GLOBL ·libc_getxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getxattr_trampoline_addr(SB)/8, $libc_getxattr_trampoline<>(SB) + +TEXT libc_fgetxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) + +GLOBL ·libc_fgetxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fgetxattr_trampoline_addr(SB)/8, $libc_fgetxattr_trampoline<>(SB) + +TEXT libc_setxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) + +GLOBL ·libc_setxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setxattr_trampoline_addr(SB)/8, $libc_setxattr_trampoline<>(SB) + +TEXT libc_fsetxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) + +GLOBL ·libc_fsetxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fsetxattr_trampoline_addr(SB)/8, $libc_fsetxattr_trampoline<>(SB) + +TEXT libc_removexattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) + +GLOBL ·libc_removexattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_removexattr_trampoline_addr(SB)/8, $libc_removexattr_trampoline<>(SB) + +TEXT libc_fremovexattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) + +GLOBL ·libc_fremovexattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fremovexattr_trampoline_addr(SB)/8, $libc_fremovexattr_trampoline<>(SB) + +TEXT libc_listxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) + +GLOBL ·libc_listxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_listxattr_trampoline_addr(SB)/8, $libc_listxattr_trampoline<>(SB) + +TEXT libc_flistxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) + +GLOBL ·libc_flistxattr_trampoline_addr(SB), RODATA, $8 +DATA ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB) + +TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) + +GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB) + +TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) + +GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) + +TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) + +GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 +DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) + +TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) + +GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 +DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) + +TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sysctl(SB) + +GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) + +TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) + +GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB) + +TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_access(SB) + +GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 +DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) + +TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) + +GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 +DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) + +TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) + +GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) + +TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) + +GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) + +TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) + +GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) + +TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) + +GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) + +TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) + +GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 +DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) + +TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) + +GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 +DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) + +TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_close(SB) + +GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 +DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) + +TEXT libc_clonefile_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_clonefile(SB) + +GLOBL ·libc_clonefile_trampoline_addr(SB), RODATA, $8 +DATA ·libc_clonefile_trampoline_addr(SB)/8, $libc_clonefile_trampoline<>(SB) + +TEXT libc_clonefileat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_clonefileat(SB) + +GLOBL ·libc_clonefileat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_clonefileat_trampoline_addr(SB)/8, $libc_clonefileat_trampoline<>(SB) + +TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) + +GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 +DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) + +TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) + +GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 +DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) + +TEXT libc_exchangedata_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) + +GLOBL ·libc_exchangedata_trampoline_addr(SB), RODATA, $8 +DATA ·libc_exchangedata_trampoline_addr(SB)/8, $libc_exchangedata_trampoline<>(SB) + +TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) + +GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 +DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) + +TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) + +GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) + +TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) + +GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) + +TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) + +GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) + +TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) + +GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) + +TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) + +GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) + +TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) + +GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) + +TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) + +GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) + +TEXT libc_fclonefileat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fclonefileat(SB) + +GLOBL ·libc_fclonefileat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fclonefileat_trampoline_addr(SB)/8, $libc_fclonefileat_trampoline<>(SB) + +TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) + +GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 +DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) + +TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) + +GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) + +TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) + +GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) + +TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) + +GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 +DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) + +TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getcwd(SB) + +GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) + +TEXT libc_getdtablesize_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) + +GLOBL ·libc_getdtablesize_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getdtablesize_trampoline_addr(SB)/8, $libc_getdtablesize_trampoline<>(SB) + +TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) + +GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) + +TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) + +GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) + +TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) + +GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) + +TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) + +GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) + +TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) + +GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) + +TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) + +GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) + +TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) + +GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) + +TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) + +GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) + +TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) + +GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) + +TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) + +GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) + +TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) + +GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) + +TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) + +GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 +DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) + +TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) + +GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) + +TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) + +GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) + +TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) + +GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 +DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) + +TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) + +GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 +DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) + +TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_link(SB) + +GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 +DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) + +TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) + +GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) + +TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) + +GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 +DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) + +TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) + +GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) + +TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) + +GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) + +TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) + +GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) + +TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) + +GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) + +TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_open(SB) + +GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 +DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) + +TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) + +GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) + +TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) + +GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) + +TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) + +GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) + +TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) + +GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) + +TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_read(SB) + +GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 +DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) + +TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) + +GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 +DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) + +TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) + +GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) + +TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) + +GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 +DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) + +TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) + +GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) + +TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) + +GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 +DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) + +TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) + +GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 +DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) + +TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) + +GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 +DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) + +TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_select(SB) + +GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 +DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) + +TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) + +GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) + +TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) + +GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) + +TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) + +GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) + +TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) + +GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) + +TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) + +GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) + +TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) + +GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) + +TEXT libc_setprivexec_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) + +GLOBL ·libc_setprivexec_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setprivexec_trampoline_addr(SB)/8, $libc_setprivexec_trampoline<>(SB) + +TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) + +GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) + +TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) + +GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) + +TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) + +GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) + +TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) + +GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) + +TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) + +GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 +DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) + +TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) + +GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) + +TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) + +GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 +DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) + +TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) + +GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) + +TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) + +GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 +DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) + +TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) + +GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 +DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) + +TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) + +GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 +DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) + +TEXT libc_undelete_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) + +GLOBL ·libc_undelete_trampoline_addr(SB), RODATA, $8 +DATA ·libc_undelete_trampoline_addr(SB)/8, $libc_undelete_trampoline<>(SB) + +TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) + +GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 +DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) + +TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) + +GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) + +TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) + +GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) + +TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_write(SB) + +GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 +DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) + +TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) + +GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) + +TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) + +GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 +DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) + +TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstat(SB) + +GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) + +TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstatat(SB) + +GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) + +TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstatfs(SB) + +GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 +DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) + +TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getfsstat(SB) + +GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB) + +TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lstat(SB) + +GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) + +TEXT libc_ptrace_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) + +GLOBL ·libc_ptrace_trampoline_addr(SB), RODATA, $8 +DATA ·libc_ptrace_trampoline_addr(SB)/8, $libc_ptrace_trampoline<>(SB) + +TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_stat(SB) + +GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 +DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) + +TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_statfs(SB) + +GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 +DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) 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 000000000..1b6eedfa6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go @@ -0,0 +1,1679 @@ +// go run mksyscall.go -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build dragonfly && amd64 +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..3e9bddb7b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go @@ -0,0 +1,2016 @@ +// go run mksyscall.go -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build freebsd && 386 +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), uintptr(dev>>32), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..c72a462b9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -0,0 +1,2016 @@ +// go run mksyscall.go -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build freebsd && amd64 +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..530d5df90 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go @@ -0,0 +1,2016 @@ +// go run mksyscall.go -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build freebsd && arm +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go new file mode 100644 index 000000000..71e7df9e8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go @@ -0,0 +1,2016 @@ +// go run mksyscall.go -tags freebsd,arm64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build freebsd && arm64 +// +build freebsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go new file mode 100644 index 000000000..af5cb064e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go @@ -0,0 +1,128 @@ +// go run mksyscall_solaris.go -illumos -tags illumos,amd64 syscall_illumos.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build illumos && amd64 +// +build illumos,amd64 + +package unix + +import ( + "unsafe" +) + +//go:cgo_import_dynamic libc_readv readv "libc.so" +//go:cgo_import_dynamic libc_preadv preadv "libc.so" +//go:cgo_import_dynamic libc_writev writev "libc.so" +//go:cgo_import_dynamic libc_pwritev pwritev "libc.so" +//go:cgo_import_dynamic libc_accept4 accept4 "libsocket.so" +//go:cgo_import_dynamic libc_putmsg putmsg "libc.so" +//go:cgo_import_dynamic libc_getmsg getmsg "libc.so" + +//go:linkname procreadv libc_readv +//go:linkname procpreadv libc_preadv +//go:linkname procwritev libc_writev +//go:linkname procpwritev libc_pwritev +//go:linkname procaccept4 libc_accept4 +//go:linkname procputmsg libc_putmsg +//go:linkname procgetmsg libc_getmsg + +var ( + procreadv, + procpreadv, + procwritev, + procpwritev, + procaccept4, + procputmsg, + procgetmsg syscallFunc +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readv(fd int, iovs []Iovec) (n int, err error) { + var _p0 *Iovec + if len(iovs) > 0 { + _p0 = &iovs[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procreadv)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func preadv(fd int, iovs []Iovec, off int64) (n int, err error) { + var _p0 *Iovec + if len(iovs) > 0 { + _p0 = &iovs[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpreadv)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), uintptr(off), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writev(fd int, iovs []Iovec) (n int, err error) { + var _p0 *Iovec + if len(iovs) > 0 { + _p0 = &iovs[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwritev)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pwritev(fd int, iovs []Iovec, off int64) (n int, err error) { + var _p0 *Iovec + if len(iovs) > 0 { + _p0 = &iovs[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpwritev)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), uintptr(off), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept4)), 4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func putmsg(fd int, clptr *strbuf, dataptr *strbuf, flags int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procputmsg)), 4, uintptr(fd), uintptr(unsafe.Pointer(clptr)), uintptr(unsafe.Pointer(dataptr)), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getmsg(fd int, clptr *strbuf, dataptr *strbuf, flags *int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetmsg)), 4, uintptr(fd), uintptr(unsafe.Pointer(clptr)), uintptr(unsafe.Pointer(dataptr)), uintptr(unsafe.Pointer(flags)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go new file mode 100644 index 000000000..7305cc915 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go @@ -0,0 +1,1944 @@ +// Code generated by mkmerge.go; DO NOT EDIT. + +//go:build linux +// +build linux + +package unix + +import ( + "syscall" + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(open_how)), 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 ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 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 reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := RawSyscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := RawSyscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CloseRange(first uint, last uint, flags uint) (err error) { + _, _, e1 := Syscall(SYS_CLOSE_RANGE, uintptr(first), uintptr(last), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func TimerfdCreate(clockid int, flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_TIMERFD_CREATE, uintptr(clockid), 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 TimerfdGettime(fd int, currValue *ItimerSpec) (err error) { + _, _, e1 := RawSyscall(SYS_TIMERFD_GETTIME, uintptr(fd), uintptr(unsafe.Pointer(currValue)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error) { + _, _, e1 := RawSyscall6(SYS_TIMERFD_SETTIME, uintptr(fd), uintptr(flags), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readv(fd int, iovs []Iovec) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovs) > 0 { + _p0 = unsafe.Pointer(&iovs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writev(fd int, iovs []Iovec) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovs) > 0 { + _p0 = unsafe.Pointer(&iovs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovs) > 0 { + _p0 = unsafe.Pointer(&iovs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREADV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovs) > 0 { + _p0 = unsafe.Pointer(&iovs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovs) > 0 { + _p0 = unsafe.Pointer(&iovs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREADV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovs) > 0 { + _p0 = unsafe.Pointer(&iovs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITEV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT2, 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 nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) { + var _p0 unsafe.Pointer + if len(localIov) > 0 { + _p0 = unsafe.Pointer(&localIov[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 unsafe.Pointer + if len(remoteIov) > 0 { + _p1 = unsafe.Pointer(&remoteIov[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PROCESS_VM_READV, uintptr(pid), uintptr(_p0), uintptr(len(localIov)), uintptr(_p1), uintptr(len(remoteIov)), 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 ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) { + var _p0 unsafe.Pointer + if len(localIov) > 0 { + _p0 = unsafe.Pointer(&localIov[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 unsafe.Pointer + if len(remoteIov) > 0 { + _p1 = unsafe.Pointer(&remoteIov[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PROCESS_VM_WRITEV, uintptr(pid), uintptr(_p0), uintptr(len(localIov)), uintptr(_p1), uintptr(len(remoteIov)), 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 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_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go new file mode 100644 index 000000000..e37096e4d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -0,0 +1,579 @@ +// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && 386 +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..9919d8486 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -0,0 +1,746 @@ +// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && amd64 +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func inotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..076754d48 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -0,0 +1,716 @@ +// go run mksyscall.go -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && arm +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 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 accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..e893f987f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -0,0 +1,603 @@ +// go run mksyscall.go -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && arm64 +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := 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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..4703cf3c3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -0,0 +1,759 @@ +// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && mips +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..a134f9a4d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -0,0 +1,730 @@ +// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && mips64 +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..b1fff2d94 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -0,0 +1,730 @@ +// go run mksyscall.go -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && mips64le +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..d13d6da01 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -0,0 +1,759 @@ +// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && mipsle +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go new file mode 100644 index 000000000..927cf1a00 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go @@ -0,0 +1,762 @@ +// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && ppc +// +build linux,ppc + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_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_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length>>32), 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, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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>>32), 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_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset>>32), 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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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>>32), uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..da8ec0396 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -0,0 +1,808 @@ +// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && ppc64 +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..083f493bb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -0,0 +1,808 @@ +// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && ppc64le +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go new file mode 100644 index 000000000..63b393b80 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go @@ -0,0 +1,583 @@ +// go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && riscv64 +// +build linux,riscv64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := 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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..bb347407d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -0,0 +1,578 @@ +// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && s390x +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..8edc517e1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -0,0 +1,741 @@ +// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build linux && sparc64 +// +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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsgid(gid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setfsuid(uid int) (prev int, err error) { + r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + prev = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 000000000..4726ab30a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go @@ -0,0 +1,1862 @@ +// go run mksyscall.go -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build netbsd && 386 +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) { + _, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..fe71456db --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go @@ -0,0 +1,1862 @@ +// go run mksyscall.go -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build netbsd && amd64 +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) { + _, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..0b5b2f014 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go @@ -0,0 +1,1862 @@ +// go run mksyscall.go -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build netbsd && arm +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) { + _, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go new file mode 100644 index 000000000..bfca28648 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go @@ -0,0 +1,1862 @@ +// go run mksyscall.go -netbsd -tags netbsd,arm64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build netbsd && arm64 +// +build netbsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 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 Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) { + _, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go new file mode 100644 index 000000000..8f80f4ade --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build openbsd && 386 +// +build openbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..3a47aca7b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build openbsd && amd64 +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..883a9b45e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build openbsd && arm +// +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go new file mode 100644 index 000000000..aac7fdc95 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -openbsd -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build openbsd && arm64 +// +build openbsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go new file mode 100644 index 000000000..877618746 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -openbsd -tags openbsd,mips64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_mips64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build openbsd && mips64 +// +build openbsd,mips64 + +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 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func 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 ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(from int, to int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(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 Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/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 000000000..4e18d5c99 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -0,0 +1,1983 @@ +// go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build solaris && amd64 +// +build solaris,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +//go:cgo_import_dynamic libc_pipe pipe "libc.so" +//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" +//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" +//go:cgo_import_dynamic libc_gethostname gethostname "libc.so" +//go:cgo_import_dynamic libc_utimes utimes "libc.so" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.so" +//go:cgo_import_dynamic libc_futimesat futimesat "libc.so" +//go:cgo_import_dynamic libc_accept accept "libsocket.so" +//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so" +//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so" +//go:cgo_import_dynamic libc_acct acct "libc.so" +//go:cgo_import_dynamic libc___makedev __makedev "libc.so" +//go:cgo_import_dynamic libc___major __major "libc.so" +//go:cgo_import_dynamic libc___minor __minor "libc.so" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" +//go:cgo_import_dynamic libc_poll poll "libc.so" +//go:cgo_import_dynamic libc_access access "libc.so" +//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" +//go:cgo_import_dynamic libc_chdir chdir "libc.so" +//go:cgo_import_dynamic libc_chmod chmod "libc.so" +//go:cgo_import_dynamic libc_chown chown "libc.so" +//go:cgo_import_dynamic libc_chroot chroot "libc.so" +//go:cgo_import_dynamic libc_close close "libc.so" +//go:cgo_import_dynamic libc_creat creat "libc.so" +//go:cgo_import_dynamic libc_dup dup "libc.so" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" +//go:cgo_import_dynamic libc_exit exit "libc.so" +//go:cgo_import_dynamic libc_faccessat faccessat "libc.so" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" +//go:cgo_import_dynamic libc_fchown fchown "libc.so" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" +//go:cgo_import_dynamic libc_flock flock "libc.so" +//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" +//go:cgo_import_dynamic libc_fstat fstat "libc.so" +//go:cgo_import_dynamic libc_fstatat fstatat "libc.so" +//go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so" +//go:cgo_import_dynamic libc_getdents getdents "libc.so" +//go:cgo_import_dynamic libc_getgid getgid "libc.so" +//go:cgo_import_dynamic libc_getpid getpid "libc.so" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" +//go:cgo_import_dynamic libc_getegid getegid "libc.so" +//go:cgo_import_dynamic libc_getppid getppid "libc.so" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" +//go:cgo_import_dynamic libc_getuid getuid "libc.so" +//go:cgo_import_dynamic libc_kill kill "libc.so" +//go:cgo_import_dynamic libc_lchown lchown "libc.so" +//go:cgo_import_dynamic libc_link link "libc.so" +//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten "libsocket.so" +//go:cgo_import_dynamic libc_lstat lstat "libc.so" +//go:cgo_import_dynamic libc_madvise madvise "libc.so" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" +//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" +//go:cgo_import_dynamic libc_mknod mknod "libc.so" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" +//go:cgo_import_dynamic libc_mlock mlock "libc.so" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" +//go:cgo_import_dynamic libc_msync msync "libc.so" +//go:cgo_import_dynamic libc_munlock munlock "libc.so" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" +//go:cgo_import_dynamic libc_open open "libc.so" +//go:cgo_import_dynamic libc_openat openat "libc.so" +//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" +//go:cgo_import_dynamic libc_pause pause "libc.so" +//go:cgo_import_dynamic libc_pread pread "libc.so" +//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" +//go:cgo_import_dynamic libc_read read "libc.so" +//go:cgo_import_dynamic libc_readlink readlink "libc.so" +//go:cgo_import_dynamic libc_rename rename "libc.so" +//go:cgo_import_dynamic libc_renameat renameat "libc.so" +//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" +//go:cgo_import_dynamic libc_lseek lseek "libc.so" +//go:cgo_import_dynamic libc_select select "libc.so" +//go:cgo_import_dynamic libc_setegid setegid "libc.so" +//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" +//go:cgo_import_dynamic libc_setgid setgid "libc.so" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.so" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" +//go:cgo_import_dynamic libc_setregid setregid "libc.so" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" +//go:cgo_import_dynamic libc_setsid setsid "libc.so" +//go:cgo_import_dynamic libc_setuid setuid "libc.so" +//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" +//go:cgo_import_dynamic libc_stat stat "libc.so" +//go:cgo_import_dynamic libc_statvfs statvfs "libc.so" +//go:cgo_import_dynamic libc_symlink symlink "libc.so" +//go:cgo_import_dynamic libc_sync sync "libc.so" +//go:cgo_import_dynamic libc_sysconf sysconf "libc.so" +//go:cgo_import_dynamic libc_times times "libc.so" +//go:cgo_import_dynamic libc_truncate truncate "libc.so" +//go:cgo_import_dynamic libc_fsync fsync "libc.so" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" +//go:cgo_import_dynamic libc_umask umask "libc.so" +//go:cgo_import_dynamic libc_uname uname "libc.so" +//go:cgo_import_dynamic libc_umount umount "libc.so" +//go:cgo_import_dynamic libc_unlink unlink "libc.so" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" +//go:cgo_import_dynamic libc_ustat ustat "libc.so" +//go:cgo_import_dynamic libc_utime utime "libc.so" +//go:cgo_import_dynamic libc___xnet_bind __xnet_bind "libsocket.so" +//go:cgo_import_dynamic libc___xnet_connect __xnet_connect "libsocket.so" +//go:cgo_import_dynamic libc_mmap mmap "libc.so" +//go:cgo_import_dynamic libc_munmap munmap "libc.so" +//go:cgo_import_dynamic libc_sendfile sendfile "libsendfile.so" +//go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socket __xnet_socket "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair "libsocket.so" +//go:cgo_import_dynamic libc_write write "libc.so" +//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt "libsocket.so" +//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" + +//go:linkname procpipe libc_pipe +//go:linkname procpipe2 libc_pipe2 +//go:linkname procgetsockname libc_getsockname +//go:linkname procGetcwd libc_getcwd +//go:linkname procgetgroups libc_getgroups +//go:linkname procsetgroups libc_setgroups +//go:linkname procwait4 libc_wait4 +//go:linkname procgethostname libc_gethostname +//go:linkname procutimes libc_utimes +//go:linkname procutimensat libc_utimensat +//go:linkname procfcntl libc_fcntl +//go:linkname procfutimesat libc_futimesat +//go:linkname procaccept libc_accept +//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg +//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg +//go:linkname procacct libc_acct +//go:linkname proc__makedev libc___makedev +//go:linkname proc__major libc___major +//go:linkname proc__minor libc___minor +//go:linkname procioctl libc_ioctl +//go:linkname procpoll libc_poll +//go:linkname procAccess libc_access +//go:linkname procAdjtime libc_adjtime +//go:linkname procChdir libc_chdir +//go:linkname procChmod libc_chmod +//go:linkname procChown libc_chown +//go:linkname procChroot libc_chroot +//go:linkname procClose libc_close +//go:linkname procCreat libc_creat +//go:linkname procDup libc_dup +//go:linkname procDup2 libc_dup2 +//go:linkname procExit libc_exit +//go:linkname procFaccessat libc_faccessat +//go:linkname procFchdir libc_fchdir +//go:linkname procFchmod libc_fchmod +//go:linkname procFchmodat libc_fchmodat +//go:linkname procFchown libc_fchown +//go:linkname procFchownat libc_fchownat +//go:linkname procFdatasync libc_fdatasync +//go:linkname procFlock libc_flock +//go:linkname procFpathconf libc_fpathconf +//go:linkname procFstat libc_fstat +//go:linkname procFstatat libc_fstatat +//go:linkname procFstatvfs libc_fstatvfs +//go:linkname procGetdents libc_getdents +//go:linkname procGetgid libc_getgid +//go:linkname procGetpid libc_getpid +//go:linkname procGetpgid libc_getpgid +//go:linkname procGetpgrp libc_getpgrp +//go:linkname procGeteuid libc_geteuid +//go:linkname procGetegid libc_getegid +//go:linkname procGetppid libc_getppid +//go:linkname procGetpriority libc_getpriority +//go:linkname procGetrlimit libc_getrlimit +//go:linkname procGetrusage libc_getrusage +//go:linkname procGettimeofday libc_gettimeofday +//go:linkname procGetuid libc_getuid +//go:linkname procKill libc_kill +//go:linkname procLchown libc_lchown +//go:linkname procLink libc_link +//go:linkname proc__xnet_llisten libc___xnet_llisten +//go:linkname procLstat libc_lstat +//go:linkname procMadvise libc_madvise +//go:linkname procMkdir libc_mkdir +//go:linkname procMkdirat libc_mkdirat +//go:linkname procMkfifo libc_mkfifo +//go:linkname procMkfifoat libc_mkfifoat +//go:linkname procMknod libc_mknod +//go:linkname procMknodat libc_mknodat +//go:linkname procMlock libc_mlock +//go:linkname procMlockall libc_mlockall +//go:linkname procMprotect libc_mprotect +//go:linkname procMsync libc_msync +//go:linkname procMunlock libc_munlock +//go:linkname procMunlockall libc_munlockall +//go:linkname procNanosleep libc_nanosleep +//go:linkname procOpen libc_open +//go:linkname procOpenat libc_openat +//go:linkname procPathconf libc_pathconf +//go:linkname procPause libc_pause +//go:linkname procPread libc_pread +//go:linkname procPwrite libc_pwrite +//go:linkname procread libc_read +//go:linkname procReadlink libc_readlink +//go:linkname procRename libc_rename +//go:linkname procRenameat libc_renameat +//go:linkname procRmdir libc_rmdir +//go:linkname proclseek libc_lseek +//go:linkname procSelect libc_select +//go:linkname procSetegid libc_setegid +//go:linkname procSeteuid libc_seteuid +//go:linkname procSetgid libc_setgid +//go:linkname procSethostname libc_sethostname +//go:linkname procSetpgid libc_setpgid +//go:linkname procSetpriority libc_setpriority +//go:linkname procSetregid libc_setregid +//go:linkname procSetreuid libc_setreuid +//go:linkname procSetrlimit libc_setrlimit +//go:linkname procSetsid libc_setsid +//go:linkname procSetuid libc_setuid +//go:linkname procshutdown libc_shutdown +//go:linkname procStat libc_stat +//go:linkname procStatvfs libc_statvfs +//go:linkname procSymlink libc_symlink +//go:linkname procSync libc_sync +//go:linkname procSysconf libc_sysconf +//go:linkname procTimes libc_times +//go:linkname procTruncate libc_truncate +//go:linkname procFsync libc_fsync +//go:linkname procFtruncate libc_ftruncate +//go:linkname procUmask libc_umask +//go:linkname procUname libc_uname +//go:linkname procumount libc_umount +//go:linkname procUnlink libc_unlink +//go:linkname procUnlinkat libc_unlinkat +//go:linkname procUstat libc_ustat +//go:linkname procUtime libc_utime +//go:linkname proc__xnet_bind libc___xnet_bind +//go:linkname proc__xnet_connect libc___xnet_connect +//go:linkname procmmap libc_mmap +//go:linkname procmunmap libc_munmap +//go:linkname procsendfile libc_sendfile +//go:linkname proc__xnet_sendto libc___xnet_sendto +//go:linkname proc__xnet_socket libc___xnet_socket +//go:linkname proc__xnet_socketpair libc___xnet_socketpair +//go:linkname procwrite libc_write +//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt +//go:linkname procgetpeername libc_getpeername +//go:linkname procsetsockopt libc_setsockopt +//go:linkname procrecvfrom libc_recvfrom + +var ( + procpipe, + procpipe2, + procgetsockname, + procGetcwd, + procgetgroups, + procsetgroups, + procwait4, + procgethostname, + procutimes, + procutimensat, + procfcntl, + procfutimesat, + procaccept, + proc__xnet_recvmsg, + proc__xnet_sendmsg, + procacct, + proc__makedev, + proc__major, + proc__minor, + procioctl, + procpoll, + procAccess, + procAdjtime, + procChdir, + procChmod, + procChown, + procChroot, + procClose, + procCreat, + procDup, + procDup2, + procExit, + procFaccessat, + procFchdir, + procFchmod, + procFchmodat, + procFchown, + procFchownat, + procFdatasync, + procFlock, + procFpathconf, + procFstat, + procFstatat, + procFstatvfs, + procGetdents, + procGetgid, + procGetpid, + procGetpgid, + procGetpgrp, + procGeteuid, + procGetegid, + procGetppid, + procGetpriority, + procGetrlimit, + procGetrusage, + procGettimeofday, + procGetuid, + procKill, + procLchown, + procLink, + proc__xnet_llisten, + procLstat, + procMadvise, + procMkdir, + procMkdirat, + procMkfifo, + procMkfifoat, + procMknod, + procMknodat, + procMlock, + procMlockall, + procMprotect, + procMsync, + procMunlock, + procMunlockall, + procNanosleep, + procOpen, + procOpenat, + procPathconf, + procPause, + procPread, + procPwrite, + procread, + procReadlink, + procRename, + procRenameat, + procRmdir, + proclseek, + procSelect, + procSetegid, + procSeteuid, + procSetgid, + procSethostname, + procSetpgid, + procSetpriority, + procSetregid, + procSetreuid, + procSetrlimit, + procSetsid, + procSetuid, + procshutdown, + procStat, + procStatvfs, + procSymlink, + procSync, + procSysconf, + procTimes, + procTruncate, + procFsync, + procFtruncate, + procUmask, + procUname, + procumount, + procUnlink, + procUnlinkat, + procUstat, + procUtime, + proc__xnet_bind, + proc__xnet_connect, + procmmap, + procmunmap, + procsendfile, + proc__xnet_sendto, + proc__xnet_socket, + proc__xnet_socketpair, + procwrite, + proc__xnet_getsockopt, + procgetpeername, + procsetsockopt, + procrecvfrom syscallFunc +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe2)), 2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int32(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gethostname(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func acct(path *byte) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __makedev(version int, major uint, minor uint) (val uint64) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0) + val = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __major(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __minor(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) + ret = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Creat(path string, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0) + nfd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFaccessat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, 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 = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statvfs(path string, vfsstat *Statvfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStatvfs)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysconf(which int) (n int64, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSysconf)), 1, uintptr(which), 0, 0, 0, 0, 0) + n = int64(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendfile)), 4, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go new file mode 100644 index 000000000..f2079457c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go @@ -0,0 +1,1255 @@ +// go run mksyscall.go -tags zos,s390x syscall_zos_s390x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build zos && s390x +// +build zos,s390x + +package unix + +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(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 read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(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 readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_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 write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(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 accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(SYS___ACCEPT_A, 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_syscall(SYS___BIND_A, 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_syscall(SYS___CONNECT_A, 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 := syscall_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 := syscall_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 := syscall_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 := syscall_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 := syscall_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 := syscall_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 := syscall_rawsyscall(SYS___GETPEERNAME_A, 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 := syscall_rawsyscall(SYS___GETSOCKNAME_A, 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 := syscall_syscall6(SYS___RECVFROM_A, 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 := syscall_syscall6(SYS___SENDTO_A, 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_syscall(SYS___RECVMSG_A, 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_syscall(SYS___SENDMSG_A, 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, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_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_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 ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_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_syscall(SYS___ACCESS_A, 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 Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___CHDIR_A, uintptr(unsafe.Pointer(_p0)), 0, 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_syscall(SYS___CHOWN_A, 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 Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___CHMOD_A, 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 Creat(path string, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(SYS___CREAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + fd = 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_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 Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := syscall_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 Errno2() (er2 int) { + uer2, _, _ := syscall_syscall(SYS___ERRNO2, 0, 0, 0) + er2 = int(uer2) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Err2ad() (eadd *int) { + ueadd, _, _ := syscall_syscall(SYS___ERR2AD, 0, 0, 0) + eadd = (*int)(unsafe.Pointer(ueadd)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_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_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_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_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 FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) { + r0, _, e1 := syscall_syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + retval = 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_LE_t) (err error) { + _, _, e1 := syscall_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 Fstatvfs(fd int, stat *Statvfs_t) (err error) { + _, _, e1 := syscall_syscall(SYS_FSTATVFS, 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_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_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 Getpagesize() (pgsize int) { + r0, _, _ := syscall_syscall(SYS_GETPAGESIZE, 0, 0, 0) + pgsize = int(r0) + 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_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_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 Poll(fds []PollFd, timeout int) (n int, err error) { + var _p0 unsafe.Pointer + if len(fds) > 0 { + _p0 = unsafe.Pointer(&fds[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(SYS_POLL, uintptr(_p0), uintptr(len(fds)), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := syscall_syscall(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 W_Getmntent(buff *byte, size int) (lastsys int, err error) { + r0, _, e1 := syscall_syscall(SYS_W_GETMNTENT, uintptr(unsafe.Pointer(buff)), uintptr(size), 0) + lastsys = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func W_Getmntent_A(buff *byte, size int) (lastsys int, err error) { + r0, _, e1 := syscall_syscall(SYS___W_GETMNTENT_A, uintptr(unsafe.Pointer(buff)), uintptr(size), 0) + lastsys = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(filesystem) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + var _p3 *byte + _p3, err = BytePtrFromString(parm) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(SYS___MOUNT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(mtm), uintptr(parmlen), uintptr(unsafe.Pointer(_p3))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func unmount(filesystem string, mtm int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(filesystem) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___UMOUNT_A, uintptr(unsafe.Pointer(_p0)), uintptr(mtm), 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_syscall(SYS___CHROOT_A, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := syscall_rawsyscall(SYS___UNAME_A, 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 Gethostname(buf []byte) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(SYS___GETHOSTNAME_A, uintptr(_p0), uintptr(len(buf)), 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, _, _ := syscall_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, _, _ := syscall_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, _, _ := syscall_rawsyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawsyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_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 Getppid() (pid int) { + r0, _, _ := syscall_rawsyscall(SYS_GETPPID, 0, 0, 0) + pid = 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_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(resource int, rlim *Rlimit) (err error) { + _, _, e1 := syscall_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 getrusage(who int, rusage *rusage_zos) (err error) { + _, _, e1 := syscall_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 := syscall_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, _, _ := syscall_rawsyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + _, _, e1 := syscall_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 Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___LCHOWN_A, 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_syscall(SYS___LINK_A, 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, n int) (err error) { + _, _, e1 := syscall_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_LE_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___LSTAT_A, 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_syscall(SYS___MKDIR_A, 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_syscall(SYS___MKFIFO_A, 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_syscall(SYS___MKNOD_A, 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 Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(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 := syscall_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 Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(SYS___READLINK_A, 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_syscall(SYS___RENAME_A, 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 Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___RMDIR_A, uintptr(unsafe.Pointer(_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) (off int64, err error) { + r0, _, e1 := syscall_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 Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_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 Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_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 Setrlimit(resource int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawsyscall(SYS_SETRLIMIT, uintptr(resource), 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 Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_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 := syscall_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 Setsid() (pid int, err error) { + r0, _, e1 := syscall_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 Setuid(uid int) (err error) { + _, _, e1 := syscall_syscall(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 Setgid(uid int) (err error) { + _, _, e1 := syscall_syscall(SYS_SETGID, 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 Shutdown(fd int, how int) (err error) { + _, _, e1 := syscall_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 stat(path string, statLE *Stat_LE_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___STAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statLE)), 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_syscall(SYS___SYMLINK_A, 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() { + syscall_syscall(SYS_SYNC, 0, 0, 0) + 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_syscall(SYS___TRUNCATE_A, 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 Tcgetattr(fildes int, termptr *Termios) (err error) { + _, _, e1 := syscall_syscall(SYS_TCGETATTR, uintptr(fildes), uintptr(unsafe.Pointer(termptr)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tcsetattr(fildes int, when int, termptr *Termios) (err error) { + _, _, e1 := syscall_syscall(SYS_TCSETATTR, uintptr(fildes), uintptr(when), uintptr(unsafe.Pointer(termptr))) + 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, _, _ := syscall_syscall(SYS_UMASK, uintptr(mask), 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_syscall(SYS___UNLINK_A, uintptr(unsafe.Pointer(_p0)), 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, utim *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___UTIME_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(utim)), 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_syscall(SYS___OPEN_A, 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 remove(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) { + r0, _, e1 := syscall_syscall(SYS_WAITPID, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options)) + wpid = 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_zos) (err error) { + _, _, e1 := syscall_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 pipe(p *[2]_C_int) (err error) { + _, _, e1 := syscall_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 utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(SYS___UTIMES_A, 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 Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) { + r0, _, e1 := syscall_syscall6(SYS_SELECT, uintptr(nmsgsfds), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go new file mode 100644 index 000000000..9e9d0b2a9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go @@ -0,0 +1,274 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +//go:build 386 && openbsd +// +build 386,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.ncpuonline", []_C_int{6, 25}}, + {"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/zsysctl_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go new file mode 100644 index 000000000..adecd0966 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go @@ -0,0 +1,272 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +//go:build amd64 && openbsd +// +build amd64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.dnsjackport", []_C_int{1, 13}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go new file mode 100644 index 000000000..8ea52a4a1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go @@ -0,0 +1,274 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +//go:build arm && openbsd +// +build arm,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.ncpuonline", []_C_int{6, 25}}, + {"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/zsysctl_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go new file mode 100644 index 000000000..154b57ae3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go @@ -0,0 +1,276 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +//go:build arm64 && openbsd +// +build arm64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.smt", []_C_int{6, 24}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.audio", []_C_int{1, 84}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cpustats", []_C_int{1, 85}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.witnesswatch", []_C_int{1, 53}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.malloc_conf", []_C_int{2, 12}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go new file mode 100644 index 000000000..d96bb2ba4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go @@ -0,0 +1,280 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +//go:build mips64 && openbsd +// +build mips64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.smt", []_C_int{6, 24}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowdt", []_C_int{1, 65}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.audio", []_C_int{1, 84}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consbuf", []_C_int{1, 83}}, + {"kern.consbufsize", []_C_int{1, 82}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cpustats", []_C_int{1, 85}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pfstatus", []_C_int{1, 86}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.timeout_stats", []_C_int{1, 87}}, + {"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.utc_offset", []_C_int{1, 88}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.witnesswatch", []_C_int{1, 53}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.malloc_conf", []_C_int{2, 12}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/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 000000000..f8298ff9b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go @@ -0,0 +1,440 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && darwin +// +build amd64,darwin + +package unix + +// Deprecated: Use libSystem wrappers instead of direct syscalls. +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_KQUEUE_WORKLOOP_CTL = 530 + SYS___MACH_BRIDGE_REMOTE_TIME = 531 + SYS_MAXSYSCALL = 532 + SYS_INVALID = 63 +) diff --git a/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 000000000..5eb433bbf --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go @@ -0,0 +1,438 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && darwin +// +build arm64,darwin + +package unix + +// Deprecated: Use libSystem wrappers instead of direct syscalls. +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go new file mode 100644 index 000000000..703675c0c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go @@ -0,0 +1,317 @@ +// go run mksysnum.go https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && dragonfly +// +build amd64,dragonfly + +package unix + +const ( + SYS_EXIT = 1 // { void exit(int rval); } + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } wait4 wait_args int + // SYS_NOSYS = 8; // { int nosys(void); } __nosys nosys_args int + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, caddr_t from, int *fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } + SYS_ACCESS = 33 // { int access(char *path, int flags); } + SYS_CHFLAGS = 34 // { int chflags(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(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, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, size_t namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { pid_t vfork(void); } + SYS_SBRK = 69 // { caddr_t sbrk(size_t incr); } + SYS_SSTK = 70 // { int sstk(size_t incr); } + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(int from, int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, size_t nbyte, int flags, off_t offset); } + SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, size_t nbyte, int flags, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } + SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, u_int nsops); } + SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, const struct iovec *iovp, int iovcnt, int flags, off_t offset); } + SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, const struct iovec *iovp, int iovcnt, int flags, off_t offset); } + SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_AIO_READ = 318 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 319 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGRETURN = 344 // { int sigreturn(ucontext_t *sigcntxp); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set,siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } + SYS_VARSYM_GET = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } + SYS_VARSYM_LIST = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); } + SYS_EXEC_SYS_REGISTER = 465 // { int exec_sys_register(void *entry); } + SYS_EXEC_SYS_UNREGISTER = 466 // { int exec_sys_unregister(int id); } + SYS_SYS_CHECKPOINT = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } + SYS_MOUNTCTL = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } + SYS_UMTX_SLEEP = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); } + SYS_UMTX_WAKEUP = 470 // { int umtx_wakeup(volatile const int *ptr, int count); } + SYS_JAIL_ATTACH = 471 // { int jail_attach(int jid); } + SYS_SET_TLS_AREA = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_GET_TLS_AREA = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_CLOSEFROM = 474 // { int closefrom(int fd); } + SYS_STAT = 475 // { int stat(const char *path, struct stat *ub); } + SYS_FSTAT = 476 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 477 // { int lstat(const char *path, struct stat *ub); } + SYS_FHSTAT = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_GETDIRENTRIES = 479 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS_GETDENTS = 480 // { int getdents(int fd, char *buf, size_t count); } + SYS_USCHED_SET = 481 // { int usched_set(pid_t pid, int cmd, void *data, int bytes); } + SYS_EXTACCEPT = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); } + SYS_EXTCONNECT = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); } + SYS_MCONTROL = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_CREATE = 486 // { int vmspace_create(void *id, int type, void *data); } + SYS_VMSPACE_DESTROY = 487 // { int vmspace_destroy(void *id); } + SYS_VMSPACE_CTL = 488 // { int vmspace_ctl(void *id, int cmd, struct trapframe *tframe, struct vextframe *vframe); } + SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, int prot, int flags, int fd, off_t offset); } + SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, size_t len); } + SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, size_t nbyte, int flags, off_t offset); } + SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, size_t nbyte, int flags, off_t offset); } + SYS_EXTEXIT = 494 // { void extexit(int how, int status, void *addr); } + SYS_LWP_CREATE = 495 // { int lwp_create(struct lwp_params *params); } + SYS_LWP_GETTID = 496 // { lwpid_t lwp_gettid(void); } + SYS_LWP_KILL = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } + SYS_LWP_RTPRIO = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } + SYS_PSELECT = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sigmask); } + SYS_STATVFS = 500 // { int statvfs(const char *path, struct statvfs *buf); } + SYS_FSTATVFS = 501 // { int fstatvfs(int fd, struct statvfs *buf); } + SYS_FHSTATVFS = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } + SYS_GETVFSSTAT = 503 // { int getvfsstat(struct statfs *buf, struct statvfs *vbuf, long vbufsize, int flags); } + SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } + SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, struct stat *sb, int flags); } + SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, int flags); } + SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, int flags); } + SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } + SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, int flags); } + SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, mode_t mode, struct mq_attr *attr); } + SYS_MQ_CLOSE = 511 // { int mq_close(mqd_t mqdes); } + SYS_MQ_UNLINK = 512 // { int mq_unlink(const char *name); } + SYS_MQ_GETATTR = 513 // { int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat); } + SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, struct mq_attr *omqstat); } + SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, const struct sigevent *notification); } + SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); } + SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); } + SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } + SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_IOPRIO_SET = 520 // { int ioprio_set(int which, int who, int prio); } + SYS_IOPRIO_GET = 521 // { int ioprio_get(int which, int who); } + SYS_CHROOT_KERNEL = 522 // { int chroot_kernel(char *path); } + SYS_RENAMEAT = 523 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_MKDIRAT = 524 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 525 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 526 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 528 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_SWAPOFF = 529 // { int swapoff(char *name); } + SYS_VQUOTACTL = 530 // { int vquotactl(const char *path, struct plistref *pref); } + SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flags); } + SYS_EACCESS = 532 // { int eaccess(char *path, int flags); } + SYS_LPATHCONF = 533 // { int lpathconf(char *path, int name); } + SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } + SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } + SYS_PROCCTL = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } + SYS_CHFLAGSAT = 537 // { int chflagsat(int fd, const char *path, u_long flags, int atflags);} + SYS_PIPE2 = 538 // { int pipe2(int *fildes, int flags); } + SYS_UTIMENSAT = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } + SYS_FUTIMENS = 540 // { int futimens(int fd, const struct timespec *ts); } + SYS_ACCEPT4 = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); } + SYS_LWP_SETNAME = 542 // { int lwp_setname(lwpid_t tid, const char *name); } + SYS_PPOLL = 543 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *sigmask); } + SYS_LWP_SETAFFINITY = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } + SYS_LWP_GETAFFINITY = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } + SYS_LWP_CREATE2 = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } + SYS_GETCPUCLOCKID = 547 // { int getcpuclockid(pid_t pid, lwpid_t lwp_id, clockid_t *clock_id); } + SYS_WAIT6 = 548 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_LWP_GETNAME = 549 // { int lwp_getname(lwpid_t tid, char *name, size_t len); } + SYS_GETRANDOM = 550 // { ssize_t getrandom(void *buf, size_t len, unsigned flags); } + SYS___REALPATH = 551 // { ssize_t __realpath(const char *path, char *buf, size_t len); } +) 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 000000000..59d5dfc20 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go @@ -0,0 +1,397 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && freebsd +// +build 386,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/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 000000000..342d471d2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go @@ -0,0 +1,397 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && freebsd +// +build amd64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/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 000000000..e2e3d72c5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go @@ -0,0 +1,397 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && freebsd +// +build arm,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go new file mode 100644 index 000000000..61ad5ca3c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go @@ -0,0 +1,397 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && freebsd +// +build arm64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/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 000000000..fbc59b7fd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -0,0 +1,442 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && linux +// +build 386,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86OLD = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_VM86 = 166 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_SET_THREAD_AREA = 243 + SYS_GET_THREAD_AREA = 244 + SYS_IO_SETUP = 245 + SYS_IO_DESTROY = 246 + SYS_IO_GETEVENTS = 247 + SYS_IO_SUBMIT = 248 + SYS_IO_CANCEL = 249 + SYS_FADVISE64 = 250 + SYS_EXIT_GROUP = 252 + SYS_LOOKUP_DCOOKIE = 253 + SYS_EPOLL_CREATE = 254 + SYS_EPOLL_CTL = 255 + SYS_EPOLL_WAIT = 256 + SYS_REMAP_FILE_PAGES = 257 + SYS_SET_TID_ADDRESS = 258 + SYS_TIMER_CREATE = 259 + SYS_TIMER_SETTIME = 260 + SYS_TIMER_GETTIME = 261 + SYS_TIMER_GETOVERRUN = 262 + SYS_TIMER_DELETE = 263 + SYS_CLOCK_SETTIME = 264 + SYS_CLOCK_GETTIME = 265 + SYS_CLOCK_GETRES = 266 + SYS_CLOCK_NANOSLEEP = 267 + SYS_STATFS64 = 268 + SYS_FSTATFS64 = 269 + SYS_TGKILL = 270 + SYS_UTIMES = 271 + SYS_FADVISE64_64 = 272 + SYS_VSERVER = 273 + SYS_MBIND = 274 + SYS_GET_MEMPOLICY = 275 + SYS_SET_MEMPOLICY = 276 + SYS_MQ_OPEN = 277 + SYS_MQ_UNLINK = 278 + SYS_MQ_TIMEDSEND = 279 + SYS_MQ_TIMEDRECEIVE = 280 + SYS_MQ_NOTIFY = 281 + SYS_MQ_GETSETATTR = 282 + SYS_KEXEC_LOAD = 283 + SYS_WAITID = 284 + SYS_ADD_KEY = 286 + SYS_REQUEST_KEY = 287 + SYS_KEYCTL = 288 + SYS_IOPRIO_SET = 289 + SYS_IOPRIO_GET = 290 + SYS_INOTIFY_INIT = 291 + SYS_INOTIFY_ADD_WATCH = 292 + SYS_INOTIFY_RM_WATCH = 293 + SYS_MIGRATE_PAGES = 294 + SYS_OPENAT = 295 + SYS_MKDIRAT = 296 + SYS_MKNODAT = 297 + SYS_FCHOWNAT = 298 + SYS_FUTIMESAT = 299 + SYS_FSTATAT64 = 300 + SYS_UNLINKAT = 301 + SYS_RENAMEAT = 302 + SYS_LINKAT = 303 + SYS_SYMLINKAT = 304 + SYS_READLINKAT = 305 + SYS_FCHMODAT = 306 + SYS_FACCESSAT = 307 + SYS_PSELECT6 = 308 + SYS_PPOLL = 309 + SYS_UNSHARE = 310 + SYS_SET_ROBUST_LIST = 311 + SYS_GET_ROBUST_LIST = 312 + SYS_SPLICE = 313 + SYS_SYNC_FILE_RANGE = 314 + SYS_TEE = 315 + SYS_VMSPLICE = 316 + SYS_MOVE_PAGES = 317 + SYS_GETCPU = 318 + SYS_EPOLL_PWAIT = 319 + SYS_UTIMENSAT = 320 + SYS_SIGNALFD = 321 + SYS_TIMERFD_CREATE = 322 + SYS_EVENTFD = 323 + SYS_FALLOCATE = 324 + SYS_TIMERFD_SETTIME = 325 + SYS_TIMERFD_GETTIME = 326 + SYS_SIGNALFD4 = 327 + SYS_EVENTFD2 = 328 + SYS_EPOLL_CREATE1 = 329 + SYS_DUP3 = 330 + SYS_PIPE2 = 331 + SYS_INOTIFY_INIT1 = 332 + SYS_PREADV = 333 + SYS_PWRITEV = 334 + SYS_RT_TGSIGQUEUEINFO = 335 + SYS_PERF_EVENT_OPEN = 336 + SYS_RECVMMSG = 337 + SYS_FANOTIFY_INIT = 338 + SYS_FANOTIFY_MARK = 339 + SYS_PRLIMIT64 = 340 + SYS_NAME_TO_HANDLE_AT = 341 + SYS_OPEN_BY_HANDLE_AT = 342 + SYS_CLOCK_ADJTIME = 343 + SYS_SYNCFS = 344 + SYS_SENDMMSG = 345 + SYS_SETNS = 346 + SYS_PROCESS_VM_READV = 347 + SYS_PROCESS_VM_WRITEV = 348 + SYS_KCMP = 349 + SYS_FINIT_MODULE = 350 + SYS_SCHED_SETATTR = 351 + SYS_SCHED_GETATTR = 352 + SYS_RENAMEAT2 = 353 + SYS_SECCOMP = 354 + SYS_GETRANDOM = 355 + SYS_MEMFD_CREATE = 356 + SYS_BPF = 357 + SYS_EXECVEAT = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_USERFAULTFD = 374 + SYS_MEMBARRIER = 375 + SYS_MLOCK2 = 376 + SYS_COPY_FILE_RANGE = 377 + SYS_PREADV2 = 378 + SYS_PWRITEV2 = 379 + SYS_PKEY_MPROTECT = 380 + SYS_PKEY_ALLOC = 381 + SYS_PKEY_FREE = 382 + SYS_STATX = 383 + SYS_ARCH_PRCTL = 384 + SYS_IO_PGETEVENTS = 385 + SYS_RSEQ = 386 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..04d16d771 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -0,0 +1,364 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && linux +// +build amd64,linux + +package unix + +const ( + SYS_READ = 0 + SYS_WRITE = 1 + SYS_OPEN = 2 + SYS_CLOSE = 3 + SYS_STAT = 4 + SYS_FSTAT = 5 + SYS_LSTAT = 6 + SYS_POLL = 7 + SYS_LSEEK = 8 + SYS_MMAP = 9 + SYS_MPROTECT = 10 + SYS_MUNMAP = 11 + SYS_BRK = 12 + SYS_RT_SIGACTION = 13 + SYS_RT_SIGPROCMASK = 14 + SYS_RT_SIGRETURN = 15 + SYS_IOCTL = 16 + SYS_PREAD64 = 17 + SYS_PWRITE64 = 18 + SYS_READV = 19 + SYS_WRITEV = 20 + SYS_ACCESS = 21 + SYS_PIPE = 22 + SYS_SELECT = 23 + SYS_SCHED_YIELD = 24 + SYS_MREMAP = 25 + SYS_MSYNC = 26 + SYS_MINCORE = 27 + SYS_MADVISE = 28 + SYS_SHMGET = 29 + SYS_SHMAT = 30 + SYS_SHMCTL = 31 + SYS_DUP = 32 + SYS_DUP2 = 33 + SYS_PAUSE = 34 + SYS_NANOSLEEP = 35 + SYS_GETITIMER = 36 + SYS_ALARM = 37 + SYS_SETITIMER = 38 + SYS_GETPID = 39 + SYS_SENDFILE = 40 + SYS_SOCKET = 41 + SYS_CONNECT = 42 + SYS_ACCEPT = 43 + SYS_SENDTO = 44 + SYS_RECVFROM = 45 + SYS_SENDMSG = 46 + SYS_RECVMSG = 47 + SYS_SHUTDOWN = 48 + SYS_BIND = 49 + SYS_LISTEN = 50 + SYS_GETSOCKNAME = 51 + SYS_GETPEERNAME = 52 + SYS_SOCKETPAIR = 53 + SYS_SETSOCKOPT = 54 + SYS_GETSOCKOPT = 55 + SYS_CLONE = 56 + SYS_FORK = 57 + SYS_VFORK = 58 + SYS_EXECVE = 59 + SYS_EXIT = 60 + SYS_WAIT4 = 61 + SYS_KILL = 62 + SYS_UNAME = 63 + SYS_SEMGET = 64 + SYS_SEMOP = 65 + SYS_SEMCTL = 66 + SYS_SHMDT = 67 + SYS_MSGGET = 68 + SYS_MSGSND = 69 + SYS_MSGRCV = 70 + SYS_MSGCTL = 71 + SYS_FCNTL = 72 + SYS_FLOCK = 73 + SYS_FSYNC = 74 + SYS_FDATASYNC = 75 + SYS_TRUNCATE = 76 + SYS_FTRUNCATE = 77 + SYS_GETDENTS = 78 + SYS_GETCWD = 79 + SYS_CHDIR = 80 + SYS_FCHDIR = 81 + SYS_RENAME = 82 + SYS_MKDIR = 83 + SYS_RMDIR = 84 + SYS_CREAT = 85 + SYS_LINK = 86 + SYS_UNLINK = 87 + SYS_SYMLINK = 88 + SYS_READLINK = 89 + SYS_CHMOD = 90 + SYS_FCHMOD = 91 + SYS_CHOWN = 92 + SYS_FCHOWN = 93 + SYS_LCHOWN = 94 + SYS_UMASK = 95 + SYS_GETTIMEOFDAY = 96 + SYS_GETRLIMIT = 97 + SYS_GETRUSAGE = 98 + SYS_SYSINFO = 99 + SYS_TIMES = 100 + SYS_PTRACE = 101 + SYS_GETUID = 102 + SYS_SYSLOG = 103 + SYS_GETGID = 104 + SYS_SETUID = 105 + SYS_SETGID = 106 + SYS_GETEUID = 107 + SYS_GETEGID = 108 + SYS_SETPGID = 109 + SYS_GETPPID = 110 + SYS_GETPGRP = 111 + SYS_SETSID = 112 + SYS_SETREUID = 113 + SYS_SETREGID = 114 + SYS_GETGROUPS = 115 + SYS_SETGROUPS = 116 + SYS_SETRESUID = 117 + SYS_GETRESUID = 118 + SYS_SETRESGID = 119 + SYS_GETRESGID = 120 + SYS_GETPGID = 121 + SYS_SETFSUID = 122 + SYS_SETFSGID = 123 + SYS_GETSID = 124 + SYS_CAPGET = 125 + SYS_CAPSET = 126 + SYS_RT_SIGPENDING = 127 + SYS_RT_SIGTIMEDWAIT = 128 + SYS_RT_SIGQUEUEINFO = 129 + SYS_RT_SIGSUSPEND = 130 + SYS_SIGALTSTACK = 131 + SYS_UTIME = 132 + SYS_MKNOD = 133 + SYS_USELIB = 134 + SYS_PERSONALITY = 135 + SYS_USTAT = 136 + SYS_STATFS = 137 + SYS_FSTATFS = 138 + SYS_SYSFS = 139 + SYS_GETPRIORITY = 140 + SYS_SETPRIORITY = 141 + SYS_SCHED_SETPARAM = 142 + SYS_SCHED_GETPARAM = 143 + SYS_SCHED_SETSCHEDULER = 144 + SYS_SCHED_GETSCHEDULER = 145 + SYS_SCHED_GET_PRIORITY_MAX = 146 + SYS_SCHED_GET_PRIORITY_MIN = 147 + SYS_SCHED_RR_GET_INTERVAL = 148 + SYS_MLOCK = 149 + SYS_MUNLOCK = 150 + SYS_MLOCKALL = 151 + SYS_MUNLOCKALL = 152 + SYS_VHANGUP = 153 + SYS_MODIFY_LDT = 154 + SYS_PIVOT_ROOT = 155 + SYS__SYSCTL = 156 + SYS_PRCTL = 157 + SYS_ARCH_PRCTL = 158 + SYS_ADJTIMEX = 159 + SYS_SETRLIMIT = 160 + SYS_CHROOT = 161 + SYS_SYNC = 162 + SYS_ACCT = 163 + SYS_SETTIMEOFDAY = 164 + SYS_MOUNT = 165 + SYS_UMOUNT2 = 166 + SYS_SWAPON = 167 + SYS_SWAPOFF = 168 + SYS_REBOOT = 169 + SYS_SETHOSTNAME = 170 + SYS_SETDOMAINNAME = 171 + SYS_IOPL = 172 + SYS_IOPERM = 173 + SYS_CREATE_MODULE = 174 + SYS_INIT_MODULE = 175 + SYS_DELETE_MODULE = 176 + SYS_GET_KERNEL_SYMS = 177 + SYS_QUERY_MODULE = 178 + SYS_QUOTACTL = 179 + SYS_NFSSERVCTL = 180 + SYS_GETPMSG = 181 + SYS_PUTPMSG = 182 + SYS_AFS_SYSCALL = 183 + SYS_TUXCALL = 184 + SYS_SECURITY = 185 + SYS_GETTID = 186 + SYS_READAHEAD = 187 + SYS_SETXATTR = 188 + SYS_LSETXATTR = 189 + SYS_FSETXATTR = 190 + SYS_GETXATTR = 191 + SYS_LGETXATTR = 192 + SYS_FGETXATTR = 193 + SYS_LISTXATTR = 194 + SYS_LLISTXATTR = 195 + SYS_FLISTXATTR = 196 + SYS_REMOVEXATTR = 197 + SYS_LREMOVEXATTR = 198 + SYS_FREMOVEXATTR = 199 + SYS_TKILL = 200 + SYS_TIME = 201 + SYS_FUTEX = 202 + SYS_SCHED_SETAFFINITY = 203 + SYS_SCHED_GETAFFINITY = 204 + SYS_SET_THREAD_AREA = 205 + SYS_IO_SETUP = 206 + SYS_IO_DESTROY = 207 + SYS_IO_GETEVENTS = 208 + SYS_IO_SUBMIT = 209 + SYS_IO_CANCEL = 210 + SYS_GET_THREAD_AREA = 211 + SYS_LOOKUP_DCOOKIE = 212 + SYS_EPOLL_CREATE = 213 + SYS_EPOLL_CTL_OLD = 214 + SYS_EPOLL_WAIT_OLD = 215 + SYS_REMAP_FILE_PAGES = 216 + SYS_GETDENTS64 = 217 + SYS_SET_TID_ADDRESS = 218 + SYS_RESTART_SYSCALL = 219 + SYS_SEMTIMEDOP = 220 + SYS_FADVISE64 = 221 + SYS_TIMER_CREATE = 222 + SYS_TIMER_SETTIME = 223 + SYS_TIMER_GETTIME = 224 + SYS_TIMER_GETOVERRUN = 225 + SYS_TIMER_DELETE = 226 + SYS_CLOCK_SETTIME = 227 + SYS_CLOCK_GETTIME = 228 + SYS_CLOCK_GETRES = 229 + SYS_CLOCK_NANOSLEEP = 230 + SYS_EXIT_GROUP = 231 + SYS_EPOLL_WAIT = 232 + SYS_EPOLL_CTL = 233 + SYS_TGKILL = 234 + SYS_UTIMES = 235 + SYS_VSERVER = 236 + SYS_MBIND = 237 + SYS_SET_MEMPOLICY = 238 + SYS_GET_MEMPOLICY = 239 + SYS_MQ_OPEN = 240 + SYS_MQ_UNLINK = 241 + SYS_MQ_TIMEDSEND = 242 + SYS_MQ_TIMEDRECEIVE = 243 + SYS_MQ_NOTIFY = 244 + SYS_MQ_GETSETATTR = 245 + SYS_KEXEC_LOAD = 246 + SYS_WAITID = 247 + SYS_ADD_KEY = 248 + SYS_REQUEST_KEY = 249 + SYS_KEYCTL = 250 + SYS_IOPRIO_SET = 251 + SYS_IOPRIO_GET = 252 + SYS_INOTIFY_INIT = 253 + SYS_INOTIFY_ADD_WATCH = 254 + SYS_INOTIFY_RM_WATCH = 255 + SYS_MIGRATE_PAGES = 256 + SYS_OPENAT = 257 + SYS_MKDIRAT = 258 + SYS_MKNODAT = 259 + SYS_FCHOWNAT = 260 + SYS_FUTIMESAT = 261 + SYS_NEWFSTATAT = 262 + SYS_UNLINKAT = 263 + SYS_RENAMEAT = 264 + SYS_LINKAT = 265 + SYS_SYMLINKAT = 266 + SYS_READLINKAT = 267 + SYS_FCHMODAT = 268 + SYS_FACCESSAT = 269 + SYS_PSELECT6 = 270 + SYS_PPOLL = 271 + SYS_UNSHARE = 272 + SYS_SET_ROBUST_LIST = 273 + SYS_GET_ROBUST_LIST = 274 + SYS_SPLICE = 275 + SYS_TEE = 276 + SYS_SYNC_FILE_RANGE = 277 + SYS_VMSPLICE = 278 + SYS_MOVE_PAGES = 279 + SYS_UTIMENSAT = 280 + SYS_EPOLL_PWAIT = 281 + SYS_SIGNALFD = 282 + SYS_TIMERFD_CREATE = 283 + SYS_EVENTFD = 284 + SYS_FALLOCATE = 285 + SYS_TIMERFD_SETTIME = 286 + SYS_TIMERFD_GETTIME = 287 + SYS_ACCEPT4 = 288 + SYS_SIGNALFD4 = 289 + SYS_EVENTFD2 = 290 + SYS_EPOLL_CREATE1 = 291 + SYS_DUP3 = 292 + SYS_PIPE2 = 293 + SYS_INOTIFY_INIT1 = 294 + SYS_PREADV = 295 + SYS_PWRITEV = 296 + SYS_RT_TGSIGQUEUEINFO = 297 + SYS_PERF_EVENT_OPEN = 298 + SYS_RECVMMSG = 299 + SYS_FANOTIFY_INIT = 300 + SYS_FANOTIFY_MARK = 301 + SYS_PRLIMIT64 = 302 + SYS_NAME_TO_HANDLE_AT = 303 + SYS_OPEN_BY_HANDLE_AT = 304 + SYS_CLOCK_ADJTIME = 305 + SYS_SYNCFS = 306 + SYS_SENDMMSG = 307 + SYS_SETNS = 308 + SYS_GETCPU = 309 + SYS_PROCESS_VM_READV = 310 + SYS_PROCESS_VM_WRITEV = 311 + SYS_KCMP = 312 + SYS_FINIT_MODULE = 313 + SYS_SCHED_SETATTR = 314 + SYS_SCHED_GETATTR = 315 + SYS_RENAMEAT2 = 316 + SYS_SECCOMP = 317 + SYS_GETRANDOM = 318 + SYS_MEMFD_CREATE = 319 + SYS_KEXEC_FILE_LOAD = 320 + SYS_BPF = 321 + SYS_EXECVEAT = 322 + SYS_USERFAULTFD = 323 + SYS_MEMBARRIER = 324 + SYS_MLOCK2 = 325 + SYS_COPY_FILE_RANGE = 326 + SYS_PREADV2 = 327 + SYS_PWRITEV2 = 328 + SYS_PKEY_MPROTECT = 329 + SYS_PKEY_ALLOC = 330 + SYS_PKEY_FREE = 331 + SYS_STATX = 332 + SYS_IO_PGETEVENTS = 333 + SYS_RSEQ = 334 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..3b1c10513 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -0,0 +1,406 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && linux +// +build arm,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_PTRACE = 26 + SYS_PAUSE = 29 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_VHANGUP = 111 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_GETDENTS64 = 217 + SYS_PIVOT_ROOT = 218 + SYS_MINCORE = 219 + SYS_MADVISE = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_LOOKUP_DCOOKIE = 249 + SYS_EPOLL_CREATE = 250 + SYS_EPOLL_CTL = 251 + SYS_EPOLL_WAIT = 252 + SYS_REMAP_FILE_PAGES = 253 + SYS_SET_TID_ADDRESS = 256 + SYS_TIMER_CREATE = 257 + SYS_TIMER_SETTIME = 258 + SYS_TIMER_GETTIME = 259 + SYS_TIMER_GETOVERRUN = 260 + SYS_TIMER_DELETE = 261 + SYS_CLOCK_SETTIME = 262 + SYS_CLOCK_GETTIME = 263 + SYS_CLOCK_GETRES = 264 + SYS_CLOCK_NANOSLEEP = 265 + SYS_STATFS64 = 266 + SYS_FSTATFS64 = 267 + SYS_TGKILL = 268 + SYS_UTIMES = 269 + SYS_ARM_FADVISE64_64 = 270 + SYS_PCICONFIG_IOBASE = 271 + SYS_PCICONFIG_READ = 272 + SYS_PCICONFIG_WRITE = 273 + SYS_MQ_OPEN = 274 + SYS_MQ_UNLINK = 275 + SYS_MQ_TIMEDSEND = 276 + SYS_MQ_TIMEDRECEIVE = 277 + SYS_MQ_NOTIFY = 278 + SYS_MQ_GETSETATTR = 279 + SYS_WAITID = 280 + SYS_SOCKET = 281 + SYS_BIND = 282 + SYS_CONNECT = 283 + SYS_LISTEN = 284 + SYS_ACCEPT = 285 + SYS_GETSOCKNAME = 286 + SYS_GETPEERNAME = 287 + SYS_SOCKETPAIR = 288 + SYS_SEND = 289 + SYS_SENDTO = 290 + SYS_RECV = 291 + SYS_RECVFROM = 292 + SYS_SHUTDOWN = 293 + SYS_SETSOCKOPT = 294 + SYS_GETSOCKOPT = 295 + SYS_SENDMSG = 296 + SYS_RECVMSG = 297 + SYS_SEMOP = 298 + SYS_SEMGET = 299 + SYS_SEMCTL = 300 + SYS_MSGSND = 301 + SYS_MSGRCV = 302 + SYS_MSGGET = 303 + SYS_MSGCTL = 304 + SYS_SHMAT = 305 + SYS_SHMDT = 306 + SYS_SHMGET = 307 + SYS_SHMCTL = 308 + SYS_ADD_KEY = 309 + SYS_REQUEST_KEY = 310 + SYS_KEYCTL = 311 + SYS_SEMTIMEDOP = 312 + SYS_VSERVER = 313 + SYS_IOPRIO_SET = 314 + SYS_IOPRIO_GET = 315 + SYS_INOTIFY_INIT = 316 + SYS_INOTIFY_ADD_WATCH = 317 + SYS_INOTIFY_RM_WATCH = 318 + SYS_MBIND = 319 + SYS_GET_MEMPOLICY = 320 + SYS_SET_MEMPOLICY = 321 + SYS_OPENAT = 322 + SYS_MKDIRAT = 323 + SYS_MKNODAT = 324 + SYS_FCHOWNAT = 325 + SYS_FUTIMESAT = 326 + SYS_FSTATAT64 = 327 + SYS_UNLINKAT = 328 + SYS_RENAMEAT = 329 + SYS_LINKAT = 330 + SYS_SYMLINKAT = 331 + SYS_READLINKAT = 332 + SYS_FCHMODAT = 333 + SYS_FACCESSAT = 334 + SYS_PSELECT6 = 335 + SYS_PPOLL = 336 + SYS_UNSHARE = 337 + SYS_SET_ROBUST_LIST = 338 + SYS_GET_ROBUST_LIST = 339 + SYS_SPLICE = 340 + SYS_ARM_SYNC_FILE_RANGE = 341 + SYS_TEE = 342 + SYS_VMSPLICE = 343 + SYS_MOVE_PAGES = 344 + SYS_GETCPU = 345 + SYS_EPOLL_PWAIT = 346 + SYS_KEXEC_LOAD = 347 + SYS_UTIMENSAT = 348 + SYS_SIGNALFD = 349 + SYS_TIMERFD_CREATE = 350 + SYS_EVENTFD = 351 + SYS_FALLOCATE = 352 + SYS_TIMERFD_SETTIME = 353 + SYS_TIMERFD_GETTIME = 354 + SYS_SIGNALFD4 = 355 + SYS_EVENTFD2 = 356 + SYS_EPOLL_CREATE1 = 357 + SYS_DUP3 = 358 + SYS_PIPE2 = 359 + SYS_INOTIFY_INIT1 = 360 + SYS_PREADV = 361 + SYS_PWRITEV = 362 + SYS_RT_TGSIGQUEUEINFO = 363 + SYS_PERF_EVENT_OPEN = 364 + SYS_RECVMMSG = 365 + SYS_ACCEPT4 = 366 + SYS_FANOTIFY_INIT = 367 + SYS_FANOTIFY_MARK = 368 + SYS_PRLIMIT64 = 369 + SYS_NAME_TO_HANDLE_AT = 370 + SYS_OPEN_BY_HANDLE_AT = 371 + SYS_CLOCK_ADJTIME = 372 + SYS_SYNCFS = 373 + SYS_SENDMMSG = 374 + SYS_SETNS = 375 + SYS_PROCESS_VM_READV = 376 + SYS_PROCESS_VM_WRITEV = 377 + SYS_KCMP = 378 + SYS_FINIT_MODULE = 379 + SYS_SCHED_SETATTR = 380 + SYS_SCHED_GETATTR = 381 + SYS_RENAMEAT2 = 382 + SYS_SECCOMP = 383 + SYS_GETRANDOM = 384 + SYS_MEMFD_CREATE = 385 + SYS_BPF = 386 + SYS_EXECVEAT = 387 + SYS_USERFAULTFD = 388 + SYS_MEMBARRIER = 389 + SYS_MLOCK2 = 390 + SYS_COPY_FILE_RANGE = 391 + SYS_PREADV2 = 392 + SYS_PWRITEV2 = 393 + SYS_PKEY_MPROTECT = 394 + SYS_PKEY_ALLOC = 395 + SYS_PKEY_FREE = 396 + SYS_STATX = 397 + SYS_RSEQ = 398 + SYS_IO_PGETEVENTS = 399 + SYS_MIGRATE_PAGES = 400 + SYS_KEXEC_FILE_LOAD = 401 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..3198adcf7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -0,0 +1,309 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && linux +// +build arm64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_RENAMEAT = 38 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..c877ec6e6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -0,0 +1,427 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips && linux +// +build mips,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 + SYS_SEMGET = 4393 + SYS_SEMCTL = 4394 + SYS_SHMGET = 4395 + SYS_SHMCTL = 4396 + SYS_SHMAT = 4397 + SYS_SHMDT = 4398 + SYS_MSGGET = 4399 + SYS_MSGSND = 4400 + SYS_MSGRCV = 4401 + SYS_MSGCTL = 4402 + SYS_CLOCK_GETTIME64 = 4403 + SYS_CLOCK_SETTIME64 = 4404 + SYS_CLOCK_ADJTIME64 = 4405 + SYS_CLOCK_GETRES_TIME64 = 4406 + SYS_CLOCK_NANOSLEEP_TIME64 = 4407 + SYS_TIMER_GETTIME64 = 4408 + SYS_TIMER_SETTIME64 = 4409 + SYS_TIMERFD_GETTIME64 = 4410 + SYS_TIMERFD_SETTIME64 = 4411 + SYS_UTIMENSAT_TIME64 = 4412 + SYS_PSELECT6_TIME64 = 4413 + SYS_PPOLL_TIME64 = 4414 + SYS_IO_PGETEVENTS_TIME64 = 4416 + SYS_RECVMMSG_TIME64 = 4417 + SYS_MQ_TIMEDSEND_TIME64 = 4418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 + SYS_SEMTIMEDOP_TIME64 = 4420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 + SYS_FUTEX_TIME64 = 4422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 + SYS_PIDFD_SEND_SIGNAL = 4424 + SYS_IO_URING_SETUP = 4425 + SYS_IO_URING_ENTER = 4426 + SYS_IO_URING_REGISTER = 4427 + SYS_OPEN_TREE = 4428 + SYS_MOVE_MOUNT = 4429 + SYS_FSOPEN = 4430 + SYS_FSCONFIG = 4431 + SYS_FSMOUNT = 4432 + SYS_FSPICK = 4433 + SYS_PIDFD_OPEN = 4434 + SYS_CLONE3 = 4435 + SYS_CLOSE_RANGE = 4436 + SYS_OPENAT2 = 4437 + SYS_PIDFD_GETFD = 4438 + SYS_FACCESSAT2 = 4439 + SYS_PROCESS_MADVISE = 4440 + SYS_EPOLL_PWAIT2 = 4441 + SYS_MOUNT_SETATTR = 4442 +) 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 000000000..b5f290372 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -0,0 +1,357 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64 && linux +// +build mips64,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 + SYS_OPEN_TREE = 5428 + SYS_MOVE_MOUNT = 5429 + SYS_FSOPEN = 5430 + SYS_FSCONFIG = 5431 + SYS_FSMOUNT = 5432 + SYS_FSPICK = 5433 + SYS_PIDFD_OPEN = 5434 + SYS_CLONE3 = 5435 + SYS_CLOSE_RANGE = 5436 + SYS_OPENAT2 = 5437 + SYS_PIDFD_GETFD = 5438 + SYS_FACCESSAT2 = 5439 + SYS_PROCESS_MADVISE = 5440 + SYS_EPOLL_PWAIT2 = 5441 + SYS_MOUNT_SETATTR = 5442 +) 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 000000000..46077689a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -0,0 +1,357 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64le && linux +// +build mips64le,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 + SYS_OPEN_TREE = 5428 + SYS_MOVE_MOUNT = 5429 + SYS_FSOPEN = 5430 + SYS_FSCONFIG = 5431 + SYS_FSMOUNT = 5432 + SYS_FSPICK = 5433 + SYS_PIDFD_OPEN = 5434 + SYS_CLONE3 = 5435 + SYS_CLOSE_RANGE = 5436 + SYS_OPENAT2 = 5437 + SYS_PIDFD_GETFD = 5438 + SYS_FACCESSAT2 = 5439 + SYS_PROCESS_MADVISE = 5440 + SYS_EPOLL_PWAIT2 = 5441 + SYS_MOUNT_SETATTR = 5442 +) 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 000000000..80e6696b3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -0,0 +1,427 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mipsle && linux +// +build mipsle,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 + SYS_SEMGET = 4393 + SYS_SEMCTL = 4394 + SYS_SHMGET = 4395 + SYS_SHMCTL = 4396 + SYS_SHMAT = 4397 + SYS_SHMDT = 4398 + SYS_MSGGET = 4399 + SYS_MSGSND = 4400 + SYS_MSGRCV = 4401 + SYS_MSGCTL = 4402 + SYS_CLOCK_GETTIME64 = 4403 + SYS_CLOCK_SETTIME64 = 4404 + SYS_CLOCK_ADJTIME64 = 4405 + SYS_CLOCK_GETRES_TIME64 = 4406 + SYS_CLOCK_NANOSLEEP_TIME64 = 4407 + SYS_TIMER_GETTIME64 = 4408 + SYS_TIMER_SETTIME64 = 4409 + SYS_TIMERFD_GETTIME64 = 4410 + SYS_TIMERFD_SETTIME64 = 4411 + SYS_UTIMENSAT_TIME64 = 4412 + SYS_PSELECT6_TIME64 = 4413 + SYS_PPOLL_TIME64 = 4414 + SYS_IO_PGETEVENTS_TIME64 = 4416 + SYS_RECVMMSG_TIME64 = 4417 + SYS_MQ_TIMEDSEND_TIME64 = 4418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 + SYS_SEMTIMEDOP_TIME64 = 4420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 + SYS_FUTEX_TIME64 = 4422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 + SYS_PIDFD_SEND_SIGNAL = 4424 + SYS_IO_URING_SETUP = 4425 + SYS_IO_URING_ENTER = 4426 + SYS_IO_URING_REGISTER = 4427 + SYS_OPEN_TREE = 4428 + SYS_MOVE_MOUNT = 4429 + SYS_FSOPEN = 4430 + SYS_FSCONFIG = 4431 + SYS_FSMOUNT = 4432 + SYS_FSPICK = 4433 + SYS_PIDFD_OPEN = 4434 + SYS_CLONE3 = 4435 + SYS_CLOSE_RANGE = 4436 + SYS_OPENAT2 = 4437 + SYS_PIDFD_GETFD = 4438 + SYS_FACCESSAT2 = 4439 + SYS_PROCESS_MADVISE = 4440 + SYS_EPOLL_PWAIT2 = 4441 + SYS_MOUNT_SETATTR = 4442 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go new file mode 100644 index 000000000..b9d697ffb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go @@ -0,0 +1,434 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc && linux +// +build ppc,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_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_FCNTL64 = 204 + 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_SENDFILE64 = 226 + 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_FADVISE64_64 = 254 + 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_FSTATAT64 = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..08edc54d3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -0,0 +1,406 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc64 && linux +// +build ppc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..33b33b083 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -0,0 +1,406 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc64le && linux +// +build ppc64le,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go new file mode 100644 index 000000000..66c8a8e09 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -0,0 +1,308 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build riscv64 && linux +// +build riscv64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..aea5760ce --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -0,0 +1,371 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build s390x && linux +// +build s390x,linux + +package unix + +const ( + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_RESTART_SYSCALL = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SIGNAL = 48 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_LOOKUP_DCOOKIE = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_GETDENTS = 141 + SYS_SELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_GETRLIMIT = 191 + SYS_LCHOWN = 198 + SYS_GETUID = 199 + SYS_GETGID = 200 + SYS_GETEUID = 201 + SYS_GETEGID = 202 + SYS_SETREUID = 203 + SYS_SETREGID = 204 + SYS_GETGROUPS = 205 + SYS_SETGROUPS = 206 + SYS_FCHOWN = 207 + SYS_SETRESUID = 208 + SYS_GETRESUID = 209 + SYS_SETRESGID = 210 + SYS_GETRESGID = 211 + SYS_CHOWN = 212 + SYS_SETUID = 213 + SYS_SETGID = 214 + SYS_SETFSUID = 215 + SYS_SETFSGID = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_READAHEAD = 222 + SYS_SETXATTR = 224 + SYS_LSETXATTR = 225 + SYS_FSETXATTR = 226 + SYS_GETXATTR = 227 + SYS_LGETXATTR = 228 + SYS_FGETXATTR = 229 + SYS_LISTXATTR = 230 + SYS_LLISTXATTR = 231 + SYS_FLISTXATTR = 232 + SYS_REMOVEXATTR = 233 + SYS_LREMOVEXATTR = 234 + SYS_FREMOVEXATTR = 235 + SYS_GETTID = 236 + SYS_TKILL = 237 + SYS_FUTEX = 238 + SYS_SCHED_SETAFFINITY = 239 + SYS_SCHED_GETAFFINITY = 240 + SYS_TGKILL = 241 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_EPOLL_CREATE = 249 + SYS_EPOLL_CTL = 250 + SYS_EPOLL_WAIT = 251 + SYS_SET_TID_ADDRESS = 252 + SYS_FADVISE64 = 253 + SYS_TIMER_CREATE = 254 + SYS_TIMER_SETTIME = 255 + SYS_TIMER_GETTIME = 256 + SYS_TIMER_GETOVERRUN = 257 + SYS_TIMER_DELETE = 258 + SYS_CLOCK_SETTIME = 259 + SYS_CLOCK_GETTIME = 260 + SYS_CLOCK_GETRES = 261 + SYS_CLOCK_NANOSLEEP = 262 + SYS_STATFS64 = 265 + SYS_FSTATFS64 = 266 + SYS_REMAP_FILE_PAGES = 267 + SYS_MBIND = 268 + SYS_GET_MEMPOLICY = 269 + SYS_SET_MEMPOLICY = 270 + SYS_MQ_OPEN = 271 + SYS_MQ_UNLINK = 272 + SYS_MQ_TIMEDSEND = 273 + SYS_MQ_TIMEDRECEIVE = 274 + SYS_MQ_NOTIFY = 275 + SYS_MQ_GETSETATTR = 276 + SYS_KEXEC_LOAD = 277 + SYS_ADD_KEY = 278 + SYS_REQUEST_KEY = 279 + SYS_KEYCTL = 280 + SYS_WAITID = 281 + SYS_IOPRIO_SET = 282 + SYS_IOPRIO_GET = 283 + SYS_INOTIFY_INIT = 284 + SYS_INOTIFY_ADD_WATCH = 285 + SYS_INOTIFY_RM_WATCH = 286 + SYS_MIGRATE_PAGES = 287 + SYS_OPENAT = 288 + SYS_MKDIRAT = 289 + SYS_MKNODAT = 290 + SYS_FCHOWNAT = 291 + SYS_FUTIMESAT = 292 + SYS_NEWFSTATAT = 293 + SYS_UNLINKAT = 294 + SYS_RENAMEAT = 295 + SYS_LINKAT = 296 + SYS_SYMLINKAT = 297 + SYS_READLINKAT = 298 + SYS_FCHMODAT = 299 + SYS_FACCESSAT = 300 + SYS_PSELECT6 = 301 + SYS_PPOLL = 302 + SYS_UNSHARE = 303 + SYS_SET_ROBUST_LIST = 304 + SYS_GET_ROBUST_LIST = 305 + SYS_SPLICE = 306 + SYS_SYNC_FILE_RANGE = 307 + SYS_TEE = 308 + SYS_VMSPLICE = 309 + SYS_MOVE_PAGES = 310 + SYS_GETCPU = 311 + SYS_EPOLL_PWAIT = 312 + SYS_UTIMES = 313 + SYS_FALLOCATE = 314 + SYS_UTIMENSAT = 315 + SYS_SIGNALFD = 316 + SYS_TIMERFD = 317 + SYS_EVENTFD = 318 + SYS_TIMERFD_CREATE = 319 + SYS_TIMERFD_SETTIME = 320 + SYS_TIMERFD_GETTIME = 321 + SYS_SIGNALFD4 = 322 + SYS_EVENTFD2 = 323 + SYS_INOTIFY_INIT1 = 324 + SYS_PIPE2 = 325 + SYS_DUP3 = 326 + SYS_EPOLL_CREATE1 = 327 + SYS_PREADV = 328 + SYS_PWRITEV = 329 + SYS_RT_TGSIGQUEUEINFO = 330 + SYS_PERF_EVENT_OPEN = 331 + SYS_FANOTIFY_INIT = 332 + SYS_FANOTIFY_MARK = 333 + SYS_PRLIMIT64 = 334 + SYS_NAME_TO_HANDLE_AT = 335 + SYS_OPEN_BY_HANDLE_AT = 336 + SYS_CLOCK_ADJTIME = 337 + SYS_SYNCFS = 338 + SYS_SETNS = 339 + SYS_PROCESS_VM_READV = 340 + SYS_PROCESS_VM_WRITEV = 341 + SYS_S390_RUNTIME_INSTR = 342 + SYS_KCMP = 343 + SYS_FINIT_MODULE = 344 + SYS_SCHED_SETATTR = 345 + SYS_SCHED_GETATTR = 346 + SYS_RENAMEAT2 = 347 + SYS_SECCOMP = 348 + SYS_GETRANDOM = 349 + SYS_MEMFD_CREATE = 350 + SYS_BPF = 351 + SYS_S390_PCI_MMIO_WRITE = 352 + SYS_S390_PCI_MMIO_READ = 353 + SYS_EXECVEAT = 354 + SYS_USERFAULTFD = 355 + SYS_MEMBARRIER = 356 + SYS_RECVMMSG = 357 + SYS_SENDMMSG = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_MLOCK2 = 374 + SYS_COPY_FILE_RANGE = 375 + SYS_PREADV2 = 376 + SYS_PWRITEV2 = 377 + SYS_S390_GUARDED_STORAGE = 378 + SYS_STATX = 379 + SYS_S390_STHYI = 380 + SYS_KEXEC_FILE_LOAD = 381 + SYS_IO_PGETEVENTS = 382 + SYS_RSEQ = 383 + SYS_PKEY_MPROTECT = 384 + SYS_PKEY_ALLOC = 385 + SYS_PKEY_FREE = 386 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..488ca848d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -0,0 +1,385 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build sparc64 && linux +// +build sparc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECV = 11 + SYS_CHDIR = 12 + SYS_CHOWN = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BRK = 17 + SYS_PERFCTR = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_CAPGET = 21 + SYS_CAPSET = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_VMSPLICE = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_SIGALTSTACK = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_STAT = 38 + SYS_SENDFILE = 39 + SYS_LSTAT = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_UMOUNT2 = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_MEMORY_ORDERING = 52 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_FSTAT = 62 + SYS_FSTAT64 = 63 + SYS_GETPAGESIZE = 64 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_MMAP = 71 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_VHANGUP = 76 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_SETHOSTNAME = 88 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_ACCEPT = 99 + SYS_GETPRIORITY = 100 + SYS_RT_SIGRETURN = 101 + SYS_RT_SIGACTION = 102 + SYS_RT_SIGPROCMASK = 103 + SYS_RT_SIGPENDING = 104 + SYS_RT_SIGTIMEDWAIT = 105 + SYS_RT_SIGQUEUEINFO = 106 + SYS_RT_SIGSUSPEND = 107 + SYS_SETRESUID = 108 + SYS_GETRESUID = 109 + SYS_SETRESGID = 110 + SYS_GETRESGID = 111 + SYS_RECVMSG = 113 + SYS_SENDMSG = 114 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_GETCWD = 119 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_RECVFROM = 125 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_TRUNCATE = 129 + SYS_FTRUNCATE = 130 + SYS_FLOCK = 131 + SYS_LSTAT64 = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_STAT64 = 139 + SYS_SENDFILE64 = 140 + SYS_GETPEERNAME = 141 + SYS_FUTEX = 142 + SYS_GETTID = 143 + SYS_GETRLIMIT = 144 + SYS_SETRLIMIT = 145 + SYS_PIVOT_ROOT = 146 + SYS_PRCTL = 147 + SYS_PCICONFIG_READ = 148 + SYS_PCICONFIG_WRITE = 149 + SYS_GETSOCKNAME = 150 + SYS_INOTIFY_INIT = 151 + SYS_INOTIFY_ADD_WATCH = 152 + SYS_POLL = 153 + SYS_GETDENTS64 = 154 + SYS_INOTIFY_RM_WATCH = 156 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UMOUNT = 159 + SYS_SCHED_SET_AFFINITY = 160 + SYS_SCHED_GET_AFFINITY = 161 + SYS_GETDOMAINNAME = 162 + SYS_SETDOMAINNAME = 163 + SYS_UTRAP_INSTALL = 164 + SYS_QUOTACTL = 165 + SYS_SET_TID_ADDRESS = 166 + SYS_MOUNT = 167 + SYS_USTAT = 168 + SYS_SETXATTR = 169 + SYS_LSETXATTR = 170 + SYS_FSETXATTR = 171 + SYS_GETXATTR = 172 + SYS_LGETXATTR = 173 + SYS_GETDENTS = 174 + SYS_SETSID = 175 + SYS_FCHDIR = 176 + SYS_FGETXATTR = 177 + SYS_LISTXATTR = 178 + SYS_LLISTXATTR = 179 + SYS_FLISTXATTR = 180 + SYS_REMOVEXATTR = 181 + SYS_LREMOVEXATTR = 182 + SYS_SIGPENDING = 183 + SYS_QUERY_MODULE = 184 + SYS_SETPGID = 185 + SYS_FREMOVEXATTR = 186 + SYS_TKILL = 187 + SYS_EXIT_GROUP = 188 + SYS_UNAME = 189 + SYS_INIT_MODULE = 190 + SYS_PERSONALITY = 191 + SYS_REMAP_FILE_PAGES = 192 + SYS_EPOLL_CREATE = 193 + SYS_EPOLL_CTL = 194 + SYS_EPOLL_WAIT = 195 + SYS_IOPRIO_SET = 196 + SYS_GETPPID = 197 + SYS_SIGACTION = 198 + SYS_SGETMASK = 199 + SYS_SSETMASK = 200 + SYS_SIGSUSPEND = 201 + SYS_OLDLSTAT = 202 + SYS_USELIB = 203 + SYS_READDIR = 204 + SYS_READAHEAD = 205 + SYS_SOCKETCALL = 206 + SYS_SYSLOG = 207 + SYS_LOOKUP_DCOOKIE = 208 + SYS_FADVISE64 = 209 + SYS_FADVISE64_64 = 210 + SYS_TGKILL = 211 + SYS_WAITPID = 212 + SYS_SWAPOFF = 213 + SYS_SYSINFO = 214 + SYS_IPC = 215 + SYS_SIGRETURN = 216 + SYS_CLONE = 217 + SYS_IOPRIO_GET = 218 + SYS_ADJTIMEX = 219 + SYS_SIGPROCMASK = 220 + SYS_CREATE_MODULE = 221 + SYS_DELETE_MODULE = 222 + SYS_GET_KERNEL_SYMS = 223 + SYS_GETPGID = 224 + SYS_BDFLUSH = 225 + SYS_SYSFS = 226 + SYS_AFS_SYSCALL = 227 + SYS_SETFSUID = 228 + SYS_SETFSGID = 229 + SYS__NEWSELECT = 230 + SYS_SPLICE = 232 + SYS_STIME = 233 + SYS_STATFS64 = 234 + SYS_FSTATFS64 = 235 + SYS__LLSEEK = 236 + SYS_MLOCK = 237 + SYS_MUNLOCK = 238 + SYS_MLOCKALL = 239 + SYS_MUNLOCKALL = 240 + SYS_SCHED_SETPARAM = 241 + SYS_SCHED_GETPARAM = 242 + SYS_SCHED_SETSCHEDULER = 243 + SYS_SCHED_GETSCHEDULER = 244 + SYS_SCHED_YIELD = 245 + SYS_SCHED_GET_PRIORITY_MAX = 246 + SYS_SCHED_GET_PRIORITY_MIN = 247 + SYS_SCHED_RR_GET_INTERVAL = 248 + SYS_NANOSLEEP = 249 + SYS_MREMAP = 250 + SYS__SYSCTL = 251 + SYS_GETSID = 252 + SYS_FDATASYNC = 253 + SYS_NFSSERVCTL = 254 + SYS_SYNC_FILE_RANGE = 255 + SYS_CLOCK_SETTIME = 256 + SYS_CLOCK_GETTIME = 257 + SYS_CLOCK_GETRES = 258 + SYS_CLOCK_NANOSLEEP = 259 + SYS_SCHED_GETAFFINITY = 260 + SYS_SCHED_SETAFFINITY = 261 + SYS_TIMER_SETTIME = 262 + SYS_TIMER_GETTIME = 263 + SYS_TIMER_GETOVERRUN = 264 + SYS_TIMER_DELETE = 265 + SYS_TIMER_CREATE = 266 + SYS_VSERVER = 267 + SYS_IO_SETUP = 268 + SYS_IO_DESTROY = 269 + SYS_IO_SUBMIT = 270 + SYS_IO_CANCEL = 271 + SYS_IO_GETEVENTS = 272 + SYS_MQ_OPEN = 273 + SYS_MQ_UNLINK = 274 + SYS_MQ_TIMEDSEND = 275 + SYS_MQ_TIMEDRECEIVE = 276 + SYS_MQ_NOTIFY = 277 + SYS_MQ_GETSETATTR = 278 + SYS_WAITID = 279 + SYS_TEE = 280 + SYS_ADD_KEY = 281 + SYS_REQUEST_KEY = 282 + SYS_KEYCTL = 283 + SYS_OPENAT = 284 + SYS_MKDIRAT = 285 + SYS_MKNODAT = 286 + SYS_FCHOWNAT = 287 + SYS_FUTIMESAT = 288 + SYS_FSTATAT64 = 289 + SYS_UNLINKAT = 290 + SYS_RENAMEAT = 291 + SYS_LINKAT = 292 + SYS_SYMLINKAT = 293 + SYS_READLINKAT = 294 + SYS_FCHMODAT = 295 + SYS_FACCESSAT = 296 + SYS_PSELECT6 = 297 + SYS_PPOLL = 298 + SYS_UNSHARE = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_GET_ROBUST_LIST = 301 + SYS_MIGRATE_PAGES = 302 + SYS_MBIND = 303 + SYS_GET_MEMPOLICY = 304 + SYS_SET_MEMPOLICY = 305 + SYS_KEXEC_LOAD = 306 + SYS_MOVE_PAGES = 307 + SYS_GETCPU = 308 + SYS_EPOLL_PWAIT = 309 + SYS_UTIMENSAT = 310 + SYS_SIGNALFD = 311 + SYS_TIMERFD_CREATE = 312 + SYS_EVENTFD = 313 + SYS_FALLOCATE = 314 + SYS_TIMERFD_SETTIME = 315 + SYS_TIMERFD_GETTIME = 316 + SYS_SIGNALFD4 = 317 + SYS_EVENTFD2 = 318 + SYS_EPOLL_CREATE1 = 319 + SYS_DUP3 = 320 + SYS_PIPE2 = 321 + SYS_INOTIFY_INIT1 = 322 + SYS_ACCEPT4 = 323 + SYS_PREADV = 324 + SYS_PWRITEV = 325 + SYS_RT_TGSIGQUEUEINFO = 326 + SYS_PERF_EVENT_OPEN = 327 + SYS_RECVMMSG = 328 + SYS_FANOTIFY_INIT = 329 + SYS_FANOTIFY_MARK = 330 + SYS_PRLIMIT64 = 331 + SYS_NAME_TO_HANDLE_AT = 332 + SYS_OPEN_BY_HANDLE_AT = 333 + SYS_CLOCK_ADJTIME = 334 + SYS_SYNCFS = 335 + SYS_SENDMMSG = 336 + SYS_SETNS = 337 + SYS_PROCESS_VM_READV = 338 + SYS_PROCESS_VM_WRITEV = 339 + SYS_KERN_FEATURES = 340 + SYS_KCMP = 341 + SYS_FINIT_MODULE = 342 + SYS_SCHED_SETATTR = 343 + SYS_SCHED_GETATTR = 344 + SYS_RENAMEAT2 = 345 + SYS_SECCOMP = 346 + SYS_GETRANDOM = 347 + SYS_MEMFD_CREATE = 348 + SYS_BPF = 349 + SYS_EXECVEAT = 350 + SYS_MEMBARRIER = 351 + SYS_USERFAULTFD = 352 + SYS_BIND = 353 + SYS_LISTEN = 354 + SYS_SETSOCKOPT = 355 + SYS_MLOCK2 = 356 + SYS_COPY_FILE_RANGE = 357 + SYS_PREADV2 = 358 + SYS_PWRITEV2 = 359 + SYS_STATX = 360 + SYS_IO_PGETEVENTS = 361 + SYS_PKEY_MPROTECT = 362 + SYS_PKEY_ALLOC = 363 + SYS_PKEY_FREE = 364 + SYS_RSEQ = 365 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 +) 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 000000000..3a6699eba --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go @@ -0,0 +1,275 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && netbsd +// +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 000000000..5677cd4f1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go @@ -0,0 +1,275 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && netbsd +// +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 000000000..e784cb6db --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go @@ -0,0 +1,275 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && netbsd +// +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_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go new file mode 100644 index 000000000..bd4952efa --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go @@ -0,0 +1,275 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; DO NOT EDIT. + +//go:build arm64 && netbsd +// +build arm64,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/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 000000000..817edbf95 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go @@ -0,0 +1,219 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && openbsd +// +build 386,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/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 000000000..ea453614e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go @@ -0,0 +1,219 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && openbsd +// +build amd64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/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 000000000..467971eed --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go @@ -0,0 +1,219 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && openbsd +// +build arm,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go new file mode 100644 index 000000000..32eec5ed5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && openbsd +// +build arm64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go new file mode 100644 index 000000000..a37f77375 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go @@ -0,0 +1,221 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64 && openbsd +// +build mips64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_MSYSCALL = 37 // { int sys_msyscall(void *addr, size_t len); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS___REALPATH = 115 // { int sys___realpath(const char *pathname, char *resolved); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS___TMPFD = 164 // { int sys___tmpfd(int flags); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go new file mode 100644 index 000000000..073daad43 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go @@ -0,0 +1,2670 @@ +// Copyright 2020 The Go 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:build zos && s390x +// +build zos,s390x + +package unix + +// TODO: auto-generate. + +const ( + SYS_ACOSD128 = 0xB80 + SYS_ACOSD32 = 0xB7E + SYS_ACOSD64 = 0xB7F + SYS_ACOSHD128 = 0xB83 + SYS_ACOSHD32 = 0xB81 + SYS_ACOSHD64 = 0xB82 + SYS_AIO_FSYNC = 0xC69 + SYS_ASCTIME = 0x0AE + SYS_ASCTIME64 = 0xCD7 + SYS_ASCTIME64_R = 0xCD8 + SYS_ASIND128 = 0xB86 + SYS_ASIND32 = 0xB84 + SYS_ASIND64 = 0xB85 + SYS_ASINHD128 = 0xB89 + SYS_ASINHD32 = 0xB87 + SYS_ASINHD64 = 0xB88 + SYS_ATAN2D128 = 0xB8F + SYS_ATAN2D32 = 0xB8D + SYS_ATAN2D64 = 0xB8E + SYS_ATAND128 = 0xB8C + SYS_ATAND32 = 0xB8A + SYS_ATAND64 = 0xB8B + SYS_ATANHD128 = 0xB92 + SYS_ATANHD32 = 0xB90 + SYS_ATANHD64 = 0xB91 + SYS_BIND2ADDRSEL = 0xD59 + SYS_C16RTOMB = 0xD40 + SYS_C32RTOMB = 0xD41 + SYS_CBRTD128 = 0xB95 + SYS_CBRTD32 = 0xB93 + SYS_CBRTD64 = 0xB94 + SYS_CEILD128 = 0xB98 + SYS_CEILD32 = 0xB96 + SYS_CEILD64 = 0xB97 + SYS_CLEARENV = 0x0C9 + SYS_CLEARERR_UNLOCKED = 0xCA1 + SYS_CLOCK = 0x0AA + SYS_CLOGL = 0xA00 + SYS_CLRMEMF = 0x0BD + SYS_CONJ = 0xA03 + SYS_CONJF = 0xA06 + SYS_CONJL = 0xA09 + SYS_COPYSIGND128 = 0xB9E + SYS_COPYSIGND32 = 0xB9C + SYS_COPYSIGND64 = 0xB9D + SYS_COSD128 = 0xBA1 + SYS_COSD32 = 0xB9F + SYS_COSD64 = 0xBA0 + SYS_COSHD128 = 0xBA4 + SYS_COSHD32 = 0xBA2 + SYS_COSHD64 = 0xBA3 + SYS_CPOW = 0xA0C + SYS_CPOWF = 0xA0F + SYS_CPOWL = 0xA12 + SYS_CPROJ = 0xA15 + SYS_CPROJF = 0xA18 + SYS_CPROJL = 0xA1B + SYS_CREAL = 0xA1E + SYS_CREALF = 0xA21 + SYS_CREALL = 0xA24 + SYS_CSIN = 0xA27 + SYS_CSINF = 0xA2A + SYS_CSINH = 0xA30 + SYS_CSINHF = 0xA33 + SYS_CSINHL = 0xA36 + SYS_CSINL = 0xA2D + SYS_CSNAP = 0x0C5 + SYS_CSQRT = 0xA39 + SYS_CSQRTF = 0xA3C + SYS_CSQRTL = 0xA3F + SYS_CTAN = 0xA42 + SYS_CTANF = 0xA45 + SYS_CTANH = 0xA4B + SYS_CTANHF = 0xA4E + SYS_CTANHL = 0xA51 + SYS_CTANL = 0xA48 + SYS_CTIME = 0x0AB + SYS_CTIME64 = 0xCD9 + SYS_CTIME64_R = 0xCDA + SYS_CTRACE = 0x0C6 + SYS_DIFFTIME = 0x0A7 + SYS_DIFFTIME64 = 0xCDB + SYS_DLADDR = 0xC82 + SYS_DYNALLOC = 0x0C3 + SYS_DYNFREE = 0x0C2 + SYS_ERFCD128 = 0xBAA + SYS_ERFCD32 = 0xBA8 + SYS_ERFCD64 = 0xBA9 + SYS_ERFD128 = 0xBA7 + SYS_ERFD32 = 0xBA5 + SYS_ERFD64 = 0xBA6 + SYS_EXP2D128 = 0xBB0 + SYS_EXP2D32 = 0xBAE + SYS_EXP2D64 = 0xBAF + SYS_EXPD128 = 0xBAD + SYS_EXPD32 = 0xBAB + SYS_EXPD64 = 0xBAC + SYS_EXPM1D128 = 0xBB3 + SYS_EXPM1D32 = 0xBB1 + SYS_EXPM1D64 = 0xBB2 + SYS_FABSD128 = 0xBB6 + SYS_FABSD32 = 0xBB4 + SYS_FABSD64 = 0xBB5 + SYS_FDELREC_UNLOCKED = 0xCA2 + SYS_FDIMD128 = 0xBB9 + SYS_FDIMD32 = 0xBB7 + SYS_FDIMD64 = 0xBB8 + SYS_FDOPEN_UNLOCKED = 0xCFC + SYS_FECLEAREXCEPT = 0xAEA + SYS_FEGETENV = 0xAEB + SYS_FEGETEXCEPTFLAG = 0xAEC + SYS_FEGETROUND = 0xAED + SYS_FEHOLDEXCEPT = 0xAEE + SYS_FEOF_UNLOCKED = 0xCA3 + SYS_FERAISEEXCEPT = 0xAEF + SYS_FERROR_UNLOCKED = 0xCA4 + SYS_FESETENV = 0xAF0 + SYS_FESETEXCEPTFLAG = 0xAF1 + SYS_FESETROUND = 0xAF2 + SYS_FETCHEP = 0x0BF + SYS_FETESTEXCEPT = 0xAF3 + SYS_FEUPDATEENV = 0xAF4 + SYS_FE_DEC_GETROUND = 0xBBA + SYS_FE_DEC_SETROUND = 0xBBB + SYS_FFLUSH_UNLOCKED = 0xCA5 + SYS_FGETC_UNLOCKED = 0xC80 + SYS_FGETPOS64 = 0xCEE + SYS_FGETPOS64_UNLOCKED = 0xCF4 + SYS_FGETPOS_UNLOCKED = 0xCA6 + SYS_FGETS_UNLOCKED = 0xC7C + SYS_FGETWC_UNLOCKED = 0xCA7 + SYS_FGETWS_UNLOCKED = 0xCA8 + SYS_FILENO_UNLOCKED = 0xCA9 + SYS_FLDATA = 0x0C1 + SYS_FLDATA_UNLOCKED = 0xCAA + SYS_FLOCATE_UNLOCKED = 0xCAB + SYS_FLOORD128 = 0xBBE + SYS_FLOORD32 = 0xBBC + SYS_FLOORD64 = 0xBBD + SYS_FMA = 0xA63 + SYS_FMAD128 = 0xBC1 + SYS_FMAD32 = 0xBBF + SYS_FMAD64 = 0xBC0 + SYS_FMAF = 0xA66 + SYS_FMAL = 0xA69 + SYS_FMAX = 0xA6C + SYS_FMAXD128 = 0xBC4 + SYS_FMAXD32 = 0xBC2 + SYS_FMAXD64 = 0xBC3 + SYS_FMAXF = 0xA6F + SYS_FMAXL = 0xA72 + SYS_FMIN = 0xA75 + SYS_FMIND128 = 0xBC7 + SYS_FMIND32 = 0xBC5 + SYS_FMIND64 = 0xBC6 + SYS_FMINF = 0xA78 + SYS_FMINL = 0xA7B + SYS_FMODD128 = 0xBCA + SYS_FMODD32 = 0xBC8 + SYS_FMODD64 = 0xBC9 + SYS_FOPEN64 = 0xD49 + SYS_FOPEN64_UNLOCKED = 0xD4A + SYS_FOPEN_UNLOCKED = 0xCFA + SYS_FPRINTF_UNLOCKED = 0xCAC + SYS_FPUTC_UNLOCKED = 0xC81 + SYS_FPUTS_UNLOCKED = 0xC7E + SYS_FPUTWC_UNLOCKED = 0xCAD + SYS_FPUTWS_UNLOCKED = 0xCAE + SYS_FREAD_NOUPDATE = 0xCEC + SYS_FREAD_NOUPDATE_UNLOCKED = 0xCED + SYS_FREAD_UNLOCKED = 0xC7B + SYS_FREEIFADDRS = 0xCE6 + SYS_FREOPEN64 = 0xD4B + SYS_FREOPEN64_UNLOCKED = 0xD4C + SYS_FREOPEN_UNLOCKED = 0xCFB + SYS_FREXPD128 = 0xBCE + SYS_FREXPD32 = 0xBCC + SYS_FREXPD64 = 0xBCD + SYS_FSCANF_UNLOCKED = 0xCAF + SYS_FSEEK64 = 0xCEF + SYS_FSEEK64_UNLOCKED = 0xCF5 + SYS_FSEEKO64 = 0xCF0 + SYS_FSEEKO64_UNLOCKED = 0xCF6 + SYS_FSEEKO_UNLOCKED = 0xCB1 + SYS_FSEEK_UNLOCKED = 0xCB0 + SYS_FSETPOS64 = 0xCF1 + SYS_FSETPOS64_UNLOCKED = 0xCF7 + SYS_FSETPOS_UNLOCKED = 0xCB3 + SYS_FTELL64 = 0xCF2 + SYS_FTELL64_UNLOCKED = 0xCF8 + SYS_FTELLO64 = 0xCF3 + SYS_FTELLO64_UNLOCKED = 0xCF9 + SYS_FTELLO_UNLOCKED = 0xCB5 + SYS_FTELL_UNLOCKED = 0xCB4 + SYS_FUPDATE = 0x0B5 + SYS_FUPDATE_UNLOCKED = 0xCB7 + SYS_FWIDE_UNLOCKED = 0xCB8 + SYS_FWPRINTF_UNLOCKED = 0xCB9 + SYS_FWRITE_UNLOCKED = 0xC7A + SYS_FWSCANF_UNLOCKED = 0xCBA + SYS_GETDATE64 = 0xD4F + SYS_GETIFADDRS = 0xCE7 + SYS_GETIPV4SOURCEFILTER = 0xC77 + SYS_GETSOURCEFILTER = 0xC79 + SYS_GETSYNTX = 0x0FD + SYS_GETS_UNLOCKED = 0xC7D + SYS_GETTIMEOFDAY64 = 0xD50 + SYS_GETWCHAR_UNLOCKED = 0xCBC + SYS_GETWC_UNLOCKED = 0xCBB + SYS_GMTIME = 0x0B0 + SYS_GMTIME64 = 0xCDC + SYS_GMTIME64_R = 0xCDD + SYS_HYPOTD128 = 0xBD1 + SYS_HYPOTD32 = 0xBCF + SYS_HYPOTD64 = 0xBD0 + SYS_ILOGBD128 = 0xBD4 + SYS_ILOGBD32 = 0xBD2 + SYS_ILOGBD64 = 0xBD3 + SYS_ILOGBF = 0xA7E + SYS_ILOGBL = 0xA81 + SYS_INET6_IS_SRCADDR = 0xD5A + SYS_ISBLANK = 0x0FE + SYS_ISWALNUM = 0x0FF + SYS_LDEXPD128 = 0xBD7 + SYS_LDEXPD32 = 0xBD5 + SYS_LDEXPD64 = 0xBD6 + SYS_LGAMMAD128 = 0xBDA + SYS_LGAMMAD32 = 0xBD8 + SYS_LGAMMAD64 = 0xBD9 + SYS_LIO_LISTIO = 0xC6A + SYS_LLRINT = 0xA84 + SYS_LLRINTD128 = 0xBDD + SYS_LLRINTD32 = 0xBDB + SYS_LLRINTD64 = 0xBDC + SYS_LLRINTF = 0xA87 + SYS_LLRINTL = 0xA8A + SYS_LLROUND = 0xA8D + SYS_LLROUNDD128 = 0xBE0 + SYS_LLROUNDD32 = 0xBDE + SYS_LLROUNDD64 = 0xBDF + SYS_LLROUNDF = 0xA90 + SYS_LLROUNDL = 0xA93 + SYS_LOCALTIM = 0x0B1 + SYS_LOCALTIME = 0x0B1 + SYS_LOCALTIME64 = 0xCDE + SYS_LOCALTIME64_R = 0xCDF + SYS_LOG10D128 = 0xBE6 + SYS_LOG10D32 = 0xBE4 + SYS_LOG10D64 = 0xBE5 + SYS_LOG1PD128 = 0xBE9 + SYS_LOG1PD32 = 0xBE7 + SYS_LOG1PD64 = 0xBE8 + SYS_LOG2D128 = 0xBEC + SYS_LOG2D32 = 0xBEA + SYS_LOG2D64 = 0xBEB + SYS_LOGBD128 = 0xBEF + SYS_LOGBD32 = 0xBED + SYS_LOGBD64 = 0xBEE + SYS_LOGBF = 0xA96 + SYS_LOGBL = 0xA99 + SYS_LOGD128 = 0xBE3 + SYS_LOGD32 = 0xBE1 + SYS_LOGD64 = 0xBE2 + SYS_LRINT = 0xA9C + SYS_LRINTD128 = 0xBF2 + SYS_LRINTD32 = 0xBF0 + SYS_LRINTD64 = 0xBF1 + SYS_LRINTF = 0xA9F + SYS_LRINTL = 0xAA2 + SYS_LROUNDD128 = 0xBF5 + SYS_LROUNDD32 = 0xBF3 + SYS_LROUNDD64 = 0xBF4 + SYS_LROUNDL = 0xAA5 + SYS_MBLEN = 0x0AF + SYS_MBRTOC16 = 0xD42 + SYS_MBRTOC32 = 0xD43 + SYS_MEMSET = 0x0A3 + SYS_MKTIME = 0x0AC + SYS_MKTIME64 = 0xCE0 + SYS_MODFD128 = 0xBF8 + SYS_MODFD32 = 0xBF6 + SYS_MODFD64 = 0xBF7 + SYS_NAN = 0xAA8 + SYS_NAND128 = 0xBFB + SYS_NAND32 = 0xBF9 + SYS_NAND64 = 0xBFA + SYS_NANF = 0xAAA + SYS_NANL = 0xAAC + SYS_NEARBYINT = 0xAAE + SYS_NEARBYINTD128 = 0xBFE + SYS_NEARBYINTD32 = 0xBFC + SYS_NEARBYINTD64 = 0xBFD + SYS_NEARBYINTF = 0xAB1 + SYS_NEARBYINTL = 0xAB4 + SYS_NEXTAFTERD128 = 0xC01 + SYS_NEXTAFTERD32 = 0xBFF + SYS_NEXTAFTERD64 = 0xC00 + SYS_NEXTAFTERF = 0xAB7 + SYS_NEXTAFTERL = 0xABA + SYS_NEXTTOWARD = 0xABD + SYS_NEXTTOWARDD128 = 0xC04 + SYS_NEXTTOWARDD32 = 0xC02 + SYS_NEXTTOWARDD64 = 0xC03 + SYS_NEXTTOWARDF = 0xAC0 + SYS_NEXTTOWARDL = 0xAC3 + SYS_NL_LANGINFO = 0x0FC + SYS_PERROR_UNLOCKED = 0xCBD + SYS_POSIX_FALLOCATE = 0xCE8 + SYS_POSIX_MEMALIGN = 0xCE9 + SYS_POSIX_OPENPT = 0xC66 + SYS_POWD128 = 0xC07 + SYS_POWD32 = 0xC05 + SYS_POWD64 = 0xC06 + SYS_PRINTF_UNLOCKED = 0xCBE + SYS_PSELECT = 0xC67 + SYS_PTHREAD_ATTR_GETSTACK = 0xB3E + SYS_PTHREAD_ATTR_SETSTACK = 0xB3F + SYS_PTHREAD_SECURITY_APPLID_NP = 0xCE4 + SYS_PUTS_UNLOCKED = 0xC7F + SYS_PUTWCHAR_UNLOCKED = 0xCC0 + SYS_PUTWC_UNLOCKED = 0xCBF + SYS_QUANTEXPD128 = 0xD46 + SYS_QUANTEXPD32 = 0xD44 + SYS_QUANTEXPD64 = 0xD45 + SYS_QUANTIZED128 = 0xC0A + SYS_QUANTIZED32 = 0xC08 + SYS_QUANTIZED64 = 0xC09 + SYS_REMAINDERD128 = 0xC0D + SYS_REMAINDERD32 = 0xC0B + SYS_REMAINDERD64 = 0xC0C + SYS_RESIZE_ALLOC = 0xCEB + SYS_REWIND_UNLOCKED = 0xCC1 + SYS_RINTD128 = 0xC13 + SYS_RINTD32 = 0xC11 + SYS_RINTD64 = 0xC12 + SYS_RINTF = 0xACB + SYS_RINTL = 0xACD + SYS_ROUND = 0xACF + SYS_ROUNDD128 = 0xC16 + SYS_ROUNDD32 = 0xC14 + SYS_ROUNDD64 = 0xC15 + SYS_ROUNDF = 0xAD2 + SYS_ROUNDL = 0xAD5 + SYS_SAMEQUANTUMD128 = 0xC19 + SYS_SAMEQUANTUMD32 = 0xC17 + SYS_SAMEQUANTUMD64 = 0xC18 + SYS_SCALBLN = 0xAD8 + SYS_SCALBLND128 = 0xC1C + SYS_SCALBLND32 = 0xC1A + SYS_SCALBLND64 = 0xC1B + SYS_SCALBLNF = 0xADB + SYS_SCALBLNL = 0xADE + SYS_SCALBND128 = 0xC1F + SYS_SCALBND32 = 0xC1D + SYS_SCALBND64 = 0xC1E + SYS_SCALBNF = 0xAE3 + SYS_SCALBNL = 0xAE6 + SYS_SCANF_UNLOCKED = 0xCC2 + SYS_SCHED_YIELD = 0xB32 + SYS_SETENV = 0x0C8 + SYS_SETIPV4SOURCEFILTER = 0xC76 + SYS_SETSOURCEFILTER = 0xC78 + SYS_SHM_OPEN = 0xC8C + SYS_SHM_UNLINK = 0xC8D + SYS_SIND128 = 0xC22 + SYS_SIND32 = 0xC20 + SYS_SIND64 = 0xC21 + SYS_SINHD128 = 0xC25 + SYS_SINHD32 = 0xC23 + SYS_SINHD64 = 0xC24 + SYS_SIZEOF_ALLOC = 0xCEA + SYS_SOCKATMARK = 0xC68 + SYS_SQRTD128 = 0xC28 + SYS_SQRTD32 = 0xC26 + SYS_SQRTD64 = 0xC27 + SYS_STRCHR = 0x0A0 + SYS_STRCSPN = 0x0A1 + SYS_STRERROR = 0x0A8 + SYS_STRERROR_R = 0xB33 + SYS_STRFTIME = 0x0B2 + SYS_STRLEN = 0x0A9 + SYS_STRPBRK = 0x0A2 + SYS_STRSPN = 0x0A4 + SYS_STRSTR = 0x0A5 + SYS_STRTOD128 = 0xC2B + SYS_STRTOD32 = 0xC29 + SYS_STRTOD64 = 0xC2A + SYS_STRTOK = 0x0A6 + SYS_TAND128 = 0xC2E + SYS_TAND32 = 0xC2C + SYS_TAND64 = 0xC2D + SYS_TANHD128 = 0xC31 + SYS_TANHD32 = 0xC2F + SYS_TANHD64 = 0xC30 + SYS_TGAMMAD128 = 0xC34 + SYS_TGAMMAD32 = 0xC32 + SYS_TGAMMAD64 = 0xC33 + SYS_TIME = 0x0AD + SYS_TIME64 = 0xCE1 + SYS_TMPFILE64 = 0xD4D + SYS_TMPFILE64_UNLOCKED = 0xD4E + SYS_TMPFILE_UNLOCKED = 0xCFD + SYS_TRUNCD128 = 0xC40 + SYS_TRUNCD32 = 0xC3E + SYS_TRUNCD64 = 0xC3F + SYS_UNGETC_UNLOCKED = 0xCC3 + SYS_UNGETWC_UNLOCKED = 0xCC4 + SYS_UNSETENV = 0xB34 + SYS_VFPRINTF_UNLOCKED = 0xCC5 + SYS_VFSCANF_UNLOCKED = 0xCC7 + SYS_VFWPRINTF_UNLOCKED = 0xCC9 + SYS_VFWSCANF_UNLOCKED = 0xCCB + SYS_VPRINTF_UNLOCKED = 0xCCD + SYS_VSCANF_UNLOCKED = 0xCCF + SYS_VWPRINTF_UNLOCKED = 0xCD1 + SYS_VWSCANF_UNLOCKED = 0xCD3 + SYS_WCSTOD128 = 0xC43 + SYS_WCSTOD32 = 0xC41 + SYS_WCSTOD64 = 0xC42 + SYS_WPRINTF_UNLOCKED = 0xCD5 + SYS_WSCANF_UNLOCKED = 0xCD6 + SYS__FLUSHLBF = 0xD68 + SYS__FLUSHLBF_UNLOCKED = 0xD6F + SYS___ACOSHF_H = 0xA54 + SYS___ACOSHL_H = 0xA55 + SYS___ASINHF_H = 0xA56 + SYS___ASINHL_H = 0xA57 + SYS___ATANPID128 = 0xC6D + SYS___ATANPID32 = 0xC6B + SYS___ATANPID64 = 0xC6C + SYS___CBRTF_H = 0xA58 + SYS___CBRTL_H = 0xA59 + SYS___CDUMP = 0x0C4 + SYS___CLASS = 0xAFA + SYS___CLASS2 = 0xB99 + SYS___CLASS2D128 = 0xC99 + SYS___CLASS2D32 = 0xC97 + SYS___CLASS2D64 = 0xC98 + SYS___CLASS2F = 0xC91 + SYS___CLASS2F_B = 0xC93 + SYS___CLASS2F_H = 0xC94 + SYS___CLASS2L = 0xC92 + SYS___CLASS2L_B = 0xC95 + SYS___CLASS2L_H = 0xC96 + SYS___CLASS2_B = 0xB9A + SYS___CLASS2_H = 0xB9B + SYS___CLASS_B = 0xAFB + SYS___CLASS_H = 0xAFC + SYS___CLOGL_B = 0xA01 + SYS___CLOGL_H = 0xA02 + SYS___CLRENV = 0x0C9 + SYS___CLRMF = 0x0BD + SYS___CODEPAGE_INFO = 0xC64 + SYS___CONJF_B = 0xA07 + SYS___CONJF_H = 0xA08 + SYS___CONJL_B = 0xA0A + SYS___CONJL_H = 0xA0B + SYS___CONJ_B = 0xA04 + SYS___CONJ_H = 0xA05 + SYS___COPYSIGN_B = 0xA5A + SYS___COPYSIGN_H = 0xAF5 + SYS___COSPID128 = 0xC70 + SYS___COSPID32 = 0xC6E + SYS___COSPID64 = 0xC6F + SYS___CPOWF_B = 0xA10 + SYS___CPOWF_H = 0xA11 + SYS___CPOWL_B = 0xA13 + SYS___CPOWL_H = 0xA14 + SYS___CPOW_B = 0xA0D + SYS___CPOW_H = 0xA0E + SYS___CPROJF_B = 0xA19 + SYS___CPROJF_H = 0xA1A + SYS___CPROJL_B = 0xA1C + SYS___CPROJL_H = 0xA1D + SYS___CPROJ_B = 0xA16 + SYS___CPROJ_H = 0xA17 + SYS___CREALF_B = 0xA22 + SYS___CREALF_H = 0xA23 + SYS___CREALL_B = 0xA25 + SYS___CREALL_H = 0xA26 + SYS___CREAL_B = 0xA1F + SYS___CREAL_H = 0xA20 + SYS___CSINF_B = 0xA2B + SYS___CSINF_H = 0xA2C + SYS___CSINHF_B = 0xA34 + SYS___CSINHF_H = 0xA35 + SYS___CSINHL_B = 0xA37 + SYS___CSINHL_H = 0xA38 + SYS___CSINH_B = 0xA31 + SYS___CSINH_H = 0xA32 + SYS___CSINL_B = 0xA2E + SYS___CSINL_H = 0xA2F + SYS___CSIN_B = 0xA28 + SYS___CSIN_H = 0xA29 + SYS___CSNAP = 0x0C5 + SYS___CSQRTF_B = 0xA3D + SYS___CSQRTF_H = 0xA3E + SYS___CSQRTL_B = 0xA40 + SYS___CSQRTL_H = 0xA41 + SYS___CSQRT_B = 0xA3A + SYS___CSQRT_H = 0xA3B + SYS___CTANF_B = 0xA46 + SYS___CTANF_H = 0xA47 + SYS___CTANHF_B = 0xA4F + SYS___CTANHF_H = 0xA50 + SYS___CTANHL_B = 0xA52 + SYS___CTANHL_H = 0xA53 + SYS___CTANH_B = 0xA4C + SYS___CTANH_H = 0xA4D + SYS___CTANL_B = 0xA49 + SYS___CTANL_H = 0xA4A + SYS___CTAN_B = 0xA43 + SYS___CTAN_H = 0xA44 + SYS___CTEST = 0x0C7 + SYS___CTRACE = 0x0C6 + SYS___D1TOP = 0xC9B + SYS___D2TOP = 0xC9C + SYS___D4TOP = 0xC9D + SYS___DYNALL = 0x0C3 + SYS___DYNFRE = 0x0C2 + SYS___EXP2F_H = 0xA5E + SYS___EXP2L_H = 0xA5F + SYS___EXP2_H = 0xA5D + SYS___EXPM1F_H = 0xA5B + SYS___EXPM1L_H = 0xA5C + SYS___FBUFSIZE = 0xD60 + SYS___FLBF = 0xD62 + SYS___FLDATA = 0x0C1 + SYS___FMAF_B = 0xA67 + SYS___FMAF_H = 0xA68 + SYS___FMAL_B = 0xA6A + SYS___FMAL_H = 0xA6B + SYS___FMAXF_B = 0xA70 + SYS___FMAXF_H = 0xA71 + SYS___FMAXL_B = 0xA73 + SYS___FMAXL_H = 0xA74 + SYS___FMAX_B = 0xA6D + SYS___FMAX_H = 0xA6E + SYS___FMA_B = 0xA64 + SYS___FMA_H = 0xA65 + SYS___FMINF_B = 0xA79 + SYS___FMINF_H = 0xA7A + SYS___FMINL_B = 0xA7C + SYS___FMINL_H = 0xA7D + SYS___FMIN_B = 0xA76 + SYS___FMIN_H = 0xA77 + SYS___FPENDING = 0xD61 + SYS___FPENDING_UNLOCKED = 0xD6C + SYS___FPURGE = 0xD69 + SYS___FPURGE_UNLOCKED = 0xD70 + SYS___FP_CAST_D = 0xBCB + SYS___FREADABLE = 0xD63 + SYS___FREADAHEAD = 0xD6A + SYS___FREADAHEAD_UNLOCKED = 0xD71 + SYS___FREADING = 0xD65 + SYS___FREADING_UNLOCKED = 0xD6D + SYS___FSEEK2 = 0xB3C + SYS___FSETERR = 0xD6B + SYS___FSETLOCKING = 0xD67 + SYS___FTCHEP = 0x0BF + SYS___FTELL2 = 0xB3B + SYS___FUPDT = 0x0B5 + SYS___FWRITABLE = 0xD64 + SYS___FWRITING = 0xD66 + SYS___FWRITING_UNLOCKED = 0xD6E + SYS___GETCB = 0x0B4 + SYS___GETGRGID1 = 0xD5B + SYS___GETGRNAM1 = 0xD5C + SYS___GETTHENT = 0xCE5 + SYS___GETTOD = 0xD3E + SYS___HYPOTF_H = 0xAF6 + SYS___HYPOTL_H = 0xAF7 + SYS___ILOGBF_B = 0xA7F + SYS___ILOGBF_H = 0xA80 + SYS___ILOGBL_B = 0xA82 + SYS___ILOGBL_H = 0xA83 + SYS___ISBLANK_A = 0xB2E + SYS___ISBLNK = 0x0FE + SYS___ISWBLANK_A = 0xB2F + SYS___LE_CEEGTJS = 0xD72 + SYS___LE_TRACEBACK = 0xB7A + SYS___LGAMMAL_H = 0xA62 + SYS___LGAMMA_B_C99 = 0xB39 + SYS___LGAMMA_H_C99 = 0xB38 + SYS___LGAMMA_R_C99 = 0xB3A + SYS___LLRINTF_B = 0xA88 + SYS___LLRINTF_H = 0xA89 + SYS___LLRINTL_B = 0xA8B + SYS___LLRINTL_H = 0xA8C + SYS___LLRINT_B = 0xA85 + SYS___LLRINT_H = 0xA86 + SYS___LLROUNDF_B = 0xA91 + SYS___LLROUNDF_H = 0xA92 + SYS___LLROUNDL_B = 0xA94 + SYS___LLROUNDL_H = 0xA95 + SYS___LLROUND_B = 0xA8E + SYS___LLROUND_H = 0xA8F + SYS___LOCALE_CTL = 0xD47 + SYS___LOG1PF_H = 0xA60 + SYS___LOG1PL_H = 0xA61 + SYS___LOGBF_B = 0xA97 + SYS___LOGBF_H = 0xA98 + SYS___LOGBL_B = 0xA9A + SYS___LOGBL_H = 0xA9B + SYS___LOGIN_APPLID = 0xCE2 + SYS___LRINTF_B = 0xAA0 + SYS___LRINTF_H = 0xAA1 + SYS___LRINTL_B = 0xAA3 + SYS___LRINTL_H = 0xAA4 + SYS___LRINT_B = 0xA9D + SYS___LRINT_H = 0xA9E + SYS___LROUNDF_FIXUP = 0xB31 + SYS___LROUNDL_B = 0xAA6 + SYS___LROUNDL_H = 0xAA7 + SYS___LROUND_FIXUP = 0xB30 + SYS___MOSERVICES = 0xD3D + SYS___MUST_STAY_CLEAN = 0xB7C + SYS___NANF_B = 0xAAB + SYS___NANL_B = 0xAAD + SYS___NAN_B = 0xAA9 + SYS___NEARBYINTF_B = 0xAB2 + SYS___NEARBYINTF_H = 0xAB3 + SYS___NEARBYINTL_B = 0xAB5 + SYS___NEARBYINTL_H = 0xAB6 + SYS___NEARBYINT_B = 0xAAF + SYS___NEARBYINT_H = 0xAB0 + SYS___NEXTAFTERF_B = 0xAB8 + SYS___NEXTAFTERF_H = 0xAB9 + SYS___NEXTAFTERL_B = 0xABB + SYS___NEXTAFTERL_H = 0xABC + SYS___NEXTTOWARDF_B = 0xAC1 + SYS___NEXTTOWARDF_H = 0xAC2 + SYS___NEXTTOWARDL_B = 0xAC4 + SYS___NEXTTOWARDL_H = 0xAC5 + SYS___NEXTTOWARD_B = 0xABE + SYS___NEXTTOWARD_H = 0xABF + SYS___O_ENV = 0xB7D + SYS___PASSWD_APPLID = 0xCE3 + SYS___PTOD1 = 0xC9E + SYS___PTOD2 = 0xC9F + SYS___PTOD4 = 0xCA0 + SYS___REGCOMP_STD = 0x0EA + SYS___REMAINDERF_H = 0xAC6 + SYS___REMAINDERL_H = 0xAC7 + SYS___REMQUOD128 = 0xC10 + SYS___REMQUOD32 = 0xC0E + SYS___REMQUOD64 = 0xC0F + SYS___REMQUOF_H = 0xAC9 + SYS___REMQUOL_H = 0xACA + SYS___REMQUO_H = 0xAC8 + SYS___RINTF_B = 0xACC + SYS___RINTL_B = 0xACE + SYS___ROUNDF_B = 0xAD3 + SYS___ROUNDF_H = 0xAD4 + SYS___ROUNDL_B = 0xAD6 + SYS___ROUNDL_H = 0xAD7 + SYS___ROUND_B = 0xAD0 + SYS___ROUND_H = 0xAD1 + SYS___SCALBLNF_B = 0xADC + SYS___SCALBLNF_H = 0xADD + SYS___SCALBLNL_B = 0xADF + SYS___SCALBLNL_H = 0xAE0 + SYS___SCALBLN_B = 0xAD9 + SYS___SCALBLN_H = 0xADA + SYS___SCALBNF_B = 0xAE4 + SYS___SCALBNF_H = 0xAE5 + SYS___SCALBNL_B = 0xAE7 + SYS___SCALBNL_H = 0xAE8 + SYS___SCALBN_B = 0xAE1 + SYS___SCALBN_H = 0xAE2 + SYS___SETENV = 0x0C8 + SYS___SINPID128 = 0xC73 + SYS___SINPID32 = 0xC71 + SYS___SINPID64 = 0xC72 + SYS___SMF_RECORD2 = 0xD48 + SYS___STATIC_REINIT = 0xB3D + SYS___TGAMMAF_H_C99 = 0xB79 + SYS___TGAMMAL_H = 0xAE9 + SYS___TGAMMA_H_C99 = 0xB78 + SYS___TOCSNAME2 = 0xC9A + SYS_CEIL = 0x01F + SYS_CHAUDIT = 0x1E0 + SYS_EXP = 0x01A + SYS_FCHAUDIT = 0x1E1 + SYS_FREXP = 0x01D + SYS_GETGROUPSBYNAME = 0x1E2 + SYS_GETPWUID = 0x1A0 + SYS_GETUID = 0x1A1 + SYS_ISATTY = 0x1A3 + SYS_KILL = 0x1A4 + SYS_LDEXP = 0x01E + SYS_LINK = 0x1A5 + SYS_LOG10 = 0x01C + SYS_LSEEK = 0x1A6 + SYS_LSTAT = 0x1A7 + SYS_MKDIR = 0x1A8 + SYS_MKFIFO = 0x1A9 + SYS_MKNOD = 0x1AA + SYS_MODF = 0x01B + SYS_MOUNT = 0x1AB + SYS_OPEN = 0x1AC + SYS_OPENDIR = 0x1AD + SYS_PATHCONF = 0x1AE + SYS_PAUSE = 0x1AF + SYS_PIPE = 0x1B0 + SYS_PTHREAD_ATTR_DESTROY = 0x1E7 + SYS_PTHREAD_ATTR_GETDETACHSTATE = 0x1EB + SYS_PTHREAD_ATTR_GETSTACKSIZE = 0x1E9 + SYS_PTHREAD_ATTR_GETWEIGHT_NP = 0x1ED + SYS_PTHREAD_ATTR_INIT = 0x1E6 + SYS_PTHREAD_ATTR_SETDETACHSTATE = 0x1EA + SYS_PTHREAD_ATTR_SETSTACKSIZE = 0x1E8 + SYS_PTHREAD_ATTR_SETWEIGHT_NP = 0x1EC + SYS_PTHREAD_CANCEL = 0x1EE + SYS_PTHREAD_CLEANUP_POP = 0x1F0 + SYS_PTHREAD_CLEANUP_PUSH = 0x1EF + SYS_PTHREAD_CONDATTR_DESTROY = 0x1F2 + SYS_PTHREAD_CONDATTR_INIT = 0x1F1 + SYS_PTHREAD_COND_BROADCAST = 0x1F6 + SYS_PTHREAD_COND_DESTROY = 0x1F4 + SYS_PTHREAD_COND_INIT = 0x1F3 + SYS_PTHREAD_COND_SIGNAL = 0x1F5 + SYS_PTHREAD_COND_TIMEDWAIT = 0x1F8 + SYS_PTHREAD_COND_WAIT = 0x1F7 + SYS_PTHREAD_CREATE = 0x1F9 + SYS_PTHREAD_DETACH = 0x1FA + SYS_PTHREAD_EQUAL = 0x1FB + SYS_PTHREAD_EXIT = 0x1E4 + SYS_PTHREAD_GETSPECIFIC = 0x1FC + SYS_PTHREAD_JOIN = 0x1FD + SYS_PTHREAD_KEY_CREATE = 0x1FE + SYS_PTHREAD_KILL = 0x1E5 + SYS_PTHREAD_MUTEXATTR_INIT = 0x1FF + SYS_READ = 0x1B2 + SYS_READDIR = 0x1B3 + SYS_READLINK = 0x1B4 + SYS_REWINDDIR = 0x1B5 + SYS_RMDIR = 0x1B6 + SYS_SETEGID = 0x1B7 + SYS_SETEUID = 0x1B8 + SYS_SETGID = 0x1B9 + SYS_SETPGID = 0x1BA + SYS_SETSID = 0x1BB + SYS_SETUID = 0x1BC + SYS_SIGACTION = 0x1BD + SYS_SIGADDSET = 0x1BE + SYS_SIGDELSET = 0x1BF + SYS_SIGEMPTYSET = 0x1C0 + SYS_SIGFILLSET = 0x1C1 + SYS_SIGISMEMBER = 0x1C2 + SYS_SIGLONGJMP = 0x1C3 + SYS_SIGPENDING = 0x1C4 + SYS_SIGPROCMASK = 0x1C5 + SYS_SIGSETJMP = 0x1C6 + SYS_SIGSUSPEND = 0x1C7 + SYS_SIGWAIT = 0x1E3 + SYS_SLEEP = 0x1C8 + SYS_STAT = 0x1C9 + SYS_SYMLINK = 0x1CB + SYS_SYSCONF = 0x1CC + SYS_TCDRAIN = 0x1CD + SYS_TCFLOW = 0x1CE + SYS_TCFLUSH = 0x1CF + SYS_TCGETATTR = 0x1D0 + SYS_TCGETPGRP = 0x1D1 + SYS_TCSENDBREAK = 0x1D2 + SYS_TCSETATTR = 0x1D3 + SYS_TCSETPGRP = 0x1D4 + SYS_TIMES = 0x1D5 + SYS_TTYNAME = 0x1D6 + SYS_TZSET = 0x1D7 + SYS_UMASK = 0x1D8 + SYS_UMOUNT = 0x1D9 + SYS_UNAME = 0x1DA + SYS_UNLINK = 0x1DB + SYS_UTIME = 0x1DC + SYS_WAIT = 0x1DD + SYS_WAITPID = 0x1DE + SYS_WRITE = 0x1DF + SYS_W_GETPSENT = 0x1B1 + SYS_W_IOCTL = 0x1A2 + SYS_W_STATFS = 0x1CA + SYS_A64L = 0x2EF + SYS_BCMP = 0x2B9 + SYS_BCOPY = 0x2BA + SYS_BZERO = 0x2BB + SYS_CATCLOSE = 0x2B6 + SYS_CATGETS = 0x2B7 + SYS_CATOPEN = 0x2B8 + SYS_CRYPT = 0x2AC + SYS_DBM_CLEARERR = 0x2F7 + SYS_DBM_CLOSE = 0x2F8 + SYS_DBM_DELETE = 0x2F9 + SYS_DBM_ERROR = 0x2FA + SYS_DBM_FETCH = 0x2FB + SYS_DBM_FIRSTKEY = 0x2FC + SYS_DBM_NEXTKEY = 0x2FD + SYS_DBM_OPEN = 0x2FE + SYS_DBM_STORE = 0x2FF + SYS_DRAND48 = 0x2B2 + SYS_ENCRYPT = 0x2AD + SYS_ENDUTXENT = 0x2E1 + SYS_ERAND48 = 0x2B3 + SYS_ERF = 0x02C + SYS_ERFC = 0x02D + SYS_FCHDIR = 0x2D9 + SYS_FFS = 0x2BC + SYS_FMTMSG = 0x2E5 + SYS_FSTATVFS = 0x2B4 + SYS_FTIME = 0x2F5 + SYS_GAMMA = 0x02E + SYS_GETDATE = 0x2A6 + SYS_GETPAGESIZE = 0x2D8 + SYS_GETTIMEOFDAY = 0x2F6 + SYS_GETUTXENT = 0x2E0 + SYS_GETUTXID = 0x2E2 + SYS_GETUTXLINE = 0x2E3 + SYS_HCREATE = 0x2C6 + SYS_HDESTROY = 0x2C7 + SYS_HSEARCH = 0x2C8 + SYS_HYPOT = 0x02B + SYS_INDEX = 0x2BD + SYS_INITSTATE = 0x2C2 + SYS_INSQUE = 0x2CF + SYS_ISASCII = 0x2ED + SYS_JRAND48 = 0x2E6 + SYS_L64A = 0x2F0 + SYS_LCONG48 = 0x2EA + SYS_LFIND = 0x2C9 + SYS_LRAND48 = 0x2E7 + SYS_LSEARCH = 0x2CA + SYS_MEMCCPY = 0x2D4 + SYS_MRAND48 = 0x2E8 + SYS_NRAND48 = 0x2E9 + SYS_PCLOSE = 0x2D2 + SYS_POPEN = 0x2D1 + SYS_PUTUTXLINE = 0x2E4 + SYS_RANDOM = 0x2C4 + SYS_REMQUE = 0x2D0 + SYS_RINDEX = 0x2BE + SYS_SEED48 = 0x2EC + SYS_SETKEY = 0x2AE + SYS_SETSTATE = 0x2C3 + SYS_SETUTXENT = 0x2DF + SYS_SRAND48 = 0x2EB + SYS_SRANDOM = 0x2C5 + SYS_STATVFS = 0x2B5 + SYS_STRCASECMP = 0x2BF + SYS_STRDUP = 0x2C0 + SYS_STRNCASECMP = 0x2C1 + SYS_SWAB = 0x2D3 + SYS_TDELETE = 0x2CB + SYS_TFIND = 0x2CC + SYS_TOASCII = 0x2EE + SYS_TSEARCH = 0x2CD + SYS_TWALK = 0x2CE + SYS_UALARM = 0x2F1 + SYS_USLEEP = 0x2F2 + SYS_WAIT3 = 0x2A7 + SYS_WAITID = 0x2A8 + SYS_Y1 = 0x02A + SYS___ATOE = 0x2DB + SYS___ATOE_L = 0x2DC + SYS___CATTRM = 0x2A9 + SYS___CNVBLK = 0x2AF + SYS___CRYTRM = 0x2B0 + SYS___DLGHT = 0x2A1 + SYS___ECRTRM = 0x2B1 + SYS___ETOA = 0x2DD + SYS___ETOA_L = 0x2DE + SYS___GDTRM = 0x2AA + SYS___OCLCK = 0x2DA + SYS___OPARGF = 0x2A2 + SYS___OPERRF = 0x2A5 + SYS___OPINDF = 0x2A4 + SYS___OPOPTF = 0x2A3 + SYS___RNDTRM = 0x2AB + SYS___SRCTRM = 0x2F4 + SYS___TZONE = 0x2A0 + SYS___UTXTRM = 0x2F3 + SYS_ASIN = 0x03E + SYS_ISXDIGIT = 0x03B + SYS_SETLOCAL = 0x03A + SYS_SETLOCALE = 0x03A + SYS_SIN = 0x03F + SYS_TOLOWER = 0x03C + SYS_TOUPPER = 0x03D + SYS_ACCEPT_AND_RECV = 0x4F7 + SYS_ATOL = 0x04E + SYS_CHECKSCH = 0x4BC + SYS_CHECKSCHENV = 0x4BC + SYS_CLEARERR = 0x04C + SYS_CONNECTS = 0x4B5 + SYS_CONNECTSERVER = 0x4B5 + SYS_CONNECTW = 0x4B4 + SYS_CONNECTWORKMGR = 0x4B4 + SYS_CONTINUE = 0x4B3 + SYS_CONTINUEWORKUNIT = 0x4B3 + SYS_COPYSIGN = 0x4C2 + SYS_CREATEWO = 0x4B2 + SYS_CREATEWORKUNIT = 0x4B2 + SYS_DELETEWO = 0x4B9 + SYS_DELETEWORKUNIT = 0x4B9 + SYS_DISCONNE = 0x4B6 + SYS_DISCONNECTSERVER = 0x4B6 + SYS_FEOF = 0x04D + SYS_FERROR = 0x04A + SYS_FINITE = 0x4C8 + SYS_GAMMA_R = 0x4E2 + SYS_JOINWORK = 0x4B7 + SYS_JOINWORKUNIT = 0x4B7 + SYS_LEAVEWOR = 0x4B8 + SYS_LEAVEWORKUNIT = 0x4B8 + SYS_LGAMMA_R = 0x4EB + SYS_MATHERR = 0x4D0 + SYS_PERROR = 0x04F + SYS_QUERYMET = 0x4BA + SYS_QUERYMETRICS = 0x4BA + SYS_QUERYSCH = 0x4BB + SYS_QUERYSCHENV = 0x4BB + SYS_REWIND = 0x04B + SYS_SCALBN = 0x4D4 + SYS_SIGNIFIC = 0x4D5 + SYS_SIGNIFICAND = 0x4D5 + SYS___ACOSH_B = 0x4DA + SYS___ACOS_B = 0x4D9 + SYS___ASINH_B = 0x4BE + SYS___ASIN_B = 0x4DB + SYS___ATAN2_B = 0x4DC + SYS___ATANH_B = 0x4DD + SYS___ATAN_B = 0x4BF + SYS___CBRT_B = 0x4C0 + SYS___CEIL_B = 0x4C1 + SYS___COSH_B = 0x4DE + SYS___COS_B = 0x4C3 + SYS___DGHT = 0x4A8 + SYS___ENVN = 0x4B0 + SYS___ERFC_B = 0x4C5 + SYS___ERF_B = 0x4C4 + SYS___EXPM1_B = 0x4C6 + SYS___EXP_B = 0x4DF + SYS___FABS_B = 0x4C7 + SYS___FLOOR_B = 0x4C9 + SYS___FMOD_B = 0x4E0 + SYS___FP_SETMODE = 0x4F8 + SYS___FREXP_B = 0x4CA + SYS___GAMMA_B = 0x4E1 + SYS___GDRR = 0x4A1 + SYS___HRRNO = 0x4A2 + SYS___HYPOT_B = 0x4E3 + SYS___ILOGB_B = 0x4CB + SYS___ISNAN_B = 0x4CC + SYS___J0_B = 0x4E4 + SYS___J1_B = 0x4E6 + SYS___JN_B = 0x4E8 + SYS___LDEXP_B = 0x4CD + SYS___LGAMMA_B = 0x4EA + SYS___LOG10_B = 0x4ED + SYS___LOG1P_B = 0x4CE + SYS___LOGB_B = 0x4CF + SYS___LOGIN = 0x4F5 + SYS___LOG_B = 0x4EC + SYS___MLOCKALL = 0x4B1 + SYS___MODF_B = 0x4D1 + SYS___NEXTAFTER_B = 0x4D2 + SYS___OPENDIR2 = 0x4F3 + SYS___OPEN_STAT = 0x4F6 + SYS___OPND = 0x4A5 + SYS___OPPT = 0x4A6 + SYS___OPRG = 0x4A3 + SYS___OPRR = 0x4A4 + SYS___PID_AFFINITY = 0x4BD + SYS___POW_B = 0x4EE + SYS___READDIR2 = 0x4F4 + SYS___REMAINDER_B = 0x4EF + SYS___RINT_B = 0x4D3 + SYS___SCALB_B = 0x4F0 + SYS___SIGACTIONSET = 0x4FB + SYS___SIGGM = 0x4A7 + SYS___SINH_B = 0x4F1 + SYS___SIN_B = 0x4D6 + SYS___SQRT_B = 0x4F2 + SYS___TANH_B = 0x4D8 + SYS___TAN_B = 0x4D7 + SYS___TRRNO = 0x4AF + SYS___TZNE = 0x4A9 + SYS___TZZN = 0x4AA + SYS___UCREATE = 0x4FC + SYS___UFREE = 0x4FE + SYS___UHEAPREPORT = 0x4FF + SYS___UMALLOC = 0x4FD + SYS___Y0_B = 0x4E5 + SYS___Y1_B = 0x4E7 + SYS___YN_B = 0x4E9 + SYS_ABORT = 0x05C + SYS_ASCTIME_R = 0x5E0 + SYS_ATEXIT = 0x05D + SYS_CONNECTE = 0x5AE + SYS_CONNECTEXPORTIMPORT = 0x5AE + SYS_CTIME_R = 0x5E1 + SYS_DN_COMP = 0x5DF + SYS_DN_EXPAND = 0x5DD + SYS_DN_SKIPNAME = 0x5DE + SYS_EXIT = 0x05A + SYS_EXPORTWO = 0x5A1 + SYS_EXPORTWORKUNIT = 0x5A1 + SYS_EXTRACTW = 0x5A5 + SYS_EXTRACTWORKUNIT = 0x5A5 + SYS_FSEEKO = 0x5C9 + SYS_FTELLO = 0x5C8 + SYS_GETGRGID_R = 0x5E7 + SYS_GETGRNAM_R = 0x5E8 + SYS_GETLOGIN_R = 0x5E9 + SYS_GETPWNAM_R = 0x5EA + SYS_GETPWUID_R = 0x5EB + SYS_GMTIME_R = 0x5E2 + SYS_IMPORTWO = 0x5A3 + SYS_IMPORTWORKUNIT = 0x5A3 + SYS_INET_NTOP = 0x5D3 + SYS_INET_PTON = 0x5D4 + SYS_LLABS = 0x5CE + SYS_LLDIV = 0x5CB + SYS_LOCALTIME_R = 0x5E3 + SYS_PTHREAD_ATFORK = 0x5ED + SYS_PTHREAD_ATTR_GETDETACHSTATE_U98 = 0x5FB + SYS_PTHREAD_ATTR_GETGUARDSIZE = 0x5EE + SYS_PTHREAD_ATTR_GETSCHEDPARAM = 0x5F9 + SYS_PTHREAD_ATTR_GETSTACKADDR = 0x5EF + SYS_PTHREAD_ATTR_SETDETACHSTATE_U98 = 0x5FC + SYS_PTHREAD_ATTR_SETGUARDSIZE = 0x5F0 + SYS_PTHREAD_ATTR_SETSCHEDPARAM = 0x5FA + SYS_PTHREAD_ATTR_SETSTACKADDR = 0x5F1 + SYS_PTHREAD_CONDATTR_GETPSHARED = 0x5F2 + SYS_PTHREAD_CONDATTR_SETPSHARED = 0x5F3 + SYS_PTHREAD_DETACH_U98 = 0x5FD + SYS_PTHREAD_GETCONCURRENCY = 0x5F4 + SYS_PTHREAD_GETSPECIFIC_U98 = 0x5FE + SYS_PTHREAD_KEY_DELETE = 0x5F5 + SYS_PTHREAD_SETCANCELSTATE = 0x5FF + SYS_PTHREAD_SETCONCURRENCY = 0x5F6 + SYS_PTHREAD_SIGMASK = 0x5F7 + SYS_QUERYENC = 0x5AD + SYS_QUERYWORKUNITCLASSIFICATION = 0x5AD + SYS_RAISE = 0x05E + SYS_RAND_R = 0x5E4 + SYS_READDIR_R = 0x5E6 + SYS_REALLOC = 0x05B + SYS_RES_INIT = 0x5D8 + SYS_RES_MKQUERY = 0x5D7 + SYS_RES_QUERY = 0x5D9 + SYS_RES_QUERYDOMAIN = 0x5DC + SYS_RES_SEARCH = 0x5DA + SYS_RES_SEND = 0x5DB + SYS_SETJMP = 0x05F + SYS_SIGQUEUE = 0x5A9 + SYS_STRTOK_R = 0x5E5 + SYS_STRTOLL = 0x5B0 + SYS_STRTOULL = 0x5B1 + SYS_TTYNAME_R = 0x5EC + SYS_UNDOEXPO = 0x5A2 + SYS_UNDOEXPORTWORKUNIT = 0x5A2 + SYS_UNDOIMPO = 0x5A4 + SYS_UNDOIMPORTWORKUNIT = 0x5A4 + SYS_WCSTOLL = 0x5CC + SYS_WCSTOULL = 0x5CD + SYS___ABORT = 0x05C + SYS___CONSOLE2 = 0x5D2 + SYS___CPL = 0x5A6 + SYS___DISCARDDATA = 0x5F8 + SYS___DSA_PREV = 0x5B2 + SYS___EP_FIND = 0x5B3 + SYS___FP_SWAPMODE = 0x5AF + SYS___GETUSERID = 0x5AB + SYS___GET_CPUID = 0x5B9 + SYS___GET_SYSTEM_SETTINGS = 0x5BA + SYS___IPDOMAINNAME = 0x5AC + SYS___MAP_INIT = 0x5A7 + SYS___MAP_SERVICE = 0x5A8 + SYS___MOUNT = 0x5AA + SYS___MSGRCV_TIMED = 0x5B7 + SYS___RES = 0x5D6 + SYS___SEMOP_TIMED = 0x5B8 + SYS___SERVER_THREADS_QUERY = 0x5B4 + SYS_FPRINTF = 0x06D + SYS_FSCANF = 0x06A + SYS_PRINTF = 0x06F + SYS_SETBUF = 0x06B + SYS_SETVBUF = 0x06C + SYS_SSCANF = 0x06E + SYS___CATGETS_A = 0x6C0 + SYS___CHAUDIT_A = 0x6F4 + SYS___CHMOD_A = 0x6E8 + SYS___COLLATE_INIT_A = 0x6AC + SYS___CREAT_A = 0x6F6 + SYS___CTYPE_INIT_A = 0x6AF + SYS___DLLLOAD_A = 0x6DF + SYS___DLLQUERYFN_A = 0x6E0 + SYS___DLLQUERYVAR_A = 0x6E1 + SYS___E2A_L = 0x6E3 + SYS___EXECLE_A = 0x6A0 + SYS___EXECLP_A = 0x6A4 + SYS___EXECVE_A = 0x6C1 + SYS___EXECVP_A = 0x6C2 + SYS___EXECV_A = 0x6B1 + SYS___FPRINTF_A = 0x6FA + SYS___GETADDRINFO_A = 0x6BF + SYS___GETNAMEINFO_A = 0x6C4 + SYS___GET_WCTYPE_STD_A = 0x6AE + SYS___ICONV_OPEN_A = 0x6DE + SYS___IF_INDEXTONAME_A = 0x6DC + SYS___IF_NAMETOINDEX_A = 0x6DB + SYS___ISWCTYPE_A = 0x6B0 + SYS___IS_WCTYPE_STD_A = 0x6B2 + SYS___LOCALECONV_A = 0x6B8 + SYS___LOCALECONV_STD_A = 0x6B9 + SYS___LOCALE_INIT_A = 0x6B7 + SYS___LSTAT_A = 0x6EE + SYS___LSTAT_O_A = 0x6EF + SYS___MKDIR_A = 0x6E9 + SYS___MKFIFO_A = 0x6EC + SYS___MKNOD_A = 0x6F0 + SYS___MONETARY_INIT_A = 0x6BC + SYS___MOUNT_A = 0x6F1 + SYS___NL_CSINFO_A = 0x6D6 + SYS___NL_LANGINFO_A = 0x6BA + SYS___NL_LNAGINFO_STD_A = 0x6BB + SYS___NL_MONINFO_A = 0x6D7 + SYS___NL_NUMINFO_A = 0x6D8 + SYS___NL_RESPINFO_A = 0x6D9 + SYS___NL_TIMINFO_A = 0x6DA + SYS___NUMERIC_INIT_A = 0x6C6 + SYS___OPEN_A = 0x6F7 + SYS___PRINTF_A = 0x6DD + SYS___RESP_INIT_A = 0x6C7 + SYS___RPMATCH_A = 0x6C8 + SYS___RPMATCH_C_A = 0x6C9 + SYS___RPMATCH_STD_A = 0x6CA + SYS___SETLOCALE_A = 0x6F9 + SYS___SPAWNP_A = 0x6C5 + SYS___SPAWN_A = 0x6C3 + SYS___SPRINTF_A = 0x6FB + SYS___STAT_A = 0x6EA + SYS___STAT_O_A = 0x6EB + SYS___STRCOLL_STD_A = 0x6A1 + SYS___STRFMON_A = 0x6BD + SYS___STRFMON_STD_A = 0x6BE + SYS___STRFTIME_A = 0x6CC + SYS___STRFTIME_STD_A = 0x6CD + SYS___STRPTIME_A = 0x6CE + SYS___STRPTIME_STD_A = 0x6CF + SYS___STRXFRM_A = 0x6A2 + SYS___STRXFRM_C_A = 0x6A3 + SYS___STRXFRM_STD_A = 0x6A5 + SYS___SYNTAX_INIT_A = 0x6D4 + SYS___TIME_INIT_A = 0x6CB + SYS___TOD_INIT_A = 0x6D5 + SYS___TOWLOWER_A = 0x6B3 + SYS___TOWLOWER_STD_A = 0x6B4 + SYS___TOWUPPER_A = 0x6B5 + SYS___TOWUPPER_STD_A = 0x6B6 + SYS___UMOUNT_A = 0x6F2 + SYS___VFPRINTF_A = 0x6FC + SYS___VPRINTF_A = 0x6FD + SYS___VSPRINTF_A = 0x6FE + SYS___VSWPRINTF_A = 0x6FF + SYS___WCSCOLL_A = 0x6A6 + SYS___WCSCOLL_C_A = 0x6A7 + SYS___WCSCOLL_STD_A = 0x6A8 + SYS___WCSFTIME_A = 0x6D0 + SYS___WCSFTIME_STD_A = 0x6D1 + SYS___WCSXFRM_A = 0x6A9 + SYS___WCSXFRM_C_A = 0x6AA + SYS___WCSXFRM_STD_A = 0x6AB + SYS___WCTYPE_A = 0x6AD + SYS___W_GETMNTENT_A = 0x6F5 + SYS_____CCSIDTYPE_A = 0x6E6 + SYS_____CHATTR_A = 0x6E2 + SYS_____CSNAMETYPE_A = 0x6E7 + SYS_____OPEN_STAT_A = 0x6ED + SYS_____SPAWN2_A = 0x6D2 + SYS_____SPAWNP2_A = 0x6D3 + SYS_____TOCCSID_A = 0x6E4 + SYS_____TOCSNAME_A = 0x6E5 + SYS_ACL_FREE = 0x7FF + SYS_ACL_INIT = 0x7FE + SYS_FWIDE = 0x7DF + SYS_FWPRINTF = 0x7D1 + SYS_FWRITE = 0x07E + SYS_FWSCANF = 0x7D5 + SYS_GETCHAR = 0x07B + SYS_GETS = 0x07C + SYS_M_CREATE_LAYOUT = 0x7C9 + SYS_M_DESTROY_LAYOUT = 0x7CA + SYS_M_GETVALUES_LAYOUT = 0x7CB + SYS_M_SETVALUES_LAYOUT = 0x7CC + SYS_M_TRANSFORM_LAYOUT = 0x7CD + SYS_M_WTRANSFORM_LAYOUT = 0x7CE + SYS_PREAD = 0x7C7 + SYS_PUTC = 0x07D + SYS_PUTCHAR = 0x07A + SYS_PUTS = 0x07F + SYS_PWRITE = 0x7C8 + SYS_TOWCTRAN = 0x7D8 + SYS_TOWCTRANS = 0x7D8 + SYS_UNATEXIT = 0x7B5 + SYS_VFWPRINT = 0x7D3 + SYS_VFWPRINTF = 0x7D3 + SYS_VWPRINTF = 0x7D4 + SYS_WCTRANS = 0x7D7 + SYS_WPRINTF = 0x7D2 + SYS_WSCANF = 0x7D6 + SYS___ASCTIME_R_A = 0x7A1 + SYS___BASENAME_A = 0x7DC + SYS___BTOWC_A = 0x7E4 + SYS___CDUMP_A = 0x7B7 + SYS___CEE3DMP_A = 0x7B6 + SYS___CEILF_H = 0x7F4 + SYS___CEILL_H = 0x7F5 + SYS___CEIL_H = 0x7EA + SYS___CRYPT_A = 0x7BE + SYS___CSNAP_A = 0x7B8 + SYS___CTEST_A = 0x7B9 + SYS___CTIME_R_A = 0x7A2 + SYS___CTRACE_A = 0x7BA + SYS___DBM_OPEN_A = 0x7E6 + SYS___DIRNAME_A = 0x7DD + SYS___FABSF_H = 0x7FA + SYS___FABSL_H = 0x7FB + SYS___FABS_H = 0x7ED + SYS___FGETWC_A = 0x7AA + SYS___FGETWS_A = 0x7AD + SYS___FLOORF_H = 0x7F6 + SYS___FLOORL_H = 0x7F7 + SYS___FLOOR_H = 0x7EB + SYS___FPUTWC_A = 0x7A5 + SYS___FPUTWS_A = 0x7A8 + SYS___GETTIMEOFDAY_A = 0x7AE + SYS___GETWCHAR_A = 0x7AC + SYS___GETWC_A = 0x7AB + SYS___GLOB_A = 0x7DE + SYS___GMTIME_A = 0x7AF + SYS___GMTIME_R_A = 0x7B0 + SYS___INET_PTON_A = 0x7BC + SYS___J0_H = 0x7EE + SYS___J1_H = 0x7EF + SYS___JN_H = 0x7F0 + SYS___LOCALTIME_A = 0x7B1 + SYS___LOCALTIME_R_A = 0x7B2 + SYS___MALLOC24 = 0x7FC + SYS___MALLOC31 = 0x7FD + SYS___MKTIME_A = 0x7B3 + SYS___MODFF_H = 0x7F8 + SYS___MODFL_H = 0x7F9 + SYS___MODF_H = 0x7EC + SYS___OPENDIR_A = 0x7C2 + SYS___OSNAME = 0x7E0 + SYS___PUTWCHAR_A = 0x7A7 + SYS___PUTWC_A = 0x7A6 + SYS___READDIR_A = 0x7C3 + SYS___STRTOLL_A = 0x7A3 + SYS___STRTOULL_A = 0x7A4 + SYS___SYSLOG_A = 0x7BD + SYS___TZZNA = 0x7B4 + SYS___UNGETWC_A = 0x7A9 + SYS___UTIME_A = 0x7A0 + SYS___VFPRINTF2_A = 0x7E7 + SYS___VPRINTF2_A = 0x7E8 + SYS___VSPRINTF2_A = 0x7E9 + SYS___VSWPRNTF2_A = 0x7BB + SYS___WCSTOD_A = 0x7D9 + SYS___WCSTOL_A = 0x7DA + SYS___WCSTOUL_A = 0x7DB + SYS___WCTOB_A = 0x7E5 + SYS___Y0_H = 0x7F1 + SYS___Y1_H = 0x7F2 + SYS___YN_H = 0x7F3 + SYS_____OPENDIR2_A = 0x7BF + SYS_____OSNAME_A = 0x7E1 + SYS_____READDIR2_A = 0x7C0 + SYS_DLCLOSE = 0x8DF + SYS_DLERROR = 0x8E0 + SYS_DLOPEN = 0x8DD + SYS_DLSYM = 0x8DE + SYS_FLOCKFILE = 0x8D3 + SYS_FTRYLOCKFILE = 0x8D4 + SYS_FUNLOCKFILE = 0x8D5 + SYS_GETCHAR_UNLOCKED = 0x8D7 + SYS_GETC_UNLOCKED = 0x8D6 + SYS_PUTCHAR_UNLOCKED = 0x8D9 + SYS_PUTC_UNLOCKED = 0x8D8 + SYS_SNPRINTF = 0x8DA + SYS_VSNPRINTF = 0x8DB + SYS_WCSCSPN = 0x08B + SYS_WCSLEN = 0x08C + SYS_WCSNCAT = 0x08D + SYS_WCSNCMP = 0x08A + SYS_WCSNCPY = 0x08F + SYS_WCSSPN = 0x08E + SYS___ABSF_H = 0x8E7 + SYS___ABSL_H = 0x8E8 + SYS___ABS_H = 0x8E6 + SYS___ACOSF_H = 0x8EA + SYS___ACOSH_H = 0x8EC + SYS___ACOSL_H = 0x8EB + SYS___ACOS_H = 0x8E9 + SYS___ASINF_H = 0x8EE + SYS___ASINH_H = 0x8F0 + SYS___ASINL_H = 0x8EF + SYS___ASIN_H = 0x8ED + SYS___ATAN2F_H = 0x8F8 + SYS___ATAN2L_H = 0x8F9 + SYS___ATAN2_H = 0x8F7 + SYS___ATANF_H = 0x8F2 + SYS___ATANHF_H = 0x8F5 + SYS___ATANHL_H = 0x8F6 + SYS___ATANH_H = 0x8F4 + SYS___ATANL_H = 0x8F3 + SYS___ATAN_H = 0x8F1 + SYS___CBRT_H = 0x8FA + SYS___COPYSIGNF_H = 0x8FB + SYS___COPYSIGNL_H = 0x8FC + SYS___COSF_H = 0x8FE + SYS___COSL_H = 0x8FF + SYS___COS_H = 0x8FD + SYS___DLERROR_A = 0x8D2 + SYS___DLOPEN_A = 0x8D0 + SYS___DLSYM_A = 0x8D1 + SYS___GETUTXENT_A = 0x8C6 + SYS___GETUTXID_A = 0x8C7 + SYS___GETUTXLINE_A = 0x8C8 + SYS___ITOA = 0x8AA + SYS___ITOA_A = 0x8B0 + SYS___LE_CONDITION_TOKEN_BUILD = 0x8A5 + SYS___LE_MSG_ADD_INSERT = 0x8A6 + SYS___LE_MSG_GET = 0x8A7 + SYS___LE_MSG_GET_AND_WRITE = 0x8A8 + SYS___LE_MSG_WRITE = 0x8A9 + SYS___LLTOA = 0x8AE + SYS___LLTOA_A = 0x8B4 + SYS___LTOA = 0x8AC + SYS___LTOA_A = 0x8B2 + SYS___PUTCHAR_UNLOCKED_A = 0x8CC + SYS___PUTC_UNLOCKED_A = 0x8CB + SYS___PUTUTXLINE_A = 0x8C9 + SYS___RESET_EXCEPTION_HANDLER = 0x8E3 + SYS___REXEC_A = 0x8C4 + SYS___REXEC_AF_A = 0x8C5 + SYS___SET_EXCEPTION_HANDLER = 0x8E2 + SYS___SNPRINTF_A = 0x8CD + SYS___SUPERKILL = 0x8A4 + SYS___TCGETATTR_A = 0x8A1 + SYS___TCSETATTR_A = 0x8A2 + SYS___ULLTOA = 0x8AF + SYS___ULLTOA_A = 0x8B5 + SYS___ULTOA = 0x8AD + SYS___ULTOA_A = 0x8B3 + SYS___UTOA = 0x8AB + SYS___UTOA_A = 0x8B1 + SYS___VHM_EVENT = 0x8E4 + SYS___VSNPRINTF_A = 0x8CE + SYS_____GETENV_A = 0x8C3 + SYS_____UTMPXNAME_A = 0x8CA + SYS_CACOSH = 0x9A0 + SYS_CACOSHF = 0x9A3 + SYS_CACOSHL = 0x9A6 + SYS_CARG = 0x9A9 + SYS_CARGF = 0x9AC + SYS_CARGL = 0x9AF + SYS_CASIN = 0x9B2 + SYS_CASINF = 0x9B5 + SYS_CASINH = 0x9BB + SYS_CASINHF = 0x9BE + SYS_CASINHL = 0x9C1 + SYS_CASINL = 0x9B8 + SYS_CATAN = 0x9C4 + SYS_CATANF = 0x9C7 + SYS_CATANH = 0x9CD + SYS_CATANHF = 0x9D0 + SYS_CATANHL = 0x9D3 + SYS_CATANL = 0x9CA + SYS_CCOS = 0x9D6 + SYS_CCOSF = 0x9D9 + SYS_CCOSH = 0x9DF + SYS_CCOSHF = 0x9E2 + SYS_CCOSHL = 0x9E5 + SYS_CCOSL = 0x9DC + SYS_CEXP = 0x9E8 + SYS_CEXPF = 0x9EB + SYS_CEXPL = 0x9EE + SYS_CIMAG = 0x9F1 + SYS_CIMAGF = 0x9F4 + SYS_CIMAGL = 0x9F7 + SYS_CLOGF = 0x9FD + SYS_MEMCHR = 0x09B + SYS_MEMCMP = 0x09A + SYS_STRCOLL = 0x09C + SYS_STRNCMP = 0x09D + SYS_STRRCHR = 0x09F + SYS_STRXFRM = 0x09E + SYS___CACOSHF_B = 0x9A4 + SYS___CACOSHF_H = 0x9A5 + SYS___CACOSHL_B = 0x9A7 + SYS___CACOSHL_H = 0x9A8 + SYS___CACOSH_B = 0x9A1 + SYS___CACOSH_H = 0x9A2 + SYS___CARGF_B = 0x9AD + SYS___CARGF_H = 0x9AE + SYS___CARGL_B = 0x9B0 + SYS___CARGL_H = 0x9B1 + SYS___CARG_B = 0x9AA + SYS___CARG_H = 0x9AB + SYS___CASINF_B = 0x9B6 + SYS___CASINF_H = 0x9B7 + SYS___CASINHF_B = 0x9BF + SYS___CASINHF_H = 0x9C0 + SYS___CASINHL_B = 0x9C2 + SYS___CASINHL_H = 0x9C3 + SYS___CASINH_B = 0x9BC + SYS___CASINH_H = 0x9BD + SYS___CASINL_B = 0x9B9 + SYS___CASINL_H = 0x9BA + SYS___CASIN_B = 0x9B3 + SYS___CASIN_H = 0x9B4 + SYS___CATANF_B = 0x9C8 + SYS___CATANF_H = 0x9C9 + SYS___CATANHF_B = 0x9D1 + SYS___CATANHF_H = 0x9D2 + SYS___CATANHL_B = 0x9D4 + SYS___CATANHL_H = 0x9D5 + SYS___CATANH_B = 0x9CE + SYS___CATANH_H = 0x9CF + SYS___CATANL_B = 0x9CB + SYS___CATANL_H = 0x9CC + SYS___CATAN_B = 0x9C5 + SYS___CATAN_H = 0x9C6 + SYS___CCOSF_B = 0x9DA + SYS___CCOSF_H = 0x9DB + SYS___CCOSHF_B = 0x9E3 + SYS___CCOSHF_H = 0x9E4 + SYS___CCOSHL_B = 0x9E6 + SYS___CCOSHL_H = 0x9E7 + SYS___CCOSH_B = 0x9E0 + SYS___CCOSH_H = 0x9E1 + SYS___CCOSL_B = 0x9DD + SYS___CCOSL_H = 0x9DE + SYS___CCOS_B = 0x9D7 + SYS___CCOS_H = 0x9D8 + SYS___CEXPF_B = 0x9EC + SYS___CEXPF_H = 0x9ED + SYS___CEXPL_B = 0x9EF + SYS___CEXPL_H = 0x9F0 + SYS___CEXP_B = 0x9E9 + SYS___CEXP_H = 0x9EA + SYS___CIMAGF_B = 0x9F5 + SYS___CIMAGF_H = 0x9F6 + SYS___CIMAGL_B = 0x9F8 + SYS___CIMAGL_H = 0x9F9 + SYS___CIMAG_B = 0x9F2 + SYS___CIMAG_H = 0x9F3 + SYS___CLOG = 0x9FA + SYS___CLOGF_B = 0x9FE + SYS___CLOGF_H = 0x9FF + SYS___CLOG_B = 0x9FB + SYS___CLOG_H = 0x9FC + SYS_ISWCTYPE = 0x10C + SYS_ISWXDIGI = 0x10A + SYS_ISWXDIGIT = 0x10A + SYS_MBSINIT = 0x10F + SYS_TOWLOWER = 0x10D + SYS_TOWUPPER = 0x10E + SYS_WCTYPE = 0x10B + SYS_WCSSTR = 0x11B + SYS___RPMTCH = 0x11A + SYS_WCSTOD = 0x12E + SYS_WCSTOK = 0x12C + SYS_WCSTOL = 0x12D + SYS_WCSTOUL = 0x12F + SYS_FGETWC = 0x13C + SYS_FGETWS = 0x13D + SYS_FPUTWC = 0x13E + SYS_FPUTWS = 0x13F + SYS_REGERROR = 0x13B + SYS_REGFREE = 0x13A + SYS_COLLEQUIV = 0x14F + SYS_COLLTOSTR = 0x14E + SYS_ISMCCOLLEL = 0x14C + SYS_STRTOCOLL = 0x14D + SYS_DLLFREE = 0x16F + SYS_DLLQUERYFN = 0x16D + SYS_DLLQUERYVAR = 0x16E + SYS_GETMCCOLL = 0x16A + SYS_GETWMCCOLL = 0x16B + SYS___ERR2AD = 0x16C + SYS_CFSETOSPEED = 0x17A + SYS_CHDIR = 0x17B + SYS_CHMOD = 0x17C + SYS_CHOWN = 0x17D + SYS_CLOSE = 0x17E + SYS_CLOSEDIR = 0x17F + SYS_LOG = 0x017 + SYS_COSH = 0x018 + SYS_FCHMOD = 0x18A + SYS_FCHOWN = 0x18B + SYS_FCNTL = 0x18C + SYS_FILENO = 0x18D + SYS_FORK = 0x18E + SYS_FPATHCONF = 0x18F + SYS_GETLOGIN = 0x19A + SYS_GETPGRP = 0x19C + SYS_GETPID = 0x19D + SYS_GETPPID = 0x19E + SYS_GETPWNAM = 0x19F + SYS_TANH = 0x019 + SYS_W_GETMNTENT = 0x19B + SYS_POW = 0x020 + SYS_PTHREAD_SELF = 0x20A + SYS_PTHREAD_SETINTR = 0x20B + SYS_PTHREAD_SETINTRTYPE = 0x20C + SYS_PTHREAD_SETSPECIFIC = 0x20D + SYS_PTHREAD_TESTINTR = 0x20E + SYS_PTHREAD_YIELD = 0x20F + SYS_SQRT = 0x021 + SYS_FLOOR = 0x022 + SYS_J1 = 0x023 + SYS_WCSPBRK = 0x23F + SYS_BSEARCH = 0x24C + SYS_FABS = 0x024 + SYS_GETENV = 0x24A + SYS_LDIV = 0x24D + SYS_SYSTEM = 0x24B + SYS_FMOD = 0x025 + SYS___RETHROW = 0x25F + SYS___THROW = 0x25E + SYS_J0 = 0x026 + SYS_PUTENV = 0x26A + SYS___GETENV = 0x26F + SYS_SEMCTL = 0x27A + SYS_SEMGET = 0x27B + SYS_SEMOP = 0x27C + SYS_SHMAT = 0x27D + SYS_SHMCTL = 0x27E + SYS_SHMDT = 0x27F + SYS_YN = 0x027 + SYS_JN = 0x028 + SYS_SIGALTSTACK = 0x28A + SYS_SIGHOLD = 0x28B + SYS_SIGIGNORE = 0x28C + SYS_SIGINTERRUPT = 0x28D + SYS_SIGPAUSE = 0x28E + SYS_SIGRELSE = 0x28F + SYS_GETOPT = 0x29A + SYS_GETSUBOPT = 0x29D + SYS_LCHOWN = 0x29B + SYS_SETPGRP = 0x29E + SYS_TRUNCATE = 0x29C + SYS_Y0 = 0x029 + SYS___GDERR = 0x29F + SYS_ISALPHA = 0x030 + SYS_VFORK = 0x30F + SYS__LONGJMP = 0x30D + SYS__SETJMP = 0x30E + SYS_GLOB = 0x31A + SYS_GLOBFREE = 0x31B + SYS_ISALNUM = 0x031 + SYS_PUTW = 0x31C + SYS_SEEKDIR = 0x31D + SYS_TELLDIR = 0x31E + SYS_TEMPNAM = 0x31F + SYS_GETTIMEOFDAY_R = 0x32E + SYS_ISLOWER = 0x032 + SYS_LGAMMA = 0x32C + SYS_REMAINDER = 0x32A + SYS_SCALB = 0x32B + SYS_SYNC = 0x32F + SYS_TTYSLOT = 0x32D + SYS_ENDPROTOENT = 0x33A + SYS_ENDSERVENT = 0x33B + SYS_GETHOSTBYADDR = 0x33D + SYS_GETHOSTBYADDR_R = 0x33C + SYS_GETHOSTBYNAME = 0x33F + SYS_GETHOSTBYNAME_R = 0x33E + SYS_ISCNTRL = 0x033 + SYS_GETSERVBYNAME = 0x34A + SYS_GETSERVBYPORT = 0x34B + SYS_GETSERVENT = 0x34C + SYS_GETSOCKNAME = 0x34D + SYS_GETSOCKOPT = 0x34E + SYS_INET_ADDR = 0x34F + SYS_ISDIGIT = 0x034 + SYS_ISGRAPH = 0x035 + SYS_SELECT = 0x35B + SYS_SELECTEX = 0x35C + SYS_SEND = 0x35D + SYS_SENDTO = 0x35F + SYS_CHROOT = 0x36A + SYS_ISNAN = 0x36D + SYS_ISUPPER = 0x036 + SYS_ULIMIT = 0x36C + SYS_UTIMES = 0x36E + SYS_W_STATVFS = 0x36B + SYS___H_ERRNO = 0x36F + SYS_GRANTPT = 0x37A + SYS_ISPRINT = 0x037 + SYS_TCGETSID = 0x37C + SYS_UNLOCKPT = 0x37B + SYS___TCGETCP = 0x37D + SYS___TCSETCP = 0x37E + SYS___TCSETTABLES = 0x37F + SYS_ISPUNCT = 0x038 + SYS_NLIST = 0x38C + SYS___IPDBCS = 0x38D + SYS___IPDSPX = 0x38E + SYS___IPMSGC = 0x38F + SYS___STHOSTENT = 0x38B + SYS___STSERVENT = 0x38A + SYS_ISSPACE = 0x039 + SYS_COS = 0x040 + SYS_T_ALLOC = 0x40A + SYS_T_BIND = 0x40B + SYS_T_CLOSE = 0x40C + SYS_T_CONNECT = 0x40D + SYS_T_ERROR = 0x40E + SYS_T_FREE = 0x40F + SYS_TAN = 0x041 + SYS_T_RCVREL = 0x41A + SYS_T_RCVUDATA = 0x41B + SYS_T_RCVUDERR = 0x41C + SYS_T_SND = 0x41D + SYS_T_SNDDIS = 0x41E + SYS_T_SNDREL = 0x41F + SYS_GETPMSG = 0x42A + SYS_ISASTREAM = 0x42B + SYS_PUTMSG = 0x42C + SYS_PUTPMSG = 0x42D + SYS_SINH = 0x042 + SYS___ISPOSIXON = 0x42E + SYS___OPENMVSREL = 0x42F + SYS_ACOS = 0x043 + SYS_ATAN = 0x044 + SYS_ATAN2 = 0x045 + SYS_FTELL = 0x046 + SYS_FGETPOS = 0x047 + SYS_SOCK_DEBUG = 0x47A + SYS_SOCK_DO_TESTSTOR = 0x47D + SYS_TAKESOCKET = 0x47E + SYS___SERVER_INIT = 0x47F + SYS_FSEEK = 0x048 + SYS___IPHOST = 0x48B + SYS___IPNODE = 0x48C + SYS___SERVER_CLASSIFY_CREATE = 0x48D + SYS___SERVER_CLASSIFY_DESTROY = 0x48E + SYS___SERVER_CLASSIFY_RESET = 0x48F + SYS___SMF_RECORD = 0x48A + SYS_FSETPOS = 0x049 + SYS___FNWSA = 0x49B + SYS___SPAWN2 = 0x49D + SYS___SPAWNP2 = 0x49E + SYS_ATOF = 0x050 + SYS_PTHREAD_MUTEXATTR_GETPSHARED = 0x50A + SYS_PTHREAD_MUTEXATTR_SETPSHARED = 0x50B + SYS_PTHREAD_RWLOCK_DESTROY = 0x50C + SYS_PTHREAD_RWLOCK_INIT = 0x50D + SYS_PTHREAD_RWLOCK_RDLOCK = 0x50E + SYS_PTHREAD_RWLOCK_TRYRDLOCK = 0x50F + SYS_ATOI = 0x051 + SYS___FP_CLASS = 0x51D + SYS___FP_CLR_FLAG = 0x51A + SYS___FP_FINITE = 0x51E + SYS___FP_ISNAN = 0x51F + SYS___FP_RAISE_XCP = 0x51C + SYS___FP_READ_FLAG = 0x51B + SYS_RAND = 0x052 + SYS_SIGTIMEDWAIT = 0x52D + SYS_SIGWAITINFO = 0x52E + SYS___CHKBFP = 0x52F + SYS___FPC_RS = 0x52C + SYS___FPC_RW = 0x52A + SYS___FPC_SM = 0x52B + SYS_STRTOD = 0x053 + SYS_STRTOL = 0x054 + SYS_STRTOUL = 0x055 + SYS_MALLOC = 0x056 + SYS_SRAND = 0x057 + SYS_CALLOC = 0x058 + SYS_FREE = 0x059 + SYS___OSENV = 0x59F + SYS___W_PIOCTL = 0x59E + SYS_LONGJMP = 0x060 + SYS___FLOORF_B = 0x60A + SYS___FLOORL_B = 0x60B + SYS___FREXPF_B = 0x60C + SYS___FREXPL_B = 0x60D + SYS___LDEXPF_B = 0x60E + SYS___LDEXPL_B = 0x60F + SYS_SIGNAL = 0x061 + SYS___ATAN2F_B = 0x61A + SYS___ATAN2L_B = 0x61B + SYS___COSHF_B = 0x61C + SYS___COSHL_B = 0x61D + SYS___EXPF_B = 0x61E + SYS___EXPL_B = 0x61F + SYS_TMPNAM = 0x062 + SYS___ABSF_B = 0x62A + SYS___ABSL_B = 0x62C + SYS___ABS_B = 0x62B + SYS___FMODF_B = 0x62D + SYS___FMODL_B = 0x62E + SYS___MODFF_B = 0x62F + SYS_ATANL = 0x63A + SYS_CEILF = 0x63B + SYS_CEILL = 0x63C + SYS_COSF = 0x63D + SYS_COSHF = 0x63F + SYS_COSL = 0x63E + SYS_REMOVE = 0x063 + SYS_POWL = 0x64A + SYS_RENAME = 0x064 + SYS_SINF = 0x64B + SYS_SINHF = 0x64F + SYS_SINL = 0x64C + SYS_SQRTF = 0x64D + SYS_SQRTL = 0x64E + SYS_BTOWC = 0x65F + SYS_FREXPL = 0x65A + SYS_LDEXPF = 0x65B + SYS_LDEXPL = 0x65C + SYS_MODFF = 0x65D + SYS_MODFL = 0x65E + SYS_TMPFILE = 0x065 + SYS_FREOPEN = 0x066 + SYS___CHARMAP_INIT_A = 0x66E + SYS___GETHOSTBYADDR_R_A = 0x66C + SYS___GETHOSTBYNAME_A = 0x66A + SYS___GETHOSTBYNAME_R_A = 0x66D + SYS___MBLEN_A = 0x66F + SYS___RES_INIT_A = 0x66B + SYS_FCLOSE = 0x067 + SYS___GETGRGID_R_A = 0x67D + SYS___WCSTOMBS_A = 0x67A + SYS___WCSTOMBS_STD_A = 0x67B + SYS___WCSWIDTH_A = 0x67C + SYS___WCSWIDTH_ASIA = 0x67F + SYS___WCSWIDTH_STD_A = 0x67E + SYS_FFLUSH = 0x068 + SYS___GETLOGIN_R_A = 0x68E + SYS___GETPWNAM_R_A = 0x68C + SYS___GETPWUID_R_A = 0x68D + SYS___TTYNAME_R_A = 0x68F + SYS___WCWIDTH_ASIA = 0x68B + SYS___WCWIDTH_STD_A = 0x68A + SYS_FOPEN = 0x069 + SYS___REGEXEC_A = 0x69A + SYS___REGEXEC_STD_A = 0x69B + SYS___REGFREE_A = 0x69C + SYS___REGFREE_STD_A = 0x69D + SYS___STRCOLL_A = 0x69E + SYS___STRCOLL_C_A = 0x69F + SYS_SCANF = 0x070 + SYS___A64L_A = 0x70C + SYS___ECVT_A = 0x70D + SYS___FCVT_A = 0x70E + SYS___GCVT_A = 0x70F + SYS___STRTOUL_A = 0x70A + SYS_____AE_CORRESTBL_QUERY_A = 0x70B + SYS_SPRINTF = 0x071 + SYS___ACCESS_A = 0x71F + SYS___CATOPEN_A = 0x71E + SYS___GETOPT_A = 0x71D + SYS___REALPATH_A = 0x71A + SYS___SETENV_A = 0x71B + SYS___SYSTEM_A = 0x71C + SYS_FGETC = 0x072 + SYS___GAI_STRERROR_A = 0x72F + SYS___RMDIR_A = 0x72A + SYS___STATVFS_A = 0x72B + SYS___SYMLINK_A = 0x72C + SYS___TRUNCATE_A = 0x72D + SYS___UNLINK_A = 0x72E + SYS_VFPRINTF = 0x073 + SYS___ISSPACE_A = 0x73A + SYS___ISUPPER_A = 0x73B + SYS___ISWALNUM_A = 0x73F + SYS___ISXDIGIT_A = 0x73C + SYS___TOLOWER_A = 0x73D + SYS___TOUPPER_A = 0x73E + SYS_VPRINTF = 0x074 + SYS___CONFSTR_A = 0x74B + SYS___FDOPEN_A = 0x74E + SYS___FLDATA_A = 0x74F + SYS___FTOK_A = 0x74C + SYS___ISWXDIGIT_A = 0x74A + SYS___MKTEMP_A = 0x74D + SYS_VSPRINTF = 0x075 + SYS___GETGRGID_A = 0x75A + SYS___GETGRNAM_A = 0x75B + SYS___GETGROUPSBYNAME_A = 0x75C + SYS___GETHOSTENT_A = 0x75D + SYS___GETHOSTNAME_A = 0x75E + SYS___GETLOGIN_A = 0x75F + SYS_GETC = 0x076 + SYS___CREATEWORKUNIT_A = 0x76A + SYS___CTERMID_A = 0x76B + SYS___FMTMSG_A = 0x76C + SYS___INITGROUPS_A = 0x76D + SYS___MSGRCV_A = 0x76F + SYS_____LOGIN_A = 0x76E + SYS_FGETS = 0x077 + SYS___STRCASECMP_A = 0x77B + SYS___STRNCASECMP_A = 0x77C + SYS___TTYNAME_A = 0x77D + SYS___UNAME_A = 0x77E + SYS___UTIMES_A = 0x77F + SYS_____SERVER_PWU_A = 0x77A + SYS_FPUTC = 0x078 + SYS___CREAT_O_A = 0x78E + SYS___ENVNA = 0x78F + SYS___FREAD_A = 0x78A + SYS___FWRITE_A = 0x78B + SYS___ISASCII = 0x78D + SYS___OPEN_O_A = 0x78C + SYS_FPUTS = 0x079 + SYS___ASCTIME_A = 0x79C + SYS___CTIME_A = 0x79D + SYS___GETDATE_A = 0x79E + SYS___GETSERVBYPORT_A = 0x79A + SYS___GETSERVENT_A = 0x79B + SYS___TZSET_A = 0x79F + SYS_ACL_FROM_TEXT = 0x80C + SYS_ACL_SET_FD = 0x80A + SYS_ACL_SET_FILE = 0x80B + SYS_ACL_SORT = 0x80E + SYS_ACL_TO_TEXT = 0x80D + SYS_UNGETC = 0x080 + SYS___SHUTDOWN_REGISTRATION = 0x80F + SYS_FREAD = 0x081 + SYS_FREEADDRINFO = 0x81A + SYS_GAI_STRERROR = 0x81B + SYS_REXEC_AF = 0x81C + SYS___DYNALLOC_A = 0x81F + SYS___POE = 0x81D + SYS_WCSTOMBS = 0x082 + SYS___INET_ADDR_A = 0x82F + SYS___NLIST_A = 0x82A + SYS_____TCGETCP_A = 0x82B + SYS_____TCSETCP_A = 0x82C + SYS_____W_PIOCTL_A = 0x82E + SYS_MBTOWC = 0x083 + SYS___CABEND = 0x83D + SYS___LE_CIB_GET = 0x83E + SYS___RECVMSG_A = 0x83B + SYS___SENDMSG_A = 0x83A + SYS___SET_LAA_FOR_JIT = 0x83F + SYS_____LCHATTR_A = 0x83C + SYS_WCTOMB = 0x084 + SYS___CBRTL_B = 0x84A + SYS___COPYSIGNF_B = 0x84B + SYS___COPYSIGNL_B = 0x84C + SYS___COTANF_B = 0x84D + SYS___COTANL_B = 0x84F + SYS___COTAN_B = 0x84E + SYS_MBSTOWCS = 0x085 + SYS___LOG1PL_B = 0x85A + SYS___LOG2F_B = 0x85B + SYS___LOG2L_B = 0x85D + SYS___LOG2_B = 0x85C + SYS___REMAINDERF_B = 0x85E + SYS___REMAINDERL_B = 0x85F + SYS_ACOSHF = 0x86E + SYS_ACOSHL = 0x86F + SYS_WCSCPY = 0x086 + SYS___ERFCF_B = 0x86D + SYS___ERFF_B = 0x86C + SYS___LROUNDF_B = 0x86A + SYS___LROUND_B = 0x86B + SYS_COTANL = 0x87A + SYS_EXP2F = 0x87B + SYS_EXP2L = 0x87C + SYS_EXPM1F = 0x87D + SYS_EXPM1L = 0x87E + SYS_FDIMF = 0x87F + SYS_WCSCAT = 0x087 + SYS___COTANL = 0x87A + SYS_REMAINDERF = 0x88A + SYS_REMAINDERL = 0x88B + SYS_REMAINDF = 0x88A + SYS_REMAINDL = 0x88B + SYS_REMQUO = 0x88D + SYS_REMQUOF = 0x88C + SYS_REMQUOL = 0x88E + SYS_TGAMMAF = 0x88F + SYS_WCSCHR = 0x088 + SYS_ERFCF = 0x89B + SYS_ERFCL = 0x89C + SYS_ERFL = 0x89A + SYS_EXP2 = 0x89E + SYS_WCSCMP = 0x089 + SYS___EXP2_B = 0x89D + SYS___FAR_JUMP = 0x89F + SYS_ABS = 0x090 + SYS___ERFCL_H = 0x90A + SYS___EXPF_H = 0x90C + SYS___EXPL_H = 0x90D + SYS___EXPM1_H = 0x90E + SYS___EXP_H = 0x90B + SYS___FDIM_H = 0x90F + SYS_DIV = 0x091 + SYS___LOG2F_H = 0x91F + SYS___LOG2_H = 0x91E + SYS___LOGB_H = 0x91D + SYS___LOGF_H = 0x91B + SYS___LOGL_H = 0x91C + SYS___LOG_H = 0x91A + SYS_LABS = 0x092 + SYS___POWL_H = 0x92A + SYS___REMAINDER_H = 0x92B + SYS___RINT_H = 0x92C + SYS___SCALB_H = 0x92D + SYS___SINF_H = 0x92F + SYS___SIN_H = 0x92E + SYS_STRNCPY = 0x093 + SYS___TANHF_H = 0x93B + SYS___TANHL_H = 0x93C + SYS___TANH_H = 0x93A + SYS___TGAMMAF_H = 0x93E + SYS___TGAMMA_H = 0x93D + SYS___TRUNC_H = 0x93F + SYS_MEMCPY = 0x094 + SYS_VFWSCANF = 0x94A + SYS_VSWSCANF = 0x94E + SYS_VWSCANF = 0x94C + SYS_INET6_RTH_ADD = 0x95D + SYS_INET6_RTH_INIT = 0x95C + SYS_INET6_RTH_REVERSE = 0x95E + SYS_INET6_RTH_SEGMENTS = 0x95F + SYS_INET6_RTH_SPACE = 0x95B + SYS_MEMMOVE = 0x095 + SYS_WCSTOLD = 0x95A + SYS_STRCPY = 0x096 + SYS_STRCMP = 0x097 + SYS_CABS = 0x98E + SYS_STRCAT = 0x098 + SYS___CABS_B = 0x98F + SYS___POW_II = 0x98A + SYS___POW_II_B = 0x98B + SYS___POW_II_H = 0x98C + SYS_CACOSF = 0x99A + SYS_CACOSL = 0x99D + SYS_STRNCAT = 0x099 + SYS___CACOSF_B = 0x99B + SYS___CACOSF_H = 0x99C + SYS___CACOSL_B = 0x99E + SYS___CACOSL_H = 0x99F + SYS_ISWALPHA = 0x100 + SYS_ISWBLANK = 0x101 + SYS___ISWBLK = 0x101 + SYS_ISWCNTRL = 0x102 + SYS_ISWDIGIT = 0x103 + SYS_ISWGRAPH = 0x104 + SYS_ISWLOWER = 0x105 + SYS_ISWPRINT = 0x106 + SYS_ISWPUNCT = 0x107 + SYS_ISWSPACE = 0x108 + SYS_ISWUPPER = 0x109 + SYS_WCTOB = 0x110 + SYS_MBRLEN = 0x111 + SYS_MBRTOWC = 0x112 + SYS_MBSRTOWC = 0x113 + SYS_MBSRTOWCS = 0x113 + SYS_WCRTOMB = 0x114 + SYS_WCSRTOMB = 0x115 + SYS_WCSRTOMBS = 0x115 + SYS___CSID = 0x116 + SYS___WCSID = 0x117 + SYS_STRPTIME = 0x118 + SYS___STRPTM = 0x118 + SYS_STRFMON = 0x119 + SYS_WCSCOLL = 0x130 + SYS_WCSXFRM = 0x131 + SYS_WCSWIDTH = 0x132 + SYS_WCWIDTH = 0x133 + SYS_WCSFTIME = 0x134 + SYS_SWPRINTF = 0x135 + SYS_VSWPRINT = 0x136 + SYS_VSWPRINTF = 0x136 + SYS_SWSCANF = 0x137 + SYS_REGCOMP = 0x138 + SYS_REGEXEC = 0x139 + SYS_GETWC = 0x140 + SYS_GETWCHAR = 0x141 + SYS_PUTWC = 0x142 + SYS_PUTWCHAR = 0x143 + SYS_UNGETWC = 0x144 + SYS_ICONV_OPEN = 0x145 + SYS_ICONV = 0x146 + SYS_ICONV_CLOSE = 0x147 + SYS_COLLRANGE = 0x150 + SYS_CCLASS = 0x151 + SYS_COLLORDER = 0x152 + SYS___DEMANGLE = 0x154 + SYS_FDOPEN = 0x155 + SYS___ERRNO = 0x156 + SYS___ERRNO2 = 0x157 + SYS___TERROR = 0x158 + SYS_MAXCOLL = 0x169 + SYS_DLLLOAD = 0x170 + SYS__EXIT = 0x174 + SYS_ACCESS = 0x175 + SYS_ALARM = 0x176 + SYS_CFGETISPEED = 0x177 + SYS_CFGETOSPEED = 0x178 + SYS_CFSETISPEED = 0x179 + SYS_CREAT = 0x180 + SYS_CTERMID = 0x181 + SYS_DUP = 0x182 + SYS_DUP2 = 0x183 + SYS_EXECL = 0x184 + SYS_EXECLE = 0x185 + SYS_EXECLP = 0x186 + SYS_EXECV = 0x187 + SYS_EXECVE = 0x188 + SYS_EXECVP = 0x189 + SYS_FSTAT = 0x190 + SYS_FSYNC = 0x191 + SYS_FTRUNCATE = 0x192 + SYS_GETCWD = 0x193 + SYS_GETEGID = 0x194 + SYS_GETEUID = 0x195 + SYS_GETGID = 0x196 + SYS_GETGRGID = 0x197 + SYS_GETGRNAM = 0x198 + SYS_GETGROUPS = 0x199 + SYS_PTHREAD_MUTEXATTR_DESTROY = 0x200 + SYS_PTHREAD_MUTEXATTR_SETKIND_NP = 0x201 + SYS_PTHREAD_MUTEXATTR_GETKIND_NP = 0x202 + SYS_PTHREAD_MUTEX_INIT = 0x203 + SYS_PTHREAD_MUTEX_DESTROY = 0x204 + SYS_PTHREAD_MUTEX_LOCK = 0x205 + SYS_PTHREAD_MUTEX_TRYLOCK = 0x206 + SYS_PTHREAD_MUTEX_UNLOCK = 0x207 + SYS_PTHREAD_ONCE = 0x209 + SYS_TW_OPEN = 0x210 + SYS_TW_FCNTL = 0x211 + SYS_PTHREAD_JOIN_D4_NP = 0x212 + SYS_PTHREAD_CONDATTR_SETKIND_NP = 0x213 + SYS_PTHREAD_CONDATTR_GETKIND_NP = 0x214 + SYS_EXTLINK_NP = 0x215 + SYS___PASSWD = 0x216 + SYS_SETGROUPS = 0x217 + SYS_INITGROUPS = 0x218 + SYS_WCSRCHR = 0x240 + SYS_SVC99 = 0x241 + SYS___SVC99 = 0x241 + SYS_WCSWCS = 0x242 + SYS_LOCALECO = 0x243 + SYS_LOCALECONV = 0x243 + SYS___LIBREL = 0x244 + SYS_RELEASE = 0x245 + SYS___RLSE = 0x245 + SYS_FLOCATE = 0x246 + SYS___FLOCT = 0x246 + SYS_FDELREC = 0x247 + SYS___FDLREC = 0x247 + SYS_FETCH = 0x248 + SYS___FETCH = 0x248 + SYS_QSORT = 0x249 + SYS___CLEANUPCATCH = 0x260 + SYS___CATCHMATCH = 0x261 + SYS___CLEAN2UPCATCH = 0x262 + SYS_GETPRIORITY = 0x270 + SYS_NICE = 0x271 + SYS_SETPRIORITY = 0x272 + SYS_GETITIMER = 0x273 + SYS_SETITIMER = 0x274 + SYS_MSGCTL = 0x275 + SYS_MSGGET = 0x276 + SYS_MSGRCV = 0x277 + SYS_MSGSND = 0x278 + SYS_MSGXRCV = 0x279 + SYS___MSGXR = 0x279 + SYS_SHMGET = 0x280 + SYS___GETIPC = 0x281 + SYS_SETGRENT = 0x282 + SYS_GETGRENT = 0x283 + SYS_ENDGRENT = 0x284 + SYS_SETPWENT = 0x285 + SYS_GETPWENT = 0x286 + SYS_ENDPWENT = 0x287 + SYS_BSD_SIGNAL = 0x288 + SYS_KILLPG = 0x289 + SYS_SIGSET = 0x290 + SYS_SIGSTACK = 0x291 + SYS_GETRLIMIT = 0x292 + SYS_SETRLIMIT = 0x293 + SYS_GETRUSAGE = 0x294 + SYS_MMAP = 0x295 + SYS_MPROTECT = 0x296 + SYS_MSYNC = 0x297 + SYS_MUNMAP = 0x298 + SYS_CONFSTR = 0x299 + SYS___NDMTRM = 0x300 + SYS_FTOK = 0x301 + SYS_BASENAME = 0x302 + SYS_DIRNAME = 0x303 + SYS_GETDTABLESIZE = 0x304 + SYS_MKSTEMP = 0x305 + SYS_MKTEMP = 0x306 + SYS_NFTW = 0x307 + SYS_GETWD = 0x308 + SYS_LOCKF = 0x309 + SYS_WORDEXP = 0x310 + SYS_WORDFREE = 0x311 + SYS_GETPGID = 0x312 + SYS_GETSID = 0x313 + SYS___UTMPXNAME = 0x314 + SYS_CUSERID = 0x315 + SYS_GETPASS = 0x316 + SYS_FNMATCH = 0x317 + SYS_FTW = 0x318 + SYS_GETW = 0x319 + SYS_ACOSH = 0x320 + SYS_ASINH = 0x321 + SYS_ATANH = 0x322 + SYS_CBRT = 0x323 + SYS_EXPM1 = 0x324 + SYS_ILOGB = 0x325 + SYS_LOGB = 0x326 + SYS_LOG1P = 0x327 + SYS_NEXTAFTER = 0x328 + SYS_RINT = 0x329 + SYS_SPAWN = 0x330 + SYS_SPAWNP = 0x331 + SYS_GETLOGIN_UU = 0x332 + SYS_ECVT = 0x333 + SYS_FCVT = 0x334 + SYS_GCVT = 0x335 + SYS_ACCEPT = 0x336 + SYS_BIND = 0x337 + SYS_CONNECT = 0x338 + SYS_ENDHOSTENT = 0x339 + SYS_GETHOSTENT = 0x340 + SYS_GETHOSTID = 0x341 + SYS_GETHOSTNAME = 0x342 + SYS_GETNETBYADDR = 0x343 + SYS_GETNETBYNAME = 0x344 + SYS_GETNETENT = 0x345 + SYS_GETPEERNAME = 0x346 + SYS_GETPROTOBYNAME = 0x347 + SYS_GETPROTOBYNUMBER = 0x348 + SYS_GETPROTOENT = 0x349 + SYS_INET_LNAOF = 0x350 + SYS_INET_MAKEADDR = 0x351 + SYS_INET_NETOF = 0x352 + SYS_INET_NETWORK = 0x353 + SYS_INET_NTOA = 0x354 + SYS_IOCTL = 0x355 + SYS_LISTEN = 0x356 + SYS_READV = 0x357 + SYS_RECV = 0x358 + SYS_RECVFROM = 0x359 + SYS_SETHOSTENT = 0x360 + SYS_SETNETENT = 0x361 + SYS_SETPEER = 0x362 + SYS_SETPROTOENT = 0x363 + SYS_SETSERVENT = 0x364 + SYS_SETSOCKOPT = 0x365 + SYS_SHUTDOWN = 0x366 + SYS_SOCKET = 0x367 + SYS_SOCKETPAIR = 0x368 + SYS_WRITEV = 0x369 + SYS_ENDNETENT = 0x370 + SYS_CLOSELOG = 0x371 + SYS_OPENLOG = 0x372 + SYS_SETLOGMASK = 0x373 + SYS_SYSLOG = 0x374 + SYS_PTSNAME = 0x375 + SYS_SETREUID = 0x376 + SYS_SETREGID = 0x377 + SYS_REALPATH = 0x378 + SYS___SIGNGAM = 0x379 + SYS_POLL = 0x380 + SYS_REXEC = 0x381 + SYS___ISASCII2 = 0x382 + SYS___TOASCII2 = 0x383 + SYS_CHPRIORITY = 0x384 + SYS_PTHREAD_ATTR_SETSYNCTYPE_NP = 0x385 + SYS_PTHREAD_ATTR_GETSYNCTYPE_NP = 0x386 + SYS_PTHREAD_SET_LIMIT_NP = 0x387 + SYS___STNETENT = 0x388 + SYS___STPROTOENT = 0x389 + SYS___SELECT1 = 0x390 + SYS_PTHREAD_SECURITY_NP = 0x391 + SYS___CHECK_RESOURCE_AUTH_NP = 0x392 + SYS___CONVERT_ID_NP = 0x393 + SYS___OPENVMREL = 0x394 + SYS_WMEMCHR = 0x395 + SYS_WMEMCMP = 0x396 + SYS_WMEMCPY = 0x397 + SYS_WMEMMOVE = 0x398 + SYS_WMEMSET = 0x399 + SYS___FPUTWC = 0x400 + SYS___PUTWC = 0x401 + SYS___PWCHAR = 0x402 + SYS___WCSFTM = 0x403 + SYS___WCSTOK = 0x404 + SYS___WCWDTH = 0x405 + SYS_T_ACCEPT = 0x409 + SYS_T_GETINFO = 0x410 + SYS_T_GETPROTADDR = 0x411 + SYS_T_GETSTATE = 0x412 + SYS_T_LISTEN = 0x413 + SYS_T_LOOK = 0x414 + SYS_T_OPEN = 0x415 + SYS_T_OPTMGMT = 0x416 + SYS_T_RCV = 0x417 + SYS_T_RCVCONNECT = 0x418 + SYS_T_RCVDIS = 0x419 + SYS_T_SNDUDATA = 0x420 + SYS_T_STRERROR = 0x421 + SYS_T_SYNC = 0x422 + SYS_T_UNBIND = 0x423 + SYS___T_ERRNO = 0x424 + SYS___RECVMSG2 = 0x425 + SYS___SENDMSG2 = 0x426 + SYS_FATTACH = 0x427 + SYS_FDETACH = 0x428 + SYS_GETMSG = 0x429 + SYS_GETCONTEXT = 0x430 + SYS_SETCONTEXT = 0x431 + SYS_MAKECONTEXT = 0x432 + SYS_SWAPCONTEXT = 0x433 + SYS_PTHREAD_GETSPECIFIC_D8_NP = 0x434 + SYS_GETCLIENTID = 0x470 + SYS___GETCLIENTID = 0x471 + SYS_GETSTABLESIZE = 0x472 + SYS_GETIBMOPT = 0x473 + SYS_GETIBMSOCKOPT = 0x474 + SYS_GIVESOCKET = 0x475 + SYS_IBMSFLUSH = 0x476 + SYS_MAXDESC = 0x477 + SYS_SETIBMOPT = 0x478 + SYS_SETIBMSOCKOPT = 0x479 + SYS___SERVER_PWU = 0x480 + SYS_PTHREAD_TAG_NP = 0x481 + SYS___CONSOLE = 0x482 + SYS___WSINIT = 0x483 + SYS___IPTCPN = 0x489 + SYS___SERVER_CLASSIFY = 0x490 + SYS___HEAPRPT = 0x496 + SYS___ISBFP = 0x500 + SYS___FP_CAST = 0x501 + SYS___CERTIFICATE = 0x502 + SYS_SEND_FILE = 0x503 + SYS_AIO_CANCEL = 0x504 + SYS_AIO_ERROR = 0x505 + SYS_AIO_READ = 0x506 + SYS_AIO_RETURN = 0x507 + SYS_AIO_SUSPEND = 0x508 + SYS_AIO_WRITE = 0x509 + SYS_PTHREAD_RWLOCK_TRYWRLOCK = 0x510 + SYS_PTHREAD_RWLOCK_UNLOCK = 0x511 + SYS_PTHREAD_RWLOCK_WRLOCK = 0x512 + SYS_PTHREAD_RWLOCKATTR_GETPSHARED = 0x513 + SYS_PTHREAD_RWLOCKATTR_SETPSHARED = 0x514 + SYS_PTHREAD_RWLOCKATTR_INIT = 0x515 + SYS_PTHREAD_RWLOCKATTR_DESTROY = 0x516 + SYS___CTTBL = 0x517 + SYS_PTHREAD_MUTEXATTR_SETTYPE = 0x518 + SYS_PTHREAD_MUTEXATTR_GETTYPE = 0x519 + SYS___FP_UNORDERED = 0x520 + SYS___FP_READ_RND = 0x521 + SYS___FP_READ_RND_B = 0x522 + SYS___FP_SWAP_RND = 0x523 + SYS___FP_SWAP_RND_B = 0x524 + SYS___FP_LEVEL = 0x525 + SYS___FP_BTOH = 0x526 + SYS___FP_HTOB = 0x527 + SYS___FPC_RD = 0x528 + SYS___FPC_WR = 0x529 + SYS_PTHREAD_SETCANCELTYPE = 0x600 + SYS_PTHREAD_TESTCANCEL = 0x601 + SYS___ATANF_B = 0x602 + SYS___ATANL_B = 0x603 + SYS___CEILF_B = 0x604 + SYS___CEILL_B = 0x605 + SYS___COSF_B = 0x606 + SYS___COSL_B = 0x607 + SYS___FABSF_B = 0x608 + SYS___FABSL_B = 0x609 + SYS___SINF_B = 0x610 + SYS___SINL_B = 0x611 + SYS___TANF_B = 0x612 + SYS___TANL_B = 0x613 + SYS___TANHF_B = 0x614 + SYS___TANHL_B = 0x615 + SYS___ACOSF_B = 0x616 + SYS___ACOSL_B = 0x617 + SYS___ASINF_B = 0x618 + SYS___ASINL_B = 0x619 + SYS___LOGF_B = 0x620 + SYS___LOGL_B = 0x621 + SYS___LOG10F_B = 0x622 + SYS___LOG10L_B = 0x623 + SYS___POWF_B = 0x624 + SYS___POWL_B = 0x625 + SYS___SINHF_B = 0x626 + SYS___SINHL_B = 0x627 + SYS___SQRTF_B = 0x628 + SYS___SQRTL_B = 0x629 + SYS___MODFL_B = 0x630 + SYS_ABSF = 0x631 + SYS_ABSL = 0x632 + SYS_ACOSF = 0x633 + SYS_ACOSL = 0x634 + SYS_ASINF = 0x635 + SYS_ASINL = 0x636 + SYS_ATAN2F = 0x637 + SYS_ATAN2L = 0x638 + SYS_ATANF = 0x639 + SYS_COSHL = 0x640 + SYS_EXPF = 0x641 + SYS_EXPL = 0x642 + SYS_TANHF = 0x643 + SYS_TANHL = 0x644 + SYS_LOG10F = 0x645 + SYS_LOG10L = 0x646 + SYS_LOGF = 0x647 + SYS_LOGL = 0x648 + SYS_POWF = 0x649 + SYS_SINHL = 0x650 + SYS_TANF = 0x651 + SYS_TANL = 0x652 + SYS_FABSF = 0x653 + SYS_FABSL = 0x654 + SYS_FLOORF = 0x655 + SYS_FLOORL = 0x656 + SYS_FMODF = 0x657 + SYS_FMODL = 0x658 + SYS_FREXPF = 0x659 + SYS___CHATTR = 0x660 + SYS___FCHATTR = 0x661 + SYS___TOCCSID = 0x662 + SYS___CSNAMETYPE = 0x663 + SYS___TOCSNAME = 0x664 + SYS___CCSIDTYPE = 0x665 + SYS___AE_CORRESTBL_QUERY = 0x666 + SYS___AE_AUTOCONVERT_STATE = 0x667 + SYS_DN_FIND = 0x668 + SYS___GETHOSTBYADDR_A = 0x669 + SYS___MBLEN_SB_A = 0x670 + SYS___MBLEN_STD_A = 0x671 + SYS___MBLEN_UTF = 0x672 + SYS___MBSTOWCS_A = 0x673 + SYS___MBSTOWCS_STD_A = 0x674 + SYS___MBTOWC_A = 0x675 + SYS___MBTOWC_ISO1 = 0x676 + SYS___MBTOWC_SBCS = 0x677 + SYS___MBTOWC_MBCS = 0x678 + SYS___MBTOWC_UTF = 0x679 + SYS___CSID_A = 0x680 + SYS___CSID_STD_A = 0x681 + SYS___WCSID_A = 0x682 + SYS___WCSID_STD_A = 0x683 + SYS___WCTOMB_A = 0x684 + SYS___WCTOMB_ISO1 = 0x685 + SYS___WCTOMB_STD_A = 0x686 + SYS___WCTOMB_UTF = 0x687 + SYS___WCWIDTH_A = 0x688 + SYS___GETGRNAM_R_A = 0x689 + SYS___READDIR_R_A = 0x690 + SYS___E2A_S = 0x691 + SYS___FNMATCH_A = 0x692 + SYS___FNMATCH_C_A = 0x693 + SYS___EXECL_A = 0x694 + SYS___FNMATCH_STD_A = 0x695 + SYS___REGCOMP_A = 0x696 + SYS___REGCOMP_STD_A = 0x697 + SYS___REGERROR_A = 0x698 + SYS___REGERROR_STD_A = 0x699 + SYS___SWPRINTF_A = 0x700 + SYS___FSCANF_A = 0x701 + SYS___SCANF_A = 0x702 + SYS___SSCANF_A = 0x703 + SYS___SWSCANF_A = 0x704 + SYS___ATOF_A = 0x705 + SYS___ATOI_A = 0x706 + SYS___ATOL_A = 0x707 + SYS___STRTOD_A = 0x708 + SYS___STRTOL_A = 0x709 + SYS___L64A_A = 0x710 + SYS___STRERROR_A = 0x711 + SYS___PERROR_A = 0x712 + SYS___FETCH_A = 0x713 + SYS___GETENV_A = 0x714 + SYS___MKSTEMP_A = 0x717 + SYS___PTSNAME_A = 0x718 + SYS___PUTENV_A = 0x719 + SYS___CHDIR_A = 0x720 + SYS___CHOWN_A = 0x721 + SYS___CHROOT_A = 0x722 + SYS___GETCWD_A = 0x723 + SYS___GETWD_A = 0x724 + SYS___LCHOWN_A = 0x725 + SYS___LINK_A = 0x726 + SYS___PATHCONF_A = 0x727 + SYS___IF_NAMEINDEX_A = 0x728 + SYS___READLINK_A = 0x729 + SYS___EXTLINK_NP_A = 0x730 + SYS___ISALNUM_A = 0x731 + SYS___ISALPHA_A = 0x732 + SYS___A2E_S = 0x733 + SYS___ISCNTRL_A = 0x734 + SYS___ISDIGIT_A = 0x735 + SYS___ISGRAPH_A = 0x736 + SYS___ISLOWER_A = 0x737 + SYS___ISPRINT_A = 0x738 + SYS___ISPUNCT_A = 0x739 + SYS___ISWALPHA_A = 0x740 + SYS___A2E_L = 0x741 + SYS___ISWCNTRL_A = 0x742 + SYS___ISWDIGIT_A = 0x743 + SYS___ISWGRAPH_A = 0x744 + SYS___ISWLOWER_A = 0x745 + SYS___ISWPRINT_A = 0x746 + SYS___ISWPUNCT_A = 0x747 + SYS___ISWSPACE_A = 0x748 + SYS___ISWUPPER_A = 0x749 + SYS___REMOVE_A = 0x750 + SYS___RENAME_A = 0x751 + SYS___TMPNAM_A = 0x752 + SYS___FOPEN_A = 0x753 + SYS___FREOPEN_A = 0x754 + SYS___CUSERID_A = 0x755 + SYS___POPEN_A = 0x756 + SYS___TEMPNAM_A = 0x757 + SYS___FTW_A = 0x758 + SYS___GETGRENT_A = 0x759 + SYS___INET_NTOP_A = 0x760 + SYS___GETPASS_A = 0x761 + SYS___GETPWENT_A = 0x762 + SYS___GETPWNAM_A = 0x763 + SYS___GETPWUID_A = 0x764 + SYS_____CHECK_RESOURCE_AUTH_NP_A = 0x765 + SYS___CHECKSCHENV_A = 0x766 + SYS___CONNECTSERVER_A = 0x767 + SYS___CONNECTWORKMGR_A = 0x768 + SYS_____CONSOLE_A = 0x769 + SYS___MSGSND_A = 0x770 + SYS___MSGXRCV_A = 0x771 + SYS___NFTW_A = 0x772 + SYS_____PASSWD_A = 0x773 + SYS___PTHREAD_SECURITY_NP_A = 0x774 + SYS___QUERYMETRICS_A = 0x775 + SYS___QUERYSCHENV = 0x776 + SYS___READV_A = 0x777 + SYS_____SERVER_CLASSIFY_A = 0x778 + SYS_____SERVER_INIT_A = 0x779 + SYS___W_GETPSENT_A = 0x780 + SYS___WRITEV_A = 0x781 + SYS___W_STATFS_A = 0x782 + SYS___W_STATVFS_A = 0x783 + SYS___FPUTC_A = 0x784 + SYS___PUTCHAR_A = 0x785 + SYS___PUTS_A = 0x786 + SYS___FGETS_A = 0x787 + SYS___GETS_A = 0x788 + SYS___FPUTS_A = 0x789 + SYS___PUTC_A = 0x790 + SYS___AE_THREAD_SETMODE = 0x791 + SYS___AE_THREAD_SWAPMODE = 0x792 + SYS___GETNETBYADDR_A = 0x793 + SYS___GETNETBYNAME_A = 0x794 + SYS___GETNETENT_A = 0x795 + SYS___GETPROTOBYNAME_A = 0x796 + SYS___GETPROTOBYNUMBER_A = 0x797 + SYS___GETPROTOENT_A = 0x798 + SYS___GETSERVBYNAME_A = 0x799 + SYS_ACL_FIRST_ENTRY = 0x800 + SYS_ACL_GET_ENTRY = 0x801 + SYS_ACL_VALID = 0x802 + SYS_ACL_CREATE_ENTRY = 0x803 + SYS_ACL_DELETE_ENTRY = 0x804 + SYS_ACL_UPDATE_ENTRY = 0x805 + SYS_ACL_DELETE_FD = 0x806 + SYS_ACL_DELETE_FILE = 0x807 + SYS_ACL_GET_FD = 0x808 + SYS_ACL_GET_FILE = 0x809 + SYS___ERFL_B = 0x810 + SYS___ERFCL_B = 0x811 + SYS___LGAMMAL_B = 0x812 + SYS___SETHOOKEVENTS = 0x813 + SYS_IF_NAMETOINDEX = 0x814 + SYS_IF_INDEXTONAME = 0x815 + SYS_IF_NAMEINDEX = 0x816 + SYS_IF_FREENAMEINDEX = 0x817 + SYS_GETADDRINFO = 0x818 + SYS_GETNAMEINFO = 0x819 + SYS___DYNFREE_A = 0x820 + SYS___RES_QUERY_A = 0x821 + SYS___RES_SEARCH_A = 0x822 + SYS___RES_QUERYDOMAIN_A = 0x823 + SYS___RES_MKQUERY_A = 0x824 + SYS___RES_SEND_A = 0x825 + SYS___DN_EXPAND_A = 0x826 + SYS___DN_SKIPNAME_A = 0x827 + SYS___DN_COMP_A = 0x828 + SYS___DN_FIND_A = 0x829 + SYS___INET_NTOA_A = 0x830 + SYS___INET_NETWORK_A = 0x831 + SYS___ACCEPT_A = 0x832 + SYS___ACCEPT_AND_RECV_A = 0x833 + SYS___BIND_A = 0x834 + SYS___CONNECT_A = 0x835 + SYS___GETPEERNAME_A = 0x836 + SYS___GETSOCKNAME_A = 0x837 + SYS___RECVFROM_A = 0x838 + SYS___SENDTO_A = 0x839 + SYS___LCHATTR = 0x840 + SYS___WRITEDOWN = 0x841 + SYS_PTHREAD_MUTEX_INIT2 = 0x842 + SYS___ACOSHF_B = 0x843 + SYS___ACOSHL_B = 0x844 + SYS___ASINHF_B = 0x845 + SYS___ASINHL_B = 0x846 + SYS___ATANHF_B = 0x847 + SYS___ATANHL_B = 0x848 + SYS___CBRTF_B = 0x849 + SYS___EXP2F_B = 0x850 + SYS___EXP2L_B = 0x851 + SYS___EXPM1F_B = 0x852 + SYS___EXPM1L_B = 0x853 + SYS___FDIMF_B = 0x854 + SYS___FDIM_B = 0x855 + SYS___FDIML_B = 0x856 + SYS___HYPOTF_B = 0x857 + SYS___HYPOTL_B = 0x858 + SYS___LOG1PF_B = 0x859 + SYS___REMQUOF_B = 0x860 + SYS___REMQUO_B = 0x861 + SYS___REMQUOL_B = 0x862 + SYS___TGAMMAF_B = 0x863 + SYS___TGAMMA_B = 0x864 + SYS___TGAMMAL_B = 0x865 + SYS___TRUNCF_B = 0x866 + SYS___TRUNC_B = 0x867 + SYS___TRUNCL_B = 0x868 + SYS___LGAMMAF_B = 0x869 + SYS_ASINHF = 0x870 + SYS_ASINHL = 0x871 + SYS_ATANHF = 0x872 + SYS_ATANHL = 0x873 + SYS_CBRTF = 0x874 + SYS_CBRTL = 0x875 + SYS_COPYSIGNF = 0x876 + SYS_CPYSIGNF = 0x876 + SYS_COPYSIGNL = 0x877 + SYS_CPYSIGNL = 0x877 + SYS_COTANF = 0x878 + SYS___COTANF = 0x878 + SYS_COTAN = 0x879 + SYS___COTAN = 0x879 + SYS_FDIM = 0x881 + SYS_FDIML = 0x882 + SYS_HYPOTF = 0x883 + SYS_HYPOTL = 0x884 + SYS_LOG1PF = 0x885 + SYS_LOG1PL = 0x886 + SYS_LOG2F = 0x887 + SYS_LOG2 = 0x888 + SYS_LOG2L = 0x889 + SYS_TGAMMA = 0x890 + SYS_TGAMMAL = 0x891 + SYS_TRUNCF = 0x892 + SYS_TRUNC = 0x893 + SYS_TRUNCL = 0x894 + SYS_LGAMMAF = 0x895 + SYS_LGAMMAL = 0x896 + SYS_LROUNDF = 0x897 + SYS_LROUND = 0x898 + SYS_ERFF = 0x899 + SYS___COSHF_H = 0x900 + SYS___COSHL_H = 0x901 + SYS___COTAN_H = 0x902 + SYS___COTANF_H = 0x903 + SYS___COTANL_H = 0x904 + SYS___ERF_H = 0x905 + SYS___ERFF_H = 0x906 + SYS___ERFL_H = 0x907 + SYS___ERFC_H = 0x908 + SYS___ERFCF_H = 0x909 + SYS___FDIMF_H = 0x910 + SYS___FDIML_H = 0x911 + SYS___FMOD_H = 0x912 + SYS___FMODF_H = 0x913 + SYS___FMODL_H = 0x914 + SYS___GAMMA_H = 0x915 + SYS___HYPOT_H = 0x916 + SYS___ILOGB_H = 0x917 + SYS___LGAMMA_H = 0x918 + SYS___LGAMMAF_H = 0x919 + SYS___LOG2L_H = 0x920 + SYS___LOG1P_H = 0x921 + SYS___LOG10_H = 0x922 + SYS___LOG10F_H = 0x923 + SYS___LOG10L_H = 0x924 + SYS___LROUND_H = 0x925 + SYS___LROUNDF_H = 0x926 + SYS___NEXTAFTER_H = 0x927 + SYS___POW_H = 0x928 + SYS___POWF_H = 0x929 + SYS___SINL_H = 0x930 + SYS___SINH_H = 0x931 + SYS___SINHF_H = 0x932 + SYS___SINHL_H = 0x933 + SYS___SQRT_H = 0x934 + SYS___SQRTF_H = 0x935 + SYS___SQRTL_H = 0x936 + SYS___TAN_H = 0x937 + SYS___TANF_H = 0x938 + SYS___TANL_H = 0x939 + SYS___TRUNCF_H = 0x940 + SYS___TRUNCL_H = 0x941 + SYS___COSH_H = 0x942 + SYS___LE_DEBUG_SET_RESUME_MCH = 0x943 + SYS_VFSCANF = 0x944 + SYS_VSCANF = 0x946 + SYS_VSSCANF = 0x948 + SYS_IMAXABS = 0x950 + SYS_IMAXDIV = 0x951 + SYS_STRTOIMAX = 0x952 + SYS_STRTOUMAX = 0x953 + SYS_WCSTOIMAX = 0x954 + SYS_WCSTOUMAX = 0x955 + SYS_ATOLL = 0x956 + SYS_STRTOF = 0x957 + SYS_STRTOLD = 0x958 + SYS_WCSTOF = 0x959 + SYS_INET6_RTH_GETADDR = 0x960 + SYS_INET6_OPT_INIT = 0x961 + SYS_INET6_OPT_APPEND = 0x962 + SYS_INET6_OPT_FINISH = 0x963 + SYS_INET6_OPT_SET_VAL = 0x964 + SYS_INET6_OPT_NEXT = 0x965 + SYS_INET6_OPT_FIND = 0x966 + SYS_INET6_OPT_GET_VAL = 0x967 + SYS___POW_I = 0x987 + SYS___POW_I_B = 0x988 + SYS___POW_I_H = 0x989 + SYS___CABS_H = 0x990 + SYS_CABSF = 0x991 + SYS___CABSF_B = 0x992 + SYS___CABSF_H = 0x993 + SYS_CABSL = 0x994 + SYS___CABSL_B = 0x995 + SYS___CABSL_H = 0x996 + SYS_CACOS = 0x997 + SYS___CACOS_B = 0x998 + SYS___CACOS_H = 0x999 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go new file mode 100644 index 000000000..7a8161c1d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go @@ -0,0 +1,354 @@ +// cgo -godefs types_aix.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc && aix +// +build ppc,aix + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x3ff +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type off64 int64 +type off int32 +type Mode_t uint32 + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Timex struct{} + +type Time_t int32 + +type Tms struct{} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Timezone struct { + Minuteswest int32 + Dsttime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type Pid_t int32 + +type _Gid_t uint32 + +type dev_t uint32 + +type Stat_t struct { + Dev uint32 + Ino uint32 + Mode uint32 + Nlink int16 + Flag uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Size int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Blocks int32 + Vfstype int32 + Vfs uint32 + Type uint32 + Gen uint32 + Reserved [9]uint32 +} + +type StatxTimestamp struct{} + +type Statx_t struct{} + +type Dirent struct { + Offset uint32 + Ino uint32 + Reclen uint16 + Namlen uint16 + Name [256]uint8 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [1023]uint8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [1012]uint8 +} + +type _Socklen uint32 + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 +) + +const ( + SizeofIfMsghdr = 0x10 +) + +type IfMsgHdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Addrlen uint8 + _ [1]byte +} + +type FdSet struct { + Bits [2048]int32 +} + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +type Ustat_t struct{} + +type Sigset_t struct { + Losigs uint32 + Hisigs uint32 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x1 + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [16]uint8 +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line uint8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = 0x4000 + POLLHUP = 0x2000 + POLLIN = 0x1 + POLLNVAL = 0x8000 + POLLOUT = 0x2 + POLLPRI = 0x4 + POLLRDBAND = 0x20 + POLLRDNORM = 0x10 + POLLWRBAND = 0x40 + POLLWRNORM = 0x2 +) + +type Flock_t struct { + Type int16 + Whence int16 + Sysid uint32 + Pid int32 + Vfs int32 + Start int64 + Len int64 +} + +type Fsid_t struct { + Val [2]uint32 +} +type Fsid64_t struct { + Val [2]uint64 +} + +type Statfs_t struct { + Version int32 + Type int32 + Bsize uint32 + Blocks uint32 + Bfree uint32 + Bavail uint32 + Files uint32 + Ffree uint32 + Fsid Fsid_t + Vfstype int32 + Fsize uint32 + Vfsnumber int32 + Vfsoff int32 + Vfslen int32 + Vfsvers int32 + Fname [32]uint8 + Fpack [32]uint8 + Name_max int32 +} + +const RNDGETENTCNT = 0x80045200 diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go new file mode 100644 index 000000000..07ed733c5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go @@ -0,0 +1,358 @@ +// cgo -godefs types_aix.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc64 && aix +// +build ppc64,aix + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x3ff +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type off64 int64 +type off int64 +type Mode_t uint32 + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Timex struct{} + +type Time_t int64 + +type Tms struct{} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Timezone struct { + Minuteswest int32 + Dsttime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type Pid_t int32 + +type _Gid_t uint32 + +type dev_t uint64 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink int16 + Flag uint16 + Uid uint32 + Gid uint32 + Rdev uint64 + Ssize int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int64 + Blocks int64 + Vfstype int32 + Vfs uint32 + Type uint32 + Gen uint32 + Reserved [9]uint32 + Padto_ll uint32 + Size int64 +} + +type StatxTimestamp struct{} + +type Statx_t struct{} + +type Dirent struct { + Offset uint64 + Ino uint64 + Reclen uint16 + Namlen uint16 + Name [256]uint8 + _ [4]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [1023]uint8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [1012]uint8 +} + +type _Socklen uint32 + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 +) + +const ( + SizeofIfMsghdr = 0x10 +) + +type IfMsgHdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Addrlen uint8 + _ [1]byte +} + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +type Ustat_t struct{} + +type Sigset_t struct { + Set [4]uint64 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x1 + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [16]uint8 +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line uint8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = 0x4000 + POLLHUP = 0x2000 + POLLIN = 0x1 + POLLNVAL = 0x8000 + POLLOUT = 0x2 + POLLPRI = 0x4 + POLLRDBAND = 0x20 + POLLRDNORM = 0x10 + POLLWRBAND = 0x40 + POLLWRNORM = 0x2 +) + +type Flock_t struct { + Type int16 + Whence int16 + Sysid uint32 + Pid int32 + Vfs int32 + Start int64 + Len int64 +} + +type Fsid_t struct { + Val [2]uint32 +} +type Fsid64_t struct { + Val [2]uint64 +} + +type Statfs_t struct { + Version int32 + Type int32 + Bsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid64_t + Vfstype int32 + Fsize uint64 + Vfsnumber int32 + Vfsoff int32 + Vfslen int32 + Vfsvers int32 + Fname [32]uint8 + Fpack [32]uint8 + Name_max int32 + _ [4]byte +} + +const RNDGETENTCNT = 0x80045200 diff --git a/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 000000000..4c8dc0ba2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -0,0 +1,641 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && darwin +// +build amd64,darwin + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]byte + Mntonname [1024]byte + Mntfromname [1024]byte + Flags_ext uint32 + Reserved [7]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + _ [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + _ [16]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type RawSockaddrCtl struct { + Sc_len uint8 + Sc_family uint8 + Ss_sysaddr uint16 + Sc_id uint32 + Sc_unit uint32 + Sc_reserved [5]uint32 +} + +type _Socklen uint32 + +type Xucred struct { + Version uint32 + Uid uint32 + Ngroups int16 + Groups [16]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 + 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 + SizeofSockaddrCtl = 0x20 + SizeofXucred = 0x4c + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + 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 + 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 + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + 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 + State uint32 + Filler [3]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 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} + +type CtlInfo struct { + Id uint32 + Name [96]byte +} + +const SizeofKinfoProc = 0x288 + +type Eproc struct { + Paddr uintptr + Sess uintptr + Pcred Pcred + Ucred Ucred + Vm Vmspace + Ppid int32 + Pgid int32 + Jobc int16 + Tdev int32 + Tpgid int32 + Tsess uintptr + Wmesg [8]int8 + Xsize int32 + Xrssize int16 + Xccount int16 + Xswrss int16 + Flag int32 + Login [12]int8 + Spare [4]int32 + _ [4]byte +} + +type ExternProc struct { + P_starttime Timeval + P_vmspace *Vmspace + P_sigacts uintptr + P_flag int32 + P_stat int8 + P_pid int32 + P_oppid int32 + P_dupfd int32 + User_stack *int8 + Exit_thread *byte + P_debugger int32 + Sigwait int32 + P_estcpu uint32 + P_cpticks int32 + P_pctcpu uint32 + P_wchan *byte + P_wmesg *int8 + P_swtime uint32 + P_slptime uint32 + P_realtimer Itimerval + P_rtime Timeval + P_uticks uint64 + P_sticks uint64 + P_iticks uint64 + P_traceflag int32 + P_tracep uintptr + P_siglist int32 + P_textvp uintptr + P_holdcnt int32 + P_sigmask uint32 + P_sigignore uint32 + P_sigcatch uint32 + P_priority uint8 + P_usrpri uint8 + P_nice int8 + P_comm [17]int8 + P_pgrp uintptr + P_addr uintptr + P_xstat uint16 + P_acflag uint16 + P_ru *Rusage +} + +type Itimerval struct { + Interval Timeval + Value Timeval +} + +type KinfoProc struct { + Proc ExternProc + Eproc Eproc +} + +type Vmspace struct { + Dummy int32 + Dummy2 *int8 + Dummy3 [5]int32 + Dummy4 [3]*int8 +} + +type Pcred struct { + Pc_lock [72]int8 + Pc_ucred uintptr + P_ruid uint32 + P_svuid uint32 + P_rgid uint32 + P_svgid uint32 + P_refcnt int32 + _ [4]byte +} + +type Ucred struct { + Ref int32 + Uid uint32 + Ngroups int16 + Groups [16]uint32 +} 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 000000000..96f0e6ae2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -0,0 +1,641 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && darwin +// +build arm64,darwin + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]byte + Mntonname [1024]byte + Mntfromname [1024]byte + Flags_ext uint32 + Reserved [7]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + _ [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + _ [16]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type RawSockaddrCtl struct { + Sc_len uint8 + Sc_family uint8 + Ss_sysaddr uint16 + Sc_id uint32 + Sc_unit uint32 + Sc_reserved [5]uint32 +} + +type _Socklen uint32 + +type Xucred struct { + Version uint32 + Uid uint32 + Ngroups int16 + Groups [16]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 + 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 + SizeofSockaddrCtl = 0x20 + SizeofXucred = 0x4c + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + 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 + 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 + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + 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 + State uint32 + Filler [3]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 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} + +type CtlInfo struct { + Id uint32 + Name [96]byte +} + +const SizeofKinfoProc = 0x288 + +type Eproc struct { + Paddr uintptr + Sess uintptr + Pcred Pcred + Ucred Ucred + Vm Vmspace + Ppid int32 + Pgid int32 + Jobc int16 + Tdev int32 + Tpgid int32 + Tsess uintptr + Wmesg [8]int8 + Xsize int32 + Xrssize int16 + Xccount int16 + Xswrss int16 + Flag int32 + Login [12]int8 + Spare [4]int32 + _ [4]byte +} + +type ExternProc struct { + P_starttime Timeval + P_vmspace *Vmspace + P_sigacts uintptr + P_flag int32 + P_stat int8 + P_pid int32 + P_oppid int32 + P_dupfd int32 + User_stack *int8 + Exit_thread *byte + P_debugger int32 + Sigwait int32 + P_estcpu uint32 + P_cpticks int32 + P_pctcpu uint32 + P_wchan *byte + P_wmesg *int8 + P_swtime uint32 + P_slptime uint32 + P_realtimer Itimerval + P_rtime Timeval + P_uticks uint64 + P_sticks uint64 + P_iticks uint64 + P_traceflag int32 + P_tracep uintptr + P_siglist int32 + P_textvp uintptr + P_holdcnt int32 + P_sigmask uint32 + P_sigignore uint32 + P_sigcatch uint32 + P_priority uint8 + P_usrpri uint8 + P_nice int8 + P_comm [17]int8 + P_pgrp uintptr + P_addr uintptr + P_xstat uint16 + P_acflag uint16 + P_ru *Rusage +} + +type Itimerval struct { + Interval Timeval + Value Timeval +} + +type KinfoProc struct { + Proc ExternProc + Eproc Eproc +} + +type Vmspace struct { + Dummy int32 + Dummy2 *int8 + Dummy3 [5]int32 + Dummy4 [3]*int8 +} + +type Pcred struct { + Pc_lock [72]int8 + Pc_ucred uintptr + P_ruid uint32 + P_svuid uint32 + P_rgid uint32 + P_svgid uint32 + P_refcnt int32 + _ [4]byte +} + +type Ucred struct { + Ref int32 + Uid uint32 + Ngroups int16 + Groups [16]uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go new file mode 100644 index 000000000..d0ba8e9b8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go @@ -0,0 +1,474 @@ +// cgo -godefs types_dragonfly.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && dragonfly +// +build amd64,dragonfly + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Ino uint64 + Nlink uint32 + Dev uint32 + Mode uint16 + _1 uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + _ uint32 + Flags uint32 + Gen uint32 + Lspare int32 + Blksize int64 + Qspare2 int64 +} + +type Statfs_t struct { + Spare2 int64 + Bsize int64 + Iosize int64 + Blocks int64 + Bfree int64 + Bavail int64 + Files int64 + Ffree int64 + Fsid Fsid + Owner uint32 + Type int32 + Flags int32 + Syncwrites int64 + Asyncwrites int64 + Fstypename [16]byte + Mntonname [80]byte + Syncreads int64 + Asyncreads int64 + Spares1 int16 + Mntfromname [80]byte + Spares2 int16 + Spare [2]int64 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Namlen uint16 + Type uint8 + Unused1 uint8 + Unused2 uint32 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + 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 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + SizeofIfMsghdr = 0xb0 + SizeofIfData = 0xa0 + SizeofIfaMsghdr = 0x18 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Flags int32 + Addrs int32 + Data IfData +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Mtu uint64 + Metric uint64 + Link_state uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Oqdrops uint64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Flags int32 + Addrs int32 + Addrflags int32 + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Flags int32 + Addrs int32 +} + +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 + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Pksent uint64 + Expire uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Recvpipe uint64 + Hopcount uint64 + Mssopt uint16 + Pad uint16 + Msl uint64 + Iwmaxsegs uint64 + Iwcapsegs uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = 0xfffafdcd + AT_SYMLINK_NOFOLLOW = 0x1 + AT_REMOVEDIR = 0x2 + AT_EACCESS = 0x4 + AT_SYMLINK_FOLLOW = 0x8 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} 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 000000000..1f99c024a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -0,0 +1,721 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && freebsd +// +build 386,freebsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + _ int32 + Atim Timespec + _ int32 + Mtim Timespec + _ int32 + Ctim Timespec + _ int32 + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec + _ [8]byte +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]byte + Mntfromname [1024]byte + Mntonname [1024]byte +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]byte + Mntfromname [88]byte + Mntonname [88]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Xucred struct { + Version uint32 + Uid uint32 + Ngroups int16 + Groups [16]uint32 + _ *byte +} + +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 + SizeofXucred = 0x50 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [4]byte + _ [32]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + Fs uint32 + Es uint32 + Ds uint32 + Edi uint32 + Esi uint32 + Ebp uint32 + Isp uint32 + Ebx uint32 + Edx uint32 + Ecx uint32 + Eax uint32 + Trapno uint32 + Err uint32 + Eip uint32 + Cs uint32 + Eflags uint32 + Esp uint32 + Ss uint32 + Gs uint32 +} + +type FpReg struct { + Env [7]uint32 + Acc [8][10]uint8 + Ex_sw uint32 + Pad [64]uint8 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint32 +} + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x60 + sizeofIfData = 0x98 + SizeofIfData = 0x50 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + Epoch int32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 +} + +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 + _ uint16 + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_REMOVEDIR = 0x800 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Spare int32 + Stathz int32 + Profhz int32 +} 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 000000000..ddf0305a5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -0,0 +1,724 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && freebsd +// +build amd64,freebsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]byte + Mntfromname [1024]byte + Mntonname [1024]byte +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]byte + Mntfromname [88]byte + Mntonname [88]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Xucred struct { + Version uint32 + Uid uint32 + Ngroups int16 + Groups [16]uint32 + _ *byte +} + +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 + 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 + SizeofXucred = 0x58 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [8]byte + _ [40]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + R15 int64 + R14 int64 + R13 int64 + R12 int64 + R11 int64 + R10 int64 + R9 int64 + R8 int64 + Rdi int64 + Rsi int64 + Rbp int64 + Rbx int64 + Rdx int64 + Rcx int64 + Rax int64 + Trapno uint32 + Fs uint16 + Gs uint16 + Err uint32 + Es uint16 + Ds uint16 + Rip int64 + Cs int64 + Rflags int64 + Rsp int64 + Ss int64 +} + +type FpReg struct { + Env [4]uint64 + Acc [8][16]uint8 + Xacc [16][16]uint8 + Spare [12]uint64 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint64 +} + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 +} + +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 + _ uint16 + 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 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_REMOVEDIR = 0x800 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Spare int32 + Stathz int32 + Profhz int32 +} 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 000000000..dce0a5c80 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -0,0 +1,705 @@ +// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && freebsd +// +build arm,freebsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]byte + Mntfromname [1024]byte + Mntonname [1024]byte +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]byte + Mntfromname [88]byte + Mntonname [88]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Xucred struct { + Version uint32 + Uid uint32 + Ngroups int16 + Groups [16]uint32 + _ *byte +} + +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 + SizeofXucred = 0x50 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [4]byte + X_reason [32]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + R [13]uint32 + R_sp uint32 + R_lr uint32 + R_pc uint32 + R_cpsr uint32 +} + +type FpReg struct { + Fpr_fpsr uint32 + Fpr [8][3]uint32 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint32 +} + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x70 + sizeofIfData = 0x98 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + _ [4]byte + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_REMOVEDIR = 0x800 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Spare int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go new file mode 100644 index 000000000..e23244702 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -0,0 +1,702 @@ +// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && freebsd +// +build arm64,freebsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]byte + Mntfromname [1024]byte + Mntonname [1024]byte +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]byte + Mntfromname [88]byte + Mntonname [88]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Xucred struct { + Version uint32 + Uid uint32 + Ngroups int16 + Groups [16]uint32 + _ *byte +} + +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 + 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 + SizeofXucred = 0x58 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [8]byte + _ [40]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + X [30]uint64 + Lr uint64 + Sp uint64 + Elr uint64 + Spsr uint32 + _ [4]byte +} + +type FpReg struct { + Q [32][16]uint8 + Sr uint32 + Cr uint32 + _ [8]byte +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint64 +} + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ uint16 +} + +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 + _ uint16 + 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 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_REMOVEDIR = 0x800 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Spare int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go new file mode 100644 index 000000000..236f37ef6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go @@ -0,0 +1,40 @@ +// cgo -godefs types_illumos.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && illumos +// +build amd64,illumos + +package unix + +const ( + TUNNEWPPA = 0x540001 + TUNSETPPA = 0x540002 + + I_STR = 0x5308 + I_POP = 0x5303 + I_PUSH = 0x5302 + I_PLINK = 0x5316 + I_PUNLINK = 0x5317 + + IF_UNITSEL = -0x7ffb8cca +) + +type strbuf struct { + Maxlen int32 + Len int32 + Buf *int8 +} + +type Strioctl struct { + Cmd int32 + Timout int32 + Len int32 + Dp *int8 +} + +type Lifreq struct { + Name [32]int8 + Lifru1 [4]byte + Type uint32 + Lifru [336]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go new file mode 100644 index 000000000..c9d7eb41e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -0,0 +1,3909 @@ +// Code generated by mkmerge.go; DO NOT EDIT. + +//go:build linux +// +build linux + +package unix + +const ( + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + + _C_long_long int64 +) + +type ItimerSpec struct { + Interval Timespec + Value Timespec +} + +const ( + TIME_OK = 0x0 + TIME_INS = 0x1 + TIME_DEL = 0x2 + TIME_OOP = 0x3 + TIME_WAIT = 0x4 + TIME_ERROR = 0x5 + TIME_BAD = 0x5 +) + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + Mnt_id uint64 + _ uint64 + _ [12]uint64 +} + +type Fsid struct { + Val [2]int32 +} + +type FileCloneRange struct { + Src_fd int64 + Src_offset uint64 + Src_length uint64 + Dest_offset uint64 +} + +type RawFileDedupeRange struct { + Src_offset uint64 + Src_length uint64 + Dest_count uint16 + Reserved1 uint16 + Reserved2 uint32 +} + +type RawFileDedupeRangeInfo struct { + Dest_fd int64 + Dest_offset uint64 + Bytes_deduped uint64 + Status int32 + Reserved uint32 +} + +const ( + SizeofRawFileDedupeRange = 0x18 + SizeofRawFileDedupeRangeInfo = 0x20 + FILE_DEDUPE_RANGE_SAME = 0x0 + FILE_DEDUPE_RANGE_DIFFERS = 0x1 +) + +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 FscryptPolicyV1 struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptPolicyV2 struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + _ [4]uint8 + Master_key_identifier [16]uint8 +} + +type FscryptGetPolicyExArg struct { + Size uint64 + Policy [24]byte +} + +type FscryptKeySpecifier struct { + Type uint32 + _ uint32 + U [32]byte +} + +type FscryptAddKeyArg struct { + Key_spec FscryptKeySpecifier + Raw_size uint32 + Key_id uint32 + _ [8]uint32 +} + +type FscryptRemoveKeyArg struct { + Key_spec FscryptKeySpecifier + Removal_status_flags uint32 + _ [5]uint32 +} + +type FscryptGetKeyStatusArg struct { + Key_spec FscryptKeySpecifier + _ [6]uint32 + Status uint32 + Status_flags uint32 + User_count uint32 + _ [13]uint32 +} + +type DmIoctl struct { + Version [3]uint32 + Data_size uint32 + Data_start uint32 + Target_count uint32 + Open_count int32 + Flags uint32 + Event_nr uint32 + _ uint32 + Dev uint64 + Name [128]byte + Uuid [129]byte + Data [7]byte +} + +type DmTargetSpec struct { + Sector_start uint64 + Length uint64 + Status int32 + Next uint32 + Target_type [16]byte +} + +type DmTargetDeps struct { + Count uint32 + _ uint32 +} + +type DmTargetVersions struct { + Next uint32 + Version [3]uint32 +} + +type DmTargetMsg struct { + Sector uint64 +} + +const ( + SizeofDmIoctl = 0x138 + SizeofDmTargetSpec = 0x28 +) + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [16]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 + Flags uint8 + Zero [3]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddrL2TPIP struct { + Family uint16 + Unused uint16 + Addr [4]byte /* in_addr */ + Conn_id uint32 + _ [4]uint8 +} + +type RawSockaddrL2TPIP6 struct { + Family uint16 + Unused uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 + Conn_id uint32 +} + +type RawSockaddrIUCV struct { + Family uint16 + Port uint16 + Addr uint32 + Nodeid [8]int8 + User_id [8]int8 + Name [8]int8 +} + +type RawSockaddrNFC struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +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 Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x18 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofSockaddrL2TPIP = 0x10 + SizeofSockaddrL2TPIP6 = 0x20 + SizeofSockaddrIUCV = 0x20 + SizeofSockaddrNFC = 0x10 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +const SI_LOAD_SHIFT = 0x10 + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type OpenHow struct { + Flags uint64 + Mode uint64 + Resolve uint64 +} + +const SizeofOpenHow = 0x18 + +const ( + RESOLVE_BENEATH = 0x8 + RESOLVE_IN_ROOT = 0x10 + RESOLVE_NO_MAGICLINKS = 0x2 + RESOLVE_NO_SYMLINKS = 0x4 + RESOLVE_NO_XDEV = 0x1 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +const ( + _CPU_SETSIZE = 0x400 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ uint32 + Time_cycles uint64 + Time_mask uint64 + _ [928]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + PERF_TYPE_MAX = 0x6 + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + PERF_COUNT_HW_MAX = 0xa + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + PERF_COUNT_HW_CACHE_MAX = 0x7 + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + PERF_COUNT_HW_CACHE_OP_MAX = 0x3 + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + PERF_COUNT_HW_CACHE_RESULT_MAX = 0x2 + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + PERF_COUNT_SW_MAX = 0xb + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + PERF_SAMPLE_REGS_USER = 0x1000 + PERF_SAMPLE_STACK_USER = 0x2000 + PERF_SAMPLE_WEIGHT = 0x4000 + PERF_SAMPLE_DATA_SRC = 0x8000 + PERF_SAMPLE_IDENTIFIER = 0x10000 + PERF_SAMPLE_TRANSACTION = 0x20000 + PERF_SAMPLE_REGS_INTR = 0x40000 + PERF_SAMPLE_PHYS_ADDR = 0x80000 + PERF_SAMPLE_AUX = 0x100000 + PERF_SAMPLE_CGROUP = 0x200000 + PERF_SAMPLE_DATA_PAGE_SIZE = 0x400000 + PERF_SAMPLE_CODE_PAGE_SIZE = 0x800000 + PERF_SAMPLE_WEIGHT_STRUCT = 0x1000000 + PERF_SAMPLE_MAX = 0x2000000 + PERF_SAMPLE_BRANCH_USER_SHIFT = 0x0 + PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 0x1 + PERF_SAMPLE_BRANCH_HV_SHIFT = 0x2 + PERF_SAMPLE_BRANCH_ANY_SHIFT = 0x3 + PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 0x4 + PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 0x5 + PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 0x6 + PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 0x7 + PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 0x8 + PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 0x9 + PERF_SAMPLE_BRANCH_COND_SHIFT = 0xa + PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 0xb + PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 0xc + PERF_SAMPLE_BRANCH_CALL_SHIFT = 0xd + PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 0xe + PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 0xf + PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 0x10 + PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 0x11 + PERF_SAMPLE_BRANCH_MAX_SHIFT = 0x12 + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + PERF_SAMPLE_BRANCH_HW_INDEX = 0x20000 + PERF_SAMPLE_BRANCH_MAX = 0x40000 + PERF_BR_UNKNOWN = 0x0 + PERF_BR_COND = 0x1 + PERF_BR_UNCOND = 0x2 + PERF_BR_IND = 0x3 + PERF_BR_CALL = 0x4 + PERF_BR_IND_CALL = 0x5 + PERF_BR_RET = 0x6 + PERF_BR_SYSCALL = 0x7 + PERF_BR_SYSRET = 0x8 + PERF_BR_COND_CALL = 0x9 + PERF_BR_COND_RET = 0xa + PERF_BR_MAX = 0xb + PERF_SAMPLE_REGS_ABI_NONE = 0x0 + PERF_SAMPLE_REGS_ABI_32 = 0x1 + PERF_SAMPLE_REGS_ABI_64 = 0x2 + PERF_TXN_ELISION = 0x1 + PERF_TXN_TRANSACTION = 0x2 + PERF_TXN_SYNC = 0x4 + PERF_TXN_ASYNC = 0x8 + PERF_TXN_RETRY = 0x10 + PERF_TXN_CONFLICT = 0x20 + PERF_TXN_CAPACITY_WRITE = 0x40 + PERF_TXN_CAPACITY_READ = 0x80 + PERF_TXN_MAX = 0x100 + PERF_TXN_ABORT_MASK = -0x100000000 + PERF_TXN_ABORT_SHIFT = 0x20 + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + PERF_FORMAT_MAX = 0x10 + PERF_IOC_FLAG_GROUP = 0x1 + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + PERF_RECORD_KSYMBOL = 0x11 + PERF_RECORD_BPF_EVENT = 0x12 + PERF_RECORD_CGROUP = 0x13 + PERF_RECORD_TEXT_POKE = 0x14 + PERF_RECORD_MAX = 0x15 + PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0x0 + PERF_RECORD_KSYMBOL_TYPE_BPF = 0x1 + PERF_RECORD_KSYMBOL_TYPE_OOL = 0x2 + PERF_RECORD_KSYMBOL_TYPE_MAX = 0x3 + PERF_BPF_EVENT_UNKNOWN = 0x0 + PERF_BPF_EVENT_PROG_LOAD = 0x1 + PERF_BPF_EVENT_PROG_UNLOAD = 0x2 + PERF_BPF_EVENT_MAX = 0x3 + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + PERF_CONTEXT_MAX = -0xfff +) + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_PROP_LIST = 0x34 + IFLA_ALT_IFNAME = 0x35 + IFLA_PERM_ADDRESS = 0x36 + IFLA_PROTO_DOWN_REASON = 0x37 + IFLA_PROTO_DOWN_REASON_UNSPEC = 0x0 + IFLA_PROTO_DOWN_REASON_MASK = 0x1 + IFLA_PROTO_DOWN_REASON_VALUE = 0x2 + IFLA_PROTO_DOWN_REASON_MAX = 0x2 + IFLA_INET_UNSPEC = 0x0 + IFLA_INET_CONF = 0x1 + IFLA_INET6_UNSPEC = 0x0 + IFLA_INET6_FLAGS = 0x1 + IFLA_INET6_CONF = 0x2 + IFLA_INET6_STATS = 0x3 + IFLA_INET6_MCAST = 0x4 + IFLA_INET6_CACHEINFO = 0x5 + IFLA_INET6_ICMP6STATS = 0x6 + IFLA_INET6_TOKEN = 0x7 + IFLA_INET6_ADDR_GEN_MODE = 0x8 + IFLA_BR_UNSPEC = 0x0 + IFLA_BR_FORWARD_DELAY = 0x1 + IFLA_BR_HELLO_TIME = 0x2 + IFLA_BR_MAX_AGE = 0x3 + IFLA_BR_AGEING_TIME = 0x4 + IFLA_BR_STP_STATE = 0x5 + IFLA_BR_PRIORITY = 0x6 + IFLA_BR_VLAN_FILTERING = 0x7 + IFLA_BR_VLAN_PROTOCOL = 0x8 + IFLA_BR_GROUP_FWD_MASK = 0x9 + IFLA_BR_ROOT_ID = 0xa + IFLA_BR_BRIDGE_ID = 0xb + IFLA_BR_ROOT_PORT = 0xc + IFLA_BR_ROOT_PATH_COST = 0xd + IFLA_BR_TOPOLOGY_CHANGE = 0xe + IFLA_BR_TOPOLOGY_CHANGE_DETECTED = 0xf + IFLA_BR_HELLO_TIMER = 0x10 + IFLA_BR_TCN_TIMER = 0x11 + IFLA_BR_TOPOLOGY_CHANGE_TIMER = 0x12 + IFLA_BR_GC_TIMER = 0x13 + IFLA_BR_GROUP_ADDR = 0x14 + IFLA_BR_FDB_FLUSH = 0x15 + IFLA_BR_MCAST_ROUTER = 0x16 + IFLA_BR_MCAST_SNOOPING = 0x17 + IFLA_BR_MCAST_QUERY_USE_IFADDR = 0x18 + IFLA_BR_MCAST_QUERIER = 0x19 + IFLA_BR_MCAST_HASH_ELASTICITY = 0x1a + IFLA_BR_MCAST_HASH_MAX = 0x1b + IFLA_BR_MCAST_LAST_MEMBER_CNT = 0x1c + IFLA_BR_MCAST_STARTUP_QUERY_CNT = 0x1d + IFLA_BR_MCAST_LAST_MEMBER_INTVL = 0x1e + IFLA_BR_MCAST_MEMBERSHIP_INTVL = 0x1f + IFLA_BR_MCAST_QUERIER_INTVL = 0x20 + IFLA_BR_MCAST_QUERY_INTVL = 0x21 + IFLA_BR_MCAST_QUERY_RESPONSE_INTVL = 0x22 + IFLA_BR_MCAST_STARTUP_QUERY_INTVL = 0x23 + IFLA_BR_NF_CALL_IPTABLES = 0x24 + IFLA_BR_NF_CALL_IP6TABLES = 0x25 + IFLA_BR_NF_CALL_ARPTABLES = 0x26 + IFLA_BR_VLAN_DEFAULT_PVID = 0x27 + IFLA_BR_PAD = 0x28 + IFLA_BR_VLAN_STATS_ENABLED = 0x29 + IFLA_BR_MCAST_STATS_ENABLED = 0x2a + IFLA_BR_MCAST_IGMP_VERSION = 0x2b + IFLA_BR_MCAST_MLD_VERSION = 0x2c + IFLA_BR_VLAN_STATS_PER_PORT = 0x2d + IFLA_BR_MULTI_BOOLOPT = 0x2e + IFLA_BRPORT_UNSPEC = 0x0 + IFLA_BRPORT_STATE = 0x1 + IFLA_BRPORT_PRIORITY = 0x2 + IFLA_BRPORT_COST = 0x3 + IFLA_BRPORT_MODE = 0x4 + IFLA_BRPORT_GUARD = 0x5 + IFLA_BRPORT_PROTECT = 0x6 + IFLA_BRPORT_FAST_LEAVE = 0x7 + IFLA_BRPORT_LEARNING = 0x8 + IFLA_BRPORT_UNICAST_FLOOD = 0x9 + IFLA_BRPORT_PROXYARP = 0xa + IFLA_BRPORT_LEARNING_SYNC = 0xb + IFLA_BRPORT_PROXYARP_WIFI = 0xc + IFLA_BRPORT_ROOT_ID = 0xd + IFLA_BRPORT_BRIDGE_ID = 0xe + IFLA_BRPORT_DESIGNATED_PORT = 0xf + IFLA_BRPORT_DESIGNATED_COST = 0x10 + IFLA_BRPORT_ID = 0x11 + IFLA_BRPORT_NO = 0x12 + IFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 0x13 + IFLA_BRPORT_CONFIG_PENDING = 0x14 + IFLA_BRPORT_MESSAGE_AGE_TIMER = 0x15 + IFLA_BRPORT_FORWARD_DELAY_TIMER = 0x16 + IFLA_BRPORT_HOLD_TIMER = 0x17 + IFLA_BRPORT_FLUSH = 0x18 + IFLA_BRPORT_MULTICAST_ROUTER = 0x19 + IFLA_BRPORT_PAD = 0x1a + IFLA_BRPORT_MCAST_FLOOD = 0x1b + IFLA_BRPORT_MCAST_TO_UCAST = 0x1c + IFLA_BRPORT_VLAN_TUNNEL = 0x1d + IFLA_BRPORT_BCAST_FLOOD = 0x1e + IFLA_BRPORT_GROUP_FWD_MASK = 0x1f + IFLA_BRPORT_NEIGH_SUPPRESS = 0x20 + IFLA_BRPORT_ISOLATED = 0x21 + IFLA_BRPORT_BACKUP_PORT = 0x22 + IFLA_BRPORT_MRP_RING_OPEN = 0x23 + IFLA_BRPORT_MRP_IN_OPEN = 0x24 + IFLA_INFO_UNSPEC = 0x0 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + IFLA_VLAN_UNSPEC = 0x0 + IFLA_VLAN_ID = 0x1 + IFLA_VLAN_FLAGS = 0x2 + IFLA_VLAN_EGRESS_QOS = 0x3 + IFLA_VLAN_INGRESS_QOS = 0x4 + IFLA_VLAN_PROTOCOL = 0x5 + IFLA_VLAN_QOS_UNSPEC = 0x0 + IFLA_VLAN_QOS_MAPPING = 0x1 + IFLA_MACVLAN_UNSPEC = 0x0 + IFLA_MACVLAN_MODE = 0x1 + IFLA_MACVLAN_FLAGS = 0x2 + IFLA_MACVLAN_MACADDR_MODE = 0x3 + IFLA_MACVLAN_MACADDR = 0x4 + IFLA_MACVLAN_MACADDR_DATA = 0x5 + IFLA_MACVLAN_MACADDR_COUNT = 0x6 + IFLA_VRF_UNSPEC = 0x0 + IFLA_VRF_TABLE = 0x1 + IFLA_VRF_PORT_UNSPEC = 0x0 + IFLA_VRF_PORT_TABLE = 0x1 + IFLA_MACSEC_UNSPEC = 0x0 + IFLA_MACSEC_SCI = 0x1 + IFLA_MACSEC_PORT = 0x2 + IFLA_MACSEC_ICV_LEN = 0x3 + IFLA_MACSEC_CIPHER_SUITE = 0x4 + IFLA_MACSEC_WINDOW = 0x5 + IFLA_MACSEC_ENCODING_SA = 0x6 + IFLA_MACSEC_ENCRYPT = 0x7 + IFLA_MACSEC_PROTECT = 0x8 + IFLA_MACSEC_INC_SCI = 0x9 + IFLA_MACSEC_ES = 0xa + IFLA_MACSEC_SCB = 0xb + IFLA_MACSEC_REPLAY_PROTECT = 0xc + IFLA_MACSEC_VALIDATION = 0xd + IFLA_MACSEC_PAD = 0xe + IFLA_MACSEC_OFFLOAD = 0xf + IFLA_XFRM_UNSPEC = 0x0 + IFLA_XFRM_LINK = 0x1 + IFLA_XFRM_IF_ID = 0x2 + IFLA_IPVLAN_UNSPEC = 0x0 + IFLA_IPVLAN_MODE = 0x1 + IFLA_IPVLAN_FLAGS = 0x2 + IFLA_VXLAN_UNSPEC = 0x0 + IFLA_VXLAN_ID = 0x1 + IFLA_VXLAN_GROUP = 0x2 + IFLA_VXLAN_LINK = 0x3 + IFLA_VXLAN_LOCAL = 0x4 + IFLA_VXLAN_TTL = 0x5 + IFLA_VXLAN_TOS = 0x6 + IFLA_VXLAN_LEARNING = 0x7 + IFLA_VXLAN_AGEING = 0x8 + IFLA_VXLAN_LIMIT = 0x9 + IFLA_VXLAN_PORT_RANGE = 0xa + IFLA_VXLAN_PROXY = 0xb + IFLA_VXLAN_RSC = 0xc + IFLA_VXLAN_L2MISS = 0xd + IFLA_VXLAN_L3MISS = 0xe + IFLA_VXLAN_PORT = 0xf + IFLA_VXLAN_GROUP6 = 0x10 + IFLA_VXLAN_LOCAL6 = 0x11 + IFLA_VXLAN_UDP_CSUM = 0x12 + IFLA_VXLAN_UDP_ZERO_CSUM6_TX = 0x13 + IFLA_VXLAN_UDP_ZERO_CSUM6_RX = 0x14 + IFLA_VXLAN_REMCSUM_TX = 0x15 + IFLA_VXLAN_REMCSUM_RX = 0x16 + IFLA_VXLAN_GBP = 0x17 + IFLA_VXLAN_REMCSUM_NOPARTIAL = 0x18 + IFLA_VXLAN_COLLECT_METADATA = 0x19 + IFLA_VXLAN_LABEL = 0x1a + IFLA_VXLAN_GPE = 0x1b + IFLA_VXLAN_TTL_INHERIT = 0x1c + IFLA_VXLAN_DF = 0x1d + IFLA_GENEVE_UNSPEC = 0x0 + IFLA_GENEVE_ID = 0x1 + IFLA_GENEVE_REMOTE = 0x2 + IFLA_GENEVE_TTL = 0x3 + IFLA_GENEVE_TOS = 0x4 + IFLA_GENEVE_PORT = 0x5 + IFLA_GENEVE_COLLECT_METADATA = 0x6 + IFLA_GENEVE_REMOTE6 = 0x7 + IFLA_GENEVE_UDP_CSUM = 0x8 + IFLA_GENEVE_UDP_ZERO_CSUM6_TX = 0x9 + IFLA_GENEVE_UDP_ZERO_CSUM6_RX = 0xa + IFLA_GENEVE_LABEL = 0xb + IFLA_GENEVE_TTL_INHERIT = 0xc + IFLA_GENEVE_DF = 0xd + IFLA_BAREUDP_UNSPEC = 0x0 + IFLA_BAREUDP_PORT = 0x1 + IFLA_BAREUDP_ETHERTYPE = 0x2 + IFLA_BAREUDP_SRCPORT_MIN = 0x3 + IFLA_BAREUDP_MULTIPROTO_MODE = 0x4 + IFLA_PPP_UNSPEC = 0x0 + IFLA_PPP_DEV_FD = 0x1 + IFLA_GTP_UNSPEC = 0x0 + IFLA_GTP_FD0 = 0x1 + IFLA_GTP_FD1 = 0x2 + IFLA_GTP_PDP_HASHSIZE = 0x3 + IFLA_GTP_ROLE = 0x4 + IFLA_BOND_UNSPEC = 0x0 + IFLA_BOND_MODE = 0x1 + IFLA_BOND_ACTIVE_SLAVE = 0x2 + IFLA_BOND_MIIMON = 0x3 + IFLA_BOND_UPDELAY = 0x4 + IFLA_BOND_DOWNDELAY = 0x5 + IFLA_BOND_USE_CARRIER = 0x6 + IFLA_BOND_ARP_INTERVAL = 0x7 + IFLA_BOND_ARP_IP_TARGET = 0x8 + IFLA_BOND_ARP_VALIDATE = 0x9 + IFLA_BOND_ARP_ALL_TARGETS = 0xa + IFLA_BOND_PRIMARY = 0xb + IFLA_BOND_PRIMARY_RESELECT = 0xc + IFLA_BOND_FAIL_OVER_MAC = 0xd + IFLA_BOND_XMIT_HASH_POLICY = 0xe + IFLA_BOND_RESEND_IGMP = 0xf + IFLA_BOND_NUM_PEER_NOTIF = 0x10 + IFLA_BOND_ALL_SLAVES_ACTIVE = 0x11 + IFLA_BOND_MIN_LINKS = 0x12 + IFLA_BOND_LP_INTERVAL = 0x13 + IFLA_BOND_PACKETS_PER_SLAVE = 0x14 + IFLA_BOND_AD_LACP_RATE = 0x15 + IFLA_BOND_AD_SELECT = 0x16 + IFLA_BOND_AD_INFO = 0x17 + IFLA_BOND_AD_ACTOR_SYS_PRIO = 0x18 + IFLA_BOND_AD_USER_PORT_KEY = 0x19 + IFLA_BOND_AD_ACTOR_SYSTEM = 0x1a + IFLA_BOND_TLB_DYNAMIC_LB = 0x1b + IFLA_BOND_PEER_NOTIF_DELAY = 0x1c + IFLA_BOND_AD_INFO_UNSPEC = 0x0 + IFLA_BOND_AD_INFO_AGGREGATOR = 0x1 + IFLA_BOND_AD_INFO_NUM_PORTS = 0x2 + IFLA_BOND_AD_INFO_ACTOR_KEY = 0x3 + IFLA_BOND_AD_INFO_PARTNER_KEY = 0x4 + IFLA_BOND_AD_INFO_PARTNER_MAC = 0x5 + IFLA_BOND_SLAVE_UNSPEC = 0x0 + IFLA_BOND_SLAVE_STATE = 0x1 + IFLA_BOND_SLAVE_MII_STATUS = 0x2 + IFLA_BOND_SLAVE_LINK_FAILURE_COUNT = 0x3 + IFLA_BOND_SLAVE_PERM_HWADDR = 0x4 + IFLA_BOND_SLAVE_QUEUE_ID = 0x5 + IFLA_BOND_SLAVE_AD_AGGREGATOR_ID = 0x6 + IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE = 0x7 + IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE = 0x8 + IFLA_VF_INFO_UNSPEC = 0x0 + IFLA_VF_INFO = 0x1 + IFLA_VF_UNSPEC = 0x0 + IFLA_VF_MAC = 0x1 + IFLA_VF_VLAN = 0x2 + IFLA_VF_TX_RATE = 0x3 + IFLA_VF_SPOOFCHK = 0x4 + IFLA_VF_LINK_STATE = 0x5 + IFLA_VF_RATE = 0x6 + IFLA_VF_RSS_QUERY_EN = 0x7 + IFLA_VF_STATS = 0x8 + IFLA_VF_TRUST = 0x9 + IFLA_VF_IB_NODE_GUID = 0xa + IFLA_VF_IB_PORT_GUID = 0xb + IFLA_VF_VLAN_LIST = 0xc + IFLA_VF_BROADCAST = 0xd + IFLA_VF_VLAN_INFO_UNSPEC = 0x0 + IFLA_VF_VLAN_INFO = 0x1 + IFLA_VF_LINK_STATE_AUTO = 0x0 + IFLA_VF_LINK_STATE_ENABLE = 0x1 + IFLA_VF_LINK_STATE_DISABLE = 0x2 + IFLA_VF_STATS_RX_PACKETS = 0x0 + IFLA_VF_STATS_TX_PACKETS = 0x1 + IFLA_VF_STATS_RX_BYTES = 0x2 + IFLA_VF_STATS_TX_BYTES = 0x3 + IFLA_VF_STATS_BROADCAST = 0x4 + IFLA_VF_STATS_MULTICAST = 0x5 + IFLA_VF_STATS_PAD = 0x6 + IFLA_VF_STATS_RX_DROPPED = 0x7 + IFLA_VF_STATS_TX_DROPPED = 0x8 + IFLA_VF_PORT_UNSPEC = 0x0 + IFLA_VF_PORT = 0x1 + IFLA_PORT_UNSPEC = 0x0 + IFLA_PORT_VF = 0x1 + IFLA_PORT_PROFILE = 0x2 + IFLA_PORT_VSI_TYPE = 0x3 + IFLA_PORT_INSTANCE_UUID = 0x4 + IFLA_PORT_HOST_UUID = 0x5 + IFLA_PORT_REQUEST = 0x6 + IFLA_PORT_RESPONSE = 0x7 + IFLA_IPOIB_UNSPEC = 0x0 + IFLA_IPOIB_PKEY = 0x1 + IFLA_IPOIB_MODE = 0x2 + IFLA_IPOIB_UMCAST = 0x3 + IFLA_HSR_UNSPEC = 0x0 + IFLA_HSR_SLAVE1 = 0x1 + IFLA_HSR_SLAVE2 = 0x2 + IFLA_HSR_MULTICAST_SPEC = 0x3 + IFLA_HSR_SUPERVISION_ADDR = 0x4 + IFLA_HSR_SEQ_NR = 0x5 + IFLA_HSR_VERSION = 0x6 + IFLA_HSR_PROTOCOL = 0x7 + IFLA_STATS_UNSPEC = 0x0 + IFLA_STATS_LINK_64 = 0x1 + IFLA_STATS_LINK_XSTATS = 0x2 + IFLA_STATS_LINK_XSTATS_SLAVE = 0x3 + IFLA_STATS_LINK_OFFLOAD_XSTATS = 0x4 + IFLA_STATS_AF_SPEC = 0x5 + IFLA_OFFLOAD_XSTATS_UNSPEC = 0x0 + IFLA_OFFLOAD_XSTATS_CPU_HIT = 0x1 + IFLA_XDP_UNSPEC = 0x0 + IFLA_XDP_FD = 0x1 + IFLA_XDP_ATTACHED = 0x2 + IFLA_XDP_FLAGS = 0x3 + IFLA_XDP_PROG_ID = 0x4 + IFLA_XDP_DRV_PROG_ID = 0x5 + IFLA_XDP_SKB_PROG_ID = 0x6 + IFLA_XDP_HW_PROG_ID = 0x7 + IFLA_XDP_EXPECTED_FD = 0x8 + IFLA_EVENT_NONE = 0x0 + IFLA_EVENT_REBOOT = 0x1 + IFLA_EVENT_FEATURES = 0x2 + IFLA_EVENT_BONDING_FAILOVER = 0x3 + IFLA_EVENT_NOTIFY_PEERS = 0x4 + IFLA_EVENT_IGMP_RESEND = 0x5 + IFLA_EVENT_BONDING_OPTIONS = 0x6 + IFLA_TUN_UNSPEC = 0x0 + IFLA_TUN_OWNER = 0x1 + IFLA_TUN_GROUP = 0x2 + IFLA_TUN_TYPE = 0x3 + IFLA_TUN_PI = 0x4 + IFLA_TUN_VNET_HDR = 0x5 + IFLA_TUN_PERSIST = 0x6 + IFLA_TUN_MULTI_QUEUE = 0x7 + IFLA_TUN_NUM_QUEUES = 0x8 + IFLA_TUN_NUM_DISABLED_QUEUES = 0x9 + IFLA_RMNET_UNSPEC = 0x0 + IFLA_RMNET_MUX_ID = 0x1 + IFLA_RMNET_FLAGS = 0x2 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +const SO_ORIGINAL_DST = 0x50 + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNSPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +const ( + NFTA_TARGET_UNSPEC = 0x0 + NFTA_TARGET_NAME = 0x1 + NFTA_TARGET_REV = 0x2 + NFTA_TARGET_INFO = 0x3 + NFTA_MATCH_UNSPEC = 0x0 + NFTA_MATCH_NAME = 0x1 + NFTA_MATCH_REV = 0x2 + NFTA_MATCH_INFO = 0x3 + NFTA_COMPAT_UNSPEC = 0x0 + NFTA_COMPAT_NAME = 0x1 + NFTA_COMPAT_REV = 0x2 + NFTA_COMPAT_TYPE = 0x3 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +const ( + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 + NETNSA_TARGET_NSID = 0x4 + NETNSA_CURRENT_NSID = 0x5 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 + Flags uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 + Rx_ring_full uint64 + Rx_fill_ring_empty_descs uint64 + Tx_ring_empty_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_FREEZE = 0x16 + BPF_BTF_GET_NEXT_ID = 0x17 + BPF_MAP_LOOKUP_BATCH = 0x18 + BPF_MAP_LOOKUP_AND_DELETE_BATCH = 0x19 + BPF_MAP_UPDATE_BATCH = 0x1a + BPF_MAP_DELETE_BATCH = 0x1b + BPF_LINK_CREATE = 0x1c + BPF_LINK_UPDATE = 0x1d + BPF_LINK_GET_FD_BY_ID = 0x1e + BPF_LINK_GET_NEXT_ID = 0x1f + BPF_ENABLE_STATS = 0x20 + BPF_ITER_CREATE = 0x21 + BPF_LINK_DETACH = 0x22 + BPF_PROG_BIND_MAP = 0x23 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_MAP_TYPE_SK_STORAGE = 0x18 + BPF_MAP_TYPE_DEVMAP_HASH = 0x19 + BPF_MAP_TYPE_STRUCT_OPS = 0x1a + BPF_MAP_TYPE_RINGBUF = 0x1b + BPF_MAP_TYPE_INODE_STORAGE = 0x1c + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_PROG_TYPE_CGROUP_SYSCTL = 0x17 + BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 0x18 + BPF_PROG_TYPE_CGROUP_SOCKOPT = 0x19 + BPF_PROG_TYPE_TRACING = 0x1a + BPF_PROG_TYPE_STRUCT_OPS = 0x1b + BPF_PROG_TYPE_EXT = 0x1c + BPF_PROG_TYPE_LSM = 0x1d + BPF_PROG_TYPE_SK_LOOKUP = 0x1e + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_CGROUP_SYSCTL = 0x12 + BPF_CGROUP_UDP4_RECVMSG = 0x13 + BPF_CGROUP_UDP6_RECVMSG = 0x14 + BPF_CGROUP_GETSOCKOPT = 0x15 + BPF_CGROUP_SETSOCKOPT = 0x16 + BPF_TRACE_RAW_TP = 0x17 + BPF_TRACE_FENTRY = 0x18 + BPF_TRACE_FEXIT = 0x19 + BPF_MODIFY_RETURN = 0x1a + BPF_LSM_MAC = 0x1b + BPF_TRACE_ITER = 0x1c + BPF_CGROUP_INET4_GETPEERNAME = 0x1d + BPF_CGROUP_INET6_GETPEERNAME = 0x1e + BPF_CGROUP_INET4_GETSOCKNAME = 0x1f + BPF_CGROUP_INET6_GETSOCKNAME = 0x20 + BPF_XDP_DEVMAP = 0x21 + BPF_CGROUP_INET_SOCK_RELEASE = 0x22 + BPF_XDP_CPUMAP = 0x23 + BPF_SK_LOOKUP = 0x24 + BPF_XDP = 0x25 + BPF_LINK_TYPE_UNSPEC = 0x0 + BPF_LINK_TYPE_RAW_TRACEPOINT = 0x1 + BPF_LINK_TYPE_TRACING = 0x2 + BPF_LINK_TYPE_CGROUP = 0x3 + BPF_LINK_TYPE_ITER = 0x4 + BPF_LINK_TYPE_NETNS = 0x5 + BPF_LINK_TYPE_XDP = 0x6 + BPF_ANY = 0x0 + BPF_NOEXIST = 0x1 + BPF_EXIST = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NUMA_NODE = 0x4 + BPF_F_RDONLY = 0x8 + BPF_F_WRONLY = 0x10 + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_ZERO_SEED = 0x40 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_CLONE = 0x200 + BPF_F_MMAPABLE = 0x400 + BPF_F_PRESERVE_ELEMS = 0x800 + BPF_F_INNER_MAP = 0x1000 + BPF_STATS_RUN_TIME = 0x0 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_INGRESS = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_USER_STACK = 0x100 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_NETNS = -0x1 + BPF_CSUM_LEVEL_QUERY = 0x0 + BPF_CSUM_LEVEL_INC = 0x1 + BPF_CSUM_LEVEL_DEC = 0x2 + BPF_CSUM_LEVEL_RESET = 0x3 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_NO_CSUM_RESET = 0x20 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_LOCAL_STORAGE_GET_F_CREATE = 0x1 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_F_GET_BRANCH_RECORDS_SIZE = 0x1 + BPF_RB_NO_WAKEUP = 0x1 + BPF_RB_FORCE_WAKEUP = 0x2 + BPF_RB_AVAIL_DATA = 0x0 + BPF_RB_RING_SIZE = 0x1 + BPF_RB_CONS_POS = 0x2 + BPF_RB_PROD_POS = 0x3 + BPF_RINGBUF_BUSY_BIT = 0x80000000 + BPF_RINGBUF_DISCARD_BIT = 0x40000000 + BPF_RINGBUF_HDR_SZ = 0x8 + BPF_SK_LOOKUP_F_REPLACE = 0x1 + BPF_SK_LOOKUP_F_NO_REUSEPORT = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_ADJ_ROOM_MAC = 0x1 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_LWT_ENCAP_IP = 0x2 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_LWT_REROUTE = 0x80 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 0x10 + BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 0x20 + BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 0x40 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7f + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_SOCK_OPS_RTT_CB = 0xc + BPF_SOCK_OPS_PARSE_HDR_OPT_CB = 0xd + BPF_SOCK_OPS_HDR_OPT_LEN_CB = 0xe + BPF_SOCK_OPS_WRITE_HDR_OPT_CB = 0xf + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_BPF_DELACK_MAX = 0x3eb + TCP_BPF_RTO_MIN = 0x3ec + TCP_BPF_SYN = 0x3ed + TCP_BPF_SYN_IP = 0x3ee + TCP_BPF_SYN_MAC = 0x3ef + BPF_LOAD_HDR_OPT_TCP_SYN = 0x1 + BPF_WRITE_HDR_TCP_CURRENT_MSS = 0x1 + BPF_WRITE_HDR_TCP_SYNACK_COOKIE = 0x2 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_FIB_LOOKUP_DIRECT = 0x1 + BPF_FIB_LOOKUP_OUTPUT = 0x2 + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 + BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 + BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 + BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 +) + +const ( + 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_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 + RTNLGRP_BRVLAN = 0x21 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) + +const ( + DEVLINK_CMD_UNSPEC = 0x0 + DEVLINK_CMD_GET = 0x1 + DEVLINK_CMD_SET = 0x2 + DEVLINK_CMD_NEW = 0x3 + DEVLINK_CMD_DEL = 0x4 + DEVLINK_CMD_PORT_GET = 0x5 + DEVLINK_CMD_PORT_SET = 0x6 + DEVLINK_CMD_PORT_NEW = 0x7 + DEVLINK_CMD_PORT_DEL = 0x8 + DEVLINK_CMD_PORT_SPLIT = 0x9 + DEVLINK_CMD_PORT_UNSPLIT = 0xa + DEVLINK_CMD_SB_GET = 0xb + DEVLINK_CMD_SB_SET = 0xc + DEVLINK_CMD_SB_NEW = 0xd + DEVLINK_CMD_SB_DEL = 0xe + DEVLINK_CMD_SB_POOL_GET = 0xf + DEVLINK_CMD_SB_POOL_SET = 0x10 + DEVLINK_CMD_SB_POOL_NEW = 0x11 + DEVLINK_CMD_SB_POOL_DEL = 0x12 + DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 + DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 + DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 + DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 + DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 + DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 + DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 + DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a + DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b + DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c + DEVLINK_CMD_ESWITCH_GET = 0x1d + DEVLINK_CMD_ESWITCH_SET = 0x1e + DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f + DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 + DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 + DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 + DEVLINK_CMD_RESOURCE_SET = 0x23 + DEVLINK_CMD_RESOURCE_DUMP = 0x24 + DEVLINK_CMD_RELOAD = 0x25 + DEVLINK_CMD_PARAM_GET = 0x26 + DEVLINK_CMD_PARAM_SET = 0x27 + DEVLINK_CMD_PARAM_NEW = 0x28 + DEVLINK_CMD_PARAM_DEL = 0x29 + DEVLINK_CMD_REGION_GET = 0x2a + DEVLINK_CMD_REGION_SET = 0x2b + DEVLINK_CMD_REGION_NEW = 0x2c + DEVLINK_CMD_REGION_DEL = 0x2d + DEVLINK_CMD_REGION_READ = 0x2e + DEVLINK_CMD_PORT_PARAM_GET = 0x2f + DEVLINK_CMD_PORT_PARAM_SET = 0x30 + DEVLINK_CMD_PORT_PARAM_NEW = 0x31 + DEVLINK_CMD_PORT_PARAM_DEL = 0x32 + DEVLINK_CMD_INFO_GET = 0x33 + DEVLINK_CMD_HEALTH_REPORTER_GET = 0x34 + DEVLINK_CMD_HEALTH_REPORTER_SET = 0x35 + DEVLINK_CMD_HEALTH_REPORTER_RECOVER = 0x36 + DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE = 0x37 + DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET = 0x38 + DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR = 0x39 + DEVLINK_CMD_FLASH_UPDATE = 0x3a + DEVLINK_CMD_FLASH_UPDATE_END = 0x3b + DEVLINK_CMD_FLASH_UPDATE_STATUS = 0x3c + DEVLINK_CMD_TRAP_GET = 0x3d + DEVLINK_CMD_TRAP_SET = 0x3e + DEVLINK_CMD_TRAP_NEW = 0x3f + DEVLINK_CMD_TRAP_DEL = 0x40 + DEVLINK_CMD_TRAP_GROUP_GET = 0x41 + DEVLINK_CMD_TRAP_GROUP_SET = 0x42 + DEVLINK_CMD_TRAP_GROUP_NEW = 0x43 + DEVLINK_CMD_TRAP_GROUP_DEL = 0x44 + DEVLINK_CMD_TRAP_POLICER_GET = 0x45 + DEVLINK_CMD_TRAP_POLICER_SET = 0x46 + DEVLINK_CMD_TRAP_POLICER_NEW = 0x47 + DEVLINK_CMD_TRAP_POLICER_DEL = 0x48 + DEVLINK_CMD_HEALTH_REPORTER_TEST = 0x49 + DEVLINK_CMD_MAX = 0x49 + DEVLINK_PORT_TYPE_NOTSET = 0x0 + DEVLINK_PORT_TYPE_AUTO = 0x1 + DEVLINK_PORT_TYPE_ETH = 0x2 + DEVLINK_PORT_TYPE_IB = 0x3 + DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 + DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 + DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 + DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 + DEVLINK_ESWITCH_MODE_LEGACY = 0x0 + DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 + DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 + DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 + DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 + DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 + DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 + DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 + DEVLINK_PORT_FLAVOUR_PHYSICAL = 0x0 + DEVLINK_PORT_FLAVOUR_CPU = 0x1 + DEVLINK_PORT_FLAVOUR_DSA = 0x2 + DEVLINK_PORT_FLAVOUR_PCI_PF = 0x3 + DEVLINK_PORT_FLAVOUR_PCI_VF = 0x4 + DEVLINK_PORT_FLAVOUR_VIRTUAL = 0x5 + DEVLINK_PORT_FLAVOUR_UNUSED = 0x6 + DEVLINK_PARAM_CMODE_RUNTIME = 0x0 + DEVLINK_PARAM_CMODE_DRIVERINIT = 0x1 + DEVLINK_PARAM_CMODE_PERMANENT = 0x2 + DEVLINK_PARAM_CMODE_MAX = 0x2 + DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER = 0x0 + DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH = 0x1 + DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK = 0x2 + DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN = 0x3 + DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN = 0x0 + DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS = 0x1 + DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER = 0x2 + DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK = 0x3 + DEVLINK_ATTR_STATS_RX_PACKETS = 0x0 + DEVLINK_ATTR_STATS_RX_BYTES = 0x1 + DEVLINK_ATTR_STATS_RX_DROPPED = 0x2 + DEVLINK_ATTR_STATS_MAX = 0x2 + DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT = 0x0 + DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT = 0x1 + DEVLINK_FLASH_OVERWRITE_MAX_BIT = 0x1 + DEVLINK_TRAP_ACTION_DROP = 0x0 + DEVLINK_TRAP_ACTION_TRAP = 0x1 + DEVLINK_TRAP_ACTION_MIRROR = 0x2 + DEVLINK_TRAP_TYPE_DROP = 0x0 + DEVLINK_TRAP_TYPE_EXCEPTION = 0x1 + DEVLINK_TRAP_TYPE_CONTROL = 0x2 + DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT = 0x0 + DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE = 0x1 + DEVLINK_RELOAD_ACTION_UNSPEC = 0x0 + DEVLINK_RELOAD_ACTION_DRIVER_REINIT = 0x1 + DEVLINK_RELOAD_ACTION_FW_ACTIVATE = 0x2 + DEVLINK_RELOAD_ACTION_MAX = 0x2 + DEVLINK_RELOAD_LIMIT_UNSPEC = 0x0 + DEVLINK_RELOAD_LIMIT_NO_RESET = 0x1 + DEVLINK_RELOAD_LIMIT_MAX = 0x1 + DEVLINK_ATTR_UNSPEC = 0x0 + DEVLINK_ATTR_BUS_NAME = 0x1 + DEVLINK_ATTR_DEV_NAME = 0x2 + DEVLINK_ATTR_PORT_INDEX = 0x3 + DEVLINK_ATTR_PORT_TYPE = 0x4 + DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 + DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 + DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 + DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 + DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 + DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa + DEVLINK_ATTR_SB_INDEX = 0xb + DEVLINK_ATTR_SB_SIZE = 0xc + DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd + DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe + DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf + DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 + DEVLINK_ATTR_SB_POOL_INDEX = 0x11 + DEVLINK_ATTR_SB_POOL_TYPE = 0x12 + DEVLINK_ATTR_SB_POOL_SIZE = 0x13 + DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 + DEVLINK_ATTR_SB_THRESHOLD = 0x15 + DEVLINK_ATTR_SB_TC_INDEX = 0x16 + DEVLINK_ATTR_SB_OCC_CUR = 0x17 + DEVLINK_ATTR_SB_OCC_MAX = 0x18 + DEVLINK_ATTR_ESWITCH_MODE = 0x19 + DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a + DEVLINK_ATTR_DPIPE_TABLES = 0x1b + DEVLINK_ATTR_DPIPE_TABLE = 0x1c + DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d + DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e + DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f + DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 + DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 + DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 + DEVLINK_ATTR_DPIPE_ENTRY = 0x23 + DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 + DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 + DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 + DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 + DEVLINK_ATTR_DPIPE_MATCH = 0x28 + DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 + DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a + DEVLINK_ATTR_DPIPE_ACTION = 0x2b + DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c + DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d + DEVLINK_ATTR_DPIPE_VALUE = 0x2e + DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f + DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 + DEVLINK_ATTR_DPIPE_HEADERS = 0x31 + DEVLINK_ATTR_DPIPE_HEADER = 0x32 + DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 + DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 + DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 + DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 + DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 + DEVLINK_ATTR_DPIPE_FIELD = 0x38 + DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 + DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a + DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b + DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c + DEVLINK_ATTR_PAD = 0x3d + DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e + DEVLINK_ATTR_RESOURCE_LIST = 0x3f + DEVLINK_ATTR_RESOURCE = 0x40 + DEVLINK_ATTR_RESOURCE_NAME = 0x41 + DEVLINK_ATTR_RESOURCE_ID = 0x42 + DEVLINK_ATTR_RESOURCE_SIZE = 0x43 + DEVLINK_ATTR_RESOURCE_SIZE_NEW = 0x44 + DEVLINK_ATTR_RESOURCE_SIZE_VALID = 0x45 + DEVLINK_ATTR_RESOURCE_SIZE_MIN = 0x46 + DEVLINK_ATTR_RESOURCE_SIZE_MAX = 0x47 + DEVLINK_ATTR_RESOURCE_SIZE_GRAN = 0x48 + DEVLINK_ATTR_RESOURCE_UNIT = 0x49 + DEVLINK_ATTR_RESOURCE_OCC = 0x4a + DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID = 0x4b + DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS = 0x4c + DEVLINK_ATTR_PORT_FLAVOUR = 0x4d + DEVLINK_ATTR_PORT_NUMBER = 0x4e + DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER = 0x4f + DEVLINK_ATTR_PARAM = 0x50 + DEVLINK_ATTR_PARAM_NAME = 0x51 + DEVLINK_ATTR_PARAM_GENERIC = 0x52 + DEVLINK_ATTR_PARAM_TYPE = 0x53 + DEVLINK_ATTR_PARAM_VALUES_LIST = 0x54 + DEVLINK_ATTR_PARAM_VALUE = 0x55 + DEVLINK_ATTR_PARAM_VALUE_DATA = 0x56 + DEVLINK_ATTR_PARAM_VALUE_CMODE = 0x57 + DEVLINK_ATTR_REGION_NAME = 0x58 + DEVLINK_ATTR_REGION_SIZE = 0x59 + DEVLINK_ATTR_REGION_SNAPSHOTS = 0x5a + DEVLINK_ATTR_REGION_SNAPSHOT = 0x5b + DEVLINK_ATTR_REGION_SNAPSHOT_ID = 0x5c + DEVLINK_ATTR_REGION_CHUNKS = 0x5d + DEVLINK_ATTR_REGION_CHUNK = 0x5e + DEVLINK_ATTR_REGION_CHUNK_DATA = 0x5f + DEVLINK_ATTR_REGION_CHUNK_ADDR = 0x60 + DEVLINK_ATTR_REGION_CHUNK_LEN = 0x61 + DEVLINK_ATTR_INFO_DRIVER_NAME = 0x62 + DEVLINK_ATTR_INFO_SERIAL_NUMBER = 0x63 + DEVLINK_ATTR_INFO_VERSION_FIXED = 0x64 + DEVLINK_ATTR_INFO_VERSION_RUNNING = 0x65 + DEVLINK_ATTR_INFO_VERSION_STORED = 0x66 + DEVLINK_ATTR_INFO_VERSION_NAME = 0x67 + DEVLINK_ATTR_INFO_VERSION_VALUE = 0x68 + DEVLINK_ATTR_SB_POOL_CELL_SIZE = 0x69 + DEVLINK_ATTR_FMSG = 0x6a + DEVLINK_ATTR_FMSG_OBJ_NEST_START = 0x6b + DEVLINK_ATTR_FMSG_PAIR_NEST_START = 0x6c + DEVLINK_ATTR_FMSG_ARR_NEST_START = 0x6d + DEVLINK_ATTR_FMSG_NEST_END = 0x6e + DEVLINK_ATTR_FMSG_OBJ_NAME = 0x6f + DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE = 0x70 + DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA = 0x71 + DEVLINK_ATTR_HEALTH_REPORTER = 0x72 + DEVLINK_ATTR_HEALTH_REPORTER_NAME = 0x73 + DEVLINK_ATTR_HEALTH_REPORTER_STATE = 0x74 + DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT = 0x75 + DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT = 0x76 + DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS = 0x77 + DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD = 0x78 + DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER = 0x79 + DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = 0x7a + DEVLINK_ATTR_FLASH_UPDATE_COMPONENT = 0x7b + DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG = 0x7c + DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE = 0x7d + DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL = 0x7e + DEVLINK_ATTR_PORT_PCI_PF_NUMBER = 0x7f + DEVLINK_ATTR_PORT_PCI_VF_NUMBER = 0x80 + DEVLINK_ATTR_STATS = 0x81 + DEVLINK_ATTR_TRAP_NAME = 0x82 + DEVLINK_ATTR_TRAP_ACTION = 0x83 + DEVLINK_ATTR_TRAP_TYPE = 0x84 + DEVLINK_ATTR_TRAP_GENERIC = 0x85 + DEVLINK_ATTR_TRAP_METADATA = 0x86 + DEVLINK_ATTR_TRAP_GROUP_NAME = 0x87 + DEVLINK_ATTR_RELOAD_FAILED = 0x88 + DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS = 0x89 + DEVLINK_ATTR_NETNS_FD = 0x8a + DEVLINK_ATTR_NETNS_PID = 0x8b + DEVLINK_ATTR_NETNS_ID = 0x8c + DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP = 0x8d + DEVLINK_ATTR_TRAP_POLICER_ID = 0x8e + DEVLINK_ATTR_TRAP_POLICER_RATE = 0x8f + DEVLINK_ATTR_TRAP_POLICER_BURST = 0x90 + DEVLINK_ATTR_PORT_FUNCTION = 0x91 + DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER = 0x92 + DEVLINK_ATTR_PORT_LANES = 0x93 + DEVLINK_ATTR_PORT_SPLITTABLE = 0x94 + DEVLINK_ATTR_PORT_EXTERNAL = 0x95 + DEVLINK_ATTR_PORT_CONTROLLER_NUMBER = 0x96 + DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT = 0x97 + DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = 0x98 + DEVLINK_ATTR_RELOAD_ACTION = 0x99 + DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED = 0x9a + DEVLINK_ATTR_RELOAD_LIMITS = 0x9b + DEVLINK_ATTR_DEV_STATS = 0x9c + DEVLINK_ATTR_RELOAD_STATS = 0x9d + DEVLINK_ATTR_RELOAD_STATS_ENTRY = 0x9e + DEVLINK_ATTR_RELOAD_STATS_LIMIT = 0x9f + DEVLINK_ATTR_RELOAD_STATS_VALUE = 0xa0 + DEVLINK_ATTR_REMOTE_RELOAD_STATS = 0xa1 + DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2 + DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3 + DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4 + DEVLINK_ATTR_MAX = 0xa4 + DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 + DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 + DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 + DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 + DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 + DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 + DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 + DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 + DEVLINK_DPIPE_HEADER_IPV4 = 0x1 + DEVLINK_DPIPE_HEADER_IPV6 = 0x2 + DEVLINK_RESOURCE_UNIT_ENTRY = 0x0 + DEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0x0 + DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 0x1 + DEVLINK_PORT_FN_ATTR_STATE = 0x2 + DEVLINK_PORT_FN_ATTR_OPSTATE = 0x3 + DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x3 +) + +type FsverityDigest struct { + Algorithm uint16 + Size uint16 +} + +type FsverityEnableArg struct { + Version uint32 + Hash_algorithm uint32 + Block_size uint32 + Salt_size uint32 + Salt_ptr uint64 + Sig_size uint32 + _ uint32 + Sig_ptr uint64 + _ [11]uint64 +} + +type Nhmsg struct { + Family uint8 + Scope uint8 + Protocol uint8 + Resvd uint8 + Flags uint32 +} + +type NexthopGrp struct { + Id uint32 + Weight uint8 + Resvd1 uint8 + Resvd2 uint16 +} + +const ( + NHA_UNSPEC = 0x0 + NHA_ID = 0x1 + NHA_GROUP = 0x2 + NHA_GROUP_TYPE = 0x3 + NHA_BLACKHOLE = 0x4 + NHA_OIF = 0x5 + NHA_GATEWAY = 0x6 + NHA_ENCAP_TYPE = 0x7 + NHA_ENCAP = 0x8 + NHA_GROUPS = 0x9 + NHA_MASTER = 0xa +) + +const ( + CAN_RAW_FILTER = 0x1 + CAN_RAW_ERR_FILTER = 0x2 + CAN_RAW_LOOPBACK = 0x3 + CAN_RAW_RECV_OWN_MSGS = 0x4 + CAN_RAW_FD_FRAMES = 0x5 + CAN_RAW_JOIN_FILTERS = 0x6 +) + +type WatchdogInfo struct { + Options uint32 + Version uint32 + Identity [32]uint8 +} + +type PPSFData struct { + Info PPSKInfo + Timeout PPSKTime +} + +type PPSKParams struct { + Api_version int32 + Mode int32 + Assert_off_tu PPSKTime + Clear_off_tu PPSKTime +} + +type PPSKTime struct { + Sec int64 + Nsec int32 + Flags uint32 +} + +const ( + LWTUNNEL_ENCAP_NONE = 0x0 + LWTUNNEL_ENCAP_MPLS = 0x1 + LWTUNNEL_ENCAP_IP = 0x2 + LWTUNNEL_ENCAP_ILA = 0x3 + LWTUNNEL_ENCAP_IP6 = 0x4 + LWTUNNEL_ENCAP_SEG6 = 0x5 + LWTUNNEL_ENCAP_BPF = 0x6 + LWTUNNEL_ENCAP_SEG6_LOCAL = 0x7 + LWTUNNEL_ENCAP_RPL = 0x8 + LWTUNNEL_ENCAP_MAX = 0x8 + + MPLS_IPTUNNEL_UNSPEC = 0x0 + MPLS_IPTUNNEL_DST = 0x1 + MPLS_IPTUNNEL_TTL = 0x2 + MPLS_IPTUNNEL_MAX = 0x2 +) + +const ( + ETHTOOL_ID_UNSPEC = 0x0 + ETHTOOL_RX_COPYBREAK = 0x1 + ETHTOOL_TX_COPYBREAK = 0x2 + ETHTOOL_PFC_PREVENTION_TOUT = 0x3 + ETHTOOL_TUNABLE_UNSPEC = 0x0 + ETHTOOL_TUNABLE_U8 = 0x1 + ETHTOOL_TUNABLE_U16 = 0x2 + ETHTOOL_TUNABLE_U32 = 0x3 + ETHTOOL_TUNABLE_U64 = 0x4 + ETHTOOL_TUNABLE_STRING = 0x5 + ETHTOOL_TUNABLE_S8 = 0x6 + ETHTOOL_TUNABLE_S16 = 0x7 + ETHTOOL_TUNABLE_S32 = 0x8 + ETHTOOL_TUNABLE_S64 = 0x9 + ETHTOOL_PHY_ID_UNSPEC = 0x0 + ETHTOOL_PHY_DOWNSHIFT = 0x1 + ETHTOOL_PHY_FAST_LINK_DOWN = 0x2 + ETHTOOL_PHY_EDPD = 0x3 + ETHTOOL_LINK_EXT_STATE_AUTONEG = 0x0 + ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 0x1 + ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 0x2 + ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 0x3 + ETHTOOL_LINK_EXT_STATE_NO_CABLE = 0x4 + ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 0x5 + ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 0x6 + ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 0x7 + ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 0x8 + ETHTOOL_LINK_EXT_STATE_OVERHEAT = 0x9 + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 0x1 + ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 0x2 + ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 0x3 + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 0x4 + ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 0x5 + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 0x6 + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 0x1 + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 0x2 + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 0x3 + ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 0x4 + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 0x1 + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 0x2 + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 0x3 + ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 0x4 + ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 0x5 + ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 0x1 + ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 0x2 + ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 0x1 + ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 0x2 + ETHTOOL_FLASH_ALL_REGIONS = 0x0 + ETHTOOL_F_UNSUPPORTED__BIT = 0x0 + ETHTOOL_F_WISH__BIT = 0x1 + ETHTOOL_F_COMPAT__BIT = 0x2 + ETHTOOL_FEC_NONE_BIT = 0x0 + ETHTOOL_FEC_AUTO_BIT = 0x1 + ETHTOOL_FEC_OFF_BIT = 0x2 + ETHTOOL_FEC_RS_BIT = 0x3 + ETHTOOL_FEC_BASER_BIT = 0x4 + ETHTOOL_FEC_LLRS_BIT = 0x5 + ETHTOOL_LINK_MODE_10baseT_Half_BIT = 0x0 + ETHTOOL_LINK_MODE_10baseT_Full_BIT = 0x1 + ETHTOOL_LINK_MODE_100baseT_Half_BIT = 0x2 + ETHTOOL_LINK_MODE_100baseT_Full_BIT = 0x3 + ETHTOOL_LINK_MODE_1000baseT_Half_BIT = 0x4 + ETHTOOL_LINK_MODE_1000baseT_Full_BIT = 0x5 + ETHTOOL_LINK_MODE_Autoneg_BIT = 0x6 + ETHTOOL_LINK_MODE_TP_BIT = 0x7 + ETHTOOL_LINK_MODE_AUI_BIT = 0x8 + ETHTOOL_LINK_MODE_MII_BIT = 0x9 + ETHTOOL_LINK_MODE_FIBRE_BIT = 0xa + ETHTOOL_LINK_MODE_BNC_BIT = 0xb + ETHTOOL_LINK_MODE_10000baseT_Full_BIT = 0xc + ETHTOOL_LINK_MODE_Pause_BIT = 0xd + ETHTOOL_LINK_MODE_Asym_Pause_BIT = 0xe + ETHTOOL_LINK_MODE_2500baseX_Full_BIT = 0xf + ETHTOOL_LINK_MODE_Backplane_BIT = 0x10 + ETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 0x11 + ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 0x12 + ETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 0x13 + ETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 0x14 + ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 0x15 + ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 0x16 + ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 0x17 + ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 0x18 + ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 0x19 + ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 0x1a + ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 0x1b + ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 0x1c + ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 0x1d + ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 0x1e + ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 0x1f + ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 0x20 + ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 0x21 + ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 0x22 + ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 0x23 + ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 0x24 + ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 0x25 + ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 0x26 + ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 0x27 + ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 0x28 + ETHTOOL_LINK_MODE_1000baseX_Full_BIT = 0x29 + ETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 0x2a + ETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 0x2b + ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 0x2c + ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 0x2d + ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 0x2e + ETHTOOL_LINK_MODE_2500baseT_Full_BIT = 0x2f + ETHTOOL_LINK_MODE_5000baseT_Full_BIT = 0x30 + ETHTOOL_LINK_MODE_FEC_NONE_BIT = 0x31 + ETHTOOL_LINK_MODE_FEC_RS_BIT = 0x32 + ETHTOOL_LINK_MODE_FEC_BASER_BIT = 0x33 + ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 0x34 + ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 0x35 + ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 0x36 + ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 0x37 + ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 0x38 + ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 0x39 + ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 0x3a + ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 0x3b + ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 0x3c + ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 0x3d + ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 0x3e + ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 0x3f + ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 0x40 + ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 0x41 + ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 0x42 + ETHTOOL_LINK_MODE_100baseT1_Full_BIT = 0x43 + ETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 0x44 + ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 0x45 + ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 0x46 + ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 0x47 + ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 0x48 + ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 0x49 + ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 0x4a + ETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 0x4b + ETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 0x4c + ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 0x4d + ETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 0x4e + ETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 0x4f + ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 0x50 + ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 0x51 + ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 0x52 + ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 0x53 + ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 0x54 + ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 0x55 + ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 0x56 + ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 0x57 + ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 0x58 + ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 0x59 + ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 0x5a + ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 0x5b + + ETHTOOL_MSG_USER_NONE = 0x0 + ETHTOOL_MSG_STRSET_GET = 0x1 + ETHTOOL_MSG_LINKINFO_GET = 0x2 + ETHTOOL_MSG_LINKINFO_SET = 0x3 + ETHTOOL_MSG_LINKMODES_GET = 0x4 + ETHTOOL_MSG_LINKMODES_SET = 0x5 + ETHTOOL_MSG_LINKSTATE_GET = 0x6 + ETHTOOL_MSG_DEBUG_GET = 0x7 + ETHTOOL_MSG_DEBUG_SET = 0x8 + ETHTOOL_MSG_WOL_GET = 0x9 + ETHTOOL_MSG_WOL_SET = 0xa + ETHTOOL_MSG_FEATURES_GET = 0xb + ETHTOOL_MSG_FEATURES_SET = 0xc + ETHTOOL_MSG_PRIVFLAGS_GET = 0xd + ETHTOOL_MSG_PRIVFLAGS_SET = 0xe + ETHTOOL_MSG_RINGS_GET = 0xf + ETHTOOL_MSG_RINGS_SET = 0x10 + ETHTOOL_MSG_CHANNELS_GET = 0x11 + ETHTOOL_MSG_CHANNELS_SET = 0x12 + ETHTOOL_MSG_COALESCE_GET = 0x13 + ETHTOOL_MSG_COALESCE_SET = 0x14 + ETHTOOL_MSG_PAUSE_GET = 0x15 + ETHTOOL_MSG_PAUSE_SET = 0x16 + ETHTOOL_MSG_EEE_GET = 0x17 + ETHTOOL_MSG_EEE_SET = 0x18 + ETHTOOL_MSG_TSINFO_GET = 0x19 + ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a + ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b + ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c + ETHTOOL_MSG_USER_MAX = 0x1c + ETHTOOL_MSG_KERNEL_NONE = 0x0 + ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 + ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2 + ETHTOOL_MSG_LINKINFO_NTF = 0x3 + ETHTOOL_MSG_LINKMODES_GET_REPLY = 0x4 + ETHTOOL_MSG_LINKMODES_NTF = 0x5 + ETHTOOL_MSG_LINKSTATE_GET_REPLY = 0x6 + ETHTOOL_MSG_DEBUG_GET_REPLY = 0x7 + ETHTOOL_MSG_DEBUG_NTF = 0x8 + ETHTOOL_MSG_WOL_GET_REPLY = 0x9 + ETHTOOL_MSG_WOL_NTF = 0xa + ETHTOOL_MSG_FEATURES_GET_REPLY = 0xb + ETHTOOL_MSG_FEATURES_SET_REPLY = 0xc + ETHTOOL_MSG_FEATURES_NTF = 0xd + ETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 0xe + ETHTOOL_MSG_PRIVFLAGS_NTF = 0xf + ETHTOOL_MSG_RINGS_GET_REPLY = 0x10 + ETHTOOL_MSG_RINGS_NTF = 0x11 + ETHTOOL_MSG_CHANNELS_GET_REPLY = 0x12 + ETHTOOL_MSG_CHANNELS_NTF = 0x13 + ETHTOOL_MSG_COALESCE_GET_REPLY = 0x14 + ETHTOOL_MSG_COALESCE_NTF = 0x15 + ETHTOOL_MSG_PAUSE_GET_REPLY = 0x16 + ETHTOOL_MSG_PAUSE_NTF = 0x17 + ETHTOOL_MSG_EEE_GET_REPLY = 0x18 + ETHTOOL_MSG_EEE_NTF = 0x19 + ETHTOOL_MSG_TSINFO_GET_REPLY = 0x1a + ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b + ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c + ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d + ETHTOOL_MSG_KERNEL_MAX = 0x1d + ETHTOOL_A_HEADER_UNSPEC = 0x0 + ETHTOOL_A_HEADER_DEV_INDEX = 0x1 + ETHTOOL_A_HEADER_DEV_NAME = 0x2 + ETHTOOL_A_HEADER_FLAGS = 0x3 + ETHTOOL_A_HEADER_MAX = 0x3 + ETHTOOL_A_BITSET_BIT_UNSPEC = 0x0 + ETHTOOL_A_BITSET_BIT_INDEX = 0x1 + ETHTOOL_A_BITSET_BIT_NAME = 0x2 + ETHTOOL_A_BITSET_BIT_VALUE = 0x3 + ETHTOOL_A_BITSET_BIT_MAX = 0x3 + ETHTOOL_A_BITSET_BITS_UNSPEC = 0x0 + ETHTOOL_A_BITSET_BITS_BIT = 0x1 + ETHTOOL_A_BITSET_BITS_MAX = 0x1 + ETHTOOL_A_BITSET_UNSPEC = 0x0 + ETHTOOL_A_BITSET_NOMASK = 0x1 + ETHTOOL_A_BITSET_SIZE = 0x2 + ETHTOOL_A_BITSET_BITS = 0x3 + ETHTOOL_A_BITSET_VALUE = 0x4 + ETHTOOL_A_BITSET_MASK = 0x5 + ETHTOOL_A_BITSET_MAX = 0x5 + ETHTOOL_A_STRING_UNSPEC = 0x0 + ETHTOOL_A_STRING_INDEX = 0x1 + ETHTOOL_A_STRING_VALUE = 0x2 + ETHTOOL_A_STRING_MAX = 0x2 + ETHTOOL_A_STRINGS_UNSPEC = 0x0 + ETHTOOL_A_STRINGS_STRING = 0x1 + ETHTOOL_A_STRINGS_MAX = 0x1 + ETHTOOL_A_STRINGSET_UNSPEC = 0x0 + ETHTOOL_A_STRINGSET_ID = 0x1 + ETHTOOL_A_STRINGSET_COUNT = 0x2 + ETHTOOL_A_STRINGSET_STRINGS = 0x3 + ETHTOOL_A_STRINGSET_MAX = 0x3 + ETHTOOL_A_STRINGSETS_UNSPEC = 0x0 + ETHTOOL_A_STRINGSETS_STRINGSET = 0x1 + ETHTOOL_A_STRINGSETS_MAX = 0x1 + ETHTOOL_A_STRSET_UNSPEC = 0x0 + ETHTOOL_A_STRSET_HEADER = 0x1 + ETHTOOL_A_STRSET_STRINGSETS = 0x2 + ETHTOOL_A_STRSET_COUNTS_ONLY = 0x3 + ETHTOOL_A_STRSET_MAX = 0x3 + ETHTOOL_A_LINKINFO_UNSPEC = 0x0 + ETHTOOL_A_LINKINFO_HEADER = 0x1 + ETHTOOL_A_LINKINFO_PORT = 0x2 + ETHTOOL_A_LINKINFO_PHYADDR = 0x3 + ETHTOOL_A_LINKINFO_TP_MDIX = 0x4 + ETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 0x5 + ETHTOOL_A_LINKINFO_TRANSCEIVER = 0x6 + ETHTOOL_A_LINKINFO_MAX = 0x6 + ETHTOOL_A_LINKMODES_UNSPEC = 0x0 + ETHTOOL_A_LINKMODES_HEADER = 0x1 + ETHTOOL_A_LINKMODES_AUTONEG = 0x2 + ETHTOOL_A_LINKMODES_OURS = 0x3 + ETHTOOL_A_LINKMODES_PEER = 0x4 + ETHTOOL_A_LINKMODES_SPEED = 0x5 + ETHTOOL_A_LINKMODES_DUPLEX = 0x6 + ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 0x7 + ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 0x8 + ETHTOOL_A_LINKMODES_LANES = 0x9 + ETHTOOL_A_LINKMODES_MAX = 0x9 + ETHTOOL_A_LINKSTATE_UNSPEC = 0x0 + ETHTOOL_A_LINKSTATE_HEADER = 0x1 + ETHTOOL_A_LINKSTATE_LINK = 0x2 + ETHTOOL_A_LINKSTATE_SQI = 0x3 + ETHTOOL_A_LINKSTATE_SQI_MAX = 0x4 + ETHTOOL_A_LINKSTATE_EXT_STATE = 0x5 + ETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 0x6 + ETHTOOL_A_LINKSTATE_MAX = 0x6 + ETHTOOL_A_DEBUG_UNSPEC = 0x0 + ETHTOOL_A_DEBUG_HEADER = 0x1 + ETHTOOL_A_DEBUG_MSGMASK = 0x2 + ETHTOOL_A_DEBUG_MAX = 0x2 + ETHTOOL_A_WOL_UNSPEC = 0x0 + ETHTOOL_A_WOL_HEADER = 0x1 + ETHTOOL_A_WOL_MODES = 0x2 + ETHTOOL_A_WOL_SOPASS = 0x3 + ETHTOOL_A_WOL_MAX = 0x3 + ETHTOOL_A_FEATURES_UNSPEC = 0x0 + ETHTOOL_A_FEATURES_HEADER = 0x1 + ETHTOOL_A_FEATURES_HW = 0x2 + ETHTOOL_A_FEATURES_WANTED = 0x3 + ETHTOOL_A_FEATURES_ACTIVE = 0x4 + ETHTOOL_A_FEATURES_NOCHANGE = 0x5 + ETHTOOL_A_FEATURES_MAX = 0x5 + ETHTOOL_A_PRIVFLAGS_UNSPEC = 0x0 + ETHTOOL_A_PRIVFLAGS_HEADER = 0x1 + ETHTOOL_A_PRIVFLAGS_FLAGS = 0x2 + ETHTOOL_A_PRIVFLAGS_MAX = 0x2 + ETHTOOL_A_RINGS_UNSPEC = 0x0 + ETHTOOL_A_RINGS_HEADER = 0x1 + ETHTOOL_A_RINGS_RX_MAX = 0x2 + ETHTOOL_A_RINGS_RX_MINI_MAX = 0x3 + ETHTOOL_A_RINGS_RX_JUMBO_MAX = 0x4 + ETHTOOL_A_RINGS_TX_MAX = 0x5 + ETHTOOL_A_RINGS_RX = 0x6 + ETHTOOL_A_RINGS_RX_MINI = 0x7 + ETHTOOL_A_RINGS_RX_JUMBO = 0x8 + ETHTOOL_A_RINGS_TX = 0x9 + ETHTOOL_A_RINGS_MAX = 0x9 + ETHTOOL_A_CHANNELS_UNSPEC = 0x0 + ETHTOOL_A_CHANNELS_HEADER = 0x1 + ETHTOOL_A_CHANNELS_RX_MAX = 0x2 + ETHTOOL_A_CHANNELS_TX_MAX = 0x3 + ETHTOOL_A_CHANNELS_OTHER_MAX = 0x4 + ETHTOOL_A_CHANNELS_COMBINED_MAX = 0x5 + ETHTOOL_A_CHANNELS_RX_COUNT = 0x6 + ETHTOOL_A_CHANNELS_TX_COUNT = 0x7 + ETHTOOL_A_CHANNELS_OTHER_COUNT = 0x8 + ETHTOOL_A_CHANNELS_COMBINED_COUNT = 0x9 + ETHTOOL_A_CHANNELS_MAX = 0x9 + ETHTOOL_A_COALESCE_UNSPEC = 0x0 + ETHTOOL_A_COALESCE_HEADER = 0x1 + ETHTOOL_A_COALESCE_RX_USECS = 0x2 + ETHTOOL_A_COALESCE_RX_MAX_FRAMES = 0x3 + ETHTOOL_A_COALESCE_RX_USECS_IRQ = 0x4 + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 0x5 + ETHTOOL_A_COALESCE_TX_USECS = 0x6 + ETHTOOL_A_COALESCE_TX_MAX_FRAMES = 0x7 + ETHTOOL_A_COALESCE_TX_USECS_IRQ = 0x8 + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 0x9 + ETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 0xa + ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 0xb + ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 0xc + ETHTOOL_A_COALESCE_PKT_RATE_LOW = 0xd + ETHTOOL_A_COALESCE_RX_USECS_LOW = 0xe + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 0xf + ETHTOOL_A_COALESCE_TX_USECS_LOW = 0x10 + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 0x11 + ETHTOOL_A_COALESCE_PKT_RATE_HIGH = 0x12 + ETHTOOL_A_COALESCE_RX_USECS_HIGH = 0x13 + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 0x14 + ETHTOOL_A_COALESCE_TX_USECS_HIGH = 0x15 + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 0x16 + ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 0x17 + ETHTOOL_A_COALESCE_MAX = 0x17 + ETHTOOL_A_PAUSE_UNSPEC = 0x0 + ETHTOOL_A_PAUSE_HEADER = 0x1 + ETHTOOL_A_PAUSE_AUTONEG = 0x2 + ETHTOOL_A_PAUSE_RX = 0x3 + ETHTOOL_A_PAUSE_TX = 0x4 + ETHTOOL_A_PAUSE_STATS = 0x5 + ETHTOOL_A_PAUSE_MAX = 0x5 + ETHTOOL_A_PAUSE_STAT_UNSPEC = 0x0 + ETHTOOL_A_PAUSE_STAT_PAD = 0x1 + ETHTOOL_A_PAUSE_STAT_TX_FRAMES = 0x2 + ETHTOOL_A_PAUSE_STAT_RX_FRAMES = 0x3 + ETHTOOL_A_PAUSE_STAT_MAX = 0x3 + ETHTOOL_A_EEE_UNSPEC = 0x0 + ETHTOOL_A_EEE_HEADER = 0x1 + ETHTOOL_A_EEE_MODES_OURS = 0x2 + ETHTOOL_A_EEE_MODES_PEER = 0x3 + ETHTOOL_A_EEE_ACTIVE = 0x4 + ETHTOOL_A_EEE_ENABLED = 0x5 + ETHTOOL_A_EEE_TX_LPI_ENABLED = 0x6 + ETHTOOL_A_EEE_TX_LPI_TIMER = 0x7 + ETHTOOL_A_EEE_MAX = 0x7 + ETHTOOL_A_TSINFO_UNSPEC = 0x0 + ETHTOOL_A_TSINFO_HEADER = 0x1 + ETHTOOL_A_TSINFO_TIMESTAMPING = 0x2 + ETHTOOL_A_TSINFO_TX_TYPES = 0x3 + ETHTOOL_A_TSINFO_RX_FILTERS = 0x4 + ETHTOOL_A_TSINFO_PHC_INDEX = 0x5 + ETHTOOL_A_TSINFO_MAX = 0x5 + ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0 + ETHTOOL_A_CABLE_TEST_HEADER = 0x1 + ETHTOOL_A_CABLE_TEST_MAX = 0x1 + ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = 0x0 + ETHTOOL_A_CABLE_RESULT_CODE_OK = 0x1 + ETHTOOL_A_CABLE_RESULT_CODE_OPEN = 0x2 + ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = 0x3 + ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = 0x4 + ETHTOOL_A_CABLE_PAIR_A = 0x0 + ETHTOOL_A_CABLE_PAIR_B = 0x1 + ETHTOOL_A_CABLE_PAIR_C = 0x2 + ETHTOOL_A_CABLE_PAIR_D = 0x3 + ETHTOOL_A_CABLE_RESULT_UNSPEC = 0x0 + ETHTOOL_A_CABLE_RESULT_PAIR = 0x1 + ETHTOOL_A_CABLE_RESULT_CODE = 0x2 + ETHTOOL_A_CABLE_RESULT_MAX = 0x2 + ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0x0 + ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 0x1 + ETHTOOL_A_CABLE_FAULT_LENGTH_CM = 0x2 + ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 0x2 + ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0x0 + ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 0x1 + ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 0x2 + ETHTOOL_A_CABLE_NEST_UNSPEC = 0x0 + ETHTOOL_A_CABLE_NEST_RESULT = 0x1 + ETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 0x2 + ETHTOOL_A_CABLE_NEST_MAX = 0x2 + ETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0x0 + ETHTOOL_A_CABLE_TEST_NTF_HEADER = 0x1 + ETHTOOL_A_CABLE_TEST_NTF_STATUS = 0x2 + ETHTOOL_A_CABLE_TEST_NTF_NEST = 0x3 + ETHTOOL_A_CABLE_TEST_NTF_MAX = 0x3 + ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0x0 + ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 0x1 + ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 0x2 + ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 0x3 + ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 0x4 + ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 0x4 + ETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0x0 + ETHTOOL_A_CABLE_TEST_TDR_HEADER = 0x1 + ETHTOOL_A_CABLE_TEST_TDR_CFG = 0x2 + ETHTOOL_A_CABLE_TEST_TDR_MAX = 0x2 + ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0x0 + ETHTOOL_A_CABLE_AMPLITUDE_PAIR = 0x1 + ETHTOOL_A_CABLE_AMPLITUDE_mV = 0x2 + ETHTOOL_A_CABLE_AMPLITUDE_MAX = 0x2 + ETHTOOL_A_CABLE_PULSE_UNSPEC = 0x0 + ETHTOOL_A_CABLE_PULSE_mV = 0x1 + ETHTOOL_A_CABLE_PULSE_MAX = 0x1 + ETHTOOL_A_CABLE_STEP_UNSPEC = 0x0 + ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 0x1 + ETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 0x2 + ETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 0x3 + ETHTOOL_A_CABLE_STEP_MAX = 0x3 + ETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0x0 + ETHTOOL_A_CABLE_TDR_NEST_STEP = 0x1 + ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 0x2 + ETHTOOL_A_CABLE_TDR_NEST_PULSE = 0x3 + ETHTOOL_A_CABLE_TDR_NEST_MAX = 0x3 + ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC = 0x0 + ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER = 0x1 + ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS = 0x2 + ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST = 0x3 + ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = 0x3 + ETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0x0 + ETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 0x1 + ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 0x2 + ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0x0 + ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 0x1 + ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 0x2 + ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 0x2 + ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0x0 + ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 0x1 + ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 0x2 + ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 0x3 + ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 0x3 + ETHTOOL_A_TUNNEL_UDP_UNSPEC = 0x0 + ETHTOOL_A_TUNNEL_UDP_TABLE = 0x1 + ETHTOOL_A_TUNNEL_UDP_MAX = 0x1 + ETHTOOL_A_TUNNEL_INFO_UNSPEC = 0x0 + ETHTOOL_A_TUNNEL_INFO_HEADER = 0x1 + ETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 0x2 + ETHTOOL_A_TUNNEL_INFO_MAX = 0x2 +) + +type EthtoolDrvinfo struct { + Cmd uint32 + Driver [32]byte + Version [32]byte + Fw_version [32]byte + Bus_info [32]byte + Erom_version [32]byte + Reserved2 [12]byte + N_priv_flags uint32 + N_stats uint32 + Testinfo_len uint32 + Eedump_len uint32 + Regdump_len uint32 +} + +type ( + HIDRawReportDescriptor struct { + Size uint32 + Value [4096]uint8 + } + HIDRawDevInfo struct { + Bustype uint32 + Vendor int16 + Product int16 + } +) + +const ( + CLOSE_RANGE_UNSHARE = 0x2 + CLOSE_RANGE_CLOEXEC = 0x4 +) + +const ( + NLMSGERR_ATTR_MSG = 0x1 + NLMSGERR_ATTR_OFFS = 0x2 + NLMSGERR_ATTR_COOKIE = 0x3 +) + +type ( + EraseInfo struct { + Start uint32 + Length uint32 + } + EraseInfo64 struct { + Start uint64 + Length uint64 + } + MtdOobBuf struct { + Start uint32 + Length uint32 + Ptr *uint8 + } + MtdOobBuf64 struct { + Start uint64 + Pad uint32 + Length uint32 + Ptr uint64 + } + MtdWriteReq struct { + Start uint64 + Len uint64 + Ooblen uint64 + Data uint64 + Oob uint64 + Mode uint8 + _ [7]uint8 + } + MtdInfo struct { + Type uint8 + Flags uint32 + Size uint32 + Erasesize uint32 + Writesize uint32 + Oobsize uint32 + _ uint64 + } + RegionInfo struct { + Offset uint32 + Erasesize uint32 + Numblocks uint32 + Regionindex uint32 + } + OtpInfo struct { + Start uint32 + Length uint32 + Locked uint32 + } + NandOobinfo struct { + Useecc uint32 + Eccbytes uint32 + Oobfree [8][2]uint32 + Eccpos [32]uint32 + } + NandOobfree struct { + Offset uint32 + Length uint32 + } + NandEcclayout struct { + Eccbytes uint32 + Eccpos [64]uint32 + Oobavail uint32 + Oobfree [8]NandOobfree + } + MtdEccStats struct { + Corrected uint32 + Failed uint32 + Badblocks uint32 + Bbtblocks uint32 + } +) + +const ( + MTD_OPS_PLACE_OOB = 0x0 + MTD_OPS_AUTO_OOB = 0x1 + MTD_OPS_RAW = 0x2 +) + +const ( + MTD_FILE_MODE_NORMAL = 0x0 + MTD_FILE_MODE_OTP_FACTORY = 0x1 + MTD_FILE_MODE_OTP_USER = 0x2 + MTD_FILE_MODE_RAW = 0x3 +) + +const ( + NFC_CMD_UNSPEC = 0x0 + NFC_CMD_GET_DEVICE = 0x1 + NFC_CMD_DEV_UP = 0x2 + NFC_CMD_DEV_DOWN = 0x3 + NFC_CMD_DEP_LINK_UP = 0x4 + NFC_CMD_DEP_LINK_DOWN = 0x5 + NFC_CMD_START_POLL = 0x6 + NFC_CMD_STOP_POLL = 0x7 + NFC_CMD_GET_TARGET = 0x8 + NFC_EVENT_TARGETS_FOUND = 0x9 + NFC_EVENT_DEVICE_ADDED = 0xa + NFC_EVENT_DEVICE_REMOVED = 0xb + NFC_EVENT_TARGET_LOST = 0xc + NFC_EVENT_TM_ACTIVATED = 0xd + NFC_EVENT_TM_DEACTIVATED = 0xe + NFC_CMD_LLC_GET_PARAMS = 0xf + NFC_CMD_LLC_SET_PARAMS = 0x10 + NFC_CMD_ENABLE_SE = 0x11 + NFC_CMD_DISABLE_SE = 0x12 + NFC_CMD_LLC_SDREQ = 0x13 + NFC_EVENT_LLC_SDRES = 0x14 + NFC_CMD_FW_DOWNLOAD = 0x15 + NFC_EVENT_SE_ADDED = 0x16 + NFC_EVENT_SE_REMOVED = 0x17 + NFC_EVENT_SE_CONNECTIVITY = 0x18 + NFC_EVENT_SE_TRANSACTION = 0x19 + NFC_CMD_GET_SE = 0x1a + NFC_CMD_SE_IO = 0x1b + NFC_CMD_ACTIVATE_TARGET = 0x1c + NFC_CMD_VENDOR = 0x1d + NFC_CMD_DEACTIVATE_TARGET = 0x1e + NFC_ATTR_UNSPEC = 0x0 + NFC_ATTR_DEVICE_INDEX = 0x1 + NFC_ATTR_DEVICE_NAME = 0x2 + NFC_ATTR_PROTOCOLS = 0x3 + NFC_ATTR_TARGET_INDEX = 0x4 + NFC_ATTR_TARGET_SENS_RES = 0x5 + NFC_ATTR_TARGET_SEL_RES = 0x6 + NFC_ATTR_TARGET_NFCID1 = 0x7 + NFC_ATTR_TARGET_SENSB_RES = 0x8 + NFC_ATTR_TARGET_SENSF_RES = 0x9 + NFC_ATTR_COMM_MODE = 0xa + NFC_ATTR_RF_MODE = 0xb + NFC_ATTR_DEVICE_POWERED = 0xc + NFC_ATTR_IM_PROTOCOLS = 0xd + NFC_ATTR_TM_PROTOCOLS = 0xe + NFC_ATTR_LLC_PARAM_LTO = 0xf + NFC_ATTR_LLC_PARAM_RW = 0x10 + NFC_ATTR_LLC_PARAM_MIUX = 0x11 + NFC_ATTR_SE = 0x12 + NFC_ATTR_LLC_SDP = 0x13 + NFC_ATTR_FIRMWARE_NAME = 0x14 + NFC_ATTR_SE_INDEX = 0x15 + NFC_ATTR_SE_TYPE = 0x16 + NFC_ATTR_SE_AID = 0x17 + NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS = 0x18 + NFC_ATTR_SE_APDU = 0x19 + NFC_ATTR_TARGET_ISO15693_DSFID = 0x1a + NFC_ATTR_TARGET_ISO15693_UID = 0x1b + NFC_ATTR_SE_PARAMS = 0x1c + NFC_ATTR_VENDOR_ID = 0x1d + NFC_ATTR_VENDOR_SUBCMD = 0x1e + NFC_ATTR_VENDOR_DATA = 0x1f + NFC_SDP_ATTR_UNSPEC = 0x0 + NFC_SDP_ATTR_URI = 0x1 + NFC_SDP_ATTR_SAP = 0x2 +) 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 000000000..235c62e46 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -0,0 +1,632 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && linux +// +build 386,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofLong = 0x4 +) + +type ( + _C_long int32 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Stat_t struct { + Dev uint64 + _ uint16 + _ uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + Size int64 + Blksize int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [1]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 +} + +type DmNameList struct { + Dev uint64 + Next uint32 +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint32 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len 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 +} + +const ( + SizeofSockaddrNFCLLCP = 0x58 + SizeofIovec = 0x8 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc +) + +const ( + SizeofSockFprog = 0x8 +) + +type PtraceRegs struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint32 + +const ( + _NCPUBITS = 0x20 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +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 TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +const ( + SizeofTpacketHdr = 0x18 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 +} + +const ( + BLKPG = 0x1269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint16 + Inode uint32 + Rdevice uint16 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]int8 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 +} + +const ( + PPS_GETPARAMS = 0x800470a1 + PPS_SETPARAMS = 0x400470a2 + PPS_GETCAP = 0x800470a3 + PPS_FETCH = 0xc00470a4 +) 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 000000000..99b1e5b6a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -0,0 +1,650 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && linux +// +build amd64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [3]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start 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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint64 + Inode uint64 + Rdevice uint64 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x800870a1 + PPS_SETPARAMS = 0x400870a2 + PPS_GETCAP = 0x800870a3 + PPS_FETCH = 0xc00870a4 +) 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 000000000..cc8bba791 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -0,0 +1,627 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && linux +// +build arm,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofLong = 0x4 +) + +type ( + _C_long int32 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Stat_t struct { + Dev uint64 + _ uint16 + _ uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + _ [4]byte + Size int64 + Blksize int32 + _ [4]byte + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint32 +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type Iovec struct { + Base *byte + Len 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 +} + +const ( + SizeofSockaddrNFCLLCP = 0x58 + SizeofIovec = 0x8 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc +) + +const ( + SizeofSockFprog = 0x8 +) + +type PtraceRegs struct { + Uregs [18]uint32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]uint8 +} + +type 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 ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint32 + +const ( + _NCPUBITS = 0x20 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]uint8 + _ uint32 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 + _ [4]byte +} + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +const ( + SizeofTpacketHdr = 0x18 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +type LoopInfo struct { + Number int32 + Device uint16 + Inode uint32 + Rdevice uint16 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]uint8 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x800470a1 + PPS_SETPARAMS = 0x400470a2 + PPS_GETCAP = 0x800470a3 + PPS_FETCH = 0xc00470a4 +) 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 000000000..fa8fe3a75 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -0,0 +1,629 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && linux +// +build arm64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint64 + Size int64 + Blksize int32 + _ int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start 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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x800870a1 + PPS_SETPARAMS = 0x400870a2 + PPS_GETCAP = 0x800870a3 + PPS_FETCH = 0xc00870a4 +) 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 000000000..e7fb8d9b7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -0,0 +1,633 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips && linux +// +build mips,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofLong = 0x4 +) + +type ( + _C_long int32 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type 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 Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint32 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len 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 +} + +const ( + SizeofSockaddrNFCLLCP = 0x58 + SizeofIovec = 0x8 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc +) + +const ( + SizeofSockFprog = 0x8 +) + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type 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 ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x80 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint32 + +const ( + _NCPUBITS = 0x20 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + _ [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + _ [4]byte +} + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +const ( + SizeofTpacketHdr = 0x18 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint32 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]int8 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x400470a1 + PPS_SETPARAMS = 0x800470a2 + PPS_GETCAP = 0x400470a3 + PPS_FETCH = 0xc00470a4 +) 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 000000000..2fa61d593 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -0,0 +1,632 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64 && linux +// +build mips64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type 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 Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x80 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x400870a1 + PPS_SETPARAMS = 0x800870a2 + PPS_GETCAP = 0x400870a3 + PPS_FETCH = 0xc00870a4 +) 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 000000000..7f3639933 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -0,0 +1,632 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64le && linux +// +build mips64le,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type 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 Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x80 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x400870a1 + PPS_SETPARAMS = 0x800870a2 + PPS_GETCAP = 0x400870a3 + PPS_FETCH = 0xc00870a4 +) 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 000000000..f3c20cb86 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -0,0 +1,633 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mipsle && linux +// +build mipsle,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofLong = 0x4 +) + +type ( + _C_long int32 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type 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 Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint32 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len 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 +} + +const ( + SizeofSockaddrNFCLLCP = 0x58 + SizeofIovec = 0x8 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc +) + +const ( + SizeofSockFprog = 0x8 +) + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type 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 ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x80 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint32 + +const ( + _NCPUBITS = 0x20 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + _ [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + _ [4]byte +} + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +const ( + SizeofTpacketHdr = 0x18 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint32 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]int8 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x400470a1 + PPS_SETPARAMS = 0x800470a2 + PPS_GETCAP = 0x400470a3 + PPS_FETCH = 0xc00470a4 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go new file mode 100644 index 000000000..885d27950 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go @@ -0,0 +1,639 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc && linux +// +build ppc,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofLong = 0x4 +) + +type ( + _C_long int32 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + _ [4]byte + Size int64 + Blksize int32 + _ [4]byte + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint32 + _ uint32 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint32 +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type Iovec struct { + Base *byte + Len 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 +} + +const ( + SizeofSockaddrNFCLLCP = 0x58 + SizeofIovec = 0x8 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc +) + +const ( + SizeofSockFprog = 0x8 +) + +type PtraceRegs struct { + Gpr [32]uint32 + Nip uint32 + Msr uint32 + Orig_gpr3 uint32 + Ctr uint32 + Link uint32 + Xer uint32 + Ccr uint32 + Mq uint32 + Trap uint32 + Dar uint32 + Dsisr uint32 + Result uint32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]uint8 +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]uint8 + Fpack [6]uint8 +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint32 + +const ( + _NCPUBITS = 0x20 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]uint8 + _ uint32 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 + _ [4]byte +} + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +const ( + SizeofTpacketHdr = 0x18 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint32 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]uint8 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x400470a1 + PPS_SETPARAMS = 0x800470a2 + PPS_GETCAP = 0x400470a3 + PPS_FETCH = 0xc00470a4 +) 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 000000000..a94eb8e18 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -0,0 +1,639 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc64 && linux +// +build ppc64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start 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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +type LoopInfo struct { + Number int32 + Device uint64 + Inode uint64 + Rdevice uint64 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]uint8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x400870a1 + PPS_SETPARAMS = 0x800870a2 + PPS_GETCAP = 0x400870a3 + PPS_FETCH = 0xc00870a4 +) 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 000000000..659e32ebd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -0,0 +1,639 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build ppc64le && linux +// +build ppc64le,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start 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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +type LoopInfo struct { + Number int32 + Device uint64 + Inode uint64 + Rdevice uint64 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]uint8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x400870a1 + PPS_SETPARAMS = 0x800870a2 + PPS_GETCAP = 0x400870a3 + PPS_FETCH = 0xc00870a4 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go new file mode 100644 index 000000000..ab8ec604f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -0,0 +1,657 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build riscv64 && linux +// +build riscv64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint64 + Size int64 + Blksize int32 + _ int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + Pc uint64 + Ra uint64 + Sp uint64 + Gp uint64 + Tp uint64 + T0 uint64 + T1 uint64 + T2 uint64 + S0 uint64 + S1 uint64 + A0 uint64 + A1 uint64 + A2 uint64 + A3 uint64 + A4 uint64 + A5 uint64 + A6 uint64 + A7 uint64 + S2 uint64 + S3 uint64 + S4 uint64 + S5 uint64 + S6 uint64 + S7 uint64 + S8 uint64 + S9 uint64 + S10 uint64 + S11 uint64 + T3 uint64 + T4 uint64 + T5 uint64 + T6 uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start 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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]uint8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x800870a1 + PPS_SETPARAMS = 0x400870a2 + PPS_GETCAP = 0x800870a3 + PPS_FETCH = 0xc00870a4 +) 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 000000000..3ec08237f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -0,0 +1,653 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build s390x && linux +// +build s390x,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type 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 Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x6 + FADV_NOREUSE = 0x7 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + Psw PtracePsw + Gprs [16]uint64 + Acrs [16]uint32 + Orig_gpr2 uint64 + Fp_regs PtraceFpregs + Per_info PtracePer + Ieee_instruction_pointer uint64 +} + +type PtracePsw struct { + Mask uint64 + Addr uint64 +} + +type PtraceFpregs struct { + Fpc uint32 + Fprs [16]float64 +} + +type PtracePer struct { + _ [0]uint64 + _ [32]byte + Starting_addr uint64 + Ending_addr uint64 + Perc_atmid uint16 + Address uint64 + Access_id uint8 + _ [7]byte +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x2000 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint16 + Inode uint64 + Rdevice uint16 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x800870a1 + PPS_SETPARAMS = 0x400870a2 + PPS_GETCAP = 0x800870a3 + PPS_FETCH = 0xc00870a4 +) 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 000000000..23d474470 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -0,0 +1,634 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build sparc64 && linux +// +build sparc64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofLong = 0x8 +) + +type ( + _C_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Stat_t struct { + Dev uint64 + _ uint16 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ int16 + _ [2]byte +} + +type DmNameList struct { + Dev uint64 + Next uint32 + Name [0]byte + _ [4]byte +} + +const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrNFCLLCP struct { + Sa_family uint16 + Dev_idx uint32 + Target_idx uint32 + Nfc_protocol uint32 + Dsap uint8 + Ssap uint8 + Service_name [63]uint8 + Service_name_len uint64 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +const ( + SizeofSockaddrNFCLLCP = 0x60 + SizeofIovec = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 +) + +const ( + SizeofSockFprog = 0x10 +) + +type PtraceRegs struct { + Regs [16]uint64 + Tstate uint64 + Tpc uint64 + Tnpc uint64 + Y uint32 + Magic uint32 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + POLLRDHUP = 0x800 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 +} + +type cpuMask uint64 + +const ( + _NCPUBITS = 0x40 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start 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 TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +const ( + SizeofTpacketHdr = 0x20 +) + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 +) + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 + Flags uint32 + _ [4]byte +} + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +type PPSKInfo struct { + Assert_sequence uint32 + Clear_sequence uint32 + Assert_tu PPSKTime + Clear_tu PPSKTime + Current_mode int32 + _ [4]byte +} + +const ( + PPS_GETPARAMS = 0x400870a1 + PPS_SETPARAMS = 0x800870a2 + PPS_GETCAP = 0x400870a3 + PPS_FETCH = 0xc00870a4 +) 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 000000000..2fd2060e6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go @@ -0,0 +1,502 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && netbsd +// +build 386,netbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 +} + +type Statfs_t [0]byte + +type Statvfs_t struct { + Flag uint32 + Bsize uint32 + Frsize uint32 + Iosize uint32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Bresvd uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fresvd uint64 + Syncreads uint64 + Syncwrites uint64 + Asyncreads uint64 + Asyncwrites uint64 + Fsidx Fsid + Fsid uint32 + Namemax uint32 + Owner uint32 + Spare [4]uint32 + Fstypename [32]byte + Mntonname [1024]byte + Mntfromname [1024]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + ST_WAIT = 0x1 + ST_NOWAIT = 0x2 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x84 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData + Pad_cgo_1 [4]byte +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_REMOVEDIR = 0x800 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/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 000000000..6a5a1a8ae --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go @@ -0,0 +1,510 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && netbsd +// +build amd64,netbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Statvfs_t struct { + Flag uint64 + Bsize uint64 + Frsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Bresvd uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fresvd uint64 + Syncreads uint64 + Syncwrites uint64 + Asyncreads uint64 + Asyncwrites uint64 + Fsidx Fsid + Fsid uint64 + Namemax uint64 + Owner uint32 + Spare [4]uint32 + Fstypename [32]byte + Mntonname [1024]byte + Mntfromname [1024]byte + _ [4]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + ST_WAIT = 0x1 + ST_NOWAIT = 0x2 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_REMOVEDIR = 0x800 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/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 000000000..84cc8d01e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go @@ -0,0 +1,507 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && netbsd +// +build arm,netbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + Pad_cgo_0 [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Statvfs_t struct { + Flag uint32 + Bsize uint32 + Frsize uint32 + Iosize uint32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Bresvd uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fresvd uint64 + Syncreads uint64 + Syncwrites uint64 + Asyncreads uint64 + Asyncwrites uint64 + Fsidx Fsid + Fsid uint32 + Namemax uint32 + Owner uint32 + Spare [4]uint32 + Fstypename [32]byte + Mntonname [1024]byte + Mntfromname [1024]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + ST_WAIT = 0x1 + ST_NOWAIT = 0x2 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 + Pad_cgo_0 [4]byte +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_REMOVEDIR = 0x800 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go new file mode 100644 index 000000000..c844e7096 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go @@ -0,0 +1,510 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && netbsd +// +build arm64,netbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Statvfs_t struct { + Flag uint64 + Bsize uint64 + Frsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Bresvd uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fresvd uint64 + Syncreads uint64 + Syncwrites uint64 + Asyncreads uint64 + Asyncwrites uint64 + Fsidx Fsid + Fsid uint64 + Namemax uint64 + Owner uint32 + Spare [4]uint32 + Fstypename [32]byte + Mntonname [1024]byte + Mntfromname [1024]byte + _ [4]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + ST_WAIT = 0x1 + ST_NOWAIT = 0x2 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_REMOVEDIR = 0x800 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/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 000000000..2a8b1e6f7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -0,0 +1,575 @@ +// cgo -godefs types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build 386 && openbsd +// +build 386,openbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + X__st_birthtim Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + Pad_cgo_0 [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + X__d_padding [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xec + SizeofIfData = 0xd4 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Pad uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval + Mclpool [7]Mclpool +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct { + Grown int32 + Alive uint16 + Hwm uint16 + Cwm uint16 + Lwm uint16 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 + AT_SYMLINK_FOLLOW = 0x4 + AT_REMOVEDIR = 0x8 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Anonpages int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Nanonneeded int32 + Nfreeanon int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Obsolete_swapins int32 + Obsolete_swapouts int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Zeroaborts int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Pdreanon int32 + Pdrevnode int32 + Pdrevtext int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/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 000000000..b1759cf70 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -0,0 +1,575 @@ +// cgo -godefs types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build amd64 && openbsd +// +build amd64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ [4]byte + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + _ [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen uint32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + _ [4]byte + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 + AT_SYMLINK_FOLLOW = 0x4 + AT_REMOVEDIR = 0x8 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Anonpages int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Nanonneeded int32 + Nfreeanon int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Obsolete_swapins int32 + Obsolete_swapouts int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Zeroaborts int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Pdreanon int32 + Pdrevnode int32 + Pdrevtext int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/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 000000000..e807de206 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -0,0 +1,576 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm && openbsd +// +build arm,openbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ [4]byte + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + _ [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + _ [4]byte + Data int64 + Udata *byte + _ [4]byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + _ [4]byte + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 + AT_SYMLINK_FOLLOW = 0x4 + AT_REMOVEDIR = 0x8 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go new file mode 100644 index 000000000..ff3aecaee --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go @@ -0,0 +1,569 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build arm64 && openbsd +// +build arm64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 + AT_SYMLINK_FOLLOW = 0x4 + AT_REMOVEDIR = 0x8 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go new file mode 100644 index 000000000..9ecda6917 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go @@ -0,0 +1,569 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build mips64 && openbsd +// +build mips64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 + AT_SYMLINK_FOLLOW = 0x4 + AT_REMOVEDIR = 0x8 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/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 000000000..85effef9c --- /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. + +//go:build amd64 && solaris +// +build amd64,solaris + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x400 + MaxHostNameLen = 0x100 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Blocks int64 + Fstype [16]int8 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Sysid int32 + Pid int32 + Pad [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Name [1]int8 + _ [5]byte +} + +type _Fsblkcnt_t uint64 + +type Statvfs_t struct { + Bsize uint64 + Frsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fsid uint64 + Basetype [16]int8 + Flag uint64 + Namemax uint64 + Fstr [32]int8 +} + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 + _ 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 + Iov *Iovec + Iovlen int32 + Accrights *int8 + Accrightslen int32 + _ [4]byte +} + +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 = 0x20 + SizeofSockaddrAny = 0xfc + SizeofSockaddrUnix = 0x6e + SizeofSockaddrDatalink = 0xfc + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x24 + SizeofICMPv6Filter = 0x20 +) + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [257]byte + Nodename [257]byte + Release [257]byte + Version [257]byte + Machine [257]byte +} + +type Ustat_t struct { + Tfree int64 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +const ( + AT_FDCWD = 0xffd19553 + AT_SYMLINK_NOFOLLOW = 0x1000 + AT_SYMLINK_FOLLOW = 0x2000 + AT_REMOVEDIR = 0x1 + AT_EACCESS = 0x4 +) + +const ( + SizeofIfMsghdr = 0x54 + SizeofIfData = 0x44 + SizeofIfaMsghdr = 0x14 + SizeofRtMsghdr = 0x4c + SizeofRtMetrics = 0x28 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen 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 + Lastchange Timeval32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Metric int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + 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 + _ [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + _ [1]byte +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line int8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go new file mode 100644 index 000000000..4ab638cb9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go @@ -0,0 +1,406 @@ +// Copyright 2020 The Go 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:build zos && s390x +// +build zos,s390x + +// Hand edited based on ztypes_linux_s390x.go +// TODO: auto-generate. + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +const ( + SizeofSockaddrAny = 128 + SizeofCmsghdr = 12 + SizeofIPMreq = 8 + SizeofIPv6Mreq = 20 + SizeofICMPv6Filter = 32 + SizeofIPv6MTUInfo = 32 + SizeofLinger = 8 + SizeofSockaddrInet4 = 16 + SizeofSockaddrInet6 = 28 + SizeofTCPInfo = 0x68 +) + +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 timeval_zos struct { //correct (with padding and all) + Sec int64 + _ [4]byte // pad + Usec int32 +} + +type Tms struct { //clock_t is 4-byte unsigned int in zos + Utime uint32 + Stime uint32 + Cutime uint32 + Cstime uint32 +} + +type Time_t int64 + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [108]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + _ [112]uint8 // pad +} + +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 + Iov *Iovec + Control *byte + Flags int32 + Namelen int32 + Iovlen int32 + Controllen int32 +} + +type Cmsghdr struct { + Len int32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Addr [4]byte /* in_addr */ + Ifindex uint32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type _Gid_t uint32 + +type rusage_zos struct { + Utime timeval_zos + Stime timeval_zos +} + +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 +} + +// { int, short, short } in poll.h +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +type Stat_t struct { //Linux Definition + 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 Stat_LE_t struct { + _ [4]byte // eye catcher + Length uint16 + Version uint16 + Mode int32 + Ino uint32 + Dev uint32 + Nlink int32 + Uid int32 + Gid int32 + Size int64 + Atim31 [4]byte + Mtim31 [4]byte + Ctim31 [4]byte + Rdev uint32 + Auditoraudit uint32 + Useraudit uint32 + Blksize int32 + Creatim31 [4]byte + AuditID [16]byte + _ [4]byte // rsrvd1 + File_tag struct { + Ccsid uint16 + Txtflag uint16 // aggregating Txflag:1 deferred:1 rsvflags:14 + } + CharsetID [8]byte + Blocks int64 + Genvalue uint32 + Reftim31 [4]byte + Fid [8]byte + Filefmt byte + Fspflag2 byte + _ [2]byte // rsrvd2 + Ctimemsec int32 + Seclabel [8]byte + _ [4]byte // rsrvd3 + _ [4]byte // rsrvd4 + Atim Time_t + Mtim Time_t + Ctim Time_t + Creatim Time_t + Reftim Time_t + _ [24]byte // rsrvd5 +} + +type Statvfs_t struct { + ID [4]byte + Len int32 + Bsize uint64 + Blocks uint64 + Usedspace uint64 + Bavail uint64 + Flag uint64 + Maxfilesize int64 + _ [16]byte + Frsize uint64 + Bfree uint64 + Files uint32 + Ffree uint32 + Favail uint32 + Namemax31 uint32 + Invarsec uint32 + _ [4]byte + Fsid uint64 + Namemax uint64 +} + +type Statfs_t struct { + Type uint32 + Bsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint32 + Ffree uint32 + Fsid uint64 + Namelen uint64 + Frsize uint64 + Flags uint64 +} + +type Dirent struct { + Reclen uint16 + Namlen uint16 + Ino uint32 + Extra uintptr + Name [256]byte +} + +type FdSet struct { + Bits [64]int32 +} + +// This struct is packed on z/OS so it can't be used directly. +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 +} + +type Termios struct { + Cflag uint32 + Iflag uint32 + Lflag uint32 + Oflag uint32 + Cc [11]uint8 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type W_Mnth struct { + Hid [4]byte + Size int32 + Cur1 int32 //32bit pointer + Cur2 int32 //^ + Devno uint32 + _ [4]byte +} + +type W_Mntent struct { + Fstype uint32 + Mode uint32 + Dev uint32 + Parentdev uint32 + Rootino uint32 + Status byte + Ddname [9]byte + Fstname [9]byte + Fsname [45]byte + Pathlen uint32 + Mountpoint [1024]byte + Jobname [8]byte + PID int32 + Parmoffset int32 + Parmlen int16 + Owner [8]byte + Quiesceowner [8]byte + _ [38]byte +} diff --git a/vendor/golang.org/x/sys/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go new file mode 100644 index 000000000..af3af60db --- /dev/null +++ b/vendor/golang.org/x/sys/windows/aliases.go @@ -0,0 +1,13 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows +// +build go1.9 + +package windows + +import "syscall" + +type Errno = syscall.Errno +type SysProcAttr = syscall.SysProcAttr 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 000000000..115341fba --- /dev/null +++ b/vendor/golang.org/x/sys/windows/dll_windows.go @@ -0,0 +1,416 @@ +// 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" +) + +// We need to use LoadLibrary and GetProcAddress from the Go runtime, because +// the these symbols are loaded by the system linker and are required to +// dynamically load additional symbols. Note that in the Go runtime, these +// return syscall.Handle and syscall.Errno, but these are the same, in fact, +// as windows.Handle and windows.Errno, and we intend to keep these the same. + +//go:linkname syscall_loadlibrary syscall.loadlibrary +func syscall_loadlibrary(filename *uint16) (handle Handle, err Errno) + +//go:linkname syscall_getprocaddress syscall.getprocaddress +func syscall_getprocaddress(handle Handle, procname *uint8) (proc uintptr, err Errno) + +// DLLError describes reasons for DLL load failures. +type DLLError struct { + Err error + ObjName string + Msg string +} + +func (e *DLLError) Error() string { return e.Msg } + +func (e *DLLError) Unwrap() error { return e.Err } + +// 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 := syscall_loadlibrary(namep) + if e != 0 { + return nil, &DLLError{ + Err: e, + ObjName: name, + Msg: "Failed to load " + name + ": " + e.Error(), + } + } + d := &DLL{ + Name: name, + 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 := syscall_getprocaddress(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 +} + +// FindProcByOrdinal searches DLL d for procedure by ordinal and returns *Proc +// if found. It returns an error if search fails. +func (d *DLL) FindProcByOrdinal(ordinal uintptr) (proc *Proc, err error) { + a, e := GetProcAddressByOrdinal(d.Handle, ordinal) + name := "#" + itoa(int(ordinal)) + if e != nil { + 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 +} + +// MustFindProcByOrdinal is like FindProcByOrdinal but panics if search fails. +func (d *DLL) MustFindProcByOrdinal(ordinal uintptr) *Proc { + p, e := d.FindProcByOrdinal(ordinal) + 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 than 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. +// It will panic if the procedure cannot be found. +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 than 15 arguments +// are supplied. It will also panic if the procedure cannot be found. +// +// 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() { + 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. + systemdir, err := GetSystemDirectory() + if err != nil { + return nil, err + } + loadDLL = systemdir + "\\" + 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/empty.s b/vendor/golang.org/x/sys/windows/empty.s new file mode 100644 index 000000000..fdbbbcd31 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/empty.s @@ -0,0 +1,9 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !go1.12 +// +build !go1.12 + +// This file is here to allow bodyless functions with go:linkname for Go 1.11 +// and earlier (see https://golang.org/issue/23311). 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 000000000..92ac05ff4 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/env_windows.go @@ -0,0 +1,54 @@ +// 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" + "unsafe" +) + +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() +} + +// Returns a default environment associated with the token, rather than the current +// process. If inheritExisting is true, then this environment also inherits the +// environment of the current process. +func (token Token) Environ(inheritExisting bool) (env []string, err error) { + var block *uint16 + err = CreateEnvironmentBlock(&block, token, inheritExisting) + if err != nil { + return nil, err + } + defer DestroyEnvironmentBlock(block) + blockp := uintptr(unsafe.Pointer(block)) + for { + entry := UTF16PtrToString((*uint16)(unsafe.Pointer(blockp))) + if len(entry) == 0 { + break + } + env = append(env, entry) + blockp += 2 * (uintptr(len(entry)) + 1) + } + return env, nil +} + +func Unsetenv(key string) error { + return syscall.Unsetenv(key) +} 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 000000000..40af946e1 --- /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 000000000..7a11e83b7 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/exec_windows.go @@ -0,0 +1,195 @@ +// 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 + +import ( + errorspkg "errors" + "unsafe" + + "golang.org/x/sys/internal/unsafeheader" +) + +// 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]) +} + +// ComposeCommandLine escapes and joins the given arguments suitable for use as a Windows command line, +// in CreateProcess's CommandLine argument, CreateService/ChangeServiceConfig's BinaryPathName argument, +// or any program that uses CommandLineToArgv. +func ComposeCommandLine(args []string) string { + var commandLine string + for i := range args { + if i > 0 { + commandLine += " " + } + commandLine += EscapeArg(args[i]) + } + return commandLine +} + +// DecomposeCommandLine breaks apart its argument command line into unescaped parts using CommandLineToArgv, +// as gathered from GetCommandLine, QUERY_SERVICE_CONFIG's BinaryPathName argument, or elsewhere that +// command lines are passed around. +func DecomposeCommandLine(commandLine string) ([]string, error) { + if len(commandLine) == 0 { + return []string{}, nil + } + var argc int32 + argv, err := CommandLineToArgv(StringToUTF16Ptr(commandLine), &argc) + if err != nil { + return nil, err + } + defer LocalFree(Handle(unsafe.Pointer(argv))) + var args []string + for _, v := range (*argv)[:argc] { + args = append(args, UTF16ToString((*v)[:])) + } + return args, nil +} + +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 + } + } +} + +// NewProcThreadAttributeList allocates a new ProcThreadAttributeListContainer, with the requested maximum number of attributes. +func NewProcThreadAttributeList(maxAttrCount uint32) (*ProcThreadAttributeListContainer, error) { + var size uintptr + err := initializeProcThreadAttributeList(nil, maxAttrCount, 0, &size) + if err != ERROR_INSUFFICIENT_BUFFER { + if err == nil { + return nil, errorspkg.New("unable to query buffer size from InitializeProcThreadAttributeList") + } + return nil, err + } + // size is guaranteed to be ≥1 by InitializeProcThreadAttributeList. + al := &ProcThreadAttributeListContainer{data: (*ProcThreadAttributeList)(unsafe.Pointer(&make([]byte, size)[0]))} + err = initializeProcThreadAttributeList(al.data, maxAttrCount, 0, &size) + if err != nil { + return nil, err + } + return al, err +} + +// Update modifies the ProcThreadAttributeList using UpdateProcThreadAttribute. +// Note that the value passed to this function will be copied into memory +// allocated by LocalAlloc, the contents of which should not contain any +// Go-managed pointers, even if the passed value itself is a Go-managed +// pointer. +func (al *ProcThreadAttributeListContainer) Update(attribute uintptr, value unsafe.Pointer, size uintptr) error { + alloc, err := LocalAlloc(LMEM_FIXED, uint32(size)) + if err != nil { + return err + } + var src, dst []byte + hdr := (*unsafeheader.Slice)(unsafe.Pointer(&src)) + hdr.Data = value + hdr.Cap = int(size) + hdr.Len = int(size) + hdr = (*unsafeheader.Slice)(unsafe.Pointer(&dst)) + hdr.Data = unsafe.Pointer(alloc) + hdr.Cap = int(size) + hdr.Len = int(size) + copy(dst, src) + al.heapAllocations = append(al.heapAllocations, alloc) + return updateProcThreadAttribute(al.data, 0, attribute, unsafe.Pointer(alloc), size, nil, nil) +} + +// Delete frees ProcThreadAttributeList's resources. +func (al *ProcThreadAttributeListContainer) Delete() { + deleteProcThreadAttributeList(al.data) + for i := range al.heapAllocations { + LocalFree(Handle(al.heapAllocations[i])) + } + al.heapAllocations = nil +} + +// List returns the actual ProcThreadAttributeList to be passed to StartupInfoEx. +func (al *ProcThreadAttributeListContainer) List() *ProcThreadAttributeList { + return al.data +} 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 000000000..1adb60739 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/memory_windows.go @@ -0,0 +1,37 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +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 = 0x00000001 + PAGE_READONLY = 0x00000002 + PAGE_READWRITE = 0x00000004 + PAGE_WRITECOPY = 0x00000008 + PAGE_EXECUTE = 0x00000010 + PAGE_EXECUTE_READ = 0x00000020 + PAGE_EXECUTE_READWRITE = 0x00000040 + PAGE_EXECUTE_WRITECOPY = 0x00000080 + PAGE_GUARD = 0x00000100 + PAGE_NOCACHE = 0x00000200 + PAGE_WRITECOMBINE = 0x00000400 + PAGE_TARGETS_INVALID = 0x40000000 + PAGE_TARGETS_NO_UPDATE = 0x40000000 + + QUOTA_LIMITS_HARDWS_MIN_DISABLE = 0x00000002 + QUOTA_LIMITS_HARDWS_MIN_ENABLE = 0x00000001 + QUOTA_LIMITS_HARDWS_MAX_DISABLE = 0x00000008 + QUOTA_LIMITS_HARDWS_MAX_ENABLE = 0x00000004 +) diff --git a/vendor/golang.org/x/sys/windows/mkerrors.bash b/vendor/golang.org/x/sys/windows/mkerrors.bash new file mode 100644 index 000000000..58e0188fb --- /dev/null +++ b/vendor/golang.org/x/sys/windows/mkerrors.bash @@ -0,0 +1,70 @@ +#!/bin/bash + +# Copyright 2019 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +set -e +shopt -s nullglob + +winerror="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/winerror.h | sort -Vr | head -n 1)" +[[ -n $winerror ]] || { echo "Unable to find winerror.h" >&2; exit 1; } +ntstatus="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/ntstatus.h | sort -Vr | head -n 1)" +[[ -n $ntstatus ]] || { echo "Unable to find ntstatus.h" >&2; exit 1; } + +declare -A errors + +{ + echo "// Code generated by 'mkerrors.bash'; DO NOT EDIT." + echo + echo "package windows" + echo "import \"syscall\"" + echo "const (" + + while read -r line; do + unset vtype + if [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?([A-Z][A-Z0-9_]+k?)\)? ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?((0x)?[0-9A-Fa-f]+)L?\)? ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + vtype="${BASH_REMATCH[2]}" + elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +\(\(([A-Z]+)\)((0x)?[0-9A-Fa-f]+)L?\) ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + vtype="${BASH_REMATCH[2]}" + else + continue + fi + [[ -n $key && -n $value ]] || continue + [[ -z ${errors["$key"]} ]] || continue + errors["$key"]="$value" + if [[ -v vtype ]]; then + if [[ $key == FACILITY_* || $key == NO_ERROR ]]; then + vtype="" + elif [[ $vtype == *HANDLE* || $vtype == *HRESULT* ]]; then + vtype="Handle" + else + vtype="syscall.Errno" + fi + last_vtype="$vtype" + else + vtype="" + if [[ $last_vtype == Handle && $value == NO_ERROR ]]; then + value="S_OK" + elif [[ $last_vtype == syscall.Errno && $value == NO_ERROR ]]; then + value="ERROR_SUCCESS" + fi + fi + + echo "$key $vtype = $value" + done < "$winerror" + + while read -r line; do + [[ $line =~ ^#define\ (STATUS_[^\s]+)\ +\(\(NTSTATUS\)((0x)?[0-9a-fA-F]+)L?\) ]] || continue + echo "${BASH_REMATCH[1]} NTStatus = ${BASH_REMATCH[2]}" + done < "$ntstatus" + + echo ")" +} | gofmt > "zerrors_windows.go" diff --git a/vendor/golang.org/x/sys/windows/mkknownfolderids.bash b/vendor/golang.org/x/sys/windows/mkknownfolderids.bash new file mode 100644 index 000000000..ab8924e93 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/mkknownfolderids.bash @@ -0,0 +1,27 @@ +#!/bin/bash + +# Copyright 2019 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +set -e +shopt -s nullglob + +knownfolders="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/um/KnownFolders.h | sort -Vr | head -n 1)" +[[ -n $knownfolders ]] || { echo "Unable to find KnownFolders.h" >&2; exit 1; } + +{ + echo "// Code generated by 'mkknownfolderids.bash'; DO NOT EDIT." + echo + echo "package windows" + echo "type KNOWNFOLDERID GUID" + echo "var (" + while read -r line; do + [[ $line =~ DEFINE_KNOWN_FOLDER\((FOLDERID_[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+)\) ]] || continue + printf "%s = &KNOWNFOLDERID{0x%08x, 0x%04x, 0x%04x, [8]byte{0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x}}\n" \ + "${BASH_REMATCH[1]}" $(( "${BASH_REMATCH[2]}" )) $(( "${BASH_REMATCH[3]}" )) $(( "${BASH_REMATCH[4]}" )) \ + $(( "${BASH_REMATCH[5]}" )) $(( "${BASH_REMATCH[6]}" )) $(( "${BASH_REMATCH[7]}" )) $(( "${BASH_REMATCH[8]}" )) \ + $(( "${BASH_REMATCH[9]}" )) $(( "${BASH_REMATCH[10]}" )) $(( "${BASH_REMATCH[11]}" )) $(( "${BASH_REMATCH[12]}" )) + done < "$knownfolders" + echo ")" +} | gofmt > "zknownfolderids_windows.go" 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 000000000..328e3b2ac --- /dev/null +++ b/vendor/golang.org/x/sys/windows/mksyscall.go @@ -0,0 +1,9 @@ +// 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 generate + +package windows + +//go:generate go run golang.org/x/sys/windows/mkwinsyscall -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 000000000..a74e3e24b --- /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 000000000..e44a3cbf6 --- /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/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go new file mode 100644 index 000000000..111c10d3a --- /dev/null +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -0,0 +1,1443 @@ +// 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" + + "golang.org/x/sys/internal/unsafeheader" +) + +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 +) + +// Predefined domain-relative RIDs for local groups. +// See https://msdn.microsoft.com/en-us/library/windows/desktop/aa379649(v=vs.85).aspx +const ( + DOMAIN_ALIAS_RID_ADMINS = 0x220 + DOMAIN_ALIAS_RID_USERS = 0x221 + DOMAIN_ALIAS_RID_GUESTS = 0x222 + DOMAIN_ALIAS_RID_POWER_USERS = 0x223 + DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x224 + DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x225 + DOMAIN_ALIAS_RID_PRINT_OPS = 0x226 + DOMAIN_ALIAS_RID_BACKUP_OPS = 0x227 + DOMAIN_ALIAS_RID_REPLICATOR = 0x228 + DOMAIN_ALIAS_RID_RAS_SERVERS = 0x229 + DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x22a + DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x22b + DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x22c + DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS = 0x22d + DOMAIN_ALIAS_RID_MONITORING_USERS = 0x22e + DOMAIN_ALIAS_RID_LOGGING_USERS = 0x22f + DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS = 0x230 + DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS = 0x231 + DOMAIN_ALIAS_RID_DCOM_USERS = 0x232 + DOMAIN_ALIAS_RID_IUSERS = 0x238 + DOMAIN_ALIAS_RID_CRYPTO_OPERATORS = 0x239 + DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP = 0x23b + DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP = 0x23c + DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP = 0x23d + DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP = 0x23e +) + +//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 createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) = advapi32.CreateWellKnownSid +//sys isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) = advapi32.IsWellKnownSid +//sys FreeSid(sid *SID) (err error) [failretval!=0] = advapi32.FreeSid +//sys EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) = advapi32.EqualSid +//sys getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) = advapi32.GetSidIdentifierAuthority +//sys getSidSubAuthorityCount(sid *SID) (count *uint8) = advapi32.GetSidSubAuthorityCount +//sys getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) = advapi32.GetSidSubAuthority +//sys isValidSid(sid *SID) (isValid bool) = advapi32.IsValidSid + +// 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 { + var s *uint16 + e := ConvertSidToStringSid(sid, &s) + if e != nil { + return "" + } + defer LocalFree((Handle)(unsafe.Pointer(s))) + return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:]) +} + +// 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 +} + +// IdentifierAuthority returns the identifier authority of the SID. +func (sid *SID) IdentifierAuthority() SidIdentifierAuthority { + return *getSidIdentifierAuthority(sid) +} + +// SubAuthorityCount returns the number of sub-authorities in the SID. +func (sid *SID) SubAuthorityCount() uint8 { + return *getSidSubAuthorityCount(sid) +} + +// SubAuthority returns the sub-authority of the SID as specified by +// the index, which must be less than sid.SubAuthorityCount(). +func (sid *SID) SubAuthority(idx uint32) uint32 { + if idx >= uint32(sid.SubAuthorityCount()) { + panic("sub-authority index out of range") + } + return *getSidSubAuthority(sid, idx) +} + +// IsValid returns whether the SID has a valid revision and length. +func (sid *SID) IsValid() bool { + return isValidSid(sid) +} + +// Equals compares two SIDs for equality. +func (sid *SID) Equals(sid2 *SID) bool { + return EqualSid(sid, sid2) +} + +// IsWellKnown determines whether the SID matches the well-known sidType. +func (sid *SID) IsWellKnown(sidType WELL_KNOWN_SID_TYPE) bool { + return isWellKnownSid(sid, sidType) +} + +// 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 + } + } +} + +// Various types of pre-specified SIDs that can be synthesized and compared at runtime. +type WELL_KNOWN_SID_TYPE uint32 + +const ( + WinNullSid = 0 + WinWorldSid = 1 + WinLocalSid = 2 + WinCreatorOwnerSid = 3 + WinCreatorGroupSid = 4 + WinCreatorOwnerServerSid = 5 + WinCreatorGroupServerSid = 6 + WinNtAuthoritySid = 7 + WinDialupSid = 8 + WinNetworkSid = 9 + WinBatchSid = 10 + WinInteractiveSid = 11 + WinServiceSid = 12 + WinAnonymousSid = 13 + WinProxySid = 14 + WinEnterpriseControllersSid = 15 + WinSelfSid = 16 + WinAuthenticatedUserSid = 17 + WinRestrictedCodeSid = 18 + WinTerminalServerSid = 19 + WinRemoteLogonIdSid = 20 + WinLogonIdsSid = 21 + WinLocalSystemSid = 22 + WinLocalServiceSid = 23 + WinNetworkServiceSid = 24 + WinBuiltinDomainSid = 25 + WinBuiltinAdministratorsSid = 26 + WinBuiltinUsersSid = 27 + WinBuiltinGuestsSid = 28 + WinBuiltinPowerUsersSid = 29 + WinBuiltinAccountOperatorsSid = 30 + WinBuiltinSystemOperatorsSid = 31 + WinBuiltinPrintOperatorsSid = 32 + WinBuiltinBackupOperatorsSid = 33 + WinBuiltinReplicatorSid = 34 + WinBuiltinPreWindows2000CompatibleAccessSid = 35 + WinBuiltinRemoteDesktopUsersSid = 36 + WinBuiltinNetworkConfigurationOperatorsSid = 37 + WinAccountAdministratorSid = 38 + WinAccountGuestSid = 39 + WinAccountKrbtgtSid = 40 + WinAccountDomainAdminsSid = 41 + WinAccountDomainUsersSid = 42 + WinAccountDomainGuestsSid = 43 + WinAccountComputersSid = 44 + WinAccountControllersSid = 45 + WinAccountCertAdminsSid = 46 + WinAccountSchemaAdminsSid = 47 + WinAccountEnterpriseAdminsSid = 48 + WinAccountPolicyAdminsSid = 49 + WinAccountRasAndIasServersSid = 50 + WinNTLMAuthenticationSid = 51 + WinDigestAuthenticationSid = 52 + WinSChannelAuthenticationSid = 53 + WinThisOrganizationSid = 54 + WinOtherOrganizationSid = 55 + WinBuiltinIncomingForestTrustBuildersSid = 56 + WinBuiltinPerfMonitoringUsersSid = 57 + WinBuiltinPerfLoggingUsersSid = 58 + WinBuiltinAuthorizationAccessSid = 59 + WinBuiltinTerminalServerLicenseServersSid = 60 + WinBuiltinDCOMUsersSid = 61 + WinBuiltinIUsersSid = 62 + WinIUserSid = 63 + WinBuiltinCryptoOperatorsSid = 64 + WinUntrustedLabelSid = 65 + WinLowLabelSid = 66 + WinMediumLabelSid = 67 + WinHighLabelSid = 68 + WinSystemLabelSid = 69 + WinWriteRestrictedCodeSid = 70 + WinCreatorOwnerRightsSid = 71 + WinCacheablePrincipalsGroupSid = 72 + WinNonCacheablePrincipalsGroupSid = 73 + WinEnterpriseReadonlyControllersSid = 74 + WinAccountReadonlyControllersSid = 75 + WinBuiltinEventLogReadersGroup = 76 + WinNewEnterpriseReadonlyControllersSid = 77 + WinBuiltinCertSvcDComAccessGroup = 78 + WinMediumPlusLabelSid = 79 + WinLocalLogonSid = 80 + WinConsoleLogonSid = 81 + WinThisOrganizationCertificateSid = 82 + WinApplicationPackageAuthoritySid = 83 + WinBuiltinAnyPackageSid = 84 + WinCapabilityInternetClientSid = 85 + WinCapabilityInternetClientServerSid = 86 + WinCapabilityPrivateNetworkClientServerSid = 87 + WinCapabilityPicturesLibrarySid = 88 + WinCapabilityVideosLibrarySid = 89 + WinCapabilityMusicLibrarySid = 90 + WinCapabilityDocumentsLibrarySid = 91 + WinCapabilitySharedUserCertificatesSid = 92 + WinCapabilityEnterpriseAuthenticationSid = 93 + WinCapabilityRemovableStorageSid = 94 + WinBuiltinRDSRemoteAccessServersSid = 95 + WinBuiltinRDSEndpointServersSid = 96 + WinBuiltinRDSManagementServersSid = 97 + WinUserModeDriversSid = 98 + WinBuiltinHyperVAdminsSid = 99 + WinAccountCloneableControllersSid = 100 + WinBuiltinAccessControlAssistanceOperatorsSid = 101 + WinBuiltinRemoteManagementUsersSid = 102 + WinAuthenticationAuthorityAssertedSid = 103 + WinAuthenticationServiceAssertedSid = 104 + WinLocalAccountSid = 105 + WinLocalAccountAndAdministratorSid = 106 + WinAccountProtectedUsersSid = 107 + WinCapabilityAppointmentsSid = 108 + WinCapabilityContactsSid = 109 + WinAccountDefaultSystemManagedSid = 110 + WinBuiltinDefaultSystemManagedGroupSid = 111 + WinBuiltinStorageReplicaAdminsSid = 112 + WinAccountKeyAdminsSid = 113 + WinAccountEnterpriseKeyAdminsSid = 114 + WinAuthenticationKeyTrustSid = 115 + WinAuthenticationKeyPropertyMFASid = 116 + WinAuthenticationKeyPropertyAttestationSid = 117 + WinAuthenticationFreshKeyAuthSid = 118 + WinBuiltinDeviceOwnersSid = 119 +) + +// Creates a SID for a well-known predefined alias, generally using the constants of the form +// Win*Sid, for the local machine. +func CreateWellKnownSid(sidType WELL_KNOWN_SID_TYPE) (*SID, error) { + return CreateWellKnownDomainSid(sidType, nil) +} + +// Creates a SID for a well-known predefined alias, generally using the constants of the form +// Win*Sid, for the domain specified by the domainSid parameter. +func CreateWellKnownDomainSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID) (*SID, error) { + n := uint32(50) + for { + b := make([]byte, n) + sid := (*SID)(unsafe.Pointer(&b[0])) + err := createWellKnownSid(sidType, domainSid, sid, &n) + if err == nil { + return sid, nil + } + if err != ERROR_INSUFFICIENT_BUFFER { + return nil, err + } + if n <= uint32(len(b)) { + return nil, err + } + } +} + +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_ADJUST_SESSIONID + + 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_ADJUST_SESSIONID + 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 +) + +// Group attributes inside of Tokengroups.Groups[i].Attributes +const ( + SE_GROUP_MANDATORY = 0x00000001 + SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 + SE_GROUP_ENABLED = 0x00000004 + SE_GROUP_OWNER = 0x00000008 + SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 + SE_GROUP_INTEGRITY = 0x00000020 + SE_GROUP_INTEGRITY_ENABLED = 0x00000040 + SE_GROUP_LOGON_ID = 0xC0000000 + SE_GROUP_RESOURCE = 0x20000000 + SE_GROUP_VALID_ATTRIBUTES = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED | SE_GROUP_OWNER | SE_GROUP_USE_FOR_DENY_ONLY | SE_GROUP_LOGON_ID | SE_GROUP_RESOURCE | SE_GROUP_INTEGRITY | SE_GROUP_INTEGRITY_ENABLED +) + +// Privilege attributes +const ( + SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001 + SE_PRIVILEGE_ENABLED = 0x00000002 + SE_PRIVILEGE_REMOVED = 0x00000004 + SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000 + SE_PRIVILEGE_VALID_ATTRIBUTES = SE_PRIVILEGE_ENABLED_BY_DEFAULT | SE_PRIVILEGE_ENABLED | SE_PRIVILEGE_REMOVED | SE_PRIVILEGE_USED_FOR_ACCESS +) + +// Token types +const ( + TokenPrimary = 1 + TokenImpersonation = 2 +) + +// Impersonation levels +const ( + SecurityAnonymous = 0 + SecurityIdentification = 1 + SecurityImpersonation = 2 + SecurityDelegation = 3 +) + +type LUID struct { + LowPart uint32 + HighPart int32 +} + +type LUIDAndAttributes struct { + Luid LUID + Attributes uint32 +} + +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 // Use AllGroups() for iterating. +} + +// AllGroups returns a slice that can be used to iterate over the groups in g. +func (g *Tokengroups) AllGroups() []SIDAndAttributes { + return (*[(1 << 28) - 1]SIDAndAttributes)(unsafe.Pointer(&g.Groups[0]))[:g.GroupCount:g.GroupCount] +} + +type Tokenprivileges struct { + PrivilegeCount uint32 + Privileges [1]LUIDAndAttributes // Use AllPrivileges() for iterating. +} + +// AllPrivileges returns a slice that can be used to iterate over the privileges in p. +func (p *Tokenprivileges) AllPrivileges() []LUIDAndAttributes { + return (*[(1 << 27) - 1]LUIDAndAttributes)(unsafe.Pointer(&p.Privileges[0]))[:p.PrivilegeCount:p.PrivilegeCount] +} + +type Tokenmandatorylabel struct { + Label SIDAndAttributes +} + +func (tml *Tokenmandatorylabel) Size() uint32 { + return uint32(unsafe.Sizeof(Tokenmandatorylabel{})) + GetLengthSid(tml.Label.Sid) +} + +// Authorization Functions +//sys checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) = advapi32.CheckTokenMembership +//sys isTokenRestricted(tokenHandle Token) (ret bool, err error) [!failretval] = advapi32.IsTokenRestricted +//sys OpenProcessToken(process Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken +//sys OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) = advapi32.OpenThreadToken +//sys ImpersonateSelf(impersonationlevel uint32) (err error) = advapi32.ImpersonateSelf +//sys RevertToSelf() (err error) = advapi32.RevertToSelf +//sys SetThreadToken(thread *Handle, token Token) (err error) = advapi32.SetThreadToken +//sys LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) = advapi32.LookupPrivilegeValueW +//sys AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) = advapi32.AdjustTokenPrivileges +//sys AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) = advapi32.AdjustTokenGroups +//sys GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation +//sys SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) = advapi32.SetTokenInformation +//sys DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) = advapi32.DuplicateTokenEx +//sys GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) = userenv.GetUserProfileDirectoryW +//sys getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemDirectoryW +//sys getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetWindowsDirectoryW +//sys getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemWindowsDirectoryW + +// 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 an access token associated with current +// process with TOKEN_QUERY access. It is a real token that needs to be closed. +// +// Deprecated: Explicitly call OpenProcessToken(CurrentProcess(), ...) +// with the desired access instead, or use GetCurrentProcessToken for a +// TOKEN_QUERY token. +func OpenCurrentProcessToken() (Token, error) { + var token Token + err := OpenProcessToken(CurrentProcess(), TOKEN_QUERY, &token) + return token, err +} + +// GetCurrentProcessToken returns the access token associated with +// the current process. It is a pseudo token that does not need +// to be closed. +func GetCurrentProcessToken() Token { + return Token(^uintptr(4 - 1)) +} + +// GetCurrentThreadToken return the access token associated with +// the current thread. It is a pseudo token that does not need +// to be closed. +func GetCurrentThreadToken() Token { + return Token(^uintptr(5 - 1)) +} + +// GetCurrentThreadEffectiveToken returns the effective access token +// associated with the current thread. It is a pseudo token that does +// not need to be closed. +func GetCurrentThreadEffectiveToken() Token { + return Token(^uintptr(6 - 1)) +} + +// 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 + } + } +} + +// IsElevated returns whether the current token is elevated from a UAC perspective. +func (token Token) IsElevated() bool { + var isElevated uint32 + var outLen uint32 + err := GetTokenInformation(token, TokenElevation, (*byte)(unsafe.Pointer(&isElevated)), uint32(unsafe.Sizeof(isElevated)), &outLen) + if err != nil { + return false + } + return outLen == uint32(unsafe.Sizeof(isElevated)) && isElevated != 0 +} + +// GetLinkedToken returns the linked token, which may be an elevated UAC token. +func (token Token) GetLinkedToken() (Token, error) { + var linkedToken Token + var outLen uint32 + err := GetTokenInformation(token, TokenLinkedToken, (*byte)(unsafe.Pointer(&linkedToken)), uint32(unsafe.Sizeof(linkedToken)), &outLen) + if err != nil { + return Token(0), err + } + return linkedToken, nil +} + +// GetSystemDirectory retrieves the path to current location of the system +// directory, which is typically, though not always, `C:\Windows\System32`. +func GetSystemDirectory() (string, error) { + n := uint32(MAX_PATH) + for { + b := make([]uint16, n) + l, e := getSystemDirectory(&b[0], n) + if e != nil { + return "", e + } + if l <= n { + return UTF16ToString(b[:l]), nil + } + n = l + } +} + +// GetWindowsDirectory retrieves the path to current location of the Windows +// directory, which is typically, though not always, `C:\Windows`. This may +// be a private user directory in the case that the application is running +// under a terminal server. +func GetWindowsDirectory() (string, error) { + n := uint32(MAX_PATH) + for { + b := make([]uint16, n) + l, e := getWindowsDirectory(&b[0], n) + if e != nil { + return "", e + } + if l <= n { + return UTF16ToString(b[:l]), nil + } + n = l + } +} + +// GetSystemWindowsDirectory retrieves the path to current location of the +// Windows directory, which is typically, though not always, `C:\Windows`. +func GetSystemWindowsDirectory() (string, error) { + n := uint32(MAX_PATH) + for { + b := make([]uint16, n) + l, e := getSystemWindowsDirectory(&b[0], n) + if e != nil { + return "", e + } + if l <= n { + return UTF16ToString(b[:l]), nil + } + n = l + } +} + +// IsMember reports whether the access token t is a member of the provided SID. +func (t Token) IsMember(sid *SID) (bool, error) { + var b int32 + if e := checkTokenMembership(t, sid, &b); e != nil { + return false, e + } + return b != 0, nil +} + +// IsRestricted reports whether the access token t is a restricted token. +func (t Token) IsRestricted() (isRestricted bool, err error) { + isRestricted, err = isTokenRestricted(t) + if !isRestricted && err == syscall.EINVAL { + // If err is EINVAL, this returned ERROR_SUCCESS indicating a non-restricted token. + err = nil + } + return +} + +const ( + WTS_CONSOLE_CONNECT = 0x1 + WTS_CONSOLE_DISCONNECT = 0x2 + WTS_REMOTE_CONNECT = 0x3 + WTS_REMOTE_DISCONNECT = 0x4 + WTS_SESSION_LOGON = 0x5 + WTS_SESSION_LOGOFF = 0x6 + WTS_SESSION_LOCK = 0x7 + WTS_SESSION_UNLOCK = 0x8 + WTS_SESSION_REMOTE_CONTROL = 0x9 + WTS_SESSION_CREATE = 0xa + WTS_SESSION_TERMINATE = 0xb +) + +const ( + WTSActive = 0 + WTSConnected = 1 + WTSConnectQuery = 2 + WTSShadow = 3 + WTSDisconnected = 4 + WTSIdle = 5 + WTSListen = 6 + WTSReset = 7 + WTSDown = 8 + WTSInit = 9 +) + +type WTSSESSION_NOTIFICATION struct { + Size uint32 + SessionID uint32 +} + +type WTS_SESSION_INFO struct { + SessionID uint32 + WindowStationName *uint16 + State uint32 +} + +//sys WTSQueryUserToken(session uint32, token *Token) (err error) = wtsapi32.WTSQueryUserToken +//sys WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) = wtsapi32.WTSEnumerateSessionsW +//sys WTSFreeMemory(ptr uintptr) = wtsapi32.WTSFreeMemory + +type ACL struct { + aclRevision byte + sbz1 byte + aclSize uint16 + aceCount uint16 + sbz2 uint16 +} + +type SECURITY_DESCRIPTOR struct { + revision byte + sbz1 byte + control SECURITY_DESCRIPTOR_CONTROL + owner *SID + group *SID + sacl *ACL + dacl *ACL +} + +type SECURITY_QUALITY_OF_SERVICE struct { + Length uint32 + ImpersonationLevel uint32 + ContextTrackingMode byte + EffectiveOnly byte +} + +// Constants for the ContextTrackingMode field of SECURITY_QUALITY_OF_SERVICE. +const ( + SECURITY_STATIC_TRACKING = 0 + SECURITY_DYNAMIC_TRACKING = 1 +) + +type SecurityAttributes struct { + Length uint32 + SecurityDescriptor *SECURITY_DESCRIPTOR + InheritHandle uint32 +} + +type SE_OBJECT_TYPE uint32 + +// Constants for type SE_OBJECT_TYPE +const ( + SE_UNKNOWN_OBJECT_TYPE = 0 + SE_FILE_OBJECT = 1 + SE_SERVICE = 2 + SE_PRINTER = 3 + SE_REGISTRY_KEY = 4 + SE_LMSHARE = 5 + SE_KERNEL_OBJECT = 6 + SE_WINDOW_OBJECT = 7 + SE_DS_OBJECT = 8 + SE_DS_OBJECT_ALL = 9 + SE_PROVIDER_DEFINED_OBJECT = 10 + SE_WMIGUID_OBJECT = 11 + SE_REGISTRY_WOW64_32KEY = 12 + SE_REGISTRY_WOW64_64KEY = 13 +) + +type SECURITY_INFORMATION uint32 + +// Constants for type SECURITY_INFORMATION +const ( + OWNER_SECURITY_INFORMATION = 0x00000001 + GROUP_SECURITY_INFORMATION = 0x00000002 + DACL_SECURITY_INFORMATION = 0x00000004 + SACL_SECURITY_INFORMATION = 0x00000008 + LABEL_SECURITY_INFORMATION = 0x00000010 + ATTRIBUTE_SECURITY_INFORMATION = 0x00000020 + SCOPE_SECURITY_INFORMATION = 0x00000040 + BACKUP_SECURITY_INFORMATION = 0x00010000 + PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000 + PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000 + UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000 + UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000 +) + +type SECURITY_DESCRIPTOR_CONTROL uint16 + +// Constants for type SECURITY_DESCRIPTOR_CONTROL +const ( + SE_OWNER_DEFAULTED = 0x0001 + SE_GROUP_DEFAULTED = 0x0002 + SE_DACL_PRESENT = 0x0004 + SE_DACL_DEFAULTED = 0x0008 + SE_SACL_PRESENT = 0x0010 + SE_SACL_DEFAULTED = 0x0020 + SE_DACL_AUTO_INHERIT_REQ = 0x0100 + SE_SACL_AUTO_INHERIT_REQ = 0x0200 + SE_DACL_AUTO_INHERITED = 0x0400 + SE_SACL_AUTO_INHERITED = 0x0800 + SE_DACL_PROTECTED = 0x1000 + SE_SACL_PROTECTED = 0x2000 + SE_RM_CONTROL_VALID = 0x4000 + SE_SELF_RELATIVE = 0x8000 +) + +type ACCESS_MASK uint32 + +// Constants for type ACCESS_MASK +const ( + DELETE = 0x00010000 + READ_CONTROL = 0x00020000 + WRITE_DAC = 0x00040000 + WRITE_OWNER = 0x00080000 + SYNCHRONIZE = 0x00100000 + STANDARD_RIGHTS_REQUIRED = 0x000F0000 + STANDARD_RIGHTS_READ = READ_CONTROL + STANDARD_RIGHTS_WRITE = READ_CONTROL + STANDARD_RIGHTS_EXECUTE = READ_CONTROL + STANDARD_RIGHTS_ALL = 0x001F0000 + SPECIFIC_RIGHTS_ALL = 0x0000FFFF + ACCESS_SYSTEM_SECURITY = 0x01000000 + MAXIMUM_ALLOWED = 0x02000000 + GENERIC_READ = 0x80000000 + GENERIC_WRITE = 0x40000000 + GENERIC_EXECUTE = 0x20000000 + GENERIC_ALL = 0x10000000 +) + +type ACCESS_MODE uint32 + +// Constants for type ACCESS_MODE +const ( + NOT_USED_ACCESS = 0 + GRANT_ACCESS = 1 + SET_ACCESS = 2 + DENY_ACCESS = 3 + REVOKE_ACCESS = 4 + SET_AUDIT_SUCCESS = 5 + SET_AUDIT_FAILURE = 6 +) + +// Constants for AceFlags and Inheritance fields +const ( + NO_INHERITANCE = 0x0 + SUB_OBJECTS_ONLY_INHERIT = 0x1 + SUB_CONTAINERS_ONLY_INHERIT = 0x2 + SUB_CONTAINERS_AND_OBJECTS_INHERIT = 0x3 + INHERIT_NO_PROPAGATE = 0x4 + INHERIT_ONLY = 0x8 + INHERITED_ACCESS_ENTRY = 0x10 + INHERITED_PARENT = 0x10000000 + INHERITED_GRANDPARENT = 0x20000000 + OBJECT_INHERIT_ACE = 0x1 + CONTAINER_INHERIT_ACE = 0x2 + NO_PROPAGATE_INHERIT_ACE = 0x4 + INHERIT_ONLY_ACE = 0x8 + INHERITED_ACE = 0x10 + VALID_INHERIT_FLAGS = 0x1F +) + +type MULTIPLE_TRUSTEE_OPERATION uint32 + +// Constants for MULTIPLE_TRUSTEE_OPERATION +const ( + NO_MULTIPLE_TRUSTEE = 0 + TRUSTEE_IS_IMPERSONATE = 1 +) + +type TRUSTEE_FORM uint32 + +// Constants for TRUSTEE_FORM +const ( + TRUSTEE_IS_SID = 0 + TRUSTEE_IS_NAME = 1 + TRUSTEE_BAD_FORM = 2 + TRUSTEE_IS_OBJECTS_AND_SID = 3 + TRUSTEE_IS_OBJECTS_AND_NAME = 4 +) + +type TRUSTEE_TYPE uint32 + +// Constants for TRUSTEE_TYPE +const ( + TRUSTEE_IS_UNKNOWN = 0 + TRUSTEE_IS_USER = 1 + TRUSTEE_IS_GROUP = 2 + TRUSTEE_IS_DOMAIN = 3 + TRUSTEE_IS_ALIAS = 4 + TRUSTEE_IS_WELL_KNOWN_GROUP = 5 + TRUSTEE_IS_DELETED = 6 + TRUSTEE_IS_INVALID = 7 + TRUSTEE_IS_COMPUTER = 8 +) + +// Constants for ObjectsPresent field +const ( + ACE_OBJECT_TYPE_PRESENT = 0x1 + ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2 +) + +type EXPLICIT_ACCESS struct { + AccessPermissions ACCESS_MASK + AccessMode ACCESS_MODE + Inheritance uint32 + Trustee TRUSTEE +} + +// This type is the union inside of TRUSTEE and must be created using one of the TrusteeValueFrom* functions. +type TrusteeValue uintptr + +func TrusteeValueFromString(str string) TrusteeValue { + return TrusteeValue(unsafe.Pointer(StringToUTF16Ptr(str))) +} +func TrusteeValueFromSID(sid *SID) TrusteeValue { + return TrusteeValue(unsafe.Pointer(sid)) +} +func TrusteeValueFromObjectsAndSid(objectsAndSid *OBJECTS_AND_SID) TrusteeValue { + return TrusteeValue(unsafe.Pointer(objectsAndSid)) +} +func TrusteeValueFromObjectsAndName(objectsAndName *OBJECTS_AND_NAME) TrusteeValue { + return TrusteeValue(unsafe.Pointer(objectsAndName)) +} + +type TRUSTEE struct { + MultipleTrustee *TRUSTEE + MultipleTrusteeOperation MULTIPLE_TRUSTEE_OPERATION + TrusteeForm TRUSTEE_FORM + TrusteeType TRUSTEE_TYPE + TrusteeValue TrusteeValue +} + +type OBJECTS_AND_SID struct { + ObjectsPresent uint32 + ObjectTypeGuid GUID + InheritedObjectTypeGuid GUID + Sid *SID +} + +type OBJECTS_AND_NAME struct { + ObjectsPresent uint32 + ObjectType SE_OBJECT_TYPE + ObjectTypeName *uint16 + InheritedObjectTypeName *uint16 + Name *uint16 +} + +//sys getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetSecurityInfo +//sys SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetSecurityInfo +//sys getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetNamedSecurityInfoW +//sys SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetNamedSecurityInfoW +//sys SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) = advapi32.SetKernelObjectSecurity + +//sys buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) = advapi32.BuildSecurityDescriptorW +//sys initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) = advapi32.InitializeSecurityDescriptor + +//sys getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) = advapi32.GetSecurityDescriptorControl +//sys getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorDacl +//sys getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorSacl +//sys getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorOwner +//sys getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorGroup +//sys getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) = advapi32.GetSecurityDescriptorLength +//sys getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) [failretval!=0] = advapi32.GetSecurityDescriptorRMControl +//sys isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) = advapi32.IsValidSecurityDescriptor + +//sys setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) = advapi32.SetSecurityDescriptorControl +//sys setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorDacl +//sys setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorSacl +//sys setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) = advapi32.SetSecurityDescriptorOwner +//sys setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) = advapi32.SetSecurityDescriptorGroup +//sys setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) = advapi32.SetSecurityDescriptorRMControl + +//sys convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) = advapi32.ConvertStringSecurityDescriptorToSecurityDescriptorW +//sys convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) = advapi32.ConvertSecurityDescriptorToStringSecurityDescriptorW + +//sys makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) = advapi32.MakeAbsoluteSD +//sys makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) = advapi32.MakeSelfRelativeSD + +//sys setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) = advapi32.SetEntriesInAclW + +// Control returns the security descriptor control bits. +func (sd *SECURITY_DESCRIPTOR) Control() (control SECURITY_DESCRIPTOR_CONTROL, revision uint32, err error) { + err = getSecurityDescriptorControl(sd, &control, &revision) + return +} + +// SetControl sets the security descriptor control bits. +func (sd *SECURITY_DESCRIPTOR) SetControl(controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) error { + return setSecurityDescriptorControl(sd, controlBitsOfInterest, controlBitsToSet) +} + +// RMControl returns the security descriptor resource manager control bits. +func (sd *SECURITY_DESCRIPTOR) RMControl() (control uint8, err error) { + err = getSecurityDescriptorRMControl(sd, &control) + return +} + +// SetRMControl sets the security descriptor resource manager control bits. +func (sd *SECURITY_DESCRIPTOR) SetRMControl(rmControl uint8) { + setSecurityDescriptorRMControl(sd, &rmControl) +} + +// DACL returns the security descriptor DACL and whether it was defaulted. The dacl return value may be nil +// if a DACL exists but is an "empty DACL", meaning fully permissive. If the DACL does not exist, err returns +// ERROR_OBJECT_NOT_FOUND. +func (sd *SECURITY_DESCRIPTOR) DACL() (dacl *ACL, defaulted bool, err error) { + var present bool + err = getSecurityDescriptorDacl(sd, &present, &dacl, &defaulted) + if !present { + err = ERROR_OBJECT_NOT_FOUND + } + return +} + +// SetDACL sets the absolute security descriptor DACL. +func (absoluteSD *SECURITY_DESCRIPTOR) SetDACL(dacl *ACL, present, defaulted bool) error { + return setSecurityDescriptorDacl(absoluteSD, present, dacl, defaulted) +} + +// SACL returns the security descriptor SACL and whether it was defaulted. The sacl return value may be nil +// if a SACL exists but is an "empty SACL", meaning fully permissive. If the SACL does not exist, err returns +// ERROR_OBJECT_NOT_FOUND. +func (sd *SECURITY_DESCRIPTOR) SACL() (sacl *ACL, defaulted bool, err error) { + var present bool + err = getSecurityDescriptorSacl(sd, &present, &sacl, &defaulted) + if !present { + err = ERROR_OBJECT_NOT_FOUND + } + return +} + +// SetSACL sets the absolute security descriptor SACL. +func (absoluteSD *SECURITY_DESCRIPTOR) SetSACL(sacl *ACL, present, defaulted bool) error { + return setSecurityDescriptorSacl(absoluteSD, present, sacl, defaulted) +} + +// Owner returns the security descriptor owner and whether it was defaulted. +func (sd *SECURITY_DESCRIPTOR) Owner() (owner *SID, defaulted bool, err error) { + err = getSecurityDescriptorOwner(sd, &owner, &defaulted) + return +} + +// SetOwner sets the absolute security descriptor owner. +func (absoluteSD *SECURITY_DESCRIPTOR) SetOwner(owner *SID, defaulted bool) error { + return setSecurityDescriptorOwner(absoluteSD, owner, defaulted) +} + +// Group returns the security descriptor group and whether it was defaulted. +func (sd *SECURITY_DESCRIPTOR) Group() (group *SID, defaulted bool, err error) { + err = getSecurityDescriptorGroup(sd, &group, &defaulted) + return +} + +// SetGroup sets the absolute security descriptor owner. +func (absoluteSD *SECURITY_DESCRIPTOR) SetGroup(group *SID, defaulted bool) error { + return setSecurityDescriptorGroup(absoluteSD, group, defaulted) +} + +// Length returns the length of the security descriptor. +func (sd *SECURITY_DESCRIPTOR) Length() uint32 { + return getSecurityDescriptorLength(sd) +} + +// IsValid returns whether the security descriptor is valid. +func (sd *SECURITY_DESCRIPTOR) IsValid() bool { + return isValidSecurityDescriptor(sd) +} + +// String returns the SDDL form of the security descriptor, with a function signature that can be +// used with %v formatting directives. +func (sd *SECURITY_DESCRIPTOR) String() string { + var sddl *uint16 + err := convertSecurityDescriptorToStringSecurityDescriptor(sd, 1, 0xff, &sddl, nil) + if err != nil { + return "" + } + defer LocalFree(Handle(unsafe.Pointer(sddl))) + return UTF16PtrToString(sddl) +} + +// ToAbsolute converts a self-relative security descriptor into an absolute one. +func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DESCRIPTOR, err error) { + control, _, err := selfRelativeSD.Control() + if err != nil { + return + } + if control&SE_SELF_RELATIVE == 0 { + err = ERROR_INVALID_PARAMETER + return + } + var absoluteSDSize, daclSize, saclSize, ownerSize, groupSize uint32 + err = makeAbsoluteSD(selfRelativeSD, nil, &absoluteSDSize, + nil, &daclSize, nil, &saclSize, nil, &ownerSize, nil, &groupSize) + switch err { + case ERROR_INSUFFICIENT_BUFFER: + case nil: + // makeAbsoluteSD is expected to fail, but it succeeds. + return nil, ERROR_INTERNAL_ERROR + default: + return nil, err + } + if absoluteSDSize > 0 { + absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0])) + } + var ( + dacl *ACL + sacl *ACL + owner *SID + group *SID + ) + if daclSize > 0 { + dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0])) + } + if saclSize > 0 { + sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0])) + } + if ownerSize > 0 { + owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0])) + } + if groupSize > 0 { + group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0])) + } + err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize, + dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize) + return +} + +// ToSelfRelative converts an absolute security descriptor into a self-relative one. +func (absoluteSD *SECURITY_DESCRIPTOR) ToSelfRelative() (selfRelativeSD *SECURITY_DESCRIPTOR, err error) { + control, _, err := absoluteSD.Control() + if err != nil { + return + } + if control&SE_SELF_RELATIVE != 0 { + err = ERROR_INVALID_PARAMETER + return + } + var selfRelativeSDSize uint32 + err = makeSelfRelativeSD(absoluteSD, nil, &selfRelativeSDSize) + switch err { + case ERROR_INSUFFICIENT_BUFFER: + case nil: + // makeSelfRelativeSD is expected to fail, but it succeeds. + return nil, ERROR_INTERNAL_ERROR + default: + return nil, err + } + if selfRelativeSDSize > 0 { + selfRelativeSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, selfRelativeSDSize)[0])) + } + err = makeSelfRelativeSD(absoluteSD, selfRelativeSD, &selfRelativeSDSize) + return +} + +func (selfRelativeSD *SECURITY_DESCRIPTOR) copySelfRelativeSecurityDescriptor() *SECURITY_DESCRIPTOR { + sdLen := int(selfRelativeSD.Length()) + const min = int(unsafe.Sizeof(SECURITY_DESCRIPTOR{})) + if sdLen < min { + sdLen = min + } + + var src []byte + h := (*unsafeheader.Slice)(unsafe.Pointer(&src)) + h.Data = unsafe.Pointer(selfRelativeSD) + h.Len = sdLen + h.Cap = sdLen + + const psize = int(unsafe.Sizeof(uintptr(0))) + + var dst []byte + h = (*unsafeheader.Slice)(unsafe.Pointer(&dst)) + alloc := make([]uintptr, (sdLen+psize-1)/psize) + h.Data = (*unsafeheader.Slice)(unsafe.Pointer(&alloc)).Data + h.Len = sdLen + h.Cap = sdLen + + copy(dst, src) + return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&dst[0])) +} + +// SecurityDescriptorFromString converts an SDDL string describing a security descriptor into a +// self-relative security descriptor object allocated on the Go heap. +func SecurityDescriptorFromString(sddl string) (sd *SECURITY_DESCRIPTOR, err error) { + var winHeapSD *SECURITY_DESCRIPTOR + err = convertStringSecurityDescriptorToSecurityDescriptor(sddl, 1, &winHeapSD, nil) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) + return winHeapSD.copySelfRelativeSecurityDescriptor(), nil +} + +// GetSecurityInfo queries the security information for a given handle and returns the self-relative security +// descriptor result on the Go heap. +func GetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) { + var winHeapSD *SECURITY_DESCRIPTOR + err = getSecurityInfo(handle, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) + return winHeapSD.copySelfRelativeSecurityDescriptor(), nil +} + +// GetNamedSecurityInfo queries the security information for a given named object and returns the self-relative security +// descriptor result on the Go heap. +func GetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) { + var winHeapSD *SECURITY_DESCRIPTOR + err = getNamedSecurityInfo(objectName, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) + return winHeapSD.copySelfRelativeSecurityDescriptor(), nil +} + +// BuildSecurityDescriptor makes a new security descriptor using the input trustees, explicit access lists, and +// prior security descriptor to be merged, any of which can be nil, returning the self-relative security descriptor +// result on the Go heap. +func BuildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, accessEntries []EXPLICIT_ACCESS, auditEntries []EXPLICIT_ACCESS, mergedSecurityDescriptor *SECURITY_DESCRIPTOR) (sd *SECURITY_DESCRIPTOR, err error) { + var winHeapSD *SECURITY_DESCRIPTOR + var winHeapSDSize uint32 + var firstAccessEntry *EXPLICIT_ACCESS + if len(accessEntries) > 0 { + firstAccessEntry = &accessEntries[0] + } + var firstAuditEntry *EXPLICIT_ACCESS + if len(auditEntries) > 0 { + firstAuditEntry = &auditEntries[0] + } + err = buildSecurityDescriptor(owner, group, uint32(len(accessEntries)), firstAccessEntry, uint32(len(auditEntries)), firstAuditEntry, mergedSecurityDescriptor, &winHeapSDSize, &winHeapSD) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) + return winHeapSD.copySelfRelativeSecurityDescriptor(), nil +} + +// NewSecurityDescriptor creates and initializes a new absolute security descriptor. +func NewSecurityDescriptor() (absoluteSD *SECURITY_DESCRIPTOR, err error) { + absoluteSD = &SECURITY_DESCRIPTOR{} + err = initializeSecurityDescriptor(absoluteSD, 1) + return +} + +// ACLFromEntries returns a new ACL on the Go heap containing a list of explicit entries as well as those of another ACL. +// Both explicitEntries and mergedACL are optional and can be nil. +func ACLFromEntries(explicitEntries []EXPLICIT_ACCESS, mergedACL *ACL) (acl *ACL, err error) { + var firstExplicitEntry *EXPLICIT_ACCESS + if len(explicitEntries) > 0 { + firstExplicitEntry = &explicitEntries[0] + } + var winHeapACL *ACL + err = setEntriesInAcl(uint32(len(explicitEntries)), firstExplicitEntry, mergedACL, &winHeapACL) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapACL))) + aclBytes := make([]byte, winHeapACL.aclSize) + copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes):len(aclBytes)]) + return (*ACL)(unsafe.Pointer(&aclBytes[0])), nil +} 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 000000000..b269850d0 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/service.go @@ -0,0 +1,237 @@ +// 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 + + SC_ACTION_NONE = 0 + SC_ACTION_RESTART = 1 + SC_ACTION_REBOOT = 2 + SC_ACTION_RUN_COMMAND = 3 + + 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_ACCEPT_PRESHUTDOWN = 256 + + 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_CONTROL_PRESHUTDOWN = 15 + + 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 + SERVICE_CONFIG_DELAYED_AUTO_START_INFO = 3 + SERVICE_CONFIG_FAILURE_ACTIONS_FLAG = 4 + SERVICE_CONFIG_SERVICE_SID_INFO = 5 + SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO = 6 + SERVICE_CONFIG_PRESHUTDOWN_INFO = 7 + SERVICE_CONFIG_TRIGGER_INFO = 8 + SERVICE_CONFIG_PREFERRED_NODE = 9 + SERVICE_CONFIG_LAUNCH_PROTECTED = 12 + + SERVICE_SID_TYPE_NONE = 0 + SERVICE_SID_TYPE_UNRESTRICTED = 1 + SERVICE_SID_TYPE_RESTRICTED = 2 | SERVICE_SID_TYPE_UNRESTRICTED + + SC_ENUM_PROCESS_INFO = 0 + + SERVICE_NOTIFY_STATUS_CHANGE = 2 + SERVICE_NOTIFY_STOPPED = 0x00000001 + SERVICE_NOTIFY_START_PENDING = 0x00000002 + SERVICE_NOTIFY_STOP_PENDING = 0x00000004 + SERVICE_NOTIFY_RUNNING = 0x00000008 + SERVICE_NOTIFY_CONTINUE_PENDING = 0x00000010 + SERVICE_NOTIFY_PAUSE_PENDING = 0x00000020 + SERVICE_NOTIFY_PAUSED = 0x00000040 + SERVICE_NOTIFY_CREATED = 0x00000080 + SERVICE_NOTIFY_DELETED = 0x00000100 + SERVICE_NOTIFY_DELETE_PENDING = 0x00000200 + + SC_EVENT_DATABASE_CHANGE = 0 + SC_EVENT_PROPERTY_CHANGE = 1 + SC_EVENT_STATUS_CHANGE = 2 +) + +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_DELAYED_AUTO_START_INFO struct { + IsDelayedAutoStartUp uint32 +} + +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 +} + +type SERVICE_NOTIFY struct { + Version uint32 + NotifyCallback uintptr + Context uintptr + NotificationStatus uint32 + ServiceStatus SERVICE_STATUS_PROCESS + NotificationTriggered uint32 + ServiceNames *uint16 +} + +type SERVICE_FAILURE_ACTIONS struct { + ResetPeriod uint32 + RebootMsg *uint16 + Command *uint16 + ActionsCount uint32 + Actions *SC_ACTION +} + +type SC_ACTION struct { + Type uint32 + Delay uint32 +} + +type QUERY_SERVICE_LOCK_STATUS struct { + IsLocked uint32 + LockOwner *uint16 + LockDuration uint32 +} + +//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 QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceLockStatusW +//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 +//sys QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceStatusEx +//sys NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) = advapi32.NotifyServiceStatusChangeW +//sys SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) = sechost.SubscribeServiceChangeNotifications? +//sys UnsubscribeServiceChangeNotifications(subscription uintptr) = sechost.UnsubscribeServiceChangeNotifications? diff --git a/vendor/golang.org/x/sys/windows/setupapierrors_windows.go b/vendor/golang.org/x/sys/windows/setupapierrors_windows.go new file mode 100644 index 000000000..1681810e0 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/setupapierrors_windows.go @@ -0,0 +1,100 @@ +// Copyright 2020 The Go 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 ( + ERROR_EXPECTED_SECTION_NAME syscall.Errno = 0x20000000 | 0xC0000000 | 0 + ERROR_BAD_SECTION_NAME_LINE syscall.Errno = 0x20000000 | 0xC0000000 | 1 + ERROR_SECTION_NAME_TOO_LONG syscall.Errno = 0x20000000 | 0xC0000000 | 2 + ERROR_GENERAL_SYNTAX syscall.Errno = 0x20000000 | 0xC0000000 | 3 + ERROR_WRONG_INF_STYLE syscall.Errno = 0x20000000 | 0xC0000000 | 0x100 + ERROR_SECTION_NOT_FOUND syscall.Errno = 0x20000000 | 0xC0000000 | 0x101 + ERROR_LINE_NOT_FOUND syscall.Errno = 0x20000000 | 0xC0000000 | 0x102 + ERROR_NO_BACKUP syscall.Errno = 0x20000000 | 0xC0000000 | 0x103 + ERROR_NO_ASSOCIATED_CLASS syscall.Errno = 0x20000000 | 0xC0000000 | 0x200 + ERROR_CLASS_MISMATCH syscall.Errno = 0x20000000 | 0xC0000000 | 0x201 + ERROR_DUPLICATE_FOUND syscall.Errno = 0x20000000 | 0xC0000000 | 0x202 + ERROR_NO_DRIVER_SELECTED syscall.Errno = 0x20000000 | 0xC0000000 | 0x203 + ERROR_KEY_DOES_NOT_EXIST syscall.Errno = 0x20000000 | 0xC0000000 | 0x204 + ERROR_INVALID_DEVINST_NAME syscall.Errno = 0x20000000 | 0xC0000000 | 0x205 + ERROR_INVALID_CLASS syscall.Errno = 0x20000000 | 0xC0000000 | 0x206 + ERROR_DEVINST_ALREADY_EXISTS syscall.Errno = 0x20000000 | 0xC0000000 | 0x207 + ERROR_DEVINFO_NOT_REGISTERED syscall.Errno = 0x20000000 | 0xC0000000 | 0x208 + ERROR_INVALID_REG_PROPERTY syscall.Errno = 0x20000000 | 0xC0000000 | 0x209 + ERROR_NO_INF syscall.Errno = 0x20000000 | 0xC0000000 | 0x20A + ERROR_NO_SUCH_DEVINST syscall.Errno = 0x20000000 | 0xC0000000 | 0x20B + ERROR_CANT_LOAD_CLASS_ICON syscall.Errno = 0x20000000 | 0xC0000000 | 0x20C + ERROR_INVALID_CLASS_INSTALLER syscall.Errno = 0x20000000 | 0xC0000000 | 0x20D + ERROR_DI_DO_DEFAULT syscall.Errno = 0x20000000 | 0xC0000000 | 0x20E + ERROR_DI_NOFILECOPY syscall.Errno = 0x20000000 | 0xC0000000 | 0x20F + ERROR_INVALID_HWPROFILE syscall.Errno = 0x20000000 | 0xC0000000 | 0x210 + ERROR_NO_DEVICE_SELECTED syscall.Errno = 0x20000000 | 0xC0000000 | 0x211 + ERROR_DEVINFO_LIST_LOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x212 + ERROR_DEVINFO_DATA_LOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x213 + ERROR_DI_BAD_PATH syscall.Errno = 0x20000000 | 0xC0000000 | 0x214 + ERROR_NO_CLASSINSTALL_PARAMS syscall.Errno = 0x20000000 | 0xC0000000 | 0x215 + ERROR_FILEQUEUE_LOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x216 + ERROR_BAD_SERVICE_INSTALLSECT syscall.Errno = 0x20000000 | 0xC0000000 | 0x217 + ERROR_NO_CLASS_DRIVER_LIST syscall.Errno = 0x20000000 | 0xC0000000 | 0x218 + ERROR_NO_ASSOCIATED_SERVICE syscall.Errno = 0x20000000 | 0xC0000000 | 0x219 + ERROR_NO_DEFAULT_DEVICE_INTERFACE syscall.Errno = 0x20000000 | 0xC0000000 | 0x21A + ERROR_DEVICE_INTERFACE_ACTIVE syscall.Errno = 0x20000000 | 0xC0000000 | 0x21B + ERROR_DEVICE_INTERFACE_REMOVED syscall.Errno = 0x20000000 | 0xC0000000 | 0x21C + ERROR_BAD_INTERFACE_INSTALLSECT syscall.Errno = 0x20000000 | 0xC0000000 | 0x21D + ERROR_NO_SUCH_INTERFACE_CLASS syscall.Errno = 0x20000000 | 0xC0000000 | 0x21E + ERROR_INVALID_REFERENCE_STRING syscall.Errno = 0x20000000 | 0xC0000000 | 0x21F + ERROR_INVALID_MACHINENAME syscall.Errno = 0x20000000 | 0xC0000000 | 0x220 + ERROR_REMOTE_COMM_FAILURE syscall.Errno = 0x20000000 | 0xC0000000 | 0x221 + ERROR_MACHINE_UNAVAILABLE syscall.Errno = 0x20000000 | 0xC0000000 | 0x222 + ERROR_NO_CONFIGMGR_SERVICES syscall.Errno = 0x20000000 | 0xC0000000 | 0x223 + ERROR_INVALID_PROPPAGE_PROVIDER syscall.Errno = 0x20000000 | 0xC0000000 | 0x224 + ERROR_NO_SUCH_DEVICE_INTERFACE syscall.Errno = 0x20000000 | 0xC0000000 | 0x225 + ERROR_DI_POSTPROCESSING_REQUIRED syscall.Errno = 0x20000000 | 0xC0000000 | 0x226 + ERROR_INVALID_COINSTALLER syscall.Errno = 0x20000000 | 0xC0000000 | 0x227 + ERROR_NO_COMPAT_DRIVERS syscall.Errno = 0x20000000 | 0xC0000000 | 0x228 + ERROR_NO_DEVICE_ICON syscall.Errno = 0x20000000 | 0xC0000000 | 0x229 + ERROR_INVALID_INF_LOGCONFIG syscall.Errno = 0x20000000 | 0xC0000000 | 0x22A + ERROR_DI_DONT_INSTALL syscall.Errno = 0x20000000 | 0xC0000000 | 0x22B + ERROR_INVALID_FILTER_DRIVER syscall.Errno = 0x20000000 | 0xC0000000 | 0x22C + ERROR_NON_WINDOWS_NT_DRIVER syscall.Errno = 0x20000000 | 0xC0000000 | 0x22D + ERROR_NON_WINDOWS_DRIVER syscall.Errno = 0x20000000 | 0xC0000000 | 0x22E + ERROR_NO_CATALOG_FOR_OEM_INF syscall.Errno = 0x20000000 | 0xC0000000 | 0x22F + ERROR_DEVINSTALL_QUEUE_NONNATIVE syscall.Errno = 0x20000000 | 0xC0000000 | 0x230 + ERROR_NOT_DISABLEABLE syscall.Errno = 0x20000000 | 0xC0000000 | 0x231 + ERROR_CANT_REMOVE_DEVINST syscall.Errno = 0x20000000 | 0xC0000000 | 0x232 + ERROR_INVALID_TARGET syscall.Errno = 0x20000000 | 0xC0000000 | 0x233 + ERROR_DRIVER_NONNATIVE syscall.Errno = 0x20000000 | 0xC0000000 | 0x234 + ERROR_IN_WOW64 syscall.Errno = 0x20000000 | 0xC0000000 | 0x235 + ERROR_SET_SYSTEM_RESTORE_POINT syscall.Errno = 0x20000000 | 0xC0000000 | 0x236 + ERROR_SCE_DISABLED syscall.Errno = 0x20000000 | 0xC0000000 | 0x238 + ERROR_UNKNOWN_EXCEPTION syscall.Errno = 0x20000000 | 0xC0000000 | 0x239 + ERROR_PNP_REGISTRY_ERROR syscall.Errno = 0x20000000 | 0xC0000000 | 0x23A + ERROR_REMOTE_REQUEST_UNSUPPORTED syscall.Errno = 0x20000000 | 0xC0000000 | 0x23B + ERROR_NOT_AN_INSTALLED_OEM_INF syscall.Errno = 0x20000000 | 0xC0000000 | 0x23C + ERROR_INF_IN_USE_BY_DEVICES syscall.Errno = 0x20000000 | 0xC0000000 | 0x23D + ERROR_DI_FUNCTION_OBSOLETE syscall.Errno = 0x20000000 | 0xC0000000 | 0x23E + ERROR_NO_AUTHENTICODE_CATALOG syscall.Errno = 0x20000000 | 0xC0000000 | 0x23F + ERROR_AUTHENTICODE_DISALLOWED syscall.Errno = 0x20000000 | 0xC0000000 | 0x240 + ERROR_AUTHENTICODE_TRUSTED_PUBLISHER syscall.Errno = 0x20000000 | 0xC0000000 | 0x241 + ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED syscall.Errno = 0x20000000 | 0xC0000000 | 0x242 + ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED syscall.Errno = 0x20000000 | 0xC0000000 | 0x243 + ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH syscall.Errno = 0x20000000 | 0xC0000000 | 0x244 + ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE syscall.Errno = 0x20000000 | 0xC0000000 | 0x245 + ERROR_DEVICE_INSTALLER_NOT_READY syscall.Errno = 0x20000000 | 0xC0000000 | 0x246 + ERROR_DRIVER_STORE_ADD_FAILED syscall.Errno = 0x20000000 | 0xC0000000 | 0x247 + ERROR_DEVICE_INSTALL_BLOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x248 + ERROR_DRIVER_INSTALL_BLOCKED syscall.Errno = 0x20000000 | 0xC0000000 | 0x249 + ERROR_WRONG_INF_TYPE syscall.Errno = 0x20000000 | 0xC0000000 | 0x24A + ERROR_FILE_HASH_NOT_IN_CATALOG syscall.Errno = 0x20000000 | 0xC0000000 | 0x24B + ERROR_DRIVER_STORE_DELETE_FAILED syscall.Errno = 0x20000000 | 0xC0000000 | 0x24C + ERROR_UNRECOVERABLE_STACK_OVERFLOW syscall.Errno = 0x20000000 | 0xC0000000 | 0x300 + EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW syscall.Errno = ERROR_UNRECOVERABLE_STACK_OVERFLOW + ERROR_NO_DEFAULT_INTERFACE_DEVICE syscall.Errno = ERROR_NO_DEFAULT_DEVICE_INTERFACE + ERROR_INTERFACE_DEVICE_ACTIVE syscall.Errno = ERROR_DEVICE_INTERFACE_ACTIVE + ERROR_INTERFACE_DEVICE_REMOVED syscall.Errno = ERROR_DEVICE_INTERFACE_REMOVED + ERROR_NO_SUCH_INTERFACE_DEVICE syscall.Errno = ERROR_NO_SUCH_DEVICE_INTERFACE +) 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 000000000..917cc2aae --- /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/syscall.go b/vendor/golang.org/x/sys/windows/syscall.go new file mode 100644 index 000000000..6122f557a --- /dev/null +++ b/vendor/golang.org/x/sys/windows/syscall.go @@ -0,0 +1,112 @@ +// 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 ( + "bytes" + "strings" + "syscall" + "unsafe" + + "golang.org/x/sys/internal/unsafeheader" +) + +// 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) { + if strings.IndexByte(s, 0) != -1 { + 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 +} + +// ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any +// bytes after the NUL removed. +func ByteSliceToString(s []byte) string { + if i := bytes.IndexByte(s, 0); i != -1 { + s = s[:i] + } + return string(s) +} + +// BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. +// If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated +// at a zero byte; if the zero byte is not present, the program may crash. +func BytePtrToString(p *byte) string { + if p == nil { + return "" + } + if *p == 0 { + return "" + } + + // Find NUL terminator. + n := 0 + for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { + ptr = unsafe.Pointer(uintptr(ptr) + 1) + } + + var s []byte + h := (*unsafeheader.Slice)(unsafe.Pointer(&s)) + h.Data = unsafe.Pointer(p) + h.Len = n + h.Cap = n + + return string(s) +} + +// 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_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go new file mode 100644 index 000000000..1215b2ae2 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -0,0 +1,1672 @@ +// 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" + "fmt" + "runtime" + "sync" + "syscall" + "time" + "unicode/utf16" + "unsafe" + + "golang.org/x/sys/internal/unsafeheader" +) + +type Handle uintptr +type HWND uintptr + +const ( + InvalidHandle = ^Handle(0) + InvalidHWND = ^HWND(0) + + // Flags for DefineDosDevice. + DDD_EXACT_MATCH_ON_REMOVE = 0x00000004 + DDD_NO_BROADCAST_SYSTEM = 0x00000008 + DDD_RAW_TARGET_PATH = 0x00000001 + DDD_REMOVE_DEFINITION = 0x00000002 + + // Return values for GetDriveType. + DRIVE_UNKNOWN = 0 + DRIVE_NO_ROOT_DIR = 1 + DRIVE_REMOVABLE = 2 + DRIVE_FIXED = 3 + DRIVE_REMOTE = 4 + DRIVE_CDROM = 5 + DRIVE_RAMDISK = 6 + + // File system flags from GetVolumeInformation and GetVolumeInformationByHandle. + FILE_CASE_SENSITIVE_SEARCH = 0x00000001 + FILE_CASE_PRESERVED_NAMES = 0x00000002 + FILE_FILE_COMPRESSION = 0x00000010 + FILE_DAX_VOLUME = 0x20000000 + FILE_NAMED_STREAMS = 0x00040000 + FILE_PERSISTENT_ACLS = 0x00000008 + FILE_READ_ONLY_VOLUME = 0x00080000 + FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000 + FILE_SUPPORTS_ENCRYPTION = 0x00020000 + FILE_SUPPORTS_EXTENDED_ATTRIBUTES = 0x00800000 + FILE_SUPPORTS_HARD_LINKS = 0x00400000 + FILE_SUPPORTS_OBJECT_IDS = 0x00010000 + FILE_SUPPORTS_OPEN_BY_FILE_ID = 0x01000000 + FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 + FILE_SUPPORTS_SPARSE_FILES = 0x00000040 + FILE_SUPPORTS_TRANSACTIONS = 0x00200000 + FILE_SUPPORTS_USN_JOURNAL = 0x02000000 + FILE_UNICODE_ON_DISK = 0x00000004 + FILE_VOLUME_IS_COMPRESSED = 0x00008000 + FILE_VOLUME_QUOTAS = 0x00000020 + + // Flags for LockFileEx. + LOCKFILE_FAIL_IMMEDIATELY = 0x00000001 + LOCKFILE_EXCLUSIVE_LOCK = 0x00000002 + + // Return value of SleepEx and other APC functions + WAIT_IO_COMPLETION = 0x000000C0 +) + +// 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 and any bytes after the NUL removed. +func UTF16ToString(s []uint16) string { + for i, v := range s { + if v == 0 { + s = s[: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 +} + +// UTF16PtrToString takes a pointer to a UTF-16 sequence and returns the corresponding UTF-8 encoded string. +// If the pointer is nil, it returns the empty string. It assumes that the UTF-16 sequence is terminated +// at a zero word; if the zero word is not present, the program may crash. +func UTF16PtrToString(p *uint16) string { + if p == nil { + return "" + } + if *p == 0 { + return "" + } + + // Find NUL terminator. + n := 0 + for ptr := unsafe.Pointer(p); *(*uint16)(ptr) != 0; n++ { + ptr = unsafe.Pointer(uintptr(ptr) + unsafe.Sizeof(*p)) + } + + var s []uint16 + h := (*unsafeheader.Slice)(unsafe.Pointer(&s)) + h.Data = unsafe.Pointer(p) + h.Len = n + h.Cap = n + + return string(utf16.Decode(s)) +} + +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. +// The argument is expected to be a function with with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr. +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. +// The argument is expected to be a function with with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr. +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 GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) = kernel32.GetModuleFileNameW +//sys GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) = kernel32.GetModuleHandleExW +//sys SetDefaultDllDirectories(directoryFlags uint32) (err error) +//sys SetDllDirectory(path string) (err error) = kernel32.SetDllDirectoryW +//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 IsWow64Process(handle Handle, isWow64 *bool) (err error) = IsWow64Process +//sys IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) = IsWow64Process2? +//sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW +//sys CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) [failretval==InvalidHandle] = CreateNamedPipeW +//sys ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) +//sys GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) +//sys GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW +//sys SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) = SetNamedPipeHandleState +//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 GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (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 GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) +//sys SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (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 LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) +//sys UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) +//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 uintptr, threadcnt uint32) (handle Handle, err error) +//sys GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) +//sys PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, 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 CreateProcessAsUser(token Token, appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = advapi32.CreateProcessAsUserW +//sys initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) = InitializeProcThreadAttributeList +//sys deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) = DeleteProcThreadAttributeList +//sys updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) = UpdateProcThreadAttribute +//sys OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) +//sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW +//sys GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) = user32.GetWindowThreadProcessId +//sys GetShellWindow() (shellWindow HWND) = user32.GetShellWindow +//sys MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW +//sys ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx +//sys shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) = shell32.SHGetKnownFolderPath +//sys TerminateProcess(handle Handle, exitcode uint32) (err error) +//sys GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) +//sys GetStartupInfo(startupInfo *StartupInfo) (err error) = GetStartupInfoW +//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 waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff] = WaitForMultipleObjects +//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 CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) = userenv.CreateEnvironmentBlock +//sys DestroyEnvironmentBlock(block *uint16) (err error) = userenv.DestroyEnvironmentBlock +//sys getTickCount64() (ms uint64) = kernel32.GetTickCount64 +//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 LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) +//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 GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) = kernel32.GetFinalPathNameByHandleW +//sys CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = 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 FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.FindFirstChangeNotificationW +//sys FindNextChangeNotification(handle Handle) (err error) +//sys FindCloseChangeNotification(handle Handle) (err error) +//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) = 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 CertDeleteCertificateFromStore(certContext *CertContext) (err error) = crypt32.CertDeleteCertificateFromStore +//sys CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) = crypt32.CertDuplicateCertificateContext +//sys PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) = crypt32.PFXImportCertStore +//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 CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) = crypt32.CertGetNameStringW +//sys CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) = crypt32.CertFindExtension +//sys CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) [failretval==nil] = crypt32.CertFindCertificateInStore +//sys CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) [failretval==nil] = crypt32.CertFindChainInStore +//sys CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) = crypt32.CryptAcquireCertificatePrivateKey +//sys CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) = crypt32.CryptQueryObject +//sys CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) = crypt32.CryptDecodeObject +//sys CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptProtectData +//sys CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptUnprotectData +//sys WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) = wintrust.WinVerifyTrustEx +//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 RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) = advapi32.RegNotifyChangeKeyValue +//sys GetCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId +//sys ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) = kernel32.ProcessIdToSessionId +//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 setConsoleCursorPosition(console Handle, position uint32) (err error) = kernel32.SetConsoleCursorPosition +//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 Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) +//sys Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) +//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) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateEventW +//sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = 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 +//sys CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateMutexW +//sys CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateMutexExW +//sys OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenMutexW +//sys ReleaseMutex(mutex Handle) (err error) = kernel32.ReleaseMutex +//sys SleepEx(milliseconds uint32, alertable bool) (ret uint32) = kernel32.SleepEx +//sys CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) = kernel32.CreateJobObjectW +//sys AssignProcessToJobObject(job Handle, process Handle) (err error) = kernel32.AssignProcessToJobObject +//sys TerminateJobObject(job Handle, exitCode uint32) (err error) = kernel32.TerminateJobObject +//sys SetErrorMode(mode uint32) (ret uint32) = kernel32.SetErrorMode +//sys ResumeThread(thread Handle) (ret uint32, err error) [failretval==0xffffffff] = kernel32.ResumeThread +//sys SetPriorityClass(process Handle, priorityClass uint32) (err error) = kernel32.SetPriorityClass +//sys GetPriorityClass(process Handle) (ret uint32, err error) = kernel32.GetPriorityClass +//sys QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) = kernel32.QueryInformationJobObject +//sys SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) +//sys GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) +//sys GetProcessId(process Handle) (id uint32, err error) +//sys QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) = kernel32.QueryFullProcessImageNameW +//sys OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) +//sys SetProcessPriorityBoost(process Handle, disable bool) (err error) = kernel32.SetProcessPriorityBoost +//sys GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) +//sys SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) +//sys GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) +//sys SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) + +// Volume Management Functions +//sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW +//sys DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) = DeleteVolumeMountPointW +//sys FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstVolumeW +//sys FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstVolumeMountPointW +//sys FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) = FindNextVolumeW +//sys FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) = FindNextVolumeMountPointW +//sys FindVolumeClose(findVolume Handle) (err error) +//sys FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) +//sys GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) = GetDiskFreeSpaceExW +//sys GetDriveType(rootPathName *uint16) (driveType uint32) = GetDriveTypeW +//sys GetLogicalDrives() (drivesBitMask uint32, err error) [failretval==0] +//sys GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) [failretval==0] = GetLogicalDriveStringsW +//sys GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) = GetVolumeInformationW +//sys GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) = GetVolumeInformationByHandleW +//sys GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) = GetVolumeNameForVolumeMountPointW +//sys GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) = GetVolumePathNameW +//sys GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) = GetVolumePathNamesForVolumeNameW +//sys QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) [failretval==0] = QueryDosDeviceW +//sys SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) = SetVolumeLabelW +//sys SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) = SetVolumeMountPointW +//sys InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) = advapi32.InitiateSystemShutdownExW +//sys SetProcessShutdownParameters(level uint32, flags uint32) (err error) = kernel32.SetProcessShutdownParameters +//sys GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) = kernel32.GetProcessShutdownParameters +//sys clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) = ole32.CLSIDFromString +//sys stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) = ole32.StringFromGUID2 +//sys coCreateGuid(pguid *GUID) (ret error) = ole32.CoCreateGuid +//sys CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree +//sys CoInitializeEx(reserved uintptr, coInit uint32) (ret error) = ole32.CoInitializeEx +//sys CoUninitialize() = ole32.CoUninitialize +//sys CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) = ole32.CoGetObject +//sys getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetProcessPreferredUILanguages +//sys getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetThreadPreferredUILanguages +//sys getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetUserPreferredUILanguages +//sys getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetSystemPreferredUILanguages +//sys findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) = kernel32.FindResourceW +//sys SizeofResource(module Handle, resInfo Handle) (size uint32, err error) = kernel32.SizeofResource +//sys LoadResource(module Handle, resInfo Handle) (resData Handle, err error) = kernel32.LoadResource +//sys LockResource(resData Handle) (addr uintptr, err error) = kernel32.LockResource + +// Process Status API (PSAPI) +//sys EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) = psapi.EnumProcesses + +// NT Native APIs +//sys rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) = ntdll.RtlNtStatusToDosErrorNoTeb +//sys rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) = ntdll.RtlGetVersion +//sys rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers +//sys RtlGetCurrentPeb() (peb *PEB) = ntdll.RtlGetCurrentPeb +//sys RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) = ntdll.RtlInitUnicodeString +//sys RtlInitString(destinationString *NTString, sourceString *byte) = ntdll.RtlInitString +//sys NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) = ntdll.NtCreateFile +//sys NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) = ntdll.NtCreateNamedPipeFile +//sys RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToNtPathName_U_WithStatus +//sys RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToRelativeNtPathName_U_WithStatus +//sys RtlDefaultNpAcl(acl **ACL) (ntstatus error) = ntdll.RtlDefaultNpAcl +//sys NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQueryInformationProcess +//sys NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) = ntdll.NtSetInformationProcess + +// syscall interface implementation for other packages + +// GetCurrentProcess returns the handle for the current process. +// It is a pseudo handle that does not need to be closed. +// The returned error is always nil. +// +// Deprecated: use CurrentProcess for the same Handle without the nil +// error. +func GetCurrentProcess() (Handle, error) { + return CurrentProcess(), nil +} + +// CurrentProcess returns the handle for the current process. +// It is a pseudo handle that does not need to be closed. +func CurrentProcess() Handle { return Handle(^uintptr(1 - 1)) } + +// GetCurrentThread returns the handle for the current thread. +// It is a pseudo handle that does not need to be closed. +// The returned error is always nil. +// +// Deprecated: use CurrentThread for the same Handle without the nil +// error. +func GetCurrentThread() (Handle, error) { + return CurrentThread(), nil +} + +// CurrentThread returns the handle for the current thread. +// It is a pseudo handle that does not need to be closed. +func CurrentThread() Handle { return Handle(^uintptr(2 - 1)) } + +// GetProcAddressByOrdinal retrieves the address of the exported +// function from module by ordinal. +func GetProcAddressByOrdinal(module Handle, ordinal uintptr) (proc uintptr, err error) { + r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), ordinal, 0) + proc = uintptr(r0) + if proc == 0 { + err = errnoErr(e1) + } + return +} + +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 + } + var attrs uint32 = FILE_ATTRIBUTE_NORMAL + if perm&S_IWRITE == 0 { + attrs = FILE_ATTRIBUTE_READONLY + } + h, e := CreateFile(pathp, access, sharemode, sa, createmode, attrs, 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 DurationSinceBoot() time.Duration { + return time.Duration(getTickCount64()) * time.Millisecond +} + +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) { + 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() +} + +func WaitForMultipleObjects(handles []Handle, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { + // Every other win32 array API takes arguments as "pointer, count", except for this function. So we + // can't declare it as a usual [] type, because mksyscall will use the opposite order. We therefore + // trivially stub this ourselves. + + var handlePtr *Handle + if len(handles) > 0 { + handlePtr = &handles[0] + } + return waitForMultipleObjects(uint32(len(handles)), uintptr(unsafe.Pointer(handlePtr)), waitAll, waitMilliseconds) +} + +// 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 sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) [failretval==socket_error] = ws2_32.sendto +//sys recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) [failretval==-1] = ws2_32.recvfrom +//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 WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW +//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 WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) = ws2_32.WSAGetOverlappedResult +//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 [100]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 RawSockaddrUnix struct { + Family uint16 + Path [UNIX_PATH_MAX]int8 +} + +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) { + name := sa.Name + n := len(name) + if n > len(sa.raw.Path) { + return nil, 0, syscall.EINVAL + } + if n == len(sa.raw.Path) && name[0] != '@' { + return nil, 0, syscall.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 := int32(2) + if n > 0 { + sl += int32(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { + switch rsa.Addr.Family { + 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 := (*[len(pp.Path)]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, 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) +} + +var sendRecvMsgFunc struct { + once sync.Once + sendAddr uintptr + recvAddr uintptr + err error +} + +func loadWSASendRecvMsg() error { + sendRecvMsgFunc.once.Do(func() { + var s Handle + s, sendRecvMsgFunc.err = Socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) + if sendRecvMsgFunc.err != nil { + return + } + defer CloseHandle(s) + var n uint32 + sendRecvMsgFunc.err = WSAIoctl(s, + SIO_GET_EXTENSION_FUNCTION_POINTER, + (*byte)(unsafe.Pointer(&WSAID_WSARECVMSG)), + uint32(unsafe.Sizeof(WSAID_WSARECVMSG)), + (*byte)(unsafe.Pointer(&sendRecvMsgFunc.recvAddr)), + uint32(unsafe.Sizeof(sendRecvMsgFunc.recvAddr)), + &n, nil, 0) + if sendRecvMsgFunc.err != nil { + return + } + sendRecvMsgFunc.err = WSAIoctl(s, + SIO_GET_EXTENSION_FUNCTION_POINTER, + (*byte)(unsafe.Pointer(&WSAID_WSASENDMSG)), + uint32(unsafe.Sizeof(WSAID_WSASENDMSG)), + (*byte)(unsafe.Pointer(&sendRecvMsgFunc.sendAddr)), + uint32(unsafe.Sizeof(sendRecvMsgFunc.sendAddr)), + &n, nil, 0) + }) + return sendRecvMsgFunc.err +} + +func WSASendMsg(fd Handle, msg *WSAMsg, flags uint32, bytesSent *uint32, overlapped *Overlapped, croutine *byte) error { + err := loadWSASendRecvMsg() + if err != nil { + return err + } + r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.sendAddr, 6, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(flags), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + if r1 == socket_error { + err = errnoErr(e1) + } + return err +} + +func WSARecvMsg(fd Handle, msg *WSAMsg, bytesReceived *uint32, overlapped *Overlapped, croutine *byte) error { + err := loadWSASendRecvMsg() + if err != nil { + return err + } + r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.recvAddr, 5, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(bytesReceived)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0) + if r1 == socket_error { + err = errnoErr(e1) + } + return err +} + +// 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) { + var rsa RawSockaddrAny + l := int32(unsafe.Sizeof(rsa)) + n32, err := recvfrom(fd, p, int32(flags), &rsa, &l) + n = int(n32) + if err != nil { + return + } + from, err = rsa.Sockaddr() + return +} + +func Sendto(fd Handle, p []byte, flags int, to Sockaddr) (err error) { + ptr, l, err := to.sockaddr() + if err != nil { + return err + } + return sendto(fd, p, int32(flags), ptr, l) +} + +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) { + v := int32(0) + l := int32(unsafe.Sizeof(v)) + err := Getsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&v)), &l) + return int(v), err +} + +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 +} + +// GUIDFromString parses a string in the form of +// "{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" into a GUID. +func GUIDFromString(str string) (GUID, error) { + guid := GUID{} + str16, err := syscall.UTF16PtrFromString(str) + if err != nil { + return guid, err + } + err = clsidFromString(str16, &guid) + if err != nil { + return guid, err + } + return guid, nil +} + +// GenerateGUID creates a new random GUID. +func GenerateGUID() (GUID, error) { + guid := GUID{} + err := coCreateGuid(&guid) + if err != nil { + return guid, err + } + return guid, nil +} + +// String returns the canonical string form of the GUID, +// in the form of "{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}". +func (guid GUID) String() string { + var str [100]uint16 + chars := stringFromGUID2(&guid, &str[0], int32(len(str))) + if chars <= 1 { + return "" + } + return string(utf16.Decode(str[:chars-1])) +} + +// KnownFolderPath returns a well-known folder path for the current user, specified by one of +// the FOLDERID_ constants, and chosen and optionally created based on a KF_ flag. +func KnownFolderPath(folderID *KNOWNFOLDERID, flags uint32) (string, error) { + return Token(0).KnownFolderPath(folderID, flags) +} + +// KnownFolderPath returns a well-known folder path for the user token, specified by one of +// the FOLDERID_ constants, and chosen and optionally created based on a KF_ flag. +func (t Token) KnownFolderPath(folderID *KNOWNFOLDERID, flags uint32) (string, error) { + var p *uint16 + err := shGetKnownFolderPath(folderID, flags, t, &p) + if err != nil { + return "", err + } + defer CoTaskMemFree(unsafe.Pointer(p)) + return UTF16PtrToString(p), nil +} + +// RtlGetVersion returns the version of the underlying operating system, ignoring +// manifest semantics but is affected by the application compatibility layer. +func RtlGetVersion() *OsVersionInfoEx { + info := &OsVersionInfoEx{} + info.osVersionInfoSize = uint32(unsafe.Sizeof(*info)) + // According to documentation, this function always succeeds. + // The function doesn't even check the validity of the + // osVersionInfoSize member. Disassembling ntdll.dll indicates + // that the documentation is indeed correct about that. + _ = rtlGetVersion(info) + return info +} + +// RtlGetNtVersionNumbers returns the version of the underlying operating system, +// ignoring manifest semantics and the application compatibility layer. +func RtlGetNtVersionNumbers() (majorVersion, minorVersion, buildNumber uint32) { + rtlGetNtVersionNumbers(&majorVersion, &minorVersion, &buildNumber) + buildNumber &= 0xffff + return +} + +// GetProcessPreferredUILanguages retrieves the process preferred UI languages. +func GetProcessPreferredUILanguages(flags uint32) ([]string, error) { + return getUILanguages(flags, getProcessPreferredUILanguages) +} + +// GetThreadPreferredUILanguages retrieves the thread preferred UI languages for the current thread. +func GetThreadPreferredUILanguages(flags uint32) ([]string, error) { + return getUILanguages(flags, getThreadPreferredUILanguages) +} + +// GetUserPreferredUILanguages retrieves information about the user preferred UI languages. +func GetUserPreferredUILanguages(flags uint32) ([]string, error) { + return getUILanguages(flags, getUserPreferredUILanguages) +} + +// GetSystemPreferredUILanguages retrieves the system preferred UI languages. +func GetSystemPreferredUILanguages(flags uint32) ([]string, error) { + return getUILanguages(flags, getSystemPreferredUILanguages) +} + +func getUILanguages(flags uint32, f func(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) error) ([]string, error) { + size := uint32(128) + for { + var numLanguages uint32 + buf := make([]uint16, size) + err := f(flags, &numLanguages, &buf[0], &size) + if err == ERROR_INSUFFICIENT_BUFFER { + continue + } + if err != nil { + return nil, err + } + buf = buf[:size] + if numLanguages == 0 || len(buf) == 0 { // GetProcessPreferredUILanguages may return numLanguages==0 with "\0\0" + return []string{}, nil + } + if buf[len(buf)-1] == 0 { + buf = buf[:len(buf)-1] // remove terminating null + } + languages := make([]string, 0, numLanguages) + from := 0 + for i, c := range buf { + if c == 0 { + languages = append(languages, string(utf16.Decode(buf[from:i]))) + from = i + 1 + } + } + return languages, nil + } +} + +func SetConsoleCursorPosition(console Handle, position Coord) error { + return setConsoleCursorPosition(console, *((*uint32)(unsafe.Pointer(&position)))) +} + +func (s NTStatus) Errno() syscall.Errno { + return rtlNtStatusToDosErrorNoTeb(s) +} + +func langID(pri, sub uint16) uint32 { return uint32(sub)<<10 | uint32(pri) } + +func (s NTStatus) Error() string { + b := make([]uint16, 300) + n, err := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_FROM_HMODULE|FORMAT_MESSAGE_ARGUMENT_ARRAY, modntdll.Handle(), uint32(s), langID(LANG_ENGLISH, SUBLANG_ENGLISH_US), b, nil) + if err != nil { + return fmt.Sprintf("NTSTATUS 0x%08x", uint32(s)) + } + // trim terminating \r and \n + for ; n > 0 && (b[n-1] == '\n' || b[n-1] == '\r'); n-- { + } + return string(utf16.Decode(b[:n])) +} + +// NewNTUnicodeString returns a new NTUnicodeString structure for use with native +// NT APIs that work over the NTUnicodeString type. Note that most Windows APIs +// do not use NTUnicodeString, and instead UTF16PtrFromString should be used for +// the more common *uint16 string type. +func NewNTUnicodeString(s string) (*NTUnicodeString, error) { + var u NTUnicodeString + s16, err := UTF16PtrFromString(s) + if err != nil { + return nil, err + } + RtlInitUnicodeString(&u, s16) + return &u, nil +} + +// Slice returns a uint16 slice that aliases the data in the NTUnicodeString. +func (s *NTUnicodeString) Slice() []uint16 { + var slice []uint16 + hdr := (*unsafeheader.Slice)(unsafe.Pointer(&slice)) + hdr.Data = unsafe.Pointer(s.Buffer) + hdr.Len = int(s.Length) + hdr.Cap = int(s.MaximumLength) + return slice +} + +func (s *NTUnicodeString) String() string { + return UTF16ToString(s.Slice()) +} + +// NewNTString returns a new NTString structure for use with native +// NT APIs that work over the NTString type. Note that most Windows APIs +// do not use NTString, and instead UTF16PtrFromString should be used for +// the more common *uint16 string type. +func NewNTString(s string) (*NTString, error) { + var nts NTString + s8, err := BytePtrFromString(s) + if err != nil { + return nil, err + } + RtlInitString(&nts, s8) + return &nts, nil +} + +// Slice returns a byte slice that aliases the data in the NTString. +func (s *NTString) Slice() []byte { + var slice []byte + hdr := (*unsafeheader.Slice)(unsafe.Pointer(&slice)) + hdr.Data = unsafe.Pointer(s.Buffer) + hdr.Len = int(s.Length) + hdr.Cap = int(s.MaximumLength) + return slice +} + +func (s *NTString) String() string { + return ByteSliceToString(s.Slice()) +} + +// FindResource resolves a resource of the given name and resource type. +func FindResource(module Handle, name, resType ResourceIDOrString) (Handle, error) { + var namePtr, resTypePtr uintptr + var name16, resType16 *uint16 + var err error + resolvePtr := func(i interface{}, keep **uint16) (uintptr, error) { + switch v := i.(type) { + case string: + *keep, err = UTF16PtrFromString(v) + if err != nil { + return 0, err + } + return uintptr(unsafe.Pointer(*keep)), nil + case ResourceID: + return uintptr(v), nil + } + return 0, errorspkg.New("parameter must be a ResourceID or a string") + } + namePtr, err = resolvePtr(name, &name16) + if err != nil { + return 0, err + } + resTypePtr, err = resolvePtr(resType, &resType16) + if err != nil { + return 0, err + } + resInfo, err := findResource(module, namePtr, resTypePtr) + runtime.KeepAlive(name16) + runtime.KeepAlive(resType16) + return resInfo, err +} + +func LoadResourceData(module, resInfo Handle) (data []byte, err error) { + size, err := SizeofResource(module, resInfo) + if err != nil { + return + } + resData, err := LoadResource(module, resInfo) + if err != nil { + return + } + ptr, err := LockResource(resData) + if err != nil { + return + } + h := (*unsafeheader.Slice)(unsafe.Pointer(&data)) + h.Data = unsafe.Pointer(ptr) + h.Len = int(size) + h.Cap = int(size) + return +} 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 000000000..17f03312d --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -0,0 +1,2775 @@ +// 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 ( + "net" + "syscall" + "unsafe" +) + +// NTStatus corresponds with NTSTATUS, error values returned by ntdll.dll and +// other native functions. +type NTStatus uint32 + +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 ( + 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_DEVICE = 0x00000040 + FILE_ATTRIBUTE_NORMAL = 0x00000080 + FILE_ATTRIBUTE_TEMPORARY = 0x00000100 + FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 + FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 + FILE_ATTRIBUTE_COMPRESSED = 0x00000800 + FILE_ATTRIBUTE_OFFLINE = 0x00001000 + FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 + FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 + FILE_ATTRIBUTE_INTEGRITY_STREAM = 0x00008000 + FILE_ATTRIBUTE_VIRTUAL = 0x00010000 + FILE_ATTRIBUTE_NO_SCRUB_DATA = 0x00020000 + FILE_ATTRIBUTE_RECALL_ON_OPEN = 0x00040000 + FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 0x00400000 + + INVALID_FILE_ATTRIBUTES = 0xffffffff + + CREATE_NEW = 1 + CREATE_ALWAYS = 2 + OPEN_EXISTING = 3 + OPEN_ALWAYS = 4 + TRUNCATE_EXISTING = 5 + + FILE_FLAG_OPEN_REQUIRING_OPLOCK = 0x00040000 + FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000 + FILE_FLAG_OPEN_NO_RECALL = 0x00100000 + FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 + FILE_FLAG_SESSION_AWARE = 0x00800000 + FILE_FLAG_POSIX_SEMANTICS = 0x01000000 + FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 + FILE_FLAG_DELETE_ON_CLOSE = 0x04000000 + FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000 + FILE_FLAG_RANDOM_ACCESS = 0x10000000 + FILE_FLAG_NO_BUFFERING = 0x20000000 + FILE_FLAG_OVERLAPPED = 0x40000000 + FILE_FLAG_WRITE_THROUGH = 0x80000000 + + 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_ABANDONED = 0x00000080 + WAIT_OBJECT_0 = 0x00000000 + WAIT_FAILED = 0xFFFFFFFF + + // Access rights for process. + PROCESS_CREATE_PROCESS = 0x0080 + PROCESS_CREATE_THREAD = 0x0002 + PROCESS_DUP_HANDLE = 0x0040 + PROCESS_QUERY_INFORMATION = 0x0400 + PROCESS_QUERY_LIMITED_INFORMATION = 0x1000 + PROCESS_SET_INFORMATION = 0x0200 + PROCESS_SET_QUOTA = 0x0100 + PROCESS_SUSPEND_RESUME = 0x0800 + PROCESS_TERMINATE = 0x0001 + PROCESS_VM_OPERATION = 0x0008 + PROCESS_VM_READ = 0x0010 + PROCESS_VM_WRITE = 0x0020 + + // Access rights for thread. + THREAD_DIRECT_IMPERSONATION = 0x0200 + THREAD_GET_CONTEXT = 0x0008 + THREAD_IMPERSONATE = 0x0100 + THREAD_QUERY_INFORMATION = 0x0040 + THREAD_QUERY_LIMITED_INFORMATION = 0x0800 + THREAD_SET_CONTEXT = 0x0010 + THREAD_SET_INFORMATION = 0x0020 + THREAD_SET_LIMITED_INFORMATION = 0x0400 + THREAD_SET_THREAD_TOKEN = 0x0080 + THREAD_SUSPEND_RESUME = 0x0002 + THREAD_TERMINATE = 0x0001 + + FILE_MAP_COPY = 0x01 + FILE_MAP_WRITE = 0x02 + FILE_MAP_READ = 0x04 + FILE_MAP_EXECUTE = 0x20 + + CTRL_C_EVENT = 0 + CTRL_BREAK_EVENT = 1 + CTRL_CLOSE_EVENT = 2 + CTRL_LOGOFF_EVENT = 5 + CTRL_SHUTDOWN_EVENT = 6 + + // Windows reserves errors >= 1<<29 for application use. + APPLICATION_ERROR = 1 << 29 +) + +const ( + // Process creation flags. + CREATE_BREAKAWAY_FROM_JOB = 0x01000000 + CREATE_DEFAULT_ERROR_MODE = 0x04000000 + CREATE_NEW_CONSOLE = 0x00000010 + CREATE_NEW_PROCESS_GROUP = 0x00000200 + CREATE_NO_WINDOW = 0x08000000 + CREATE_PROTECTED_PROCESS = 0x00040000 + CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000 + CREATE_SEPARATE_WOW_VDM = 0x00000800 + CREATE_SHARED_WOW_VDM = 0x00001000 + CREATE_SUSPENDED = 0x00000004 + CREATE_UNICODE_ENVIRONMENT = 0x00000400 + DEBUG_ONLY_THIS_PROCESS = 0x00000002 + DEBUG_PROCESS = 0x00000001 + DETACHED_PROCESS = 0x00000008 + EXTENDED_STARTUPINFO_PRESENT = 0x00080000 + INHERIT_PARENT_AFFINITY = 0x00010000 +) + +const ( + // attributes for ProcThreadAttributeList + PROC_THREAD_ATTRIBUTE_PARENT_PROCESS = 0x00020000 + PROC_THREAD_ATTRIBUTE_HANDLE_LIST = 0x00020002 + PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY = 0x00030003 + PROC_THREAD_ATTRIBUTE_PREFERRED_NODE = 0x00020004 + PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR = 0x00030005 + PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY = 0x00020007 + PROC_THREAD_ATTRIBUTE_UMS_THREAD = 0x00030006 + PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL = 0x0002000b +) + +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 and FindFirstChangeNotificationW + 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 + /* certenrolld_begin -- PROV_RSA_*/ + 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 + + /* dwFlags definitions for CryptAcquireContext */ + CRYPT_VERIFYCONTEXT = 0xF0000000 + CRYPT_NEWKEYSET = 0x00000008 + CRYPT_DELETEKEYSET = 0x00000010 + CRYPT_MACHINE_KEYSET = 0x00000020 + CRYPT_SILENT = 0x00000040 + CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080 + + /* Flags for PFXImportCertStore */ + CRYPT_EXPORTABLE = 0x00000001 + CRYPT_USER_PROTECTED = 0x00000002 + CRYPT_USER_KEYSET = 0x00001000 + PKCS12_PREFER_CNG_KSP = 0x00000100 + PKCS12_ALWAYS_CNG_KSP = 0x00000200 + PKCS12_ALLOW_OVERWRITE_KEY = 0x00004000 + PKCS12_NO_PERSIST_KEY = 0x00008000 + PKCS12_INCLUDE_EXTENDED_PROPERTIES = 0x00000010 + + /* Flags for CryptAcquireCertificatePrivateKey */ + CRYPT_ACQUIRE_CACHE_FLAG = 0x00000001 + CRYPT_ACQUIRE_USE_PROV_INFO_FLAG = 0x00000002 + CRYPT_ACQUIRE_COMPARE_KEY_FLAG = 0x00000004 + CRYPT_ACQUIRE_NO_HEALING = 0x00000008 + CRYPT_ACQUIRE_SILENT_FLAG = 0x00000040 + CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG = 0x00000080 + CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK = 0x00070000 + CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG = 0x00010000 + CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG = 0x00020000 + CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG = 0x00040000 + + /* pdwKeySpec for CryptAcquireCertificatePrivateKey */ + AT_KEYEXCHANGE = 1 + AT_SIGNATURE = 2 + CERT_NCRYPT_KEY_SPEC = 0xFFFFFFFF + + /* Default usage match type is AND with value zero */ + USAGE_MATCH_TYPE_AND = 0 + USAGE_MATCH_TYPE_OR = 1 + + /* msgAndCertEncodingType values for CertOpenStore function */ + X509_ASN_ENCODING = 0x00000001 + PKCS_7_ASN_ENCODING = 0x00010000 + + /* storeProvider values for CertOpenStore function */ + CERT_STORE_PROV_MSG = 1 + CERT_STORE_PROV_MEMORY = 2 + CERT_STORE_PROV_FILE = 3 + CERT_STORE_PROV_REG = 4 + CERT_STORE_PROV_PKCS7 = 5 + CERT_STORE_PROV_SERIALIZED = 6 + CERT_STORE_PROV_FILENAME_A = 7 + CERT_STORE_PROV_FILENAME_W = 8 + CERT_STORE_PROV_FILENAME = CERT_STORE_PROV_FILENAME_W + CERT_STORE_PROV_SYSTEM_A = 9 + CERT_STORE_PROV_SYSTEM_W = 10 + CERT_STORE_PROV_SYSTEM = CERT_STORE_PROV_SYSTEM_W + CERT_STORE_PROV_COLLECTION = 11 + CERT_STORE_PROV_SYSTEM_REGISTRY_A = 12 + CERT_STORE_PROV_SYSTEM_REGISTRY_W = 13 + CERT_STORE_PROV_SYSTEM_REGISTRY = CERT_STORE_PROV_SYSTEM_REGISTRY_W + CERT_STORE_PROV_PHYSICAL_W = 14 + CERT_STORE_PROV_PHYSICAL = CERT_STORE_PROV_PHYSICAL_W + CERT_STORE_PROV_SMART_CARD_W = 15 + CERT_STORE_PROV_SMART_CARD = CERT_STORE_PROV_SMART_CARD_W + CERT_STORE_PROV_LDAP_W = 16 + CERT_STORE_PROV_LDAP = CERT_STORE_PROV_LDAP_W + CERT_STORE_PROV_PKCS12 = 17 + + /* store characteristics (low WORD of flag) for CertOpenStore function */ + CERT_STORE_NO_CRYPT_RELEASE_FLAG = 0x00000001 + CERT_STORE_SET_LOCALIZED_NAME_FLAG = 0x00000002 + CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004 + CERT_STORE_DELETE_FLAG = 0x00000010 + CERT_STORE_UNSAFE_PHYSICAL_FLAG = 0x00000020 + CERT_STORE_SHARE_STORE_FLAG = 0x00000040 + CERT_STORE_SHARE_CONTEXT_FLAG = 0x00000080 + CERT_STORE_MANIFOLD_FLAG = 0x00000100 + CERT_STORE_ENUM_ARCHIVED_FLAG = 0x00000200 + CERT_STORE_UPDATE_KEYID_FLAG = 0x00000400 + CERT_STORE_BACKUP_RESTORE_FLAG = 0x00000800 + CERT_STORE_MAXIMUM_ALLOWED_FLAG = 0x00001000 + CERT_STORE_CREATE_NEW_FLAG = 0x00002000 + CERT_STORE_OPEN_EXISTING_FLAG = 0x00004000 + CERT_STORE_READONLY_FLAG = 0x00008000 + + /* store locations (high WORD of flag) for CertOpenStore function */ + CERT_SYSTEM_STORE_CURRENT_USER = 0x00010000 + CERT_SYSTEM_STORE_LOCAL_MACHINE = 0x00020000 + CERT_SYSTEM_STORE_CURRENT_SERVICE = 0x00040000 + CERT_SYSTEM_STORE_SERVICES = 0x00050000 + CERT_SYSTEM_STORE_USERS = 0x00060000 + CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY = 0x00070000 + CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY = 0x00080000 + CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE = 0x00090000 + CERT_SYSTEM_STORE_UNPROTECTED_FLAG = 0x40000000 + CERT_SYSTEM_STORE_RELOCATE_FLAG = 0x80000000 + + /* Miscellaneous high-WORD flags for CertOpenStore function */ + CERT_REGISTRY_STORE_REMOTE_FLAG = 0x00010000 + CERT_REGISTRY_STORE_SERIALIZED_FLAG = 0x00020000 + CERT_REGISTRY_STORE_ROAMING_FLAG = 0x00040000 + CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG = 0x00080000 + CERT_REGISTRY_STORE_LM_GPT_FLAG = 0x01000000 + CERT_REGISTRY_STORE_CLIENT_GPT_FLAG = 0x80000000 + CERT_FILE_STORE_COMMIT_ENABLE_FLAG = 0x00010000 + CERT_LDAP_STORE_SIGN_FLAG = 0x00010000 + CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG = 0x00020000 + CERT_LDAP_STORE_OPENED_FLAG = 0x00040000 + CERT_LDAP_STORE_UNBIND_FLAG = 0x00080000 + + /* addDisposition values for CertAddCertificateContextToStore function */ + CERT_STORE_ADD_NEW = 1 + CERT_STORE_ADD_USE_EXISTING = 2 + CERT_STORE_ADD_REPLACE_EXISTING = 3 + CERT_STORE_ADD_ALWAYS = 4 + CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES = 5 + CERT_STORE_ADD_NEWER = 6 + CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES = 7 + + /* ErrorStatus values for CertTrustStatus struct */ + 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_PARTIAL_CHAIN = 0x00010000 + CERT_TRUST_CTL_IS_NOT_TIME_VALID = 0x00020000 + CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = 0x00040000 + CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = 0x00080000 + CERT_TRUST_HAS_WEAK_SIGNATURE = 0x00100000 + 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 + + /* InfoStatus values for CertTrustStatus struct */ + CERT_TRUST_HAS_EXACT_MATCH_ISSUER = 0x00000001 + CERT_TRUST_HAS_KEY_MATCH_ISSUER = 0x00000002 + CERT_TRUST_HAS_NAME_MATCH_ISSUER = 0x00000004 + CERT_TRUST_IS_SELF_SIGNED = 0x00000008 + CERT_TRUST_HAS_PREFERRED_ISSUER = 0x00000100 + CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY = 0x00000400 + CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS = 0x00000400 + CERT_TRUST_IS_PEER_TRUSTED = 0x00000800 + CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED = 0x00001000 + CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE = 0x00002000 + CERT_TRUST_IS_CA_TRUSTED = 0x00004000 + CERT_TRUST_IS_COMPLEX_CHAIN = 0x00010000 + + /* Certificate Information Flags */ + CERT_INFO_VERSION_FLAG = 1 + CERT_INFO_SERIAL_NUMBER_FLAG = 2 + CERT_INFO_SIGNATURE_ALGORITHM_FLAG = 3 + CERT_INFO_ISSUER_FLAG = 4 + CERT_INFO_NOT_BEFORE_FLAG = 5 + CERT_INFO_NOT_AFTER_FLAG = 6 + CERT_INFO_SUBJECT_FLAG = 7 + CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG = 8 + CERT_INFO_ISSUER_UNIQUE_ID_FLAG = 9 + CERT_INFO_SUBJECT_UNIQUE_ID_FLAG = 10 + CERT_INFO_EXTENSION_FLAG = 11 + + /* dwFindType for CertFindCertificateInStore */ + CERT_COMPARE_MASK = 0xFFFF + CERT_COMPARE_SHIFT = 16 + CERT_COMPARE_ANY = 0 + CERT_COMPARE_SHA1_HASH = 1 + CERT_COMPARE_NAME = 2 + CERT_COMPARE_ATTR = 3 + CERT_COMPARE_MD5_HASH = 4 + CERT_COMPARE_PROPERTY = 5 + CERT_COMPARE_PUBLIC_KEY = 6 + CERT_COMPARE_HASH = CERT_COMPARE_SHA1_HASH + CERT_COMPARE_NAME_STR_A = 7 + CERT_COMPARE_NAME_STR_W = 8 + CERT_COMPARE_KEY_SPEC = 9 + CERT_COMPARE_ENHKEY_USAGE = 10 + CERT_COMPARE_CTL_USAGE = CERT_COMPARE_ENHKEY_USAGE + CERT_COMPARE_SUBJECT_CERT = 11 + CERT_COMPARE_ISSUER_OF = 12 + CERT_COMPARE_EXISTING = 13 + CERT_COMPARE_SIGNATURE_HASH = 14 + CERT_COMPARE_KEY_IDENTIFIER = 15 + CERT_COMPARE_CERT_ID = 16 + CERT_COMPARE_CROSS_CERT_DIST_POINTS = 17 + CERT_COMPARE_PUBKEY_MD5_HASH = 18 + CERT_COMPARE_SUBJECT_INFO_ACCESS = 19 + CERT_COMPARE_HASH_STR = 20 + CERT_COMPARE_HAS_PRIVATE_KEY = 21 + CERT_FIND_ANY = (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT) + CERT_FIND_SHA1_HASH = (CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT) + CERT_FIND_MD5_HASH = (CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT) + CERT_FIND_SIGNATURE_HASH = (CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT) + CERT_FIND_KEY_IDENTIFIER = (CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT) + CERT_FIND_HASH = CERT_FIND_SHA1_HASH + CERT_FIND_PROPERTY = (CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT) + CERT_FIND_PUBLIC_KEY = (CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT) + CERT_FIND_SUBJECT_NAME = (CERT_COMPARE_NAME<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) + CERT_FIND_SUBJECT_ATTR = (CERT_COMPARE_ATTR<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) + CERT_FIND_ISSUER_NAME = (CERT_COMPARE_NAME<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG) + CERT_FIND_ISSUER_ATTR = (CERT_COMPARE_ATTR<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG) + CERT_FIND_SUBJECT_STR_A = (CERT_COMPARE_NAME_STR_A<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) + CERT_FIND_SUBJECT_STR_W = (CERT_COMPARE_NAME_STR_W<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) + CERT_FIND_SUBJECT_STR = CERT_FIND_SUBJECT_STR_W + CERT_FIND_ISSUER_STR_A = (CERT_COMPARE_NAME_STR_A<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG) + CERT_FIND_ISSUER_STR_W = (CERT_COMPARE_NAME_STR_W<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG) + CERT_FIND_ISSUER_STR = CERT_FIND_ISSUER_STR_W + CERT_FIND_KEY_SPEC = (CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT) + CERT_FIND_ENHKEY_USAGE = (CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT) + CERT_FIND_CTL_USAGE = CERT_FIND_ENHKEY_USAGE + CERT_FIND_SUBJECT_CERT = (CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT) + CERT_FIND_ISSUER_OF = (CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT) + CERT_FIND_EXISTING = (CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT) + CERT_FIND_CERT_ID = (CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT) + CERT_FIND_CROSS_CERT_DIST_POINTS = (CERT_COMPARE_CROSS_CERT_DIST_POINTS << CERT_COMPARE_SHIFT) + CERT_FIND_PUBKEY_MD5_HASH = (CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT) + CERT_FIND_SUBJECT_INFO_ACCESS = (CERT_COMPARE_SUBJECT_INFO_ACCESS << CERT_COMPARE_SHIFT) + CERT_FIND_HASH_STR = (CERT_COMPARE_HASH_STR << CERT_COMPARE_SHIFT) + CERT_FIND_HAS_PRIVATE_KEY = (CERT_COMPARE_HAS_PRIVATE_KEY << CERT_COMPARE_SHIFT) + CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG = 0x1 + CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG = 0x2 + CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG = 0x4 + CERT_FIND_NO_ENHKEY_USAGE_FLAG = 0x8 + CERT_FIND_OR_ENHKEY_USAGE_FLAG = 0x10 + CERT_FIND_VALID_ENHKEY_USAGE_FLAG = 0x20 + CERT_FIND_OPTIONAL_CTL_USAGE_FLAG = CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG + CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG = CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG + CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG = CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG + CERT_FIND_NO_CTL_USAGE_FLAG = CERT_FIND_NO_ENHKEY_USAGE_FLAG + CERT_FIND_OR_CTL_USAGE_FLAG = CERT_FIND_OR_ENHKEY_USAGE_FLAG + CERT_FIND_VALID_CTL_USAGE_FLAG = CERT_FIND_VALID_ENHKEY_USAGE_FLAG + + /* policyOID values for CertVerifyCertificateChainPolicy function */ + 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_CHAIN_POLICY_SSL_F12 = 9 + + /* flag for dwFindType CertFindChainInStore */ + CERT_CHAIN_FIND_BY_ISSUER = 1 + + /* dwFindFlags for CertFindChainInStore when dwFindType == CERT_CHAIN_FIND_BY_ISSUER */ + CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG = 0x0001 + CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG = 0x0002 + CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG = 0x0004 + CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG = 0x0008 + CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG = 0x4000 + CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG = 0x8000 + + /* Certificate Store close flags */ + CERT_CLOSE_STORE_FORCE_FLAG = 0x00000001 + CERT_CLOSE_STORE_CHECK_FLAG = 0x00000002 + + /* CryptQueryObject object type */ + CERT_QUERY_OBJECT_FILE = 1 + CERT_QUERY_OBJECT_BLOB = 2 + + /* CryptQueryObject content type flags */ + CERT_QUERY_CONTENT_CERT = 1 + CERT_QUERY_CONTENT_CTL = 2 + CERT_QUERY_CONTENT_CRL = 3 + CERT_QUERY_CONTENT_SERIALIZED_STORE = 4 + CERT_QUERY_CONTENT_SERIALIZED_CERT = 5 + CERT_QUERY_CONTENT_SERIALIZED_CTL = 6 + CERT_QUERY_CONTENT_SERIALIZED_CRL = 7 + CERT_QUERY_CONTENT_PKCS7_SIGNED = 8 + CERT_QUERY_CONTENT_PKCS7_UNSIGNED = 9 + CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED = 10 + CERT_QUERY_CONTENT_PKCS10 = 11 + CERT_QUERY_CONTENT_PFX = 12 + CERT_QUERY_CONTENT_CERT_PAIR = 13 + CERT_QUERY_CONTENT_PFX_AND_LOAD = 14 + CERT_QUERY_CONTENT_FLAG_CERT = (1 << CERT_QUERY_CONTENT_CERT) + CERT_QUERY_CONTENT_FLAG_CTL = (1 << CERT_QUERY_CONTENT_CTL) + CERT_QUERY_CONTENT_FLAG_CRL = (1 << CERT_QUERY_CONTENT_CRL) + CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE = (1 << CERT_QUERY_CONTENT_SERIALIZED_STORE) + CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT = (1 << CERT_QUERY_CONTENT_SERIALIZED_CERT) + CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL = (1 << CERT_QUERY_CONTENT_SERIALIZED_CTL) + CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL = (1 << CERT_QUERY_CONTENT_SERIALIZED_CRL) + CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED = (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED) + CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED = (1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED) + CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED = (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED) + CERT_QUERY_CONTENT_FLAG_PKCS10 = (1 << CERT_QUERY_CONTENT_PKCS10) + CERT_QUERY_CONTENT_FLAG_PFX = (1 << CERT_QUERY_CONTENT_PFX) + CERT_QUERY_CONTENT_FLAG_CERT_PAIR = (1 << CERT_QUERY_CONTENT_CERT_PAIR) + CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD = (1 << CERT_QUERY_CONTENT_PFX_AND_LOAD) + CERT_QUERY_CONTENT_FLAG_ALL = (CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR) + CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT = (CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED) + + /* CryptQueryObject format type flags */ + CERT_QUERY_FORMAT_BINARY = 1 + CERT_QUERY_FORMAT_BASE64_ENCODED = 2 + CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED = 3 + CERT_QUERY_FORMAT_FLAG_BINARY = (1 << CERT_QUERY_FORMAT_BINARY) + CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED = (1 << CERT_QUERY_FORMAT_BASE64_ENCODED) + CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED = (1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED) + CERT_QUERY_FORMAT_FLAG_ALL = (CERT_QUERY_FORMAT_FLAG_BINARY | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED) + + /* CertGetNameString name types */ + CERT_NAME_EMAIL_TYPE = 1 + CERT_NAME_RDN_TYPE = 2 + CERT_NAME_ATTR_TYPE = 3 + CERT_NAME_SIMPLE_DISPLAY_TYPE = 4 + CERT_NAME_FRIENDLY_DISPLAY_TYPE = 5 + CERT_NAME_DNS_TYPE = 6 + CERT_NAME_URL_TYPE = 7 + CERT_NAME_UPN_TYPE = 8 + + /* CertGetNameString flags */ + CERT_NAME_ISSUER_FLAG = 0x1 + CERT_NAME_DISABLE_IE4_UTF8_FLAG = 0x10000 + CERT_NAME_SEARCH_ALL_NAMES_FLAG = 0x2 + CERT_NAME_STR_ENABLE_PUNYCODE_FLAG = 0x00200000 + + /* AuthType values for SSLExtraCertChainPolicyPara struct */ + AUTHTYPE_CLIENT = 1 + AUTHTYPE_SERVER = 2 + + /* Checks values for SSLExtraCertChainPolicyPara struct */ + SECURITY_FLAG_IGNORE_REVOCATION = 0x00000080 + SECURITY_FLAG_IGNORE_UNKNOWN_CA = 0x00000100 + SECURITY_FLAG_IGNORE_WRONG_USAGE = 0x00000200 + SECURITY_FLAG_IGNORE_CERT_CN_INVALID = 0x00001000 + SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000 + + /* Flags for Crypt[Un]ProtectData */ + CRYPTPROTECT_UI_FORBIDDEN = 0x1 + CRYPTPROTECT_LOCAL_MACHINE = 0x4 + CRYPTPROTECT_CRED_SYNC = 0x8 + CRYPTPROTECT_AUDIT = 0x10 + CRYPTPROTECT_NO_RECOVERY = 0x20 + CRYPTPROTECT_VERIFY_PROTECTION = 0x40 + CRYPTPROTECT_CRED_REGENERATE = 0x80 + + /* Flags for CryptProtectPromptStruct */ + CRYPTPROTECT_PROMPT_ON_UNPROTECT = 1 + CRYPTPROTECT_PROMPT_ON_PROTECT = 2 + CRYPTPROTECT_PROMPT_RESERVED = 4 + CRYPTPROTECT_PROMPT_STRONG = 8 + CRYPTPROTECT_PROMPT_REQUIRE_STRONG = 16 +) + +const ( + // flags for SetErrorMode + SEM_FAILCRITICALERRORS = 0x0001 + SEM_NOALIGNMENTFAULTEXCEPT = 0x0004 + SEM_NOGPFAULTERRORBOX = 0x0002 + SEM_NOOPENFILEERRORBOX = 0x8000 +) + +const ( + // Priority class. + ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000 + BELOW_NORMAL_PRIORITY_CLASS = 0x00004000 + HIGH_PRIORITY_CLASS = 0x00000080 + IDLE_PRIORITY_CLASS = 0x00000040 + NORMAL_PRIORITY_CLASS = 0x00000020 + PROCESS_MODE_BACKGROUND_BEGIN = 0x00100000 + PROCESS_MODE_BACKGROUND_END = 0x00200000 + REALTIME_PRIORITY_CLASS = 0x00000100 +) + +/* wintrust.h constants for WinVerifyTrustEx */ +const ( + WTD_UI_ALL = 1 + WTD_UI_NONE = 2 + WTD_UI_NOBAD = 3 + WTD_UI_NOGOOD = 4 + + WTD_REVOKE_NONE = 0 + WTD_REVOKE_WHOLECHAIN = 1 + + WTD_CHOICE_FILE = 1 + WTD_CHOICE_CATALOG = 2 + WTD_CHOICE_BLOB = 3 + WTD_CHOICE_SIGNER = 4 + WTD_CHOICE_CERT = 5 + + WTD_STATEACTION_IGNORE = 0x00000000 + WTD_STATEACTION_VERIFY = 0x00000001 + WTD_STATEACTION_CLOSE = 0x00000002 + WTD_STATEACTION_AUTO_CACHE = 0x00000003 + WTD_STATEACTION_AUTO_CACHE_FLUSH = 0x00000004 + + WTD_USE_IE4_TRUST_FLAG = 0x1 + WTD_NO_IE4_CHAIN_FLAG = 0x2 + WTD_NO_POLICY_USAGE_FLAG = 0x4 + WTD_REVOCATION_CHECK_NONE = 0x10 + WTD_REVOCATION_CHECK_END_CERT = 0x20 + WTD_REVOCATION_CHECK_CHAIN = 0x40 + WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x80 + WTD_SAFER_FLAG = 0x100 + WTD_HASH_ONLY_FLAG = 0x200 + WTD_USE_DEFAULT_OSVER_CHECK = 0x400 + WTD_LIFETIME_SIGNING_FLAG = 0x800 + WTD_CACHE_ONLY_URL_RETRIEVAL = 0x1000 + WTD_DISABLE_MD2_MD4 = 0x2000 + WTD_MOTW = 0x4000 + + WTD_UICONTEXT_EXECUTE = 0 + WTD_UICONTEXT_INSTALL = 1 +) + +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") + + WINTRUST_ACTION_GENERIC_VERIFY_V2 = GUID{ + Data1: 0xaac56b, + Data2: 0xcd44, + Data3: 0x11d0, + Data4: [8]byte{0x8c, 0xc2, 0x0, 0xc0, 0x4f, 0xc2, 0x95, 0xee}, + } +) + +// Pointer represents a pointer to an arbitrary Windows type. +// +// Pointer-typed fields may point to one of many different types. It's +// up to the caller to provide a pointer to the appropriate type, cast +// to Pointer. The caller must obey the unsafe.Pointer rules while +// doing so. +type Pointer *struct{} + +// 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 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 + + // The Microsoft documentation for this struct¹ describes three additional + // fields: dwFileType, dwCreatorType, and wFinderFlags. However, those fields + // are empirically only present in the macOS port of the Win32 API,² and thus + // not needed for binaries built for Windows. + // + // ¹ https://docs.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-win32_find_dataw describe + // ² https://golang.org/issue/42637#issuecomment-760715755. +} + +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 StartupInfoEx struct { + StartupInfo + ProcThreadAttributeList *ProcThreadAttributeList +} + +// ProcThreadAttributeList is a placeholder type to represent a PROC_THREAD_ATTRIBUTE_LIST. +// +// To create a *ProcThreadAttributeList, use NewProcThreadAttributeList, update +// it with ProcThreadAttributeListContainer.Update, free its memory using +// ProcThreadAttributeListContainer.Delete, and access the list itself using +// ProcThreadAttributeListContainer.List. +type ProcThreadAttributeList struct{} + +type ProcThreadAttributeListContainer struct { + data *ProcThreadAttributeList + heapAllocations []uintptr +} + +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 ThreadEntry32 struct { + Size uint32 + Usage uint32 + ThreadID uint32 + OwnerProcessID uint32 + BasePri int32 + DeltaPri int32 + Flags uint32 +} + +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_NETBIOS = 17 + AF_INET6 = 23 + AF_IRDA = 26 + AF_BTH = 32 + + SOCK_STREAM = 1 + SOCK_DGRAM = 2 + SOCK_RAW = 3 + SOCK_RDM = 4 + SOCK_SEQPACKET = 5 + + IPPROTO_IP = 0 + IPPROTO_ICMP = 1 + IPPROTO_IGMP = 2 + BTHPROTO_RFCOMM = 3 + IPPROTO_TCP = 6 + IPPROTO_UDP = 17 + IPPROTO_IPV6 = 41 + IPPROTO_ICMPV6 = 58 + IPPROTO_RM = 113 + + SOL_SOCKET = 0xffff + SO_REUSEADDR = 4 + SO_KEEPALIVE = 8 + SO_DONTROUTE = 16 + SO_BROADCAST = 32 + SO_LINGER = 128 + SO_RCVBUF = 0x1002 + SO_RCVTIMEO = 0x1006 + 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_HDRINCL = 0x2 + 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 + IP_PKTINFO = 0x13 + + 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 + IPV6_PKTINFO = 0x13 + + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_DONTROUTE = 0x4 + MSG_WAITALL = 0x8 + + MSG_TRUNC = 0x0100 + MSG_CTRUNC = 0x0200 + MSG_BCAST = 0x0400 + MSG_MCAST = 0x0800 + + 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 +} + +type WSAMsg struct { + Name *syscall.RawSockaddrAny + Namelen int32 + Buffers *WSABuf + BufferCount uint32 + Control WSABuf + Flags uint32 +} + +// Flags for WSASocket +const ( + WSA_FLAG_OVERLAPPED = 0x01 + WSA_FLAG_MULTIPOINT_C_ROOT = 0x02 + WSA_FLAG_MULTIPOINT_C_LEAF = 0x04 + WSA_FLAG_MULTIPOINT_D_ROOT = 0x08 + WSA_FLAG_MULTIPOINT_D_LEAF = 0x10 + WSA_FLAG_ACCESS_SYSTEM_SECURITY = 0x40 + WSA_FLAG_NO_HANDLE_INHERIT = 0x80 + WSA_FLAG_REGISTERED_IO = 0x100 +) + +// 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 ( + // 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 CertInfo struct { + Version uint32 + SerialNumber CryptIntegerBlob + SignatureAlgorithm CryptAlgorithmIdentifier + Issuer CertNameBlob + NotBefore Filetime + NotAfter Filetime + Subject CertNameBlob + SubjectPublicKeyInfo CertPublicKeyInfo + IssuerUniqueId CryptBitBlob + SubjectUniqueId CryptBitBlob + CountExtensions uint32 + Extensions *CertExtension +} + +type CertExtension struct { + ObjId *byte + Critical int32 + Value CryptObjidBlob +} + +type CryptAlgorithmIdentifier struct { + ObjId *byte + Parameters CryptObjidBlob +} + +type CertPublicKeyInfo struct { + Algorithm CryptAlgorithmIdentifier + PublicKey CryptBitBlob +} + +type DataBlob struct { + Size uint32 + Data *byte +} +type CryptIntegerBlob DataBlob +type CryptUintBlob DataBlob +type CryptObjidBlob DataBlob +type CertNameBlob DataBlob +type CertRdnValueBlob DataBlob +type CertBlob DataBlob +type CrlBlob DataBlob +type CryptDataBlob DataBlob +type CryptHashBlob DataBlob +type CryptDigestBlob DataBlob +type CryptDerBlob DataBlob +type CryptAttrBlob DataBlob + +type CryptBitBlob struct { + Size uint32 + Data *byte + UnusedBits uint32 +} + +type CertContext struct { + EncodingType uint32 + EncodedCert *byte + Length uint32 + CertInfo *CertInfo + Store Handle +} + +type CertChainContext struct { + Size uint32 + TrustStatus CertTrustStatus + ChainCount uint32 + Chains **CertSimpleChain + LowerQualityChainCount uint32 + LowerQualityChains **CertChainContext + HasRevocationFreshnessTime uint32 + RevocationFreshnessTime uint32 +} + +type CertTrustListInfo struct { + // Not implemented +} + +type CertSimpleChain struct { + Size uint32 + TrustStatus CertTrustStatus + NumElements uint32 + Elements **CertChainElement + TrustListInfo *CertTrustListInfo + HasRevocationFreshnessTime uint32 + RevocationFreshnessTime uint32 +} + +type CertChainElement struct { + Size uint32 + CertContext *CertContext + TrustStatus CertTrustStatus + RevocationInfo *CertRevocationInfo + IssuanceUsage *CertEnhKeyUsage + ApplicationUsage *CertEnhKeyUsage + ExtendedErrorInfo *uint16 +} + +type CertRevocationCrlInfo struct { + // Not implemented +} + +type CertRevocationInfo struct { + Size uint32 + RevocationResult uint32 + RevocationOid *byte + OidSpecificInfo Pointer + HasFreshnessTime uint32 + FreshnessTime uint32 + CrlInfo *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 Pointer +} + +type SSLExtraCertChainPolicyPara struct { + Size uint32 + AuthType uint32 + Checks uint32 + ServerName *uint16 +} + +type CertChainPolicyStatus struct { + Size uint32 + Error uint32 + ChainIndex uint32 + ElementIndex uint32 + ExtraPolicyStatus Pointer +} + +type CertPolicyInfo struct { + Identifier *byte + CountQualifiers uint32 + Qualifiers *CertPolicyQualifierInfo +} + +type CertPoliciesInfo struct { + Count uint32 + PolicyInfos *CertPolicyInfo +} + +type CertPolicyQualifierInfo struct { + // Not implemented +} + +type CertStrongSignPara struct { + Size uint32 + InfoChoice uint32 + InfoOrSerializedInfoOrOID unsafe.Pointer +} + +type CryptProtectPromptStruct struct { + Size uint32 + PromptFlags uint32 + App HWND + Prompt *uint16 +} + +type CertChainFindByIssuerPara struct { + Size uint32 + UsageIdentifier *byte + KeySpec uint32 + AcquirePrivateKeyFlags uint32 + IssuerCount uint32 + Issuer Pointer + FindCallback Pointer + FindArg Pointer + IssuerChainIndex *uint32 + IssuerElementIndex *uint32 +} + +type WinTrustData struct { + Size uint32 + PolicyCallbackData uintptr + SIPClientData uintptr + UIChoice uint32 + RevocationChecks uint32 + UnionChoice uint32 + FileOrCatalogOrBlobOrSgnrOrCert unsafe.Pointer + StateAction uint32 + StateData Handle + URLReference *uint16 + ProvFlags uint32 + UIContext uint32 + SignatureSettings *WinTrustSignatureSettings +} + +type WinTrustFileInfo struct { + Size uint32 + FilePath *uint16 + File Handle + KnownSubject *GUID +} + +type WinTrustSignatureSettings struct { + Size uint32 + Index uint32 + Flags uint32 + SecondarySigs uint32 + VerifiedSigIndex uint32 + CryptoPolicy *CertStrongSignPara +} + +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 +) + +const ( + EVENT_MODIFY_STATE = 0x0002 + EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3 + + MUTANT_QUERY_STATE = 0x0001 + MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE + + SEMAPHORE_MODIFY_STATE = 0x0002 + SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3 + + TIMER_QUERY_STATE = 0x0001 + TIMER_MODIFY_STATE = 0x0002 + TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE | TIMER_MODIFY_STATE + + MUTEX_MODIFY_STATE = MUTANT_QUERY_STATE + MUTEX_ALL_ACCESS = MUTANT_ALL_ACCESS + + CREATE_EVENT_MANUAL_RESET = 0x1 + CREATE_EVENT_INITIAL_SET = 0x2 + CREATE_MUTEX_INITIAL_OWNER = 0x1 +) + +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}, +} + +var WSAID_WSASENDMSG = GUID{ + 0xa441e712, + 0x754f, + 0x43ca, + [8]byte{0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d}, +} + +var WSAID_WSARECVMSG = GUID{ + 0xf689d7c8, + 0x6f1f, + 0x436b, + [8]byte{0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22}, +} + +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 +) + +// For MessageBox() +const ( + MB_OK = 0x00000000 + MB_OKCANCEL = 0x00000001 + MB_ABORTRETRYIGNORE = 0x00000002 + MB_YESNOCANCEL = 0x00000003 + MB_YESNO = 0x00000004 + MB_RETRYCANCEL = 0x00000005 + MB_CANCELTRYCONTINUE = 0x00000006 + MB_ICONHAND = 0x00000010 + MB_ICONQUESTION = 0x00000020 + MB_ICONEXCLAMATION = 0x00000030 + MB_ICONASTERISK = 0x00000040 + MB_USERICON = 0x00000080 + MB_ICONWARNING = MB_ICONEXCLAMATION + MB_ICONERROR = MB_ICONHAND + MB_ICONINFORMATION = MB_ICONASTERISK + MB_ICONSTOP = MB_ICONHAND + MB_DEFBUTTON1 = 0x00000000 + MB_DEFBUTTON2 = 0x00000100 + MB_DEFBUTTON3 = 0x00000200 + MB_DEFBUTTON4 = 0x00000300 + MB_APPLMODAL = 0x00000000 + MB_SYSTEMMODAL = 0x00001000 + MB_TASKMODAL = 0x00002000 + MB_HELP = 0x00004000 + MB_NOFOCUS = 0x00008000 + MB_SETFOREGROUND = 0x00010000 + MB_DEFAULT_DESKTOP_ONLY = 0x00020000 + MB_TOPMOST = 0x00040000 + MB_RIGHT = 0x00080000 + MB_RTLREADING = 0x00100000 + MB_SERVICE_NOTIFICATION = 0x00200000 +) + +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 +} + +// IP returns an IPv4 or IPv6 address, or nil if the underlying SocketAddress is neither. +func (addr *SocketAddress) IP() net.IP { + if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet4{}) && addr.Sockaddr.Addr.Family == AF_INET { + return (*RawSockaddrInet4)(unsafe.Pointer(addr.Sockaddr)).Addr[:] + } else if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet6{}) && addr.Sockaddr.Addr.Family == AF_INET6 { + return (*RawSockaddrInet6)(unsafe.Pointer(addr.Sockaddr)).Addr[:] + } + return nil +} + +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 retrieve 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 +} + +const UNIX_PATH_MAX = 108 // defined in afunix.h + +const ( + // flags for JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags + JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008 + JOB_OBJECT_LIMIT_AFFINITY = 0x00000010 + JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 + JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400 + JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200 + JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004 + JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 + JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040 + JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020 + JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100 + JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002 + JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080 + JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000 + JOB_OBJECT_LIMIT_SUBSET_AFFINITY = 0x00004000 + JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001 +) + +type IO_COUNTERS struct { + ReadOperationCount uint64 + WriteOperationCount uint64 + OtherOperationCount uint64 + ReadTransferCount uint64 + WriteTransferCount uint64 + OtherTransferCount uint64 +} + +type JOBOBJECT_EXTENDED_LIMIT_INFORMATION struct { + BasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION + IoInfo IO_COUNTERS + ProcessMemoryLimit uintptr + JobMemoryLimit uintptr + PeakProcessMemoryUsed uintptr + PeakJobMemoryUsed uintptr +} + +const ( + // UIRestrictionsClass + JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040 + JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010 + JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080 + JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020 + JOB_OBJECT_UILIMIT_HANDLES = 0x00000001 + JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002 + JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008 + JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004 +) + +type JOBOBJECT_BASIC_UI_RESTRICTIONS struct { + UIRestrictionsClass uint32 +} + +const ( + // JobObjectInformationClass + JobObjectAssociateCompletionPortInformation = 7 + JobObjectBasicLimitInformation = 2 + JobObjectBasicUIRestrictions = 4 + JobObjectCpuRateControlInformation = 15 + JobObjectEndOfJobTimeInformation = 6 + JobObjectExtendedLimitInformation = 9 + JobObjectGroupInformation = 11 + JobObjectGroupInformationEx = 14 + JobObjectLimitViolationInformation2 = 35 + JobObjectNetRateControlInformation = 32 + JobObjectNotificationLimitInformation = 12 + JobObjectNotificationLimitInformation2 = 34 + JobObjectSecurityLimitInformation = 5 +) + +const ( + KF_FLAG_DEFAULT = 0x00000000 + KF_FLAG_FORCE_APP_DATA_REDIRECTION = 0x00080000 + KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 0x00040000 + KF_FLAG_FORCE_PACKAGE_REDIRECTION = 0x00020000 + KF_FLAG_NO_PACKAGE_REDIRECTION = 0x00010000 + KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 0x00020000 + KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000 + KF_FLAG_CREATE = 0x00008000 + KF_FLAG_DONT_VERIFY = 0x00004000 + KF_FLAG_DONT_UNEXPAND = 0x00002000 + KF_FLAG_NO_ALIAS = 0x00001000 + KF_FLAG_INIT = 0x00000800 + KF_FLAG_DEFAULT_PATH = 0x00000400 + KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200 + KF_FLAG_SIMPLE_IDLIST = 0x00000100 + KF_FLAG_ALIAS_ONLY = 0x80000000 +) + +type OsVersionInfoEx struct { + osVersionInfoSize uint32 + MajorVersion uint32 + MinorVersion uint32 + BuildNumber uint32 + PlatformId uint32 + CsdVersion [128]uint16 + ServicePackMajor uint16 + ServicePackMinor uint16 + SuiteMask uint16 + ProductType byte + _ byte +} + +const ( + EWX_LOGOFF = 0x00000000 + EWX_SHUTDOWN = 0x00000001 + EWX_REBOOT = 0x00000002 + EWX_FORCE = 0x00000004 + EWX_POWEROFF = 0x00000008 + EWX_FORCEIFHUNG = 0x00000010 + EWX_QUICKRESOLVE = 0x00000020 + EWX_RESTARTAPPS = 0x00000040 + EWX_HYBRID_SHUTDOWN = 0x00400000 + EWX_BOOTOPTIONS = 0x01000000 + + SHTDN_REASON_FLAG_COMMENT_REQUIRED = 0x01000000 + SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED = 0x02000000 + SHTDN_REASON_FLAG_CLEAN_UI = 0x04000000 + SHTDN_REASON_FLAG_DIRTY_UI = 0x08000000 + SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000 + SHTDN_REASON_FLAG_PLANNED = 0x80000000 + SHTDN_REASON_MAJOR_OTHER = 0x00000000 + SHTDN_REASON_MAJOR_NONE = 0x00000000 + SHTDN_REASON_MAJOR_HARDWARE = 0x00010000 + SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000 + SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000 + SHTDN_REASON_MAJOR_APPLICATION = 0x00040000 + SHTDN_REASON_MAJOR_SYSTEM = 0x00050000 + SHTDN_REASON_MAJOR_POWER = 0x00060000 + SHTDN_REASON_MAJOR_LEGACY_API = 0x00070000 + SHTDN_REASON_MINOR_OTHER = 0x00000000 + SHTDN_REASON_MINOR_NONE = 0x000000ff + SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001 + SHTDN_REASON_MINOR_INSTALLATION = 0x00000002 + SHTDN_REASON_MINOR_UPGRADE = 0x00000003 + SHTDN_REASON_MINOR_RECONFIG = 0x00000004 + SHTDN_REASON_MINOR_HUNG = 0x00000005 + SHTDN_REASON_MINOR_UNSTABLE = 0x00000006 + SHTDN_REASON_MINOR_DISK = 0x00000007 + SHTDN_REASON_MINOR_PROCESSOR = 0x00000008 + SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009 + SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a + SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b + SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c + SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d + SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e + SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000F + SHTDN_REASON_MINOR_SERVICEPACK = 0x00000010 + SHTDN_REASON_MINOR_HOTFIX = 0x00000011 + SHTDN_REASON_MINOR_SECURITYFIX = 0x00000012 + SHTDN_REASON_MINOR_SECURITY = 0x00000013 + SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY = 0x00000014 + SHTDN_REASON_MINOR_WMI = 0x00000015 + SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL = 0x00000016 + SHTDN_REASON_MINOR_HOTFIX_UNINSTALL = 0x00000017 + SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL = 0x00000018 + SHTDN_REASON_MINOR_MMC = 0x00000019 + SHTDN_REASON_MINOR_SYSTEMRESTORE = 0x0000001a + SHTDN_REASON_MINOR_TERMSRV = 0x00000020 + SHTDN_REASON_MINOR_DC_PROMOTION = 0x00000021 + SHTDN_REASON_MINOR_DC_DEMOTION = 0x00000022 + SHTDN_REASON_UNKNOWN = SHTDN_REASON_MINOR_NONE + SHTDN_REASON_LEGACY_API = SHTDN_REASON_MAJOR_LEGACY_API | SHTDN_REASON_FLAG_PLANNED + SHTDN_REASON_VALID_BIT_MASK = 0xc0ffffff + + SHUTDOWN_NORETRY = 0x1 +) + +// Flags used for GetModuleHandleEx +const ( + GET_MODULE_HANDLE_EX_FLAG_PIN = 1 + GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2 + GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4 +) + +// MUI function flag values +const ( + MUI_LANGUAGE_ID = 0x4 + MUI_LANGUAGE_NAME = 0x8 + MUI_MERGE_SYSTEM_FALLBACK = 0x10 + MUI_MERGE_USER_FALLBACK = 0x20 + MUI_UI_FALLBACK = MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK + MUI_THREAD_LANGUAGES = 0x40 + MUI_CONSOLE_FILTER = 0x100 + MUI_COMPLEX_SCRIPT_FILTER = 0x200 + MUI_RESET_FILTERS = 0x001 + MUI_USER_PREFERRED_UI_LANGUAGES = 0x10 + MUI_USE_INSTALLED_LANGUAGES = 0x20 + MUI_USE_SEARCH_ALL_LANGUAGES = 0x40 + MUI_LANG_NEUTRAL_PE_FILE = 0x100 + MUI_NON_LANG_NEUTRAL_FILE = 0x200 + MUI_MACHINE_LANGUAGE_SETTINGS = 0x400 + MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL = 0x001 + MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN = 0x002 + MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI = 0x004 + MUI_QUERY_TYPE = 0x001 + MUI_QUERY_CHECKSUM = 0x002 + MUI_QUERY_LANGUAGE_NAME = 0x004 + MUI_QUERY_RESOURCE_TYPES = 0x008 + MUI_FILEINFO_VERSION = 0x001 + + MUI_FULL_LANGUAGE = 0x01 + MUI_PARTIAL_LANGUAGE = 0x02 + MUI_LIP_LANGUAGE = 0x04 + MUI_LANGUAGE_INSTALLED = 0x20 + MUI_LANGUAGE_LICENSED = 0x40 +) + +// FILE_INFO_BY_HANDLE_CLASS constants for SetFileInformationByHandle/GetFileInformationByHandleEx +const ( + FileBasicInfo = 0 + FileStandardInfo = 1 + FileNameInfo = 2 + FileRenameInfo = 3 + FileDispositionInfo = 4 + FileAllocationInfo = 5 + FileEndOfFileInfo = 6 + FileStreamInfo = 7 + FileCompressionInfo = 8 + FileAttributeTagInfo = 9 + FileIdBothDirectoryInfo = 10 + FileIdBothDirectoryRestartInfo = 11 + FileIoPriorityHintInfo = 12 + FileRemoteProtocolInfo = 13 + FileFullDirectoryInfo = 14 + FileFullDirectoryRestartInfo = 15 + FileStorageInfo = 16 + FileAlignmentInfo = 17 + FileIdInfo = 18 + FileIdExtdDirectoryInfo = 19 + FileIdExtdDirectoryRestartInfo = 20 + FileDispositionInfoEx = 21 + FileRenameInfoEx = 22 + FileCaseSensitiveInfo = 23 + FileNormalizedNameInfo = 24 +) + +// LoadLibrary flags for determining from where to search for a DLL +const ( + DONT_RESOLVE_DLL_REFERENCES = 0x1 + LOAD_LIBRARY_AS_DATAFILE = 0x2 + LOAD_WITH_ALTERED_SEARCH_PATH = 0x8 + LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x10 + LOAD_LIBRARY_AS_IMAGE_RESOURCE = 0x20 + LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE = 0x40 + LOAD_LIBRARY_REQUIRE_SIGNED_TARGET = 0x80 + LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR = 0x100 + LOAD_LIBRARY_SEARCH_APPLICATION_DIR = 0x200 + LOAD_LIBRARY_SEARCH_USER_DIRS = 0x400 + LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x800 + LOAD_LIBRARY_SEARCH_DEFAULT_DIRS = 0x1000 + LOAD_LIBRARY_SAFE_CURRENT_DIRS = 0x00002000 + LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER = 0x00004000 + LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY = 0x00008000 +) + +// RegNotifyChangeKeyValue notifyFilter flags. +const ( + // REG_NOTIFY_CHANGE_NAME notifies the caller if a subkey is added or deleted. + REG_NOTIFY_CHANGE_NAME = 0x00000001 + + // REG_NOTIFY_CHANGE_ATTRIBUTES notifies the caller of changes to the attributes of the key, such as the security descriptor information. + REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002 + + // REG_NOTIFY_CHANGE_LAST_SET notifies the caller of changes to a value of the key. This can include adding or deleting a value, or changing an existing value. + REG_NOTIFY_CHANGE_LAST_SET = 0x00000004 + + // REG_NOTIFY_CHANGE_SECURITY notifies the caller of changes to the security descriptor of the key. + REG_NOTIFY_CHANGE_SECURITY = 0x00000008 + + // REG_NOTIFY_THREAD_AGNOSTIC indicates that the lifetime of the registration must not be tied to the lifetime of the thread issuing the RegNotifyChangeKeyValue call. Note: This flag value is only supported in Windows 8 and later. + REG_NOTIFY_THREAD_AGNOSTIC = 0x10000000 +) + +type CommTimeouts struct { + ReadIntervalTimeout uint32 + ReadTotalTimeoutMultiplier uint32 + ReadTotalTimeoutConstant uint32 + WriteTotalTimeoutMultiplier uint32 + WriteTotalTimeoutConstant uint32 +} + +// NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING. +type NTUnicodeString struct { + Length uint16 + MaximumLength uint16 + Buffer *uint16 +} + +// NTString is an ANSI string for NT native APIs, corresponding to STRING. +type NTString struct { + Length uint16 + MaximumLength uint16 + Buffer *byte +} + +type LIST_ENTRY struct { + Flink *LIST_ENTRY + Blink *LIST_ENTRY +} + +type LDR_DATA_TABLE_ENTRY struct { + reserved1 [2]uintptr + InMemoryOrderLinks LIST_ENTRY + reserved2 [2]uintptr + DllBase uintptr + reserved3 [2]uintptr + FullDllName NTUnicodeString + reserved4 [8]byte + reserved5 [3]uintptr + reserved6 uintptr + TimeDateStamp uint32 +} + +type PEB_LDR_DATA struct { + reserved1 [8]byte + reserved2 [3]uintptr + InMemoryOrderModuleList LIST_ENTRY +} + +type CURDIR struct { + DosPath NTUnicodeString + Handle Handle +} + +type RTL_DRIVE_LETTER_CURDIR struct { + Flags uint16 + Length uint16 + TimeStamp uint32 + DosPath NTString +} + +type RTL_USER_PROCESS_PARAMETERS struct { + MaximumLength, Length uint32 + + Flags, DebugFlags uint32 + + ConsoleHandle Handle + ConsoleFlags uint32 + StandardInput, StandardOutput, StandardError Handle + + CurrentDirectory CURDIR + DllPath NTUnicodeString + ImagePathName NTUnicodeString + CommandLine NTUnicodeString + Environment unsafe.Pointer + + StartingX, StartingY, CountX, CountY, CountCharsX, CountCharsY, FillAttribute uint32 + + WindowFlags, ShowWindowFlags uint32 + WindowTitle, DesktopInfo, ShellInfo, RuntimeData NTUnicodeString + CurrentDirectories [32]RTL_DRIVE_LETTER_CURDIR + + EnvironmentSize, EnvironmentVersion uintptr + + PackageDependencyData unsafe.Pointer + ProcessGroupId uint32 + LoaderThreads uint32 + + RedirectionDllName NTUnicodeString + HeapPartitionName NTUnicodeString + DefaultThreadpoolCpuSetMasks uintptr + DefaultThreadpoolCpuSetMaskCount uint32 +} + +type PEB struct { + reserved1 [2]byte + BeingDebugged byte + BitField byte + reserved3 uintptr + ImageBaseAddress uintptr + Ldr *PEB_LDR_DATA + ProcessParameters *RTL_USER_PROCESS_PARAMETERS + reserved4 [3]uintptr + AtlThunkSListPtr uintptr + reserved5 uintptr + reserved6 uint32 + reserved7 uintptr + reserved8 uint32 + AtlThunkSListPtr32 uint32 + reserved9 [45]uintptr + reserved10 [96]byte + PostProcessInitRoutine uintptr + reserved11 [128]byte + reserved12 [1]uintptr + SessionId uint32 +} + +type OBJECT_ATTRIBUTES struct { + Length uint32 + RootDirectory Handle + ObjectName *NTUnicodeString + Attributes uint32 + SecurityDescriptor *SECURITY_DESCRIPTOR + SecurityQoS *SECURITY_QUALITY_OF_SERVICE +} + +// Values for the Attributes member of OBJECT_ATTRIBUTES. +const ( + OBJ_INHERIT = 0x00000002 + OBJ_PERMANENT = 0x00000010 + OBJ_EXCLUSIVE = 0x00000020 + OBJ_CASE_INSENSITIVE = 0x00000040 + OBJ_OPENIF = 0x00000080 + OBJ_OPENLINK = 0x00000100 + OBJ_KERNEL_HANDLE = 0x00000200 + OBJ_FORCE_ACCESS_CHECK = 0x00000400 + OBJ_IGNORE_IMPERSONATED_DEVICEMAP = 0x00000800 + OBJ_DONT_REPARSE = 0x00001000 + OBJ_VALID_ATTRIBUTES = 0x00001FF2 +) + +type IO_STATUS_BLOCK struct { + Status NTStatus + Information uintptr +} + +type RTLP_CURDIR_REF struct { + RefCount int32 + Handle Handle +} + +type RTL_RELATIVE_NAME struct { + RelativeName NTUnicodeString + ContainingDirectory Handle + CurDirRef *RTLP_CURDIR_REF +} + +const ( + // CreateDisposition flags for NtCreateFile and NtCreateNamedPipeFile. + FILE_SUPERSEDE = 0x00000000 + FILE_OPEN = 0x00000001 + FILE_CREATE = 0x00000002 + FILE_OPEN_IF = 0x00000003 + FILE_OVERWRITE = 0x00000004 + FILE_OVERWRITE_IF = 0x00000005 + FILE_MAXIMUM_DISPOSITION = 0x00000005 + + // CreateOptions flags for NtCreateFile and NtCreateNamedPipeFile. + FILE_DIRECTORY_FILE = 0x00000001 + FILE_WRITE_THROUGH = 0x00000002 + FILE_SEQUENTIAL_ONLY = 0x00000004 + FILE_NO_INTERMEDIATE_BUFFERING = 0x00000008 + FILE_SYNCHRONOUS_IO_ALERT = 0x00000010 + FILE_SYNCHRONOUS_IO_NONALERT = 0x00000020 + FILE_NON_DIRECTORY_FILE = 0x00000040 + FILE_CREATE_TREE_CONNECTION = 0x00000080 + FILE_COMPLETE_IF_OPLOCKED = 0x00000100 + FILE_NO_EA_KNOWLEDGE = 0x00000200 + FILE_OPEN_REMOTE_INSTANCE = 0x00000400 + FILE_RANDOM_ACCESS = 0x00000800 + FILE_DELETE_ON_CLOSE = 0x00001000 + FILE_OPEN_BY_FILE_ID = 0x00002000 + FILE_OPEN_FOR_BACKUP_INTENT = 0x00004000 + FILE_NO_COMPRESSION = 0x00008000 + FILE_OPEN_REQUIRING_OPLOCK = 0x00010000 + FILE_DISALLOW_EXCLUSIVE = 0x00020000 + FILE_RESERVE_OPFILTER = 0x00100000 + FILE_OPEN_REPARSE_POINT = 0x00200000 + FILE_OPEN_NO_RECALL = 0x00400000 + FILE_OPEN_FOR_FREE_SPACE_QUERY = 0x00800000 + + // Parameter constants for NtCreateNamedPipeFile. + + FILE_PIPE_BYTE_STREAM_TYPE = 0x00000000 + FILE_PIPE_MESSAGE_TYPE = 0x00000001 + + FILE_PIPE_ACCEPT_REMOTE_CLIENTS = 0x00000000 + FILE_PIPE_REJECT_REMOTE_CLIENTS = 0x00000002 + + FILE_PIPE_TYPE_VALID_MASK = 0x00000003 + + FILE_PIPE_BYTE_STREAM_MODE = 0x00000000 + FILE_PIPE_MESSAGE_MODE = 0x00000001 + + FILE_PIPE_QUEUE_OPERATION = 0x00000000 + FILE_PIPE_COMPLETE_OPERATION = 0x00000001 + + FILE_PIPE_INBOUND = 0x00000000 + FILE_PIPE_OUTBOUND = 0x00000001 + FILE_PIPE_FULL_DUPLEX = 0x00000002 + + FILE_PIPE_DISCONNECTED_STATE = 0x00000001 + FILE_PIPE_LISTENING_STATE = 0x00000002 + FILE_PIPE_CONNECTED_STATE = 0x00000003 + FILE_PIPE_CLOSING_STATE = 0x00000004 + + FILE_PIPE_CLIENT_END = 0x00000000 + FILE_PIPE_SERVER_END = 0x00000001 +) + +// ProcessInformationClasses for NtQueryInformationProcess and NtSetInformationProcess. +const ( + ProcessBasicInformation = iota + ProcessQuotaLimits + ProcessIoCounters + ProcessVmCounters + ProcessTimes + ProcessBasePriority + ProcessRaisePriority + ProcessDebugPort + ProcessExceptionPort + ProcessAccessToken + ProcessLdtInformation + ProcessLdtSize + ProcessDefaultHardErrorMode + ProcessIoPortHandlers + ProcessPooledUsageAndLimits + ProcessWorkingSetWatch + ProcessUserModeIOPL + ProcessEnableAlignmentFaultFixup + ProcessPriorityClass + ProcessWx86Information + ProcessHandleCount + ProcessAffinityMask + ProcessPriorityBoost + ProcessDeviceMap + ProcessSessionInformation + ProcessForegroundInformation + ProcessWow64Information + ProcessImageFileName + ProcessLUIDDeviceMapsEnabled + ProcessBreakOnTermination + ProcessDebugObjectHandle + ProcessDebugFlags + ProcessHandleTracing + ProcessIoPriority + ProcessExecuteFlags + ProcessTlsInformation + ProcessCookie + ProcessImageInformation + ProcessCycleTime + ProcessPagePriority + ProcessInstrumentationCallback + ProcessThreadStackAllocation + ProcessWorkingSetWatchEx + ProcessImageFileNameWin32 + ProcessImageFileMapping + ProcessAffinityUpdateMode + ProcessMemoryAllocationMode + ProcessGroupInformation + ProcessTokenVirtualizationEnabled + ProcessConsoleHostProcess + ProcessWindowInformation + ProcessHandleInformation + ProcessMitigationPolicy + ProcessDynamicFunctionTableInformation + ProcessHandleCheckingMode + ProcessKeepAliveCount + ProcessRevokeFileHandles + ProcessWorkingSetControl + ProcessHandleTable + ProcessCheckStackExtentsMode + ProcessCommandLineInformation + ProcessProtectionInformation + ProcessMemoryExhaustion + ProcessFaultInformation + ProcessTelemetryIdInformation + ProcessCommitReleaseInformation + ProcessDefaultCpuSetsInformation + ProcessAllowedCpuSetsInformation + ProcessSubsystemProcess + ProcessJobMemoryInformation + ProcessInPrivate + ProcessRaiseUMExceptionOnInvalidHandleClose + ProcessIumChallengeResponse + ProcessChildProcessInformation + ProcessHighGraphicsPriorityInformation + ProcessSubsystemInformation + ProcessEnergyValues + ProcessActivityThrottleState + ProcessActivityThrottlePolicy + ProcessWin32kSyscallFilterInformation + ProcessDisableSystemAllowedCpuSets + ProcessWakeInformation + ProcessEnergyTrackingState + ProcessManageWritesToExecutableMemory + ProcessCaptureTrustletLiveDump + ProcessTelemetryCoverage + ProcessEnclaveInformation + ProcessEnableReadWriteVmLogging + ProcessUptimeInformation + ProcessImageSection + ProcessDebugAuthInformation + ProcessSystemResourceManagement + ProcessSequenceNumber + ProcessLoaderDetour + ProcessSecurityDomainInformation + ProcessCombineSecurityDomainsInformation + ProcessEnableLogging + ProcessLeapSecondInformation + ProcessFiberShadowStackAllocation + ProcessFreeFiberShadowStackAllocation + ProcessAltSystemCallInformation + ProcessDynamicEHContinuationTargets + ProcessDynamicEnforcedCetCompatibleRanges +) + +type PROCESS_BASIC_INFORMATION struct { + ExitStatus NTStatus + PebBaseAddress *PEB + AffinityMask uintptr + BasePriority int32 + UniqueProcessId uintptr + InheritedFromUniqueProcessId uintptr +} + +// Constants for LocalAlloc flags. +const ( + LMEM_FIXED = 0x0 + LMEM_MOVEABLE = 0x2 + LMEM_NOCOMPACT = 0x10 + LMEM_NODISCARD = 0x20 + LMEM_ZEROINIT = 0x40 + LMEM_MODIFY = 0x80 + LMEM_DISCARDABLE = 0xf00 + LMEM_VALID_FLAGS = 0xf72 + LMEM_INVALID_HANDLE = 0x8000 + LHND = LMEM_MOVEABLE | LMEM_ZEROINIT + LPTR = LMEM_FIXED | LMEM_ZEROINIT + NONZEROLHND = LMEM_MOVEABLE + NONZEROLPTR = LMEM_FIXED +) + +// Constants for the CreateNamedPipe-family of functions. +const ( + PIPE_ACCESS_INBOUND = 0x1 + PIPE_ACCESS_OUTBOUND = 0x2 + PIPE_ACCESS_DUPLEX = 0x3 + + PIPE_CLIENT_END = 0x0 + PIPE_SERVER_END = 0x1 + + PIPE_WAIT = 0x0 + PIPE_NOWAIT = 0x1 + PIPE_READMODE_BYTE = 0x0 + PIPE_READMODE_MESSAGE = 0x2 + PIPE_TYPE_BYTE = 0x0 + PIPE_TYPE_MESSAGE = 0x4 + PIPE_ACCEPT_REMOTE_CLIENTS = 0x0 + PIPE_REJECT_REMOTE_CLIENTS = 0x8 + + PIPE_UNLIMITED_INSTANCES = 255 +) + +// Constants for security attributes when opening named pipes. +const ( + SECURITY_ANONYMOUS = SecurityAnonymous << 16 + SECURITY_IDENTIFICATION = SecurityIdentification << 16 + SECURITY_IMPERSONATION = SecurityImpersonation << 16 + SECURITY_DELEGATION = SecurityDelegation << 16 + + SECURITY_CONTEXT_TRACKING = 0x40000 + SECURITY_EFFECTIVE_ONLY = 0x80000 + + SECURITY_SQOS_PRESENT = 0x100000 + SECURITY_VALID_SQOS_FLAGS = 0x1f0000 +) + +// ResourceID represents a 16-bit resource identifier, traditionally created with the MAKEINTRESOURCE macro. +type ResourceID uint16 + +// ResourceIDOrString must be either a ResourceID, to specify a resource or resource type by ID, +// or a string, to specify a resource or resource type by name. +type ResourceIDOrString interface{} + +// Predefined resource names and types. +var ( + // Predefined names. + CREATEPROCESS_MANIFEST_RESOURCE_ID ResourceID = 1 + ISOLATIONAWARE_MANIFEST_RESOURCE_ID ResourceID = 2 + ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID ResourceID = 3 + ISOLATIONPOLICY_MANIFEST_RESOURCE_ID ResourceID = 4 + ISOLATIONPOLICY_BROWSER_MANIFEST_RESOURCE_ID ResourceID = 5 + MINIMUM_RESERVED_MANIFEST_RESOURCE_ID ResourceID = 1 // inclusive + MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID ResourceID = 16 // inclusive + + // Predefined types. + RT_CURSOR ResourceID = 1 + RT_BITMAP ResourceID = 2 + RT_ICON ResourceID = 3 + RT_MENU ResourceID = 4 + RT_DIALOG ResourceID = 5 + RT_STRING ResourceID = 6 + RT_FONTDIR ResourceID = 7 + RT_FONT ResourceID = 8 + RT_ACCELERATOR ResourceID = 9 + RT_RCDATA ResourceID = 10 + RT_MESSAGETABLE ResourceID = 11 + RT_GROUP_CURSOR ResourceID = 12 + RT_GROUP_ICON ResourceID = 14 + RT_VERSION ResourceID = 16 + RT_DLGINCLUDE ResourceID = 17 + RT_PLUGPLAY ResourceID = 19 + RT_VXD ResourceID = 20 + RT_ANICURSOR ResourceID = 21 + RT_ANIICON ResourceID = 22 + RT_HTML ResourceID = 23 + RT_MANIFEST ResourceID = 24 +) + +type COAUTHIDENTITY struct { + User *uint16 + UserLength uint32 + Domain *uint16 + DomainLength uint32 + Password *uint16 + PasswordLength uint32 + Flags uint32 +} + +type COAUTHINFO struct { + AuthnSvc uint32 + AuthzSvc uint32 + ServerPrincName *uint16 + AuthnLevel uint32 + ImpersonationLevel uint32 + AuthIdentityData *COAUTHIDENTITY + Capabilities uint32 +} + +type COSERVERINFO struct { + Reserved1 uint32 + Aame *uint16 + AuthInfo *COAUTHINFO + Reserved2 uint32 +} + +type BIND_OPTS3 struct { + CbStruct uint32 + Flags uint32 + Mode uint32 + TickCountDeadline uint32 + TrackFlags uint32 + ClassContext uint32 + Locale uint32 + ServerInfo *COSERVERINFO + Hwnd HWND +} + +const ( + CLSCTX_INPROC_SERVER = 0x1 + CLSCTX_INPROC_HANDLER = 0x2 + CLSCTX_LOCAL_SERVER = 0x4 + CLSCTX_INPROC_SERVER16 = 0x8 + CLSCTX_REMOTE_SERVER = 0x10 + CLSCTX_INPROC_HANDLER16 = 0x20 + CLSCTX_RESERVED1 = 0x40 + CLSCTX_RESERVED2 = 0x80 + CLSCTX_RESERVED3 = 0x100 + CLSCTX_RESERVED4 = 0x200 + CLSCTX_NO_CODE_DOWNLOAD = 0x400 + CLSCTX_RESERVED5 = 0x800 + CLSCTX_NO_CUSTOM_MARSHAL = 0x1000 + CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000 + CLSCTX_NO_FAILURE_LOG = 0x4000 + CLSCTX_DISABLE_AAA = 0x8000 + CLSCTX_ENABLE_AAA = 0x10000 + CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000 + CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000 + CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000 + CLSCTX_ENABLE_CLOAKING = 0x100000 + CLSCTX_APPCONTAINER = 0x400000 + CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000 + CLSCTX_PS_DLL = 0x80000000 + + COINIT_MULTITHREADED = 0x0 + COINIT_APARTMENTTHREADED = 0x2 + COINIT_DISABLE_OLE1DDE = 0x4 + COINIT_SPEED_OVER_MEMORY = 0x8 +) + +// Flag for QueryFullProcessImageName. +const PROCESS_NAME_NATIVE = 1 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 000000000..8bce3e2fc --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_386.go @@ -0,0 +1,35 @@ +// 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 +} + +type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { + PerProcessUserTimeLimit int64 + PerJobUserTimeLimit int64 + LimitFlags uint32 + MinimumWorkingSetSize uintptr + MaximumWorkingSetSize uintptr + ActiveProcessLimit uint32 + Affinity uintptr + PriorityClass uint32 + SchedulingClass uint32 + _ uint32 // pad to 8 byte boundary +} 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 000000000..fdddc0c70 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_amd64.go @@ -0,0 +1,34 @@ +// 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 +} + +type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { + PerProcessUserTimeLimit int64 + PerJobUserTimeLimit int64 + LimitFlags uint32 + MinimumWorkingSetSize uintptr + MaximumWorkingSetSize uintptr + ActiveProcessLimit uint32 + Affinity uintptr + PriorityClass uint32 + SchedulingClass uint32 +} diff --git a/vendor/golang.org/x/sys/windows/types_windows_arm.go b/vendor/golang.org/x/sys/windows/types_windows_arm.go new file mode 100644 index 000000000..321872c3e --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_arm.go @@ -0,0 +1,35 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package 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 +} + +type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { + PerProcessUserTimeLimit int64 + PerJobUserTimeLimit int64 + LimitFlags uint32 + MinimumWorkingSetSize uintptr + MaximumWorkingSetSize uintptr + ActiveProcessLimit uint32 + Affinity uintptr + PriorityClass uint32 + SchedulingClass uint32 + _ uint32 // pad to 8 byte boundary +} diff --git a/vendor/golang.org/x/sys/windows/types_windows_arm64.go b/vendor/golang.org/x/sys/windows/types_windows_arm64.go new file mode 100644 index 000000000..fdddc0c70 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_arm64.go @@ -0,0 +1,34 @@ +// 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 +} + +type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { + PerProcessUserTimeLimit int64 + PerJobUserTimeLimit int64 + LimitFlags uint32 + MinimumWorkingSetSize uintptr + MaximumWorkingSetSize uintptr + ActiveProcessLimit uint32 + Affinity uintptr + PriorityClass uint32 + SchedulingClass uint32 +} diff --git a/vendor/golang.org/x/sys/windows/zerrors_windows.go b/vendor/golang.org/x/sys/windows/zerrors_windows.go new file mode 100644 index 000000000..0cf658fbd --- /dev/null +++ b/vendor/golang.org/x/sys/windows/zerrors_windows.go @@ -0,0 +1,9468 @@ +// Code generated by 'mkerrors.bash'; DO NOT EDIT. + +package windows + +import "syscall" + +const ( + FACILITY_NULL = 0 + FACILITY_RPC = 1 + FACILITY_DISPATCH = 2 + FACILITY_STORAGE = 3 + FACILITY_ITF = 4 + FACILITY_WIN32 = 7 + FACILITY_WINDOWS = 8 + FACILITY_SSPI = 9 + FACILITY_SECURITY = 9 + FACILITY_CONTROL = 10 + FACILITY_CERT = 11 + FACILITY_INTERNET = 12 + FACILITY_MEDIASERVER = 13 + FACILITY_MSMQ = 14 + FACILITY_SETUPAPI = 15 + FACILITY_SCARD = 16 + FACILITY_COMPLUS = 17 + FACILITY_AAF = 18 + FACILITY_URT = 19 + FACILITY_ACS = 20 + FACILITY_DPLAY = 21 + FACILITY_UMI = 22 + FACILITY_SXS = 23 + FACILITY_WINDOWS_CE = 24 + FACILITY_HTTP = 25 + FACILITY_USERMODE_COMMONLOG = 26 + FACILITY_WER = 27 + FACILITY_USERMODE_FILTER_MANAGER = 31 + FACILITY_BACKGROUNDCOPY = 32 + FACILITY_CONFIGURATION = 33 + FACILITY_WIA = 33 + FACILITY_STATE_MANAGEMENT = 34 + FACILITY_METADIRECTORY = 35 + FACILITY_WINDOWSUPDATE = 36 + FACILITY_DIRECTORYSERVICE = 37 + FACILITY_GRAPHICS = 38 + FACILITY_SHELL = 39 + FACILITY_NAP = 39 + FACILITY_TPM_SERVICES = 40 + FACILITY_TPM_SOFTWARE = 41 + FACILITY_UI = 42 + FACILITY_XAML = 43 + FACILITY_ACTION_QUEUE = 44 + FACILITY_PLA = 48 + FACILITY_WINDOWS_SETUP = 48 + FACILITY_FVE = 49 + FACILITY_FWP = 50 + FACILITY_WINRM = 51 + FACILITY_NDIS = 52 + FACILITY_USERMODE_HYPERVISOR = 53 + FACILITY_CMI = 54 + FACILITY_USERMODE_VIRTUALIZATION = 55 + FACILITY_USERMODE_VOLMGR = 56 + FACILITY_BCD = 57 + FACILITY_USERMODE_VHD = 58 + FACILITY_USERMODE_HNS = 59 + FACILITY_SDIAG = 60 + FACILITY_WEBSERVICES = 61 + FACILITY_WINPE = 61 + FACILITY_WPN = 62 + FACILITY_WINDOWS_STORE = 63 + FACILITY_INPUT = 64 + FACILITY_EAP = 66 + FACILITY_WINDOWS_DEFENDER = 80 + FACILITY_OPC = 81 + FACILITY_XPS = 82 + FACILITY_MBN = 84 + FACILITY_POWERSHELL = 84 + FACILITY_RAS = 83 + FACILITY_P2P_INT = 98 + FACILITY_P2P = 99 + FACILITY_DAF = 100 + FACILITY_BLUETOOTH_ATT = 101 + FACILITY_AUDIO = 102 + FACILITY_STATEREPOSITORY = 103 + FACILITY_VISUALCPP = 109 + FACILITY_SCRIPT = 112 + FACILITY_PARSE = 113 + FACILITY_BLB = 120 + FACILITY_BLB_CLI = 121 + FACILITY_WSBAPP = 122 + FACILITY_BLBUI = 128 + FACILITY_USN = 129 + FACILITY_USERMODE_VOLSNAP = 130 + FACILITY_TIERING = 131 + FACILITY_WSB_ONLINE = 133 + FACILITY_ONLINE_ID = 134 + FACILITY_DEVICE_UPDATE_AGENT = 135 + FACILITY_DRVSERVICING = 136 + FACILITY_DLS = 153 + FACILITY_DELIVERY_OPTIMIZATION = 208 + FACILITY_USERMODE_SPACES = 231 + FACILITY_USER_MODE_SECURITY_CORE = 232 + FACILITY_USERMODE_LICENSING = 234 + FACILITY_SOS = 160 + FACILITY_DEBUGGERS = 176 + FACILITY_SPP = 256 + FACILITY_RESTORE = 256 + FACILITY_DMSERVER = 256 + FACILITY_DEPLOYMENT_SERVICES_SERVER = 257 + FACILITY_DEPLOYMENT_SERVICES_IMAGING = 258 + FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT = 259 + FACILITY_DEPLOYMENT_SERVICES_UTIL = 260 + FACILITY_DEPLOYMENT_SERVICES_BINLSVC = 261 + FACILITY_DEPLOYMENT_SERVICES_PXE = 263 + FACILITY_DEPLOYMENT_SERVICES_TFTP = 264 + FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT = 272 + FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING = 278 + FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER = 289 + FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT = 290 + FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER = 293 + FACILITY_LINGUISTIC_SERVICES = 305 + FACILITY_AUDIOSTREAMING = 1094 + FACILITY_ACCELERATOR = 1536 + FACILITY_WMAAECMA = 1996 + FACILITY_DIRECTMUSIC = 2168 + FACILITY_DIRECT3D10 = 2169 + FACILITY_DXGI = 2170 + FACILITY_DXGI_DDI = 2171 + FACILITY_DIRECT3D11 = 2172 + FACILITY_DIRECT3D11_DEBUG = 2173 + FACILITY_DIRECT3D12 = 2174 + FACILITY_DIRECT3D12_DEBUG = 2175 + FACILITY_LEAP = 2184 + FACILITY_AUDCLNT = 2185 + FACILITY_WINCODEC_DWRITE_DWM = 2200 + FACILITY_WINML = 2192 + FACILITY_DIRECT2D = 2201 + FACILITY_DEFRAG = 2304 + FACILITY_USERMODE_SDBUS = 2305 + FACILITY_JSCRIPT = 2306 + FACILITY_PIDGENX = 2561 + FACILITY_EAS = 85 + FACILITY_WEB = 885 + FACILITY_WEB_SOCKET = 886 + FACILITY_MOBILE = 1793 + FACILITY_SQLITE = 1967 + FACILITY_UTC = 1989 + FACILITY_WEP = 2049 + FACILITY_SYNCENGINE = 2050 + FACILITY_XBOX = 2339 + FACILITY_GAME = 2340 + FACILITY_PIX = 2748 + ERROR_SUCCESS syscall.Errno = 0 + NO_ERROR = 0 + SEC_E_OK Handle = 0x00000000 + ERROR_INVALID_FUNCTION syscall.Errno = 1 + ERROR_FILE_NOT_FOUND syscall.Errno = 2 + ERROR_PATH_NOT_FOUND syscall.Errno = 3 + ERROR_TOO_MANY_OPEN_FILES syscall.Errno = 4 + ERROR_ACCESS_DENIED syscall.Errno = 5 + ERROR_INVALID_HANDLE syscall.Errno = 6 + ERROR_ARENA_TRASHED syscall.Errno = 7 + ERROR_NOT_ENOUGH_MEMORY syscall.Errno = 8 + ERROR_INVALID_BLOCK syscall.Errno = 9 + ERROR_BAD_ENVIRONMENT syscall.Errno = 10 + ERROR_BAD_FORMAT syscall.Errno = 11 + ERROR_INVALID_ACCESS syscall.Errno = 12 + ERROR_INVALID_DATA syscall.Errno = 13 + ERROR_OUTOFMEMORY syscall.Errno = 14 + ERROR_INVALID_DRIVE syscall.Errno = 15 + ERROR_CURRENT_DIRECTORY syscall.Errno = 16 + ERROR_NOT_SAME_DEVICE syscall.Errno = 17 + ERROR_NO_MORE_FILES syscall.Errno = 18 + ERROR_WRITE_PROTECT syscall.Errno = 19 + ERROR_BAD_UNIT syscall.Errno = 20 + ERROR_NOT_READY syscall.Errno = 21 + ERROR_BAD_COMMAND syscall.Errno = 22 + ERROR_CRC syscall.Errno = 23 + ERROR_BAD_LENGTH syscall.Errno = 24 + ERROR_SEEK syscall.Errno = 25 + ERROR_NOT_DOS_DISK syscall.Errno = 26 + ERROR_SECTOR_NOT_FOUND syscall.Errno = 27 + ERROR_OUT_OF_PAPER syscall.Errno = 28 + ERROR_WRITE_FAULT syscall.Errno = 29 + ERROR_READ_FAULT syscall.Errno = 30 + ERROR_GEN_FAILURE syscall.Errno = 31 + ERROR_SHARING_VIOLATION syscall.Errno = 32 + ERROR_LOCK_VIOLATION syscall.Errno = 33 + ERROR_WRONG_DISK syscall.Errno = 34 + ERROR_SHARING_BUFFER_EXCEEDED syscall.Errno = 36 + ERROR_HANDLE_EOF syscall.Errno = 38 + ERROR_HANDLE_DISK_FULL syscall.Errno = 39 + ERROR_NOT_SUPPORTED syscall.Errno = 50 + ERROR_REM_NOT_LIST syscall.Errno = 51 + ERROR_DUP_NAME syscall.Errno = 52 + ERROR_BAD_NETPATH syscall.Errno = 53 + ERROR_NETWORK_BUSY syscall.Errno = 54 + ERROR_DEV_NOT_EXIST syscall.Errno = 55 + ERROR_TOO_MANY_CMDS syscall.Errno = 56 + ERROR_ADAP_HDW_ERR syscall.Errno = 57 + ERROR_BAD_NET_RESP syscall.Errno = 58 + ERROR_UNEXP_NET_ERR syscall.Errno = 59 + ERROR_BAD_REM_ADAP syscall.Errno = 60 + ERROR_PRINTQ_FULL syscall.Errno = 61 + ERROR_NO_SPOOL_SPACE syscall.Errno = 62 + ERROR_PRINT_CANCELLED syscall.Errno = 63 + ERROR_NETNAME_DELETED syscall.Errno = 64 + ERROR_NETWORK_ACCESS_DENIED syscall.Errno = 65 + ERROR_BAD_DEV_TYPE syscall.Errno = 66 + ERROR_BAD_NET_NAME syscall.Errno = 67 + ERROR_TOO_MANY_NAMES syscall.Errno = 68 + ERROR_TOO_MANY_SESS syscall.Errno = 69 + ERROR_SHARING_PAUSED syscall.Errno = 70 + ERROR_REQ_NOT_ACCEP syscall.Errno = 71 + ERROR_REDIR_PAUSED syscall.Errno = 72 + ERROR_FILE_EXISTS syscall.Errno = 80 + ERROR_CANNOT_MAKE syscall.Errno = 82 + ERROR_FAIL_I24 syscall.Errno = 83 + ERROR_OUT_OF_STRUCTURES syscall.Errno = 84 + ERROR_ALREADY_ASSIGNED syscall.Errno = 85 + ERROR_INVALID_PASSWORD syscall.Errno = 86 + ERROR_INVALID_PARAMETER syscall.Errno = 87 + ERROR_NET_WRITE_FAULT syscall.Errno = 88 + ERROR_NO_PROC_SLOTS syscall.Errno = 89 + ERROR_TOO_MANY_SEMAPHORES syscall.Errno = 100 + ERROR_EXCL_SEM_ALREADY_OWNED syscall.Errno = 101 + ERROR_SEM_IS_SET syscall.Errno = 102 + ERROR_TOO_MANY_SEM_REQUESTS syscall.Errno = 103 + ERROR_INVALID_AT_INTERRUPT_TIME syscall.Errno = 104 + ERROR_SEM_OWNER_DIED syscall.Errno = 105 + ERROR_SEM_USER_LIMIT syscall.Errno = 106 + ERROR_DISK_CHANGE syscall.Errno = 107 + ERROR_DRIVE_LOCKED syscall.Errno = 108 + ERROR_BROKEN_PIPE syscall.Errno = 109 + ERROR_OPEN_FAILED syscall.Errno = 110 + ERROR_BUFFER_OVERFLOW syscall.Errno = 111 + ERROR_DISK_FULL syscall.Errno = 112 + ERROR_NO_MORE_SEARCH_HANDLES syscall.Errno = 113 + ERROR_INVALID_TARGET_HANDLE syscall.Errno = 114 + ERROR_INVALID_CATEGORY syscall.Errno = 117 + ERROR_INVALID_VERIFY_SWITCH syscall.Errno = 118 + ERROR_BAD_DRIVER_LEVEL syscall.Errno = 119 + ERROR_CALL_NOT_IMPLEMENTED syscall.Errno = 120 + ERROR_SEM_TIMEOUT syscall.Errno = 121 + ERROR_INSUFFICIENT_BUFFER syscall.Errno = 122 + ERROR_INVALID_NAME syscall.Errno = 123 + ERROR_INVALID_LEVEL syscall.Errno = 124 + ERROR_NO_VOLUME_LABEL syscall.Errno = 125 + ERROR_MOD_NOT_FOUND syscall.Errno = 126 + ERROR_PROC_NOT_FOUND syscall.Errno = 127 + ERROR_WAIT_NO_CHILDREN syscall.Errno = 128 + ERROR_CHILD_NOT_COMPLETE syscall.Errno = 129 + ERROR_DIRECT_ACCESS_HANDLE syscall.Errno = 130 + ERROR_NEGATIVE_SEEK syscall.Errno = 131 + ERROR_SEEK_ON_DEVICE syscall.Errno = 132 + ERROR_IS_JOIN_TARGET syscall.Errno = 133 + ERROR_IS_JOINED syscall.Errno = 134 + ERROR_IS_SUBSTED syscall.Errno = 135 + ERROR_NOT_JOINED syscall.Errno = 136 + ERROR_NOT_SUBSTED syscall.Errno = 137 + ERROR_JOIN_TO_JOIN syscall.Errno = 138 + ERROR_SUBST_TO_SUBST syscall.Errno = 139 + ERROR_JOIN_TO_SUBST syscall.Errno = 140 + ERROR_SUBST_TO_JOIN syscall.Errno = 141 + ERROR_BUSY_DRIVE syscall.Errno = 142 + ERROR_SAME_DRIVE syscall.Errno = 143 + ERROR_DIR_NOT_ROOT syscall.Errno = 144 + ERROR_DIR_NOT_EMPTY syscall.Errno = 145 + ERROR_IS_SUBST_PATH syscall.Errno = 146 + ERROR_IS_JOIN_PATH syscall.Errno = 147 + ERROR_PATH_BUSY syscall.Errno = 148 + ERROR_IS_SUBST_TARGET syscall.Errno = 149 + ERROR_SYSTEM_TRACE syscall.Errno = 150 + ERROR_INVALID_EVENT_COUNT syscall.Errno = 151 + ERROR_TOO_MANY_MUXWAITERS syscall.Errno = 152 + ERROR_INVALID_LIST_FORMAT syscall.Errno = 153 + ERROR_LABEL_TOO_LONG syscall.Errno = 154 + ERROR_TOO_MANY_TCBS syscall.Errno = 155 + ERROR_SIGNAL_REFUSED syscall.Errno = 156 + ERROR_DISCARDED syscall.Errno = 157 + ERROR_NOT_LOCKED syscall.Errno = 158 + ERROR_BAD_THREADID_ADDR syscall.Errno = 159 + ERROR_BAD_ARGUMENTS syscall.Errno = 160 + ERROR_BAD_PATHNAME syscall.Errno = 161 + ERROR_SIGNAL_PENDING syscall.Errno = 162 + ERROR_MAX_THRDS_REACHED syscall.Errno = 164 + ERROR_LOCK_FAILED syscall.Errno = 167 + ERROR_BUSY syscall.Errno = 170 + ERROR_DEVICE_SUPPORT_IN_PROGRESS syscall.Errno = 171 + ERROR_CANCEL_VIOLATION syscall.Errno = 173 + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED syscall.Errno = 174 + ERROR_INVALID_SEGMENT_NUMBER syscall.Errno = 180 + ERROR_INVALID_ORDINAL syscall.Errno = 182 + ERROR_ALREADY_EXISTS syscall.Errno = 183 + ERROR_INVALID_FLAG_NUMBER syscall.Errno = 186 + ERROR_SEM_NOT_FOUND syscall.Errno = 187 + ERROR_INVALID_STARTING_CODESEG syscall.Errno = 188 + ERROR_INVALID_STACKSEG syscall.Errno = 189 + ERROR_INVALID_MODULETYPE syscall.Errno = 190 + ERROR_INVALID_EXE_SIGNATURE syscall.Errno = 191 + ERROR_EXE_MARKED_INVALID syscall.Errno = 192 + ERROR_BAD_EXE_FORMAT syscall.Errno = 193 + ERROR_ITERATED_DATA_EXCEEDS_64k syscall.Errno = 194 + ERROR_INVALID_MINALLOCSIZE syscall.Errno = 195 + ERROR_DYNLINK_FROM_INVALID_RING syscall.Errno = 196 + ERROR_IOPL_NOT_ENABLED syscall.Errno = 197 + ERROR_INVALID_SEGDPL syscall.Errno = 198 + ERROR_AUTODATASEG_EXCEEDS_64k syscall.Errno = 199 + ERROR_RING2SEG_MUST_BE_MOVABLE syscall.Errno = 200 + ERROR_RELOC_CHAIN_XEEDS_SEGLIM syscall.Errno = 201 + ERROR_INFLOOP_IN_RELOC_CHAIN syscall.Errno = 202 + ERROR_ENVVAR_NOT_FOUND syscall.Errno = 203 + ERROR_NO_SIGNAL_SENT syscall.Errno = 205 + ERROR_FILENAME_EXCED_RANGE syscall.Errno = 206 + ERROR_RING2_STACK_IN_USE syscall.Errno = 207 + ERROR_META_EXPANSION_TOO_LONG syscall.Errno = 208 + ERROR_INVALID_SIGNAL_NUMBER syscall.Errno = 209 + ERROR_THREAD_1_INACTIVE syscall.Errno = 210 + ERROR_LOCKED syscall.Errno = 212 + ERROR_TOO_MANY_MODULES syscall.Errno = 214 + ERROR_NESTING_NOT_ALLOWED syscall.Errno = 215 + ERROR_EXE_MACHINE_TYPE_MISMATCH syscall.Errno = 216 + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY syscall.Errno = 217 + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY syscall.Errno = 218 + ERROR_FILE_CHECKED_OUT syscall.Errno = 220 + ERROR_CHECKOUT_REQUIRED syscall.Errno = 221 + ERROR_BAD_FILE_TYPE syscall.Errno = 222 + ERROR_FILE_TOO_LARGE syscall.Errno = 223 + ERROR_FORMS_AUTH_REQUIRED syscall.Errno = 224 + ERROR_VIRUS_INFECTED syscall.Errno = 225 + ERROR_VIRUS_DELETED syscall.Errno = 226 + ERROR_PIPE_LOCAL syscall.Errno = 229 + ERROR_BAD_PIPE syscall.Errno = 230 + ERROR_PIPE_BUSY syscall.Errno = 231 + ERROR_NO_DATA syscall.Errno = 232 + ERROR_PIPE_NOT_CONNECTED syscall.Errno = 233 + ERROR_MORE_DATA syscall.Errno = 234 + ERROR_NO_WORK_DONE syscall.Errno = 235 + ERROR_VC_DISCONNECTED syscall.Errno = 240 + ERROR_INVALID_EA_NAME syscall.Errno = 254 + ERROR_EA_LIST_INCONSISTENT syscall.Errno = 255 + WAIT_TIMEOUT syscall.Errno = 258 + ERROR_NO_MORE_ITEMS syscall.Errno = 259 + ERROR_CANNOT_COPY syscall.Errno = 266 + ERROR_DIRECTORY syscall.Errno = 267 + ERROR_EAS_DIDNT_FIT syscall.Errno = 275 + ERROR_EA_FILE_CORRUPT syscall.Errno = 276 + ERROR_EA_TABLE_FULL syscall.Errno = 277 + ERROR_INVALID_EA_HANDLE syscall.Errno = 278 + ERROR_EAS_NOT_SUPPORTED syscall.Errno = 282 + ERROR_NOT_OWNER syscall.Errno = 288 + ERROR_TOO_MANY_POSTS syscall.Errno = 298 + ERROR_PARTIAL_COPY syscall.Errno = 299 + ERROR_OPLOCK_NOT_GRANTED syscall.Errno = 300 + ERROR_INVALID_OPLOCK_PROTOCOL syscall.Errno = 301 + ERROR_DISK_TOO_FRAGMENTED syscall.Errno = 302 + ERROR_DELETE_PENDING syscall.Errno = 303 + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING syscall.Errno = 304 + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME syscall.Errno = 305 + ERROR_SECURITY_STREAM_IS_INCONSISTENT syscall.Errno = 306 + ERROR_INVALID_LOCK_RANGE syscall.Errno = 307 + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT syscall.Errno = 308 + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED syscall.Errno = 309 + ERROR_INVALID_EXCEPTION_HANDLER syscall.Errno = 310 + ERROR_DUPLICATE_PRIVILEGES syscall.Errno = 311 + ERROR_NO_RANGES_PROCESSED syscall.Errno = 312 + ERROR_NOT_ALLOWED_ON_SYSTEM_FILE syscall.Errno = 313 + ERROR_DISK_RESOURCES_EXHAUSTED syscall.Errno = 314 + ERROR_INVALID_TOKEN syscall.Errno = 315 + ERROR_DEVICE_FEATURE_NOT_SUPPORTED syscall.Errno = 316 + ERROR_MR_MID_NOT_FOUND syscall.Errno = 317 + ERROR_SCOPE_NOT_FOUND syscall.Errno = 318 + ERROR_UNDEFINED_SCOPE syscall.Errno = 319 + ERROR_INVALID_CAP syscall.Errno = 320 + ERROR_DEVICE_UNREACHABLE syscall.Errno = 321 + ERROR_DEVICE_NO_RESOURCES syscall.Errno = 322 + ERROR_DATA_CHECKSUM_ERROR syscall.Errno = 323 + ERROR_INTERMIXED_KERNEL_EA_OPERATION syscall.Errno = 324 + ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED syscall.Errno = 326 + ERROR_OFFSET_ALIGNMENT_VIOLATION syscall.Errno = 327 + ERROR_INVALID_FIELD_IN_PARAMETER_LIST syscall.Errno = 328 + ERROR_OPERATION_IN_PROGRESS syscall.Errno = 329 + ERROR_BAD_DEVICE_PATH syscall.Errno = 330 + ERROR_TOO_MANY_DESCRIPTORS syscall.Errno = 331 + ERROR_SCRUB_DATA_DISABLED syscall.Errno = 332 + ERROR_NOT_REDUNDANT_STORAGE syscall.Errno = 333 + ERROR_RESIDENT_FILE_NOT_SUPPORTED syscall.Errno = 334 + ERROR_COMPRESSED_FILE_NOT_SUPPORTED syscall.Errno = 335 + ERROR_DIRECTORY_NOT_SUPPORTED syscall.Errno = 336 + ERROR_NOT_READ_FROM_COPY syscall.Errno = 337 + ERROR_FT_WRITE_FAILURE syscall.Errno = 338 + ERROR_FT_DI_SCAN_REQUIRED syscall.Errno = 339 + ERROR_INVALID_KERNEL_INFO_VERSION syscall.Errno = 340 + ERROR_INVALID_PEP_INFO_VERSION syscall.Errno = 341 + ERROR_OBJECT_NOT_EXTERNALLY_BACKED syscall.Errno = 342 + ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN syscall.Errno = 343 + ERROR_COMPRESSION_NOT_BENEFICIAL syscall.Errno = 344 + ERROR_STORAGE_TOPOLOGY_ID_MISMATCH syscall.Errno = 345 + ERROR_BLOCKED_BY_PARENTAL_CONTROLS syscall.Errno = 346 + ERROR_BLOCK_TOO_MANY_REFERENCES syscall.Errno = 347 + ERROR_MARKED_TO_DISALLOW_WRITES syscall.Errno = 348 + ERROR_ENCLAVE_FAILURE syscall.Errno = 349 + ERROR_FAIL_NOACTION_REBOOT syscall.Errno = 350 + ERROR_FAIL_SHUTDOWN syscall.Errno = 351 + ERROR_FAIL_RESTART syscall.Errno = 352 + ERROR_MAX_SESSIONS_REACHED syscall.Errno = 353 + ERROR_NETWORK_ACCESS_DENIED_EDP syscall.Errno = 354 + ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL syscall.Errno = 355 + ERROR_EDP_POLICY_DENIES_OPERATION syscall.Errno = 356 + ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED syscall.Errno = 357 + ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT syscall.Errno = 358 + ERROR_DEVICE_IN_MAINTENANCE syscall.Errno = 359 + ERROR_NOT_SUPPORTED_ON_DAX syscall.Errno = 360 + ERROR_DAX_MAPPING_EXISTS syscall.Errno = 361 + ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING syscall.Errno = 362 + ERROR_CLOUD_FILE_METADATA_CORRUPT syscall.Errno = 363 + ERROR_CLOUD_FILE_METADATA_TOO_LARGE syscall.Errno = 364 + ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE syscall.Errno = 365 + ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH syscall.Errno = 366 + ERROR_CHILD_PROCESS_BLOCKED syscall.Errno = 367 + ERROR_STORAGE_LOST_DATA_PERSISTENCE syscall.Errno = 368 + ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE syscall.Errno = 369 + ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT syscall.Errno = 370 + ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY syscall.Errno = 371 + ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN syscall.Errno = 372 + ERROR_GDI_HANDLE_LEAK syscall.Errno = 373 + ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS syscall.Errno = 374 + ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED syscall.Errno = 375 + ERROR_NOT_A_CLOUD_FILE syscall.Errno = 376 + ERROR_CLOUD_FILE_NOT_IN_SYNC syscall.Errno = 377 + ERROR_CLOUD_FILE_ALREADY_CONNECTED syscall.Errno = 378 + ERROR_CLOUD_FILE_NOT_SUPPORTED syscall.Errno = 379 + ERROR_CLOUD_FILE_INVALID_REQUEST syscall.Errno = 380 + ERROR_CLOUD_FILE_READ_ONLY_VOLUME syscall.Errno = 381 + ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY syscall.Errno = 382 + ERROR_CLOUD_FILE_VALIDATION_FAILED syscall.Errno = 383 + ERROR_SMB1_NOT_AVAILABLE syscall.Errno = 384 + ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION syscall.Errno = 385 + ERROR_CLOUD_FILE_AUTHENTICATION_FAILED syscall.Errno = 386 + ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES syscall.Errno = 387 + ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE syscall.Errno = 388 + ERROR_CLOUD_FILE_UNSUCCESSFUL syscall.Errno = 389 + ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT syscall.Errno = 390 + ERROR_CLOUD_FILE_IN_USE syscall.Errno = 391 + ERROR_CLOUD_FILE_PINNED syscall.Errno = 392 + ERROR_CLOUD_FILE_REQUEST_ABORTED syscall.Errno = 393 + ERROR_CLOUD_FILE_PROPERTY_CORRUPT syscall.Errno = 394 + ERROR_CLOUD_FILE_ACCESS_DENIED syscall.Errno = 395 + ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS syscall.Errno = 396 + ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT syscall.Errno = 397 + ERROR_CLOUD_FILE_REQUEST_CANCELED syscall.Errno = 398 + ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED syscall.Errno = 399 + ERROR_THREAD_MODE_ALREADY_BACKGROUND syscall.Errno = 400 + ERROR_THREAD_MODE_NOT_BACKGROUND syscall.Errno = 401 + ERROR_PROCESS_MODE_ALREADY_BACKGROUND syscall.Errno = 402 + ERROR_PROCESS_MODE_NOT_BACKGROUND syscall.Errno = 403 + ERROR_CLOUD_FILE_PROVIDER_TERMINATED syscall.Errno = 404 + ERROR_NOT_A_CLOUD_SYNC_ROOT syscall.Errno = 405 + ERROR_FILE_PROTECTED_UNDER_DPL syscall.Errno = 406 + ERROR_VOLUME_NOT_CLUSTER_ALIGNED syscall.Errno = 407 + ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND syscall.Errno = 408 + ERROR_APPX_FILE_NOT_ENCRYPTED syscall.Errno = 409 + ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED syscall.Errno = 410 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET syscall.Errno = 411 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE syscall.Errno = 412 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER syscall.Errno = 413 + ERROR_LINUX_SUBSYSTEM_NOT_PRESENT syscall.Errno = 414 + ERROR_FT_READ_FAILURE syscall.Errno = 415 + ERROR_STORAGE_RESERVE_ID_INVALID syscall.Errno = 416 + ERROR_STORAGE_RESERVE_DOES_NOT_EXIST syscall.Errno = 417 + ERROR_STORAGE_RESERVE_ALREADY_EXISTS syscall.Errno = 418 + ERROR_STORAGE_RESERVE_NOT_EMPTY syscall.Errno = 419 + ERROR_NOT_A_DAX_VOLUME syscall.Errno = 420 + ERROR_NOT_DAX_MAPPABLE syscall.Errno = 421 + ERROR_TIME_SENSITIVE_THREAD syscall.Errno = 422 + ERROR_DPL_NOT_SUPPORTED_FOR_USER syscall.Errno = 423 + ERROR_CASE_DIFFERING_NAMES_IN_DIR syscall.Errno = 424 + ERROR_FILE_NOT_SUPPORTED syscall.Errno = 425 + ERROR_CLOUD_FILE_REQUEST_TIMEOUT syscall.Errno = 426 + ERROR_NO_TASK_QUEUE syscall.Errno = 427 + ERROR_SRC_SRV_DLL_LOAD_FAILED syscall.Errno = 428 + ERROR_NOT_SUPPORTED_WITH_BTT syscall.Errno = 429 + ERROR_ENCRYPTION_DISABLED syscall.Errno = 430 + ERROR_ENCRYPTING_METADATA_DISALLOWED syscall.Errno = 431 + ERROR_CANT_CLEAR_ENCRYPTION_FLAG syscall.Errno = 432 + ERROR_NO_SUCH_DEVICE syscall.Errno = 433 + ERROR_CAPAUTHZ_NOT_DEVUNLOCKED syscall.Errno = 450 + ERROR_CAPAUTHZ_CHANGE_TYPE syscall.Errno = 451 + ERROR_CAPAUTHZ_NOT_PROVISIONED syscall.Errno = 452 + ERROR_CAPAUTHZ_NOT_AUTHORIZED syscall.Errno = 453 + ERROR_CAPAUTHZ_NO_POLICY syscall.Errno = 454 + ERROR_CAPAUTHZ_DB_CORRUPTED syscall.Errno = 455 + ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG syscall.Errno = 456 + ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY syscall.Errno = 457 + ERROR_CAPAUTHZ_SCCD_PARSE_ERROR syscall.Errno = 458 + ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED syscall.Errno = 459 + ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH syscall.Errno = 460 + ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT syscall.Errno = 480 + ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT syscall.Errno = 481 + ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT syscall.Errno = 482 + ERROR_DEVICE_HARDWARE_ERROR syscall.Errno = 483 + ERROR_INVALID_ADDRESS syscall.Errno = 487 + ERROR_VRF_CFG_ENABLED syscall.Errno = 1183 + ERROR_PARTITION_TERMINATING syscall.Errno = 1184 + ERROR_USER_PROFILE_LOAD syscall.Errno = 500 + ERROR_ARITHMETIC_OVERFLOW syscall.Errno = 534 + ERROR_PIPE_CONNECTED syscall.Errno = 535 + ERROR_PIPE_LISTENING syscall.Errno = 536 + ERROR_VERIFIER_STOP syscall.Errno = 537 + ERROR_ABIOS_ERROR syscall.Errno = 538 + ERROR_WX86_WARNING syscall.Errno = 539 + ERROR_WX86_ERROR syscall.Errno = 540 + ERROR_TIMER_NOT_CANCELED syscall.Errno = 541 + ERROR_UNWIND syscall.Errno = 542 + ERROR_BAD_STACK syscall.Errno = 543 + ERROR_INVALID_UNWIND_TARGET syscall.Errno = 544 + ERROR_INVALID_PORT_ATTRIBUTES syscall.Errno = 545 + ERROR_PORT_MESSAGE_TOO_LONG syscall.Errno = 546 + ERROR_INVALID_QUOTA_LOWER syscall.Errno = 547 + ERROR_DEVICE_ALREADY_ATTACHED syscall.Errno = 548 + ERROR_INSTRUCTION_MISALIGNMENT syscall.Errno = 549 + ERROR_PROFILING_NOT_STARTED syscall.Errno = 550 + ERROR_PROFILING_NOT_STOPPED syscall.Errno = 551 + ERROR_COULD_NOT_INTERPRET syscall.Errno = 552 + ERROR_PROFILING_AT_LIMIT syscall.Errno = 553 + ERROR_CANT_WAIT syscall.Errno = 554 + ERROR_CANT_TERMINATE_SELF syscall.Errno = 555 + ERROR_UNEXPECTED_MM_CREATE_ERR syscall.Errno = 556 + ERROR_UNEXPECTED_MM_MAP_ERROR syscall.Errno = 557 + ERROR_UNEXPECTED_MM_EXTEND_ERR syscall.Errno = 558 + ERROR_BAD_FUNCTION_TABLE syscall.Errno = 559 + ERROR_NO_GUID_TRANSLATION syscall.Errno = 560 + ERROR_INVALID_LDT_SIZE syscall.Errno = 561 + ERROR_INVALID_LDT_OFFSET syscall.Errno = 563 + ERROR_INVALID_LDT_DESCRIPTOR syscall.Errno = 564 + ERROR_TOO_MANY_THREADS syscall.Errno = 565 + ERROR_THREAD_NOT_IN_PROCESS syscall.Errno = 566 + ERROR_PAGEFILE_QUOTA_EXCEEDED syscall.Errno = 567 + ERROR_LOGON_SERVER_CONFLICT syscall.Errno = 568 + ERROR_SYNCHRONIZATION_REQUIRED syscall.Errno = 569 + ERROR_NET_OPEN_FAILED syscall.Errno = 570 + ERROR_IO_PRIVILEGE_FAILED syscall.Errno = 571 + ERROR_CONTROL_C_EXIT syscall.Errno = 572 + ERROR_MISSING_SYSTEMFILE syscall.Errno = 573 + ERROR_UNHANDLED_EXCEPTION syscall.Errno = 574 + ERROR_APP_INIT_FAILURE syscall.Errno = 575 + ERROR_PAGEFILE_CREATE_FAILED syscall.Errno = 576 + ERROR_INVALID_IMAGE_HASH syscall.Errno = 577 + ERROR_NO_PAGEFILE syscall.Errno = 578 + ERROR_ILLEGAL_FLOAT_CONTEXT syscall.Errno = 579 + ERROR_NO_EVENT_PAIR syscall.Errno = 580 + ERROR_DOMAIN_CTRLR_CONFIG_ERROR syscall.Errno = 581 + ERROR_ILLEGAL_CHARACTER syscall.Errno = 582 + ERROR_UNDEFINED_CHARACTER syscall.Errno = 583 + ERROR_FLOPPY_VOLUME syscall.Errno = 584 + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT syscall.Errno = 585 + ERROR_BACKUP_CONTROLLER syscall.Errno = 586 + ERROR_MUTANT_LIMIT_EXCEEDED syscall.Errno = 587 + ERROR_FS_DRIVER_REQUIRED syscall.Errno = 588 + ERROR_CANNOT_LOAD_REGISTRY_FILE syscall.Errno = 589 + ERROR_DEBUG_ATTACH_FAILED syscall.Errno = 590 + ERROR_SYSTEM_PROCESS_TERMINATED syscall.Errno = 591 + ERROR_DATA_NOT_ACCEPTED syscall.Errno = 592 + ERROR_VDM_HARD_ERROR syscall.Errno = 593 + ERROR_DRIVER_CANCEL_TIMEOUT syscall.Errno = 594 + ERROR_REPLY_MESSAGE_MISMATCH syscall.Errno = 595 + ERROR_LOST_WRITEBEHIND_DATA syscall.Errno = 596 + ERROR_CLIENT_SERVER_PARAMETERS_INVALID syscall.Errno = 597 + ERROR_NOT_TINY_STREAM syscall.Errno = 598 + ERROR_STACK_OVERFLOW_READ syscall.Errno = 599 + ERROR_CONVERT_TO_LARGE syscall.Errno = 600 + ERROR_FOUND_OUT_OF_SCOPE syscall.Errno = 601 + ERROR_ALLOCATE_BUCKET syscall.Errno = 602 + ERROR_MARSHALL_OVERFLOW syscall.Errno = 603 + ERROR_INVALID_VARIANT syscall.Errno = 604 + ERROR_BAD_COMPRESSION_BUFFER syscall.Errno = 605 + ERROR_AUDIT_FAILED syscall.Errno = 606 + ERROR_TIMER_RESOLUTION_NOT_SET syscall.Errno = 607 + ERROR_INSUFFICIENT_LOGON_INFO syscall.Errno = 608 + ERROR_BAD_DLL_ENTRYPOINT syscall.Errno = 609 + ERROR_BAD_SERVICE_ENTRYPOINT syscall.Errno = 610 + ERROR_IP_ADDRESS_CONFLICT1 syscall.Errno = 611 + ERROR_IP_ADDRESS_CONFLICT2 syscall.Errno = 612 + ERROR_REGISTRY_QUOTA_LIMIT syscall.Errno = 613 + ERROR_NO_CALLBACK_ACTIVE syscall.Errno = 614 + ERROR_PWD_TOO_SHORT syscall.Errno = 615 + ERROR_PWD_TOO_RECENT syscall.Errno = 616 + ERROR_PWD_HISTORY_CONFLICT syscall.Errno = 617 + ERROR_UNSUPPORTED_COMPRESSION syscall.Errno = 618 + ERROR_INVALID_HW_PROFILE syscall.Errno = 619 + ERROR_INVALID_PLUGPLAY_DEVICE_PATH syscall.Errno = 620 + ERROR_QUOTA_LIST_INCONSISTENT syscall.Errno = 621 + ERROR_EVALUATION_EXPIRATION syscall.Errno = 622 + ERROR_ILLEGAL_DLL_RELOCATION syscall.Errno = 623 + ERROR_DLL_INIT_FAILED_LOGOFF syscall.Errno = 624 + ERROR_VALIDATE_CONTINUE syscall.Errno = 625 + ERROR_NO_MORE_MATCHES syscall.Errno = 626 + ERROR_RANGE_LIST_CONFLICT syscall.Errno = 627 + ERROR_SERVER_SID_MISMATCH syscall.Errno = 628 + ERROR_CANT_ENABLE_DENY_ONLY syscall.Errno = 629 + ERROR_FLOAT_MULTIPLE_FAULTS syscall.Errno = 630 + ERROR_FLOAT_MULTIPLE_TRAPS syscall.Errno = 631 + ERROR_NOINTERFACE syscall.Errno = 632 + ERROR_DRIVER_FAILED_SLEEP syscall.Errno = 633 + ERROR_CORRUPT_SYSTEM_FILE syscall.Errno = 634 + ERROR_COMMITMENT_MINIMUM syscall.Errno = 635 + ERROR_PNP_RESTART_ENUMERATION syscall.Errno = 636 + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE syscall.Errno = 637 + ERROR_PNP_REBOOT_REQUIRED syscall.Errno = 638 + ERROR_INSUFFICIENT_POWER syscall.Errno = 639 + ERROR_MULTIPLE_FAULT_VIOLATION syscall.Errno = 640 + ERROR_SYSTEM_SHUTDOWN syscall.Errno = 641 + ERROR_PORT_NOT_SET syscall.Errno = 642 + ERROR_DS_VERSION_CHECK_FAILURE syscall.Errno = 643 + ERROR_RANGE_NOT_FOUND syscall.Errno = 644 + ERROR_NOT_SAFE_MODE_DRIVER syscall.Errno = 646 + ERROR_FAILED_DRIVER_ENTRY syscall.Errno = 647 + ERROR_DEVICE_ENUMERATION_ERROR syscall.Errno = 648 + ERROR_MOUNT_POINT_NOT_RESOLVED syscall.Errno = 649 + ERROR_INVALID_DEVICE_OBJECT_PARAMETER syscall.Errno = 650 + ERROR_MCA_OCCURED syscall.Errno = 651 + ERROR_DRIVER_DATABASE_ERROR syscall.Errno = 652 + ERROR_SYSTEM_HIVE_TOO_LARGE syscall.Errno = 653 + ERROR_DRIVER_FAILED_PRIOR_UNLOAD syscall.Errno = 654 + ERROR_VOLSNAP_PREPARE_HIBERNATE syscall.Errno = 655 + ERROR_HIBERNATION_FAILURE syscall.Errno = 656 + ERROR_PWD_TOO_LONG syscall.Errno = 657 + ERROR_FILE_SYSTEM_LIMITATION syscall.Errno = 665 + ERROR_ASSERTION_FAILURE syscall.Errno = 668 + ERROR_ACPI_ERROR syscall.Errno = 669 + ERROR_WOW_ASSERTION syscall.Errno = 670 + ERROR_PNP_BAD_MPS_TABLE syscall.Errno = 671 + ERROR_PNP_TRANSLATION_FAILED syscall.Errno = 672 + ERROR_PNP_IRQ_TRANSLATION_FAILED syscall.Errno = 673 + ERROR_PNP_INVALID_ID syscall.Errno = 674 + ERROR_WAKE_SYSTEM_DEBUGGER syscall.Errno = 675 + ERROR_HANDLES_CLOSED syscall.Errno = 676 + ERROR_EXTRANEOUS_INFORMATION syscall.Errno = 677 + ERROR_RXACT_COMMIT_NECESSARY syscall.Errno = 678 + ERROR_MEDIA_CHECK syscall.Errno = 679 + ERROR_GUID_SUBSTITUTION_MADE syscall.Errno = 680 + ERROR_STOPPED_ON_SYMLINK syscall.Errno = 681 + ERROR_LONGJUMP syscall.Errno = 682 + ERROR_PLUGPLAY_QUERY_VETOED syscall.Errno = 683 + ERROR_UNWIND_CONSOLIDATE syscall.Errno = 684 + ERROR_REGISTRY_HIVE_RECOVERED syscall.Errno = 685 + ERROR_DLL_MIGHT_BE_INSECURE syscall.Errno = 686 + ERROR_DLL_MIGHT_BE_INCOMPATIBLE syscall.Errno = 687 + ERROR_DBG_EXCEPTION_NOT_HANDLED syscall.Errno = 688 + ERROR_DBG_REPLY_LATER syscall.Errno = 689 + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE syscall.Errno = 690 + ERROR_DBG_TERMINATE_THREAD syscall.Errno = 691 + ERROR_DBG_TERMINATE_PROCESS syscall.Errno = 692 + ERROR_DBG_CONTROL_C syscall.Errno = 693 + ERROR_DBG_PRINTEXCEPTION_C syscall.Errno = 694 + ERROR_DBG_RIPEXCEPTION syscall.Errno = 695 + ERROR_DBG_CONTROL_BREAK syscall.Errno = 696 + ERROR_DBG_COMMAND_EXCEPTION syscall.Errno = 697 + ERROR_OBJECT_NAME_EXISTS syscall.Errno = 698 + ERROR_THREAD_WAS_SUSPENDED syscall.Errno = 699 + ERROR_IMAGE_NOT_AT_BASE syscall.Errno = 700 + ERROR_RXACT_STATE_CREATED syscall.Errno = 701 + ERROR_SEGMENT_NOTIFICATION syscall.Errno = 702 + ERROR_BAD_CURRENT_DIRECTORY syscall.Errno = 703 + ERROR_FT_READ_RECOVERY_FROM_BACKUP syscall.Errno = 704 + ERROR_FT_WRITE_RECOVERY syscall.Errno = 705 + ERROR_IMAGE_MACHINE_TYPE_MISMATCH syscall.Errno = 706 + ERROR_RECEIVE_PARTIAL syscall.Errno = 707 + ERROR_RECEIVE_EXPEDITED syscall.Errno = 708 + ERROR_RECEIVE_PARTIAL_EXPEDITED syscall.Errno = 709 + ERROR_EVENT_DONE syscall.Errno = 710 + ERROR_EVENT_PENDING syscall.Errno = 711 + ERROR_CHECKING_FILE_SYSTEM syscall.Errno = 712 + ERROR_FATAL_APP_EXIT syscall.Errno = 713 + ERROR_PREDEFINED_HANDLE syscall.Errno = 714 + ERROR_WAS_UNLOCKED syscall.Errno = 715 + ERROR_SERVICE_NOTIFICATION syscall.Errno = 716 + ERROR_WAS_LOCKED syscall.Errno = 717 + ERROR_LOG_HARD_ERROR syscall.Errno = 718 + ERROR_ALREADY_WIN32 syscall.Errno = 719 + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE syscall.Errno = 720 + ERROR_NO_YIELD_PERFORMED syscall.Errno = 721 + ERROR_TIMER_RESUME_IGNORED syscall.Errno = 722 + ERROR_ARBITRATION_UNHANDLED syscall.Errno = 723 + ERROR_CARDBUS_NOT_SUPPORTED syscall.Errno = 724 + ERROR_MP_PROCESSOR_MISMATCH syscall.Errno = 725 + ERROR_HIBERNATED syscall.Errno = 726 + ERROR_RESUME_HIBERNATION syscall.Errno = 727 + ERROR_FIRMWARE_UPDATED syscall.Errno = 728 + ERROR_DRIVERS_LEAKING_LOCKED_PAGES syscall.Errno = 729 + ERROR_WAKE_SYSTEM syscall.Errno = 730 + ERROR_WAIT_1 syscall.Errno = 731 + ERROR_WAIT_2 syscall.Errno = 732 + ERROR_WAIT_3 syscall.Errno = 733 + ERROR_WAIT_63 syscall.Errno = 734 + ERROR_ABANDONED_WAIT_0 syscall.Errno = 735 + ERROR_ABANDONED_WAIT_63 syscall.Errno = 736 + ERROR_USER_APC syscall.Errno = 737 + ERROR_KERNEL_APC syscall.Errno = 738 + ERROR_ALERTED syscall.Errno = 739 + ERROR_ELEVATION_REQUIRED syscall.Errno = 740 + ERROR_REPARSE syscall.Errno = 741 + ERROR_OPLOCK_BREAK_IN_PROGRESS syscall.Errno = 742 + ERROR_VOLUME_MOUNTED syscall.Errno = 743 + ERROR_RXACT_COMMITTED syscall.Errno = 744 + ERROR_NOTIFY_CLEANUP syscall.Errno = 745 + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED syscall.Errno = 746 + ERROR_PAGE_FAULT_TRANSITION syscall.Errno = 747 + ERROR_PAGE_FAULT_DEMAND_ZERO syscall.Errno = 748 + ERROR_PAGE_FAULT_COPY_ON_WRITE syscall.Errno = 749 + ERROR_PAGE_FAULT_GUARD_PAGE syscall.Errno = 750 + ERROR_PAGE_FAULT_PAGING_FILE syscall.Errno = 751 + ERROR_CACHE_PAGE_LOCKED syscall.Errno = 752 + ERROR_CRASH_DUMP syscall.Errno = 753 + ERROR_BUFFER_ALL_ZEROS syscall.Errno = 754 + ERROR_REPARSE_OBJECT syscall.Errno = 755 + ERROR_RESOURCE_REQUIREMENTS_CHANGED syscall.Errno = 756 + ERROR_TRANSLATION_COMPLETE syscall.Errno = 757 + ERROR_NOTHING_TO_TERMINATE syscall.Errno = 758 + ERROR_PROCESS_NOT_IN_JOB syscall.Errno = 759 + ERROR_PROCESS_IN_JOB syscall.Errno = 760 + ERROR_VOLSNAP_HIBERNATE_READY syscall.Errno = 761 + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY syscall.Errno = 762 + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED syscall.Errno = 763 + ERROR_INTERRUPT_STILL_CONNECTED syscall.Errno = 764 + ERROR_WAIT_FOR_OPLOCK syscall.Errno = 765 + ERROR_DBG_EXCEPTION_HANDLED syscall.Errno = 766 + ERROR_DBG_CONTINUE syscall.Errno = 767 + ERROR_CALLBACK_POP_STACK syscall.Errno = 768 + ERROR_COMPRESSION_DISABLED syscall.Errno = 769 + ERROR_CANTFETCHBACKWARDS syscall.Errno = 770 + ERROR_CANTSCROLLBACKWARDS syscall.Errno = 771 + ERROR_ROWSNOTRELEASED syscall.Errno = 772 + ERROR_BAD_ACCESSOR_FLAGS syscall.Errno = 773 + ERROR_ERRORS_ENCOUNTERED syscall.Errno = 774 + ERROR_NOT_CAPABLE syscall.Errno = 775 + ERROR_REQUEST_OUT_OF_SEQUENCE syscall.Errno = 776 + ERROR_VERSION_PARSE_ERROR syscall.Errno = 777 + ERROR_BADSTARTPOSITION syscall.Errno = 778 + ERROR_MEMORY_HARDWARE syscall.Errno = 779 + ERROR_DISK_REPAIR_DISABLED syscall.Errno = 780 + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE syscall.Errno = 781 + ERROR_SYSTEM_POWERSTATE_TRANSITION syscall.Errno = 782 + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION syscall.Errno = 783 + ERROR_MCA_EXCEPTION syscall.Errno = 784 + ERROR_ACCESS_AUDIT_BY_POLICY syscall.Errno = 785 + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY syscall.Errno = 786 + ERROR_ABANDON_HIBERFILE syscall.Errno = 787 + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED syscall.Errno = 788 + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR syscall.Errno = 789 + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR syscall.Errno = 790 + ERROR_BAD_MCFG_TABLE syscall.Errno = 791 + ERROR_DISK_REPAIR_REDIRECTED syscall.Errno = 792 + ERROR_DISK_REPAIR_UNSUCCESSFUL syscall.Errno = 793 + ERROR_CORRUPT_LOG_OVERFULL syscall.Errno = 794 + ERROR_CORRUPT_LOG_CORRUPTED syscall.Errno = 795 + ERROR_CORRUPT_LOG_UNAVAILABLE syscall.Errno = 796 + ERROR_CORRUPT_LOG_DELETED_FULL syscall.Errno = 797 + ERROR_CORRUPT_LOG_CLEARED syscall.Errno = 798 + ERROR_ORPHAN_NAME_EXHAUSTED syscall.Errno = 799 + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE syscall.Errno = 800 + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK syscall.Errno = 801 + ERROR_CANNOT_BREAK_OPLOCK syscall.Errno = 802 + ERROR_OPLOCK_HANDLE_CLOSED syscall.Errno = 803 + ERROR_NO_ACE_CONDITION syscall.Errno = 804 + ERROR_INVALID_ACE_CONDITION syscall.Errno = 805 + ERROR_FILE_HANDLE_REVOKED syscall.Errno = 806 + ERROR_IMAGE_AT_DIFFERENT_BASE syscall.Errno = 807 + ERROR_ENCRYPTED_IO_NOT_POSSIBLE syscall.Errno = 808 + ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS syscall.Errno = 809 + ERROR_QUOTA_ACTIVITY syscall.Errno = 810 + ERROR_HANDLE_REVOKED syscall.Errno = 811 + ERROR_CALLBACK_INVOKE_INLINE syscall.Errno = 812 + ERROR_CPU_SET_INVALID syscall.Errno = 813 + ERROR_ENCLAVE_NOT_TERMINATED syscall.Errno = 814 + ERROR_ENCLAVE_VIOLATION syscall.Errno = 815 + ERROR_EA_ACCESS_DENIED syscall.Errno = 994 + ERROR_OPERATION_ABORTED syscall.Errno = 995 + ERROR_IO_INCOMPLETE syscall.Errno = 996 + ERROR_IO_PENDING syscall.Errno = 997 + ERROR_NOACCESS syscall.Errno = 998 + ERROR_SWAPERROR syscall.Errno = 999 + ERROR_STACK_OVERFLOW syscall.Errno = 1001 + ERROR_INVALID_MESSAGE syscall.Errno = 1002 + ERROR_CAN_NOT_COMPLETE syscall.Errno = 1003 + ERROR_INVALID_FLAGS syscall.Errno = 1004 + ERROR_UNRECOGNIZED_VOLUME syscall.Errno = 1005 + ERROR_FILE_INVALID syscall.Errno = 1006 + ERROR_FULLSCREEN_MODE syscall.Errno = 1007 + ERROR_NO_TOKEN syscall.Errno = 1008 + ERROR_BADDB syscall.Errno = 1009 + ERROR_BADKEY syscall.Errno = 1010 + ERROR_CANTOPEN syscall.Errno = 1011 + ERROR_CANTREAD syscall.Errno = 1012 + ERROR_CANTWRITE syscall.Errno = 1013 + ERROR_REGISTRY_RECOVERED syscall.Errno = 1014 + ERROR_REGISTRY_CORRUPT syscall.Errno = 1015 + ERROR_REGISTRY_IO_FAILED syscall.Errno = 1016 + ERROR_NOT_REGISTRY_FILE syscall.Errno = 1017 + ERROR_KEY_DELETED syscall.Errno = 1018 + ERROR_NO_LOG_SPACE syscall.Errno = 1019 + ERROR_KEY_HAS_CHILDREN syscall.Errno = 1020 + ERROR_CHILD_MUST_BE_VOLATILE syscall.Errno = 1021 + ERROR_NOTIFY_ENUM_DIR syscall.Errno = 1022 + ERROR_DEPENDENT_SERVICES_RUNNING syscall.Errno = 1051 + ERROR_INVALID_SERVICE_CONTROL syscall.Errno = 1052 + ERROR_SERVICE_REQUEST_TIMEOUT syscall.Errno = 1053 + ERROR_SERVICE_NO_THREAD syscall.Errno = 1054 + ERROR_SERVICE_DATABASE_LOCKED syscall.Errno = 1055 + ERROR_SERVICE_ALREADY_RUNNING syscall.Errno = 1056 + ERROR_INVALID_SERVICE_ACCOUNT syscall.Errno = 1057 + ERROR_SERVICE_DISABLED syscall.Errno = 1058 + ERROR_CIRCULAR_DEPENDENCY syscall.Errno = 1059 + ERROR_SERVICE_DOES_NOT_EXIST syscall.Errno = 1060 + ERROR_SERVICE_CANNOT_ACCEPT_CTRL syscall.Errno = 1061 + ERROR_SERVICE_NOT_ACTIVE syscall.Errno = 1062 + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT syscall.Errno = 1063 + ERROR_EXCEPTION_IN_SERVICE syscall.Errno = 1064 + ERROR_DATABASE_DOES_NOT_EXIST syscall.Errno = 1065 + ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066 + ERROR_PROCESS_ABORTED syscall.Errno = 1067 + ERROR_SERVICE_DEPENDENCY_FAIL syscall.Errno = 1068 + ERROR_SERVICE_LOGON_FAILED syscall.Errno = 1069 + ERROR_SERVICE_START_HANG syscall.Errno = 1070 + ERROR_INVALID_SERVICE_LOCK syscall.Errno = 1071 + ERROR_SERVICE_MARKED_FOR_DELETE syscall.Errno = 1072 + ERROR_SERVICE_EXISTS syscall.Errno = 1073 + ERROR_ALREADY_RUNNING_LKG syscall.Errno = 1074 + ERROR_SERVICE_DEPENDENCY_DELETED syscall.Errno = 1075 + ERROR_BOOT_ALREADY_ACCEPTED syscall.Errno = 1076 + ERROR_SERVICE_NEVER_STARTED syscall.Errno = 1077 + ERROR_DUPLICATE_SERVICE_NAME syscall.Errno = 1078 + ERROR_DIFFERENT_SERVICE_ACCOUNT syscall.Errno = 1079 + ERROR_CANNOT_DETECT_DRIVER_FAILURE syscall.Errno = 1080 + ERROR_CANNOT_DETECT_PROCESS_ABORT syscall.Errno = 1081 + ERROR_NO_RECOVERY_PROGRAM syscall.Errno = 1082 + ERROR_SERVICE_NOT_IN_EXE syscall.Errno = 1083 + ERROR_NOT_SAFEBOOT_SERVICE syscall.Errno = 1084 + ERROR_END_OF_MEDIA syscall.Errno = 1100 + ERROR_FILEMARK_DETECTED syscall.Errno = 1101 + ERROR_BEGINNING_OF_MEDIA syscall.Errno = 1102 + ERROR_SETMARK_DETECTED syscall.Errno = 1103 + ERROR_NO_DATA_DETECTED syscall.Errno = 1104 + ERROR_PARTITION_FAILURE syscall.Errno = 1105 + ERROR_INVALID_BLOCK_LENGTH syscall.Errno = 1106 + ERROR_DEVICE_NOT_PARTITIONED syscall.Errno = 1107 + ERROR_UNABLE_TO_LOCK_MEDIA syscall.Errno = 1108 + ERROR_UNABLE_TO_UNLOAD_MEDIA syscall.Errno = 1109 + ERROR_MEDIA_CHANGED syscall.Errno = 1110 + ERROR_BUS_RESET syscall.Errno = 1111 + ERROR_NO_MEDIA_IN_DRIVE syscall.Errno = 1112 + ERROR_NO_UNICODE_TRANSLATION syscall.Errno = 1113 + ERROR_DLL_INIT_FAILED syscall.Errno = 1114 + ERROR_SHUTDOWN_IN_PROGRESS syscall.Errno = 1115 + ERROR_NO_SHUTDOWN_IN_PROGRESS syscall.Errno = 1116 + ERROR_IO_DEVICE syscall.Errno = 1117 + ERROR_SERIAL_NO_DEVICE syscall.Errno = 1118 + ERROR_IRQ_BUSY syscall.Errno = 1119 + ERROR_MORE_WRITES syscall.Errno = 1120 + ERROR_COUNTER_TIMEOUT syscall.Errno = 1121 + ERROR_FLOPPY_ID_MARK_NOT_FOUND syscall.Errno = 1122 + ERROR_FLOPPY_WRONG_CYLINDER syscall.Errno = 1123 + ERROR_FLOPPY_UNKNOWN_ERROR syscall.Errno = 1124 + ERROR_FLOPPY_BAD_REGISTERS syscall.Errno = 1125 + ERROR_DISK_RECALIBRATE_FAILED syscall.Errno = 1126 + ERROR_DISK_OPERATION_FAILED syscall.Errno = 1127 + ERROR_DISK_RESET_FAILED syscall.Errno = 1128 + ERROR_EOM_OVERFLOW syscall.Errno = 1129 + ERROR_NOT_ENOUGH_SERVER_MEMORY syscall.Errno = 1130 + ERROR_POSSIBLE_DEADLOCK syscall.Errno = 1131 + ERROR_MAPPED_ALIGNMENT syscall.Errno = 1132 + ERROR_SET_POWER_STATE_VETOED syscall.Errno = 1140 + ERROR_SET_POWER_STATE_FAILED syscall.Errno = 1141 + ERROR_TOO_MANY_LINKS syscall.Errno = 1142 + ERROR_OLD_WIN_VERSION syscall.Errno = 1150 + ERROR_APP_WRONG_OS syscall.Errno = 1151 + ERROR_SINGLE_INSTANCE_APP syscall.Errno = 1152 + ERROR_RMODE_APP syscall.Errno = 1153 + ERROR_INVALID_DLL syscall.Errno = 1154 + ERROR_NO_ASSOCIATION syscall.Errno = 1155 + ERROR_DDE_FAIL syscall.Errno = 1156 + ERROR_DLL_NOT_FOUND syscall.Errno = 1157 + ERROR_NO_MORE_USER_HANDLES syscall.Errno = 1158 + ERROR_MESSAGE_SYNC_ONLY syscall.Errno = 1159 + ERROR_SOURCE_ELEMENT_EMPTY syscall.Errno = 1160 + ERROR_DESTINATION_ELEMENT_FULL syscall.Errno = 1161 + ERROR_ILLEGAL_ELEMENT_ADDRESS syscall.Errno = 1162 + ERROR_MAGAZINE_NOT_PRESENT syscall.Errno = 1163 + ERROR_DEVICE_REINITIALIZATION_NEEDED syscall.Errno = 1164 + ERROR_DEVICE_REQUIRES_CLEANING syscall.Errno = 1165 + ERROR_DEVICE_DOOR_OPEN syscall.Errno = 1166 + ERROR_DEVICE_NOT_CONNECTED syscall.Errno = 1167 + ERROR_NOT_FOUND syscall.Errno = 1168 + ERROR_NO_MATCH syscall.Errno = 1169 + ERROR_SET_NOT_FOUND syscall.Errno = 1170 + ERROR_POINT_NOT_FOUND syscall.Errno = 1171 + ERROR_NO_TRACKING_SERVICE syscall.Errno = 1172 + ERROR_NO_VOLUME_ID syscall.Errno = 1173 + ERROR_UNABLE_TO_REMOVE_REPLACED syscall.Errno = 1175 + ERROR_UNABLE_TO_MOVE_REPLACEMENT syscall.Errno = 1176 + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 syscall.Errno = 1177 + ERROR_JOURNAL_DELETE_IN_PROGRESS syscall.Errno = 1178 + ERROR_JOURNAL_NOT_ACTIVE syscall.Errno = 1179 + ERROR_POTENTIAL_FILE_FOUND syscall.Errno = 1180 + ERROR_JOURNAL_ENTRY_DELETED syscall.Errno = 1181 + ERROR_SHUTDOWN_IS_SCHEDULED syscall.Errno = 1190 + ERROR_SHUTDOWN_USERS_LOGGED_ON syscall.Errno = 1191 + ERROR_BAD_DEVICE syscall.Errno = 1200 + ERROR_CONNECTION_UNAVAIL syscall.Errno = 1201 + ERROR_DEVICE_ALREADY_REMEMBERED syscall.Errno = 1202 + ERROR_NO_NET_OR_BAD_PATH syscall.Errno = 1203 + ERROR_BAD_PROVIDER syscall.Errno = 1204 + ERROR_CANNOT_OPEN_PROFILE syscall.Errno = 1205 + ERROR_BAD_PROFILE syscall.Errno = 1206 + ERROR_NOT_CONTAINER syscall.Errno = 1207 + ERROR_EXTENDED_ERROR syscall.Errno = 1208 + ERROR_INVALID_GROUPNAME syscall.Errno = 1209 + ERROR_INVALID_COMPUTERNAME syscall.Errno = 1210 + ERROR_INVALID_EVENTNAME syscall.Errno = 1211 + ERROR_INVALID_DOMAINNAME syscall.Errno = 1212 + ERROR_INVALID_SERVICENAME syscall.Errno = 1213 + ERROR_INVALID_NETNAME syscall.Errno = 1214 + ERROR_INVALID_SHARENAME syscall.Errno = 1215 + ERROR_INVALID_PASSWORDNAME syscall.Errno = 1216 + ERROR_INVALID_MESSAGENAME syscall.Errno = 1217 + ERROR_INVALID_MESSAGEDEST syscall.Errno = 1218 + ERROR_SESSION_CREDENTIAL_CONFLICT syscall.Errno = 1219 + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED syscall.Errno = 1220 + ERROR_DUP_DOMAINNAME syscall.Errno = 1221 + ERROR_NO_NETWORK syscall.Errno = 1222 + ERROR_CANCELLED syscall.Errno = 1223 + ERROR_USER_MAPPED_FILE syscall.Errno = 1224 + ERROR_CONNECTION_REFUSED syscall.Errno = 1225 + ERROR_GRACEFUL_DISCONNECT syscall.Errno = 1226 + ERROR_ADDRESS_ALREADY_ASSOCIATED syscall.Errno = 1227 + ERROR_ADDRESS_NOT_ASSOCIATED syscall.Errno = 1228 + ERROR_CONNECTION_INVALID syscall.Errno = 1229 + ERROR_CONNECTION_ACTIVE syscall.Errno = 1230 + ERROR_NETWORK_UNREACHABLE syscall.Errno = 1231 + ERROR_HOST_UNREACHABLE syscall.Errno = 1232 + ERROR_PROTOCOL_UNREACHABLE syscall.Errno = 1233 + ERROR_PORT_UNREACHABLE syscall.Errno = 1234 + ERROR_REQUEST_ABORTED syscall.Errno = 1235 + ERROR_CONNECTION_ABORTED syscall.Errno = 1236 + ERROR_RETRY syscall.Errno = 1237 + ERROR_CONNECTION_COUNT_LIMIT syscall.Errno = 1238 + ERROR_LOGIN_TIME_RESTRICTION syscall.Errno = 1239 + ERROR_LOGIN_WKSTA_RESTRICTION syscall.Errno = 1240 + ERROR_INCORRECT_ADDRESS syscall.Errno = 1241 + ERROR_ALREADY_REGISTERED syscall.Errno = 1242 + ERROR_SERVICE_NOT_FOUND syscall.Errno = 1243 + ERROR_NOT_AUTHENTICATED syscall.Errno = 1244 + ERROR_NOT_LOGGED_ON syscall.Errno = 1245 + ERROR_CONTINUE syscall.Errno = 1246 + ERROR_ALREADY_INITIALIZED syscall.Errno = 1247 + ERROR_NO_MORE_DEVICES syscall.Errno = 1248 + ERROR_NO_SUCH_SITE syscall.Errno = 1249 + ERROR_DOMAIN_CONTROLLER_EXISTS syscall.Errno = 1250 + ERROR_ONLY_IF_CONNECTED syscall.Errno = 1251 + ERROR_OVERRIDE_NOCHANGES syscall.Errno = 1252 + ERROR_BAD_USER_PROFILE syscall.Errno = 1253 + ERROR_NOT_SUPPORTED_ON_SBS syscall.Errno = 1254 + ERROR_SERVER_SHUTDOWN_IN_PROGRESS syscall.Errno = 1255 + ERROR_HOST_DOWN syscall.Errno = 1256 + ERROR_NON_ACCOUNT_SID syscall.Errno = 1257 + ERROR_NON_DOMAIN_SID syscall.Errno = 1258 + ERROR_APPHELP_BLOCK syscall.Errno = 1259 + ERROR_ACCESS_DISABLED_BY_POLICY syscall.Errno = 1260 + ERROR_REG_NAT_CONSUMPTION syscall.Errno = 1261 + ERROR_CSCSHARE_OFFLINE syscall.Errno = 1262 + ERROR_PKINIT_FAILURE syscall.Errno = 1263 + ERROR_SMARTCARD_SUBSYSTEM_FAILURE syscall.Errno = 1264 + ERROR_DOWNGRADE_DETECTED syscall.Errno = 1265 + ERROR_MACHINE_LOCKED syscall.Errno = 1271 + ERROR_SMB_GUEST_LOGON_BLOCKED syscall.Errno = 1272 + ERROR_CALLBACK_SUPPLIED_INVALID_DATA syscall.Errno = 1273 + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED syscall.Errno = 1274 + ERROR_DRIVER_BLOCKED syscall.Errno = 1275 + ERROR_INVALID_IMPORT_OF_NON_DLL syscall.Errno = 1276 + ERROR_ACCESS_DISABLED_WEBBLADE syscall.Errno = 1277 + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER syscall.Errno = 1278 + ERROR_RECOVERY_FAILURE syscall.Errno = 1279 + ERROR_ALREADY_FIBER syscall.Errno = 1280 + ERROR_ALREADY_THREAD syscall.Errno = 1281 + ERROR_STACK_BUFFER_OVERRUN syscall.Errno = 1282 + ERROR_PARAMETER_QUOTA_EXCEEDED syscall.Errno = 1283 + ERROR_DEBUGGER_INACTIVE syscall.Errno = 1284 + ERROR_DELAY_LOAD_FAILED syscall.Errno = 1285 + ERROR_VDM_DISALLOWED syscall.Errno = 1286 + ERROR_UNIDENTIFIED_ERROR syscall.Errno = 1287 + ERROR_INVALID_CRUNTIME_PARAMETER syscall.Errno = 1288 + ERROR_BEYOND_VDL syscall.Errno = 1289 + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE syscall.Errno = 1290 + ERROR_DRIVER_PROCESS_TERMINATED syscall.Errno = 1291 + ERROR_IMPLEMENTATION_LIMIT syscall.Errno = 1292 + ERROR_PROCESS_IS_PROTECTED syscall.Errno = 1293 + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING syscall.Errno = 1294 + ERROR_DISK_QUOTA_EXCEEDED syscall.Errno = 1295 + ERROR_CONTENT_BLOCKED syscall.Errno = 1296 + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE syscall.Errno = 1297 + ERROR_APP_HANG syscall.Errno = 1298 + ERROR_INVALID_LABEL syscall.Errno = 1299 + ERROR_NOT_ALL_ASSIGNED syscall.Errno = 1300 + ERROR_SOME_NOT_MAPPED syscall.Errno = 1301 + ERROR_NO_QUOTAS_FOR_ACCOUNT syscall.Errno = 1302 + ERROR_LOCAL_USER_SESSION_KEY syscall.Errno = 1303 + ERROR_NULL_LM_PASSWORD syscall.Errno = 1304 + ERROR_UNKNOWN_REVISION syscall.Errno = 1305 + ERROR_REVISION_MISMATCH syscall.Errno = 1306 + ERROR_INVALID_OWNER syscall.Errno = 1307 + ERROR_INVALID_PRIMARY_GROUP syscall.Errno = 1308 + ERROR_NO_IMPERSONATION_TOKEN syscall.Errno = 1309 + ERROR_CANT_DISABLE_MANDATORY syscall.Errno = 1310 + ERROR_NO_LOGON_SERVERS syscall.Errno = 1311 + ERROR_NO_SUCH_LOGON_SESSION syscall.Errno = 1312 + ERROR_NO_SUCH_PRIVILEGE syscall.Errno = 1313 + ERROR_PRIVILEGE_NOT_HELD syscall.Errno = 1314 + ERROR_INVALID_ACCOUNT_NAME syscall.Errno = 1315 + ERROR_USER_EXISTS syscall.Errno = 1316 + ERROR_NO_SUCH_USER syscall.Errno = 1317 + ERROR_GROUP_EXISTS syscall.Errno = 1318 + ERROR_NO_SUCH_GROUP syscall.Errno = 1319 + ERROR_MEMBER_IN_GROUP syscall.Errno = 1320 + ERROR_MEMBER_NOT_IN_GROUP syscall.Errno = 1321 + ERROR_LAST_ADMIN syscall.Errno = 1322 + ERROR_WRONG_PASSWORD syscall.Errno = 1323 + ERROR_ILL_FORMED_PASSWORD syscall.Errno = 1324 + ERROR_PASSWORD_RESTRICTION syscall.Errno = 1325 + ERROR_LOGON_FAILURE syscall.Errno = 1326 + ERROR_ACCOUNT_RESTRICTION syscall.Errno = 1327 + ERROR_INVALID_LOGON_HOURS syscall.Errno = 1328 + ERROR_INVALID_WORKSTATION syscall.Errno = 1329 + ERROR_PASSWORD_EXPIRED syscall.Errno = 1330 + ERROR_ACCOUNT_DISABLED syscall.Errno = 1331 + ERROR_NONE_MAPPED syscall.Errno = 1332 + ERROR_TOO_MANY_LUIDS_REQUESTED syscall.Errno = 1333 + ERROR_LUIDS_EXHAUSTED syscall.Errno = 1334 + ERROR_INVALID_SUB_AUTHORITY syscall.Errno = 1335 + ERROR_INVALID_ACL syscall.Errno = 1336 + ERROR_INVALID_SID syscall.Errno = 1337 + ERROR_INVALID_SECURITY_DESCR syscall.Errno = 1338 + ERROR_BAD_INHERITANCE_ACL syscall.Errno = 1340 + ERROR_SERVER_DISABLED syscall.Errno = 1341 + ERROR_SERVER_NOT_DISABLED syscall.Errno = 1342 + ERROR_INVALID_ID_AUTHORITY syscall.Errno = 1343 + ERROR_ALLOTTED_SPACE_EXCEEDED syscall.Errno = 1344 + ERROR_INVALID_GROUP_ATTRIBUTES syscall.Errno = 1345 + ERROR_BAD_IMPERSONATION_LEVEL syscall.Errno = 1346 + ERROR_CANT_OPEN_ANONYMOUS syscall.Errno = 1347 + ERROR_BAD_VALIDATION_CLASS syscall.Errno = 1348 + ERROR_BAD_TOKEN_TYPE syscall.Errno = 1349 + ERROR_NO_SECURITY_ON_OBJECT syscall.Errno = 1350 + ERROR_CANT_ACCESS_DOMAIN_INFO syscall.Errno = 1351 + ERROR_INVALID_SERVER_STATE syscall.Errno = 1352 + ERROR_INVALID_DOMAIN_STATE syscall.Errno = 1353 + ERROR_INVALID_DOMAIN_ROLE syscall.Errno = 1354 + ERROR_NO_SUCH_DOMAIN syscall.Errno = 1355 + ERROR_DOMAIN_EXISTS syscall.Errno = 1356 + ERROR_DOMAIN_LIMIT_EXCEEDED syscall.Errno = 1357 + ERROR_INTERNAL_DB_CORRUPTION syscall.Errno = 1358 + ERROR_INTERNAL_ERROR syscall.Errno = 1359 + ERROR_GENERIC_NOT_MAPPED syscall.Errno = 1360 + ERROR_BAD_DESCRIPTOR_FORMAT syscall.Errno = 1361 + ERROR_NOT_LOGON_PROCESS syscall.Errno = 1362 + ERROR_LOGON_SESSION_EXISTS syscall.Errno = 1363 + ERROR_NO_SUCH_PACKAGE syscall.Errno = 1364 + ERROR_BAD_LOGON_SESSION_STATE syscall.Errno = 1365 + ERROR_LOGON_SESSION_COLLISION syscall.Errno = 1366 + ERROR_INVALID_LOGON_TYPE syscall.Errno = 1367 + ERROR_CANNOT_IMPERSONATE syscall.Errno = 1368 + ERROR_RXACT_INVALID_STATE syscall.Errno = 1369 + ERROR_RXACT_COMMIT_FAILURE syscall.Errno = 1370 + ERROR_SPECIAL_ACCOUNT syscall.Errno = 1371 + ERROR_SPECIAL_GROUP syscall.Errno = 1372 + ERROR_SPECIAL_USER syscall.Errno = 1373 + ERROR_MEMBERS_PRIMARY_GROUP syscall.Errno = 1374 + ERROR_TOKEN_ALREADY_IN_USE syscall.Errno = 1375 + ERROR_NO_SUCH_ALIAS syscall.Errno = 1376 + ERROR_MEMBER_NOT_IN_ALIAS syscall.Errno = 1377 + ERROR_MEMBER_IN_ALIAS syscall.Errno = 1378 + ERROR_ALIAS_EXISTS syscall.Errno = 1379 + ERROR_LOGON_NOT_GRANTED syscall.Errno = 1380 + ERROR_TOO_MANY_SECRETS syscall.Errno = 1381 + ERROR_SECRET_TOO_LONG syscall.Errno = 1382 + ERROR_INTERNAL_DB_ERROR syscall.Errno = 1383 + ERROR_TOO_MANY_CONTEXT_IDS syscall.Errno = 1384 + ERROR_LOGON_TYPE_NOT_GRANTED syscall.Errno = 1385 + ERROR_NT_CROSS_ENCRYPTION_REQUIRED syscall.Errno = 1386 + ERROR_NO_SUCH_MEMBER syscall.Errno = 1387 + ERROR_INVALID_MEMBER syscall.Errno = 1388 + ERROR_TOO_MANY_SIDS syscall.Errno = 1389 + ERROR_LM_CROSS_ENCRYPTION_REQUIRED syscall.Errno = 1390 + ERROR_NO_INHERITANCE syscall.Errno = 1391 + ERROR_FILE_CORRUPT syscall.Errno = 1392 + ERROR_DISK_CORRUPT syscall.Errno = 1393 + ERROR_NO_USER_SESSION_KEY syscall.Errno = 1394 + ERROR_LICENSE_QUOTA_EXCEEDED syscall.Errno = 1395 + ERROR_WRONG_TARGET_NAME syscall.Errno = 1396 + ERROR_MUTUAL_AUTH_FAILED syscall.Errno = 1397 + ERROR_TIME_SKEW syscall.Errno = 1398 + ERROR_CURRENT_DOMAIN_NOT_ALLOWED syscall.Errno = 1399 + ERROR_INVALID_WINDOW_HANDLE syscall.Errno = 1400 + ERROR_INVALID_MENU_HANDLE syscall.Errno = 1401 + ERROR_INVALID_CURSOR_HANDLE syscall.Errno = 1402 + ERROR_INVALID_ACCEL_HANDLE syscall.Errno = 1403 + ERROR_INVALID_HOOK_HANDLE syscall.Errno = 1404 + ERROR_INVALID_DWP_HANDLE syscall.Errno = 1405 + ERROR_TLW_WITH_WSCHILD syscall.Errno = 1406 + ERROR_CANNOT_FIND_WND_CLASS syscall.Errno = 1407 + ERROR_WINDOW_OF_OTHER_THREAD syscall.Errno = 1408 + ERROR_HOTKEY_ALREADY_REGISTERED syscall.Errno = 1409 + ERROR_CLASS_ALREADY_EXISTS syscall.Errno = 1410 + ERROR_CLASS_DOES_NOT_EXIST syscall.Errno = 1411 + ERROR_CLASS_HAS_WINDOWS syscall.Errno = 1412 + ERROR_INVALID_INDEX syscall.Errno = 1413 + ERROR_INVALID_ICON_HANDLE syscall.Errno = 1414 + ERROR_PRIVATE_DIALOG_INDEX syscall.Errno = 1415 + ERROR_LISTBOX_ID_NOT_FOUND syscall.Errno = 1416 + ERROR_NO_WILDCARD_CHARACTERS syscall.Errno = 1417 + ERROR_CLIPBOARD_NOT_OPEN syscall.Errno = 1418 + ERROR_HOTKEY_NOT_REGISTERED syscall.Errno = 1419 + ERROR_WINDOW_NOT_DIALOG syscall.Errno = 1420 + ERROR_CONTROL_ID_NOT_FOUND syscall.Errno = 1421 + ERROR_INVALID_COMBOBOX_MESSAGE syscall.Errno = 1422 + ERROR_WINDOW_NOT_COMBOBOX syscall.Errno = 1423 + ERROR_INVALID_EDIT_HEIGHT syscall.Errno = 1424 + ERROR_DC_NOT_FOUND syscall.Errno = 1425 + ERROR_INVALID_HOOK_FILTER syscall.Errno = 1426 + ERROR_INVALID_FILTER_PROC syscall.Errno = 1427 + ERROR_HOOK_NEEDS_HMOD syscall.Errno = 1428 + ERROR_GLOBAL_ONLY_HOOK syscall.Errno = 1429 + ERROR_JOURNAL_HOOK_SET syscall.Errno = 1430 + ERROR_HOOK_NOT_INSTALLED syscall.Errno = 1431 + ERROR_INVALID_LB_MESSAGE syscall.Errno = 1432 + ERROR_SETCOUNT_ON_BAD_LB syscall.Errno = 1433 + ERROR_LB_WITHOUT_TABSTOPS syscall.Errno = 1434 + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD syscall.Errno = 1435 + ERROR_CHILD_WINDOW_MENU syscall.Errno = 1436 + ERROR_NO_SYSTEM_MENU syscall.Errno = 1437 + ERROR_INVALID_MSGBOX_STYLE syscall.Errno = 1438 + ERROR_INVALID_SPI_VALUE syscall.Errno = 1439 + ERROR_SCREEN_ALREADY_LOCKED syscall.Errno = 1440 + ERROR_HWNDS_HAVE_DIFF_PARENT syscall.Errno = 1441 + ERROR_NOT_CHILD_WINDOW syscall.Errno = 1442 + ERROR_INVALID_GW_COMMAND syscall.Errno = 1443 + ERROR_INVALID_THREAD_ID syscall.Errno = 1444 + ERROR_NON_MDICHILD_WINDOW syscall.Errno = 1445 + ERROR_POPUP_ALREADY_ACTIVE syscall.Errno = 1446 + ERROR_NO_SCROLLBARS syscall.Errno = 1447 + ERROR_INVALID_SCROLLBAR_RANGE syscall.Errno = 1448 + ERROR_INVALID_SHOWWIN_COMMAND syscall.Errno = 1449 + ERROR_NO_SYSTEM_RESOURCES syscall.Errno = 1450 + ERROR_NONPAGED_SYSTEM_RESOURCES syscall.Errno = 1451 + ERROR_PAGED_SYSTEM_RESOURCES syscall.Errno = 1452 + ERROR_WORKING_SET_QUOTA syscall.Errno = 1453 + ERROR_PAGEFILE_QUOTA syscall.Errno = 1454 + ERROR_COMMITMENT_LIMIT syscall.Errno = 1455 + ERROR_MENU_ITEM_NOT_FOUND syscall.Errno = 1456 + ERROR_INVALID_KEYBOARD_HANDLE syscall.Errno = 1457 + ERROR_HOOK_TYPE_NOT_ALLOWED syscall.Errno = 1458 + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION syscall.Errno = 1459 + ERROR_TIMEOUT syscall.Errno = 1460 + ERROR_INVALID_MONITOR_HANDLE syscall.Errno = 1461 + ERROR_INCORRECT_SIZE syscall.Errno = 1462 + ERROR_SYMLINK_CLASS_DISABLED syscall.Errno = 1463 + ERROR_SYMLINK_NOT_SUPPORTED syscall.Errno = 1464 + ERROR_XML_PARSE_ERROR syscall.Errno = 1465 + ERROR_XMLDSIG_ERROR syscall.Errno = 1466 + ERROR_RESTART_APPLICATION syscall.Errno = 1467 + ERROR_WRONG_COMPARTMENT syscall.Errno = 1468 + ERROR_AUTHIP_FAILURE syscall.Errno = 1469 + ERROR_NO_NVRAM_RESOURCES syscall.Errno = 1470 + ERROR_NOT_GUI_PROCESS syscall.Errno = 1471 + ERROR_EVENTLOG_FILE_CORRUPT syscall.Errno = 1500 + ERROR_EVENTLOG_CANT_START syscall.Errno = 1501 + ERROR_LOG_FILE_FULL syscall.Errno = 1502 + ERROR_EVENTLOG_FILE_CHANGED syscall.Errno = 1503 + ERROR_CONTAINER_ASSIGNED syscall.Errno = 1504 + ERROR_JOB_NO_CONTAINER syscall.Errno = 1505 + ERROR_INVALID_TASK_NAME syscall.Errno = 1550 + ERROR_INVALID_TASK_INDEX syscall.Errno = 1551 + ERROR_THREAD_ALREADY_IN_TASK syscall.Errno = 1552 + ERROR_INSTALL_SERVICE_FAILURE syscall.Errno = 1601 + ERROR_INSTALL_USEREXIT syscall.Errno = 1602 + ERROR_INSTALL_FAILURE syscall.Errno = 1603 + ERROR_INSTALL_SUSPEND syscall.Errno = 1604 + ERROR_UNKNOWN_PRODUCT syscall.Errno = 1605 + ERROR_UNKNOWN_FEATURE syscall.Errno = 1606 + ERROR_UNKNOWN_COMPONENT syscall.Errno = 1607 + ERROR_UNKNOWN_PROPERTY syscall.Errno = 1608 + ERROR_INVALID_HANDLE_STATE syscall.Errno = 1609 + ERROR_BAD_CONFIGURATION syscall.Errno = 1610 + ERROR_INDEX_ABSENT syscall.Errno = 1611 + ERROR_INSTALL_SOURCE_ABSENT syscall.Errno = 1612 + ERROR_INSTALL_PACKAGE_VERSION syscall.Errno = 1613 + ERROR_PRODUCT_UNINSTALLED syscall.Errno = 1614 + ERROR_BAD_QUERY_SYNTAX syscall.Errno = 1615 + ERROR_INVALID_FIELD syscall.Errno = 1616 + ERROR_DEVICE_REMOVED syscall.Errno = 1617 + ERROR_INSTALL_ALREADY_RUNNING syscall.Errno = 1618 + ERROR_INSTALL_PACKAGE_OPEN_FAILED syscall.Errno = 1619 + ERROR_INSTALL_PACKAGE_INVALID syscall.Errno = 1620 + ERROR_INSTALL_UI_FAILURE syscall.Errno = 1621 + ERROR_INSTALL_LOG_FAILURE syscall.Errno = 1622 + ERROR_INSTALL_LANGUAGE_UNSUPPORTED syscall.Errno = 1623 + ERROR_INSTALL_TRANSFORM_FAILURE syscall.Errno = 1624 + ERROR_INSTALL_PACKAGE_REJECTED syscall.Errno = 1625 + ERROR_FUNCTION_NOT_CALLED syscall.Errno = 1626 + ERROR_FUNCTION_FAILED syscall.Errno = 1627 + ERROR_INVALID_TABLE syscall.Errno = 1628 + ERROR_DATATYPE_MISMATCH syscall.Errno = 1629 + ERROR_UNSUPPORTED_TYPE syscall.Errno = 1630 + ERROR_CREATE_FAILED syscall.Errno = 1631 + ERROR_INSTALL_TEMP_UNWRITABLE syscall.Errno = 1632 + ERROR_INSTALL_PLATFORM_UNSUPPORTED syscall.Errno = 1633 + ERROR_INSTALL_NOTUSED syscall.Errno = 1634 + ERROR_PATCH_PACKAGE_OPEN_FAILED syscall.Errno = 1635 + ERROR_PATCH_PACKAGE_INVALID syscall.Errno = 1636 + ERROR_PATCH_PACKAGE_UNSUPPORTED syscall.Errno = 1637 + ERROR_PRODUCT_VERSION syscall.Errno = 1638 + ERROR_INVALID_COMMAND_LINE syscall.Errno = 1639 + ERROR_INSTALL_REMOTE_DISALLOWED syscall.Errno = 1640 + ERROR_SUCCESS_REBOOT_INITIATED syscall.Errno = 1641 + ERROR_PATCH_TARGET_NOT_FOUND syscall.Errno = 1642 + ERROR_PATCH_PACKAGE_REJECTED syscall.Errno = 1643 + ERROR_INSTALL_TRANSFORM_REJECTED syscall.Errno = 1644 + ERROR_INSTALL_REMOTE_PROHIBITED syscall.Errno = 1645 + ERROR_PATCH_REMOVAL_UNSUPPORTED syscall.Errno = 1646 + ERROR_UNKNOWN_PATCH syscall.Errno = 1647 + ERROR_PATCH_NO_SEQUENCE syscall.Errno = 1648 + ERROR_PATCH_REMOVAL_DISALLOWED syscall.Errno = 1649 + ERROR_INVALID_PATCH_XML syscall.Errno = 1650 + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT syscall.Errno = 1651 + ERROR_INSTALL_SERVICE_SAFEBOOT syscall.Errno = 1652 + ERROR_FAIL_FAST_EXCEPTION syscall.Errno = 1653 + ERROR_INSTALL_REJECTED syscall.Errno = 1654 + ERROR_DYNAMIC_CODE_BLOCKED syscall.Errno = 1655 + ERROR_NOT_SAME_OBJECT syscall.Errno = 1656 + ERROR_STRICT_CFG_VIOLATION syscall.Errno = 1657 + ERROR_SET_CONTEXT_DENIED syscall.Errno = 1660 + ERROR_CROSS_PARTITION_VIOLATION syscall.Errno = 1661 + RPC_S_INVALID_STRING_BINDING syscall.Errno = 1700 + RPC_S_WRONG_KIND_OF_BINDING syscall.Errno = 1701 + RPC_S_INVALID_BINDING syscall.Errno = 1702 + RPC_S_PROTSEQ_NOT_SUPPORTED syscall.Errno = 1703 + RPC_S_INVALID_RPC_PROTSEQ syscall.Errno = 1704 + RPC_S_INVALID_STRING_UUID syscall.Errno = 1705 + RPC_S_INVALID_ENDPOINT_FORMAT syscall.Errno = 1706 + RPC_S_INVALID_NET_ADDR syscall.Errno = 1707 + RPC_S_NO_ENDPOINT_FOUND syscall.Errno = 1708 + RPC_S_INVALID_TIMEOUT syscall.Errno = 1709 + RPC_S_OBJECT_NOT_FOUND syscall.Errno = 1710 + RPC_S_ALREADY_REGISTERED syscall.Errno = 1711 + RPC_S_TYPE_ALREADY_REGISTERED syscall.Errno = 1712 + RPC_S_ALREADY_LISTENING syscall.Errno = 1713 + RPC_S_NO_PROTSEQS_REGISTERED syscall.Errno = 1714 + RPC_S_NOT_LISTENING syscall.Errno = 1715 + RPC_S_UNKNOWN_MGR_TYPE syscall.Errno = 1716 + RPC_S_UNKNOWN_IF syscall.Errno = 1717 + RPC_S_NO_BINDINGS syscall.Errno = 1718 + RPC_S_NO_PROTSEQS syscall.Errno = 1719 + RPC_S_CANT_CREATE_ENDPOINT syscall.Errno = 1720 + RPC_S_OUT_OF_RESOURCES syscall.Errno = 1721 + RPC_S_SERVER_UNAVAILABLE syscall.Errno = 1722 + RPC_S_SERVER_TOO_BUSY syscall.Errno = 1723 + RPC_S_INVALID_NETWORK_OPTIONS syscall.Errno = 1724 + RPC_S_NO_CALL_ACTIVE syscall.Errno = 1725 + RPC_S_CALL_FAILED syscall.Errno = 1726 + RPC_S_CALL_FAILED_DNE syscall.Errno = 1727 + RPC_S_PROTOCOL_ERROR syscall.Errno = 1728 + RPC_S_PROXY_ACCESS_DENIED syscall.Errno = 1729 + RPC_S_UNSUPPORTED_TRANS_SYN syscall.Errno = 1730 + RPC_S_UNSUPPORTED_TYPE syscall.Errno = 1732 + RPC_S_INVALID_TAG syscall.Errno = 1733 + RPC_S_INVALID_BOUND syscall.Errno = 1734 + RPC_S_NO_ENTRY_NAME syscall.Errno = 1735 + RPC_S_INVALID_NAME_SYNTAX syscall.Errno = 1736 + RPC_S_UNSUPPORTED_NAME_SYNTAX syscall.Errno = 1737 + RPC_S_UUID_NO_ADDRESS syscall.Errno = 1739 + RPC_S_DUPLICATE_ENDPOINT syscall.Errno = 1740 + RPC_S_UNKNOWN_AUTHN_TYPE syscall.Errno = 1741 + RPC_S_MAX_CALLS_TOO_SMALL syscall.Errno = 1742 + RPC_S_STRING_TOO_LONG syscall.Errno = 1743 + RPC_S_PROTSEQ_NOT_FOUND syscall.Errno = 1744 + RPC_S_PROCNUM_OUT_OF_RANGE syscall.Errno = 1745 + RPC_S_BINDING_HAS_NO_AUTH syscall.Errno = 1746 + RPC_S_UNKNOWN_AUTHN_SERVICE syscall.Errno = 1747 + RPC_S_UNKNOWN_AUTHN_LEVEL syscall.Errno = 1748 + RPC_S_INVALID_AUTH_IDENTITY syscall.Errno = 1749 + RPC_S_UNKNOWN_AUTHZ_SERVICE syscall.Errno = 1750 + EPT_S_INVALID_ENTRY syscall.Errno = 1751 + EPT_S_CANT_PERFORM_OP syscall.Errno = 1752 + EPT_S_NOT_REGISTERED syscall.Errno = 1753 + RPC_S_NOTHING_TO_EXPORT syscall.Errno = 1754 + RPC_S_INCOMPLETE_NAME syscall.Errno = 1755 + RPC_S_INVALID_VERS_OPTION syscall.Errno = 1756 + RPC_S_NO_MORE_MEMBERS syscall.Errno = 1757 + RPC_S_NOT_ALL_OBJS_UNEXPORTED syscall.Errno = 1758 + RPC_S_INTERFACE_NOT_FOUND syscall.Errno = 1759 + RPC_S_ENTRY_ALREADY_EXISTS syscall.Errno = 1760 + RPC_S_ENTRY_NOT_FOUND syscall.Errno = 1761 + RPC_S_NAME_SERVICE_UNAVAILABLE syscall.Errno = 1762 + RPC_S_INVALID_NAF_ID syscall.Errno = 1763 + RPC_S_CANNOT_SUPPORT syscall.Errno = 1764 + RPC_S_NO_CONTEXT_AVAILABLE syscall.Errno = 1765 + RPC_S_INTERNAL_ERROR syscall.Errno = 1766 + RPC_S_ZERO_DIVIDE syscall.Errno = 1767 + RPC_S_ADDRESS_ERROR syscall.Errno = 1768 + RPC_S_FP_DIV_ZERO syscall.Errno = 1769 + RPC_S_FP_UNDERFLOW syscall.Errno = 1770 + RPC_S_FP_OVERFLOW syscall.Errno = 1771 + RPC_X_NO_MORE_ENTRIES syscall.Errno = 1772 + RPC_X_SS_CHAR_TRANS_OPEN_FAIL syscall.Errno = 1773 + RPC_X_SS_CHAR_TRANS_SHORT_FILE syscall.Errno = 1774 + RPC_X_SS_IN_NULL_CONTEXT syscall.Errno = 1775 + RPC_X_SS_CONTEXT_DAMAGED syscall.Errno = 1777 + RPC_X_SS_HANDLES_MISMATCH syscall.Errno = 1778 + RPC_X_SS_CANNOT_GET_CALL_HANDLE syscall.Errno = 1779 + RPC_X_NULL_REF_POINTER syscall.Errno = 1780 + RPC_X_ENUM_VALUE_OUT_OF_RANGE syscall.Errno = 1781 + RPC_X_BYTE_COUNT_TOO_SMALL syscall.Errno = 1782 + RPC_X_BAD_STUB_DATA syscall.Errno = 1783 + ERROR_INVALID_USER_BUFFER syscall.Errno = 1784 + ERROR_UNRECOGNIZED_MEDIA syscall.Errno = 1785 + ERROR_NO_TRUST_LSA_SECRET syscall.Errno = 1786 + ERROR_NO_TRUST_SAM_ACCOUNT syscall.Errno = 1787 + ERROR_TRUSTED_DOMAIN_FAILURE syscall.Errno = 1788 + ERROR_TRUSTED_RELATIONSHIP_FAILURE syscall.Errno = 1789 + ERROR_TRUST_FAILURE syscall.Errno = 1790 + RPC_S_CALL_IN_PROGRESS syscall.Errno = 1791 + ERROR_NETLOGON_NOT_STARTED syscall.Errno = 1792 + ERROR_ACCOUNT_EXPIRED syscall.Errno = 1793 + ERROR_REDIRECTOR_HAS_OPEN_HANDLES syscall.Errno = 1794 + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED syscall.Errno = 1795 + ERROR_UNKNOWN_PORT syscall.Errno = 1796 + ERROR_UNKNOWN_PRINTER_DRIVER syscall.Errno = 1797 + ERROR_UNKNOWN_PRINTPROCESSOR syscall.Errno = 1798 + ERROR_INVALID_SEPARATOR_FILE syscall.Errno = 1799 + ERROR_INVALID_PRIORITY syscall.Errno = 1800 + ERROR_INVALID_PRINTER_NAME syscall.Errno = 1801 + ERROR_PRINTER_ALREADY_EXISTS syscall.Errno = 1802 + ERROR_INVALID_PRINTER_COMMAND syscall.Errno = 1803 + ERROR_INVALID_DATATYPE syscall.Errno = 1804 + ERROR_INVALID_ENVIRONMENT syscall.Errno = 1805 + RPC_S_NO_MORE_BINDINGS syscall.Errno = 1806 + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT syscall.Errno = 1807 + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT syscall.Errno = 1808 + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT syscall.Errno = 1809 + ERROR_DOMAIN_TRUST_INCONSISTENT syscall.Errno = 1810 + ERROR_SERVER_HAS_OPEN_HANDLES syscall.Errno = 1811 + ERROR_RESOURCE_DATA_NOT_FOUND syscall.Errno = 1812 + ERROR_RESOURCE_TYPE_NOT_FOUND syscall.Errno = 1813 + ERROR_RESOURCE_NAME_NOT_FOUND syscall.Errno = 1814 + ERROR_RESOURCE_LANG_NOT_FOUND syscall.Errno = 1815 + ERROR_NOT_ENOUGH_QUOTA syscall.Errno = 1816 + RPC_S_NO_INTERFACES syscall.Errno = 1817 + RPC_S_CALL_CANCELLED syscall.Errno = 1818 + RPC_S_BINDING_INCOMPLETE syscall.Errno = 1819 + RPC_S_COMM_FAILURE syscall.Errno = 1820 + RPC_S_UNSUPPORTED_AUTHN_LEVEL syscall.Errno = 1821 + RPC_S_NO_PRINC_NAME syscall.Errno = 1822 + RPC_S_NOT_RPC_ERROR syscall.Errno = 1823 + RPC_S_UUID_LOCAL_ONLY syscall.Errno = 1824 + RPC_S_SEC_PKG_ERROR syscall.Errno = 1825 + RPC_S_NOT_CANCELLED syscall.Errno = 1826 + RPC_X_INVALID_ES_ACTION syscall.Errno = 1827 + RPC_X_WRONG_ES_VERSION syscall.Errno = 1828 + RPC_X_WRONG_STUB_VERSION syscall.Errno = 1829 + RPC_X_INVALID_PIPE_OBJECT syscall.Errno = 1830 + RPC_X_WRONG_PIPE_ORDER syscall.Errno = 1831 + RPC_X_WRONG_PIPE_VERSION syscall.Errno = 1832 + RPC_S_COOKIE_AUTH_FAILED syscall.Errno = 1833 + RPC_S_DO_NOT_DISTURB syscall.Errno = 1834 + RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED syscall.Errno = 1835 + RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH syscall.Errno = 1836 + RPC_S_GROUP_MEMBER_NOT_FOUND syscall.Errno = 1898 + EPT_S_CANT_CREATE syscall.Errno = 1899 + RPC_S_INVALID_OBJECT syscall.Errno = 1900 + ERROR_INVALID_TIME syscall.Errno = 1901 + ERROR_INVALID_FORM_NAME syscall.Errno = 1902 + ERROR_INVALID_FORM_SIZE syscall.Errno = 1903 + ERROR_ALREADY_WAITING syscall.Errno = 1904 + ERROR_PRINTER_DELETED syscall.Errno = 1905 + ERROR_INVALID_PRINTER_STATE syscall.Errno = 1906 + ERROR_PASSWORD_MUST_CHANGE syscall.Errno = 1907 + ERROR_DOMAIN_CONTROLLER_NOT_FOUND syscall.Errno = 1908 + ERROR_ACCOUNT_LOCKED_OUT syscall.Errno = 1909 + OR_INVALID_OXID syscall.Errno = 1910 + OR_INVALID_OID syscall.Errno = 1911 + OR_INVALID_SET syscall.Errno = 1912 + RPC_S_SEND_INCOMPLETE syscall.Errno = 1913 + RPC_S_INVALID_ASYNC_HANDLE syscall.Errno = 1914 + RPC_S_INVALID_ASYNC_CALL syscall.Errno = 1915 + RPC_X_PIPE_CLOSED syscall.Errno = 1916 + RPC_X_PIPE_DISCIPLINE_ERROR syscall.Errno = 1917 + RPC_X_PIPE_EMPTY syscall.Errno = 1918 + ERROR_NO_SITENAME syscall.Errno = 1919 + ERROR_CANT_ACCESS_FILE syscall.Errno = 1920 + ERROR_CANT_RESOLVE_FILENAME syscall.Errno = 1921 + RPC_S_ENTRY_TYPE_MISMATCH syscall.Errno = 1922 + RPC_S_NOT_ALL_OBJS_EXPORTED syscall.Errno = 1923 + RPC_S_INTERFACE_NOT_EXPORTED syscall.Errno = 1924 + RPC_S_PROFILE_NOT_ADDED syscall.Errno = 1925 + RPC_S_PRF_ELT_NOT_ADDED syscall.Errno = 1926 + RPC_S_PRF_ELT_NOT_REMOVED syscall.Errno = 1927 + RPC_S_GRP_ELT_NOT_ADDED syscall.Errno = 1928 + RPC_S_GRP_ELT_NOT_REMOVED syscall.Errno = 1929 + ERROR_KM_DRIVER_BLOCKED syscall.Errno = 1930 + ERROR_CONTEXT_EXPIRED syscall.Errno = 1931 + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED syscall.Errno = 1932 + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED syscall.Errno = 1933 + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED syscall.Errno = 1934 + ERROR_AUTHENTICATION_FIREWALL_FAILED syscall.Errno = 1935 + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED syscall.Errno = 1936 + ERROR_NTLM_BLOCKED syscall.Errno = 1937 + ERROR_PASSWORD_CHANGE_REQUIRED syscall.Errno = 1938 + ERROR_LOST_MODE_LOGON_RESTRICTION syscall.Errno = 1939 + ERROR_INVALID_PIXEL_FORMAT syscall.Errno = 2000 + ERROR_BAD_DRIVER syscall.Errno = 2001 + ERROR_INVALID_WINDOW_STYLE syscall.Errno = 2002 + ERROR_METAFILE_NOT_SUPPORTED syscall.Errno = 2003 + ERROR_TRANSFORM_NOT_SUPPORTED syscall.Errno = 2004 + ERROR_CLIPPING_NOT_SUPPORTED syscall.Errno = 2005 + ERROR_INVALID_CMM syscall.Errno = 2010 + ERROR_INVALID_PROFILE syscall.Errno = 2011 + ERROR_TAG_NOT_FOUND syscall.Errno = 2012 + ERROR_TAG_NOT_PRESENT syscall.Errno = 2013 + ERROR_DUPLICATE_TAG syscall.Errno = 2014 + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE syscall.Errno = 2015 + ERROR_PROFILE_NOT_FOUND syscall.Errno = 2016 + ERROR_INVALID_COLORSPACE syscall.Errno = 2017 + ERROR_ICM_NOT_ENABLED syscall.Errno = 2018 + ERROR_DELETING_ICM_XFORM syscall.Errno = 2019 + ERROR_INVALID_TRANSFORM syscall.Errno = 2020 + ERROR_COLORSPACE_MISMATCH syscall.Errno = 2021 + ERROR_INVALID_COLORINDEX syscall.Errno = 2022 + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE syscall.Errno = 2023 + ERROR_CONNECTED_OTHER_PASSWORD syscall.Errno = 2108 + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT syscall.Errno = 2109 + ERROR_BAD_USERNAME syscall.Errno = 2202 + ERROR_NOT_CONNECTED syscall.Errno = 2250 + ERROR_OPEN_FILES syscall.Errno = 2401 + ERROR_ACTIVE_CONNECTIONS syscall.Errno = 2402 + ERROR_DEVICE_IN_USE syscall.Errno = 2404 + ERROR_UNKNOWN_PRINT_MONITOR syscall.Errno = 3000 + ERROR_PRINTER_DRIVER_IN_USE syscall.Errno = 3001 + ERROR_SPOOL_FILE_NOT_FOUND syscall.Errno = 3002 + ERROR_SPL_NO_STARTDOC syscall.Errno = 3003 + ERROR_SPL_NO_ADDJOB syscall.Errno = 3004 + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED syscall.Errno = 3005 + ERROR_PRINT_MONITOR_ALREADY_INSTALLED syscall.Errno = 3006 + ERROR_INVALID_PRINT_MONITOR syscall.Errno = 3007 + ERROR_PRINT_MONITOR_IN_USE syscall.Errno = 3008 + ERROR_PRINTER_HAS_JOBS_QUEUED syscall.Errno = 3009 + ERROR_SUCCESS_REBOOT_REQUIRED syscall.Errno = 3010 + ERROR_SUCCESS_RESTART_REQUIRED syscall.Errno = 3011 + ERROR_PRINTER_NOT_FOUND syscall.Errno = 3012 + ERROR_PRINTER_DRIVER_WARNED syscall.Errno = 3013 + ERROR_PRINTER_DRIVER_BLOCKED syscall.Errno = 3014 + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE syscall.Errno = 3015 + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND syscall.Errno = 3016 + ERROR_FAIL_REBOOT_REQUIRED syscall.Errno = 3017 + ERROR_FAIL_REBOOT_INITIATED syscall.Errno = 3018 + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED syscall.Errno = 3019 + ERROR_PRINT_JOB_RESTART_REQUIRED syscall.Errno = 3020 + ERROR_INVALID_PRINTER_DRIVER_MANIFEST syscall.Errno = 3021 + ERROR_PRINTER_NOT_SHAREABLE syscall.Errno = 3022 + ERROR_REQUEST_PAUSED syscall.Errno = 3050 + ERROR_APPEXEC_CONDITION_NOT_SATISFIED syscall.Errno = 3060 + ERROR_APPEXEC_HANDLE_INVALIDATED syscall.Errno = 3061 + ERROR_APPEXEC_INVALID_HOST_GENERATION syscall.Errno = 3062 + ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION syscall.Errno = 3063 + ERROR_APPEXEC_INVALID_HOST_STATE syscall.Errno = 3064 + ERROR_APPEXEC_NO_DONOR syscall.Errno = 3065 + ERROR_APPEXEC_HOST_ID_MISMATCH syscall.Errno = 3066 + ERROR_APPEXEC_UNKNOWN_USER syscall.Errno = 3067 + ERROR_IO_REISSUE_AS_CACHED syscall.Errno = 3950 + ERROR_WINS_INTERNAL syscall.Errno = 4000 + ERROR_CAN_NOT_DEL_LOCAL_WINS syscall.Errno = 4001 + ERROR_STATIC_INIT syscall.Errno = 4002 + ERROR_INC_BACKUP syscall.Errno = 4003 + ERROR_FULL_BACKUP syscall.Errno = 4004 + ERROR_REC_NON_EXISTENT syscall.Errno = 4005 + ERROR_RPL_NOT_ALLOWED syscall.Errno = 4006 + PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED syscall.Errno = 4050 + PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO syscall.Errno = 4051 + PEERDIST_ERROR_MISSING_DATA syscall.Errno = 4052 + PEERDIST_ERROR_NO_MORE syscall.Errno = 4053 + PEERDIST_ERROR_NOT_INITIALIZED syscall.Errno = 4054 + PEERDIST_ERROR_ALREADY_INITIALIZED syscall.Errno = 4055 + PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS syscall.Errno = 4056 + PEERDIST_ERROR_INVALIDATED syscall.Errno = 4057 + PEERDIST_ERROR_ALREADY_EXISTS syscall.Errno = 4058 + PEERDIST_ERROR_OPERATION_NOTFOUND syscall.Errno = 4059 + PEERDIST_ERROR_ALREADY_COMPLETED syscall.Errno = 4060 + PEERDIST_ERROR_OUT_OF_BOUNDS syscall.Errno = 4061 + PEERDIST_ERROR_VERSION_UNSUPPORTED syscall.Errno = 4062 + PEERDIST_ERROR_INVALID_CONFIGURATION syscall.Errno = 4063 + PEERDIST_ERROR_NOT_LICENSED syscall.Errno = 4064 + PEERDIST_ERROR_SERVICE_UNAVAILABLE syscall.Errno = 4065 + PEERDIST_ERROR_TRUST_FAILURE syscall.Errno = 4066 + ERROR_DHCP_ADDRESS_CONFLICT syscall.Errno = 4100 + ERROR_WMI_GUID_NOT_FOUND syscall.Errno = 4200 + ERROR_WMI_INSTANCE_NOT_FOUND syscall.Errno = 4201 + ERROR_WMI_ITEMID_NOT_FOUND syscall.Errno = 4202 + ERROR_WMI_TRY_AGAIN syscall.Errno = 4203 + ERROR_WMI_DP_NOT_FOUND syscall.Errno = 4204 + ERROR_WMI_UNRESOLVED_INSTANCE_REF syscall.Errno = 4205 + ERROR_WMI_ALREADY_ENABLED syscall.Errno = 4206 + ERROR_WMI_GUID_DISCONNECTED syscall.Errno = 4207 + ERROR_WMI_SERVER_UNAVAILABLE syscall.Errno = 4208 + ERROR_WMI_DP_FAILED syscall.Errno = 4209 + ERROR_WMI_INVALID_MOF syscall.Errno = 4210 + ERROR_WMI_INVALID_REGINFO syscall.Errno = 4211 + ERROR_WMI_ALREADY_DISABLED syscall.Errno = 4212 + ERROR_WMI_READ_ONLY syscall.Errno = 4213 + ERROR_WMI_SET_FAILURE syscall.Errno = 4214 + ERROR_NOT_APPCONTAINER syscall.Errno = 4250 + ERROR_APPCONTAINER_REQUIRED syscall.Errno = 4251 + ERROR_NOT_SUPPORTED_IN_APPCONTAINER syscall.Errno = 4252 + ERROR_INVALID_PACKAGE_SID_LENGTH syscall.Errno = 4253 + ERROR_INVALID_MEDIA syscall.Errno = 4300 + ERROR_INVALID_LIBRARY syscall.Errno = 4301 + ERROR_INVALID_MEDIA_POOL syscall.Errno = 4302 + ERROR_DRIVE_MEDIA_MISMATCH syscall.Errno = 4303 + ERROR_MEDIA_OFFLINE syscall.Errno = 4304 + ERROR_LIBRARY_OFFLINE syscall.Errno = 4305 + ERROR_EMPTY syscall.Errno = 4306 + ERROR_NOT_EMPTY syscall.Errno = 4307 + ERROR_MEDIA_UNAVAILABLE syscall.Errno = 4308 + ERROR_RESOURCE_DISABLED syscall.Errno = 4309 + ERROR_INVALID_CLEANER syscall.Errno = 4310 + ERROR_UNABLE_TO_CLEAN syscall.Errno = 4311 + ERROR_OBJECT_NOT_FOUND syscall.Errno = 4312 + ERROR_DATABASE_FAILURE syscall.Errno = 4313 + ERROR_DATABASE_FULL syscall.Errno = 4314 + ERROR_MEDIA_INCOMPATIBLE syscall.Errno = 4315 + ERROR_RESOURCE_NOT_PRESENT syscall.Errno = 4316 + ERROR_INVALID_OPERATION syscall.Errno = 4317 + ERROR_MEDIA_NOT_AVAILABLE syscall.Errno = 4318 + ERROR_DEVICE_NOT_AVAILABLE syscall.Errno = 4319 + ERROR_REQUEST_REFUSED syscall.Errno = 4320 + ERROR_INVALID_DRIVE_OBJECT syscall.Errno = 4321 + ERROR_LIBRARY_FULL syscall.Errno = 4322 + ERROR_MEDIUM_NOT_ACCESSIBLE syscall.Errno = 4323 + ERROR_UNABLE_TO_LOAD_MEDIUM syscall.Errno = 4324 + ERROR_UNABLE_TO_INVENTORY_DRIVE syscall.Errno = 4325 + ERROR_UNABLE_TO_INVENTORY_SLOT syscall.Errno = 4326 + ERROR_UNABLE_TO_INVENTORY_TRANSPORT syscall.Errno = 4327 + ERROR_TRANSPORT_FULL syscall.Errno = 4328 + ERROR_CONTROLLING_IEPORT syscall.Errno = 4329 + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA syscall.Errno = 4330 + ERROR_CLEANER_SLOT_SET syscall.Errno = 4331 + ERROR_CLEANER_SLOT_NOT_SET syscall.Errno = 4332 + ERROR_CLEANER_CARTRIDGE_SPENT syscall.Errno = 4333 + ERROR_UNEXPECTED_OMID syscall.Errno = 4334 + ERROR_CANT_DELETE_LAST_ITEM syscall.Errno = 4335 + ERROR_MESSAGE_EXCEEDS_MAX_SIZE syscall.Errno = 4336 + ERROR_VOLUME_CONTAINS_SYS_FILES syscall.Errno = 4337 + ERROR_INDIGENOUS_TYPE syscall.Errno = 4338 + ERROR_NO_SUPPORTING_DRIVES syscall.Errno = 4339 + ERROR_CLEANER_CARTRIDGE_INSTALLED syscall.Errno = 4340 + ERROR_IEPORT_FULL syscall.Errno = 4341 + ERROR_FILE_OFFLINE syscall.Errno = 4350 + ERROR_REMOTE_STORAGE_NOT_ACTIVE syscall.Errno = 4351 + ERROR_REMOTE_STORAGE_MEDIA_ERROR syscall.Errno = 4352 + ERROR_NOT_A_REPARSE_POINT syscall.Errno = 4390 + ERROR_REPARSE_ATTRIBUTE_CONFLICT syscall.Errno = 4391 + ERROR_INVALID_REPARSE_DATA syscall.Errno = 4392 + ERROR_REPARSE_TAG_INVALID syscall.Errno = 4393 + ERROR_REPARSE_TAG_MISMATCH syscall.Errno = 4394 + ERROR_REPARSE_POINT_ENCOUNTERED syscall.Errno = 4395 + ERROR_APP_DATA_NOT_FOUND syscall.Errno = 4400 + ERROR_APP_DATA_EXPIRED syscall.Errno = 4401 + ERROR_APP_DATA_CORRUPT syscall.Errno = 4402 + ERROR_APP_DATA_LIMIT_EXCEEDED syscall.Errno = 4403 + ERROR_APP_DATA_REBOOT_REQUIRED syscall.Errno = 4404 + ERROR_SECUREBOOT_ROLLBACK_DETECTED syscall.Errno = 4420 + ERROR_SECUREBOOT_POLICY_VIOLATION syscall.Errno = 4421 + ERROR_SECUREBOOT_INVALID_POLICY syscall.Errno = 4422 + ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND syscall.Errno = 4423 + ERROR_SECUREBOOT_POLICY_NOT_SIGNED syscall.Errno = 4424 + ERROR_SECUREBOOT_NOT_ENABLED syscall.Errno = 4425 + ERROR_SECUREBOOT_FILE_REPLACED syscall.Errno = 4426 + ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED syscall.Errno = 4427 + ERROR_SECUREBOOT_POLICY_UNKNOWN syscall.Errno = 4428 + ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION syscall.Errno = 4429 + ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH syscall.Errno = 4430 + ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED syscall.Errno = 4431 + ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH syscall.Errno = 4432 + ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING syscall.Errno = 4433 + ERROR_SECUREBOOT_NOT_BASE_POLICY syscall.Errno = 4434 + ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY syscall.Errno = 4435 + ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED syscall.Errno = 4440 + ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED syscall.Errno = 4441 + ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED syscall.Errno = 4442 + ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED syscall.Errno = 4443 + ERROR_ALREADY_HAS_STREAM_ID syscall.Errno = 4444 + ERROR_SMR_GARBAGE_COLLECTION_REQUIRED syscall.Errno = 4445 + ERROR_WOF_WIM_HEADER_CORRUPT syscall.Errno = 4446 + ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT syscall.Errno = 4447 + ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT syscall.Errno = 4448 + ERROR_VOLUME_NOT_SIS_ENABLED syscall.Errno = 4500 + ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED syscall.Errno = 4550 + ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION syscall.Errno = 4551 + ERROR_SYSTEM_INTEGRITY_INVALID_POLICY syscall.Errno = 4552 + ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED syscall.Errno = 4553 + ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES syscall.Errno = 4554 + ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED syscall.Errno = 4555 + ERROR_VSM_NOT_INITIALIZED syscall.Errno = 4560 + ERROR_VSM_DMA_PROTECTION_NOT_IN_USE syscall.Errno = 4561 + ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED syscall.Errno = 4570 + ERROR_PLATFORM_MANIFEST_INVALID syscall.Errno = 4571 + ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED syscall.Errno = 4572 + ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED syscall.Errno = 4573 + ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND syscall.Errno = 4574 + ERROR_PLATFORM_MANIFEST_NOT_ACTIVE syscall.Errno = 4575 + ERROR_PLATFORM_MANIFEST_NOT_SIGNED syscall.Errno = 4576 + ERROR_DEPENDENT_RESOURCE_EXISTS syscall.Errno = 5001 + ERROR_DEPENDENCY_NOT_FOUND syscall.Errno = 5002 + ERROR_DEPENDENCY_ALREADY_EXISTS syscall.Errno = 5003 + ERROR_RESOURCE_NOT_ONLINE syscall.Errno = 5004 + ERROR_HOST_NODE_NOT_AVAILABLE syscall.Errno = 5005 + ERROR_RESOURCE_NOT_AVAILABLE syscall.Errno = 5006 + ERROR_RESOURCE_NOT_FOUND syscall.Errno = 5007 + ERROR_SHUTDOWN_CLUSTER syscall.Errno = 5008 + ERROR_CANT_EVICT_ACTIVE_NODE syscall.Errno = 5009 + ERROR_OBJECT_ALREADY_EXISTS syscall.Errno = 5010 + ERROR_OBJECT_IN_LIST syscall.Errno = 5011 + ERROR_GROUP_NOT_AVAILABLE syscall.Errno = 5012 + ERROR_GROUP_NOT_FOUND syscall.Errno = 5013 + ERROR_GROUP_NOT_ONLINE syscall.Errno = 5014 + ERROR_HOST_NODE_NOT_RESOURCE_OWNER syscall.Errno = 5015 + ERROR_HOST_NODE_NOT_GROUP_OWNER syscall.Errno = 5016 + ERROR_RESMON_CREATE_FAILED syscall.Errno = 5017 + ERROR_RESMON_ONLINE_FAILED syscall.Errno = 5018 + ERROR_RESOURCE_ONLINE syscall.Errno = 5019 + ERROR_QUORUM_RESOURCE syscall.Errno = 5020 + ERROR_NOT_QUORUM_CAPABLE syscall.Errno = 5021 + ERROR_CLUSTER_SHUTTING_DOWN syscall.Errno = 5022 + ERROR_INVALID_STATE syscall.Errno = 5023 + ERROR_RESOURCE_PROPERTIES_STORED syscall.Errno = 5024 + ERROR_NOT_QUORUM_CLASS syscall.Errno = 5025 + ERROR_CORE_RESOURCE syscall.Errno = 5026 + ERROR_QUORUM_RESOURCE_ONLINE_FAILED syscall.Errno = 5027 + ERROR_QUORUMLOG_OPEN_FAILED syscall.Errno = 5028 + ERROR_CLUSTERLOG_CORRUPT syscall.Errno = 5029 + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE syscall.Errno = 5030 + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE syscall.Errno = 5031 + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND syscall.Errno = 5032 + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE syscall.Errno = 5033 + ERROR_QUORUM_OWNER_ALIVE syscall.Errno = 5034 + ERROR_NETWORK_NOT_AVAILABLE syscall.Errno = 5035 + ERROR_NODE_NOT_AVAILABLE syscall.Errno = 5036 + ERROR_ALL_NODES_NOT_AVAILABLE syscall.Errno = 5037 + ERROR_RESOURCE_FAILED syscall.Errno = 5038 + ERROR_CLUSTER_INVALID_NODE syscall.Errno = 5039 + ERROR_CLUSTER_NODE_EXISTS syscall.Errno = 5040 + ERROR_CLUSTER_JOIN_IN_PROGRESS syscall.Errno = 5041 + ERROR_CLUSTER_NODE_NOT_FOUND syscall.Errno = 5042 + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND syscall.Errno = 5043 + ERROR_CLUSTER_NETWORK_EXISTS syscall.Errno = 5044 + ERROR_CLUSTER_NETWORK_NOT_FOUND syscall.Errno = 5045 + ERROR_CLUSTER_NETINTERFACE_EXISTS syscall.Errno = 5046 + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND syscall.Errno = 5047 + ERROR_CLUSTER_INVALID_REQUEST syscall.Errno = 5048 + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER syscall.Errno = 5049 + ERROR_CLUSTER_NODE_DOWN syscall.Errno = 5050 + ERROR_CLUSTER_NODE_UNREACHABLE syscall.Errno = 5051 + ERROR_CLUSTER_NODE_NOT_MEMBER syscall.Errno = 5052 + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS syscall.Errno = 5053 + ERROR_CLUSTER_INVALID_NETWORK syscall.Errno = 5054 + ERROR_CLUSTER_NODE_UP syscall.Errno = 5056 + ERROR_CLUSTER_IPADDR_IN_USE syscall.Errno = 5057 + ERROR_CLUSTER_NODE_NOT_PAUSED syscall.Errno = 5058 + ERROR_CLUSTER_NO_SECURITY_CONTEXT syscall.Errno = 5059 + ERROR_CLUSTER_NETWORK_NOT_INTERNAL syscall.Errno = 5060 + ERROR_CLUSTER_NODE_ALREADY_UP syscall.Errno = 5061 + ERROR_CLUSTER_NODE_ALREADY_DOWN syscall.Errno = 5062 + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE syscall.Errno = 5063 + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE syscall.Errno = 5064 + ERROR_CLUSTER_NODE_ALREADY_MEMBER syscall.Errno = 5065 + ERROR_CLUSTER_LAST_INTERNAL_NETWORK syscall.Errno = 5066 + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS syscall.Errno = 5067 + ERROR_INVALID_OPERATION_ON_QUORUM syscall.Errno = 5068 + ERROR_DEPENDENCY_NOT_ALLOWED syscall.Errno = 5069 + ERROR_CLUSTER_NODE_PAUSED syscall.Errno = 5070 + ERROR_NODE_CANT_HOST_RESOURCE syscall.Errno = 5071 + ERROR_CLUSTER_NODE_NOT_READY syscall.Errno = 5072 + ERROR_CLUSTER_NODE_SHUTTING_DOWN syscall.Errno = 5073 + ERROR_CLUSTER_JOIN_ABORTED syscall.Errno = 5074 + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS syscall.Errno = 5075 + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED syscall.Errno = 5076 + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED syscall.Errno = 5077 + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND syscall.Errno = 5078 + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED syscall.Errno = 5079 + ERROR_CLUSTER_RESNAME_NOT_FOUND syscall.Errno = 5080 + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED syscall.Errno = 5081 + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST syscall.Errno = 5082 + ERROR_CLUSTER_DATABASE_SEQMISMATCH syscall.Errno = 5083 + ERROR_RESMON_INVALID_STATE syscall.Errno = 5084 + ERROR_CLUSTER_GUM_NOT_LOCKER syscall.Errno = 5085 + ERROR_QUORUM_DISK_NOT_FOUND syscall.Errno = 5086 + ERROR_DATABASE_BACKUP_CORRUPT syscall.Errno = 5087 + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT syscall.Errno = 5088 + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE syscall.Errno = 5089 + ERROR_NO_ADMIN_ACCESS_POINT syscall.Errno = 5090 + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE syscall.Errno = 5890 + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND syscall.Errno = 5891 + ERROR_CLUSTER_MEMBERSHIP_HALT syscall.Errno = 5892 + ERROR_CLUSTER_INSTANCE_ID_MISMATCH syscall.Errno = 5893 + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP syscall.Errno = 5894 + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH syscall.Errno = 5895 + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP syscall.Errno = 5896 + ERROR_CLUSTER_PARAMETER_MISMATCH syscall.Errno = 5897 + ERROR_NODE_CANNOT_BE_CLUSTERED syscall.Errno = 5898 + ERROR_CLUSTER_WRONG_OS_VERSION syscall.Errno = 5899 + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME syscall.Errno = 5900 + ERROR_CLUSCFG_ALREADY_COMMITTED syscall.Errno = 5901 + ERROR_CLUSCFG_ROLLBACK_FAILED syscall.Errno = 5902 + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT syscall.Errno = 5903 + ERROR_CLUSTER_OLD_VERSION syscall.Errno = 5904 + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME syscall.Errno = 5905 + ERROR_CLUSTER_NO_NET_ADAPTERS syscall.Errno = 5906 + ERROR_CLUSTER_POISONED syscall.Errno = 5907 + ERROR_CLUSTER_GROUP_MOVING syscall.Errno = 5908 + ERROR_CLUSTER_RESOURCE_TYPE_BUSY syscall.Errno = 5909 + ERROR_RESOURCE_CALL_TIMED_OUT syscall.Errno = 5910 + ERROR_INVALID_CLUSTER_IPV6_ADDRESS syscall.Errno = 5911 + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION syscall.Errno = 5912 + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS syscall.Errno = 5913 + ERROR_CLUSTER_PARTIAL_SEND syscall.Errno = 5914 + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION syscall.Errno = 5915 + ERROR_CLUSTER_INVALID_STRING_TERMINATION syscall.Errno = 5916 + ERROR_CLUSTER_INVALID_STRING_FORMAT syscall.Errno = 5917 + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS syscall.Errno = 5918 + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS syscall.Errno = 5919 + ERROR_CLUSTER_NULL_DATA syscall.Errno = 5920 + ERROR_CLUSTER_PARTIAL_READ syscall.Errno = 5921 + ERROR_CLUSTER_PARTIAL_WRITE syscall.Errno = 5922 + ERROR_CLUSTER_CANT_DESERIALIZE_DATA syscall.Errno = 5923 + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT syscall.Errno = 5924 + ERROR_CLUSTER_NO_QUORUM syscall.Errno = 5925 + ERROR_CLUSTER_INVALID_IPV6_NETWORK syscall.Errno = 5926 + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK syscall.Errno = 5927 + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP syscall.Errno = 5928 + ERROR_DEPENDENCY_TREE_TOO_COMPLEX syscall.Errno = 5929 + ERROR_EXCEPTION_IN_RESOURCE_CALL syscall.Errno = 5930 + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION syscall.Errno = 5931 + ERROR_CLUSTER_NOT_INSTALLED syscall.Errno = 5932 + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE syscall.Errno = 5933 + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER syscall.Errno = 5934 + ERROR_CLUSTER_TOO_MANY_NODES syscall.Errno = 5935 + ERROR_CLUSTER_OBJECT_ALREADY_USED syscall.Errno = 5936 + ERROR_NONCORE_GROUPS_FOUND syscall.Errno = 5937 + ERROR_FILE_SHARE_RESOURCE_CONFLICT syscall.Errno = 5938 + ERROR_CLUSTER_EVICT_INVALID_REQUEST syscall.Errno = 5939 + ERROR_CLUSTER_SINGLETON_RESOURCE syscall.Errno = 5940 + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE syscall.Errno = 5941 + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED syscall.Errno = 5942 + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR syscall.Errno = 5943 + ERROR_CLUSTER_GROUP_BUSY syscall.Errno = 5944 + ERROR_CLUSTER_NOT_SHARED_VOLUME syscall.Errno = 5945 + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR syscall.Errno = 5946 + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE syscall.Errno = 5947 + ERROR_CLUSTER_USE_SHARED_VOLUMES_API syscall.Errno = 5948 + ERROR_CLUSTER_BACKUP_IN_PROGRESS syscall.Errno = 5949 + ERROR_NON_CSV_PATH syscall.Errno = 5950 + ERROR_CSV_VOLUME_NOT_LOCAL syscall.Errno = 5951 + ERROR_CLUSTER_WATCHDOG_TERMINATING syscall.Errno = 5952 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES syscall.Errno = 5953 + ERROR_CLUSTER_INVALID_NODE_WEIGHT syscall.Errno = 5954 + ERROR_CLUSTER_RESOURCE_VETOED_CALL syscall.Errno = 5955 + ERROR_RESMON_SYSTEM_RESOURCES_LACKING syscall.Errno = 5956 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION syscall.Errno = 5957 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE syscall.Errno = 5958 + ERROR_CLUSTER_GROUP_QUEUED syscall.Errno = 5959 + ERROR_CLUSTER_RESOURCE_LOCKED_STATUS syscall.Errno = 5960 + ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED syscall.Errno = 5961 + ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS syscall.Errno = 5962 + ERROR_CLUSTER_DISK_NOT_CONNECTED syscall.Errno = 5963 + ERROR_DISK_NOT_CSV_CAPABLE syscall.Errno = 5964 + ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE syscall.Errno = 5965 + ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED syscall.Errno = 5966 + ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED syscall.Errno = 5967 + ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES syscall.Errno = 5968 + ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES syscall.Errno = 5969 + ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE syscall.Errno = 5970 + ERROR_CLUSTER_AFFINITY_CONFLICT syscall.Errno = 5971 + ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE syscall.Errno = 5972 + ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS syscall.Errno = 5973 + ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED syscall.Errno = 5974 + ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED syscall.Errno = 5975 + ERROR_CLUSTER_UPGRADE_IN_PROGRESS syscall.Errno = 5976 + ERROR_CLUSTER_UPGRADE_INCOMPLETE syscall.Errno = 5977 + ERROR_CLUSTER_NODE_IN_GRACE_PERIOD syscall.Errno = 5978 + ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT syscall.Errno = 5979 + ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER syscall.Errno = 5980 + ERROR_CLUSTER_RESOURCE_NOT_MONITORED syscall.Errno = 5981 + ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED syscall.Errno = 5982 + ERROR_CLUSTER_RESOURCE_IS_REPLICATED syscall.Errno = 5983 + ERROR_CLUSTER_NODE_ISOLATED syscall.Errno = 5984 + ERROR_CLUSTER_NODE_QUARANTINED syscall.Errno = 5985 + ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED syscall.Errno = 5986 + ERROR_CLUSTER_SPACE_DEGRADED syscall.Errno = 5987 + ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED syscall.Errno = 5988 + ERROR_CLUSTER_CSV_INVALID_HANDLE syscall.Errno = 5989 + ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR syscall.Errno = 5990 + ERROR_GROUPSET_NOT_AVAILABLE syscall.Errno = 5991 + ERROR_GROUPSET_NOT_FOUND syscall.Errno = 5992 + ERROR_GROUPSET_CANT_PROVIDE syscall.Errno = 5993 + ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND syscall.Errno = 5994 + ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY syscall.Errno = 5995 + ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION syscall.Errno = 5996 + ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS syscall.Errno = 5997 + ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME syscall.Errno = 5998 + ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE syscall.Errno = 5999 + ERROR_ENCRYPTION_FAILED syscall.Errno = 6000 + ERROR_DECRYPTION_FAILED syscall.Errno = 6001 + ERROR_FILE_ENCRYPTED syscall.Errno = 6002 + ERROR_NO_RECOVERY_POLICY syscall.Errno = 6003 + ERROR_NO_EFS syscall.Errno = 6004 + ERROR_WRONG_EFS syscall.Errno = 6005 + ERROR_NO_USER_KEYS syscall.Errno = 6006 + ERROR_FILE_NOT_ENCRYPTED syscall.Errno = 6007 + ERROR_NOT_EXPORT_FORMAT syscall.Errno = 6008 + ERROR_FILE_READ_ONLY syscall.Errno = 6009 + ERROR_DIR_EFS_DISALLOWED syscall.Errno = 6010 + ERROR_EFS_SERVER_NOT_TRUSTED syscall.Errno = 6011 + ERROR_BAD_RECOVERY_POLICY syscall.Errno = 6012 + ERROR_EFS_ALG_BLOB_TOO_BIG syscall.Errno = 6013 + ERROR_VOLUME_NOT_SUPPORT_EFS syscall.Errno = 6014 + ERROR_EFS_DISABLED syscall.Errno = 6015 + ERROR_EFS_VERSION_NOT_SUPPORT syscall.Errno = 6016 + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE syscall.Errno = 6017 + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER syscall.Errno = 6018 + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE syscall.Errno = 6019 + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE syscall.Errno = 6020 + ERROR_CS_ENCRYPTION_FILE_NOT_CSE syscall.Errno = 6021 + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION syscall.Errno = 6022 + ERROR_WIP_ENCRYPTION_FAILED syscall.Errno = 6023 + ERROR_NO_BROWSER_SERVERS_FOUND syscall.Errno = 6118 + SCHED_E_SERVICE_NOT_LOCALSYSTEM syscall.Errno = 6200 + ERROR_LOG_SECTOR_INVALID syscall.Errno = 6600 + ERROR_LOG_SECTOR_PARITY_INVALID syscall.Errno = 6601 + ERROR_LOG_SECTOR_REMAPPED syscall.Errno = 6602 + ERROR_LOG_BLOCK_INCOMPLETE syscall.Errno = 6603 + ERROR_LOG_INVALID_RANGE syscall.Errno = 6604 + ERROR_LOG_BLOCKS_EXHAUSTED syscall.Errno = 6605 + ERROR_LOG_READ_CONTEXT_INVALID syscall.Errno = 6606 + ERROR_LOG_RESTART_INVALID syscall.Errno = 6607 + ERROR_LOG_BLOCK_VERSION syscall.Errno = 6608 + ERROR_LOG_BLOCK_INVALID syscall.Errno = 6609 + ERROR_LOG_READ_MODE_INVALID syscall.Errno = 6610 + ERROR_LOG_NO_RESTART syscall.Errno = 6611 + ERROR_LOG_METADATA_CORRUPT syscall.Errno = 6612 + ERROR_LOG_METADATA_INVALID syscall.Errno = 6613 + ERROR_LOG_METADATA_INCONSISTENT syscall.Errno = 6614 + ERROR_LOG_RESERVATION_INVALID syscall.Errno = 6615 + ERROR_LOG_CANT_DELETE syscall.Errno = 6616 + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED syscall.Errno = 6617 + ERROR_LOG_START_OF_LOG syscall.Errno = 6618 + ERROR_LOG_POLICY_ALREADY_INSTALLED syscall.Errno = 6619 + ERROR_LOG_POLICY_NOT_INSTALLED syscall.Errno = 6620 + ERROR_LOG_POLICY_INVALID syscall.Errno = 6621 + ERROR_LOG_POLICY_CONFLICT syscall.Errno = 6622 + ERROR_LOG_PINNED_ARCHIVE_TAIL syscall.Errno = 6623 + ERROR_LOG_RECORD_NONEXISTENT syscall.Errno = 6624 + ERROR_LOG_RECORDS_RESERVED_INVALID syscall.Errno = 6625 + ERROR_LOG_SPACE_RESERVED_INVALID syscall.Errno = 6626 + ERROR_LOG_TAIL_INVALID syscall.Errno = 6627 + ERROR_LOG_FULL syscall.Errno = 6628 + ERROR_COULD_NOT_RESIZE_LOG syscall.Errno = 6629 + ERROR_LOG_MULTIPLEXED syscall.Errno = 6630 + ERROR_LOG_DEDICATED syscall.Errno = 6631 + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS syscall.Errno = 6632 + ERROR_LOG_ARCHIVE_IN_PROGRESS syscall.Errno = 6633 + ERROR_LOG_EPHEMERAL syscall.Errno = 6634 + ERROR_LOG_NOT_ENOUGH_CONTAINERS syscall.Errno = 6635 + ERROR_LOG_CLIENT_ALREADY_REGISTERED syscall.Errno = 6636 + ERROR_LOG_CLIENT_NOT_REGISTERED syscall.Errno = 6637 + ERROR_LOG_FULL_HANDLER_IN_PROGRESS syscall.Errno = 6638 + ERROR_LOG_CONTAINER_READ_FAILED syscall.Errno = 6639 + ERROR_LOG_CONTAINER_WRITE_FAILED syscall.Errno = 6640 + ERROR_LOG_CONTAINER_OPEN_FAILED syscall.Errno = 6641 + ERROR_LOG_CONTAINER_STATE_INVALID syscall.Errno = 6642 + ERROR_LOG_STATE_INVALID syscall.Errno = 6643 + ERROR_LOG_PINNED syscall.Errno = 6644 + ERROR_LOG_METADATA_FLUSH_FAILED syscall.Errno = 6645 + ERROR_LOG_INCONSISTENT_SECURITY syscall.Errno = 6646 + ERROR_LOG_APPENDED_FLUSH_FAILED syscall.Errno = 6647 + ERROR_LOG_PINNED_RESERVATION syscall.Errno = 6648 + ERROR_INVALID_TRANSACTION syscall.Errno = 6700 + ERROR_TRANSACTION_NOT_ACTIVE syscall.Errno = 6701 + ERROR_TRANSACTION_REQUEST_NOT_VALID syscall.Errno = 6702 + ERROR_TRANSACTION_NOT_REQUESTED syscall.Errno = 6703 + ERROR_TRANSACTION_ALREADY_ABORTED syscall.Errno = 6704 + ERROR_TRANSACTION_ALREADY_COMMITTED syscall.Errno = 6705 + ERROR_TM_INITIALIZATION_FAILED syscall.Errno = 6706 + ERROR_RESOURCEMANAGER_READ_ONLY syscall.Errno = 6707 + ERROR_TRANSACTION_NOT_JOINED syscall.Errno = 6708 + ERROR_TRANSACTION_SUPERIOR_EXISTS syscall.Errno = 6709 + ERROR_CRM_PROTOCOL_ALREADY_EXISTS syscall.Errno = 6710 + ERROR_TRANSACTION_PROPAGATION_FAILED syscall.Errno = 6711 + ERROR_CRM_PROTOCOL_NOT_FOUND syscall.Errno = 6712 + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER syscall.Errno = 6713 + ERROR_CURRENT_TRANSACTION_NOT_VALID syscall.Errno = 6714 + ERROR_TRANSACTION_NOT_FOUND syscall.Errno = 6715 + ERROR_RESOURCEMANAGER_NOT_FOUND syscall.Errno = 6716 + ERROR_ENLISTMENT_NOT_FOUND syscall.Errno = 6717 + ERROR_TRANSACTIONMANAGER_NOT_FOUND syscall.Errno = 6718 + ERROR_TRANSACTIONMANAGER_NOT_ONLINE syscall.Errno = 6719 + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION syscall.Errno = 6720 + ERROR_TRANSACTION_NOT_ROOT syscall.Errno = 6721 + ERROR_TRANSACTION_OBJECT_EXPIRED syscall.Errno = 6722 + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED syscall.Errno = 6723 + ERROR_TRANSACTION_RECORD_TOO_LONG syscall.Errno = 6724 + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED syscall.Errno = 6725 + ERROR_TRANSACTION_INTEGRITY_VIOLATED syscall.Errno = 6726 + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH syscall.Errno = 6727 + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT syscall.Errno = 6728 + ERROR_TRANSACTION_MUST_WRITETHROUGH syscall.Errno = 6729 + ERROR_TRANSACTION_NO_SUPERIOR syscall.Errno = 6730 + ERROR_HEURISTIC_DAMAGE_POSSIBLE syscall.Errno = 6731 + ERROR_TRANSACTIONAL_CONFLICT syscall.Errno = 6800 + ERROR_RM_NOT_ACTIVE syscall.Errno = 6801 + ERROR_RM_METADATA_CORRUPT syscall.Errno = 6802 + ERROR_DIRECTORY_NOT_RM syscall.Errno = 6803 + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE syscall.Errno = 6805 + ERROR_LOG_RESIZE_INVALID_SIZE syscall.Errno = 6806 + ERROR_OBJECT_NO_LONGER_EXISTS syscall.Errno = 6807 + ERROR_STREAM_MINIVERSION_NOT_FOUND syscall.Errno = 6808 + ERROR_STREAM_MINIVERSION_NOT_VALID syscall.Errno = 6809 + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION syscall.Errno = 6810 + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT syscall.Errno = 6811 + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS syscall.Errno = 6812 + ERROR_REMOTE_FILE_VERSION_MISMATCH syscall.Errno = 6814 + ERROR_HANDLE_NO_LONGER_VALID syscall.Errno = 6815 + ERROR_NO_TXF_METADATA syscall.Errno = 6816 + ERROR_LOG_CORRUPTION_DETECTED syscall.Errno = 6817 + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN syscall.Errno = 6818 + ERROR_RM_DISCONNECTED syscall.Errno = 6819 + ERROR_ENLISTMENT_NOT_SUPERIOR syscall.Errno = 6820 + ERROR_RECOVERY_NOT_NEEDED syscall.Errno = 6821 + ERROR_RM_ALREADY_STARTED syscall.Errno = 6822 + ERROR_FILE_IDENTITY_NOT_PERSISTENT syscall.Errno = 6823 + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY syscall.Errno = 6824 + ERROR_CANT_CROSS_RM_BOUNDARY syscall.Errno = 6825 + ERROR_TXF_DIR_NOT_EMPTY syscall.Errno = 6826 + ERROR_INDOUBT_TRANSACTIONS_EXIST syscall.Errno = 6827 + ERROR_TM_VOLATILE syscall.Errno = 6828 + ERROR_ROLLBACK_TIMER_EXPIRED syscall.Errno = 6829 + ERROR_TXF_ATTRIBUTE_CORRUPT syscall.Errno = 6830 + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6831 + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED syscall.Errno = 6832 + ERROR_LOG_GROWTH_FAILED syscall.Errno = 6833 + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE syscall.Errno = 6834 + ERROR_TXF_METADATA_ALREADY_PRESENT syscall.Errno = 6835 + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET syscall.Errno = 6836 + ERROR_TRANSACTION_REQUIRED_PROMOTION syscall.Errno = 6837 + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION syscall.Errno = 6838 + ERROR_TRANSACTIONS_NOT_FROZEN syscall.Errno = 6839 + ERROR_TRANSACTION_FREEZE_IN_PROGRESS syscall.Errno = 6840 + ERROR_NOT_SNAPSHOT_VOLUME syscall.Errno = 6841 + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES syscall.Errno = 6842 + ERROR_DATA_LOST_REPAIR syscall.Errno = 6843 + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6844 + ERROR_TM_IDENTITY_MISMATCH syscall.Errno = 6845 + ERROR_FLOATED_SECTION syscall.Errno = 6846 + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK syscall.Errno = 6847 + ERROR_CANNOT_ABORT_TRANSACTIONS syscall.Errno = 6848 + ERROR_BAD_CLUSTERS syscall.Errno = 6849 + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6850 + ERROR_VOLUME_DIRTY syscall.Errno = 6851 + ERROR_NO_LINK_TRACKING_IN_TRANSACTION syscall.Errno = 6852 + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION syscall.Errno = 6853 + ERROR_EXPIRED_HANDLE syscall.Errno = 6854 + ERROR_TRANSACTION_NOT_ENLISTED syscall.Errno = 6855 + ERROR_CTX_WINSTATION_NAME_INVALID syscall.Errno = 7001 + ERROR_CTX_INVALID_PD syscall.Errno = 7002 + ERROR_CTX_PD_NOT_FOUND syscall.Errno = 7003 + ERROR_CTX_WD_NOT_FOUND syscall.Errno = 7004 + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY syscall.Errno = 7005 + ERROR_CTX_SERVICE_NAME_COLLISION syscall.Errno = 7006 + ERROR_CTX_CLOSE_PENDING syscall.Errno = 7007 + ERROR_CTX_NO_OUTBUF syscall.Errno = 7008 + ERROR_CTX_MODEM_INF_NOT_FOUND syscall.Errno = 7009 + ERROR_CTX_INVALID_MODEMNAME syscall.Errno = 7010 + ERROR_CTX_MODEM_RESPONSE_ERROR syscall.Errno = 7011 + ERROR_CTX_MODEM_RESPONSE_TIMEOUT syscall.Errno = 7012 + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER syscall.Errno = 7013 + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE syscall.Errno = 7014 + ERROR_CTX_MODEM_RESPONSE_BUSY syscall.Errno = 7015 + ERROR_CTX_MODEM_RESPONSE_VOICE syscall.Errno = 7016 + ERROR_CTX_TD_ERROR syscall.Errno = 7017 + ERROR_CTX_WINSTATION_NOT_FOUND syscall.Errno = 7022 + ERROR_CTX_WINSTATION_ALREADY_EXISTS syscall.Errno = 7023 + ERROR_CTX_WINSTATION_BUSY syscall.Errno = 7024 + ERROR_CTX_BAD_VIDEO_MODE syscall.Errno = 7025 + ERROR_CTX_GRAPHICS_INVALID syscall.Errno = 7035 + ERROR_CTX_LOGON_DISABLED syscall.Errno = 7037 + ERROR_CTX_NOT_CONSOLE syscall.Errno = 7038 + ERROR_CTX_CLIENT_QUERY_TIMEOUT syscall.Errno = 7040 + ERROR_CTX_CONSOLE_DISCONNECT syscall.Errno = 7041 + ERROR_CTX_CONSOLE_CONNECT syscall.Errno = 7042 + ERROR_CTX_SHADOW_DENIED syscall.Errno = 7044 + ERROR_CTX_WINSTATION_ACCESS_DENIED syscall.Errno = 7045 + ERROR_CTX_INVALID_WD syscall.Errno = 7049 + ERROR_CTX_SHADOW_INVALID syscall.Errno = 7050 + ERROR_CTX_SHADOW_DISABLED syscall.Errno = 7051 + ERROR_CTX_CLIENT_LICENSE_IN_USE syscall.Errno = 7052 + ERROR_CTX_CLIENT_LICENSE_NOT_SET syscall.Errno = 7053 + ERROR_CTX_LICENSE_NOT_AVAILABLE syscall.Errno = 7054 + ERROR_CTX_LICENSE_CLIENT_INVALID syscall.Errno = 7055 + ERROR_CTX_LICENSE_EXPIRED syscall.Errno = 7056 + ERROR_CTX_SHADOW_NOT_RUNNING syscall.Errno = 7057 + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE syscall.Errno = 7058 + ERROR_ACTIVATION_COUNT_EXCEEDED syscall.Errno = 7059 + ERROR_CTX_WINSTATIONS_DISABLED syscall.Errno = 7060 + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED syscall.Errno = 7061 + ERROR_CTX_SESSION_IN_USE syscall.Errno = 7062 + ERROR_CTX_NO_FORCE_LOGOFF syscall.Errno = 7063 + ERROR_CTX_ACCOUNT_RESTRICTION syscall.Errno = 7064 + ERROR_RDP_PROTOCOL_ERROR syscall.Errno = 7065 + ERROR_CTX_CDM_CONNECT syscall.Errno = 7066 + ERROR_CTX_CDM_DISCONNECT syscall.Errno = 7067 + ERROR_CTX_SECURITY_LAYER_ERROR syscall.Errno = 7068 + ERROR_TS_INCOMPATIBLE_SESSIONS syscall.Errno = 7069 + ERROR_TS_VIDEO_SUBSYSTEM_ERROR syscall.Errno = 7070 + FRS_ERR_INVALID_API_SEQUENCE syscall.Errno = 8001 + FRS_ERR_STARTING_SERVICE syscall.Errno = 8002 + FRS_ERR_STOPPING_SERVICE syscall.Errno = 8003 + FRS_ERR_INTERNAL_API syscall.Errno = 8004 + FRS_ERR_INTERNAL syscall.Errno = 8005 + FRS_ERR_SERVICE_COMM syscall.Errno = 8006 + FRS_ERR_INSUFFICIENT_PRIV syscall.Errno = 8007 + FRS_ERR_AUTHENTICATION syscall.Errno = 8008 + FRS_ERR_PARENT_INSUFFICIENT_PRIV syscall.Errno = 8009 + FRS_ERR_PARENT_AUTHENTICATION syscall.Errno = 8010 + FRS_ERR_CHILD_TO_PARENT_COMM syscall.Errno = 8011 + FRS_ERR_PARENT_TO_CHILD_COMM syscall.Errno = 8012 + FRS_ERR_SYSVOL_POPULATE syscall.Errno = 8013 + FRS_ERR_SYSVOL_POPULATE_TIMEOUT syscall.Errno = 8014 + FRS_ERR_SYSVOL_IS_BUSY syscall.Errno = 8015 + FRS_ERR_SYSVOL_DEMOTE syscall.Errno = 8016 + FRS_ERR_INVALID_SERVICE_PARAMETER syscall.Errno = 8017 + DS_S_SUCCESS = ERROR_SUCCESS + ERROR_DS_NOT_INSTALLED syscall.Errno = 8200 + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY syscall.Errno = 8201 + ERROR_DS_NO_ATTRIBUTE_OR_VALUE syscall.Errno = 8202 + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX syscall.Errno = 8203 + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED syscall.Errno = 8204 + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS syscall.Errno = 8205 + ERROR_DS_BUSY syscall.Errno = 8206 + ERROR_DS_UNAVAILABLE syscall.Errno = 8207 + ERROR_DS_NO_RIDS_ALLOCATED syscall.Errno = 8208 + ERROR_DS_NO_MORE_RIDS syscall.Errno = 8209 + ERROR_DS_INCORRECT_ROLE_OWNER syscall.Errno = 8210 + ERROR_DS_RIDMGR_INIT_ERROR syscall.Errno = 8211 + ERROR_DS_OBJ_CLASS_VIOLATION syscall.Errno = 8212 + ERROR_DS_CANT_ON_NON_LEAF syscall.Errno = 8213 + ERROR_DS_CANT_ON_RDN syscall.Errno = 8214 + ERROR_DS_CANT_MOD_OBJ_CLASS syscall.Errno = 8215 + ERROR_DS_CROSS_DOM_MOVE_ERROR syscall.Errno = 8216 + ERROR_DS_GC_NOT_AVAILABLE syscall.Errno = 8217 + ERROR_SHARED_POLICY syscall.Errno = 8218 + ERROR_POLICY_OBJECT_NOT_FOUND syscall.Errno = 8219 + ERROR_POLICY_ONLY_IN_DS syscall.Errno = 8220 + ERROR_PROMOTION_ACTIVE syscall.Errno = 8221 + ERROR_NO_PROMOTION_ACTIVE syscall.Errno = 8222 + ERROR_DS_OPERATIONS_ERROR syscall.Errno = 8224 + ERROR_DS_PROTOCOL_ERROR syscall.Errno = 8225 + ERROR_DS_TIMELIMIT_EXCEEDED syscall.Errno = 8226 + ERROR_DS_SIZELIMIT_EXCEEDED syscall.Errno = 8227 + ERROR_DS_ADMIN_LIMIT_EXCEEDED syscall.Errno = 8228 + ERROR_DS_COMPARE_FALSE syscall.Errno = 8229 + ERROR_DS_COMPARE_TRUE syscall.Errno = 8230 + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED syscall.Errno = 8231 + ERROR_DS_STRONG_AUTH_REQUIRED syscall.Errno = 8232 + ERROR_DS_INAPPROPRIATE_AUTH syscall.Errno = 8233 + ERROR_DS_AUTH_UNKNOWN syscall.Errno = 8234 + ERROR_DS_REFERRAL syscall.Errno = 8235 + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION syscall.Errno = 8236 + ERROR_DS_CONFIDENTIALITY_REQUIRED syscall.Errno = 8237 + ERROR_DS_INAPPROPRIATE_MATCHING syscall.Errno = 8238 + ERROR_DS_CONSTRAINT_VIOLATION syscall.Errno = 8239 + ERROR_DS_NO_SUCH_OBJECT syscall.Errno = 8240 + ERROR_DS_ALIAS_PROBLEM syscall.Errno = 8241 + ERROR_DS_INVALID_DN_SYNTAX syscall.Errno = 8242 + ERROR_DS_IS_LEAF syscall.Errno = 8243 + ERROR_DS_ALIAS_DEREF_PROBLEM syscall.Errno = 8244 + ERROR_DS_UNWILLING_TO_PERFORM syscall.Errno = 8245 + ERROR_DS_LOOP_DETECT syscall.Errno = 8246 + ERROR_DS_NAMING_VIOLATION syscall.Errno = 8247 + ERROR_DS_OBJECT_RESULTS_TOO_LARGE syscall.Errno = 8248 + ERROR_DS_AFFECTS_MULTIPLE_DSAS syscall.Errno = 8249 + ERROR_DS_SERVER_DOWN syscall.Errno = 8250 + ERROR_DS_LOCAL_ERROR syscall.Errno = 8251 + ERROR_DS_ENCODING_ERROR syscall.Errno = 8252 + ERROR_DS_DECODING_ERROR syscall.Errno = 8253 + ERROR_DS_FILTER_UNKNOWN syscall.Errno = 8254 + ERROR_DS_PARAM_ERROR syscall.Errno = 8255 + ERROR_DS_NOT_SUPPORTED syscall.Errno = 8256 + ERROR_DS_NO_RESULTS_RETURNED syscall.Errno = 8257 + ERROR_DS_CONTROL_NOT_FOUND syscall.Errno = 8258 + ERROR_DS_CLIENT_LOOP syscall.Errno = 8259 + ERROR_DS_REFERRAL_LIMIT_EXCEEDED syscall.Errno = 8260 + ERROR_DS_SORT_CONTROL_MISSING syscall.Errno = 8261 + ERROR_DS_OFFSET_RANGE_ERROR syscall.Errno = 8262 + ERROR_DS_RIDMGR_DISABLED syscall.Errno = 8263 + ERROR_DS_ROOT_MUST_BE_NC syscall.Errno = 8301 + ERROR_DS_ADD_REPLICA_INHIBITED syscall.Errno = 8302 + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA syscall.Errno = 8303 + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED syscall.Errno = 8304 + ERROR_DS_OBJ_STRING_NAME_EXISTS syscall.Errno = 8305 + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA syscall.Errno = 8306 + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA syscall.Errno = 8307 + ERROR_DS_NO_REQUESTED_ATTS_FOUND syscall.Errno = 8308 + ERROR_DS_USER_BUFFER_TO_SMALL syscall.Errno = 8309 + ERROR_DS_ATT_IS_NOT_ON_OBJ syscall.Errno = 8310 + ERROR_DS_ILLEGAL_MOD_OPERATION syscall.Errno = 8311 + ERROR_DS_OBJ_TOO_LARGE syscall.Errno = 8312 + ERROR_DS_BAD_INSTANCE_TYPE syscall.Errno = 8313 + ERROR_DS_MASTERDSA_REQUIRED syscall.Errno = 8314 + ERROR_DS_OBJECT_CLASS_REQUIRED syscall.Errno = 8315 + ERROR_DS_MISSING_REQUIRED_ATT syscall.Errno = 8316 + ERROR_DS_ATT_NOT_DEF_FOR_CLASS syscall.Errno = 8317 + ERROR_DS_ATT_ALREADY_EXISTS syscall.Errno = 8318 + ERROR_DS_CANT_ADD_ATT_VALUES syscall.Errno = 8320 + ERROR_DS_SINGLE_VALUE_CONSTRAINT syscall.Errno = 8321 + ERROR_DS_RANGE_CONSTRAINT syscall.Errno = 8322 + ERROR_DS_ATT_VAL_ALREADY_EXISTS syscall.Errno = 8323 + ERROR_DS_CANT_REM_MISSING_ATT syscall.Errno = 8324 + ERROR_DS_CANT_REM_MISSING_ATT_VAL syscall.Errno = 8325 + ERROR_DS_ROOT_CANT_BE_SUBREF syscall.Errno = 8326 + ERROR_DS_NO_CHAINING syscall.Errno = 8327 + ERROR_DS_NO_CHAINED_EVAL syscall.Errno = 8328 + ERROR_DS_NO_PARENT_OBJECT syscall.Errno = 8329 + ERROR_DS_PARENT_IS_AN_ALIAS syscall.Errno = 8330 + ERROR_DS_CANT_MIX_MASTER_AND_REPS syscall.Errno = 8331 + ERROR_DS_CHILDREN_EXIST syscall.Errno = 8332 + ERROR_DS_OBJ_NOT_FOUND syscall.Errno = 8333 + ERROR_DS_ALIASED_OBJ_MISSING syscall.Errno = 8334 + ERROR_DS_BAD_NAME_SYNTAX syscall.Errno = 8335 + ERROR_DS_ALIAS_POINTS_TO_ALIAS syscall.Errno = 8336 + ERROR_DS_CANT_DEREF_ALIAS syscall.Errno = 8337 + ERROR_DS_OUT_OF_SCOPE syscall.Errno = 8338 + ERROR_DS_OBJECT_BEING_REMOVED syscall.Errno = 8339 + ERROR_DS_CANT_DELETE_DSA_OBJ syscall.Errno = 8340 + ERROR_DS_GENERIC_ERROR syscall.Errno = 8341 + ERROR_DS_DSA_MUST_BE_INT_MASTER syscall.Errno = 8342 + ERROR_DS_CLASS_NOT_DSA syscall.Errno = 8343 + ERROR_DS_INSUFF_ACCESS_RIGHTS syscall.Errno = 8344 + ERROR_DS_ILLEGAL_SUPERIOR syscall.Errno = 8345 + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM syscall.Errno = 8346 + ERROR_DS_NAME_TOO_MANY_PARTS syscall.Errno = 8347 + ERROR_DS_NAME_TOO_LONG syscall.Errno = 8348 + ERROR_DS_NAME_VALUE_TOO_LONG syscall.Errno = 8349 + ERROR_DS_NAME_UNPARSEABLE syscall.Errno = 8350 + ERROR_DS_NAME_TYPE_UNKNOWN syscall.Errno = 8351 + ERROR_DS_NOT_AN_OBJECT syscall.Errno = 8352 + ERROR_DS_SEC_DESC_TOO_SHORT syscall.Errno = 8353 + ERROR_DS_SEC_DESC_INVALID syscall.Errno = 8354 + ERROR_DS_NO_DELETED_NAME syscall.Errno = 8355 + ERROR_DS_SUBREF_MUST_HAVE_PARENT syscall.Errno = 8356 + ERROR_DS_NCNAME_MUST_BE_NC syscall.Errno = 8357 + ERROR_DS_CANT_ADD_SYSTEM_ONLY syscall.Errno = 8358 + ERROR_DS_CLASS_MUST_BE_CONCRETE syscall.Errno = 8359 + ERROR_DS_INVALID_DMD syscall.Errno = 8360 + ERROR_DS_OBJ_GUID_EXISTS syscall.Errno = 8361 + ERROR_DS_NOT_ON_BACKLINK syscall.Errno = 8362 + ERROR_DS_NO_CROSSREF_FOR_NC syscall.Errno = 8363 + ERROR_DS_SHUTTING_DOWN syscall.Errno = 8364 + ERROR_DS_UNKNOWN_OPERATION syscall.Errno = 8365 + ERROR_DS_INVALID_ROLE_OWNER syscall.Errno = 8366 + ERROR_DS_COULDNT_CONTACT_FSMO syscall.Errno = 8367 + ERROR_DS_CROSS_NC_DN_RENAME syscall.Errno = 8368 + ERROR_DS_CANT_MOD_SYSTEM_ONLY syscall.Errno = 8369 + ERROR_DS_REPLICATOR_ONLY syscall.Errno = 8370 + ERROR_DS_OBJ_CLASS_NOT_DEFINED syscall.Errno = 8371 + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS syscall.Errno = 8372 + ERROR_DS_NAME_REFERENCE_INVALID syscall.Errno = 8373 + ERROR_DS_CROSS_REF_EXISTS syscall.Errno = 8374 + ERROR_DS_CANT_DEL_MASTER_CROSSREF syscall.Errno = 8375 + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD syscall.Errno = 8376 + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX syscall.Errno = 8377 + ERROR_DS_DUP_RDN syscall.Errno = 8378 + ERROR_DS_DUP_OID syscall.Errno = 8379 + ERROR_DS_DUP_MAPI_ID syscall.Errno = 8380 + ERROR_DS_DUP_SCHEMA_ID_GUID syscall.Errno = 8381 + ERROR_DS_DUP_LDAP_DISPLAY_NAME syscall.Errno = 8382 + ERROR_DS_SEMANTIC_ATT_TEST syscall.Errno = 8383 + ERROR_DS_SYNTAX_MISMATCH syscall.Errno = 8384 + ERROR_DS_EXISTS_IN_MUST_HAVE syscall.Errno = 8385 + ERROR_DS_EXISTS_IN_MAY_HAVE syscall.Errno = 8386 + ERROR_DS_NONEXISTENT_MAY_HAVE syscall.Errno = 8387 + ERROR_DS_NONEXISTENT_MUST_HAVE syscall.Errno = 8388 + ERROR_DS_AUX_CLS_TEST_FAIL syscall.Errno = 8389 + ERROR_DS_NONEXISTENT_POSS_SUP syscall.Errno = 8390 + ERROR_DS_SUB_CLS_TEST_FAIL syscall.Errno = 8391 + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX syscall.Errno = 8392 + ERROR_DS_EXISTS_IN_AUX_CLS syscall.Errno = 8393 + ERROR_DS_EXISTS_IN_SUB_CLS syscall.Errno = 8394 + ERROR_DS_EXISTS_IN_POSS_SUP syscall.Errno = 8395 + ERROR_DS_RECALCSCHEMA_FAILED syscall.Errno = 8396 + ERROR_DS_TREE_DELETE_NOT_FINISHED syscall.Errno = 8397 + ERROR_DS_CANT_DELETE syscall.Errno = 8398 + ERROR_DS_ATT_SCHEMA_REQ_ID syscall.Errno = 8399 + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX syscall.Errno = 8400 + ERROR_DS_CANT_CACHE_ATT syscall.Errno = 8401 + ERROR_DS_CANT_CACHE_CLASS syscall.Errno = 8402 + ERROR_DS_CANT_REMOVE_ATT_CACHE syscall.Errno = 8403 + ERROR_DS_CANT_REMOVE_CLASS_CACHE syscall.Errno = 8404 + ERROR_DS_CANT_RETRIEVE_DN syscall.Errno = 8405 + ERROR_DS_MISSING_SUPREF syscall.Errno = 8406 + ERROR_DS_CANT_RETRIEVE_INSTANCE syscall.Errno = 8407 + ERROR_DS_CODE_INCONSISTENCY syscall.Errno = 8408 + ERROR_DS_DATABASE_ERROR syscall.Errno = 8409 + ERROR_DS_GOVERNSID_MISSING syscall.Errno = 8410 + ERROR_DS_MISSING_EXPECTED_ATT syscall.Errno = 8411 + ERROR_DS_NCNAME_MISSING_CR_REF syscall.Errno = 8412 + ERROR_DS_SECURITY_CHECKING_ERROR syscall.Errno = 8413 + ERROR_DS_SCHEMA_NOT_LOADED syscall.Errno = 8414 + ERROR_DS_SCHEMA_ALLOC_FAILED syscall.Errno = 8415 + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX syscall.Errno = 8416 + ERROR_DS_GCVERIFY_ERROR syscall.Errno = 8417 + ERROR_DS_DRA_SCHEMA_MISMATCH syscall.Errno = 8418 + ERROR_DS_CANT_FIND_DSA_OBJ syscall.Errno = 8419 + ERROR_DS_CANT_FIND_EXPECTED_NC syscall.Errno = 8420 + ERROR_DS_CANT_FIND_NC_IN_CACHE syscall.Errno = 8421 + ERROR_DS_CANT_RETRIEVE_CHILD syscall.Errno = 8422 + ERROR_DS_SECURITY_ILLEGAL_MODIFY syscall.Errno = 8423 + ERROR_DS_CANT_REPLACE_HIDDEN_REC syscall.Errno = 8424 + ERROR_DS_BAD_HIERARCHY_FILE syscall.Errno = 8425 + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED syscall.Errno = 8426 + ERROR_DS_CONFIG_PARAM_MISSING syscall.Errno = 8427 + ERROR_DS_COUNTING_AB_INDICES_FAILED syscall.Errno = 8428 + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED syscall.Errno = 8429 + ERROR_DS_INTERNAL_FAILURE syscall.Errno = 8430 + ERROR_DS_UNKNOWN_ERROR syscall.Errno = 8431 + ERROR_DS_ROOT_REQUIRES_CLASS_TOP syscall.Errno = 8432 + ERROR_DS_REFUSING_FSMO_ROLES syscall.Errno = 8433 + ERROR_DS_MISSING_FSMO_SETTINGS syscall.Errno = 8434 + ERROR_DS_UNABLE_TO_SURRENDER_ROLES syscall.Errno = 8435 + ERROR_DS_DRA_GENERIC syscall.Errno = 8436 + ERROR_DS_DRA_INVALID_PARAMETER syscall.Errno = 8437 + ERROR_DS_DRA_BUSY syscall.Errno = 8438 + ERROR_DS_DRA_BAD_DN syscall.Errno = 8439 + ERROR_DS_DRA_BAD_NC syscall.Errno = 8440 + ERROR_DS_DRA_DN_EXISTS syscall.Errno = 8441 + ERROR_DS_DRA_INTERNAL_ERROR syscall.Errno = 8442 + ERROR_DS_DRA_INCONSISTENT_DIT syscall.Errno = 8443 + ERROR_DS_DRA_CONNECTION_FAILED syscall.Errno = 8444 + ERROR_DS_DRA_BAD_INSTANCE_TYPE syscall.Errno = 8445 + ERROR_DS_DRA_OUT_OF_MEM syscall.Errno = 8446 + ERROR_DS_DRA_MAIL_PROBLEM syscall.Errno = 8447 + ERROR_DS_DRA_REF_ALREADY_EXISTS syscall.Errno = 8448 + ERROR_DS_DRA_REF_NOT_FOUND syscall.Errno = 8449 + ERROR_DS_DRA_OBJ_IS_REP_SOURCE syscall.Errno = 8450 + ERROR_DS_DRA_DB_ERROR syscall.Errno = 8451 + ERROR_DS_DRA_NO_REPLICA syscall.Errno = 8452 + ERROR_DS_DRA_ACCESS_DENIED syscall.Errno = 8453 + ERROR_DS_DRA_NOT_SUPPORTED syscall.Errno = 8454 + ERROR_DS_DRA_RPC_CANCELLED syscall.Errno = 8455 + ERROR_DS_DRA_SOURCE_DISABLED syscall.Errno = 8456 + ERROR_DS_DRA_SINK_DISABLED syscall.Errno = 8457 + ERROR_DS_DRA_NAME_COLLISION syscall.Errno = 8458 + ERROR_DS_DRA_SOURCE_REINSTALLED syscall.Errno = 8459 + ERROR_DS_DRA_MISSING_PARENT syscall.Errno = 8460 + ERROR_DS_DRA_PREEMPTED syscall.Errno = 8461 + ERROR_DS_DRA_ABANDON_SYNC syscall.Errno = 8462 + ERROR_DS_DRA_SHUTDOWN syscall.Errno = 8463 + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET syscall.Errno = 8464 + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA syscall.Errno = 8465 + ERROR_DS_DRA_EXTN_CONNECTION_FAILED syscall.Errno = 8466 + ERROR_DS_INSTALL_SCHEMA_MISMATCH syscall.Errno = 8467 + ERROR_DS_DUP_LINK_ID syscall.Errno = 8468 + ERROR_DS_NAME_ERROR_RESOLVING syscall.Errno = 8469 + ERROR_DS_NAME_ERROR_NOT_FOUND syscall.Errno = 8470 + ERROR_DS_NAME_ERROR_NOT_UNIQUE syscall.Errno = 8471 + ERROR_DS_NAME_ERROR_NO_MAPPING syscall.Errno = 8472 + ERROR_DS_NAME_ERROR_DOMAIN_ONLY syscall.Errno = 8473 + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING syscall.Errno = 8474 + ERROR_DS_CONSTRUCTED_ATT_MOD syscall.Errno = 8475 + ERROR_DS_WRONG_OM_OBJ_CLASS syscall.Errno = 8476 + ERROR_DS_DRA_REPL_PENDING syscall.Errno = 8477 + ERROR_DS_DS_REQUIRED syscall.Errno = 8478 + ERROR_DS_INVALID_LDAP_DISPLAY_NAME syscall.Errno = 8479 + ERROR_DS_NON_BASE_SEARCH syscall.Errno = 8480 + ERROR_DS_CANT_RETRIEVE_ATTS syscall.Errno = 8481 + ERROR_DS_BACKLINK_WITHOUT_LINK syscall.Errno = 8482 + ERROR_DS_EPOCH_MISMATCH syscall.Errno = 8483 + ERROR_DS_SRC_NAME_MISMATCH syscall.Errno = 8484 + ERROR_DS_SRC_AND_DST_NC_IDENTICAL syscall.Errno = 8485 + ERROR_DS_DST_NC_MISMATCH syscall.Errno = 8486 + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC syscall.Errno = 8487 + ERROR_DS_SRC_GUID_MISMATCH syscall.Errno = 8488 + ERROR_DS_CANT_MOVE_DELETED_OBJECT syscall.Errno = 8489 + ERROR_DS_PDC_OPERATION_IN_PROGRESS syscall.Errno = 8490 + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD syscall.Errno = 8491 + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION syscall.Errno = 8492 + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS syscall.Errno = 8493 + ERROR_DS_NC_MUST_HAVE_NC_PARENT syscall.Errno = 8494 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE syscall.Errno = 8495 + ERROR_DS_DST_DOMAIN_NOT_NATIVE syscall.Errno = 8496 + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER syscall.Errno = 8497 + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP syscall.Errno = 8498 + ERROR_DS_CANT_MOVE_RESOURCE_GROUP syscall.Errno = 8499 + ERROR_DS_INVALID_SEARCH_FLAG syscall.Errno = 8500 + ERROR_DS_NO_TREE_DELETE_ABOVE_NC syscall.Errno = 8501 + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE syscall.Errno = 8502 + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE syscall.Errno = 8503 + ERROR_DS_SAM_INIT_FAILURE syscall.Errno = 8504 + ERROR_DS_SENSITIVE_GROUP_VIOLATION syscall.Errno = 8505 + ERROR_DS_CANT_MOD_PRIMARYGROUPID syscall.Errno = 8506 + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD syscall.Errno = 8507 + ERROR_DS_NONSAFE_SCHEMA_CHANGE syscall.Errno = 8508 + ERROR_DS_SCHEMA_UPDATE_DISALLOWED syscall.Errno = 8509 + ERROR_DS_CANT_CREATE_UNDER_SCHEMA syscall.Errno = 8510 + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION syscall.Errno = 8511 + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE syscall.Errno = 8512 + ERROR_DS_INVALID_GROUP_TYPE syscall.Errno = 8513 + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN syscall.Errno = 8514 + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN syscall.Errno = 8515 + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER syscall.Errno = 8516 + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER syscall.Errno = 8517 + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER syscall.Errno = 8518 + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER syscall.Errno = 8519 + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER syscall.Errno = 8520 + ERROR_DS_HAVE_PRIMARY_MEMBERS syscall.Errno = 8521 + ERROR_DS_STRING_SD_CONVERSION_FAILED syscall.Errno = 8522 + ERROR_DS_NAMING_MASTER_GC syscall.Errno = 8523 + ERROR_DS_DNS_LOOKUP_FAILURE syscall.Errno = 8524 + ERROR_DS_COULDNT_UPDATE_SPNS syscall.Errno = 8525 + ERROR_DS_CANT_RETRIEVE_SD syscall.Errno = 8526 + ERROR_DS_KEY_NOT_UNIQUE syscall.Errno = 8527 + ERROR_DS_WRONG_LINKED_ATT_SYNTAX syscall.Errno = 8528 + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD syscall.Errno = 8529 + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY syscall.Errno = 8530 + ERROR_DS_CANT_START syscall.Errno = 8531 + ERROR_DS_INIT_FAILURE syscall.Errno = 8532 + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION syscall.Errno = 8533 + ERROR_DS_SOURCE_DOMAIN_IN_FOREST syscall.Errno = 8534 + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST syscall.Errno = 8535 + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED syscall.Errno = 8536 + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN syscall.Errno = 8537 + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER syscall.Errno = 8538 + ERROR_DS_SRC_SID_EXISTS_IN_FOREST syscall.Errno = 8539 + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH syscall.Errno = 8540 + ERROR_SAM_INIT_FAILURE syscall.Errno = 8541 + ERROR_DS_DRA_SCHEMA_INFO_SHIP syscall.Errno = 8542 + ERROR_DS_DRA_SCHEMA_CONFLICT syscall.Errno = 8543 + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT syscall.Errno = 8544 + ERROR_DS_DRA_OBJ_NC_MISMATCH syscall.Errno = 8545 + ERROR_DS_NC_STILL_HAS_DSAS syscall.Errno = 8546 + ERROR_DS_GC_REQUIRED syscall.Errno = 8547 + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY syscall.Errno = 8548 + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS syscall.Errno = 8549 + ERROR_DS_CANT_ADD_TO_GC syscall.Errno = 8550 + ERROR_DS_NO_CHECKPOINT_WITH_PDC syscall.Errno = 8551 + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED syscall.Errno = 8552 + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC syscall.Errno = 8553 + ERROR_DS_INVALID_NAME_FOR_SPN syscall.Errno = 8554 + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS syscall.Errno = 8555 + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES syscall.Errno = 8556 + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED syscall.Errno = 8557 + ERROR_DS_MUST_BE_RUN_ON_DST_DC syscall.Errno = 8558 + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER syscall.Errno = 8559 + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ syscall.Errno = 8560 + ERROR_DS_INIT_FAILURE_CONSOLE syscall.Errno = 8561 + ERROR_DS_SAM_INIT_FAILURE_CONSOLE syscall.Errno = 8562 + ERROR_DS_FOREST_VERSION_TOO_HIGH syscall.Errno = 8563 + ERROR_DS_DOMAIN_VERSION_TOO_HIGH syscall.Errno = 8564 + ERROR_DS_FOREST_VERSION_TOO_LOW syscall.Errno = 8565 + ERROR_DS_DOMAIN_VERSION_TOO_LOW syscall.Errno = 8566 + ERROR_DS_INCOMPATIBLE_VERSION syscall.Errno = 8567 + ERROR_DS_LOW_DSA_VERSION syscall.Errno = 8568 + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN syscall.Errno = 8569 + ERROR_DS_NOT_SUPPORTED_SORT_ORDER syscall.Errno = 8570 + ERROR_DS_NAME_NOT_UNIQUE syscall.Errno = 8571 + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 syscall.Errno = 8572 + ERROR_DS_OUT_OF_VERSION_STORE syscall.Errno = 8573 + ERROR_DS_INCOMPATIBLE_CONTROLS_USED syscall.Errno = 8574 + ERROR_DS_NO_REF_DOMAIN syscall.Errno = 8575 + ERROR_DS_RESERVED_LINK_ID syscall.Errno = 8576 + ERROR_DS_LINK_ID_NOT_AVAILABLE syscall.Errno = 8577 + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER syscall.Errno = 8578 + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE syscall.Errno = 8579 + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC syscall.Errno = 8580 + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG syscall.Errno = 8581 + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT syscall.Errno = 8582 + ERROR_DS_NAME_ERROR_TRUST_REFERRAL syscall.Errno = 8583 + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER syscall.Errno = 8584 + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD syscall.Errno = 8585 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 syscall.Errno = 8586 + ERROR_DS_THREAD_LIMIT_EXCEEDED syscall.Errno = 8587 + ERROR_DS_NOT_CLOSEST syscall.Errno = 8588 + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF syscall.Errno = 8589 + ERROR_DS_SINGLE_USER_MODE_FAILED syscall.Errno = 8590 + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR syscall.Errno = 8591 + ERROR_DS_NTDSCRIPT_PROCESS_ERROR syscall.Errno = 8592 + ERROR_DS_DIFFERENT_REPL_EPOCHS syscall.Errno = 8593 + ERROR_DS_DRS_EXTENSIONS_CHANGED syscall.Errno = 8594 + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR syscall.Errno = 8595 + ERROR_DS_NO_MSDS_INTID syscall.Errno = 8596 + ERROR_DS_DUP_MSDS_INTID syscall.Errno = 8597 + ERROR_DS_EXISTS_IN_RDNATTID syscall.Errno = 8598 + ERROR_DS_AUTHORIZATION_FAILED syscall.Errno = 8599 + ERROR_DS_INVALID_SCRIPT syscall.Errno = 8600 + ERROR_DS_REMOTE_CROSSREF_OP_FAILED syscall.Errno = 8601 + ERROR_DS_CROSS_REF_BUSY syscall.Errno = 8602 + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN syscall.Errno = 8603 + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC syscall.Errno = 8604 + ERROR_DS_DUPLICATE_ID_FOUND syscall.Errno = 8605 + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT syscall.Errno = 8606 + ERROR_DS_GROUP_CONVERSION_ERROR syscall.Errno = 8607 + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP syscall.Errno = 8608 + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP syscall.Errno = 8609 + ERROR_DS_ROLE_NOT_VERIFIED syscall.Errno = 8610 + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL syscall.Errno = 8611 + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS syscall.Errno = 8612 + ERROR_DS_EXISTING_AD_CHILD_NC syscall.Errno = 8613 + ERROR_DS_REPL_LIFETIME_EXCEEDED syscall.Errno = 8614 + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER syscall.Errno = 8615 + ERROR_DS_LDAP_SEND_QUEUE_FULL syscall.Errno = 8616 + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW syscall.Errno = 8617 + ERROR_DS_POLICY_NOT_KNOWN syscall.Errno = 8618 + ERROR_NO_SITE_SETTINGS_OBJECT syscall.Errno = 8619 + ERROR_NO_SECRETS syscall.Errno = 8620 + ERROR_NO_WRITABLE_DC_FOUND syscall.Errno = 8621 + ERROR_DS_NO_SERVER_OBJECT syscall.Errno = 8622 + ERROR_DS_NO_NTDSA_OBJECT syscall.Errno = 8623 + ERROR_DS_NON_ASQ_SEARCH syscall.Errno = 8624 + ERROR_DS_AUDIT_FAILURE syscall.Errno = 8625 + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE syscall.Errno = 8626 + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE syscall.Errno = 8627 + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP syscall.Errno = 8628 + ERROR_DS_DRA_CORRUPT_UTD_VECTOR syscall.Errno = 8629 + ERROR_DS_DRA_SECRETS_DENIED syscall.Errno = 8630 + ERROR_DS_RESERVED_MAPI_ID syscall.Errno = 8631 + ERROR_DS_MAPI_ID_NOT_AVAILABLE syscall.Errno = 8632 + ERROR_DS_DRA_MISSING_KRBTGT_SECRET syscall.Errno = 8633 + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST syscall.Errno = 8634 + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST syscall.Errno = 8635 + ERROR_INVALID_USER_PRINCIPAL_NAME syscall.Errno = 8636 + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS syscall.Errno = 8637 + ERROR_DS_OID_NOT_FOUND syscall.Errno = 8638 + ERROR_DS_DRA_RECYCLED_TARGET syscall.Errno = 8639 + ERROR_DS_DISALLOWED_NC_REDIRECT syscall.Errno = 8640 + ERROR_DS_HIGH_ADLDS_FFL syscall.Errno = 8641 + ERROR_DS_HIGH_DSA_VERSION syscall.Errno = 8642 + ERROR_DS_LOW_ADLDS_FFL syscall.Errno = 8643 + ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION syscall.Errno = 8644 + ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED syscall.Errno = 8645 + ERROR_INCORRECT_ACCOUNT_TYPE syscall.Errno = 8646 + ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST syscall.Errno = 8647 + ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST syscall.Errno = 8648 + ERROR_DS_MISSING_FOREST_TRUST syscall.Errno = 8649 + ERROR_DS_VALUE_KEY_NOT_UNIQUE syscall.Errno = 8650 + DNS_ERROR_RESPONSE_CODES_BASE syscall.Errno = 9000 + DNS_ERROR_RCODE_NO_ERROR = ERROR_SUCCESS + DNS_ERROR_MASK syscall.Errno = 0x00002328 + DNS_ERROR_RCODE_FORMAT_ERROR syscall.Errno = 9001 + DNS_ERROR_RCODE_SERVER_FAILURE syscall.Errno = 9002 + DNS_ERROR_RCODE_NAME_ERROR syscall.Errno = 9003 + DNS_ERROR_RCODE_NOT_IMPLEMENTED syscall.Errno = 9004 + DNS_ERROR_RCODE_REFUSED syscall.Errno = 9005 + DNS_ERROR_RCODE_YXDOMAIN syscall.Errno = 9006 + DNS_ERROR_RCODE_YXRRSET syscall.Errno = 9007 + DNS_ERROR_RCODE_NXRRSET syscall.Errno = 9008 + DNS_ERROR_RCODE_NOTAUTH syscall.Errno = 9009 + DNS_ERROR_RCODE_NOTZONE syscall.Errno = 9010 + DNS_ERROR_RCODE_BADSIG syscall.Errno = 9016 + DNS_ERROR_RCODE_BADKEY syscall.Errno = 9017 + DNS_ERROR_RCODE_BADTIME syscall.Errno = 9018 + DNS_ERROR_RCODE_LAST = DNS_ERROR_RCODE_BADTIME + DNS_ERROR_DNSSEC_BASE syscall.Errno = 9100 + DNS_ERROR_KEYMASTER_REQUIRED syscall.Errno = 9101 + DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE syscall.Errno = 9102 + DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1 syscall.Errno = 9103 + DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS syscall.Errno = 9104 + DNS_ERROR_UNSUPPORTED_ALGORITHM syscall.Errno = 9105 + DNS_ERROR_INVALID_KEY_SIZE syscall.Errno = 9106 + DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE syscall.Errno = 9107 + DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION syscall.Errno = 9108 + DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR syscall.Errno = 9109 + DNS_ERROR_UNEXPECTED_CNG_ERROR syscall.Errno = 9110 + DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION syscall.Errno = 9111 + DNS_ERROR_KSP_NOT_ACCESSIBLE syscall.Errno = 9112 + DNS_ERROR_TOO_MANY_SKDS syscall.Errno = 9113 + DNS_ERROR_INVALID_ROLLOVER_PERIOD syscall.Errno = 9114 + DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET syscall.Errno = 9115 + DNS_ERROR_ROLLOVER_IN_PROGRESS syscall.Errno = 9116 + DNS_ERROR_STANDBY_KEY_NOT_PRESENT syscall.Errno = 9117 + DNS_ERROR_NOT_ALLOWED_ON_ZSK syscall.Errno = 9118 + DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD syscall.Errno = 9119 + DNS_ERROR_ROLLOVER_ALREADY_QUEUED syscall.Errno = 9120 + DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE syscall.Errno = 9121 + DNS_ERROR_BAD_KEYMASTER syscall.Errno = 9122 + DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD syscall.Errno = 9123 + DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT syscall.Errno = 9124 + DNS_ERROR_DNSSEC_IS_DISABLED syscall.Errno = 9125 + DNS_ERROR_INVALID_XML syscall.Errno = 9126 + DNS_ERROR_NO_VALID_TRUST_ANCHORS syscall.Errno = 9127 + DNS_ERROR_ROLLOVER_NOT_POKEABLE syscall.Errno = 9128 + DNS_ERROR_NSEC3_NAME_COLLISION syscall.Errno = 9129 + DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1 syscall.Errno = 9130 + DNS_ERROR_PACKET_FMT_BASE syscall.Errno = 9500 + DNS_INFO_NO_RECORDS syscall.Errno = 9501 + DNS_ERROR_BAD_PACKET syscall.Errno = 9502 + DNS_ERROR_NO_PACKET syscall.Errno = 9503 + DNS_ERROR_RCODE syscall.Errno = 9504 + DNS_ERROR_UNSECURE_PACKET syscall.Errno = 9505 + DNS_STATUS_PACKET_UNSECURE = DNS_ERROR_UNSECURE_PACKET + DNS_REQUEST_PENDING syscall.Errno = 9506 + DNS_ERROR_NO_MEMORY = ERROR_OUTOFMEMORY + DNS_ERROR_INVALID_NAME = ERROR_INVALID_NAME + DNS_ERROR_INVALID_DATA = ERROR_INVALID_DATA + DNS_ERROR_GENERAL_API_BASE syscall.Errno = 9550 + DNS_ERROR_INVALID_TYPE syscall.Errno = 9551 + DNS_ERROR_INVALID_IP_ADDRESS syscall.Errno = 9552 + DNS_ERROR_INVALID_PROPERTY syscall.Errno = 9553 + DNS_ERROR_TRY_AGAIN_LATER syscall.Errno = 9554 + DNS_ERROR_NOT_UNIQUE syscall.Errno = 9555 + DNS_ERROR_NON_RFC_NAME syscall.Errno = 9556 + DNS_STATUS_FQDN syscall.Errno = 9557 + DNS_STATUS_DOTTED_NAME syscall.Errno = 9558 + DNS_STATUS_SINGLE_PART_NAME syscall.Errno = 9559 + DNS_ERROR_INVALID_NAME_CHAR syscall.Errno = 9560 + DNS_ERROR_NUMERIC_NAME syscall.Errno = 9561 + DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER syscall.Errno = 9562 + DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION syscall.Errno = 9563 + DNS_ERROR_CANNOT_FIND_ROOT_HINTS syscall.Errno = 9564 + DNS_ERROR_INCONSISTENT_ROOT_HINTS syscall.Errno = 9565 + DNS_ERROR_DWORD_VALUE_TOO_SMALL syscall.Errno = 9566 + DNS_ERROR_DWORD_VALUE_TOO_LARGE syscall.Errno = 9567 + DNS_ERROR_BACKGROUND_LOADING syscall.Errno = 9568 + DNS_ERROR_NOT_ALLOWED_ON_RODC syscall.Errno = 9569 + DNS_ERROR_NOT_ALLOWED_UNDER_DNAME syscall.Errno = 9570 + DNS_ERROR_DELEGATION_REQUIRED syscall.Errno = 9571 + DNS_ERROR_INVALID_POLICY_TABLE syscall.Errno = 9572 + DNS_ERROR_ADDRESS_REQUIRED syscall.Errno = 9573 + DNS_ERROR_ZONE_BASE syscall.Errno = 9600 + DNS_ERROR_ZONE_DOES_NOT_EXIST syscall.Errno = 9601 + DNS_ERROR_NO_ZONE_INFO syscall.Errno = 9602 + DNS_ERROR_INVALID_ZONE_OPERATION syscall.Errno = 9603 + DNS_ERROR_ZONE_CONFIGURATION_ERROR syscall.Errno = 9604 + DNS_ERROR_ZONE_HAS_NO_SOA_RECORD syscall.Errno = 9605 + DNS_ERROR_ZONE_HAS_NO_NS_RECORDS syscall.Errno = 9606 + DNS_ERROR_ZONE_LOCKED syscall.Errno = 9607 + DNS_ERROR_ZONE_CREATION_FAILED syscall.Errno = 9608 + DNS_ERROR_ZONE_ALREADY_EXISTS syscall.Errno = 9609 + DNS_ERROR_AUTOZONE_ALREADY_EXISTS syscall.Errno = 9610 + DNS_ERROR_INVALID_ZONE_TYPE syscall.Errno = 9611 + DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP syscall.Errno = 9612 + DNS_ERROR_ZONE_NOT_SECONDARY syscall.Errno = 9613 + DNS_ERROR_NEED_SECONDARY_ADDRESSES syscall.Errno = 9614 + DNS_ERROR_WINS_INIT_FAILED syscall.Errno = 9615 + DNS_ERROR_NEED_WINS_SERVERS syscall.Errno = 9616 + DNS_ERROR_NBSTAT_INIT_FAILED syscall.Errno = 9617 + DNS_ERROR_SOA_DELETE_INVALID syscall.Errno = 9618 + DNS_ERROR_FORWARDER_ALREADY_EXISTS syscall.Errno = 9619 + DNS_ERROR_ZONE_REQUIRES_MASTER_IP syscall.Errno = 9620 + DNS_ERROR_ZONE_IS_SHUTDOWN syscall.Errno = 9621 + DNS_ERROR_ZONE_LOCKED_FOR_SIGNING syscall.Errno = 9622 + DNS_ERROR_DATAFILE_BASE syscall.Errno = 9650 + DNS_ERROR_PRIMARY_REQUIRES_DATAFILE syscall.Errno = 9651 + DNS_ERROR_INVALID_DATAFILE_NAME syscall.Errno = 9652 + DNS_ERROR_DATAFILE_OPEN_FAILURE syscall.Errno = 9653 + DNS_ERROR_FILE_WRITEBACK_FAILED syscall.Errno = 9654 + DNS_ERROR_DATAFILE_PARSING syscall.Errno = 9655 + DNS_ERROR_DATABASE_BASE syscall.Errno = 9700 + DNS_ERROR_RECORD_DOES_NOT_EXIST syscall.Errno = 9701 + DNS_ERROR_RECORD_FORMAT syscall.Errno = 9702 + DNS_ERROR_NODE_CREATION_FAILED syscall.Errno = 9703 + DNS_ERROR_UNKNOWN_RECORD_TYPE syscall.Errno = 9704 + DNS_ERROR_RECORD_TIMED_OUT syscall.Errno = 9705 + DNS_ERROR_NAME_NOT_IN_ZONE syscall.Errno = 9706 + DNS_ERROR_CNAME_LOOP syscall.Errno = 9707 + DNS_ERROR_NODE_IS_CNAME syscall.Errno = 9708 + DNS_ERROR_CNAME_COLLISION syscall.Errno = 9709 + DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT syscall.Errno = 9710 + DNS_ERROR_RECORD_ALREADY_EXISTS syscall.Errno = 9711 + DNS_ERROR_SECONDARY_DATA syscall.Errno = 9712 + DNS_ERROR_NO_CREATE_CACHE_DATA syscall.Errno = 9713 + DNS_ERROR_NAME_DOES_NOT_EXIST syscall.Errno = 9714 + DNS_WARNING_PTR_CREATE_FAILED syscall.Errno = 9715 + DNS_WARNING_DOMAIN_UNDELETED syscall.Errno = 9716 + DNS_ERROR_DS_UNAVAILABLE syscall.Errno = 9717 + DNS_ERROR_DS_ZONE_ALREADY_EXISTS syscall.Errno = 9718 + DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE syscall.Errno = 9719 + DNS_ERROR_NODE_IS_DNAME syscall.Errno = 9720 + DNS_ERROR_DNAME_COLLISION syscall.Errno = 9721 + DNS_ERROR_ALIAS_LOOP syscall.Errno = 9722 + DNS_ERROR_OPERATION_BASE syscall.Errno = 9750 + DNS_INFO_AXFR_COMPLETE syscall.Errno = 9751 + DNS_ERROR_AXFR syscall.Errno = 9752 + DNS_INFO_ADDED_LOCAL_WINS syscall.Errno = 9753 + DNS_ERROR_SECURE_BASE syscall.Errno = 9800 + DNS_STATUS_CONTINUE_NEEDED syscall.Errno = 9801 + DNS_ERROR_SETUP_BASE syscall.Errno = 9850 + DNS_ERROR_NO_TCPIP syscall.Errno = 9851 + DNS_ERROR_NO_DNS_SERVERS syscall.Errno = 9852 + DNS_ERROR_DP_BASE syscall.Errno = 9900 + DNS_ERROR_DP_DOES_NOT_EXIST syscall.Errno = 9901 + DNS_ERROR_DP_ALREADY_EXISTS syscall.Errno = 9902 + DNS_ERROR_DP_NOT_ENLISTED syscall.Errno = 9903 + DNS_ERROR_DP_ALREADY_ENLISTED syscall.Errno = 9904 + DNS_ERROR_DP_NOT_AVAILABLE syscall.Errno = 9905 + DNS_ERROR_DP_FSMO_ERROR syscall.Errno = 9906 + DNS_ERROR_RRL_NOT_ENABLED syscall.Errno = 9911 + DNS_ERROR_RRL_INVALID_WINDOW_SIZE syscall.Errno = 9912 + DNS_ERROR_RRL_INVALID_IPV4_PREFIX syscall.Errno = 9913 + DNS_ERROR_RRL_INVALID_IPV6_PREFIX syscall.Errno = 9914 + DNS_ERROR_RRL_INVALID_TC_RATE syscall.Errno = 9915 + DNS_ERROR_RRL_INVALID_LEAK_RATE syscall.Errno = 9916 + DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE syscall.Errno = 9917 + DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS syscall.Errno = 9921 + DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST syscall.Errno = 9922 + DNS_ERROR_VIRTUALIZATION_TREE_LOCKED syscall.Errno = 9923 + DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME syscall.Errno = 9924 + DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE syscall.Errno = 9925 + DNS_ERROR_ZONESCOPE_ALREADY_EXISTS syscall.Errno = 9951 + DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST syscall.Errno = 9952 + DNS_ERROR_DEFAULT_ZONESCOPE syscall.Errno = 9953 + DNS_ERROR_INVALID_ZONESCOPE_NAME syscall.Errno = 9954 + DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES syscall.Errno = 9955 + DNS_ERROR_LOAD_ZONESCOPE_FAILED syscall.Errno = 9956 + DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED syscall.Errno = 9957 + DNS_ERROR_INVALID_SCOPE_NAME syscall.Errno = 9958 + DNS_ERROR_SCOPE_DOES_NOT_EXIST syscall.Errno = 9959 + DNS_ERROR_DEFAULT_SCOPE syscall.Errno = 9960 + DNS_ERROR_INVALID_SCOPE_OPERATION syscall.Errno = 9961 + DNS_ERROR_SCOPE_LOCKED syscall.Errno = 9962 + DNS_ERROR_SCOPE_ALREADY_EXISTS syscall.Errno = 9963 + DNS_ERROR_POLICY_ALREADY_EXISTS syscall.Errno = 9971 + DNS_ERROR_POLICY_DOES_NOT_EXIST syscall.Errno = 9972 + DNS_ERROR_POLICY_INVALID_CRITERIA syscall.Errno = 9973 + DNS_ERROR_POLICY_INVALID_SETTINGS syscall.Errno = 9974 + DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED syscall.Errno = 9975 + DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST syscall.Errno = 9976 + DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS syscall.Errno = 9977 + DNS_ERROR_SUBNET_DOES_NOT_EXIST syscall.Errno = 9978 + DNS_ERROR_SUBNET_ALREADY_EXISTS syscall.Errno = 9979 + DNS_ERROR_POLICY_LOCKED syscall.Errno = 9980 + DNS_ERROR_POLICY_INVALID_WEIGHT syscall.Errno = 9981 + DNS_ERROR_POLICY_INVALID_NAME syscall.Errno = 9982 + DNS_ERROR_POLICY_MISSING_CRITERIA syscall.Errno = 9983 + DNS_ERROR_INVALID_CLIENT_SUBNET_NAME syscall.Errno = 9984 + DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID syscall.Errno = 9985 + DNS_ERROR_POLICY_SCOPE_MISSING syscall.Errno = 9986 + DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED syscall.Errno = 9987 + DNS_ERROR_SERVERSCOPE_IS_REFERENCED syscall.Errno = 9988 + DNS_ERROR_ZONESCOPE_IS_REFERENCED syscall.Errno = 9989 + DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET syscall.Errno = 9990 + DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL syscall.Errno = 9991 + DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL syscall.Errno = 9992 + DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE syscall.Errno = 9993 + DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN syscall.Errno = 9994 + DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE syscall.Errno = 9995 + DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY syscall.Errno = 9996 + WSABASEERR syscall.Errno = 10000 + WSAEINTR syscall.Errno = 10004 + WSAEBADF syscall.Errno = 10009 + WSAEACCES syscall.Errno = 10013 + WSAEFAULT syscall.Errno = 10014 + WSAEINVAL syscall.Errno = 10022 + WSAEMFILE syscall.Errno = 10024 + WSAEWOULDBLOCK syscall.Errno = 10035 + WSAEINPROGRESS syscall.Errno = 10036 + WSAEALREADY syscall.Errno = 10037 + WSAENOTSOCK syscall.Errno = 10038 + WSAEDESTADDRREQ syscall.Errno = 10039 + WSAEMSGSIZE syscall.Errno = 10040 + WSAEPROTOTYPE syscall.Errno = 10041 + WSAENOPROTOOPT syscall.Errno = 10042 + WSAEPROTONOSUPPORT syscall.Errno = 10043 + WSAESOCKTNOSUPPORT syscall.Errno = 10044 + WSAEOPNOTSUPP syscall.Errno = 10045 + WSAEPFNOSUPPORT syscall.Errno = 10046 + WSAEAFNOSUPPORT syscall.Errno = 10047 + WSAEADDRINUSE syscall.Errno = 10048 + WSAEADDRNOTAVAIL syscall.Errno = 10049 + WSAENETDOWN syscall.Errno = 10050 + WSAENETUNREACH syscall.Errno = 10051 + WSAENETRESET syscall.Errno = 10052 + WSAECONNABORTED syscall.Errno = 10053 + WSAECONNRESET syscall.Errno = 10054 + WSAENOBUFS syscall.Errno = 10055 + WSAEISCONN syscall.Errno = 10056 + WSAENOTCONN syscall.Errno = 10057 + WSAESHUTDOWN syscall.Errno = 10058 + WSAETOOMANYREFS syscall.Errno = 10059 + WSAETIMEDOUT syscall.Errno = 10060 + WSAECONNREFUSED syscall.Errno = 10061 + WSAELOOP syscall.Errno = 10062 + WSAENAMETOOLONG syscall.Errno = 10063 + WSAEHOSTDOWN syscall.Errno = 10064 + WSAEHOSTUNREACH syscall.Errno = 10065 + WSAENOTEMPTY syscall.Errno = 10066 + WSAEPROCLIM syscall.Errno = 10067 + WSAEUSERS syscall.Errno = 10068 + WSAEDQUOT syscall.Errno = 10069 + WSAESTALE syscall.Errno = 10070 + WSAEREMOTE syscall.Errno = 10071 + WSASYSNOTREADY syscall.Errno = 10091 + WSAVERNOTSUPPORTED syscall.Errno = 10092 + WSANOTINITIALISED syscall.Errno = 10093 + WSAEDISCON syscall.Errno = 10101 + WSAENOMORE syscall.Errno = 10102 + WSAECANCELLED syscall.Errno = 10103 + WSAEINVALIDPROCTABLE syscall.Errno = 10104 + WSAEINVALIDPROVIDER syscall.Errno = 10105 + WSAEPROVIDERFAILEDINIT syscall.Errno = 10106 + WSASYSCALLFAILURE syscall.Errno = 10107 + WSASERVICE_NOT_FOUND syscall.Errno = 10108 + WSATYPE_NOT_FOUND syscall.Errno = 10109 + WSA_E_NO_MORE syscall.Errno = 10110 + WSA_E_CANCELLED syscall.Errno = 10111 + WSAEREFUSED syscall.Errno = 10112 + WSAHOST_NOT_FOUND syscall.Errno = 11001 + WSATRY_AGAIN syscall.Errno = 11002 + WSANO_RECOVERY syscall.Errno = 11003 + WSANO_DATA syscall.Errno = 11004 + WSA_QOS_RECEIVERS syscall.Errno = 11005 + WSA_QOS_SENDERS syscall.Errno = 11006 + WSA_QOS_NO_SENDERS syscall.Errno = 11007 + WSA_QOS_NO_RECEIVERS syscall.Errno = 11008 + WSA_QOS_REQUEST_CONFIRMED syscall.Errno = 11009 + WSA_QOS_ADMISSION_FAILURE syscall.Errno = 11010 + WSA_QOS_POLICY_FAILURE syscall.Errno = 11011 + WSA_QOS_BAD_STYLE syscall.Errno = 11012 + WSA_QOS_BAD_OBJECT syscall.Errno = 11013 + WSA_QOS_TRAFFIC_CTRL_ERROR syscall.Errno = 11014 + WSA_QOS_GENERIC_ERROR syscall.Errno = 11015 + WSA_QOS_ESERVICETYPE syscall.Errno = 11016 + WSA_QOS_EFLOWSPEC syscall.Errno = 11017 + WSA_QOS_EPROVSPECBUF syscall.Errno = 11018 + WSA_QOS_EFILTERSTYLE syscall.Errno = 11019 + WSA_QOS_EFILTERTYPE syscall.Errno = 11020 + WSA_QOS_EFILTERCOUNT syscall.Errno = 11021 + WSA_QOS_EOBJLENGTH syscall.Errno = 11022 + WSA_QOS_EFLOWCOUNT syscall.Errno = 11023 + WSA_QOS_EUNKOWNPSOBJ syscall.Errno = 11024 + WSA_QOS_EPOLICYOBJ syscall.Errno = 11025 + WSA_QOS_EFLOWDESC syscall.Errno = 11026 + WSA_QOS_EPSFLOWSPEC syscall.Errno = 11027 + WSA_QOS_EPSFILTERSPEC syscall.Errno = 11028 + WSA_QOS_ESDMODEOBJ syscall.Errno = 11029 + WSA_QOS_ESHAPERATEOBJ syscall.Errno = 11030 + WSA_QOS_RESERVED_PETYPE syscall.Errno = 11031 + WSA_SECURE_HOST_NOT_FOUND syscall.Errno = 11032 + WSA_IPSEC_NAME_POLICY_ERROR syscall.Errno = 11033 + ERROR_IPSEC_QM_POLICY_EXISTS syscall.Errno = 13000 + ERROR_IPSEC_QM_POLICY_NOT_FOUND syscall.Errno = 13001 + ERROR_IPSEC_QM_POLICY_IN_USE syscall.Errno = 13002 + ERROR_IPSEC_MM_POLICY_EXISTS syscall.Errno = 13003 + ERROR_IPSEC_MM_POLICY_NOT_FOUND syscall.Errno = 13004 + ERROR_IPSEC_MM_POLICY_IN_USE syscall.Errno = 13005 + ERROR_IPSEC_MM_FILTER_EXISTS syscall.Errno = 13006 + ERROR_IPSEC_MM_FILTER_NOT_FOUND syscall.Errno = 13007 + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS syscall.Errno = 13008 + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND syscall.Errno = 13009 + ERROR_IPSEC_MM_AUTH_EXISTS syscall.Errno = 13010 + ERROR_IPSEC_MM_AUTH_NOT_FOUND syscall.Errno = 13011 + ERROR_IPSEC_MM_AUTH_IN_USE syscall.Errno = 13012 + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND syscall.Errno = 13013 + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND syscall.Errno = 13014 + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND syscall.Errno = 13015 + ERROR_IPSEC_TUNNEL_FILTER_EXISTS syscall.Errno = 13016 + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND syscall.Errno = 13017 + ERROR_IPSEC_MM_FILTER_PENDING_DELETION syscall.Errno = 13018 + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION syscall.Errno = 13019 + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION syscall.Errno = 13020 + ERROR_IPSEC_MM_POLICY_PENDING_DELETION syscall.Errno = 13021 + ERROR_IPSEC_MM_AUTH_PENDING_DELETION syscall.Errno = 13022 + ERROR_IPSEC_QM_POLICY_PENDING_DELETION syscall.Errno = 13023 + WARNING_IPSEC_MM_POLICY_PRUNED syscall.Errno = 13024 + WARNING_IPSEC_QM_POLICY_PRUNED syscall.Errno = 13025 + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN syscall.Errno = 13800 + ERROR_IPSEC_IKE_AUTH_FAIL syscall.Errno = 13801 + ERROR_IPSEC_IKE_ATTRIB_FAIL syscall.Errno = 13802 + ERROR_IPSEC_IKE_NEGOTIATION_PENDING syscall.Errno = 13803 + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR syscall.Errno = 13804 + ERROR_IPSEC_IKE_TIMED_OUT syscall.Errno = 13805 + ERROR_IPSEC_IKE_NO_CERT syscall.Errno = 13806 + ERROR_IPSEC_IKE_SA_DELETED syscall.Errno = 13807 + ERROR_IPSEC_IKE_SA_REAPED syscall.Errno = 13808 + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP syscall.Errno = 13809 + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP syscall.Errno = 13810 + ERROR_IPSEC_IKE_QUEUE_DROP_MM syscall.Errno = 13811 + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM syscall.Errno = 13812 + ERROR_IPSEC_IKE_DROP_NO_RESPONSE syscall.Errno = 13813 + ERROR_IPSEC_IKE_MM_DELAY_DROP syscall.Errno = 13814 + ERROR_IPSEC_IKE_QM_DELAY_DROP syscall.Errno = 13815 + ERROR_IPSEC_IKE_ERROR syscall.Errno = 13816 + ERROR_IPSEC_IKE_CRL_FAILED syscall.Errno = 13817 + ERROR_IPSEC_IKE_INVALID_KEY_USAGE syscall.Errno = 13818 + ERROR_IPSEC_IKE_INVALID_CERT_TYPE syscall.Errno = 13819 + ERROR_IPSEC_IKE_NO_PRIVATE_KEY syscall.Errno = 13820 + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY syscall.Errno = 13821 + ERROR_IPSEC_IKE_DH_FAIL syscall.Errno = 13822 + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED syscall.Errno = 13823 + ERROR_IPSEC_IKE_INVALID_HEADER syscall.Errno = 13824 + ERROR_IPSEC_IKE_NO_POLICY syscall.Errno = 13825 + ERROR_IPSEC_IKE_INVALID_SIGNATURE syscall.Errno = 13826 + ERROR_IPSEC_IKE_KERBEROS_ERROR syscall.Errno = 13827 + ERROR_IPSEC_IKE_NO_PUBLIC_KEY syscall.Errno = 13828 + ERROR_IPSEC_IKE_PROCESS_ERR syscall.Errno = 13829 + ERROR_IPSEC_IKE_PROCESS_ERR_SA syscall.Errno = 13830 + ERROR_IPSEC_IKE_PROCESS_ERR_PROP syscall.Errno = 13831 + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS syscall.Errno = 13832 + ERROR_IPSEC_IKE_PROCESS_ERR_KE syscall.Errno = 13833 + ERROR_IPSEC_IKE_PROCESS_ERR_ID syscall.Errno = 13834 + ERROR_IPSEC_IKE_PROCESS_ERR_CERT syscall.Errno = 13835 + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ syscall.Errno = 13836 + ERROR_IPSEC_IKE_PROCESS_ERR_HASH syscall.Errno = 13837 + ERROR_IPSEC_IKE_PROCESS_ERR_SIG syscall.Errno = 13838 + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE syscall.Errno = 13839 + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY syscall.Errno = 13840 + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE syscall.Errno = 13841 + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR syscall.Errno = 13842 + ERROR_IPSEC_IKE_INVALID_PAYLOAD syscall.Errno = 13843 + ERROR_IPSEC_IKE_LOAD_SOFT_SA syscall.Errno = 13844 + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN syscall.Errno = 13845 + ERROR_IPSEC_IKE_INVALID_COOKIE syscall.Errno = 13846 + ERROR_IPSEC_IKE_NO_PEER_CERT syscall.Errno = 13847 + ERROR_IPSEC_IKE_PEER_CRL_FAILED syscall.Errno = 13848 + ERROR_IPSEC_IKE_POLICY_CHANGE syscall.Errno = 13849 + ERROR_IPSEC_IKE_NO_MM_POLICY syscall.Errno = 13850 + ERROR_IPSEC_IKE_NOTCBPRIV syscall.Errno = 13851 + ERROR_IPSEC_IKE_SECLOADFAIL syscall.Errno = 13852 + ERROR_IPSEC_IKE_FAILSSPINIT syscall.Errno = 13853 + ERROR_IPSEC_IKE_FAILQUERYSSP syscall.Errno = 13854 + ERROR_IPSEC_IKE_SRVACQFAIL syscall.Errno = 13855 + ERROR_IPSEC_IKE_SRVQUERYCRED syscall.Errno = 13856 + ERROR_IPSEC_IKE_GETSPIFAIL syscall.Errno = 13857 + ERROR_IPSEC_IKE_INVALID_FILTER syscall.Errno = 13858 + ERROR_IPSEC_IKE_OUT_OF_MEMORY syscall.Errno = 13859 + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED syscall.Errno = 13860 + ERROR_IPSEC_IKE_INVALID_POLICY syscall.Errno = 13861 + ERROR_IPSEC_IKE_UNKNOWN_DOI syscall.Errno = 13862 + ERROR_IPSEC_IKE_INVALID_SITUATION syscall.Errno = 13863 + ERROR_IPSEC_IKE_DH_FAILURE syscall.Errno = 13864 + ERROR_IPSEC_IKE_INVALID_GROUP syscall.Errno = 13865 + ERROR_IPSEC_IKE_ENCRYPT syscall.Errno = 13866 + ERROR_IPSEC_IKE_DECRYPT syscall.Errno = 13867 + ERROR_IPSEC_IKE_POLICY_MATCH syscall.Errno = 13868 + ERROR_IPSEC_IKE_UNSUPPORTED_ID syscall.Errno = 13869 + ERROR_IPSEC_IKE_INVALID_HASH syscall.Errno = 13870 + ERROR_IPSEC_IKE_INVALID_HASH_ALG syscall.Errno = 13871 + ERROR_IPSEC_IKE_INVALID_HASH_SIZE syscall.Errno = 13872 + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG syscall.Errno = 13873 + ERROR_IPSEC_IKE_INVALID_AUTH_ALG syscall.Errno = 13874 + ERROR_IPSEC_IKE_INVALID_SIG syscall.Errno = 13875 + ERROR_IPSEC_IKE_LOAD_FAILED syscall.Errno = 13876 + ERROR_IPSEC_IKE_RPC_DELETE syscall.Errno = 13877 + ERROR_IPSEC_IKE_BENIGN_REINIT syscall.Errno = 13878 + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY syscall.Errno = 13879 + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION syscall.Errno = 13880 + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN syscall.Errno = 13881 + ERROR_IPSEC_IKE_MM_LIMIT syscall.Errno = 13882 + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED syscall.Errno = 13883 + ERROR_IPSEC_IKE_QM_LIMIT syscall.Errno = 13884 + ERROR_IPSEC_IKE_MM_EXPIRED syscall.Errno = 13885 + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID syscall.Errno = 13886 + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH syscall.Errno = 13887 + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID syscall.Errno = 13888 + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD syscall.Errno = 13889 + ERROR_IPSEC_IKE_DOS_COOKIE_SENT syscall.Errno = 13890 + ERROR_IPSEC_IKE_SHUTTING_DOWN syscall.Errno = 13891 + ERROR_IPSEC_IKE_CGA_AUTH_FAILED syscall.Errno = 13892 + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA syscall.Errno = 13893 + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM syscall.Errno = 13894 + ERROR_IPSEC_IKE_QM_EXPIRED syscall.Errno = 13895 + ERROR_IPSEC_IKE_TOO_MANY_FILTERS syscall.Errno = 13896 + ERROR_IPSEC_IKE_NEG_STATUS_END syscall.Errno = 13897 + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL syscall.Errno = 13898 + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE syscall.Errno = 13899 + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING syscall.Errno = 13900 + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING syscall.Errno = 13901 + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS syscall.Errno = 13902 + ERROR_IPSEC_IKE_RATELIMIT_DROP syscall.Errno = 13903 + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE syscall.Errno = 13904 + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE syscall.Errno = 13905 + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE syscall.Errno = 13906 + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY syscall.Errno = 13907 + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE syscall.Errno = 13908 + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END syscall.Errno = 13909 + ERROR_IPSEC_BAD_SPI syscall.Errno = 13910 + ERROR_IPSEC_SA_LIFETIME_EXPIRED syscall.Errno = 13911 + ERROR_IPSEC_WRONG_SA syscall.Errno = 13912 + ERROR_IPSEC_REPLAY_CHECK_FAILED syscall.Errno = 13913 + ERROR_IPSEC_INVALID_PACKET syscall.Errno = 13914 + ERROR_IPSEC_INTEGRITY_CHECK_FAILED syscall.Errno = 13915 + ERROR_IPSEC_CLEAR_TEXT_DROP syscall.Errno = 13916 + ERROR_IPSEC_AUTH_FIREWALL_DROP syscall.Errno = 13917 + ERROR_IPSEC_THROTTLE_DROP syscall.Errno = 13918 + ERROR_IPSEC_DOSP_BLOCK syscall.Errno = 13925 + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST syscall.Errno = 13926 + ERROR_IPSEC_DOSP_INVALID_PACKET syscall.Errno = 13927 + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED syscall.Errno = 13928 + ERROR_IPSEC_DOSP_MAX_ENTRIES syscall.Errno = 13929 + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED syscall.Errno = 13930 + ERROR_IPSEC_DOSP_NOT_INSTALLED syscall.Errno = 13931 + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES syscall.Errno = 13932 + ERROR_SXS_SECTION_NOT_FOUND syscall.Errno = 14000 + ERROR_SXS_CANT_GEN_ACTCTX syscall.Errno = 14001 + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT syscall.Errno = 14002 + ERROR_SXS_ASSEMBLY_NOT_FOUND syscall.Errno = 14003 + ERROR_SXS_MANIFEST_FORMAT_ERROR syscall.Errno = 14004 + ERROR_SXS_MANIFEST_PARSE_ERROR syscall.Errno = 14005 + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED syscall.Errno = 14006 + ERROR_SXS_KEY_NOT_FOUND syscall.Errno = 14007 + ERROR_SXS_VERSION_CONFLICT syscall.Errno = 14008 + ERROR_SXS_WRONG_SECTION_TYPE syscall.Errno = 14009 + ERROR_SXS_THREAD_QUERIES_DISABLED syscall.Errno = 14010 + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET syscall.Errno = 14011 + ERROR_SXS_UNKNOWN_ENCODING_GROUP syscall.Errno = 14012 + ERROR_SXS_UNKNOWN_ENCODING syscall.Errno = 14013 + ERROR_SXS_INVALID_XML_NAMESPACE_URI syscall.Errno = 14014 + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED syscall.Errno = 14015 + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED syscall.Errno = 14016 + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE syscall.Errno = 14017 + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE syscall.Errno = 14018 + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE syscall.Errno = 14019 + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT syscall.Errno = 14020 + ERROR_SXS_DUPLICATE_DLL_NAME syscall.Errno = 14021 + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME syscall.Errno = 14022 + ERROR_SXS_DUPLICATE_CLSID syscall.Errno = 14023 + ERROR_SXS_DUPLICATE_IID syscall.Errno = 14024 + ERROR_SXS_DUPLICATE_TLBID syscall.Errno = 14025 + ERROR_SXS_DUPLICATE_PROGID syscall.Errno = 14026 + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME syscall.Errno = 14027 + ERROR_SXS_FILE_HASH_MISMATCH syscall.Errno = 14028 + ERROR_SXS_POLICY_PARSE_ERROR syscall.Errno = 14029 + ERROR_SXS_XML_E_MISSINGQUOTE syscall.Errno = 14030 + ERROR_SXS_XML_E_COMMENTSYNTAX syscall.Errno = 14031 + ERROR_SXS_XML_E_BADSTARTNAMECHAR syscall.Errno = 14032 + ERROR_SXS_XML_E_BADNAMECHAR syscall.Errno = 14033 + ERROR_SXS_XML_E_BADCHARINSTRING syscall.Errno = 14034 + ERROR_SXS_XML_E_XMLDECLSYNTAX syscall.Errno = 14035 + ERROR_SXS_XML_E_BADCHARDATA syscall.Errno = 14036 + ERROR_SXS_XML_E_MISSINGWHITESPACE syscall.Errno = 14037 + ERROR_SXS_XML_E_EXPECTINGTAGEND syscall.Errno = 14038 + ERROR_SXS_XML_E_MISSINGSEMICOLON syscall.Errno = 14039 + ERROR_SXS_XML_E_UNBALANCEDPAREN syscall.Errno = 14040 + ERROR_SXS_XML_E_INTERNALERROR syscall.Errno = 14041 + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE syscall.Errno = 14042 + ERROR_SXS_XML_E_INCOMPLETE_ENCODING syscall.Errno = 14043 + ERROR_SXS_XML_E_MISSING_PAREN syscall.Errno = 14044 + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE syscall.Errno = 14045 + ERROR_SXS_XML_E_MULTIPLE_COLONS syscall.Errno = 14046 + ERROR_SXS_XML_E_INVALID_DECIMAL syscall.Errno = 14047 + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL syscall.Errno = 14048 + ERROR_SXS_XML_E_INVALID_UNICODE syscall.Errno = 14049 + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK syscall.Errno = 14050 + ERROR_SXS_XML_E_UNEXPECTEDENDTAG syscall.Errno = 14051 + ERROR_SXS_XML_E_UNCLOSEDTAG syscall.Errno = 14052 + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE syscall.Errno = 14053 + ERROR_SXS_XML_E_MULTIPLEROOTS syscall.Errno = 14054 + ERROR_SXS_XML_E_INVALIDATROOTLEVEL syscall.Errno = 14055 + ERROR_SXS_XML_E_BADXMLDECL syscall.Errno = 14056 + ERROR_SXS_XML_E_MISSINGROOT syscall.Errno = 14057 + ERROR_SXS_XML_E_UNEXPECTEDEOF syscall.Errno = 14058 + ERROR_SXS_XML_E_BADPEREFINSUBSET syscall.Errno = 14059 + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG syscall.Errno = 14060 + ERROR_SXS_XML_E_UNCLOSEDENDTAG syscall.Errno = 14061 + ERROR_SXS_XML_E_UNCLOSEDSTRING syscall.Errno = 14062 + ERROR_SXS_XML_E_UNCLOSEDCOMMENT syscall.Errno = 14063 + ERROR_SXS_XML_E_UNCLOSEDDECL syscall.Errno = 14064 + ERROR_SXS_XML_E_UNCLOSEDCDATA syscall.Errno = 14065 + ERROR_SXS_XML_E_RESERVEDNAMESPACE syscall.Errno = 14066 + ERROR_SXS_XML_E_INVALIDENCODING syscall.Errno = 14067 + ERROR_SXS_XML_E_INVALIDSWITCH syscall.Errno = 14068 + ERROR_SXS_XML_E_BADXMLCASE syscall.Errno = 14069 + ERROR_SXS_XML_E_INVALID_STANDALONE syscall.Errno = 14070 + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE syscall.Errno = 14071 + ERROR_SXS_XML_E_INVALID_VERSION syscall.Errno = 14072 + ERROR_SXS_XML_E_MISSINGEQUALS syscall.Errno = 14073 + ERROR_SXS_PROTECTION_RECOVERY_FAILED syscall.Errno = 14074 + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT syscall.Errno = 14075 + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID syscall.Errno = 14076 + ERROR_SXS_UNTRANSLATABLE_HRESULT syscall.Errno = 14077 + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING syscall.Errno = 14078 + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE syscall.Errno = 14079 + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME syscall.Errno = 14080 + ERROR_SXS_ASSEMBLY_MISSING syscall.Errno = 14081 + ERROR_SXS_CORRUPT_ACTIVATION_STACK syscall.Errno = 14082 + ERROR_SXS_CORRUPTION syscall.Errno = 14083 + ERROR_SXS_EARLY_DEACTIVATION syscall.Errno = 14084 + ERROR_SXS_INVALID_DEACTIVATION syscall.Errno = 14085 + ERROR_SXS_MULTIPLE_DEACTIVATION syscall.Errno = 14086 + ERROR_SXS_PROCESS_TERMINATION_REQUESTED syscall.Errno = 14087 + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT syscall.Errno = 14088 + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY syscall.Errno = 14089 + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE syscall.Errno = 14090 + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME syscall.Errno = 14091 + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE syscall.Errno = 14092 + ERROR_SXS_IDENTITY_PARSE_ERROR syscall.Errno = 14093 + ERROR_MALFORMED_SUBSTITUTION_STRING syscall.Errno = 14094 + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN syscall.Errno = 14095 + ERROR_UNMAPPED_SUBSTITUTION_STRING syscall.Errno = 14096 + ERROR_SXS_ASSEMBLY_NOT_LOCKED syscall.Errno = 14097 + ERROR_SXS_COMPONENT_STORE_CORRUPT syscall.Errno = 14098 + ERROR_ADVANCED_INSTALLER_FAILED syscall.Errno = 14099 + ERROR_XML_ENCODING_MISMATCH syscall.Errno = 14100 + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT syscall.Errno = 14101 + ERROR_SXS_IDENTITIES_DIFFERENT syscall.Errno = 14102 + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT syscall.Errno = 14103 + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY syscall.Errno = 14104 + ERROR_SXS_MANIFEST_TOO_BIG syscall.Errno = 14105 + ERROR_SXS_SETTING_NOT_REGISTERED syscall.Errno = 14106 + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE syscall.Errno = 14107 + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED syscall.Errno = 14108 + ERROR_GENERIC_COMMAND_FAILED syscall.Errno = 14109 + ERROR_SXS_FILE_HASH_MISSING syscall.Errno = 14110 + ERROR_SXS_DUPLICATE_ACTIVATABLE_CLASS syscall.Errno = 14111 + ERROR_EVT_INVALID_CHANNEL_PATH syscall.Errno = 15000 + ERROR_EVT_INVALID_QUERY syscall.Errno = 15001 + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND syscall.Errno = 15002 + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND syscall.Errno = 15003 + ERROR_EVT_INVALID_PUBLISHER_NAME syscall.Errno = 15004 + ERROR_EVT_INVALID_EVENT_DATA syscall.Errno = 15005 + ERROR_EVT_CHANNEL_NOT_FOUND syscall.Errno = 15007 + ERROR_EVT_MALFORMED_XML_TEXT syscall.Errno = 15008 + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL syscall.Errno = 15009 + ERROR_EVT_CONFIGURATION_ERROR syscall.Errno = 15010 + ERROR_EVT_QUERY_RESULT_STALE syscall.Errno = 15011 + ERROR_EVT_QUERY_RESULT_INVALID_POSITION syscall.Errno = 15012 + ERROR_EVT_NON_VALIDATING_MSXML syscall.Errno = 15013 + ERROR_EVT_FILTER_ALREADYSCOPED syscall.Errno = 15014 + ERROR_EVT_FILTER_NOTELTSET syscall.Errno = 15015 + ERROR_EVT_FILTER_INVARG syscall.Errno = 15016 + ERROR_EVT_FILTER_INVTEST syscall.Errno = 15017 + ERROR_EVT_FILTER_INVTYPE syscall.Errno = 15018 + ERROR_EVT_FILTER_PARSEERR syscall.Errno = 15019 + ERROR_EVT_FILTER_UNSUPPORTEDOP syscall.Errno = 15020 + ERROR_EVT_FILTER_UNEXPECTEDTOKEN syscall.Errno = 15021 + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL syscall.Errno = 15022 + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE syscall.Errno = 15023 + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE syscall.Errno = 15024 + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE syscall.Errno = 15025 + ERROR_EVT_FILTER_TOO_COMPLEX syscall.Errno = 15026 + ERROR_EVT_MESSAGE_NOT_FOUND syscall.Errno = 15027 + ERROR_EVT_MESSAGE_ID_NOT_FOUND syscall.Errno = 15028 + ERROR_EVT_UNRESOLVED_VALUE_INSERT syscall.Errno = 15029 + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT syscall.Errno = 15030 + ERROR_EVT_MAX_INSERTS_REACHED syscall.Errno = 15031 + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND syscall.Errno = 15032 + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND syscall.Errno = 15033 + ERROR_EVT_VERSION_TOO_OLD syscall.Errno = 15034 + ERROR_EVT_VERSION_TOO_NEW syscall.Errno = 15035 + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY syscall.Errno = 15036 + ERROR_EVT_PUBLISHER_DISABLED syscall.Errno = 15037 + ERROR_EVT_FILTER_OUT_OF_RANGE syscall.Errno = 15038 + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE syscall.Errno = 15080 + ERROR_EC_LOG_DISABLED syscall.Errno = 15081 + ERROR_EC_CIRCULAR_FORWARDING syscall.Errno = 15082 + ERROR_EC_CREDSTORE_FULL syscall.Errno = 15083 + ERROR_EC_CRED_NOT_FOUND syscall.Errno = 15084 + ERROR_EC_NO_ACTIVE_CHANNEL syscall.Errno = 15085 + ERROR_MUI_FILE_NOT_FOUND syscall.Errno = 15100 + ERROR_MUI_INVALID_FILE syscall.Errno = 15101 + ERROR_MUI_INVALID_RC_CONFIG syscall.Errno = 15102 + ERROR_MUI_INVALID_LOCALE_NAME syscall.Errno = 15103 + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME syscall.Errno = 15104 + ERROR_MUI_FILE_NOT_LOADED syscall.Errno = 15105 + ERROR_RESOURCE_ENUM_USER_STOP syscall.Errno = 15106 + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED syscall.Errno = 15107 + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME syscall.Errno = 15108 + ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE syscall.Errno = 15110 + ERROR_MRM_INVALID_PRICONFIG syscall.Errno = 15111 + ERROR_MRM_INVALID_FILE_TYPE syscall.Errno = 15112 + ERROR_MRM_UNKNOWN_QUALIFIER syscall.Errno = 15113 + ERROR_MRM_INVALID_QUALIFIER_VALUE syscall.Errno = 15114 + ERROR_MRM_NO_CANDIDATE syscall.Errno = 15115 + ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE syscall.Errno = 15116 + ERROR_MRM_RESOURCE_TYPE_MISMATCH syscall.Errno = 15117 + ERROR_MRM_DUPLICATE_MAP_NAME syscall.Errno = 15118 + ERROR_MRM_DUPLICATE_ENTRY syscall.Errno = 15119 + ERROR_MRM_INVALID_RESOURCE_IDENTIFIER syscall.Errno = 15120 + ERROR_MRM_FILEPATH_TOO_LONG syscall.Errno = 15121 + ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE syscall.Errno = 15122 + ERROR_MRM_INVALID_PRI_FILE syscall.Errno = 15126 + ERROR_MRM_NAMED_RESOURCE_NOT_FOUND syscall.Errno = 15127 + ERROR_MRM_MAP_NOT_FOUND syscall.Errno = 15135 + ERROR_MRM_UNSUPPORTED_PROFILE_TYPE syscall.Errno = 15136 + ERROR_MRM_INVALID_QUALIFIER_OPERATOR syscall.Errno = 15137 + ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE syscall.Errno = 15138 + ERROR_MRM_AUTOMERGE_ENABLED syscall.Errno = 15139 + ERROR_MRM_TOO_MANY_RESOURCES syscall.Errno = 15140 + ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE syscall.Errno = 15141 + ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE syscall.Errno = 15142 + ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD syscall.Errno = 15143 + ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST syscall.Errno = 15144 + ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT syscall.Errno = 15145 + ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE syscall.Errno = 15146 + ERROR_MRM_GENERATION_COUNT_MISMATCH syscall.Errno = 15147 + ERROR_PRI_MERGE_VERSION_MISMATCH syscall.Errno = 15148 + ERROR_PRI_MERGE_MISSING_SCHEMA syscall.Errno = 15149 + ERROR_PRI_MERGE_LOAD_FILE_FAILED syscall.Errno = 15150 + ERROR_PRI_MERGE_ADD_FILE_FAILED syscall.Errno = 15151 + ERROR_PRI_MERGE_WRITE_FILE_FAILED syscall.Errno = 15152 + ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED syscall.Errno = 15153 + ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED syscall.Errno = 15154 + ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED syscall.Errno = 15155 + ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED syscall.Errno = 15156 + ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED syscall.Errno = 15157 + ERROR_PRI_MERGE_INVALID_FILE_NAME syscall.Errno = 15158 + ERROR_MRM_PACKAGE_NOT_FOUND syscall.Errno = 15159 + ERROR_MRM_MISSING_DEFAULT_LANGUAGE syscall.Errno = 15160 + ERROR_MCA_INVALID_CAPABILITIES_STRING syscall.Errno = 15200 + ERROR_MCA_INVALID_VCP_VERSION syscall.Errno = 15201 + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION syscall.Errno = 15202 + ERROR_MCA_MCCS_VERSION_MISMATCH syscall.Errno = 15203 + ERROR_MCA_UNSUPPORTED_MCCS_VERSION syscall.Errno = 15204 + ERROR_MCA_INTERNAL_ERROR syscall.Errno = 15205 + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED syscall.Errno = 15206 + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE syscall.Errno = 15207 + ERROR_AMBIGUOUS_SYSTEM_DEVICE syscall.Errno = 15250 + ERROR_SYSTEM_DEVICE_NOT_FOUND syscall.Errno = 15299 + ERROR_HASH_NOT_SUPPORTED syscall.Errno = 15300 + ERROR_HASH_NOT_PRESENT syscall.Errno = 15301 + ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED syscall.Errno = 15321 + ERROR_GPIO_CLIENT_INFORMATION_INVALID syscall.Errno = 15322 + ERROR_GPIO_VERSION_NOT_SUPPORTED syscall.Errno = 15323 + ERROR_GPIO_INVALID_REGISTRATION_PACKET syscall.Errno = 15324 + ERROR_GPIO_OPERATION_DENIED syscall.Errno = 15325 + ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE syscall.Errno = 15326 + ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED syscall.Errno = 15327 + ERROR_CANNOT_SWITCH_RUNLEVEL syscall.Errno = 15400 + ERROR_INVALID_RUNLEVEL_SETTING syscall.Errno = 15401 + ERROR_RUNLEVEL_SWITCH_TIMEOUT syscall.Errno = 15402 + ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT syscall.Errno = 15403 + ERROR_RUNLEVEL_SWITCH_IN_PROGRESS syscall.Errno = 15404 + ERROR_SERVICES_FAILED_AUTOSTART syscall.Errno = 15405 + ERROR_COM_TASK_STOP_PENDING syscall.Errno = 15501 + ERROR_INSTALL_OPEN_PACKAGE_FAILED syscall.Errno = 15600 + ERROR_INSTALL_PACKAGE_NOT_FOUND syscall.Errno = 15601 + ERROR_INSTALL_INVALID_PACKAGE syscall.Errno = 15602 + ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED syscall.Errno = 15603 + ERROR_INSTALL_OUT_OF_DISK_SPACE syscall.Errno = 15604 + ERROR_INSTALL_NETWORK_FAILURE syscall.Errno = 15605 + ERROR_INSTALL_REGISTRATION_FAILURE syscall.Errno = 15606 + ERROR_INSTALL_DEREGISTRATION_FAILURE syscall.Errno = 15607 + ERROR_INSTALL_CANCEL syscall.Errno = 15608 + ERROR_INSTALL_FAILED syscall.Errno = 15609 + ERROR_REMOVE_FAILED syscall.Errno = 15610 + ERROR_PACKAGE_ALREADY_EXISTS syscall.Errno = 15611 + ERROR_NEEDS_REMEDIATION syscall.Errno = 15612 + ERROR_INSTALL_PREREQUISITE_FAILED syscall.Errno = 15613 + ERROR_PACKAGE_REPOSITORY_CORRUPTED syscall.Errno = 15614 + ERROR_INSTALL_POLICY_FAILURE syscall.Errno = 15615 + ERROR_PACKAGE_UPDATING syscall.Errno = 15616 + ERROR_DEPLOYMENT_BLOCKED_BY_POLICY syscall.Errno = 15617 + ERROR_PACKAGES_IN_USE syscall.Errno = 15618 + ERROR_RECOVERY_FILE_CORRUPT syscall.Errno = 15619 + ERROR_INVALID_STAGED_SIGNATURE syscall.Errno = 15620 + ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED syscall.Errno = 15621 + ERROR_INSTALL_PACKAGE_DOWNGRADE syscall.Errno = 15622 + ERROR_SYSTEM_NEEDS_REMEDIATION syscall.Errno = 15623 + ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN syscall.Errno = 15624 + ERROR_RESILIENCY_FILE_CORRUPT syscall.Errno = 15625 + ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING syscall.Errno = 15626 + ERROR_PACKAGE_MOVE_FAILED syscall.Errno = 15627 + ERROR_INSTALL_VOLUME_NOT_EMPTY syscall.Errno = 15628 + ERROR_INSTALL_VOLUME_OFFLINE syscall.Errno = 15629 + ERROR_INSTALL_VOLUME_CORRUPT syscall.Errno = 15630 + ERROR_NEEDS_REGISTRATION syscall.Errno = 15631 + ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE syscall.Errno = 15632 + ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED syscall.Errno = 15633 + ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE syscall.Errno = 15634 + ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM syscall.Errno = 15635 + ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING syscall.Errno = 15636 + ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE syscall.Errno = 15637 + ERROR_PACKAGE_STAGING_ONHOLD syscall.Errno = 15638 + ERROR_INSTALL_INVALID_RELATED_SET_UPDATE syscall.Errno = 15639 + ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY syscall.Errno = 15640 + ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF syscall.Errno = 15641 + ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED syscall.Errno = 15642 + ERROR_PACKAGES_REPUTATION_CHECK_FAILED syscall.Errno = 15643 + ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT syscall.Errno = 15644 + ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED syscall.Errno = 15645 + ERROR_APPINSTALLER_ACTIVATION_BLOCKED syscall.Errno = 15646 + ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED syscall.Errno = 15647 + ERROR_APPX_RAW_DATA_WRITE_FAILED syscall.Errno = 15648 + ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE syscall.Errno = 15649 + ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE syscall.Errno = 15650 + ERROR_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY syscall.Errno = 15651 + ERROR_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY syscall.Errno = 15652 + ERROR_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER syscall.Errno = 15653 + ERROR_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED syscall.Errno = 15654 + ERROR_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE syscall.Errno = 15655 + ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES syscall.Errno = 15656 + APPMODEL_ERROR_NO_PACKAGE syscall.Errno = 15700 + APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT syscall.Errno = 15701 + APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT syscall.Errno = 15702 + APPMODEL_ERROR_NO_APPLICATION syscall.Errno = 15703 + APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED syscall.Errno = 15704 + APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID syscall.Errno = 15705 + APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE syscall.Errno = 15706 + APPMODEL_ERROR_NO_MUTABLE_DIRECTORY syscall.Errno = 15707 + ERROR_STATE_LOAD_STORE_FAILED syscall.Errno = 15800 + ERROR_STATE_GET_VERSION_FAILED syscall.Errno = 15801 + ERROR_STATE_SET_VERSION_FAILED syscall.Errno = 15802 + ERROR_STATE_STRUCTURED_RESET_FAILED syscall.Errno = 15803 + ERROR_STATE_OPEN_CONTAINER_FAILED syscall.Errno = 15804 + ERROR_STATE_CREATE_CONTAINER_FAILED syscall.Errno = 15805 + ERROR_STATE_DELETE_CONTAINER_FAILED syscall.Errno = 15806 + ERROR_STATE_READ_SETTING_FAILED syscall.Errno = 15807 + ERROR_STATE_WRITE_SETTING_FAILED syscall.Errno = 15808 + ERROR_STATE_DELETE_SETTING_FAILED syscall.Errno = 15809 + ERROR_STATE_QUERY_SETTING_FAILED syscall.Errno = 15810 + ERROR_STATE_READ_COMPOSITE_SETTING_FAILED syscall.Errno = 15811 + ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED syscall.Errno = 15812 + ERROR_STATE_ENUMERATE_CONTAINER_FAILED syscall.Errno = 15813 + ERROR_STATE_ENUMERATE_SETTINGS_FAILED syscall.Errno = 15814 + ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED syscall.Errno = 15815 + ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED syscall.Errno = 15816 + ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED syscall.Errno = 15817 + ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED syscall.Errno = 15818 + ERROR_API_UNAVAILABLE syscall.Errno = 15841 + STORE_ERROR_UNLICENSED syscall.Errno = 15861 + STORE_ERROR_UNLICENSED_USER syscall.Errno = 15862 + STORE_ERROR_PENDING_COM_TRANSACTION syscall.Errno = 15863 + STORE_ERROR_LICENSE_REVOKED syscall.Errno = 15864 + SEVERITY_SUCCESS syscall.Errno = 0 + SEVERITY_ERROR syscall.Errno = 1 + FACILITY_NT_BIT = 0x10000000 + E_NOT_SET = ERROR_NOT_FOUND + E_NOT_VALID_STATE = ERROR_INVALID_STATE + E_NOT_SUFFICIENT_BUFFER = ERROR_INSUFFICIENT_BUFFER + E_TIME_SENSITIVE_THREAD = ERROR_TIME_SENSITIVE_THREAD + E_NO_TASK_QUEUE = ERROR_NO_TASK_QUEUE + NOERROR syscall.Errno = 0 + E_UNEXPECTED Handle = 0x8000FFFF + E_NOTIMPL Handle = 0x80004001 + E_OUTOFMEMORY Handle = 0x8007000E + E_INVALIDARG Handle = 0x80070057 + E_NOINTERFACE Handle = 0x80004002 + E_POINTER Handle = 0x80004003 + E_HANDLE Handle = 0x80070006 + E_ABORT Handle = 0x80004004 + E_FAIL Handle = 0x80004005 + E_ACCESSDENIED Handle = 0x80070005 + E_PENDING Handle = 0x8000000A + E_BOUNDS Handle = 0x8000000B + E_CHANGED_STATE Handle = 0x8000000C + E_ILLEGAL_STATE_CHANGE Handle = 0x8000000D + E_ILLEGAL_METHOD_CALL Handle = 0x8000000E + RO_E_METADATA_NAME_NOT_FOUND Handle = 0x8000000F + RO_E_METADATA_NAME_IS_NAMESPACE Handle = 0x80000010 + RO_E_METADATA_INVALID_TYPE_FORMAT Handle = 0x80000011 + RO_E_INVALID_METADATA_FILE Handle = 0x80000012 + RO_E_CLOSED Handle = 0x80000013 + RO_E_EXCLUSIVE_WRITE Handle = 0x80000014 + RO_E_CHANGE_NOTIFICATION_IN_PROGRESS Handle = 0x80000015 + RO_E_ERROR_STRING_NOT_FOUND Handle = 0x80000016 + E_STRING_NOT_NULL_TERMINATED Handle = 0x80000017 + E_ILLEGAL_DELEGATE_ASSIGNMENT Handle = 0x80000018 + E_ASYNC_OPERATION_NOT_STARTED Handle = 0x80000019 + E_APPLICATION_EXITING Handle = 0x8000001A + E_APPLICATION_VIEW_EXITING Handle = 0x8000001B + RO_E_MUST_BE_AGILE Handle = 0x8000001C + RO_E_UNSUPPORTED_FROM_MTA Handle = 0x8000001D + RO_E_COMMITTED Handle = 0x8000001E + RO_E_BLOCKED_CROSS_ASTA_CALL Handle = 0x8000001F + RO_E_CANNOT_ACTIVATE_FULL_TRUST_SERVER Handle = 0x80000020 + RO_E_CANNOT_ACTIVATE_UNIVERSAL_APPLICATION_SERVER Handle = 0x80000021 + CO_E_INIT_TLS Handle = 0x80004006 + CO_E_INIT_SHARED_ALLOCATOR Handle = 0x80004007 + CO_E_INIT_MEMORY_ALLOCATOR Handle = 0x80004008 + CO_E_INIT_CLASS_CACHE Handle = 0x80004009 + CO_E_INIT_RPC_CHANNEL Handle = 0x8000400A + CO_E_INIT_TLS_SET_CHANNEL_CONTROL Handle = 0x8000400B + CO_E_INIT_TLS_CHANNEL_CONTROL Handle = 0x8000400C + CO_E_INIT_UNACCEPTED_USER_ALLOCATOR Handle = 0x8000400D + CO_E_INIT_SCM_MUTEX_EXISTS Handle = 0x8000400E + CO_E_INIT_SCM_FILE_MAPPING_EXISTS Handle = 0x8000400F + CO_E_INIT_SCM_MAP_VIEW_OF_FILE Handle = 0x80004010 + CO_E_INIT_SCM_EXEC_FAILURE Handle = 0x80004011 + CO_E_INIT_ONLY_SINGLE_THREADED Handle = 0x80004012 + CO_E_CANT_REMOTE Handle = 0x80004013 + CO_E_BAD_SERVER_NAME Handle = 0x80004014 + CO_E_WRONG_SERVER_IDENTITY Handle = 0x80004015 + CO_E_OLE1DDE_DISABLED Handle = 0x80004016 + CO_E_RUNAS_SYNTAX Handle = 0x80004017 + CO_E_CREATEPROCESS_FAILURE Handle = 0x80004018 + CO_E_RUNAS_CREATEPROCESS_FAILURE Handle = 0x80004019 + CO_E_RUNAS_LOGON_FAILURE Handle = 0x8000401A + CO_E_LAUNCH_PERMSSION_DENIED Handle = 0x8000401B + CO_E_START_SERVICE_FAILURE Handle = 0x8000401C + CO_E_REMOTE_COMMUNICATION_FAILURE Handle = 0x8000401D + CO_E_SERVER_START_TIMEOUT Handle = 0x8000401E + CO_E_CLSREG_INCONSISTENT Handle = 0x8000401F + CO_E_IIDREG_INCONSISTENT Handle = 0x80004020 + CO_E_NOT_SUPPORTED Handle = 0x80004021 + CO_E_RELOAD_DLL Handle = 0x80004022 + CO_E_MSI_ERROR Handle = 0x80004023 + CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT Handle = 0x80004024 + CO_E_SERVER_PAUSED Handle = 0x80004025 + CO_E_SERVER_NOT_PAUSED Handle = 0x80004026 + CO_E_CLASS_DISABLED Handle = 0x80004027 + CO_E_CLRNOTAVAILABLE Handle = 0x80004028 + CO_E_ASYNC_WORK_REJECTED Handle = 0x80004029 + CO_E_SERVER_INIT_TIMEOUT Handle = 0x8000402A + CO_E_NO_SECCTX_IN_ACTIVATE Handle = 0x8000402B + CO_E_TRACKER_CONFIG Handle = 0x80004030 + CO_E_THREADPOOL_CONFIG Handle = 0x80004031 + CO_E_SXS_CONFIG Handle = 0x80004032 + CO_E_MALFORMED_SPN Handle = 0x80004033 + CO_E_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWN Handle = 0x80004034 + CO_E_PREMATURE_STUB_RUNDOWN Handle = 0x80004035 + S_OK Handle = 0 + S_FALSE Handle = 1 + OLE_E_FIRST Handle = 0x80040000 + OLE_E_LAST Handle = 0x800400FF + OLE_S_FIRST Handle = 0x00040000 + OLE_S_LAST Handle = 0x000400FF + OLE_E_OLEVERB Handle = 0x80040000 + OLE_E_ADVF Handle = 0x80040001 + OLE_E_ENUM_NOMORE Handle = 0x80040002 + OLE_E_ADVISENOTSUPPORTED Handle = 0x80040003 + OLE_E_NOCONNECTION Handle = 0x80040004 + OLE_E_NOTRUNNING Handle = 0x80040005 + OLE_E_NOCACHE Handle = 0x80040006 + OLE_E_BLANK Handle = 0x80040007 + OLE_E_CLASSDIFF Handle = 0x80040008 + OLE_E_CANT_GETMONIKER Handle = 0x80040009 + OLE_E_CANT_BINDTOSOURCE Handle = 0x8004000A + OLE_E_STATIC Handle = 0x8004000B + OLE_E_PROMPTSAVECANCELLED Handle = 0x8004000C + OLE_E_INVALIDRECT Handle = 0x8004000D + OLE_E_WRONGCOMPOBJ Handle = 0x8004000E + OLE_E_INVALIDHWND Handle = 0x8004000F + OLE_E_NOT_INPLACEACTIVE Handle = 0x80040010 + OLE_E_CANTCONVERT Handle = 0x80040011 + OLE_E_NOSTORAGE Handle = 0x80040012 + DV_E_FORMATETC Handle = 0x80040064 + DV_E_DVTARGETDEVICE Handle = 0x80040065 + DV_E_STGMEDIUM Handle = 0x80040066 + DV_E_STATDATA Handle = 0x80040067 + DV_E_LINDEX Handle = 0x80040068 + DV_E_TYMED Handle = 0x80040069 + DV_E_CLIPFORMAT Handle = 0x8004006A + DV_E_DVASPECT Handle = 0x8004006B + DV_E_DVTARGETDEVICE_SIZE Handle = 0x8004006C + DV_E_NOIVIEWOBJECT Handle = 0x8004006D + DRAGDROP_E_FIRST syscall.Errno = 0x80040100 + DRAGDROP_E_LAST syscall.Errno = 0x8004010F + DRAGDROP_S_FIRST syscall.Errno = 0x00040100 + DRAGDROP_S_LAST syscall.Errno = 0x0004010F + DRAGDROP_E_NOTREGISTERED Handle = 0x80040100 + DRAGDROP_E_ALREADYREGISTERED Handle = 0x80040101 + DRAGDROP_E_INVALIDHWND Handle = 0x80040102 + DRAGDROP_E_CONCURRENT_DRAG_ATTEMPTED Handle = 0x80040103 + CLASSFACTORY_E_FIRST syscall.Errno = 0x80040110 + CLASSFACTORY_E_LAST syscall.Errno = 0x8004011F + CLASSFACTORY_S_FIRST syscall.Errno = 0x00040110 + CLASSFACTORY_S_LAST syscall.Errno = 0x0004011F + CLASS_E_NOAGGREGATION Handle = 0x80040110 + CLASS_E_CLASSNOTAVAILABLE Handle = 0x80040111 + CLASS_E_NOTLICENSED Handle = 0x80040112 + MARSHAL_E_FIRST syscall.Errno = 0x80040120 + MARSHAL_E_LAST syscall.Errno = 0x8004012F + MARSHAL_S_FIRST syscall.Errno = 0x00040120 + MARSHAL_S_LAST syscall.Errno = 0x0004012F + DATA_E_FIRST syscall.Errno = 0x80040130 + DATA_E_LAST syscall.Errno = 0x8004013F + DATA_S_FIRST syscall.Errno = 0x00040130 + DATA_S_LAST syscall.Errno = 0x0004013F + VIEW_E_FIRST syscall.Errno = 0x80040140 + VIEW_E_LAST syscall.Errno = 0x8004014F + VIEW_S_FIRST syscall.Errno = 0x00040140 + VIEW_S_LAST syscall.Errno = 0x0004014F + VIEW_E_DRAW Handle = 0x80040140 + REGDB_E_FIRST syscall.Errno = 0x80040150 + REGDB_E_LAST syscall.Errno = 0x8004015F + REGDB_S_FIRST syscall.Errno = 0x00040150 + REGDB_S_LAST syscall.Errno = 0x0004015F + REGDB_E_READREGDB Handle = 0x80040150 + REGDB_E_WRITEREGDB Handle = 0x80040151 + REGDB_E_KEYMISSING Handle = 0x80040152 + REGDB_E_INVALIDVALUE Handle = 0x80040153 + REGDB_E_CLASSNOTREG Handle = 0x80040154 + REGDB_E_IIDNOTREG Handle = 0x80040155 + REGDB_E_BADTHREADINGMODEL Handle = 0x80040156 + REGDB_E_PACKAGEPOLICYVIOLATION Handle = 0x80040157 + CAT_E_FIRST syscall.Errno = 0x80040160 + CAT_E_LAST syscall.Errno = 0x80040161 + CAT_E_CATIDNOEXIST Handle = 0x80040160 + CAT_E_NODESCRIPTION Handle = 0x80040161 + CS_E_FIRST syscall.Errno = 0x80040164 + CS_E_LAST syscall.Errno = 0x8004016F + CS_E_PACKAGE_NOTFOUND Handle = 0x80040164 + CS_E_NOT_DELETABLE Handle = 0x80040165 + CS_E_CLASS_NOTFOUND Handle = 0x80040166 + CS_E_INVALID_VERSION Handle = 0x80040167 + CS_E_NO_CLASSSTORE Handle = 0x80040168 + CS_E_OBJECT_NOTFOUND Handle = 0x80040169 + CS_E_OBJECT_ALREADY_EXISTS Handle = 0x8004016A + CS_E_INVALID_PATH Handle = 0x8004016B + CS_E_NETWORK_ERROR Handle = 0x8004016C + CS_E_ADMIN_LIMIT_EXCEEDED Handle = 0x8004016D + CS_E_SCHEMA_MISMATCH Handle = 0x8004016E + CS_E_INTERNAL_ERROR Handle = 0x8004016F + CACHE_E_FIRST syscall.Errno = 0x80040170 + CACHE_E_LAST syscall.Errno = 0x8004017F + CACHE_S_FIRST syscall.Errno = 0x00040170 + CACHE_S_LAST syscall.Errno = 0x0004017F + CACHE_E_NOCACHE_UPDATED Handle = 0x80040170 + OLEOBJ_E_FIRST syscall.Errno = 0x80040180 + OLEOBJ_E_LAST syscall.Errno = 0x8004018F + OLEOBJ_S_FIRST syscall.Errno = 0x00040180 + OLEOBJ_S_LAST syscall.Errno = 0x0004018F + OLEOBJ_E_NOVERBS Handle = 0x80040180 + OLEOBJ_E_INVALIDVERB Handle = 0x80040181 + CLIENTSITE_E_FIRST syscall.Errno = 0x80040190 + CLIENTSITE_E_LAST syscall.Errno = 0x8004019F + CLIENTSITE_S_FIRST syscall.Errno = 0x00040190 + CLIENTSITE_S_LAST syscall.Errno = 0x0004019F + INPLACE_E_NOTUNDOABLE Handle = 0x800401A0 + INPLACE_E_NOTOOLSPACE Handle = 0x800401A1 + INPLACE_E_FIRST syscall.Errno = 0x800401A0 + INPLACE_E_LAST syscall.Errno = 0x800401AF + INPLACE_S_FIRST syscall.Errno = 0x000401A0 + INPLACE_S_LAST syscall.Errno = 0x000401AF + ENUM_E_FIRST syscall.Errno = 0x800401B0 + ENUM_E_LAST syscall.Errno = 0x800401BF + ENUM_S_FIRST syscall.Errno = 0x000401B0 + ENUM_S_LAST syscall.Errno = 0x000401BF + CONVERT10_E_FIRST syscall.Errno = 0x800401C0 + CONVERT10_E_LAST syscall.Errno = 0x800401CF + CONVERT10_S_FIRST syscall.Errno = 0x000401C0 + CONVERT10_S_LAST syscall.Errno = 0x000401CF + CONVERT10_E_OLESTREAM_GET Handle = 0x800401C0 + CONVERT10_E_OLESTREAM_PUT Handle = 0x800401C1 + CONVERT10_E_OLESTREAM_FMT Handle = 0x800401C2 + CONVERT10_E_OLESTREAM_BITMAP_TO_DIB Handle = 0x800401C3 + CONVERT10_E_STG_FMT Handle = 0x800401C4 + CONVERT10_E_STG_NO_STD_STREAM Handle = 0x800401C5 + CONVERT10_E_STG_DIB_TO_BITMAP Handle = 0x800401C6 + CLIPBRD_E_FIRST syscall.Errno = 0x800401D0 + CLIPBRD_E_LAST syscall.Errno = 0x800401DF + CLIPBRD_S_FIRST syscall.Errno = 0x000401D0 + CLIPBRD_S_LAST syscall.Errno = 0x000401DF + CLIPBRD_E_CANT_OPEN Handle = 0x800401D0 + CLIPBRD_E_CANT_EMPTY Handle = 0x800401D1 + CLIPBRD_E_CANT_SET Handle = 0x800401D2 + CLIPBRD_E_BAD_DATA Handle = 0x800401D3 + CLIPBRD_E_CANT_CLOSE Handle = 0x800401D4 + MK_E_FIRST syscall.Errno = 0x800401E0 + MK_E_LAST syscall.Errno = 0x800401EF + MK_S_FIRST syscall.Errno = 0x000401E0 + MK_S_LAST syscall.Errno = 0x000401EF + MK_E_CONNECTMANUALLY Handle = 0x800401E0 + MK_E_EXCEEDEDDEADLINE Handle = 0x800401E1 + MK_E_NEEDGENERIC Handle = 0x800401E2 + MK_E_UNAVAILABLE Handle = 0x800401E3 + MK_E_SYNTAX Handle = 0x800401E4 + MK_E_NOOBJECT Handle = 0x800401E5 + MK_E_INVALIDEXTENSION Handle = 0x800401E6 + MK_E_INTERMEDIATEINTERFACENOTSUPPORTED Handle = 0x800401E7 + MK_E_NOTBINDABLE Handle = 0x800401E8 + MK_E_NOTBOUND Handle = 0x800401E9 + MK_E_CANTOPENFILE Handle = 0x800401EA + MK_E_MUSTBOTHERUSER Handle = 0x800401EB + MK_E_NOINVERSE Handle = 0x800401EC + MK_E_NOSTORAGE Handle = 0x800401ED + MK_E_NOPREFIX Handle = 0x800401EE + MK_E_ENUMERATION_FAILED Handle = 0x800401EF + CO_E_FIRST syscall.Errno = 0x800401F0 + CO_E_LAST syscall.Errno = 0x800401FF + CO_S_FIRST syscall.Errno = 0x000401F0 + CO_S_LAST syscall.Errno = 0x000401FF + CO_E_NOTINITIALIZED Handle = 0x800401F0 + CO_E_ALREADYINITIALIZED Handle = 0x800401F1 + CO_E_CANTDETERMINECLASS Handle = 0x800401F2 + CO_E_CLASSSTRING Handle = 0x800401F3 + CO_E_IIDSTRING Handle = 0x800401F4 + CO_E_APPNOTFOUND Handle = 0x800401F5 + CO_E_APPSINGLEUSE Handle = 0x800401F6 + CO_E_ERRORINAPP Handle = 0x800401F7 + CO_E_DLLNOTFOUND Handle = 0x800401F8 + CO_E_ERRORINDLL Handle = 0x800401F9 + CO_E_WRONGOSFORAPP Handle = 0x800401FA + CO_E_OBJNOTREG Handle = 0x800401FB + CO_E_OBJISREG Handle = 0x800401FC + CO_E_OBJNOTCONNECTED Handle = 0x800401FD + CO_E_APPDIDNTREG Handle = 0x800401FE + CO_E_RELEASED Handle = 0x800401FF + EVENT_E_FIRST syscall.Errno = 0x80040200 + EVENT_E_LAST syscall.Errno = 0x8004021F + EVENT_S_FIRST syscall.Errno = 0x00040200 + EVENT_S_LAST syscall.Errno = 0x0004021F + EVENT_S_SOME_SUBSCRIBERS_FAILED Handle = 0x00040200 + EVENT_E_ALL_SUBSCRIBERS_FAILED Handle = 0x80040201 + EVENT_S_NOSUBSCRIBERS Handle = 0x00040202 + EVENT_E_QUERYSYNTAX Handle = 0x80040203 + EVENT_E_QUERYFIELD Handle = 0x80040204 + EVENT_E_INTERNALEXCEPTION Handle = 0x80040205 + EVENT_E_INTERNALERROR Handle = 0x80040206 + EVENT_E_INVALID_PER_USER_SID Handle = 0x80040207 + EVENT_E_USER_EXCEPTION Handle = 0x80040208 + EVENT_E_TOO_MANY_METHODS Handle = 0x80040209 + EVENT_E_MISSING_EVENTCLASS Handle = 0x8004020A + EVENT_E_NOT_ALL_REMOVED Handle = 0x8004020B + EVENT_E_COMPLUS_NOT_INSTALLED Handle = 0x8004020C + EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT Handle = 0x8004020D + EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT Handle = 0x8004020E + EVENT_E_INVALID_EVENT_CLASS_PARTITION Handle = 0x8004020F + EVENT_E_PER_USER_SID_NOT_LOGGED_ON Handle = 0x80040210 + TPC_E_INVALID_PROPERTY Handle = 0x80040241 + TPC_E_NO_DEFAULT_TABLET Handle = 0x80040212 + TPC_E_UNKNOWN_PROPERTY Handle = 0x8004021B + TPC_E_INVALID_INPUT_RECT Handle = 0x80040219 + TPC_E_INVALID_STROKE Handle = 0x80040222 + TPC_E_INITIALIZE_FAIL Handle = 0x80040223 + TPC_E_NOT_RELEVANT Handle = 0x80040232 + TPC_E_INVALID_PACKET_DESCRIPTION Handle = 0x80040233 + TPC_E_RECOGNIZER_NOT_REGISTERED Handle = 0x80040235 + TPC_E_INVALID_RIGHTS Handle = 0x80040236 + TPC_E_OUT_OF_ORDER_CALL Handle = 0x80040237 + TPC_E_QUEUE_FULL Handle = 0x80040238 + TPC_E_INVALID_CONFIGURATION Handle = 0x80040239 + TPC_E_INVALID_DATA_FROM_RECOGNIZER Handle = 0x8004023A + TPC_S_TRUNCATED Handle = 0x00040252 + TPC_S_INTERRUPTED Handle = 0x00040253 + TPC_S_NO_DATA_TO_PROCESS Handle = 0x00040254 + XACT_E_FIRST syscall.Errno = 0x8004D000 + XACT_E_LAST syscall.Errno = 0x8004D02B + XACT_S_FIRST syscall.Errno = 0x0004D000 + XACT_S_LAST syscall.Errno = 0x0004D010 + XACT_E_ALREADYOTHERSINGLEPHASE Handle = 0x8004D000 + XACT_E_CANTRETAIN Handle = 0x8004D001 + XACT_E_COMMITFAILED Handle = 0x8004D002 + XACT_E_COMMITPREVENTED Handle = 0x8004D003 + XACT_E_HEURISTICABORT Handle = 0x8004D004 + XACT_E_HEURISTICCOMMIT Handle = 0x8004D005 + XACT_E_HEURISTICDAMAGE Handle = 0x8004D006 + XACT_E_HEURISTICDANGER Handle = 0x8004D007 + XACT_E_ISOLATIONLEVEL Handle = 0x8004D008 + XACT_E_NOASYNC Handle = 0x8004D009 + XACT_E_NOENLIST Handle = 0x8004D00A + XACT_E_NOISORETAIN Handle = 0x8004D00B + XACT_E_NORESOURCE Handle = 0x8004D00C + XACT_E_NOTCURRENT Handle = 0x8004D00D + XACT_E_NOTRANSACTION Handle = 0x8004D00E + XACT_E_NOTSUPPORTED Handle = 0x8004D00F + XACT_E_UNKNOWNRMGRID Handle = 0x8004D010 + XACT_E_WRONGSTATE Handle = 0x8004D011 + XACT_E_WRONGUOW Handle = 0x8004D012 + XACT_E_XTIONEXISTS Handle = 0x8004D013 + XACT_E_NOIMPORTOBJECT Handle = 0x8004D014 + XACT_E_INVALIDCOOKIE Handle = 0x8004D015 + XACT_E_INDOUBT Handle = 0x8004D016 + XACT_E_NOTIMEOUT Handle = 0x8004D017 + XACT_E_ALREADYINPROGRESS Handle = 0x8004D018 + XACT_E_ABORTED Handle = 0x8004D019 + XACT_E_LOGFULL Handle = 0x8004D01A + XACT_E_TMNOTAVAILABLE Handle = 0x8004D01B + XACT_E_CONNECTION_DOWN Handle = 0x8004D01C + XACT_E_CONNECTION_DENIED Handle = 0x8004D01D + XACT_E_REENLISTTIMEOUT Handle = 0x8004D01E + XACT_E_TIP_CONNECT_FAILED Handle = 0x8004D01F + XACT_E_TIP_PROTOCOL_ERROR Handle = 0x8004D020 + XACT_E_TIP_PULL_FAILED Handle = 0x8004D021 + XACT_E_DEST_TMNOTAVAILABLE Handle = 0x8004D022 + XACT_E_TIP_DISABLED Handle = 0x8004D023 + XACT_E_NETWORK_TX_DISABLED Handle = 0x8004D024 + XACT_E_PARTNER_NETWORK_TX_DISABLED Handle = 0x8004D025 + XACT_E_XA_TX_DISABLED Handle = 0x8004D026 + XACT_E_UNABLE_TO_READ_DTC_CONFIG Handle = 0x8004D027 + XACT_E_UNABLE_TO_LOAD_DTC_PROXY Handle = 0x8004D028 + XACT_E_ABORTING Handle = 0x8004D029 + XACT_E_PUSH_COMM_FAILURE Handle = 0x8004D02A + XACT_E_PULL_COMM_FAILURE Handle = 0x8004D02B + XACT_E_LU_TX_DISABLED Handle = 0x8004D02C + XACT_E_CLERKNOTFOUND Handle = 0x8004D080 + XACT_E_CLERKEXISTS Handle = 0x8004D081 + XACT_E_RECOVERYINPROGRESS Handle = 0x8004D082 + XACT_E_TRANSACTIONCLOSED Handle = 0x8004D083 + XACT_E_INVALIDLSN Handle = 0x8004D084 + XACT_E_REPLAYREQUEST Handle = 0x8004D085 + XACT_S_ASYNC Handle = 0x0004D000 + XACT_S_DEFECT Handle = 0x0004D001 + XACT_S_READONLY Handle = 0x0004D002 + XACT_S_SOMENORETAIN Handle = 0x0004D003 + XACT_S_OKINFORM Handle = 0x0004D004 + XACT_S_MADECHANGESCONTENT Handle = 0x0004D005 + XACT_S_MADECHANGESINFORM Handle = 0x0004D006 + XACT_S_ALLNORETAIN Handle = 0x0004D007 + XACT_S_ABORTING Handle = 0x0004D008 + XACT_S_SINGLEPHASE Handle = 0x0004D009 + XACT_S_LOCALLY_OK Handle = 0x0004D00A + XACT_S_LASTRESOURCEMANAGER Handle = 0x0004D010 + CONTEXT_E_FIRST syscall.Errno = 0x8004E000 + CONTEXT_E_LAST syscall.Errno = 0x8004E02F + CONTEXT_S_FIRST syscall.Errno = 0x0004E000 + CONTEXT_S_LAST syscall.Errno = 0x0004E02F + CONTEXT_E_ABORTED Handle = 0x8004E002 + CONTEXT_E_ABORTING Handle = 0x8004E003 + CONTEXT_E_NOCONTEXT Handle = 0x8004E004 + CONTEXT_E_WOULD_DEADLOCK Handle = 0x8004E005 + CONTEXT_E_SYNCH_TIMEOUT Handle = 0x8004E006 + CONTEXT_E_OLDREF Handle = 0x8004E007 + CONTEXT_E_ROLENOTFOUND Handle = 0x8004E00C + CONTEXT_E_TMNOTAVAILABLE Handle = 0x8004E00F + CO_E_ACTIVATIONFAILED Handle = 0x8004E021 + CO_E_ACTIVATIONFAILED_EVENTLOGGED Handle = 0x8004E022 + CO_E_ACTIVATIONFAILED_CATALOGERROR Handle = 0x8004E023 + CO_E_ACTIVATIONFAILED_TIMEOUT Handle = 0x8004E024 + CO_E_INITIALIZATIONFAILED Handle = 0x8004E025 + CONTEXT_E_NOJIT Handle = 0x8004E026 + CONTEXT_E_NOTRANSACTION Handle = 0x8004E027 + CO_E_THREADINGMODEL_CHANGED Handle = 0x8004E028 + CO_E_NOIISINTRINSICS Handle = 0x8004E029 + CO_E_NOCOOKIES Handle = 0x8004E02A + CO_E_DBERROR Handle = 0x8004E02B + CO_E_NOTPOOLED Handle = 0x8004E02C + CO_E_NOTCONSTRUCTED Handle = 0x8004E02D + CO_E_NOSYNCHRONIZATION Handle = 0x8004E02E + CO_E_ISOLEVELMISMATCH Handle = 0x8004E02F + CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED Handle = 0x8004E030 + CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED Handle = 0x8004E031 + OLE_S_USEREG Handle = 0x00040000 + OLE_S_STATIC Handle = 0x00040001 + OLE_S_MAC_CLIPFORMAT Handle = 0x00040002 + DRAGDROP_S_DROP Handle = 0x00040100 + DRAGDROP_S_CANCEL Handle = 0x00040101 + DRAGDROP_S_USEDEFAULTCURSORS Handle = 0x00040102 + DATA_S_SAMEFORMATETC Handle = 0x00040130 + VIEW_S_ALREADY_FROZEN Handle = 0x00040140 + CACHE_S_FORMATETC_NOTSUPPORTED Handle = 0x00040170 + CACHE_S_SAMECACHE Handle = 0x00040171 + CACHE_S_SOMECACHES_NOTUPDATED Handle = 0x00040172 + OLEOBJ_S_INVALIDVERB Handle = 0x00040180 + OLEOBJ_S_CANNOT_DOVERB_NOW Handle = 0x00040181 + OLEOBJ_S_INVALIDHWND Handle = 0x00040182 + INPLACE_S_TRUNCATED Handle = 0x000401A0 + CONVERT10_S_NO_PRESENTATION Handle = 0x000401C0 + MK_S_REDUCED_TO_SELF Handle = 0x000401E2 + MK_S_ME Handle = 0x000401E4 + MK_S_HIM Handle = 0x000401E5 + MK_S_US Handle = 0x000401E6 + MK_S_MONIKERALREADYREGISTERED Handle = 0x000401E7 + SCHED_S_TASK_READY Handle = 0x00041300 + SCHED_S_TASK_RUNNING Handle = 0x00041301 + SCHED_S_TASK_DISABLED Handle = 0x00041302 + SCHED_S_TASK_HAS_NOT_RUN Handle = 0x00041303 + SCHED_S_TASK_NO_MORE_RUNS Handle = 0x00041304 + SCHED_S_TASK_NOT_SCHEDULED Handle = 0x00041305 + SCHED_S_TASK_TERMINATED Handle = 0x00041306 + SCHED_S_TASK_NO_VALID_TRIGGERS Handle = 0x00041307 + SCHED_S_EVENT_TRIGGER Handle = 0x00041308 + SCHED_E_TRIGGER_NOT_FOUND Handle = 0x80041309 + SCHED_E_TASK_NOT_READY Handle = 0x8004130A + SCHED_E_TASK_NOT_RUNNING Handle = 0x8004130B + SCHED_E_SERVICE_NOT_INSTALLED Handle = 0x8004130C + SCHED_E_CANNOT_OPEN_TASK Handle = 0x8004130D + SCHED_E_INVALID_TASK Handle = 0x8004130E + SCHED_E_ACCOUNT_INFORMATION_NOT_SET Handle = 0x8004130F + SCHED_E_ACCOUNT_NAME_NOT_FOUND Handle = 0x80041310 + SCHED_E_ACCOUNT_DBASE_CORRUPT Handle = 0x80041311 + SCHED_E_NO_SECURITY_SERVICES Handle = 0x80041312 + SCHED_E_UNKNOWN_OBJECT_VERSION Handle = 0x80041313 + SCHED_E_UNSUPPORTED_ACCOUNT_OPTION Handle = 0x80041314 + SCHED_E_SERVICE_NOT_RUNNING Handle = 0x80041315 + SCHED_E_UNEXPECTEDNODE Handle = 0x80041316 + SCHED_E_NAMESPACE Handle = 0x80041317 + SCHED_E_INVALIDVALUE Handle = 0x80041318 + SCHED_E_MISSINGNODE Handle = 0x80041319 + SCHED_E_MALFORMEDXML Handle = 0x8004131A + SCHED_S_SOME_TRIGGERS_FAILED Handle = 0x0004131B + SCHED_S_BATCH_LOGON_PROBLEM Handle = 0x0004131C + SCHED_E_TOO_MANY_NODES Handle = 0x8004131D + SCHED_E_PAST_END_BOUNDARY Handle = 0x8004131E + SCHED_E_ALREADY_RUNNING Handle = 0x8004131F + SCHED_E_USER_NOT_LOGGED_ON Handle = 0x80041320 + SCHED_E_INVALID_TASK_HASH Handle = 0x80041321 + SCHED_E_SERVICE_NOT_AVAILABLE Handle = 0x80041322 + SCHED_E_SERVICE_TOO_BUSY Handle = 0x80041323 + SCHED_E_TASK_ATTEMPTED Handle = 0x80041324 + SCHED_S_TASK_QUEUED Handle = 0x00041325 + SCHED_E_TASK_DISABLED Handle = 0x80041326 + SCHED_E_TASK_NOT_V1_COMPAT Handle = 0x80041327 + SCHED_E_START_ON_DEMAND Handle = 0x80041328 + SCHED_E_TASK_NOT_UBPM_COMPAT Handle = 0x80041329 + SCHED_E_DEPRECATED_FEATURE_USED Handle = 0x80041330 + CO_E_CLASS_CREATE_FAILED Handle = 0x80080001 + CO_E_SCM_ERROR Handle = 0x80080002 + CO_E_SCM_RPC_FAILURE Handle = 0x80080003 + CO_E_BAD_PATH Handle = 0x80080004 + CO_E_SERVER_EXEC_FAILURE Handle = 0x80080005 + CO_E_OBJSRV_RPC_FAILURE Handle = 0x80080006 + MK_E_NO_NORMALIZED Handle = 0x80080007 + CO_E_SERVER_STOPPING Handle = 0x80080008 + MEM_E_INVALID_ROOT Handle = 0x80080009 + MEM_E_INVALID_LINK Handle = 0x80080010 + MEM_E_INVALID_SIZE Handle = 0x80080011 + CO_S_NOTALLINTERFACES Handle = 0x00080012 + CO_S_MACHINENAMENOTFOUND Handle = 0x00080013 + CO_E_MISSING_DISPLAYNAME Handle = 0x80080015 + CO_E_RUNAS_VALUE_MUST_BE_AAA Handle = 0x80080016 + CO_E_ELEVATION_DISABLED Handle = 0x80080017 + APPX_E_PACKAGING_INTERNAL Handle = 0x80080200 + APPX_E_INTERLEAVING_NOT_ALLOWED Handle = 0x80080201 + APPX_E_RELATIONSHIPS_NOT_ALLOWED Handle = 0x80080202 + APPX_E_MISSING_REQUIRED_FILE Handle = 0x80080203 + APPX_E_INVALID_MANIFEST Handle = 0x80080204 + APPX_E_INVALID_BLOCKMAP Handle = 0x80080205 + APPX_E_CORRUPT_CONTENT Handle = 0x80080206 + APPX_E_BLOCK_HASH_INVALID Handle = 0x80080207 + APPX_E_REQUESTED_RANGE_TOO_LARGE Handle = 0x80080208 + APPX_E_INVALID_SIP_CLIENT_DATA Handle = 0x80080209 + APPX_E_INVALID_KEY_INFO Handle = 0x8008020A + APPX_E_INVALID_CONTENTGROUPMAP Handle = 0x8008020B + APPX_E_INVALID_APPINSTALLER Handle = 0x8008020C + APPX_E_DELTA_BASELINE_VERSION_MISMATCH Handle = 0x8008020D + APPX_E_DELTA_PACKAGE_MISSING_FILE Handle = 0x8008020E + APPX_E_INVALID_DELTA_PACKAGE Handle = 0x8008020F + APPX_E_DELTA_APPENDED_PACKAGE_NOT_ALLOWED Handle = 0x80080210 + APPX_E_INVALID_PACKAGING_LAYOUT Handle = 0x80080211 + APPX_E_INVALID_PACKAGESIGNCONFIG Handle = 0x80080212 + APPX_E_RESOURCESPRI_NOT_ALLOWED Handle = 0x80080213 + APPX_E_FILE_COMPRESSION_MISMATCH Handle = 0x80080214 + APPX_E_INVALID_PAYLOAD_PACKAGE_EXTENSION Handle = 0x80080215 + APPX_E_INVALID_ENCRYPTION_EXCLUSION_FILE_LIST Handle = 0x80080216 + BT_E_SPURIOUS_ACTIVATION Handle = 0x80080300 + DISP_E_UNKNOWNINTERFACE Handle = 0x80020001 + DISP_E_MEMBERNOTFOUND Handle = 0x80020003 + DISP_E_PARAMNOTFOUND Handle = 0x80020004 + DISP_E_TYPEMISMATCH Handle = 0x80020005 + DISP_E_UNKNOWNNAME Handle = 0x80020006 + DISP_E_NONAMEDARGS Handle = 0x80020007 + DISP_E_BADVARTYPE Handle = 0x80020008 + DISP_E_EXCEPTION Handle = 0x80020009 + DISP_E_OVERFLOW Handle = 0x8002000A + DISP_E_BADINDEX Handle = 0x8002000B + DISP_E_UNKNOWNLCID Handle = 0x8002000C + DISP_E_ARRAYISLOCKED Handle = 0x8002000D + DISP_E_BADPARAMCOUNT Handle = 0x8002000E + DISP_E_PARAMNOTOPTIONAL Handle = 0x8002000F + DISP_E_BADCALLEE Handle = 0x80020010 + DISP_E_NOTACOLLECTION Handle = 0x80020011 + DISP_E_DIVBYZERO Handle = 0x80020012 + DISP_E_BUFFERTOOSMALL Handle = 0x80020013 + TYPE_E_BUFFERTOOSMALL Handle = 0x80028016 + TYPE_E_FIELDNOTFOUND Handle = 0x80028017 + TYPE_E_INVDATAREAD Handle = 0x80028018 + TYPE_E_UNSUPFORMAT Handle = 0x80028019 + TYPE_E_REGISTRYACCESS Handle = 0x8002801C + TYPE_E_LIBNOTREGISTERED Handle = 0x8002801D + TYPE_E_UNDEFINEDTYPE Handle = 0x80028027 + TYPE_E_QUALIFIEDNAMEDISALLOWED Handle = 0x80028028 + TYPE_E_INVALIDSTATE Handle = 0x80028029 + TYPE_E_WRONGTYPEKIND Handle = 0x8002802A + TYPE_E_ELEMENTNOTFOUND Handle = 0x8002802B + TYPE_E_AMBIGUOUSNAME Handle = 0x8002802C + TYPE_E_NAMECONFLICT Handle = 0x8002802D + TYPE_E_UNKNOWNLCID Handle = 0x8002802E + TYPE_E_DLLFUNCTIONNOTFOUND Handle = 0x8002802F + TYPE_E_BADMODULEKIND Handle = 0x800288BD + TYPE_E_SIZETOOBIG Handle = 0x800288C5 + TYPE_E_DUPLICATEID Handle = 0x800288C6 + TYPE_E_INVALIDID Handle = 0x800288CF + TYPE_E_TYPEMISMATCH Handle = 0x80028CA0 + TYPE_E_OUTOFBOUNDS Handle = 0x80028CA1 + TYPE_E_IOERROR Handle = 0x80028CA2 + TYPE_E_CANTCREATETMPFILE Handle = 0x80028CA3 + TYPE_E_CANTLOADLIBRARY Handle = 0x80029C4A + TYPE_E_INCONSISTENTPROPFUNCS Handle = 0x80029C83 + TYPE_E_CIRCULARTYPE Handle = 0x80029C84 + STG_E_INVALIDFUNCTION Handle = 0x80030001 + STG_E_FILENOTFOUND Handle = 0x80030002 + STG_E_PATHNOTFOUND Handle = 0x80030003 + STG_E_TOOMANYOPENFILES Handle = 0x80030004 + STG_E_ACCESSDENIED Handle = 0x80030005 + STG_E_INVALIDHANDLE Handle = 0x80030006 + STG_E_INSUFFICIENTMEMORY Handle = 0x80030008 + STG_E_INVALIDPOINTER Handle = 0x80030009 + STG_E_NOMOREFILES Handle = 0x80030012 + STG_E_DISKISWRITEPROTECTED Handle = 0x80030013 + STG_E_SEEKERROR Handle = 0x80030019 + STG_E_WRITEFAULT Handle = 0x8003001D + STG_E_READFAULT Handle = 0x8003001E + STG_E_SHAREVIOLATION Handle = 0x80030020 + STG_E_LOCKVIOLATION Handle = 0x80030021 + STG_E_FILEALREADYEXISTS Handle = 0x80030050 + STG_E_INVALIDPARAMETER Handle = 0x80030057 + STG_E_MEDIUMFULL Handle = 0x80030070 + STG_E_PROPSETMISMATCHED Handle = 0x800300F0 + STG_E_ABNORMALAPIEXIT Handle = 0x800300FA + STG_E_INVALIDHEADER Handle = 0x800300FB + STG_E_INVALIDNAME Handle = 0x800300FC + STG_E_UNKNOWN Handle = 0x800300FD + STG_E_UNIMPLEMENTEDFUNCTION Handle = 0x800300FE + STG_E_INVALIDFLAG Handle = 0x800300FF + STG_E_INUSE Handle = 0x80030100 + STG_E_NOTCURRENT Handle = 0x80030101 + STG_E_REVERTED Handle = 0x80030102 + STG_E_CANTSAVE Handle = 0x80030103 + STG_E_OLDFORMAT Handle = 0x80030104 + STG_E_OLDDLL Handle = 0x80030105 + STG_E_SHAREREQUIRED Handle = 0x80030106 + STG_E_NOTFILEBASEDSTORAGE Handle = 0x80030107 + STG_E_EXTANTMARSHALLINGS Handle = 0x80030108 + STG_E_DOCFILECORRUPT Handle = 0x80030109 + STG_E_BADBASEADDRESS Handle = 0x80030110 + STG_E_DOCFILETOOLARGE Handle = 0x80030111 + STG_E_NOTSIMPLEFORMAT Handle = 0x80030112 + STG_E_INCOMPLETE Handle = 0x80030201 + STG_E_TERMINATED Handle = 0x80030202 + STG_S_CONVERTED Handle = 0x00030200 + STG_S_BLOCK Handle = 0x00030201 + STG_S_RETRYNOW Handle = 0x00030202 + STG_S_MONITORING Handle = 0x00030203 + STG_S_MULTIPLEOPENS Handle = 0x00030204 + STG_S_CONSOLIDATIONFAILED Handle = 0x00030205 + STG_S_CANNOTCONSOLIDATE Handle = 0x00030206 + STG_S_POWER_CYCLE_REQUIRED Handle = 0x00030207 + STG_E_FIRMWARE_SLOT_INVALID Handle = 0x80030208 + STG_E_FIRMWARE_IMAGE_INVALID Handle = 0x80030209 + STG_E_DEVICE_UNRESPONSIVE Handle = 0x8003020A + STG_E_STATUS_COPY_PROTECTION_FAILURE Handle = 0x80030305 + STG_E_CSS_AUTHENTICATION_FAILURE Handle = 0x80030306 + STG_E_CSS_KEY_NOT_PRESENT Handle = 0x80030307 + STG_E_CSS_KEY_NOT_ESTABLISHED Handle = 0x80030308 + STG_E_CSS_SCRAMBLED_SECTOR Handle = 0x80030309 + STG_E_CSS_REGION_MISMATCH Handle = 0x8003030A + STG_E_RESETS_EXHAUSTED Handle = 0x8003030B + RPC_E_CALL_REJECTED Handle = 0x80010001 + RPC_E_CALL_CANCELED Handle = 0x80010002 + RPC_E_CANTPOST_INSENDCALL Handle = 0x80010003 + RPC_E_CANTCALLOUT_INASYNCCALL Handle = 0x80010004 + RPC_E_CANTCALLOUT_INEXTERNALCALL Handle = 0x80010005 + RPC_E_CONNECTION_TERMINATED Handle = 0x80010006 + RPC_E_SERVER_DIED Handle = 0x80010007 + RPC_E_CLIENT_DIED Handle = 0x80010008 + RPC_E_INVALID_DATAPACKET Handle = 0x80010009 + RPC_E_CANTTRANSMIT_CALL Handle = 0x8001000A + RPC_E_CLIENT_CANTMARSHAL_DATA Handle = 0x8001000B + RPC_E_CLIENT_CANTUNMARSHAL_DATA Handle = 0x8001000C + RPC_E_SERVER_CANTMARSHAL_DATA Handle = 0x8001000D + RPC_E_SERVER_CANTUNMARSHAL_DATA Handle = 0x8001000E + RPC_E_INVALID_DATA Handle = 0x8001000F + RPC_E_INVALID_PARAMETER Handle = 0x80010010 + RPC_E_CANTCALLOUT_AGAIN Handle = 0x80010011 + RPC_E_SERVER_DIED_DNE Handle = 0x80010012 + RPC_E_SYS_CALL_FAILED Handle = 0x80010100 + RPC_E_OUT_OF_RESOURCES Handle = 0x80010101 + RPC_E_ATTEMPTED_MULTITHREAD Handle = 0x80010102 + RPC_E_NOT_REGISTERED Handle = 0x80010103 + RPC_E_FAULT Handle = 0x80010104 + RPC_E_SERVERFAULT Handle = 0x80010105 + RPC_E_CHANGED_MODE Handle = 0x80010106 + RPC_E_INVALIDMETHOD Handle = 0x80010107 + RPC_E_DISCONNECTED Handle = 0x80010108 + RPC_E_RETRY Handle = 0x80010109 + RPC_E_SERVERCALL_RETRYLATER Handle = 0x8001010A + RPC_E_SERVERCALL_REJECTED Handle = 0x8001010B + RPC_E_INVALID_CALLDATA Handle = 0x8001010C + RPC_E_CANTCALLOUT_ININPUTSYNCCALL Handle = 0x8001010D + RPC_E_WRONG_THREAD Handle = 0x8001010E + RPC_E_THREAD_NOT_INIT Handle = 0x8001010F + RPC_E_VERSION_MISMATCH Handle = 0x80010110 + RPC_E_INVALID_HEADER Handle = 0x80010111 + RPC_E_INVALID_EXTENSION Handle = 0x80010112 + RPC_E_INVALID_IPID Handle = 0x80010113 + RPC_E_INVALID_OBJECT Handle = 0x80010114 + RPC_S_CALLPENDING Handle = 0x80010115 + RPC_S_WAITONTIMER Handle = 0x80010116 + RPC_E_CALL_COMPLETE Handle = 0x80010117 + RPC_E_UNSECURE_CALL Handle = 0x80010118 + RPC_E_TOO_LATE Handle = 0x80010119 + RPC_E_NO_GOOD_SECURITY_PACKAGES Handle = 0x8001011A + RPC_E_ACCESS_DENIED Handle = 0x8001011B + RPC_E_REMOTE_DISABLED Handle = 0x8001011C + RPC_E_INVALID_OBJREF Handle = 0x8001011D + RPC_E_NO_CONTEXT Handle = 0x8001011E + RPC_E_TIMEOUT Handle = 0x8001011F + RPC_E_NO_SYNC Handle = 0x80010120 + RPC_E_FULLSIC_REQUIRED Handle = 0x80010121 + RPC_E_INVALID_STD_NAME Handle = 0x80010122 + CO_E_FAILEDTOIMPERSONATE Handle = 0x80010123 + CO_E_FAILEDTOGETSECCTX Handle = 0x80010124 + CO_E_FAILEDTOOPENTHREADTOKEN Handle = 0x80010125 + CO_E_FAILEDTOGETTOKENINFO Handle = 0x80010126 + CO_E_TRUSTEEDOESNTMATCHCLIENT Handle = 0x80010127 + CO_E_FAILEDTOQUERYCLIENTBLANKET Handle = 0x80010128 + CO_E_FAILEDTOSETDACL Handle = 0x80010129 + CO_E_ACCESSCHECKFAILED Handle = 0x8001012A + CO_E_NETACCESSAPIFAILED Handle = 0x8001012B + CO_E_WRONGTRUSTEENAMESYNTAX Handle = 0x8001012C + CO_E_INVALIDSID Handle = 0x8001012D + CO_E_CONVERSIONFAILED Handle = 0x8001012E + CO_E_NOMATCHINGSIDFOUND Handle = 0x8001012F + CO_E_LOOKUPACCSIDFAILED Handle = 0x80010130 + CO_E_NOMATCHINGNAMEFOUND Handle = 0x80010131 + CO_E_LOOKUPACCNAMEFAILED Handle = 0x80010132 + CO_E_SETSERLHNDLFAILED Handle = 0x80010133 + CO_E_FAILEDTOGETWINDIR Handle = 0x80010134 + CO_E_PATHTOOLONG Handle = 0x80010135 + CO_E_FAILEDTOGENUUID Handle = 0x80010136 + CO_E_FAILEDTOCREATEFILE Handle = 0x80010137 + CO_E_FAILEDTOCLOSEHANDLE Handle = 0x80010138 + CO_E_EXCEEDSYSACLLIMIT Handle = 0x80010139 + CO_E_ACESINWRONGORDER Handle = 0x8001013A + CO_E_INCOMPATIBLESTREAMVERSION Handle = 0x8001013B + CO_E_FAILEDTOOPENPROCESSTOKEN Handle = 0x8001013C + CO_E_DECODEFAILED Handle = 0x8001013D + CO_E_ACNOTINITIALIZED Handle = 0x8001013F + CO_E_CANCEL_DISABLED Handle = 0x80010140 + RPC_E_UNEXPECTED Handle = 0x8001FFFF + ERROR_AUDITING_DISABLED Handle = 0xC0090001 + ERROR_ALL_SIDS_FILTERED Handle = 0xC0090002 + ERROR_BIZRULES_NOT_ENABLED Handle = 0xC0090003 + NTE_BAD_UID Handle = 0x80090001 + NTE_BAD_HASH Handle = 0x80090002 + NTE_BAD_KEY Handle = 0x80090003 + NTE_BAD_LEN Handle = 0x80090004 + NTE_BAD_DATA Handle = 0x80090005 + NTE_BAD_SIGNATURE Handle = 0x80090006 + NTE_BAD_VER Handle = 0x80090007 + NTE_BAD_ALGID Handle = 0x80090008 + NTE_BAD_FLAGS Handle = 0x80090009 + NTE_BAD_TYPE Handle = 0x8009000A + NTE_BAD_KEY_STATE Handle = 0x8009000B + NTE_BAD_HASH_STATE Handle = 0x8009000C + NTE_NO_KEY Handle = 0x8009000D + NTE_NO_MEMORY Handle = 0x8009000E + NTE_EXISTS Handle = 0x8009000F + NTE_PERM Handle = 0x80090010 + NTE_NOT_FOUND Handle = 0x80090011 + NTE_DOUBLE_ENCRYPT Handle = 0x80090012 + NTE_BAD_PROVIDER Handle = 0x80090013 + NTE_BAD_PROV_TYPE Handle = 0x80090014 + NTE_BAD_PUBLIC_KEY Handle = 0x80090015 + NTE_BAD_KEYSET Handle = 0x80090016 + NTE_PROV_TYPE_NOT_DEF Handle = 0x80090017 + NTE_PROV_TYPE_ENTRY_BAD Handle = 0x80090018 + NTE_KEYSET_NOT_DEF Handle = 0x80090019 + NTE_KEYSET_ENTRY_BAD Handle = 0x8009001A + NTE_PROV_TYPE_NO_MATCH Handle = 0x8009001B + NTE_SIGNATURE_FILE_BAD Handle = 0x8009001C + NTE_PROVIDER_DLL_FAIL Handle = 0x8009001D + NTE_PROV_DLL_NOT_FOUND Handle = 0x8009001E + NTE_BAD_KEYSET_PARAM Handle = 0x8009001F + NTE_FAIL Handle = 0x80090020 + NTE_SYS_ERR Handle = 0x80090021 + NTE_SILENT_CONTEXT Handle = 0x80090022 + NTE_TOKEN_KEYSET_STORAGE_FULL Handle = 0x80090023 + NTE_TEMPORARY_PROFILE Handle = 0x80090024 + NTE_FIXEDPARAMETER Handle = 0x80090025 + NTE_INVALID_HANDLE Handle = 0x80090026 + NTE_INVALID_PARAMETER Handle = 0x80090027 + NTE_BUFFER_TOO_SMALL Handle = 0x80090028 + NTE_NOT_SUPPORTED Handle = 0x80090029 + NTE_NO_MORE_ITEMS Handle = 0x8009002A + NTE_BUFFERS_OVERLAP Handle = 0x8009002B + NTE_DECRYPTION_FAILURE Handle = 0x8009002C + NTE_INTERNAL_ERROR Handle = 0x8009002D + NTE_UI_REQUIRED Handle = 0x8009002E + NTE_HMAC_NOT_SUPPORTED Handle = 0x8009002F + NTE_DEVICE_NOT_READY Handle = 0x80090030 + NTE_AUTHENTICATION_IGNORED Handle = 0x80090031 + NTE_VALIDATION_FAILED Handle = 0x80090032 + NTE_INCORRECT_PASSWORD Handle = 0x80090033 + NTE_ENCRYPTION_FAILURE Handle = 0x80090034 + NTE_DEVICE_NOT_FOUND Handle = 0x80090035 + NTE_USER_CANCELLED Handle = 0x80090036 + NTE_PASSWORD_CHANGE_REQUIRED Handle = 0x80090037 + NTE_NOT_ACTIVE_CONSOLE Handle = 0x80090038 + SEC_E_INSUFFICIENT_MEMORY Handle = 0x80090300 + SEC_E_INVALID_HANDLE Handle = 0x80090301 + SEC_E_UNSUPPORTED_FUNCTION Handle = 0x80090302 + SEC_E_TARGET_UNKNOWN Handle = 0x80090303 + SEC_E_INTERNAL_ERROR Handle = 0x80090304 + SEC_E_SECPKG_NOT_FOUND Handle = 0x80090305 + SEC_E_NOT_OWNER Handle = 0x80090306 + SEC_E_CANNOT_INSTALL Handle = 0x80090307 + SEC_E_INVALID_TOKEN Handle = 0x80090308 + SEC_E_CANNOT_PACK Handle = 0x80090309 + SEC_E_QOP_NOT_SUPPORTED Handle = 0x8009030A + SEC_E_NO_IMPERSONATION Handle = 0x8009030B + SEC_E_LOGON_DENIED Handle = 0x8009030C + SEC_E_UNKNOWN_CREDENTIALS Handle = 0x8009030D + SEC_E_NO_CREDENTIALS Handle = 0x8009030E + SEC_E_MESSAGE_ALTERED Handle = 0x8009030F + SEC_E_OUT_OF_SEQUENCE Handle = 0x80090310 + SEC_E_NO_AUTHENTICATING_AUTHORITY Handle = 0x80090311 + SEC_I_CONTINUE_NEEDED Handle = 0x00090312 + SEC_I_COMPLETE_NEEDED Handle = 0x00090313 + SEC_I_COMPLETE_AND_CONTINUE Handle = 0x00090314 + SEC_I_LOCAL_LOGON Handle = 0x00090315 + SEC_I_GENERIC_EXTENSION_RECEIVED Handle = 0x00090316 + SEC_E_BAD_PKGID Handle = 0x80090316 + SEC_E_CONTEXT_EXPIRED Handle = 0x80090317 + SEC_I_CONTEXT_EXPIRED Handle = 0x00090317 + SEC_E_INCOMPLETE_MESSAGE Handle = 0x80090318 + SEC_E_INCOMPLETE_CREDENTIALS Handle = 0x80090320 + SEC_E_BUFFER_TOO_SMALL Handle = 0x80090321 + SEC_I_INCOMPLETE_CREDENTIALS Handle = 0x00090320 + SEC_I_RENEGOTIATE Handle = 0x00090321 + SEC_E_WRONG_PRINCIPAL Handle = 0x80090322 + SEC_I_NO_LSA_CONTEXT Handle = 0x00090323 + SEC_E_TIME_SKEW Handle = 0x80090324 + SEC_E_UNTRUSTED_ROOT Handle = 0x80090325 + SEC_E_ILLEGAL_MESSAGE Handle = 0x80090326 + SEC_E_CERT_UNKNOWN Handle = 0x80090327 + SEC_E_CERT_EXPIRED Handle = 0x80090328 + SEC_E_ENCRYPT_FAILURE Handle = 0x80090329 + SEC_E_DECRYPT_FAILURE Handle = 0x80090330 + SEC_E_ALGORITHM_MISMATCH Handle = 0x80090331 + SEC_E_SECURITY_QOS_FAILED Handle = 0x80090332 + SEC_E_UNFINISHED_CONTEXT_DELETED Handle = 0x80090333 + SEC_E_NO_TGT_REPLY Handle = 0x80090334 + SEC_E_NO_IP_ADDRESSES Handle = 0x80090335 + SEC_E_WRONG_CREDENTIAL_HANDLE Handle = 0x80090336 + SEC_E_CRYPTO_SYSTEM_INVALID Handle = 0x80090337 + SEC_E_MAX_REFERRALS_EXCEEDED Handle = 0x80090338 + SEC_E_MUST_BE_KDC Handle = 0x80090339 + SEC_E_STRONG_CRYPTO_NOT_SUPPORTED Handle = 0x8009033A + SEC_E_TOO_MANY_PRINCIPALS Handle = 0x8009033B + SEC_E_NO_PA_DATA Handle = 0x8009033C + SEC_E_PKINIT_NAME_MISMATCH Handle = 0x8009033D + SEC_E_SMARTCARD_LOGON_REQUIRED Handle = 0x8009033E + SEC_E_SHUTDOWN_IN_PROGRESS Handle = 0x8009033F + SEC_E_KDC_INVALID_REQUEST Handle = 0x80090340 + SEC_E_KDC_UNABLE_TO_REFER Handle = 0x80090341 + SEC_E_KDC_UNKNOWN_ETYPE Handle = 0x80090342 + SEC_E_UNSUPPORTED_PREAUTH Handle = 0x80090343 + SEC_E_DELEGATION_REQUIRED Handle = 0x80090345 + SEC_E_BAD_BINDINGS Handle = 0x80090346 + SEC_E_MULTIPLE_ACCOUNTS Handle = 0x80090347 + SEC_E_NO_KERB_KEY Handle = 0x80090348 + SEC_E_CERT_WRONG_USAGE Handle = 0x80090349 + SEC_E_DOWNGRADE_DETECTED Handle = 0x80090350 + SEC_E_SMARTCARD_CERT_REVOKED Handle = 0x80090351 + SEC_E_ISSUING_CA_UNTRUSTED Handle = 0x80090352 + SEC_E_REVOCATION_OFFLINE_C Handle = 0x80090353 + SEC_E_PKINIT_CLIENT_FAILURE Handle = 0x80090354 + SEC_E_SMARTCARD_CERT_EXPIRED Handle = 0x80090355 + SEC_E_NO_S4U_PROT_SUPPORT Handle = 0x80090356 + SEC_E_CROSSREALM_DELEGATION_FAILURE Handle = 0x80090357 + SEC_E_REVOCATION_OFFLINE_KDC Handle = 0x80090358 + SEC_E_ISSUING_CA_UNTRUSTED_KDC Handle = 0x80090359 + SEC_E_KDC_CERT_EXPIRED Handle = 0x8009035A + SEC_E_KDC_CERT_REVOKED Handle = 0x8009035B + SEC_I_SIGNATURE_NEEDED Handle = 0x0009035C + SEC_E_INVALID_PARAMETER Handle = 0x8009035D + SEC_E_DELEGATION_POLICY Handle = 0x8009035E + SEC_E_POLICY_NLTM_ONLY Handle = 0x8009035F + SEC_I_NO_RENEGOTIATION Handle = 0x00090360 + SEC_E_NO_CONTEXT Handle = 0x80090361 + SEC_E_PKU2U_CERT_FAILURE Handle = 0x80090362 + SEC_E_MUTUAL_AUTH_FAILED Handle = 0x80090363 + SEC_I_MESSAGE_FRAGMENT Handle = 0x00090364 + SEC_E_ONLY_HTTPS_ALLOWED Handle = 0x80090365 + SEC_I_CONTINUE_NEEDED_MESSAGE_OK Handle = 0x00090366 + SEC_E_APPLICATION_PROTOCOL_MISMATCH Handle = 0x80090367 + SEC_I_ASYNC_CALL_PENDING Handle = 0x00090368 + SEC_E_INVALID_UPN_NAME Handle = 0x80090369 + SEC_E_EXT_BUFFER_TOO_SMALL Handle = 0x8009036A + SEC_E_INSUFFICIENT_BUFFERS Handle = 0x8009036B + SEC_E_NO_SPM = SEC_E_INTERNAL_ERROR + SEC_E_NOT_SUPPORTED = SEC_E_UNSUPPORTED_FUNCTION + CRYPT_E_MSG_ERROR Handle = 0x80091001 + CRYPT_E_UNKNOWN_ALGO Handle = 0x80091002 + CRYPT_E_OID_FORMAT Handle = 0x80091003 + CRYPT_E_INVALID_MSG_TYPE Handle = 0x80091004 + CRYPT_E_UNEXPECTED_ENCODING Handle = 0x80091005 + CRYPT_E_AUTH_ATTR_MISSING Handle = 0x80091006 + CRYPT_E_HASH_VALUE Handle = 0x80091007 + CRYPT_E_INVALID_INDEX Handle = 0x80091008 + CRYPT_E_ALREADY_DECRYPTED Handle = 0x80091009 + CRYPT_E_NOT_DECRYPTED Handle = 0x8009100A + CRYPT_E_RECIPIENT_NOT_FOUND Handle = 0x8009100B + CRYPT_E_CONTROL_TYPE Handle = 0x8009100C + CRYPT_E_ISSUER_SERIALNUMBER Handle = 0x8009100D + CRYPT_E_SIGNER_NOT_FOUND Handle = 0x8009100E + CRYPT_E_ATTRIBUTES_MISSING Handle = 0x8009100F + CRYPT_E_STREAM_MSG_NOT_READY Handle = 0x80091010 + CRYPT_E_STREAM_INSUFFICIENT_DATA Handle = 0x80091011 + CRYPT_I_NEW_PROTECTION_REQUIRED Handle = 0x00091012 + CRYPT_E_BAD_LEN Handle = 0x80092001 + CRYPT_E_BAD_ENCODE Handle = 0x80092002 + CRYPT_E_FILE_ERROR Handle = 0x80092003 + CRYPT_E_NOT_FOUND Handle = 0x80092004 + CRYPT_E_EXISTS Handle = 0x80092005 + CRYPT_E_NO_PROVIDER Handle = 0x80092006 + CRYPT_E_SELF_SIGNED Handle = 0x80092007 + CRYPT_E_DELETED_PREV Handle = 0x80092008 + CRYPT_E_NO_MATCH Handle = 0x80092009 + CRYPT_E_UNEXPECTED_MSG_TYPE Handle = 0x8009200A + CRYPT_E_NO_KEY_PROPERTY Handle = 0x8009200B + CRYPT_E_NO_DECRYPT_CERT Handle = 0x8009200C + CRYPT_E_BAD_MSG Handle = 0x8009200D + CRYPT_E_NO_SIGNER Handle = 0x8009200E + CRYPT_E_PENDING_CLOSE Handle = 0x8009200F + CRYPT_E_REVOKED Handle = 0x80092010 + CRYPT_E_NO_REVOCATION_DLL Handle = 0x80092011 + CRYPT_E_NO_REVOCATION_CHECK Handle = 0x80092012 + CRYPT_E_REVOCATION_OFFLINE Handle = 0x80092013 + CRYPT_E_NOT_IN_REVOCATION_DATABASE Handle = 0x80092014 + CRYPT_E_INVALID_NUMERIC_STRING Handle = 0x80092020 + CRYPT_E_INVALID_PRINTABLE_STRING Handle = 0x80092021 + CRYPT_E_INVALID_IA5_STRING Handle = 0x80092022 + CRYPT_E_INVALID_X500_STRING Handle = 0x80092023 + CRYPT_E_NOT_CHAR_STRING Handle = 0x80092024 + CRYPT_E_FILERESIZED Handle = 0x80092025 + CRYPT_E_SECURITY_SETTINGS Handle = 0x80092026 + CRYPT_E_NO_VERIFY_USAGE_DLL Handle = 0x80092027 + CRYPT_E_NO_VERIFY_USAGE_CHECK Handle = 0x80092028 + CRYPT_E_VERIFY_USAGE_OFFLINE Handle = 0x80092029 + CRYPT_E_NOT_IN_CTL Handle = 0x8009202A + CRYPT_E_NO_TRUSTED_SIGNER Handle = 0x8009202B + CRYPT_E_MISSING_PUBKEY_PARA Handle = 0x8009202C + CRYPT_E_OBJECT_LOCATOR_OBJECT_NOT_FOUND Handle = 0x8009202D + CRYPT_E_OSS_ERROR Handle = 0x80093000 + OSS_MORE_BUF Handle = 0x80093001 + OSS_NEGATIVE_UINTEGER Handle = 0x80093002 + OSS_PDU_RANGE Handle = 0x80093003 + OSS_MORE_INPUT Handle = 0x80093004 + OSS_DATA_ERROR Handle = 0x80093005 + OSS_BAD_ARG Handle = 0x80093006 + OSS_BAD_VERSION Handle = 0x80093007 + OSS_OUT_MEMORY Handle = 0x80093008 + OSS_PDU_MISMATCH Handle = 0x80093009 + OSS_LIMITED Handle = 0x8009300A + OSS_BAD_PTR Handle = 0x8009300B + OSS_BAD_TIME Handle = 0x8009300C + OSS_INDEFINITE_NOT_SUPPORTED Handle = 0x8009300D + OSS_MEM_ERROR Handle = 0x8009300E + OSS_BAD_TABLE Handle = 0x8009300F + OSS_TOO_LONG Handle = 0x80093010 + OSS_CONSTRAINT_VIOLATED Handle = 0x80093011 + OSS_FATAL_ERROR Handle = 0x80093012 + OSS_ACCESS_SERIALIZATION_ERROR Handle = 0x80093013 + OSS_NULL_TBL Handle = 0x80093014 + OSS_NULL_FCN Handle = 0x80093015 + OSS_BAD_ENCRULES Handle = 0x80093016 + OSS_UNAVAIL_ENCRULES Handle = 0x80093017 + OSS_CANT_OPEN_TRACE_WINDOW Handle = 0x80093018 + OSS_UNIMPLEMENTED Handle = 0x80093019 + OSS_OID_DLL_NOT_LINKED Handle = 0x8009301A + OSS_CANT_OPEN_TRACE_FILE Handle = 0x8009301B + OSS_TRACE_FILE_ALREADY_OPEN Handle = 0x8009301C + OSS_TABLE_MISMATCH Handle = 0x8009301D + OSS_TYPE_NOT_SUPPORTED Handle = 0x8009301E + OSS_REAL_DLL_NOT_LINKED Handle = 0x8009301F + OSS_REAL_CODE_NOT_LINKED Handle = 0x80093020 + OSS_OUT_OF_RANGE Handle = 0x80093021 + OSS_COPIER_DLL_NOT_LINKED Handle = 0x80093022 + OSS_CONSTRAINT_DLL_NOT_LINKED Handle = 0x80093023 + OSS_COMPARATOR_DLL_NOT_LINKED Handle = 0x80093024 + OSS_COMPARATOR_CODE_NOT_LINKED Handle = 0x80093025 + OSS_MEM_MGR_DLL_NOT_LINKED Handle = 0x80093026 + OSS_PDV_DLL_NOT_LINKED Handle = 0x80093027 + OSS_PDV_CODE_NOT_LINKED Handle = 0x80093028 + OSS_API_DLL_NOT_LINKED Handle = 0x80093029 + OSS_BERDER_DLL_NOT_LINKED Handle = 0x8009302A + OSS_PER_DLL_NOT_LINKED Handle = 0x8009302B + OSS_OPEN_TYPE_ERROR Handle = 0x8009302C + OSS_MUTEX_NOT_CREATED Handle = 0x8009302D + OSS_CANT_CLOSE_TRACE_FILE Handle = 0x8009302E + CRYPT_E_ASN1_ERROR Handle = 0x80093100 + CRYPT_E_ASN1_INTERNAL Handle = 0x80093101 + CRYPT_E_ASN1_EOD Handle = 0x80093102 + CRYPT_E_ASN1_CORRUPT Handle = 0x80093103 + CRYPT_E_ASN1_LARGE Handle = 0x80093104 + CRYPT_E_ASN1_CONSTRAINT Handle = 0x80093105 + CRYPT_E_ASN1_MEMORY Handle = 0x80093106 + CRYPT_E_ASN1_OVERFLOW Handle = 0x80093107 + CRYPT_E_ASN1_BADPDU Handle = 0x80093108 + CRYPT_E_ASN1_BADARGS Handle = 0x80093109 + CRYPT_E_ASN1_BADREAL Handle = 0x8009310A + CRYPT_E_ASN1_BADTAG Handle = 0x8009310B + CRYPT_E_ASN1_CHOICE Handle = 0x8009310C + CRYPT_E_ASN1_RULE Handle = 0x8009310D + CRYPT_E_ASN1_UTF8 Handle = 0x8009310E + CRYPT_E_ASN1_PDU_TYPE Handle = 0x80093133 + CRYPT_E_ASN1_NYI Handle = 0x80093134 + CRYPT_E_ASN1_EXTENDED Handle = 0x80093201 + CRYPT_E_ASN1_NOEOD Handle = 0x80093202 + CERTSRV_E_BAD_REQUESTSUBJECT Handle = 0x80094001 + CERTSRV_E_NO_REQUEST Handle = 0x80094002 + CERTSRV_E_BAD_REQUESTSTATUS Handle = 0x80094003 + CERTSRV_E_PROPERTY_EMPTY Handle = 0x80094004 + CERTSRV_E_INVALID_CA_CERTIFICATE Handle = 0x80094005 + CERTSRV_E_SERVER_SUSPENDED Handle = 0x80094006 + CERTSRV_E_ENCODING_LENGTH Handle = 0x80094007 + CERTSRV_E_ROLECONFLICT Handle = 0x80094008 + CERTSRV_E_RESTRICTEDOFFICER Handle = 0x80094009 + CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED Handle = 0x8009400A + CERTSRV_E_NO_VALID_KRA Handle = 0x8009400B + CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL Handle = 0x8009400C + CERTSRV_E_NO_CAADMIN_DEFINED Handle = 0x8009400D + CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE Handle = 0x8009400E + CERTSRV_E_NO_DB_SESSIONS Handle = 0x8009400F + CERTSRV_E_ALIGNMENT_FAULT Handle = 0x80094010 + CERTSRV_E_ENROLL_DENIED Handle = 0x80094011 + CERTSRV_E_TEMPLATE_DENIED Handle = 0x80094012 + CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE Handle = 0x80094013 + CERTSRV_E_ADMIN_DENIED_REQUEST Handle = 0x80094014 + CERTSRV_E_NO_POLICY_SERVER Handle = 0x80094015 + CERTSRV_E_WEAK_SIGNATURE_OR_KEY Handle = 0x80094016 + CERTSRV_E_KEY_ATTESTATION_NOT_SUPPORTED Handle = 0x80094017 + CERTSRV_E_ENCRYPTION_CERT_REQUIRED Handle = 0x80094018 + CERTSRV_E_UNSUPPORTED_CERT_TYPE Handle = 0x80094800 + CERTSRV_E_NO_CERT_TYPE Handle = 0x80094801 + CERTSRV_E_TEMPLATE_CONFLICT Handle = 0x80094802 + CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED Handle = 0x80094803 + CERTSRV_E_ARCHIVED_KEY_REQUIRED Handle = 0x80094804 + CERTSRV_E_SMIME_REQUIRED Handle = 0x80094805 + CERTSRV_E_BAD_RENEWAL_SUBJECT Handle = 0x80094806 + CERTSRV_E_BAD_TEMPLATE_VERSION Handle = 0x80094807 + CERTSRV_E_TEMPLATE_POLICY_REQUIRED Handle = 0x80094808 + CERTSRV_E_SIGNATURE_POLICY_REQUIRED Handle = 0x80094809 + CERTSRV_E_SIGNATURE_COUNT Handle = 0x8009480A + CERTSRV_E_SIGNATURE_REJECTED Handle = 0x8009480B + CERTSRV_E_ISSUANCE_POLICY_REQUIRED Handle = 0x8009480C + CERTSRV_E_SUBJECT_UPN_REQUIRED Handle = 0x8009480D + CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED Handle = 0x8009480E + CERTSRV_E_SUBJECT_DNS_REQUIRED Handle = 0x8009480F + CERTSRV_E_ARCHIVED_KEY_UNEXPECTED Handle = 0x80094810 + CERTSRV_E_KEY_LENGTH Handle = 0x80094811 + CERTSRV_E_SUBJECT_EMAIL_REQUIRED Handle = 0x80094812 + CERTSRV_E_UNKNOWN_CERT_TYPE Handle = 0x80094813 + CERTSRV_E_CERT_TYPE_OVERLAP Handle = 0x80094814 + CERTSRV_E_TOO_MANY_SIGNATURES Handle = 0x80094815 + CERTSRV_E_RENEWAL_BAD_PUBLIC_KEY Handle = 0x80094816 + CERTSRV_E_INVALID_EK Handle = 0x80094817 + CERTSRV_E_INVALID_IDBINDING Handle = 0x80094818 + CERTSRV_E_INVALID_ATTESTATION Handle = 0x80094819 + CERTSRV_E_KEY_ATTESTATION Handle = 0x8009481A + CERTSRV_E_CORRUPT_KEY_ATTESTATION Handle = 0x8009481B + CERTSRV_E_EXPIRED_CHALLENGE Handle = 0x8009481C + CERTSRV_E_INVALID_RESPONSE Handle = 0x8009481D + CERTSRV_E_INVALID_REQUESTID Handle = 0x8009481E + CERTSRV_E_REQUEST_PRECERTIFICATE_MISMATCH Handle = 0x8009481F + CERTSRV_E_PENDING_CLIENT_RESPONSE Handle = 0x80094820 + XENROLL_E_KEY_NOT_EXPORTABLE Handle = 0x80095000 + XENROLL_E_CANNOT_ADD_ROOT_CERT Handle = 0x80095001 + XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND Handle = 0x80095002 + XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH Handle = 0x80095003 + XENROLL_E_RESPONSE_KA_HASH_MISMATCH Handle = 0x80095004 + XENROLL_E_KEYSPEC_SMIME_MISMATCH Handle = 0x80095005 + TRUST_E_SYSTEM_ERROR Handle = 0x80096001 + TRUST_E_NO_SIGNER_CERT Handle = 0x80096002 + TRUST_E_COUNTER_SIGNER Handle = 0x80096003 + TRUST_E_CERT_SIGNATURE Handle = 0x80096004 + TRUST_E_TIME_STAMP Handle = 0x80096005 + TRUST_E_BAD_DIGEST Handle = 0x80096010 + TRUST_E_MALFORMED_SIGNATURE Handle = 0x80096011 + TRUST_E_BASIC_CONSTRAINTS Handle = 0x80096019 + TRUST_E_FINANCIAL_CRITERIA Handle = 0x8009601E + MSSIPOTF_E_OUTOFMEMRANGE Handle = 0x80097001 + MSSIPOTF_E_CANTGETOBJECT Handle = 0x80097002 + MSSIPOTF_E_NOHEADTABLE Handle = 0x80097003 + MSSIPOTF_E_BAD_MAGICNUMBER Handle = 0x80097004 + MSSIPOTF_E_BAD_OFFSET_TABLE Handle = 0x80097005 + MSSIPOTF_E_TABLE_TAGORDER Handle = 0x80097006 + MSSIPOTF_E_TABLE_LONGWORD Handle = 0x80097007 + MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT Handle = 0x80097008 + MSSIPOTF_E_TABLES_OVERLAP Handle = 0x80097009 + MSSIPOTF_E_TABLE_PADBYTES Handle = 0x8009700A + MSSIPOTF_E_FILETOOSMALL Handle = 0x8009700B + MSSIPOTF_E_TABLE_CHECKSUM Handle = 0x8009700C + MSSIPOTF_E_FILE_CHECKSUM Handle = 0x8009700D + MSSIPOTF_E_FAILED_POLICY Handle = 0x80097010 + MSSIPOTF_E_FAILED_HINTS_CHECK Handle = 0x80097011 + MSSIPOTF_E_NOT_OPENTYPE Handle = 0x80097012 + MSSIPOTF_E_FILE Handle = 0x80097013 + MSSIPOTF_E_CRYPT Handle = 0x80097014 + MSSIPOTF_E_BADVERSION Handle = 0x80097015 + MSSIPOTF_E_DSIG_STRUCTURE Handle = 0x80097016 + MSSIPOTF_E_PCONST_CHECK Handle = 0x80097017 + MSSIPOTF_E_STRUCTURE Handle = 0x80097018 + ERROR_CRED_REQUIRES_CONFIRMATION Handle = 0x80097019 + NTE_OP_OK syscall.Errno = 0 + TRUST_E_PROVIDER_UNKNOWN Handle = 0x800B0001 + TRUST_E_ACTION_UNKNOWN Handle = 0x800B0002 + TRUST_E_SUBJECT_FORM_UNKNOWN Handle = 0x800B0003 + TRUST_E_SUBJECT_NOT_TRUSTED Handle = 0x800B0004 + DIGSIG_E_ENCODE Handle = 0x800B0005 + DIGSIG_E_DECODE Handle = 0x800B0006 + DIGSIG_E_EXTENSIBILITY Handle = 0x800B0007 + DIGSIG_E_CRYPTO Handle = 0x800B0008 + PERSIST_E_SIZEDEFINITE Handle = 0x800B0009 + PERSIST_E_SIZEINDEFINITE Handle = 0x800B000A + PERSIST_E_NOTSELFSIZING Handle = 0x800B000B + TRUST_E_NOSIGNATURE Handle = 0x800B0100 + CERT_E_EXPIRED Handle = 0x800B0101 + CERT_E_VALIDITYPERIODNESTING Handle = 0x800B0102 + CERT_E_ROLE Handle = 0x800B0103 + CERT_E_PATHLENCONST Handle = 0x800B0104 + CERT_E_CRITICAL Handle = 0x800B0105 + CERT_E_PURPOSE Handle = 0x800B0106 + CERT_E_ISSUERCHAINING Handle = 0x800B0107 + CERT_E_MALFORMED Handle = 0x800B0108 + CERT_E_UNTRUSTEDROOT Handle = 0x800B0109 + CERT_E_CHAINING Handle = 0x800B010A + TRUST_E_FAIL Handle = 0x800B010B + CERT_E_REVOKED Handle = 0x800B010C + CERT_E_UNTRUSTEDTESTROOT Handle = 0x800B010D + CERT_E_REVOCATION_FAILURE Handle = 0x800B010E + CERT_E_CN_NO_MATCH Handle = 0x800B010F + CERT_E_WRONG_USAGE Handle = 0x800B0110 + TRUST_E_EXPLICIT_DISTRUST Handle = 0x800B0111 + CERT_E_UNTRUSTEDCA Handle = 0x800B0112 + CERT_E_INVALID_POLICY Handle = 0x800B0113 + CERT_E_INVALID_NAME Handle = 0x800B0114 + SPAPI_E_EXPECTED_SECTION_NAME Handle = 0x800F0000 + SPAPI_E_BAD_SECTION_NAME_LINE Handle = 0x800F0001 + SPAPI_E_SECTION_NAME_TOO_LONG Handle = 0x800F0002 + SPAPI_E_GENERAL_SYNTAX Handle = 0x800F0003 + SPAPI_E_WRONG_INF_STYLE Handle = 0x800F0100 + SPAPI_E_SECTION_NOT_FOUND Handle = 0x800F0101 + SPAPI_E_LINE_NOT_FOUND Handle = 0x800F0102 + SPAPI_E_NO_BACKUP Handle = 0x800F0103 + SPAPI_E_NO_ASSOCIATED_CLASS Handle = 0x800F0200 + SPAPI_E_CLASS_MISMATCH Handle = 0x800F0201 + SPAPI_E_DUPLICATE_FOUND Handle = 0x800F0202 + SPAPI_E_NO_DRIVER_SELECTED Handle = 0x800F0203 + SPAPI_E_KEY_DOES_NOT_EXIST Handle = 0x800F0204 + SPAPI_E_INVALID_DEVINST_NAME Handle = 0x800F0205 + SPAPI_E_INVALID_CLASS Handle = 0x800F0206 + SPAPI_E_DEVINST_ALREADY_EXISTS Handle = 0x800F0207 + SPAPI_E_DEVINFO_NOT_REGISTERED Handle = 0x800F0208 + SPAPI_E_INVALID_REG_PROPERTY Handle = 0x800F0209 + SPAPI_E_NO_INF Handle = 0x800F020A + SPAPI_E_NO_SUCH_DEVINST Handle = 0x800F020B + SPAPI_E_CANT_LOAD_CLASS_ICON Handle = 0x800F020C + SPAPI_E_INVALID_CLASS_INSTALLER Handle = 0x800F020D + SPAPI_E_DI_DO_DEFAULT Handle = 0x800F020E + SPAPI_E_DI_NOFILECOPY Handle = 0x800F020F + SPAPI_E_INVALID_HWPROFILE Handle = 0x800F0210 + SPAPI_E_NO_DEVICE_SELECTED Handle = 0x800F0211 + SPAPI_E_DEVINFO_LIST_LOCKED Handle = 0x800F0212 + SPAPI_E_DEVINFO_DATA_LOCKED Handle = 0x800F0213 + SPAPI_E_DI_BAD_PATH Handle = 0x800F0214 + SPAPI_E_NO_CLASSINSTALL_PARAMS Handle = 0x800F0215 + SPAPI_E_FILEQUEUE_LOCKED Handle = 0x800F0216 + SPAPI_E_BAD_SERVICE_INSTALLSECT Handle = 0x800F0217 + SPAPI_E_NO_CLASS_DRIVER_LIST Handle = 0x800F0218 + SPAPI_E_NO_ASSOCIATED_SERVICE Handle = 0x800F0219 + SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE Handle = 0x800F021A + SPAPI_E_DEVICE_INTERFACE_ACTIVE Handle = 0x800F021B + SPAPI_E_DEVICE_INTERFACE_REMOVED Handle = 0x800F021C + SPAPI_E_BAD_INTERFACE_INSTALLSECT Handle = 0x800F021D + SPAPI_E_NO_SUCH_INTERFACE_CLASS Handle = 0x800F021E + SPAPI_E_INVALID_REFERENCE_STRING Handle = 0x800F021F + SPAPI_E_INVALID_MACHINENAME Handle = 0x800F0220 + SPAPI_E_REMOTE_COMM_FAILURE Handle = 0x800F0221 + SPAPI_E_MACHINE_UNAVAILABLE Handle = 0x800F0222 + SPAPI_E_NO_CONFIGMGR_SERVICES Handle = 0x800F0223 + SPAPI_E_INVALID_PROPPAGE_PROVIDER Handle = 0x800F0224 + SPAPI_E_NO_SUCH_DEVICE_INTERFACE Handle = 0x800F0225 + SPAPI_E_DI_POSTPROCESSING_REQUIRED Handle = 0x800F0226 + SPAPI_E_INVALID_COINSTALLER Handle = 0x800F0227 + SPAPI_E_NO_COMPAT_DRIVERS Handle = 0x800F0228 + SPAPI_E_NO_DEVICE_ICON Handle = 0x800F0229 + SPAPI_E_INVALID_INF_LOGCONFIG Handle = 0x800F022A + SPAPI_E_DI_DONT_INSTALL Handle = 0x800F022B + SPAPI_E_INVALID_FILTER_DRIVER Handle = 0x800F022C + SPAPI_E_NON_WINDOWS_NT_DRIVER Handle = 0x800F022D + SPAPI_E_NON_WINDOWS_DRIVER Handle = 0x800F022E + SPAPI_E_NO_CATALOG_FOR_OEM_INF Handle = 0x800F022F + SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE Handle = 0x800F0230 + SPAPI_E_NOT_DISABLEABLE Handle = 0x800F0231 + SPAPI_E_CANT_REMOVE_DEVINST Handle = 0x800F0232 + SPAPI_E_INVALID_TARGET Handle = 0x800F0233 + SPAPI_E_DRIVER_NONNATIVE Handle = 0x800F0234 + SPAPI_E_IN_WOW64 Handle = 0x800F0235 + SPAPI_E_SET_SYSTEM_RESTORE_POINT Handle = 0x800F0236 + SPAPI_E_INCORRECTLY_COPIED_INF Handle = 0x800F0237 + SPAPI_E_SCE_DISABLED Handle = 0x800F0238 + SPAPI_E_UNKNOWN_EXCEPTION Handle = 0x800F0239 + SPAPI_E_PNP_REGISTRY_ERROR Handle = 0x800F023A + SPAPI_E_REMOTE_REQUEST_UNSUPPORTED Handle = 0x800F023B + SPAPI_E_NOT_AN_INSTALLED_OEM_INF Handle = 0x800F023C + SPAPI_E_INF_IN_USE_BY_DEVICES Handle = 0x800F023D + SPAPI_E_DI_FUNCTION_OBSOLETE Handle = 0x800F023E + SPAPI_E_NO_AUTHENTICODE_CATALOG Handle = 0x800F023F + SPAPI_E_AUTHENTICODE_DISALLOWED Handle = 0x800F0240 + SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER Handle = 0x800F0241 + SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED Handle = 0x800F0242 + SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED Handle = 0x800F0243 + SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH Handle = 0x800F0244 + SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE Handle = 0x800F0245 + SPAPI_E_DEVICE_INSTALLER_NOT_READY Handle = 0x800F0246 + SPAPI_E_DRIVER_STORE_ADD_FAILED Handle = 0x800F0247 + SPAPI_E_DEVICE_INSTALL_BLOCKED Handle = 0x800F0248 + SPAPI_E_DRIVER_INSTALL_BLOCKED Handle = 0x800F0249 + SPAPI_E_WRONG_INF_TYPE Handle = 0x800F024A + SPAPI_E_FILE_HASH_NOT_IN_CATALOG Handle = 0x800F024B + SPAPI_E_DRIVER_STORE_DELETE_FAILED Handle = 0x800F024C + SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW Handle = 0x800F0300 + SPAPI_E_ERROR_NOT_INSTALLED Handle = 0x800F1000 + SCARD_S_SUCCESS = S_OK + SCARD_F_INTERNAL_ERROR Handle = 0x80100001 + SCARD_E_CANCELLED Handle = 0x80100002 + SCARD_E_INVALID_HANDLE Handle = 0x80100003 + SCARD_E_INVALID_PARAMETER Handle = 0x80100004 + SCARD_E_INVALID_TARGET Handle = 0x80100005 + SCARD_E_NO_MEMORY Handle = 0x80100006 + SCARD_F_WAITED_TOO_LONG Handle = 0x80100007 + SCARD_E_INSUFFICIENT_BUFFER Handle = 0x80100008 + SCARD_E_UNKNOWN_READER Handle = 0x80100009 + SCARD_E_TIMEOUT Handle = 0x8010000A + SCARD_E_SHARING_VIOLATION Handle = 0x8010000B + SCARD_E_NO_SMARTCARD Handle = 0x8010000C + SCARD_E_UNKNOWN_CARD Handle = 0x8010000D + SCARD_E_CANT_DISPOSE Handle = 0x8010000E + SCARD_E_PROTO_MISMATCH Handle = 0x8010000F + SCARD_E_NOT_READY Handle = 0x80100010 + SCARD_E_INVALID_VALUE Handle = 0x80100011 + SCARD_E_SYSTEM_CANCELLED Handle = 0x80100012 + SCARD_F_COMM_ERROR Handle = 0x80100013 + SCARD_F_UNKNOWN_ERROR Handle = 0x80100014 + SCARD_E_INVALID_ATR Handle = 0x80100015 + SCARD_E_NOT_TRANSACTED Handle = 0x80100016 + SCARD_E_READER_UNAVAILABLE Handle = 0x80100017 + SCARD_P_SHUTDOWN Handle = 0x80100018 + SCARD_E_PCI_TOO_SMALL Handle = 0x80100019 + SCARD_E_READER_UNSUPPORTED Handle = 0x8010001A + SCARD_E_DUPLICATE_READER Handle = 0x8010001B + SCARD_E_CARD_UNSUPPORTED Handle = 0x8010001C + SCARD_E_NO_SERVICE Handle = 0x8010001D + SCARD_E_SERVICE_STOPPED Handle = 0x8010001E + SCARD_E_UNEXPECTED Handle = 0x8010001F + SCARD_E_ICC_INSTALLATION Handle = 0x80100020 + SCARD_E_ICC_CREATEORDER Handle = 0x80100021 + SCARD_E_UNSUPPORTED_FEATURE Handle = 0x80100022 + SCARD_E_DIR_NOT_FOUND Handle = 0x80100023 + SCARD_E_FILE_NOT_FOUND Handle = 0x80100024 + SCARD_E_NO_DIR Handle = 0x80100025 + SCARD_E_NO_FILE Handle = 0x80100026 + SCARD_E_NO_ACCESS Handle = 0x80100027 + SCARD_E_WRITE_TOO_MANY Handle = 0x80100028 + SCARD_E_BAD_SEEK Handle = 0x80100029 + SCARD_E_INVALID_CHV Handle = 0x8010002A + SCARD_E_UNKNOWN_RES_MNG Handle = 0x8010002B + SCARD_E_NO_SUCH_CERTIFICATE Handle = 0x8010002C + SCARD_E_CERTIFICATE_UNAVAILABLE Handle = 0x8010002D + SCARD_E_NO_READERS_AVAILABLE Handle = 0x8010002E + SCARD_E_COMM_DATA_LOST Handle = 0x8010002F + SCARD_E_NO_KEY_CONTAINER Handle = 0x80100030 + SCARD_E_SERVER_TOO_BUSY Handle = 0x80100031 + SCARD_E_PIN_CACHE_EXPIRED Handle = 0x80100032 + SCARD_E_NO_PIN_CACHE Handle = 0x80100033 + SCARD_E_READ_ONLY_CARD Handle = 0x80100034 + SCARD_W_UNSUPPORTED_CARD Handle = 0x80100065 + SCARD_W_UNRESPONSIVE_CARD Handle = 0x80100066 + SCARD_W_UNPOWERED_CARD Handle = 0x80100067 + SCARD_W_RESET_CARD Handle = 0x80100068 + SCARD_W_REMOVED_CARD Handle = 0x80100069 + SCARD_W_SECURITY_VIOLATION Handle = 0x8010006A + SCARD_W_WRONG_CHV Handle = 0x8010006B + SCARD_W_CHV_BLOCKED Handle = 0x8010006C + SCARD_W_EOF Handle = 0x8010006D + SCARD_W_CANCELLED_BY_USER Handle = 0x8010006E + SCARD_W_CARD_NOT_AUTHENTICATED Handle = 0x8010006F + SCARD_W_CACHE_ITEM_NOT_FOUND Handle = 0x80100070 + SCARD_W_CACHE_ITEM_STALE Handle = 0x80100071 + SCARD_W_CACHE_ITEM_TOO_BIG Handle = 0x80100072 + COMADMIN_E_OBJECTERRORS Handle = 0x80110401 + COMADMIN_E_OBJECTINVALID Handle = 0x80110402 + COMADMIN_E_KEYMISSING Handle = 0x80110403 + COMADMIN_E_ALREADYINSTALLED Handle = 0x80110404 + COMADMIN_E_APP_FILE_WRITEFAIL Handle = 0x80110407 + COMADMIN_E_APP_FILE_READFAIL Handle = 0x80110408 + COMADMIN_E_APP_FILE_VERSION Handle = 0x80110409 + COMADMIN_E_BADPATH Handle = 0x8011040A + COMADMIN_E_APPLICATIONEXISTS Handle = 0x8011040B + COMADMIN_E_ROLEEXISTS Handle = 0x8011040C + COMADMIN_E_CANTCOPYFILE Handle = 0x8011040D + COMADMIN_E_NOUSER Handle = 0x8011040F + COMADMIN_E_INVALIDUSERIDS Handle = 0x80110410 + COMADMIN_E_NOREGISTRYCLSID Handle = 0x80110411 + COMADMIN_E_BADREGISTRYPROGID Handle = 0x80110412 + COMADMIN_E_AUTHENTICATIONLEVEL Handle = 0x80110413 + COMADMIN_E_USERPASSWDNOTVALID Handle = 0x80110414 + COMADMIN_E_CLSIDORIIDMISMATCH Handle = 0x80110418 + COMADMIN_E_REMOTEINTERFACE Handle = 0x80110419 + COMADMIN_E_DLLREGISTERSERVER Handle = 0x8011041A + COMADMIN_E_NOSERVERSHARE Handle = 0x8011041B + COMADMIN_E_DLLLOADFAILED Handle = 0x8011041D + COMADMIN_E_BADREGISTRYLIBID Handle = 0x8011041E + COMADMIN_E_APPDIRNOTFOUND Handle = 0x8011041F + COMADMIN_E_REGISTRARFAILED Handle = 0x80110423 + COMADMIN_E_COMPFILE_DOESNOTEXIST Handle = 0x80110424 + COMADMIN_E_COMPFILE_LOADDLLFAIL Handle = 0x80110425 + COMADMIN_E_COMPFILE_GETCLASSOBJ Handle = 0x80110426 + COMADMIN_E_COMPFILE_CLASSNOTAVAIL Handle = 0x80110427 + COMADMIN_E_COMPFILE_BADTLB Handle = 0x80110428 + COMADMIN_E_COMPFILE_NOTINSTALLABLE Handle = 0x80110429 + COMADMIN_E_NOTCHANGEABLE Handle = 0x8011042A + COMADMIN_E_NOTDELETEABLE Handle = 0x8011042B + COMADMIN_E_SESSION Handle = 0x8011042C + COMADMIN_E_COMP_MOVE_LOCKED Handle = 0x8011042D + COMADMIN_E_COMP_MOVE_BAD_DEST Handle = 0x8011042E + COMADMIN_E_REGISTERTLB Handle = 0x80110430 + COMADMIN_E_SYSTEMAPP Handle = 0x80110433 + COMADMIN_E_COMPFILE_NOREGISTRAR Handle = 0x80110434 + COMADMIN_E_COREQCOMPINSTALLED Handle = 0x80110435 + COMADMIN_E_SERVICENOTINSTALLED Handle = 0x80110436 + COMADMIN_E_PROPERTYSAVEFAILED Handle = 0x80110437 + COMADMIN_E_OBJECTEXISTS Handle = 0x80110438 + COMADMIN_E_COMPONENTEXISTS Handle = 0x80110439 + COMADMIN_E_REGFILE_CORRUPT Handle = 0x8011043B + COMADMIN_E_PROPERTY_OVERFLOW Handle = 0x8011043C + COMADMIN_E_NOTINREGISTRY Handle = 0x8011043E + COMADMIN_E_OBJECTNOTPOOLABLE Handle = 0x8011043F + COMADMIN_E_APPLID_MATCHES_CLSID Handle = 0x80110446 + COMADMIN_E_ROLE_DOES_NOT_EXIST Handle = 0x80110447 + COMADMIN_E_START_APP_NEEDS_COMPONENTS Handle = 0x80110448 + COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM Handle = 0x80110449 + COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY Handle = 0x8011044A + COMADMIN_E_CAN_NOT_START_APP Handle = 0x8011044B + COMADMIN_E_CAN_NOT_EXPORT_SYS_APP Handle = 0x8011044C + COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT Handle = 0x8011044D + COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER Handle = 0x8011044E + COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE Handle = 0x8011044F + COMADMIN_E_BASE_PARTITION_ONLY Handle = 0x80110450 + COMADMIN_E_START_APP_DISABLED Handle = 0x80110451 + COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME Handle = 0x80110457 + COMADMIN_E_CAT_INVALID_PARTITION_NAME Handle = 0x80110458 + COMADMIN_E_CAT_PARTITION_IN_USE Handle = 0x80110459 + COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES Handle = 0x8011045A + COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED Handle = 0x8011045B + COMADMIN_E_AMBIGUOUS_APPLICATION_NAME Handle = 0x8011045C + COMADMIN_E_AMBIGUOUS_PARTITION_NAME Handle = 0x8011045D + COMADMIN_E_REGDB_NOTINITIALIZED Handle = 0x80110472 + COMADMIN_E_REGDB_NOTOPEN Handle = 0x80110473 + COMADMIN_E_REGDB_SYSTEMERR Handle = 0x80110474 + COMADMIN_E_REGDB_ALREADYRUNNING Handle = 0x80110475 + COMADMIN_E_MIG_VERSIONNOTSUPPORTED Handle = 0x80110480 + COMADMIN_E_MIG_SCHEMANOTFOUND Handle = 0x80110481 + COMADMIN_E_CAT_BITNESSMISMATCH Handle = 0x80110482 + COMADMIN_E_CAT_UNACCEPTABLEBITNESS Handle = 0x80110483 + COMADMIN_E_CAT_WRONGAPPBITNESS Handle = 0x80110484 + COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED Handle = 0x80110485 + COMADMIN_E_CAT_SERVERFAULT Handle = 0x80110486 + COMQC_E_APPLICATION_NOT_QUEUED Handle = 0x80110600 + COMQC_E_NO_QUEUEABLE_INTERFACES Handle = 0x80110601 + COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE Handle = 0x80110602 + COMQC_E_NO_IPERSISTSTREAM Handle = 0x80110603 + COMQC_E_BAD_MESSAGE Handle = 0x80110604 + COMQC_E_UNAUTHENTICATED Handle = 0x80110605 + COMQC_E_UNTRUSTED_ENQUEUER Handle = 0x80110606 + MSDTC_E_DUPLICATE_RESOURCE Handle = 0x80110701 + COMADMIN_E_OBJECT_PARENT_MISSING Handle = 0x80110808 + COMADMIN_E_OBJECT_DOES_NOT_EXIST Handle = 0x80110809 + COMADMIN_E_APP_NOT_RUNNING Handle = 0x8011080A + COMADMIN_E_INVALID_PARTITION Handle = 0x8011080B + COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE Handle = 0x8011080D + COMADMIN_E_USER_IN_SET Handle = 0x8011080E + COMADMIN_E_CANTRECYCLELIBRARYAPPS Handle = 0x8011080F + COMADMIN_E_CANTRECYCLESERVICEAPPS Handle = 0x80110811 + COMADMIN_E_PROCESSALREADYRECYCLED Handle = 0x80110812 + COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED Handle = 0x80110813 + COMADMIN_E_CANTMAKEINPROCSERVICE Handle = 0x80110814 + COMADMIN_E_PROGIDINUSEBYCLSID Handle = 0x80110815 + COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET Handle = 0x80110816 + COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED Handle = 0x80110817 + COMADMIN_E_PARTITION_ACCESSDENIED Handle = 0x80110818 + COMADMIN_E_PARTITION_MSI_ONLY Handle = 0x80110819 + COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT Handle = 0x8011081A + COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS Handle = 0x8011081B + COMADMIN_E_COMP_MOVE_SOURCE Handle = 0x8011081C + COMADMIN_E_COMP_MOVE_DEST Handle = 0x8011081D + COMADMIN_E_COMP_MOVE_PRIVATE Handle = 0x8011081E + COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET Handle = 0x8011081F + COMADMIN_E_CANNOT_ALIAS_EVENTCLASS Handle = 0x80110820 + COMADMIN_E_PRIVATE_ACCESSDENIED Handle = 0x80110821 + COMADMIN_E_SAFERINVALID Handle = 0x80110822 + COMADMIN_E_REGISTRY_ACCESSDENIED Handle = 0x80110823 + COMADMIN_E_PARTITIONS_DISABLED Handle = 0x80110824 + WER_S_REPORT_DEBUG Handle = 0x001B0000 + WER_S_REPORT_UPLOADED Handle = 0x001B0001 + WER_S_REPORT_QUEUED Handle = 0x001B0002 + WER_S_DISABLED Handle = 0x001B0003 + WER_S_SUSPENDED_UPLOAD Handle = 0x001B0004 + WER_S_DISABLED_QUEUE Handle = 0x001B0005 + WER_S_DISABLED_ARCHIVE Handle = 0x001B0006 + WER_S_REPORT_ASYNC Handle = 0x001B0007 + WER_S_IGNORE_ASSERT_INSTANCE Handle = 0x001B0008 + WER_S_IGNORE_ALL_ASSERTS Handle = 0x001B0009 + WER_S_ASSERT_CONTINUE Handle = 0x001B000A + WER_S_THROTTLED Handle = 0x001B000B + WER_S_REPORT_UPLOADED_CAB Handle = 0x001B000C + WER_E_CRASH_FAILURE Handle = 0x801B8000 + WER_E_CANCELED Handle = 0x801B8001 + WER_E_NETWORK_FAILURE Handle = 0x801B8002 + WER_E_NOT_INITIALIZED Handle = 0x801B8003 + WER_E_ALREADY_REPORTING Handle = 0x801B8004 + WER_E_DUMP_THROTTLED Handle = 0x801B8005 + WER_E_INSUFFICIENT_CONSENT Handle = 0x801B8006 + WER_E_TOO_HEAVY Handle = 0x801B8007 + ERROR_FLT_IO_COMPLETE Handle = 0x001F0001 + ERROR_FLT_NO_HANDLER_DEFINED Handle = 0x801F0001 + ERROR_FLT_CONTEXT_ALREADY_DEFINED Handle = 0x801F0002 + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST Handle = 0x801F0003 + ERROR_FLT_DISALLOW_FAST_IO Handle = 0x801F0004 + ERROR_FLT_INVALID_NAME_REQUEST Handle = 0x801F0005 + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION Handle = 0x801F0006 + ERROR_FLT_NOT_INITIALIZED Handle = 0x801F0007 + ERROR_FLT_FILTER_NOT_READY Handle = 0x801F0008 + ERROR_FLT_POST_OPERATION_CLEANUP Handle = 0x801F0009 + ERROR_FLT_INTERNAL_ERROR Handle = 0x801F000A + ERROR_FLT_DELETING_OBJECT Handle = 0x801F000B + ERROR_FLT_MUST_BE_NONPAGED_POOL Handle = 0x801F000C + ERROR_FLT_DUPLICATE_ENTRY Handle = 0x801F000D + ERROR_FLT_CBDQ_DISABLED Handle = 0x801F000E + ERROR_FLT_DO_NOT_ATTACH Handle = 0x801F000F + ERROR_FLT_DO_NOT_DETACH Handle = 0x801F0010 + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION Handle = 0x801F0011 + ERROR_FLT_INSTANCE_NAME_COLLISION Handle = 0x801F0012 + ERROR_FLT_FILTER_NOT_FOUND Handle = 0x801F0013 + ERROR_FLT_VOLUME_NOT_FOUND Handle = 0x801F0014 + ERROR_FLT_INSTANCE_NOT_FOUND Handle = 0x801F0015 + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND Handle = 0x801F0016 + ERROR_FLT_INVALID_CONTEXT_REGISTRATION Handle = 0x801F0017 + ERROR_FLT_NAME_CACHE_MISS Handle = 0x801F0018 + ERROR_FLT_NO_DEVICE_OBJECT Handle = 0x801F0019 + ERROR_FLT_VOLUME_ALREADY_MOUNTED Handle = 0x801F001A + ERROR_FLT_ALREADY_ENLISTED Handle = 0x801F001B + ERROR_FLT_CONTEXT_ALREADY_LINKED Handle = 0x801F001C + ERROR_FLT_NO_WAITER_FOR_REPLY Handle = 0x801F0020 + ERROR_FLT_REGISTRATION_BUSY Handle = 0x801F0023 + ERROR_HUNG_DISPLAY_DRIVER_THREAD Handle = 0x80260001 + DWM_E_COMPOSITIONDISABLED Handle = 0x80263001 + DWM_E_REMOTING_NOT_SUPPORTED Handle = 0x80263002 + DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE Handle = 0x80263003 + DWM_E_NOT_QUEUING_PRESENTS Handle = 0x80263004 + DWM_E_ADAPTER_NOT_FOUND Handle = 0x80263005 + DWM_S_GDI_REDIRECTION_SURFACE Handle = 0x00263005 + DWM_E_TEXTURE_TOO_LARGE Handle = 0x80263007 + DWM_S_GDI_REDIRECTION_SURFACE_BLT_VIA_GDI Handle = 0x00263008 + ERROR_MONITOR_NO_DESCRIPTOR Handle = 0x00261001 + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT Handle = 0x00261002 + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM Handle = 0xC0261003 + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK Handle = 0xC0261004 + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED Handle = 0xC0261005 + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK Handle = 0xC0261006 + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK Handle = 0xC0261007 + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA Handle = 0xC0261008 + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK Handle = 0xC0261009 + ERROR_MONITOR_INVALID_MANUFACTURE_DATE Handle = 0xC026100A + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER Handle = 0xC0262000 + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER Handle = 0xC0262001 + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER Handle = 0xC0262002 + ERROR_GRAPHICS_ADAPTER_WAS_RESET Handle = 0xC0262003 + ERROR_GRAPHICS_INVALID_DRIVER_MODEL Handle = 0xC0262004 + ERROR_GRAPHICS_PRESENT_MODE_CHANGED Handle = 0xC0262005 + ERROR_GRAPHICS_PRESENT_OCCLUDED Handle = 0xC0262006 + ERROR_GRAPHICS_PRESENT_DENIED Handle = 0xC0262007 + ERROR_GRAPHICS_CANNOTCOLORCONVERT Handle = 0xC0262008 + ERROR_GRAPHICS_DRIVER_MISMATCH Handle = 0xC0262009 + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED Handle = 0x4026200A + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED Handle = 0xC026200B + ERROR_GRAPHICS_PRESENT_UNOCCLUDED Handle = 0xC026200C + ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE Handle = 0xC026200D + ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED Handle = 0xC026200E + ERROR_GRAPHICS_PRESENT_INVALID_WINDOW Handle = 0xC026200F + ERROR_GRAPHICS_PRESENT_BUFFER_NOT_BOUND Handle = 0xC0262010 + ERROR_GRAPHICS_VAIL_STATE_CHANGED Handle = 0xC0262011 + ERROR_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN Handle = 0xC0262012 + ERROR_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED Handle = 0xC0262013 + ERROR_GRAPHICS_NO_VIDEO_MEMORY Handle = 0xC0262100 + ERROR_GRAPHICS_CANT_LOCK_MEMORY Handle = 0xC0262101 + ERROR_GRAPHICS_ALLOCATION_BUSY Handle = 0xC0262102 + ERROR_GRAPHICS_TOO_MANY_REFERENCES Handle = 0xC0262103 + ERROR_GRAPHICS_TRY_AGAIN_LATER Handle = 0xC0262104 + ERROR_GRAPHICS_TRY_AGAIN_NOW Handle = 0xC0262105 + ERROR_GRAPHICS_ALLOCATION_INVALID Handle = 0xC0262106 + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE Handle = 0xC0262107 + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED Handle = 0xC0262108 + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION Handle = 0xC0262109 + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE Handle = 0xC0262110 + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION Handle = 0xC0262111 + ERROR_GRAPHICS_ALLOCATION_CLOSED Handle = 0xC0262112 + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE Handle = 0xC0262113 + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE Handle = 0xC0262114 + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE Handle = 0xC0262115 + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST Handle = 0xC0262116 + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Handle = 0xC0262200 + ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION Handle = 0x40262201 + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY Handle = 0xC0262300 + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED Handle = 0xC0262301 + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED Handle = 0xC0262302 + ERROR_GRAPHICS_INVALID_VIDPN Handle = 0xC0262303 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE Handle = 0xC0262304 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET Handle = 0xC0262305 + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED Handle = 0xC0262306 + ERROR_GRAPHICS_MODE_NOT_PINNED Handle = 0x00262307 + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET Handle = 0xC0262308 + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET Handle = 0xC0262309 + ERROR_GRAPHICS_INVALID_FREQUENCY Handle = 0xC026230A + ERROR_GRAPHICS_INVALID_ACTIVE_REGION Handle = 0xC026230B + ERROR_GRAPHICS_INVALID_TOTAL_REGION Handle = 0xC026230C + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE Handle = 0xC0262310 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE Handle = 0xC0262311 + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET Handle = 0xC0262312 + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY Handle = 0xC0262313 + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET Handle = 0xC0262314 + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET Handle = 0xC0262315 + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET Handle = 0xC0262316 + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET Handle = 0xC0262317 + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET Handle = 0xC0262318 + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH Handle = 0xC0262319 + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY Handle = 0xC026231A + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET Handle = 0xC026231B + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE Handle = 0xC026231C + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET Handle = 0xC026231D + ERROR_GRAPHICS_NO_PREFERRED_MODE Handle = 0x0026231E + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET Handle = 0xC026231F + ERROR_GRAPHICS_STALE_MODESET Handle = 0xC0262320 + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET Handle = 0xC0262321 + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE Handle = 0xC0262322 + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN Handle = 0xC0262323 + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE Handle = 0xC0262324 + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION Handle = 0xC0262325 + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES Handle = 0xC0262326 + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY Handle = 0xC0262327 + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE Handle = 0xC0262328 + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET Handle = 0xC0262329 + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET Handle = 0xC026232A + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR Handle = 0xC026232B + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET Handle = 0xC026232C + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET Handle = 0xC026232D + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE Handle = 0xC026232E + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE Handle = 0xC026232F + ERROR_GRAPHICS_RESOURCES_NOT_RELATED Handle = 0xC0262330 + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE Handle = 0xC0262331 + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE Handle = 0xC0262332 + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET Handle = 0xC0262333 + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER Handle = 0xC0262334 + ERROR_GRAPHICS_NO_VIDPNMGR Handle = 0xC0262335 + ERROR_GRAPHICS_NO_ACTIVE_VIDPN Handle = 0xC0262336 + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY Handle = 0xC0262337 + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED Handle = 0xC0262338 + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY Handle = 0xC0262339 + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE Handle = 0xC026233A + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE Handle = 0xC026233B + ERROR_GRAPHICS_INVALID_STRIDE Handle = 0xC026233C + ERROR_GRAPHICS_INVALID_PIXELFORMAT Handle = 0xC026233D + ERROR_GRAPHICS_INVALID_COLORBASIS Handle = 0xC026233E + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE Handle = 0xC026233F + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY Handle = 0xC0262340 + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT Handle = 0xC0262341 + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0xC0262342 + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN Handle = 0xC0262343 + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL Handle = 0xC0262344 + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION Handle = 0xC0262345 + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED Handle = 0xC0262346 + ERROR_GRAPHICS_INVALID_GAMMA_RAMP Handle = 0xC0262347 + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED Handle = 0xC0262348 + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED Handle = 0xC0262349 + ERROR_GRAPHICS_MODE_NOT_IN_MODESET Handle = 0xC026234A + ERROR_GRAPHICS_DATASET_IS_EMPTY Handle = 0x0026234B + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET Handle = 0x0026234C + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON Handle = 0xC026234D + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE Handle = 0xC026234E + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE Handle = 0xC026234F + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS Handle = 0xC0262350 + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED Handle = 0x00262351 + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING Handle = 0xC0262352 + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED Handle = 0xC0262353 + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS Handle = 0xC0262354 + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT Handle = 0xC0262355 + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM Handle = 0xC0262356 + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN Handle = 0xC0262357 + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT Handle = 0xC0262358 + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED Handle = 0xC0262359 + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION Handle = 0xC026235A + ERROR_GRAPHICS_INVALID_CLIENT_TYPE Handle = 0xC026235B + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET Handle = 0xC026235C + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED Handle = 0xC0262400 + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED Handle = 0xC0262401 + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS Handle = 0x4026242F + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER Handle = 0xC0262430 + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED Handle = 0xC0262431 + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED Handle = 0xC0262432 + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY Handle = 0xC0262433 + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED Handle = 0xC0262434 + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON Handle = 0xC0262435 + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE Handle = 0xC0262436 + ERROR_GRAPHICS_LEADLINK_START_DEFERRED Handle = 0x40262437 + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER Handle = 0xC0262438 + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY Handle = 0x40262439 + ERROR_GRAPHICS_START_DEFERRED Handle = 0x4026243A + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED Handle = 0xC026243B + ERROR_GRAPHICS_DEPENDABLE_CHILD_STATUS Handle = 0x4026243C + ERROR_GRAPHICS_OPM_NOT_SUPPORTED Handle = 0xC0262500 + ERROR_GRAPHICS_COPP_NOT_SUPPORTED Handle = 0xC0262501 + ERROR_GRAPHICS_UAB_NOT_SUPPORTED Handle = 0xC0262502 + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS Handle = 0xC0262503 + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST Handle = 0xC0262505 + ERROR_GRAPHICS_OPM_INTERNAL_ERROR Handle = 0xC026250B + ERROR_GRAPHICS_OPM_INVALID_HANDLE Handle = 0xC026250C + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH Handle = 0xC026250E + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED Handle = 0xC026250F + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED Handle = 0xC0262510 + ERROR_GRAPHICS_PVP_HFS_FAILED Handle = 0xC0262511 + ERROR_GRAPHICS_OPM_INVALID_SRM Handle = 0xC0262512 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP Handle = 0xC0262513 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP Handle = 0xC0262514 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA Handle = 0xC0262515 + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET Handle = 0xC0262516 + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH Handle = 0xC0262517 + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE Handle = 0xC0262518 + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS Handle = 0xC026251A + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS Handle = 0xC026251B + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS Handle = 0xC026251C + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST Handle = 0xC026251D + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR Handle = 0xC026251E + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS Handle = 0xC026251F + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED Handle = 0xC0262520 + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST Handle = 0xC0262521 + ERROR_GRAPHICS_I2C_NOT_SUPPORTED Handle = 0xC0262580 + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST Handle = 0xC0262581 + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA Handle = 0xC0262582 + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA Handle = 0xC0262583 + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED Handle = 0xC0262584 + ERROR_GRAPHICS_DDCCI_INVALID_DATA Handle = 0xC0262585 + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE Handle = 0xC0262586 + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING Handle = 0xC0262587 + ERROR_GRAPHICS_MCA_INTERNAL_ERROR Handle = 0xC0262588 + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND Handle = 0xC0262589 + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH Handle = 0xC026258A + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM Handle = 0xC026258B + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE Handle = 0xC026258C + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS Handle = 0xC026258D + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE Handle = 0xC02625D8 + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION Handle = 0xC02625D9 + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION Handle = 0xC02625DA + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH Handle = 0xC02625DB + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION Handle = 0xC02625DC + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED Handle = 0xC02625DE + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE Handle = 0xC02625DF + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED Handle = 0xC02625E0 + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME Handle = 0xC02625E1 + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP Handle = 0xC02625E2 + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED Handle = 0xC02625E3 + ERROR_GRAPHICS_INVALID_POINTER Handle = 0xC02625E4 + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE Handle = 0xC02625E5 + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL Handle = 0xC02625E6 + ERROR_GRAPHICS_INTERNAL_ERROR Handle = 0xC02625E7 + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS Handle = 0xC02605E8 + NAP_E_INVALID_PACKET Handle = 0x80270001 + NAP_E_MISSING_SOH Handle = 0x80270002 + NAP_E_CONFLICTING_ID Handle = 0x80270003 + NAP_E_NO_CACHED_SOH Handle = 0x80270004 + NAP_E_STILL_BOUND Handle = 0x80270005 + NAP_E_NOT_REGISTERED Handle = 0x80270006 + NAP_E_NOT_INITIALIZED Handle = 0x80270007 + NAP_E_MISMATCHED_ID Handle = 0x80270008 + NAP_E_NOT_PENDING Handle = 0x80270009 + NAP_E_ID_NOT_FOUND Handle = 0x8027000A + NAP_E_MAXSIZE_TOO_SMALL Handle = 0x8027000B + NAP_E_SERVICE_NOT_RUNNING Handle = 0x8027000C + NAP_S_CERT_ALREADY_PRESENT Handle = 0x0027000D + NAP_E_ENTITY_DISABLED Handle = 0x8027000E + NAP_E_NETSH_GROUPPOLICY_ERROR Handle = 0x8027000F + NAP_E_TOO_MANY_CALLS Handle = 0x80270010 + NAP_E_SHV_CONFIG_EXISTED Handle = 0x80270011 + NAP_E_SHV_CONFIG_NOT_FOUND Handle = 0x80270012 + NAP_E_SHV_TIMEOUT Handle = 0x80270013 + TPM_E_ERROR_MASK Handle = 0x80280000 + TPM_E_AUTHFAIL Handle = 0x80280001 + TPM_E_BADINDEX Handle = 0x80280002 + TPM_E_BAD_PARAMETER Handle = 0x80280003 + TPM_E_AUDITFAILURE Handle = 0x80280004 + TPM_E_CLEAR_DISABLED Handle = 0x80280005 + TPM_E_DEACTIVATED Handle = 0x80280006 + TPM_E_DISABLED Handle = 0x80280007 + TPM_E_DISABLED_CMD Handle = 0x80280008 + TPM_E_FAIL Handle = 0x80280009 + TPM_E_BAD_ORDINAL Handle = 0x8028000A + TPM_E_INSTALL_DISABLED Handle = 0x8028000B + TPM_E_INVALID_KEYHANDLE Handle = 0x8028000C + TPM_E_KEYNOTFOUND Handle = 0x8028000D + TPM_E_INAPPROPRIATE_ENC Handle = 0x8028000E + TPM_E_MIGRATEFAIL Handle = 0x8028000F + TPM_E_INVALID_PCR_INFO Handle = 0x80280010 + TPM_E_NOSPACE Handle = 0x80280011 + TPM_E_NOSRK Handle = 0x80280012 + TPM_E_NOTSEALED_BLOB Handle = 0x80280013 + TPM_E_OWNER_SET Handle = 0x80280014 + TPM_E_RESOURCES Handle = 0x80280015 + TPM_E_SHORTRANDOM Handle = 0x80280016 + TPM_E_SIZE Handle = 0x80280017 + TPM_E_WRONGPCRVAL Handle = 0x80280018 + TPM_E_BAD_PARAM_SIZE Handle = 0x80280019 + TPM_E_SHA_THREAD Handle = 0x8028001A + TPM_E_SHA_ERROR Handle = 0x8028001B + TPM_E_FAILEDSELFTEST Handle = 0x8028001C + TPM_E_AUTH2FAIL Handle = 0x8028001D + TPM_E_BADTAG Handle = 0x8028001E + TPM_E_IOERROR Handle = 0x8028001F + TPM_E_ENCRYPT_ERROR Handle = 0x80280020 + TPM_E_DECRYPT_ERROR Handle = 0x80280021 + TPM_E_INVALID_AUTHHANDLE Handle = 0x80280022 + TPM_E_NO_ENDORSEMENT Handle = 0x80280023 + TPM_E_INVALID_KEYUSAGE Handle = 0x80280024 + TPM_E_WRONG_ENTITYTYPE Handle = 0x80280025 + TPM_E_INVALID_POSTINIT Handle = 0x80280026 + TPM_E_INAPPROPRIATE_SIG Handle = 0x80280027 + TPM_E_BAD_KEY_PROPERTY Handle = 0x80280028 + TPM_E_BAD_MIGRATION Handle = 0x80280029 + TPM_E_BAD_SCHEME Handle = 0x8028002A + TPM_E_BAD_DATASIZE Handle = 0x8028002B + TPM_E_BAD_MODE Handle = 0x8028002C + TPM_E_BAD_PRESENCE Handle = 0x8028002D + TPM_E_BAD_VERSION Handle = 0x8028002E + TPM_E_NO_WRAP_TRANSPORT Handle = 0x8028002F + TPM_E_AUDITFAIL_UNSUCCESSFUL Handle = 0x80280030 + TPM_E_AUDITFAIL_SUCCESSFUL Handle = 0x80280031 + TPM_E_NOTRESETABLE Handle = 0x80280032 + TPM_E_NOTLOCAL Handle = 0x80280033 + TPM_E_BAD_TYPE Handle = 0x80280034 + TPM_E_INVALID_RESOURCE Handle = 0x80280035 + TPM_E_NOTFIPS Handle = 0x80280036 + TPM_E_INVALID_FAMILY Handle = 0x80280037 + TPM_E_NO_NV_PERMISSION Handle = 0x80280038 + TPM_E_REQUIRES_SIGN Handle = 0x80280039 + TPM_E_KEY_NOTSUPPORTED Handle = 0x8028003A + TPM_E_AUTH_CONFLICT Handle = 0x8028003B + TPM_E_AREA_LOCKED Handle = 0x8028003C + TPM_E_BAD_LOCALITY Handle = 0x8028003D + TPM_E_READ_ONLY Handle = 0x8028003E + TPM_E_PER_NOWRITE Handle = 0x8028003F + TPM_E_FAMILYCOUNT Handle = 0x80280040 + TPM_E_WRITE_LOCKED Handle = 0x80280041 + TPM_E_BAD_ATTRIBUTES Handle = 0x80280042 + TPM_E_INVALID_STRUCTURE Handle = 0x80280043 + TPM_E_KEY_OWNER_CONTROL Handle = 0x80280044 + TPM_E_BAD_COUNTER Handle = 0x80280045 + TPM_E_NOT_FULLWRITE Handle = 0x80280046 + TPM_E_CONTEXT_GAP Handle = 0x80280047 + TPM_E_MAXNVWRITES Handle = 0x80280048 + TPM_E_NOOPERATOR Handle = 0x80280049 + TPM_E_RESOURCEMISSING Handle = 0x8028004A + TPM_E_DELEGATE_LOCK Handle = 0x8028004B + TPM_E_DELEGATE_FAMILY Handle = 0x8028004C + TPM_E_DELEGATE_ADMIN Handle = 0x8028004D + TPM_E_TRANSPORT_NOTEXCLUSIVE Handle = 0x8028004E + TPM_E_OWNER_CONTROL Handle = 0x8028004F + TPM_E_DAA_RESOURCES Handle = 0x80280050 + TPM_E_DAA_INPUT_DATA0 Handle = 0x80280051 + TPM_E_DAA_INPUT_DATA1 Handle = 0x80280052 + TPM_E_DAA_ISSUER_SETTINGS Handle = 0x80280053 + TPM_E_DAA_TPM_SETTINGS Handle = 0x80280054 + TPM_E_DAA_STAGE Handle = 0x80280055 + TPM_E_DAA_ISSUER_VALIDITY Handle = 0x80280056 + TPM_E_DAA_WRONG_W Handle = 0x80280057 + TPM_E_BAD_HANDLE Handle = 0x80280058 + TPM_E_BAD_DELEGATE Handle = 0x80280059 + TPM_E_BADCONTEXT Handle = 0x8028005A + TPM_E_TOOMANYCONTEXTS Handle = 0x8028005B + TPM_E_MA_TICKET_SIGNATURE Handle = 0x8028005C + TPM_E_MA_DESTINATION Handle = 0x8028005D + TPM_E_MA_SOURCE Handle = 0x8028005E + TPM_E_MA_AUTHORITY Handle = 0x8028005F + TPM_E_PERMANENTEK Handle = 0x80280061 + TPM_E_BAD_SIGNATURE Handle = 0x80280062 + TPM_E_NOCONTEXTSPACE Handle = 0x80280063 + TPM_20_E_ASYMMETRIC Handle = 0x80280081 + TPM_20_E_ATTRIBUTES Handle = 0x80280082 + TPM_20_E_HASH Handle = 0x80280083 + TPM_20_E_VALUE Handle = 0x80280084 + TPM_20_E_HIERARCHY Handle = 0x80280085 + TPM_20_E_KEY_SIZE Handle = 0x80280087 + TPM_20_E_MGF Handle = 0x80280088 + TPM_20_E_MODE Handle = 0x80280089 + TPM_20_E_TYPE Handle = 0x8028008A + TPM_20_E_HANDLE Handle = 0x8028008B + TPM_20_E_KDF Handle = 0x8028008C + TPM_20_E_RANGE Handle = 0x8028008D + TPM_20_E_AUTH_FAIL Handle = 0x8028008E + TPM_20_E_NONCE Handle = 0x8028008F + TPM_20_E_PP Handle = 0x80280090 + TPM_20_E_SCHEME Handle = 0x80280092 + TPM_20_E_SIZE Handle = 0x80280095 + TPM_20_E_SYMMETRIC Handle = 0x80280096 + TPM_20_E_TAG Handle = 0x80280097 + TPM_20_E_SELECTOR Handle = 0x80280098 + TPM_20_E_INSUFFICIENT Handle = 0x8028009A + TPM_20_E_SIGNATURE Handle = 0x8028009B + TPM_20_E_KEY Handle = 0x8028009C + TPM_20_E_POLICY_FAIL Handle = 0x8028009D + TPM_20_E_INTEGRITY Handle = 0x8028009F + TPM_20_E_TICKET Handle = 0x802800A0 + TPM_20_E_RESERVED_BITS Handle = 0x802800A1 + TPM_20_E_BAD_AUTH Handle = 0x802800A2 + TPM_20_E_EXPIRED Handle = 0x802800A3 + TPM_20_E_POLICY_CC Handle = 0x802800A4 + TPM_20_E_BINDING Handle = 0x802800A5 + TPM_20_E_CURVE Handle = 0x802800A6 + TPM_20_E_ECC_POINT Handle = 0x802800A7 + TPM_20_E_INITIALIZE Handle = 0x80280100 + TPM_20_E_FAILURE Handle = 0x80280101 + TPM_20_E_SEQUENCE Handle = 0x80280103 + TPM_20_E_PRIVATE Handle = 0x8028010B + TPM_20_E_HMAC Handle = 0x80280119 + TPM_20_E_DISABLED Handle = 0x80280120 + TPM_20_E_EXCLUSIVE Handle = 0x80280121 + TPM_20_E_ECC_CURVE Handle = 0x80280123 + TPM_20_E_AUTH_TYPE Handle = 0x80280124 + TPM_20_E_AUTH_MISSING Handle = 0x80280125 + TPM_20_E_POLICY Handle = 0x80280126 + TPM_20_E_PCR Handle = 0x80280127 + TPM_20_E_PCR_CHANGED Handle = 0x80280128 + TPM_20_E_UPGRADE Handle = 0x8028012D + TPM_20_E_TOO_MANY_CONTEXTS Handle = 0x8028012E + TPM_20_E_AUTH_UNAVAILABLE Handle = 0x8028012F + TPM_20_E_REBOOT Handle = 0x80280130 + TPM_20_E_UNBALANCED Handle = 0x80280131 + TPM_20_E_COMMAND_SIZE Handle = 0x80280142 + TPM_20_E_COMMAND_CODE Handle = 0x80280143 + TPM_20_E_AUTHSIZE Handle = 0x80280144 + TPM_20_E_AUTH_CONTEXT Handle = 0x80280145 + TPM_20_E_NV_RANGE Handle = 0x80280146 + TPM_20_E_NV_SIZE Handle = 0x80280147 + TPM_20_E_NV_LOCKED Handle = 0x80280148 + TPM_20_E_NV_AUTHORIZATION Handle = 0x80280149 + TPM_20_E_NV_UNINITIALIZED Handle = 0x8028014A + TPM_20_E_NV_SPACE Handle = 0x8028014B + TPM_20_E_NV_DEFINED Handle = 0x8028014C + TPM_20_E_BAD_CONTEXT Handle = 0x80280150 + TPM_20_E_CPHASH Handle = 0x80280151 + TPM_20_E_PARENT Handle = 0x80280152 + TPM_20_E_NEEDS_TEST Handle = 0x80280153 + TPM_20_E_NO_RESULT Handle = 0x80280154 + TPM_20_E_SENSITIVE Handle = 0x80280155 + TPM_E_COMMAND_BLOCKED Handle = 0x80280400 + TPM_E_INVALID_HANDLE Handle = 0x80280401 + TPM_E_DUPLICATE_VHANDLE Handle = 0x80280402 + TPM_E_EMBEDDED_COMMAND_BLOCKED Handle = 0x80280403 + TPM_E_EMBEDDED_COMMAND_UNSUPPORTED Handle = 0x80280404 + TPM_E_RETRY Handle = 0x80280800 + TPM_E_NEEDS_SELFTEST Handle = 0x80280801 + TPM_E_DOING_SELFTEST Handle = 0x80280802 + TPM_E_DEFEND_LOCK_RUNNING Handle = 0x80280803 + TPM_20_E_CONTEXT_GAP Handle = 0x80280901 + TPM_20_E_OBJECT_MEMORY Handle = 0x80280902 + TPM_20_E_SESSION_MEMORY Handle = 0x80280903 + TPM_20_E_MEMORY Handle = 0x80280904 + TPM_20_E_SESSION_HANDLES Handle = 0x80280905 + TPM_20_E_OBJECT_HANDLES Handle = 0x80280906 + TPM_20_E_LOCALITY Handle = 0x80280907 + TPM_20_E_YIELDED Handle = 0x80280908 + TPM_20_E_CANCELED Handle = 0x80280909 + TPM_20_E_TESTING Handle = 0x8028090A + TPM_20_E_NV_RATE Handle = 0x80280920 + TPM_20_E_LOCKOUT Handle = 0x80280921 + TPM_20_E_RETRY Handle = 0x80280922 + TPM_20_E_NV_UNAVAILABLE Handle = 0x80280923 + TBS_E_INTERNAL_ERROR Handle = 0x80284001 + TBS_E_BAD_PARAMETER Handle = 0x80284002 + TBS_E_INVALID_OUTPUT_POINTER Handle = 0x80284003 + TBS_E_INVALID_CONTEXT Handle = 0x80284004 + TBS_E_INSUFFICIENT_BUFFER Handle = 0x80284005 + TBS_E_IOERROR Handle = 0x80284006 + TBS_E_INVALID_CONTEXT_PARAM Handle = 0x80284007 + TBS_E_SERVICE_NOT_RUNNING Handle = 0x80284008 + TBS_E_TOO_MANY_TBS_CONTEXTS Handle = 0x80284009 + TBS_E_TOO_MANY_RESOURCES Handle = 0x8028400A + TBS_E_SERVICE_START_PENDING Handle = 0x8028400B + TBS_E_PPI_NOT_SUPPORTED Handle = 0x8028400C + TBS_E_COMMAND_CANCELED Handle = 0x8028400D + TBS_E_BUFFER_TOO_LARGE Handle = 0x8028400E + TBS_E_TPM_NOT_FOUND Handle = 0x8028400F + TBS_E_SERVICE_DISABLED Handle = 0x80284010 + TBS_E_NO_EVENT_LOG Handle = 0x80284011 + TBS_E_ACCESS_DENIED Handle = 0x80284012 + TBS_E_PROVISIONING_NOT_ALLOWED Handle = 0x80284013 + TBS_E_PPI_FUNCTION_UNSUPPORTED Handle = 0x80284014 + TBS_E_OWNERAUTH_NOT_FOUND Handle = 0x80284015 + TBS_E_PROVISIONING_INCOMPLETE Handle = 0x80284016 + TPMAPI_E_INVALID_STATE Handle = 0x80290100 + TPMAPI_E_NOT_ENOUGH_DATA Handle = 0x80290101 + TPMAPI_E_TOO_MUCH_DATA Handle = 0x80290102 + TPMAPI_E_INVALID_OUTPUT_POINTER Handle = 0x80290103 + TPMAPI_E_INVALID_PARAMETER Handle = 0x80290104 + TPMAPI_E_OUT_OF_MEMORY Handle = 0x80290105 + TPMAPI_E_BUFFER_TOO_SMALL Handle = 0x80290106 + TPMAPI_E_INTERNAL_ERROR Handle = 0x80290107 + TPMAPI_E_ACCESS_DENIED Handle = 0x80290108 + TPMAPI_E_AUTHORIZATION_FAILED Handle = 0x80290109 + TPMAPI_E_INVALID_CONTEXT_HANDLE Handle = 0x8029010A + TPMAPI_E_TBS_COMMUNICATION_ERROR Handle = 0x8029010B + TPMAPI_E_TPM_COMMAND_ERROR Handle = 0x8029010C + TPMAPI_E_MESSAGE_TOO_LARGE Handle = 0x8029010D + TPMAPI_E_INVALID_ENCODING Handle = 0x8029010E + TPMAPI_E_INVALID_KEY_SIZE Handle = 0x8029010F + TPMAPI_E_ENCRYPTION_FAILED Handle = 0x80290110 + TPMAPI_E_INVALID_KEY_PARAMS Handle = 0x80290111 + TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB Handle = 0x80290112 + TPMAPI_E_INVALID_PCR_INDEX Handle = 0x80290113 + TPMAPI_E_INVALID_DELEGATE_BLOB Handle = 0x80290114 + TPMAPI_E_INVALID_CONTEXT_PARAMS Handle = 0x80290115 + TPMAPI_E_INVALID_KEY_BLOB Handle = 0x80290116 + TPMAPI_E_INVALID_PCR_DATA Handle = 0x80290117 + TPMAPI_E_INVALID_OWNER_AUTH Handle = 0x80290118 + TPMAPI_E_FIPS_RNG_CHECK_FAILED Handle = 0x80290119 + TPMAPI_E_EMPTY_TCG_LOG Handle = 0x8029011A + TPMAPI_E_INVALID_TCG_LOG_ENTRY Handle = 0x8029011B + TPMAPI_E_TCG_SEPARATOR_ABSENT Handle = 0x8029011C + TPMAPI_E_TCG_INVALID_DIGEST_ENTRY Handle = 0x8029011D + TPMAPI_E_POLICY_DENIES_OPERATION Handle = 0x8029011E + TPMAPI_E_NV_BITS_NOT_DEFINED Handle = 0x8029011F + TPMAPI_E_NV_BITS_NOT_READY Handle = 0x80290120 + TPMAPI_E_SEALING_KEY_NOT_AVAILABLE Handle = 0x80290121 + TPMAPI_E_NO_AUTHORIZATION_CHAIN_FOUND Handle = 0x80290122 + TPMAPI_E_SVN_COUNTER_NOT_AVAILABLE Handle = 0x80290123 + TPMAPI_E_OWNER_AUTH_NOT_NULL Handle = 0x80290124 + TPMAPI_E_ENDORSEMENT_AUTH_NOT_NULL Handle = 0x80290125 + TPMAPI_E_AUTHORIZATION_REVOKED Handle = 0x80290126 + TPMAPI_E_MALFORMED_AUTHORIZATION_KEY Handle = 0x80290127 + TPMAPI_E_AUTHORIZING_KEY_NOT_SUPPORTED Handle = 0x80290128 + TPMAPI_E_INVALID_AUTHORIZATION_SIGNATURE Handle = 0x80290129 + TPMAPI_E_MALFORMED_AUTHORIZATION_POLICY Handle = 0x8029012A + TPMAPI_E_MALFORMED_AUTHORIZATION_OTHER Handle = 0x8029012B + TPMAPI_E_SEALING_KEY_CHANGED Handle = 0x8029012C + TBSIMP_E_BUFFER_TOO_SMALL Handle = 0x80290200 + TBSIMP_E_CLEANUP_FAILED Handle = 0x80290201 + TBSIMP_E_INVALID_CONTEXT_HANDLE Handle = 0x80290202 + TBSIMP_E_INVALID_CONTEXT_PARAM Handle = 0x80290203 + TBSIMP_E_TPM_ERROR Handle = 0x80290204 + TBSIMP_E_HASH_BAD_KEY Handle = 0x80290205 + TBSIMP_E_DUPLICATE_VHANDLE Handle = 0x80290206 + TBSIMP_E_INVALID_OUTPUT_POINTER Handle = 0x80290207 + TBSIMP_E_INVALID_PARAMETER Handle = 0x80290208 + TBSIMP_E_RPC_INIT_FAILED Handle = 0x80290209 + TBSIMP_E_SCHEDULER_NOT_RUNNING Handle = 0x8029020A + TBSIMP_E_COMMAND_CANCELED Handle = 0x8029020B + TBSIMP_E_OUT_OF_MEMORY Handle = 0x8029020C + TBSIMP_E_LIST_NO_MORE_ITEMS Handle = 0x8029020D + TBSIMP_E_LIST_NOT_FOUND Handle = 0x8029020E + TBSIMP_E_NOT_ENOUGH_SPACE Handle = 0x8029020F + TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS Handle = 0x80290210 + TBSIMP_E_COMMAND_FAILED Handle = 0x80290211 + TBSIMP_E_UNKNOWN_ORDINAL Handle = 0x80290212 + TBSIMP_E_RESOURCE_EXPIRED Handle = 0x80290213 + TBSIMP_E_INVALID_RESOURCE Handle = 0x80290214 + TBSIMP_E_NOTHING_TO_UNLOAD Handle = 0x80290215 + TBSIMP_E_HASH_TABLE_FULL Handle = 0x80290216 + TBSIMP_E_TOO_MANY_TBS_CONTEXTS Handle = 0x80290217 + TBSIMP_E_TOO_MANY_RESOURCES Handle = 0x80290218 + TBSIMP_E_PPI_NOT_SUPPORTED Handle = 0x80290219 + TBSIMP_E_TPM_INCOMPATIBLE Handle = 0x8029021A + TBSIMP_E_NO_EVENT_LOG Handle = 0x8029021B + TPM_E_PPI_ACPI_FAILURE Handle = 0x80290300 + TPM_E_PPI_USER_ABORT Handle = 0x80290301 + TPM_E_PPI_BIOS_FAILURE Handle = 0x80290302 + TPM_E_PPI_NOT_SUPPORTED Handle = 0x80290303 + TPM_E_PPI_BLOCKED_IN_BIOS Handle = 0x80290304 + TPM_E_PCP_ERROR_MASK Handle = 0x80290400 + TPM_E_PCP_DEVICE_NOT_READY Handle = 0x80290401 + TPM_E_PCP_INVALID_HANDLE Handle = 0x80290402 + TPM_E_PCP_INVALID_PARAMETER Handle = 0x80290403 + TPM_E_PCP_FLAG_NOT_SUPPORTED Handle = 0x80290404 + TPM_E_PCP_NOT_SUPPORTED Handle = 0x80290405 + TPM_E_PCP_BUFFER_TOO_SMALL Handle = 0x80290406 + TPM_E_PCP_INTERNAL_ERROR Handle = 0x80290407 + TPM_E_PCP_AUTHENTICATION_FAILED Handle = 0x80290408 + TPM_E_PCP_AUTHENTICATION_IGNORED Handle = 0x80290409 + TPM_E_PCP_POLICY_NOT_FOUND Handle = 0x8029040A + TPM_E_PCP_PROFILE_NOT_FOUND Handle = 0x8029040B + TPM_E_PCP_VALIDATION_FAILED Handle = 0x8029040C + TPM_E_PCP_WRONG_PARENT Handle = 0x8029040E + TPM_E_KEY_NOT_LOADED Handle = 0x8029040F + TPM_E_NO_KEY_CERTIFICATION Handle = 0x80290410 + TPM_E_KEY_NOT_FINALIZED Handle = 0x80290411 + TPM_E_ATTESTATION_CHALLENGE_NOT_SET Handle = 0x80290412 + TPM_E_NOT_PCR_BOUND Handle = 0x80290413 + TPM_E_KEY_ALREADY_FINALIZED Handle = 0x80290414 + TPM_E_KEY_USAGE_POLICY_NOT_SUPPORTED Handle = 0x80290415 + TPM_E_KEY_USAGE_POLICY_INVALID Handle = 0x80290416 + TPM_E_SOFT_KEY_ERROR Handle = 0x80290417 + TPM_E_KEY_NOT_AUTHENTICATED Handle = 0x80290418 + TPM_E_PCP_KEY_NOT_AIK Handle = 0x80290419 + TPM_E_KEY_NOT_SIGNING_KEY Handle = 0x8029041A + TPM_E_LOCKED_OUT Handle = 0x8029041B + TPM_E_CLAIM_TYPE_NOT_SUPPORTED Handle = 0x8029041C + TPM_E_VERSION_NOT_SUPPORTED Handle = 0x8029041D + TPM_E_BUFFER_LENGTH_MISMATCH Handle = 0x8029041E + TPM_E_PCP_IFX_RSA_KEY_CREATION_BLOCKED Handle = 0x8029041F + TPM_E_PCP_TICKET_MISSING Handle = 0x80290420 + TPM_E_PCP_RAW_POLICY_NOT_SUPPORTED Handle = 0x80290421 + TPM_E_PCP_KEY_HANDLE_INVALIDATED Handle = 0x80290422 + TPM_E_PCP_UNSUPPORTED_PSS_SALT Handle = 0x40290423 + TPM_E_ZERO_EXHAUST_ENABLED Handle = 0x80290500 + PLA_E_DCS_NOT_FOUND Handle = 0x80300002 + PLA_E_DCS_IN_USE Handle = 0x803000AA + PLA_E_TOO_MANY_FOLDERS Handle = 0x80300045 + PLA_E_NO_MIN_DISK Handle = 0x80300070 + PLA_E_DCS_ALREADY_EXISTS Handle = 0x803000B7 + PLA_S_PROPERTY_IGNORED Handle = 0x00300100 + PLA_E_PROPERTY_CONFLICT Handle = 0x80300101 + PLA_E_DCS_SINGLETON_REQUIRED Handle = 0x80300102 + PLA_E_CREDENTIALS_REQUIRED Handle = 0x80300103 + PLA_E_DCS_NOT_RUNNING Handle = 0x80300104 + PLA_E_CONFLICT_INCL_EXCL_API Handle = 0x80300105 + PLA_E_NETWORK_EXE_NOT_VALID Handle = 0x80300106 + PLA_E_EXE_ALREADY_CONFIGURED Handle = 0x80300107 + PLA_E_EXE_PATH_NOT_VALID Handle = 0x80300108 + PLA_E_DC_ALREADY_EXISTS Handle = 0x80300109 + PLA_E_DCS_START_WAIT_TIMEOUT Handle = 0x8030010A + PLA_E_DC_START_WAIT_TIMEOUT Handle = 0x8030010B + PLA_E_REPORT_WAIT_TIMEOUT Handle = 0x8030010C + PLA_E_NO_DUPLICATES Handle = 0x8030010D + PLA_E_EXE_FULL_PATH_REQUIRED Handle = 0x8030010E + PLA_E_INVALID_SESSION_NAME Handle = 0x8030010F + PLA_E_PLA_CHANNEL_NOT_ENABLED Handle = 0x80300110 + PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED Handle = 0x80300111 + PLA_E_RULES_MANAGER_FAILED Handle = 0x80300112 + PLA_E_CABAPI_FAILURE Handle = 0x80300113 + FVE_E_LOCKED_VOLUME Handle = 0x80310000 + FVE_E_NOT_ENCRYPTED Handle = 0x80310001 + FVE_E_NO_TPM_BIOS Handle = 0x80310002 + FVE_E_NO_MBR_METRIC Handle = 0x80310003 + FVE_E_NO_BOOTSECTOR_METRIC Handle = 0x80310004 + FVE_E_NO_BOOTMGR_METRIC Handle = 0x80310005 + FVE_E_WRONG_BOOTMGR Handle = 0x80310006 + FVE_E_SECURE_KEY_REQUIRED Handle = 0x80310007 + FVE_E_NOT_ACTIVATED Handle = 0x80310008 + FVE_E_ACTION_NOT_ALLOWED Handle = 0x80310009 + FVE_E_AD_SCHEMA_NOT_INSTALLED Handle = 0x8031000A + FVE_E_AD_INVALID_DATATYPE Handle = 0x8031000B + FVE_E_AD_INVALID_DATASIZE Handle = 0x8031000C + FVE_E_AD_NO_VALUES Handle = 0x8031000D + FVE_E_AD_ATTR_NOT_SET Handle = 0x8031000E + FVE_E_AD_GUID_NOT_FOUND Handle = 0x8031000F + FVE_E_BAD_INFORMATION Handle = 0x80310010 + FVE_E_TOO_SMALL Handle = 0x80310011 + FVE_E_SYSTEM_VOLUME Handle = 0x80310012 + FVE_E_FAILED_WRONG_FS Handle = 0x80310013 + FVE_E_BAD_PARTITION_SIZE Handle = 0x80310014 + FVE_E_NOT_SUPPORTED Handle = 0x80310015 + FVE_E_BAD_DATA Handle = 0x80310016 + FVE_E_VOLUME_NOT_BOUND Handle = 0x80310017 + FVE_E_TPM_NOT_OWNED Handle = 0x80310018 + FVE_E_NOT_DATA_VOLUME Handle = 0x80310019 + FVE_E_AD_INSUFFICIENT_BUFFER Handle = 0x8031001A + FVE_E_CONV_READ Handle = 0x8031001B + FVE_E_CONV_WRITE Handle = 0x8031001C + FVE_E_KEY_REQUIRED Handle = 0x8031001D + FVE_E_CLUSTERING_NOT_SUPPORTED Handle = 0x8031001E + FVE_E_VOLUME_BOUND_ALREADY Handle = 0x8031001F + FVE_E_OS_NOT_PROTECTED Handle = 0x80310020 + FVE_E_PROTECTION_DISABLED Handle = 0x80310021 + FVE_E_RECOVERY_KEY_REQUIRED Handle = 0x80310022 + FVE_E_FOREIGN_VOLUME Handle = 0x80310023 + FVE_E_OVERLAPPED_UPDATE Handle = 0x80310024 + FVE_E_TPM_SRK_AUTH_NOT_ZERO Handle = 0x80310025 + FVE_E_FAILED_SECTOR_SIZE Handle = 0x80310026 + FVE_E_FAILED_AUTHENTICATION Handle = 0x80310027 + FVE_E_NOT_OS_VOLUME Handle = 0x80310028 + FVE_E_AUTOUNLOCK_ENABLED Handle = 0x80310029 + FVE_E_WRONG_BOOTSECTOR Handle = 0x8031002A + FVE_E_WRONG_SYSTEM_FS Handle = 0x8031002B + FVE_E_POLICY_PASSWORD_REQUIRED Handle = 0x8031002C + FVE_E_CANNOT_SET_FVEK_ENCRYPTED Handle = 0x8031002D + FVE_E_CANNOT_ENCRYPT_NO_KEY Handle = 0x8031002E + FVE_E_BOOTABLE_CDDVD Handle = 0x80310030 + FVE_E_PROTECTOR_EXISTS Handle = 0x80310031 + FVE_E_RELATIVE_PATH Handle = 0x80310032 + FVE_E_PROTECTOR_NOT_FOUND Handle = 0x80310033 + FVE_E_INVALID_KEY_FORMAT Handle = 0x80310034 + FVE_E_INVALID_PASSWORD_FORMAT Handle = 0x80310035 + FVE_E_FIPS_RNG_CHECK_FAILED Handle = 0x80310036 + FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD Handle = 0x80310037 + FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT Handle = 0x80310038 + FVE_E_NOT_DECRYPTED Handle = 0x80310039 + FVE_E_INVALID_PROTECTOR_TYPE Handle = 0x8031003A + FVE_E_NO_PROTECTORS_TO_TEST Handle = 0x8031003B + FVE_E_KEYFILE_NOT_FOUND Handle = 0x8031003C + FVE_E_KEYFILE_INVALID Handle = 0x8031003D + FVE_E_KEYFILE_NO_VMK Handle = 0x8031003E + FVE_E_TPM_DISABLED Handle = 0x8031003F + FVE_E_NOT_ALLOWED_IN_SAFE_MODE Handle = 0x80310040 + FVE_E_TPM_INVALID_PCR Handle = 0x80310041 + FVE_E_TPM_NO_VMK Handle = 0x80310042 + FVE_E_PIN_INVALID Handle = 0x80310043 + FVE_E_AUTH_INVALID_APPLICATION Handle = 0x80310044 + FVE_E_AUTH_INVALID_CONFIG Handle = 0x80310045 + FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED Handle = 0x80310046 + FVE_E_FS_NOT_EXTENDED Handle = 0x80310047 + FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED Handle = 0x80310048 + FVE_E_NO_LICENSE Handle = 0x80310049 + FVE_E_NOT_ON_STACK Handle = 0x8031004A + FVE_E_FS_MOUNTED Handle = 0x8031004B + FVE_E_TOKEN_NOT_IMPERSONATED Handle = 0x8031004C + FVE_E_DRY_RUN_FAILED Handle = 0x8031004D + FVE_E_REBOOT_REQUIRED Handle = 0x8031004E + FVE_E_DEBUGGER_ENABLED Handle = 0x8031004F + FVE_E_RAW_ACCESS Handle = 0x80310050 + FVE_E_RAW_BLOCKED Handle = 0x80310051 + FVE_E_BCD_APPLICATIONS_PATH_INCORRECT Handle = 0x80310052 + FVE_E_NOT_ALLOWED_IN_VERSION Handle = 0x80310053 + FVE_E_NO_AUTOUNLOCK_MASTER_KEY Handle = 0x80310054 + FVE_E_MOR_FAILED Handle = 0x80310055 + FVE_E_HIDDEN_VOLUME Handle = 0x80310056 + FVE_E_TRANSIENT_STATE Handle = 0x80310057 + FVE_E_PUBKEY_NOT_ALLOWED Handle = 0x80310058 + FVE_E_VOLUME_HANDLE_OPEN Handle = 0x80310059 + FVE_E_NO_FEATURE_LICENSE Handle = 0x8031005A + FVE_E_INVALID_STARTUP_OPTIONS Handle = 0x8031005B + FVE_E_POLICY_RECOVERY_PASSWORD_NOT_ALLOWED Handle = 0x8031005C + FVE_E_POLICY_RECOVERY_PASSWORD_REQUIRED Handle = 0x8031005D + FVE_E_POLICY_RECOVERY_KEY_NOT_ALLOWED Handle = 0x8031005E + FVE_E_POLICY_RECOVERY_KEY_REQUIRED Handle = 0x8031005F + FVE_E_POLICY_STARTUP_PIN_NOT_ALLOWED Handle = 0x80310060 + FVE_E_POLICY_STARTUP_PIN_REQUIRED Handle = 0x80310061 + FVE_E_POLICY_STARTUP_KEY_NOT_ALLOWED Handle = 0x80310062 + FVE_E_POLICY_STARTUP_KEY_REQUIRED Handle = 0x80310063 + FVE_E_POLICY_STARTUP_PIN_KEY_NOT_ALLOWED Handle = 0x80310064 + FVE_E_POLICY_STARTUP_PIN_KEY_REQUIRED Handle = 0x80310065 + FVE_E_POLICY_STARTUP_TPM_NOT_ALLOWED Handle = 0x80310066 + FVE_E_POLICY_STARTUP_TPM_REQUIRED Handle = 0x80310067 + FVE_E_POLICY_INVALID_PIN_LENGTH Handle = 0x80310068 + FVE_E_KEY_PROTECTOR_NOT_SUPPORTED Handle = 0x80310069 + FVE_E_POLICY_PASSPHRASE_NOT_ALLOWED Handle = 0x8031006A + FVE_E_POLICY_PASSPHRASE_REQUIRED Handle = 0x8031006B + FVE_E_FIPS_PREVENTS_PASSPHRASE Handle = 0x8031006C + FVE_E_OS_VOLUME_PASSPHRASE_NOT_ALLOWED Handle = 0x8031006D + FVE_E_INVALID_BITLOCKER_OID Handle = 0x8031006E + FVE_E_VOLUME_TOO_SMALL Handle = 0x8031006F + FVE_E_DV_NOT_SUPPORTED_ON_FS Handle = 0x80310070 + FVE_E_DV_NOT_ALLOWED_BY_GP Handle = 0x80310071 + FVE_E_POLICY_USER_CERTIFICATE_NOT_ALLOWED Handle = 0x80310072 + FVE_E_POLICY_USER_CERTIFICATE_REQUIRED Handle = 0x80310073 + FVE_E_POLICY_USER_CERT_MUST_BE_HW Handle = 0x80310074 + FVE_E_POLICY_USER_CONFIGURE_FDV_AUTOUNLOCK_NOT_ALLOWED Handle = 0x80310075 + FVE_E_POLICY_USER_CONFIGURE_RDV_AUTOUNLOCK_NOT_ALLOWED Handle = 0x80310076 + FVE_E_POLICY_USER_CONFIGURE_RDV_NOT_ALLOWED Handle = 0x80310077 + FVE_E_POLICY_USER_ENABLE_RDV_NOT_ALLOWED Handle = 0x80310078 + FVE_E_POLICY_USER_DISABLE_RDV_NOT_ALLOWED Handle = 0x80310079 + FVE_E_POLICY_INVALID_PASSPHRASE_LENGTH Handle = 0x80310080 + FVE_E_POLICY_PASSPHRASE_TOO_SIMPLE Handle = 0x80310081 + FVE_E_RECOVERY_PARTITION Handle = 0x80310082 + FVE_E_POLICY_CONFLICT_FDV_RK_OFF_AUK_ON Handle = 0x80310083 + FVE_E_POLICY_CONFLICT_RDV_RK_OFF_AUK_ON Handle = 0x80310084 + FVE_E_NON_BITLOCKER_OID Handle = 0x80310085 + FVE_E_POLICY_PROHIBITS_SELFSIGNED Handle = 0x80310086 + FVE_E_POLICY_CONFLICT_RO_AND_STARTUP_KEY_REQUIRED Handle = 0x80310087 + FVE_E_CONV_RECOVERY_FAILED Handle = 0x80310088 + FVE_E_VIRTUALIZED_SPACE_TOO_BIG Handle = 0x80310089 + FVE_E_POLICY_CONFLICT_OSV_RP_OFF_ADB_ON Handle = 0x80310090 + FVE_E_POLICY_CONFLICT_FDV_RP_OFF_ADB_ON Handle = 0x80310091 + FVE_E_POLICY_CONFLICT_RDV_RP_OFF_ADB_ON Handle = 0x80310092 + FVE_E_NON_BITLOCKER_KU Handle = 0x80310093 + FVE_E_PRIVATEKEY_AUTH_FAILED Handle = 0x80310094 + FVE_E_REMOVAL_OF_DRA_FAILED Handle = 0x80310095 + FVE_E_OPERATION_NOT_SUPPORTED_ON_VISTA_VOLUME Handle = 0x80310096 + FVE_E_CANT_LOCK_AUTOUNLOCK_ENABLED_VOLUME Handle = 0x80310097 + FVE_E_FIPS_HASH_KDF_NOT_ALLOWED Handle = 0x80310098 + FVE_E_ENH_PIN_INVALID Handle = 0x80310099 + FVE_E_INVALID_PIN_CHARS Handle = 0x8031009A + FVE_E_INVALID_DATUM_TYPE Handle = 0x8031009B + FVE_E_EFI_ONLY Handle = 0x8031009C + FVE_E_MULTIPLE_NKP_CERTS Handle = 0x8031009D + FVE_E_REMOVAL_OF_NKP_FAILED Handle = 0x8031009E + FVE_E_INVALID_NKP_CERT Handle = 0x8031009F + FVE_E_NO_EXISTING_PIN Handle = 0x803100A0 + FVE_E_PROTECTOR_CHANGE_PIN_MISMATCH Handle = 0x803100A1 + FVE_E_PIN_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED Handle = 0x803100A2 + FVE_E_PROTECTOR_CHANGE_MAX_PIN_CHANGE_ATTEMPTS_REACHED Handle = 0x803100A3 + FVE_E_POLICY_PASSPHRASE_REQUIRES_ASCII Handle = 0x803100A4 + FVE_E_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE Handle = 0x803100A5 + FVE_E_WIPE_NOT_ALLOWED_ON_TP_STORAGE Handle = 0x803100A6 + FVE_E_KEY_LENGTH_NOT_SUPPORTED_BY_EDRIVE Handle = 0x803100A7 + FVE_E_NO_EXISTING_PASSPHRASE Handle = 0x803100A8 + FVE_E_PROTECTOR_CHANGE_PASSPHRASE_MISMATCH Handle = 0x803100A9 + FVE_E_PASSPHRASE_TOO_LONG Handle = 0x803100AA + FVE_E_NO_PASSPHRASE_WITH_TPM Handle = 0x803100AB + FVE_E_NO_TPM_WITH_PASSPHRASE Handle = 0x803100AC + FVE_E_NOT_ALLOWED_ON_CSV_STACK Handle = 0x803100AD + FVE_E_NOT_ALLOWED_ON_CLUSTER Handle = 0x803100AE + FVE_E_EDRIVE_NO_FAILOVER_TO_SW Handle = 0x803100AF + FVE_E_EDRIVE_BAND_IN_USE Handle = 0x803100B0 + FVE_E_EDRIVE_DISALLOWED_BY_GP Handle = 0x803100B1 + FVE_E_EDRIVE_INCOMPATIBLE_VOLUME Handle = 0x803100B2 + FVE_E_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING Handle = 0x803100B3 + FVE_E_EDRIVE_DV_NOT_SUPPORTED Handle = 0x803100B4 + FVE_E_NO_PREBOOT_KEYBOARD_DETECTED Handle = 0x803100B5 + FVE_E_NO_PREBOOT_KEYBOARD_OR_WINRE_DETECTED Handle = 0x803100B6 + FVE_E_POLICY_REQUIRES_STARTUP_PIN_ON_TOUCH_DEVICE Handle = 0x803100B7 + FVE_E_POLICY_REQUIRES_RECOVERY_PASSWORD_ON_TOUCH_DEVICE Handle = 0x803100B8 + FVE_E_WIPE_CANCEL_NOT_APPLICABLE Handle = 0x803100B9 + FVE_E_SECUREBOOT_DISABLED Handle = 0x803100BA + FVE_E_SECUREBOOT_CONFIGURATION_INVALID Handle = 0x803100BB + FVE_E_EDRIVE_DRY_RUN_FAILED Handle = 0x803100BC + FVE_E_SHADOW_COPY_PRESENT Handle = 0x803100BD + FVE_E_POLICY_INVALID_ENHANCED_BCD_SETTINGS Handle = 0x803100BE + FVE_E_EDRIVE_INCOMPATIBLE_FIRMWARE Handle = 0x803100BF + FVE_E_PROTECTOR_CHANGE_MAX_PASSPHRASE_CHANGE_ATTEMPTS_REACHED Handle = 0x803100C0 + FVE_E_PASSPHRASE_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED Handle = 0x803100C1 + FVE_E_LIVEID_ACCOUNT_SUSPENDED Handle = 0x803100C2 + FVE_E_LIVEID_ACCOUNT_BLOCKED Handle = 0x803100C3 + FVE_E_NOT_PROVISIONED_ON_ALL_VOLUMES Handle = 0x803100C4 + FVE_E_DE_FIXED_DATA_NOT_SUPPORTED Handle = 0x803100C5 + FVE_E_DE_HARDWARE_NOT_COMPLIANT Handle = 0x803100C6 + FVE_E_DE_WINRE_NOT_CONFIGURED Handle = 0x803100C7 + FVE_E_DE_PROTECTION_SUSPENDED Handle = 0x803100C8 + FVE_E_DE_OS_VOLUME_NOT_PROTECTED Handle = 0x803100C9 + FVE_E_DE_DEVICE_LOCKEDOUT Handle = 0x803100CA + FVE_E_DE_PROTECTION_NOT_YET_ENABLED Handle = 0x803100CB + FVE_E_INVALID_PIN_CHARS_DETAILED Handle = 0x803100CC + FVE_E_DEVICE_LOCKOUT_COUNTER_UNAVAILABLE Handle = 0x803100CD + FVE_E_DEVICELOCKOUT_COUNTER_MISMATCH Handle = 0x803100CE + FVE_E_BUFFER_TOO_LARGE Handle = 0x803100CF + FVE_E_NO_SUCH_CAPABILITY_ON_TARGET Handle = 0x803100D0 + FVE_E_DE_PREVENTED_FOR_OS Handle = 0x803100D1 + FVE_E_DE_VOLUME_OPTED_OUT Handle = 0x803100D2 + FVE_E_DE_VOLUME_NOT_SUPPORTED Handle = 0x803100D3 + FVE_E_EOW_NOT_SUPPORTED_IN_VERSION Handle = 0x803100D4 + FVE_E_ADBACKUP_NOT_ENABLED Handle = 0x803100D5 + FVE_E_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT Handle = 0x803100D6 + FVE_E_NOT_DE_VOLUME Handle = 0x803100D7 + FVE_E_PROTECTION_CANNOT_BE_DISABLED Handle = 0x803100D8 + FVE_E_OSV_KSR_NOT_ALLOWED Handle = 0x803100D9 + FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_OS_DRIVE Handle = 0x803100DA + FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_FIXED_DRIVE Handle = 0x803100DB + FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_REMOVABLE_DRIVE Handle = 0x803100DC + FVE_E_KEY_ROTATION_NOT_SUPPORTED Handle = 0x803100DD + FVE_E_EXECUTE_REQUEST_SENT_TOO_SOON Handle = 0x803100DE + FVE_E_KEY_ROTATION_NOT_ENABLED Handle = 0x803100DF + FVE_E_DEVICE_NOT_JOINED Handle = 0x803100E0 + FWP_E_CALLOUT_NOT_FOUND Handle = 0x80320001 + FWP_E_CONDITION_NOT_FOUND Handle = 0x80320002 + FWP_E_FILTER_NOT_FOUND Handle = 0x80320003 + FWP_E_LAYER_NOT_FOUND Handle = 0x80320004 + FWP_E_PROVIDER_NOT_FOUND Handle = 0x80320005 + FWP_E_PROVIDER_CONTEXT_NOT_FOUND Handle = 0x80320006 + FWP_E_SUBLAYER_NOT_FOUND Handle = 0x80320007 + FWP_E_NOT_FOUND Handle = 0x80320008 + FWP_E_ALREADY_EXISTS Handle = 0x80320009 + FWP_E_IN_USE Handle = 0x8032000A + FWP_E_DYNAMIC_SESSION_IN_PROGRESS Handle = 0x8032000B + FWP_E_WRONG_SESSION Handle = 0x8032000C + FWP_E_NO_TXN_IN_PROGRESS Handle = 0x8032000D + FWP_E_TXN_IN_PROGRESS Handle = 0x8032000E + FWP_E_TXN_ABORTED Handle = 0x8032000F + FWP_E_SESSION_ABORTED Handle = 0x80320010 + FWP_E_INCOMPATIBLE_TXN Handle = 0x80320011 + FWP_E_TIMEOUT Handle = 0x80320012 + FWP_E_NET_EVENTS_DISABLED Handle = 0x80320013 + FWP_E_INCOMPATIBLE_LAYER Handle = 0x80320014 + FWP_E_KM_CLIENTS_ONLY Handle = 0x80320015 + FWP_E_LIFETIME_MISMATCH Handle = 0x80320016 + FWP_E_BUILTIN_OBJECT Handle = 0x80320017 + FWP_E_TOO_MANY_CALLOUTS Handle = 0x80320018 + FWP_E_NOTIFICATION_DROPPED Handle = 0x80320019 + FWP_E_TRAFFIC_MISMATCH Handle = 0x8032001A + FWP_E_INCOMPATIBLE_SA_STATE Handle = 0x8032001B + FWP_E_NULL_POINTER Handle = 0x8032001C + FWP_E_INVALID_ENUMERATOR Handle = 0x8032001D + FWP_E_INVALID_FLAGS Handle = 0x8032001E + FWP_E_INVALID_NET_MASK Handle = 0x8032001F + FWP_E_INVALID_RANGE Handle = 0x80320020 + FWP_E_INVALID_INTERVAL Handle = 0x80320021 + FWP_E_ZERO_LENGTH_ARRAY Handle = 0x80320022 + FWP_E_NULL_DISPLAY_NAME Handle = 0x80320023 + FWP_E_INVALID_ACTION_TYPE Handle = 0x80320024 + FWP_E_INVALID_WEIGHT Handle = 0x80320025 + FWP_E_MATCH_TYPE_MISMATCH Handle = 0x80320026 + FWP_E_TYPE_MISMATCH Handle = 0x80320027 + FWP_E_OUT_OF_BOUNDS Handle = 0x80320028 + FWP_E_RESERVED Handle = 0x80320029 + FWP_E_DUPLICATE_CONDITION Handle = 0x8032002A + FWP_E_DUPLICATE_KEYMOD Handle = 0x8032002B + FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER Handle = 0x8032002C + FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER Handle = 0x8032002D + FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER Handle = 0x8032002E + FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT Handle = 0x8032002F + FWP_E_INCOMPATIBLE_AUTH_METHOD Handle = 0x80320030 + FWP_E_INCOMPATIBLE_DH_GROUP Handle = 0x80320031 + FWP_E_EM_NOT_SUPPORTED Handle = 0x80320032 + FWP_E_NEVER_MATCH Handle = 0x80320033 + FWP_E_PROVIDER_CONTEXT_MISMATCH Handle = 0x80320034 + FWP_E_INVALID_PARAMETER Handle = 0x80320035 + FWP_E_TOO_MANY_SUBLAYERS Handle = 0x80320036 + FWP_E_CALLOUT_NOTIFICATION_FAILED Handle = 0x80320037 + FWP_E_INVALID_AUTH_TRANSFORM Handle = 0x80320038 + FWP_E_INVALID_CIPHER_TRANSFORM Handle = 0x80320039 + FWP_E_INCOMPATIBLE_CIPHER_TRANSFORM Handle = 0x8032003A + FWP_E_INVALID_TRANSFORM_COMBINATION Handle = 0x8032003B + FWP_E_DUPLICATE_AUTH_METHOD Handle = 0x8032003C + FWP_E_INVALID_TUNNEL_ENDPOINT Handle = 0x8032003D + FWP_E_L2_DRIVER_NOT_READY Handle = 0x8032003E + FWP_E_KEY_DICTATOR_ALREADY_REGISTERED Handle = 0x8032003F + FWP_E_KEY_DICTATION_INVALID_KEYING_MATERIAL Handle = 0x80320040 + FWP_E_CONNECTIONS_DISABLED Handle = 0x80320041 + FWP_E_INVALID_DNS_NAME Handle = 0x80320042 + FWP_E_STILL_ON Handle = 0x80320043 + FWP_E_IKEEXT_NOT_RUNNING Handle = 0x80320044 + FWP_E_DROP_NOICMP Handle = 0x80320104 + WS_S_ASYNC Handle = 0x003D0000 + WS_S_END Handle = 0x003D0001 + WS_E_INVALID_FORMAT Handle = 0x803D0000 + WS_E_OBJECT_FAULTED Handle = 0x803D0001 + WS_E_NUMERIC_OVERFLOW Handle = 0x803D0002 + WS_E_INVALID_OPERATION Handle = 0x803D0003 + WS_E_OPERATION_ABORTED Handle = 0x803D0004 + WS_E_ENDPOINT_ACCESS_DENIED Handle = 0x803D0005 + WS_E_OPERATION_TIMED_OUT Handle = 0x803D0006 + WS_E_OPERATION_ABANDONED Handle = 0x803D0007 + WS_E_QUOTA_EXCEEDED Handle = 0x803D0008 + WS_E_NO_TRANSLATION_AVAILABLE Handle = 0x803D0009 + WS_E_SECURITY_VERIFICATION_FAILURE Handle = 0x803D000A + WS_E_ADDRESS_IN_USE Handle = 0x803D000B + WS_E_ADDRESS_NOT_AVAILABLE Handle = 0x803D000C + WS_E_ENDPOINT_NOT_FOUND Handle = 0x803D000D + WS_E_ENDPOINT_NOT_AVAILABLE Handle = 0x803D000E + WS_E_ENDPOINT_FAILURE Handle = 0x803D000F + WS_E_ENDPOINT_UNREACHABLE Handle = 0x803D0010 + WS_E_ENDPOINT_ACTION_NOT_SUPPORTED Handle = 0x803D0011 + WS_E_ENDPOINT_TOO_BUSY Handle = 0x803D0012 + WS_E_ENDPOINT_FAULT_RECEIVED Handle = 0x803D0013 + WS_E_ENDPOINT_DISCONNECTED Handle = 0x803D0014 + WS_E_PROXY_FAILURE Handle = 0x803D0015 + WS_E_PROXY_ACCESS_DENIED Handle = 0x803D0016 + WS_E_NOT_SUPPORTED Handle = 0x803D0017 + WS_E_PROXY_REQUIRES_BASIC_AUTH Handle = 0x803D0018 + WS_E_PROXY_REQUIRES_DIGEST_AUTH Handle = 0x803D0019 + WS_E_PROXY_REQUIRES_NTLM_AUTH Handle = 0x803D001A + WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH Handle = 0x803D001B + WS_E_SERVER_REQUIRES_BASIC_AUTH Handle = 0x803D001C + WS_E_SERVER_REQUIRES_DIGEST_AUTH Handle = 0x803D001D + WS_E_SERVER_REQUIRES_NTLM_AUTH Handle = 0x803D001E + WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH Handle = 0x803D001F + WS_E_INVALID_ENDPOINT_URL Handle = 0x803D0020 + WS_E_OTHER Handle = 0x803D0021 + WS_E_SECURITY_TOKEN_EXPIRED Handle = 0x803D0022 + WS_E_SECURITY_SYSTEM_FAILURE Handle = 0x803D0023 + ERROR_NDIS_INTERFACE_CLOSING syscall.Errno = 0x80340002 + ERROR_NDIS_BAD_VERSION syscall.Errno = 0x80340004 + ERROR_NDIS_BAD_CHARACTERISTICS syscall.Errno = 0x80340005 + ERROR_NDIS_ADAPTER_NOT_FOUND syscall.Errno = 0x80340006 + ERROR_NDIS_OPEN_FAILED syscall.Errno = 0x80340007 + ERROR_NDIS_DEVICE_FAILED syscall.Errno = 0x80340008 + ERROR_NDIS_MULTICAST_FULL syscall.Errno = 0x80340009 + ERROR_NDIS_MULTICAST_EXISTS syscall.Errno = 0x8034000A + ERROR_NDIS_MULTICAST_NOT_FOUND syscall.Errno = 0x8034000B + ERROR_NDIS_REQUEST_ABORTED syscall.Errno = 0x8034000C + ERROR_NDIS_RESET_IN_PROGRESS syscall.Errno = 0x8034000D + ERROR_NDIS_NOT_SUPPORTED syscall.Errno = 0x803400BB + ERROR_NDIS_INVALID_PACKET syscall.Errno = 0x8034000F + ERROR_NDIS_ADAPTER_NOT_READY syscall.Errno = 0x80340011 + ERROR_NDIS_INVALID_LENGTH syscall.Errno = 0x80340014 + ERROR_NDIS_INVALID_DATA syscall.Errno = 0x80340015 + ERROR_NDIS_BUFFER_TOO_SHORT syscall.Errno = 0x80340016 + ERROR_NDIS_INVALID_OID syscall.Errno = 0x80340017 + ERROR_NDIS_ADAPTER_REMOVED syscall.Errno = 0x80340018 + ERROR_NDIS_UNSUPPORTED_MEDIA syscall.Errno = 0x80340019 + ERROR_NDIS_GROUP_ADDRESS_IN_USE syscall.Errno = 0x8034001A + ERROR_NDIS_FILE_NOT_FOUND syscall.Errno = 0x8034001B + ERROR_NDIS_ERROR_READING_FILE syscall.Errno = 0x8034001C + ERROR_NDIS_ALREADY_MAPPED syscall.Errno = 0x8034001D + ERROR_NDIS_RESOURCE_CONFLICT syscall.Errno = 0x8034001E + ERROR_NDIS_MEDIA_DISCONNECTED syscall.Errno = 0x8034001F + ERROR_NDIS_INVALID_ADDRESS syscall.Errno = 0x80340022 + ERROR_NDIS_INVALID_DEVICE_REQUEST syscall.Errno = 0x80340010 + ERROR_NDIS_PAUSED syscall.Errno = 0x8034002A + ERROR_NDIS_INTERFACE_NOT_FOUND syscall.Errno = 0x8034002B + ERROR_NDIS_UNSUPPORTED_REVISION syscall.Errno = 0x8034002C + ERROR_NDIS_INVALID_PORT syscall.Errno = 0x8034002D + ERROR_NDIS_INVALID_PORT_STATE syscall.Errno = 0x8034002E + ERROR_NDIS_LOW_POWER_STATE syscall.Errno = 0x8034002F + ERROR_NDIS_REINIT_REQUIRED syscall.Errno = 0x80340030 + ERROR_NDIS_NO_QUEUES syscall.Errno = 0x80340031 + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED syscall.Errno = 0x80342000 + ERROR_NDIS_DOT11_MEDIA_IN_USE syscall.Errno = 0x80342001 + ERROR_NDIS_DOT11_POWER_STATE_INVALID syscall.Errno = 0x80342002 + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL syscall.Errno = 0x80342003 + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL syscall.Errno = 0x80342004 + ERROR_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE syscall.Errno = 0x80342005 + ERROR_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE syscall.Errno = 0x80342006 + ERROR_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED syscall.Errno = 0x80342007 + ERROR_NDIS_DOT11_AP_BAND_NOT_ALLOWED syscall.Errno = 0x80342008 + ERROR_NDIS_INDICATION_REQUIRED syscall.Errno = 0x00340001 + ERROR_NDIS_OFFLOAD_POLICY syscall.Errno = 0xC034100F + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED syscall.Errno = 0xC0341012 + ERROR_NDIS_OFFLOAD_PATH_REJECTED syscall.Errno = 0xC0341013 + ERROR_HV_INVALID_HYPERCALL_CODE syscall.Errno = 0xC0350002 + ERROR_HV_INVALID_HYPERCALL_INPUT syscall.Errno = 0xC0350003 + ERROR_HV_INVALID_ALIGNMENT syscall.Errno = 0xC0350004 + ERROR_HV_INVALID_PARAMETER syscall.Errno = 0xC0350005 + ERROR_HV_ACCESS_DENIED syscall.Errno = 0xC0350006 + ERROR_HV_INVALID_PARTITION_STATE syscall.Errno = 0xC0350007 + ERROR_HV_OPERATION_DENIED syscall.Errno = 0xC0350008 + ERROR_HV_UNKNOWN_PROPERTY syscall.Errno = 0xC0350009 + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE syscall.Errno = 0xC035000A + ERROR_HV_INSUFFICIENT_MEMORY syscall.Errno = 0xC035000B + ERROR_HV_PARTITION_TOO_DEEP syscall.Errno = 0xC035000C + ERROR_HV_INVALID_PARTITION_ID syscall.Errno = 0xC035000D + ERROR_HV_INVALID_VP_INDEX syscall.Errno = 0xC035000E + ERROR_HV_INVALID_PORT_ID syscall.Errno = 0xC0350011 + ERROR_HV_INVALID_CONNECTION_ID syscall.Errno = 0xC0350012 + ERROR_HV_INSUFFICIENT_BUFFERS syscall.Errno = 0xC0350013 + ERROR_HV_NOT_ACKNOWLEDGED syscall.Errno = 0xC0350014 + ERROR_HV_INVALID_VP_STATE syscall.Errno = 0xC0350015 + ERROR_HV_ACKNOWLEDGED syscall.Errno = 0xC0350016 + ERROR_HV_INVALID_SAVE_RESTORE_STATE syscall.Errno = 0xC0350017 + ERROR_HV_INVALID_SYNIC_STATE syscall.Errno = 0xC0350018 + ERROR_HV_OBJECT_IN_USE syscall.Errno = 0xC0350019 + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO syscall.Errno = 0xC035001A + ERROR_HV_NO_DATA syscall.Errno = 0xC035001B + ERROR_HV_INACTIVE syscall.Errno = 0xC035001C + ERROR_HV_NO_RESOURCES syscall.Errno = 0xC035001D + ERROR_HV_FEATURE_UNAVAILABLE syscall.Errno = 0xC035001E + ERROR_HV_INSUFFICIENT_BUFFER syscall.Errno = 0xC0350033 + ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS syscall.Errno = 0xC0350038 + ERROR_HV_CPUID_FEATURE_VALIDATION syscall.Errno = 0xC035003C + ERROR_HV_CPUID_XSAVE_FEATURE_VALIDATION syscall.Errno = 0xC035003D + ERROR_HV_PROCESSOR_STARTUP_TIMEOUT syscall.Errno = 0xC035003E + ERROR_HV_SMX_ENABLED syscall.Errno = 0xC035003F + ERROR_HV_INVALID_LP_INDEX syscall.Errno = 0xC0350041 + ERROR_HV_INVALID_REGISTER_VALUE syscall.Errno = 0xC0350050 + ERROR_HV_INVALID_VTL_STATE syscall.Errno = 0xC0350051 + ERROR_HV_NX_NOT_DETECTED syscall.Errno = 0xC0350055 + ERROR_HV_INVALID_DEVICE_ID syscall.Errno = 0xC0350057 + ERROR_HV_INVALID_DEVICE_STATE syscall.Errno = 0xC0350058 + ERROR_HV_PENDING_PAGE_REQUESTS syscall.Errno = 0x00350059 + ERROR_HV_PAGE_REQUEST_INVALID syscall.Errno = 0xC0350060 + ERROR_HV_INVALID_CPU_GROUP_ID syscall.Errno = 0xC035006F + ERROR_HV_INVALID_CPU_GROUP_STATE syscall.Errno = 0xC0350070 + ERROR_HV_OPERATION_FAILED syscall.Errno = 0xC0350071 + ERROR_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE syscall.Errno = 0xC0350072 + ERROR_HV_INSUFFICIENT_ROOT_MEMORY syscall.Errno = 0xC0350073 + ERROR_HV_NOT_PRESENT syscall.Errno = 0xC0351000 + ERROR_VID_DUPLICATE_HANDLER syscall.Errno = 0xC0370001 + ERROR_VID_TOO_MANY_HANDLERS syscall.Errno = 0xC0370002 + ERROR_VID_QUEUE_FULL syscall.Errno = 0xC0370003 + ERROR_VID_HANDLER_NOT_PRESENT syscall.Errno = 0xC0370004 + ERROR_VID_INVALID_OBJECT_NAME syscall.Errno = 0xC0370005 + ERROR_VID_PARTITION_NAME_TOO_LONG syscall.Errno = 0xC0370006 + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG syscall.Errno = 0xC0370007 + ERROR_VID_PARTITION_ALREADY_EXISTS syscall.Errno = 0xC0370008 + ERROR_VID_PARTITION_DOES_NOT_EXIST syscall.Errno = 0xC0370009 + ERROR_VID_PARTITION_NAME_NOT_FOUND syscall.Errno = 0xC037000A + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS syscall.Errno = 0xC037000B + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT syscall.Errno = 0xC037000C + ERROR_VID_MB_STILL_REFERENCED syscall.Errno = 0xC037000D + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED syscall.Errno = 0xC037000E + ERROR_VID_INVALID_NUMA_SETTINGS syscall.Errno = 0xC037000F + ERROR_VID_INVALID_NUMA_NODE_INDEX syscall.Errno = 0xC0370010 + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED syscall.Errno = 0xC0370011 + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE syscall.Errno = 0xC0370012 + ERROR_VID_PAGE_RANGE_OVERFLOW syscall.Errno = 0xC0370013 + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE syscall.Errno = 0xC0370014 + ERROR_VID_INVALID_GPA_RANGE_HANDLE syscall.Errno = 0xC0370015 + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE syscall.Errno = 0xC0370016 + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED syscall.Errno = 0xC0370017 + ERROR_VID_INVALID_PPM_HANDLE syscall.Errno = 0xC0370018 + ERROR_VID_MBPS_ARE_LOCKED syscall.Errno = 0xC0370019 + ERROR_VID_MESSAGE_QUEUE_CLOSED syscall.Errno = 0xC037001A + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED syscall.Errno = 0xC037001B + ERROR_VID_STOP_PENDING syscall.Errno = 0xC037001C + ERROR_VID_INVALID_PROCESSOR_STATE syscall.Errno = 0xC037001D + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT syscall.Errno = 0xC037001E + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED syscall.Errno = 0xC037001F + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET syscall.Errno = 0xC0370020 + ERROR_VID_MMIO_RANGE_DESTROYED syscall.Errno = 0xC0370021 + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET syscall.Errno = 0xC0370022 + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED syscall.Errno = 0xC0370023 + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL syscall.Errno = 0xC0370024 + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE syscall.Errno = 0xC0370025 + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT syscall.Errno = 0xC0370026 + ERROR_VID_SAVED_STATE_CORRUPT syscall.Errno = 0xC0370027 + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM syscall.Errno = 0xC0370028 + ERROR_VID_SAVED_STATE_INCOMPATIBLE syscall.Errno = 0xC0370029 + ERROR_VID_VTL_ACCESS_DENIED syscall.Errno = 0xC037002A + ERROR_VMCOMPUTE_TERMINATED_DURING_START syscall.Errno = 0xC0370100 + ERROR_VMCOMPUTE_IMAGE_MISMATCH syscall.Errno = 0xC0370101 + ERROR_VMCOMPUTE_HYPERV_NOT_INSTALLED syscall.Errno = 0xC0370102 + ERROR_VMCOMPUTE_OPERATION_PENDING syscall.Errno = 0xC0370103 + ERROR_VMCOMPUTE_TOO_MANY_NOTIFICATIONS syscall.Errno = 0xC0370104 + ERROR_VMCOMPUTE_INVALID_STATE syscall.Errno = 0xC0370105 + ERROR_VMCOMPUTE_UNEXPECTED_EXIT syscall.Errno = 0xC0370106 + ERROR_VMCOMPUTE_TERMINATED syscall.Errno = 0xC0370107 + ERROR_VMCOMPUTE_CONNECT_FAILED syscall.Errno = 0xC0370108 + ERROR_VMCOMPUTE_TIMEOUT syscall.Errno = 0xC0370109 + ERROR_VMCOMPUTE_CONNECTION_CLOSED syscall.Errno = 0xC037010A + ERROR_VMCOMPUTE_UNKNOWN_MESSAGE syscall.Errno = 0xC037010B + ERROR_VMCOMPUTE_UNSUPPORTED_PROTOCOL_VERSION syscall.Errno = 0xC037010C + ERROR_VMCOMPUTE_INVALID_JSON syscall.Errno = 0xC037010D + ERROR_VMCOMPUTE_SYSTEM_NOT_FOUND syscall.Errno = 0xC037010E + ERROR_VMCOMPUTE_SYSTEM_ALREADY_EXISTS syscall.Errno = 0xC037010F + ERROR_VMCOMPUTE_SYSTEM_ALREADY_STOPPED syscall.Errno = 0xC0370110 + ERROR_VMCOMPUTE_PROTOCOL_ERROR syscall.Errno = 0xC0370111 + ERROR_VMCOMPUTE_INVALID_LAYER syscall.Errno = 0xC0370112 + ERROR_VMCOMPUTE_WINDOWS_INSIDER_REQUIRED syscall.Errno = 0xC0370113 + HCS_E_TERMINATED_DURING_START Handle = 0x80370100 + HCS_E_IMAGE_MISMATCH Handle = 0x80370101 + HCS_E_HYPERV_NOT_INSTALLED Handle = 0x80370102 + HCS_E_INVALID_STATE Handle = 0x80370105 + HCS_E_UNEXPECTED_EXIT Handle = 0x80370106 + HCS_E_TERMINATED Handle = 0x80370107 + HCS_E_CONNECT_FAILED Handle = 0x80370108 + HCS_E_CONNECTION_TIMEOUT Handle = 0x80370109 + HCS_E_CONNECTION_CLOSED Handle = 0x8037010A + HCS_E_UNKNOWN_MESSAGE Handle = 0x8037010B + HCS_E_UNSUPPORTED_PROTOCOL_VERSION Handle = 0x8037010C + HCS_E_INVALID_JSON Handle = 0x8037010D + HCS_E_SYSTEM_NOT_FOUND Handle = 0x8037010E + HCS_E_SYSTEM_ALREADY_EXISTS Handle = 0x8037010F + HCS_E_SYSTEM_ALREADY_STOPPED Handle = 0x80370110 + HCS_E_PROTOCOL_ERROR Handle = 0x80370111 + HCS_E_INVALID_LAYER Handle = 0x80370112 + HCS_E_WINDOWS_INSIDER_REQUIRED Handle = 0x80370113 + HCS_E_SERVICE_NOT_AVAILABLE Handle = 0x80370114 + HCS_E_OPERATION_NOT_STARTED Handle = 0x80370115 + HCS_E_OPERATION_ALREADY_STARTED Handle = 0x80370116 + HCS_E_OPERATION_PENDING Handle = 0x80370117 + HCS_E_OPERATION_TIMEOUT Handle = 0x80370118 + HCS_E_OPERATION_SYSTEM_CALLBACK_ALREADY_SET Handle = 0x80370119 + HCS_E_OPERATION_RESULT_ALLOCATION_FAILED Handle = 0x8037011A + HCS_E_ACCESS_DENIED Handle = 0x8037011B + HCS_E_GUEST_CRITICAL_ERROR Handle = 0x8037011C + ERROR_VNET_VIRTUAL_SWITCH_NAME_NOT_FOUND syscall.Errno = 0xC0370200 + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED syscall.Errno = 0x80370001 + WHV_E_UNKNOWN_CAPABILITY Handle = 0x80370300 + WHV_E_INSUFFICIENT_BUFFER Handle = 0x80370301 + WHV_E_UNKNOWN_PROPERTY Handle = 0x80370302 + WHV_E_UNSUPPORTED_HYPERVISOR_CONFIG Handle = 0x80370303 + WHV_E_INVALID_PARTITION_CONFIG Handle = 0x80370304 + WHV_E_GPA_RANGE_NOT_FOUND Handle = 0x80370305 + WHV_E_VP_ALREADY_EXISTS Handle = 0x80370306 + WHV_E_VP_DOES_NOT_EXIST Handle = 0x80370307 + WHV_E_INVALID_VP_STATE Handle = 0x80370308 + WHV_E_INVALID_VP_REGISTER_NAME Handle = 0x80370309 + ERROR_VSMB_SAVED_STATE_FILE_NOT_FOUND syscall.Errno = 0xC0370400 + ERROR_VSMB_SAVED_STATE_CORRUPT syscall.Errno = 0xC0370401 + ERROR_VOLMGR_INCOMPLETE_REGENERATION syscall.Errno = 0x80380001 + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION syscall.Errno = 0x80380002 + ERROR_VOLMGR_DATABASE_FULL syscall.Errno = 0xC0380001 + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED syscall.Errno = 0xC0380002 + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC syscall.Errno = 0xC0380003 + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED syscall.Errno = 0xC0380004 + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME syscall.Errno = 0xC0380005 + ERROR_VOLMGR_DISK_DUPLICATE syscall.Errno = 0xC0380006 + ERROR_VOLMGR_DISK_DYNAMIC syscall.Errno = 0xC0380007 + ERROR_VOLMGR_DISK_ID_INVALID syscall.Errno = 0xC0380008 + ERROR_VOLMGR_DISK_INVALID syscall.Errno = 0xC0380009 + ERROR_VOLMGR_DISK_LAST_VOTER syscall.Errno = 0xC038000A + ERROR_VOLMGR_DISK_LAYOUT_INVALID syscall.Errno = 0xC038000B + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS syscall.Errno = 0xC038000C + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED syscall.Errno = 0xC038000D + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL syscall.Errno = 0xC038000E + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS syscall.Errno = 0xC038000F + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS syscall.Errno = 0xC0380010 + ERROR_VOLMGR_DISK_MISSING syscall.Errno = 0xC0380011 + ERROR_VOLMGR_DISK_NOT_EMPTY syscall.Errno = 0xC0380012 + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE syscall.Errno = 0xC0380013 + ERROR_VOLMGR_DISK_REVECTORING_FAILED syscall.Errno = 0xC0380014 + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID syscall.Errno = 0xC0380015 + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED syscall.Errno = 0xC0380016 + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS syscall.Errno = 0xC0380017 + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES syscall.Errno = 0xC0380018 + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED syscall.Errno = 0xC0380019 + ERROR_VOLMGR_EXTENT_ALREADY_USED syscall.Errno = 0xC038001A + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS syscall.Errno = 0xC038001B + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION syscall.Errno = 0xC038001C + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED syscall.Errno = 0xC038001D + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION syscall.Errno = 0xC038001E + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH syscall.Errno = 0xC038001F + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED syscall.Errno = 0xC0380020 + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID syscall.Errno = 0xC0380021 + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS syscall.Errno = 0xC0380022 + ERROR_VOLMGR_MEMBER_IN_SYNC syscall.Errno = 0xC0380023 + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE syscall.Errno = 0xC0380024 + ERROR_VOLMGR_MEMBER_INDEX_INVALID syscall.Errno = 0xC0380025 + ERROR_VOLMGR_MEMBER_MISSING syscall.Errno = 0xC0380026 + ERROR_VOLMGR_MEMBER_NOT_DETACHED syscall.Errno = 0xC0380027 + ERROR_VOLMGR_MEMBER_REGENERATING syscall.Errno = 0xC0380028 + ERROR_VOLMGR_ALL_DISKS_FAILED syscall.Errno = 0xC0380029 + ERROR_VOLMGR_NO_REGISTERED_USERS syscall.Errno = 0xC038002A + ERROR_VOLMGR_NO_SUCH_USER syscall.Errno = 0xC038002B + ERROR_VOLMGR_NOTIFICATION_RESET syscall.Errno = 0xC038002C + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID syscall.Errno = 0xC038002D + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID syscall.Errno = 0xC038002E + ERROR_VOLMGR_PACK_DUPLICATE syscall.Errno = 0xC038002F + ERROR_VOLMGR_PACK_ID_INVALID syscall.Errno = 0xC0380030 + ERROR_VOLMGR_PACK_INVALID syscall.Errno = 0xC0380031 + ERROR_VOLMGR_PACK_NAME_INVALID syscall.Errno = 0xC0380032 + ERROR_VOLMGR_PACK_OFFLINE syscall.Errno = 0xC0380033 + ERROR_VOLMGR_PACK_HAS_QUORUM syscall.Errno = 0xC0380034 + ERROR_VOLMGR_PACK_WITHOUT_QUORUM syscall.Errno = 0xC0380035 + ERROR_VOLMGR_PARTITION_STYLE_INVALID syscall.Errno = 0xC0380036 + ERROR_VOLMGR_PARTITION_UPDATE_FAILED syscall.Errno = 0xC0380037 + ERROR_VOLMGR_PLEX_IN_SYNC syscall.Errno = 0xC0380038 + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE syscall.Errno = 0xC0380039 + ERROR_VOLMGR_PLEX_INDEX_INVALID syscall.Errno = 0xC038003A + ERROR_VOLMGR_PLEX_LAST_ACTIVE syscall.Errno = 0xC038003B + ERROR_VOLMGR_PLEX_MISSING syscall.Errno = 0xC038003C + ERROR_VOLMGR_PLEX_REGENERATING syscall.Errno = 0xC038003D + ERROR_VOLMGR_PLEX_TYPE_INVALID syscall.Errno = 0xC038003E + ERROR_VOLMGR_PLEX_NOT_RAID5 syscall.Errno = 0xC038003F + ERROR_VOLMGR_PLEX_NOT_SIMPLE syscall.Errno = 0xC0380040 + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID syscall.Errno = 0xC0380041 + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS syscall.Errno = 0xC0380042 + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS syscall.Errno = 0xC0380043 + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE syscall.Errno = 0xC0380044 + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK syscall.Errno = 0xC0380045 + ERROR_VOLMGR_VOLUME_ID_INVALID syscall.Errno = 0xC0380046 + ERROR_VOLMGR_VOLUME_LENGTH_INVALID syscall.Errno = 0xC0380047 + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE syscall.Errno = 0xC0380048 + ERROR_VOLMGR_VOLUME_NOT_MIRRORED syscall.Errno = 0xC0380049 + ERROR_VOLMGR_VOLUME_NOT_RETAINED syscall.Errno = 0xC038004A + ERROR_VOLMGR_VOLUME_OFFLINE syscall.Errno = 0xC038004B + ERROR_VOLMGR_VOLUME_RETAINED syscall.Errno = 0xC038004C + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID syscall.Errno = 0xC038004D + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE syscall.Errno = 0xC038004E + ERROR_VOLMGR_BAD_BOOT_DISK syscall.Errno = 0xC038004F + ERROR_VOLMGR_PACK_CONFIG_OFFLINE syscall.Errno = 0xC0380050 + ERROR_VOLMGR_PACK_CONFIG_ONLINE syscall.Errno = 0xC0380051 + ERROR_VOLMGR_NOT_PRIMARY_PACK syscall.Errno = 0xC0380052 + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED syscall.Errno = 0xC0380053 + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID syscall.Errno = 0xC0380054 + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID syscall.Errno = 0xC0380055 + ERROR_VOLMGR_VOLUME_MIRRORED syscall.Errno = 0xC0380056 + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED syscall.Errno = 0xC0380057 + ERROR_VOLMGR_NO_VALID_LOG_COPIES syscall.Errno = 0xC0380058 + ERROR_VOLMGR_PRIMARY_PACK_PRESENT syscall.Errno = 0xC0380059 + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID syscall.Errno = 0xC038005A + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED syscall.Errno = 0xC038005B + ERROR_VOLMGR_RAID5_NOT_SUPPORTED syscall.Errno = 0xC038005C + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED syscall.Errno = 0x80390001 + ERROR_BCD_TOO_MANY_ELEMENTS syscall.Errno = 0xC0390002 + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED syscall.Errno = 0x80390003 + ERROR_VHD_DRIVE_FOOTER_MISSING syscall.Errno = 0xC03A0001 + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH syscall.Errno = 0xC03A0002 + ERROR_VHD_DRIVE_FOOTER_CORRUPT syscall.Errno = 0xC03A0003 + ERROR_VHD_FORMAT_UNKNOWN syscall.Errno = 0xC03A0004 + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION syscall.Errno = 0xC03A0005 + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH syscall.Errno = 0xC03A0006 + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION syscall.Errno = 0xC03A0007 + ERROR_VHD_SPARSE_HEADER_CORRUPT syscall.Errno = 0xC03A0008 + ERROR_VHD_BLOCK_ALLOCATION_FAILURE syscall.Errno = 0xC03A0009 + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT syscall.Errno = 0xC03A000A + ERROR_VHD_INVALID_BLOCK_SIZE syscall.Errno = 0xC03A000B + ERROR_VHD_BITMAP_MISMATCH syscall.Errno = 0xC03A000C + ERROR_VHD_PARENT_VHD_NOT_FOUND syscall.Errno = 0xC03A000D + ERROR_VHD_CHILD_PARENT_ID_MISMATCH syscall.Errno = 0xC03A000E + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH syscall.Errno = 0xC03A000F + ERROR_VHD_METADATA_READ_FAILURE syscall.Errno = 0xC03A0010 + ERROR_VHD_METADATA_WRITE_FAILURE syscall.Errno = 0xC03A0011 + ERROR_VHD_INVALID_SIZE syscall.Errno = 0xC03A0012 + ERROR_VHD_INVALID_FILE_SIZE syscall.Errno = 0xC03A0013 + ERROR_VIRTDISK_PROVIDER_NOT_FOUND syscall.Errno = 0xC03A0014 + ERROR_VIRTDISK_NOT_VIRTUAL_DISK syscall.Errno = 0xC03A0015 + ERROR_VHD_PARENT_VHD_ACCESS_DENIED syscall.Errno = 0xC03A0016 + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH syscall.Errno = 0xC03A0017 + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED syscall.Errno = 0xC03A0018 + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT syscall.Errno = 0xC03A0019 + ERROR_VIRTUAL_DISK_LIMITATION syscall.Errno = 0xC03A001A + ERROR_VHD_INVALID_TYPE syscall.Errno = 0xC03A001B + ERROR_VHD_INVALID_STATE syscall.Errno = 0xC03A001C + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE syscall.Errno = 0xC03A001D + ERROR_VIRTDISK_DISK_ALREADY_OWNED syscall.Errno = 0xC03A001E + ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE syscall.Errno = 0xC03A001F + ERROR_CTLOG_TRACKING_NOT_INITIALIZED syscall.Errno = 0xC03A0020 + ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE syscall.Errno = 0xC03A0021 + ERROR_CTLOG_VHD_CHANGED_OFFLINE syscall.Errno = 0xC03A0022 + ERROR_CTLOG_INVALID_TRACKING_STATE syscall.Errno = 0xC03A0023 + ERROR_CTLOG_INCONSISTENT_TRACKING_FILE syscall.Errno = 0xC03A0024 + ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA syscall.Errno = 0xC03A0025 + ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE syscall.Errno = 0xC03A0026 + ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE syscall.Errno = 0xC03A0027 + ERROR_VHD_METADATA_FULL syscall.Errno = 0xC03A0028 + ERROR_VHD_INVALID_CHANGE_TRACKING_ID syscall.Errno = 0xC03A0029 + ERROR_VHD_CHANGE_TRACKING_DISABLED syscall.Errno = 0xC03A002A + ERROR_VHD_MISSING_CHANGE_TRACKING_INFORMATION syscall.Errno = 0xC03A0030 + ERROR_QUERY_STORAGE_ERROR syscall.Errno = 0x803A0001 + HCN_E_NETWORK_NOT_FOUND Handle = 0x803B0001 + HCN_E_ENDPOINT_NOT_FOUND Handle = 0x803B0002 + HCN_E_LAYER_NOT_FOUND Handle = 0x803B0003 + HCN_E_SWITCH_NOT_FOUND Handle = 0x803B0004 + HCN_E_SUBNET_NOT_FOUND Handle = 0x803B0005 + HCN_E_ADAPTER_NOT_FOUND Handle = 0x803B0006 + HCN_E_PORT_NOT_FOUND Handle = 0x803B0007 + HCN_E_POLICY_NOT_FOUND Handle = 0x803B0008 + HCN_E_VFP_PORTSETTING_NOT_FOUND Handle = 0x803B0009 + HCN_E_INVALID_NETWORK Handle = 0x803B000A + HCN_E_INVALID_NETWORK_TYPE Handle = 0x803B000B + HCN_E_INVALID_ENDPOINT Handle = 0x803B000C + HCN_E_INVALID_POLICY Handle = 0x803B000D + HCN_E_INVALID_POLICY_TYPE Handle = 0x803B000E + HCN_E_INVALID_REMOTE_ENDPOINT_OPERATION Handle = 0x803B000F + HCN_E_NETWORK_ALREADY_EXISTS Handle = 0x803B0010 + HCN_E_LAYER_ALREADY_EXISTS Handle = 0x803B0011 + HCN_E_POLICY_ALREADY_EXISTS Handle = 0x803B0012 + HCN_E_PORT_ALREADY_EXISTS Handle = 0x803B0013 + HCN_E_ENDPOINT_ALREADY_ATTACHED Handle = 0x803B0014 + HCN_E_REQUEST_UNSUPPORTED Handle = 0x803B0015 + HCN_E_MAPPING_NOT_SUPPORTED Handle = 0x803B0016 + HCN_E_DEGRADED_OPERATION Handle = 0x803B0017 + HCN_E_SHARED_SWITCH_MODIFICATION Handle = 0x803B0018 + HCN_E_GUID_CONVERSION_FAILURE Handle = 0x803B0019 + HCN_E_REGKEY_FAILURE Handle = 0x803B001A + HCN_E_INVALID_JSON Handle = 0x803B001B + HCN_E_INVALID_JSON_REFERENCE Handle = 0x803B001C + HCN_E_ENDPOINT_SHARING_DISABLED Handle = 0x803B001D + HCN_E_INVALID_IP Handle = 0x803B001E + HCN_E_SWITCH_EXTENSION_NOT_FOUND Handle = 0x803B001F + HCN_E_MANAGER_STOPPED Handle = 0x803B0020 + GCN_E_MODULE_NOT_FOUND Handle = 0x803B0021 + GCN_E_NO_REQUEST_HANDLERS Handle = 0x803B0022 + GCN_E_REQUEST_UNSUPPORTED Handle = 0x803B0023 + GCN_E_RUNTIMEKEYS_FAILED Handle = 0x803B0024 + GCN_E_NETADAPTER_TIMEOUT Handle = 0x803B0025 + GCN_E_NETADAPTER_NOT_FOUND Handle = 0x803B0026 + GCN_E_NETCOMPARTMENT_NOT_FOUND Handle = 0x803B0027 + GCN_E_NETINTERFACE_NOT_FOUND Handle = 0x803B0028 + GCN_E_DEFAULTNAMESPACE_EXISTS Handle = 0x803B0029 + HCN_E_ICS_DISABLED Handle = 0x803B002A + HCN_E_ENDPOINT_NAMESPACE_ALREADY_EXISTS Handle = 0x803B002B + HCN_E_ENTITY_HAS_REFERENCES Handle = 0x803B002C + HCN_E_INVALID_INTERNAL_PORT Handle = 0x803B002D + HCN_E_NAMESPACE_ATTACH_FAILED Handle = 0x803B002E + HCN_E_ADDR_INVALID_OR_RESERVED Handle = 0x803B002F + SDIAG_E_CANCELLED syscall.Errno = 0x803C0100 + SDIAG_E_SCRIPT syscall.Errno = 0x803C0101 + SDIAG_E_POWERSHELL syscall.Errno = 0x803C0102 + SDIAG_E_MANAGEDHOST syscall.Errno = 0x803C0103 + SDIAG_E_NOVERIFIER syscall.Errno = 0x803C0104 + SDIAG_S_CANNOTRUN syscall.Errno = 0x003C0105 + SDIAG_E_DISABLED syscall.Errno = 0x803C0106 + SDIAG_E_TRUST syscall.Errno = 0x803C0107 + SDIAG_E_CANNOTRUN syscall.Errno = 0x803C0108 + SDIAG_E_VERSION syscall.Errno = 0x803C0109 + SDIAG_E_RESOURCE syscall.Errno = 0x803C010A + SDIAG_E_ROOTCAUSE syscall.Errno = 0x803C010B + WPN_E_CHANNEL_CLOSED Handle = 0x803E0100 + WPN_E_CHANNEL_REQUEST_NOT_COMPLETE Handle = 0x803E0101 + WPN_E_INVALID_APP Handle = 0x803E0102 + WPN_E_OUTSTANDING_CHANNEL_REQUEST Handle = 0x803E0103 + WPN_E_DUPLICATE_CHANNEL Handle = 0x803E0104 + WPN_E_PLATFORM_UNAVAILABLE Handle = 0x803E0105 + WPN_E_NOTIFICATION_POSTED Handle = 0x803E0106 + WPN_E_NOTIFICATION_HIDDEN Handle = 0x803E0107 + WPN_E_NOTIFICATION_NOT_POSTED Handle = 0x803E0108 + WPN_E_CLOUD_DISABLED Handle = 0x803E0109 + WPN_E_CLOUD_INCAPABLE Handle = 0x803E0110 + WPN_E_CLOUD_AUTH_UNAVAILABLE Handle = 0x803E011A + WPN_E_CLOUD_SERVICE_UNAVAILABLE Handle = 0x803E011B + WPN_E_FAILED_LOCK_SCREEN_UPDATE_INTIALIZATION Handle = 0x803E011C + WPN_E_NOTIFICATION_DISABLED Handle = 0x803E0111 + WPN_E_NOTIFICATION_INCAPABLE Handle = 0x803E0112 + WPN_E_INTERNET_INCAPABLE Handle = 0x803E0113 + WPN_E_NOTIFICATION_TYPE_DISABLED Handle = 0x803E0114 + WPN_E_NOTIFICATION_SIZE Handle = 0x803E0115 + WPN_E_TAG_SIZE Handle = 0x803E0116 + WPN_E_ACCESS_DENIED Handle = 0x803E0117 + WPN_E_DUPLICATE_REGISTRATION Handle = 0x803E0118 + WPN_E_PUSH_NOTIFICATION_INCAPABLE Handle = 0x803E0119 + WPN_E_DEV_ID_SIZE Handle = 0x803E0120 + WPN_E_TAG_ALPHANUMERIC Handle = 0x803E012A + WPN_E_INVALID_HTTP_STATUS_CODE Handle = 0x803E012B + WPN_E_OUT_OF_SESSION Handle = 0x803E0200 + WPN_E_POWER_SAVE Handle = 0x803E0201 + WPN_E_IMAGE_NOT_FOUND_IN_CACHE Handle = 0x803E0202 + WPN_E_ALL_URL_NOT_COMPLETED Handle = 0x803E0203 + WPN_E_INVALID_CLOUD_IMAGE Handle = 0x803E0204 + WPN_E_NOTIFICATION_ID_MATCHED Handle = 0x803E0205 + WPN_E_CALLBACK_ALREADY_REGISTERED Handle = 0x803E0206 + WPN_E_TOAST_NOTIFICATION_DROPPED Handle = 0x803E0207 + WPN_E_STORAGE_LOCKED Handle = 0x803E0208 + WPN_E_GROUP_SIZE Handle = 0x803E0209 + WPN_E_GROUP_ALPHANUMERIC Handle = 0x803E020A + WPN_E_CLOUD_DISABLED_FOR_APP Handle = 0x803E020B + E_MBN_CONTEXT_NOT_ACTIVATED Handle = 0x80548201 + E_MBN_BAD_SIM Handle = 0x80548202 + E_MBN_DATA_CLASS_NOT_AVAILABLE Handle = 0x80548203 + E_MBN_INVALID_ACCESS_STRING Handle = 0x80548204 + E_MBN_MAX_ACTIVATED_CONTEXTS Handle = 0x80548205 + E_MBN_PACKET_SVC_DETACHED Handle = 0x80548206 + E_MBN_PROVIDER_NOT_VISIBLE Handle = 0x80548207 + E_MBN_RADIO_POWER_OFF Handle = 0x80548208 + E_MBN_SERVICE_NOT_ACTIVATED Handle = 0x80548209 + E_MBN_SIM_NOT_INSERTED Handle = 0x8054820A + E_MBN_VOICE_CALL_IN_PROGRESS Handle = 0x8054820B + E_MBN_INVALID_CACHE Handle = 0x8054820C + E_MBN_NOT_REGISTERED Handle = 0x8054820D + E_MBN_PROVIDERS_NOT_FOUND Handle = 0x8054820E + E_MBN_PIN_NOT_SUPPORTED Handle = 0x8054820F + E_MBN_PIN_REQUIRED Handle = 0x80548210 + E_MBN_PIN_DISABLED Handle = 0x80548211 + E_MBN_FAILURE Handle = 0x80548212 + E_MBN_INVALID_PROFILE Handle = 0x80548218 + E_MBN_DEFAULT_PROFILE_EXIST Handle = 0x80548219 + E_MBN_SMS_ENCODING_NOT_SUPPORTED Handle = 0x80548220 + E_MBN_SMS_FILTER_NOT_SUPPORTED Handle = 0x80548221 + E_MBN_SMS_INVALID_MEMORY_INDEX Handle = 0x80548222 + E_MBN_SMS_LANG_NOT_SUPPORTED Handle = 0x80548223 + E_MBN_SMS_MEMORY_FAILURE Handle = 0x80548224 + E_MBN_SMS_NETWORK_TIMEOUT Handle = 0x80548225 + E_MBN_SMS_UNKNOWN_SMSC_ADDRESS Handle = 0x80548226 + E_MBN_SMS_FORMAT_NOT_SUPPORTED Handle = 0x80548227 + E_MBN_SMS_OPERATION_NOT_ALLOWED Handle = 0x80548228 + E_MBN_SMS_MEMORY_FULL Handle = 0x80548229 + PEER_E_IPV6_NOT_INSTALLED Handle = 0x80630001 + PEER_E_NOT_INITIALIZED Handle = 0x80630002 + PEER_E_CANNOT_START_SERVICE Handle = 0x80630003 + PEER_E_NOT_LICENSED Handle = 0x80630004 + PEER_E_INVALID_GRAPH Handle = 0x80630010 + PEER_E_DBNAME_CHANGED Handle = 0x80630011 + PEER_E_DUPLICATE_GRAPH Handle = 0x80630012 + PEER_E_GRAPH_NOT_READY Handle = 0x80630013 + PEER_E_GRAPH_SHUTTING_DOWN Handle = 0x80630014 + PEER_E_GRAPH_IN_USE Handle = 0x80630015 + PEER_E_INVALID_DATABASE Handle = 0x80630016 + PEER_E_TOO_MANY_ATTRIBUTES Handle = 0x80630017 + PEER_E_CONNECTION_NOT_FOUND Handle = 0x80630103 + PEER_E_CONNECT_SELF Handle = 0x80630106 + PEER_E_ALREADY_LISTENING Handle = 0x80630107 + PEER_E_NODE_NOT_FOUND Handle = 0x80630108 + PEER_E_CONNECTION_FAILED Handle = 0x80630109 + PEER_E_CONNECTION_NOT_AUTHENTICATED Handle = 0x8063010A + PEER_E_CONNECTION_REFUSED Handle = 0x8063010B + PEER_E_CLASSIFIER_TOO_LONG Handle = 0x80630201 + PEER_E_TOO_MANY_IDENTITIES Handle = 0x80630202 + PEER_E_NO_KEY_ACCESS Handle = 0x80630203 + PEER_E_GROUPS_EXIST Handle = 0x80630204 + PEER_E_RECORD_NOT_FOUND Handle = 0x80630301 + PEER_E_DATABASE_ACCESSDENIED Handle = 0x80630302 + PEER_E_DBINITIALIZATION_FAILED Handle = 0x80630303 + PEER_E_MAX_RECORD_SIZE_EXCEEDED Handle = 0x80630304 + PEER_E_DATABASE_ALREADY_PRESENT Handle = 0x80630305 + PEER_E_DATABASE_NOT_PRESENT Handle = 0x80630306 + PEER_E_IDENTITY_NOT_FOUND Handle = 0x80630401 + PEER_E_EVENT_HANDLE_NOT_FOUND Handle = 0x80630501 + PEER_E_INVALID_SEARCH Handle = 0x80630601 + PEER_E_INVALID_ATTRIBUTES Handle = 0x80630602 + PEER_E_INVITATION_NOT_TRUSTED Handle = 0x80630701 + PEER_E_CHAIN_TOO_LONG Handle = 0x80630703 + PEER_E_INVALID_TIME_PERIOD Handle = 0x80630705 + PEER_E_CIRCULAR_CHAIN_DETECTED Handle = 0x80630706 + PEER_E_CERT_STORE_CORRUPTED Handle = 0x80630801 + PEER_E_NO_CLOUD Handle = 0x80631001 + PEER_E_CLOUD_NAME_AMBIGUOUS Handle = 0x80631005 + PEER_E_INVALID_RECORD Handle = 0x80632010 + PEER_E_NOT_AUTHORIZED Handle = 0x80632020 + PEER_E_PASSWORD_DOES_NOT_MEET_POLICY Handle = 0x80632021 + PEER_E_DEFERRED_VALIDATION Handle = 0x80632030 + PEER_E_INVALID_GROUP_PROPERTIES Handle = 0x80632040 + PEER_E_INVALID_PEER_NAME Handle = 0x80632050 + PEER_E_INVALID_CLASSIFIER Handle = 0x80632060 + PEER_E_INVALID_FRIENDLY_NAME Handle = 0x80632070 + PEER_E_INVALID_ROLE_PROPERTY Handle = 0x80632071 + PEER_E_INVALID_CLASSIFIER_PROPERTY Handle = 0x80632072 + PEER_E_INVALID_RECORD_EXPIRATION Handle = 0x80632080 + PEER_E_INVALID_CREDENTIAL_INFO Handle = 0x80632081 + PEER_E_INVALID_CREDENTIAL Handle = 0x80632082 + PEER_E_INVALID_RECORD_SIZE Handle = 0x80632083 + PEER_E_UNSUPPORTED_VERSION Handle = 0x80632090 + PEER_E_GROUP_NOT_READY Handle = 0x80632091 + PEER_E_GROUP_IN_USE Handle = 0x80632092 + PEER_E_INVALID_GROUP Handle = 0x80632093 + PEER_E_NO_MEMBERS_FOUND Handle = 0x80632094 + PEER_E_NO_MEMBER_CONNECTIONS Handle = 0x80632095 + PEER_E_UNABLE_TO_LISTEN Handle = 0x80632096 + PEER_E_IDENTITY_DELETED Handle = 0x806320A0 + PEER_E_SERVICE_NOT_AVAILABLE Handle = 0x806320A1 + PEER_E_CONTACT_NOT_FOUND Handle = 0x80636001 + PEER_S_GRAPH_DATA_CREATED Handle = 0x00630001 + PEER_S_NO_EVENT_DATA Handle = 0x00630002 + PEER_S_ALREADY_CONNECTED Handle = 0x00632000 + PEER_S_SUBSCRIPTION_EXISTS Handle = 0x00636000 + PEER_S_NO_CONNECTIVITY Handle = 0x00630005 + PEER_S_ALREADY_A_MEMBER Handle = 0x00630006 + PEER_E_CANNOT_CONVERT_PEER_NAME Handle = 0x80634001 + PEER_E_INVALID_PEER_HOST_NAME Handle = 0x80634002 + PEER_E_NO_MORE Handle = 0x80634003 + PEER_E_PNRP_DUPLICATE_PEER_NAME Handle = 0x80634005 + PEER_E_INVITE_CANCELLED Handle = 0x80637000 + PEER_E_INVITE_RESPONSE_NOT_AVAILABLE Handle = 0x80637001 + PEER_E_NOT_SIGNED_IN Handle = 0x80637003 + PEER_E_PRIVACY_DECLINED Handle = 0x80637004 + PEER_E_TIMEOUT Handle = 0x80637005 + PEER_E_INVALID_ADDRESS Handle = 0x80637007 + PEER_E_FW_EXCEPTION_DISABLED Handle = 0x80637008 + PEER_E_FW_BLOCKED_BY_POLICY Handle = 0x80637009 + PEER_E_FW_BLOCKED_BY_SHIELDS_UP Handle = 0x8063700A + PEER_E_FW_DECLINED Handle = 0x8063700B + UI_E_CREATE_FAILED Handle = 0x802A0001 + UI_E_SHUTDOWN_CALLED Handle = 0x802A0002 + UI_E_ILLEGAL_REENTRANCY Handle = 0x802A0003 + UI_E_OBJECT_SEALED Handle = 0x802A0004 + UI_E_VALUE_NOT_SET Handle = 0x802A0005 + UI_E_VALUE_NOT_DETERMINED Handle = 0x802A0006 + UI_E_INVALID_OUTPUT Handle = 0x802A0007 + UI_E_BOOLEAN_EXPECTED Handle = 0x802A0008 + UI_E_DIFFERENT_OWNER Handle = 0x802A0009 + UI_E_AMBIGUOUS_MATCH Handle = 0x802A000A + UI_E_FP_OVERFLOW Handle = 0x802A000B + UI_E_WRONG_THREAD Handle = 0x802A000C + UI_E_STORYBOARD_ACTIVE Handle = 0x802A0101 + UI_E_STORYBOARD_NOT_PLAYING Handle = 0x802A0102 + UI_E_START_KEYFRAME_AFTER_END Handle = 0x802A0103 + UI_E_END_KEYFRAME_NOT_DETERMINED Handle = 0x802A0104 + UI_E_LOOPS_OVERLAP Handle = 0x802A0105 + UI_E_TRANSITION_ALREADY_USED Handle = 0x802A0106 + UI_E_TRANSITION_NOT_IN_STORYBOARD Handle = 0x802A0107 + UI_E_TRANSITION_ECLIPSED Handle = 0x802A0108 + UI_E_TIME_BEFORE_LAST_UPDATE Handle = 0x802A0109 + UI_E_TIMER_CLIENT_ALREADY_CONNECTED Handle = 0x802A010A + UI_E_INVALID_DIMENSION Handle = 0x802A010B + UI_E_PRIMITIVE_OUT_OF_BOUNDS Handle = 0x802A010C + UI_E_WINDOW_CLOSED Handle = 0x802A0201 + E_BLUETOOTH_ATT_INVALID_HANDLE Handle = 0x80650001 + E_BLUETOOTH_ATT_READ_NOT_PERMITTED Handle = 0x80650002 + E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED Handle = 0x80650003 + E_BLUETOOTH_ATT_INVALID_PDU Handle = 0x80650004 + E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION Handle = 0x80650005 + E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED Handle = 0x80650006 + E_BLUETOOTH_ATT_INVALID_OFFSET Handle = 0x80650007 + E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION Handle = 0x80650008 + E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL Handle = 0x80650009 + E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND Handle = 0x8065000A + E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG Handle = 0x8065000B + E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE Handle = 0x8065000C + E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH Handle = 0x8065000D + E_BLUETOOTH_ATT_UNLIKELY Handle = 0x8065000E + E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION Handle = 0x8065000F + E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE Handle = 0x80650010 + E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES Handle = 0x80650011 + E_BLUETOOTH_ATT_UNKNOWN_ERROR Handle = 0x80651000 + E_AUDIO_ENGINE_NODE_NOT_FOUND Handle = 0x80660001 + E_HDAUDIO_EMPTY_CONNECTION_LIST Handle = 0x80660002 + E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED Handle = 0x80660003 + E_HDAUDIO_NO_LOGICAL_DEVICES_CREATED Handle = 0x80660004 + E_HDAUDIO_NULL_LINKED_LIST_ENTRY Handle = 0x80660005 + STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE Handle = 0x80670001 + STATEREPOSITORY_E_STATEMENT_INPROGRESS Handle = 0x80670002 + STATEREPOSITORY_E_CONFIGURATION_INVALID Handle = 0x80670003 + STATEREPOSITORY_E_UNKNOWN_SCHEMA_VERSION Handle = 0x80670004 + STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED Handle = 0x80670005 + STATEREPOSITORY_E_BLOCKED Handle = 0x80670006 + STATEREPOSITORY_E_BUSY_RETRY Handle = 0x80670007 + STATEREPOSITORY_E_BUSY_RECOVERY_RETRY Handle = 0x80670008 + STATEREPOSITORY_E_LOCKED_RETRY Handle = 0x80670009 + STATEREPOSITORY_E_LOCKED_SHAREDCACHE_RETRY Handle = 0x8067000A + STATEREPOSITORY_E_TRANSACTION_REQUIRED Handle = 0x8067000B + STATEREPOSITORY_E_BUSY_TIMEOUT_EXCEEDED Handle = 0x8067000C + STATEREPOSITORY_E_BUSY_RECOVERY_TIMEOUT_EXCEEDED Handle = 0x8067000D + STATEREPOSITORY_E_LOCKED_TIMEOUT_EXCEEDED Handle = 0x8067000E + STATEREPOSITORY_E_LOCKED_SHAREDCACHE_TIMEOUT_EXCEEDED Handle = 0x8067000F + STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS Handle = 0x80670010 + STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED Handle = 0x80670011 + STATEREPOSITORY_ERROR_CACHE_CORRUPTED Handle = 0x80670012 + STATEREPOSITORY_TRANSACTION_CALLER_ID_CHANGED Handle = 0x00670013 + STATEREPOSITORY_TRANSACTION_IN_PROGRESS Handle = 0x00670014 + ERROR_SPACES_POOL_WAS_DELETED Handle = 0x00E70001 + ERROR_SPACES_FAULT_DOMAIN_TYPE_INVALID Handle = 0x80E70001 + ERROR_SPACES_INTERNAL_ERROR Handle = 0x80E70002 + ERROR_SPACES_RESILIENCY_TYPE_INVALID Handle = 0x80E70003 + ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID Handle = 0x80E70004 + ERROR_SPACES_DRIVE_REDUNDANCY_INVALID Handle = 0x80E70006 + ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID Handle = 0x80E70007 + ERROR_SPACES_PARITY_LAYOUT_INVALID Handle = 0x80E70008 + ERROR_SPACES_INTERLEAVE_LENGTH_INVALID Handle = 0x80E70009 + ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID Handle = 0x80E7000A + ERROR_SPACES_NOT_ENOUGH_DRIVES Handle = 0x80E7000B + ERROR_SPACES_EXTENDED_ERROR Handle = 0x80E7000C + ERROR_SPACES_PROVISIONING_TYPE_INVALID Handle = 0x80E7000D + ERROR_SPACES_ALLOCATION_SIZE_INVALID Handle = 0x80E7000E + ERROR_SPACES_ENCLOSURE_AWARE_INVALID Handle = 0x80E7000F + ERROR_SPACES_WRITE_CACHE_SIZE_INVALID Handle = 0x80E70010 + ERROR_SPACES_NUMBER_OF_GROUPS_INVALID Handle = 0x80E70011 + ERROR_SPACES_DRIVE_OPERATIONAL_STATE_INVALID Handle = 0x80E70012 + ERROR_SPACES_ENTRY_INCOMPLETE Handle = 0x80E70013 + ERROR_SPACES_ENTRY_INVALID Handle = 0x80E70014 + ERROR_VOLSNAP_BOOTFILE_NOT_VALID Handle = 0x80820001 + ERROR_VOLSNAP_ACTIVATION_TIMEOUT Handle = 0x80820002 + ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME Handle = 0x80830001 + ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS Handle = 0x80830002 + ERROR_TIERING_STORAGE_TIER_NOT_FOUND Handle = 0x80830003 + ERROR_TIERING_INVALID_FILE_ID Handle = 0x80830004 + ERROR_TIERING_WRONG_CLUSTER_NODE Handle = 0x80830005 + ERROR_TIERING_ALREADY_PROCESSING Handle = 0x80830006 + ERROR_TIERING_CANNOT_PIN_OBJECT Handle = 0x80830007 + ERROR_TIERING_FILE_IS_NOT_PINNED Handle = 0x80830008 + ERROR_NOT_A_TIERED_VOLUME Handle = 0x80830009 + ERROR_ATTRIBUTE_NOT_PRESENT Handle = 0x8083000A + ERROR_SECCORE_INVALID_COMMAND Handle = 0xC0E80000 + ERROR_NO_APPLICABLE_APP_LICENSES_FOUND Handle = 0xC0EA0001 + ERROR_CLIP_LICENSE_NOT_FOUND Handle = 0xC0EA0002 + ERROR_CLIP_DEVICE_LICENSE_MISSING Handle = 0xC0EA0003 + ERROR_CLIP_LICENSE_INVALID_SIGNATURE Handle = 0xC0EA0004 + ERROR_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID Handle = 0xC0EA0005 + ERROR_CLIP_LICENSE_EXPIRED Handle = 0xC0EA0006 + ERROR_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE Handle = 0xC0EA0007 + ERROR_CLIP_LICENSE_NOT_SIGNED Handle = 0xC0EA0008 + ERROR_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE Handle = 0xC0EA0009 + ERROR_CLIP_LICENSE_DEVICE_ID_MISMATCH Handle = 0xC0EA000A + DXGI_STATUS_OCCLUDED Handle = 0x087A0001 + DXGI_STATUS_CLIPPED Handle = 0x087A0002 + DXGI_STATUS_NO_REDIRECTION Handle = 0x087A0004 + DXGI_STATUS_NO_DESKTOP_ACCESS Handle = 0x087A0005 + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0x087A0006 + DXGI_STATUS_MODE_CHANGED Handle = 0x087A0007 + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS Handle = 0x087A0008 + DXGI_ERROR_INVALID_CALL Handle = 0x887A0001 + DXGI_ERROR_NOT_FOUND Handle = 0x887A0002 + DXGI_ERROR_MORE_DATA Handle = 0x887A0003 + DXGI_ERROR_UNSUPPORTED Handle = 0x887A0004 + DXGI_ERROR_DEVICE_REMOVED Handle = 0x887A0005 + DXGI_ERROR_DEVICE_HUNG Handle = 0x887A0006 + DXGI_ERROR_DEVICE_RESET Handle = 0x887A0007 + DXGI_ERROR_WAS_STILL_DRAWING Handle = 0x887A000A + DXGI_ERROR_FRAME_STATISTICS_DISJOINT Handle = 0x887A000B + DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0x887A000C + DXGI_ERROR_DRIVER_INTERNAL_ERROR Handle = 0x887A0020 + DXGI_ERROR_NONEXCLUSIVE Handle = 0x887A0021 + DXGI_ERROR_NOT_CURRENTLY_AVAILABLE Handle = 0x887A0022 + DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED Handle = 0x887A0023 + DXGI_ERROR_REMOTE_OUTOFMEMORY Handle = 0x887A0024 + DXGI_ERROR_ACCESS_LOST Handle = 0x887A0026 + DXGI_ERROR_WAIT_TIMEOUT Handle = 0x887A0027 + DXGI_ERROR_SESSION_DISCONNECTED Handle = 0x887A0028 + DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE Handle = 0x887A0029 + DXGI_ERROR_CANNOT_PROTECT_CONTENT Handle = 0x887A002A + DXGI_ERROR_ACCESS_DENIED Handle = 0x887A002B + DXGI_ERROR_NAME_ALREADY_EXISTS Handle = 0x887A002C + DXGI_ERROR_SDK_COMPONENT_MISSING Handle = 0x887A002D + DXGI_ERROR_NOT_CURRENT Handle = 0x887A002E + DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY Handle = 0x887A0030 + DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION Handle = 0x887A0031 + DXGI_ERROR_NON_COMPOSITED_UI Handle = 0x887A0032 + DXGI_STATUS_UNOCCLUDED Handle = 0x087A0009 + DXGI_STATUS_DDA_WAS_STILL_DRAWING Handle = 0x087A000A + DXGI_ERROR_MODE_CHANGE_IN_PROGRESS Handle = 0x887A0025 + DXGI_STATUS_PRESENT_REQUIRED Handle = 0x087A002F + DXGI_ERROR_CACHE_CORRUPT Handle = 0x887A0033 + DXGI_ERROR_CACHE_FULL Handle = 0x887A0034 + DXGI_ERROR_CACHE_HASH_COLLISION Handle = 0x887A0035 + DXGI_ERROR_ALREADY_EXISTS Handle = 0x887A0036 + DXGI_DDI_ERR_WASSTILLDRAWING Handle = 0x887B0001 + DXGI_DDI_ERR_UNSUPPORTED Handle = 0x887B0002 + DXGI_DDI_ERR_NONEXCLUSIVE Handle = 0x887B0003 + D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS Handle = 0x88790001 + D3D10_ERROR_FILE_NOT_FOUND Handle = 0x88790002 + D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS Handle = 0x887C0001 + D3D11_ERROR_FILE_NOT_FOUND Handle = 0x887C0002 + D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS Handle = 0x887C0003 + D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD Handle = 0x887C0004 + D3D12_ERROR_ADAPTER_NOT_FOUND Handle = 0x887E0001 + D3D12_ERROR_DRIVER_VERSION_MISMATCH Handle = 0x887E0002 + D2DERR_WRONG_STATE Handle = 0x88990001 + D2DERR_NOT_INITIALIZED Handle = 0x88990002 + D2DERR_UNSUPPORTED_OPERATION Handle = 0x88990003 + D2DERR_SCANNER_FAILED Handle = 0x88990004 + D2DERR_SCREEN_ACCESS_DENIED Handle = 0x88990005 + D2DERR_DISPLAY_STATE_INVALID Handle = 0x88990006 + D2DERR_ZERO_VECTOR Handle = 0x88990007 + D2DERR_INTERNAL_ERROR Handle = 0x88990008 + D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED Handle = 0x88990009 + D2DERR_INVALID_CALL Handle = 0x8899000A + D2DERR_NO_HARDWARE_DEVICE Handle = 0x8899000B + D2DERR_RECREATE_TARGET Handle = 0x8899000C + D2DERR_TOO_MANY_SHADER_ELEMENTS Handle = 0x8899000D + D2DERR_SHADER_COMPILE_FAILED Handle = 0x8899000E + D2DERR_MAX_TEXTURE_SIZE_EXCEEDED Handle = 0x8899000F + D2DERR_UNSUPPORTED_VERSION Handle = 0x88990010 + D2DERR_BAD_NUMBER Handle = 0x88990011 + D2DERR_WRONG_FACTORY Handle = 0x88990012 + D2DERR_LAYER_ALREADY_IN_USE Handle = 0x88990013 + D2DERR_POP_CALL_DID_NOT_MATCH_PUSH Handle = 0x88990014 + D2DERR_WRONG_RESOURCE_DOMAIN Handle = 0x88990015 + D2DERR_PUSH_POP_UNBALANCED Handle = 0x88990016 + D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT Handle = 0x88990017 + D2DERR_INCOMPATIBLE_BRUSH_TYPES Handle = 0x88990018 + D2DERR_WIN32_ERROR Handle = 0x88990019 + D2DERR_TARGET_NOT_GDI_COMPATIBLE Handle = 0x8899001A + D2DERR_TEXT_EFFECT_IS_WRONG_TYPE Handle = 0x8899001B + D2DERR_TEXT_RENDERER_NOT_RELEASED Handle = 0x8899001C + D2DERR_EXCEEDS_MAX_BITMAP_SIZE Handle = 0x8899001D + D2DERR_INVALID_GRAPH_CONFIGURATION Handle = 0x8899001E + D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION Handle = 0x8899001F + D2DERR_CYCLIC_GRAPH Handle = 0x88990020 + D2DERR_BITMAP_CANNOT_DRAW Handle = 0x88990021 + D2DERR_OUTSTANDING_BITMAP_REFERENCES Handle = 0x88990022 + D2DERR_ORIGINAL_TARGET_NOT_BOUND Handle = 0x88990023 + D2DERR_INVALID_TARGET Handle = 0x88990024 + D2DERR_BITMAP_BOUND_AS_TARGET Handle = 0x88990025 + D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES Handle = 0x88990026 + D2DERR_INTERMEDIATE_TOO_LARGE Handle = 0x88990027 + D2DERR_EFFECT_IS_NOT_REGISTERED Handle = 0x88990028 + D2DERR_INVALID_PROPERTY Handle = 0x88990029 + D2DERR_NO_SUBPROPERTIES Handle = 0x8899002A + D2DERR_PRINT_JOB_CLOSED Handle = 0x8899002B + D2DERR_PRINT_FORMAT_NOT_SUPPORTED Handle = 0x8899002C + D2DERR_TOO_MANY_TRANSFORM_INPUTS Handle = 0x8899002D + D2DERR_INVALID_GLYPH_IMAGE Handle = 0x8899002E + DWRITE_E_FILEFORMAT Handle = 0x88985000 + DWRITE_E_UNEXPECTED Handle = 0x88985001 + DWRITE_E_NOFONT Handle = 0x88985002 + DWRITE_E_FILENOTFOUND Handle = 0x88985003 + DWRITE_E_FILEACCESS Handle = 0x88985004 + DWRITE_E_FONTCOLLECTIONOBSOLETE Handle = 0x88985005 + DWRITE_E_ALREADYREGISTERED Handle = 0x88985006 + DWRITE_E_CACHEFORMAT Handle = 0x88985007 + DWRITE_E_CACHEVERSION Handle = 0x88985008 + DWRITE_E_UNSUPPORTEDOPERATION Handle = 0x88985009 + DWRITE_E_TEXTRENDERERINCOMPATIBLE Handle = 0x8898500A + DWRITE_E_FLOWDIRECTIONCONFLICTS Handle = 0x8898500B + DWRITE_E_NOCOLOR Handle = 0x8898500C + DWRITE_E_REMOTEFONT Handle = 0x8898500D + DWRITE_E_DOWNLOADCANCELLED Handle = 0x8898500E + DWRITE_E_DOWNLOADFAILED Handle = 0x8898500F + DWRITE_E_TOOMANYDOWNLOADS Handle = 0x88985010 + WINCODEC_ERR_WRONGSTATE Handle = 0x88982F04 + WINCODEC_ERR_VALUEOUTOFRANGE Handle = 0x88982F05 + WINCODEC_ERR_UNKNOWNIMAGEFORMAT Handle = 0x88982F07 + WINCODEC_ERR_UNSUPPORTEDVERSION Handle = 0x88982F0B + WINCODEC_ERR_NOTINITIALIZED Handle = 0x88982F0C + WINCODEC_ERR_ALREADYLOCKED Handle = 0x88982F0D + WINCODEC_ERR_PROPERTYNOTFOUND Handle = 0x88982F40 + WINCODEC_ERR_PROPERTYNOTSUPPORTED Handle = 0x88982F41 + WINCODEC_ERR_PROPERTYSIZE Handle = 0x88982F42 + WINCODEC_ERR_CODECPRESENT Handle = 0x88982F43 + WINCODEC_ERR_CODECNOTHUMBNAIL Handle = 0x88982F44 + WINCODEC_ERR_PALETTEUNAVAILABLE Handle = 0x88982F45 + WINCODEC_ERR_CODECTOOMANYSCANLINES Handle = 0x88982F46 + WINCODEC_ERR_INTERNALERROR Handle = 0x88982F48 + WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS Handle = 0x88982F49 + WINCODEC_ERR_COMPONENTNOTFOUND Handle = 0x88982F50 + WINCODEC_ERR_IMAGESIZEOUTOFRANGE Handle = 0x88982F51 + WINCODEC_ERR_TOOMUCHMETADATA Handle = 0x88982F52 + WINCODEC_ERR_BADIMAGE Handle = 0x88982F60 + WINCODEC_ERR_BADHEADER Handle = 0x88982F61 + WINCODEC_ERR_FRAMEMISSING Handle = 0x88982F62 + WINCODEC_ERR_BADMETADATAHEADER Handle = 0x88982F63 + WINCODEC_ERR_BADSTREAMDATA Handle = 0x88982F70 + WINCODEC_ERR_STREAMWRITE Handle = 0x88982F71 + WINCODEC_ERR_STREAMREAD Handle = 0x88982F72 + WINCODEC_ERR_STREAMNOTAVAILABLE Handle = 0x88982F73 + WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT Handle = 0x88982F80 + WINCODEC_ERR_UNSUPPORTEDOPERATION Handle = 0x88982F81 + WINCODEC_ERR_INVALIDREGISTRATION Handle = 0x88982F8A + WINCODEC_ERR_COMPONENTINITIALIZEFAILURE Handle = 0x88982F8B + WINCODEC_ERR_INSUFFICIENTBUFFER Handle = 0x88982F8C + WINCODEC_ERR_DUPLICATEMETADATAPRESENT Handle = 0x88982F8D + WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE Handle = 0x88982F8E + WINCODEC_ERR_UNEXPECTEDSIZE Handle = 0x88982F8F + WINCODEC_ERR_INVALIDQUERYREQUEST Handle = 0x88982F90 + WINCODEC_ERR_UNEXPECTEDMETADATATYPE Handle = 0x88982F91 + WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT Handle = 0x88982F92 + WINCODEC_ERR_INVALIDQUERYCHARACTER Handle = 0x88982F93 + WINCODEC_ERR_WIN32ERROR Handle = 0x88982F94 + WINCODEC_ERR_INVALIDPROGRESSIVELEVEL Handle = 0x88982F95 + WINCODEC_ERR_INVALIDJPEGSCANINDEX Handle = 0x88982F96 + MILERR_OBJECTBUSY Handle = 0x88980001 + MILERR_INSUFFICIENTBUFFER Handle = 0x88980002 + MILERR_WIN32ERROR Handle = 0x88980003 + MILERR_SCANNER_FAILED Handle = 0x88980004 + MILERR_SCREENACCESSDENIED Handle = 0x88980005 + MILERR_DISPLAYSTATEINVALID Handle = 0x88980006 + MILERR_NONINVERTIBLEMATRIX Handle = 0x88980007 + MILERR_ZEROVECTOR Handle = 0x88980008 + MILERR_TERMINATED Handle = 0x88980009 + MILERR_BADNUMBER Handle = 0x8898000A + MILERR_INTERNALERROR Handle = 0x88980080 + MILERR_DISPLAYFORMATNOTSUPPORTED Handle = 0x88980084 + MILERR_INVALIDCALL Handle = 0x88980085 + MILERR_ALREADYLOCKED Handle = 0x88980086 + MILERR_NOTLOCKED Handle = 0x88980087 + MILERR_DEVICECANNOTRENDERTEXT Handle = 0x88980088 + MILERR_GLYPHBITMAPMISSED Handle = 0x88980089 + MILERR_MALFORMEDGLYPHCACHE Handle = 0x8898008A + MILERR_GENERIC_IGNORE Handle = 0x8898008B + MILERR_MALFORMED_GUIDELINE_DATA Handle = 0x8898008C + MILERR_NO_HARDWARE_DEVICE Handle = 0x8898008D + MILERR_NEED_RECREATE_AND_PRESENT Handle = 0x8898008E + MILERR_ALREADY_INITIALIZED Handle = 0x8898008F + MILERR_MISMATCHED_SIZE Handle = 0x88980090 + MILERR_NO_REDIRECTION_SURFACE_AVAILABLE Handle = 0x88980091 + MILERR_REMOTING_NOT_SUPPORTED Handle = 0x88980092 + MILERR_QUEUED_PRESENT_NOT_SUPPORTED Handle = 0x88980093 + MILERR_NOT_QUEUING_PRESENTS Handle = 0x88980094 + MILERR_NO_REDIRECTION_SURFACE_RETRY_LATER Handle = 0x88980095 + MILERR_TOOMANYSHADERELEMNTS Handle = 0x88980096 + MILERR_MROW_READLOCK_FAILED Handle = 0x88980097 + MILERR_MROW_UPDATE_FAILED Handle = 0x88980098 + MILERR_SHADER_COMPILE_FAILED Handle = 0x88980099 + MILERR_MAX_TEXTURE_SIZE_EXCEEDED Handle = 0x8898009A + MILERR_QPC_TIME_WENT_BACKWARD Handle = 0x8898009B + MILERR_DXGI_ENUMERATION_OUT_OF_SYNC Handle = 0x8898009D + MILERR_ADAPTER_NOT_FOUND Handle = 0x8898009E + MILERR_COLORSPACE_NOT_SUPPORTED Handle = 0x8898009F + MILERR_PREFILTER_NOT_SUPPORTED Handle = 0x889800A0 + MILERR_DISPLAYID_ACCESS_DENIED Handle = 0x889800A1 + UCEERR_INVALIDPACKETHEADER Handle = 0x88980400 + UCEERR_UNKNOWNPACKET Handle = 0x88980401 + UCEERR_ILLEGALPACKET Handle = 0x88980402 + UCEERR_MALFORMEDPACKET Handle = 0x88980403 + UCEERR_ILLEGALHANDLE Handle = 0x88980404 + UCEERR_HANDLELOOKUPFAILED Handle = 0x88980405 + UCEERR_RENDERTHREADFAILURE Handle = 0x88980406 + UCEERR_CTXSTACKFRSTTARGETNULL Handle = 0x88980407 + UCEERR_CONNECTIONIDLOOKUPFAILED Handle = 0x88980408 + UCEERR_BLOCKSFULL Handle = 0x88980409 + UCEERR_MEMORYFAILURE Handle = 0x8898040A + UCEERR_PACKETRECORDOUTOFRANGE Handle = 0x8898040B + UCEERR_ILLEGALRECORDTYPE Handle = 0x8898040C + UCEERR_OUTOFHANDLES Handle = 0x8898040D + UCEERR_UNCHANGABLE_UPDATE_ATTEMPTED Handle = 0x8898040E + UCEERR_NO_MULTIPLE_WORKER_THREADS Handle = 0x8898040F + UCEERR_REMOTINGNOTSUPPORTED Handle = 0x88980410 + UCEERR_MISSINGENDCOMMAND Handle = 0x88980411 + UCEERR_MISSINGBEGINCOMMAND Handle = 0x88980412 + UCEERR_CHANNELSYNCTIMEDOUT Handle = 0x88980413 + UCEERR_CHANNELSYNCABANDONED Handle = 0x88980414 + UCEERR_UNSUPPORTEDTRANSPORTVERSION Handle = 0x88980415 + UCEERR_TRANSPORTUNAVAILABLE Handle = 0x88980416 + UCEERR_FEEDBACK_UNSUPPORTED Handle = 0x88980417 + UCEERR_COMMANDTRANSPORTDENIED Handle = 0x88980418 + UCEERR_GRAPHICSSTREAMUNAVAILABLE Handle = 0x88980419 + UCEERR_GRAPHICSSTREAMALREADYOPEN Handle = 0x88980420 + UCEERR_TRANSPORTDISCONNECTED Handle = 0x88980421 + UCEERR_TRANSPORTOVERLOADED Handle = 0x88980422 + UCEERR_PARTITION_ZOMBIED Handle = 0x88980423 + MILAVERR_NOCLOCK Handle = 0x88980500 + MILAVERR_NOMEDIATYPE Handle = 0x88980501 + MILAVERR_NOVIDEOMIXER Handle = 0x88980502 + MILAVERR_NOVIDEOPRESENTER Handle = 0x88980503 + MILAVERR_NOREADYFRAMES Handle = 0x88980504 + MILAVERR_MODULENOTLOADED Handle = 0x88980505 + MILAVERR_WMPFACTORYNOTREGISTERED Handle = 0x88980506 + MILAVERR_INVALIDWMPVERSION Handle = 0x88980507 + MILAVERR_INSUFFICIENTVIDEORESOURCES Handle = 0x88980508 + MILAVERR_VIDEOACCELERATIONNOTAVAILABLE Handle = 0x88980509 + MILAVERR_REQUESTEDTEXTURETOOBIG Handle = 0x8898050A + MILAVERR_SEEKFAILED Handle = 0x8898050B + MILAVERR_UNEXPECTEDWMPFAILURE Handle = 0x8898050C + MILAVERR_MEDIAPLAYERCLOSED Handle = 0x8898050D + MILAVERR_UNKNOWNHARDWAREERROR Handle = 0x8898050E + MILEFFECTSERR_UNKNOWNPROPERTY Handle = 0x8898060E + MILEFFECTSERR_EFFECTNOTPARTOFGROUP Handle = 0x8898060F + MILEFFECTSERR_NOINPUTSOURCEATTACHED Handle = 0x88980610 + MILEFFECTSERR_CONNECTORNOTCONNECTED Handle = 0x88980611 + MILEFFECTSERR_CONNECTORNOTASSOCIATEDWITHEFFECT Handle = 0x88980612 + MILEFFECTSERR_RESERVED Handle = 0x88980613 + MILEFFECTSERR_CYCLEDETECTED Handle = 0x88980614 + MILEFFECTSERR_EFFECTINMORETHANONEGRAPH Handle = 0x88980615 + MILEFFECTSERR_EFFECTALREADYINAGRAPH Handle = 0x88980616 + MILEFFECTSERR_EFFECTHASNOCHILDREN Handle = 0x88980617 + MILEFFECTSERR_ALREADYATTACHEDTOLISTENER Handle = 0x88980618 + MILEFFECTSERR_NOTAFFINETRANSFORM Handle = 0x88980619 + MILEFFECTSERR_EMPTYBOUNDS Handle = 0x8898061A + MILEFFECTSERR_OUTPUTSIZETOOLARGE Handle = 0x8898061B + DWMERR_STATE_TRANSITION_FAILED Handle = 0x88980700 + DWMERR_THEME_FAILED Handle = 0x88980701 + DWMERR_CATASTROPHIC_FAILURE Handle = 0x88980702 + DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED Handle = 0x88980800 + DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED Handle = 0x88980801 + DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED Handle = 0x88980802 + ONL_E_INVALID_AUTHENTICATION_TARGET Handle = 0x80860001 + ONL_E_ACCESS_DENIED_BY_TOU Handle = 0x80860002 + ONL_E_INVALID_APPLICATION Handle = 0x80860003 + ONL_E_PASSWORD_UPDATE_REQUIRED Handle = 0x80860004 + ONL_E_ACCOUNT_UPDATE_REQUIRED Handle = 0x80860005 + ONL_E_FORCESIGNIN Handle = 0x80860006 + ONL_E_ACCOUNT_LOCKED Handle = 0x80860007 + ONL_E_PARENTAL_CONSENT_REQUIRED Handle = 0x80860008 + ONL_E_EMAIL_VERIFICATION_REQUIRED Handle = 0x80860009 + ONL_E_ACCOUNT_SUSPENDED_COMPROIMISE Handle = 0x8086000A + ONL_E_ACCOUNT_SUSPENDED_ABUSE Handle = 0x8086000B + ONL_E_ACTION_REQUIRED Handle = 0x8086000C + ONL_CONNECTION_COUNT_LIMIT Handle = 0x8086000D + ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT Handle = 0x8086000E + ONL_E_USER_AUTHENTICATION_REQUIRED Handle = 0x8086000F + ONL_E_REQUEST_THROTTLED Handle = 0x80860010 + FA_E_MAX_PERSISTED_ITEMS_REACHED Handle = 0x80270220 + FA_E_HOMEGROUP_NOT_AVAILABLE Handle = 0x80270222 + E_MONITOR_RESOLUTION_TOO_LOW Handle = 0x80270250 + E_ELEVATED_ACTIVATION_NOT_SUPPORTED Handle = 0x80270251 + E_UAC_DISABLED Handle = 0x80270252 + E_FULL_ADMIN_NOT_SUPPORTED Handle = 0x80270253 + E_APPLICATION_NOT_REGISTERED Handle = 0x80270254 + E_MULTIPLE_EXTENSIONS_FOR_APPLICATION Handle = 0x80270255 + E_MULTIPLE_PACKAGES_FOR_FAMILY Handle = 0x80270256 + E_APPLICATION_MANAGER_NOT_RUNNING Handle = 0x80270257 + S_STORE_LAUNCHED_FOR_REMEDIATION Handle = 0x00270258 + S_APPLICATION_ACTIVATION_ERROR_HANDLED_BY_DIALOG Handle = 0x00270259 + E_APPLICATION_ACTIVATION_TIMED_OUT Handle = 0x8027025A + E_APPLICATION_ACTIVATION_EXEC_FAILURE Handle = 0x8027025B + E_APPLICATION_TEMPORARY_LICENSE_ERROR Handle = 0x8027025C + E_APPLICATION_TRIAL_LICENSE_EXPIRED Handle = 0x8027025D + E_SKYDRIVE_ROOT_TARGET_FILE_SYSTEM_NOT_SUPPORTED Handle = 0x80270260 + E_SKYDRIVE_ROOT_TARGET_OVERLAP Handle = 0x80270261 + E_SKYDRIVE_ROOT_TARGET_CANNOT_INDEX Handle = 0x80270262 + E_SKYDRIVE_FILE_NOT_UPLOADED Handle = 0x80270263 + E_SKYDRIVE_UPDATE_AVAILABILITY_FAIL Handle = 0x80270264 + E_SKYDRIVE_ROOT_TARGET_VOLUME_ROOT_NOT_SUPPORTED Handle = 0x80270265 + E_SYNCENGINE_FILE_SIZE_OVER_LIMIT Handle = 0x8802B001 + E_SYNCENGINE_FILE_SIZE_EXCEEDS_REMAINING_QUOTA Handle = 0x8802B002 + E_SYNCENGINE_UNSUPPORTED_FILE_NAME Handle = 0x8802B003 + E_SYNCENGINE_FOLDER_ITEM_COUNT_LIMIT_EXCEEDED Handle = 0x8802B004 + E_SYNCENGINE_FILE_SYNC_PARTNER_ERROR Handle = 0x8802B005 + E_SYNCENGINE_SYNC_PAUSED_BY_SERVICE Handle = 0x8802B006 + E_SYNCENGINE_FILE_IDENTIFIER_UNKNOWN Handle = 0x8802C002 + E_SYNCENGINE_SERVICE_AUTHENTICATION_FAILED Handle = 0x8802C003 + E_SYNCENGINE_UNKNOWN_SERVICE_ERROR Handle = 0x8802C004 + E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE Handle = 0x8802C005 + E_SYNCENGINE_REQUEST_BLOCKED_BY_SERVICE Handle = 0x8802C006 + E_SYNCENGINE_REQUEST_BLOCKED_DUE_TO_CLIENT_ERROR Handle = 0x8802C007 + E_SYNCENGINE_FOLDER_INACCESSIBLE Handle = 0x8802D001 + E_SYNCENGINE_UNSUPPORTED_FOLDER_NAME Handle = 0x8802D002 + E_SYNCENGINE_UNSUPPORTED_MARKET Handle = 0x8802D003 + E_SYNCENGINE_PATH_LENGTH_LIMIT_EXCEEDED Handle = 0x8802D004 + E_SYNCENGINE_REMOTE_PATH_LENGTH_LIMIT_EXCEEDED Handle = 0x8802D005 + E_SYNCENGINE_CLIENT_UPDATE_NEEDED Handle = 0x8802D006 + E_SYNCENGINE_PROXY_AUTHENTICATION_REQUIRED Handle = 0x8802D007 + E_SYNCENGINE_STORAGE_SERVICE_PROVISIONING_FAILED Handle = 0x8802D008 + E_SYNCENGINE_UNSUPPORTED_REPARSE_POINT Handle = 0x8802D009 + E_SYNCENGINE_STORAGE_SERVICE_BLOCKED Handle = 0x8802D00A + E_SYNCENGINE_FOLDER_IN_REDIRECTION Handle = 0x8802D00B + EAS_E_POLICY_NOT_MANAGED_BY_OS Handle = 0x80550001 + EAS_E_POLICY_COMPLIANT_WITH_ACTIONS Handle = 0x80550002 + EAS_E_REQUESTED_POLICY_NOT_ENFORCEABLE Handle = 0x80550003 + EAS_E_CURRENT_USER_HAS_BLANK_PASSWORD Handle = 0x80550004 + EAS_E_REQUESTED_POLICY_PASSWORD_EXPIRATION_INCOMPATIBLE Handle = 0x80550005 + EAS_E_USER_CANNOT_CHANGE_PASSWORD Handle = 0x80550006 + EAS_E_ADMINS_HAVE_BLANK_PASSWORD Handle = 0x80550007 + EAS_E_ADMINS_CANNOT_CHANGE_PASSWORD Handle = 0x80550008 + EAS_E_LOCAL_CONTROLLED_USERS_CANNOT_CHANGE_PASSWORD Handle = 0x80550009 + EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CONNECTED_ADMINS Handle = 0x8055000A + EAS_E_CONNECTED_ADMINS_NEED_TO_CHANGE_PASSWORD Handle = 0x8055000B + EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CURRENT_CONNECTED_USER Handle = 0x8055000C + EAS_E_CURRENT_CONNECTED_USER_NEED_TO_CHANGE_PASSWORD Handle = 0x8055000D + WEB_E_UNSUPPORTED_FORMAT Handle = 0x83750001 + WEB_E_INVALID_XML Handle = 0x83750002 + WEB_E_MISSING_REQUIRED_ELEMENT Handle = 0x83750003 + WEB_E_MISSING_REQUIRED_ATTRIBUTE Handle = 0x83750004 + WEB_E_UNEXPECTED_CONTENT Handle = 0x83750005 + WEB_E_RESOURCE_TOO_LARGE Handle = 0x83750006 + WEB_E_INVALID_JSON_STRING Handle = 0x83750007 + WEB_E_INVALID_JSON_NUMBER Handle = 0x83750008 + WEB_E_JSON_VALUE_NOT_FOUND Handle = 0x83750009 + HTTP_E_STATUS_UNEXPECTED Handle = 0x80190001 + HTTP_E_STATUS_UNEXPECTED_REDIRECTION Handle = 0x80190003 + HTTP_E_STATUS_UNEXPECTED_CLIENT_ERROR Handle = 0x80190004 + HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR Handle = 0x80190005 + HTTP_E_STATUS_AMBIGUOUS Handle = 0x8019012C + HTTP_E_STATUS_MOVED Handle = 0x8019012D + HTTP_E_STATUS_REDIRECT Handle = 0x8019012E + HTTP_E_STATUS_REDIRECT_METHOD Handle = 0x8019012F + HTTP_E_STATUS_NOT_MODIFIED Handle = 0x80190130 + HTTP_E_STATUS_USE_PROXY Handle = 0x80190131 + HTTP_E_STATUS_REDIRECT_KEEP_VERB Handle = 0x80190133 + HTTP_E_STATUS_BAD_REQUEST Handle = 0x80190190 + HTTP_E_STATUS_DENIED Handle = 0x80190191 + HTTP_E_STATUS_PAYMENT_REQ Handle = 0x80190192 + HTTP_E_STATUS_FORBIDDEN Handle = 0x80190193 + HTTP_E_STATUS_NOT_FOUND Handle = 0x80190194 + HTTP_E_STATUS_BAD_METHOD Handle = 0x80190195 + HTTP_E_STATUS_NONE_ACCEPTABLE Handle = 0x80190196 + HTTP_E_STATUS_PROXY_AUTH_REQ Handle = 0x80190197 + HTTP_E_STATUS_REQUEST_TIMEOUT Handle = 0x80190198 + HTTP_E_STATUS_CONFLICT Handle = 0x80190199 + HTTP_E_STATUS_GONE Handle = 0x8019019A + HTTP_E_STATUS_LENGTH_REQUIRED Handle = 0x8019019B + HTTP_E_STATUS_PRECOND_FAILED Handle = 0x8019019C + HTTP_E_STATUS_REQUEST_TOO_LARGE Handle = 0x8019019D + HTTP_E_STATUS_URI_TOO_LONG Handle = 0x8019019E + HTTP_E_STATUS_UNSUPPORTED_MEDIA Handle = 0x8019019F + HTTP_E_STATUS_RANGE_NOT_SATISFIABLE Handle = 0x801901A0 + HTTP_E_STATUS_EXPECTATION_FAILED Handle = 0x801901A1 + HTTP_E_STATUS_SERVER_ERROR Handle = 0x801901F4 + HTTP_E_STATUS_NOT_SUPPORTED Handle = 0x801901F5 + HTTP_E_STATUS_BAD_GATEWAY Handle = 0x801901F6 + HTTP_E_STATUS_SERVICE_UNAVAIL Handle = 0x801901F7 + HTTP_E_STATUS_GATEWAY_TIMEOUT Handle = 0x801901F8 + HTTP_E_STATUS_VERSION_NOT_SUP Handle = 0x801901F9 + E_INVALID_PROTOCOL_OPERATION Handle = 0x83760001 + E_INVALID_PROTOCOL_FORMAT Handle = 0x83760002 + E_PROTOCOL_EXTENSIONS_NOT_SUPPORTED Handle = 0x83760003 + E_SUBPROTOCOL_NOT_SUPPORTED Handle = 0x83760004 + E_PROTOCOL_VERSION_NOT_SUPPORTED Handle = 0x83760005 + INPUT_E_OUT_OF_ORDER Handle = 0x80400000 + INPUT_E_REENTRANCY Handle = 0x80400001 + INPUT_E_MULTIMODAL Handle = 0x80400002 + INPUT_E_PACKET Handle = 0x80400003 + INPUT_E_FRAME Handle = 0x80400004 + INPUT_E_HISTORY Handle = 0x80400005 + INPUT_E_DEVICE_INFO Handle = 0x80400006 + INPUT_E_TRANSFORM Handle = 0x80400007 + INPUT_E_DEVICE_PROPERTY Handle = 0x80400008 + INET_E_INVALID_URL Handle = 0x800C0002 + INET_E_NO_SESSION Handle = 0x800C0003 + INET_E_CANNOT_CONNECT Handle = 0x800C0004 + INET_E_RESOURCE_NOT_FOUND Handle = 0x800C0005 + INET_E_OBJECT_NOT_FOUND Handle = 0x800C0006 + INET_E_DATA_NOT_AVAILABLE Handle = 0x800C0007 + INET_E_DOWNLOAD_FAILURE Handle = 0x800C0008 + INET_E_AUTHENTICATION_REQUIRED Handle = 0x800C0009 + INET_E_NO_VALID_MEDIA Handle = 0x800C000A + INET_E_CONNECTION_TIMEOUT Handle = 0x800C000B + INET_E_INVALID_REQUEST Handle = 0x800C000C + INET_E_UNKNOWN_PROTOCOL Handle = 0x800C000D + INET_E_SECURITY_PROBLEM Handle = 0x800C000E + INET_E_CANNOT_LOAD_DATA Handle = 0x800C000F + INET_E_CANNOT_INSTANTIATE_OBJECT Handle = 0x800C0010 + INET_E_INVALID_CERTIFICATE Handle = 0x800C0019 + INET_E_REDIRECT_FAILED Handle = 0x800C0014 + INET_E_REDIRECT_TO_DIR Handle = 0x800C0015 + ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN Handle = 0x80B00001 + ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN Handle = 0x80B00002 + ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN Handle = 0x80B00003 + ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN Handle = 0x80B00004 + ERROR_IO_PREEMPTED Handle = 0x89010001 + JSCRIPT_E_CANTEXECUTE Handle = 0x89020001 + WEP_E_NOT_PROVISIONED_ON_ALL_VOLUMES Handle = 0x88010001 + WEP_E_FIXED_DATA_NOT_SUPPORTED Handle = 0x88010002 + WEP_E_HARDWARE_NOT_COMPLIANT Handle = 0x88010003 + WEP_E_LOCK_NOT_CONFIGURED Handle = 0x88010004 + WEP_E_PROTECTION_SUSPENDED Handle = 0x88010005 + WEP_E_NO_LICENSE Handle = 0x88010006 + WEP_E_OS_NOT_PROTECTED Handle = 0x88010007 + WEP_E_UNEXPECTED_FAIL Handle = 0x88010008 + WEP_E_BUFFER_TOO_LARGE Handle = 0x88010009 + ERROR_SVHDX_ERROR_STORED Handle = 0xC05C0000 + ERROR_SVHDX_ERROR_NOT_AVAILABLE Handle = 0xC05CFF00 + ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE Handle = 0xC05CFF01 + ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED Handle = 0xC05CFF02 + ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED Handle = 0xC05CFF03 + ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED Handle = 0xC05CFF04 + ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED Handle = 0xC05CFF05 + ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED Handle = 0xC05CFF06 + ERROR_SVHDX_RESERVATION_CONFLICT Handle = 0xC05CFF07 + ERROR_SVHDX_WRONG_FILE_TYPE Handle = 0xC05CFF08 + ERROR_SVHDX_VERSION_MISMATCH Handle = 0xC05CFF09 + ERROR_VHD_SHARED Handle = 0xC05CFF0A + ERROR_SVHDX_NO_INITIATOR Handle = 0xC05CFF0B + ERROR_VHDSET_BACKING_STORAGE_NOT_FOUND Handle = 0xC05CFF0C + ERROR_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP Handle = 0xC05D0000 + ERROR_SMB_BAD_CLUSTER_DIALECT Handle = 0xC05D0001 + WININET_E_OUT_OF_HANDLES Handle = 0x80072EE1 + WININET_E_TIMEOUT Handle = 0x80072EE2 + WININET_E_EXTENDED_ERROR Handle = 0x80072EE3 + WININET_E_INTERNAL_ERROR Handle = 0x80072EE4 + WININET_E_INVALID_URL Handle = 0x80072EE5 + WININET_E_UNRECOGNIZED_SCHEME Handle = 0x80072EE6 + WININET_E_NAME_NOT_RESOLVED Handle = 0x80072EE7 + WININET_E_PROTOCOL_NOT_FOUND Handle = 0x80072EE8 + WININET_E_INVALID_OPTION Handle = 0x80072EE9 + WININET_E_BAD_OPTION_LENGTH Handle = 0x80072EEA + WININET_E_OPTION_NOT_SETTABLE Handle = 0x80072EEB + WININET_E_SHUTDOWN Handle = 0x80072EEC + WININET_E_INCORRECT_USER_NAME Handle = 0x80072EED + WININET_E_INCORRECT_PASSWORD Handle = 0x80072EEE + WININET_E_LOGIN_FAILURE Handle = 0x80072EEF + WININET_E_INVALID_OPERATION Handle = 0x80072EF0 + WININET_E_OPERATION_CANCELLED Handle = 0x80072EF1 + WININET_E_INCORRECT_HANDLE_TYPE Handle = 0x80072EF2 + WININET_E_INCORRECT_HANDLE_STATE Handle = 0x80072EF3 + WININET_E_NOT_PROXY_REQUEST Handle = 0x80072EF4 + WININET_E_REGISTRY_VALUE_NOT_FOUND Handle = 0x80072EF5 + WININET_E_BAD_REGISTRY_PARAMETER Handle = 0x80072EF6 + WININET_E_NO_DIRECT_ACCESS Handle = 0x80072EF7 + WININET_E_NO_CONTEXT Handle = 0x80072EF8 + WININET_E_NO_CALLBACK Handle = 0x80072EF9 + WININET_E_REQUEST_PENDING Handle = 0x80072EFA + WININET_E_INCORRECT_FORMAT Handle = 0x80072EFB + WININET_E_ITEM_NOT_FOUND Handle = 0x80072EFC + WININET_E_CANNOT_CONNECT Handle = 0x80072EFD + WININET_E_CONNECTION_ABORTED Handle = 0x80072EFE + WININET_E_CONNECTION_RESET Handle = 0x80072EFF + WININET_E_FORCE_RETRY Handle = 0x80072F00 + WININET_E_INVALID_PROXY_REQUEST Handle = 0x80072F01 + WININET_E_NEED_UI Handle = 0x80072F02 + WININET_E_HANDLE_EXISTS Handle = 0x80072F04 + WININET_E_SEC_CERT_DATE_INVALID Handle = 0x80072F05 + WININET_E_SEC_CERT_CN_INVALID Handle = 0x80072F06 + WININET_E_HTTP_TO_HTTPS_ON_REDIR Handle = 0x80072F07 + WININET_E_HTTPS_TO_HTTP_ON_REDIR Handle = 0x80072F08 + WININET_E_MIXED_SECURITY Handle = 0x80072F09 + WININET_E_CHG_POST_IS_NON_SECURE Handle = 0x80072F0A + WININET_E_POST_IS_NON_SECURE Handle = 0x80072F0B + WININET_E_CLIENT_AUTH_CERT_NEEDED Handle = 0x80072F0C + WININET_E_INVALID_CA Handle = 0x80072F0D + WININET_E_CLIENT_AUTH_NOT_SETUP Handle = 0x80072F0E + WININET_E_ASYNC_THREAD_FAILED Handle = 0x80072F0F + WININET_E_REDIRECT_SCHEME_CHANGE Handle = 0x80072F10 + WININET_E_DIALOG_PENDING Handle = 0x80072F11 + WININET_E_RETRY_DIALOG Handle = 0x80072F12 + WININET_E_NO_NEW_CONTAINERS Handle = 0x80072F13 + WININET_E_HTTPS_HTTP_SUBMIT_REDIR Handle = 0x80072F14 + WININET_E_SEC_CERT_ERRORS Handle = 0x80072F17 + WININET_E_SEC_CERT_REV_FAILED Handle = 0x80072F19 + WININET_E_HEADER_NOT_FOUND Handle = 0x80072F76 + WININET_E_DOWNLEVEL_SERVER Handle = 0x80072F77 + WININET_E_INVALID_SERVER_RESPONSE Handle = 0x80072F78 + WININET_E_INVALID_HEADER Handle = 0x80072F79 + WININET_E_INVALID_QUERY_REQUEST Handle = 0x80072F7A + WININET_E_HEADER_ALREADY_EXISTS Handle = 0x80072F7B + WININET_E_REDIRECT_FAILED Handle = 0x80072F7C + WININET_E_SECURITY_CHANNEL_ERROR Handle = 0x80072F7D + WININET_E_UNABLE_TO_CACHE_FILE Handle = 0x80072F7E + WININET_E_TCPIP_NOT_INSTALLED Handle = 0x80072F7F + WININET_E_DISCONNECTED Handle = 0x80072F83 + WININET_E_SERVER_UNREACHABLE Handle = 0x80072F84 + WININET_E_PROXY_SERVER_UNREACHABLE Handle = 0x80072F85 + WININET_E_BAD_AUTO_PROXY_SCRIPT Handle = 0x80072F86 + WININET_E_UNABLE_TO_DOWNLOAD_SCRIPT Handle = 0x80072F87 + WININET_E_SEC_INVALID_CERT Handle = 0x80072F89 + WININET_E_SEC_CERT_REVOKED Handle = 0x80072F8A + WININET_E_FAILED_DUETOSECURITYCHECK Handle = 0x80072F8B + WININET_E_NOT_INITIALIZED Handle = 0x80072F8C + WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY Handle = 0x80072F8E + WININET_E_DECODING_FAILED Handle = 0x80072F8F + WININET_E_NOT_REDIRECTED Handle = 0x80072F80 + WININET_E_COOKIE_NEEDS_CONFIRMATION Handle = 0x80072F81 + WININET_E_COOKIE_DECLINED Handle = 0x80072F82 + WININET_E_REDIRECT_NEEDS_CONFIRMATION Handle = 0x80072F88 + SQLITE_E_ERROR Handle = 0x87AF0001 + SQLITE_E_INTERNAL Handle = 0x87AF0002 + SQLITE_E_PERM Handle = 0x87AF0003 + SQLITE_E_ABORT Handle = 0x87AF0004 + SQLITE_E_BUSY Handle = 0x87AF0005 + SQLITE_E_LOCKED Handle = 0x87AF0006 + SQLITE_E_NOMEM Handle = 0x87AF0007 + SQLITE_E_READONLY Handle = 0x87AF0008 + SQLITE_E_INTERRUPT Handle = 0x87AF0009 + SQLITE_E_IOERR Handle = 0x87AF000A + SQLITE_E_CORRUPT Handle = 0x87AF000B + SQLITE_E_NOTFOUND Handle = 0x87AF000C + SQLITE_E_FULL Handle = 0x87AF000D + SQLITE_E_CANTOPEN Handle = 0x87AF000E + SQLITE_E_PROTOCOL Handle = 0x87AF000F + SQLITE_E_EMPTY Handle = 0x87AF0010 + SQLITE_E_SCHEMA Handle = 0x87AF0011 + SQLITE_E_TOOBIG Handle = 0x87AF0012 + SQLITE_E_CONSTRAINT Handle = 0x87AF0013 + SQLITE_E_MISMATCH Handle = 0x87AF0014 + SQLITE_E_MISUSE Handle = 0x87AF0015 + SQLITE_E_NOLFS Handle = 0x87AF0016 + SQLITE_E_AUTH Handle = 0x87AF0017 + SQLITE_E_FORMAT Handle = 0x87AF0018 + SQLITE_E_RANGE Handle = 0x87AF0019 + SQLITE_E_NOTADB Handle = 0x87AF001A + SQLITE_E_NOTICE Handle = 0x87AF001B + SQLITE_E_WARNING Handle = 0x87AF001C + SQLITE_E_ROW Handle = 0x87AF0064 + SQLITE_E_DONE Handle = 0x87AF0065 + SQLITE_E_IOERR_READ Handle = 0x87AF010A + SQLITE_E_IOERR_SHORT_READ Handle = 0x87AF020A + SQLITE_E_IOERR_WRITE Handle = 0x87AF030A + SQLITE_E_IOERR_FSYNC Handle = 0x87AF040A + SQLITE_E_IOERR_DIR_FSYNC Handle = 0x87AF050A + SQLITE_E_IOERR_TRUNCATE Handle = 0x87AF060A + SQLITE_E_IOERR_FSTAT Handle = 0x87AF070A + SQLITE_E_IOERR_UNLOCK Handle = 0x87AF080A + SQLITE_E_IOERR_RDLOCK Handle = 0x87AF090A + SQLITE_E_IOERR_DELETE Handle = 0x87AF0A0A + SQLITE_E_IOERR_BLOCKED Handle = 0x87AF0B0A + SQLITE_E_IOERR_NOMEM Handle = 0x87AF0C0A + SQLITE_E_IOERR_ACCESS Handle = 0x87AF0D0A + SQLITE_E_IOERR_CHECKRESERVEDLOCK Handle = 0x87AF0E0A + SQLITE_E_IOERR_LOCK Handle = 0x87AF0F0A + SQLITE_E_IOERR_CLOSE Handle = 0x87AF100A + SQLITE_E_IOERR_DIR_CLOSE Handle = 0x87AF110A + SQLITE_E_IOERR_SHMOPEN Handle = 0x87AF120A + SQLITE_E_IOERR_SHMSIZE Handle = 0x87AF130A + SQLITE_E_IOERR_SHMLOCK Handle = 0x87AF140A + SQLITE_E_IOERR_SHMMAP Handle = 0x87AF150A + SQLITE_E_IOERR_SEEK Handle = 0x87AF160A + SQLITE_E_IOERR_DELETE_NOENT Handle = 0x87AF170A + SQLITE_E_IOERR_MMAP Handle = 0x87AF180A + SQLITE_E_IOERR_GETTEMPPATH Handle = 0x87AF190A + SQLITE_E_IOERR_CONVPATH Handle = 0x87AF1A0A + SQLITE_E_IOERR_VNODE Handle = 0x87AF1A02 + SQLITE_E_IOERR_AUTH Handle = 0x87AF1A03 + SQLITE_E_LOCKED_SHAREDCACHE Handle = 0x87AF0106 + SQLITE_E_BUSY_RECOVERY Handle = 0x87AF0105 + SQLITE_E_BUSY_SNAPSHOT Handle = 0x87AF0205 + SQLITE_E_CANTOPEN_NOTEMPDIR Handle = 0x87AF010E + SQLITE_E_CANTOPEN_ISDIR Handle = 0x87AF020E + SQLITE_E_CANTOPEN_FULLPATH Handle = 0x87AF030E + SQLITE_E_CANTOPEN_CONVPATH Handle = 0x87AF040E + SQLITE_E_CORRUPT_VTAB Handle = 0x87AF010B + SQLITE_E_READONLY_RECOVERY Handle = 0x87AF0108 + SQLITE_E_READONLY_CANTLOCK Handle = 0x87AF0208 + SQLITE_E_READONLY_ROLLBACK Handle = 0x87AF0308 + SQLITE_E_READONLY_DBMOVED Handle = 0x87AF0408 + SQLITE_E_ABORT_ROLLBACK Handle = 0x87AF0204 + SQLITE_E_CONSTRAINT_CHECK Handle = 0x87AF0113 + SQLITE_E_CONSTRAINT_COMMITHOOK Handle = 0x87AF0213 + SQLITE_E_CONSTRAINT_FOREIGNKEY Handle = 0x87AF0313 + SQLITE_E_CONSTRAINT_FUNCTION Handle = 0x87AF0413 + SQLITE_E_CONSTRAINT_NOTNULL Handle = 0x87AF0513 + SQLITE_E_CONSTRAINT_PRIMARYKEY Handle = 0x87AF0613 + SQLITE_E_CONSTRAINT_TRIGGER Handle = 0x87AF0713 + SQLITE_E_CONSTRAINT_UNIQUE Handle = 0x87AF0813 + SQLITE_E_CONSTRAINT_VTAB Handle = 0x87AF0913 + SQLITE_E_CONSTRAINT_ROWID Handle = 0x87AF0A13 + SQLITE_E_NOTICE_RECOVER_WAL Handle = 0x87AF011B + SQLITE_E_NOTICE_RECOVER_ROLLBACK Handle = 0x87AF021B + SQLITE_E_WARNING_AUTOINDEX Handle = 0x87AF011C + UTC_E_TOGGLE_TRACE_STARTED Handle = 0x87C51001 + UTC_E_ALTERNATIVE_TRACE_CANNOT_PREEMPT Handle = 0x87C51002 + UTC_E_AOT_NOT_RUNNING Handle = 0x87C51003 + UTC_E_SCRIPT_TYPE_INVALID Handle = 0x87C51004 + UTC_E_SCENARIODEF_NOT_FOUND Handle = 0x87C51005 + UTC_E_TRACEPROFILE_NOT_FOUND Handle = 0x87C51006 + UTC_E_FORWARDER_ALREADY_ENABLED Handle = 0x87C51007 + UTC_E_FORWARDER_ALREADY_DISABLED Handle = 0x87C51008 + UTC_E_EVENTLOG_ENTRY_MALFORMED Handle = 0x87C51009 + UTC_E_DIAGRULES_SCHEMAVERSION_MISMATCH Handle = 0x87C5100A + UTC_E_SCRIPT_TERMINATED Handle = 0x87C5100B + UTC_E_INVALID_CUSTOM_FILTER Handle = 0x87C5100C + UTC_E_TRACE_NOT_RUNNING Handle = 0x87C5100D + UTC_E_REESCALATED_TOO_QUICKLY Handle = 0x87C5100E + UTC_E_ESCALATION_ALREADY_RUNNING Handle = 0x87C5100F + UTC_E_PERFTRACK_ALREADY_TRACING Handle = 0x87C51010 + UTC_E_REACHED_MAX_ESCALATIONS Handle = 0x87C51011 + UTC_E_FORWARDER_PRODUCER_MISMATCH Handle = 0x87C51012 + UTC_E_INTENTIONAL_SCRIPT_FAILURE Handle = 0x87C51013 + UTC_E_SQM_INIT_FAILED Handle = 0x87C51014 + UTC_E_NO_WER_LOGGER_SUPPORTED Handle = 0x87C51015 + UTC_E_TRACERS_DONT_EXIST Handle = 0x87C51016 + UTC_E_WINRT_INIT_FAILED Handle = 0x87C51017 + UTC_E_SCENARIODEF_SCHEMAVERSION_MISMATCH Handle = 0x87C51018 + UTC_E_INVALID_FILTER Handle = 0x87C51019 + UTC_E_EXE_TERMINATED Handle = 0x87C5101A + UTC_E_ESCALATION_NOT_AUTHORIZED Handle = 0x87C5101B + UTC_E_SETUP_NOT_AUTHORIZED Handle = 0x87C5101C + UTC_E_CHILD_PROCESS_FAILED Handle = 0x87C5101D + UTC_E_COMMAND_LINE_NOT_AUTHORIZED Handle = 0x87C5101E + UTC_E_CANNOT_LOAD_SCENARIO_EDITOR_XML Handle = 0x87C5101F + UTC_E_ESCALATION_TIMED_OUT Handle = 0x87C51020 + UTC_E_SETUP_TIMED_OUT Handle = 0x87C51021 + UTC_E_TRIGGER_MISMATCH Handle = 0x87C51022 + UTC_E_TRIGGER_NOT_FOUND Handle = 0x87C51023 + UTC_E_SIF_NOT_SUPPORTED Handle = 0x87C51024 + UTC_E_DELAY_TERMINATED Handle = 0x87C51025 + UTC_E_DEVICE_TICKET_ERROR Handle = 0x87C51026 + UTC_E_TRACE_BUFFER_LIMIT_EXCEEDED Handle = 0x87C51027 + UTC_E_API_RESULT_UNAVAILABLE Handle = 0x87C51028 + UTC_E_RPC_TIMEOUT Handle = 0x87C51029 + UTC_E_RPC_WAIT_FAILED Handle = 0x87C5102A + UTC_E_API_BUSY Handle = 0x87C5102B + UTC_E_TRACE_MIN_DURATION_REQUIREMENT_NOT_MET Handle = 0x87C5102C + UTC_E_EXCLUSIVITY_NOT_AVAILABLE Handle = 0x87C5102D + UTC_E_GETFILE_FILE_PATH_NOT_APPROVED Handle = 0x87C5102E + UTC_E_ESCALATION_DIRECTORY_ALREADY_EXISTS Handle = 0x87C5102F + UTC_E_TIME_TRIGGER_ON_START_INVALID Handle = 0x87C51030 + UTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION Handle = 0x87C51031 + UTC_E_TIME_TRIGGER_INVALID_TIME_RANGE Handle = 0x87C51032 + UTC_E_MULTIPLE_TIME_TRIGGER_ON_SINGLE_STATE Handle = 0x87C51033 + UTC_E_BINARY_MISSING Handle = 0x87C51034 + UTC_E_NETWORK_CAPTURE_NOT_ALLOWED Handle = 0x87C51035 + UTC_E_FAILED_TO_RESOLVE_CONTAINER_ID Handle = 0x87C51036 + UTC_E_UNABLE_TO_RESOLVE_SESSION Handle = 0x87C51037 + UTC_E_THROTTLED Handle = 0x87C51038 + UTC_E_UNAPPROVED_SCRIPT Handle = 0x87C51039 + UTC_E_SCRIPT_MISSING Handle = 0x87C5103A + UTC_E_SCENARIO_THROTTLED Handle = 0x87C5103B + UTC_E_API_NOT_SUPPORTED Handle = 0x87C5103C + UTC_E_GETFILE_EXTERNAL_PATH_NOT_APPROVED Handle = 0x87C5103D + UTC_E_TRY_GET_SCENARIO_TIMEOUT_EXCEEDED Handle = 0x87C5103E + UTC_E_CERT_REV_FAILED Handle = 0x87C5103F + UTC_E_FAILED_TO_START_NDISCAP Handle = 0x87C51040 + UTC_E_KERNELDUMP_LIMIT_REACHED Handle = 0x87C51041 + UTC_E_MISSING_AGGREGATE_EVENT_TAG Handle = 0x87C51042 + UTC_E_INVALID_AGGREGATION_STRUCT Handle = 0x87C51043 + UTC_E_ACTION_NOT_SUPPORTED_IN_DESTINATION Handle = 0x87C51044 + UTC_E_FILTER_MISSING_ATTRIBUTE Handle = 0x87C51045 + UTC_E_FILTER_INVALID_TYPE Handle = 0x87C51046 + UTC_E_FILTER_VARIABLE_NOT_FOUND Handle = 0x87C51047 + UTC_E_FILTER_FUNCTION_RESTRICTED Handle = 0x87C51048 + UTC_E_FILTER_VERSION_MISMATCH Handle = 0x87C51049 + UTC_E_FILTER_INVALID_FUNCTION Handle = 0x87C51050 + UTC_E_FILTER_INVALID_FUNCTION_PARAMS Handle = 0x87C51051 + UTC_E_FILTER_INVALID_COMMAND Handle = 0x87C51052 + UTC_E_FILTER_ILLEGAL_EVAL Handle = 0x87C51053 + UTC_E_TTTRACER_RETURNED_ERROR Handle = 0x87C51054 + UTC_E_AGENT_DIAGNOSTICS_TOO_LARGE Handle = 0x87C51055 + UTC_E_FAILED_TO_RECEIVE_AGENT_DIAGNOSTICS Handle = 0x87C51056 + UTC_E_SCENARIO_HAS_NO_ACTIONS Handle = 0x87C51057 + UTC_E_TTTRACER_STORAGE_FULL Handle = 0x87C51058 + UTC_E_INSUFFICIENT_SPACE_TO_START_TRACE Handle = 0x87C51059 + UTC_E_ESCALATION_CANCELLED_AT_SHUTDOWN Handle = 0x87C5105A + UTC_E_GETFILEINFOACTION_FILE_NOT_APPROVED Handle = 0x87C5105B + UTC_E_SETREGKEYACTION_TYPE_NOT_APPROVED Handle = 0x87C5105C + WINML_ERR_INVALID_DEVICE Handle = 0x88900001 + WINML_ERR_INVALID_BINDING Handle = 0x88900002 + WINML_ERR_VALUE_NOTFOUND Handle = 0x88900003 + WINML_ERR_SIZE_MISMATCH Handle = 0x88900004 + STATUS_WAIT_0 NTStatus = 0x00000000 + STATUS_SUCCESS NTStatus = 0x00000000 + STATUS_WAIT_1 NTStatus = 0x00000001 + STATUS_WAIT_2 NTStatus = 0x00000002 + STATUS_WAIT_3 NTStatus = 0x00000003 + STATUS_WAIT_63 NTStatus = 0x0000003F + STATUS_ABANDONED NTStatus = 0x00000080 + STATUS_ABANDONED_WAIT_0 NTStatus = 0x00000080 + STATUS_ABANDONED_WAIT_63 NTStatus = 0x000000BF + STATUS_USER_APC NTStatus = 0x000000C0 + STATUS_ALREADY_COMPLETE NTStatus = 0x000000FF + STATUS_KERNEL_APC NTStatus = 0x00000100 + STATUS_ALERTED NTStatus = 0x00000101 + STATUS_TIMEOUT NTStatus = 0x00000102 + STATUS_PENDING NTStatus = 0x00000103 + STATUS_REPARSE NTStatus = 0x00000104 + STATUS_MORE_ENTRIES NTStatus = 0x00000105 + STATUS_NOT_ALL_ASSIGNED NTStatus = 0x00000106 + STATUS_SOME_NOT_MAPPED NTStatus = 0x00000107 + STATUS_OPLOCK_BREAK_IN_PROGRESS NTStatus = 0x00000108 + STATUS_VOLUME_MOUNTED NTStatus = 0x00000109 + STATUS_RXACT_COMMITTED NTStatus = 0x0000010A + STATUS_NOTIFY_CLEANUP NTStatus = 0x0000010B + STATUS_NOTIFY_ENUM_DIR NTStatus = 0x0000010C + STATUS_NO_QUOTAS_FOR_ACCOUNT NTStatus = 0x0000010D + STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED NTStatus = 0x0000010E + STATUS_PAGE_FAULT_TRANSITION NTStatus = 0x00000110 + STATUS_PAGE_FAULT_DEMAND_ZERO NTStatus = 0x00000111 + STATUS_PAGE_FAULT_COPY_ON_WRITE NTStatus = 0x00000112 + STATUS_PAGE_FAULT_GUARD_PAGE NTStatus = 0x00000113 + STATUS_PAGE_FAULT_PAGING_FILE NTStatus = 0x00000114 + STATUS_CACHE_PAGE_LOCKED NTStatus = 0x00000115 + STATUS_CRASH_DUMP NTStatus = 0x00000116 + STATUS_BUFFER_ALL_ZEROS NTStatus = 0x00000117 + STATUS_REPARSE_OBJECT NTStatus = 0x00000118 + STATUS_RESOURCE_REQUIREMENTS_CHANGED NTStatus = 0x00000119 + STATUS_TRANSLATION_COMPLETE NTStatus = 0x00000120 + STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY NTStatus = 0x00000121 + STATUS_NOTHING_TO_TERMINATE NTStatus = 0x00000122 + STATUS_PROCESS_NOT_IN_JOB NTStatus = 0x00000123 + STATUS_PROCESS_IN_JOB NTStatus = 0x00000124 + STATUS_VOLSNAP_HIBERNATE_READY NTStatus = 0x00000125 + STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY NTStatus = 0x00000126 + STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED NTStatus = 0x00000127 + STATUS_INTERRUPT_STILL_CONNECTED NTStatus = 0x00000128 + STATUS_PROCESS_CLONED NTStatus = 0x00000129 + STATUS_FILE_LOCKED_WITH_ONLY_READERS NTStatus = 0x0000012A + STATUS_FILE_LOCKED_WITH_WRITERS NTStatus = 0x0000012B + STATUS_VALID_IMAGE_HASH NTStatus = 0x0000012C + STATUS_VALID_CATALOG_HASH NTStatus = 0x0000012D + STATUS_VALID_STRONG_CODE_HASH NTStatus = 0x0000012E + STATUS_GHOSTED NTStatus = 0x0000012F + STATUS_DATA_OVERWRITTEN NTStatus = 0x00000130 + STATUS_RESOURCEMANAGER_READ_ONLY NTStatus = 0x00000202 + STATUS_RING_PREVIOUSLY_EMPTY NTStatus = 0x00000210 + STATUS_RING_PREVIOUSLY_FULL NTStatus = 0x00000211 + STATUS_RING_PREVIOUSLY_ABOVE_QUOTA NTStatus = 0x00000212 + STATUS_RING_NEWLY_EMPTY NTStatus = 0x00000213 + STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT NTStatus = 0x00000214 + STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE NTStatus = 0x00000215 + STATUS_OPLOCK_HANDLE_CLOSED NTStatus = 0x00000216 + STATUS_WAIT_FOR_OPLOCK NTStatus = 0x00000367 + STATUS_REPARSE_GLOBAL NTStatus = 0x00000368 + STATUS_FLT_IO_COMPLETE NTStatus = 0x001C0001 + STATUS_OBJECT_NAME_EXISTS NTStatus = 0x40000000 + STATUS_THREAD_WAS_SUSPENDED NTStatus = 0x40000001 + STATUS_WORKING_SET_LIMIT_RANGE NTStatus = 0x40000002 + STATUS_IMAGE_NOT_AT_BASE NTStatus = 0x40000003 + STATUS_RXACT_STATE_CREATED NTStatus = 0x40000004 + STATUS_SEGMENT_NOTIFICATION NTStatus = 0x40000005 + STATUS_LOCAL_USER_SESSION_KEY NTStatus = 0x40000006 + STATUS_BAD_CURRENT_DIRECTORY NTStatus = 0x40000007 + STATUS_SERIAL_MORE_WRITES NTStatus = 0x40000008 + STATUS_REGISTRY_RECOVERED NTStatus = 0x40000009 + STATUS_FT_READ_RECOVERY_FROM_BACKUP NTStatus = 0x4000000A + STATUS_FT_WRITE_RECOVERY NTStatus = 0x4000000B + STATUS_SERIAL_COUNTER_TIMEOUT NTStatus = 0x4000000C + STATUS_NULL_LM_PASSWORD NTStatus = 0x4000000D + STATUS_IMAGE_MACHINE_TYPE_MISMATCH NTStatus = 0x4000000E + STATUS_RECEIVE_PARTIAL NTStatus = 0x4000000F + STATUS_RECEIVE_EXPEDITED NTStatus = 0x40000010 + STATUS_RECEIVE_PARTIAL_EXPEDITED NTStatus = 0x40000011 + STATUS_EVENT_DONE NTStatus = 0x40000012 + STATUS_EVENT_PENDING NTStatus = 0x40000013 + STATUS_CHECKING_FILE_SYSTEM NTStatus = 0x40000014 + STATUS_FATAL_APP_EXIT NTStatus = 0x40000015 + STATUS_PREDEFINED_HANDLE NTStatus = 0x40000016 + STATUS_WAS_UNLOCKED NTStatus = 0x40000017 + STATUS_SERVICE_NOTIFICATION NTStatus = 0x40000018 + STATUS_WAS_LOCKED NTStatus = 0x40000019 + STATUS_LOG_HARD_ERROR NTStatus = 0x4000001A + STATUS_ALREADY_WIN32 NTStatus = 0x4000001B + STATUS_WX86_UNSIMULATE NTStatus = 0x4000001C + STATUS_WX86_CONTINUE NTStatus = 0x4000001D + STATUS_WX86_SINGLE_STEP NTStatus = 0x4000001E + STATUS_WX86_BREAKPOINT NTStatus = 0x4000001F + STATUS_WX86_EXCEPTION_CONTINUE NTStatus = 0x40000020 + STATUS_WX86_EXCEPTION_LASTCHANCE NTStatus = 0x40000021 + STATUS_WX86_EXCEPTION_CHAIN NTStatus = 0x40000022 + STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE NTStatus = 0x40000023 + STATUS_NO_YIELD_PERFORMED NTStatus = 0x40000024 + STATUS_TIMER_RESUME_IGNORED NTStatus = 0x40000025 + STATUS_ARBITRATION_UNHANDLED NTStatus = 0x40000026 + STATUS_CARDBUS_NOT_SUPPORTED NTStatus = 0x40000027 + STATUS_WX86_CREATEWX86TIB NTStatus = 0x40000028 + STATUS_MP_PROCESSOR_MISMATCH NTStatus = 0x40000029 + STATUS_HIBERNATED NTStatus = 0x4000002A + STATUS_RESUME_HIBERNATION NTStatus = 0x4000002B + STATUS_FIRMWARE_UPDATED NTStatus = 0x4000002C + STATUS_DRIVERS_LEAKING_LOCKED_PAGES NTStatus = 0x4000002D + STATUS_MESSAGE_RETRIEVED NTStatus = 0x4000002E + STATUS_SYSTEM_POWERSTATE_TRANSITION NTStatus = 0x4000002F + STATUS_ALPC_CHECK_COMPLETION_LIST NTStatus = 0x40000030 + STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION NTStatus = 0x40000031 + STATUS_ACCESS_AUDIT_BY_POLICY NTStatus = 0x40000032 + STATUS_ABANDON_HIBERFILE NTStatus = 0x40000033 + STATUS_BIZRULES_NOT_ENABLED NTStatus = 0x40000034 + STATUS_FT_READ_FROM_COPY NTStatus = 0x40000035 + STATUS_IMAGE_AT_DIFFERENT_BASE NTStatus = 0x40000036 + STATUS_PATCH_DEFERRED NTStatus = 0x40000037 + STATUS_HEURISTIC_DAMAGE_POSSIBLE NTStatus = 0x40190001 + STATUS_GUARD_PAGE_VIOLATION NTStatus = 0x80000001 + STATUS_DATATYPE_MISALIGNMENT NTStatus = 0x80000002 + STATUS_BREAKPOINT NTStatus = 0x80000003 + STATUS_SINGLE_STEP NTStatus = 0x80000004 + STATUS_BUFFER_OVERFLOW NTStatus = 0x80000005 + STATUS_NO_MORE_FILES NTStatus = 0x80000006 + STATUS_WAKE_SYSTEM_DEBUGGER NTStatus = 0x80000007 + STATUS_HANDLES_CLOSED NTStatus = 0x8000000A + STATUS_NO_INHERITANCE NTStatus = 0x8000000B + STATUS_GUID_SUBSTITUTION_MADE NTStatus = 0x8000000C + STATUS_PARTIAL_COPY NTStatus = 0x8000000D + STATUS_DEVICE_PAPER_EMPTY NTStatus = 0x8000000E + STATUS_DEVICE_POWERED_OFF NTStatus = 0x8000000F + STATUS_DEVICE_OFF_LINE NTStatus = 0x80000010 + STATUS_DEVICE_BUSY NTStatus = 0x80000011 + STATUS_NO_MORE_EAS NTStatus = 0x80000012 + STATUS_INVALID_EA_NAME NTStatus = 0x80000013 + STATUS_EA_LIST_INCONSISTENT NTStatus = 0x80000014 + STATUS_INVALID_EA_FLAG NTStatus = 0x80000015 + STATUS_VERIFY_REQUIRED NTStatus = 0x80000016 + STATUS_EXTRANEOUS_INFORMATION NTStatus = 0x80000017 + STATUS_RXACT_COMMIT_NECESSARY NTStatus = 0x80000018 + STATUS_NO_MORE_ENTRIES NTStatus = 0x8000001A + STATUS_FILEMARK_DETECTED NTStatus = 0x8000001B + STATUS_MEDIA_CHANGED NTStatus = 0x8000001C + STATUS_BUS_RESET NTStatus = 0x8000001D + STATUS_END_OF_MEDIA NTStatus = 0x8000001E + STATUS_BEGINNING_OF_MEDIA NTStatus = 0x8000001F + STATUS_MEDIA_CHECK NTStatus = 0x80000020 + STATUS_SETMARK_DETECTED NTStatus = 0x80000021 + STATUS_NO_DATA_DETECTED NTStatus = 0x80000022 + STATUS_REDIRECTOR_HAS_OPEN_HANDLES NTStatus = 0x80000023 + STATUS_SERVER_HAS_OPEN_HANDLES NTStatus = 0x80000024 + STATUS_ALREADY_DISCONNECTED NTStatus = 0x80000025 + STATUS_LONGJUMP NTStatus = 0x80000026 + STATUS_CLEANER_CARTRIDGE_INSTALLED NTStatus = 0x80000027 + STATUS_PLUGPLAY_QUERY_VETOED NTStatus = 0x80000028 + STATUS_UNWIND_CONSOLIDATE NTStatus = 0x80000029 + STATUS_REGISTRY_HIVE_RECOVERED NTStatus = 0x8000002A + STATUS_DLL_MIGHT_BE_INSECURE NTStatus = 0x8000002B + STATUS_DLL_MIGHT_BE_INCOMPATIBLE NTStatus = 0x8000002C + STATUS_STOPPED_ON_SYMLINK NTStatus = 0x8000002D + STATUS_CANNOT_GRANT_REQUESTED_OPLOCK NTStatus = 0x8000002E + STATUS_NO_ACE_CONDITION NTStatus = 0x8000002F + STATUS_DEVICE_SUPPORT_IN_PROGRESS NTStatus = 0x80000030 + STATUS_DEVICE_POWER_CYCLE_REQUIRED NTStatus = 0x80000031 + STATUS_NO_WORK_DONE NTStatus = 0x80000032 + STATUS_CLUSTER_NODE_ALREADY_UP NTStatus = 0x80130001 + STATUS_CLUSTER_NODE_ALREADY_DOWN NTStatus = 0x80130002 + STATUS_CLUSTER_NETWORK_ALREADY_ONLINE NTStatus = 0x80130003 + STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE NTStatus = 0x80130004 + STATUS_CLUSTER_NODE_ALREADY_MEMBER NTStatus = 0x80130005 + STATUS_FLT_BUFFER_TOO_SMALL NTStatus = 0x801C0001 + STATUS_FVE_PARTIAL_METADATA NTStatus = 0x80210001 + STATUS_FVE_TRANSIENT_STATE NTStatus = 0x80210002 + STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH NTStatus = 0x8000CF00 + STATUS_UNSUCCESSFUL NTStatus = 0xC0000001 + STATUS_NOT_IMPLEMENTED NTStatus = 0xC0000002 + STATUS_INVALID_INFO_CLASS NTStatus = 0xC0000003 + STATUS_INFO_LENGTH_MISMATCH NTStatus = 0xC0000004 + STATUS_ACCESS_VIOLATION NTStatus = 0xC0000005 + STATUS_IN_PAGE_ERROR NTStatus = 0xC0000006 + STATUS_PAGEFILE_QUOTA NTStatus = 0xC0000007 + STATUS_INVALID_HANDLE NTStatus = 0xC0000008 + STATUS_BAD_INITIAL_STACK NTStatus = 0xC0000009 + STATUS_BAD_INITIAL_PC NTStatus = 0xC000000A + STATUS_INVALID_CID NTStatus = 0xC000000B + STATUS_TIMER_NOT_CANCELED NTStatus = 0xC000000C + STATUS_INVALID_PARAMETER NTStatus = 0xC000000D + STATUS_NO_SUCH_DEVICE NTStatus = 0xC000000E + STATUS_NO_SUCH_FILE NTStatus = 0xC000000F + STATUS_INVALID_DEVICE_REQUEST NTStatus = 0xC0000010 + STATUS_END_OF_FILE NTStatus = 0xC0000011 + STATUS_WRONG_VOLUME NTStatus = 0xC0000012 + STATUS_NO_MEDIA_IN_DEVICE NTStatus = 0xC0000013 + STATUS_UNRECOGNIZED_MEDIA NTStatus = 0xC0000014 + STATUS_NONEXISTENT_SECTOR NTStatus = 0xC0000015 + STATUS_MORE_PROCESSING_REQUIRED NTStatus = 0xC0000016 + STATUS_NO_MEMORY NTStatus = 0xC0000017 + STATUS_CONFLICTING_ADDRESSES NTStatus = 0xC0000018 + STATUS_NOT_MAPPED_VIEW NTStatus = 0xC0000019 + STATUS_UNABLE_TO_FREE_VM NTStatus = 0xC000001A + STATUS_UNABLE_TO_DELETE_SECTION NTStatus = 0xC000001B + STATUS_INVALID_SYSTEM_SERVICE NTStatus = 0xC000001C + STATUS_ILLEGAL_INSTRUCTION NTStatus = 0xC000001D + STATUS_INVALID_LOCK_SEQUENCE NTStatus = 0xC000001E + STATUS_INVALID_VIEW_SIZE NTStatus = 0xC000001F + STATUS_INVALID_FILE_FOR_SECTION NTStatus = 0xC0000020 + STATUS_ALREADY_COMMITTED NTStatus = 0xC0000021 + STATUS_ACCESS_DENIED NTStatus = 0xC0000022 + STATUS_BUFFER_TOO_SMALL NTStatus = 0xC0000023 + STATUS_OBJECT_TYPE_MISMATCH NTStatus = 0xC0000024 + STATUS_NONCONTINUABLE_EXCEPTION NTStatus = 0xC0000025 + STATUS_INVALID_DISPOSITION NTStatus = 0xC0000026 + STATUS_UNWIND NTStatus = 0xC0000027 + STATUS_BAD_STACK NTStatus = 0xC0000028 + STATUS_INVALID_UNWIND_TARGET NTStatus = 0xC0000029 + STATUS_NOT_LOCKED NTStatus = 0xC000002A + STATUS_PARITY_ERROR NTStatus = 0xC000002B + STATUS_UNABLE_TO_DECOMMIT_VM NTStatus = 0xC000002C + STATUS_NOT_COMMITTED NTStatus = 0xC000002D + STATUS_INVALID_PORT_ATTRIBUTES NTStatus = 0xC000002E + STATUS_PORT_MESSAGE_TOO_LONG NTStatus = 0xC000002F + STATUS_INVALID_PARAMETER_MIX NTStatus = 0xC0000030 + STATUS_INVALID_QUOTA_LOWER NTStatus = 0xC0000031 + STATUS_DISK_CORRUPT_ERROR NTStatus = 0xC0000032 + STATUS_OBJECT_NAME_INVALID NTStatus = 0xC0000033 + STATUS_OBJECT_NAME_NOT_FOUND NTStatus = 0xC0000034 + STATUS_OBJECT_NAME_COLLISION NTStatus = 0xC0000035 + STATUS_PORT_DO_NOT_DISTURB NTStatus = 0xC0000036 + STATUS_PORT_DISCONNECTED NTStatus = 0xC0000037 + STATUS_DEVICE_ALREADY_ATTACHED NTStatus = 0xC0000038 + STATUS_OBJECT_PATH_INVALID NTStatus = 0xC0000039 + STATUS_OBJECT_PATH_NOT_FOUND NTStatus = 0xC000003A + STATUS_OBJECT_PATH_SYNTAX_BAD NTStatus = 0xC000003B + STATUS_DATA_OVERRUN NTStatus = 0xC000003C + STATUS_DATA_LATE_ERROR NTStatus = 0xC000003D + STATUS_DATA_ERROR NTStatus = 0xC000003E + STATUS_CRC_ERROR NTStatus = 0xC000003F + STATUS_SECTION_TOO_BIG NTStatus = 0xC0000040 + STATUS_PORT_CONNECTION_REFUSED NTStatus = 0xC0000041 + STATUS_INVALID_PORT_HANDLE NTStatus = 0xC0000042 + STATUS_SHARING_VIOLATION NTStatus = 0xC0000043 + STATUS_QUOTA_EXCEEDED NTStatus = 0xC0000044 + STATUS_INVALID_PAGE_PROTECTION NTStatus = 0xC0000045 + STATUS_MUTANT_NOT_OWNED NTStatus = 0xC0000046 + STATUS_SEMAPHORE_LIMIT_EXCEEDED NTStatus = 0xC0000047 + STATUS_PORT_ALREADY_SET NTStatus = 0xC0000048 + STATUS_SECTION_NOT_IMAGE NTStatus = 0xC0000049 + STATUS_SUSPEND_COUNT_EXCEEDED NTStatus = 0xC000004A + STATUS_THREAD_IS_TERMINATING NTStatus = 0xC000004B + STATUS_BAD_WORKING_SET_LIMIT NTStatus = 0xC000004C + STATUS_INCOMPATIBLE_FILE_MAP NTStatus = 0xC000004D + STATUS_SECTION_PROTECTION NTStatus = 0xC000004E + STATUS_EAS_NOT_SUPPORTED NTStatus = 0xC000004F + STATUS_EA_TOO_LARGE NTStatus = 0xC0000050 + STATUS_NONEXISTENT_EA_ENTRY NTStatus = 0xC0000051 + STATUS_NO_EAS_ON_FILE NTStatus = 0xC0000052 + STATUS_EA_CORRUPT_ERROR NTStatus = 0xC0000053 + STATUS_FILE_LOCK_CONFLICT NTStatus = 0xC0000054 + STATUS_LOCK_NOT_GRANTED NTStatus = 0xC0000055 + STATUS_DELETE_PENDING NTStatus = 0xC0000056 + STATUS_CTL_FILE_NOT_SUPPORTED NTStatus = 0xC0000057 + STATUS_UNKNOWN_REVISION NTStatus = 0xC0000058 + STATUS_REVISION_MISMATCH NTStatus = 0xC0000059 + STATUS_INVALID_OWNER NTStatus = 0xC000005A + STATUS_INVALID_PRIMARY_GROUP NTStatus = 0xC000005B + STATUS_NO_IMPERSONATION_TOKEN NTStatus = 0xC000005C + STATUS_CANT_DISABLE_MANDATORY NTStatus = 0xC000005D + STATUS_NO_LOGON_SERVERS NTStatus = 0xC000005E + STATUS_NO_SUCH_LOGON_SESSION NTStatus = 0xC000005F + STATUS_NO_SUCH_PRIVILEGE NTStatus = 0xC0000060 + STATUS_PRIVILEGE_NOT_HELD NTStatus = 0xC0000061 + STATUS_INVALID_ACCOUNT_NAME NTStatus = 0xC0000062 + STATUS_USER_EXISTS NTStatus = 0xC0000063 + STATUS_NO_SUCH_USER NTStatus = 0xC0000064 + STATUS_GROUP_EXISTS NTStatus = 0xC0000065 + STATUS_NO_SUCH_GROUP NTStatus = 0xC0000066 + STATUS_MEMBER_IN_GROUP NTStatus = 0xC0000067 + STATUS_MEMBER_NOT_IN_GROUP NTStatus = 0xC0000068 + STATUS_LAST_ADMIN NTStatus = 0xC0000069 + STATUS_WRONG_PASSWORD NTStatus = 0xC000006A + STATUS_ILL_FORMED_PASSWORD NTStatus = 0xC000006B + STATUS_PASSWORD_RESTRICTION NTStatus = 0xC000006C + STATUS_LOGON_FAILURE NTStatus = 0xC000006D + STATUS_ACCOUNT_RESTRICTION NTStatus = 0xC000006E + STATUS_INVALID_LOGON_HOURS NTStatus = 0xC000006F + STATUS_INVALID_WORKSTATION NTStatus = 0xC0000070 + STATUS_PASSWORD_EXPIRED NTStatus = 0xC0000071 + STATUS_ACCOUNT_DISABLED NTStatus = 0xC0000072 + STATUS_NONE_MAPPED NTStatus = 0xC0000073 + STATUS_TOO_MANY_LUIDS_REQUESTED NTStatus = 0xC0000074 + STATUS_LUIDS_EXHAUSTED NTStatus = 0xC0000075 + STATUS_INVALID_SUB_AUTHORITY NTStatus = 0xC0000076 + STATUS_INVALID_ACL NTStatus = 0xC0000077 + STATUS_INVALID_SID NTStatus = 0xC0000078 + STATUS_INVALID_SECURITY_DESCR NTStatus = 0xC0000079 + STATUS_PROCEDURE_NOT_FOUND NTStatus = 0xC000007A + STATUS_INVALID_IMAGE_FORMAT NTStatus = 0xC000007B + STATUS_NO_TOKEN NTStatus = 0xC000007C + STATUS_BAD_INHERITANCE_ACL NTStatus = 0xC000007D + STATUS_RANGE_NOT_LOCKED NTStatus = 0xC000007E + STATUS_DISK_FULL NTStatus = 0xC000007F + STATUS_SERVER_DISABLED NTStatus = 0xC0000080 + STATUS_SERVER_NOT_DISABLED NTStatus = 0xC0000081 + STATUS_TOO_MANY_GUIDS_REQUESTED NTStatus = 0xC0000082 + STATUS_GUIDS_EXHAUSTED NTStatus = 0xC0000083 + STATUS_INVALID_ID_AUTHORITY NTStatus = 0xC0000084 + STATUS_AGENTS_EXHAUSTED NTStatus = 0xC0000085 + STATUS_INVALID_VOLUME_LABEL NTStatus = 0xC0000086 + STATUS_SECTION_NOT_EXTENDED NTStatus = 0xC0000087 + STATUS_NOT_MAPPED_DATA NTStatus = 0xC0000088 + STATUS_RESOURCE_DATA_NOT_FOUND NTStatus = 0xC0000089 + STATUS_RESOURCE_TYPE_NOT_FOUND NTStatus = 0xC000008A + STATUS_RESOURCE_NAME_NOT_FOUND NTStatus = 0xC000008B + STATUS_ARRAY_BOUNDS_EXCEEDED NTStatus = 0xC000008C + STATUS_FLOAT_DENORMAL_OPERAND NTStatus = 0xC000008D + STATUS_FLOAT_DIVIDE_BY_ZERO NTStatus = 0xC000008E + STATUS_FLOAT_INEXACT_RESULT NTStatus = 0xC000008F + STATUS_FLOAT_INVALID_OPERATION NTStatus = 0xC0000090 + STATUS_FLOAT_OVERFLOW NTStatus = 0xC0000091 + STATUS_FLOAT_STACK_CHECK NTStatus = 0xC0000092 + STATUS_FLOAT_UNDERFLOW NTStatus = 0xC0000093 + STATUS_INTEGER_DIVIDE_BY_ZERO NTStatus = 0xC0000094 + STATUS_INTEGER_OVERFLOW NTStatus = 0xC0000095 + STATUS_PRIVILEGED_INSTRUCTION NTStatus = 0xC0000096 + STATUS_TOO_MANY_PAGING_FILES NTStatus = 0xC0000097 + STATUS_FILE_INVALID NTStatus = 0xC0000098 + STATUS_ALLOTTED_SPACE_EXCEEDED NTStatus = 0xC0000099 + STATUS_INSUFFICIENT_RESOURCES NTStatus = 0xC000009A + STATUS_DFS_EXIT_PATH_FOUND NTStatus = 0xC000009B + STATUS_DEVICE_DATA_ERROR NTStatus = 0xC000009C + STATUS_DEVICE_NOT_CONNECTED NTStatus = 0xC000009D + STATUS_DEVICE_POWER_FAILURE NTStatus = 0xC000009E + STATUS_FREE_VM_NOT_AT_BASE NTStatus = 0xC000009F + STATUS_MEMORY_NOT_ALLOCATED NTStatus = 0xC00000A0 + STATUS_WORKING_SET_QUOTA NTStatus = 0xC00000A1 + STATUS_MEDIA_WRITE_PROTECTED NTStatus = 0xC00000A2 + STATUS_DEVICE_NOT_READY NTStatus = 0xC00000A3 + STATUS_INVALID_GROUP_ATTRIBUTES NTStatus = 0xC00000A4 + STATUS_BAD_IMPERSONATION_LEVEL NTStatus = 0xC00000A5 + STATUS_CANT_OPEN_ANONYMOUS NTStatus = 0xC00000A6 + STATUS_BAD_VALIDATION_CLASS NTStatus = 0xC00000A7 + STATUS_BAD_TOKEN_TYPE NTStatus = 0xC00000A8 + STATUS_BAD_MASTER_BOOT_RECORD NTStatus = 0xC00000A9 + STATUS_INSTRUCTION_MISALIGNMENT NTStatus = 0xC00000AA + STATUS_INSTANCE_NOT_AVAILABLE NTStatus = 0xC00000AB + STATUS_PIPE_NOT_AVAILABLE NTStatus = 0xC00000AC + STATUS_INVALID_PIPE_STATE NTStatus = 0xC00000AD + STATUS_PIPE_BUSY NTStatus = 0xC00000AE + STATUS_ILLEGAL_FUNCTION NTStatus = 0xC00000AF + STATUS_PIPE_DISCONNECTED NTStatus = 0xC00000B0 + STATUS_PIPE_CLOSING NTStatus = 0xC00000B1 + STATUS_PIPE_CONNECTED NTStatus = 0xC00000B2 + STATUS_PIPE_LISTENING NTStatus = 0xC00000B3 + STATUS_INVALID_READ_MODE NTStatus = 0xC00000B4 + STATUS_IO_TIMEOUT NTStatus = 0xC00000B5 + STATUS_FILE_FORCED_CLOSED NTStatus = 0xC00000B6 + STATUS_PROFILING_NOT_STARTED NTStatus = 0xC00000B7 + STATUS_PROFILING_NOT_STOPPED NTStatus = 0xC00000B8 + STATUS_COULD_NOT_INTERPRET NTStatus = 0xC00000B9 + STATUS_FILE_IS_A_DIRECTORY NTStatus = 0xC00000BA + STATUS_NOT_SUPPORTED NTStatus = 0xC00000BB + STATUS_REMOTE_NOT_LISTENING NTStatus = 0xC00000BC + STATUS_DUPLICATE_NAME NTStatus = 0xC00000BD + STATUS_BAD_NETWORK_PATH NTStatus = 0xC00000BE + STATUS_NETWORK_BUSY NTStatus = 0xC00000BF + STATUS_DEVICE_DOES_NOT_EXIST NTStatus = 0xC00000C0 + STATUS_TOO_MANY_COMMANDS NTStatus = 0xC00000C1 + STATUS_ADAPTER_HARDWARE_ERROR NTStatus = 0xC00000C2 + STATUS_INVALID_NETWORK_RESPONSE NTStatus = 0xC00000C3 + STATUS_UNEXPECTED_NETWORK_ERROR NTStatus = 0xC00000C4 + STATUS_BAD_REMOTE_ADAPTER NTStatus = 0xC00000C5 + STATUS_PRINT_QUEUE_FULL NTStatus = 0xC00000C6 + STATUS_NO_SPOOL_SPACE NTStatus = 0xC00000C7 + STATUS_PRINT_CANCELLED NTStatus = 0xC00000C8 + STATUS_NETWORK_NAME_DELETED NTStatus = 0xC00000C9 + STATUS_NETWORK_ACCESS_DENIED NTStatus = 0xC00000CA + STATUS_BAD_DEVICE_TYPE NTStatus = 0xC00000CB + STATUS_BAD_NETWORK_NAME NTStatus = 0xC00000CC + STATUS_TOO_MANY_NAMES NTStatus = 0xC00000CD + STATUS_TOO_MANY_SESSIONS NTStatus = 0xC00000CE + STATUS_SHARING_PAUSED NTStatus = 0xC00000CF + STATUS_REQUEST_NOT_ACCEPTED NTStatus = 0xC00000D0 + STATUS_REDIRECTOR_PAUSED NTStatus = 0xC00000D1 + STATUS_NET_WRITE_FAULT NTStatus = 0xC00000D2 + STATUS_PROFILING_AT_LIMIT NTStatus = 0xC00000D3 + STATUS_NOT_SAME_DEVICE NTStatus = 0xC00000D4 + STATUS_FILE_RENAMED NTStatus = 0xC00000D5 + STATUS_VIRTUAL_CIRCUIT_CLOSED NTStatus = 0xC00000D6 + STATUS_NO_SECURITY_ON_OBJECT NTStatus = 0xC00000D7 + STATUS_CANT_WAIT NTStatus = 0xC00000D8 + STATUS_PIPE_EMPTY NTStatus = 0xC00000D9 + STATUS_CANT_ACCESS_DOMAIN_INFO NTStatus = 0xC00000DA + STATUS_CANT_TERMINATE_SELF NTStatus = 0xC00000DB + STATUS_INVALID_SERVER_STATE NTStatus = 0xC00000DC + STATUS_INVALID_DOMAIN_STATE NTStatus = 0xC00000DD + STATUS_INVALID_DOMAIN_ROLE NTStatus = 0xC00000DE + STATUS_NO_SUCH_DOMAIN NTStatus = 0xC00000DF + STATUS_DOMAIN_EXISTS NTStatus = 0xC00000E0 + STATUS_DOMAIN_LIMIT_EXCEEDED NTStatus = 0xC00000E1 + STATUS_OPLOCK_NOT_GRANTED NTStatus = 0xC00000E2 + STATUS_INVALID_OPLOCK_PROTOCOL NTStatus = 0xC00000E3 + STATUS_INTERNAL_DB_CORRUPTION NTStatus = 0xC00000E4 + STATUS_INTERNAL_ERROR NTStatus = 0xC00000E5 + STATUS_GENERIC_NOT_MAPPED NTStatus = 0xC00000E6 + STATUS_BAD_DESCRIPTOR_FORMAT NTStatus = 0xC00000E7 + STATUS_INVALID_USER_BUFFER NTStatus = 0xC00000E8 + STATUS_UNEXPECTED_IO_ERROR NTStatus = 0xC00000E9 + STATUS_UNEXPECTED_MM_CREATE_ERR NTStatus = 0xC00000EA + STATUS_UNEXPECTED_MM_MAP_ERROR NTStatus = 0xC00000EB + STATUS_UNEXPECTED_MM_EXTEND_ERR NTStatus = 0xC00000EC + STATUS_NOT_LOGON_PROCESS NTStatus = 0xC00000ED + STATUS_LOGON_SESSION_EXISTS NTStatus = 0xC00000EE + STATUS_INVALID_PARAMETER_1 NTStatus = 0xC00000EF + STATUS_INVALID_PARAMETER_2 NTStatus = 0xC00000F0 + STATUS_INVALID_PARAMETER_3 NTStatus = 0xC00000F1 + STATUS_INVALID_PARAMETER_4 NTStatus = 0xC00000F2 + STATUS_INVALID_PARAMETER_5 NTStatus = 0xC00000F3 + STATUS_INVALID_PARAMETER_6 NTStatus = 0xC00000F4 + STATUS_INVALID_PARAMETER_7 NTStatus = 0xC00000F5 + STATUS_INVALID_PARAMETER_8 NTStatus = 0xC00000F6 + STATUS_INVALID_PARAMETER_9 NTStatus = 0xC00000F7 + STATUS_INVALID_PARAMETER_10 NTStatus = 0xC00000F8 + STATUS_INVALID_PARAMETER_11 NTStatus = 0xC00000F9 + STATUS_INVALID_PARAMETER_12 NTStatus = 0xC00000FA + STATUS_REDIRECTOR_NOT_STARTED NTStatus = 0xC00000FB + STATUS_REDIRECTOR_STARTED NTStatus = 0xC00000FC + STATUS_STACK_OVERFLOW NTStatus = 0xC00000FD + STATUS_NO_SUCH_PACKAGE NTStatus = 0xC00000FE + STATUS_BAD_FUNCTION_TABLE NTStatus = 0xC00000FF + STATUS_VARIABLE_NOT_FOUND NTStatus = 0xC0000100 + STATUS_DIRECTORY_NOT_EMPTY NTStatus = 0xC0000101 + STATUS_FILE_CORRUPT_ERROR NTStatus = 0xC0000102 + STATUS_NOT_A_DIRECTORY NTStatus = 0xC0000103 + STATUS_BAD_LOGON_SESSION_STATE NTStatus = 0xC0000104 + STATUS_LOGON_SESSION_COLLISION NTStatus = 0xC0000105 + STATUS_NAME_TOO_LONG NTStatus = 0xC0000106 + STATUS_FILES_OPEN NTStatus = 0xC0000107 + STATUS_CONNECTION_IN_USE NTStatus = 0xC0000108 + STATUS_MESSAGE_NOT_FOUND NTStatus = 0xC0000109 + STATUS_PROCESS_IS_TERMINATING NTStatus = 0xC000010A + STATUS_INVALID_LOGON_TYPE NTStatus = 0xC000010B + STATUS_NO_GUID_TRANSLATION NTStatus = 0xC000010C + STATUS_CANNOT_IMPERSONATE NTStatus = 0xC000010D + STATUS_IMAGE_ALREADY_LOADED NTStatus = 0xC000010E + STATUS_ABIOS_NOT_PRESENT NTStatus = 0xC000010F + STATUS_ABIOS_LID_NOT_EXIST NTStatus = 0xC0000110 + STATUS_ABIOS_LID_ALREADY_OWNED NTStatus = 0xC0000111 + STATUS_ABIOS_NOT_LID_OWNER NTStatus = 0xC0000112 + STATUS_ABIOS_INVALID_COMMAND NTStatus = 0xC0000113 + STATUS_ABIOS_INVALID_LID NTStatus = 0xC0000114 + STATUS_ABIOS_SELECTOR_NOT_AVAILABLE NTStatus = 0xC0000115 + STATUS_ABIOS_INVALID_SELECTOR NTStatus = 0xC0000116 + STATUS_NO_LDT NTStatus = 0xC0000117 + STATUS_INVALID_LDT_SIZE NTStatus = 0xC0000118 + STATUS_INVALID_LDT_OFFSET NTStatus = 0xC0000119 + STATUS_INVALID_LDT_DESCRIPTOR NTStatus = 0xC000011A + STATUS_INVALID_IMAGE_NE_FORMAT NTStatus = 0xC000011B + STATUS_RXACT_INVALID_STATE NTStatus = 0xC000011C + STATUS_RXACT_COMMIT_FAILURE NTStatus = 0xC000011D + STATUS_MAPPED_FILE_SIZE_ZERO NTStatus = 0xC000011E + STATUS_TOO_MANY_OPENED_FILES NTStatus = 0xC000011F + STATUS_CANCELLED NTStatus = 0xC0000120 + STATUS_CANNOT_DELETE NTStatus = 0xC0000121 + STATUS_INVALID_COMPUTER_NAME NTStatus = 0xC0000122 + STATUS_FILE_DELETED NTStatus = 0xC0000123 + STATUS_SPECIAL_ACCOUNT NTStatus = 0xC0000124 + STATUS_SPECIAL_GROUP NTStatus = 0xC0000125 + STATUS_SPECIAL_USER NTStatus = 0xC0000126 + STATUS_MEMBERS_PRIMARY_GROUP NTStatus = 0xC0000127 + STATUS_FILE_CLOSED NTStatus = 0xC0000128 + STATUS_TOO_MANY_THREADS NTStatus = 0xC0000129 + STATUS_THREAD_NOT_IN_PROCESS NTStatus = 0xC000012A + STATUS_TOKEN_ALREADY_IN_USE NTStatus = 0xC000012B + STATUS_PAGEFILE_QUOTA_EXCEEDED NTStatus = 0xC000012C + STATUS_COMMITMENT_LIMIT NTStatus = 0xC000012D + STATUS_INVALID_IMAGE_LE_FORMAT NTStatus = 0xC000012E + STATUS_INVALID_IMAGE_NOT_MZ NTStatus = 0xC000012F + STATUS_INVALID_IMAGE_PROTECT NTStatus = 0xC0000130 + STATUS_INVALID_IMAGE_WIN_16 NTStatus = 0xC0000131 + STATUS_LOGON_SERVER_CONFLICT NTStatus = 0xC0000132 + STATUS_TIME_DIFFERENCE_AT_DC NTStatus = 0xC0000133 + STATUS_SYNCHRONIZATION_REQUIRED NTStatus = 0xC0000134 + STATUS_DLL_NOT_FOUND NTStatus = 0xC0000135 + STATUS_OPEN_FAILED NTStatus = 0xC0000136 + STATUS_IO_PRIVILEGE_FAILED NTStatus = 0xC0000137 + STATUS_ORDINAL_NOT_FOUND NTStatus = 0xC0000138 + STATUS_ENTRYPOINT_NOT_FOUND NTStatus = 0xC0000139 + STATUS_CONTROL_C_EXIT NTStatus = 0xC000013A + STATUS_LOCAL_DISCONNECT NTStatus = 0xC000013B + STATUS_REMOTE_DISCONNECT NTStatus = 0xC000013C + STATUS_REMOTE_RESOURCES NTStatus = 0xC000013D + STATUS_LINK_FAILED NTStatus = 0xC000013E + STATUS_LINK_TIMEOUT NTStatus = 0xC000013F + STATUS_INVALID_CONNECTION NTStatus = 0xC0000140 + STATUS_INVALID_ADDRESS NTStatus = 0xC0000141 + STATUS_DLL_INIT_FAILED NTStatus = 0xC0000142 + STATUS_MISSING_SYSTEMFILE NTStatus = 0xC0000143 + STATUS_UNHANDLED_EXCEPTION NTStatus = 0xC0000144 + STATUS_APP_INIT_FAILURE NTStatus = 0xC0000145 + STATUS_PAGEFILE_CREATE_FAILED NTStatus = 0xC0000146 + STATUS_NO_PAGEFILE NTStatus = 0xC0000147 + STATUS_INVALID_LEVEL NTStatus = 0xC0000148 + STATUS_WRONG_PASSWORD_CORE NTStatus = 0xC0000149 + STATUS_ILLEGAL_FLOAT_CONTEXT NTStatus = 0xC000014A + STATUS_PIPE_BROKEN NTStatus = 0xC000014B + STATUS_REGISTRY_CORRUPT NTStatus = 0xC000014C + STATUS_REGISTRY_IO_FAILED NTStatus = 0xC000014D + STATUS_NO_EVENT_PAIR NTStatus = 0xC000014E + STATUS_UNRECOGNIZED_VOLUME NTStatus = 0xC000014F + STATUS_SERIAL_NO_DEVICE_INITED NTStatus = 0xC0000150 + STATUS_NO_SUCH_ALIAS NTStatus = 0xC0000151 + STATUS_MEMBER_NOT_IN_ALIAS NTStatus = 0xC0000152 + STATUS_MEMBER_IN_ALIAS NTStatus = 0xC0000153 + STATUS_ALIAS_EXISTS NTStatus = 0xC0000154 + STATUS_LOGON_NOT_GRANTED NTStatus = 0xC0000155 + STATUS_TOO_MANY_SECRETS NTStatus = 0xC0000156 + STATUS_SECRET_TOO_LONG NTStatus = 0xC0000157 + STATUS_INTERNAL_DB_ERROR NTStatus = 0xC0000158 + STATUS_FULLSCREEN_MODE NTStatus = 0xC0000159 + STATUS_TOO_MANY_CONTEXT_IDS NTStatus = 0xC000015A + STATUS_LOGON_TYPE_NOT_GRANTED NTStatus = 0xC000015B + STATUS_NOT_REGISTRY_FILE NTStatus = 0xC000015C + STATUS_NT_CROSS_ENCRYPTION_REQUIRED NTStatus = 0xC000015D + STATUS_DOMAIN_CTRLR_CONFIG_ERROR NTStatus = 0xC000015E + STATUS_FT_MISSING_MEMBER NTStatus = 0xC000015F + STATUS_ILL_FORMED_SERVICE_ENTRY NTStatus = 0xC0000160 + STATUS_ILLEGAL_CHARACTER NTStatus = 0xC0000161 + STATUS_UNMAPPABLE_CHARACTER NTStatus = 0xC0000162 + STATUS_UNDEFINED_CHARACTER NTStatus = 0xC0000163 + STATUS_FLOPPY_VOLUME NTStatus = 0xC0000164 + STATUS_FLOPPY_ID_MARK_NOT_FOUND NTStatus = 0xC0000165 + STATUS_FLOPPY_WRONG_CYLINDER NTStatus = 0xC0000166 + STATUS_FLOPPY_UNKNOWN_ERROR NTStatus = 0xC0000167 + STATUS_FLOPPY_BAD_REGISTERS NTStatus = 0xC0000168 + STATUS_DISK_RECALIBRATE_FAILED NTStatus = 0xC0000169 + STATUS_DISK_OPERATION_FAILED NTStatus = 0xC000016A + STATUS_DISK_RESET_FAILED NTStatus = 0xC000016B + STATUS_SHARED_IRQ_BUSY NTStatus = 0xC000016C + STATUS_FT_ORPHANING NTStatus = 0xC000016D + STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT NTStatus = 0xC000016E + STATUS_PARTITION_FAILURE NTStatus = 0xC0000172 + STATUS_INVALID_BLOCK_LENGTH NTStatus = 0xC0000173 + STATUS_DEVICE_NOT_PARTITIONED NTStatus = 0xC0000174 + STATUS_UNABLE_TO_LOCK_MEDIA NTStatus = 0xC0000175 + STATUS_UNABLE_TO_UNLOAD_MEDIA NTStatus = 0xC0000176 + STATUS_EOM_OVERFLOW NTStatus = 0xC0000177 + STATUS_NO_MEDIA NTStatus = 0xC0000178 + STATUS_NO_SUCH_MEMBER NTStatus = 0xC000017A + STATUS_INVALID_MEMBER NTStatus = 0xC000017B + STATUS_KEY_DELETED NTStatus = 0xC000017C + STATUS_NO_LOG_SPACE NTStatus = 0xC000017D + STATUS_TOO_MANY_SIDS NTStatus = 0xC000017E + STATUS_LM_CROSS_ENCRYPTION_REQUIRED NTStatus = 0xC000017F + STATUS_KEY_HAS_CHILDREN NTStatus = 0xC0000180 + STATUS_CHILD_MUST_BE_VOLATILE NTStatus = 0xC0000181 + STATUS_DEVICE_CONFIGURATION_ERROR NTStatus = 0xC0000182 + STATUS_DRIVER_INTERNAL_ERROR NTStatus = 0xC0000183 + STATUS_INVALID_DEVICE_STATE NTStatus = 0xC0000184 + STATUS_IO_DEVICE_ERROR NTStatus = 0xC0000185 + STATUS_DEVICE_PROTOCOL_ERROR NTStatus = 0xC0000186 + STATUS_BACKUP_CONTROLLER NTStatus = 0xC0000187 + STATUS_LOG_FILE_FULL NTStatus = 0xC0000188 + STATUS_TOO_LATE NTStatus = 0xC0000189 + STATUS_NO_TRUST_LSA_SECRET NTStatus = 0xC000018A + STATUS_NO_TRUST_SAM_ACCOUNT NTStatus = 0xC000018B + STATUS_TRUSTED_DOMAIN_FAILURE NTStatus = 0xC000018C + STATUS_TRUSTED_RELATIONSHIP_FAILURE NTStatus = 0xC000018D + STATUS_EVENTLOG_FILE_CORRUPT NTStatus = 0xC000018E + STATUS_EVENTLOG_CANT_START NTStatus = 0xC000018F + STATUS_TRUST_FAILURE NTStatus = 0xC0000190 + STATUS_MUTANT_LIMIT_EXCEEDED NTStatus = 0xC0000191 + STATUS_NETLOGON_NOT_STARTED NTStatus = 0xC0000192 + STATUS_ACCOUNT_EXPIRED NTStatus = 0xC0000193 + STATUS_POSSIBLE_DEADLOCK NTStatus = 0xC0000194 + STATUS_NETWORK_CREDENTIAL_CONFLICT NTStatus = 0xC0000195 + STATUS_REMOTE_SESSION_LIMIT NTStatus = 0xC0000196 + STATUS_EVENTLOG_FILE_CHANGED NTStatus = 0xC0000197 + STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT NTStatus = 0xC0000198 + STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT NTStatus = 0xC0000199 + STATUS_NOLOGON_SERVER_TRUST_ACCOUNT NTStatus = 0xC000019A + STATUS_DOMAIN_TRUST_INCONSISTENT NTStatus = 0xC000019B + STATUS_FS_DRIVER_REQUIRED NTStatus = 0xC000019C + STATUS_IMAGE_ALREADY_LOADED_AS_DLL NTStatus = 0xC000019D + STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING NTStatus = 0xC000019E + STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME NTStatus = 0xC000019F + STATUS_SECURITY_STREAM_IS_INCONSISTENT NTStatus = 0xC00001A0 + STATUS_INVALID_LOCK_RANGE NTStatus = 0xC00001A1 + STATUS_INVALID_ACE_CONDITION NTStatus = 0xC00001A2 + STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT NTStatus = 0xC00001A3 + STATUS_NOTIFICATION_GUID_ALREADY_DEFINED NTStatus = 0xC00001A4 + STATUS_INVALID_EXCEPTION_HANDLER NTStatus = 0xC00001A5 + STATUS_DUPLICATE_PRIVILEGES NTStatus = 0xC00001A6 + STATUS_NOT_ALLOWED_ON_SYSTEM_FILE NTStatus = 0xC00001A7 + STATUS_REPAIR_NEEDED NTStatus = 0xC00001A8 + STATUS_QUOTA_NOT_ENABLED NTStatus = 0xC00001A9 + STATUS_NO_APPLICATION_PACKAGE NTStatus = 0xC00001AA + STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS NTStatus = 0xC00001AB + STATUS_NOT_SAME_OBJECT NTStatus = 0xC00001AC + STATUS_FATAL_MEMORY_EXHAUSTION NTStatus = 0xC00001AD + STATUS_ERROR_PROCESS_NOT_IN_JOB NTStatus = 0xC00001AE + STATUS_CPU_SET_INVALID NTStatus = 0xC00001AF + STATUS_IO_DEVICE_INVALID_DATA NTStatus = 0xC00001B0 + STATUS_IO_UNALIGNED_WRITE NTStatus = 0xC00001B1 + STATUS_NETWORK_OPEN_RESTRICTION NTStatus = 0xC0000201 + STATUS_NO_USER_SESSION_KEY NTStatus = 0xC0000202 + STATUS_USER_SESSION_DELETED NTStatus = 0xC0000203 + STATUS_RESOURCE_LANG_NOT_FOUND NTStatus = 0xC0000204 + STATUS_INSUFF_SERVER_RESOURCES NTStatus = 0xC0000205 + STATUS_INVALID_BUFFER_SIZE NTStatus = 0xC0000206 + STATUS_INVALID_ADDRESS_COMPONENT NTStatus = 0xC0000207 + STATUS_INVALID_ADDRESS_WILDCARD NTStatus = 0xC0000208 + STATUS_TOO_MANY_ADDRESSES NTStatus = 0xC0000209 + STATUS_ADDRESS_ALREADY_EXISTS NTStatus = 0xC000020A + STATUS_ADDRESS_CLOSED NTStatus = 0xC000020B + STATUS_CONNECTION_DISCONNECTED NTStatus = 0xC000020C + STATUS_CONNECTION_RESET NTStatus = 0xC000020D + STATUS_TOO_MANY_NODES NTStatus = 0xC000020E + STATUS_TRANSACTION_ABORTED NTStatus = 0xC000020F + STATUS_TRANSACTION_TIMED_OUT NTStatus = 0xC0000210 + STATUS_TRANSACTION_NO_RELEASE NTStatus = 0xC0000211 + STATUS_TRANSACTION_NO_MATCH NTStatus = 0xC0000212 + STATUS_TRANSACTION_RESPONDED NTStatus = 0xC0000213 + STATUS_TRANSACTION_INVALID_ID NTStatus = 0xC0000214 + STATUS_TRANSACTION_INVALID_TYPE NTStatus = 0xC0000215 + STATUS_NOT_SERVER_SESSION NTStatus = 0xC0000216 + STATUS_NOT_CLIENT_SESSION NTStatus = 0xC0000217 + STATUS_CANNOT_LOAD_REGISTRY_FILE NTStatus = 0xC0000218 + STATUS_DEBUG_ATTACH_FAILED NTStatus = 0xC0000219 + STATUS_SYSTEM_PROCESS_TERMINATED NTStatus = 0xC000021A + STATUS_DATA_NOT_ACCEPTED NTStatus = 0xC000021B + STATUS_NO_BROWSER_SERVERS_FOUND NTStatus = 0xC000021C + STATUS_VDM_HARD_ERROR NTStatus = 0xC000021D + STATUS_DRIVER_CANCEL_TIMEOUT NTStatus = 0xC000021E + STATUS_REPLY_MESSAGE_MISMATCH NTStatus = 0xC000021F + STATUS_MAPPED_ALIGNMENT NTStatus = 0xC0000220 + STATUS_IMAGE_CHECKSUM_MISMATCH NTStatus = 0xC0000221 + STATUS_LOST_WRITEBEHIND_DATA NTStatus = 0xC0000222 + STATUS_CLIENT_SERVER_PARAMETERS_INVALID NTStatus = 0xC0000223 + STATUS_PASSWORD_MUST_CHANGE NTStatus = 0xC0000224 + STATUS_NOT_FOUND NTStatus = 0xC0000225 + STATUS_NOT_TINY_STREAM NTStatus = 0xC0000226 + STATUS_RECOVERY_FAILURE NTStatus = 0xC0000227 + STATUS_STACK_OVERFLOW_READ NTStatus = 0xC0000228 + STATUS_FAIL_CHECK NTStatus = 0xC0000229 + STATUS_DUPLICATE_OBJECTID NTStatus = 0xC000022A + STATUS_OBJECTID_EXISTS NTStatus = 0xC000022B + STATUS_CONVERT_TO_LARGE NTStatus = 0xC000022C + STATUS_RETRY NTStatus = 0xC000022D + STATUS_FOUND_OUT_OF_SCOPE NTStatus = 0xC000022E + STATUS_ALLOCATE_BUCKET NTStatus = 0xC000022F + STATUS_PROPSET_NOT_FOUND NTStatus = 0xC0000230 + STATUS_MARSHALL_OVERFLOW NTStatus = 0xC0000231 + STATUS_INVALID_VARIANT NTStatus = 0xC0000232 + STATUS_DOMAIN_CONTROLLER_NOT_FOUND NTStatus = 0xC0000233 + STATUS_ACCOUNT_LOCKED_OUT NTStatus = 0xC0000234 + STATUS_HANDLE_NOT_CLOSABLE NTStatus = 0xC0000235 + STATUS_CONNECTION_REFUSED NTStatus = 0xC0000236 + STATUS_GRACEFUL_DISCONNECT NTStatus = 0xC0000237 + STATUS_ADDRESS_ALREADY_ASSOCIATED NTStatus = 0xC0000238 + STATUS_ADDRESS_NOT_ASSOCIATED NTStatus = 0xC0000239 + STATUS_CONNECTION_INVALID NTStatus = 0xC000023A + STATUS_CONNECTION_ACTIVE NTStatus = 0xC000023B + STATUS_NETWORK_UNREACHABLE NTStatus = 0xC000023C + STATUS_HOST_UNREACHABLE NTStatus = 0xC000023D + STATUS_PROTOCOL_UNREACHABLE NTStatus = 0xC000023E + STATUS_PORT_UNREACHABLE NTStatus = 0xC000023F + STATUS_REQUEST_ABORTED NTStatus = 0xC0000240 + STATUS_CONNECTION_ABORTED NTStatus = 0xC0000241 + STATUS_BAD_COMPRESSION_BUFFER NTStatus = 0xC0000242 + STATUS_USER_MAPPED_FILE NTStatus = 0xC0000243 + STATUS_AUDIT_FAILED NTStatus = 0xC0000244 + STATUS_TIMER_RESOLUTION_NOT_SET NTStatus = 0xC0000245 + STATUS_CONNECTION_COUNT_LIMIT NTStatus = 0xC0000246 + STATUS_LOGIN_TIME_RESTRICTION NTStatus = 0xC0000247 + STATUS_LOGIN_WKSTA_RESTRICTION NTStatus = 0xC0000248 + STATUS_IMAGE_MP_UP_MISMATCH NTStatus = 0xC0000249 + STATUS_INSUFFICIENT_LOGON_INFO NTStatus = 0xC0000250 + STATUS_BAD_DLL_ENTRYPOINT NTStatus = 0xC0000251 + STATUS_BAD_SERVICE_ENTRYPOINT NTStatus = 0xC0000252 + STATUS_LPC_REPLY_LOST NTStatus = 0xC0000253 + STATUS_IP_ADDRESS_CONFLICT1 NTStatus = 0xC0000254 + STATUS_IP_ADDRESS_CONFLICT2 NTStatus = 0xC0000255 + STATUS_REGISTRY_QUOTA_LIMIT NTStatus = 0xC0000256 + STATUS_PATH_NOT_COVERED NTStatus = 0xC0000257 + STATUS_NO_CALLBACK_ACTIVE NTStatus = 0xC0000258 + STATUS_LICENSE_QUOTA_EXCEEDED NTStatus = 0xC0000259 + STATUS_PWD_TOO_SHORT NTStatus = 0xC000025A + STATUS_PWD_TOO_RECENT NTStatus = 0xC000025B + STATUS_PWD_HISTORY_CONFLICT NTStatus = 0xC000025C + STATUS_PLUGPLAY_NO_DEVICE NTStatus = 0xC000025E + STATUS_UNSUPPORTED_COMPRESSION NTStatus = 0xC000025F + STATUS_INVALID_HW_PROFILE NTStatus = 0xC0000260 + STATUS_INVALID_PLUGPLAY_DEVICE_PATH NTStatus = 0xC0000261 + STATUS_DRIVER_ORDINAL_NOT_FOUND NTStatus = 0xC0000262 + STATUS_DRIVER_ENTRYPOINT_NOT_FOUND NTStatus = 0xC0000263 + STATUS_RESOURCE_NOT_OWNED NTStatus = 0xC0000264 + STATUS_TOO_MANY_LINKS NTStatus = 0xC0000265 + STATUS_QUOTA_LIST_INCONSISTENT NTStatus = 0xC0000266 + STATUS_FILE_IS_OFFLINE NTStatus = 0xC0000267 + STATUS_EVALUATION_EXPIRATION NTStatus = 0xC0000268 + STATUS_ILLEGAL_DLL_RELOCATION NTStatus = 0xC0000269 + STATUS_LICENSE_VIOLATION NTStatus = 0xC000026A + STATUS_DLL_INIT_FAILED_LOGOFF NTStatus = 0xC000026B + STATUS_DRIVER_UNABLE_TO_LOAD NTStatus = 0xC000026C + STATUS_DFS_UNAVAILABLE NTStatus = 0xC000026D + STATUS_VOLUME_DISMOUNTED NTStatus = 0xC000026E + STATUS_WX86_INTERNAL_ERROR NTStatus = 0xC000026F + STATUS_WX86_FLOAT_STACK_CHECK NTStatus = 0xC0000270 + STATUS_VALIDATE_CONTINUE NTStatus = 0xC0000271 + STATUS_NO_MATCH NTStatus = 0xC0000272 + STATUS_NO_MORE_MATCHES NTStatus = 0xC0000273 + STATUS_NOT_A_REPARSE_POINT NTStatus = 0xC0000275 + STATUS_IO_REPARSE_TAG_INVALID NTStatus = 0xC0000276 + STATUS_IO_REPARSE_TAG_MISMATCH NTStatus = 0xC0000277 + STATUS_IO_REPARSE_DATA_INVALID NTStatus = 0xC0000278 + STATUS_IO_REPARSE_TAG_NOT_HANDLED NTStatus = 0xC0000279 + STATUS_PWD_TOO_LONG NTStatus = 0xC000027A + STATUS_STOWED_EXCEPTION NTStatus = 0xC000027B + STATUS_CONTEXT_STOWED_EXCEPTION NTStatus = 0xC000027C + STATUS_REPARSE_POINT_NOT_RESOLVED NTStatus = 0xC0000280 + STATUS_DIRECTORY_IS_A_REPARSE_POINT NTStatus = 0xC0000281 + STATUS_RANGE_LIST_CONFLICT NTStatus = 0xC0000282 + STATUS_SOURCE_ELEMENT_EMPTY NTStatus = 0xC0000283 + STATUS_DESTINATION_ELEMENT_FULL NTStatus = 0xC0000284 + STATUS_ILLEGAL_ELEMENT_ADDRESS NTStatus = 0xC0000285 + STATUS_MAGAZINE_NOT_PRESENT NTStatus = 0xC0000286 + STATUS_REINITIALIZATION_NEEDED NTStatus = 0xC0000287 + STATUS_DEVICE_REQUIRES_CLEANING NTStatus = 0x80000288 + STATUS_DEVICE_DOOR_OPEN NTStatus = 0x80000289 + STATUS_ENCRYPTION_FAILED NTStatus = 0xC000028A + STATUS_DECRYPTION_FAILED NTStatus = 0xC000028B + STATUS_RANGE_NOT_FOUND NTStatus = 0xC000028C + STATUS_NO_RECOVERY_POLICY NTStatus = 0xC000028D + STATUS_NO_EFS NTStatus = 0xC000028E + STATUS_WRONG_EFS NTStatus = 0xC000028F + STATUS_NO_USER_KEYS NTStatus = 0xC0000290 + STATUS_FILE_NOT_ENCRYPTED NTStatus = 0xC0000291 + STATUS_NOT_EXPORT_FORMAT NTStatus = 0xC0000292 + STATUS_FILE_ENCRYPTED NTStatus = 0xC0000293 + STATUS_WAKE_SYSTEM NTStatus = 0x40000294 + STATUS_WMI_GUID_NOT_FOUND NTStatus = 0xC0000295 + STATUS_WMI_INSTANCE_NOT_FOUND NTStatus = 0xC0000296 + STATUS_WMI_ITEMID_NOT_FOUND NTStatus = 0xC0000297 + STATUS_WMI_TRY_AGAIN NTStatus = 0xC0000298 + STATUS_SHARED_POLICY NTStatus = 0xC0000299 + STATUS_POLICY_OBJECT_NOT_FOUND NTStatus = 0xC000029A + STATUS_POLICY_ONLY_IN_DS NTStatus = 0xC000029B + STATUS_VOLUME_NOT_UPGRADED NTStatus = 0xC000029C + STATUS_REMOTE_STORAGE_NOT_ACTIVE NTStatus = 0xC000029D + STATUS_REMOTE_STORAGE_MEDIA_ERROR NTStatus = 0xC000029E + STATUS_NO_TRACKING_SERVICE NTStatus = 0xC000029F + STATUS_SERVER_SID_MISMATCH NTStatus = 0xC00002A0 + STATUS_DS_NO_ATTRIBUTE_OR_VALUE NTStatus = 0xC00002A1 + STATUS_DS_INVALID_ATTRIBUTE_SYNTAX NTStatus = 0xC00002A2 + STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED NTStatus = 0xC00002A3 + STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS NTStatus = 0xC00002A4 + STATUS_DS_BUSY NTStatus = 0xC00002A5 + STATUS_DS_UNAVAILABLE NTStatus = 0xC00002A6 + STATUS_DS_NO_RIDS_ALLOCATED NTStatus = 0xC00002A7 + STATUS_DS_NO_MORE_RIDS NTStatus = 0xC00002A8 + STATUS_DS_INCORRECT_ROLE_OWNER NTStatus = 0xC00002A9 + STATUS_DS_RIDMGR_INIT_ERROR NTStatus = 0xC00002AA + STATUS_DS_OBJ_CLASS_VIOLATION NTStatus = 0xC00002AB + STATUS_DS_CANT_ON_NON_LEAF NTStatus = 0xC00002AC + STATUS_DS_CANT_ON_RDN NTStatus = 0xC00002AD + STATUS_DS_CANT_MOD_OBJ_CLASS NTStatus = 0xC00002AE + STATUS_DS_CROSS_DOM_MOVE_FAILED NTStatus = 0xC00002AF + STATUS_DS_GC_NOT_AVAILABLE NTStatus = 0xC00002B0 + STATUS_DIRECTORY_SERVICE_REQUIRED NTStatus = 0xC00002B1 + STATUS_REPARSE_ATTRIBUTE_CONFLICT NTStatus = 0xC00002B2 + STATUS_CANT_ENABLE_DENY_ONLY NTStatus = 0xC00002B3 + STATUS_FLOAT_MULTIPLE_FAULTS NTStatus = 0xC00002B4 + STATUS_FLOAT_MULTIPLE_TRAPS NTStatus = 0xC00002B5 + STATUS_DEVICE_REMOVED NTStatus = 0xC00002B6 + STATUS_JOURNAL_DELETE_IN_PROGRESS NTStatus = 0xC00002B7 + STATUS_JOURNAL_NOT_ACTIVE NTStatus = 0xC00002B8 + STATUS_NOINTERFACE NTStatus = 0xC00002B9 + STATUS_DS_RIDMGR_DISABLED NTStatus = 0xC00002BA + STATUS_DS_ADMIN_LIMIT_EXCEEDED NTStatus = 0xC00002C1 + STATUS_DRIVER_FAILED_SLEEP NTStatus = 0xC00002C2 + STATUS_MUTUAL_AUTHENTICATION_FAILED NTStatus = 0xC00002C3 + STATUS_CORRUPT_SYSTEM_FILE NTStatus = 0xC00002C4 + STATUS_DATATYPE_MISALIGNMENT_ERROR NTStatus = 0xC00002C5 + STATUS_WMI_READ_ONLY NTStatus = 0xC00002C6 + STATUS_WMI_SET_FAILURE NTStatus = 0xC00002C7 + STATUS_COMMITMENT_MINIMUM NTStatus = 0xC00002C8 + STATUS_REG_NAT_CONSUMPTION NTStatus = 0xC00002C9 + STATUS_TRANSPORT_FULL NTStatus = 0xC00002CA + STATUS_DS_SAM_INIT_FAILURE NTStatus = 0xC00002CB + STATUS_ONLY_IF_CONNECTED NTStatus = 0xC00002CC + STATUS_DS_SENSITIVE_GROUP_VIOLATION NTStatus = 0xC00002CD + STATUS_PNP_RESTART_ENUMERATION NTStatus = 0xC00002CE + STATUS_JOURNAL_ENTRY_DELETED NTStatus = 0xC00002CF + STATUS_DS_CANT_MOD_PRIMARYGROUPID NTStatus = 0xC00002D0 + STATUS_SYSTEM_IMAGE_BAD_SIGNATURE NTStatus = 0xC00002D1 + STATUS_PNP_REBOOT_REQUIRED NTStatus = 0xC00002D2 + STATUS_POWER_STATE_INVALID NTStatus = 0xC00002D3 + STATUS_DS_INVALID_GROUP_TYPE NTStatus = 0xC00002D4 + STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN NTStatus = 0xC00002D5 + STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN NTStatus = 0xC00002D6 + STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER NTStatus = 0xC00002D7 + STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER NTStatus = 0xC00002D8 + STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER NTStatus = 0xC00002D9 + STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER NTStatus = 0xC00002DA + STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER NTStatus = 0xC00002DB + STATUS_DS_HAVE_PRIMARY_MEMBERS NTStatus = 0xC00002DC + STATUS_WMI_NOT_SUPPORTED NTStatus = 0xC00002DD + STATUS_INSUFFICIENT_POWER NTStatus = 0xC00002DE + STATUS_SAM_NEED_BOOTKEY_PASSWORD NTStatus = 0xC00002DF + STATUS_SAM_NEED_BOOTKEY_FLOPPY NTStatus = 0xC00002E0 + STATUS_DS_CANT_START NTStatus = 0xC00002E1 + STATUS_DS_INIT_FAILURE NTStatus = 0xC00002E2 + STATUS_SAM_INIT_FAILURE NTStatus = 0xC00002E3 + STATUS_DS_GC_REQUIRED NTStatus = 0xC00002E4 + STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY NTStatus = 0xC00002E5 + STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS NTStatus = 0xC00002E6 + STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED NTStatus = 0xC00002E7 + STATUS_MULTIPLE_FAULT_VIOLATION NTStatus = 0xC00002E8 + STATUS_CURRENT_DOMAIN_NOT_ALLOWED NTStatus = 0xC00002E9 + STATUS_CANNOT_MAKE NTStatus = 0xC00002EA + STATUS_SYSTEM_SHUTDOWN NTStatus = 0xC00002EB + STATUS_DS_INIT_FAILURE_CONSOLE NTStatus = 0xC00002EC + STATUS_DS_SAM_INIT_FAILURE_CONSOLE NTStatus = 0xC00002ED + STATUS_UNFINISHED_CONTEXT_DELETED NTStatus = 0xC00002EE + STATUS_NO_TGT_REPLY NTStatus = 0xC00002EF + STATUS_OBJECTID_NOT_FOUND NTStatus = 0xC00002F0 + STATUS_NO_IP_ADDRESSES NTStatus = 0xC00002F1 + STATUS_WRONG_CREDENTIAL_HANDLE NTStatus = 0xC00002F2 + STATUS_CRYPTO_SYSTEM_INVALID NTStatus = 0xC00002F3 + STATUS_MAX_REFERRALS_EXCEEDED NTStatus = 0xC00002F4 + STATUS_MUST_BE_KDC NTStatus = 0xC00002F5 + STATUS_STRONG_CRYPTO_NOT_SUPPORTED NTStatus = 0xC00002F6 + STATUS_TOO_MANY_PRINCIPALS NTStatus = 0xC00002F7 + STATUS_NO_PA_DATA NTStatus = 0xC00002F8 + STATUS_PKINIT_NAME_MISMATCH NTStatus = 0xC00002F9 + STATUS_SMARTCARD_LOGON_REQUIRED NTStatus = 0xC00002FA + STATUS_KDC_INVALID_REQUEST NTStatus = 0xC00002FB + STATUS_KDC_UNABLE_TO_REFER NTStatus = 0xC00002FC + STATUS_KDC_UNKNOWN_ETYPE NTStatus = 0xC00002FD + STATUS_SHUTDOWN_IN_PROGRESS NTStatus = 0xC00002FE + STATUS_SERVER_SHUTDOWN_IN_PROGRESS NTStatus = 0xC00002FF + STATUS_NOT_SUPPORTED_ON_SBS NTStatus = 0xC0000300 + STATUS_WMI_GUID_DISCONNECTED NTStatus = 0xC0000301 + STATUS_WMI_ALREADY_DISABLED NTStatus = 0xC0000302 + STATUS_WMI_ALREADY_ENABLED NTStatus = 0xC0000303 + STATUS_MFT_TOO_FRAGMENTED NTStatus = 0xC0000304 + STATUS_COPY_PROTECTION_FAILURE NTStatus = 0xC0000305 + STATUS_CSS_AUTHENTICATION_FAILURE NTStatus = 0xC0000306 + STATUS_CSS_KEY_NOT_PRESENT NTStatus = 0xC0000307 + STATUS_CSS_KEY_NOT_ESTABLISHED NTStatus = 0xC0000308 + STATUS_CSS_SCRAMBLED_SECTOR NTStatus = 0xC0000309 + STATUS_CSS_REGION_MISMATCH NTStatus = 0xC000030A + STATUS_CSS_RESETS_EXHAUSTED NTStatus = 0xC000030B + STATUS_PASSWORD_CHANGE_REQUIRED NTStatus = 0xC000030C + STATUS_LOST_MODE_LOGON_RESTRICTION NTStatus = 0xC000030D + STATUS_PKINIT_FAILURE NTStatus = 0xC0000320 + STATUS_SMARTCARD_SUBSYSTEM_FAILURE NTStatus = 0xC0000321 + STATUS_NO_KERB_KEY NTStatus = 0xC0000322 + STATUS_HOST_DOWN NTStatus = 0xC0000350 + STATUS_UNSUPPORTED_PREAUTH NTStatus = 0xC0000351 + STATUS_EFS_ALG_BLOB_TOO_BIG NTStatus = 0xC0000352 + STATUS_PORT_NOT_SET NTStatus = 0xC0000353 + STATUS_DEBUGGER_INACTIVE NTStatus = 0xC0000354 + STATUS_DS_VERSION_CHECK_FAILURE NTStatus = 0xC0000355 + STATUS_AUDITING_DISABLED NTStatus = 0xC0000356 + STATUS_PRENT4_MACHINE_ACCOUNT NTStatus = 0xC0000357 + STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER NTStatus = 0xC0000358 + STATUS_INVALID_IMAGE_WIN_32 NTStatus = 0xC0000359 + STATUS_INVALID_IMAGE_WIN_64 NTStatus = 0xC000035A + STATUS_BAD_BINDINGS NTStatus = 0xC000035B + STATUS_NETWORK_SESSION_EXPIRED NTStatus = 0xC000035C + STATUS_APPHELP_BLOCK NTStatus = 0xC000035D + STATUS_ALL_SIDS_FILTERED NTStatus = 0xC000035E + STATUS_NOT_SAFE_MODE_DRIVER NTStatus = 0xC000035F + STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT NTStatus = 0xC0000361 + STATUS_ACCESS_DISABLED_BY_POLICY_PATH NTStatus = 0xC0000362 + STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER NTStatus = 0xC0000363 + STATUS_ACCESS_DISABLED_BY_POLICY_OTHER NTStatus = 0xC0000364 + STATUS_FAILED_DRIVER_ENTRY NTStatus = 0xC0000365 + STATUS_DEVICE_ENUMERATION_ERROR NTStatus = 0xC0000366 + STATUS_MOUNT_POINT_NOT_RESOLVED NTStatus = 0xC0000368 + STATUS_INVALID_DEVICE_OBJECT_PARAMETER NTStatus = 0xC0000369 + STATUS_MCA_OCCURED NTStatus = 0xC000036A + STATUS_DRIVER_BLOCKED_CRITICAL NTStatus = 0xC000036B + STATUS_DRIVER_BLOCKED NTStatus = 0xC000036C + STATUS_DRIVER_DATABASE_ERROR NTStatus = 0xC000036D + STATUS_SYSTEM_HIVE_TOO_LARGE NTStatus = 0xC000036E + STATUS_INVALID_IMPORT_OF_NON_DLL NTStatus = 0xC000036F + STATUS_DS_SHUTTING_DOWN NTStatus = 0x40000370 + STATUS_NO_SECRETS NTStatus = 0xC0000371 + STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY NTStatus = 0xC0000372 + STATUS_FAILED_STACK_SWITCH NTStatus = 0xC0000373 + STATUS_HEAP_CORRUPTION NTStatus = 0xC0000374 + STATUS_SMARTCARD_WRONG_PIN NTStatus = 0xC0000380 + STATUS_SMARTCARD_CARD_BLOCKED NTStatus = 0xC0000381 + STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED NTStatus = 0xC0000382 + STATUS_SMARTCARD_NO_CARD NTStatus = 0xC0000383 + STATUS_SMARTCARD_NO_KEY_CONTAINER NTStatus = 0xC0000384 + STATUS_SMARTCARD_NO_CERTIFICATE NTStatus = 0xC0000385 + STATUS_SMARTCARD_NO_KEYSET NTStatus = 0xC0000386 + STATUS_SMARTCARD_IO_ERROR NTStatus = 0xC0000387 + STATUS_DOWNGRADE_DETECTED NTStatus = 0xC0000388 + STATUS_SMARTCARD_CERT_REVOKED NTStatus = 0xC0000389 + STATUS_ISSUING_CA_UNTRUSTED NTStatus = 0xC000038A + STATUS_REVOCATION_OFFLINE_C NTStatus = 0xC000038B + STATUS_PKINIT_CLIENT_FAILURE NTStatus = 0xC000038C + STATUS_SMARTCARD_CERT_EXPIRED NTStatus = 0xC000038D + STATUS_DRIVER_FAILED_PRIOR_UNLOAD NTStatus = 0xC000038E + STATUS_SMARTCARD_SILENT_CONTEXT NTStatus = 0xC000038F + STATUS_PER_USER_TRUST_QUOTA_EXCEEDED NTStatus = 0xC0000401 + STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED NTStatus = 0xC0000402 + STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED NTStatus = 0xC0000403 + STATUS_DS_NAME_NOT_UNIQUE NTStatus = 0xC0000404 + STATUS_DS_DUPLICATE_ID_FOUND NTStatus = 0xC0000405 + STATUS_DS_GROUP_CONVERSION_ERROR NTStatus = 0xC0000406 + STATUS_VOLSNAP_PREPARE_HIBERNATE NTStatus = 0xC0000407 + STATUS_USER2USER_REQUIRED NTStatus = 0xC0000408 + STATUS_STACK_BUFFER_OVERRUN NTStatus = 0xC0000409 + STATUS_NO_S4U_PROT_SUPPORT NTStatus = 0xC000040A + STATUS_CROSSREALM_DELEGATION_FAILURE NTStatus = 0xC000040B + STATUS_REVOCATION_OFFLINE_KDC NTStatus = 0xC000040C + STATUS_ISSUING_CA_UNTRUSTED_KDC NTStatus = 0xC000040D + STATUS_KDC_CERT_EXPIRED NTStatus = 0xC000040E + STATUS_KDC_CERT_REVOKED NTStatus = 0xC000040F + STATUS_PARAMETER_QUOTA_EXCEEDED NTStatus = 0xC0000410 + STATUS_HIBERNATION_FAILURE NTStatus = 0xC0000411 + STATUS_DELAY_LOAD_FAILED NTStatus = 0xC0000412 + STATUS_AUTHENTICATION_FIREWALL_FAILED NTStatus = 0xC0000413 + STATUS_VDM_DISALLOWED NTStatus = 0xC0000414 + STATUS_HUNG_DISPLAY_DRIVER_THREAD NTStatus = 0xC0000415 + STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE NTStatus = 0xC0000416 + STATUS_INVALID_CRUNTIME_PARAMETER NTStatus = 0xC0000417 + STATUS_NTLM_BLOCKED NTStatus = 0xC0000418 + STATUS_DS_SRC_SID_EXISTS_IN_FOREST NTStatus = 0xC0000419 + STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST NTStatus = 0xC000041A + STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST NTStatus = 0xC000041B + STATUS_INVALID_USER_PRINCIPAL_NAME NTStatus = 0xC000041C + STATUS_FATAL_USER_CALLBACK_EXCEPTION NTStatus = 0xC000041D + STATUS_ASSERTION_FAILURE NTStatus = 0xC0000420 + STATUS_VERIFIER_STOP NTStatus = 0xC0000421 + STATUS_CALLBACK_POP_STACK NTStatus = 0xC0000423 + STATUS_INCOMPATIBLE_DRIVER_BLOCKED NTStatus = 0xC0000424 + STATUS_HIVE_UNLOADED NTStatus = 0xC0000425 + STATUS_COMPRESSION_DISABLED NTStatus = 0xC0000426 + STATUS_FILE_SYSTEM_LIMITATION NTStatus = 0xC0000427 + STATUS_INVALID_IMAGE_HASH NTStatus = 0xC0000428 + STATUS_NOT_CAPABLE NTStatus = 0xC0000429 + STATUS_REQUEST_OUT_OF_SEQUENCE NTStatus = 0xC000042A + STATUS_IMPLEMENTATION_LIMIT NTStatus = 0xC000042B + STATUS_ELEVATION_REQUIRED NTStatus = 0xC000042C + STATUS_NO_SECURITY_CONTEXT NTStatus = 0xC000042D + STATUS_PKU2U_CERT_FAILURE NTStatus = 0xC000042F + STATUS_BEYOND_VDL NTStatus = 0xC0000432 + STATUS_ENCOUNTERED_WRITE_IN_PROGRESS NTStatus = 0xC0000433 + STATUS_PTE_CHANGED NTStatus = 0xC0000434 + STATUS_PURGE_FAILED NTStatus = 0xC0000435 + STATUS_CRED_REQUIRES_CONFIRMATION NTStatus = 0xC0000440 + STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE NTStatus = 0xC0000441 + STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER NTStatus = 0xC0000442 + STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE NTStatus = 0xC0000443 + STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE NTStatus = 0xC0000444 + STATUS_CS_ENCRYPTION_FILE_NOT_CSE NTStatus = 0xC0000445 + STATUS_INVALID_LABEL NTStatus = 0xC0000446 + STATUS_DRIVER_PROCESS_TERMINATED NTStatus = 0xC0000450 + STATUS_AMBIGUOUS_SYSTEM_DEVICE NTStatus = 0xC0000451 + STATUS_SYSTEM_DEVICE_NOT_FOUND NTStatus = 0xC0000452 + STATUS_RESTART_BOOT_APPLICATION NTStatus = 0xC0000453 + STATUS_INSUFFICIENT_NVRAM_RESOURCES NTStatus = 0xC0000454 + STATUS_INVALID_SESSION NTStatus = 0xC0000455 + STATUS_THREAD_ALREADY_IN_SESSION NTStatus = 0xC0000456 + STATUS_THREAD_NOT_IN_SESSION NTStatus = 0xC0000457 + STATUS_INVALID_WEIGHT NTStatus = 0xC0000458 + STATUS_REQUEST_PAUSED NTStatus = 0xC0000459 + STATUS_NO_RANGES_PROCESSED NTStatus = 0xC0000460 + STATUS_DISK_RESOURCES_EXHAUSTED NTStatus = 0xC0000461 + STATUS_NEEDS_REMEDIATION NTStatus = 0xC0000462 + STATUS_DEVICE_FEATURE_NOT_SUPPORTED NTStatus = 0xC0000463 + STATUS_DEVICE_UNREACHABLE NTStatus = 0xC0000464 + STATUS_INVALID_TOKEN NTStatus = 0xC0000465 + STATUS_SERVER_UNAVAILABLE NTStatus = 0xC0000466 + STATUS_FILE_NOT_AVAILABLE NTStatus = 0xC0000467 + STATUS_DEVICE_INSUFFICIENT_RESOURCES NTStatus = 0xC0000468 + STATUS_PACKAGE_UPDATING NTStatus = 0xC0000469 + STATUS_NOT_READ_FROM_COPY NTStatus = 0xC000046A + STATUS_FT_WRITE_FAILURE NTStatus = 0xC000046B + STATUS_FT_DI_SCAN_REQUIRED NTStatus = 0xC000046C + STATUS_OBJECT_NOT_EXTERNALLY_BACKED NTStatus = 0xC000046D + STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN NTStatus = 0xC000046E + STATUS_COMPRESSION_NOT_BENEFICIAL NTStatus = 0xC000046F + STATUS_DATA_CHECKSUM_ERROR NTStatus = 0xC0000470 + STATUS_INTERMIXED_KERNEL_EA_OPERATION NTStatus = 0xC0000471 + STATUS_TRIM_READ_ZERO_NOT_SUPPORTED NTStatus = 0xC0000472 + STATUS_TOO_MANY_SEGMENT_DESCRIPTORS NTStatus = 0xC0000473 + STATUS_INVALID_OFFSET_ALIGNMENT NTStatus = 0xC0000474 + STATUS_INVALID_FIELD_IN_PARAMETER_LIST NTStatus = 0xC0000475 + STATUS_OPERATION_IN_PROGRESS NTStatus = 0xC0000476 + STATUS_INVALID_INITIATOR_TARGET_PATH NTStatus = 0xC0000477 + STATUS_SCRUB_DATA_DISABLED NTStatus = 0xC0000478 + STATUS_NOT_REDUNDANT_STORAGE NTStatus = 0xC0000479 + STATUS_RESIDENT_FILE_NOT_SUPPORTED NTStatus = 0xC000047A + STATUS_COMPRESSED_FILE_NOT_SUPPORTED NTStatus = 0xC000047B + STATUS_DIRECTORY_NOT_SUPPORTED NTStatus = 0xC000047C + STATUS_IO_OPERATION_TIMEOUT NTStatus = 0xC000047D + STATUS_SYSTEM_NEEDS_REMEDIATION NTStatus = 0xC000047E + STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN NTStatus = 0xC000047F + STATUS_SHARE_UNAVAILABLE NTStatus = 0xC0000480 + STATUS_APISET_NOT_HOSTED NTStatus = 0xC0000481 + STATUS_APISET_NOT_PRESENT NTStatus = 0xC0000482 + STATUS_DEVICE_HARDWARE_ERROR NTStatus = 0xC0000483 + STATUS_FIRMWARE_SLOT_INVALID NTStatus = 0xC0000484 + STATUS_FIRMWARE_IMAGE_INVALID NTStatus = 0xC0000485 + STATUS_STORAGE_TOPOLOGY_ID_MISMATCH NTStatus = 0xC0000486 + STATUS_WIM_NOT_BOOTABLE NTStatus = 0xC0000487 + STATUS_BLOCKED_BY_PARENTAL_CONTROLS NTStatus = 0xC0000488 + STATUS_NEEDS_REGISTRATION NTStatus = 0xC0000489 + STATUS_QUOTA_ACTIVITY NTStatus = 0xC000048A + STATUS_CALLBACK_INVOKE_INLINE NTStatus = 0xC000048B + STATUS_BLOCK_TOO_MANY_REFERENCES NTStatus = 0xC000048C + STATUS_MARKED_TO_DISALLOW_WRITES NTStatus = 0xC000048D + STATUS_NETWORK_ACCESS_DENIED_EDP NTStatus = 0xC000048E + STATUS_ENCLAVE_FAILURE NTStatus = 0xC000048F + STATUS_PNP_NO_COMPAT_DRIVERS NTStatus = 0xC0000490 + STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND NTStatus = 0xC0000491 + STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND NTStatus = 0xC0000492 + STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE NTStatus = 0xC0000493 + STATUS_PNP_FUNCTION_DRIVER_REQUIRED NTStatus = 0xC0000494 + STATUS_PNP_DEVICE_CONFIGURATION_PENDING NTStatus = 0xC0000495 + STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL NTStatus = 0xC0000496 + STATUS_PACKAGE_NOT_AVAILABLE NTStatus = 0xC0000497 + STATUS_DEVICE_IN_MAINTENANCE NTStatus = 0xC0000499 + STATUS_NOT_SUPPORTED_ON_DAX NTStatus = 0xC000049A + STATUS_FREE_SPACE_TOO_FRAGMENTED NTStatus = 0xC000049B + STATUS_DAX_MAPPING_EXISTS NTStatus = 0xC000049C + STATUS_CHILD_PROCESS_BLOCKED NTStatus = 0xC000049D + STATUS_STORAGE_LOST_DATA_PERSISTENCE NTStatus = 0xC000049E + STATUS_VRF_CFG_ENABLED NTStatus = 0xC000049F + STATUS_PARTITION_TERMINATING NTStatus = 0xC00004A0 + STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED NTStatus = 0xC00004A1 + STATUS_ENCLAVE_VIOLATION NTStatus = 0xC00004A2 + STATUS_FILE_PROTECTED_UNDER_DPL NTStatus = 0xC00004A3 + STATUS_VOLUME_NOT_CLUSTER_ALIGNED NTStatus = 0xC00004A4 + STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND NTStatus = 0xC00004A5 + STATUS_APPX_FILE_NOT_ENCRYPTED NTStatus = 0xC00004A6 + STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED NTStatus = 0xC00004A7 + STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET NTStatus = 0xC00004A8 + STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE NTStatus = 0xC00004A9 + STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER NTStatus = 0xC00004AA + STATUS_FT_READ_FAILURE NTStatus = 0xC00004AB + STATUS_PATCH_CONFLICT NTStatus = 0xC00004AC + STATUS_STORAGE_RESERVE_ID_INVALID NTStatus = 0xC00004AD + STATUS_STORAGE_RESERVE_DOES_NOT_EXIST NTStatus = 0xC00004AE + STATUS_STORAGE_RESERVE_ALREADY_EXISTS NTStatus = 0xC00004AF + STATUS_STORAGE_RESERVE_NOT_EMPTY NTStatus = 0xC00004B0 + STATUS_NOT_A_DAX_VOLUME NTStatus = 0xC00004B1 + STATUS_NOT_DAX_MAPPABLE NTStatus = 0xC00004B2 + STATUS_CASE_DIFFERING_NAMES_IN_DIR NTStatus = 0xC00004B3 + STATUS_FILE_NOT_SUPPORTED NTStatus = 0xC00004B4 + STATUS_NOT_SUPPORTED_WITH_BTT NTStatus = 0xC00004B5 + STATUS_ENCRYPTION_DISABLED NTStatus = 0xC00004B6 + STATUS_ENCRYPTING_METADATA_DISALLOWED NTStatus = 0xC00004B7 + STATUS_CANT_CLEAR_ENCRYPTION_FLAG NTStatus = 0xC00004B8 + STATUS_INVALID_TASK_NAME NTStatus = 0xC0000500 + STATUS_INVALID_TASK_INDEX NTStatus = 0xC0000501 + STATUS_THREAD_ALREADY_IN_TASK NTStatus = 0xC0000502 + STATUS_CALLBACK_BYPASS NTStatus = 0xC0000503 + STATUS_UNDEFINED_SCOPE NTStatus = 0xC0000504 + STATUS_INVALID_CAP NTStatus = 0xC0000505 + STATUS_NOT_GUI_PROCESS NTStatus = 0xC0000506 + STATUS_DEVICE_HUNG NTStatus = 0xC0000507 + STATUS_CONTAINER_ASSIGNED NTStatus = 0xC0000508 + STATUS_JOB_NO_CONTAINER NTStatus = 0xC0000509 + STATUS_DEVICE_UNRESPONSIVE NTStatus = 0xC000050A + STATUS_REPARSE_POINT_ENCOUNTERED NTStatus = 0xC000050B + STATUS_ATTRIBUTE_NOT_PRESENT NTStatus = 0xC000050C + STATUS_NOT_A_TIERED_VOLUME NTStatus = 0xC000050D + STATUS_ALREADY_HAS_STREAM_ID NTStatus = 0xC000050E + STATUS_JOB_NOT_EMPTY NTStatus = 0xC000050F + STATUS_ALREADY_INITIALIZED NTStatus = 0xC0000510 + STATUS_ENCLAVE_NOT_TERMINATED NTStatus = 0xC0000511 + STATUS_ENCLAVE_IS_TERMINATING NTStatus = 0xC0000512 + STATUS_SMB1_NOT_AVAILABLE NTStatus = 0xC0000513 + STATUS_SMR_GARBAGE_COLLECTION_REQUIRED NTStatus = 0xC0000514 + STATUS_INTERRUPTED NTStatus = 0xC0000515 + STATUS_THREAD_NOT_RUNNING NTStatus = 0xC0000516 + STATUS_FAIL_FAST_EXCEPTION NTStatus = 0xC0000602 + STATUS_IMAGE_CERT_REVOKED NTStatus = 0xC0000603 + STATUS_DYNAMIC_CODE_BLOCKED NTStatus = 0xC0000604 + STATUS_IMAGE_CERT_EXPIRED NTStatus = 0xC0000605 + STATUS_STRICT_CFG_VIOLATION NTStatus = 0xC0000606 + STATUS_SET_CONTEXT_DENIED NTStatus = 0xC000060A + STATUS_CROSS_PARTITION_VIOLATION NTStatus = 0xC000060B + STATUS_PORT_CLOSED NTStatus = 0xC0000700 + STATUS_MESSAGE_LOST NTStatus = 0xC0000701 + STATUS_INVALID_MESSAGE NTStatus = 0xC0000702 + STATUS_REQUEST_CANCELED NTStatus = 0xC0000703 + STATUS_RECURSIVE_DISPATCH NTStatus = 0xC0000704 + STATUS_LPC_RECEIVE_BUFFER_EXPECTED NTStatus = 0xC0000705 + STATUS_LPC_INVALID_CONNECTION_USAGE NTStatus = 0xC0000706 + STATUS_LPC_REQUESTS_NOT_ALLOWED NTStatus = 0xC0000707 + STATUS_RESOURCE_IN_USE NTStatus = 0xC0000708 + STATUS_HARDWARE_MEMORY_ERROR NTStatus = 0xC0000709 + STATUS_THREADPOOL_HANDLE_EXCEPTION NTStatus = 0xC000070A + STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED NTStatus = 0xC000070B + STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED NTStatus = 0xC000070C + STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED NTStatus = 0xC000070D + STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED NTStatus = 0xC000070E + STATUS_THREADPOOL_RELEASED_DURING_OPERATION NTStatus = 0xC000070F + STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING NTStatus = 0xC0000710 + STATUS_APC_RETURNED_WHILE_IMPERSONATING NTStatus = 0xC0000711 + STATUS_PROCESS_IS_PROTECTED NTStatus = 0xC0000712 + STATUS_MCA_EXCEPTION NTStatus = 0xC0000713 + STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE NTStatus = 0xC0000714 + STATUS_SYMLINK_CLASS_DISABLED NTStatus = 0xC0000715 + STATUS_INVALID_IDN_NORMALIZATION NTStatus = 0xC0000716 + STATUS_NO_UNICODE_TRANSLATION NTStatus = 0xC0000717 + STATUS_ALREADY_REGISTERED NTStatus = 0xC0000718 + STATUS_CONTEXT_MISMATCH NTStatus = 0xC0000719 + STATUS_PORT_ALREADY_HAS_COMPLETION_LIST NTStatus = 0xC000071A + STATUS_CALLBACK_RETURNED_THREAD_PRIORITY NTStatus = 0xC000071B + STATUS_INVALID_THREAD NTStatus = 0xC000071C + STATUS_CALLBACK_RETURNED_TRANSACTION NTStatus = 0xC000071D + STATUS_CALLBACK_RETURNED_LDR_LOCK NTStatus = 0xC000071E + STATUS_CALLBACK_RETURNED_LANG NTStatus = 0xC000071F + STATUS_CALLBACK_RETURNED_PRI_BACK NTStatus = 0xC0000720 + STATUS_CALLBACK_RETURNED_THREAD_AFFINITY NTStatus = 0xC0000721 + STATUS_LPC_HANDLE_COUNT_EXCEEDED NTStatus = 0xC0000722 + STATUS_EXECUTABLE_MEMORY_WRITE NTStatus = 0xC0000723 + STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE NTStatus = 0xC0000724 + STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE NTStatus = 0xC0000725 + STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE NTStatus = 0xC0000726 + STATUS_DISK_REPAIR_DISABLED NTStatus = 0xC0000800 + STATUS_DS_DOMAIN_RENAME_IN_PROGRESS NTStatus = 0xC0000801 + STATUS_DISK_QUOTA_EXCEEDED NTStatus = 0xC0000802 + STATUS_DATA_LOST_REPAIR NTStatus = 0x80000803 + STATUS_CONTENT_BLOCKED NTStatus = 0xC0000804 + STATUS_BAD_CLUSTERS NTStatus = 0xC0000805 + STATUS_VOLUME_DIRTY NTStatus = 0xC0000806 + STATUS_DISK_REPAIR_REDIRECTED NTStatus = 0x40000807 + STATUS_DISK_REPAIR_UNSUCCESSFUL NTStatus = 0xC0000808 + STATUS_CORRUPT_LOG_OVERFULL NTStatus = 0xC0000809 + STATUS_CORRUPT_LOG_CORRUPTED NTStatus = 0xC000080A + STATUS_CORRUPT_LOG_UNAVAILABLE NTStatus = 0xC000080B + STATUS_CORRUPT_LOG_DELETED_FULL NTStatus = 0xC000080C + STATUS_CORRUPT_LOG_CLEARED NTStatus = 0xC000080D + STATUS_ORPHAN_NAME_EXHAUSTED NTStatus = 0xC000080E + STATUS_PROACTIVE_SCAN_IN_PROGRESS NTStatus = 0xC000080F + STATUS_ENCRYPTED_IO_NOT_POSSIBLE NTStatus = 0xC0000810 + STATUS_CORRUPT_LOG_UPLEVEL_RECORDS NTStatus = 0xC0000811 + STATUS_FILE_CHECKED_OUT NTStatus = 0xC0000901 + STATUS_CHECKOUT_REQUIRED NTStatus = 0xC0000902 + STATUS_BAD_FILE_TYPE NTStatus = 0xC0000903 + STATUS_FILE_TOO_LARGE NTStatus = 0xC0000904 + STATUS_FORMS_AUTH_REQUIRED NTStatus = 0xC0000905 + STATUS_VIRUS_INFECTED NTStatus = 0xC0000906 + STATUS_VIRUS_DELETED NTStatus = 0xC0000907 + STATUS_BAD_MCFG_TABLE NTStatus = 0xC0000908 + STATUS_CANNOT_BREAK_OPLOCK NTStatus = 0xC0000909 + STATUS_BAD_KEY NTStatus = 0xC000090A + STATUS_BAD_DATA NTStatus = 0xC000090B + STATUS_NO_KEY NTStatus = 0xC000090C + STATUS_FILE_HANDLE_REVOKED NTStatus = 0xC0000910 + STATUS_WOW_ASSERTION NTStatus = 0xC0009898 + STATUS_INVALID_SIGNATURE NTStatus = 0xC000A000 + STATUS_HMAC_NOT_SUPPORTED NTStatus = 0xC000A001 + STATUS_AUTH_TAG_MISMATCH NTStatus = 0xC000A002 + STATUS_INVALID_STATE_TRANSITION NTStatus = 0xC000A003 + STATUS_INVALID_KERNEL_INFO_VERSION NTStatus = 0xC000A004 + STATUS_INVALID_PEP_INFO_VERSION NTStatus = 0xC000A005 + STATUS_HANDLE_REVOKED NTStatus = 0xC000A006 + STATUS_EOF_ON_GHOSTED_RANGE NTStatus = 0xC000A007 + STATUS_IPSEC_QUEUE_OVERFLOW NTStatus = 0xC000A010 + STATUS_ND_QUEUE_OVERFLOW NTStatus = 0xC000A011 + STATUS_HOPLIMIT_EXCEEDED NTStatus = 0xC000A012 + STATUS_PROTOCOL_NOT_SUPPORTED NTStatus = 0xC000A013 + STATUS_FASTPATH_REJECTED NTStatus = 0xC000A014 + STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED NTStatus = 0xC000A080 + STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR NTStatus = 0xC000A081 + STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR NTStatus = 0xC000A082 + STATUS_XML_PARSE_ERROR NTStatus = 0xC000A083 + STATUS_XMLDSIG_ERROR NTStatus = 0xC000A084 + STATUS_WRONG_COMPARTMENT NTStatus = 0xC000A085 + STATUS_AUTHIP_FAILURE NTStatus = 0xC000A086 + STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS NTStatus = 0xC000A087 + STATUS_DS_OID_NOT_FOUND NTStatus = 0xC000A088 + STATUS_INCORRECT_ACCOUNT_TYPE NTStatus = 0xC000A089 + STATUS_HASH_NOT_SUPPORTED NTStatus = 0xC000A100 + STATUS_HASH_NOT_PRESENT NTStatus = 0xC000A101 + STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED NTStatus = 0xC000A121 + STATUS_GPIO_CLIENT_INFORMATION_INVALID NTStatus = 0xC000A122 + STATUS_GPIO_VERSION_NOT_SUPPORTED NTStatus = 0xC000A123 + STATUS_GPIO_INVALID_REGISTRATION_PACKET NTStatus = 0xC000A124 + STATUS_GPIO_OPERATION_DENIED NTStatus = 0xC000A125 + STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE NTStatus = 0xC000A126 + STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED NTStatus = 0x8000A127 + STATUS_CANNOT_SWITCH_RUNLEVEL NTStatus = 0xC000A141 + STATUS_INVALID_RUNLEVEL_SETTING NTStatus = 0xC000A142 + STATUS_RUNLEVEL_SWITCH_TIMEOUT NTStatus = 0xC000A143 + STATUS_SERVICES_FAILED_AUTOSTART NTStatus = 0x4000A144 + STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT NTStatus = 0xC000A145 + STATUS_RUNLEVEL_SWITCH_IN_PROGRESS NTStatus = 0xC000A146 + STATUS_NOT_APPCONTAINER NTStatus = 0xC000A200 + STATUS_NOT_SUPPORTED_IN_APPCONTAINER NTStatus = 0xC000A201 + STATUS_INVALID_PACKAGE_SID_LENGTH NTStatus = 0xC000A202 + STATUS_LPAC_ACCESS_DENIED NTStatus = 0xC000A203 + STATUS_ADMINLESS_ACCESS_DENIED NTStatus = 0xC000A204 + STATUS_APP_DATA_NOT_FOUND NTStatus = 0xC000A281 + STATUS_APP_DATA_EXPIRED NTStatus = 0xC000A282 + STATUS_APP_DATA_CORRUPT NTStatus = 0xC000A283 + STATUS_APP_DATA_LIMIT_EXCEEDED NTStatus = 0xC000A284 + STATUS_APP_DATA_REBOOT_REQUIRED NTStatus = 0xC000A285 + STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED NTStatus = 0xC000A2A1 + STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED NTStatus = 0xC000A2A2 + STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED NTStatus = 0xC000A2A3 + STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED NTStatus = 0xC000A2A4 + STATUS_WOF_WIM_HEADER_CORRUPT NTStatus = 0xC000A2A5 + STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT NTStatus = 0xC000A2A6 + STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT NTStatus = 0xC000A2A7 + STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE NTStatus = 0xC000CE01 + STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT NTStatus = 0xC000CE02 + STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY NTStatus = 0xC000CE03 + STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN NTStatus = 0xC000CE04 + STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION NTStatus = 0xC000CE05 + STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT NTStatus = 0xC000CF00 + STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING NTStatus = 0xC000CF01 + STATUS_CLOUD_FILE_METADATA_CORRUPT NTStatus = 0xC000CF02 + STATUS_CLOUD_FILE_METADATA_TOO_LARGE NTStatus = 0xC000CF03 + STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE NTStatus = 0x8000CF04 + STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS NTStatus = 0x8000CF05 + STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED NTStatus = 0xC000CF06 + STATUS_NOT_A_CLOUD_FILE NTStatus = 0xC000CF07 + STATUS_CLOUD_FILE_NOT_IN_SYNC NTStatus = 0xC000CF08 + STATUS_CLOUD_FILE_ALREADY_CONNECTED NTStatus = 0xC000CF09 + STATUS_CLOUD_FILE_NOT_SUPPORTED NTStatus = 0xC000CF0A + STATUS_CLOUD_FILE_INVALID_REQUEST NTStatus = 0xC000CF0B + STATUS_CLOUD_FILE_READ_ONLY_VOLUME NTStatus = 0xC000CF0C + STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY NTStatus = 0xC000CF0D + STATUS_CLOUD_FILE_VALIDATION_FAILED NTStatus = 0xC000CF0E + STATUS_CLOUD_FILE_AUTHENTICATION_FAILED NTStatus = 0xC000CF0F + STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES NTStatus = 0xC000CF10 + STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE NTStatus = 0xC000CF11 + STATUS_CLOUD_FILE_UNSUCCESSFUL NTStatus = 0xC000CF12 + STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT NTStatus = 0xC000CF13 + STATUS_CLOUD_FILE_IN_USE NTStatus = 0xC000CF14 + STATUS_CLOUD_FILE_PINNED NTStatus = 0xC000CF15 + STATUS_CLOUD_FILE_REQUEST_ABORTED NTStatus = 0xC000CF16 + STATUS_CLOUD_FILE_PROPERTY_CORRUPT NTStatus = 0xC000CF17 + STATUS_CLOUD_FILE_ACCESS_DENIED NTStatus = 0xC000CF18 + STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS NTStatus = 0xC000CF19 + STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT NTStatus = 0xC000CF1A + STATUS_CLOUD_FILE_REQUEST_CANCELED NTStatus = 0xC000CF1B + STATUS_CLOUD_FILE_PROVIDER_TERMINATED NTStatus = 0xC000CF1D + STATUS_NOT_A_CLOUD_SYNC_ROOT NTStatus = 0xC000CF1E + STATUS_CLOUD_FILE_REQUEST_TIMEOUT NTStatus = 0xC000CF1F + STATUS_ACPI_INVALID_OPCODE NTStatus = 0xC0140001 + STATUS_ACPI_STACK_OVERFLOW NTStatus = 0xC0140002 + STATUS_ACPI_ASSERT_FAILED NTStatus = 0xC0140003 + STATUS_ACPI_INVALID_INDEX NTStatus = 0xC0140004 + STATUS_ACPI_INVALID_ARGUMENT NTStatus = 0xC0140005 + STATUS_ACPI_FATAL NTStatus = 0xC0140006 + STATUS_ACPI_INVALID_SUPERNAME NTStatus = 0xC0140007 + STATUS_ACPI_INVALID_ARGTYPE NTStatus = 0xC0140008 + STATUS_ACPI_INVALID_OBJTYPE NTStatus = 0xC0140009 + STATUS_ACPI_INVALID_TARGETTYPE NTStatus = 0xC014000A + STATUS_ACPI_INCORRECT_ARGUMENT_COUNT NTStatus = 0xC014000B + STATUS_ACPI_ADDRESS_NOT_MAPPED NTStatus = 0xC014000C + STATUS_ACPI_INVALID_EVENTTYPE NTStatus = 0xC014000D + STATUS_ACPI_HANDLER_COLLISION NTStatus = 0xC014000E + STATUS_ACPI_INVALID_DATA NTStatus = 0xC014000F + STATUS_ACPI_INVALID_REGION NTStatus = 0xC0140010 + STATUS_ACPI_INVALID_ACCESS_SIZE NTStatus = 0xC0140011 + STATUS_ACPI_ACQUIRE_GLOBAL_LOCK NTStatus = 0xC0140012 + STATUS_ACPI_ALREADY_INITIALIZED NTStatus = 0xC0140013 + STATUS_ACPI_NOT_INITIALIZED NTStatus = 0xC0140014 + STATUS_ACPI_INVALID_MUTEX_LEVEL NTStatus = 0xC0140015 + STATUS_ACPI_MUTEX_NOT_OWNED NTStatus = 0xC0140016 + STATUS_ACPI_MUTEX_NOT_OWNER NTStatus = 0xC0140017 + STATUS_ACPI_RS_ACCESS NTStatus = 0xC0140018 + STATUS_ACPI_INVALID_TABLE NTStatus = 0xC0140019 + STATUS_ACPI_REG_HANDLER_FAILED NTStatus = 0xC0140020 + STATUS_ACPI_POWER_REQUEST_FAILED NTStatus = 0xC0140021 + STATUS_CTX_WINSTATION_NAME_INVALID NTStatus = 0xC00A0001 + STATUS_CTX_INVALID_PD NTStatus = 0xC00A0002 + STATUS_CTX_PD_NOT_FOUND NTStatus = 0xC00A0003 + STATUS_CTX_CDM_CONNECT NTStatus = 0x400A0004 + STATUS_CTX_CDM_DISCONNECT NTStatus = 0x400A0005 + STATUS_CTX_CLOSE_PENDING NTStatus = 0xC00A0006 + STATUS_CTX_NO_OUTBUF NTStatus = 0xC00A0007 + STATUS_CTX_MODEM_INF_NOT_FOUND NTStatus = 0xC00A0008 + STATUS_CTX_INVALID_MODEMNAME NTStatus = 0xC00A0009 + STATUS_CTX_RESPONSE_ERROR NTStatus = 0xC00A000A + STATUS_CTX_MODEM_RESPONSE_TIMEOUT NTStatus = 0xC00A000B + STATUS_CTX_MODEM_RESPONSE_NO_CARRIER NTStatus = 0xC00A000C + STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE NTStatus = 0xC00A000D + STATUS_CTX_MODEM_RESPONSE_BUSY NTStatus = 0xC00A000E + STATUS_CTX_MODEM_RESPONSE_VOICE NTStatus = 0xC00A000F + STATUS_CTX_TD_ERROR NTStatus = 0xC00A0010 + STATUS_CTX_LICENSE_CLIENT_INVALID NTStatus = 0xC00A0012 + STATUS_CTX_LICENSE_NOT_AVAILABLE NTStatus = 0xC00A0013 + STATUS_CTX_LICENSE_EXPIRED NTStatus = 0xC00A0014 + STATUS_CTX_WINSTATION_NOT_FOUND NTStatus = 0xC00A0015 + STATUS_CTX_WINSTATION_NAME_COLLISION NTStatus = 0xC00A0016 + STATUS_CTX_WINSTATION_BUSY NTStatus = 0xC00A0017 + STATUS_CTX_BAD_VIDEO_MODE NTStatus = 0xC00A0018 + STATUS_CTX_GRAPHICS_INVALID NTStatus = 0xC00A0022 + STATUS_CTX_NOT_CONSOLE NTStatus = 0xC00A0024 + STATUS_CTX_CLIENT_QUERY_TIMEOUT NTStatus = 0xC00A0026 + STATUS_CTX_CONSOLE_DISCONNECT NTStatus = 0xC00A0027 + STATUS_CTX_CONSOLE_CONNECT NTStatus = 0xC00A0028 + STATUS_CTX_SHADOW_DENIED NTStatus = 0xC00A002A + STATUS_CTX_WINSTATION_ACCESS_DENIED NTStatus = 0xC00A002B + STATUS_CTX_INVALID_WD NTStatus = 0xC00A002E + STATUS_CTX_WD_NOT_FOUND NTStatus = 0xC00A002F + STATUS_CTX_SHADOW_INVALID NTStatus = 0xC00A0030 + STATUS_CTX_SHADOW_DISABLED NTStatus = 0xC00A0031 + STATUS_RDP_PROTOCOL_ERROR NTStatus = 0xC00A0032 + STATUS_CTX_CLIENT_LICENSE_NOT_SET NTStatus = 0xC00A0033 + STATUS_CTX_CLIENT_LICENSE_IN_USE NTStatus = 0xC00A0034 + STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE NTStatus = 0xC00A0035 + STATUS_CTX_SHADOW_NOT_RUNNING NTStatus = 0xC00A0036 + STATUS_CTX_LOGON_DISABLED NTStatus = 0xC00A0037 + STATUS_CTX_SECURITY_LAYER_ERROR NTStatus = 0xC00A0038 + STATUS_TS_INCOMPATIBLE_SESSIONS NTStatus = 0xC00A0039 + STATUS_TS_VIDEO_SUBSYSTEM_ERROR NTStatus = 0xC00A003A + STATUS_PNP_BAD_MPS_TABLE NTStatus = 0xC0040035 + STATUS_PNP_TRANSLATION_FAILED NTStatus = 0xC0040036 + STATUS_PNP_IRQ_TRANSLATION_FAILED NTStatus = 0xC0040037 + STATUS_PNP_INVALID_ID NTStatus = 0xC0040038 + STATUS_IO_REISSUE_AS_CACHED NTStatus = 0xC0040039 + STATUS_MUI_FILE_NOT_FOUND NTStatus = 0xC00B0001 + STATUS_MUI_INVALID_FILE NTStatus = 0xC00B0002 + STATUS_MUI_INVALID_RC_CONFIG NTStatus = 0xC00B0003 + STATUS_MUI_INVALID_LOCALE_NAME NTStatus = 0xC00B0004 + STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME NTStatus = 0xC00B0005 + STATUS_MUI_FILE_NOT_LOADED NTStatus = 0xC00B0006 + STATUS_RESOURCE_ENUM_USER_STOP NTStatus = 0xC00B0007 + STATUS_FLT_NO_HANDLER_DEFINED NTStatus = 0xC01C0001 + STATUS_FLT_CONTEXT_ALREADY_DEFINED NTStatus = 0xC01C0002 + STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST NTStatus = 0xC01C0003 + STATUS_FLT_DISALLOW_FAST_IO NTStatus = 0xC01C0004 + STATUS_FLT_INVALID_NAME_REQUEST NTStatus = 0xC01C0005 + STATUS_FLT_NOT_SAFE_TO_POST_OPERATION NTStatus = 0xC01C0006 + STATUS_FLT_NOT_INITIALIZED NTStatus = 0xC01C0007 + STATUS_FLT_FILTER_NOT_READY NTStatus = 0xC01C0008 + STATUS_FLT_POST_OPERATION_CLEANUP NTStatus = 0xC01C0009 + STATUS_FLT_INTERNAL_ERROR NTStatus = 0xC01C000A + STATUS_FLT_DELETING_OBJECT NTStatus = 0xC01C000B + STATUS_FLT_MUST_BE_NONPAGED_POOL NTStatus = 0xC01C000C + STATUS_FLT_DUPLICATE_ENTRY NTStatus = 0xC01C000D + STATUS_FLT_CBDQ_DISABLED NTStatus = 0xC01C000E + STATUS_FLT_DO_NOT_ATTACH NTStatus = 0xC01C000F + STATUS_FLT_DO_NOT_DETACH NTStatus = 0xC01C0010 + STATUS_FLT_INSTANCE_ALTITUDE_COLLISION NTStatus = 0xC01C0011 + STATUS_FLT_INSTANCE_NAME_COLLISION NTStatus = 0xC01C0012 + STATUS_FLT_FILTER_NOT_FOUND NTStatus = 0xC01C0013 + STATUS_FLT_VOLUME_NOT_FOUND NTStatus = 0xC01C0014 + STATUS_FLT_INSTANCE_NOT_FOUND NTStatus = 0xC01C0015 + STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND NTStatus = 0xC01C0016 + STATUS_FLT_INVALID_CONTEXT_REGISTRATION NTStatus = 0xC01C0017 + STATUS_FLT_NAME_CACHE_MISS NTStatus = 0xC01C0018 + STATUS_FLT_NO_DEVICE_OBJECT NTStatus = 0xC01C0019 + STATUS_FLT_VOLUME_ALREADY_MOUNTED NTStatus = 0xC01C001A + STATUS_FLT_ALREADY_ENLISTED NTStatus = 0xC01C001B + STATUS_FLT_CONTEXT_ALREADY_LINKED NTStatus = 0xC01C001C + STATUS_FLT_NO_WAITER_FOR_REPLY NTStatus = 0xC01C0020 + STATUS_FLT_REGISTRATION_BUSY NTStatus = 0xC01C0023 + STATUS_SXS_SECTION_NOT_FOUND NTStatus = 0xC0150001 + STATUS_SXS_CANT_GEN_ACTCTX NTStatus = 0xC0150002 + STATUS_SXS_INVALID_ACTCTXDATA_FORMAT NTStatus = 0xC0150003 + STATUS_SXS_ASSEMBLY_NOT_FOUND NTStatus = 0xC0150004 + STATUS_SXS_MANIFEST_FORMAT_ERROR NTStatus = 0xC0150005 + STATUS_SXS_MANIFEST_PARSE_ERROR NTStatus = 0xC0150006 + STATUS_SXS_ACTIVATION_CONTEXT_DISABLED NTStatus = 0xC0150007 + STATUS_SXS_KEY_NOT_FOUND NTStatus = 0xC0150008 + STATUS_SXS_VERSION_CONFLICT NTStatus = 0xC0150009 + STATUS_SXS_WRONG_SECTION_TYPE NTStatus = 0xC015000A + STATUS_SXS_THREAD_QUERIES_DISABLED NTStatus = 0xC015000B + STATUS_SXS_ASSEMBLY_MISSING NTStatus = 0xC015000C + STATUS_SXS_RELEASE_ACTIVATION_CONTEXT NTStatus = 0x4015000D + STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET NTStatus = 0xC015000E + STATUS_SXS_EARLY_DEACTIVATION NTStatus = 0xC015000F + STATUS_SXS_INVALID_DEACTIVATION NTStatus = 0xC0150010 + STATUS_SXS_MULTIPLE_DEACTIVATION NTStatus = 0xC0150011 + STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY NTStatus = 0xC0150012 + STATUS_SXS_PROCESS_TERMINATION_REQUESTED NTStatus = 0xC0150013 + STATUS_SXS_CORRUPT_ACTIVATION_STACK NTStatus = 0xC0150014 + STATUS_SXS_CORRUPTION NTStatus = 0xC0150015 + STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE NTStatus = 0xC0150016 + STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME NTStatus = 0xC0150017 + STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE NTStatus = 0xC0150018 + STATUS_SXS_IDENTITY_PARSE_ERROR NTStatus = 0xC0150019 + STATUS_SXS_COMPONENT_STORE_CORRUPT NTStatus = 0xC015001A + STATUS_SXS_FILE_HASH_MISMATCH NTStatus = 0xC015001B + STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT NTStatus = 0xC015001C + STATUS_SXS_IDENTITIES_DIFFERENT NTStatus = 0xC015001D + STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT NTStatus = 0xC015001E + STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY NTStatus = 0xC015001F + STATUS_ADVANCED_INSTALLER_FAILED NTStatus = 0xC0150020 + STATUS_XML_ENCODING_MISMATCH NTStatus = 0xC0150021 + STATUS_SXS_MANIFEST_TOO_BIG NTStatus = 0xC0150022 + STATUS_SXS_SETTING_NOT_REGISTERED NTStatus = 0xC0150023 + STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE NTStatus = 0xC0150024 + STATUS_SMI_PRIMITIVE_INSTALLER_FAILED NTStatus = 0xC0150025 + STATUS_GENERIC_COMMAND_FAILED NTStatus = 0xC0150026 + STATUS_SXS_FILE_HASH_MISSING NTStatus = 0xC0150027 + STATUS_CLUSTER_INVALID_NODE NTStatus = 0xC0130001 + STATUS_CLUSTER_NODE_EXISTS NTStatus = 0xC0130002 + STATUS_CLUSTER_JOIN_IN_PROGRESS NTStatus = 0xC0130003 + STATUS_CLUSTER_NODE_NOT_FOUND NTStatus = 0xC0130004 + STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND NTStatus = 0xC0130005 + STATUS_CLUSTER_NETWORK_EXISTS NTStatus = 0xC0130006 + STATUS_CLUSTER_NETWORK_NOT_FOUND NTStatus = 0xC0130007 + STATUS_CLUSTER_NETINTERFACE_EXISTS NTStatus = 0xC0130008 + STATUS_CLUSTER_NETINTERFACE_NOT_FOUND NTStatus = 0xC0130009 + STATUS_CLUSTER_INVALID_REQUEST NTStatus = 0xC013000A + STATUS_CLUSTER_INVALID_NETWORK_PROVIDER NTStatus = 0xC013000B + STATUS_CLUSTER_NODE_DOWN NTStatus = 0xC013000C + STATUS_CLUSTER_NODE_UNREACHABLE NTStatus = 0xC013000D + STATUS_CLUSTER_NODE_NOT_MEMBER NTStatus = 0xC013000E + STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS NTStatus = 0xC013000F + STATUS_CLUSTER_INVALID_NETWORK NTStatus = 0xC0130010 + STATUS_CLUSTER_NO_NET_ADAPTERS NTStatus = 0xC0130011 + STATUS_CLUSTER_NODE_UP NTStatus = 0xC0130012 + STATUS_CLUSTER_NODE_PAUSED NTStatus = 0xC0130013 + STATUS_CLUSTER_NODE_NOT_PAUSED NTStatus = 0xC0130014 + STATUS_CLUSTER_NO_SECURITY_CONTEXT NTStatus = 0xC0130015 + STATUS_CLUSTER_NETWORK_NOT_INTERNAL NTStatus = 0xC0130016 + STATUS_CLUSTER_POISONED NTStatus = 0xC0130017 + STATUS_CLUSTER_NON_CSV_PATH NTStatus = 0xC0130018 + STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL NTStatus = 0xC0130019 + STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS NTStatus = 0xC0130020 + STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR NTStatus = 0xC0130021 + STATUS_CLUSTER_CSV_REDIRECTED NTStatus = 0xC0130022 + STATUS_CLUSTER_CSV_NOT_REDIRECTED NTStatus = 0xC0130023 + STATUS_CLUSTER_CSV_VOLUME_DRAINING NTStatus = 0xC0130024 + STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS NTStatus = 0xC0130025 + STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL NTStatus = 0xC0130026 + STATUS_CLUSTER_CSV_NO_SNAPSHOTS NTStatus = 0xC0130027 + STATUS_CSV_IO_PAUSE_TIMEOUT NTStatus = 0xC0130028 + STATUS_CLUSTER_CSV_INVALID_HANDLE NTStatus = 0xC0130029 + STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR NTStatus = 0xC0130030 + STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED NTStatus = 0xC0130031 + STATUS_TRANSACTIONAL_CONFLICT NTStatus = 0xC0190001 + STATUS_INVALID_TRANSACTION NTStatus = 0xC0190002 + STATUS_TRANSACTION_NOT_ACTIVE NTStatus = 0xC0190003 + STATUS_TM_INITIALIZATION_FAILED NTStatus = 0xC0190004 + STATUS_RM_NOT_ACTIVE NTStatus = 0xC0190005 + STATUS_RM_METADATA_CORRUPT NTStatus = 0xC0190006 + STATUS_TRANSACTION_NOT_JOINED NTStatus = 0xC0190007 + STATUS_DIRECTORY_NOT_RM NTStatus = 0xC0190008 + STATUS_COULD_NOT_RESIZE_LOG NTStatus = 0x80190009 + STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE NTStatus = 0xC019000A + STATUS_LOG_RESIZE_INVALID_SIZE NTStatus = 0xC019000B + STATUS_REMOTE_FILE_VERSION_MISMATCH NTStatus = 0xC019000C + STATUS_CRM_PROTOCOL_ALREADY_EXISTS NTStatus = 0xC019000F + STATUS_TRANSACTION_PROPAGATION_FAILED NTStatus = 0xC0190010 + STATUS_CRM_PROTOCOL_NOT_FOUND NTStatus = 0xC0190011 + STATUS_TRANSACTION_SUPERIOR_EXISTS NTStatus = 0xC0190012 + STATUS_TRANSACTION_REQUEST_NOT_VALID NTStatus = 0xC0190013 + STATUS_TRANSACTION_NOT_REQUESTED NTStatus = 0xC0190014 + STATUS_TRANSACTION_ALREADY_ABORTED NTStatus = 0xC0190015 + STATUS_TRANSACTION_ALREADY_COMMITTED NTStatus = 0xC0190016 + STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER NTStatus = 0xC0190017 + STATUS_CURRENT_TRANSACTION_NOT_VALID NTStatus = 0xC0190018 + STATUS_LOG_GROWTH_FAILED NTStatus = 0xC0190019 + STATUS_OBJECT_NO_LONGER_EXISTS NTStatus = 0xC0190021 + STATUS_STREAM_MINIVERSION_NOT_FOUND NTStatus = 0xC0190022 + STATUS_STREAM_MINIVERSION_NOT_VALID NTStatus = 0xC0190023 + STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION NTStatus = 0xC0190024 + STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT NTStatus = 0xC0190025 + STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS NTStatus = 0xC0190026 + STATUS_HANDLE_NO_LONGER_VALID NTStatus = 0xC0190028 + STATUS_NO_TXF_METADATA NTStatus = 0x80190029 + STATUS_LOG_CORRUPTION_DETECTED NTStatus = 0xC0190030 + STATUS_CANT_RECOVER_WITH_HANDLE_OPEN NTStatus = 0x80190031 + STATUS_RM_DISCONNECTED NTStatus = 0xC0190032 + STATUS_ENLISTMENT_NOT_SUPERIOR NTStatus = 0xC0190033 + STATUS_RECOVERY_NOT_NEEDED NTStatus = 0x40190034 + STATUS_RM_ALREADY_STARTED NTStatus = 0x40190035 + STATUS_FILE_IDENTITY_NOT_PERSISTENT NTStatus = 0xC0190036 + STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY NTStatus = 0xC0190037 + STATUS_CANT_CROSS_RM_BOUNDARY NTStatus = 0xC0190038 + STATUS_TXF_DIR_NOT_EMPTY NTStatus = 0xC0190039 + STATUS_INDOUBT_TRANSACTIONS_EXIST NTStatus = 0xC019003A + STATUS_TM_VOLATILE NTStatus = 0xC019003B + STATUS_ROLLBACK_TIMER_EXPIRED NTStatus = 0xC019003C + STATUS_TXF_ATTRIBUTE_CORRUPT NTStatus = 0xC019003D + STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION NTStatus = 0xC019003E + STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED NTStatus = 0xC019003F + STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE NTStatus = 0xC0190040 + STATUS_TXF_METADATA_ALREADY_PRESENT NTStatus = 0x80190041 + STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET NTStatus = 0x80190042 + STATUS_TRANSACTION_REQUIRED_PROMOTION NTStatus = 0xC0190043 + STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION NTStatus = 0xC0190044 + STATUS_TRANSACTIONS_NOT_FROZEN NTStatus = 0xC0190045 + STATUS_TRANSACTION_FREEZE_IN_PROGRESS NTStatus = 0xC0190046 + STATUS_NOT_SNAPSHOT_VOLUME NTStatus = 0xC0190047 + STATUS_NO_SAVEPOINT_WITH_OPEN_FILES NTStatus = 0xC0190048 + STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION NTStatus = 0xC0190049 + STATUS_TM_IDENTITY_MISMATCH NTStatus = 0xC019004A + STATUS_FLOATED_SECTION NTStatus = 0xC019004B + STATUS_CANNOT_ACCEPT_TRANSACTED_WORK NTStatus = 0xC019004C + STATUS_CANNOT_ABORT_TRANSACTIONS NTStatus = 0xC019004D + STATUS_TRANSACTION_NOT_FOUND NTStatus = 0xC019004E + STATUS_RESOURCEMANAGER_NOT_FOUND NTStatus = 0xC019004F + STATUS_ENLISTMENT_NOT_FOUND NTStatus = 0xC0190050 + STATUS_TRANSACTIONMANAGER_NOT_FOUND NTStatus = 0xC0190051 + STATUS_TRANSACTIONMANAGER_NOT_ONLINE NTStatus = 0xC0190052 + STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION NTStatus = 0xC0190053 + STATUS_TRANSACTION_NOT_ROOT NTStatus = 0xC0190054 + STATUS_TRANSACTION_OBJECT_EXPIRED NTStatus = 0xC0190055 + STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION NTStatus = 0xC0190056 + STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED NTStatus = 0xC0190057 + STATUS_TRANSACTION_RECORD_TOO_LONG NTStatus = 0xC0190058 + STATUS_NO_LINK_TRACKING_IN_TRANSACTION NTStatus = 0xC0190059 + STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION NTStatus = 0xC019005A + STATUS_TRANSACTION_INTEGRITY_VIOLATED NTStatus = 0xC019005B + STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH NTStatus = 0xC019005C + STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT NTStatus = 0xC019005D + STATUS_TRANSACTION_MUST_WRITETHROUGH NTStatus = 0xC019005E + STATUS_TRANSACTION_NO_SUPERIOR NTStatus = 0xC019005F + STATUS_EXPIRED_HANDLE NTStatus = 0xC0190060 + STATUS_TRANSACTION_NOT_ENLISTED NTStatus = 0xC0190061 + STATUS_LOG_SECTOR_INVALID NTStatus = 0xC01A0001 + STATUS_LOG_SECTOR_PARITY_INVALID NTStatus = 0xC01A0002 + STATUS_LOG_SECTOR_REMAPPED NTStatus = 0xC01A0003 + STATUS_LOG_BLOCK_INCOMPLETE NTStatus = 0xC01A0004 + STATUS_LOG_INVALID_RANGE NTStatus = 0xC01A0005 + STATUS_LOG_BLOCKS_EXHAUSTED NTStatus = 0xC01A0006 + STATUS_LOG_READ_CONTEXT_INVALID NTStatus = 0xC01A0007 + STATUS_LOG_RESTART_INVALID NTStatus = 0xC01A0008 + STATUS_LOG_BLOCK_VERSION NTStatus = 0xC01A0009 + STATUS_LOG_BLOCK_INVALID NTStatus = 0xC01A000A + STATUS_LOG_READ_MODE_INVALID NTStatus = 0xC01A000B + STATUS_LOG_NO_RESTART NTStatus = 0x401A000C + STATUS_LOG_METADATA_CORRUPT NTStatus = 0xC01A000D + STATUS_LOG_METADATA_INVALID NTStatus = 0xC01A000E + STATUS_LOG_METADATA_INCONSISTENT NTStatus = 0xC01A000F + STATUS_LOG_RESERVATION_INVALID NTStatus = 0xC01A0010 + STATUS_LOG_CANT_DELETE NTStatus = 0xC01A0011 + STATUS_LOG_CONTAINER_LIMIT_EXCEEDED NTStatus = 0xC01A0012 + STATUS_LOG_START_OF_LOG NTStatus = 0xC01A0013 + STATUS_LOG_POLICY_ALREADY_INSTALLED NTStatus = 0xC01A0014 + STATUS_LOG_POLICY_NOT_INSTALLED NTStatus = 0xC01A0015 + STATUS_LOG_POLICY_INVALID NTStatus = 0xC01A0016 + STATUS_LOG_POLICY_CONFLICT NTStatus = 0xC01A0017 + STATUS_LOG_PINNED_ARCHIVE_TAIL NTStatus = 0xC01A0018 + STATUS_LOG_RECORD_NONEXISTENT NTStatus = 0xC01A0019 + STATUS_LOG_RECORDS_RESERVED_INVALID NTStatus = 0xC01A001A + STATUS_LOG_SPACE_RESERVED_INVALID NTStatus = 0xC01A001B + STATUS_LOG_TAIL_INVALID NTStatus = 0xC01A001C + STATUS_LOG_FULL NTStatus = 0xC01A001D + STATUS_LOG_MULTIPLEXED NTStatus = 0xC01A001E + STATUS_LOG_DEDICATED NTStatus = 0xC01A001F + STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS NTStatus = 0xC01A0020 + STATUS_LOG_ARCHIVE_IN_PROGRESS NTStatus = 0xC01A0021 + STATUS_LOG_EPHEMERAL NTStatus = 0xC01A0022 + STATUS_LOG_NOT_ENOUGH_CONTAINERS NTStatus = 0xC01A0023 + STATUS_LOG_CLIENT_ALREADY_REGISTERED NTStatus = 0xC01A0024 + STATUS_LOG_CLIENT_NOT_REGISTERED NTStatus = 0xC01A0025 + STATUS_LOG_FULL_HANDLER_IN_PROGRESS NTStatus = 0xC01A0026 + STATUS_LOG_CONTAINER_READ_FAILED NTStatus = 0xC01A0027 + STATUS_LOG_CONTAINER_WRITE_FAILED NTStatus = 0xC01A0028 + STATUS_LOG_CONTAINER_OPEN_FAILED NTStatus = 0xC01A0029 + STATUS_LOG_CONTAINER_STATE_INVALID NTStatus = 0xC01A002A + STATUS_LOG_STATE_INVALID NTStatus = 0xC01A002B + STATUS_LOG_PINNED NTStatus = 0xC01A002C + STATUS_LOG_METADATA_FLUSH_FAILED NTStatus = 0xC01A002D + STATUS_LOG_INCONSISTENT_SECURITY NTStatus = 0xC01A002E + STATUS_LOG_APPENDED_FLUSH_FAILED NTStatus = 0xC01A002F + STATUS_LOG_PINNED_RESERVATION NTStatus = 0xC01A0030 + STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD NTStatus = 0xC01B00EA + STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED NTStatus = 0x801B00EB + STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST NTStatus = 0x401B00EC + STATUS_MONITOR_NO_DESCRIPTOR NTStatus = 0xC01D0001 + STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT NTStatus = 0xC01D0002 + STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM NTStatus = 0xC01D0003 + STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK NTStatus = 0xC01D0004 + STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED NTStatus = 0xC01D0005 + STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK NTStatus = 0xC01D0006 + STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK NTStatus = 0xC01D0007 + STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA NTStatus = 0xC01D0008 + STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK NTStatus = 0xC01D0009 + STATUS_MONITOR_INVALID_MANUFACTURE_DATE NTStatus = 0xC01D000A + STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER NTStatus = 0xC01E0000 + STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER NTStatus = 0xC01E0001 + STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER NTStatus = 0xC01E0002 + STATUS_GRAPHICS_ADAPTER_WAS_RESET NTStatus = 0xC01E0003 + STATUS_GRAPHICS_INVALID_DRIVER_MODEL NTStatus = 0xC01E0004 + STATUS_GRAPHICS_PRESENT_MODE_CHANGED NTStatus = 0xC01E0005 + STATUS_GRAPHICS_PRESENT_OCCLUDED NTStatus = 0xC01E0006 + STATUS_GRAPHICS_PRESENT_DENIED NTStatus = 0xC01E0007 + STATUS_GRAPHICS_CANNOTCOLORCONVERT NTStatus = 0xC01E0008 + STATUS_GRAPHICS_DRIVER_MISMATCH NTStatus = 0xC01E0009 + STATUS_GRAPHICS_PARTIAL_DATA_POPULATED NTStatus = 0x401E000A + STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED NTStatus = 0xC01E000B + STATUS_GRAPHICS_PRESENT_UNOCCLUDED NTStatus = 0xC01E000C + STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE NTStatus = 0xC01E000D + STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED NTStatus = 0xC01E000E + STATUS_GRAPHICS_PRESENT_INVALID_WINDOW NTStatus = 0xC01E000F + STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND NTStatus = 0xC01E0010 + STATUS_GRAPHICS_VAIL_STATE_CHANGED NTStatus = 0xC01E0011 + STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN NTStatus = 0xC01E0012 + STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED NTStatus = 0xC01E0013 + STATUS_GRAPHICS_NO_VIDEO_MEMORY NTStatus = 0xC01E0100 + STATUS_GRAPHICS_CANT_LOCK_MEMORY NTStatus = 0xC01E0101 + STATUS_GRAPHICS_ALLOCATION_BUSY NTStatus = 0xC01E0102 + STATUS_GRAPHICS_TOO_MANY_REFERENCES NTStatus = 0xC01E0103 + STATUS_GRAPHICS_TRY_AGAIN_LATER NTStatus = 0xC01E0104 + STATUS_GRAPHICS_TRY_AGAIN_NOW NTStatus = 0xC01E0105 + STATUS_GRAPHICS_ALLOCATION_INVALID NTStatus = 0xC01E0106 + STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE NTStatus = 0xC01E0107 + STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED NTStatus = 0xC01E0108 + STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION NTStatus = 0xC01E0109 + STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE NTStatus = 0xC01E0110 + STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION NTStatus = 0xC01E0111 + STATUS_GRAPHICS_ALLOCATION_CLOSED NTStatus = 0xC01E0112 + STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE NTStatus = 0xC01E0113 + STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE NTStatus = 0xC01E0114 + STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE NTStatus = 0xC01E0115 + STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST NTStatus = 0xC01E0116 + STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE NTStatus = 0xC01E0200 + STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION NTStatus = 0x401E0201 + STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY NTStatus = 0xC01E0300 + STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED NTStatus = 0xC01E0301 + STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED NTStatus = 0xC01E0302 + STATUS_GRAPHICS_INVALID_VIDPN NTStatus = 0xC01E0303 + STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE NTStatus = 0xC01E0304 + STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET NTStatus = 0xC01E0305 + STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED NTStatus = 0xC01E0306 + STATUS_GRAPHICS_MODE_NOT_PINNED NTStatus = 0x401E0307 + STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET NTStatus = 0xC01E0308 + STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET NTStatus = 0xC01E0309 + STATUS_GRAPHICS_INVALID_FREQUENCY NTStatus = 0xC01E030A + STATUS_GRAPHICS_INVALID_ACTIVE_REGION NTStatus = 0xC01E030B + STATUS_GRAPHICS_INVALID_TOTAL_REGION NTStatus = 0xC01E030C + STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE NTStatus = 0xC01E0310 + STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE NTStatus = 0xC01E0311 + STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET NTStatus = 0xC01E0312 + STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY NTStatus = 0xC01E0313 + STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET NTStatus = 0xC01E0314 + STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET NTStatus = 0xC01E0315 + STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET NTStatus = 0xC01E0316 + STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET NTStatus = 0xC01E0317 + STATUS_GRAPHICS_TARGET_ALREADY_IN_SET NTStatus = 0xC01E0318 + STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH NTStatus = 0xC01E0319 + STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY NTStatus = 0xC01E031A + STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET NTStatus = 0xC01E031B + STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE NTStatus = 0xC01E031C + STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET NTStatus = 0xC01E031D + STATUS_GRAPHICS_NO_PREFERRED_MODE NTStatus = 0x401E031E + STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET NTStatus = 0xC01E031F + STATUS_GRAPHICS_STALE_MODESET NTStatus = 0xC01E0320 + STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET NTStatus = 0xC01E0321 + STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE NTStatus = 0xC01E0322 + STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN NTStatus = 0xC01E0323 + STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE NTStatus = 0xC01E0324 + STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION NTStatus = 0xC01E0325 + STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES NTStatus = 0xC01E0326 + STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY NTStatus = 0xC01E0327 + STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE NTStatus = 0xC01E0328 + STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET NTStatus = 0xC01E0329 + STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET NTStatus = 0xC01E032A + STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR NTStatus = 0xC01E032B + STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET NTStatus = 0xC01E032C + STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET NTStatus = 0xC01E032D + STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE NTStatus = 0xC01E032E + STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE NTStatus = 0xC01E032F + STATUS_GRAPHICS_RESOURCES_NOT_RELATED NTStatus = 0xC01E0330 + STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE NTStatus = 0xC01E0331 + STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE NTStatus = 0xC01E0332 + STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET NTStatus = 0xC01E0333 + STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER NTStatus = 0xC01E0334 + STATUS_GRAPHICS_NO_VIDPNMGR NTStatus = 0xC01E0335 + STATUS_GRAPHICS_NO_ACTIVE_VIDPN NTStatus = 0xC01E0336 + STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY NTStatus = 0xC01E0337 + STATUS_GRAPHICS_MONITOR_NOT_CONNECTED NTStatus = 0xC01E0338 + STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY NTStatus = 0xC01E0339 + STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE NTStatus = 0xC01E033A + STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE NTStatus = 0xC01E033B + STATUS_GRAPHICS_INVALID_STRIDE NTStatus = 0xC01E033C + STATUS_GRAPHICS_INVALID_PIXELFORMAT NTStatus = 0xC01E033D + STATUS_GRAPHICS_INVALID_COLORBASIS NTStatus = 0xC01E033E + STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE NTStatus = 0xC01E033F + STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY NTStatus = 0xC01E0340 + STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT NTStatus = 0xC01E0341 + STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE NTStatus = 0xC01E0342 + STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN NTStatus = 0xC01E0343 + STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL NTStatus = 0xC01E0344 + STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION NTStatus = 0xC01E0345 + STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED NTStatus = 0xC01E0346 + STATUS_GRAPHICS_INVALID_GAMMA_RAMP NTStatus = 0xC01E0347 + STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED NTStatus = 0xC01E0348 + STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED NTStatus = 0xC01E0349 + STATUS_GRAPHICS_MODE_NOT_IN_MODESET NTStatus = 0xC01E034A + STATUS_GRAPHICS_DATASET_IS_EMPTY NTStatus = 0x401E034B + STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET NTStatus = 0x401E034C + STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON NTStatus = 0xC01E034D + STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE NTStatus = 0xC01E034E + STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE NTStatus = 0xC01E034F + STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS NTStatus = 0xC01E0350 + STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED NTStatus = 0x401E0351 + STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING NTStatus = 0xC01E0352 + STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED NTStatus = 0xC01E0353 + STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS NTStatus = 0xC01E0354 + STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT NTStatus = 0xC01E0355 + STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM NTStatus = 0xC01E0356 + STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN NTStatus = 0xC01E0357 + STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT NTStatus = 0xC01E0358 + STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED NTStatus = 0xC01E0359 + STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION NTStatus = 0xC01E035A + STATUS_GRAPHICS_INVALID_CLIENT_TYPE NTStatus = 0xC01E035B + STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET NTStatus = 0xC01E035C + STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED NTStatus = 0xC01E0400 + STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED NTStatus = 0xC01E0401 + STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS NTStatus = 0x401E042F + STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER NTStatus = 0xC01E0430 + STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED NTStatus = 0xC01E0431 + STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED NTStatus = 0xC01E0432 + STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY NTStatus = 0xC01E0433 + STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED NTStatus = 0xC01E0434 + STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON NTStatus = 0xC01E0435 + STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE NTStatus = 0xC01E0436 + STATUS_GRAPHICS_LEADLINK_START_DEFERRED NTStatus = 0x401E0437 + STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER NTStatus = 0xC01E0438 + STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY NTStatus = 0x401E0439 + STATUS_GRAPHICS_START_DEFERRED NTStatus = 0x401E043A + STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED NTStatus = 0xC01E043B + STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS NTStatus = 0x401E043C + STATUS_GRAPHICS_OPM_NOT_SUPPORTED NTStatus = 0xC01E0500 + STATUS_GRAPHICS_COPP_NOT_SUPPORTED NTStatus = 0xC01E0501 + STATUS_GRAPHICS_UAB_NOT_SUPPORTED NTStatus = 0xC01E0502 + STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS NTStatus = 0xC01E0503 + STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST NTStatus = 0xC01E0505 + STATUS_GRAPHICS_OPM_INTERNAL_ERROR NTStatus = 0xC01E050B + STATUS_GRAPHICS_OPM_INVALID_HANDLE NTStatus = 0xC01E050C + STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH NTStatus = 0xC01E050E + STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED NTStatus = 0xC01E050F + STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED NTStatus = 0xC01E0510 + STATUS_GRAPHICS_PVP_HFS_FAILED NTStatus = 0xC01E0511 + STATUS_GRAPHICS_OPM_INVALID_SRM NTStatus = 0xC01E0512 + STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP NTStatus = 0xC01E0513 + STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP NTStatus = 0xC01E0514 + STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA NTStatus = 0xC01E0515 + STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET NTStatus = 0xC01E0516 + STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH NTStatus = 0xC01E0517 + STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE NTStatus = 0xC01E0518 + STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS NTStatus = 0xC01E051A + STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS NTStatus = 0xC01E051C + STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST NTStatus = 0xC01E051D + STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR NTStatus = 0xC01E051E + STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS NTStatus = 0xC01E051F + STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED NTStatus = 0xC01E0520 + STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST NTStatus = 0xC01E0521 + STATUS_GRAPHICS_I2C_NOT_SUPPORTED NTStatus = 0xC01E0580 + STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST NTStatus = 0xC01E0581 + STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA NTStatus = 0xC01E0582 + STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA NTStatus = 0xC01E0583 + STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED NTStatus = 0xC01E0584 + STATUS_GRAPHICS_DDCCI_INVALID_DATA NTStatus = 0xC01E0585 + STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE NTStatus = 0xC01E0586 + STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING NTStatus = 0xC01E0587 + STATUS_GRAPHICS_MCA_INTERNAL_ERROR NTStatus = 0xC01E0588 + STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND NTStatus = 0xC01E0589 + STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH NTStatus = 0xC01E058A + STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM NTStatus = 0xC01E058B + STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE NTStatus = 0xC01E058C + STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS NTStatus = 0xC01E058D + STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED NTStatus = 0xC01E05E0 + STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME NTStatus = 0xC01E05E1 + STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP NTStatus = 0xC01E05E2 + STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED NTStatus = 0xC01E05E3 + STATUS_GRAPHICS_INVALID_POINTER NTStatus = 0xC01E05E4 + STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE NTStatus = 0xC01E05E5 + STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL NTStatus = 0xC01E05E6 + STATUS_GRAPHICS_INTERNAL_ERROR NTStatus = 0xC01E05E7 + STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS NTStatus = 0xC01E05E8 + STATUS_FVE_LOCKED_VOLUME NTStatus = 0xC0210000 + STATUS_FVE_NOT_ENCRYPTED NTStatus = 0xC0210001 + STATUS_FVE_BAD_INFORMATION NTStatus = 0xC0210002 + STATUS_FVE_TOO_SMALL NTStatus = 0xC0210003 + STATUS_FVE_FAILED_WRONG_FS NTStatus = 0xC0210004 + STATUS_FVE_BAD_PARTITION_SIZE NTStatus = 0xC0210005 + STATUS_FVE_FS_NOT_EXTENDED NTStatus = 0xC0210006 + STATUS_FVE_FS_MOUNTED NTStatus = 0xC0210007 + STATUS_FVE_NO_LICENSE NTStatus = 0xC0210008 + STATUS_FVE_ACTION_NOT_ALLOWED NTStatus = 0xC0210009 + STATUS_FVE_BAD_DATA NTStatus = 0xC021000A + STATUS_FVE_VOLUME_NOT_BOUND NTStatus = 0xC021000B + STATUS_FVE_NOT_DATA_VOLUME NTStatus = 0xC021000C + STATUS_FVE_CONV_READ_ERROR NTStatus = 0xC021000D + STATUS_FVE_CONV_WRITE_ERROR NTStatus = 0xC021000E + STATUS_FVE_OVERLAPPED_UPDATE NTStatus = 0xC021000F + STATUS_FVE_FAILED_SECTOR_SIZE NTStatus = 0xC0210010 + STATUS_FVE_FAILED_AUTHENTICATION NTStatus = 0xC0210011 + STATUS_FVE_NOT_OS_VOLUME NTStatus = 0xC0210012 + STATUS_FVE_KEYFILE_NOT_FOUND NTStatus = 0xC0210013 + STATUS_FVE_KEYFILE_INVALID NTStatus = 0xC0210014 + STATUS_FVE_KEYFILE_NO_VMK NTStatus = 0xC0210015 + STATUS_FVE_TPM_DISABLED NTStatus = 0xC0210016 + STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO NTStatus = 0xC0210017 + STATUS_FVE_TPM_INVALID_PCR NTStatus = 0xC0210018 + STATUS_FVE_TPM_NO_VMK NTStatus = 0xC0210019 + STATUS_FVE_PIN_INVALID NTStatus = 0xC021001A + STATUS_FVE_AUTH_INVALID_APPLICATION NTStatus = 0xC021001B + STATUS_FVE_AUTH_INVALID_CONFIG NTStatus = 0xC021001C + STATUS_FVE_DEBUGGER_ENABLED NTStatus = 0xC021001D + STATUS_FVE_DRY_RUN_FAILED NTStatus = 0xC021001E + STATUS_FVE_BAD_METADATA_POINTER NTStatus = 0xC021001F + STATUS_FVE_OLD_METADATA_COPY NTStatus = 0xC0210020 + STATUS_FVE_REBOOT_REQUIRED NTStatus = 0xC0210021 + STATUS_FVE_RAW_ACCESS NTStatus = 0xC0210022 + STATUS_FVE_RAW_BLOCKED NTStatus = 0xC0210023 + STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY NTStatus = 0xC0210024 + STATUS_FVE_MOR_FAILED NTStatus = 0xC0210025 + STATUS_FVE_NO_FEATURE_LICENSE NTStatus = 0xC0210026 + STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED NTStatus = 0xC0210027 + STATUS_FVE_CONV_RECOVERY_FAILED NTStatus = 0xC0210028 + STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG NTStatus = 0xC0210029 + STATUS_FVE_INVALID_DATUM_TYPE NTStatus = 0xC021002A + STATUS_FVE_VOLUME_TOO_SMALL NTStatus = 0xC0210030 + STATUS_FVE_ENH_PIN_INVALID NTStatus = 0xC0210031 + STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE NTStatus = 0xC0210032 + STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE NTStatus = 0xC0210033 + STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK NTStatus = 0xC0210034 + STATUS_FVE_NOT_ALLOWED_ON_CLUSTER NTStatus = 0xC0210035 + STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING NTStatus = 0xC0210036 + STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE NTStatus = 0xC0210037 + STATUS_FVE_EDRIVE_DRY_RUN_FAILED NTStatus = 0xC0210038 + STATUS_FVE_SECUREBOOT_DISABLED NTStatus = 0xC0210039 + STATUS_FVE_SECUREBOOT_CONFIG_CHANGE NTStatus = 0xC021003A + STATUS_FVE_DEVICE_LOCKEDOUT NTStatus = 0xC021003B + STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT NTStatus = 0xC021003C + STATUS_FVE_NOT_DE_VOLUME NTStatus = 0xC021003D + STATUS_FVE_PROTECTION_DISABLED NTStatus = 0xC021003E + STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED NTStatus = 0xC021003F + STATUS_FVE_OSV_KSR_NOT_ALLOWED NTStatus = 0xC0210040 + STATUS_FWP_CALLOUT_NOT_FOUND NTStatus = 0xC0220001 + STATUS_FWP_CONDITION_NOT_FOUND NTStatus = 0xC0220002 + STATUS_FWP_FILTER_NOT_FOUND NTStatus = 0xC0220003 + STATUS_FWP_LAYER_NOT_FOUND NTStatus = 0xC0220004 + STATUS_FWP_PROVIDER_NOT_FOUND NTStatus = 0xC0220005 + STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND NTStatus = 0xC0220006 + STATUS_FWP_SUBLAYER_NOT_FOUND NTStatus = 0xC0220007 + STATUS_FWP_NOT_FOUND NTStatus = 0xC0220008 + STATUS_FWP_ALREADY_EXISTS NTStatus = 0xC0220009 + STATUS_FWP_IN_USE NTStatus = 0xC022000A + STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS NTStatus = 0xC022000B + STATUS_FWP_WRONG_SESSION NTStatus = 0xC022000C + STATUS_FWP_NO_TXN_IN_PROGRESS NTStatus = 0xC022000D + STATUS_FWP_TXN_IN_PROGRESS NTStatus = 0xC022000E + STATUS_FWP_TXN_ABORTED NTStatus = 0xC022000F + STATUS_FWP_SESSION_ABORTED NTStatus = 0xC0220010 + STATUS_FWP_INCOMPATIBLE_TXN NTStatus = 0xC0220011 + STATUS_FWP_TIMEOUT NTStatus = 0xC0220012 + STATUS_FWP_NET_EVENTS_DISABLED NTStatus = 0xC0220013 + STATUS_FWP_INCOMPATIBLE_LAYER NTStatus = 0xC0220014 + STATUS_FWP_KM_CLIENTS_ONLY NTStatus = 0xC0220015 + STATUS_FWP_LIFETIME_MISMATCH NTStatus = 0xC0220016 + STATUS_FWP_BUILTIN_OBJECT NTStatus = 0xC0220017 + STATUS_FWP_TOO_MANY_CALLOUTS NTStatus = 0xC0220018 + STATUS_FWP_NOTIFICATION_DROPPED NTStatus = 0xC0220019 + STATUS_FWP_TRAFFIC_MISMATCH NTStatus = 0xC022001A + STATUS_FWP_INCOMPATIBLE_SA_STATE NTStatus = 0xC022001B + STATUS_FWP_NULL_POINTER NTStatus = 0xC022001C + STATUS_FWP_INVALID_ENUMERATOR NTStatus = 0xC022001D + STATUS_FWP_INVALID_FLAGS NTStatus = 0xC022001E + STATUS_FWP_INVALID_NET_MASK NTStatus = 0xC022001F + STATUS_FWP_INVALID_RANGE NTStatus = 0xC0220020 + STATUS_FWP_INVALID_INTERVAL NTStatus = 0xC0220021 + STATUS_FWP_ZERO_LENGTH_ARRAY NTStatus = 0xC0220022 + STATUS_FWP_NULL_DISPLAY_NAME NTStatus = 0xC0220023 + STATUS_FWP_INVALID_ACTION_TYPE NTStatus = 0xC0220024 + STATUS_FWP_INVALID_WEIGHT NTStatus = 0xC0220025 + STATUS_FWP_MATCH_TYPE_MISMATCH NTStatus = 0xC0220026 + STATUS_FWP_TYPE_MISMATCH NTStatus = 0xC0220027 + STATUS_FWP_OUT_OF_BOUNDS NTStatus = 0xC0220028 + STATUS_FWP_RESERVED NTStatus = 0xC0220029 + STATUS_FWP_DUPLICATE_CONDITION NTStatus = 0xC022002A + STATUS_FWP_DUPLICATE_KEYMOD NTStatus = 0xC022002B + STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER NTStatus = 0xC022002C + STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER NTStatus = 0xC022002D + STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER NTStatus = 0xC022002E + STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT NTStatus = 0xC022002F + STATUS_FWP_INCOMPATIBLE_AUTH_METHOD NTStatus = 0xC0220030 + STATUS_FWP_INCOMPATIBLE_DH_GROUP NTStatus = 0xC0220031 + STATUS_FWP_EM_NOT_SUPPORTED NTStatus = 0xC0220032 + STATUS_FWP_NEVER_MATCH NTStatus = 0xC0220033 + STATUS_FWP_PROVIDER_CONTEXT_MISMATCH NTStatus = 0xC0220034 + STATUS_FWP_INVALID_PARAMETER NTStatus = 0xC0220035 + STATUS_FWP_TOO_MANY_SUBLAYERS NTStatus = 0xC0220036 + STATUS_FWP_CALLOUT_NOTIFICATION_FAILED NTStatus = 0xC0220037 + STATUS_FWP_INVALID_AUTH_TRANSFORM NTStatus = 0xC0220038 + STATUS_FWP_INVALID_CIPHER_TRANSFORM NTStatus = 0xC0220039 + STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM NTStatus = 0xC022003A + STATUS_FWP_INVALID_TRANSFORM_COMBINATION NTStatus = 0xC022003B + STATUS_FWP_DUPLICATE_AUTH_METHOD NTStatus = 0xC022003C + STATUS_FWP_INVALID_TUNNEL_ENDPOINT NTStatus = 0xC022003D + STATUS_FWP_L2_DRIVER_NOT_READY NTStatus = 0xC022003E + STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED NTStatus = 0xC022003F + STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL NTStatus = 0xC0220040 + STATUS_FWP_CONNECTIONS_DISABLED NTStatus = 0xC0220041 + STATUS_FWP_INVALID_DNS_NAME NTStatus = 0xC0220042 + STATUS_FWP_STILL_ON NTStatus = 0xC0220043 + STATUS_FWP_IKEEXT_NOT_RUNNING NTStatus = 0xC0220044 + STATUS_FWP_TCPIP_NOT_READY NTStatus = 0xC0220100 + STATUS_FWP_INJECT_HANDLE_CLOSING NTStatus = 0xC0220101 + STATUS_FWP_INJECT_HANDLE_STALE NTStatus = 0xC0220102 + STATUS_FWP_CANNOT_PEND NTStatus = 0xC0220103 + STATUS_FWP_DROP_NOICMP NTStatus = 0xC0220104 + STATUS_NDIS_CLOSING NTStatus = 0xC0230002 + STATUS_NDIS_BAD_VERSION NTStatus = 0xC0230004 + STATUS_NDIS_BAD_CHARACTERISTICS NTStatus = 0xC0230005 + STATUS_NDIS_ADAPTER_NOT_FOUND NTStatus = 0xC0230006 + STATUS_NDIS_OPEN_FAILED NTStatus = 0xC0230007 + STATUS_NDIS_DEVICE_FAILED NTStatus = 0xC0230008 + STATUS_NDIS_MULTICAST_FULL NTStatus = 0xC0230009 + STATUS_NDIS_MULTICAST_EXISTS NTStatus = 0xC023000A + STATUS_NDIS_MULTICAST_NOT_FOUND NTStatus = 0xC023000B + STATUS_NDIS_REQUEST_ABORTED NTStatus = 0xC023000C + STATUS_NDIS_RESET_IN_PROGRESS NTStatus = 0xC023000D + STATUS_NDIS_NOT_SUPPORTED NTStatus = 0xC02300BB + STATUS_NDIS_INVALID_PACKET NTStatus = 0xC023000F + STATUS_NDIS_ADAPTER_NOT_READY NTStatus = 0xC0230011 + STATUS_NDIS_INVALID_LENGTH NTStatus = 0xC0230014 + STATUS_NDIS_INVALID_DATA NTStatus = 0xC0230015 + STATUS_NDIS_BUFFER_TOO_SHORT NTStatus = 0xC0230016 + STATUS_NDIS_INVALID_OID NTStatus = 0xC0230017 + STATUS_NDIS_ADAPTER_REMOVED NTStatus = 0xC0230018 + STATUS_NDIS_UNSUPPORTED_MEDIA NTStatus = 0xC0230019 + STATUS_NDIS_GROUP_ADDRESS_IN_USE NTStatus = 0xC023001A + STATUS_NDIS_FILE_NOT_FOUND NTStatus = 0xC023001B + STATUS_NDIS_ERROR_READING_FILE NTStatus = 0xC023001C + STATUS_NDIS_ALREADY_MAPPED NTStatus = 0xC023001D + STATUS_NDIS_RESOURCE_CONFLICT NTStatus = 0xC023001E + STATUS_NDIS_MEDIA_DISCONNECTED NTStatus = 0xC023001F + STATUS_NDIS_INVALID_ADDRESS NTStatus = 0xC0230022 + STATUS_NDIS_INVALID_DEVICE_REQUEST NTStatus = 0xC0230010 + STATUS_NDIS_PAUSED NTStatus = 0xC023002A + STATUS_NDIS_INTERFACE_NOT_FOUND NTStatus = 0xC023002B + STATUS_NDIS_UNSUPPORTED_REVISION NTStatus = 0xC023002C + STATUS_NDIS_INVALID_PORT NTStatus = 0xC023002D + STATUS_NDIS_INVALID_PORT_STATE NTStatus = 0xC023002E + STATUS_NDIS_LOW_POWER_STATE NTStatus = 0xC023002F + STATUS_NDIS_REINIT_REQUIRED NTStatus = 0xC0230030 + STATUS_NDIS_NO_QUEUES NTStatus = 0xC0230031 + STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED NTStatus = 0xC0232000 + STATUS_NDIS_DOT11_MEDIA_IN_USE NTStatus = 0xC0232001 + STATUS_NDIS_DOT11_POWER_STATE_INVALID NTStatus = 0xC0232002 + STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL NTStatus = 0xC0232003 + STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL NTStatus = 0xC0232004 + STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE NTStatus = 0xC0232005 + STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE NTStatus = 0xC0232006 + STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED NTStatus = 0xC0232007 + STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED NTStatus = 0xC0232008 + STATUS_NDIS_INDICATION_REQUIRED NTStatus = 0x40230001 + STATUS_NDIS_OFFLOAD_POLICY NTStatus = 0xC023100F + STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED NTStatus = 0xC0231012 + STATUS_NDIS_OFFLOAD_PATH_REJECTED NTStatus = 0xC0231013 + STATUS_TPM_ERROR_MASK NTStatus = 0xC0290000 + STATUS_TPM_AUTHFAIL NTStatus = 0xC0290001 + STATUS_TPM_BADINDEX NTStatus = 0xC0290002 + STATUS_TPM_BAD_PARAMETER NTStatus = 0xC0290003 + STATUS_TPM_AUDITFAILURE NTStatus = 0xC0290004 + STATUS_TPM_CLEAR_DISABLED NTStatus = 0xC0290005 + STATUS_TPM_DEACTIVATED NTStatus = 0xC0290006 + STATUS_TPM_DISABLED NTStatus = 0xC0290007 + STATUS_TPM_DISABLED_CMD NTStatus = 0xC0290008 + STATUS_TPM_FAIL NTStatus = 0xC0290009 + STATUS_TPM_BAD_ORDINAL NTStatus = 0xC029000A + STATUS_TPM_INSTALL_DISABLED NTStatus = 0xC029000B + STATUS_TPM_INVALID_KEYHANDLE NTStatus = 0xC029000C + STATUS_TPM_KEYNOTFOUND NTStatus = 0xC029000D + STATUS_TPM_INAPPROPRIATE_ENC NTStatus = 0xC029000E + STATUS_TPM_MIGRATEFAIL NTStatus = 0xC029000F + STATUS_TPM_INVALID_PCR_INFO NTStatus = 0xC0290010 + STATUS_TPM_NOSPACE NTStatus = 0xC0290011 + STATUS_TPM_NOSRK NTStatus = 0xC0290012 + STATUS_TPM_NOTSEALED_BLOB NTStatus = 0xC0290013 + STATUS_TPM_OWNER_SET NTStatus = 0xC0290014 + STATUS_TPM_RESOURCES NTStatus = 0xC0290015 + STATUS_TPM_SHORTRANDOM NTStatus = 0xC0290016 + STATUS_TPM_SIZE NTStatus = 0xC0290017 + STATUS_TPM_WRONGPCRVAL NTStatus = 0xC0290018 + STATUS_TPM_BAD_PARAM_SIZE NTStatus = 0xC0290019 + STATUS_TPM_SHA_THREAD NTStatus = 0xC029001A + STATUS_TPM_SHA_ERROR NTStatus = 0xC029001B + STATUS_TPM_FAILEDSELFTEST NTStatus = 0xC029001C + STATUS_TPM_AUTH2FAIL NTStatus = 0xC029001D + STATUS_TPM_BADTAG NTStatus = 0xC029001E + STATUS_TPM_IOERROR NTStatus = 0xC029001F + STATUS_TPM_ENCRYPT_ERROR NTStatus = 0xC0290020 + STATUS_TPM_DECRYPT_ERROR NTStatus = 0xC0290021 + STATUS_TPM_INVALID_AUTHHANDLE NTStatus = 0xC0290022 + STATUS_TPM_NO_ENDORSEMENT NTStatus = 0xC0290023 + STATUS_TPM_INVALID_KEYUSAGE NTStatus = 0xC0290024 + STATUS_TPM_WRONG_ENTITYTYPE NTStatus = 0xC0290025 + STATUS_TPM_INVALID_POSTINIT NTStatus = 0xC0290026 + STATUS_TPM_INAPPROPRIATE_SIG NTStatus = 0xC0290027 + STATUS_TPM_BAD_KEY_PROPERTY NTStatus = 0xC0290028 + STATUS_TPM_BAD_MIGRATION NTStatus = 0xC0290029 + STATUS_TPM_BAD_SCHEME NTStatus = 0xC029002A + STATUS_TPM_BAD_DATASIZE NTStatus = 0xC029002B + STATUS_TPM_BAD_MODE NTStatus = 0xC029002C + STATUS_TPM_BAD_PRESENCE NTStatus = 0xC029002D + STATUS_TPM_BAD_VERSION NTStatus = 0xC029002E + STATUS_TPM_NO_WRAP_TRANSPORT NTStatus = 0xC029002F + STATUS_TPM_AUDITFAIL_UNSUCCESSFUL NTStatus = 0xC0290030 + STATUS_TPM_AUDITFAIL_SUCCESSFUL NTStatus = 0xC0290031 + STATUS_TPM_NOTRESETABLE NTStatus = 0xC0290032 + STATUS_TPM_NOTLOCAL NTStatus = 0xC0290033 + STATUS_TPM_BAD_TYPE NTStatus = 0xC0290034 + STATUS_TPM_INVALID_RESOURCE NTStatus = 0xC0290035 + STATUS_TPM_NOTFIPS NTStatus = 0xC0290036 + STATUS_TPM_INVALID_FAMILY NTStatus = 0xC0290037 + STATUS_TPM_NO_NV_PERMISSION NTStatus = 0xC0290038 + STATUS_TPM_REQUIRES_SIGN NTStatus = 0xC0290039 + STATUS_TPM_KEY_NOTSUPPORTED NTStatus = 0xC029003A + STATUS_TPM_AUTH_CONFLICT NTStatus = 0xC029003B + STATUS_TPM_AREA_LOCKED NTStatus = 0xC029003C + STATUS_TPM_BAD_LOCALITY NTStatus = 0xC029003D + STATUS_TPM_READ_ONLY NTStatus = 0xC029003E + STATUS_TPM_PER_NOWRITE NTStatus = 0xC029003F + STATUS_TPM_FAMILYCOUNT NTStatus = 0xC0290040 + STATUS_TPM_WRITE_LOCKED NTStatus = 0xC0290041 + STATUS_TPM_BAD_ATTRIBUTES NTStatus = 0xC0290042 + STATUS_TPM_INVALID_STRUCTURE NTStatus = 0xC0290043 + STATUS_TPM_KEY_OWNER_CONTROL NTStatus = 0xC0290044 + STATUS_TPM_BAD_COUNTER NTStatus = 0xC0290045 + STATUS_TPM_NOT_FULLWRITE NTStatus = 0xC0290046 + STATUS_TPM_CONTEXT_GAP NTStatus = 0xC0290047 + STATUS_TPM_MAXNVWRITES NTStatus = 0xC0290048 + STATUS_TPM_NOOPERATOR NTStatus = 0xC0290049 + STATUS_TPM_RESOURCEMISSING NTStatus = 0xC029004A + STATUS_TPM_DELEGATE_LOCK NTStatus = 0xC029004B + STATUS_TPM_DELEGATE_FAMILY NTStatus = 0xC029004C + STATUS_TPM_DELEGATE_ADMIN NTStatus = 0xC029004D + STATUS_TPM_TRANSPORT_NOTEXCLUSIVE NTStatus = 0xC029004E + STATUS_TPM_OWNER_CONTROL NTStatus = 0xC029004F + STATUS_TPM_DAA_RESOURCES NTStatus = 0xC0290050 + STATUS_TPM_DAA_INPUT_DATA0 NTStatus = 0xC0290051 + STATUS_TPM_DAA_INPUT_DATA1 NTStatus = 0xC0290052 + STATUS_TPM_DAA_ISSUER_SETTINGS NTStatus = 0xC0290053 + STATUS_TPM_DAA_TPM_SETTINGS NTStatus = 0xC0290054 + STATUS_TPM_DAA_STAGE NTStatus = 0xC0290055 + STATUS_TPM_DAA_ISSUER_VALIDITY NTStatus = 0xC0290056 + STATUS_TPM_DAA_WRONG_W NTStatus = 0xC0290057 + STATUS_TPM_BAD_HANDLE NTStatus = 0xC0290058 + STATUS_TPM_BAD_DELEGATE NTStatus = 0xC0290059 + STATUS_TPM_BADCONTEXT NTStatus = 0xC029005A + STATUS_TPM_TOOMANYCONTEXTS NTStatus = 0xC029005B + STATUS_TPM_MA_TICKET_SIGNATURE NTStatus = 0xC029005C + STATUS_TPM_MA_DESTINATION NTStatus = 0xC029005D + STATUS_TPM_MA_SOURCE NTStatus = 0xC029005E + STATUS_TPM_MA_AUTHORITY NTStatus = 0xC029005F + STATUS_TPM_PERMANENTEK NTStatus = 0xC0290061 + STATUS_TPM_BAD_SIGNATURE NTStatus = 0xC0290062 + STATUS_TPM_NOCONTEXTSPACE NTStatus = 0xC0290063 + STATUS_TPM_20_E_ASYMMETRIC NTStatus = 0xC0290081 + STATUS_TPM_20_E_ATTRIBUTES NTStatus = 0xC0290082 + STATUS_TPM_20_E_HASH NTStatus = 0xC0290083 + STATUS_TPM_20_E_VALUE NTStatus = 0xC0290084 + STATUS_TPM_20_E_HIERARCHY NTStatus = 0xC0290085 + STATUS_TPM_20_E_KEY_SIZE NTStatus = 0xC0290087 + STATUS_TPM_20_E_MGF NTStatus = 0xC0290088 + STATUS_TPM_20_E_MODE NTStatus = 0xC0290089 + STATUS_TPM_20_E_TYPE NTStatus = 0xC029008A + STATUS_TPM_20_E_HANDLE NTStatus = 0xC029008B + STATUS_TPM_20_E_KDF NTStatus = 0xC029008C + STATUS_TPM_20_E_RANGE NTStatus = 0xC029008D + STATUS_TPM_20_E_AUTH_FAIL NTStatus = 0xC029008E + STATUS_TPM_20_E_NONCE NTStatus = 0xC029008F + STATUS_TPM_20_E_PP NTStatus = 0xC0290090 + STATUS_TPM_20_E_SCHEME NTStatus = 0xC0290092 + STATUS_TPM_20_E_SIZE NTStatus = 0xC0290095 + STATUS_TPM_20_E_SYMMETRIC NTStatus = 0xC0290096 + STATUS_TPM_20_E_TAG NTStatus = 0xC0290097 + STATUS_TPM_20_E_SELECTOR NTStatus = 0xC0290098 + STATUS_TPM_20_E_INSUFFICIENT NTStatus = 0xC029009A + STATUS_TPM_20_E_SIGNATURE NTStatus = 0xC029009B + STATUS_TPM_20_E_KEY NTStatus = 0xC029009C + STATUS_TPM_20_E_POLICY_FAIL NTStatus = 0xC029009D + STATUS_TPM_20_E_INTEGRITY NTStatus = 0xC029009F + STATUS_TPM_20_E_TICKET NTStatus = 0xC02900A0 + STATUS_TPM_20_E_RESERVED_BITS NTStatus = 0xC02900A1 + STATUS_TPM_20_E_BAD_AUTH NTStatus = 0xC02900A2 + STATUS_TPM_20_E_EXPIRED NTStatus = 0xC02900A3 + STATUS_TPM_20_E_POLICY_CC NTStatus = 0xC02900A4 + STATUS_TPM_20_E_BINDING NTStatus = 0xC02900A5 + STATUS_TPM_20_E_CURVE NTStatus = 0xC02900A6 + STATUS_TPM_20_E_ECC_POINT NTStatus = 0xC02900A7 + STATUS_TPM_20_E_INITIALIZE NTStatus = 0xC0290100 + STATUS_TPM_20_E_FAILURE NTStatus = 0xC0290101 + STATUS_TPM_20_E_SEQUENCE NTStatus = 0xC0290103 + STATUS_TPM_20_E_PRIVATE NTStatus = 0xC029010B + STATUS_TPM_20_E_HMAC NTStatus = 0xC0290119 + STATUS_TPM_20_E_DISABLED NTStatus = 0xC0290120 + STATUS_TPM_20_E_EXCLUSIVE NTStatus = 0xC0290121 + STATUS_TPM_20_E_ECC_CURVE NTStatus = 0xC0290123 + STATUS_TPM_20_E_AUTH_TYPE NTStatus = 0xC0290124 + STATUS_TPM_20_E_AUTH_MISSING NTStatus = 0xC0290125 + STATUS_TPM_20_E_POLICY NTStatus = 0xC0290126 + STATUS_TPM_20_E_PCR NTStatus = 0xC0290127 + STATUS_TPM_20_E_PCR_CHANGED NTStatus = 0xC0290128 + STATUS_TPM_20_E_UPGRADE NTStatus = 0xC029012D + STATUS_TPM_20_E_TOO_MANY_CONTEXTS NTStatus = 0xC029012E + STATUS_TPM_20_E_AUTH_UNAVAILABLE NTStatus = 0xC029012F + STATUS_TPM_20_E_REBOOT NTStatus = 0xC0290130 + STATUS_TPM_20_E_UNBALANCED NTStatus = 0xC0290131 + STATUS_TPM_20_E_COMMAND_SIZE NTStatus = 0xC0290142 + STATUS_TPM_20_E_COMMAND_CODE NTStatus = 0xC0290143 + STATUS_TPM_20_E_AUTHSIZE NTStatus = 0xC0290144 + STATUS_TPM_20_E_AUTH_CONTEXT NTStatus = 0xC0290145 + STATUS_TPM_20_E_NV_RANGE NTStatus = 0xC0290146 + STATUS_TPM_20_E_NV_SIZE NTStatus = 0xC0290147 + STATUS_TPM_20_E_NV_LOCKED NTStatus = 0xC0290148 + STATUS_TPM_20_E_NV_AUTHORIZATION NTStatus = 0xC0290149 + STATUS_TPM_20_E_NV_UNINITIALIZED NTStatus = 0xC029014A + STATUS_TPM_20_E_NV_SPACE NTStatus = 0xC029014B + STATUS_TPM_20_E_NV_DEFINED NTStatus = 0xC029014C + STATUS_TPM_20_E_BAD_CONTEXT NTStatus = 0xC0290150 + STATUS_TPM_20_E_CPHASH NTStatus = 0xC0290151 + STATUS_TPM_20_E_PARENT NTStatus = 0xC0290152 + STATUS_TPM_20_E_NEEDS_TEST NTStatus = 0xC0290153 + STATUS_TPM_20_E_NO_RESULT NTStatus = 0xC0290154 + STATUS_TPM_20_E_SENSITIVE NTStatus = 0xC0290155 + STATUS_TPM_COMMAND_BLOCKED NTStatus = 0xC0290400 + STATUS_TPM_INVALID_HANDLE NTStatus = 0xC0290401 + STATUS_TPM_DUPLICATE_VHANDLE NTStatus = 0xC0290402 + STATUS_TPM_EMBEDDED_COMMAND_BLOCKED NTStatus = 0xC0290403 + STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED NTStatus = 0xC0290404 + STATUS_TPM_RETRY NTStatus = 0xC0290800 + STATUS_TPM_NEEDS_SELFTEST NTStatus = 0xC0290801 + STATUS_TPM_DOING_SELFTEST NTStatus = 0xC0290802 + STATUS_TPM_DEFEND_LOCK_RUNNING NTStatus = 0xC0290803 + STATUS_TPM_COMMAND_CANCELED NTStatus = 0xC0291001 + STATUS_TPM_TOO_MANY_CONTEXTS NTStatus = 0xC0291002 + STATUS_TPM_NOT_FOUND NTStatus = 0xC0291003 + STATUS_TPM_ACCESS_DENIED NTStatus = 0xC0291004 + STATUS_TPM_INSUFFICIENT_BUFFER NTStatus = 0xC0291005 + STATUS_TPM_PPI_FUNCTION_UNSUPPORTED NTStatus = 0xC0291006 + STATUS_PCP_ERROR_MASK NTStatus = 0xC0292000 + STATUS_PCP_DEVICE_NOT_READY NTStatus = 0xC0292001 + STATUS_PCP_INVALID_HANDLE NTStatus = 0xC0292002 + STATUS_PCP_INVALID_PARAMETER NTStatus = 0xC0292003 + STATUS_PCP_FLAG_NOT_SUPPORTED NTStatus = 0xC0292004 + STATUS_PCP_NOT_SUPPORTED NTStatus = 0xC0292005 + STATUS_PCP_BUFFER_TOO_SMALL NTStatus = 0xC0292006 + STATUS_PCP_INTERNAL_ERROR NTStatus = 0xC0292007 + STATUS_PCP_AUTHENTICATION_FAILED NTStatus = 0xC0292008 + STATUS_PCP_AUTHENTICATION_IGNORED NTStatus = 0xC0292009 + STATUS_PCP_POLICY_NOT_FOUND NTStatus = 0xC029200A + STATUS_PCP_PROFILE_NOT_FOUND NTStatus = 0xC029200B + STATUS_PCP_VALIDATION_FAILED NTStatus = 0xC029200C + STATUS_PCP_DEVICE_NOT_FOUND NTStatus = 0xC029200D + STATUS_PCP_WRONG_PARENT NTStatus = 0xC029200E + STATUS_PCP_KEY_NOT_LOADED NTStatus = 0xC029200F + STATUS_PCP_NO_KEY_CERTIFICATION NTStatus = 0xC0292010 + STATUS_PCP_KEY_NOT_FINALIZED NTStatus = 0xC0292011 + STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET NTStatus = 0xC0292012 + STATUS_PCP_NOT_PCR_BOUND NTStatus = 0xC0292013 + STATUS_PCP_KEY_ALREADY_FINALIZED NTStatus = 0xC0292014 + STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED NTStatus = 0xC0292015 + STATUS_PCP_KEY_USAGE_POLICY_INVALID NTStatus = 0xC0292016 + STATUS_PCP_SOFT_KEY_ERROR NTStatus = 0xC0292017 + STATUS_PCP_KEY_NOT_AUTHENTICATED NTStatus = 0xC0292018 + STATUS_PCP_KEY_NOT_AIK NTStatus = 0xC0292019 + STATUS_PCP_KEY_NOT_SIGNING_KEY NTStatus = 0xC029201A + STATUS_PCP_LOCKED_OUT NTStatus = 0xC029201B + STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED NTStatus = 0xC029201C + STATUS_PCP_TPM_VERSION_NOT_SUPPORTED NTStatus = 0xC029201D + STATUS_PCP_BUFFER_LENGTH_MISMATCH NTStatus = 0xC029201E + STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED NTStatus = 0xC029201F + STATUS_PCP_TICKET_MISSING NTStatus = 0xC0292020 + STATUS_PCP_RAW_POLICY_NOT_SUPPORTED NTStatus = 0xC0292021 + STATUS_PCP_KEY_HANDLE_INVALIDATED NTStatus = 0xC0292022 + STATUS_PCP_UNSUPPORTED_PSS_SALT NTStatus = 0x40292023 + STATUS_RTPM_CONTEXT_CONTINUE NTStatus = 0x00293000 + STATUS_RTPM_CONTEXT_COMPLETE NTStatus = 0x00293001 + STATUS_RTPM_NO_RESULT NTStatus = 0xC0293002 + STATUS_RTPM_PCR_READ_INCOMPLETE NTStatus = 0xC0293003 + STATUS_RTPM_INVALID_CONTEXT NTStatus = 0xC0293004 + STATUS_RTPM_UNSUPPORTED_CMD NTStatus = 0xC0293005 + STATUS_TPM_ZERO_EXHAUST_ENABLED NTStatus = 0xC0294000 + STATUS_HV_INVALID_HYPERCALL_CODE NTStatus = 0xC0350002 + STATUS_HV_INVALID_HYPERCALL_INPUT NTStatus = 0xC0350003 + STATUS_HV_INVALID_ALIGNMENT NTStatus = 0xC0350004 + STATUS_HV_INVALID_PARAMETER NTStatus = 0xC0350005 + STATUS_HV_ACCESS_DENIED NTStatus = 0xC0350006 + STATUS_HV_INVALID_PARTITION_STATE NTStatus = 0xC0350007 + STATUS_HV_OPERATION_DENIED NTStatus = 0xC0350008 + STATUS_HV_UNKNOWN_PROPERTY NTStatus = 0xC0350009 + STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE NTStatus = 0xC035000A + STATUS_HV_INSUFFICIENT_MEMORY NTStatus = 0xC035000B + STATUS_HV_PARTITION_TOO_DEEP NTStatus = 0xC035000C + STATUS_HV_INVALID_PARTITION_ID NTStatus = 0xC035000D + STATUS_HV_INVALID_VP_INDEX NTStatus = 0xC035000E + STATUS_HV_INVALID_PORT_ID NTStatus = 0xC0350011 + STATUS_HV_INVALID_CONNECTION_ID NTStatus = 0xC0350012 + STATUS_HV_INSUFFICIENT_BUFFERS NTStatus = 0xC0350013 + STATUS_HV_NOT_ACKNOWLEDGED NTStatus = 0xC0350014 + STATUS_HV_INVALID_VP_STATE NTStatus = 0xC0350015 + STATUS_HV_ACKNOWLEDGED NTStatus = 0xC0350016 + STATUS_HV_INVALID_SAVE_RESTORE_STATE NTStatus = 0xC0350017 + STATUS_HV_INVALID_SYNIC_STATE NTStatus = 0xC0350018 + STATUS_HV_OBJECT_IN_USE NTStatus = 0xC0350019 + STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO NTStatus = 0xC035001A + STATUS_HV_NO_DATA NTStatus = 0xC035001B + STATUS_HV_INACTIVE NTStatus = 0xC035001C + STATUS_HV_NO_RESOURCES NTStatus = 0xC035001D + STATUS_HV_FEATURE_UNAVAILABLE NTStatus = 0xC035001E + STATUS_HV_INSUFFICIENT_BUFFER NTStatus = 0xC0350033 + STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS NTStatus = 0xC0350038 + STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR NTStatus = 0xC035003C + STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR NTStatus = 0xC035003D + STATUS_HV_PROCESSOR_STARTUP_TIMEOUT NTStatus = 0xC035003E + STATUS_HV_SMX_ENABLED NTStatus = 0xC035003F + STATUS_HV_INVALID_LP_INDEX NTStatus = 0xC0350041 + STATUS_HV_INVALID_REGISTER_VALUE NTStatus = 0xC0350050 + STATUS_HV_INVALID_VTL_STATE NTStatus = 0xC0350051 + STATUS_HV_NX_NOT_DETECTED NTStatus = 0xC0350055 + STATUS_HV_INVALID_DEVICE_ID NTStatus = 0xC0350057 + STATUS_HV_INVALID_DEVICE_STATE NTStatus = 0xC0350058 + STATUS_HV_PENDING_PAGE_REQUESTS NTStatus = 0x00350059 + STATUS_HV_PAGE_REQUEST_INVALID NTStatus = 0xC0350060 + STATUS_HV_INVALID_CPU_GROUP_ID NTStatus = 0xC035006F + STATUS_HV_INVALID_CPU_GROUP_STATE NTStatus = 0xC0350070 + STATUS_HV_OPERATION_FAILED NTStatus = 0xC0350071 + STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE NTStatus = 0xC0350072 + STATUS_HV_INSUFFICIENT_ROOT_MEMORY NTStatus = 0xC0350073 + STATUS_HV_NOT_PRESENT NTStatus = 0xC0351000 + STATUS_VID_DUPLICATE_HANDLER NTStatus = 0xC0370001 + STATUS_VID_TOO_MANY_HANDLERS NTStatus = 0xC0370002 + STATUS_VID_QUEUE_FULL NTStatus = 0xC0370003 + STATUS_VID_HANDLER_NOT_PRESENT NTStatus = 0xC0370004 + STATUS_VID_INVALID_OBJECT_NAME NTStatus = 0xC0370005 + STATUS_VID_PARTITION_NAME_TOO_LONG NTStatus = 0xC0370006 + STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG NTStatus = 0xC0370007 + STATUS_VID_PARTITION_ALREADY_EXISTS NTStatus = 0xC0370008 + STATUS_VID_PARTITION_DOES_NOT_EXIST NTStatus = 0xC0370009 + STATUS_VID_PARTITION_NAME_NOT_FOUND NTStatus = 0xC037000A + STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS NTStatus = 0xC037000B + STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT NTStatus = 0xC037000C + STATUS_VID_MB_STILL_REFERENCED NTStatus = 0xC037000D + STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED NTStatus = 0xC037000E + STATUS_VID_INVALID_NUMA_SETTINGS NTStatus = 0xC037000F + STATUS_VID_INVALID_NUMA_NODE_INDEX NTStatus = 0xC0370010 + STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED NTStatus = 0xC0370011 + STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE NTStatus = 0xC0370012 + STATUS_VID_PAGE_RANGE_OVERFLOW NTStatus = 0xC0370013 + STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE NTStatus = 0xC0370014 + STATUS_VID_INVALID_GPA_RANGE_HANDLE NTStatus = 0xC0370015 + STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE NTStatus = 0xC0370016 + STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED NTStatus = 0xC0370017 + STATUS_VID_INVALID_PPM_HANDLE NTStatus = 0xC0370018 + STATUS_VID_MBPS_ARE_LOCKED NTStatus = 0xC0370019 + STATUS_VID_MESSAGE_QUEUE_CLOSED NTStatus = 0xC037001A + STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED NTStatus = 0xC037001B + STATUS_VID_STOP_PENDING NTStatus = 0xC037001C + STATUS_VID_INVALID_PROCESSOR_STATE NTStatus = 0xC037001D + STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT NTStatus = 0xC037001E + STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED NTStatus = 0xC037001F + STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET NTStatus = 0xC0370020 + STATUS_VID_MMIO_RANGE_DESTROYED NTStatus = 0xC0370021 + STATUS_VID_INVALID_CHILD_GPA_PAGE_SET NTStatus = 0xC0370022 + STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED NTStatus = 0xC0370023 + STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL NTStatus = 0xC0370024 + STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE NTStatus = 0xC0370025 + STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT NTStatus = 0xC0370026 + STATUS_VID_SAVED_STATE_CORRUPT NTStatus = 0xC0370027 + STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM NTStatus = 0xC0370028 + STATUS_VID_SAVED_STATE_INCOMPATIBLE NTStatus = 0xC0370029 + STATUS_VID_VTL_ACCESS_DENIED NTStatus = 0xC037002A + STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED NTStatus = 0x80370001 + STATUS_IPSEC_BAD_SPI NTStatus = 0xC0360001 + STATUS_IPSEC_SA_LIFETIME_EXPIRED NTStatus = 0xC0360002 + STATUS_IPSEC_WRONG_SA NTStatus = 0xC0360003 + STATUS_IPSEC_REPLAY_CHECK_FAILED NTStatus = 0xC0360004 + STATUS_IPSEC_INVALID_PACKET NTStatus = 0xC0360005 + STATUS_IPSEC_INTEGRITY_CHECK_FAILED NTStatus = 0xC0360006 + STATUS_IPSEC_CLEAR_TEXT_DROP NTStatus = 0xC0360007 + STATUS_IPSEC_AUTH_FIREWALL_DROP NTStatus = 0xC0360008 + STATUS_IPSEC_THROTTLE_DROP NTStatus = 0xC0360009 + STATUS_IPSEC_DOSP_BLOCK NTStatus = 0xC0368000 + STATUS_IPSEC_DOSP_RECEIVED_MULTICAST NTStatus = 0xC0368001 + STATUS_IPSEC_DOSP_INVALID_PACKET NTStatus = 0xC0368002 + STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED NTStatus = 0xC0368003 + STATUS_IPSEC_DOSP_MAX_ENTRIES NTStatus = 0xC0368004 + STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED NTStatus = 0xC0368005 + STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES NTStatus = 0xC0368006 + STATUS_VOLMGR_INCOMPLETE_REGENERATION NTStatus = 0x80380001 + STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION NTStatus = 0x80380002 + STATUS_VOLMGR_DATABASE_FULL NTStatus = 0xC0380001 + STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED NTStatus = 0xC0380002 + STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC NTStatus = 0xC0380003 + STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED NTStatus = 0xC0380004 + STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME NTStatus = 0xC0380005 + STATUS_VOLMGR_DISK_DUPLICATE NTStatus = 0xC0380006 + STATUS_VOLMGR_DISK_DYNAMIC NTStatus = 0xC0380007 + STATUS_VOLMGR_DISK_ID_INVALID NTStatus = 0xC0380008 + STATUS_VOLMGR_DISK_INVALID NTStatus = 0xC0380009 + STATUS_VOLMGR_DISK_LAST_VOTER NTStatus = 0xC038000A + STATUS_VOLMGR_DISK_LAYOUT_INVALID NTStatus = 0xC038000B + STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS NTStatus = 0xC038000C + STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED NTStatus = 0xC038000D + STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL NTStatus = 0xC038000E + STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS NTStatus = 0xC038000F + STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS NTStatus = 0xC0380010 + STATUS_VOLMGR_DISK_MISSING NTStatus = 0xC0380011 + STATUS_VOLMGR_DISK_NOT_EMPTY NTStatus = 0xC0380012 + STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE NTStatus = 0xC0380013 + STATUS_VOLMGR_DISK_REVECTORING_FAILED NTStatus = 0xC0380014 + STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID NTStatus = 0xC0380015 + STATUS_VOLMGR_DISK_SET_NOT_CONTAINED NTStatus = 0xC0380016 + STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS NTStatus = 0xC0380017 + STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES NTStatus = 0xC0380018 + STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED NTStatus = 0xC0380019 + STATUS_VOLMGR_EXTENT_ALREADY_USED NTStatus = 0xC038001A + STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS NTStatus = 0xC038001B + STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION NTStatus = 0xC038001C + STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED NTStatus = 0xC038001D + STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION NTStatus = 0xC038001E + STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH NTStatus = 0xC038001F + STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED NTStatus = 0xC0380020 + STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID NTStatus = 0xC0380021 + STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS NTStatus = 0xC0380022 + STATUS_VOLMGR_MEMBER_IN_SYNC NTStatus = 0xC0380023 + STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE NTStatus = 0xC0380024 + STATUS_VOLMGR_MEMBER_INDEX_INVALID NTStatus = 0xC0380025 + STATUS_VOLMGR_MEMBER_MISSING NTStatus = 0xC0380026 + STATUS_VOLMGR_MEMBER_NOT_DETACHED NTStatus = 0xC0380027 + STATUS_VOLMGR_MEMBER_REGENERATING NTStatus = 0xC0380028 + STATUS_VOLMGR_ALL_DISKS_FAILED NTStatus = 0xC0380029 + STATUS_VOLMGR_NO_REGISTERED_USERS NTStatus = 0xC038002A + STATUS_VOLMGR_NO_SUCH_USER NTStatus = 0xC038002B + STATUS_VOLMGR_NOTIFICATION_RESET NTStatus = 0xC038002C + STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID NTStatus = 0xC038002D + STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID NTStatus = 0xC038002E + STATUS_VOLMGR_PACK_DUPLICATE NTStatus = 0xC038002F + STATUS_VOLMGR_PACK_ID_INVALID NTStatus = 0xC0380030 + STATUS_VOLMGR_PACK_INVALID NTStatus = 0xC0380031 + STATUS_VOLMGR_PACK_NAME_INVALID NTStatus = 0xC0380032 + STATUS_VOLMGR_PACK_OFFLINE NTStatus = 0xC0380033 + STATUS_VOLMGR_PACK_HAS_QUORUM NTStatus = 0xC0380034 + STATUS_VOLMGR_PACK_WITHOUT_QUORUM NTStatus = 0xC0380035 + STATUS_VOLMGR_PARTITION_STYLE_INVALID NTStatus = 0xC0380036 + STATUS_VOLMGR_PARTITION_UPDATE_FAILED NTStatus = 0xC0380037 + STATUS_VOLMGR_PLEX_IN_SYNC NTStatus = 0xC0380038 + STATUS_VOLMGR_PLEX_INDEX_DUPLICATE NTStatus = 0xC0380039 + STATUS_VOLMGR_PLEX_INDEX_INVALID NTStatus = 0xC038003A + STATUS_VOLMGR_PLEX_LAST_ACTIVE NTStatus = 0xC038003B + STATUS_VOLMGR_PLEX_MISSING NTStatus = 0xC038003C + STATUS_VOLMGR_PLEX_REGENERATING NTStatus = 0xC038003D + STATUS_VOLMGR_PLEX_TYPE_INVALID NTStatus = 0xC038003E + STATUS_VOLMGR_PLEX_NOT_RAID5 NTStatus = 0xC038003F + STATUS_VOLMGR_PLEX_NOT_SIMPLE NTStatus = 0xC0380040 + STATUS_VOLMGR_STRUCTURE_SIZE_INVALID NTStatus = 0xC0380041 + STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS NTStatus = 0xC0380042 + STATUS_VOLMGR_TRANSACTION_IN_PROGRESS NTStatus = 0xC0380043 + STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE NTStatus = 0xC0380044 + STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK NTStatus = 0xC0380045 + STATUS_VOLMGR_VOLUME_ID_INVALID NTStatus = 0xC0380046 + STATUS_VOLMGR_VOLUME_LENGTH_INVALID NTStatus = 0xC0380047 + STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE NTStatus = 0xC0380048 + STATUS_VOLMGR_VOLUME_NOT_MIRRORED NTStatus = 0xC0380049 + STATUS_VOLMGR_VOLUME_NOT_RETAINED NTStatus = 0xC038004A + STATUS_VOLMGR_VOLUME_OFFLINE NTStatus = 0xC038004B + STATUS_VOLMGR_VOLUME_RETAINED NTStatus = 0xC038004C + STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID NTStatus = 0xC038004D + STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE NTStatus = 0xC038004E + STATUS_VOLMGR_BAD_BOOT_DISK NTStatus = 0xC038004F + STATUS_VOLMGR_PACK_CONFIG_OFFLINE NTStatus = 0xC0380050 + STATUS_VOLMGR_PACK_CONFIG_ONLINE NTStatus = 0xC0380051 + STATUS_VOLMGR_NOT_PRIMARY_PACK NTStatus = 0xC0380052 + STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED NTStatus = 0xC0380053 + STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID NTStatus = 0xC0380054 + STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID NTStatus = 0xC0380055 + STATUS_VOLMGR_VOLUME_MIRRORED NTStatus = 0xC0380056 + STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED NTStatus = 0xC0380057 + STATUS_VOLMGR_NO_VALID_LOG_COPIES NTStatus = 0xC0380058 + STATUS_VOLMGR_PRIMARY_PACK_PRESENT NTStatus = 0xC0380059 + STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID NTStatus = 0xC038005A + STATUS_VOLMGR_MIRROR_NOT_SUPPORTED NTStatus = 0xC038005B + STATUS_VOLMGR_RAID5_NOT_SUPPORTED NTStatus = 0xC038005C + STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED NTStatus = 0x80390001 + STATUS_BCD_TOO_MANY_ELEMENTS NTStatus = 0xC0390002 + STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED NTStatus = 0x80390003 + STATUS_VHD_DRIVE_FOOTER_MISSING NTStatus = 0xC03A0001 + STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH NTStatus = 0xC03A0002 + STATUS_VHD_DRIVE_FOOTER_CORRUPT NTStatus = 0xC03A0003 + STATUS_VHD_FORMAT_UNKNOWN NTStatus = 0xC03A0004 + STATUS_VHD_FORMAT_UNSUPPORTED_VERSION NTStatus = 0xC03A0005 + STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH NTStatus = 0xC03A0006 + STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION NTStatus = 0xC03A0007 + STATUS_VHD_SPARSE_HEADER_CORRUPT NTStatus = 0xC03A0008 + STATUS_VHD_BLOCK_ALLOCATION_FAILURE NTStatus = 0xC03A0009 + STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT NTStatus = 0xC03A000A + STATUS_VHD_INVALID_BLOCK_SIZE NTStatus = 0xC03A000B + STATUS_VHD_BITMAP_MISMATCH NTStatus = 0xC03A000C + STATUS_VHD_PARENT_VHD_NOT_FOUND NTStatus = 0xC03A000D + STATUS_VHD_CHILD_PARENT_ID_MISMATCH NTStatus = 0xC03A000E + STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH NTStatus = 0xC03A000F + STATUS_VHD_METADATA_READ_FAILURE NTStatus = 0xC03A0010 + STATUS_VHD_METADATA_WRITE_FAILURE NTStatus = 0xC03A0011 + STATUS_VHD_INVALID_SIZE NTStatus = 0xC03A0012 + STATUS_VHD_INVALID_FILE_SIZE NTStatus = 0xC03A0013 + STATUS_VIRTDISK_PROVIDER_NOT_FOUND NTStatus = 0xC03A0014 + STATUS_VIRTDISK_NOT_VIRTUAL_DISK NTStatus = 0xC03A0015 + STATUS_VHD_PARENT_VHD_ACCESS_DENIED NTStatus = 0xC03A0016 + STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH NTStatus = 0xC03A0017 + STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED NTStatus = 0xC03A0018 + STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT NTStatus = 0xC03A0019 + STATUS_VIRTUAL_DISK_LIMITATION NTStatus = 0xC03A001A + STATUS_VHD_INVALID_TYPE NTStatus = 0xC03A001B + STATUS_VHD_INVALID_STATE NTStatus = 0xC03A001C + STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE NTStatus = 0xC03A001D + STATUS_VIRTDISK_DISK_ALREADY_OWNED NTStatus = 0xC03A001E + STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE NTStatus = 0xC03A001F + STATUS_CTLOG_TRACKING_NOT_INITIALIZED NTStatus = 0xC03A0020 + STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE NTStatus = 0xC03A0021 + STATUS_CTLOG_VHD_CHANGED_OFFLINE NTStatus = 0xC03A0022 + STATUS_CTLOG_INVALID_TRACKING_STATE NTStatus = 0xC03A0023 + STATUS_CTLOG_INCONSISTENT_TRACKING_FILE NTStatus = 0xC03A0024 + STATUS_VHD_METADATA_FULL NTStatus = 0xC03A0028 + STATUS_VHD_INVALID_CHANGE_TRACKING_ID NTStatus = 0xC03A0029 + STATUS_VHD_CHANGE_TRACKING_DISABLED NTStatus = 0xC03A002A + STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION NTStatus = 0xC03A0030 + STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA NTStatus = 0xC03A0031 + STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE NTStatus = 0xC03A0032 + STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE NTStatus = 0xC03A0033 + STATUS_QUERY_STORAGE_ERROR NTStatus = 0x803A0001 + STATUS_GDI_HANDLE_LEAK NTStatus = 0x803F0001 + STATUS_RKF_KEY_NOT_FOUND NTStatus = 0xC0400001 + STATUS_RKF_DUPLICATE_KEY NTStatus = 0xC0400002 + STATUS_RKF_BLOB_FULL NTStatus = 0xC0400003 + STATUS_RKF_STORE_FULL NTStatus = 0xC0400004 + STATUS_RKF_FILE_BLOCKED NTStatus = 0xC0400005 + STATUS_RKF_ACTIVE_KEY NTStatus = 0xC0400006 + STATUS_RDBSS_RESTART_OPERATION NTStatus = 0xC0410001 + STATUS_RDBSS_CONTINUE_OPERATION NTStatus = 0xC0410002 + STATUS_RDBSS_POST_OPERATION NTStatus = 0xC0410003 + STATUS_RDBSS_RETRY_LOOKUP NTStatus = 0xC0410004 + STATUS_BTH_ATT_INVALID_HANDLE NTStatus = 0xC0420001 + STATUS_BTH_ATT_READ_NOT_PERMITTED NTStatus = 0xC0420002 + STATUS_BTH_ATT_WRITE_NOT_PERMITTED NTStatus = 0xC0420003 + STATUS_BTH_ATT_INVALID_PDU NTStatus = 0xC0420004 + STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION NTStatus = 0xC0420005 + STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED NTStatus = 0xC0420006 + STATUS_BTH_ATT_INVALID_OFFSET NTStatus = 0xC0420007 + STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION NTStatus = 0xC0420008 + STATUS_BTH_ATT_PREPARE_QUEUE_FULL NTStatus = 0xC0420009 + STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND NTStatus = 0xC042000A + STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG NTStatus = 0xC042000B + STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE NTStatus = 0xC042000C + STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH NTStatus = 0xC042000D + STATUS_BTH_ATT_UNLIKELY NTStatus = 0xC042000E + STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION NTStatus = 0xC042000F + STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE NTStatus = 0xC0420010 + STATUS_BTH_ATT_INSUFFICIENT_RESOURCES NTStatus = 0xC0420011 + STATUS_BTH_ATT_UNKNOWN_ERROR NTStatus = 0xC0421000 + STATUS_SECUREBOOT_ROLLBACK_DETECTED NTStatus = 0xC0430001 + STATUS_SECUREBOOT_POLICY_VIOLATION NTStatus = 0xC0430002 + STATUS_SECUREBOOT_INVALID_POLICY NTStatus = 0xC0430003 + STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND NTStatus = 0xC0430004 + STATUS_SECUREBOOT_POLICY_NOT_SIGNED NTStatus = 0xC0430005 + STATUS_SECUREBOOT_NOT_ENABLED NTStatus = 0x80430006 + STATUS_SECUREBOOT_FILE_REPLACED NTStatus = 0xC0430007 + STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED NTStatus = 0xC0430008 + STATUS_SECUREBOOT_POLICY_UNKNOWN NTStatus = 0xC0430009 + STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION NTStatus = 0xC043000A + STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH NTStatus = 0xC043000B + STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED NTStatus = 0xC043000C + STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH NTStatus = 0xC043000D + STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING NTStatus = 0xC043000E + STATUS_SECUREBOOT_NOT_BASE_POLICY NTStatus = 0xC043000F + STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY NTStatus = 0xC0430010 + STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED NTStatus = 0xC0EB0001 + STATUS_PLATFORM_MANIFEST_INVALID NTStatus = 0xC0EB0002 + STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED NTStatus = 0xC0EB0003 + STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED NTStatus = 0xC0EB0004 + STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND NTStatus = 0xC0EB0005 + STATUS_PLATFORM_MANIFEST_NOT_ACTIVE NTStatus = 0xC0EB0006 + STATUS_PLATFORM_MANIFEST_NOT_SIGNED NTStatus = 0xC0EB0007 + STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED NTStatus = 0xC0E90001 + STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION NTStatus = 0xC0E90002 + STATUS_SYSTEM_INTEGRITY_INVALID_POLICY NTStatus = 0xC0E90003 + STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED NTStatus = 0xC0E90004 + STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES NTStatus = 0xC0E90005 + STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED NTStatus = 0xC0E90006 + STATUS_NO_APPLICABLE_APP_LICENSES_FOUND NTStatus = 0xC0EA0001 + STATUS_CLIP_LICENSE_NOT_FOUND NTStatus = 0xC0EA0002 + STATUS_CLIP_DEVICE_LICENSE_MISSING NTStatus = 0xC0EA0003 + STATUS_CLIP_LICENSE_INVALID_SIGNATURE NTStatus = 0xC0EA0004 + STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID NTStatus = 0xC0EA0005 + STATUS_CLIP_LICENSE_EXPIRED NTStatus = 0xC0EA0006 + STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE NTStatus = 0xC0EA0007 + STATUS_CLIP_LICENSE_NOT_SIGNED NTStatus = 0xC0EA0008 + STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE NTStatus = 0xC0EA0009 + STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH NTStatus = 0xC0EA000A + STATUS_AUDIO_ENGINE_NODE_NOT_FOUND NTStatus = 0xC0440001 + STATUS_HDAUDIO_EMPTY_CONNECTION_LIST NTStatus = 0xC0440002 + STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED NTStatus = 0xC0440003 + STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED NTStatus = 0xC0440004 + STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY NTStatus = 0xC0440005 + STATUS_SPACES_REPAIRED NTStatus = 0x00E70000 + STATUS_SPACES_PAUSE NTStatus = 0x00E70001 + STATUS_SPACES_COMPLETE NTStatus = 0x00E70002 + STATUS_SPACES_REDIRECT NTStatus = 0x00E70003 + STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID NTStatus = 0xC0E70001 + STATUS_SPACES_RESILIENCY_TYPE_INVALID NTStatus = 0xC0E70003 + STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID NTStatus = 0xC0E70004 + STATUS_SPACES_DRIVE_REDUNDANCY_INVALID NTStatus = 0xC0E70006 + STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID NTStatus = 0xC0E70007 + STATUS_SPACES_INTERLEAVE_LENGTH_INVALID NTStatus = 0xC0E70009 + STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID NTStatus = 0xC0E7000A + STATUS_SPACES_NOT_ENOUGH_DRIVES NTStatus = 0xC0E7000B + STATUS_SPACES_EXTENDED_ERROR NTStatus = 0xC0E7000C + STATUS_SPACES_PROVISIONING_TYPE_INVALID NTStatus = 0xC0E7000D + STATUS_SPACES_ALLOCATION_SIZE_INVALID NTStatus = 0xC0E7000E + STATUS_SPACES_ENCLOSURE_AWARE_INVALID NTStatus = 0xC0E7000F + STATUS_SPACES_WRITE_CACHE_SIZE_INVALID NTStatus = 0xC0E70010 + STATUS_SPACES_NUMBER_OF_GROUPS_INVALID NTStatus = 0xC0E70011 + STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID NTStatus = 0xC0E70012 + STATUS_SPACES_UPDATE_COLUMN_STATE NTStatus = 0xC0E70013 + STATUS_SPACES_MAP_REQUIRED NTStatus = 0xC0E70014 + STATUS_SPACES_UNSUPPORTED_VERSION NTStatus = 0xC0E70015 + STATUS_SPACES_CORRUPT_METADATA NTStatus = 0xC0E70016 + STATUS_SPACES_DRT_FULL NTStatus = 0xC0E70017 + STATUS_SPACES_INCONSISTENCY NTStatus = 0xC0E70018 + STATUS_SPACES_LOG_NOT_READY NTStatus = 0xC0E70019 + STATUS_SPACES_NO_REDUNDANCY NTStatus = 0xC0E7001A + STATUS_SPACES_DRIVE_NOT_READY NTStatus = 0xC0E7001B + STATUS_SPACES_DRIVE_SPLIT NTStatus = 0xC0E7001C + STATUS_SPACES_DRIVE_LOST_DATA NTStatus = 0xC0E7001D + STATUS_SPACES_ENTRY_INCOMPLETE NTStatus = 0xC0E7001E + STATUS_SPACES_ENTRY_INVALID NTStatus = 0xC0E7001F + STATUS_SPACES_MARK_DIRTY NTStatus = 0xC0E70020 + STATUS_VOLSNAP_BOOTFILE_NOT_VALID NTStatus = 0xC0500003 + STATUS_VOLSNAP_ACTIVATION_TIMEOUT NTStatus = 0xC0500004 + STATUS_IO_PREEMPTED NTStatus = 0xC0510001 + STATUS_SVHDX_ERROR_STORED NTStatus = 0xC05C0000 + STATUS_SVHDX_ERROR_NOT_AVAILABLE NTStatus = 0xC05CFF00 + STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE NTStatus = 0xC05CFF01 + STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED NTStatus = 0xC05CFF02 + STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED NTStatus = 0xC05CFF03 + STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED NTStatus = 0xC05CFF04 + STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED NTStatus = 0xC05CFF05 + STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED NTStatus = 0xC05CFF06 + STATUS_SVHDX_RESERVATION_CONFLICT NTStatus = 0xC05CFF07 + STATUS_SVHDX_WRONG_FILE_TYPE NTStatus = 0xC05CFF08 + STATUS_SVHDX_VERSION_MISMATCH NTStatus = 0xC05CFF09 + STATUS_VHD_SHARED NTStatus = 0xC05CFF0A + STATUS_SVHDX_NO_INITIATOR NTStatus = 0xC05CFF0B + STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND NTStatus = 0xC05CFF0C + STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP NTStatus = 0xC05D0000 + STATUS_SMB_BAD_CLUSTER_DIALECT NTStatus = 0xC05D0001 + STATUS_SMB_GUEST_LOGON_BLOCKED NTStatus = 0xC05D0002 + STATUS_SECCORE_INVALID_COMMAND NTStatus = 0xC0E80000 + STATUS_VSM_NOT_INITIALIZED NTStatus = 0xC0450000 + STATUS_VSM_DMA_PROTECTION_NOT_IN_USE NTStatus = 0xC0450001 + STATUS_APPEXEC_CONDITION_NOT_SATISFIED NTStatus = 0xC0EC0000 + STATUS_APPEXEC_HANDLE_INVALIDATED NTStatus = 0xC0EC0001 + STATUS_APPEXEC_INVALID_HOST_GENERATION NTStatus = 0xC0EC0002 + STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION NTStatus = 0xC0EC0003 + STATUS_APPEXEC_INVALID_HOST_STATE NTStatus = 0xC0EC0004 + STATUS_APPEXEC_NO_DONOR NTStatus = 0xC0EC0005 + STATUS_APPEXEC_HOST_ID_MISMATCH NTStatus = 0xC0EC0006 + STATUS_APPEXEC_UNKNOWN_USER NTStatus = 0xC0EC0007 +) diff --git a/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go b/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go new file mode 100644 index 000000000..6048ac679 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go @@ -0,0 +1,149 @@ +// Code generated by 'mkknownfolderids.bash'; DO NOT EDIT. + +package windows + +type KNOWNFOLDERID GUID + +var ( + FOLDERID_NetworkFolder = &KNOWNFOLDERID{0xd20beec4, 0x5ca8, 0x4905, [8]byte{0xae, 0x3b, 0xbf, 0x25, 0x1e, 0xa0, 0x9b, 0x53}} + FOLDERID_ComputerFolder = &KNOWNFOLDERID{0x0ac0837c, 0xbbf8, 0x452a, [8]byte{0x85, 0x0d, 0x79, 0xd0, 0x8e, 0x66, 0x7c, 0xa7}} + FOLDERID_InternetFolder = &KNOWNFOLDERID{0x4d9f7874, 0x4e0c, 0x4904, [8]byte{0x96, 0x7b, 0x40, 0xb0, 0xd2, 0x0c, 0x3e, 0x4b}} + FOLDERID_ControlPanelFolder = &KNOWNFOLDERID{0x82a74aeb, 0xaeb4, 0x465c, [8]byte{0xa0, 0x14, 0xd0, 0x97, 0xee, 0x34, 0x6d, 0x63}} + FOLDERID_PrintersFolder = &KNOWNFOLDERID{0x76fc4e2d, 0xd6ad, 0x4519, [8]byte{0xa6, 0x63, 0x37, 0xbd, 0x56, 0x06, 0x81, 0x85}} + FOLDERID_SyncManagerFolder = &KNOWNFOLDERID{0x43668bf8, 0xc14e, 0x49b2, [8]byte{0x97, 0xc9, 0x74, 0x77, 0x84, 0xd7, 0x84, 0xb7}} + FOLDERID_SyncSetupFolder = &KNOWNFOLDERID{0x0f214138, 0xb1d3, 0x4a90, [8]byte{0xbb, 0xa9, 0x27, 0xcb, 0xc0, 0xc5, 0x38, 0x9a}} + FOLDERID_ConflictFolder = &KNOWNFOLDERID{0x4bfefb45, 0x347d, 0x4006, [8]byte{0xa5, 0xbe, 0xac, 0x0c, 0xb0, 0x56, 0x71, 0x92}} + FOLDERID_SyncResultsFolder = &KNOWNFOLDERID{0x289a9a43, 0xbe44, 0x4057, [8]byte{0xa4, 0x1b, 0x58, 0x7a, 0x76, 0xd7, 0xe7, 0xf9}} + FOLDERID_RecycleBinFolder = &KNOWNFOLDERID{0xb7534046, 0x3ecb, 0x4c18, [8]byte{0xbe, 0x4e, 0x64, 0xcd, 0x4c, 0xb7, 0xd6, 0xac}} + FOLDERID_ConnectionsFolder = &KNOWNFOLDERID{0x6f0cd92b, 0x2e97, 0x45d1, [8]byte{0x88, 0xff, 0xb0, 0xd1, 0x86, 0xb8, 0xde, 0xdd}} + FOLDERID_Fonts = &KNOWNFOLDERID{0xfd228cb7, 0xae11, 0x4ae3, [8]byte{0x86, 0x4c, 0x16, 0xf3, 0x91, 0x0a, 0xb8, 0xfe}} + FOLDERID_Desktop = &KNOWNFOLDERID{0xb4bfcc3a, 0xdb2c, 0x424c, [8]byte{0xb0, 0x29, 0x7f, 0xe9, 0x9a, 0x87, 0xc6, 0x41}} + FOLDERID_Startup = &KNOWNFOLDERID{0xb97d20bb, 0xf46a, 0x4c97, [8]byte{0xba, 0x10, 0x5e, 0x36, 0x08, 0x43, 0x08, 0x54}} + FOLDERID_Programs = &KNOWNFOLDERID{0xa77f5d77, 0x2e2b, 0x44c3, [8]byte{0xa6, 0xa2, 0xab, 0xa6, 0x01, 0x05, 0x4a, 0x51}} + FOLDERID_StartMenu = &KNOWNFOLDERID{0x625b53c3, 0xab48, 0x4ec1, [8]byte{0xba, 0x1f, 0xa1, 0xef, 0x41, 0x46, 0xfc, 0x19}} + FOLDERID_Recent = &KNOWNFOLDERID{0xae50c081, 0xebd2, 0x438a, [8]byte{0x86, 0x55, 0x8a, 0x09, 0x2e, 0x34, 0x98, 0x7a}} + FOLDERID_SendTo = &KNOWNFOLDERID{0x8983036c, 0x27c0, 0x404b, [8]byte{0x8f, 0x08, 0x10, 0x2d, 0x10, 0xdc, 0xfd, 0x74}} + FOLDERID_Documents = &KNOWNFOLDERID{0xfdd39ad0, 0x238f, 0x46af, [8]byte{0xad, 0xb4, 0x6c, 0x85, 0x48, 0x03, 0x69, 0xc7}} + FOLDERID_Favorites = &KNOWNFOLDERID{0x1777f761, 0x68ad, 0x4d8a, [8]byte{0x87, 0xbd, 0x30, 0xb7, 0x59, 0xfa, 0x33, 0xdd}} + FOLDERID_NetHood = &KNOWNFOLDERID{0xc5abbf53, 0xe17f, 0x4121, [8]byte{0x89, 0x00, 0x86, 0x62, 0x6f, 0xc2, 0xc9, 0x73}} + FOLDERID_PrintHood = &KNOWNFOLDERID{0x9274bd8d, 0xcfd1, 0x41c3, [8]byte{0xb3, 0x5e, 0xb1, 0x3f, 0x55, 0xa7, 0x58, 0xf4}} + FOLDERID_Templates = &KNOWNFOLDERID{0xa63293e8, 0x664e, 0x48db, [8]byte{0xa0, 0x79, 0xdf, 0x75, 0x9e, 0x05, 0x09, 0xf7}} + FOLDERID_CommonStartup = &KNOWNFOLDERID{0x82a5ea35, 0xd9cd, 0x47c5, [8]byte{0x96, 0x29, 0xe1, 0x5d, 0x2f, 0x71, 0x4e, 0x6e}} + FOLDERID_CommonPrograms = &KNOWNFOLDERID{0x0139d44e, 0x6afe, 0x49f2, [8]byte{0x86, 0x90, 0x3d, 0xaf, 0xca, 0xe6, 0xff, 0xb8}} + FOLDERID_CommonStartMenu = &KNOWNFOLDERID{0xa4115719, 0xd62e, 0x491d, [8]byte{0xaa, 0x7c, 0xe7, 0x4b, 0x8b, 0xe3, 0xb0, 0x67}} + FOLDERID_PublicDesktop = &KNOWNFOLDERID{0xc4aa340d, 0xf20f, 0x4863, [8]byte{0xaf, 0xef, 0xf8, 0x7e, 0xf2, 0xe6, 0xba, 0x25}} + FOLDERID_ProgramData = &KNOWNFOLDERID{0x62ab5d82, 0xfdc1, 0x4dc3, [8]byte{0xa9, 0xdd, 0x07, 0x0d, 0x1d, 0x49, 0x5d, 0x97}} + FOLDERID_CommonTemplates = &KNOWNFOLDERID{0xb94237e7, 0x57ac, 0x4347, [8]byte{0x91, 0x51, 0xb0, 0x8c, 0x6c, 0x32, 0xd1, 0xf7}} + FOLDERID_PublicDocuments = &KNOWNFOLDERID{0xed4824af, 0xdce4, 0x45a8, [8]byte{0x81, 0xe2, 0xfc, 0x79, 0x65, 0x08, 0x36, 0x34}} + FOLDERID_RoamingAppData = &KNOWNFOLDERID{0x3eb685db, 0x65f9, 0x4cf6, [8]byte{0xa0, 0x3a, 0xe3, 0xef, 0x65, 0x72, 0x9f, 0x3d}} + FOLDERID_LocalAppData = &KNOWNFOLDERID{0xf1b32785, 0x6fba, 0x4fcf, [8]byte{0x9d, 0x55, 0x7b, 0x8e, 0x7f, 0x15, 0x70, 0x91}} + FOLDERID_LocalAppDataLow = &KNOWNFOLDERID{0xa520a1a4, 0x1780, 0x4ff6, [8]byte{0xbd, 0x18, 0x16, 0x73, 0x43, 0xc5, 0xaf, 0x16}} + FOLDERID_InternetCache = &KNOWNFOLDERID{0x352481e8, 0x33be, 0x4251, [8]byte{0xba, 0x85, 0x60, 0x07, 0xca, 0xed, 0xcf, 0x9d}} + FOLDERID_Cookies = &KNOWNFOLDERID{0x2b0f765d, 0xc0e9, 0x4171, [8]byte{0x90, 0x8e, 0x08, 0xa6, 0x11, 0xb8, 0x4f, 0xf6}} + FOLDERID_History = &KNOWNFOLDERID{0xd9dc8a3b, 0xb784, 0x432e, [8]byte{0xa7, 0x81, 0x5a, 0x11, 0x30, 0xa7, 0x59, 0x63}} + FOLDERID_System = &KNOWNFOLDERID{0x1ac14e77, 0x02e7, 0x4e5d, [8]byte{0xb7, 0x44, 0x2e, 0xb1, 0xae, 0x51, 0x98, 0xb7}} + FOLDERID_SystemX86 = &KNOWNFOLDERID{0xd65231b0, 0xb2f1, 0x4857, [8]byte{0xa4, 0xce, 0xa8, 0xe7, 0xc6, 0xea, 0x7d, 0x27}} + FOLDERID_Windows = &KNOWNFOLDERID{0xf38bf404, 0x1d43, 0x42f2, [8]byte{0x93, 0x05, 0x67, 0xde, 0x0b, 0x28, 0xfc, 0x23}} + FOLDERID_Profile = &KNOWNFOLDERID{0x5e6c858f, 0x0e22, 0x4760, [8]byte{0x9a, 0xfe, 0xea, 0x33, 0x17, 0xb6, 0x71, 0x73}} + FOLDERID_Pictures = &KNOWNFOLDERID{0x33e28130, 0x4e1e, 0x4676, [8]byte{0x83, 0x5a, 0x98, 0x39, 0x5c, 0x3b, 0xc3, 0xbb}} + FOLDERID_ProgramFilesX86 = &KNOWNFOLDERID{0x7c5a40ef, 0xa0fb, 0x4bfc, [8]byte{0x87, 0x4a, 0xc0, 0xf2, 0xe0, 0xb9, 0xfa, 0x8e}} + FOLDERID_ProgramFilesCommonX86 = &KNOWNFOLDERID{0xde974d24, 0xd9c6, 0x4d3e, [8]byte{0xbf, 0x91, 0xf4, 0x45, 0x51, 0x20, 0xb9, 0x17}} + FOLDERID_ProgramFilesX64 = &KNOWNFOLDERID{0x6d809377, 0x6af0, 0x444b, [8]byte{0x89, 0x57, 0xa3, 0x77, 0x3f, 0x02, 0x20, 0x0e}} + FOLDERID_ProgramFilesCommonX64 = &KNOWNFOLDERID{0x6365d5a7, 0x0f0d, 0x45e5, [8]byte{0x87, 0xf6, 0x0d, 0xa5, 0x6b, 0x6a, 0x4f, 0x7d}} + FOLDERID_ProgramFiles = &KNOWNFOLDERID{0x905e63b6, 0xc1bf, 0x494e, [8]byte{0xb2, 0x9c, 0x65, 0xb7, 0x32, 0xd3, 0xd2, 0x1a}} + FOLDERID_ProgramFilesCommon = &KNOWNFOLDERID{0xf7f1ed05, 0x9f6d, 0x47a2, [8]byte{0xaa, 0xae, 0x29, 0xd3, 0x17, 0xc6, 0xf0, 0x66}} + FOLDERID_UserProgramFiles = &KNOWNFOLDERID{0x5cd7aee2, 0x2219, 0x4a67, [8]byte{0xb8, 0x5d, 0x6c, 0x9c, 0xe1, 0x56, 0x60, 0xcb}} + FOLDERID_UserProgramFilesCommon = &KNOWNFOLDERID{0xbcbd3057, 0xca5c, 0x4622, [8]byte{0xb4, 0x2d, 0xbc, 0x56, 0xdb, 0x0a, 0xe5, 0x16}} + FOLDERID_AdminTools = &KNOWNFOLDERID{0x724ef170, 0xa42d, 0x4fef, [8]byte{0x9f, 0x26, 0xb6, 0x0e, 0x84, 0x6f, 0xba, 0x4f}} + FOLDERID_CommonAdminTools = &KNOWNFOLDERID{0xd0384e7d, 0xbac3, 0x4797, [8]byte{0x8f, 0x14, 0xcb, 0xa2, 0x29, 0xb3, 0x92, 0xb5}} + FOLDERID_Music = &KNOWNFOLDERID{0x4bd8d571, 0x6d19, 0x48d3, [8]byte{0xbe, 0x97, 0x42, 0x22, 0x20, 0x08, 0x0e, 0x43}} + FOLDERID_Videos = &KNOWNFOLDERID{0x18989b1d, 0x99b5, 0x455b, [8]byte{0x84, 0x1c, 0xab, 0x7c, 0x74, 0xe4, 0xdd, 0xfc}} + FOLDERID_Ringtones = &KNOWNFOLDERID{0xc870044b, 0xf49e, 0x4126, [8]byte{0xa9, 0xc3, 0xb5, 0x2a, 0x1f, 0xf4, 0x11, 0xe8}} + FOLDERID_PublicPictures = &KNOWNFOLDERID{0xb6ebfb86, 0x6907, 0x413c, [8]byte{0x9a, 0xf7, 0x4f, 0xc2, 0xab, 0xf0, 0x7c, 0xc5}} + FOLDERID_PublicMusic = &KNOWNFOLDERID{0x3214fab5, 0x9757, 0x4298, [8]byte{0xbb, 0x61, 0x92, 0xa9, 0xde, 0xaa, 0x44, 0xff}} + FOLDERID_PublicVideos = &KNOWNFOLDERID{0x2400183a, 0x6185, 0x49fb, [8]byte{0xa2, 0xd8, 0x4a, 0x39, 0x2a, 0x60, 0x2b, 0xa3}} + FOLDERID_PublicRingtones = &KNOWNFOLDERID{0xe555ab60, 0x153b, 0x4d17, [8]byte{0x9f, 0x04, 0xa5, 0xfe, 0x99, 0xfc, 0x15, 0xec}} + FOLDERID_ResourceDir = &KNOWNFOLDERID{0x8ad10c31, 0x2adb, 0x4296, [8]byte{0xa8, 0xf7, 0xe4, 0x70, 0x12, 0x32, 0xc9, 0x72}} + FOLDERID_LocalizedResourcesDir = &KNOWNFOLDERID{0x2a00375e, 0x224c, 0x49de, [8]byte{0xb8, 0xd1, 0x44, 0x0d, 0xf7, 0xef, 0x3d, 0xdc}} + FOLDERID_CommonOEMLinks = &KNOWNFOLDERID{0xc1bae2d0, 0x10df, 0x4334, [8]byte{0xbe, 0xdd, 0x7a, 0xa2, 0x0b, 0x22, 0x7a, 0x9d}} + FOLDERID_CDBurning = &KNOWNFOLDERID{0x9e52ab10, 0xf80d, 0x49df, [8]byte{0xac, 0xb8, 0x43, 0x30, 0xf5, 0x68, 0x78, 0x55}} + FOLDERID_UserProfiles = &KNOWNFOLDERID{0x0762d272, 0xc50a, 0x4bb0, [8]byte{0xa3, 0x82, 0x69, 0x7d, 0xcd, 0x72, 0x9b, 0x80}} + FOLDERID_Playlists = &KNOWNFOLDERID{0xde92c1c7, 0x837f, 0x4f69, [8]byte{0xa3, 0xbb, 0x86, 0xe6, 0x31, 0x20, 0x4a, 0x23}} + FOLDERID_SamplePlaylists = &KNOWNFOLDERID{0x15ca69b3, 0x30ee, 0x49c1, [8]byte{0xac, 0xe1, 0x6b, 0x5e, 0xc3, 0x72, 0xaf, 0xb5}} + FOLDERID_SampleMusic = &KNOWNFOLDERID{0xb250c668, 0xf57d, 0x4ee1, [8]byte{0xa6, 0x3c, 0x29, 0x0e, 0xe7, 0xd1, 0xaa, 0x1f}} + FOLDERID_SamplePictures = &KNOWNFOLDERID{0xc4900540, 0x2379, 0x4c75, [8]byte{0x84, 0x4b, 0x64, 0xe6, 0xfa, 0xf8, 0x71, 0x6b}} + FOLDERID_SampleVideos = &KNOWNFOLDERID{0x859ead94, 0x2e85, 0x48ad, [8]byte{0xa7, 0x1a, 0x09, 0x69, 0xcb, 0x56, 0xa6, 0xcd}} + FOLDERID_PhotoAlbums = &KNOWNFOLDERID{0x69d2cf90, 0xfc33, 0x4fb7, [8]byte{0x9a, 0x0c, 0xeb, 0xb0, 0xf0, 0xfc, 0xb4, 0x3c}} + FOLDERID_Public = &KNOWNFOLDERID{0xdfdf76a2, 0xc82a, 0x4d63, [8]byte{0x90, 0x6a, 0x56, 0x44, 0xac, 0x45, 0x73, 0x85}} + FOLDERID_ChangeRemovePrograms = &KNOWNFOLDERID{0xdf7266ac, 0x9274, 0x4867, [8]byte{0x8d, 0x55, 0x3b, 0xd6, 0x61, 0xde, 0x87, 0x2d}} + FOLDERID_AppUpdates = &KNOWNFOLDERID{0xa305ce99, 0xf527, 0x492b, [8]byte{0x8b, 0x1a, 0x7e, 0x76, 0xfa, 0x98, 0xd6, 0xe4}} + FOLDERID_AddNewPrograms = &KNOWNFOLDERID{0xde61d971, 0x5ebc, 0x4f02, [8]byte{0xa3, 0xa9, 0x6c, 0x82, 0x89, 0x5e, 0x5c, 0x04}} + FOLDERID_Downloads = &KNOWNFOLDERID{0x374de290, 0x123f, 0x4565, [8]byte{0x91, 0x64, 0x39, 0xc4, 0x92, 0x5e, 0x46, 0x7b}} + FOLDERID_PublicDownloads = &KNOWNFOLDERID{0x3d644c9b, 0x1fb8, 0x4f30, [8]byte{0x9b, 0x45, 0xf6, 0x70, 0x23, 0x5f, 0x79, 0xc0}} + FOLDERID_SavedSearches = &KNOWNFOLDERID{0x7d1d3a04, 0xdebb, 0x4115, [8]byte{0x95, 0xcf, 0x2f, 0x29, 0xda, 0x29, 0x20, 0xda}} + FOLDERID_QuickLaunch = &KNOWNFOLDERID{0x52a4f021, 0x7b75, 0x48a9, [8]byte{0x9f, 0x6b, 0x4b, 0x87, 0xa2, 0x10, 0xbc, 0x8f}} + FOLDERID_Contacts = &KNOWNFOLDERID{0x56784854, 0xc6cb, 0x462b, [8]byte{0x81, 0x69, 0x88, 0xe3, 0x50, 0xac, 0xb8, 0x82}} + FOLDERID_SidebarParts = &KNOWNFOLDERID{0xa75d362e, 0x50fc, 0x4fb7, [8]byte{0xac, 0x2c, 0xa8, 0xbe, 0xaa, 0x31, 0x44, 0x93}} + FOLDERID_SidebarDefaultParts = &KNOWNFOLDERID{0x7b396e54, 0x9ec5, 0x4300, [8]byte{0xbe, 0x0a, 0x24, 0x82, 0xeb, 0xae, 0x1a, 0x26}} + FOLDERID_PublicGameTasks = &KNOWNFOLDERID{0xdebf2536, 0xe1a8, 0x4c59, [8]byte{0xb6, 0xa2, 0x41, 0x45, 0x86, 0x47, 0x6a, 0xea}} + FOLDERID_GameTasks = &KNOWNFOLDERID{0x054fae61, 0x4dd8, 0x4787, [8]byte{0x80, 0xb6, 0x09, 0x02, 0x20, 0xc4, 0xb7, 0x00}} + FOLDERID_SavedGames = &KNOWNFOLDERID{0x4c5c32ff, 0xbb9d, 0x43b0, [8]byte{0xb5, 0xb4, 0x2d, 0x72, 0xe5, 0x4e, 0xaa, 0xa4}} + FOLDERID_Games = &KNOWNFOLDERID{0xcac52c1a, 0xb53d, 0x4edc, [8]byte{0x92, 0xd7, 0x6b, 0x2e, 0x8a, 0xc1, 0x94, 0x34}} + FOLDERID_SEARCH_MAPI = &KNOWNFOLDERID{0x98ec0e18, 0x2098, 0x4d44, [8]byte{0x86, 0x44, 0x66, 0x97, 0x93, 0x15, 0xa2, 0x81}} + FOLDERID_SEARCH_CSC = &KNOWNFOLDERID{0xee32e446, 0x31ca, 0x4aba, [8]byte{0x81, 0x4f, 0xa5, 0xeb, 0xd2, 0xfd, 0x6d, 0x5e}} + FOLDERID_Links = &KNOWNFOLDERID{0xbfb9d5e0, 0xc6a9, 0x404c, [8]byte{0xb2, 0xb2, 0xae, 0x6d, 0xb6, 0xaf, 0x49, 0x68}} + FOLDERID_UsersFiles = &KNOWNFOLDERID{0xf3ce0f7c, 0x4901, 0x4acc, [8]byte{0x86, 0x48, 0xd5, 0xd4, 0x4b, 0x04, 0xef, 0x8f}} + FOLDERID_UsersLibraries = &KNOWNFOLDERID{0xa302545d, 0xdeff, 0x464b, [8]byte{0xab, 0xe8, 0x61, 0xc8, 0x64, 0x8d, 0x93, 0x9b}} + FOLDERID_SearchHome = &KNOWNFOLDERID{0x190337d1, 0xb8ca, 0x4121, [8]byte{0xa6, 0x39, 0x6d, 0x47, 0x2d, 0x16, 0x97, 0x2a}} + FOLDERID_OriginalImages = &KNOWNFOLDERID{0x2c36c0aa, 0x5812, 0x4b87, [8]byte{0xbf, 0xd0, 0x4c, 0xd0, 0xdf, 0xb1, 0x9b, 0x39}} + FOLDERID_DocumentsLibrary = &KNOWNFOLDERID{0x7b0db17d, 0x9cd2, 0x4a93, [8]byte{0x97, 0x33, 0x46, 0xcc, 0x89, 0x02, 0x2e, 0x7c}} + FOLDERID_MusicLibrary = &KNOWNFOLDERID{0x2112ab0a, 0xc86a, 0x4ffe, [8]byte{0xa3, 0x68, 0x0d, 0xe9, 0x6e, 0x47, 0x01, 0x2e}} + FOLDERID_PicturesLibrary = &KNOWNFOLDERID{0xa990ae9f, 0xa03b, 0x4e80, [8]byte{0x94, 0xbc, 0x99, 0x12, 0xd7, 0x50, 0x41, 0x04}} + FOLDERID_VideosLibrary = &KNOWNFOLDERID{0x491e922f, 0x5643, 0x4af4, [8]byte{0xa7, 0xeb, 0x4e, 0x7a, 0x13, 0x8d, 0x81, 0x74}} + FOLDERID_RecordedTVLibrary = &KNOWNFOLDERID{0x1a6fdba2, 0xf42d, 0x4358, [8]byte{0xa7, 0x98, 0xb7, 0x4d, 0x74, 0x59, 0x26, 0xc5}} + FOLDERID_HomeGroup = &KNOWNFOLDERID{0x52528a6b, 0xb9e3, 0x4add, [8]byte{0xb6, 0x0d, 0x58, 0x8c, 0x2d, 0xba, 0x84, 0x2d}} + FOLDERID_HomeGroupCurrentUser = &KNOWNFOLDERID{0x9b74b6a3, 0x0dfd, 0x4f11, [8]byte{0x9e, 0x78, 0x5f, 0x78, 0x00, 0xf2, 0xe7, 0x72}} + FOLDERID_DeviceMetadataStore = &KNOWNFOLDERID{0x5ce4a5e9, 0xe4eb, 0x479d, [8]byte{0xb8, 0x9f, 0x13, 0x0c, 0x02, 0x88, 0x61, 0x55}} + FOLDERID_Libraries = &KNOWNFOLDERID{0x1b3ea5dc, 0xb587, 0x4786, [8]byte{0xb4, 0xef, 0xbd, 0x1d, 0xc3, 0x32, 0xae, 0xae}} + FOLDERID_PublicLibraries = &KNOWNFOLDERID{0x48daf80b, 0xe6cf, 0x4f4e, [8]byte{0xb8, 0x00, 0x0e, 0x69, 0xd8, 0x4e, 0xe3, 0x84}} + FOLDERID_UserPinned = &KNOWNFOLDERID{0x9e3995ab, 0x1f9c, 0x4f13, [8]byte{0xb8, 0x27, 0x48, 0xb2, 0x4b, 0x6c, 0x71, 0x74}} + FOLDERID_ImplicitAppShortcuts = &KNOWNFOLDERID{0xbcb5256f, 0x79f6, 0x4cee, [8]byte{0xb7, 0x25, 0xdc, 0x34, 0xe4, 0x02, 0xfd, 0x46}} + FOLDERID_AccountPictures = &KNOWNFOLDERID{0x008ca0b1, 0x55b4, 0x4c56, [8]byte{0xb8, 0xa8, 0x4d, 0xe4, 0xb2, 0x99, 0xd3, 0xbe}} + FOLDERID_PublicUserTiles = &KNOWNFOLDERID{0x0482af6c, 0x08f1, 0x4c34, [8]byte{0x8c, 0x90, 0xe1, 0x7e, 0xc9, 0x8b, 0x1e, 0x17}} + FOLDERID_AppsFolder = &KNOWNFOLDERID{0x1e87508d, 0x89c2, 0x42f0, [8]byte{0x8a, 0x7e, 0x64, 0x5a, 0x0f, 0x50, 0xca, 0x58}} + FOLDERID_StartMenuAllPrograms = &KNOWNFOLDERID{0xf26305ef, 0x6948, 0x40b9, [8]byte{0xb2, 0x55, 0x81, 0x45, 0x3d, 0x09, 0xc7, 0x85}} + FOLDERID_CommonStartMenuPlaces = &KNOWNFOLDERID{0xa440879f, 0x87a0, 0x4f7d, [8]byte{0xb7, 0x00, 0x02, 0x07, 0xb9, 0x66, 0x19, 0x4a}} + FOLDERID_ApplicationShortcuts = &KNOWNFOLDERID{0xa3918781, 0xe5f2, 0x4890, [8]byte{0xb3, 0xd9, 0xa7, 0xe5, 0x43, 0x32, 0x32, 0x8c}} + FOLDERID_RoamingTiles = &KNOWNFOLDERID{0x00bcfc5a, 0xed94, 0x4e48, [8]byte{0x96, 0xa1, 0x3f, 0x62, 0x17, 0xf2, 0x19, 0x90}} + FOLDERID_RoamedTileImages = &KNOWNFOLDERID{0xaaa8d5a5, 0xf1d6, 0x4259, [8]byte{0xba, 0xa8, 0x78, 0xe7, 0xef, 0x60, 0x83, 0x5e}} + FOLDERID_Screenshots = &KNOWNFOLDERID{0xb7bede81, 0xdf94, 0x4682, [8]byte{0xa7, 0xd8, 0x57, 0xa5, 0x26, 0x20, 0xb8, 0x6f}} + FOLDERID_CameraRoll = &KNOWNFOLDERID{0xab5fb87b, 0x7ce2, 0x4f83, [8]byte{0x91, 0x5d, 0x55, 0x08, 0x46, 0xc9, 0x53, 0x7b}} + FOLDERID_SkyDrive = &KNOWNFOLDERID{0xa52bba46, 0xe9e1, 0x435f, [8]byte{0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}} + FOLDERID_OneDrive = &KNOWNFOLDERID{0xa52bba46, 0xe9e1, 0x435f, [8]byte{0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}} + FOLDERID_SkyDriveDocuments = &KNOWNFOLDERID{0x24d89e24, 0x2f19, 0x4534, [8]byte{0x9d, 0xde, 0x6a, 0x66, 0x71, 0xfb, 0xb8, 0xfe}} + FOLDERID_SkyDrivePictures = &KNOWNFOLDERID{0x339719b5, 0x8c47, 0x4894, [8]byte{0x94, 0xc2, 0xd8, 0xf7, 0x7a, 0xdd, 0x44, 0xa6}} + FOLDERID_SkyDriveMusic = &KNOWNFOLDERID{0xc3f2459e, 0x80d6, 0x45dc, [8]byte{0xbf, 0xef, 0x1f, 0x76, 0x9f, 0x2b, 0xe7, 0x30}} + FOLDERID_SkyDriveCameraRoll = &KNOWNFOLDERID{0x767e6811, 0x49cb, 0x4273, [8]byte{0x87, 0xc2, 0x20, 0xf3, 0x55, 0xe1, 0x08, 0x5b}} + FOLDERID_SearchHistory = &KNOWNFOLDERID{0x0d4c3db6, 0x03a3, 0x462f, [8]byte{0xa0, 0xe6, 0x08, 0x92, 0x4c, 0x41, 0xb5, 0xd4}} + FOLDERID_SearchTemplates = &KNOWNFOLDERID{0x7e636bfe, 0xdfa9, 0x4d5e, [8]byte{0xb4, 0x56, 0xd7, 0xb3, 0x98, 0x51, 0xd8, 0xa9}} + FOLDERID_CameraRollLibrary = &KNOWNFOLDERID{0x2b20df75, 0x1eda, 0x4039, [8]byte{0x80, 0x97, 0x38, 0x79, 0x82, 0x27, 0xd5, 0xb7}} + FOLDERID_SavedPictures = &KNOWNFOLDERID{0x3b193882, 0xd3ad, 0x4eab, [8]byte{0x96, 0x5a, 0x69, 0x82, 0x9d, 0x1f, 0xb5, 0x9f}} + FOLDERID_SavedPicturesLibrary = &KNOWNFOLDERID{0xe25b5812, 0xbe88, 0x4bd9, [8]byte{0x94, 0xb0, 0x29, 0x23, 0x34, 0x77, 0xb6, 0xc3}} + FOLDERID_RetailDemo = &KNOWNFOLDERID{0x12d4c69e, 0x24ad, 0x4923, [8]byte{0xbe, 0x19, 0x31, 0x32, 0x1c, 0x43, 0xa7, 0x67}} + FOLDERID_Device = &KNOWNFOLDERID{0x1c2ac1dc, 0x4358, 0x4b6c, [8]byte{0x97, 0x33, 0xaf, 0x21, 0x15, 0x65, 0x76, 0xf0}} + FOLDERID_DevelopmentFiles = &KNOWNFOLDERID{0xdbe8e08e, 0x3053, 0x4bbc, [8]byte{0xb1, 0x83, 0x2a, 0x7b, 0x2b, 0x19, 0x1e, 0x59}} + FOLDERID_Objects3D = &KNOWNFOLDERID{0x31c0dd25, 0x9439, 0x4f12, [8]byte{0xbf, 0x41, 0x7f, 0xf4, 0xed, 0xa3, 0x87, 0x22}} + FOLDERID_AppCaptures = &KNOWNFOLDERID{0xedc0fe71, 0x98d8, 0x4f4a, [8]byte{0xb9, 0x20, 0xc8, 0xdc, 0x13, 0x3c, 0xb1, 0x65}} + FOLDERID_LocalDocuments = &KNOWNFOLDERID{0xf42ee2d3, 0x909f, 0x4907, [8]byte{0x88, 0x71, 0x4c, 0x22, 0xfc, 0x0b, 0xf7, 0x56}} + FOLDERID_LocalPictures = &KNOWNFOLDERID{0x0ddd015d, 0xb06c, 0x45d5, [8]byte{0x8c, 0x4c, 0xf5, 0x97, 0x13, 0x85, 0x46, 0x39}} + FOLDERID_LocalVideos = &KNOWNFOLDERID{0x35286a68, 0x3c57, 0x41a1, [8]byte{0xbb, 0xb1, 0x0e, 0xae, 0x73, 0xd7, 0x6c, 0x95}} + FOLDERID_LocalMusic = &KNOWNFOLDERID{0xa0c69a99, 0x21c8, 0x4671, [8]byte{0x87, 0x03, 0x79, 0x34, 0x16, 0x2f, 0xcf, 0x1d}} + FOLDERID_LocalDownloads = &KNOWNFOLDERID{0x7d83ee9b, 0x2244, 0x4e70, [8]byte{0xb1, 0xf5, 0x53, 0x93, 0x04, 0x2a, 0xf1, 0xe4}} + FOLDERID_RecordedCalls = &KNOWNFOLDERID{0x2f8b40c2, 0x83ed, 0x48ee, [8]byte{0xb3, 0x83, 0xa1, 0xf1, 0x57, 0xec, 0x6f, 0x9a}} + FOLDERID_AllAppMods = &KNOWNFOLDERID{0x7ad67899, 0x66af, 0x43ba, [8]byte{0x91, 0x56, 0x6a, 0xad, 0x42, 0xe6, 0xc5, 0x96}} + FOLDERID_CurrentAppMods = &KNOWNFOLDERID{0x3db40b20, 0x2a30, 0x4dbe, [8]byte{0x91, 0x7e, 0x77, 0x1d, 0xd2, 0x1d, 0xd0, 0x99}} + FOLDERID_AppDataDesktop = &KNOWNFOLDERID{0xb2c5e279, 0x7add, 0x439f, [8]byte{0xb2, 0x8c, 0xc4, 0x1f, 0xe1, 0xbb, 0xf6, 0x72}} + FOLDERID_AppDataDocuments = &KNOWNFOLDERID{0x7be16610, 0x1f7f, 0x44ac, [8]byte{0xbf, 0xf0, 0x83, 0xe1, 0x5f, 0x2f, 0xfc, 0xa1}} + FOLDERID_AppDataFavorites = &KNOWNFOLDERID{0x7cfbefbc, 0xde1f, 0x45aa, [8]byte{0xb8, 0x43, 0xa5, 0x42, 0xac, 0x53, 0x6c, 0xc9}} + FOLDERID_AppDataProgramData = &KNOWNFOLDERID{0x559d40a3, 0xa036, 0x40fa, [8]byte{0xaf, 0x61, 0x84, 0xcb, 0x43, 0x0a, 0x4d, 0x34}} +) 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 000000000..148de0ffb --- /dev/null +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -0,0 +1,3652 @@ +// Code generated by 'go generate'; 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) + errERROR_EINVAL error = syscall.EINVAL +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e syscall.Errno) error { + switch e { + case 0: + return errERROR_EINVAL + 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") + modcrypt32 = NewLazySystemDLL("crypt32.dll") + moddnsapi = NewLazySystemDLL("dnsapi.dll") + modiphlpapi = NewLazySystemDLL("iphlpapi.dll") + modkernel32 = NewLazySystemDLL("kernel32.dll") + modmswsock = NewLazySystemDLL("mswsock.dll") + modnetapi32 = NewLazySystemDLL("netapi32.dll") + modntdll = NewLazySystemDLL("ntdll.dll") + modole32 = NewLazySystemDLL("ole32.dll") + modpsapi = NewLazySystemDLL("psapi.dll") + modsechost = NewLazySystemDLL("sechost.dll") + modsecur32 = NewLazySystemDLL("secur32.dll") + modshell32 = NewLazySystemDLL("shell32.dll") + moduser32 = NewLazySystemDLL("user32.dll") + moduserenv = NewLazySystemDLL("userenv.dll") + modwintrust = NewLazySystemDLL("wintrust.dll") + modws2_32 = NewLazySystemDLL("ws2_32.dll") + modwtsapi32 = NewLazySystemDLL("wtsapi32.dll") + + procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") + procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") + procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid") + procBuildSecurityDescriptorW = modadvapi32.NewProc("BuildSecurityDescriptorW") + procChangeServiceConfig2W = modadvapi32.NewProc("ChangeServiceConfig2W") + procChangeServiceConfigW = modadvapi32.NewProc("ChangeServiceConfigW") + procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") + procCloseServiceHandle = modadvapi32.NewProc("CloseServiceHandle") + procControlService = modadvapi32.NewProc("ControlService") + procConvertSecurityDescriptorToStringSecurityDescriptorW = modadvapi32.NewProc("ConvertSecurityDescriptorToStringSecurityDescriptorW") + procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW") + procConvertStringSecurityDescriptorToSecurityDescriptorW = modadvapi32.NewProc("ConvertStringSecurityDescriptorToSecurityDescriptorW") + procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW") + procCopySid = modadvapi32.NewProc("CopySid") + procCreateProcessAsUserW = modadvapi32.NewProc("CreateProcessAsUserW") + procCreateServiceW = modadvapi32.NewProc("CreateServiceW") + procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") + procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW") + procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom") + procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext") + procDeleteService = modadvapi32.NewProc("DeleteService") + procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource") + procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx") + procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW") + procEqualSid = modadvapi32.NewProc("EqualSid") + procFreeSid = modadvapi32.NewProc("FreeSid") + procGetLengthSid = modadvapi32.NewProc("GetLengthSid") + procGetNamedSecurityInfoW = modadvapi32.NewProc("GetNamedSecurityInfoW") + procGetSecurityDescriptorControl = modadvapi32.NewProc("GetSecurityDescriptorControl") + procGetSecurityDescriptorDacl = modadvapi32.NewProc("GetSecurityDescriptorDacl") + procGetSecurityDescriptorGroup = modadvapi32.NewProc("GetSecurityDescriptorGroup") + procGetSecurityDescriptorLength = modadvapi32.NewProc("GetSecurityDescriptorLength") + procGetSecurityDescriptorOwner = modadvapi32.NewProc("GetSecurityDescriptorOwner") + procGetSecurityDescriptorRMControl = modadvapi32.NewProc("GetSecurityDescriptorRMControl") + procGetSecurityDescriptorSacl = modadvapi32.NewProc("GetSecurityDescriptorSacl") + procGetSecurityInfo = modadvapi32.NewProc("GetSecurityInfo") + procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority") + procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority") + procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount") + procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") + procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf") + procInitializeSecurityDescriptor = modadvapi32.NewProc("InitializeSecurityDescriptor") + procInitiateSystemShutdownExW = modadvapi32.NewProc("InitiateSystemShutdownExW") + procIsTokenRestricted = modadvapi32.NewProc("IsTokenRestricted") + procIsValidSecurityDescriptor = modadvapi32.NewProc("IsValidSecurityDescriptor") + procIsValidSid = modadvapi32.NewProc("IsValidSid") + procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid") + procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW") + procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW") + procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW") + procMakeAbsoluteSD = modadvapi32.NewProc("MakeAbsoluteSD") + procMakeSelfRelativeSD = modadvapi32.NewProc("MakeSelfRelativeSD") + procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW") + procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") + procOpenSCManagerW = modadvapi32.NewProc("OpenSCManagerW") + procOpenServiceW = modadvapi32.NewProc("OpenServiceW") + procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") + procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") + procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW") + procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") + procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus") + procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") + procRegCloseKey = modadvapi32.NewProc("RegCloseKey") + procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW") + procRegNotifyChangeKeyValue = modadvapi32.NewProc("RegNotifyChangeKeyValue") + procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW") + procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") + procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") + procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") + procReportEventW = modadvapi32.NewProc("ReportEventW") + procRevertToSelf = modadvapi32.NewProc("RevertToSelf") + procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW") + procSetKernelObjectSecurity = modadvapi32.NewProc("SetKernelObjectSecurity") + procSetNamedSecurityInfoW = modadvapi32.NewProc("SetNamedSecurityInfoW") + procSetSecurityDescriptorControl = modadvapi32.NewProc("SetSecurityDescriptorControl") + procSetSecurityDescriptorDacl = modadvapi32.NewProc("SetSecurityDescriptorDacl") + procSetSecurityDescriptorGroup = modadvapi32.NewProc("SetSecurityDescriptorGroup") + procSetSecurityDescriptorOwner = modadvapi32.NewProc("SetSecurityDescriptorOwner") + procSetSecurityDescriptorRMControl = modadvapi32.NewProc("SetSecurityDescriptorRMControl") + procSetSecurityDescriptorSacl = modadvapi32.NewProc("SetSecurityDescriptorSacl") + procSetSecurityInfo = modadvapi32.NewProc("SetSecurityInfo") + procSetServiceStatus = modadvapi32.NewProc("SetServiceStatus") + procSetThreadToken = modadvapi32.NewProc("SetThreadToken") + procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation") + procStartServiceCtrlDispatcherW = modadvapi32.NewProc("StartServiceCtrlDispatcherW") + procStartServiceW = modadvapi32.NewProc("StartServiceW") + procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore") + procCertCloseStore = modcrypt32.NewProc("CertCloseStore") + procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext") + procCertDeleteCertificateFromStore = modcrypt32.NewProc("CertDeleteCertificateFromStore") + procCertDuplicateCertificateContext = modcrypt32.NewProc("CertDuplicateCertificateContext") + procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore") + procCertFindCertificateInStore = modcrypt32.NewProc("CertFindCertificateInStore") + procCertFindChainInStore = modcrypt32.NewProc("CertFindChainInStore") + procCertFindExtension = modcrypt32.NewProc("CertFindExtension") + procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain") + procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext") + procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain") + procCertGetNameStringW = modcrypt32.NewProc("CertGetNameStringW") + procCertOpenStore = modcrypt32.NewProc("CertOpenStore") + procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW") + procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy") + procCryptAcquireCertificatePrivateKey = modcrypt32.NewProc("CryptAcquireCertificatePrivateKey") + procCryptDecodeObject = modcrypt32.NewProc("CryptDecodeObject") + procCryptProtectData = modcrypt32.NewProc("CryptProtectData") + procCryptQueryObject = modcrypt32.NewProc("CryptQueryObject") + procCryptUnprotectData = modcrypt32.NewProc("CryptUnprotectData") + procPFXImportCertStore = modcrypt32.NewProc("PFXImportCertStore") + procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W") + procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W") + procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree") + procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses") + procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") + procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") + procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") + procCancelIo = modkernel32.NewProc("CancelIo") + procCancelIoEx = modkernel32.NewProc("CancelIoEx") + procCloseHandle = modkernel32.NewProc("CloseHandle") + procConnectNamedPipe = modkernel32.NewProc("ConnectNamedPipe") + procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW") + procCreateEventExW = modkernel32.NewProc("CreateEventExW") + procCreateEventW = modkernel32.NewProc("CreateEventW") + procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW") + procCreateFileW = modkernel32.NewProc("CreateFileW") + procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") + procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort") + procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW") + procCreateMutexExW = modkernel32.NewProc("CreateMutexExW") + procCreateMutexW = modkernel32.NewProc("CreateMutexW") + procCreateNamedPipeW = modkernel32.NewProc("CreateNamedPipeW") + procCreatePipe = modkernel32.NewProc("CreatePipe") + procCreateProcessW = modkernel32.NewProc("CreateProcessW") + procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW") + procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") + procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW") + procDeleteFileW = modkernel32.NewProc("DeleteFileW") + procDeleteProcThreadAttributeList = modkernel32.NewProc("DeleteProcThreadAttributeList") + procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW") + procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") + procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") + procExitProcess = modkernel32.NewProc("ExitProcess") + procFindClose = modkernel32.NewProc("FindClose") + procFindCloseChangeNotification = modkernel32.NewProc("FindCloseChangeNotification") + procFindFirstChangeNotificationW = modkernel32.NewProc("FindFirstChangeNotificationW") + procFindFirstFileW = modkernel32.NewProc("FindFirstFileW") + procFindFirstVolumeMountPointW = modkernel32.NewProc("FindFirstVolumeMountPointW") + procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW") + procFindNextChangeNotification = modkernel32.NewProc("FindNextChangeNotification") + procFindNextFileW = modkernel32.NewProc("FindNextFileW") + procFindNextVolumeMountPointW = modkernel32.NewProc("FindNextVolumeMountPointW") + procFindNextVolumeW = modkernel32.NewProc("FindNextVolumeW") + procFindResourceW = modkernel32.NewProc("FindResourceW") + procFindVolumeClose = modkernel32.NewProc("FindVolumeClose") + procFindVolumeMountPointClose = modkernel32.NewProc("FindVolumeMountPointClose") + procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers") + procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile") + procFormatMessageW = modkernel32.NewProc("FormatMessageW") + procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW") + procFreeLibrary = modkernel32.NewProc("FreeLibrary") + procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") + procGetACP = modkernel32.NewProc("GetACP") + procGetCommTimeouts = modkernel32.NewProc("GetCommTimeouts") + procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") + procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") + procGetComputerNameW = modkernel32.NewProc("GetComputerNameW") + procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") + procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo") + procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") + procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") + procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId") + procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW") + procGetDriveTypeW = modkernel32.NewProc("GetDriveTypeW") + procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW") + procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW") + procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") + procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW") + procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW") + procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle") + procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx") + procGetFileType = modkernel32.NewProc("GetFileType") + procGetFinalPathNameByHandleW = modkernel32.NewProc("GetFinalPathNameByHandleW") + procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") + procGetLastError = modkernel32.NewProc("GetLastError") + procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") + procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") + procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") + procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") + procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") + procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW") + procGetNamedPipeInfo = modkernel32.NewProc("GetNamedPipeInfo") + procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") + procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") + procGetProcAddress = modkernel32.NewProc("GetProcAddress") + procGetProcessId = modkernel32.NewProc("GetProcessId") + procGetProcessPreferredUILanguages = modkernel32.NewProc("GetProcessPreferredUILanguages") + procGetProcessShutdownParameters = modkernel32.NewProc("GetProcessShutdownParameters") + procGetProcessTimes = modkernel32.NewProc("GetProcessTimes") + procGetProcessWorkingSetSizeEx = modkernel32.NewProc("GetProcessWorkingSetSizeEx") + procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus") + procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW") + procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") + procGetStdHandle = modkernel32.NewProc("GetStdHandle") + procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW") + procGetSystemPreferredUILanguages = modkernel32.NewProc("GetSystemPreferredUILanguages") + procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime") + procGetSystemTimePreciseAsFileTime = modkernel32.NewProc("GetSystemTimePreciseAsFileTime") + procGetSystemWindowsDirectoryW = modkernel32.NewProc("GetSystemWindowsDirectoryW") + procGetTempPathW = modkernel32.NewProc("GetTempPathW") + procGetThreadPreferredUILanguages = modkernel32.NewProc("GetThreadPreferredUILanguages") + procGetTickCount64 = modkernel32.NewProc("GetTickCount64") + procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation") + procGetUserPreferredUILanguages = modkernel32.NewProc("GetUserPreferredUILanguages") + procGetVersion = modkernel32.NewProc("GetVersion") + procGetVolumeInformationByHandleW = modkernel32.NewProc("GetVolumeInformationByHandleW") + procGetVolumeInformationW = modkernel32.NewProc("GetVolumeInformationW") + procGetVolumeNameForVolumeMountPointW = modkernel32.NewProc("GetVolumeNameForVolumeMountPointW") + procGetVolumePathNameW = modkernel32.NewProc("GetVolumePathNameW") + procGetVolumePathNamesForVolumeNameW = modkernel32.NewProc("GetVolumePathNamesForVolumeNameW") + procGetWindowsDirectoryW = modkernel32.NewProc("GetWindowsDirectoryW") + procInitializeProcThreadAttributeList = modkernel32.NewProc("InitializeProcThreadAttributeList") + procIsWow64Process = modkernel32.NewProc("IsWow64Process") + procIsWow64Process2 = modkernel32.NewProc("IsWow64Process2") + procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") + procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") + procLoadResource = modkernel32.NewProc("LoadResource") + procLocalAlloc = modkernel32.NewProc("LocalAlloc") + procLocalFree = modkernel32.NewProc("LocalFree") + procLockFileEx = modkernel32.NewProc("LockFileEx") + procLockResource = modkernel32.NewProc("LockResource") + procMapViewOfFile = modkernel32.NewProc("MapViewOfFile") + procMoveFileExW = modkernel32.NewProc("MoveFileExW") + procMoveFileW = modkernel32.NewProc("MoveFileW") + procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar") + procOpenEventW = modkernel32.NewProc("OpenEventW") + procOpenMutexW = modkernel32.NewProc("OpenMutexW") + procOpenProcess = modkernel32.NewProc("OpenProcess") + procOpenThread = modkernel32.NewProc("OpenThread") + procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus") + procProcess32FirstW = modkernel32.NewProc("Process32FirstW") + procProcess32NextW = modkernel32.NewProc("Process32NextW") + procProcessIdToSessionId = modkernel32.NewProc("ProcessIdToSessionId") + procPulseEvent = modkernel32.NewProc("PulseEvent") + procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW") + procQueryFullProcessImageNameW = modkernel32.NewProc("QueryFullProcessImageNameW") + procQueryInformationJobObject = modkernel32.NewProc("QueryInformationJobObject") + procReadConsoleW = modkernel32.NewProc("ReadConsoleW") + procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") + procReadFile = modkernel32.NewProc("ReadFile") + procReleaseMutex = modkernel32.NewProc("ReleaseMutex") + procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") + procResetEvent = modkernel32.NewProc("ResetEvent") + procResumeThread = modkernel32.NewProc("ResumeThread") + procSetCommTimeouts = modkernel32.NewProc("SetCommTimeouts") + procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition") + procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") + procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") + procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories") + procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW") + procSetEndOfFile = modkernel32.NewProc("SetEndOfFile") + procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") + procSetErrorMode = modkernel32.NewProc("SetErrorMode") + procSetEvent = modkernel32.NewProc("SetEvent") + procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW") + procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes") + procSetFileInformationByHandle = modkernel32.NewProc("SetFileInformationByHandle") + procSetFilePointer = modkernel32.NewProc("SetFilePointer") + procSetFileTime = modkernel32.NewProc("SetFileTime") + procSetHandleInformation = modkernel32.NewProc("SetHandleInformation") + procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") + procSetNamedPipeHandleState = modkernel32.NewProc("SetNamedPipeHandleState") + procSetPriorityClass = modkernel32.NewProc("SetPriorityClass") + procSetProcessPriorityBoost = modkernel32.NewProc("SetProcessPriorityBoost") + procSetProcessShutdownParameters = modkernel32.NewProc("SetProcessShutdownParameters") + procSetProcessWorkingSetSizeEx = modkernel32.NewProc("SetProcessWorkingSetSizeEx") + procSetStdHandle = modkernel32.NewProc("SetStdHandle") + procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW") + procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW") + procSizeofResource = modkernel32.NewProc("SizeofResource") + procSleepEx = modkernel32.NewProc("SleepEx") + procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") + procTerminateProcess = modkernel32.NewProc("TerminateProcess") + procThread32First = modkernel32.NewProc("Thread32First") + procThread32Next = modkernel32.NewProc("Thread32Next") + procUnlockFileEx = modkernel32.NewProc("UnlockFileEx") + procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile") + procUpdateProcThreadAttribute = modkernel32.NewProc("UpdateProcThreadAttribute") + procVirtualAlloc = modkernel32.NewProc("VirtualAlloc") + procVirtualFree = modkernel32.NewProc("VirtualFree") + procVirtualLock = modkernel32.NewProc("VirtualLock") + procVirtualProtect = modkernel32.NewProc("VirtualProtect") + procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") + procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") + procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") + procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") + procWriteFile = modkernel32.NewProc("WriteFile") + procAcceptEx = modmswsock.NewProc("AcceptEx") + procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") + procTransmitFile = modmswsock.NewProc("TransmitFile") + procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") + procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") + procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") + procNtCreateFile = modntdll.NewProc("NtCreateFile") + procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile") + procNtQueryInformationProcess = modntdll.NewProc("NtQueryInformationProcess") + procNtSetInformationProcess = modntdll.NewProc("NtSetInformationProcess") + procRtlDefaultNpAcl = modntdll.NewProc("RtlDefaultNpAcl") + procRtlDosPathNameToNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToNtPathName_U_WithStatus") + procRtlDosPathNameToRelativeNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToRelativeNtPathName_U_WithStatus") + procRtlGetCurrentPeb = modntdll.NewProc("RtlGetCurrentPeb") + procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers") + procRtlGetVersion = modntdll.NewProc("RtlGetVersion") + procRtlInitString = modntdll.NewProc("RtlInitString") + procRtlInitUnicodeString = modntdll.NewProc("RtlInitUnicodeString") + procRtlNtStatusToDosErrorNoTeb = modntdll.NewProc("RtlNtStatusToDosErrorNoTeb") + procCLSIDFromString = modole32.NewProc("CLSIDFromString") + procCoCreateGuid = modole32.NewProc("CoCreateGuid") + procCoGetObject = modole32.NewProc("CoGetObject") + procCoInitializeEx = modole32.NewProc("CoInitializeEx") + procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") + procCoUninitialize = modole32.NewProc("CoUninitialize") + procStringFromGUID2 = modole32.NewProc("StringFromGUID2") + procEnumProcesses = modpsapi.NewProc("EnumProcesses") + procSubscribeServiceChangeNotifications = modsechost.NewProc("SubscribeServiceChangeNotifications") + procUnsubscribeServiceChangeNotifications = modsechost.NewProc("UnsubscribeServiceChangeNotifications") + procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") + procTranslateNameW = modsecur32.NewProc("TranslateNameW") + procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW") + procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath") + procShellExecuteW = modshell32.NewProc("ShellExecuteW") + procExitWindowsEx = moduser32.NewProc("ExitWindowsEx") + procGetShellWindow = moduser32.NewProc("GetShellWindow") + procGetWindowThreadProcessId = moduser32.NewProc("GetWindowThreadProcessId") + procMessageBoxW = moduser32.NewProc("MessageBoxW") + procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") + procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") + procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") + procWinVerifyTrustEx = modwintrust.NewProc("WinVerifyTrustEx") + procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") + procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") + procWSACleanup = modws2_32.NewProc("WSACleanup") + procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") + procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult") + procWSAIoctl = modws2_32.NewProc("WSAIoctl") + procWSARecv = modws2_32.NewProc("WSARecv") + procWSARecvFrom = modws2_32.NewProc("WSARecvFrom") + procWSASend = modws2_32.NewProc("WSASend") + procWSASendTo = modws2_32.NewProc("WSASendTo") + procWSASocketW = modws2_32.NewProc("WSASocketW") + procWSAStartup = modws2_32.NewProc("WSAStartup") + procbind = modws2_32.NewProc("bind") + procclosesocket = modws2_32.NewProc("closesocket") + procconnect = modws2_32.NewProc("connect") + procgethostbyname = modws2_32.NewProc("gethostbyname") + procgetpeername = modws2_32.NewProc("getpeername") + procgetprotobyname = modws2_32.NewProc("getprotobyname") + procgetservbyname = modws2_32.NewProc("getservbyname") + procgetsockname = modws2_32.NewProc("getsockname") + procgetsockopt = modws2_32.NewProc("getsockopt") + proclisten = modws2_32.NewProc("listen") + procntohs = modws2_32.NewProc("ntohs") + procrecvfrom = modws2_32.NewProc("recvfrom") + procsendto = modws2_32.NewProc("sendto") + procsetsockopt = modws2_32.NewProc("setsockopt") + procshutdown = modws2_32.NewProc("shutdown") + procsocket = modws2_32.NewProc("socket") + procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") + procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") + procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") +) + +func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) { + var _p0 uint32 + if resetToDefault { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall6(procAdjustTokenGroups.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) { + var _p0 uint32 + if disableAllPrivileges { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall6(procAdjustTokenPrivileges.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) { + r0, _, _ := syscall.Syscall9(procBuildSecurityDescriptorW.Addr(), 9, uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(countAccessEntries), uintptr(unsafe.Pointer(accessEntries)), uintptr(countAuditEntries), uintptr(unsafe.Pointer(auditEntries)), uintptr(unsafe.Pointer(oldSecurityDescriptor)), uintptr(unsafe.Pointer(sizeNewSecurityDescriptor)), uintptr(unsafe.Pointer(newSecurityDescriptor))) + if r0 != 0 { + ret = syscall.Errno(r0) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { + r1, _, e1 := syscall.Syscall(procCheckTokenMembership.Addr(), 3, uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func CloseServiceHandle(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCloseServiceHandle.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), 5, uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { + var _p0 *uint16 + _p0, err = syscall.UTF16PtrFromString(str) + if err != nil { + return + } + return _convertStringSecurityDescriptorToSecurityDescriptor(_p0, revision, sd, size) +} + +func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), 4, uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func CreateProcessAsUser(token Token, 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 + } + r1, _, e1 := syscall.Syscall12(procCreateProcessAsUserW.Addr(), 11, uintptr(token), 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) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procCreateWellKnownSid.Addr(), 4, uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func DeleteService(service Handle) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteService.Addr(), 1, uintptr(service), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func DeregisterEventSource(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procDeregisterEventSource.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) { + r1, _, e1 := syscall.Syscall6(procDuplicateTokenEx.Addr(), 6, uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 FreeSid(sid *SID) (err error) { + r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + if r1 != 0 { + err = errnoErr(e1) + } + return +} + +func GetLengthSid(sid *SID) (len uint32) { + r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + len = uint32(r0) + return +} + +func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { + var _p0 *uint16 + _p0, ret = syscall.UTF16PtrFromString(objectName) + if ret != nil { + return + } + return _getNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl, sd) +} + +func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { + r0, _, _ := syscall.Syscall9(procGetNamedSecurityInfoW.Addr(), 8, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) { + var _p0 uint32 + if *daclPresent { + _p0 = 1 + } + var _p1 uint32 + if *daclDefaulted { + _p1 = 1 + } + r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) + *daclPresent = _p0 != 0 + *daclDefaulted = _p1 != 0 + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) { + var _p0 uint32 + if *groupDefaulted { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) + *groupDefaulted = _p0 != 0 + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) { + r0, _, _ := syscall.Syscall(procGetSecurityDescriptorLength.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) + len = uint32(r0) + return +} + +func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) { + var _p0 uint32 + if *ownerDefaulted { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) + *ownerDefaulted = _p0 != 0 + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) { + r0, _, _ := syscall.Syscall(procGetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) { + var _p0 uint32 + if *saclPresent { + _p0 = 1 + } + var _p1 uint32 + if *saclDefaulted { + _p1 = 1 + } + r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) + *saclPresent = _p0 != 0 + *saclDefaulted = _p1 != 0 + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { + r0, _, _ := syscall.Syscall9(procGetSecurityInfo.Addr(), 8, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) { + r0, _, _ := syscall.Syscall(procGetSidIdentifierAuthority.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0)) + return +} + +func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) { + r0, _, _ := syscall.Syscall(procGetSidSubAuthority.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(index), 0) + subAuthority = (*uint32)(unsafe.Pointer(r0)) + return +} + +func getSidSubAuthorityCount(sid *SID) (count *uint8) { + r0, _, _ := syscall.Syscall(procGetSidSubAuthorityCount.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + count = (*uint8)(unsafe.Pointer(r0)) + return +} + +func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func ImpersonateSelf(impersonationlevel uint32) (err error) { + r1, _, e1 := syscall.Syscall(procImpersonateSelf.Addr(), 1, uintptr(impersonationlevel), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) { + r1, _, e1 := syscall.Syscall(procInitializeSecurityDescriptor.Addr(), 2, uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) { + var _p0 uint32 + if forceAppsClosed { + _p0 = 1 + } + var _p1 uint32 + if rebootAfterShutdown { + _p1 = 1 + } + r1, _, e1 := syscall.Syscall6(procInitiateSystemShutdownExW.Addr(), 6, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func isTokenRestricted(tokenHandle Token) (ret bool, err error) { + r0, _, e1 := syscall.Syscall(procIsTokenRestricted.Addr(), 1, uintptr(tokenHandle), 0, 0) + ret = r0 != 0 + if !ret { + err = errnoErr(e1) + } + return +} + +func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) { + r0, _, _ := syscall.Syscall(procIsValidSecurityDescriptor.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) + isValid = r0 != 0 + return +} + +func isValidSid(sid *SID) (isValid bool) { + r0, _, _ := syscall.Syscall(procIsValidSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + isValid = r0 != 0 + return +} + +func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) { + r0, _, _ := syscall.Syscall(procIsWellKnownSid.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(sidType), 0) + isWellKnown = r0 != 0 + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) { + r1, _, e1 := syscall.Syscall(procLookupPrivilegeValueW.Addr(), 3, uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall12(procMakeAbsoluteSD.Addr(), 11, uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(absoluteSDSize)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclSize)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(saclSize)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(ownerSize)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(groupSize)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procMakeSelfRelativeSD.Addr(), 3, uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) { + r0, _, _ := syscall.Syscall(procNotifyServiceStatusChangeW.Addr(), 3, uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier))) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { + r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) { + var _p0 uint32 + if openAsSelf { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall6(procOpenThreadToken.Addr(), 4, uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceLockStatusW.Addr(), 4, uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceStatusEx.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 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 RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) { + var _p0 uint32 + if watchSubtree { + _p0 = 1 + } + var _p1 uint32 + if asynchronous { + _p1 = 1 + } + r0, _, _ := syscall.Syscall6(procRegNotifyChangeKeyValue.Addr(), 5, uintptr(key), uintptr(_p0), uintptr(notifyFilter), uintptr(event), uintptr(_p1), 0) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + 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 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 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 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func RevertToSelf() (err error) { + r1, _, e1 := syscall.Syscall(procRevertToSelf.Addr(), 0, 0, 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) { + r0, _, _ := syscall.Syscall6(procSetEntriesInAclW.Addr(), 4, uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) { + r1, _, e1 := syscall.Syscall(procSetKernelObjectSecurity.Addr(), 3, uintptr(handle), uintptr(securityInformation), uintptr(unsafe.Pointer(securityDescriptor))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { + var _p0 *uint16 + _p0, ret = syscall.UTF16PtrFromString(objectName) + if ret != nil { + return + } + return _SetNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl) +} + +func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { + r0, _, _ := syscall.Syscall9(procSetNamedSecurityInfoW.Addr(), 7, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) { + r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) { + var _p0 uint32 + if daclPresent { + _p0 = 1 + } + var _p1 uint32 + if daclDefaulted { + _p1 = 1 + } + r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) { + var _p0 uint32 + if groupDefaulted { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) { + var _p0 uint32 + if ownerDefaulted { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) { + syscall.Syscall(procSetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) + return +} + +func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) { + var _p0 uint32 + if saclPresent { + _p0 = 1 + } + var _p1 uint32 + if saclDefaulted { + _p1 = 1 + } + r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { + r0, _, _ := syscall.Syscall9(procSetSecurityInfo.Addr(), 7, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + 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 { + err = errnoErr(e1) + } + return +} + +func SetThreadToken(thread *Handle, token Token) (err error) { + r1, _, e1 := syscall.Syscall(procSetThreadToken.Addr(), 2, uintptr(unsafe.Pointer(thread)), uintptr(token), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procSetTokenInformation.Addr(), 4, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func CertCloseStore(store Handle, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func CertDeleteCertificateFromStore(certContext *CertContext) (err error) { + r1, _, e1 := syscall.Syscall(procCertDeleteCertificateFromStore.Addr(), 1, uintptr(unsafe.Pointer(certContext)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) { + r0, _, _ := syscall.Syscall(procCertDuplicateCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(certContext)), 0, 0) + dupContext = (*CertContext)(unsafe.Pointer(r0)) + 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 { + err = errnoErr(e1) + } + return +} + +func CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) { + r0, _, e1 := syscall.Syscall6(procCertFindCertificateInStore.Addr(), 6, uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevCertContext))) + cert = (*CertContext)(unsafe.Pointer(r0)) + if cert == nil { + err = errnoErr(e1) + } + return +} + +func CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) { + r0, _, e1 := syscall.Syscall6(procCertFindChainInStore.Addr(), 6, uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevChainContext))) + certchain = (*CertChainContext)(unsafe.Pointer(r0)) + if certchain == nil { + err = errnoErr(e1) + } + return +} + +func CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) { + r0, _, _ := syscall.Syscall(procCertFindExtension.Addr(), 3, uintptr(unsafe.Pointer(objId)), uintptr(countExtensions), uintptr(unsafe.Pointer(extensions))) + ret = (*CertExtension)(unsafe.Pointer(r0)) + return +} + +func CertFreeCertificateChain(ctx *CertChainContext) { + syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) + return +} + +func CertFreeCertificateContext(ctx *CertContext) (err error) { + r1, _, e1 := syscall.Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) { + r0, _, _ := syscall.Syscall6(procCertGetNameStringW.Addr(), 6, uintptr(unsafe.Pointer(certContext)), uintptr(nameType), uintptr(flags), uintptr(typePara), uintptr(unsafe.Pointer(name)), uintptr(size)) + chars = uint32(r0) + 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 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) { + var _p0 uint32 + if *callerFreeProvOrNCryptKey { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall6(procCryptAcquireCertificatePrivateKey.Addr(), 6, uintptr(unsafe.Pointer(cert)), uintptr(flags), uintptr(parameters), uintptr(unsafe.Pointer(cryptProvOrNCryptKey)), uintptr(unsafe.Pointer(keySpec)), uintptr(unsafe.Pointer(&_p0))) + *callerFreeProvOrNCryptKey = _p0 != 0 + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procCryptDecodeObject.Addr(), 7, uintptr(encodingType), uintptr(unsafe.Pointer(structType)), uintptr(unsafe.Pointer(encodedBytes)), uintptr(lenEncodedBytes), uintptr(flags), uintptr(decoded), uintptr(unsafe.Pointer(decodedLen)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) { + r1, _, e1 := syscall.Syscall9(procCryptProtectData.Addr(), 7, uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) { + r1, _, e1 := syscall.Syscall12(procCryptQueryObject.Addr(), 11, uintptr(objectType), uintptr(object), uintptr(expectedContentTypeFlags), uintptr(expectedFormatTypeFlags), uintptr(flags), uintptr(unsafe.Pointer(msgAndCertEncodingType)), uintptr(unsafe.Pointer(contentType)), uintptr(unsafe.Pointer(formatType)), uintptr(unsafe.Pointer(certStore)), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(context)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) { + r1, _, e1 := syscall.Syscall9(procCryptUnprotectData.Addr(), 7, uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) { + r0, _, e1 := syscall.Syscall(procPFXImportCertStore.Addr(), 3, uintptr(unsafe.Pointer(pfx)), uintptr(unsafe.Pointer(password)), uintptr(flags)) + store = Handle(r0) + if store == 0 { + err = errnoErr(e1) + } + 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 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 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 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 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 AssignProcessToJobObject(job Handle, process Handle) (err error) { + r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func CancelIo(s Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func CloseHandle(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall(procConnectNamedPipe.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 || e1 == ERROR_ALREADY_EXISTS { + err = errnoErr(e1) + } + 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 || e1 == ERROR_ALREADY_EXISTS { + err = errnoErr(e1) + } + 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 || e1 == ERROR_ALREADY_EXISTS { + err = errnoErr(e1) + } + return +} + +func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, 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 { + err = errnoErr(e1) + } + return +} + +func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procCreateJobObjectW.Addr(), 2, uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name)), 0) + handle = Handle(r0) + if handle == 0 { + err = errnoErr(e1) + } + return +} + +func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateMutexExW.Addr(), 4, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) + handle = Handle(r0) + if handle == 0 || e1 == ERROR_ALREADY_EXISTS { + err = errnoErr(e1) + } + return +} + +func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) { + var _p0 uint32 + if initialOwner { + _p0 = 1 + } + r0, _, e1 := syscall.Syscall(procCreateMutexW.Addr(), 3, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 || e1 == ERROR_ALREADY_EXISTS { + err = errnoErr(e1) + } + return +} + +func CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall9(procCreateNamedPipeW.Addr(), 8, uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(pipeMode), uintptr(maxInstances), uintptr(outSize), uintptr(inSize), uintptr(defaultTimeout), uintptr(unsafe.Pointer(sa)), 0) + handle = Handle(r0) + if handle == InvalidHandle { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func DeleteFile(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) { + syscall.Syscall(procDeleteProcThreadAttributeList.Addr(), 1, uintptr(unsafe.Pointer(attrlist)), 0, 0) + return +} + +func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 + } + 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 { + err = errnoErr(e1) + } + return +} + +func ExitProcess(exitcode uint32) { + syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) + return +} + +func FindClose(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func FindCloseChangeNotification(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindCloseChangeNotification.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) { + var _p0 *uint16 + _p0, err = syscall.UTF16PtrFromString(path) + if err != nil { + return + } + return _FindFirstChangeNotification(_p0, watchSubtree, notifyFilter) +} + +func _FindFirstChangeNotification(path *uint16, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) { + var _p1 uint32 + if watchSubtree { + _p1 = 1 + } + r0, _, e1 := syscall.Syscall(procFindFirstChangeNotificationW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(_p1), uintptr(notifyFilter)) + handle = Handle(r0) + if handle == InvalidHandle { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindFirstVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + handle = Handle(r0) + if handle == InvalidHandle { + err = errnoErr(e1) + } + return +} + +func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindFirstVolumeW.Addr(), 2, uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength), 0) + handle = Handle(r0) + if handle == InvalidHandle { + err = errnoErr(e1) + } + return +} + +func FindNextChangeNotification(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextChangeNotification.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindResourceW.Addr(), 3, uintptr(module), uintptr(name), uintptr(resType)) + resInfo = Handle(r0) + if resInfo == 0 { + err = errnoErr(e1) + } + return +} + +func FindVolumeClose(findVolume Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func FlushFileBuffers(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func FlushViewOfFile(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func FreeEnvironmentStrings(envs *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func FreeLibrary(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGenerateConsoleCtrlEvent.Addr(), 2, uintptr(ctrlEvent), uintptr(processGroupID), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetACP() (acp uint32) { + r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0) + acp = uint32(r0) + return +} + +func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { + r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetCommandLine() (cmd *uint16) { + r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) + cmd = (*uint16)(unsafe.Pointer(r0)) + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func GetCurrentProcessId() (pid uint32) { + r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) + pid = uint32(r0) + return +} + +func GetCurrentThreadId() (id uint32) { + r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0) + id = uint32(r0) + return +} + +func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) { + r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetDriveType(rootPathName *uint16) (driveType uint32) { + r0, _, _ := syscall.Syscall(procGetDriveTypeW.Addr(), 1, uintptr(unsafe.Pointer(rootPathName)), 0, 0) + driveType = uint32(r0) + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall6(procGetFinalPathNameByHandleW.Addr(), 4, uintptr(file), uintptr(unsafe.Pointer(filePath)), uintptr(filePathSize), uintptr(flags), 0, 0) + n = uint32(r0) + if n == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func GetLastError() (lasterr error) { + r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) + if r0 != 0 { + lasterr = syscall.Errno(r0) + } + return +} + +func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetLogicalDriveStringsW.Addr(), 2, uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)), 0) + n = uint32(r0) + if n == 0 { + err = errnoErr(e1) + } + return +} + +func GetLogicalDrives() (drivesBitMask uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetLogicalDrives.Addr(), 0, 0, 0, 0) + drivesBitMask = uint32(r0) + if drivesBitMask == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetModuleFileNameW.Addr(), 3, uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) + n = uint32(r0) + if n == 0 { + err = errnoErr(e1) + } + return +} + +func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) { + r1, _, e1 := syscall.Syscall(procGetModuleHandleExW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procGetNamedPipeHandleStateW.Addr(), 7, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(curInstances)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), uintptr(unsafe.Pointer(userName)), uintptr(maxUserNameSize), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetNamedPipeInfo.Addr(), 5, uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { + var _p0 uint32 + if wait { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall6(procGetOverlappedResult.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetPriorityClass(process Handle) (ret uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetPriorityClass.Addr(), 1, uintptr(process), 0, 0) + ret = uint32(r0) + if ret == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func GetProcessId(process Handle) (id uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetProcessId.Addr(), 1, uintptr(process), 0, 0) + id = uint32(r0) + if id == 0 { + err = errnoErr(e1) + } + return +} + +func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetProcessPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetProcessShutdownParameters.Addr(), 2, uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) { + syscall.Syscall6(procGetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(unsafe.Pointer(lpMinimumWorkingSetSize)), uintptr(unsafe.Pointer(lpMaximumWorkingSetSize)), uintptr(unsafe.Pointer(flags)), 0, 0) + return +} + +func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func GetStartupInfo(startupInfo *StartupInfo) (err error) { + r1, _, e1 := syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + len = uint32(r0) + if len == 0 { + err = errnoErr(e1) + } + return +} + +func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetSystemPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetSystemWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + len = uint32(r0) + if len == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetThreadPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func getTickCount64() (ms uint64) { + r0, _, _ := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0) + ms = uint64(r0) + 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 { + err = errnoErr(e1) + } + return +} + +func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetUserPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetVersion() (ver uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetVersion.Addr(), 0, 0, 0, 0) + ver = uint32(r0) + if ver == 0 { + err = errnoErr(e1) + } + return +} + +func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procGetVolumeInformationByHandleW.Addr(), 8, uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procGetVolumeInformationW.Addr(), 8, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetVolumeNameForVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetVolumePathNameW.Addr(), 3, uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetVolumePathNamesForVolumeNameW.Addr(), 4, uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + len = uint32(r0) + if len == 0 { + err = errnoErr(e1) + } + return +} + +func initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) { + r1, _, e1 := syscall.Syscall6(procInitializeProcThreadAttributeList.Addr(), 4, uintptr(unsafe.Pointer(attrlist)), uintptr(attrcount), uintptr(flags), uintptr(unsafe.Pointer(size)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func IsWow64Process(handle Handle, isWow64 *bool) (err error) { + var _p0 uint32 + if *isWow64 { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(&_p0)), 0) + *isWow64 = _p0 != 0 + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) { + err = procIsWow64Process2.Find() + if err != nil { + return + } + r1, _, e1 := syscall.Syscall(procIsWow64Process2.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(processMachine)), uintptr(unsafe.Pointer(nativeMachine))) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func LoadResource(module Handle, resInfo Handle) (resData Handle, err error) { + r0, _, e1 := syscall.Syscall(procLoadResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) + resData = Handle(r0) + if resData == 0 { + err = errnoErr(e1) + } + return +} + +func LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) { + r0, _, e1 := syscall.Syscall(procLocalAlloc.Addr(), 2, uintptr(flags), uintptr(length), 0) + ptr = uintptr(r0) + if ptr == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall6(procLockFileEx.Addr(), 6, uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func LockResource(resData Handle) (addr uintptr, err error) { + r0, _, e1 := syscall.Syscall(procLockResource.Addr(), 1, uintptr(resData), 0, 0) + addr = uintptr(r0) + if addr == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } + r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + err = errnoErr(e1) + } + return +} + +func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } + r0, _, e1 := syscall.Syscall(procOpenMutexW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + err = errnoErr(e1) + } + return +} + +func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } + r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) + handle = Handle(r0) + if handle == 0 { + err = errnoErr(e1) + } + return +} + +func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } + r0, _, e1 := syscall.Syscall(procOpenThread.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) + handle = Handle(r0) + if handle == 0 { + err = errnoErr(e1) + } + return +} + +func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procProcessIdToSessionId.Addr(), 2, uintptr(pid), uintptr(unsafe.Pointer(sessionid)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func PulseEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) + n = uint32(r0) + if n == 0 { + err = errnoErr(e1) + } + return +} + +func QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryFullProcessImageNameW.Addr(), 4, uintptr(proc), uintptr(flags), uintptr(unsafe.Pointer(exeName)), uintptr(unsafe.Pointer(size)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryInformationJobObject.Addr(), 5, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func ReleaseMutex(mutex Handle) (err error) { + r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func RemoveDirectory(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func ResetEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func ResumeThread(thread Handle) (ret uint32, err error) { + r0, _, e1 := syscall.Syscall(procResumeThread.Addr(), 1, uintptr(thread), 0, 0) + ret = uint32(r0) + if ret == 0xffffffff { + err = errnoErr(e1) + } + return +} + +func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { + r1, _, e1 := syscall.Syscall(procSetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func setConsoleCursorPosition(console Handle, position uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetConsoleMode(console Handle, mode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetCurrentDirectory(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetDefaultDllDirectories(directoryFlags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetDefaultDllDirectories.Addr(), 1, uintptr(directoryFlags), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetDllDirectory(path string) (err error) { + var _p0 *uint16 + _p0, err = syscall.UTF16PtrFromString(path) + if err != nil { + return + } + return _SetDllDirectory(_p0) +} + +func _SetDllDirectory(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetDllDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetEndOfFile(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func SetErrorMode(mode uint32) (ret uint32) { + r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0) + ret = uint32(r0) + return +} + +func SetEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { + r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procSetFileInformationByHandle.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) { + r0, _, e1 := syscall.Syscall6(procSetInformationJobObject.Addr(), 4, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), 0, 0) + ret = int(r0) + if ret == 0 { + err = errnoErr(e1) + } + return +} + +func SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procSetNamedPipeHandleState.Addr(), 4, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetPriorityClass(process Handle, priorityClass uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetProcessPriorityBoost(process Handle, disable bool) (err error) { + var _p0 uint32 + if disable { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall(procSetProcessPriorityBoost.Addr(), 2, uintptr(process), uintptr(_p0), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetProcessShutdownParameters.Addr(), 2, uintptr(level), uintptr(flags), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procSetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(dwMinimumWorkingSetSize), uintptr(dwMaximumWorkingSetSize), uintptr(flags), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetStdHandle(stdhandle uint32, handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetVolumeLabelW.Addr(), 2, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetVolumeMountPointW.Addr(), 2, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SizeofResource(module Handle, resInfo Handle) (size uint32, err error) { + r0, _, e1 := syscall.Syscall(procSizeofResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) + size = uint32(r0) + if size == 0 { + err = errnoErr(e1) + } + return +} + +func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { + var _p0 uint32 + if alertable { + _p0 = 1 + } + r0, _, _ := syscall.Syscall(procSleepEx.Addr(), 2, uintptr(milliseconds), uintptr(_p0), 0) + ret = uint32(r0) + return +} + +func TerminateJobObject(job Handle, exitCode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procTerminateJobObject.Addr(), 2, uintptr(job), uintptr(exitCode), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func TerminateProcess(handle Handle, exitcode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procThread32First.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procThread32Next.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall6(procUnlockFileEx.Addr(), 5, uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func UnmapViewOfFile(addr uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) { + r1, _, e1 := syscall.Syscall9(procUpdateProcThreadAttribute.Addr(), 7, uintptr(unsafe.Pointer(attrlist)), uintptr(flags), uintptr(attr), uintptr(value), uintptr(size), uintptr(prevvalue), uintptr(unsafe.Pointer(returnedsize)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func VirtualLock(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func VirtualUnlock(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { + var _p0 uint32 + if waitAll { + _p0 = 1 + } + r0, _, e1 := syscall.Syscall6(procWaitForMultipleObjects.Addr(), 4, uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds), 0, 0) + event = uint32(r0) + if event == 0xffffffff { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 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 { + err = errnoErr(e1) + } + 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 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 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 NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) { + r0, _, _ := syscall.Syscall12(procNtCreateFile.Addr(), 11, uintptr(unsafe.Pointer(handle)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(attributes), uintptr(share), uintptr(disposition), uintptr(options), uintptr(eabuffer), uintptr(ealength), 0) + if r0 != 0 { + ntstatus = NTStatus(r0) + } + return +} + +func NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) { + r0, _, _ := syscall.Syscall15(procNtCreateNamedPipeFile.Addr(), 14, uintptr(unsafe.Pointer(pipe)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(share), uintptr(disposition), uintptr(options), uintptr(typ), uintptr(readMode), uintptr(completionMode), uintptr(maxInstances), uintptr(inboundQuota), uintptr(outputQuota), uintptr(unsafe.Pointer(timeout)), 0) + if r0 != 0 { + ntstatus = NTStatus(r0) + } + return +} + +func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) { + r0, _, _ := syscall.Syscall6(procNtQueryInformationProcess.Addr(), 5, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen)), 0) + if r0 != 0 { + ntstatus = NTStatus(r0) + } + return +} + +func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) { + r0, _, _ := syscall.Syscall6(procNtSetInformationProcess.Addr(), 4, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), 0, 0) + if r0 != 0 { + ntstatus = NTStatus(r0) + } + return +} + +func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { + r0, _, _ := syscall.Syscall(procRtlDefaultNpAcl.Addr(), 1, uintptr(unsafe.Pointer(acl)), 0, 0) + if r0 != 0 { + ntstatus = NTStatus(r0) + } + return +} + +func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { + r0, _, _ := syscall.Syscall6(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) + if r0 != 0 { + ntstatus = NTStatus(r0) + } + return +} + +func RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { + r0, _, _ := syscall.Syscall6(procRtlDosPathNameToRelativeNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) + if r0 != 0 { + ntstatus = NTStatus(r0) + } + return +} + +func RtlGetCurrentPeb() (peb *PEB) { + r0, _, _ := syscall.Syscall(procRtlGetCurrentPeb.Addr(), 0, 0, 0, 0) + peb = (*PEB)(unsafe.Pointer(r0)) + return +} + +func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) { + syscall.Syscall(procRtlGetNtVersionNumbers.Addr(), 3, uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) + return +} + +func rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) { + r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(info)), 0, 0) + if r0 != 0 { + ntstatus = NTStatus(r0) + } + return +} + +func RtlInitString(destinationString *NTString, sourceString *byte) { + syscall.Syscall(procRtlInitString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0) + return +} + +func RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) { + syscall.Syscall(procRtlInitUnicodeString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0) + return +} + +func rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) { + r0, _, _ := syscall.Syscall(procRtlNtStatusToDosErrorNoTeb.Addr(), 1, uintptr(ntstatus), 0, 0) + ret = syscall.Errno(r0) + return +} + +func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { + r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func coCreateGuid(pguid *GUID) (ret error) { + r0, _, _ := syscall.Syscall(procCoCreateGuid.Addr(), 1, uintptr(unsafe.Pointer(pguid)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) { + r0, _, _ := syscall.Syscall6(procCoGetObject.Addr(), 4, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bindOpts)), uintptr(unsafe.Pointer(guid)), uintptr(unsafe.Pointer(functionTable)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func CoInitializeEx(reserved uintptr, coInit uint32) (ret error) { + r0, _, _ := syscall.Syscall(procCoInitializeEx.Addr(), 2, uintptr(reserved), uintptr(coInit), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func CoTaskMemFree(address unsafe.Pointer) { + syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0) + return +} + +func CoUninitialize() { + syscall.Syscall(procCoUninitialize.Addr(), 0, 0, 0, 0) + return +} + +func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { + r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) + chars = int32(r0) + return +} + +func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { + var _p0 *uint32 + if len(processIds) > 0 { + _p0 = &processIds[0] + } + r1, _, e1 := syscall.Syscall(procEnumProcesses.Addr(), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(processIds)), uintptr(unsafe.Pointer(bytesReturned))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) { + ret = procSubscribeServiceChangeNotifications.Find() + if ret != nil { + return + } + r0, _, _ := syscall.Syscall6(procSubscribeServiceChangeNotifications.Addr(), 5, uintptr(service), uintptr(eventType), uintptr(callback), uintptr(callbackCtx), uintptr(unsafe.Pointer(subscription)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func UnsubscribeServiceChangeNotifications(subscription uintptr) (err error) { + err = procUnsubscribeServiceChangeNotifications.Find() + if err != nil { + return + } + syscall.Syscall(procUnsubscribeServiceChangeNotifications.Addr(), 1, uintptr(subscription), 0, 0) + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) { + r0, _, _ := syscall.Syscall6(procSHGetKnownFolderPath.Addr(), 4, uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { + r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) + if r1 <= 32 { + err = errnoErr(e1) + } + return +} + +func ExitWindowsEx(flags uint32, reason uint32) (err error) { + r1, _, e1 := syscall.Syscall(procExitWindowsEx.Addr(), 2, uintptr(flags), uintptr(reason), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetShellWindow() (shellWindow HWND) { + r0, _, _ := syscall.Syscall(procGetShellWindow.Addr(), 0, 0, 0, 0) + shellWindow = HWND(r0) + return +} + +func GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetWindowThreadProcessId.Addr(), 2, uintptr(hwnd), uintptr(unsafe.Pointer(pid)), 0) + tid = uint32(r0) + if tid == 0 { + err = errnoErr(e1) + } + return +} + +func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { + r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) + ret = int32(r0) + if ret == 0 { + err = errnoErr(e1) + } + return +} + +func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { + var _p0 uint32 + if inheritExisting { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall(procCreateEnvironmentBlock.Addr(), 3, uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func DestroyEnvironmentBlock(block *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDestroyEnvironmentBlock.Addr(), 1, uintptr(unsafe.Pointer(block)), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) { + r0, _, _ := syscall.Syscall(procWinVerifyTrustEx.Addr(), 3, uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data))) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func FreeAddrInfoW(addrinfo *AddrinfoW) { + syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 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 WSACleanup() (err error) { + r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) + if r1 == socket_error { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) { + var _p0 uint32 + if wait { + _p0 = 1 + } + r1, _, e1 := syscall.Syscall6(procWSAGetOverlappedResult.Addr(), 5, uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procWSASocketW.Addr(), 6, uintptr(af), uintptr(typ), uintptr(protocol), uintptr(unsafe.Pointer(protoInfo)), uintptr(group), uintptr(flags)) + handle = Handle(r0) + if handle == InvalidHandle { + err = errnoErr(e1) + } + 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 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 { + err = errnoErr(e1) + } + return +} + +func Closesocket(s Handle) (err error) { + r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) + if r1 == socket_error { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func Ntohs(netshort uint16) (u uint16) { + r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) + u = uint16(r0) + return +} + +func recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := syscall.Syscall6(procrecvfrom.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int32(r0) + if n == -1 { + err = errnoErr(e1) + } + return +} + +func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r1, _, e1 := syscall.Syscall6(procsendto.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen)) + if r1 == socket_error { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + 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 { + err = errnoErr(e1) + } + return +} + +func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procWTSEnumerateSessionsW.Addr(), 5, uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func WTSFreeMemory(ptr uintptr) { + syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) + return +} + +func WTSQueryUserToken(session uint32, token *Token) (err error) { + r1, _, e1 := syscall.Syscall(procWTSQueryUserToken.Addr(), 2, uintptr(session), uintptr(unsafe.Pointer(token)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/text/AUTHORS b/vendor/golang.org/x/text/AUTHORS new file mode 100644 index 000000000..15167cd74 --- /dev/null +++ b/vendor/golang.org/x/text/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/text/CONTRIBUTORS b/vendor/golang.org/x/text/CONTRIBUTORS new file mode 100644 index 000000000..1c4577e96 --- /dev/null +++ b/vendor/golang.org/x/text/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/golang.org/x/text/LICENSE b/vendor/golang.org/x/text/LICENSE new file mode 100644 index 000000000..6a66aea5e --- /dev/null +++ b/vendor/golang.org/x/text/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/text/PATENTS b/vendor/golang.org/x/text/PATENTS new file mode 100644 index 000000000..733099041 --- /dev/null +++ b/vendor/golang.org/x/text/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/text/internal/language/common.go b/vendor/golang.org/x/text/internal/language/common.go new file mode 100644 index 000000000..cdfdb7497 --- /dev/null +++ b/vendor/golang.org/x/text/internal/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. + +// AliasType is the type of an alias in AliasMap. +type AliasType int8 + +const ( + Deprecated AliasType = iota + Macro + Legacy + + AliasTypeUnknown AliasType = -1 +) diff --git a/vendor/golang.org/x/text/internal/language/compact.go b/vendor/golang.org/x/text/internal/language/compact.go new file mode 100644 index 000000000..46a001507 --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/compact.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package language + +// CompactCoreInfo is a compact integer with the three core tags encoded. +type CompactCoreInfo uint32 + +// GetCompactCore generates a uint32 value that is guaranteed to be unique for +// different language, region, and script values. +func GetCompactCore(t Tag) (cci CompactCoreInfo, ok bool) { + if t.LangID > langNoIndexOffset { + return 0, false + } + cci |= CompactCoreInfo(t.LangID) << (8 + 12) + cci |= CompactCoreInfo(t.ScriptID) << 12 + cci |= CompactCoreInfo(t.RegionID) + return cci, true +} + +// Tag generates a tag from c. +func (c CompactCoreInfo) Tag() Tag { + return Tag{ + LangID: Language(c >> 20), + RegionID: Region(c & 0x3ff), + ScriptID: Script(c>>12) & 0xff, + } +} diff --git a/vendor/golang.org/x/text/internal/language/compact/compact.go b/vendor/golang.org/x/text/internal/language/compact/compact.go new file mode 100644 index 000000000..1b36935ef --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/compact/compact.go @@ -0,0 +1,61 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package compact defines a compact representation of language tags. +// +// Common language tags (at least all for which locale information is defined +// in CLDR) are assigned a unique index. Each Tag is associated with such an +// ID for selecting language-related resources (such as translations) as well +// as one for selecting regional defaults (currency, number formatting, etc.) +// +// It may want to export this functionality at some point, but at this point +// this is only available for use within x/text. +package compact // import "golang.org/x/text/internal/language/compact" + +import ( + "sort" + "strings" + + "golang.org/x/text/internal/language" +) + +// ID is an integer identifying a single tag. +type ID uint16 + +func getCoreIndex(t language.Tag) (id ID, ok bool) { + cci, ok := language.GetCompactCore(t) + if !ok { + return 0, false + } + i := sort.Search(len(coreTags), func(i int) bool { + return cci <= coreTags[i] + }) + if i == len(coreTags) || coreTags[i] != cci { + return 0, false + } + return ID(i), true +} + +// Parent returns the ID of the parent or the root ID if id is already the root. +func (id ID) Parent() ID { + return parents[id] +} + +// Tag converts id to an internal language Tag. +func (id ID) Tag() language.Tag { + if int(id) >= len(coreTags) { + return specialTags[int(id)-len(coreTags)] + } + return coreTags[id].Tag() +} + +var specialTags []language.Tag + +func init() { + tags := strings.Split(specialTagsStr, " ") + specialTags = make([]language.Tag, len(tags)) + for i, t := range tags { + specialTags[i] = language.MustParse(t) + } +} diff --git a/vendor/golang.org/x/text/internal/language/compact/language.go b/vendor/golang.org/x/text/internal/language/compact/language.go new file mode 100644 index 000000000..83816a72a --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/compact/language.go @@ -0,0 +1,260 @@ +// 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_index.go -output tables.go +//go:generate go run gen_parents.go + +package compact + +// TODO: Remove above NOTE after: +// - verifying that tables are dropped correctly (most notably matcher tables). + +import ( + "strings" + + "golang.org/x/text/internal/language" +) + +// 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 { + // NOTE: exported tags will become part of the public API. + language ID + locale ID + full fullTag // always a language.Tag for now. +} + +const _und = 0 + +type fullTag interface { + IsRoot() bool + Parent() language.Tag +} + +// Make a compact Tag from a fully specified internal language Tag. +func Make(t language.Tag) (tag Tag) { + if region := t.TypeForKey("rg"); len(region) == 6 && region[2:] == "zzzz" { + if r, err := language.ParseRegion(region[:2]); err == nil { + tFull := t + t, _ = t.SetTypeForKey("rg", "") + // TODO: should we not consider "va" for the language tag? + var exact1, exact2 bool + tag.language, exact1 = FromTag(t) + t.RegionID = r + tag.locale, exact2 = FromTag(t) + if !exact1 || !exact2 { + tag.full = tFull + } + return tag + } + } + lang, ok := FromTag(t) + tag.language = lang + tag.locale = lang + if !ok { + tag.full = t + } + return tag +} + +// Tag returns an internal language Tag version of this tag. +func (t Tag) Tag() language.Tag { + if t.full != nil { + return t.full.(language.Tag) + } + tag := t.language.Tag() + if t.language != t.locale { + loc := t.locale.Tag() + tag, _ = tag.SetTypeForKey("rg", strings.ToLower(loc.RegionID.String())+"zzzz") + } + return tag +} + +// IsCompact reports whether this tag is fully defined in terms of ID. +func (t *Tag) IsCompact() bool { + return t.full == nil +} + +// MayHaveVariants reports whether a tag may have variants. If it returns false +// it is guaranteed the tag does not have variants. +func (t Tag) MayHaveVariants() bool { + return t.full != nil || int(t.language) >= len(coreTags) +} + +// MayHaveExtensions reports whether a tag may have extensions. If it returns +// false it is guaranteed the tag does not have them. +func (t Tag) MayHaveExtensions() bool { + return t.full != nil || + int(t.language) >= len(coreTags) || + t.language != t.locale +} + +// IsRoot returns true if t is equal to language "und". +func (t Tag) IsRoot() bool { + if t.full != nil { + return t.full.IsRoot() + } + return t.language == _und +} + +// 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.full != nil { + return Make(t.full.Parent()) + } + if t.language != t.locale { + // Simulate stripping -u-rg-xxxxxx + return Tag{language: t.language, locale: t.language} + } + // TODO: use parent lookup table once cycle from internal package is + // removed. Probably by internalizing the table and declaring this fast + // enough. + // lang := compactID(internal.Parent(uint16(t.language))) + lang, _ := FromTag(t.language.Tag().Parent()) + return Tag{language: lang, locale: lang} +} + +// 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:] +} + +// LanguageID 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. If t does not match a compact +// index, exact will be false and the compact index will be returned for the +// first match after repeatedly taking the Parent of t. +func LanguageID(t Tag) (id ID, exact bool) { + return t.language, t.full == nil +} + +// RegionalID returns the ID for the regional variant of this tag. This index is +// used to indicate region-specific overrides, such as default currency, default +// calendar and week data, default time cycle, and default measurement system +// and unit preferences. +// +// For instance, the tag en-GB-u-rg-uszzzz specifies British English with US +// settings for currency, number formatting, etc. The CompactIndex for this tag +// will be that for en-GB, while the RegionalID will be the one corresponding to +// en-US. +func RegionalID(t Tag) (id ID, exact bool) { + return t.locale, t.full == nil +} + +// LanguageTag returns t stripped of regional variant indicators. +// +// At the moment this means it is stripped of a regional and variant subtag "rg" +// and "va" in the "u" extension. +func (t Tag) LanguageTag() Tag { + if t.full == nil { + return Tag{language: t.language, locale: t.language} + } + tt := t.Tag() + tt.SetTypeForKey("rg", "") + tt.SetTypeForKey("va", "") + return Make(tt) +} + +// RegionalTag returns the regional variant of the tag. +// +// At the moment this means that the region is set from the regional subtag +// "rg" in the "u" extension. +func (t Tag) RegionalTag() Tag { + rt := Tag{language: t.locale, locale: t.locale} + if t.full == nil { + return rt + } + b := language.Builder{} + tag := t.Tag() + // tag, _ = tag.SetTypeForKey("rg", "") + b.SetTag(t.locale.Tag()) + if v := tag.Variants(); v != "" { + for _, v := range strings.Split(v, "-") { + b.AddVariant(v) + } + } + for _, e := range tag.Extensions() { + b.AddExt(e) + } + return t +} + +// FromTag reports closest matching ID for an internal language Tag. +func FromTag(t language.Tag) (id ID, exact 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. + exact = true + + b, s, r := t.Raw() + if t.HasString() { + if t.IsPrivateUse() { + // We have no entries for user-defined tags. + return 0, false + } + hasExtra := false + if t.HasVariants() { + if t.HasExtensions() { + build := language.Builder{} + build.SetTag(language.Tag{LangID: b, ScriptID: s, RegionID: r}) + build.AddVariant(t.Variants()) + exact = false + t = build.Make() + } + hasExtra = true + } else if _, ok := t.Extension('u'); ok { + // TODO: va may mean something else. Consider not considering it. + // Strip all but the 'va' entry. + old := t + variant := t.TypeForKey("va") + t = language.Tag{LangID: b, ScriptID: s, RegionID: r} + if variant != "" { + t, _ = t.SetTypeForKey("va", variant) + hasExtra = true + } + exact = old == t + } else { + exact = false + } + if hasExtra { + // We have some variants. + for i, s := range specialTags { + if s == t { + return ID(i + len(coreTags)), exact + } + } + exact = false + } + } + if x, ok := getCoreIndex(t); ok { + return x, exact + } + exact = false + if r != 0 && s == 0 { + // Deal with cases where an extra script is inserted for the region. + t, _ := t.Maximize() + if x, ok := getCoreIndex(t); ok { + return x, exact + } + } + for t = t.Parent(); t != root; t = t.Parent() { + // 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. + if x, ok := getCoreIndex(t); ok { + return x, exact + } + } + return 0, exact +} + +var root = language.Tag{} diff --git a/vendor/golang.org/x/text/internal/language/compact/parents.go b/vendor/golang.org/x/text/internal/language/compact/parents.go new file mode 100644 index 000000000..8d810723c --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/compact/parents.go @@ -0,0 +1,120 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package compact + +// parents maps a compact index of a tag to the compact index of the parent of +// this tag. +var parents = []ID{ // 775 elements + // Entry 0 - 3F + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0004, 0x0000, 0x0006, + 0x0000, 0x0008, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, + 0x0000, 0x0028, 0x0000, 0x002a, 0x0000, 0x002c, 0x0000, 0x0000, + 0x002f, 0x002e, 0x002e, 0x0000, 0x0033, 0x0000, 0x0035, 0x0000, + 0x0037, 0x0000, 0x0039, 0x0000, 0x003b, 0x0000, 0x0000, 0x003e, + // Entry 40 - 7F + 0x0000, 0x0040, 0x0040, 0x0000, 0x0043, 0x0043, 0x0000, 0x0046, + 0x0000, 0x0048, 0x0000, 0x0000, 0x004b, 0x004a, 0x004a, 0x0000, + 0x004f, 0x004f, 0x004f, 0x004f, 0x0000, 0x0054, 0x0054, 0x0000, + 0x0057, 0x0000, 0x0059, 0x0000, 0x005b, 0x0000, 0x005d, 0x005d, + 0x0000, 0x0060, 0x0000, 0x0062, 0x0000, 0x0064, 0x0000, 0x0066, + 0x0066, 0x0000, 0x0069, 0x0000, 0x006b, 0x006b, 0x006b, 0x006b, + 0x006b, 0x006b, 0x006b, 0x0000, 0x0073, 0x0000, 0x0075, 0x0000, + 0x0077, 0x0000, 0x0000, 0x007a, 0x0000, 0x007c, 0x0000, 0x007e, + // Entry 80 - BF + 0x0000, 0x0080, 0x0080, 0x0000, 0x0083, 0x0083, 0x0000, 0x0086, + 0x0087, 0x0087, 0x0087, 0x0086, 0x0088, 0x0087, 0x0087, 0x0087, + 0x0086, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0088, + 0x0087, 0x0087, 0x0087, 0x0087, 0x0088, 0x0087, 0x0088, 0x0087, + 0x0087, 0x0088, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, + 0x0087, 0x0087, 0x0087, 0x0086, 0x0087, 0x0087, 0x0087, 0x0087, + 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, + 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0086, 0x0087, 0x0086, + // Entry C0 - FF + 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, + 0x0088, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, + 0x0086, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0088, 0x0087, + 0x0087, 0x0088, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, + 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0086, 0x0086, 0x0087, + 0x0087, 0x0086, 0x0087, 0x0087, 0x0087, 0x0087, 0x0087, 0x0000, + 0x00ef, 0x0000, 0x00f1, 0x00f2, 0x00f2, 0x00f2, 0x00f2, 0x00f2, + 0x00f2, 0x00f2, 0x00f2, 0x00f2, 0x00f1, 0x00f2, 0x00f1, 0x00f1, + // Entry 100 - 13F + 0x00f2, 0x00f2, 0x00f1, 0x00f2, 0x00f2, 0x00f2, 0x00f2, 0x00f1, + 0x00f2, 0x00f2, 0x00f2, 0x00f2, 0x00f2, 0x00f2, 0x0000, 0x010e, + 0x0000, 0x0110, 0x0000, 0x0112, 0x0000, 0x0114, 0x0114, 0x0000, + 0x0117, 0x0117, 0x0117, 0x0117, 0x0000, 0x011c, 0x0000, 0x011e, + 0x0000, 0x0120, 0x0120, 0x0000, 0x0123, 0x0123, 0x0123, 0x0123, + 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, + 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, + 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, + // Entry 140 - 17F + 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, + 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, 0x0123, + 0x0123, 0x0123, 0x0000, 0x0152, 0x0000, 0x0154, 0x0000, 0x0156, + 0x0000, 0x0158, 0x0000, 0x015a, 0x0000, 0x015c, 0x015c, 0x015c, + 0x0000, 0x0160, 0x0000, 0x0000, 0x0163, 0x0000, 0x0165, 0x0000, + 0x0167, 0x0167, 0x0167, 0x0000, 0x016b, 0x0000, 0x016d, 0x0000, + 0x016f, 0x0000, 0x0171, 0x0171, 0x0000, 0x0174, 0x0000, 0x0176, + 0x0000, 0x0178, 0x0000, 0x017a, 0x0000, 0x017c, 0x0000, 0x017e, + // Entry 180 - 1BF + 0x0000, 0x0000, 0x0000, 0x0182, 0x0000, 0x0184, 0x0184, 0x0184, + 0x0184, 0x0000, 0x0000, 0x0000, 0x018b, 0x0000, 0x0000, 0x018e, + 0x0000, 0x0000, 0x0191, 0x0000, 0x0000, 0x0000, 0x0195, 0x0000, + 0x0197, 0x0000, 0x0000, 0x019a, 0x0000, 0x0000, 0x019d, 0x0000, + 0x019f, 0x0000, 0x01a1, 0x0000, 0x01a3, 0x0000, 0x01a5, 0x0000, + 0x01a7, 0x0000, 0x01a9, 0x0000, 0x01ab, 0x0000, 0x01ad, 0x0000, + 0x01af, 0x0000, 0x01b1, 0x01b1, 0x0000, 0x01b4, 0x0000, 0x01b6, + 0x0000, 0x01b8, 0x0000, 0x01ba, 0x0000, 0x01bc, 0x0000, 0x0000, + // Entry 1C0 - 1FF + 0x01bf, 0x0000, 0x01c1, 0x0000, 0x01c3, 0x0000, 0x01c5, 0x0000, + 0x01c7, 0x0000, 0x01c9, 0x0000, 0x01cb, 0x01cb, 0x01cb, 0x01cb, + 0x0000, 0x01d0, 0x0000, 0x01d2, 0x01d2, 0x0000, 0x01d5, 0x0000, + 0x01d7, 0x0000, 0x01d9, 0x0000, 0x01db, 0x0000, 0x01dd, 0x0000, + 0x01df, 0x01df, 0x0000, 0x01e2, 0x0000, 0x01e4, 0x0000, 0x01e6, + 0x0000, 0x01e8, 0x0000, 0x01ea, 0x0000, 0x01ec, 0x0000, 0x01ee, + 0x0000, 0x01f0, 0x0000, 0x0000, 0x01f3, 0x0000, 0x01f5, 0x01f5, + 0x01f5, 0x0000, 0x01f9, 0x0000, 0x01fb, 0x0000, 0x01fd, 0x0000, + // Entry 200 - 23F + 0x01ff, 0x0000, 0x0000, 0x0202, 0x0000, 0x0204, 0x0204, 0x0000, + 0x0207, 0x0000, 0x0209, 0x0209, 0x0000, 0x020c, 0x020c, 0x0000, + 0x020f, 0x020f, 0x020f, 0x020f, 0x020f, 0x020f, 0x020f, 0x0000, + 0x0217, 0x0000, 0x0219, 0x0000, 0x021b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0221, 0x0000, 0x0000, 0x0224, 0x0000, 0x0226, + 0x0226, 0x0000, 0x0229, 0x0000, 0x022b, 0x022b, 0x0000, 0x0000, + 0x022f, 0x022e, 0x022e, 0x0000, 0x0000, 0x0234, 0x0000, 0x0236, + 0x0000, 0x0238, 0x0000, 0x0244, 0x023a, 0x0244, 0x0244, 0x0244, + // Entry 240 - 27F + 0x0244, 0x0244, 0x0244, 0x0244, 0x023a, 0x0244, 0x0244, 0x0000, + 0x0247, 0x0247, 0x0247, 0x0000, 0x024b, 0x0000, 0x024d, 0x0000, + 0x024f, 0x024f, 0x0000, 0x0252, 0x0000, 0x0254, 0x0254, 0x0254, + 0x0254, 0x0254, 0x0254, 0x0000, 0x025b, 0x0000, 0x025d, 0x0000, + 0x025f, 0x0000, 0x0261, 0x0000, 0x0263, 0x0000, 0x0265, 0x0000, + 0x0000, 0x0268, 0x0268, 0x0268, 0x0000, 0x026c, 0x0000, 0x026e, + 0x0000, 0x0270, 0x0000, 0x0000, 0x0000, 0x0274, 0x0273, 0x0273, + 0x0000, 0x0278, 0x0000, 0x027a, 0x0000, 0x027c, 0x0000, 0x0000, + // Entry 280 - 2BF + 0x0000, 0x0000, 0x0281, 0x0000, 0x0000, 0x0284, 0x0000, 0x0286, + 0x0286, 0x0286, 0x0286, 0x0000, 0x028b, 0x028b, 0x028b, 0x0000, + 0x028f, 0x028f, 0x028f, 0x028f, 0x028f, 0x0000, 0x0295, 0x0295, + 0x0295, 0x0295, 0x0000, 0x0000, 0x0000, 0x0000, 0x029d, 0x029d, + 0x029d, 0x0000, 0x02a1, 0x02a1, 0x02a1, 0x02a1, 0x0000, 0x0000, + 0x02a7, 0x02a7, 0x02a7, 0x02a7, 0x0000, 0x02ac, 0x0000, 0x02ae, + 0x02ae, 0x0000, 0x02b1, 0x0000, 0x02b3, 0x0000, 0x02b5, 0x02b5, + 0x0000, 0x0000, 0x02b9, 0x0000, 0x0000, 0x0000, 0x02bd, 0x0000, + // Entry 2C0 - 2FF + 0x02bf, 0x02bf, 0x0000, 0x0000, 0x02c3, 0x0000, 0x02c5, 0x0000, + 0x02c7, 0x0000, 0x02c9, 0x0000, 0x02cb, 0x0000, 0x02cd, 0x02cd, + 0x0000, 0x0000, 0x02d1, 0x0000, 0x02d3, 0x02d0, 0x02d0, 0x0000, + 0x0000, 0x02d8, 0x02d7, 0x02d7, 0x0000, 0x0000, 0x02dd, 0x0000, + 0x02df, 0x0000, 0x02e1, 0x0000, 0x0000, 0x02e4, 0x0000, 0x02e6, + 0x0000, 0x0000, 0x02e9, 0x0000, 0x02eb, 0x0000, 0x02ed, 0x0000, + 0x02ef, 0x02ef, 0x0000, 0x0000, 0x02f3, 0x02f2, 0x02f2, 0x0000, + 0x02f7, 0x0000, 0x02f9, 0x02f9, 0x02f9, 0x02f9, 0x02f9, 0x0000, + // Entry 300 - 33F + 0x02ff, 0x0300, 0x02ff, 0x0000, 0x0303, 0x0051, 0x00e6, +} // Size: 1574 bytes + +// Total table size 1574 bytes (1KiB); checksum: 895AAF0B diff --git a/vendor/golang.org/x/text/internal/language/compact/tables.go b/vendor/golang.org/x/text/internal/language/compact/tables.go new file mode 100644 index 000000000..fe7ad9ea7 --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/compact/tables.go @@ -0,0 +1,1015 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package compact + +import "golang.org/x/text/internal/language" + +// CLDRVersion is the CLDR version from which the tables in this package are derived. +const CLDRVersion = "32" + +// NumCompactTags is the number of common tags. The maximum tag is +// NumCompactTags-1. +const NumCompactTags = 775 +const ( + undIndex ID = 0 + afIndex ID = 1 + afNAIndex ID = 2 + afZAIndex ID = 3 + agqIndex ID = 4 + agqCMIndex ID = 5 + akIndex ID = 6 + akGHIndex ID = 7 + amIndex ID = 8 + amETIndex ID = 9 + arIndex ID = 10 + ar001Index ID = 11 + arAEIndex ID = 12 + arBHIndex ID = 13 + arDJIndex ID = 14 + arDZIndex ID = 15 + arEGIndex ID = 16 + arEHIndex ID = 17 + arERIndex ID = 18 + arILIndex ID = 19 + arIQIndex ID = 20 + arJOIndex ID = 21 + arKMIndex ID = 22 + arKWIndex ID = 23 + arLBIndex ID = 24 + arLYIndex ID = 25 + arMAIndex ID = 26 + arMRIndex ID = 27 + arOMIndex ID = 28 + arPSIndex ID = 29 + arQAIndex ID = 30 + arSAIndex ID = 31 + arSDIndex ID = 32 + arSOIndex ID = 33 + arSSIndex ID = 34 + arSYIndex ID = 35 + arTDIndex ID = 36 + arTNIndex ID = 37 + arYEIndex ID = 38 + arsIndex ID = 39 + asIndex ID = 40 + asINIndex ID = 41 + asaIndex ID = 42 + asaTZIndex ID = 43 + astIndex ID = 44 + astESIndex ID = 45 + azIndex ID = 46 + azCyrlIndex ID = 47 + azCyrlAZIndex ID = 48 + azLatnIndex ID = 49 + azLatnAZIndex ID = 50 + basIndex ID = 51 + basCMIndex ID = 52 + beIndex ID = 53 + beBYIndex ID = 54 + bemIndex ID = 55 + bemZMIndex ID = 56 + bezIndex ID = 57 + bezTZIndex ID = 58 + bgIndex ID = 59 + bgBGIndex ID = 60 + bhIndex ID = 61 + bmIndex ID = 62 + bmMLIndex ID = 63 + bnIndex ID = 64 + bnBDIndex ID = 65 + bnINIndex ID = 66 + boIndex ID = 67 + boCNIndex ID = 68 + boINIndex ID = 69 + brIndex ID = 70 + brFRIndex ID = 71 + brxIndex ID = 72 + brxINIndex ID = 73 + bsIndex ID = 74 + bsCyrlIndex ID = 75 + bsCyrlBAIndex ID = 76 + bsLatnIndex ID = 77 + bsLatnBAIndex ID = 78 + caIndex ID = 79 + caADIndex ID = 80 + caESIndex ID = 81 + caFRIndex ID = 82 + caITIndex ID = 83 + ccpIndex ID = 84 + ccpBDIndex ID = 85 + ccpINIndex ID = 86 + ceIndex ID = 87 + ceRUIndex ID = 88 + cggIndex ID = 89 + cggUGIndex ID = 90 + chrIndex ID = 91 + chrUSIndex ID = 92 + ckbIndex ID = 93 + ckbIQIndex ID = 94 + ckbIRIndex ID = 95 + csIndex ID = 96 + csCZIndex ID = 97 + cuIndex ID = 98 + cuRUIndex ID = 99 + cyIndex ID = 100 + cyGBIndex ID = 101 + daIndex ID = 102 + daDKIndex ID = 103 + daGLIndex ID = 104 + davIndex ID = 105 + davKEIndex ID = 106 + deIndex ID = 107 + deATIndex ID = 108 + deBEIndex ID = 109 + deCHIndex ID = 110 + deDEIndex ID = 111 + deITIndex ID = 112 + deLIIndex ID = 113 + deLUIndex ID = 114 + djeIndex ID = 115 + djeNEIndex ID = 116 + dsbIndex ID = 117 + dsbDEIndex ID = 118 + duaIndex ID = 119 + duaCMIndex ID = 120 + dvIndex ID = 121 + dyoIndex ID = 122 + dyoSNIndex ID = 123 + dzIndex ID = 124 + dzBTIndex ID = 125 + ebuIndex ID = 126 + ebuKEIndex ID = 127 + eeIndex ID = 128 + eeGHIndex ID = 129 + eeTGIndex ID = 130 + elIndex ID = 131 + elCYIndex ID = 132 + elGRIndex ID = 133 + enIndex ID = 134 + en001Index ID = 135 + en150Index ID = 136 + enAGIndex ID = 137 + enAIIndex ID = 138 + enASIndex ID = 139 + enATIndex ID = 140 + enAUIndex ID = 141 + enBBIndex ID = 142 + enBEIndex ID = 143 + enBIIndex ID = 144 + enBMIndex ID = 145 + enBSIndex ID = 146 + enBWIndex ID = 147 + enBZIndex ID = 148 + enCAIndex ID = 149 + enCCIndex ID = 150 + enCHIndex ID = 151 + enCKIndex ID = 152 + enCMIndex ID = 153 + enCXIndex ID = 154 + enCYIndex ID = 155 + enDEIndex ID = 156 + enDGIndex ID = 157 + enDKIndex ID = 158 + enDMIndex ID = 159 + enERIndex ID = 160 + enFIIndex ID = 161 + enFJIndex ID = 162 + enFKIndex ID = 163 + enFMIndex ID = 164 + enGBIndex ID = 165 + enGDIndex ID = 166 + enGGIndex ID = 167 + enGHIndex ID = 168 + enGIIndex ID = 169 + enGMIndex ID = 170 + enGUIndex ID = 171 + enGYIndex ID = 172 + enHKIndex ID = 173 + enIEIndex ID = 174 + enILIndex ID = 175 + enIMIndex ID = 176 + enINIndex ID = 177 + enIOIndex ID = 178 + enJEIndex ID = 179 + enJMIndex ID = 180 + enKEIndex ID = 181 + enKIIndex ID = 182 + enKNIndex ID = 183 + enKYIndex ID = 184 + enLCIndex ID = 185 + enLRIndex ID = 186 + enLSIndex ID = 187 + enMGIndex ID = 188 + enMHIndex ID = 189 + enMOIndex ID = 190 + enMPIndex ID = 191 + enMSIndex ID = 192 + enMTIndex ID = 193 + enMUIndex ID = 194 + enMWIndex ID = 195 + enMYIndex ID = 196 + enNAIndex ID = 197 + enNFIndex ID = 198 + enNGIndex ID = 199 + enNLIndex ID = 200 + enNRIndex ID = 201 + enNUIndex ID = 202 + enNZIndex ID = 203 + enPGIndex ID = 204 + enPHIndex ID = 205 + enPKIndex ID = 206 + enPNIndex ID = 207 + enPRIndex ID = 208 + enPWIndex ID = 209 + enRWIndex ID = 210 + enSBIndex ID = 211 + enSCIndex ID = 212 + enSDIndex ID = 213 + enSEIndex ID = 214 + enSGIndex ID = 215 + enSHIndex ID = 216 + enSIIndex ID = 217 + enSLIndex ID = 218 + enSSIndex ID = 219 + enSXIndex ID = 220 + enSZIndex ID = 221 + enTCIndex ID = 222 + enTKIndex ID = 223 + enTOIndex ID = 224 + enTTIndex ID = 225 + enTVIndex ID = 226 + enTZIndex ID = 227 + enUGIndex ID = 228 + enUMIndex ID = 229 + enUSIndex ID = 230 + enVCIndex ID = 231 + enVGIndex ID = 232 + enVIIndex ID = 233 + enVUIndex ID = 234 + enWSIndex ID = 235 + enZAIndex ID = 236 + enZMIndex ID = 237 + enZWIndex ID = 238 + eoIndex ID = 239 + eo001Index ID = 240 + esIndex ID = 241 + es419Index ID = 242 + esARIndex ID = 243 + esBOIndex ID = 244 + esBRIndex ID = 245 + esBZIndex ID = 246 + esCLIndex ID = 247 + esCOIndex ID = 248 + esCRIndex ID = 249 + esCUIndex ID = 250 + esDOIndex ID = 251 + esEAIndex ID = 252 + esECIndex ID = 253 + esESIndex ID = 254 + esGQIndex ID = 255 + esGTIndex ID = 256 + esHNIndex ID = 257 + esICIndex ID = 258 + esMXIndex ID = 259 + esNIIndex ID = 260 + esPAIndex ID = 261 + esPEIndex ID = 262 + esPHIndex ID = 263 + esPRIndex ID = 264 + esPYIndex ID = 265 + esSVIndex ID = 266 + esUSIndex ID = 267 + esUYIndex ID = 268 + esVEIndex ID = 269 + etIndex ID = 270 + etEEIndex ID = 271 + euIndex ID = 272 + euESIndex ID = 273 + ewoIndex ID = 274 + ewoCMIndex ID = 275 + faIndex ID = 276 + faAFIndex ID = 277 + faIRIndex ID = 278 + ffIndex ID = 279 + ffCMIndex ID = 280 + ffGNIndex ID = 281 + ffMRIndex ID = 282 + ffSNIndex ID = 283 + fiIndex ID = 284 + fiFIIndex ID = 285 + filIndex ID = 286 + filPHIndex ID = 287 + foIndex ID = 288 + foDKIndex ID = 289 + foFOIndex ID = 290 + frIndex ID = 291 + frBEIndex ID = 292 + frBFIndex ID = 293 + frBIIndex ID = 294 + frBJIndex ID = 295 + frBLIndex ID = 296 + frCAIndex ID = 297 + frCDIndex ID = 298 + frCFIndex ID = 299 + frCGIndex ID = 300 + frCHIndex ID = 301 + frCIIndex ID = 302 + frCMIndex ID = 303 + frDJIndex ID = 304 + frDZIndex ID = 305 + frFRIndex ID = 306 + frGAIndex ID = 307 + frGFIndex ID = 308 + frGNIndex ID = 309 + frGPIndex ID = 310 + frGQIndex ID = 311 + frHTIndex ID = 312 + frKMIndex ID = 313 + frLUIndex ID = 314 + frMAIndex ID = 315 + frMCIndex ID = 316 + frMFIndex ID = 317 + frMGIndex ID = 318 + frMLIndex ID = 319 + frMQIndex ID = 320 + frMRIndex ID = 321 + frMUIndex ID = 322 + frNCIndex ID = 323 + frNEIndex ID = 324 + frPFIndex ID = 325 + frPMIndex ID = 326 + frREIndex ID = 327 + frRWIndex ID = 328 + frSCIndex ID = 329 + frSNIndex ID = 330 + frSYIndex ID = 331 + frTDIndex ID = 332 + frTGIndex ID = 333 + frTNIndex ID = 334 + frVUIndex ID = 335 + frWFIndex ID = 336 + frYTIndex ID = 337 + furIndex ID = 338 + furITIndex ID = 339 + fyIndex ID = 340 + fyNLIndex ID = 341 + gaIndex ID = 342 + gaIEIndex ID = 343 + gdIndex ID = 344 + gdGBIndex ID = 345 + glIndex ID = 346 + glESIndex ID = 347 + gswIndex ID = 348 + gswCHIndex ID = 349 + gswFRIndex ID = 350 + gswLIIndex ID = 351 + guIndex ID = 352 + guINIndex ID = 353 + guwIndex ID = 354 + guzIndex ID = 355 + guzKEIndex ID = 356 + gvIndex ID = 357 + gvIMIndex ID = 358 + haIndex ID = 359 + haGHIndex ID = 360 + haNEIndex ID = 361 + haNGIndex ID = 362 + hawIndex ID = 363 + hawUSIndex ID = 364 + heIndex ID = 365 + heILIndex ID = 366 + hiIndex ID = 367 + hiINIndex ID = 368 + hrIndex ID = 369 + hrBAIndex ID = 370 + hrHRIndex ID = 371 + hsbIndex ID = 372 + hsbDEIndex ID = 373 + huIndex ID = 374 + huHUIndex ID = 375 + hyIndex ID = 376 + hyAMIndex ID = 377 + idIndex ID = 378 + idIDIndex ID = 379 + igIndex ID = 380 + igNGIndex ID = 381 + iiIndex ID = 382 + iiCNIndex ID = 383 + inIndex ID = 384 + ioIndex ID = 385 + isIndex ID = 386 + isISIndex ID = 387 + itIndex ID = 388 + itCHIndex ID = 389 + itITIndex ID = 390 + itSMIndex ID = 391 + itVAIndex ID = 392 + iuIndex ID = 393 + iwIndex ID = 394 + jaIndex ID = 395 + jaJPIndex ID = 396 + jboIndex ID = 397 + jgoIndex ID = 398 + jgoCMIndex ID = 399 + jiIndex ID = 400 + jmcIndex ID = 401 + jmcTZIndex ID = 402 + jvIndex ID = 403 + jwIndex ID = 404 + kaIndex ID = 405 + kaGEIndex ID = 406 + kabIndex ID = 407 + kabDZIndex ID = 408 + kajIndex ID = 409 + kamIndex ID = 410 + kamKEIndex ID = 411 + kcgIndex ID = 412 + kdeIndex ID = 413 + kdeTZIndex ID = 414 + keaIndex ID = 415 + keaCVIndex ID = 416 + khqIndex ID = 417 + khqMLIndex ID = 418 + kiIndex ID = 419 + kiKEIndex ID = 420 + kkIndex ID = 421 + kkKZIndex ID = 422 + kkjIndex ID = 423 + kkjCMIndex ID = 424 + klIndex ID = 425 + klGLIndex ID = 426 + klnIndex ID = 427 + klnKEIndex ID = 428 + kmIndex ID = 429 + kmKHIndex ID = 430 + knIndex ID = 431 + knINIndex ID = 432 + koIndex ID = 433 + koKPIndex ID = 434 + koKRIndex ID = 435 + kokIndex ID = 436 + kokINIndex ID = 437 + ksIndex ID = 438 + ksINIndex ID = 439 + ksbIndex ID = 440 + ksbTZIndex ID = 441 + ksfIndex ID = 442 + ksfCMIndex ID = 443 + kshIndex ID = 444 + kshDEIndex ID = 445 + kuIndex ID = 446 + kwIndex ID = 447 + kwGBIndex ID = 448 + kyIndex ID = 449 + kyKGIndex ID = 450 + lagIndex ID = 451 + lagTZIndex ID = 452 + lbIndex ID = 453 + lbLUIndex ID = 454 + lgIndex ID = 455 + lgUGIndex ID = 456 + lktIndex ID = 457 + lktUSIndex ID = 458 + lnIndex ID = 459 + lnAOIndex ID = 460 + lnCDIndex ID = 461 + lnCFIndex ID = 462 + lnCGIndex ID = 463 + loIndex ID = 464 + loLAIndex ID = 465 + lrcIndex ID = 466 + lrcIQIndex ID = 467 + lrcIRIndex ID = 468 + ltIndex ID = 469 + ltLTIndex ID = 470 + luIndex ID = 471 + luCDIndex ID = 472 + luoIndex ID = 473 + luoKEIndex ID = 474 + luyIndex ID = 475 + luyKEIndex ID = 476 + lvIndex ID = 477 + lvLVIndex ID = 478 + masIndex ID = 479 + masKEIndex ID = 480 + masTZIndex ID = 481 + merIndex ID = 482 + merKEIndex ID = 483 + mfeIndex ID = 484 + mfeMUIndex ID = 485 + mgIndex ID = 486 + mgMGIndex ID = 487 + mghIndex ID = 488 + mghMZIndex ID = 489 + mgoIndex ID = 490 + mgoCMIndex ID = 491 + mkIndex ID = 492 + mkMKIndex ID = 493 + mlIndex ID = 494 + mlINIndex ID = 495 + mnIndex ID = 496 + mnMNIndex ID = 497 + moIndex ID = 498 + mrIndex ID = 499 + mrINIndex ID = 500 + msIndex ID = 501 + msBNIndex ID = 502 + msMYIndex ID = 503 + msSGIndex ID = 504 + mtIndex ID = 505 + mtMTIndex ID = 506 + muaIndex ID = 507 + muaCMIndex ID = 508 + myIndex ID = 509 + myMMIndex ID = 510 + mznIndex ID = 511 + mznIRIndex ID = 512 + nahIndex ID = 513 + naqIndex ID = 514 + naqNAIndex ID = 515 + nbIndex ID = 516 + nbNOIndex ID = 517 + nbSJIndex ID = 518 + ndIndex ID = 519 + ndZWIndex ID = 520 + ndsIndex ID = 521 + ndsDEIndex ID = 522 + ndsNLIndex ID = 523 + neIndex ID = 524 + neINIndex ID = 525 + neNPIndex ID = 526 + nlIndex ID = 527 + nlAWIndex ID = 528 + nlBEIndex ID = 529 + nlBQIndex ID = 530 + nlCWIndex ID = 531 + nlNLIndex ID = 532 + nlSRIndex ID = 533 + nlSXIndex ID = 534 + nmgIndex ID = 535 + nmgCMIndex ID = 536 + nnIndex ID = 537 + nnNOIndex ID = 538 + nnhIndex ID = 539 + nnhCMIndex ID = 540 + noIndex ID = 541 + nqoIndex ID = 542 + nrIndex ID = 543 + nsoIndex ID = 544 + nusIndex ID = 545 + nusSSIndex ID = 546 + nyIndex ID = 547 + nynIndex ID = 548 + nynUGIndex ID = 549 + omIndex ID = 550 + omETIndex ID = 551 + omKEIndex ID = 552 + orIndex ID = 553 + orINIndex ID = 554 + osIndex ID = 555 + osGEIndex ID = 556 + osRUIndex ID = 557 + paIndex ID = 558 + paArabIndex ID = 559 + paArabPKIndex ID = 560 + paGuruIndex ID = 561 + paGuruINIndex ID = 562 + papIndex ID = 563 + plIndex ID = 564 + plPLIndex ID = 565 + prgIndex ID = 566 + prg001Index ID = 567 + psIndex ID = 568 + psAFIndex ID = 569 + ptIndex ID = 570 + ptAOIndex ID = 571 + ptBRIndex ID = 572 + ptCHIndex ID = 573 + ptCVIndex ID = 574 + ptGQIndex ID = 575 + ptGWIndex ID = 576 + ptLUIndex ID = 577 + ptMOIndex ID = 578 + ptMZIndex ID = 579 + ptPTIndex ID = 580 + ptSTIndex ID = 581 + ptTLIndex ID = 582 + quIndex ID = 583 + quBOIndex ID = 584 + quECIndex ID = 585 + quPEIndex ID = 586 + rmIndex ID = 587 + rmCHIndex ID = 588 + rnIndex ID = 589 + rnBIIndex ID = 590 + roIndex ID = 591 + roMDIndex ID = 592 + roROIndex ID = 593 + rofIndex ID = 594 + rofTZIndex ID = 595 + ruIndex ID = 596 + ruBYIndex ID = 597 + ruKGIndex ID = 598 + ruKZIndex ID = 599 + ruMDIndex ID = 600 + ruRUIndex ID = 601 + ruUAIndex ID = 602 + rwIndex ID = 603 + rwRWIndex ID = 604 + rwkIndex ID = 605 + rwkTZIndex ID = 606 + sahIndex ID = 607 + sahRUIndex ID = 608 + saqIndex ID = 609 + saqKEIndex ID = 610 + sbpIndex ID = 611 + sbpTZIndex ID = 612 + sdIndex ID = 613 + sdPKIndex ID = 614 + sdhIndex ID = 615 + seIndex ID = 616 + seFIIndex ID = 617 + seNOIndex ID = 618 + seSEIndex ID = 619 + sehIndex ID = 620 + sehMZIndex ID = 621 + sesIndex ID = 622 + sesMLIndex ID = 623 + sgIndex ID = 624 + sgCFIndex ID = 625 + shIndex ID = 626 + shiIndex ID = 627 + shiLatnIndex ID = 628 + shiLatnMAIndex ID = 629 + shiTfngIndex ID = 630 + shiTfngMAIndex ID = 631 + siIndex ID = 632 + siLKIndex ID = 633 + skIndex ID = 634 + skSKIndex ID = 635 + slIndex ID = 636 + slSIIndex ID = 637 + smaIndex ID = 638 + smiIndex ID = 639 + smjIndex ID = 640 + smnIndex ID = 641 + smnFIIndex ID = 642 + smsIndex ID = 643 + snIndex ID = 644 + snZWIndex ID = 645 + soIndex ID = 646 + soDJIndex ID = 647 + soETIndex ID = 648 + soKEIndex ID = 649 + soSOIndex ID = 650 + sqIndex ID = 651 + sqALIndex ID = 652 + sqMKIndex ID = 653 + sqXKIndex ID = 654 + srIndex ID = 655 + srCyrlIndex ID = 656 + srCyrlBAIndex ID = 657 + srCyrlMEIndex ID = 658 + srCyrlRSIndex ID = 659 + srCyrlXKIndex ID = 660 + srLatnIndex ID = 661 + srLatnBAIndex ID = 662 + srLatnMEIndex ID = 663 + srLatnRSIndex ID = 664 + srLatnXKIndex ID = 665 + ssIndex ID = 666 + ssyIndex ID = 667 + stIndex ID = 668 + svIndex ID = 669 + svAXIndex ID = 670 + svFIIndex ID = 671 + svSEIndex ID = 672 + swIndex ID = 673 + swCDIndex ID = 674 + swKEIndex ID = 675 + swTZIndex ID = 676 + swUGIndex ID = 677 + syrIndex ID = 678 + taIndex ID = 679 + taINIndex ID = 680 + taLKIndex ID = 681 + taMYIndex ID = 682 + taSGIndex ID = 683 + teIndex ID = 684 + teINIndex ID = 685 + teoIndex ID = 686 + teoKEIndex ID = 687 + teoUGIndex ID = 688 + tgIndex ID = 689 + tgTJIndex ID = 690 + thIndex ID = 691 + thTHIndex ID = 692 + tiIndex ID = 693 + tiERIndex ID = 694 + tiETIndex ID = 695 + tigIndex ID = 696 + tkIndex ID = 697 + tkTMIndex ID = 698 + tlIndex ID = 699 + tnIndex ID = 700 + toIndex ID = 701 + toTOIndex ID = 702 + trIndex ID = 703 + trCYIndex ID = 704 + trTRIndex ID = 705 + tsIndex ID = 706 + ttIndex ID = 707 + ttRUIndex ID = 708 + twqIndex ID = 709 + twqNEIndex ID = 710 + tzmIndex ID = 711 + tzmMAIndex ID = 712 + ugIndex ID = 713 + ugCNIndex ID = 714 + ukIndex ID = 715 + ukUAIndex ID = 716 + urIndex ID = 717 + urINIndex ID = 718 + urPKIndex ID = 719 + uzIndex ID = 720 + uzArabIndex ID = 721 + uzArabAFIndex ID = 722 + uzCyrlIndex ID = 723 + uzCyrlUZIndex ID = 724 + uzLatnIndex ID = 725 + uzLatnUZIndex ID = 726 + vaiIndex ID = 727 + vaiLatnIndex ID = 728 + vaiLatnLRIndex ID = 729 + vaiVaiiIndex ID = 730 + vaiVaiiLRIndex ID = 731 + veIndex ID = 732 + viIndex ID = 733 + viVNIndex ID = 734 + voIndex ID = 735 + vo001Index ID = 736 + vunIndex ID = 737 + vunTZIndex ID = 738 + waIndex ID = 739 + waeIndex ID = 740 + waeCHIndex ID = 741 + woIndex ID = 742 + woSNIndex ID = 743 + xhIndex ID = 744 + xogIndex ID = 745 + xogUGIndex ID = 746 + yavIndex ID = 747 + yavCMIndex ID = 748 + yiIndex ID = 749 + yi001Index ID = 750 + yoIndex ID = 751 + yoBJIndex ID = 752 + yoNGIndex ID = 753 + yueIndex ID = 754 + yueHansIndex ID = 755 + yueHansCNIndex ID = 756 + yueHantIndex ID = 757 + yueHantHKIndex ID = 758 + zghIndex ID = 759 + zghMAIndex ID = 760 + zhIndex ID = 761 + zhHansIndex ID = 762 + zhHansCNIndex ID = 763 + zhHansHKIndex ID = 764 + zhHansMOIndex ID = 765 + zhHansSGIndex ID = 766 + zhHantIndex ID = 767 + zhHantHKIndex ID = 768 + zhHantMOIndex ID = 769 + zhHantTWIndex ID = 770 + zuIndex ID = 771 + zuZAIndex ID = 772 + caESvalenciaIndex ID = 773 + enUSuvaposixIndex ID = 774 +) + +var coreTags = []language.CompactCoreInfo{ // 773 elements + // Entry 0 - 1F + 0x00000000, 0x01600000, 0x016000d2, 0x01600161, + 0x01c00000, 0x01c00052, 0x02100000, 0x02100080, + 0x02700000, 0x0270006f, 0x03a00000, 0x03a00001, + 0x03a00023, 0x03a00039, 0x03a00062, 0x03a00067, + 0x03a0006b, 0x03a0006c, 0x03a0006d, 0x03a00097, + 0x03a0009b, 0x03a000a1, 0x03a000a8, 0x03a000ac, + 0x03a000b0, 0x03a000b9, 0x03a000ba, 0x03a000c9, + 0x03a000e1, 0x03a000ed, 0x03a000f3, 0x03a00108, + // Entry 20 - 3F + 0x03a0010b, 0x03a00115, 0x03a00117, 0x03a0011c, + 0x03a00120, 0x03a00128, 0x03a0015e, 0x04000000, + 0x04300000, 0x04300099, 0x04400000, 0x0440012f, + 0x04800000, 0x0480006e, 0x05800000, 0x05820000, + 0x05820032, 0x0585a000, 0x0585a032, 0x05e00000, + 0x05e00052, 0x07100000, 0x07100047, 0x07500000, + 0x07500162, 0x07900000, 0x0790012f, 0x07e00000, + 0x07e00038, 0x08200000, 0x0a000000, 0x0a0000c3, + // Entry 40 - 5F + 0x0a500000, 0x0a500035, 0x0a500099, 0x0a900000, + 0x0a900053, 0x0a900099, 0x0b200000, 0x0b200078, + 0x0b500000, 0x0b500099, 0x0b700000, 0x0b720000, + 0x0b720033, 0x0b75a000, 0x0b75a033, 0x0d700000, + 0x0d700022, 0x0d70006e, 0x0d700078, 0x0d70009e, + 0x0db00000, 0x0db00035, 0x0db00099, 0x0dc00000, + 0x0dc00106, 0x0df00000, 0x0df00131, 0x0e500000, + 0x0e500135, 0x0e900000, 0x0e90009b, 0x0e90009c, + // Entry 60 - 7F + 0x0fa00000, 0x0fa0005e, 0x0fe00000, 0x0fe00106, + 0x10000000, 0x1000007b, 0x10100000, 0x10100063, + 0x10100082, 0x10800000, 0x108000a4, 0x10d00000, + 0x10d0002e, 0x10d00036, 0x10d0004e, 0x10d00060, + 0x10d0009e, 0x10d000b2, 0x10d000b7, 0x11700000, + 0x117000d4, 0x11f00000, 0x11f00060, 0x12400000, + 0x12400052, 0x12800000, 0x12b00000, 0x12b00114, + 0x12d00000, 0x12d00043, 0x12f00000, 0x12f000a4, + // Entry 80 - 9F + 0x13000000, 0x13000080, 0x13000122, 0x13600000, + 0x1360005d, 0x13600087, 0x13900000, 0x13900001, + 0x1390001a, 0x13900025, 0x13900026, 0x1390002d, + 0x1390002e, 0x1390002f, 0x13900034, 0x13900036, + 0x1390003a, 0x1390003d, 0x13900042, 0x13900046, + 0x13900048, 0x13900049, 0x1390004a, 0x1390004e, + 0x13900050, 0x13900052, 0x1390005c, 0x1390005d, + 0x13900060, 0x13900061, 0x13900063, 0x13900064, + // Entry A0 - BF + 0x1390006d, 0x13900072, 0x13900073, 0x13900074, + 0x13900075, 0x1390007b, 0x1390007c, 0x1390007f, + 0x13900080, 0x13900081, 0x13900083, 0x1390008a, + 0x1390008c, 0x1390008d, 0x13900096, 0x13900097, + 0x13900098, 0x13900099, 0x1390009a, 0x1390009f, + 0x139000a0, 0x139000a4, 0x139000a7, 0x139000a9, + 0x139000ad, 0x139000b1, 0x139000b4, 0x139000b5, + 0x139000bf, 0x139000c0, 0x139000c6, 0x139000c7, + // Entry C0 - DF + 0x139000ca, 0x139000cb, 0x139000cc, 0x139000ce, + 0x139000d0, 0x139000d2, 0x139000d5, 0x139000d6, + 0x139000d9, 0x139000dd, 0x139000df, 0x139000e0, + 0x139000e6, 0x139000e7, 0x139000e8, 0x139000eb, + 0x139000ec, 0x139000f0, 0x13900107, 0x13900109, + 0x1390010a, 0x1390010b, 0x1390010c, 0x1390010d, + 0x1390010e, 0x1390010f, 0x13900112, 0x13900117, + 0x1390011b, 0x1390011d, 0x1390011f, 0x13900125, + // Entry E0 - FF + 0x13900129, 0x1390012c, 0x1390012d, 0x1390012f, + 0x13900131, 0x13900133, 0x13900135, 0x13900139, + 0x1390013c, 0x1390013d, 0x1390013f, 0x13900142, + 0x13900161, 0x13900162, 0x13900164, 0x13c00000, + 0x13c00001, 0x13e00000, 0x13e0001f, 0x13e0002c, + 0x13e0003f, 0x13e00041, 0x13e00048, 0x13e00051, + 0x13e00054, 0x13e00056, 0x13e00059, 0x13e00065, + 0x13e00068, 0x13e00069, 0x13e0006e, 0x13e00086, + // Entry 100 - 11F + 0x13e00089, 0x13e0008f, 0x13e00094, 0x13e000cf, + 0x13e000d8, 0x13e000e2, 0x13e000e4, 0x13e000e7, + 0x13e000ec, 0x13e000f1, 0x13e0011a, 0x13e00135, + 0x13e00136, 0x13e0013b, 0x14000000, 0x1400006a, + 0x14500000, 0x1450006e, 0x14600000, 0x14600052, + 0x14800000, 0x14800024, 0x1480009c, 0x14e00000, + 0x14e00052, 0x14e00084, 0x14e000c9, 0x14e00114, + 0x15100000, 0x15100072, 0x15300000, 0x153000e7, + // Entry 120 - 13F + 0x15800000, 0x15800063, 0x15800076, 0x15e00000, + 0x15e00036, 0x15e00037, 0x15e0003a, 0x15e0003b, + 0x15e0003c, 0x15e00049, 0x15e0004b, 0x15e0004c, + 0x15e0004d, 0x15e0004e, 0x15e0004f, 0x15e00052, + 0x15e00062, 0x15e00067, 0x15e00078, 0x15e0007a, + 0x15e0007e, 0x15e00084, 0x15e00085, 0x15e00086, + 0x15e00091, 0x15e000a8, 0x15e000b7, 0x15e000ba, + 0x15e000bb, 0x15e000be, 0x15e000bf, 0x15e000c3, + // Entry 140 - 15F + 0x15e000c8, 0x15e000c9, 0x15e000cc, 0x15e000d3, + 0x15e000d4, 0x15e000e5, 0x15e000ea, 0x15e00102, + 0x15e00107, 0x15e0010a, 0x15e00114, 0x15e0011c, + 0x15e00120, 0x15e00122, 0x15e00128, 0x15e0013f, + 0x15e00140, 0x15e0015f, 0x16900000, 0x1690009e, + 0x16d00000, 0x16d000d9, 0x16e00000, 0x16e00096, + 0x17e00000, 0x17e0007b, 0x19000000, 0x1900006e, + 0x1a300000, 0x1a30004e, 0x1a300078, 0x1a3000b2, + // Entry 160 - 17F + 0x1a400000, 0x1a400099, 0x1a900000, 0x1ab00000, + 0x1ab000a4, 0x1ac00000, 0x1ac00098, 0x1b400000, + 0x1b400080, 0x1b4000d4, 0x1b4000d6, 0x1b800000, + 0x1b800135, 0x1bc00000, 0x1bc00097, 0x1be00000, + 0x1be00099, 0x1d100000, 0x1d100033, 0x1d100090, + 0x1d200000, 0x1d200060, 0x1d500000, 0x1d500092, + 0x1d700000, 0x1d700028, 0x1e100000, 0x1e100095, + 0x1e700000, 0x1e7000d6, 0x1ea00000, 0x1ea00053, + // Entry 180 - 19F + 0x1f300000, 0x1f500000, 0x1f800000, 0x1f80009d, + 0x1f900000, 0x1f90004e, 0x1f90009e, 0x1f900113, + 0x1f900138, 0x1fa00000, 0x1fb00000, 0x20000000, + 0x200000a2, 0x20300000, 0x20700000, 0x20700052, + 0x20800000, 0x20a00000, 0x20a0012f, 0x20e00000, + 0x20f00000, 0x21000000, 0x2100007d, 0x21200000, + 0x21200067, 0x21600000, 0x21700000, 0x217000a4, + 0x21f00000, 0x22300000, 0x2230012f, 0x22700000, + // Entry 1A0 - 1BF + 0x2270005a, 0x23400000, 0x234000c3, 0x23900000, + 0x239000a4, 0x24200000, 0x242000ae, 0x24400000, + 0x24400052, 0x24500000, 0x24500082, 0x24600000, + 0x246000a4, 0x24a00000, 0x24a000a6, 0x25100000, + 0x25100099, 0x25400000, 0x254000aa, 0x254000ab, + 0x25600000, 0x25600099, 0x26a00000, 0x26a00099, + 0x26b00000, 0x26b0012f, 0x26d00000, 0x26d00052, + 0x26e00000, 0x26e00060, 0x27400000, 0x28100000, + // Entry 1C0 - 1DF + 0x2810007b, 0x28a00000, 0x28a000a5, 0x29100000, + 0x2910012f, 0x29500000, 0x295000b7, 0x2a300000, + 0x2a300131, 0x2af00000, 0x2af00135, 0x2b500000, + 0x2b50002a, 0x2b50004b, 0x2b50004c, 0x2b50004d, + 0x2b800000, 0x2b8000af, 0x2bf00000, 0x2bf0009b, + 0x2bf0009c, 0x2c000000, 0x2c0000b6, 0x2c200000, + 0x2c20004b, 0x2c400000, 0x2c4000a4, 0x2c500000, + 0x2c5000a4, 0x2c700000, 0x2c7000b8, 0x2d100000, + // Entry 1E0 - 1FF + 0x2d1000a4, 0x2d10012f, 0x2e900000, 0x2e9000a4, + 0x2ed00000, 0x2ed000cc, 0x2f100000, 0x2f1000bf, + 0x2f200000, 0x2f2000d1, 0x2f400000, 0x2f400052, + 0x2ff00000, 0x2ff000c2, 0x30400000, 0x30400099, + 0x30b00000, 0x30b000c5, 0x31000000, 0x31b00000, + 0x31b00099, 0x31f00000, 0x31f0003e, 0x31f000d0, + 0x31f0010d, 0x32000000, 0x320000cb, 0x32500000, + 0x32500052, 0x33100000, 0x331000c4, 0x33a00000, + // Entry 200 - 21F + 0x33a0009c, 0x34100000, 0x34500000, 0x345000d2, + 0x34700000, 0x347000da, 0x34700110, 0x34e00000, + 0x34e00164, 0x35000000, 0x35000060, 0x350000d9, + 0x35100000, 0x35100099, 0x351000db, 0x36700000, + 0x36700030, 0x36700036, 0x36700040, 0x3670005b, + 0x367000d9, 0x36700116, 0x3670011b, 0x36800000, + 0x36800052, 0x36a00000, 0x36a000da, 0x36c00000, + 0x36c00052, 0x36f00000, 0x37500000, 0x37600000, + // Entry 220 - 23F + 0x37a00000, 0x38000000, 0x38000117, 0x38700000, + 0x38900000, 0x38900131, 0x39000000, 0x3900006f, + 0x390000a4, 0x39500000, 0x39500099, 0x39800000, + 0x3980007d, 0x39800106, 0x39d00000, 0x39d05000, + 0x39d050e8, 0x39d36000, 0x39d36099, 0x3a100000, + 0x3b300000, 0x3b3000e9, 0x3bd00000, 0x3bd00001, + 0x3be00000, 0x3be00024, 0x3c000000, 0x3c00002a, + 0x3c000041, 0x3c00004e, 0x3c00005a, 0x3c000086, + // Entry 240 - 25F + 0x3c00008b, 0x3c0000b7, 0x3c0000c6, 0x3c0000d1, + 0x3c0000ee, 0x3c000118, 0x3c000126, 0x3c400000, + 0x3c40003f, 0x3c400069, 0x3c4000e4, 0x3d400000, + 0x3d40004e, 0x3d900000, 0x3d90003a, 0x3dc00000, + 0x3dc000bc, 0x3dc00104, 0x3de00000, 0x3de0012f, + 0x3e200000, 0x3e200047, 0x3e2000a5, 0x3e2000ae, + 0x3e2000bc, 0x3e200106, 0x3e200130, 0x3e500000, + 0x3e500107, 0x3e600000, 0x3e60012f, 0x3eb00000, + // Entry 260 - 27F + 0x3eb00106, 0x3ec00000, 0x3ec000a4, 0x3f300000, + 0x3f30012f, 0x3fa00000, 0x3fa000e8, 0x3fc00000, + 0x3fd00000, 0x3fd00072, 0x3fd000da, 0x3fd0010c, + 0x3ff00000, 0x3ff000d1, 0x40100000, 0x401000c3, + 0x40200000, 0x4020004c, 0x40700000, 0x40800000, + 0x4085a000, 0x4085a0ba, 0x408e3000, 0x408e30ba, + 0x40c00000, 0x40c000b3, 0x41200000, 0x41200111, + 0x41600000, 0x4160010f, 0x41c00000, 0x41d00000, + // Entry 280 - 29F + 0x41e00000, 0x41f00000, 0x41f00072, 0x42200000, + 0x42300000, 0x42300164, 0x42900000, 0x42900062, + 0x4290006f, 0x429000a4, 0x42900115, 0x43100000, + 0x43100027, 0x431000c2, 0x4310014d, 0x43200000, + 0x43220000, 0x43220033, 0x432200bd, 0x43220105, + 0x4322014d, 0x4325a000, 0x4325a033, 0x4325a0bd, + 0x4325a105, 0x4325a14d, 0x43700000, 0x43a00000, + 0x43b00000, 0x44400000, 0x44400031, 0x44400072, + // Entry 2A0 - 2BF + 0x4440010c, 0x44500000, 0x4450004b, 0x445000a4, + 0x4450012f, 0x44500131, 0x44e00000, 0x45000000, + 0x45000099, 0x450000b3, 0x450000d0, 0x4500010d, + 0x46100000, 0x46100099, 0x46400000, 0x464000a4, + 0x46400131, 0x46700000, 0x46700124, 0x46b00000, + 0x46b00123, 0x46f00000, 0x46f0006d, 0x46f0006f, + 0x47100000, 0x47600000, 0x47600127, 0x47a00000, + 0x48000000, 0x48200000, 0x48200129, 0x48a00000, + // Entry 2C0 - 2DF + 0x48a0005d, 0x48a0012b, 0x48e00000, 0x49400000, + 0x49400106, 0x4a400000, 0x4a4000d4, 0x4a900000, + 0x4a9000ba, 0x4ac00000, 0x4ac00053, 0x4ae00000, + 0x4ae00130, 0x4b400000, 0x4b400099, 0x4b4000e8, + 0x4bc00000, 0x4bc05000, 0x4bc05024, 0x4bc20000, + 0x4bc20137, 0x4bc5a000, 0x4bc5a137, 0x4be00000, + 0x4be5a000, 0x4be5a0b4, 0x4beeb000, 0x4beeb0b4, + 0x4c000000, 0x4c300000, 0x4c30013e, 0x4c900000, + // Entry 2E0 - 2FF + 0x4c900001, 0x4cc00000, 0x4cc0012f, 0x4ce00000, + 0x4cf00000, 0x4cf0004e, 0x4e500000, 0x4e500114, + 0x4f200000, 0x4fb00000, 0x4fb00131, 0x50900000, + 0x50900052, 0x51200000, 0x51200001, 0x51800000, + 0x5180003b, 0x518000d6, 0x51f00000, 0x51f3b000, + 0x51f3b053, 0x51f3c000, 0x51f3c08d, 0x52800000, + 0x528000ba, 0x52900000, 0x5293b000, 0x5293b053, + 0x5293b08d, 0x5293b0c6, 0x5293b10d, 0x5293c000, + // Entry 300 - 31F + 0x5293c08d, 0x5293c0c6, 0x5293c12e, 0x52f00000, + 0x52f00161, +} // Size: 3116 bytes + +const specialTagsStr string = "ca-ES-valencia en-US-u-va-posix" + +// Total table size 3147 bytes (3KiB); checksum: BE816D44 diff --git a/vendor/golang.org/x/text/internal/language/compact/tags.go b/vendor/golang.org/x/text/internal/language/compact/tags.go new file mode 100644 index 000000000..ca135d295 --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/compact/tags.go @@ -0,0 +1,91 @@ +// 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 compact + +var ( + und = Tag{} + + Und Tag = Tag{} + + Afrikaans Tag = Tag{language: afIndex, locale: afIndex} + Amharic Tag = Tag{language: amIndex, locale: amIndex} + Arabic Tag = Tag{language: arIndex, locale: arIndex} + ModernStandardArabic Tag = Tag{language: ar001Index, locale: ar001Index} + Azerbaijani Tag = Tag{language: azIndex, locale: azIndex} + Bulgarian Tag = Tag{language: bgIndex, locale: bgIndex} + Bengali Tag = Tag{language: bnIndex, locale: bnIndex} + Catalan Tag = Tag{language: caIndex, locale: caIndex} + Czech Tag = Tag{language: csIndex, locale: csIndex} + Danish Tag = Tag{language: daIndex, locale: daIndex} + German Tag = Tag{language: deIndex, locale: deIndex} + Greek Tag = Tag{language: elIndex, locale: elIndex} + English Tag = Tag{language: enIndex, locale: enIndex} + AmericanEnglish Tag = Tag{language: enUSIndex, locale: enUSIndex} + BritishEnglish Tag = Tag{language: enGBIndex, locale: enGBIndex} + Spanish Tag = Tag{language: esIndex, locale: esIndex} + EuropeanSpanish Tag = Tag{language: esESIndex, locale: esESIndex} + LatinAmericanSpanish Tag = Tag{language: es419Index, locale: es419Index} + Estonian Tag = Tag{language: etIndex, locale: etIndex} + Persian Tag = Tag{language: faIndex, locale: faIndex} + Finnish Tag = Tag{language: fiIndex, locale: fiIndex} + Filipino Tag = Tag{language: filIndex, locale: filIndex} + French Tag = Tag{language: frIndex, locale: frIndex} + CanadianFrench Tag = Tag{language: frCAIndex, locale: frCAIndex} + Gujarati Tag = Tag{language: guIndex, locale: guIndex} + Hebrew Tag = Tag{language: heIndex, locale: heIndex} + Hindi Tag = Tag{language: hiIndex, locale: hiIndex} + Croatian Tag = Tag{language: hrIndex, locale: hrIndex} + Hungarian Tag = Tag{language: huIndex, locale: huIndex} + Armenian Tag = Tag{language: hyIndex, locale: hyIndex} + Indonesian Tag = Tag{language: idIndex, locale: idIndex} + Icelandic Tag = Tag{language: isIndex, locale: isIndex} + Italian Tag = Tag{language: itIndex, locale: itIndex} + Japanese Tag = Tag{language: jaIndex, locale: jaIndex} + Georgian Tag = Tag{language: kaIndex, locale: kaIndex} + Kazakh Tag = Tag{language: kkIndex, locale: kkIndex} + Khmer Tag = Tag{language: kmIndex, locale: kmIndex} + Kannada Tag = Tag{language: knIndex, locale: knIndex} + Korean Tag = Tag{language: koIndex, locale: koIndex} + Kirghiz Tag = Tag{language: kyIndex, locale: kyIndex} + Lao Tag = Tag{language: loIndex, locale: loIndex} + Lithuanian Tag = Tag{language: ltIndex, locale: ltIndex} + Latvian Tag = Tag{language: lvIndex, locale: lvIndex} + Macedonian Tag = Tag{language: mkIndex, locale: mkIndex} + Malayalam Tag = Tag{language: mlIndex, locale: mlIndex} + Mongolian Tag = Tag{language: mnIndex, locale: mnIndex} + Marathi Tag = Tag{language: mrIndex, locale: mrIndex} + Malay Tag = Tag{language: msIndex, locale: msIndex} + Burmese Tag = Tag{language: myIndex, locale: myIndex} + Nepali Tag = Tag{language: neIndex, locale: neIndex} + Dutch Tag = Tag{language: nlIndex, locale: nlIndex} + Norwegian Tag = Tag{language: noIndex, locale: noIndex} + Punjabi Tag = Tag{language: paIndex, locale: paIndex} + Polish Tag = Tag{language: plIndex, locale: plIndex} + Portuguese Tag = Tag{language: ptIndex, locale: ptIndex} + BrazilianPortuguese Tag = Tag{language: ptBRIndex, locale: ptBRIndex} + EuropeanPortuguese Tag = Tag{language: ptPTIndex, locale: ptPTIndex} + Romanian Tag = Tag{language: roIndex, locale: roIndex} + Russian Tag = Tag{language: ruIndex, locale: ruIndex} + Sinhala Tag = Tag{language: siIndex, locale: siIndex} + Slovak Tag = Tag{language: skIndex, locale: skIndex} + Slovenian Tag = Tag{language: slIndex, locale: slIndex} + Albanian Tag = Tag{language: sqIndex, locale: sqIndex} + Serbian Tag = Tag{language: srIndex, locale: srIndex} + SerbianLatin Tag = Tag{language: srLatnIndex, locale: srLatnIndex} + Swedish Tag = Tag{language: svIndex, locale: svIndex} + Swahili Tag = Tag{language: swIndex, locale: swIndex} + Tamil Tag = Tag{language: taIndex, locale: taIndex} + Telugu Tag = Tag{language: teIndex, locale: teIndex} + Thai Tag = Tag{language: thIndex, locale: thIndex} + Turkish Tag = Tag{language: trIndex, locale: trIndex} + Ukrainian Tag = Tag{language: ukIndex, locale: ukIndex} + Urdu Tag = Tag{language: urIndex, locale: urIndex} + Uzbek Tag = Tag{language: uzIndex, locale: uzIndex} + Vietnamese Tag = Tag{language: viIndex, locale: viIndex} + Chinese Tag = Tag{language: zhIndex, locale: zhIndex} + SimplifiedChinese Tag = Tag{language: zhHansIndex, locale: zhHansIndex} + TraditionalChinese Tag = Tag{language: zhHantIndex, locale: zhHantIndex} + Zulu Tag = Tag{language: zuIndex, locale: zuIndex} +) diff --git a/vendor/golang.org/x/text/internal/language/compose.go b/vendor/golang.org/x/text/internal/language/compose.go new file mode 100644 index 000000000..4ae78e0fa --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/compose.go @@ -0,0 +1,167 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package language + +import ( + "sort" + "strings" +) + +// A Builder allows constructing a Tag from individual components. +// Its main user is Compose in the top-level language package. +type Builder struct { + Tag Tag + + private string // the x extension + variants []string + extensions []string +} + +// Make returns a new Tag from the current settings. +func (b *Builder) Make() Tag { + t := b.Tag + + if len(b.extensions) > 0 || len(b.variants) > 0 { + sort.Sort(sortVariants(b.variants)) + sort.Strings(b.extensions) + + if b.private != "" { + b.extensions = append(b.extensions, b.private) + } + n := maxCoreSize + tokenLen(b.variants...) + tokenLen(b.extensions...) + buf := make([]byte, n) + p := t.genCoreBytes(buf) + t.pVariant = byte(p) + p += appendTokens(buf[p:], b.variants...) + t.pExt = uint16(p) + p += appendTokens(buf[p:], b.extensions...) + t.str = string(buf[:p]) + // We may not always need to remake the string, but when or when not + // to do so is rather tricky. + scan := makeScanner(buf[:p]) + t, _ = parse(&scan, "") + return t + + } else if b.private != "" { + t.str = b.private + t.RemakeString() + } + return t +} + +// SetTag copies all the settings from a given Tag. Any previously set values +// are discarded. +func (b *Builder) SetTag(t Tag) { + b.Tag.LangID = t.LangID + b.Tag.RegionID = t.RegionID + b.Tag.ScriptID = t.ScriptID + // TODO: optimize + b.variants = b.variants[:0] + if variants := t.Variants(); variants != "" { + for _, vr := range strings.Split(variants[1:], "-") { + b.variants = append(b.variants, vr) + } + } + b.extensions, b.private = b.extensions[:0], "" + for _, e := range t.Extensions() { + b.AddExt(e) + } +} + +// AddExt adds extension e to the tag. e must be a valid extension as returned +// by Tag.Extension. If the extension already exists, it will be discarded, +// except for a -u extension, where non-existing key-type pairs will added. +func (b *Builder) AddExt(e string) { + if e[0] == 'x' { + if b.private == "" { + b.private = e + } + return + } + for i, s := range b.extensions { + if s[0] == e[0] { + if e[0] == 'u' { + b.extensions[i] += e[1:] + } + return + } + } + b.extensions = append(b.extensions, e) +} + +// SetExt sets the extension e to the tag. e must be a valid extension as +// returned by Tag.Extension. If the extension already exists, it will be +// overwritten, except for a -u extension, where the individual key-type pairs +// will be set. +func (b *Builder) SetExt(e string) { + if e[0] == 'x' { + b.private = e + return + } + for i, s := range b.extensions { + if s[0] == e[0] { + if e[0] == 'u' { + b.extensions[i] = e + s[1:] + } else { + b.extensions[i] = e + } + return + } + } + b.extensions = append(b.extensions, e) +} + +// AddVariant adds any number of variants. +func (b *Builder) AddVariant(v ...string) { + for _, v := range v { + if v != "" { + b.variants = append(b.variants, v) + } + } +} + +// ClearVariants removes any variants previously added, including those +// copied from a Tag in SetTag. +func (b *Builder) ClearVariants() { + b.variants = b.variants[:0] +} + +// ClearExtensions removes any extensions previously added, including those +// copied from a Tag in SetTag. +func (b *Builder) ClearExtensions() { + b.private = "" + b.extensions = b.extensions[:0] +} + +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 sortVariants []string + +func (s sortVariants) Len() int { + return len(s) +} + +func (s sortVariants) Swap(i, j int) { + s[j], s[i] = s[i], s[j] +} + +func (s sortVariants) Less(i, j int) bool { + return variantIndex[s[i]] < variantIndex[s[j]] +} diff --git a/vendor/golang.org/x/text/internal/language/coverage.go b/vendor/golang.org/x/text/internal/language/coverage.go new file mode 100644 index 000000000..9b20b88fe --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/coverage.go @@ -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. + +package language + +// BaseLanguages returns the list of all supported base languages. It generates +// the list by traversing the internal structures. +func BaseLanguages() []Language { + base := make([]Language, 0, NumLanguages) + for i := 0; i < langNoIndexOffset; i++ { + // We included "und" already for the value 0. + if i != nonCanonicalUnd { + base = append(base, Language(i)) + } + } + i := langNoIndexOffset + for _, v := range langNoIndex { + for k := 0; k < 8; k++ { + if v&1 == 1 { + base = append(base, Language(i)) + } + v >>= 1 + i++ + } + } + return base +} diff --git a/vendor/golang.org/x/text/internal/language/language.go b/vendor/golang.org/x/text/internal/language/language.go new file mode 100644 index 000000000..f41aedcfc --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/language.go @@ -0,0 +1,592 @@ +// 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 + +package language // import "golang.org/x/text/internal/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. The zero value of Tag is Und. +type Tag struct { + // TODO: the following fields have the form TagTypeID. This name is chosen + // to allow refactoring the public package without conflicting with its + // Base, Script, and Region methods. Once the transition is fully completed + // the ID can be stripped from the name. + + LangID Language + RegionID Region + // TODO: we will soon run out of positions for ScriptID. Idea: instead of + // storing lang, region, and ScriptID 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. + ScriptID Script + 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 { + t, _ := Parse(s) + return t +} + +// Raw returns the raw base language, script and region, without making an +// attempt to infer their values. +// TODO: consider removing +func (t Tag) Raw() (b Language, s Script, r Region) { + return t.LangID, t.ScriptID, t.RegionID +} + +// equalTags compares language, script and region subtags only. +func (t Tag) equalTags(a Tag) bool { + return t.LangID == a.LangID && t.ScriptID == a.ScriptID && t.RegionID == a.RegionID +} + +// 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) +} + +// IsPrivateUse reports whether the Tag consists solely of an IsPrivateUse use +// tag. +func (t Tag) IsPrivateUse() bool { + return t.str != "" && t.pVariant == 0 +} + +// 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.LangID.StringToBuf(buf[:]) + if t.ScriptID != 0 { + n += copy(buf[n:], "-") + n += copy(buf[n:], t.ScriptID.String()) + } + if t.RegionID != 0 { + n += copy(buf[n:], "-") + n += copy(buf[n:], t.RegionID.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.ScriptID == 0 && t.RegionID == 0 { + return t.LangID.String() + } + buf := [maxCoreSize]byte{} + return string(buf[:t.genCoreBytes(buf[:])]) +} + +// MarshalText implements encoding.TextMarshaler. +func (t Tag) MarshalText() (text []byte, err error) { + if t.str != "" { + text = append(text, t.str...) + } else if t.ScriptID == 0 && t.RegionID == 0 { + text = append(text, t.LangID.String()...) + } else { + buf := [maxCoreSize]byte{} + text = buf[:t.genCoreBytes(buf[:])] + } + return text, nil +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (t *Tag) UnmarshalText(text []byte) error { + tag, err := Parse(string(text)) + *t = tag + return err +} + +// Variants returns the part of the tag holding all variants or the empty string +// if there are no variants defined. +func (t Tag) Variants() string { + if t.pVariant == 0 { + return "" + } + return t.str[t.pVariant:t.pExt] +} + +// VariantOrPrivateUseTags returns variants or private use tags. +func (t Tag) VariantOrPrivateUseTags() string { + if t.pExt > 0 { + return t.str[t.pVariant:t.pExt] + } + return t.str[t.pVariant:] +} + +// HasString reports whether this tag defines more than just the raw +// components. +func (t Tag) HasString() bool { + return t.str != "" +} + +// 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. + b, s, r := t.Raw() + t = Tag{LangID: b, ScriptID: s, RegionID: r} + if t.RegionID == 0 && t.ScriptID != 0 && t.LangID != 0 { + base, _ := addTags(Tag{LangID: t.LangID}) + if base.ScriptID == t.ScriptID { + return Tag{LangID: t.LangID} + } + } + return t + } + if t.LangID != 0 { + if t.RegionID != 0 { + maxScript := t.ScriptID + if maxScript == 0 { + max, _ := addTags(t) + maxScript = max.ScriptID + } + + for i := range parents { + if Language(parents[i].lang) == t.LangID && Script(parents[i].maxScript) == maxScript { + for _, r := range parents[i].fromRegion { + if Region(r) == t.RegionID { + return Tag{ + LangID: t.LangID, + ScriptID: Script(parents[i].script), + RegionID: Region(parents[i].toRegion), + } + } + } + } + } + + // Strip the script if it is the default one. + base, _ := addTags(Tag{LangID: t.LangID}) + if base.ScriptID != maxScript { + return Tag{LangID: t.LangID, ScriptID: maxScript} + } + return Tag{LangID: t.LangID} + } else if t.ScriptID != 0 { + // The parent for an base-script pair with a non-default script is + // "und" instead of the base language. + base, _ := addTags(Tag{LangID: t.LangID}) + if base.ScriptID != t.ScriptID { + return Und + } + return Tag{LangID: t.LangID} + } + } + return Und +} + +// ParseExtension parses s as an extension and returns it on success. +func ParseExtension(s string) (ext string, err error) { + scan := makeScannerString(s) + var end int + if n := len(scan.token); n != 1 { + return "", ErrSyntax + } + scan.toLower(0, len(scan.b)) + end = parseExtension(&scan) + if end != len(s) { + return "", ErrSyntax + } + return string(scan.b), nil +} + +// HasVariants reports whether t has variants. +func (t Tag) HasVariants() bool { + return uint16(t.pVariant) < t.pExt +} + +// HasExtensions reports whether t has extensions. +func (t Tag) HasExtensions() bool { + return int(t.pExt) < len(t.str) +} + +// 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 string, 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 ext, true + } + } + return "", false +} + +// Extensions returns all extensions of t. +func (t Tag) Extensions() []string { + e := []string{} + for i := int(t.pExt); i < len(t.str)-1; { + var ext string + i, ext = getExtension(t.str, i) + e = append(e, 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 +// https://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. +// TypeForKey will traverse the inheritance chain to get the correct value. +// +// If there are multiple types associated with a key, only the first will be +// returned. If there is no type associated with a key, it returns the empty +// string. +func (t Tag) TypeForKey(key string) string { + if _, start, end, _ := t.findTypeForKey(key); end != start { + s := t.str[start:end] + if p := strings.IndexByte(s, '-'); p >= 0 { + s = s[:p] + } + return s + } + 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 +// https://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.IsPrivateUse() { + return t, errPrivateUse + } + if len(key) != 2 { + return t, errInvalidArguments + } + + // Remove the setting if value is "". + if value == "" { + start, sep, end, _ := t.findTypeForKey(key) + if start != sep { + // Remove a possible empty extension. + switch { + case t.str[start-2] != '-': // has previous elements. + case end == len(t.str), // end of string + end+2 < len(t.str) && t.str[end+2] == '-': // end of extension + 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, sep, end, hasExt := t.findTypeForKey(key) + if start == sep { + if hasExt { + b = b[2:] + } + t.str = fmt.Sprintf("%s-%s%s", s[:sep], b, s[end:]) + } else { + t.str = fmt.Sprintf("%s-%s%s", s[:start+3], 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, sep, end int, hasExt bool) { + p := int(t.pExt) + if len(key) != 2 || p == len(t.str) || p == 0 { + return p, p, p, false + } + s := t.str + + // Find the correct extension. + for p++; s[p] != 'u'; p++ { + if s[p] > 'u' { + p-- + return p, p, p, false + } + if p = nextExtension(s, p); p == len(s) { + return len(s), 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 { + end = p + for p++; p < len(s) && s[p] != '-'; p++ { + } + n := p - end - 1 + if n <= 2 && curKey == key { + if sep < end { + sep++ + } + return start, sep, end, true + } + switch n { + case 0, // invalid string + 1: // next extension + return end, end, end, true + case 2: + // next key + curKey = s[end+1 : p] + if curKey > key { + return end, end, end, true + } + start = end + sep = p + } + } +} + +// 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) (Language, error) { + if n := len(s); n < 2 || 3 < n { + return 0, ErrSyntax + } + var buf [3]byte + return getLangID(buf[:copy(buf[:], s)]) +} + +// 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 0, ErrSyntax + } + var buf [4]byte + return getScriptID(script, buf[:copy(buf[:], s)]) +} + +// 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) { + return getRegionM49(r) +} + +// 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 0, ErrSyntax + } + var buf [3]byte + return getRegionID(buf[:copy(buf[:], s)]) +} + +// 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 == 0 || r.IsGroup() || r.IsPrivateUse() && r != _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 == 0 { + return false + } + return int(regionInclusion[r]) < 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 { + 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 == _GB { + r = _UK + } + if (r.typ() & ccTLD) == 0 { + return 0, 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); cr != 0 { + return cr + } + return r +} + +// Variant represents a registered variant of a language as defined by BCP 47. +type Variant struct { + ID uint8 + str 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 id, ok := variantIndex[s]; ok { + return Variant{id, s}, nil + } + return Variant{}, NewValueError([]byte(s)) +} + +// String returns the string representation of the variant. +func (v Variant) String() string { + return v.str +} diff --git a/vendor/golang.org/x/text/internal/language/lookup.go b/vendor/golang.org/x/text/internal/language/lookup.go new file mode 100644 index 000000000..6294b8152 --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/lookup.go @@ -0,0 +1,412 @@ +// 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, NewValueError(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 Language 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) (Language, error) { + if len(s) == 2 { + return getLangISO2(s) + } + return getLangISO3(s) +} + +// TODO language normalization as well as the AliasMaps could be moved to the +// higher level package, but it is a bit tricky to separate the generation. + +func (id Language) Canonicalize() (Language, AliasType) { + return normLang(id) +} + +// mapLang returns the mapped langID of id according to mapping m. +func normLang(id Language) (Language, AliasType) { + k := sort.Search(len(AliasMap), func(i int) bool { + return AliasMap[i].From >= uint16(id) + }) + if k < len(AliasMap) && AliasMap[k].From == uint16(id) { + return Language(AliasMap[k].To), AliasTypes[k] + } + return id, AliasTypeUnknown +} + +// getLangISO2 returns the langID for the given 2-letter ISO language code +// or unknownLang if this does not exist. +func getLangISO2(s []byte) (Language, error) { + if !tag.FixCase("zz", s) { + return 0, ErrSyntax + } + if i := lang.Index(s); i != -1 && lang.Elem(i)[3] != 0 { + return Language(i), nil + } + return 0, NewValueError(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) (Language, 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 := Language(i) + if id == nonCanonicalUnd { + return 0, nil + } + return id, nil + } + } + if i := altLangISO3.Index(s); i != -1 { + return Language(altLangIndex[altLangISO3.Elem(i)[3]]), nil + } + n := strToInt(s) + if langNoIndex[n/8]&(1<<(n%8)) != 0 { + return Language(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 Language(i), nil + } + } + return 0, NewValueError(s) + } + return 0, ErrSyntax +} + +// StringToBuf writes the string to b and returns the number of bytes +// written. cap(b) must be >= 3. +func (id Language) 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 Language) 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 Language) 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 Language) IsPrivateUse() bool { + return langPrivateStart <= b && b <= langPrivateEnd +} + +// SuppressScript returns the script marked as SuppressScript in the IANA +// language tag repository, or 0 if there is no such script. +func (b Language) SuppressScript() Script { + if b < langNoIndexOffset { + return Script(suppressScript[b]) + } + return 0 +} + +type Region uint16 + +// getRegionID returns the region id for s if s is a valid 2-letter region code +// or unknownRegion. +func getRegionID(s []byte) (Region, 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) (Region, error) { + i, err := findIndex(regionISO, s, "ZZ") + if err != nil { + return 0, err + } + return Region(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) (Region, 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 Region(i) + isoRegionOffset, nil + } + } + for i := 0; i < len(altRegionISO3); i += 3 { + if tag.Compare(altRegionISO3[i:i+3], s) == 0 { + return Region(altRegionIDs[i/3]), nil + } + } + return 0, NewValueError(s) + } + return 0, ErrSyntax +} + +func getRegionM49(n int) (Region, 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 Region(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 Region) Region { + 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 Region(m[k].To) + } + return 0 +} + +const ( + iso3166UserAssigned = 1 << iota + ccTLD + bcp47Region +) + +func (r Region) typ() byte { + return regionTypes[r] +} + +// String returns the BCP 47 representation for the region. +// It returns "ZZ" for an unspecified region. +func (r Region) 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 Region) 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 Region) 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 Region) IsPrivateUse() bool { + return r.typ()&iso3166UserAssigned != 0 +} + +type Script 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) (Script, error) { + i, err := findIndex(idx, s, "Zzzz") + return Script(i), err +} + +// String returns the script code in title case. +// It returns "Zzzz" for an unspecified script. +func (s Script) 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 Script) 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.LangID = Language(v) + return t, true + } + return t, false +} diff --git a/vendor/golang.org/x/text/internal/language/match.go b/vendor/golang.org/x/text/internal/language/match.go new file mode 100644 index 000000000..75a2dbca7 --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/match.go @@ -0,0 +1,226 @@ +// 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" + +type scriptRegionFlags uint8 + +const ( + isList = 1 << iota + scriptInFrom + regionInFrom +) + +func (t *Tag) setUndefinedLang(id Language) { + if t.LangID == 0 { + t.LangID = id + } +} + +func (t *Tag) setUndefinedScript(id Script) { + if t.ScriptID == 0 { + t.ScriptID = id + } +} + +func (t *Tag) setUndefinedRegion(id Region) { + if t.RegionID == 0 || t.RegionID.Contains(id) { + t.RegionID = 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 an 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.RegionID]; i < nRegionGroups { + x := likelyRegionGroup[i] + if Language(x.lang) == t.LangID && Script(x.script) == t.ScriptID { + t.RegionID = Region(x.region) + } + return true + } + return false +} + +// Maximize returns a new tag with missing tags filled in. +func (t Tag) Maximize() (Tag, error) { + return addTags(t) +} + +func addTags(t Tag) (Tag, error) { + // We leave private use identifiers alone. + if t.IsPrivateUse() { + return t, nil + } + if t.ScriptID != 0 && t.RegionID != 0 { + if t.LangID != 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.RegionID : t.RegionID+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 Script(x.script) == t.ScriptID { + t.setUndefinedLang(Language(x.lang)) + return t, nil + } + } + } + if t.LangID != 0 { + // Search matches for lang-script and lang-region, where lang != und. + if t.LangID < langNoIndexOffset { + x := likelyLang[t.LangID] + if x.flags&isList != 0 { + list := likelyLangList[x.region : x.region+uint16(x.script)] + if t.ScriptID != 0 { + for _, x := range list { + if Script(x.script) == t.ScriptID && x.flags&scriptInFrom != 0 { + t.setUndefinedRegion(Region(x.region)) + return t, nil + } + } + } else if t.RegionID != 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.RegionID.Contains(Region(x.region)) { + tt.RegionID = Region(x.region) + tt.setUndefinedScript(Script(x.script)) + goodScript = goodScript && tt.ScriptID == Script(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.ScriptID = tt.ScriptID + } + } + } + } + } else { + // Search matches for und-script. + if t.ScriptID != 0 { + x := likelyScript[t.ScriptID] + if x.region != 0 { + t.setUndefinedRegion(Region(x.region)) + t.setUndefinedLang(Language(x.lang)) + return t, nil + } + } + // Search matches for und-region. If und-script-region exists, it would + // have been found earlier. + if t.RegionID != 0 { + if i := regionInclusion[t.RegionID]; i < nRegionGroups { + x := likelyRegionGroup[i] + if x.region != 0 { + t.setUndefinedLang(Language(x.lang)) + t.setUndefinedScript(Script(x.script)) + t.RegionID = Region(x.region) + } + } else { + x := likelyRegion[t.RegionID] + if x.flags&isList != 0 { + x = likelyRegionList[x.lang] + } + if x.script != 0 && x.flags != scriptInFrom { + t.setUndefinedLang(Language(x.lang)) + t.setUndefinedScript(Script(x.script)) + return t, nil + } + } + } + } + + // Search matches for lang. + if t.LangID < langNoIndexOffset { + x := likelyLang[t.LangID] + if x.flags&isList != 0 { + x = likelyLangList[x.region] + } + if x.region != 0 { + t.setUndefinedScript(Script(x.script)) + t.setUndefinedRegion(Region(x.region)) + } + specializeRegion(&t) + if t.LangID == 0 { + t.LangID = _en // default language + } + return t, nil + } + return t, ErrMissingLikelyTagsData +} + +func (t *Tag) setTagsFrom(id Tag) { + t.LangID = id.LangID + t.ScriptID = id.ScriptID + t.RegionID = id.RegionID +} + +// 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{ + {LangID: t.LangID}, + {LangID: t.LangID, RegionID: t.RegionID}, + {LangID: t.LangID, ScriptID: t.ScriptID}, + } { + if x, err := addTags(id); err == nil && max.equalTags(x) { + t.setTagsFrom(id) + break + } + } + return t, nil +} diff --git a/vendor/golang.org/x/text/internal/language/parse.go b/vendor/golang.org/x/text/internal/language/parse.go new file mode 100644 index 000000000..c696fd0bd --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/parse.go @@ -0,0 +1,597 @@ +// 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" + + "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") + +// ErrDuplicateKey is returned when a tag contains the same key twice with +// different values in the -u section. +var ErrDuplicateKey = errors.New("language: different values for same key in -u extension") + +// 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 +} + +// NewValueError creates a new ValueError. +func NewValueError(tag []byte) ValueError { + var e ValueError + copy(e.v[:], tag) + 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 + var b []byte + if n := len(s.b) + diff; n > cap(s.b) { + b = make([]byte, n) + copy(b, s.b[:oldStart]) + } else { + b = s.b[:n] + } + copy(b[end:], s.b[oldEnd:]) + s.b = b + 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.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 +// https://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. +func 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) + return parse(&scan, s) +} + +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.LangID, e = getLangID(scan.token) + scan.setError(e) + scan.replace(t.LangID.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.LangID = 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.ScriptID, e = getScriptID(script, scan.token) + if t.ScriptID == 0 { + scan.gobble(e) + } + end = scan.scan() + } + if n := len(scan.token); n >= 2 && n <= 3 { + t.RegionID, e = getRegionID(scan.token) + if t.RegionID == 0 { + scan.gobble(e) + } else { + scan.replace(t.RegionID.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(NewValueError(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 struct { + b [][]byte + n int // first n bytes to compare +} + +func (b bytesSort) Len() int { + return len(b.b) +} + +func (b bytesSort) Swap(i, j int) { + b.b[i], b.b[j] = b.b[j], b.b[i] +} + +func (b bytesSort) Less(i, j int) bool { + for k := 0; k < b.n; k++ { + if b.b[i][k] == b.b[j][k] { + continue + } + return b.b[i][k] < b.b[j][k] + } + return false +} + +// 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, 1}) + 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': // https://www.ietf.org/rfc/rfc6067.txt + 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, 3}) + copy(scan.b[p:], bytes.Join(attrs, separator)) + break + } + last = scan.token + end = scan.end + } + // Scan key-type sequences. A key is of length 2 and may be followed + // by 0 or more "type" subtags from 3 to the maximum of 8 letters. + var last, key []byte + for attrEnd := end; len(scan.token) == 2; last = key { + key = scan.token + end = scan.end + for scan.scan(); end < scan.end && len(scan.token) > 2; scan.scan() { + end = scan.end + } + // TODO: check key value validity + if bytes.Compare(key, last) != 1 || scan.err != nil { + // 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 := scan.start + end = scan.end + for scan.scan(); end < scan.end && len(scan.token) > 2; scan.scan() { + end = scan.end + } + keys = append(keys, scan.b[keyStart:end]) + } + sort.Stable(bytesSort{keys, 2}) + if n := len(keys); n > 0 { + k := 0 + for i := 1; i < n; i++ { + if !bytes.Equal(keys[k][:2], keys[i][:2]) { + k++ + keys[k] = keys[i] + } else if !bytes.Equal(keys[k], keys[i]) { + scan.setError(ErrDuplicateKey) + } + } + keys = keys[:k+1] + } + reordered := bytes.Join(keys, separator) + if e := p + len(reordered); e < end { + scan.deleteRange(e, end) + end = e + } + copy(scan.b[p:], reordered) + break + } + } + case 't': // https://www.ietf.org/rfc/rfc6497.txt + 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 +} + +// 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) +} diff --git a/vendor/golang.org/x/text/internal/language/tables.go b/vendor/golang.org/x/text/internal/language/tables.go new file mode 100644 index 000000000..a19480c5b --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/tables.go @@ -0,0 +1,3464 @@ +// 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 = "32" + +const NumLanguages = 8717 + +const NumScripts = 251 + +const NumRegions = 357 + +type FromTo struct { + From uint16 + To uint16 +} + +const nonCanonicalUnd = 1201 +const ( + _af = 22 + _am = 39 + _ar = 58 + _az = 88 + _bg = 126 + _bn = 165 + _ca = 215 + _cs = 250 + _da = 257 + _de = 269 + _el = 310 + _en = 313 + _es = 318 + _et = 320 + _fa = 328 + _fi = 337 + _fil = 339 + _fr = 350 + _gu = 420 + _he = 444 + _hi = 446 + _hr = 465 + _hu = 469 + _hy = 471 + _id = 481 + _is = 504 + _it = 505 + _ja = 512 + _ka = 528 + _kk = 578 + _km = 586 + _kn = 593 + _ko = 596 + _ky = 650 + _lo = 696 + _lt = 704 + _lv = 711 + _mk = 767 + _ml = 772 + _mn = 779 + _mo = 784 + _mr = 795 + _ms = 799 + _mul = 806 + _my = 817 + _nb = 839 + _ne = 849 + _nl = 871 + _no = 879 + _pa = 925 + _pl = 947 + _pt = 960 + _ro = 988 + _ru = 994 + _sh = 1031 + _si = 1036 + _sk = 1042 + _sl = 1046 + _sq = 1073 + _sr = 1074 + _sv = 1092 + _sw = 1093 + _ta = 1104 + _te = 1121 + _th = 1131 + _tl = 1146 + _tn = 1152 + _tr = 1162 + _uk = 1198 + _ur = 1204 + _uz = 1212 + _vi = 1219 + _zh = 1321 + _zu = 1327 + _jbo = 515 + _ami = 1650 + _bnn = 2357 + _hak = 438 + _tlh = 14467 + _lb = 661 + _nv = 899 + _pwn = 12055 + _tao = 14188 + _tay = 14198 + _tsu = 14662 + _nn = 874 + _sfb = 13629 + _vgt = 15701 + _sgg = 13660 + _cmn = 3007 + _nan = 835 + _hsn = 467 +) + +const langPrivateStart = 0x2f72 + +const langPrivateEnd = 0x3179 + +// 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: 5324 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\x00cmg\x00cooscop\x00cps\x00crrecrh\x00cr" + + "j\x00crk\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd\x00cuhucvhvcyymda" + + "andad\x00daf\x00dag\x00dah\x00dak\x00dar\x00dav\x00dbd\x00dbq\x00dcc\x00" + + "ddn\x00deeuded\x00den\x00dga\x00dgh\x00dgi\x00dgl\x00dgr\x00dgz\x00dia" + + "\x00dje\x00dnj\x00dob\x00doi\x00dop\x00dow\x00dri\x00drs\x00dsb\x00dtm" + + "\x00dtp\x00dts\x00dty\x00dua\x00duc\x00dud\x00dug\x00dvivdva\x00dww\x00d" + + "yo\x00dyu\x00dzzodzg\x00ebu\x00eeweefi\x00egl\x00egy\x00eka\x00eky\x00el" + + "llema\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\x00" + + "foaofod\x00fon\x00for\x00fpe\x00fqs\x00frrafrc\x00frp\x00frr\x00frs\x00f" + + "ub\x00fud\x00fue\x00fuf\x00fuh\x00fuq\x00fur\x00fuv\x00fuy\x00fvr\x00fyr" + + "ygalegaa\x00gaf\x00gag\x00gah\x00gaj\x00gam\x00gan\x00gaw\x00gay\x00gba" + + "\x00gbf\x00gbm\x00gby\x00gbz\x00gcr\x00gdlagde\x00gdn\x00gdr\x00geb\x00g" + + "ej\x00gel\x00gez\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\x00guujgub\x00guc\x00gud\x00gur\x00guw\x00gux\x00guz\x00gvlvgvf" + + "\x00gvr\x00gvs\x00gwc\x00gwi\x00gwt\x00gyi\x00haauhag\x00hak\x00ham\x00h" + + "aw\x00haz\x00hbb\x00hdy\x00heebhhy\x00hiinhia\x00hif\x00hig\x00hih\x00hi" + + "l\x00hla\x00hlu\x00hmd\x00hmt\x00hnd\x00hne\x00hnj\x00hnn\x00hno\x00homo" + + "hoc\x00hoj\x00hot\x00hrrvhsb\x00hsn\x00htathuunhui\x00hyyehzerianaian" + + "\x00iar\x00iba\x00ibb\x00iby\x00ica\x00ich\x00idndidd\x00idi\x00idu\x00i" + + "eleife\x00igboigb\x00ige\x00iiiiijj\x00ikpkikk\x00ikt\x00ikw\x00ikx\x00i" + + "lo\x00imo\x00inndinh\x00iodoiou\x00iri\x00isslittaiukuiw\x00\x03iwm\x00i" + + "ws\x00izh\x00izi\x00japnjab\x00jam\x00jbo\x00jbu\x00jen\x00jgk\x00jgo" + + "\x00ji\x00\x06jib\x00jmc\x00jml\x00jra\x00jut\x00jvavjwavkaatkaa\x00kab" + + "\x00kac\x00kad\x00kai\x00kaj\x00kam\x00kao\x00kbd\x00kbm\x00kbp\x00kbq" + + "\x00kbx\x00kby\x00kcg\x00kck\x00kcl\x00kct\x00kde\x00kdh\x00kdl\x00kdt" + + "\x00kea\x00ken\x00kez\x00kfo\x00kfr\x00kfy\x00kgonkge\x00kgf\x00kgp\x00k" + + "ha\x00khb\x00khn\x00khq\x00khs\x00kht\x00khw\x00khz\x00kiikkij\x00kiu" + + "\x00kiw\x00kjuakjd\x00kjg\x00kjs\x00kjy\x00kkazkkc\x00kkj\x00klalkln\x00" + + "klq\x00klt\x00klx\x00kmhmkmb\x00kmh\x00kmo\x00kms\x00kmu\x00kmw\x00knank" + + "nf\x00knp\x00koorkoi\x00kok\x00kol\x00kos\x00koz\x00kpe\x00kpf\x00kpo" + + "\x00kpr\x00kpx\x00kqb\x00kqf\x00kqs\x00kqy\x00kraukrc\x00kri\x00krj\x00k" + + "rl\x00krs\x00kru\x00ksasksb\x00ksd\x00ksf\x00ksh\x00ksj\x00ksr\x00ktb" + + "\x00ktm\x00kto\x00kuurkub\x00kud\x00kue\x00kuj\x00kum\x00kun\x00kup\x00k" + + "us\x00kvomkvg\x00kvr\x00kvx\x00kw\x00\x01kwj\x00kwo\x00kxa\x00kxc\x00kxm" + + "\x00kxp\x00kxw\x00kxz\x00kyirkye\x00kyx\x00kzr\x00laatlab\x00lad\x00lag" + + "\x00lah\x00laj\x00las\x00lbtzlbe\x00lbu\x00lbw\x00lcm\x00lcp\x00ldb\x00l" + + "ed\x00lee\x00lem\x00lep\x00leq\x00leu\x00lez\x00lguglgg\x00liimlia\x00li" + + "d\x00lif\x00lig\x00lih\x00lij\x00lis\x00ljp\x00lki\x00lkt\x00lle\x00lln" + + "\x00lmn\x00lmo\x00lmp\x00lninlns\x00lnu\x00loaoloj\x00lok\x00lol\x00lor" + + "\x00los\x00loz\x00lrc\x00ltitltg\x00luublua\x00luo\x00luy\x00luz\x00lvav" + + "lwl\x00lzh\x00lzz\x00mad\x00maf\x00mag\x00mai\x00mak\x00man\x00mas\x00ma" + + "w\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\x00mgp\x00mgy\x00mhahmhi\x00mhl\x00mirimif\x00" + + "min\x00mis\x00miw\x00mkkdmki\x00mkl\x00mkp\x00mkw\x00mlalmle\x00mlp\x00m" + + "ls\x00mmo\x00mmu\x00mmx\x00mnonmna\x00mnf\x00mni\x00mnw\x00moolmoa\x00mo" + + "e\x00moh\x00mos\x00mox\x00mpp\x00mps\x00mpt\x00mpx\x00mql\x00mrarmrd\x00" + + "mrj\x00mro\x00mssamtltmtc\x00mtf\x00mti\x00mtr\x00mua\x00mul\x00mur\x00m" + + "us\x00mva\x00mvn\x00mvy\x00mwk\x00mwr\x00mwv\x00mxc\x00mxm\x00myyamyk" + + "\x00mym\x00myv\x00myw\x00myx\x00myz\x00mzk\x00mzm\x00mzn\x00mzp\x00mzw" + + "\x00mzz\x00naaunac\x00naf\x00nah\x00nak\x00nan\x00nap\x00naq\x00nas\x00n" + + "bobnca\x00nce\x00ncf\x00nch\x00nco\x00ncu\x00nddendc\x00nds\x00neepneb" + + "\x00new\x00nex\x00nfr\x00ngdonga\x00ngb\x00ngl\x00nhb\x00nhe\x00nhw\x00n" + + "if\x00nii\x00nij\x00nin\x00niu\x00niy\x00niz\x00njo\x00nkg\x00nko\x00nll" + + "dnmg\x00nmz\x00nnnonnf\x00nnh\x00nnk\x00nnm\x00noornod\x00noe\x00non\x00" + + "nop\x00nou\x00nqo\x00nrblnrb\x00nsk\x00nsn\x00nso\x00nss\x00ntm\x00ntr" + + "\x00nui\x00nup\x00nus\x00nuv\x00nux\x00nvavnwb\x00nxq\x00nxr\x00nyyanym" + + "\x00nyn\x00nzi\x00occiogc\x00ojjiokr\x00okv\x00omrmong\x00onn\x00ons\x00" + + "opm\x00orrioro\x00oru\x00osssosa\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\x00psusp" + + "ss\x00ptorptp\x00puu\x00pwa\x00quuequc\x00qug\x00rai\x00raj\x00rao\x00rc" + + "f\x00rej\x00rel\x00res\x00rgn\x00rhg\x00ria\x00rif\x00rjs\x00rkt\x00rmoh" + + "rmf\x00rmo\x00rmt\x00rmu\x00rnunrna\x00rng\x00roonrob\x00rof\x00roo\x00r" + + "ro\x00rtm\x00ruusrue\x00rug\x00rw\x00\x04rwk\x00rwo\x00ryu\x00saansaf" + + "\x00sah\x00saq\x00sas\x00sat\x00sav\x00saz\x00sba\x00sbe\x00sbp\x00scrds" + + "ck\x00scl\x00scn\x00sco\x00scs\x00sdndsdc\x00sdh\x00semesef\x00seh\x00se" + + "i\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\x00spl\x00sps\x00sqqisrrpsrb\x00srn\x00srr\x00srx" + + "\x00ssswssd\x00ssg\x00ssy\x00stotstk\x00stq\x00suunsua\x00sue\x00suk\x00" + + "sur\x00sus\x00svweswwaswb\x00swc\x00swg\x00swp\x00swv\x00sxn\x00sxw\x00s" + + "yl\x00syr\x00szl\x00taamtaj\x00tal\x00tan\x00taq\x00tbc\x00tbd\x00tbf" + + "\x00tbg\x00tbo\x00tbw\x00tbz\x00tci\x00tcy\x00tdd\x00tdg\x00tdh\x00teelt" + + "ed\x00tem\x00teo\x00tet\x00tfi\x00tggktgc\x00tgo\x00tgu\x00thhathl\x00th" + + "q\x00thr\x00tiirtif\x00tig\x00tik\x00tim\x00tio\x00tiv\x00tkuktkl\x00tkr" + + "\x00tkt\x00tlgltlf\x00tlx\x00tly\x00tmh\x00tmy\x00tnsntnh\x00toontof\x00" + + "tog\x00toq\x00tpi\x00tpm\x00tpz\x00tqo\x00trurtru\x00trv\x00trw\x00tssot" + + "sd\x00tsf\x00tsg\x00tsj\x00tsw\x00ttatttd\x00tte\x00ttj\x00ttr\x00tts" + + "\x00ttt\x00tuh\x00tul\x00tum\x00tuq\x00tvd\x00tvl\x00tvu\x00twwitwh\x00t" + + "wq\x00txg\x00tyahtya\x00tyv\x00tzm\x00ubu\x00udm\x00ugiguga\x00ukkruli" + + "\x00umb\x00und\x00unr\x00unx\x00urrduri\x00urt\x00urw\x00usa\x00utr\x00u" + + "vh\x00uvl\x00uzzbvag\x00vai\x00van\x00veenvec\x00vep\x00viievic\x00viv" + + "\x00vls\x00vmf\x00vmw\x00voolvot\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\x00wsk\x00wtm\x00wuu\x00wuv\x00wwa\x00xav\x00x" + + "bi\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\x00y" + + "ooryon\x00yrb\x00yre\x00yrl\x00yss\x00yua\x00yue\x00yuj\x00yut\x00yuw" + + "\x00zahazag\x00zbl\x00zdj\x00zea\x00zgh\x00zhhozhx\x00zia\x00zlm\x00zmi" + + "\x00zne\x00zuulzxx\x00zza\x00\xff\xff\xff\xff" + +const langNoIndexOffset = 1330 + +// 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, 0x21, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80, + // Entry C0 - FF + 0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96, + 0x1b, 0x14, 0x08, 0xf3, 0x2b, 0xe7, 0x17, 0x56, + 0x05, 0x7d, 0x0e, 0x1c, 0x37, 0x7b, 0xf3, 0xef, + 0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10, + 0xbc, 0x85, 0xaf, 0xdf, 0xff, 0xff, 0x73, 0x35, + 0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x01, 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, 0xc7, 0x67, 0x5f, + 0x56, 0x99, 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, 0x0c, 0x16, + 0x03, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x06, + 0x0a, 0x00, 0x01, 0x00, 0x00, 0x10, 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, 0x03, 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, 0x7a, 0xbf, + // Entry 200 - 23F + 0xdf, 0xc3, 0x83, 0x82, 0xc0, 0xfb, 0x57, 0x27, + 0xed, 0x55, 0xe7, 0x01, 0x00, 0x20, 0xb2, 0xc5, + 0xa4, 0x45, 0x25, 0x9b, 0x02, 0xdf, 0xe0, 0xdf, + 0x03, 0x44, 0x08, 0x90, 0x01, 0x04, 0x01, 0xe3, + 0x92, 0x54, 0xdb, 0x28, 0xd3, 0x5f, 0xfe, 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, 0x78, 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, 0x24, 0x04, 0x68, 0x00, 0x20, 0x70, 0xff, + 0x7b, 0x7f, 0x70, 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, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60, + 0xe7, 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, 0xf9, 0x2e, 0x11, + 0x86, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x40, 0x01, + 0x05, 0xd1, 0x50, 0x5c, 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, 0x8f, 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, 0xfd, + 0xcd, 0xff, 0xfb, 0xff, 0xdf, 0xd7, 0xea, 0xff, + 0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x06, 0xc4, + // Entry 480 - 4BF + 0x13, 0x50, 0x5d, 0xaf, 0xa6, 0xff, 0x99, 0xfb, + 0x63, 0x1d, 0x53, 0xff, 0xef, 0xb7, 0x35, 0x20, + 0x14, 0x00, 0x55, 0x51, 0x82, 0x65, 0xf5, 0x41, + 0xe2, 0xff, 0xfc, 0xdf, 0x02, 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, + 0xbe, 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, 0xe7, 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, 0x98, 0xcf, 0x9c, 0xff, 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, 0x92, 0xf5, 0x57, 0x6c, + 0xff, 0xe4, 0xef, 0x6f, 0xff, 0xfc, 0xdd, 0xde, + 0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x3f, 0x00, 0x98, + 0x02, 0xfb, 0xa3, 0xef, 0xf3, 0xd6, 0xf2, 0xff, + 0xb9, 0xda, 0x7d, 0xd0, 0x3e, 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, 0x73, 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, 0xdc, 0x58, 0xd7, 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, 0x48, 0x41, + 0x24, 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, + 0xb0, 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, 0x20, 0x55, 0x75, + 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, 0x01, 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, 0x1d, 0xc7, 0x0c, 0xd5, 0x42, + 0xfc, 0xff, 0xf7, 0x1f, 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, 0x7f, 0x05, 0x00, 0x12, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28, + 0x84, 0x00, 0x21, 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{ + 0x0281, 0x0407, 0x01fb, 0x03e5, 0x013e, 0x0208, +} + +// AliasMap maps langIDs to their suggested replacements. +// Size: 704 bytes, 176 elements +var AliasMap = [176]FromTo{ + 0: {From: 0x82, To: 0x88}, + 1: {From: 0x187, To: 0x1ae}, + 2: {From: 0x1f3, To: 0x1e1}, + 3: {From: 0x1fb, To: 0x1bc}, + 4: {From: 0x208, To: 0x512}, + 5: {From: 0x20f, To: 0x20e}, + 6: {From: 0x310, To: 0x3dc}, + 7: {From: 0x347, To: 0x36f}, + 8: {From: 0x407, To: 0x432}, + 9: {From: 0x47a, To: 0x153}, + 10: {From: 0x490, To: 0x451}, + 11: {From: 0x4a2, To: 0x21}, + 12: {From: 0x53e, To: 0x544}, + 13: {From: 0x58f, To: 0x12d}, + 14: {From: 0x630, To: 0x1eb1}, + 15: {From: 0x651, To: 0x431}, + 16: {From: 0x662, To: 0x431}, + 17: {From: 0x6ed, To: 0x3a}, + 18: {From: 0x6f8, To: 0x1d7}, + 19: {From: 0x709, To: 0x3625}, + 20: {From: 0x73e, To: 0x21a1}, + 21: {From: 0x7b3, To: 0x56}, + 22: {From: 0x7b9, To: 0x299b}, + 23: {From: 0x7c5, To: 0x58}, + 24: {From: 0x7e6, To: 0x145}, + 25: {From: 0x80c, To: 0x5a}, + 26: {From: 0x815, To: 0x8d}, + 27: {From: 0x87e, To: 0x810}, + 28: {From: 0x8c3, To: 0xee3}, + 29: {From: 0x9ef, To: 0x331}, + 30: {From: 0xa36, To: 0x2c5}, + 31: {From: 0xa3d, To: 0xbf}, + 32: {From: 0xabe, To: 0x3322}, + 33: {From: 0xb38, To: 0x529}, + 34: {From: 0xb75, To: 0x265a}, + 35: {From: 0xb7e, To: 0xbc3}, + 36: {From: 0xb9b, To: 0x44e}, + 37: {From: 0xbbc, To: 0x4229}, + 38: {From: 0xbbf, To: 0x529}, + 39: {From: 0xbfe, To: 0x2da7}, + 40: {From: 0xc2e, To: 0x3181}, + 41: {From: 0xcb9, To: 0xf3}, + 42: {From: 0xd08, To: 0xfa}, + 43: {From: 0xdc8, To: 0x11a}, + 44: {From: 0xdd7, To: 0x32d}, + 45: {From: 0xdf8, To: 0xdfb}, + 46: {From: 0xdfe, To: 0x531}, + 47: {From: 0xe01, To: 0xdf3}, + 48: {From: 0xedf, To: 0x205a}, + 49: {From: 0xee9, To: 0x222e}, + 50: {From: 0xeee, To: 0x2e9a}, + 51: {From: 0xf39, To: 0x367}, + 52: {From: 0x10d0, To: 0x140}, + 53: {From: 0x1104, To: 0x2d0}, + 54: {From: 0x11a0, To: 0x1ec}, + 55: {From: 0x1279, To: 0x21}, + 56: {From: 0x1424, To: 0x15e}, + 57: {From: 0x1470, To: 0x14e}, + 58: {From: 0x151f, To: 0xd9b}, + 59: {From: 0x1523, To: 0x390}, + 60: {From: 0x1532, To: 0x19f}, + 61: {From: 0x1580, To: 0x210}, + 62: {From: 0x1583, To: 0x10d}, + 63: {From: 0x15a3, To: 0x3caf}, + 64: {From: 0x1630, To: 0x222e}, + 65: {From: 0x166a, To: 0x19b}, + 66: {From: 0x16c8, To: 0x136}, + 67: {From: 0x1700, To: 0x29f8}, + 68: {From: 0x1718, To: 0x194}, + 69: {From: 0x1727, To: 0xf3f}, + 70: {From: 0x177a, To: 0x178}, + 71: {From: 0x1809, To: 0x17b6}, + 72: {From: 0x1816, To: 0x18f3}, + 73: {From: 0x188a, To: 0x436}, + 74: {From: 0x1979, To: 0x1d01}, + 75: {From: 0x1a74, To: 0x2bb0}, + 76: {From: 0x1a8a, To: 0x1f8}, + 77: {From: 0x1b5a, To: 0x1fa}, + 78: {From: 0x1b86, To: 0x1515}, + 79: {From: 0x1d64, To: 0x2c9b}, + 80: {From: 0x2038, To: 0x37b1}, + 81: {From: 0x203d, To: 0x20dd}, + 82: {From: 0x205a, To: 0x30b}, + 83: {From: 0x20e3, To: 0x274}, + 84: {From: 0x20ee, To: 0x263}, + 85: {From: 0x20f2, To: 0x22d}, + 86: {From: 0x20f9, To: 0x256}, + 87: {From: 0x210f, To: 0x21eb}, + 88: {From: 0x2135, To: 0x27d}, + 89: {From: 0x2160, To: 0x913}, + 90: {From: 0x2199, To: 0x121}, + 91: {From: 0x21ce, To: 0x1561}, + 92: {From: 0x21e6, To: 0x504}, + 93: {From: 0x21f4, To: 0x49f}, + 94: {From: 0x21fb, To: 0x269}, + 95: {From: 0x222d, To: 0x121}, + 96: {From: 0x2237, To: 0x121}, + 97: {From: 0x2262, To: 0x92a}, + 98: {From: 0x2316, To: 0x3226}, + 99: {From: 0x236a, To: 0x2835}, + 100: {From: 0x2382, To: 0x3365}, + 101: {From: 0x2472, To: 0x2c7}, + 102: {From: 0x24e4, To: 0x2ff}, + 103: {From: 0x24f0, To: 0x2fa}, + 104: {From: 0x24fa, To: 0x31f}, + 105: {From: 0x2550, To: 0xb5b}, + 106: {From: 0x25a9, To: 0xe2}, + 107: {From: 0x263e, To: 0x2d0}, + 108: {From: 0x26c9, To: 0x26b4}, + 109: {From: 0x26f9, To: 0x3c8}, + 110: {From: 0x2727, To: 0x3caf}, + 111: {From: 0x2755, To: 0x6a4}, + 112: {From: 0x2765, To: 0x26b4}, + 113: {From: 0x2789, To: 0x4358}, + 114: {From: 0x27c9, To: 0x2001}, + 115: {From: 0x28ea, To: 0x27b1}, + 116: {From: 0x28ef, To: 0x2837}, + 117: {From: 0x2914, To: 0x351}, + 118: {From: 0x2986, To: 0x2da7}, + 119: {From: 0x29f0, To: 0x96b}, + 120: {From: 0x2b1a, To: 0x38d}, + 121: {From: 0x2bfc, To: 0x395}, + 122: {From: 0x2c3f, To: 0x3caf}, + 123: {From: 0x2cfc, To: 0x3be}, + 124: {From: 0x2d13, To: 0x597}, + 125: {From: 0x2d47, To: 0x148}, + 126: {From: 0x2d48, To: 0x148}, + 127: {From: 0x2dff, To: 0x2f1}, + 128: {From: 0x2e08, To: 0x19cc}, + 129: {From: 0x2e1a, To: 0x2d95}, + 130: {From: 0x2e21, To: 0x292}, + 131: {From: 0x2e54, To: 0x7d}, + 132: {From: 0x2e65, To: 0x2282}, + 133: {From: 0x2ea0, To: 0x2e9b}, + 134: {From: 0x2eef, To: 0x2ed7}, + 135: {From: 0x3193, To: 0x3c4}, + 136: {From: 0x3366, To: 0x338e}, + 137: {From: 0x342a, To: 0x3dc}, + 138: {From: 0x34ee, To: 0x18d0}, + 139: {From: 0x35c8, To: 0x2c9b}, + 140: {From: 0x35e6, To: 0x412}, + 141: {From: 0x3658, To: 0x246}, + 142: {From: 0x3676, To: 0x3f4}, + 143: {From: 0x36fd, To: 0x445}, + 144: {From: 0x37c0, To: 0x121}, + 145: {From: 0x3816, To: 0x38f2}, + 146: {From: 0x382a, To: 0x2b48}, + 147: {From: 0x382b, To: 0x2c9b}, + 148: {From: 0x382f, To: 0xa9}, + 149: {From: 0x3832, To: 0x3228}, + 150: {From: 0x386c, To: 0x39a6}, + 151: {From: 0x3892, To: 0x3fc0}, + 152: {From: 0x38a5, To: 0x39d7}, + 153: {From: 0x38b4, To: 0x1fa4}, + 154: {From: 0x38b5, To: 0x2e9a}, + 155: {From: 0x395c, To: 0x47e}, + 156: {From: 0x3b4e, To: 0xd91}, + 157: {From: 0x3b78, To: 0x137}, + 158: {From: 0x3c99, To: 0x4bc}, + 159: {From: 0x3fbd, To: 0x100}, + 160: {From: 0x4208, To: 0xa91}, + 161: {From: 0x42be, To: 0x573}, + 162: {From: 0x42f9, To: 0x3f60}, + 163: {From: 0x4378, To: 0x25a}, + 164: {From: 0x43b8, To: 0xe6c}, + 165: {From: 0x43cd, To: 0x10f}, + 166: {From: 0x44af, To: 0x3322}, + 167: {From: 0x44e3, To: 0x512}, + 168: {From: 0x45ca, To: 0x2409}, + 169: {From: 0x45dd, To: 0x26dc}, + 170: {From: 0x4610, To: 0x48ae}, + 171: {From: 0x46ae, To: 0x46a0}, + 172: {From: 0x473e, To: 0x4745}, + 173: {From: 0x4817, To: 0x3503}, + 174: {From: 0x4916, To: 0x31f}, + 175: {From: 0x49a7, To: 0x523}, +} + +// Size: 176 bytes, 176 elements +var AliasTypes = [176]AliasType{ + // Entry 0 - 3F + 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2, + 1, 1, 2, 0, 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, 0, 0, 2, 1, 1, 1, 1, 2, 1, 0, 1, 1, 2, 2, 0, + // Entry 40 - 7F + 0, 1, 2, 0, 1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 2, 2, 2, 0, 1, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 2, 1, 1, + // Entry 80 - BF + 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 2, 1, 1, 1, + 0, 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, 0, 1, 1, +} + +const ( + _Latn = 90 + _Hani = 57 + _Hans = 59 + _Hant = 60 + _Qaaa = 143 + _Qaai = 151 + _Qabx = 192 + _Zinh = 245 + _Zyyy = 250 + _Zzzz = 251 +) + +// 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: 1012 bytes + "----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo" + + "BrahBraiBugiBuhdCakmCansCariChamCherChrsCirtCoptCpmnCprtCyrlCyrsDevaDiak" + + "DogrDsrtDuplEgydEgyhEgypElbaElymEthiGeokGeorGlagGongGonmGothGranGrekGujr" + + "GuruHanbHangHaniHanoHansHantHatrHebrHiraHluwHmngHmnpHrktHungIndsItalJamo" + + "JavaJpanJurcKaliKanaKharKhmrKhojKitlKitsKndaKoreKpelKthiLanaLaooLatfLatg" + + "LatnLekeLepcLimbLinaLinbLisuLomaLyciLydiMahjMakaMandManiMarcMayaMedfMend" + + "MercMeroMlymModiMongMoonMrooMteiMultMymrNandNarbNbatNewaNkdbNkgbNkooNshu" + + "OgamOlckOrkhOryaOsgeOsmaPalmPaucPermPhagPhliPhlpPhlvPhnxPiqdPlrdPrtiQaaa" + + "QaabQaacQaadQaaeQaafQaagQaahQaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaas" + + "QaatQaauQaavQaawQaaxQaayQaazQabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabk" + + "QablQabmQabnQaboQabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRohgRoroRunrSamr" + + "SaraSarbSaurSgnwShawShrdShuiSiddSindSinhSogdSogoSoraSoyoSundSyloSyrcSyre" + + "SyrjSyrnTagbTakrTaleTaluTamlTangTavtTeluTengTfngTglgThaaThaiTibtTirhToto" + + "UgarVaiiVispWaraWchoWoleXpeoXsuxYeziYiiiZanbZinhZmthZsyeZsymZxxxZyyyZzzz" + + "\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: 1330 bytes, 1330 elements +var suppressScript = [1330]uint8{ + // Entry 0 - 3F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, + 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, 0x5a, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 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, 0x5a, + 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, 0x5a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 100 - 13F + 0x5a, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe5, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, + 0x00, 0x5a, 0x00, 0x00, 0x5a, 0x00, 0x5a, 0x00, + // Entry 140 - 17F + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, + 0x00, 0x5a, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x5a, 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, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x5a, 0x35, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x22, 0x00, + // Entry 1C0 - 1FF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5a, 0x5a, 0x00, 0x5a, 0x5a, 0x00, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x5a, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, + // Entry 200 - 23F + 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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 + 0x00, 0x00, 0x20, 0x00, 0x00, 0x5a, 0x00, 0x00, + 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x00, 0x00, 0x53, 0x00, 0x22, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 0x00, 0x00, 0x5a, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, + 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 2C0 - 2FF + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + // Entry 300 - 33F + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x5a, + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, + // Entry 340 - 37F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, + 0x5a, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x5a, 0x00, + 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 380 - 3BF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, + // Entry 3C0 - 3FF + 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, + 0x00, 0x5a, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x5a, 0x00, 0x00, + 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 + 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x00, + 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, + // Entry 440 - 47F + 0x00, 0x00, 0x00, 0x00, 0x5a, 0x5a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe1, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00, 0x2c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, + 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x00, + // Entry 480 - 4BF + 0x5a, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x00, + 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 4C0 - 4FF + 0x5a, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5a, 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, + 0x00, 0x00, 0x3e, 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, 0x00, 0x5a, + 0x00, 0x00, +} + +const ( + _001 = 1 + _419 = 31 + _BR = 65 + _CA = 73 + _ES = 110 + _GB = 123 + _MD = 188 + _PT = 238 + _UK = 306 + _US = 309 + _ZZ = 357 + _XA = 323 + _XC = 325 + _XK = 333 +) + +// 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 = 32 + +// regionTypes defines the status of a region for various standards. +// Size: 358 bytes, 358 elements +var regionTypes = [358]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, 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, + // Entry 40 - 7F + 0x06, 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, + // Entry 80 - BF + 0x06, 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, + // Entry C0 - FF + 0x06, 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, + // Entry 100 - 13F + 0x05, 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, + // Entry 140 - 17F + 0x06, 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{ + 0x0057, 0x0070, 0x0088, 0x00a8, 0x00aa, 0x00ad, 0x00ea, 0x0105, + 0x0121, 0x015f, 0x00dc, +} + +// Size: 80 bytes, 20 elements +var regionOldMap = [20]FromTo{ + 0: {From: 0x44, To: 0xc4}, + 1: {From: 0x58, To: 0xa7}, + 2: {From: 0x5f, To: 0x60}, + 3: {From: 0x66, To: 0x3b}, + 4: {From: 0x79, To: 0x78}, + 5: {From: 0x93, To: 0x37}, + 6: {From: 0xa3, To: 0x133}, + 7: {From: 0xc1, To: 0x133}, + 8: {From: 0xd7, To: 0x13f}, + 9: {From: 0xdc, To: 0x2b}, + 10: {From: 0xef, To: 0x133}, + 11: {From: 0xf2, To: 0xe2}, + 12: {From: 0xfc, To: 0x70}, + 13: {From: 0x103, To: 0x164}, + 14: {From: 0x12a, To: 0x126}, + 15: {From: 0x132, To: 0x7b}, + 16: {From: 0x13a, To: 0x13e}, + 17: {From: 0x141, To: 0x133}, + 18: {From: 0x15d, To: 0x15e}, + 19: {From: 0x163, To: 0x4b}, +} + +// m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are +// codes indicating collections of regions. +// Size: 716 bytes, 358 elements +var m49 = [358]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, 202, 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, + // Entry 40 - 7F + 535, 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, + // Entry 80 - BF + 288, 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, + // Entry C0 - FF + 584, 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, + // Entry 100 - 13F + 971, 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, + // Entry 140 - 17F + 876, 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, 108, 143, 181, 220, 259, 291, + 333, +} + +// fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details. +// Size: 666 bytes, 333 elements +var fromM49 = [333]uint16{ + // Entry 0 - 3F + 0x0201, 0x0402, 0x0603, 0x0824, 0x0a04, 0x1027, 0x1205, 0x142b, + 0x1606, 0x1867, 0x1a07, 0x1c08, 0x1e09, 0x202d, 0x220a, 0x240b, + 0x260c, 0x2822, 0x2a0d, 0x302a, 0x3825, 0x3a0e, 0x3c0f, 0x3e32, + 0x402c, 0x4410, 0x4611, 0x482f, 0x4e12, 0x502e, 0x5842, 0x6039, + 0x6435, 0x6628, 0x6834, 0x6a13, 0x6c14, 0x7036, 0x7215, 0x783d, + 0x7a16, 0x8043, 0x883f, 0x8c33, 0x9046, 0x9445, 0x9841, 0xa848, + 0xac9a, 0xb509, 0xb93c, 0xc03e, 0xc838, 0xd0c4, 0xd83a, 0xe047, + 0xe8a6, 0xf052, 0xf849, 0x085a, 0x10ad, 0x184c, 0x1c17, 0x1e18, + // Entry 40 - 7F + 0x20b3, 0x2219, 0x2920, 0x2c1a, 0x2e1b, 0x3051, 0x341c, 0x361d, + 0x3853, 0x3d2e, 0x445c, 0x4c4a, 0x5454, 0x5ca8, 0x5f5f, 0x644d, + 0x684b, 0x7050, 0x7856, 0x7e90, 0x8059, 0x885d, 0x941e, 0x965e, + 0x983b, 0xa063, 0xa864, 0xac65, 0xb469, 0xbd1a, 0xc486, 0xcc6f, + 0xce6f, 0xd06d, 0xd26a, 0xd476, 0xdc74, 0xde88, 0xe473, 0xec72, + 0xf031, 0xf279, 0xf478, 0xfc7e, 0x04e5, 0x0921, 0x0c62, 0x147a, + 0x187d, 0x1c83, 0x26ed, 0x2860, 0x2c5f, 0x3060, 0x4080, 0x4881, + 0x50a7, 0x5887, 0x6082, 0x687c, 0x7085, 0x788a, 0x8089, 0x8884, + // Entry 80 - BF + 0x908c, 0x9891, 0x9c8e, 0xa138, 0xa88f, 0xb08d, 0xb892, 0xc09d, + 0xc899, 0xd095, 0xd89c, 0xe09b, 0xe896, 0xf097, 0xf89e, 0x004f, + 0x08a0, 0x10a2, 0x1cae, 0x20a1, 0x28a4, 0x30aa, 0x34ab, 0x3cac, + 0x42a5, 0x44af, 0x461f, 0x4cb0, 0x54b5, 0x58b8, 0x5cb4, 0x64b9, + 0x6cb2, 0x70b6, 0x74b7, 0x7cc6, 0x84bf, 0x8cce, 0x94d0, 0x9ccd, + 0xa4c3, 0xaccb, 0xb4c8, 0xbcc9, 0xc0cc, 0xc8cf, 0xd8bb, 0xe0c5, + 0xe4bc, 0xe6bd, 0xe8ca, 0xf0ba, 0xf8d1, 0x00e1, 0x08d2, 0x10dd, + 0x18db, 0x20d9, 0x2429, 0x265b, 0x2a30, 0x2d1b, 0x2e40, 0x30de, + // Entry C0 - FF + 0x38d3, 0x493f, 0x54e0, 0x5cd8, 0x64d4, 0x6cd6, 0x74df, 0x7cd5, + 0x84da, 0x88c7, 0x8b33, 0x8e75, 0x90c0, 0x92f0, 0x94e8, 0x9ee2, + 0xace6, 0xb0f1, 0xb8e4, 0xc0e7, 0xc8eb, 0xd0e9, 0xd8ee, 0xe08b, + 0xe526, 0xecec, 0xf4f3, 0xfd02, 0x0504, 0x0706, 0x0d07, 0x183c, + 0x1d0e, 0x26a9, 0x2826, 0x2cb1, 0x2ebe, 0x34ea, 0x3d39, 0x4513, + 0x4d18, 0x5508, 0x5d14, 0x6105, 0x650a, 0x6d12, 0x7d0d, 0x7f11, + 0x813e, 0x830f, 0x8515, 0x8d61, 0x9964, 0xa15d, 0xa86e, 0xb117, + 0xb30b, 0xb86c, 0xc10b, 0xc916, 0xd110, 0xd91d, 0xe10c, 0xe84e, + // Entry 100 - 13F + 0xf11c, 0xf524, 0xf923, 0x0122, 0x0925, 0x1129, 0x192c, 0x2023, + 0x2928, 0x312b, 0x3727, 0x391f, 0x3d2d, 0x4131, 0x4930, 0x4ec2, + 0x5519, 0x646b, 0x747b, 0x7e7f, 0x809f, 0x8298, 0x852f, 0x9135, + 0xa53d, 0xac37, 0xb536, 0xb937, 0xbd3b, 0xd940, 0xe542, 0xed5e, + 0xef5e, 0xf657, 0xfd62, 0x7c20, 0x7ef4, 0x80f5, 0x82f6, 0x84f7, + 0x86f8, 0x88f9, 0x8afa, 0x8cfb, 0x8e70, 0x90fd, 0x92fe, 0x94ff, + 0x9700, 0x9901, 0x9b43, 0x9d44, 0x9f45, 0xa146, 0xa347, 0xa548, + 0xa749, 0xa94a, 0xab4b, 0xad4c, 0xaf4d, 0xb14e, 0xb34f, 0xb550, + // Entry 140 - 17F + 0xb751, 0xb952, 0xbb53, 0xbd54, 0xbf55, 0xc156, 0xc357, 0xc558, + 0xc759, 0xc95a, 0xcb5b, 0xcd5c, 0xcf65, +} + +// Size: 1995 bytes +var variantIndex = map[string]uint8{ + "1606nict": 0x0, + "1694acad": 0x1, + "1901": 0x2, + "1959acad": 0x3, + "1994": 0x60, + "1996": 0x4, + "abl1943": 0x5, + "akuapem": 0x6, + "alalc97": 0x62, + "aluku": 0x7, + "ao1990": 0x8, + "aranes": 0x9, + "arevela": 0xa, + "arevmda": 0xb, + "asante": 0xc, + "auvern": 0xd, + "baku1926": 0xe, + "balanka": 0xf, + "barla": 0x10, + "basiceng": 0x11, + "bauddha": 0x12, + "biscayan": 0x13, + "biske": 0x5b, + "bohoric": 0x14, + "boont": 0x15, + "bornholm": 0x16, + "cisaup": 0x17, + "colb1945": 0x18, + "cornu": 0x19, + "creiss": 0x1a, + "dajnko": 0x1b, + "ekavsk": 0x1c, + "emodeng": 0x1d, + "fonipa": 0x63, + "fonkirsh": 0x64, + "fonnapa": 0x65, + "fonupa": 0x66, + "fonxsamp": 0x67, + "gascon": 0x1e, + "grclass": 0x1f, + "grital": 0x20, + "grmistr": 0x21, + "hepburn": 0x22, + "heploc": 0x61, + "hognorsk": 0x23, + "hsistemo": 0x24, + "ijekavsk": 0x25, + "itihasa": 0x26, + "ivanchov": 0x27, + "jauer": 0x28, + "jyutping": 0x29, + "kkcor": 0x2a, + "kociewie": 0x2b, + "kscor": 0x2c, + "laukika": 0x2d, + "lemosin": 0x2e, + "lengadoc": 0x2f, + "lipaw": 0x5c, + "luna1918": 0x30, + "metelko": 0x31, + "monoton": 0x32, + "ndyuka": 0x33, + "nedis": 0x34, + "newfound": 0x35, + "nicard": 0x36, + "njiva": 0x5d, + "nulik": 0x37, + "osojs": 0x5e, + "oxendict": 0x38, + "pahawh2": 0x39, + "pahawh3": 0x3a, + "pahawh4": 0x3b, + "pamaka": 0x3c, + "peano": 0x3d, + "petr1708": 0x3e, + "pinyin": 0x3f, + "polyton": 0x40, + "provenc": 0x41, + "puter": 0x42, + "rigik": 0x43, + "rozaj": 0x44, + "rumgr": 0x45, + "scotland": 0x46, + "scouse": 0x47, + "simple": 0x68, + "solba": 0x5f, + "sotav": 0x48, + "spanglis": 0x49, + "surmiran": 0x4a, + "sursilv": 0x4b, + "sutsilv": 0x4c, + "tarask": 0x4d, + "tongyong": 0x4e, + "tunumiit": 0x4f, + "uccor": 0x50, + "ucrcor": 0x51, + "ulster": 0x52, + "unifon": 0x53, + "vaidika": 0x54, + "valencia": 0x55, + "vallader": 0x56, + "vecdruka": 0x57, + "vivaraup": 0x58, + "wadegile": 0x59, + "xsistemo": 0x5a, +} + +// variantNumSpecialized is the number of specialized variants in variants. +const variantNumSpecialized = 98 + +// nRegionGroups is the number of region groups. +const nRegionGroups = 33 + +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: 1012 bytes, 253 elements +var likelyScript = [253]likelyLangRegion{ + 1: {lang: 0x14e, region: 0x84}, + 3: {lang: 0x2a2, region: 0x106}, + 4: {lang: 0x1f, region: 0x99}, + 5: {lang: 0x3a, region: 0x6b}, + 7: {lang: 0x3b, region: 0x9c}, + 8: {lang: 0x1d7, region: 0x28}, + 9: {lang: 0x13, region: 0x9c}, + 10: {lang: 0x5b, region: 0x95}, + 11: {lang: 0x60, region: 0x52}, + 12: {lang: 0xb9, region: 0xb4}, + 13: {lang: 0x63, region: 0x95}, + 14: {lang: 0xa5, region: 0x35}, + 15: {lang: 0x3e9, region: 0x99}, + 17: {lang: 0x529, region: 0x12e}, + 18: {lang: 0x3b1, region: 0x99}, + 19: {lang: 0x15e, region: 0x78}, + 20: {lang: 0xc2, region: 0x95}, + 21: {lang: 0x9d, region: 0xe7}, + 22: {lang: 0xdb, region: 0x35}, + 23: {lang: 0xf3, region: 0x49}, + 24: {lang: 0x4f0, region: 0x12b}, + 25: {lang: 0xe7, region: 0x13e}, + 26: {lang: 0xe5, region: 0x135}, + 29: {lang: 0xf1, region: 0x6b}, + 31: {lang: 0x1a0, region: 0x5d}, + 32: {lang: 0x3e2, region: 0x106}, + 34: {lang: 0x1be, region: 0x99}, + 38: {lang: 0x15e, region: 0x78}, + 41: {lang: 0x133, region: 0x6b}, + 42: {lang: 0x431, region: 0x27}, + 44: {lang: 0x27, region: 0x6f}, + 46: {lang: 0x210, region: 0x7d}, + 47: {lang: 0xfe, region: 0x38}, + 49: {lang: 0x19b, region: 0x99}, + 50: {lang: 0x19e, region: 0x130}, + 51: {lang: 0x3e9, region: 0x99}, + 52: {lang: 0x136, region: 0x87}, + 53: {lang: 0x1a4, region: 0x99}, + 54: {lang: 0x39d, region: 0x99}, + 55: {lang: 0x529, region: 0x12e}, + 56: {lang: 0x254, region: 0xab}, + 57: {lang: 0x529, region: 0x53}, + 58: {lang: 0x1cb, region: 0xe7}, + 59: {lang: 0x529, region: 0x53}, + 60: {lang: 0x529, region: 0x12e}, + 61: {lang: 0x2fd, region: 0x9b}, + 62: {lang: 0x1bc, region: 0x97}, + 63: {lang: 0x200, region: 0xa2}, + 64: {lang: 0x1c5, region: 0x12b}, + 65: {lang: 0x1ca, region: 0xaf}, + 68: {lang: 0x1d5, region: 0x92}, + 70: {lang: 0x142, region: 0x9e}, + 71: {lang: 0x254, region: 0xab}, + 72: {lang: 0x20e, region: 0x95}, + 73: {lang: 0x200, region: 0xa2}, + 75: {lang: 0x135, region: 0xc4}, + 76: {lang: 0x200, region: 0xa2}, + 77: {lang: 0x3bb, region: 0xe8}, + 78: {lang: 0x24a, region: 0xa6}, + 79: {lang: 0x3fa, region: 0x99}, + 82: {lang: 0x251, region: 0x99}, + 83: {lang: 0x254, region: 0xab}, + 85: {lang: 0x88, region: 0x99}, + 86: {lang: 0x370, region: 0x123}, + 87: {lang: 0x2b8, region: 0xaf}, + 92: {lang: 0x29f, region: 0x99}, + 93: {lang: 0x2a8, region: 0x99}, + 94: {lang: 0x28f, region: 0x87}, + 95: {lang: 0x1a0, region: 0x87}, + 96: {lang: 0x2ac, region: 0x53}, + 98: {lang: 0x4f4, region: 0x12b}, + 99: {lang: 0x4f5, region: 0x12b}, + 100: {lang: 0x1be, region: 0x99}, + 102: {lang: 0x337, region: 0x9c}, + 103: {lang: 0x4f7, region: 0x53}, + 104: {lang: 0xa9, region: 0x53}, + 107: {lang: 0x2e8, region: 0x112}, + 108: {lang: 0x4f8, region: 0x10b}, + 109: {lang: 0x4f8, region: 0x10b}, + 110: {lang: 0x304, region: 0x99}, + 111: {lang: 0x31b, region: 0x99}, + 112: {lang: 0x30b, region: 0x53}, + 114: {lang: 0x31e, region: 0x35}, + 115: {lang: 0x30e, region: 0x99}, + 116: {lang: 0x414, region: 0xe8}, + 117: {lang: 0x331, region: 0xc4}, + 119: {lang: 0x4f9, region: 0x108}, + 120: {lang: 0x3b, region: 0xa1}, + 121: {lang: 0x353, region: 0xdb}, + 124: {lang: 0x2d0, region: 0x84}, + 125: {lang: 0x52a, region: 0x53}, + 126: {lang: 0x403, region: 0x96}, + 127: {lang: 0x3ee, region: 0x99}, + 128: {lang: 0x39b, region: 0xc5}, + 129: {lang: 0x395, region: 0x99}, + 130: {lang: 0x399, region: 0x135}, + 131: {lang: 0x429, region: 0x115}, + 132: {lang: 0x3b, region: 0x11c}, + 133: {lang: 0xfd, region: 0xc4}, + 134: {lang: 0x27d, region: 0x106}, + 135: {lang: 0x2c9, region: 0x53}, + 136: {lang: 0x39f, region: 0x9c}, + 137: {lang: 0x39f, region: 0x53}, + 139: {lang: 0x3ad, region: 0xb0}, + 141: {lang: 0x1c6, region: 0x53}, + 142: {lang: 0x4fd, region: 0x9c}, + 193: {lang: 0x3cb, region: 0x95}, + 196: {lang: 0x372, region: 0x10c}, + 197: {lang: 0x420, region: 0x97}, + 199: {lang: 0x4ff, region: 0x15e}, + 200: {lang: 0x3f0, region: 0x99}, + 201: {lang: 0x45, region: 0x135}, + 202: {lang: 0x139, region: 0x7b}, + 203: {lang: 0x3e9, region: 0x99}, + 205: {lang: 0x3e9, region: 0x99}, + 206: {lang: 0x3fa, region: 0x99}, + 207: {lang: 0x40c, region: 0xb3}, + 210: {lang: 0x433, region: 0x99}, + 211: {lang: 0xef, region: 0xc5}, + 212: {lang: 0x43e, region: 0x95}, + 213: {lang: 0x44d, region: 0x35}, + 214: {lang: 0x44e, region: 0x9b}, + 218: {lang: 0x45a, region: 0xe7}, + 219: {lang: 0x11a, region: 0x99}, + 220: {lang: 0x45e, region: 0x53}, + 221: {lang: 0x232, region: 0x53}, + 222: {lang: 0x450, region: 0x99}, + 223: {lang: 0x4a5, region: 0x53}, + 224: {lang: 0x9f, region: 0x13e}, + 225: {lang: 0x461, region: 0x99}, + 227: {lang: 0x528, region: 0xba}, + 228: {lang: 0x153, region: 0xe7}, + 229: {lang: 0x128, region: 0xcd}, + 230: {lang: 0x46b, region: 0x123}, + 231: {lang: 0xa9, region: 0x53}, + 232: {lang: 0x2ce, region: 0x99}, + 234: {lang: 0x4ad, region: 0x11c}, + 235: {lang: 0x4be, region: 0xb4}, + 237: {lang: 0x1ce, region: 0x99}, + 240: {lang: 0x3a9, region: 0x9c}, + 241: {lang: 0x22, region: 0x9b}, + 243: {lang: 0x1ea, region: 0x53}, + 244: {lang: 0xef, region: 0xc5}, +} + +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: 5320 bytes, 1330 elements +var likelyLang = [1330]likelyScriptRegion{ + 0: {region: 0x135, script: 0x5a, flags: 0x0}, + 1: {region: 0x6f, script: 0x5a, flags: 0x0}, + 2: {region: 0x165, script: 0x5a, flags: 0x0}, + 3: {region: 0x165, script: 0x5a, flags: 0x0}, + 4: {region: 0x165, script: 0x5a, flags: 0x0}, + 5: {region: 0x7d, script: 0x20, flags: 0x0}, + 6: {region: 0x165, script: 0x5a, flags: 0x0}, + 7: {region: 0x165, script: 0x20, flags: 0x0}, + 8: {region: 0x80, script: 0x5a, flags: 0x0}, + 9: {region: 0x165, script: 0x5a, flags: 0x0}, + 10: {region: 0x165, script: 0x5a, flags: 0x0}, + 11: {region: 0x165, script: 0x5a, flags: 0x0}, + 12: {region: 0x95, script: 0x5a, flags: 0x0}, + 13: {region: 0x131, script: 0x5a, flags: 0x0}, + 14: {region: 0x80, script: 0x5a, flags: 0x0}, + 15: {region: 0x165, script: 0x5a, flags: 0x0}, + 16: {region: 0x165, script: 0x5a, flags: 0x0}, + 17: {region: 0x106, script: 0x20, flags: 0x0}, + 18: {region: 0x165, script: 0x5a, flags: 0x0}, + 19: {region: 0x9c, script: 0x9, flags: 0x0}, + 20: {region: 0x128, script: 0x5, flags: 0x0}, + 21: {region: 0x165, script: 0x5a, flags: 0x0}, + 22: {region: 0x161, script: 0x5a, flags: 0x0}, + 23: {region: 0x165, script: 0x5a, flags: 0x0}, + 24: {region: 0x165, script: 0x5a, flags: 0x0}, + 25: {region: 0x165, script: 0x5a, flags: 0x0}, + 26: {region: 0x165, script: 0x5a, flags: 0x0}, + 27: {region: 0x165, script: 0x5a, flags: 0x0}, + 28: {region: 0x52, script: 0x5a, flags: 0x0}, + 29: {region: 0x165, script: 0x5a, flags: 0x0}, + 30: {region: 0x165, script: 0x5a, flags: 0x0}, + 31: {region: 0x99, script: 0x4, flags: 0x0}, + 32: {region: 0x165, script: 0x5a, flags: 0x0}, + 33: {region: 0x80, script: 0x5a, flags: 0x0}, + 34: {region: 0x9b, script: 0xf1, flags: 0x0}, + 35: {region: 0x165, script: 0x5a, flags: 0x0}, + 36: {region: 0x165, script: 0x5a, flags: 0x0}, + 37: {region: 0x14d, script: 0x5a, flags: 0x0}, + 38: {region: 0x106, script: 0x20, flags: 0x0}, + 39: {region: 0x6f, script: 0x2c, flags: 0x0}, + 40: {region: 0x165, script: 0x5a, flags: 0x0}, + 41: {region: 0x165, script: 0x5a, flags: 0x0}, + 42: {region: 0xd6, script: 0x5a, flags: 0x0}, + 43: {region: 0x165, script: 0x5a, flags: 0x0}, + 45: {region: 0x165, script: 0x5a, flags: 0x0}, + 46: {region: 0x165, script: 0x5a, flags: 0x0}, + 47: {region: 0x165, script: 0x5a, flags: 0x0}, + 48: {region: 0x165, script: 0x5a, flags: 0x0}, + 49: {region: 0x165, script: 0x5a, flags: 0x0}, + 50: {region: 0x165, script: 0x5a, flags: 0x0}, + 51: {region: 0x95, script: 0x5a, flags: 0x0}, + 52: {region: 0x165, script: 0x5, flags: 0x0}, + 53: {region: 0x122, script: 0x5, flags: 0x0}, + 54: {region: 0x165, script: 0x5a, flags: 0x0}, + 55: {region: 0x165, script: 0x5a, flags: 0x0}, + 56: {region: 0x165, script: 0x5a, flags: 0x0}, + 57: {region: 0x165, script: 0x5a, flags: 0x0}, + 58: {region: 0x6b, script: 0x5, flags: 0x0}, + 59: {region: 0x0, script: 0x3, flags: 0x1}, + 60: {region: 0x165, script: 0x5a, flags: 0x0}, + 61: {region: 0x51, script: 0x5a, flags: 0x0}, + 62: {region: 0x3f, script: 0x5a, flags: 0x0}, + 63: {region: 0x67, script: 0x5, flags: 0x0}, + 65: {region: 0xba, script: 0x5, flags: 0x0}, + 66: {region: 0x6b, script: 0x5, flags: 0x0}, + 67: {region: 0x99, script: 0xe, flags: 0x0}, + 68: {region: 0x12f, script: 0x5a, flags: 0x0}, + 69: {region: 0x135, script: 0xc9, flags: 0x0}, + 70: {region: 0x165, script: 0x5a, flags: 0x0}, + 71: {region: 0x165, script: 0x5a, flags: 0x0}, + 72: {region: 0x6e, script: 0x5a, flags: 0x0}, + 73: {region: 0x165, script: 0x5a, flags: 0x0}, + 74: {region: 0x165, script: 0x5a, flags: 0x0}, + 75: {region: 0x49, script: 0x5a, flags: 0x0}, + 76: {region: 0x165, script: 0x5a, flags: 0x0}, + 77: {region: 0x106, script: 0x20, flags: 0x0}, + 78: {region: 0x165, script: 0x5, flags: 0x0}, + 79: {region: 0x165, script: 0x5a, flags: 0x0}, + 80: {region: 0x165, script: 0x5a, flags: 0x0}, + 81: {region: 0x165, script: 0x5a, flags: 0x0}, + 82: {region: 0x99, script: 0x22, flags: 0x0}, + 83: {region: 0x165, script: 0x5a, flags: 0x0}, + 84: {region: 0x165, script: 0x5a, flags: 0x0}, + 85: {region: 0x165, script: 0x5a, flags: 0x0}, + 86: {region: 0x3f, script: 0x5a, flags: 0x0}, + 87: {region: 0x165, script: 0x5a, flags: 0x0}, + 88: {region: 0x3, script: 0x5, flags: 0x1}, + 89: {region: 0x106, script: 0x20, flags: 0x0}, + 90: {region: 0xe8, script: 0x5, flags: 0x0}, + 91: {region: 0x95, script: 0x5a, flags: 0x0}, + 92: {region: 0xdb, script: 0x22, flags: 0x0}, + 93: {region: 0x2e, script: 0x5a, flags: 0x0}, + 94: {region: 0x52, script: 0x5a, flags: 0x0}, + 95: {region: 0x165, script: 0x5a, flags: 0x0}, + 96: {region: 0x52, script: 0xb, flags: 0x0}, + 97: {region: 0x165, script: 0x5a, flags: 0x0}, + 98: {region: 0x165, script: 0x5a, flags: 0x0}, + 99: {region: 0x95, script: 0x5a, flags: 0x0}, + 100: {region: 0x165, script: 0x5a, flags: 0x0}, + 101: {region: 0x52, script: 0x5a, flags: 0x0}, + 102: {region: 0x165, script: 0x5a, flags: 0x0}, + 103: {region: 0x165, script: 0x5a, flags: 0x0}, + 104: {region: 0x165, script: 0x5a, flags: 0x0}, + 105: {region: 0x165, script: 0x5a, flags: 0x0}, + 106: {region: 0x4f, script: 0x5a, flags: 0x0}, + 107: {region: 0x165, script: 0x5a, flags: 0x0}, + 108: {region: 0x165, script: 0x5a, flags: 0x0}, + 109: {region: 0x165, script: 0x5a, flags: 0x0}, + 110: {region: 0x165, script: 0x2c, flags: 0x0}, + 111: {region: 0x165, script: 0x5a, flags: 0x0}, + 112: {region: 0x165, script: 0x5a, flags: 0x0}, + 113: {region: 0x47, script: 0x20, flags: 0x0}, + 114: {region: 0x165, script: 0x5a, flags: 0x0}, + 115: {region: 0x165, script: 0x5a, flags: 0x0}, + 116: {region: 0x10b, script: 0x5, flags: 0x0}, + 117: {region: 0x162, script: 0x5a, flags: 0x0}, + 118: {region: 0x165, script: 0x5a, flags: 0x0}, + 119: {region: 0x95, script: 0x5a, flags: 0x0}, + 120: {region: 0x165, script: 0x5a, flags: 0x0}, + 121: {region: 0x12f, script: 0x5a, flags: 0x0}, + 122: {region: 0x52, script: 0x5a, flags: 0x0}, + 123: {region: 0x99, script: 0xde, flags: 0x0}, + 124: {region: 0xe8, script: 0x5, flags: 0x0}, + 125: {region: 0x99, script: 0x22, flags: 0x0}, + 126: {region: 0x38, script: 0x20, flags: 0x0}, + 127: {region: 0x99, script: 0x22, flags: 0x0}, + 128: {region: 0xe8, script: 0x5, flags: 0x0}, + 129: {region: 0x12b, script: 0x34, flags: 0x0}, + 131: {region: 0x99, script: 0x22, flags: 0x0}, + 132: {region: 0x165, script: 0x5a, flags: 0x0}, + 133: {region: 0x99, script: 0x22, flags: 0x0}, + 134: {region: 0xe7, script: 0x5a, flags: 0x0}, + 135: {region: 0x165, script: 0x5a, flags: 0x0}, + 136: {region: 0x99, script: 0x22, flags: 0x0}, + 137: {region: 0x165, script: 0x5a, flags: 0x0}, + 138: {region: 0x13f, script: 0x5a, flags: 0x0}, + 139: {region: 0x165, script: 0x5a, flags: 0x0}, + 140: {region: 0x165, script: 0x5a, flags: 0x0}, + 141: {region: 0xe7, script: 0x5a, flags: 0x0}, + 142: {region: 0x165, script: 0x5a, flags: 0x0}, + 143: {region: 0xd6, script: 0x5a, flags: 0x0}, + 144: {region: 0x165, script: 0x5a, flags: 0x0}, + 145: {region: 0x165, script: 0x5a, flags: 0x0}, + 146: {region: 0x165, script: 0x5a, flags: 0x0}, + 147: {region: 0x165, script: 0x2c, flags: 0x0}, + 148: {region: 0x99, script: 0x22, flags: 0x0}, + 149: {region: 0x95, script: 0x5a, flags: 0x0}, + 150: {region: 0x165, script: 0x5a, flags: 0x0}, + 151: {region: 0x165, script: 0x5a, flags: 0x0}, + 152: {region: 0x114, script: 0x5a, flags: 0x0}, + 153: {region: 0x165, script: 0x5a, flags: 0x0}, + 154: {region: 0x165, script: 0x5a, flags: 0x0}, + 155: {region: 0x52, script: 0x5a, flags: 0x0}, + 156: {region: 0x165, script: 0x5a, flags: 0x0}, + 157: {region: 0xe7, script: 0x5a, flags: 0x0}, + 158: {region: 0x165, script: 0x5a, flags: 0x0}, + 159: {region: 0x13e, script: 0xe0, flags: 0x0}, + 160: {region: 0xc3, script: 0x5a, flags: 0x0}, + 161: {region: 0x165, script: 0x5a, flags: 0x0}, + 162: {region: 0x165, script: 0x5a, flags: 0x0}, + 163: {region: 0xc3, script: 0x5a, flags: 0x0}, + 164: {region: 0x165, script: 0x5a, flags: 0x0}, + 165: {region: 0x35, script: 0xe, flags: 0x0}, + 166: {region: 0x165, script: 0x5a, flags: 0x0}, + 167: {region: 0x165, script: 0x5a, flags: 0x0}, + 168: {region: 0x165, script: 0x5a, flags: 0x0}, + 169: {region: 0x53, script: 0xe7, flags: 0x0}, + 170: {region: 0x165, script: 0x5a, flags: 0x0}, + 171: {region: 0x165, script: 0x5a, flags: 0x0}, + 172: {region: 0x165, script: 0x5a, flags: 0x0}, + 173: {region: 0x99, script: 0xe, flags: 0x0}, + 174: {region: 0x165, script: 0x5a, flags: 0x0}, + 175: {region: 0x9c, script: 0x5, flags: 0x0}, + 176: {region: 0x165, script: 0x5a, flags: 0x0}, + 177: {region: 0x4f, script: 0x5a, flags: 0x0}, + 178: {region: 0x78, script: 0x5a, flags: 0x0}, + 179: {region: 0x99, script: 0x22, flags: 0x0}, + 180: {region: 0xe8, script: 0x5, flags: 0x0}, + 181: {region: 0x99, script: 0x22, flags: 0x0}, + 182: {region: 0x165, script: 0x5a, flags: 0x0}, + 183: {region: 0x33, script: 0x5a, flags: 0x0}, + 184: {region: 0x165, script: 0x5a, flags: 0x0}, + 185: {region: 0xb4, script: 0xc, flags: 0x0}, + 186: {region: 0x52, script: 0x5a, flags: 0x0}, + 187: {region: 0x165, script: 0x2c, flags: 0x0}, + 188: {region: 0xe7, script: 0x5a, flags: 0x0}, + 189: {region: 0x165, script: 0x5a, flags: 0x0}, + 190: {region: 0xe8, script: 0x22, flags: 0x0}, + 191: {region: 0x106, script: 0x20, flags: 0x0}, + 192: {region: 0x15f, script: 0x5a, flags: 0x0}, + 193: {region: 0x165, script: 0x5a, flags: 0x0}, + 194: {region: 0x95, script: 0x5a, flags: 0x0}, + 195: {region: 0x165, script: 0x5a, flags: 0x0}, + 196: {region: 0x52, script: 0x5a, flags: 0x0}, + 197: {region: 0x165, script: 0x5a, flags: 0x0}, + 198: {region: 0x165, script: 0x5a, flags: 0x0}, + 199: {region: 0x165, script: 0x5a, flags: 0x0}, + 200: {region: 0x86, script: 0x5a, flags: 0x0}, + 201: {region: 0x165, script: 0x5a, flags: 0x0}, + 202: {region: 0x165, script: 0x5a, flags: 0x0}, + 203: {region: 0x165, script: 0x5a, flags: 0x0}, + 204: {region: 0x165, script: 0x5a, flags: 0x0}, + 205: {region: 0x6d, script: 0x2c, flags: 0x0}, + 206: {region: 0x165, script: 0x5a, flags: 0x0}, + 207: {region: 0x165, script: 0x5a, flags: 0x0}, + 208: {region: 0x52, script: 0x5a, flags: 0x0}, + 209: {region: 0x165, script: 0x5a, flags: 0x0}, + 210: {region: 0x165, script: 0x5a, flags: 0x0}, + 211: {region: 0xc3, script: 0x5a, flags: 0x0}, + 212: {region: 0x165, script: 0x5a, flags: 0x0}, + 213: {region: 0x165, script: 0x5a, flags: 0x0}, + 214: {region: 0x165, script: 0x5a, flags: 0x0}, + 215: {region: 0x6e, script: 0x5a, flags: 0x0}, + 216: {region: 0x165, script: 0x5a, flags: 0x0}, + 217: {region: 0x165, script: 0x5a, flags: 0x0}, + 218: {region: 0xd6, script: 0x5a, flags: 0x0}, + 219: {region: 0x35, script: 0x16, flags: 0x0}, + 220: {region: 0x106, script: 0x20, flags: 0x0}, + 221: {region: 0xe7, script: 0x5a, flags: 0x0}, + 222: {region: 0x165, script: 0x5a, flags: 0x0}, + 223: {region: 0x131, script: 0x5a, flags: 0x0}, + 224: {region: 0x8a, script: 0x5a, flags: 0x0}, + 225: {region: 0x75, script: 0x5a, flags: 0x0}, + 226: {region: 0x106, script: 0x20, flags: 0x0}, + 227: {region: 0x135, script: 0x5a, flags: 0x0}, + 228: {region: 0x49, script: 0x5a, flags: 0x0}, + 229: {region: 0x135, script: 0x1a, flags: 0x0}, + 230: {region: 0xa6, script: 0x5, flags: 0x0}, + 231: {region: 0x13e, script: 0x19, flags: 0x0}, + 232: {region: 0x165, script: 0x5a, flags: 0x0}, + 233: {region: 0x9b, script: 0x5, flags: 0x0}, + 234: {region: 0x165, script: 0x5a, flags: 0x0}, + 235: {region: 0x165, script: 0x5a, flags: 0x0}, + 236: {region: 0x165, script: 0x5a, flags: 0x0}, + 237: {region: 0x165, script: 0x5a, flags: 0x0}, + 238: {region: 0x165, script: 0x5a, flags: 0x0}, + 239: {region: 0xc5, script: 0xd3, flags: 0x0}, + 240: {region: 0x78, script: 0x5a, flags: 0x0}, + 241: {region: 0x6b, script: 0x1d, flags: 0x0}, + 242: {region: 0xe7, script: 0x5a, flags: 0x0}, + 243: {region: 0x49, script: 0x17, flags: 0x0}, + 244: {region: 0x130, script: 0x20, flags: 0x0}, + 245: {region: 0x49, script: 0x17, flags: 0x0}, + 246: {region: 0x49, script: 0x17, flags: 0x0}, + 247: {region: 0x49, script: 0x17, flags: 0x0}, + 248: {region: 0x49, script: 0x17, flags: 0x0}, + 249: {region: 0x10a, script: 0x5a, flags: 0x0}, + 250: {region: 0x5e, script: 0x5a, flags: 0x0}, + 251: {region: 0xe9, script: 0x5a, flags: 0x0}, + 252: {region: 0x49, script: 0x17, flags: 0x0}, + 253: {region: 0xc4, script: 0x85, flags: 0x0}, + 254: {region: 0x8, script: 0x2, flags: 0x1}, + 255: {region: 0x106, script: 0x20, flags: 0x0}, + 256: {region: 0x7b, script: 0x5a, flags: 0x0}, + 257: {region: 0x63, script: 0x5a, flags: 0x0}, + 258: {region: 0x165, script: 0x5a, flags: 0x0}, + 259: {region: 0x165, script: 0x5a, flags: 0x0}, + 260: {region: 0x165, script: 0x5a, flags: 0x0}, + 261: {region: 0x165, script: 0x5a, flags: 0x0}, + 262: {region: 0x135, script: 0x5a, flags: 0x0}, + 263: {region: 0x106, script: 0x20, flags: 0x0}, + 264: {region: 0xa4, script: 0x5a, flags: 0x0}, + 265: {region: 0x165, script: 0x5a, flags: 0x0}, + 266: {region: 0x165, script: 0x5a, flags: 0x0}, + 267: {region: 0x99, script: 0x5, flags: 0x0}, + 268: {region: 0x165, script: 0x5a, flags: 0x0}, + 269: {region: 0x60, script: 0x5a, flags: 0x0}, + 270: {region: 0x165, script: 0x5a, flags: 0x0}, + 271: {region: 0x49, script: 0x5a, flags: 0x0}, + 272: {region: 0x165, script: 0x5a, flags: 0x0}, + 273: {region: 0x165, script: 0x5a, flags: 0x0}, + 274: {region: 0x165, script: 0x5a, flags: 0x0}, + 275: {region: 0x165, script: 0x5, flags: 0x0}, + 276: {region: 0x49, script: 0x5a, flags: 0x0}, + 277: {region: 0x165, script: 0x5a, flags: 0x0}, + 278: {region: 0x165, script: 0x5a, flags: 0x0}, + 279: {region: 0xd4, script: 0x5a, flags: 0x0}, + 280: {region: 0x4f, script: 0x5a, flags: 0x0}, + 281: {region: 0x165, script: 0x5a, flags: 0x0}, + 282: {region: 0x99, script: 0x5, flags: 0x0}, + 283: {region: 0x165, script: 0x5a, flags: 0x0}, + 284: {region: 0x165, script: 0x5a, flags: 0x0}, + 285: {region: 0x165, script: 0x5a, flags: 0x0}, + 286: {region: 0x165, script: 0x2c, flags: 0x0}, + 287: {region: 0x60, script: 0x5a, flags: 0x0}, + 288: {region: 0xc3, script: 0x5a, flags: 0x0}, + 289: {region: 0xd0, script: 0x5a, flags: 0x0}, + 290: {region: 0x165, script: 0x5a, flags: 0x0}, + 291: {region: 0xdb, script: 0x22, flags: 0x0}, + 292: {region: 0x52, script: 0x5a, flags: 0x0}, + 293: {region: 0x165, script: 0x5a, flags: 0x0}, + 294: {region: 0x165, script: 0x5a, flags: 0x0}, + 295: {region: 0x165, script: 0x5a, flags: 0x0}, + 296: {region: 0xcd, script: 0xe5, flags: 0x0}, + 297: {region: 0x165, script: 0x5a, flags: 0x0}, + 298: {region: 0x165, script: 0x5a, flags: 0x0}, + 299: {region: 0x114, script: 0x5a, flags: 0x0}, + 300: {region: 0x37, script: 0x5a, flags: 0x0}, + 301: {region: 0x43, script: 0xe7, flags: 0x0}, + 302: {region: 0x165, script: 0x5a, flags: 0x0}, + 303: {region: 0xa4, script: 0x5a, flags: 0x0}, + 304: {region: 0x80, script: 0x5a, flags: 0x0}, + 305: {region: 0xd6, script: 0x5a, flags: 0x0}, + 306: {region: 0x9e, script: 0x5a, flags: 0x0}, + 307: {region: 0x6b, script: 0x29, flags: 0x0}, + 308: {region: 0x165, script: 0x5a, flags: 0x0}, + 309: {region: 0xc4, script: 0x4b, flags: 0x0}, + 310: {region: 0x87, script: 0x34, flags: 0x0}, + 311: {region: 0x165, script: 0x5a, flags: 0x0}, + 312: {region: 0x165, script: 0x5a, flags: 0x0}, + 313: {region: 0xa, script: 0x2, flags: 0x1}, + 314: {region: 0x165, script: 0x5a, flags: 0x0}, + 315: {region: 0x165, script: 0x5a, flags: 0x0}, + 316: {region: 0x1, script: 0x5a, flags: 0x0}, + 317: {region: 0x165, script: 0x5a, flags: 0x0}, + 318: {region: 0x6e, script: 0x5a, flags: 0x0}, + 319: {region: 0x135, script: 0x5a, flags: 0x0}, + 320: {region: 0x6a, script: 0x5a, flags: 0x0}, + 321: {region: 0x165, script: 0x5a, flags: 0x0}, + 322: {region: 0x9e, script: 0x46, flags: 0x0}, + 323: {region: 0x165, script: 0x5a, flags: 0x0}, + 324: {region: 0x165, script: 0x5a, flags: 0x0}, + 325: {region: 0x6e, script: 0x5a, flags: 0x0}, + 326: {region: 0x52, script: 0x5a, flags: 0x0}, + 327: {region: 0x6e, script: 0x5a, flags: 0x0}, + 328: {region: 0x9c, script: 0x5, flags: 0x0}, + 329: {region: 0x165, script: 0x5a, flags: 0x0}, + 330: {region: 0x165, script: 0x5a, flags: 0x0}, + 331: {region: 0x165, script: 0x5a, flags: 0x0}, + 332: {region: 0x165, script: 0x5a, flags: 0x0}, + 333: {region: 0x86, script: 0x5a, flags: 0x0}, + 334: {region: 0xc, script: 0x2, flags: 0x1}, + 335: {region: 0x165, script: 0x5a, flags: 0x0}, + 336: {region: 0xc3, script: 0x5a, flags: 0x0}, + 337: {region: 0x72, script: 0x5a, flags: 0x0}, + 338: {region: 0x10b, script: 0x5, flags: 0x0}, + 339: {region: 0xe7, script: 0x5a, flags: 0x0}, + 340: {region: 0x10c, script: 0x5a, flags: 0x0}, + 341: {region: 0x73, script: 0x5a, flags: 0x0}, + 342: {region: 0x165, script: 0x5a, flags: 0x0}, + 343: {region: 0x165, script: 0x5a, flags: 0x0}, + 344: {region: 0x76, script: 0x5a, flags: 0x0}, + 345: {region: 0x165, script: 0x5a, flags: 0x0}, + 346: {region: 0x3b, script: 0x5a, flags: 0x0}, + 347: {region: 0x165, script: 0x5a, flags: 0x0}, + 348: {region: 0x165, script: 0x5a, flags: 0x0}, + 349: {region: 0x165, script: 0x5a, flags: 0x0}, + 350: {region: 0x78, script: 0x5a, flags: 0x0}, + 351: {region: 0x135, script: 0x5a, flags: 0x0}, + 352: {region: 0x78, script: 0x5a, flags: 0x0}, + 353: {region: 0x60, script: 0x5a, flags: 0x0}, + 354: {region: 0x60, script: 0x5a, flags: 0x0}, + 355: {region: 0x52, script: 0x5, flags: 0x0}, + 356: {region: 0x140, script: 0x5a, flags: 0x0}, + 357: {region: 0x165, script: 0x5a, flags: 0x0}, + 358: {region: 0x84, script: 0x5a, flags: 0x0}, + 359: {region: 0x165, script: 0x5a, flags: 0x0}, + 360: {region: 0xd4, script: 0x5a, flags: 0x0}, + 361: {region: 0x9e, script: 0x5a, flags: 0x0}, + 362: {region: 0xd6, script: 0x5a, flags: 0x0}, + 363: {region: 0x165, script: 0x5a, flags: 0x0}, + 364: {region: 0x10b, script: 0x5a, flags: 0x0}, + 365: {region: 0xd9, script: 0x5a, flags: 0x0}, + 366: {region: 0x96, script: 0x5a, flags: 0x0}, + 367: {region: 0x80, script: 0x5a, flags: 0x0}, + 368: {region: 0x165, script: 0x5a, flags: 0x0}, + 369: {region: 0xbc, script: 0x5a, flags: 0x0}, + 370: {region: 0x165, script: 0x5a, flags: 0x0}, + 371: {region: 0x165, script: 0x5a, flags: 0x0}, + 372: {region: 0x165, script: 0x5a, flags: 0x0}, + 373: {region: 0x53, script: 0x3b, flags: 0x0}, + 374: {region: 0x165, script: 0x5a, flags: 0x0}, + 375: {region: 0x95, script: 0x5a, flags: 0x0}, + 376: {region: 0x165, script: 0x5a, flags: 0x0}, + 377: {region: 0x165, script: 0x5a, flags: 0x0}, + 378: {region: 0x99, script: 0x22, flags: 0x0}, + 379: {region: 0x165, script: 0x5a, flags: 0x0}, + 380: {region: 0x9c, script: 0x5, flags: 0x0}, + 381: {region: 0x7e, script: 0x5a, flags: 0x0}, + 382: {region: 0x7b, script: 0x5a, flags: 0x0}, + 383: {region: 0x165, script: 0x5a, flags: 0x0}, + 384: {region: 0x165, script: 0x5a, flags: 0x0}, + 385: {region: 0x165, script: 0x5a, flags: 0x0}, + 386: {region: 0x165, script: 0x5a, flags: 0x0}, + 387: {region: 0x165, script: 0x5a, flags: 0x0}, + 388: {region: 0x165, script: 0x5a, flags: 0x0}, + 389: {region: 0x6f, script: 0x2c, flags: 0x0}, + 390: {region: 0x165, script: 0x5a, flags: 0x0}, + 391: {region: 0xdb, script: 0x22, flags: 0x0}, + 392: {region: 0x165, script: 0x5a, flags: 0x0}, + 393: {region: 0xa7, script: 0x5a, flags: 0x0}, + 394: {region: 0x165, script: 0x5a, flags: 0x0}, + 395: {region: 0xe8, script: 0x5, flags: 0x0}, + 396: {region: 0x165, script: 0x5a, flags: 0x0}, + 397: {region: 0xe8, script: 0x5, flags: 0x0}, + 398: {region: 0x165, script: 0x5a, flags: 0x0}, + 399: {region: 0x165, script: 0x5a, flags: 0x0}, + 400: {region: 0x6e, script: 0x5a, flags: 0x0}, + 401: {region: 0x9c, script: 0x5, flags: 0x0}, + 402: {region: 0x165, script: 0x5a, flags: 0x0}, + 403: {region: 0x165, script: 0x2c, flags: 0x0}, + 404: {region: 0xf1, script: 0x5a, flags: 0x0}, + 405: {region: 0x165, script: 0x5a, flags: 0x0}, + 406: {region: 0x165, script: 0x5a, flags: 0x0}, + 407: {region: 0x165, script: 0x5a, flags: 0x0}, + 408: {region: 0x165, script: 0x2c, flags: 0x0}, + 409: {region: 0x165, script: 0x5a, flags: 0x0}, + 410: {region: 0x99, script: 0x22, flags: 0x0}, + 411: {region: 0x99, script: 0xe1, flags: 0x0}, + 412: {region: 0x95, script: 0x5a, flags: 0x0}, + 413: {region: 0xd9, script: 0x5a, flags: 0x0}, + 414: {region: 0x130, script: 0x32, flags: 0x0}, + 415: {region: 0x165, script: 0x5a, flags: 0x0}, + 416: {region: 0xe, script: 0x2, flags: 0x1}, + 417: {region: 0x99, script: 0xe, flags: 0x0}, + 418: {region: 0x165, script: 0x5a, flags: 0x0}, + 419: {region: 0x4e, script: 0x5a, flags: 0x0}, + 420: {region: 0x99, script: 0x35, flags: 0x0}, + 421: {region: 0x41, script: 0x5a, flags: 0x0}, + 422: {region: 0x54, script: 0x5a, flags: 0x0}, + 423: {region: 0x165, script: 0x5a, flags: 0x0}, + 424: {region: 0x80, script: 0x5a, flags: 0x0}, + 425: {region: 0x165, script: 0x5a, flags: 0x0}, + 426: {region: 0x165, script: 0x5a, flags: 0x0}, + 427: {region: 0xa4, script: 0x5a, flags: 0x0}, + 428: {region: 0x98, script: 0x5a, flags: 0x0}, + 429: {region: 0x165, script: 0x5a, flags: 0x0}, + 430: {region: 0xdb, script: 0x22, flags: 0x0}, + 431: {region: 0x165, script: 0x5a, flags: 0x0}, + 432: {region: 0x165, script: 0x5, flags: 0x0}, + 433: {region: 0x49, script: 0x5a, flags: 0x0}, + 434: {region: 0x165, script: 0x5, flags: 0x0}, + 435: {region: 0x165, script: 0x5a, flags: 0x0}, + 436: {region: 0x10, script: 0x3, flags: 0x1}, + 437: {region: 0x165, script: 0x5a, flags: 0x0}, + 438: {region: 0x53, script: 0x3b, flags: 0x0}, + 439: {region: 0x165, script: 0x5a, flags: 0x0}, + 440: {region: 0x135, script: 0x5a, flags: 0x0}, + 441: {region: 0x24, script: 0x5, flags: 0x0}, + 442: {region: 0x165, script: 0x5a, flags: 0x0}, + 443: {region: 0x165, script: 0x2c, flags: 0x0}, + 444: {region: 0x97, script: 0x3e, flags: 0x0}, + 445: {region: 0x165, script: 0x5a, flags: 0x0}, + 446: {region: 0x99, script: 0x22, flags: 0x0}, + 447: {region: 0x165, script: 0x5a, flags: 0x0}, + 448: {region: 0x73, script: 0x5a, flags: 0x0}, + 449: {region: 0x165, script: 0x5a, flags: 0x0}, + 450: {region: 0x165, script: 0x5a, flags: 0x0}, + 451: {region: 0xe7, script: 0x5a, flags: 0x0}, + 452: {region: 0x165, script: 0x5a, flags: 0x0}, + 453: {region: 0x12b, script: 0x40, flags: 0x0}, + 454: {region: 0x53, script: 0x8d, flags: 0x0}, + 455: {region: 0x165, script: 0x5a, flags: 0x0}, + 456: {region: 0xe8, script: 0x5, flags: 0x0}, + 457: {region: 0x99, script: 0x22, flags: 0x0}, + 458: {region: 0xaf, script: 0x41, flags: 0x0}, + 459: {region: 0xe7, script: 0x5a, flags: 0x0}, + 460: {region: 0xe8, script: 0x5, flags: 0x0}, + 461: {region: 0xe6, script: 0x5a, flags: 0x0}, + 462: {region: 0x99, script: 0x22, flags: 0x0}, + 463: {region: 0x99, script: 0x22, flags: 0x0}, + 464: {region: 0x165, script: 0x5a, flags: 0x0}, + 465: {region: 0x90, script: 0x5a, flags: 0x0}, + 466: {region: 0x60, script: 0x5a, flags: 0x0}, + 467: {region: 0x53, script: 0x3b, flags: 0x0}, + 468: {region: 0x91, script: 0x5a, flags: 0x0}, + 469: {region: 0x92, script: 0x5a, flags: 0x0}, + 470: {region: 0x165, script: 0x5a, flags: 0x0}, + 471: {region: 0x28, script: 0x8, flags: 0x0}, + 472: {region: 0xd2, script: 0x5a, flags: 0x0}, + 473: {region: 0x78, script: 0x5a, flags: 0x0}, + 474: {region: 0x165, script: 0x5a, flags: 0x0}, + 475: {region: 0x165, script: 0x5a, flags: 0x0}, + 476: {region: 0xd0, script: 0x5a, flags: 0x0}, + 477: {region: 0xd6, script: 0x5a, flags: 0x0}, + 478: {region: 0x165, script: 0x5a, flags: 0x0}, + 479: {region: 0x165, script: 0x5a, flags: 0x0}, + 480: {region: 0x165, script: 0x5a, flags: 0x0}, + 481: {region: 0x95, script: 0x5a, flags: 0x0}, + 482: {region: 0x165, script: 0x5a, flags: 0x0}, + 483: {region: 0x165, script: 0x5a, flags: 0x0}, + 484: {region: 0x165, script: 0x5a, flags: 0x0}, + 486: {region: 0x122, script: 0x5a, flags: 0x0}, + 487: {region: 0xd6, script: 0x5a, flags: 0x0}, + 488: {region: 0x165, script: 0x5a, flags: 0x0}, + 489: {region: 0x165, script: 0x5a, flags: 0x0}, + 490: {region: 0x53, script: 0xf3, flags: 0x0}, + 491: {region: 0x165, script: 0x5a, flags: 0x0}, + 492: {region: 0x135, script: 0x5a, flags: 0x0}, + 493: {region: 0x165, script: 0x5a, flags: 0x0}, + 494: {region: 0x49, script: 0x5a, flags: 0x0}, + 495: {region: 0x165, script: 0x5a, flags: 0x0}, + 496: {region: 0x165, script: 0x5a, flags: 0x0}, + 497: {region: 0xe7, script: 0x5a, flags: 0x0}, + 498: {region: 0x165, script: 0x5a, flags: 0x0}, + 499: {region: 0x95, script: 0x5a, flags: 0x0}, + 500: {region: 0x106, script: 0x20, flags: 0x0}, + 501: {region: 0x1, script: 0x5a, flags: 0x0}, + 502: {region: 0x165, script: 0x5a, flags: 0x0}, + 503: {region: 0x165, script: 0x5a, flags: 0x0}, + 504: {region: 0x9d, script: 0x5a, flags: 0x0}, + 505: {region: 0x9e, script: 0x5a, flags: 0x0}, + 506: {region: 0x49, script: 0x17, flags: 0x0}, + 507: {region: 0x97, script: 0x3e, flags: 0x0}, + 508: {region: 0x165, script: 0x5a, flags: 0x0}, + 509: {region: 0x165, script: 0x5a, flags: 0x0}, + 510: {region: 0x106, script: 0x5a, flags: 0x0}, + 511: {region: 0x165, script: 0x5a, flags: 0x0}, + 512: {region: 0xa2, script: 0x49, flags: 0x0}, + 513: {region: 0x165, script: 0x5a, flags: 0x0}, + 514: {region: 0xa0, script: 0x5a, flags: 0x0}, + 515: {region: 0x1, script: 0x5a, flags: 0x0}, + 516: {region: 0x165, script: 0x5a, flags: 0x0}, + 517: {region: 0x165, script: 0x5a, flags: 0x0}, + 518: {region: 0x165, script: 0x5a, flags: 0x0}, + 519: {region: 0x52, script: 0x5a, flags: 0x0}, + 520: {region: 0x130, script: 0x3e, flags: 0x0}, + 521: {region: 0x165, script: 0x5a, flags: 0x0}, + 522: {region: 0x12f, script: 0x5a, flags: 0x0}, + 523: {region: 0xdb, script: 0x22, flags: 0x0}, + 524: {region: 0x165, script: 0x5a, flags: 0x0}, + 525: {region: 0x63, script: 0x5a, flags: 0x0}, + 526: {region: 0x95, script: 0x5a, flags: 0x0}, + 527: {region: 0x95, script: 0x5a, flags: 0x0}, + 528: {region: 0x7d, script: 0x2e, flags: 0x0}, + 529: {region: 0x137, script: 0x20, flags: 0x0}, + 530: {region: 0x67, script: 0x5a, flags: 0x0}, + 531: {region: 0xc4, script: 0x5a, flags: 0x0}, + 532: {region: 0x165, script: 0x5a, flags: 0x0}, + 533: {region: 0x165, script: 0x5a, flags: 0x0}, + 534: {region: 0xd6, script: 0x5a, flags: 0x0}, + 535: {region: 0xa4, script: 0x5a, flags: 0x0}, + 536: {region: 0xc3, script: 0x5a, flags: 0x0}, + 537: {region: 0x106, script: 0x20, flags: 0x0}, + 538: {region: 0x165, script: 0x5a, flags: 0x0}, + 539: {region: 0x165, script: 0x5a, flags: 0x0}, + 540: {region: 0x165, script: 0x5a, flags: 0x0}, + 541: {region: 0x165, script: 0x5a, flags: 0x0}, + 542: {region: 0xd4, script: 0x5, flags: 0x0}, + 543: {region: 0xd6, script: 0x5a, flags: 0x0}, + 544: {region: 0x164, script: 0x5a, flags: 0x0}, + 545: {region: 0x165, script: 0x5a, flags: 0x0}, + 546: {region: 0x165, script: 0x5a, flags: 0x0}, + 547: {region: 0x12f, script: 0x5a, flags: 0x0}, + 548: {region: 0x122, script: 0x5, flags: 0x0}, + 549: {region: 0x165, script: 0x5a, flags: 0x0}, + 550: {region: 0x123, script: 0xe6, flags: 0x0}, + 551: {region: 0x5a, script: 0x5a, flags: 0x0}, + 552: {region: 0x52, script: 0x5a, flags: 0x0}, + 553: {region: 0x165, script: 0x5a, flags: 0x0}, + 554: {region: 0x4f, script: 0x5a, flags: 0x0}, + 555: {region: 0x99, script: 0x22, flags: 0x0}, + 556: {region: 0x99, script: 0x22, flags: 0x0}, + 557: {region: 0x4b, script: 0x5a, flags: 0x0}, + 558: {region: 0x95, script: 0x5a, flags: 0x0}, + 559: {region: 0x165, script: 0x5a, flags: 0x0}, + 560: {region: 0x41, script: 0x5a, flags: 0x0}, + 561: {region: 0x99, script: 0x5a, flags: 0x0}, + 562: {region: 0x53, script: 0xdd, flags: 0x0}, + 563: {region: 0x99, script: 0x22, flags: 0x0}, + 564: {region: 0xc3, script: 0x5a, flags: 0x0}, + 565: {region: 0x165, script: 0x5a, flags: 0x0}, + 566: {region: 0x99, script: 0x75, flags: 0x0}, + 567: {region: 0xe8, script: 0x5, flags: 0x0}, + 568: {region: 0x165, script: 0x5a, flags: 0x0}, + 569: {region: 0xa4, script: 0x5a, flags: 0x0}, + 570: {region: 0x165, script: 0x5a, flags: 0x0}, + 571: {region: 0x12b, script: 0x5a, flags: 0x0}, + 572: {region: 0x165, script: 0x5a, flags: 0x0}, + 573: {region: 0xd2, script: 0x5a, flags: 0x0}, + 574: {region: 0x165, script: 0x5a, flags: 0x0}, + 575: {region: 0xaf, script: 0x57, flags: 0x0}, + 576: {region: 0x165, script: 0x5a, flags: 0x0}, + 577: {region: 0x165, script: 0x5a, flags: 0x0}, + 578: {region: 0x13, script: 0x6, flags: 0x1}, + 579: {region: 0x165, script: 0x5a, flags: 0x0}, + 580: {region: 0x52, script: 0x5a, flags: 0x0}, + 581: {region: 0x82, script: 0x5a, flags: 0x0}, + 582: {region: 0xa4, script: 0x5a, flags: 0x0}, + 583: {region: 0x165, script: 0x5a, flags: 0x0}, + 584: {region: 0x165, script: 0x5a, flags: 0x0}, + 585: {region: 0x165, script: 0x5a, flags: 0x0}, + 586: {region: 0xa6, script: 0x4e, flags: 0x0}, + 587: {region: 0x2a, script: 0x5a, flags: 0x0}, + 588: {region: 0x165, script: 0x5a, flags: 0x0}, + 589: {region: 0x165, script: 0x5a, flags: 0x0}, + 590: {region: 0x165, script: 0x5a, flags: 0x0}, + 591: {region: 0x165, script: 0x5a, flags: 0x0}, + 592: {region: 0x165, script: 0x5a, flags: 0x0}, + 593: {region: 0x99, script: 0x52, flags: 0x0}, + 594: {region: 0x8b, script: 0x5a, flags: 0x0}, + 595: {region: 0x165, script: 0x5a, flags: 0x0}, + 596: {region: 0xab, script: 0x53, flags: 0x0}, + 597: {region: 0x106, script: 0x20, flags: 0x0}, + 598: {region: 0x99, script: 0x22, flags: 0x0}, + 599: {region: 0x165, script: 0x5a, flags: 0x0}, + 600: {region: 0x75, script: 0x5a, flags: 0x0}, + 601: {region: 0x165, script: 0x5a, flags: 0x0}, + 602: {region: 0xb4, script: 0x5a, flags: 0x0}, + 603: {region: 0x165, script: 0x5a, flags: 0x0}, + 604: {region: 0x165, script: 0x5a, flags: 0x0}, + 605: {region: 0x165, script: 0x5a, flags: 0x0}, + 606: {region: 0x165, script: 0x5a, flags: 0x0}, + 607: {region: 0x165, script: 0x5a, flags: 0x0}, + 608: {region: 0x165, script: 0x5a, flags: 0x0}, + 609: {region: 0x165, script: 0x5a, flags: 0x0}, + 610: {region: 0x165, script: 0x2c, flags: 0x0}, + 611: {region: 0x165, script: 0x5a, flags: 0x0}, + 612: {region: 0x106, script: 0x20, flags: 0x0}, + 613: {region: 0x112, script: 0x5a, flags: 0x0}, + 614: {region: 0xe7, script: 0x5a, flags: 0x0}, + 615: {region: 0x106, script: 0x5a, flags: 0x0}, + 616: {region: 0x165, script: 0x5a, flags: 0x0}, + 617: {region: 0x99, script: 0x22, flags: 0x0}, + 618: {region: 0x99, script: 0x5, flags: 0x0}, + 619: {region: 0x12f, script: 0x5a, flags: 0x0}, + 620: {region: 0x165, script: 0x5a, flags: 0x0}, + 621: {region: 0x52, script: 0x5a, flags: 0x0}, + 622: {region: 0x60, script: 0x5a, flags: 0x0}, + 623: {region: 0x165, script: 0x5a, flags: 0x0}, + 624: {region: 0x165, script: 0x5a, flags: 0x0}, + 625: {region: 0x165, script: 0x2c, flags: 0x0}, + 626: {region: 0x165, script: 0x5a, flags: 0x0}, + 627: {region: 0x165, script: 0x5a, flags: 0x0}, + 628: {region: 0x19, script: 0x3, flags: 0x1}, + 629: {region: 0x165, script: 0x5a, flags: 0x0}, + 630: {region: 0x165, script: 0x5a, flags: 0x0}, + 631: {region: 0x165, script: 0x5a, flags: 0x0}, + 632: {region: 0x165, script: 0x5a, flags: 0x0}, + 633: {region: 0x106, script: 0x20, flags: 0x0}, + 634: {region: 0x165, script: 0x5a, flags: 0x0}, + 635: {region: 0x165, script: 0x5a, flags: 0x0}, + 636: {region: 0x165, script: 0x5a, flags: 0x0}, + 637: {region: 0x106, script: 0x20, flags: 0x0}, + 638: {region: 0x165, script: 0x5a, flags: 0x0}, + 639: {region: 0x95, script: 0x5a, flags: 0x0}, + 640: {region: 0xe8, script: 0x5, flags: 0x0}, + 641: {region: 0x7b, script: 0x5a, flags: 0x0}, + 642: {region: 0x165, script: 0x5a, flags: 0x0}, + 643: {region: 0x165, script: 0x5a, flags: 0x0}, + 644: {region: 0x165, script: 0x5a, flags: 0x0}, + 645: {region: 0x165, script: 0x2c, flags: 0x0}, + 646: {region: 0x123, script: 0xe6, flags: 0x0}, + 647: {region: 0xe8, script: 0x5, flags: 0x0}, + 648: {region: 0x165, script: 0x5a, flags: 0x0}, + 649: {region: 0x165, script: 0x5a, flags: 0x0}, + 650: {region: 0x1c, script: 0x5, flags: 0x1}, + 651: {region: 0x165, script: 0x5a, flags: 0x0}, + 652: {region: 0x165, script: 0x5a, flags: 0x0}, + 653: {region: 0x165, script: 0x5a, flags: 0x0}, + 654: {region: 0x138, script: 0x5a, flags: 0x0}, + 655: {region: 0x87, script: 0x5e, flags: 0x0}, + 656: {region: 0x97, script: 0x3e, flags: 0x0}, + 657: {region: 0x12f, script: 0x5a, flags: 0x0}, + 658: {region: 0xe8, script: 0x5, flags: 0x0}, + 659: {region: 0x131, script: 0x5a, flags: 0x0}, + 660: {region: 0x165, script: 0x5a, flags: 0x0}, + 661: {region: 0xb7, script: 0x5a, flags: 0x0}, + 662: {region: 0x106, script: 0x20, flags: 0x0}, + 663: {region: 0x165, script: 0x5a, flags: 0x0}, + 664: {region: 0x95, script: 0x5a, flags: 0x0}, + 665: {region: 0x165, script: 0x5a, flags: 0x0}, + 666: {region: 0x53, script: 0xe6, flags: 0x0}, + 667: {region: 0x165, script: 0x5a, flags: 0x0}, + 668: {region: 0x165, script: 0x5a, flags: 0x0}, + 669: {region: 0x165, script: 0x5a, flags: 0x0}, + 670: {region: 0x165, script: 0x5a, flags: 0x0}, + 671: {region: 0x99, script: 0x5c, flags: 0x0}, + 672: {region: 0x165, script: 0x5a, flags: 0x0}, + 673: {region: 0x165, script: 0x5a, flags: 0x0}, + 674: {region: 0x106, script: 0x20, flags: 0x0}, + 675: {region: 0x131, script: 0x5a, flags: 0x0}, + 676: {region: 0x165, script: 0x5a, flags: 0x0}, + 677: {region: 0xd9, script: 0x5a, flags: 0x0}, + 678: {region: 0x165, script: 0x5a, flags: 0x0}, + 679: {region: 0x165, script: 0x5a, flags: 0x0}, + 680: {region: 0x21, script: 0x2, flags: 0x1}, + 681: {region: 0x165, script: 0x5a, flags: 0x0}, + 682: {region: 0x165, script: 0x5a, flags: 0x0}, + 683: {region: 0x9e, script: 0x5a, flags: 0x0}, + 684: {region: 0x53, script: 0x60, flags: 0x0}, + 685: {region: 0x95, script: 0x5a, flags: 0x0}, + 686: {region: 0x9c, script: 0x5, flags: 0x0}, + 687: {region: 0x135, script: 0x5a, flags: 0x0}, + 688: {region: 0x165, script: 0x5a, flags: 0x0}, + 689: {region: 0x165, script: 0x5a, flags: 0x0}, + 690: {region: 0x99, script: 0xe1, flags: 0x0}, + 691: {region: 0x9e, script: 0x5a, flags: 0x0}, + 692: {region: 0x165, script: 0x5a, flags: 0x0}, + 693: {region: 0x4b, script: 0x5a, flags: 0x0}, + 694: {region: 0x165, script: 0x5a, flags: 0x0}, + 695: {region: 0x165, script: 0x5a, flags: 0x0}, + 696: {region: 0xaf, script: 0x57, flags: 0x0}, + 697: {region: 0x165, script: 0x5a, flags: 0x0}, + 698: {region: 0x165, script: 0x5a, flags: 0x0}, + 699: {region: 0x4b, script: 0x5a, flags: 0x0}, + 700: {region: 0x165, script: 0x5a, flags: 0x0}, + 701: {region: 0x165, script: 0x5a, flags: 0x0}, + 702: {region: 0x162, script: 0x5a, flags: 0x0}, + 703: {region: 0x9c, script: 0x5, flags: 0x0}, + 704: {region: 0xb6, script: 0x5a, flags: 0x0}, + 705: {region: 0xb8, script: 0x5a, flags: 0x0}, + 706: {region: 0x4b, script: 0x5a, flags: 0x0}, + 707: {region: 0x4b, script: 0x5a, flags: 0x0}, + 708: {region: 0xa4, script: 0x5a, flags: 0x0}, + 709: {region: 0xa4, script: 0x5a, flags: 0x0}, + 710: {region: 0x9c, script: 0x5, flags: 0x0}, + 711: {region: 0xb8, script: 0x5a, flags: 0x0}, + 712: {region: 0x123, script: 0xe6, flags: 0x0}, + 713: {region: 0x53, script: 0x3b, flags: 0x0}, + 714: {region: 0x12b, script: 0x5a, flags: 0x0}, + 715: {region: 0x95, script: 0x5a, flags: 0x0}, + 716: {region: 0x52, script: 0x5a, flags: 0x0}, + 717: {region: 0x99, script: 0x22, flags: 0x0}, + 718: {region: 0x99, script: 0x22, flags: 0x0}, + 719: {region: 0x95, script: 0x5a, flags: 0x0}, + 720: {region: 0x23, script: 0x3, flags: 0x1}, + 721: {region: 0xa4, script: 0x5a, flags: 0x0}, + 722: {region: 0x165, script: 0x5a, flags: 0x0}, + 723: {region: 0xcf, script: 0x5a, flags: 0x0}, + 724: {region: 0x165, script: 0x5a, flags: 0x0}, + 725: {region: 0x165, script: 0x5a, flags: 0x0}, + 726: {region: 0x165, script: 0x5a, flags: 0x0}, + 727: {region: 0x165, script: 0x5a, flags: 0x0}, + 728: {region: 0x165, script: 0x5a, flags: 0x0}, + 729: {region: 0x165, script: 0x5a, flags: 0x0}, + 730: {region: 0x165, script: 0x5a, flags: 0x0}, + 731: {region: 0x165, script: 0x5a, flags: 0x0}, + 732: {region: 0x165, script: 0x5a, flags: 0x0}, + 733: {region: 0x165, script: 0x5a, flags: 0x0}, + 734: {region: 0x165, script: 0x5a, flags: 0x0}, + 735: {region: 0x165, script: 0x5, flags: 0x0}, + 736: {region: 0x106, script: 0x20, flags: 0x0}, + 737: {region: 0xe7, script: 0x5a, flags: 0x0}, + 738: {region: 0x165, script: 0x5a, flags: 0x0}, + 739: {region: 0x95, script: 0x5a, flags: 0x0}, + 740: {region: 0x165, script: 0x2c, flags: 0x0}, + 741: {region: 0x165, script: 0x5a, flags: 0x0}, + 742: {region: 0x165, script: 0x5a, flags: 0x0}, + 743: {region: 0x165, script: 0x5a, flags: 0x0}, + 744: {region: 0x112, script: 0x5a, flags: 0x0}, + 745: {region: 0xa4, script: 0x5a, flags: 0x0}, + 746: {region: 0x165, script: 0x5a, flags: 0x0}, + 747: {region: 0x165, script: 0x5a, flags: 0x0}, + 748: {region: 0x123, script: 0x5, flags: 0x0}, + 749: {region: 0xcc, script: 0x5a, flags: 0x0}, + 750: {region: 0x165, script: 0x5a, flags: 0x0}, + 751: {region: 0x165, script: 0x5a, flags: 0x0}, + 752: {region: 0x165, script: 0x5a, flags: 0x0}, + 753: {region: 0xbf, script: 0x5a, flags: 0x0}, + 754: {region: 0xd1, script: 0x5a, flags: 0x0}, + 755: {region: 0x165, script: 0x5a, flags: 0x0}, + 756: {region: 0x52, script: 0x5a, flags: 0x0}, + 757: {region: 0xdb, script: 0x22, flags: 0x0}, + 758: {region: 0x12f, script: 0x5a, flags: 0x0}, + 759: {region: 0xc0, script: 0x5a, flags: 0x0}, + 760: {region: 0x165, script: 0x5a, flags: 0x0}, + 761: {region: 0x165, script: 0x5a, flags: 0x0}, + 762: {region: 0xe0, script: 0x5a, flags: 0x0}, + 763: {region: 0x165, script: 0x5a, flags: 0x0}, + 764: {region: 0x95, script: 0x5a, flags: 0x0}, + 765: {region: 0x9b, script: 0x3d, flags: 0x0}, + 766: {region: 0x165, script: 0x5a, flags: 0x0}, + 767: {region: 0xc2, script: 0x20, flags: 0x0}, + 768: {region: 0x165, script: 0x5, flags: 0x0}, + 769: {region: 0x165, script: 0x5a, flags: 0x0}, + 770: {region: 0x165, script: 0x5a, flags: 0x0}, + 771: {region: 0x165, script: 0x5a, flags: 0x0}, + 772: {region: 0x99, script: 0x6e, flags: 0x0}, + 773: {region: 0x165, script: 0x5a, flags: 0x0}, + 774: {region: 0x165, script: 0x5a, flags: 0x0}, + 775: {region: 0x10b, script: 0x5a, flags: 0x0}, + 776: {region: 0x165, script: 0x5a, flags: 0x0}, + 777: {region: 0x165, script: 0x5a, flags: 0x0}, + 778: {region: 0x165, script: 0x5a, flags: 0x0}, + 779: {region: 0x26, script: 0x3, flags: 0x1}, + 780: {region: 0x165, script: 0x5a, flags: 0x0}, + 781: {region: 0x165, script: 0x5a, flags: 0x0}, + 782: {region: 0x99, script: 0xe, flags: 0x0}, + 783: {region: 0xc4, script: 0x75, flags: 0x0}, + 785: {region: 0x165, script: 0x5a, flags: 0x0}, + 786: {region: 0x49, script: 0x5a, flags: 0x0}, + 787: {region: 0x49, script: 0x5a, flags: 0x0}, + 788: {region: 0x37, script: 0x5a, flags: 0x0}, + 789: {region: 0x165, script: 0x5a, flags: 0x0}, + 790: {region: 0x165, script: 0x5a, flags: 0x0}, + 791: {region: 0x165, script: 0x5a, flags: 0x0}, + 792: {region: 0x165, script: 0x5a, flags: 0x0}, + 793: {region: 0x165, script: 0x5a, flags: 0x0}, + 794: {region: 0x165, script: 0x5a, flags: 0x0}, + 795: {region: 0x99, script: 0x22, flags: 0x0}, + 796: {region: 0xdb, script: 0x22, flags: 0x0}, + 797: {region: 0x106, script: 0x20, flags: 0x0}, + 798: {region: 0x35, script: 0x72, flags: 0x0}, + 799: {region: 0x29, script: 0x3, flags: 0x1}, + 800: {region: 0xcb, script: 0x5a, flags: 0x0}, + 801: {region: 0x165, script: 0x5a, flags: 0x0}, + 802: {region: 0x165, script: 0x5a, flags: 0x0}, + 803: {region: 0x165, script: 0x5a, flags: 0x0}, + 804: {region: 0x99, script: 0x22, flags: 0x0}, + 805: {region: 0x52, script: 0x5a, flags: 0x0}, + 807: {region: 0x165, script: 0x5a, flags: 0x0}, + 808: {region: 0x135, script: 0x5a, flags: 0x0}, + 809: {region: 0x165, script: 0x5a, flags: 0x0}, + 810: {region: 0x165, script: 0x5a, flags: 0x0}, + 811: {region: 0xe8, script: 0x5, flags: 0x0}, + 812: {region: 0xc3, script: 0x5a, flags: 0x0}, + 813: {region: 0x99, script: 0x22, flags: 0x0}, + 814: {region: 0x95, script: 0x5a, flags: 0x0}, + 815: {region: 0x164, script: 0x5a, flags: 0x0}, + 816: {region: 0x165, script: 0x5a, flags: 0x0}, + 817: {region: 0xc4, script: 0x75, flags: 0x0}, + 818: {region: 0x165, script: 0x5a, flags: 0x0}, + 819: {region: 0x165, script: 0x2c, flags: 0x0}, + 820: {region: 0x106, script: 0x20, flags: 0x0}, + 821: {region: 0x165, script: 0x5a, flags: 0x0}, + 822: {region: 0x131, script: 0x5a, flags: 0x0}, + 823: {region: 0x9c, script: 0x66, flags: 0x0}, + 824: {region: 0x165, script: 0x5a, flags: 0x0}, + 825: {region: 0x165, script: 0x5a, flags: 0x0}, + 826: {region: 0x9c, script: 0x5, flags: 0x0}, + 827: {region: 0x165, script: 0x5a, flags: 0x0}, + 828: {region: 0x165, script: 0x5a, flags: 0x0}, + 829: {region: 0x165, script: 0x5a, flags: 0x0}, + 830: {region: 0xdd, script: 0x5a, flags: 0x0}, + 831: {region: 0x165, script: 0x5a, flags: 0x0}, + 832: {region: 0x165, script: 0x5a, flags: 0x0}, + 834: {region: 0x165, script: 0x5a, flags: 0x0}, + 835: {region: 0x53, script: 0x3b, flags: 0x0}, + 836: {region: 0x9e, script: 0x5a, flags: 0x0}, + 837: {region: 0xd2, script: 0x5a, flags: 0x0}, + 838: {region: 0x165, script: 0x5a, flags: 0x0}, + 839: {region: 0xda, script: 0x5a, flags: 0x0}, + 840: {region: 0x165, script: 0x5a, flags: 0x0}, + 841: {region: 0x165, script: 0x5a, flags: 0x0}, + 842: {region: 0x165, script: 0x5a, flags: 0x0}, + 843: {region: 0xcf, script: 0x5a, flags: 0x0}, + 844: {region: 0x165, script: 0x5a, flags: 0x0}, + 845: {region: 0x165, script: 0x5a, flags: 0x0}, + 846: {region: 0x164, script: 0x5a, flags: 0x0}, + 847: {region: 0xd1, script: 0x5a, flags: 0x0}, + 848: {region: 0x60, script: 0x5a, flags: 0x0}, + 849: {region: 0xdb, script: 0x22, flags: 0x0}, + 850: {region: 0x165, script: 0x5a, flags: 0x0}, + 851: {region: 0xdb, script: 0x22, flags: 0x0}, + 852: {region: 0x165, script: 0x5a, flags: 0x0}, + 853: {region: 0x165, script: 0x5a, flags: 0x0}, + 854: {region: 0xd2, script: 0x5a, flags: 0x0}, + 855: {region: 0x165, script: 0x5a, flags: 0x0}, + 856: {region: 0x165, script: 0x5a, flags: 0x0}, + 857: {region: 0xd1, script: 0x5a, flags: 0x0}, + 858: {region: 0x165, script: 0x5a, flags: 0x0}, + 859: {region: 0xcf, script: 0x5a, flags: 0x0}, + 860: {region: 0xcf, script: 0x5a, flags: 0x0}, + 861: {region: 0x165, script: 0x5a, flags: 0x0}, + 862: {region: 0x165, script: 0x5a, flags: 0x0}, + 863: {region: 0x95, script: 0x5a, flags: 0x0}, + 864: {region: 0x165, script: 0x5a, flags: 0x0}, + 865: {region: 0xdf, script: 0x5a, flags: 0x0}, + 866: {region: 0x165, script: 0x5a, flags: 0x0}, + 867: {region: 0x165, script: 0x5a, flags: 0x0}, + 868: {region: 0x99, script: 0x5a, flags: 0x0}, + 869: {region: 0x165, script: 0x5a, flags: 0x0}, + 870: {region: 0x165, script: 0x5a, flags: 0x0}, + 871: {region: 0xd9, script: 0x5a, flags: 0x0}, + 872: {region: 0x52, script: 0x5a, flags: 0x0}, + 873: {region: 0x165, script: 0x5a, flags: 0x0}, + 874: {region: 0xda, script: 0x5a, flags: 0x0}, + 875: {region: 0x165, script: 0x5a, flags: 0x0}, + 876: {region: 0x52, script: 0x5a, flags: 0x0}, + 877: {region: 0x165, script: 0x5a, flags: 0x0}, + 878: {region: 0x165, script: 0x5a, flags: 0x0}, + 879: {region: 0xda, script: 0x5a, flags: 0x0}, + 880: {region: 0x123, script: 0x56, flags: 0x0}, + 881: {region: 0x99, script: 0x22, flags: 0x0}, + 882: {region: 0x10c, script: 0xc4, flags: 0x0}, + 883: {region: 0x165, script: 0x5a, flags: 0x0}, + 884: {region: 0x165, script: 0x5a, flags: 0x0}, + 885: {region: 0x84, script: 0x7c, flags: 0x0}, + 886: {region: 0x161, script: 0x5a, flags: 0x0}, + 887: {region: 0x165, script: 0x5a, flags: 0x0}, + 888: {region: 0x49, script: 0x17, flags: 0x0}, + 889: {region: 0x165, script: 0x5a, flags: 0x0}, + 890: {region: 0x161, script: 0x5a, flags: 0x0}, + 891: {region: 0x165, script: 0x5a, flags: 0x0}, + 892: {region: 0x165, script: 0x5a, flags: 0x0}, + 893: {region: 0x165, script: 0x5a, flags: 0x0}, + 894: {region: 0x165, script: 0x5a, flags: 0x0}, + 895: {region: 0x165, script: 0x5a, flags: 0x0}, + 896: {region: 0x117, script: 0x5a, flags: 0x0}, + 897: {region: 0x165, script: 0x5a, flags: 0x0}, + 898: {region: 0x165, script: 0x5a, flags: 0x0}, + 899: {region: 0x135, script: 0x5a, flags: 0x0}, + 900: {region: 0x165, script: 0x5a, flags: 0x0}, + 901: {region: 0x53, script: 0x5a, flags: 0x0}, + 902: {region: 0x165, script: 0x5a, flags: 0x0}, + 903: {region: 0xce, script: 0x5a, flags: 0x0}, + 904: {region: 0x12f, script: 0x5a, flags: 0x0}, + 905: {region: 0x131, script: 0x5a, flags: 0x0}, + 906: {region: 0x80, script: 0x5a, flags: 0x0}, + 907: {region: 0x78, script: 0x5a, flags: 0x0}, + 908: {region: 0x165, script: 0x5a, flags: 0x0}, + 910: {region: 0x165, script: 0x5a, flags: 0x0}, + 911: {region: 0x165, script: 0x5a, flags: 0x0}, + 912: {region: 0x6f, script: 0x5a, flags: 0x0}, + 913: {region: 0x165, script: 0x5a, flags: 0x0}, + 914: {region: 0x165, script: 0x5a, flags: 0x0}, + 915: {region: 0x165, script: 0x5a, flags: 0x0}, + 916: {region: 0x165, script: 0x5a, flags: 0x0}, + 917: {region: 0x99, script: 0x81, flags: 0x0}, + 918: {region: 0x165, script: 0x5a, flags: 0x0}, + 919: {region: 0x165, script: 0x5, flags: 0x0}, + 920: {region: 0x7d, script: 0x20, flags: 0x0}, + 921: {region: 0x135, script: 0x82, flags: 0x0}, + 922: {region: 0x165, script: 0x5, flags: 0x0}, + 923: {region: 0xc5, script: 0x80, flags: 0x0}, + 924: {region: 0x165, script: 0x5a, flags: 0x0}, + 925: {region: 0x2c, script: 0x3, flags: 0x1}, + 926: {region: 0xe7, script: 0x5a, flags: 0x0}, + 927: {region: 0x2f, script: 0x2, flags: 0x1}, + 928: {region: 0xe7, script: 0x5a, flags: 0x0}, + 929: {region: 0x30, script: 0x5a, flags: 0x0}, + 930: {region: 0xf0, script: 0x5a, flags: 0x0}, + 931: {region: 0x165, script: 0x5a, flags: 0x0}, + 932: {region: 0x78, script: 0x5a, flags: 0x0}, + 933: {region: 0xd6, script: 0x5a, flags: 0x0}, + 934: {region: 0x135, script: 0x5a, flags: 0x0}, + 935: {region: 0x49, script: 0x5a, flags: 0x0}, + 936: {region: 0x165, script: 0x5a, flags: 0x0}, + 937: {region: 0x9c, script: 0xf0, flags: 0x0}, + 938: {region: 0x165, script: 0x5a, flags: 0x0}, + 939: {region: 0x60, script: 0x5a, flags: 0x0}, + 940: {region: 0x165, script: 0x5, flags: 0x0}, + 941: {region: 0xb0, script: 0x8b, flags: 0x0}, + 943: {region: 0x165, script: 0x5a, flags: 0x0}, + 944: {region: 0x165, script: 0x5a, flags: 0x0}, + 945: {region: 0x99, script: 0x12, flags: 0x0}, + 946: {region: 0xa4, script: 0x5a, flags: 0x0}, + 947: {region: 0xe9, script: 0x5a, flags: 0x0}, + 948: {region: 0x165, script: 0x5a, flags: 0x0}, + 949: {region: 0x9e, script: 0x5a, flags: 0x0}, + 950: {region: 0x165, script: 0x5a, flags: 0x0}, + 951: {region: 0x165, script: 0x5a, flags: 0x0}, + 952: {region: 0x87, script: 0x34, flags: 0x0}, + 953: {region: 0x75, script: 0x5a, flags: 0x0}, + 954: {region: 0x165, script: 0x5a, flags: 0x0}, + 955: {region: 0xe8, script: 0x4d, flags: 0x0}, + 956: {region: 0x9c, script: 0x5, flags: 0x0}, + 957: {region: 0x1, script: 0x5a, flags: 0x0}, + 958: {region: 0x24, script: 0x5, flags: 0x0}, + 959: {region: 0x165, script: 0x5a, flags: 0x0}, + 960: {region: 0x41, script: 0x5a, flags: 0x0}, + 961: {region: 0x165, script: 0x5a, flags: 0x0}, + 962: {region: 0x7a, script: 0x5a, flags: 0x0}, + 963: {region: 0x165, script: 0x5a, flags: 0x0}, + 964: {region: 0xe4, script: 0x5a, flags: 0x0}, + 965: {region: 0x89, script: 0x5a, flags: 0x0}, + 966: {region: 0x69, script: 0x5a, flags: 0x0}, + 967: {region: 0x165, script: 0x5a, flags: 0x0}, + 968: {region: 0x99, script: 0x22, flags: 0x0}, + 969: {region: 0x165, script: 0x5a, flags: 0x0}, + 970: {region: 0x102, script: 0x5a, flags: 0x0}, + 971: {region: 0x95, script: 0x5a, flags: 0x0}, + 972: {region: 0x165, script: 0x5a, flags: 0x0}, + 973: {region: 0x165, script: 0x5a, flags: 0x0}, + 974: {region: 0x9e, script: 0x5a, flags: 0x0}, + 975: {region: 0x165, script: 0x5, flags: 0x0}, + 976: {region: 0x99, script: 0x5a, flags: 0x0}, + 977: {region: 0x31, script: 0x2, flags: 0x1}, + 978: {region: 0xdb, script: 0x22, flags: 0x0}, + 979: {region: 0x35, script: 0xe, flags: 0x0}, + 980: {region: 0x4e, script: 0x5a, flags: 0x0}, + 981: {region: 0x72, script: 0x5a, flags: 0x0}, + 982: {region: 0x4e, script: 0x5a, flags: 0x0}, + 983: {region: 0x9c, script: 0x5, flags: 0x0}, + 984: {region: 0x10c, script: 0x5a, flags: 0x0}, + 985: {region: 0x3a, script: 0x5a, flags: 0x0}, + 986: {region: 0x165, script: 0x5a, flags: 0x0}, + 987: {region: 0xd1, script: 0x5a, flags: 0x0}, + 988: {region: 0x104, script: 0x5a, flags: 0x0}, + 989: {region: 0x95, script: 0x5a, flags: 0x0}, + 990: {region: 0x12f, script: 0x5a, flags: 0x0}, + 991: {region: 0x165, script: 0x5a, flags: 0x0}, + 992: {region: 0x165, script: 0x5a, flags: 0x0}, + 993: {region: 0x73, script: 0x5a, flags: 0x0}, + 994: {region: 0x106, script: 0x20, flags: 0x0}, + 995: {region: 0x130, script: 0x20, flags: 0x0}, + 996: {region: 0x109, script: 0x5a, flags: 0x0}, + 997: {region: 0x107, script: 0x5a, flags: 0x0}, + 998: {region: 0x12f, script: 0x5a, flags: 0x0}, + 999: {region: 0x165, script: 0x5a, flags: 0x0}, + 1000: {region: 0xa2, script: 0x4c, flags: 0x0}, + 1001: {region: 0x99, script: 0x22, flags: 0x0}, + 1002: {region: 0x80, script: 0x5a, flags: 0x0}, + 1003: {region: 0x106, script: 0x20, flags: 0x0}, + 1004: {region: 0xa4, script: 0x5a, flags: 0x0}, + 1005: {region: 0x95, script: 0x5a, flags: 0x0}, + 1006: {region: 0x99, script: 0x5a, flags: 0x0}, + 1007: {region: 0x114, script: 0x5a, flags: 0x0}, + 1008: {region: 0x99, script: 0xc8, flags: 0x0}, + 1009: {region: 0x165, script: 0x5a, flags: 0x0}, + 1010: {region: 0x165, script: 0x5a, flags: 0x0}, + 1011: {region: 0x12f, script: 0x5a, flags: 0x0}, + 1012: {region: 0x9e, script: 0x5a, flags: 0x0}, + 1013: {region: 0x99, script: 0x22, flags: 0x0}, + 1014: {region: 0x165, script: 0x5, flags: 0x0}, + 1015: {region: 0x9e, script: 0x5a, flags: 0x0}, + 1016: {region: 0x7b, script: 0x5a, flags: 0x0}, + 1017: {region: 0x49, script: 0x5a, flags: 0x0}, + 1018: {region: 0x33, script: 0x4, flags: 0x1}, + 1019: {region: 0x9e, script: 0x5a, flags: 0x0}, + 1020: {region: 0x9c, script: 0x5, flags: 0x0}, + 1021: {region: 0xda, script: 0x5a, flags: 0x0}, + 1022: {region: 0x4f, script: 0x5a, flags: 0x0}, + 1023: {region: 0xd1, script: 0x5a, flags: 0x0}, + 1024: {region: 0xcf, script: 0x5a, flags: 0x0}, + 1025: {region: 0xc3, script: 0x5a, flags: 0x0}, + 1026: {region: 0x4c, script: 0x5a, flags: 0x0}, + 1027: {region: 0x96, script: 0x7e, flags: 0x0}, + 1028: {region: 0xb6, script: 0x5a, flags: 0x0}, + 1029: {region: 0x165, script: 0x2c, flags: 0x0}, + 1030: {region: 0x165, script: 0x5a, flags: 0x0}, + 1032: {region: 0xba, script: 0xe3, flags: 0x0}, + 1033: {region: 0x165, script: 0x5a, flags: 0x0}, + 1034: {region: 0xc4, script: 0x75, flags: 0x0}, + 1035: {region: 0x165, script: 0x5, flags: 0x0}, + 1036: {region: 0xb3, script: 0xcf, flags: 0x0}, + 1037: {region: 0x6f, script: 0x5a, flags: 0x0}, + 1038: {region: 0x165, script: 0x5a, flags: 0x0}, + 1039: {region: 0x165, script: 0x5a, flags: 0x0}, + 1040: {region: 0x165, script: 0x5a, flags: 0x0}, + 1041: {region: 0x165, script: 0x5a, flags: 0x0}, + 1042: {region: 0x111, script: 0x5a, flags: 0x0}, + 1043: {region: 0x165, script: 0x5a, flags: 0x0}, + 1044: {region: 0xe8, script: 0x5, flags: 0x0}, + 1045: {region: 0x165, script: 0x5a, flags: 0x0}, + 1046: {region: 0x10f, script: 0x5a, flags: 0x0}, + 1047: {region: 0x165, script: 0x5a, flags: 0x0}, + 1048: {region: 0xe9, script: 0x5a, flags: 0x0}, + 1049: {region: 0x165, script: 0x5a, flags: 0x0}, + 1050: {region: 0x95, script: 0x5a, flags: 0x0}, + 1051: {region: 0x142, script: 0x5a, flags: 0x0}, + 1052: {region: 0x10c, script: 0x5a, flags: 0x0}, + 1054: {region: 0x10c, script: 0x5a, flags: 0x0}, + 1055: {region: 0x72, script: 0x5a, flags: 0x0}, + 1056: {region: 0x97, script: 0xc5, flags: 0x0}, + 1057: {region: 0x165, script: 0x5a, flags: 0x0}, + 1058: {region: 0x72, script: 0x5a, flags: 0x0}, + 1059: {region: 0x164, script: 0x5a, flags: 0x0}, + 1060: {region: 0x165, script: 0x5a, flags: 0x0}, + 1061: {region: 0xc3, script: 0x5a, flags: 0x0}, + 1062: {region: 0x165, script: 0x5a, flags: 0x0}, + 1063: {region: 0x165, script: 0x5a, flags: 0x0}, + 1064: {region: 0x165, script: 0x5a, flags: 0x0}, + 1065: {region: 0x115, script: 0x5a, flags: 0x0}, + 1066: {region: 0x165, script: 0x5a, flags: 0x0}, + 1067: {region: 0x165, script: 0x5a, flags: 0x0}, + 1068: {region: 0x123, script: 0xe6, flags: 0x0}, + 1069: {region: 0x165, script: 0x5a, flags: 0x0}, + 1070: {region: 0x165, script: 0x5a, flags: 0x0}, + 1071: {region: 0x165, script: 0x5a, flags: 0x0}, + 1072: {region: 0x165, script: 0x5a, flags: 0x0}, + 1073: {region: 0x27, script: 0x5a, flags: 0x0}, + 1074: {region: 0x37, script: 0x5, flags: 0x1}, + 1075: {region: 0x99, script: 0xd2, flags: 0x0}, + 1076: {region: 0x116, script: 0x5a, flags: 0x0}, + 1077: {region: 0x114, script: 0x5a, flags: 0x0}, + 1078: {region: 0x99, script: 0x22, flags: 0x0}, + 1079: {region: 0x161, script: 0x5a, flags: 0x0}, + 1080: {region: 0x165, script: 0x5a, flags: 0x0}, + 1081: {region: 0x165, script: 0x5a, flags: 0x0}, + 1082: {region: 0x6d, script: 0x5a, flags: 0x0}, + 1083: {region: 0x161, script: 0x5a, flags: 0x0}, + 1084: {region: 0x165, script: 0x5a, flags: 0x0}, + 1085: {region: 0x60, script: 0x5a, flags: 0x0}, + 1086: {region: 0x95, script: 0x5a, flags: 0x0}, + 1087: {region: 0x165, script: 0x5a, flags: 0x0}, + 1088: {region: 0x165, script: 0x5a, flags: 0x0}, + 1089: {region: 0x12f, script: 0x5a, flags: 0x0}, + 1090: {region: 0x165, script: 0x5a, flags: 0x0}, + 1091: {region: 0x84, script: 0x5a, flags: 0x0}, + 1092: {region: 0x10c, script: 0x5a, flags: 0x0}, + 1093: {region: 0x12f, script: 0x5a, flags: 0x0}, + 1094: {region: 0x15f, script: 0x5, flags: 0x0}, + 1095: {region: 0x4b, script: 0x5a, flags: 0x0}, + 1096: {region: 0x60, script: 0x5a, flags: 0x0}, + 1097: {region: 0x165, script: 0x5a, flags: 0x0}, + 1098: {region: 0x99, script: 0x22, flags: 0x0}, + 1099: {region: 0x95, script: 0x5a, flags: 0x0}, + 1100: {region: 0x165, script: 0x5a, flags: 0x0}, + 1101: {region: 0x35, script: 0xe, flags: 0x0}, + 1102: {region: 0x9b, script: 0xd6, flags: 0x0}, + 1103: {region: 0xe9, script: 0x5a, flags: 0x0}, + 1104: {region: 0x99, script: 0xde, flags: 0x0}, + 1105: {region: 0xdb, script: 0x22, flags: 0x0}, + 1106: {region: 0x165, script: 0x5a, flags: 0x0}, + 1107: {region: 0x165, script: 0x5a, flags: 0x0}, + 1108: {region: 0x165, script: 0x5a, flags: 0x0}, + 1109: {region: 0x165, script: 0x5a, flags: 0x0}, + 1110: {region: 0x165, script: 0x5a, flags: 0x0}, + 1111: {region: 0x165, script: 0x5a, flags: 0x0}, + 1112: {region: 0x165, script: 0x5a, flags: 0x0}, + 1113: {region: 0x165, script: 0x5a, flags: 0x0}, + 1114: {region: 0xe7, script: 0x5a, flags: 0x0}, + 1115: {region: 0x165, script: 0x5a, flags: 0x0}, + 1116: {region: 0x165, script: 0x5a, flags: 0x0}, + 1117: {region: 0x99, script: 0x52, flags: 0x0}, + 1118: {region: 0x53, script: 0xdc, flags: 0x0}, + 1119: {region: 0xdb, script: 0x22, flags: 0x0}, + 1120: {region: 0xdb, script: 0x22, flags: 0x0}, + 1121: {region: 0x99, script: 0xe1, flags: 0x0}, + 1122: {region: 0x165, script: 0x5a, flags: 0x0}, + 1123: {region: 0x112, script: 0x5a, flags: 0x0}, + 1124: {region: 0x131, script: 0x5a, flags: 0x0}, + 1125: {region: 0x126, script: 0x5a, flags: 0x0}, + 1126: {region: 0x165, script: 0x5a, flags: 0x0}, + 1127: {region: 0x3c, script: 0x3, flags: 0x1}, + 1128: {region: 0x165, script: 0x5a, flags: 0x0}, + 1129: {region: 0x165, script: 0x5a, flags: 0x0}, + 1130: {region: 0x165, script: 0x5a, flags: 0x0}, + 1131: {region: 0x123, script: 0xe6, flags: 0x0}, + 1132: {region: 0xdb, script: 0x22, flags: 0x0}, + 1133: {region: 0xdb, script: 0x22, flags: 0x0}, + 1134: {region: 0xdb, script: 0x22, flags: 0x0}, + 1135: {region: 0x6f, script: 0x2c, flags: 0x0}, + 1136: {region: 0x165, script: 0x5a, flags: 0x0}, + 1137: {region: 0x6d, script: 0x2c, flags: 0x0}, + 1138: {region: 0x165, script: 0x5a, flags: 0x0}, + 1139: {region: 0x165, script: 0x5a, flags: 0x0}, + 1140: {region: 0x165, script: 0x5a, flags: 0x0}, + 1141: {region: 0xd6, script: 0x5a, flags: 0x0}, + 1142: {region: 0x127, script: 0x5a, flags: 0x0}, + 1143: {region: 0x125, script: 0x5a, flags: 0x0}, + 1144: {region: 0x32, script: 0x5a, flags: 0x0}, + 1145: {region: 0xdb, script: 0x22, flags: 0x0}, + 1146: {region: 0xe7, script: 0x5a, flags: 0x0}, + 1147: {region: 0x165, script: 0x5a, flags: 0x0}, + 1148: {region: 0x165, script: 0x5a, flags: 0x0}, + 1149: {region: 0x32, script: 0x5a, flags: 0x0}, + 1150: {region: 0xd4, script: 0x5a, flags: 0x0}, + 1151: {region: 0x165, script: 0x5a, flags: 0x0}, + 1152: {region: 0x161, script: 0x5a, flags: 0x0}, + 1153: {region: 0x165, script: 0x5a, flags: 0x0}, + 1154: {region: 0x129, script: 0x5a, flags: 0x0}, + 1155: {region: 0x165, script: 0x5a, flags: 0x0}, + 1156: {region: 0xce, script: 0x5a, flags: 0x0}, + 1157: {region: 0x165, script: 0x5a, flags: 0x0}, + 1158: {region: 0xe6, script: 0x5a, flags: 0x0}, + 1159: {region: 0x165, script: 0x5a, flags: 0x0}, + 1160: {region: 0x165, script: 0x5a, flags: 0x0}, + 1161: {region: 0x165, script: 0x5a, flags: 0x0}, + 1162: {region: 0x12b, script: 0x5a, flags: 0x0}, + 1163: {region: 0x12b, script: 0x5a, flags: 0x0}, + 1164: {region: 0x12e, script: 0x5a, flags: 0x0}, + 1165: {region: 0x165, script: 0x5, flags: 0x0}, + 1166: {region: 0x161, script: 0x5a, flags: 0x0}, + 1167: {region: 0x87, script: 0x34, flags: 0x0}, + 1168: {region: 0xdb, script: 0x22, flags: 0x0}, + 1169: {region: 0xe7, script: 0x5a, flags: 0x0}, + 1170: {region: 0x43, script: 0xe7, flags: 0x0}, + 1171: {region: 0x165, script: 0x5a, flags: 0x0}, + 1172: {region: 0x106, script: 0x20, flags: 0x0}, + 1173: {region: 0x165, script: 0x5a, flags: 0x0}, + 1174: {region: 0x165, script: 0x5a, flags: 0x0}, + 1175: {region: 0x131, script: 0x5a, flags: 0x0}, + 1176: {region: 0x165, script: 0x5a, flags: 0x0}, + 1177: {region: 0x123, script: 0xe6, flags: 0x0}, + 1178: {region: 0x32, script: 0x5a, flags: 0x0}, + 1179: {region: 0x165, script: 0x5a, flags: 0x0}, + 1180: {region: 0x165, script: 0x5a, flags: 0x0}, + 1181: {region: 0xce, script: 0x5a, flags: 0x0}, + 1182: {region: 0x165, script: 0x5a, flags: 0x0}, + 1183: {region: 0x165, script: 0x5a, flags: 0x0}, + 1184: {region: 0x12d, script: 0x5a, flags: 0x0}, + 1185: {region: 0x165, script: 0x5a, flags: 0x0}, + 1187: {region: 0x165, script: 0x5a, flags: 0x0}, + 1188: {region: 0xd4, script: 0x5a, flags: 0x0}, + 1189: {region: 0x53, script: 0xdf, flags: 0x0}, + 1190: {region: 0xe5, script: 0x5a, flags: 0x0}, + 1191: {region: 0x165, script: 0x5a, flags: 0x0}, + 1192: {region: 0x106, script: 0x20, flags: 0x0}, + 1193: {region: 0xba, script: 0x5a, flags: 0x0}, + 1194: {region: 0x165, script: 0x5a, flags: 0x0}, + 1195: {region: 0x106, script: 0x20, flags: 0x0}, + 1196: {region: 0x3f, script: 0x4, flags: 0x1}, + 1197: {region: 0x11c, script: 0xea, flags: 0x0}, + 1198: {region: 0x130, script: 0x20, flags: 0x0}, + 1199: {region: 0x75, script: 0x5a, flags: 0x0}, + 1200: {region: 0x2a, script: 0x5a, flags: 0x0}, + 1202: {region: 0x43, script: 0x3, flags: 0x1}, + 1203: {region: 0x99, script: 0xe, flags: 0x0}, + 1204: {region: 0xe8, script: 0x5, flags: 0x0}, + 1205: {region: 0x165, script: 0x5a, flags: 0x0}, + 1206: {region: 0x165, script: 0x5a, flags: 0x0}, + 1207: {region: 0x165, script: 0x5a, flags: 0x0}, + 1208: {region: 0x165, script: 0x5a, flags: 0x0}, + 1209: {region: 0x165, script: 0x5a, flags: 0x0}, + 1210: {region: 0x165, script: 0x5a, flags: 0x0}, + 1211: {region: 0x165, script: 0x5a, flags: 0x0}, + 1212: {region: 0x46, script: 0x4, flags: 0x1}, + 1213: {region: 0x165, script: 0x5a, flags: 0x0}, + 1214: {region: 0xb4, script: 0xeb, flags: 0x0}, + 1215: {region: 0x165, script: 0x5a, flags: 0x0}, + 1216: {region: 0x161, script: 0x5a, flags: 0x0}, + 1217: {region: 0x9e, script: 0x5a, flags: 0x0}, + 1218: {region: 0x106, script: 0x5a, flags: 0x0}, + 1219: {region: 0x13e, script: 0x5a, flags: 0x0}, + 1220: {region: 0x11b, script: 0x5a, flags: 0x0}, + 1221: {region: 0x165, script: 0x5a, flags: 0x0}, + 1222: {region: 0x36, script: 0x5a, flags: 0x0}, + 1223: {region: 0x60, script: 0x5a, flags: 0x0}, + 1224: {region: 0xd1, script: 0x5a, flags: 0x0}, + 1225: {region: 0x1, script: 0x5a, flags: 0x0}, + 1226: {region: 0x106, script: 0x5a, flags: 0x0}, + 1227: {region: 0x6a, script: 0x5a, flags: 0x0}, + 1228: {region: 0x12f, script: 0x5a, flags: 0x0}, + 1229: {region: 0x165, script: 0x5a, flags: 0x0}, + 1230: {region: 0x36, script: 0x5a, flags: 0x0}, + 1231: {region: 0x4e, script: 0x5a, flags: 0x0}, + 1232: {region: 0x165, script: 0x5a, flags: 0x0}, + 1233: {region: 0x6f, script: 0x2c, flags: 0x0}, + 1234: {region: 0x165, script: 0x5a, flags: 0x0}, + 1235: {region: 0xe7, script: 0x5a, flags: 0x0}, + 1236: {region: 0x2f, script: 0x5a, flags: 0x0}, + 1237: {region: 0x99, script: 0xe1, flags: 0x0}, + 1238: {region: 0x99, script: 0x22, flags: 0x0}, + 1239: {region: 0x165, script: 0x5a, flags: 0x0}, + 1240: {region: 0x165, script: 0x5a, flags: 0x0}, + 1241: {region: 0x165, script: 0x5a, flags: 0x0}, + 1242: {region: 0x165, script: 0x5a, flags: 0x0}, + 1243: {region: 0x165, script: 0x5a, flags: 0x0}, + 1244: {region: 0x165, script: 0x5a, flags: 0x0}, + 1245: {region: 0x165, script: 0x5a, flags: 0x0}, + 1246: {region: 0x165, script: 0x5a, flags: 0x0}, + 1247: {region: 0x165, script: 0x5a, flags: 0x0}, + 1248: {region: 0x140, script: 0x5a, flags: 0x0}, + 1249: {region: 0x165, script: 0x5a, flags: 0x0}, + 1250: {region: 0x165, script: 0x5a, flags: 0x0}, + 1251: {region: 0xa8, script: 0x5, flags: 0x0}, + 1252: {region: 0x165, script: 0x5a, flags: 0x0}, + 1253: {region: 0x114, script: 0x5a, flags: 0x0}, + 1254: {region: 0x165, script: 0x5a, flags: 0x0}, + 1255: {region: 0x165, script: 0x5a, flags: 0x0}, + 1256: {region: 0x165, script: 0x5a, flags: 0x0}, + 1257: {region: 0x165, script: 0x5a, flags: 0x0}, + 1258: {region: 0x99, script: 0x22, flags: 0x0}, + 1259: {region: 0x53, script: 0x3b, flags: 0x0}, + 1260: {region: 0x165, script: 0x5a, flags: 0x0}, + 1261: {region: 0x165, script: 0x5a, flags: 0x0}, + 1262: {region: 0x41, script: 0x5a, flags: 0x0}, + 1263: {region: 0x165, script: 0x5a, flags: 0x0}, + 1264: {region: 0x12b, script: 0x18, flags: 0x0}, + 1265: {region: 0x165, script: 0x5a, flags: 0x0}, + 1266: {region: 0x161, script: 0x5a, flags: 0x0}, + 1267: {region: 0x165, script: 0x5a, flags: 0x0}, + 1268: {region: 0x12b, script: 0x62, flags: 0x0}, + 1269: {region: 0x12b, script: 0x63, flags: 0x0}, + 1270: {region: 0x7d, script: 0x2e, flags: 0x0}, + 1271: {region: 0x53, script: 0x67, flags: 0x0}, + 1272: {region: 0x10b, script: 0x6c, flags: 0x0}, + 1273: {region: 0x108, script: 0x77, flags: 0x0}, + 1274: {region: 0x99, script: 0x22, flags: 0x0}, + 1275: {region: 0x131, script: 0x5a, flags: 0x0}, + 1276: {region: 0x165, script: 0x5a, flags: 0x0}, + 1277: {region: 0x9c, script: 0x8e, flags: 0x0}, + 1278: {region: 0x165, script: 0x5a, flags: 0x0}, + 1279: {region: 0x15e, script: 0xc7, flags: 0x0}, + 1280: {region: 0x165, script: 0x5a, flags: 0x0}, + 1281: {region: 0x165, script: 0x5a, flags: 0x0}, + 1282: {region: 0xdb, script: 0x22, flags: 0x0}, + 1283: {region: 0x165, script: 0x5a, flags: 0x0}, + 1284: {region: 0x165, script: 0x5a, flags: 0x0}, + 1285: {region: 0xd1, script: 0x5a, flags: 0x0}, + 1286: {region: 0x75, script: 0x5a, flags: 0x0}, + 1287: {region: 0x165, script: 0x5a, flags: 0x0}, + 1288: {region: 0x165, script: 0x5a, flags: 0x0}, + 1289: {region: 0x52, script: 0x5a, flags: 0x0}, + 1290: {region: 0x165, script: 0x5a, flags: 0x0}, + 1291: {region: 0x165, script: 0x5a, flags: 0x0}, + 1292: {region: 0x165, script: 0x5a, flags: 0x0}, + 1293: {region: 0x52, script: 0x5a, flags: 0x0}, + 1294: {region: 0x165, script: 0x5a, flags: 0x0}, + 1295: {region: 0x165, script: 0x5a, flags: 0x0}, + 1296: {region: 0x165, script: 0x5a, flags: 0x0}, + 1297: {region: 0x165, script: 0x5a, flags: 0x0}, + 1298: {region: 0x1, script: 0x3e, flags: 0x0}, + 1299: {region: 0x165, script: 0x5a, flags: 0x0}, + 1300: {region: 0x165, script: 0x5a, flags: 0x0}, + 1301: {region: 0x165, script: 0x5a, flags: 0x0}, + 1302: {region: 0x165, script: 0x5a, flags: 0x0}, + 1303: {region: 0x165, script: 0x5a, flags: 0x0}, + 1304: {region: 0xd6, script: 0x5a, flags: 0x0}, + 1305: {region: 0x165, script: 0x5a, flags: 0x0}, + 1306: {region: 0x165, script: 0x5a, flags: 0x0}, + 1307: {region: 0x165, script: 0x5a, flags: 0x0}, + 1308: {region: 0x41, script: 0x5a, flags: 0x0}, + 1309: {region: 0x165, script: 0x5a, flags: 0x0}, + 1310: {region: 0xcf, script: 0x5a, flags: 0x0}, + 1311: {region: 0x4a, script: 0x3, flags: 0x1}, + 1312: {region: 0x165, script: 0x5a, flags: 0x0}, + 1313: {region: 0x165, script: 0x5a, flags: 0x0}, + 1314: {region: 0x165, script: 0x5a, flags: 0x0}, + 1315: {region: 0x53, script: 0x5a, flags: 0x0}, + 1316: {region: 0x10b, script: 0x5a, flags: 0x0}, + 1318: {region: 0xa8, script: 0x5, flags: 0x0}, + 1319: {region: 0xd9, script: 0x5a, flags: 0x0}, + 1320: {region: 0xba, script: 0xe3, flags: 0x0}, + 1321: {region: 0x4d, script: 0x14, flags: 0x1}, + 1322: {region: 0x53, script: 0x7d, flags: 0x0}, + 1323: {region: 0x165, script: 0x5a, flags: 0x0}, + 1324: {region: 0x122, script: 0x5a, flags: 0x0}, + 1325: {region: 0xd0, script: 0x5a, flags: 0x0}, + 1326: {region: 0x165, script: 0x5a, flags: 0x0}, + 1327: {region: 0x161, script: 0x5a, flags: 0x0}, + 1329: {region: 0x12b, script: 0x5a, flags: 0x0}, +} + +// likelyLangList holds lists info associated with likelyLang. +// Size: 388 bytes, 97 elements +var likelyLangList = [97]likelyScriptRegion{ + 0: {region: 0x9c, script: 0x7, flags: 0x0}, + 1: {region: 0xa1, script: 0x78, flags: 0x2}, + 2: {region: 0x11c, script: 0x84, flags: 0x2}, + 3: {region: 0x32, script: 0x5a, flags: 0x0}, + 4: {region: 0x9b, script: 0x5, flags: 0x4}, + 5: {region: 0x9c, script: 0x5, flags: 0x4}, + 6: {region: 0x106, script: 0x20, flags: 0x4}, + 7: {region: 0x9c, script: 0x5, flags: 0x2}, + 8: {region: 0x106, script: 0x20, flags: 0x0}, + 9: {region: 0x38, script: 0x2f, flags: 0x2}, + 10: {region: 0x135, script: 0x5a, flags: 0x0}, + 11: {region: 0x7b, script: 0xca, flags: 0x2}, + 12: {region: 0x114, script: 0x5a, flags: 0x0}, + 13: {region: 0x84, script: 0x1, flags: 0x2}, + 14: {region: 0x5d, script: 0x1f, flags: 0x0}, + 15: {region: 0x87, script: 0x5f, flags: 0x2}, + 16: {region: 0xd6, script: 0x5a, flags: 0x0}, + 17: {region: 0x52, script: 0x5, flags: 0x4}, + 18: {region: 0x10b, script: 0x5, flags: 0x4}, + 19: {region: 0xae, script: 0x20, flags: 0x0}, + 20: {region: 0x24, script: 0x5, flags: 0x4}, + 21: {region: 0x53, script: 0x5, flags: 0x4}, + 22: {region: 0x9c, script: 0x5, flags: 0x4}, + 23: {region: 0xc5, script: 0x5, flags: 0x4}, + 24: {region: 0x53, script: 0x5, flags: 0x2}, + 25: {region: 0x12b, script: 0x5a, flags: 0x0}, + 26: {region: 0xb0, script: 0x5, flags: 0x4}, + 27: {region: 0x9b, script: 0x5, flags: 0x2}, + 28: {region: 0xa5, script: 0x20, flags: 0x0}, + 29: {region: 0x53, script: 0x5, flags: 0x4}, + 30: {region: 0x12b, script: 0x5a, flags: 0x4}, + 31: {region: 0x53, script: 0x5, flags: 0x2}, + 32: {region: 0x12b, script: 0x5a, flags: 0x2}, + 33: {region: 0xdb, script: 0x22, flags: 0x0}, + 34: {region: 0x99, script: 0x5d, flags: 0x2}, + 35: {region: 0x83, script: 0x5a, flags: 0x0}, + 36: {region: 0x84, script: 0x7c, flags: 0x4}, + 37: {region: 0x84, script: 0x7c, flags: 0x2}, + 38: {region: 0xc5, script: 0x20, flags: 0x0}, + 39: {region: 0x53, script: 0x70, flags: 0x4}, + 40: {region: 0x53, script: 0x70, flags: 0x2}, + 41: {region: 0xd0, script: 0x5a, flags: 0x0}, + 42: {region: 0x4a, script: 0x5, flags: 0x4}, + 43: {region: 0x95, script: 0x5, flags: 0x4}, + 44: {region: 0x99, script: 0x36, flags: 0x0}, + 45: {region: 0xe8, script: 0x5, flags: 0x4}, + 46: {region: 0xe8, script: 0x5, flags: 0x2}, + 47: {region: 0x9c, script: 0x88, flags: 0x0}, + 48: {region: 0x53, script: 0x89, flags: 0x2}, + 49: {region: 0xba, script: 0xe3, flags: 0x0}, + 50: {region: 0xd9, script: 0x5a, flags: 0x4}, + 51: {region: 0xe8, script: 0x5, flags: 0x0}, + 52: {region: 0x99, script: 0x22, flags: 0x2}, + 53: {region: 0x99, script: 0x4f, flags: 0x2}, + 54: {region: 0x99, script: 0xce, flags: 0x2}, + 55: {region: 0x105, script: 0x20, flags: 0x0}, + 56: {region: 0xbd, script: 0x5a, flags: 0x4}, + 57: {region: 0x104, script: 0x5a, flags: 0x4}, + 58: {region: 0x106, script: 0x5a, flags: 0x4}, + 59: {region: 0x12b, script: 0x5a, flags: 0x4}, + 60: {region: 0x124, script: 0x20, flags: 0x0}, + 61: {region: 0xe8, script: 0x5, flags: 0x4}, + 62: {region: 0xe8, script: 0x5, flags: 0x2}, + 63: {region: 0x53, script: 0x5, flags: 0x0}, + 64: {region: 0xae, script: 0x20, flags: 0x4}, + 65: {region: 0xc5, script: 0x20, flags: 0x4}, + 66: {region: 0xae, script: 0x20, flags: 0x2}, + 67: {region: 0x99, script: 0xe, flags: 0x0}, + 68: {region: 0xdb, script: 0x22, flags: 0x4}, + 69: {region: 0xdb, script: 0x22, flags: 0x2}, + 70: {region: 0x137, script: 0x5a, flags: 0x0}, + 71: {region: 0x24, script: 0x5, flags: 0x4}, + 72: {region: 0x53, script: 0x20, flags: 0x4}, + 73: {region: 0x24, script: 0x5, flags: 0x2}, + 74: {region: 0x8d, script: 0x3c, flags: 0x0}, + 75: {region: 0x53, script: 0x3b, flags: 0x4}, + 76: {region: 0x53, script: 0x3b, flags: 0x2}, + 77: {region: 0x53, script: 0x3b, flags: 0x0}, + 78: {region: 0x2f, script: 0x3c, flags: 0x4}, + 79: {region: 0x3e, script: 0x3c, flags: 0x4}, + 80: {region: 0x7b, script: 0x3c, flags: 0x4}, + 81: {region: 0x7e, script: 0x3c, flags: 0x4}, + 82: {region: 0x8d, script: 0x3c, flags: 0x4}, + 83: {region: 0x95, script: 0x3c, flags: 0x4}, + 84: {region: 0xc6, script: 0x3c, flags: 0x4}, + 85: {region: 0xd0, script: 0x3c, flags: 0x4}, + 86: {region: 0xe2, script: 0x3c, flags: 0x4}, + 87: {region: 0xe5, script: 0x3c, flags: 0x4}, + 88: {region: 0xe7, script: 0x3c, flags: 0x4}, + 89: {region: 0x116, script: 0x3c, flags: 0x4}, + 90: {region: 0x123, script: 0x3c, flags: 0x4}, + 91: {region: 0x12e, script: 0x3c, flags: 0x4}, + 92: {region: 0x135, script: 0x3c, flags: 0x4}, + 93: {region: 0x13e, script: 0x3c, flags: 0x4}, + 94: {region: 0x12e, script: 0x11, flags: 0x2}, + 95: {region: 0x12e, script: 0x37, flags: 0x2}, + 96: {region: 0x12e, script: 0x3c, 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: 1432 bytes, 358 elements +var likelyRegion = [358]likelyLangScript{ + 34: {lang: 0xd7, script: 0x5a, flags: 0x0}, + 35: {lang: 0x3a, script: 0x5, flags: 0x0}, + 36: {lang: 0x0, script: 0x2, flags: 0x1}, + 39: {lang: 0x2, script: 0x2, flags: 0x1}, + 40: {lang: 0x4, script: 0x2, flags: 0x1}, + 42: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 43: {lang: 0x0, script: 0x5a, flags: 0x0}, + 44: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 45: {lang: 0x41b, script: 0x5a, flags: 0x0}, + 46: {lang: 0x10d, script: 0x5a, flags: 0x0}, + 48: {lang: 0x367, script: 0x5a, flags: 0x0}, + 49: {lang: 0x444, script: 0x5a, flags: 0x0}, + 50: {lang: 0x58, script: 0x5a, flags: 0x0}, + 51: {lang: 0x6, script: 0x2, flags: 0x1}, + 53: {lang: 0xa5, script: 0xe, flags: 0x0}, + 54: {lang: 0x367, script: 0x5a, flags: 0x0}, + 55: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 56: {lang: 0x7e, script: 0x20, flags: 0x0}, + 57: {lang: 0x3a, script: 0x5, flags: 0x0}, + 58: {lang: 0x3d9, script: 0x5a, flags: 0x0}, + 59: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 60: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 62: {lang: 0x31f, script: 0x5a, flags: 0x0}, + 63: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 64: {lang: 0x3a1, script: 0x5a, flags: 0x0}, + 65: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 67: {lang: 0x8, script: 0x2, flags: 0x1}, + 69: {lang: 0x0, script: 0x5a, flags: 0x0}, + 71: {lang: 0x71, script: 0x20, flags: 0x0}, + 73: {lang: 0x512, script: 0x3e, flags: 0x2}, + 74: {lang: 0x31f, script: 0x5, flags: 0x2}, + 75: {lang: 0x445, script: 0x5a, flags: 0x0}, + 76: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 77: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 78: {lang: 0x10d, script: 0x5a, flags: 0x0}, + 79: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 81: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 82: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 83: {lang: 0xa, script: 0x4, flags: 0x1}, + 84: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 85: {lang: 0x0, script: 0x5a, flags: 0x0}, + 86: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 89: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 90: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 91: {lang: 0x3a1, script: 0x5a, flags: 0x0}, + 93: {lang: 0xe, script: 0x2, flags: 0x1}, + 94: {lang: 0xfa, script: 0x5a, flags: 0x0}, + 96: {lang: 0x10d, script: 0x5a, flags: 0x0}, + 98: {lang: 0x1, script: 0x5a, flags: 0x0}, + 99: {lang: 0x101, script: 0x5a, flags: 0x0}, + 101: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 103: {lang: 0x10, script: 0x2, flags: 0x1}, + 104: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 105: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 106: {lang: 0x140, script: 0x5a, flags: 0x0}, + 107: {lang: 0x3a, script: 0x5, flags: 0x0}, + 108: {lang: 0x3a, script: 0x5, flags: 0x0}, + 109: {lang: 0x46f, script: 0x2c, flags: 0x0}, + 110: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 111: {lang: 0x12, script: 0x2, flags: 0x1}, + 113: {lang: 0x10d, script: 0x5a, flags: 0x0}, + 114: {lang: 0x151, script: 0x5a, flags: 0x0}, + 115: {lang: 0x1c0, script: 0x22, flags: 0x2}, + 118: {lang: 0x158, script: 0x5a, flags: 0x0}, + 120: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 122: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 123: {lang: 0x14, script: 0x2, flags: 0x1}, + 125: {lang: 0x16, script: 0x3, flags: 0x1}, + 126: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 128: {lang: 0x21, script: 0x5a, flags: 0x0}, + 130: {lang: 0x245, script: 0x5a, flags: 0x0}, + 132: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 133: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 134: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 135: {lang: 0x19, script: 0x2, flags: 0x1}, + 136: {lang: 0x0, script: 0x5a, flags: 0x0}, + 137: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 139: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 141: {lang: 0x529, script: 0x3c, flags: 0x0}, + 142: {lang: 0x0, script: 0x5a, flags: 0x0}, + 143: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 144: {lang: 0x1d1, script: 0x5a, flags: 0x0}, + 145: {lang: 0x1d4, script: 0x5a, flags: 0x0}, + 146: {lang: 0x1d5, script: 0x5a, flags: 0x0}, + 148: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 149: {lang: 0x1b, script: 0x2, flags: 0x1}, + 151: {lang: 0x1bc, script: 0x3e, flags: 0x0}, + 153: {lang: 0x1d, script: 0x3, flags: 0x1}, + 155: {lang: 0x3a, script: 0x5, flags: 0x0}, + 156: {lang: 0x20, script: 0x2, flags: 0x1}, + 157: {lang: 0x1f8, script: 0x5a, flags: 0x0}, + 158: {lang: 0x1f9, script: 0x5a, flags: 0x0}, + 161: {lang: 0x3a, script: 0x5, flags: 0x0}, + 162: {lang: 0x200, script: 0x49, flags: 0x0}, + 164: {lang: 0x445, script: 0x5a, flags: 0x0}, + 165: {lang: 0x28a, script: 0x20, flags: 0x0}, + 166: {lang: 0x22, script: 0x3, flags: 0x1}, + 168: {lang: 0x25, script: 0x2, flags: 0x1}, + 170: {lang: 0x254, script: 0x53, flags: 0x0}, + 171: {lang: 0x254, script: 0x53, flags: 0x0}, + 172: {lang: 0x3a, script: 0x5, flags: 0x0}, + 174: {lang: 0x3e2, script: 0x20, flags: 0x0}, + 175: {lang: 0x27, script: 0x2, flags: 0x1}, + 176: {lang: 0x3a, script: 0x5, flags: 0x0}, + 178: {lang: 0x10d, script: 0x5a, flags: 0x0}, + 179: {lang: 0x40c, script: 0xcf, flags: 0x0}, + 181: {lang: 0x43b, script: 0x5a, flags: 0x0}, + 182: {lang: 0x2c0, script: 0x5a, flags: 0x0}, + 183: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 184: {lang: 0x2c7, script: 0x5a, flags: 0x0}, + 185: {lang: 0x3a, script: 0x5, flags: 0x0}, + 186: {lang: 0x29, script: 0x2, flags: 0x1}, + 187: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 188: {lang: 0x2b, script: 0x2, flags: 0x1}, + 189: {lang: 0x432, script: 0x5a, flags: 0x0}, + 190: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 191: {lang: 0x2f1, script: 0x5a, flags: 0x0}, + 194: {lang: 0x2d, script: 0x2, flags: 0x1}, + 195: {lang: 0xa0, script: 0x5a, flags: 0x0}, + 196: {lang: 0x2f, script: 0x2, flags: 0x1}, + 197: {lang: 0x31, script: 0x2, flags: 0x1}, + 198: {lang: 0x33, script: 0x2, flags: 0x1}, + 200: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 201: {lang: 0x35, script: 0x2, flags: 0x1}, + 203: {lang: 0x320, script: 0x5a, flags: 0x0}, + 204: {lang: 0x37, script: 0x3, flags: 0x1}, + 205: {lang: 0x128, script: 0xe5, flags: 0x0}, + 207: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 208: {lang: 0x31f, script: 0x5a, flags: 0x0}, + 209: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 210: {lang: 0x16, script: 0x5a, flags: 0x0}, + 211: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 212: {lang: 0x1b4, script: 0x5a, flags: 0x0}, + 214: {lang: 0x1b4, script: 0x5, flags: 0x2}, + 216: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 217: {lang: 0x367, script: 0x5a, flags: 0x0}, + 218: {lang: 0x347, script: 0x5a, flags: 0x0}, + 219: {lang: 0x351, script: 0x22, flags: 0x0}, + 225: {lang: 0x3a, script: 0x5, flags: 0x0}, + 226: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 228: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 229: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 230: {lang: 0x486, script: 0x5a, flags: 0x0}, + 231: {lang: 0x153, script: 0x5a, flags: 0x0}, + 232: {lang: 0x3a, script: 0x3, flags: 0x1}, + 233: {lang: 0x3b3, script: 0x5a, flags: 0x0}, + 234: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 236: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 237: {lang: 0x3a, script: 0x5, flags: 0x0}, + 238: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 240: {lang: 0x3a2, script: 0x5a, flags: 0x0}, + 241: {lang: 0x194, script: 0x5a, flags: 0x0}, + 243: {lang: 0x3a, script: 0x5, flags: 0x0}, + 258: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 260: {lang: 0x3d, script: 0x2, flags: 0x1}, + 261: {lang: 0x432, script: 0x20, flags: 0x0}, + 262: {lang: 0x3f, script: 0x2, flags: 0x1}, + 263: {lang: 0x3e5, script: 0x5a, flags: 0x0}, + 264: {lang: 0x3a, script: 0x5, flags: 0x0}, + 266: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 267: {lang: 0x3a, script: 0x5, flags: 0x0}, + 268: {lang: 0x41, script: 0x2, flags: 0x1}, + 271: {lang: 0x416, script: 0x5a, flags: 0x0}, + 272: {lang: 0x347, script: 0x5a, flags: 0x0}, + 273: {lang: 0x43, script: 0x2, flags: 0x1}, + 275: {lang: 0x1f9, script: 0x5a, flags: 0x0}, + 276: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 277: {lang: 0x429, script: 0x5a, flags: 0x0}, + 278: {lang: 0x367, script: 0x5a, flags: 0x0}, + 280: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 282: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 284: {lang: 0x45, script: 0x2, flags: 0x1}, + 288: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 289: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 290: {lang: 0x47, script: 0x2, flags: 0x1}, + 291: {lang: 0x49, script: 0x3, flags: 0x1}, + 292: {lang: 0x4c, script: 0x2, flags: 0x1}, + 293: {lang: 0x477, script: 0x5a, flags: 0x0}, + 294: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 295: {lang: 0x476, script: 0x5a, flags: 0x0}, + 296: {lang: 0x4e, script: 0x2, flags: 0x1}, + 297: {lang: 0x482, script: 0x5a, flags: 0x0}, + 299: {lang: 0x50, script: 0x4, flags: 0x1}, + 301: {lang: 0x4a0, script: 0x5a, flags: 0x0}, + 302: {lang: 0x54, script: 0x2, flags: 0x1}, + 303: {lang: 0x445, script: 0x5a, flags: 0x0}, + 304: {lang: 0x56, script: 0x3, flags: 0x1}, + 305: {lang: 0x445, script: 0x5a, flags: 0x0}, + 309: {lang: 0x512, script: 0x3e, flags: 0x2}, + 310: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 311: {lang: 0x4bc, script: 0x5a, flags: 0x0}, + 312: {lang: 0x1f9, script: 0x5a, flags: 0x0}, + 315: {lang: 0x13e, script: 0x5a, flags: 0x0}, + 318: {lang: 0x4c3, script: 0x5a, flags: 0x0}, + 319: {lang: 0x8a, script: 0x5a, flags: 0x0}, + 320: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 322: {lang: 0x41b, script: 0x5a, flags: 0x0}, + 333: {lang: 0x59, script: 0x2, flags: 0x1}, + 350: {lang: 0x3a, script: 0x5, flags: 0x0}, + 351: {lang: 0x5b, script: 0x2, flags: 0x1}, + 356: {lang: 0x423, script: 0x5a, flags: 0x0}, +} + +// likelyRegionList holds lists info associated with likelyRegion. +// Size: 372 bytes, 93 elements +var likelyRegionList = [93]likelyLangScript{ + 0: {lang: 0x148, script: 0x5, flags: 0x0}, + 1: {lang: 0x476, script: 0x5a, flags: 0x0}, + 2: {lang: 0x431, script: 0x5a, flags: 0x0}, + 3: {lang: 0x2ff, script: 0x20, flags: 0x0}, + 4: {lang: 0x1d7, script: 0x8, flags: 0x0}, + 5: {lang: 0x274, script: 0x5a, flags: 0x0}, + 6: {lang: 0xb7, script: 0x5a, flags: 0x0}, + 7: {lang: 0x432, script: 0x20, flags: 0x0}, + 8: {lang: 0x12d, script: 0xe7, flags: 0x0}, + 9: {lang: 0x351, script: 0x22, flags: 0x0}, + 10: {lang: 0x529, script: 0x3b, flags: 0x0}, + 11: {lang: 0x4ac, script: 0x5, flags: 0x0}, + 12: {lang: 0x523, script: 0x5a, flags: 0x0}, + 13: {lang: 0x29a, script: 0xe6, flags: 0x0}, + 14: {lang: 0x136, script: 0x34, flags: 0x0}, + 15: {lang: 0x48a, script: 0x5a, flags: 0x0}, + 16: {lang: 0x3a, script: 0x5, flags: 0x0}, + 17: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 18: {lang: 0x27, script: 0x2c, flags: 0x0}, + 19: {lang: 0x139, script: 0x5a, flags: 0x0}, + 20: {lang: 0x26a, script: 0x5, flags: 0x2}, + 21: {lang: 0x512, script: 0x3e, flags: 0x2}, + 22: {lang: 0x210, script: 0x2e, flags: 0x0}, + 23: {lang: 0x5, script: 0x20, flags: 0x0}, + 24: {lang: 0x274, script: 0x5a, flags: 0x0}, + 25: {lang: 0x136, script: 0x34, flags: 0x0}, + 26: {lang: 0x2ff, script: 0x20, flags: 0x0}, + 27: {lang: 0x1e1, script: 0x5a, flags: 0x0}, + 28: {lang: 0x31f, script: 0x5, flags: 0x0}, + 29: {lang: 0x1be, script: 0x22, flags: 0x0}, + 30: {lang: 0x4b4, script: 0x5, flags: 0x0}, + 31: {lang: 0x236, script: 0x75, flags: 0x0}, + 32: {lang: 0x148, script: 0x5, flags: 0x0}, + 33: {lang: 0x476, script: 0x5a, flags: 0x0}, + 34: {lang: 0x24a, script: 0x4e, flags: 0x0}, + 35: {lang: 0xe6, script: 0x5, flags: 0x0}, + 36: {lang: 0x226, script: 0xe6, flags: 0x0}, + 37: {lang: 0x3a, script: 0x5, flags: 0x0}, + 38: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 39: {lang: 0x2b8, script: 0x57, flags: 0x0}, + 40: {lang: 0x226, script: 0xe6, flags: 0x0}, + 41: {lang: 0x3a, script: 0x5, flags: 0x0}, + 42: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 43: {lang: 0x3dc, script: 0x5a, flags: 0x0}, + 44: {lang: 0x4ae, script: 0x20, flags: 0x0}, + 45: {lang: 0x2ff, script: 0x20, flags: 0x0}, + 46: {lang: 0x431, script: 0x5a, flags: 0x0}, + 47: {lang: 0x331, script: 0x75, flags: 0x0}, + 48: {lang: 0x213, script: 0x5a, flags: 0x0}, + 49: {lang: 0x30b, script: 0x20, flags: 0x0}, + 50: {lang: 0x242, script: 0x5, flags: 0x0}, + 51: {lang: 0x529, script: 0x3c, flags: 0x0}, + 52: {lang: 0x3c0, script: 0x5a, flags: 0x0}, + 53: {lang: 0x3a, script: 0x5, flags: 0x0}, + 54: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 55: {lang: 0x2ed, script: 0x5a, flags: 0x0}, + 56: {lang: 0x4b4, script: 0x5, flags: 0x0}, + 57: {lang: 0x88, script: 0x22, flags: 0x0}, + 58: {lang: 0x4b4, script: 0x5, flags: 0x0}, + 59: {lang: 0x4b4, script: 0x5, flags: 0x0}, + 60: {lang: 0xbe, script: 0x22, flags: 0x0}, + 61: {lang: 0x3dc, script: 0x5a, flags: 0x0}, + 62: {lang: 0x7e, script: 0x20, flags: 0x0}, + 63: {lang: 0x3e2, script: 0x20, flags: 0x0}, + 64: {lang: 0x267, script: 0x5a, flags: 0x0}, + 65: {lang: 0x444, script: 0x5a, flags: 0x0}, + 66: {lang: 0x512, script: 0x3e, flags: 0x0}, + 67: {lang: 0x412, script: 0x5a, flags: 0x0}, + 68: {lang: 0x4ae, script: 0x20, flags: 0x0}, + 69: {lang: 0x3a, script: 0x5, flags: 0x0}, + 70: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 71: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 72: {lang: 0x35, script: 0x5, flags: 0x0}, + 73: {lang: 0x46b, script: 0xe6, flags: 0x0}, + 74: {lang: 0x2ec, script: 0x5, flags: 0x0}, + 75: {lang: 0x30f, script: 0x75, flags: 0x0}, + 76: {lang: 0x467, script: 0x20, flags: 0x0}, + 77: {lang: 0x148, script: 0x5, flags: 0x0}, + 78: {lang: 0x3a, script: 0x5, flags: 0x0}, + 79: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 80: {lang: 0x48a, script: 0x5a, flags: 0x0}, + 81: {lang: 0x58, script: 0x5, flags: 0x0}, + 82: {lang: 0x219, script: 0x20, flags: 0x0}, + 83: {lang: 0x81, script: 0x34, flags: 0x0}, + 84: {lang: 0x529, script: 0x3c, flags: 0x0}, + 85: {lang: 0x48c, script: 0x5a, flags: 0x0}, + 86: {lang: 0x4ae, script: 0x20, flags: 0x0}, + 87: {lang: 0x512, script: 0x3e, flags: 0x0}, + 88: {lang: 0x3b3, script: 0x5a, flags: 0x0}, + 89: {lang: 0x431, script: 0x5a, flags: 0x0}, + 90: {lang: 0x432, script: 0x20, flags: 0x0}, + 91: {lang: 0x15e, script: 0x5a, flags: 0x0}, + 92: {lang: 0x446, script: 0x5, flags: 0x0}, +} + +type likelyTag struct { + lang uint16 + region uint16 + script uint8 +} + +// Size: 198 bytes, 33 elements +var likelyRegionGroup = [33]likelyTag{ + 1: {lang: 0x139, region: 0xd6, script: 0x5a}, + 2: {lang: 0x139, region: 0x135, script: 0x5a}, + 3: {lang: 0x3c0, region: 0x41, script: 0x5a}, + 4: {lang: 0x139, region: 0x2f, script: 0x5a}, + 5: {lang: 0x139, region: 0xd6, script: 0x5a}, + 6: {lang: 0x13e, region: 0xcf, script: 0x5a}, + 7: {lang: 0x445, region: 0x12f, script: 0x5a}, + 8: {lang: 0x3a, region: 0x6b, script: 0x5}, + 9: {lang: 0x445, region: 0x4b, script: 0x5a}, + 10: {lang: 0x139, region: 0x161, script: 0x5a}, + 11: {lang: 0x139, region: 0x135, script: 0x5a}, + 12: {lang: 0x139, region: 0x135, script: 0x5a}, + 13: {lang: 0x13e, region: 0x59, script: 0x5a}, + 14: {lang: 0x529, region: 0x53, script: 0x3b}, + 15: {lang: 0x1be, region: 0x99, script: 0x22}, + 16: {lang: 0x1e1, region: 0x95, script: 0x5a}, + 17: {lang: 0x1f9, region: 0x9e, script: 0x5a}, + 18: {lang: 0x139, region: 0x2f, script: 0x5a}, + 19: {lang: 0x139, region: 0xe6, script: 0x5a}, + 20: {lang: 0x139, region: 0x8a, script: 0x5a}, + 21: {lang: 0x41b, region: 0x142, script: 0x5a}, + 22: {lang: 0x529, region: 0x53, script: 0x3b}, + 23: {lang: 0x4bc, region: 0x137, script: 0x5a}, + 24: {lang: 0x3a, region: 0x108, script: 0x5}, + 25: {lang: 0x3e2, region: 0x106, script: 0x20}, + 26: {lang: 0x3e2, region: 0x106, script: 0x20}, + 27: {lang: 0x139, region: 0x7b, script: 0x5a}, + 28: {lang: 0x10d, region: 0x60, script: 0x5a}, + 29: {lang: 0x139, region: 0xd6, script: 0x5a}, + 30: {lang: 0x13e, region: 0x1f, script: 0x5a}, + 31: {lang: 0x139, region: 0x9a, script: 0x5a}, + 32: {lang: 0x139, region: 0x7b, script: 0x5a}, +} + +// Size: 264 bytes, 33 elements +var regionContainment = [33]uint64{ + // Entry 0 - 1F + 0x00000001ffffffff, 0x00000000200007a2, 0x0000000000003044, 0x0000000000000008, + 0x00000000803c0010, 0x0000000000000020, 0x0000000000000040, 0x0000000000000080, + 0x0000000000000100, 0x0000000000000200, 0x0000000000000400, 0x000000004000384c, + 0x0000000000001000, 0x0000000000002000, 0x0000000000004000, 0x0000000000008000, + 0x0000000000010000, 0x0000000000020000, 0x0000000000040000, 0x0000000000080000, + 0x0000000000100000, 0x0000000000200000, 0x0000000001c1c000, 0x0000000000800000, + 0x0000000001000000, 0x000000001e020000, 0x0000000004000000, 0x0000000008000000, + 0x0000000010000000, 0x00000000200006a0, 0x0000000040002048, 0x0000000080000000, + // Entry 20 - 3F + 0x0000000100000000, +} + +// 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: 358 bytes, 358 elements +var regionInclusion = [358]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, 0x1e, + 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x26, 0x23, + 0x24, 0x26, 0x27, 0x22, 0x28, 0x29, 0x2a, 0x2b, + 0x26, 0x2c, 0x24, 0x23, 0x26, 0x25, 0x2a, 0x2d, + 0x2e, 0x24, 0x2f, 0x2d, 0x26, 0x30, 0x31, 0x28, + // Entry 40 - 7F + 0x26, 0x28, 0x26, 0x25, 0x31, 0x22, 0x32, 0x33, + 0x34, 0x30, 0x22, 0x27, 0x27, 0x27, 0x35, 0x2d, + 0x29, 0x28, 0x27, 0x36, 0x28, 0x22, 0x34, 0x23, + 0x21, 0x26, 0x2d, 0x26, 0x22, 0x37, 0x2e, 0x35, + 0x2a, 0x22, 0x2f, 0x38, 0x26, 0x26, 0x21, 0x39, + 0x39, 0x28, 0x38, 0x39, 0x39, 0x2f, 0x3a, 0x2f, + 0x20, 0x21, 0x38, 0x3b, 0x28, 0x3c, 0x2c, 0x21, + 0x2a, 0x35, 0x27, 0x38, 0x26, 0x24, 0x28, 0x2c, + // Entry 80 - BF + 0x2d, 0x23, 0x30, 0x2d, 0x2d, 0x26, 0x27, 0x3a, + 0x22, 0x34, 0x3c, 0x2d, 0x28, 0x36, 0x22, 0x34, + 0x3a, 0x26, 0x2e, 0x21, 0x39, 0x31, 0x38, 0x24, + 0x2c, 0x25, 0x22, 0x24, 0x25, 0x2c, 0x3a, 0x2c, + 0x26, 0x24, 0x36, 0x21, 0x2f, 0x3d, 0x31, 0x3c, + 0x2f, 0x26, 0x36, 0x36, 0x24, 0x26, 0x3d, 0x31, + 0x24, 0x26, 0x35, 0x25, 0x2d, 0x32, 0x38, 0x2a, + 0x38, 0x39, 0x39, 0x35, 0x33, 0x23, 0x26, 0x2f, + // Entry C0 - FF + 0x3c, 0x21, 0x23, 0x2d, 0x31, 0x36, 0x36, 0x3c, + 0x26, 0x2d, 0x26, 0x3a, 0x2f, 0x25, 0x2f, 0x34, + 0x31, 0x2f, 0x32, 0x3b, 0x2d, 0x2b, 0x2d, 0x21, + 0x34, 0x2a, 0x2c, 0x25, 0x21, 0x3c, 0x24, 0x29, + 0x2b, 0x24, 0x34, 0x21, 0x28, 0x29, 0x3b, 0x31, + 0x25, 0x2e, 0x30, 0x29, 0x26, 0x24, 0x3a, 0x21, + 0x3c, 0x28, 0x21, 0x24, 0x21, 0x21, 0x1f, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + // Entry 100 - 13F + 0x21, 0x21, 0x2f, 0x21, 0x2e, 0x23, 0x33, 0x2f, + 0x24, 0x3b, 0x2f, 0x39, 0x38, 0x31, 0x2d, 0x3a, + 0x2c, 0x2e, 0x2d, 0x23, 0x2d, 0x2f, 0x28, 0x2f, + 0x27, 0x33, 0x34, 0x26, 0x24, 0x32, 0x22, 0x26, + 0x27, 0x22, 0x2d, 0x31, 0x3d, 0x29, 0x31, 0x3d, + 0x39, 0x29, 0x31, 0x24, 0x26, 0x29, 0x36, 0x2f, + 0x33, 0x2f, 0x21, 0x22, 0x21, 0x30, 0x28, 0x3d, + 0x23, 0x26, 0x21, 0x28, 0x26, 0x26, 0x31, 0x3b, + // Entry 140 - 17F + 0x29, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x24, 0x24, 0x2f, + 0x23, 0x32, 0x2f, 0x27, 0x2f, 0x21, +} + +// 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: 584 bytes, 73 elements +var regionInclusionBits = [73]uint64{ + // Entry 0 - 1F + 0x0000000102400813, 0x00000000200007a3, 0x0000000000003844, 0x0000000040000808, + 0x00000000803c0011, 0x0000000020000022, 0x0000000040000844, 0x0000000020000082, + 0x0000000000000102, 0x0000000020000202, 0x0000000020000402, 0x000000004000384d, + 0x0000000000001804, 0x0000000040002804, 0x0000000000404000, 0x0000000000408000, + 0x0000000000410000, 0x0000000002020000, 0x0000000000040010, 0x0000000000080010, + 0x0000000000100010, 0x0000000000200010, 0x0000000001c1c001, 0x0000000000c00000, + 0x0000000001400000, 0x000000001e020001, 0x0000000006000000, 0x000000000a000000, + 0x0000000012000000, 0x00000000200006a2, 0x0000000040002848, 0x0000000080000010, + // Entry 20 - 3F + 0x0000000100000001, 0x0000000000000001, 0x0000000080000000, 0x0000000000020000, + 0x0000000001000000, 0x0000000000008000, 0x0000000000002000, 0x0000000000000200, + 0x0000000000000008, 0x0000000000200000, 0x0000000110000000, 0x0000000000040000, + 0x0000000008000000, 0x0000000000000020, 0x0000000104000000, 0x0000000000000080, + 0x0000000000001000, 0x0000000000010000, 0x0000000000000400, 0x0000000004000000, + 0x0000000000000040, 0x0000000010000000, 0x0000000000004000, 0x0000000101000000, + 0x0000000108000000, 0x0000000000000100, 0x0000000100020000, 0x0000000000080000, + 0x0000000000100000, 0x0000000000800000, 0x00000001ffffffff, 0x0000000122400fb3, + // Entry 40 - 5F + 0x00000001827c0813, 0x000000014240385f, 0x0000000103c1c813, 0x000000011e420813, + 0x0000000112000001, 0x0000000106000001, 0x0000000101400001, 0x000000010a000001, + 0x0000000102020001, +} + +// regionInclusionNext marks, for each entry in regionInclusionBits, the set of +// all groups that are reachable from the groups set in the respective entry. +// Size: 73 bytes, 73 elements +var regionInclusionNext = [73]uint8{ + // Entry 0 - 3F + 0x3e, 0x3f, 0x0b, 0x0b, 0x40, 0x01, 0x0b, 0x01, + 0x01, 0x01, 0x01, 0x41, 0x0b, 0x0b, 0x16, 0x16, + 0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x42, 0x16, + 0x16, 0x43, 0x19, 0x19, 0x19, 0x01, 0x0b, 0x04, + 0x00, 0x00, 0x1f, 0x11, 0x18, 0x0f, 0x0d, 0x09, + 0x03, 0x15, 0x44, 0x12, 0x1b, 0x05, 0x45, 0x07, + 0x0c, 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x46, + 0x47, 0x08, 0x48, 0x13, 0x14, 0x17, 0x3e, 0x3e, + // Entry 40 - 7F + 0x3e, 0x3e, 0x3e, 0x3e, 0x43, 0x43, 0x42, 0x43, + 0x43, +} + +type parentRel struct { + lang uint16 + script uint8 + maxScript uint8 + toRegion uint16 + fromRegion []uint16 +} + +// Size: 414 bytes, 5 elements +var parents = [5]parentRel{ + 0: {lang: 0x139, script: 0x0, maxScript: 0x5a, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x25, 0x26, 0x2f, 0x34, 0x36, 0x3d, 0x42, 0x46, 0x48, 0x49, 0x4a, 0x50, 0x52, 0x5c, 0x5d, 0x61, 0x64, 0x6d, 0x73, 0x74, 0x75, 0x7b, 0x7c, 0x7f, 0x80, 0x81, 0x83, 0x8c, 0x8d, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9f, 0xa0, 0xa4, 0xa7, 0xa9, 0xad, 0xb1, 0xb4, 0xb5, 0xbf, 0xc6, 0xca, 0xcb, 0xcc, 0xce, 0xd0, 0xd2, 0xd5, 0xd6, 0xdd, 0xdf, 0xe0, 0xe6, 0xe7, 0xe8, 0xeb, 0xf0, 0x107, 0x109, 0x10a, 0x10b, 0x10d, 0x10e, 0x112, 0x117, 0x11b, 0x11d, 0x11f, 0x125, 0x129, 0x12c, 0x12d, 0x12f, 0x131, 0x139, 0x13c, 0x13f, 0x142, 0x161, 0x162, 0x164}}, + 1: {lang: 0x139, script: 0x0, maxScript: 0x5a, toRegion: 0x1a, fromRegion: []uint16{0x2e, 0x4e, 0x60, 0x63, 0x72, 0xd9, 0x10c, 0x10f}}, + 2: {lang: 0x13e, script: 0x0, maxScript: 0x5a, toRegion: 0x1f, fromRegion: []uint16{0x2c, 0x3f, 0x41, 0x48, 0x51, 0x54, 0x56, 0x59, 0x65, 0x69, 0x89, 0x8f, 0xcf, 0xd8, 0xe2, 0xe4, 0xec, 0xf1, 0x11a, 0x135, 0x136, 0x13b}}, + 3: {lang: 0x3c0, script: 0x0, maxScript: 0x5a, toRegion: 0xee, fromRegion: []uint16{0x2a, 0x4e, 0x5a, 0x86, 0x8b, 0xb7, 0xc6, 0xd1, 0x118, 0x126}}, + 4: {lang: 0x529, script: 0x3c, maxScript: 0x3c, toRegion: 0x8d, fromRegion: []uint16{0xc6}}, +} + +// Total table size 26398 bytes (25KiB); checksum: 1C859EA7 diff --git a/vendor/golang.org/x/text/internal/language/tags.go b/vendor/golang.org/x/text/internal/language/tags.go new file mode 100644 index 000000000..e7afd3188 --- /dev/null +++ b/vendor/golang.org/x/text/internal/language/tags.go @@ -0,0 +1,48 @@ +// 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 + +// 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 +} + +// MustParseBase is like ParseBase, but panics if the given base cannot be parsed. +// It simplifies safe initialization of Base values. +func MustParseBase(s string) Language { + 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 +} + +// Und is the root language. +var Und Tag diff --git a/vendor/golang.org/x/text/internal/tag/tag.go b/vendor/golang.org/x/text/internal/tag/tag.go new file mode 100644 index 000000000..b5d348891 --- /dev/null +++ b/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/golang.org/x/text/language/coverage.go b/vendor/golang.org/x/text/language/coverage.go new file mode 100644 index 000000000..a24fd1a4d --- /dev/null +++ b/vendor/golang.org/x/text/language/coverage.go @@ -0,0 +1,187 @@ +// 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" + + "golang.org/x/text/internal/language" +) + +// 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, language.NumRegions) + for i := range reg { + reg[i] = Region{language.Region(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, language.NumScripts) + for i := range scr { + scr[i] = Script{language.Script(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 { + bs := language.BaseLanguages() + base := make([]Base, len(bs)) + for i, b := range bs { + base[i] = Base{b} + } + return base +} + +// Tags always returns nil. +func (s allSubtags) Tags() []Tag { + return nil +} + +// coverage is 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{language.Language(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/golang.org/x/text/language/doc.go b/vendor/golang.org/x/text/language/doc.go new file mode 100644 index 000000000..8afecd50e --- /dev/null +++ b/vendor/golang.org/x/text/language/doc.go @@ -0,0 +1,102 @@ +// 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 language implements BCP 47 language tags and related functionality. +// +// The most important function of package language is to match a list of +// user-preferred languages to a list of supported languages. +// It alleviates the developer of dealing with the complexity of this process +// and provides the user with the best experience +// (see https://blog.golang.org/matchlang). +// +// +// Matching preferred against supported languages +// +// A Matcher for an application that supports English, Australian English, +// Danish, and standard Mandarin can be created 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, +// }) +// +// This list of supported languages is typically implied by the languages for +// which there exists translations of the user interface. +// +// User-preferred languages usually come as a comma-separated list of BCP 47 +// language tags. +// The MatchString finds best matches for such strings: +// +// handler(w http.ResponseWriter, r *http.Request) { +// lang, _ := r.Cookie("lang") +// accept := r.Header.Get("Accept-Language") +// tag, _ := language.MatchStrings(matcher, lang.String(), accept) +// +// // tag should now be used for the initialization of any +// // locale-specific service. +// } +// +// The Matcher's Match method can be used to match Tags directly. +// +// Matchers are aware of the intricacies of equivalence between languages, such +// as deprecated subtags, legacy tags, macro languages, mutual +// intelligibility between scripts and languages, and transparently passing +// BCP 47 user configuration. +// For instance, it will know that a reader of Bokmål Danish can read Norwegian +// and will know that Cantonese ("yue") is a good match for "zh-HK". +// +// +// Using match results +// +// To guarantee a consistent user experience to the user it is important to +// use the same language tag for the selection of any locale-specific services. +// For example, it is utterly confusing to substitute spelled-out numbers +// or dates in one language in text of another language. +// More subtly confusing is using the wrong sorting order or casing +// algorithm for a certain language. +// +// All the packages in x/text that provide locale-specific services +// (e.g. collate, cases) should be initialized with the tag that was +// obtained at the start of an interaction with the user. +// +// Note that Tag that is returned by Match and MatchString may differ from any +// of the supported languages, as it may contain carried over settings from +// the user tags. +// This may be inconvenient when your application has some additional +// locale-specific data for your supported languages. +// Match and MatchString both return the index of the matched supported tag +// to simplify associating such data with the matched tag. +// +// +// Canonicalization +// +// If one uses the Matcher to compare languages one does not need to +// worry about canonicalization. +// +// The meaning of a Tag varies per application. The language package +// therefore delays canonicalization and preserves information as much +// as possible. The Matcher, however, will always take into account that +// two different tags may represent the same language. +// +// 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 +// Matcher handles such distinctions, though, and is 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: explanation on how to match languages for your own locale-specific +// service. diff --git a/vendor/golang.org/x/text/language/go1_1.go b/vendor/golang.org/x/text/language/go1_1.go new file mode 100644 index 000000000..c7435583b --- /dev/null +++ b/vendor/golang.org/x/text/language/go1_1.go @@ -0,0 +1,39 @@ +// 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:build !go1.2 +// +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/golang.org/x/text/language/go1_2.go b/vendor/golang.org/x/text/language/go1_2.go new file mode 100644 index 000000000..77aaaa299 --- /dev/null +++ b/vendor/golang.org/x/text/language/go1_2.go @@ -0,0 +1,12 @@ +// 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:build go1.2 +// +build go1.2 + +package language + +import "sort" + +var sortStable = sort.Stable diff --git a/vendor/golang.org/x/text/language/language.go b/vendor/golang.org/x/text/language/language.go new file mode 100644 index 000000000..289b3a36d --- /dev/null +++ b/vendor/golang.org/x/text/language/language.go @@ -0,0 +1,605 @@ +// 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 -output tables.go + +package language + +// TODO: Remove above NOTE after: +// - verifying that tables are dropped correctly (most notably matcher tables). + +import ( + "strings" + + "golang.org/x/text/internal/language" + "golang.org/x/text/internal/language/compact" +) + +// 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 compact.Tag + +func makeTag(t language.Tag) (tag Tag) { + return Tag(compact.Make(t)) +} + +func (t *Tag) tag() language.Tag { + return (*compact.Tag)(t).Tag() +} + +func (t *Tag) isCompact() bool { + return (*compact.Tag)(t).IsCompact() +} + +// TODO: improve performance. +func (t *Tag) lang() language.Language { return t.tag().LangID } +func (t *Tag) region() language.Region { return t.tag().RegionID } +func (t *Tag) script() language.Script { return t.tag().ScriptID } + +// 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) { + tt := t.tag() + return Base{tt.LangID}, Script{tt.ScriptID}, Region{tt.RegionID} +} + +// IsRoot returns true if t is equal to language "und". +func (t Tag) IsRoot() bool { + return compact.Tag(t).IsRoot() +} + +// 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 canonicalize(c CanonType, t language.Tag) (language.Tag, bool) { + if c == Raw { + return t, false + } + changed := false + if c&SuppressScript != 0 { + if t.LangID.SuppressScript() == t.ScriptID { + t.ScriptID = 0 + changed = true + } + } + if c&canonLang != 0 { + for { + if l, aliasType := t.LangID.Canonicalize(); l != t.LangID { + switch aliasType { + case language.Legacy: + if c&Legacy != 0 { + if t.LangID == _sh && t.ScriptID == 0 { + t.ScriptID = _Latn + } + t.LangID = l + changed = true + } + case language.Macro: + 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 https://unicode.org/cldr/trac/ticket/2698 and also + // https://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.LangID != _nb { + changed = true + t.LangID = l + } + } + case language.Deprecated: + if c&DeprecatedBase != 0 { + if t.LangID == _mo && t.RegionID == 0 { + t.RegionID = _MD + } + t.LangID = l + changed = true + // Other canonicalization types may still apply. + continue + } + } + } else if c&Legacy != 0 && t.LangID == _no && c&CLDR != 0 { + t.LangID = _nb + changed = true + } + break + } + } + if c&DeprecatedScript != 0 { + if t.ScriptID == _Qaai { + changed = true + t.ScriptID = _Zinh + } + } + if c&DeprecatedRegion != 0 { + if r := t.RegionID.Canonicalize(); r != t.RegionID { + changed = true + t.RegionID = r + } + } + return t, changed +} + +// Canonicalize returns the canonicalized equivalent of the tag. +func (c CanonType) Canonicalize(t Tag) (Tag, error) { + // First try fast path. + if t.isCompact() { + if _, changed := canonicalize(c, compact.Tag(t).Tag()); !changed { + return t, nil + } + } + // It is unlikely that one will canonicalize a tag after matching. So do + // a slow but simple approach here. + if tag, changed := canonicalize(c, t.tag()); changed { + tag.RemakeString() + return makeTag(tag), nil + } + 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] +} + +// String returns the canonical string representation of the language tag. +func (t Tag) String() string { + return t.tag().String() +} + +// MarshalText implements encoding.TextMarshaler. +func (t Tag) MarshalText() (text []byte, err error) { + return t.tag().MarshalText() +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (t *Tag) UnmarshalText(text []byte) error { + var tag language.Tag + err := tag.UnmarshalText(text) + *t = makeTag(tag) + return err +} + +// 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 b := t.lang(); b != 0 { + return Base{b}, Exact + } + tt := t.tag() + c := High + if tt.ScriptID == 0 && !tt.RegionID.IsCountry() { + c = Low + } + if tag, err := tt.Maximize(); err == nil && tag.LangID != 0 { + return Base{tag.LangID}, 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 https://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 scr := t.script(); scr != 0 { + return Script{scr}, Exact + } + tt := t.tag() + sc, c := language.Script(_Zzzz), No + if scr := tt.LangID.SuppressScript(); 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 tt.RegionID == 0 { + return Script{scr}, High + } + sc, c = scr, High + } + if tag, err := tt.Maximize(); err == nil { + if tag.ScriptID != sc { + sc, c = tag.ScriptID, Low + } + } else { + tt, _ = canonicalize(Deprecated|Macro, tt) + if tag, err := tt.Maximize(); err == nil && tag.ScriptID != sc { + sc, c = tag.ScriptID, 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 r := t.region(); r != 0 { + return Region{r}, Exact + } + tt := t.tag() + if tt, err := tt.Maximize(); err == nil { + return Region{tt.RegionID}, Low // TODO: differentiate between high and low. + } + tt, _ = canonicalize(Deprecated|Macro, tt) + if tag, err := tt.Maximize(); err == nil { + return Region{tag.RegionID}, Low + } + return Region{_ZZ}, No // TODO: return world instead of undetermined? +} + +// Variants returns the variants specified explicitly for this language tag. +// or nil if no variant was specified. +func (t Tag) Variants() []Variant { + if !compact.Tag(t).MayHaveVariants() { + return nil + } + v := []Variant{} + x, str := "", t.tag().Variants() + for 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. +// +// Parent returns a tag for a less specific language that is mutually +// intelligible or Und if there is no such language. This may not be the same as +// simply stripping the last BCP 47 subtag. For instance, the parent of "zh-TW" +// is "zh-Hant", and the parent of "zh-Hant" is "und". +func (t Tag) Parent() Tag { + return Tag(compact.Tag(t).Parent()) +} + +// 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) { + ext, err := language.ParseExtension(s) + return Extension{ext}, err +} + +// 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) { + if !compact.Tag(t).MayHaveExtensions() { + return Extension{}, false + } + e, ok := t.tag().Extension(x) + return Extension{e}, ok +} + +// Extensions returns all extensions of t. +func (t Tag) Extensions() []Extension { + if !compact.Tag(t).MayHaveExtensions() { + return nil + } + e := []Extension{} + for _, ext := range t.tag().Extensions() { + 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 +// https://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. +// TypeForKey will traverse the inheritance chain to get the correct value. +// +// If there are multiple types associated with a key, only the first will be +// returned. If there is no type associated with a key, it returns the empty +// string. +func (t Tag) TypeForKey(key string) string { + if !compact.Tag(t).MayHaveExtensions() { + if key != "rg" && key != "va" { + return "" + } + } + return t.tag().TypeForKey(key) +} + +// 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 +// https://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) { + tt, err := t.tag().SetTypeForKey(key, value) + return makeTag(tt), err +} + +// NumCompactTags is the number of compact tags. The maximum tag is +// NumCompactTags-1. +const NumCompactTags = compact.NumCompactTags + +// 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. If t does not match a compact +// index, exact will be false and the compact index will be returned for the +// first match after repeatedly taking the Parent of t. +func CompactIndex(t Tag) (index int, exact bool) { + id, exact := compact.LanguageID(compact.Tag(t)) + return int(id), exact +} + +var root = language.Tag{} + +// Base is an ISO 639 language code, used for encoding the base language +// of a language tag. +type Base struct { + langID language.Language +} + +// 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) { + l, err := language.ParseBase(s) + return Base{l}, err +} + +// String returns the BCP 47 representation of the base language. +func (b Base) String() string { + return b.langID.String() +} + +// ISO3 returns the ISO 639-3 language code. +func (b Base) ISO3() string { + return b.langID.ISO3() +} + +// IsPrivateUse reports whether this language code is reserved for private use. +func (b Base) IsPrivateUse() bool { + return b.langID.IsPrivateUse() +} + +// Script is a 4-letter ISO 15924 code for representing scripts. +// It is idiomatically represented in title case. +type Script struct { + scriptID language.Script +} + +// 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) { + sc, err := language.ParseScript(s) + return Script{sc}, err +} + +// String returns the script code in title case. +// It returns "Zzzz" for an unspecified script. +func (s Script) String() string { + return s.scriptID.String() +} + +// IsPrivateUse reports whether this script code is reserved for private use. +func (s Script) IsPrivateUse() bool { + return s.scriptID.IsPrivateUse() +} + +// Region is an ISO 3166-1 or UN M.49 code for representing countries and regions. +type Region struct { + regionID language.Region +} + +// 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 := language.EncodeM49(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) { + r, err := language.ParseRegion(s) + return Region{r}, err +} + +// String returns the BCP 47 representation for the region. +// It returns "ZZ" for an unspecified region. +func (r Region) String() string { + return r.regionID.String() +} + +// 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 Region) ISO3() string { + return r.regionID.ISO3() +} + +// M49 returns the UN M.49 encoding of r, or 0 if this encoding +// is not defined for r. +func (r Region) M49() int { + return r.regionID.M49() +} + +// 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 Region) IsPrivateUse() bool { + return r.regionID.IsPrivateUse() +} + +// IsCountry returns whether this region is a country or autonomous area. This +// includes non-standard definitions from CLDR. +func (r Region) IsCountry() bool { + return r.regionID.IsCountry() +} + +// IsGroup returns whether this region defines a collection of regions. This +// includes non-standard definitions from CLDR. +func (r Region) IsGroup() bool { + return r.regionID.IsGroup() +} + +// 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) +} + +// 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) { + tld, err := r.regionID.TLD() + return Region{tld}, err +} + +// 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 { + return Region{r.regionID.Canonicalize()} +} + +// 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) { + v, err := language.ParseVariant(s) + return Variant{v.String()}, err +} + +// String returns the string representation of the variant. +func (v Variant) String() string { + return v.variant +} diff --git a/vendor/golang.org/x/text/language/match.go b/vendor/golang.org/x/text/language/match.go new file mode 100644 index 000000000..f73492134 --- /dev/null +++ b/vendor/golang.org/x/text/language/match.go @@ -0,0 +1,735 @@ +// 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" + "strings" + + "golang.org/x/text/internal/language" +) + +// 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 } +} + +// TODO(v1.0.0): consider making Matcher a concrete type, instead of interface. +// There doesn't seem to be too much need for multiple types. +// Making it a concrete type allows MatchStrings to be a method, which will +// improve its discoverability. + +// MatchStrings parses and matches the given strings until one of them matches +// the language in the Matcher. A string may be an Accept-Language header as +// handled by ParseAcceptLanguage. The default language is returned if no +// other language matched. +func MatchStrings(m Matcher, lang ...string) (tag Tag, index int) { + for _, accept := range lang { + desired, _, err := ParseAcceptLanguage(accept) + if err != nil { + continue + } + if tag, index, conf := m.Match(desired...); conf != No { + return tag, index + } + } + tag, index, _ = m.Match() + return +} + +// 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) { + var tt language.Tag + match, w, c := m.getBest(want...) + if match != nil { + tt, index = match.tag, match.index + } else { + // TODO: this should be an option + tt = 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 { + tt, index = h.tag, i + break outer + } + } + } + } + // TODO: select first language tag based on script. + } + if w.RegionID != tt.RegionID && w.RegionID != 0 { + if w.RegionID != 0 && tt.RegionID != 0 && tt.RegionID.Contains(w.RegionID) { + tt.RegionID = w.RegionID + tt.RemakeString() + } else if r := w.RegionID.String(); len(r) == 2 { + // TODO: also filter macro and deprecated. + tt, _ = tt.SetTypeForKey("rg", strings.ToLower(r)+"zzzz") + } + } + // 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-. + if e := w.Extensions(); len(e) > 0 { + b := language.Builder{} + b.SetTag(tt) + for _, e := range e { + b.AddExt(e) + } + tt = b.Make() + } + return makeTag(tt), index, c +} + +// ErrMissingLikelyTagsData indicates no information was available +// to compute likely values of missing tags. +var ErrMissingLikelyTagsData = errors.New("missing likely tags data") + +// func (t *Tag) setTagsFrom(id Tag) { +// t.LangID = id.LangID +// t.ScriptID = id.ScriptID +// t.RegionID = id.RegionID +// } + +// 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 https://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 Exact and pin is true the result will be +// frozen to the language found thusfar, although better matches may +// still be found for the same language. +// 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: +// [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[language.Language]*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 { + haveTags []*haveTag + original bool +} + +// 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 language.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 language.Region + maxScript language.Script + + // 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 language.Script + + // nextMax is the index of the next haveTag with the same maximized tags. + nextMax uint16 +} + +func makeHaveTag(tag language.Tag, index int) (haveTag, language.Language) { + max := tag + if tag.LangID != 0 || tag.RegionID != 0 || tag.ScriptID != 0 { + max, _ = canonicalize(All, max) + max, _ = max.Maximize() + max.RemakeString() + } + return haveTag{tag, index, Exact, max.RegionID, max.ScriptID, altScript(max.LangID, max.ScriptID), 0}, max.LangID +} + +// 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 language.Language, s language.Script) language.Script { + for _, alt := range matchScript { + // TODO: also match cases where language is not the same. + if (language.Language(alt.wantLang) == l || language.Language(alt.haveLang) == l) && + language.Script(alt.haveScript) == s { + return language.Script(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) { + h.original = h.original || exact + // Don't add new exact matches. + for _, v := range h.haveTags { + if equalsRest(v.tag, n.tag) { + return + } + } + // Allow duplicate maximized tags, but create a linked list to allow quickly + // comparing the equivalents and bail out. + for i, v := range h.haveTags { + if v.maxScript == n.maxScript && + v.maxRegion == n.maxRegion && + v.tag.VariantOrPrivateUseTags() == n.tag.VariantOrPrivateUseTags() { + for h.haveTags[i].nextMax != 0 { + i = int(h.haveTags[i].nextMax) + } + h.haveTags[i].nextMax = uint16(len(h.haveTags)) + break + } + } + h.haveTags = append(h.haveTags, &n) +} + +// header returns the matchHeader for the given language. It creates one if +// it doesn't already exist. +func (m *matcher) header(l language.Language) *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[language.Language]*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 { + tt := tag.tag() + pair, _ := makeHaveTag(tt, i) + m.header(tt.LangID).addIfNew(pair, true) + m.supported = append(m.supported, &pair) + } + m.default_ = m.header(supported[0].lang()).haveTags[0] + // Keep these in two different loops to support the case that two equivalent + // languages are distinguished, such as iw and he. + for i, tag := range supported { + tt := tag.tag() + pair, max := makeHaveTag(tt, i) + if max != tt.LangID { + m.header(max).addIfNew(pair, true) + } + } + + // update is used to add indexes in the map for equivalent languages. + // update will only add entries to original indexes, thus not computing any + // transitive relations. + update := func(want, have uint16, conf Confidence) { + if hh := m.index[language.Language(have)]; hh != nil { + if !hh.original { + return + } + hw := m.header(language.Language(want)) + for _, ht := range hh.haveTags { + 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(language.Language(want), v.maxScript) + } + hw.addIfNew(v, conf == Exact && hh.original) + } + } + } + + // 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)) + if !ml.oneway { + update(ml.have, ml.want, toConf(ml.distance)) + } + } + + // 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 language.AliasMap { + // If deprecated codes match and there is no fiddling with the script or + // or region, we consider it an exact match. + conf := Exact + if language.AliasTypes[i] != language.Macro { + if !isExactEquivalent(language.Language(lm.From)) { + conf = High + } + update(lm.To, lm.From, conf) + } + update(lm.From, lm.To, conf) + } + 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 language.Tag, c Confidence) { + best := bestMatch{} + for i, ww := range want { + w := ww.tag() + var max language.Tag + // Check for exact match first. + h := m.index[w.LangID] + if w.LangID != 0 { + if h == nil { + continue + } + // Base language is defined. + max, _ = canonicalize(Legacy|Deprecated|Macro, w) + // A region that is added through canonicalization is stronger than + // a maximized region: set it in the original (e.g. mo -> ro-MD). + if w.RegionID != max.RegionID { + w.RegionID = max.RegionID + } + // TODO: should we do the same for scripts? + // See test case: en, sr, nl ; sh ; sr + max, _ = max.Maximize() + } else { + // Base language is not defined. + if h != nil { + for i := range h.haveTags { + have := h.haveTags[i] + if equalsRest(have.tag, w) { + return have, w, Exact + } + } + } + if w.ScriptID == 0 && w.RegionID == 0 { + // We skip all tags matching und for approximate matching, including + // private tags. + continue + } + max, _ = w.Maximize() + if h = m.index[max.LangID]; h == nil { + continue + } + } + pin := true + for _, t := range want[i+1:] { + if w.LangID == t.lang() { + pin = false + break + } + } + // Check for match based on maximized tag. + for i := range h.haveTags { + have := h.haveTags[i] + best.update(have, w, max.ScriptID, max.RegionID, pin) + if best.conf == Exact { + for have.nextMax != 0 { + have = h.haveTags[have.nextMax] + best.update(have, w, max.ScriptID, max.RegionID, pin) + } + return best.have, best.want, best.conf + } + } + } + if best.conf <= No { + if len(want) != 0 { + return nil, want[0].tag(), No + } + return nil, language.Tag{}, No + } + return best.have, best.want, best.conf +} + +// bestMatch accumulates the best match so far. +type bestMatch struct { + have *haveTag + want language.Tag + conf Confidence + pinnedRegion language.Region + pinLanguage bool + sameRegionGroup bool + // Cached results from applying tie-breaking rules. + origLang bool + origReg bool + paradigmReg bool + regGroupDist uint8 + origScript bool +} + +// 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. +// +// If pin is true and have and tag are a strong match, it will henceforth only +// consider matches for this language. This corresponds to the nothing that most +// users have a strong preference for the first defined language. A user can +// still prefer a second language over a dialect of the preferred language by +// explicitly specifying dialects, e.g. "en, nl, en-GB". In this case pin should +// be false. +func (m *bestMatch) update(have *haveTag, tag language.Tag, maxScript language.Script, maxRegion language.Region, pin bool) { + // Bail if the maximum attainable confidence is below that of the current best match. + c := have.conf + if c < m.conf { + return + } + // Don't change the language once we already have found an exact match. + if m.pinLanguage && tag.LangID != m.want.LangID { + return + } + // Pin the region group if we are comparing tags for the same language. + if tag.LangID == m.want.LangID && m.sameRegionGroup { + _, sameGroup := regionGroupDist(m.pinnedRegion, have.maxRegion, have.maxScript, m.want.LangID) + if !sameGroup { + return + } + } + if c == Exact && have.maxScript == maxScript { + // If there is another language and then another entry of this language, + // don't pin anything, otherwise pin the language. + m.pinLanguage = pin + } + if equalsRest(have.tag, tag) { + } else 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 { + if High < c { + // There is usually a small difference between languages across regions. + 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.LangID == tag.LangID && tag.LangID != 0 + if !beaten && m.origLang != origLang { + if m.origLang { + return + } + beaten = true + } + + // We prefer if the pre-maximized region was specified and identical. + origReg := have.tag.RegionID == tag.RegionID && tag.RegionID != 0 + if !beaten && m.origReg != origReg { + if m.origReg { + return + } + beaten = true + } + + regGroupDist, sameGroup := regionGroupDist(have.maxRegion, maxRegion, maxScript, tag.LangID) + if !beaten && m.regGroupDist != regGroupDist { + if regGroupDist > m.regGroupDist { + return + } + beaten = true + } + + paradigmReg := isParadigmLocale(tag.LangID, have.maxRegion) + if !beaten && m.paradigmReg != paradigmReg { + if !paradigmReg { + return + } + beaten = true + } + + // Next we prefer if the pre-maximized script was specified and identical. + origScript := have.tag.ScriptID == tag.ScriptID && tag.ScriptID != 0 + if !beaten && m.origScript != origScript { + if m.origScript { + return + } + beaten = true + } + + // Update m to the newly found best match. + if beaten { + m.have = have + m.want = tag + m.conf = c + m.pinnedRegion = maxRegion + m.sameRegionGroup = sameGroup + m.origLang = origLang + m.origReg = origReg + m.paradigmReg = paradigmReg + m.origScript = origScript + m.regGroupDist = regGroupDist + } +} + +func isParadigmLocale(lang language.Language, r language.Region) bool { + for _, e := range paradigmLocales { + if language.Language(e[0]) == lang && (r == language.Region(e[1]) || r == language.Region(e[2])) { + return true + } + } + return false +} + +// regionGroupDist computes the distance between two regions based on their +// CLDR grouping. +func regionGroupDist(a, b language.Region, script language.Script, lang language.Language) (dist uint8, same bool) { + const defaultDistance = 4 + + aGroup := uint(regionToGroups[a]) << 1 + bGroup := uint(regionToGroups[b]) << 1 + for _, ri := range matchRegion { + if language.Language(ri.lang) == lang && (ri.script == 0 || language.Script(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, ri.distance == defaultDistance + } + } else { + if (aGroup|bGroup)&group == 0 { // Both regions are not in the group. + return ri.distance, ri.distance == defaultDistance + } + } + } + } + return defaultDistance, true +} + +// equalsRest compares everything except the language. +func equalsRest(a, b language.Tag) bool { + // TODO: don't include extensions in this comparison. To do this efficiently, + // though, we should handle private tags separately. + return a.ScriptID == b.ScriptID && a.RegionID == b.RegionID && a.VariantOrPrivateUseTags() == b.VariantOrPrivateUseTags() +} + +// isExactEquivalent returns true if canonicalizing the language will not alter +// the script or region of a tag. +func isExactEquivalent(l language.Language) bool { + for _, o := range notEquivalent { + if o == l { + return false + } + } + return true +} + +var notEquivalent []language.Language + +func init() { + // Create a list of all languages for which canonicalization may alter the + // script or region. + for _, lm := range language.AliasMap { + tag := language.Tag{LangID: language.Language(lm.From)} + if tag, _ = canonicalize(All, tag); tag.ScriptID != 0 || tag.RegionID != 0 { + notEquivalent = append(notEquivalent, language.Language(lm.From)) + } + } + // Maximize undefined regions of paradigm locales. + for i, v := range paradigmLocales { + t := language.Tag{LangID: language.Language(v[0])} + max, _ := t.Maximize() + if v[1] == 0 { + paradigmLocales[i][1] = uint16(max.RegionID) + } + if v[2] == 0 { + paradigmLocales[i][2] = uint16(max.RegionID) + } + } +} diff --git a/vendor/golang.org/x/text/language/parse.go b/vendor/golang.org/x/text/language/parse.go new file mode 100644 index 000000000..11acfd885 --- /dev/null +++ b/vendor/golang.org/x/text/language/parse.go @@ -0,0 +1,228 @@ +// 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" + "strconv" + "strings" + + "golang.org/x/text/internal/language" +) + +// 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 interface { + error + + // Subtag returns the subtag for which the error occurred. + Subtag() string +} + +// 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 +// https://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 +// https://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. +// The resulting tag is canonicalized using the canonicalization type c. +func (c CanonType) Parse(s string) (t Tag, err error) { + tt, err := language.Parse(s) + if err != nil { + return makeTag(tt), err + } + tt, changed := canonicalize(c, tt) + if changed { + tt.RemakeString() + } + return makeTag(tt), err +} + +// 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. For -u extensions, though, the key-type pairs are +// added, where later values overwrite older ones. 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. For -u extensions, though, the key-type pairs are +// added, where later values overwrite older ones. 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 language.Builder + if err = update(&b, part...); err != nil { + return und, err + } + b.Tag, _ = canonicalize(c, b.Tag) + return makeTag(b.Make()), err +} + +var errInvalidArgument = errors.New("invalid Extension or Variant") + +func update(b *language.Builder, part ...interface{}) (err error) { + for _, x := range part { + switch v := x.(type) { + case Tag: + b.SetTag(v.tag()) + case Base: + b.Tag.LangID = v.langID + case Script: + b.Tag.ScriptID = v.scriptID + case Region: + b.Tag.RegionID = v.regionID + case Variant: + if v.variant == "" { + err = errInvalidArgument + break + } + b.AddVariant(v.variant) + case Extension: + if v.s == "" { + err = errInvalidArgument + break + } + b.SetExt(v.s) + case []Variant: + b.ClearVariants() + for _, v := range v { + b.AddVariant(v.variant) + } + case []Extension: + b.ClearExtensions() + for _, e := range v { + b.SetExt(e.s) + } + // TODO: support parsing of raw strings based on morphology or just extensions? + case error: + if v != nil { + err = v + } + } + } + return +} + +var errInvalidWeight = errors.New("ParseAcceptLanguage: invalid weight") + +// ParseAcceptLanguage parses the contents of an 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 = makeTag(language.Tag{LangID: 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 occur +// in Accept-Language (with reasonable frequency). +var acceptFallback = map[string]language.Language{ + "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/golang.org/x/text/language/tables.go b/vendor/golang.org/x/text/language/tables.go new file mode 100644 index 000000000..96b57f610 --- /dev/null +++ b/vendor/golang.org/x/text/language/tables.go @@ -0,0 +1,298 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package language + +// CLDRVersion is the CLDR version from which the tables in this package are derived. +const CLDRVersion = "32" + +const ( + _de = 269 + _en = 313 + _fr = 350 + _it = 505 + _mo = 784 + _no = 879 + _nb = 839 + _pt = 960 + _sh = 1031 + _mul = 806 + _und = 0 +) +const ( + _001 = 1 + _419 = 31 + _BR = 65 + _CA = 73 + _ES = 110 + _GB = 123 + _MD = 188 + _PT = 238 + _UK = 306 + _US = 309 + _ZZ = 357 + _XA = 323 + _XC = 325 + _XK = 333 +) +const ( + _Latn = 90 + _Hani = 57 + _Hans = 59 + _Hant = 60 + _Qaaa = 143 + _Qaai = 151 + _Qabx = 192 + _Zinh = 245 + _Zyyy = 250 + _Zzzz = 251 +) + +var regionToGroups = []uint8{ // 358 elements + // 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, 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, + // Entry 40 - 7F + 0x04, 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, + // Entry 80 - BF + 0x00, 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, + // Entry C0 - FF + 0x01, 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, + // Entry 100 - 13F + 0x00, 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, + // 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, 0x00, +} // Size: 382 bytes + +var paradigmLocales = [][3]uint16{ // 3 elements + 0: [3]uint16{0x139, 0x0, 0x7b}, + 1: [3]uint16{0x13e, 0x0, 0x1f}, + 2: [3]uint16{0x3c0, 0x41, 0xee}, +} // Size: 42 bytes + +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. +var matchLang = []mutualIntelligibility{ // 113 elements + 0: {want: 0x1d1, have: 0xb7, distance: 0x4, oneway: false}, + 1: {want: 0x407, have: 0xb7, distance: 0x4, oneway: false}, + 2: {want: 0x407, have: 0x1d1, distance: 0x4, oneway: false}, + 3: {want: 0x407, have: 0x432, distance: 0x4, oneway: false}, + 4: {want: 0x43a, have: 0x1, distance: 0x4, oneway: false}, + 5: {want: 0x1a3, have: 0x10d, distance: 0x4, oneway: true}, + 6: {want: 0x295, have: 0x10d, distance: 0x4, oneway: true}, + 7: {want: 0x101, have: 0x36f, distance: 0x8, oneway: false}, + 8: {want: 0x101, have: 0x347, distance: 0x8, oneway: false}, + 9: {want: 0x5, have: 0x3e2, distance: 0xa, oneway: true}, + 10: {want: 0xd, have: 0x139, distance: 0xa, oneway: true}, + 11: {want: 0x16, have: 0x367, distance: 0xa, oneway: true}, + 12: {want: 0x21, have: 0x139, distance: 0xa, oneway: true}, + 13: {want: 0x56, have: 0x13e, distance: 0xa, oneway: true}, + 14: {want: 0x58, have: 0x3e2, distance: 0xa, oneway: true}, + 15: {want: 0x71, have: 0x3e2, distance: 0xa, oneway: true}, + 16: {want: 0x75, have: 0x139, distance: 0xa, oneway: true}, + 17: {want: 0x82, have: 0x1be, distance: 0xa, oneway: true}, + 18: {want: 0xa5, have: 0x139, distance: 0xa, oneway: true}, + 19: {want: 0xb2, have: 0x15e, distance: 0xa, oneway: true}, + 20: {want: 0xdd, have: 0x153, distance: 0xa, oneway: true}, + 21: {want: 0xe5, have: 0x139, distance: 0xa, oneway: true}, + 22: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true}, + 23: {want: 0xf0, have: 0x15e, distance: 0xa, oneway: true}, + 24: {want: 0xf9, have: 0x15e, distance: 0xa, oneway: true}, + 25: {want: 0x100, have: 0x139, distance: 0xa, oneway: true}, + 26: {want: 0x130, have: 0x139, distance: 0xa, oneway: true}, + 27: {want: 0x13c, have: 0x139, distance: 0xa, oneway: true}, + 28: {want: 0x140, have: 0x151, distance: 0xa, oneway: true}, + 29: {want: 0x145, have: 0x13e, distance: 0xa, oneway: true}, + 30: {want: 0x158, have: 0x101, distance: 0xa, oneway: true}, + 31: {want: 0x16d, have: 0x367, distance: 0xa, oneway: true}, + 32: {want: 0x16e, have: 0x139, distance: 0xa, oneway: true}, + 33: {want: 0x16f, have: 0x139, distance: 0xa, oneway: true}, + 34: {want: 0x17e, have: 0x139, distance: 0xa, oneway: true}, + 35: {want: 0x190, have: 0x13e, distance: 0xa, oneway: true}, + 36: {want: 0x194, have: 0x13e, distance: 0xa, oneway: true}, + 37: {want: 0x1a4, have: 0x1be, distance: 0xa, oneway: true}, + 38: {want: 0x1b4, have: 0x139, distance: 0xa, oneway: true}, + 39: {want: 0x1b8, have: 0x139, distance: 0xa, oneway: true}, + 40: {want: 0x1d4, have: 0x15e, distance: 0xa, oneway: true}, + 41: {want: 0x1d7, have: 0x3e2, distance: 0xa, oneway: true}, + 42: {want: 0x1d9, have: 0x139, distance: 0xa, oneway: true}, + 43: {want: 0x1e7, have: 0x139, distance: 0xa, oneway: true}, + 44: {want: 0x1f8, have: 0x139, distance: 0xa, oneway: true}, + 45: {want: 0x20e, have: 0x1e1, distance: 0xa, oneway: true}, + 46: {want: 0x210, have: 0x139, distance: 0xa, oneway: true}, + 47: {want: 0x22d, have: 0x15e, distance: 0xa, oneway: true}, + 48: {want: 0x242, have: 0x3e2, distance: 0xa, oneway: true}, + 49: {want: 0x24a, have: 0x139, distance: 0xa, oneway: true}, + 50: {want: 0x251, have: 0x139, distance: 0xa, oneway: true}, + 51: {want: 0x265, have: 0x139, distance: 0xa, oneway: true}, + 52: {want: 0x274, have: 0x48a, distance: 0xa, oneway: true}, + 53: {want: 0x28a, have: 0x3e2, distance: 0xa, oneway: true}, + 54: {want: 0x28e, have: 0x1f9, distance: 0xa, oneway: true}, + 55: {want: 0x2a3, have: 0x139, distance: 0xa, oneway: true}, + 56: {want: 0x2b5, have: 0x15e, distance: 0xa, oneway: true}, + 57: {want: 0x2b8, have: 0x139, distance: 0xa, oneway: true}, + 58: {want: 0x2be, have: 0x139, distance: 0xa, oneway: true}, + 59: {want: 0x2c3, have: 0x15e, distance: 0xa, oneway: true}, + 60: {want: 0x2ed, have: 0x139, distance: 0xa, oneway: true}, + 61: {want: 0x2f1, have: 0x15e, distance: 0xa, oneway: true}, + 62: {want: 0x2fa, have: 0x139, distance: 0xa, oneway: true}, + 63: {want: 0x2ff, have: 0x7e, distance: 0xa, oneway: true}, + 64: {want: 0x304, have: 0x139, distance: 0xa, oneway: true}, + 65: {want: 0x30b, have: 0x3e2, distance: 0xa, oneway: true}, + 66: {want: 0x31b, have: 0x1be, distance: 0xa, oneway: true}, + 67: {want: 0x31f, have: 0x1e1, distance: 0xa, oneway: true}, + 68: {want: 0x320, have: 0x139, distance: 0xa, oneway: true}, + 69: {want: 0x331, have: 0x139, distance: 0xa, oneway: true}, + 70: {want: 0x351, have: 0x139, distance: 0xa, oneway: true}, + 71: {want: 0x36a, have: 0x347, distance: 0xa, oneway: false}, + 72: {want: 0x36a, have: 0x36f, distance: 0xa, oneway: true}, + 73: {want: 0x37a, have: 0x139, distance: 0xa, oneway: true}, + 74: {want: 0x387, have: 0x139, distance: 0xa, oneway: true}, + 75: {want: 0x389, have: 0x139, distance: 0xa, oneway: true}, + 76: {want: 0x38b, have: 0x15e, distance: 0xa, oneway: true}, + 77: {want: 0x390, have: 0x139, distance: 0xa, oneway: true}, + 78: {want: 0x395, have: 0x139, distance: 0xa, oneway: true}, + 79: {want: 0x39d, have: 0x139, distance: 0xa, oneway: true}, + 80: {want: 0x3a5, have: 0x139, distance: 0xa, oneway: true}, + 81: {want: 0x3be, have: 0x139, distance: 0xa, oneway: true}, + 82: {want: 0x3c4, have: 0x13e, distance: 0xa, oneway: true}, + 83: {want: 0x3d4, have: 0x10d, distance: 0xa, oneway: true}, + 84: {want: 0x3d9, have: 0x139, distance: 0xa, oneway: true}, + 85: {want: 0x3e5, have: 0x15e, distance: 0xa, oneway: true}, + 86: {want: 0x3e9, have: 0x1be, distance: 0xa, oneway: true}, + 87: {want: 0x3fa, have: 0x139, distance: 0xa, oneway: true}, + 88: {want: 0x40c, have: 0x139, distance: 0xa, oneway: true}, + 89: {want: 0x423, have: 0x139, distance: 0xa, oneway: true}, + 90: {want: 0x429, have: 0x139, distance: 0xa, oneway: true}, + 91: {want: 0x431, have: 0x139, distance: 0xa, oneway: true}, + 92: {want: 0x43b, have: 0x139, distance: 0xa, oneway: true}, + 93: {want: 0x43e, have: 0x1e1, distance: 0xa, oneway: true}, + 94: {want: 0x445, have: 0x139, distance: 0xa, oneway: true}, + 95: {want: 0x450, have: 0x139, distance: 0xa, oneway: true}, + 96: {want: 0x461, have: 0x139, distance: 0xa, oneway: true}, + 97: {want: 0x467, have: 0x3e2, distance: 0xa, oneway: true}, + 98: {want: 0x46f, have: 0x139, distance: 0xa, oneway: true}, + 99: {want: 0x476, have: 0x3e2, distance: 0xa, oneway: true}, + 100: {want: 0x3883, have: 0x139, distance: 0xa, oneway: true}, + 101: {want: 0x480, have: 0x139, distance: 0xa, oneway: true}, + 102: {want: 0x482, have: 0x139, distance: 0xa, oneway: true}, + 103: {want: 0x494, have: 0x3e2, distance: 0xa, oneway: true}, + 104: {want: 0x49d, have: 0x139, distance: 0xa, oneway: true}, + 105: {want: 0x4ac, have: 0x529, distance: 0xa, oneway: true}, + 106: {want: 0x4b4, have: 0x139, distance: 0xa, oneway: true}, + 107: {want: 0x4bc, have: 0x3e2, distance: 0xa, oneway: true}, + 108: {want: 0x4e5, have: 0x15e, distance: 0xa, oneway: true}, + 109: {want: 0x4f2, have: 0x139, distance: 0xa, oneway: true}, + 110: {want: 0x512, have: 0x139, distance: 0xa, oneway: true}, + 111: {want: 0x518, have: 0x139, distance: 0xa, oneway: true}, + 112: {want: 0x52f, have: 0x139, distance: 0xa, oneway: true}, +} // Size: 702 bytes + +// matchScript holds pairs of scriptIDs where readers of one script +// can typically also read the other. Each is associated with a confidence. +var matchScript = []scriptIntelligibility{ // 26 elements + 0: {wantLang: 0x432, haveLang: 0x432, wantScript: 0x5a, haveScript: 0x20, distance: 0x5}, + 1: {wantLang: 0x432, haveLang: 0x432, wantScript: 0x20, haveScript: 0x5a, distance: 0x5}, + 2: {wantLang: 0x58, haveLang: 0x3e2, wantScript: 0x5a, haveScript: 0x20, distance: 0xa}, + 3: {wantLang: 0xa5, haveLang: 0x139, wantScript: 0xe, haveScript: 0x5a, distance: 0xa}, + 4: {wantLang: 0x1d7, haveLang: 0x3e2, wantScript: 0x8, haveScript: 0x20, distance: 0xa}, + 5: {wantLang: 0x210, haveLang: 0x139, wantScript: 0x2e, haveScript: 0x5a, distance: 0xa}, + 6: {wantLang: 0x24a, haveLang: 0x139, wantScript: 0x4e, haveScript: 0x5a, distance: 0xa}, + 7: {wantLang: 0x251, haveLang: 0x139, wantScript: 0x52, haveScript: 0x5a, distance: 0xa}, + 8: {wantLang: 0x2b8, haveLang: 0x139, wantScript: 0x57, haveScript: 0x5a, distance: 0xa}, + 9: {wantLang: 0x304, haveLang: 0x139, wantScript: 0x6e, haveScript: 0x5a, distance: 0xa}, + 10: {wantLang: 0x331, haveLang: 0x139, wantScript: 0x75, haveScript: 0x5a, distance: 0xa}, + 11: {wantLang: 0x351, haveLang: 0x139, wantScript: 0x22, haveScript: 0x5a, distance: 0xa}, + 12: {wantLang: 0x395, haveLang: 0x139, wantScript: 0x81, haveScript: 0x5a, distance: 0xa}, + 13: {wantLang: 0x39d, haveLang: 0x139, wantScript: 0x36, haveScript: 0x5a, distance: 0xa}, + 14: {wantLang: 0x3be, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5a, distance: 0xa}, + 15: {wantLang: 0x3fa, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5a, distance: 0xa}, + 16: {wantLang: 0x40c, haveLang: 0x139, wantScript: 0xcf, haveScript: 0x5a, distance: 0xa}, + 17: {wantLang: 0x450, haveLang: 0x139, wantScript: 0xde, haveScript: 0x5a, distance: 0xa}, + 18: {wantLang: 0x461, haveLang: 0x139, wantScript: 0xe1, haveScript: 0x5a, distance: 0xa}, + 19: {wantLang: 0x46f, haveLang: 0x139, wantScript: 0x2c, haveScript: 0x5a, distance: 0xa}, + 20: {wantLang: 0x476, haveLang: 0x3e2, wantScript: 0x5a, haveScript: 0x20, distance: 0xa}, + 21: {wantLang: 0x4b4, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5a, distance: 0xa}, + 22: {wantLang: 0x4bc, haveLang: 0x3e2, wantScript: 0x5a, haveScript: 0x20, distance: 0xa}, + 23: {wantLang: 0x512, haveLang: 0x139, wantScript: 0x3e, haveScript: 0x5a, distance: 0xa}, + 24: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x3b, haveScript: 0x3c, distance: 0xf}, + 25: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x3c, haveScript: 0x3b, distance: 0x13}, +} // Size: 232 bytes + +var matchRegion = []regionIntelligibility{ // 15 elements + 0: {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4}, + 1: {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4}, + 2: {lang: 0x139, script: 0x0, group: 0x1, distance: 0x4}, + 3: {lang: 0x139, script: 0x0, group: 0x81, distance: 0x4}, + 4: {lang: 0x13e, script: 0x0, group: 0x3, distance: 0x4}, + 5: {lang: 0x13e, script: 0x0, group: 0x83, distance: 0x4}, + 6: {lang: 0x3c0, script: 0x0, group: 0x3, distance: 0x4}, + 7: {lang: 0x3c0, script: 0x0, group: 0x83, distance: 0x4}, + 8: {lang: 0x529, script: 0x3c, group: 0x2, distance: 0x4}, + 9: {lang: 0x529, script: 0x3c, group: 0x82, distance: 0x4}, + 10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5}, + 11: {lang: 0x139, script: 0x0, group: 0x80, distance: 0x5}, + 12: {lang: 0x13e, script: 0x0, group: 0x80, distance: 0x5}, + 13: {lang: 0x3c0, script: 0x0, group: 0x80, distance: 0x5}, + 14: {lang: 0x529, script: 0x3c, group: 0x80, distance: 0x5}, +} // Size: 114 bytes + +// Total table size 1472 bytes (1KiB); checksum: F86C669 diff --git a/vendor/golang.org/x/text/language/tags.go b/vendor/golang.org/x/text/language/tags.go new file mode 100644 index 000000000..42ea79266 --- /dev/null +++ b/vendor/golang.org/x/text/language/tags.go @@ -0,0 +1,145 @@ +// 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 "golang.org/x/text/internal/language/compact" + +// 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(compact.Afrikaans) + Amharic Tag = Tag(compact.Amharic) + Arabic Tag = Tag(compact.Arabic) + ModernStandardArabic Tag = Tag(compact.ModernStandardArabic) + Azerbaijani Tag = Tag(compact.Azerbaijani) + Bulgarian Tag = Tag(compact.Bulgarian) + Bengali Tag = Tag(compact.Bengali) + Catalan Tag = Tag(compact.Catalan) + Czech Tag = Tag(compact.Czech) + Danish Tag = Tag(compact.Danish) + German Tag = Tag(compact.German) + Greek Tag = Tag(compact.Greek) + English Tag = Tag(compact.English) + AmericanEnglish Tag = Tag(compact.AmericanEnglish) + BritishEnglish Tag = Tag(compact.BritishEnglish) + Spanish Tag = Tag(compact.Spanish) + EuropeanSpanish Tag = Tag(compact.EuropeanSpanish) + LatinAmericanSpanish Tag = Tag(compact.LatinAmericanSpanish) + Estonian Tag = Tag(compact.Estonian) + Persian Tag = Tag(compact.Persian) + Finnish Tag = Tag(compact.Finnish) + Filipino Tag = Tag(compact.Filipino) + French Tag = Tag(compact.French) + CanadianFrench Tag = Tag(compact.CanadianFrench) + Gujarati Tag = Tag(compact.Gujarati) + Hebrew Tag = Tag(compact.Hebrew) + Hindi Tag = Tag(compact.Hindi) + Croatian Tag = Tag(compact.Croatian) + Hungarian Tag = Tag(compact.Hungarian) + Armenian Tag = Tag(compact.Armenian) + Indonesian Tag = Tag(compact.Indonesian) + Icelandic Tag = Tag(compact.Icelandic) + Italian Tag = Tag(compact.Italian) + Japanese Tag = Tag(compact.Japanese) + Georgian Tag = Tag(compact.Georgian) + Kazakh Tag = Tag(compact.Kazakh) + Khmer Tag = Tag(compact.Khmer) + Kannada Tag = Tag(compact.Kannada) + Korean Tag = Tag(compact.Korean) + Kirghiz Tag = Tag(compact.Kirghiz) + Lao Tag = Tag(compact.Lao) + Lithuanian Tag = Tag(compact.Lithuanian) + Latvian Tag = Tag(compact.Latvian) + Macedonian Tag = Tag(compact.Macedonian) + Malayalam Tag = Tag(compact.Malayalam) + Mongolian Tag = Tag(compact.Mongolian) + Marathi Tag = Tag(compact.Marathi) + Malay Tag = Tag(compact.Malay) + Burmese Tag = Tag(compact.Burmese) + Nepali Tag = Tag(compact.Nepali) + Dutch Tag = Tag(compact.Dutch) + Norwegian Tag = Tag(compact.Norwegian) + Punjabi Tag = Tag(compact.Punjabi) + Polish Tag = Tag(compact.Polish) + Portuguese Tag = Tag(compact.Portuguese) + BrazilianPortuguese Tag = Tag(compact.BrazilianPortuguese) + EuropeanPortuguese Tag = Tag(compact.EuropeanPortuguese) + Romanian Tag = Tag(compact.Romanian) + Russian Tag = Tag(compact.Russian) + Sinhala Tag = Tag(compact.Sinhala) + Slovak Tag = Tag(compact.Slovak) + Slovenian Tag = Tag(compact.Slovenian) + Albanian Tag = Tag(compact.Albanian) + Serbian Tag = Tag(compact.Serbian) + SerbianLatin Tag = Tag(compact.SerbianLatin) + Swedish Tag = Tag(compact.Swedish) + Swahili Tag = Tag(compact.Swahili) + Tamil Tag = Tag(compact.Tamil) + Telugu Tag = Tag(compact.Telugu) + Thai Tag = Tag(compact.Thai) + Turkish Tag = Tag(compact.Turkish) + Ukrainian Tag = Tag(compact.Ukrainian) + Urdu Tag = Tag(compact.Urdu) + Uzbek Tag = Tag(compact.Uzbek) + Vietnamese Tag = Tag(compact.Vietnamese) + Chinese Tag = Tag(compact.Chinese) + SimplifiedChinese Tag = Tag(compact.SimplifiedChinese) + TraditionalChinese Tag = Tag(compact.TraditionalChinese) + Zulu Tag = Tag(compact.Zulu) +) diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule.go b/vendor/golang.org/x/text/secure/bidirule/bidirule.go new file mode 100644 index 000000000..e2b70f76c --- /dev/null +++ b/vendor/golang.org/x/text/secure/bidirule/bidirule.go @@ -0,0 +1,336 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package bidirule implements the Bidi Rule defined by RFC 5893. +// +// This package is under development. The API may change without notice and +// without preserving backward compatibility. +package bidirule + +import ( + "errors" + "unicode/utf8" + + "golang.org/x/text/transform" + "golang.org/x/text/unicode/bidi" +) + +// This file contains an implementation of RFC 5893: Right-to-Left Scripts for +// Internationalized Domain Names for Applications (IDNA) +// +// A label is an individual component of a domain name. Labels are usually +// shown separated by dots; for example, the domain name "www.example.com" is +// composed of three labels: "www", "example", and "com". +// +// An RTL label is a label that contains at least one character of class R, AL, +// or AN. An LTR label is any label that is not an RTL label. +// +// A "Bidi domain name" is a domain name that contains at least one RTL label. +// +// The following guarantees can be made based on the above: +// +// o In a domain name consisting of only labels that satisfy the rule, +// the requirements of Section 3 are satisfied. Note that even LTR +// labels and pure ASCII labels have to be tested. +// +// o In a domain name consisting of only LDH labels (as defined in the +// Definitions document [RFC5890]) and labels that satisfy the rule, +// the requirements of Section 3 are satisfied as long as a label +// that starts with an ASCII digit does not come after a +// right-to-left label. +// +// No guarantee is given for other combinations. + +// ErrInvalid indicates a label is invalid according to the Bidi Rule. +var ErrInvalid = errors.New("bidirule: failed Bidi Rule") + +type ruleState uint8 + +const ( + ruleInitial ruleState = iota + ruleLTR + ruleLTRFinal + ruleRTL + ruleRTLFinal + ruleInvalid +) + +type ruleTransition struct { + next ruleState + mask uint16 +} + +var transitions = [...][2]ruleTransition{ + // [2.1] The first character must be a character with Bidi property L, R, or + // AL. If it has the R or AL property, it is an RTL label; if it has the L + // property, it is an LTR label. + ruleInitial: { + {ruleLTRFinal, 1 << bidi.L}, + {ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL}, + }, + ruleRTL: { + // [2.3] In an RTL label, the end of the label must be a character with + // Bidi property R, AL, EN, or AN, followed by zero or more characters + // with Bidi property NSM. + {ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL | 1<<bidi.EN | 1<<bidi.AN}, + + // [2.2] In an RTL label, only characters with the Bidi properties R, + // AL, AN, EN, ES, CS, ET, ON, BN, or NSM are allowed. + // We exclude the entries from [2.3] + {ruleRTL, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN | 1<<bidi.NSM}, + }, + ruleRTLFinal: { + // [2.3] In an RTL label, the end of the label must be a character with + // Bidi property R, AL, EN, or AN, followed by zero or more characters + // with Bidi property NSM. + {ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL | 1<<bidi.EN | 1<<bidi.AN | 1<<bidi.NSM}, + + // [2.2] In an RTL label, only characters with the Bidi properties R, + // AL, AN, EN, ES, CS, ET, ON, BN, or NSM are allowed. + // We exclude the entries from [2.3] and NSM. + {ruleRTL, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN}, + }, + ruleLTR: { + // [2.6] In an LTR label, the end of the label must be a character with + // Bidi property L or EN, followed by zero or more characters with Bidi + // property NSM. + {ruleLTRFinal, 1<<bidi.L | 1<<bidi.EN}, + + // [2.5] In an LTR label, only characters with the Bidi properties L, + // EN, ES, CS, ET, ON, BN, or NSM are allowed. + // We exclude the entries from [2.6]. + {ruleLTR, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN | 1<<bidi.NSM}, + }, + ruleLTRFinal: { + // [2.6] In an LTR label, the end of the label must be a character with + // Bidi property L or EN, followed by zero or more characters with Bidi + // property NSM. + {ruleLTRFinal, 1<<bidi.L | 1<<bidi.EN | 1<<bidi.NSM}, + + // [2.5] In an LTR label, only characters with the Bidi properties L, + // EN, ES, CS, ET, ON, BN, or NSM are allowed. + // We exclude the entries from [2.6]. + {ruleLTR, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN}, + }, + ruleInvalid: { + {ruleInvalid, 0}, + {ruleInvalid, 0}, + }, +} + +// [2.4] In an RTL label, if an EN is present, no AN may be present, and +// vice versa. +const exclusiveRTL = uint16(1<<bidi.EN | 1<<bidi.AN) + +// From RFC 5893 +// An RTL label is a label that contains at least one character of type +// R, AL, or AN. +// +// An LTR label is any label that is not an RTL label. + +// Direction reports the direction of the given label as defined by RFC 5893. +// The Bidi Rule does not have to be applied to labels of the category +// LeftToRight. +func Direction(b []byte) bidi.Direction { + for i := 0; i < len(b); { + e, sz := bidi.Lookup(b[i:]) + if sz == 0 { + i++ + } + c := e.Class() + if c == bidi.R || c == bidi.AL || c == bidi.AN { + return bidi.RightToLeft + } + i += sz + } + return bidi.LeftToRight +} + +// DirectionString reports the direction of the given label as defined by RFC +// 5893. The Bidi Rule does not have to be applied to labels of the category +// LeftToRight. +func DirectionString(s string) bidi.Direction { + for i := 0; i < len(s); { + e, sz := bidi.LookupString(s[i:]) + if sz == 0 { + i++ + continue + } + c := e.Class() + if c == bidi.R || c == bidi.AL || c == bidi.AN { + return bidi.RightToLeft + } + i += sz + } + return bidi.LeftToRight +} + +// Valid reports whether b conforms to the BiDi rule. +func Valid(b []byte) bool { + var t Transformer + if n, ok := t.advance(b); !ok || n < len(b) { + return false + } + return t.isFinal() +} + +// ValidString reports whether s conforms to the BiDi rule. +func ValidString(s string) bool { + var t Transformer + if n, ok := t.advanceString(s); !ok || n < len(s) { + return false + } + return t.isFinal() +} + +// New returns a Transformer that verifies that input adheres to the Bidi Rule. +func New() *Transformer { + return &Transformer{} +} + +// Transformer implements transform.Transform. +type Transformer struct { + state ruleState + hasRTL bool + seen uint16 +} + +// A rule can only be violated for "Bidi Domain names", meaning if one of the +// following categories has been observed. +func (t *Transformer) isRTL() bool { + const isRTL = 1<<bidi.R | 1<<bidi.AL | 1<<bidi.AN + return t.seen&isRTL != 0 +} + +// Reset implements transform.Transformer. +func (t *Transformer) Reset() { *t = Transformer{} } + +// Transform implements transform.Transformer. This Transformer has state and +// needs to be reset between uses. +func (t *Transformer) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + if len(dst) < len(src) { + src = src[:len(dst)] + atEOF = false + err = transform.ErrShortDst + } + n, err1 := t.Span(src, atEOF) + copy(dst, src[:n]) + if err == nil || err1 != nil && err1 != transform.ErrShortSrc { + err = err1 + } + return n, n, err +} + +// Span returns the first n bytes of src that conform to the Bidi rule. +func (t *Transformer) Span(src []byte, atEOF bool) (n int, err error) { + if t.state == ruleInvalid && t.isRTL() { + return 0, ErrInvalid + } + n, ok := t.advance(src) + switch { + case !ok: + err = ErrInvalid + case n < len(src): + if !atEOF { + err = transform.ErrShortSrc + break + } + err = ErrInvalid + case !t.isFinal(): + err = ErrInvalid + } + return n, err +} + +// Precomputing the ASCII values decreases running time for the ASCII fast path +// by about 30%. +var asciiTable [128]bidi.Properties + +func init() { + for i := range asciiTable { + p, _ := bidi.LookupRune(rune(i)) + asciiTable[i] = p + } +} + +func (t *Transformer) advance(s []byte) (n int, ok bool) { + var e bidi.Properties + var sz int + for n < len(s) { + if s[n] < utf8.RuneSelf { + e, sz = asciiTable[s[n]], 1 + } else { + e, sz = bidi.Lookup(s[n:]) + if sz <= 1 { + if sz == 1 { + // We always consider invalid UTF-8 to be invalid, even if + // the string has not yet been determined to be RTL. + // TODO: is this correct? + return n, false + } + return n, true // incomplete UTF-8 encoding + } + } + // TODO: using CompactClass would result in noticeable speedup. + // See unicode/bidi/prop.go:Properties.CompactClass. + c := uint16(1 << e.Class()) + t.seen |= c + if t.seen&exclusiveRTL == exclusiveRTL { + t.state = ruleInvalid + return n, false + } + switch tr := transitions[t.state]; { + case tr[0].mask&c != 0: + t.state = tr[0].next + case tr[1].mask&c != 0: + t.state = tr[1].next + default: + t.state = ruleInvalid + if t.isRTL() { + return n, false + } + } + n += sz + } + return n, true +} + +func (t *Transformer) advanceString(s string) (n int, ok bool) { + var e bidi.Properties + var sz int + for n < len(s) { + if s[n] < utf8.RuneSelf { + e, sz = asciiTable[s[n]], 1 + } else { + e, sz = bidi.LookupString(s[n:]) + if sz <= 1 { + if sz == 1 { + return n, false // invalid UTF-8 + } + return n, true // incomplete UTF-8 encoding + } + } + // TODO: using CompactClass results in noticeable speedup. + // See unicode/bidi/prop.go:Properties.CompactClass. + c := uint16(1 << e.Class()) + t.seen |= c + if t.seen&exclusiveRTL == exclusiveRTL { + t.state = ruleInvalid + return n, false + } + switch tr := transitions[t.state]; { + case tr[0].mask&c != 0: + t.state = tr[0].next + case tr[1].mask&c != 0: + t.state = tr[1].next + default: + t.state = ruleInvalid + if t.isRTL() { + return n, false + } + } + n += sz + } + return n, true +} diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go b/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go new file mode 100644 index 000000000..8a7392c4a --- /dev/null +++ b/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go @@ -0,0 +1,12 @@ +// 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. + +//go:build go1.10 +// +build go1.10 + +package bidirule + +func (t *Transformer) isFinal() bool { + return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial +} diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go b/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go new file mode 100644 index 000000000..bb0a92001 --- /dev/null +++ b/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.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. + +//go:build !go1.10 +// +build !go1.10 + +package bidirule + +func (t *Transformer) isFinal() bool { + if !t.isRTL() { + return true + } + return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial +} diff --git a/vendor/golang.org/x/text/transform/transform.go b/vendor/golang.org/x/text/transform/transform.go new file mode 100644 index 000000000..48ec64b40 --- /dev/null +++ b/vendor/golang.org/x/text/transform/transform.go @@ -0,0 +1,709 @@ +// 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 transform provides reader and writer wrappers that transform the +// bytes passing through as well as various transformations. Example +// transformations provided by other packages include normalization and +// conversion between character sets. +package transform // import "golang.org/x/text/transform" + +import ( + "bytes" + "errors" + "io" + "unicode/utf8" +) + +var ( + // ErrShortDst means that the destination buffer was too short to + // receive all of the transformed bytes. + ErrShortDst = errors.New("transform: short destination buffer") + + // ErrShortSrc means that the source buffer has insufficient data to + // complete the transformation. + ErrShortSrc = errors.New("transform: short source buffer") + + // ErrEndOfSpan means that the input and output (the transformed input) + // are not identical. + ErrEndOfSpan = errors.New("transform: input and output are not identical") + + // errInconsistentByteCount means that Transform returned success (nil + // error) but also returned nSrc inconsistent with the src argument. + errInconsistentByteCount = errors.New("transform: inconsistent byte count returned") + + // errShortInternal means that an internal buffer is not large enough + // to make progress and the Transform operation must be aborted. + errShortInternal = errors.New("transform: short internal buffer") +) + +// Transformer transforms bytes. +type Transformer interface { + // Transform writes to dst the transformed bytes read from src, and + // returns the number of dst bytes written and src bytes read. The + // atEOF argument tells whether src represents the last bytes of the + // input. + // + // Callers should always process the nDst bytes produced and account + // for the nSrc bytes consumed before considering the error err. + // + // A nil error means that all of the transformed bytes (whether freshly + // transformed from src or left over from previous Transform calls) + // were written to dst. A nil error can be returned regardless of + // whether atEOF is true. If err is nil then nSrc must equal len(src); + // the converse is not necessarily true. + // + // ErrShortDst means that dst was too short to receive all of the + // transformed bytes. ErrShortSrc means that src had insufficient data + // to complete the transformation. If both conditions apply, then + // either error may be returned. Other than the error conditions listed + // here, implementations are free to report other errors that arise. + Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) + + // Reset resets the state and allows a Transformer to be reused. + Reset() +} + +// SpanningTransformer extends the Transformer interface with a Span method +// that determines how much of the input already conforms to the Transformer. +type SpanningTransformer interface { + Transformer + + // Span returns a position in src such that transforming src[:n] results in + // identical output src[:n] for these bytes. It does not necessarily return + // the largest such n. The atEOF argument tells whether src represents the + // last bytes of the input. + // + // Callers should always account for the n bytes consumed before + // considering the error err. + // + // A nil error means that all input bytes are known to be identical to the + // output produced by the Transformer. A nil error can be returned + // regardless of whether atEOF is true. If err is nil, then n must + // equal len(src); the converse is not necessarily true. + // + // ErrEndOfSpan means that the Transformer output may differ from the + // input after n bytes. Note that n may be len(src), meaning that the output + // would contain additional bytes after otherwise identical output. + // ErrShortSrc means that src had insufficient data to determine whether the + // remaining bytes would change. Other than the error conditions listed + // here, implementations are free to report other errors that arise. + // + // Calling Span can modify the Transformer state as a side effect. In + // effect, it does the transformation just as calling Transform would, only + // without copying to a destination buffer and only up to a point it can + // determine the input and output bytes are the same. This is obviously more + // limited than calling Transform, but can be more efficient in terms of + // copying and allocating buffers. Calls to Span and Transform may be + // interleaved. + Span(src []byte, atEOF bool) (n int, err error) +} + +// NopResetter can be embedded by implementations of Transformer to add a nop +// Reset method. +type NopResetter struct{} + +// Reset implements the Reset method of the Transformer interface. +func (NopResetter) Reset() {} + +// Reader wraps another io.Reader by transforming the bytes read. +type Reader struct { + r io.Reader + t Transformer + err error + + // dst[dst0:dst1] contains bytes that have been transformed by t but + // not yet copied out via Read. + dst []byte + dst0, dst1 int + + // src[src0:src1] contains bytes that have been read from r but not + // yet transformed through t. + src []byte + src0, src1 int + + // transformComplete is whether the transformation is complete, + // regardless of whether or not it was successful. + transformComplete bool +} + +const defaultBufSize = 4096 + +// NewReader returns a new Reader that wraps r by transforming the bytes read +// via t. It calls Reset on t. +func NewReader(r io.Reader, t Transformer) *Reader { + t.Reset() + return &Reader{ + r: r, + t: t, + dst: make([]byte, defaultBufSize), + src: make([]byte, defaultBufSize), + } +} + +// Read implements the io.Reader interface. +func (r *Reader) Read(p []byte) (int, error) { + n, err := 0, error(nil) + for { + // Copy out any transformed bytes and return the final error if we are done. + if r.dst0 != r.dst1 { + n = copy(p, r.dst[r.dst0:r.dst1]) + r.dst0 += n + if r.dst0 == r.dst1 && r.transformComplete { + return n, r.err + } + return n, nil + } else if r.transformComplete { + return 0, r.err + } + + // Try to transform some source bytes, or to flush the transformer if we + // are out of source bytes. We do this even if r.r.Read returned an error. + // As the io.Reader documentation says, "process the n > 0 bytes returned + // before considering the error". + if r.src0 != r.src1 || r.err != nil { + r.dst0 = 0 + r.dst1, n, err = r.t.Transform(r.dst, r.src[r.src0:r.src1], r.err == io.EOF) + r.src0 += n + + switch { + case err == nil: + if r.src0 != r.src1 { + r.err = errInconsistentByteCount + } + // The Transform call was successful; we are complete if we + // cannot read more bytes into src. + r.transformComplete = r.err != nil + continue + case err == ErrShortDst && (r.dst1 != 0 || n != 0): + // Make room in dst by copying out, and try again. + continue + case err == ErrShortSrc && r.src1-r.src0 != len(r.src) && r.err == nil: + // Read more bytes into src via the code below, and try again. + default: + r.transformComplete = true + // The reader error (r.err) takes precedence over the + // transformer error (err) unless r.err is nil or io.EOF. + if r.err == nil || r.err == io.EOF { + r.err = err + } + continue + } + } + + // Move any untransformed source bytes to the start of the buffer + // and read more bytes. + if r.src0 != 0 { + r.src0, r.src1 = 0, copy(r.src, r.src[r.src0:r.src1]) + } + n, r.err = r.r.Read(r.src[r.src1:]) + r.src1 += n + } +} + +// TODO: implement ReadByte (and ReadRune??). + +// Writer wraps another io.Writer by transforming the bytes read. +// The user needs to call Close to flush unwritten bytes that may +// be buffered. +type Writer struct { + w io.Writer + t Transformer + dst []byte + + // src[:n] contains bytes that have not yet passed through t. + src []byte + n int +} + +// NewWriter returns a new Writer that wraps w by transforming the bytes written +// via t. It calls Reset on t. +func NewWriter(w io.Writer, t Transformer) *Writer { + t.Reset() + return &Writer{ + w: w, + t: t, + dst: make([]byte, defaultBufSize), + src: make([]byte, defaultBufSize), + } +} + +// Write implements the io.Writer interface. If there are not enough +// bytes available to complete a Transform, the bytes will be buffered +// for the next write. Call Close to convert the remaining bytes. +func (w *Writer) Write(data []byte) (n int, err error) { + src := data + if w.n > 0 { + // Append bytes from data to the last remainder. + // TODO: limit the amount copied on first try. + n = copy(w.src[w.n:], data) + w.n += n + src = w.src[:w.n] + } + for { + nDst, nSrc, err := w.t.Transform(w.dst, src, false) + if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { + return n, werr + } + src = src[nSrc:] + if w.n == 0 { + n += nSrc + } else if len(src) <= n { + // Enough bytes from w.src have been consumed. We make src point + // to data instead to reduce the copying. + w.n = 0 + n -= len(src) + src = data[n:] + if n < len(data) && (err == nil || err == ErrShortSrc) { + continue + } + } + switch err { + case ErrShortDst: + // This error is okay as long as we are making progress. + if nDst > 0 || nSrc > 0 { + continue + } + case ErrShortSrc: + if len(src) < len(w.src) { + m := copy(w.src, src) + // If w.n > 0, bytes from data were already copied to w.src and n + // was already set to the number of bytes consumed. + if w.n == 0 { + n += m + } + w.n = m + err = nil + } else if nDst > 0 || nSrc > 0 { + // Not enough buffer to store the remainder. Keep processing as + // long as there is progress. Without this case, transforms that + // require a lookahead larger than the buffer may result in an + // error. This is not something one may expect to be common in + // practice, but it may occur when buffers are set to small + // sizes during testing. + continue + } + case nil: + if w.n > 0 { + err = errInconsistentByteCount + } + } + return n, err + } +} + +// Close implements the io.Closer interface. +func (w *Writer) Close() error { + src := w.src[:w.n] + for { + nDst, nSrc, err := w.t.Transform(w.dst, src, true) + if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { + return werr + } + if err != ErrShortDst { + return err + } + src = src[nSrc:] + } +} + +type nop struct{ NopResetter } + +func (nop) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + n := copy(dst, src) + if n < len(src) { + err = ErrShortDst + } + return n, n, err +} + +func (nop) Span(src []byte, atEOF bool) (n int, err error) { + return len(src), nil +} + +type discard struct{ NopResetter } + +func (discard) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + return 0, len(src), nil +} + +var ( + // Discard is a Transformer for which all Transform calls succeed + // by consuming all bytes and writing nothing. + Discard Transformer = discard{} + + // Nop is a SpanningTransformer that copies src to dst. + Nop SpanningTransformer = nop{} +) + +// chain is a sequence of links. A chain with N Transformers has N+1 links and +// N+1 buffers. Of those N+1 buffers, the first and last are the src and dst +// buffers given to chain.Transform and the middle N-1 buffers are intermediate +// buffers owned by the chain. The i'th link transforms bytes from the i'th +// buffer chain.link[i].b at read offset chain.link[i].p to the i+1'th buffer +// chain.link[i+1].b at write offset chain.link[i+1].n, for i in [0, N). +type chain struct { + link []link + err error + // errStart is the index at which the error occurred plus 1. Processing + // errStart at this level at the next call to Transform. As long as + // errStart > 0, chain will not consume any more source bytes. + errStart int +} + +func (c *chain) fatalError(errIndex int, err error) { + if i := errIndex + 1; i > c.errStart { + c.errStart = i + c.err = err + } +} + +type link struct { + t Transformer + // b[p:n] holds the bytes to be transformed by t. + b []byte + p int + n int +} + +func (l *link) src() []byte { + return l.b[l.p:l.n] +} + +func (l *link) dst() []byte { + return l.b[l.n:] +} + +// Chain returns a Transformer that applies t in sequence. +func Chain(t ...Transformer) Transformer { + if len(t) == 0 { + return nop{} + } + c := &chain{link: make([]link, len(t)+1)} + for i, tt := range t { + c.link[i].t = tt + } + // Allocate intermediate buffers. + b := make([][defaultBufSize]byte, len(t)-1) + for i := range b { + c.link[i+1].b = b[i][:] + } + return c +} + +// Reset resets the state of Chain. It calls Reset on all the Transformers. +func (c *chain) Reset() { + for i, l := range c.link { + if l.t != nil { + l.t.Reset() + } + c.link[i].p, c.link[i].n = 0, 0 + } +} + +// TODO: make chain use Span (is going to be fun to implement!) + +// Transform applies the transformers of c in sequence. +func (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + // Set up src and dst in the chain. + srcL := &c.link[0] + dstL := &c.link[len(c.link)-1] + srcL.b, srcL.p, srcL.n = src, 0, len(src) + dstL.b, dstL.n = dst, 0 + var lastFull, needProgress bool // for detecting progress + + // i is the index of the next Transformer to apply, for i in [low, high]. + // low is the lowest index for which c.link[low] may still produce bytes. + // high is the highest index for which c.link[high] has a Transformer. + // The error returned by Transform determines whether to increase or + // decrease i. We try to completely fill a buffer before converting it. + for low, i, high := c.errStart, c.errStart, len(c.link)-2; low <= i && i <= high; { + in, out := &c.link[i], &c.link[i+1] + nDst, nSrc, err0 := in.t.Transform(out.dst(), in.src(), atEOF && low == i) + out.n += nDst + in.p += nSrc + if i > 0 && in.p == in.n { + in.p, in.n = 0, 0 + } + needProgress, lastFull = lastFull, false + switch err0 { + case ErrShortDst: + // Process the destination buffer next. Return if we are already + // at the high index. + if i == high { + return dstL.n, srcL.p, ErrShortDst + } + if out.n != 0 { + i++ + // If the Transformer at the next index is not able to process any + // source bytes there is nothing that can be done to make progress + // and the bytes will remain unprocessed. lastFull is used to + // detect this and break out of the loop with a fatal error. + lastFull = true + continue + } + // The destination buffer was too small, but is completely empty. + // Return a fatal error as this transformation can never complete. + c.fatalError(i, errShortInternal) + case ErrShortSrc: + if i == 0 { + // Save ErrShortSrc in err. All other errors take precedence. + err = ErrShortSrc + break + } + // Source bytes were depleted before filling up the destination buffer. + // Verify we made some progress, move the remaining bytes to the errStart + // and try to get more source bytes. + if needProgress && nSrc == 0 || in.n-in.p == len(in.b) { + // There were not enough source bytes to proceed while the source + // buffer cannot hold any more bytes. Return a fatal error as this + // transformation can never complete. + c.fatalError(i, errShortInternal) + break + } + // in.b is an internal buffer and we can make progress. + in.p, in.n = 0, copy(in.b, in.src()) + fallthrough + case nil: + // if i == low, we have depleted the bytes at index i or any lower levels. + // In that case we increase low and i. In all other cases we decrease i to + // fetch more bytes before proceeding to the next index. + if i > low { + i-- + continue + } + default: + c.fatalError(i, err0) + } + // Exhausted level low or fatal error: increase low and continue + // to process the bytes accepted so far. + i++ + low = i + } + + // If c.errStart > 0, this means we found a fatal error. We will clear + // all upstream buffers. At this point, no more progress can be made + // downstream, as Transform would have bailed while handling ErrShortDst. + if c.errStart > 0 { + for i := 1; i < c.errStart; i++ { + c.link[i].p, c.link[i].n = 0, 0 + } + err, c.errStart, c.err = c.err, 0, nil + } + return dstL.n, srcL.p, err +} + +// Deprecated: Use runes.Remove instead. +func RemoveFunc(f func(r rune) bool) Transformer { + return removeF(f) +} + +type removeF func(r rune) bool + +func (removeF) Reset() {} + +// Transform implements the Transformer interface. +func (t removeF) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for r, sz := rune(0), 0; len(src) > 0; src = src[sz:] { + + if r = rune(src[0]); r < utf8.RuneSelf { + sz = 1 + } else { + r, sz = utf8.DecodeRune(src) + + if sz == 1 { + // Invalid rune. + if !atEOF && !utf8.FullRune(src) { + err = ErrShortSrc + break + } + // We replace illegal bytes with RuneError. Not doing so might + // otherwise turn a sequence of invalid UTF-8 into valid UTF-8. + // The resulting byte sequence may subsequently contain runes + // for which t(r) is true that were passed unnoticed. + if !t(r) { + if nDst+3 > len(dst) { + err = ErrShortDst + break + } + nDst += copy(dst[nDst:], "\uFFFD") + } + nSrc++ + continue + } + } + + if !t(r) { + if nDst+sz > len(dst) { + err = ErrShortDst + break + } + nDst += copy(dst[nDst:], src[:sz]) + } + nSrc += sz + } + return +} + +// grow returns a new []byte that is longer than b, and copies the first n bytes +// of b to the start of the new slice. +func grow(b []byte, n int) []byte { + m := len(b) + if m <= 32 { + m = 64 + } else if m <= 256 { + m *= 2 + } else { + m += m >> 1 + } + buf := make([]byte, m) + copy(buf, b[:n]) + return buf +} + +const initialBufSize = 128 + +// String returns a string with the result of converting s[:n] using t, where +// n <= len(s). If err == nil, n will be len(s). It calls Reset on t. +func String(t Transformer, s string) (result string, n int, err error) { + t.Reset() + if s == "" { + // Fast path for the common case for empty input. Results in about a + // 86% reduction of running time for BenchmarkStringLowerEmpty. + if _, _, err := t.Transform(nil, nil, true); err == nil { + return "", 0, nil + } + } + + // Allocate only once. Note that both dst and src escape when passed to + // Transform. + buf := [2 * initialBufSize]byte{} + dst := buf[:initialBufSize:initialBufSize] + src := buf[initialBufSize : 2*initialBufSize] + + // The input string s is transformed in multiple chunks (starting with a + // chunk size of initialBufSize). nDst and nSrc are per-chunk (or + // per-Transform-call) indexes, pDst and pSrc are overall indexes. + nDst, nSrc := 0, 0 + pDst, pSrc := 0, 0 + + // pPrefix is the length of a common prefix: the first pPrefix bytes of the + // result will equal the first pPrefix bytes of s. It is not guaranteed to + // be the largest such value, but if pPrefix, len(result) and len(s) are + // all equal after the final transform (i.e. calling Transform with atEOF + // being true returned nil error) then we don't need to allocate a new + // result string. + pPrefix := 0 + for { + // Invariant: pDst == pPrefix && pSrc == pPrefix. + + n := copy(src, s[pSrc:]) + nDst, nSrc, err = t.Transform(dst, src[:n], pSrc+n == len(s)) + pDst += nDst + pSrc += nSrc + + // TODO: let transformers implement an optional Spanner interface, akin + // to norm's QuickSpan. This would even allow us to avoid any allocation. + if !bytes.Equal(dst[:nDst], src[:nSrc]) { + break + } + pPrefix = pSrc + if err == ErrShortDst { + // A buffer can only be short if a transformer modifies its input. + break + } else if err == ErrShortSrc { + if nSrc == 0 { + // No progress was made. + break + } + // Equal so far and !atEOF, so continue checking. + } else if err != nil || pPrefix == len(s) { + return string(s[:pPrefix]), pPrefix, err + } + } + // Post-condition: pDst == pPrefix + nDst && pSrc == pPrefix + nSrc. + + // We have transformed the first pSrc bytes of the input s to become pDst + // transformed bytes. Those transformed bytes are discontiguous: the first + // pPrefix of them equal s[:pPrefix] and the last nDst of them equal + // dst[:nDst]. We copy them around, into a new dst buffer if necessary, so + // that they become one contiguous slice: dst[:pDst]. + if pPrefix != 0 { + newDst := dst + if pDst > len(newDst) { + newDst = make([]byte, len(s)+nDst-nSrc) + } + copy(newDst[pPrefix:pDst], dst[:nDst]) + copy(newDst[:pPrefix], s[:pPrefix]) + dst = newDst + } + + // Prevent duplicate Transform calls with atEOF being true at the end of + // the input. Also return if we have an unrecoverable error. + if (err == nil && pSrc == len(s)) || + (err != nil && err != ErrShortDst && err != ErrShortSrc) { + return string(dst[:pDst]), pSrc, err + } + + // Transform the remaining input, growing dst and src buffers as necessary. + for { + n := copy(src, s[pSrc:]) + atEOF := pSrc+n == len(s) + nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], atEOF) + pDst += nDst + pSrc += nSrc + + // If we got ErrShortDst or ErrShortSrc, do not grow as long as we can + // make progress. This may avoid excessive allocations. + if err == ErrShortDst { + if nDst == 0 { + dst = grow(dst, pDst) + } + } else if err == ErrShortSrc { + if atEOF { + return string(dst[:pDst]), pSrc, err + } + if nSrc == 0 { + src = grow(src, 0) + } + } else if err != nil || pSrc == len(s) { + return string(dst[:pDst]), pSrc, err + } + } +} + +// Bytes returns a new byte slice with the result of converting b[:n] using t, +// where n <= len(b). If err == nil, n will be len(b). It calls Reset on t. +func Bytes(t Transformer, b []byte) (result []byte, n int, err error) { + return doAppend(t, 0, make([]byte, len(b)), b) +} + +// Append appends the result of converting src[:n] using t to dst, where +// n <= len(src), If err == nil, n will be len(src). It calls Reset on t. +func Append(t Transformer, dst, src []byte) (result []byte, n int, err error) { + if len(dst) == cap(dst) { + n := len(src) + len(dst) // It is okay for this to be 0. + b := make([]byte, n) + dst = b[:copy(b, dst)] + } + return doAppend(t, len(dst), dst[:cap(dst)], src) +} + +func doAppend(t Transformer, pDst int, dst, src []byte) (result []byte, n int, err error) { + t.Reset() + pSrc := 0 + for { + nDst, nSrc, err := t.Transform(dst[pDst:], src[pSrc:], true) + pDst += nDst + pSrc += nSrc + if err != ErrShortDst { + return dst[:pDst], pSrc, err + } + + // Grow the destination buffer, but do not grow as long as we can make + // progress. This may avoid excessive allocations. + if nDst == 0 { + dst = grow(dst, pDst) + } + } +} diff --git a/vendor/golang.org/x/text/unicode/bidi/bidi.go b/vendor/golang.org/x/text/unicode/bidi/bidi.go new file mode 100644 index 000000000..fd057601b --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/bidi.go @@ -0,0 +1,359 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate go run gen.go gen_trieval.go gen_ranges.go + +// Package bidi contains functionality for bidirectional text support. +// +// See https://www.unicode.org/reports/tr9. +// +// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways +// and without notice. +package bidi // import "golang.org/x/text/unicode/bidi" + +// TODO +// - Transformer for reordering? +// - Transformer (validator, really) for Bidi Rule. + +import ( + "bytes" +) + +// This API tries to avoid dealing with embedding levels for now. Under the hood +// these will be computed, but the question is to which extent the user should +// know they exist. We should at some point allow the user to specify an +// embedding hierarchy, though. + +// A Direction indicates the overall flow of text. +type Direction int + +const ( + // LeftToRight indicates the text contains no right-to-left characters and + // that either there are some left-to-right characters or the option + // DefaultDirection(LeftToRight) was passed. + LeftToRight Direction = iota + + // RightToLeft indicates the text contains no left-to-right characters and + // that either there are some right-to-left characters or the option + // DefaultDirection(RightToLeft) was passed. + RightToLeft + + // Mixed indicates text contains both left-to-right and right-to-left + // characters. + Mixed + + // Neutral means that text contains no left-to-right and right-to-left + // characters and that no default direction has been set. + Neutral +) + +type options struct { + defaultDirection Direction +} + +// An Option is an option for Bidi processing. +type Option func(*options) + +// ICU allows the user to define embedding levels. This may be used, for example, +// to use hierarchical structure of markup languages to define embeddings. +// The following option may be a way to expose this functionality in this API. +// // LevelFunc sets a function that associates nesting levels with the given text. +// // The levels function will be called with monotonically increasing values for p. +// func LevelFunc(levels func(p int) int) Option { +// panic("unimplemented") +// } + +// DefaultDirection sets the default direction for a Paragraph. The direction is +// overridden if the text contains directional characters. +func DefaultDirection(d Direction) Option { + return func(opts *options) { + opts.defaultDirection = d + } +} + +// A Paragraph holds a single Paragraph for Bidi processing. +type Paragraph struct { + p []byte + o Ordering + opts []Option + types []Class + pairTypes []bracketType + pairValues []rune + runes []rune + options options +} + +// Initialize the p.pairTypes, p.pairValues and p.types from the input previously +// set by p.SetBytes() or p.SetString(). Also limit the input up to (and including) a paragraph +// separator (bidi class B). +// +// The function p.Order() needs these values to be set, so this preparation could be postponed. +// But since the SetBytes and SetStrings functions return the length of the input up to the paragraph +// separator, the whole input needs to be processed anyway and should not be done twice. +// +// The function has the same return values as SetBytes() / SetString() +func (p *Paragraph) prepareInput() (n int, err error) { + p.runes = bytes.Runes(p.p) + bytecount := 0 + // clear slices from previous SetString or SetBytes + p.pairTypes = nil + p.pairValues = nil + p.types = nil + + for _, r := range p.runes { + props, i := LookupRune(r) + bytecount += i + cls := props.Class() + if cls == B { + return bytecount, nil + } + p.types = append(p.types, cls) + if props.IsOpeningBracket() { + p.pairTypes = append(p.pairTypes, bpOpen) + p.pairValues = append(p.pairValues, r) + } else if props.IsBracket() { + // this must be a closing bracket, + // since IsOpeningBracket is not true + p.pairTypes = append(p.pairTypes, bpClose) + p.pairValues = append(p.pairValues, r) + } else { + p.pairTypes = append(p.pairTypes, bpNone) + p.pairValues = append(p.pairValues, 0) + } + } + return bytecount, nil +} + +// SetBytes configures p for the given paragraph text. It replaces text +// previously set by SetBytes or SetString. If b contains a paragraph separator +// it will only process the first paragraph and report the number of bytes +// consumed from b including this separator. Error may be non-nil if options are +// given. +func (p *Paragraph) SetBytes(b []byte, opts ...Option) (n int, err error) { + p.p = b + p.opts = opts + return p.prepareInput() +} + +// SetString configures s for the given paragraph text. It replaces text +// previously set by SetBytes or SetString. If s contains a paragraph separator +// it will only process the first paragraph and report the number of bytes +// consumed from s including this separator. Error may be non-nil if options are +// given. +func (p *Paragraph) SetString(s string, opts ...Option) (n int, err error) { + p.p = []byte(s) + p.opts = opts + return p.prepareInput() +} + +// IsLeftToRight reports whether the principle direction of rendering for this +// paragraphs is left-to-right. If this returns false, the principle direction +// of rendering is right-to-left. +func (p *Paragraph) IsLeftToRight() bool { + return p.Direction() == LeftToRight +} + +// Direction returns the direction of the text of this paragraph. +// +// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral. +func (p *Paragraph) Direction() Direction { + return p.o.Direction() +} + +// TODO: what happens if the position is > len(input)? This should return an error. + +// RunAt reports the Run at the given position of the input text. +// +// This method can be used for computing line breaks on paragraphs. +func (p *Paragraph) RunAt(pos int) Run { + c := 0 + runNumber := 0 + for i, r := range p.o.runes { + c += len(r) + if pos < c { + runNumber = i + } + } + return p.o.Run(runNumber) +} + +func calculateOrdering(levels []level, runes []rune) Ordering { + var curDir Direction + + prevDir := Neutral + prevI := 0 + + o := Ordering{} + // lvl = 0,2,4,...: left to right + // lvl = 1,3,5,...: right to left + for i, lvl := range levels { + if lvl%2 == 0 { + curDir = LeftToRight + } else { + curDir = RightToLeft + } + if curDir != prevDir { + if i > 0 { + o.runes = append(o.runes, runes[prevI:i]) + o.directions = append(o.directions, prevDir) + o.startpos = append(o.startpos, prevI) + } + prevI = i + prevDir = curDir + } + } + o.runes = append(o.runes, runes[prevI:]) + o.directions = append(o.directions, prevDir) + o.startpos = append(o.startpos, prevI) + return o +} + +// Order computes the visual ordering of all the runs in a Paragraph. +func (p *Paragraph) Order() (Ordering, error) { + if len(p.types) == 0 { + return Ordering{}, nil + } + + for _, fn := range p.opts { + fn(&p.options) + } + lvl := level(-1) + if p.options.defaultDirection == RightToLeft { + lvl = 1 + } + para, err := newParagraph(p.types, p.pairTypes, p.pairValues, lvl) + if err != nil { + return Ordering{}, err + } + + levels := para.getLevels([]int{len(p.types)}) + + p.o = calculateOrdering(levels, p.runes) + return p.o, nil +} + +// Line computes the visual ordering of runs for a single line starting and +// ending at the given positions in the original text. +func (p *Paragraph) Line(start, end int) (Ordering, error) { + lineTypes := p.types[start:end] + para, err := newParagraph(lineTypes, p.pairTypes[start:end], p.pairValues[start:end], -1) + if err != nil { + return Ordering{}, err + } + levels := para.getLevels([]int{len(lineTypes)}) + o := calculateOrdering(levels, p.runes[start:end]) + return o, nil +} + +// An Ordering holds the computed visual order of runs of a Paragraph. Calling +// SetBytes or SetString on the originating Paragraph invalidates an Ordering. +// The methods of an Ordering should only be called by one goroutine at a time. +type Ordering struct { + runes [][]rune + directions []Direction + startpos []int +} + +// Direction reports the directionality of the runs. +// +// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral. +func (o *Ordering) Direction() Direction { + return o.directions[0] +} + +// NumRuns returns the number of runs. +func (o *Ordering) NumRuns() int { + return len(o.runes) +} + +// Run returns the ith run within the ordering. +func (o *Ordering) Run(i int) Run { + r := Run{ + runes: o.runes[i], + direction: o.directions[i], + startpos: o.startpos[i], + } + return r +} + +// TODO: perhaps with options. +// // Reorder creates a reader that reads the runes in visual order per character. +// // Modifiers remain after the runes they modify. +// func (l *Runs) Reorder() io.Reader { +// panic("unimplemented") +// } + +// A Run is a continuous sequence of characters of a single direction. +type Run struct { + runes []rune + direction Direction + startpos int +} + +// String returns the text of the run in its original order. +func (r *Run) String() string { + return string(r.runes) +} + +// Bytes returns the text of the run in its original order. +func (r *Run) Bytes() []byte { + return []byte(r.String()) +} + +// TODO: methods for +// - Display order +// - headers and footers +// - bracket replacement. + +// Direction reports the direction of the run. +func (r *Run) Direction() Direction { + return r.direction +} + +// Pos returns the position of the Run within the text passed to SetBytes or SetString of the +// originating Paragraph value. +func (r *Run) Pos() (start, end int) { + return r.startpos, r.startpos + len(r.runes) - 1 +} + +// AppendReverse reverses the order of characters of in, appends them to out, +// and returns the result. Modifiers will still follow the runes they modify. +// Brackets are replaced with their counterparts. +func AppendReverse(out, in []byte) []byte { + ret := make([]byte, len(in)+len(out)) + copy(ret, out) + inRunes := bytes.Runes(in) + + for i, r := range inRunes { + prop, _ := LookupRune(r) + if prop.IsBracket() { + inRunes[i] = prop.reverseBracket(r) + } + } + + for i, j := 0, len(inRunes)-1; i < j; i, j = i+1, j-1 { + inRunes[i], inRunes[j] = inRunes[j], inRunes[i] + } + copy(ret[len(out):], string(inRunes)) + + return ret +} + +// ReverseString reverses the order of characters in s and returns a new string. +// Modifiers will still follow the runes they modify. Brackets are replaced with +// their counterparts. +func ReverseString(s string) string { + input := []rune(s) + li := len(input) + ret := make([]rune, li) + for i, r := range input { + prop, _ := LookupRune(r) + if prop.IsBracket() { + ret[li-i-1] = prop.reverseBracket(r) + } else { + ret[li-i-1] = r + } + } + return string(ret) +} diff --git a/vendor/golang.org/x/text/unicode/bidi/bracket.go b/vendor/golang.org/x/text/unicode/bidi/bracket.go new file mode 100644 index 000000000..185393979 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/bracket.go @@ -0,0 +1,335 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import ( + "container/list" + "fmt" + "sort" +) + +// This file contains a port of the reference implementation of the +// Bidi Parentheses Algorithm: +// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java +// +// The implementation in this file covers definitions BD14-BD16 and rule N0 +// of UAX#9. +// +// Some preprocessing is done for each rune before data is passed to this +// algorithm: +// - opening and closing brackets are identified +// - a bracket pair type, like '(' and ')' is assigned a unique identifier that +// is identical for the opening and closing bracket. It is left to do these +// mappings. +// - The BPA algorithm requires that bracket characters that are canonical +// equivalents of each other be able to be substituted for each other. +// It is the responsibility of the caller to do this canonicalization. +// +// In implementing BD16, this implementation departs slightly from the "logical" +// algorithm defined in UAX#9. In particular, the stack referenced there +// supports operations that go beyond a "basic" stack. An equivalent +// implementation based on a linked list is used here. + +// Bidi_Paired_Bracket_Type +// BD14. An opening paired bracket is a character whose +// Bidi_Paired_Bracket_Type property value is Open. +// +// BD15. A closing paired bracket is a character whose +// Bidi_Paired_Bracket_Type property value is Close. +type bracketType byte + +const ( + bpNone bracketType = iota + bpOpen + bpClose +) + +// bracketPair holds a pair of index values for opening and closing bracket +// location of a bracket pair. +type bracketPair struct { + opener int + closer int +} + +func (b *bracketPair) String() string { + return fmt.Sprintf("(%v, %v)", b.opener, b.closer) +} + +// bracketPairs is a slice of bracketPairs with a sort.Interface implementation. +type bracketPairs []bracketPair + +func (b bracketPairs) Len() int { return len(b) } +func (b bracketPairs) Swap(i, j int) { b[i], b[j] = b[j], b[i] } +func (b bracketPairs) Less(i, j int) bool { return b[i].opener < b[j].opener } + +// resolvePairedBrackets runs the paired bracket part of the UBA algorithm. +// +// For each rune, it takes the indexes into the original string, the class the +// bracket type (in pairTypes) and the bracket identifier (pairValues). It also +// takes the direction type for the start-of-sentence and the embedding level. +// +// The identifiers for bracket types are the rune of the canonicalized opening +// bracket for brackets (open or close) or 0 for runes that are not brackets. +func resolvePairedBrackets(s *isolatingRunSequence) { + p := bracketPairer{ + sos: s.sos, + openers: list.New(), + codesIsolatedRun: s.types, + indexes: s.indexes, + } + dirEmbed := L + if s.level&1 != 0 { + dirEmbed = R + } + p.locateBrackets(s.p.pairTypes, s.p.pairValues) + p.resolveBrackets(dirEmbed, s.p.initialTypes) +} + +type bracketPairer struct { + sos Class // direction corresponding to start of sequence + + // The following is a restatement of BD 16 using non-algorithmic language. + // + // A bracket pair is a pair of characters consisting of an opening + // paired bracket and a closing paired bracket such that the + // Bidi_Paired_Bracket property value of the former equals the latter, + // subject to the following constraints. + // - both characters of a pair occur in the same isolating run sequence + // - the closing character of a pair follows the opening character + // - any bracket character can belong at most to one pair, the earliest possible one + // - any bracket character not part of a pair is treated like an ordinary character + // - pairs may nest properly, but their spans may not overlap otherwise + + // Bracket characters with canonical decompositions are supposed to be + // treated as if they had been normalized, to allow normalized and non- + // normalized text to give the same result. In this implementation that step + // is pushed out to the caller. The caller has to ensure that the pairValue + // slices contain the rune of the opening bracket after normalization for + // any opening or closing bracket. + + openers *list.List // list of positions for opening brackets + + // bracket pair positions sorted by location of opening bracket + pairPositions bracketPairs + + codesIsolatedRun []Class // directional bidi codes for an isolated run + indexes []int // array of index values into the original string + +} + +// matchOpener reports whether characters at given positions form a matching +// bracket pair. +func (p *bracketPairer) matchOpener(pairValues []rune, opener, closer int) bool { + return pairValues[p.indexes[opener]] == pairValues[p.indexes[closer]] +} + +const maxPairingDepth = 63 + +// locateBrackets locates matching bracket pairs according to BD16. +// +// This implementation uses a linked list instead of a stack, because, while +// elements are added at the front (like a push) they are not generally removed +// in atomic 'pop' operations, reducing the benefit of the stack archetype. +func (p *bracketPairer) locateBrackets(pairTypes []bracketType, pairValues []rune) { + // traverse the run + // do that explicitly (not in a for-each) so we can record position + for i, index := range p.indexes { + + // look at the bracket type for each character + if pairTypes[index] == bpNone || p.codesIsolatedRun[i] != ON { + // continue scanning + continue + } + switch pairTypes[index] { + case bpOpen: + // check if maximum pairing depth reached + if p.openers.Len() == maxPairingDepth { + p.openers.Init() + return + } + // remember opener location, most recent first + p.openers.PushFront(i) + + case bpClose: + // see if there is a match + count := 0 + for elem := p.openers.Front(); elem != nil; elem = elem.Next() { + count++ + opener := elem.Value.(int) + if p.matchOpener(pairValues, opener, i) { + // if the opener matches, add nested pair to the ordered list + p.pairPositions = append(p.pairPositions, bracketPair{opener, i}) + // remove up to and including matched opener + for ; count > 0; count-- { + p.openers.Remove(p.openers.Front()) + } + break + } + } + sort.Sort(p.pairPositions) + // if we get here, the closing bracket matched no openers + // and gets ignored + } + } +} + +// Bracket pairs within an isolating run sequence are processed as units so +// that both the opening and the closing paired bracket in a pair resolve to +// the same direction. +// +// N0. Process bracket pairs in an isolating run sequence sequentially in +// the logical order of the text positions of the opening paired brackets +// using the logic given below. Within this scope, bidirectional types EN +// and AN are treated as R. +// +// Identify the bracket pairs in the current isolating run sequence +// according to BD16. For each bracket-pair element in the list of pairs of +// text positions: +// +// a Inspect the bidirectional types of the characters enclosed within the +// bracket pair. +// +// b If any strong type (either L or R) matching the embedding direction is +// found, set the type for both brackets in the pair to match the embedding +// direction. +// +// o [ e ] o -> o e e e o +// +// o [ o e ] -> o e o e e +// +// o [ NI e ] -> o e NI e e +// +// c Otherwise, if a strong type (opposite the embedding direction) is +// found, test for adjacent strong types as follows: 1 First, check +// backwards before the opening paired bracket until the first strong type +// (L, R, or sos) is found. If that first preceding strong type is opposite +// the embedding direction, then set the type for both brackets in the pair +// to that type. 2 Otherwise, set the type for both brackets in the pair to +// the embedding direction. +// +// o [ o ] e -> o o o o e +// +// o [ o NI ] o -> o o o NI o o +// +// e [ o ] o -> e e o e o +// +// e [ o ] e -> e e o e e +// +// e ( o [ o ] NI ) e -> e e o o o o NI e e +// +// d Otherwise, do not set the type for the current bracket pair. Note that +// if the enclosed text contains no strong types the paired brackets will +// both resolve to the same level when resolved individually using rules N1 +// and N2. +// +// e ( NI ) o -> e ( NI ) o + +// getStrongTypeN0 maps character's directional code to strong type as required +// by rule N0. +// +// TODO: have separate type for "strong" directionality. +func (p *bracketPairer) getStrongTypeN0(index int) Class { + switch p.codesIsolatedRun[index] { + // in the scope of N0, number types are treated as R + case EN, AN, AL, R: + return R + case L: + return L + default: + return ON + } +} + +// classifyPairContent reports the strong types contained inside a Bracket Pair, +// assuming the given embedding direction. +// +// It returns ON if no strong type is found. If a single strong type is found, +// it returns this type. Otherwise it returns the embedding direction. +// +// TODO: use separate type for "strong" directionality. +func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class { + dirOpposite := ON + for i := loc.opener + 1; i < loc.closer; i++ { + dir := p.getStrongTypeN0(i) + if dir == ON { + continue + } + if dir == dirEmbed { + return dir // type matching embedding direction found + } + dirOpposite = dir + } + // return ON if no strong type found, or class opposite to dirEmbed + return dirOpposite +} + +// classBeforePair determines which strong types are present before a Bracket +// Pair. Return R or L if strong type found, otherwise ON. +func (p *bracketPairer) classBeforePair(loc bracketPair) Class { + for i := loc.opener - 1; i >= 0; i-- { + if dir := p.getStrongTypeN0(i); dir != ON { + return dir + } + } + // no strong types found, return sos + return p.sos +} + +// assignBracketType implements rule N0 for a single bracket pair. +func (p *bracketPairer) assignBracketType(loc bracketPair, dirEmbed Class, initialTypes []Class) { + // rule "N0, a", inspect contents of pair + dirPair := p.classifyPairContent(loc, dirEmbed) + + // dirPair is now L, R, or N (no strong type found) + + // the following logical tests are performed out of order compared to + // the statement of the rules but yield the same results + if dirPair == ON { + return // case "d" - nothing to do + } + + if dirPair != dirEmbed { + // case "c": strong type found, opposite - check before (c.1) + dirPair = p.classBeforePair(loc) + if dirPair == dirEmbed || dirPair == ON { + // no strong opposite type found before - use embedding (c.2) + dirPair = dirEmbed + } + } + // else: case "b", strong type found matching embedding, + // no explicit action needed, as dirPair is already set to embedding + // direction + + // set the bracket types to the type found + p.setBracketsToType(loc, dirPair, initialTypes) +} + +func (p *bracketPairer) setBracketsToType(loc bracketPair, dirPair Class, initialTypes []Class) { + p.codesIsolatedRun[loc.opener] = dirPair + p.codesIsolatedRun[loc.closer] = dirPair + + for i := loc.opener + 1; i < loc.closer; i++ { + index := p.indexes[i] + if initialTypes[index] != NSM { + break + } + p.codesIsolatedRun[i] = dirPair + } + + for i := loc.closer + 1; i < len(p.indexes); i++ { + index := p.indexes[i] + if initialTypes[index] != NSM { + break + } + p.codesIsolatedRun[i] = dirPair + } +} + +// resolveBrackets implements rule N0 for a list of pairs. +func (p *bracketPairer) resolveBrackets(dirEmbed Class, initialTypes []Class) { + for _, loc := range p.pairPositions { + p.assignBracketType(loc, dirEmbed, initialTypes) + } +} diff --git a/vendor/golang.org/x/text/unicode/bidi/core.go b/vendor/golang.org/x/text/unicode/bidi/core.go new file mode 100644 index 000000000..e4c081101 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/core.go @@ -0,0 +1,1071 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import ( + "fmt" + "log" +) + +// This implementation is a port based on the reference implementation found at: +// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/ +// +// described in Unicode Bidirectional Algorithm (UAX #9). +// +// Input: +// There are two levels of input to the algorithm, since clients may prefer to +// supply some information from out-of-band sources rather than relying on the +// default behavior. +// +// - Bidi class array +// - Bidi class array, with externally supplied base line direction +// +// Output: +// Output is separated into several stages: +// +// - levels array over entire paragraph +// - reordering array over entire paragraph +// - levels array over line +// - reordering array over line +// +// Note that for conformance to the Unicode Bidirectional Algorithm, +// implementations are only required to generate correct reordering and +// character directionality (odd or even levels) over a line. Generating +// identical level arrays over a line is not required. Bidi explicit format +// codes (LRE, RLE, LRO, RLO, PDF) and BN can be assigned arbitrary levels and +// positions as long as the rest of the input is properly reordered. +// +// As the algorithm is defined to operate on a single paragraph at a time, this +// implementation is written to handle single paragraphs. Thus rule P1 is +// presumed by this implementation-- the data provided to the implementation is +// assumed to be a single paragraph, and either contains no 'B' codes, or a +// single 'B' code at the end of the input. 'B' is allowed as input to +// illustrate how the algorithm assigns it a level. +// +// Also note that rules L3 and L4 depend on the rendering engine that uses the +// result of the bidi algorithm. This implementation assumes that the rendering +// engine expects combining marks in visual order (e.g. to the left of their +// base character in RTL runs) and that it adjusts the glyphs used to render +// mirrored characters that are in RTL runs so that they render appropriately. + +// level is the embedding level of a character. Even embedding levels indicate +// left-to-right order and odd levels indicate right-to-left order. The special +// level of -1 is reserved for undefined order. +type level int8 + +const implicitLevel level = -1 + +// in returns if x is equal to any of the values in set. +func (c Class) in(set ...Class) bool { + for _, s := range set { + if c == s { + return true + } + } + return false +} + +// A paragraph contains the state of a paragraph. +type paragraph struct { + initialTypes []Class + + // Arrays of properties needed for paired bracket evaluation in N0 + pairTypes []bracketType // paired Bracket types for paragraph + pairValues []rune // rune for opening bracket or pbOpen and pbClose; 0 for pbNone + + embeddingLevel level // default: = implicitLevel; + + // at the paragraph levels + resultTypes []Class + resultLevels []level + + // Index of matching PDI for isolate initiator characters. For other + // characters, the value of matchingPDI will be set to -1. For isolate + // initiators with no matching PDI, matchingPDI will be set to the length of + // the input string. + matchingPDI []int + + // Index of matching isolate initiator for PDI characters. For other + // characters, and for PDIs with no matching isolate initiator, the value of + // matchingIsolateInitiator will be set to -1. + matchingIsolateInitiator []int +} + +// newParagraph initializes a paragraph. The user needs to supply a few arrays +// corresponding to the preprocessed text input. The types correspond to the +// Unicode BiDi classes for each rune. pairTypes indicates the bracket type for +// each rune. pairValues provides a unique bracket class identifier for each +// rune (suggested is the rune of the open bracket for opening and matching +// close brackets, after normalization). The embedding levels are optional, but +// may be supplied to encode embedding levels of styled text. +func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) (*paragraph, error) { + var err error + if err = validateTypes(types); err != nil { + return nil, err + } + if err = validatePbTypes(pairTypes); err != nil { + return nil, err + } + if err = validatePbValues(pairValues, pairTypes); err != nil { + return nil, err + } + if err = validateParagraphEmbeddingLevel(levels); err != nil { + return nil, err + } + + p := ¶graph{ + initialTypes: append([]Class(nil), types...), + embeddingLevel: levels, + + pairTypes: pairTypes, + pairValues: pairValues, + + resultTypes: append([]Class(nil), types...), + } + p.run() + return p, nil +} + +func (p *paragraph) Len() int { return len(p.initialTypes) } + +// The algorithm. Does not include line-based processing (Rules L1, L2). +// These are applied later in the line-based phase of the algorithm. +func (p *paragraph) run() { + p.determineMatchingIsolates() + + // 1) determining the paragraph level + // Rule P1 is the requirement for entering this algorithm. + // Rules P2, P3. + // If no externally supplied paragraph embedding level, use default. + if p.embeddingLevel == implicitLevel { + p.embeddingLevel = p.determineParagraphEmbeddingLevel(0, p.Len()) + } + + // Initialize result levels to paragraph embedding level. + p.resultLevels = make([]level, p.Len()) + setLevels(p.resultLevels, p.embeddingLevel) + + // 2) Explicit levels and directions + // Rules X1-X8. + p.determineExplicitEmbeddingLevels() + + // Rule X9. + // We do not remove the embeddings, the overrides, the PDFs, and the BNs + // from the string explicitly. But they are not copied into isolating run + // sequences when they are created, so they are removed for all + // practical purposes. + + // Rule X10. + // Run remainder of algorithm one isolating run sequence at a time + for _, seq := range p.determineIsolatingRunSequences() { + // 3) resolving weak types + // Rules W1-W7. + seq.resolveWeakTypes() + + // 4a) resolving paired brackets + // Rule N0 + resolvePairedBrackets(seq) + + // 4b) resolving neutral types + // Rules N1-N3. + seq.resolveNeutralTypes() + + // 5) resolving implicit embedding levels + // Rules I1, I2. + seq.resolveImplicitLevels() + + // Apply the computed levels and types + seq.applyLevelsAndTypes() + } + + // Assign appropriate levels to 'hide' LREs, RLEs, LROs, RLOs, PDFs, and + // BNs. This is for convenience, so the resulting level array will have + // a value for every character. + p.assignLevelsToCharactersRemovedByX9() +} + +// determineMatchingIsolates determines the matching PDI for each isolate +// initiator and vice versa. +// +// Definition BD9. +// +// At the end of this function: +// +// - The member variable matchingPDI is set to point to the index of the +// matching PDI character for each isolate initiator character. If there is +// no matching PDI, it is set to the length of the input text. For other +// characters, it is set to -1. +// - The member variable matchingIsolateInitiator is set to point to the +// index of the matching isolate initiator character for each PDI character. +// If there is no matching isolate initiator, or the character is not a PDI, +// it is set to -1. +func (p *paragraph) determineMatchingIsolates() { + p.matchingPDI = make([]int, p.Len()) + p.matchingIsolateInitiator = make([]int, p.Len()) + + for i := range p.matchingIsolateInitiator { + p.matchingIsolateInitiator[i] = -1 + } + + for i := range p.matchingPDI { + p.matchingPDI[i] = -1 + + if t := p.resultTypes[i]; t.in(LRI, RLI, FSI) { + depthCounter := 1 + for j := i + 1; j < p.Len(); j++ { + if u := p.resultTypes[j]; u.in(LRI, RLI, FSI) { + depthCounter++ + } else if u == PDI { + if depthCounter--; depthCounter == 0 { + p.matchingPDI[i] = j + p.matchingIsolateInitiator[j] = i + break + } + } + } + if p.matchingPDI[i] == -1 { + p.matchingPDI[i] = p.Len() + } + } + } +} + +// determineParagraphEmbeddingLevel reports the resolved paragraph direction of +// the substring limited by the given range [start, end). +// +// Determines the paragraph level based on rules P2, P3. This is also used +// in rule X5c to find if an FSI should resolve to LRI or RLI. +func (p *paragraph) determineParagraphEmbeddingLevel(start, end int) level { + var strongType Class = unknownClass + + // Rule P2. + for i := start; i < end; i++ { + if t := p.resultTypes[i]; t.in(L, AL, R) { + strongType = t + break + } else if t.in(FSI, LRI, RLI) { + i = p.matchingPDI[i] // skip over to the matching PDI + if i > end { + log.Panic("assert (i <= end)") + } + } + } + // Rule P3. + switch strongType { + case unknownClass: // none found + // default embedding level when no strong types found is 0. + return 0 + case L: + return 0 + default: // AL, R + return 1 + } +} + +const maxDepth = 125 + +// This stack will store the embedding levels and override and isolated +// statuses +type directionalStatusStack struct { + stackCounter int + embeddingLevelStack [maxDepth + 1]level + overrideStatusStack [maxDepth + 1]Class + isolateStatusStack [maxDepth + 1]bool +} + +func (s *directionalStatusStack) empty() { s.stackCounter = 0 } +func (s *directionalStatusStack) pop() { s.stackCounter-- } +func (s *directionalStatusStack) depth() int { return s.stackCounter } + +func (s *directionalStatusStack) push(level level, overrideStatus Class, isolateStatus bool) { + s.embeddingLevelStack[s.stackCounter] = level + s.overrideStatusStack[s.stackCounter] = overrideStatus + s.isolateStatusStack[s.stackCounter] = isolateStatus + s.stackCounter++ +} + +func (s *directionalStatusStack) lastEmbeddingLevel() level { + return s.embeddingLevelStack[s.stackCounter-1] +} + +func (s *directionalStatusStack) lastDirectionalOverrideStatus() Class { + return s.overrideStatusStack[s.stackCounter-1] +} + +func (s *directionalStatusStack) lastDirectionalIsolateStatus() bool { + return s.isolateStatusStack[s.stackCounter-1] +} + +// Determine explicit levels using rules X1 - X8 +func (p *paragraph) determineExplicitEmbeddingLevels() { + var stack directionalStatusStack + var overflowIsolateCount, overflowEmbeddingCount, validIsolateCount int + + // Rule X1. + stack.push(p.embeddingLevel, ON, false) + + for i, t := range p.resultTypes { + // Rules X2, X3, X4, X5, X5a, X5b, X5c + switch t { + case RLE, LRE, RLO, LRO, RLI, LRI, FSI: + isIsolate := t.in(RLI, LRI, FSI) + isRTL := t.in(RLE, RLO, RLI) + + // override if this is an FSI that resolves to RLI + if t == FSI { + isRTL = (p.determineParagraphEmbeddingLevel(i+1, p.matchingPDI[i]) == 1) + } + if isIsolate { + p.resultLevels[i] = stack.lastEmbeddingLevel() + if stack.lastDirectionalOverrideStatus() != ON { + p.resultTypes[i] = stack.lastDirectionalOverrideStatus() + } + } + + var newLevel level + if isRTL { + // least greater odd + newLevel = (stack.lastEmbeddingLevel() + 1) | 1 + } else { + // least greater even + newLevel = (stack.lastEmbeddingLevel() + 2) &^ 1 + } + + if newLevel <= maxDepth && overflowIsolateCount == 0 && overflowEmbeddingCount == 0 { + if isIsolate { + validIsolateCount++ + } + // Push new embedding level, override status, and isolated + // status. + // No check for valid stack counter, since the level check + // suffices. + switch t { + case LRO: + stack.push(newLevel, L, isIsolate) + case RLO: + stack.push(newLevel, R, isIsolate) + default: + stack.push(newLevel, ON, isIsolate) + } + // Not really part of the spec + if !isIsolate { + p.resultLevels[i] = newLevel + } + } else { + // This is an invalid explicit formatting character, + // so apply the "Otherwise" part of rules X2-X5b. + if isIsolate { + overflowIsolateCount++ + } else { // !isIsolate + if overflowIsolateCount == 0 { + overflowEmbeddingCount++ + } + } + } + + // Rule X6a + case PDI: + if overflowIsolateCount > 0 { + overflowIsolateCount-- + } else if validIsolateCount == 0 { + // do nothing + } else { + overflowEmbeddingCount = 0 + for !stack.lastDirectionalIsolateStatus() { + stack.pop() + } + stack.pop() + validIsolateCount-- + } + p.resultLevels[i] = stack.lastEmbeddingLevel() + + // Rule X7 + case PDF: + // Not really part of the spec + p.resultLevels[i] = stack.lastEmbeddingLevel() + + if overflowIsolateCount > 0 { + // do nothing + } else if overflowEmbeddingCount > 0 { + overflowEmbeddingCount-- + } else if !stack.lastDirectionalIsolateStatus() && stack.depth() >= 2 { + stack.pop() + } + + case B: // paragraph separator. + // Rule X8. + + // These values are reset for clarity, in this implementation B + // can only occur as the last code in the array. + stack.empty() + overflowIsolateCount = 0 + overflowEmbeddingCount = 0 + validIsolateCount = 0 + p.resultLevels[i] = p.embeddingLevel + + default: + p.resultLevels[i] = stack.lastEmbeddingLevel() + if stack.lastDirectionalOverrideStatus() != ON { + p.resultTypes[i] = stack.lastDirectionalOverrideStatus() + } + } + } +} + +type isolatingRunSequence struct { + p *paragraph + + indexes []int // indexes to the original string + + types []Class // type of each character using the index + resolvedLevels []level // resolved levels after application of rules + level level + sos, eos Class +} + +func (i *isolatingRunSequence) Len() int { return len(i.indexes) } + +func maxLevel(a, b level) level { + if a > b { + return a + } + return b +} + +// Rule X10, second bullet: Determine the start-of-sequence (sos) and end-of-sequence (eos) types, +// either L or R, for each isolating run sequence. +func (p *paragraph) isolatingRunSequence(indexes []int) *isolatingRunSequence { + length := len(indexes) + types := make([]Class, length) + for i, x := range indexes { + types[i] = p.resultTypes[x] + } + + // assign level, sos and eos + prevChar := indexes[0] - 1 + for prevChar >= 0 && isRemovedByX9(p.initialTypes[prevChar]) { + prevChar-- + } + prevLevel := p.embeddingLevel + if prevChar >= 0 { + prevLevel = p.resultLevels[prevChar] + } + + var succLevel level + lastType := types[length-1] + if lastType.in(LRI, RLI, FSI) { + succLevel = p.embeddingLevel + } else { + // the first character after the end of run sequence + limit := indexes[length-1] + 1 + for ; limit < p.Len() && isRemovedByX9(p.initialTypes[limit]); limit++ { + + } + succLevel = p.embeddingLevel + if limit < p.Len() { + succLevel = p.resultLevels[limit] + } + } + level := p.resultLevels[indexes[0]] + return &isolatingRunSequence{ + p: p, + indexes: indexes, + types: types, + level: level, + sos: typeForLevel(maxLevel(prevLevel, level)), + eos: typeForLevel(maxLevel(succLevel, level)), + } +} + +// Resolving weak types Rules W1-W7. +// +// Note that some weak types (EN, AN) remain after this processing is +// complete. +func (s *isolatingRunSequence) resolveWeakTypes() { + + // on entry, only these types remain + s.assertOnly(L, R, AL, EN, ES, ET, AN, CS, B, S, WS, ON, NSM, LRI, RLI, FSI, PDI) + + // Rule W1. + // Changes all NSMs. + precedingCharacterType := s.sos + for i, t := range s.types { + if t == NSM { + s.types[i] = precedingCharacterType + } else { + if t.in(LRI, RLI, FSI, PDI) { + precedingCharacterType = ON + } + precedingCharacterType = t + } + } + + // Rule W2. + // EN does not change at the start of the run, because sos != AL. + for i, t := range s.types { + if t == EN { + for j := i - 1; j >= 0; j-- { + if t := s.types[j]; t.in(L, R, AL) { + if t == AL { + s.types[i] = AN + } + break + } + } + } + } + + // Rule W3. + for i, t := range s.types { + if t == AL { + s.types[i] = R + } + } + + // Rule W4. + // Since there must be values on both sides for this rule to have an + // effect, the scan skips the first and last value. + // + // Although the scan proceeds left to right, and changes the type + // values in a way that would appear to affect the computations + // later in the scan, there is actually no problem. A change in the + // current value can only affect the value to its immediate right, + // and only affect it if it is ES or CS. But the current value can + // only change if the value to its right is not ES or CS. Thus + // either the current value will not change, or its change will have + // no effect on the remainder of the analysis. + + for i := 1; i < s.Len()-1; i++ { + t := s.types[i] + if t == ES || t == CS { + prevSepType := s.types[i-1] + succSepType := s.types[i+1] + if prevSepType == EN && succSepType == EN { + s.types[i] = EN + } else if s.types[i] == CS && prevSepType == AN && succSepType == AN { + s.types[i] = AN + } + } + } + + // Rule W5. + for i, t := range s.types { + if t == ET { + // locate end of sequence + runStart := i + runEnd := s.findRunLimit(runStart, ET) + + // check values at ends of sequence + t := s.sos + if runStart > 0 { + t = s.types[runStart-1] + } + if t != EN { + t = s.eos + if runEnd < len(s.types) { + t = s.types[runEnd] + } + } + if t == EN { + setTypes(s.types[runStart:runEnd], EN) + } + // continue at end of sequence + i = runEnd + } + } + + // Rule W6. + for i, t := range s.types { + if t.in(ES, ET, CS) { + s.types[i] = ON + } + } + + // Rule W7. + for i, t := range s.types { + if t == EN { + // set default if we reach start of run + prevStrongType := s.sos + for j := i - 1; j >= 0; j-- { + t = s.types[j] + if t == L || t == R { // AL's have been changed to R + prevStrongType = t + break + } + } + if prevStrongType == L { + s.types[i] = L + } + } + } +} + +// 6) resolving neutral types Rules N1-N2. +func (s *isolatingRunSequence) resolveNeutralTypes() { + + // on entry, only these types can be in resultTypes + s.assertOnly(L, R, EN, AN, B, S, WS, ON, RLI, LRI, FSI, PDI) + + for i, t := range s.types { + switch t { + case WS, ON, B, S, RLI, LRI, FSI, PDI: + // find bounds of run of neutrals + runStart := i + runEnd := s.findRunLimit(runStart, B, S, WS, ON, RLI, LRI, FSI, PDI) + + // determine effective types at ends of run + var leadType, trailType Class + + // Note that the character found can only be L, R, AN, or + // EN. + if runStart == 0 { + leadType = s.sos + } else { + leadType = s.types[runStart-1] + if leadType.in(AN, EN) { + leadType = R + } + } + if runEnd == len(s.types) { + trailType = s.eos + } else { + trailType = s.types[runEnd] + if trailType.in(AN, EN) { + trailType = R + } + } + + var resolvedType Class + if leadType == trailType { + // Rule N1. + resolvedType = leadType + } else { + // Rule N2. + // Notice the embedding level of the run is used, not + // the paragraph embedding level. + resolvedType = typeForLevel(s.level) + } + + setTypes(s.types[runStart:runEnd], resolvedType) + + // skip over run of (former) neutrals + i = runEnd + } + } +} + +func setLevels(levels []level, newLevel level) { + for i := range levels { + levels[i] = newLevel + } +} + +func setTypes(types []Class, newType Class) { + for i := range types { + types[i] = newType + } +} + +// 7) resolving implicit embedding levels Rules I1, I2. +func (s *isolatingRunSequence) resolveImplicitLevels() { + + // on entry, only these types can be in resultTypes + s.assertOnly(L, R, EN, AN) + + s.resolvedLevels = make([]level, len(s.types)) + setLevels(s.resolvedLevels, s.level) + + if (s.level & 1) == 0 { // even level + for i, t := range s.types { + // Rule I1. + if t == L { + // no change + } else if t == R { + s.resolvedLevels[i] += 1 + } else { // t == AN || t == EN + s.resolvedLevels[i] += 2 + } + } + } else { // odd level + for i, t := range s.types { + // Rule I2. + if t == R { + // no change + } else { // t == L || t == AN || t == EN + s.resolvedLevels[i] += 1 + } + } + } +} + +// Applies the levels and types resolved in rules W1-I2 to the +// resultLevels array. +func (s *isolatingRunSequence) applyLevelsAndTypes() { + for i, x := range s.indexes { + s.p.resultTypes[x] = s.types[i] + s.p.resultLevels[x] = s.resolvedLevels[i] + } +} + +// Return the limit of the run consisting only of the types in validSet +// starting at index. This checks the value at index, and will return +// index if that value is not in validSet. +func (s *isolatingRunSequence) findRunLimit(index int, validSet ...Class) int { +loop: + for ; index < len(s.types); index++ { + t := s.types[index] + for _, valid := range validSet { + if t == valid { + continue loop + } + } + return index // didn't find a match in validSet + } + return len(s.types) +} + +// Algorithm validation. Assert that all values in types are in the +// provided set. +func (s *isolatingRunSequence) assertOnly(codes ...Class) { +loop: + for i, t := range s.types { + for _, c := range codes { + if t == c { + continue loop + } + } + log.Panicf("invalid bidi code %v present in assertOnly at position %d", t, s.indexes[i]) + } +} + +// determineLevelRuns returns an array of level runs. Each level run is +// described as an array of indexes into the input string. +// +// Determines the level runs. Rule X9 will be applied in determining the +// runs, in the way that makes sure the characters that are supposed to be +// removed are not included in the runs. +func (p *paragraph) determineLevelRuns() [][]int { + run := []int{} + allRuns := [][]int{} + currentLevel := implicitLevel + + for i := range p.initialTypes { + if !isRemovedByX9(p.initialTypes[i]) { + if p.resultLevels[i] != currentLevel { + // we just encountered a new run; wrap up last run + if currentLevel >= 0 { // only wrap it up if there was a run + allRuns = append(allRuns, run) + run = nil + } + // Start new run + currentLevel = p.resultLevels[i] + } + run = append(run, i) + } + } + // Wrap up the final run, if any + if len(run) > 0 { + allRuns = append(allRuns, run) + } + return allRuns +} + +// Definition BD13. Determine isolating run sequences. +func (p *paragraph) determineIsolatingRunSequences() []*isolatingRunSequence { + levelRuns := p.determineLevelRuns() + + // Compute the run that each character belongs to + runForCharacter := make([]int, p.Len()) + for i, run := range levelRuns { + for _, index := range run { + runForCharacter[index] = i + } + } + + sequences := []*isolatingRunSequence{} + + var currentRunSequence []int + + for _, run := range levelRuns { + first := run[0] + if p.initialTypes[first] != PDI || p.matchingIsolateInitiator[first] == -1 { + currentRunSequence = nil + // int run = i; + for { + // Copy this level run into currentRunSequence + currentRunSequence = append(currentRunSequence, run...) + + last := currentRunSequence[len(currentRunSequence)-1] + lastT := p.initialTypes[last] + if lastT.in(LRI, RLI, FSI) && p.matchingPDI[last] != p.Len() { + run = levelRuns[runForCharacter[p.matchingPDI[last]]] + } else { + break + } + } + sequences = append(sequences, p.isolatingRunSequence(currentRunSequence)) + } + } + return sequences +} + +// Assign level information to characters removed by rule X9. This is for +// ease of relating the level information to the original input data. Note +// that the levels assigned to these codes are arbitrary, they're chosen so +// as to avoid breaking level runs. +func (p *paragraph) assignLevelsToCharactersRemovedByX9() { + for i, t := range p.initialTypes { + if t.in(LRE, RLE, LRO, RLO, PDF, BN) { + p.resultTypes[i] = t + p.resultLevels[i] = -1 + } + } + // now propagate forward the levels information (could have + // propagated backward, the main thing is not to introduce a level + // break where one doesn't already exist). + + if p.resultLevels[0] == -1 { + p.resultLevels[0] = p.embeddingLevel + } + for i := 1; i < len(p.initialTypes); i++ { + if p.resultLevels[i] == -1 { + p.resultLevels[i] = p.resultLevels[i-1] + } + } + // Embedding information is for informational purposes only so need not be + // adjusted. +} + +// +// Output +// + +// getLevels computes levels array breaking lines at offsets in linebreaks. +// Rule L1. +// +// The linebreaks array must include at least one value. The values must be +// in strictly increasing order (no duplicates) between 1 and the length of +// the text, inclusive. The last value must be the length of the text. +func (p *paragraph) getLevels(linebreaks []int) []level { + // Note that since the previous processing has removed all + // P, S, and WS values from resultTypes, the values referred to + // in these rules are the initial types, before any processing + // has been applied (including processing of overrides). + // + // This example implementation has reinserted explicit format codes + // and BN, in order that the levels array correspond to the + // initial text. Their final placement is not normative. + // These codes are treated like WS in this implementation, + // so they don't interrupt sequences of WS. + + validateLineBreaks(linebreaks, p.Len()) + + result := append([]level(nil), p.resultLevels...) + + // don't worry about linebreaks since if there is a break within + // a series of WS values preceding S, the linebreak itself + // causes the reset. + for i, t := range p.initialTypes { + if t.in(B, S) { + // Rule L1, clauses one and two. + result[i] = p.embeddingLevel + + // Rule L1, clause three. + for j := i - 1; j >= 0; j-- { + if isWhitespace(p.initialTypes[j]) { // including format codes + result[j] = p.embeddingLevel + } else { + break + } + } + } + } + + // Rule L1, clause four. + start := 0 + for _, limit := range linebreaks { + for j := limit - 1; j >= start; j-- { + if isWhitespace(p.initialTypes[j]) { // including format codes + result[j] = p.embeddingLevel + } else { + break + } + } + start = limit + } + + return result +} + +// getReordering returns the reordering of lines from a visual index to a +// logical index for line breaks at the given offsets. +// +// Lines are concatenated from left to right. So for example, the fifth +// character from the left on the third line is +// +// getReordering(linebreaks)[linebreaks[1] + 4] +// +// (linebreaks[1] is the position after the last character of the second +// line, which is also the index of the first character on the third line, +// and adding four gets the fifth character from the left). +// +// The linebreaks array must include at least one value. The values must be +// in strictly increasing order (no duplicates) between 1 and the length of +// the text, inclusive. The last value must be the length of the text. +func (p *paragraph) getReordering(linebreaks []int) []int { + validateLineBreaks(linebreaks, p.Len()) + + return computeMultilineReordering(p.getLevels(linebreaks), linebreaks) +} + +// Return multiline reordering array for a given level array. Reordering +// does not occur across a line break. +func computeMultilineReordering(levels []level, linebreaks []int) []int { + result := make([]int, len(levels)) + + start := 0 + for _, limit := range linebreaks { + tempLevels := make([]level, limit-start) + copy(tempLevels, levels[start:]) + + for j, order := range computeReordering(tempLevels) { + result[start+j] = order + start + } + start = limit + } + return result +} + +// Return reordering array for a given level array. This reorders a single +// line. The reordering is a visual to logical map. For example, the +// leftmost char is string.charAt(order[0]). Rule L2. +func computeReordering(levels []level) []int { + result := make([]int, len(levels)) + // initialize order + for i := range result { + result[i] = i + } + + // locate highest level found on line. + // Note the rules say text, but no reordering across line bounds is + // performed, so this is sufficient. + highestLevel := level(0) + lowestOddLevel := level(maxDepth + 2) + for _, level := range levels { + if level > highestLevel { + highestLevel = level + } + if level&1 != 0 && level < lowestOddLevel { + lowestOddLevel = level + } + } + + for level := highestLevel; level >= lowestOddLevel; level-- { + for i := 0; i < len(levels); i++ { + if levels[i] >= level { + // find range of text at or above this level + start := i + limit := i + 1 + for limit < len(levels) && levels[limit] >= level { + limit++ + } + + for j, k := start, limit-1; j < k; j, k = j+1, k-1 { + result[j], result[k] = result[k], result[j] + } + // skip to end of level run + i = limit + } + } + } + + return result +} + +// isWhitespace reports whether the type is considered a whitespace type for the +// line break rules. +func isWhitespace(c Class) bool { + switch c { + case LRE, RLE, LRO, RLO, PDF, LRI, RLI, FSI, PDI, BN, WS: + return true + } + return false +} + +// isRemovedByX9 reports whether the type is one of the types removed in X9. +func isRemovedByX9(c Class) bool { + switch c { + case LRE, RLE, LRO, RLO, PDF, BN: + return true + } + return false +} + +// typeForLevel reports the strong type (L or R) corresponding to the level. +func typeForLevel(level level) Class { + if (level & 0x1) == 0 { + return L + } + return R +} + +func validateTypes(types []Class) error { + if len(types) == 0 { + return fmt.Errorf("types is null") + } + for i, t := range types[:len(types)-1] { + if t == B { + return fmt.Errorf("B type before end of paragraph at index: %d", i) + } + } + return nil +} + +func validateParagraphEmbeddingLevel(embeddingLevel level) error { + if embeddingLevel != implicitLevel && + embeddingLevel != 0 && + embeddingLevel != 1 { + return fmt.Errorf("illegal paragraph embedding level: %d", embeddingLevel) + } + return nil +} + +func validateLineBreaks(linebreaks []int, textLength int) error { + prev := 0 + for i, next := range linebreaks { + if next <= prev { + return fmt.Errorf("bad linebreak: %d at index: %d", next, i) + } + prev = next + } + if prev != textLength { + return fmt.Errorf("last linebreak was %d, want %d", prev, textLength) + } + return nil +} + +func validatePbTypes(pairTypes []bracketType) error { + if len(pairTypes) == 0 { + return fmt.Errorf("pairTypes is null") + } + for i, pt := range pairTypes { + switch pt { + case bpNone, bpOpen, bpClose: + default: + return fmt.Errorf("illegal pairType value at %d: %v", i, pairTypes[i]) + } + } + return nil +} + +func validatePbValues(pairValues []rune, pairTypes []bracketType) error { + if pairValues == nil { + return fmt.Errorf("pairValues is null") + } + if len(pairTypes) != len(pairValues) { + return fmt.Errorf("pairTypes is different length from pairValues") + } + return nil +} diff --git a/vendor/golang.org/x/text/unicode/bidi/prop.go b/vendor/golang.org/x/text/unicode/bidi/prop.go new file mode 100644 index 000000000..7c9484e1f --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/prop.go @@ -0,0 +1,206 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import "unicode/utf8" + +// Properties provides access to BiDi properties of runes. +type Properties struct { + entry uint8 + last uint8 +} + +var trie = newBidiTrie(0) + +// TODO: using this for bidirule reduces the running time by about 5%. Consider +// if this is worth exposing or if we can find a way to speed up the Class +// method. +// +// // CompactClass is like Class, but maps all of the BiDi control classes +// // (LRO, RLO, LRE, RLE, PDF, LRI, RLI, FSI, PDI) to the class Control. +// func (p Properties) CompactClass() Class { +// return Class(p.entry & 0x0F) +// } + +// Class returns the Bidi class for p. +func (p Properties) Class() Class { + c := Class(p.entry & 0x0F) + if c == Control { + c = controlByteToClass[p.last&0xF] + } + return c +} + +// IsBracket reports whether the rune is a bracket. +func (p Properties) IsBracket() bool { return p.entry&0xF0 != 0 } + +// IsOpeningBracket reports whether the rune is an opening bracket. +// IsBracket must return true. +func (p Properties) IsOpeningBracket() bool { return p.entry&openMask != 0 } + +// TODO: find a better API and expose. +func (p Properties) reverseBracket(r rune) rune { + return xorMasks[p.entry>>xorMaskShift] ^ r +} + +var controlByteToClass = [16]Class{ + 0xD: LRO, // U+202D LeftToRightOverride, + 0xE: RLO, // U+202E RightToLeftOverride, + 0xA: LRE, // U+202A LeftToRightEmbedding, + 0xB: RLE, // U+202B RightToLeftEmbedding, + 0xC: PDF, // U+202C PopDirectionalFormat, + 0x6: LRI, // U+2066 LeftToRightIsolate, + 0x7: RLI, // U+2067 RightToLeftIsolate, + 0x8: FSI, // U+2068 FirstStrongIsolate, + 0x9: PDI, // U+2069 PopDirectionalIsolate, +} + +// LookupRune returns properties for r. +func LookupRune(r rune) (p Properties, size int) { + var buf [4]byte + n := utf8.EncodeRune(buf[:], r) + return Lookup(buf[:n]) +} + +// TODO: these lookup methods are based on the generated trie code. The returned +// sizes have slightly different semantics from the generated code, in that it +// always returns size==1 for an illegal UTF-8 byte (instead of the length +// of the maximum invalid subsequence). Most Transformers, like unicode/norm, +// leave invalid UTF-8 untouched, in which case it has performance benefits to +// do so (without changing the semantics). Bidi requires the semantics used here +// for the bidirule implementation to be compatible with the Go semantics. +// They ultimately should perhaps be adopted by all trie implementations, for +// convenience sake. +// This unrolled code also boosts performance of the secure/bidirule package by +// about 30%. +// So, to remove this code: +// - add option to trie generator to define return type. +// - always return 1 byte size for ill-formed UTF-8 runes. + +// Lookup returns properties for the first rune in s and the width in bytes of +// its encoding. The size will be 0 if s does not hold enough bytes to complete +// the encoding. +func Lookup(s []byte) (p Properties, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return Properties{entry: bidiValues[c0]}, 1 + case c0 < 0xC2: + return Properties{}, 1 + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c1)}, 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c3)}, 4 + } + // Illegal rune + return Properties{}, 1 +} + +// LookupString returns properties for the first rune in s and the width in +// bytes of its encoding. The size will be 0 if s does not hold enough bytes to +// complete the encoding. +func LookupString(s string) (p Properties, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return Properties{entry: bidiValues[c0]}, 1 + case c0 < 0xC2: + return Properties{}, 1 + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c1)}, 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c3)}, 4 + } + // Illegal rune + return Properties{}, 1 +} diff --git a/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go new file mode 100644 index 000000000..42fa8d72c --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go @@ -0,0 +1,1816 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.10 && !go1.13 +// +build go1.10,!go1.13 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "10.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 16128 bytes (15.75 KiB). Checksum: 8122d83e461996f. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 228 blocks, 14592 entries, 14592 bytes +// The third block is the zero block. +var bidiValues = [14592]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, + 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, + 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, + 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, + 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, + // Block 0x5e, offset 0x1780 + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, + 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, + 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, + 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, + 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, + 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, + 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, + 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, + 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, + 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, + 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, + 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, + 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, + 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, + 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, + 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, + 0x19ea: 0x000a, 0x19ef: 0x000c, + 0x19f0: 0x000c, 0x19f1: 0x000c, + 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, + 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a3f: 0x000c, + // Block 0x69, offset 0x1a40 + 0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c, + 0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c, + 0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c, + 0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c, + 0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c, + 0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, + 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, + 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a, + 0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a, + 0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a, + 0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a, + 0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a, + 0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a, + 0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a, + 0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a, + 0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, + 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, + 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, + 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, + 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, + 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a, + 0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a, + 0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a, + 0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, + 0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a, + 0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a, + 0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a, + 0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a, + 0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c, + 0x1bf0: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, + 0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a, + 0x1c20: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c7b: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a, + 0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a, + 0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a, + 0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a, + 0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a, + 0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cdd: 0x000a, + 0x1cde: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d10: 0x000a, 0x1d11: 0x000a, + 0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a, + 0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a, + 0x1d1e: 0x000a, 0x1d1f: 0x000a, + 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a, + 0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e1e: 0x000a, 0x1e1f: 0x000a, + 0x1e3f: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e50: 0x000a, 0x1e51: 0x000a, + 0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a, + 0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a, + 0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a, + 0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a, + 0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a, + 0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a, + 0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a, + 0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a, + 0x1e86: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f2f: 0x000c, + 0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c, + 0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c, + 0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f5e: 0x000c, 0x1f5f: 0x000c, + // Block 0x7e, offset 0x1f80 + 0x1fb0: 0x000c, 0x1fb1: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a, + 0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a, + 0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a, + 0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a, + 0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a, + 0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a, + // Block 0x80, offset 0x2000 + 0x2008: 0x000a, + // Block 0x81, offset 0x2040 + 0x2042: 0x000c, + 0x2046: 0x000c, 0x204b: 0x000c, + 0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a, + 0x206a: 0x000a, 0x206b: 0x000a, + 0x2078: 0x0004, 0x2079: 0x0004, + // Block 0x82, offset 0x2080 + 0x20b4: 0x000a, 0x20b5: 0x000a, + 0x20b6: 0x000a, 0x20b7: 0x000a, + // Block 0x83, offset 0x20c0 + 0x20c4: 0x000c, 0x20c5: 0x000c, + 0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c, + 0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, + 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c, + 0x20f0: 0x000c, 0x20f1: 0x000c, + // Block 0x84, offset 0x2100 + 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, + // Block 0x85, offset 0x2140 + 0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c, + 0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c, + // Block 0x86, offset 0x2180 + 0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c, + 0x21b3: 0x000c, + 0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c, + 0x21bc: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21e5: 0x000c, + // Block 0x88, offset 0x2200 + 0x2229: 0x000c, + 0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c, + 0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c, + 0x2236: 0x000c, + // Block 0x89, offset 0x2240 + 0x2243: 0x000c, + 0x224c: 0x000c, + 0x227c: 0x000c, + // Block 0x8a, offset 0x2280 + 0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c, + 0x22b7: 0x000c, 0x22b8: 0x000c, + 0x22be: 0x000c, 0x22bf: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22c1: 0x000c, + 0x22ec: 0x000c, 0x22ed: 0x000c, + 0x22f6: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2325: 0x000c, 0x2328: 0x000c, + 0x232d: 0x000c, + // Block 0x8d, offset 0x2340 + 0x235d: 0x0001, + 0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001, + 0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003, + 0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001, + 0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001, + 0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001, + 0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001, + // Block 0x8e, offset 0x2380 + 0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001, + 0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001, + 0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d, + 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, + 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, + 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, + 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, + 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, + 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, + 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, + 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, + 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, + 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, + 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, + 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, + 0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d, + 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a, + // Block 0x90, offset 0x2400 + 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, + 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b, + 0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b, + 0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b, + 0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b, + 0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b, + 0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d, + // Block 0x91, offset 0x2440 + 0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c, + 0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c, + 0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a, + 0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a, + 0x2458: 0x000a, 0x2459: 0x000a, + 0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c, + 0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c, + 0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c, + 0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a, + 0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a, + 0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a, + // Block 0x92, offset 0x2480 + 0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a, + 0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a, + 0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a, + 0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a, + 0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003, + 0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004, + 0x24aa: 0x0004, 0x24ab: 0x000a, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d, + 0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d, + 0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d, + 0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d, + 0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d, + 0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d, + 0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d, + 0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d, + 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, + 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b, + // Block 0x94, offset 0x2500 + 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004, + 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003, + 0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002, + 0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002, + 0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a, + 0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a, + 0x253b: 0x005a, + 0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a, + // Block 0x95, offset 0x2540 + 0x2540: 0x000a, + 0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a, + 0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a, + 0x2564: 0x000a, 0x2565: 0x000a, + // Block 0x96, offset 0x2580 + 0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a, + 0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a, + 0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a, + 0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b, + 0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a, + 0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b, + // Block 0x97, offset 0x25c0 + 0x25c1: 0x000a, + // Block 0x98, offset 0x2600 + 0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a, + 0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a, + 0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a, + 0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a, + 0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a, + 0x2620: 0x000a, + // Block 0x99, offset 0x2640 + 0x267d: 0x000c, + // Block 0x9a, offset 0x2680 + 0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002, + 0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002, + 0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002, + 0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002, + 0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002, + // Block 0x9b, offset 0x26c0 + 0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c, + // Block 0x9c, offset 0x2700 + 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, + 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, + 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, + 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, + 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, + 0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, + 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, + 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, + 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, + 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, + 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, + 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c, + 0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, + 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a, + 0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a, + // Block 0xa1, offset 0x2840 + 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, + 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, + 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, + 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, + 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, + 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005, + 0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005, + 0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005, + 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, + 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005, + 0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001, + // Block 0xa2, offset 0x2880 + 0x2881: 0x000c, + 0x28b8: 0x000c, 0x28b9: 0x000c, 0x28ba: 0x000c, 0x28bb: 0x000c, + 0x28bc: 0x000c, 0x28bd: 0x000c, 0x28be: 0x000c, 0x28bf: 0x000c, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x000c, 0x28c1: 0x000c, 0x28c2: 0x000c, 0x28c3: 0x000c, 0x28c4: 0x000c, 0x28c5: 0x000c, + 0x28c6: 0x000c, + 0x28d2: 0x000a, 0x28d3: 0x000a, 0x28d4: 0x000a, 0x28d5: 0x000a, 0x28d6: 0x000a, 0x28d7: 0x000a, + 0x28d8: 0x000a, 0x28d9: 0x000a, 0x28da: 0x000a, 0x28db: 0x000a, 0x28dc: 0x000a, 0x28dd: 0x000a, + 0x28de: 0x000a, 0x28df: 0x000a, 0x28e0: 0x000a, 0x28e1: 0x000a, 0x28e2: 0x000a, 0x28e3: 0x000a, + 0x28e4: 0x000a, 0x28e5: 0x000a, + 0x28ff: 0x000c, + // Block 0xa4, offset 0x2900 + 0x2900: 0x000c, 0x2901: 0x000c, + 0x2933: 0x000c, 0x2934: 0x000c, 0x2935: 0x000c, + 0x2936: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c, + // Block 0xa5, offset 0x2940 + 0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c, + 0x2967: 0x000c, 0x2968: 0x000c, 0x2969: 0x000c, + 0x296a: 0x000c, 0x296b: 0x000c, 0x296d: 0x000c, 0x296e: 0x000c, 0x296f: 0x000c, + 0x2970: 0x000c, 0x2971: 0x000c, 0x2972: 0x000c, 0x2973: 0x000c, 0x2974: 0x000c, + // Block 0xa6, offset 0x2980 + 0x29b3: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x000c, 0x29c1: 0x000c, + 0x29f6: 0x000c, 0x29f7: 0x000c, 0x29f8: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, 0x29fb: 0x000c, + 0x29fc: 0x000c, 0x29fd: 0x000c, 0x29fe: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a0a: 0x000c, 0x2a0b: 0x000c, + 0x2a0c: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a6f: 0x000c, + 0x2a70: 0x000c, 0x2a71: 0x000c, 0x2a74: 0x000c, + 0x2a76: 0x000c, 0x2a77: 0x000c, + 0x2a7e: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2a9f: 0x000c, 0x2aa3: 0x000c, + 0x2aa4: 0x000c, 0x2aa5: 0x000c, 0x2aa6: 0x000c, 0x2aa7: 0x000c, 0x2aa8: 0x000c, 0x2aa9: 0x000c, + 0x2aaa: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2ac0: 0x000c, 0x2ac1: 0x000c, + 0x2afc: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b00: 0x000c, + 0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c, + 0x2b2a: 0x000c, 0x2b2b: 0x000c, 0x2b2c: 0x000c, + 0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b32: 0x000c, 0x2b33: 0x000c, 0x2b34: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c, + 0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, 0x2b7f: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2b82: 0x000c, 0x2b83: 0x000c, 0x2b84: 0x000c, + 0x2b86: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bf3: 0x000c, 0x2bf4: 0x000c, 0x2bf5: 0x000c, + 0x2bf6: 0x000c, 0x2bf7: 0x000c, 0x2bf8: 0x000c, 0x2bfa: 0x000c, + 0x2bff: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c00: 0x000c, 0x2c02: 0x000c, 0x2c03: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c, + 0x2c7c: 0x000c, 0x2c7d: 0x000c, 0x2c7f: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2c80: 0x000c, + 0x2c9c: 0x000c, 0x2c9d: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c, + 0x2cf6: 0x000c, 0x2cf7: 0x000c, 0x2cf8: 0x000c, 0x2cf9: 0x000c, 0x2cfa: 0x000c, + 0x2cfd: 0x000c, 0x2cff: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d00: 0x000c, + 0x2d20: 0x000a, 0x2d21: 0x000a, 0x2d22: 0x000a, 0x2d23: 0x000a, + 0x2d24: 0x000a, 0x2d25: 0x000a, 0x2d26: 0x000a, 0x2d27: 0x000a, 0x2d28: 0x000a, 0x2d29: 0x000a, + 0x2d2a: 0x000a, 0x2d2b: 0x000a, 0x2d2c: 0x000a, + // Block 0xb5, offset 0x2d40 + 0x2d6b: 0x000c, 0x2d6d: 0x000c, + 0x2d70: 0x000c, 0x2d71: 0x000c, 0x2d72: 0x000c, 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c, + 0x2d77: 0x000c, + // Block 0xb6, offset 0x2d80 + 0x2d9d: 0x000c, + 0x2d9e: 0x000c, 0x2d9f: 0x000c, 0x2da2: 0x000c, 0x2da3: 0x000c, + 0x2da4: 0x000c, 0x2da5: 0x000c, 0x2da7: 0x000c, 0x2da8: 0x000c, 0x2da9: 0x000c, + 0x2daa: 0x000c, 0x2dab: 0x000c, + // Block 0xb7, offset 0x2dc0 + 0x2dc1: 0x000c, 0x2dc2: 0x000c, 0x2dc3: 0x000c, 0x2dc4: 0x000c, 0x2dc5: 0x000c, + 0x2dc6: 0x000c, 0x2dc9: 0x000c, 0x2dca: 0x000c, + 0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c, + 0x2df6: 0x000c, 0x2df7: 0x000c, 0x2df8: 0x000c, 0x2dfb: 0x000c, + 0x2dfc: 0x000c, 0x2dfd: 0x000c, 0x2dfe: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e07: 0x000c, + 0x2e11: 0x000c, + 0x2e12: 0x000c, 0x2e13: 0x000c, 0x2e14: 0x000c, 0x2e15: 0x000c, 0x2e16: 0x000c, + 0x2e19: 0x000c, 0x2e1a: 0x000c, 0x2e1b: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e4a: 0x000c, 0x2e4b: 0x000c, + 0x2e4c: 0x000c, 0x2e4d: 0x000c, 0x2e4e: 0x000c, 0x2e4f: 0x000c, 0x2e50: 0x000c, 0x2e51: 0x000c, + 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, + 0x2e58: 0x000c, 0x2e59: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb6: 0x000c, 0x2eb8: 0x000c, 0x2eb9: 0x000c, 0x2eba: 0x000c, 0x2ebb: 0x000c, + 0x2ebc: 0x000c, 0x2ebd: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, 0x2ed7: 0x000c, + 0x2ed8: 0x000c, 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, 0x2edc: 0x000c, 0x2edd: 0x000c, + 0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee0: 0x000c, 0x2ee1: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c, + 0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee6: 0x000c, 0x2ee7: 0x000c, + 0x2eea: 0x000c, 0x2eeb: 0x000c, 0x2eec: 0x000c, 0x2eed: 0x000c, 0x2eee: 0x000c, 0x2eef: 0x000c, + 0x2ef0: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef5: 0x000c, + 0x2ef6: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c, + 0x2f36: 0x000c, 0x2f3a: 0x000c, + 0x2f3c: 0x000c, 0x2f3d: 0x000c, 0x2f3f: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f40: 0x000c, 0x2f41: 0x000c, 0x2f42: 0x000c, 0x2f43: 0x000c, 0x2f44: 0x000c, 0x2f45: 0x000c, + 0x2f47: 0x000c, + // Block 0xbe, offset 0x2f80 + 0x2fb0: 0x000c, 0x2fb1: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb4: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2ff0: 0x000c, 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, + 0x2ff6: 0x000c, + // Block 0xc0, offset 0x3000 + 0x300f: 0x000c, 0x3010: 0x000c, 0x3011: 0x000c, + 0x3012: 0x000c, + // Block 0xc1, offset 0x3040 + 0x305d: 0x000c, + 0x305e: 0x000c, 0x3060: 0x000b, 0x3061: 0x000b, 0x3062: 0x000b, 0x3063: 0x000b, + // Block 0xc2, offset 0x3080 + 0x30a7: 0x000c, 0x30a8: 0x000c, 0x30a9: 0x000c, + 0x30b3: 0x000b, 0x30b4: 0x000b, 0x30b5: 0x000b, + 0x30b6: 0x000b, 0x30b7: 0x000b, 0x30b8: 0x000b, 0x30b9: 0x000b, 0x30ba: 0x000b, 0x30bb: 0x000c, + 0x30bc: 0x000c, 0x30bd: 0x000c, 0x30be: 0x000c, 0x30bf: 0x000c, + // Block 0xc3, offset 0x30c0 + 0x30c0: 0x000c, 0x30c1: 0x000c, 0x30c2: 0x000c, 0x30c5: 0x000c, + 0x30c6: 0x000c, 0x30c7: 0x000c, 0x30c8: 0x000c, 0x30c9: 0x000c, 0x30ca: 0x000c, 0x30cb: 0x000c, + 0x30ea: 0x000c, 0x30eb: 0x000c, 0x30ec: 0x000c, 0x30ed: 0x000c, + // Block 0xc4, offset 0x3100 + 0x3100: 0x000a, 0x3101: 0x000a, 0x3102: 0x000c, 0x3103: 0x000c, 0x3104: 0x000c, 0x3105: 0x000a, + // Block 0xc5, offset 0x3140 + 0x3140: 0x000a, 0x3141: 0x000a, 0x3142: 0x000a, 0x3143: 0x000a, 0x3144: 0x000a, 0x3145: 0x000a, + 0x3146: 0x000a, 0x3147: 0x000a, 0x3148: 0x000a, 0x3149: 0x000a, 0x314a: 0x000a, 0x314b: 0x000a, + 0x314c: 0x000a, 0x314d: 0x000a, 0x314e: 0x000a, 0x314f: 0x000a, 0x3150: 0x000a, 0x3151: 0x000a, + 0x3152: 0x000a, 0x3153: 0x000a, 0x3154: 0x000a, 0x3155: 0x000a, 0x3156: 0x000a, + // Block 0xc6, offset 0x3180 + 0x319b: 0x000a, + // Block 0xc7, offset 0x31c0 + 0x31d5: 0x000a, + // Block 0xc8, offset 0x3200 + 0x320f: 0x000a, + // Block 0xc9, offset 0x3240 + 0x3249: 0x000a, + // Block 0xca, offset 0x3280 + 0x3283: 0x000a, + 0x328e: 0x0002, 0x328f: 0x0002, 0x3290: 0x0002, 0x3291: 0x0002, + 0x3292: 0x0002, 0x3293: 0x0002, 0x3294: 0x0002, 0x3295: 0x0002, 0x3296: 0x0002, 0x3297: 0x0002, + 0x3298: 0x0002, 0x3299: 0x0002, 0x329a: 0x0002, 0x329b: 0x0002, 0x329c: 0x0002, 0x329d: 0x0002, + 0x329e: 0x0002, 0x329f: 0x0002, 0x32a0: 0x0002, 0x32a1: 0x0002, 0x32a2: 0x0002, 0x32a3: 0x0002, + 0x32a4: 0x0002, 0x32a5: 0x0002, 0x32a6: 0x0002, 0x32a7: 0x0002, 0x32a8: 0x0002, 0x32a9: 0x0002, + 0x32aa: 0x0002, 0x32ab: 0x0002, 0x32ac: 0x0002, 0x32ad: 0x0002, 0x32ae: 0x0002, 0x32af: 0x0002, + 0x32b0: 0x0002, 0x32b1: 0x0002, 0x32b2: 0x0002, 0x32b3: 0x0002, 0x32b4: 0x0002, 0x32b5: 0x0002, + 0x32b6: 0x0002, 0x32b7: 0x0002, 0x32b8: 0x0002, 0x32b9: 0x0002, 0x32ba: 0x0002, 0x32bb: 0x0002, + 0x32bc: 0x0002, 0x32bd: 0x0002, 0x32be: 0x0002, 0x32bf: 0x0002, + // Block 0xcb, offset 0x32c0 + 0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c3: 0x000c, 0x32c4: 0x000c, 0x32c5: 0x000c, + 0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c, + 0x32cc: 0x000c, 0x32cd: 0x000c, 0x32ce: 0x000c, 0x32cf: 0x000c, 0x32d0: 0x000c, 0x32d1: 0x000c, + 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x000c, + 0x32d8: 0x000c, 0x32d9: 0x000c, 0x32da: 0x000c, 0x32db: 0x000c, 0x32dc: 0x000c, 0x32dd: 0x000c, + 0x32de: 0x000c, 0x32df: 0x000c, 0x32e0: 0x000c, 0x32e1: 0x000c, 0x32e2: 0x000c, 0x32e3: 0x000c, + 0x32e4: 0x000c, 0x32e5: 0x000c, 0x32e6: 0x000c, 0x32e7: 0x000c, 0x32e8: 0x000c, 0x32e9: 0x000c, + 0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, 0x32ee: 0x000c, 0x32ef: 0x000c, + 0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c, + 0x32f6: 0x000c, 0x32fb: 0x000c, + 0x32fc: 0x000c, 0x32fd: 0x000c, 0x32fe: 0x000c, 0x32ff: 0x000c, + // Block 0xcc, offset 0x3300 + 0x3300: 0x000c, 0x3301: 0x000c, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000c, + 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x000c, + 0x330c: 0x000c, 0x330d: 0x000c, 0x330e: 0x000c, 0x330f: 0x000c, 0x3310: 0x000c, 0x3311: 0x000c, + 0x3312: 0x000c, 0x3313: 0x000c, 0x3314: 0x000c, 0x3315: 0x000c, 0x3316: 0x000c, 0x3317: 0x000c, + 0x3318: 0x000c, 0x3319: 0x000c, 0x331a: 0x000c, 0x331b: 0x000c, 0x331c: 0x000c, 0x331d: 0x000c, + 0x331e: 0x000c, 0x331f: 0x000c, 0x3320: 0x000c, 0x3321: 0x000c, 0x3322: 0x000c, 0x3323: 0x000c, + 0x3324: 0x000c, 0x3325: 0x000c, 0x3326: 0x000c, 0x3327: 0x000c, 0x3328: 0x000c, 0x3329: 0x000c, + 0x332a: 0x000c, 0x332b: 0x000c, 0x332c: 0x000c, + 0x3335: 0x000c, + // Block 0xcd, offset 0x3340 + 0x3344: 0x000c, + 0x335b: 0x000c, 0x335c: 0x000c, 0x335d: 0x000c, + 0x335e: 0x000c, 0x335f: 0x000c, 0x3361: 0x000c, 0x3362: 0x000c, 0x3363: 0x000c, + 0x3364: 0x000c, 0x3365: 0x000c, 0x3366: 0x000c, 0x3367: 0x000c, 0x3368: 0x000c, 0x3369: 0x000c, + 0x336a: 0x000c, 0x336b: 0x000c, 0x336c: 0x000c, 0x336d: 0x000c, 0x336e: 0x000c, 0x336f: 0x000c, + // Block 0xce, offset 0x3380 + 0x3380: 0x000c, 0x3381: 0x000c, 0x3382: 0x000c, 0x3383: 0x000c, 0x3384: 0x000c, 0x3385: 0x000c, + 0x3386: 0x000c, 0x3388: 0x000c, 0x3389: 0x000c, 0x338a: 0x000c, 0x338b: 0x000c, + 0x338c: 0x000c, 0x338d: 0x000c, 0x338e: 0x000c, 0x338f: 0x000c, 0x3390: 0x000c, 0x3391: 0x000c, + 0x3392: 0x000c, 0x3393: 0x000c, 0x3394: 0x000c, 0x3395: 0x000c, 0x3396: 0x000c, 0x3397: 0x000c, + 0x3398: 0x000c, 0x339b: 0x000c, 0x339c: 0x000c, 0x339d: 0x000c, + 0x339e: 0x000c, 0x339f: 0x000c, 0x33a0: 0x000c, 0x33a1: 0x000c, 0x33a3: 0x000c, + 0x33a4: 0x000c, 0x33a6: 0x000c, 0x33a7: 0x000c, 0x33a8: 0x000c, 0x33a9: 0x000c, + 0x33aa: 0x000c, + // Block 0xcf, offset 0x33c0 + 0x33c0: 0x0001, 0x33c1: 0x0001, 0x33c2: 0x0001, 0x33c3: 0x0001, 0x33c4: 0x0001, 0x33c5: 0x0001, + 0x33c6: 0x0001, 0x33c7: 0x0001, 0x33c8: 0x0001, 0x33c9: 0x0001, 0x33ca: 0x0001, 0x33cb: 0x0001, + 0x33cc: 0x0001, 0x33cd: 0x0001, 0x33ce: 0x0001, 0x33cf: 0x0001, 0x33d0: 0x000c, 0x33d1: 0x000c, + 0x33d2: 0x000c, 0x33d3: 0x000c, 0x33d4: 0x000c, 0x33d5: 0x000c, 0x33d6: 0x000c, 0x33d7: 0x0001, + 0x33d8: 0x0001, 0x33d9: 0x0001, 0x33da: 0x0001, 0x33db: 0x0001, 0x33dc: 0x0001, 0x33dd: 0x0001, + 0x33de: 0x0001, 0x33df: 0x0001, 0x33e0: 0x0001, 0x33e1: 0x0001, 0x33e2: 0x0001, 0x33e3: 0x0001, + 0x33e4: 0x0001, 0x33e5: 0x0001, 0x33e6: 0x0001, 0x33e7: 0x0001, 0x33e8: 0x0001, 0x33e9: 0x0001, + 0x33ea: 0x0001, 0x33eb: 0x0001, 0x33ec: 0x0001, 0x33ed: 0x0001, 0x33ee: 0x0001, 0x33ef: 0x0001, + 0x33f0: 0x0001, 0x33f1: 0x0001, 0x33f2: 0x0001, 0x33f3: 0x0001, 0x33f4: 0x0001, 0x33f5: 0x0001, + 0x33f6: 0x0001, 0x33f7: 0x0001, 0x33f8: 0x0001, 0x33f9: 0x0001, 0x33fa: 0x0001, 0x33fb: 0x0001, + 0x33fc: 0x0001, 0x33fd: 0x0001, 0x33fe: 0x0001, 0x33ff: 0x0001, + // Block 0xd0, offset 0x3400 + 0x3400: 0x0001, 0x3401: 0x0001, 0x3402: 0x0001, 0x3403: 0x0001, 0x3404: 0x000c, 0x3405: 0x000c, + 0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x0001, + 0x340c: 0x0001, 0x340d: 0x0001, 0x340e: 0x0001, 0x340f: 0x0001, 0x3410: 0x0001, 0x3411: 0x0001, + 0x3412: 0x0001, 0x3413: 0x0001, 0x3414: 0x0001, 0x3415: 0x0001, 0x3416: 0x0001, 0x3417: 0x0001, + 0x3418: 0x0001, 0x3419: 0x0001, 0x341a: 0x0001, 0x341b: 0x0001, 0x341c: 0x0001, 0x341d: 0x0001, + 0x341e: 0x0001, 0x341f: 0x0001, 0x3420: 0x0001, 0x3421: 0x0001, 0x3422: 0x0001, 0x3423: 0x0001, + 0x3424: 0x0001, 0x3425: 0x0001, 0x3426: 0x0001, 0x3427: 0x0001, 0x3428: 0x0001, 0x3429: 0x0001, + 0x342a: 0x0001, 0x342b: 0x0001, 0x342c: 0x0001, 0x342d: 0x0001, 0x342e: 0x0001, 0x342f: 0x0001, + 0x3430: 0x0001, 0x3431: 0x0001, 0x3432: 0x0001, 0x3433: 0x0001, 0x3434: 0x0001, 0x3435: 0x0001, + 0x3436: 0x0001, 0x3437: 0x0001, 0x3438: 0x0001, 0x3439: 0x0001, 0x343a: 0x0001, 0x343b: 0x0001, + 0x343c: 0x0001, 0x343d: 0x0001, 0x343e: 0x0001, 0x343f: 0x0001, + // Block 0xd1, offset 0x3440 + 0x3440: 0x000d, 0x3441: 0x000d, 0x3442: 0x000d, 0x3443: 0x000d, 0x3444: 0x000d, 0x3445: 0x000d, + 0x3446: 0x000d, 0x3447: 0x000d, 0x3448: 0x000d, 0x3449: 0x000d, 0x344a: 0x000d, 0x344b: 0x000d, + 0x344c: 0x000d, 0x344d: 0x000d, 0x344e: 0x000d, 0x344f: 0x000d, 0x3450: 0x000d, 0x3451: 0x000d, + 0x3452: 0x000d, 0x3453: 0x000d, 0x3454: 0x000d, 0x3455: 0x000d, 0x3456: 0x000d, 0x3457: 0x000d, + 0x3458: 0x000d, 0x3459: 0x000d, 0x345a: 0x000d, 0x345b: 0x000d, 0x345c: 0x000d, 0x345d: 0x000d, + 0x345e: 0x000d, 0x345f: 0x000d, 0x3460: 0x000d, 0x3461: 0x000d, 0x3462: 0x000d, 0x3463: 0x000d, + 0x3464: 0x000d, 0x3465: 0x000d, 0x3466: 0x000d, 0x3467: 0x000d, 0x3468: 0x000d, 0x3469: 0x000d, + 0x346a: 0x000d, 0x346b: 0x000d, 0x346c: 0x000d, 0x346d: 0x000d, 0x346e: 0x000d, 0x346f: 0x000d, + 0x3470: 0x000a, 0x3471: 0x000a, 0x3472: 0x000d, 0x3473: 0x000d, 0x3474: 0x000d, 0x3475: 0x000d, + 0x3476: 0x000d, 0x3477: 0x000d, 0x3478: 0x000d, 0x3479: 0x000d, 0x347a: 0x000d, 0x347b: 0x000d, + 0x347c: 0x000d, 0x347d: 0x000d, 0x347e: 0x000d, 0x347f: 0x000d, + // Block 0xd2, offset 0x3480 + 0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000a, 0x3483: 0x000a, 0x3484: 0x000a, 0x3485: 0x000a, + 0x3486: 0x000a, 0x3487: 0x000a, 0x3488: 0x000a, 0x3489: 0x000a, 0x348a: 0x000a, 0x348b: 0x000a, + 0x348c: 0x000a, 0x348d: 0x000a, 0x348e: 0x000a, 0x348f: 0x000a, 0x3490: 0x000a, 0x3491: 0x000a, + 0x3492: 0x000a, 0x3493: 0x000a, 0x3494: 0x000a, 0x3495: 0x000a, 0x3496: 0x000a, 0x3497: 0x000a, + 0x3498: 0x000a, 0x3499: 0x000a, 0x349a: 0x000a, 0x349b: 0x000a, 0x349c: 0x000a, 0x349d: 0x000a, + 0x349e: 0x000a, 0x349f: 0x000a, 0x34a0: 0x000a, 0x34a1: 0x000a, 0x34a2: 0x000a, 0x34a3: 0x000a, + 0x34a4: 0x000a, 0x34a5: 0x000a, 0x34a6: 0x000a, 0x34a7: 0x000a, 0x34a8: 0x000a, 0x34a9: 0x000a, + 0x34aa: 0x000a, 0x34ab: 0x000a, + 0x34b0: 0x000a, 0x34b1: 0x000a, 0x34b2: 0x000a, 0x34b3: 0x000a, 0x34b4: 0x000a, 0x34b5: 0x000a, + 0x34b6: 0x000a, 0x34b7: 0x000a, 0x34b8: 0x000a, 0x34b9: 0x000a, 0x34ba: 0x000a, 0x34bb: 0x000a, + 0x34bc: 0x000a, 0x34bd: 0x000a, 0x34be: 0x000a, 0x34bf: 0x000a, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a, + 0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a, + 0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a, + 0x34d2: 0x000a, 0x34d3: 0x000a, + 0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a, + 0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a, + 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, 0x34ed: 0x000a, 0x34ee: 0x000a, + 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a, + 0x34f6: 0x000a, 0x34f7: 0x000a, 0x34f8: 0x000a, 0x34f9: 0x000a, 0x34fa: 0x000a, 0x34fb: 0x000a, + 0x34fc: 0x000a, 0x34fd: 0x000a, 0x34fe: 0x000a, 0x34ff: 0x000a, + // Block 0xd4, offset 0x3500 + 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a, + 0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a, + 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3511: 0x000a, + 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, 0x3515: 0x000a, 0x3516: 0x000a, 0x3517: 0x000a, + 0x3518: 0x000a, 0x3519: 0x000a, 0x351a: 0x000a, 0x351b: 0x000a, 0x351c: 0x000a, 0x351d: 0x000a, + 0x351e: 0x000a, 0x351f: 0x000a, 0x3520: 0x000a, 0x3521: 0x000a, 0x3522: 0x000a, 0x3523: 0x000a, + 0x3524: 0x000a, 0x3525: 0x000a, 0x3526: 0x000a, 0x3527: 0x000a, 0x3528: 0x000a, 0x3529: 0x000a, + 0x352a: 0x000a, 0x352b: 0x000a, 0x352c: 0x000a, 0x352d: 0x000a, 0x352e: 0x000a, 0x352f: 0x000a, + 0x3530: 0x000a, 0x3531: 0x000a, 0x3532: 0x000a, 0x3533: 0x000a, 0x3534: 0x000a, 0x3535: 0x000a, + // Block 0xd5, offset 0x3540 + 0x3540: 0x0002, 0x3541: 0x0002, 0x3542: 0x0002, 0x3543: 0x0002, 0x3544: 0x0002, 0x3545: 0x0002, + 0x3546: 0x0002, 0x3547: 0x0002, 0x3548: 0x0002, 0x3549: 0x0002, 0x354a: 0x0002, 0x354b: 0x000a, + 0x354c: 0x000a, + // Block 0xd6, offset 0x3580 + 0x35aa: 0x000a, 0x35ab: 0x000a, + // Block 0xd7, offset 0x35c0 + 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a, + 0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a, + 0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, + 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a, + 0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a, + 0x3630: 0x000a, 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, + // Block 0xd9, offset 0x3640 + 0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, + 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, + 0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3650: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, + // Block 0xda, offset 0x3680 + 0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a, + 0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a, + 0x3690: 0x000a, 0x3691: 0x000a, + 0x3692: 0x000a, 0x3693: 0x000a, 0x3694: 0x000a, 0x3695: 0x000a, 0x3696: 0x000a, 0x3697: 0x000a, + 0x3698: 0x000a, 0x3699: 0x000a, 0x369a: 0x000a, 0x369b: 0x000a, 0x369c: 0x000a, 0x369d: 0x000a, + 0x369e: 0x000a, 0x369f: 0x000a, 0x36a0: 0x000a, 0x36a1: 0x000a, 0x36a2: 0x000a, 0x36a3: 0x000a, + 0x36a4: 0x000a, 0x36a5: 0x000a, 0x36a6: 0x000a, 0x36a7: 0x000a, 0x36a8: 0x000a, 0x36a9: 0x000a, + 0x36aa: 0x000a, 0x36ab: 0x000a, 0x36ac: 0x000a, 0x36ad: 0x000a, 0x36ae: 0x000a, 0x36af: 0x000a, + 0x36b0: 0x000a, 0x36b1: 0x000a, 0x36b2: 0x000a, 0x36b3: 0x000a, 0x36b4: 0x000a, 0x36b5: 0x000a, + 0x36b6: 0x000a, 0x36b7: 0x000a, 0x36b8: 0x000a, 0x36b9: 0x000a, 0x36ba: 0x000a, 0x36bb: 0x000a, + 0x36bc: 0x000a, 0x36bd: 0x000a, 0x36be: 0x000a, 0x36bf: 0x000a, + // Block 0xdb, offset 0x36c0 + 0x36c0: 0x000a, 0x36c1: 0x000a, 0x36c2: 0x000a, 0x36c3: 0x000a, 0x36c4: 0x000a, 0x36c5: 0x000a, + 0x36c6: 0x000a, 0x36c7: 0x000a, + 0x36d0: 0x000a, 0x36d1: 0x000a, + 0x36d2: 0x000a, 0x36d3: 0x000a, 0x36d4: 0x000a, 0x36d5: 0x000a, 0x36d6: 0x000a, 0x36d7: 0x000a, + 0x36d8: 0x000a, 0x36d9: 0x000a, + 0x36e0: 0x000a, 0x36e1: 0x000a, 0x36e2: 0x000a, 0x36e3: 0x000a, + 0x36e4: 0x000a, 0x36e5: 0x000a, 0x36e6: 0x000a, 0x36e7: 0x000a, 0x36e8: 0x000a, 0x36e9: 0x000a, + 0x36ea: 0x000a, 0x36eb: 0x000a, 0x36ec: 0x000a, 0x36ed: 0x000a, 0x36ee: 0x000a, 0x36ef: 0x000a, + 0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000a, 0x36f3: 0x000a, 0x36f4: 0x000a, 0x36f5: 0x000a, + 0x36f6: 0x000a, 0x36f7: 0x000a, 0x36f8: 0x000a, 0x36f9: 0x000a, 0x36fa: 0x000a, 0x36fb: 0x000a, + 0x36fc: 0x000a, 0x36fd: 0x000a, 0x36fe: 0x000a, 0x36ff: 0x000a, + // Block 0xdc, offset 0x3700 + 0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a, + 0x3706: 0x000a, 0x3707: 0x000a, + 0x3710: 0x000a, 0x3711: 0x000a, + 0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a, + 0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a, + 0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, + 0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a, + 0x372a: 0x000a, 0x372b: 0x000a, 0x372c: 0x000a, 0x372d: 0x000a, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, + 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, + 0x3750: 0x000a, 0x3751: 0x000a, + 0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, 0x3755: 0x000a, 0x3756: 0x000a, 0x3757: 0x000a, + 0x3758: 0x000a, 0x3759: 0x000a, 0x375a: 0x000a, 0x375b: 0x000a, 0x375c: 0x000a, 0x375d: 0x000a, + 0x375e: 0x000a, 0x375f: 0x000a, 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, + 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, + 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, 0x376f: 0x000a, + 0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, + 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a, + 0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a, + // Block 0xde, offset 0x3780 + 0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, + 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, + 0x378c: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a, + 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, + 0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a, + 0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a, + 0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a, + 0x37aa: 0x000a, 0x37ab: 0x000a, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a, + 0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a, + 0x37cc: 0x000a, 0x37cd: 0x000a, 0x37ce: 0x000a, 0x37cf: 0x000a, 0x37d0: 0x000a, 0x37d1: 0x000a, + 0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a, + // Block 0xe0, offset 0x3800 + 0x3800: 0x000a, + 0x3810: 0x000a, 0x3811: 0x000a, + 0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a, + 0x3818: 0x000a, 0x3819: 0x000a, 0x381a: 0x000a, 0x381b: 0x000a, 0x381c: 0x000a, 0x381d: 0x000a, + 0x381e: 0x000a, 0x381f: 0x000a, 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a, + 0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a, + // Block 0xe1, offset 0x3840 + 0x387e: 0x000b, 0x387f: 0x000b, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000b, 0x3881: 0x000b, 0x3882: 0x000b, 0x3883: 0x000b, 0x3884: 0x000b, 0x3885: 0x000b, + 0x3886: 0x000b, 0x3887: 0x000b, 0x3888: 0x000b, 0x3889: 0x000b, 0x388a: 0x000b, 0x388b: 0x000b, + 0x388c: 0x000b, 0x388d: 0x000b, 0x388e: 0x000b, 0x388f: 0x000b, 0x3890: 0x000b, 0x3891: 0x000b, + 0x3892: 0x000b, 0x3893: 0x000b, 0x3894: 0x000b, 0x3895: 0x000b, 0x3896: 0x000b, 0x3897: 0x000b, + 0x3898: 0x000b, 0x3899: 0x000b, 0x389a: 0x000b, 0x389b: 0x000b, 0x389c: 0x000b, 0x389d: 0x000b, + 0x389e: 0x000b, 0x389f: 0x000b, 0x38a0: 0x000b, 0x38a1: 0x000b, 0x38a2: 0x000b, 0x38a3: 0x000b, + 0x38a4: 0x000b, 0x38a5: 0x000b, 0x38a6: 0x000b, 0x38a7: 0x000b, 0x38a8: 0x000b, 0x38a9: 0x000b, + 0x38aa: 0x000b, 0x38ab: 0x000b, 0x38ac: 0x000b, 0x38ad: 0x000b, 0x38ae: 0x000b, 0x38af: 0x000b, + 0x38b0: 0x000b, 0x38b1: 0x000b, 0x38b2: 0x000b, 0x38b3: 0x000b, 0x38b4: 0x000b, 0x38b5: 0x000b, + 0x38b6: 0x000b, 0x38b7: 0x000b, 0x38b8: 0x000b, 0x38b9: 0x000b, 0x38ba: 0x000b, 0x38bb: 0x000b, + 0x38bc: 0x000b, 0x38bd: 0x000b, 0x38be: 0x000b, 0x38bf: 0x000b, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000c, 0x38c1: 0x000c, 0x38c2: 0x000c, 0x38c3: 0x000c, 0x38c4: 0x000c, 0x38c5: 0x000c, + 0x38c6: 0x000c, 0x38c7: 0x000c, 0x38c8: 0x000c, 0x38c9: 0x000c, 0x38ca: 0x000c, 0x38cb: 0x000c, + 0x38cc: 0x000c, 0x38cd: 0x000c, 0x38ce: 0x000c, 0x38cf: 0x000c, 0x38d0: 0x000c, 0x38d1: 0x000c, + 0x38d2: 0x000c, 0x38d3: 0x000c, 0x38d4: 0x000c, 0x38d5: 0x000c, 0x38d6: 0x000c, 0x38d7: 0x000c, + 0x38d8: 0x000c, 0x38d9: 0x000c, 0x38da: 0x000c, 0x38db: 0x000c, 0x38dc: 0x000c, 0x38dd: 0x000c, + 0x38de: 0x000c, 0x38df: 0x000c, 0x38e0: 0x000c, 0x38e1: 0x000c, 0x38e2: 0x000c, 0x38e3: 0x000c, + 0x38e4: 0x000c, 0x38e5: 0x000c, 0x38e6: 0x000c, 0x38e7: 0x000c, 0x38e8: 0x000c, 0x38e9: 0x000c, + 0x38ea: 0x000c, 0x38eb: 0x000c, 0x38ec: 0x000c, 0x38ed: 0x000c, 0x38ee: 0x000c, 0x38ef: 0x000c, + 0x38f0: 0x000b, 0x38f1: 0x000b, 0x38f2: 0x000b, 0x38f3: 0x000b, 0x38f4: 0x000b, 0x38f5: 0x000b, + 0x38f6: 0x000b, 0x38f7: 0x000b, 0x38f8: 0x000b, 0x38f9: 0x000b, 0x38fa: 0x000b, 0x38fb: 0x000b, + 0x38fc: 0x000b, 0x38fd: 0x000b, 0x38fe: 0x000b, 0x38ff: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, + 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64, + 0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67, + 0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70, + 0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x77, 0x253: 0x78, + 0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e, + 0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85, + 0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a, + // Block 0xa, offset 0x280 + 0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e, + 0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97, + 0x2cb: 0x98, 0x2cd: 0x99, + 0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a, + 0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a, + 0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9a, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a, + 0x2f8: 0x9a, 0x2f9: 0x9f, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0x9a, 0x2fd: 0x9a, 0x2fe: 0x9a, 0x2ff: 0x9a, + // Block 0xc, offset 0x300 + 0x300: 0xa0, 0x301: 0xa1, 0x302: 0xa2, 0x304: 0xa3, 0x305: 0xa4, 0x306: 0xa5, 0x307: 0xa6, + 0x308: 0xa7, 0x30b: 0xa8, 0x30c: 0xa9, 0x30d: 0xaa, + 0x310: 0xab, 0x311: 0xac, 0x312: 0xad, 0x313: 0xae, 0x316: 0xaf, 0x317: 0xb0, + 0x318: 0xb1, 0x319: 0xb2, 0x31a: 0xb3, 0x31c: 0xb4, + 0x328: 0xb5, 0x329: 0xb6, 0x32a: 0xb7, + 0x330: 0xb8, 0x332: 0xb9, 0x334: 0xba, 0x335: 0xbb, + // Block 0xd, offset 0x340 + 0x36b: 0xbc, 0x36c: 0xbd, + 0x37e: 0xbe, + // Block 0xe, offset 0x380 + 0x3b2: 0xbf, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xc0, 0x3c6: 0xc1, + 0x3c8: 0x54, 0x3c9: 0xc2, 0x3cc: 0x54, 0x3cd: 0xc3, + 0x3db: 0xc4, 0x3dc: 0xc5, 0x3dd: 0xc6, 0x3de: 0xc7, 0x3df: 0xc8, + 0x3e8: 0xc9, 0x3e9: 0xca, 0x3ea: 0xcb, + // Block 0x10, offset 0x400 + 0x400: 0xcc, + 0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xcd, 0x424: 0x9a, 0x425: 0xce, 0x426: 0x9a, 0x427: 0x9a, + 0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a, + 0x430: 0x9a, 0x431: 0x9a, 0x432: 0x9a, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcf, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a, + // Block 0x11, offset 0x440 + 0x440: 0xd0, 0x441: 0x54, 0x442: 0xd1, 0x443: 0xd2, 0x444: 0xd3, 0x445: 0xd4, + 0x449: 0xd5, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd6, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xd7, + 0x460: 0xd8, 0x461: 0xd9, 0x462: 0xda, 0x464: 0xdb, 0x465: 0xdc, 0x466: 0xdd, 0x467: 0xde, + 0x47f: 0xdf, + // Block 0x12, offset 0x480 + 0x4bf: 0xdf, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xe0, 0x541: 0xe0, 0x542: 0xe0, 0x543: 0xe0, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe1, + 0x548: 0xe0, 0x549: 0xe0, 0x54a: 0xe0, 0x54b: 0xe0, 0x54c: 0xe0, 0x54d: 0xe0, 0x54e: 0xe0, 0x54f: 0xe0, + 0x550: 0xe0, 0x551: 0xe0, 0x552: 0xe0, 0x553: 0xe0, 0x554: 0xe0, 0x555: 0xe0, 0x556: 0xe0, 0x557: 0xe0, + 0x558: 0xe0, 0x559: 0xe0, 0x55a: 0xe0, 0x55b: 0xe0, 0x55c: 0xe0, 0x55d: 0xe0, 0x55e: 0xe0, 0x55f: 0xe0, + 0x560: 0xe0, 0x561: 0xe0, 0x562: 0xe0, 0x563: 0xe0, 0x564: 0xe0, 0x565: 0xe0, 0x566: 0xe0, 0x567: 0xe0, + 0x568: 0xe0, 0x569: 0xe0, 0x56a: 0xe0, 0x56b: 0xe0, 0x56c: 0xe0, 0x56d: 0xe0, 0x56e: 0xe0, 0x56f: 0xe0, + 0x570: 0xe0, 0x571: 0xe0, 0x572: 0xe0, 0x573: 0xe0, 0x574: 0xe0, 0x575: 0xe0, 0x576: 0xe0, 0x577: 0xe0, + 0x578: 0xe0, 0x579: 0xe0, 0x57a: 0xe0, 0x57b: 0xe0, 0x57c: 0xe0, 0x57d: 0xe0, 0x57e: 0xe0, 0x57f: 0xe0, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 16184 bytes (15KiB); checksum: F50EF68C diff --git a/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go new file mode 100644 index 000000000..56a0e1ea2 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go @@ -0,0 +1,1888 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.13 && !go1.14 +// +build go1.13,!go1.14 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 16512 bytes (16.12 KiB). Checksum: 2a9cf1317f2ffaa. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 234 blocks, 14976 entries, 14976 bytes +// The third block is the zero block. +var bidiValues = [14976]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x000c, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000c, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + 0x77e: 0x000c, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, 0x944: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, + 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, + 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, + 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, + 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, + // Block 0x5e, offset 0x1780 + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, + 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, + 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, + 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, + 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, + 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, + 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, + 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, + 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, + 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, + 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, + 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, + 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, + 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, + 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a, 0x1996: 0x000a, 0x1997: 0x000a, + 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a, + 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a, + 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, + 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a, + 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a, 0x19ba: 0x000a, 0x19bb: 0x000a, + 0x19bc: 0x000a, 0x19bd: 0x000a, 0x19be: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, + 0x19ea: 0x000a, 0x19ef: 0x000c, + 0x19f0: 0x000c, 0x19f1: 0x000c, + 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, + 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a3f: 0x000c, + // Block 0x69, offset 0x1a40 + 0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c, + 0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c, + 0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c, + 0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c, + 0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c, + 0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, + 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, + 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a, + 0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a, + 0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a, + 0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a, + 0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a, + 0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a, + 0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a, + 0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a, + 0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, + 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, + 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, + 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, + 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, + 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, + 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a, + 0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a, + 0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a, + 0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, + 0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a, + 0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a, + 0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a, + 0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a, + 0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c, + 0x1bf0: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, + 0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a, + 0x1c20: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c7b: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a, + 0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a, + 0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a, + 0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a, + 0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a, + 0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cdd: 0x000a, + 0x1cde: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d10: 0x000a, 0x1d11: 0x000a, + 0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a, + 0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a, + 0x1d1e: 0x000a, 0x1d1f: 0x000a, + 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a, + 0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e1e: 0x000a, 0x1e1f: 0x000a, + 0x1e3f: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e50: 0x000a, 0x1e51: 0x000a, + 0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a, + 0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a, + 0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a, + 0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a, + 0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a, + 0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a, + 0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a, + 0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a, + 0x1e86: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f2f: 0x000c, + 0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c, + 0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c, + 0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f5e: 0x000c, 0x1f5f: 0x000c, + // Block 0x7e, offset 0x1f80 + 0x1fb0: 0x000c, 0x1fb1: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a, + 0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a, + 0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a, + 0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a, + 0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a, + 0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a, + // Block 0x80, offset 0x2000 + 0x2008: 0x000a, + // Block 0x81, offset 0x2040 + 0x2042: 0x000c, + 0x2046: 0x000c, 0x204b: 0x000c, + 0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a, + 0x206a: 0x000a, 0x206b: 0x000a, + 0x2078: 0x0004, 0x2079: 0x0004, + // Block 0x82, offset 0x2080 + 0x20b4: 0x000a, 0x20b5: 0x000a, + 0x20b6: 0x000a, 0x20b7: 0x000a, + // Block 0x83, offset 0x20c0 + 0x20c4: 0x000c, 0x20c5: 0x000c, + 0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c, + 0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, + 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c, + 0x20f0: 0x000c, 0x20f1: 0x000c, + 0x20ff: 0x000c, + // Block 0x84, offset 0x2100 + 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, + // Block 0x85, offset 0x2140 + 0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c, + 0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c, + // Block 0x86, offset 0x2180 + 0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c, + 0x21b3: 0x000c, + 0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c, + 0x21bc: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21e5: 0x000c, + // Block 0x88, offset 0x2200 + 0x2229: 0x000c, + 0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c, + 0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c, + 0x2236: 0x000c, + // Block 0x89, offset 0x2240 + 0x2243: 0x000c, + 0x224c: 0x000c, + 0x227c: 0x000c, + // Block 0x8a, offset 0x2280 + 0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c, + 0x22b7: 0x000c, 0x22b8: 0x000c, + 0x22be: 0x000c, 0x22bf: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22c1: 0x000c, + 0x22ec: 0x000c, 0x22ed: 0x000c, + 0x22f6: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2325: 0x000c, 0x2328: 0x000c, + 0x232d: 0x000c, + // Block 0x8d, offset 0x2340 + 0x235d: 0x0001, + 0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001, + 0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003, + 0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001, + 0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001, + 0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001, + 0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001, + // Block 0x8e, offset 0x2380 + 0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001, + 0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001, + 0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d, + 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, + 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, + 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, + 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, + 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, + 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, + 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, + 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, + 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, + 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, + 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, + 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, + 0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d, + 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a, + // Block 0x90, offset 0x2400 + 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, + 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b, + 0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b, + 0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b, + 0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b, + 0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b, + 0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d, + // Block 0x91, offset 0x2440 + 0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c, + 0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c, + 0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a, + 0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a, + 0x2458: 0x000a, 0x2459: 0x000a, + 0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c, + 0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c, + 0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c, + 0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a, + 0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a, + 0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a, + // Block 0x92, offset 0x2480 + 0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a, + 0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a, + 0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a, + 0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a, + 0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003, + 0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004, + 0x24aa: 0x0004, 0x24ab: 0x000a, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d, + 0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d, + 0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d, + 0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d, + 0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d, + 0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d, + 0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d, + 0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d, + 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, + 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b, + // Block 0x94, offset 0x2500 + 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004, + 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003, + 0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002, + 0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002, + 0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a, + 0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a, + 0x253b: 0x005a, + 0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a, + // Block 0x95, offset 0x2540 + 0x2540: 0x000a, + 0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a, + 0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a, + 0x2564: 0x000a, 0x2565: 0x000a, + // Block 0x96, offset 0x2580 + 0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a, + 0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a, + 0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a, + 0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b, + 0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a, + 0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b, + // Block 0x97, offset 0x25c0 + 0x25c1: 0x000a, + // Block 0x98, offset 0x2600 + 0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a, + 0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a, + 0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a, + 0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a, + 0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a, + 0x2620: 0x000a, + // Block 0x99, offset 0x2640 + 0x267d: 0x000c, + // Block 0x9a, offset 0x2680 + 0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002, + 0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002, + 0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002, + 0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002, + 0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002, + // Block 0x9b, offset 0x26c0 + 0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c, + // Block 0x9c, offset 0x2700 + 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, + 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, + 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, + 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, + 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, + 0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, + 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, + 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, + 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, + 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, + 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, + 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c, + 0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, + 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a, + 0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a, + // Block 0xa1, offset 0x2840 + 0x2840: 0x000d, 0x2841: 0x000d, 0x2842: 0x000d, 0x2843: 0x000d, 0x2844: 0x000d, 0x2845: 0x000d, + 0x2846: 0x000d, 0x2847: 0x000d, 0x2848: 0x000d, 0x2849: 0x000d, 0x284a: 0x000d, 0x284b: 0x000d, + 0x284c: 0x000d, 0x284d: 0x000d, 0x284e: 0x000d, 0x284f: 0x000d, 0x2850: 0x000d, 0x2851: 0x000d, + 0x2852: 0x000d, 0x2853: 0x000d, 0x2854: 0x000d, 0x2855: 0x000d, 0x2856: 0x000d, 0x2857: 0x000d, + 0x2858: 0x000d, 0x2859: 0x000d, 0x285a: 0x000d, 0x285b: 0x000d, 0x285c: 0x000d, 0x285d: 0x000d, + 0x285e: 0x000d, 0x285f: 0x000d, 0x2860: 0x000d, 0x2861: 0x000d, 0x2862: 0x000d, 0x2863: 0x000d, + 0x2864: 0x000c, 0x2865: 0x000c, 0x2866: 0x000c, 0x2867: 0x000c, 0x2868: 0x000d, 0x2869: 0x000d, + 0x286a: 0x000d, 0x286b: 0x000d, 0x286c: 0x000d, 0x286d: 0x000d, 0x286e: 0x000d, 0x286f: 0x000d, + 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, + 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x000d, 0x287b: 0x000d, + 0x287c: 0x000d, 0x287d: 0x000d, 0x287e: 0x000d, 0x287f: 0x000d, + // Block 0xa2, offset 0x2880 + 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, + 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, + 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, + 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, + 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, + 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005, + 0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005, + 0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005, + 0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005, + 0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005, + 0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x0001, 0x28c1: 0x0001, 0x28c2: 0x0001, 0x28c3: 0x0001, 0x28c4: 0x0001, 0x28c5: 0x0001, + 0x28c6: 0x0001, 0x28c7: 0x0001, 0x28c8: 0x0001, 0x28c9: 0x0001, 0x28ca: 0x0001, 0x28cb: 0x0001, + 0x28cc: 0x0001, 0x28cd: 0x0001, 0x28ce: 0x0001, 0x28cf: 0x0001, 0x28d0: 0x0001, 0x28d1: 0x0001, + 0x28d2: 0x0001, 0x28d3: 0x0001, 0x28d4: 0x0001, 0x28d5: 0x0001, 0x28d6: 0x0001, 0x28d7: 0x0001, + 0x28d8: 0x0001, 0x28d9: 0x0001, 0x28da: 0x0001, 0x28db: 0x0001, 0x28dc: 0x0001, 0x28dd: 0x0001, + 0x28de: 0x0001, 0x28df: 0x0001, 0x28e0: 0x0001, 0x28e1: 0x0001, 0x28e2: 0x0001, 0x28e3: 0x0001, + 0x28e4: 0x0001, 0x28e5: 0x0001, 0x28e6: 0x0001, 0x28e7: 0x0001, 0x28e8: 0x0001, 0x28e9: 0x0001, + 0x28ea: 0x0001, 0x28eb: 0x0001, 0x28ec: 0x0001, 0x28ed: 0x0001, 0x28ee: 0x0001, 0x28ef: 0x0001, + 0x28f0: 0x000d, 0x28f1: 0x000d, 0x28f2: 0x000d, 0x28f3: 0x000d, 0x28f4: 0x000d, 0x28f5: 0x000d, + 0x28f6: 0x000d, 0x28f7: 0x000d, 0x28f8: 0x000d, 0x28f9: 0x000d, 0x28fa: 0x000d, 0x28fb: 0x000d, + 0x28fc: 0x000d, 0x28fd: 0x000d, 0x28fe: 0x000d, 0x28ff: 0x000d, + // Block 0xa4, offset 0x2900 + 0x2900: 0x000d, 0x2901: 0x000d, 0x2902: 0x000d, 0x2903: 0x000d, 0x2904: 0x000d, 0x2905: 0x000d, + 0x2906: 0x000c, 0x2907: 0x000c, 0x2908: 0x000c, 0x2909: 0x000c, 0x290a: 0x000c, 0x290b: 0x000c, + 0x290c: 0x000c, 0x290d: 0x000c, 0x290e: 0x000c, 0x290f: 0x000c, 0x2910: 0x000c, 0x2911: 0x000d, + 0x2912: 0x000d, 0x2913: 0x000d, 0x2914: 0x000d, 0x2915: 0x000d, 0x2916: 0x000d, 0x2917: 0x000d, + 0x2918: 0x000d, 0x2919: 0x000d, 0x291a: 0x000d, 0x291b: 0x000d, 0x291c: 0x000d, 0x291d: 0x000d, + 0x291e: 0x000d, 0x291f: 0x000d, 0x2920: 0x000d, 0x2921: 0x000d, 0x2922: 0x000d, 0x2923: 0x000d, + 0x2924: 0x000d, 0x2925: 0x000d, 0x2926: 0x000d, 0x2927: 0x000d, 0x2928: 0x000d, 0x2929: 0x000d, + 0x292a: 0x000d, 0x292b: 0x000d, 0x292c: 0x000d, 0x292d: 0x000d, 0x292e: 0x000d, 0x292f: 0x000d, + 0x2930: 0x0001, 0x2931: 0x0001, 0x2932: 0x0001, 0x2933: 0x0001, 0x2934: 0x0001, 0x2935: 0x0001, + 0x2936: 0x0001, 0x2937: 0x0001, 0x2938: 0x0001, 0x2939: 0x0001, 0x293a: 0x0001, 0x293b: 0x0001, + 0x293c: 0x0001, 0x293d: 0x0001, 0x293e: 0x0001, 0x293f: 0x0001, + // Block 0xa5, offset 0x2940 + 0x2941: 0x000c, + 0x2978: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c, 0x297b: 0x000c, + 0x297c: 0x000c, 0x297d: 0x000c, 0x297e: 0x000c, 0x297f: 0x000c, + // Block 0xa6, offset 0x2980 + 0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c, 0x2983: 0x000c, 0x2984: 0x000c, 0x2985: 0x000c, + 0x2986: 0x000c, + 0x2992: 0x000a, 0x2993: 0x000a, 0x2994: 0x000a, 0x2995: 0x000a, 0x2996: 0x000a, 0x2997: 0x000a, + 0x2998: 0x000a, 0x2999: 0x000a, 0x299a: 0x000a, 0x299b: 0x000a, 0x299c: 0x000a, 0x299d: 0x000a, + 0x299e: 0x000a, 0x299f: 0x000a, 0x29a0: 0x000a, 0x29a1: 0x000a, 0x29a2: 0x000a, 0x29a3: 0x000a, + 0x29a4: 0x000a, 0x29a5: 0x000a, + 0x29bf: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x000c, 0x29c1: 0x000c, + 0x29f3: 0x000c, 0x29f4: 0x000c, 0x29f5: 0x000c, + 0x29f6: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a00: 0x000c, 0x2a01: 0x000c, 0x2a02: 0x000c, + 0x2a27: 0x000c, 0x2a28: 0x000c, 0x2a29: 0x000c, + 0x2a2a: 0x000c, 0x2a2b: 0x000c, 0x2a2d: 0x000c, 0x2a2e: 0x000c, 0x2a2f: 0x000c, + 0x2a30: 0x000c, 0x2a31: 0x000c, 0x2a32: 0x000c, 0x2a33: 0x000c, 0x2a34: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a73: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2a80: 0x000c, 0x2a81: 0x000c, + 0x2ab6: 0x000c, 0x2ab7: 0x000c, 0x2ab8: 0x000c, 0x2ab9: 0x000c, 0x2aba: 0x000c, 0x2abb: 0x000c, + 0x2abc: 0x000c, 0x2abd: 0x000c, 0x2abe: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2ac9: 0x000c, 0x2aca: 0x000c, 0x2acb: 0x000c, + 0x2acc: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b2f: 0x000c, + 0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b34: 0x000c, + 0x2b36: 0x000c, 0x2b37: 0x000c, + 0x2b3e: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b5f: 0x000c, 0x2b63: 0x000c, + 0x2b64: 0x000c, 0x2b65: 0x000c, 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, + 0x2b6a: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2b80: 0x000c, + 0x2ba6: 0x000c, 0x2ba7: 0x000c, 0x2ba8: 0x000c, 0x2ba9: 0x000c, + 0x2baa: 0x000c, 0x2bab: 0x000c, 0x2bac: 0x000c, + 0x2bb0: 0x000c, 0x2bb1: 0x000c, 0x2bb2: 0x000c, 0x2bb3: 0x000c, 0x2bb4: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bf8: 0x000c, 0x2bf9: 0x000c, 0x2bfa: 0x000c, 0x2bfb: 0x000c, + 0x2bfc: 0x000c, 0x2bfd: 0x000c, 0x2bfe: 0x000c, 0x2bff: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c02: 0x000c, 0x2c03: 0x000c, 0x2c04: 0x000c, + 0x2c06: 0x000c, + 0x2c1e: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c, + 0x2c76: 0x000c, 0x2c77: 0x000c, 0x2c78: 0x000c, 0x2c7a: 0x000c, + 0x2c7f: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2c80: 0x000c, 0x2c82: 0x000c, 0x2c83: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cf2: 0x000c, 0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c, + 0x2cfc: 0x000c, 0x2cfd: 0x000c, 0x2cff: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d00: 0x000c, + 0x2d1c: 0x000c, 0x2d1d: 0x000c, + // Block 0xb5, offset 0x2d40 + 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c, + 0x2d76: 0x000c, 0x2d77: 0x000c, 0x2d78: 0x000c, 0x2d79: 0x000c, 0x2d7a: 0x000c, + 0x2d7d: 0x000c, 0x2d7f: 0x000c, + // Block 0xb6, offset 0x2d80 + 0x2d80: 0x000c, + 0x2da0: 0x000a, 0x2da1: 0x000a, 0x2da2: 0x000a, 0x2da3: 0x000a, + 0x2da4: 0x000a, 0x2da5: 0x000a, 0x2da6: 0x000a, 0x2da7: 0x000a, 0x2da8: 0x000a, 0x2da9: 0x000a, + 0x2daa: 0x000a, 0x2dab: 0x000a, 0x2dac: 0x000a, + // Block 0xb7, offset 0x2dc0 + 0x2deb: 0x000c, 0x2ded: 0x000c, + 0x2df0: 0x000c, 0x2df1: 0x000c, 0x2df2: 0x000c, 0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c, + 0x2df7: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e1d: 0x000c, + 0x2e1e: 0x000c, 0x2e1f: 0x000c, 0x2e22: 0x000c, 0x2e23: 0x000c, + 0x2e24: 0x000c, 0x2e25: 0x000c, 0x2e27: 0x000c, 0x2e28: 0x000c, 0x2e29: 0x000c, + 0x2e2a: 0x000c, 0x2e2b: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e6f: 0x000c, + 0x2e70: 0x000c, 0x2e71: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e74: 0x000c, 0x2e75: 0x000c, + 0x2e76: 0x000c, 0x2e77: 0x000c, 0x2e79: 0x000c, 0x2e7a: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2e81: 0x000c, 0x2e82: 0x000c, 0x2e83: 0x000c, 0x2e84: 0x000c, 0x2e85: 0x000c, + 0x2e86: 0x000c, 0x2e89: 0x000c, 0x2e8a: 0x000c, + 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb6: 0x000c, 0x2eb7: 0x000c, 0x2eb8: 0x000c, 0x2ebb: 0x000c, + 0x2ebc: 0x000c, 0x2ebd: 0x000c, 0x2ebe: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ec7: 0x000c, + 0x2ed1: 0x000c, + 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, + 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f0a: 0x000c, 0x2f0b: 0x000c, + 0x2f0c: 0x000c, 0x2f0d: 0x000c, 0x2f0e: 0x000c, 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, + 0x2f12: 0x000c, 0x2f13: 0x000c, 0x2f14: 0x000c, 0x2f15: 0x000c, 0x2f16: 0x000c, + 0x2f18: 0x000c, 0x2f19: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f70: 0x000c, 0x2f71: 0x000c, 0x2f72: 0x000c, 0x2f73: 0x000c, 0x2f74: 0x000c, 0x2f75: 0x000c, + 0x2f76: 0x000c, 0x2f78: 0x000c, 0x2f79: 0x000c, 0x2f7a: 0x000c, 0x2f7b: 0x000c, + 0x2f7c: 0x000c, 0x2f7d: 0x000c, + // Block 0xbe, offset 0x2f80 + 0x2f92: 0x000c, 0x2f93: 0x000c, 0x2f94: 0x000c, 0x2f95: 0x000c, 0x2f96: 0x000c, 0x2f97: 0x000c, + 0x2f98: 0x000c, 0x2f99: 0x000c, 0x2f9a: 0x000c, 0x2f9b: 0x000c, 0x2f9c: 0x000c, 0x2f9d: 0x000c, + 0x2f9e: 0x000c, 0x2f9f: 0x000c, 0x2fa0: 0x000c, 0x2fa1: 0x000c, 0x2fa2: 0x000c, 0x2fa3: 0x000c, + 0x2fa4: 0x000c, 0x2fa5: 0x000c, 0x2fa6: 0x000c, 0x2fa7: 0x000c, + 0x2faa: 0x000c, 0x2fab: 0x000c, 0x2fac: 0x000c, 0x2fad: 0x000c, 0x2fae: 0x000c, 0x2faf: 0x000c, + 0x2fb0: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb5: 0x000c, + 0x2fb6: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, + 0x2ff6: 0x000c, 0x2ffa: 0x000c, + 0x2ffc: 0x000c, 0x2ffd: 0x000c, 0x2fff: 0x000c, + // Block 0xc0, offset 0x3000 + 0x3000: 0x000c, 0x3001: 0x000c, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000c, + 0x3007: 0x000c, + // Block 0xc1, offset 0x3040 + 0x3050: 0x000c, 0x3051: 0x000c, + 0x3055: 0x000c, 0x3057: 0x000c, + // Block 0xc2, offset 0x3080 + 0x30b3: 0x000c, 0x30b4: 0x000c, + // Block 0xc3, offset 0x30c0 + 0x30f0: 0x000c, 0x30f1: 0x000c, 0x30f2: 0x000c, 0x30f3: 0x000c, 0x30f4: 0x000c, + // Block 0xc4, offset 0x3100 + 0x3130: 0x000c, 0x3131: 0x000c, 0x3132: 0x000c, 0x3133: 0x000c, 0x3134: 0x000c, 0x3135: 0x000c, + 0x3136: 0x000c, + // Block 0xc5, offset 0x3140 + 0x314f: 0x000c, 0x3150: 0x000c, 0x3151: 0x000c, + 0x3152: 0x000c, + // Block 0xc6, offset 0x3180 + 0x319d: 0x000c, + 0x319e: 0x000c, 0x31a0: 0x000b, 0x31a1: 0x000b, 0x31a2: 0x000b, 0x31a3: 0x000b, + // Block 0xc7, offset 0x31c0 + 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c, + 0x31f3: 0x000b, 0x31f4: 0x000b, 0x31f5: 0x000b, + 0x31f6: 0x000b, 0x31f7: 0x000b, 0x31f8: 0x000b, 0x31f9: 0x000b, 0x31fa: 0x000b, 0x31fb: 0x000c, + 0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c, + // Block 0xc8, offset 0x3200 + 0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3205: 0x000c, + 0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c, + 0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c, 0x322d: 0x000c, + // Block 0xc9, offset 0x3240 + 0x3240: 0x000a, 0x3241: 0x000a, 0x3242: 0x000c, 0x3243: 0x000c, 0x3244: 0x000c, 0x3245: 0x000a, + // Block 0xca, offset 0x3280 + 0x3280: 0x000a, 0x3281: 0x000a, 0x3282: 0x000a, 0x3283: 0x000a, 0x3284: 0x000a, 0x3285: 0x000a, + 0x3286: 0x000a, 0x3287: 0x000a, 0x3288: 0x000a, 0x3289: 0x000a, 0x328a: 0x000a, 0x328b: 0x000a, + 0x328c: 0x000a, 0x328d: 0x000a, 0x328e: 0x000a, 0x328f: 0x000a, 0x3290: 0x000a, 0x3291: 0x000a, + 0x3292: 0x000a, 0x3293: 0x000a, 0x3294: 0x000a, 0x3295: 0x000a, 0x3296: 0x000a, + // Block 0xcb, offset 0x32c0 + 0x32db: 0x000a, + // Block 0xcc, offset 0x3300 + 0x3315: 0x000a, + // Block 0xcd, offset 0x3340 + 0x334f: 0x000a, + // Block 0xce, offset 0x3380 + 0x3389: 0x000a, + // Block 0xcf, offset 0x33c0 + 0x33c3: 0x000a, + 0x33ce: 0x0002, 0x33cf: 0x0002, 0x33d0: 0x0002, 0x33d1: 0x0002, + 0x33d2: 0x0002, 0x33d3: 0x0002, 0x33d4: 0x0002, 0x33d5: 0x0002, 0x33d6: 0x0002, 0x33d7: 0x0002, + 0x33d8: 0x0002, 0x33d9: 0x0002, 0x33da: 0x0002, 0x33db: 0x0002, 0x33dc: 0x0002, 0x33dd: 0x0002, + 0x33de: 0x0002, 0x33df: 0x0002, 0x33e0: 0x0002, 0x33e1: 0x0002, 0x33e2: 0x0002, 0x33e3: 0x0002, + 0x33e4: 0x0002, 0x33e5: 0x0002, 0x33e6: 0x0002, 0x33e7: 0x0002, 0x33e8: 0x0002, 0x33e9: 0x0002, + 0x33ea: 0x0002, 0x33eb: 0x0002, 0x33ec: 0x0002, 0x33ed: 0x0002, 0x33ee: 0x0002, 0x33ef: 0x0002, + 0x33f0: 0x0002, 0x33f1: 0x0002, 0x33f2: 0x0002, 0x33f3: 0x0002, 0x33f4: 0x0002, 0x33f5: 0x0002, + 0x33f6: 0x0002, 0x33f7: 0x0002, 0x33f8: 0x0002, 0x33f9: 0x0002, 0x33fa: 0x0002, 0x33fb: 0x0002, + 0x33fc: 0x0002, 0x33fd: 0x0002, 0x33fe: 0x0002, 0x33ff: 0x0002, + // Block 0xd0, offset 0x3400 + 0x3400: 0x000c, 0x3401: 0x000c, 0x3402: 0x000c, 0x3403: 0x000c, 0x3404: 0x000c, 0x3405: 0x000c, + 0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x000c, + 0x340c: 0x000c, 0x340d: 0x000c, 0x340e: 0x000c, 0x340f: 0x000c, 0x3410: 0x000c, 0x3411: 0x000c, + 0x3412: 0x000c, 0x3413: 0x000c, 0x3414: 0x000c, 0x3415: 0x000c, 0x3416: 0x000c, 0x3417: 0x000c, + 0x3418: 0x000c, 0x3419: 0x000c, 0x341a: 0x000c, 0x341b: 0x000c, 0x341c: 0x000c, 0x341d: 0x000c, + 0x341e: 0x000c, 0x341f: 0x000c, 0x3420: 0x000c, 0x3421: 0x000c, 0x3422: 0x000c, 0x3423: 0x000c, + 0x3424: 0x000c, 0x3425: 0x000c, 0x3426: 0x000c, 0x3427: 0x000c, 0x3428: 0x000c, 0x3429: 0x000c, + 0x342a: 0x000c, 0x342b: 0x000c, 0x342c: 0x000c, 0x342d: 0x000c, 0x342e: 0x000c, 0x342f: 0x000c, + 0x3430: 0x000c, 0x3431: 0x000c, 0x3432: 0x000c, 0x3433: 0x000c, 0x3434: 0x000c, 0x3435: 0x000c, + 0x3436: 0x000c, 0x343b: 0x000c, + 0x343c: 0x000c, 0x343d: 0x000c, 0x343e: 0x000c, 0x343f: 0x000c, + // Block 0xd1, offset 0x3440 + 0x3440: 0x000c, 0x3441: 0x000c, 0x3442: 0x000c, 0x3443: 0x000c, 0x3444: 0x000c, 0x3445: 0x000c, + 0x3446: 0x000c, 0x3447: 0x000c, 0x3448: 0x000c, 0x3449: 0x000c, 0x344a: 0x000c, 0x344b: 0x000c, + 0x344c: 0x000c, 0x344d: 0x000c, 0x344e: 0x000c, 0x344f: 0x000c, 0x3450: 0x000c, 0x3451: 0x000c, + 0x3452: 0x000c, 0x3453: 0x000c, 0x3454: 0x000c, 0x3455: 0x000c, 0x3456: 0x000c, 0x3457: 0x000c, + 0x3458: 0x000c, 0x3459: 0x000c, 0x345a: 0x000c, 0x345b: 0x000c, 0x345c: 0x000c, 0x345d: 0x000c, + 0x345e: 0x000c, 0x345f: 0x000c, 0x3460: 0x000c, 0x3461: 0x000c, 0x3462: 0x000c, 0x3463: 0x000c, + 0x3464: 0x000c, 0x3465: 0x000c, 0x3466: 0x000c, 0x3467: 0x000c, 0x3468: 0x000c, 0x3469: 0x000c, + 0x346a: 0x000c, 0x346b: 0x000c, 0x346c: 0x000c, + 0x3475: 0x000c, + // Block 0xd2, offset 0x3480 + 0x3484: 0x000c, + 0x349b: 0x000c, 0x349c: 0x000c, 0x349d: 0x000c, + 0x349e: 0x000c, 0x349f: 0x000c, 0x34a1: 0x000c, 0x34a2: 0x000c, 0x34a3: 0x000c, + 0x34a4: 0x000c, 0x34a5: 0x000c, 0x34a6: 0x000c, 0x34a7: 0x000c, 0x34a8: 0x000c, 0x34a9: 0x000c, + 0x34aa: 0x000c, 0x34ab: 0x000c, 0x34ac: 0x000c, 0x34ad: 0x000c, 0x34ae: 0x000c, 0x34af: 0x000c, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000c, 0x34c1: 0x000c, 0x34c2: 0x000c, 0x34c3: 0x000c, 0x34c4: 0x000c, 0x34c5: 0x000c, + 0x34c6: 0x000c, 0x34c8: 0x000c, 0x34c9: 0x000c, 0x34ca: 0x000c, 0x34cb: 0x000c, + 0x34cc: 0x000c, 0x34cd: 0x000c, 0x34ce: 0x000c, 0x34cf: 0x000c, 0x34d0: 0x000c, 0x34d1: 0x000c, + 0x34d2: 0x000c, 0x34d3: 0x000c, 0x34d4: 0x000c, 0x34d5: 0x000c, 0x34d6: 0x000c, 0x34d7: 0x000c, + 0x34d8: 0x000c, 0x34db: 0x000c, 0x34dc: 0x000c, 0x34dd: 0x000c, + 0x34de: 0x000c, 0x34df: 0x000c, 0x34e0: 0x000c, 0x34e1: 0x000c, 0x34e3: 0x000c, + 0x34e4: 0x000c, 0x34e6: 0x000c, 0x34e7: 0x000c, 0x34e8: 0x000c, 0x34e9: 0x000c, + 0x34ea: 0x000c, + // Block 0xd4, offset 0x3500 + 0x3500: 0x0001, 0x3501: 0x0001, 0x3502: 0x0001, 0x3503: 0x0001, 0x3504: 0x0001, 0x3505: 0x0001, + 0x3506: 0x0001, 0x3507: 0x0001, 0x3508: 0x0001, 0x3509: 0x0001, 0x350a: 0x0001, 0x350b: 0x0001, + 0x350c: 0x0001, 0x350d: 0x0001, 0x350e: 0x0001, 0x350f: 0x0001, 0x3510: 0x000c, 0x3511: 0x000c, + 0x3512: 0x000c, 0x3513: 0x000c, 0x3514: 0x000c, 0x3515: 0x000c, 0x3516: 0x000c, 0x3517: 0x0001, + 0x3518: 0x0001, 0x3519: 0x0001, 0x351a: 0x0001, 0x351b: 0x0001, 0x351c: 0x0001, 0x351d: 0x0001, + 0x351e: 0x0001, 0x351f: 0x0001, 0x3520: 0x0001, 0x3521: 0x0001, 0x3522: 0x0001, 0x3523: 0x0001, + 0x3524: 0x0001, 0x3525: 0x0001, 0x3526: 0x0001, 0x3527: 0x0001, 0x3528: 0x0001, 0x3529: 0x0001, + 0x352a: 0x0001, 0x352b: 0x0001, 0x352c: 0x0001, 0x352d: 0x0001, 0x352e: 0x0001, 0x352f: 0x0001, + 0x3530: 0x0001, 0x3531: 0x0001, 0x3532: 0x0001, 0x3533: 0x0001, 0x3534: 0x0001, 0x3535: 0x0001, + 0x3536: 0x0001, 0x3537: 0x0001, 0x3538: 0x0001, 0x3539: 0x0001, 0x353a: 0x0001, 0x353b: 0x0001, + 0x353c: 0x0001, 0x353d: 0x0001, 0x353e: 0x0001, 0x353f: 0x0001, + // Block 0xd5, offset 0x3540 + 0x3540: 0x0001, 0x3541: 0x0001, 0x3542: 0x0001, 0x3543: 0x0001, 0x3544: 0x000c, 0x3545: 0x000c, + 0x3546: 0x000c, 0x3547: 0x000c, 0x3548: 0x000c, 0x3549: 0x000c, 0x354a: 0x000c, 0x354b: 0x0001, + 0x354c: 0x0001, 0x354d: 0x0001, 0x354e: 0x0001, 0x354f: 0x0001, 0x3550: 0x0001, 0x3551: 0x0001, + 0x3552: 0x0001, 0x3553: 0x0001, 0x3554: 0x0001, 0x3555: 0x0001, 0x3556: 0x0001, 0x3557: 0x0001, + 0x3558: 0x0001, 0x3559: 0x0001, 0x355a: 0x0001, 0x355b: 0x0001, 0x355c: 0x0001, 0x355d: 0x0001, + 0x355e: 0x0001, 0x355f: 0x0001, 0x3560: 0x0001, 0x3561: 0x0001, 0x3562: 0x0001, 0x3563: 0x0001, + 0x3564: 0x0001, 0x3565: 0x0001, 0x3566: 0x0001, 0x3567: 0x0001, 0x3568: 0x0001, 0x3569: 0x0001, + 0x356a: 0x0001, 0x356b: 0x0001, 0x356c: 0x0001, 0x356d: 0x0001, 0x356e: 0x0001, 0x356f: 0x0001, + 0x3570: 0x0001, 0x3571: 0x0001, 0x3572: 0x0001, 0x3573: 0x0001, 0x3574: 0x0001, 0x3575: 0x0001, + 0x3576: 0x0001, 0x3577: 0x0001, 0x3578: 0x0001, 0x3579: 0x0001, 0x357a: 0x0001, 0x357b: 0x0001, + 0x357c: 0x0001, 0x357d: 0x0001, 0x357e: 0x0001, 0x357f: 0x0001, + // Block 0xd6, offset 0x3580 + 0x3580: 0x000d, 0x3581: 0x000d, 0x3582: 0x000d, 0x3583: 0x000d, 0x3584: 0x000d, 0x3585: 0x000d, + 0x3586: 0x000d, 0x3587: 0x000d, 0x3588: 0x000d, 0x3589: 0x000d, 0x358a: 0x000d, 0x358b: 0x000d, + 0x358c: 0x000d, 0x358d: 0x000d, 0x358e: 0x000d, 0x358f: 0x000d, 0x3590: 0x000d, 0x3591: 0x000d, + 0x3592: 0x000d, 0x3593: 0x000d, 0x3594: 0x000d, 0x3595: 0x000d, 0x3596: 0x000d, 0x3597: 0x000d, + 0x3598: 0x000d, 0x3599: 0x000d, 0x359a: 0x000d, 0x359b: 0x000d, 0x359c: 0x000d, 0x359d: 0x000d, + 0x359e: 0x000d, 0x359f: 0x000d, 0x35a0: 0x000d, 0x35a1: 0x000d, 0x35a2: 0x000d, 0x35a3: 0x000d, + 0x35a4: 0x000d, 0x35a5: 0x000d, 0x35a6: 0x000d, 0x35a7: 0x000d, 0x35a8: 0x000d, 0x35a9: 0x000d, + 0x35aa: 0x000d, 0x35ab: 0x000d, 0x35ac: 0x000d, 0x35ad: 0x000d, 0x35ae: 0x000d, 0x35af: 0x000d, + 0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000d, 0x35b3: 0x000d, 0x35b4: 0x000d, 0x35b5: 0x000d, + 0x35b6: 0x000d, 0x35b7: 0x000d, 0x35b8: 0x000d, 0x35b9: 0x000d, 0x35ba: 0x000d, 0x35bb: 0x000d, + 0x35bc: 0x000d, 0x35bd: 0x000d, 0x35be: 0x000d, 0x35bf: 0x000d, + // Block 0xd7, offset 0x35c0 + 0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a, + 0x35c6: 0x000a, 0x35c7: 0x000a, 0x35c8: 0x000a, 0x35c9: 0x000a, 0x35ca: 0x000a, 0x35cb: 0x000a, + 0x35cc: 0x000a, 0x35cd: 0x000a, 0x35ce: 0x000a, 0x35cf: 0x000a, 0x35d0: 0x000a, 0x35d1: 0x000a, + 0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a, + 0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a, + 0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a, + 0x35ea: 0x000a, 0x35eb: 0x000a, + 0x35f0: 0x000a, 0x35f1: 0x000a, 0x35f2: 0x000a, 0x35f3: 0x000a, 0x35f4: 0x000a, 0x35f5: 0x000a, + 0x35f6: 0x000a, 0x35f7: 0x000a, 0x35f8: 0x000a, 0x35f9: 0x000a, 0x35fa: 0x000a, 0x35fb: 0x000a, + 0x35fc: 0x000a, 0x35fd: 0x000a, 0x35fe: 0x000a, 0x35ff: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a, + 0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a, + 0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, + 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a, + 0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a, 0x362d: 0x000a, 0x362e: 0x000a, + 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a, + 0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a, 0x363f: 0x000a, + // Block 0xd9, offset 0x3640 + 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, + 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, + 0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a, + 0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a, + 0x365e: 0x000a, 0x365f: 0x000a, 0x3660: 0x000a, 0x3661: 0x000a, 0x3662: 0x000a, 0x3663: 0x000a, + 0x3664: 0x000a, 0x3665: 0x000a, 0x3666: 0x000a, 0x3667: 0x000a, 0x3668: 0x000a, 0x3669: 0x000a, + 0x366a: 0x000a, 0x366b: 0x000a, 0x366c: 0x000a, 0x366d: 0x000a, 0x366e: 0x000a, 0x366f: 0x000a, + 0x3670: 0x000a, 0x3671: 0x000a, 0x3672: 0x000a, 0x3673: 0x000a, 0x3674: 0x000a, 0x3675: 0x000a, + // Block 0xda, offset 0x3680 + 0x3680: 0x0002, 0x3681: 0x0002, 0x3682: 0x0002, 0x3683: 0x0002, 0x3684: 0x0002, 0x3685: 0x0002, + 0x3686: 0x0002, 0x3687: 0x0002, 0x3688: 0x0002, 0x3689: 0x0002, 0x368a: 0x0002, 0x368b: 0x000a, + 0x368c: 0x000a, + 0x36af: 0x000a, + // Block 0xdb, offset 0x36c0 + 0x36ea: 0x000a, 0x36eb: 0x000a, + // Block 0xdc, offset 0x3700 + 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, + 0x3724: 0x000a, 0x3725: 0x000a, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, + 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, + 0x374c: 0x000a, 0x374d: 0x000a, 0x374e: 0x000a, 0x374f: 0x000a, 0x3750: 0x000a, 0x3751: 0x000a, + 0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, + 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, + 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, + 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, + 0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, + 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, + // Block 0xde, offset 0x3780 + 0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, + 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, + 0x378c: 0x000a, 0x378d: 0x000a, 0x378e: 0x000a, 0x378f: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a, + 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, + 0x3798: 0x000a, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a, + 0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a, + 0x37d0: 0x000a, 0x37d1: 0x000a, + 0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a, + 0x37d8: 0x000a, 0x37d9: 0x000a, 0x37da: 0x000a, 0x37db: 0x000a, 0x37dc: 0x000a, 0x37dd: 0x000a, + 0x37de: 0x000a, 0x37df: 0x000a, 0x37e0: 0x000a, 0x37e1: 0x000a, 0x37e2: 0x000a, 0x37e3: 0x000a, + 0x37e4: 0x000a, 0x37e5: 0x000a, 0x37e6: 0x000a, 0x37e7: 0x000a, 0x37e8: 0x000a, 0x37e9: 0x000a, + 0x37ea: 0x000a, 0x37eb: 0x000a, 0x37ec: 0x000a, 0x37ed: 0x000a, 0x37ee: 0x000a, 0x37ef: 0x000a, + 0x37f0: 0x000a, 0x37f1: 0x000a, 0x37f2: 0x000a, 0x37f3: 0x000a, 0x37f4: 0x000a, 0x37f5: 0x000a, + 0x37f6: 0x000a, 0x37f7: 0x000a, 0x37f8: 0x000a, 0x37f9: 0x000a, 0x37fa: 0x000a, 0x37fb: 0x000a, + 0x37fc: 0x000a, 0x37fd: 0x000a, 0x37fe: 0x000a, 0x37ff: 0x000a, + // Block 0xe0, offset 0x3800 + 0x3800: 0x000a, 0x3801: 0x000a, 0x3802: 0x000a, 0x3803: 0x000a, 0x3804: 0x000a, 0x3805: 0x000a, + 0x3806: 0x000a, 0x3807: 0x000a, + 0x3810: 0x000a, 0x3811: 0x000a, + 0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a, + 0x3818: 0x000a, 0x3819: 0x000a, + 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a, + 0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a, 0x3827: 0x000a, 0x3828: 0x000a, 0x3829: 0x000a, + 0x382a: 0x000a, 0x382b: 0x000a, 0x382c: 0x000a, 0x382d: 0x000a, 0x382e: 0x000a, 0x382f: 0x000a, + 0x3830: 0x000a, 0x3831: 0x000a, 0x3832: 0x000a, 0x3833: 0x000a, 0x3834: 0x000a, 0x3835: 0x000a, + 0x3836: 0x000a, 0x3837: 0x000a, 0x3838: 0x000a, 0x3839: 0x000a, 0x383a: 0x000a, 0x383b: 0x000a, + 0x383c: 0x000a, 0x383d: 0x000a, 0x383e: 0x000a, 0x383f: 0x000a, + // Block 0xe1, offset 0x3840 + 0x3840: 0x000a, 0x3841: 0x000a, 0x3842: 0x000a, 0x3843: 0x000a, 0x3844: 0x000a, 0x3845: 0x000a, + 0x3846: 0x000a, 0x3847: 0x000a, + 0x3850: 0x000a, 0x3851: 0x000a, + 0x3852: 0x000a, 0x3853: 0x000a, 0x3854: 0x000a, 0x3855: 0x000a, 0x3856: 0x000a, 0x3857: 0x000a, + 0x3858: 0x000a, 0x3859: 0x000a, 0x385a: 0x000a, 0x385b: 0x000a, 0x385c: 0x000a, 0x385d: 0x000a, + 0x385e: 0x000a, 0x385f: 0x000a, 0x3860: 0x000a, 0x3861: 0x000a, 0x3862: 0x000a, 0x3863: 0x000a, + 0x3864: 0x000a, 0x3865: 0x000a, 0x3866: 0x000a, 0x3867: 0x000a, 0x3868: 0x000a, 0x3869: 0x000a, + 0x386a: 0x000a, 0x386b: 0x000a, 0x386c: 0x000a, 0x386d: 0x000a, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000a, 0x3881: 0x000a, 0x3882: 0x000a, 0x3883: 0x000a, 0x3884: 0x000a, 0x3885: 0x000a, + 0x3886: 0x000a, 0x3887: 0x000a, 0x3888: 0x000a, 0x3889: 0x000a, 0x388a: 0x000a, 0x388b: 0x000a, + 0x3890: 0x000a, 0x3891: 0x000a, + 0x3892: 0x000a, 0x3893: 0x000a, 0x3894: 0x000a, 0x3895: 0x000a, 0x3896: 0x000a, 0x3897: 0x000a, + 0x3898: 0x000a, 0x3899: 0x000a, 0x389a: 0x000a, 0x389b: 0x000a, 0x389c: 0x000a, 0x389d: 0x000a, + 0x389e: 0x000a, 0x389f: 0x000a, 0x38a0: 0x000a, 0x38a1: 0x000a, 0x38a2: 0x000a, 0x38a3: 0x000a, + 0x38a4: 0x000a, 0x38a5: 0x000a, 0x38a6: 0x000a, 0x38a7: 0x000a, 0x38a8: 0x000a, 0x38a9: 0x000a, + 0x38aa: 0x000a, 0x38ab: 0x000a, 0x38ac: 0x000a, 0x38ad: 0x000a, 0x38ae: 0x000a, 0x38af: 0x000a, + 0x38b0: 0x000a, 0x38b1: 0x000a, 0x38b2: 0x000a, 0x38b3: 0x000a, 0x38b4: 0x000a, 0x38b5: 0x000a, + 0x38b6: 0x000a, 0x38b7: 0x000a, 0x38b8: 0x000a, 0x38b9: 0x000a, 0x38ba: 0x000a, 0x38bb: 0x000a, + 0x38bc: 0x000a, 0x38bd: 0x000a, 0x38be: 0x000a, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000a, 0x38c1: 0x000a, 0x38c2: 0x000a, 0x38c3: 0x000a, 0x38c4: 0x000a, 0x38c5: 0x000a, + 0x38c6: 0x000a, 0x38c7: 0x000a, 0x38c8: 0x000a, 0x38c9: 0x000a, 0x38ca: 0x000a, 0x38cb: 0x000a, + 0x38cc: 0x000a, 0x38cd: 0x000a, 0x38ce: 0x000a, 0x38cf: 0x000a, 0x38d0: 0x000a, 0x38d1: 0x000a, + 0x38d2: 0x000a, 0x38d3: 0x000a, 0x38d4: 0x000a, 0x38d5: 0x000a, 0x38d6: 0x000a, 0x38d7: 0x000a, + 0x38d8: 0x000a, 0x38d9: 0x000a, 0x38da: 0x000a, 0x38db: 0x000a, 0x38dc: 0x000a, 0x38dd: 0x000a, + 0x38de: 0x000a, 0x38df: 0x000a, 0x38e0: 0x000a, 0x38e1: 0x000a, 0x38e2: 0x000a, 0x38e3: 0x000a, + 0x38e4: 0x000a, 0x38e5: 0x000a, 0x38e6: 0x000a, 0x38e7: 0x000a, 0x38e8: 0x000a, 0x38e9: 0x000a, + 0x38ea: 0x000a, 0x38eb: 0x000a, 0x38ec: 0x000a, 0x38ed: 0x000a, 0x38ee: 0x000a, 0x38ef: 0x000a, + 0x38f0: 0x000a, 0x38f3: 0x000a, 0x38f4: 0x000a, 0x38f5: 0x000a, + 0x38f6: 0x000a, 0x38fa: 0x000a, + 0x38fc: 0x000a, 0x38fd: 0x000a, 0x38fe: 0x000a, 0x38ff: 0x000a, + // Block 0xe4, offset 0x3900 + 0x3900: 0x000a, 0x3901: 0x000a, 0x3902: 0x000a, 0x3903: 0x000a, 0x3904: 0x000a, 0x3905: 0x000a, + 0x3906: 0x000a, 0x3907: 0x000a, 0x3908: 0x000a, 0x3909: 0x000a, 0x390a: 0x000a, 0x390b: 0x000a, + 0x390c: 0x000a, 0x390d: 0x000a, 0x390e: 0x000a, 0x390f: 0x000a, 0x3910: 0x000a, 0x3911: 0x000a, + 0x3912: 0x000a, 0x3913: 0x000a, 0x3914: 0x000a, 0x3915: 0x000a, 0x3916: 0x000a, 0x3917: 0x000a, + 0x3918: 0x000a, 0x3919: 0x000a, 0x391a: 0x000a, 0x391b: 0x000a, 0x391c: 0x000a, 0x391d: 0x000a, + 0x391e: 0x000a, 0x391f: 0x000a, 0x3920: 0x000a, 0x3921: 0x000a, 0x3922: 0x000a, + 0x3930: 0x000a, 0x3931: 0x000a, 0x3932: 0x000a, 0x3933: 0x000a, 0x3934: 0x000a, 0x3935: 0x000a, + 0x3936: 0x000a, 0x3937: 0x000a, 0x3938: 0x000a, 0x3939: 0x000a, + // Block 0xe5, offset 0x3940 + 0x3940: 0x000a, 0x3941: 0x000a, 0x3942: 0x000a, + 0x3950: 0x000a, 0x3951: 0x000a, + 0x3952: 0x000a, 0x3953: 0x000a, 0x3954: 0x000a, 0x3955: 0x000a, 0x3956: 0x000a, 0x3957: 0x000a, + 0x3958: 0x000a, 0x3959: 0x000a, 0x395a: 0x000a, 0x395b: 0x000a, 0x395c: 0x000a, 0x395d: 0x000a, + 0x395e: 0x000a, 0x395f: 0x000a, 0x3960: 0x000a, 0x3961: 0x000a, 0x3962: 0x000a, 0x3963: 0x000a, + 0x3964: 0x000a, 0x3965: 0x000a, 0x3966: 0x000a, 0x3967: 0x000a, 0x3968: 0x000a, 0x3969: 0x000a, + 0x396a: 0x000a, 0x396b: 0x000a, 0x396c: 0x000a, 0x396d: 0x000a, 0x396e: 0x000a, 0x396f: 0x000a, + 0x3970: 0x000a, 0x3971: 0x000a, 0x3972: 0x000a, 0x3973: 0x000a, 0x3974: 0x000a, 0x3975: 0x000a, + 0x3976: 0x000a, 0x3977: 0x000a, 0x3978: 0x000a, 0x3979: 0x000a, 0x397a: 0x000a, 0x397b: 0x000a, + 0x397c: 0x000a, 0x397d: 0x000a, 0x397e: 0x000a, 0x397f: 0x000a, + // Block 0xe6, offset 0x3980 + 0x39a0: 0x000a, 0x39a1: 0x000a, 0x39a2: 0x000a, 0x39a3: 0x000a, + 0x39a4: 0x000a, 0x39a5: 0x000a, 0x39a6: 0x000a, 0x39a7: 0x000a, 0x39a8: 0x000a, 0x39a9: 0x000a, + 0x39aa: 0x000a, 0x39ab: 0x000a, 0x39ac: 0x000a, 0x39ad: 0x000a, + // Block 0xe7, offset 0x39c0 + 0x39fe: 0x000b, 0x39ff: 0x000b, + // Block 0xe8, offset 0x3a00 + 0x3a00: 0x000b, 0x3a01: 0x000b, 0x3a02: 0x000b, 0x3a03: 0x000b, 0x3a04: 0x000b, 0x3a05: 0x000b, + 0x3a06: 0x000b, 0x3a07: 0x000b, 0x3a08: 0x000b, 0x3a09: 0x000b, 0x3a0a: 0x000b, 0x3a0b: 0x000b, + 0x3a0c: 0x000b, 0x3a0d: 0x000b, 0x3a0e: 0x000b, 0x3a0f: 0x000b, 0x3a10: 0x000b, 0x3a11: 0x000b, + 0x3a12: 0x000b, 0x3a13: 0x000b, 0x3a14: 0x000b, 0x3a15: 0x000b, 0x3a16: 0x000b, 0x3a17: 0x000b, + 0x3a18: 0x000b, 0x3a19: 0x000b, 0x3a1a: 0x000b, 0x3a1b: 0x000b, 0x3a1c: 0x000b, 0x3a1d: 0x000b, + 0x3a1e: 0x000b, 0x3a1f: 0x000b, 0x3a20: 0x000b, 0x3a21: 0x000b, 0x3a22: 0x000b, 0x3a23: 0x000b, + 0x3a24: 0x000b, 0x3a25: 0x000b, 0x3a26: 0x000b, 0x3a27: 0x000b, 0x3a28: 0x000b, 0x3a29: 0x000b, + 0x3a2a: 0x000b, 0x3a2b: 0x000b, 0x3a2c: 0x000b, 0x3a2d: 0x000b, 0x3a2e: 0x000b, 0x3a2f: 0x000b, + 0x3a30: 0x000b, 0x3a31: 0x000b, 0x3a32: 0x000b, 0x3a33: 0x000b, 0x3a34: 0x000b, 0x3a35: 0x000b, + 0x3a36: 0x000b, 0x3a37: 0x000b, 0x3a38: 0x000b, 0x3a39: 0x000b, 0x3a3a: 0x000b, 0x3a3b: 0x000b, + 0x3a3c: 0x000b, 0x3a3d: 0x000b, 0x3a3e: 0x000b, 0x3a3f: 0x000b, + // Block 0xe9, offset 0x3a40 + 0x3a40: 0x000c, 0x3a41: 0x000c, 0x3a42: 0x000c, 0x3a43: 0x000c, 0x3a44: 0x000c, 0x3a45: 0x000c, + 0x3a46: 0x000c, 0x3a47: 0x000c, 0x3a48: 0x000c, 0x3a49: 0x000c, 0x3a4a: 0x000c, 0x3a4b: 0x000c, + 0x3a4c: 0x000c, 0x3a4d: 0x000c, 0x3a4e: 0x000c, 0x3a4f: 0x000c, 0x3a50: 0x000c, 0x3a51: 0x000c, + 0x3a52: 0x000c, 0x3a53: 0x000c, 0x3a54: 0x000c, 0x3a55: 0x000c, 0x3a56: 0x000c, 0x3a57: 0x000c, + 0x3a58: 0x000c, 0x3a59: 0x000c, 0x3a5a: 0x000c, 0x3a5b: 0x000c, 0x3a5c: 0x000c, 0x3a5d: 0x000c, + 0x3a5e: 0x000c, 0x3a5f: 0x000c, 0x3a60: 0x000c, 0x3a61: 0x000c, 0x3a62: 0x000c, 0x3a63: 0x000c, + 0x3a64: 0x000c, 0x3a65: 0x000c, 0x3a66: 0x000c, 0x3a67: 0x000c, 0x3a68: 0x000c, 0x3a69: 0x000c, + 0x3a6a: 0x000c, 0x3a6b: 0x000c, 0x3a6c: 0x000c, 0x3a6d: 0x000c, 0x3a6e: 0x000c, 0x3a6f: 0x000c, + 0x3a70: 0x000b, 0x3a71: 0x000b, 0x3a72: 0x000b, 0x3a73: 0x000b, 0x3a74: 0x000b, 0x3a75: 0x000b, + 0x3a76: 0x000b, 0x3a77: 0x000b, 0x3a78: 0x000b, 0x3a79: 0x000b, 0x3a7a: 0x000b, 0x3a7b: 0x000b, + 0x3a7c: 0x000b, 0x3a7d: 0x000b, 0x3a7e: 0x000b, 0x3a7f: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, + 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64, + 0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67, + 0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70, + 0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x77, 0x253: 0x78, + 0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e, + 0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85, + 0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a, + // Block 0xa, offset 0x280 + 0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e, + 0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97, + 0x2cb: 0x98, 0x2cd: 0x99, + 0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a, + 0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a, + 0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9f, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a, + 0x2f8: 0x9a, 0x2f9: 0xa0, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0xa1, 0x2fd: 0xa2, 0x2fe: 0x9a, 0x2ff: 0x9a, + // Block 0xc, offset 0x300 + 0x300: 0xa3, 0x301: 0xa4, 0x302: 0xa5, 0x304: 0xa6, 0x305: 0xa7, 0x306: 0xa8, 0x307: 0xa9, + 0x308: 0xaa, 0x30b: 0xab, 0x30c: 0x26, 0x30d: 0xac, + 0x310: 0xad, 0x311: 0xae, 0x312: 0xaf, 0x313: 0xb0, 0x316: 0xb1, 0x317: 0xb2, + 0x318: 0xb3, 0x319: 0xb4, 0x31a: 0xb5, 0x31c: 0xb6, + 0x320: 0xb7, + 0x328: 0xb8, 0x329: 0xb9, 0x32a: 0xba, + 0x330: 0xbb, 0x332: 0xbc, 0x334: 0xbd, 0x335: 0xbe, 0x336: 0xbf, + 0x33b: 0xc0, + // Block 0xd, offset 0x340 + 0x36b: 0xc1, 0x36c: 0xc2, + 0x37e: 0xc3, + // Block 0xe, offset 0x380 + 0x3b2: 0xc4, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xc5, 0x3c6: 0xc6, + 0x3c8: 0x54, 0x3c9: 0xc7, 0x3cc: 0x54, 0x3cd: 0xc8, + 0x3db: 0xc9, 0x3dc: 0xca, 0x3dd: 0xcb, 0x3de: 0xcc, 0x3df: 0xcd, + 0x3e8: 0xce, 0x3e9: 0xcf, 0x3ea: 0xd0, + // Block 0x10, offset 0x400 + 0x400: 0xd1, + 0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xd2, 0x424: 0x9a, 0x425: 0xd3, 0x426: 0x9a, 0x427: 0x9a, + 0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a, + 0x430: 0x9a, 0x431: 0xa1, 0x432: 0x0e, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xd4, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a, + // Block 0x11, offset 0x440 + 0x440: 0xd5, 0x441: 0x54, 0x442: 0xd6, 0x443: 0xd7, 0x444: 0xd8, 0x445: 0xd9, + 0x449: 0xda, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xdb, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xdc, + 0x460: 0xdd, 0x461: 0xde, 0x462: 0xdf, 0x464: 0xe0, 0x465: 0xe1, 0x466: 0xe2, 0x467: 0xe3, + 0x469: 0xe4, + 0x47f: 0xe5, + // Block 0x12, offset 0x480 + 0x4bf: 0xe5, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xe6, 0x541: 0xe6, 0x542: 0xe6, 0x543: 0xe6, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe7, + 0x548: 0xe6, 0x549: 0xe6, 0x54a: 0xe6, 0x54b: 0xe6, 0x54c: 0xe6, 0x54d: 0xe6, 0x54e: 0xe6, 0x54f: 0xe6, + 0x550: 0xe6, 0x551: 0xe6, 0x552: 0xe6, 0x553: 0xe6, 0x554: 0xe6, 0x555: 0xe6, 0x556: 0xe6, 0x557: 0xe6, + 0x558: 0xe6, 0x559: 0xe6, 0x55a: 0xe6, 0x55b: 0xe6, 0x55c: 0xe6, 0x55d: 0xe6, 0x55e: 0xe6, 0x55f: 0xe6, + 0x560: 0xe6, 0x561: 0xe6, 0x562: 0xe6, 0x563: 0xe6, 0x564: 0xe6, 0x565: 0xe6, 0x566: 0xe6, 0x567: 0xe6, + 0x568: 0xe6, 0x569: 0xe6, 0x56a: 0xe6, 0x56b: 0xe6, 0x56c: 0xe6, 0x56d: 0xe6, 0x56e: 0xe6, 0x56f: 0xe6, + 0x570: 0xe6, 0x571: 0xe6, 0x572: 0xe6, 0x573: 0xe6, 0x574: 0xe6, 0x575: 0xe6, 0x576: 0xe6, 0x577: 0xe6, + 0x578: 0xe6, 0x579: 0xe6, 0x57a: 0xe6, 0x57b: 0xe6, 0x57c: 0xe6, 0x57d: 0xe6, 0x57e: 0xe6, 0x57f: 0xe6, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 16568 bytes (16KiB); checksum: F50EF68C diff --git a/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go new file mode 100644 index 000000000..baacf32b4 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go @@ -0,0 +1,1924 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.14 && !go1.16 +// +build go1.14,!go1.16 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "12.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 16896 bytes (16.50 KiB). Checksum: 6f0927067913dc6d. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 240 blocks, 15360 entries, 15360 bytes +// The third block is the zero block. +var bidiValues = [15360]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x000c, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000c, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + 0x77e: 0x000c, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, 0x944: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7a: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, + 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, + 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, + 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, + 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, + // Block 0x5e, offset 0x1780 + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, + 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, + 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, + 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, + 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, + 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, + 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, + 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, + 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, + 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, + 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, + 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, + 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, + 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, + 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, + 0x19aa: 0x000a, 0x19af: 0x000c, + 0x19b0: 0x000c, 0x19b1: 0x000c, + 0x19b9: 0x000a, 0x19ba: 0x000a, 0x19bb: 0x000a, + 0x19bc: 0x000a, 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19ff: 0x000c, + // Block 0x68, offset 0x1a00 + 0x1a20: 0x000c, 0x1a21: 0x000c, 0x1a22: 0x000c, 0x1a23: 0x000c, + 0x1a24: 0x000c, 0x1a25: 0x000c, 0x1a26: 0x000c, 0x1a27: 0x000c, 0x1a28: 0x000c, 0x1a29: 0x000c, + 0x1a2a: 0x000c, 0x1a2b: 0x000c, 0x1a2c: 0x000c, 0x1a2d: 0x000c, 0x1a2e: 0x000c, 0x1a2f: 0x000c, + 0x1a30: 0x000c, 0x1a31: 0x000c, 0x1a32: 0x000c, 0x1a33: 0x000c, 0x1a34: 0x000c, 0x1a35: 0x000c, + 0x1a36: 0x000c, 0x1a37: 0x000c, 0x1a38: 0x000c, 0x1a39: 0x000c, 0x1a3a: 0x000c, 0x1a3b: 0x000c, + 0x1a3c: 0x000c, 0x1a3d: 0x000c, 0x1a3e: 0x000c, 0x1a3f: 0x000c, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x000a, 0x1a41: 0x000a, 0x1a42: 0x000a, 0x1a43: 0x000a, 0x1a44: 0x000a, 0x1a45: 0x000a, + 0x1a46: 0x000a, 0x1a47: 0x000a, 0x1a48: 0x000a, 0x1a49: 0x000a, 0x1a4a: 0x000a, 0x1a4b: 0x000a, + 0x1a4c: 0x000a, 0x1a4d: 0x000a, 0x1a4e: 0x000a, 0x1a4f: 0x000a, 0x1a50: 0x000a, 0x1a51: 0x000a, + 0x1a52: 0x000a, 0x1a53: 0x000a, 0x1a54: 0x000a, 0x1a55: 0x000a, 0x1a56: 0x000a, 0x1a57: 0x000a, + 0x1a58: 0x000a, 0x1a59: 0x000a, 0x1a5a: 0x000a, 0x1a5b: 0x000a, 0x1a5c: 0x000a, 0x1a5d: 0x000a, + 0x1a5e: 0x000a, 0x1a5f: 0x000a, 0x1a60: 0x000a, 0x1a61: 0x000a, 0x1a62: 0x003a, 0x1a63: 0x002a, + 0x1a64: 0x003a, 0x1a65: 0x002a, 0x1a66: 0x003a, 0x1a67: 0x002a, 0x1a68: 0x003a, 0x1a69: 0x002a, + 0x1a6a: 0x000a, 0x1a6b: 0x000a, 0x1a6c: 0x000a, 0x1a6d: 0x000a, 0x1a6e: 0x000a, 0x1a6f: 0x000a, + 0x1a70: 0x000a, 0x1a71: 0x000a, 0x1a72: 0x000a, 0x1a73: 0x000a, 0x1a74: 0x000a, 0x1a75: 0x000a, + 0x1a76: 0x000a, 0x1a77: 0x000a, 0x1a78: 0x000a, 0x1a79: 0x000a, 0x1a7a: 0x000a, 0x1a7b: 0x000a, + 0x1a7c: 0x000a, 0x1a7d: 0x000a, 0x1a7e: 0x000a, 0x1a7f: 0x000a, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, + 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, + 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, + 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a, + 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a, + 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a, + 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x000a, 0x1ae3: 0x000a, + 0x1ae4: 0x000a, 0x1ae5: 0x000a, 0x1ae6: 0x000a, 0x1ae7: 0x000a, 0x1ae8: 0x000a, 0x1ae9: 0x000a, + 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a, + 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a, + 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a, + 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, + 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1a: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, + 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, + 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, + 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, + 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a, + 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x0009, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, + 0x1b88: 0x003a, 0x1b89: 0x002a, 0x1b8a: 0x003a, 0x1b8b: 0x002a, + 0x1b8c: 0x003a, 0x1b8d: 0x002a, 0x1b8e: 0x003a, 0x1b8f: 0x002a, 0x1b90: 0x003a, 0x1b91: 0x002a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x003a, 0x1b95: 0x002a, 0x1b96: 0x003a, 0x1b97: 0x002a, + 0x1b98: 0x003a, 0x1b99: 0x002a, 0x1b9a: 0x003a, 0x1b9b: 0x002a, 0x1b9c: 0x000a, 0x1b9d: 0x000a, + 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, + 0x1baa: 0x000c, 0x1bab: 0x000c, 0x1bac: 0x000c, 0x1bad: 0x000c, + 0x1bb0: 0x000a, + 0x1bb6: 0x000a, 0x1bb7: 0x000a, + 0x1bbd: 0x000a, 0x1bbe: 0x000a, 0x1bbf: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bd9: 0x000c, 0x1bda: 0x000c, 0x1bdb: 0x000a, 0x1bdc: 0x000a, + 0x1be0: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c3b: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c40: 0x000a, 0x1c41: 0x000a, 0x1c42: 0x000a, 0x1c43: 0x000a, 0x1c44: 0x000a, 0x1c45: 0x000a, + 0x1c46: 0x000a, 0x1c47: 0x000a, 0x1c48: 0x000a, 0x1c49: 0x000a, 0x1c4a: 0x000a, 0x1c4b: 0x000a, + 0x1c4c: 0x000a, 0x1c4d: 0x000a, 0x1c4e: 0x000a, 0x1c4f: 0x000a, 0x1c50: 0x000a, 0x1c51: 0x000a, + 0x1c52: 0x000a, 0x1c53: 0x000a, 0x1c54: 0x000a, 0x1c55: 0x000a, 0x1c56: 0x000a, 0x1c57: 0x000a, + 0x1c58: 0x000a, 0x1c59: 0x000a, 0x1c5a: 0x000a, 0x1c5b: 0x000a, 0x1c5c: 0x000a, 0x1c5d: 0x000a, + 0x1c5e: 0x000a, 0x1c5f: 0x000a, 0x1c60: 0x000a, 0x1c61: 0x000a, 0x1c62: 0x000a, 0x1c63: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1c9d: 0x000a, + 0x1c9e: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cd0: 0x000a, 0x1cd1: 0x000a, + 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a, + 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a, + 0x1cde: 0x000a, 0x1cdf: 0x000a, + 0x1cfc: 0x000a, 0x1cfd: 0x000a, 0x1cfe: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d31: 0x000a, 0x1d32: 0x000a, 0x1d33: 0x000a, 0x1d34: 0x000a, 0x1d35: 0x000a, + 0x1d36: 0x000a, 0x1d37: 0x000a, 0x1d38: 0x000a, 0x1d39: 0x000a, 0x1d3a: 0x000a, 0x1d3b: 0x000a, + 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, 0x1d3f: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d4c: 0x000a, 0x1d4d: 0x000a, 0x1d4e: 0x000a, 0x1d4f: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1dde: 0x000a, 0x1ddf: 0x000a, + 0x1dff: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e10: 0x000a, 0x1e11: 0x000a, + 0x1e12: 0x000a, 0x1e13: 0x000a, 0x1e14: 0x000a, 0x1e15: 0x000a, 0x1e16: 0x000a, 0x1e17: 0x000a, + 0x1e18: 0x000a, 0x1e19: 0x000a, 0x1e1a: 0x000a, 0x1e1b: 0x000a, 0x1e1c: 0x000a, 0x1e1d: 0x000a, + 0x1e1e: 0x000a, 0x1e1f: 0x000a, 0x1e20: 0x000a, 0x1e21: 0x000a, 0x1e22: 0x000a, 0x1e23: 0x000a, + 0x1e24: 0x000a, 0x1e25: 0x000a, 0x1e26: 0x000a, 0x1e27: 0x000a, 0x1e28: 0x000a, 0x1e29: 0x000a, + 0x1e2a: 0x000a, 0x1e2b: 0x000a, 0x1e2c: 0x000a, 0x1e2d: 0x000a, 0x1e2e: 0x000a, 0x1e2f: 0x000a, + 0x1e30: 0x000a, 0x1e31: 0x000a, 0x1e32: 0x000a, 0x1e33: 0x000a, 0x1e34: 0x000a, 0x1e35: 0x000a, + 0x1e36: 0x000a, 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a, 0x1e3b: 0x000a, + 0x1e3c: 0x000a, 0x1e3d: 0x000a, 0x1e3e: 0x000a, 0x1e3f: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e40: 0x000a, 0x1e41: 0x000a, 0x1e42: 0x000a, 0x1e43: 0x000a, 0x1e44: 0x000a, 0x1e45: 0x000a, + 0x1e46: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e8d: 0x000a, 0x1e8e: 0x000a, 0x1e8f: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1eef: 0x000c, + 0x1ef0: 0x000c, 0x1ef1: 0x000c, 0x1ef2: 0x000c, 0x1ef3: 0x000a, 0x1ef4: 0x000c, 0x1ef5: 0x000c, + 0x1ef6: 0x000c, 0x1ef7: 0x000c, 0x1ef8: 0x000c, 0x1ef9: 0x000c, 0x1efa: 0x000c, 0x1efb: 0x000c, + 0x1efc: 0x000c, 0x1efd: 0x000c, 0x1efe: 0x000a, 0x1eff: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f1e: 0x000c, 0x1f1f: 0x000c, + // Block 0x7d, offset 0x1f40 + 0x1f70: 0x000c, 0x1f71: 0x000c, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0x000a, 0x1f81: 0x000a, 0x1f82: 0x000a, 0x1f83: 0x000a, 0x1f84: 0x000a, 0x1f85: 0x000a, + 0x1f86: 0x000a, 0x1f87: 0x000a, 0x1f88: 0x000a, 0x1f89: 0x000a, 0x1f8a: 0x000a, 0x1f8b: 0x000a, + 0x1f8c: 0x000a, 0x1f8d: 0x000a, 0x1f8e: 0x000a, 0x1f8f: 0x000a, 0x1f90: 0x000a, 0x1f91: 0x000a, + 0x1f92: 0x000a, 0x1f93: 0x000a, 0x1f94: 0x000a, 0x1f95: 0x000a, 0x1f96: 0x000a, 0x1f97: 0x000a, + 0x1f98: 0x000a, 0x1f99: 0x000a, 0x1f9a: 0x000a, 0x1f9b: 0x000a, 0x1f9c: 0x000a, 0x1f9d: 0x000a, + 0x1f9e: 0x000a, 0x1f9f: 0x000a, 0x1fa0: 0x000a, 0x1fa1: 0x000a, + // Block 0x7f, offset 0x1fc0 + 0x1fc8: 0x000a, + // Block 0x80, offset 0x2000 + 0x2002: 0x000c, + 0x2006: 0x000c, 0x200b: 0x000c, + 0x2025: 0x000c, 0x2026: 0x000c, 0x2028: 0x000a, 0x2029: 0x000a, + 0x202a: 0x000a, 0x202b: 0x000a, + 0x2038: 0x0004, 0x2039: 0x0004, + // Block 0x81, offset 0x2040 + 0x2074: 0x000a, 0x2075: 0x000a, + 0x2076: 0x000a, 0x2077: 0x000a, + // Block 0x82, offset 0x2080 + 0x2084: 0x000c, 0x2085: 0x000c, + 0x20a0: 0x000c, 0x20a1: 0x000c, 0x20a2: 0x000c, 0x20a3: 0x000c, + 0x20a4: 0x000c, 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a7: 0x000c, 0x20a8: 0x000c, 0x20a9: 0x000c, + 0x20aa: 0x000c, 0x20ab: 0x000c, 0x20ac: 0x000c, 0x20ad: 0x000c, 0x20ae: 0x000c, 0x20af: 0x000c, + 0x20b0: 0x000c, 0x20b1: 0x000c, + 0x20bf: 0x000c, + // Block 0x83, offset 0x20c0 + 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, + 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, + // Block 0x84, offset 0x2100 + 0x2107: 0x000c, 0x2108: 0x000c, 0x2109: 0x000c, 0x210a: 0x000c, 0x210b: 0x000c, + 0x210c: 0x000c, 0x210d: 0x000c, 0x210e: 0x000c, 0x210f: 0x000c, 0x2110: 0x000c, 0x2111: 0x000c, + // Block 0x85, offset 0x2140 + 0x2140: 0x000c, 0x2141: 0x000c, 0x2142: 0x000c, + 0x2173: 0x000c, + 0x2176: 0x000c, 0x2177: 0x000c, 0x2178: 0x000c, 0x2179: 0x000c, + 0x217c: 0x000c, 0x217d: 0x000c, + // Block 0x86, offset 0x2180 + 0x21a5: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21e9: 0x000c, + 0x21ea: 0x000c, 0x21eb: 0x000c, 0x21ec: 0x000c, 0x21ed: 0x000c, 0x21ee: 0x000c, + 0x21f1: 0x000c, 0x21f2: 0x000c, 0x21f5: 0x000c, + 0x21f6: 0x000c, + // Block 0x88, offset 0x2200 + 0x2203: 0x000c, + 0x220c: 0x000c, + 0x223c: 0x000c, + // Block 0x89, offset 0x2240 + 0x2270: 0x000c, 0x2272: 0x000c, 0x2273: 0x000c, 0x2274: 0x000c, + 0x2277: 0x000c, 0x2278: 0x000c, + 0x227e: 0x000c, 0x227f: 0x000c, + // Block 0x8a, offset 0x2280 + 0x2281: 0x000c, + 0x22ac: 0x000c, 0x22ad: 0x000c, + 0x22b6: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22e5: 0x000c, 0x22e8: 0x000c, + 0x22ed: 0x000c, + // Block 0x8c, offset 0x2300 + 0x231d: 0x0001, + 0x231e: 0x000c, 0x231f: 0x0001, 0x2320: 0x0001, 0x2321: 0x0001, 0x2322: 0x0001, 0x2323: 0x0001, + 0x2324: 0x0001, 0x2325: 0x0001, 0x2326: 0x0001, 0x2327: 0x0001, 0x2328: 0x0001, 0x2329: 0x0003, + 0x232a: 0x0001, 0x232b: 0x0001, 0x232c: 0x0001, 0x232d: 0x0001, 0x232e: 0x0001, 0x232f: 0x0001, + 0x2330: 0x0001, 0x2331: 0x0001, 0x2332: 0x0001, 0x2333: 0x0001, 0x2334: 0x0001, 0x2335: 0x0001, + 0x2336: 0x0001, 0x2337: 0x0001, 0x2338: 0x0001, 0x2339: 0x0001, 0x233a: 0x0001, 0x233b: 0x0001, + 0x233c: 0x0001, 0x233d: 0x0001, 0x233e: 0x0001, 0x233f: 0x0001, + // Block 0x8d, offset 0x2340 + 0x2340: 0x0001, 0x2341: 0x0001, 0x2342: 0x0001, 0x2343: 0x0001, 0x2344: 0x0001, 0x2345: 0x0001, + 0x2346: 0x0001, 0x2347: 0x0001, 0x2348: 0x0001, 0x2349: 0x0001, 0x234a: 0x0001, 0x234b: 0x0001, + 0x234c: 0x0001, 0x234d: 0x0001, 0x234e: 0x0001, 0x234f: 0x0001, 0x2350: 0x000d, 0x2351: 0x000d, + 0x2352: 0x000d, 0x2353: 0x000d, 0x2354: 0x000d, 0x2355: 0x000d, 0x2356: 0x000d, 0x2357: 0x000d, + 0x2358: 0x000d, 0x2359: 0x000d, 0x235a: 0x000d, 0x235b: 0x000d, 0x235c: 0x000d, 0x235d: 0x000d, + 0x235e: 0x000d, 0x235f: 0x000d, 0x2360: 0x000d, 0x2361: 0x000d, 0x2362: 0x000d, 0x2363: 0x000d, + 0x2364: 0x000d, 0x2365: 0x000d, 0x2366: 0x000d, 0x2367: 0x000d, 0x2368: 0x000d, 0x2369: 0x000d, + 0x236a: 0x000d, 0x236b: 0x000d, 0x236c: 0x000d, 0x236d: 0x000d, 0x236e: 0x000d, 0x236f: 0x000d, + 0x2370: 0x000d, 0x2371: 0x000d, 0x2372: 0x000d, 0x2373: 0x000d, 0x2374: 0x000d, 0x2375: 0x000d, + 0x2376: 0x000d, 0x2377: 0x000d, 0x2378: 0x000d, 0x2379: 0x000d, 0x237a: 0x000d, 0x237b: 0x000d, + 0x237c: 0x000d, 0x237d: 0x000d, 0x237e: 0x000d, 0x237f: 0x000d, + // Block 0x8e, offset 0x2380 + 0x2380: 0x000d, 0x2381: 0x000d, 0x2382: 0x000d, 0x2383: 0x000d, 0x2384: 0x000d, 0x2385: 0x000d, + 0x2386: 0x000d, 0x2387: 0x000d, 0x2388: 0x000d, 0x2389: 0x000d, 0x238a: 0x000d, 0x238b: 0x000d, + 0x238c: 0x000d, 0x238d: 0x000d, 0x238e: 0x000d, 0x238f: 0x000d, 0x2390: 0x000d, 0x2391: 0x000d, + 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, + 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, + 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, + 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, + 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, + 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, + 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, + 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000a, 0x23bf: 0x000a, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, + 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, + 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000b, 0x23d1: 0x000b, + 0x23d2: 0x000b, 0x23d3: 0x000b, 0x23d4: 0x000b, 0x23d5: 0x000b, 0x23d6: 0x000b, 0x23d7: 0x000b, + 0x23d8: 0x000b, 0x23d9: 0x000b, 0x23da: 0x000b, 0x23db: 0x000b, 0x23dc: 0x000b, 0x23dd: 0x000b, + 0x23de: 0x000b, 0x23df: 0x000b, 0x23e0: 0x000b, 0x23e1: 0x000b, 0x23e2: 0x000b, 0x23e3: 0x000b, + 0x23e4: 0x000b, 0x23e5: 0x000b, 0x23e6: 0x000b, 0x23e7: 0x000b, 0x23e8: 0x000b, 0x23e9: 0x000b, + 0x23ea: 0x000b, 0x23eb: 0x000b, 0x23ec: 0x000b, 0x23ed: 0x000b, 0x23ee: 0x000b, 0x23ef: 0x000b, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000a, 0x23fe: 0x000d, 0x23ff: 0x000d, + // Block 0x90, offset 0x2400 + 0x2400: 0x000c, 0x2401: 0x000c, 0x2402: 0x000c, 0x2403: 0x000c, 0x2404: 0x000c, 0x2405: 0x000c, + 0x2406: 0x000c, 0x2407: 0x000c, 0x2408: 0x000c, 0x2409: 0x000c, 0x240a: 0x000c, 0x240b: 0x000c, + 0x240c: 0x000c, 0x240d: 0x000c, 0x240e: 0x000c, 0x240f: 0x000c, 0x2410: 0x000a, 0x2411: 0x000a, + 0x2412: 0x000a, 0x2413: 0x000a, 0x2414: 0x000a, 0x2415: 0x000a, 0x2416: 0x000a, 0x2417: 0x000a, + 0x2418: 0x000a, 0x2419: 0x000a, + 0x2420: 0x000c, 0x2421: 0x000c, 0x2422: 0x000c, 0x2423: 0x000c, + 0x2424: 0x000c, 0x2425: 0x000c, 0x2426: 0x000c, 0x2427: 0x000c, 0x2428: 0x000c, 0x2429: 0x000c, + 0x242a: 0x000c, 0x242b: 0x000c, 0x242c: 0x000c, 0x242d: 0x000c, 0x242e: 0x000c, 0x242f: 0x000c, + 0x2430: 0x000a, 0x2431: 0x000a, 0x2432: 0x000a, 0x2433: 0x000a, 0x2434: 0x000a, 0x2435: 0x000a, + 0x2436: 0x000a, 0x2437: 0x000a, 0x2438: 0x000a, 0x2439: 0x000a, 0x243a: 0x000a, 0x243b: 0x000a, + 0x243c: 0x000a, 0x243d: 0x000a, 0x243e: 0x000a, 0x243f: 0x000a, + // Block 0x91, offset 0x2440 + 0x2440: 0x000a, 0x2441: 0x000a, 0x2442: 0x000a, 0x2443: 0x000a, 0x2444: 0x000a, 0x2445: 0x000a, + 0x2446: 0x000a, 0x2447: 0x000a, 0x2448: 0x000a, 0x2449: 0x000a, 0x244a: 0x000a, 0x244b: 0x000a, + 0x244c: 0x000a, 0x244d: 0x000a, 0x244e: 0x000a, 0x244f: 0x000a, 0x2450: 0x0006, 0x2451: 0x000a, + 0x2452: 0x0006, 0x2454: 0x000a, 0x2455: 0x0006, 0x2456: 0x000a, 0x2457: 0x000a, + 0x2458: 0x000a, 0x2459: 0x009a, 0x245a: 0x008a, 0x245b: 0x007a, 0x245c: 0x006a, 0x245d: 0x009a, + 0x245e: 0x008a, 0x245f: 0x0004, 0x2460: 0x000a, 0x2461: 0x000a, 0x2462: 0x0003, 0x2463: 0x0003, + 0x2464: 0x000a, 0x2465: 0x000a, 0x2466: 0x000a, 0x2468: 0x000a, 0x2469: 0x0004, + 0x246a: 0x0004, 0x246b: 0x000a, + 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d, + 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d, + 0x247c: 0x000d, 0x247d: 0x000d, 0x247e: 0x000d, 0x247f: 0x000d, + // Block 0x92, offset 0x2480 + 0x2480: 0x000d, 0x2481: 0x000d, 0x2482: 0x000d, 0x2483: 0x000d, 0x2484: 0x000d, 0x2485: 0x000d, + 0x2486: 0x000d, 0x2487: 0x000d, 0x2488: 0x000d, 0x2489: 0x000d, 0x248a: 0x000d, 0x248b: 0x000d, + 0x248c: 0x000d, 0x248d: 0x000d, 0x248e: 0x000d, 0x248f: 0x000d, 0x2490: 0x000d, 0x2491: 0x000d, + 0x2492: 0x000d, 0x2493: 0x000d, 0x2494: 0x000d, 0x2495: 0x000d, 0x2496: 0x000d, 0x2497: 0x000d, + 0x2498: 0x000d, 0x2499: 0x000d, 0x249a: 0x000d, 0x249b: 0x000d, 0x249c: 0x000d, 0x249d: 0x000d, + 0x249e: 0x000d, 0x249f: 0x000d, 0x24a0: 0x000d, 0x24a1: 0x000d, 0x24a2: 0x000d, 0x24a3: 0x000d, + 0x24a4: 0x000d, 0x24a5: 0x000d, 0x24a6: 0x000d, 0x24a7: 0x000d, 0x24a8: 0x000d, 0x24a9: 0x000d, + 0x24aa: 0x000d, 0x24ab: 0x000d, 0x24ac: 0x000d, 0x24ad: 0x000d, 0x24ae: 0x000d, 0x24af: 0x000d, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000b, + // Block 0x93, offset 0x24c0 + 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x0004, 0x24c4: 0x0004, 0x24c5: 0x0004, + 0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x003a, 0x24c9: 0x002a, 0x24ca: 0x000a, 0x24cb: 0x0003, + 0x24cc: 0x0006, 0x24cd: 0x0003, 0x24ce: 0x0006, 0x24cf: 0x0006, 0x24d0: 0x0002, 0x24d1: 0x0002, + 0x24d2: 0x0002, 0x24d3: 0x0002, 0x24d4: 0x0002, 0x24d5: 0x0002, 0x24d6: 0x0002, 0x24d7: 0x0002, + 0x24d8: 0x0002, 0x24d9: 0x0002, 0x24da: 0x0006, 0x24db: 0x000a, 0x24dc: 0x000a, 0x24dd: 0x000a, + 0x24de: 0x000a, 0x24df: 0x000a, 0x24e0: 0x000a, + 0x24fb: 0x005a, + 0x24fc: 0x000a, 0x24fd: 0x004a, 0x24fe: 0x000a, 0x24ff: 0x000a, + // Block 0x94, offset 0x2500 + 0x2500: 0x000a, + 0x251b: 0x005a, 0x251c: 0x000a, 0x251d: 0x004a, + 0x251e: 0x000a, 0x251f: 0x00fa, 0x2520: 0x00ea, 0x2521: 0x000a, 0x2522: 0x003a, 0x2523: 0x002a, + 0x2524: 0x000a, 0x2525: 0x000a, + // Block 0x95, offset 0x2540 + 0x2560: 0x0004, 0x2561: 0x0004, 0x2562: 0x000a, 0x2563: 0x000a, + 0x2564: 0x000a, 0x2565: 0x0004, 0x2566: 0x0004, 0x2568: 0x000a, 0x2569: 0x000a, + 0x256a: 0x000a, 0x256b: 0x000a, 0x256c: 0x000a, 0x256d: 0x000a, 0x256e: 0x000a, + 0x2570: 0x000b, 0x2571: 0x000b, 0x2572: 0x000b, 0x2573: 0x000b, 0x2574: 0x000b, 0x2575: 0x000b, + 0x2576: 0x000b, 0x2577: 0x000b, 0x2578: 0x000b, 0x2579: 0x000a, 0x257a: 0x000a, 0x257b: 0x000a, + 0x257c: 0x000a, 0x257d: 0x000a, 0x257e: 0x000b, 0x257f: 0x000b, + // Block 0x96, offset 0x2580 + 0x2581: 0x000a, + // Block 0x97, offset 0x25c0 + 0x25c0: 0x000a, 0x25c1: 0x000a, 0x25c2: 0x000a, 0x25c3: 0x000a, 0x25c4: 0x000a, 0x25c5: 0x000a, + 0x25c6: 0x000a, 0x25c7: 0x000a, 0x25c8: 0x000a, 0x25c9: 0x000a, 0x25ca: 0x000a, 0x25cb: 0x000a, + 0x25cc: 0x000a, 0x25d0: 0x000a, 0x25d1: 0x000a, + 0x25d2: 0x000a, 0x25d3: 0x000a, 0x25d4: 0x000a, 0x25d5: 0x000a, 0x25d6: 0x000a, 0x25d7: 0x000a, + 0x25d8: 0x000a, 0x25d9: 0x000a, 0x25da: 0x000a, 0x25db: 0x000a, + 0x25e0: 0x000a, + // Block 0x98, offset 0x2600 + 0x263d: 0x000c, + // Block 0x99, offset 0x2640 + 0x2660: 0x000c, 0x2661: 0x0002, 0x2662: 0x0002, 0x2663: 0x0002, + 0x2664: 0x0002, 0x2665: 0x0002, 0x2666: 0x0002, 0x2667: 0x0002, 0x2668: 0x0002, 0x2669: 0x0002, + 0x266a: 0x0002, 0x266b: 0x0002, 0x266c: 0x0002, 0x266d: 0x0002, 0x266e: 0x0002, 0x266f: 0x0002, + 0x2670: 0x0002, 0x2671: 0x0002, 0x2672: 0x0002, 0x2673: 0x0002, 0x2674: 0x0002, 0x2675: 0x0002, + 0x2676: 0x0002, 0x2677: 0x0002, 0x2678: 0x0002, 0x2679: 0x0002, 0x267a: 0x0002, 0x267b: 0x0002, + // Block 0x9a, offset 0x2680 + 0x26b6: 0x000c, 0x26b7: 0x000c, 0x26b8: 0x000c, 0x26b9: 0x000c, 0x26ba: 0x000c, + // Block 0x9b, offset 0x26c0 + 0x26c0: 0x0001, 0x26c1: 0x0001, 0x26c2: 0x0001, 0x26c3: 0x0001, 0x26c4: 0x0001, 0x26c5: 0x0001, + 0x26c6: 0x0001, 0x26c7: 0x0001, 0x26c8: 0x0001, 0x26c9: 0x0001, 0x26ca: 0x0001, 0x26cb: 0x0001, + 0x26cc: 0x0001, 0x26cd: 0x0001, 0x26ce: 0x0001, 0x26cf: 0x0001, 0x26d0: 0x0001, 0x26d1: 0x0001, + 0x26d2: 0x0001, 0x26d3: 0x0001, 0x26d4: 0x0001, 0x26d5: 0x0001, 0x26d6: 0x0001, 0x26d7: 0x0001, + 0x26d8: 0x0001, 0x26d9: 0x0001, 0x26da: 0x0001, 0x26db: 0x0001, 0x26dc: 0x0001, 0x26dd: 0x0001, + 0x26de: 0x0001, 0x26df: 0x0001, 0x26e0: 0x0001, 0x26e1: 0x0001, 0x26e2: 0x0001, 0x26e3: 0x0001, + 0x26e4: 0x0001, 0x26e5: 0x0001, 0x26e6: 0x0001, 0x26e7: 0x0001, 0x26e8: 0x0001, 0x26e9: 0x0001, + 0x26ea: 0x0001, 0x26eb: 0x0001, 0x26ec: 0x0001, 0x26ed: 0x0001, 0x26ee: 0x0001, 0x26ef: 0x0001, + 0x26f0: 0x0001, 0x26f1: 0x0001, 0x26f2: 0x0001, 0x26f3: 0x0001, 0x26f4: 0x0001, 0x26f5: 0x0001, + 0x26f6: 0x0001, 0x26f7: 0x0001, 0x26f8: 0x0001, 0x26f9: 0x0001, 0x26fa: 0x0001, 0x26fb: 0x0001, + 0x26fc: 0x0001, 0x26fd: 0x0001, 0x26fe: 0x0001, 0x26ff: 0x0001, + // Block 0x9c, offset 0x2700 + 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, + 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, + 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, + 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, + 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, + 0x271e: 0x0001, 0x271f: 0x000a, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, + 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, + 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, + 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, + 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, + 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x000c, 0x2742: 0x000c, 0x2743: 0x000c, 0x2744: 0x0001, 0x2745: 0x000c, + 0x2746: 0x000c, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x000c, 0x274d: 0x000c, 0x274e: 0x000c, 0x274f: 0x000c, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x000c, 0x2779: 0x000c, 0x277a: 0x000c, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x000c, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001, + 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x000c, 0x27a6: 0x000c, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x000a, 0x27fa: 0x000a, 0x27fb: 0x000a, + 0x27fc: 0x000a, 0x27fd: 0x000a, 0x27fe: 0x000a, 0x27ff: 0x000a, + // Block 0xa0, offset 0x2800 + 0x2800: 0x000d, 0x2801: 0x000d, 0x2802: 0x000d, 0x2803: 0x000d, 0x2804: 0x000d, 0x2805: 0x000d, + 0x2806: 0x000d, 0x2807: 0x000d, 0x2808: 0x000d, 0x2809: 0x000d, 0x280a: 0x000d, 0x280b: 0x000d, + 0x280c: 0x000d, 0x280d: 0x000d, 0x280e: 0x000d, 0x280f: 0x000d, 0x2810: 0x000d, 0x2811: 0x000d, + 0x2812: 0x000d, 0x2813: 0x000d, 0x2814: 0x000d, 0x2815: 0x000d, 0x2816: 0x000d, 0x2817: 0x000d, + 0x2818: 0x000d, 0x2819: 0x000d, 0x281a: 0x000d, 0x281b: 0x000d, 0x281c: 0x000d, 0x281d: 0x000d, + 0x281e: 0x000d, 0x281f: 0x000d, 0x2820: 0x000d, 0x2821: 0x000d, 0x2822: 0x000d, 0x2823: 0x000d, + 0x2824: 0x000c, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x000c, 0x2828: 0x000d, 0x2829: 0x000d, + 0x282a: 0x000d, 0x282b: 0x000d, 0x282c: 0x000d, 0x282d: 0x000d, 0x282e: 0x000d, 0x282f: 0x000d, + 0x2830: 0x0005, 0x2831: 0x0005, 0x2832: 0x0005, 0x2833: 0x0005, 0x2834: 0x0005, 0x2835: 0x0005, + 0x2836: 0x0005, 0x2837: 0x0005, 0x2838: 0x0005, 0x2839: 0x0005, 0x283a: 0x000d, 0x283b: 0x000d, + 0x283c: 0x000d, 0x283d: 0x000d, 0x283e: 0x000d, 0x283f: 0x000d, + // Block 0xa1, offset 0x2840 + 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, + 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, + 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, + 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, + 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, + 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005, + 0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005, + 0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005, + 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, + 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005, + 0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001, + // Block 0xa2, offset 0x2880 + 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, + 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, + 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, + 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, + 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, + 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0001, 0x28a1: 0x0001, 0x28a2: 0x0001, 0x28a3: 0x0001, + 0x28a4: 0x0001, 0x28a5: 0x0001, 0x28a6: 0x0001, 0x28a7: 0x0001, 0x28a8: 0x0001, 0x28a9: 0x0001, + 0x28aa: 0x0001, 0x28ab: 0x0001, 0x28ac: 0x0001, 0x28ad: 0x0001, 0x28ae: 0x0001, 0x28af: 0x0001, + 0x28b0: 0x000d, 0x28b1: 0x000d, 0x28b2: 0x000d, 0x28b3: 0x000d, 0x28b4: 0x000d, 0x28b5: 0x000d, + 0x28b6: 0x000d, 0x28b7: 0x000d, 0x28b8: 0x000d, 0x28b9: 0x000d, 0x28ba: 0x000d, 0x28bb: 0x000d, + 0x28bc: 0x000d, 0x28bd: 0x000d, 0x28be: 0x000d, 0x28bf: 0x000d, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x000d, 0x28c1: 0x000d, 0x28c2: 0x000d, 0x28c3: 0x000d, 0x28c4: 0x000d, 0x28c5: 0x000d, + 0x28c6: 0x000c, 0x28c7: 0x000c, 0x28c8: 0x000c, 0x28c9: 0x000c, 0x28ca: 0x000c, 0x28cb: 0x000c, + 0x28cc: 0x000c, 0x28cd: 0x000c, 0x28ce: 0x000c, 0x28cf: 0x000c, 0x28d0: 0x000c, 0x28d1: 0x000d, + 0x28d2: 0x000d, 0x28d3: 0x000d, 0x28d4: 0x000d, 0x28d5: 0x000d, 0x28d6: 0x000d, 0x28d7: 0x000d, + 0x28d8: 0x000d, 0x28d9: 0x000d, 0x28da: 0x000d, 0x28db: 0x000d, 0x28dc: 0x000d, 0x28dd: 0x000d, + 0x28de: 0x000d, 0x28df: 0x000d, 0x28e0: 0x000d, 0x28e1: 0x000d, 0x28e2: 0x000d, 0x28e3: 0x000d, + 0x28e4: 0x000d, 0x28e5: 0x000d, 0x28e6: 0x000d, 0x28e7: 0x000d, 0x28e8: 0x000d, 0x28e9: 0x000d, + 0x28ea: 0x000d, 0x28eb: 0x000d, 0x28ec: 0x000d, 0x28ed: 0x000d, 0x28ee: 0x000d, 0x28ef: 0x000d, + 0x28f0: 0x0001, 0x28f1: 0x0001, 0x28f2: 0x0001, 0x28f3: 0x0001, 0x28f4: 0x0001, 0x28f5: 0x0001, + 0x28f6: 0x0001, 0x28f7: 0x0001, 0x28f8: 0x0001, 0x28f9: 0x0001, 0x28fa: 0x0001, 0x28fb: 0x0001, + 0x28fc: 0x0001, 0x28fd: 0x0001, 0x28fe: 0x0001, 0x28ff: 0x0001, + // Block 0xa4, offset 0x2900 + 0x2901: 0x000c, + 0x2938: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c, 0x293b: 0x000c, + 0x293c: 0x000c, 0x293d: 0x000c, 0x293e: 0x000c, 0x293f: 0x000c, + // Block 0xa5, offset 0x2940 + 0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c, 0x2943: 0x000c, 0x2944: 0x000c, 0x2945: 0x000c, + 0x2946: 0x000c, + 0x2952: 0x000a, 0x2953: 0x000a, 0x2954: 0x000a, 0x2955: 0x000a, 0x2956: 0x000a, 0x2957: 0x000a, + 0x2958: 0x000a, 0x2959: 0x000a, 0x295a: 0x000a, 0x295b: 0x000a, 0x295c: 0x000a, 0x295d: 0x000a, + 0x295e: 0x000a, 0x295f: 0x000a, 0x2960: 0x000a, 0x2961: 0x000a, 0x2962: 0x000a, 0x2963: 0x000a, + 0x2964: 0x000a, 0x2965: 0x000a, + 0x297f: 0x000c, + // Block 0xa6, offset 0x2980 + 0x2980: 0x000c, 0x2981: 0x000c, + 0x29b3: 0x000c, 0x29b4: 0x000c, 0x29b5: 0x000c, + 0x29b6: 0x000c, 0x29b9: 0x000c, 0x29ba: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x000c, 0x29c1: 0x000c, 0x29c2: 0x000c, + 0x29e7: 0x000c, 0x29e8: 0x000c, 0x29e9: 0x000c, + 0x29ea: 0x000c, 0x29eb: 0x000c, 0x29ed: 0x000c, 0x29ee: 0x000c, 0x29ef: 0x000c, + 0x29f0: 0x000c, 0x29f1: 0x000c, 0x29f2: 0x000c, 0x29f3: 0x000c, 0x29f4: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a33: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a40: 0x000c, 0x2a41: 0x000c, + 0x2a76: 0x000c, 0x2a77: 0x000c, 0x2a78: 0x000c, 0x2a79: 0x000c, 0x2a7a: 0x000c, 0x2a7b: 0x000c, + 0x2a7c: 0x000c, 0x2a7d: 0x000c, 0x2a7e: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2a89: 0x000c, 0x2a8a: 0x000c, 0x2a8b: 0x000c, + 0x2a8c: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2aef: 0x000c, + 0x2af0: 0x000c, 0x2af1: 0x000c, 0x2af4: 0x000c, + 0x2af6: 0x000c, 0x2af7: 0x000c, + 0x2afe: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b1f: 0x000c, 0x2b23: 0x000c, + 0x2b24: 0x000c, 0x2b25: 0x000c, 0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c, + 0x2b2a: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b40: 0x000c, + 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, + 0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c, + 0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c, + 0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c, + 0x2bc6: 0x000c, + 0x2bde: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c, + 0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c, + 0x2c3f: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c, + 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cc0: 0x000c, + 0x2cdc: 0x000c, 0x2cdd: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c, + 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c, + 0x2d3d: 0x000c, 0x2d3f: 0x000c, + // Block 0xb5, offset 0x2d40 + 0x2d40: 0x000c, + 0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a, + 0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a, + 0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a, + // Block 0xb6, offset 0x2d80 + 0x2dab: 0x000c, 0x2dad: 0x000c, + 0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c, + 0x2db7: 0x000c, + // Block 0xb7, offset 0x2dc0 + 0x2ddd: 0x000c, + 0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c, + 0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c, + 0x2dea: 0x000c, 0x2deb: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e2f: 0x000c, + 0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c, + 0x2e36: 0x000c, 0x2e37: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c, + 0x2e5a: 0x000c, 0x2e5b: 0x000c, + 0x2e60: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2e81: 0x000c, 0x2e82: 0x000c, 0x2e83: 0x000c, 0x2e84: 0x000c, 0x2e85: 0x000c, + 0x2e86: 0x000c, 0x2e89: 0x000c, 0x2e8a: 0x000c, + 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb6: 0x000c, 0x2eb7: 0x000c, 0x2eb8: 0x000c, 0x2ebb: 0x000c, + 0x2ebc: 0x000c, 0x2ebd: 0x000c, 0x2ebe: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ec7: 0x000c, + 0x2ed1: 0x000c, + 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, + 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f0a: 0x000c, 0x2f0b: 0x000c, + 0x2f0c: 0x000c, 0x2f0d: 0x000c, 0x2f0e: 0x000c, 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, + 0x2f12: 0x000c, 0x2f13: 0x000c, 0x2f14: 0x000c, 0x2f15: 0x000c, 0x2f16: 0x000c, + 0x2f18: 0x000c, 0x2f19: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f70: 0x000c, 0x2f71: 0x000c, 0x2f72: 0x000c, 0x2f73: 0x000c, 0x2f74: 0x000c, 0x2f75: 0x000c, + 0x2f76: 0x000c, 0x2f78: 0x000c, 0x2f79: 0x000c, 0x2f7a: 0x000c, 0x2f7b: 0x000c, + 0x2f7c: 0x000c, 0x2f7d: 0x000c, + // Block 0xbe, offset 0x2f80 + 0x2f92: 0x000c, 0x2f93: 0x000c, 0x2f94: 0x000c, 0x2f95: 0x000c, 0x2f96: 0x000c, 0x2f97: 0x000c, + 0x2f98: 0x000c, 0x2f99: 0x000c, 0x2f9a: 0x000c, 0x2f9b: 0x000c, 0x2f9c: 0x000c, 0x2f9d: 0x000c, + 0x2f9e: 0x000c, 0x2f9f: 0x000c, 0x2fa0: 0x000c, 0x2fa1: 0x000c, 0x2fa2: 0x000c, 0x2fa3: 0x000c, + 0x2fa4: 0x000c, 0x2fa5: 0x000c, 0x2fa6: 0x000c, 0x2fa7: 0x000c, + 0x2faa: 0x000c, 0x2fab: 0x000c, 0x2fac: 0x000c, 0x2fad: 0x000c, 0x2fae: 0x000c, 0x2faf: 0x000c, + 0x2fb0: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb5: 0x000c, + 0x2fb6: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, + 0x2ff6: 0x000c, 0x2ffa: 0x000c, + 0x2ffc: 0x000c, 0x2ffd: 0x000c, 0x2fff: 0x000c, + // Block 0xc0, offset 0x3000 + 0x3000: 0x000c, 0x3001: 0x000c, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000c, + 0x3007: 0x000c, + // Block 0xc1, offset 0x3040 + 0x3050: 0x000c, 0x3051: 0x000c, + 0x3055: 0x000c, 0x3057: 0x000c, + // Block 0xc2, offset 0x3080 + 0x30b3: 0x000c, 0x30b4: 0x000c, + // Block 0xc3, offset 0x30c0 + 0x30d5: 0x000a, 0x30d6: 0x000a, 0x30d7: 0x000a, + 0x30d8: 0x000a, 0x30d9: 0x000a, 0x30da: 0x000a, 0x30db: 0x000a, 0x30dc: 0x000a, 0x30dd: 0x0004, + 0x30de: 0x0004, 0x30df: 0x0004, 0x30e0: 0x0004, 0x30e1: 0x000a, 0x30e2: 0x000a, 0x30e3: 0x000a, + 0x30e4: 0x000a, 0x30e5: 0x000a, 0x30e6: 0x000a, 0x30e7: 0x000a, 0x30e8: 0x000a, 0x30e9: 0x000a, + 0x30ea: 0x000a, 0x30eb: 0x000a, 0x30ec: 0x000a, 0x30ed: 0x000a, 0x30ee: 0x000a, 0x30ef: 0x000a, + 0x30f0: 0x000a, 0x30f1: 0x000a, + // Block 0xc4, offset 0x3100 + 0x3130: 0x000c, 0x3131: 0x000c, 0x3132: 0x000c, 0x3133: 0x000c, 0x3134: 0x000c, + // Block 0xc5, offset 0x3140 + 0x3170: 0x000c, 0x3171: 0x000c, 0x3172: 0x000c, 0x3173: 0x000c, 0x3174: 0x000c, 0x3175: 0x000c, + 0x3176: 0x000c, + // Block 0xc6, offset 0x3180 + 0x318f: 0x000c, + // Block 0xc7, offset 0x31c0 + 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c, + 0x31d2: 0x000c, + // Block 0xc8, offset 0x3200 + 0x3222: 0x000a, + // Block 0xc9, offset 0x3240 + 0x325d: 0x000c, + 0x325e: 0x000c, 0x3260: 0x000b, 0x3261: 0x000b, 0x3262: 0x000b, 0x3263: 0x000b, + // Block 0xca, offset 0x3280 + 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c, + 0x32b3: 0x000b, 0x32b4: 0x000b, 0x32b5: 0x000b, + 0x32b6: 0x000b, 0x32b7: 0x000b, 0x32b8: 0x000b, 0x32b9: 0x000b, 0x32ba: 0x000b, 0x32bb: 0x000c, + 0x32bc: 0x000c, 0x32bd: 0x000c, 0x32be: 0x000c, 0x32bf: 0x000c, + // Block 0xcb, offset 0x32c0 + 0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c5: 0x000c, + 0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c, + 0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, + // Block 0xcc, offset 0x3300 + 0x3300: 0x000a, 0x3301: 0x000a, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000a, + // Block 0xcd, offset 0x3340 + 0x3340: 0x000a, 0x3341: 0x000a, 0x3342: 0x000a, 0x3343: 0x000a, 0x3344: 0x000a, 0x3345: 0x000a, + 0x3346: 0x000a, 0x3347: 0x000a, 0x3348: 0x000a, 0x3349: 0x000a, 0x334a: 0x000a, 0x334b: 0x000a, + 0x334c: 0x000a, 0x334d: 0x000a, 0x334e: 0x000a, 0x334f: 0x000a, 0x3350: 0x000a, 0x3351: 0x000a, + 0x3352: 0x000a, 0x3353: 0x000a, 0x3354: 0x000a, 0x3355: 0x000a, 0x3356: 0x000a, + // Block 0xce, offset 0x3380 + 0x339b: 0x000a, + // Block 0xcf, offset 0x33c0 + 0x33d5: 0x000a, + // Block 0xd0, offset 0x3400 + 0x340f: 0x000a, + // Block 0xd1, offset 0x3440 + 0x3449: 0x000a, + // Block 0xd2, offset 0x3480 + 0x3483: 0x000a, + 0x348e: 0x0002, 0x348f: 0x0002, 0x3490: 0x0002, 0x3491: 0x0002, + 0x3492: 0x0002, 0x3493: 0x0002, 0x3494: 0x0002, 0x3495: 0x0002, 0x3496: 0x0002, 0x3497: 0x0002, + 0x3498: 0x0002, 0x3499: 0x0002, 0x349a: 0x0002, 0x349b: 0x0002, 0x349c: 0x0002, 0x349d: 0x0002, + 0x349e: 0x0002, 0x349f: 0x0002, 0x34a0: 0x0002, 0x34a1: 0x0002, 0x34a2: 0x0002, 0x34a3: 0x0002, + 0x34a4: 0x0002, 0x34a5: 0x0002, 0x34a6: 0x0002, 0x34a7: 0x0002, 0x34a8: 0x0002, 0x34a9: 0x0002, + 0x34aa: 0x0002, 0x34ab: 0x0002, 0x34ac: 0x0002, 0x34ad: 0x0002, 0x34ae: 0x0002, 0x34af: 0x0002, + 0x34b0: 0x0002, 0x34b1: 0x0002, 0x34b2: 0x0002, 0x34b3: 0x0002, 0x34b4: 0x0002, 0x34b5: 0x0002, + 0x34b6: 0x0002, 0x34b7: 0x0002, 0x34b8: 0x0002, 0x34b9: 0x0002, 0x34ba: 0x0002, 0x34bb: 0x0002, + 0x34bc: 0x0002, 0x34bd: 0x0002, 0x34be: 0x0002, 0x34bf: 0x0002, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000c, 0x34c1: 0x000c, 0x34c2: 0x000c, 0x34c3: 0x000c, 0x34c4: 0x000c, 0x34c5: 0x000c, + 0x34c6: 0x000c, 0x34c7: 0x000c, 0x34c8: 0x000c, 0x34c9: 0x000c, 0x34ca: 0x000c, 0x34cb: 0x000c, + 0x34cc: 0x000c, 0x34cd: 0x000c, 0x34ce: 0x000c, 0x34cf: 0x000c, 0x34d0: 0x000c, 0x34d1: 0x000c, + 0x34d2: 0x000c, 0x34d3: 0x000c, 0x34d4: 0x000c, 0x34d5: 0x000c, 0x34d6: 0x000c, 0x34d7: 0x000c, + 0x34d8: 0x000c, 0x34d9: 0x000c, 0x34da: 0x000c, 0x34db: 0x000c, 0x34dc: 0x000c, 0x34dd: 0x000c, + 0x34de: 0x000c, 0x34df: 0x000c, 0x34e0: 0x000c, 0x34e1: 0x000c, 0x34e2: 0x000c, 0x34e3: 0x000c, + 0x34e4: 0x000c, 0x34e5: 0x000c, 0x34e6: 0x000c, 0x34e7: 0x000c, 0x34e8: 0x000c, 0x34e9: 0x000c, + 0x34ea: 0x000c, 0x34eb: 0x000c, 0x34ec: 0x000c, 0x34ed: 0x000c, 0x34ee: 0x000c, 0x34ef: 0x000c, + 0x34f0: 0x000c, 0x34f1: 0x000c, 0x34f2: 0x000c, 0x34f3: 0x000c, 0x34f4: 0x000c, 0x34f5: 0x000c, + 0x34f6: 0x000c, 0x34fb: 0x000c, + 0x34fc: 0x000c, 0x34fd: 0x000c, 0x34fe: 0x000c, 0x34ff: 0x000c, + // Block 0xd4, offset 0x3500 + 0x3500: 0x000c, 0x3501: 0x000c, 0x3502: 0x000c, 0x3503: 0x000c, 0x3504: 0x000c, 0x3505: 0x000c, + 0x3506: 0x000c, 0x3507: 0x000c, 0x3508: 0x000c, 0x3509: 0x000c, 0x350a: 0x000c, 0x350b: 0x000c, + 0x350c: 0x000c, 0x350d: 0x000c, 0x350e: 0x000c, 0x350f: 0x000c, 0x3510: 0x000c, 0x3511: 0x000c, + 0x3512: 0x000c, 0x3513: 0x000c, 0x3514: 0x000c, 0x3515: 0x000c, 0x3516: 0x000c, 0x3517: 0x000c, + 0x3518: 0x000c, 0x3519: 0x000c, 0x351a: 0x000c, 0x351b: 0x000c, 0x351c: 0x000c, 0x351d: 0x000c, + 0x351e: 0x000c, 0x351f: 0x000c, 0x3520: 0x000c, 0x3521: 0x000c, 0x3522: 0x000c, 0x3523: 0x000c, + 0x3524: 0x000c, 0x3525: 0x000c, 0x3526: 0x000c, 0x3527: 0x000c, 0x3528: 0x000c, 0x3529: 0x000c, + 0x352a: 0x000c, 0x352b: 0x000c, 0x352c: 0x000c, + 0x3535: 0x000c, + // Block 0xd5, offset 0x3540 + 0x3544: 0x000c, + 0x355b: 0x000c, 0x355c: 0x000c, 0x355d: 0x000c, + 0x355e: 0x000c, 0x355f: 0x000c, 0x3561: 0x000c, 0x3562: 0x000c, 0x3563: 0x000c, + 0x3564: 0x000c, 0x3565: 0x000c, 0x3566: 0x000c, 0x3567: 0x000c, 0x3568: 0x000c, 0x3569: 0x000c, + 0x356a: 0x000c, 0x356b: 0x000c, 0x356c: 0x000c, 0x356d: 0x000c, 0x356e: 0x000c, 0x356f: 0x000c, + // Block 0xd6, offset 0x3580 + 0x3580: 0x000c, 0x3581: 0x000c, 0x3582: 0x000c, 0x3583: 0x000c, 0x3584: 0x000c, 0x3585: 0x000c, + 0x3586: 0x000c, 0x3588: 0x000c, 0x3589: 0x000c, 0x358a: 0x000c, 0x358b: 0x000c, + 0x358c: 0x000c, 0x358d: 0x000c, 0x358e: 0x000c, 0x358f: 0x000c, 0x3590: 0x000c, 0x3591: 0x000c, + 0x3592: 0x000c, 0x3593: 0x000c, 0x3594: 0x000c, 0x3595: 0x000c, 0x3596: 0x000c, 0x3597: 0x000c, + 0x3598: 0x000c, 0x359b: 0x000c, 0x359c: 0x000c, 0x359d: 0x000c, + 0x359e: 0x000c, 0x359f: 0x000c, 0x35a0: 0x000c, 0x35a1: 0x000c, 0x35a3: 0x000c, + 0x35a4: 0x000c, 0x35a6: 0x000c, 0x35a7: 0x000c, 0x35a8: 0x000c, 0x35a9: 0x000c, + 0x35aa: 0x000c, + // Block 0xd7, offset 0x35c0 + 0x35ec: 0x000c, 0x35ed: 0x000c, 0x35ee: 0x000c, 0x35ef: 0x000c, + 0x35ff: 0x0004, + // Block 0xd8, offset 0x3600 + 0x3600: 0x0001, 0x3601: 0x0001, 0x3602: 0x0001, 0x3603: 0x0001, 0x3604: 0x0001, 0x3605: 0x0001, + 0x3606: 0x0001, 0x3607: 0x0001, 0x3608: 0x0001, 0x3609: 0x0001, 0x360a: 0x0001, 0x360b: 0x0001, + 0x360c: 0x0001, 0x360d: 0x0001, 0x360e: 0x0001, 0x360f: 0x0001, 0x3610: 0x000c, 0x3611: 0x000c, + 0x3612: 0x000c, 0x3613: 0x000c, 0x3614: 0x000c, 0x3615: 0x000c, 0x3616: 0x000c, 0x3617: 0x0001, + 0x3618: 0x0001, 0x3619: 0x0001, 0x361a: 0x0001, 0x361b: 0x0001, 0x361c: 0x0001, 0x361d: 0x0001, + 0x361e: 0x0001, 0x361f: 0x0001, 0x3620: 0x0001, 0x3621: 0x0001, 0x3622: 0x0001, 0x3623: 0x0001, + 0x3624: 0x0001, 0x3625: 0x0001, 0x3626: 0x0001, 0x3627: 0x0001, 0x3628: 0x0001, 0x3629: 0x0001, + 0x362a: 0x0001, 0x362b: 0x0001, 0x362c: 0x0001, 0x362d: 0x0001, 0x362e: 0x0001, 0x362f: 0x0001, + 0x3630: 0x0001, 0x3631: 0x0001, 0x3632: 0x0001, 0x3633: 0x0001, 0x3634: 0x0001, 0x3635: 0x0001, + 0x3636: 0x0001, 0x3637: 0x0001, 0x3638: 0x0001, 0x3639: 0x0001, 0x363a: 0x0001, 0x363b: 0x0001, + 0x363c: 0x0001, 0x363d: 0x0001, 0x363e: 0x0001, 0x363f: 0x0001, + // Block 0xd9, offset 0x3640 + 0x3640: 0x0001, 0x3641: 0x0001, 0x3642: 0x0001, 0x3643: 0x0001, 0x3644: 0x000c, 0x3645: 0x000c, + 0x3646: 0x000c, 0x3647: 0x000c, 0x3648: 0x000c, 0x3649: 0x000c, 0x364a: 0x000c, 0x364b: 0x0001, + 0x364c: 0x0001, 0x364d: 0x0001, 0x364e: 0x0001, 0x364f: 0x0001, 0x3650: 0x0001, 0x3651: 0x0001, + 0x3652: 0x0001, 0x3653: 0x0001, 0x3654: 0x0001, 0x3655: 0x0001, 0x3656: 0x0001, 0x3657: 0x0001, + 0x3658: 0x0001, 0x3659: 0x0001, 0x365a: 0x0001, 0x365b: 0x0001, 0x365c: 0x0001, 0x365d: 0x0001, + 0x365e: 0x0001, 0x365f: 0x0001, 0x3660: 0x0001, 0x3661: 0x0001, 0x3662: 0x0001, 0x3663: 0x0001, + 0x3664: 0x0001, 0x3665: 0x0001, 0x3666: 0x0001, 0x3667: 0x0001, 0x3668: 0x0001, 0x3669: 0x0001, + 0x366a: 0x0001, 0x366b: 0x0001, 0x366c: 0x0001, 0x366d: 0x0001, 0x366e: 0x0001, 0x366f: 0x0001, + 0x3670: 0x0001, 0x3671: 0x0001, 0x3672: 0x0001, 0x3673: 0x0001, 0x3674: 0x0001, 0x3675: 0x0001, + 0x3676: 0x0001, 0x3677: 0x0001, 0x3678: 0x0001, 0x3679: 0x0001, 0x367a: 0x0001, 0x367b: 0x0001, + 0x367c: 0x0001, 0x367d: 0x0001, 0x367e: 0x0001, 0x367f: 0x0001, + // Block 0xda, offset 0x3680 + 0x3680: 0x000d, 0x3681: 0x000d, 0x3682: 0x000d, 0x3683: 0x000d, 0x3684: 0x000d, 0x3685: 0x000d, + 0x3686: 0x000d, 0x3687: 0x000d, 0x3688: 0x000d, 0x3689: 0x000d, 0x368a: 0x000d, 0x368b: 0x000d, + 0x368c: 0x000d, 0x368d: 0x000d, 0x368e: 0x000d, 0x368f: 0x000d, 0x3690: 0x0001, 0x3691: 0x0001, + 0x3692: 0x0001, 0x3693: 0x0001, 0x3694: 0x0001, 0x3695: 0x0001, 0x3696: 0x0001, 0x3697: 0x0001, + 0x3698: 0x0001, 0x3699: 0x0001, 0x369a: 0x0001, 0x369b: 0x0001, 0x369c: 0x0001, 0x369d: 0x0001, + 0x369e: 0x0001, 0x369f: 0x0001, 0x36a0: 0x0001, 0x36a1: 0x0001, 0x36a2: 0x0001, 0x36a3: 0x0001, + 0x36a4: 0x0001, 0x36a5: 0x0001, 0x36a6: 0x0001, 0x36a7: 0x0001, 0x36a8: 0x0001, 0x36a9: 0x0001, + 0x36aa: 0x0001, 0x36ab: 0x0001, 0x36ac: 0x0001, 0x36ad: 0x0001, 0x36ae: 0x0001, 0x36af: 0x0001, + 0x36b0: 0x0001, 0x36b1: 0x0001, 0x36b2: 0x0001, 0x36b3: 0x0001, 0x36b4: 0x0001, 0x36b5: 0x0001, + 0x36b6: 0x0001, 0x36b7: 0x0001, 0x36b8: 0x0001, 0x36b9: 0x0001, 0x36ba: 0x0001, 0x36bb: 0x0001, + 0x36bc: 0x0001, 0x36bd: 0x0001, 0x36be: 0x0001, 0x36bf: 0x0001, + // Block 0xdb, offset 0x36c0 + 0x36c0: 0x000d, 0x36c1: 0x000d, 0x36c2: 0x000d, 0x36c3: 0x000d, 0x36c4: 0x000d, 0x36c5: 0x000d, + 0x36c6: 0x000d, 0x36c7: 0x000d, 0x36c8: 0x000d, 0x36c9: 0x000d, 0x36ca: 0x000d, 0x36cb: 0x000d, + 0x36cc: 0x000d, 0x36cd: 0x000d, 0x36ce: 0x000d, 0x36cf: 0x000d, 0x36d0: 0x000d, 0x36d1: 0x000d, + 0x36d2: 0x000d, 0x36d3: 0x000d, 0x36d4: 0x000d, 0x36d5: 0x000d, 0x36d6: 0x000d, 0x36d7: 0x000d, + 0x36d8: 0x000d, 0x36d9: 0x000d, 0x36da: 0x000d, 0x36db: 0x000d, 0x36dc: 0x000d, 0x36dd: 0x000d, + 0x36de: 0x000d, 0x36df: 0x000d, 0x36e0: 0x000d, 0x36e1: 0x000d, 0x36e2: 0x000d, 0x36e3: 0x000d, + 0x36e4: 0x000d, 0x36e5: 0x000d, 0x36e6: 0x000d, 0x36e7: 0x000d, 0x36e8: 0x000d, 0x36e9: 0x000d, + 0x36ea: 0x000d, 0x36eb: 0x000d, 0x36ec: 0x000d, 0x36ed: 0x000d, 0x36ee: 0x000d, 0x36ef: 0x000d, + 0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000d, 0x36f3: 0x000d, 0x36f4: 0x000d, 0x36f5: 0x000d, + 0x36f6: 0x000d, 0x36f7: 0x000d, 0x36f8: 0x000d, 0x36f9: 0x000d, 0x36fa: 0x000d, 0x36fb: 0x000d, + 0x36fc: 0x000d, 0x36fd: 0x000d, 0x36fe: 0x000d, 0x36ff: 0x000d, + // Block 0xdc, offset 0x3700 + 0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a, + 0x3706: 0x000a, 0x3707: 0x000a, 0x3708: 0x000a, 0x3709: 0x000a, 0x370a: 0x000a, 0x370b: 0x000a, + 0x370c: 0x000a, 0x370d: 0x000a, 0x370e: 0x000a, 0x370f: 0x000a, 0x3710: 0x000a, 0x3711: 0x000a, + 0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a, + 0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a, + 0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, + 0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a, + 0x372a: 0x000a, 0x372b: 0x000a, + 0x3730: 0x000a, 0x3731: 0x000a, 0x3732: 0x000a, 0x3733: 0x000a, 0x3734: 0x000a, 0x3735: 0x000a, + 0x3736: 0x000a, 0x3737: 0x000a, 0x3738: 0x000a, 0x3739: 0x000a, 0x373a: 0x000a, 0x373b: 0x000a, + 0x373c: 0x000a, 0x373d: 0x000a, 0x373e: 0x000a, 0x373f: 0x000a, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, + 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, + 0x374c: 0x000a, 0x374d: 0x000a, 0x374e: 0x000a, 0x374f: 0x000a, 0x3750: 0x000a, 0x3751: 0x000a, + 0x3752: 0x000a, 0x3753: 0x000a, + 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, + 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, + 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, + 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, + 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a, + 0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a, 0x377f: 0x000a, + // Block 0xde, offset 0x3780 + 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, + 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, + 0x378c: 0x000a, 0x378d: 0x000a, 0x378e: 0x000a, 0x378f: 0x000a, 0x3791: 0x000a, + 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, + 0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a, + 0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a, + 0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a, + 0x37aa: 0x000a, 0x37ab: 0x000a, 0x37ac: 0x000a, 0x37ad: 0x000a, 0x37ae: 0x000a, 0x37af: 0x000a, + 0x37b0: 0x000a, 0x37b1: 0x000a, 0x37b2: 0x000a, 0x37b3: 0x000a, 0x37b4: 0x000a, 0x37b5: 0x000a, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x0002, 0x37c1: 0x0002, 0x37c2: 0x0002, 0x37c3: 0x0002, 0x37c4: 0x0002, 0x37c5: 0x0002, + 0x37c6: 0x0002, 0x37c7: 0x0002, 0x37c8: 0x0002, 0x37c9: 0x0002, 0x37ca: 0x0002, 0x37cb: 0x000a, + 0x37cc: 0x000a, + 0x37ef: 0x000a, + // Block 0xe0, offset 0x3800 + 0x382a: 0x000a, 0x382b: 0x000a, 0x382c: 0x000a, + // Block 0xe1, offset 0x3840 + 0x3860: 0x000a, 0x3861: 0x000a, 0x3862: 0x000a, 0x3863: 0x000a, + 0x3864: 0x000a, 0x3865: 0x000a, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000a, 0x3881: 0x000a, 0x3882: 0x000a, 0x3883: 0x000a, 0x3884: 0x000a, 0x3885: 0x000a, + 0x3886: 0x000a, 0x3887: 0x000a, 0x3888: 0x000a, 0x3889: 0x000a, 0x388a: 0x000a, 0x388b: 0x000a, + 0x388c: 0x000a, 0x388d: 0x000a, 0x388e: 0x000a, 0x388f: 0x000a, 0x3890: 0x000a, 0x3891: 0x000a, + 0x3892: 0x000a, 0x3893: 0x000a, 0x3894: 0x000a, 0x3895: 0x000a, + 0x38a0: 0x000a, 0x38a1: 0x000a, 0x38a2: 0x000a, 0x38a3: 0x000a, + 0x38a4: 0x000a, 0x38a5: 0x000a, 0x38a6: 0x000a, 0x38a7: 0x000a, 0x38a8: 0x000a, 0x38a9: 0x000a, + 0x38aa: 0x000a, 0x38ab: 0x000a, 0x38ac: 0x000a, + 0x38b0: 0x000a, 0x38b1: 0x000a, 0x38b2: 0x000a, 0x38b3: 0x000a, 0x38b4: 0x000a, 0x38b5: 0x000a, + 0x38b6: 0x000a, 0x38b7: 0x000a, 0x38b8: 0x000a, 0x38b9: 0x000a, 0x38ba: 0x000a, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000a, 0x38c1: 0x000a, 0x38c2: 0x000a, 0x38c3: 0x000a, 0x38c4: 0x000a, 0x38c5: 0x000a, + 0x38c6: 0x000a, 0x38c7: 0x000a, 0x38c8: 0x000a, 0x38c9: 0x000a, 0x38ca: 0x000a, 0x38cb: 0x000a, + 0x38cc: 0x000a, 0x38cd: 0x000a, 0x38ce: 0x000a, 0x38cf: 0x000a, 0x38d0: 0x000a, 0x38d1: 0x000a, + 0x38d2: 0x000a, 0x38d3: 0x000a, 0x38d4: 0x000a, 0x38d5: 0x000a, 0x38d6: 0x000a, 0x38d7: 0x000a, + 0x38d8: 0x000a, + 0x38e0: 0x000a, 0x38e1: 0x000a, 0x38e2: 0x000a, 0x38e3: 0x000a, + 0x38e4: 0x000a, 0x38e5: 0x000a, 0x38e6: 0x000a, 0x38e7: 0x000a, 0x38e8: 0x000a, 0x38e9: 0x000a, + 0x38ea: 0x000a, 0x38eb: 0x000a, + // Block 0xe4, offset 0x3900 + 0x3900: 0x000a, 0x3901: 0x000a, 0x3902: 0x000a, 0x3903: 0x000a, 0x3904: 0x000a, 0x3905: 0x000a, + 0x3906: 0x000a, 0x3907: 0x000a, 0x3908: 0x000a, 0x3909: 0x000a, 0x390a: 0x000a, 0x390b: 0x000a, + 0x3910: 0x000a, 0x3911: 0x000a, + 0x3912: 0x000a, 0x3913: 0x000a, 0x3914: 0x000a, 0x3915: 0x000a, 0x3916: 0x000a, 0x3917: 0x000a, + 0x3918: 0x000a, 0x3919: 0x000a, 0x391a: 0x000a, 0x391b: 0x000a, 0x391c: 0x000a, 0x391d: 0x000a, + 0x391e: 0x000a, 0x391f: 0x000a, 0x3920: 0x000a, 0x3921: 0x000a, 0x3922: 0x000a, 0x3923: 0x000a, + 0x3924: 0x000a, 0x3925: 0x000a, 0x3926: 0x000a, 0x3927: 0x000a, 0x3928: 0x000a, 0x3929: 0x000a, + 0x392a: 0x000a, 0x392b: 0x000a, 0x392c: 0x000a, 0x392d: 0x000a, 0x392e: 0x000a, 0x392f: 0x000a, + 0x3930: 0x000a, 0x3931: 0x000a, 0x3932: 0x000a, 0x3933: 0x000a, 0x3934: 0x000a, 0x3935: 0x000a, + 0x3936: 0x000a, 0x3937: 0x000a, 0x3938: 0x000a, 0x3939: 0x000a, 0x393a: 0x000a, 0x393b: 0x000a, + 0x393c: 0x000a, 0x393d: 0x000a, 0x393e: 0x000a, 0x393f: 0x000a, + // Block 0xe5, offset 0x3940 + 0x3940: 0x000a, 0x3941: 0x000a, 0x3942: 0x000a, 0x3943: 0x000a, 0x3944: 0x000a, 0x3945: 0x000a, + 0x3946: 0x000a, 0x3947: 0x000a, + 0x3950: 0x000a, 0x3951: 0x000a, + 0x3952: 0x000a, 0x3953: 0x000a, 0x3954: 0x000a, 0x3955: 0x000a, 0x3956: 0x000a, 0x3957: 0x000a, + 0x3958: 0x000a, 0x3959: 0x000a, + 0x3960: 0x000a, 0x3961: 0x000a, 0x3962: 0x000a, 0x3963: 0x000a, + 0x3964: 0x000a, 0x3965: 0x000a, 0x3966: 0x000a, 0x3967: 0x000a, 0x3968: 0x000a, 0x3969: 0x000a, + 0x396a: 0x000a, 0x396b: 0x000a, 0x396c: 0x000a, 0x396d: 0x000a, 0x396e: 0x000a, 0x396f: 0x000a, + 0x3970: 0x000a, 0x3971: 0x000a, 0x3972: 0x000a, 0x3973: 0x000a, 0x3974: 0x000a, 0x3975: 0x000a, + 0x3976: 0x000a, 0x3977: 0x000a, 0x3978: 0x000a, 0x3979: 0x000a, 0x397a: 0x000a, 0x397b: 0x000a, + 0x397c: 0x000a, 0x397d: 0x000a, 0x397e: 0x000a, 0x397f: 0x000a, + // Block 0xe6, offset 0x3980 + 0x3980: 0x000a, 0x3981: 0x000a, 0x3982: 0x000a, 0x3983: 0x000a, 0x3984: 0x000a, 0x3985: 0x000a, + 0x3986: 0x000a, 0x3987: 0x000a, + 0x3990: 0x000a, 0x3991: 0x000a, + 0x3992: 0x000a, 0x3993: 0x000a, 0x3994: 0x000a, 0x3995: 0x000a, 0x3996: 0x000a, 0x3997: 0x000a, + 0x3998: 0x000a, 0x3999: 0x000a, 0x399a: 0x000a, 0x399b: 0x000a, 0x399c: 0x000a, 0x399d: 0x000a, + 0x399e: 0x000a, 0x399f: 0x000a, 0x39a0: 0x000a, 0x39a1: 0x000a, 0x39a2: 0x000a, 0x39a3: 0x000a, + 0x39a4: 0x000a, 0x39a5: 0x000a, 0x39a6: 0x000a, 0x39a7: 0x000a, 0x39a8: 0x000a, 0x39a9: 0x000a, + 0x39aa: 0x000a, 0x39ab: 0x000a, 0x39ac: 0x000a, 0x39ad: 0x000a, + // Block 0xe7, offset 0x39c0 + 0x39c0: 0x000a, 0x39c1: 0x000a, 0x39c2: 0x000a, 0x39c3: 0x000a, 0x39c4: 0x000a, 0x39c5: 0x000a, + 0x39c6: 0x000a, 0x39c7: 0x000a, 0x39c8: 0x000a, 0x39c9: 0x000a, 0x39ca: 0x000a, 0x39cb: 0x000a, + 0x39cd: 0x000a, 0x39ce: 0x000a, 0x39cf: 0x000a, 0x39d0: 0x000a, 0x39d1: 0x000a, + 0x39d2: 0x000a, 0x39d3: 0x000a, 0x39d4: 0x000a, 0x39d5: 0x000a, 0x39d6: 0x000a, 0x39d7: 0x000a, + 0x39d8: 0x000a, 0x39d9: 0x000a, 0x39da: 0x000a, 0x39db: 0x000a, 0x39dc: 0x000a, 0x39dd: 0x000a, + 0x39de: 0x000a, 0x39df: 0x000a, 0x39e0: 0x000a, 0x39e1: 0x000a, 0x39e2: 0x000a, 0x39e3: 0x000a, + 0x39e4: 0x000a, 0x39e5: 0x000a, 0x39e6: 0x000a, 0x39e7: 0x000a, 0x39e8: 0x000a, 0x39e9: 0x000a, + 0x39ea: 0x000a, 0x39eb: 0x000a, 0x39ec: 0x000a, 0x39ed: 0x000a, 0x39ee: 0x000a, 0x39ef: 0x000a, + 0x39f0: 0x000a, 0x39f1: 0x000a, 0x39f2: 0x000a, 0x39f3: 0x000a, 0x39f4: 0x000a, 0x39f5: 0x000a, + 0x39f6: 0x000a, 0x39f7: 0x000a, 0x39f8: 0x000a, 0x39f9: 0x000a, 0x39fa: 0x000a, 0x39fb: 0x000a, + 0x39fc: 0x000a, 0x39fd: 0x000a, 0x39fe: 0x000a, 0x39ff: 0x000a, + // Block 0xe8, offset 0x3a00 + 0x3a00: 0x000a, 0x3a01: 0x000a, 0x3a02: 0x000a, 0x3a03: 0x000a, 0x3a04: 0x000a, 0x3a05: 0x000a, + 0x3a06: 0x000a, 0x3a07: 0x000a, 0x3a08: 0x000a, 0x3a09: 0x000a, 0x3a0a: 0x000a, 0x3a0b: 0x000a, + 0x3a0c: 0x000a, 0x3a0d: 0x000a, 0x3a0e: 0x000a, 0x3a0f: 0x000a, 0x3a10: 0x000a, 0x3a11: 0x000a, + 0x3a12: 0x000a, 0x3a13: 0x000a, 0x3a14: 0x000a, 0x3a15: 0x000a, 0x3a16: 0x000a, 0x3a17: 0x000a, + 0x3a18: 0x000a, 0x3a19: 0x000a, 0x3a1a: 0x000a, 0x3a1b: 0x000a, 0x3a1c: 0x000a, 0x3a1d: 0x000a, + 0x3a1e: 0x000a, 0x3a1f: 0x000a, 0x3a20: 0x000a, 0x3a21: 0x000a, 0x3a22: 0x000a, 0x3a23: 0x000a, + 0x3a24: 0x000a, 0x3a25: 0x000a, 0x3a26: 0x000a, 0x3a27: 0x000a, 0x3a28: 0x000a, 0x3a29: 0x000a, + 0x3a2a: 0x000a, 0x3a2b: 0x000a, 0x3a2c: 0x000a, 0x3a2d: 0x000a, 0x3a2e: 0x000a, 0x3a2f: 0x000a, + 0x3a30: 0x000a, 0x3a31: 0x000a, 0x3a33: 0x000a, 0x3a34: 0x000a, 0x3a35: 0x000a, + 0x3a36: 0x000a, 0x3a3a: 0x000a, 0x3a3b: 0x000a, + 0x3a3c: 0x000a, 0x3a3d: 0x000a, 0x3a3e: 0x000a, 0x3a3f: 0x000a, + // Block 0xe9, offset 0x3a40 + 0x3a40: 0x000a, 0x3a41: 0x000a, 0x3a42: 0x000a, 0x3a43: 0x000a, 0x3a44: 0x000a, 0x3a45: 0x000a, + 0x3a46: 0x000a, 0x3a47: 0x000a, 0x3a48: 0x000a, 0x3a49: 0x000a, 0x3a4a: 0x000a, 0x3a4b: 0x000a, + 0x3a4c: 0x000a, 0x3a4d: 0x000a, 0x3a4e: 0x000a, 0x3a4f: 0x000a, 0x3a50: 0x000a, 0x3a51: 0x000a, + 0x3a52: 0x000a, 0x3a53: 0x000a, 0x3a54: 0x000a, 0x3a55: 0x000a, 0x3a56: 0x000a, 0x3a57: 0x000a, + 0x3a58: 0x000a, 0x3a59: 0x000a, 0x3a5a: 0x000a, 0x3a5b: 0x000a, 0x3a5c: 0x000a, 0x3a5d: 0x000a, + 0x3a5e: 0x000a, 0x3a5f: 0x000a, 0x3a60: 0x000a, 0x3a61: 0x000a, 0x3a62: 0x000a, + 0x3a65: 0x000a, 0x3a66: 0x000a, 0x3a67: 0x000a, 0x3a68: 0x000a, 0x3a69: 0x000a, + 0x3a6a: 0x000a, 0x3a6e: 0x000a, 0x3a6f: 0x000a, + 0x3a70: 0x000a, 0x3a71: 0x000a, 0x3a72: 0x000a, 0x3a73: 0x000a, 0x3a74: 0x000a, 0x3a75: 0x000a, + 0x3a76: 0x000a, 0x3a77: 0x000a, 0x3a78: 0x000a, 0x3a79: 0x000a, 0x3a7a: 0x000a, 0x3a7b: 0x000a, + 0x3a7c: 0x000a, 0x3a7d: 0x000a, 0x3a7e: 0x000a, 0x3a7f: 0x000a, + // Block 0xea, offset 0x3a80 + 0x3a80: 0x000a, 0x3a81: 0x000a, 0x3a82: 0x000a, 0x3a83: 0x000a, 0x3a84: 0x000a, 0x3a85: 0x000a, + 0x3a86: 0x000a, 0x3a87: 0x000a, 0x3a88: 0x000a, 0x3a89: 0x000a, 0x3a8a: 0x000a, + 0x3a8d: 0x000a, 0x3a8e: 0x000a, 0x3a8f: 0x000a, 0x3a90: 0x000a, 0x3a91: 0x000a, + 0x3a92: 0x000a, 0x3a93: 0x000a, 0x3a94: 0x000a, 0x3a95: 0x000a, 0x3a96: 0x000a, 0x3a97: 0x000a, + 0x3a98: 0x000a, 0x3a99: 0x000a, 0x3a9a: 0x000a, 0x3a9b: 0x000a, 0x3a9c: 0x000a, 0x3a9d: 0x000a, + 0x3a9e: 0x000a, 0x3a9f: 0x000a, 0x3aa0: 0x000a, 0x3aa1: 0x000a, 0x3aa2: 0x000a, 0x3aa3: 0x000a, + 0x3aa4: 0x000a, 0x3aa5: 0x000a, 0x3aa6: 0x000a, 0x3aa7: 0x000a, 0x3aa8: 0x000a, 0x3aa9: 0x000a, + 0x3aaa: 0x000a, 0x3aab: 0x000a, 0x3aac: 0x000a, 0x3aad: 0x000a, 0x3aae: 0x000a, 0x3aaf: 0x000a, + 0x3ab0: 0x000a, 0x3ab1: 0x000a, 0x3ab2: 0x000a, 0x3ab3: 0x000a, 0x3ab4: 0x000a, 0x3ab5: 0x000a, + 0x3ab6: 0x000a, 0x3ab7: 0x000a, 0x3ab8: 0x000a, 0x3ab9: 0x000a, 0x3aba: 0x000a, 0x3abb: 0x000a, + 0x3abc: 0x000a, 0x3abd: 0x000a, 0x3abe: 0x000a, 0x3abf: 0x000a, + // Block 0xeb, offset 0x3ac0 + 0x3ac0: 0x000a, 0x3ac1: 0x000a, 0x3ac2: 0x000a, 0x3ac3: 0x000a, 0x3ac4: 0x000a, 0x3ac5: 0x000a, + 0x3ac6: 0x000a, 0x3ac7: 0x000a, 0x3ac8: 0x000a, 0x3ac9: 0x000a, 0x3aca: 0x000a, 0x3acb: 0x000a, + 0x3acc: 0x000a, 0x3acd: 0x000a, 0x3ace: 0x000a, 0x3acf: 0x000a, 0x3ad0: 0x000a, 0x3ad1: 0x000a, + 0x3ad2: 0x000a, 0x3ad3: 0x000a, + 0x3ae0: 0x000a, 0x3ae1: 0x000a, 0x3ae2: 0x000a, 0x3ae3: 0x000a, + 0x3ae4: 0x000a, 0x3ae5: 0x000a, 0x3ae6: 0x000a, 0x3ae7: 0x000a, 0x3ae8: 0x000a, 0x3ae9: 0x000a, + 0x3aea: 0x000a, 0x3aeb: 0x000a, 0x3aec: 0x000a, 0x3aed: 0x000a, + 0x3af0: 0x000a, 0x3af1: 0x000a, 0x3af2: 0x000a, 0x3af3: 0x000a, + 0x3af8: 0x000a, 0x3af9: 0x000a, 0x3afa: 0x000a, + // Block 0xec, offset 0x3b00 + 0x3b00: 0x000a, 0x3b01: 0x000a, 0x3b02: 0x000a, + 0x3b10: 0x000a, 0x3b11: 0x000a, + 0x3b12: 0x000a, 0x3b13: 0x000a, 0x3b14: 0x000a, 0x3b15: 0x000a, + // Block 0xed, offset 0x3b40 + 0x3b7e: 0x000b, 0x3b7f: 0x000b, + // Block 0xee, offset 0x3b80 + 0x3b80: 0x000b, 0x3b81: 0x000b, 0x3b82: 0x000b, 0x3b83: 0x000b, 0x3b84: 0x000b, 0x3b85: 0x000b, + 0x3b86: 0x000b, 0x3b87: 0x000b, 0x3b88: 0x000b, 0x3b89: 0x000b, 0x3b8a: 0x000b, 0x3b8b: 0x000b, + 0x3b8c: 0x000b, 0x3b8d: 0x000b, 0x3b8e: 0x000b, 0x3b8f: 0x000b, 0x3b90: 0x000b, 0x3b91: 0x000b, + 0x3b92: 0x000b, 0x3b93: 0x000b, 0x3b94: 0x000b, 0x3b95: 0x000b, 0x3b96: 0x000b, 0x3b97: 0x000b, + 0x3b98: 0x000b, 0x3b99: 0x000b, 0x3b9a: 0x000b, 0x3b9b: 0x000b, 0x3b9c: 0x000b, 0x3b9d: 0x000b, + 0x3b9e: 0x000b, 0x3b9f: 0x000b, 0x3ba0: 0x000b, 0x3ba1: 0x000b, 0x3ba2: 0x000b, 0x3ba3: 0x000b, + 0x3ba4: 0x000b, 0x3ba5: 0x000b, 0x3ba6: 0x000b, 0x3ba7: 0x000b, 0x3ba8: 0x000b, 0x3ba9: 0x000b, + 0x3baa: 0x000b, 0x3bab: 0x000b, 0x3bac: 0x000b, 0x3bad: 0x000b, 0x3bae: 0x000b, 0x3baf: 0x000b, + 0x3bb0: 0x000b, 0x3bb1: 0x000b, 0x3bb2: 0x000b, 0x3bb3: 0x000b, 0x3bb4: 0x000b, 0x3bb5: 0x000b, + 0x3bb6: 0x000b, 0x3bb7: 0x000b, 0x3bb8: 0x000b, 0x3bb9: 0x000b, 0x3bba: 0x000b, 0x3bbb: 0x000b, + 0x3bbc: 0x000b, 0x3bbd: 0x000b, 0x3bbe: 0x000b, 0x3bbf: 0x000b, + // Block 0xef, offset 0x3bc0 + 0x3bc0: 0x000c, 0x3bc1: 0x000c, 0x3bc2: 0x000c, 0x3bc3: 0x000c, 0x3bc4: 0x000c, 0x3bc5: 0x000c, + 0x3bc6: 0x000c, 0x3bc7: 0x000c, 0x3bc8: 0x000c, 0x3bc9: 0x000c, 0x3bca: 0x000c, 0x3bcb: 0x000c, + 0x3bcc: 0x000c, 0x3bcd: 0x000c, 0x3bce: 0x000c, 0x3bcf: 0x000c, 0x3bd0: 0x000c, 0x3bd1: 0x000c, + 0x3bd2: 0x000c, 0x3bd3: 0x000c, 0x3bd4: 0x000c, 0x3bd5: 0x000c, 0x3bd6: 0x000c, 0x3bd7: 0x000c, + 0x3bd8: 0x000c, 0x3bd9: 0x000c, 0x3bda: 0x000c, 0x3bdb: 0x000c, 0x3bdc: 0x000c, 0x3bdd: 0x000c, + 0x3bde: 0x000c, 0x3bdf: 0x000c, 0x3be0: 0x000c, 0x3be1: 0x000c, 0x3be2: 0x000c, 0x3be3: 0x000c, + 0x3be4: 0x000c, 0x3be5: 0x000c, 0x3be6: 0x000c, 0x3be7: 0x000c, 0x3be8: 0x000c, 0x3be9: 0x000c, + 0x3bea: 0x000c, 0x3beb: 0x000c, 0x3bec: 0x000c, 0x3bed: 0x000c, 0x3bee: 0x000c, 0x3bef: 0x000c, + 0x3bf0: 0x000b, 0x3bf1: 0x000b, 0x3bf2: 0x000b, 0x3bf3: 0x000b, 0x3bf4: 0x000b, 0x3bf5: 0x000b, + 0x3bf6: 0x000b, 0x3bf7: 0x000b, 0x3bf8: 0x000b, 0x3bf9: 0x000b, 0x3bfa: 0x000b, 0x3bfb: 0x000b, + 0x3bfc: 0x000b, 0x3bfd: 0x000b, 0x3bfe: 0x000b, 0x3bff: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, + 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x54, + 0x1b3: 0x64, 0x1b5: 0x65, 0x1b7: 0x66, + 0x1b8: 0x67, 0x1b9: 0x68, 0x1ba: 0x69, 0x1bb: 0x6a, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6b, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6c, 0x1c2: 0x6d, 0x1c3: 0x6e, 0x1c7: 0x6f, + 0x1c8: 0x70, 0x1c9: 0x71, 0x1ca: 0x72, 0x1cb: 0x73, 0x1cd: 0x74, 0x1cf: 0x75, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x76, 0x253: 0x77, + 0x258: 0x78, 0x259: 0x79, 0x25a: 0x7a, 0x25b: 0x7b, 0x25c: 0x7c, 0x25e: 0x7d, + 0x260: 0x7e, 0x261: 0x7f, 0x263: 0x80, 0x264: 0x81, 0x265: 0x82, 0x266: 0x83, 0x267: 0x84, + 0x268: 0x85, 0x269: 0x86, 0x26a: 0x87, 0x26b: 0x88, 0x26f: 0x89, + // Block 0xa, offset 0x280 + 0x2ac: 0x8a, 0x2ad: 0x8b, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8c, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8d, + 0x2b8: 0x8e, 0x2b9: 0x8f, 0x2ba: 0x0e, 0x2bb: 0x90, 0x2bc: 0x91, 0x2bd: 0x92, 0x2bf: 0x93, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x94, 0x2c5: 0x54, 0x2c6: 0x95, 0x2c7: 0x96, + 0x2cb: 0x97, 0x2cd: 0x98, + 0x2e0: 0x99, 0x2e1: 0x99, 0x2e2: 0x99, 0x2e3: 0x99, 0x2e4: 0x9a, 0x2e5: 0x99, 0x2e6: 0x99, 0x2e7: 0x99, + 0x2e8: 0x9b, 0x2e9: 0x99, 0x2ea: 0x99, 0x2eb: 0x9c, 0x2ec: 0x9d, 0x2ed: 0x99, 0x2ee: 0x99, 0x2ef: 0x99, + 0x2f0: 0x99, 0x2f1: 0x99, 0x2f2: 0x99, 0x2f3: 0x99, 0x2f4: 0x9e, 0x2f5: 0x99, 0x2f6: 0x99, 0x2f7: 0x99, + 0x2f8: 0x99, 0x2f9: 0x9f, 0x2fa: 0x99, 0x2fb: 0x99, 0x2fc: 0xa0, 0x2fd: 0xa1, 0x2fe: 0x99, 0x2ff: 0x99, + // Block 0xc, offset 0x300 + 0x300: 0xa2, 0x301: 0xa3, 0x302: 0xa4, 0x304: 0xa5, 0x305: 0xa6, 0x306: 0xa7, 0x307: 0xa8, + 0x308: 0xa9, 0x30b: 0xaa, 0x30c: 0x26, 0x30d: 0xab, + 0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1, + 0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5, + 0x320: 0xb6, 0x327: 0xb7, + 0x328: 0xb8, 0x329: 0xb9, 0x32a: 0xba, + 0x330: 0xbb, 0x332: 0xbc, 0x334: 0xbd, 0x335: 0xbe, 0x336: 0xbf, + 0x33b: 0xc0, 0x33f: 0xc1, + // Block 0xd, offset 0x340 + 0x36b: 0xc2, 0x36c: 0xc3, + 0x37d: 0xc4, 0x37e: 0xc5, 0x37f: 0xc6, + // Block 0xe, offset 0x380 + 0x3b2: 0xc7, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xc8, 0x3c6: 0xc9, + 0x3c8: 0x54, 0x3c9: 0xca, 0x3cc: 0x54, 0x3cd: 0xcb, + 0x3db: 0xcc, 0x3dc: 0xcd, 0x3dd: 0xce, 0x3de: 0xcf, 0x3df: 0xd0, + 0x3e8: 0xd1, 0x3e9: 0xd2, 0x3ea: 0xd3, + // Block 0x10, offset 0x400 + 0x400: 0xd4, 0x404: 0xc3, + 0x40b: 0xd5, + 0x420: 0x99, 0x421: 0x99, 0x422: 0x99, 0x423: 0xd6, 0x424: 0x99, 0x425: 0xd7, 0x426: 0x99, 0x427: 0x99, + 0x428: 0x99, 0x429: 0x99, 0x42a: 0x99, 0x42b: 0x99, 0x42c: 0x99, 0x42d: 0x99, 0x42e: 0x99, 0x42f: 0x99, + 0x430: 0x99, 0x431: 0xa0, 0x432: 0x0e, 0x433: 0x99, 0x434: 0x0e, 0x435: 0xd8, 0x436: 0x99, 0x437: 0x99, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xd9, 0x43c: 0x99, 0x43d: 0x99, 0x43e: 0x99, 0x43f: 0x99, + // Block 0x11, offset 0x440 + 0x440: 0xda, 0x441: 0x54, 0x442: 0xdb, 0x443: 0xdc, 0x444: 0xdd, 0x445: 0xde, + 0x449: 0xdf, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xe0, 0x45c: 0x54, 0x45d: 0x6a, 0x45e: 0x54, 0x45f: 0xe1, + 0x460: 0xe2, 0x461: 0xe3, 0x462: 0xe4, 0x464: 0xe5, 0x465: 0xe6, 0x466: 0xe7, 0x467: 0xe8, + 0x468: 0x54, 0x469: 0xe9, 0x46a: 0xea, + 0x47f: 0xeb, + // Block 0x12, offset 0x480 + 0x4bf: 0xeb, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xec, 0x541: 0xec, 0x542: 0xec, 0x543: 0xec, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xed, + 0x548: 0xec, 0x549: 0xec, 0x54a: 0xec, 0x54b: 0xec, 0x54c: 0xec, 0x54d: 0xec, 0x54e: 0xec, 0x54f: 0xec, + 0x550: 0xec, 0x551: 0xec, 0x552: 0xec, 0x553: 0xec, 0x554: 0xec, 0x555: 0xec, 0x556: 0xec, 0x557: 0xec, + 0x558: 0xec, 0x559: 0xec, 0x55a: 0xec, 0x55b: 0xec, 0x55c: 0xec, 0x55d: 0xec, 0x55e: 0xec, 0x55f: 0xec, + 0x560: 0xec, 0x561: 0xec, 0x562: 0xec, 0x563: 0xec, 0x564: 0xec, 0x565: 0xec, 0x566: 0xec, 0x567: 0xec, + 0x568: 0xec, 0x569: 0xec, 0x56a: 0xec, 0x56b: 0xec, 0x56c: 0xec, 0x56d: 0xec, 0x56e: 0xec, 0x56f: 0xec, + 0x570: 0xec, 0x571: 0xec, 0x572: 0xec, 0x573: 0xec, 0x574: 0xec, 0x575: 0xec, 0x576: 0xec, 0x577: 0xec, + 0x578: 0xec, 0x579: 0xec, 0x57a: 0xec, 0x57b: 0xec, 0x57c: 0xec, 0x57d: 0xec, 0x57e: 0xec, 0x57f: 0xec, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 16952 bytes (16KiB); checksum: F50EF68C diff --git a/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go new file mode 100644 index 000000000..f248effae --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go @@ -0,0 +1,1956 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.16 +// +build go1.16 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "13.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 17408 bytes (17.00 KiB). Checksum: df85fcbfe9b8377f. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 248 blocks, 15872 entries, 15872 bytes +// The third block is the zero block. +var bidiValues = [15872]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x000c, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000c, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + 0x77e: 0x000c, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x895: 0x000c, 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, 0x944: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa81: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaca: 0x000c, + 0xad2: 0x000c, 0xad3: 0x000c, 0xad4: 0x000c, 0xad6: 0x000c, + // Block 0x2c, offset 0xb00 + 0xb31: 0x000c, 0xb34: 0x000c, 0xb35: 0x000c, + 0xb36: 0x000c, 0xb37: 0x000c, 0xb38: 0x000c, 0xb39: 0x000c, 0xb3a: 0x000c, + 0xb3f: 0x0004, + // Block 0x2d, offset 0xb40 + 0xb47: 0x000c, 0xb48: 0x000c, 0xb49: 0x000c, 0xb4a: 0x000c, 0xb4b: 0x000c, + 0xb4c: 0x000c, 0xb4d: 0x000c, 0xb4e: 0x000c, + // Block 0x2e, offset 0xb80 + 0xbb1: 0x000c, 0xbb4: 0x000c, 0xbb5: 0x000c, + 0xbb6: 0x000c, 0xbb7: 0x000c, 0xbb8: 0x000c, 0xbb9: 0x000c, 0xbba: 0x000c, 0xbbb: 0x000c, + 0xbbc: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbc8: 0x000c, 0xbc9: 0x000c, 0xbca: 0x000c, 0xbcb: 0x000c, + 0xbcc: 0x000c, 0xbcd: 0x000c, + // Block 0x30, offset 0xc00 + 0xc18: 0x000c, 0xc19: 0x000c, + 0xc35: 0x000c, + 0xc37: 0x000c, 0xc39: 0x000c, 0xc3a: 0x003a, 0xc3b: 0x002a, + 0xc3c: 0x003a, 0xc3d: 0x002a, + // Block 0x31, offset 0xc40 + 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, 0xc7d: 0x000c, 0xc7e: 0x000c, + // Block 0x32, offset 0xc80 + 0xc80: 0x000c, 0xc81: 0x000c, 0xc82: 0x000c, 0xc83: 0x000c, 0xc84: 0x000c, + 0xc86: 0x000c, 0xc87: 0x000c, + 0xc8d: 0x000c, 0xc8e: 0x000c, 0xc8f: 0x000c, 0xc90: 0x000c, 0xc91: 0x000c, + 0xc92: 0x000c, 0xc93: 0x000c, 0xc94: 0x000c, 0xc95: 0x000c, 0xc96: 0x000c, 0xc97: 0x000c, + 0xc99: 0x000c, 0xc9a: 0x000c, 0xc9b: 0x000c, 0xc9c: 0x000c, 0xc9d: 0x000c, + 0xc9e: 0x000c, 0xc9f: 0x000c, 0xca0: 0x000c, 0xca1: 0x000c, 0xca2: 0x000c, 0xca3: 0x000c, + 0xca4: 0x000c, 0xca5: 0x000c, 0xca6: 0x000c, 0xca7: 0x000c, 0xca8: 0x000c, 0xca9: 0x000c, + 0xcaa: 0x000c, 0xcab: 0x000c, 0xcac: 0x000c, 0xcad: 0x000c, 0xcae: 0x000c, 0xcaf: 0x000c, + 0xcb0: 0x000c, 0xcb1: 0x000c, 0xcb2: 0x000c, 0xcb3: 0x000c, 0xcb4: 0x000c, 0xcb5: 0x000c, + 0xcb6: 0x000c, 0xcb7: 0x000c, 0xcb8: 0x000c, 0xcb9: 0x000c, 0xcba: 0x000c, 0xcbb: 0x000c, + 0xcbc: 0x000c, + // Block 0x33, offset 0xcc0 + 0xcc6: 0x000c, + // Block 0x34, offset 0xd00 + 0xd2d: 0x000c, 0xd2e: 0x000c, 0xd2f: 0x000c, + 0xd30: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, 0xd35: 0x000c, + 0xd36: 0x000c, 0xd37: 0x000c, 0xd39: 0x000c, 0xd3a: 0x000c, + 0xd3d: 0x000c, 0xd3e: 0x000c, + // Block 0x35, offset 0xd40 + 0xd58: 0x000c, 0xd59: 0x000c, + 0xd5e: 0x000c, 0xd5f: 0x000c, 0xd60: 0x000c, + 0xd71: 0x000c, 0xd72: 0x000c, 0xd73: 0x000c, 0xd74: 0x000c, + // Block 0x36, offset 0xd80 + 0xd82: 0x000c, 0xd85: 0x000c, + 0xd86: 0x000c, + 0xd8d: 0x000c, + 0xd9d: 0x000c, + // Block 0x37, offset 0xdc0 + 0xddd: 0x000c, + 0xdde: 0x000c, 0xddf: 0x000c, + // Block 0x38, offset 0xe00 + 0xe10: 0x000a, 0xe11: 0x000a, + 0xe12: 0x000a, 0xe13: 0x000a, 0xe14: 0x000a, 0xe15: 0x000a, 0xe16: 0x000a, 0xe17: 0x000a, + 0xe18: 0x000a, 0xe19: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x000a, + // Block 0x3a, offset 0xe80 + 0xe80: 0x0009, + 0xe9b: 0x007a, 0xe9c: 0x006a, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, 0xed4: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, 0xef4: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf12: 0x000c, 0xf13: 0x000c, + 0xf32: 0x000c, 0xf33: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf74: 0x000c, 0xf75: 0x000c, + 0xf77: 0x000c, 0xf78: 0x000c, 0xf79: 0x000c, 0xf7a: 0x000c, 0xf7b: 0x000c, + 0xf7c: 0x000c, 0xf7d: 0x000c, + // Block 0x3e, offset 0xf80 + 0xf86: 0x000c, 0xf89: 0x000c, 0xf8a: 0x000c, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000c, 0xf8f: 0x000c, 0xf90: 0x000c, 0xf91: 0x000c, + 0xf92: 0x000c, 0xf93: 0x000c, + 0xf9b: 0x0004, 0xf9d: 0x000c, + 0xfb0: 0x000a, 0xfb1: 0x000a, 0xfb2: 0x000a, 0xfb3: 0x000a, 0xfb4: 0x000a, 0xfb5: 0x000a, + 0xfb6: 0x000a, 0xfb7: 0x000a, 0xfb8: 0x000a, 0xfb9: 0x000a, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x000a, 0xfc1: 0x000a, 0xfc2: 0x000a, 0xfc3: 0x000a, 0xfc4: 0x000a, 0xfc5: 0x000a, + 0xfc6: 0x000a, 0xfc7: 0x000a, 0xfc8: 0x000a, 0xfc9: 0x000a, 0xfca: 0x000a, 0xfcb: 0x000c, + 0xfcc: 0x000c, 0xfcd: 0x000c, 0xfce: 0x000b, + // Block 0x40, offset 0x1000 + 0x1005: 0x000c, + 0x1006: 0x000c, + 0x1029: 0x000c, + // Block 0x41, offset 0x1040 + 0x1060: 0x000c, 0x1061: 0x000c, 0x1062: 0x000c, + 0x1067: 0x000c, 0x1068: 0x000c, + 0x1072: 0x000c, + 0x1079: 0x000c, 0x107a: 0x000c, 0x107b: 0x000c, + // Block 0x42, offset 0x1080 + 0x1080: 0x000a, 0x1084: 0x000a, 0x1085: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10de: 0x000a, 0x10df: 0x000a, 0x10e0: 0x000a, 0x10e1: 0x000a, 0x10e2: 0x000a, 0x10e3: 0x000a, + 0x10e4: 0x000a, 0x10e5: 0x000a, 0x10e6: 0x000a, 0x10e7: 0x000a, 0x10e8: 0x000a, 0x10e9: 0x000a, + 0x10ea: 0x000a, 0x10eb: 0x000a, 0x10ec: 0x000a, 0x10ed: 0x000a, 0x10ee: 0x000a, 0x10ef: 0x000a, + 0x10f0: 0x000a, 0x10f1: 0x000a, 0x10f2: 0x000a, 0x10f3: 0x000a, 0x10f4: 0x000a, 0x10f5: 0x000a, + 0x10f6: 0x000a, 0x10f7: 0x000a, 0x10f8: 0x000a, 0x10f9: 0x000a, 0x10fa: 0x000a, 0x10fb: 0x000a, + 0x10fc: 0x000a, 0x10fd: 0x000a, 0x10fe: 0x000a, 0x10ff: 0x000a, + // Block 0x44, offset 0x1100 + 0x1117: 0x000c, + 0x1118: 0x000c, 0x111b: 0x000c, + // Block 0x45, offset 0x1140 + 0x1156: 0x000c, + 0x1158: 0x000c, 0x1159: 0x000c, 0x115a: 0x000c, 0x115b: 0x000c, 0x115c: 0x000c, 0x115d: 0x000c, + 0x115e: 0x000c, 0x1160: 0x000c, 0x1162: 0x000c, + 0x1165: 0x000c, 0x1166: 0x000c, 0x1167: 0x000c, 0x1168: 0x000c, 0x1169: 0x000c, + 0x116a: 0x000c, 0x116b: 0x000c, 0x116c: 0x000c, + 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117f: 0x000c, + // Block 0x46, offset 0x1180 + 0x11b0: 0x000c, 0x11b1: 0x000c, 0x11b2: 0x000c, 0x11b3: 0x000c, 0x11b4: 0x000c, 0x11b5: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, 0x11bb: 0x000c, + 0x11bc: 0x000c, 0x11bd: 0x000c, 0x11be: 0x000c, 0x11bf: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c0: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, 0x1202: 0x000c, 0x1203: 0x000c, + 0x1234: 0x000c, + 0x1236: 0x000c, 0x1237: 0x000c, 0x1238: 0x000c, 0x1239: 0x000c, 0x123a: 0x000c, + 0x123c: 0x000c, + // Block 0x49, offset 0x1240 + 0x1242: 0x000c, + 0x126b: 0x000c, 0x126c: 0x000c, 0x126d: 0x000c, 0x126e: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, 0x1272: 0x000c, 0x1273: 0x000c, + // Block 0x4a, offset 0x1280 + 0x1280: 0x000c, 0x1281: 0x000c, + 0x12a2: 0x000c, 0x12a3: 0x000c, + 0x12a4: 0x000c, 0x12a5: 0x000c, 0x12a8: 0x000c, 0x12a9: 0x000c, + 0x12ab: 0x000c, 0x12ac: 0x000c, 0x12ad: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12e6: 0x000c, 0x12e8: 0x000c, 0x12e9: 0x000c, + 0x12ed: 0x000c, 0x12ef: 0x000c, + 0x12f0: 0x000c, 0x12f1: 0x000c, + // Block 0x4c, offset 0x1300 + 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, + // Block 0x4d, offset 0x1340 + 0x1350: 0x000c, 0x1351: 0x000c, + 0x1352: 0x000c, 0x1354: 0x000c, 0x1355: 0x000c, 0x1356: 0x000c, 0x1357: 0x000c, + 0x1358: 0x000c, 0x1359: 0x000c, 0x135a: 0x000c, 0x135b: 0x000c, 0x135c: 0x000c, 0x135d: 0x000c, + 0x135e: 0x000c, 0x135f: 0x000c, 0x1360: 0x000c, 0x1362: 0x000c, 0x1363: 0x000c, + 0x1364: 0x000c, 0x1365: 0x000c, 0x1366: 0x000c, 0x1367: 0x000c, 0x1368: 0x000c, + 0x136d: 0x000c, + 0x1374: 0x000c, + 0x1378: 0x000c, 0x1379: 0x000c, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000c, 0x1381: 0x000c, 0x1382: 0x000c, 0x1383: 0x000c, 0x1384: 0x000c, 0x1385: 0x000c, + 0x1386: 0x000c, 0x1387: 0x000c, 0x1388: 0x000c, 0x1389: 0x000c, 0x138a: 0x000c, 0x138b: 0x000c, + 0x138c: 0x000c, 0x138d: 0x000c, 0x138e: 0x000c, 0x138f: 0x000c, 0x1390: 0x000c, 0x1391: 0x000c, + 0x1392: 0x000c, 0x1393: 0x000c, 0x1394: 0x000c, 0x1395: 0x000c, 0x1396: 0x000c, 0x1397: 0x000c, + 0x1398: 0x000c, 0x1399: 0x000c, 0x139a: 0x000c, 0x139b: 0x000c, 0x139c: 0x000c, 0x139d: 0x000c, + 0x139e: 0x000c, 0x139f: 0x000c, 0x13a0: 0x000c, 0x13a1: 0x000c, 0x13a2: 0x000c, 0x13a3: 0x000c, + 0x13a4: 0x000c, 0x13a5: 0x000c, 0x13a6: 0x000c, 0x13a7: 0x000c, 0x13a8: 0x000c, 0x13a9: 0x000c, + 0x13aa: 0x000c, 0x13ab: 0x000c, 0x13ac: 0x000c, 0x13ad: 0x000c, 0x13ae: 0x000c, 0x13af: 0x000c, + 0x13b0: 0x000c, 0x13b1: 0x000c, 0x13b2: 0x000c, 0x13b3: 0x000c, 0x13b4: 0x000c, 0x13b5: 0x000c, + 0x13b6: 0x000c, 0x13b7: 0x000c, 0x13b8: 0x000c, 0x13b9: 0x000c, 0x13bb: 0x000c, + 0x13bc: 0x000c, 0x13bd: 0x000c, 0x13be: 0x000c, 0x13bf: 0x000c, + // Block 0x4f, offset 0x13c0 + 0x13fd: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, + 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, + 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x000a, + 0x142d: 0x000a, 0x142e: 0x000a, 0x142f: 0x000a, + 0x143d: 0x000a, 0x143e: 0x000a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0009, 0x1441: 0x0009, 0x1442: 0x0009, 0x1443: 0x0009, 0x1444: 0x0009, 0x1445: 0x0009, + 0x1446: 0x0009, 0x1447: 0x0009, 0x1448: 0x0009, 0x1449: 0x0009, 0x144a: 0x0009, 0x144b: 0x000b, + 0x144c: 0x000b, 0x144d: 0x000b, 0x144f: 0x0001, 0x1450: 0x000a, 0x1451: 0x000a, + 0x1452: 0x000a, 0x1453: 0x000a, 0x1454: 0x000a, 0x1455: 0x000a, 0x1456: 0x000a, 0x1457: 0x000a, + 0x1458: 0x000a, 0x1459: 0x000a, 0x145a: 0x000a, 0x145b: 0x000a, 0x145c: 0x000a, 0x145d: 0x000a, + 0x145e: 0x000a, 0x145f: 0x000a, 0x1460: 0x000a, 0x1461: 0x000a, 0x1462: 0x000a, 0x1463: 0x000a, + 0x1464: 0x000a, 0x1465: 0x000a, 0x1466: 0x000a, 0x1467: 0x000a, 0x1468: 0x0009, 0x1469: 0x0007, + 0x146a: 0x000e, 0x146b: 0x000e, 0x146c: 0x000e, 0x146d: 0x000e, 0x146e: 0x000e, 0x146f: 0x0006, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x000a, + 0x1476: 0x000a, 0x1477: 0x000a, 0x1478: 0x000a, 0x1479: 0x000a, 0x147a: 0x000a, 0x147b: 0x000a, + 0x147c: 0x000a, 0x147d: 0x000a, 0x147e: 0x000a, 0x147f: 0x000a, + // Block 0x52, offset 0x1480 + 0x1480: 0x000a, 0x1481: 0x000a, 0x1482: 0x000a, 0x1483: 0x000a, 0x1484: 0x0006, 0x1485: 0x009a, + 0x1486: 0x008a, 0x1487: 0x000a, 0x1488: 0x000a, 0x1489: 0x000a, 0x148a: 0x000a, 0x148b: 0x000a, + 0x148c: 0x000a, 0x148d: 0x000a, 0x148e: 0x000a, 0x148f: 0x000a, 0x1490: 0x000a, 0x1491: 0x000a, + 0x1492: 0x000a, 0x1493: 0x000a, 0x1494: 0x000a, 0x1495: 0x000a, 0x1496: 0x000a, 0x1497: 0x000a, + 0x1498: 0x000a, 0x1499: 0x000a, 0x149a: 0x000a, 0x149b: 0x000a, 0x149c: 0x000a, 0x149d: 0x000a, + 0x149e: 0x000a, 0x149f: 0x0009, 0x14a0: 0x000b, 0x14a1: 0x000b, 0x14a2: 0x000b, 0x14a3: 0x000b, + 0x14a4: 0x000b, 0x14a5: 0x000b, 0x14a6: 0x000e, 0x14a7: 0x000e, 0x14a8: 0x000e, 0x14a9: 0x000e, + 0x14aa: 0x000b, 0x14ab: 0x000b, 0x14ac: 0x000b, 0x14ad: 0x000b, 0x14ae: 0x000b, 0x14af: 0x000b, + 0x14b0: 0x0002, 0x14b4: 0x0002, 0x14b5: 0x0002, + 0x14b6: 0x0002, 0x14b7: 0x0002, 0x14b8: 0x0002, 0x14b9: 0x0002, 0x14ba: 0x0003, 0x14bb: 0x0003, + 0x14bc: 0x000a, 0x14bd: 0x009a, 0x14be: 0x008a, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x0002, 0x14c1: 0x0002, 0x14c2: 0x0002, 0x14c3: 0x0002, 0x14c4: 0x0002, 0x14c5: 0x0002, + 0x14c6: 0x0002, 0x14c7: 0x0002, 0x14c8: 0x0002, 0x14c9: 0x0002, 0x14ca: 0x0003, 0x14cb: 0x0003, + 0x14cc: 0x000a, 0x14cd: 0x009a, 0x14ce: 0x008a, + 0x14e0: 0x0004, 0x14e1: 0x0004, 0x14e2: 0x0004, 0x14e3: 0x0004, + 0x14e4: 0x0004, 0x14e5: 0x0004, 0x14e6: 0x0004, 0x14e7: 0x0004, 0x14e8: 0x0004, 0x14e9: 0x0004, + 0x14ea: 0x0004, 0x14eb: 0x0004, 0x14ec: 0x0004, 0x14ed: 0x0004, 0x14ee: 0x0004, 0x14ef: 0x0004, + 0x14f0: 0x0004, 0x14f1: 0x0004, 0x14f2: 0x0004, 0x14f3: 0x0004, 0x14f4: 0x0004, 0x14f5: 0x0004, + 0x14f6: 0x0004, 0x14f7: 0x0004, 0x14f8: 0x0004, 0x14f9: 0x0004, 0x14fa: 0x0004, 0x14fb: 0x0004, + 0x14fc: 0x0004, 0x14fd: 0x0004, 0x14fe: 0x0004, 0x14ff: 0x0004, + // Block 0x54, offset 0x1500 + 0x1500: 0x0004, 0x1501: 0x0004, 0x1502: 0x0004, 0x1503: 0x0004, 0x1504: 0x0004, 0x1505: 0x0004, + 0x1506: 0x0004, 0x1507: 0x0004, 0x1508: 0x0004, 0x1509: 0x0004, 0x150a: 0x0004, 0x150b: 0x0004, + 0x150c: 0x0004, 0x150d: 0x0004, 0x150e: 0x0004, 0x150f: 0x0004, 0x1510: 0x000c, 0x1511: 0x000c, + 0x1512: 0x000c, 0x1513: 0x000c, 0x1514: 0x000c, 0x1515: 0x000c, 0x1516: 0x000c, 0x1517: 0x000c, + 0x1518: 0x000c, 0x1519: 0x000c, 0x151a: 0x000c, 0x151b: 0x000c, 0x151c: 0x000c, 0x151d: 0x000c, + 0x151e: 0x000c, 0x151f: 0x000c, 0x1520: 0x000c, 0x1521: 0x000c, 0x1522: 0x000c, 0x1523: 0x000c, + 0x1524: 0x000c, 0x1525: 0x000c, 0x1526: 0x000c, 0x1527: 0x000c, 0x1528: 0x000c, 0x1529: 0x000c, + 0x152a: 0x000c, 0x152b: 0x000c, 0x152c: 0x000c, 0x152d: 0x000c, 0x152e: 0x000c, 0x152f: 0x000c, + 0x1530: 0x000c, + // Block 0x55, offset 0x1540 + 0x1540: 0x000a, 0x1541: 0x000a, 0x1543: 0x000a, 0x1544: 0x000a, 0x1545: 0x000a, + 0x1546: 0x000a, 0x1548: 0x000a, 0x1549: 0x000a, + 0x1554: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1565: 0x000a, 0x1567: 0x000a, 0x1569: 0x000a, + 0x156e: 0x0004, + 0x157a: 0x000a, 0x157b: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, + 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x000a, 0x15d3: 0x000a, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x000a, 0x1609: 0x000a, 0x160a: 0x000a, 0x160b: 0x000a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x000a, + 0x162a: 0x000a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + 0x1636: 0x000a, 0x1637: 0x000a, 0x1638: 0x000a, 0x1639: 0x000a, 0x163a: 0x000a, 0x163b: 0x000a, + 0x163c: 0x000a, 0x163d: 0x000a, 0x163e: 0x000a, 0x163f: 0x000a, + // Block 0x59, offset 0x1640 + 0x1640: 0x000a, 0x1641: 0x000a, 0x1642: 0x000a, 0x1643: 0x000a, 0x1644: 0x000a, 0x1645: 0x000a, + 0x1646: 0x000a, 0x1647: 0x000a, 0x1648: 0x000a, 0x1649: 0x000a, 0x164a: 0x000a, 0x164b: 0x000a, + 0x164c: 0x000a, 0x164d: 0x000a, 0x164e: 0x000a, 0x164f: 0x000a, 0x1650: 0x000a, 0x1651: 0x000a, + 0x1652: 0x0003, 0x1653: 0x0004, 0x1654: 0x000a, 0x1655: 0x000a, 0x1656: 0x000a, 0x1657: 0x000a, + 0x1658: 0x000a, 0x1659: 0x000a, 0x165a: 0x000a, 0x165b: 0x000a, 0x165c: 0x000a, 0x165d: 0x000a, + 0x165e: 0x000a, 0x165f: 0x000a, 0x1660: 0x000a, 0x1661: 0x000a, 0x1662: 0x000a, 0x1663: 0x000a, + 0x1664: 0x000a, 0x1665: 0x000a, 0x1666: 0x000a, 0x1667: 0x000a, 0x1668: 0x000a, 0x1669: 0x000a, + 0x166a: 0x000a, 0x166b: 0x000a, 0x166c: 0x000a, 0x166d: 0x000a, 0x166e: 0x000a, 0x166f: 0x000a, + 0x1670: 0x000a, 0x1671: 0x000a, 0x1672: 0x000a, 0x1673: 0x000a, 0x1674: 0x000a, 0x1675: 0x000a, + 0x1676: 0x000a, 0x1677: 0x000a, 0x1678: 0x000a, 0x1679: 0x000a, 0x167a: 0x000a, 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x003a, 0x1689: 0x002a, 0x168a: 0x003a, 0x168b: 0x002a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1695: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x009a, + 0x16aa: 0x008a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16fb: 0x000a, + 0x16fc: 0x000a, 0x16fd: 0x000a, 0x16fe: 0x000a, 0x16ff: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, 0x170b: 0x000a, + 0x170c: 0x000a, 0x170d: 0x000a, 0x170e: 0x000a, 0x170f: 0x000a, 0x1710: 0x000a, 0x1711: 0x000a, + 0x1712: 0x000a, 0x1713: 0x000a, 0x1714: 0x000a, 0x1716: 0x000a, 0x1717: 0x000a, + 0x1718: 0x000a, 0x1719: 0x000a, 0x171a: 0x000a, 0x171b: 0x000a, 0x171c: 0x000a, 0x171d: 0x000a, + 0x171e: 0x000a, 0x171f: 0x000a, 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x000a, 0x1749: 0x000a, 0x174a: 0x000a, 0x174b: 0x000a, + 0x174c: 0x000a, 0x174d: 0x000a, 0x174e: 0x000a, 0x174f: 0x000a, 0x1750: 0x000a, 0x1751: 0x000a, + 0x1752: 0x000a, 0x1753: 0x000a, 0x1754: 0x000a, 0x1755: 0x000a, 0x1756: 0x000a, 0x1757: 0x000a, + 0x1758: 0x000a, 0x1759: 0x000a, 0x175a: 0x000a, 0x175b: 0x000a, 0x175c: 0x000a, 0x175d: 0x000a, + 0x175e: 0x000a, 0x175f: 0x000a, 0x1760: 0x000a, 0x1761: 0x000a, 0x1762: 0x000a, 0x1763: 0x000a, + 0x1764: 0x000a, 0x1765: 0x000a, 0x1766: 0x000a, + // Block 0x5e, offset 0x1780 + 0x1780: 0x000a, 0x1781: 0x000a, 0x1782: 0x000a, 0x1783: 0x000a, 0x1784: 0x000a, 0x1785: 0x000a, + 0x1786: 0x000a, 0x1787: 0x000a, 0x1788: 0x000a, 0x1789: 0x000a, 0x178a: 0x000a, + 0x17a0: 0x000a, 0x17a1: 0x000a, 0x17a2: 0x000a, 0x17a3: 0x000a, + 0x17a4: 0x000a, 0x17a5: 0x000a, 0x17a6: 0x000a, 0x17a7: 0x000a, 0x17a8: 0x000a, 0x17a9: 0x000a, + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x0002, 0x17c9: 0x0002, 0x17ca: 0x0002, 0x17cb: 0x0002, + 0x17cc: 0x0002, 0x17cd: 0x0002, 0x17ce: 0x0002, 0x17cf: 0x0002, 0x17d0: 0x0002, 0x17d1: 0x0002, + 0x17d2: 0x0002, 0x17d3: 0x0002, 0x17d4: 0x0002, 0x17d5: 0x0002, 0x17d6: 0x0002, 0x17d7: 0x0002, + 0x17d8: 0x0002, 0x17d9: 0x0002, 0x17da: 0x0002, 0x17db: 0x0002, + // Block 0x60, offset 0x1800 + 0x182a: 0x000a, 0x182b: 0x000a, 0x182c: 0x000a, 0x182d: 0x000a, 0x182e: 0x000a, 0x182f: 0x000a, + 0x1830: 0x000a, 0x1831: 0x000a, 0x1832: 0x000a, 0x1833: 0x000a, 0x1834: 0x000a, 0x1835: 0x000a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x000a, + 0x1846: 0x000a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x000a, 0x1867: 0x000a, 0x1868: 0x000a, 0x1869: 0x000a, + 0x186a: 0x000a, 0x186b: 0x000a, 0x186d: 0x000a, 0x186e: 0x000a, 0x186f: 0x000a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x000a, 0x1884: 0x000a, 0x1885: 0x000a, + 0x1886: 0x000a, 0x1887: 0x000a, 0x1888: 0x000a, 0x1889: 0x000a, 0x188a: 0x000a, 0x188b: 0x000a, + 0x188c: 0x000a, 0x188d: 0x000a, 0x188e: 0x000a, 0x188f: 0x000a, 0x1890: 0x000a, 0x1891: 0x000a, + 0x1892: 0x000a, 0x1893: 0x000a, 0x1894: 0x000a, 0x1895: 0x000a, 0x1896: 0x000a, 0x1897: 0x000a, + 0x1898: 0x000a, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x003a, 0x18a9: 0x002a, + 0x18aa: 0x003a, 0x18ab: 0x002a, 0x18ac: 0x003a, 0x18ad: 0x002a, 0x18ae: 0x003a, 0x18af: 0x002a, + 0x18b0: 0x003a, 0x18b1: 0x002a, 0x18b2: 0x003a, 0x18b3: 0x002a, 0x18b4: 0x003a, 0x18b5: 0x002a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x009a, + 0x18c6: 0x008a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x000a, 0x18d9: 0x000a, 0x18da: 0x000a, 0x18db: 0x000a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x003a, 0x18e7: 0x002a, 0x18e8: 0x003a, 0x18e9: 0x002a, + 0x18ea: 0x003a, 0x18eb: 0x002a, 0x18ec: 0x003a, 0x18ed: 0x002a, 0x18ee: 0x003a, 0x18ef: 0x002a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x000a, 0x18fd: 0x000a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x007a, 0x1904: 0x006a, 0x1905: 0x009a, + 0x1906: 0x008a, 0x1907: 0x00ba, 0x1908: 0x00aa, 0x1909: 0x009a, 0x190a: 0x008a, 0x190b: 0x007a, + 0x190c: 0x006a, 0x190d: 0x00da, 0x190e: 0x002a, 0x190f: 0x003a, 0x1910: 0x00ca, 0x1911: 0x009a, + 0x1912: 0x008a, 0x1913: 0x007a, 0x1914: 0x006a, 0x1915: 0x009a, 0x1916: 0x008a, 0x1917: 0x00ba, + 0x1918: 0x00aa, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1934: 0x000a, 0x1935: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1956: 0x000a, 0x1957: 0x000a, + 0x1958: 0x003a, 0x1959: 0x002a, 0x195a: 0x003a, 0x195b: 0x002a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, + 0x197c: 0x003a, 0x197d: 0x002a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x1989: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a, 0x1996: 0x000a, 0x1997: 0x000a, + 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a, + 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a, + 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, + 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, + 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a, 0x19ba: 0x000a, 0x19bb: 0x000a, + 0x19bc: 0x000a, 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x000a, 0x19c1: 0x000a, 0x19c2: 0x000a, 0x19c3: 0x000a, 0x19c4: 0x000a, 0x19c5: 0x000a, + 0x19c6: 0x000a, 0x19c7: 0x000a, 0x19c8: 0x000a, 0x19c9: 0x000a, 0x19ca: 0x000a, 0x19cb: 0x000a, + 0x19cc: 0x000a, 0x19cd: 0x000a, 0x19ce: 0x000a, 0x19cf: 0x000a, 0x19d0: 0x000a, 0x19d1: 0x000a, + 0x19d2: 0x000a, 0x19d3: 0x000a, 0x19d4: 0x000a, 0x19d5: 0x000a, 0x19d7: 0x000a, + 0x19d8: 0x000a, 0x19d9: 0x000a, 0x19da: 0x000a, 0x19db: 0x000a, 0x19dc: 0x000a, 0x19dd: 0x000a, + 0x19de: 0x000a, 0x19df: 0x000a, 0x19e0: 0x000a, 0x19e1: 0x000a, 0x19e2: 0x000a, 0x19e3: 0x000a, + 0x19e4: 0x000a, 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, + 0x19ea: 0x000a, 0x19eb: 0x000a, 0x19ec: 0x000a, 0x19ed: 0x000a, 0x19ee: 0x000a, 0x19ef: 0x000a, + 0x19f0: 0x000a, 0x19f1: 0x000a, 0x19f2: 0x000a, 0x19f3: 0x000a, 0x19f4: 0x000a, 0x19f5: 0x000a, + 0x19f6: 0x000a, 0x19f7: 0x000a, 0x19f8: 0x000a, 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, + 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a25: 0x000a, 0x1a26: 0x000a, 0x1a27: 0x000a, 0x1a28: 0x000a, 0x1a29: 0x000a, + 0x1a2a: 0x000a, 0x1a2f: 0x000c, + 0x1a30: 0x000c, 0x1a31: 0x000c, + 0x1a39: 0x000a, 0x1a3a: 0x000a, 0x1a3b: 0x000a, + 0x1a3c: 0x000a, 0x1a3d: 0x000a, 0x1a3e: 0x000a, 0x1a3f: 0x000a, + // Block 0x69, offset 0x1a40 + 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1aa0: 0x000c, 0x1aa1: 0x000c, 0x1aa2: 0x000c, 0x1aa3: 0x000c, + 0x1aa4: 0x000c, 0x1aa5: 0x000c, 0x1aa6: 0x000c, 0x1aa7: 0x000c, 0x1aa8: 0x000c, 0x1aa9: 0x000c, + 0x1aaa: 0x000c, 0x1aab: 0x000c, 0x1aac: 0x000c, 0x1aad: 0x000c, 0x1aae: 0x000c, 0x1aaf: 0x000c, + 0x1ab0: 0x000c, 0x1ab1: 0x000c, 0x1ab2: 0x000c, 0x1ab3: 0x000c, 0x1ab4: 0x000c, 0x1ab5: 0x000c, + 0x1ab6: 0x000c, 0x1ab7: 0x000c, 0x1ab8: 0x000c, 0x1ab9: 0x000c, 0x1aba: 0x000c, 0x1abb: 0x000c, + 0x1abc: 0x000c, 0x1abd: 0x000c, 0x1abe: 0x000c, 0x1abf: 0x000c, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, + 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a, + 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a, + 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1ada: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a, + 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x003a, 0x1ae3: 0x002a, + 0x1ae4: 0x003a, 0x1ae5: 0x002a, 0x1ae6: 0x003a, 0x1ae7: 0x002a, 0x1ae8: 0x003a, 0x1ae9: 0x002a, + 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a, + 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a, + 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a, + 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a, + 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a, + 0x1b7c: 0x000a, 0x1b7d: 0x000a, 0x1b7e: 0x000a, 0x1b7f: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, 0x1b96: 0x000a, 0x1b97: 0x000a, + 0x1b98: 0x000a, 0x1b99: 0x000a, 0x1b9a: 0x000a, 0x1b9b: 0x000a, 0x1b9c: 0x000a, 0x1b9d: 0x000a, + 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, 0x1ba1: 0x000a, 0x1ba2: 0x000a, 0x1ba3: 0x000a, + 0x1ba4: 0x000a, 0x1ba5: 0x000a, 0x1ba6: 0x000a, 0x1ba7: 0x000a, 0x1ba8: 0x000a, 0x1ba9: 0x000a, + 0x1baa: 0x000a, 0x1bab: 0x000a, 0x1bac: 0x000a, 0x1bad: 0x000a, 0x1bae: 0x000a, 0x1baf: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x000a, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, 0x1bc5: 0x000a, + 0x1bc6: 0x000a, 0x1bc7: 0x000a, 0x1bc8: 0x000a, 0x1bc9: 0x000a, 0x1bca: 0x000a, 0x1bcb: 0x000a, + 0x1bcc: 0x000a, 0x1bcd: 0x000a, 0x1bce: 0x000a, 0x1bcf: 0x000a, 0x1bd0: 0x000a, 0x1bd1: 0x000a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x000a, 0x1bd5: 0x000a, + 0x1bf0: 0x000a, 0x1bf1: 0x000a, 0x1bf2: 0x000a, 0x1bf3: 0x000a, 0x1bf4: 0x000a, 0x1bf5: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, 0x1bf8: 0x000a, 0x1bf9: 0x000a, 0x1bfa: 0x000a, 0x1bfb: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x0009, 0x1c01: 0x000a, 0x1c02: 0x000a, 0x1c03: 0x000a, 0x1c04: 0x000a, + 0x1c08: 0x003a, 0x1c09: 0x002a, 0x1c0a: 0x003a, 0x1c0b: 0x002a, + 0x1c0c: 0x003a, 0x1c0d: 0x002a, 0x1c0e: 0x003a, 0x1c0f: 0x002a, 0x1c10: 0x003a, 0x1c11: 0x002a, + 0x1c12: 0x000a, 0x1c13: 0x000a, 0x1c14: 0x003a, 0x1c15: 0x002a, 0x1c16: 0x003a, 0x1c17: 0x002a, + 0x1c18: 0x003a, 0x1c19: 0x002a, 0x1c1a: 0x003a, 0x1c1b: 0x002a, 0x1c1c: 0x000a, 0x1c1d: 0x000a, + 0x1c1e: 0x000a, 0x1c1f: 0x000a, 0x1c20: 0x000a, + 0x1c2a: 0x000c, 0x1c2b: 0x000c, 0x1c2c: 0x000c, 0x1c2d: 0x000c, + 0x1c30: 0x000a, + 0x1c36: 0x000a, 0x1c37: 0x000a, + 0x1c3d: 0x000a, 0x1c3e: 0x000a, 0x1c3f: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c59: 0x000c, 0x1c5a: 0x000c, 0x1c5b: 0x000a, 0x1c5c: 0x000a, + 0x1c60: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1cbb: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x000a, 0x1cc1: 0x000a, 0x1cc2: 0x000a, 0x1cc3: 0x000a, 0x1cc4: 0x000a, 0x1cc5: 0x000a, + 0x1cc6: 0x000a, 0x1cc7: 0x000a, 0x1cc8: 0x000a, 0x1cc9: 0x000a, 0x1cca: 0x000a, 0x1ccb: 0x000a, + 0x1ccc: 0x000a, 0x1ccd: 0x000a, 0x1cce: 0x000a, 0x1ccf: 0x000a, 0x1cd0: 0x000a, 0x1cd1: 0x000a, + 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a, + 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a, + 0x1cde: 0x000a, 0x1cdf: 0x000a, 0x1ce0: 0x000a, 0x1ce1: 0x000a, 0x1ce2: 0x000a, 0x1ce3: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d1d: 0x000a, + 0x1d1e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d50: 0x000a, 0x1d51: 0x000a, + 0x1d52: 0x000a, 0x1d53: 0x000a, 0x1d54: 0x000a, 0x1d55: 0x000a, 0x1d56: 0x000a, 0x1d57: 0x000a, + 0x1d58: 0x000a, 0x1d59: 0x000a, 0x1d5a: 0x000a, 0x1d5b: 0x000a, 0x1d5c: 0x000a, 0x1d5d: 0x000a, + 0x1d5e: 0x000a, 0x1d5f: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1db1: 0x000a, 0x1db2: 0x000a, 0x1db3: 0x000a, 0x1db4: 0x000a, 0x1db5: 0x000a, + 0x1db6: 0x000a, 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, 0x1dbb: 0x000a, + 0x1dbc: 0x000a, 0x1dbd: 0x000a, 0x1dbe: 0x000a, 0x1dbf: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1dcc: 0x000a, 0x1dcd: 0x000a, 0x1dce: 0x000a, 0x1dcf: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e5e: 0x000a, 0x1e5f: 0x000a, + 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e90: 0x000a, 0x1e91: 0x000a, + 0x1e92: 0x000a, 0x1e93: 0x000a, 0x1e94: 0x000a, 0x1e95: 0x000a, 0x1e96: 0x000a, 0x1e97: 0x000a, + 0x1e98: 0x000a, 0x1e99: 0x000a, 0x1e9a: 0x000a, 0x1e9b: 0x000a, 0x1e9c: 0x000a, 0x1e9d: 0x000a, + 0x1e9e: 0x000a, 0x1e9f: 0x000a, 0x1ea0: 0x000a, 0x1ea1: 0x000a, 0x1ea2: 0x000a, 0x1ea3: 0x000a, + 0x1ea4: 0x000a, 0x1ea5: 0x000a, 0x1ea6: 0x000a, 0x1ea7: 0x000a, 0x1ea8: 0x000a, 0x1ea9: 0x000a, + 0x1eaa: 0x000a, 0x1eab: 0x000a, 0x1eac: 0x000a, 0x1ead: 0x000a, 0x1eae: 0x000a, 0x1eaf: 0x000a, + 0x1eb0: 0x000a, 0x1eb1: 0x000a, 0x1eb2: 0x000a, 0x1eb3: 0x000a, 0x1eb4: 0x000a, 0x1eb5: 0x000a, + 0x1eb6: 0x000a, 0x1eb7: 0x000a, 0x1eb8: 0x000a, 0x1eb9: 0x000a, 0x1eba: 0x000a, 0x1ebb: 0x000a, + 0x1ebc: 0x000a, 0x1ebd: 0x000a, 0x1ebe: 0x000a, 0x1ebf: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0x000a, 0x1ec1: 0x000a, 0x1ec2: 0x000a, 0x1ec3: 0x000a, 0x1ec4: 0x000a, 0x1ec5: 0x000a, + 0x1ec6: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f0d: 0x000a, 0x1f0e: 0x000a, 0x1f0f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f6f: 0x000c, + 0x1f70: 0x000c, 0x1f71: 0x000c, 0x1f72: 0x000c, 0x1f73: 0x000a, 0x1f74: 0x000c, 0x1f75: 0x000c, + 0x1f76: 0x000c, 0x1f77: 0x000c, 0x1f78: 0x000c, 0x1f79: 0x000c, 0x1f7a: 0x000c, 0x1f7b: 0x000c, + 0x1f7c: 0x000c, 0x1f7d: 0x000c, 0x1f7e: 0x000a, 0x1f7f: 0x000a, + // Block 0x7e, offset 0x1f80 + 0x1f9e: 0x000c, 0x1f9f: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1ff0: 0x000c, 0x1ff1: 0x000c, + // Block 0x80, offset 0x2000 + 0x2000: 0x000a, 0x2001: 0x000a, 0x2002: 0x000a, 0x2003: 0x000a, 0x2004: 0x000a, 0x2005: 0x000a, + 0x2006: 0x000a, 0x2007: 0x000a, 0x2008: 0x000a, 0x2009: 0x000a, 0x200a: 0x000a, 0x200b: 0x000a, + 0x200c: 0x000a, 0x200d: 0x000a, 0x200e: 0x000a, 0x200f: 0x000a, 0x2010: 0x000a, 0x2011: 0x000a, + 0x2012: 0x000a, 0x2013: 0x000a, 0x2014: 0x000a, 0x2015: 0x000a, 0x2016: 0x000a, 0x2017: 0x000a, + 0x2018: 0x000a, 0x2019: 0x000a, 0x201a: 0x000a, 0x201b: 0x000a, 0x201c: 0x000a, 0x201d: 0x000a, + 0x201e: 0x000a, 0x201f: 0x000a, 0x2020: 0x000a, 0x2021: 0x000a, + // Block 0x81, offset 0x2040 + 0x2048: 0x000a, + // Block 0x82, offset 0x2080 + 0x2082: 0x000c, + 0x2086: 0x000c, 0x208b: 0x000c, + 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a8: 0x000a, 0x20a9: 0x000a, + 0x20aa: 0x000a, 0x20ab: 0x000a, 0x20ac: 0x000c, + 0x20b8: 0x0004, 0x20b9: 0x0004, + // Block 0x83, offset 0x20c0 + 0x20f4: 0x000a, 0x20f5: 0x000a, + 0x20f6: 0x000a, 0x20f7: 0x000a, + // Block 0x84, offset 0x2100 + 0x2104: 0x000c, 0x2105: 0x000c, + 0x2120: 0x000c, 0x2121: 0x000c, 0x2122: 0x000c, 0x2123: 0x000c, + 0x2124: 0x000c, 0x2125: 0x000c, 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, 0x212e: 0x000c, 0x212f: 0x000c, + 0x2130: 0x000c, 0x2131: 0x000c, + 0x213f: 0x000c, + // Block 0x85, offset 0x2140 + 0x2166: 0x000c, 0x2167: 0x000c, 0x2168: 0x000c, 0x2169: 0x000c, + 0x216a: 0x000c, 0x216b: 0x000c, 0x216c: 0x000c, 0x216d: 0x000c, + // Block 0x86, offset 0x2180 + 0x2187: 0x000c, 0x2188: 0x000c, 0x2189: 0x000c, 0x218a: 0x000c, 0x218b: 0x000c, + 0x218c: 0x000c, 0x218d: 0x000c, 0x218e: 0x000c, 0x218f: 0x000c, 0x2190: 0x000c, 0x2191: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21c0: 0x000c, 0x21c1: 0x000c, 0x21c2: 0x000c, + 0x21f3: 0x000c, + 0x21f6: 0x000c, 0x21f7: 0x000c, 0x21f8: 0x000c, 0x21f9: 0x000c, + 0x21fc: 0x000c, 0x21fd: 0x000c, + // Block 0x88, offset 0x2200 + 0x2225: 0x000c, + // Block 0x89, offset 0x2240 + 0x2269: 0x000c, + 0x226a: 0x000c, 0x226b: 0x000c, 0x226c: 0x000c, 0x226d: 0x000c, 0x226e: 0x000c, + 0x2271: 0x000c, 0x2272: 0x000c, 0x2275: 0x000c, + 0x2276: 0x000c, + // Block 0x8a, offset 0x2280 + 0x2283: 0x000c, + 0x228c: 0x000c, + 0x22bc: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22f0: 0x000c, 0x22f2: 0x000c, 0x22f3: 0x000c, 0x22f4: 0x000c, + 0x22f7: 0x000c, 0x22f8: 0x000c, + 0x22fe: 0x000c, 0x22ff: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2301: 0x000c, + 0x232c: 0x000c, 0x232d: 0x000c, + 0x2336: 0x000c, + // Block 0x8d, offset 0x2340 + 0x236a: 0x000a, 0x236b: 0x000a, + // Block 0x8e, offset 0x2380 + 0x23a5: 0x000c, 0x23a8: 0x000c, + 0x23ad: 0x000c, + // Block 0x8f, offset 0x23c0 + 0x23dd: 0x0001, + 0x23de: 0x000c, 0x23df: 0x0001, 0x23e0: 0x0001, 0x23e1: 0x0001, 0x23e2: 0x0001, 0x23e3: 0x0001, + 0x23e4: 0x0001, 0x23e5: 0x0001, 0x23e6: 0x0001, 0x23e7: 0x0001, 0x23e8: 0x0001, 0x23e9: 0x0003, + 0x23ea: 0x0001, 0x23eb: 0x0001, 0x23ec: 0x0001, 0x23ed: 0x0001, 0x23ee: 0x0001, 0x23ef: 0x0001, + 0x23f0: 0x0001, 0x23f1: 0x0001, 0x23f2: 0x0001, 0x23f3: 0x0001, 0x23f4: 0x0001, 0x23f5: 0x0001, + 0x23f6: 0x0001, 0x23f7: 0x0001, 0x23f8: 0x0001, 0x23f9: 0x0001, 0x23fa: 0x0001, 0x23fb: 0x0001, + 0x23fc: 0x0001, 0x23fd: 0x0001, 0x23fe: 0x0001, 0x23ff: 0x0001, + // Block 0x90, offset 0x2400 + 0x2400: 0x0001, 0x2401: 0x0001, 0x2402: 0x0001, 0x2403: 0x0001, 0x2404: 0x0001, 0x2405: 0x0001, + 0x2406: 0x0001, 0x2407: 0x0001, 0x2408: 0x0001, 0x2409: 0x0001, 0x240a: 0x0001, 0x240b: 0x0001, + 0x240c: 0x0001, 0x240d: 0x0001, 0x240e: 0x0001, 0x240f: 0x0001, 0x2410: 0x000d, 0x2411: 0x000d, + 0x2412: 0x000d, 0x2413: 0x000d, 0x2414: 0x000d, 0x2415: 0x000d, 0x2416: 0x000d, 0x2417: 0x000d, + 0x2418: 0x000d, 0x2419: 0x000d, 0x241a: 0x000d, 0x241b: 0x000d, 0x241c: 0x000d, 0x241d: 0x000d, + 0x241e: 0x000d, 0x241f: 0x000d, 0x2420: 0x000d, 0x2421: 0x000d, 0x2422: 0x000d, 0x2423: 0x000d, + 0x2424: 0x000d, 0x2425: 0x000d, 0x2426: 0x000d, 0x2427: 0x000d, 0x2428: 0x000d, 0x2429: 0x000d, + 0x242a: 0x000d, 0x242b: 0x000d, 0x242c: 0x000d, 0x242d: 0x000d, 0x242e: 0x000d, 0x242f: 0x000d, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000d, 0x243e: 0x000d, 0x243f: 0x000d, + // Block 0x91, offset 0x2440 + 0x2440: 0x000d, 0x2441: 0x000d, 0x2442: 0x000d, 0x2443: 0x000d, 0x2444: 0x000d, 0x2445: 0x000d, + 0x2446: 0x000d, 0x2447: 0x000d, 0x2448: 0x000d, 0x2449: 0x000d, 0x244a: 0x000d, 0x244b: 0x000d, + 0x244c: 0x000d, 0x244d: 0x000d, 0x244e: 0x000d, 0x244f: 0x000d, 0x2450: 0x000d, 0x2451: 0x000d, + 0x2452: 0x000d, 0x2453: 0x000d, 0x2454: 0x000d, 0x2455: 0x000d, 0x2456: 0x000d, 0x2457: 0x000d, + 0x2458: 0x000d, 0x2459: 0x000d, 0x245a: 0x000d, 0x245b: 0x000d, 0x245c: 0x000d, 0x245d: 0x000d, + 0x245e: 0x000d, 0x245f: 0x000d, 0x2460: 0x000d, 0x2461: 0x000d, 0x2462: 0x000d, 0x2463: 0x000d, + 0x2464: 0x000d, 0x2465: 0x000d, 0x2466: 0x000d, 0x2467: 0x000d, 0x2468: 0x000d, 0x2469: 0x000d, + 0x246a: 0x000d, 0x246b: 0x000d, 0x246c: 0x000d, 0x246d: 0x000d, 0x246e: 0x000d, 0x246f: 0x000d, + 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d, + 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d, + 0x247c: 0x000d, 0x247d: 0x000d, 0x247e: 0x000a, 0x247f: 0x000a, + // Block 0x92, offset 0x2480 + 0x2480: 0x000d, 0x2481: 0x000d, 0x2482: 0x000d, 0x2483: 0x000d, 0x2484: 0x000d, 0x2485: 0x000d, + 0x2486: 0x000d, 0x2487: 0x000d, 0x2488: 0x000d, 0x2489: 0x000d, 0x248a: 0x000d, 0x248b: 0x000d, + 0x248c: 0x000d, 0x248d: 0x000d, 0x248e: 0x000d, 0x248f: 0x000d, 0x2490: 0x000b, 0x2491: 0x000b, + 0x2492: 0x000b, 0x2493: 0x000b, 0x2494: 0x000b, 0x2495: 0x000b, 0x2496: 0x000b, 0x2497: 0x000b, + 0x2498: 0x000b, 0x2499: 0x000b, 0x249a: 0x000b, 0x249b: 0x000b, 0x249c: 0x000b, 0x249d: 0x000b, + 0x249e: 0x000b, 0x249f: 0x000b, 0x24a0: 0x000b, 0x24a1: 0x000b, 0x24a2: 0x000b, 0x24a3: 0x000b, + 0x24a4: 0x000b, 0x24a5: 0x000b, 0x24a6: 0x000b, 0x24a7: 0x000b, 0x24a8: 0x000b, 0x24a9: 0x000b, + 0x24aa: 0x000b, 0x24ab: 0x000b, 0x24ac: 0x000b, 0x24ad: 0x000b, 0x24ae: 0x000b, 0x24af: 0x000b, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000a, 0x24be: 0x000d, 0x24bf: 0x000d, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000c, 0x24c1: 0x000c, 0x24c2: 0x000c, 0x24c3: 0x000c, 0x24c4: 0x000c, 0x24c5: 0x000c, + 0x24c6: 0x000c, 0x24c7: 0x000c, 0x24c8: 0x000c, 0x24c9: 0x000c, 0x24ca: 0x000c, 0x24cb: 0x000c, + 0x24cc: 0x000c, 0x24cd: 0x000c, 0x24ce: 0x000c, 0x24cf: 0x000c, 0x24d0: 0x000a, 0x24d1: 0x000a, + 0x24d2: 0x000a, 0x24d3: 0x000a, 0x24d4: 0x000a, 0x24d5: 0x000a, 0x24d6: 0x000a, 0x24d7: 0x000a, + 0x24d8: 0x000a, 0x24d9: 0x000a, + 0x24e0: 0x000c, 0x24e1: 0x000c, 0x24e2: 0x000c, 0x24e3: 0x000c, + 0x24e4: 0x000c, 0x24e5: 0x000c, 0x24e6: 0x000c, 0x24e7: 0x000c, 0x24e8: 0x000c, 0x24e9: 0x000c, + 0x24ea: 0x000c, 0x24eb: 0x000c, 0x24ec: 0x000c, 0x24ed: 0x000c, 0x24ee: 0x000c, 0x24ef: 0x000c, + 0x24f0: 0x000a, 0x24f1: 0x000a, 0x24f2: 0x000a, 0x24f3: 0x000a, 0x24f4: 0x000a, 0x24f5: 0x000a, + 0x24f6: 0x000a, 0x24f7: 0x000a, 0x24f8: 0x000a, 0x24f9: 0x000a, 0x24fa: 0x000a, 0x24fb: 0x000a, + 0x24fc: 0x000a, 0x24fd: 0x000a, 0x24fe: 0x000a, 0x24ff: 0x000a, + // Block 0x94, offset 0x2500 + 0x2500: 0x000a, 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x000a, 0x2504: 0x000a, 0x2505: 0x000a, + 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x000a, 0x2509: 0x000a, 0x250a: 0x000a, 0x250b: 0x000a, + 0x250c: 0x000a, 0x250d: 0x000a, 0x250e: 0x000a, 0x250f: 0x000a, 0x2510: 0x0006, 0x2511: 0x000a, + 0x2512: 0x0006, 0x2514: 0x000a, 0x2515: 0x0006, 0x2516: 0x000a, 0x2517: 0x000a, + 0x2518: 0x000a, 0x2519: 0x009a, 0x251a: 0x008a, 0x251b: 0x007a, 0x251c: 0x006a, 0x251d: 0x009a, + 0x251e: 0x008a, 0x251f: 0x0004, 0x2520: 0x000a, 0x2521: 0x000a, 0x2522: 0x0003, 0x2523: 0x0003, + 0x2524: 0x000a, 0x2525: 0x000a, 0x2526: 0x000a, 0x2528: 0x000a, 0x2529: 0x0004, + 0x252a: 0x0004, 0x252b: 0x000a, + 0x2530: 0x000d, 0x2531: 0x000d, 0x2532: 0x000d, 0x2533: 0x000d, 0x2534: 0x000d, 0x2535: 0x000d, + 0x2536: 0x000d, 0x2537: 0x000d, 0x2538: 0x000d, 0x2539: 0x000d, 0x253a: 0x000d, 0x253b: 0x000d, + 0x253c: 0x000d, 0x253d: 0x000d, 0x253e: 0x000d, 0x253f: 0x000d, + // Block 0x95, offset 0x2540 + 0x2540: 0x000d, 0x2541: 0x000d, 0x2542: 0x000d, 0x2543: 0x000d, 0x2544: 0x000d, 0x2545: 0x000d, + 0x2546: 0x000d, 0x2547: 0x000d, 0x2548: 0x000d, 0x2549: 0x000d, 0x254a: 0x000d, 0x254b: 0x000d, + 0x254c: 0x000d, 0x254d: 0x000d, 0x254e: 0x000d, 0x254f: 0x000d, 0x2550: 0x000d, 0x2551: 0x000d, + 0x2552: 0x000d, 0x2553: 0x000d, 0x2554: 0x000d, 0x2555: 0x000d, 0x2556: 0x000d, 0x2557: 0x000d, + 0x2558: 0x000d, 0x2559: 0x000d, 0x255a: 0x000d, 0x255b: 0x000d, 0x255c: 0x000d, 0x255d: 0x000d, + 0x255e: 0x000d, 0x255f: 0x000d, 0x2560: 0x000d, 0x2561: 0x000d, 0x2562: 0x000d, 0x2563: 0x000d, + 0x2564: 0x000d, 0x2565: 0x000d, 0x2566: 0x000d, 0x2567: 0x000d, 0x2568: 0x000d, 0x2569: 0x000d, + 0x256a: 0x000d, 0x256b: 0x000d, 0x256c: 0x000d, 0x256d: 0x000d, 0x256e: 0x000d, 0x256f: 0x000d, + 0x2570: 0x000d, 0x2571: 0x000d, 0x2572: 0x000d, 0x2573: 0x000d, 0x2574: 0x000d, 0x2575: 0x000d, + 0x2576: 0x000d, 0x2577: 0x000d, 0x2578: 0x000d, 0x2579: 0x000d, 0x257a: 0x000d, 0x257b: 0x000d, + 0x257c: 0x000d, 0x257d: 0x000d, 0x257e: 0x000d, 0x257f: 0x000b, + // Block 0x96, offset 0x2580 + 0x2581: 0x000a, 0x2582: 0x000a, 0x2583: 0x0004, 0x2584: 0x0004, 0x2585: 0x0004, + 0x2586: 0x000a, 0x2587: 0x000a, 0x2588: 0x003a, 0x2589: 0x002a, 0x258a: 0x000a, 0x258b: 0x0003, + 0x258c: 0x0006, 0x258d: 0x0003, 0x258e: 0x0006, 0x258f: 0x0006, 0x2590: 0x0002, 0x2591: 0x0002, + 0x2592: 0x0002, 0x2593: 0x0002, 0x2594: 0x0002, 0x2595: 0x0002, 0x2596: 0x0002, 0x2597: 0x0002, + 0x2598: 0x0002, 0x2599: 0x0002, 0x259a: 0x0006, 0x259b: 0x000a, 0x259c: 0x000a, 0x259d: 0x000a, + 0x259e: 0x000a, 0x259f: 0x000a, 0x25a0: 0x000a, + 0x25bb: 0x005a, + 0x25bc: 0x000a, 0x25bd: 0x004a, 0x25be: 0x000a, 0x25bf: 0x000a, + // Block 0x97, offset 0x25c0 + 0x25c0: 0x000a, + 0x25db: 0x005a, 0x25dc: 0x000a, 0x25dd: 0x004a, + 0x25de: 0x000a, 0x25df: 0x00fa, 0x25e0: 0x00ea, 0x25e1: 0x000a, 0x25e2: 0x003a, 0x25e3: 0x002a, + 0x25e4: 0x000a, 0x25e5: 0x000a, + // Block 0x98, offset 0x2600 + 0x2620: 0x0004, 0x2621: 0x0004, 0x2622: 0x000a, 0x2623: 0x000a, + 0x2624: 0x000a, 0x2625: 0x0004, 0x2626: 0x0004, 0x2628: 0x000a, 0x2629: 0x000a, + 0x262a: 0x000a, 0x262b: 0x000a, 0x262c: 0x000a, 0x262d: 0x000a, 0x262e: 0x000a, + 0x2630: 0x000b, 0x2631: 0x000b, 0x2632: 0x000b, 0x2633: 0x000b, 0x2634: 0x000b, 0x2635: 0x000b, + 0x2636: 0x000b, 0x2637: 0x000b, 0x2638: 0x000b, 0x2639: 0x000a, 0x263a: 0x000a, 0x263b: 0x000a, + 0x263c: 0x000a, 0x263d: 0x000a, 0x263e: 0x000b, 0x263f: 0x000b, + // Block 0x99, offset 0x2640 + 0x2641: 0x000a, + // Block 0x9a, offset 0x2680 + 0x2680: 0x000a, 0x2681: 0x000a, 0x2682: 0x000a, 0x2683: 0x000a, 0x2684: 0x000a, 0x2685: 0x000a, + 0x2686: 0x000a, 0x2687: 0x000a, 0x2688: 0x000a, 0x2689: 0x000a, 0x268a: 0x000a, 0x268b: 0x000a, + 0x268c: 0x000a, 0x2690: 0x000a, 0x2691: 0x000a, + 0x2692: 0x000a, 0x2693: 0x000a, 0x2694: 0x000a, 0x2695: 0x000a, 0x2696: 0x000a, 0x2697: 0x000a, + 0x2698: 0x000a, 0x2699: 0x000a, 0x269a: 0x000a, 0x269b: 0x000a, 0x269c: 0x000a, + 0x26a0: 0x000a, + // Block 0x9b, offset 0x26c0 + 0x26fd: 0x000c, + // Block 0x9c, offset 0x2700 + 0x2720: 0x000c, 0x2721: 0x0002, 0x2722: 0x0002, 0x2723: 0x0002, + 0x2724: 0x0002, 0x2725: 0x0002, 0x2726: 0x0002, 0x2727: 0x0002, 0x2728: 0x0002, 0x2729: 0x0002, + 0x272a: 0x0002, 0x272b: 0x0002, 0x272c: 0x0002, 0x272d: 0x0002, 0x272e: 0x0002, 0x272f: 0x0002, + 0x2730: 0x0002, 0x2731: 0x0002, 0x2732: 0x0002, 0x2733: 0x0002, 0x2734: 0x0002, 0x2735: 0x0002, + 0x2736: 0x0002, 0x2737: 0x0002, 0x2738: 0x0002, 0x2739: 0x0002, 0x273a: 0x0002, 0x273b: 0x0002, + // Block 0x9d, offset 0x2740 + 0x2776: 0x000c, 0x2777: 0x000c, 0x2778: 0x000c, 0x2779: 0x000c, 0x277a: 0x000c, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001, + 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x000a, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x000c, 0x2802: 0x000c, 0x2803: 0x000c, 0x2804: 0x0001, 0x2805: 0x000c, + 0x2806: 0x000c, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x000c, 0x280d: 0x000c, 0x280e: 0x000c, 0x280f: 0x000c, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x000c, 0x2839: 0x000c, 0x283a: 0x000c, 0x283b: 0x0001, + 0x283c: 0x0001, 0x283d: 0x0001, 0x283e: 0x0001, 0x283f: 0x000c, + // Block 0xa1, offset 0x2840 + 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, + 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, + 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, + 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, + 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, + 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0001, 0x2861: 0x0001, 0x2862: 0x0001, 0x2863: 0x0001, + 0x2864: 0x0001, 0x2865: 0x000c, 0x2866: 0x000c, 0x2867: 0x0001, 0x2868: 0x0001, 0x2869: 0x0001, + 0x286a: 0x0001, 0x286b: 0x0001, 0x286c: 0x0001, 0x286d: 0x0001, 0x286e: 0x0001, 0x286f: 0x0001, + 0x2870: 0x0001, 0x2871: 0x0001, 0x2872: 0x0001, 0x2873: 0x0001, 0x2874: 0x0001, 0x2875: 0x0001, + 0x2876: 0x0001, 0x2877: 0x0001, 0x2878: 0x0001, 0x2879: 0x0001, 0x287a: 0x0001, 0x287b: 0x0001, + 0x287c: 0x0001, 0x287d: 0x0001, 0x287e: 0x0001, 0x287f: 0x0001, + // Block 0xa2, offset 0x2880 + 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, + 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, + 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, + 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, + 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, + 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0001, 0x28a1: 0x0001, 0x28a2: 0x0001, 0x28a3: 0x0001, + 0x28a4: 0x0001, 0x28a5: 0x0001, 0x28a6: 0x0001, 0x28a7: 0x0001, 0x28a8: 0x0001, 0x28a9: 0x0001, + 0x28aa: 0x0001, 0x28ab: 0x0001, 0x28ac: 0x0001, 0x28ad: 0x0001, 0x28ae: 0x0001, 0x28af: 0x0001, + 0x28b0: 0x0001, 0x28b1: 0x0001, 0x28b2: 0x0001, 0x28b3: 0x0001, 0x28b4: 0x0001, 0x28b5: 0x0001, + 0x28b6: 0x0001, 0x28b7: 0x0001, 0x28b8: 0x0001, 0x28b9: 0x000a, 0x28ba: 0x000a, 0x28bb: 0x000a, + 0x28bc: 0x000a, 0x28bd: 0x000a, 0x28be: 0x000a, 0x28bf: 0x000a, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x000d, 0x28c1: 0x000d, 0x28c2: 0x000d, 0x28c3: 0x000d, 0x28c4: 0x000d, 0x28c5: 0x000d, + 0x28c6: 0x000d, 0x28c7: 0x000d, 0x28c8: 0x000d, 0x28c9: 0x000d, 0x28ca: 0x000d, 0x28cb: 0x000d, + 0x28cc: 0x000d, 0x28cd: 0x000d, 0x28ce: 0x000d, 0x28cf: 0x000d, 0x28d0: 0x000d, 0x28d1: 0x000d, + 0x28d2: 0x000d, 0x28d3: 0x000d, 0x28d4: 0x000d, 0x28d5: 0x000d, 0x28d6: 0x000d, 0x28d7: 0x000d, + 0x28d8: 0x000d, 0x28d9: 0x000d, 0x28da: 0x000d, 0x28db: 0x000d, 0x28dc: 0x000d, 0x28dd: 0x000d, + 0x28de: 0x000d, 0x28df: 0x000d, 0x28e0: 0x000d, 0x28e1: 0x000d, 0x28e2: 0x000d, 0x28e3: 0x000d, + 0x28e4: 0x000c, 0x28e5: 0x000c, 0x28e6: 0x000c, 0x28e7: 0x000c, 0x28e8: 0x000d, 0x28e9: 0x000d, + 0x28ea: 0x000d, 0x28eb: 0x000d, 0x28ec: 0x000d, 0x28ed: 0x000d, 0x28ee: 0x000d, 0x28ef: 0x000d, + 0x28f0: 0x0005, 0x28f1: 0x0005, 0x28f2: 0x0005, 0x28f3: 0x0005, 0x28f4: 0x0005, 0x28f5: 0x0005, + 0x28f6: 0x0005, 0x28f7: 0x0005, 0x28f8: 0x0005, 0x28f9: 0x0005, 0x28fa: 0x000d, 0x28fb: 0x000d, + 0x28fc: 0x000d, 0x28fd: 0x000d, 0x28fe: 0x000d, 0x28ff: 0x000d, + // Block 0xa4, offset 0x2900 + 0x2900: 0x0001, 0x2901: 0x0001, 0x2902: 0x0001, 0x2903: 0x0001, 0x2904: 0x0001, 0x2905: 0x0001, + 0x2906: 0x0001, 0x2907: 0x0001, 0x2908: 0x0001, 0x2909: 0x0001, 0x290a: 0x0001, 0x290b: 0x0001, + 0x290c: 0x0001, 0x290d: 0x0001, 0x290e: 0x0001, 0x290f: 0x0001, 0x2910: 0x0001, 0x2911: 0x0001, + 0x2912: 0x0001, 0x2913: 0x0001, 0x2914: 0x0001, 0x2915: 0x0001, 0x2916: 0x0001, 0x2917: 0x0001, + 0x2918: 0x0001, 0x2919: 0x0001, 0x291a: 0x0001, 0x291b: 0x0001, 0x291c: 0x0001, 0x291d: 0x0001, + 0x291e: 0x0001, 0x291f: 0x0001, 0x2920: 0x0005, 0x2921: 0x0005, 0x2922: 0x0005, 0x2923: 0x0005, + 0x2924: 0x0005, 0x2925: 0x0005, 0x2926: 0x0005, 0x2927: 0x0005, 0x2928: 0x0005, 0x2929: 0x0005, + 0x292a: 0x0005, 0x292b: 0x0005, 0x292c: 0x0005, 0x292d: 0x0005, 0x292e: 0x0005, 0x292f: 0x0005, + 0x2930: 0x0005, 0x2931: 0x0005, 0x2932: 0x0005, 0x2933: 0x0005, 0x2934: 0x0005, 0x2935: 0x0005, + 0x2936: 0x0005, 0x2937: 0x0005, 0x2938: 0x0005, 0x2939: 0x0005, 0x293a: 0x0005, 0x293b: 0x0005, + 0x293c: 0x0005, 0x293d: 0x0005, 0x293e: 0x0005, 0x293f: 0x0001, + // Block 0xa5, offset 0x2940 + 0x2940: 0x0001, 0x2941: 0x0001, 0x2942: 0x0001, 0x2943: 0x0001, 0x2944: 0x0001, 0x2945: 0x0001, + 0x2946: 0x0001, 0x2947: 0x0001, 0x2948: 0x0001, 0x2949: 0x0001, 0x294a: 0x0001, 0x294b: 0x0001, + 0x294c: 0x0001, 0x294d: 0x0001, 0x294e: 0x0001, 0x294f: 0x0001, 0x2950: 0x0001, 0x2951: 0x0001, + 0x2952: 0x0001, 0x2953: 0x0001, 0x2954: 0x0001, 0x2955: 0x0001, 0x2956: 0x0001, 0x2957: 0x0001, + 0x2958: 0x0001, 0x2959: 0x0001, 0x295a: 0x0001, 0x295b: 0x0001, 0x295c: 0x0001, 0x295d: 0x0001, + 0x295e: 0x0001, 0x295f: 0x0001, 0x2960: 0x0001, 0x2961: 0x0001, 0x2962: 0x0001, 0x2963: 0x0001, + 0x2964: 0x0001, 0x2965: 0x0001, 0x2966: 0x0001, 0x2967: 0x0001, 0x2968: 0x0001, 0x2969: 0x0001, + 0x296a: 0x0001, 0x296b: 0x000c, 0x296c: 0x000c, 0x296d: 0x0001, 0x296e: 0x0001, 0x296f: 0x0001, + 0x2970: 0x0001, 0x2971: 0x0001, 0x2972: 0x0001, 0x2973: 0x0001, 0x2974: 0x0001, 0x2975: 0x0001, + 0x2976: 0x0001, 0x2977: 0x0001, 0x2978: 0x0001, 0x2979: 0x0001, 0x297a: 0x0001, 0x297b: 0x0001, + 0x297c: 0x0001, 0x297d: 0x0001, 0x297e: 0x0001, 0x297f: 0x0001, + // Block 0xa6, offset 0x2980 + 0x2980: 0x0001, 0x2981: 0x0001, 0x2982: 0x0001, 0x2983: 0x0001, 0x2984: 0x0001, 0x2985: 0x0001, + 0x2986: 0x0001, 0x2987: 0x0001, 0x2988: 0x0001, 0x2989: 0x0001, 0x298a: 0x0001, 0x298b: 0x0001, + 0x298c: 0x0001, 0x298d: 0x0001, 0x298e: 0x0001, 0x298f: 0x0001, 0x2990: 0x0001, 0x2991: 0x0001, + 0x2992: 0x0001, 0x2993: 0x0001, 0x2994: 0x0001, 0x2995: 0x0001, 0x2996: 0x0001, 0x2997: 0x0001, + 0x2998: 0x0001, 0x2999: 0x0001, 0x299a: 0x0001, 0x299b: 0x0001, 0x299c: 0x0001, 0x299d: 0x0001, + 0x299e: 0x0001, 0x299f: 0x0001, 0x29a0: 0x0001, 0x29a1: 0x0001, 0x29a2: 0x0001, 0x29a3: 0x0001, + 0x29a4: 0x0001, 0x29a5: 0x0001, 0x29a6: 0x0001, 0x29a7: 0x0001, 0x29a8: 0x0001, 0x29a9: 0x0001, + 0x29aa: 0x0001, 0x29ab: 0x0001, 0x29ac: 0x0001, 0x29ad: 0x0001, 0x29ae: 0x0001, 0x29af: 0x0001, + 0x29b0: 0x000d, 0x29b1: 0x000d, 0x29b2: 0x000d, 0x29b3: 0x000d, 0x29b4: 0x000d, 0x29b5: 0x000d, + 0x29b6: 0x000d, 0x29b7: 0x000d, 0x29b8: 0x000d, 0x29b9: 0x000d, 0x29ba: 0x000d, 0x29bb: 0x000d, + 0x29bc: 0x000d, 0x29bd: 0x000d, 0x29be: 0x000d, 0x29bf: 0x000d, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x000d, 0x29c1: 0x000d, 0x29c2: 0x000d, 0x29c3: 0x000d, 0x29c4: 0x000d, 0x29c5: 0x000d, + 0x29c6: 0x000c, 0x29c7: 0x000c, 0x29c8: 0x000c, 0x29c9: 0x000c, 0x29ca: 0x000c, 0x29cb: 0x000c, + 0x29cc: 0x000c, 0x29cd: 0x000c, 0x29ce: 0x000c, 0x29cf: 0x000c, 0x29d0: 0x000c, 0x29d1: 0x000d, + 0x29d2: 0x000d, 0x29d3: 0x000d, 0x29d4: 0x000d, 0x29d5: 0x000d, 0x29d6: 0x000d, 0x29d7: 0x000d, + 0x29d8: 0x000d, 0x29d9: 0x000d, 0x29da: 0x000d, 0x29db: 0x000d, 0x29dc: 0x000d, 0x29dd: 0x000d, + 0x29de: 0x000d, 0x29df: 0x000d, 0x29e0: 0x000d, 0x29e1: 0x000d, 0x29e2: 0x000d, 0x29e3: 0x000d, + 0x29e4: 0x000d, 0x29e5: 0x000d, 0x29e6: 0x000d, 0x29e7: 0x000d, 0x29e8: 0x000d, 0x29e9: 0x000d, + 0x29ea: 0x000d, 0x29eb: 0x000d, 0x29ec: 0x000d, 0x29ed: 0x000d, 0x29ee: 0x000d, 0x29ef: 0x000d, + 0x29f0: 0x0001, 0x29f1: 0x0001, 0x29f2: 0x0001, 0x29f3: 0x0001, 0x29f4: 0x0001, 0x29f5: 0x0001, + 0x29f6: 0x0001, 0x29f7: 0x0001, 0x29f8: 0x0001, 0x29f9: 0x0001, 0x29fa: 0x0001, 0x29fb: 0x0001, + 0x29fc: 0x0001, 0x29fd: 0x0001, 0x29fe: 0x0001, 0x29ff: 0x0001, + // Block 0xa8, offset 0x2a00 + 0x2a01: 0x000c, + 0x2a38: 0x000c, 0x2a39: 0x000c, 0x2a3a: 0x000c, 0x2a3b: 0x000c, + 0x2a3c: 0x000c, 0x2a3d: 0x000c, 0x2a3e: 0x000c, 0x2a3f: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a40: 0x000c, 0x2a41: 0x000c, 0x2a42: 0x000c, 0x2a43: 0x000c, 0x2a44: 0x000c, 0x2a45: 0x000c, + 0x2a46: 0x000c, + 0x2a52: 0x000a, 0x2a53: 0x000a, 0x2a54: 0x000a, 0x2a55: 0x000a, 0x2a56: 0x000a, 0x2a57: 0x000a, + 0x2a58: 0x000a, 0x2a59: 0x000a, 0x2a5a: 0x000a, 0x2a5b: 0x000a, 0x2a5c: 0x000a, 0x2a5d: 0x000a, + 0x2a5e: 0x000a, 0x2a5f: 0x000a, 0x2a60: 0x000a, 0x2a61: 0x000a, 0x2a62: 0x000a, 0x2a63: 0x000a, + 0x2a64: 0x000a, 0x2a65: 0x000a, + 0x2a7f: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2a80: 0x000c, 0x2a81: 0x000c, + 0x2ab3: 0x000c, 0x2ab4: 0x000c, 0x2ab5: 0x000c, + 0x2ab6: 0x000c, 0x2ab9: 0x000c, 0x2aba: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2ac0: 0x000c, 0x2ac1: 0x000c, 0x2ac2: 0x000c, + 0x2ae7: 0x000c, 0x2ae8: 0x000c, 0x2ae9: 0x000c, + 0x2aea: 0x000c, 0x2aeb: 0x000c, 0x2aed: 0x000c, 0x2aee: 0x000c, 0x2aef: 0x000c, + 0x2af0: 0x000c, 0x2af1: 0x000c, 0x2af2: 0x000c, 0x2af3: 0x000c, 0x2af4: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b33: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b40: 0x000c, 0x2b41: 0x000c, + 0x2b76: 0x000c, 0x2b77: 0x000c, 0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c, + 0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2b89: 0x000c, 0x2b8a: 0x000c, 0x2b8b: 0x000c, + 0x2b8c: 0x000c, 0x2b8f: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bef: 0x000c, + 0x2bf0: 0x000c, 0x2bf1: 0x000c, 0x2bf4: 0x000c, + 0x2bf6: 0x000c, 0x2bf7: 0x000c, + 0x2bfe: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c1f: 0x000c, 0x2c23: 0x000c, + 0x2c24: 0x000c, 0x2c25: 0x000c, 0x2c26: 0x000c, 0x2c27: 0x000c, 0x2c28: 0x000c, 0x2c29: 0x000c, + 0x2c2a: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c40: 0x000c, + 0x2c66: 0x000c, 0x2c67: 0x000c, 0x2c68: 0x000c, 0x2c69: 0x000c, + 0x2c6a: 0x000c, 0x2c6b: 0x000c, 0x2c6c: 0x000c, + 0x2c70: 0x000c, 0x2c71: 0x000c, 0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2cb8: 0x000c, 0x2cb9: 0x000c, 0x2cba: 0x000c, 0x2cbb: 0x000c, + 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbe: 0x000c, 0x2cbf: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cc2: 0x000c, 0x2cc3: 0x000c, 0x2cc4: 0x000c, + 0x2cc6: 0x000c, + 0x2cde: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c, + 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d3a: 0x000c, + 0x2d3f: 0x000c, + // Block 0xb5, offset 0x2d40 + 0x2d40: 0x000c, 0x2d42: 0x000c, 0x2d43: 0x000c, + // Block 0xb6, offset 0x2d80 + 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c, + 0x2dbc: 0x000c, 0x2dbd: 0x000c, 0x2dbf: 0x000c, + // Block 0xb7, offset 0x2dc0 + 0x2dc0: 0x000c, + 0x2ddc: 0x000c, 0x2ddd: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c, + 0x2e36: 0x000c, 0x2e37: 0x000c, 0x2e38: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, + 0x2e3d: 0x000c, 0x2e3f: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e40: 0x000c, + 0x2e60: 0x000a, 0x2e61: 0x000a, 0x2e62: 0x000a, 0x2e63: 0x000a, + 0x2e64: 0x000a, 0x2e65: 0x000a, 0x2e66: 0x000a, 0x2e67: 0x000a, 0x2e68: 0x000a, 0x2e69: 0x000a, + 0x2e6a: 0x000a, 0x2e6b: 0x000a, 0x2e6c: 0x000a, + // Block 0xba, offset 0x2e80 + 0x2eab: 0x000c, 0x2ead: 0x000c, + 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb7: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2edd: 0x000c, + 0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c, + 0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee7: 0x000c, 0x2ee8: 0x000c, 0x2ee9: 0x000c, + 0x2eea: 0x000c, 0x2eeb: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f2f: 0x000c, + 0x2f30: 0x000c, 0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c, + 0x2f36: 0x000c, 0x2f37: 0x000c, 0x2f39: 0x000c, 0x2f3a: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f7b: 0x000c, + 0x2f7c: 0x000c, 0x2f7e: 0x000c, + // Block 0xbe, offset 0x2f80 + 0x2f83: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2fd4: 0x000c, 0x2fd5: 0x000c, 0x2fd6: 0x000c, 0x2fd7: 0x000c, + 0x2fda: 0x000c, 0x2fdb: 0x000c, + 0x2fe0: 0x000c, + // Block 0xc0, offset 0x3000 + 0x3001: 0x000c, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000c, + 0x3006: 0x000c, 0x3009: 0x000c, 0x300a: 0x000c, + 0x3033: 0x000c, 0x3034: 0x000c, 0x3035: 0x000c, + 0x3036: 0x000c, 0x3037: 0x000c, 0x3038: 0x000c, 0x303b: 0x000c, + 0x303c: 0x000c, 0x303d: 0x000c, 0x303e: 0x000c, + // Block 0xc1, offset 0x3040 + 0x3047: 0x000c, + 0x3051: 0x000c, + 0x3052: 0x000c, 0x3053: 0x000c, 0x3054: 0x000c, 0x3055: 0x000c, 0x3056: 0x000c, + 0x3059: 0x000c, 0x305a: 0x000c, 0x305b: 0x000c, + // Block 0xc2, offset 0x3080 + 0x308a: 0x000c, 0x308b: 0x000c, + 0x308c: 0x000c, 0x308d: 0x000c, 0x308e: 0x000c, 0x308f: 0x000c, 0x3090: 0x000c, 0x3091: 0x000c, + 0x3092: 0x000c, 0x3093: 0x000c, 0x3094: 0x000c, 0x3095: 0x000c, 0x3096: 0x000c, + 0x3098: 0x000c, 0x3099: 0x000c, + // Block 0xc3, offset 0x30c0 + 0x30f0: 0x000c, 0x30f1: 0x000c, 0x30f2: 0x000c, 0x30f3: 0x000c, 0x30f4: 0x000c, 0x30f5: 0x000c, + 0x30f6: 0x000c, 0x30f8: 0x000c, 0x30f9: 0x000c, 0x30fa: 0x000c, 0x30fb: 0x000c, + 0x30fc: 0x000c, 0x30fd: 0x000c, + // Block 0xc4, offset 0x3100 + 0x3112: 0x000c, 0x3113: 0x000c, 0x3114: 0x000c, 0x3115: 0x000c, 0x3116: 0x000c, 0x3117: 0x000c, + 0x3118: 0x000c, 0x3119: 0x000c, 0x311a: 0x000c, 0x311b: 0x000c, 0x311c: 0x000c, 0x311d: 0x000c, + 0x311e: 0x000c, 0x311f: 0x000c, 0x3120: 0x000c, 0x3121: 0x000c, 0x3122: 0x000c, 0x3123: 0x000c, + 0x3124: 0x000c, 0x3125: 0x000c, 0x3126: 0x000c, 0x3127: 0x000c, + 0x312a: 0x000c, 0x312b: 0x000c, 0x312c: 0x000c, 0x312d: 0x000c, 0x312e: 0x000c, 0x312f: 0x000c, + 0x3130: 0x000c, 0x3132: 0x000c, 0x3133: 0x000c, 0x3135: 0x000c, + 0x3136: 0x000c, + // Block 0xc5, offset 0x3140 + 0x3171: 0x000c, 0x3172: 0x000c, 0x3173: 0x000c, 0x3174: 0x000c, 0x3175: 0x000c, + 0x3176: 0x000c, 0x317a: 0x000c, + 0x317c: 0x000c, 0x317d: 0x000c, 0x317f: 0x000c, + // Block 0xc6, offset 0x3180 + 0x3180: 0x000c, 0x3181: 0x000c, 0x3182: 0x000c, 0x3183: 0x000c, 0x3184: 0x000c, 0x3185: 0x000c, + 0x3187: 0x000c, + // Block 0xc7, offset 0x31c0 + 0x31d0: 0x000c, 0x31d1: 0x000c, + 0x31d5: 0x000c, 0x31d7: 0x000c, + // Block 0xc8, offset 0x3200 + 0x3233: 0x000c, 0x3234: 0x000c, + // Block 0xc9, offset 0x3240 + 0x3255: 0x000a, 0x3256: 0x000a, 0x3257: 0x000a, + 0x3258: 0x000a, 0x3259: 0x000a, 0x325a: 0x000a, 0x325b: 0x000a, 0x325c: 0x000a, 0x325d: 0x0004, + 0x325e: 0x0004, 0x325f: 0x0004, 0x3260: 0x0004, 0x3261: 0x000a, 0x3262: 0x000a, 0x3263: 0x000a, + 0x3264: 0x000a, 0x3265: 0x000a, 0x3266: 0x000a, 0x3267: 0x000a, 0x3268: 0x000a, 0x3269: 0x000a, + 0x326a: 0x000a, 0x326b: 0x000a, 0x326c: 0x000a, 0x326d: 0x000a, 0x326e: 0x000a, 0x326f: 0x000a, + 0x3270: 0x000a, 0x3271: 0x000a, + // Block 0xca, offset 0x3280 + 0x32b0: 0x000c, 0x32b1: 0x000c, 0x32b2: 0x000c, 0x32b3: 0x000c, 0x32b4: 0x000c, + // Block 0xcb, offset 0x32c0 + 0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c, + 0x32f6: 0x000c, + // Block 0xcc, offset 0x3300 + 0x330f: 0x000c, + // Block 0xcd, offset 0x3340 + 0x334f: 0x000c, 0x3350: 0x000c, 0x3351: 0x000c, + 0x3352: 0x000c, + // Block 0xce, offset 0x3380 + 0x33a2: 0x000a, + 0x33a4: 0x000c, + // Block 0xcf, offset 0x33c0 + 0x33dd: 0x000c, + 0x33de: 0x000c, 0x33e0: 0x000b, 0x33e1: 0x000b, 0x33e2: 0x000b, 0x33e3: 0x000b, + // Block 0xd0, offset 0x3400 + 0x3427: 0x000c, 0x3428: 0x000c, 0x3429: 0x000c, + 0x3433: 0x000b, 0x3434: 0x000b, 0x3435: 0x000b, + 0x3436: 0x000b, 0x3437: 0x000b, 0x3438: 0x000b, 0x3439: 0x000b, 0x343a: 0x000b, 0x343b: 0x000c, + 0x343c: 0x000c, 0x343d: 0x000c, 0x343e: 0x000c, 0x343f: 0x000c, + // Block 0xd1, offset 0x3440 + 0x3440: 0x000c, 0x3441: 0x000c, 0x3442: 0x000c, 0x3445: 0x000c, + 0x3446: 0x000c, 0x3447: 0x000c, 0x3448: 0x000c, 0x3449: 0x000c, 0x344a: 0x000c, 0x344b: 0x000c, + 0x346a: 0x000c, 0x346b: 0x000c, 0x346c: 0x000c, 0x346d: 0x000c, + // Block 0xd2, offset 0x3480 + 0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000c, 0x3483: 0x000c, 0x3484: 0x000c, 0x3485: 0x000a, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a, + 0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a, + 0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a, + 0x34d2: 0x000a, 0x34d3: 0x000a, 0x34d4: 0x000a, 0x34d5: 0x000a, 0x34d6: 0x000a, + // Block 0xd4, offset 0x3500 + 0x351b: 0x000a, + // Block 0xd5, offset 0x3540 + 0x3555: 0x000a, + // Block 0xd6, offset 0x3580 + 0x358f: 0x000a, + // Block 0xd7, offset 0x35c0 + 0x35c9: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3603: 0x000a, + 0x360e: 0x0002, 0x360f: 0x0002, 0x3610: 0x0002, 0x3611: 0x0002, + 0x3612: 0x0002, 0x3613: 0x0002, 0x3614: 0x0002, 0x3615: 0x0002, 0x3616: 0x0002, 0x3617: 0x0002, + 0x3618: 0x0002, 0x3619: 0x0002, 0x361a: 0x0002, 0x361b: 0x0002, 0x361c: 0x0002, 0x361d: 0x0002, + 0x361e: 0x0002, 0x361f: 0x0002, 0x3620: 0x0002, 0x3621: 0x0002, 0x3622: 0x0002, 0x3623: 0x0002, + 0x3624: 0x0002, 0x3625: 0x0002, 0x3626: 0x0002, 0x3627: 0x0002, 0x3628: 0x0002, 0x3629: 0x0002, + 0x362a: 0x0002, 0x362b: 0x0002, 0x362c: 0x0002, 0x362d: 0x0002, 0x362e: 0x0002, 0x362f: 0x0002, + 0x3630: 0x0002, 0x3631: 0x0002, 0x3632: 0x0002, 0x3633: 0x0002, 0x3634: 0x0002, 0x3635: 0x0002, + 0x3636: 0x0002, 0x3637: 0x0002, 0x3638: 0x0002, 0x3639: 0x0002, 0x363a: 0x0002, 0x363b: 0x0002, + 0x363c: 0x0002, 0x363d: 0x0002, 0x363e: 0x0002, 0x363f: 0x0002, + // Block 0xd9, offset 0x3640 + 0x3640: 0x000c, 0x3641: 0x000c, 0x3642: 0x000c, 0x3643: 0x000c, 0x3644: 0x000c, 0x3645: 0x000c, + 0x3646: 0x000c, 0x3647: 0x000c, 0x3648: 0x000c, 0x3649: 0x000c, 0x364a: 0x000c, 0x364b: 0x000c, + 0x364c: 0x000c, 0x364d: 0x000c, 0x364e: 0x000c, 0x364f: 0x000c, 0x3650: 0x000c, 0x3651: 0x000c, + 0x3652: 0x000c, 0x3653: 0x000c, 0x3654: 0x000c, 0x3655: 0x000c, 0x3656: 0x000c, 0x3657: 0x000c, + 0x3658: 0x000c, 0x3659: 0x000c, 0x365a: 0x000c, 0x365b: 0x000c, 0x365c: 0x000c, 0x365d: 0x000c, + 0x365e: 0x000c, 0x365f: 0x000c, 0x3660: 0x000c, 0x3661: 0x000c, 0x3662: 0x000c, 0x3663: 0x000c, + 0x3664: 0x000c, 0x3665: 0x000c, 0x3666: 0x000c, 0x3667: 0x000c, 0x3668: 0x000c, 0x3669: 0x000c, + 0x366a: 0x000c, 0x366b: 0x000c, 0x366c: 0x000c, 0x366d: 0x000c, 0x366e: 0x000c, 0x366f: 0x000c, + 0x3670: 0x000c, 0x3671: 0x000c, 0x3672: 0x000c, 0x3673: 0x000c, 0x3674: 0x000c, 0x3675: 0x000c, + 0x3676: 0x000c, 0x367b: 0x000c, + 0x367c: 0x000c, 0x367d: 0x000c, 0x367e: 0x000c, 0x367f: 0x000c, + // Block 0xda, offset 0x3680 + 0x3680: 0x000c, 0x3681: 0x000c, 0x3682: 0x000c, 0x3683: 0x000c, 0x3684: 0x000c, 0x3685: 0x000c, + 0x3686: 0x000c, 0x3687: 0x000c, 0x3688: 0x000c, 0x3689: 0x000c, 0x368a: 0x000c, 0x368b: 0x000c, + 0x368c: 0x000c, 0x368d: 0x000c, 0x368e: 0x000c, 0x368f: 0x000c, 0x3690: 0x000c, 0x3691: 0x000c, + 0x3692: 0x000c, 0x3693: 0x000c, 0x3694: 0x000c, 0x3695: 0x000c, 0x3696: 0x000c, 0x3697: 0x000c, + 0x3698: 0x000c, 0x3699: 0x000c, 0x369a: 0x000c, 0x369b: 0x000c, 0x369c: 0x000c, 0x369d: 0x000c, + 0x369e: 0x000c, 0x369f: 0x000c, 0x36a0: 0x000c, 0x36a1: 0x000c, 0x36a2: 0x000c, 0x36a3: 0x000c, + 0x36a4: 0x000c, 0x36a5: 0x000c, 0x36a6: 0x000c, 0x36a7: 0x000c, 0x36a8: 0x000c, 0x36a9: 0x000c, + 0x36aa: 0x000c, 0x36ab: 0x000c, 0x36ac: 0x000c, + 0x36b5: 0x000c, + // Block 0xdb, offset 0x36c0 + 0x36c4: 0x000c, + 0x36db: 0x000c, 0x36dc: 0x000c, 0x36dd: 0x000c, + 0x36de: 0x000c, 0x36df: 0x000c, 0x36e1: 0x000c, 0x36e2: 0x000c, 0x36e3: 0x000c, + 0x36e4: 0x000c, 0x36e5: 0x000c, 0x36e6: 0x000c, 0x36e7: 0x000c, 0x36e8: 0x000c, 0x36e9: 0x000c, + 0x36ea: 0x000c, 0x36eb: 0x000c, 0x36ec: 0x000c, 0x36ed: 0x000c, 0x36ee: 0x000c, 0x36ef: 0x000c, + // Block 0xdc, offset 0x3700 + 0x3700: 0x000c, 0x3701: 0x000c, 0x3702: 0x000c, 0x3703: 0x000c, 0x3704: 0x000c, 0x3705: 0x000c, + 0x3706: 0x000c, 0x3708: 0x000c, 0x3709: 0x000c, 0x370a: 0x000c, 0x370b: 0x000c, + 0x370c: 0x000c, 0x370d: 0x000c, 0x370e: 0x000c, 0x370f: 0x000c, 0x3710: 0x000c, 0x3711: 0x000c, + 0x3712: 0x000c, 0x3713: 0x000c, 0x3714: 0x000c, 0x3715: 0x000c, 0x3716: 0x000c, 0x3717: 0x000c, + 0x3718: 0x000c, 0x371b: 0x000c, 0x371c: 0x000c, 0x371d: 0x000c, + 0x371e: 0x000c, 0x371f: 0x000c, 0x3720: 0x000c, 0x3721: 0x000c, 0x3723: 0x000c, + 0x3724: 0x000c, 0x3726: 0x000c, 0x3727: 0x000c, 0x3728: 0x000c, 0x3729: 0x000c, + 0x372a: 0x000c, + // Block 0xdd, offset 0x3740 + 0x376c: 0x000c, 0x376d: 0x000c, 0x376e: 0x000c, 0x376f: 0x000c, + 0x377f: 0x0004, + // Block 0xde, offset 0x3780 + 0x3780: 0x0001, 0x3781: 0x0001, 0x3782: 0x0001, 0x3783: 0x0001, 0x3784: 0x0001, 0x3785: 0x0001, + 0x3786: 0x0001, 0x3787: 0x0001, 0x3788: 0x0001, 0x3789: 0x0001, 0x378a: 0x0001, 0x378b: 0x0001, + 0x378c: 0x0001, 0x378d: 0x0001, 0x378e: 0x0001, 0x378f: 0x0001, 0x3790: 0x000c, 0x3791: 0x000c, + 0x3792: 0x000c, 0x3793: 0x000c, 0x3794: 0x000c, 0x3795: 0x000c, 0x3796: 0x000c, 0x3797: 0x0001, + 0x3798: 0x0001, 0x3799: 0x0001, 0x379a: 0x0001, 0x379b: 0x0001, 0x379c: 0x0001, 0x379d: 0x0001, + 0x379e: 0x0001, 0x379f: 0x0001, 0x37a0: 0x0001, 0x37a1: 0x0001, 0x37a2: 0x0001, 0x37a3: 0x0001, + 0x37a4: 0x0001, 0x37a5: 0x0001, 0x37a6: 0x0001, 0x37a7: 0x0001, 0x37a8: 0x0001, 0x37a9: 0x0001, + 0x37aa: 0x0001, 0x37ab: 0x0001, 0x37ac: 0x0001, 0x37ad: 0x0001, 0x37ae: 0x0001, 0x37af: 0x0001, + 0x37b0: 0x0001, 0x37b1: 0x0001, 0x37b2: 0x0001, 0x37b3: 0x0001, 0x37b4: 0x0001, 0x37b5: 0x0001, + 0x37b6: 0x0001, 0x37b7: 0x0001, 0x37b8: 0x0001, 0x37b9: 0x0001, 0x37ba: 0x0001, 0x37bb: 0x0001, + 0x37bc: 0x0001, 0x37bd: 0x0001, 0x37be: 0x0001, 0x37bf: 0x0001, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x0001, 0x37c1: 0x0001, 0x37c2: 0x0001, 0x37c3: 0x0001, 0x37c4: 0x000c, 0x37c5: 0x000c, + 0x37c6: 0x000c, 0x37c7: 0x000c, 0x37c8: 0x000c, 0x37c9: 0x000c, 0x37ca: 0x000c, 0x37cb: 0x0001, + 0x37cc: 0x0001, 0x37cd: 0x0001, 0x37ce: 0x0001, 0x37cf: 0x0001, 0x37d0: 0x0001, 0x37d1: 0x0001, + 0x37d2: 0x0001, 0x37d3: 0x0001, 0x37d4: 0x0001, 0x37d5: 0x0001, 0x37d6: 0x0001, 0x37d7: 0x0001, + 0x37d8: 0x0001, 0x37d9: 0x0001, 0x37da: 0x0001, 0x37db: 0x0001, 0x37dc: 0x0001, 0x37dd: 0x0001, + 0x37de: 0x0001, 0x37df: 0x0001, 0x37e0: 0x0001, 0x37e1: 0x0001, 0x37e2: 0x0001, 0x37e3: 0x0001, + 0x37e4: 0x0001, 0x37e5: 0x0001, 0x37e6: 0x0001, 0x37e7: 0x0001, 0x37e8: 0x0001, 0x37e9: 0x0001, + 0x37ea: 0x0001, 0x37eb: 0x0001, 0x37ec: 0x0001, 0x37ed: 0x0001, 0x37ee: 0x0001, 0x37ef: 0x0001, + 0x37f0: 0x0001, 0x37f1: 0x0001, 0x37f2: 0x0001, 0x37f3: 0x0001, 0x37f4: 0x0001, 0x37f5: 0x0001, + 0x37f6: 0x0001, 0x37f7: 0x0001, 0x37f8: 0x0001, 0x37f9: 0x0001, 0x37fa: 0x0001, 0x37fb: 0x0001, + 0x37fc: 0x0001, 0x37fd: 0x0001, 0x37fe: 0x0001, 0x37ff: 0x0001, + // Block 0xe0, offset 0x3800 + 0x3800: 0x000d, 0x3801: 0x000d, 0x3802: 0x000d, 0x3803: 0x000d, 0x3804: 0x000d, 0x3805: 0x000d, + 0x3806: 0x000d, 0x3807: 0x000d, 0x3808: 0x000d, 0x3809: 0x000d, 0x380a: 0x000d, 0x380b: 0x000d, + 0x380c: 0x000d, 0x380d: 0x000d, 0x380e: 0x000d, 0x380f: 0x000d, 0x3810: 0x0001, 0x3811: 0x0001, + 0x3812: 0x0001, 0x3813: 0x0001, 0x3814: 0x0001, 0x3815: 0x0001, 0x3816: 0x0001, 0x3817: 0x0001, + 0x3818: 0x0001, 0x3819: 0x0001, 0x381a: 0x0001, 0x381b: 0x0001, 0x381c: 0x0001, 0x381d: 0x0001, + 0x381e: 0x0001, 0x381f: 0x0001, 0x3820: 0x0001, 0x3821: 0x0001, 0x3822: 0x0001, 0x3823: 0x0001, + 0x3824: 0x0001, 0x3825: 0x0001, 0x3826: 0x0001, 0x3827: 0x0001, 0x3828: 0x0001, 0x3829: 0x0001, + 0x382a: 0x0001, 0x382b: 0x0001, 0x382c: 0x0001, 0x382d: 0x0001, 0x382e: 0x0001, 0x382f: 0x0001, + 0x3830: 0x0001, 0x3831: 0x0001, 0x3832: 0x0001, 0x3833: 0x0001, 0x3834: 0x0001, 0x3835: 0x0001, + 0x3836: 0x0001, 0x3837: 0x0001, 0x3838: 0x0001, 0x3839: 0x0001, 0x383a: 0x0001, 0x383b: 0x0001, + 0x383c: 0x0001, 0x383d: 0x0001, 0x383e: 0x0001, 0x383f: 0x0001, + // Block 0xe1, offset 0x3840 + 0x3840: 0x000d, 0x3841: 0x000d, 0x3842: 0x000d, 0x3843: 0x000d, 0x3844: 0x000d, 0x3845: 0x000d, + 0x3846: 0x000d, 0x3847: 0x000d, 0x3848: 0x000d, 0x3849: 0x000d, 0x384a: 0x000d, 0x384b: 0x000d, + 0x384c: 0x000d, 0x384d: 0x000d, 0x384e: 0x000d, 0x384f: 0x000d, 0x3850: 0x000d, 0x3851: 0x000d, + 0x3852: 0x000d, 0x3853: 0x000d, 0x3854: 0x000d, 0x3855: 0x000d, 0x3856: 0x000d, 0x3857: 0x000d, + 0x3858: 0x000d, 0x3859: 0x000d, 0x385a: 0x000d, 0x385b: 0x000d, 0x385c: 0x000d, 0x385d: 0x000d, + 0x385e: 0x000d, 0x385f: 0x000d, 0x3860: 0x000d, 0x3861: 0x000d, 0x3862: 0x000d, 0x3863: 0x000d, + 0x3864: 0x000d, 0x3865: 0x000d, 0x3866: 0x000d, 0x3867: 0x000d, 0x3868: 0x000d, 0x3869: 0x000d, + 0x386a: 0x000d, 0x386b: 0x000d, 0x386c: 0x000d, 0x386d: 0x000d, 0x386e: 0x000d, 0x386f: 0x000d, + 0x3870: 0x000a, 0x3871: 0x000a, 0x3872: 0x000d, 0x3873: 0x000d, 0x3874: 0x000d, 0x3875: 0x000d, + 0x3876: 0x000d, 0x3877: 0x000d, 0x3878: 0x000d, 0x3879: 0x000d, 0x387a: 0x000d, 0x387b: 0x000d, + 0x387c: 0x000d, 0x387d: 0x000d, 0x387e: 0x000d, 0x387f: 0x000d, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000a, 0x3881: 0x000a, 0x3882: 0x000a, 0x3883: 0x000a, 0x3884: 0x000a, 0x3885: 0x000a, + 0x3886: 0x000a, 0x3887: 0x000a, 0x3888: 0x000a, 0x3889: 0x000a, 0x388a: 0x000a, 0x388b: 0x000a, + 0x388c: 0x000a, 0x388d: 0x000a, 0x388e: 0x000a, 0x388f: 0x000a, 0x3890: 0x000a, 0x3891: 0x000a, + 0x3892: 0x000a, 0x3893: 0x000a, 0x3894: 0x000a, 0x3895: 0x000a, 0x3896: 0x000a, 0x3897: 0x000a, + 0x3898: 0x000a, 0x3899: 0x000a, 0x389a: 0x000a, 0x389b: 0x000a, 0x389c: 0x000a, 0x389d: 0x000a, + 0x389e: 0x000a, 0x389f: 0x000a, 0x38a0: 0x000a, 0x38a1: 0x000a, 0x38a2: 0x000a, 0x38a3: 0x000a, + 0x38a4: 0x000a, 0x38a5: 0x000a, 0x38a6: 0x000a, 0x38a7: 0x000a, 0x38a8: 0x000a, 0x38a9: 0x000a, + 0x38aa: 0x000a, 0x38ab: 0x000a, + 0x38b0: 0x000a, 0x38b1: 0x000a, 0x38b2: 0x000a, 0x38b3: 0x000a, 0x38b4: 0x000a, 0x38b5: 0x000a, + 0x38b6: 0x000a, 0x38b7: 0x000a, 0x38b8: 0x000a, 0x38b9: 0x000a, 0x38ba: 0x000a, 0x38bb: 0x000a, + 0x38bc: 0x000a, 0x38bd: 0x000a, 0x38be: 0x000a, 0x38bf: 0x000a, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000a, 0x38c1: 0x000a, 0x38c2: 0x000a, 0x38c3: 0x000a, 0x38c4: 0x000a, 0x38c5: 0x000a, + 0x38c6: 0x000a, 0x38c7: 0x000a, 0x38c8: 0x000a, 0x38c9: 0x000a, 0x38ca: 0x000a, 0x38cb: 0x000a, + 0x38cc: 0x000a, 0x38cd: 0x000a, 0x38ce: 0x000a, 0x38cf: 0x000a, 0x38d0: 0x000a, 0x38d1: 0x000a, + 0x38d2: 0x000a, 0x38d3: 0x000a, + 0x38e0: 0x000a, 0x38e1: 0x000a, 0x38e2: 0x000a, 0x38e3: 0x000a, + 0x38e4: 0x000a, 0x38e5: 0x000a, 0x38e6: 0x000a, 0x38e7: 0x000a, 0x38e8: 0x000a, 0x38e9: 0x000a, + 0x38ea: 0x000a, 0x38eb: 0x000a, 0x38ec: 0x000a, 0x38ed: 0x000a, 0x38ee: 0x000a, + 0x38f1: 0x000a, 0x38f2: 0x000a, 0x38f3: 0x000a, 0x38f4: 0x000a, 0x38f5: 0x000a, + 0x38f6: 0x000a, 0x38f7: 0x000a, 0x38f8: 0x000a, 0x38f9: 0x000a, 0x38fa: 0x000a, 0x38fb: 0x000a, + 0x38fc: 0x000a, 0x38fd: 0x000a, 0x38fe: 0x000a, 0x38ff: 0x000a, + // Block 0xe4, offset 0x3900 + 0x3901: 0x000a, 0x3902: 0x000a, 0x3903: 0x000a, 0x3904: 0x000a, 0x3905: 0x000a, + 0x3906: 0x000a, 0x3907: 0x000a, 0x3908: 0x000a, 0x3909: 0x000a, 0x390a: 0x000a, 0x390b: 0x000a, + 0x390c: 0x000a, 0x390d: 0x000a, 0x390e: 0x000a, 0x390f: 0x000a, 0x3911: 0x000a, + 0x3912: 0x000a, 0x3913: 0x000a, 0x3914: 0x000a, 0x3915: 0x000a, 0x3916: 0x000a, 0x3917: 0x000a, + 0x3918: 0x000a, 0x3919: 0x000a, 0x391a: 0x000a, 0x391b: 0x000a, 0x391c: 0x000a, 0x391d: 0x000a, + 0x391e: 0x000a, 0x391f: 0x000a, 0x3920: 0x000a, 0x3921: 0x000a, 0x3922: 0x000a, 0x3923: 0x000a, + 0x3924: 0x000a, 0x3925: 0x000a, 0x3926: 0x000a, 0x3927: 0x000a, 0x3928: 0x000a, 0x3929: 0x000a, + 0x392a: 0x000a, 0x392b: 0x000a, 0x392c: 0x000a, 0x392d: 0x000a, 0x392e: 0x000a, 0x392f: 0x000a, + 0x3930: 0x000a, 0x3931: 0x000a, 0x3932: 0x000a, 0x3933: 0x000a, 0x3934: 0x000a, 0x3935: 0x000a, + // Block 0xe5, offset 0x3940 + 0x3940: 0x0002, 0x3941: 0x0002, 0x3942: 0x0002, 0x3943: 0x0002, 0x3944: 0x0002, 0x3945: 0x0002, + 0x3946: 0x0002, 0x3947: 0x0002, 0x3948: 0x0002, 0x3949: 0x0002, 0x394a: 0x0002, 0x394b: 0x000a, + 0x394c: 0x000a, 0x394d: 0x000a, 0x394e: 0x000a, 0x394f: 0x000a, + 0x396f: 0x000a, + // Block 0xe6, offset 0x3980 + 0x39aa: 0x000a, 0x39ab: 0x000a, 0x39ac: 0x000a, 0x39ad: 0x000a, 0x39ae: 0x000a, 0x39af: 0x000a, + // Block 0xe7, offset 0x39c0 + 0x39ed: 0x000a, + // Block 0xe8, offset 0x3a00 + 0x3a20: 0x000a, 0x3a21: 0x000a, 0x3a22: 0x000a, 0x3a23: 0x000a, + 0x3a24: 0x000a, 0x3a25: 0x000a, + // Block 0xe9, offset 0x3a40 + 0x3a40: 0x000a, 0x3a41: 0x000a, 0x3a42: 0x000a, 0x3a43: 0x000a, 0x3a44: 0x000a, 0x3a45: 0x000a, + 0x3a46: 0x000a, 0x3a47: 0x000a, 0x3a48: 0x000a, 0x3a49: 0x000a, 0x3a4a: 0x000a, 0x3a4b: 0x000a, + 0x3a4c: 0x000a, 0x3a4d: 0x000a, 0x3a4e: 0x000a, 0x3a4f: 0x000a, 0x3a50: 0x000a, 0x3a51: 0x000a, + 0x3a52: 0x000a, 0x3a53: 0x000a, 0x3a54: 0x000a, 0x3a55: 0x000a, 0x3a56: 0x000a, 0x3a57: 0x000a, + 0x3a60: 0x000a, 0x3a61: 0x000a, 0x3a62: 0x000a, 0x3a63: 0x000a, + 0x3a64: 0x000a, 0x3a65: 0x000a, 0x3a66: 0x000a, 0x3a67: 0x000a, 0x3a68: 0x000a, 0x3a69: 0x000a, + 0x3a6a: 0x000a, 0x3a6b: 0x000a, 0x3a6c: 0x000a, + 0x3a70: 0x000a, 0x3a71: 0x000a, 0x3a72: 0x000a, 0x3a73: 0x000a, 0x3a74: 0x000a, 0x3a75: 0x000a, + 0x3a76: 0x000a, 0x3a77: 0x000a, 0x3a78: 0x000a, 0x3a79: 0x000a, 0x3a7a: 0x000a, 0x3a7b: 0x000a, + 0x3a7c: 0x000a, + // Block 0xea, offset 0x3a80 + 0x3a80: 0x000a, 0x3a81: 0x000a, 0x3a82: 0x000a, 0x3a83: 0x000a, 0x3a84: 0x000a, 0x3a85: 0x000a, + 0x3a86: 0x000a, 0x3a87: 0x000a, 0x3a88: 0x000a, 0x3a89: 0x000a, 0x3a8a: 0x000a, 0x3a8b: 0x000a, + 0x3a8c: 0x000a, 0x3a8d: 0x000a, 0x3a8e: 0x000a, 0x3a8f: 0x000a, 0x3a90: 0x000a, 0x3a91: 0x000a, + 0x3a92: 0x000a, 0x3a93: 0x000a, 0x3a94: 0x000a, 0x3a95: 0x000a, 0x3a96: 0x000a, 0x3a97: 0x000a, + 0x3a98: 0x000a, + 0x3aa0: 0x000a, 0x3aa1: 0x000a, 0x3aa2: 0x000a, 0x3aa3: 0x000a, + 0x3aa4: 0x000a, 0x3aa5: 0x000a, 0x3aa6: 0x000a, 0x3aa7: 0x000a, 0x3aa8: 0x000a, 0x3aa9: 0x000a, + 0x3aaa: 0x000a, 0x3aab: 0x000a, + // Block 0xeb, offset 0x3ac0 + 0x3ac0: 0x000a, 0x3ac1: 0x000a, 0x3ac2: 0x000a, 0x3ac3: 0x000a, 0x3ac4: 0x000a, 0x3ac5: 0x000a, + 0x3ac6: 0x000a, 0x3ac7: 0x000a, 0x3ac8: 0x000a, 0x3ac9: 0x000a, 0x3aca: 0x000a, 0x3acb: 0x000a, + 0x3ad0: 0x000a, 0x3ad1: 0x000a, + 0x3ad2: 0x000a, 0x3ad3: 0x000a, 0x3ad4: 0x000a, 0x3ad5: 0x000a, 0x3ad6: 0x000a, 0x3ad7: 0x000a, + 0x3ad8: 0x000a, 0x3ad9: 0x000a, 0x3ada: 0x000a, 0x3adb: 0x000a, 0x3adc: 0x000a, 0x3add: 0x000a, + 0x3ade: 0x000a, 0x3adf: 0x000a, 0x3ae0: 0x000a, 0x3ae1: 0x000a, 0x3ae2: 0x000a, 0x3ae3: 0x000a, + 0x3ae4: 0x000a, 0x3ae5: 0x000a, 0x3ae6: 0x000a, 0x3ae7: 0x000a, 0x3ae8: 0x000a, 0x3ae9: 0x000a, + 0x3aea: 0x000a, 0x3aeb: 0x000a, 0x3aec: 0x000a, 0x3aed: 0x000a, 0x3aee: 0x000a, 0x3aef: 0x000a, + 0x3af0: 0x000a, 0x3af1: 0x000a, 0x3af2: 0x000a, 0x3af3: 0x000a, 0x3af4: 0x000a, 0x3af5: 0x000a, + 0x3af6: 0x000a, 0x3af7: 0x000a, 0x3af8: 0x000a, 0x3af9: 0x000a, 0x3afa: 0x000a, 0x3afb: 0x000a, + 0x3afc: 0x000a, 0x3afd: 0x000a, 0x3afe: 0x000a, 0x3aff: 0x000a, + // Block 0xec, offset 0x3b00 + 0x3b00: 0x000a, 0x3b01: 0x000a, 0x3b02: 0x000a, 0x3b03: 0x000a, 0x3b04: 0x000a, 0x3b05: 0x000a, + 0x3b06: 0x000a, 0x3b07: 0x000a, + 0x3b10: 0x000a, 0x3b11: 0x000a, + 0x3b12: 0x000a, 0x3b13: 0x000a, 0x3b14: 0x000a, 0x3b15: 0x000a, 0x3b16: 0x000a, 0x3b17: 0x000a, + 0x3b18: 0x000a, 0x3b19: 0x000a, + 0x3b20: 0x000a, 0x3b21: 0x000a, 0x3b22: 0x000a, 0x3b23: 0x000a, + 0x3b24: 0x000a, 0x3b25: 0x000a, 0x3b26: 0x000a, 0x3b27: 0x000a, 0x3b28: 0x000a, 0x3b29: 0x000a, + 0x3b2a: 0x000a, 0x3b2b: 0x000a, 0x3b2c: 0x000a, 0x3b2d: 0x000a, 0x3b2e: 0x000a, 0x3b2f: 0x000a, + 0x3b30: 0x000a, 0x3b31: 0x000a, 0x3b32: 0x000a, 0x3b33: 0x000a, 0x3b34: 0x000a, 0x3b35: 0x000a, + 0x3b36: 0x000a, 0x3b37: 0x000a, 0x3b38: 0x000a, 0x3b39: 0x000a, 0x3b3a: 0x000a, 0x3b3b: 0x000a, + 0x3b3c: 0x000a, 0x3b3d: 0x000a, 0x3b3e: 0x000a, 0x3b3f: 0x000a, + // Block 0xed, offset 0x3b40 + 0x3b40: 0x000a, 0x3b41: 0x000a, 0x3b42: 0x000a, 0x3b43: 0x000a, 0x3b44: 0x000a, 0x3b45: 0x000a, + 0x3b46: 0x000a, 0x3b47: 0x000a, + 0x3b50: 0x000a, 0x3b51: 0x000a, + 0x3b52: 0x000a, 0x3b53: 0x000a, 0x3b54: 0x000a, 0x3b55: 0x000a, 0x3b56: 0x000a, 0x3b57: 0x000a, + 0x3b58: 0x000a, 0x3b59: 0x000a, 0x3b5a: 0x000a, 0x3b5b: 0x000a, 0x3b5c: 0x000a, 0x3b5d: 0x000a, + 0x3b5e: 0x000a, 0x3b5f: 0x000a, 0x3b60: 0x000a, 0x3b61: 0x000a, 0x3b62: 0x000a, 0x3b63: 0x000a, + 0x3b64: 0x000a, 0x3b65: 0x000a, 0x3b66: 0x000a, 0x3b67: 0x000a, 0x3b68: 0x000a, 0x3b69: 0x000a, + 0x3b6a: 0x000a, 0x3b6b: 0x000a, 0x3b6c: 0x000a, 0x3b6d: 0x000a, + 0x3b70: 0x000a, 0x3b71: 0x000a, + // Block 0xee, offset 0x3b80 + 0x3b80: 0x000a, 0x3b81: 0x000a, 0x3b82: 0x000a, 0x3b83: 0x000a, 0x3b84: 0x000a, 0x3b85: 0x000a, + 0x3b86: 0x000a, 0x3b87: 0x000a, 0x3b88: 0x000a, 0x3b89: 0x000a, 0x3b8a: 0x000a, 0x3b8b: 0x000a, + 0x3b8c: 0x000a, 0x3b8d: 0x000a, 0x3b8e: 0x000a, 0x3b8f: 0x000a, 0x3b90: 0x000a, 0x3b91: 0x000a, + 0x3b92: 0x000a, 0x3b93: 0x000a, 0x3b94: 0x000a, 0x3b95: 0x000a, 0x3b96: 0x000a, 0x3b97: 0x000a, + 0x3b98: 0x000a, 0x3b99: 0x000a, 0x3b9a: 0x000a, 0x3b9b: 0x000a, 0x3b9c: 0x000a, 0x3b9d: 0x000a, + 0x3b9e: 0x000a, 0x3b9f: 0x000a, 0x3ba0: 0x000a, 0x3ba1: 0x000a, 0x3ba2: 0x000a, 0x3ba3: 0x000a, + 0x3ba4: 0x000a, 0x3ba5: 0x000a, 0x3ba6: 0x000a, 0x3ba7: 0x000a, 0x3ba8: 0x000a, 0x3ba9: 0x000a, + 0x3baa: 0x000a, 0x3bab: 0x000a, 0x3bac: 0x000a, 0x3bad: 0x000a, 0x3bae: 0x000a, 0x3baf: 0x000a, + 0x3bb0: 0x000a, 0x3bb1: 0x000a, 0x3bb2: 0x000a, 0x3bb3: 0x000a, 0x3bb4: 0x000a, 0x3bb5: 0x000a, + 0x3bb6: 0x000a, 0x3bb7: 0x000a, 0x3bb8: 0x000a, 0x3bba: 0x000a, 0x3bbb: 0x000a, + 0x3bbc: 0x000a, 0x3bbd: 0x000a, 0x3bbe: 0x000a, 0x3bbf: 0x000a, + // Block 0xef, offset 0x3bc0 + 0x3bc0: 0x000a, 0x3bc1: 0x000a, 0x3bc2: 0x000a, 0x3bc3: 0x000a, 0x3bc4: 0x000a, 0x3bc5: 0x000a, + 0x3bc6: 0x000a, 0x3bc7: 0x000a, 0x3bc8: 0x000a, 0x3bc9: 0x000a, 0x3bca: 0x000a, 0x3bcb: 0x000a, + 0x3bcd: 0x000a, 0x3bce: 0x000a, 0x3bcf: 0x000a, 0x3bd0: 0x000a, 0x3bd1: 0x000a, + 0x3bd2: 0x000a, 0x3bd3: 0x000a, 0x3bd4: 0x000a, 0x3bd5: 0x000a, 0x3bd6: 0x000a, 0x3bd7: 0x000a, + 0x3bd8: 0x000a, 0x3bd9: 0x000a, 0x3bda: 0x000a, 0x3bdb: 0x000a, 0x3bdc: 0x000a, 0x3bdd: 0x000a, + 0x3bde: 0x000a, 0x3bdf: 0x000a, 0x3be0: 0x000a, 0x3be1: 0x000a, 0x3be2: 0x000a, 0x3be3: 0x000a, + 0x3be4: 0x000a, 0x3be5: 0x000a, 0x3be6: 0x000a, 0x3be7: 0x000a, 0x3be8: 0x000a, 0x3be9: 0x000a, + 0x3bea: 0x000a, 0x3beb: 0x000a, 0x3bec: 0x000a, 0x3bed: 0x000a, 0x3bee: 0x000a, 0x3bef: 0x000a, + 0x3bf0: 0x000a, 0x3bf1: 0x000a, 0x3bf2: 0x000a, 0x3bf3: 0x000a, 0x3bf4: 0x000a, 0x3bf5: 0x000a, + 0x3bf6: 0x000a, 0x3bf7: 0x000a, 0x3bf8: 0x000a, 0x3bf9: 0x000a, 0x3bfa: 0x000a, 0x3bfb: 0x000a, + 0x3bfc: 0x000a, 0x3bfd: 0x000a, 0x3bfe: 0x000a, 0x3bff: 0x000a, + // Block 0xf0, offset 0x3c00 + 0x3c00: 0x000a, 0x3c01: 0x000a, 0x3c02: 0x000a, 0x3c03: 0x000a, 0x3c04: 0x000a, 0x3c05: 0x000a, + 0x3c06: 0x000a, 0x3c07: 0x000a, 0x3c08: 0x000a, 0x3c09: 0x000a, 0x3c0a: 0x000a, 0x3c0b: 0x000a, + 0x3c0c: 0x000a, 0x3c0d: 0x000a, 0x3c0e: 0x000a, 0x3c0f: 0x000a, 0x3c10: 0x000a, 0x3c11: 0x000a, + 0x3c12: 0x000a, 0x3c13: 0x000a, + 0x3c20: 0x000a, 0x3c21: 0x000a, 0x3c22: 0x000a, 0x3c23: 0x000a, + 0x3c24: 0x000a, 0x3c25: 0x000a, 0x3c26: 0x000a, 0x3c27: 0x000a, 0x3c28: 0x000a, 0x3c29: 0x000a, + 0x3c2a: 0x000a, 0x3c2b: 0x000a, 0x3c2c: 0x000a, 0x3c2d: 0x000a, + 0x3c30: 0x000a, 0x3c31: 0x000a, 0x3c32: 0x000a, 0x3c33: 0x000a, 0x3c34: 0x000a, + 0x3c38: 0x000a, 0x3c39: 0x000a, 0x3c3a: 0x000a, + // Block 0xf1, offset 0x3c40 + 0x3c40: 0x000a, 0x3c41: 0x000a, 0x3c42: 0x000a, 0x3c43: 0x000a, 0x3c44: 0x000a, 0x3c45: 0x000a, + 0x3c46: 0x000a, + 0x3c50: 0x000a, 0x3c51: 0x000a, + 0x3c52: 0x000a, 0x3c53: 0x000a, 0x3c54: 0x000a, 0x3c55: 0x000a, 0x3c56: 0x000a, 0x3c57: 0x000a, + 0x3c58: 0x000a, 0x3c59: 0x000a, 0x3c5a: 0x000a, 0x3c5b: 0x000a, 0x3c5c: 0x000a, 0x3c5d: 0x000a, + 0x3c5e: 0x000a, 0x3c5f: 0x000a, 0x3c60: 0x000a, 0x3c61: 0x000a, 0x3c62: 0x000a, 0x3c63: 0x000a, + 0x3c64: 0x000a, 0x3c65: 0x000a, 0x3c66: 0x000a, 0x3c67: 0x000a, 0x3c68: 0x000a, + 0x3c70: 0x000a, 0x3c71: 0x000a, 0x3c72: 0x000a, 0x3c73: 0x000a, 0x3c74: 0x000a, 0x3c75: 0x000a, + 0x3c76: 0x000a, + // Block 0xf2, offset 0x3c80 + 0x3c80: 0x000a, 0x3c81: 0x000a, 0x3c82: 0x000a, + 0x3c90: 0x000a, 0x3c91: 0x000a, + 0x3c92: 0x000a, 0x3c93: 0x000a, 0x3c94: 0x000a, 0x3c95: 0x000a, 0x3c96: 0x000a, + // Block 0xf3, offset 0x3cc0 + 0x3cc0: 0x000a, 0x3cc1: 0x000a, 0x3cc2: 0x000a, 0x3cc3: 0x000a, 0x3cc4: 0x000a, 0x3cc5: 0x000a, + 0x3cc6: 0x000a, 0x3cc7: 0x000a, 0x3cc8: 0x000a, 0x3cc9: 0x000a, 0x3cca: 0x000a, 0x3ccb: 0x000a, + 0x3ccc: 0x000a, 0x3ccd: 0x000a, 0x3cce: 0x000a, 0x3ccf: 0x000a, 0x3cd0: 0x000a, 0x3cd1: 0x000a, + 0x3cd2: 0x000a, 0x3cd4: 0x000a, 0x3cd5: 0x000a, 0x3cd6: 0x000a, 0x3cd7: 0x000a, + 0x3cd8: 0x000a, 0x3cd9: 0x000a, 0x3cda: 0x000a, 0x3cdb: 0x000a, 0x3cdc: 0x000a, 0x3cdd: 0x000a, + 0x3cde: 0x000a, 0x3cdf: 0x000a, 0x3ce0: 0x000a, 0x3ce1: 0x000a, 0x3ce2: 0x000a, 0x3ce3: 0x000a, + 0x3ce4: 0x000a, 0x3ce5: 0x000a, 0x3ce6: 0x000a, 0x3ce7: 0x000a, 0x3ce8: 0x000a, 0x3ce9: 0x000a, + 0x3cea: 0x000a, 0x3ceb: 0x000a, 0x3cec: 0x000a, 0x3ced: 0x000a, 0x3cee: 0x000a, 0x3cef: 0x000a, + 0x3cf0: 0x000a, 0x3cf1: 0x000a, 0x3cf2: 0x000a, 0x3cf3: 0x000a, 0x3cf4: 0x000a, 0x3cf5: 0x000a, + 0x3cf6: 0x000a, 0x3cf7: 0x000a, 0x3cf8: 0x000a, 0x3cf9: 0x000a, 0x3cfa: 0x000a, 0x3cfb: 0x000a, + 0x3cfc: 0x000a, 0x3cfd: 0x000a, 0x3cfe: 0x000a, 0x3cff: 0x000a, + // Block 0xf4, offset 0x3d00 + 0x3d00: 0x000a, 0x3d01: 0x000a, 0x3d02: 0x000a, 0x3d03: 0x000a, 0x3d04: 0x000a, 0x3d05: 0x000a, + 0x3d06: 0x000a, 0x3d07: 0x000a, 0x3d08: 0x000a, 0x3d09: 0x000a, 0x3d0a: 0x000a, + 0x3d30: 0x0002, 0x3d31: 0x0002, 0x3d32: 0x0002, 0x3d33: 0x0002, 0x3d34: 0x0002, 0x3d35: 0x0002, + 0x3d36: 0x0002, 0x3d37: 0x0002, 0x3d38: 0x0002, 0x3d39: 0x0002, + // Block 0xf5, offset 0x3d40 + 0x3d7e: 0x000b, 0x3d7f: 0x000b, + // Block 0xf6, offset 0x3d80 + 0x3d80: 0x000b, 0x3d81: 0x000b, 0x3d82: 0x000b, 0x3d83: 0x000b, 0x3d84: 0x000b, 0x3d85: 0x000b, + 0x3d86: 0x000b, 0x3d87: 0x000b, 0x3d88: 0x000b, 0x3d89: 0x000b, 0x3d8a: 0x000b, 0x3d8b: 0x000b, + 0x3d8c: 0x000b, 0x3d8d: 0x000b, 0x3d8e: 0x000b, 0x3d8f: 0x000b, 0x3d90: 0x000b, 0x3d91: 0x000b, + 0x3d92: 0x000b, 0x3d93: 0x000b, 0x3d94: 0x000b, 0x3d95: 0x000b, 0x3d96: 0x000b, 0x3d97: 0x000b, + 0x3d98: 0x000b, 0x3d99: 0x000b, 0x3d9a: 0x000b, 0x3d9b: 0x000b, 0x3d9c: 0x000b, 0x3d9d: 0x000b, + 0x3d9e: 0x000b, 0x3d9f: 0x000b, 0x3da0: 0x000b, 0x3da1: 0x000b, 0x3da2: 0x000b, 0x3da3: 0x000b, + 0x3da4: 0x000b, 0x3da5: 0x000b, 0x3da6: 0x000b, 0x3da7: 0x000b, 0x3da8: 0x000b, 0x3da9: 0x000b, + 0x3daa: 0x000b, 0x3dab: 0x000b, 0x3dac: 0x000b, 0x3dad: 0x000b, 0x3dae: 0x000b, 0x3daf: 0x000b, + 0x3db0: 0x000b, 0x3db1: 0x000b, 0x3db2: 0x000b, 0x3db3: 0x000b, 0x3db4: 0x000b, 0x3db5: 0x000b, + 0x3db6: 0x000b, 0x3db7: 0x000b, 0x3db8: 0x000b, 0x3db9: 0x000b, 0x3dba: 0x000b, 0x3dbb: 0x000b, + 0x3dbc: 0x000b, 0x3dbd: 0x000b, 0x3dbe: 0x000b, 0x3dbf: 0x000b, + // Block 0xf7, offset 0x3dc0 + 0x3dc0: 0x000c, 0x3dc1: 0x000c, 0x3dc2: 0x000c, 0x3dc3: 0x000c, 0x3dc4: 0x000c, 0x3dc5: 0x000c, + 0x3dc6: 0x000c, 0x3dc7: 0x000c, 0x3dc8: 0x000c, 0x3dc9: 0x000c, 0x3dca: 0x000c, 0x3dcb: 0x000c, + 0x3dcc: 0x000c, 0x3dcd: 0x000c, 0x3dce: 0x000c, 0x3dcf: 0x000c, 0x3dd0: 0x000c, 0x3dd1: 0x000c, + 0x3dd2: 0x000c, 0x3dd3: 0x000c, 0x3dd4: 0x000c, 0x3dd5: 0x000c, 0x3dd6: 0x000c, 0x3dd7: 0x000c, + 0x3dd8: 0x000c, 0x3dd9: 0x000c, 0x3dda: 0x000c, 0x3ddb: 0x000c, 0x3ddc: 0x000c, 0x3ddd: 0x000c, + 0x3dde: 0x000c, 0x3ddf: 0x000c, 0x3de0: 0x000c, 0x3de1: 0x000c, 0x3de2: 0x000c, 0x3de3: 0x000c, + 0x3de4: 0x000c, 0x3de5: 0x000c, 0x3de6: 0x000c, 0x3de7: 0x000c, 0x3de8: 0x000c, 0x3de9: 0x000c, + 0x3dea: 0x000c, 0x3deb: 0x000c, 0x3dec: 0x000c, 0x3ded: 0x000c, 0x3dee: 0x000c, 0x3def: 0x000c, + 0x3df0: 0x000b, 0x3df1: 0x000b, 0x3df2: 0x000b, 0x3df3: 0x000b, 0x3df4: 0x000b, 0x3df5: 0x000b, + 0x3df6: 0x000b, 0x3df7: 0x000b, 0x3df8: 0x000b, 0x3df9: 0x000b, 0x3dfa: 0x000b, 0x3dfb: 0x000b, + 0x3dfc: 0x000b, 0x3dfd: 0x000b, 0x3dfe: 0x000b, 0x3dff: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x136: 0x28, 0x137: 0x29, + 0x138: 0x2a, 0x139: 0x2b, 0x13a: 0x2c, 0x13b: 0x2d, 0x13c: 0x2e, 0x13d: 0x2f, 0x13e: 0x30, 0x13f: 0x31, + // Block 0x5, offset 0x140 + 0x140: 0x32, 0x141: 0x33, 0x142: 0x34, + 0x14d: 0x35, 0x14e: 0x36, + 0x150: 0x37, + 0x15a: 0x38, 0x15c: 0x39, 0x15d: 0x3a, 0x15e: 0x3b, 0x15f: 0x3c, + 0x160: 0x3d, 0x162: 0x3e, 0x164: 0x3f, 0x165: 0x40, 0x167: 0x41, + 0x168: 0x42, 0x169: 0x43, 0x16a: 0x44, 0x16b: 0x45, 0x16c: 0x46, 0x16d: 0x47, 0x16e: 0x48, 0x16f: 0x49, + 0x170: 0x4a, 0x173: 0x4b, 0x177: 0x4c, + 0x17e: 0x4d, 0x17f: 0x4e, + // Block 0x6, offset 0x180 + 0x180: 0x4f, 0x181: 0x50, 0x182: 0x51, 0x183: 0x52, 0x184: 0x53, 0x185: 0x54, 0x186: 0x55, 0x187: 0x56, + 0x188: 0x57, 0x189: 0x56, 0x18a: 0x56, 0x18b: 0x56, 0x18c: 0x58, 0x18d: 0x59, 0x18e: 0x5a, 0x18f: 0x56, + 0x190: 0x5b, 0x191: 0x5c, 0x192: 0x5d, 0x193: 0x5e, 0x194: 0x56, 0x195: 0x56, 0x196: 0x56, 0x197: 0x56, + 0x198: 0x56, 0x199: 0x56, 0x19a: 0x5f, 0x19b: 0x56, 0x19c: 0x56, 0x19d: 0x60, 0x19e: 0x56, 0x19f: 0x61, + 0x1a4: 0x56, 0x1a5: 0x56, 0x1a6: 0x62, 0x1a7: 0x63, + 0x1a8: 0x56, 0x1a9: 0x56, 0x1aa: 0x56, 0x1ab: 0x56, 0x1ac: 0x56, 0x1ad: 0x64, 0x1ae: 0x65, 0x1af: 0x56, + 0x1b3: 0x66, 0x1b5: 0x67, 0x1b7: 0x68, + 0x1b8: 0x69, 0x1b9: 0x6a, 0x1ba: 0x6b, 0x1bb: 0x6c, 0x1bc: 0x56, 0x1bd: 0x56, 0x1be: 0x56, 0x1bf: 0x6d, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6e, 0x1c2: 0x6f, 0x1c3: 0x70, 0x1c7: 0x71, + 0x1c8: 0x72, 0x1c9: 0x73, 0x1ca: 0x74, 0x1cb: 0x75, 0x1cd: 0x76, 0x1cf: 0x77, + // Block 0x8, offset 0x200 + 0x237: 0x56, + // Block 0x9, offset 0x240 + 0x252: 0x78, 0x253: 0x79, + 0x258: 0x7a, 0x259: 0x7b, 0x25a: 0x7c, 0x25b: 0x7d, 0x25c: 0x7e, 0x25e: 0x7f, + 0x260: 0x80, 0x261: 0x81, 0x263: 0x82, 0x264: 0x83, 0x265: 0x84, 0x266: 0x85, 0x267: 0x86, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26d: 0x8b, 0x26f: 0x8c, + // Block 0xa, offset 0x280 + 0x2ac: 0x8d, 0x2ad: 0x8e, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8f, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x90, + 0x2b8: 0x91, 0x2b9: 0x92, 0x2ba: 0x0e, 0x2bb: 0x93, 0x2bc: 0x94, 0x2bd: 0x95, 0x2bf: 0x96, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x97, 0x2c5: 0x56, 0x2c6: 0x98, 0x2c7: 0x99, + 0x2cb: 0x9a, 0x2cd: 0x9b, + 0x2e0: 0x9c, 0x2e1: 0x9c, 0x2e2: 0x9c, 0x2e3: 0x9c, 0x2e4: 0x9d, 0x2e5: 0x9c, 0x2e6: 0x9c, 0x2e7: 0x9c, + 0x2e8: 0x9e, 0x2e9: 0x9c, 0x2ea: 0x9c, 0x2eb: 0x9f, 0x2ec: 0xa0, 0x2ed: 0x9c, 0x2ee: 0x9c, 0x2ef: 0x9c, + 0x2f0: 0x9c, 0x2f1: 0x9c, 0x2f2: 0x9c, 0x2f3: 0x9c, 0x2f4: 0xa1, 0x2f5: 0x9c, 0x2f6: 0x9c, 0x2f7: 0x9c, + 0x2f8: 0x9c, 0x2f9: 0xa2, 0x2fa: 0xa3, 0x2fb: 0x9c, 0x2fc: 0xa4, 0x2fd: 0xa5, 0x2fe: 0x9c, 0x2ff: 0x9c, + // Block 0xc, offset 0x300 + 0x300: 0xa6, 0x301: 0xa7, 0x302: 0xa8, 0x304: 0xa9, 0x305: 0xaa, 0x306: 0xab, 0x307: 0xac, + 0x308: 0xad, 0x30b: 0xae, 0x30c: 0x26, 0x30d: 0xaf, + 0x310: 0xb0, 0x311: 0xb1, 0x312: 0xb2, 0x313: 0xb3, 0x316: 0xb4, 0x317: 0xb5, + 0x318: 0xb6, 0x319: 0xb7, 0x31a: 0xb8, 0x31c: 0xb9, + 0x320: 0xba, 0x324: 0xbb, 0x325: 0xbc, 0x327: 0xbd, + 0x328: 0xbe, 0x329: 0xbf, 0x32a: 0xc0, + 0x330: 0xc1, 0x332: 0xc2, 0x334: 0xc3, 0x335: 0xc4, 0x336: 0xc5, + 0x33b: 0xc6, 0x33f: 0xc7, + // Block 0xd, offset 0x340 + 0x36b: 0xc8, 0x36c: 0xc9, + 0x37d: 0xca, 0x37e: 0xcb, 0x37f: 0xcc, + // Block 0xe, offset 0x380 + 0x3b2: 0xcd, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xce, 0x3c6: 0xcf, + 0x3c8: 0x56, 0x3c9: 0xd0, 0x3cc: 0x56, 0x3cd: 0xd1, + 0x3db: 0xd2, 0x3dc: 0xd3, 0x3dd: 0xd4, 0x3de: 0xd5, 0x3df: 0xd6, + 0x3e8: 0xd7, 0x3e9: 0xd8, 0x3ea: 0xd9, + // Block 0x10, offset 0x400 + 0x400: 0xda, 0x404: 0xc9, + 0x40b: 0xdb, + 0x420: 0x9c, 0x421: 0x9c, 0x422: 0x9c, 0x423: 0xdc, 0x424: 0x9c, 0x425: 0xdd, 0x426: 0x9c, 0x427: 0x9c, + 0x428: 0x9c, 0x429: 0x9c, 0x42a: 0x9c, 0x42b: 0x9c, 0x42c: 0x9c, 0x42d: 0x9c, 0x42e: 0x9c, 0x42f: 0x9c, + 0x430: 0x9c, 0x431: 0xa4, 0x432: 0x0e, 0x433: 0x9c, 0x434: 0x0e, 0x435: 0xde, 0x436: 0x9c, 0x437: 0x9c, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xdf, 0x43c: 0x9c, 0x43d: 0x9c, 0x43e: 0x9c, 0x43f: 0x9c, + // Block 0x11, offset 0x440 + 0x440: 0xe0, 0x441: 0x56, 0x442: 0xe1, 0x443: 0xe2, 0x444: 0xe3, 0x445: 0xe4, 0x446: 0xe5, + 0x449: 0xe6, 0x44c: 0x56, 0x44d: 0x56, 0x44e: 0x56, 0x44f: 0x56, + 0x450: 0x56, 0x451: 0x56, 0x452: 0x56, 0x453: 0x56, 0x454: 0x56, 0x455: 0x56, 0x456: 0x56, 0x457: 0x56, + 0x458: 0x56, 0x459: 0x56, 0x45a: 0x56, 0x45b: 0xe7, 0x45c: 0x56, 0x45d: 0x6c, 0x45e: 0x56, 0x45f: 0xe8, + 0x460: 0xe9, 0x461: 0xea, 0x462: 0xeb, 0x464: 0x56, 0x465: 0xec, 0x466: 0x56, 0x467: 0xed, + 0x468: 0x56, 0x469: 0xee, 0x46a: 0xef, 0x46b: 0xf0, 0x46c: 0x56, 0x46d: 0x56, 0x46e: 0xf1, 0x46f: 0xf2, + 0x47f: 0xf3, + // Block 0x12, offset 0x480 + 0x4bf: 0xf3, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xf4, 0x541: 0xf4, 0x542: 0xf4, 0x543: 0xf4, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xf5, + 0x548: 0xf4, 0x549: 0xf4, 0x54a: 0xf4, 0x54b: 0xf4, 0x54c: 0xf4, 0x54d: 0xf4, 0x54e: 0xf4, 0x54f: 0xf4, + 0x550: 0xf4, 0x551: 0xf4, 0x552: 0xf4, 0x553: 0xf4, 0x554: 0xf4, 0x555: 0xf4, 0x556: 0xf4, 0x557: 0xf4, + 0x558: 0xf4, 0x559: 0xf4, 0x55a: 0xf4, 0x55b: 0xf4, 0x55c: 0xf4, 0x55d: 0xf4, 0x55e: 0xf4, 0x55f: 0xf4, + 0x560: 0xf4, 0x561: 0xf4, 0x562: 0xf4, 0x563: 0xf4, 0x564: 0xf4, 0x565: 0xf4, 0x566: 0xf4, 0x567: 0xf4, + 0x568: 0xf4, 0x569: 0xf4, 0x56a: 0xf4, 0x56b: 0xf4, 0x56c: 0xf4, 0x56d: 0xf4, 0x56e: 0xf4, 0x56f: 0xf4, + 0x570: 0xf4, 0x571: 0xf4, 0x572: 0xf4, 0x573: 0xf4, 0x574: 0xf4, 0x575: 0xf4, 0x576: 0xf4, 0x577: 0xf4, + 0x578: 0xf4, 0x579: 0xf4, 0x57a: 0xf4, 0x57b: 0xf4, 0x57c: 0xf4, 0x57d: 0xf4, 0x57e: 0xf4, 0x57f: 0xf4, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 17464 bytes (17KiB); checksum: F50EF68C diff --git a/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go new file mode 100644 index 000000000..f517fdb20 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go @@ -0,0 +1,1782 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build !go1.10 +// +build !go1.10 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 15744 bytes (15.38 KiB). Checksum: b4c3b70954803b86. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 222 blocks, 14208 entries, 14208 bytes +// The third block is the zero block. +var bidiValues = [14208]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x0001, 0x5e1: 0x0001, 0x5e2: 0x0001, 0x5e3: 0x0001, + 0x5e4: 0x0001, 0x5e5: 0x0001, 0x5e6: 0x0001, 0x5e7: 0x0001, 0x5e8: 0x0001, 0x5e9: 0x0001, + 0x5ea: 0x0001, 0x5eb: 0x0001, 0x5ec: 0x0001, 0x5ed: 0x0001, 0x5ee: 0x0001, 0x5ef: 0x0001, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa01: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, 0x16e7: 0x000a, 0x16e8: 0x000a, 0x16e9: 0x000a, + 0x16ea: 0x000a, 0x16eb: 0x000a, 0x16ec: 0x000a, 0x16ed: 0x000a, 0x16ee: 0x000a, 0x16ef: 0x000a, + 0x16f0: 0x000a, 0x16f1: 0x000a, 0x16f2: 0x000a, 0x16f3: 0x000a, 0x16f4: 0x000a, 0x16f5: 0x000a, + 0x16f6: 0x000a, 0x16f7: 0x000a, 0x16f8: 0x000a, 0x16f9: 0x000a, 0x16fa: 0x000a, 0x16fb: 0x000a, + 0x16fc: 0x000a, 0x16fd: 0x000a, 0x16fe: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, 0x170b: 0x000a, + 0x170c: 0x000a, 0x170d: 0x000a, 0x170e: 0x000a, 0x170f: 0x000a, 0x1710: 0x000a, 0x1711: 0x000a, + 0x1712: 0x000a, 0x1713: 0x000a, 0x1714: 0x000a, 0x1715: 0x000a, 0x1716: 0x000a, 0x1717: 0x000a, + 0x1718: 0x000a, 0x1719: 0x000a, 0x171a: 0x000a, 0x171b: 0x000a, 0x171c: 0x000a, 0x171d: 0x000a, + 0x171e: 0x000a, 0x171f: 0x000a, 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x000a, 0x1749: 0x000a, 0x174a: 0x000a, + 0x1760: 0x000a, 0x1761: 0x000a, 0x1762: 0x000a, 0x1763: 0x000a, + 0x1764: 0x000a, 0x1765: 0x000a, 0x1766: 0x000a, 0x1767: 0x000a, 0x1768: 0x000a, 0x1769: 0x000a, + 0x176a: 0x000a, 0x176b: 0x000a, 0x176c: 0x000a, 0x176d: 0x000a, 0x176e: 0x000a, 0x176f: 0x000a, + 0x1770: 0x000a, 0x1771: 0x000a, 0x1772: 0x000a, 0x1773: 0x000a, 0x1774: 0x000a, 0x1775: 0x000a, + 0x1776: 0x000a, 0x1777: 0x000a, 0x1778: 0x000a, 0x1779: 0x000a, 0x177a: 0x000a, 0x177b: 0x000a, + 0x177c: 0x000a, 0x177d: 0x000a, 0x177e: 0x000a, 0x177f: 0x000a, + // Block 0x5e, offset 0x1780 + 0x1780: 0x000a, 0x1781: 0x000a, 0x1782: 0x000a, 0x1783: 0x000a, 0x1784: 0x000a, 0x1785: 0x000a, + 0x1786: 0x000a, 0x1787: 0x000a, 0x1788: 0x0002, 0x1789: 0x0002, 0x178a: 0x0002, 0x178b: 0x0002, + 0x178c: 0x0002, 0x178d: 0x0002, 0x178e: 0x0002, 0x178f: 0x0002, 0x1790: 0x0002, 0x1791: 0x0002, + 0x1792: 0x0002, 0x1793: 0x0002, 0x1794: 0x0002, 0x1795: 0x0002, 0x1796: 0x0002, 0x1797: 0x0002, + 0x1798: 0x0002, 0x1799: 0x0002, 0x179a: 0x0002, 0x179b: 0x0002, + // Block 0x5f, offset 0x17c0 + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ec: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x000a, 0x1829: 0x000a, + 0x182a: 0x000a, 0x182b: 0x000a, 0x182d: 0x000a, 0x182e: 0x000a, 0x182f: 0x000a, + 0x1830: 0x000a, 0x1831: 0x000a, 0x1832: 0x000a, 0x1833: 0x000a, 0x1834: 0x000a, 0x1835: 0x000a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x000a, + 0x1846: 0x000a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x000a, 0x1867: 0x000a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x003a, 0x1871: 0x002a, 0x1872: 0x003a, 0x1873: 0x002a, 0x1874: 0x003a, 0x1875: 0x002a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x000a, 0x1884: 0x000a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x000a, 0x1888: 0x000a, 0x1889: 0x000a, 0x188a: 0x000a, 0x188b: 0x000a, + 0x188c: 0x000a, 0x188d: 0x000a, 0x188e: 0x000a, 0x188f: 0x000a, 0x1890: 0x000a, 0x1891: 0x000a, + 0x1892: 0x000a, 0x1893: 0x000a, 0x1894: 0x000a, 0x1895: 0x000a, 0x1896: 0x000a, 0x1897: 0x000a, + 0x1898: 0x000a, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x003a, 0x18a7: 0x002a, 0x18a8: 0x003a, 0x18a9: 0x002a, + 0x18aa: 0x003a, 0x18ab: 0x002a, 0x18ac: 0x003a, 0x18ad: 0x002a, 0x18ae: 0x003a, 0x18af: 0x002a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x007a, 0x18c4: 0x006a, 0x18c5: 0x009a, + 0x18c6: 0x008a, 0x18c7: 0x00ba, 0x18c8: 0x00aa, 0x18c9: 0x009a, 0x18ca: 0x008a, 0x18cb: 0x007a, + 0x18cc: 0x006a, 0x18cd: 0x00da, 0x18ce: 0x002a, 0x18cf: 0x003a, 0x18d0: 0x00ca, 0x18d1: 0x009a, + 0x18d2: 0x008a, 0x18d3: 0x007a, 0x18d4: 0x006a, 0x18d5: 0x009a, 0x18d6: 0x008a, 0x18d7: 0x00ba, + 0x18d8: 0x00aa, 0x18d9: 0x000a, 0x18da: 0x000a, 0x18db: 0x000a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x000a, 0x18fd: 0x000a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x003a, 0x1919: 0x002a, 0x191a: 0x003a, 0x191b: 0x002a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1934: 0x000a, 0x1935: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x003a, 0x193d: 0x002a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1956: 0x000a, 0x1957: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, + 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x1989: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a, + 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a, + 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a, + 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, + 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a, + 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a, + 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x000a, 0x19c1: 0x000a, 0x19c2: 0x000a, 0x19c3: 0x000a, 0x19c4: 0x000a, 0x19c5: 0x000a, + 0x19c6: 0x000a, 0x19c7: 0x000a, 0x19c8: 0x000a, 0x19ca: 0x000a, 0x19cb: 0x000a, + 0x19cc: 0x000a, 0x19cd: 0x000a, 0x19ce: 0x000a, 0x19cf: 0x000a, 0x19d0: 0x000a, 0x19d1: 0x000a, + 0x19ec: 0x000a, 0x19ed: 0x000a, 0x19ee: 0x000a, 0x19ef: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a25: 0x000a, 0x1a26: 0x000a, 0x1a27: 0x000a, 0x1a28: 0x000a, 0x1a29: 0x000a, + 0x1a2a: 0x000a, 0x1a2f: 0x000c, + 0x1a30: 0x000c, 0x1a31: 0x000c, + 0x1a39: 0x000a, 0x1a3a: 0x000a, 0x1a3b: 0x000a, + 0x1a3c: 0x000a, 0x1a3d: 0x000a, 0x1a3e: 0x000a, 0x1a3f: 0x000a, + // Block 0x69, offset 0x1a40 + 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1aa0: 0x000c, 0x1aa1: 0x000c, 0x1aa2: 0x000c, 0x1aa3: 0x000c, + 0x1aa4: 0x000c, 0x1aa5: 0x000c, 0x1aa6: 0x000c, 0x1aa7: 0x000c, 0x1aa8: 0x000c, 0x1aa9: 0x000c, + 0x1aaa: 0x000c, 0x1aab: 0x000c, 0x1aac: 0x000c, 0x1aad: 0x000c, 0x1aae: 0x000c, 0x1aaf: 0x000c, + 0x1ab0: 0x000c, 0x1ab1: 0x000c, 0x1ab2: 0x000c, 0x1ab3: 0x000c, 0x1ab4: 0x000c, 0x1ab5: 0x000c, + 0x1ab6: 0x000c, 0x1ab7: 0x000c, 0x1ab8: 0x000c, 0x1ab9: 0x000c, 0x1aba: 0x000c, 0x1abb: 0x000c, + 0x1abc: 0x000c, 0x1abd: 0x000c, 0x1abe: 0x000c, 0x1abf: 0x000c, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, + 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a, + 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a, + 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1ada: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a, + 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x003a, 0x1ae3: 0x002a, + 0x1ae4: 0x003a, 0x1ae5: 0x002a, 0x1ae6: 0x003a, 0x1ae7: 0x002a, 0x1ae8: 0x003a, 0x1ae9: 0x002a, + 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a, + 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a, + 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a, + 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a, + 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a, + 0x1b7c: 0x000a, 0x1b7d: 0x000a, 0x1b7e: 0x000a, 0x1b7f: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, 0x1b96: 0x000a, 0x1b97: 0x000a, + 0x1b98: 0x000a, 0x1b99: 0x000a, 0x1b9a: 0x000a, 0x1b9b: 0x000a, 0x1b9c: 0x000a, 0x1b9d: 0x000a, + 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, 0x1ba1: 0x000a, 0x1ba2: 0x000a, 0x1ba3: 0x000a, + 0x1ba4: 0x000a, 0x1ba5: 0x000a, 0x1ba6: 0x000a, 0x1ba7: 0x000a, 0x1ba8: 0x000a, 0x1ba9: 0x000a, + 0x1baa: 0x000a, 0x1bab: 0x000a, 0x1bac: 0x000a, 0x1bad: 0x000a, 0x1bae: 0x000a, 0x1baf: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x000a, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, 0x1bc5: 0x000a, + 0x1bc6: 0x000a, 0x1bc7: 0x000a, 0x1bc8: 0x000a, 0x1bc9: 0x000a, 0x1bca: 0x000a, 0x1bcb: 0x000a, + 0x1bcc: 0x000a, 0x1bcd: 0x000a, 0x1bce: 0x000a, 0x1bcf: 0x000a, 0x1bd0: 0x000a, 0x1bd1: 0x000a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x000a, 0x1bd5: 0x000a, + 0x1bf0: 0x000a, 0x1bf1: 0x000a, 0x1bf2: 0x000a, 0x1bf3: 0x000a, 0x1bf4: 0x000a, 0x1bf5: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, 0x1bf8: 0x000a, 0x1bf9: 0x000a, 0x1bfa: 0x000a, 0x1bfb: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x0009, 0x1c01: 0x000a, 0x1c02: 0x000a, 0x1c03: 0x000a, 0x1c04: 0x000a, + 0x1c08: 0x003a, 0x1c09: 0x002a, 0x1c0a: 0x003a, 0x1c0b: 0x002a, + 0x1c0c: 0x003a, 0x1c0d: 0x002a, 0x1c0e: 0x003a, 0x1c0f: 0x002a, 0x1c10: 0x003a, 0x1c11: 0x002a, + 0x1c12: 0x000a, 0x1c13: 0x000a, 0x1c14: 0x003a, 0x1c15: 0x002a, 0x1c16: 0x003a, 0x1c17: 0x002a, + 0x1c18: 0x003a, 0x1c19: 0x002a, 0x1c1a: 0x003a, 0x1c1b: 0x002a, 0x1c1c: 0x000a, 0x1c1d: 0x000a, + 0x1c1e: 0x000a, 0x1c1f: 0x000a, 0x1c20: 0x000a, + 0x1c2a: 0x000c, 0x1c2b: 0x000c, 0x1c2c: 0x000c, 0x1c2d: 0x000c, + 0x1c30: 0x000a, + 0x1c36: 0x000a, 0x1c37: 0x000a, + 0x1c3d: 0x000a, 0x1c3e: 0x000a, 0x1c3f: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c59: 0x000c, 0x1c5a: 0x000c, 0x1c5b: 0x000a, 0x1c5c: 0x000a, + 0x1c60: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1cbb: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x000a, 0x1cc1: 0x000a, 0x1cc2: 0x000a, 0x1cc3: 0x000a, 0x1cc4: 0x000a, 0x1cc5: 0x000a, + 0x1cc6: 0x000a, 0x1cc7: 0x000a, 0x1cc8: 0x000a, 0x1cc9: 0x000a, 0x1cca: 0x000a, 0x1ccb: 0x000a, + 0x1ccc: 0x000a, 0x1ccd: 0x000a, 0x1cce: 0x000a, 0x1ccf: 0x000a, 0x1cd0: 0x000a, 0x1cd1: 0x000a, + 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a, + 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a, + 0x1cde: 0x000a, 0x1cdf: 0x000a, 0x1ce0: 0x000a, 0x1ce1: 0x000a, 0x1ce2: 0x000a, 0x1ce3: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d1d: 0x000a, + 0x1d1e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d50: 0x000a, 0x1d51: 0x000a, + 0x1d52: 0x000a, 0x1d53: 0x000a, 0x1d54: 0x000a, 0x1d55: 0x000a, 0x1d56: 0x000a, 0x1d57: 0x000a, + 0x1d58: 0x000a, 0x1d59: 0x000a, 0x1d5a: 0x000a, 0x1d5b: 0x000a, 0x1d5c: 0x000a, 0x1d5d: 0x000a, + 0x1d5e: 0x000a, 0x1d5f: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1db1: 0x000a, 0x1db2: 0x000a, 0x1db3: 0x000a, 0x1db4: 0x000a, 0x1db5: 0x000a, + 0x1db6: 0x000a, 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, 0x1dbb: 0x000a, + 0x1dbc: 0x000a, 0x1dbd: 0x000a, 0x1dbe: 0x000a, 0x1dbf: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1dcc: 0x000a, 0x1dcd: 0x000a, 0x1dce: 0x000a, 0x1dcf: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e5e: 0x000a, 0x1e5f: 0x000a, + 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e90: 0x000a, 0x1e91: 0x000a, + 0x1e92: 0x000a, 0x1e93: 0x000a, 0x1e94: 0x000a, 0x1e95: 0x000a, 0x1e96: 0x000a, 0x1e97: 0x000a, + 0x1e98: 0x000a, 0x1e99: 0x000a, 0x1e9a: 0x000a, 0x1e9b: 0x000a, 0x1e9c: 0x000a, 0x1e9d: 0x000a, + 0x1e9e: 0x000a, 0x1e9f: 0x000a, 0x1ea0: 0x000a, 0x1ea1: 0x000a, 0x1ea2: 0x000a, 0x1ea3: 0x000a, + 0x1ea4: 0x000a, 0x1ea5: 0x000a, 0x1ea6: 0x000a, 0x1ea7: 0x000a, 0x1ea8: 0x000a, 0x1ea9: 0x000a, + 0x1eaa: 0x000a, 0x1eab: 0x000a, 0x1eac: 0x000a, 0x1ead: 0x000a, 0x1eae: 0x000a, 0x1eaf: 0x000a, + 0x1eb0: 0x000a, 0x1eb1: 0x000a, 0x1eb2: 0x000a, 0x1eb3: 0x000a, 0x1eb4: 0x000a, 0x1eb5: 0x000a, + 0x1eb6: 0x000a, 0x1eb7: 0x000a, 0x1eb8: 0x000a, 0x1eb9: 0x000a, 0x1eba: 0x000a, 0x1ebb: 0x000a, + 0x1ebc: 0x000a, 0x1ebd: 0x000a, 0x1ebe: 0x000a, 0x1ebf: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0x000a, 0x1ec1: 0x000a, 0x1ec2: 0x000a, 0x1ec3: 0x000a, 0x1ec4: 0x000a, 0x1ec5: 0x000a, + 0x1ec6: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f0d: 0x000a, 0x1f0e: 0x000a, 0x1f0f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f6f: 0x000c, + 0x1f70: 0x000c, 0x1f71: 0x000c, 0x1f72: 0x000c, 0x1f73: 0x000a, 0x1f74: 0x000c, 0x1f75: 0x000c, + 0x1f76: 0x000c, 0x1f77: 0x000c, 0x1f78: 0x000c, 0x1f79: 0x000c, 0x1f7a: 0x000c, 0x1f7b: 0x000c, + 0x1f7c: 0x000c, 0x1f7d: 0x000c, 0x1f7e: 0x000a, 0x1f7f: 0x000a, + // Block 0x7e, offset 0x1f80 + 0x1f9e: 0x000c, 0x1f9f: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1ff0: 0x000c, 0x1ff1: 0x000c, + // Block 0x80, offset 0x2000 + 0x2000: 0x000a, 0x2001: 0x000a, 0x2002: 0x000a, 0x2003: 0x000a, 0x2004: 0x000a, 0x2005: 0x000a, + 0x2006: 0x000a, 0x2007: 0x000a, 0x2008: 0x000a, 0x2009: 0x000a, 0x200a: 0x000a, 0x200b: 0x000a, + 0x200c: 0x000a, 0x200d: 0x000a, 0x200e: 0x000a, 0x200f: 0x000a, 0x2010: 0x000a, 0x2011: 0x000a, + 0x2012: 0x000a, 0x2013: 0x000a, 0x2014: 0x000a, 0x2015: 0x000a, 0x2016: 0x000a, 0x2017: 0x000a, + 0x2018: 0x000a, 0x2019: 0x000a, 0x201a: 0x000a, 0x201b: 0x000a, 0x201c: 0x000a, 0x201d: 0x000a, + 0x201e: 0x000a, 0x201f: 0x000a, 0x2020: 0x000a, 0x2021: 0x000a, + // Block 0x81, offset 0x2040 + 0x2048: 0x000a, + // Block 0x82, offset 0x2080 + 0x2082: 0x000c, + 0x2086: 0x000c, 0x208b: 0x000c, + 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a8: 0x000a, 0x20a9: 0x000a, + 0x20aa: 0x000a, 0x20ab: 0x000a, + 0x20b8: 0x0004, 0x20b9: 0x0004, + // Block 0x83, offset 0x20c0 + 0x20f4: 0x000a, 0x20f5: 0x000a, + 0x20f6: 0x000a, 0x20f7: 0x000a, + // Block 0x84, offset 0x2100 + 0x2104: 0x000c, 0x2105: 0x000c, + 0x2120: 0x000c, 0x2121: 0x000c, 0x2122: 0x000c, 0x2123: 0x000c, + 0x2124: 0x000c, 0x2125: 0x000c, 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, 0x212e: 0x000c, 0x212f: 0x000c, + 0x2130: 0x000c, 0x2131: 0x000c, + // Block 0x85, offset 0x2140 + 0x2166: 0x000c, 0x2167: 0x000c, 0x2168: 0x000c, 0x2169: 0x000c, + 0x216a: 0x000c, 0x216b: 0x000c, 0x216c: 0x000c, 0x216d: 0x000c, + // Block 0x86, offset 0x2180 + 0x2187: 0x000c, 0x2188: 0x000c, 0x2189: 0x000c, 0x218a: 0x000c, 0x218b: 0x000c, + 0x218c: 0x000c, 0x218d: 0x000c, 0x218e: 0x000c, 0x218f: 0x000c, 0x2190: 0x000c, 0x2191: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21c0: 0x000c, 0x21c1: 0x000c, 0x21c2: 0x000c, + 0x21f3: 0x000c, + 0x21f6: 0x000c, 0x21f7: 0x000c, 0x21f8: 0x000c, 0x21f9: 0x000c, + 0x21fc: 0x000c, + // Block 0x88, offset 0x2200 + 0x2225: 0x000c, + // Block 0x89, offset 0x2240 + 0x2269: 0x000c, + 0x226a: 0x000c, 0x226b: 0x000c, 0x226c: 0x000c, 0x226d: 0x000c, 0x226e: 0x000c, + 0x2271: 0x000c, 0x2272: 0x000c, 0x2275: 0x000c, + 0x2276: 0x000c, + // Block 0x8a, offset 0x2280 + 0x2283: 0x000c, + 0x228c: 0x000c, + 0x22bc: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22f0: 0x000c, 0x22f2: 0x000c, 0x22f3: 0x000c, 0x22f4: 0x000c, + 0x22f7: 0x000c, 0x22f8: 0x000c, + 0x22fe: 0x000c, 0x22ff: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2301: 0x000c, + 0x232c: 0x000c, 0x232d: 0x000c, + 0x2336: 0x000c, + // Block 0x8d, offset 0x2340 + 0x2365: 0x000c, 0x2368: 0x000c, + 0x236d: 0x000c, + // Block 0x8e, offset 0x2380 + 0x239d: 0x0001, + 0x239e: 0x000c, 0x239f: 0x0001, 0x23a0: 0x0001, 0x23a1: 0x0001, 0x23a2: 0x0001, 0x23a3: 0x0001, + 0x23a4: 0x0001, 0x23a5: 0x0001, 0x23a6: 0x0001, 0x23a7: 0x0001, 0x23a8: 0x0001, 0x23a9: 0x0003, + 0x23aa: 0x0001, 0x23ab: 0x0001, 0x23ac: 0x0001, 0x23ad: 0x0001, 0x23ae: 0x0001, 0x23af: 0x0001, + 0x23b0: 0x0001, 0x23b1: 0x0001, 0x23b2: 0x0001, 0x23b3: 0x0001, 0x23b4: 0x0001, 0x23b5: 0x0001, + 0x23b6: 0x0001, 0x23b7: 0x0001, 0x23b8: 0x0001, 0x23b9: 0x0001, 0x23ba: 0x0001, 0x23bb: 0x0001, + 0x23bc: 0x0001, 0x23bd: 0x0001, 0x23be: 0x0001, 0x23bf: 0x0001, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x0001, 0x23c1: 0x0001, 0x23c2: 0x0001, 0x23c3: 0x0001, 0x23c4: 0x0001, 0x23c5: 0x0001, + 0x23c6: 0x0001, 0x23c7: 0x0001, 0x23c8: 0x0001, 0x23c9: 0x0001, 0x23ca: 0x0001, 0x23cb: 0x0001, + 0x23cc: 0x0001, 0x23cd: 0x0001, 0x23ce: 0x0001, 0x23cf: 0x0001, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, + 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, + 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, + 0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d, + 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000d, 0x23ff: 0x000d, + // Block 0x90, offset 0x2400 + 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, + 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000d, 0x2411: 0x000d, + 0x2412: 0x000d, 0x2413: 0x000d, 0x2414: 0x000d, 0x2415: 0x000d, 0x2416: 0x000d, 0x2417: 0x000d, + 0x2418: 0x000d, 0x2419: 0x000d, 0x241a: 0x000d, 0x241b: 0x000d, 0x241c: 0x000d, 0x241d: 0x000d, + 0x241e: 0x000d, 0x241f: 0x000d, 0x2420: 0x000d, 0x2421: 0x000d, 0x2422: 0x000d, 0x2423: 0x000d, + 0x2424: 0x000d, 0x2425: 0x000d, 0x2426: 0x000d, 0x2427: 0x000d, 0x2428: 0x000d, 0x2429: 0x000d, + 0x242a: 0x000d, 0x242b: 0x000d, 0x242c: 0x000d, 0x242d: 0x000d, 0x242e: 0x000d, 0x242f: 0x000d, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000d, 0x243e: 0x000a, 0x243f: 0x000a, + // Block 0x91, offset 0x2440 + 0x2440: 0x000d, 0x2441: 0x000d, 0x2442: 0x000d, 0x2443: 0x000d, 0x2444: 0x000d, 0x2445: 0x000d, + 0x2446: 0x000d, 0x2447: 0x000d, 0x2448: 0x000d, 0x2449: 0x000d, 0x244a: 0x000d, 0x244b: 0x000d, + 0x244c: 0x000d, 0x244d: 0x000d, 0x244e: 0x000d, 0x244f: 0x000d, 0x2450: 0x000b, 0x2451: 0x000b, + 0x2452: 0x000b, 0x2453: 0x000b, 0x2454: 0x000b, 0x2455: 0x000b, 0x2456: 0x000b, 0x2457: 0x000b, + 0x2458: 0x000b, 0x2459: 0x000b, 0x245a: 0x000b, 0x245b: 0x000b, 0x245c: 0x000b, 0x245d: 0x000b, + 0x245e: 0x000b, 0x245f: 0x000b, 0x2460: 0x000b, 0x2461: 0x000b, 0x2462: 0x000b, 0x2463: 0x000b, + 0x2464: 0x000b, 0x2465: 0x000b, 0x2466: 0x000b, 0x2467: 0x000b, 0x2468: 0x000b, 0x2469: 0x000b, + 0x246a: 0x000b, 0x246b: 0x000b, 0x246c: 0x000b, 0x246d: 0x000b, 0x246e: 0x000b, 0x246f: 0x000b, + 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d, + 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d, + 0x247c: 0x000d, 0x247d: 0x000a, 0x247e: 0x000d, 0x247f: 0x000d, + // Block 0x92, offset 0x2480 + 0x2480: 0x000c, 0x2481: 0x000c, 0x2482: 0x000c, 0x2483: 0x000c, 0x2484: 0x000c, 0x2485: 0x000c, + 0x2486: 0x000c, 0x2487: 0x000c, 0x2488: 0x000c, 0x2489: 0x000c, 0x248a: 0x000c, 0x248b: 0x000c, + 0x248c: 0x000c, 0x248d: 0x000c, 0x248e: 0x000c, 0x248f: 0x000c, 0x2490: 0x000a, 0x2491: 0x000a, + 0x2492: 0x000a, 0x2493: 0x000a, 0x2494: 0x000a, 0x2495: 0x000a, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x000a, + 0x24a0: 0x000c, 0x24a1: 0x000c, 0x24a2: 0x000c, 0x24a3: 0x000c, + 0x24a4: 0x000c, 0x24a5: 0x000c, 0x24a6: 0x000c, 0x24a7: 0x000c, 0x24a8: 0x000c, 0x24a9: 0x000c, + 0x24aa: 0x000c, 0x24ab: 0x000c, 0x24ac: 0x000c, 0x24ad: 0x000c, 0x24ae: 0x000c, 0x24af: 0x000c, + 0x24b0: 0x000a, 0x24b1: 0x000a, 0x24b2: 0x000a, 0x24b3: 0x000a, 0x24b4: 0x000a, 0x24b5: 0x000a, + 0x24b6: 0x000a, 0x24b7: 0x000a, 0x24b8: 0x000a, 0x24b9: 0x000a, 0x24ba: 0x000a, 0x24bb: 0x000a, + 0x24bc: 0x000a, 0x24bd: 0x000a, 0x24be: 0x000a, 0x24bf: 0x000a, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000a, 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x000a, 0x24c4: 0x000a, 0x24c5: 0x000a, + 0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x000a, 0x24c9: 0x000a, 0x24ca: 0x000a, 0x24cb: 0x000a, + 0x24cc: 0x000a, 0x24cd: 0x000a, 0x24ce: 0x000a, 0x24cf: 0x000a, 0x24d0: 0x0006, 0x24d1: 0x000a, + 0x24d2: 0x0006, 0x24d4: 0x000a, 0x24d5: 0x0006, 0x24d6: 0x000a, 0x24d7: 0x000a, + 0x24d8: 0x000a, 0x24d9: 0x009a, 0x24da: 0x008a, 0x24db: 0x007a, 0x24dc: 0x006a, 0x24dd: 0x009a, + 0x24de: 0x008a, 0x24df: 0x0004, 0x24e0: 0x000a, 0x24e1: 0x000a, 0x24e2: 0x0003, 0x24e3: 0x0003, + 0x24e4: 0x000a, 0x24e5: 0x000a, 0x24e6: 0x000a, 0x24e8: 0x000a, 0x24e9: 0x0004, + 0x24ea: 0x0004, 0x24eb: 0x000a, + 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, + 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000d, + // Block 0x94, offset 0x2500 + 0x2500: 0x000d, 0x2501: 0x000d, 0x2502: 0x000d, 0x2503: 0x000d, 0x2504: 0x000d, 0x2505: 0x000d, + 0x2506: 0x000d, 0x2507: 0x000d, 0x2508: 0x000d, 0x2509: 0x000d, 0x250a: 0x000d, 0x250b: 0x000d, + 0x250c: 0x000d, 0x250d: 0x000d, 0x250e: 0x000d, 0x250f: 0x000d, 0x2510: 0x000d, 0x2511: 0x000d, + 0x2512: 0x000d, 0x2513: 0x000d, 0x2514: 0x000d, 0x2515: 0x000d, 0x2516: 0x000d, 0x2517: 0x000d, + 0x2518: 0x000d, 0x2519: 0x000d, 0x251a: 0x000d, 0x251b: 0x000d, 0x251c: 0x000d, 0x251d: 0x000d, + 0x251e: 0x000d, 0x251f: 0x000d, 0x2520: 0x000d, 0x2521: 0x000d, 0x2522: 0x000d, 0x2523: 0x000d, + 0x2524: 0x000d, 0x2525: 0x000d, 0x2526: 0x000d, 0x2527: 0x000d, 0x2528: 0x000d, 0x2529: 0x000d, + 0x252a: 0x000d, 0x252b: 0x000d, 0x252c: 0x000d, 0x252d: 0x000d, 0x252e: 0x000d, 0x252f: 0x000d, + 0x2530: 0x000d, 0x2531: 0x000d, 0x2532: 0x000d, 0x2533: 0x000d, 0x2534: 0x000d, 0x2535: 0x000d, + 0x2536: 0x000d, 0x2537: 0x000d, 0x2538: 0x000d, 0x2539: 0x000d, 0x253a: 0x000d, 0x253b: 0x000d, + 0x253c: 0x000d, 0x253d: 0x000d, 0x253e: 0x000d, 0x253f: 0x000b, + // Block 0x95, offset 0x2540 + 0x2541: 0x000a, 0x2542: 0x000a, 0x2543: 0x0004, 0x2544: 0x0004, 0x2545: 0x0004, + 0x2546: 0x000a, 0x2547: 0x000a, 0x2548: 0x003a, 0x2549: 0x002a, 0x254a: 0x000a, 0x254b: 0x0003, + 0x254c: 0x0006, 0x254d: 0x0003, 0x254e: 0x0006, 0x254f: 0x0006, 0x2550: 0x0002, 0x2551: 0x0002, + 0x2552: 0x0002, 0x2553: 0x0002, 0x2554: 0x0002, 0x2555: 0x0002, 0x2556: 0x0002, 0x2557: 0x0002, + 0x2558: 0x0002, 0x2559: 0x0002, 0x255a: 0x0006, 0x255b: 0x000a, 0x255c: 0x000a, 0x255d: 0x000a, + 0x255e: 0x000a, 0x255f: 0x000a, 0x2560: 0x000a, + 0x257b: 0x005a, + 0x257c: 0x000a, 0x257d: 0x004a, 0x257e: 0x000a, 0x257f: 0x000a, + // Block 0x96, offset 0x2580 + 0x2580: 0x000a, + 0x259b: 0x005a, 0x259c: 0x000a, 0x259d: 0x004a, + 0x259e: 0x000a, 0x259f: 0x00fa, 0x25a0: 0x00ea, 0x25a1: 0x000a, 0x25a2: 0x003a, 0x25a3: 0x002a, + 0x25a4: 0x000a, 0x25a5: 0x000a, + // Block 0x97, offset 0x25c0 + 0x25e0: 0x0004, 0x25e1: 0x0004, 0x25e2: 0x000a, 0x25e3: 0x000a, + 0x25e4: 0x000a, 0x25e5: 0x0004, 0x25e6: 0x0004, 0x25e8: 0x000a, 0x25e9: 0x000a, + 0x25ea: 0x000a, 0x25eb: 0x000a, 0x25ec: 0x000a, 0x25ed: 0x000a, 0x25ee: 0x000a, + 0x25f0: 0x000b, 0x25f1: 0x000b, 0x25f2: 0x000b, 0x25f3: 0x000b, 0x25f4: 0x000b, 0x25f5: 0x000b, + 0x25f6: 0x000b, 0x25f7: 0x000b, 0x25f8: 0x000b, 0x25f9: 0x000a, 0x25fa: 0x000a, 0x25fb: 0x000a, + 0x25fc: 0x000a, 0x25fd: 0x000a, 0x25fe: 0x000b, 0x25ff: 0x000b, + // Block 0x98, offset 0x2600 + 0x2601: 0x000a, + // Block 0x99, offset 0x2640 + 0x2640: 0x000a, 0x2641: 0x000a, 0x2642: 0x000a, 0x2643: 0x000a, 0x2644: 0x000a, 0x2645: 0x000a, + 0x2646: 0x000a, 0x2647: 0x000a, 0x2648: 0x000a, 0x2649: 0x000a, 0x264a: 0x000a, 0x264b: 0x000a, + 0x264c: 0x000a, 0x2650: 0x000a, 0x2651: 0x000a, + 0x2652: 0x000a, 0x2653: 0x000a, 0x2654: 0x000a, 0x2655: 0x000a, 0x2656: 0x000a, 0x2657: 0x000a, + 0x2658: 0x000a, 0x2659: 0x000a, 0x265a: 0x000a, 0x265b: 0x000a, + 0x2660: 0x000a, + // Block 0x9a, offset 0x2680 + 0x26bd: 0x000c, + // Block 0x9b, offset 0x26c0 + 0x26e0: 0x000c, 0x26e1: 0x0002, 0x26e2: 0x0002, 0x26e3: 0x0002, + 0x26e4: 0x0002, 0x26e5: 0x0002, 0x26e6: 0x0002, 0x26e7: 0x0002, 0x26e8: 0x0002, 0x26e9: 0x0002, + 0x26ea: 0x0002, 0x26eb: 0x0002, 0x26ec: 0x0002, 0x26ed: 0x0002, 0x26ee: 0x0002, 0x26ef: 0x0002, + 0x26f0: 0x0002, 0x26f1: 0x0002, 0x26f2: 0x0002, 0x26f3: 0x0002, 0x26f4: 0x0002, 0x26f5: 0x0002, + 0x26f6: 0x0002, 0x26f7: 0x0002, 0x26f8: 0x0002, 0x26f9: 0x0002, 0x26fa: 0x0002, 0x26fb: 0x0002, + // Block 0x9c, offset 0x2700 + 0x2736: 0x000c, 0x2737: 0x000c, 0x2738: 0x000c, 0x2739: 0x000c, 0x273a: 0x000c, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, + 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001, + 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x000a, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x000c, 0x27c2: 0x000c, 0x27c3: 0x000c, 0x27c4: 0x0001, 0x27c5: 0x000c, + 0x27c6: 0x000c, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x000c, 0x27cd: 0x000c, 0x27ce: 0x000c, 0x27cf: 0x000c, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x000c, 0x27f9: 0x000c, 0x27fa: 0x000c, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x000c, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, + 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x0001, 0x283a: 0x0001, 0x283b: 0x0001, + 0x283c: 0x0001, 0x283d: 0x0001, 0x283e: 0x0001, 0x283f: 0x0001, + // Block 0xa1, offset 0x2840 + 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, + 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, + 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, + 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, + 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, + 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0001, 0x2861: 0x0001, 0x2862: 0x0001, 0x2863: 0x0001, + 0x2864: 0x0001, 0x2865: 0x0001, 0x2866: 0x0001, 0x2867: 0x0001, 0x2868: 0x0001, 0x2869: 0x0001, + 0x286a: 0x0001, 0x286b: 0x0001, 0x286c: 0x0001, 0x286d: 0x0001, 0x286e: 0x0001, 0x286f: 0x0001, + 0x2870: 0x0001, 0x2871: 0x0001, 0x2872: 0x0001, 0x2873: 0x0001, 0x2874: 0x0001, 0x2875: 0x0001, + 0x2876: 0x0001, 0x2877: 0x0001, 0x2878: 0x0001, 0x2879: 0x000a, 0x287a: 0x000a, 0x287b: 0x000a, + 0x287c: 0x000a, 0x287d: 0x000a, 0x287e: 0x000a, 0x287f: 0x000a, + // Block 0xa2, offset 0x2880 + 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, + 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, + 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, + 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, + 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, + 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005, + 0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005, + 0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005, + 0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005, + 0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005, + 0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001, + // Block 0xa3, offset 0x28c0 + 0x28c1: 0x000c, + 0x28f8: 0x000c, 0x28f9: 0x000c, 0x28fa: 0x000c, 0x28fb: 0x000c, + 0x28fc: 0x000c, 0x28fd: 0x000c, 0x28fe: 0x000c, 0x28ff: 0x000c, + // Block 0xa4, offset 0x2900 + 0x2900: 0x000c, 0x2901: 0x000c, 0x2902: 0x000c, 0x2903: 0x000c, 0x2904: 0x000c, 0x2905: 0x000c, + 0x2906: 0x000c, + 0x2912: 0x000a, 0x2913: 0x000a, 0x2914: 0x000a, 0x2915: 0x000a, 0x2916: 0x000a, 0x2917: 0x000a, + 0x2918: 0x000a, 0x2919: 0x000a, 0x291a: 0x000a, 0x291b: 0x000a, 0x291c: 0x000a, 0x291d: 0x000a, + 0x291e: 0x000a, 0x291f: 0x000a, 0x2920: 0x000a, 0x2921: 0x000a, 0x2922: 0x000a, 0x2923: 0x000a, + 0x2924: 0x000a, 0x2925: 0x000a, + 0x293f: 0x000c, + // Block 0xa5, offset 0x2940 + 0x2940: 0x000c, 0x2941: 0x000c, + 0x2973: 0x000c, 0x2974: 0x000c, 0x2975: 0x000c, + 0x2976: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c, + // Block 0xa6, offset 0x2980 + 0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c, + 0x29a7: 0x000c, 0x29a8: 0x000c, 0x29a9: 0x000c, + 0x29aa: 0x000c, 0x29ab: 0x000c, 0x29ad: 0x000c, 0x29ae: 0x000c, 0x29af: 0x000c, + 0x29b0: 0x000c, 0x29b1: 0x000c, 0x29b2: 0x000c, 0x29b3: 0x000c, 0x29b4: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29f3: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a00: 0x000c, 0x2a01: 0x000c, + 0x2a36: 0x000c, 0x2a37: 0x000c, 0x2a38: 0x000c, 0x2a39: 0x000c, 0x2a3a: 0x000c, 0x2a3b: 0x000c, + 0x2a3c: 0x000c, 0x2a3d: 0x000c, 0x2a3e: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a4a: 0x000c, 0x2a4b: 0x000c, + 0x2a4c: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2aaf: 0x000c, + 0x2ab0: 0x000c, 0x2ab1: 0x000c, 0x2ab4: 0x000c, + 0x2ab6: 0x000c, 0x2ab7: 0x000c, + 0x2abe: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2adf: 0x000c, 0x2ae3: 0x000c, + 0x2ae4: 0x000c, 0x2ae5: 0x000c, 0x2ae6: 0x000c, 0x2ae7: 0x000c, 0x2ae8: 0x000c, 0x2ae9: 0x000c, + 0x2aea: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b00: 0x000c, 0x2b01: 0x000c, + 0x2b3c: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b40: 0x000c, + 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, + 0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c, + 0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c, + 0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c, + 0x2bc6: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c, + 0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c, + 0x2c3f: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c, + 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cc0: 0x000c, + 0x2cdc: 0x000c, 0x2cdd: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c, + 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c, + 0x2d3d: 0x000c, 0x2d3f: 0x000c, + // Block 0xb5, offset 0x2d40 + 0x2d40: 0x000c, + 0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a, + 0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a, + 0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a, + // Block 0xb6, offset 0x2d80 + 0x2dab: 0x000c, 0x2dad: 0x000c, + 0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c, + 0x2db7: 0x000c, + // Block 0xb7, offset 0x2dc0 + 0x2ddd: 0x000c, + 0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c, + 0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c, + 0x2dea: 0x000c, 0x2deb: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c, + 0x2e36: 0x000c, 0x2e38: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, 0x2e3b: 0x000c, + 0x2e3c: 0x000c, 0x2e3d: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c, + 0x2e58: 0x000c, 0x2e59: 0x000c, 0x2e5a: 0x000c, 0x2e5b: 0x000c, 0x2e5c: 0x000c, 0x2e5d: 0x000c, + 0x2e5e: 0x000c, 0x2e5f: 0x000c, 0x2e60: 0x000c, 0x2e61: 0x000c, 0x2e62: 0x000c, 0x2e63: 0x000c, + 0x2e64: 0x000c, 0x2e65: 0x000c, 0x2e66: 0x000c, 0x2e67: 0x000c, + 0x2e6a: 0x000c, 0x2e6b: 0x000c, 0x2e6c: 0x000c, 0x2e6d: 0x000c, 0x2e6e: 0x000c, 0x2e6f: 0x000c, + 0x2e70: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e75: 0x000c, + 0x2e76: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ef0: 0x000c, 0x2ef1: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef4: 0x000c, 0x2ef5: 0x000c, + 0x2ef6: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, + 0x2f12: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f5d: 0x000c, + 0x2f5e: 0x000c, 0x2f60: 0x000b, 0x2f61: 0x000b, 0x2f62: 0x000b, 0x2f63: 0x000b, + // Block 0xbe, offset 0x2f80 + 0x2fa7: 0x000c, 0x2fa8: 0x000c, 0x2fa9: 0x000c, + 0x2fb3: 0x000b, 0x2fb4: 0x000b, 0x2fb5: 0x000b, + 0x2fb6: 0x000b, 0x2fb7: 0x000b, 0x2fb8: 0x000b, 0x2fb9: 0x000b, 0x2fba: 0x000b, 0x2fbb: 0x000c, + 0x2fbc: 0x000c, 0x2fbd: 0x000c, 0x2fbe: 0x000c, 0x2fbf: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2fc0: 0x000c, 0x2fc1: 0x000c, 0x2fc2: 0x000c, 0x2fc5: 0x000c, + 0x2fc6: 0x000c, 0x2fc7: 0x000c, 0x2fc8: 0x000c, 0x2fc9: 0x000c, 0x2fca: 0x000c, 0x2fcb: 0x000c, + 0x2fea: 0x000c, 0x2feb: 0x000c, 0x2fec: 0x000c, 0x2fed: 0x000c, + // Block 0xc0, offset 0x3000 + 0x3000: 0x000a, 0x3001: 0x000a, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000a, + // Block 0xc1, offset 0x3040 + 0x3040: 0x000a, 0x3041: 0x000a, 0x3042: 0x000a, 0x3043: 0x000a, 0x3044: 0x000a, 0x3045: 0x000a, + 0x3046: 0x000a, 0x3047: 0x000a, 0x3048: 0x000a, 0x3049: 0x000a, 0x304a: 0x000a, 0x304b: 0x000a, + 0x304c: 0x000a, 0x304d: 0x000a, 0x304e: 0x000a, 0x304f: 0x000a, 0x3050: 0x000a, 0x3051: 0x000a, + 0x3052: 0x000a, 0x3053: 0x000a, 0x3054: 0x000a, 0x3055: 0x000a, 0x3056: 0x000a, + // Block 0xc2, offset 0x3080 + 0x309b: 0x000a, + // Block 0xc3, offset 0x30c0 + 0x30d5: 0x000a, + // Block 0xc4, offset 0x3100 + 0x310f: 0x000a, + // Block 0xc5, offset 0x3140 + 0x3149: 0x000a, + // Block 0xc6, offset 0x3180 + 0x3183: 0x000a, + 0x318e: 0x0002, 0x318f: 0x0002, 0x3190: 0x0002, 0x3191: 0x0002, + 0x3192: 0x0002, 0x3193: 0x0002, 0x3194: 0x0002, 0x3195: 0x0002, 0x3196: 0x0002, 0x3197: 0x0002, + 0x3198: 0x0002, 0x3199: 0x0002, 0x319a: 0x0002, 0x319b: 0x0002, 0x319c: 0x0002, 0x319d: 0x0002, + 0x319e: 0x0002, 0x319f: 0x0002, 0x31a0: 0x0002, 0x31a1: 0x0002, 0x31a2: 0x0002, 0x31a3: 0x0002, + 0x31a4: 0x0002, 0x31a5: 0x0002, 0x31a6: 0x0002, 0x31a7: 0x0002, 0x31a8: 0x0002, 0x31a9: 0x0002, + 0x31aa: 0x0002, 0x31ab: 0x0002, 0x31ac: 0x0002, 0x31ad: 0x0002, 0x31ae: 0x0002, 0x31af: 0x0002, + 0x31b0: 0x0002, 0x31b1: 0x0002, 0x31b2: 0x0002, 0x31b3: 0x0002, 0x31b4: 0x0002, 0x31b5: 0x0002, + 0x31b6: 0x0002, 0x31b7: 0x0002, 0x31b8: 0x0002, 0x31b9: 0x0002, 0x31ba: 0x0002, 0x31bb: 0x0002, + 0x31bc: 0x0002, 0x31bd: 0x0002, 0x31be: 0x0002, 0x31bf: 0x0002, + // Block 0xc7, offset 0x31c0 + 0x31c0: 0x000c, 0x31c1: 0x000c, 0x31c2: 0x000c, 0x31c3: 0x000c, 0x31c4: 0x000c, 0x31c5: 0x000c, + 0x31c6: 0x000c, 0x31c7: 0x000c, 0x31c8: 0x000c, 0x31c9: 0x000c, 0x31ca: 0x000c, 0x31cb: 0x000c, + 0x31cc: 0x000c, 0x31cd: 0x000c, 0x31ce: 0x000c, 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c, + 0x31d2: 0x000c, 0x31d3: 0x000c, 0x31d4: 0x000c, 0x31d5: 0x000c, 0x31d6: 0x000c, 0x31d7: 0x000c, + 0x31d8: 0x000c, 0x31d9: 0x000c, 0x31da: 0x000c, 0x31db: 0x000c, 0x31dc: 0x000c, 0x31dd: 0x000c, + 0x31de: 0x000c, 0x31df: 0x000c, 0x31e0: 0x000c, 0x31e1: 0x000c, 0x31e2: 0x000c, 0x31e3: 0x000c, + 0x31e4: 0x000c, 0x31e5: 0x000c, 0x31e6: 0x000c, 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c, + 0x31ea: 0x000c, 0x31eb: 0x000c, 0x31ec: 0x000c, 0x31ed: 0x000c, 0x31ee: 0x000c, 0x31ef: 0x000c, + 0x31f0: 0x000c, 0x31f1: 0x000c, 0x31f2: 0x000c, 0x31f3: 0x000c, 0x31f4: 0x000c, 0x31f5: 0x000c, + 0x31f6: 0x000c, 0x31fb: 0x000c, + 0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c, + // Block 0xc8, offset 0x3200 + 0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3203: 0x000c, 0x3204: 0x000c, 0x3205: 0x000c, + 0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c, + 0x320c: 0x000c, 0x320d: 0x000c, 0x320e: 0x000c, 0x320f: 0x000c, 0x3210: 0x000c, 0x3211: 0x000c, + 0x3212: 0x000c, 0x3213: 0x000c, 0x3214: 0x000c, 0x3215: 0x000c, 0x3216: 0x000c, 0x3217: 0x000c, + 0x3218: 0x000c, 0x3219: 0x000c, 0x321a: 0x000c, 0x321b: 0x000c, 0x321c: 0x000c, 0x321d: 0x000c, + 0x321e: 0x000c, 0x321f: 0x000c, 0x3220: 0x000c, 0x3221: 0x000c, 0x3222: 0x000c, 0x3223: 0x000c, + 0x3224: 0x000c, 0x3225: 0x000c, 0x3226: 0x000c, 0x3227: 0x000c, 0x3228: 0x000c, 0x3229: 0x000c, + 0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c, + 0x3235: 0x000c, + // Block 0xc9, offset 0x3240 + 0x3244: 0x000c, + 0x325b: 0x000c, 0x325c: 0x000c, 0x325d: 0x000c, + 0x325e: 0x000c, 0x325f: 0x000c, 0x3261: 0x000c, 0x3262: 0x000c, 0x3263: 0x000c, + 0x3264: 0x000c, 0x3265: 0x000c, 0x3266: 0x000c, 0x3267: 0x000c, 0x3268: 0x000c, 0x3269: 0x000c, + 0x326a: 0x000c, 0x326b: 0x000c, 0x326c: 0x000c, 0x326d: 0x000c, 0x326e: 0x000c, 0x326f: 0x000c, + // Block 0xca, offset 0x3280 + 0x3280: 0x000c, 0x3281: 0x000c, 0x3282: 0x000c, 0x3283: 0x000c, 0x3284: 0x000c, 0x3285: 0x000c, + 0x3286: 0x000c, 0x3288: 0x000c, 0x3289: 0x000c, 0x328a: 0x000c, 0x328b: 0x000c, + 0x328c: 0x000c, 0x328d: 0x000c, 0x328e: 0x000c, 0x328f: 0x000c, 0x3290: 0x000c, 0x3291: 0x000c, + 0x3292: 0x000c, 0x3293: 0x000c, 0x3294: 0x000c, 0x3295: 0x000c, 0x3296: 0x000c, 0x3297: 0x000c, + 0x3298: 0x000c, 0x329b: 0x000c, 0x329c: 0x000c, 0x329d: 0x000c, + 0x329e: 0x000c, 0x329f: 0x000c, 0x32a0: 0x000c, 0x32a1: 0x000c, 0x32a3: 0x000c, + 0x32a4: 0x000c, 0x32a6: 0x000c, 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c, + 0x32aa: 0x000c, + // Block 0xcb, offset 0x32c0 + 0x32c0: 0x0001, 0x32c1: 0x0001, 0x32c2: 0x0001, 0x32c3: 0x0001, 0x32c4: 0x0001, 0x32c5: 0x0001, + 0x32c6: 0x0001, 0x32c7: 0x0001, 0x32c8: 0x0001, 0x32c9: 0x0001, 0x32ca: 0x0001, 0x32cb: 0x0001, + 0x32cc: 0x0001, 0x32cd: 0x0001, 0x32ce: 0x0001, 0x32cf: 0x0001, 0x32d0: 0x000c, 0x32d1: 0x000c, + 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x0001, + 0x32d8: 0x0001, 0x32d9: 0x0001, 0x32da: 0x0001, 0x32db: 0x0001, 0x32dc: 0x0001, 0x32dd: 0x0001, + 0x32de: 0x0001, 0x32df: 0x0001, 0x32e0: 0x0001, 0x32e1: 0x0001, 0x32e2: 0x0001, 0x32e3: 0x0001, + 0x32e4: 0x0001, 0x32e5: 0x0001, 0x32e6: 0x0001, 0x32e7: 0x0001, 0x32e8: 0x0001, 0x32e9: 0x0001, + 0x32ea: 0x0001, 0x32eb: 0x0001, 0x32ec: 0x0001, 0x32ed: 0x0001, 0x32ee: 0x0001, 0x32ef: 0x0001, + 0x32f0: 0x0001, 0x32f1: 0x0001, 0x32f2: 0x0001, 0x32f3: 0x0001, 0x32f4: 0x0001, 0x32f5: 0x0001, + 0x32f6: 0x0001, 0x32f7: 0x0001, 0x32f8: 0x0001, 0x32f9: 0x0001, 0x32fa: 0x0001, 0x32fb: 0x0001, + 0x32fc: 0x0001, 0x32fd: 0x0001, 0x32fe: 0x0001, 0x32ff: 0x0001, + // Block 0xcc, offset 0x3300 + 0x3300: 0x0001, 0x3301: 0x0001, 0x3302: 0x0001, 0x3303: 0x0001, 0x3304: 0x000c, 0x3305: 0x000c, + 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x0001, + 0x330c: 0x0001, 0x330d: 0x0001, 0x330e: 0x0001, 0x330f: 0x0001, 0x3310: 0x0001, 0x3311: 0x0001, + 0x3312: 0x0001, 0x3313: 0x0001, 0x3314: 0x0001, 0x3315: 0x0001, 0x3316: 0x0001, 0x3317: 0x0001, + 0x3318: 0x0001, 0x3319: 0x0001, 0x331a: 0x0001, 0x331b: 0x0001, 0x331c: 0x0001, 0x331d: 0x0001, + 0x331e: 0x0001, 0x331f: 0x0001, 0x3320: 0x0001, 0x3321: 0x0001, 0x3322: 0x0001, 0x3323: 0x0001, + 0x3324: 0x0001, 0x3325: 0x0001, 0x3326: 0x0001, 0x3327: 0x0001, 0x3328: 0x0001, 0x3329: 0x0001, + 0x332a: 0x0001, 0x332b: 0x0001, 0x332c: 0x0001, 0x332d: 0x0001, 0x332e: 0x0001, 0x332f: 0x0001, + 0x3330: 0x0001, 0x3331: 0x0001, 0x3332: 0x0001, 0x3333: 0x0001, 0x3334: 0x0001, 0x3335: 0x0001, + 0x3336: 0x0001, 0x3337: 0x0001, 0x3338: 0x0001, 0x3339: 0x0001, 0x333a: 0x0001, 0x333b: 0x0001, + 0x333c: 0x0001, 0x333d: 0x0001, 0x333e: 0x0001, 0x333f: 0x0001, + // Block 0xcd, offset 0x3340 + 0x3340: 0x000d, 0x3341: 0x000d, 0x3342: 0x000d, 0x3343: 0x000d, 0x3344: 0x000d, 0x3345: 0x000d, + 0x3346: 0x000d, 0x3347: 0x000d, 0x3348: 0x000d, 0x3349: 0x000d, 0x334a: 0x000d, 0x334b: 0x000d, + 0x334c: 0x000d, 0x334d: 0x000d, 0x334e: 0x000d, 0x334f: 0x000d, 0x3350: 0x000d, 0x3351: 0x000d, + 0x3352: 0x000d, 0x3353: 0x000d, 0x3354: 0x000d, 0x3355: 0x000d, 0x3356: 0x000d, 0x3357: 0x000d, + 0x3358: 0x000d, 0x3359: 0x000d, 0x335a: 0x000d, 0x335b: 0x000d, 0x335c: 0x000d, 0x335d: 0x000d, + 0x335e: 0x000d, 0x335f: 0x000d, 0x3360: 0x000d, 0x3361: 0x000d, 0x3362: 0x000d, 0x3363: 0x000d, + 0x3364: 0x000d, 0x3365: 0x000d, 0x3366: 0x000d, 0x3367: 0x000d, 0x3368: 0x000d, 0x3369: 0x000d, + 0x336a: 0x000d, 0x336b: 0x000d, 0x336c: 0x000d, 0x336d: 0x000d, 0x336e: 0x000d, 0x336f: 0x000d, + 0x3370: 0x000a, 0x3371: 0x000a, 0x3372: 0x000d, 0x3373: 0x000d, 0x3374: 0x000d, 0x3375: 0x000d, + 0x3376: 0x000d, 0x3377: 0x000d, 0x3378: 0x000d, 0x3379: 0x000d, 0x337a: 0x000d, 0x337b: 0x000d, + 0x337c: 0x000d, 0x337d: 0x000d, 0x337e: 0x000d, 0x337f: 0x000d, + // Block 0xce, offset 0x3380 + 0x3380: 0x000a, 0x3381: 0x000a, 0x3382: 0x000a, 0x3383: 0x000a, 0x3384: 0x000a, 0x3385: 0x000a, + 0x3386: 0x000a, 0x3387: 0x000a, 0x3388: 0x000a, 0x3389: 0x000a, 0x338a: 0x000a, 0x338b: 0x000a, + 0x338c: 0x000a, 0x338d: 0x000a, 0x338e: 0x000a, 0x338f: 0x000a, 0x3390: 0x000a, 0x3391: 0x000a, + 0x3392: 0x000a, 0x3393: 0x000a, 0x3394: 0x000a, 0x3395: 0x000a, 0x3396: 0x000a, 0x3397: 0x000a, + 0x3398: 0x000a, 0x3399: 0x000a, 0x339a: 0x000a, 0x339b: 0x000a, 0x339c: 0x000a, 0x339d: 0x000a, + 0x339e: 0x000a, 0x339f: 0x000a, 0x33a0: 0x000a, 0x33a1: 0x000a, 0x33a2: 0x000a, 0x33a3: 0x000a, + 0x33a4: 0x000a, 0x33a5: 0x000a, 0x33a6: 0x000a, 0x33a7: 0x000a, 0x33a8: 0x000a, 0x33a9: 0x000a, + 0x33aa: 0x000a, 0x33ab: 0x000a, + 0x33b0: 0x000a, 0x33b1: 0x000a, 0x33b2: 0x000a, 0x33b3: 0x000a, 0x33b4: 0x000a, 0x33b5: 0x000a, + 0x33b6: 0x000a, 0x33b7: 0x000a, 0x33b8: 0x000a, 0x33b9: 0x000a, 0x33ba: 0x000a, 0x33bb: 0x000a, + 0x33bc: 0x000a, 0x33bd: 0x000a, 0x33be: 0x000a, 0x33bf: 0x000a, + // Block 0xcf, offset 0x33c0 + 0x33c0: 0x000a, 0x33c1: 0x000a, 0x33c2: 0x000a, 0x33c3: 0x000a, 0x33c4: 0x000a, 0x33c5: 0x000a, + 0x33c6: 0x000a, 0x33c7: 0x000a, 0x33c8: 0x000a, 0x33c9: 0x000a, 0x33ca: 0x000a, 0x33cb: 0x000a, + 0x33cc: 0x000a, 0x33cd: 0x000a, 0x33ce: 0x000a, 0x33cf: 0x000a, 0x33d0: 0x000a, 0x33d1: 0x000a, + 0x33d2: 0x000a, 0x33d3: 0x000a, + 0x33e0: 0x000a, 0x33e1: 0x000a, 0x33e2: 0x000a, 0x33e3: 0x000a, + 0x33e4: 0x000a, 0x33e5: 0x000a, 0x33e6: 0x000a, 0x33e7: 0x000a, 0x33e8: 0x000a, 0x33e9: 0x000a, + 0x33ea: 0x000a, 0x33eb: 0x000a, 0x33ec: 0x000a, 0x33ed: 0x000a, 0x33ee: 0x000a, + 0x33f1: 0x000a, 0x33f2: 0x000a, 0x33f3: 0x000a, 0x33f4: 0x000a, 0x33f5: 0x000a, + 0x33f6: 0x000a, 0x33f7: 0x000a, 0x33f8: 0x000a, 0x33f9: 0x000a, 0x33fa: 0x000a, 0x33fb: 0x000a, + 0x33fc: 0x000a, 0x33fd: 0x000a, 0x33fe: 0x000a, 0x33ff: 0x000a, + // Block 0xd0, offset 0x3400 + 0x3401: 0x000a, 0x3402: 0x000a, 0x3403: 0x000a, 0x3404: 0x000a, 0x3405: 0x000a, + 0x3406: 0x000a, 0x3407: 0x000a, 0x3408: 0x000a, 0x3409: 0x000a, 0x340a: 0x000a, 0x340b: 0x000a, + 0x340c: 0x000a, 0x340d: 0x000a, 0x340e: 0x000a, 0x340f: 0x000a, 0x3411: 0x000a, + 0x3412: 0x000a, 0x3413: 0x000a, 0x3414: 0x000a, 0x3415: 0x000a, 0x3416: 0x000a, 0x3417: 0x000a, + 0x3418: 0x000a, 0x3419: 0x000a, 0x341a: 0x000a, 0x341b: 0x000a, 0x341c: 0x000a, 0x341d: 0x000a, + 0x341e: 0x000a, 0x341f: 0x000a, 0x3420: 0x000a, 0x3421: 0x000a, 0x3422: 0x000a, 0x3423: 0x000a, + 0x3424: 0x000a, 0x3425: 0x000a, 0x3426: 0x000a, 0x3427: 0x000a, 0x3428: 0x000a, 0x3429: 0x000a, + 0x342a: 0x000a, 0x342b: 0x000a, 0x342c: 0x000a, 0x342d: 0x000a, 0x342e: 0x000a, 0x342f: 0x000a, + 0x3430: 0x000a, 0x3431: 0x000a, 0x3432: 0x000a, 0x3433: 0x000a, 0x3434: 0x000a, 0x3435: 0x000a, + // Block 0xd1, offset 0x3440 + 0x3440: 0x0002, 0x3441: 0x0002, 0x3442: 0x0002, 0x3443: 0x0002, 0x3444: 0x0002, 0x3445: 0x0002, + 0x3446: 0x0002, 0x3447: 0x0002, 0x3448: 0x0002, 0x3449: 0x0002, 0x344a: 0x0002, 0x344b: 0x000a, + 0x344c: 0x000a, + // Block 0xd2, offset 0x3480 + 0x34aa: 0x000a, 0x34ab: 0x000a, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a, + 0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a, + 0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a, + 0x34d2: 0x000a, + 0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a, + 0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a, + 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, + 0x34f0: 0x000a, 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a, + 0x34f6: 0x000a, + // Block 0xd4, offset 0x3500 + 0x3500: 0x000a, 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a, + 0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a, + 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3510: 0x000a, 0x3511: 0x000a, + 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, + // Block 0xd5, offset 0x3540 + 0x3540: 0x000a, 0x3541: 0x000a, 0x3542: 0x000a, 0x3543: 0x000a, 0x3544: 0x000a, 0x3545: 0x000a, + 0x3546: 0x000a, 0x3547: 0x000a, 0x3548: 0x000a, 0x3549: 0x000a, 0x354a: 0x000a, 0x354b: 0x000a, + 0x3550: 0x000a, 0x3551: 0x000a, + 0x3552: 0x000a, 0x3553: 0x000a, 0x3554: 0x000a, 0x3555: 0x000a, 0x3556: 0x000a, 0x3557: 0x000a, + 0x3558: 0x000a, 0x3559: 0x000a, 0x355a: 0x000a, 0x355b: 0x000a, 0x355c: 0x000a, 0x355d: 0x000a, + 0x355e: 0x000a, 0x355f: 0x000a, 0x3560: 0x000a, 0x3561: 0x000a, 0x3562: 0x000a, 0x3563: 0x000a, + 0x3564: 0x000a, 0x3565: 0x000a, 0x3566: 0x000a, 0x3567: 0x000a, 0x3568: 0x000a, 0x3569: 0x000a, + 0x356a: 0x000a, 0x356b: 0x000a, 0x356c: 0x000a, 0x356d: 0x000a, 0x356e: 0x000a, 0x356f: 0x000a, + 0x3570: 0x000a, 0x3571: 0x000a, 0x3572: 0x000a, 0x3573: 0x000a, 0x3574: 0x000a, 0x3575: 0x000a, + 0x3576: 0x000a, 0x3577: 0x000a, 0x3578: 0x000a, 0x3579: 0x000a, 0x357a: 0x000a, 0x357b: 0x000a, + 0x357c: 0x000a, 0x357d: 0x000a, 0x357e: 0x000a, 0x357f: 0x000a, + // Block 0xd6, offset 0x3580 + 0x3580: 0x000a, 0x3581: 0x000a, 0x3582: 0x000a, 0x3583: 0x000a, 0x3584: 0x000a, 0x3585: 0x000a, + 0x3586: 0x000a, 0x3587: 0x000a, + 0x3590: 0x000a, 0x3591: 0x000a, + 0x3592: 0x000a, 0x3593: 0x000a, 0x3594: 0x000a, 0x3595: 0x000a, 0x3596: 0x000a, 0x3597: 0x000a, + 0x3598: 0x000a, 0x3599: 0x000a, + 0x35a0: 0x000a, 0x35a1: 0x000a, 0x35a2: 0x000a, 0x35a3: 0x000a, + 0x35a4: 0x000a, 0x35a5: 0x000a, 0x35a6: 0x000a, 0x35a7: 0x000a, 0x35a8: 0x000a, 0x35a9: 0x000a, + 0x35aa: 0x000a, 0x35ab: 0x000a, 0x35ac: 0x000a, 0x35ad: 0x000a, 0x35ae: 0x000a, 0x35af: 0x000a, + 0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000a, 0x35b3: 0x000a, 0x35b4: 0x000a, 0x35b5: 0x000a, + 0x35b6: 0x000a, 0x35b7: 0x000a, 0x35b8: 0x000a, 0x35b9: 0x000a, 0x35ba: 0x000a, 0x35bb: 0x000a, + 0x35bc: 0x000a, 0x35bd: 0x000a, 0x35be: 0x000a, 0x35bf: 0x000a, + // Block 0xd7, offset 0x35c0 + 0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a, + 0x35c6: 0x000a, 0x35c7: 0x000a, + 0x35d0: 0x000a, 0x35d1: 0x000a, + 0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a, + 0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a, + 0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a, + 0x35ea: 0x000a, 0x35eb: 0x000a, 0x35ec: 0x000a, 0x35ed: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, 0x3615: 0x000a, 0x3616: 0x000a, 0x3617: 0x000a, + 0x3618: 0x000a, 0x3619: 0x000a, 0x361a: 0x000a, 0x361b: 0x000a, 0x361c: 0x000a, 0x361d: 0x000a, + 0x361e: 0x000a, 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, + 0x3630: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a, + 0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a, + // Block 0xd9, offset 0x3640 + 0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, + 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, + 0x3650: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a, + 0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a, + 0x365e: 0x000a, + // Block 0xda, offset 0x3680 + 0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a, + 0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a, + 0x368c: 0x000a, 0x368d: 0x000a, 0x368e: 0x000a, 0x368f: 0x000a, 0x3690: 0x000a, 0x3691: 0x000a, + // Block 0xdb, offset 0x36c0 + 0x36fe: 0x000b, 0x36ff: 0x000b, + // Block 0xdc, offset 0x3700 + 0x3700: 0x000b, 0x3701: 0x000b, 0x3702: 0x000b, 0x3703: 0x000b, 0x3704: 0x000b, 0x3705: 0x000b, + 0x3706: 0x000b, 0x3707: 0x000b, 0x3708: 0x000b, 0x3709: 0x000b, 0x370a: 0x000b, 0x370b: 0x000b, + 0x370c: 0x000b, 0x370d: 0x000b, 0x370e: 0x000b, 0x370f: 0x000b, 0x3710: 0x000b, 0x3711: 0x000b, + 0x3712: 0x000b, 0x3713: 0x000b, 0x3714: 0x000b, 0x3715: 0x000b, 0x3716: 0x000b, 0x3717: 0x000b, + 0x3718: 0x000b, 0x3719: 0x000b, 0x371a: 0x000b, 0x371b: 0x000b, 0x371c: 0x000b, 0x371d: 0x000b, + 0x371e: 0x000b, 0x371f: 0x000b, 0x3720: 0x000b, 0x3721: 0x000b, 0x3722: 0x000b, 0x3723: 0x000b, + 0x3724: 0x000b, 0x3725: 0x000b, 0x3726: 0x000b, 0x3727: 0x000b, 0x3728: 0x000b, 0x3729: 0x000b, + 0x372a: 0x000b, 0x372b: 0x000b, 0x372c: 0x000b, 0x372d: 0x000b, 0x372e: 0x000b, 0x372f: 0x000b, + 0x3730: 0x000b, 0x3731: 0x000b, 0x3732: 0x000b, 0x3733: 0x000b, 0x3734: 0x000b, 0x3735: 0x000b, + 0x3736: 0x000b, 0x3737: 0x000b, 0x3738: 0x000b, 0x3739: 0x000b, 0x373a: 0x000b, 0x373b: 0x000b, + 0x373c: 0x000b, 0x373d: 0x000b, 0x373e: 0x000b, 0x373f: 0x000b, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000c, 0x3741: 0x000c, 0x3742: 0x000c, 0x3743: 0x000c, 0x3744: 0x000c, 0x3745: 0x000c, + 0x3746: 0x000c, 0x3747: 0x000c, 0x3748: 0x000c, 0x3749: 0x000c, 0x374a: 0x000c, 0x374b: 0x000c, + 0x374c: 0x000c, 0x374d: 0x000c, 0x374e: 0x000c, 0x374f: 0x000c, 0x3750: 0x000c, 0x3751: 0x000c, + 0x3752: 0x000c, 0x3753: 0x000c, 0x3754: 0x000c, 0x3755: 0x000c, 0x3756: 0x000c, 0x3757: 0x000c, + 0x3758: 0x000c, 0x3759: 0x000c, 0x375a: 0x000c, 0x375b: 0x000c, 0x375c: 0x000c, 0x375d: 0x000c, + 0x375e: 0x000c, 0x375f: 0x000c, 0x3760: 0x000c, 0x3761: 0x000c, 0x3762: 0x000c, 0x3763: 0x000c, + 0x3764: 0x000c, 0x3765: 0x000c, 0x3766: 0x000c, 0x3767: 0x000c, 0x3768: 0x000c, 0x3769: 0x000c, + 0x376a: 0x000c, 0x376b: 0x000c, 0x376c: 0x000c, 0x376d: 0x000c, 0x376e: 0x000c, 0x376f: 0x000c, + 0x3770: 0x000b, 0x3771: 0x000b, 0x3772: 0x000b, 0x3773: 0x000b, 0x3774: 0x000b, 0x3775: 0x000b, + 0x3776: 0x000b, 0x3777: 0x000b, 0x3778: 0x000b, 0x3779: 0x000b, 0x377a: 0x000b, 0x377b: 0x000b, + 0x377c: 0x000b, 0x377d: 0x000b, 0x377e: 0x000b, 0x377f: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x59, + 0x190: 0x5a, 0x191: 0x5b, 0x192: 0x5c, 0x193: 0x5d, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5e, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5f, 0x19e: 0x54, 0x19f: 0x60, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x61, 0x1a7: 0x62, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x63, 0x1ae: 0x64, 0x1af: 0x65, + 0x1b3: 0x66, 0x1b5: 0x67, 0x1b7: 0x68, + 0x1b8: 0x69, 0x1b9: 0x6a, 0x1ba: 0x6b, 0x1bb: 0x6c, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6d, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6e, 0x1c2: 0x6f, 0x1c3: 0x70, 0x1c7: 0x71, + 0x1c8: 0x72, 0x1c9: 0x73, 0x1ca: 0x74, 0x1cb: 0x75, 0x1cd: 0x76, 0x1cf: 0x77, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x78, 0x253: 0x79, + 0x258: 0x7a, 0x259: 0x7b, 0x25a: 0x7c, 0x25b: 0x7d, 0x25c: 0x7e, 0x25e: 0x7f, + 0x260: 0x80, 0x261: 0x81, 0x263: 0x82, 0x264: 0x83, 0x265: 0x84, 0x266: 0x85, 0x267: 0x86, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26f: 0x8b, + // Block 0xa, offset 0x280 + 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8e, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8f, + 0x2b8: 0x90, 0x2b9: 0x91, 0x2ba: 0x0e, 0x2bb: 0x92, 0x2bc: 0x93, 0x2bd: 0x94, 0x2bf: 0x95, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x96, 0x2c5: 0x54, 0x2c6: 0x97, 0x2c7: 0x98, + 0x2cb: 0x99, 0x2cd: 0x9a, + 0x2e0: 0x9b, 0x2e1: 0x9b, 0x2e2: 0x9b, 0x2e3: 0x9b, 0x2e4: 0x9c, 0x2e5: 0x9b, 0x2e6: 0x9b, 0x2e7: 0x9b, + 0x2e8: 0x9d, 0x2e9: 0x9b, 0x2ea: 0x9b, 0x2eb: 0x9e, 0x2ec: 0x9f, 0x2ed: 0x9b, 0x2ee: 0x9b, 0x2ef: 0x9b, + 0x2f0: 0x9b, 0x2f1: 0x9b, 0x2f2: 0x9b, 0x2f3: 0x9b, 0x2f4: 0x9b, 0x2f5: 0x9b, 0x2f6: 0x9b, 0x2f7: 0x9b, + 0x2f8: 0x9b, 0x2f9: 0xa0, 0x2fa: 0x9b, 0x2fb: 0x9b, 0x2fc: 0x9b, 0x2fd: 0x9b, 0x2fe: 0x9b, 0x2ff: 0x9b, + // Block 0xc, offset 0x300 + 0x300: 0xa1, 0x301: 0xa2, 0x302: 0xa3, 0x304: 0xa4, 0x305: 0xa5, 0x306: 0xa6, 0x307: 0xa7, + 0x308: 0xa8, 0x30b: 0xa9, 0x30c: 0xaa, 0x30d: 0xab, + 0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1, + 0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5, + 0x330: 0xb6, 0x332: 0xb7, + // Block 0xd, offset 0x340 + 0x36b: 0xb8, 0x36c: 0xb9, + 0x37e: 0xba, + // Block 0xe, offset 0x380 + 0x3b2: 0xbb, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xbc, 0x3c6: 0xbd, + 0x3c8: 0x54, 0x3c9: 0xbe, 0x3cc: 0x54, 0x3cd: 0xbf, + 0x3db: 0xc0, 0x3dc: 0xc1, 0x3dd: 0xc2, 0x3de: 0xc3, 0x3df: 0xc4, + 0x3e8: 0xc5, 0x3e9: 0xc6, 0x3ea: 0xc7, + // Block 0x10, offset 0x400 + 0x400: 0xc8, + 0x420: 0x9b, 0x421: 0x9b, 0x422: 0x9b, 0x423: 0xc9, 0x424: 0x9b, 0x425: 0xca, 0x426: 0x9b, 0x427: 0x9b, + 0x428: 0x9b, 0x429: 0x9b, 0x42a: 0x9b, 0x42b: 0x9b, 0x42c: 0x9b, 0x42d: 0x9b, 0x42e: 0x9b, 0x42f: 0x9b, + 0x430: 0x9b, 0x431: 0x9b, 0x432: 0x9b, 0x433: 0x9b, 0x434: 0x9b, 0x435: 0x9b, 0x436: 0x9b, 0x437: 0x9b, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcb, 0x43c: 0x9b, 0x43d: 0x9b, 0x43e: 0x9b, 0x43f: 0x9b, + // Block 0x11, offset 0x440 + 0x440: 0xcc, 0x441: 0x54, 0x442: 0xcd, 0x443: 0xce, 0x444: 0xcf, 0x445: 0xd0, + 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd1, 0x45c: 0x54, 0x45d: 0x6c, 0x45e: 0x54, 0x45f: 0xd2, + 0x460: 0xd3, 0x461: 0xd4, 0x462: 0xd5, 0x464: 0xd6, 0x465: 0xd7, 0x466: 0xd8, 0x467: 0x36, + 0x47f: 0xd9, + // Block 0x12, offset 0x480 + 0x4bf: 0xd9, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xda, 0x541: 0xda, 0x542: 0xda, 0x543: 0xda, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xdb, + 0x548: 0xda, 0x549: 0xda, 0x54a: 0xda, 0x54b: 0xda, 0x54c: 0xda, 0x54d: 0xda, 0x54e: 0xda, 0x54f: 0xda, + 0x550: 0xda, 0x551: 0xda, 0x552: 0xda, 0x553: 0xda, 0x554: 0xda, 0x555: 0xda, 0x556: 0xda, 0x557: 0xda, + 0x558: 0xda, 0x559: 0xda, 0x55a: 0xda, 0x55b: 0xda, 0x55c: 0xda, 0x55d: 0xda, 0x55e: 0xda, 0x55f: 0xda, + 0x560: 0xda, 0x561: 0xda, 0x562: 0xda, 0x563: 0xda, 0x564: 0xda, 0x565: 0xda, 0x566: 0xda, 0x567: 0xda, + 0x568: 0xda, 0x569: 0xda, 0x56a: 0xda, 0x56b: 0xda, 0x56c: 0xda, 0x56d: 0xda, 0x56e: 0xda, 0x56f: 0xda, + 0x570: 0xda, 0x571: 0xda, 0x572: 0xda, 0x573: 0xda, 0x574: 0xda, 0x575: 0xda, 0x576: 0xda, 0x577: 0xda, + 0x578: 0xda, 0x579: 0xda, 0x57a: 0xda, 0x57b: 0xda, 0x57c: 0xda, 0x57d: 0xda, 0x57e: 0xda, 0x57f: 0xda, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 15800 bytes (15KiB); checksum: F50EF68C diff --git a/vendor/golang.org/x/text/unicode/bidi/trieval.go b/vendor/golang.org/x/text/unicode/bidi/trieval.go new file mode 100644 index 000000000..4c459c4b7 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/trieval.go @@ -0,0 +1,60 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package bidi + +// Class is the Unicode BiDi class. Each rune has a single class. +type Class uint + +const ( + L Class = iota // LeftToRight + R // RightToLeft + EN // EuropeanNumber + ES // EuropeanSeparator + ET // EuropeanTerminator + AN // ArabicNumber + CS // CommonSeparator + B // ParagraphSeparator + S // SegmentSeparator + WS // WhiteSpace + ON // OtherNeutral + BN // BoundaryNeutral + NSM // NonspacingMark + AL // ArabicLetter + Control // Control LRO - PDI + + numClass + + LRO // LeftToRightOverride + RLO // RightToLeftOverride + LRE // LeftToRightEmbedding + RLE // RightToLeftEmbedding + PDF // PopDirectionalFormat + LRI // LeftToRightIsolate + RLI // RightToLeftIsolate + FSI // FirstStrongIsolate + PDI // PopDirectionalIsolate + + unknownClass = ^Class(0) +) + +var controlToClass = map[rune]Class{ + 0x202D: LRO, // LeftToRightOverride, + 0x202E: RLO, // RightToLeftOverride, + 0x202A: LRE, // LeftToRightEmbedding, + 0x202B: RLE, // RightToLeftEmbedding, + 0x202C: PDF, // PopDirectionalFormat, + 0x2066: LRI, // LeftToRightIsolate, + 0x2067: RLI, // RightToLeftIsolate, + 0x2068: FSI, // FirstStrongIsolate, + 0x2069: PDI, // PopDirectionalIsolate, +} + +// A trie entry has the following bits: +// 7..5 XOR mask for brackets +// 4 1: Bracket open, 0: Bracket close +// 3..0 Class type + +const ( + openMask = 0x10 + xorMaskShift = 5 +) diff --git a/vendor/golang.org/x/text/unicode/norm/composition.go b/vendor/golang.org/x/text/unicode/norm/composition.go new file mode 100644 index 000000000..e2087bce5 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/composition.go @@ -0,0 +1,512 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import "unicode/utf8" + +const ( + maxNonStarters = 30 + // The maximum number of characters needed for a buffer is + // maxNonStarters + 1 for the starter + 1 for the GCJ + maxBufferSize = maxNonStarters + 2 + maxNFCExpansion = 3 // NFC(0x1D160) + maxNFKCExpansion = 18 // NFKC(0xFDFA) + + maxByteBufferSize = utf8.UTFMax * maxBufferSize // 128 +) + +// ssState is used for reporting the segment state after inserting a rune. +// It is returned by streamSafe.next. +type ssState int + +const ( + // Indicates a rune was successfully added to the segment. + ssSuccess ssState = iota + // Indicates a rune starts a new segment and should not be added. + ssStarter + // Indicates a rune caused a segment overflow and a CGJ should be inserted. + ssOverflow +) + +// streamSafe implements the policy of when a CGJ should be inserted. +type streamSafe uint8 + +// first inserts the first rune of a segment. It is a faster version of next if +// it is known p represents the first rune in a segment. +func (ss *streamSafe) first(p Properties) { + *ss = streamSafe(p.nTrailingNonStarters()) +} + +// insert returns a ssState value to indicate whether a rune represented by p +// can be inserted. +func (ss *streamSafe) next(p Properties) ssState { + if *ss > maxNonStarters { + panic("streamSafe was not reset") + } + n := p.nLeadingNonStarters() + if *ss += streamSafe(n); *ss > maxNonStarters { + *ss = 0 + return ssOverflow + } + // The Stream-Safe Text Processing prescribes that the counting can stop + // as soon as a starter is encountered. However, there are some starters, + // like Jamo V and T, that can combine with other runes, leaving their + // successive non-starters appended to the previous, possibly causing an + // overflow. We will therefore consider any rune with a non-zero nLead to + // be a non-starter. Note that it always hold that if nLead > 0 then + // nLead == nTrail. + if n == 0 { + *ss = streamSafe(p.nTrailingNonStarters()) + return ssStarter + } + return ssSuccess +} + +// backwards is used for checking for overflow and segment starts +// when traversing a string backwards. Users do not need to call first +// for the first rune. The state of the streamSafe retains the count of +// the non-starters loaded. +func (ss *streamSafe) backwards(p Properties) ssState { + if *ss > maxNonStarters { + panic("streamSafe was not reset") + } + c := *ss + streamSafe(p.nTrailingNonStarters()) + if c > maxNonStarters { + return ssOverflow + } + *ss = c + if p.nLeadingNonStarters() == 0 { + return ssStarter + } + return ssSuccess +} + +func (ss streamSafe) isMax() bool { + return ss == maxNonStarters +} + +// GraphemeJoiner is inserted after maxNonStarters non-starter runes. +const GraphemeJoiner = "\u034F" + +// reorderBuffer is used to normalize a single segment. Characters inserted with +// insert are decomposed and reordered based on CCC. The compose method can +// be used to recombine characters. Note that the byte buffer does not hold +// the UTF-8 characters in order. Only the rune array is maintained in sorted +// order. flush writes the resulting segment to a byte array. +type reorderBuffer struct { + rune [maxBufferSize]Properties // Per character info. + byte [maxByteBufferSize]byte // UTF-8 buffer. Referenced by runeInfo.pos. + nbyte uint8 // Number or bytes. + ss streamSafe // For limiting length of non-starter sequence. + nrune int // Number of runeInfos. + f formInfo + + src input + nsrc int + tmpBytes input + + out []byte + flushF func(*reorderBuffer) bool +} + +func (rb *reorderBuffer) init(f Form, src []byte) { + rb.f = *formTable[f] + rb.src.setBytes(src) + rb.nsrc = len(src) + rb.ss = 0 +} + +func (rb *reorderBuffer) initString(f Form, src string) { + rb.f = *formTable[f] + rb.src.setString(src) + rb.nsrc = len(src) + rb.ss = 0 +} + +func (rb *reorderBuffer) setFlusher(out []byte, f func(*reorderBuffer) bool) { + rb.out = out + rb.flushF = f +} + +// reset discards all characters from the buffer. +func (rb *reorderBuffer) reset() { + rb.nrune = 0 + rb.nbyte = 0 +} + +func (rb *reorderBuffer) doFlush() bool { + if rb.f.composing { + rb.compose() + } + res := rb.flushF(rb) + rb.reset() + return res +} + +// appendFlush appends the normalized segment to rb.out. +func appendFlush(rb *reorderBuffer) bool { + for i := 0; i < rb.nrune; i++ { + start := rb.rune[i].pos + end := start + rb.rune[i].size + rb.out = append(rb.out, rb.byte[start:end]...) + } + return true +} + +// flush appends the normalized segment to out and resets rb. +func (rb *reorderBuffer) flush(out []byte) []byte { + for i := 0; i < rb.nrune; i++ { + start := rb.rune[i].pos + end := start + rb.rune[i].size + out = append(out, rb.byte[start:end]...) + } + rb.reset() + return out +} + +// flushCopy copies the normalized segment to buf and resets rb. +// It returns the number of bytes written to buf. +func (rb *reorderBuffer) flushCopy(buf []byte) int { + p := 0 + for i := 0; i < rb.nrune; i++ { + runep := rb.rune[i] + p += copy(buf[p:], rb.byte[runep.pos:runep.pos+runep.size]) + } + rb.reset() + return p +} + +// insertOrdered inserts a rune in the buffer, ordered by Canonical Combining Class. +// It returns false if the buffer is not large enough to hold the rune. +// It is used internally by insert and insertString only. +func (rb *reorderBuffer) insertOrdered(info Properties) { + n := rb.nrune + b := rb.rune[:] + cc := info.ccc + if cc > 0 { + // Find insertion position + move elements to make room. + for ; n > 0; n-- { + if b[n-1].ccc <= cc { + break + } + b[n] = b[n-1] + } + } + rb.nrune += 1 + pos := uint8(rb.nbyte) + rb.nbyte += utf8.UTFMax + info.pos = pos + b[n] = info +} + +// insertErr is an error code returned by insert. Using this type instead +// of error improves performance up to 20% for many of the benchmarks. +type insertErr int + +const ( + iSuccess insertErr = -iota + iShortDst + iShortSrc +) + +// insertFlush inserts the given rune in the buffer ordered by CCC. +// If a decomposition with multiple segments are encountered, they leading +// ones are flushed. +// It returns a non-zero error code if the rune was not inserted. +func (rb *reorderBuffer) insertFlush(src input, i int, info Properties) insertErr { + if rune := src.hangul(i); rune != 0 { + rb.decomposeHangul(rune) + return iSuccess + } + if info.hasDecomposition() { + return rb.insertDecomposed(info.Decomposition()) + } + rb.insertSingle(src, i, info) + return iSuccess +} + +// insertUnsafe inserts the given rune in the buffer ordered by CCC. +// It is assumed there is sufficient space to hold the runes. It is the +// responsibility of the caller to ensure this. This can be done by checking +// the state returned by the streamSafe type. +func (rb *reorderBuffer) insertUnsafe(src input, i int, info Properties) { + if rune := src.hangul(i); rune != 0 { + rb.decomposeHangul(rune) + } + if info.hasDecomposition() { + // TODO: inline. + rb.insertDecomposed(info.Decomposition()) + } else { + rb.insertSingle(src, i, info) + } +} + +// insertDecomposed inserts an entry in to the reorderBuffer for each rune +// in dcomp. dcomp must be a sequence of decomposed UTF-8-encoded runes. +// It flushes the buffer on each new segment start. +func (rb *reorderBuffer) insertDecomposed(dcomp []byte) insertErr { + rb.tmpBytes.setBytes(dcomp) + // As the streamSafe accounting already handles the counting for modifiers, + // we don't have to call next. However, we do need to keep the accounting + // intact when flushing the buffer. + for i := 0; i < len(dcomp); { + info := rb.f.info(rb.tmpBytes, i) + if info.BoundaryBefore() && rb.nrune > 0 && !rb.doFlush() { + return iShortDst + } + i += copy(rb.byte[rb.nbyte:], dcomp[i:i+int(info.size)]) + rb.insertOrdered(info) + } + return iSuccess +} + +// insertSingle inserts an entry in the reorderBuffer for the rune at +// position i. info is the runeInfo for the rune at position i. +func (rb *reorderBuffer) insertSingle(src input, i int, info Properties) { + src.copySlice(rb.byte[rb.nbyte:], i, i+int(info.size)) + rb.insertOrdered(info) +} + +// insertCGJ inserts a Combining Grapheme Joiner (0x034f) into rb. +func (rb *reorderBuffer) insertCGJ() { + rb.insertSingle(input{str: GraphemeJoiner}, 0, Properties{size: uint8(len(GraphemeJoiner))}) +} + +// appendRune inserts a rune at the end of the buffer. It is used for Hangul. +func (rb *reorderBuffer) appendRune(r rune) { + bn := rb.nbyte + sz := utf8.EncodeRune(rb.byte[bn:], rune(r)) + rb.nbyte += utf8.UTFMax + rb.rune[rb.nrune] = Properties{pos: bn, size: uint8(sz)} + rb.nrune++ +} + +// assignRune sets a rune at position pos. It is used for Hangul and recomposition. +func (rb *reorderBuffer) assignRune(pos int, r rune) { + bn := rb.rune[pos].pos + sz := utf8.EncodeRune(rb.byte[bn:], rune(r)) + rb.rune[pos] = Properties{pos: bn, size: uint8(sz)} +} + +// runeAt returns the rune at position n. It is used for Hangul and recomposition. +func (rb *reorderBuffer) runeAt(n int) rune { + inf := rb.rune[n] + r, _ := utf8.DecodeRune(rb.byte[inf.pos : inf.pos+inf.size]) + return r +} + +// bytesAt returns the UTF-8 encoding of the rune at position n. +// It is used for Hangul and recomposition. +func (rb *reorderBuffer) bytesAt(n int) []byte { + inf := rb.rune[n] + return rb.byte[inf.pos : int(inf.pos)+int(inf.size)] +} + +// For Hangul we combine algorithmically, instead of using tables. +const ( + hangulBase = 0xAC00 // UTF-8(hangulBase) -> EA B0 80 + hangulBase0 = 0xEA + hangulBase1 = 0xB0 + hangulBase2 = 0x80 + + hangulEnd = hangulBase + jamoLVTCount // UTF-8(0xD7A4) -> ED 9E A4 + hangulEnd0 = 0xED + hangulEnd1 = 0x9E + hangulEnd2 = 0xA4 + + jamoLBase = 0x1100 // UTF-8(jamoLBase) -> E1 84 00 + jamoLBase0 = 0xE1 + jamoLBase1 = 0x84 + jamoLEnd = 0x1113 + jamoVBase = 0x1161 + jamoVEnd = 0x1176 + jamoTBase = 0x11A7 + jamoTEnd = 0x11C3 + + jamoTCount = 28 + jamoVCount = 21 + jamoVTCount = 21 * 28 + jamoLVTCount = 19 * 21 * 28 +) + +const hangulUTF8Size = 3 + +func isHangul(b []byte) bool { + if len(b) < hangulUTF8Size { + return false + } + b0 := b[0] + if b0 < hangulBase0 { + return false + } + b1 := b[1] + switch { + case b0 == hangulBase0: + return b1 >= hangulBase1 + case b0 < hangulEnd0: + return true + case b0 > hangulEnd0: + return false + case b1 < hangulEnd1: + return true + } + return b1 == hangulEnd1 && b[2] < hangulEnd2 +} + +func isHangulString(b string) bool { + if len(b) < hangulUTF8Size { + return false + } + b0 := b[0] + if b0 < hangulBase0 { + return false + } + b1 := b[1] + switch { + case b0 == hangulBase0: + return b1 >= hangulBase1 + case b0 < hangulEnd0: + return true + case b0 > hangulEnd0: + return false + case b1 < hangulEnd1: + return true + } + return b1 == hangulEnd1 && b[2] < hangulEnd2 +} + +// Caller must ensure len(b) >= 2. +func isJamoVT(b []byte) bool { + // True if (rune & 0xff00) == jamoLBase + return b[0] == jamoLBase0 && (b[1]&0xFC) == jamoLBase1 +} + +func isHangulWithoutJamoT(b []byte) bool { + c, _ := utf8.DecodeRune(b) + c -= hangulBase + return c < jamoLVTCount && c%jamoTCount == 0 +} + +// decomposeHangul writes the decomposed Hangul to buf and returns the number +// of bytes written. len(buf) should be at least 9. +func decomposeHangul(buf []byte, r rune) int { + const JamoUTF8Len = 3 + r -= hangulBase + x := r % jamoTCount + r /= jamoTCount + utf8.EncodeRune(buf, jamoLBase+r/jamoVCount) + utf8.EncodeRune(buf[JamoUTF8Len:], jamoVBase+r%jamoVCount) + if x != 0 { + utf8.EncodeRune(buf[2*JamoUTF8Len:], jamoTBase+x) + return 3 * JamoUTF8Len + } + return 2 * JamoUTF8Len +} + +// decomposeHangul algorithmically decomposes a Hangul rune into +// its Jamo components. +// See https://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul. +func (rb *reorderBuffer) decomposeHangul(r rune) { + r -= hangulBase + x := r % jamoTCount + r /= jamoTCount + rb.appendRune(jamoLBase + r/jamoVCount) + rb.appendRune(jamoVBase + r%jamoVCount) + if x != 0 { + rb.appendRune(jamoTBase + x) + } +} + +// combineHangul algorithmically combines Jamo character components into Hangul. +// See https://unicode.org/reports/tr15/#Hangul for details on combining Hangul. +func (rb *reorderBuffer) combineHangul(s, i, k int) { + b := rb.rune[:] + bn := rb.nrune + for ; i < bn; i++ { + cccB := b[k-1].ccc + cccC := b[i].ccc + if cccB == 0 { + s = k - 1 + } + if s != k-1 && cccB >= cccC { + // b[i] is blocked by greater-equal cccX below it + b[k] = b[i] + k++ + } else { + l := rb.runeAt(s) // also used to compare to hangulBase + v := rb.runeAt(i) // also used to compare to jamoT + switch { + case jamoLBase <= l && l < jamoLEnd && + jamoVBase <= v && v < jamoVEnd: + // 11xx plus 116x to LV + rb.assignRune(s, hangulBase+ + (l-jamoLBase)*jamoVTCount+(v-jamoVBase)*jamoTCount) + case hangulBase <= l && l < hangulEnd && + jamoTBase < v && v < jamoTEnd && + ((l-hangulBase)%jamoTCount) == 0: + // ACxx plus 11Ax to LVT + rb.assignRune(s, l+v-jamoTBase) + default: + b[k] = b[i] + k++ + } + } + } + rb.nrune = k +} + +// compose recombines the runes in the buffer. +// It should only be used to recompose a single segment, as it will not +// handle alternations between Hangul and non-Hangul characters correctly. +func (rb *reorderBuffer) compose() { + // Lazily load the map used by the combine func below, but do + // it outside of the loop. + recompMapOnce.Do(buildRecompMap) + + // UAX #15, section X5 , including Corrigendum #5 + // "In any character sequence beginning with starter S, a character C is + // blocked from S if and only if there is some character B between S + // and C, and either B is a starter or it has the same or higher + // combining class as C." + bn := rb.nrune + if bn == 0 { + return + } + k := 1 + b := rb.rune[:] + for s, i := 0, 1; i < bn; i++ { + if isJamoVT(rb.bytesAt(i)) { + // Redo from start in Hangul mode. Necessary to support + // U+320E..U+321E in NFKC mode. + rb.combineHangul(s, i, k) + return + } + ii := b[i] + // We can only use combineForward as a filter if we later + // get the info for the combined character. This is more + // expensive than using the filter. Using combinesBackward() + // is safe. + if ii.combinesBackward() { + cccB := b[k-1].ccc + cccC := ii.ccc + blocked := false // b[i] blocked by starter or greater or equal CCC? + if cccB == 0 { + s = k - 1 + } else { + blocked = s != k-1 && cccB >= cccC + } + if !blocked { + combined := combine(rb.runeAt(s), rb.runeAt(i)) + if combined != 0 { + rb.assignRune(s, combined) + continue + } + } + } + b[k] = b[i] + k++ + } + rb.nrune = k +} diff --git a/vendor/golang.org/x/text/unicode/norm/forminfo.go b/vendor/golang.org/x/text/unicode/norm/forminfo.go new file mode 100644 index 000000000..526c7033a --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/forminfo.go @@ -0,0 +1,278 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import "encoding/binary" + +// This file contains Form-specific logic and wrappers for data in tables.go. + +// Rune info is stored in a separate trie per composing form. A composing form +// and its corresponding decomposing form share the same trie. Each trie maps +// a rune to a uint16. The values take two forms. For v >= 0x8000: +// bits +// 15: 1 (inverse of NFD_QC bit of qcInfo) +// 13..7: qcInfo (see below). isYesD is always true (no decompostion). +// 6..0: ccc (compressed CCC value). +// For v < 0x8000, the respective rune has a decomposition and v is an index +// into a byte array of UTF-8 decomposition sequences and additional info and +// has the form: +// <header> <decomp_byte>* [<tccc> [<lccc>]] +// The header contains the number of bytes in the decomposition (excluding this +// length byte). The two most significant bits of this length byte correspond +// to bit 5 and 4 of qcInfo (see below). The byte sequence itself starts at v+1. +// The byte sequence is followed by a trailing and leading CCC if the values +// for these are not zero. The value of v determines which ccc are appended +// to the sequences. For v < firstCCC, there are none, for v >= firstCCC, +// the sequence is followed by a trailing ccc, and for v >= firstLeadingCC +// there is an additional leading ccc. The value of tccc itself is the +// trailing CCC shifted left 2 bits. The two least-significant bits of tccc +// are the number of trailing non-starters. + +const ( + qcInfoMask = 0x3F // to clear all but the relevant bits in a qcInfo + headerLenMask = 0x3F // extract the length value from the header byte + headerFlagsMask = 0xC0 // extract the qcInfo bits from the header byte +) + +// Properties provides access to normalization properties of a rune. +type Properties struct { + pos uint8 // start position in reorderBuffer; used in composition.go + size uint8 // length of UTF-8 encoding of this rune + ccc uint8 // leading canonical combining class (ccc if not decomposition) + tccc uint8 // trailing canonical combining class (ccc if not decomposition) + nLead uint8 // number of leading non-starters. + flags qcInfo // quick check flags + index uint16 +} + +// functions dispatchable per form +type lookupFunc func(b input, i int) Properties + +// formInfo holds Form-specific functions and tables. +type formInfo struct { + form Form + composing, compatibility bool // form type + info lookupFunc + nextMain iterFunc +} + +var formTable = []*formInfo{{ + form: NFC, + composing: true, + compatibility: false, + info: lookupInfoNFC, + nextMain: nextComposed, +}, { + form: NFD, + composing: false, + compatibility: false, + info: lookupInfoNFC, + nextMain: nextDecomposed, +}, { + form: NFKC, + composing: true, + compatibility: true, + info: lookupInfoNFKC, + nextMain: nextComposed, +}, { + form: NFKD, + composing: false, + compatibility: true, + info: lookupInfoNFKC, + nextMain: nextDecomposed, +}} + +// We do not distinguish between boundaries for NFC, NFD, etc. to avoid +// unexpected behavior for the user. For example, in NFD, there is a boundary +// after 'a'. However, 'a' might combine with modifiers, so from the application's +// perspective it is not a good boundary. We will therefore always use the +// boundaries for the combining variants. + +// BoundaryBefore returns true if this rune starts a new segment and +// cannot combine with any rune on the left. +func (p Properties) BoundaryBefore() bool { + if p.ccc == 0 && !p.combinesBackward() { + return true + } + // We assume that the CCC of the first character in a decomposition + // is always non-zero if different from info.ccc and that we can return + // false at this point. This is verified by maketables. + return false +} + +// BoundaryAfter returns true if runes cannot combine with or otherwise +// interact with this or previous runes. +func (p Properties) BoundaryAfter() bool { + // TODO: loosen these conditions. + return p.isInert() +} + +// We pack quick check data in 4 bits: +// 5: Combines forward (0 == false, 1 == true) +// 4..3: NFC_QC Yes(00), No (10), or Maybe (11) +// 2: NFD_QC Yes (0) or No (1). No also means there is a decomposition. +// 1..0: Number of trailing non-starters. +// +// When all 4 bits are zero, the character is inert, meaning it is never +// influenced by normalization. +type qcInfo uint8 + +func (p Properties) isYesC() bool { return p.flags&0x10 == 0 } +func (p Properties) isYesD() bool { return p.flags&0x4 == 0 } + +func (p Properties) combinesForward() bool { return p.flags&0x20 != 0 } +func (p Properties) combinesBackward() bool { return p.flags&0x8 != 0 } // == isMaybe +func (p Properties) hasDecomposition() bool { return p.flags&0x4 != 0 } // == isNoD + +func (p Properties) isInert() bool { + return p.flags&qcInfoMask == 0 && p.ccc == 0 +} + +func (p Properties) multiSegment() bool { + return p.index >= firstMulti && p.index < endMulti +} + +func (p Properties) nLeadingNonStarters() uint8 { + return p.nLead +} + +func (p Properties) nTrailingNonStarters() uint8 { + return uint8(p.flags & 0x03) +} + +// Decomposition returns the decomposition for the underlying rune +// or nil if there is none. +func (p Properties) Decomposition() []byte { + // TODO: create the decomposition for Hangul? + if p.index == 0 { + return nil + } + i := p.index + n := decomps[i] & headerLenMask + i++ + return decomps[i : i+uint16(n)] +} + +// Size returns the length of UTF-8 encoding of the rune. +func (p Properties) Size() int { + return int(p.size) +} + +// CCC returns the canonical combining class of the underlying rune. +func (p Properties) CCC() uint8 { + if p.index >= firstCCCZeroExcept { + return 0 + } + return ccc[p.ccc] +} + +// LeadCCC returns the CCC of the first rune in the decomposition. +// If there is no decomposition, LeadCCC equals CCC. +func (p Properties) LeadCCC() uint8 { + return ccc[p.ccc] +} + +// TrailCCC returns the CCC of the last rune in the decomposition. +// If there is no decomposition, TrailCCC equals CCC. +func (p Properties) TrailCCC() uint8 { + return ccc[p.tccc] +} + +func buildRecompMap() { + recompMap = make(map[uint32]rune, len(recompMapPacked)/8) + var buf [8]byte + for i := 0; i < len(recompMapPacked); i += 8 { + copy(buf[:], recompMapPacked[i:i+8]) + key := binary.BigEndian.Uint32(buf[:4]) + val := binary.BigEndian.Uint32(buf[4:]) + recompMap[key] = rune(val) + } +} + +// Recomposition +// We use 32-bit keys instead of 64-bit for the two codepoint keys. +// This clips off the bits of three entries, but we know this will not +// result in a collision. In the unlikely event that changes to +// UnicodeData.txt introduce collisions, the compiler will catch it. +// Note that the recomposition map for NFC and NFKC are identical. + +// combine returns the combined rune or 0 if it doesn't exist. +// +// The caller is responsible for calling +// recompMapOnce.Do(buildRecompMap) sometime before this is called. +func combine(a, b rune) rune { + key := uint32(uint16(a))<<16 + uint32(uint16(b)) + if recompMap == nil { + panic("caller error") // see func comment + } + return recompMap[key] +} + +func lookupInfoNFC(b input, i int) Properties { + v, sz := b.charinfoNFC(i) + return compInfo(v, sz) +} + +func lookupInfoNFKC(b input, i int) Properties { + v, sz := b.charinfoNFKC(i) + return compInfo(v, sz) +} + +// Properties returns properties for the first rune in s. +func (f Form) Properties(s []byte) Properties { + if f == NFC || f == NFD { + return compInfo(nfcData.lookup(s)) + } + return compInfo(nfkcData.lookup(s)) +} + +// PropertiesString returns properties for the first rune in s. +func (f Form) PropertiesString(s string) Properties { + if f == NFC || f == NFD { + return compInfo(nfcData.lookupString(s)) + } + return compInfo(nfkcData.lookupString(s)) +} + +// compInfo converts the information contained in v and sz +// to a Properties. See the comment at the top of the file +// for more information on the format. +func compInfo(v uint16, sz int) Properties { + if v == 0 { + return Properties{size: uint8(sz)} + } else if v >= 0x8000 { + p := Properties{ + size: uint8(sz), + ccc: uint8(v), + tccc: uint8(v), + flags: qcInfo(v >> 8), + } + if p.ccc > 0 || p.combinesBackward() { + p.nLead = uint8(p.flags & 0x3) + } + return p + } + // has decomposition + h := decomps[v] + f := (qcInfo(h&headerFlagsMask) >> 2) | 0x4 + p := Properties{size: uint8(sz), flags: f, index: v} + if v >= firstCCC { + v += uint16(h&headerLenMask) + 1 + c := decomps[v] + p.tccc = c >> 2 + p.flags |= qcInfo(c & 0x3) + if v >= firstLeadingCCC { + p.nLead = c & 0x3 + if v >= firstStarterWithNLead { + // We were tricked. Remove the decomposition. + p.flags &= 0x03 + p.index = 0 + return p + } + p.ccc = decomps[v+1] + } + } + return p +} diff --git a/vendor/golang.org/x/text/unicode/norm/input.go b/vendor/golang.org/x/text/unicode/norm/input.go new file mode 100644 index 000000000..479e35bc2 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/input.go @@ -0,0 +1,109 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import "unicode/utf8" + +type input struct { + str string + bytes []byte +} + +func inputBytes(str []byte) input { + return input{bytes: str} +} + +func inputString(str string) input { + return input{str: str} +} + +func (in *input) setBytes(str []byte) { + in.str = "" + in.bytes = str +} + +func (in *input) setString(str string) { + in.str = str + in.bytes = nil +} + +func (in *input) _byte(p int) byte { + if in.bytes == nil { + return in.str[p] + } + return in.bytes[p] +} + +func (in *input) skipASCII(p, max int) int { + if in.bytes == nil { + for ; p < max && in.str[p] < utf8.RuneSelf; p++ { + } + } else { + for ; p < max && in.bytes[p] < utf8.RuneSelf; p++ { + } + } + return p +} + +func (in *input) skipContinuationBytes(p int) int { + if in.bytes == nil { + for ; p < len(in.str) && !utf8.RuneStart(in.str[p]); p++ { + } + } else { + for ; p < len(in.bytes) && !utf8.RuneStart(in.bytes[p]); p++ { + } + } + return p +} + +func (in *input) appendSlice(buf []byte, b, e int) []byte { + if in.bytes != nil { + return append(buf, in.bytes[b:e]...) + } + for i := b; i < e; i++ { + buf = append(buf, in.str[i]) + } + return buf +} + +func (in *input) copySlice(buf []byte, b, e int) int { + if in.bytes == nil { + return copy(buf, in.str[b:e]) + } + return copy(buf, in.bytes[b:e]) +} + +func (in *input) charinfoNFC(p int) (uint16, int) { + if in.bytes == nil { + return nfcData.lookupString(in.str[p:]) + } + return nfcData.lookup(in.bytes[p:]) +} + +func (in *input) charinfoNFKC(p int) (uint16, int) { + if in.bytes == nil { + return nfkcData.lookupString(in.str[p:]) + } + return nfkcData.lookup(in.bytes[p:]) +} + +func (in *input) hangul(p int) (r rune) { + var size int + if in.bytes == nil { + if !isHangulString(in.str[p:]) { + return 0 + } + r, size = utf8.DecodeRuneInString(in.str[p:]) + } else { + if !isHangul(in.bytes[p:]) { + return 0 + } + r, size = utf8.DecodeRune(in.bytes[p:]) + } + if size != hangulUTF8Size { + return 0 + } + return r +} diff --git a/vendor/golang.org/x/text/unicode/norm/iter.go b/vendor/golang.org/x/text/unicode/norm/iter.go new file mode 100644 index 000000000..417c6b268 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/iter.go @@ -0,0 +1,458 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import ( + "fmt" + "unicode/utf8" +) + +// MaxSegmentSize is the maximum size of a byte buffer needed to consider any +// sequence of starter and non-starter runes for the purpose of normalization. +const MaxSegmentSize = maxByteBufferSize + +// An Iter iterates over a string or byte slice, while normalizing it +// to a given Form. +type Iter struct { + rb reorderBuffer + buf [maxByteBufferSize]byte + info Properties // first character saved from previous iteration + next iterFunc // implementation of next depends on form + asciiF iterFunc + + p int // current position in input source + multiSeg []byte // remainder of multi-segment decomposition +} + +type iterFunc func(*Iter) []byte + +// Init initializes i to iterate over src after normalizing it to Form f. +func (i *Iter) Init(f Form, src []byte) { + i.p = 0 + if len(src) == 0 { + i.setDone() + i.rb.nsrc = 0 + return + } + i.multiSeg = nil + i.rb.init(f, src) + i.next = i.rb.f.nextMain + i.asciiF = nextASCIIBytes + i.info = i.rb.f.info(i.rb.src, i.p) + i.rb.ss.first(i.info) +} + +// InitString initializes i to iterate over src after normalizing it to Form f. +func (i *Iter) InitString(f Form, src string) { + i.p = 0 + if len(src) == 0 { + i.setDone() + i.rb.nsrc = 0 + return + } + i.multiSeg = nil + i.rb.initString(f, src) + i.next = i.rb.f.nextMain + i.asciiF = nextASCIIString + i.info = i.rb.f.info(i.rb.src, i.p) + i.rb.ss.first(i.info) +} + +// Seek sets the segment to be returned by the next call to Next to start +// at position p. It is the responsibility of the caller to set p to the +// start of a segment. +func (i *Iter) Seek(offset int64, whence int) (int64, error) { + var abs int64 + switch whence { + case 0: + abs = offset + case 1: + abs = int64(i.p) + offset + case 2: + abs = int64(i.rb.nsrc) + offset + default: + return 0, fmt.Errorf("norm: invalid whence") + } + if abs < 0 { + return 0, fmt.Errorf("norm: negative position") + } + if int(abs) >= i.rb.nsrc { + i.setDone() + return int64(i.p), nil + } + i.p = int(abs) + i.multiSeg = nil + i.next = i.rb.f.nextMain + i.info = i.rb.f.info(i.rb.src, i.p) + i.rb.ss.first(i.info) + return abs, nil +} + +// returnSlice returns a slice of the underlying input type as a byte slice. +// If the underlying is of type []byte, it will simply return a slice. +// If the underlying is of type string, it will copy the slice to the buffer +// and return that. +func (i *Iter) returnSlice(a, b int) []byte { + if i.rb.src.bytes == nil { + return i.buf[:copy(i.buf[:], i.rb.src.str[a:b])] + } + return i.rb.src.bytes[a:b] +} + +// Pos returns the byte position at which the next call to Next will commence processing. +func (i *Iter) Pos() int { + return i.p +} + +func (i *Iter) setDone() { + i.next = nextDone + i.p = i.rb.nsrc +} + +// Done returns true if there is no more input to process. +func (i *Iter) Done() bool { + return i.p >= i.rb.nsrc +} + +// Next returns f(i.input[i.Pos():n]), where n is a boundary of i.input. +// For any input a and b for which f(a) == f(b), subsequent calls +// to Next will return the same segments. +// Modifying runes are grouped together with the preceding starter, if such a starter exists. +// Although not guaranteed, n will typically be the smallest possible n. +func (i *Iter) Next() []byte { + return i.next(i) +} + +func nextASCIIBytes(i *Iter) []byte { + p := i.p + 1 + if p >= i.rb.nsrc { + p0 := i.p + i.setDone() + return i.rb.src.bytes[p0:p] + } + if i.rb.src.bytes[p] < utf8.RuneSelf { + p0 := i.p + i.p = p + return i.rb.src.bytes[p0:p] + } + i.info = i.rb.f.info(i.rb.src, i.p) + i.next = i.rb.f.nextMain + return i.next(i) +} + +func nextASCIIString(i *Iter) []byte { + p := i.p + 1 + if p >= i.rb.nsrc { + i.buf[0] = i.rb.src.str[i.p] + i.setDone() + return i.buf[:1] + } + if i.rb.src.str[p] < utf8.RuneSelf { + i.buf[0] = i.rb.src.str[i.p] + i.p = p + return i.buf[:1] + } + i.info = i.rb.f.info(i.rb.src, i.p) + i.next = i.rb.f.nextMain + return i.next(i) +} + +func nextHangul(i *Iter) []byte { + p := i.p + next := p + hangulUTF8Size + if next >= i.rb.nsrc { + i.setDone() + } else if i.rb.src.hangul(next) == 0 { + i.rb.ss.next(i.info) + i.info = i.rb.f.info(i.rb.src, i.p) + i.next = i.rb.f.nextMain + return i.next(i) + } + i.p = next + return i.buf[:decomposeHangul(i.buf[:], i.rb.src.hangul(p))] +} + +func nextDone(i *Iter) []byte { + return nil +} + +// nextMulti is used for iterating over multi-segment decompositions +// for decomposing normal forms. +func nextMulti(i *Iter) []byte { + j := 0 + d := i.multiSeg + // skip first rune + for j = 1; j < len(d) && !utf8.RuneStart(d[j]); j++ { + } + for j < len(d) { + info := i.rb.f.info(input{bytes: d}, j) + if info.BoundaryBefore() { + i.multiSeg = d[j:] + return d[:j] + } + j += int(info.size) + } + // treat last segment as normal decomposition + i.next = i.rb.f.nextMain + return i.next(i) +} + +// nextMultiNorm is used for iterating over multi-segment decompositions +// for composing normal forms. +func nextMultiNorm(i *Iter) []byte { + j := 0 + d := i.multiSeg + for j < len(d) { + info := i.rb.f.info(input{bytes: d}, j) + if info.BoundaryBefore() { + i.rb.compose() + seg := i.buf[:i.rb.flushCopy(i.buf[:])] + i.rb.insertUnsafe(input{bytes: d}, j, info) + i.multiSeg = d[j+int(info.size):] + return seg + } + i.rb.insertUnsafe(input{bytes: d}, j, info) + j += int(info.size) + } + i.multiSeg = nil + i.next = nextComposed + return doNormComposed(i) +} + +// nextDecomposed is the implementation of Next for forms NFD and NFKD. +func nextDecomposed(i *Iter) (next []byte) { + outp := 0 + inCopyStart, outCopyStart := i.p, 0 + for { + if sz := int(i.info.size); sz <= 1 { + i.rb.ss = 0 + p := i.p + i.p++ // ASCII or illegal byte. Either way, advance by 1. + if i.p >= i.rb.nsrc { + i.setDone() + return i.returnSlice(p, i.p) + } else if i.rb.src._byte(i.p) < utf8.RuneSelf { + i.next = i.asciiF + return i.returnSlice(p, i.p) + } + outp++ + } else if d := i.info.Decomposition(); d != nil { + // Note: If leading CCC != 0, then len(d) == 2 and last is also non-zero. + // Case 1: there is a leftover to copy. In this case the decomposition + // must begin with a modifier and should always be appended. + // Case 2: no leftover. Simply return d if followed by a ccc == 0 value. + p := outp + len(d) + if outp > 0 { + i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p) + // TODO: this condition should not be possible, but we leave it + // in for defensive purposes. + if p > len(i.buf) { + return i.buf[:outp] + } + } else if i.info.multiSegment() { + // outp must be 0 as multi-segment decompositions always + // start a new segment. + if i.multiSeg == nil { + i.multiSeg = d + i.next = nextMulti + return nextMulti(i) + } + // We are in the last segment. Treat as normal decomposition. + d = i.multiSeg + i.multiSeg = nil + p = len(d) + } + prevCC := i.info.tccc + if i.p += sz; i.p >= i.rb.nsrc { + i.setDone() + i.info = Properties{} // Force BoundaryBefore to succeed. + } else { + i.info = i.rb.f.info(i.rb.src, i.p) + } + switch i.rb.ss.next(i.info) { + case ssOverflow: + i.next = nextCGJDecompose + fallthrough + case ssStarter: + if outp > 0 { + copy(i.buf[outp:], d) + return i.buf[:p] + } + return d + } + copy(i.buf[outp:], d) + outp = p + inCopyStart, outCopyStart = i.p, outp + if i.info.ccc < prevCC { + goto doNorm + } + continue + } else if r := i.rb.src.hangul(i.p); r != 0 { + outp = decomposeHangul(i.buf[:], r) + i.p += hangulUTF8Size + inCopyStart, outCopyStart = i.p, outp + if i.p >= i.rb.nsrc { + i.setDone() + break + } else if i.rb.src.hangul(i.p) != 0 { + i.next = nextHangul + return i.buf[:outp] + } + } else { + p := outp + sz + if p > len(i.buf) { + break + } + outp = p + i.p += sz + } + if i.p >= i.rb.nsrc { + i.setDone() + break + } + prevCC := i.info.tccc + i.info = i.rb.f.info(i.rb.src, i.p) + if v := i.rb.ss.next(i.info); v == ssStarter { + break + } else if v == ssOverflow { + i.next = nextCGJDecompose + break + } + if i.info.ccc < prevCC { + goto doNorm + } + } + if outCopyStart == 0 { + return i.returnSlice(inCopyStart, i.p) + } else if inCopyStart < i.p { + i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p) + } + return i.buf[:outp] +doNorm: + // Insert what we have decomposed so far in the reorderBuffer. + // As we will only reorder, there will always be enough room. + i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p) + i.rb.insertDecomposed(i.buf[0:outp]) + return doNormDecomposed(i) +} + +func doNormDecomposed(i *Iter) []byte { + for { + i.rb.insertUnsafe(i.rb.src, i.p, i.info) + if i.p += int(i.info.size); i.p >= i.rb.nsrc { + i.setDone() + break + } + i.info = i.rb.f.info(i.rb.src, i.p) + if i.info.ccc == 0 { + break + } + if s := i.rb.ss.next(i.info); s == ssOverflow { + i.next = nextCGJDecompose + break + } + } + // new segment or too many combining characters: exit normalization + return i.buf[:i.rb.flushCopy(i.buf[:])] +} + +func nextCGJDecompose(i *Iter) []byte { + i.rb.ss = 0 + i.rb.insertCGJ() + i.next = nextDecomposed + i.rb.ss.first(i.info) + buf := doNormDecomposed(i) + return buf +} + +// nextComposed is the implementation of Next for forms NFC and NFKC. +func nextComposed(i *Iter) []byte { + outp, startp := 0, i.p + var prevCC uint8 + for { + if !i.info.isYesC() { + goto doNorm + } + prevCC = i.info.tccc + sz := int(i.info.size) + if sz == 0 { + sz = 1 // illegal rune: copy byte-by-byte + } + p := outp + sz + if p > len(i.buf) { + break + } + outp = p + i.p += sz + if i.p >= i.rb.nsrc { + i.setDone() + break + } else if i.rb.src._byte(i.p) < utf8.RuneSelf { + i.rb.ss = 0 + i.next = i.asciiF + break + } + i.info = i.rb.f.info(i.rb.src, i.p) + if v := i.rb.ss.next(i.info); v == ssStarter { + break + } else if v == ssOverflow { + i.next = nextCGJCompose + break + } + if i.info.ccc < prevCC { + goto doNorm + } + } + return i.returnSlice(startp, i.p) +doNorm: + // reset to start position + i.p = startp + i.info = i.rb.f.info(i.rb.src, i.p) + i.rb.ss.first(i.info) + if i.info.multiSegment() { + d := i.info.Decomposition() + info := i.rb.f.info(input{bytes: d}, 0) + i.rb.insertUnsafe(input{bytes: d}, 0, info) + i.multiSeg = d[int(info.size):] + i.next = nextMultiNorm + return nextMultiNorm(i) + } + i.rb.ss.first(i.info) + i.rb.insertUnsafe(i.rb.src, i.p, i.info) + return doNormComposed(i) +} + +func doNormComposed(i *Iter) []byte { + // First rune should already be inserted. + for { + if i.p += int(i.info.size); i.p >= i.rb.nsrc { + i.setDone() + break + } + i.info = i.rb.f.info(i.rb.src, i.p) + if s := i.rb.ss.next(i.info); s == ssStarter { + break + } else if s == ssOverflow { + i.next = nextCGJCompose + break + } + i.rb.insertUnsafe(i.rb.src, i.p, i.info) + } + i.rb.compose() + seg := i.buf[:i.rb.flushCopy(i.buf[:])] + return seg +} + +func nextCGJCompose(i *Iter) []byte { + i.rb.ss = 0 // instead of first + i.rb.insertCGJ() + i.next = nextComposed + // Note that we treat any rune with nLeadingNonStarters > 0 as a non-starter, + // even if they are not. This is particularly dubious for U+FF9E and UFF9A. + // If we ever change that, insert a check here. + i.rb.ss.first(i.info) + i.rb.insertUnsafe(i.rb.src, i.p, i.info) + return doNormComposed(i) +} diff --git a/vendor/golang.org/x/text/unicode/norm/normalize.go b/vendor/golang.org/x/text/unicode/norm/normalize.go new file mode 100644 index 000000000..95efcf26e --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/normalize.go @@ -0,0 +1,609 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Note: the file data_test.go that is generated should not be checked in. +//go:generate go run maketables.go triegen.go +//go:generate go test -tags test + +// Package norm contains types and functions for normalizing Unicode strings. +package norm // import "golang.org/x/text/unicode/norm" + +import ( + "unicode/utf8" + + "golang.org/x/text/transform" +) + +// A Form denotes a canonical representation of Unicode code points. +// The Unicode-defined normalization and equivalence forms are: +// +// NFC Unicode Normalization Form C +// NFD Unicode Normalization Form D +// NFKC Unicode Normalization Form KC +// NFKD Unicode Normalization Form KD +// +// For a Form f, this documentation uses the notation f(x) to mean +// the bytes or string x converted to the given form. +// A position n in x is called a boundary if conversion to the form can +// proceed independently on both sides: +// f(x) == append(f(x[0:n]), f(x[n:])...) +// +// References: https://unicode.org/reports/tr15/ and +// https://unicode.org/notes/tn5/. +type Form int + +const ( + NFC Form = iota + NFD + NFKC + NFKD +) + +// Bytes returns f(b). May return b if f(b) = b. +func (f Form) Bytes(b []byte) []byte { + src := inputBytes(b) + ft := formTable[f] + n, ok := ft.quickSpan(src, 0, len(b), true) + if ok { + return b + } + out := make([]byte, n, len(b)) + copy(out, b[0:n]) + rb := reorderBuffer{f: *ft, src: src, nsrc: len(b), out: out, flushF: appendFlush} + return doAppendInner(&rb, n) +} + +// String returns f(s). +func (f Form) String(s string) string { + src := inputString(s) + ft := formTable[f] + n, ok := ft.quickSpan(src, 0, len(s), true) + if ok { + return s + } + out := make([]byte, n, len(s)) + copy(out, s[0:n]) + rb := reorderBuffer{f: *ft, src: src, nsrc: len(s), out: out, flushF: appendFlush} + return string(doAppendInner(&rb, n)) +} + +// IsNormal returns true if b == f(b). +func (f Form) IsNormal(b []byte) bool { + src := inputBytes(b) + ft := formTable[f] + bp, ok := ft.quickSpan(src, 0, len(b), true) + if ok { + return true + } + rb := reorderBuffer{f: *ft, src: src, nsrc: len(b)} + rb.setFlusher(nil, cmpNormalBytes) + for bp < len(b) { + rb.out = b[bp:] + if bp = decomposeSegment(&rb, bp, true); bp < 0 { + return false + } + bp, _ = rb.f.quickSpan(rb.src, bp, len(b), true) + } + return true +} + +func cmpNormalBytes(rb *reorderBuffer) bool { + b := rb.out + for i := 0; i < rb.nrune; i++ { + info := rb.rune[i] + if int(info.size) > len(b) { + return false + } + p := info.pos + pe := p + info.size + for ; p < pe; p++ { + if b[0] != rb.byte[p] { + return false + } + b = b[1:] + } + } + return true +} + +// IsNormalString returns true if s == f(s). +func (f Form) IsNormalString(s string) bool { + src := inputString(s) + ft := formTable[f] + bp, ok := ft.quickSpan(src, 0, len(s), true) + if ok { + return true + } + rb := reorderBuffer{f: *ft, src: src, nsrc: len(s)} + rb.setFlusher(nil, func(rb *reorderBuffer) bool { + for i := 0; i < rb.nrune; i++ { + info := rb.rune[i] + if bp+int(info.size) > len(s) { + return false + } + p := info.pos + pe := p + info.size + for ; p < pe; p++ { + if s[bp] != rb.byte[p] { + return false + } + bp++ + } + } + return true + }) + for bp < len(s) { + if bp = decomposeSegment(&rb, bp, true); bp < 0 { + return false + } + bp, _ = rb.f.quickSpan(rb.src, bp, len(s), true) + } + return true +} + +// patchTail fixes a case where a rune may be incorrectly normalized +// if it is followed by illegal continuation bytes. It returns the +// patched buffer and whether the decomposition is still in progress. +func patchTail(rb *reorderBuffer) bool { + info, p := lastRuneStart(&rb.f, rb.out) + if p == -1 || info.size == 0 { + return true + } + end := p + int(info.size) + extra := len(rb.out) - end + if extra > 0 { + // Potentially allocating memory. However, this only + // happens with ill-formed UTF-8. + x := make([]byte, 0) + x = append(x, rb.out[len(rb.out)-extra:]...) + rb.out = rb.out[:end] + decomposeToLastBoundary(rb) + rb.doFlush() + rb.out = append(rb.out, x...) + return false + } + buf := rb.out[p:] + rb.out = rb.out[:p] + decomposeToLastBoundary(rb) + if s := rb.ss.next(info); s == ssStarter { + rb.doFlush() + rb.ss.first(info) + } else if s == ssOverflow { + rb.doFlush() + rb.insertCGJ() + rb.ss = 0 + } + rb.insertUnsafe(inputBytes(buf), 0, info) + return true +} + +func appendQuick(rb *reorderBuffer, i int) int { + if rb.nsrc == i { + return i + } + end, _ := rb.f.quickSpan(rb.src, i, rb.nsrc, true) + rb.out = rb.src.appendSlice(rb.out, i, end) + return end +} + +// Append returns f(append(out, b...)). +// The buffer out must be nil, empty, or equal to f(out). +func (f Form) Append(out []byte, src ...byte) []byte { + return f.doAppend(out, inputBytes(src), len(src)) +} + +func (f Form) doAppend(out []byte, src input, n int) []byte { + if n == 0 { + return out + } + ft := formTable[f] + // Attempt to do a quickSpan first so we can avoid initializing the reorderBuffer. + if len(out) == 0 { + p, _ := ft.quickSpan(src, 0, n, true) + out = src.appendSlice(out, 0, p) + if p == n { + return out + } + rb := reorderBuffer{f: *ft, src: src, nsrc: n, out: out, flushF: appendFlush} + return doAppendInner(&rb, p) + } + rb := reorderBuffer{f: *ft, src: src, nsrc: n} + return doAppend(&rb, out, 0) +} + +func doAppend(rb *reorderBuffer, out []byte, p int) []byte { + rb.setFlusher(out, appendFlush) + src, n := rb.src, rb.nsrc + doMerge := len(out) > 0 + if q := src.skipContinuationBytes(p); q > p { + // Move leading non-starters to destination. + rb.out = src.appendSlice(rb.out, p, q) + p = q + doMerge = patchTail(rb) + } + fd := &rb.f + if doMerge { + var info Properties + if p < n { + info = fd.info(src, p) + if !info.BoundaryBefore() || info.nLeadingNonStarters() > 0 { + if p == 0 { + decomposeToLastBoundary(rb) + } + p = decomposeSegment(rb, p, true) + } + } + if info.size == 0 { + rb.doFlush() + // Append incomplete UTF-8 encoding. + return src.appendSlice(rb.out, p, n) + } + if rb.nrune > 0 { + return doAppendInner(rb, p) + } + } + p = appendQuick(rb, p) + return doAppendInner(rb, p) +} + +func doAppendInner(rb *reorderBuffer, p int) []byte { + for n := rb.nsrc; p < n; { + p = decomposeSegment(rb, p, true) + p = appendQuick(rb, p) + } + return rb.out +} + +// AppendString returns f(append(out, []byte(s))). +// The buffer out must be nil, empty, or equal to f(out). +func (f Form) AppendString(out []byte, src string) []byte { + return f.doAppend(out, inputString(src), len(src)) +} + +// QuickSpan returns a boundary n such that b[0:n] == f(b[0:n]). +// It is not guaranteed to return the largest such n. +func (f Form) QuickSpan(b []byte) int { + n, _ := formTable[f].quickSpan(inputBytes(b), 0, len(b), true) + return n +} + +// Span implements transform.SpanningTransformer. It returns a boundary n such +// that b[0:n] == f(b[0:n]). It is not guaranteed to return the largest such n. +func (f Form) Span(b []byte, atEOF bool) (n int, err error) { + n, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), atEOF) + if n < len(b) { + if !ok { + err = transform.ErrEndOfSpan + } else { + err = transform.ErrShortSrc + } + } + return n, err +} + +// SpanString returns a boundary n such that s[0:n] == f(s[0:n]). +// It is not guaranteed to return the largest such n. +func (f Form) SpanString(s string, atEOF bool) (n int, err error) { + n, ok := formTable[f].quickSpan(inputString(s), 0, len(s), atEOF) + if n < len(s) { + if !ok { + err = transform.ErrEndOfSpan + } else { + err = transform.ErrShortSrc + } + } + return n, err +} + +// quickSpan returns a boundary n such that src[0:n] == f(src[0:n]) and +// whether any non-normalized parts were found. If atEOF is false, n will +// not point past the last segment if this segment might be become +// non-normalized by appending other runes. +func (f *formInfo) quickSpan(src input, i, end int, atEOF bool) (n int, ok bool) { + var lastCC uint8 + ss := streamSafe(0) + lastSegStart := i + for n = end; i < n; { + if j := src.skipASCII(i, n); i != j { + i = j + lastSegStart = i - 1 + lastCC = 0 + ss = 0 + continue + } + info := f.info(src, i) + if info.size == 0 { + if atEOF { + // include incomplete runes + return n, true + } + return lastSegStart, true + } + // This block needs to be before the next, because it is possible to + // have an overflow for runes that are starters (e.g. with U+FF9E). + switch ss.next(info) { + case ssStarter: + lastSegStart = i + case ssOverflow: + return lastSegStart, false + case ssSuccess: + if lastCC > info.ccc { + return lastSegStart, false + } + } + if f.composing { + if !info.isYesC() { + break + } + } else { + if !info.isYesD() { + break + } + } + lastCC = info.ccc + i += int(info.size) + } + if i == n { + if !atEOF { + n = lastSegStart + } + return n, true + } + return lastSegStart, false +} + +// QuickSpanString returns a boundary n such that s[0:n] == f(s[0:n]). +// It is not guaranteed to return the largest such n. +func (f Form) QuickSpanString(s string) int { + n, _ := formTable[f].quickSpan(inputString(s), 0, len(s), true) + return n +} + +// FirstBoundary returns the position i of the first boundary in b +// or -1 if b contains no boundary. +func (f Form) FirstBoundary(b []byte) int { + return f.firstBoundary(inputBytes(b), len(b)) +} + +func (f Form) firstBoundary(src input, nsrc int) int { + i := src.skipContinuationBytes(0) + if i >= nsrc { + return -1 + } + fd := formTable[f] + ss := streamSafe(0) + // We should call ss.first here, but we can't as the first rune is + // skipped already. This means FirstBoundary can't really determine + // CGJ insertion points correctly. Luckily it doesn't have to. + for { + info := fd.info(src, i) + if info.size == 0 { + return -1 + } + if s := ss.next(info); s != ssSuccess { + return i + } + i += int(info.size) + if i >= nsrc { + if !info.BoundaryAfter() && !ss.isMax() { + return -1 + } + return nsrc + } + } +} + +// FirstBoundaryInString returns the position i of the first boundary in s +// or -1 if s contains no boundary. +func (f Form) FirstBoundaryInString(s string) int { + return f.firstBoundary(inputString(s), len(s)) +} + +// NextBoundary reports the index of the boundary between the first and next +// segment in b or -1 if atEOF is false and there are not enough bytes to +// determine this boundary. +func (f Form) NextBoundary(b []byte, atEOF bool) int { + return f.nextBoundary(inputBytes(b), len(b), atEOF) +} + +// NextBoundaryInString reports the index of the boundary between the first and +// next segment in b or -1 if atEOF is false and there are not enough bytes to +// determine this boundary. +func (f Form) NextBoundaryInString(s string, atEOF bool) int { + return f.nextBoundary(inputString(s), len(s), atEOF) +} + +func (f Form) nextBoundary(src input, nsrc int, atEOF bool) int { + if nsrc == 0 { + if atEOF { + return 0 + } + return -1 + } + fd := formTable[f] + info := fd.info(src, 0) + if info.size == 0 { + if atEOF { + return 1 + } + return -1 + } + ss := streamSafe(0) + ss.first(info) + + for i := int(info.size); i < nsrc; i += int(info.size) { + info = fd.info(src, i) + if info.size == 0 { + if atEOF { + return i + } + return -1 + } + // TODO: Using streamSafe to determine the boundary isn't the same as + // using BoundaryBefore. Determine which should be used. + if s := ss.next(info); s != ssSuccess { + return i + } + } + if !atEOF && !info.BoundaryAfter() && !ss.isMax() { + return -1 + } + return nsrc +} + +// LastBoundary returns the position i of the last boundary in b +// or -1 if b contains no boundary. +func (f Form) LastBoundary(b []byte) int { + return lastBoundary(formTable[f], b) +} + +func lastBoundary(fd *formInfo, b []byte) int { + i := len(b) + info, p := lastRuneStart(fd, b) + if p == -1 { + return -1 + } + if info.size == 0 { // ends with incomplete rune + if p == 0 { // starts with incomplete rune + return -1 + } + i = p + info, p = lastRuneStart(fd, b[:i]) + if p == -1 { // incomplete UTF-8 encoding or non-starter bytes without a starter + return i + } + } + if p+int(info.size) != i { // trailing non-starter bytes: illegal UTF-8 + return i + } + if info.BoundaryAfter() { + return i + } + ss := streamSafe(0) + v := ss.backwards(info) + for i = p; i >= 0 && v != ssStarter; i = p { + info, p = lastRuneStart(fd, b[:i]) + if v = ss.backwards(info); v == ssOverflow { + break + } + if p+int(info.size) != i { + if p == -1 { // no boundary found + return -1 + } + return i // boundary after an illegal UTF-8 encoding + } + } + return i +} + +// decomposeSegment scans the first segment in src into rb. It inserts 0x034f +// (Grapheme Joiner) when it encounters a sequence of more than 30 non-starters +// and returns the number of bytes consumed from src or iShortDst or iShortSrc. +func decomposeSegment(rb *reorderBuffer, sp int, atEOF bool) int { + // Force one character to be consumed. + info := rb.f.info(rb.src, sp) + if info.size == 0 { + return 0 + } + if s := rb.ss.next(info); s == ssStarter { + // TODO: this could be removed if we don't support merging. + if rb.nrune > 0 { + goto end + } + } else if s == ssOverflow { + rb.insertCGJ() + goto end + } + if err := rb.insertFlush(rb.src, sp, info); err != iSuccess { + return int(err) + } + for { + sp += int(info.size) + if sp >= rb.nsrc { + if !atEOF && !info.BoundaryAfter() { + return int(iShortSrc) + } + break + } + info = rb.f.info(rb.src, sp) + if info.size == 0 { + if !atEOF { + return int(iShortSrc) + } + break + } + if s := rb.ss.next(info); s == ssStarter { + break + } else if s == ssOverflow { + rb.insertCGJ() + break + } + if err := rb.insertFlush(rb.src, sp, info); err != iSuccess { + return int(err) + } + } +end: + if !rb.doFlush() { + return int(iShortDst) + } + return sp +} + +// lastRuneStart returns the runeInfo and position of the last +// rune in buf or the zero runeInfo and -1 if no rune was found. +func lastRuneStart(fd *formInfo, buf []byte) (Properties, int) { + p := len(buf) - 1 + for ; p >= 0 && !utf8.RuneStart(buf[p]); p-- { + } + if p < 0 { + return Properties{}, -1 + } + return fd.info(inputBytes(buf), p), p +} + +// decomposeToLastBoundary finds an open segment at the end of the buffer +// and scans it into rb. Returns the buffer minus the last segment. +func decomposeToLastBoundary(rb *reorderBuffer) { + fd := &rb.f + info, i := lastRuneStart(fd, rb.out) + if int(info.size) != len(rb.out)-i { + // illegal trailing continuation bytes + return + } + if info.BoundaryAfter() { + return + } + var add [maxNonStarters + 1]Properties // stores runeInfo in reverse order + padd := 0 + ss := streamSafe(0) + p := len(rb.out) + for { + add[padd] = info + v := ss.backwards(info) + if v == ssOverflow { + // Note that if we have an overflow, it the string we are appending to + // is not correctly normalized. In this case the behavior is undefined. + break + } + padd++ + p -= int(info.size) + if v == ssStarter || p < 0 { + break + } + info, i = lastRuneStart(fd, rb.out[:p]) + if int(info.size) != p-i { + break + } + } + rb.ss = ss + // Copy bytes for insertion as we may need to overwrite rb.out. + var buf [maxBufferSize * utf8.UTFMax]byte + cp := buf[:copy(buf[:], rb.out[p:])] + rb.out = rb.out[:p] + for padd--; padd >= 0; padd-- { + info = add[padd] + rb.insertUnsafe(inputBytes(cp), 0, info) + cp = cp[info.size:] + } +} diff --git a/vendor/golang.org/x/text/unicode/norm/readwriter.go b/vendor/golang.org/x/text/unicode/norm/readwriter.go new file mode 100644 index 000000000..b38096f5c --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/readwriter.go @@ -0,0 +1,125 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import "io" + +type normWriter struct { + rb reorderBuffer + w io.Writer + buf []byte +} + +// Write implements the standard write interface. If the last characters are +// not at a normalization boundary, the bytes will be buffered for the next +// write. The remaining bytes will be written on close. +func (w *normWriter) Write(data []byte) (n int, err error) { + // Process data in pieces to keep w.buf size bounded. + const chunk = 4000 + + for len(data) > 0 { + // Normalize into w.buf. + m := len(data) + if m > chunk { + m = chunk + } + w.rb.src = inputBytes(data[:m]) + w.rb.nsrc = m + w.buf = doAppend(&w.rb, w.buf, 0) + data = data[m:] + n += m + + // Write out complete prefix, save remainder. + // Note that lastBoundary looks back at most 31 runes. + i := lastBoundary(&w.rb.f, w.buf) + if i == -1 { + i = 0 + } + if i > 0 { + if _, err = w.w.Write(w.buf[:i]); err != nil { + break + } + bn := copy(w.buf, w.buf[i:]) + w.buf = w.buf[:bn] + } + } + return n, err +} + +// Close forces data that remains in the buffer to be written. +func (w *normWriter) Close() error { + if len(w.buf) > 0 { + _, err := w.w.Write(w.buf) + if err != nil { + return err + } + } + return nil +} + +// Writer returns a new writer that implements Write(b) +// by writing f(b) to w. The returned writer may use an +// internal buffer to maintain state across Write calls. +// Calling its Close method writes any buffered data to w. +func (f Form) Writer(w io.Writer) io.WriteCloser { + wr := &normWriter{rb: reorderBuffer{}, w: w} + wr.rb.init(f, nil) + return wr +} + +type normReader struct { + rb reorderBuffer + r io.Reader + inbuf []byte + outbuf []byte + bufStart int + lastBoundary int + err error +} + +// Read implements the standard read interface. +func (r *normReader) Read(p []byte) (int, error) { + for { + if r.lastBoundary-r.bufStart > 0 { + n := copy(p, r.outbuf[r.bufStart:r.lastBoundary]) + r.bufStart += n + if r.lastBoundary-r.bufStart > 0 { + return n, nil + } + return n, r.err + } + if r.err != nil { + return 0, r.err + } + outn := copy(r.outbuf, r.outbuf[r.lastBoundary:]) + r.outbuf = r.outbuf[0:outn] + r.bufStart = 0 + + n, err := r.r.Read(r.inbuf) + r.rb.src = inputBytes(r.inbuf[0:n]) + r.rb.nsrc, r.err = n, err + if n > 0 { + r.outbuf = doAppend(&r.rb, r.outbuf, 0) + } + if err == io.EOF { + r.lastBoundary = len(r.outbuf) + } else { + r.lastBoundary = lastBoundary(&r.rb.f, r.outbuf) + if r.lastBoundary == -1 { + r.lastBoundary = 0 + } + } + } +} + +// Reader returns a new reader that implements Read +// by reading data from r and returning f(data). +func (f Form) Reader(r io.Reader) io.Reader { + const chunk = 4000 + buf := make([]byte, chunk) + rr := &normReader{rb: reorderBuffer{}, r: r, inbuf: buf} + rr.rb.init(f, buf) + return rr +} diff --git a/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go new file mode 100644 index 000000000..f5a078827 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go @@ -0,0 +1,7658 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.10 && !go1.13 +// +build go1.10,!go1.13 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "10.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [55]uint8{ + 0, 1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 84, 91, 103, 107, 118, 122, 129, 130, + 132, 202, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x186D + firstCCC = 0x2C9E + endMulti = 0x2F60 + firstLeadingCCC = 0x49AE + firstCCCZeroExcept = 0x4A78 + firstStarterWithNLead = 0x4A9F + lastDecomp = 0x4AA1 + maxDecomp = 0x8000 +) + +// decomps: 19105 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, + 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, + 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, + 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, + 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, + 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, + 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, + 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, + 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, + 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, + 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, + 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, + 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, + 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, + 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, + 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, + 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, + 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, + // Bytes 200 - 23f + 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, + 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, + 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, + 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, + 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, + 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, + 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, + 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, + 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, + 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, + 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, + 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, + 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, + 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, + 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, + 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, + 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, + 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, + 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, + 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, + 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, + 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, + 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, + 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, + 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, + 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, + 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, + 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, + 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, + // Bytes 300 - 33f + 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, + 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, + 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, + 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, + 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, + 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, + 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, + 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, + // Bytes 340 - 37f + 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, + 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, + 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, + 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, + 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, + 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, + 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, + 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, + // Bytes 380 - 3bf + 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, + 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, + 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, + 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, + 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, + 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, + 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, + 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, + // Bytes 3c0 - 3ff + 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, + 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, + 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, + 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, + 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, + 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, + 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, + 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, + // Bytes 400 - 43f + 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, + 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, + 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, + 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, + 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, + 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, + 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, + 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, + // Bytes 440 - 47f + 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, + 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, + 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, + 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, + 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, + 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, + 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, + 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, + // Bytes 480 - 4bf + 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, + 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, + 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, + 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, + 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, + 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, + 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, + 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, + // Bytes 4c0 - 4ff + 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, + 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, + 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, + 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, + 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, + 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, + 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, + 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, + // Bytes 500 - 53f + 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, + 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, + 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, + 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, + 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, + 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, + 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, + 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, + // Bytes 540 - 57f + 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, + 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, + 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, + 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, + 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, + 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, + 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, + 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, + // Bytes 580 - 5bf + 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, + 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, + 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, + 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, + 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, + 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, + 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, + 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, + // Bytes 5c0 - 5ff + 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, + 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, + 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, + 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, + 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, + 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, + 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, + 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, + // Bytes 600 - 63f + 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, + 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, + 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, + 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, + 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, + 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, + 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, + 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, + // Bytes 640 - 67f + 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, + 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, + 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, + 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, + 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, + 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, + 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, + 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, + // Bytes 680 - 6bf + 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, + 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, + 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, + 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, + 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, + 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, + 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, + 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, + // Bytes 6c0 - 6ff + 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, + 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, + 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, + 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, + 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, + 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, + 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, + 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, + // Bytes 700 - 73f + 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, + 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, + 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, + 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, + 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, + 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, + 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, + 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, + // Bytes 740 - 77f + 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, + 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, + 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, + 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, + 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, + 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, + 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, + 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, + // Bytes 780 - 7bf + 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, + 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, + 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, + 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, + 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, + 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, + 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, + 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, + // Bytes 7c0 - 7ff + 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, + 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, + 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, + 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, + 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, + 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, + 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, + 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, + // Bytes 800 - 83f + 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, + 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, + 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, + 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, + 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, + 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, + 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, + 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, + // Bytes 840 - 87f + 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, + 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, + 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, + 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, + 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, + 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, + 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, + 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, + // Bytes 880 - 8bf + 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, + 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, + 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, + 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, + 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, + 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, + 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, + 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, + // Bytes 8c0 - 8ff + 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, + 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, + 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, + 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, + 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, + 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, + 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, + 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, + // Bytes 900 - 93f + 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, + 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, + 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, + 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, + 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, + 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, + 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, + 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, + // Bytes 940 - 97f + 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, + 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, + 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, + 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, + 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, + 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, + 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, + 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, + // Bytes 980 - 9bf + 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, + 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, + 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, + 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, + 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, + 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, + 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, + 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, + // Bytes 9c0 - 9ff + 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, + 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, + 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, + 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, + 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, + 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, + 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, + 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, + // Bytes a00 - a3f + 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, + 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, + 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, + 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, + 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, + 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, + 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, + 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, + // Bytes a40 - a7f + 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, + 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, + 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, + 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, + 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, + 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, + 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, + 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, + // Bytes a80 - abf + 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, + 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, + 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, + 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, + 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, + 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, + 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, + 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, + // Bytes ac0 - aff + 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, + 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, + 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, + 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, + 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, + 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, + 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, + 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, + // Bytes b00 - b3f + 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, + 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, + 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, + 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, + 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, + 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, + 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, + 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, + // Bytes b40 - b7f + 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, + 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, + 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, + 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, + 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, + 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, + 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, + 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, + // Bytes b80 - bbf + 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, + 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, + 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, + 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, + 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, + 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, + 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, + 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, + // Bytes bc0 - bff + 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, + 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, + 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, + 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, + 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, + 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, + 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, + 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, + // Bytes c00 - c3f + 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, + 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, + 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, + 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, + 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, + 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, + 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, + 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, + // Bytes c40 - c7f + 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, + 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, + 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, + 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, + 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, + 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, + 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, + 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, + // Bytes c80 - cbf + 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, + 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, + 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, + 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, + 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, + 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, + 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, + 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, + // Bytes cc0 - cff + 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, + 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, + 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, + 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, + 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, + 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, + 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, + 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, + // Bytes d00 - d3f + 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, + 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, + 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, + 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, + 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, + 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, + 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, + 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, + // Bytes d40 - d7f + 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, + 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, + 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, + 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, + 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, + 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, + 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, + 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, + // Bytes d80 - dbf + 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, + 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, + 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, + 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, + 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, + 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, + 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, + 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, + // Bytes dc0 - dff + 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, + 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, + 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, + 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, + 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, + 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, + 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, + 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, + // Bytes e00 - e3f + 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, + 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, + 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, + 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, + 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, + 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, + 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, + 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, + // Bytes e40 - e7f + 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, + 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, + 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, + 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, + 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, + 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, + 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, + 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, + // Bytes e80 - ebf + 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, + 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, + 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, + 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, + 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, + 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, + 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, + 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, + // Bytes ec0 - eff + 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, + 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, + 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, + 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, + 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, + 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, + 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, + 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, + // Bytes f00 - f3f + 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, + 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, + 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, + 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, + 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, + 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, + 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, + 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, + // Bytes f40 - f7f + 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, + 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, + 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, + 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, + 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, + 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, + 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, + 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, + // Bytes f80 - fbf + 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, + 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, + 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, + 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, + 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, + 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, + 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, + 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, + // Bytes fc0 - fff + 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, + 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, + 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, + 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, + 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, + 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, + 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, + 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, + // Bytes 1000 - 103f + 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, + 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, + 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, + 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, + 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, + 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, + 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, + 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, + // Bytes 1040 - 107f + 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, + 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, + 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, + 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, + 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, + 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, + 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, + 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, + // Bytes 1080 - 10bf + 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, + 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, + 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, + 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, + 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, + 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, + 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, + 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, + // Bytes 10c0 - 10ff + 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, + 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, + 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, + 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, + 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, + 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, + 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, + 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, + // Bytes 1100 - 113f + 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, + 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, + 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, + 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, + 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, + 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, + 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, + 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, + // Bytes 1140 - 117f + 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, + 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, + 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, + 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, + 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, + 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, + 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, + 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, + // Bytes 1180 - 11bf + 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, + 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, + 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, + 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, + 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, + 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, + 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, + 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, + // Bytes 11c0 - 11ff + 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, + 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, + 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, + 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, + 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, + 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, + 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, + 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, + // Bytes 1200 - 123f + 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, + 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, + 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, + 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, + 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, + 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, + 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, + 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, + // Bytes 1240 - 127f + 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, + 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, + 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, + 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, + 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, + 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, + 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, + 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, + // Bytes 1280 - 12bf + 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, + 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, + 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, + 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, + 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, + 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, + 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, + 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, + // Bytes 12c0 - 12ff + 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, + 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, + 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, + 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, + 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, + 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, + 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, + 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, + // Bytes 1300 - 133f + 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, + 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, + 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, + 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, + 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, + 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, + 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, + 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, + // Bytes 1340 - 137f + 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, + 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, + 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, + 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, + 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, + 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, + 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, + 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, + // Bytes 1380 - 13bf + 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, + 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, + 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, + 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, + 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, + 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, + 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, + 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, + // Bytes 13c0 - 13ff + 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, + 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, + 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, + 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, + 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, + 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, + 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, + 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, + // Bytes 1400 - 143f + 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, + 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, + 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, + 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, + 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, + 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, + 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, + 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, + // Bytes 1440 - 147f + 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, + 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, + 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, + 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, + 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, + 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, + 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, + 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, + // Bytes 1480 - 14bf + 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, + 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, + 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, + 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, + 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, + 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, + 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, + 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, + // Bytes 14c0 - 14ff + 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, + 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, + 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, + 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, + 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, + 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, + 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, + 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, + // Bytes 1500 - 153f + 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, + 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, + 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, + 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, + 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, + 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, + 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, + 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, + // Bytes 1540 - 157f + 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, + 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, + 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, + 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, + 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, + 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, + 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, + 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, + // Bytes 1580 - 15bf + 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, + 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, + 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, + 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, + 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, + 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, + 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, + 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, + // Bytes 15c0 - 15ff + 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, + 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, + 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, + 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, + 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, + 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, + 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, + 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, + // Bytes 1600 - 163f + 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, + 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, + 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, + 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, + 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, + 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, + 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, + 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, + // Bytes 1640 - 167f + 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, + 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, + 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, + 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, + 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, + 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, + 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, + 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, + // Bytes 1680 - 16bf + 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, + 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, + 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, + 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, + 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, + 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, + 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, + 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, + // Bytes 16c0 - 16ff + 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, + 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, + 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, + 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, + 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, + 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, + 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, + 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, + // Bytes 1700 - 173f + 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, + 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, + 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, + 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, + 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, + 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, + 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, + 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, + // Bytes 1740 - 177f + 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, + 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, + 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, + 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, + 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, + 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, + 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, + 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, + // Bytes 1780 - 17bf + 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, + 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, + 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, + 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, + 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, + 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, + 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, + 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, + // Bytes 17c0 - 17ff + 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, + 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, + 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, + 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, + 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, + 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, + 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, + 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, + // Bytes 1800 - 183f + 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, + 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, + 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, + 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, + 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, + 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, + 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, + 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, + // Bytes 1840 - 187f + 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, + 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, + 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, + 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, + 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, + 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, + 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, + 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, + 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, + 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, + 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, + 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, + 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, + 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, + 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, + 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, + 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, + 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, + 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, + 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, + 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, + 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, + // Bytes 1900 - 193f + 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, + 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, + 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, + 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, + 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, + 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, + 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, + 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, + // Bytes 1940 - 197f + 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, + 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, + 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, + 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, + 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, + 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, + 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, + 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, + 0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, + 0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, + 0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, + 0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, + 0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, + 0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, + 0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, + 0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, + 0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, + 0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, + 0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, + 0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, + 0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, + 0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, + 0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, + 0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, + 0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, + 0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, + 0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, + 0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, + 0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, + 0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, + 0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, + 0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, + 0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, + 0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, + 0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, + 0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, + // Bytes 1a80 - 1abf + 0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, + 0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, + 0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, + 0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, + 0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, + 0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, + 0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, + 0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, + // Bytes 1ac0 - 1aff + 0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, + 0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, + 0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, + 0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, + 0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, + 0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, + 0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, + 0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, + // Bytes 1b00 - 1b3f + 0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, + 0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, + 0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, + 0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, + 0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, + 0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, + 0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, + 0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, + // Bytes 1b40 - 1b7f + 0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, + 0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, + 0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, + 0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, + 0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, + 0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, + 0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, + 0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, + // Bytes 1b80 - 1bbf + 0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, + 0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, + 0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, + 0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, + 0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, + 0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, + 0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, + 0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, + // Bytes 1bc0 - 1bff + 0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, + 0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, + 0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, + 0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, + 0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, + 0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, + 0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, + 0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, + // Bytes 1c00 - 1c3f + 0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, + 0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, + 0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, + 0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, + 0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, + 0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, + 0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, + 0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, + // Bytes 1c40 - 1c7f + 0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, + 0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, + 0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, + 0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, + 0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, + 0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, + 0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, + 0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, + // Bytes 1c80 - 1cbf + 0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, + 0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, + 0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, + 0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, + 0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, + 0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, + 0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, + 0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, + // Bytes 1cc0 - 1cff + 0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, + 0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, + 0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, + 0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, + 0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, + 0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, + 0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, + 0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, + // Bytes 1d00 - 1d3f + 0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, + 0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, + 0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, + 0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, + 0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, + 0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, + 0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, + 0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, + // Bytes 1d40 - 1d7f + 0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, + 0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, + 0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, + 0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, + 0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, + 0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, + 0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, + 0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, + // Bytes 1d80 - 1dbf + 0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, + 0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, + 0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, + 0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, + 0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, + 0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, + 0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, + 0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, + // Bytes 1dc0 - 1dff + 0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, + 0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, + 0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, + 0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, + 0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, + 0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, + 0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, + 0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, + // Bytes 1e00 - 1e3f + 0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, + 0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, + 0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, + 0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, + 0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, + 0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, + 0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, + 0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, + // Bytes 1e40 - 1e7f + 0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, + 0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, + 0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, + 0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, + 0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, + 0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, + 0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, + 0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1e80 - 1ebf + 0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, + 0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, + 0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, + 0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, + 0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, + 0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, + 0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, + 0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, + // Bytes 1ec0 - 1eff + 0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, + 0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, + 0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, + 0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, + 0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, + 0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, + 0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, + 0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, + // Bytes 1f00 - 1f3f + 0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, + 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, + 0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, + 0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, + 0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, + 0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, + 0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, + 0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, + // Bytes 1f40 - 1f7f + 0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, + 0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, + 0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, + 0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, + 0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, + 0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, + 0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, + 0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, + // Bytes 1f80 - 1fbf + 0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, + 0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, + 0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, + 0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, + 0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, + 0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, + 0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, + 0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, + // Bytes 1fc0 - 1fff + 0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, + 0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, + 0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, + 0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, + 0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, + 0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, + 0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, + 0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, + // Bytes 2000 - 203f + 0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, + 0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, + 0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, + 0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, + 0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, + 0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, + 0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, + 0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, + // Bytes 2040 - 207f + 0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, + 0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, + 0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, + 0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, + // Bytes 2080 - 20bf + 0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, + 0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, + 0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, + 0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, + // Bytes 20c0 - 20ff + 0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, + 0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, + 0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, + 0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, + 0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, + 0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, + 0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, + 0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, + // Bytes 2100 - 213f + 0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, + 0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, + 0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, + 0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, + 0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, + 0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, + 0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, + 0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, + // Bytes 2140 - 217f + 0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, + 0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, + 0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, + 0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, + 0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, + 0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, + 0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, + 0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, + // Bytes 2180 - 21bf + 0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, + 0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, + // Bytes 21c0 - 21ff + 0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, + // Bytes 2200 - 223f + 0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, + // Bytes 2240 - 227f + 0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, + // Bytes 2280 - 22bf + 0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, + 0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, + 0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + // Bytes 22c0 - 22ff + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, + 0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, + 0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, + 0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, + 0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, + 0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, + 0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, + // Bytes 2300 - 233f + 0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, + 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, + 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, + // Bytes 2340 - 237f + 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, + 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, + 0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, + // Bytes 2380 - 23bf + 0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, + 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, + 0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, + // Bytes 23c0 - 23ff + 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, + 0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, + 0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, + 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, + // Bytes 2400 - 243f + 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, + 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, + 0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, + 0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, + 0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, + // Bytes 2440 - 247f + 0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, + 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, + 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, + 0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, + // Bytes 2480 - 24bf + 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, + 0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, + 0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, + // Bytes 24c0 - 24ff + 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, + 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, + 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, + 0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, + // Bytes 2500 - 253f + 0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, + 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, + 0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, + 0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, + 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, + // Bytes 2540 - 257f + 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, + 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, + 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, + 0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, + // Bytes 2580 - 25bf + 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, + 0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, + 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, + 0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, + // Bytes 25c0 - 25ff + 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, + // Bytes 2600 - 263f + 0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, + 0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, + 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, + 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, + 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, + // Bytes 2640 - 267f + 0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, + 0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, + 0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, + // Bytes 2680 - 26bf + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, + 0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, + 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, + 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, + 0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, + 0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, + // Bytes 26c0 - 26ff + 0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, + 0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, + 0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, + 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, + 0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, + 0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, + 0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, + // Bytes 2700 - 273f + 0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90, + 0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46, + 0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72, + 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3, + 0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, + // Bytes 2740 - 277f + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29, + // Bytes 2780 - 27bf + 0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61, + 0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8, + 0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48, + // Bytes 27c0 - 27ff + 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, + 0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9, + 0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, + 0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8, + 0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84, + 0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8, + 0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2, + // Bytes 2800 - 283f + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3, + 0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B, + // Bytes 2840 - 287f + 0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C, + 0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95, + // Bytes 2880 - 28bf + 0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6, + 0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, + 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, + 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1, + // Bytes 28c0 - 28ff + 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3, + 0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A, + 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, + 0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3, + 0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3, + // Bytes 2900 - 293f + 0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3, + 0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98, + 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3, + // Bytes 2940 - 297f + 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3, + 0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF, + 0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82, + // Bytes 2980 - 29bf + 0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, + 0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82, + 0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3, + // Bytes 29c0 - 29ff + 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, + 0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, + 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, + 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82, + 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2a40 - 2a7f + 0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, + // Bytes 2a80 - 2abf + 0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3, + 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C, + 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, + 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92, + 0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9, + // Bytes 2b00 - 2b3f + 0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5, + // Bytes 2b40 - 2b7f + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B, + 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E, + // Bytes 2b80 - 2bbf + 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, + 0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84, + 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3, + // Bytes 2bc0 - 2bff + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2c00 - 2c3f + 0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3, + 0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83, + 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, + 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, + 0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, + 0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, + // Bytes 2c40 - 2c7f + 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, + 0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9, + // Bytes 2c80 - 2cbf + 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, + 0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, + 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2cc0 - 2cff + 0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0, + 0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2d00 - 2d3f + 0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0, + 0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1, + 0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1, + 0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + // Bytes 2d40 - 2d7f + 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0, + // Bytes 2d80 - 2dbf + 0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01, + 0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84, + 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, + 0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D, + 0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0, + 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01, + 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, + 0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, + // Bytes 2dc0 - 2dff + 0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96, + 0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, + 0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01, + 0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, + 0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44, + 0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC, + 0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9, + // Bytes 2e00 - 2e3f + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e40 - 2e7f + 0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, + 0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e80 - 2ebf + 0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, + 0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, + 0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, + 0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, + 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + // Bytes 2ec0 - 2eff + 0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83, + 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, + 0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, + 0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, + 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82, + 0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, + // Bytes 2f00 - 2f3f + 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, + 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, + 0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95, + // Bytes 2f40 - 2f7f + 0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, + 0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, + 0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, + 0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, + 0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81, + 0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41, + // Bytes 2f80 - 2fbf + 0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9, + 0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC, + 0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03, + 0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8, + 0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42, + 0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5, + 0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC, + 0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03, + // Bytes 2fc0 - 2fff + 0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87, + 0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44, + 0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5, + 0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC, + 0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03, + 0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83, + 0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45, + 0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9, + // Bytes 3000 - 303f + 0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC, + 0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03, + 0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8, + 0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45, + 0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9, + 0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC, + 0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03, + 0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87, + // Bytes 3040 - 307f + 0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47, + 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9, + 0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC, + 0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03, + 0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7, + 0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49, + 0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9, + 0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC, + // Bytes 3080 - 30bf + 0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03, + 0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87, + 0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49, + 0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9, + 0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC, + 0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03, + 0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82, + 0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B, + // Bytes 30c0 - 30ff + 0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5, + 0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC, + 0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03, + 0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7, + 0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C, + 0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9, + 0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC, + 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03, + // Bytes 3100 - 313f + 0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83, + 0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E, + 0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5, + 0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC, + 0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03, + 0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81, + 0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F, + 0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9, + // Bytes 3140 - 317f + 0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC, + 0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03, + 0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87, + 0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52, + 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9, + 0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC, + 0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03, + 0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82, + // Bytes 3180 - 31bf + 0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53, + 0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5, + 0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC, + 0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03, + 0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7, + 0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54, + 0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9, + 0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC, + // Bytes 31c0 - 31ff + 0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03, + 0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A, + 0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55, + 0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9, + 0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC, + 0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03, + 0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD, + 0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56, + // Bytes 3200 - 323f + 0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5, + 0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC, + 0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03, + 0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88, + 0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58, + 0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9, + 0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC, + 0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03, + // Bytes 3240 - 327f + 0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84, + 0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59, + 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9, + 0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC, + 0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03, + 0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C, + 0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, + 0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9, + // Bytes 3280 - 32bf + 0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC, + 0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03, + 0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C, + 0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61, + 0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5, + 0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC, + 0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03, + 0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81, + // Bytes 32c0 - 32ff + 0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63, + 0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9, + 0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC, + 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03, + 0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD, + 0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65, + 0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9, + 0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC, + // Bytes 3300 - 333f + 0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03, + 0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89, + 0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65, + 0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9, + 0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC, + 0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03, + 0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81, + 0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67, + // Bytes 3340 - 337f + 0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9, + 0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, + 0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03, + 0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87, + 0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68, + 0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5, + 0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC, + 0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3380 - 33bf + 0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81, + 0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69, + 0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9, + 0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC, + 0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03, + 0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91, + 0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69, + 0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5, + // Bytes 33c0 - 33ff + 0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC, + 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03, + 0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3, + 0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B, + 0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9, + 0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC, + 0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03, + 0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81, + // Bytes 3400 - 343f + 0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D, + 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9, + 0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC, + 0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03, + 0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3, + 0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E, + 0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5, + 0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC, + // Bytes 3440 - 347f + 0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03, + 0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B, + 0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F, + 0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9, + 0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC, + 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03, + 0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C, + 0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72, + // Bytes 3480 - 34bf + 0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5, + 0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC, + 0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03, + 0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7, + 0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74, + 0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9, + 0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC, + 0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03, + // Bytes 34c0 - 34ff + 0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1, + 0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75, + 0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9, + 0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC, + 0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03, + 0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C, + 0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75, + 0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5, + // Bytes 3500 - 353f + 0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC, + 0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03, + 0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83, + 0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77, + 0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9, + 0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC, + 0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03, + 0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3, + // Bytes 3540 - 357f + 0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78, + 0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9, + 0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC, + 0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03, + 0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87, + 0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79, + 0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9, + 0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC, + // Bytes 3580 - 35bf + 0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03, + 0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C, + 0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, + 0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80, + 0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04, + 0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86, + 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84, + 0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04, + // Bytes 35c0 - 35ff + 0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6, + 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81, + 0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04, + 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92, + 0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85, + // Bytes 3600 - 363f + 0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04, + 0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F, + // Bytes 3640 - 367f + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04, + // Bytes 3680 - 36bf + 0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85, + 0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7, + 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82, + // Bytes 36c0 - 36ff + 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81, + 0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94, + 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04, + 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85, + 0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86, + 0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04, + 0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92, + // Bytes 3700 - 373f + 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81, + 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3740 - 377f + 0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84, + 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04, + 0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A, + 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04, + 0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, + // Bytes 3780 - 37bf + 0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6, + // Bytes 37c0 - 37ff + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8, + 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04, + 0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83, + 0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86, + 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3800 - 383f + 0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87, + 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88, + 0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04, + 0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4, + 0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, + 0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04, + 0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8, + 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88, + // Bytes 3840 - 387f + 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04, + 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94, + 0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04, + 0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92, + 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94, + 0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + // Bytes 3880 - 38bf + 0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, + 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86, + 0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, + 0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, + 0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA, + 0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, + 0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41, + // Bytes 38c0 - 38ff + 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC, + 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7, + 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45, + 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, + // Bytes 3900 - 393f + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7, + 0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, + 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + 0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, + 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83, + // Bytes 3940 - 397f + 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC, + 0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, + 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, + 0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + 0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F, + 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, + 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, + 0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, + // Bytes 3980 - 39bf + 0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, + 0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, + 0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, + 0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53, + 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, + 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3, + 0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC, + 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, + // Bytes 39c0 - 39ff + 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, + 0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55, + 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B, + 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + // Bytes 3a00 - 3a3f + 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86, + 0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, + 0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, + 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA, + 0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + // Bytes 3a40 - 3a7f + 0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61, + 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3, + 0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC, + 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, + 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA, + 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, + 0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65, + // Bytes 3a80 - 3abf + 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, + 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3, + 0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC, + 0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, + 0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, + 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, + // Bytes 3ac0 - 3aff + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83, + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, + 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, + 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA, + 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, + 0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, + // Bytes 3b00 - 3b3f + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + 0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72, + 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC, + 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C, + 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC, + // Bytes 3b40 - 3b7f + 0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, + 0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA, + 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05, + 0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC, + 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B, + 0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, + // Bytes 3b80 - 3bbf + 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA, + 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05, + 0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1, + 0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE, + 0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, + 0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, + 0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, + 0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, + // Bytes 3bc0 - 3bff + 0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, + 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3c00 - 3c3f + 0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + // Bytes 3c40 - 3c7f + 0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + // Bytes 3c80 - 3cbf + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, + // Bytes 3cc0 - 3cff + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, + 0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + // Bytes 3d00 - 3d3f + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3d40 - 3d7f + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + // Bytes 3d80 - 3dbf + 0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + // Bytes 3dc0 - 3dff + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + // Bytes 3e00 - 3e3f + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3e40 - 3e7f + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + // Bytes 3e80 - 3ebf + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + // Bytes 3ec0 - 3eff + 0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85, + 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11, + // Bytes 3f00 - 3f3f + 0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f40 - 3f7f + 0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f80 - 3fbf + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D, + // Bytes 3fc0 - 3fff + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4000 - 403f + 0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4040 - 407f + 0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4080 - 40bf + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 40c0 - 40ff + 0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + // Bytes 4100 - 413f + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + // Bytes 4140 - 417f + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, + // Bytes 4180 - 41bf + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + // Bytes 41c0 - 41ff + 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + // Bytes 4200 - 423f + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, + // Bytes 4240 - 427f + 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, + 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, + 0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2, + 0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43, + 0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84, + 0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20, + 0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9, + 0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC, + // Bytes 4280 - 42bf + 0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43, + 0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94, + 0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20, + 0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5, + 0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD, + 0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43, + 0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D, + 0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20, + // Bytes 42c0 - 42ff + 0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D, + 0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9, + 0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43, + 0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82, + 0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D, + 0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE, + 0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9, + // Bytes 4300 - 433f + 0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, + 0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, + 0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC, + // Bytes 4340 - 437f + 0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9, + 0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7, + 0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7, + // Bytes 4380 - 43bf + 0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7, + 0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41, + // Bytes 43c0 - 43ff + 0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49, + 0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7, + 0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6, + // Bytes 4400 - 443f + 0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31, + 0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8, + 0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, + 0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8, + 0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9, + 0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65, + 0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9, + // Bytes 4440 - 447f + 0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9, + 0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75, + 0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9, + 0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9, + 0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, + 0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB, + 0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC, + // Bytes 4480 - 44bf + 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, + 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45, + 0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20, + 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, + 0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9, + 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, + // Bytes 44c0 - 44ff + 0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72, + 0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45, + 0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20, + 0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB, + 0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6, + 0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6, + // Bytes 4500 - 453f + 0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9, + 0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1, + // Bytes 4540 - 457f + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97, + // Bytes 4580 - 45bf + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3, + // Bytes 45c0 - 45ff + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85, + 0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, + 0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + 0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49, + // Bytes 4600 - 463f + 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, + 0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, + 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, + 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + // Bytes 4640 - 467f + 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE, + 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, + 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, + 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + // Bytes 4680 - 46bf + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, + 0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC, + 0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83, + 0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A, + 0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43, + 0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9, + 0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC, + 0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83, + // Bytes 46c0 - 46ff + 0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3, + 0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F, + 0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9, + 0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC, + 0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83, + 0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8, + 0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53, + 0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9, + // Bytes 4700 - 473f + 0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC, + 0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83, + 0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B, + 0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61, + 0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9, + 0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC, + 0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83, + 0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82, + // Bytes 4740 - 477f + 0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65, + 0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5, + 0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC, + 0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83, + 0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84, + 0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F, + 0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD, + 0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, + // Bytes 4780 - 47bf + 0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83, + 0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C, + 0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75, + 0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9, + 0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC, + 0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC, + // Bytes 47c0 - 47ff + 0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE, + // Bytes 4800 - 483f + 0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE, + 0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9, + 0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE, + 0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9, + // Bytes 4840 - 487f + 0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE, + 0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF, + 0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC, + 0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF, + 0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC, + // Bytes 4880 - 48bf + 0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + // Bytes 48c0 - 48ff + 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + // Bytes 4900 - 493f + 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + // Bytes 4940 - 497f + 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + // Bytes 4980 - 49bf + 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC, + 0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32, + 0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85, + // Bytes 49c0 - 49ff + 0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, + // Bytes 4a00 - 4a3f + 0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, + // Bytes 4a40 - 4a7f + 0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, + 0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, + 0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32, + 0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3, + // Bytes 4a80 - 4abf + 0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1, + 0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0, + 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00, + 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10442 bytes (10.20 KiB). Checksum: 4ba400a9d8208e03. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 45: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 45 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 47 blocks, 3008 entries, 6016 bytes +// The third block is the zero block. +var nfcValues = [3008]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, + // Block 0x5, offset 0x140 + 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35a1, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b, + 0x2c6: 0xa000, 0x2c7: 0x3709, + 0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x3733, 0x302: 0x37b7, + 0x310: 0x370f, 0x311: 0x3793, + 0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd, + 0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf, + 0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed, + 0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805, + 0x338: 0x3787, 0x339: 0x380b, + // Block 0xd, offset 0x340 + 0x351: 0x812d, + 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, + 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, + 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, + 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, + 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, + 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, + 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, + 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, + 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, + 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x812d, + 0x3b0: 0x811e, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xa000, + 0x3c6: 0x2d26, 0x3c7: 0xa000, 0x3c8: 0x2d2e, 0x3c9: 0xa000, 0x3ca: 0x2d36, 0x3cb: 0xa000, + 0x3cc: 0x2d3e, 0x3cd: 0xa000, 0x3ce: 0x2d46, 0x3d1: 0xa000, + 0x3d2: 0x2d4e, + 0x3f4: 0x8102, 0x3f5: 0x9900, + 0x3fa: 0xa000, 0x3fb: 0x2d56, + 0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000, + // Block 0x10, offset 0x400 + 0x400: 0x8132, 0x401: 0x8132, 0x402: 0x812d, 0x403: 0x8132, 0x404: 0x8132, 0x405: 0x8132, + 0x406: 0x8132, 0x407: 0x8132, 0x408: 0x8132, 0x409: 0x8132, 0x40a: 0x812d, 0x40b: 0x8132, + 0x40c: 0x8132, 0x40d: 0x8135, 0x40e: 0x812a, 0x40f: 0x812d, 0x410: 0x8129, 0x411: 0x8132, + 0x412: 0x8132, 0x413: 0x8132, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, + 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, + 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x422: 0x8132, 0x423: 0x8132, + 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x8132, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x8132, + 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x8132, 0x42e: 0x8132, 0x42f: 0x8132, + 0x430: 0x8132, 0x431: 0x8132, 0x432: 0x8132, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, + 0x436: 0x8133, 0x437: 0x8131, 0x438: 0x8131, 0x439: 0x812d, 0x43b: 0x8132, + 0x43c: 0x8134, 0x43d: 0x812d, 0x43e: 0x8132, 0x43f: 0x812d, + // Block 0x11, offset 0x440 + 0x440: 0x2f97, 0x441: 0x32a3, 0x442: 0x2fa1, 0x443: 0x32ad, 0x444: 0x2fa6, 0x445: 0x32b2, + 0x446: 0x2fab, 0x447: 0x32b7, 0x448: 0x38cc, 0x449: 0x3a5b, 0x44a: 0x2fc4, 0x44b: 0x32d0, + 0x44c: 0x2fce, 0x44d: 0x32da, 0x44e: 0x2fdd, 0x44f: 0x32e9, 0x450: 0x2fd3, 0x451: 0x32df, + 0x452: 0x2fd8, 0x453: 0x32e4, 0x454: 0x38ef, 0x455: 0x3a7e, 0x456: 0x38f6, 0x457: 0x3a85, + 0x458: 0x3019, 0x459: 0x3325, 0x45a: 0x301e, 0x45b: 0x332a, 0x45c: 0x3904, 0x45d: 0x3a93, + 0x45e: 0x3023, 0x45f: 0x332f, 0x460: 0x3032, 0x461: 0x333e, 0x462: 0x3050, 0x463: 0x335c, + 0x464: 0x305f, 0x465: 0x336b, 0x466: 0x3055, 0x467: 0x3361, 0x468: 0x3064, 0x469: 0x3370, + 0x46a: 0x3069, 0x46b: 0x3375, 0x46c: 0x30af, 0x46d: 0x33bb, 0x46e: 0x390b, 0x46f: 0x3a9a, + 0x470: 0x30b9, 0x471: 0x33ca, 0x472: 0x30c3, 0x473: 0x33d4, 0x474: 0x30cd, 0x475: 0x33de, + 0x476: 0x46c4, 0x477: 0x4755, 0x478: 0x3912, 0x479: 0x3aa1, 0x47a: 0x30e6, 0x47b: 0x33f7, + 0x47c: 0x30e1, 0x47d: 0x33f2, 0x47e: 0x30eb, 0x47f: 0x33fc, + // Block 0x12, offset 0x480 + 0x480: 0x30f0, 0x481: 0x3401, 0x482: 0x30f5, 0x483: 0x3406, 0x484: 0x3109, 0x485: 0x341a, + 0x486: 0x3113, 0x487: 0x3424, 0x488: 0x3122, 0x489: 0x3433, 0x48a: 0x311d, 0x48b: 0x342e, + 0x48c: 0x3935, 0x48d: 0x3ac4, 0x48e: 0x3943, 0x48f: 0x3ad2, 0x490: 0x394a, 0x491: 0x3ad9, + 0x492: 0x3951, 0x493: 0x3ae0, 0x494: 0x314f, 0x495: 0x3460, 0x496: 0x3154, 0x497: 0x3465, + 0x498: 0x315e, 0x499: 0x346f, 0x49a: 0x46f1, 0x49b: 0x4782, 0x49c: 0x3997, 0x49d: 0x3b26, + 0x49e: 0x3177, 0x49f: 0x3488, 0x4a0: 0x3181, 0x4a1: 0x3492, 0x4a2: 0x4700, 0x4a3: 0x4791, + 0x4a4: 0x399e, 0x4a5: 0x3b2d, 0x4a6: 0x39a5, 0x4a7: 0x3b34, 0x4a8: 0x39ac, 0x4a9: 0x3b3b, + 0x4aa: 0x3190, 0x4ab: 0x34a1, 0x4ac: 0x319a, 0x4ad: 0x34b0, 0x4ae: 0x31ae, 0x4af: 0x34c4, + 0x4b0: 0x31a9, 0x4b1: 0x34bf, 0x4b2: 0x31ea, 0x4b3: 0x3500, 0x4b4: 0x31f9, 0x4b5: 0x350f, + 0x4b6: 0x31f4, 0x4b7: 0x350a, 0x4b8: 0x39b3, 0x4b9: 0x3b42, 0x4ba: 0x39ba, 0x4bb: 0x3b49, + 0x4bc: 0x31fe, 0x4bd: 0x3514, 0x4be: 0x3203, 0x4bf: 0x3519, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x3208, 0x4c1: 0x351e, 0x4c2: 0x320d, 0x4c3: 0x3523, 0x4c4: 0x321c, 0x4c5: 0x3532, + 0x4c6: 0x3217, 0x4c7: 0x352d, 0x4c8: 0x3221, 0x4c9: 0x353c, 0x4ca: 0x3226, 0x4cb: 0x3541, + 0x4cc: 0x322b, 0x4cd: 0x3546, 0x4ce: 0x3249, 0x4cf: 0x3564, 0x4d0: 0x3262, 0x4d1: 0x3582, + 0x4d2: 0x3271, 0x4d3: 0x3591, 0x4d4: 0x3276, 0x4d5: 0x3596, 0x4d6: 0x337a, 0x4d7: 0x34a6, + 0x4d8: 0x3537, 0x4d9: 0x3573, 0x4db: 0x35d1, + 0x4e0: 0x46a1, 0x4e1: 0x4732, 0x4e2: 0x2f83, 0x4e3: 0x328f, + 0x4e4: 0x3878, 0x4e5: 0x3a07, 0x4e6: 0x3871, 0x4e7: 0x3a00, 0x4e8: 0x3886, 0x4e9: 0x3a15, + 0x4ea: 0x387f, 0x4eb: 0x3a0e, 0x4ec: 0x38be, 0x4ed: 0x3a4d, 0x4ee: 0x3894, 0x4ef: 0x3a23, + 0x4f0: 0x388d, 0x4f1: 0x3a1c, 0x4f2: 0x38a2, 0x4f3: 0x3a31, 0x4f4: 0x389b, 0x4f5: 0x3a2a, + 0x4f6: 0x38c5, 0x4f7: 0x3a54, 0x4f8: 0x46b5, 0x4f9: 0x4746, 0x4fa: 0x3000, 0x4fb: 0x330c, + 0x4fc: 0x2fec, 0x4fd: 0x32f8, 0x4fe: 0x38da, 0x4ff: 0x3a69, + // Block 0x14, offset 0x500 + 0x500: 0x38d3, 0x501: 0x3a62, 0x502: 0x38e8, 0x503: 0x3a77, 0x504: 0x38e1, 0x505: 0x3a70, + 0x506: 0x38fd, 0x507: 0x3a8c, 0x508: 0x3091, 0x509: 0x339d, 0x50a: 0x30a5, 0x50b: 0x33b1, + 0x50c: 0x46e7, 0x50d: 0x4778, 0x50e: 0x3136, 0x50f: 0x3447, 0x510: 0x3920, 0x511: 0x3aaf, + 0x512: 0x3919, 0x513: 0x3aa8, 0x514: 0x392e, 0x515: 0x3abd, 0x516: 0x3927, 0x517: 0x3ab6, + 0x518: 0x3989, 0x519: 0x3b18, 0x51a: 0x396d, 0x51b: 0x3afc, 0x51c: 0x3966, 0x51d: 0x3af5, + 0x51e: 0x397b, 0x51f: 0x3b0a, 0x520: 0x3974, 0x521: 0x3b03, 0x522: 0x3982, 0x523: 0x3b11, + 0x524: 0x31e5, 0x525: 0x34fb, 0x526: 0x31c7, 0x527: 0x34dd, 0x528: 0x39e4, 0x529: 0x3b73, + 0x52a: 0x39dd, 0x52b: 0x3b6c, 0x52c: 0x39f2, 0x52d: 0x3b81, 0x52e: 0x39eb, 0x52f: 0x3b7a, + 0x530: 0x39f9, 0x531: 0x3b88, 0x532: 0x3230, 0x533: 0x354b, 0x534: 0x3258, 0x535: 0x3578, + 0x536: 0x3253, 0x537: 0x356e, 0x538: 0x323f, 0x539: 0x355a, + // Block 0x15, offset 0x540 + 0x540: 0x4804, 0x541: 0x480a, 0x542: 0x491e, 0x543: 0x4936, 0x544: 0x4926, 0x545: 0x493e, + 0x546: 0x492e, 0x547: 0x4946, 0x548: 0x47aa, 0x549: 0x47b0, 0x54a: 0x488e, 0x54b: 0x48a6, + 0x54c: 0x4896, 0x54d: 0x48ae, 0x54e: 0x489e, 0x54f: 0x48b6, 0x550: 0x4816, 0x551: 0x481c, + 0x552: 0x3db8, 0x553: 0x3dc8, 0x554: 0x3dc0, 0x555: 0x3dd0, + 0x558: 0x47b6, 0x559: 0x47bc, 0x55a: 0x3ce8, 0x55b: 0x3cf8, 0x55c: 0x3cf0, 0x55d: 0x3d00, + 0x560: 0x482e, 0x561: 0x4834, 0x562: 0x494e, 0x563: 0x4966, + 0x564: 0x4956, 0x565: 0x496e, 0x566: 0x495e, 0x567: 0x4976, 0x568: 0x47c2, 0x569: 0x47c8, + 0x56a: 0x48be, 0x56b: 0x48d6, 0x56c: 0x48c6, 0x56d: 0x48de, 0x56e: 0x48ce, 0x56f: 0x48e6, + 0x570: 0x4846, 0x571: 0x484c, 0x572: 0x3e18, 0x573: 0x3e30, 0x574: 0x3e20, 0x575: 0x3e38, + 0x576: 0x3e28, 0x577: 0x3e40, 0x578: 0x47ce, 0x579: 0x47d4, 0x57a: 0x3d18, 0x57b: 0x3d30, + 0x57c: 0x3d20, 0x57d: 0x3d38, 0x57e: 0x3d28, 0x57f: 0x3d40, + // Block 0x16, offset 0x580 + 0x580: 0x4852, 0x581: 0x4858, 0x582: 0x3e48, 0x583: 0x3e58, 0x584: 0x3e50, 0x585: 0x3e60, + 0x588: 0x47da, 0x589: 0x47e0, 0x58a: 0x3d48, 0x58b: 0x3d58, + 0x58c: 0x3d50, 0x58d: 0x3d60, 0x590: 0x4864, 0x591: 0x486a, + 0x592: 0x3e80, 0x593: 0x3e98, 0x594: 0x3e88, 0x595: 0x3ea0, 0x596: 0x3e90, 0x597: 0x3ea8, + 0x599: 0x47e6, 0x59b: 0x3d68, 0x59d: 0x3d70, + 0x59f: 0x3d78, 0x5a0: 0x487c, 0x5a1: 0x4882, 0x5a2: 0x497e, 0x5a3: 0x4996, + 0x5a4: 0x4986, 0x5a5: 0x499e, 0x5a6: 0x498e, 0x5a7: 0x49a6, 0x5a8: 0x47ec, 0x5a9: 0x47f2, + 0x5aa: 0x48ee, 0x5ab: 0x4906, 0x5ac: 0x48f6, 0x5ad: 0x490e, 0x5ae: 0x48fe, 0x5af: 0x4916, + 0x5b0: 0x47f8, 0x5b1: 0x431e, 0x5b2: 0x3691, 0x5b3: 0x4324, 0x5b4: 0x4822, 0x5b5: 0x432a, + 0x5b6: 0x36a3, 0x5b7: 0x4330, 0x5b8: 0x36c1, 0x5b9: 0x4336, 0x5ba: 0x36d9, 0x5bb: 0x433c, + 0x5bc: 0x4870, 0x5bd: 0x4342, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x3da0, 0x5c1: 0x3da8, 0x5c2: 0x4184, 0x5c3: 0x41a2, 0x5c4: 0x418e, 0x5c5: 0x41ac, + 0x5c6: 0x4198, 0x5c7: 0x41b6, 0x5c8: 0x3cd8, 0x5c9: 0x3ce0, 0x5ca: 0x40d0, 0x5cb: 0x40ee, + 0x5cc: 0x40da, 0x5cd: 0x40f8, 0x5ce: 0x40e4, 0x5cf: 0x4102, 0x5d0: 0x3de8, 0x5d1: 0x3df0, + 0x5d2: 0x41c0, 0x5d3: 0x41de, 0x5d4: 0x41ca, 0x5d5: 0x41e8, 0x5d6: 0x41d4, 0x5d7: 0x41f2, + 0x5d8: 0x3d08, 0x5d9: 0x3d10, 0x5da: 0x410c, 0x5db: 0x412a, 0x5dc: 0x4116, 0x5dd: 0x4134, + 0x5de: 0x4120, 0x5df: 0x413e, 0x5e0: 0x3ec0, 0x5e1: 0x3ec8, 0x5e2: 0x41fc, 0x5e3: 0x421a, + 0x5e4: 0x4206, 0x5e5: 0x4224, 0x5e6: 0x4210, 0x5e7: 0x422e, 0x5e8: 0x3d80, 0x5e9: 0x3d88, + 0x5ea: 0x4148, 0x5eb: 0x4166, 0x5ec: 0x4152, 0x5ed: 0x4170, 0x5ee: 0x415c, 0x5ef: 0x417a, + 0x5f0: 0x3685, 0x5f1: 0x367f, 0x5f2: 0x3d90, 0x5f3: 0x368b, 0x5f4: 0x3d98, + 0x5f6: 0x4810, 0x5f7: 0x3db0, 0x5f8: 0x35f5, 0x5f9: 0x35ef, 0x5fa: 0x35e3, 0x5fb: 0x42ee, + 0x5fc: 0x35fb, 0x5fd: 0x8100, 0x5fe: 0x01d3, 0x5ff: 0xa100, + // Block 0x18, offset 0x600 + 0x600: 0x8100, 0x601: 0x35a7, 0x602: 0x3dd8, 0x603: 0x369d, 0x604: 0x3de0, + 0x606: 0x483a, 0x607: 0x3df8, 0x608: 0x3601, 0x609: 0x42f4, 0x60a: 0x360d, 0x60b: 0x42fa, + 0x60c: 0x3619, 0x60d: 0x3b8f, 0x60e: 0x3b96, 0x60f: 0x3b9d, 0x610: 0x36b5, 0x611: 0x36af, + 0x612: 0x3e00, 0x613: 0x44e4, 0x616: 0x36bb, 0x617: 0x3e10, + 0x618: 0x3631, 0x619: 0x362b, 0x61a: 0x361f, 0x61b: 0x4300, 0x61d: 0x3ba4, + 0x61e: 0x3bab, 0x61f: 0x3bb2, 0x620: 0x36eb, 0x621: 0x36e5, 0x622: 0x3e68, 0x623: 0x44ec, + 0x624: 0x36cd, 0x625: 0x36d3, 0x626: 0x36f1, 0x627: 0x3e78, 0x628: 0x3661, 0x629: 0x365b, + 0x62a: 0x364f, 0x62b: 0x430c, 0x62c: 0x3649, 0x62d: 0x359b, 0x62e: 0x42e8, 0x62f: 0x0081, + 0x632: 0x3eb0, 0x633: 0x36f7, 0x634: 0x3eb8, + 0x636: 0x4888, 0x637: 0x3ed0, 0x638: 0x363d, 0x639: 0x4306, 0x63a: 0x366d, 0x63b: 0x4318, + 0x63c: 0x3679, 0x63d: 0x4256, 0x63e: 0xa100, + // Block 0x19, offset 0x640 + 0x641: 0x3c06, 0x643: 0xa000, 0x644: 0x3c0d, 0x645: 0xa000, + 0x647: 0x3c14, 0x648: 0xa000, 0x649: 0x3c1b, + 0x64d: 0xa000, + 0x660: 0x2f65, 0x661: 0xa000, 0x662: 0x3c29, + 0x664: 0xa000, 0x665: 0xa000, + 0x66d: 0x3c22, 0x66e: 0x2f60, 0x66f: 0x2f6a, + 0x670: 0x3c30, 0x671: 0x3c37, 0x672: 0xa000, 0x673: 0xa000, 0x674: 0x3c3e, 0x675: 0x3c45, + 0x676: 0xa000, 0x677: 0xa000, 0x678: 0x3c4c, 0x679: 0x3c53, 0x67a: 0xa000, 0x67b: 0xa000, + 0x67c: 0xa000, 0x67d: 0xa000, + // Block 0x1a, offset 0x680 + 0x680: 0x3c5a, 0x681: 0x3c61, 0x682: 0xa000, 0x683: 0xa000, 0x684: 0x3c76, 0x685: 0x3c7d, + 0x686: 0xa000, 0x687: 0xa000, 0x688: 0x3c84, 0x689: 0x3c8b, + 0x691: 0xa000, + 0x692: 0xa000, + 0x6a2: 0xa000, + 0x6a8: 0xa000, 0x6a9: 0xa000, + 0x6ab: 0xa000, 0x6ac: 0x3ca0, 0x6ad: 0x3ca7, 0x6ae: 0x3cae, 0x6af: 0x3cb5, + 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0xa000, 0x6b5: 0xa000, + // Block 0x1b, offset 0x6c0 + 0x6c6: 0xa000, 0x6cb: 0xa000, + 0x6cc: 0x3f08, 0x6cd: 0xa000, 0x6ce: 0x3f10, 0x6cf: 0xa000, 0x6d0: 0x3f18, 0x6d1: 0xa000, + 0x6d2: 0x3f20, 0x6d3: 0xa000, 0x6d4: 0x3f28, 0x6d5: 0xa000, 0x6d6: 0x3f30, 0x6d7: 0xa000, + 0x6d8: 0x3f38, 0x6d9: 0xa000, 0x6da: 0x3f40, 0x6db: 0xa000, 0x6dc: 0x3f48, 0x6dd: 0xa000, + 0x6de: 0x3f50, 0x6df: 0xa000, 0x6e0: 0x3f58, 0x6e1: 0xa000, 0x6e2: 0x3f60, + 0x6e4: 0xa000, 0x6e5: 0x3f68, 0x6e6: 0xa000, 0x6e7: 0x3f70, 0x6e8: 0xa000, 0x6e9: 0x3f78, + 0x6ef: 0xa000, + 0x6f0: 0x3f80, 0x6f1: 0x3f88, 0x6f2: 0xa000, 0x6f3: 0x3f90, 0x6f4: 0x3f98, 0x6f5: 0xa000, + 0x6f6: 0x3fa0, 0x6f7: 0x3fa8, 0x6f8: 0xa000, 0x6f9: 0x3fb0, 0x6fa: 0x3fb8, 0x6fb: 0xa000, + 0x6fc: 0x3fc0, 0x6fd: 0x3fc8, + // Block 0x1c, offset 0x700 + 0x714: 0x3f00, + 0x719: 0x9903, 0x71a: 0x9903, 0x71b: 0x8100, 0x71c: 0x8100, 0x71d: 0xa000, + 0x71e: 0x3fd0, + 0x726: 0xa000, + 0x72b: 0xa000, 0x72c: 0x3fe0, 0x72d: 0xa000, 0x72e: 0x3fe8, 0x72f: 0xa000, + 0x730: 0x3ff0, 0x731: 0xa000, 0x732: 0x3ff8, 0x733: 0xa000, 0x734: 0x4000, 0x735: 0xa000, + 0x736: 0x4008, 0x737: 0xa000, 0x738: 0x4010, 0x739: 0xa000, 0x73a: 0x4018, 0x73b: 0xa000, + 0x73c: 0x4020, 0x73d: 0xa000, 0x73e: 0x4028, 0x73f: 0xa000, + // Block 0x1d, offset 0x740 + 0x740: 0x4030, 0x741: 0xa000, 0x742: 0x4038, 0x744: 0xa000, 0x745: 0x4040, + 0x746: 0xa000, 0x747: 0x4048, 0x748: 0xa000, 0x749: 0x4050, + 0x74f: 0xa000, 0x750: 0x4058, 0x751: 0x4060, + 0x752: 0xa000, 0x753: 0x4068, 0x754: 0x4070, 0x755: 0xa000, 0x756: 0x4078, 0x757: 0x4080, + 0x758: 0xa000, 0x759: 0x4088, 0x75a: 0x4090, 0x75b: 0xa000, 0x75c: 0x4098, 0x75d: 0x40a0, + 0x76f: 0xa000, + 0x770: 0xa000, 0x771: 0xa000, 0x772: 0xa000, 0x774: 0x3fd8, + 0x777: 0x40a8, 0x778: 0x40b0, 0x779: 0x40b8, 0x77a: 0x40c0, + 0x77d: 0xa000, 0x77e: 0x40c8, + // Block 0x1e, offset 0x780 + 0x780: 0x1377, 0x781: 0x0cfb, 0x782: 0x13d3, 0x783: 0x139f, 0x784: 0x0e57, 0x785: 0x06eb, + 0x786: 0x08df, 0x787: 0x162b, 0x788: 0x162b, 0x789: 0x0a0b, 0x78a: 0x145f, 0x78b: 0x0943, + 0x78c: 0x0a07, 0x78d: 0x0bef, 0x78e: 0x0fcf, 0x78f: 0x115f, 0x790: 0x1297, 0x791: 0x12d3, + 0x792: 0x1307, 0x793: 0x141b, 0x794: 0x0d73, 0x795: 0x0dff, 0x796: 0x0eab, 0x797: 0x0f43, + 0x798: 0x125f, 0x799: 0x1447, 0x79a: 0x1573, 0x79b: 0x070f, 0x79c: 0x08b3, 0x79d: 0x0d87, + 0x79e: 0x0ecf, 0x79f: 0x1293, 0x7a0: 0x15c3, 0x7a1: 0x0ab3, 0x7a2: 0x0e77, 0x7a3: 0x1283, + 0x7a4: 0x1317, 0x7a5: 0x0c23, 0x7a6: 0x11bb, 0x7a7: 0x12df, 0x7a8: 0x0b1f, 0x7a9: 0x0d0f, + 0x7aa: 0x0e17, 0x7ab: 0x0f1b, 0x7ac: 0x1427, 0x7ad: 0x074f, 0x7ae: 0x07e7, 0x7af: 0x0853, + 0x7b0: 0x0c8b, 0x7b1: 0x0d7f, 0x7b2: 0x0ecb, 0x7b3: 0x0fef, 0x7b4: 0x1177, 0x7b5: 0x128b, + 0x7b6: 0x12a3, 0x7b7: 0x13c7, 0x7b8: 0x14ef, 0x7b9: 0x15a3, 0x7ba: 0x15bf, 0x7bb: 0x102b, + 0x7bc: 0x106b, 0x7bd: 0x1123, 0x7be: 0x1243, 0x7bf: 0x147b, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x15cb, 0x7c1: 0x134b, 0x7c2: 0x09c7, 0x7c3: 0x0b3b, 0x7c4: 0x10db, 0x7c5: 0x119b, + 0x7c6: 0x0eff, 0x7c7: 0x1033, 0x7c8: 0x1397, 0x7c9: 0x14e7, 0x7ca: 0x09c3, 0x7cb: 0x0a8f, + 0x7cc: 0x0d77, 0x7cd: 0x0e2b, 0x7ce: 0x0e5f, 0x7cf: 0x1113, 0x7d0: 0x113b, 0x7d1: 0x14a7, + 0x7d2: 0x084f, 0x7d3: 0x11a7, 0x7d4: 0x07f3, 0x7d5: 0x07ef, 0x7d6: 0x1097, 0x7d7: 0x1127, + 0x7d8: 0x125b, 0x7d9: 0x14af, 0x7da: 0x1367, 0x7db: 0x0c27, 0x7dc: 0x0d73, 0x7dd: 0x1357, + 0x7de: 0x06f7, 0x7df: 0x0a63, 0x7e0: 0x0b93, 0x7e1: 0x0f2f, 0x7e2: 0x0faf, 0x7e3: 0x0873, + 0x7e4: 0x103b, 0x7e5: 0x075f, 0x7e6: 0x0b77, 0x7e7: 0x06d7, 0x7e8: 0x0deb, 0x7e9: 0x0ca3, + 0x7ea: 0x110f, 0x7eb: 0x08c7, 0x7ec: 0x09b3, 0x7ed: 0x0ffb, 0x7ee: 0x1263, 0x7ef: 0x133b, + 0x7f0: 0x0db7, 0x7f1: 0x13f7, 0x7f2: 0x0de3, 0x7f3: 0x0c37, 0x7f4: 0x121b, 0x7f5: 0x0c57, + 0x7f6: 0x0fab, 0x7f7: 0x072b, 0x7f8: 0x07a7, 0x7f9: 0x07eb, 0x7fa: 0x0d53, 0x7fb: 0x10fb, + 0x7fc: 0x11f3, 0x7fd: 0x1347, 0x7fe: 0x145b, 0x7ff: 0x085b, + // Block 0x20, offset 0x800 + 0x800: 0x090f, 0x801: 0x0a17, 0x802: 0x0b2f, 0x803: 0x0cbf, 0x804: 0x0e7b, 0x805: 0x103f, + 0x806: 0x1497, 0x807: 0x157b, 0x808: 0x15cf, 0x809: 0x15e7, 0x80a: 0x0837, 0x80b: 0x0cf3, + 0x80c: 0x0da3, 0x80d: 0x13eb, 0x80e: 0x0afb, 0x80f: 0x0bd7, 0x810: 0x0bf3, 0x811: 0x0c83, + 0x812: 0x0e6b, 0x813: 0x0eb7, 0x814: 0x0f67, 0x815: 0x108b, 0x816: 0x112f, 0x817: 0x1193, + 0x818: 0x13db, 0x819: 0x126b, 0x81a: 0x1403, 0x81b: 0x147f, 0x81c: 0x080f, 0x81d: 0x083b, + 0x81e: 0x0923, 0x81f: 0x0ea7, 0x820: 0x12f3, 0x821: 0x133b, 0x822: 0x0b1b, 0x823: 0x0b8b, + 0x824: 0x0c4f, 0x825: 0x0daf, 0x826: 0x10d7, 0x827: 0x0f23, 0x828: 0x073b, 0x829: 0x097f, + 0x82a: 0x0a63, 0x82b: 0x0ac7, 0x82c: 0x0b97, 0x82d: 0x0f3f, 0x82e: 0x0f5b, 0x82f: 0x116b, + 0x830: 0x118b, 0x831: 0x1463, 0x832: 0x14e3, 0x833: 0x14f3, 0x834: 0x152f, 0x835: 0x0753, + 0x836: 0x107f, 0x837: 0x144f, 0x838: 0x14cb, 0x839: 0x0baf, 0x83a: 0x0717, 0x83b: 0x0777, + 0x83c: 0x0a67, 0x83d: 0x0a87, 0x83e: 0x0caf, 0x83f: 0x0d73, + // Block 0x21, offset 0x840 + 0x840: 0x0ec3, 0x841: 0x0fcb, 0x842: 0x1277, 0x843: 0x1417, 0x844: 0x1623, 0x845: 0x0ce3, + 0x846: 0x14a3, 0x847: 0x0833, 0x848: 0x0d2f, 0x849: 0x0d3b, 0x84a: 0x0e0f, 0x84b: 0x0e47, + 0x84c: 0x0f4b, 0x84d: 0x0fa7, 0x84e: 0x1027, 0x84f: 0x110b, 0x850: 0x153b, 0x851: 0x07af, + 0x852: 0x0c03, 0x853: 0x14b3, 0x854: 0x0767, 0x855: 0x0aab, 0x856: 0x0e2f, 0x857: 0x13df, + 0x858: 0x0b67, 0x859: 0x0bb7, 0x85a: 0x0d43, 0x85b: 0x0f2f, 0x85c: 0x14bb, 0x85d: 0x0817, + 0x85e: 0x08ff, 0x85f: 0x0a97, 0x860: 0x0cd3, 0x861: 0x0d1f, 0x862: 0x0d5f, 0x863: 0x0df3, + 0x864: 0x0f47, 0x865: 0x0fbb, 0x866: 0x1157, 0x867: 0x12f7, 0x868: 0x1303, 0x869: 0x1457, + 0x86a: 0x14d7, 0x86b: 0x0883, 0x86c: 0x0e4b, 0x86d: 0x0903, 0x86e: 0x0ec7, 0x86f: 0x0f6b, + 0x870: 0x1287, 0x871: 0x14bf, 0x872: 0x15ab, 0x873: 0x15d3, 0x874: 0x0d37, 0x875: 0x0e27, + 0x876: 0x11c3, 0x877: 0x10b7, 0x878: 0x10c3, 0x879: 0x10e7, 0x87a: 0x0f17, 0x87b: 0x0e9f, + 0x87c: 0x1363, 0x87d: 0x0733, 0x87e: 0x122b, 0x87f: 0x081b, + // Block 0x22, offset 0x880 + 0x880: 0x080b, 0x881: 0x0b0b, 0x882: 0x0c2b, 0x883: 0x10f3, 0x884: 0x0a53, 0x885: 0x0e03, + 0x886: 0x0cef, 0x887: 0x13e7, 0x888: 0x12e7, 0x889: 0x14ab, 0x88a: 0x1323, 0x88b: 0x0b27, + 0x88c: 0x0787, 0x88d: 0x095b, 0x890: 0x09af, + 0x892: 0x0cdf, 0x895: 0x07f7, 0x896: 0x0f1f, 0x897: 0x0fe3, + 0x898: 0x1047, 0x899: 0x1063, 0x89a: 0x1067, 0x89b: 0x107b, 0x89c: 0x14fb, 0x89d: 0x10eb, + 0x89e: 0x116f, 0x8a0: 0x128f, 0x8a2: 0x1353, + 0x8a5: 0x1407, 0x8a6: 0x1433, + 0x8aa: 0x154f, 0x8ab: 0x1553, 0x8ac: 0x1557, 0x8ad: 0x15bb, 0x8ae: 0x142b, 0x8af: 0x14c7, + 0x8b0: 0x0757, 0x8b1: 0x077b, 0x8b2: 0x078f, 0x8b3: 0x084b, 0x8b4: 0x0857, 0x8b5: 0x0897, + 0x8b6: 0x094b, 0x8b7: 0x0967, 0x8b8: 0x096f, 0x8b9: 0x09ab, 0x8ba: 0x09b7, 0x8bb: 0x0a93, + 0x8bc: 0x0a9b, 0x8bd: 0x0ba3, 0x8be: 0x0bcb, 0x8bf: 0x0bd3, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0beb, 0x8c1: 0x0c97, 0x8c2: 0x0cc7, 0x8c3: 0x0ce7, 0x8c4: 0x0d57, 0x8c5: 0x0e1b, + 0x8c6: 0x0e37, 0x8c7: 0x0e67, 0x8c8: 0x0ebb, 0x8c9: 0x0edb, 0x8ca: 0x0f4f, 0x8cb: 0x102f, + 0x8cc: 0x104b, 0x8cd: 0x1053, 0x8ce: 0x104f, 0x8cf: 0x1057, 0x8d0: 0x105b, 0x8d1: 0x105f, + 0x8d2: 0x1073, 0x8d3: 0x1077, 0x8d4: 0x109b, 0x8d5: 0x10af, 0x8d6: 0x10cb, 0x8d7: 0x112f, + 0x8d8: 0x1137, 0x8d9: 0x113f, 0x8da: 0x1153, 0x8db: 0x117b, 0x8dc: 0x11cb, 0x8dd: 0x11ff, + 0x8de: 0x11ff, 0x8df: 0x1267, 0x8e0: 0x130f, 0x8e1: 0x1327, 0x8e2: 0x135b, 0x8e3: 0x135f, + 0x8e4: 0x13a3, 0x8e5: 0x13a7, 0x8e6: 0x13ff, 0x8e7: 0x1407, 0x8e8: 0x14db, 0x8e9: 0x151f, + 0x8ea: 0x1537, 0x8eb: 0x0b9b, 0x8ec: 0x171e, 0x8ed: 0x11e3, + 0x8f0: 0x06df, 0x8f1: 0x07e3, 0x8f2: 0x07a3, 0x8f3: 0x074b, 0x8f4: 0x078b, 0x8f5: 0x07b7, + 0x8f6: 0x0847, 0x8f7: 0x0863, 0x8f8: 0x094b, 0x8f9: 0x0937, 0x8fa: 0x0947, 0x8fb: 0x0963, + 0x8fc: 0x09af, 0x8fd: 0x09bf, 0x8fe: 0x0a03, 0x8ff: 0x0a0f, + // Block 0x24, offset 0x900 + 0x900: 0x0a2b, 0x901: 0x0a3b, 0x902: 0x0b23, 0x903: 0x0b2b, 0x904: 0x0b5b, 0x905: 0x0b7b, + 0x906: 0x0bab, 0x907: 0x0bc3, 0x908: 0x0bb3, 0x909: 0x0bd3, 0x90a: 0x0bc7, 0x90b: 0x0beb, + 0x90c: 0x0c07, 0x90d: 0x0c5f, 0x90e: 0x0c6b, 0x90f: 0x0c73, 0x910: 0x0c9b, 0x911: 0x0cdf, + 0x912: 0x0d0f, 0x913: 0x0d13, 0x914: 0x0d27, 0x915: 0x0da7, 0x916: 0x0db7, 0x917: 0x0e0f, + 0x918: 0x0e5b, 0x919: 0x0e53, 0x91a: 0x0e67, 0x91b: 0x0e83, 0x91c: 0x0ebb, 0x91d: 0x1013, + 0x91e: 0x0edf, 0x91f: 0x0f13, 0x920: 0x0f1f, 0x921: 0x0f5f, 0x922: 0x0f7b, 0x923: 0x0f9f, + 0x924: 0x0fc3, 0x925: 0x0fc7, 0x926: 0x0fe3, 0x927: 0x0fe7, 0x928: 0x0ff7, 0x929: 0x100b, + 0x92a: 0x1007, 0x92b: 0x1037, 0x92c: 0x10b3, 0x92d: 0x10cb, 0x92e: 0x10e3, 0x92f: 0x111b, + 0x930: 0x112f, 0x931: 0x114b, 0x932: 0x117b, 0x933: 0x122f, 0x934: 0x1257, 0x935: 0x12cb, + 0x936: 0x1313, 0x937: 0x131f, 0x938: 0x1327, 0x939: 0x133f, 0x93a: 0x1353, 0x93b: 0x1343, + 0x93c: 0x135b, 0x93d: 0x1357, 0x93e: 0x134f, 0x93f: 0x135f, + // Block 0x25, offset 0x940 + 0x940: 0x136b, 0x941: 0x13a7, 0x942: 0x13e3, 0x943: 0x1413, 0x944: 0x144b, 0x945: 0x146b, + 0x946: 0x14b7, 0x947: 0x14db, 0x948: 0x14fb, 0x949: 0x150f, 0x94a: 0x151f, 0x94b: 0x152b, + 0x94c: 0x1537, 0x94d: 0x158b, 0x94e: 0x162b, 0x94f: 0x16b5, 0x950: 0x16b0, 0x951: 0x16e2, + 0x952: 0x0607, 0x953: 0x062f, 0x954: 0x0633, 0x955: 0x1764, 0x956: 0x1791, 0x957: 0x1809, + 0x958: 0x1617, 0x959: 0x1627, + // Block 0x26, offset 0x980 + 0x980: 0x06fb, 0x981: 0x06f3, 0x982: 0x0703, 0x983: 0x1647, 0x984: 0x0747, 0x985: 0x0757, + 0x986: 0x075b, 0x987: 0x0763, 0x988: 0x076b, 0x989: 0x076f, 0x98a: 0x077b, 0x98b: 0x0773, + 0x98c: 0x05b3, 0x98d: 0x165b, 0x98e: 0x078f, 0x98f: 0x0793, 0x990: 0x0797, 0x991: 0x07b3, + 0x992: 0x164c, 0x993: 0x05b7, 0x994: 0x079f, 0x995: 0x07bf, 0x996: 0x1656, 0x997: 0x07cf, + 0x998: 0x07d7, 0x999: 0x0737, 0x99a: 0x07df, 0x99b: 0x07e3, 0x99c: 0x1831, 0x99d: 0x07ff, + 0x99e: 0x0807, 0x99f: 0x05bf, 0x9a0: 0x081f, 0x9a1: 0x0823, 0x9a2: 0x082b, 0x9a3: 0x082f, + 0x9a4: 0x05c3, 0x9a5: 0x0847, 0x9a6: 0x084b, 0x9a7: 0x0857, 0x9a8: 0x0863, 0x9a9: 0x0867, + 0x9aa: 0x086b, 0x9ab: 0x0873, 0x9ac: 0x0893, 0x9ad: 0x0897, 0x9ae: 0x089f, 0x9af: 0x08af, + 0x9b0: 0x08b7, 0x9b1: 0x08bb, 0x9b2: 0x08bb, 0x9b3: 0x08bb, 0x9b4: 0x166a, 0x9b5: 0x0e93, + 0x9b6: 0x08cf, 0x9b7: 0x08d7, 0x9b8: 0x166f, 0x9b9: 0x08e3, 0x9ba: 0x08eb, 0x9bb: 0x08f3, + 0x9bc: 0x091b, 0x9bd: 0x0907, 0x9be: 0x0913, 0x9bf: 0x0917, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x091f, 0x9c1: 0x0927, 0x9c2: 0x092b, 0x9c3: 0x0933, 0x9c4: 0x093b, 0x9c5: 0x093f, + 0x9c6: 0x093f, 0x9c7: 0x0947, 0x9c8: 0x094f, 0x9c9: 0x0953, 0x9ca: 0x095f, 0x9cb: 0x0983, + 0x9cc: 0x0967, 0x9cd: 0x0987, 0x9ce: 0x096b, 0x9cf: 0x0973, 0x9d0: 0x080b, 0x9d1: 0x09cf, + 0x9d2: 0x0997, 0x9d3: 0x099b, 0x9d4: 0x099f, 0x9d5: 0x0993, 0x9d6: 0x09a7, 0x9d7: 0x09a3, + 0x9d8: 0x09bb, 0x9d9: 0x1674, 0x9da: 0x09d7, 0x9db: 0x09db, 0x9dc: 0x09e3, 0x9dd: 0x09ef, + 0x9de: 0x09f7, 0x9df: 0x0a13, 0x9e0: 0x1679, 0x9e1: 0x167e, 0x9e2: 0x0a1f, 0x9e3: 0x0a23, + 0x9e4: 0x0a27, 0x9e5: 0x0a1b, 0x9e6: 0x0a2f, 0x9e7: 0x05c7, 0x9e8: 0x05cb, 0x9e9: 0x0a37, + 0x9ea: 0x0a3f, 0x9eb: 0x0a3f, 0x9ec: 0x1683, 0x9ed: 0x0a5b, 0x9ee: 0x0a5f, 0x9ef: 0x0a63, + 0x9f0: 0x0a6b, 0x9f1: 0x1688, 0x9f2: 0x0a73, 0x9f3: 0x0a77, 0x9f4: 0x0b4f, 0x9f5: 0x0a7f, + 0x9f6: 0x05cf, 0x9f7: 0x0a8b, 0x9f8: 0x0a9b, 0x9f9: 0x0aa7, 0x9fa: 0x0aa3, 0x9fb: 0x1692, + 0x9fc: 0x0aaf, 0x9fd: 0x1697, 0x9fe: 0x0abb, 0x9ff: 0x0ab7, + // Block 0x28, offset 0xa00 + 0xa00: 0x0abf, 0xa01: 0x0acf, 0xa02: 0x0ad3, 0xa03: 0x05d3, 0xa04: 0x0ae3, 0xa05: 0x0aeb, + 0xa06: 0x0aef, 0xa07: 0x0af3, 0xa08: 0x05d7, 0xa09: 0x169c, 0xa0a: 0x05db, 0xa0b: 0x0b0f, + 0xa0c: 0x0b13, 0xa0d: 0x0b17, 0xa0e: 0x0b1f, 0xa0f: 0x1863, 0xa10: 0x0b37, 0xa11: 0x16a6, + 0xa12: 0x16a6, 0xa13: 0x11d7, 0xa14: 0x0b47, 0xa15: 0x0b47, 0xa16: 0x05df, 0xa17: 0x16c9, + 0xa18: 0x179b, 0xa19: 0x0b57, 0xa1a: 0x0b5f, 0xa1b: 0x05e3, 0xa1c: 0x0b73, 0xa1d: 0x0b83, + 0xa1e: 0x0b87, 0xa1f: 0x0b8f, 0xa20: 0x0b9f, 0xa21: 0x05eb, 0xa22: 0x05e7, 0xa23: 0x0ba3, + 0xa24: 0x16ab, 0xa25: 0x0ba7, 0xa26: 0x0bbb, 0xa27: 0x0bbf, 0xa28: 0x0bc3, 0xa29: 0x0bbf, + 0xa2a: 0x0bcf, 0xa2b: 0x0bd3, 0xa2c: 0x0be3, 0xa2d: 0x0bdb, 0xa2e: 0x0bdf, 0xa2f: 0x0be7, + 0xa30: 0x0beb, 0xa31: 0x0bef, 0xa32: 0x0bfb, 0xa33: 0x0bff, 0xa34: 0x0c17, 0xa35: 0x0c1f, + 0xa36: 0x0c2f, 0xa37: 0x0c43, 0xa38: 0x16ba, 0xa39: 0x0c3f, 0xa3a: 0x0c33, 0xa3b: 0x0c4b, + 0xa3c: 0x0c53, 0xa3d: 0x0c67, 0xa3e: 0x16bf, 0xa3f: 0x0c6f, + // Block 0x29, offset 0xa40 + 0xa40: 0x0c63, 0xa41: 0x0c5b, 0xa42: 0x05ef, 0xa43: 0x0c77, 0xa44: 0x0c7f, 0xa45: 0x0c87, + 0xa46: 0x0c7b, 0xa47: 0x05f3, 0xa48: 0x0c97, 0xa49: 0x0c9f, 0xa4a: 0x16c4, 0xa4b: 0x0ccb, + 0xa4c: 0x0cff, 0xa4d: 0x0cdb, 0xa4e: 0x05ff, 0xa4f: 0x0ce7, 0xa50: 0x05fb, 0xa51: 0x05f7, + 0xa52: 0x07c3, 0xa53: 0x07c7, 0xa54: 0x0d03, 0xa55: 0x0ceb, 0xa56: 0x11ab, 0xa57: 0x0663, + 0xa58: 0x0d0f, 0xa59: 0x0d13, 0xa5a: 0x0d17, 0xa5b: 0x0d2b, 0xa5c: 0x0d23, 0xa5d: 0x16dd, + 0xa5e: 0x0603, 0xa5f: 0x0d3f, 0xa60: 0x0d33, 0xa61: 0x0d4f, 0xa62: 0x0d57, 0xa63: 0x16e7, + 0xa64: 0x0d5b, 0xa65: 0x0d47, 0xa66: 0x0d63, 0xa67: 0x0607, 0xa68: 0x0d67, 0xa69: 0x0d6b, + 0xa6a: 0x0d6f, 0xa6b: 0x0d7b, 0xa6c: 0x16ec, 0xa6d: 0x0d83, 0xa6e: 0x060b, 0xa6f: 0x0d8f, + 0xa70: 0x16f1, 0xa71: 0x0d93, 0xa72: 0x060f, 0xa73: 0x0d9f, 0xa74: 0x0dab, 0xa75: 0x0db7, + 0xa76: 0x0dbb, 0xa77: 0x16f6, 0xa78: 0x168d, 0xa79: 0x16fb, 0xa7a: 0x0ddb, 0xa7b: 0x1700, + 0xa7c: 0x0de7, 0xa7d: 0x0def, 0xa7e: 0x0ddf, 0xa7f: 0x0dfb, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0e0b, 0xa81: 0x0e1b, 0xa82: 0x0e0f, 0xa83: 0x0e13, 0xa84: 0x0e1f, 0xa85: 0x0e23, + 0xa86: 0x1705, 0xa87: 0x0e07, 0xa88: 0x0e3b, 0xa89: 0x0e3f, 0xa8a: 0x0613, 0xa8b: 0x0e53, + 0xa8c: 0x0e4f, 0xa8d: 0x170a, 0xa8e: 0x0e33, 0xa8f: 0x0e6f, 0xa90: 0x170f, 0xa91: 0x1714, + 0xa92: 0x0e73, 0xa93: 0x0e87, 0xa94: 0x0e83, 0xa95: 0x0e7f, 0xa96: 0x0617, 0xa97: 0x0e8b, + 0xa98: 0x0e9b, 0xa99: 0x0e97, 0xa9a: 0x0ea3, 0xa9b: 0x1651, 0xa9c: 0x0eb3, 0xa9d: 0x1719, + 0xa9e: 0x0ebf, 0xa9f: 0x1723, 0xaa0: 0x0ed3, 0xaa1: 0x0edf, 0xaa2: 0x0ef3, 0xaa3: 0x1728, + 0xaa4: 0x0f07, 0xaa5: 0x0f0b, 0xaa6: 0x172d, 0xaa7: 0x1732, 0xaa8: 0x0f27, 0xaa9: 0x0f37, + 0xaaa: 0x061b, 0xaab: 0x0f3b, 0xaac: 0x061f, 0xaad: 0x061f, 0xaae: 0x0f53, 0xaaf: 0x0f57, + 0xab0: 0x0f5f, 0xab1: 0x0f63, 0xab2: 0x0f6f, 0xab3: 0x0623, 0xab4: 0x0f87, 0xab5: 0x1737, + 0xab6: 0x0fa3, 0xab7: 0x173c, 0xab8: 0x0faf, 0xab9: 0x16a1, 0xaba: 0x0fbf, 0xabb: 0x1741, + 0xabc: 0x1746, 0xabd: 0x174b, 0xabe: 0x0627, 0xabf: 0x062b, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0ff7, 0xac1: 0x1755, 0xac2: 0x1750, 0xac3: 0x175a, 0xac4: 0x175f, 0xac5: 0x0fff, + 0xac6: 0x1003, 0xac7: 0x1003, 0xac8: 0x100b, 0xac9: 0x0633, 0xaca: 0x100f, 0xacb: 0x0637, + 0xacc: 0x063b, 0xacd: 0x1769, 0xace: 0x1023, 0xacf: 0x102b, 0xad0: 0x1037, 0xad1: 0x063f, + 0xad2: 0x176e, 0xad3: 0x105b, 0xad4: 0x1773, 0xad5: 0x1778, 0xad6: 0x107b, 0xad7: 0x1093, + 0xad8: 0x0643, 0xad9: 0x109b, 0xada: 0x109f, 0xadb: 0x10a3, 0xadc: 0x177d, 0xadd: 0x1782, + 0xade: 0x1782, 0xadf: 0x10bb, 0xae0: 0x0647, 0xae1: 0x1787, 0xae2: 0x10cf, 0xae3: 0x10d3, + 0xae4: 0x064b, 0xae5: 0x178c, 0xae6: 0x10ef, 0xae7: 0x064f, 0xae8: 0x10ff, 0xae9: 0x10f7, + 0xaea: 0x1107, 0xaeb: 0x1796, 0xaec: 0x111f, 0xaed: 0x0653, 0xaee: 0x112b, 0xaef: 0x1133, + 0xaf0: 0x1143, 0xaf1: 0x0657, 0xaf2: 0x17a0, 0xaf3: 0x17a5, 0xaf4: 0x065b, 0xaf5: 0x17aa, + 0xaf6: 0x115b, 0xaf7: 0x17af, 0xaf8: 0x1167, 0xaf9: 0x1173, 0xafa: 0x117b, 0xafb: 0x17b4, + 0xafc: 0x17b9, 0xafd: 0x118f, 0xafe: 0x17be, 0xaff: 0x1197, + // Block 0x2c, offset 0xb00 + 0xb00: 0x16ce, 0xb01: 0x065f, 0xb02: 0x11af, 0xb03: 0x11b3, 0xb04: 0x0667, 0xb05: 0x11b7, + 0xb06: 0x0a33, 0xb07: 0x17c3, 0xb08: 0x17c8, 0xb09: 0x16d3, 0xb0a: 0x16d8, 0xb0b: 0x11d7, + 0xb0c: 0x11db, 0xb0d: 0x13f3, 0xb0e: 0x066b, 0xb0f: 0x1207, 0xb10: 0x1203, 0xb11: 0x120b, + 0xb12: 0x083f, 0xb13: 0x120f, 0xb14: 0x1213, 0xb15: 0x1217, 0xb16: 0x121f, 0xb17: 0x17cd, + 0xb18: 0x121b, 0xb19: 0x1223, 0xb1a: 0x1237, 0xb1b: 0x123b, 0xb1c: 0x1227, 0xb1d: 0x123f, + 0xb1e: 0x1253, 0xb1f: 0x1267, 0xb20: 0x1233, 0xb21: 0x1247, 0xb22: 0x124b, 0xb23: 0x124f, + 0xb24: 0x17d2, 0xb25: 0x17dc, 0xb26: 0x17d7, 0xb27: 0x066f, 0xb28: 0x126f, 0xb29: 0x1273, + 0xb2a: 0x127b, 0xb2b: 0x17f0, 0xb2c: 0x127f, 0xb2d: 0x17e1, 0xb2e: 0x0673, 0xb2f: 0x0677, + 0xb30: 0x17e6, 0xb31: 0x17eb, 0xb32: 0x067b, 0xb33: 0x129f, 0xb34: 0x12a3, 0xb35: 0x12a7, + 0xb36: 0x12ab, 0xb37: 0x12b7, 0xb38: 0x12b3, 0xb39: 0x12bf, 0xb3a: 0x12bb, 0xb3b: 0x12cb, + 0xb3c: 0x12c3, 0xb3d: 0x12c7, 0xb3e: 0x12cf, 0xb3f: 0x067f, + // Block 0x2d, offset 0xb40 + 0xb40: 0x12d7, 0xb41: 0x12db, 0xb42: 0x0683, 0xb43: 0x12eb, 0xb44: 0x12ef, 0xb45: 0x17f5, + 0xb46: 0x12fb, 0xb47: 0x12ff, 0xb48: 0x0687, 0xb49: 0x130b, 0xb4a: 0x05bb, 0xb4b: 0x17fa, + 0xb4c: 0x17ff, 0xb4d: 0x068b, 0xb4e: 0x068f, 0xb4f: 0x1337, 0xb50: 0x134f, 0xb51: 0x136b, + 0xb52: 0x137b, 0xb53: 0x1804, 0xb54: 0x138f, 0xb55: 0x1393, 0xb56: 0x13ab, 0xb57: 0x13b7, + 0xb58: 0x180e, 0xb59: 0x1660, 0xb5a: 0x13c3, 0xb5b: 0x13bf, 0xb5c: 0x13cb, 0xb5d: 0x1665, + 0xb5e: 0x13d7, 0xb5f: 0x13e3, 0xb60: 0x1813, 0xb61: 0x1818, 0xb62: 0x1423, 0xb63: 0x142f, + 0xb64: 0x1437, 0xb65: 0x181d, 0xb66: 0x143b, 0xb67: 0x1467, 0xb68: 0x1473, 0xb69: 0x1477, + 0xb6a: 0x146f, 0xb6b: 0x1483, 0xb6c: 0x1487, 0xb6d: 0x1822, 0xb6e: 0x1493, 0xb6f: 0x0693, + 0xb70: 0x149b, 0xb71: 0x1827, 0xb72: 0x0697, 0xb73: 0x14d3, 0xb74: 0x0ac3, 0xb75: 0x14eb, + 0xb76: 0x182c, 0xb77: 0x1836, 0xb78: 0x069b, 0xb79: 0x069f, 0xb7a: 0x1513, 0xb7b: 0x183b, + 0xb7c: 0x06a3, 0xb7d: 0x1840, 0xb7e: 0x152b, 0xb7f: 0x152b, + // Block 0x2e, offset 0xb80 + 0xb80: 0x1533, 0xb81: 0x1845, 0xb82: 0x154b, 0xb83: 0x06a7, 0xb84: 0x155b, 0xb85: 0x1567, + 0xb86: 0x156f, 0xb87: 0x1577, 0xb88: 0x06ab, 0xb89: 0x184a, 0xb8a: 0x158b, 0xb8b: 0x15a7, + 0xb8c: 0x15b3, 0xb8d: 0x06af, 0xb8e: 0x06b3, 0xb8f: 0x15b7, 0xb90: 0x184f, 0xb91: 0x06b7, + 0xb92: 0x1854, 0xb93: 0x1859, 0xb94: 0x185e, 0xb95: 0x15db, 0xb96: 0x06bb, 0xb97: 0x15ef, + 0xb98: 0x15f7, 0xb99: 0x15fb, 0xb9a: 0x1603, 0xb9b: 0x160b, 0xb9c: 0x1613, 0xb9d: 0x1868, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2d, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2e, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x2f, 0xcb: 0x30, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x31, + 0xd0: 0x09, 0xd1: 0x32, 0xd2: 0x33, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x34, + 0xd8: 0x35, 0xd9: 0x0c, 0xdb: 0x36, 0xdc: 0x37, 0xdd: 0x38, 0xdf: 0x39, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x3a, 0x121: 0x3b, 0x123: 0x3c, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, + 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, + 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, + 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, + // Block 0x5, offset 0x140 + 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, + 0x14d: 0x5c, + 0x15c: 0x5d, 0x15f: 0x5e, + 0x162: 0x5f, 0x164: 0x60, + 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0d, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, + 0x170: 0x67, 0x173: 0x68, 0x177: 0x0e, + 0x178: 0x0f, 0x179: 0x10, 0x17a: 0x11, 0x17b: 0x12, 0x17c: 0x13, 0x17d: 0x14, 0x17e: 0x15, 0x17f: 0x16, + // Block 0x6, offset 0x180 + 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, + 0x188: 0x6e, 0x189: 0x17, 0x18a: 0x18, 0x18b: 0x6f, 0x18c: 0x70, + 0x1ab: 0x71, + 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x75, 0x1c1: 0x19, 0x1c2: 0x1a, 0x1c3: 0x1b, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, + // Block 0x8, offset 0x200 + 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, + 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, + 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, + 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, + 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, + // Block 0x9, offset 0x240 + 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, + 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, + 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, + 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, + 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, + 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, + 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, + // Block 0xa, offset 0x280 + 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, + 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, + 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, + 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, + 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, + 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, + 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, + 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, + 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, + 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, + 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, + // Block 0xc, offset 0x300 + 0x324: 0x1c, 0x325: 0x1d, 0x326: 0x1e, 0x327: 0x1f, + 0x328: 0x20, 0x329: 0x21, 0x32a: 0x22, 0x32b: 0x23, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, + 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, + // Block 0xd, offset 0x340 + 0x347: 0x9c, + 0x34b: 0x9d, 0x34d: 0x9e, + 0x368: 0x9f, 0x36b: 0xa0, + // Block 0xe, offset 0x380 + 0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4, + 0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3f, 0x38d: 0xa7, + 0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac, + 0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae, + 0x3a8: 0xaf, 0x3a9: 0xb0, 0x3aa: 0xb1, + 0x3b0: 0x73, 0x3b5: 0xb2, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xb3, 0x3ec: 0xb4, + // Block 0x10, offset 0x400 + 0x432: 0xb5, + // Block 0x11, offset 0x440 + 0x445: 0xb6, 0x446: 0xb7, 0x447: 0xb8, + 0x449: 0xb9, + // Block 0x12, offset 0x480 + 0x480: 0xba, + 0x4a3: 0xbb, 0x4a5: 0xbc, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xbd, + // Block 0x14, offset 0x500 + 0x520: 0x24, 0x521: 0x25, 0x522: 0x26, 0x523: 0x27, 0x524: 0x28, 0x525: 0x29, 0x526: 0x2a, 0x527: 0x2b, + 0x528: 0x2c, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 145 entries, 290 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc8, 0xcf, 0xd7, 0xda, 0xdc, 0xde, 0xe0, 0xe5, 0xf6, 0x102, 0x104, 0x10a, 0x10c, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x119, 0x11c, 0x11e, 0x121, 0x124, 0x128, 0x12d, 0x136, 0x138, 0x13b, 0x13d, 0x148, 0x14c, 0x15a, 0x15d, 0x163, 0x169, 0x174, 0x178, 0x17a, 0x17c, 0x17e, 0x180, 0x182, 0x188, 0x18c, 0x18e, 0x190, 0x198, 0x19c, 0x19f, 0x1a1, 0x1a3, 0x1a5, 0x1a8, 0x1aa, 0x1ac, 0x1ae, 0x1b0, 0x1b6, 0x1b9, 0x1bb, 0x1c2, 0x1c8, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e8, 0x1ec, 0x1fa, 0x203, 0x206, 0x209, 0x20b, 0x20e, 0x210, 0x214, 0x219, 0x21b, 0x21d, 0x222, 0x228, 0x22a, 0x22c, 0x22e, 0x234, 0x237, 0x23a, 0x242, 0x249, 0x24c, 0x24f, 0x251, 0x259, 0x25c, 0x263, 0x266, 0x26c, 0x26e, 0x271, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x28f, 0x299, 0x29b, 0x29d, 0x2a3, 0x2a5, 0x2a8} + +// nfcSparseValues: 682 entries, 2728 bytes +var nfcSparseValues = [682]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4840, lo: 0x8a, hi: 0x8a}, + {value: 0x485e, lo: 0x8b, hi: 0x8b}, + {value: 0x36c7, lo: 0x8c, hi: 0x8c}, + {value: 0x36df, lo: 0x8d, hi: 0x8d}, + {value: 0x4876, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x36fd, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + // Block 0xd, offset 0x62 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x67 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x69 + {value: 0x0000, lo: 0x10}, + {value: 0x8132, lo: 0x94, hi: 0xa1}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xa9, hi: 0xa9}, + {value: 0x8132, lo: 0xaa, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xaf}, + {value: 0x8116, lo: 0xb0, hi: 0xb0}, + {value: 0x8117, lo: 0xb1, hi: 0xb1}, + {value: 0x8118, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb5}, + {value: 0x812d, lo: 0xb6, hi: 0xb6}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x812d, lo: 0xb9, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbf}, + // Block 0x10, offset 0x7a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x11, offset 0x82 + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x12, offset 0x89 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x8c + {value: 0x0008, lo: 0x06}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + // Block 0x14, offset 0x93 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x97 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x16, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x17, offset 0x9d + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x18, offset 0x9f + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x19, offset 0xa8 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1a, offset 0xac + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1b, offset 0xb3 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xb8 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1d, offset 0xbb + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1e, offset 0xc5 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1f, offset 0xc8 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x20, offset 0xcf + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x21, offset 0xd7 + {value: 0x0000, lo: 0x02}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x22, offset 0xda + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x23, offset 0xdc + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x24, offset 0xde + {value: 0x0000, lo: 0x01}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + // Block 0x25, offset 0xe0 + {value: 0x0000, lo: 0x04}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0xe5 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x27, offset 0xf6 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x28, offset 0x102 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x29, offset 0x104 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x2a, offset 0x10a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2b, offset 0x10c + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2c, offset 0x10e + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2d, offset 0x110 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2e, offset 0x112 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2f, offset 0x114 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x30, offset 0x116 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x31, offset 0x119 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x32, offset 0x11c + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x33, offset 0x11e + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x34, offset 0x121 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x35, offset 0x124 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x128 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x37, offset 0x12d + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x136 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x138 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x13b + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x13d + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x148 + {value: 0x0004, lo: 0x03}, + {value: 0x0433, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3d, offset 0x14c + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x3e, offset 0x15a + {value: 0x427b, lo: 0x02}, + {value: 0x01b8, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x3f, offset 0x15d + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x40, offset 0x163 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x41, offset 0x169 + {value: 0x6408, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x42, offset 0x174 + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x43, offset 0x178 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x44, offset 0x17a + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x45, offset 0x17c + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x46, offset 0x17e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x47, offset 0x180 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x48, offset 0x182 + {value: 0x0000, lo: 0x05}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xaf}, + // Block 0x49, offset 0x188 + {value: 0x0000, lo: 0x03}, + {value: 0x4a9f, lo: 0xb3, hi: 0xb3}, + {value: 0x4a9f, lo: 0xb5, hi: 0xb6}, + {value: 0x4a9f, lo: 0xba, hi: 0xbf}, + // Block 0x4a, offset 0x18c + {value: 0x0000, lo: 0x01}, + {value: 0x4a9f, lo: 0x8f, hi: 0xa3}, + // Block 0x4b, offset 0x18e + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4c, offset 0x190 + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4d, offset 0x198 + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4e, offset 0x19c + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x4f, offset 0x19f + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x50, offset 0x1a1 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x51, offset 0x1a3 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x52, offset 0x1a5 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x53, offset 0x1a8 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x54, offset 0x1aa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x55, offset 0x1ac + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x56, offset 0x1ae + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x57, offset 0x1b0 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x58, offset 0x1b6 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x59, offset 0x1b9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x5a, offset 0x1bb + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5b, offset 0x1c2 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5c, offset 0x1c8 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5d, offset 0x1ce + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5e, offset 0x1d6 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x5f, offset 0x1dc + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x60, offset 0x1e2 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x61, offset 0x1e8 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x62, offset 0x1ec + {value: 0x0006, lo: 0x0d}, + {value: 0x4390, lo: 0x9d, hi: 0x9d}, + {value: 0x8115, lo: 0x9e, hi: 0x9e}, + {value: 0x4402, lo: 0x9f, hi: 0x9f}, + {value: 0x43f0, lo: 0xaa, hi: 0xab}, + {value: 0x44f4, lo: 0xac, hi: 0xac}, + {value: 0x44fc, lo: 0xad, hi: 0xad}, + {value: 0x4348, lo: 0xae, hi: 0xb1}, + {value: 0x4366, lo: 0xb2, hi: 0xb4}, + {value: 0x437e, lo: 0xb5, hi: 0xb6}, + {value: 0x438a, lo: 0xb8, hi: 0xb8}, + {value: 0x4396, lo: 0xb9, hi: 0xbb}, + {value: 0x43ae, lo: 0xbc, hi: 0xbc}, + {value: 0x43b4, lo: 0xbe, hi: 0xbe}, + // Block 0x63, offset 0x1fa + {value: 0x0006, lo: 0x08}, + {value: 0x43ba, lo: 0x80, hi: 0x81}, + {value: 0x43c6, lo: 0x83, hi: 0x84}, + {value: 0x43d8, lo: 0x86, hi: 0x89}, + {value: 0x43fc, lo: 0x8a, hi: 0x8a}, + {value: 0x4378, lo: 0x8b, hi: 0x8b}, + {value: 0x4360, lo: 0x8c, hi: 0x8c}, + {value: 0x43a8, lo: 0x8d, hi: 0x8d}, + {value: 0x43d2, lo: 0x8e, hi: 0x8e}, + // Block 0x64, offset 0x203 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x65, offset 0x206 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x66, offset 0x209 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x67, offset 0x20b + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x68, offset 0x20e + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x69, offset 0x210 + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xa0, hi: 0xa6}, + {value: 0x812d, lo: 0xa7, hi: 0xad}, + {value: 0x8132, lo: 0xae, hi: 0xaf}, + // Block 0x6a, offset 0x214 + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6b, offset 0x219 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6c, offset 0x21b + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6d, offset 0x21d + {value: 0x0000, lo: 0x04}, + {value: 0x4a9f, lo: 0x9e, hi: 0x9f}, + {value: 0x4a9f, lo: 0xa3, hi: 0xa3}, + {value: 0x4a9f, lo: 0xa5, hi: 0xa6}, + {value: 0x4a9f, lo: 0xaa, hi: 0xaf}, + // Block 0x6e, offset 0x222 + {value: 0x0000, lo: 0x05}, + {value: 0x4a9f, lo: 0x82, hi: 0x87}, + {value: 0x4a9f, lo: 0x8a, hi: 0x8f}, + {value: 0x4a9f, lo: 0x92, hi: 0x97}, + {value: 0x4a9f, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x6f, offset 0x228 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x70, offset 0x22a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x71, offset 0x22c + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x72, offset 0x22e + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x73, offset 0x234 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x74, offset 0x237 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x75, offset 0x23a + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x76, offset 0x242 + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x77, offset 0x249 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x78, offset 0x24c + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x79, offset 0x24f + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x7a, offset 0x251 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x7b, offset 0x259 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + // Block 0x7c, offset 0x25c + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7d, offset 0x263 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7e, offset 0x266 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7f, offset 0x26c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x80, offset 0x26e + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x81, offset 0x271 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x82, offset 0x273 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x83, offset 0x275 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x84, offset 0x277 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x85, offset 0x279 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x86, offset 0x27c + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x87, offset 0x27e + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x88, offset 0x280 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x89, offset 0x282 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8a, offset 0x28f + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x8b, offset 0x299 + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x8c, offset 0x29b + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8d, offset 0x29d + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x8e, offset 0x2a3 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x8f, offset 0x2a5 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x90, offset 0x2a8 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 17104 bytes (16.70 KiB). Checksum: d985061cf5307b35. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 91: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 91 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 93 blocks, 5952 entries, 11904 bytes +// The third block is the zero block. +var nfkcValues = [5952]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac, + // Block 0x5, offset 0x140 + 0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2dee, 0x185: 0x2df4, + 0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a, + 0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x42a5, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x425a, 0x285: 0x447b, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e, + 0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0, + 0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8, + 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, + 0x2f9: 0x01a6, + // Block 0xc, offset 0x300 + 0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b, + 0x306: 0xa000, 0x307: 0x3709, + 0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x3733, 0x342: 0x37b7, + 0x350: 0x370f, 0x351: 0x3793, + 0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd, + 0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf, + 0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed, + 0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805, + 0x378: 0x3787, 0x379: 0x380b, + // Block 0xe, offset 0x380 + 0x387: 0x1d61, + 0x391: 0x812d, + 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, + 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, + 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, + 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, + 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, + 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, + 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, + 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x812d, + 0x3f0: 0x811e, 0x3f5: 0x1d84, + 0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000, + 0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000, + 0x412: 0x2d4e, + 0x434: 0x8102, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d56, + 0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x0069, 0x441: 0x006b, 0x442: 0x006f, 0x443: 0x0083, 0x444: 0x00f5, 0x445: 0x00f8, + 0x446: 0x0413, 0x447: 0x0085, 0x448: 0x0089, 0x449: 0x008b, 0x44a: 0x0104, 0x44b: 0x0107, + 0x44c: 0x010a, 0x44d: 0x008f, 0x44f: 0x0097, 0x450: 0x009b, 0x451: 0x00e0, + 0x452: 0x009f, 0x453: 0x00fe, 0x454: 0x0417, 0x455: 0x041b, 0x456: 0x00a1, 0x457: 0x00a9, + 0x458: 0x00ab, 0x459: 0x0423, 0x45a: 0x012b, 0x45b: 0x00ad, 0x45c: 0x0427, 0x45d: 0x01be, + 0x45e: 0x01c1, 0x45f: 0x01c4, 0x460: 0x01fa, 0x461: 0x01fd, 0x462: 0x0093, 0x463: 0x00a5, + 0x464: 0x00ab, 0x465: 0x00ad, 0x466: 0x01be, 0x467: 0x01c1, 0x468: 0x01eb, 0x469: 0x01fa, + 0x46a: 0x01fd, + 0x478: 0x020c, + // Block 0x12, offset 0x480 + 0x49b: 0x00fb, 0x49c: 0x0087, 0x49d: 0x0101, + 0x49e: 0x00d4, 0x49f: 0x010a, 0x4a0: 0x008d, 0x4a1: 0x010d, 0x4a2: 0x0110, 0x4a3: 0x0116, + 0x4a4: 0x011c, 0x4a5: 0x011f, 0x4a6: 0x0122, 0x4a7: 0x042b, 0x4a8: 0x016a, 0x4a9: 0x0128, + 0x4aa: 0x042f, 0x4ab: 0x016d, 0x4ac: 0x0131, 0x4ad: 0x012e, 0x4ae: 0x0134, 0x4af: 0x0137, + 0x4b0: 0x013a, 0x4b1: 0x013d, 0x4b2: 0x0140, 0x4b3: 0x014c, 0x4b4: 0x014f, 0x4b5: 0x00ec, + 0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5, + 0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x8132, 0x4c1: 0x8132, 0x4c2: 0x812d, 0x4c3: 0x8132, 0x4c4: 0x8132, 0x4c5: 0x8132, + 0x4c6: 0x8132, 0x4c7: 0x8132, 0x4c8: 0x8132, 0x4c9: 0x8132, 0x4ca: 0x812d, 0x4cb: 0x8132, + 0x4cc: 0x8132, 0x4cd: 0x8135, 0x4ce: 0x812a, 0x4cf: 0x812d, 0x4d0: 0x8129, 0x4d1: 0x8132, + 0x4d2: 0x8132, 0x4d3: 0x8132, 0x4d4: 0x8132, 0x4d5: 0x8132, 0x4d6: 0x8132, 0x4d7: 0x8132, + 0x4d8: 0x8132, 0x4d9: 0x8132, 0x4da: 0x8132, 0x4db: 0x8132, 0x4dc: 0x8132, 0x4dd: 0x8132, + 0x4de: 0x8132, 0x4df: 0x8132, 0x4e0: 0x8132, 0x4e1: 0x8132, 0x4e2: 0x8132, 0x4e3: 0x8132, + 0x4e4: 0x8132, 0x4e5: 0x8132, 0x4e6: 0x8132, 0x4e7: 0x8132, 0x4e8: 0x8132, 0x4e9: 0x8132, + 0x4ea: 0x8132, 0x4eb: 0x8132, 0x4ec: 0x8132, 0x4ed: 0x8132, 0x4ee: 0x8132, 0x4ef: 0x8132, + 0x4f0: 0x8132, 0x4f1: 0x8132, 0x4f2: 0x8132, 0x4f3: 0x8132, 0x4f4: 0x8132, 0x4f5: 0x8132, + 0x4f6: 0x8133, 0x4f7: 0x8131, 0x4f8: 0x8131, 0x4f9: 0x812d, 0x4fb: 0x8132, + 0x4fc: 0x8134, 0x4fd: 0x812d, 0x4fe: 0x8132, 0x4ff: 0x812d, + // Block 0x14, offset 0x500 + 0x500: 0x2f97, 0x501: 0x32a3, 0x502: 0x2fa1, 0x503: 0x32ad, 0x504: 0x2fa6, 0x505: 0x32b2, + 0x506: 0x2fab, 0x507: 0x32b7, 0x508: 0x38cc, 0x509: 0x3a5b, 0x50a: 0x2fc4, 0x50b: 0x32d0, + 0x50c: 0x2fce, 0x50d: 0x32da, 0x50e: 0x2fdd, 0x50f: 0x32e9, 0x510: 0x2fd3, 0x511: 0x32df, + 0x512: 0x2fd8, 0x513: 0x32e4, 0x514: 0x38ef, 0x515: 0x3a7e, 0x516: 0x38f6, 0x517: 0x3a85, + 0x518: 0x3019, 0x519: 0x3325, 0x51a: 0x301e, 0x51b: 0x332a, 0x51c: 0x3904, 0x51d: 0x3a93, + 0x51e: 0x3023, 0x51f: 0x332f, 0x520: 0x3032, 0x521: 0x333e, 0x522: 0x3050, 0x523: 0x335c, + 0x524: 0x305f, 0x525: 0x336b, 0x526: 0x3055, 0x527: 0x3361, 0x528: 0x3064, 0x529: 0x3370, + 0x52a: 0x3069, 0x52b: 0x3375, 0x52c: 0x30af, 0x52d: 0x33bb, 0x52e: 0x390b, 0x52f: 0x3a9a, + 0x530: 0x30b9, 0x531: 0x33ca, 0x532: 0x30c3, 0x533: 0x33d4, 0x534: 0x30cd, 0x535: 0x33de, + 0x536: 0x46c4, 0x537: 0x4755, 0x538: 0x3912, 0x539: 0x3aa1, 0x53a: 0x30e6, 0x53b: 0x33f7, + 0x53c: 0x30e1, 0x53d: 0x33f2, 0x53e: 0x30eb, 0x53f: 0x33fc, + // Block 0x15, offset 0x540 + 0x540: 0x30f0, 0x541: 0x3401, 0x542: 0x30f5, 0x543: 0x3406, 0x544: 0x3109, 0x545: 0x341a, + 0x546: 0x3113, 0x547: 0x3424, 0x548: 0x3122, 0x549: 0x3433, 0x54a: 0x311d, 0x54b: 0x342e, + 0x54c: 0x3935, 0x54d: 0x3ac4, 0x54e: 0x3943, 0x54f: 0x3ad2, 0x550: 0x394a, 0x551: 0x3ad9, + 0x552: 0x3951, 0x553: 0x3ae0, 0x554: 0x314f, 0x555: 0x3460, 0x556: 0x3154, 0x557: 0x3465, + 0x558: 0x315e, 0x559: 0x346f, 0x55a: 0x46f1, 0x55b: 0x4782, 0x55c: 0x3997, 0x55d: 0x3b26, + 0x55e: 0x3177, 0x55f: 0x3488, 0x560: 0x3181, 0x561: 0x3492, 0x562: 0x4700, 0x563: 0x4791, + 0x564: 0x399e, 0x565: 0x3b2d, 0x566: 0x39a5, 0x567: 0x3b34, 0x568: 0x39ac, 0x569: 0x3b3b, + 0x56a: 0x3190, 0x56b: 0x34a1, 0x56c: 0x319a, 0x56d: 0x34b0, 0x56e: 0x31ae, 0x56f: 0x34c4, + 0x570: 0x31a9, 0x571: 0x34bf, 0x572: 0x31ea, 0x573: 0x3500, 0x574: 0x31f9, 0x575: 0x350f, + 0x576: 0x31f4, 0x577: 0x350a, 0x578: 0x39b3, 0x579: 0x3b42, 0x57a: 0x39ba, 0x57b: 0x3b49, + 0x57c: 0x31fe, 0x57d: 0x3514, 0x57e: 0x3203, 0x57f: 0x3519, + // Block 0x16, offset 0x580 + 0x580: 0x3208, 0x581: 0x351e, 0x582: 0x320d, 0x583: 0x3523, 0x584: 0x321c, 0x585: 0x3532, + 0x586: 0x3217, 0x587: 0x352d, 0x588: 0x3221, 0x589: 0x353c, 0x58a: 0x3226, 0x58b: 0x3541, + 0x58c: 0x322b, 0x58d: 0x3546, 0x58e: 0x3249, 0x58f: 0x3564, 0x590: 0x3262, 0x591: 0x3582, + 0x592: 0x3271, 0x593: 0x3591, 0x594: 0x3276, 0x595: 0x3596, 0x596: 0x337a, 0x597: 0x34a6, + 0x598: 0x3537, 0x599: 0x3573, 0x59a: 0x1be0, 0x59b: 0x42d7, + 0x5a0: 0x46a1, 0x5a1: 0x4732, 0x5a2: 0x2f83, 0x5a3: 0x328f, + 0x5a4: 0x3878, 0x5a5: 0x3a07, 0x5a6: 0x3871, 0x5a7: 0x3a00, 0x5a8: 0x3886, 0x5a9: 0x3a15, + 0x5aa: 0x387f, 0x5ab: 0x3a0e, 0x5ac: 0x38be, 0x5ad: 0x3a4d, 0x5ae: 0x3894, 0x5af: 0x3a23, + 0x5b0: 0x388d, 0x5b1: 0x3a1c, 0x5b2: 0x38a2, 0x5b3: 0x3a31, 0x5b4: 0x389b, 0x5b5: 0x3a2a, + 0x5b6: 0x38c5, 0x5b7: 0x3a54, 0x5b8: 0x46b5, 0x5b9: 0x4746, 0x5ba: 0x3000, 0x5bb: 0x330c, + 0x5bc: 0x2fec, 0x5bd: 0x32f8, 0x5be: 0x38da, 0x5bf: 0x3a69, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x38d3, 0x5c1: 0x3a62, 0x5c2: 0x38e8, 0x5c3: 0x3a77, 0x5c4: 0x38e1, 0x5c5: 0x3a70, + 0x5c6: 0x38fd, 0x5c7: 0x3a8c, 0x5c8: 0x3091, 0x5c9: 0x339d, 0x5ca: 0x30a5, 0x5cb: 0x33b1, + 0x5cc: 0x46e7, 0x5cd: 0x4778, 0x5ce: 0x3136, 0x5cf: 0x3447, 0x5d0: 0x3920, 0x5d1: 0x3aaf, + 0x5d2: 0x3919, 0x5d3: 0x3aa8, 0x5d4: 0x392e, 0x5d5: 0x3abd, 0x5d6: 0x3927, 0x5d7: 0x3ab6, + 0x5d8: 0x3989, 0x5d9: 0x3b18, 0x5da: 0x396d, 0x5db: 0x3afc, 0x5dc: 0x3966, 0x5dd: 0x3af5, + 0x5de: 0x397b, 0x5df: 0x3b0a, 0x5e0: 0x3974, 0x5e1: 0x3b03, 0x5e2: 0x3982, 0x5e3: 0x3b11, + 0x5e4: 0x31e5, 0x5e5: 0x34fb, 0x5e6: 0x31c7, 0x5e7: 0x34dd, 0x5e8: 0x39e4, 0x5e9: 0x3b73, + 0x5ea: 0x39dd, 0x5eb: 0x3b6c, 0x5ec: 0x39f2, 0x5ed: 0x3b81, 0x5ee: 0x39eb, 0x5ef: 0x3b7a, + 0x5f0: 0x39f9, 0x5f1: 0x3b88, 0x5f2: 0x3230, 0x5f3: 0x354b, 0x5f4: 0x3258, 0x5f5: 0x3578, + 0x5f6: 0x3253, 0x5f7: 0x356e, 0x5f8: 0x323f, 0x5f9: 0x355a, + // Block 0x18, offset 0x600 + 0x600: 0x4804, 0x601: 0x480a, 0x602: 0x491e, 0x603: 0x4936, 0x604: 0x4926, 0x605: 0x493e, + 0x606: 0x492e, 0x607: 0x4946, 0x608: 0x47aa, 0x609: 0x47b0, 0x60a: 0x488e, 0x60b: 0x48a6, + 0x60c: 0x4896, 0x60d: 0x48ae, 0x60e: 0x489e, 0x60f: 0x48b6, 0x610: 0x4816, 0x611: 0x481c, + 0x612: 0x3db8, 0x613: 0x3dc8, 0x614: 0x3dc0, 0x615: 0x3dd0, + 0x618: 0x47b6, 0x619: 0x47bc, 0x61a: 0x3ce8, 0x61b: 0x3cf8, 0x61c: 0x3cf0, 0x61d: 0x3d00, + 0x620: 0x482e, 0x621: 0x4834, 0x622: 0x494e, 0x623: 0x4966, + 0x624: 0x4956, 0x625: 0x496e, 0x626: 0x495e, 0x627: 0x4976, 0x628: 0x47c2, 0x629: 0x47c8, + 0x62a: 0x48be, 0x62b: 0x48d6, 0x62c: 0x48c6, 0x62d: 0x48de, 0x62e: 0x48ce, 0x62f: 0x48e6, + 0x630: 0x4846, 0x631: 0x484c, 0x632: 0x3e18, 0x633: 0x3e30, 0x634: 0x3e20, 0x635: 0x3e38, + 0x636: 0x3e28, 0x637: 0x3e40, 0x638: 0x47ce, 0x639: 0x47d4, 0x63a: 0x3d18, 0x63b: 0x3d30, + 0x63c: 0x3d20, 0x63d: 0x3d38, 0x63e: 0x3d28, 0x63f: 0x3d40, + // Block 0x19, offset 0x640 + 0x640: 0x4852, 0x641: 0x4858, 0x642: 0x3e48, 0x643: 0x3e58, 0x644: 0x3e50, 0x645: 0x3e60, + 0x648: 0x47da, 0x649: 0x47e0, 0x64a: 0x3d48, 0x64b: 0x3d58, + 0x64c: 0x3d50, 0x64d: 0x3d60, 0x650: 0x4864, 0x651: 0x486a, + 0x652: 0x3e80, 0x653: 0x3e98, 0x654: 0x3e88, 0x655: 0x3ea0, 0x656: 0x3e90, 0x657: 0x3ea8, + 0x659: 0x47e6, 0x65b: 0x3d68, 0x65d: 0x3d70, + 0x65f: 0x3d78, 0x660: 0x487c, 0x661: 0x4882, 0x662: 0x497e, 0x663: 0x4996, + 0x664: 0x4986, 0x665: 0x499e, 0x666: 0x498e, 0x667: 0x49a6, 0x668: 0x47ec, 0x669: 0x47f2, + 0x66a: 0x48ee, 0x66b: 0x4906, 0x66c: 0x48f6, 0x66d: 0x490e, 0x66e: 0x48fe, 0x66f: 0x4916, + 0x670: 0x47f8, 0x671: 0x431e, 0x672: 0x3691, 0x673: 0x4324, 0x674: 0x4822, 0x675: 0x432a, + 0x676: 0x36a3, 0x677: 0x4330, 0x678: 0x36c1, 0x679: 0x4336, 0x67a: 0x36d9, 0x67b: 0x433c, + 0x67c: 0x4870, 0x67d: 0x4342, + // Block 0x1a, offset 0x680 + 0x680: 0x3da0, 0x681: 0x3da8, 0x682: 0x4184, 0x683: 0x41a2, 0x684: 0x418e, 0x685: 0x41ac, + 0x686: 0x4198, 0x687: 0x41b6, 0x688: 0x3cd8, 0x689: 0x3ce0, 0x68a: 0x40d0, 0x68b: 0x40ee, + 0x68c: 0x40da, 0x68d: 0x40f8, 0x68e: 0x40e4, 0x68f: 0x4102, 0x690: 0x3de8, 0x691: 0x3df0, + 0x692: 0x41c0, 0x693: 0x41de, 0x694: 0x41ca, 0x695: 0x41e8, 0x696: 0x41d4, 0x697: 0x41f2, + 0x698: 0x3d08, 0x699: 0x3d10, 0x69a: 0x410c, 0x69b: 0x412a, 0x69c: 0x4116, 0x69d: 0x4134, + 0x69e: 0x4120, 0x69f: 0x413e, 0x6a0: 0x3ec0, 0x6a1: 0x3ec8, 0x6a2: 0x41fc, 0x6a3: 0x421a, + 0x6a4: 0x4206, 0x6a5: 0x4224, 0x6a6: 0x4210, 0x6a7: 0x422e, 0x6a8: 0x3d80, 0x6a9: 0x3d88, + 0x6aa: 0x4148, 0x6ab: 0x4166, 0x6ac: 0x4152, 0x6ad: 0x4170, 0x6ae: 0x415c, 0x6af: 0x417a, + 0x6b0: 0x3685, 0x6b1: 0x367f, 0x6b2: 0x3d90, 0x6b3: 0x368b, 0x6b4: 0x3d98, + 0x6b6: 0x4810, 0x6b7: 0x3db0, 0x6b8: 0x35f5, 0x6b9: 0x35ef, 0x6ba: 0x35e3, 0x6bb: 0x42ee, + 0x6bc: 0x35fb, 0x6bd: 0x4287, 0x6be: 0x01d3, 0x6bf: 0x4287, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x42a0, 0x6c1: 0x4482, 0x6c2: 0x3dd8, 0x6c3: 0x369d, 0x6c4: 0x3de0, + 0x6c6: 0x483a, 0x6c7: 0x3df8, 0x6c8: 0x3601, 0x6c9: 0x42f4, 0x6ca: 0x360d, 0x6cb: 0x42fa, + 0x6cc: 0x3619, 0x6cd: 0x4489, 0x6ce: 0x4490, 0x6cf: 0x4497, 0x6d0: 0x36b5, 0x6d1: 0x36af, + 0x6d2: 0x3e00, 0x6d3: 0x44e4, 0x6d6: 0x36bb, 0x6d7: 0x3e10, + 0x6d8: 0x3631, 0x6d9: 0x362b, 0x6da: 0x361f, 0x6db: 0x4300, 0x6dd: 0x449e, + 0x6de: 0x44a5, 0x6df: 0x44ac, 0x6e0: 0x36eb, 0x6e1: 0x36e5, 0x6e2: 0x3e68, 0x6e3: 0x44ec, + 0x6e4: 0x36cd, 0x6e5: 0x36d3, 0x6e6: 0x36f1, 0x6e7: 0x3e78, 0x6e8: 0x3661, 0x6e9: 0x365b, + 0x6ea: 0x364f, 0x6eb: 0x430c, 0x6ec: 0x3649, 0x6ed: 0x4474, 0x6ee: 0x447b, 0x6ef: 0x0081, + 0x6f2: 0x3eb0, 0x6f3: 0x36f7, 0x6f4: 0x3eb8, + 0x6f6: 0x4888, 0x6f7: 0x3ed0, 0x6f8: 0x363d, 0x6f9: 0x4306, 0x6fa: 0x366d, 0x6fb: 0x4318, + 0x6fc: 0x3679, 0x6fd: 0x425a, 0x6fe: 0x428c, + // Block 0x1c, offset 0x700 + 0x700: 0x1bd8, 0x701: 0x1bdc, 0x702: 0x0047, 0x703: 0x1c54, 0x705: 0x1be8, + 0x706: 0x1bec, 0x707: 0x00e9, 0x709: 0x1c58, 0x70a: 0x008f, 0x70b: 0x0051, + 0x70c: 0x0051, 0x70d: 0x0051, 0x70e: 0x0091, 0x70f: 0x00da, 0x710: 0x0053, 0x711: 0x0053, + 0x712: 0x0059, 0x713: 0x0099, 0x715: 0x005d, 0x716: 0x198d, + 0x719: 0x0061, 0x71a: 0x0063, 0x71b: 0x0065, 0x71c: 0x0065, 0x71d: 0x0065, + 0x720: 0x199f, 0x721: 0x1bc8, 0x722: 0x19a8, + 0x724: 0x0075, 0x726: 0x01b8, 0x728: 0x0075, + 0x72a: 0x0057, 0x72b: 0x42d2, 0x72c: 0x0045, 0x72d: 0x0047, 0x72f: 0x008b, + 0x730: 0x004b, 0x731: 0x004d, 0x733: 0x005b, 0x734: 0x009f, 0x735: 0x0215, + 0x736: 0x0218, 0x737: 0x021b, 0x738: 0x021e, 0x739: 0x0093, 0x73b: 0x1b98, + 0x73c: 0x01e8, 0x73d: 0x01c1, 0x73e: 0x0179, 0x73f: 0x01a0, + // Block 0x1d, offset 0x740 + 0x740: 0x0463, 0x745: 0x0049, + 0x746: 0x0089, 0x747: 0x008b, 0x748: 0x0093, 0x749: 0x0095, + 0x750: 0x222e, 0x751: 0x223a, + 0x752: 0x22ee, 0x753: 0x2216, 0x754: 0x229a, 0x755: 0x2222, 0x756: 0x22a0, 0x757: 0x22b8, + 0x758: 0x22c4, 0x759: 0x2228, 0x75a: 0x22ca, 0x75b: 0x2234, 0x75c: 0x22be, 0x75d: 0x22d0, + 0x75e: 0x22d6, 0x75f: 0x1cbc, 0x760: 0x0053, 0x761: 0x195a, 0x762: 0x1ba4, 0x763: 0x1963, + 0x764: 0x006d, 0x765: 0x19ab, 0x766: 0x1bd0, 0x767: 0x1d48, 0x768: 0x1966, 0x769: 0x0071, + 0x76a: 0x19b7, 0x76b: 0x1bd4, 0x76c: 0x0059, 0x76d: 0x0047, 0x76e: 0x0049, 0x76f: 0x005b, + 0x770: 0x0093, 0x771: 0x19e4, 0x772: 0x1c18, 0x773: 0x19ed, 0x774: 0x00ad, 0x775: 0x1a62, + 0x776: 0x1c4c, 0x777: 0x1d5c, 0x778: 0x19f0, 0x779: 0x00b1, 0x77a: 0x1a65, 0x77b: 0x1c50, + 0x77c: 0x0099, 0x77d: 0x0087, 0x77e: 0x0089, 0x77f: 0x009b, + // Block 0x1e, offset 0x780 + 0x781: 0x3c06, 0x783: 0xa000, 0x784: 0x3c0d, 0x785: 0xa000, + 0x787: 0x3c14, 0x788: 0xa000, 0x789: 0x3c1b, + 0x78d: 0xa000, + 0x7a0: 0x2f65, 0x7a1: 0xa000, 0x7a2: 0x3c29, + 0x7a4: 0xa000, 0x7a5: 0xa000, + 0x7ad: 0x3c22, 0x7ae: 0x2f60, 0x7af: 0x2f6a, + 0x7b0: 0x3c30, 0x7b1: 0x3c37, 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0x3c3e, 0x7b5: 0x3c45, + 0x7b6: 0xa000, 0x7b7: 0xa000, 0x7b8: 0x3c4c, 0x7b9: 0x3c53, 0x7ba: 0xa000, 0x7bb: 0xa000, + 0x7bc: 0xa000, 0x7bd: 0xa000, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x3c5a, 0x7c1: 0x3c61, 0x7c2: 0xa000, 0x7c3: 0xa000, 0x7c4: 0x3c76, 0x7c5: 0x3c7d, + 0x7c6: 0xa000, 0x7c7: 0xa000, 0x7c8: 0x3c84, 0x7c9: 0x3c8b, + 0x7d1: 0xa000, + 0x7d2: 0xa000, + 0x7e2: 0xa000, + 0x7e8: 0xa000, 0x7e9: 0xa000, + 0x7eb: 0xa000, 0x7ec: 0x3ca0, 0x7ed: 0x3ca7, 0x7ee: 0x3cae, 0x7ef: 0x3cb5, + 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0xa000, 0x7f5: 0xa000, + // Block 0x20, offset 0x800 + 0x820: 0x0023, 0x821: 0x0025, 0x822: 0x0027, 0x823: 0x0029, + 0x824: 0x002b, 0x825: 0x002d, 0x826: 0x002f, 0x827: 0x0031, 0x828: 0x0033, 0x829: 0x1882, + 0x82a: 0x1885, 0x82b: 0x1888, 0x82c: 0x188b, 0x82d: 0x188e, 0x82e: 0x1891, 0x82f: 0x1894, + 0x830: 0x1897, 0x831: 0x189a, 0x832: 0x189d, 0x833: 0x18a6, 0x834: 0x1a68, 0x835: 0x1a6c, + 0x836: 0x1a70, 0x837: 0x1a74, 0x838: 0x1a78, 0x839: 0x1a7c, 0x83a: 0x1a80, 0x83b: 0x1a84, + 0x83c: 0x1a88, 0x83d: 0x1c80, 0x83e: 0x1c85, 0x83f: 0x1c8a, + // Block 0x21, offset 0x840 + 0x840: 0x1c8f, 0x841: 0x1c94, 0x842: 0x1c99, 0x843: 0x1c9e, 0x844: 0x1ca3, 0x845: 0x1ca8, + 0x846: 0x1cad, 0x847: 0x1cb2, 0x848: 0x187f, 0x849: 0x18a3, 0x84a: 0x18c7, 0x84b: 0x18eb, + 0x84c: 0x190f, 0x84d: 0x1918, 0x84e: 0x191e, 0x84f: 0x1924, 0x850: 0x192a, 0x851: 0x1b60, + 0x852: 0x1b64, 0x853: 0x1b68, 0x854: 0x1b6c, 0x855: 0x1b70, 0x856: 0x1b74, 0x857: 0x1b78, + 0x858: 0x1b7c, 0x859: 0x1b80, 0x85a: 0x1b84, 0x85b: 0x1b88, 0x85c: 0x1af4, 0x85d: 0x1af8, + 0x85e: 0x1afc, 0x85f: 0x1b00, 0x860: 0x1b04, 0x861: 0x1b08, 0x862: 0x1b0c, 0x863: 0x1b10, + 0x864: 0x1b14, 0x865: 0x1b18, 0x866: 0x1b1c, 0x867: 0x1b20, 0x868: 0x1b24, 0x869: 0x1b28, + 0x86a: 0x1b2c, 0x86b: 0x1b30, 0x86c: 0x1b34, 0x86d: 0x1b38, 0x86e: 0x1b3c, 0x86f: 0x1b40, + 0x870: 0x1b44, 0x871: 0x1b48, 0x872: 0x1b4c, 0x873: 0x1b50, 0x874: 0x1b54, 0x875: 0x1b58, + 0x876: 0x0043, 0x877: 0x0045, 0x878: 0x0047, 0x879: 0x0049, 0x87a: 0x004b, 0x87b: 0x004d, + 0x87c: 0x004f, 0x87d: 0x0051, 0x87e: 0x0053, 0x87f: 0x0055, + // Block 0x22, offset 0x880 + 0x880: 0x06bf, 0x881: 0x06e3, 0x882: 0x06ef, 0x883: 0x06ff, 0x884: 0x0707, 0x885: 0x0713, + 0x886: 0x071b, 0x887: 0x0723, 0x888: 0x072f, 0x889: 0x0783, 0x88a: 0x079b, 0x88b: 0x07ab, + 0x88c: 0x07bb, 0x88d: 0x07cb, 0x88e: 0x07db, 0x88f: 0x07fb, 0x890: 0x07ff, 0x891: 0x0803, + 0x892: 0x0837, 0x893: 0x085f, 0x894: 0x086f, 0x895: 0x0877, 0x896: 0x087b, 0x897: 0x0887, + 0x898: 0x08a3, 0x899: 0x08a7, 0x89a: 0x08bf, 0x89b: 0x08c3, 0x89c: 0x08cb, 0x89d: 0x08db, + 0x89e: 0x0977, 0x89f: 0x098b, 0x8a0: 0x09cb, 0x8a1: 0x09df, 0x8a2: 0x09e7, 0x8a3: 0x09eb, + 0x8a4: 0x09fb, 0x8a5: 0x0a17, 0x8a6: 0x0a43, 0x8a7: 0x0a4f, 0x8a8: 0x0a6f, 0x8a9: 0x0a7b, + 0x8aa: 0x0a7f, 0x8ab: 0x0a83, 0x8ac: 0x0a9b, 0x8ad: 0x0a9f, 0x8ae: 0x0acb, 0x8af: 0x0ad7, + 0x8b0: 0x0adf, 0x8b1: 0x0ae7, 0x8b2: 0x0af7, 0x8b3: 0x0aff, 0x8b4: 0x0b07, 0x8b5: 0x0b33, + 0x8b6: 0x0b37, 0x8b7: 0x0b3f, 0x8b8: 0x0b43, 0x8b9: 0x0b4b, 0x8ba: 0x0b53, 0x8bb: 0x0b63, + 0x8bc: 0x0b7f, 0x8bd: 0x0bf7, 0x8be: 0x0c0b, 0x8bf: 0x0c0f, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0c8f, 0x8c1: 0x0c93, 0x8c2: 0x0ca7, 0x8c3: 0x0cab, 0x8c4: 0x0cb3, 0x8c5: 0x0cbb, + 0x8c6: 0x0cc3, 0x8c7: 0x0ccf, 0x8c8: 0x0cf7, 0x8c9: 0x0d07, 0x8ca: 0x0d1b, 0x8cb: 0x0d8b, + 0x8cc: 0x0d97, 0x8cd: 0x0da7, 0x8ce: 0x0db3, 0x8cf: 0x0dbf, 0x8d0: 0x0dc7, 0x8d1: 0x0dcb, + 0x8d2: 0x0dcf, 0x8d3: 0x0dd3, 0x8d4: 0x0dd7, 0x8d5: 0x0e8f, 0x8d6: 0x0ed7, 0x8d7: 0x0ee3, + 0x8d8: 0x0ee7, 0x8d9: 0x0eeb, 0x8da: 0x0eef, 0x8db: 0x0ef7, 0x8dc: 0x0efb, 0x8dd: 0x0f0f, + 0x8de: 0x0f2b, 0x8df: 0x0f33, 0x8e0: 0x0f73, 0x8e1: 0x0f77, 0x8e2: 0x0f7f, 0x8e3: 0x0f83, + 0x8e4: 0x0f8b, 0x8e5: 0x0f8f, 0x8e6: 0x0fb3, 0x8e7: 0x0fb7, 0x8e8: 0x0fd3, 0x8e9: 0x0fd7, + 0x8ea: 0x0fdb, 0x8eb: 0x0fdf, 0x8ec: 0x0ff3, 0x8ed: 0x1017, 0x8ee: 0x101b, 0x8ef: 0x101f, + 0x8f0: 0x1043, 0x8f1: 0x1083, 0x8f2: 0x1087, 0x8f3: 0x10a7, 0x8f4: 0x10b7, 0x8f5: 0x10bf, + 0x8f6: 0x10df, 0x8f7: 0x1103, 0x8f8: 0x1147, 0x8f9: 0x114f, 0x8fa: 0x1163, 0x8fb: 0x116f, + 0x8fc: 0x1177, 0x8fd: 0x117f, 0x8fe: 0x1183, 0x8ff: 0x1187, + // Block 0x24, offset 0x900 + 0x900: 0x119f, 0x901: 0x11a3, 0x902: 0x11bf, 0x903: 0x11c7, 0x904: 0x11cf, 0x905: 0x11d3, + 0x906: 0x11df, 0x907: 0x11e7, 0x908: 0x11eb, 0x909: 0x11ef, 0x90a: 0x11f7, 0x90b: 0x11fb, + 0x90c: 0x129b, 0x90d: 0x12af, 0x90e: 0x12e3, 0x90f: 0x12e7, 0x910: 0x12ef, 0x911: 0x131b, + 0x912: 0x1323, 0x913: 0x132b, 0x914: 0x1333, 0x915: 0x136f, 0x916: 0x1373, 0x917: 0x137b, + 0x918: 0x137f, 0x919: 0x1383, 0x91a: 0x13af, 0x91b: 0x13b3, 0x91c: 0x13bb, 0x91d: 0x13cf, + 0x91e: 0x13d3, 0x91f: 0x13ef, 0x920: 0x13f7, 0x921: 0x13fb, 0x922: 0x141f, 0x923: 0x143f, + 0x924: 0x1453, 0x925: 0x1457, 0x926: 0x145f, 0x927: 0x148b, 0x928: 0x148f, 0x929: 0x149f, + 0x92a: 0x14c3, 0x92b: 0x14cf, 0x92c: 0x14df, 0x92d: 0x14f7, 0x92e: 0x14ff, 0x92f: 0x1503, + 0x930: 0x1507, 0x931: 0x150b, 0x932: 0x1517, 0x933: 0x151b, 0x934: 0x1523, 0x935: 0x153f, + 0x936: 0x1543, 0x937: 0x1547, 0x938: 0x155f, 0x939: 0x1563, 0x93a: 0x156b, 0x93b: 0x157f, + 0x93c: 0x1583, 0x93d: 0x1587, 0x93e: 0x158f, 0x93f: 0x1593, + // Block 0x25, offset 0x940 + 0x946: 0xa000, 0x94b: 0xa000, + 0x94c: 0x3f08, 0x94d: 0xa000, 0x94e: 0x3f10, 0x94f: 0xa000, 0x950: 0x3f18, 0x951: 0xa000, + 0x952: 0x3f20, 0x953: 0xa000, 0x954: 0x3f28, 0x955: 0xa000, 0x956: 0x3f30, 0x957: 0xa000, + 0x958: 0x3f38, 0x959: 0xa000, 0x95a: 0x3f40, 0x95b: 0xa000, 0x95c: 0x3f48, 0x95d: 0xa000, + 0x95e: 0x3f50, 0x95f: 0xa000, 0x960: 0x3f58, 0x961: 0xa000, 0x962: 0x3f60, + 0x964: 0xa000, 0x965: 0x3f68, 0x966: 0xa000, 0x967: 0x3f70, 0x968: 0xa000, 0x969: 0x3f78, + 0x96f: 0xa000, + 0x970: 0x3f80, 0x971: 0x3f88, 0x972: 0xa000, 0x973: 0x3f90, 0x974: 0x3f98, 0x975: 0xa000, + 0x976: 0x3fa0, 0x977: 0x3fa8, 0x978: 0xa000, 0x979: 0x3fb0, 0x97a: 0x3fb8, 0x97b: 0xa000, + 0x97c: 0x3fc0, 0x97d: 0x3fc8, + // Block 0x26, offset 0x980 + 0x994: 0x3f00, + 0x999: 0x9903, 0x99a: 0x9903, 0x99b: 0x42dc, 0x99c: 0x42e2, 0x99d: 0xa000, + 0x99e: 0x3fd0, 0x99f: 0x26b4, + 0x9a6: 0xa000, + 0x9ab: 0xa000, 0x9ac: 0x3fe0, 0x9ad: 0xa000, 0x9ae: 0x3fe8, 0x9af: 0xa000, + 0x9b0: 0x3ff0, 0x9b1: 0xa000, 0x9b2: 0x3ff8, 0x9b3: 0xa000, 0x9b4: 0x4000, 0x9b5: 0xa000, + 0x9b6: 0x4008, 0x9b7: 0xa000, 0x9b8: 0x4010, 0x9b9: 0xa000, 0x9ba: 0x4018, 0x9bb: 0xa000, + 0x9bc: 0x4020, 0x9bd: 0xa000, 0x9be: 0x4028, 0x9bf: 0xa000, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x4030, 0x9c1: 0xa000, 0x9c2: 0x4038, 0x9c4: 0xa000, 0x9c5: 0x4040, + 0x9c6: 0xa000, 0x9c7: 0x4048, 0x9c8: 0xa000, 0x9c9: 0x4050, + 0x9cf: 0xa000, 0x9d0: 0x4058, 0x9d1: 0x4060, + 0x9d2: 0xa000, 0x9d3: 0x4068, 0x9d4: 0x4070, 0x9d5: 0xa000, 0x9d6: 0x4078, 0x9d7: 0x4080, + 0x9d8: 0xa000, 0x9d9: 0x4088, 0x9da: 0x4090, 0x9db: 0xa000, 0x9dc: 0x4098, 0x9dd: 0x40a0, + 0x9ef: 0xa000, + 0x9f0: 0xa000, 0x9f1: 0xa000, 0x9f2: 0xa000, 0x9f4: 0x3fd8, + 0x9f7: 0x40a8, 0x9f8: 0x40b0, 0x9f9: 0x40b8, 0x9fa: 0x40c0, + 0x9fd: 0xa000, 0x9fe: 0x40c8, 0x9ff: 0x26c9, + // Block 0x28, offset 0xa00 + 0xa00: 0x0367, 0xa01: 0x032b, 0xa02: 0x032f, 0xa03: 0x0333, 0xa04: 0x037b, 0xa05: 0x0337, + 0xa06: 0x033b, 0xa07: 0x033f, 0xa08: 0x0343, 0xa09: 0x0347, 0xa0a: 0x034b, 0xa0b: 0x034f, + 0xa0c: 0x0353, 0xa0d: 0x0357, 0xa0e: 0x035b, 0xa0f: 0x49bd, 0xa10: 0x49c3, 0xa11: 0x49c9, + 0xa12: 0x49cf, 0xa13: 0x49d5, 0xa14: 0x49db, 0xa15: 0x49e1, 0xa16: 0x49e7, 0xa17: 0x49ed, + 0xa18: 0x49f3, 0xa19: 0x49f9, 0xa1a: 0x49ff, 0xa1b: 0x4a05, 0xa1c: 0x4a0b, 0xa1d: 0x4a11, + 0xa1e: 0x4a17, 0xa1f: 0x4a1d, 0xa20: 0x4a23, 0xa21: 0x4a29, 0xa22: 0x4a2f, 0xa23: 0x4a35, + 0xa24: 0x03c3, 0xa25: 0x035f, 0xa26: 0x0363, 0xa27: 0x03e7, 0xa28: 0x03eb, 0xa29: 0x03ef, + 0xa2a: 0x03f3, 0xa2b: 0x03f7, 0xa2c: 0x03fb, 0xa2d: 0x03ff, 0xa2e: 0x036b, 0xa2f: 0x0403, + 0xa30: 0x0407, 0xa31: 0x036f, 0xa32: 0x0373, 0xa33: 0x0377, 0xa34: 0x037f, 0xa35: 0x0383, + 0xa36: 0x0387, 0xa37: 0x038b, 0xa38: 0x038f, 0xa39: 0x0393, 0xa3a: 0x0397, 0xa3b: 0x039b, + 0xa3c: 0x039f, 0xa3d: 0x03a3, 0xa3e: 0x03a7, 0xa3f: 0x03ab, + // Block 0x29, offset 0xa40 + 0xa40: 0x03af, 0xa41: 0x03b3, 0xa42: 0x040b, 0xa43: 0x040f, 0xa44: 0x03b7, 0xa45: 0x03bb, + 0xa46: 0x03bf, 0xa47: 0x03c7, 0xa48: 0x03cb, 0xa49: 0x03cf, 0xa4a: 0x03d3, 0xa4b: 0x03d7, + 0xa4c: 0x03db, 0xa4d: 0x03df, 0xa4e: 0x03e3, + 0xa52: 0x06bf, 0xa53: 0x071b, 0xa54: 0x06cb, 0xa55: 0x097b, 0xa56: 0x06cf, 0xa57: 0x06e7, + 0xa58: 0x06d3, 0xa59: 0x0f93, 0xa5a: 0x0707, 0xa5b: 0x06db, 0xa5c: 0x06c3, 0xa5d: 0x09ff, + 0xa5e: 0x098f, 0xa5f: 0x072f, + // Block 0x2a, offset 0xa80 + 0xa80: 0x2054, 0xa81: 0x205a, 0xa82: 0x2060, 0xa83: 0x2066, 0xa84: 0x206c, 0xa85: 0x2072, + 0xa86: 0x2078, 0xa87: 0x207e, 0xa88: 0x2084, 0xa89: 0x208a, 0xa8a: 0x2090, 0xa8b: 0x2096, + 0xa8c: 0x209c, 0xa8d: 0x20a2, 0xa8e: 0x2726, 0xa8f: 0x272f, 0xa90: 0x2738, 0xa91: 0x2741, + 0xa92: 0x274a, 0xa93: 0x2753, 0xa94: 0x275c, 0xa95: 0x2765, 0xa96: 0x276e, 0xa97: 0x2780, + 0xa98: 0x2789, 0xa99: 0x2792, 0xa9a: 0x279b, 0xa9b: 0x27a4, 0xa9c: 0x2777, 0xa9d: 0x2bac, + 0xa9e: 0x2aed, 0xaa0: 0x20a8, 0xaa1: 0x20c0, 0xaa2: 0x20b4, 0xaa3: 0x2108, + 0xaa4: 0x20c6, 0xaa5: 0x20e4, 0xaa6: 0x20ae, 0xaa7: 0x20de, 0xaa8: 0x20ba, 0xaa9: 0x20f0, + 0xaaa: 0x2120, 0xaab: 0x213e, 0xaac: 0x2138, 0xaad: 0x212c, 0xaae: 0x217a, 0xaaf: 0x210e, + 0xab0: 0x211a, 0xab1: 0x2132, 0xab2: 0x2126, 0xab3: 0x2150, 0xab4: 0x20fc, 0xab5: 0x2144, + 0xab6: 0x216e, 0xab7: 0x2156, 0xab8: 0x20ea, 0xab9: 0x20cc, 0xaba: 0x2102, 0xabb: 0x2114, + 0xabc: 0x214a, 0xabd: 0x20d2, 0xabe: 0x2174, 0xabf: 0x20f6, + // Block 0x2b, offset 0xac0 + 0xac0: 0x215c, 0xac1: 0x20d8, 0xac2: 0x2162, 0xac3: 0x2168, 0xac4: 0x092f, 0xac5: 0x0b03, + 0xac6: 0x0ca7, 0xac7: 0x10c7, + 0xad0: 0x1bc4, 0xad1: 0x18a9, + 0xad2: 0x18ac, 0xad3: 0x18af, 0xad4: 0x18b2, 0xad5: 0x18b5, 0xad6: 0x18b8, 0xad7: 0x18bb, + 0xad8: 0x18be, 0xad9: 0x18c1, 0xada: 0x18ca, 0xadb: 0x18cd, 0xadc: 0x18d0, 0xadd: 0x18d3, + 0xade: 0x18d6, 0xadf: 0x18d9, 0xae0: 0x0313, 0xae1: 0x031b, 0xae2: 0x031f, 0xae3: 0x0327, + 0xae4: 0x032b, 0xae5: 0x032f, 0xae6: 0x0337, 0xae7: 0x033f, 0xae8: 0x0343, 0xae9: 0x034b, + 0xaea: 0x034f, 0xaeb: 0x0353, 0xaec: 0x0357, 0xaed: 0x035b, 0xaee: 0x2e18, 0xaef: 0x2e20, + 0xaf0: 0x2e28, 0xaf1: 0x2e30, 0xaf2: 0x2e38, 0xaf3: 0x2e40, 0xaf4: 0x2e48, 0xaf5: 0x2e50, + 0xaf6: 0x2e60, 0xaf7: 0x2e68, 0xaf8: 0x2e70, 0xaf9: 0x2e78, 0xafa: 0x2e80, 0xafb: 0x2e88, + 0xafc: 0x2ed3, 0xafd: 0x2e9b, 0xafe: 0x2e58, + // Block 0x2c, offset 0xb00 + 0xb00: 0x06bf, 0xb01: 0x071b, 0xb02: 0x06cb, 0xb03: 0x097b, 0xb04: 0x071f, 0xb05: 0x07af, + 0xb06: 0x06c7, 0xb07: 0x07ab, 0xb08: 0x070b, 0xb09: 0x0887, 0xb0a: 0x0d07, 0xb0b: 0x0e8f, + 0xb0c: 0x0dd7, 0xb0d: 0x0d1b, 0xb0e: 0x145f, 0xb0f: 0x098b, 0xb10: 0x0ccf, 0xb11: 0x0d4b, + 0xb12: 0x0d0b, 0xb13: 0x104b, 0xb14: 0x08fb, 0xb15: 0x0f03, 0xb16: 0x1387, 0xb17: 0x105f, + 0xb18: 0x0843, 0xb19: 0x108f, 0xb1a: 0x0f9b, 0xb1b: 0x0a17, 0xb1c: 0x140f, 0xb1d: 0x077f, + 0xb1e: 0x08ab, 0xb1f: 0x0df7, 0xb20: 0x1527, 0xb21: 0x0743, 0xb22: 0x07d3, 0xb23: 0x0d9b, + 0xb24: 0x06cf, 0xb25: 0x06e7, 0xb26: 0x06d3, 0xb27: 0x0adb, 0xb28: 0x08ef, 0xb29: 0x087f, + 0xb2a: 0x0a57, 0xb2b: 0x0a4b, 0xb2c: 0x0feb, 0xb2d: 0x073f, 0xb2e: 0x139b, 0xb2f: 0x089b, + 0xb30: 0x09f3, 0xb31: 0x18dc, 0xb32: 0x18df, 0xb33: 0x18e2, 0xb34: 0x18e5, 0xb35: 0x18ee, + 0xb36: 0x18f1, 0xb37: 0x18f4, 0xb38: 0x18f7, 0xb39: 0x18fa, 0xb3a: 0x18fd, 0xb3b: 0x1900, + 0xb3c: 0x1903, 0xb3d: 0x1906, 0xb3e: 0x1909, 0xb3f: 0x1912, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1cc6, 0xb41: 0x1cd5, 0xb42: 0x1ce4, 0xb43: 0x1cf3, 0xb44: 0x1d02, 0xb45: 0x1d11, + 0xb46: 0x1d20, 0xb47: 0x1d2f, 0xb48: 0x1d3e, 0xb49: 0x218c, 0xb4a: 0x219e, 0xb4b: 0x21b0, + 0xb4c: 0x1954, 0xb4d: 0x1c04, 0xb4e: 0x19d2, 0xb4f: 0x1ba8, 0xb50: 0x04cb, 0xb51: 0x04d3, + 0xb52: 0x04db, 0xb53: 0x04e3, 0xb54: 0x04eb, 0xb55: 0x04ef, 0xb56: 0x04f3, 0xb57: 0x04f7, + 0xb58: 0x04fb, 0xb59: 0x04ff, 0xb5a: 0x0503, 0xb5b: 0x0507, 0xb5c: 0x050b, 0xb5d: 0x050f, + 0xb5e: 0x0513, 0xb5f: 0x0517, 0xb60: 0x051b, 0xb61: 0x0523, 0xb62: 0x0527, 0xb63: 0x052b, + 0xb64: 0x052f, 0xb65: 0x0533, 0xb66: 0x0537, 0xb67: 0x053b, 0xb68: 0x053f, 0xb69: 0x0543, + 0xb6a: 0x0547, 0xb6b: 0x054b, 0xb6c: 0x054f, 0xb6d: 0x0553, 0xb6e: 0x0557, 0xb6f: 0x055b, + 0xb70: 0x055f, 0xb71: 0x0563, 0xb72: 0x0567, 0xb73: 0x056f, 0xb74: 0x0577, 0xb75: 0x057f, + 0xb76: 0x0583, 0xb77: 0x0587, 0xb78: 0x058b, 0xb79: 0x058f, 0xb7a: 0x0593, 0xb7b: 0x0597, + 0xb7c: 0x059b, 0xb7d: 0x059f, 0xb7e: 0x05a3, + // Block 0x2e, offset 0xb80 + 0xb80: 0x2b0c, 0xb81: 0x29a8, 0xb82: 0x2b1c, 0xb83: 0x2880, 0xb84: 0x2ee4, 0xb85: 0x288a, + 0xb86: 0x2894, 0xb87: 0x2f28, 0xb88: 0x29b5, 0xb89: 0x289e, 0xb8a: 0x28a8, 0xb8b: 0x28b2, + 0xb8c: 0x29dc, 0xb8d: 0x29e9, 0xb8e: 0x29c2, 0xb8f: 0x29cf, 0xb90: 0x2ea9, 0xb91: 0x29f6, + 0xb92: 0x2a03, 0xb93: 0x2bbe, 0xb94: 0x26bb, 0xb95: 0x2bd1, 0xb96: 0x2be4, 0xb97: 0x2b2c, + 0xb98: 0x2a10, 0xb99: 0x2bf7, 0xb9a: 0x2c0a, 0xb9b: 0x2a1d, 0xb9c: 0x28bc, 0xb9d: 0x28c6, + 0xb9e: 0x2eb7, 0xb9f: 0x2a2a, 0xba0: 0x2b3c, 0xba1: 0x2ef5, 0xba2: 0x28d0, 0xba3: 0x28da, + 0xba4: 0x2a37, 0xba5: 0x28e4, 0xba6: 0x28ee, 0xba7: 0x26d0, 0xba8: 0x26d7, 0xba9: 0x28f8, + 0xbaa: 0x2902, 0xbab: 0x2c1d, 0xbac: 0x2a44, 0xbad: 0x2b4c, 0xbae: 0x2c30, 0xbaf: 0x2a51, + 0xbb0: 0x2916, 0xbb1: 0x290c, 0xbb2: 0x2f3c, 0xbb3: 0x2a5e, 0xbb4: 0x2c43, 0xbb5: 0x2920, + 0xbb6: 0x2b5c, 0xbb7: 0x292a, 0xbb8: 0x2a78, 0xbb9: 0x2934, 0xbba: 0x2a85, 0xbbb: 0x2f06, + 0xbbc: 0x2a6b, 0xbbd: 0x2b6c, 0xbbe: 0x2a92, 0xbbf: 0x26de, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x2f17, 0xbc1: 0x293e, 0xbc2: 0x2948, 0xbc3: 0x2a9f, 0xbc4: 0x2952, 0xbc5: 0x295c, + 0xbc6: 0x2966, 0xbc7: 0x2b7c, 0xbc8: 0x2aac, 0xbc9: 0x26e5, 0xbca: 0x2c56, 0xbcb: 0x2e90, + 0xbcc: 0x2b8c, 0xbcd: 0x2ab9, 0xbce: 0x2ec5, 0xbcf: 0x2970, 0xbd0: 0x297a, 0xbd1: 0x2ac6, + 0xbd2: 0x26ec, 0xbd3: 0x2ad3, 0xbd4: 0x2b9c, 0xbd5: 0x26f3, 0xbd6: 0x2c69, 0xbd7: 0x2984, + 0xbd8: 0x1cb7, 0xbd9: 0x1ccb, 0xbda: 0x1cda, 0xbdb: 0x1ce9, 0xbdc: 0x1cf8, 0xbdd: 0x1d07, + 0xbde: 0x1d16, 0xbdf: 0x1d25, 0xbe0: 0x1d34, 0xbe1: 0x1d43, 0xbe2: 0x2192, 0xbe3: 0x21a4, + 0xbe4: 0x21b6, 0xbe5: 0x21c2, 0xbe6: 0x21ce, 0xbe7: 0x21da, 0xbe8: 0x21e6, 0xbe9: 0x21f2, + 0xbea: 0x21fe, 0xbeb: 0x220a, 0xbec: 0x2246, 0xbed: 0x2252, 0xbee: 0x225e, 0xbef: 0x226a, + 0xbf0: 0x2276, 0xbf1: 0x1c14, 0xbf2: 0x19c6, 0xbf3: 0x1936, 0xbf4: 0x1be4, 0xbf5: 0x1a47, + 0xbf6: 0x1a56, 0xbf7: 0x19cc, 0xbf8: 0x1bfc, 0xbf9: 0x1c00, 0xbfa: 0x1960, 0xbfb: 0x2701, + 0xbfc: 0x270f, 0xbfd: 0x26fa, 0xbfe: 0x2708, 0xbff: 0x2ae0, + // Block 0x30, offset 0xc00 + 0xc00: 0x1a4a, 0xc01: 0x1a32, 0xc02: 0x1c60, 0xc03: 0x1a1a, 0xc04: 0x19f3, 0xc05: 0x1969, + 0xc06: 0x1978, 0xc07: 0x1948, 0xc08: 0x1bf0, 0xc09: 0x1d52, 0xc0a: 0x1a4d, 0xc0b: 0x1a35, + 0xc0c: 0x1c64, 0xc0d: 0x1c70, 0xc0e: 0x1a26, 0xc0f: 0x19fc, 0xc10: 0x1957, 0xc11: 0x1c1c, + 0xc12: 0x1bb0, 0xc13: 0x1b9c, 0xc14: 0x1bcc, 0xc15: 0x1c74, 0xc16: 0x1a29, 0xc17: 0x19c9, + 0xc18: 0x19ff, 0xc19: 0x19de, 0xc1a: 0x1a41, 0xc1b: 0x1c78, 0xc1c: 0x1a2c, 0xc1d: 0x19c0, + 0xc1e: 0x1a02, 0xc1f: 0x1c3c, 0xc20: 0x1bf4, 0xc21: 0x1a14, 0xc22: 0x1c24, 0xc23: 0x1c40, + 0xc24: 0x1bf8, 0xc25: 0x1a17, 0xc26: 0x1c28, 0xc27: 0x22e8, 0xc28: 0x22fc, 0xc29: 0x1996, + 0xc2a: 0x1c20, 0xc2b: 0x1bb4, 0xc2c: 0x1ba0, 0xc2d: 0x1c48, 0xc2e: 0x2716, 0xc2f: 0x27ad, + 0xc30: 0x1a59, 0xc31: 0x1a44, 0xc32: 0x1c7c, 0xc33: 0x1a2f, 0xc34: 0x1a50, 0xc35: 0x1a38, + 0xc36: 0x1c68, 0xc37: 0x1a1d, 0xc38: 0x19f6, 0xc39: 0x1981, 0xc3a: 0x1a53, 0xc3b: 0x1a3b, + 0xc3c: 0x1c6c, 0xc3d: 0x1a20, 0xc3e: 0x19f9, 0xc3f: 0x1984, + // Block 0x31, offset 0xc40 + 0xc40: 0x1c2c, 0xc41: 0x1bb8, 0xc42: 0x1d4d, 0xc43: 0x1939, 0xc44: 0x19ba, 0xc45: 0x19bd, + 0xc46: 0x22f5, 0xc47: 0x1b94, 0xc48: 0x19c3, 0xc49: 0x194b, 0xc4a: 0x19e1, 0xc4b: 0x194e, + 0xc4c: 0x19ea, 0xc4d: 0x196c, 0xc4e: 0x196f, 0xc4f: 0x1a05, 0xc50: 0x1a0b, 0xc51: 0x1a0e, + 0xc52: 0x1c30, 0xc53: 0x1a11, 0xc54: 0x1a23, 0xc55: 0x1c38, 0xc56: 0x1c44, 0xc57: 0x1990, + 0xc58: 0x1d57, 0xc59: 0x1bbc, 0xc5a: 0x1993, 0xc5b: 0x1a5c, 0xc5c: 0x19a5, 0xc5d: 0x19b4, + 0xc5e: 0x22e2, 0xc5f: 0x22dc, 0xc60: 0x1cc1, 0xc61: 0x1cd0, 0xc62: 0x1cdf, 0xc63: 0x1cee, + 0xc64: 0x1cfd, 0xc65: 0x1d0c, 0xc66: 0x1d1b, 0xc67: 0x1d2a, 0xc68: 0x1d39, 0xc69: 0x2186, + 0xc6a: 0x2198, 0xc6b: 0x21aa, 0xc6c: 0x21bc, 0xc6d: 0x21c8, 0xc6e: 0x21d4, 0xc6f: 0x21e0, + 0xc70: 0x21ec, 0xc71: 0x21f8, 0xc72: 0x2204, 0xc73: 0x2240, 0xc74: 0x224c, 0xc75: 0x2258, + 0xc76: 0x2264, 0xc77: 0x2270, 0xc78: 0x227c, 0xc79: 0x2282, 0xc7a: 0x2288, 0xc7b: 0x228e, + 0xc7c: 0x2294, 0xc7d: 0x22a6, 0xc7e: 0x22ac, 0xc7f: 0x1c10, + // Block 0x32, offset 0xc80 + 0xc80: 0x1377, 0xc81: 0x0cfb, 0xc82: 0x13d3, 0xc83: 0x139f, 0xc84: 0x0e57, 0xc85: 0x06eb, + 0xc86: 0x08df, 0xc87: 0x162b, 0xc88: 0x162b, 0xc89: 0x0a0b, 0xc8a: 0x145f, 0xc8b: 0x0943, + 0xc8c: 0x0a07, 0xc8d: 0x0bef, 0xc8e: 0x0fcf, 0xc8f: 0x115f, 0xc90: 0x1297, 0xc91: 0x12d3, + 0xc92: 0x1307, 0xc93: 0x141b, 0xc94: 0x0d73, 0xc95: 0x0dff, 0xc96: 0x0eab, 0xc97: 0x0f43, + 0xc98: 0x125f, 0xc99: 0x1447, 0xc9a: 0x1573, 0xc9b: 0x070f, 0xc9c: 0x08b3, 0xc9d: 0x0d87, + 0xc9e: 0x0ecf, 0xc9f: 0x1293, 0xca0: 0x15c3, 0xca1: 0x0ab3, 0xca2: 0x0e77, 0xca3: 0x1283, + 0xca4: 0x1317, 0xca5: 0x0c23, 0xca6: 0x11bb, 0xca7: 0x12df, 0xca8: 0x0b1f, 0xca9: 0x0d0f, + 0xcaa: 0x0e17, 0xcab: 0x0f1b, 0xcac: 0x1427, 0xcad: 0x074f, 0xcae: 0x07e7, 0xcaf: 0x0853, + 0xcb0: 0x0c8b, 0xcb1: 0x0d7f, 0xcb2: 0x0ecb, 0xcb3: 0x0fef, 0xcb4: 0x1177, 0xcb5: 0x128b, + 0xcb6: 0x12a3, 0xcb7: 0x13c7, 0xcb8: 0x14ef, 0xcb9: 0x15a3, 0xcba: 0x15bf, 0xcbb: 0x102b, + 0xcbc: 0x106b, 0xcbd: 0x1123, 0xcbe: 0x1243, 0xcbf: 0x147b, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x15cb, 0xcc1: 0x134b, 0xcc2: 0x09c7, 0xcc3: 0x0b3b, 0xcc4: 0x10db, 0xcc5: 0x119b, + 0xcc6: 0x0eff, 0xcc7: 0x1033, 0xcc8: 0x1397, 0xcc9: 0x14e7, 0xcca: 0x09c3, 0xccb: 0x0a8f, + 0xccc: 0x0d77, 0xccd: 0x0e2b, 0xcce: 0x0e5f, 0xccf: 0x1113, 0xcd0: 0x113b, 0xcd1: 0x14a7, + 0xcd2: 0x084f, 0xcd3: 0x11a7, 0xcd4: 0x07f3, 0xcd5: 0x07ef, 0xcd6: 0x1097, 0xcd7: 0x1127, + 0xcd8: 0x125b, 0xcd9: 0x14af, 0xcda: 0x1367, 0xcdb: 0x0c27, 0xcdc: 0x0d73, 0xcdd: 0x1357, + 0xcde: 0x06f7, 0xcdf: 0x0a63, 0xce0: 0x0b93, 0xce1: 0x0f2f, 0xce2: 0x0faf, 0xce3: 0x0873, + 0xce4: 0x103b, 0xce5: 0x075f, 0xce6: 0x0b77, 0xce7: 0x06d7, 0xce8: 0x0deb, 0xce9: 0x0ca3, + 0xcea: 0x110f, 0xceb: 0x08c7, 0xcec: 0x09b3, 0xced: 0x0ffb, 0xcee: 0x1263, 0xcef: 0x133b, + 0xcf0: 0x0db7, 0xcf1: 0x13f7, 0xcf2: 0x0de3, 0xcf3: 0x0c37, 0xcf4: 0x121b, 0xcf5: 0x0c57, + 0xcf6: 0x0fab, 0xcf7: 0x072b, 0xcf8: 0x07a7, 0xcf9: 0x07eb, 0xcfa: 0x0d53, 0xcfb: 0x10fb, + 0xcfc: 0x11f3, 0xcfd: 0x1347, 0xcfe: 0x145b, 0xcff: 0x085b, + // Block 0x34, offset 0xd00 + 0xd00: 0x090f, 0xd01: 0x0a17, 0xd02: 0x0b2f, 0xd03: 0x0cbf, 0xd04: 0x0e7b, 0xd05: 0x103f, + 0xd06: 0x1497, 0xd07: 0x157b, 0xd08: 0x15cf, 0xd09: 0x15e7, 0xd0a: 0x0837, 0xd0b: 0x0cf3, + 0xd0c: 0x0da3, 0xd0d: 0x13eb, 0xd0e: 0x0afb, 0xd0f: 0x0bd7, 0xd10: 0x0bf3, 0xd11: 0x0c83, + 0xd12: 0x0e6b, 0xd13: 0x0eb7, 0xd14: 0x0f67, 0xd15: 0x108b, 0xd16: 0x112f, 0xd17: 0x1193, + 0xd18: 0x13db, 0xd19: 0x126b, 0xd1a: 0x1403, 0xd1b: 0x147f, 0xd1c: 0x080f, 0xd1d: 0x083b, + 0xd1e: 0x0923, 0xd1f: 0x0ea7, 0xd20: 0x12f3, 0xd21: 0x133b, 0xd22: 0x0b1b, 0xd23: 0x0b8b, + 0xd24: 0x0c4f, 0xd25: 0x0daf, 0xd26: 0x10d7, 0xd27: 0x0f23, 0xd28: 0x073b, 0xd29: 0x097f, + 0xd2a: 0x0a63, 0xd2b: 0x0ac7, 0xd2c: 0x0b97, 0xd2d: 0x0f3f, 0xd2e: 0x0f5b, 0xd2f: 0x116b, + 0xd30: 0x118b, 0xd31: 0x1463, 0xd32: 0x14e3, 0xd33: 0x14f3, 0xd34: 0x152f, 0xd35: 0x0753, + 0xd36: 0x107f, 0xd37: 0x144f, 0xd38: 0x14cb, 0xd39: 0x0baf, 0xd3a: 0x0717, 0xd3b: 0x0777, + 0xd3c: 0x0a67, 0xd3d: 0x0a87, 0xd3e: 0x0caf, 0xd3f: 0x0d73, + // Block 0x35, offset 0xd40 + 0xd40: 0x0ec3, 0xd41: 0x0fcb, 0xd42: 0x1277, 0xd43: 0x1417, 0xd44: 0x1623, 0xd45: 0x0ce3, + 0xd46: 0x14a3, 0xd47: 0x0833, 0xd48: 0x0d2f, 0xd49: 0x0d3b, 0xd4a: 0x0e0f, 0xd4b: 0x0e47, + 0xd4c: 0x0f4b, 0xd4d: 0x0fa7, 0xd4e: 0x1027, 0xd4f: 0x110b, 0xd50: 0x153b, 0xd51: 0x07af, + 0xd52: 0x0c03, 0xd53: 0x14b3, 0xd54: 0x0767, 0xd55: 0x0aab, 0xd56: 0x0e2f, 0xd57: 0x13df, + 0xd58: 0x0b67, 0xd59: 0x0bb7, 0xd5a: 0x0d43, 0xd5b: 0x0f2f, 0xd5c: 0x14bb, 0xd5d: 0x0817, + 0xd5e: 0x08ff, 0xd5f: 0x0a97, 0xd60: 0x0cd3, 0xd61: 0x0d1f, 0xd62: 0x0d5f, 0xd63: 0x0df3, + 0xd64: 0x0f47, 0xd65: 0x0fbb, 0xd66: 0x1157, 0xd67: 0x12f7, 0xd68: 0x1303, 0xd69: 0x1457, + 0xd6a: 0x14d7, 0xd6b: 0x0883, 0xd6c: 0x0e4b, 0xd6d: 0x0903, 0xd6e: 0x0ec7, 0xd6f: 0x0f6b, + 0xd70: 0x1287, 0xd71: 0x14bf, 0xd72: 0x15ab, 0xd73: 0x15d3, 0xd74: 0x0d37, 0xd75: 0x0e27, + 0xd76: 0x11c3, 0xd77: 0x10b7, 0xd78: 0x10c3, 0xd79: 0x10e7, 0xd7a: 0x0f17, 0xd7b: 0x0e9f, + 0xd7c: 0x1363, 0xd7d: 0x0733, 0xd7e: 0x122b, 0xd7f: 0x081b, + // Block 0x36, offset 0xd80 + 0xd80: 0x080b, 0xd81: 0x0b0b, 0xd82: 0x0c2b, 0xd83: 0x10f3, 0xd84: 0x0a53, 0xd85: 0x0e03, + 0xd86: 0x0cef, 0xd87: 0x13e7, 0xd88: 0x12e7, 0xd89: 0x14ab, 0xd8a: 0x1323, 0xd8b: 0x0b27, + 0xd8c: 0x0787, 0xd8d: 0x095b, 0xd90: 0x09af, + 0xd92: 0x0cdf, 0xd95: 0x07f7, 0xd96: 0x0f1f, 0xd97: 0x0fe3, + 0xd98: 0x1047, 0xd99: 0x1063, 0xd9a: 0x1067, 0xd9b: 0x107b, 0xd9c: 0x14fb, 0xd9d: 0x10eb, + 0xd9e: 0x116f, 0xda0: 0x128f, 0xda2: 0x1353, + 0xda5: 0x1407, 0xda6: 0x1433, + 0xdaa: 0x154f, 0xdab: 0x1553, 0xdac: 0x1557, 0xdad: 0x15bb, 0xdae: 0x142b, 0xdaf: 0x14c7, + 0xdb0: 0x0757, 0xdb1: 0x077b, 0xdb2: 0x078f, 0xdb3: 0x084b, 0xdb4: 0x0857, 0xdb5: 0x0897, + 0xdb6: 0x094b, 0xdb7: 0x0967, 0xdb8: 0x096f, 0xdb9: 0x09ab, 0xdba: 0x09b7, 0xdbb: 0x0a93, + 0xdbc: 0x0a9b, 0xdbd: 0x0ba3, 0xdbe: 0x0bcb, 0xdbf: 0x0bd3, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0beb, 0xdc1: 0x0c97, 0xdc2: 0x0cc7, 0xdc3: 0x0ce7, 0xdc4: 0x0d57, 0xdc5: 0x0e1b, + 0xdc6: 0x0e37, 0xdc7: 0x0e67, 0xdc8: 0x0ebb, 0xdc9: 0x0edb, 0xdca: 0x0f4f, 0xdcb: 0x102f, + 0xdcc: 0x104b, 0xdcd: 0x1053, 0xdce: 0x104f, 0xdcf: 0x1057, 0xdd0: 0x105b, 0xdd1: 0x105f, + 0xdd2: 0x1073, 0xdd3: 0x1077, 0xdd4: 0x109b, 0xdd5: 0x10af, 0xdd6: 0x10cb, 0xdd7: 0x112f, + 0xdd8: 0x1137, 0xdd9: 0x113f, 0xdda: 0x1153, 0xddb: 0x117b, 0xddc: 0x11cb, 0xddd: 0x11ff, + 0xdde: 0x11ff, 0xddf: 0x1267, 0xde0: 0x130f, 0xde1: 0x1327, 0xde2: 0x135b, 0xde3: 0x135f, + 0xde4: 0x13a3, 0xde5: 0x13a7, 0xde6: 0x13ff, 0xde7: 0x1407, 0xde8: 0x14db, 0xde9: 0x151f, + 0xdea: 0x1537, 0xdeb: 0x0b9b, 0xdec: 0x171e, 0xded: 0x11e3, + 0xdf0: 0x06df, 0xdf1: 0x07e3, 0xdf2: 0x07a3, 0xdf3: 0x074b, 0xdf4: 0x078b, 0xdf5: 0x07b7, + 0xdf6: 0x0847, 0xdf7: 0x0863, 0xdf8: 0x094b, 0xdf9: 0x0937, 0xdfa: 0x0947, 0xdfb: 0x0963, + 0xdfc: 0x09af, 0xdfd: 0x09bf, 0xdfe: 0x0a03, 0xdff: 0x0a0f, + // Block 0x38, offset 0xe00 + 0xe00: 0x0a2b, 0xe01: 0x0a3b, 0xe02: 0x0b23, 0xe03: 0x0b2b, 0xe04: 0x0b5b, 0xe05: 0x0b7b, + 0xe06: 0x0bab, 0xe07: 0x0bc3, 0xe08: 0x0bb3, 0xe09: 0x0bd3, 0xe0a: 0x0bc7, 0xe0b: 0x0beb, + 0xe0c: 0x0c07, 0xe0d: 0x0c5f, 0xe0e: 0x0c6b, 0xe0f: 0x0c73, 0xe10: 0x0c9b, 0xe11: 0x0cdf, + 0xe12: 0x0d0f, 0xe13: 0x0d13, 0xe14: 0x0d27, 0xe15: 0x0da7, 0xe16: 0x0db7, 0xe17: 0x0e0f, + 0xe18: 0x0e5b, 0xe19: 0x0e53, 0xe1a: 0x0e67, 0xe1b: 0x0e83, 0xe1c: 0x0ebb, 0xe1d: 0x1013, + 0xe1e: 0x0edf, 0xe1f: 0x0f13, 0xe20: 0x0f1f, 0xe21: 0x0f5f, 0xe22: 0x0f7b, 0xe23: 0x0f9f, + 0xe24: 0x0fc3, 0xe25: 0x0fc7, 0xe26: 0x0fe3, 0xe27: 0x0fe7, 0xe28: 0x0ff7, 0xe29: 0x100b, + 0xe2a: 0x1007, 0xe2b: 0x1037, 0xe2c: 0x10b3, 0xe2d: 0x10cb, 0xe2e: 0x10e3, 0xe2f: 0x111b, + 0xe30: 0x112f, 0xe31: 0x114b, 0xe32: 0x117b, 0xe33: 0x122f, 0xe34: 0x1257, 0xe35: 0x12cb, + 0xe36: 0x1313, 0xe37: 0x131f, 0xe38: 0x1327, 0xe39: 0x133f, 0xe3a: 0x1353, 0xe3b: 0x1343, + 0xe3c: 0x135b, 0xe3d: 0x1357, 0xe3e: 0x134f, 0xe3f: 0x135f, + // Block 0x39, offset 0xe40 + 0xe40: 0x136b, 0xe41: 0x13a7, 0xe42: 0x13e3, 0xe43: 0x1413, 0xe44: 0x144b, 0xe45: 0x146b, + 0xe46: 0x14b7, 0xe47: 0x14db, 0xe48: 0x14fb, 0xe49: 0x150f, 0xe4a: 0x151f, 0xe4b: 0x152b, + 0xe4c: 0x1537, 0xe4d: 0x158b, 0xe4e: 0x162b, 0xe4f: 0x16b5, 0xe50: 0x16b0, 0xe51: 0x16e2, + 0xe52: 0x0607, 0xe53: 0x062f, 0xe54: 0x0633, 0xe55: 0x1764, 0xe56: 0x1791, 0xe57: 0x1809, + 0xe58: 0x1617, 0xe59: 0x1627, + // Block 0x3a, offset 0xe80 + 0xe80: 0x19d5, 0xe81: 0x19d8, 0xe82: 0x19db, 0xe83: 0x1c08, 0xe84: 0x1c0c, 0xe85: 0x1a5f, + 0xe86: 0x1a5f, + 0xe93: 0x1d75, 0xe94: 0x1d66, 0xe95: 0x1d6b, 0xe96: 0x1d7a, 0xe97: 0x1d70, + 0xe9d: 0x4390, + 0xe9e: 0x8115, 0xe9f: 0x4402, 0xea0: 0x022d, 0xea1: 0x0215, 0xea2: 0x021e, 0xea3: 0x0221, + 0xea4: 0x0224, 0xea5: 0x0227, 0xea6: 0x022a, 0xea7: 0x0230, 0xea8: 0x0233, 0xea9: 0x0017, + 0xeaa: 0x43f0, 0xeab: 0x43f6, 0xeac: 0x44f4, 0xead: 0x44fc, 0xeae: 0x4348, 0xeaf: 0x434e, + 0xeb0: 0x4354, 0xeb1: 0x435a, 0xeb2: 0x4366, 0xeb3: 0x436c, 0xeb4: 0x4372, 0xeb5: 0x437e, + 0xeb6: 0x4384, 0xeb8: 0x438a, 0xeb9: 0x4396, 0xeba: 0x439c, 0xebb: 0x43a2, + 0xebc: 0x43ae, 0xebe: 0x43b4, + // Block 0x3b, offset 0xec0 + 0xec0: 0x43ba, 0xec1: 0x43c0, 0xec3: 0x43c6, 0xec4: 0x43cc, + 0xec6: 0x43d8, 0xec7: 0x43de, 0xec8: 0x43e4, 0xec9: 0x43ea, 0xeca: 0x43fc, 0xecb: 0x4378, + 0xecc: 0x4360, 0xecd: 0x43a8, 0xece: 0x43d2, 0xecf: 0x1d7f, 0xed0: 0x0299, 0xed1: 0x0299, + 0xed2: 0x02a2, 0xed3: 0x02a2, 0xed4: 0x02a2, 0xed5: 0x02a2, 0xed6: 0x02a5, 0xed7: 0x02a5, + 0xed8: 0x02a5, 0xed9: 0x02a5, 0xeda: 0x02ab, 0xedb: 0x02ab, 0xedc: 0x02ab, 0xedd: 0x02ab, + 0xede: 0x029f, 0xedf: 0x029f, 0xee0: 0x029f, 0xee1: 0x029f, 0xee2: 0x02a8, 0xee3: 0x02a8, + 0xee4: 0x02a8, 0xee5: 0x02a8, 0xee6: 0x029c, 0xee7: 0x029c, 0xee8: 0x029c, 0xee9: 0x029c, + 0xeea: 0x02cf, 0xeeb: 0x02cf, 0xeec: 0x02cf, 0xeed: 0x02cf, 0xeee: 0x02d2, 0xeef: 0x02d2, + 0xef0: 0x02d2, 0xef1: 0x02d2, 0xef2: 0x02b1, 0xef3: 0x02b1, 0xef4: 0x02b1, 0xef5: 0x02b1, + 0xef6: 0x02ae, 0xef7: 0x02ae, 0xef8: 0x02ae, 0xef9: 0x02ae, 0xefa: 0x02b4, 0xefb: 0x02b4, + 0xefc: 0x02b4, 0xefd: 0x02b4, 0xefe: 0x02b7, 0xeff: 0x02b7, + // Block 0x3c, offset 0xf00 + 0xf00: 0x02b7, 0xf01: 0x02b7, 0xf02: 0x02c0, 0xf03: 0x02c0, 0xf04: 0x02bd, 0xf05: 0x02bd, + 0xf06: 0x02c3, 0xf07: 0x02c3, 0xf08: 0x02ba, 0xf09: 0x02ba, 0xf0a: 0x02c9, 0xf0b: 0x02c9, + 0xf0c: 0x02c6, 0xf0d: 0x02c6, 0xf0e: 0x02d5, 0xf0f: 0x02d5, 0xf10: 0x02d5, 0xf11: 0x02d5, + 0xf12: 0x02db, 0xf13: 0x02db, 0xf14: 0x02db, 0xf15: 0x02db, 0xf16: 0x02e1, 0xf17: 0x02e1, + 0xf18: 0x02e1, 0xf19: 0x02e1, 0xf1a: 0x02de, 0xf1b: 0x02de, 0xf1c: 0x02de, 0xf1d: 0x02de, + 0xf1e: 0x02e4, 0xf1f: 0x02e4, 0xf20: 0x02e7, 0xf21: 0x02e7, 0xf22: 0x02e7, 0xf23: 0x02e7, + 0xf24: 0x446e, 0xf25: 0x446e, 0xf26: 0x02ed, 0xf27: 0x02ed, 0xf28: 0x02ed, 0xf29: 0x02ed, + 0xf2a: 0x02ea, 0xf2b: 0x02ea, 0xf2c: 0x02ea, 0xf2d: 0x02ea, 0xf2e: 0x0308, 0xf2f: 0x0308, + 0xf30: 0x4468, 0xf31: 0x4468, + // Block 0x3d, offset 0xf40 + 0xf53: 0x02d8, 0xf54: 0x02d8, 0xf55: 0x02d8, 0xf56: 0x02d8, 0xf57: 0x02f6, + 0xf58: 0x02f6, 0xf59: 0x02f3, 0xf5a: 0x02f3, 0xf5b: 0x02f9, 0xf5c: 0x02f9, 0xf5d: 0x204f, + 0xf5e: 0x02ff, 0xf5f: 0x02ff, 0xf60: 0x02f0, 0xf61: 0x02f0, 0xf62: 0x02fc, 0xf63: 0x02fc, + 0xf64: 0x0305, 0xf65: 0x0305, 0xf66: 0x0305, 0xf67: 0x0305, 0xf68: 0x028d, 0xf69: 0x028d, + 0xf6a: 0x25aa, 0xf6b: 0x25aa, 0xf6c: 0x261a, 0xf6d: 0x261a, 0xf6e: 0x25e9, 0xf6f: 0x25e9, + 0xf70: 0x2605, 0xf71: 0x2605, 0xf72: 0x25fe, 0xf73: 0x25fe, 0xf74: 0x260c, 0xf75: 0x260c, + 0xf76: 0x2613, 0xf77: 0x2613, 0xf78: 0x2613, 0xf79: 0x25f0, 0xf7a: 0x25f0, 0xf7b: 0x25f0, + 0xf7c: 0x0302, 0xf7d: 0x0302, 0xf7e: 0x0302, 0xf7f: 0x0302, + // Block 0x3e, offset 0xf80 + 0xf80: 0x25b1, 0xf81: 0x25b8, 0xf82: 0x25d4, 0xf83: 0x25f0, 0xf84: 0x25f7, 0xf85: 0x1d89, + 0xf86: 0x1d8e, 0xf87: 0x1d93, 0xf88: 0x1da2, 0xf89: 0x1db1, 0xf8a: 0x1db6, 0xf8b: 0x1dbb, + 0xf8c: 0x1dc0, 0xf8d: 0x1dc5, 0xf8e: 0x1dd4, 0xf8f: 0x1de3, 0xf90: 0x1de8, 0xf91: 0x1ded, + 0xf92: 0x1dfc, 0xf93: 0x1e0b, 0xf94: 0x1e10, 0xf95: 0x1e15, 0xf96: 0x1e1a, 0xf97: 0x1e29, + 0xf98: 0x1e2e, 0xf99: 0x1e3d, 0xf9a: 0x1e42, 0xf9b: 0x1e47, 0xf9c: 0x1e56, 0xf9d: 0x1e5b, + 0xf9e: 0x1e60, 0xf9f: 0x1e6a, 0xfa0: 0x1ea6, 0xfa1: 0x1eb5, 0xfa2: 0x1ec4, 0xfa3: 0x1ec9, + 0xfa4: 0x1ece, 0xfa5: 0x1ed8, 0xfa6: 0x1ee7, 0xfa7: 0x1eec, 0xfa8: 0x1efb, 0xfa9: 0x1f00, + 0xfaa: 0x1f05, 0xfab: 0x1f14, 0xfac: 0x1f19, 0xfad: 0x1f28, 0xfae: 0x1f2d, 0xfaf: 0x1f32, + 0xfb0: 0x1f37, 0xfb1: 0x1f3c, 0xfb2: 0x1f41, 0xfb3: 0x1f46, 0xfb4: 0x1f4b, 0xfb5: 0x1f50, + 0xfb6: 0x1f55, 0xfb7: 0x1f5a, 0xfb8: 0x1f5f, 0xfb9: 0x1f64, 0xfba: 0x1f69, 0xfbb: 0x1f6e, + 0xfbc: 0x1f73, 0xfbd: 0x1f78, 0xfbe: 0x1f7d, 0xfbf: 0x1f87, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x1f8c, 0xfc1: 0x1f91, 0xfc2: 0x1f96, 0xfc3: 0x1fa0, 0xfc4: 0x1fa5, 0xfc5: 0x1faf, + 0xfc6: 0x1fb4, 0xfc7: 0x1fb9, 0xfc8: 0x1fbe, 0xfc9: 0x1fc3, 0xfca: 0x1fc8, 0xfcb: 0x1fcd, + 0xfcc: 0x1fd2, 0xfcd: 0x1fd7, 0xfce: 0x1fe6, 0xfcf: 0x1ff5, 0xfd0: 0x1ffa, 0xfd1: 0x1fff, + 0xfd2: 0x2004, 0xfd3: 0x2009, 0xfd4: 0x200e, 0xfd5: 0x2018, 0xfd6: 0x201d, 0xfd7: 0x2022, + 0xfd8: 0x2031, 0xfd9: 0x2040, 0xfda: 0x2045, 0xfdb: 0x4420, 0xfdc: 0x4426, 0xfdd: 0x445c, + 0xfde: 0x44b3, 0xfdf: 0x44ba, 0xfe0: 0x44c1, 0xfe1: 0x44c8, 0xfe2: 0x44cf, 0xfe3: 0x44d6, + 0xfe4: 0x25c6, 0xfe5: 0x25cd, 0xfe6: 0x25d4, 0xfe7: 0x25db, 0xfe8: 0x25f0, 0xfe9: 0x25f7, + 0xfea: 0x1d98, 0xfeb: 0x1d9d, 0xfec: 0x1da2, 0xfed: 0x1da7, 0xfee: 0x1db1, 0xfef: 0x1db6, + 0xff0: 0x1dca, 0xff1: 0x1dcf, 0xff2: 0x1dd4, 0xff3: 0x1dd9, 0xff4: 0x1de3, 0xff5: 0x1de8, + 0xff6: 0x1df2, 0xff7: 0x1df7, 0xff8: 0x1dfc, 0xff9: 0x1e01, 0xffa: 0x1e0b, 0xffb: 0x1e10, + 0xffc: 0x1f3c, 0xffd: 0x1f41, 0xffe: 0x1f50, 0xfff: 0x1f55, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f5a, 0x1001: 0x1f6e, 0x1002: 0x1f73, 0x1003: 0x1f78, 0x1004: 0x1f7d, 0x1005: 0x1f96, + 0x1006: 0x1fa0, 0x1007: 0x1fa5, 0x1008: 0x1faa, 0x1009: 0x1fbe, 0x100a: 0x1fdc, 0x100b: 0x1fe1, + 0x100c: 0x1fe6, 0x100d: 0x1feb, 0x100e: 0x1ff5, 0x100f: 0x1ffa, 0x1010: 0x445c, 0x1011: 0x2027, + 0x1012: 0x202c, 0x1013: 0x2031, 0x1014: 0x2036, 0x1015: 0x2040, 0x1016: 0x2045, 0x1017: 0x25b1, + 0x1018: 0x25b8, 0x1019: 0x25bf, 0x101a: 0x25d4, 0x101b: 0x25e2, 0x101c: 0x1d89, 0x101d: 0x1d8e, + 0x101e: 0x1d93, 0x101f: 0x1da2, 0x1020: 0x1dac, 0x1021: 0x1dbb, 0x1022: 0x1dc0, 0x1023: 0x1dc5, + 0x1024: 0x1dd4, 0x1025: 0x1dde, 0x1026: 0x1dfc, 0x1027: 0x1e15, 0x1028: 0x1e1a, 0x1029: 0x1e29, + 0x102a: 0x1e2e, 0x102b: 0x1e3d, 0x102c: 0x1e47, 0x102d: 0x1e56, 0x102e: 0x1e5b, 0x102f: 0x1e60, + 0x1030: 0x1e6a, 0x1031: 0x1ea6, 0x1032: 0x1eab, 0x1033: 0x1eb5, 0x1034: 0x1ec4, 0x1035: 0x1ec9, + 0x1036: 0x1ece, 0x1037: 0x1ed8, 0x1038: 0x1ee7, 0x1039: 0x1efb, 0x103a: 0x1f00, 0x103b: 0x1f05, + 0x103c: 0x1f14, 0x103d: 0x1f19, 0x103e: 0x1f28, 0x103f: 0x1f2d, + // Block 0x41, offset 0x1040 + 0x1040: 0x1f32, 0x1041: 0x1f37, 0x1042: 0x1f46, 0x1043: 0x1f4b, 0x1044: 0x1f5f, 0x1045: 0x1f64, + 0x1046: 0x1f69, 0x1047: 0x1f6e, 0x1048: 0x1f73, 0x1049: 0x1f87, 0x104a: 0x1f8c, 0x104b: 0x1f91, + 0x104c: 0x1f96, 0x104d: 0x1f9b, 0x104e: 0x1faf, 0x104f: 0x1fb4, 0x1050: 0x1fb9, 0x1051: 0x1fbe, + 0x1052: 0x1fcd, 0x1053: 0x1fd2, 0x1054: 0x1fd7, 0x1055: 0x1fe6, 0x1056: 0x1ff0, 0x1057: 0x1fff, + 0x1058: 0x2004, 0x1059: 0x4450, 0x105a: 0x2018, 0x105b: 0x201d, 0x105c: 0x2022, 0x105d: 0x2031, + 0x105e: 0x203b, 0x105f: 0x25d4, 0x1060: 0x25e2, 0x1061: 0x1da2, 0x1062: 0x1dac, 0x1063: 0x1dd4, + 0x1064: 0x1dde, 0x1065: 0x1dfc, 0x1066: 0x1e06, 0x1067: 0x1e6a, 0x1068: 0x1e6f, 0x1069: 0x1e92, + 0x106a: 0x1e97, 0x106b: 0x1f6e, 0x106c: 0x1f73, 0x106d: 0x1f96, 0x106e: 0x1fe6, 0x106f: 0x1ff0, + 0x1070: 0x2031, 0x1071: 0x203b, 0x1072: 0x4504, 0x1073: 0x450c, 0x1074: 0x4514, 0x1075: 0x1ef1, + 0x1076: 0x1ef6, 0x1077: 0x1f0a, 0x1078: 0x1f0f, 0x1079: 0x1f1e, 0x107a: 0x1f23, 0x107b: 0x1e74, + 0x107c: 0x1e79, 0x107d: 0x1e9c, 0x107e: 0x1ea1, 0x107f: 0x1e33, + // Block 0x42, offset 0x1080 + 0x1080: 0x1e38, 0x1081: 0x1e1f, 0x1082: 0x1e24, 0x1083: 0x1e4c, 0x1084: 0x1e51, 0x1085: 0x1eba, + 0x1086: 0x1ebf, 0x1087: 0x1edd, 0x1088: 0x1ee2, 0x1089: 0x1e7e, 0x108a: 0x1e83, 0x108b: 0x1e88, + 0x108c: 0x1e92, 0x108d: 0x1e8d, 0x108e: 0x1e65, 0x108f: 0x1eb0, 0x1090: 0x1ed3, 0x1091: 0x1ef1, + 0x1092: 0x1ef6, 0x1093: 0x1f0a, 0x1094: 0x1f0f, 0x1095: 0x1f1e, 0x1096: 0x1f23, 0x1097: 0x1e74, + 0x1098: 0x1e79, 0x1099: 0x1e9c, 0x109a: 0x1ea1, 0x109b: 0x1e33, 0x109c: 0x1e38, 0x109d: 0x1e1f, + 0x109e: 0x1e24, 0x109f: 0x1e4c, 0x10a0: 0x1e51, 0x10a1: 0x1eba, 0x10a2: 0x1ebf, 0x10a3: 0x1edd, + 0x10a4: 0x1ee2, 0x10a5: 0x1e7e, 0x10a6: 0x1e83, 0x10a7: 0x1e88, 0x10a8: 0x1e92, 0x10a9: 0x1e8d, + 0x10aa: 0x1e65, 0x10ab: 0x1eb0, 0x10ac: 0x1ed3, 0x10ad: 0x1e7e, 0x10ae: 0x1e83, 0x10af: 0x1e88, + 0x10b0: 0x1e92, 0x10b1: 0x1e6f, 0x10b2: 0x1e97, 0x10b3: 0x1eec, 0x10b4: 0x1e56, 0x10b5: 0x1e5b, + 0x10b6: 0x1e60, 0x10b7: 0x1e7e, 0x10b8: 0x1e83, 0x10b9: 0x1e88, 0x10ba: 0x1eec, 0x10bb: 0x1efb, + 0x10bc: 0x4408, 0x10bd: 0x4408, + // Block 0x43, offset 0x10c0 + 0x10d0: 0x2311, 0x10d1: 0x2326, + 0x10d2: 0x2326, 0x10d3: 0x232d, 0x10d4: 0x2334, 0x10d5: 0x2349, 0x10d6: 0x2350, 0x10d7: 0x2357, + 0x10d8: 0x237a, 0x10d9: 0x237a, 0x10da: 0x239d, 0x10db: 0x2396, 0x10dc: 0x23b2, 0x10dd: 0x23a4, + 0x10de: 0x23ab, 0x10df: 0x23ce, 0x10e0: 0x23ce, 0x10e1: 0x23c7, 0x10e2: 0x23d5, 0x10e3: 0x23d5, + 0x10e4: 0x23ff, 0x10e5: 0x23ff, 0x10e6: 0x241b, 0x10e7: 0x23e3, 0x10e8: 0x23e3, 0x10e9: 0x23dc, + 0x10ea: 0x23f1, 0x10eb: 0x23f1, 0x10ec: 0x23f8, 0x10ed: 0x23f8, 0x10ee: 0x2422, 0x10ef: 0x2430, + 0x10f0: 0x2430, 0x10f1: 0x2437, 0x10f2: 0x2437, 0x10f3: 0x243e, 0x10f4: 0x2445, 0x10f5: 0x244c, + 0x10f6: 0x2453, 0x10f7: 0x2453, 0x10f8: 0x245a, 0x10f9: 0x2468, 0x10fa: 0x2476, 0x10fb: 0x246f, + 0x10fc: 0x247d, 0x10fd: 0x247d, 0x10fe: 0x2492, 0x10ff: 0x2499, + // Block 0x44, offset 0x1100 + 0x1100: 0x24ca, 0x1101: 0x24d8, 0x1102: 0x24d1, 0x1103: 0x24b5, 0x1104: 0x24b5, 0x1105: 0x24df, + 0x1106: 0x24df, 0x1107: 0x24e6, 0x1108: 0x24e6, 0x1109: 0x2510, 0x110a: 0x2517, 0x110b: 0x251e, + 0x110c: 0x24f4, 0x110d: 0x2502, 0x110e: 0x2525, 0x110f: 0x252c, + 0x1112: 0x24fb, 0x1113: 0x2580, 0x1114: 0x2587, 0x1115: 0x255d, 0x1116: 0x2564, 0x1117: 0x2548, + 0x1118: 0x2548, 0x1119: 0x254f, 0x111a: 0x2579, 0x111b: 0x2572, 0x111c: 0x259c, 0x111d: 0x259c, + 0x111e: 0x230a, 0x111f: 0x231f, 0x1120: 0x2318, 0x1121: 0x2342, 0x1122: 0x233b, 0x1123: 0x2365, + 0x1124: 0x235e, 0x1125: 0x2388, 0x1126: 0x236c, 0x1127: 0x2381, 0x1128: 0x23b9, 0x1129: 0x2406, + 0x112a: 0x23ea, 0x112b: 0x2429, 0x112c: 0x24c3, 0x112d: 0x24ed, 0x112e: 0x2595, 0x112f: 0x258e, + 0x1130: 0x25a3, 0x1131: 0x253a, 0x1132: 0x24a0, 0x1133: 0x256b, 0x1134: 0x2492, 0x1135: 0x24ca, + 0x1136: 0x2461, 0x1137: 0x24ae, 0x1138: 0x2541, 0x1139: 0x2533, 0x113a: 0x24bc, 0x113b: 0x24a7, + 0x113c: 0x24bc, 0x113d: 0x2541, 0x113e: 0x2373, 0x113f: 0x238f, + // Block 0x45, offset 0x1140 + 0x1140: 0x2509, 0x1141: 0x2484, 0x1142: 0x2303, 0x1143: 0x24a7, 0x1144: 0x244c, 0x1145: 0x241b, + 0x1146: 0x23c0, 0x1147: 0x2556, + 0x1170: 0x2414, 0x1171: 0x248b, 0x1172: 0x27bf, 0x1173: 0x27b6, 0x1174: 0x27ec, 0x1175: 0x27da, + 0x1176: 0x27c8, 0x1177: 0x27e3, 0x1178: 0x27f5, 0x1179: 0x240d, 0x117a: 0x2c7c, 0x117b: 0x2afc, + 0x117c: 0x27d1, + // Block 0x46, offset 0x1180 + 0x1190: 0x0019, 0x1191: 0x0483, + 0x1192: 0x0487, 0x1193: 0x0035, 0x1194: 0x0037, 0x1195: 0x0003, 0x1196: 0x003f, 0x1197: 0x04bf, + 0x1198: 0x04c3, 0x1199: 0x1b5c, + 0x11a0: 0x8132, 0x11a1: 0x8132, 0x11a2: 0x8132, 0x11a3: 0x8132, + 0x11a4: 0x8132, 0x11a5: 0x8132, 0x11a6: 0x8132, 0x11a7: 0x812d, 0x11a8: 0x812d, 0x11a9: 0x812d, + 0x11aa: 0x812d, 0x11ab: 0x812d, 0x11ac: 0x812d, 0x11ad: 0x812d, 0x11ae: 0x8132, 0x11af: 0x8132, + 0x11b0: 0x1873, 0x11b1: 0x0443, 0x11b2: 0x043f, 0x11b3: 0x007f, 0x11b4: 0x007f, 0x11b5: 0x0011, + 0x11b6: 0x0013, 0x11b7: 0x00b7, 0x11b8: 0x00bb, 0x11b9: 0x04b7, 0x11ba: 0x04bb, 0x11bb: 0x04ab, + 0x11bc: 0x04af, 0x11bd: 0x0493, 0x11be: 0x0497, 0x11bf: 0x048b, + // Block 0x47, offset 0x11c0 + 0x11c0: 0x048f, 0x11c1: 0x049b, 0x11c2: 0x049f, 0x11c3: 0x04a3, 0x11c4: 0x04a7, + 0x11c7: 0x0077, 0x11c8: 0x007b, 0x11c9: 0x4269, 0x11ca: 0x4269, 0x11cb: 0x4269, + 0x11cc: 0x4269, 0x11cd: 0x007f, 0x11ce: 0x007f, 0x11cf: 0x007f, 0x11d0: 0x0019, 0x11d1: 0x0483, + 0x11d2: 0x001d, 0x11d4: 0x0037, 0x11d5: 0x0035, 0x11d6: 0x003f, 0x11d7: 0x0003, + 0x11d8: 0x0443, 0x11d9: 0x0011, 0x11da: 0x0013, 0x11db: 0x00b7, 0x11dc: 0x00bb, 0x11dd: 0x04b7, + 0x11de: 0x04bb, 0x11df: 0x0007, 0x11e0: 0x000d, 0x11e1: 0x0015, 0x11e2: 0x0017, 0x11e3: 0x001b, + 0x11e4: 0x0039, 0x11e5: 0x003d, 0x11e6: 0x003b, 0x11e8: 0x0079, 0x11e9: 0x0009, + 0x11ea: 0x000b, 0x11eb: 0x0041, + 0x11f0: 0x42aa, 0x11f1: 0x442c, 0x11f2: 0x42af, 0x11f4: 0x42b4, + 0x11f6: 0x42b9, 0x11f7: 0x4432, 0x11f8: 0x42be, 0x11f9: 0x4438, 0x11fa: 0x42c3, 0x11fb: 0x443e, + 0x11fc: 0x42c8, 0x11fd: 0x4444, 0x11fe: 0x42cd, 0x11ff: 0x444a, + // Block 0x48, offset 0x1200 + 0x1200: 0x0236, 0x1201: 0x440e, 0x1202: 0x440e, 0x1203: 0x4414, 0x1204: 0x4414, 0x1205: 0x4456, + 0x1206: 0x4456, 0x1207: 0x441a, 0x1208: 0x441a, 0x1209: 0x4462, 0x120a: 0x4462, 0x120b: 0x4462, + 0x120c: 0x4462, 0x120d: 0x0239, 0x120e: 0x0239, 0x120f: 0x023c, 0x1210: 0x023c, 0x1211: 0x023c, + 0x1212: 0x023c, 0x1213: 0x023f, 0x1214: 0x023f, 0x1215: 0x0242, 0x1216: 0x0242, 0x1217: 0x0242, + 0x1218: 0x0242, 0x1219: 0x0245, 0x121a: 0x0245, 0x121b: 0x0245, 0x121c: 0x0245, 0x121d: 0x0248, + 0x121e: 0x0248, 0x121f: 0x0248, 0x1220: 0x0248, 0x1221: 0x024b, 0x1222: 0x024b, 0x1223: 0x024b, + 0x1224: 0x024b, 0x1225: 0x024e, 0x1226: 0x024e, 0x1227: 0x024e, 0x1228: 0x024e, 0x1229: 0x0251, + 0x122a: 0x0251, 0x122b: 0x0254, 0x122c: 0x0254, 0x122d: 0x0257, 0x122e: 0x0257, 0x122f: 0x025a, + 0x1230: 0x025a, 0x1231: 0x025d, 0x1232: 0x025d, 0x1233: 0x025d, 0x1234: 0x025d, 0x1235: 0x0260, + 0x1236: 0x0260, 0x1237: 0x0260, 0x1238: 0x0260, 0x1239: 0x0263, 0x123a: 0x0263, 0x123b: 0x0263, + 0x123c: 0x0263, 0x123d: 0x0266, 0x123e: 0x0266, 0x123f: 0x0266, + // Block 0x49, offset 0x1240 + 0x1240: 0x0266, 0x1241: 0x0269, 0x1242: 0x0269, 0x1243: 0x0269, 0x1244: 0x0269, 0x1245: 0x026c, + 0x1246: 0x026c, 0x1247: 0x026c, 0x1248: 0x026c, 0x1249: 0x026f, 0x124a: 0x026f, 0x124b: 0x026f, + 0x124c: 0x026f, 0x124d: 0x0272, 0x124e: 0x0272, 0x124f: 0x0272, 0x1250: 0x0272, 0x1251: 0x0275, + 0x1252: 0x0275, 0x1253: 0x0275, 0x1254: 0x0275, 0x1255: 0x0278, 0x1256: 0x0278, 0x1257: 0x0278, + 0x1258: 0x0278, 0x1259: 0x027b, 0x125a: 0x027b, 0x125b: 0x027b, 0x125c: 0x027b, 0x125d: 0x027e, + 0x125e: 0x027e, 0x125f: 0x027e, 0x1260: 0x027e, 0x1261: 0x0281, 0x1262: 0x0281, 0x1263: 0x0281, + 0x1264: 0x0281, 0x1265: 0x0284, 0x1266: 0x0284, 0x1267: 0x0284, 0x1268: 0x0284, 0x1269: 0x0287, + 0x126a: 0x0287, 0x126b: 0x0287, 0x126c: 0x0287, 0x126d: 0x028a, 0x126e: 0x028a, 0x126f: 0x028d, + 0x1270: 0x028d, 0x1271: 0x0290, 0x1272: 0x0290, 0x1273: 0x0290, 0x1274: 0x0290, 0x1275: 0x2e00, + 0x1276: 0x2e00, 0x1277: 0x2e08, 0x1278: 0x2e08, 0x1279: 0x2e10, 0x127a: 0x2e10, 0x127b: 0x1f82, + 0x127c: 0x1f82, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0081, 0x1281: 0x0083, 0x1282: 0x0085, 0x1283: 0x0087, 0x1284: 0x0089, 0x1285: 0x008b, + 0x1286: 0x008d, 0x1287: 0x008f, 0x1288: 0x0091, 0x1289: 0x0093, 0x128a: 0x0095, 0x128b: 0x0097, + 0x128c: 0x0099, 0x128d: 0x009b, 0x128e: 0x009d, 0x128f: 0x009f, 0x1290: 0x00a1, 0x1291: 0x00a3, + 0x1292: 0x00a5, 0x1293: 0x00a7, 0x1294: 0x00a9, 0x1295: 0x00ab, 0x1296: 0x00ad, 0x1297: 0x00af, + 0x1298: 0x00b1, 0x1299: 0x00b3, 0x129a: 0x00b5, 0x129b: 0x00b7, 0x129c: 0x00b9, 0x129d: 0x00bb, + 0x129e: 0x00bd, 0x129f: 0x0477, 0x12a0: 0x047b, 0x12a1: 0x0487, 0x12a2: 0x049b, 0x12a3: 0x049f, + 0x12a4: 0x0483, 0x12a5: 0x05ab, 0x12a6: 0x05a3, 0x12a7: 0x04c7, 0x12a8: 0x04cf, 0x12a9: 0x04d7, + 0x12aa: 0x04df, 0x12ab: 0x04e7, 0x12ac: 0x056b, 0x12ad: 0x0573, 0x12ae: 0x057b, 0x12af: 0x051f, + 0x12b0: 0x05af, 0x12b1: 0x04cb, 0x12b2: 0x04d3, 0x12b3: 0x04db, 0x12b4: 0x04e3, 0x12b5: 0x04eb, + 0x12b6: 0x04ef, 0x12b7: 0x04f3, 0x12b8: 0x04f7, 0x12b9: 0x04fb, 0x12ba: 0x04ff, 0x12bb: 0x0503, + 0x12bc: 0x0507, 0x12bd: 0x050b, 0x12be: 0x050f, 0x12bf: 0x0513, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x0517, 0x12c1: 0x051b, 0x12c2: 0x0523, 0x12c3: 0x0527, 0x12c4: 0x052b, 0x12c5: 0x052f, + 0x12c6: 0x0533, 0x12c7: 0x0537, 0x12c8: 0x053b, 0x12c9: 0x053f, 0x12ca: 0x0543, 0x12cb: 0x0547, + 0x12cc: 0x054b, 0x12cd: 0x054f, 0x12ce: 0x0553, 0x12cf: 0x0557, 0x12d0: 0x055b, 0x12d1: 0x055f, + 0x12d2: 0x0563, 0x12d3: 0x0567, 0x12d4: 0x056f, 0x12d5: 0x0577, 0x12d6: 0x057f, 0x12d7: 0x0583, + 0x12d8: 0x0587, 0x12d9: 0x058b, 0x12da: 0x058f, 0x12db: 0x0593, 0x12dc: 0x0597, 0x12dd: 0x05a7, + 0x12de: 0x4a78, 0x12df: 0x4a7e, 0x12e0: 0x03c3, 0x12e1: 0x0313, 0x12e2: 0x0317, 0x12e3: 0x4a3b, + 0x12e4: 0x031b, 0x12e5: 0x4a41, 0x12e6: 0x4a47, 0x12e7: 0x031f, 0x12e8: 0x0323, 0x12e9: 0x0327, + 0x12ea: 0x4a4d, 0x12eb: 0x4a53, 0x12ec: 0x4a59, 0x12ed: 0x4a5f, 0x12ee: 0x4a65, 0x12ef: 0x4a6b, + 0x12f0: 0x0367, 0x12f1: 0x032b, 0x12f2: 0x032f, 0x12f3: 0x0333, 0x12f4: 0x037b, 0x12f5: 0x0337, + 0x12f6: 0x033b, 0x12f7: 0x033f, 0x12f8: 0x0343, 0x12f9: 0x0347, 0x12fa: 0x034b, 0x12fb: 0x034f, + 0x12fc: 0x0353, 0x12fd: 0x0357, 0x12fe: 0x035b, + // Block 0x4c, offset 0x1300 + 0x1302: 0x49bd, 0x1303: 0x49c3, 0x1304: 0x49c9, 0x1305: 0x49cf, + 0x1306: 0x49d5, 0x1307: 0x49db, 0x130a: 0x49e1, 0x130b: 0x49e7, + 0x130c: 0x49ed, 0x130d: 0x49f3, 0x130e: 0x49f9, 0x130f: 0x49ff, + 0x1312: 0x4a05, 0x1313: 0x4a0b, 0x1314: 0x4a11, 0x1315: 0x4a17, 0x1316: 0x4a1d, 0x1317: 0x4a23, + 0x131a: 0x4a29, 0x131b: 0x4a2f, 0x131c: 0x4a35, + 0x1320: 0x00bf, 0x1321: 0x00c2, 0x1322: 0x00cb, 0x1323: 0x4264, + 0x1324: 0x00c8, 0x1325: 0x00c5, 0x1326: 0x0447, 0x1328: 0x046b, 0x1329: 0x044b, + 0x132a: 0x044f, 0x132b: 0x0453, 0x132c: 0x0457, 0x132d: 0x046f, 0x132e: 0x0473, + // Block 0x4d, offset 0x1340 + 0x1340: 0x0063, 0x1341: 0x0065, 0x1342: 0x0067, 0x1343: 0x0069, 0x1344: 0x006b, 0x1345: 0x006d, + 0x1346: 0x006f, 0x1347: 0x0071, 0x1348: 0x0073, 0x1349: 0x0075, 0x134a: 0x0083, 0x134b: 0x0085, + 0x134c: 0x0087, 0x134d: 0x0089, 0x134e: 0x008b, 0x134f: 0x008d, 0x1350: 0x008f, 0x1351: 0x0091, + 0x1352: 0x0093, 0x1353: 0x0095, 0x1354: 0x0097, 0x1355: 0x0099, 0x1356: 0x009b, 0x1357: 0x009d, + 0x1358: 0x009f, 0x1359: 0x00a1, 0x135a: 0x00a3, 0x135b: 0x00a5, 0x135c: 0x00a7, 0x135d: 0x00a9, + 0x135e: 0x00ab, 0x135f: 0x00ad, 0x1360: 0x00af, 0x1361: 0x00b1, 0x1362: 0x00b3, 0x1363: 0x00b5, + 0x1364: 0x00dd, 0x1365: 0x00f2, 0x1368: 0x0173, 0x1369: 0x0176, + 0x136a: 0x0179, 0x136b: 0x017c, 0x136c: 0x017f, 0x136d: 0x0182, 0x136e: 0x0185, 0x136f: 0x0188, + 0x1370: 0x018b, 0x1371: 0x018e, 0x1372: 0x0191, 0x1373: 0x0194, 0x1374: 0x0197, 0x1375: 0x019a, + 0x1376: 0x019d, 0x1377: 0x01a0, 0x1378: 0x01a3, 0x1379: 0x0188, 0x137a: 0x01a6, 0x137b: 0x01a9, + 0x137c: 0x01ac, 0x137d: 0x01af, 0x137e: 0x01b2, 0x137f: 0x01b5, + // Block 0x4e, offset 0x1380 + 0x1380: 0x01fd, 0x1381: 0x0200, 0x1382: 0x0203, 0x1383: 0x045b, 0x1384: 0x01c7, 0x1385: 0x01d0, + 0x1386: 0x01d6, 0x1387: 0x01fa, 0x1388: 0x01eb, 0x1389: 0x01e8, 0x138a: 0x0206, 0x138b: 0x0209, + 0x138e: 0x0021, 0x138f: 0x0023, 0x1390: 0x0025, 0x1391: 0x0027, + 0x1392: 0x0029, 0x1393: 0x002b, 0x1394: 0x002d, 0x1395: 0x002f, 0x1396: 0x0031, 0x1397: 0x0033, + 0x1398: 0x0021, 0x1399: 0x0023, 0x139a: 0x0025, 0x139b: 0x0027, 0x139c: 0x0029, 0x139d: 0x002b, + 0x139e: 0x002d, 0x139f: 0x002f, 0x13a0: 0x0031, 0x13a1: 0x0033, 0x13a2: 0x0021, 0x13a3: 0x0023, + 0x13a4: 0x0025, 0x13a5: 0x0027, 0x13a6: 0x0029, 0x13a7: 0x002b, 0x13a8: 0x002d, 0x13a9: 0x002f, + 0x13aa: 0x0031, 0x13ab: 0x0033, 0x13ac: 0x0021, 0x13ad: 0x0023, 0x13ae: 0x0025, 0x13af: 0x0027, + 0x13b0: 0x0029, 0x13b1: 0x002b, 0x13b2: 0x002d, 0x13b3: 0x002f, 0x13b4: 0x0031, 0x13b5: 0x0033, + 0x13b6: 0x0021, 0x13b7: 0x0023, 0x13b8: 0x0025, 0x13b9: 0x0027, 0x13ba: 0x0029, 0x13bb: 0x002b, + 0x13bc: 0x002d, 0x13bd: 0x002f, 0x13be: 0x0031, 0x13bf: 0x0033, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0239, 0x13c1: 0x023c, 0x13c2: 0x0248, 0x13c3: 0x0251, 0x13c5: 0x028a, + 0x13c6: 0x025a, 0x13c7: 0x024b, 0x13c8: 0x0269, 0x13c9: 0x0290, 0x13ca: 0x027b, 0x13cb: 0x027e, + 0x13cc: 0x0281, 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d0: 0x0275, 0x13d1: 0x0263, + 0x13d2: 0x0278, 0x13d3: 0x0257, 0x13d4: 0x0260, 0x13d5: 0x0242, 0x13d6: 0x0245, 0x13d7: 0x024e, + 0x13d8: 0x0254, 0x13d9: 0x0266, 0x13da: 0x026c, 0x13db: 0x0272, 0x13dc: 0x0293, 0x13dd: 0x02e4, + 0x13de: 0x02cc, 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248, + 0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e9: 0x0290, + 0x13ea: 0x027b, 0x13eb: 0x027e, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f, + 0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242, + 0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fb: 0x0272, + // Block 0x50, offset 0x1400 + 0x1402: 0x0248, + 0x1407: 0x024b, 0x1409: 0x0290, 0x140b: 0x027e, + 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1414: 0x0260, 0x1417: 0x024e, + 0x1419: 0x0266, 0x141b: 0x0272, 0x141d: 0x02e4, + 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, + 0x1424: 0x0287, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290, + 0x142a: 0x027b, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272, + 0x143c: 0x0293, 0x143e: 0x02cc, + // Block 0x51, offset 0x1440 + 0x1440: 0x0239, 0x1441: 0x023c, 0x1442: 0x0248, 0x1443: 0x0251, 0x1444: 0x0287, 0x1445: 0x028a, + 0x1446: 0x025a, 0x1447: 0x024b, 0x1448: 0x0269, 0x1449: 0x0290, 0x144b: 0x027e, + 0x144c: 0x0281, 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1450: 0x0275, 0x1451: 0x0263, + 0x1452: 0x0278, 0x1453: 0x0257, 0x1454: 0x0260, 0x1455: 0x0242, 0x1456: 0x0245, 0x1457: 0x024e, + 0x1458: 0x0254, 0x1459: 0x0266, 0x145a: 0x026c, 0x145b: 0x0272, + 0x1461: 0x023c, 0x1462: 0x0248, 0x1463: 0x0251, + 0x1465: 0x028a, 0x1466: 0x025a, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, + 0x146b: 0x027e, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, + 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1473: 0x0257, 0x1474: 0x0260, 0x1475: 0x0242, + 0x1476: 0x0245, 0x1477: 0x024e, 0x1478: 0x0254, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, + // Block 0x52, offset 0x1480 + 0x1480: 0x1879, 0x1481: 0x1876, 0x1482: 0x187c, 0x1483: 0x18a0, 0x1484: 0x18c4, 0x1485: 0x18e8, + 0x1486: 0x190c, 0x1487: 0x1915, 0x1488: 0x191b, 0x1489: 0x1921, 0x148a: 0x1927, + 0x1490: 0x1a8c, 0x1491: 0x1a90, + 0x1492: 0x1a94, 0x1493: 0x1a98, 0x1494: 0x1a9c, 0x1495: 0x1aa0, 0x1496: 0x1aa4, 0x1497: 0x1aa8, + 0x1498: 0x1aac, 0x1499: 0x1ab0, 0x149a: 0x1ab4, 0x149b: 0x1ab8, 0x149c: 0x1abc, 0x149d: 0x1ac0, + 0x149e: 0x1ac4, 0x149f: 0x1ac8, 0x14a0: 0x1acc, 0x14a1: 0x1ad0, 0x14a2: 0x1ad4, 0x14a3: 0x1ad8, + 0x14a4: 0x1adc, 0x14a5: 0x1ae0, 0x14a6: 0x1ae4, 0x14a7: 0x1ae8, 0x14a8: 0x1aec, 0x14a9: 0x1af0, + 0x14aa: 0x271e, 0x14ab: 0x0047, 0x14ac: 0x0065, 0x14ad: 0x193c, 0x14ae: 0x19b1, + 0x14b0: 0x0043, 0x14b1: 0x0045, 0x14b2: 0x0047, 0x14b3: 0x0049, 0x14b4: 0x004b, 0x14b5: 0x004d, + 0x14b6: 0x004f, 0x14b7: 0x0051, 0x14b8: 0x0053, 0x14b9: 0x0055, 0x14ba: 0x0057, 0x14bb: 0x0059, + 0x14bc: 0x005b, 0x14bd: 0x005d, 0x14be: 0x005f, 0x14bf: 0x0061, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x26ad, 0x14c1: 0x26c2, 0x14c2: 0x0503, + 0x14d0: 0x0c0f, 0x14d1: 0x0a47, + 0x14d2: 0x08d3, 0x14d3: 0x45c4, 0x14d4: 0x071b, 0x14d5: 0x09ef, 0x14d6: 0x132f, 0x14d7: 0x09ff, + 0x14d8: 0x0727, 0x14d9: 0x0cd7, 0x14da: 0x0eaf, 0x14db: 0x0caf, 0x14dc: 0x0827, 0x14dd: 0x0b6b, + 0x14de: 0x07bf, 0x14df: 0x0cb7, 0x14e0: 0x0813, 0x14e1: 0x1117, 0x14e2: 0x0f83, 0x14e3: 0x138b, + 0x14e4: 0x09d3, 0x14e5: 0x090b, 0x14e6: 0x0e63, 0x14e7: 0x0c1b, 0x14e8: 0x0c47, 0x14e9: 0x06bf, + 0x14ea: 0x06cb, 0x14eb: 0x140b, 0x14ec: 0x0adb, 0x14ed: 0x06e7, 0x14ee: 0x08ef, 0x14ef: 0x0c3b, + 0x14f0: 0x13b3, 0x14f1: 0x0c13, 0x14f2: 0x106f, 0x14f3: 0x10ab, 0x14f4: 0x08f7, 0x14f5: 0x0e43, + 0x14f6: 0x0d0b, 0x14f7: 0x0d07, 0x14f8: 0x0f97, 0x14f9: 0x082b, 0x14fa: 0x0957, 0x14fb: 0x1443, + // Block 0x54, offset 0x1500 + 0x1500: 0x06fb, 0x1501: 0x06f3, 0x1502: 0x0703, 0x1503: 0x1647, 0x1504: 0x0747, 0x1505: 0x0757, + 0x1506: 0x075b, 0x1507: 0x0763, 0x1508: 0x076b, 0x1509: 0x076f, 0x150a: 0x077b, 0x150b: 0x0773, + 0x150c: 0x05b3, 0x150d: 0x165b, 0x150e: 0x078f, 0x150f: 0x0793, 0x1510: 0x0797, 0x1511: 0x07b3, + 0x1512: 0x164c, 0x1513: 0x05b7, 0x1514: 0x079f, 0x1515: 0x07bf, 0x1516: 0x1656, 0x1517: 0x07cf, + 0x1518: 0x07d7, 0x1519: 0x0737, 0x151a: 0x07df, 0x151b: 0x07e3, 0x151c: 0x1831, 0x151d: 0x07ff, + 0x151e: 0x0807, 0x151f: 0x05bf, 0x1520: 0x081f, 0x1521: 0x0823, 0x1522: 0x082b, 0x1523: 0x082f, + 0x1524: 0x05c3, 0x1525: 0x0847, 0x1526: 0x084b, 0x1527: 0x0857, 0x1528: 0x0863, 0x1529: 0x0867, + 0x152a: 0x086b, 0x152b: 0x0873, 0x152c: 0x0893, 0x152d: 0x0897, 0x152e: 0x089f, 0x152f: 0x08af, + 0x1530: 0x08b7, 0x1531: 0x08bb, 0x1532: 0x08bb, 0x1533: 0x08bb, 0x1534: 0x166a, 0x1535: 0x0e93, + 0x1536: 0x08cf, 0x1537: 0x08d7, 0x1538: 0x166f, 0x1539: 0x08e3, 0x153a: 0x08eb, 0x153b: 0x08f3, + 0x153c: 0x091b, 0x153d: 0x0907, 0x153e: 0x0913, 0x153f: 0x0917, + // Block 0x55, offset 0x1540 + 0x1540: 0x091f, 0x1541: 0x0927, 0x1542: 0x092b, 0x1543: 0x0933, 0x1544: 0x093b, 0x1545: 0x093f, + 0x1546: 0x093f, 0x1547: 0x0947, 0x1548: 0x094f, 0x1549: 0x0953, 0x154a: 0x095f, 0x154b: 0x0983, + 0x154c: 0x0967, 0x154d: 0x0987, 0x154e: 0x096b, 0x154f: 0x0973, 0x1550: 0x080b, 0x1551: 0x09cf, + 0x1552: 0x0997, 0x1553: 0x099b, 0x1554: 0x099f, 0x1555: 0x0993, 0x1556: 0x09a7, 0x1557: 0x09a3, + 0x1558: 0x09bb, 0x1559: 0x1674, 0x155a: 0x09d7, 0x155b: 0x09db, 0x155c: 0x09e3, 0x155d: 0x09ef, + 0x155e: 0x09f7, 0x155f: 0x0a13, 0x1560: 0x1679, 0x1561: 0x167e, 0x1562: 0x0a1f, 0x1563: 0x0a23, + 0x1564: 0x0a27, 0x1565: 0x0a1b, 0x1566: 0x0a2f, 0x1567: 0x05c7, 0x1568: 0x05cb, 0x1569: 0x0a37, + 0x156a: 0x0a3f, 0x156b: 0x0a3f, 0x156c: 0x1683, 0x156d: 0x0a5b, 0x156e: 0x0a5f, 0x156f: 0x0a63, + 0x1570: 0x0a6b, 0x1571: 0x1688, 0x1572: 0x0a73, 0x1573: 0x0a77, 0x1574: 0x0b4f, 0x1575: 0x0a7f, + 0x1576: 0x05cf, 0x1577: 0x0a8b, 0x1578: 0x0a9b, 0x1579: 0x0aa7, 0x157a: 0x0aa3, 0x157b: 0x1692, + 0x157c: 0x0aaf, 0x157d: 0x1697, 0x157e: 0x0abb, 0x157f: 0x0ab7, + // Block 0x56, offset 0x1580 + 0x1580: 0x0abf, 0x1581: 0x0acf, 0x1582: 0x0ad3, 0x1583: 0x05d3, 0x1584: 0x0ae3, 0x1585: 0x0aeb, + 0x1586: 0x0aef, 0x1587: 0x0af3, 0x1588: 0x05d7, 0x1589: 0x169c, 0x158a: 0x05db, 0x158b: 0x0b0f, + 0x158c: 0x0b13, 0x158d: 0x0b17, 0x158e: 0x0b1f, 0x158f: 0x1863, 0x1590: 0x0b37, 0x1591: 0x16a6, + 0x1592: 0x16a6, 0x1593: 0x11d7, 0x1594: 0x0b47, 0x1595: 0x0b47, 0x1596: 0x05df, 0x1597: 0x16c9, + 0x1598: 0x179b, 0x1599: 0x0b57, 0x159a: 0x0b5f, 0x159b: 0x05e3, 0x159c: 0x0b73, 0x159d: 0x0b83, + 0x159e: 0x0b87, 0x159f: 0x0b8f, 0x15a0: 0x0b9f, 0x15a1: 0x05eb, 0x15a2: 0x05e7, 0x15a3: 0x0ba3, + 0x15a4: 0x16ab, 0x15a5: 0x0ba7, 0x15a6: 0x0bbb, 0x15a7: 0x0bbf, 0x15a8: 0x0bc3, 0x15a9: 0x0bbf, + 0x15aa: 0x0bcf, 0x15ab: 0x0bd3, 0x15ac: 0x0be3, 0x15ad: 0x0bdb, 0x15ae: 0x0bdf, 0x15af: 0x0be7, + 0x15b0: 0x0beb, 0x15b1: 0x0bef, 0x15b2: 0x0bfb, 0x15b3: 0x0bff, 0x15b4: 0x0c17, 0x15b5: 0x0c1f, + 0x15b6: 0x0c2f, 0x15b7: 0x0c43, 0x15b8: 0x16ba, 0x15b9: 0x0c3f, 0x15ba: 0x0c33, 0x15bb: 0x0c4b, + 0x15bc: 0x0c53, 0x15bd: 0x0c67, 0x15be: 0x16bf, 0x15bf: 0x0c6f, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0c63, 0x15c1: 0x0c5b, 0x15c2: 0x05ef, 0x15c3: 0x0c77, 0x15c4: 0x0c7f, 0x15c5: 0x0c87, + 0x15c6: 0x0c7b, 0x15c7: 0x05f3, 0x15c8: 0x0c97, 0x15c9: 0x0c9f, 0x15ca: 0x16c4, 0x15cb: 0x0ccb, + 0x15cc: 0x0cff, 0x15cd: 0x0cdb, 0x15ce: 0x05ff, 0x15cf: 0x0ce7, 0x15d0: 0x05fb, 0x15d1: 0x05f7, + 0x15d2: 0x07c3, 0x15d3: 0x07c7, 0x15d4: 0x0d03, 0x15d5: 0x0ceb, 0x15d6: 0x11ab, 0x15d7: 0x0663, + 0x15d8: 0x0d0f, 0x15d9: 0x0d13, 0x15da: 0x0d17, 0x15db: 0x0d2b, 0x15dc: 0x0d23, 0x15dd: 0x16dd, + 0x15de: 0x0603, 0x15df: 0x0d3f, 0x15e0: 0x0d33, 0x15e1: 0x0d4f, 0x15e2: 0x0d57, 0x15e3: 0x16e7, + 0x15e4: 0x0d5b, 0x15e5: 0x0d47, 0x15e6: 0x0d63, 0x15e7: 0x0607, 0x15e8: 0x0d67, 0x15e9: 0x0d6b, + 0x15ea: 0x0d6f, 0x15eb: 0x0d7b, 0x15ec: 0x16ec, 0x15ed: 0x0d83, 0x15ee: 0x060b, 0x15ef: 0x0d8f, + 0x15f0: 0x16f1, 0x15f1: 0x0d93, 0x15f2: 0x060f, 0x15f3: 0x0d9f, 0x15f4: 0x0dab, 0x15f5: 0x0db7, + 0x15f6: 0x0dbb, 0x15f7: 0x16f6, 0x15f8: 0x168d, 0x15f9: 0x16fb, 0x15fa: 0x0ddb, 0x15fb: 0x1700, + 0x15fc: 0x0de7, 0x15fd: 0x0def, 0x15fe: 0x0ddf, 0x15ff: 0x0dfb, + // Block 0x58, offset 0x1600 + 0x1600: 0x0e0b, 0x1601: 0x0e1b, 0x1602: 0x0e0f, 0x1603: 0x0e13, 0x1604: 0x0e1f, 0x1605: 0x0e23, + 0x1606: 0x1705, 0x1607: 0x0e07, 0x1608: 0x0e3b, 0x1609: 0x0e3f, 0x160a: 0x0613, 0x160b: 0x0e53, + 0x160c: 0x0e4f, 0x160d: 0x170a, 0x160e: 0x0e33, 0x160f: 0x0e6f, 0x1610: 0x170f, 0x1611: 0x1714, + 0x1612: 0x0e73, 0x1613: 0x0e87, 0x1614: 0x0e83, 0x1615: 0x0e7f, 0x1616: 0x0617, 0x1617: 0x0e8b, + 0x1618: 0x0e9b, 0x1619: 0x0e97, 0x161a: 0x0ea3, 0x161b: 0x1651, 0x161c: 0x0eb3, 0x161d: 0x1719, + 0x161e: 0x0ebf, 0x161f: 0x1723, 0x1620: 0x0ed3, 0x1621: 0x0edf, 0x1622: 0x0ef3, 0x1623: 0x1728, + 0x1624: 0x0f07, 0x1625: 0x0f0b, 0x1626: 0x172d, 0x1627: 0x1732, 0x1628: 0x0f27, 0x1629: 0x0f37, + 0x162a: 0x061b, 0x162b: 0x0f3b, 0x162c: 0x061f, 0x162d: 0x061f, 0x162e: 0x0f53, 0x162f: 0x0f57, + 0x1630: 0x0f5f, 0x1631: 0x0f63, 0x1632: 0x0f6f, 0x1633: 0x0623, 0x1634: 0x0f87, 0x1635: 0x1737, + 0x1636: 0x0fa3, 0x1637: 0x173c, 0x1638: 0x0faf, 0x1639: 0x16a1, 0x163a: 0x0fbf, 0x163b: 0x1741, + 0x163c: 0x1746, 0x163d: 0x174b, 0x163e: 0x0627, 0x163f: 0x062b, + // Block 0x59, offset 0x1640 + 0x1640: 0x0ff7, 0x1641: 0x1755, 0x1642: 0x1750, 0x1643: 0x175a, 0x1644: 0x175f, 0x1645: 0x0fff, + 0x1646: 0x1003, 0x1647: 0x1003, 0x1648: 0x100b, 0x1649: 0x0633, 0x164a: 0x100f, 0x164b: 0x0637, + 0x164c: 0x063b, 0x164d: 0x1769, 0x164e: 0x1023, 0x164f: 0x102b, 0x1650: 0x1037, 0x1651: 0x063f, + 0x1652: 0x176e, 0x1653: 0x105b, 0x1654: 0x1773, 0x1655: 0x1778, 0x1656: 0x107b, 0x1657: 0x1093, + 0x1658: 0x0643, 0x1659: 0x109b, 0x165a: 0x109f, 0x165b: 0x10a3, 0x165c: 0x177d, 0x165d: 0x1782, + 0x165e: 0x1782, 0x165f: 0x10bb, 0x1660: 0x0647, 0x1661: 0x1787, 0x1662: 0x10cf, 0x1663: 0x10d3, + 0x1664: 0x064b, 0x1665: 0x178c, 0x1666: 0x10ef, 0x1667: 0x064f, 0x1668: 0x10ff, 0x1669: 0x10f7, + 0x166a: 0x1107, 0x166b: 0x1796, 0x166c: 0x111f, 0x166d: 0x0653, 0x166e: 0x112b, 0x166f: 0x1133, + 0x1670: 0x1143, 0x1671: 0x0657, 0x1672: 0x17a0, 0x1673: 0x17a5, 0x1674: 0x065b, 0x1675: 0x17aa, + 0x1676: 0x115b, 0x1677: 0x17af, 0x1678: 0x1167, 0x1679: 0x1173, 0x167a: 0x117b, 0x167b: 0x17b4, + 0x167c: 0x17b9, 0x167d: 0x118f, 0x167e: 0x17be, 0x167f: 0x1197, + // Block 0x5a, offset 0x1680 + 0x1680: 0x16ce, 0x1681: 0x065f, 0x1682: 0x11af, 0x1683: 0x11b3, 0x1684: 0x0667, 0x1685: 0x11b7, + 0x1686: 0x0a33, 0x1687: 0x17c3, 0x1688: 0x17c8, 0x1689: 0x16d3, 0x168a: 0x16d8, 0x168b: 0x11d7, + 0x168c: 0x11db, 0x168d: 0x13f3, 0x168e: 0x066b, 0x168f: 0x1207, 0x1690: 0x1203, 0x1691: 0x120b, + 0x1692: 0x083f, 0x1693: 0x120f, 0x1694: 0x1213, 0x1695: 0x1217, 0x1696: 0x121f, 0x1697: 0x17cd, + 0x1698: 0x121b, 0x1699: 0x1223, 0x169a: 0x1237, 0x169b: 0x123b, 0x169c: 0x1227, 0x169d: 0x123f, + 0x169e: 0x1253, 0x169f: 0x1267, 0x16a0: 0x1233, 0x16a1: 0x1247, 0x16a2: 0x124b, 0x16a3: 0x124f, + 0x16a4: 0x17d2, 0x16a5: 0x17dc, 0x16a6: 0x17d7, 0x16a7: 0x066f, 0x16a8: 0x126f, 0x16a9: 0x1273, + 0x16aa: 0x127b, 0x16ab: 0x17f0, 0x16ac: 0x127f, 0x16ad: 0x17e1, 0x16ae: 0x0673, 0x16af: 0x0677, + 0x16b0: 0x17e6, 0x16b1: 0x17eb, 0x16b2: 0x067b, 0x16b3: 0x129f, 0x16b4: 0x12a3, 0x16b5: 0x12a7, + 0x16b6: 0x12ab, 0x16b7: 0x12b7, 0x16b8: 0x12b3, 0x16b9: 0x12bf, 0x16ba: 0x12bb, 0x16bb: 0x12cb, + 0x16bc: 0x12c3, 0x16bd: 0x12c7, 0x16be: 0x12cf, 0x16bf: 0x067f, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x12d7, 0x16c1: 0x12db, 0x16c2: 0x0683, 0x16c3: 0x12eb, 0x16c4: 0x12ef, 0x16c5: 0x17f5, + 0x16c6: 0x12fb, 0x16c7: 0x12ff, 0x16c8: 0x0687, 0x16c9: 0x130b, 0x16ca: 0x05bb, 0x16cb: 0x17fa, + 0x16cc: 0x17ff, 0x16cd: 0x068b, 0x16ce: 0x068f, 0x16cf: 0x1337, 0x16d0: 0x134f, 0x16d1: 0x136b, + 0x16d2: 0x137b, 0x16d3: 0x1804, 0x16d4: 0x138f, 0x16d5: 0x1393, 0x16d6: 0x13ab, 0x16d7: 0x13b7, + 0x16d8: 0x180e, 0x16d9: 0x1660, 0x16da: 0x13c3, 0x16db: 0x13bf, 0x16dc: 0x13cb, 0x16dd: 0x1665, + 0x16de: 0x13d7, 0x16df: 0x13e3, 0x16e0: 0x1813, 0x16e1: 0x1818, 0x16e2: 0x1423, 0x16e3: 0x142f, + 0x16e4: 0x1437, 0x16e5: 0x181d, 0x16e6: 0x143b, 0x16e7: 0x1467, 0x16e8: 0x1473, 0x16e9: 0x1477, + 0x16ea: 0x146f, 0x16eb: 0x1483, 0x16ec: 0x1487, 0x16ed: 0x1822, 0x16ee: 0x1493, 0x16ef: 0x0693, + 0x16f0: 0x149b, 0x16f1: 0x1827, 0x16f2: 0x0697, 0x16f3: 0x14d3, 0x16f4: 0x0ac3, 0x16f5: 0x14eb, + 0x16f6: 0x182c, 0x16f7: 0x1836, 0x16f8: 0x069b, 0x16f9: 0x069f, 0x16fa: 0x1513, 0x16fb: 0x183b, + 0x16fc: 0x06a3, 0x16fd: 0x1840, 0x16fe: 0x152b, 0x16ff: 0x152b, + // Block 0x5c, offset 0x1700 + 0x1700: 0x1533, 0x1701: 0x1845, 0x1702: 0x154b, 0x1703: 0x06a7, 0x1704: 0x155b, 0x1705: 0x1567, + 0x1706: 0x156f, 0x1707: 0x1577, 0x1708: 0x06ab, 0x1709: 0x184a, 0x170a: 0x158b, 0x170b: 0x15a7, + 0x170c: 0x15b3, 0x170d: 0x06af, 0x170e: 0x06b3, 0x170f: 0x15b7, 0x1710: 0x184f, 0x1711: 0x06b7, + 0x1712: 0x1854, 0x1713: 0x1859, 0x1714: 0x185e, 0x1715: 0x15db, 0x1716: 0x06bb, 0x1717: 0x15ef, + 0x1718: 0x15f7, 0x1719: 0x15fb, 0x171a: 0x1603, 0x171b: 0x160b, 0x171c: 0x1613, 0x171d: 0x1868, +} + +// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5b, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5c, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5d, 0xcb: 0x5e, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x5f, 0xd2: 0x60, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x61, + 0xd8: 0x62, 0xd9: 0x0d, 0xdb: 0x63, 0xdc: 0x64, 0xdd: 0x65, 0xdf: 0x66, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x67, 0x121: 0x68, 0x123: 0x69, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, + 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, + 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, + 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, + // Block 0x5, offset 0x140 + 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, + 0x14d: 0x8a, + 0x15c: 0x8b, 0x15f: 0x8c, + 0x162: 0x8d, 0x164: 0x8e, + 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0e, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, + 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x11, + 0x178: 0x12, 0x179: 0x13, 0x17a: 0x14, 0x17b: 0x15, 0x17c: 0x16, 0x17d: 0x17, 0x17e: 0x18, 0x17f: 0x19, + // Block 0x6, offset 0x180 + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1a, 0x185: 0x1b, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1c, 0x18a: 0x1d, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1e, 0x192: 0x1f, 0x193: 0xa1, + 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, + 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x20, 0x1bd: 0x21, 0x1be: 0x22, 0x1bf: 0xab, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xac, 0x1c1: 0x23, 0x1c2: 0x24, 0x1c3: 0x25, 0x1c4: 0xad, 0x1c5: 0x26, 0x1c6: 0x27, + 0x1c8: 0x28, 0x1c9: 0x29, 0x1ca: 0x2a, 0x1cb: 0x2b, 0x1cc: 0x2c, 0x1cd: 0x2d, 0x1ce: 0x2e, 0x1cf: 0x2f, + // Block 0x8, offset 0x200 + 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, + 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, + 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, + 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, + 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, + // Block 0x9, offset 0x240 + 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, + 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, + 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, + 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, + 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, + 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, + 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, + 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, + // Block 0xa, offset 0x280 + 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, + 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, + 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, + 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, + 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, + 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, + 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, + 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, + 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, + 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, + 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, + // Block 0xc, offset 0x300 + 0x324: 0x30, 0x325: 0x31, 0x326: 0x32, 0x327: 0x33, + 0x328: 0x34, 0x329: 0x35, 0x32a: 0x36, 0x32b: 0x37, 0x32c: 0x38, 0x32d: 0x39, 0x32e: 0x3a, 0x32f: 0x3b, + 0x330: 0x3c, 0x331: 0x3d, 0x332: 0x3e, 0x333: 0x3f, 0x334: 0x40, 0x335: 0x41, 0x336: 0x42, 0x337: 0x43, + 0x338: 0x44, 0x339: 0x45, 0x33a: 0x46, 0x33b: 0x47, 0x33c: 0xc5, 0x33d: 0x48, 0x33e: 0x49, 0x33f: 0x4a, + // Block 0xd, offset 0x340 + 0x347: 0xc6, + 0x34b: 0xc7, 0x34d: 0xc8, + 0x368: 0xc9, 0x36b: 0xca, + // Block 0xe, offset 0x380 + 0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce, + 0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6c, 0x38d: 0xd1, + 0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6, + 0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9, + 0x3a8: 0xda, 0x3a9: 0xdb, 0x3aa: 0xdc, + 0x3b0: 0xd7, 0x3b5: 0xdd, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xde, 0x3ec: 0xdf, + // Block 0x10, offset 0x400 + 0x432: 0xe0, + // Block 0x11, offset 0x440 + 0x445: 0xe1, 0x446: 0xe2, 0x447: 0xe3, + 0x449: 0xe4, + 0x450: 0xe5, 0x451: 0xe6, 0x452: 0xe7, 0x453: 0xe8, 0x454: 0xe9, 0x455: 0xea, 0x456: 0xeb, 0x457: 0xec, + 0x458: 0xed, 0x459: 0xee, 0x45a: 0x4b, 0x45b: 0xef, 0x45c: 0xf0, 0x45d: 0xf1, 0x45e: 0xf2, 0x45f: 0x4c, + // Block 0x12, offset 0x480 + 0x480: 0xf3, + 0x4a3: 0xf4, 0x4a5: 0xf5, + 0x4b8: 0x4d, 0x4b9: 0x4e, 0x4ba: 0x4f, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x50, 0x4c5: 0xf6, 0x4c6: 0xf7, + 0x4c8: 0x51, 0x4c9: 0xf8, + // Block 0x14, offset 0x500 + 0x520: 0x52, 0x521: 0x53, 0x522: 0x54, 0x523: 0x55, 0x524: 0x56, 0x525: 0x57, 0x526: 0x58, 0x527: 0x59, + 0x528: 0x5a, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 158 entries, 316 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd5, 0xdc, 0xe4, 0xe8, 0xea, 0xed, 0xf1, 0xf7, 0x108, 0x114, 0x116, 0x11c, 0x11e, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12a, 0x12d, 0x130, 0x132, 0x135, 0x138, 0x13c, 0x141, 0x14a, 0x14c, 0x14f, 0x151, 0x15c, 0x167, 0x175, 0x183, 0x193, 0x1a1, 0x1a8, 0x1ae, 0x1bd, 0x1c1, 0x1c3, 0x1c7, 0x1c9, 0x1cc, 0x1ce, 0x1d1, 0x1d3, 0x1d6, 0x1d8, 0x1da, 0x1dc, 0x1e8, 0x1f2, 0x1fc, 0x1ff, 0x203, 0x205, 0x207, 0x209, 0x20b, 0x20e, 0x210, 0x212, 0x214, 0x216, 0x21c, 0x21f, 0x223, 0x225, 0x22c, 0x232, 0x238, 0x240, 0x246, 0x24c, 0x252, 0x256, 0x258, 0x25a, 0x25c, 0x25e, 0x264, 0x267, 0x26a, 0x272, 0x279, 0x27c, 0x27f, 0x281, 0x289, 0x28c, 0x293, 0x296, 0x29c, 0x29e, 0x2a0, 0x2a3, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2c1, 0x2cb, 0x2cd, 0x2cf, 0x2d3, 0x2d8, 0x2e4, 0x2e9, 0x2f2, 0x2f8, 0x2fd, 0x301, 0x306, 0x30a, 0x31a, 0x328, 0x336, 0x344, 0x34a, 0x34c, 0x34f, 0x359, 0x35b} + +// nfkcSparseValues: 869 entries, 3476 bytes +var nfkcSparseValues = [869]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x4278, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x4264, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x425a, lo: 0xb4, hi: 0xb4}, + {value: 0x01dc, lo: 0xb5, hi: 0xb5}, + {value: 0x4291, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x221c, lo: 0xbc, hi: 0xbc}, + {value: 0x2210, lo: 0xbd, hi: 0xbd}, + {value: 0x22b2, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x426e, lo: 0x98, hi: 0x98}, + {value: 0x4273, lo: 0x99, hi: 0x9a}, + {value: 0x4296, lo: 0x9b, hi: 0x9b}, + {value: 0x425f, lo: 0x9c, hi: 0x9c}, + {value: 0x4282, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x0167, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + // Block 0xc, offset 0x6f + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x74 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x76 + {value: 0x0000, lo: 0x10}, + {value: 0x8132, lo: 0x94, hi: 0xa1}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xa9, hi: 0xa9}, + {value: 0x8132, lo: 0xaa, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xaf}, + {value: 0x8116, lo: 0xb0, hi: 0xb0}, + {value: 0x8117, lo: 0xb1, hi: 0xb1}, + {value: 0x8118, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb5}, + {value: 0x812d, lo: 0xb6, hi: 0xb6}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x812d, lo: 0xb9, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbf}, + // Block 0xf, offset 0x87 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x8f + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x96 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x99 + {value: 0x0008, lo: 0x06}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + // Block 0x13, offset 0xa0 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0xa4 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0xa8 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0xaa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0xac + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0xb5 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xc0 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xc5 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xc8 + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xd2 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xd5 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xdc + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xe4 + {value: 0x0000, lo: 0x03}, + {value: 0x2621, lo: 0xb3, hi: 0xb3}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xe8 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xea + {value: 0x0000, lo: 0x02}, + {value: 0x2636, lo: 0xb3, hi: 0xb3}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x23, offset 0xed + {value: 0x0000, lo: 0x03}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + {value: 0x2628, lo: 0x9c, hi: 0x9c}, + {value: 0x262f, lo: 0x9d, hi: 0x9d}, + // Block 0x24, offset 0xf1 + {value: 0x0000, lo: 0x05}, + {value: 0x030b, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xf7 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x45f4, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x45ff, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0x108 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0x114 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0x116 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0x11c + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0x11e + {value: 0x0000, lo: 0x01}, + {value: 0x030f, lo: 0xbc, hi: 0xbc}, + // Block 0x2b, offset 0x120 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2c, offset 0x122 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2d, offset 0x124 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2e, offset 0x126 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2f, offset 0x128 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x30, offset 0x12a + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x31, offset 0x12d + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x32, offset 0x130 + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x33, offset 0x132 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x34, offset 0x135 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x35, offset 0x138 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x13c + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x37, offset 0x141 + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x14a + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x14c + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x14f + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x151 + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x15c + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x167 + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043b, lo: 0x91, hi: 0x91}, + {value: 0x429b, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1873, lo: 0xa5, hi: 0xa5}, + {value: 0x1b5c, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2691, lo: 0xb3, hi: 0xb3}, + {value: 0x27fe, lo: 0xb4, hi: 0xb4}, + {value: 0x2698, lo: 0xb6, hi: 0xb6}, + {value: 0x2808, lo: 0xb7, hi: 0xb7}, + {value: 0x186d, lo: 0xbc, hi: 0xbc}, + {value: 0x4269, lo: 0xbe, hi: 0xbe}, + // Block 0x3e, offset 0x175 + {value: 0x0002, lo: 0x0d}, + {value: 0x1933, lo: 0x87, hi: 0x87}, + {value: 0x1930, lo: 0x88, hi: 0x88}, + {value: 0x1870, lo: 0x89, hi: 0x89}, + {value: 0x298e, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x0467, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x3f, offset 0x183 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x0467, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x1999, lo: 0xa8, hi: 0xa8}, + // Block 0x40, offset 0x193 + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x41, offset 0x1a1 + {value: 0x0007, lo: 0x06}, + {value: 0x2180, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x42, offset 0x1a8 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x43, offset 0x1ae + {value: 0x0173, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0x269f, lo: 0xac, hi: 0xad}, + {value: 0x26a6, lo: 0xaf, hi: 0xaf}, + {value: 0x281c, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x44, offset 0x1bd + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x45, offset 0x1c1 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x46, offset 0x1c3 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x47, offset 0x1c7 + {value: 0x0000, lo: 0x01}, + {value: 0x299b, lo: 0x8c, hi: 0x8c}, + // Block 0x48, offset 0x1c9 + {value: 0x0263, lo: 0x02}, + {value: 0x1b8c, lo: 0xb4, hi: 0xb4}, + {value: 0x192d, lo: 0xb5, hi: 0xb6}, + // Block 0x49, offset 0x1cc + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x4a, offset 0x1ce + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4b, offset 0x1d1 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x4c, offset 0x1d3 + {value: 0x0000, lo: 0x02}, + {value: 0x047f, lo: 0xaf, hi: 0xaf}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x4d, offset 0x1d6 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x4e, offset 0x1d8 + {value: 0x0000, lo: 0x01}, + {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, + // Block 0x4f, offset 0x1da + {value: 0x0000, lo: 0x01}, + {value: 0x162f, lo: 0xb3, hi: 0xb3}, + // Block 0x50, offset 0x1dc + {value: 0x0004, lo: 0x0b}, + {value: 0x1597, lo: 0x80, hi: 0x82}, + {value: 0x15af, lo: 0x83, hi: 0x83}, + {value: 0x15c7, lo: 0x84, hi: 0x85}, + {value: 0x15d7, lo: 0x86, hi: 0x89}, + {value: 0x15eb, lo: 0x8a, hi: 0x8c}, + {value: 0x15ff, lo: 0x8d, hi: 0x8d}, + {value: 0x1607, lo: 0x8e, hi: 0x8e}, + {value: 0x160f, lo: 0x8f, hi: 0x90}, + {value: 0x161b, lo: 0x91, hi: 0x93}, + {value: 0x162b, lo: 0x94, hi: 0x94}, + {value: 0x1633, lo: 0x95, hi: 0x95}, + // Block 0x51, offset 0x1e8 + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xae}, + {value: 0x812f, lo: 0xaf, hi: 0xaf}, + {value: 0x04b3, lo: 0xb6, hi: 0xb6}, + {value: 0x0887, lo: 0xb8, hi: 0xba}, + // Block 0x52, offset 0x1f2 + {value: 0x0006, lo: 0x09}, + {value: 0x0313, lo: 0xb1, hi: 0xb1}, + {value: 0x0317, lo: 0xb2, hi: 0xb2}, + {value: 0x4a3b, lo: 0xb3, hi: 0xb3}, + {value: 0x031b, lo: 0xb4, hi: 0xb4}, + {value: 0x4a41, lo: 0xb5, hi: 0xb6}, + {value: 0x031f, lo: 0xb7, hi: 0xb7}, + {value: 0x0323, lo: 0xb8, hi: 0xb8}, + {value: 0x0327, lo: 0xb9, hi: 0xb9}, + {value: 0x4a4d, lo: 0xba, hi: 0xbf}, + // Block 0x53, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x54, offset 0x1ff + {value: 0x0000, lo: 0x03}, + {value: 0x020f, lo: 0x9c, hi: 0x9c}, + {value: 0x0212, lo: 0x9d, hi: 0x9d}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x55, offset 0x203 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x56, offset 0x205 + {value: 0x0000, lo: 0x01}, + {value: 0x163b, lo: 0xb0, hi: 0xb0}, + // Block 0x57, offset 0x207 + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x58, offset 0x209 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x59, offset 0x20b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x5a, offset 0x20e + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x5b, offset 0x210 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x5c, offset 0x212 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x5d, offset 0x214 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x5e, offset 0x216 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x5f, offset 0x21c + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x60, offset 0x21f + {value: 0x0008, lo: 0x03}, + {value: 0x1637, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1643, lo: 0x9f, hi: 0x9f}, + // Block 0x61, offset 0x223 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x62, offset 0x225 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x63, offset 0x22c + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x64, offset 0x232 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x65, offset 0x238 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x66, offset 0x240 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x67, offset 0x246 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x68, offset 0x24c + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x69, offset 0x252 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x6a, offset 0x256 + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6b, offset 0x258 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6c, offset 0x25a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x6d, offset 0x25c + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x6e, offset 0x25e + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x6f, offset 0x264 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x70, offset 0x267 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x71, offset 0x26a + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x72, offset 0x272 + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x73, offset 0x279 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x74, offset 0x27c + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x75, offset 0x27f + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x76, offset 0x281 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x77, offset 0x289 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + // Block 0x78, offset 0x28c + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x79, offset 0x293 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7a, offset 0x296 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7b, offset 0x29c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x7c, offset 0x29e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7d, offset 0x2a0 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x7e, offset 0x2a3 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x7f, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x80, offset 0x2a7 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x81, offset 0x2a9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x82, offset 0x2ab + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x83, offset 0x2ae + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x84, offset 0x2b0 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x85, offset 0x2b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x86, offset 0x2b4 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x87, offset 0x2c1 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x88, offset 0x2cb + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x89, offset 0x2cd + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8a, offset 0x2cf + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x8b, offset 0x2d3 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x8c, offset 0x2d8 + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x8d, offset 0x2e4 + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x8e, offset 0x2e9 + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x8f, offset 0x2f2 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x90, offset 0x2f8 + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x91, offset 0x2fd + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x92, offset 0x301 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x93, offset 0x306 + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x94, offset 0x30a + {value: 0x0003, lo: 0x0f}, + {value: 0x01b8, lo: 0x80, hi: 0x80}, + {value: 0x045f, lo: 0x81, hi: 0x81}, + {value: 0x01bb, lo: 0x82, hi: 0x9a}, + {value: 0x045b, lo: 0x9b, hi: 0x9b}, + {value: 0x01c7, lo: 0x9c, hi: 0x9c}, + {value: 0x01d0, lo: 0x9d, hi: 0x9d}, + {value: 0x01d6, lo: 0x9e, hi: 0x9e}, + {value: 0x01fa, lo: 0x9f, hi: 0x9f}, + {value: 0x01eb, lo: 0xa0, hi: 0xa0}, + {value: 0x01e8, lo: 0xa1, hi: 0xa1}, + {value: 0x0173, lo: 0xa2, hi: 0xb2}, + {value: 0x0188, lo: 0xb3, hi: 0xb3}, + {value: 0x01a6, lo: 0xb4, hi: 0xba}, + {value: 0x045f, lo: 0xbb, hi: 0xbb}, + {value: 0x01bb, lo: 0xbc, hi: 0xbf}, + // Block 0x95, offset 0x31a + {value: 0x0003, lo: 0x0d}, + {value: 0x01c7, lo: 0x80, hi: 0x94}, + {value: 0x045b, lo: 0x95, hi: 0x95}, + {value: 0x01c7, lo: 0x96, hi: 0x96}, + {value: 0x01d0, lo: 0x97, hi: 0x97}, + {value: 0x01d6, lo: 0x98, hi: 0x98}, + {value: 0x01fa, lo: 0x99, hi: 0x99}, + {value: 0x01eb, lo: 0x9a, hi: 0x9a}, + {value: 0x01e8, lo: 0x9b, hi: 0x9b}, + {value: 0x0173, lo: 0x9c, hi: 0xac}, + {value: 0x0188, lo: 0xad, hi: 0xad}, + {value: 0x01a6, lo: 0xae, hi: 0xb4}, + {value: 0x045f, lo: 0xb5, hi: 0xb5}, + {value: 0x01bb, lo: 0xb6, hi: 0xbf}, + // Block 0x96, offset 0x328 + {value: 0x0003, lo: 0x0d}, + {value: 0x01d9, lo: 0x80, hi: 0x8e}, + {value: 0x045b, lo: 0x8f, hi: 0x8f}, + {value: 0x01c7, lo: 0x90, hi: 0x90}, + {value: 0x01d0, lo: 0x91, hi: 0x91}, + {value: 0x01d6, lo: 0x92, hi: 0x92}, + {value: 0x01fa, lo: 0x93, hi: 0x93}, + {value: 0x01eb, lo: 0x94, hi: 0x94}, + {value: 0x01e8, lo: 0x95, hi: 0x95}, + {value: 0x0173, lo: 0x96, hi: 0xa6}, + {value: 0x0188, lo: 0xa7, hi: 0xa7}, + {value: 0x01a6, lo: 0xa8, hi: 0xae}, + {value: 0x045f, lo: 0xaf, hi: 0xaf}, + {value: 0x01bb, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x336 + {value: 0x0003, lo: 0x0d}, + {value: 0x01eb, lo: 0x80, hi: 0x88}, + {value: 0x045b, lo: 0x89, hi: 0x89}, + {value: 0x01c7, lo: 0x8a, hi: 0x8a}, + {value: 0x01d0, lo: 0x8b, hi: 0x8b}, + {value: 0x01d6, lo: 0x8c, hi: 0x8c}, + {value: 0x01fa, lo: 0x8d, hi: 0x8d}, + {value: 0x01eb, lo: 0x8e, hi: 0x8e}, + {value: 0x01e8, lo: 0x8f, hi: 0x8f}, + {value: 0x0173, lo: 0x90, hi: 0xa0}, + {value: 0x0188, lo: 0xa1, hi: 0xa1}, + {value: 0x01a6, lo: 0xa2, hi: 0xa8}, + {value: 0x045f, lo: 0xa9, hi: 0xa9}, + {value: 0x01bb, lo: 0xaa, hi: 0xbf}, + // Block 0x98, offset 0x344 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x99, offset 0x34a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x9a, offset 0x34c + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x9b, offset 0x34f + {value: 0x0002, lo: 0x09}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1951, lo: 0x8a, hi: 0x8a}, + {value: 0x1981, lo: 0x8b, hi: 0x8b}, + {value: 0x199c, lo: 0x8c, hi: 0x8c}, + {value: 0x19a2, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc0, lo: 0x8e, hi: 0x8e}, + {value: 0x19ae, lo: 0x8f, hi: 0x8f}, + {value: 0x197b, lo: 0xaa, hi: 0xaa}, + {value: 0x197e, lo: 0xab, hi: 0xab}, + // Block 0x9c, offset 0x359 + {value: 0x0000, lo: 0x01}, + {value: 0x193f, lo: 0x90, hi: 0x90}, + // Block 0x9d, offset 0x35b + {value: 0x0028, lo: 0x09}, + {value: 0x2862, lo: 0x80, hi: 0x80}, + {value: 0x2826, lo: 0x81, hi: 0x81}, + {value: 0x2830, lo: 0x82, hi: 0x82}, + {value: 0x2844, lo: 0x83, hi: 0x84}, + {value: 0x284e, lo: 0x85, hi: 0x86}, + {value: 0x283a, lo: 0x87, hi: 0x87}, + {value: 0x2858, lo: 0x88, hi: 0x88}, + {value: 0x0b6f, lo: 0x90, hi: 0x90}, + {value: 0x08e7, lo: 0x91, hi: 0x91}, +} + +// recompMap: 7520 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54226 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go new file mode 100644 index 000000000..cb7239c43 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go @@ -0,0 +1,7694 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.13 && !go1.14 +// +build go1.13,!go1.14 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "11.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [55]uint8{ + 0, 1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 84, 91, 103, 107, 118, 122, 129, 130, + 132, 202, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x186D + firstCCC = 0x2C9E + endMulti = 0x2F60 + firstLeadingCCC = 0x49AE + firstCCCZeroExcept = 0x4A78 + firstStarterWithNLead = 0x4A9F + lastDecomp = 0x4AA1 + maxDecomp = 0x8000 +) + +// decomps: 19105 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, + 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, + 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, + 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, + 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, + 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, + 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, + 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, + 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, + 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, + 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, + 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, + 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, + 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, + 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, + 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, + 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, + 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, + // Bytes 200 - 23f + 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, + 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, + 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, + 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, + 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, + 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, + 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, + 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, + 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, + 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, + 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, + 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, + 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, + 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, + 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, + 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, + 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, + 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, + 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, + 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, + 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, + 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, + 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, + 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, + 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, + 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, + 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, + 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, + 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, + // Bytes 300 - 33f + 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, + 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, + 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, + 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, + 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, + 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, + 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, + 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, + // Bytes 340 - 37f + 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, + 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, + 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, + 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, + 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, + 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, + 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, + 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, + // Bytes 380 - 3bf + 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, + 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, + 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, + 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, + 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, + 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, + 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, + 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, + // Bytes 3c0 - 3ff + 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, + 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, + 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, + 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, + 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, + 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, + 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, + 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, + // Bytes 400 - 43f + 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, + 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, + 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, + 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, + 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, + 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, + 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, + 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, + // Bytes 440 - 47f + 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, + 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, + 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, + 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, + 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, + 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, + 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, + 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, + // Bytes 480 - 4bf + 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, + 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, + 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, + 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, + 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, + 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, + 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, + 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, + // Bytes 4c0 - 4ff + 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, + 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, + 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, + 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, + 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, + 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, + 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, + 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, + // Bytes 500 - 53f + 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, + 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, + 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, + 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, + 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, + 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, + 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, + 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, + // Bytes 540 - 57f + 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, + 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, + 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, + 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, + 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, + 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, + 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, + 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, + // Bytes 580 - 5bf + 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, + 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, + 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, + 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, + 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, + 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, + 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, + 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, + // Bytes 5c0 - 5ff + 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, + 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, + 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, + 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, + 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, + 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, + 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, + 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, + // Bytes 600 - 63f + 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, + 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, + 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, + 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, + 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, + 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, + 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, + 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, + // Bytes 640 - 67f + 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, + 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, + 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, + 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, + 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, + 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, + 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, + 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, + // Bytes 680 - 6bf + 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, + 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, + 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, + 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, + 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, + 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, + 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, + 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, + // Bytes 6c0 - 6ff + 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, + 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, + 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, + 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, + 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, + 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, + 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, + 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, + // Bytes 700 - 73f + 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, + 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, + 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, + 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, + 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, + 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, + 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, + 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, + // Bytes 740 - 77f + 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, + 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, + 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, + 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, + 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, + 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, + 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, + 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, + // Bytes 780 - 7bf + 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, + 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, + 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, + 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, + 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, + 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, + 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, + 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, + // Bytes 7c0 - 7ff + 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, + 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, + 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, + 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, + 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, + 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, + 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, + 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, + // Bytes 800 - 83f + 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, + 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, + 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, + 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, + 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, + 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, + 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, + 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, + // Bytes 840 - 87f + 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, + 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, + 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, + 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, + 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, + 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, + 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, + 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, + // Bytes 880 - 8bf + 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, + 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, + 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, + 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, + 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, + 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, + 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, + 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, + // Bytes 8c0 - 8ff + 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, + 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, + 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, + 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, + 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, + 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, + 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, + 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, + // Bytes 900 - 93f + 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, + 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, + 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, + 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, + 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, + 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, + 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, + 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, + // Bytes 940 - 97f + 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, + 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, + 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, + 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, + 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, + 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, + 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, + 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, + // Bytes 980 - 9bf + 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, + 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, + 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, + 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, + 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, + 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, + 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, + 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, + // Bytes 9c0 - 9ff + 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, + 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, + 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, + 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, + 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, + 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, + 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, + 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, + // Bytes a00 - a3f + 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, + 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, + 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, + 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, + 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, + 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, + 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, + 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, + // Bytes a40 - a7f + 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, + 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, + 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, + 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, + 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, + 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, + 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, + 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, + // Bytes a80 - abf + 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, + 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, + 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, + 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, + 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, + 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, + 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, + 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, + // Bytes ac0 - aff + 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, + 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, + 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, + 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, + 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, + 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, + 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, + 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, + // Bytes b00 - b3f + 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, + 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, + 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, + 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, + 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, + 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, + 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, + 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, + // Bytes b40 - b7f + 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, + 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, + 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, + 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, + 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, + 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, + 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, + 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, + // Bytes b80 - bbf + 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, + 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, + 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, + 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, + 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, + 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, + 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, + 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, + // Bytes bc0 - bff + 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, + 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, + 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, + 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, + 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, + 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, + 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, + 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, + // Bytes c00 - c3f + 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, + 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, + 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, + 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, + 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, + 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, + 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, + 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, + // Bytes c40 - c7f + 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, + 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, + 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, + 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, + 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, + 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, + 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, + 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, + // Bytes c80 - cbf + 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, + 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, + 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, + 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, + 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, + 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, + 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, + 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, + // Bytes cc0 - cff + 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, + 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, + 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, + 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, + 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, + 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, + 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, + 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, + // Bytes d00 - d3f + 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, + 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, + 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, + 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, + 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, + 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, + 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, + 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, + // Bytes d40 - d7f + 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, + 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, + 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, + 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, + 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, + 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, + 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, + 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, + // Bytes d80 - dbf + 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, + 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, + 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, + 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, + 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, + 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, + 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, + 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, + // Bytes dc0 - dff + 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, + 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, + 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, + 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, + 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, + 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, + 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, + 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, + // Bytes e00 - e3f + 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, + 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, + 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, + 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, + 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, + 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, + 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, + 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, + // Bytes e40 - e7f + 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, + 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, + 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, + 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, + 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, + 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, + 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, + 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, + // Bytes e80 - ebf + 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, + 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, + 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, + 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, + 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, + 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, + 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, + 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, + // Bytes ec0 - eff + 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, + 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, + 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, + 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, + 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, + 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, + 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, + 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, + // Bytes f00 - f3f + 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, + 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, + 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, + 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, + 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, + 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, + 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, + 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, + // Bytes f40 - f7f + 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, + 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, + 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, + 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, + 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, + 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, + 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, + 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, + // Bytes f80 - fbf + 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, + 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, + 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, + 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, + 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, + 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, + 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, + 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, + // Bytes fc0 - fff + 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, + 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, + 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, + 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, + 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, + 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, + 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, + 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, + // Bytes 1000 - 103f + 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, + 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, + 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, + 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, + 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, + 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, + 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, + 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, + // Bytes 1040 - 107f + 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, + 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, + 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, + 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, + 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, + 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, + 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, + 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, + // Bytes 1080 - 10bf + 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, + 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, + 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, + 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, + 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, + 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, + 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, + 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, + // Bytes 10c0 - 10ff + 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, + 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, + 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, + 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, + 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, + 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, + 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, + 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, + // Bytes 1100 - 113f + 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, + 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, + 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, + 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, + 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, + 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, + 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, + 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, + // Bytes 1140 - 117f + 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, + 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, + 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, + 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, + 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, + 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, + 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, + 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, + // Bytes 1180 - 11bf + 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, + 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, + 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, + 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, + 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, + 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, + 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, + 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, + // Bytes 11c0 - 11ff + 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, + 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, + 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, + 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, + 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, + 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, + 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, + 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, + // Bytes 1200 - 123f + 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, + 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, + 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, + 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, + 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, + 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, + 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, + 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, + // Bytes 1240 - 127f + 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, + 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, + 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, + 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, + 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, + 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, + 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, + 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, + // Bytes 1280 - 12bf + 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, + 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, + 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, + 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, + 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, + 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, + 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, + 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, + // Bytes 12c0 - 12ff + 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, + 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, + 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, + 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, + 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, + 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, + 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, + 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, + // Bytes 1300 - 133f + 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, + 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, + 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, + 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, + 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, + 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, + 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, + 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, + // Bytes 1340 - 137f + 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, + 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, + 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, + 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, + 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, + 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, + 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, + 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, + // Bytes 1380 - 13bf + 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, + 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, + 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, + 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, + 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, + 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, + 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, + 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, + // Bytes 13c0 - 13ff + 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, + 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, + 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, + 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, + 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, + 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, + 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, + 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, + // Bytes 1400 - 143f + 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, + 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, + 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, + 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, + 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, + 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, + 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, + 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, + // Bytes 1440 - 147f + 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, + 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, + 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, + 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, + 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, + 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, + 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, + 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, + // Bytes 1480 - 14bf + 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, + 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, + 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, + 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, + 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, + 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, + 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, + 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, + // Bytes 14c0 - 14ff + 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, + 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, + 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, + 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, + 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, + 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, + 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, + 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, + // Bytes 1500 - 153f + 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, + 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, + 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, + 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, + 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, + 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, + 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, + 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, + // Bytes 1540 - 157f + 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, + 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, + 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, + 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, + 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, + 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, + 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, + 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, + // Bytes 1580 - 15bf + 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, + 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, + 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, + 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, + 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, + 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, + 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, + 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, + // Bytes 15c0 - 15ff + 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, + 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, + 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, + 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, + 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, + 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, + 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, + 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, + // Bytes 1600 - 163f + 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, + 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, + 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, + 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, + 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, + 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, + 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, + 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, + // Bytes 1640 - 167f + 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, + 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, + 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, + 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, + 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, + 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, + 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, + 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, + // Bytes 1680 - 16bf + 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, + 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, + 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, + 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, + 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, + 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, + 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, + 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, + // Bytes 16c0 - 16ff + 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, + 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, + 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, + 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, + 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, + 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, + 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, + 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, + // Bytes 1700 - 173f + 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, + 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, + 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, + 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, + 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, + 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, + 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, + 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, + // Bytes 1740 - 177f + 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, + 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, + 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, + 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, + 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, + 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, + 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, + 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, + // Bytes 1780 - 17bf + 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, + 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, + 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, + 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, + 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, + 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, + 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, + 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, + // Bytes 17c0 - 17ff + 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, + 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, + 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, + 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, + 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, + 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, + 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, + 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, + // Bytes 1800 - 183f + 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, + 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, + 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, + 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, + 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, + 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, + 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, + 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, + // Bytes 1840 - 187f + 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, + 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, + 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, + 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, + 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, + 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, + 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, + 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, + 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, + 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, + 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, + 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, + 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, + 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, + 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, + 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, + 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, + 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, + 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, + 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, + 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, + 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, + // Bytes 1900 - 193f + 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, + 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, + 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, + 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, + 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, + 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, + 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, + 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, + // Bytes 1940 - 197f + 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, + 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, + 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, + 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, + 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, + 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, + 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, + 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, + 0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, + 0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, + 0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, + 0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, + 0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, + 0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, + 0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, + 0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, + 0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, + 0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, + 0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, + 0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, + 0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, + 0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, + 0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, + 0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, + 0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, + 0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, + 0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, + 0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, + 0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, + 0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, + 0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, + 0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, + 0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, + 0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, + 0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, + 0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, + // Bytes 1a80 - 1abf + 0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, + 0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, + 0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, + 0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, + 0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, + 0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, + 0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, + 0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, + // Bytes 1ac0 - 1aff + 0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, + 0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, + 0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, + 0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, + 0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, + 0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, + 0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, + 0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, + // Bytes 1b00 - 1b3f + 0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, + 0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, + 0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, + 0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, + 0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, + 0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, + 0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, + 0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, + // Bytes 1b40 - 1b7f + 0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, + 0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, + 0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, + 0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, + 0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, + 0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, + 0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, + 0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, + // Bytes 1b80 - 1bbf + 0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, + 0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, + 0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, + 0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, + 0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, + 0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, + 0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, + 0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, + // Bytes 1bc0 - 1bff + 0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, + 0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, + 0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, + 0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, + 0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, + 0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, + 0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, + 0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, + // Bytes 1c00 - 1c3f + 0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, + 0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, + 0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, + 0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, + 0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, + 0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, + 0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, + 0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, + // Bytes 1c40 - 1c7f + 0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, + 0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, + 0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, + 0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, + 0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, + 0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, + 0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, + 0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, + // Bytes 1c80 - 1cbf + 0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, + 0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, + 0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, + 0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, + 0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, + 0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, + 0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, + 0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, + // Bytes 1cc0 - 1cff + 0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, + 0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, + 0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, + 0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, + 0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, + 0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, + 0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, + 0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, + // Bytes 1d00 - 1d3f + 0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, + 0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, + 0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, + 0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, + 0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, + 0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, + 0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, + 0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, + // Bytes 1d40 - 1d7f + 0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, + 0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, + 0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, + 0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, + 0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, + 0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, + 0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, + 0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, + // Bytes 1d80 - 1dbf + 0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, + 0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, + 0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, + 0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, + 0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, + 0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, + 0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, + 0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, + // Bytes 1dc0 - 1dff + 0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, + 0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, + 0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, + 0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, + 0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, + 0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, + 0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, + 0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, + // Bytes 1e00 - 1e3f + 0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, + 0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, + 0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, + 0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, + 0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, + 0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, + 0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, + 0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, + // Bytes 1e40 - 1e7f + 0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, + 0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, + 0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, + 0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, + 0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, + 0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, + 0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, + 0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1e80 - 1ebf + 0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, + 0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, + 0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, + 0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, + 0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, + 0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, + 0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, + 0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, + // Bytes 1ec0 - 1eff + 0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, + 0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, + 0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, + 0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, + 0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, + 0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, + 0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, + 0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, + // Bytes 1f00 - 1f3f + 0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, + 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, + 0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, + 0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, + 0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, + 0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, + 0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, + 0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, + // Bytes 1f40 - 1f7f + 0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, + 0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, + 0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, + 0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, + 0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, + 0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, + 0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, + 0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, + // Bytes 1f80 - 1fbf + 0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, + 0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, + 0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, + 0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, + 0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, + 0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, + 0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, + 0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, + // Bytes 1fc0 - 1fff + 0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, + 0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, + 0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, + 0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, + 0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, + 0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, + 0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, + 0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, + // Bytes 2000 - 203f + 0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, + 0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, + 0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, + 0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, + 0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, + 0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, + 0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, + 0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, + // Bytes 2040 - 207f + 0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, + 0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, + 0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, + 0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, + // Bytes 2080 - 20bf + 0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, + 0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, + 0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, + 0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, + // Bytes 20c0 - 20ff + 0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, + 0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, + 0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, + 0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, + 0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, + 0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, + 0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, + 0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, + // Bytes 2100 - 213f + 0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, + 0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, + 0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, + 0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, + 0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, + 0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, + 0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, + 0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, + // Bytes 2140 - 217f + 0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, + 0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, + 0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, + 0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, + 0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, + 0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, + 0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, + 0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, + // Bytes 2180 - 21bf + 0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, + 0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, + // Bytes 21c0 - 21ff + 0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, + // Bytes 2200 - 223f + 0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, + // Bytes 2240 - 227f + 0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, + // Bytes 2280 - 22bf + 0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, + 0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, + 0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + // Bytes 22c0 - 22ff + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, + 0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, + 0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, + 0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, + 0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, + 0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, + 0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, + // Bytes 2300 - 233f + 0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, + 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, + 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, + // Bytes 2340 - 237f + 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, + 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, + 0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, + // Bytes 2380 - 23bf + 0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, + 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, + 0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, + // Bytes 23c0 - 23ff + 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, + 0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, + 0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, + 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, + // Bytes 2400 - 243f + 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, + 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, + 0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, + 0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, + 0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, + // Bytes 2440 - 247f + 0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, + 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, + 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, + 0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, + // Bytes 2480 - 24bf + 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, + 0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, + 0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, + // Bytes 24c0 - 24ff + 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, + 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, + 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, + 0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, + // Bytes 2500 - 253f + 0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, + 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, + 0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, + 0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, + 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, + // Bytes 2540 - 257f + 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, + 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, + 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, + 0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, + // Bytes 2580 - 25bf + 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, + 0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, + 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, + 0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, + // Bytes 25c0 - 25ff + 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, + // Bytes 2600 - 263f + 0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, + 0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, + 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, + 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, + 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, + // Bytes 2640 - 267f + 0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, + 0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, + 0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, + // Bytes 2680 - 26bf + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, + 0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, + 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, + 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, + 0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, + 0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, + // Bytes 26c0 - 26ff + 0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, + 0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, + 0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, + 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, + 0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, + 0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, + 0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, + // Bytes 2700 - 273f + 0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90, + 0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46, + 0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72, + 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3, + 0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, + // Bytes 2740 - 277f + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29, + // Bytes 2780 - 27bf + 0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61, + 0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8, + 0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48, + // Bytes 27c0 - 27ff + 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, + 0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9, + 0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, + 0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8, + 0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84, + 0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8, + 0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2, + // Bytes 2800 - 283f + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3, + 0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B, + // Bytes 2840 - 287f + 0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C, + 0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95, + // Bytes 2880 - 28bf + 0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6, + 0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, + 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, + 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1, + // Bytes 28c0 - 28ff + 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3, + 0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A, + 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, + 0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3, + 0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3, + // Bytes 2900 - 293f + 0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3, + 0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98, + 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3, + // Bytes 2940 - 297f + 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3, + 0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF, + 0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82, + // Bytes 2980 - 29bf + 0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, + 0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82, + 0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3, + // Bytes 29c0 - 29ff + 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, + 0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, + 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, + 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82, + 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2a40 - 2a7f + 0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, + // Bytes 2a80 - 2abf + 0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3, + 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C, + 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, + 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92, + 0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9, + // Bytes 2b00 - 2b3f + 0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5, + // Bytes 2b40 - 2b7f + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B, + 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E, + // Bytes 2b80 - 2bbf + 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, + 0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84, + 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3, + // Bytes 2bc0 - 2bff + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2c00 - 2c3f + 0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3, + 0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83, + 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, + 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, + 0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, + 0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, + // Bytes 2c40 - 2c7f + 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, + 0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9, + // Bytes 2c80 - 2cbf + 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, + 0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, + 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2cc0 - 2cff + 0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0, + 0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2d00 - 2d3f + 0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0, + 0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1, + 0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1, + 0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + // Bytes 2d40 - 2d7f + 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0, + // Bytes 2d80 - 2dbf + 0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01, + 0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84, + 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, + 0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D, + 0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0, + 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01, + 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, + 0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, + // Bytes 2dc0 - 2dff + 0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96, + 0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, + 0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01, + 0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, + 0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44, + 0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC, + 0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9, + // Bytes 2e00 - 2e3f + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e40 - 2e7f + 0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, + 0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e80 - 2ebf + 0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, + 0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, + 0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, + 0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, + 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + // Bytes 2ec0 - 2eff + 0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83, + 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, + 0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, + 0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, + 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82, + 0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, + // Bytes 2f00 - 2f3f + 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, + 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, + 0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95, + // Bytes 2f40 - 2f7f + 0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, + 0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, + 0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, + 0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, + 0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81, + 0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41, + // Bytes 2f80 - 2fbf + 0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9, + 0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC, + 0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03, + 0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8, + 0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42, + 0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5, + 0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC, + 0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03, + // Bytes 2fc0 - 2fff + 0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87, + 0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44, + 0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5, + 0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC, + 0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03, + 0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83, + 0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45, + 0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9, + // Bytes 3000 - 303f + 0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC, + 0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03, + 0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8, + 0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45, + 0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9, + 0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC, + 0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03, + 0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87, + // Bytes 3040 - 307f + 0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47, + 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9, + 0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC, + 0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03, + 0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7, + 0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49, + 0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9, + 0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC, + // Bytes 3080 - 30bf + 0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03, + 0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87, + 0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49, + 0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9, + 0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC, + 0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03, + 0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82, + 0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B, + // Bytes 30c0 - 30ff + 0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5, + 0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC, + 0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03, + 0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7, + 0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C, + 0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9, + 0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC, + 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03, + // Bytes 3100 - 313f + 0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83, + 0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E, + 0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5, + 0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC, + 0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03, + 0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81, + 0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F, + 0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9, + // Bytes 3140 - 317f + 0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC, + 0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03, + 0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87, + 0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52, + 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9, + 0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC, + 0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03, + 0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82, + // Bytes 3180 - 31bf + 0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53, + 0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5, + 0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC, + 0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03, + 0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7, + 0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54, + 0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9, + 0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC, + // Bytes 31c0 - 31ff + 0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03, + 0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A, + 0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55, + 0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9, + 0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC, + 0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03, + 0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD, + 0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56, + // Bytes 3200 - 323f + 0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5, + 0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC, + 0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03, + 0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88, + 0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58, + 0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9, + 0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC, + 0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03, + // Bytes 3240 - 327f + 0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84, + 0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59, + 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9, + 0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC, + 0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03, + 0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C, + 0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, + 0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9, + // Bytes 3280 - 32bf + 0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC, + 0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03, + 0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C, + 0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61, + 0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5, + 0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC, + 0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03, + 0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81, + // Bytes 32c0 - 32ff + 0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63, + 0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9, + 0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC, + 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03, + 0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD, + 0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65, + 0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9, + 0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC, + // Bytes 3300 - 333f + 0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03, + 0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89, + 0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65, + 0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9, + 0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC, + 0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03, + 0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81, + 0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67, + // Bytes 3340 - 337f + 0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9, + 0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, + 0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03, + 0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87, + 0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68, + 0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5, + 0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC, + 0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3380 - 33bf + 0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81, + 0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69, + 0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9, + 0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC, + 0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03, + 0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91, + 0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69, + 0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5, + // Bytes 33c0 - 33ff + 0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC, + 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03, + 0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3, + 0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B, + 0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9, + 0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC, + 0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03, + 0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81, + // Bytes 3400 - 343f + 0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D, + 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9, + 0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC, + 0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03, + 0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3, + 0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E, + 0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5, + 0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC, + // Bytes 3440 - 347f + 0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03, + 0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B, + 0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F, + 0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9, + 0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC, + 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03, + 0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C, + 0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72, + // Bytes 3480 - 34bf + 0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5, + 0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC, + 0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03, + 0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7, + 0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74, + 0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9, + 0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC, + 0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03, + // Bytes 34c0 - 34ff + 0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1, + 0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75, + 0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9, + 0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC, + 0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03, + 0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C, + 0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75, + 0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5, + // Bytes 3500 - 353f + 0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC, + 0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03, + 0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83, + 0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77, + 0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9, + 0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC, + 0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03, + 0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3, + // Bytes 3540 - 357f + 0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78, + 0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9, + 0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC, + 0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03, + 0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87, + 0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79, + 0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9, + 0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC, + // Bytes 3580 - 35bf + 0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03, + 0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C, + 0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, + 0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80, + 0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04, + 0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86, + 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84, + 0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04, + // Bytes 35c0 - 35ff + 0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6, + 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81, + 0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04, + 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92, + 0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85, + // Bytes 3600 - 363f + 0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04, + 0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F, + // Bytes 3640 - 367f + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04, + // Bytes 3680 - 36bf + 0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85, + 0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7, + 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82, + // Bytes 36c0 - 36ff + 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81, + 0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94, + 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04, + 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85, + 0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86, + 0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04, + 0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92, + // Bytes 3700 - 373f + 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81, + 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3740 - 377f + 0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84, + 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04, + 0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A, + 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04, + 0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, + // Bytes 3780 - 37bf + 0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6, + // Bytes 37c0 - 37ff + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8, + 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04, + 0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83, + 0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86, + 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3800 - 383f + 0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87, + 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88, + 0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04, + 0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4, + 0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, + 0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04, + 0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8, + 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88, + // Bytes 3840 - 387f + 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04, + 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94, + 0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04, + 0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92, + 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94, + 0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + // Bytes 3880 - 38bf + 0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, + 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86, + 0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, + 0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, + 0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA, + 0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, + 0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41, + // Bytes 38c0 - 38ff + 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC, + 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7, + 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45, + 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, + // Bytes 3900 - 393f + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7, + 0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, + 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + 0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, + 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83, + // Bytes 3940 - 397f + 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC, + 0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, + 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, + 0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + 0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F, + 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, + 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, + 0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, + // Bytes 3980 - 39bf + 0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, + 0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, + 0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, + 0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53, + 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, + 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3, + 0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC, + 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, + // Bytes 39c0 - 39ff + 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, + 0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55, + 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B, + 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + // Bytes 3a00 - 3a3f + 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86, + 0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, + 0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, + 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA, + 0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + // Bytes 3a40 - 3a7f + 0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61, + 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3, + 0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC, + 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, + 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA, + 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, + 0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65, + // Bytes 3a80 - 3abf + 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, + 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3, + 0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC, + 0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, + 0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, + 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, + // Bytes 3ac0 - 3aff + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83, + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, + 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, + 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA, + 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, + 0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, + // Bytes 3b00 - 3b3f + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + 0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72, + 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC, + 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C, + 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC, + // Bytes 3b40 - 3b7f + 0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, + 0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA, + 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05, + 0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC, + 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B, + 0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, + // Bytes 3b80 - 3bbf + 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA, + 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05, + 0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1, + 0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE, + 0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, + 0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, + 0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, + 0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, + // Bytes 3bc0 - 3bff + 0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, + 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3c00 - 3c3f + 0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + // Bytes 3c40 - 3c7f + 0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + // Bytes 3c80 - 3cbf + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, + // Bytes 3cc0 - 3cff + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, + 0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + // Bytes 3d00 - 3d3f + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3d40 - 3d7f + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + // Bytes 3d80 - 3dbf + 0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + // Bytes 3dc0 - 3dff + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + // Bytes 3e00 - 3e3f + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3e40 - 3e7f + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + // Bytes 3e80 - 3ebf + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + // Bytes 3ec0 - 3eff + 0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85, + 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11, + // Bytes 3f00 - 3f3f + 0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f40 - 3f7f + 0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f80 - 3fbf + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D, + // Bytes 3fc0 - 3fff + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4000 - 403f + 0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4040 - 407f + 0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4080 - 40bf + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 40c0 - 40ff + 0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + // Bytes 4100 - 413f + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + // Bytes 4140 - 417f + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, + // Bytes 4180 - 41bf + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + // Bytes 41c0 - 41ff + 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + // Bytes 4200 - 423f + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, + // Bytes 4240 - 427f + 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, + 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, + 0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2, + 0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43, + 0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84, + 0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20, + 0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9, + 0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC, + // Bytes 4280 - 42bf + 0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43, + 0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94, + 0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20, + 0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5, + 0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD, + 0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43, + 0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D, + 0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20, + // Bytes 42c0 - 42ff + 0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D, + 0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9, + 0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43, + 0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82, + 0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D, + 0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE, + 0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9, + // Bytes 4300 - 433f + 0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, + 0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, + 0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC, + // Bytes 4340 - 437f + 0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9, + 0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7, + 0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7, + // Bytes 4380 - 43bf + 0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7, + 0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41, + // Bytes 43c0 - 43ff + 0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49, + 0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7, + 0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6, + // Bytes 4400 - 443f + 0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31, + 0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8, + 0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, + 0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8, + 0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9, + 0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65, + 0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9, + // Bytes 4440 - 447f + 0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9, + 0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75, + 0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9, + 0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9, + 0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, + 0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB, + 0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC, + // Bytes 4480 - 44bf + 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, + 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45, + 0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20, + 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, + 0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9, + 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, + // Bytes 44c0 - 44ff + 0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72, + 0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45, + 0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20, + 0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB, + 0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6, + 0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6, + // Bytes 4500 - 453f + 0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9, + 0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1, + // Bytes 4540 - 457f + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97, + // Bytes 4580 - 45bf + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3, + // Bytes 45c0 - 45ff + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85, + 0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, + 0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + 0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49, + // Bytes 4600 - 463f + 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, + 0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, + 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, + 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + // Bytes 4640 - 467f + 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE, + 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, + 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, + 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + // Bytes 4680 - 46bf + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, + 0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC, + 0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83, + 0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A, + 0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43, + 0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9, + 0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC, + 0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83, + // Bytes 46c0 - 46ff + 0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3, + 0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F, + 0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9, + 0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC, + 0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83, + 0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8, + 0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53, + 0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9, + // Bytes 4700 - 473f + 0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC, + 0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83, + 0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B, + 0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61, + 0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9, + 0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC, + 0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83, + 0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82, + // Bytes 4740 - 477f + 0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65, + 0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5, + 0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC, + 0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83, + 0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84, + 0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F, + 0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD, + 0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, + // Bytes 4780 - 47bf + 0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83, + 0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C, + 0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75, + 0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9, + 0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC, + 0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC, + // Bytes 47c0 - 47ff + 0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE, + // Bytes 4800 - 483f + 0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE, + 0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9, + 0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE, + 0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9, + // Bytes 4840 - 487f + 0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE, + 0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF, + 0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC, + 0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF, + 0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC, + // Bytes 4880 - 48bf + 0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + // Bytes 48c0 - 48ff + 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + // Bytes 4900 - 493f + 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + // Bytes 4940 - 497f + 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + // Bytes 4980 - 49bf + 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC, + 0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32, + 0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85, + // Bytes 49c0 - 49ff + 0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, + // Bytes 4a00 - 4a3f + 0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, + // Bytes 4a40 - 4a7f + 0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, + 0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, + 0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32, + 0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3, + // Bytes 4a80 - 4abf + 0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1, + 0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0, + 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00, + 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10586 bytes (10.34 KiB). Checksum: dd926e82067bee11. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 46: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 46 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 48 blocks, 3072 entries, 6144 bytes +// The third block is the zero block. +var nfcValues = [3072]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, + // Block 0x5, offset 0x140 + 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35a1, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b, + 0x2c6: 0xa000, 0x2c7: 0x3709, + 0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x3733, 0x302: 0x37b7, + 0x310: 0x370f, 0x311: 0x3793, + 0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd, + 0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf, + 0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed, + 0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805, + 0x338: 0x3787, 0x339: 0x380b, + // Block 0xd, offset 0x340 + 0x351: 0x812d, + 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, + 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, + 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, + 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, + 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, + 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, + 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, + 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, + 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, + 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x812d, + 0x3b0: 0x811e, + // Block 0xf, offset 0x3c0 + 0x3d3: 0x812d, 0x3d4: 0x8132, 0x3d5: 0x8132, 0x3d6: 0x8132, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x8132, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x8132, 0x3e0: 0x8132, 0x3e1: 0x8132, 0x3e3: 0x812d, + 0x3e4: 0x8132, 0x3e5: 0x8132, 0x3e6: 0x812d, 0x3e7: 0x8132, 0x3e8: 0x8132, 0x3e9: 0x812d, + 0x3ea: 0x8132, 0x3eb: 0x8132, 0x3ec: 0x8132, 0x3ed: 0x812d, 0x3ee: 0x812d, 0x3ef: 0x812d, + 0x3f0: 0x8116, 0x3f1: 0x8117, 0x3f2: 0x8118, 0x3f3: 0x8132, 0x3f4: 0x8132, 0x3f5: 0x8132, + 0x3f6: 0x812d, 0x3f7: 0x8132, 0x3f8: 0x8132, 0x3f9: 0x812d, 0x3fa: 0x812d, 0x3fb: 0x8132, + 0x3fc: 0x8132, 0x3fd: 0x8132, 0x3fe: 0x8132, 0x3ff: 0x8132, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000, + 0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000, + 0x412: 0x2d4e, + 0x434: 0x8102, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d56, + 0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x8132, 0x441: 0x8132, 0x442: 0x812d, 0x443: 0x8132, 0x444: 0x8132, 0x445: 0x8132, + 0x446: 0x8132, 0x447: 0x8132, 0x448: 0x8132, 0x449: 0x8132, 0x44a: 0x812d, 0x44b: 0x8132, + 0x44c: 0x8132, 0x44d: 0x8135, 0x44e: 0x812a, 0x44f: 0x812d, 0x450: 0x8129, 0x451: 0x8132, + 0x452: 0x8132, 0x453: 0x8132, 0x454: 0x8132, 0x455: 0x8132, 0x456: 0x8132, 0x457: 0x8132, + 0x458: 0x8132, 0x459: 0x8132, 0x45a: 0x8132, 0x45b: 0x8132, 0x45c: 0x8132, 0x45d: 0x8132, + 0x45e: 0x8132, 0x45f: 0x8132, 0x460: 0x8132, 0x461: 0x8132, 0x462: 0x8132, 0x463: 0x8132, + 0x464: 0x8132, 0x465: 0x8132, 0x466: 0x8132, 0x467: 0x8132, 0x468: 0x8132, 0x469: 0x8132, + 0x46a: 0x8132, 0x46b: 0x8132, 0x46c: 0x8132, 0x46d: 0x8132, 0x46e: 0x8132, 0x46f: 0x8132, + 0x470: 0x8132, 0x471: 0x8132, 0x472: 0x8132, 0x473: 0x8132, 0x474: 0x8132, 0x475: 0x8132, + 0x476: 0x8133, 0x477: 0x8131, 0x478: 0x8131, 0x479: 0x812d, 0x47b: 0x8132, + 0x47c: 0x8134, 0x47d: 0x812d, 0x47e: 0x8132, 0x47f: 0x812d, + // Block 0x12, offset 0x480 + 0x480: 0x2f97, 0x481: 0x32a3, 0x482: 0x2fa1, 0x483: 0x32ad, 0x484: 0x2fa6, 0x485: 0x32b2, + 0x486: 0x2fab, 0x487: 0x32b7, 0x488: 0x38cc, 0x489: 0x3a5b, 0x48a: 0x2fc4, 0x48b: 0x32d0, + 0x48c: 0x2fce, 0x48d: 0x32da, 0x48e: 0x2fdd, 0x48f: 0x32e9, 0x490: 0x2fd3, 0x491: 0x32df, + 0x492: 0x2fd8, 0x493: 0x32e4, 0x494: 0x38ef, 0x495: 0x3a7e, 0x496: 0x38f6, 0x497: 0x3a85, + 0x498: 0x3019, 0x499: 0x3325, 0x49a: 0x301e, 0x49b: 0x332a, 0x49c: 0x3904, 0x49d: 0x3a93, + 0x49e: 0x3023, 0x49f: 0x332f, 0x4a0: 0x3032, 0x4a1: 0x333e, 0x4a2: 0x3050, 0x4a3: 0x335c, + 0x4a4: 0x305f, 0x4a5: 0x336b, 0x4a6: 0x3055, 0x4a7: 0x3361, 0x4a8: 0x3064, 0x4a9: 0x3370, + 0x4aa: 0x3069, 0x4ab: 0x3375, 0x4ac: 0x30af, 0x4ad: 0x33bb, 0x4ae: 0x390b, 0x4af: 0x3a9a, + 0x4b0: 0x30b9, 0x4b1: 0x33ca, 0x4b2: 0x30c3, 0x4b3: 0x33d4, 0x4b4: 0x30cd, 0x4b5: 0x33de, + 0x4b6: 0x46c4, 0x4b7: 0x4755, 0x4b8: 0x3912, 0x4b9: 0x3aa1, 0x4ba: 0x30e6, 0x4bb: 0x33f7, + 0x4bc: 0x30e1, 0x4bd: 0x33f2, 0x4be: 0x30eb, 0x4bf: 0x33fc, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x30f0, 0x4c1: 0x3401, 0x4c2: 0x30f5, 0x4c3: 0x3406, 0x4c4: 0x3109, 0x4c5: 0x341a, + 0x4c6: 0x3113, 0x4c7: 0x3424, 0x4c8: 0x3122, 0x4c9: 0x3433, 0x4ca: 0x311d, 0x4cb: 0x342e, + 0x4cc: 0x3935, 0x4cd: 0x3ac4, 0x4ce: 0x3943, 0x4cf: 0x3ad2, 0x4d0: 0x394a, 0x4d1: 0x3ad9, + 0x4d2: 0x3951, 0x4d3: 0x3ae0, 0x4d4: 0x314f, 0x4d5: 0x3460, 0x4d6: 0x3154, 0x4d7: 0x3465, + 0x4d8: 0x315e, 0x4d9: 0x346f, 0x4da: 0x46f1, 0x4db: 0x4782, 0x4dc: 0x3997, 0x4dd: 0x3b26, + 0x4de: 0x3177, 0x4df: 0x3488, 0x4e0: 0x3181, 0x4e1: 0x3492, 0x4e2: 0x4700, 0x4e3: 0x4791, + 0x4e4: 0x399e, 0x4e5: 0x3b2d, 0x4e6: 0x39a5, 0x4e7: 0x3b34, 0x4e8: 0x39ac, 0x4e9: 0x3b3b, + 0x4ea: 0x3190, 0x4eb: 0x34a1, 0x4ec: 0x319a, 0x4ed: 0x34b0, 0x4ee: 0x31ae, 0x4ef: 0x34c4, + 0x4f0: 0x31a9, 0x4f1: 0x34bf, 0x4f2: 0x31ea, 0x4f3: 0x3500, 0x4f4: 0x31f9, 0x4f5: 0x350f, + 0x4f6: 0x31f4, 0x4f7: 0x350a, 0x4f8: 0x39b3, 0x4f9: 0x3b42, 0x4fa: 0x39ba, 0x4fb: 0x3b49, + 0x4fc: 0x31fe, 0x4fd: 0x3514, 0x4fe: 0x3203, 0x4ff: 0x3519, + // Block 0x14, offset 0x500 + 0x500: 0x3208, 0x501: 0x351e, 0x502: 0x320d, 0x503: 0x3523, 0x504: 0x321c, 0x505: 0x3532, + 0x506: 0x3217, 0x507: 0x352d, 0x508: 0x3221, 0x509: 0x353c, 0x50a: 0x3226, 0x50b: 0x3541, + 0x50c: 0x322b, 0x50d: 0x3546, 0x50e: 0x3249, 0x50f: 0x3564, 0x510: 0x3262, 0x511: 0x3582, + 0x512: 0x3271, 0x513: 0x3591, 0x514: 0x3276, 0x515: 0x3596, 0x516: 0x337a, 0x517: 0x34a6, + 0x518: 0x3537, 0x519: 0x3573, 0x51b: 0x35d1, + 0x520: 0x46a1, 0x521: 0x4732, 0x522: 0x2f83, 0x523: 0x328f, + 0x524: 0x3878, 0x525: 0x3a07, 0x526: 0x3871, 0x527: 0x3a00, 0x528: 0x3886, 0x529: 0x3a15, + 0x52a: 0x387f, 0x52b: 0x3a0e, 0x52c: 0x38be, 0x52d: 0x3a4d, 0x52e: 0x3894, 0x52f: 0x3a23, + 0x530: 0x388d, 0x531: 0x3a1c, 0x532: 0x38a2, 0x533: 0x3a31, 0x534: 0x389b, 0x535: 0x3a2a, + 0x536: 0x38c5, 0x537: 0x3a54, 0x538: 0x46b5, 0x539: 0x4746, 0x53a: 0x3000, 0x53b: 0x330c, + 0x53c: 0x2fec, 0x53d: 0x32f8, 0x53e: 0x38da, 0x53f: 0x3a69, + // Block 0x15, offset 0x540 + 0x540: 0x38d3, 0x541: 0x3a62, 0x542: 0x38e8, 0x543: 0x3a77, 0x544: 0x38e1, 0x545: 0x3a70, + 0x546: 0x38fd, 0x547: 0x3a8c, 0x548: 0x3091, 0x549: 0x339d, 0x54a: 0x30a5, 0x54b: 0x33b1, + 0x54c: 0x46e7, 0x54d: 0x4778, 0x54e: 0x3136, 0x54f: 0x3447, 0x550: 0x3920, 0x551: 0x3aaf, + 0x552: 0x3919, 0x553: 0x3aa8, 0x554: 0x392e, 0x555: 0x3abd, 0x556: 0x3927, 0x557: 0x3ab6, + 0x558: 0x3989, 0x559: 0x3b18, 0x55a: 0x396d, 0x55b: 0x3afc, 0x55c: 0x3966, 0x55d: 0x3af5, + 0x55e: 0x397b, 0x55f: 0x3b0a, 0x560: 0x3974, 0x561: 0x3b03, 0x562: 0x3982, 0x563: 0x3b11, + 0x564: 0x31e5, 0x565: 0x34fb, 0x566: 0x31c7, 0x567: 0x34dd, 0x568: 0x39e4, 0x569: 0x3b73, + 0x56a: 0x39dd, 0x56b: 0x3b6c, 0x56c: 0x39f2, 0x56d: 0x3b81, 0x56e: 0x39eb, 0x56f: 0x3b7a, + 0x570: 0x39f9, 0x571: 0x3b88, 0x572: 0x3230, 0x573: 0x354b, 0x574: 0x3258, 0x575: 0x3578, + 0x576: 0x3253, 0x577: 0x356e, 0x578: 0x323f, 0x579: 0x355a, + // Block 0x16, offset 0x580 + 0x580: 0x4804, 0x581: 0x480a, 0x582: 0x491e, 0x583: 0x4936, 0x584: 0x4926, 0x585: 0x493e, + 0x586: 0x492e, 0x587: 0x4946, 0x588: 0x47aa, 0x589: 0x47b0, 0x58a: 0x488e, 0x58b: 0x48a6, + 0x58c: 0x4896, 0x58d: 0x48ae, 0x58e: 0x489e, 0x58f: 0x48b6, 0x590: 0x4816, 0x591: 0x481c, + 0x592: 0x3db8, 0x593: 0x3dc8, 0x594: 0x3dc0, 0x595: 0x3dd0, + 0x598: 0x47b6, 0x599: 0x47bc, 0x59a: 0x3ce8, 0x59b: 0x3cf8, 0x59c: 0x3cf0, 0x59d: 0x3d00, + 0x5a0: 0x482e, 0x5a1: 0x4834, 0x5a2: 0x494e, 0x5a3: 0x4966, + 0x5a4: 0x4956, 0x5a5: 0x496e, 0x5a6: 0x495e, 0x5a7: 0x4976, 0x5a8: 0x47c2, 0x5a9: 0x47c8, + 0x5aa: 0x48be, 0x5ab: 0x48d6, 0x5ac: 0x48c6, 0x5ad: 0x48de, 0x5ae: 0x48ce, 0x5af: 0x48e6, + 0x5b0: 0x4846, 0x5b1: 0x484c, 0x5b2: 0x3e18, 0x5b3: 0x3e30, 0x5b4: 0x3e20, 0x5b5: 0x3e38, + 0x5b6: 0x3e28, 0x5b7: 0x3e40, 0x5b8: 0x47ce, 0x5b9: 0x47d4, 0x5ba: 0x3d18, 0x5bb: 0x3d30, + 0x5bc: 0x3d20, 0x5bd: 0x3d38, 0x5be: 0x3d28, 0x5bf: 0x3d40, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x4852, 0x5c1: 0x4858, 0x5c2: 0x3e48, 0x5c3: 0x3e58, 0x5c4: 0x3e50, 0x5c5: 0x3e60, + 0x5c8: 0x47da, 0x5c9: 0x47e0, 0x5ca: 0x3d48, 0x5cb: 0x3d58, + 0x5cc: 0x3d50, 0x5cd: 0x3d60, 0x5d0: 0x4864, 0x5d1: 0x486a, + 0x5d2: 0x3e80, 0x5d3: 0x3e98, 0x5d4: 0x3e88, 0x5d5: 0x3ea0, 0x5d6: 0x3e90, 0x5d7: 0x3ea8, + 0x5d9: 0x47e6, 0x5db: 0x3d68, 0x5dd: 0x3d70, + 0x5df: 0x3d78, 0x5e0: 0x487c, 0x5e1: 0x4882, 0x5e2: 0x497e, 0x5e3: 0x4996, + 0x5e4: 0x4986, 0x5e5: 0x499e, 0x5e6: 0x498e, 0x5e7: 0x49a6, 0x5e8: 0x47ec, 0x5e9: 0x47f2, + 0x5ea: 0x48ee, 0x5eb: 0x4906, 0x5ec: 0x48f6, 0x5ed: 0x490e, 0x5ee: 0x48fe, 0x5ef: 0x4916, + 0x5f0: 0x47f8, 0x5f1: 0x431e, 0x5f2: 0x3691, 0x5f3: 0x4324, 0x5f4: 0x4822, 0x5f5: 0x432a, + 0x5f6: 0x36a3, 0x5f7: 0x4330, 0x5f8: 0x36c1, 0x5f9: 0x4336, 0x5fa: 0x36d9, 0x5fb: 0x433c, + 0x5fc: 0x4870, 0x5fd: 0x4342, + // Block 0x18, offset 0x600 + 0x600: 0x3da0, 0x601: 0x3da8, 0x602: 0x4184, 0x603: 0x41a2, 0x604: 0x418e, 0x605: 0x41ac, + 0x606: 0x4198, 0x607: 0x41b6, 0x608: 0x3cd8, 0x609: 0x3ce0, 0x60a: 0x40d0, 0x60b: 0x40ee, + 0x60c: 0x40da, 0x60d: 0x40f8, 0x60e: 0x40e4, 0x60f: 0x4102, 0x610: 0x3de8, 0x611: 0x3df0, + 0x612: 0x41c0, 0x613: 0x41de, 0x614: 0x41ca, 0x615: 0x41e8, 0x616: 0x41d4, 0x617: 0x41f2, + 0x618: 0x3d08, 0x619: 0x3d10, 0x61a: 0x410c, 0x61b: 0x412a, 0x61c: 0x4116, 0x61d: 0x4134, + 0x61e: 0x4120, 0x61f: 0x413e, 0x620: 0x3ec0, 0x621: 0x3ec8, 0x622: 0x41fc, 0x623: 0x421a, + 0x624: 0x4206, 0x625: 0x4224, 0x626: 0x4210, 0x627: 0x422e, 0x628: 0x3d80, 0x629: 0x3d88, + 0x62a: 0x4148, 0x62b: 0x4166, 0x62c: 0x4152, 0x62d: 0x4170, 0x62e: 0x415c, 0x62f: 0x417a, + 0x630: 0x3685, 0x631: 0x367f, 0x632: 0x3d90, 0x633: 0x368b, 0x634: 0x3d98, + 0x636: 0x4810, 0x637: 0x3db0, 0x638: 0x35f5, 0x639: 0x35ef, 0x63a: 0x35e3, 0x63b: 0x42ee, + 0x63c: 0x35fb, 0x63d: 0x8100, 0x63e: 0x01d3, 0x63f: 0xa100, + // Block 0x19, offset 0x640 + 0x640: 0x8100, 0x641: 0x35a7, 0x642: 0x3dd8, 0x643: 0x369d, 0x644: 0x3de0, + 0x646: 0x483a, 0x647: 0x3df8, 0x648: 0x3601, 0x649: 0x42f4, 0x64a: 0x360d, 0x64b: 0x42fa, + 0x64c: 0x3619, 0x64d: 0x3b8f, 0x64e: 0x3b96, 0x64f: 0x3b9d, 0x650: 0x36b5, 0x651: 0x36af, + 0x652: 0x3e00, 0x653: 0x44e4, 0x656: 0x36bb, 0x657: 0x3e10, + 0x658: 0x3631, 0x659: 0x362b, 0x65a: 0x361f, 0x65b: 0x4300, 0x65d: 0x3ba4, + 0x65e: 0x3bab, 0x65f: 0x3bb2, 0x660: 0x36eb, 0x661: 0x36e5, 0x662: 0x3e68, 0x663: 0x44ec, + 0x664: 0x36cd, 0x665: 0x36d3, 0x666: 0x36f1, 0x667: 0x3e78, 0x668: 0x3661, 0x669: 0x365b, + 0x66a: 0x364f, 0x66b: 0x430c, 0x66c: 0x3649, 0x66d: 0x359b, 0x66e: 0x42e8, 0x66f: 0x0081, + 0x672: 0x3eb0, 0x673: 0x36f7, 0x674: 0x3eb8, + 0x676: 0x4888, 0x677: 0x3ed0, 0x678: 0x363d, 0x679: 0x4306, 0x67a: 0x366d, 0x67b: 0x4318, + 0x67c: 0x3679, 0x67d: 0x4256, 0x67e: 0xa100, + // Block 0x1a, offset 0x680 + 0x681: 0x3c06, 0x683: 0xa000, 0x684: 0x3c0d, 0x685: 0xa000, + 0x687: 0x3c14, 0x688: 0xa000, 0x689: 0x3c1b, + 0x68d: 0xa000, + 0x6a0: 0x2f65, 0x6a1: 0xa000, 0x6a2: 0x3c29, + 0x6a4: 0xa000, 0x6a5: 0xa000, + 0x6ad: 0x3c22, 0x6ae: 0x2f60, 0x6af: 0x2f6a, + 0x6b0: 0x3c30, 0x6b1: 0x3c37, 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0x3c3e, 0x6b5: 0x3c45, + 0x6b6: 0xa000, 0x6b7: 0xa000, 0x6b8: 0x3c4c, 0x6b9: 0x3c53, 0x6ba: 0xa000, 0x6bb: 0xa000, + 0x6bc: 0xa000, 0x6bd: 0xa000, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3c5a, 0x6c1: 0x3c61, 0x6c2: 0xa000, 0x6c3: 0xa000, 0x6c4: 0x3c76, 0x6c5: 0x3c7d, + 0x6c6: 0xa000, 0x6c7: 0xa000, 0x6c8: 0x3c84, 0x6c9: 0x3c8b, + 0x6d1: 0xa000, + 0x6d2: 0xa000, + 0x6e2: 0xa000, + 0x6e8: 0xa000, 0x6e9: 0xa000, + 0x6eb: 0xa000, 0x6ec: 0x3ca0, 0x6ed: 0x3ca7, 0x6ee: 0x3cae, 0x6ef: 0x3cb5, + 0x6f2: 0xa000, 0x6f3: 0xa000, 0x6f4: 0xa000, 0x6f5: 0xa000, + // Block 0x1c, offset 0x700 + 0x706: 0xa000, 0x70b: 0xa000, + 0x70c: 0x3f08, 0x70d: 0xa000, 0x70e: 0x3f10, 0x70f: 0xa000, 0x710: 0x3f18, 0x711: 0xa000, + 0x712: 0x3f20, 0x713: 0xa000, 0x714: 0x3f28, 0x715: 0xa000, 0x716: 0x3f30, 0x717: 0xa000, + 0x718: 0x3f38, 0x719: 0xa000, 0x71a: 0x3f40, 0x71b: 0xa000, 0x71c: 0x3f48, 0x71d: 0xa000, + 0x71e: 0x3f50, 0x71f: 0xa000, 0x720: 0x3f58, 0x721: 0xa000, 0x722: 0x3f60, + 0x724: 0xa000, 0x725: 0x3f68, 0x726: 0xa000, 0x727: 0x3f70, 0x728: 0xa000, 0x729: 0x3f78, + 0x72f: 0xa000, + 0x730: 0x3f80, 0x731: 0x3f88, 0x732: 0xa000, 0x733: 0x3f90, 0x734: 0x3f98, 0x735: 0xa000, + 0x736: 0x3fa0, 0x737: 0x3fa8, 0x738: 0xa000, 0x739: 0x3fb0, 0x73a: 0x3fb8, 0x73b: 0xa000, + 0x73c: 0x3fc0, 0x73d: 0x3fc8, + // Block 0x1d, offset 0x740 + 0x754: 0x3f00, + 0x759: 0x9903, 0x75a: 0x9903, 0x75b: 0x8100, 0x75c: 0x8100, 0x75d: 0xa000, + 0x75e: 0x3fd0, + 0x766: 0xa000, + 0x76b: 0xa000, 0x76c: 0x3fe0, 0x76d: 0xa000, 0x76e: 0x3fe8, 0x76f: 0xa000, + 0x770: 0x3ff0, 0x771: 0xa000, 0x772: 0x3ff8, 0x773: 0xa000, 0x774: 0x4000, 0x775: 0xa000, + 0x776: 0x4008, 0x777: 0xa000, 0x778: 0x4010, 0x779: 0xa000, 0x77a: 0x4018, 0x77b: 0xa000, + 0x77c: 0x4020, 0x77d: 0xa000, 0x77e: 0x4028, 0x77f: 0xa000, + // Block 0x1e, offset 0x780 + 0x780: 0x4030, 0x781: 0xa000, 0x782: 0x4038, 0x784: 0xa000, 0x785: 0x4040, + 0x786: 0xa000, 0x787: 0x4048, 0x788: 0xa000, 0x789: 0x4050, + 0x78f: 0xa000, 0x790: 0x4058, 0x791: 0x4060, + 0x792: 0xa000, 0x793: 0x4068, 0x794: 0x4070, 0x795: 0xa000, 0x796: 0x4078, 0x797: 0x4080, + 0x798: 0xa000, 0x799: 0x4088, 0x79a: 0x4090, 0x79b: 0xa000, 0x79c: 0x4098, 0x79d: 0x40a0, + 0x7af: 0xa000, + 0x7b0: 0xa000, 0x7b1: 0xa000, 0x7b2: 0xa000, 0x7b4: 0x3fd8, + 0x7b7: 0x40a8, 0x7b8: 0x40b0, 0x7b9: 0x40b8, 0x7ba: 0x40c0, + 0x7bd: 0xa000, 0x7be: 0x40c8, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x1377, 0x7c1: 0x0cfb, 0x7c2: 0x13d3, 0x7c3: 0x139f, 0x7c4: 0x0e57, 0x7c5: 0x06eb, + 0x7c6: 0x08df, 0x7c7: 0x162b, 0x7c8: 0x162b, 0x7c9: 0x0a0b, 0x7ca: 0x145f, 0x7cb: 0x0943, + 0x7cc: 0x0a07, 0x7cd: 0x0bef, 0x7ce: 0x0fcf, 0x7cf: 0x115f, 0x7d0: 0x1297, 0x7d1: 0x12d3, + 0x7d2: 0x1307, 0x7d3: 0x141b, 0x7d4: 0x0d73, 0x7d5: 0x0dff, 0x7d6: 0x0eab, 0x7d7: 0x0f43, + 0x7d8: 0x125f, 0x7d9: 0x1447, 0x7da: 0x1573, 0x7db: 0x070f, 0x7dc: 0x08b3, 0x7dd: 0x0d87, + 0x7de: 0x0ecf, 0x7df: 0x1293, 0x7e0: 0x15c3, 0x7e1: 0x0ab3, 0x7e2: 0x0e77, 0x7e3: 0x1283, + 0x7e4: 0x1317, 0x7e5: 0x0c23, 0x7e6: 0x11bb, 0x7e7: 0x12df, 0x7e8: 0x0b1f, 0x7e9: 0x0d0f, + 0x7ea: 0x0e17, 0x7eb: 0x0f1b, 0x7ec: 0x1427, 0x7ed: 0x074f, 0x7ee: 0x07e7, 0x7ef: 0x0853, + 0x7f0: 0x0c8b, 0x7f1: 0x0d7f, 0x7f2: 0x0ecb, 0x7f3: 0x0fef, 0x7f4: 0x1177, 0x7f5: 0x128b, + 0x7f6: 0x12a3, 0x7f7: 0x13c7, 0x7f8: 0x14ef, 0x7f9: 0x15a3, 0x7fa: 0x15bf, 0x7fb: 0x102b, + 0x7fc: 0x106b, 0x7fd: 0x1123, 0x7fe: 0x1243, 0x7ff: 0x147b, + // Block 0x20, offset 0x800 + 0x800: 0x15cb, 0x801: 0x134b, 0x802: 0x09c7, 0x803: 0x0b3b, 0x804: 0x10db, 0x805: 0x119b, + 0x806: 0x0eff, 0x807: 0x1033, 0x808: 0x1397, 0x809: 0x14e7, 0x80a: 0x09c3, 0x80b: 0x0a8f, + 0x80c: 0x0d77, 0x80d: 0x0e2b, 0x80e: 0x0e5f, 0x80f: 0x1113, 0x810: 0x113b, 0x811: 0x14a7, + 0x812: 0x084f, 0x813: 0x11a7, 0x814: 0x07f3, 0x815: 0x07ef, 0x816: 0x1097, 0x817: 0x1127, + 0x818: 0x125b, 0x819: 0x14af, 0x81a: 0x1367, 0x81b: 0x0c27, 0x81c: 0x0d73, 0x81d: 0x1357, + 0x81e: 0x06f7, 0x81f: 0x0a63, 0x820: 0x0b93, 0x821: 0x0f2f, 0x822: 0x0faf, 0x823: 0x0873, + 0x824: 0x103b, 0x825: 0x075f, 0x826: 0x0b77, 0x827: 0x06d7, 0x828: 0x0deb, 0x829: 0x0ca3, + 0x82a: 0x110f, 0x82b: 0x08c7, 0x82c: 0x09b3, 0x82d: 0x0ffb, 0x82e: 0x1263, 0x82f: 0x133b, + 0x830: 0x0db7, 0x831: 0x13f7, 0x832: 0x0de3, 0x833: 0x0c37, 0x834: 0x121b, 0x835: 0x0c57, + 0x836: 0x0fab, 0x837: 0x072b, 0x838: 0x07a7, 0x839: 0x07eb, 0x83a: 0x0d53, 0x83b: 0x10fb, + 0x83c: 0x11f3, 0x83d: 0x1347, 0x83e: 0x145b, 0x83f: 0x085b, + // Block 0x21, offset 0x840 + 0x840: 0x090f, 0x841: 0x0a17, 0x842: 0x0b2f, 0x843: 0x0cbf, 0x844: 0x0e7b, 0x845: 0x103f, + 0x846: 0x1497, 0x847: 0x157b, 0x848: 0x15cf, 0x849: 0x15e7, 0x84a: 0x0837, 0x84b: 0x0cf3, + 0x84c: 0x0da3, 0x84d: 0x13eb, 0x84e: 0x0afb, 0x84f: 0x0bd7, 0x850: 0x0bf3, 0x851: 0x0c83, + 0x852: 0x0e6b, 0x853: 0x0eb7, 0x854: 0x0f67, 0x855: 0x108b, 0x856: 0x112f, 0x857: 0x1193, + 0x858: 0x13db, 0x859: 0x126b, 0x85a: 0x1403, 0x85b: 0x147f, 0x85c: 0x080f, 0x85d: 0x083b, + 0x85e: 0x0923, 0x85f: 0x0ea7, 0x860: 0x12f3, 0x861: 0x133b, 0x862: 0x0b1b, 0x863: 0x0b8b, + 0x864: 0x0c4f, 0x865: 0x0daf, 0x866: 0x10d7, 0x867: 0x0f23, 0x868: 0x073b, 0x869: 0x097f, + 0x86a: 0x0a63, 0x86b: 0x0ac7, 0x86c: 0x0b97, 0x86d: 0x0f3f, 0x86e: 0x0f5b, 0x86f: 0x116b, + 0x870: 0x118b, 0x871: 0x1463, 0x872: 0x14e3, 0x873: 0x14f3, 0x874: 0x152f, 0x875: 0x0753, + 0x876: 0x107f, 0x877: 0x144f, 0x878: 0x14cb, 0x879: 0x0baf, 0x87a: 0x0717, 0x87b: 0x0777, + 0x87c: 0x0a67, 0x87d: 0x0a87, 0x87e: 0x0caf, 0x87f: 0x0d73, + // Block 0x22, offset 0x880 + 0x880: 0x0ec3, 0x881: 0x0fcb, 0x882: 0x1277, 0x883: 0x1417, 0x884: 0x1623, 0x885: 0x0ce3, + 0x886: 0x14a3, 0x887: 0x0833, 0x888: 0x0d2f, 0x889: 0x0d3b, 0x88a: 0x0e0f, 0x88b: 0x0e47, + 0x88c: 0x0f4b, 0x88d: 0x0fa7, 0x88e: 0x1027, 0x88f: 0x110b, 0x890: 0x153b, 0x891: 0x07af, + 0x892: 0x0c03, 0x893: 0x14b3, 0x894: 0x0767, 0x895: 0x0aab, 0x896: 0x0e2f, 0x897: 0x13df, + 0x898: 0x0b67, 0x899: 0x0bb7, 0x89a: 0x0d43, 0x89b: 0x0f2f, 0x89c: 0x14bb, 0x89d: 0x0817, + 0x89e: 0x08ff, 0x89f: 0x0a97, 0x8a0: 0x0cd3, 0x8a1: 0x0d1f, 0x8a2: 0x0d5f, 0x8a3: 0x0df3, + 0x8a4: 0x0f47, 0x8a5: 0x0fbb, 0x8a6: 0x1157, 0x8a7: 0x12f7, 0x8a8: 0x1303, 0x8a9: 0x1457, + 0x8aa: 0x14d7, 0x8ab: 0x0883, 0x8ac: 0x0e4b, 0x8ad: 0x0903, 0x8ae: 0x0ec7, 0x8af: 0x0f6b, + 0x8b0: 0x1287, 0x8b1: 0x14bf, 0x8b2: 0x15ab, 0x8b3: 0x15d3, 0x8b4: 0x0d37, 0x8b5: 0x0e27, + 0x8b6: 0x11c3, 0x8b7: 0x10b7, 0x8b8: 0x10c3, 0x8b9: 0x10e7, 0x8ba: 0x0f17, 0x8bb: 0x0e9f, + 0x8bc: 0x1363, 0x8bd: 0x0733, 0x8be: 0x122b, 0x8bf: 0x081b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x080b, 0x8c1: 0x0b0b, 0x8c2: 0x0c2b, 0x8c3: 0x10f3, 0x8c4: 0x0a53, 0x8c5: 0x0e03, + 0x8c6: 0x0cef, 0x8c7: 0x13e7, 0x8c8: 0x12e7, 0x8c9: 0x14ab, 0x8ca: 0x1323, 0x8cb: 0x0b27, + 0x8cc: 0x0787, 0x8cd: 0x095b, 0x8d0: 0x09af, + 0x8d2: 0x0cdf, 0x8d5: 0x07f7, 0x8d6: 0x0f1f, 0x8d7: 0x0fe3, + 0x8d8: 0x1047, 0x8d9: 0x1063, 0x8da: 0x1067, 0x8db: 0x107b, 0x8dc: 0x14fb, 0x8dd: 0x10eb, + 0x8de: 0x116f, 0x8e0: 0x128f, 0x8e2: 0x1353, + 0x8e5: 0x1407, 0x8e6: 0x1433, + 0x8ea: 0x154f, 0x8eb: 0x1553, 0x8ec: 0x1557, 0x8ed: 0x15bb, 0x8ee: 0x142b, 0x8ef: 0x14c7, + 0x8f0: 0x0757, 0x8f1: 0x077b, 0x8f2: 0x078f, 0x8f3: 0x084b, 0x8f4: 0x0857, 0x8f5: 0x0897, + 0x8f6: 0x094b, 0x8f7: 0x0967, 0x8f8: 0x096f, 0x8f9: 0x09ab, 0x8fa: 0x09b7, 0x8fb: 0x0a93, + 0x8fc: 0x0a9b, 0x8fd: 0x0ba3, 0x8fe: 0x0bcb, 0x8ff: 0x0bd3, + // Block 0x24, offset 0x900 + 0x900: 0x0beb, 0x901: 0x0c97, 0x902: 0x0cc7, 0x903: 0x0ce7, 0x904: 0x0d57, 0x905: 0x0e1b, + 0x906: 0x0e37, 0x907: 0x0e67, 0x908: 0x0ebb, 0x909: 0x0edb, 0x90a: 0x0f4f, 0x90b: 0x102f, + 0x90c: 0x104b, 0x90d: 0x1053, 0x90e: 0x104f, 0x90f: 0x1057, 0x910: 0x105b, 0x911: 0x105f, + 0x912: 0x1073, 0x913: 0x1077, 0x914: 0x109b, 0x915: 0x10af, 0x916: 0x10cb, 0x917: 0x112f, + 0x918: 0x1137, 0x919: 0x113f, 0x91a: 0x1153, 0x91b: 0x117b, 0x91c: 0x11cb, 0x91d: 0x11ff, + 0x91e: 0x11ff, 0x91f: 0x1267, 0x920: 0x130f, 0x921: 0x1327, 0x922: 0x135b, 0x923: 0x135f, + 0x924: 0x13a3, 0x925: 0x13a7, 0x926: 0x13ff, 0x927: 0x1407, 0x928: 0x14db, 0x929: 0x151f, + 0x92a: 0x1537, 0x92b: 0x0b9b, 0x92c: 0x171e, 0x92d: 0x11e3, + 0x930: 0x06df, 0x931: 0x07e3, 0x932: 0x07a3, 0x933: 0x074b, 0x934: 0x078b, 0x935: 0x07b7, + 0x936: 0x0847, 0x937: 0x0863, 0x938: 0x094b, 0x939: 0x0937, 0x93a: 0x0947, 0x93b: 0x0963, + 0x93c: 0x09af, 0x93d: 0x09bf, 0x93e: 0x0a03, 0x93f: 0x0a0f, + // Block 0x25, offset 0x940 + 0x940: 0x0a2b, 0x941: 0x0a3b, 0x942: 0x0b23, 0x943: 0x0b2b, 0x944: 0x0b5b, 0x945: 0x0b7b, + 0x946: 0x0bab, 0x947: 0x0bc3, 0x948: 0x0bb3, 0x949: 0x0bd3, 0x94a: 0x0bc7, 0x94b: 0x0beb, + 0x94c: 0x0c07, 0x94d: 0x0c5f, 0x94e: 0x0c6b, 0x94f: 0x0c73, 0x950: 0x0c9b, 0x951: 0x0cdf, + 0x952: 0x0d0f, 0x953: 0x0d13, 0x954: 0x0d27, 0x955: 0x0da7, 0x956: 0x0db7, 0x957: 0x0e0f, + 0x958: 0x0e5b, 0x959: 0x0e53, 0x95a: 0x0e67, 0x95b: 0x0e83, 0x95c: 0x0ebb, 0x95d: 0x1013, + 0x95e: 0x0edf, 0x95f: 0x0f13, 0x960: 0x0f1f, 0x961: 0x0f5f, 0x962: 0x0f7b, 0x963: 0x0f9f, + 0x964: 0x0fc3, 0x965: 0x0fc7, 0x966: 0x0fe3, 0x967: 0x0fe7, 0x968: 0x0ff7, 0x969: 0x100b, + 0x96a: 0x1007, 0x96b: 0x1037, 0x96c: 0x10b3, 0x96d: 0x10cb, 0x96e: 0x10e3, 0x96f: 0x111b, + 0x970: 0x112f, 0x971: 0x114b, 0x972: 0x117b, 0x973: 0x122f, 0x974: 0x1257, 0x975: 0x12cb, + 0x976: 0x1313, 0x977: 0x131f, 0x978: 0x1327, 0x979: 0x133f, 0x97a: 0x1353, 0x97b: 0x1343, + 0x97c: 0x135b, 0x97d: 0x1357, 0x97e: 0x134f, 0x97f: 0x135f, + // Block 0x26, offset 0x980 + 0x980: 0x136b, 0x981: 0x13a7, 0x982: 0x13e3, 0x983: 0x1413, 0x984: 0x144b, 0x985: 0x146b, + 0x986: 0x14b7, 0x987: 0x14db, 0x988: 0x14fb, 0x989: 0x150f, 0x98a: 0x151f, 0x98b: 0x152b, + 0x98c: 0x1537, 0x98d: 0x158b, 0x98e: 0x162b, 0x98f: 0x16b5, 0x990: 0x16b0, 0x991: 0x16e2, + 0x992: 0x0607, 0x993: 0x062f, 0x994: 0x0633, 0x995: 0x1764, 0x996: 0x1791, 0x997: 0x1809, + 0x998: 0x1617, 0x999: 0x1627, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x06fb, 0x9c1: 0x06f3, 0x9c2: 0x0703, 0x9c3: 0x1647, 0x9c4: 0x0747, 0x9c5: 0x0757, + 0x9c6: 0x075b, 0x9c7: 0x0763, 0x9c8: 0x076b, 0x9c9: 0x076f, 0x9ca: 0x077b, 0x9cb: 0x0773, + 0x9cc: 0x05b3, 0x9cd: 0x165b, 0x9ce: 0x078f, 0x9cf: 0x0793, 0x9d0: 0x0797, 0x9d1: 0x07b3, + 0x9d2: 0x164c, 0x9d3: 0x05b7, 0x9d4: 0x079f, 0x9d5: 0x07bf, 0x9d6: 0x1656, 0x9d7: 0x07cf, + 0x9d8: 0x07d7, 0x9d9: 0x0737, 0x9da: 0x07df, 0x9db: 0x07e3, 0x9dc: 0x1831, 0x9dd: 0x07ff, + 0x9de: 0x0807, 0x9df: 0x05bf, 0x9e0: 0x081f, 0x9e1: 0x0823, 0x9e2: 0x082b, 0x9e3: 0x082f, + 0x9e4: 0x05c3, 0x9e5: 0x0847, 0x9e6: 0x084b, 0x9e7: 0x0857, 0x9e8: 0x0863, 0x9e9: 0x0867, + 0x9ea: 0x086b, 0x9eb: 0x0873, 0x9ec: 0x0893, 0x9ed: 0x0897, 0x9ee: 0x089f, 0x9ef: 0x08af, + 0x9f0: 0x08b7, 0x9f1: 0x08bb, 0x9f2: 0x08bb, 0x9f3: 0x08bb, 0x9f4: 0x166a, 0x9f5: 0x0e93, + 0x9f6: 0x08cf, 0x9f7: 0x08d7, 0x9f8: 0x166f, 0x9f9: 0x08e3, 0x9fa: 0x08eb, 0x9fb: 0x08f3, + 0x9fc: 0x091b, 0x9fd: 0x0907, 0x9fe: 0x0913, 0x9ff: 0x0917, + // Block 0x28, offset 0xa00 + 0xa00: 0x091f, 0xa01: 0x0927, 0xa02: 0x092b, 0xa03: 0x0933, 0xa04: 0x093b, 0xa05: 0x093f, + 0xa06: 0x093f, 0xa07: 0x0947, 0xa08: 0x094f, 0xa09: 0x0953, 0xa0a: 0x095f, 0xa0b: 0x0983, + 0xa0c: 0x0967, 0xa0d: 0x0987, 0xa0e: 0x096b, 0xa0f: 0x0973, 0xa10: 0x080b, 0xa11: 0x09cf, + 0xa12: 0x0997, 0xa13: 0x099b, 0xa14: 0x099f, 0xa15: 0x0993, 0xa16: 0x09a7, 0xa17: 0x09a3, + 0xa18: 0x09bb, 0xa19: 0x1674, 0xa1a: 0x09d7, 0xa1b: 0x09db, 0xa1c: 0x09e3, 0xa1d: 0x09ef, + 0xa1e: 0x09f7, 0xa1f: 0x0a13, 0xa20: 0x1679, 0xa21: 0x167e, 0xa22: 0x0a1f, 0xa23: 0x0a23, + 0xa24: 0x0a27, 0xa25: 0x0a1b, 0xa26: 0x0a2f, 0xa27: 0x05c7, 0xa28: 0x05cb, 0xa29: 0x0a37, + 0xa2a: 0x0a3f, 0xa2b: 0x0a3f, 0xa2c: 0x1683, 0xa2d: 0x0a5b, 0xa2e: 0x0a5f, 0xa2f: 0x0a63, + 0xa30: 0x0a6b, 0xa31: 0x1688, 0xa32: 0x0a73, 0xa33: 0x0a77, 0xa34: 0x0b4f, 0xa35: 0x0a7f, + 0xa36: 0x05cf, 0xa37: 0x0a8b, 0xa38: 0x0a9b, 0xa39: 0x0aa7, 0xa3a: 0x0aa3, 0xa3b: 0x1692, + 0xa3c: 0x0aaf, 0xa3d: 0x1697, 0xa3e: 0x0abb, 0xa3f: 0x0ab7, + // Block 0x29, offset 0xa40 + 0xa40: 0x0abf, 0xa41: 0x0acf, 0xa42: 0x0ad3, 0xa43: 0x05d3, 0xa44: 0x0ae3, 0xa45: 0x0aeb, + 0xa46: 0x0aef, 0xa47: 0x0af3, 0xa48: 0x05d7, 0xa49: 0x169c, 0xa4a: 0x05db, 0xa4b: 0x0b0f, + 0xa4c: 0x0b13, 0xa4d: 0x0b17, 0xa4e: 0x0b1f, 0xa4f: 0x1863, 0xa50: 0x0b37, 0xa51: 0x16a6, + 0xa52: 0x16a6, 0xa53: 0x11d7, 0xa54: 0x0b47, 0xa55: 0x0b47, 0xa56: 0x05df, 0xa57: 0x16c9, + 0xa58: 0x179b, 0xa59: 0x0b57, 0xa5a: 0x0b5f, 0xa5b: 0x05e3, 0xa5c: 0x0b73, 0xa5d: 0x0b83, + 0xa5e: 0x0b87, 0xa5f: 0x0b8f, 0xa60: 0x0b9f, 0xa61: 0x05eb, 0xa62: 0x05e7, 0xa63: 0x0ba3, + 0xa64: 0x16ab, 0xa65: 0x0ba7, 0xa66: 0x0bbb, 0xa67: 0x0bbf, 0xa68: 0x0bc3, 0xa69: 0x0bbf, + 0xa6a: 0x0bcf, 0xa6b: 0x0bd3, 0xa6c: 0x0be3, 0xa6d: 0x0bdb, 0xa6e: 0x0bdf, 0xa6f: 0x0be7, + 0xa70: 0x0beb, 0xa71: 0x0bef, 0xa72: 0x0bfb, 0xa73: 0x0bff, 0xa74: 0x0c17, 0xa75: 0x0c1f, + 0xa76: 0x0c2f, 0xa77: 0x0c43, 0xa78: 0x16ba, 0xa79: 0x0c3f, 0xa7a: 0x0c33, 0xa7b: 0x0c4b, + 0xa7c: 0x0c53, 0xa7d: 0x0c67, 0xa7e: 0x16bf, 0xa7f: 0x0c6f, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0c63, 0xa81: 0x0c5b, 0xa82: 0x05ef, 0xa83: 0x0c77, 0xa84: 0x0c7f, 0xa85: 0x0c87, + 0xa86: 0x0c7b, 0xa87: 0x05f3, 0xa88: 0x0c97, 0xa89: 0x0c9f, 0xa8a: 0x16c4, 0xa8b: 0x0ccb, + 0xa8c: 0x0cff, 0xa8d: 0x0cdb, 0xa8e: 0x05ff, 0xa8f: 0x0ce7, 0xa90: 0x05fb, 0xa91: 0x05f7, + 0xa92: 0x07c3, 0xa93: 0x07c7, 0xa94: 0x0d03, 0xa95: 0x0ceb, 0xa96: 0x11ab, 0xa97: 0x0663, + 0xa98: 0x0d0f, 0xa99: 0x0d13, 0xa9a: 0x0d17, 0xa9b: 0x0d2b, 0xa9c: 0x0d23, 0xa9d: 0x16dd, + 0xa9e: 0x0603, 0xa9f: 0x0d3f, 0xaa0: 0x0d33, 0xaa1: 0x0d4f, 0xaa2: 0x0d57, 0xaa3: 0x16e7, + 0xaa4: 0x0d5b, 0xaa5: 0x0d47, 0xaa6: 0x0d63, 0xaa7: 0x0607, 0xaa8: 0x0d67, 0xaa9: 0x0d6b, + 0xaaa: 0x0d6f, 0xaab: 0x0d7b, 0xaac: 0x16ec, 0xaad: 0x0d83, 0xaae: 0x060b, 0xaaf: 0x0d8f, + 0xab0: 0x16f1, 0xab1: 0x0d93, 0xab2: 0x060f, 0xab3: 0x0d9f, 0xab4: 0x0dab, 0xab5: 0x0db7, + 0xab6: 0x0dbb, 0xab7: 0x16f6, 0xab8: 0x168d, 0xab9: 0x16fb, 0xaba: 0x0ddb, 0xabb: 0x1700, + 0xabc: 0x0de7, 0xabd: 0x0def, 0xabe: 0x0ddf, 0xabf: 0x0dfb, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0e0b, 0xac1: 0x0e1b, 0xac2: 0x0e0f, 0xac3: 0x0e13, 0xac4: 0x0e1f, 0xac5: 0x0e23, + 0xac6: 0x1705, 0xac7: 0x0e07, 0xac8: 0x0e3b, 0xac9: 0x0e3f, 0xaca: 0x0613, 0xacb: 0x0e53, + 0xacc: 0x0e4f, 0xacd: 0x170a, 0xace: 0x0e33, 0xacf: 0x0e6f, 0xad0: 0x170f, 0xad1: 0x1714, + 0xad2: 0x0e73, 0xad3: 0x0e87, 0xad4: 0x0e83, 0xad5: 0x0e7f, 0xad6: 0x0617, 0xad7: 0x0e8b, + 0xad8: 0x0e9b, 0xad9: 0x0e97, 0xada: 0x0ea3, 0xadb: 0x1651, 0xadc: 0x0eb3, 0xadd: 0x1719, + 0xade: 0x0ebf, 0xadf: 0x1723, 0xae0: 0x0ed3, 0xae1: 0x0edf, 0xae2: 0x0ef3, 0xae3: 0x1728, + 0xae4: 0x0f07, 0xae5: 0x0f0b, 0xae6: 0x172d, 0xae7: 0x1732, 0xae8: 0x0f27, 0xae9: 0x0f37, + 0xaea: 0x061b, 0xaeb: 0x0f3b, 0xaec: 0x061f, 0xaed: 0x061f, 0xaee: 0x0f53, 0xaef: 0x0f57, + 0xaf0: 0x0f5f, 0xaf1: 0x0f63, 0xaf2: 0x0f6f, 0xaf3: 0x0623, 0xaf4: 0x0f87, 0xaf5: 0x1737, + 0xaf6: 0x0fa3, 0xaf7: 0x173c, 0xaf8: 0x0faf, 0xaf9: 0x16a1, 0xafa: 0x0fbf, 0xafb: 0x1741, + 0xafc: 0x1746, 0xafd: 0x174b, 0xafe: 0x0627, 0xaff: 0x062b, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0ff7, 0xb01: 0x1755, 0xb02: 0x1750, 0xb03: 0x175a, 0xb04: 0x175f, 0xb05: 0x0fff, + 0xb06: 0x1003, 0xb07: 0x1003, 0xb08: 0x100b, 0xb09: 0x0633, 0xb0a: 0x100f, 0xb0b: 0x0637, + 0xb0c: 0x063b, 0xb0d: 0x1769, 0xb0e: 0x1023, 0xb0f: 0x102b, 0xb10: 0x1037, 0xb11: 0x063f, + 0xb12: 0x176e, 0xb13: 0x105b, 0xb14: 0x1773, 0xb15: 0x1778, 0xb16: 0x107b, 0xb17: 0x1093, + 0xb18: 0x0643, 0xb19: 0x109b, 0xb1a: 0x109f, 0xb1b: 0x10a3, 0xb1c: 0x177d, 0xb1d: 0x1782, + 0xb1e: 0x1782, 0xb1f: 0x10bb, 0xb20: 0x0647, 0xb21: 0x1787, 0xb22: 0x10cf, 0xb23: 0x10d3, + 0xb24: 0x064b, 0xb25: 0x178c, 0xb26: 0x10ef, 0xb27: 0x064f, 0xb28: 0x10ff, 0xb29: 0x10f7, + 0xb2a: 0x1107, 0xb2b: 0x1796, 0xb2c: 0x111f, 0xb2d: 0x0653, 0xb2e: 0x112b, 0xb2f: 0x1133, + 0xb30: 0x1143, 0xb31: 0x0657, 0xb32: 0x17a0, 0xb33: 0x17a5, 0xb34: 0x065b, 0xb35: 0x17aa, + 0xb36: 0x115b, 0xb37: 0x17af, 0xb38: 0x1167, 0xb39: 0x1173, 0xb3a: 0x117b, 0xb3b: 0x17b4, + 0xb3c: 0x17b9, 0xb3d: 0x118f, 0xb3e: 0x17be, 0xb3f: 0x1197, + // Block 0x2d, offset 0xb40 + 0xb40: 0x16ce, 0xb41: 0x065f, 0xb42: 0x11af, 0xb43: 0x11b3, 0xb44: 0x0667, 0xb45: 0x11b7, + 0xb46: 0x0a33, 0xb47: 0x17c3, 0xb48: 0x17c8, 0xb49: 0x16d3, 0xb4a: 0x16d8, 0xb4b: 0x11d7, + 0xb4c: 0x11db, 0xb4d: 0x13f3, 0xb4e: 0x066b, 0xb4f: 0x1207, 0xb50: 0x1203, 0xb51: 0x120b, + 0xb52: 0x083f, 0xb53: 0x120f, 0xb54: 0x1213, 0xb55: 0x1217, 0xb56: 0x121f, 0xb57: 0x17cd, + 0xb58: 0x121b, 0xb59: 0x1223, 0xb5a: 0x1237, 0xb5b: 0x123b, 0xb5c: 0x1227, 0xb5d: 0x123f, + 0xb5e: 0x1253, 0xb5f: 0x1267, 0xb60: 0x1233, 0xb61: 0x1247, 0xb62: 0x124b, 0xb63: 0x124f, + 0xb64: 0x17d2, 0xb65: 0x17dc, 0xb66: 0x17d7, 0xb67: 0x066f, 0xb68: 0x126f, 0xb69: 0x1273, + 0xb6a: 0x127b, 0xb6b: 0x17f0, 0xb6c: 0x127f, 0xb6d: 0x17e1, 0xb6e: 0x0673, 0xb6f: 0x0677, + 0xb70: 0x17e6, 0xb71: 0x17eb, 0xb72: 0x067b, 0xb73: 0x129f, 0xb74: 0x12a3, 0xb75: 0x12a7, + 0xb76: 0x12ab, 0xb77: 0x12b7, 0xb78: 0x12b3, 0xb79: 0x12bf, 0xb7a: 0x12bb, 0xb7b: 0x12cb, + 0xb7c: 0x12c3, 0xb7d: 0x12c7, 0xb7e: 0x12cf, 0xb7f: 0x067f, + // Block 0x2e, offset 0xb80 + 0xb80: 0x12d7, 0xb81: 0x12db, 0xb82: 0x0683, 0xb83: 0x12eb, 0xb84: 0x12ef, 0xb85: 0x17f5, + 0xb86: 0x12fb, 0xb87: 0x12ff, 0xb88: 0x0687, 0xb89: 0x130b, 0xb8a: 0x05bb, 0xb8b: 0x17fa, + 0xb8c: 0x17ff, 0xb8d: 0x068b, 0xb8e: 0x068f, 0xb8f: 0x1337, 0xb90: 0x134f, 0xb91: 0x136b, + 0xb92: 0x137b, 0xb93: 0x1804, 0xb94: 0x138f, 0xb95: 0x1393, 0xb96: 0x13ab, 0xb97: 0x13b7, + 0xb98: 0x180e, 0xb99: 0x1660, 0xb9a: 0x13c3, 0xb9b: 0x13bf, 0xb9c: 0x13cb, 0xb9d: 0x1665, + 0xb9e: 0x13d7, 0xb9f: 0x13e3, 0xba0: 0x1813, 0xba1: 0x1818, 0xba2: 0x1423, 0xba3: 0x142f, + 0xba4: 0x1437, 0xba5: 0x181d, 0xba6: 0x143b, 0xba7: 0x1467, 0xba8: 0x1473, 0xba9: 0x1477, + 0xbaa: 0x146f, 0xbab: 0x1483, 0xbac: 0x1487, 0xbad: 0x1822, 0xbae: 0x1493, 0xbaf: 0x0693, + 0xbb0: 0x149b, 0xbb1: 0x1827, 0xbb2: 0x0697, 0xbb3: 0x14d3, 0xbb4: 0x0ac3, 0xbb5: 0x14eb, + 0xbb6: 0x182c, 0xbb7: 0x1836, 0xbb8: 0x069b, 0xbb9: 0x069f, 0xbba: 0x1513, 0xbbb: 0x183b, + 0xbbc: 0x06a3, 0xbbd: 0x1840, 0xbbe: 0x152b, 0xbbf: 0x152b, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x1533, 0xbc1: 0x1845, 0xbc2: 0x154b, 0xbc3: 0x06a7, 0xbc4: 0x155b, 0xbc5: 0x1567, + 0xbc6: 0x156f, 0xbc7: 0x1577, 0xbc8: 0x06ab, 0xbc9: 0x184a, 0xbca: 0x158b, 0xbcb: 0x15a7, + 0xbcc: 0x15b3, 0xbcd: 0x06af, 0xbce: 0x06b3, 0xbcf: 0x15b7, 0xbd0: 0x184f, 0xbd1: 0x06b7, + 0xbd2: 0x1854, 0xbd3: 0x1859, 0xbd4: 0x185e, 0xbd5: 0x15db, 0xbd6: 0x06bb, 0xbd7: 0x15ef, + 0xbd8: 0x15f7, 0xbd9: 0x15fb, 0xbda: 0x1603, 0xbdb: 0x160b, 0xbdc: 0x1613, 0xbdd: 0x1868, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2e, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2f, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x30, 0xcb: 0x31, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x32, + 0xd0: 0x09, 0xd1: 0x33, 0xd2: 0x34, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x35, + 0xd8: 0x36, 0xd9: 0x0c, 0xdb: 0x37, 0xdc: 0x38, 0xdd: 0x39, 0xdf: 0x3a, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x3b, 0x121: 0x3c, 0x123: 0x0d, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, + 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, + 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, + 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, + // Block 0x5, offset 0x140 + 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, + 0x14d: 0x5c, + 0x15c: 0x5d, 0x15f: 0x5e, + 0x162: 0x5f, 0x164: 0x60, + 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0e, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, + 0x170: 0x67, 0x173: 0x68, 0x177: 0x0f, + 0x178: 0x10, 0x179: 0x11, 0x17a: 0x12, 0x17b: 0x13, 0x17c: 0x14, 0x17d: 0x15, 0x17e: 0x16, 0x17f: 0x17, + // Block 0x6, offset 0x180 + 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, + 0x188: 0x6e, 0x189: 0x18, 0x18a: 0x19, 0x18b: 0x6f, 0x18c: 0x70, + 0x1ab: 0x71, + 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x75, 0x1c1: 0x1a, 0x1c2: 0x1b, 0x1c3: 0x1c, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, + // Block 0x8, offset 0x200 + 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, + 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, + 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, + 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, + 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, + // Block 0x9, offset 0x240 + 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, + 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, + 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, + 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, + 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, + 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, + 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, + // Block 0xa, offset 0x280 + 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, + 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, + 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, + 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, + 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, + 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, + 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, + 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, + 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, + 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, + 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, + // Block 0xc, offset 0x300 + 0x324: 0x1d, 0x325: 0x1e, 0x326: 0x1f, 0x327: 0x20, + 0x328: 0x21, 0x329: 0x22, 0x32a: 0x23, 0x32b: 0x24, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, + 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, + // Block 0xd, offset 0x340 + 0x347: 0x9c, + 0x34b: 0x9d, 0x34d: 0x9e, + 0x368: 0x9f, 0x36b: 0xa0, + 0x374: 0xa1, + 0x37d: 0xa2, + // Block 0xe, offset 0x380 + 0x381: 0xa3, 0x382: 0xa4, 0x384: 0xa5, 0x385: 0x82, 0x387: 0xa6, + 0x388: 0xa7, 0x38b: 0xa8, 0x38c: 0xa9, 0x38d: 0xaa, + 0x391: 0xab, 0x392: 0xac, 0x393: 0xad, 0x396: 0xae, 0x397: 0xaf, + 0x398: 0x73, 0x39a: 0xb0, 0x39c: 0xb1, + 0x3a0: 0xb2, + 0x3a8: 0xb3, 0x3a9: 0xb4, 0x3aa: 0xb5, + 0x3b0: 0x73, 0x3b5: 0xb6, 0x3b6: 0xb7, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xb8, 0x3ec: 0xb9, + // Block 0x10, offset 0x400 + 0x432: 0xba, + // Block 0x11, offset 0x440 + 0x445: 0xbb, 0x446: 0xbc, 0x447: 0xbd, + 0x449: 0xbe, + // Block 0x12, offset 0x480 + 0x480: 0xbf, + 0x4a3: 0xc0, 0x4a5: 0xc1, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xc2, + // Block 0x14, offset 0x500 + 0x520: 0x25, 0x521: 0x26, 0x522: 0x27, 0x523: 0x28, 0x524: 0x29, 0x525: 0x2a, 0x526: 0x2b, 0x527: 0x2c, + 0x528: 0x2d, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 149 entries, 298 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x63, 0x68, 0x6a, 0x72, 0x79, 0x7c, 0x84, 0x88, 0x8c, 0x8e, 0x90, 0x99, 0x9d, 0xa4, 0xa9, 0xac, 0xb6, 0xb9, 0xc0, 0xc8, 0xcb, 0xcd, 0xcf, 0xd1, 0xd6, 0xe7, 0xf3, 0xf5, 0xfb, 0xfd, 0xff, 0x101, 0x103, 0x105, 0x107, 0x10a, 0x10d, 0x10f, 0x112, 0x115, 0x119, 0x11e, 0x127, 0x129, 0x12c, 0x12e, 0x139, 0x13d, 0x14b, 0x14e, 0x154, 0x15a, 0x165, 0x169, 0x16b, 0x16d, 0x16f, 0x171, 0x173, 0x179, 0x17d, 0x17f, 0x181, 0x189, 0x18d, 0x190, 0x192, 0x194, 0x196, 0x199, 0x19b, 0x19d, 0x19f, 0x1a1, 0x1a7, 0x1aa, 0x1ac, 0x1b3, 0x1b9, 0x1bf, 0x1c7, 0x1cd, 0x1d3, 0x1d9, 0x1dd, 0x1eb, 0x1f4, 0x1f7, 0x1fa, 0x1fc, 0x1ff, 0x201, 0x205, 0x20a, 0x20c, 0x20e, 0x213, 0x219, 0x21b, 0x21d, 0x21f, 0x225, 0x228, 0x22a, 0x230, 0x233, 0x23b, 0x242, 0x245, 0x248, 0x24a, 0x24d, 0x255, 0x259, 0x260, 0x263, 0x269, 0x26b, 0x26e, 0x270, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x284, 0x291, 0x29b, 0x29d, 0x29f, 0x2a5, 0x2a7, 0x2aa} + +// nfcSparseValues: 684 entries, 2736 bytes +var nfcSparseValues = [684]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4840, lo: 0x8a, hi: 0x8a}, + {value: 0x485e, lo: 0x8b, hi: 0x8b}, + {value: 0x36c7, lo: 0x8c, hi: 0x8c}, + {value: 0x36df, lo: 0x8d, hi: 0x8d}, + {value: 0x4876, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x36fd, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0xd, offset 0x63 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x68 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x6a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x72 + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x79 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x7c + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x84 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0x88 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0x8c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0x8e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0x90 + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0x99 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0x9d + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xa4 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xa9 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xac + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xc0 + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xc8 + {value: 0x0000, lo: 0x02}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xcb + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xcd + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x23, offset 0xcf + {value: 0x0000, lo: 0x01}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + // Block 0x24, offset 0xd1 + {value: 0x0000, lo: 0x04}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xd6 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0xe7 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0xf3 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0xf5 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0xfb + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0xfd + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0xff + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x101 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x103 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x105 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x107 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x10a + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x10d + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x10f + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x112 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x115 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x119 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x36, offset 0x11e + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x37, offset 0x127 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x38, offset 0x129 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x39, offset 0x12c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3a, offset 0x12e + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3b, offset 0x139 + {value: 0x0004, lo: 0x03}, + {value: 0x0433, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3c, offset 0x13d + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x3d, offset 0x14b + {value: 0x427b, lo: 0x02}, + {value: 0x01b8, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x3e, offset 0x14e + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x3f, offset 0x154 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x40, offset 0x15a + {value: 0x6408, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x41, offset 0x165 + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x42, offset 0x169 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x43, offset 0x16b + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x44, offset 0x16d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x45, offset 0x16f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x46, offset 0x171 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x47, offset 0x173 + {value: 0x0000, lo: 0x05}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xaf}, + // Block 0x48, offset 0x179 + {value: 0x0000, lo: 0x03}, + {value: 0x4a9f, lo: 0xb3, hi: 0xb3}, + {value: 0x4a9f, lo: 0xb5, hi: 0xb6}, + {value: 0x4a9f, lo: 0xba, hi: 0xbf}, + // Block 0x49, offset 0x17d + {value: 0x0000, lo: 0x01}, + {value: 0x4a9f, lo: 0x8f, hi: 0xa3}, + // Block 0x4a, offset 0x17f + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4b, offset 0x181 + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4c, offset 0x189 + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4d, offset 0x18d + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x4e, offset 0x190 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x4f, offset 0x192 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x50, offset 0x194 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x51, offset 0x196 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x52, offset 0x199 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x53, offset 0x19b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x54, offset 0x19d + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x55, offset 0x19f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x56, offset 0x1a1 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x57, offset 0x1a7 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x58, offset 0x1aa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x59, offset 0x1ac + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5a, offset 0x1b3 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5b, offset 0x1b9 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5c, offset 0x1bf + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5d, offset 0x1c7 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x5e, offset 0x1cd + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x5f, offset 0x1d3 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x60, offset 0x1d9 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x61, offset 0x1dd + {value: 0x0006, lo: 0x0d}, + {value: 0x4390, lo: 0x9d, hi: 0x9d}, + {value: 0x8115, lo: 0x9e, hi: 0x9e}, + {value: 0x4402, lo: 0x9f, hi: 0x9f}, + {value: 0x43f0, lo: 0xaa, hi: 0xab}, + {value: 0x44f4, lo: 0xac, hi: 0xac}, + {value: 0x44fc, lo: 0xad, hi: 0xad}, + {value: 0x4348, lo: 0xae, hi: 0xb1}, + {value: 0x4366, lo: 0xb2, hi: 0xb4}, + {value: 0x437e, lo: 0xb5, hi: 0xb6}, + {value: 0x438a, lo: 0xb8, hi: 0xb8}, + {value: 0x4396, lo: 0xb9, hi: 0xbb}, + {value: 0x43ae, lo: 0xbc, hi: 0xbc}, + {value: 0x43b4, lo: 0xbe, hi: 0xbe}, + // Block 0x62, offset 0x1eb + {value: 0x0006, lo: 0x08}, + {value: 0x43ba, lo: 0x80, hi: 0x81}, + {value: 0x43c6, lo: 0x83, hi: 0x84}, + {value: 0x43d8, lo: 0x86, hi: 0x89}, + {value: 0x43fc, lo: 0x8a, hi: 0x8a}, + {value: 0x4378, lo: 0x8b, hi: 0x8b}, + {value: 0x4360, lo: 0x8c, hi: 0x8c}, + {value: 0x43a8, lo: 0x8d, hi: 0x8d}, + {value: 0x43d2, lo: 0x8e, hi: 0x8e}, + // Block 0x63, offset 0x1f4 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x64, offset 0x1f7 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x65, offset 0x1fa + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x66, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x67, offset 0x1ff + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x68, offset 0x201 + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xa0, hi: 0xa6}, + {value: 0x812d, lo: 0xa7, hi: 0xad}, + {value: 0x8132, lo: 0xae, hi: 0xaf}, + // Block 0x69, offset 0x205 + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6a, offset 0x20a + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6b, offset 0x20c + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6c, offset 0x20e + {value: 0x0000, lo: 0x04}, + {value: 0x4a9f, lo: 0x9e, hi: 0x9f}, + {value: 0x4a9f, lo: 0xa3, hi: 0xa3}, + {value: 0x4a9f, lo: 0xa5, hi: 0xa6}, + {value: 0x4a9f, lo: 0xaa, hi: 0xaf}, + // Block 0x6d, offset 0x213 + {value: 0x0000, lo: 0x05}, + {value: 0x4a9f, lo: 0x82, hi: 0x87}, + {value: 0x4a9f, lo: 0x8a, hi: 0x8f}, + {value: 0x4a9f, lo: 0x92, hi: 0x97}, + {value: 0x4a9f, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x6e, offset 0x219 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6f, offset 0x21b + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x70, offset 0x21d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x71, offset 0x21f + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x225 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x73, offset 0x228 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa4, hi: 0xa7}, + // Block 0x74, offset 0x22a + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x8132, lo: 0x88, hi: 0x8a}, + {value: 0x812d, lo: 0x8b, hi: 0x8b}, + {value: 0x8132, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x8d, hi: 0x90}, + // Block 0x75, offset 0x230 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x233 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x77, offset 0x23b + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x78, offset 0x242 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x79, offset 0x245 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x7a, offset 0x248 + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x7b, offset 0x24a + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x7c, offset 0x24d + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x7d, offset 0x255 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + {value: 0x8132, lo: 0x9e, hi: 0x9e}, + // Block 0x7e, offset 0x259 + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7f, offset 0x260 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x80, offset 0x263 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x81, offset 0x269 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x82, offset 0x26b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x83, offset 0x26e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x84, offset 0x270 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb9, hi: 0xb9}, + {value: 0x8102, lo: 0xba, hi: 0xba}, + // Block 0x85, offset 0x273 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x86, offset 0x275 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x87, offset 0x277 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x88, offset 0x279 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x89, offset 0x27c + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x97, hi: 0x97}, + // Block 0x8a, offset 0x27e + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x8b, offset 0x280 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x8c, offset 0x282 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x8d, offset 0x284 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8e, offset 0x291 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x8f, offset 0x29b + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x90, offset 0x29d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x91, offset 0x29f + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x92, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x93, offset 0x2a7 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x94, offset 0x2aa + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 17248 bytes (16.84 KiB). Checksum: 4fb368372b6b1b27. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 92: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 92 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 94 blocks, 6016 entries, 12032 bytes +// The third block is the zero block. +var nfkcValues = [6016]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac, + // Block 0x5, offset 0x140 + 0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2dee, 0x185: 0x2df4, + 0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a, + 0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x42a5, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x425a, 0x285: 0x447b, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e, + 0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0, + 0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8, + 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, + 0x2f9: 0x01a6, + // Block 0xc, offset 0x300 + 0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b, + 0x306: 0xa000, 0x307: 0x3709, + 0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x3733, 0x342: 0x37b7, + 0x350: 0x370f, 0x351: 0x3793, + 0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd, + 0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf, + 0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed, + 0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805, + 0x378: 0x3787, 0x379: 0x380b, + // Block 0xe, offset 0x380 + 0x387: 0x1d61, + 0x391: 0x812d, + 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, + 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, + 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, + 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, + 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, + 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, + 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, + 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x812d, + 0x3f0: 0x811e, 0x3f5: 0x1d84, + 0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a, + // Block 0x10, offset 0x400 + 0x413: 0x812d, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, + 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, + 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x423: 0x812d, + 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x812d, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x812d, + 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x812d, 0x42e: 0x812d, 0x42f: 0x812d, + 0x430: 0x8116, 0x431: 0x8117, 0x432: 0x8118, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, + 0x436: 0x812d, 0x437: 0x8132, 0x438: 0x8132, 0x439: 0x812d, 0x43a: 0x812d, 0x43b: 0x8132, + 0x43c: 0x8132, 0x43d: 0x8132, 0x43e: 0x8132, 0x43f: 0x8132, + // Block 0x11, offset 0x440 + 0x445: 0xa000, + 0x446: 0x2d26, 0x447: 0xa000, 0x448: 0x2d2e, 0x449: 0xa000, 0x44a: 0x2d36, 0x44b: 0xa000, + 0x44c: 0x2d3e, 0x44d: 0xa000, 0x44e: 0x2d46, 0x451: 0xa000, + 0x452: 0x2d4e, + 0x474: 0x8102, 0x475: 0x9900, + 0x47a: 0xa000, 0x47b: 0x2d56, + 0x47c: 0xa000, 0x47d: 0x2d5e, 0x47e: 0xa000, 0x47f: 0xa000, + // Block 0x12, offset 0x480 + 0x480: 0x0069, 0x481: 0x006b, 0x482: 0x006f, 0x483: 0x0083, 0x484: 0x00f5, 0x485: 0x00f8, + 0x486: 0x0413, 0x487: 0x0085, 0x488: 0x0089, 0x489: 0x008b, 0x48a: 0x0104, 0x48b: 0x0107, + 0x48c: 0x010a, 0x48d: 0x008f, 0x48f: 0x0097, 0x490: 0x009b, 0x491: 0x00e0, + 0x492: 0x009f, 0x493: 0x00fe, 0x494: 0x0417, 0x495: 0x041b, 0x496: 0x00a1, 0x497: 0x00a9, + 0x498: 0x00ab, 0x499: 0x0423, 0x49a: 0x012b, 0x49b: 0x00ad, 0x49c: 0x0427, 0x49d: 0x01be, + 0x49e: 0x01c1, 0x49f: 0x01c4, 0x4a0: 0x01fa, 0x4a1: 0x01fd, 0x4a2: 0x0093, 0x4a3: 0x00a5, + 0x4a4: 0x00ab, 0x4a5: 0x00ad, 0x4a6: 0x01be, 0x4a7: 0x01c1, 0x4a8: 0x01eb, 0x4a9: 0x01fa, + 0x4aa: 0x01fd, + 0x4b8: 0x020c, + // Block 0x13, offset 0x4c0 + 0x4db: 0x00fb, 0x4dc: 0x0087, 0x4dd: 0x0101, + 0x4de: 0x00d4, 0x4df: 0x010a, 0x4e0: 0x008d, 0x4e1: 0x010d, 0x4e2: 0x0110, 0x4e3: 0x0116, + 0x4e4: 0x011c, 0x4e5: 0x011f, 0x4e6: 0x0122, 0x4e7: 0x042b, 0x4e8: 0x016a, 0x4e9: 0x0128, + 0x4ea: 0x042f, 0x4eb: 0x016d, 0x4ec: 0x0131, 0x4ed: 0x012e, 0x4ee: 0x0134, 0x4ef: 0x0137, + 0x4f0: 0x013a, 0x4f1: 0x013d, 0x4f2: 0x0140, 0x4f3: 0x014c, 0x4f4: 0x014f, 0x4f5: 0x00ec, + 0x4f6: 0x0152, 0x4f7: 0x0155, 0x4f8: 0x041f, 0x4f9: 0x0158, 0x4fa: 0x015b, 0x4fb: 0x00b5, + 0x4fc: 0x015e, 0x4fd: 0x0161, 0x4fe: 0x0164, 0x4ff: 0x01d0, + // Block 0x14, offset 0x500 + 0x500: 0x8132, 0x501: 0x8132, 0x502: 0x812d, 0x503: 0x8132, 0x504: 0x8132, 0x505: 0x8132, + 0x506: 0x8132, 0x507: 0x8132, 0x508: 0x8132, 0x509: 0x8132, 0x50a: 0x812d, 0x50b: 0x8132, + 0x50c: 0x8132, 0x50d: 0x8135, 0x50e: 0x812a, 0x50f: 0x812d, 0x510: 0x8129, 0x511: 0x8132, + 0x512: 0x8132, 0x513: 0x8132, 0x514: 0x8132, 0x515: 0x8132, 0x516: 0x8132, 0x517: 0x8132, + 0x518: 0x8132, 0x519: 0x8132, 0x51a: 0x8132, 0x51b: 0x8132, 0x51c: 0x8132, 0x51d: 0x8132, + 0x51e: 0x8132, 0x51f: 0x8132, 0x520: 0x8132, 0x521: 0x8132, 0x522: 0x8132, 0x523: 0x8132, + 0x524: 0x8132, 0x525: 0x8132, 0x526: 0x8132, 0x527: 0x8132, 0x528: 0x8132, 0x529: 0x8132, + 0x52a: 0x8132, 0x52b: 0x8132, 0x52c: 0x8132, 0x52d: 0x8132, 0x52e: 0x8132, 0x52f: 0x8132, + 0x530: 0x8132, 0x531: 0x8132, 0x532: 0x8132, 0x533: 0x8132, 0x534: 0x8132, 0x535: 0x8132, + 0x536: 0x8133, 0x537: 0x8131, 0x538: 0x8131, 0x539: 0x812d, 0x53b: 0x8132, + 0x53c: 0x8134, 0x53d: 0x812d, 0x53e: 0x8132, 0x53f: 0x812d, + // Block 0x15, offset 0x540 + 0x540: 0x2f97, 0x541: 0x32a3, 0x542: 0x2fa1, 0x543: 0x32ad, 0x544: 0x2fa6, 0x545: 0x32b2, + 0x546: 0x2fab, 0x547: 0x32b7, 0x548: 0x38cc, 0x549: 0x3a5b, 0x54a: 0x2fc4, 0x54b: 0x32d0, + 0x54c: 0x2fce, 0x54d: 0x32da, 0x54e: 0x2fdd, 0x54f: 0x32e9, 0x550: 0x2fd3, 0x551: 0x32df, + 0x552: 0x2fd8, 0x553: 0x32e4, 0x554: 0x38ef, 0x555: 0x3a7e, 0x556: 0x38f6, 0x557: 0x3a85, + 0x558: 0x3019, 0x559: 0x3325, 0x55a: 0x301e, 0x55b: 0x332a, 0x55c: 0x3904, 0x55d: 0x3a93, + 0x55e: 0x3023, 0x55f: 0x332f, 0x560: 0x3032, 0x561: 0x333e, 0x562: 0x3050, 0x563: 0x335c, + 0x564: 0x305f, 0x565: 0x336b, 0x566: 0x3055, 0x567: 0x3361, 0x568: 0x3064, 0x569: 0x3370, + 0x56a: 0x3069, 0x56b: 0x3375, 0x56c: 0x30af, 0x56d: 0x33bb, 0x56e: 0x390b, 0x56f: 0x3a9a, + 0x570: 0x30b9, 0x571: 0x33ca, 0x572: 0x30c3, 0x573: 0x33d4, 0x574: 0x30cd, 0x575: 0x33de, + 0x576: 0x46c4, 0x577: 0x4755, 0x578: 0x3912, 0x579: 0x3aa1, 0x57a: 0x30e6, 0x57b: 0x33f7, + 0x57c: 0x30e1, 0x57d: 0x33f2, 0x57e: 0x30eb, 0x57f: 0x33fc, + // Block 0x16, offset 0x580 + 0x580: 0x30f0, 0x581: 0x3401, 0x582: 0x30f5, 0x583: 0x3406, 0x584: 0x3109, 0x585: 0x341a, + 0x586: 0x3113, 0x587: 0x3424, 0x588: 0x3122, 0x589: 0x3433, 0x58a: 0x311d, 0x58b: 0x342e, + 0x58c: 0x3935, 0x58d: 0x3ac4, 0x58e: 0x3943, 0x58f: 0x3ad2, 0x590: 0x394a, 0x591: 0x3ad9, + 0x592: 0x3951, 0x593: 0x3ae0, 0x594: 0x314f, 0x595: 0x3460, 0x596: 0x3154, 0x597: 0x3465, + 0x598: 0x315e, 0x599: 0x346f, 0x59a: 0x46f1, 0x59b: 0x4782, 0x59c: 0x3997, 0x59d: 0x3b26, + 0x59e: 0x3177, 0x59f: 0x3488, 0x5a0: 0x3181, 0x5a1: 0x3492, 0x5a2: 0x4700, 0x5a3: 0x4791, + 0x5a4: 0x399e, 0x5a5: 0x3b2d, 0x5a6: 0x39a5, 0x5a7: 0x3b34, 0x5a8: 0x39ac, 0x5a9: 0x3b3b, + 0x5aa: 0x3190, 0x5ab: 0x34a1, 0x5ac: 0x319a, 0x5ad: 0x34b0, 0x5ae: 0x31ae, 0x5af: 0x34c4, + 0x5b0: 0x31a9, 0x5b1: 0x34bf, 0x5b2: 0x31ea, 0x5b3: 0x3500, 0x5b4: 0x31f9, 0x5b5: 0x350f, + 0x5b6: 0x31f4, 0x5b7: 0x350a, 0x5b8: 0x39b3, 0x5b9: 0x3b42, 0x5ba: 0x39ba, 0x5bb: 0x3b49, + 0x5bc: 0x31fe, 0x5bd: 0x3514, 0x5be: 0x3203, 0x5bf: 0x3519, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x3208, 0x5c1: 0x351e, 0x5c2: 0x320d, 0x5c3: 0x3523, 0x5c4: 0x321c, 0x5c5: 0x3532, + 0x5c6: 0x3217, 0x5c7: 0x352d, 0x5c8: 0x3221, 0x5c9: 0x353c, 0x5ca: 0x3226, 0x5cb: 0x3541, + 0x5cc: 0x322b, 0x5cd: 0x3546, 0x5ce: 0x3249, 0x5cf: 0x3564, 0x5d0: 0x3262, 0x5d1: 0x3582, + 0x5d2: 0x3271, 0x5d3: 0x3591, 0x5d4: 0x3276, 0x5d5: 0x3596, 0x5d6: 0x337a, 0x5d7: 0x34a6, + 0x5d8: 0x3537, 0x5d9: 0x3573, 0x5da: 0x1be0, 0x5db: 0x42d7, + 0x5e0: 0x46a1, 0x5e1: 0x4732, 0x5e2: 0x2f83, 0x5e3: 0x328f, + 0x5e4: 0x3878, 0x5e5: 0x3a07, 0x5e6: 0x3871, 0x5e7: 0x3a00, 0x5e8: 0x3886, 0x5e9: 0x3a15, + 0x5ea: 0x387f, 0x5eb: 0x3a0e, 0x5ec: 0x38be, 0x5ed: 0x3a4d, 0x5ee: 0x3894, 0x5ef: 0x3a23, + 0x5f0: 0x388d, 0x5f1: 0x3a1c, 0x5f2: 0x38a2, 0x5f3: 0x3a31, 0x5f4: 0x389b, 0x5f5: 0x3a2a, + 0x5f6: 0x38c5, 0x5f7: 0x3a54, 0x5f8: 0x46b5, 0x5f9: 0x4746, 0x5fa: 0x3000, 0x5fb: 0x330c, + 0x5fc: 0x2fec, 0x5fd: 0x32f8, 0x5fe: 0x38da, 0x5ff: 0x3a69, + // Block 0x18, offset 0x600 + 0x600: 0x38d3, 0x601: 0x3a62, 0x602: 0x38e8, 0x603: 0x3a77, 0x604: 0x38e1, 0x605: 0x3a70, + 0x606: 0x38fd, 0x607: 0x3a8c, 0x608: 0x3091, 0x609: 0x339d, 0x60a: 0x30a5, 0x60b: 0x33b1, + 0x60c: 0x46e7, 0x60d: 0x4778, 0x60e: 0x3136, 0x60f: 0x3447, 0x610: 0x3920, 0x611: 0x3aaf, + 0x612: 0x3919, 0x613: 0x3aa8, 0x614: 0x392e, 0x615: 0x3abd, 0x616: 0x3927, 0x617: 0x3ab6, + 0x618: 0x3989, 0x619: 0x3b18, 0x61a: 0x396d, 0x61b: 0x3afc, 0x61c: 0x3966, 0x61d: 0x3af5, + 0x61e: 0x397b, 0x61f: 0x3b0a, 0x620: 0x3974, 0x621: 0x3b03, 0x622: 0x3982, 0x623: 0x3b11, + 0x624: 0x31e5, 0x625: 0x34fb, 0x626: 0x31c7, 0x627: 0x34dd, 0x628: 0x39e4, 0x629: 0x3b73, + 0x62a: 0x39dd, 0x62b: 0x3b6c, 0x62c: 0x39f2, 0x62d: 0x3b81, 0x62e: 0x39eb, 0x62f: 0x3b7a, + 0x630: 0x39f9, 0x631: 0x3b88, 0x632: 0x3230, 0x633: 0x354b, 0x634: 0x3258, 0x635: 0x3578, + 0x636: 0x3253, 0x637: 0x356e, 0x638: 0x323f, 0x639: 0x355a, + // Block 0x19, offset 0x640 + 0x640: 0x4804, 0x641: 0x480a, 0x642: 0x491e, 0x643: 0x4936, 0x644: 0x4926, 0x645: 0x493e, + 0x646: 0x492e, 0x647: 0x4946, 0x648: 0x47aa, 0x649: 0x47b0, 0x64a: 0x488e, 0x64b: 0x48a6, + 0x64c: 0x4896, 0x64d: 0x48ae, 0x64e: 0x489e, 0x64f: 0x48b6, 0x650: 0x4816, 0x651: 0x481c, + 0x652: 0x3db8, 0x653: 0x3dc8, 0x654: 0x3dc0, 0x655: 0x3dd0, + 0x658: 0x47b6, 0x659: 0x47bc, 0x65a: 0x3ce8, 0x65b: 0x3cf8, 0x65c: 0x3cf0, 0x65d: 0x3d00, + 0x660: 0x482e, 0x661: 0x4834, 0x662: 0x494e, 0x663: 0x4966, + 0x664: 0x4956, 0x665: 0x496e, 0x666: 0x495e, 0x667: 0x4976, 0x668: 0x47c2, 0x669: 0x47c8, + 0x66a: 0x48be, 0x66b: 0x48d6, 0x66c: 0x48c6, 0x66d: 0x48de, 0x66e: 0x48ce, 0x66f: 0x48e6, + 0x670: 0x4846, 0x671: 0x484c, 0x672: 0x3e18, 0x673: 0x3e30, 0x674: 0x3e20, 0x675: 0x3e38, + 0x676: 0x3e28, 0x677: 0x3e40, 0x678: 0x47ce, 0x679: 0x47d4, 0x67a: 0x3d18, 0x67b: 0x3d30, + 0x67c: 0x3d20, 0x67d: 0x3d38, 0x67e: 0x3d28, 0x67f: 0x3d40, + // Block 0x1a, offset 0x680 + 0x680: 0x4852, 0x681: 0x4858, 0x682: 0x3e48, 0x683: 0x3e58, 0x684: 0x3e50, 0x685: 0x3e60, + 0x688: 0x47da, 0x689: 0x47e0, 0x68a: 0x3d48, 0x68b: 0x3d58, + 0x68c: 0x3d50, 0x68d: 0x3d60, 0x690: 0x4864, 0x691: 0x486a, + 0x692: 0x3e80, 0x693: 0x3e98, 0x694: 0x3e88, 0x695: 0x3ea0, 0x696: 0x3e90, 0x697: 0x3ea8, + 0x699: 0x47e6, 0x69b: 0x3d68, 0x69d: 0x3d70, + 0x69f: 0x3d78, 0x6a0: 0x487c, 0x6a1: 0x4882, 0x6a2: 0x497e, 0x6a3: 0x4996, + 0x6a4: 0x4986, 0x6a5: 0x499e, 0x6a6: 0x498e, 0x6a7: 0x49a6, 0x6a8: 0x47ec, 0x6a9: 0x47f2, + 0x6aa: 0x48ee, 0x6ab: 0x4906, 0x6ac: 0x48f6, 0x6ad: 0x490e, 0x6ae: 0x48fe, 0x6af: 0x4916, + 0x6b0: 0x47f8, 0x6b1: 0x431e, 0x6b2: 0x3691, 0x6b3: 0x4324, 0x6b4: 0x4822, 0x6b5: 0x432a, + 0x6b6: 0x36a3, 0x6b7: 0x4330, 0x6b8: 0x36c1, 0x6b9: 0x4336, 0x6ba: 0x36d9, 0x6bb: 0x433c, + 0x6bc: 0x4870, 0x6bd: 0x4342, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3da0, 0x6c1: 0x3da8, 0x6c2: 0x4184, 0x6c3: 0x41a2, 0x6c4: 0x418e, 0x6c5: 0x41ac, + 0x6c6: 0x4198, 0x6c7: 0x41b6, 0x6c8: 0x3cd8, 0x6c9: 0x3ce0, 0x6ca: 0x40d0, 0x6cb: 0x40ee, + 0x6cc: 0x40da, 0x6cd: 0x40f8, 0x6ce: 0x40e4, 0x6cf: 0x4102, 0x6d0: 0x3de8, 0x6d1: 0x3df0, + 0x6d2: 0x41c0, 0x6d3: 0x41de, 0x6d4: 0x41ca, 0x6d5: 0x41e8, 0x6d6: 0x41d4, 0x6d7: 0x41f2, + 0x6d8: 0x3d08, 0x6d9: 0x3d10, 0x6da: 0x410c, 0x6db: 0x412a, 0x6dc: 0x4116, 0x6dd: 0x4134, + 0x6de: 0x4120, 0x6df: 0x413e, 0x6e0: 0x3ec0, 0x6e1: 0x3ec8, 0x6e2: 0x41fc, 0x6e3: 0x421a, + 0x6e4: 0x4206, 0x6e5: 0x4224, 0x6e6: 0x4210, 0x6e7: 0x422e, 0x6e8: 0x3d80, 0x6e9: 0x3d88, + 0x6ea: 0x4148, 0x6eb: 0x4166, 0x6ec: 0x4152, 0x6ed: 0x4170, 0x6ee: 0x415c, 0x6ef: 0x417a, + 0x6f0: 0x3685, 0x6f1: 0x367f, 0x6f2: 0x3d90, 0x6f3: 0x368b, 0x6f4: 0x3d98, + 0x6f6: 0x4810, 0x6f7: 0x3db0, 0x6f8: 0x35f5, 0x6f9: 0x35ef, 0x6fa: 0x35e3, 0x6fb: 0x42ee, + 0x6fc: 0x35fb, 0x6fd: 0x4287, 0x6fe: 0x01d3, 0x6ff: 0x4287, + // Block 0x1c, offset 0x700 + 0x700: 0x42a0, 0x701: 0x4482, 0x702: 0x3dd8, 0x703: 0x369d, 0x704: 0x3de0, + 0x706: 0x483a, 0x707: 0x3df8, 0x708: 0x3601, 0x709: 0x42f4, 0x70a: 0x360d, 0x70b: 0x42fa, + 0x70c: 0x3619, 0x70d: 0x4489, 0x70e: 0x4490, 0x70f: 0x4497, 0x710: 0x36b5, 0x711: 0x36af, + 0x712: 0x3e00, 0x713: 0x44e4, 0x716: 0x36bb, 0x717: 0x3e10, + 0x718: 0x3631, 0x719: 0x362b, 0x71a: 0x361f, 0x71b: 0x4300, 0x71d: 0x449e, + 0x71e: 0x44a5, 0x71f: 0x44ac, 0x720: 0x36eb, 0x721: 0x36e5, 0x722: 0x3e68, 0x723: 0x44ec, + 0x724: 0x36cd, 0x725: 0x36d3, 0x726: 0x36f1, 0x727: 0x3e78, 0x728: 0x3661, 0x729: 0x365b, + 0x72a: 0x364f, 0x72b: 0x430c, 0x72c: 0x3649, 0x72d: 0x4474, 0x72e: 0x447b, 0x72f: 0x0081, + 0x732: 0x3eb0, 0x733: 0x36f7, 0x734: 0x3eb8, + 0x736: 0x4888, 0x737: 0x3ed0, 0x738: 0x363d, 0x739: 0x4306, 0x73a: 0x366d, 0x73b: 0x4318, + 0x73c: 0x3679, 0x73d: 0x425a, 0x73e: 0x428c, + // Block 0x1d, offset 0x740 + 0x740: 0x1bd8, 0x741: 0x1bdc, 0x742: 0x0047, 0x743: 0x1c54, 0x745: 0x1be8, + 0x746: 0x1bec, 0x747: 0x00e9, 0x749: 0x1c58, 0x74a: 0x008f, 0x74b: 0x0051, + 0x74c: 0x0051, 0x74d: 0x0051, 0x74e: 0x0091, 0x74f: 0x00da, 0x750: 0x0053, 0x751: 0x0053, + 0x752: 0x0059, 0x753: 0x0099, 0x755: 0x005d, 0x756: 0x198d, + 0x759: 0x0061, 0x75a: 0x0063, 0x75b: 0x0065, 0x75c: 0x0065, 0x75d: 0x0065, + 0x760: 0x199f, 0x761: 0x1bc8, 0x762: 0x19a8, + 0x764: 0x0075, 0x766: 0x01b8, 0x768: 0x0075, + 0x76a: 0x0057, 0x76b: 0x42d2, 0x76c: 0x0045, 0x76d: 0x0047, 0x76f: 0x008b, + 0x770: 0x004b, 0x771: 0x004d, 0x773: 0x005b, 0x774: 0x009f, 0x775: 0x0215, + 0x776: 0x0218, 0x777: 0x021b, 0x778: 0x021e, 0x779: 0x0093, 0x77b: 0x1b98, + 0x77c: 0x01e8, 0x77d: 0x01c1, 0x77e: 0x0179, 0x77f: 0x01a0, + // Block 0x1e, offset 0x780 + 0x780: 0x0463, 0x785: 0x0049, + 0x786: 0x0089, 0x787: 0x008b, 0x788: 0x0093, 0x789: 0x0095, + 0x790: 0x222e, 0x791: 0x223a, + 0x792: 0x22ee, 0x793: 0x2216, 0x794: 0x229a, 0x795: 0x2222, 0x796: 0x22a0, 0x797: 0x22b8, + 0x798: 0x22c4, 0x799: 0x2228, 0x79a: 0x22ca, 0x79b: 0x2234, 0x79c: 0x22be, 0x79d: 0x22d0, + 0x79e: 0x22d6, 0x79f: 0x1cbc, 0x7a0: 0x0053, 0x7a1: 0x195a, 0x7a2: 0x1ba4, 0x7a3: 0x1963, + 0x7a4: 0x006d, 0x7a5: 0x19ab, 0x7a6: 0x1bd0, 0x7a7: 0x1d48, 0x7a8: 0x1966, 0x7a9: 0x0071, + 0x7aa: 0x19b7, 0x7ab: 0x1bd4, 0x7ac: 0x0059, 0x7ad: 0x0047, 0x7ae: 0x0049, 0x7af: 0x005b, + 0x7b0: 0x0093, 0x7b1: 0x19e4, 0x7b2: 0x1c18, 0x7b3: 0x19ed, 0x7b4: 0x00ad, 0x7b5: 0x1a62, + 0x7b6: 0x1c4c, 0x7b7: 0x1d5c, 0x7b8: 0x19f0, 0x7b9: 0x00b1, 0x7ba: 0x1a65, 0x7bb: 0x1c50, + 0x7bc: 0x0099, 0x7bd: 0x0087, 0x7be: 0x0089, 0x7bf: 0x009b, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x3c06, 0x7c3: 0xa000, 0x7c4: 0x3c0d, 0x7c5: 0xa000, + 0x7c7: 0x3c14, 0x7c8: 0xa000, 0x7c9: 0x3c1b, + 0x7cd: 0xa000, + 0x7e0: 0x2f65, 0x7e1: 0xa000, 0x7e2: 0x3c29, + 0x7e4: 0xa000, 0x7e5: 0xa000, + 0x7ed: 0x3c22, 0x7ee: 0x2f60, 0x7ef: 0x2f6a, + 0x7f0: 0x3c30, 0x7f1: 0x3c37, 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0x3c3e, 0x7f5: 0x3c45, + 0x7f6: 0xa000, 0x7f7: 0xa000, 0x7f8: 0x3c4c, 0x7f9: 0x3c53, 0x7fa: 0xa000, 0x7fb: 0xa000, + 0x7fc: 0xa000, 0x7fd: 0xa000, + // Block 0x20, offset 0x800 + 0x800: 0x3c5a, 0x801: 0x3c61, 0x802: 0xa000, 0x803: 0xa000, 0x804: 0x3c76, 0x805: 0x3c7d, + 0x806: 0xa000, 0x807: 0xa000, 0x808: 0x3c84, 0x809: 0x3c8b, + 0x811: 0xa000, + 0x812: 0xa000, + 0x822: 0xa000, + 0x828: 0xa000, 0x829: 0xa000, + 0x82b: 0xa000, 0x82c: 0x3ca0, 0x82d: 0x3ca7, 0x82e: 0x3cae, 0x82f: 0x3cb5, + 0x832: 0xa000, 0x833: 0xa000, 0x834: 0xa000, 0x835: 0xa000, + // Block 0x21, offset 0x840 + 0x860: 0x0023, 0x861: 0x0025, 0x862: 0x0027, 0x863: 0x0029, + 0x864: 0x002b, 0x865: 0x002d, 0x866: 0x002f, 0x867: 0x0031, 0x868: 0x0033, 0x869: 0x1882, + 0x86a: 0x1885, 0x86b: 0x1888, 0x86c: 0x188b, 0x86d: 0x188e, 0x86e: 0x1891, 0x86f: 0x1894, + 0x870: 0x1897, 0x871: 0x189a, 0x872: 0x189d, 0x873: 0x18a6, 0x874: 0x1a68, 0x875: 0x1a6c, + 0x876: 0x1a70, 0x877: 0x1a74, 0x878: 0x1a78, 0x879: 0x1a7c, 0x87a: 0x1a80, 0x87b: 0x1a84, + 0x87c: 0x1a88, 0x87d: 0x1c80, 0x87e: 0x1c85, 0x87f: 0x1c8a, + // Block 0x22, offset 0x880 + 0x880: 0x1c8f, 0x881: 0x1c94, 0x882: 0x1c99, 0x883: 0x1c9e, 0x884: 0x1ca3, 0x885: 0x1ca8, + 0x886: 0x1cad, 0x887: 0x1cb2, 0x888: 0x187f, 0x889: 0x18a3, 0x88a: 0x18c7, 0x88b: 0x18eb, + 0x88c: 0x190f, 0x88d: 0x1918, 0x88e: 0x191e, 0x88f: 0x1924, 0x890: 0x192a, 0x891: 0x1b60, + 0x892: 0x1b64, 0x893: 0x1b68, 0x894: 0x1b6c, 0x895: 0x1b70, 0x896: 0x1b74, 0x897: 0x1b78, + 0x898: 0x1b7c, 0x899: 0x1b80, 0x89a: 0x1b84, 0x89b: 0x1b88, 0x89c: 0x1af4, 0x89d: 0x1af8, + 0x89e: 0x1afc, 0x89f: 0x1b00, 0x8a0: 0x1b04, 0x8a1: 0x1b08, 0x8a2: 0x1b0c, 0x8a3: 0x1b10, + 0x8a4: 0x1b14, 0x8a5: 0x1b18, 0x8a6: 0x1b1c, 0x8a7: 0x1b20, 0x8a8: 0x1b24, 0x8a9: 0x1b28, + 0x8aa: 0x1b2c, 0x8ab: 0x1b30, 0x8ac: 0x1b34, 0x8ad: 0x1b38, 0x8ae: 0x1b3c, 0x8af: 0x1b40, + 0x8b0: 0x1b44, 0x8b1: 0x1b48, 0x8b2: 0x1b4c, 0x8b3: 0x1b50, 0x8b4: 0x1b54, 0x8b5: 0x1b58, + 0x8b6: 0x0043, 0x8b7: 0x0045, 0x8b8: 0x0047, 0x8b9: 0x0049, 0x8ba: 0x004b, 0x8bb: 0x004d, + 0x8bc: 0x004f, 0x8bd: 0x0051, 0x8be: 0x0053, 0x8bf: 0x0055, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x06bf, 0x8c1: 0x06e3, 0x8c2: 0x06ef, 0x8c3: 0x06ff, 0x8c4: 0x0707, 0x8c5: 0x0713, + 0x8c6: 0x071b, 0x8c7: 0x0723, 0x8c8: 0x072f, 0x8c9: 0x0783, 0x8ca: 0x079b, 0x8cb: 0x07ab, + 0x8cc: 0x07bb, 0x8cd: 0x07cb, 0x8ce: 0x07db, 0x8cf: 0x07fb, 0x8d0: 0x07ff, 0x8d1: 0x0803, + 0x8d2: 0x0837, 0x8d3: 0x085f, 0x8d4: 0x086f, 0x8d5: 0x0877, 0x8d6: 0x087b, 0x8d7: 0x0887, + 0x8d8: 0x08a3, 0x8d9: 0x08a7, 0x8da: 0x08bf, 0x8db: 0x08c3, 0x8dc: 0x08cb, 0x8dd: 0x08db, + 0x8de: 0x0977, 0x8df: 0x098b, 0x8e0: 0x09cb, 0x8e1: 0x09df, 0x8e2: 0x09e7, 0x8e3: 0x09eb, + 0x8e4: 0x09fb, 0x8e5: 0x0a17, 0x8e6: 0x0a43, 0x8e7: 0x0a4f, 0x8e8: 0x0a6f, 0x8e9: 0x0a7b, + 0x8ea: 0x0a7f, 0x8eb: 0x0a83, 0x8ec: 0x0a9b, 0x8ed: 0x0a9f, 0x8ee: 0x0acb, 0x8ef: 0x0ad7, + 0x8f0: 0x0adf, 0x8f1: 0x0ae7, 0x8f2: 0x0af7, 0x8f3: 0x0aff, 0x8f4: 0x0b07, 0x8f5: 0x0b33, + 0x8f6: 0x0b37, 0x8f7: 0x0b3f, 0x8f8: 0x0b43, 0x8f9: 0x0b4b, 0x8fa: 0x0b53, 0x8fb: 0x0b63, + 0x8fc: 0x0b7f, 0x8fd: 0x0bf7, 0x8fe: 0x0c0b, 0x8ff: 0x0c0f, + // Block 0x24, offset 0x900 + 0x900: 0x0c8f, 0x901: 0x0c93, 0x902: 0x0ca7, 0x903: 0x0cab, 0x904: 0x0cb3, 0x905: 0x0cbb, + 0x906: 0x0cc3, 0x907: 0x0ccf, 0x908: 0x0cf7, 0x909: 0x0d07, 0x90a: 0x0d1b, 0x90b: 0x0d8b, + 0x90c: 0x0d97, 0x90d: 0x0da7, 0x90e: 0x0db3, 0x90f: 0x0dbf, 0x910: 0x0dc7, 0x911: 0x0dcb, + 0x912: 0x0dcf, 0x913: 0x0dd3, 0x914: 0x0dd7, 0x915: 0x0e8f, 0x916: 0x0ed7, 0x917: 0x0ee3, + 0x918: 0x0ee7, 0x919: 0x0eeb, 0x91a: 0x0eef, 0x91b: 0x0ef7, 0x91c: 0x0efb, 0x91d: 0x0f0f, + 0x91e: 0x0f2b, 0x91f: 0x0f33, 0x920: 0x0f73, 0x921: 0x0f77, 0x922: 0x0f7f, 0x923: 0x0f83, + 0x924: 0x0f8b, 0x925: 0x0f8f, 0x926: 0x0fb3, 0x927: 0x0fb7, 0x928: 0x0fd3, 0x929: 0x0fd7, + 0x92a: 0x0fdb, 0x92b: 0x0fdf, 0x92c: 0x0ff3, 0x92d: 0x1017, 0x92e: 0x101b, 0x92f: 0x101f, + 0x930: 0x1043, 0x931: 0x1083, 0x932: 0x1087, 0x933: 0x10a7, 0x934: 0x10b7, 0x935: 0x10bf, + 0x936: 0x10df, 0x937: 0x1103, 0x938: 0x1147, 0x939: 0x114f, 0x93a: 0x1163, 0x93b: 0x116f, + 0x93c: 0x1177, 0x93d: 0x117f, 0x93e: 0x1183, 0x93f: 0x1187, + // Block 0x25, offset 0x940 + 0x940: 0x119f, 0x941: 0x11a3, 0x942: 0x11bf, 0x943: 0x11c7, 0x944: 0x11cf, 0x945: 0x11d3, + 0x946: 0x11df, 0x947: 0x11e7, 0x948: 0x11eb, 0x949: 0x11ef, 0x94a: 0x11f7, 0x94b: 0x11fb, + 0x94c: 0x129b, 0x94d: 0x12af, 0x94e: 0x12e3, 0x94f: 0x12e7, 0x950: 0x12ef, 0x951: 0x131b, + 0x952: 0x1323, 0x953: 0x132b, 0x954: 0x1333, 0x955: 0x136f, 0x956: 0x1373, 0x957: 0x137b, + 0x958: 0x137f, 0x959: 0x1383, 0x95a: 0x13af, 0x95b: 0x13b3, 0x95c: 0x13bb, 0x95d: 0x13cf, + 0x95e: 0x13d3, 0x95f: 0x13ef, 0x960: 0x13f7, 0x961: 0x13fb, 0x962: 0x141f, 0x963: 0x143f, + 0x964: 0x1453, 0x965: 0x1457, 0x966: 0x145f, 0x967: 0x148b, 0x968: 0x148f, 0x969: 0x149f, + 0x96a: 0x14c3, 0x96b: 0x14cf, 0x96c: 0x14df, 0x96d: 0x14f7, 0x96e: 0x14ff, 0x96f: 0x1503, + 0x970: 0x1507, 0x971: 0x150b, 0x972: 0x1517, 0x973: 0x151b, 0x974: 0x1523, 0x975: 0x153f, + 0x976: 0x1543, 0x977: 0x1547, 0x978: 0x155f, 0x979: 0x1563, 0x97a: 0x156b, 0x97b: 0x157f, + 0x97c: 0x1583, 0x97d: 0x1587, 0x97e: 0x158f, 0x97f: 0x1593, + // Block 0x26, offset 0x980 + 0x986: 0xa000, 0x98b: 0xa000, + 0x98c: 0x3f08, 0x98d: 0xa000, 0x98e: 0x3f10, 0x98f: 0xa000, 0x990: 0x3f18, 0x991: 0xa000, + 0x992: 0x3f20, 0x993: 0xa000, 0x994: 0x3f28, 0x995: 0xa000, 0x996: 0x3f30, 0x997: 0xa000, + 0x998: 0x3f38, 0x999: 0xa000, 0x99a: 0x3f40, 0x99b: 0xa000, 0x99c: 0x3f48, 0x99d: 0xa000, + 0x99e: 0x3f50, 0x99f: 0xa000, 0x9a0: 0x3f58, 0x9a1: 0xa000, 0x9a2: 0x3f60, + 0x9a4: 0xa000, 0x9a5: 0x3f68, 0x9a6: 0xa000, 0x9a7: 0x3f70, 0x9a8: 0xa000, 0x9a9: 0x3f78, + 0x9af: 0xa000, + 0x9b0: 0x3f80, 0x9b1: 0x3f88, 0x9b2: 0xa000, 0x9b3: 0x3f90, 0x9b4: 0x3f98, 0x9b5: 0xa000, + 0x9b6: 0x3fa0, 0x9b7: 0x3fa8, 0x9b8: 0xa000, 0x9b9: 0x3fb0, 0x9ba: 0x3fb8, 0x9bb: 0xa000, + 0x9bc: 0x3fc0, 0x9bd: 0x3fc8, + // Block 0x27, offset 0x9c0 + 0x9d4: 0x3f00, + 0x9d9: 0x9903, 0x9da: 0x9903, 0x9db: 0x42dc, 0x9dc: 0x42e2, 0x9dd: 0xa000, + 0x9de: 0x3fd0, 0x9df: 0x26b4, + 0x9e6: 0xa000, + 0x9eb: 0xa000, 0x9ec: 0x3fe0, 0x9ed: 0xa000, 0x9ee: 0x3fe8, 0x9ef: 0xa000, + 0x9f0: 0x3ff0, 0x9f1: 0xa000, 0x9f2: 0x3ff8, 0x9f3: 0xa000, 0x9f4: 0x4000, 0x9f5: 0xa000, + 0x9f6: 0x4008, 0x9f7: 0xa000, 0x9f8: 0x4010, 0x9f9: 0xa000, 0x9fa: 0x4018, 0x9fb: 0xa000, + 0x9fc: 0x4020, 0x9fd: 0xa000, 0x9fe: 0x4028, 0x9ff: 0xa000, + // Block 0x28, offset 0xa00 + 0xa00: 0x4030, 0xa01: 0xa000, 0xa02: 0x4038, 0xa04: 0xa000, 0xa05: 0x4040, + 0xa06: 0xa000, 0xa07: 0x4048, 0xa08: 0xa000, 0xa09: 0x4050, + 0xa0f: 0xa000, 0xa10: 0x4058, 0xa11: 0x4060, + 0xa12: 0xa000, 0xa13: 0x4068, 0xa14: 0x4070, 0xa15: 0xa000, 0xa16: 0x4078, 0xa17: 0x4080, + 0xa18: 0xa000, 0xa19: 0x4088, 0xa1a: 0x4090, 0xa1b: 0xa000, 0xa1c: 0x4098, 0xa1d: 0x40a0, + 0xa2f: 0xa000, + 0xa30: 0xa000, 0xa31: 0xa000, 0xa32: 0xa000, 0xa34: 0x3fd8, + 0xa37: 0x40a8, 0xa38: 0x40b0, 0xa39: 0x40b8, 0xa3a: 0x40c0, + 0xa3d: 0xa000, 0xa3e: 0x40c8, 0xa3f: 0x26c9, + // Block 0x29, offset 0xa40 + 0xa40: 0x0367, 0xa41: 0x032b, 0xa42: 0x032f, 0xa43: 0x0333, 0xa44: 0x037b, 0xa45: 0x0337, + 0xa46: 0x033b, 0xa47: 0x033f, 0xa48: 0x0343, 0xa49: 0x0347, 0xa4a: 0x034b, 0xa4b: 0x034f, + 0xa4c: 0x0353, 0xa4d: 0x0357, 0xa4e: 0x035b, 0xa4f: 0x49bd, 0xa50: 0x49c3, 0xa51: 0x49c9, + 0xa52: 0x49cf, 0xa53: 0x49d5, 0xa54: 0x49db, 0xa55: 0x49e1, 0xa56: 0x49e7, 0xa57: 0x49ed, + 0xa58: 0x49f3, 0xa59: 0x49f9, 0xa5a: 0x49ff, 0xa5b: 0x4a05, 0xa5c: 0x4a0b, 0xa5d: 0x4a11, + 0xa5e: 0x4a17, 0xa5f: 0x4a1d, 0xa60: 0x4a23, 0xa61: 0x4a29, 0xa62: 0x4a2f, 0xa63: 0x4a35, + 0xa64: 0x03c3, 0xa65: 0x035f, 0xa66: 0x0363, 0xa67: 0x03e7, 0xa68: 0x03eb, 0xa69: 0x03ef, + 0xa6a: 0x03f3, 0xa6b: 0x03f7, 0xa6c: 0x03fb, 0xa6d: 0x03ff, 0xa6e: 0x036b, 0xa6f: 0x0403, + 0xa70: 0x0407, 0xa71: 0x036f, 0xa72: 0x0373, 0xa73: 0x0377, 0xa74: 0x037f, 0xa75: 0x0383, + 0xa76: 0x0387, 0xa77: 0x038b, 0xa78: 0x038f, 0xa79: 0x0393, 0xa7a: 0x0397, 0xa7b: 0x039b, + 0xa7c: 0x039f, 0xa7d: 0x03a3, 0xa7e: 0x03a7, 0xa7f: 0x03ab, + // Block 0x2a, offset 0xa80 + 0xa80: 0x03af, 0xa81: 0x03b3, 0xa82: 0x040b, 0xa83: 0x040f, 0xa84: 0x03b7, 0xa85: 0x03bb, + 0xa86: 0x03bf, 0xa87: 0x03c7, 0xa88: 0x03cb, 0xa89: 0x03cf, 0xa8a: 0x03d3, 0xa8b: 0x03d7, + 0xa8c: 0x03db, 0xa8d: 0x03df, 0xa8e: 0x03e3, + 0xa92: 0x06bf, 0xa93: 0x071b, 0xa94: 0x06cb, 0xa95: 0x097b, 0xa96: 0x06cf, 0xa97: 0x06e7, + 0xa98: 0x06d3, 0xa99: 0x0f93, 0xa9a: 0x0707, 0xa9b: 0x06db, 0xa9c: 0x06c3, 0xa9d: 0x09ff, + 0xa9e: 0x098f, 0xa9f: 0x072f, + // Block 0x2b, offset 0xac0 + 0xac0: 0x2054, 0xac1: 0x205a, 0xac2: 0x2060, 0xac3: 0x2066, 0xac4: 0x206c, 0xac5: 0x2072, + 0xac6: 0x2078, 0xac7: 0x207e, 0xac8: 0x2084, 0xac9: 0x208a, 0xaca: 0x2090, 0xacb: 0x2096, + 0xacc: 0x209c, 0xacd: 0x20a2, 0xace: 0x2726, 0xacf: 0x272f, 0xad0: 0x2738, 0xad1: 0x2741, + 0xad2: 0x274a, 0xad3: 0x2753, 0xad4: 0x275c, 0xad5: 0x2765, 0xad6: 0x276e, 0xad7: 0x2780, + 0xad8: 0x2789, 0xad9: 0x2792, 0xada: 0x279b, 0xadb: 0x27a4, 0xadc: 0x2777, 0xadd: 0x2bac, + 0xade: 0x2aed, 0xae0: 0x20a8, 0xae1: 0x20c0, 0xae2: 0x20b4, 0xae3: 0x2108, + 0xae4: 0x20c6, 0xae5: 0x20e4, 0xae6: 0x20ae, 0xae7: 0x20de, 0xae8: 0x20ba, 0xae9: 0x20f0, + 0xaea: 0x2120, 0xaeb: 0x213e, 0xaec: 0x2138, 0xaed: 0x212c, 0xaee: 0x217a, 0xaef: 0x210e, + 0xaf0: 0x211a, 0xaf1: 0x2132, 0xaf2: 0x2126, 0xaf3: 0x2150, 0xaf4: 0x20fc, 0xaf5: 0x2144, + 0xaf6: 0x216e, 0xaf7: 0x2156, 0xaf8: 0x20ea, 0xaf9: 0x20cc, 0xafa: 0x2102, 0xafb: 0x2114, + 0xafc: 0x214a, 0xafd: 0x20d2, 0xafe: 0x2174, 0xaff: 0x20f6, + // Block 0x2c, offset 0xb00 + 0xb00: 0x215c, 0xb01: 0x20d8, 0xb02: 0x2162, 0xb03: 0x2168, 0xb04: 0x092f, 0xb05: 0x0b03, + 0xb06: 0x0ca7, 0xb07: 0x10c7, + 0xb10: 0x1bc4, 0xb11: 0x18a9, + 0xb12: 0x18ac, 0xb13: 0x18af, 0xb14: 0x18b2, 0xb15: 0x18b5, 0xb16: 0x18b8, 0xb17: 0x18bb, + 0xb18: 0x18be, 0xb19: 0x18c1, 0xb1a: 0x18ca, 0xb1b: 0x18cd, 0xb1c: 0x18d0, 0xb1d: 0x18d3, + 0xb1e: 0x18d6, 0xb1f: 0x18d9, 0xb20: 0x0313, 0xb21: 0x031b, 0xb22: 0x031f, 0xb23: 0x0327, + 0xb24: 0x032b, 0xb25: 0x032f, 0xb26: 0x0337, 0xb27: 0x033f, 0xb28: 0x0343, 0xb29: 0x034b, + 0xb2a: 0x034f, 0xb2b: 0x0353, 0xb2c: 0x0357, 0xb2d: 0x035b, 0xb2e: 0x2e18, 0xb2f: 0x2e20, + 0xb30: 0x2e28, 0xb31: 0x2e30, 0xb32: 0x2e38, 0xb33: 0x2e40, 0xb34: 0x2e48, 0xb35: 0x2e50, + 0xb36: 0x2e60, 0xb37: 0x2e68, 0xb38: 0x2e70, 0xb39: 0x2e78, 0xb3a: 0x2e80, 0xb3b: 0x2e88, + 0xb3c: 0x2ed3, 0xb3d: 0x2e9b, 0xb3e: 0x2e58, + // Block 0x2d, offset 0xb40 + 0xb40: 0x06bf, 0xb41: 0x071b, 0xb42: 0x06cb, 0xb43: 0x097b, 0xb44: 0x071f, 0xb45: 0x07af, + 0xb46: 0x06c7, 0xb47: 0x07ab, 0xb48: 0x070b, 0xb49: 0x0887, 0xb4a: 0x0d07, 0xb4b: 0x0e8f, + 0xb4c: 0x0dd7, 0xb4d: 0x0d1b, 0xb4e: 0x145f, 0xb4f: 0x098b, 0xb50: 0x0ccf, 0xb51: 0x0d4b, + 0xb52: 0x0d0b, 0xb53: 0x104b, 0xb54: 0x08fb, 0xb55: 0x0f03, 0xb56: 0x1387, 0xb57: 0x105f, + 0xb58: 0x0843, 0xb59: 0x108f, 0xb5a: 0x0f9b, 0xb5b: 0x0a17, 0xb5c: 0x140f, 0xb5d: 0x077f, + 0xb5e: 0x08ab, 0xb5f: 0x0df7, 0xb60: 0x1527, 0xb61: 0x0743, 0xb62: 0x07d3, 0xb63: 0x0d9b, + 0xb64: 0x06cf, 0xb65: 0x06e7, 0xb66: 0x06d3, 0xb67: 0x0adb, 0xb68: 0x08ef, 0xb69: 0x087f, + 0xb6a: 0x0a57, 0xb6b: 0x0a4b, 0xb6c: 0x0feb, 0xb6d: 0x073f, 0xb6e: 0x139b, 0xb6f: 0x089b, + 0xb70: 0x09f3, 0xb71: 0x18dc, 0xb72: 0x18df, 0xb73: 0x18e2, 0xb74: 0x18e5, 0xb75: 0x18ee, + 0xb76: 0x18f1, 0xb77: 0x18f4, 0xb78: 0x18f7, 0xb79: 0x18fa, 0xb7a: 0x18fd, 0xb7b: 0x1900, + 0xb7c: 0x1903, 0xb7d: 0x1906, 0xb7e: 0x1909, 0xb7f: 0x1912, + // Block 0x2e, offset 0xb80 + 0xb80: 0x1cc6, 0xb81: 0x1cd5, 0xb82: 0x1ce4, 0xb83: 0x1cf3, 0xb84: 0x1d02, 0xb85: 0x1d11, + 0xb86: 0x1d20, 0xb87: 0x1d2f, 0xb88: 0x1d3e, 0xb89: 0x218c, 0xb8a: 0x219e, 0xb8b: 0x21b0, + 0xb8c: 0x1954, 0xb8d: 0x1c04, 0xb8e: 0x19d2, 0xb8f: 0x1ba8, 0xb90: 0x04cb, 0xb91: 0x04d3, + 0xb92: 0x04db, 0xb93: 0x04e3, 0xb94: 0x04eb, 0xb95: 0x04ef, 0xb96: 0x04f3, 0xb97: 0x04f7, + 0xb98: 0x04fb, 0xb99: 0x04ff, 0xb9a: 0x0503, 0xb9b: 0x0507, 0xb9c: 0x050b, 0xb9d: 0x050f, + 0xb9e: 0x0513, 0xb9f: 0x0517, 0xba0: 0x051b, 0xba1: 0x0523, 0xba2: 0x0527, 0xba3: 0x052b, + 0xba4: 0x052f, 0xba5: 0x0533, 0xba6: 0x0537, 0xba7: 0x053b, 0xba8: 0x053f, 0xba9: 0x0543, + 0xbaa: 0x0547, 0xbab: 0x054b, 0xbac: 0x054f, 0xbad: 0x0553, 0xbae: 0x0557, 0xbaf: 0x055b, + 0xbb0: 0x055f, 0xbb1: 0x0563, 0xbb2: 0x0567, 0xbb3: 0x056f, 0xbb4: 0x0577, 0xbb5: 0x057f, + 0xbb6: 0x0583, 0xbb7: 0x0587, 0xbb8: 0x058b, 0xbb9: 0x058f, 0xbba: 0x0593, 0xbbb: 0x0597, + 0xbbc: 0x059b, 0xbbd: 0x059f, 0xbbe: 0x05a3, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x2b0c, 0xbc1: 0x29a8, 0xbc2: 0x2b1c, 0xbc3: 0x2880, 0xbc4: 0x2ee4, 0xbc5: 0x288a, + 0xbc6: 0x2894, 0xbc7: 0x2f28, 0xbc8: 0x29b5, 0xbc9: 0x289e, 0xbca: 0x28a8, 0xbcb: 0x28b2, + 0xbcc: 0x29dc, 0xbcd: 0x29e9, 0xbce: 0x29c2, 0xbcf: 0x29cf, 0xbd0: 0x2ea9, 0xbd1: 0x29f6, + 0xbd2: 0x2a03, 0xbd3: 0x2bbe, 0xbd4: 0x26bb, 0xbd5: 0x2bd1, 0xbd6: 0x2be4, 0xbd7: 0x2b2c, + 0xbd8: 0x2a10, 0xbd9: 0x2bf7, 0xbda: 0x2c0a, 0xbdb: 0x2a1d, 0xbdc: 0x28bc, 0xbdd: 0x28c6, + 0xbde: 0x2eb7, 0xbdf: 0x2a2a, 0xbe0: 0x2b3c, 0xbe1: 0x2ef5, 0xbe2: 0x28d0, 0xbe3: 0x28da, + 0xbe4: 0x2a37, 0xbe5: 0x28e4, 0xbe6: 0x28ee, 0xbe7: 0x26d0, 0xbe8: 0x26d7, 0xbe9: 0x28f8, + 0xbea: 0x2902, 0xbeb: 0x2c1d, 0xbec: 0x2a44, 0xbed: 0x2b4c, 0xbee: 0x2c30, 0xbef: 0x2a51, + 0xbf0: 0x2916, 0xbf1: 0x290c, 0xbf2: 0x2f3c, 0xbf3: 0x2a5e, 0xbf4: 0x2c43, 0xbf5: 0x2920, + 0xbf6: 0x2b5c, 0xbf7: 0x292a, 0xbf8: 0x2a78, 0xbf9: 0x2934, 0xbfa: 0x2a85, 0xbfb: 0x2f06, + 0xbfc: 0x2a6b, 0xbfd: 0x2b6c, 0xbfe: 0x2a92, 0xbff: 0x26de, + // Block 0x30, offset 0xc00 + 0xc00: 0x2f17, 0xc01: 0x293e, 0xc02: 0x2948, 0xc03: 0x2a9f, 0xc04: 0x2952, 0xc05: 0x295c, + 0xc06: 0x2966, 0xc07: 0x2b7c, 0xc08: 0x2aac, 0xc09: 0x26e5, 0xc0a: 0x2c56, 0xc0b: 0x2e90, + 0xc0c: 0x2b8c, 0xc0d: 0x2ab9, 0xc0e: 0x2ec5, 0xc0f: 0x2970, 0xc10: 0x297a, 0xc11: 0x2ac6, + 0xc12: 0x26ec, 0xc13: 0x2ad3, 0xc14: 0x2b9c, 0xc15: 0x26f3, 0xc16: 0x2c69, 0xc17: 0x2984, + 0xc18: 0x1cb7, 0xc19: 0x1ccb, 0xc1a: 0x1cda, 0xc1b: 0x1ce9, 0xc1c: 0x1cf8, 0xc1d: 0x1d07, + 0xc1e: 0x1d16, 0xc1f: 0x1d25, 0xc20: 0x1d34, 0xc21: 0x1d43, 0xc22: 0x2192, 0xc23: 0x21a4, + 0xc24: 0x21b6, 0xc25: 0x21c2, 0xc26: 0x21ce, 0xc27: 0x21da, 0xc28: 0x21e6, 0xc29: 0x21f2, + 0xc2a: 0x21fe, 0xc2b: 0x220a, 0xc2c: 0x2246, 0xc2d: 0x2252, 0xc2e: 0x225e, 0xc2f: 0x226a, + 0xc30: 0x2276, 0xc31: 0x1c14, 0xc32: 0x19c6, 0xc33: 0x1936, 0xc34: 0x1be4, 0xc35: 0x1a47, + 0xc36: 0x1a56, 0xc37: 0x19cc, 0xc38: 0x1bfc, 0xc39: 0x1c00, 0xc3a: 0x1960, 0xc3b: 0x2701, + 0xc3c: 0x270f, 0xc3d: 0x26fa, 0xc3e: 0x2708, 0xc3f: 0x2ae0, + // Block 0x31, offset 0xc40 + 0xc40: 0x1a4a, 0xc41: 0x1a32, 0xc42: 0x1c60, 0xc43: 0x1a1a, 0xc44: 0x19f3, 0xc45: 0x1969, + 0xc46: 0x1978, 0xc47: 0x1948, 0xc48: 0x1bf0, 0xc49: 0x1d52, 0xc4a: 0x1a4d, 0xc4b: 0x1a35, + 0xc4c: 0x1c64, 0xc4d: 0x1c70, 0xc4e: 0x1a26, 0xc4f: 0x19fc, 0xc50: 0x1957, 0xc51: 0x1c1c, + 0xc52: 0x1bb0, 0xc53: 0x1b9c, 0xc54: 0x1bcc, 0xc55: 0x1c74, 0xc56: 0x1a29, 0xc57: 0x19c9, + 0xc58: 0x19ff, 0xc59: 0x19de, 0xc5a: 0x1a41, 0xc5b: 0x1c78, 0xc5c: 0x1a2c, 0xc5d: 0x19c0, + 0xc5e: 0x1a02, 0xc5f: 0x1c3c, 0xc60: 0x1bf4, 0xc61: 0x1a14, 0xc62: 0x1c24, 0xc63: 0x1c40, + 0xc64: 0x1bf8, 0xc65: 0x1a17, 0xc66: 0x1c28, 0xc67: 0x22e8, 0xc68: 0x22fc, 0xc69: 0x1996, + 0xc6a: 0x1c20, 0xc6b: 0x1bb4, 0xc6c: 0x1ba0, 0xc6d: 0x1c48, 0xc6e: 0x2716, 0xc6f: 0x27ad, + 0xc70: 0x1a59, 0xc71: 0x1a44, 0xc72: 0x1c7c, 0xc73: 0x1a2f, 0xc74: 0x1a50, 0xc75: 0x1a38, + 0xc76: 0x1c68, 0xc77: 0x1a1d, 0xc78: 0x19f6, 0xc79: 0x1981, 0xc7a: 0x1a53, 0xc7b: 0x1a3b, + 0xc7c: 0x1c6c, 0xc7d: 0x1a20, 0xc7e: 0x19f9, 0xc7f: 0x1984, + // Block 0x32, offset 0xc80 + 0xc80: 0x1c2c, 0xc81: 0x1bb8, 0xc82: 0x1d4d, 0xc83: 0x1939, 0xc84: 0x19ba, 0xc85: 0x19bd, + 0xc86: 0x22f5, 0xc87: 0x1b94, 0xc88: 0x19c3, 0xc89: 0x194b, 0xc8a: 0x19e1, 0xc8b: 0x194e, + 0xc8c: 0x19ea, 0xc8d: 0x196c, 0xc8e: 0x196f, 0xc8f: 0x1a05, 0xc90: 0x1a0b, 0xc91: 0x1a0e, + 0xc92: 0x1c30, 0xc93: 0x1a11, 0xc94: 0x1a23, 0xc95: 0x1c38, 0xc96: 0x1c44, 0xc97: 0x1990, + 0xc98: 0x1d57, 0xc99: 0x1bbc, 0xc9a: 0x1993, 0xc9b: 0x1a5c, 0xc9c: 0x19a5, 0xc9d: 0x19b4, + 0xc9e: 0x22e2, 0xc9f: 0x22dc, 0xca0: 0x1cc1, 0xca1: 0x1cd0, 0xca2: 0x1cdf, 0xca3: 0x1cee, + 0xca4: 0x1cfd, 0xca5: 0x1d0c, 0xca6: 0x1d1b, 0xca7: 0x1d2a, 0xca8: 0x1d39, 0xca9: 0x2186, + 0xcaa: 0x2198, 0xcab: 0x21aa, 0xcac: 0x21bc, 0xcad: 0x21c8, 0xcae: 0x21d4, 0xcaf: 0x21e0, + 0xcb0: 0x21ec, 0xcb1: 0x21f8, 0xcb2: 0x2204, 0xcb3: 0x2240, 0xcb4: 0x224c, 0xcb5: 0x2258, + 0xcb6: 0x2264, 0xcb7: 0x2270, 0xcb8: 0x227c, 0xcb9: 0x2282, 0xcba: 0x2288, 0xcbb: 0x228e, + 0xcbc: 0x2294, 0xcbd: 0x22a6, 0xcbe: 0x22ac, 0xcbf: 0x1c10, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x1377, 0xcc1: 0x0cfb, 0xcc2: 0x13d3, 0xcc3: 0x139f, 0xcc4: 0x0e57, 0xcc5: 0x06eb, + 0xcc6: 0x08df, 0xcc7: 0x162b, 0xcc8: 0x162b, 0xcc9: 0x0a0b, 0xcca: 0x145f, 0xccb: 0x0943, + 0xccc: 0x0a07, 0xccd: 0x0bef, 0xcce: 0x0fcf, 0xccf: 0x115f, 0xcd0: 0x1297, 0xcd1: 0x12d3, + 0xcd2: 0x1307, 0xcd3: 0x141b, 0xcd4: 0x0d73, 0xcd5: 0x0dff, 0xcd6: 0x0eab, 0xcd7: 0x0f43, + 0xcd8: 0x125f, 0xcd9: 0x1447, 0xcda: 0x1573, 0xcdb: 0x070f, 0xcdc: 0x08b3, 0xcdd: 0x0d87, + 0xcde: 0x0ecf, 0xcdf: 0x1293, 0xce0: 0x15c3, 0xce1: 0x0ab3, 0xce2: 0x0e77, 0xce3: 0x1283, + 0xce4: 0x1317, 0xce5: 0x0c23, 0xce6: 0x11bb, 0xce7: 0x12df, 0xce8: 0x0b1f, 0xce9: 0x0d0f, + 0xcea: 0x0e17, 0xceb: 0x0f1b, 0xcec: 0x1427, 0xced: 0x074f, 0xcee: 0x07e7, 0xcef: 0x0853, + 0xcf0: 0x0c8b, 0xcf1: 0x0d7f, 0xcf2: 0x0ecb, 0xcf3: 0x0fef, 0xcf4: 0x1177, 0xcf5: 0x128b, + 0xcf6: 0x12a3, 0xcf7: 0x13c7, 0xcf8: 0x14ef, 0xcf9: 0x15a3, 0xcfa: 0x15bf, 0xcfb: 0x102b, + 0xcfc: 0x106b, 0xcfd: 0x1123, 0xcfe: 0x1243, 0xcff: 0x147b, + // Block 0x34, offset 0xd00 + 0xd00: 0x15cb, 0xd01: 0x134b, 0xd02: 0x09c7, 0xd03: 0x0b3b, 0xd04: 0x10db, 0xd05: 0x119b, + 0xd06: 0x0eff, 0xd07: 0x1033, 0xd08: 0x1397, 0xd09: 0x14e7, 0xd0a: 0x09c3, 0xd0b: 0x0a8f, + 0xd0c: 0x0d77, 0xd0d: 0x0e2b, 0xd0e: 0x0e5f, 0xd0f: 0x1113, 0xd10: 0x113b, 0xd11: 0x14a7, + 0xd12: 0x084f, 0xd13: 0x11a7, 0xd14: 0x07f3, 0xd15: 0x07ef, 0xd16: 0x1097, 0xd17: 0x1127, + 0xd18: 0x125b, 0xd19: 0x14af, 0xd1a: 0x1367, 0xd1b: 0x0c27, 0xd1c: 0x0d73, 0xd1d: 0x1357, + 0xd1e: 0x06f7, 0xd1f: 0x0a63, 0xd20: 0x0b93, 0xd21: 0x0f2f, 0xd22: 0x0faf, 0xd23: 0x0873, + 0xd24: 0x103b, 0xd25: 0x075f, 0xd26: 0x0b77, 0xd27: 0x06d7, 0xd28: 0x0deb, 0xd29: 0x0ca3, + 0xd2a: 0x110f, 0xd2b: 0x08c7, 0xd2c: 0x09b3, 0xd2d: 0x0ffb, 0xd2e: 0x1263, 0xd2f: 0x133b, + 0xd30: 0x0db7, 0xd31: 0x13f7, 0xd32: 0x0de3, 0xd33: 0x0c37, 0xd34: 0x121b, 0xd35: 0x0c57, + 0xd36: 0x0fab, 0xd37: 0x072b, 0xd38: 0x07a7, 0xd39: 0x07eb, 0xd3a: 0x0d53, 0xd3b: 0x10fb, + 0xd3c: 0x11f3, 0xd3d: 0x1347, 0xd3e: 0x145b, 0xd3f: 0x085b, + // Block 0x35, offset 0xd40 + 0xd40: 0x090f, 0xd41: 0x0a17, 0xd42: 0x0b2f, 0xd43: 0x0cbf, 0xd44: 0x0e7b, 0xd45: 0x103f, + 0xd46: 0x1497, 0xd47: 0x157b, 0xd48: 0x15cf, 0xd49: 0x15e7, 0xd4a: 0x0837, 0xd4b: 0x0cf3, + 0xd4c: 0x0da3, 0xd4d: 0x13eb, 0xd4e: 0x0afb, 0xd4f: 0x0bd7, 0xd50: 0x0bf3, 0xd51: 0x0c83, + 0xd52: 0x0e6b, 0xd53: 0x0eb7, 0xd54: 0x0f67, 0xd55: 0x108b, 0xd56: 0x112f, 0xd57: 0x1193, + 0xd58: 0x13db, 0xd59: 0x126b, 0xd5a: 0x1403, 0xd5b: 0x147f, 0xd5c: 0x080f, 0xd5d: 0x083b, + 0xd5e: 0x0923, 0xd5f: 0x0ea7, 0xd60: 0x12f3, 0xd61: 0x133b, 0xd62: 0x0b1b, 0xd63: 0x0b8b, + 0xd64: 0x0c4f, 0xd65: 0x0daf, 0xd66: 0x10d7, 0xd67: 0x0f23, 0xd68: 0x073b, 0xd69: 0x097f, + 0xd6a: 0x0a63, 0xd6b: 0x0ac7, 0xd6c: 0x0b97, 0xd6d: 0x0f3f, 0xd6e: 0x0f5b, 0xd6f: 0x116b, + 0xd70: 0x118b, 0xd71: 0x1463, 0xd72: 0x14e3, 0xd73: 0x14f3, 0xd74: 0x152f, 0xd75: 0x0753, + 0xd76: 0x107f, 0xd77: 0x144f, 0xd78: 0x14cb, 0xd79: 0x0baf, 0xd7a: 0x0717, 0xd7b: 0x0777, + 0xd7c: 0x0a67, 0xd7d: 0x0a87, 0xd7e: 0x0caf, 0xd7f: 0x0d73, + // Block 0x36, offset 0xd80 + 0xd80: 0x0ec3, 0xd81: 0x0fcb, 0xd82: 0x1277, 0xd83: 0x1417, 0xd84: 0x1623, 0xd85: 0x0ce3, + 0xd86: 0x14a3, 0xd87: 0x0833, 0xd88: 0x0d2f, 0xd89: 0x0d3b, 0xd8a: 0x0e0f, 0xd8b: 0x0e47, + 0xd8c: 0x0f4b, 0xd8d: 0x0fa7, 0xd8e: 0x1027, 0xd8f: 0x110b, 0xd90: 0x153b, 0xd91: 0x07af, + 0xd92: 0x0c03, 0xd93: 0x14b3, 0xd94: 0x0767, 0xd95: 0x0aab, 0xd96: 0x0e2f, 0xd97: 0x13df, + 0xd98: 0x0b67, 0xd99: 0x0bb7, 0xd9a: 0x0d43, 0xd9b: 0x0f2f, 0xd9c: 0x14bb, 0xd9d: 0x0817, + 0xd9e: 0x08ff, 0xd9f: 0x0a97, 0xda0: 0x0cd3, 0xda1: 0x0d1f, 0xda2: 0x0d5f, 0xda3: 0x0df3, + 0xda4: 0x0f47, 0xda5: 0x0fbb, 0xda6: 0x1157, 0xda7: 0x12f7, 0xda8: 0x1303, 0xda9: 0x1457, + 0xdaa: 0x14d7, 0xdab: 0x0883, 0xdac: 0x0e4b, 0xdad: 0x0903, 0xdae: 0x0ec7, 0xdaf: 0x0f6b, + 0xdb0: 0x1287, 0xdb1: 0x14bf, 0xdb2: 0x15ab, 0xdb3: 0x15d3, 0xdb4: 0x0d37, 0xdb5: 0x0e27, + 0xdb6: 0x11c3, 0xdb7: 0x10b7, 0xdb8: 0x10c3, 0xdb9: 0x10e7, 0xdba: 0x0f17, 0xdbb: 0x0e9f, + 0xdbc: 0x1363, 0xdbd: 0x0733, 0xdbe: 0x122b, 0xdbf: 0x081b, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x080b, 0xdc1: 0x0b0b, 0xdc2: 0x0c2b, 0xdc3: 0x10f3, 0xdc4: 0x0a53, 0xdc5: 0x0e03, + 0xdc6: 0x0cef, 0xdc7: 0x13e7, 0xdc8: 0x12e7, 0xdc9: 0x14ab, 0xdca: 0x1323, 0xdcb: 0x0b27, + 0xdcc: 0x0787, 0xdcd: 0x095b, 0xdd0: 0x09af, + 0xdd2: 0x0cdf, 0xdd5: 0x07f7, 0xdd6: 0x0f1f, 0xdd7: 0x0fe3, + 0xdd8: 0x1047, 0xdd9: 0x1063, 0xdda: 0x1067, 0xddb: 0x107b, 0xddc: 0x14fb, 0xddd: 0x10eb, + 0xdde: 0x116f, 0xde0: 0x128f, 0xde2: 0x1353, + 0xde5: 0x1407, 0xde6: 0x1433, + 0xdea: 0x154f, 0xdeb: 0x1553, 0xdec: 0x1557, 0xded: 0x15bb, 0xdee: 0x142b, 0xdef: 0x14c7, + 0xdf0: 0x0757, 0xdf1: 0x077b, 0xdf2: 0x078f, 0xdf3: 0x084b, 0xdf4: 0x0857, 0xdf5: 0x0897, + 0xdf6: 0x094b, 0xdf7: 0x0967, 0xdf8: 0x096f, 0xdf9: 0x09ab, 0xdfa: 0x09b7, 0xdfb: 0x0a93, + 0xdfc: 0x0a9b, 0xdfd: 0x0ba3, 0xdfe: 0x0bcb, 0xdff: 0x0bd3, + // Block 0x38, offset 0xe00 + 0xe00: 0x0beb, 0xe01: 0x0c97, 0xe02: 0x0cc7, 0xe03: 0x0ce7, 0xe04: 0x0d57, 0xe05: 0x0e1b, + 0xe06: 0x0e37, 0xe07: 0x0e67, 0xe08: 0x0ebb, 0xe09: 0x0edb, 0xe0a: 0x0f4f, 0xe0b: 0x102f, + 0xe0c: 0x104b, 0xe0d: 0x1053, 0xe0e: 0x104f, 0xe0f: 0x1057, 0xe10: 0x105b, 0xe11: 0x105f, + 0xe12: 0x1073, 0xe13: 0x1077, 0xe14: 0x109b, 0xe15: 0x10af, 0xe16: 0x10cb, 0xe17: 0x112f, + 0xe18: 0x1137, 0xe19: 0x113f, 0xe1a: 0x1153, 0xe1b: 0x117b, 0xe1c: 0x11cb, 0xe1d: 0x11ff, + 0xe1e: 0x11ff, 0xe1f: 0x1267, 0xe20: 0x130f, 0xe21: 0x1327, 0xe22: 0x135b, 0xe23: 0x135f, + 0xe24: 0x13a3, 0xe25: 0x13a7, 0xe26: 0x13ff, 0xe27: 0x1407, 0xe28: 0x14db, 0xe29: 0x151f, + 0xe2a: 0x1537, 0xe2b: 0x0b9b, 0xe2c: 0x171e, 0xe2d: 0x11e3, + 0xe30: 0x06df, 0xe31: 0x07e3, 0xe32: 0x07a3, 0xe33: 0x074b, 0xe34: 0x078b, 0xe35: 0x07b7, + 0xe36: 0x0847, 0xe37: 0x0863, 0xe38: 0x094b, 0xe39: 0x0937, 0xe3a: 0x0947, 0xe3b: 0x0963, + 0xe3c: 0x09af, 0xe3d: 0x09bf, 0xe3e: 0x0a03, 0xe3f: 0x0a0f, + // Block 0x39, offset 0xe40 + 0xe40: 0x0a2b, 0xe41: 0x0a3b, 0xe42: 0x0b23, 0xe43: 0x0b2b, 0xe44: 0x0b5b, 0xe45: 0x0b7b, + 0xe46: 0x0bab, 0xe47: 0x0bc3, 0xe48: 0x0bb3, 0xe49: 0x0bd3, 0xe4a: 0x0bc7, 0xe4b: 0x0beb, + 0xe4c: 0x0c07, 0xe4d: 0x0c5f, 0xe4e: 0x0c6b, 0xe4f: 0x0c73, 0xe50: 0x0c9b, 0xe51: 0x0cdf, + 0xe52: 0x0d0f, 0xe53: 0x0d13, 0xe54: 0x0d27, 0xe55: 0x0da7, 0xe56: 0x0db7, 0xe57: 0x0e0f, + 0xe58: 0x0e5b, 0xe59: 0x0e53, 0xe5a: 0x0e67, 0xe5b: 0x0e83, 0xe5c: 0x0ebb, 0xe5d: 0x1013, + 0xe5e: 0x0edf, 0xe5f: 0x0f13, 0xe60: 0x0f1f, 0xe61: 0x0f5f, 0xe62: 0x0f7b, 0xe63: 0x0f9f, + 0xe64: 0x0fc3, 0xe65: 0x0fc7, 0xe66: 0x0fe3, 0xe67: 0x0fe7, 0xe68: 0x0ff7, 0xe69: 0x100b, + 0xe6a: 0x1007, 0xe6b: 0x1037, 0xe6c: 0x10b3, 0xe6d: 0x10cb, 0xe6e: 0x10e3, 0xe6f: 0x111b, + 0xe70: 0x112f, 0xe71: 0x114b, 0xe72: 0x117b, 0xe73: 0x122f, 0xe74: 0x1257, 0xe75: 0x12cb, + 0xe76: 0x1313, 0xe77: 0x131f, 0xe78: 0x1327, 0xe79: 0x133f, 0xe7a: 0x1353, 0xe7b: 0x1343, + 0xe7c: 0x135b, 0xe7d: 0x1357, 0xe7e: 0x134f, 0xe7f: 0x135f, + // Block 0x3a, offset 0xe80 + 0xe80: 0x136b, 0xe81: 0x13a7, 0xe82: 0x13e3, 0xe83: 0x1413, 0xe84: 0x144b, 0xe85: 0x146b, + 0xe86: 0x14b7, 0xe87: 0x14db, 0xe88: 0x14fb, 0xe89: 0x150f, 0xe8a: 0x151f, 0xe8b: 0x152b, + 0xe8c: 0x1537, 0xe8d: 0x158b, 0xe8e: 0x162b, 0xe8f: 0x16b5, 0xe90: 0x16b0, 0xe91: 0x16e2, + 0xe92: 0x0607, 0xe93: 0x062f, 0xe94: 0x0633, 0xe95: 0x1764, 0xe96: 0x1791, 0xe97: 0x1809, + 0xe98: 0x1617, 0xe99: 0x1627, + // Block 0x3b, offset 0xec0 + 0xec0: 0x19d5, 0xec1: 0x19d8, 0xec2: 0x19db, 0xec3: 0x1c08, 0xec4: 0x1c0c, 0xec5: 0x1a5f, + 0xec6: 0x1a5f, + 0xed3: 0x1d75, 0xed4: 0x1d66, 0xed5: 0x1d6b, 0xed6: 0x1d7a, 0xed7: 0x1d70, + 0xedd: 0x4390, + 0xede: 0x8115, 0xedf: 0x4402, 0xee0: 0x022d, 0xee1: 0x0215, 0xee2: 0x021e, 0xee3: 0x0221, + 0xee4: 0x0224, 0xee5: 0x0227, 0xee6: 0x022a, 0xee7: 0x0230, 0xee8: 0x0233, 0xee9: 0x0017, + 0xeea: 0x43f0, 0xeeb: 0x43f6, 0xeec: 0x44f4, 0xeed: 0x44fc, 0xeee: 0x4348, 0xeef: 0x434e, + 0xef0: 0x4354, 0xef1: 0x435a, 0xef2: 0x4366, 0xef3: 0x436c, 0xef4: 0x4372, 0xef5: 0x437e, + 0xef6: 0x4384, 0xef8: 0x438a, 0xef9: 0x4396, 0xefa: 0x439c, 0xefb: 0x43a2, + 0xefc: 0x43ae, 0xefe: 0x43b4, + // Block 0x3c, offset 0xf00 + 0xf00: 0x43ba, 0xf01: 0x43c0, 0xf03: 0x43c6, 0xf04: 0x43cc, + 0xf06: 0x43d8, 0xf07: 0x43de, 0xf08: 0x43e4, 0xf09: 0x43ea, 0xf0a: 0x43fc, 0xf0b: 0x4378, + 0xf0c: 0x4360, 0xf0d: 0x43a8, 0xf0e: 0x43d2, 0xf0f: 0x1d7f, 0xf10: 0x0299, 0xf11: 0x0299, + 0xf12: 0x02a2, 0xf13: 0x02a2, 0xf14: 0x02a2, 0xf15: 0x02a2, 0xf16: 0x02a5, 0xf17: 0x02a5, + 0xf18: 0x02a5, 0xf19: 0x02a5, 0xf1a: 0x02ab, 0xf1b: 0x02ab, 0xf1c: 0x02ab, 0xf1d: 0x02ab, + 0xf1e: 0x029f, 0xf1f: 0x029f, 0xf20: 0x029f, 0xf21: 0x029f, 0xf22: 0x02a8, 0xf23: 0x02a8, + 0xf24: 0x02a8, 0xf25: 0x02a8, 0xf26: 0x029c, 0xf27: 0x029c, 0xf28: 0x029c, 0xf29: 0x029c, + 0xf2a: 0x02cf, 0xf2b: 0x02cf, 0xf2c: 0x02cf, 0xf2d: 0x02cf, 0xf2e: 0x02d2, 0xf2f: 0x02d2, + 0xf30: 0x02d2, 0xf31: 0x02d2, 0xf32: 0x02b1, 0xf33: 0x02b1, 0xf34: 0x02b1, 0xf35: 0x02b1, + 0xf36: 0x02ae, 0xf37: 0x02ae, 0xf38: 0x02ae, 0xf39: 0x02ae, 0xf3a: 0x02b4, 0xf3b: 0x02b4, + 0xf3c: 0x02b4, 0xf3d: 0x02b4, 0xf3e: 0x02b7, 0xf3f: 0x02b7, + // Block 0x3d, offset 0xf40 + 0xf40: 0x02b7, 0xf41: 0x02b7, 0xf42: 0x02c0, 0xf43: 0x02c0, 0xf44: 0x02bd, 0xf45: 0x02bd, + 0xf46: 0x02c3, 0xf47: 0x02c3, 0xf48: 0x02ba, 0xf49: 0x02ba, 0xf4a: 0x02c9, 0xf4b: 0x02c9, + 0xf4c: 0x02c6, 0xf4d: 0x02c6, 0xf4e: 0x02d5, 0xf4f: 0x02d5, 0xf50: 0x02d5, 0xf51: 0x02d5, + 0xf52: 0x02db, 0xf53: 0x02db, 0xf54: 0x02db, 0xf55: 0x02db, 0xf56: 0x02e1, 0xf57: 0x02e1, + 0xf58: 0x02e1, 0xf59: 0x02e1, 0xf5a: 0x02de, 0xf5b: 0x02de, 0xf5c: 0x02de, 0xf5d: 0x02de, + 0xf5e: 0x02e4, 0xf5f: 0x02e4, 0xf60: 0x02e7, 0xf61: 0x02e7, 0xf62: 0x02e7, 0xf63: 0x02e7, + 0xf64: 0x446e, 0xf65: 0x446e, 0xf66: 0x02ed, 0xf67: 0x02ed, 0xf68: 0x02ed, 0xf69: 0x02ed, + 0xf6a: 0x02ea, 0xf6b: 0x02ea, 0xf6c: 0x02ea, 0xf6d: 0x02ea, 0xf6e: 0x0308, 0xf6f: 0x0308, + 0xf70: 0x4468, 0xf71: 0x4468, + // Block 0x3e, offset 0xf80 + 0xf93: 0x02d8, 0xf94: 0x02d8, 0xf95: 0x02d8, 0xf96: 0x02d8, 0xf97: 0x02f6, + 0xf98: 0x02f6, 0xf99: 0x02f3, 0xf9a: 0x02f3, 0xf9b: 0x02f9, 0xf9c: 0x02f9, 0xf9d: 0x204f, + 0xf9e: 0x02ff, 0xf9f: 0x02ff, 0xfa0: 0x02f0, 0xfa1: 0x02f0, 0xfa2: 0x02fc, 0xfa3: 0x02fc, + 0xfa4: 0x0305, 0xfa5: 0x0305, 0xfa6: 0x0305, 0xfa7: 0x0305, 0xfa8: 0x028d, 0xfa9: 0x028d, + 0xfaa: 0x25aa, 0xfab: 0x25aa, 0xfac: 0x261a, 0xfad: 0x261a, 0xfae: 0x25e9, 0xfaf: 0x25e9, + 0xfb0: 0x2605, 0xfb1: 0x2605, 0xfb2: 0x25fe, 0xfb3: 0x25fe, 0xfb4: 0x260c, 0xfb5: 0x260c, + 0xfb6: 0x2613, 0xfb7: 0x2613, 0xfb8: 0x2613, 0xfb9: 0x25f0, 0xfba: 0x25f0, 0xfbb: 0x25f0, + 0xfbc: 0x0302, 0xfbd: 0x0302, 0xfbe: 0x0302, 0xfbf: 0x0302, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x25b1, 0xfc1: 0x25b8, 0xfc2: 0x25d4, 0xfc3: 0x25f0, 0xfc4: 0x25f7, 0xfc5: 0x1d89, + 0xfc6: 0x1d8e, 0xfc7: 0x1d93, 0xfc8: 0x1da2, 0xfc9: 0x1db1, 0xfca: 0x1db6, 0xfcb: 0x1dbb, + 0xfcc: 0x1dc0, 0xfcd: 0x1dc5, 0xfce: 0x1dd4, 0xfcf: 0x1de3, 0xfd0: 0x1de8, 0xfd1: 0x1ded, + 0xfd2: 0x1dfc, 0xfd3: 0x1e0b, 0xfd4: 0x1e10, 0xfd5: 0x1e15, 0xfd6: 0x1e1a, 0xfd7: 0x1e29, + 0xfd8: 0x1e2e, 0xfd9: 0x1e3d, 0xfda: 0x1e42, 0xfdb: 0x1e47, 0xfdc: 0x1e56, 0xfdd: 0x1e5b, + 0xfde: 0x1e60, 0xfdf: 0x1e6a, 0xfe0: 0x1ea6, 0xfe1: 0x1eb5, 0xfe2: 0x1ec4, 0xfe3: 0x1ec9, + 0xfe4: 0x1ece, 0xfe5: 0x1ed8, 0xfe6: 0x1ee7, 0xfe7: 0x1eec, 0xfe8: 0x1efb, 0xfe9: 0x1f00, + 0xfea: 0x1f05, 0xfeb: 0x1f14, 0xfec: 0x1f19, 0xfed: 0x1f28, 0xfee: 0x1f2d, 0xfef: 0x1f32, + 0xff0: 0x1f37, 0xff1: 0x1f3c, 0xff2: 0x1f41, 0xff3: 0x1f46, 0xff4: 0x1f4b, 0xff5: 0x1f50, + 0xff6: 0x1f55, 0xff7: 0x1f5a, 0xff8: 0x1f5f, 0xff9: 0x1f64, 0xffa: 0x1f69, 0xffb: 0x1f6e, + 0xffc: 0x1f73, 0xffd: 0x1f78, 0xffe: 0x1f7d, 0xfff: 0x1f87, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f8c, 0x1001: 0x1f91, 0x1002: 0x1f96, 0x1003: 0x1fa0, 0x1004: 0x1fa5, 0x1005: 0x1faf, + 0x1006: 0x1fb4, 0x1007: 0x1fb9, 0x1008: 0x1fbe, 0x1009: 0x1fc3, 0x100a: 0x1fc8, 0x100b: 0x1fcd, + 0x100c: 0x1fd2, 0x100d: 0x1fd7, 0x100e: 0x1fe6, 0x100f: 0x1ff5, 0x1010: 0x1ffa, 0x1011: 0x1fff, + 0x1012: 0x2004, 0x1013: 0x2009, 0x1014: 0x200e, 0x1015: 0x2018, 0x1016: 0x201d, 0x1017: 0x2022, + 0x1018: 0x2031, 0x1019: 0x2040, 0x101a: 0x2045, 0x101b: 0x4420, 0x101c: 0x4426, 0x101d: 0x445c, + 0x101e: 0x44b3, 0x101f: 0x44ba, 0x1020: 0x44c1, 0x1021: 0x44c8, 0x1022: 0x44cf, 0x1023: 0x44d6, + 0x1024: 0x25c6, 0x1025: 0x25cd, 0x1026: 0x25d4, 0x1027: 0x25db, 0x1028: 0x25f0, 0x1029: 0x25f7, + 0x102a: 0x1d98, 0x102b: 0x1d9d, 0x102c: 0x1da2, 0x102d: 0x1da7, 0x102e: 0x1db1, 0x102f: 0x1db6, + 0x1030: 0x1dca, 0x1031: 0x1dcf, 0x1032: 0x1dd4, 0x1033: 0x1dd9, 0x1034: 0x1de3, 0x1035: 0x1de8, + 0x1036: 0x1df2, 0x1037: 0x1df7, 0x1038: 0x1dfc, 0x1039: 0x1e01, 0x103a: 0x1e0b, 0x103b: 0x1e10, + 0x103c: 0x1f3c, 0x103d: 0x1f41, 0x103e: 0x1f50, 0x103f: 0x1f55, + // Block 0x41, offset 0x1040 + 0x1040: 0x1f5a, 0x1041: 0x1f6e, 0x1042: 0x1f73, 0x1043: 0x1f78, 0x1044: 0x1f7d, 0x1045: 0x1f96, + 0x1046: 0x1fa0, 0x1047: 0x1fa5, 0x1048: 0x1faa, 0x1049: 0x1fbe, 0x104a: 0x1fdc, 0x104b: 0x1fe1, + 0x104c: 0x1fe6, 0x104d: 0x1feb, 0x104e: 0x1ff5, 0x104f: 0x1ffa, 0x1050: 0x445c, 0x1051: 0x2027, + 0x1052: 0x202c, 0x1053: 0x2031, 0x1054: 0x2036, 0x1055: 0x2040, 0x1056: 0x2045, 0x1057: 0x25b1, + 0x1058: 0x25b8, 0x1059: 0x25bf, 0x105a: 0x25d4, 0x105b: 0x25e2, 0x105c: 0x1d89, 0x105d: 0x1d8e, + 0x105e: 0x1d93, 0x105f: 0x1da2, 0x1060: 0x1dac, 0x1061: 0x1dbb, 0x1062: 0x1dc0, 0x1063: 0x1dc5, + 0x1064: 0x1dd4, 0x1065: 0x1dde, 0x1066: 0x1dfc, 0x1067: 0x1e15, 0x1068: 0x1e1a, 0x1069: 0x1e29, + 0x106a: 0x1e2e, 0x106b: 0x1e3d, 0x106c: 0x1e47, 0x106d: 0x1e56, 0x106e: 0x1e5b, 0x106f: 0x1e60, + 0x1070: 0x1e6a, 0x1071: 0x1ea6, 0x1072: 0x1eab, 0x1073: 0x1eb5, 0x1074: 0x1ec4, 0x1075: 0x1ec9, + 0x1076: 0x1ece, 0x1077: 0x1ed8, 0x1078: 0x1ee7, 0x1079: 0x1efb, 0x107a: 0x1f00, 0x107b: 0x1f05, + 0x107c: 0x1f14, 0x107d: 0x1f19, 0x107e: 0x1f28, 0x107f: 0x1f2d, + // Block 0x42, offset 0x1080 + 0x1080: 0x1f32, 0x1081: 0x1f37, 0x1082: 0x1f46, 0x1083: 0x1f4b, 0x1084: 0x1f5f, 0x1085: 0x1f64, + 0x1086: 0x1f69, 0x1087: 0x1f6e, 0x1088: 0x1f73, 0x1089: 0x1f87, 0x108a: 0x1f8c, 0x108b: 0x1f91, + 0x108c: 0x1f96, 0x108d: 0x1f9b, 0x108e: 0x1faf, 0x108f: 0x1fb4, 0x1090: 0x1fb9, 0x1091: 0x1fbe, + 0x1092: 0x1fcd, 0x1093: 0x1fd2, 0x1094: 0x1fd7, 0x1095: 0x1fe6, 0x1096: 0x1ff0, 0x1097: 0x1fff, + 0x1098: 0x2004, 0x1099: 0x4450, 0x109a: 0x2018, 0x109b: 0x201d, 0x109c: 0x2022, 0x109d: 0x2031, + 0x109e: 0x203b, 0x109f: 0x25d4, 0x10a0: 0x25e2, 0x10a1: 0x1da2, 0x10a2: 0x1dac, 0x10a3: 0x1dd4, + 0x10a4: 0x1dde, 0x10a5: 0x1dfc, 0x10a6: 0x1e06, 0x10a7: 0x1e6a, 0x10a8: 0x1e6f, 0x10a9: 0x1e92, + 0x10aa: 0x1e97, 0x10ab: 0x1f6e, 0x10ac: 0x1f73, 0x10ad: 0x1f96, 0x10ae: 0x1fe6, 0x10af: 0x1ff0, + 0x10b0: 0x2031, 0x10b1: 0x203b, 0x10b2: 0x4504, 0x10b3: 0x450c, 0x10b4: 0x4514, 0x10b5: 0x1ef1, + 0x10b6: 0x1ef6, 0x10b7: 0x1f0a, 0x10b8: 0x1f0f, 0x10b9: 0x1f1e, 0x10ba: 0x1f23, 0x10bb: 0x1e74, + 0x10bc: 0x1e79, 0x10bd: 0x1e9c, 0x10be: 0x1ea1, 0x10bf: 0x1e33, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x1e38, 0x10c1: 0x1e1f, 0x10c2: 0x1e24, 0x10c3: 0x1e4c, 0x10c4: 0x1e51, 0x10c5: 0x1eba, + 0x10c6: 0x1ebf, 0x10c7: 0x1edd, 0x10c8: 0x1ee2, 0x10c9: 0x1e7e, 0x10ca: 0x1e83, 0x10cb: 0x1e88, + 0x10cc: 0x1e92, 0x10cd: 0x1e8d, 0x10ce: 0x1e65, 0x10cf: 0x1eb0, 0x10d0: 0x1ed3, 0x10d1: 0x1ef1, + 0x10d2: 0x1ef6, 0x10d3: 0x1f0a, 0x10d4: 0x1f0f, 0x10d5: 0x1f1e, 0x10d6: 0x1f23, 0x10d7: 0x1e74, + 0x10d8: 0x1e79, 0x10d9: 0x1e9c, 0x10da: 0x1ea1, 0x10db: 0x1e33, 0x10dc: 0x1e38, 0x10dd: 0x1e1f, + 0x10de: 0x1e24, 0x10df: 0x1e4c, 0x10e0: 0x1e51, 0x10e1: 0x1eba, 0x10e2: 0x1ebf, 0x10e3: 0x1edd, + 0x10e4: 0x1ee2, 0x10e5: 0x1e7e, 0x10e6: 0x1e83, 0x10e7: 0x1e88, 0x10e8: 0x1e92, 0x10e9: 0x1e8d, + 0x10ea: 0x1e65, 0x10eb: 0x1eb0, 0x10ec: 0x1ed3, 0x10ed: 0x1e7e, 0x10ee: 0x1e83, 0x10ef: 0x1e88, + 0x10f0: 0x1e92, 0x10f1: 0x1e6f, 0x10f2: 0x1e97, 0x10f3: 0x1eec, 0x10f4: 0x1e56, 0x10f5: 0x1e5b, + 0x10f6: 0x1e60, 0x10f7: 0x1e7e, 0x10f8: 0x1e83, 0x10f9: 0x1e88, 0x10fa: 0x1eec, 0x10fb: 0x1efb, + 0x10fc: 0x4408, 0x10fd: 0x4408, + // Block 0x44, offset 0x1100 + 0x1110: 0x2311, 0x1111: 0x2326, + 0x1112: 0x2326, 0x1113: 0x232d, 0x1114: 0x2334, 0x1115: 0x2349, 0x1116: 0x2350, 0x1117: 0x2357, + 0x1118: 0x237a, 0x1119: 0x237a, 0x111a: 0x239d, 0x111b: 0x2396, 0x111c: 0x23b2, 0x111d: 0x23a4, + 0x111e: 0x23ab, 0x111f: 0x23ce, 0x1120: 0x23ce, 0x1121: 0x23c7, 0x1122: 0x23d5, 0x1123: 0x23d5, + 0x1124: 0x23ff, 0x1125: 0x23ff, 0x1126: 0x241b, 0x1127: 0x23e3, 0x1128: 0x23e3, 0x1129: 0x23dc, + 0x112a: 0x23f1, 0x112b: 0x23f1, 0x112c: 0x23f8, 0x112d: 0x23f8, 0x112e: 0x2422, 0x112f: 0x2430, + 0x1130: 0x2430, 0x1131: 0x2437, 0x1132: 0x2437, 0x1133: 0x243e, 0x1134: 0x2445, 0x1135: 0x244c, + 0x1136: 0x2453, 0x1137: 0x2453, 0x1138: 0x245a, 0x1139: 0x2468, 0x113a: 0x2476, 0x113b: 0x246f, + 0x113c: 0x247d, 0x113d: 0x247d, 0x113e: 0x2492, 0x113f: 0x2499, + // Block 0x45, offset 0x1140 + 0x1140: 0x24ca, 0x1141: 0x24d8, 0x1142: 0x24d1, 0x1143: 0x24b5, 0x1144: 0x24b5, 0x1145: 0x24df, + 0x1146: 0x24df, 0x1147: 0x24e6, 0x1148: 0x24e6, 0x1149: 0x2510, 0x114a: 0x2517, 0x114b: 0x251e, + 0x114c: 0x24f4, 0x114d: 0x2502, 0x114e: 0x2525, 0x114f: 0x252c, + 0x1152: 0x24fb, 0x1153: 0x2580, 0x1154: 0x2587, 0x1155: 0x255d, 0x1156: 0x2564, 0x1157: 0x2548, + 0x1158: 0x2548, 0x1159: 0x254f, 0x115a: 0x2579, 0x115b: 0x2572, 0x115c: 0x259c, 0x115d: 0x259c, + 0x115e: 0x230a, 0x115f: 0x231f, 0x1160: 0x2318, 0x1161: 0x2342, 0x1162: 0x233b, 0x1163: 0x2365, + 0x1164: 0x235e, 0x1165: 0x2388, 0x1166: 0x236c, 0x1167: 0x2381, 0x1168: 0x23b9, 0x1169: 0x2406, + 0x116a: 0x23ea, 0x116b: 0x2429, 0x116c: 0x24c3, 0x116d: 0x24ed, 0x116e: 0x2595, 0x116f: 0x258e, + 0x1170: 0x25a3, 0x1171: 0x253a, 0x1172: 0x24a0, 0x1173: 0x256b, 0x1174: 0x2492, 0x1175: 0x24ca, + 0x1176: 0x2461, 0x1177: 0x24ae, 0x1178: 0x2541, 0x1179: 0x2533, 0x117a: 0x24bc, 0x117b: 0x24a7, + 0x117c: 0x24bc, 0x117d: 0x2541, 0x117e: 0x2373, 0x117f: 0x238f, + // Block 0x46, offset 0x1180 + 0x1180: 0x2509, 0x1181: 0x2484, 0x1182: 0x2303, 0x1183: 0x24a7, 0x1184: 0x244c, 0x1185: 0x241b, + 0x1186: 0x23c0, 0x1187: 0x2556, + 0x11b0: 0x2414, 0x11b1: 0x248b, 0x11b2: 0x27bf, 0x11b3: 0x27b6, 0x11b4: 0x27ec, 0x11b5: 0x27da, + 0x11b6: 0x27c8, 0x11b7: 0x27e3, 0x11b8: 0x27f5, 0x11b9: 0x240d, 0x11ba: 0x2c7c, 0x11bb: 0x2afc, + 0x11bc: 0x27d1, + // Block 0x47, offset 0x11c0 + 0x11d0: 0x0019, 0x11d1: 0x0483, + 0x11d2: 0x0487, 0x11d3: 0x0035, 0x11d4: 0x0037, 0x11d5: 0x0003, 0x11d6: 0x003f, 0x11d7: 0x04bf, + 0x11d8: 0x04c3, 0x11d9: 0x1b5c, + 0x11e0: 0x8132, 0x11e1: 0x8132, 0x11e2: 0x8132, 0x11e3: 0x8132, + 0x11e4: 0x8132, 0x11e5: 0x8132, 0x11e6: 0x8132, 0x11e7: 0x812d, 0x11e8: 0x812d, 0x11e9: 0x812d, + 0x11ea: 0x812d, 0x11eb: 0x812d, 0x11ec: 0x812d, 0x11ed: 0x812d, 0x11ee: 0x8132, 0x11ef: 0x8132, + 0x11f0: 0x1873, 0x11f1: 0x0443, 0x11f2: 0x043f, 0x11f3: 0x007f, 0x11f4: 0x007f, 0x11f5: 0x0011, + 0x11f6: 0x0013, 0x11f7: 0x00b7, 0x11f8: 0x00bb, 0x11f9: 0x04b7, 0x11fa: 0x04bb, 0x11fb: 0x04ab, + 0x11fc: 0x04af, 0x11fd: 0x0493, 0x11fe: 0x0497, 0x11ff: 0x048b, + // Block 0x48, offset 0x1200 + 0x1200: 0x048f, 0x1201: 0x049b, 0x1202: 0x049f, 0x1203: 0x04a3, 0x1204: 0x04a7, + 0x1207: 0x0077, 0x1208: 0x007b, 0x1209: 0x4269, 0x120a: 0x4269, 0x120b: 0x4269, + 0x120c: 0x4269, 0x120d: 0x007f, 0x120e: 0x007f, 0x120f: 0x007f, 0x1210: 0x0019, 0x1211: 0x0483, + 0x1212: 0x001d, 0x1214: 0x0037, 0x1215: 0x0035, 0x1216: 0x003f, 0x1217: 0x0003, + 0x1218: 0x0443, 0x1219: 0x0011, 0x121a: 0x0013, 0x121b: 0x00b7, 0x121c: 0x00bb, 0x121d: 0x04b7, + 0x121e: 0x04bb, 0x121f: 0x0007, 0x1220: 0x000d, 0x1221: 0x0015, 0x1222: 0x0017, 0x1223: 0x001b, + 0x1224: 0x0039, 0x1225: 0x003d, 0x1226: 0x003b, 0x1228: 0x0079, 0x1229: 0x0009, + 0x122a: 0x000b, 0x122b: 0x0041, + 0x1230: 0x42aa, 0x1231: 0x442c, 0x1232: 0x42af, 0x1234: 0x42b4, + 0x1236: 0x42b9, 0x1237: 0x4432, 0x1238: 0x42be, 0x1239: 0x4438, 0x123a: 0x42c3, 0x123b: 0x443e, + 0x123c: 0x42c8, 0x123d: 0x4444, 0x123e: 0x42cd, 0x123f: 0x444a, + // Block 0x49, offset 0x1240 + 0x1240: 0x0236, 0x1241: 0x440e, 0x1242: 0x440e, 0x1243: 0x4414, 0x1244: 0x4414, 0x1245: 0x4456, + 0x1246: 0x4456, 0x1247: 0x441a, 0x1248: 0x441a, 0x1249: 0x4462, 0x124a: 0x4462, 0x124b: 0x4462, + 0x124c: 0x4462, 0x124d: 0x0239, 0x124e: 0x0239, 0x124f: 0x023c, 0x1250: 0x023c, 0x1251: 0x023c, + 0x1252: 0x023c, 0x1253: 0x023f, 0x1254: 0x023f, 0x1255: 0x0242, 0x1256: 0x0242, 0x1257: 0x0242, + 0x1258: 0x0242, 0x1259: 0x0245, 0x125a: 0x0245, 0x125b: 0x0245, 0x125c: 0x0245, 0x125d: 0x0248, + 0x125e: 0x0248, 0x125f: 0x0248, 0x1260: 0x0248, 0x1261: 0x024b, 0x1262: 0x024b, 0x1263: 0x024b, + 0x1264: 0x024b, 0x1265: 0x024e, 0x1266: 0x024e, 0x1267: 0x024e, 0x1268: 0x024e, 0x1269: 0x0251, + 0x126a: 0x0251, 0x126b: 0x0254, 0x126c: 0x0254, 0x126d: 0x0257, 0x126e: 0x0257, 0x126f: 0x025a, + 0x1270: 0x025a, 0x1271: 0x025d, 0x1272: 0x025d, 0x1273: 0x025d, 0x1274: 0x025d, 0x1275: 0x0260, + 0x1276: 0x0260, 0x1277: 0x0260, 0x1278: 0x0260, 0x1279: 0x0263, 0x127a: 0x0263, 0x127b: 0x0263, + 0x127c: 0x0263, 0x127d: 0x0266, 0x127e: 0x0266, 0x127f: 0x0266, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0266, 0x1281: 0x0269, 0x1282: 0x0269, 0x1283: 0x0269, 0x1284: 0x0269, 0x1285: 0x026c, + 0x1286: 0x026c, 0x1287: 0x026c, 0x1288: 0x026c, 0x1289: 0x026f, 0x128a: 0x026f, 0x128b: 0x026f, + 0x128c: 0x026f, 0x128d: 0x0272, 0x128e: 0x0272, 0x128f: 0x0272, 0x1290: 0x0272, 0x1291: 0x0275, + 0x1292: 0x0275, 0x1293: 0x0275, 0x1294: 0x0275, 0x1295: 0x0278, 0x1296: 0x0278, 0x1297: 0x0278, + 0x1298: 0x0278, 0x1299: 0x027b, 0x129a: 0x027b, 0x129b: 0x027b, 0x129c: 0x027b, 0x129d: 0x027e, + 0x129e: 0x027e, 0x129f: 0x027e, 0x12a0: 0x027e, 0x12a1: 0x0281, 0x12a2: 0x0281, 0x12a3: 0x0281, + 0x12a4: 0x0281, 0x12a5: 0x0284, 0x12a6: 0x0284, 0x12a7: 0x0284, 0x12a8: 0x0284, 0x12a9: 0x0287, + 0x12aa: 0x0287, 0x12ab: 0x0287, 0x12ac: 0x0287, 0x12ad: 0x028a, 0x12ae: 0x028a, 0x12af: 0x028d, + 0x12b0: 0x028d, 0x12b1: 0x0290, 0x12b2: 0x0290, 0x12b3: 0x0290, 0x12b4: 0x0290, 0x12b5: 0x2e00, + 0x12b6: 0x2e00, 0x12b7: 0x2e08, 0x12b8: 0x2e08, 0x12b9: 0x2e10, 0x12ba: 0x2e10, 0x12bb: 0x1f82, + 0x12bc: 0x1f82, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x0081, 0x12c1: 0x0083, 0x12c2: 0x0085, 0x12c3: 0x0087, 0x12c4: 0x0089, 0x12c5: 0x008b, + 0x12c6: 0x008d, 0x12c7: 0x008f, 0x12c8: 0x0091, 0x12c9: 0x0093, 0x12ca: 0x0095, 0x12cb: 0x0097, + 0x12cc: 0x0099, 0x12cd: 0x009b, 0x12ce: 0x009d, 0x12cf: 0x009f, 0x12d0: 0x00a1, 0x12d1: 0x00a3, + 0x12d2: 0x00a5, 0x12d3: 0x00a7, 0x12d4: 0x00a9, 0x12d5: 0x00ab, 0x12d6: 0x00ad, 0x12d7: 0x00af, + 0x12d8: 0x00b1, 0x12d9: 0x00b3, 0x12da: 0x00b5, 0x12db: 0x00b7, 0x12dc: 0x00b9, 0x12dd: 0x00bb, + 0x12de: 0x00bd, 0x12df: 0x0477, 0x12e0: 0x047b, 0x12e1: 0x0487, 0x12e2: 0x049b, 0x12e3: 0x049f, + 0x12e4: 0x0483, 0x12e5: 0x05ab, 0x12e6: 0x05a3, 0x12e7: 0x04c7, 0x12e8: 0x04cf, 0x12e9: 0x04d7, + 0x12ea: 0x04df, 0x12eb: 0x04e7, 0x12ec: 0x056b, 0x12ed: 0x0573, 0x12ee: 0x057b, 0x12ef: 0x051f, + 0x12f0: 0x05af, 0x12f1: 0x04cb, 0x12f2: 0x04d3, 0x12f3: 0x04db, 0x12f4: 0x04e3, 0x12f5: 0x04eb, + 0x12f6: 0x04ef, 0x12f7: 0x04f3, 0x12f8: 0x04f7, 0x12f9: 0x04fb, 0x12fa: 0x04ff, 0x12fb: 0x0503, + 0x12fc: 0x0507, 0x12fd: 0x050b, 0x12fe: 0x050f, 0x12ff: 0x0513, + // Block 0x4c, offset 0x1300 + 0x1300: 0x0517, 0x1301: 0x051b, 0x1302: 0x0523, 0x1303: 0x0527, 0x1304: 0x052b, 0x1305: 0x052f, + 0x1306: 0x0533, 0x1307: 0x0537, 0x1308: 0x053b, 0x1309: 0x053f, 0x130a: 0x0543, 0x130b: 0x0547, + 0x130c: 0x054b, 0x130d: 0x054f, 0x130e: 0x0553, 0x130f: 0x0557, 0x1310: 0x055b, 0x1311: 0x055f, + 0x1312: 0x0563, 0x1313: 0x0567, 0x1314: 0x056f, 0x1315: 0x0577, 0x1316: 0x057f, 0x1317: 0x0583, + 0x1318: 0x0587, 0x1319: 0x058b, 0x131a: 0x058f, 0x131b: 0x0593, 0x131c: 0x0597, 0x131d: 0x05a7, + 0x131e: 0x4a78, 0x131f: 0x4a7e, 0x1320: 0x03c3, 0x1321: 0x0313, 0x1322: 0x0317, 0x1323: 0x4a3b, + 0x1324: 0x031b, 0x1325: 0x4a41, 0x1326: 0x4a47, 0x1327: 0x031f, 0x1328: 0x0323, 0x1329: 0x0327, + 0x132a: 0x4a4d, 0x132b: 0x4a53, 0x132c: 0x4a59, 0x132d: 0x4a5f, 0x132e: 0x4a65, 0x132f: 0x4a6b, + 0x1330: 0x0367, 0x1331: 0x032b, 0x1332: 0x032f, 0x1333: 0x0333, 0x1334: 0x037b, 0x1335: 0x0337, + 0x1336: 0x033b, 0x1337: 0x033f, 0x1338: 0x0343, 0x1339: 0x0347, 0x133a: 0x034b, 0x133b: 0x034f, + 0x133c: 0x0353, 0x133d: 0x0357, 0x133e: 0x035b, + // Block 0x4d, offset 0x1340 + 0x1342: 0x49bd, 0x1343: 0x49c3, 0x1344: 0x49c9, 0x1345: 0x49cf, + 0x1346: 0x49d5, 0x1347: 0x49db, 0x134a: 0x49e1, 0x134b: 0x49e7, + 0x134c: 0x49ed, 0x134d: 0x49f3, 0x134e: 0x49f9, 0x134f: 0x49ff, + 0x1352: 0x4a05, 0x1353: 0x4a0b, 0x1354: 0x4a11, 0x1355: 0x4a17, 0x1356: 0x4a1d, 0x1357: 0x4a23, + 0x135a: 0x4a29, 0x135b: 0x4a2f, 0x135c: 0x4a35, + 0x1360: 0x00bf, 0x1361: 0x00c2, 0x1362: 0x00cb, 0x1363: 0x4264, + 0x1364: 0x00c8, 0x1365: 0x00c5, 0x1366: 0x0447, 0x1368: 0x046b, 0x1369: 0x044b, + 0x136a: 0x044f, 0x136b: 0x0453, 0x136c: 0x0457, 0x136d: 0x046f, 0x136e: 0x0473, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0063, 0x1381: 0x0065, 0x1382: 0x0067, 0x1383: 0x0069, 0x1384: 0x006b, 0x1385: 0x006d, + 0x1386: 0x006f, 0x1387: 0x0071, 0x1388: 0x0073, 0x1389: 0x0075, 0x138a: 0x0083, 0x138b: 0x0085, + 0x138c: 0x0087, 0x138d: 0x0089, 0x138e: 0x008b, 0x138f: 0x008d, 0x1390: 0x008f, 0x1391: 0x0091, + 0x1392: 0x0093, 0x1393: 0x0095, 0x1394: 0x0097, 0x1395: 0x0099, 0x1396: 0x009b, 0x1397: 0x009d, + 0x1398: 0x009f, 0x1399: 0x00a1, 0x139a: 0x00a3, 0x139b: 0x00a5, 0x139c: 0x00a7, 0x139d: 0x00a9, + 0x139e: 0x00ab, 0x139f: 0x00ad, 0x13a0: 0x00af, 0x13a1: 0x00b1, 0x13a2: 0x00b3, 0x13a3: 0x00b5, + 0x13a4: 0x00dd, 0x13a5: 0x00f2, 0x13a8: 0x0173, 0x13a9: 0x0176, + 0x13aa: 0x0179, 0x13ab: 0x017c, 0x13ac: 0x017f, 0x13ad: 0x0182, 0x13ae: 0x0185, 0x13af: 0x0188, + 0x13b0: 0x018b, 0x13b1: 0x018e, 0x13b2: 0x0191, 0x13b3: 0x0194, 0x13b4: 0x0197, 0x13b5: 0x019a, + 0x13b6: 0x019d, 0x13b7: 0x01a0, 0x13b8: 0x01a3, 0x13b9: 0x0188, 0x13ba: 0x01a6, 0x13bb: 0x01a9, + 0x13bc: 0x01ac, 0x13bd: 0x01af, 0x13be: 0x01b2, 0x13bf: 0x01b5, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x01fd, 0x13c1: 0x0200, 0x13c2: 0x0203, 0x13c3: 0x045b, 0x13c4: 0x01c7, 0x13c5: 0x01d0, + 0x13c6: 0x01d6, 0x13c7: 0x01fa, 0x13c8: 0x01eb, 0x13c9: 0x01e8, 0x13ca: 0x0206, 0x13cb: 0x0209, + 0x13ce: 0x0021, 0x13cf: 0x0023, 0x13d0: 0x0025, 0x13d1: 0x0027, + 0x13d2: 0x0029, 0x13d3: 0x002b, 0x13d4: 0x002d, 0x13d5: 0x002f, 0x13d6: 0x0031, 0x13d7: 0x0033, + 0x13d8: 0x0021, 0x13d9: 0x0023, 0x13da: 0x0025, 0x13db: 0x0027, 0x13dc: 0x0029, 0x13dd: 0x002b, + 0x13de: 0x002d, 0x13df: 0x002f, 0x13e0: 0x0031, 0x13e1: 0x0033, 0x13e2: 0x0021, 0x13e3: 0x0023, + 0x13e4: 0x0025, 0x13e5: 0x0027, 0x13e6: 0x0029, 0x13e7: 0x002b, 0x13e8: 0x002d, 0x13e9: 0x002f, + 0x13ea: 0x0031, 0x13eb: 0x0033, 0x13ec: 0x0021, 0x13ed: 0x0023, 0x13ee: 0x0025, 0x13ef: 0x0027, + 0x13f0: 0x0029, 0x13f1: 0x002b, 0x13f2: 0x002d, 0x13f3: 0x002f, 0x13f4: 0x0031, 0x13f5: 0x0033, + 0x13f6: 0x0021, 0x13f7: 0x0023, 0x13f8: 0x0025, 0x13f9: 0x0027, 0x13fa: 0x0029, 0x13fb: 0x002b, + 0x13fc: 0x002d, 0x13fd: 0x002f, 0x13fe: 0x0031, 0x13ff: 0x0033, + // Block 0x50, offset 0x1400 + 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1405: 0x028a, + 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140a: 0x027b, 0x140b: 0x027e, + 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, + 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, 0x141c: 0x0293, 0x141d: 0x02e4, + 0x141e: 0x02cc, 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, + 0x1424: 0x0287, 0x1427: 0x024b, 0x1429: 0x0290, + 0x142a: 0x027b, 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143b: 0x0272, + // Block 0x51, offset 0x1440 + 0x1442: 0x0248, + 0x1447: 0x024b, 0x1449: 0x0290, 0x144b: 0x027e, + 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1451: 0x0263, + 0x1452: 0x0278, 0x1454: 0x0260, 0x1457: 0x024e, + 0x1459: 0x0266, 0x145b: 0x0272, 0x145d: 0x02e4, + 0x145f: 0x0296, 0x1461: 0x023c, 0x1462: 0x0248, + 0x1464: 0x0287, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, + 0x146a: 0x027b, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, + 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1474: 0x0260, 0x1475: 0x0242, + 0x1476: 0x0245, 0x1477: 0x024e, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, + 0x147c: 0x0293, 0x147e: 0x02cc, + // Block 0x52, offset 0x1480 + 0x1480: 0x0239, 0x1481: 0x023c, 0x1482: 0x0248, 0x1483: 0x0251, 0x1484: 0x0287, 0x1485: 0x028a, + 0x1486: 0x025a, 0x1487: 0x024b, 0x1488: 0x0269, 0x1489: 0x0290, 0x148b: 0x027e, + 0x148c: 0x0281, 0x148d: 0x0284, 0x148e: 0x025d, 0x148f: 0x026f, 0x1490: 0x0275, 0x1491: 0x0263, + 0x1492: 0x0278, 0x1493: 0x0257, 0x1494: 0x0260, 0x1495: 0x0242, 0x1496: 0x0245, 0x1497: 0x024e, + 0x1498: 0x0254, 0x1499: 0x0266, 0x149a: 0x026c, 0x149b: 0x0272, + 0x14a1: 0x023c, 0x14a2: 0x0248, 0x14a3: 0x0251, + 0x14a5: 0x028a, 0x14a6: 0x025a, 0x14a7: 0x024b, 0x14a8: 0x0269, 0x14a9: 0x0290, + 0x14ab: 0x027e, 0x14ac: 0x0281, 0x14ad: 0x0284, 0x14ae: 0x025d, 0x14af: 0x026f, + 0x14b0: 0x0275, 0x14b1: 0x0263, 0x14b2: 0x0278, 0x14b3: 0x0257, 0x14b4: 0x0260, 0x14b5: 0x0242, + 0x14b6: 0x0245, 0x14b7: 0x024e, 0x14b8: 0x0254, 0x14b9: 0x0266, 0x14ba: 0x026c, 0x14bb: 0x0272, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x1879, 0x14c1: 0x1876, 0x14c2: 0x187c, 0x14c3: 0x18a0, 0x14c4: 0x18c4, 0x14c5: 0x18e8, + 0x14c6: 0x190c, 0x14c7: 0x1915, 0x14c8: 0x191b, 0x14c9: 0x1921, 0x14ca: 0x1927, + 0x14d0: 0x1a8c, 0x14d1: 0x1a90, + 0x14d2: 0x1a94, 0x14d3: 0x1a98, 0x14d4: 0x1a9c, 0x14d5: 0x1aa0, 0x14d6: 0x1aa4, 0x14d7: 0x1aa8, + 0x14d8: 0x1aac, 0x14d9: 0x1ab0, 0x14da: 0x1ab4, 0x14db: 0x1ab8, 0x14dc: 0x1abc, 0x14dd: 0x1ac0, + 0x14de: 0x1ac4, 0x14df: 0x1ac8, 0x14e0: 0x1acc, 0x14e1: 0x1ad0, 0x14e2: 0x1ad4, 0x14e3: 0x1ad8, + 0x14e4: 0x1adc, 0x14e5: 0x1ae0, 0x14e6: 0x1ae4, 0x14e7: 0x1ae8, 0x14e8: 0x1aec, 0x14e9: 0x1af0, + 0x14ea: 0x271e, 0x14eb: 0x0047, 0x14ec: 0x0065, 0x14ed: 0x193c, 0x14ee: 0x19b1, + 0x14f0: 0x0043, 0x14f1: 0x0045, 0x14f2: 0x0047, 0x14f3: 0x0049, 0x14f4: 0x004b, 0x14f5: 0x004d, + 0x14f6: 0x004f, 0x14f7: 0x0051, 0x14f8: 0x0053, 0x14f9: 0x0055, 0x14fa: 0x0057, 0x14fb: 0x0059, + 0x14fc: 0x005b, 0x14fd: 0x005d, 0x14fe: 0x005f, 0x14ff: 0x0061, + // Block 0x54, offset 0x1500 + 0x1500: 0x26ad, 0x1501: 0x26c2, 0x1502: 0x0503, + 0x1510: 0x0c0f, 0x1511: 0x0a47, + 0x1512: 0x08d3, 0x1513: 0x45c4, 0x1514: 0x071b, 0x1515: 0x09ef, 0x1516: 0x132f, 0x1517: 0x09ff, + 0x1518: 0x0727, 0x1519: 0x0cd7, 0x151a: 0x0eaf, 0x151b: 0x0caf, 0x151c: 0x0827, 0x151d: 0x0b6b, + 0x151e: 0x07bf, 0x151f: 0x0cb7, 0x1520: 0x0813, 0x1521: 0x1117, 0x1522: 0x0f83, 0x1523: 0x138b, + 0x1524: 0x09d3, 0x1525: 0x090b, 0x1526: 0x0e63, 0x1527: 0x0c1b, 0x1528: 0x0c47, 0x1529: 0x06bf, + 0x152a: 0x06cb, 0x152b: 0x140b, 0x152c: 0x0adb, 0x152d: 0x06e7, 0x152e: 0x08ef, 0x152f: 0x0c3b, + 0x1530: 0x13b3, 0x1531: 0x0c13, 0x1532: 0x106f, 0x1533: 0x10ab, 0x1534: 0x08f7, 0x1535: 0x0e43, + 0x1536: 0x0d0b, 0x1537: 0x0d07, 0x1538: 0x0f97, 0x1539: 0x082b, 0x153a: 0x0957, 0x153b: 0x1443, + // Block 0x55, offset 0x1540 + 0x1540: 0x06fb, 0x1541: 0x06f3, 0x1542: 0x0703, 0x1543: 0x1647, 0x1544: 0x0747, 0x1545: 0x0757, + 0x1546: 0x075b, 0x1547: 0x0763, 0x1548: 0x076b, 0x1549: 0x076f, 0x154a: 0x077b, 0x154b: 0x0773, + 0x154c: 0x05b3, 0x154d: 0x165b, 0x154e: 0x078f, 0x154f: 0x0793, 0x1550: 0x0797, 0x1551: 0x07b3, + 0x1552: 0x164c, 0x1553: 0x05b7, 0x1554: 0x079f, 0x1555: 0x07bf, 0x1556: 0x1656, 0x1557: 0x07cf, + 0x1558: 0x07d7, 0x1559: 0x0737, 0x155a: 0x07df, 0x155b: 0x07e3, 0x155c: 0x1831, 0x155d: 0x07ff, + 0x155e: 0x0807, 0x155f: 0x05bf, 0x1560: 0x081f, 0x1561: 0x0823, 0x1562: 0x082b, 0x1563: 0x082f, + 0x1564: 0x05c3, 0x1565: 0x0847, 0x1566: 0x084b, 0x1567: 0x0857, 0x1568: 0x0863, 0x1569: 0x0867, + 0x156a: 0x086b, 0x156b: 0x0873, 0x156c: 0x0893, 0x156d: 0x0897, 0x156e: 0x089f, 0x156f: 0x08af, + 0x1570: 0x08b7, 0x1571: 0x08bb, 0x1572: 0x08bb, 0x1573: 0x08bb, 0x1574: 0x166a, 0x1575: 0x0e93, + 0x1576: 0x08cf, 0x1577: 0x08d7, 0x1578: 0x166f, 0x1579: 0x08e3, 0x157a: 0x08eb, 0x157b: 0x08f3, + 0x157c: 0x091b, 0x157d: 0x0907, 0x157e: 0x0913, 0x157f: 0x0917, + // Block 0x56, offset 0x1580 + 0x1580: 0x091f, 0x1581: 0x0927, 0x1582: 0x092b, 0x1583: 0x0933, 0x1584: 0x093b, 0x1585: 0x093f, + 0x1586: 0x093f, 0x1587: 0x0947, 0x1588: 0x094f, 0x1589: 0x0953, 0x158a: 0x095f, 0x158b: 0x0983, + 0x158c: 0x0967, 0x158d: 0x0987, 0x158e: 0x096b, 0x158f: 0x0973, 0x1590: 0x080b, 0x1591: 0x09cf, + 0x1592: 0x0997, 0x1593: 0x099b, 0x1594: 0x099f, 0x1595: 0x0993, 0x1596: 0x09a7, 0x1597: 0x09a3, + 0x1598: 0x09bb, 0x1599: 0x1674, 0x159a: 0x09d7, 0x159b: 0x09db, 0x159c: 0x09e3, 0x159d: 0x09ef, + 0x159e: 0x09f7, 0x159f: 0x0a13, 0x15a0: 0x1679, 0x15a1: 0x167e, 0x15a2: 0x0a1f, 0x15a3: 0x0a23, + 0x15a4: 0x0a27, 0x15a5: 0x0a1b, 0x15a6: 0x0a2f, 0x15a7: 0x05c7, 0x15a8: 0x05cb, 0x15a9: 0x0a37, + 0x15aa: 0x0a3f, 0x15ab: 0x0a3f, 0x15ac: 0x1683, 0x15ad: 0x0a5b, 0x15ae: 0x0a5f, 0x15af: 0x0a63, + 0x15b0: 0x0a6b, 0x15b1: 0x1688, 0x15b2: 0x0a73, 0x15b3: 0x0a77, 0x15b4: 0x0b4f, 0x15b5: 0x0a7f, + 0x15b6: 0x05cf, 0x15b7: 0x0a8b, 0x15b8: 0x0a9b, 0x15b9: 0x0aa7, 0x15ba: 0x0aa3, 0x15bb: 0x1692, + 0x15bc: 0x0aaf, 0x15bd: 0x1697, 0x15be: 0x0abb, 0x15bf: 0x0ab7, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0abf, 0x15c1: 0x0acf, 0x15c2: 0x0ad3, 0x15c3: 0x05d3, 0x15c4: 0x0ae3, 0x15c5: 0x0aeb, + 0x15c6: 0x0aef, 0x15c7: 0x0af3, 0x15c8: 0x05d7, 0x15c9: 0x169c, 0x15ca: 0x05db, 0x15cb: 0x0b0f, + 0x15cc: 0x0b13, 0x15cd: 0x0b17, 0x15ce: 0x0b1f, 0x15cf: 0x1863, 0x15d0: 0x0b37, 0x15d1: 0x16a6, + 0x15d2: 0x16a6, 0x15d3: 0x11d7, 0x15d4: 0x0b47, 0x15d5: 0x0b47, 0x15d6: 0x05df, 0x15d7: 0x16c9, + 0x15d8: 0x179b, 0x15d9: 0x0b57, 0x15da: 0x0b5f, 0x15db: 0x05e3, 0x15dc: 0x0b73, 0x15dd: 0x0b83, + 0x15de: 0x0b87, 0x15df: 0x0b8f, 0x15e0: 0x0b9f, 0x15e1: 0x05eb, 0x15e2: 0x05e7, 0x15e3: 0x0ba3, + 0x15e4: 0x16ab, 0x15e5: 0x0ba7, 0x15e6: 0x0bbb, 0x15e7: 0x0bbf, 0x15e8: 0x0bc3, 0x15e9: 0x0bbf, + 0x15ea: 0x0bcf, 0x15eb: 0x0bd3, 0x15ec: 0x0be3, 0x15ed: 0x0bdb, 0x15ee: 0x0bdf, 0x15ef: 0x0be7, + 0x15f0: 0x0beb, 0x15f1: 0x0bef, 0x15f2: 0x0bfb, 0x15f3: 0x0bff, 0x15f4: 0x0c17, 0x15f5: 0x0c1f, + 0x15f6: 0x0c2f, 0x15f7: 0x0c43, 0x15f8: 0x16ba, 0x15f9: 0x0c3f, 0x15fa: 0x0c33, 0x15fb: 0x0c4b, + 0x15fc: 0x0c53, 0x15fd: 0x0c67, 0x15fe: 0x16bf, 0x15ff: 0x0c6f, + // Block 0x58, offset 0x1600 + 0x1600: 0x0c63, 0x1601: 0x0c5b, 0x1602: 0x05ef, 0x1603: 0x0c77, 0x1604: 0x0c7f, 0x1605: 0x0c87, + 0x1606: 0x0c7b, 0x1607: 0x05f3, 0x1608: 0x0c97, 0x1609: 0x0c9f, 0x160a: 0x16c4, 0x160b: 0x0ccb, + 0x160c: 0x0cff, 0x160d: 0x0cdb, 0x160e: 0x05ff, 0x160f: 0x0ce7, 0x1610: 0x05fb, 0x1611: 0x05f7, + 0x1612: 0x07c3, 0x1613: 0x07c7, 0x1614: 0x0d03, 0x1615: 0x0ceb, 0x1616: 0x11ab, 0x1617: 0x0663, + 0x1618: 0x0d0f, 0x1619: 0x0d13, 0x161a: 0x0d17, 0x161b: 0x0d2b, 0x161c: 0x0d23, 0x161d: 0x16dd, + 0x161e: 0x0603, 0x161f: 0x0d3f, 0x1620: 0x0d33, 0x1621: 0x0d4f, 0x1622: 0x0d57, 0x1623: 0x16e7, + 0x1624: 0x0d5b, 0x1625: 0x0d47, 0x1626: 0x0d63, 0x1627: 0x0607, 0x1628: 0x0d67, 0x1629: 0x0d6b, + 0x162a: 0x0d6f, 0x162b: 0x0d7b, 0x162c: 0x16ec, 0x162d: 0x0d83, 0x162e: 0x060b, 0x162f: 0x0d8f, + 0x1630: 0x16f1, 0x1631: 0x0d93, 0x1632: 0x060f, 0x1633: 0x0d9f, 0x1634: 0x0dab, 0x1635: 0x0db7, + 0x1636: 0x0dbb, 0x1637: 0x16f6, 0x1638: 0x168d, 0x1639: 0x16fb, 0x163a: 0x0ddb, 0x163b: 0x1700, + 0x163c: 0x0de7, 0x163d: 0x0def, 0x163e: 0x0ddf, 0x163f: 0x0dfb, + // Block 0x59, offset 0x1640 + 0x1640: 0x0e0b, 0x1641: 0x0e1b, 0x1642: 0x0e0f, 0x1643: 0x0e13, 0x1644: 0x0e1f, 0x1645: 0x0e23, + 0x1646: 0x1705, 0x1647: 0x0e07, 0x1648: 0x0e3b, 0x1649: 0x0e3f, 0x164a: 0x0613, 0x164b: 0x0e53, + 0x164c: 0x0e4f, 0x164d: 0x170a, 0x164e: 0x0e33, 0x164f: 0x0e6f, 0x1650: 0x170f, 0x1651: 0x1714, + 0x1652: 0x0e73, 0x1653: 0x0e87, 0x1654: 0x0e83, 0x1655: 0x0e7f, 0x1656: 0x0617, 0x1657: 0x0e8b, + 0x1658: 0x0e9b, 0x1659: 0x0e97, 0x165a: 0x0ea3, 0x165b: 0x1651, 0x165c: 0x0eb3, 0x165d: 0x1719, + 0x165e: 0x0ebf, 0x165f: 0x1723, 0x1660: 0x0ed3, 0x1661: 0x0edf, 0x1662: 0x0ef3, 0x1663: 0x1728, + 0x1664: 0x0f07, 0x1665: 0x0f0b, 0x1666: 0x172d, 0x1667: 0x1732, 0x1668: 0x0f27, 0x1669: 0x0f37, + 0x166a: 0x061b, 0x166b: 0x0f3b, 0x166c: 0x061f, 0x166d: 0x061f, 0x166e: 0x0f53, 0x166f: 0x0f57, + 0x1670: 0x0f5f, 0x1671: 0x0f63, 0x1672: 0x0f6f, 0x1673: 0x0623, 0x1674: 0x0f87, 0x1675: 0x1737, + 0x1676: 0x0fa3, 0x1677: 0x173c, 0x1678: 0x0faf, 0x1679: 0x16a1, 0x167a: 0x0fbf, 0x167b: 0x1741, + 0x167c: 0x1746, 0x167d: 0x174b, 0x167e: 0x0627, 0x167f: 0x062b, + // Block 0x5a, offset 0x1680 + 0x1680: 0x0ff7, 0x1681: 0x1755, 0x1682: 0x1750, 0x1683: 0x175a, 0x1684: 0x175f, 0x1685: 0x0fff, + 0x1686: 0x1003, 0x1687: 0x1003, 0x1688: 0x100b, 0x1689: 0x0633, 0x168a: 0x100f, 0x168b: 0x0637, + 0x168c: 0x063b, 0x168d: 0x1769, 0x168e: 0x1023, 0x168f: 0x102b, 0x1690: 0x1037, 0x1691: 0x063f, + 0x1692: 0x176e, 0x1693: 0x105b, 0x1694: 0x1773, 0x1695: 0x1778, 0x1696: 0x107b, 0x1697: 0x1093, + 0x1698: 0x0643, 0x1699: 0x109b, 0x169a: 0x109f, 0x169b: 0x10a3, 0x169c: 0x177d, 0x169d: 0x1782, + 0x169e: 0x1782, 0x169f: 0x10bb, 0x16a0: 0x0647, 0x16a1: 0x1787, 0x16a2: 0x10cf, 0x16a3: 0x10d3, + 0x16a4: 0x064b, 0x16a5: 0x178c, 0x16a6: 0x10ef, 0x16a7: 0x064f, 0x16a8: 0x10ff, 0x16a9: 0x10f7, + 0x16aa: 0x1107, 0x16ab: 0x1796, 0x16ac: 0x111f, 0x16ad: 0x0653, 0x16ae: 0x112b, 0x16af: 0x1133, + 0x16b0: 0x1143, 0x16b1: 0x0657, 0x16b2: 0x17a0, 0x16b3: 0x17a5, 0x16b4: 0x065b, 0x16b5: 0x17aa, + 0x16b6: 0x115b, 0x16b7: 0x17af, 0x16b8: 0x1167, 0x16b9: 0x1173, 0x16ba: 0x117b, 0x16bb: 0x17b4, + 0x16bc: 0x17b9, 0x16bd: 0x118f, 0x16be: 0x17be, 0x16bf: 0x1197, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x16ce, 0x16c1: 0x065f, 0x16c2: 0x11af, 0x16c3: 0x11b3, 0x16c4: 0x0667, 0x16c5: 0x11b7, + 0x16c6: 0x0a33, 0x16c7: 0x17c3, 0x16c8: 0x17c8, 0x16c9: 0x16d3, 0x16ca: 0x16d8, 0x16cb: 0x11d7, + 0x16cc: 0x11db, 0x16cd: 0x13f3, 0x16ce: 0x066b, 0x16cf: 0x1207, 0x16d0: 0x1203, 0x16d1: 0x120b, + 0x16d2: 0x083f, 0x16d3: 0x120f, 0x16d4: 0x1213, 0x16d5: 0x1217, 0x16d6: 0x121f, 0x16d7: 0x17cd, + 0x16d8: 0x121b, 0x16d9: 0x1223, 0x16da: 0x1237, 0x16db: 0x123b, 0x16dc: 0x1227, 0x16dd: 0x123f, + 0x16de: 0x1253, 0x16df: 0x1267, 0x16e0: 0x1233, 0x16e1: 0x1247, 0x16e2: 0x124b, 0x16e3: 0x124f, + 0x16e4: 0x17d2, 0x16e5: 0x17dc, 0x16e6: 0x17d7, 0x16e7: 0x066f, 0x16e8: 0x126f, 0x16e9: 0x1273, + 0x16ea: 0x127b, 0x16eb: 0x17f0, 0x16ec: 0x127f, 0x16ed: 0x17e1, 0x16ee: 0x0673, 0x16ef: 0x0677, + 0x16f0: 0x17e6, 0x16f1: 0x17eb, 0x16f2: 0x067b, 0x16f3: 0x129f, 0x16f4: 0x12a3, 0x16f5: 0x12a7, + 0x16f6: 0x12ab, 0x16f7: 0x12b7, 0x16f8: 0x12b3, 0x16f9: 0x12bf, 0x16fa: 0x12bb, 0x16fb: 0x12cb, + 0x16fc: 0x12c3, 0x16fd: 0x12c7, 0x16fe: 0x12cf, 0x16ff: 0x067f, + // Block 0x5c, offset 0x1700 + 0x1700: 0x12d7, 0x1701: 0x12db, 0x1702: 0x0683, 0x1703: 0x12eb, 0x1704: 0x12ef, 0x1705: 0x17f5, + 0x1706: 0x12fb, 0x1707: 0x12ff, 0x1708: 0x0687, 0x1709: 0x130b, 0x170a: 0x05bb, 0x170b: 0x17fa, + 0x170c: 0x17ff, 0x170d: 0x068b, 0x170e: 0x068f, 0x170f: 0x1337, 0x1710: 0x134f, 0x1711: 0x136b, + 0x1712: 0x137b, 0x1713: 0x1804, 0x1714: 0x138f, 0x1715: 0x1393, 0x1716: 0x13ab, 0x1717: 0x13b7, + 0x1718: 0x180e, 0x1719: 0x1660, 0x171a: 0x13c3, 0x171b: 0x13bf, 0x171c: 0x13cb, 0x171d: 0x1665, + 0x171e: 0x13d7, 0x171f: 0x13e3, 0x1720: 0x1813, 0x1721: 0x1818, 0x1722: 0x1423, 0x1723: 0x142f, + 0x1724: 0x1437, 0x1725: 0x181d, 0x1726: 0x143b, 0x1727: 0x1467, 0x1728: 0x1473, 0x1729: 0x1477, + 0x172a: 0x146f, 0x172b: 0x1483, 0x172c: 0x1487, 0x172d: 0x1822, 0x172e: 0x1493, 0x172f: 0x0693, + 0x1730: 0x149b, 0x1731: 0x1827, 0x1732: 0x0697, 0x1733: 0x14d3, 0x1734: 0x0ac3, 0x1735: 0x14eb, + 0x1736: 0x182c, 0x1737: 0x1836, 0x1738: 0x069b, 0x1739: 0x069f, 0x173a: 0x1513, 0x173b: 0x183b, + 0x173c: 0x06a3, 0x173d: 0x1840, 0x173e: 0x152b, 0x173f: 0x152b, + // Block 0x5d, offset 0x1740 + 0x1740: 0x1533, 0x1741: 0x1845, 0x1742: 0x154b, 0x1743: 0x06a7, 0x1744: 0x155b, 0x1745: 0x1567, + 0x1746: 0x156f, 0x1747: 0x1577, 0x1748: 0x06ab, 0x1749: 0x184a, 0x174a: 0x158b, 0x174b: 0x15a7, + 0x174c: 0x15b3, 0x174d: 0x06af, 0x174e: 0x06b3, 0x174f: 0x15b7, 0x1750: 0x184f, 0x1751: 0x06b7, + 0x1752: 0x1854, 0x1753: 0x1859, 0x1754: 0x185e, 0x1755: 0x15db, 0x1756: 0x06bb, 0x1757: 0x15ef, + 0x1758: 0x15f7, 0x1759: 0x15fb, 0x175a: 0x1603, 0x175b: 0x160b, 0x175c: 0x1613, 0x175d: 0x1868, +} + +// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5d, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5e, 0xcb: 0x5f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x60, 0xd2: 0x61, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x62, + 0xd8: 0x63, 0xd9: 0x0d, 0xdb: 0x64, 0xdc: 0x65, 0xdd: 0x66, 0xdf: 0x67, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x68, 0x121: 0x69, 0x123: 0x0e, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, + 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, + 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, + 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, + // Block 0x5, offset 0x140 + 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, + 0x14d: 0x8a, + 0x15c: 0x8b, 0x15f: 0x8c, + 0x162: 0x8d, 0x164: 0x8e, + 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0f, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, + 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x10, 0x176: 0x11, 0x177: 0x12, + 0x178: 0x13, 0x179: 0x14, 0x17a: 0x15, 0x17b: 0x16, 0x17c: 0x17, 0x17d: 0x18, 0x17e: 0x19, 0x17f: 0x1a, + // Block 0x6, offset 0x180 + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1b, 0x185: 0x1c, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1d, 0x18a: 0x1e, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1f, 0x192: 0x20, 0x193: 0xa1, + 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, + 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x21, 0x1bd: 0x22, 0x1be: 0x23, 0x1bf: 0xab, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xac, 0x1c1: 0x24, 0x1c2: 0x25, 0x1c3: 0x26, 0x1c4: 0xad, 0x1c5: 0x27, 0x1c6: 0x28, + 0x1c8: 0x29, 0x1c9: 0x2a, 0x1ca: 0x2b, 0x1cb: 0x2c, 0x1cc: 0x2d, 0x1cd: 0x2e, 0x1ce: 0x2f, 0x1cf: 0x30, + // Block 0x8, offset 0x200 + 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, + 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, + 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, + 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, + 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, + // Block 0x9, offset 0x240 + 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, + 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, + 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, + 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, + 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, + 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, + 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, + 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, + // Block 0xa, offset 0x280 + 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, + 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, + 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, + 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, + 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, + 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, + 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, + 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, + 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, + 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, + 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, + // Block 0xc, offset 0x300 + 0x324: 0x31, 0x325: 0x32, 0x326: 0x33, 0x327: 0x34, + 0x328: 0x35, 0x329: 0x36, 0x32a: 0x37, 0x32b: 0x38, 0x32c: 0x39, 0x32d: 0x3a, 0x32e: 0x3b, 0x32f: 0x3c, + 0x330: 0x3d, 0x331: 0x3e, 0x332: 0x3f, 0x333: 0x40, 0x334: 0x41, 0x335: 0x42, 0x336: 0x43, 0x337: 0x44, + 0x338: 0x45, 0x339: 0x46, 0x33a: 0x47, 0x33b: 0x48, 0x33c: 0xc5, 0x33d: 0x49, 0x33e: 0x4a, 0x33f: 0x4b, + // Block 0xd, offset 0x340 + 0x347: 0xc6, + 0x34b: 0xc7, 0x34d: 0xc8, + 0x368: 0xc9, 0x36b: 0xca, + 0x374: 0xcb, + 0x37d: 0xcc, + // Block 0xe, offset 0x380 + 0x381: 0xcd, 0x382: 0xce, 0x384: 0xcf, 0x385: 0xb7, 0x387: 0xd0, + 0x388: 0xd1, 0x38b: 0xd2, 0x38c: 0xd3, 0x38d: 0xd4, + 0x391: 0xd5, 0x392: 0xd6, 0x393: 0xd7, 0x396: 0xd8, 0x397: 0xd9, + 0x398: 0xda, 0x39a: 0xdb, 0x39c: 0xdc, + 0x3a0: 0xdd, + 0x3a8: 0xde, 0x3a9: 0xdf, 0x3aa: 0xe0, + 0x3b0: 0xda, 0x3b5: 0xe1, 0x3b6: 0xe2, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xe3, 0x3ec: 0xe4, + // Block 0x10, offset 0x400 + 0x432: 0xe5, + // Block 0x11, offset 0x440 + 0x445: 0xe6, 0x446: 0xe7, 0x447: 0xe8, + 0x449: 0xe9, + 0x450: 0xea, 0x451: 0xeb, 0x452: 0xec, 0x453: 0xed, 0x454: 0xee, 0x455: 0xef, 0x456: 0xf0, 0x457: 0xf1, + 0x458: 0xf2, 0x459: 0xf3, 0x45a: 0x4c, 0x45b: 0xf4, 0x45c: 0xf5, 0x45d: 0xf6, 0x45e: 0xf7, 0x45f: 0x4d, + // Block 0x12, offset 0x480 + 0x480: 0xf8, + 0x4a3: 0xf9, 0x4a5: 0xfa, + 0x4b8: 0x4e, 0x4b9: 0x4f, 0x4ba: 0x50, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x51, 0x4c5: 0xfb, 0x4c6: 0xfc, + 0x4c8: 0x52, 0x4c9: 0xfd, + // Block 0x14, offset 0x500 + 0x520: 0x53, 0x521: 0x54, 0x522: 0x55, 0x523: 0x56, 0x524: 0x57, 0x525: 0x58, 0x526: 0x59, 0x527: 0x5a, + 0x528: 0x5b, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 162 entries, 324 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x70, 0x75, 0x77, 0x7f, 0x86, 0x89, 0x91, 0x95, 0x99, 0x9b, 0x9d, 0xa6, 0xaa, 0xb1, 0xb6, 0xb9, 0xc3, 0xc6, 0xcd, 0xd5, 0xd9, 0xdb, 0xde, 0xe2, 0xe8, 0xf9, 0x105, 0x107, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11b, 0x11e, 0x121, 0x123, 0x126, 0x129, 0x12d, 0x132, 0x13b, 0x13d, 0x140, 0x142, 0x14d, 0x158, 0x166, 0x174, 0x184, 0x192, 0x199, 0x19f, 0x1ae, 0x1b2, 0x1b4, 0x1b8, 0x1ba, 0x1bd, 0x1bf, 0x1c2, 0x1c4, 0x1c7, 0x1c9, 0x1cb, 0x1cd, 0x1d9, 0x1e3, 0x1ed, 0x1f0, 0x1f4, 0x1f6, 0x1f8, 0x1fa, 0x1fc, 0x1ff, 0x201, 0x203, 0x205, 0x207, 0x20d, 0x210, 0x214, 0x216, 0x21d, 0x223, 0x229, 0x231, 0x237, 0x23d, 0x243, 0x247, 0x249, 0x24b, 0x24d, 0x24f, 0x255, 0x258, 0x25a, 0x260, 0x263, 0x26b, 0x272, 0x275, 0x278, 0x27a, 0x27d, 0x285, 0x289, 0x290, 0x293, 0x299, 0x29b, 0x29d, 0x2a0, 0x2a2, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2b6, 0x2c3, 0x2cd, 0x2cf, 0x2d1, 0x2d5, 0x2da, 0x2e6, 0x2eb, 0x2f4, 0x2fa, 0x2ff, 0x303, 0x308, 0x30c, 0x31c, 0x32a, 0x338, 0x346, 0x34c, 0x34e, 0x351, 0x35b, 0x35d} + +// nfkcSparseValues: 871 entries, 3484 bytes +var nfkcSparseValues = [871]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x4278, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x4264, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x425a, lo: 0xb4, hi: 0xb4}, + {value: 0x01dc, lo: 0xb5, hi: 0xb5}, + {value: 0x4291, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x221c, lo: 0xbc, hi: 0xbc}, + {value: 0x2210, lo: 0xbd, hi: 0xbd}, + {value: 0x22b2, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x426e, lo: 0x98, hi: 0x98}, + {value: 0x4273, lo: 0x99, hi: 0x9a}, + {value: 0x4296, lo: 0x9b, hi: 0x9b}, + {value: 0x425f, lo: 0x9c, hi: 0x9c}, + {value: 0x4282, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x0167, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0xc, offset 0x70 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x75 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x77 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0xf, offset 0x7f + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x10, offset 0x86 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x11, offset 0x89 + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x91 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x13, offset 0x95 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x14, offset 0x99 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x16, offset 0x9d + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x17, offset 0xa6 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x18, offset 0xaa + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x19, offset 0xb1 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1a, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0xb9 + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xc3 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1d, offset 0xc6 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1e, offset 0xcd + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x1f, offset 0xd5 + {value: 0x0000, lo: 0x03}, + {value: 0x2621, lo: 0xb3, hi: 0xb3}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x20, offset 0xd9 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x21, offset 0xdb + {value: 0x0000, lo: 0x02}, + {value: 0x2636, lo: 0xb3, hi: 0xb3}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x22, offset 0xde + {value: 0x0000, lo: 0x03}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + {value: 0x2628, lo: 0x9c, hi: 0x9c}, + {value: 0x262f, lo: 0x9d, hi: 0x9d}, + // Block 0x23, offset 0xe2 + {value: 0x0000, lo: 0x05}, + {value: 0x030b, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x24, offset 0xe8 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x45f4, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x45ff, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x25, offset 0xf9 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0x105 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x27, offset 0x107 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x28, offset 0x10d + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x29, offset 0x10f + {value: 0x0000, lo: 0x01}, + {value: 0x030f, lo: 0xbc, hi: 0xbc}, + // Block 0x2a, offset 0x111 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0x113 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x115 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x117 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x119 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x11b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x11e + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x121 + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x123 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x126 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x129 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x12d + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x36, offset 0x132 + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x37, offset 0x13b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x38, offset 0x13d + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x39, offset 0x140 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3a, offset 0x142 + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3b, offset 0x14d + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x158 + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043b, lo: 0x91, hi: 0x91}, + {value: 0x429b, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1873, lo: 0xa5, hi: 0xa5}, + {value: 0x1b5c, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2691, lo: 0xb3, hi: 0xb3}, + {value: 0x27fe, lo: 0xb4, hi: 0xb4}, + {value: 0x2698, lo: 0xb6, hi: 0xb6}, + {value: 0x2808, lo: 0xb7, hi: 0xb7}, + {value: 0x186d, lo: 0xbc, hi: 0xbc}, + {value: 0x4269, lo: 0xbe, hi: 0xbe}, + // Block 0x3d, offset 0x166 + {value: 0x0002, lo: 0x0d}, + {value: 0x1933, lo: 0x87, hi: 0x87}, + {value: 0x1930, lo: 0x88, hi: 0x88}, + {value: 0x1870, lo: 0x89, hi: 0x89}, + {value: 0x298e, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x0467, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x174 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x0467, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x1999, lo: 0xa8, hi: 0xa8}, + // Block 0x3f, offset 0x184 + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x40, offset 0x192 + {value: 0x0007, lo: 0x06}, + {value: 0x2180, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x41, offset 0x199 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x42, offset 0x19f + {value: 0x0173, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0x269f, lo: 0xac, hi: 0xad}, + {value: 0x26a6, lo: 0xaf, hi: 0xaf}, + {value: 0x281c, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x43, offset 0x1ae + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x44, offset 0x1b2 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x45, offset 0x1b4 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x46, offset 0x1b8 + {value: 0x0000, lo: 0x01}, + {value: 0x299b, lo: 0x8c, hi: 0x8c}, + // Block 0x47, offset 0x1ba + {value: 0x0263, lo: 0x02}, + {value: 0x1b8c, lo: 0xb4, hi: 0xb4}, + {value: 0x192d, lo: 0xb5, hi: 0xb6}, + // Block 0x48, offset 0x1bd + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x49, offset 0x1bf + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4a, offset 0x1c2 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x4b, offset 0x1c4 + {value: 0x0000, lo: 0x02}, + {value: 0x047f, lo: 0xaf, hi: 0xaf}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x4c, offset 0x1c7 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x4d, offset 0x1c9 + {value: 0x0000, lo: 0x01}, + {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, + // Block 0x4e, offset 0x1cb + {value: 0x0000, lo: 0x01}, + {value: 0x162f, lo: 0xb3, hi: 0xb3}, + // Block 0x4f, offset 0x1cd + {value: 0x0004, lo: 0x0b}, + {value: 0x1597, lo: 0x80, hi: 0x82}, + {value: 0x15af, lo: 0x83, hi: 0x83}, + {value: 0x15c7, lo: 0x84, hi: 0x85}, + {value: 0x15d7, lo: 0x86, hi: 0x89}, + {value: 0x15eb, lo: 0x8a, hi: 0x8c}, + {value: 0x15ff, lo: 0x8d, hi: 0x8d}, + {value: 0x1607, lo: 0x8e, hi: 0x8e}, + {value: 0x160f, lo: 0x8f, hi: 0x90}, + {value: 0x161b, lo: 0x91, hi: 0x93}, + {value: 0x162b, lo: 0x94, hi: 0x94}, + {value: 0x1633, lo: 0x95, hi: 0x95}, + // Block 0x50, offset 0x1d9 + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xae}, + {value: 0x812f, lo: 0xaf, hi: 0xaf}, + {value: 0x04b3, lo: 0xb6, hi: 0xb6}, + {value: 0x0887, lo: 0xb8, hi: 0xba}, + // Block 0x51, offset 0x1e3 + {value: 0x0006, lo: 0x09}, + {value: 0x0313, lo: 0xb1, hi: 0xb1}, + {value: 0x0317, lo: 0xb2, hi: 0xb2}, + {value: 0x4a3b, lo: 0xb3, hi: 0xb3}, + {value: 0x031b, lo: 0xb4, hi: 0xb4}, + {value: 0x4a41, lo: 0xb5, hi: 0xb6}, + {value: 0x031f, lo: 0xb7, hi: 0xb7}, + {value: 0x0323, lo: 0xb8, hi: 0xb8}, + {value: 0x0327, lo: 0xb9, hi: 0xb9}, + {value: 0x4a4d, lo: 0xba, hi: 0xbf}, + // Block 0x52, offset 0x1ed + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x53, offset 0x1f0 + {value: 0x0000, lo: 0x03}, + {value: 0x020f, lo: 0x9c, hi: 0x9c}, + {value: 0x0212, lo: 0x9d, hi: 0x9d}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x54, offset 0x1f4 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x55, offset 0x1f6 + {value: 0x0000, lo: 0x01}, + {value: 0x163b, lo: 0xb0, hi: 0xb0}, + // Block 0x56, offset 0x1f8 + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x57, offset 0x1fa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x58, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x59, offset 0x1ff + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x5a, offset 0x201 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x5b, offset 0x203 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x5c, offset 0x205 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x5d, offset 0x207 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x5e, offset 0x20d + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x5f, offset 0x210 + {value: 0x0008, lo: 0x03}, + {value: 0x1637, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1643, lo: 0x9f, hi: 0x9f}, + // Block 0x60, offset 0x214 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x61, offset 0x216 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x62, offset 0x21d + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x63, offset 0x223 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x64, offset 0x229 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x65, offset 0x231 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x66, offset 0x237 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x67, offset 0x23d + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x68, offset 0x243 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x69, offset 0x247 + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6a, offset 0x249 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6b, offset 0x24b + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x6c, offset 0x24d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x6d, offset 0x24f + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x6e, offset 0x255 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x6f, offset 0x258 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa4, hi: 0xa7}, + // Block 0x70, offset 0x25a + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x8132, lo: 0x88, hi: 0x8a}, + {value: 0x812d, lo: 0x8b, hi: 0x8b}, + {value: 0x8132, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x8d, hi: 0x90}, + // Block 0x71, offset 0x260 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x263 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x73, offset 0x26b + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x74, offset 0x272 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x75, offset 0x275 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x76, offset 0x278 + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x77, offset 0x27a + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x78, offset 0x27d + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x79, offset 0x285 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + {value: 0x8132, lo: 0x9e, hi: 0x9e}, + // Block 0x7a, offset 0x289 + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7b, offset 0x290 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7c, offset 0x293 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7d, offset 0x299 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x7e, offset 0x29b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7f, offset 0x29d + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x80, offset 0x2a0 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x81, offset 0x2a2 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb9, hi: 0xb9}, + {value: 0x8102, lo: 0xba, hi: 0xba}, + // Block 0x82, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x83, offset 0x2a7 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x84, offset 0x2a9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x85, offset 0x2ab + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x86, offset 0x2ae + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x97, hi: 0x97}, + // Block 0x87, offset 0x2b0 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x88, offset 0x2b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x89, offset 0x2b4 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x8a, offset 0x2b6 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8b, offset 0x2c3 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x8c, offset 0x2cd + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x8d, offset 0x2cf + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8e, offset 0x2d1 + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x8f, offset 0x2d5 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x90, offset 0x2da + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x91, offset 0x2e6 + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x92, offset 0x2eb + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x93, offset 0x2f4 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x94, offset 0x2fa + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x95, offset 0x2ff + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x96, offset 0x303 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x97, offset 0x308 + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x98, offset 0x30c + {value: 0x0003, lo: 0x0f}, + {value: 0x01b8, lo: 0x80, hi: 0x80}, + {value: 0x045f, lo: 0x81, hi: 0x81}, + {value: 0x01bb, lo: 0x82, hi: 0x9a}, + {value: 0x045b, lo: 0x9b, hi: 0x9b}, + {value: 0x01c7, lo: 0x9c, hi: 0x9c}, + {value: 0x01d0, lo: 0x9d, hi: 0x9d}, + {value: 0x01d6, lo: 0x9e, hi: 0x9e}, + {value: 0x01fa, lo: 0x9f, hi: 0x9f}, + {value: 0x01eb, lo: 0xa0, hi: 0xa0}, + {value: 0x01e8, lo: 0xa1, hi: 0xa1}, + {value: 0x0173, lo: 0xa2, hi: 0xb2}, + {value: 0x0188, lo: 0xb3, hi: 0xb3}, + {value: 0x01a6, lo: 0xb4, hi: 0xba}, + {value: 0x045f, lo: 0xbb, hi: 0xbb}, + {value: 0x01bb, lo: 0xbc, hi: 0xbf}, + // Block 0x99, offset 0x31c + {value: 0x0003, lo: 0x0d}, + {value: 0x01c7, lo: 0x80, hi: 0x94}, + {value: 0x045b, lo: 0x95, hi: 0x95}, + {value: 0x01c7, lo: 0x96, hi: 0x96}, + {value: 0x01d0, lo: 0x97, hi: 0x97}, + {value: 0x01d6, lo: 0x98, hi: 0x98}, + {value: 0x01fa, lo: 0x99, hi: 0x99}, + {value: 0x01eb, lo: 0x9a, hi: 0x9a}, + {value: 0x01e8, lo: 0x9b, hi: 0x9b}, + {value: 0x0173, lo: 0x9c, hi: 0xac}, + {value: 0x0188, lo: 0xad, hi: 0xad}, + {value: 0x01a6, lo: 0xae, hi: 0xb4}, + {value: 0x045f, lo: 0xb5, hi: 0xb5}, + {value: 0x01bb, lo: 0xb6, hi: 0xbf}, + // Block 0x9a, offset 0x32a + {value: 0x0003, lo: 0x0d}, + {value: 0x01d9, lo: 0x80, hi: 0x8e}, + {value: 0x045b, lo: 0x8f, hi: 0x8f}, + {value: 0x01c7, lo: 0x90, hi: 0x90}, + {value: 0x01d0, lo: 0x91, hi: 0x91}, + {value: 0x01d6, lo: 0x92, hi: 0x92}, + {value: 0x01fa, lo: 0x93, hi: 0x93}, + {value: 0x01eb, lo: 0x94, hi: 0x94}, + {value: 0x01e8, lo: 0x95, hi: 0x95}, + {value: 0x0173, lo: 0x96, hi: 0xa6}, + {value: 0x0188, lo: 0xa7, hi: 0xa7}, + {value: 0x01a6, lo: 0xa8, hi: 0xae}, + {value: 0x045f, lo: 0xaf, hi: 0xaf}, + {value: 0x01bb, lo: 0xb0, hi: 0xbf}, + // Block 0x9b, offset 0x338 + {value: 0x0003, lo: 0x0d}, + {value: 0x01eb, lo: 0x80, hi: 0x88}, + {value: 0x045b, lo: 0x89, hi: 0x89}, + {value: 0x01c7, lo: 0x8a, hi: 0x8a}, + {value: 0x01d0, lo: 0x8b, hi: 0x8b}, + {value: 0x01d6, lo: 0x8c, hi: 0x8c}, + {value: 0x01fa, lo: 0x8d, hi: 0x8d}, + {value: 0x01eb, lo: 0x8e, hi: 0x8e}, + {value: 0x01e8, lo: 0x8f, hi: 0x8f}, + {value: 0x0173, lo: 0x90, hi: 0xa0}, + {value: 0x0188, lo: 0xa1, hi: 0xa1}, + {value: 0x01a6, lo: 0xa2, hi: 0xa8}, + {value: 0x045f, lo: 0xa9, hi: 0xa9}, + {value: 0x01bb, lo: 0xaa, hi: 0xbf}, + // Block 0x9c, offset 0x346 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x9d, offset 0x34c + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x9e, offset 0x34e + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x9f, offset 0x351 + {value: 0x0002, lo: 0x09}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1951, lo: 0x8a, hi: 0x8a}, + {value: 0x1981, lo: 0x8b, hi: 0x8b}, + {value: 0x199c, lo: 0x8c, hi: 0x8c}, + {value: 0x19a2, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc0, lo: 0x8e, hi: 0x8e}, + {value: 0x19ae, lo: 0x8f, hi: 0x8f}, + {value: 0x197b, lo: 0xaa, hi: 0xaa}, + {value: 0x197e, lo: 0xab, hi: 0xab}, + // Block 0xa0, offset 0x35b + {value: 0x0000, lo: 0x01}, + {value: 0x193f, lo: 0x90, hi: 0x90}, + // Block 0xa1, offset 0x35d + {value: 0x0028, lo: 0x09}, + {value: 0x2862, lo: 0x80, hi: 0x80}, + {value: 0x2826, lo: 0x81, hi: 0x81}, + {value: 0x2830, lo: 0x82, hi: 0x82}, + {value: 0x2844, lo: 0x83, hi: 0x84}, + {value: 0x284e, lo: 0x85, hi: 0x86}, + {value: 0x283a, lo: 0x87, hi: 0x87}, + {value: 0x2858, lo: 0x88, hi: 0x88}, + {value: 0x0b6f, lo: 0x90, hi: 0x90}, + {value: 0x08e7, lo: 0x91, hi: 0x91}, +} + +// recompMap: 7520 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54514 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go new file mode 100644 index 000000000..11b273300 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go @@ -0,0 +1,7711 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.14 && !go1.16 +// +build go1.14,!go1.16 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "12.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [55]uint8{ + 0, 1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 84, 91, 103, 107, 118, 122, 129, 130, + 132, 202, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x186D + firstCCC = 0x2CA1 + endMulti = 0x2F63 + firstLeadingCCC = 0x49B1 + firstCCCZeroExcept = 0x4A7B + firstStarterWithNLead = 0x4AA2 + lastDecomp = 0x4AA4 + maxDecomp = 0x8000 +) + +// decomps: 19108 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, + 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, + 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, + 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, + 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, + 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, + 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, + 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, + 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, + 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, + 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, + 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, + 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, + 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, + 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, + 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, + 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, + 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, + // Bytes 200 - 23f + 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, + 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, + 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, + 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, + 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, + 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, + 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, + 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, + 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, + 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, + 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, + 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, + 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, + 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, + 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, + 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, + 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, + 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, + 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, + 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, + 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, + 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, + 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, + 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, + 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, + 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, + 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, + 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, + 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, + // Bytes 300 - 33f + 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, + 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, + 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, + 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, + 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, + 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, + 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, + 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, + // Bytes 340 - 37f + 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, + 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, + 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, + 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, + 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, + 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, + 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, + 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, + // Bytes 380 - 3bf + 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, + 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, + 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, + 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, + 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, + 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, + 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, + 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, + // Bytes 3c0 - 3ff + 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, + 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, + 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, + 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, + 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, + 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, + 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, + 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, + // Bytes 400 - 43f + 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, + 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, + 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, + 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, + 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, + 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, + 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, + 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, + // Bytes 440 - 47f + 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, + 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, + 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, + 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, + 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, + 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, + 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, + 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, + // Bytes 480 - 4bf + 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, + 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, + 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, + 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, + 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, + 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, + 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, + 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, + // Bytes 4c0 - 4ff + 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, + 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, + 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, + 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, + 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, + 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, + 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, + 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, + // Bytes 500 - 53f + 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, + 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, + 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, + 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, + 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, + 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, + 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, + 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, + // Bytes 540 - 57f + 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, + 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, + 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, + 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, + 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, + 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, + 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, + 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, + // Bytes 580 - 5bf + 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, + 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, + 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, + 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, + 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, + 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, + 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, + 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, + // Bytes 5c0 - 5ff + 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, + 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, + 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, + 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, + 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, + 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, + 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, + 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, + // Bytes 600 - 63f + 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, + 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, + 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, + 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, + 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, + 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, + 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, + 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, + // Bytes 640 - 67f + 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, + 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, + 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, + 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, + 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, + 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, + 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, + 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, + // Bytes 680 - 6bf + 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, + 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, + 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, + 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, + 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, + 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, + 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, + 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, + // Bytes 6c0 - 6ff + 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, + 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, + 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, + 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, + 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, + 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, + 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, + 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, + // Bytes 700 - 73f + 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, + 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, + 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, + 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, + 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, + 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, + 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, + 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, + // Bytes 740 - 77f + 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, + 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, + 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, + 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, + 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, + 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, + 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, + 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, + // Bytes 780 - 7bf + 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, + 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, + 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, + 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, + 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, + 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, + 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, + 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, + // Bytes 7c0 - 7ff + 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, + 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, + 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, + 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, + 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, + 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, + 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, + 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, + // Bytes 800 - 83f + 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, + 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, + 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, + 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, + 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, + 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, + 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, + 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, + // Bytes 840 - 87f + 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, + 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, + 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, + 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, + 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, + 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, + 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, + 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, + // Bytes 880 - 8bf + 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, + 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, + 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, + 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, + 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, + 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, + 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, + 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, + // Bytes 8c0 - 8ff + 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, + 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, + 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, + 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, + 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, + 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, + 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, + 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, + // Bytes 900 - 93f + 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, + 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, + 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, + 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, + 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, + 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, + 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, + 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, + // Bytes 940 - 97f + 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, + 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, + 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, + 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, + 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, + 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, + 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, + 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, + // Bytes 980 - 9bf + 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, + 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, + 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, + 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, + 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, + 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, + 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, + 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, + // Bytes 9c0 - 9ff + 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, + 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, + 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, + 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, + 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, + 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, + 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, + 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, + // Bytes a00 - a3f + 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, + 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, + 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, + 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, + 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, + 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, + 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, + 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, + // Bytes a40 - a7f + 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, + 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, + 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, + 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, + 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, + 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, + 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, + 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, + // Bytes a80 - abf + 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, + 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, + 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, + 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, + 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, + 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, + 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, + 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, + // Bytes ac0 - aff + 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, + 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, + 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, + 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, + 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, + 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, + 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, + 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, + // Bytes b00 - b3f + 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, + 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, + 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, + 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, + 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, + 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, + 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, + 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, + // Bytes b40 - b7f + 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, + 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, + 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, + 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, + 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, + 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, + 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, + 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, + // Bytes b80 - bbf + 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, + 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, + 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, + 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, + 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, + 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, + 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, + 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, + // Bytes bc0 - bff + 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, + 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, + 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, + 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, + 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, + 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, + 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, + 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, + // Bytes c00 - c3f + 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, + 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, + 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, + 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, + 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, + 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, + 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, + 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, + // Bytes c40 - c7f + 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, + 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, + 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, + 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, + 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, + 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, + 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, + 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, + // Bytes c80 - cbf + 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, + 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, + 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, + 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, + 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, + 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, + 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, + 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, + // Bytes cc0 - cff + 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, + 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, + 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, + 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, + 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, + 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, + 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, + 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, + // Bytes d00 - d3f + 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, + 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, + 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, + 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, + 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, + 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, + 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, + 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, + // Bytes d40 - d7f + 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, + 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, + 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, + 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, + 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, + 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, + 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, + 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, + // Bytes d80 - dbf + 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, + 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, + 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, + 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, + 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, + 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, + 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, + 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, + // Bytes dc0 - dff + 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, + 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, + 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, + 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, + 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, + 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, + 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, + 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, + // Bytes e00 - e3f + 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, + 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, + 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, + 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, + 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, + 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, + 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, + 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, + // Bytes e40 - e7f + 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, + 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, + 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, + 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, + 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, + 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, + 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, + 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, + // Bytes e80 - ebf + 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, + 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, + 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, + 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, + 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, + 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, + 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, + 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, + // Bytes ec0 - eff + 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, + 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, + 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, + 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, + 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, + 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, + 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, + 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, + // Bytes f00 - f3f + 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, + 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, + 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, + 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, + 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, + 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, + 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, + 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, + // Bytes f40 - f7f + 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, + 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, + 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, + 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, + 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, + 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, + 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, + 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, + // Bytes f80 - fbf + 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, + 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, + 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, + 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, + 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, + 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, + 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, + 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, + // Bytes fc0 - fff + 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, + 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, + 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, + 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, + 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, + 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, + 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, + 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, + // Bytes 1000 - 103f + 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, + 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, + 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, + 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, + 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, + 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, + 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, + 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, + // Bytes 1040 - 107f + 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, + 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, + 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, + 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, + 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, + 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, + 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, + 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, + // Bytes 1080 - 10bf + 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, + 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, + 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, + 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, + 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, + 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, + 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, + 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, + // Bytes 10c0 - 10ff + 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, + 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, + 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, + 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, + 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, + 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, + 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, + 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, + // Bytes 1100 - 113f + 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, + 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, + 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, + 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, + 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, + 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, + 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, + 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, + // Bytes 1140 - 117f + 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, + 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, + 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, + 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, + 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, + 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, + 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, + 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, + // Bytes 1180 - 11bf + 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, + 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, + 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, + 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, + 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, + 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, + 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, + 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, + // Bytes 11c0 - 11ff + 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, + 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, + 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, + 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, + 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, + 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, + 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, + 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, + // Bytes 1200 - 123f + 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, + 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, + 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, + 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, + 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, + 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, + 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, + 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, + // Bytes 1240 - 127f + 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, + 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, + 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, + 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, + 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, + 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, + 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, + 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, + // Bytes 1280 - 12bf + 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, + 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, + 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, + 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, + 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, + 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, + 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, + 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, + // Bytes 12c0 - 12ff + 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, + 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, + 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, + 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, + 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, + 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, + 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, + 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, + // Bytes 1300 - 133f + 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, + 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, + 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, + 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, + 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, + 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, + 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, + 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, + // Bytes 1340 - 137f + 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, + 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, + 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, + 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, + 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, + 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, + 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, + 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, + // Bytes 1380 - 13bf + 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, + 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, + 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, + 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, + 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, + 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, + 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, + 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, + // Bytes 13c0 - 13ff + 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, + 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, + 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, + 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, + 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, + 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, + 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, + 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, + // Bytes 1400 - 143f + 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, + 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, + 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, + 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, + 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, + 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, + 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, + 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, + // Bytes 1440 - 147f + 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, + 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, + 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, + 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, + 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, + 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, + 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, + 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, + // Bytes 1480 - 14bf + 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, + 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, + 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, + 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, + 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, + 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, + 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, + 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, + // Bytes 14c0 - 14ff + 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, + 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, + 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, + 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, + 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, + 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, + 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, + 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, + // Bytes 1500 - 153f + 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, + 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, + 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, + 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, + 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, + 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, + 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, + 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, + // Bytes 1540 - 157f + 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, + 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, + 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, + 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, + 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, + 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, + 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, + 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, + // Bytes 1580 - 15bf + 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, + 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, + 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, + 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, + 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, + 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, + 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, + 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, + // Bytes 15c0 - 15ff + 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, + 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, + 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, + 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, + 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, + 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, + 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, + 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, + // Bytes 1600 - 163f + 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, + 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, + 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, + 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, + 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, + 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, + 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, + 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, + // Bytes 1640 - 167f + 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, + 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, + 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, + 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, + 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, + 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, + 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, + 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, + // Bytes 1680 - 16bf + 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, + 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, + 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, + 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, + 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, + 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, + 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, + 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, + // Bytes 16c0 - 16ff + 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, + 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, + 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, + 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, + 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, + 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, + 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, + 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, + // Bytes 1700 - 173f + 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, + 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, + 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, + 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, + 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, + 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, + 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, + 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, + // Bytes 1740 - 177f + 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, + 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, + 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, + 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, + 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, + 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, + 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, + 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, + // Bytes 1780 - 17bf + 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, + 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, + 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, + 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, + 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, + 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, + 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, + 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, + // Bytes 17c0 - 17ff + 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, + 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, + 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, + 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, + 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, + 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, + 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, + 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, + // Bytes 1800 - 183f + 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, + 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, + 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, + 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, + 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, + 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, + 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, + 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, + // Bytes 1840 - 187f + 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, + 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, + 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, + 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, + 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, + 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, + 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, + 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, + 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, + 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, + 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, + 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, + 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, + 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, + 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, + 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, + 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, + 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, + 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, + 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, + 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, + 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, + // Bytes 1900 - 193f + 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, + 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, + 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, + 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, + 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, + 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, + 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, + 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, + // Bytes 1940 - 197f + 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, + 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, + 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, + 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, + 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, + 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, + 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, + 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x44, 0x42, 0x4D, 0x52, 0x42, 0x4D, 0x56, 0x42, + 0x4D, 0x57, 0x42, 0x4E, 0x4A, 0x42, 0x4E, 0x6A, + 0x42, 0x4E, 0x6F, 0x42, 0x50, 0x48, 0x42, 0x50, + 0x52, 0x42, 0x50, 0x61, 0x42, 0x52, 0x73, 0x42, + 0x53, 0x44, 0x42, 0x53, 0x4D, 0x42, 0x53, 0x53, + 0x42, 0x53, 0x76, 0x42, 0x54, 0x4D, 0x42, 0x56, + 0x49, 0x42, 0x57, 0x43, 0x42, 0x57, 0x5A, 0x42, + 0x57, 0x62, 0x42, 0x58, 0x49, 0x42, 0x63, 0x63, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x64, 0x42, 0x63, 0x6D, 0x42, 0x64, + 0x42, 0x42, 0x64, 0x61, 0x42, 0x64, 0x6C, 0x42, + 0x64, 0x6D, 0x42, 0x64, 0x7A, 0x42, 0x65, 0x56, + 0x42, 0x66, 0x66, 0x42, 0x66, 0x69, 0x42, 0x66, + 0x6C, 0x42, 0x66, 0x6D, 0x42, 0x68, 0x61, 0x42, + 0x69, 0x69, 0x42, 0x69, 0x6A, 0x42, 0x69, 0x6E, + 0x42, 0x69, 0x76, 0x42, 0x69, 0x78, 0x42, 0x6B, + 0x41, 0x42, 0x6B, 0x56, 0x42, 0x6B, 0x57, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x67, 0x42, 0x6B, 0x6C, 0x42, 0x6B, 0x6D, + 0x42, 0x6B, 0x74, 0x42, 0x6C, 0x6A, 0x42, 0x6C, + 0x6D, 0x42, 0x6C, 0x6E, 0x42, 0x6C, 0x78, 0x42, + 0x6D, 0x32, 0x42, 0x6D, 0x33, 0x42, 0x6D, 0x41, + 0x42, 0x6D, 0x56, 0x42, 0x6D, 0x57, 0x42, 0x6D, + 0x62, 0x42, 0x6D, 0x67, 0x42, 0x6D, 0x6C, 0x42, + 0x6D, 0x6D, 0x42, 0x6D, 0x73, 0x42, 0x6E, 0x41, + 0x42, 0x6E, 0x46, 0x42, 0x6E, 0x56, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x57, 0x42, 0x6E, 0x6A, 0x42, 0x6E, 0x6D, 0x42, + 0x6E, 0x73, 0x42, 0x6F, 0x56, 0x42, 0x70, 0x41, + 0x42, 0x70, 0x46, 0x42, 0x70, 0x56, 0x42, 0x70, + 0x57, 0x42, 0x70, 0x63, 0x42, 0x70, 0x73, 0x42, + 0x73, 0x72, 0x42, 0x73, 0x74, 0x42, 0x76, 0x69, + 0x42, 0x78, 0x69, 0x43, 0x28, 0x31, 0x29, 0x43, + 0x28, 0x32, 0x29, 0x43, 0x28, 0x33, 0x29, 0x43, + 0x28, 0x34, 0x29, 0x43, 0x28, 0x35, 0x29, 0x43, + // Bytes 1a80 - 1abf + 0x28, 0x36, 0x29, 0x43, 0x28, 0x37, 0x29, 0x43, + 0x28, 0x38, 0x29, 0x43, 0x28, 0x39, 0x29, 0x43, + 0x28, 0x41, 0x29, 0x43, 0x28, 0x42, 0x29, 0x43, + 0x28, 0x43, 0x29, 0x43, 0x28, 0x44, 0x29, 0x43, + 0x28, 0x45, 0x29, 0x43, 0x28, 0x46, 0x29, 0x43, + 0x28, 0x47, 0x29, 0x43, 0x28, 0x48, 0x29, 0x43, + 0x28, 0x49, 0x29, 0x43, 0x28, 0x4A, 0x29, 0x43, + 0x28, 0x4B, 0x29, 0x43, 0x28, 0x4C, 0x29, 0x43, + // Bytes 1ac0 - 1aff + 0x28, 0x4D, 0x29, 0x43, 0x28, 0x4E, 0x29, 0x43, + 0x28, 0x4F, 0x29, 0x43, 0x28, 0x50, 0x29, 0x43, + 0x28, 0x51, 0x29, 0x43, 0x28, 0x52, 0x29, 0x43, + 0x28, 0x53, 0x29, 0x43, 0x28, 0x54, 0x29, 0x43, + 0x28, 0x55, 0x29, 0x43, 0x28, 0x56, 0x29, 0x43, + 0x28, 0x57, 0x29, 0x43, 0x28, 0x58, 0x29, 0x43, + 0x28, 0x59, 0x29, 0x43, 0x28, 0x5A, 0x29, 0x43, + 0x28, 0x61, 0x29, 0x43, 0x28, 0x62, 0x29, 0x43, + // Bytes 1b00 - 1b3f + 0x28, 0x63, 0x29, 0x43, 0x28, 0x64, 0x29, 0x43, + 0x28, 0x65, 0x29, 0x43, 0x28, 0x66, 0x29, 0x43, + 0x28, 0x67, 0x29, 0x43, 0x28, 0x68, 0x29, 0x43, + 0x28, 0x69, 0x29, 0x43, 0x28, 0x6A, 0x29, 0x43, + 0x28, 0x6B, 0x29, 0x43, 0x28, 0x6C, 0x29, 0x43, + 0x28, 0x6D, 0x29, 0x43, 0x28, 0x6E, 0x29, 0x43, + 0x28, 0x6F, 0x29, 0x43, 0x28, 0x70, 0x29, 0x43, + 0x28, 0x71, 0x29, 0x43, 0x28, 0x72, 0x29, 0x43, + // Bytes 1b40 - 1b7f + 0x28, 0x73, 0x29, 0x43, 0x28, 0x74, 0x29, 0x43, + 0x28, 0x75, 0x29, 0x43, 0x28, 0x76, 0x29, 0x43, + 0x28, 0x77, 0x29, 0x43, 0x28, 0x78, 0x29, 0x43, + 0x28, 0x79, 0x29, 0x43, 0x28, 0x7A, 0x29, 0x43, + 0x2E, 0x2E, 0x2E, 0x43, 0x31, 0x30, 0x2E, 0x43, + 0x31, 0x31, 0x2E, 0x43, 0x31, 0x32, 0x2E, 0x43, + 0x31, 0x33, 0x2E, 0x43, 0x31, 0x34, 0x2E, 0x43, + 0x31, 0x35, 0x2E, 0x43, 0x31, 0x36, 0x2E, 0x43, + // Bytes 1b80 - 1bbf + 0x31, 0x37, 0x2E, 0x43, 0x31, 0x38, 0x2E, 0x43, + 0x31, 0x39, 0x2E, 0x43, 0x32, 0x30, 0x2E, 0x43, + 0x3A, 0x3A, 0x3D, 0x43, 0x3D, 0x3D, 0x3D, 0x43, + 0x43, 0x6F, 0x2E, 0x43, 0x46, 0x41, 0x58, 0x43, + 0x47, 0x48, 0x7A, 0x43, 0x47, 0x50, 0x61, 0x43, + 0x49, 0x49, 0x49, 0x43, 0x4C, 0x54, 0x44, 0x43, + 0x4C, 0xC2, 0xB7, 0x43, 0x4D, 0x48, 0x7A, 0x43, + 0x4D, 0x50, 0x61, 0x43, 0x4D, 0xCE, 0xA9, 0x43, + // Bytes 1bc0 - 1bff + 0x50, 0x50, 0x4D, 0x43, 0x50, 0x50, 0x56, 0x43, + 0x50, 0x54, 0x45, 0x43, 0x54, 0x45, 0x4C, 0x43, + 0x54, 0x48, 0x7A, 0x43, 0x56, 0x49, 0x49, 0x43, + 0x58, 0x49, 0x49, 0x43, 0x61, 0x2F, 0x63, 0x43, + 0x61, 0x2F, 0x73, 0x43, 0x61, 0xCA, 0xBE, 0x43, + 0x62, 0x61, 0x72, 0x43, 0x63, 0x2F, 0x6F, 0x43, + 0x63, 0x2F, 0x75, 0x43, 0x63, 0x61, 0x6C, 0x43, + 0x63, 0x6D, 0x32, 0x43, 0x63, 0x6D, 0x33, 0x43, + // Bytes 1c00 - 1c3f + 0x64, 0x6D, 0x32, 0x43, 0x64, 0x6D, 0x33, 0x43, + 0x65, 0x72, 0x67, 0x43, 0x66, 0x66, 0x69, 0x43, + 0x66, 0x66, 0x6C, 0x43, 0x67, 0x61, 0x6C, 0x43, + 0x68, 0x50, 0x61, 0x43, 0x69, 0x69, 0x69, 0x43, + 0x6B, 0x48, 0x7A, 0x43, 0x6B, 0x50, 0x61, 0x43, + 0x6B, 0x6D, 0x32, 0x43, 0x6B, 0x6D, 0x33, 0x43, + 0x6B, 0xCE, 0xA9, 0x43, 0x6C, 0x6F, 0x67, 0x43, + 0x6C, 0xC2, 0xB7, 0x43, 0x6D, 0x69, 0x6C, 0x43, + // Bytes 1c40 - 1c7f + 0x6D, 0x6D, 0x32, 0x43, 0x6D, 0x6D, 0x33, 0x43, + 0x6D, 0x6F, 0x6C, 0x43, 0x72, 0x61, 0x64, 0x43, + 0x76, 0x69, 0x69, 0x43, 0x78, 0x69, 0x69, 0x43, + 0xC2, 0xB0, 0x43, 0x43, 0xC2, 0xB0, 0x46, 0x43, + 0xCA, 0xBC, 0x6E, 0x43, 0xCE, 0xBC, 0x41, 0x43, + 0xCE, 0xBC, 0x46, 0x43, 0xCE, 0xBC, 0x56, 0x43, + 0xCE, 0xBC, 0x57, 0x43, 0xCE, 0xBC, 0x67, 0x43, + 0xCE, 0xBC, 0x6C, 0x43, 0xCE, 0xBC, 0x6D, 0x43, + // Bytes 1c80 - 1cbf + 0xCE, 0xBC, 0x73, 0x44, 0x28, 0x31, 0x30, 0x29, + 0x44, 0x28, 0x31, 0x31, 0x29, 0x44, 0x28, 0x31, + 0x32, 0x29, 0x44, 0x28, 0x31, 0x33, 0x29, 0x44, + 0x28, 0x31, 0x34, 0x29, 0x44, 0x28, 0x31, 0x35, + 0x29, 0x44, 0x28, 0x31, 0x36, 0x29, 0x44, 0x28, + 0x31, 0x37, 0x29, 0x44, 0x28, 0x31, 0x38, 0x29, + 0x44, 0x28, 0x31, 0x39, 0x29, 0x44, 0x28, 0x32, + 0x30, 0x29, 0x44, 0x30, 0xE7, 0x82, 0xB9, 0x44, + // Bytes 1cc0 - 1cff + 0x31, 0xE2, 0x81, 0x84, 0x44, 0x31, 0xE6, 0x97, + 0xA5, 0x44, 0x31, 0xE6, 0x9C, 0x88, 0x44, 0x31, + 0xE7, 0x82, 0xB9, 0x44, 0x32, 0xE6, 0x97, 0xA5, + 0x44, 0x32, 0xE6, 0x9C, 0x88, 0x44, 0x32, 0xE7, + 0x82, 0xB9, 0x44, 0x33, 0xE6, 0x97, 0xA5, 0x44, + 0x33, 0xE6, 0x9C, 0x88, 0x44, 0x33, 0xE7, 0x82, + 0xB9, 0x44, 0x34, 0xE6, 0x97, 0xA5, 0x44, 0x34, + 0xE6, 0x9C, 0x88, 0x44, 0x34, 0xE7, 0x82, 0xB9, + // Bytes 1d00 - 1d3f + 0x44, 0x35, 0xE6, 0x97, 0xA5, 0x44, 0x35, 0xE6, + 0x9C, 0x88, 0x44, 0x35, 0xE7, 0x82, 0xB9, 0x44, + 0x36, 0xE6, 0x97, 0xA5, 0x44, 0x36, 0xE6, 0x9C, + 0x88, 0x44, 0x36, 0xE7, 0x82, 0xB9, 0x44, 0x37, + 0xE6, 0x97, 0xA5, 0x44, 0x37, 0xE6, 0x9C, 0x88, + 0x44, 0x37, 0xE7, 0x82, 0xB9, 0x44, 0x38, 0xE6, + 0x97, 0xA5, 0x44, 0x38, 0xE6, 0x9C, 0x88, 0x44, + 0x38, 0xE7, 0x82, 0xB9, 0x44, 0x39, 0xE6, 0x97, + // Bytes 1d40 - 1d7f + 0xA5, 0x44, 0x39, 0xE6, 0x9C, 0x88, 0x44, 0x39, + 0xE7, 0x82, 0xB9, 0x44, 0x56, 0x49, 0x49, 0x49, + 0x44, 0x61, 0x2E, 0x6D, 0x2E, 0x44, 0x6B, 0x63, + 0x61, 0x6C, 0x44, 0x70, 0x2E, 0x6D, 0x2E, 0x44, + 0x76, 0x69, 0x69, 0x69, 0x44, 0xD5, 0xA5, 0xD6, + 0x82, 0x44, 0xD5, 0xB4, 0xD5, 0xA5, 0x44, 0xD5, + 0xB4, 0xD5, 0xAB, 0x44, 0xD5, 0xB4, 0xD5, 0xAD, + 0x44, 0xD5, 0xB4, 0xD5, 0xB6, 0x44, 0xD5, 0xBE, + // Bytes 1d80 - 1dbf + 0xD5, 0xB6, 0x44, 0xD7, 0x90, 0xD7, 0x9C, 0x44, + 0xD8, 0xA7, 0xD9, 0xB4, 0x44, 0xD8, 0xA8, 0xD8, + 0xAC, 0x44, 0xD8, 0xA8, 0xD8, 0xAD, 0x44, 0xD8, + 0xA8, 0xD8, 0xAE, 0x44, 0xD8, 0xA8, 0xD8, 0xB1, + 0x44, 0xD8, 0xA8, 0xD8, 0xB2, 0x44, 0xD8, 0xA8, + 0xD9, 0x85, 0x44, 0xD8, 0xA8, 0xD9, 0x86, 0x44, + 0xD8, 0xA8, 0xD9, 0x87, 0x44, 0xD8, 0xA8, 0xD9, + 0x89, 0x44, 0xD8, 0xA8, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1dc0 - 1dff + 0xAA, 0xD8, 0xAC, 0x44, 0xD8, 0xAA, 0xD8, 0xAD, + 0x44, 0xD8, 0xAA, 0xD8, 0xAE, 0x44, 0xD8, 0xAA, + 0xD8, 0xB1, 0x44, 0xD8, 0xAA, 0xD8, 0xB2, 0x44, + 0xD8, 0xAA, 0xD9, 0x85, 0x44, 0xD8, 0xAA, 0xD9, + 0x86, 0x44, 0xD8, 0xAA, 0xD9, 0x87, 0x44, 0xD8, + 0xAA, 0xD9, 0x89, 0x44, 0xD8, 0xAA, 0xD9, 0x8A, + 0x44, 0xD8, 0xAB, 0xD8, 0xAC, 0x44, 0xD8, 0xAB, + 0xD8, 0xB1, 0x44, 0xD8, 0xAB, 0xD8, 0xB2, 0x44, + // Bytes 1e00 - 1e3f + 0xD8, 0xAB, 0xD9, 0x85, 0x44, 0xD8, 0xAB, 0xD9, + 0x86, 0x44, 0xD8, 0xAB, 0xD9, 0x87, 0x44, 0xD8, + 0xAB, 0xD9, 0x89, 0x44, 0xD8, 0xAB, 0xD9, 0x8A, + 0x44, 0xD8, 0xAC, 0xD8, 0xAD, 0x44, 0xD8, 0xAC, + 0xD9, 0x85, 0x44, 0xD8, 0xAC, 0xD9, 0x89, 0x44, + 0xD8, 0xAC, 0xD9, 0x8A, 0x44, 0xD8, 0xAD, 0xD8, + 0xAC, 0x44, 0xD8, 0xAD, 0xD9, 0x85, 0x44, 0xD8, + 0xAD, 0xD9, 0x89, 0x44, 0xD8, 0xAD, 0xD9, 0x8A, + // Bytes 1e40 - 1e7f + 0x44, 0xD8, 0xAE, 0xD8, 0xAC, 0x44, 0xD8, 0xAE, + 0xD8, 0xAD, 0x44, 0xD8, 0xAE, 0xD9, 0x85, 0x44, + 0xD8, 0xAE, 0xD9, 0x89, 0x44, 0xD8, 0xAE, 0xD9, + 0x8A, 0x44, 0xD8, 0xB3, 0xD8, 0xAC, 0x44, 0xD8, + 0xB3, 0xD8, 0xAD, 0x44, 0xD8, 0xB3, 0xD8, 0xAE, + 0x44, 0xD8, 0xB3, 0xD8, 0xB1, 0x44, 0xD8, 0xB3, + 0xD9, 0x85, 0x44, 0xD8, 0xB3, 0xD9, 0x87, 0x44, + 0xD8, 0xB3, 0xD9, 0x89, 0x44, 0xD8, 0xB3, 0xD9, + // Bytes 1e80 - 1ebf + 0x8A, 0x44, 0xD8, 0xB4, 0xD8, 0xAC, 0x44, 0xD8, + 0xB4, 0xD8, 0xAD, 0x44, 0xD8, 0xB4, 0xD8, 0xAE, + 0x44, 0xD8, 0xB4, 0xD8, 0xB1, 0x44, 0xD8, 0xB4, + 0xD9, 0x85, 0x44, 0xD8, 0xB4, 0xD9, 0x87, 0x44, + 0xD8, 0xB4, 0xD9, 0x89, 0x44, 0xD8, 0xB4, 0xD9, + 0x8A, 0x44, 0xD8, 0xB5, 0xD8, 0xAD, 0x44, 0xD8, + 0xB5, 0xD8, 0xAE, 0x44, 0xD8, 0xB5, 0xD8, 0xB1, + 0x44, 0xD8, 0xB5, 0xD9, 0x85, 0x44, 0xD8, 0xB5, + // Bytes 1ec0 - 1eff + 0xD9, 0x89, 0x44, 0xD8, 0xB5, 0xD9, 0x8A, 0x44, + 0xD8, 0xB6, 0xD8, 0xAC, 0x44, 0xD8, 0xB6, 0xD8, + 0xAD, 0x44, 0xD8, 0xB6, 0xD8, 0xAE, 0x44, 0xD8, + 0xB6, 0xD8, 0xB1, 0x44, 0xD8, 0xB6, 0xD9, 0x85, + 0x44, 0xD8, 0xB6, 0xD9, 0x89, 0x44, 0xD8, 0xB6, + 0xD9, 0x8A, 0x44, 0xD8, 0xB7, 0xD8, 0xAD, 0x44, + 0xD8, 0xB7, 0xD9, 0x85, 0x44, 0xD8, 0xB7, 0xD9, + 0x89, 0x44, 0xD8, 0xB7, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1f00 - 1f3f + 0xB8, 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD8, 0xAC, + 0x44, 0xD8, 0xB9, 0xD9, 0x85, 0x44, 0xD8, 0xB9, + 0xD9, 0x89, 0x44, 0xD8, 0xB9, 0xD9, 0x8A, 0x44, + 0xD8, 0xBA, 0xD8, 0xAC, 0x44, 0xD8, 0xBA, 0xD9, + 0x85, 0x44, 0xD8, 0xBA, 0xD9, 0x89, 0x44, 0xD8, + 0xBA, 0xD9, 0x8A, 0x44, 0xD9, 0x81, 0xD8, 0xAC, + 0x44, 0xD9, 0x81, 0xD8, 0xAD, 0x44, 0xD9, 0x81, + 0xD8, 0xAE, 0x44, 0xD9, 0x81, 0xD9, 0x85, 0x44, + // Bytes 1f40 - 1f7f + 0xD9, 0x81, 0xD9, 0x89, 0x44, 0xD9, 0x81, 0xD9, + 0x8A, 0x44, 0xD9, 0x82, 0xD8, 0xAD, 0x44, 0xD9, + 0x82, 0xD9, 0x85, 0x44, 0xD9, 0x82, 0xD9, 0x89, + 0x44, 0xD9, 0x82, 0xD9, 0x8A, 0x44, 0xD9, 0x83, + 0xD8, 0xA7, 0x44, 0xD9, 0x83, 0xD8, 0xAC, 0x44, + 0xD9, 0x83, 0xD8, 0xAD, 0x44, 0xD9, 0x83, 0xD8, + 0xAE, 0x44, 0xD9, 0x83, 0xD9, 0x84, 0x44, 0xD9, + 0x83, 0xD9, 0x85, 0x44, 0xD9, 0x83, 0xD9, 0x89, + // Bytes 1f80 - 1fbf + 0x44, 0xD9, 0x83, 0xD9, 0x8A, 0x44, 0xD9, 0x84, + 0xD8, 0xA7, 0x44, 0xD9, 0x84, 0xD8, 0xAC, 0x44, + 0xD9, 0x84, 0xD8, 0xAD, 0x44, 0xD9, 0x84, 0xD8, + 0xAE, 0x44, 0xD9, 0x84, 0xD9, 0x85, 0x44, 0xD9, + 0x84, 0xD9, 0x87, 0x44, 0xD9, 0x84, 0xD9, 0x89, + 0x44, 0xD9, 0x84, 0xD9, 0x8A, 0x44, 0xD9, 0x85, + 0xD8, 0xA7, 0x44, 0xD9, 0x85, 0xD8, 0xAC, 0x44, + 0xD9, 0x85, 0xD8, 0xAD, 0x44, 0xD9, 0x85, 0xD8, + // Bytes 1fc0 - 1fff + 0xAE, 0x44, 0xD9, 0x85, 0xD9, 0x85, 0x44, 0xD9, + 0x85, 0xD9, 0x89, 0x44, 0xD9, 0x85, 0xD9, 0x8A, + 0x44, 0xD9, 0x86, 0xD8, 0xAC, 0x44, 0xD9, 0x86, + 0xD8, 0xAD, 0x44, 0xD9, 0x86, 0xD8, 0xAE, 0x44, + 0xD9, 0x86, 0xD8, 0xB1, 0x44, 0xD9, 0x86, 0xD8, + 0xB2, 0x44, 0xD9, 0x86, 0xD9, 0x85, 0x44, 0xD9, + 0x86, 0xD9, 0x86, 0x44, 0xD9, 0x86, 0xD9, 0x87, + 0x44, 0xD9, 0x86, 0xD9, 0x89, 0x44, 0xD9, 0x86, + // Bytes 2000 - 203f + 0xD9, 0x8A, 0x44, 0xD9, 0x87, 0xD8, 0xAC, 0x44, + 0xD9, 0x87, 0xD9, 0x85, 0x44, 0xD9, 0x87, 0xD9, + 0x89, 0x44, 0xD9, 0x87, 0xD9, 0x8A, 0x44, 0xD9, + 0x88, 0xD9, 0xB4, 0x44, 0xD9, 0x8A, 0xD8, 0xAC, + 0x44, 0xD9, 0x8A, 0xD8, 0xAD, 0x44, 0xD9, 0x8A, + 0xD8, 0xAE, 0x44, 0xD9, 0x8A, 0xD8, 0xB1, 0x44, + 0xD9, 0x8A, 0xD8, 0xB2, 0x44, 0xD9, 0x8A, 0xD9, + 0x85, 0x44, 0xD9, 0x8A, 0xD9, 0x86, 0x44, 0xD9, + // Bytes 2040 - 207f + 0x8A, 0xD9, 0x87, 0x44, 0xD9, 0x8A, 0xD9, 0x89, + 0x44, 0xD9, 0x8A, 0xD9, 0x8A, 0x44, 0xD9, 0x8A, + 0xD9, 0xB4, 0x44, 0xDB, 0x87, 0xD9, 0xB4, 0x45, + 0x28, 0xE1, 0x84, 0x80, 0x29, 0x45, 0x28, 0xE1, + 0x84, 0x82, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x83, + 0x29, 0x45, 0x28, 0xE1, 0x84, 0x85, 0x29, 0x45, + 0x28, 0xE1, 0x84, 0x86, 0x29, 0x45, 0x28, 0xE1, + 0x84, 0x87, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x89, + // Bytes 2080 - 20bf + 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8B, 0x29, 0x45, + 0x28, 0xE1, 0x84, 0x8C, 0x29, 0x45, 0x28, 0xE1, + 0x84, 0x8E, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8F, + 0x29, 0x45, 0x28, 0xE1, 0x84, 0x90, 0x29, 0x45, + 0x28, 0xE1, 0x84, 0x91, 0x29, 0x45, 0x28, 0xE1, + 0x84, 0x92, 0x29, 0x45, 0x28, 0xE4, 0xB8, 0x80, + 0x29, 0x45, 0x28, 0xE4, 0xB8, 0x83, 0x29, 0x45, + 0x28, 0xE4, 0xB8, 0x89, 0x29, 0x45, 0x28, 0xE4, + // Bytes 20c0 - 20ff + 0xB9, 0x9D, 0x29, 0x45, 0x28, 0xE4, 0xBA, 0x8C, + 0x29, 0x45, 0x28, 0xE4, 0xBA, 0x94, 0x29, 0x45, + 0x28, 0xE4, 0xBB, 0xA3, 0x29, 0x45, 0x28, 0xE4, + 0xBC, 0x81, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x91, + 0x29, 0x45, 0x28, 0xE5, 0x85, 0xAB, 0x29, 0x45, + 0x28, 0xE5, 0x85, 0xAD, 0x29, 0x45, 0x28, 0xE5, + 0x8A, 0xB4, 0x29, 0x45, 0x28, 0xE5, 0x8D, 0x81, + 0x29, 0x45, 0x28, 0xE5, 0x8D, 0x94, 0x29, 0x45, + // Bytes 2100 - 213f + 0x28, 0xE5, 0x90, 0x8D, 0x29, 0x45, 0x28, 0xE5, + 0x91, 0xBC, 0x29, 0x45, 0x28, 0xE5, 0x9B, 0x9B, + 0x29, 0x45, 0x28, 0xE5, 0x9C, 0x9F, 0x29, 0x45, + 0x28, 0xE5, 0xAD, 0xA6, 0x29, 0x45, 0x28, 0xE6, + 0x97, 0xA5, 0x29, 0x45, 0x28, 0xE6, 0x9C, 0x88, + 0x29, 0x45, 0x28, 0xE6, 0x9C, 0x89, 0x29, 0x45, + 0x28, 0xE6, 0x9C, 0xA8, 0x29, 0x45, 0x28, 0xE6, + 0xA0, 0xAA, 0x29, 0x45, 0x28, 0xE6, 0xB0, 0xB4, + // Bytes 2140 - 217f + 0x29, 0x45, 0x28, 0xE7, 0x81, 0xAB, 0x29, 0x45, + 0x28, 0xE7, 0x89, 0xB9, 0x29, 0x45, 0x28, 0xE7, + 0x9B, 0xA3, 0x29, 0x45, 0x28, 0xE7, 0xA4, 0xBE, + 0x29, 0x45, 0x28, 0xE7, 0xA5, 0x9D, 0x29, 0x45, + 0x28, 0xE7, 0xA5, 0xAD, 0x29, 0x45, 0x28, 0xE8, + 0x87, 0xAA, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xB3, + 0x29, 0x45, 0x28, 0xE8, 0xB2, 0xA1, 0x29, 0x45, + 0x28, 0xE8, 0xB3, 0x87, 0x29, 0x45, 0x28, 0xE9, + // Bytes 2180 - 21bf + 0x87, 0x91, 0x29, 0x45, 0x30, 0xE2, 0x81, 0x84, + 0x33, 0x45, 0x31, 0x30, 0xE6, 0x97, 0xA5, 0x45, + 0x31, 0x30, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x30, + 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x31, 0xE6, 0x97, + 0xA5, 0x45, 0x31, 0x31, 0xE6, 0x9C, 0x88, 0x45, + 0x31, 0x31, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x32, + 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x32, 0xE6, 0x9C, + 0x88, 0x45, 0x31, 0x32, 0xE7, 0x82, 0xB9, 0x45, + // Bytes 21c0 - 21ff + 0x31, 0x33, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x33, + 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x34, 0xE6, 0x97, + 0xA5, 0x45, 0x31, 0x34, 0xE7, 0x82, 0xB9, 0x45, + 0x31, 0x35, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x35, + 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x36, 0xE6, 0x97, + 0xA5, 0x45, 0x31, 0x36, 0xE7, 0x82, 0xB9, 0x45, + 0x31, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x37, + 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x38, 0xE6, 0x97, + // Bytes 2200 - 223f + 0xA5, 0x45, 0x31, 0x38, 0xE7, 0x82, 0xB9, 0x45, + 0x31, 0x39, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x39, + 0xE7, 0x82, 0xB9, 0x45, 0x31, 0xE2, 0x81, 0x84, + 0x32, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x33, 0x45, + 0x31, 0xE2, 0x81, 0x84, 0x34, 0x45, 0x31, 0xE2, + 0x81, 0x84, 0x35, 0x45, 0x31, 0xE2, 0x81, 0x84, + 0x36, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x37, 0x45, + 0x31, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x31, 0xE2, + // Bytes 2240 - 227f + 0x81, 0x84, 0x39, 0x45, 0x32, 0x30, 0xE6, 0x97, + 0xA5, 0x45, 0x32, 0x30, 0xE7, 0x82, 0xB9, 0x45, + 0x32, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x31, + 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x32, 0xE6, 0x97, + 0xA5, 0x45, 0x32, 0x32, 0xE7, 0x82, 0xB9, 0x45, + 0x32, 0x33, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x33, + 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x34, 0xE6, 0x97, + 0xA5, 0x45, 0x32, 0x34, 0xE7, 0x82, 0xB9, 0x45, + // Bytes 2280 - 22bf + 0x32, 0x35, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x36, + 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x37, 0xE6, 0x97, + 0xA5, 0x45, 0x32, 0x38, 0xE6, 0x97, 0xA5, 0x45, + 0x32, 0x39, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0xE2, + 0x81, 0x84, 0x33, 0x45, 0x32, 0xE2, 0x81, 0x84, + 0x35, 0x45, 0x33, 0x30, 0xE6, 0x97, 0xA5, 0x45, + 0x33, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0xE2, + 0x81, 0x84, 0x34, 0x45, 0x33, 0xE2, 0x81, 0x84, + // Bytes 22c0 - 22ff + 0x35, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x38, 0x45, + 0x34, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x35, 0xE2, + 0x81, 0x84, 0x36, 0x45, 0x35, 0xE2, 0x81, 0x84, + 0x38, 0x45, 0x37, 0xE2, 0x81, 0x84, 0x38, 0x45, + 0x41, 0xE2, 0x88, 0x95, 0x6D, 0x45, 0x56, 0xE2, + 0x88, 0x95, 0x6D, 0x45, 0x6D, 0xE2, 0x88, 0x95, + 0x73, 0x46, 0x31, 0xE2, 0x81, 0x84, 0x31, 0x30, + 0x46, 0x43, 0xE2, 0x88, 0x95, 0x6B, 0x67, 0x46, + // Bytes 2300 - 233f + 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x46, 0xD8, + 0xA8, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xA8, + 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD8, 0xAA, 0xD8, + 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, + 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, + 0x46, 0xD8, 0xAA, 0xD8, 0xAD, 0xD9, 0x85, 0x46, + 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD8, + // Bytes 2340 - 237f + 0xAA, 0xD8, 0xAE, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD8, 0xAA, 0xD9, + 0x85, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, 0xD9, 0x85, + 0xD8, 0xAD, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, + 0xAE, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xAC, 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD8, + 0xAC, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, + // Bytes 2380 - 23bf + 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xAC, 0xD9, + 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, + 0x8A, 0x46, 0xD8, 0xAD, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAD, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xB3, 0xD8, 0xAC, 0xD8, 0xAD, 0x46, 0xD8, + 0xB3, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD8, 0xB3, + 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xB3, 0xD8, + // Bytes 23c0 - 23ff + 0xAE, 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, + 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD8, + 0xAC, 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAD, + 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD9, 0x85, 0x46, + 0xD8, 0xB4, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xB4, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xB4, + 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD9, + 0x85, 0xD8, 0xAE, 0x46, 0xD8, 0xB4, 0xD9, 0x85, + // Bytes 2400 - 243f + 0xD9, 0x85, 0x46, 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, + 0xAD, 0x46, 0xD8, 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, 0x46, + 0xD8, 0xB5, 0xD9, 0x84, 0xDB, 0x92, 0x46, 0xD8, + 0xB5, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB6, + 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xB6, 0xD8, + 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB6, 0xD8, 0xAE, + 0xD9, 0x85, 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD8, + // Bytes 2440 - 247f + 0xAD, 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xB9, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD8, + 0xB9, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB9, + 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xB9, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xBA, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x8A, + // Bytes 2480 - 24bf + 0x46, 0xD9, 0x81, 0xD8, 0xAE, 0xD9, 0x85, 0x46, + 0xD9, 0x81, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, + 0x82, 0xD9, 0x84, 0xDB, 0x92, 0x46, 0xD9, 0x82, + 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x82, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x82, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x83, 0xD9, 0x85, 0xD9, + 0x85, 0x46, 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD9, 0x84, 0xD8, 0xAC, 0xD8, 0xAC, 0x46, + // Bytes 24c0 - 24ff + 0xD9, 0x84, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD9, + 0x84, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x84, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAE, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD9, 0x85, 0xD8, 0xAD, + 0x46, 0xD9, 0x84, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x85, 0xD8, 0xAC, 0xD8, 0xAD, 0x46, 0xD9, + // Bytes 2500 - 253f + 0x85, 0xD8, 0xAC, 0xD8, 0xAE, 0x46, 0xD9, 0x85, + 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, 0xAD, + 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD9, 0x85, 0xD8, 0xAE, 0xD8, 0xAC, 0x46, + 0xD9, 0x85, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, + 0x85, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD9, 0x85, + // Bytes 2540 - 257f + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x86, 0xD8, 0xAC, + 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x86, 0xD8, 0xAD, 0xD9, 0x85, 0x46, + 0xD9, 0x86, 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD9, + 0x86, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x86, + 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD9, + // Bytes 2580 - 25bf + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x87, 0xD9, 0x85, + 0xD8, 0xAC, 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD9, + 0x85, 0x46, 0xD9, 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x8A, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD9, 0x8A, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xA7, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD8, 0xAC, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + // Bytes 25c0 - 25ff + 0xD8, 0xAD, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, + 0xAE, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xB1, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xB2, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD9, 0x86, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD9, 0x87, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD9, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD9, 0x89, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + // Bytes 2600 - 263f + 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x86, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x87, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x88, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xDB, 0x90, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xDB, 0x95, 0x46, 0xE0, 0xB9, 0x8D, + 0xE0, 0xB8, 0xB2, 0x46, 0xE0, 0xBA, 0xAB, 0xE0, + 0xBA, 0x99, 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, + 0xA1, 0x46, 0xE0, 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, + // Bytes 2640 - 267f + 0x46, 0xE0, 0xBD, 0x80, 0xE0, 0xBE, 0xB5, 0x46, + 0xE0, 0xBD, 0x82, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, + 0xBD, 0x8C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, + 0x91, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x96, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x9B, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0x90, 0xE0, 0xBE, + 0xB5, 0x46, 0xE0, 0xBE, 0x92, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBE, 0x9C, 0xE0, 0xBE, 0xB7, 0x46, + // Bytes 2680 - 26bf + 0xE0, 0xBE, 0xA1, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, + 0xBE, 0xA6, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0xAB, 0xE0, 0xBE, 0xB7, 0x46, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x46, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0x46, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0x46, 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, + 0x46, 0xE3, 0x81, 0xBB, 0xE3, 0x81, 0x8B, 0x46, + 0xE3, 0x82, 0x88, 0xE3, 0x82, 0x8A, 0x46, 0xE3, + // Bytes 26c0 - 26ff + 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0x46, 0xE3, 0x82, + 0xB3, 0xE3, 0x82, 0xB3, 0x46, 0xE3, 0x82, 0xB3, + 0xE3, 0x83, 0x88, 0x46, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xB3, 0x46, 0xE3, 0x83, 0x8A, 0xE3, 0x83, + 0x8E, 0x46, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xB3, + 0x46, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0x46, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xA9, 0x46, 0xE3, + 0x83, 0xAC, 0xE3, 0x83, 0xA0, 0x46, 0xE5, 0xA4, + // Bytes 2700 - 273f + 0xA7, 0xE6, 0xAD, 0xA3, 0x46, 0xE5, 0xB9, 0xB3, + 0xE6, 0x88, 0x90, 0x46, 0xE6, 0x98, 0x8E, 0xE6, + 0xB2, 0xBB, 0x46, 0xE6, 0x98, 0xAD, 0xE5, 0x92, + 0x8C, 0x47, 0x72, 0x61, 0x64, 0xE2, 0x88, 0x95, + 0x73, 0x47, 0xE3, 0x80, 0x94, 0x53, 0xE3, 0x80, + 0x95, 0x48, 0x28, 0xE1, 0x84, 0x80, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x82, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x83, + // Bytes 2740 - 277f + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x85, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8C, 0xE1, + // Bytes 2780 - 27bf + 0x85, 0xAE, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8E, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x8F, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x72, 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, + 0x32, 0x48, 0xD8, 0xA7, 0xD9, 0x83, 0xD8, 0xA8, + // Bytes 27c0 - 27ff + 0xD8, 0xB1, 0x48, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, + 0x84, 0xD9, 0x87, 0x48, 0xD8, 0xB1, 0xD8, 0xB3, + 0xD9, 0x88, 0xD9, 0x84, 0x48, 0xD8, 0xB1, 0xDB, + 0x8C, 0xD8, 0xA7, 0xD9, 0x84, 0x48, 0xD8, 0xB5, + 0xD9, 0x84, 0xD8, 0xB9, 0xD9, 0x85, 0x48, 0xD8, + 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x48, + 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0xD8, 0xAF, + 0x48, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, 0x84, 0xD9, + // Bytes 2800 - 283f + 0x85, 0x49, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x49, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x49, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x49, + 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0xE2, 0x88, + 0xAE, 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xB8, 0x89, + 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE4, + 0xBA, 0x8C, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, + // Bytes 2840 - 287f + 0x94, 0xE5, 0x8B, 0x9D, 0xE3, 0x80, 0x95, 0x49, + 0xE3, 0x80, 0x94, 0xE5, 0xAE, 0x89, 0xE3, 0x80, + 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x89, 0x93, + 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, + 0x95, 0x97, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, + 0x94, 0xE6, 0x9C, 0xAC, 0xE3, 0x80, 0x95, 0x49, + 0xE3, 0x80, 0x94, 0xE7, 0x82, 0xB9, 0xE3, 0x80, + 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE7, 0x9B, 0x97, + // Bytes 2880 - 28bf + 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x82, 0xA2, 0xE3, + 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0x49, + 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0xA9, 0xE3, 0x83, + 0xB3, 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, + 0xE3, 0x82, 0xB9, 0x49, 0xE3, 0x82, 0xAA, 0xE3, + 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0x49, 0xE3, 0x82, + 0xAB, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAA, 0x49, + // Bytes 28c0 - 28ff + 0xE3, 0x82, 0xB1, 0xE3, 0x83, 0xBC, 0xE3, 0x82, + 0xB9, 0x49, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0x8A, 0x49, 0xE3, 0x82, 0xBB, 0xE3, + 0x83, 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, + 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0x49, + 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0xE3, 0x82, + 0xB7, 0x49, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, + 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x8E, 0xE3, + // Bytes 2900 - 293f + 0x83, 0x83, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, + 0x8F, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x84, 0x49, + 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xAB, 0x49, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x82, 0xB3, 0x49, 0xE3, 0x83, 0x95, 0xE3, + 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xBD, 0x49, + 0xE3, 0x83, 0x98, 0xE3, 0x83, 0xAB, 0xE3, 0x83, + // Bytes 2940 - 297f + 0x84, 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9B, 0xE3, + 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, + 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAB, 0x49, + 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x8F, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0xAB, + 0xE3, 0x82, 0xAF, 0x49, 0xE3, 0x83, 0xA4, 0xE3, + 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, + // Bytes 2980 - 29bf + 0xA6, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xB3, 0x49, + 0xE3, 0x83, 0xAF, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4C, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0x4C, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, + 0xE2, 0x88, 0xAB, 0x4C, 0xE3, 0x82, 0xA2, 0xE3, + 0x83, 0xAB, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA1, + 0x4C, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xBC, 0xE3, + // Bytes 29c0 - 29ff + 0x82, 0xAB, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, + 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAD, 0xE3, + 0x83, 0xB3, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x9E, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAA, 0xE3, 0x83, + 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, + 0x82, 0xAD, 0xE3, 0x83, 0xA5, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAF, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, + 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, + 0x83, 0xBC, 0xE3, 0x83, 0x8D, 0x4C, 0xE3, 0x82, + 0xB5, 0xE3, 0x82, 0xA4, 0xE3, 0x82, 0xAF, 0xE3, + 0x83, 0xAB, 0x4C, 0xE3, 0x82, 0xBF, 0xE3, 0x82, + // Bytes 2a40 - 2a7f + 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x4C, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x84, 0x4C, 0xE3, 0x83, 0x92, + 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAB, 0x4C, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA3, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0x4C, 0xE3, + 0x83, 0x98, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xBF, 0x4C, 0xE3, 0x83, 0x98, 0xE3, + // Bytes 2a80 - 2abf + 0x82, 0x9A, 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0x92, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, + 0x83, 0xB3, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, + 0x9B, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x9E, 0xE3, 0x82, + 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0x4C, + 0xE3, 0x83, 0x9F, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAD, 0xE3, 0x83, 0xB3, 0x4C, 0xE3, 0x83, 0xA1, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, + 0xAB, 0x4C, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x83, + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0xAB, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x83, 0xBC, 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, + 0xBC, 0x8F, 0xE4, 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, + 0x4E, 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA9, + 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xAE, 0x29, 0x4F, + // Bytes 2b00 - 2b3f + 0xD8, 0xAC, 0xD9, 0x84, 0x20, 0xD8, 0xAC, 0xD9, + 0x84, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x87, 0x4F, + 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0x4F, + 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xB3, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA2, 0x4F, + 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xAF, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4F, + // Bytes 2b40 - 2b7f + 0xE3, 0x82, 0xB5, 0xE3, 0x83, 0xB3, 0xE3, 0x83, + 0x81, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0x4F, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xAB, 0x4F, + 0xE3, 0x83, 0x98, 0xE3, 0x82, 0xAF, 0xE3, 0x82, + 0xBF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x4F, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0x4F, + // Bytes 2b80 - 2bbf + 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0xB3, 0x4F, + 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x4F, + 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x95, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x51, + 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, + 0x84, 0x8C, 0xE1, 0x85, 0xA5, 0xE1, 0x86, 0xAB, + // Bytes 2bc0 - 2bff + 0x29, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xBF, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xBC, 0x52, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xAF, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x52, + 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xA1, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xAB, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x82, + // Bytes 2c00 - 2c3f + 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0xE3, + 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x52, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xBB, 0xE3, + 0x82, 0x99, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAD, + 0x52, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, + 0x83, 0xBC, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0x52, 0xE3, 0x83, 0x92, 0xE3, + 0x82, 0x9A, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xB9, + // Bytes 2c40 - 2c7f + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x83, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0xA7, 0xE3, 0x83, + 0xAB, 0x52, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0xAC, + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, + 0xB1, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xB3, 0x61, + // Bytes 2c80 - 2cbf + 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, 0x20, 0xD8, + 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, 0x20, + 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, 0x87, + 0x20, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, 0x84, 0xD9, + 0x85, 0x06, 0xE0, 0xA7, 0x87, 0xE0, 0xA6, 0xBE, + 0x01, 0x06, 0xE0, 0xA7, 0x87, 0xE0, 0xA7, 0x97, + 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAC, 0xBE, + 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAD, 0x96, + // Bytes 2cc0 - 2cff + 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAD, 0x97, + 0x01, 0x06, 0xE0, 0xAE, 0x92, 0xE0, 0xAF, 0x97, + 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xBE, + 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, 0xAF, 0x97, + 0x01, 0x06, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xBE, + 0x01, 0x06, 0xE0, 0xB2, 0xBF, 0xE0, 0xB3, 0x95, + 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x95, + 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x96, + // Bytes 2d00 - 2d3f + 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, 0xB4, 0xBE, + 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, 0xB5, 0x97, + 0x01, 0x06, 0xE0, 0xB5, 0x87, 0xE0, 0xB4, 0xBE, + 0x01, 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x9F, + 0x01, 0x06, 0xE1, 0x80, 0xA5, 0xE1, 0x80, 0xAE, + 0x01, 0x06, 0xE1, 0xAC, 0x85, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAC, 0x87, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAC, 0x89, 0xE1, 0xAC, 0xB5, + // Bytes 2d40 - 2d7f + 0x01, 0x06, 0xE1, 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAC, 0x91, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, + 0x01, 0x06, 0xE1, 0xAD, 0x82, 0xE1, 0xAC, 0xB5, + // Bytes 2d80 - 2dbf + 0x01, 0x08, 0xF0, 0x91, 0x84, 0xB1, 0xF0, 0x91, + 0x84, 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x84, 0xB2, + 0xF0, 0x91, 0x84, 0xA7, 0x01, 0x08, 0xF0, 0x91, + 0x8D, 0x87, 0xF0, 0x91, 0x8C, 0xBE, 0x01, 0x08, + 0xF0, 0x91, 0x8D, 0x87, 0xF0, 0x91, 0x8D, 0x97, + 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, + 0x92, 0xB0, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, + 0xF0, 0x91, 0x92, 0xBA, 0x01, 0x08, 0xF0, 0x91, + // Bytes 2dc0 - 2dff + 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xBD, 0x01, 0x08, + 0xF0, 0x91, 0x96, 0xB8, 0xF0, 0x91, 0x96, 0xAF, + 0x01, 0x08, 0xF0, 0x91, 0x96, 0xB9, 0xF0, 0x91, + 0x96, 0xAF, 0x01, 0x09, 0xE0, 0xB3, 0x86, 0xE0, + 0xB3, 0x82, 0xE0, 0xB3, 0x95, 0x02, 0x09, 0xE0, + 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, + 0x12, 0x44, 0x44, 0x5A, 0xCC, 0x8C, 0xC9, 0x44, + 0x44, 0x7A, 0xCC, 0x8C, 0xC9, 0x44, 0x64, 0x7A, + // Bytes 2e00 - 2e3f + 0xCC, 0x8C, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x93, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x94, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x46, 0xE1, 0x84, 0x80, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x82, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x83, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x85, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x86, 0xE1, + // Bytes 2e40 - 2e7f + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x87, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x89, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8B, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8B, 0xE1, + 0x85, 0xAE, 0x01, 0x46, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8E, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8F, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x90, 0xE1, + // Bytes 2e80 - 2ebf + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x91, 0xE1, + 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x92, 0xE1, + 0x85, 0xA1, 0x01, 0x49, 0xE3, 0x83, 0xA1, 0xE3, + 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, 0xE1, + 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0xE1, 0x84, 0x8B, + 0xE1, 0x85, 0xB4, 0x01, 0x4C, 0xE3, 0x82, 0xAD, + 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0x0D, 0x4C, 0xE3, 0x82, 0xB3, 0xE3, 0x83, + // Bytes 2ec0 - 2eff + 0xBC, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, + 0x4C, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE1, + 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0xE1, 0x86, 0xB7, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA9, 0x01, 0x4F, + 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x8B, 0xE3, 0x83, + 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x4F, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xAA, 0xE3, + // Bytes 2f00 - 2f3f + 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, + 0x0D, 0x4F, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, + 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x82, + 0x99, 0x0D, 0x4F, 0xE3, 0x83, 0x9B, 0xE3, 0x82, + 0x9A, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x82, 0xA8, 0xE3, + 0x82, 0xB9, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, 0x52, + // Bytes 2f40 - 2f7f + 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA1, 0xE3, 0x83, + 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x86, 0xE0, 0xB3, 0x86, 0xE0, + 0xB3, 0x82, 0x01, 0x86, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x8F, 0x01, 0x03, 0x3C, 0xCC, 0xB8, 0x05, + 0x03, 0x3D, 0xCC, 0xB8, 0x05, 0x03, 0x3E, 0xCC, + 0xB8, 0x05, 0x03, 0x41, 0xCC, 0x80, 0xC9, 0x03, + 0x41, 0xCC, 0x81, 0xC9, 0x03, 0x41, 0xCC, 0x83, + // Bytes 2f80 - 2fbf + 0xC9, 0x03, 0x41, 0xCC, 0x84, 0xC9, 0x03, 0x41, + 0xCC, 0x89, 0xC9, 0x03, 0x41, 0xCC, 0x8C, 0xC9, + 0x03, 0x41, 0xCC, 0x8F, 0xC9, 0x03, 0x41, 0xCC, + 0x91, 0xC9, 0x03, 0x41, 0xCC, 0xA5, 0xB5, 0x03, + 0x41, 0xCC, 0xA8, 0xA5, 0x03, 0x42, 0xCC, 0x87, + 0xC9, 0x03, 0x42, 0xCC, 0xA3, 0xB5, 0x03, 0x42, + 0xCC, 0xB1, 0xB5, 0x03, 0x43, 0xCC, 0x81, 0xC9, + 0x03, 0x43, 0xCC, 0x82, 0xC9, 0x03, 0x43, 0xCC, + // Bytes 2fc0 - 2fff + 0x87, 0xC9, 0x03, 0x43, 0xCC, 0x8C, 0xC9, 0x03, + 0x44, 0xCC, 0x87, 0xC9, 0x03, 0x44, 0xCC, 0x8C, + 0xC9, 0x03, 0x44, 0xCC, 0xA3, 0xB5, 0x03, 0x44, + 0xCC, 0xA7, 0xA5, 0x03, 0x44, 0xCC, 0xAD, 0xB5, + 0x03, 0x44, 0xCC, 0xB1, 0xB5, 0x03, 0x45, 0xCC, + 0x80, 0xC9, 0x03, 0x45, 0xCC, 0x81, 0xC9, 0x03, + 0x45, 0xCC, 0x83, 0xC9, 0x03, 0x45, 0xCC, 0x86, + 0xC9, 0x03, 0x45, 0xCC, 0x87, 0xC9, 0x03, 0x45, + // Bytes 3000 - 303f + 0xCC, 0x88, 0xC9, 0x03, 0x45, 0xCC, 0x89, 0xC9, + 0x03, 0x45, 0xCC, 0x8C, 0xC9, 0x03, 0x45, 0xCC, + 0x8F, 0xC9, 0x03, 0x45, 0xCC, 0x91, 0xC9, 0x03, + 0x45, 0xCC, 0xA8, 0xA5, 0x03, 0x45, 0xCC, 0xAD, + 0xB5, 0x03, 0x45, 0xCC, 0xB0, 0xB5, 0x03, 0x46, + 0xCC, 0x87, 0xC9, 0x03, 0x47, 0xCC, 0x81, 0xC9, + 0x03, 0x47, 0xCC, 0x82, 0xC9, 0x03, 0x47, 0xCC, + 0x84, 0xC9, 0x03, 0x47, 0xCC, 0x86, 0xC9, 0x03, + // Bytes 3040 - 307f + 0x47, 0xCC, 0x87, 0xC9, 0x03, 0x47, 0xCC, 0x8C, + 0xC9, 0x03, 0x47, 0xCC, 0xA7, 0xA5, 0x03, 0x48, + 0xCC, 0x82, 0xC9, 0x03, 0x48, 0xCC, 0x87, 0xC9, + 0x03, 0x48, 0xCC, 0x88, 0xC9, 0x03, 0x48, 0xCC, + 0x8C, 0xC9, 0x03, 0x48, 0xCC, 0xA3, 0xB5, 0x03, + 0x48, 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0xAE, + 0xB5, 0x03, 0x49, 0xCC, 0x80, 0xC9, 0x03, 0x49, + 0xCC, 0x81, 0xC9, 0x03, 0x49, 0xCC, 0x82, 0xC9, + // Bytes 3080 - 30bf + 0x03, 0x49, 0xCC, 0x83, 0xC9, 0x03, 0x49, 0xCC, + 0x84, 0xC9, 0x03, 0x49, 0xCC, 0x86, 0xC9, 0x03, + 0x49, 0xCC, 0x87, 0xC9, 0x03, 0x49, 0xCC, 0x89, + 0xC9, 0x03, 0x49, 0xCC, 0x8C, 0xC9, 0x03, 0x49, + 0xCC, 0x8F, 0xC9, 0x03, 0x49, 0xCC, 0x91, 0xC9, + 0x03, 0x49, 0xCC, 0xA3, 0xB5, 0x03, 0x49, 0xCC, + 0xA8, 0xA5, 0x03, 0x49, 0xCC, 0xB0, 0xB5, 0x03, + 0x4A, 0xCC, 0x82, 0xC9, 0x03, 0x4B, 0xCC, 0x81, + // Bytes 30c0 - 30ff + 0xC9, 0x03, 0x4B, 0xCC, 0x8C, 0xC9, 0x03, 0x4B, + 0xCC, 0xA3, 0xB5, 0x03, 0x4B, 0xCC, 0xA7, 0xA5, + 0x03, 0x4B, 0xCC, 0xB1, 0xB5, 0x03, 0x4C, 0xCC, + 0x81, 0xC9, 0x03, 0x4C, 0xCC, 0x8C, 0xC9, 0x03, + 0x4C, 0xCC, 0xA7, 0xA5, 0x03, 0x4C, 0xCC, 0xAD, + 0xB5, 0x03, 0x4C, 0xCC, 0xB1, 0xB5, 0x03, 0x4D, + 0xCC, 0x81, 0xC9, 0x03, 0x4D, 0xCC, 0x87, 0xC9, + 0x03, 0x4D, 0xCC, 0xA3, 0xB5, 0x03, 0x4E, 0xCC, + // Bytes 3100 - 313f + 0x80, 0xC9, 0x03, 0x4E, 0xCC, 0x81, 0xC9, 0x03, + 0x4E, 0xCC, 0x83, 0xC9, 0x03, 0x4E, 0xCC, 0x87, + 0xC9, 0x03, 0x4E, 0xCC, 0x8C, 0xC9, 0x03, 0x4E, + 0xCC, 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0xA7, 0xA5, + 0x03, 0x4E, 0xCC, 0xAD, 0xB5, 0x03, 0x4E, 0xCC, + 0xB1, 0xB5, 0x03, 0x4F, 0xCC, 0x80, 0xC9, 0x03, + 0x4F, 0xCC, 0x81, 0xC9, 0x03, 0x4F, 0xCC, 0x86, + 0xC9, 0x03, 0x4F, 0xCC, 0x89, 0xC9, 0x03, 0x4F, + // Bytes 3140 - 317f + 0xCC, 0x8B, 0xC9, 0x03, 0x4F, 0xCC, 0x8C, 0xC9, + 0x03, 0x4F, 0xCC, 0x8F, 0xC9, 0x03, 0x4F, 0xCC, + 0x91, 0xC9, 0x03, 0x50, 0xCC, 0x81, 0xC9, 0x03, + 0x50, 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x81, + 0xC9, 0x03, 0x52, 0xCC, 0x87, 0xC9, 0x03, 0x52, + 0xCC, 0x8C, 0xC9, 0x03, 0x52, 0xCC, 0x8F, 0xC9, + 0x03, 0x52, 0xCC, 0x91, 0xC9, 0x03, 0x52, 0xCC, + 0xA7, 0xA5, 0x03, 0x52, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3180 - 31bf + 0x53, 0xCC, 0x82, 0xC9, 0x03, 0x53, 0xCC, 0x87, + 0xC9, 0x03, 0x53, 0xCC, 0xA6, 0xB5, 0x03, 0x53, + 0xCC, 0xA7, 0xA5, 0x03, 0x54, 0xCC, 0x87, 0xC9, + 0x03, 0x54, 0xCC, 0x8C, 0xC9, 0x03, 0x54, 0xCC, + 0xA3, 0xB5, 0x03, 0x54, 0xCC, 0xA6, 0xB5, 0x03, + 0x54, 0xCC, 0xA7, 0xA5, 0x03, 0x54, 0xCC, 0xAD, + 0xB5, 0x03, 0x54, 0xCC, 0xB1, 0xB5, 0x03, 0x55, + 0xCC, 0x80, 0xC9, 0x03, 0x55, 0xCC, 0x81, 0xC9, + // Bytes 31c0 - 31ff + 0x03, 0x55, 0xCC, 0x82, 0xC9, 0x03, 0x55, 0xCC, + 0x86, 0xC9, 0x03, 0x55, 0xCC, 0x89, 0xC9, 0x03, + 0x55, 0xCC, 0x8A, 0xC9, 0x03, 0x55, 0xCC, 0x8B, + 0xC9, 0x03, 0x55, 0xCC, 0x8C, 0xC9, 0x03, 0x55, + 0xCC, 0x8F, 0xC9, 0x03, 0x55, 0xCC, 0x91, 0xC9, + 0x03, 0x55, 0xCC, 0xA3, 0xB5, 0x03, 0x55, 0xCC, + 0xA4, 0xB5, 0x03, 0x55, 0xCC, 0xA8, 0xA5, 0x03, + 0x55, 0xCC, 0xAD, 0xB5, 0x03, 0x55, 0xCC, 0xB0, + // Bytes 3200 - 323f + 0xB5, 0x03, 0x56, 0xCC, 0x83, 0xC9, 0x03, 0x56, + 0xCC, 0xA3, 0xB5, 0x03, 0x57, 0xCC, 0x80, 0xC9, + 0x03, 0x57, 0xCC, 0x81, 0xC9, 0x03, 0x57, 0xCC, + 0x82, 0xC9, 0x03, 0x57, 0xCC, 0x87, 0xC9, 0x03, + 0x57, 0xCC, 0x88, 0xC9, 0x03, 0x57, 0xCC, 0xA3, + 0xB5, 0x03, 0x58, 0xCC, 0x87, 0xC9, 0x03, 0x58, + 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x80, 0xC9, + 0x03, 0x59, 0xCC, 0x81, 0xC9, 0x03, 0x59, 0xCC, + // Bytes 3240 - 327f + 0x82, 0xC9, 0x03, 0x59, 0xCC, 0x83, 0xC9, 0x03, + 0x59, 0xCC, 0x84, 0xC9, 0x03, 0x59, 0xCC, 0x87, + 0xC9, 0x03, 0x59, 0xCC, 0x88, 0xC9, 0x03, 0x59, + 0xCC, 0x89, 0xC9, 0x03, 0x59, 0xCC, 0xA3, 0xB5, + 0x03, 0x5A, 0xCC, 0x81, 0xC9, 0x03, 0x5A, 0xCC, + 0x82, 0xC9, 0x03, 0x5A, 0xCC, 0x87, 0xC9, 0x03, + 0x5A, 0xCC, 0x8C, 0xC9, 0x03, 0x5A, 0xCC, 0xA3, + 0xB5, 0x03, 0x5A, 0xCC, 0xB1, 0xB5, 0x03, 0x61, + // Bytes 3280 - 32bf + 0xCC, 0x80, 0xC9, 0x03, 0x61, 0xCC, 0x81, 0xC9, + 0x03, 0x61, 0xCC, 0x83, 0xC9, 0x03, 0x61, 0xCC, + 0x84, 0xC9, 0x03, 0x61, 0xCC, 0x89, 0xC9, 0x03, + 0x61, 0xCC, 0x8C, 0xC9, 0x03, 0x61, 0xCC, 0x8F, + 0xC9, 0x03, 0x61, 0xCC, 0x91, 0xC9, 0x03, 0x61, + 0xCC, 0xA5, 0xB5, 0x03, 0x61, 0xCC, 0xA8, 0xA5, + 0x03, 0x62, 0xCC, 0x87, 0xC9, 0x03, 0x62, 0xCC, + 0xA3, 0xB5, 0x03, 0x62, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 32c0 - 32ff + 0x63, 0xCC, 0x81, 0xC9, 0x03, 0x63, 0xCC, 0x82, + 0xC9, 0x03, 0x63, 0xCC, 0x87, 0xC9, 0x03, 0x63, + 0xCC, 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0x87, 0xC9, + 0x03, 0x64, 0xCC, 0x8C, 0xC9, 0x03, 0x64, 0xCC, + 0xA3, 0xB5, 0x03, 0x64, 0xCC, 0xA7, 0xA5, 0x03, + 0x64, 0xCC, 0xAD, 0xB5, 0x03, 0x64, 0xCC, 0xB1, + 0xB5, 0x03, 0x65, 0xCC, 0x80, 0xC9, 0x03, 0x65, + 0xCC, 0x81, 0xC9, 0x03, 0x65, 0xCC, 0x83, 0xC9, + // Bytes 3300 - 333f + 0x03, 0x65, 0xCC, 0x86, 0xC9, 0x03, 0x65, 0xCC, + 0x87, 0xC9, 0x03, 0x65, 0xCC, 0x88, 0xC9, 0x03, + 0x65, 0xCC, 0x89, 0xC9, 0x03, 0x65, 0xCC, 0x8C, + 0xC9, 0x03, 0x65, 0xCC, 0x8F, 0xC9, 0x03, 0x65, + 0xCC, 0x91, 0xC9, 0x03, 0x65, 0xCC, 0xA8, 0xA5, + 0x03, 0x65, 0xCC, 0xAD, 0xB5, 0x03, 0x65, 0xCC, + 0xB0, 0xB5, 0x03, 0x66, 0xCC, 0x87, 0xC9, 0x03, + 0x67, 0xCC, 0x81, 0xC9, 0x03, 0x67, 0xCC, 0x82, + // Bytes 3340 - 337f + 0xC9, 0x03, 0x67, 0xCC, 0x84, 0xC9, 0x03, 0x67, + 0xCC, 0x86, 0xC9, 0x03, 0x67, 0xCC, 0x87, 0xC9, + 0x03, 0x67, 0xCC, 0x8C, 0xC9, 0x03, 0x67, 0xCC, + 0xA7, 0xA5, 0x03, 0x68, 0xCC, 0x82, 0xC9, 0x03, + 0x68, 0xCC, 0x87, 0xC9, 0x03, 0x68, 0xCC, 0x88, + 0xC9, 0x03, 0x68, 0xCC, 0x8C, 0xC9, 0x03, 0x68, + 0xCC, 0xA3, 0xB5, 0x03, 0x68, 0xCC, 0xA7, 0xA5, + 0x03, 0x68, 0xCC, 0xAE, 0xB5, 0x03, 0x68, 0xCC, + // Bytes 3380 - 33bf + 0xB1, 0xB5, 0x03, 0x69, 0xCC, 0x80, 0xC9, 0x03, + 0x69, 0xCC, 0x81, 0xC9, 0x03, 0x69, 0xCC, 0x82, + 0xC9, 0x03, 0x69, 0xCC, 0x83, 0xC9, 0x03, 0x69, + 0xCC, 0x84, 0xC9, 0x03, 0x69, 0xCC, 0x86, 0xC9, + 0x03, 0x69, 0xCC, 0x89, 0xC9, 0x03, 0x69, 0xCC, + 0x8C, 0xC9, 0x03, 0x69, 0xCC, 0x8F, 0xC9, 0x03, + 0x69, 0xCC, 0x91, 0xC9, 0x03, 0x69, 0xCC, 0xA3, + 0xB5, 0x03, 0x69, 0xCC, 0xA8, 0xA5, 0x03, 0x69, + // Bytes 33c0 - 33ff + 0xCC, 0xB0, 0xB5, 0x03, 0x6A, 0xCC, 0x82, 0xC9, + 0x03, 0x6A, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, + 0x81, 0xC9, 0x03, 0x6B, 0xCC, 0x8C, 0xC9, 0x03, + 0x6B, 0xCC, 0xA3, 0xB5, 0x03, 0x6B, 0xCC, 0xA7, + 0xA5, 0x03, 0x6B, 0xCC, 0xB1, 0xB5, 0x03, 0x6C, + 0xCC, 0x81, 0xC9, 0x03, 0x6C, 0xCC, 0x8C, 0xC9, + 0x03, 0x6C, 0xCC, 0xA7, 0xA5, 0x03, 0x6C, 0xCC, + 0xAD, 0xB5, 0x03, 0x6C, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3400 - 343f + 0x6D, 0xCC, 0x81, 0xC9, 0x03, 0x6D, 0xCC, 0x87, + 0xC9, 0x03, 0x6D, 0xCC, 0xA3, 0xB5, 0x03, 0x6E, + 0xCC, 0x80, 0xC9, 0x03, 0x6E, 0xCC, 0x81, 0xC9, + 0x03, 0x6E, 0xCC, 0x83, 0xC9, 0x03, 0x6E, 0xCC, + 0x87, 0xC9, 0x03, 0x6E, 0xCC, 0x8C, 0xC9, 0x03, + 0x6E, 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0xA7, + 0xA5, 0x03, 0x6E, 0xCC, 0xAD, 0xB5, 0x03, 0x6E, + 0xCC, 0xB1, 0xB5, 0x03, 0x6F, 0xCC, 0x80, 0xC9, + // Bytes 3440 - 347f + 0x03, 0x6F, 0xCC, 0x81, 0xC9, 0x03, 0x6F, 0xCC, + 0x86, 0xC9, 0x03, 0x6F, 0xCC, 0x89, 0xC9, 0x03, + 0x6F, 0xCC, 0x8B, 0xC9, 0x03, 0x6F, 0xCC, 0x8C, + 0xC9, 0x03, 0x6F, 0xCC, 0x8F, 0xC9, 0x03, 0x6F, + 0xCC, 0x91, 0xC9, 0x03, 0x70, 0xCC, 0x81, 0xC9, + 0x03, 0x70, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, + 0x81, 0xC9, 0x03, 0x72, 0xCC, 0x87, 0xC9, 0x03, + 0x72, 0xCC, 0x8C, 0xC9, 0x03, 0x72, 0xCC, 0x8F, + // Bytes 3480 - 34bf + 0xC9, 0x03, 0x72, 0xCC, 0x91, 0xC9, 0x03, 0x72, + 0xCC, 0xA7, 0xA5, 0x03, 0x72, 0xCC, 0xB1, 0xB5, + 0x03, 0x73, 0xCC, 0x82, 0xC9, 0x03, 0x73, 0xCC, + 0x87, 0xC9, 0x03, 0x73, 0xCC, 0xA6, 0xB5, 0x03, + 0x73, 0xCC, 0xA7, 0xA5, 0x03, 0x74, 0xCC, 0x87, + 0xC9, 0x03, 0x74, 0xCC, 0x88, 0xC9, 0x03, 0x74, + 0xCC, 0x8C, 0xC9, 0x03, 0x74, 0xCC, 0xA3, 0xB5, + 0x03, 0x74, 0xCC, 0xA6, 0xB5, 0x03, 0x74, 0xCC, + // Bytes 34c0 - 34ff + 0xA7, 0xA5, 0x03, 0x74, 0xCC, 0xAD, 0xB5, 0x03, + 0x74, 0xCC, 0xB1, 0xB5, 0x03, 0x75, 0xCC, 0x80, + 0xC9, 0x03, 0x75, 0xCC, 0x81, 0xC9, 0x03, 0x75, + 0xCC, 0x82, 0xC9, 0x03, 0x75, 0xCC, 0x86, 0xC9, + 0x03, 0x75, 0xCC, 0x89, 0xC9, 0x03, 0x75, 0xCC, + 0x8A, 0xC9, 0x03, 0x75, 0xCC, 0x8B, 0xC9, 0x03, + 0x75, 0xCC, 0x8C, 0xC9, 0x03, 0x75, 0xCC, 0x8F, + 0xC9, 0x03, 0x75, 0xCC, 0x91, 0xC9, 0x03, 0x75, + // Bytes 3500 - 353f + 0xCC, 0xA3, 0xB5, 0x03, 0x75, 0xCC, 0xA4, 0xB5, + 0x03, 0x75, 0xCC, 0xA8, 0xA5, 0x03, 0x75, 0xCC, + 0xAD, 0xB5, 0x03, 0x75, 0xCC, 0xB0, 0xB5, 0x03, + 0x76, 0xCC, 0x83, 0xC9, 0x03, 0x76, 0xCC, 0xA3, + 0xB5, 0x03, 0x77, 0xCC, 0x80, 0xC9, 0x03, 0x77, + 0xCC, 0x81, 0xC9, 0x03, 0x77, 0xCC, 0x82, 0xC9, + 0x03, 0x77, 0xCC, 0x87, 0xC9, 0x03, 0x77, 0xCC, + 0x88, 0xC9, 0x03, 0x77, 0xCC, 0x8A, 0xC9, 0x03, + // Bytes 3540 - 357f + 0x77, 0xCC, 0xA3, 0xB5, 0x03, 0x78, 0xCC, 0x87, + 0xC9, 0x03, 0x78, 0xCC, 0x88, 0xC9, 0x03, 0x79, + 0xCC, 0x80, 0xC9, 0x03, 0x79, 0xCC, 0x81, 0xC9, + 0x03, 0x79, 0xCC, 0x82, 0xC9, 0x03, 0x79, 0xCC, + 0x83, 0xC9, 0x03, 0x79, 0xCC, 0x84, 0xC9, 0x03, + 0x79, 0xCC, 0x87, 0xC9, 0x03, 0x79, 0xCC, 0x88, + 0xC9, 0x03, 0x79, 0xCC, 0x89, 0xC9, 0x03, 0x79, + 0xCC, 0x8A, 0xC9, 0x03, 0x79, 0xCC, 0xA3, 0xB5, + // Bytes 3580 - 35bf + 0x03, 0x7A, 0xCC, 0x81, 0xC9, 0x03, 0x7A, 0xCC, + 0x82, 0xC9, 0x03, 0x7A, 0xCC, 0x87, 0xC9, 0x03, + 0x7A, 0xCC, 0x8C, 0xC9, 0x03, 0x7A, 0xCC, 0xA3, + 0xB5, 0x03, 0x7A, 0xCC, 0xB1, 0xB5, 0x04, 0xC2, + 0xA8, 0xCC, 0x80, 0xCA, 0x04, 0xC2, 0xA8, 0xCC, + 0x81, 0xCA, 0x04, 0xC2, 0xA8, 0xCD, 0x82, 0xCA, + 0x04, 0xC3, 0x86, 0xCC, 0x81, 0xC9, 0x04, 0xC3, + 0x86, 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0x98, 0xCC, + // Bytes 35c0 - 35ff + 0x81, 0xC9, 0x04, 0xC3, 0xA6, 0xCC, 0x81, 0xC9, + 0x04, 0xC3, 0xA6, 0xCC, 0x84, 0xC9, 0x04, 0xC3, + 0xB8, 0xCC, 0x81, 0xC9, 0x04, 0xC5, 0xBF, 0xCC, + 0x87, 0xC9, 0x04, 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, + 0x04, 0xCA, 0x92, 0xCC, 0x8C, 0xC9, 0x04, 0xCE, + 0x91, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x91, 0xCC, + 0x81, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x84, 0xC9, + 0x04, 0xCE, 0x91, 0xCC, 0x86, 0xC9, 0x04, 0xCE, + // Bytes 3600 - 363f + 0x91, 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0x95, 0xCC, + 0x80, 0xC9, 0x04, 0xCE, 0x95, 0xCC, 0x81, 0xC9, + 0x04, 0xCE, 0x97, 0xCC, 0x80, 0xC9, 0x04, 0xCE, + 0x97, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, 0xCD, + 0x85, 0xD9, 0x04, 0xCE, 0x99, 0xCC, 0x80, 0xC9, + 0x04, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x04, 0xCE, + 0x99, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x99, 0xCC, + 0x86, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x88, 0xC9, + // Bytes 3640 - 367f + 0x04, 0xCE, 0x9F, 0xCC, 0x80, 0xC9, 0x04, 0xCE, + 0x9F, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA1, 0xCC, + 0x94, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x80, 0xC9, + 0x04, 0xCE, 0xA5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, + 0xA5, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, + 0x86, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, + 0x04, 0xCE, 0xA9, 0xCC, 0x80, 0xC9, 0x04, 0xCE, + 0xA9, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA9, 0xCD, + // Bytes 3680 - 36bf + 0x85, 0xD9, 0x04, 0xCE, 0xB1, 0xCC, 0x84, 0xC9, + 0x04, 0xCE, 0xB1, 0xCC, 0x86, 0xC9, 0x04, 0xCE, + 0xB1, 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB5, 0xCC, + 0x80, 0xC9, 0x04, 0xCE, 0xB5, 0xCC, 0x81, 0xC9, + 0x04, 0xCE, 0xB7, 0xCD, 0x85, 0xD9, 0x04, 0xCE, + 0xB9, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xB9, 0xCC, + 0x81, 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x84, 0xC9, + 0x04, 0xCE, 0xB9, 0xCC, 0x86, 0xC9, 0x04, 0xCE, + // Bytes 36c0 - 36ff + 0xB9, 0xCD, 0x82, 0xC9, 0x04, 0xCE, 0xBF, 0xCC, + 0x80, 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x81, 0xC9, + 0x04, 0xCF, 0x81, 0xCC, 0x93, 0xC9, 0x04, 0xCF, + 0x81, 0xCC, 0x94, 0xC9, 0x04, 0xCF, 0x85, 0xCC, + 0x80, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x81, 0xC9, + 0x04, 0xCF, 0x85, 0xCC, 0x84, 0xC9, 0x04, 0xCF, + 0x85, 0xCC, 0x86, 0xC9, 0x04, 0xCF, 0x85, 0xCD, + 0x82, 0xC9, 0x04, 0xCF, 0x89, 0xCD, 0x85, 0xD9, + // Bytes 3700 - 373f + 0x04, 0xCF, 0x92, 0xCC, 0x81, 0xC9, 0x04, 0xCF, + 0x92, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x86, 0xCC, + 0x88, 0xC9, 0x04, 0xD0, 0x90, 0xCC, 0x86, 0xC9, + 0x04, 0xD0, 0x90, 0xCC, 0x88, 0xC9, 0x04, 0xD0, + 0x93, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x95, 0xCC, + 0x80, 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x86, 0xC9, + 0x04, 0xD0, 0x95, 0xCC, 0x88, 0xC9, 0x04, 0xD0, + 0x96, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x96, 0xCC, + // Bytes 3740 - 377f + 0x88, 0xC9, 0x04, 0xD0, 0x97, 0xCC, 0x88, 0xC9, + 0x04, 0xD0, 0x98, 0xCC, 0x80, 0xC9, 0x04, 0xD0, + 0x98, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0x98, 0xCC, + 0x86, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x88, 0xC9, + 0x04, 0xD0, 0x9A, 0xCC, 0x81, 0xC9, 0x04, 0xD0, + 0x9E, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, + 0x84, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x86, 0xC9, + 0x04, 0xD0, 0xA3, 0xCC, 0x88, 0xC9, 0x04, 0xD0, + // Bytes 3780 - 37bf + 0xA3, 0xCC, 0x8B, 0xC9, 0x04, 0xD0, 0xA7, 0xCC, + 0x88, 0xC9, 0x04, 0xD0, 0xAB, 0xCC, 0x88, 0xC9, + 0x04, 0xD0, 0xAD, 0xCC, 0x88, 0xC9, 0x04, 0xD0, + 0xB0, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, + 0x88, 0xC9, 0x04, 0xD0, 0xB3, 0xCC, 0x81, 0xC9, + 0x04, 0xD0, 0xB5, 0xCC, 0x80, 0xC9, 0x04, 0xD0, + 0xB5, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, + 0x88, 0xC9, 0x04, 0xD0, 0xB6, 0xCC, 0x86, 0xC9, + // Bytes 37c0 - 37ff + 0x04, 0xD0, 0xB6, 0xCC, 0x88, 0xC9, 0x04, 0xD0, + 0xB7, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, + 0x80, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x84, 0xC9, + 0x04, 0xD0, 0xB8, 0xCC, 0x86, 0xC9, 0x04, 0xD0, + 0xB8, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xBA, 0xCC, + 0x81, 0xC9, 0x04, 0xD0, 0xBE, 0xCC, 0x88, 0xC9, + 0x04, 0xD1, 0x83, 0xCC, 0x84, 0xC9, 0x04, 0xD1, + 0x83, 0xCC, 0x86, 0xC9, 0x04, 0xD1, 0x83, 0xCC, + // Bytes 3800 - 383f + 0x88, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x8B, 0xC9, + 0x04, 0xD1, 0x87, 0xCC, 0x88, 0xC9, 0x04, 0xD1, + 0x8B, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8D, 0xCC, + 0x88, 0xC9, 0x04, 0xD1, 0x96, 0xCC, 0x88, 0xC9, + 0x04, 0xD1, 0xB4, 0xCC, 0x8F, 0xC9, 0x04, 0xD1, + 0xB5, 0xCC, 0x8F, 0xC9, 0x04, 0xD3, 0x98, 0xCC, + 0x88, 0xC9, 0x04, 0xD3, 0x99, 0xCC, 0x88, 0xC9, + 0x04, 0xD3, 0xA8, 0xCC, 0x88, 0xC9, 0x04, 0xD3, + // Bytes 3840 - 387f + 0xA9, 0xCC, 0x88, 0xC9, 0x04, 0xD8, 0xA7, 0xD9, + 0x93, 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, + 0x04, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, 0x04, 0xD9, + 0x88, 0xD9, 0x94, 0xC9, 0x04, 0xD9, 0x8A, 0xD9, + 0x94, 0xC9, 0x04, 0xDB, 0x81, 0xD9, 0x94, 0xC9, + 0x04, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x04, 0xDB, + 0x95, 0xD9, 0x94, 0xC9, 0x05, 0x41, 0xCC, 0x82, + 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, + // Bytes 3880 - 38bf + 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x83, + 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x89, 0xCA, + 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x80, 0xCA, 0x05, + 0x41, 0xCC, 0x86, 0xCC, 0x81, 0xCA, 0x05, 0x41, + 0xCC, 0x86, 0xCC, 0x83, 0xCA, 0x05, 0x41, 0xCC, + 0x86, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, 0x87, + 0xCC, 0x84, 0xCA, 0x05, 0x41, 0xCC, 0x88, 0xCC, + 0x84, 0xCA, 0x05, 0x41, 0xCC, 0x8A, 0xCC, 0x81, + // Bytes 38c0 - 38ff + 0xCA, 0x05, 0x41, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, + 0x05, 0x41, 0xCC, 0xA3, 0xCC, 0x86, 0xCA, 0x05, + 0x43, 0xCC, 0xA7, 0xCC, 0x81, 0xCA, 0x05, 0x45, + 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, 0x45, 0xCC, + 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, + 0xCC, 0x83, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, + 0x89, 0xCA, 0x05, 0x45, 0xCC, 0x84, 0xCC, 0x80, + 0xCA, 0x05, 0x45, 0xCC, 0x84, 0xCC, 0x81, 0xCA, + // Bytes 3900 - 393f + 0x05, 0x45, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x45, 0xCC, 0xA7, 0xCC, 0x86, 0xCA, 0x05, 0x49, + 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x4C, 0xCC, + 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x82, + 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, + 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x83, + 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x89, 0xCA, + 0x05, 0x4F, 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, + // Bytes 3940 - 397f + 0x4F, 0xCC, 0x83, 0xCC, 0x84, 0xCA, 0x05, 0x4F, + 0xCC, 0x83, 0xCC, 0x88, 0xCA, 0x05, 0x4F, 0xCC, + 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, 0x84, + 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x87, 0xCC, + 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x88, 0xCC, 0x84, + 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, + 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, + 0x4F, 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x4F, + // Bytes 3980 - 39bf + 0xCC, 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, + 0x9B, 0xCC, 0xA3, 0xB6, 0x05, 0x4F, 0xCC, 0xA3, + 0xCC, 0x82, 0xCA, 0x05, 0x4F, 0xCC, 0xA8, 0xCC, + 0x84, 0xCA, 0x05, 0x52, 0xCC, 0xA3, 0xCC, 0x84, + 0xCA, 0x05, 0x53, 0xCC, 0x81, 0xCC, 0x87, 0xCA, + 0x05, 0x53, 0xCC, 0x8C, 0xCC, 0x87, 0xCA, 0x05, + 0x53, 0xCC, 0xA3, 0xCC, 0x87, 0xCA, 0x05, 0x55, + 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, + // Bytes 39c0 - 39ff + 0x84, 0xCC, 0x88, 0xCA, 0x05, 0x55, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x84, + 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x8C, 0xCA, + 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, + 0x55, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x55, + 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x55, 0xCC, + 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x55, 0xCC, 0x9B, + // Bytes 3a00 - 3a3f + 0xCC, 0xA3, 0xB6, 0x05, 0x61, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x61, 0xCC, 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x61, + 0xCC, 0x86, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, + 0x86, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, 0x86, + 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x87, 0xCC, + // Bytes 3a40 - 3a7f + 0x84, 0xCA, 0x05, 0x61, 0xCC, 0x88, 0xCC, 0x84, + 0xCA, 0x05, 0x61, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, + 0x05, 0x61, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x61, 0xCC, 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x63, + 0xCC, 0xA7, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, + 0x82, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, 0x82, + 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, + 0x83, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x89, + // Bytes 3a80 - 3abf + 0xCA, 0x05, 0x65, 0xCC, 0x84, 0xCC, 0x80, 0xCA, + 0x05, 0x65, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, + 0x65, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x65, + 0xCC, 0xA7, 0xCC, 0x86, 0xCA, 0x05, 0x69, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x6C, 0xCC, 0xA3, + 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + // Bytes 3ac0 - 3aff + 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x6F, 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x83, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, + 0x83, 0xCC, 0x88, 0xCA, 0x05, 0x6F, 0xCC, 0x84, + 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, + 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x87, 0xCC, 0x84, + 0xCA, 0x05, 0x6F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, + 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, + // Bytes 3b00 - 3b3f + 0x6F, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, + 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, + 0xCC, 0xA3, 0xB6, 0x05, 0x6F, 0xCC, 0xA3, 0xCC, + 0x82, 0xCA, 0x05, 0x6F, 0xCC, 0xA8, 0xCC, 0x84, + 0xCA, 0x05, 0x72, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, + 0x05, 0x73, 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, + 0x73, 0xCC, 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x73, + // Bytes 3b40 - 3b7f + 0xCC, 0xA3, 0xCC, 0x87, 0xCA, 0x05, 0x75, 0xCC, + 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x84, + 0xCC, 0x88, 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, + 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x81, + 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x84, 0xCA, + 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, + 0x75, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x75, + 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x75, 0xCC, + // Bytes 3b80 - 3bbf + 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x75, 0xCC, 0x9B, + 0xCC, 0x89, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0xA3, 0xB6, 0x05, 0xE1, 0xBE, 0xBF, 0xCC, 0x80, + 0xCA, 0x05, 0xE1, 0xBE, 0xBF, 0xCC, 0x81, 0xCA, + 0x05, 0xE1, 0xBE, 0xBF, 0xCD, 0x82, 0xCA, 0x05, + 0xE1, 0xBF, 0xBE, 0xCC, 0x80, 0xCA, 0x05, 0xE1, + 0xBF, 0xBE, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBF, + 0xBE, 0xCD, 0x82, 0xCA, 0x05, 0xE2, 0x86, 0x90, + // Bytes 3bc0 - 3bff + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x86, 0x92, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x86, 0x94, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x87, 0x90, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x87, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x87, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, + 0x88, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x8B, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0xA3, 0xCC, + // Bytes 3c00 - 3c3f + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0xA5, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x88, 0xBC, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0x83, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0x85, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x89, 0x88, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0x8D, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA1, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA4, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA5, 0xCC, 0xB8, + // Bytes 3c40 - 3c7f + 0x05, 0x05, 0xE2, 0x89, 0xB2, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xB3, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xB6, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x89, 0xB7, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xBA, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBB, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBC, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBD, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x82, 0xCC, 0xB8, 0x05, + // Bytes 3c80 - 3cbf + 0x05, 0xE2, 0x8A, 0x83, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0x86, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0x87, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0x91, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x92, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xA2, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xA9, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xAB, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3cc0 - 3cff + 0xE2, 0x8A, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xB4, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB5, + 0xCC, 0xB8, 0x05, 0x06, 0xCE, 0x91, 0xCC, 0x93, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x91, 0xCC, 0x94, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x95, 0xCC, 0x93, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x93, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x94, + // Bytes 3d00 - 3d3f + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x94, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x97, 0xCC, 0x93, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x97, 0xCC, 0x94, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x99, 0xCC, 0x93, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x93, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x93, + 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, + // Bytes 3d40 - 3d7f + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x93, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x93, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x94, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x94, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, + // Bytes 3d80 - 3dbf + 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xA9, 0xCC, 0x93, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xA9, 0xCC, 0x94, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x80, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x81, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x93, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x94, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCD, 0x82, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB5, 0xCC, 0x93, + // Bytes 3dc0 - 3dff + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x93, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x94, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x94, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB7, 0xCC, 0x80, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x81, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x93, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x94, + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCD, 0x82, + // Bytes 3e00 - 3e3f + 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, + 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, + 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, + // Bytes 3e40 - 3e7f + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x93, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x93, + 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x94, + 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x94, + 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, + 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, + // Bytes 3e80 - 3ebf + 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, + 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, + 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, + 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, + 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, + 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x89, 0xCC, 0x80, + 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x81, + // Bytes 3ec0 - 3eff + 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x93, + 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x94, + 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCD, 0x82, + 0xCD, 0x85, 0xDA, 0x06, 0xE0, 0xA4, 0xA8, 0xE0, + 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xA4, 0xB0, 0xE0, + 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xA4, 0xB3, 0xE0, + 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xB1, 0x86, 0xE0, + 0xB1, 0x96, 0x85, 0x06, 0xE0, 0xB7, 0x99, 0xE0, + // Bytes 3f00 - 3f3f + 0xB7, 0x8A, 0x11, 0x06, 0xE3, 0x81, 0x86, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8B, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8D, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8F, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x91, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x93, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x95, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x97, 0xE3, + // Bytes 3f40 - 3f7f + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x99, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9B, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9D, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9F, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA1, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA4, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA6, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA8, 0xE3, + // Bytes 3f80 - 3fbf + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xAF, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xAF, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB2, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB2, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB5, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB5, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB8, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB8, 0xE3, + // Bytes 3fc0 - 3fff + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xBB, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xBB, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x82, 0x9D, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xA6, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAB, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAD, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAF, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB1, 0xE3, + // Bytes 4000 - 403f + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB3, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB5, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB7, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB9, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBB, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBD, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBF, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x81, 0xE3, + // Bytes 4040 - 407f + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x84, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x86, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x8F, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x8F, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x92, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x92, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x95, 0xE3, + // Bytes 4080 - 40bf + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x9B, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x9B, 0xE3, + 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0xAF, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB0, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB1, 0xE3, + // Bytes 40c0 - 40ff + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB2, 0xE3, + 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xBD, 0xE3, + 0x82, 0x99, 0x0D, 0x08, 0xCE, 0x91, 0xCC, 0x93, + 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, + 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, + 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, + 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x80, + 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, + // Bytes 4100 - 413f + 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, + 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, + 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, + 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x81, + 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x93, + 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, + 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, + 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, + // Bytes 4140 - 417f + 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x82, + 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, + 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, + 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, + 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, + 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x80, + 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, + 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, + // Bytes 4180 - 41bf + 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, + 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, + 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x81, + 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x93, + 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, + 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, + 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, + 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x82, + // Bytes 41c0 - 41ff + 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, + 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, + 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, + 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, + 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x80, + 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, + 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, + 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, + // Bytes 4200 - 423f + 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, + 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x81, + 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x93, + 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, + 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, + 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, + 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x82, + 0xCD, 0x85, 0xDB, 0x08, 0xF0, 0x91, 0x82, 0x99, + // Bytes 4240 - 427f + 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, + 0x82, 0x9B, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x08, + 0xF0, 0x91, 0x82, 0xA5, 0xF0, 0x91, 0x82, 0xBA, + 0x09, 0x42, 0xC2, 0xB4, 0x01, 0x43, 0x20, 0xCC, + 0x81, 0xC9, 0x43, 0x20, 0xCC, 0x83, 0xC9, 0x43, + 0x20, 0xCC, 0x84, 0xC9, 0x43, 0x20, 0xCC, 0x85, + 0xC9, 0x43, 0x20, 0xCC, 0x86, 0xC9, 0x43, 0x20, + 0xCC, 0x87, 0xC9, 0x43, 0x20, 0xCC, 0x88, 0xC9, + // Bytes 4280 - 42bf + 0x43, 0x20, 0xCC, 0x8A, 0xC9, 0x43, 0x20, 0xCC, + 0x8B, 0xC9, 0x43, 0x20, 0xCC, 0x93, 0xC9, 0x43, + 0x20, 0xCC, 0x94, 0xC9, 0x43, 0x20, 0xCC, 0xA7, + 0xA5, 0x43, 0x20, 0xCC, 0xA8, 0xA5, 0x43, 0x20, + 0xCC, 0xB3, 0xB5, 0x43, 0x20, 0xCD, 0x82, 0xC9, + 0x43, 0x20, 0xCD, 0x85, 0xD9, 0x43, 0x20, 0xD9, + 0x8B, 0x59, 0x43, 0x20, 0xD9, 0x8C, 0x5D, 0x43, + 0x20, 0xD9, 0x8D, 0x61, 0x43, 0x20, 0xD9, 0x8E, + // Bytes 42c0 - 42ff + 0x65, 0x43, 0x20, 0xD9, 0x8F, 0x69, 0x43, 0x20, + 0xD9, 0x90, 0x6D, 0x43, 0x20, 0xD9, 0x91, 0x71, + 0x43, 0x20, 0xD9, 0x92, 0x75, 0x43, 0x41, 0xCC, + 0x8A, 0xC9, 0x43, 0x73, 0xCC, 0x87, 0xC9, 0x44, + 0x20, 0xE3, 0x82, 0x99, 0x0D, 0x44, 0x20, 0xE3, + 0x82, 0x9A, 0x0D, 0x44, 0xC2, 0xA8, 0xCC, 0x81, + 0xCA, 0x44, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x44, + 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x97, + // Bytes 4300 - 433f + 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x99, 0xCC, 0x81, + 0xC9, 0x44, 0xCE, 0x9F, 0xCC, 0x81, 0xC9, 0x44, + 0xCE, 0xA5, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, + 0xCC, 0x88, 0xC9, 0x44, 0xCE, 0xA9, 0xCC, 0x81, + 0xC9, 0x44, 0xCE, 0xB1, 0xCC, 0x81, 0xC9, 0x44, + 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB7, + 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB9, 0xCC, 0x81, + 0xC9, 0x44, 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x44, + // Bytes 4340 - 437f + 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x89, + 0xCC, 0x81, 0xC9, 0x44, 0xD7, 0x90, 0xD6, 0xB7, + 0x31, 0x44, 0xD7, 0x90, 0xD6, 0xB8, 0x35, 0x44, + 0xD7, 0x90, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x91, + 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBF, + 0x49, 0x44, 0xD7, 0x92, 0xD6, 0xBC, 0x41, 0x44, + 0xD7, 0x93, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x94, + 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x95, 0xD6, 0xB9, + // Bytes 4380 - 43bf + 0x39, 0x44, 0xD7, 0x95, 0xD6, 0xBC, 0x41, 0x44, + 0xD7, 0x96, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x98, + 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x99, 0xD6, 0xB4, + 0x25, 0x44, 0xD7, 0x99, 0xD6, 0xBC, 0x41, 0x44, + 0xD7, 0x9A, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9B, + 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBF, + 0x49, 0x44, 0xD7, 0x9C, 0xD6, 0xBC, 0x41, 0x44, + 0xD7, 0x9E, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA0, + // Bytes 43c0 - 43ff + 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA1, 0xD6, 0xBC, + 0x41, 0x44, 0xD7, 0xA3, 0xD6, 0xBC, 0x41, 0x44, + 0xD7, 0xA4, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, + 0xD6, 0xBF, 0x49, 0x44, 0xD7, 0xA6, 0xD6, 0xBC, + 0x41, 0x44, 0xD7, 0xA7, 0xD6, 0xBC, 0x41, 0x44, + 0xD7, 0xA8, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA9, + 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD7, 0x81, + 0x4D, 0x44, 0xD7, 0xA9, 0xD7, 0x82, 0x51, 0x44, + // Bytes 4400 - 443f + 0xD7, 0xAA, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xB2, + 0xD6, 0xB7, 0x31, 0x44, 0xD8, 0xA7, 0xD9, 0x8B, + 0x59, 0x44, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x44, + 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x44, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x44, 0xD8, 0xB0, 0xD9, 0xB0, + 0x79, 0x44, 0xD8, 0xB1, 0xD9, 0xB0, 0x79, 0x44, + 0xD9, 0x80, 0xD9, 0x8B, 0x59, 0x44, 0xD9, 0x80, + 0xD9, 0x8E, 0x65, 0x44, 0xD9, 0x80, 0xD9, 0x8F, + // Bytes 4440 - 447f + 0x69, 0x44, 0xD9, 0x80, 0xD9, 0x90, 0x6D, 0x44, + 0xD9, 0x80, 0xD9, 0x91, 0x71, 0x44, 0xD9, 0x80, + 0xD9, 0x92, 0x75, 0x44, 0xD9, 0x87, 0xD9, 0xB0, + 0x79, 0x44, 0xD9, 0x88, 0xD9, 0x94, 0xC9, 0x44, + 0xD9, 0x89, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x8A, + 0xD9, 0x94, 0xC9, 0x44, 0xDB, 0x92, 0xD9, 0x94, + 0xC9, 0x44, 0xDB, 0x95, 0xD9, 0x94, 0xC9, 0x45, + 0x20, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x45, 0x20, + // Bytes 4480 - 44bf + 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, + 0x88, 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xCC, 0x93, + 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, + 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCD, 0x82, + 0xCA, 0x45, 0x20, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x45, 0x20, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x45, + 0x20, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x45, 0x20, + 0xD9, 0x8C, 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, + // Bytes 44c0 - 44ff + 0x8D, 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8E, + 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8F, 0xD9, + 0x91, 0x72, 0x45, 0x20, 0xD9, 0x90, 0xD9, 0x91, + 0x72, 0x45, 0x20, 0xD9, 0x91, 0xD9, 0xB0, 0x7A, + 0x45, 0xE2, 0xAB, 0x9D, 0xCC, 0xB8, 0x05, 0x46, + 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x46, + 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x46, + 0xD7, 0xA9, 0xD6, 0xBC, 0xD7, 0x81, 0x4E, 0x46, + // Bytes 4500 - 453f + 0xD7, 0xA9, 0xD6, 0xBC, 0xD7, 0x82, 0x52, 0x46, + 0xD9, 0x80, 0xD9, 0x8E, 0xD9, 0x91, 0x72, 0x46, + 0xD9, 0x80, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x46, + 0xD9, 0x80, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x46, + 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBC, 0x09, 0x46, + 0xE0, 0xA4, 0x96, 0xE0, 0xA4, 0xBC, 0x09, 0x46, + 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBC, 0x09, 0x46, + 0xE0, 0xA4, 0x9C, 0xE0, 0xA4, 0xBC, 0x09, 0x46, + // Bytes 4540 - 457f + 0xE0, 0xA4, 0xA1, 0xE0, 0xA4, 0xBC, 0x09, 0x46, + 0xE0, 0xA4, 0xA2, 0xE0, 0xA4, 0xBC, 0x09, 0x46, + 0xE0, 0xA4, 0xAB, 0xE0, 0xA4, 0xBC, 0x09, 0x46, + 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBC, 0x09, 0x46, + 0xE0, 0xA6, 0xA1, 0xE0, 0xA6, 0xBC, 0x09, 0x46, + 0xE0, 0xA6, 0xA2, 0xE0, 0xA6, 0xBC, 0x09, 0x46, + 0xE0, 0xA6, 0xAF, 0xE0, 0xA6, 0xBC, 0x09, 0x46, + 0xE0, 0xA8, 0x96, 0xE0, 0xA8, 0xBC, 0x09, 0x46, + // Bytes 4580 - 45bf + 0xE0, 0xA8, 0x97, 0xE0, 0xA8, 0xBC, 0x09, 0x46, + 0xE0, 0xA8, 0x9C, 0xE0, 0xA8, 0xBC, 0x09, 0x46, + 0xE0, 0xA8, 0xAB, 0xE0, 0xA8, 0xBC, 0x09, 0x46, + 0xE0, 0xA8, 0xB2, 0xE0, 0xA8, 0xBC, 0x09, 0x46, + 0xE0, 0xA8, 0xB8, 0xE0, 0xA8, 0xBC, 0x09, 0x46, + 0xE0, 0xAC, 0xA1, 0xE0, 0xAC, 0xBC, 0x09, 0x46, + 0xE0, 0xAC, 0xA2, 0xE0, 0xAC, 0xBC, 0x09, 0x46, + 0xE0, 0xBE, 0xB2, 0xE0, 0xBE, 0x80, 0x9D, 0x46, + // Bytes 45c0 - 45ff + 0xE0, 0xBE, 0xB3, 0xE0, 0xBE, 0x80, 0x9D, 0x46, + 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, 0x48, + 0xF0, 0x9D, 0x85, 0x97, 0xF0, 0x9D, 0x85, 0xA5, + 0xAD, 0x48, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, + 0x85, 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xB9, + 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, 0x9D, + 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x49, + 0xE0, 0xBE, 0xB2, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, + // Bytes 4600 - 463f + 0x80, 0x9E, 0x49, 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x4C, 0xF0, 0x9D, + 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, + 0x85, 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, + 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, + 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, + 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB0, 0xAE, 0x4C, + 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, + // Bytes 4640 - 467f + 0xF0, 0x9D, 0x85, 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, + 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, + 0x85, 0xB2, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xB9, + 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, + 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, + 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, + 0xF0, 0x9D, 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, + 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, + // Bytes 4680 - 46bf + 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, + 0x85, 0xAF, 0xAE, 0x83, 0x41, 0xCC, 0x82, 0xC9, + 0x83, 0x41, 0xCC, 0x86, 0xC9, 0x83, 0x41, 0xCC, + 0x87, 0xC9, 0x83, 0x41, 0xCC, 0x88, 0xC9, 0x83, + 0x41, 0xCC, 0x8A, 0xC9, 0x83, 0x41, 0xCC, 0xA3, + 0xB5, 0x83, 0x43, 0xCC, 0xA7, 0xA5, 0x83, 0x45, + 0xCC, 0x82, 0xC9, 0x83, 0x45, 0xCC, 0x84, 0xC9, + 0x83, 0x45, 0xCC, 0xA3, 0xB5, 0x83, 0x45, 0xCC, + // Bytes 46c0 - 46ff + 0xA7, 0xA5, 0x83, 0x49, 0xCC, 0x88, 0xC9, 0x83, + 0x4C, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0x82, + 0xC9, 0x83, 0x4F, 0xCC, 0x83, 0xC9, 0x83, 0x4F, + 0xCC, 0x84, 0xC9, 0x83, 0x4F, 0xCC, 0x87, 0xC9, + 0x83, 0x4F, 0xCC, 0x88, 0xC9, 0x83, 0x4F, 0xCC, + 0x9B, 0xAD, 0x83, 0x4F, 0xCC, 0xA3, 0xB5, 0x83, + 0x4F, 0xCC, 0xA8, 0xA5, 0x83, 0x52, 0xCC, 0xA3, + 0xB5, 0x83, 0x53, 0xCC, 0x81, 0xC9, 0x83, 0x53, + // Bytes 4700 - 473f + 0xCC, 0x8C, 0xC9, 0x83, 0x53, 0xCC, 0xA3, 0xB5, + 0x83, 0x55, 0xCC, 0x83, 0xC9, 0x83, 0x55, 0xCC, + 0x84, 0xC9, 0x83, 0x55, 0xCC, 0x88, 0xC9, 0x83, + 0x55, 0xCC, 0x9B, 0xAD, 0x83, 0x61, 0xCC, 0x82, + 0xC9, 0x83, 0x61, 0xCC, 0x86, 0xC9, 0x83, 0x61, + 0xCC, 0x87, 0xC9, 0x83, 0x61, 0xCC, 0x88, 0xC9, + 0x83, 0x61, 0xCC, 0x8A, 0xC9, 0x83, 0x61, 0xCC, + 0xA3, 0xB5, 0x83, 0x63, 0xCC, 0xA7, 0xA5, 0x83, + // Bytes 4740 - 477f + 0x65, 0xCC, 0x82, 0xC9, 0x83, 0x65, 0xCC, 0x84, + 0xC9, 0x83, 0x65, 0xCC, 0xA3, 0xB5, 0x83, 0x65, + 0xCC, 0xA7, 0xA5, 0x83, 0x69, 0xCC, 0x88, 0xC9, + 0x83, 0x6C, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, + 0x82, 0xC9, 0x83, 0x6F, 0xCC, 0x83, 0xC9, 0x83, + 0x6F, 0xCC, 0x84, 0xC9, 0x83, 0x6F, 0xCC, 0x87, + 0xC9, 0x83, 0x6F, 0xCC, 0x88, 0xC9, 0x83, 0x6F, + 0xCC, 0x9B, 0xAD, 0x83, 0x6F, 0xCC, 0xA3, 0xB5, + // Bytes 4780 - 47bf + 0x83, 0x6F, 0xCC, 0xA8, 0xA5, 0x83, 0x72, 0xCC, + 0xA3, 0xB5, 0x83, 0x73, 0xCC, 0x81, 0xC9, 0x83, + 0x73, 0xCC, 0x8C, 0xC9, 0x83, 0x73, 0xCC, 0xA3, + 0xB5, 0x83, 0x75, 0xCC, 0x83, 0xC9, 0x83, 0x75, + 0xCC, 0x84, 0xC9, 0x83, 0x75, 0xCC, 0x88, 0xC9, + 0x83, 0x75, 0xCC, 0x9B, 0xAD, 0x84, 0xCE, 0x91, + 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x91, 0xCC, 0x94, + 0xC9, 0x84, 0xCE, 0x95, 0xCC, 0x93, 0xC9, 0x84, + // Bytes 47c0 - 47ff + 0xCE, 0x95, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0x97, + 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x94, + 0xC9, 0x84, 0xCE, 0x99, 0xCC, 0x93, 0xC9, 0x84, + 0xCE, 0x99, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0x9F, + 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x94, + 0xC9, 0x84, 0xCE, 0xA5, 0xCC, 0x94, 0xC9, 0x84, + 0xCE, 0xA9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xA9, + 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x80, + // Bytes 4800 - 483f + 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x81, 0xC9, 0x84, + 0xCE, 0xB1, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB1, + 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB1, 0xCD, 0x82, + 0xC9, 0x84, 0xCE, 0xB5, 0xCC, 0x93, 0xC9, 0x84, + 0xCE, 0xB5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB7, + 0xCC, 0x80, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x81, + 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x93, 0xC9, 0x84, + 0xCE, 0xB7, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB7, + // Bytes 4840 - 487f + 0xCD, 0x82, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, 0x88, + 0xC9, 0x84, 0xCE, 0xB9, 0xCC, 0x93, 0xC9, 0x84, + 0xCE, 0xB9, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xBF, + 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x94, + 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x88, 0xC9, 0x84, + 0xCF, 0x85, 0xCC, 0x93, 0xC9, 0x84, 0xCF, 0x85, + 0xCC, 0x94, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x80, + 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x81, 0xC9, 0x84, + // Bytes 4880 - 48bf + 0xCF, 0x89, 0xCC, 0x93, 0xC9, 0x84, 0xCF, 0x89, + 0xCC, 0x94, 0xC9, 0x84, 0xCF, 0x89, 0xCD, 0x82, + 0xC9, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x82, + 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x82, + // Bytes 48c0 - 48ff + 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, + 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x82, + 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x81, + // Bytes 4900 - 493f + 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x82, + 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x82, + 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, + 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x80, + // Bytes 4940 - 497f + 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x82, + 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x82, + 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x80, + 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, + 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x82, + // Bytes 4980 - 49bf + 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x80, + 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x81, + 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, + 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x80, + 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x81, + 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x82, + 0xCA, 0x42, 0xCC, 0x80, 0xC9, 0x32, 0x42, 0xCC, + 0x81, 0xC9, 0x32, 0x42, 0xCC, 0x93, 0xC9, 0x32, + // Bytes 49c0 - 49ff + 0x43, 0xE1, 0x85, 0xA1, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xA2, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA3, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA4, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xA5, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xA6, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA7, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA8, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xA9, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xAA, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAB, + // Bytes 4a00 - 4a3f + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAC, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xAD, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xAE, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAF, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB0, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xB1, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xB2, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB3, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB4, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xB5, 0x01, 0x00, 0x43, 0xE1, + // Bytes 4a40 - 4a7f + 0x86, 0xAA, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAC, + 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAD, 0x01, 0x00, + 0x43, 0xE1, 0x86, 0xB0, 0x01, 0x00, 0x43, 0xE1, + 0x86, 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB2, + 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB3, 0x01, 0x00, + 0x43, 0xE1, 0x86, 0xB4, 0x01, 0x00, 0x43, 0xE1, + 0x86, 0xB5, 0x01, 0x00, 0x44, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x32, 0x43, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4a80 - 4abf + 0x03, 0x43, 0xE3, 0x82, 0x9A, 0x0D, 0x03, 0x46, + 0xE0, 0xBD, 0xB1, 0xE0, 0xBD, 0xB2, 0x9E, 0x26, + 0x46, 0xE0, 0xBD, 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, + 0x26, 0x46, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, + 0x9E, 0x26, 0x00, 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10610 bytes (10.36 KiB). Checksum: 95e8869a9f81e5e6. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 46: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 46 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 48 blocks, 3072 entries, 6144 bytes +// The third block is the zero block. +var nfcValues = [3072]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f72, 0xc1: 0x2f77, 0xc2: 0x468b, 0xc3: 0x2f7c, 0xc4: 0x469a, 0xc5: 0x469f, + 0xc6: 0xa000, 0xc7: 0x46a9, 0xc8: 0x2fe5, 0xc9: 0x2fea, 0xca: 0x46ae, 0xcb: 0x2ffe, + 0xcc: 0x3071, 0xcd: 0x3076, 0xce: 0x307b, 0xcf: 0x46c2, 0xd1: 0x3107, + 0xd2: 0x312a, 0xd3: 0x312f, 0xd4: 0x46cc, 0xd5: 0x46d1, 0xd6: 0x46e0, + 0xd8: 0xa000, 0xd9: 0x31b6, 0xda: 0x31bb, 0xdb: 0x31c0, 0xdc: 0x4712, 0xdd: 0x3238, + 0xe0: 0x327e, 0xe1: 0x3283, 0xe2: 0x471c, 0xe3: 0x3288, + 0xe4: 0x472b, 0xe5: 0x4730, 0xe6: 0xa000, 0xe7: 0x473a, 0xe8: 0x32f1, 0xe9: 0x32f6, + 0xea: 0x473f, 0xeb: 0x330a, 0xec: 0x3382, 0xed: 0x3387, 0xee: 0x338c, 0xef: 0x4753, + 0xf1: 0x3418, 0xf2: 0x343b, 0xf3: 0x3440, 0xf4: 0x475d, 0xf5: 0x4762, + 0xf6: 0x4771, 0xf8: 0xa000, 0xf9: 0x34cc, 0xfa: 0x34d1, 0xfb: 0x34d6, + 0xfc: 0x47a3, 0xfd: 0x3553, 0xff: 0x356c, + // Block 0x4, offset 0x100 + 0x100: 0x2f81, 0x101: 0x328d, 0x102: 0x4690, 0x103: 0x4721, 0x104: 0x2f9f, 0x105: 0x32ab, + 0x106: 0x2fb3, 0x107: 0x32bf, 0x108: 0x2fb8, 0x109: 0x32c4, 0x10a: 0x2fbd, 0x10b: 0x32c9, + 0x10c: 0x2fc2, 0x10d: 0x32ce, 0x10e: 0x2fcc, 0x10f: 0x32d8, + 0x112: 0x46b3, 0x113: 0x4744, 0x114: 0x2ff4, 0x115: 0x3300, 0x116: 0x2ff9, 0x117: 0x3305, + 0x118: 0x3017, 0x119: 0x3323, 0x11a: 0x3008, 0x11b: 0x3314, 0x11c: 0x3030, 0x11d: 0x333c, + 0x11e: 0x303a, 0x11f: 0x3346, 0x120: 0x303f, 0x121: 0x334b, 0x122: 0x3049, 0x123: 0x3355, + 0x124: 0x304e, 0x125: 0x335a, 0x128: 0x3080, 0x129: 0x3391, + 0x12a: 0x3085, 0x12b: 0x3396, 0x12c: 0x308a, 0x12d: 0x339b, 0x12e: 0x30ad, 0x12f: 0x33b9, + 0x130: 0x308f, 0x134: 0x30b7, 0x135: 0x33c3, + 0x136: 0x30cb, 0x137: 0x33dc, 0x139: 0x30d5, 0x13a: 0x33e6, 0x13b: 0x30df, + 0x13c: 0x33f0, 0x13d: 0x30da, 0x13e: 0x33eb, + // Block 0x5, offset 0x140 + 0x143: 0x3102, 0x144: 0x3413, 0x145: 0x311b, + 0x146: 0x342c, 0x147: 0x3111, 0x148: 0x3422, + 0x14c: 0x46d6, 0x14d: 0x4767, 0x14e: 0x3134, 0x14f: 0x3445, 0x150: 0x313e, 0x151: 0x344f, + 0x154: 0x315c, 0x155: 0x346d, 0x156: 0x3175, 0x157: 0x3486, + 0x158: 0x3166, 0x159: 0x3477, 0x15a: 0x46f9, 0x15b: 0x478a, 0x15c: 0x317f, 0x15d: 0x3490, + 0x15e: 0x318e, 0x15f: 0x349f, 0x160: 0x46fe, 0x161: 0x478f, 0x162: 0x31a7, 0x163: 0x34bd, + 0x164: 0x3198, 0x165: 0x34ae, 0x168: 0x4708, 0x169: 0x4799, + 0x16a: 0x470d, 0x16b: 0x479e, 0x16c: 0x31c5, 0x16d: 0x34db, 0x16e: 0x31cf, 0x16f: 0x34e5, + 0x170: 0x31d4, 0x171: 0x34ea, 0x172: 0x31f2, 0x173: 0x3508, 0x174: 0x3215, 0x175: 0x352b, + 0x176: 0x323d, 0x177: 0x3558, 0x178: 0x3251, 0x179: 0x3260, 0x17a: 0x3580, 0x17b: 0x326a, + 0x17c: 0x358a, 0x17d: 0x326f, 0x17e: 0x358f, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f8b, 0x18e: 0x3297, 0x18f: 0x3099, 0x190: 0x33a5, 0x191: 0x3143, + 0x192: 0x3454, 0x193: 0x31d9, 0x194: 0x34ef, 0x195: 0x39d2, 0x196: 0x3b61, 0x197: 0x39cb, + 0x198: 0x3b5a, 0x199: 0x39d9, 0x19a: 0x3b68, 0x19b: 0x39c4, 0x19c: 0x3b53, + 0x19e: 0x38b3, 0x19f: 0x3a42, 0x1a0: 0x38ac, 0x1a1: 0x3a3b, 0x1a2: 0x35b6, 0x1a3: 0x35c8, + 0x1a6: 0x3044, 0x1a7: 0x3350, 0x1a8: 0x30c1, 0x1a9: 0x33d2, + 0x1aa: 0x46ef, 0x1ab: 0x4780, 0x1ac: 0x3993, 0x1ad: 0x3b22, 0x1ae: 0x35da, 0x1af: 0x35e0, + 0x1b0: 0x33c8, 0x1b4: 0x302b, 0x1b5: 0x3337, + 0x1b8: 0x30fd, 0x1b9: 0x340e, 0x1ba: 0x38ba, 0x1bb: 0x3a49, + 0x1bc: 0x35b0, 0x1bd: 0x35c2, 0x1be: 0x35bc, 0x1bf: 0x35ce, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f90, 0x1c1: 0x329c, 0x1c2: 0x2f95, 0x1c3: 0x32a1, 0x1c4: 0x300d, 0x1c5: 0x3319, + 0x1c6: 0x3012, 0x1c7: 0x331e, 0x1c8: 0x309e, 0x1c9: 0x33aa, 0x1ca: 0x30a3, 0x1cb: 0x33af, + 0x1cc: 0x3148, 0x1cd: 0x3459, 0x1ce: 0x314d, 0x1cf: 0x345e, 0x1d0: 0x316b, 0x1d1: 0x347c, + 0x1d2: 0x3170, 0x1d3: 0x3481, 0x1d4: 0x31de, 0x1d5: 0x34f4, 0x1d6: 0x31e3, 0x1d7: 0x34f9, + 0x1d8: 0x3189, 0x1d9: 0x349a, 0x1da: 0x31a2, 0x1db: 0x34b8, + 0x1de: 0x305d, 0x1df: 0x3369, + 0x1e6: 0x4695, 0x1e7: 0x4726, 0x1e8: 0x46bd, 0x1e9: 0x474e, + 0x1ea: 0x3962, 0x1eb: 0x3af1, 0x1ec: 0x393f, 0x1ed: 0x3ace, 0x1ee: 0x46db, 0x1ef: 0x476c, + 0x1f0: 0x395b, 0x1f1: 0x3aea, 0x1f2: 0x3247, 0x1f3: 0x3562, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49b1, 0x241: 0x49b6, 0x242: 0x9932, 0x243: 0x49bb, 0x244: 0x4a74, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35a4, + 0x286: 0x35ec, 0x287: 0x00ce, 0x288: 0x360a, 0x289: 0x3616, 0x28a: 0x3628, + 0x28c: 0x3646, 0x28e: 0x3658, 0x28f: 0x3676, 0x290: 0x3e0b, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x363a, 0x2ab: 0x366a, 0x2ac: 0x4801, 0x2ad: 0x369a, 0x2ae: 0x482b, 0x2af: 0x36ac, + 0x2b0: 0x3e73, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3724, 0x2c1: 0x3730, 0x2c3: 0x371e, + 0x2c6: 0xa000, 0x2c7: 0x370c, + 0x2cc: 0x3760, 0x2cd: 0x3748, 0x2ce: 0x3772, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3754, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d8, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x3736, 0x302: 0x37ba, + 0x310: 0x3712, 0x311: 0x3796, + 0x312: 0x3718, 0x313: 0x379c, 0x316: 0x372a, 0x317: 0x37ae, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x382c, 0x31b: 0x3832, 0x31c: 0x373c, 0x31d: 0x37c0, + 0x31e: 0x3742, 0x31f: 0x37c6, 0x322: 0x374e, 0x323: 0x37d2, + 0x324: 0x375a, 0x325: 0x37de, 0x326: 0x3766, 0x327: 0x37ea, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x3838, 0x32b: 0x383e, 0x32c: 0x3790, 0x32d: 0x3814, 0x32e: 0x376c, 0x32f: 0x37f0, + 0x330: 0x3778, 0x331: 0x37fc, 0x332: 0x377e, 0x333: 0x3802, 0x334: 0x3784, 0x335: 0x3808, + 0x338: 0x378a, 0x339: 0x380e, + // Block 0xd, offset 0x340 + 0x351: 0x812d, + 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, + 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, + 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, + 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, + 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, + 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, + 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, + 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, + 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, + 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x812d, + 0x3b0: 0x811e, + // Block 0xf, offset 0x3c0 + 0x3d3: 0x812d, 0x3d4: 0x8132, 0x3d5: 0x8132, 0x3d6: 0x8132, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x8132, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x8132, 0x3e0: 0x8132, 0x3e1: 0x8132, 0x3e3: 0x812d, + 0x3e4: 0x8132, 0x3e5: 0x8132, 0x3e6: 0x812d, 0x3e7: 0x8132, 0x3e8: 0x8132, 0x3e9: 0x812d, + 0x3ea: 0x8132, 0x3eb: 0x8132, 0x3ec: 0x8132, 0x3ed: 0x812d, 0x3ee: 0x812d, 0x3ef: 0x812d, + 0x3f0: 0x8116, 0x3f1: 0x8117, 0x3f2: 0x8118, 0x3f3: 0x8132, 0x3f4: 0x8132, 0x3f5: 0x8132, + 0x3f6: 0x812d, 0x3f7: 0x8132, 0x3f8: 0x8132, 0x3f9: 0x812d, 0x3fa: 0x812d, 0x3fb: 0x8132, + 0x3fc: 0x8132, 0x3fd: 0x8132, 0x3fe: 0x8132, 0x3ff: 0x8132, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d29, 0x407: 0xa000, 0x408: 0x2d31, 0x409: 0xa000, 0x40a: 0x2d39, 0x40b: 0xa000, + 0x40c: 0x2d41, 0x40d: 0xa000, 0x40e: 0x2d49, 0x411: 0xa000, + 0x412: 0x2d51, + 0x434: 0x8102, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d59, + 0x43c: 0xa000, 0x43d: 0x2d61, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x8132, 0x441: 0x8132, 0x442: 0x812d, 0x443: 0x8132, 0x444: 0x8132, 0x445: 0x8132, + 0x446: 0x8132, 0x447: 0x8132, 0x448: 0x8132, 0x449: 0x8132, 0x44a: 0x812d, 0x44b: 0x8132, + 0x44c: 0x8132, 0x44d: 0x8135, 0x44e: 0x812a, 0x44f: 0x812d, 0x450: 0x8129, 0x451: 0x8132, + 0x452: 0x8132, 0x453: 0x8132, 0x454: 0x8132, 0x455: 0x8132, 0x456: 0x8132, 0x457: 0x8132, + 0x458: 0x8132, 0x459: 0x8132, 0x45a: 0x8132, 0x45b: 0x8132, 0x45c: 0x8132, 0x45d: 0x8132, + 0x45e: 0x8132, 0x45f: 0x8132, 0x460: 0x8132, 0x461: 0x8132, 0x462: 0x8132, 0x463: 0x8132, + 0x464: 0x8132, 0x465: 0x8132, 0x466: 0x8132, 0x467: 0x8132, 0x468: 0x8132, 0x469: 0x8132, + 0x46a: 0x8132, 0x46b: 0x8132, 0x46c: 0x8132, 0x46d: 0x8132, 0x46e: 0x8132, 0x46f: 0x8132, + 0x470: 0x8132, 0x471: 0x8132, 0x472: 0x8132, 0x473: 0x8132, 0x474: 0x8132, 0x475: 0x8132, + 0x476: 0x8133, 0x477: 0x8131, 0x478: 0x8131, 0x479: 0x812d, 0x47b: 0x8132, + 0x47c: 0x8134, 0x47d: 0x812d, 0x47e: 0x8132, 0x47f: 0x812d, + // Block 0x12, offset 0x480 + 0x480: 0x2f9a, 0x481: 0x32a6, 0x482: 0x2fa4, 0x483: 0x32b0, 0x484: 0x2fa9, 0x485: 0x32b5, + 0x486: 0x2fae, 0x487: 0x32ba, 0x488: 0x38cf, 0x489: 0x3a5e, 0x48a: 0x2fc7, 0x48b: 0x32d3, + 0x48c: 0x2fd1, 0x48d: 0x32dd, 0x48e: 0x2fe0, 0x48f: 0x32ec, 0x490: 0x2fd6, 0x491: 0x32e2, + 0x492: 0x2fdb, 0x493: 0x32e7, 0x494: 0x38f2, 0x495: 0x3a81, 0x496: 0x38f9, 0x497: 0x3a88, + 0x498: 0x301c, 0x499: 0x3328, 0x49a: 0x3021, 0x49b: 0x332d, 0x49c: 0x3907, 0x49d: 0x3a96, + 0x49e: 0x3026, 0x49f: 0x3332, 0x4a0: 0x3035, 0x4a1: 0x3341, 0x4a2: 0x3053, 0x4a3: 0x335f, + 0x4a4: 0x3062, 0x4a5: 0x336e, 0x4a6: 0x3058, 0x4a7: 0x3364, 0x4a8: 0x3067, 0x4a9: 0x3373, + 0x4aa: 0x306c, 0x4ab: 0x3378, 0x4ac: 0x30b2, 0x4ad: 0x33be, 0x4ae: 0x390e, 0x4af: 0x3a9d, + 0x4b0: 0x30bc, 0x4b1: 0x33cd, 0x4b2: 0x30c6, 0x4b3: 0x33d7, 0x4b4: 0x30d0, 0x4b5: 0x33e1, + 0x4b6: 0x46c7, 0x4b7: 0x4758, 0x4b8: 0x3915, 0x4b9: 0x3aa4, 0x4ba: 0x30e9, 0x4bb: 0x33fa, + 0x4bc: 0x30e4, 0x4bd: 0x33f5, 0x4be: 0x30ee, 0x4bf: 0x33ff, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x30f3, 0x4c1: 0x3404, 0x4c2: 0x30f8, 0x4c3: 0x3409, 0x4c4: 0x310c, 0x4c5: 0x341d, + 0x4c6: 0x3116, 0x4c7: 0x3427, 0x4c8: 0x3125, 0x4c9: 0x3436, 0x4ca: 0x3120, 0x4cb: 0x3431, + 0x4cc: 0x3938, 0x4cd: 0x3ac7, 0x4ce: 0x3946, 0x4cf: 0x3ad5, 0x4d0: 0x394d, 0x4d1: 0x3adc, + 0x4d2: 0x3954, 0x4d3: 0x3ae3, 0x4d4: 0x3152, 0x4d5: 0x3463, 0x4d6: 0x3157, 0x4d7: 0x3468, + 0x4d8: 0x3161, 0x4d9: 0x3472, 0x4da: 0x46f4, 0x4db: 0x4785, 0x4dc: 0x399a, 0x4dd: 0x3b29, + 0x4de: 0x317a, 0x4df: 0x348b, 0x4e0: 0x3184, 0x4e1: 0x3495, 0x4e2: 0x4703, 0x4e3: 0x4794, + 0x4e4: 0x39a1, 0x4e5: 0x3b30, 0x4e6: 0x39a8, 0x4e7: 0x3b37, 0x4e8: 0x39af, 0x4e9: 0x3b3e, + 0x4ea: 0x3193, 0x4eb: 0x34a4, 0x4ec: 0x319d, 0x4ed: 0x34b3, 0x4ee: 0x31b1, 0x4ef: 0x34c7, + 0x4f0: 0x31ac, 0x4f1: 0x34c2, 0x4f2: 0x31ed, 0x4f3: 0x3503, 0x4f4: 0x31fc, 0x4f5: 0x3512, + 0x4f6: 0x31f7, 0x4f7: 0x350d, 0x4f8: 0x39b6, 0x4f9: 0x3b45, 0x4fa: 0x39bd, 0x4fb: 0x3b4c, + 0x4fc: 0x3201, 0x4fd: 0x3517, 0x4fe: 0x3206, 0x4ff: 0x351c, + // Block 0x14, offset 0x500 + 0x500: 0x320b, 0x501: 0x3521, 0x502: 0x3210, 0x503: 0x3526, 0x504: 0x321f, 0x505: 0x3535, + 0x506: 0x321a, 0x507: 0x3530, 0x508: 0x3224, 0x509: 0x353f, 0x50a: 0x3229, 0x50b: 0x3544, + 0x50c: 0x322e, 0x50d: 0x3549, 0x50e: 0x324c, 0x50f: 0x3567, 0x510: 0x3265, 0x511: 0x3585, + 0x512: 0x3274, 0x513: 0x3594, 0x514: 0x3279, 0x515: 0x3599, 0x516: 0x337d, 0x517: 0x34a9, + 0x518: 0x353a, 0x519: 0x3576, 0x51b: 0x35d4, + 0x520: 0x46a4, 0x521: 0x4735, 0x522: 0x2f86, 0x523: 0x3292, + 0x524: 0x387b, 0x525: 0x3a0a, 0x526: 0x3874, 0x527: 0x3a03, 0x528: 0x3889, 0x529: 0x3a18, + 0x52a: 0x3882, 0x52b: 0x3a11, 0x52c: 0x38c1, 0x52d: 0x3a50, 0x52e: 0x3897, 0x52f: 0x3a26, + 0x530: 0x3890, 0x531: 0x3a1f, 0x532: 0x38a5, 0x533: 0x3a34, 0x534: 0x389e, 0x535: 0x3a2d, + 0x536: 0x38c8, 0x537: 0x3a57, 0x538: 0x46b8, 0x539: 0x4749, 0x53a: 0x3003, 0x53b: 0x330f, + 0x53c: 0x2fef, 0x53d: 0x32fb, 0x53e: 0x38dd, 0x53f: 0x3a6c, + // Block 0x15, offset 0x540 + 0x540: 0x38d6, 0x541: 0x3a65, 0x542: 0x38eb, 0x543: 0x3a7a, 0x544: 0x38e4, 0x545: 0x3a73, + 0x546: 0x3900, 0x547: 0x3a8f, 0x548: 0x3094, 0x549: 0x33a0, 0x54a: 0x30a8, 0x54b: 0x33b4, + 0x54c: 0x46ea, 0x54d: 0x477b, 0x54e: 0x3139, 0x54f: 0x344a, 0x550: 0x3923, 0x551: 0x3ab2, + 0x552: 0x391c, 0x553: 0x3aab, 0x554: 0x3931, 0x555: 0x3ac0, 0x556: 0x392a, 0x557: 0x3ab9, + 0x558: 0x398c, 0x559: 0x3b1b, 0x55a: 0x3970, 0x55b: 0x3aff, 0x55c: 0x3969, 0x55d: 0x3af8, + 0x55e: 0x397e, 0x55f: 0x3b0d, 0x560: 0x3977, 0x561: 0x3b06, 0x562: 0x3985, 0x563: 0x3b14, + 0x564: 0x31e8, 0x565: 0x34fe, 0x566: 0x31ca, 0x567: 0x34e0, 0x568: 0x39e7, 0x569: 0x3b76, + 0x56a: 0x39e0, 0x56b: 0x3b6f, 0x56c: 0x39f5, 0x56d: 0x3b84, 0x56e: 0x39ee, 0x56f: 0x3b7d, + 0x570: 0x39fc, 0x571: 0x3b8b, 0x572: 0x3233, 0x573: 0x354e, 0x574: 0x325b, 0x575: 0x357b, + 0x576: 0x3256, 0x577: 0x3571, 0x578: 0x3242, 0x579: 0x355d, + // Block 0x16, offset 0x580 + 0x580: 0x4807, 0x581: 0x480d, 0x582: 0x4921, 0x583: 0x4939, 0x584: 0x4929, 0x585: 0x4941, + 0x586: 0x4931, 0x587: 0x4949, 0x588: 0x47ad, 0x589: 0x47b3, 0x58a: 0x4891, 0x58b: 0x48a9, + 0x58c: 0x4899, 0x58d: 0x48b1, 0x58e: 0x48a1, 0x58f: 0x48b9, 0x590: 0x4819, 0x591: 0x481f, + 0x592: 0x3dbb, 0x593: 0x3dcb, 0x594: 0x3dc3, 0x595: 0x3dd3, + 0x598: 0x47b9, 0x599: 0x47bf, 0x59a: 0x3ceb, 0x59b: 0x3cfb, 0x59c: 0x3cf3, 0x59d: 0x3d03, + 0x5a0: 0x4831, 0x5a1: 0x4837, 0x5a2: 0x4951, 0x5a3: 0x4969, + 0x5a4: 0x4959, 0x5a5: 0x4971, 0x5a6: 0x4961, 0x5a7: 0x4979, 0x5a8: 0x47c5, 0x5a9: 0x47cb, + 0x5aa: 0x48c1, 0x5ab: 0x48d9, 0x5ac: 0x48c9, 0x5ad: 0x48e1, 0x5ae: 0x48d1, 0x5af: 0x48e9, + 0x5b0: 0x4849, 0x5b1: 0x484f, 0x5b2: 0x3e1b, 0x5b3: 0x3e33, 0x5b4: 0x3e23, 0x5b5: 0x3e3b, + 0x5b6: 0x3e2b, 0x5b7: 0x3e43, 0x5b8: 0x47d1, 0x5b9: 0x47d7, 0x5ba: 0x3d1b, 0x5bb: 0x3d33, + 0x5bc: 0x3d23, 0x5bd: 0x3d3b, 0x5be: 0x3d2b, 0x5bf: 0x3d43, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x4855, 0x5c1: 0x485b, 0x5c2: 0x3e4b, 0x5c3: 0x3e5b, 0x5c4: 0x3e53, 0x5c5: 0x3e63, + 0x5c8: 0x47dd, 0x5c9: 0x47e3, 0x5ca: 0x3d4b, 0x5cb: 0x3d5b, + 0x5cc: 0x3d53, 0x5cd: 0x3d63, 0x5d0: 0x4867, 0x5d1: 0x486d, + 0x5d2: 0x3e83, 0x5d3: 0x3e9b, 0x5d4: 0x3e8b, 0x5d5: 0x3ea3, 0x5d6: 0x3e93, 0x5d7: 0x3eab, + 0x5d9: 0x47e9, 0x5db: 0x3d6b, 0x5dd: 0x3d73, + 0x5df: 0x3d7b, 0x5e0: 0x487f, 0x5e1: 0x4885, 0x5e2: 0x4981, 0x5e3: 0x4999, + 0x5e4: 0x4989, 0x5e5: 0x49a1, 0x5e6: 0x4991, 0x5e7: 0x49a9, 0x5e8: 0x47ef, 0x5e9: 0x47f5, + 0x5ea: 0x48f1, 0x5eb: 0x4909, 0x5ec: 0x48f9, 0x5ed: 0x4911, 0x5ee: 0x4901, 0x5ef: 0x4919, + 0x5f0: 0x47fb, 0x5f1: 0x4321, 0x5f2: 0x3694, 0x5f3: 0x4327, 0x5f4: 0x4825, 0x5f5: 0x432d, + 0x5f6: 0x36a6, 0x5f7: 0x4333, 0x5f8: 0x36c4, 0x5f9: 0x4339, 0x5fa: 0x36dc, 0x5fb: 0x433f, + 0x5fc: 0x4873, 0x5fd: 0x4345, + // Block 0x18, offset 0x600 + 0x600: 0x3da3, 0x601: 0x3dab, 0x602: 0x4187, 0x603: 0x41a5, 0x604: 0x4191, 0x605: 0x41af, + 0x606: 0x419b, 0x607: 0x41b9, 0x608: 0x3cdb, 0x609: 0x3ce3, 0x60a: 0x40d3, 0x60b: 0x40f1, + 0x60c: 0x40dd, 0x60d: 0x40fb, 0x60e: 0x40e7, 0x60f: 0x4105, 0x610: 0x3deb, 0x611: 0x3df3, + 0x612: 0x41c3, 0x613: 0x41e1, 0x614: 0x41cd, 0x615: 0x41eb, 0x616: 0x41d7, 0x617: 0x41f5, + 0x618: 0x3d0b, 0x619: 0x3d13, 0x61a: 0x410f, 0x61b: 0x412d, 0x61c: 0x4119, 0x61d: 0x4137, + 0x61e: 0x4123, 0x61f: 0x4141, 0x620: 0x3ec3, 0x621: 0x3ecb, 0x622: 0x41ff, 0x623: 0x421d, + 0x624: 0x4209, 0x625: 0x4227, 0x626: 0x4213, 0x627: 0x4231, 0x628: 0x3d83, 0x629: 0x3d8b, + 0x62a: 0x414b, 0x62b: 0x4169, 0x62c: 0x4155, 0x62d: 0x4173, 0x62e: 0x415f, 0x62f: 0x417d, + 0x630: 0x3688, 0x631: 0x3682, 0x632: 0x3d93, 0x633: 0x368e, 0x634: 0x3d9b, + 0x636: 0x4813, 0x637: 0x3db3, 0x638: 0x35f8, 0x639: 0x35f2, 0x63a: 0x35e6, 0x63b: 0x42f1, + 0x63c: 0x35fe, 0x63d: 0x8100, 0x63e: 0x01d3, 0x63f: 0xa100, + // Block 0x19, offset 0x640 + 0x640: 0x8100, 0x641: 0x35aa, 0x642: 0x3ddb, 0x643: 0x36a0, 0x644: 0x3de3, + 0x646: 0x483d, 0x647: 0x3dfb, 0x648: 0x3604, 0x649: 0x42f7, 0x64a: 0x3610, 0x64b: 0x42fd, + 0x64c: 0x361c, 0x64d: 0x3b92, 0x64e: 0x3b99, 0x64f: 0x3ba0, 0x650: 0x36b8, 0x651: 0x36b2, + 0x652: 0x3e03, 0x653: 0x44e7, 0x656: 0x36be, 0x657: 0x3e13, + 0x658: 0x3634, 0x659: 0x362e, 0x65a: 0x3622, 0x65b: 0x4303, 0x65d: 0x3ba7, + 0x65e: 0x3bae, 0x65f: 0x3bb5, 0x660: 0x36ee, 0x661: 0x36e8, 0x662: 0x3e6b, 0x663: 0x44ef, + 0x664: 0x36d0, 0x665: 0x36d6, 0x666: 0x36f4, 0x667: 0x3e7b, 0x668: 0x3664, 0x669: 0x365e, + 0x66a: 0x3652, 0x66b: 0x430f, 0x66c: 0x364c, 0x66d: 0x359e, 0x66e: 0x42eb, 0x66f: 0x0081, + 0x672: 0x3eb3, 0x673: 0x36fa, 0x674: 0x3ebb, + 0x676: 0x488b, 0x677: 0x3ed3, 0x678: 0x3640, 0x679: 0x4309, 0x67a: 0x3670, 0x67b: 0x431b, + 0x67c: 0x367c, 0x67d: 0x4259, 0x67e: 0xa100, + // Block 0x1a, offset 0x680 + 0x681: 0x3c09, 0x683: 0xa000, 0x684: 0x3c10, 0x685: 0xa000, + 0x687: 0x3c17, 0x688: 0xa000, 0x689: 0x3c1e, + 0x68d: 0xa000, + 0x6a0: 0x2f68, 0x6a1: 0xa000, 0x6a2: 0x3c2c, + 0x6a4: 0xa000, 0x6a5: 0xa000, + 0x6ad: 0x3c25, 0x6ae: 0x2f63, 0x6af: 0x2f6d, + 0x6b0: 0x3c33, 0x6b1: 0x3c3a, 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0x3c41, 0x6b5: 0x3c48, + 0x6b6: 0xa000, 0x6b7: 0xa000, 0x6b8: 0x3c4f, 0x6b9: 0x3c56, 0x6ba: 0xa000, 0x6bb: 0xa000, + 0x6bc: 0xa000, 0x6bd: 0xa000, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3c5d, 0x6c1: 0x3c64, 0x6c2: 0xa000, 0x6c3: 0xa000, 0x6c4: 0x3c79, 0x6c5: 0x3c80, + 0x6c6: 0xa000, 0x6c7: 0xa000, 0x6c8: 0x3c87, 0x6c9: 0x3c8e, + 0x6d1: 0xa000, + 0x6d2: 0xa000, + 0x6e2: 0xa000, + 0x6e8: 0xa000, 0x6e9: 0xa000, + 0x6eb: 0xa000, 0x6ec: 0x3ca3, 0x6ed: 0x3caa, 0x6ee: 0x3cb1, 0x6ef: 0x3cb8, + 0x6f2: 0xa000, 0x6f3: 0xa000, 0x6f4: 0xa000, 0x6f5: 0xa000, + // Block 0x1c, offset 0x700 + 0x706: 0xa000, 0x70b: 0xa000, + 0x70c: 0x3f0b, 0x70d: 0xa000, 0x70e: 0x3f13, 0x70f: 0xa000, 0x710: 0x3f1b, 0x711: 0xa000, + 0x712: 0x3f23, 0x713: 0xa000, 0x714: 0x3f2b, 0x715: 0xa000, 0x716: 0x3f33, 0x717: 0xa000, + 0x718: 0x3f3b, 0x719: 0xa000, 0x71a: 0x3f43, 0x71b: 0xa000, 0x71c: 0x3f4b, 0x71d: 0xa000, + 0x71e: 0x3f53, 0x71f: 0xa000, 0x720: 0x3f5b, 0x721: 0xa000, 0x722: 0x3f63, + 0x724: 0xa000, 0x725: 0x3f6b, 0x726: 0xa000, 0x727: 0x3f73, 0x728: 0xa000, 0x729: 0x3f7b, + 0x72f: 0xa000, + 0x730: 0x3f83, 0x731: 0x3f8b, 0x732: 0xa000, 0x733: 0x3f93, 0x734: 0x3f9b, 0x735: 0xa000, + 0x736: 0x3fa3, 0x737: 0x3fab, 0x738: 0xa000, 0x739: 0x3fb3, 0x73a: 0x3fbb, 0x73b: 0xa000, + 0x73c: 0x3fc3, 0x73d: 0x3fcb, + // Block 0x1d, offset 0x740 + 0x754: 0x3f03, + 0x759: 0x9903, 0x75a: 0x9903, 0x75b: 0x8100, 0x75c: 0x8100, 0x75d: 0xa000, + 0x75e: 0x3fd3, + 0x766: 0xa000, + 0x76b: 0xa000, 0x76c: 0x3fe3, 0x76d: 0xa000, 0x76e: 0x3feb, 0x76f: 0xa000, + 0x770: 0x3ff3, 0x771: 0xa000, 0x772: 0x3ffb, 0x773: 0xa000, 0x774: 0x4003, 0x775: 0xa000, + 0x776: 0x400b, 0x777: 0xa000, 0x778: 0x4013, 0x779: 0xa000, 0x77a: 0x401b, 0x77b: 0xa000, + 0x77c: 0x4023, 0x77d: 0xa000, 0x77e: 0x402b, 0x77f: 0xa000, + // Block 0x1e, offset 0x780 + 0x780: 0x4033, 0x781: 0xa000, 0x782: 0x403b, 0x784: 0xa000, 0x785: 0x4043, + 0x786: 0xa000, 0x787: 0x404b, 0x788: 0xa000, 0x789: 0x4053, + 0x78f: 0xa000, 0x790: 0x405b, 0x791: 0x4063, + 0x792: 0xa000, 0x793: 0x406b, 0x794: 0x4073, 0x795: 0xa000, 0x796: 0x407b, 0x797: 0x4083, + 0x798: 0xa000, 0x799: 0x408b, 0x79a: 0x4093, 0x79b: 0xa000, 0x79c: 0x409b, 0x79d: 0x40a3, + 0x7af: 0xa000, + 0x7b0: 0xa000, 0x7b1: 0xa000, 0x7b2: 0xa000, 0x7b4: 0x3fdb, + 0x7b7: 0x40ab, 0x7b8: 0x40b3, 0x7b9: 0x40bb, 0x7ba: 0x40c3, + 0x7bd: 0xa000, 0x7be: 0x40cb, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x1377, 0x7c1: 0x0cfb, 0x7c2: 0x13d3, 0x7c3: 0x139f, 0x7c4: 0x0e57, 0x7c5: 0x06eb, + 0x7c6: 0x08df, 0x7c7: 0x162b, 0x7c8: 0x162b, 0x7c9: 0x0a0b, 0x7ca: 0x145f, 0x7cb: 0x0943, + 0x7cc: 0x0a07, 0x7cd: 0x0bef, 0x7ce: 0x0fcf, 0x7cf: 0x115f, 0x7d0: 0x1297, 0x7d1: 0x12d3, + 0x7d2: 0x1307, 0x7d3: 0x141b, 0x7d4: 0x0d73, 0x7d5: 0x0dff, 0x7d6: 0x0eab, 0x7d7: 0x0f43, + 0x7d8: 0x125f, 0x7d9: 0x1447, 0x7da: 0x1573, 0x7db: 0x070f, 0x7dc: 0x08b3, 0x7dd: 0x0d87, + 0x7de: 0x0ecf, 0x7df: 0x1293, 0x7e0: 0x15c3, 0x7e1: 0x0ab3, 0x7e2: 0x0e77, 0x7e3: 0x1283, + 0x7e4: 0x1317, 0x7e5: 0x0c23, 0x7e6: 0x11bb, 0x7e7: 0x12df, 0x7e8: 0x0b1f, 0x7e9: 0x0d0f, + 0x7ea: 0x0e17, 0x7eb: 0x0f1b, 0x7ec: 0x1427, 0x7ed: 0x074f, 0x7ee: 0x07e7, 0x7ef: 0x0853, + 0x7f0: 0x0c8b, 0x7f1: 0x0d7f, 0x7f2: 0x0ecb, 0x7f3: 0x0fef, 0x7f4: 0x1177, 0x7f5: 0x128b, + 0x7f6: 0x12a3, 0x7f7: 0x13c7, 0x7f8: 0x14ef, 0x7f9: 0x15a3, 0x7fa: 0x15bf, 0x7fb: 0x102b, + 0x7fc: 0x106b, 0x7fd: 0x1123, 0x7fe: 0x1243, 0x7ff: 0x147b, + // Block 0x20, offset 0x800 + 0x800: 0x15cb, 0x801: 0x134b, 0x802: 0x09c7, 0x803: 0x0b3b, 0x804: 0x10db, 0x805: 0x119b, + 0x806: 0x0eff, 0x807: 0x1033, 0x808: 0x1397, 0x809: 0x14e7, 0x80a: 0x09c3, 0x80b: 0x0a8f, + 0x80c: 0x0d77, 0x80d: 0x0e2b, 0x80e: 0x0e5f, 0x80f: 0x1113, 0x810: 0x113b, 0x811: 0x14a7, + 0x812: 0x084f, 0x813: 0x11a7, 0x814: 0x07f3, 0x815: 0x07ef, 0x816: 0x1097, 0x817: 0x1127, + 0x818: 0x125b, 0x819: 0x14af, 0x81a: 0x1367, 0x81b: 0x0c27, 0x81c: 0x0d73, 0x81d: 0x1357, + 0x81e: 0x06f7, 0x81f: 0x0a63, 0x820: 0x0b93, 0x821: 0x0f2f, 0x822: 0x0faf, 0x823: 0x0873, + 0x824: 0x103b, 0x825: 0x075f, 0x826: 0x0b77, 0x827: 0x06d7, 0x828: 0x0deb, 0x829: 0x0ca3, + 0x82a: 0x110f, 0x82b: 0x08c7, 0x82c: 0x09b3, 0x82d: 0x0ffb, 0x82e: 0x1263, 0x82f: 0x133b, + 0x830: 0x0db7, 0x831: 0x13f7, 0x832: 0x0de3, 0x833: 0x0c37, 0x834: 0x121b, 0x835: 0x0c57, + 0x836: 0x0fab, 0x837: 0x072b, 0x838: 0x07a7, 0x839: 0x07eb, 0x83a: 0x0d53, 0x83b: 0x10fb, + 0x83c: 0x11f3, 0x83d: 0x1347, 0x83e: 0x145b, 0x83f: 0x085b, + // Block 0x21, offset 0x840 + 0x840: 0x090f, 0x841: 0x0a17, 0x842: 0x0b2f, 0x843: 0x0cbf, 0x844: 0x0e7b, 0x845: 0x103f, + 0x846: 0x1497, 0x847: 0x157b, 0x848: 0x15cf, 0x849: 0x15e7, 0x84a: 0x0837, 0x84b: 0x0cf3, + 0x84c: 0x0da3, 0x84d: 0x13eb, 0x84e: 0x0afb, 0x84f: 0x0bd7, 0x850: 0x0bf3, 0x851: 0x0c83, + 0x852: 0x0e6b, 0x853: 0x0eb7, 0x854: 0x0f67, 0x855: 0x108b, 0x856: 0x112f, 0x857: 0x1193, + 0x858: 0x13db, 0x859: 0x126b, 0x85a: 0x1403, 0x85b: 0x147f, 0x85c: 0x080f, 0x85d: 0x083b, + 0x85e: 0x0923, 0x85f: 0x0ea7, 0x860: 0x12f3, 0x861: 0x133b, 0x862: 0x0b1b, 0x863: 0x0b8b, + 0x864: 0x0c4f, 0x865: 0x0daf, 0x866: 0x10d7, 0x867: 0x0f23, 0x868: 0x073b, 0x869: 0x097f, + 0x86a: 0x0a63, 0x86b: 0x0ac7, 0x86c: 0x0b97, 0x86d: 0x0f3f, 0x86e: 0x0f5b, 0x86f: 0x116b, + 0x870: 0x118b, 0x871: 0x1463, 0x872: 0x14e3, 0x873: 0x14f3, 0x874: 0x152f, 0x875: 0x0753, + 0x876: 0x107f, 0x877: 0x144f, 0x878: 0x14cb, 0x879: 0x0baf, 0x87a: 0x0717, 0x87b: 0x0777, + 0x87c: 0x0a67, 0x87d: 0x0a87, 0x87e: 0x0caf, 0x87f: 0x0d73, + // Block 0x22, offset 0x880 + 0x880: 0x0ec3, 0x881: 0x0fcb, 0x882: 0x1277, 0x883: 0x1417, 0x884: 0x1623, 0x885: 0x0ce3, + 0x886: 0x14a3, 0x887: 0x0833, 0x888: 0x0d2f, 0x889: 0x0d3b, 0x88a: 0x0e0f, 0x88b: 0x0e47, + 0x88c: 0x0f4b, 0x88d: 0x0fa7, 0x88e: 0x1027, 0x88f: 0x110b, 0x890: 0x153b, 0x891: 0x07af, + 0x892: 0x0c03, 0x893: 0x14b3, 0x894: 0x0767, 0x895: 0x0aab, 0x896: 0x0e2f, 0x897: 0x13df, + 0x898: 0x0b67, 0x899: 0x0bb7, 0x89a: 0x0d43, 0x89b: 0x0f2f, 0x89c: 0x14bb, 0x89d: 0x0817, + 0x89e: 0x08ff, 0x89f: 0x0a97, 0x8a0: 0x0cd3, 0x8a1: 0x0d1f, 0x8a2: 0x0d5f, 0x8a3: 0x0df3, + 0x8a4: 0x0f47, 0x8a5: 0x0fbb, 0x8a6: 0x1157, 0x8a7: 0x12f7, 0x8a8: 0x1303, 0x8a9: 0x1457, + 0x8aa: 0x14d7, 0x8ab: 0x0883, 0x8ac: 0x0e4b, 0x8ad: 0x0903, 0x8ae: 0x0ec7, 0x8af: 0x0f6b, + 0x8b0: 0x1287, 0x8b1: 0x14bf, 0x8b2: 0x15ab, 0x8b3: 0x15d3, 0x8b4: 0x0d37, 0x8b5: 0x0e27, + 0x8b6: 0x11c3, 0x8b7: 0x10b7, 0x8b8: 0x10c3, 0x8b9: 0x10e7, 0x8ba: 0x0f17, 0x8bb: 0x0e9f, + 0x8bc: 0x1363, 0x8bd: 0x0733, 0x8be: 0x122b, 0x8bf: 0x081b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x080b, 0x8c1: 0x0b0b, 0x8c2: 0x0c2b, 0x8c3: 0x10f3, 0x8c4: 0x0a53, 0x8c5: 0x0e03, + 0x8c6: 0x0cef, 0x8c7: 0x13e7, 0x8c8: 0x12e7, 0x8c9: 0x14ab, 0x8ca: 0x1323, 0x8cb: 0x0b27, + 0x8cc: 0x0787, 0x8cd: 0x095b, 0x8d0: 0x09af, + 0x8d2: 0x0cdf, 0x8d5: 0x07f7, 0x8d6: 0x0f1f, 0x8d7: 0x0fe3, + 0x8d8: 0x1047, 0x8d9: 0x1063, 0x8da: 0x1067, 0x8db: 0x107b, 0x8dc: 0x14fb, 0x8dd: 0x10eb, + 0x8de: 0x116f, 0x8e0: 0x128f, 0x8e2: 0x1353, + 0x8e5: 0x1407, 0x8e6: 0x1433, + 0x8ea: 0x154f, 0x8eb: 0x1553, 0x8ec: 0x1557, 0x8ed: 0x15bb, 0x8ee: 0x142b, 0x8ef: 0x14c7, + 0x8f0: 0x0757, 0x8f1: 0x077b, 0x8f2: 0x078f, 0x8f3: 0x084b, 0x8f4: 0x0857, 0x8f5: 0x0897, + 0x8f6: 0x094b, 0x8f7: 0x0967, 0x8f8: 0x096f, 0x8f9: 0x09ab, 0x8fa: 0x09b7, 0x8fb: 0x0a93, + 0x8fc: 0x0a9b, 0x8fd: 0x0ba3, 0x8fe: 0x0bcb, 0x8ff: 0x0bd3, + // Block 0x24, offset 0x900 + 0x900: 0x0beb, 0x901: 0x0c97, 0x902: 0x0cc7, 0x903: 0x0ce7, 0x904: 0x0d57, 0x905: 0x0e1b, + 0x906: 0x0e37, 0x907: 0x0e67, 0x908: 0x0ebb, 0x909: 0x0edb, 0x90a: 0x0f4f, 0x90b: 0x102f, + 0x90c: 0x104b, 0x90d: 0x1053, 0x90e: 0x104f, 0x90f: 0x1057, 0x910: 0x105b, 0x911: 0x105f, + 0x912: 0x1073, 0x913: 0x1077, 0x914: 0x109b, 0x915: 0x10af, 0x916: 0x10cb, 0x917: 0x112f, + 0x918: 0x1137, 0x919: 0x113f, 0x91a: 0x1153, 0x91b: 0x117b, 0x91c: 0x11cb, 0x91d: 0x11ff, + 0x91e: 0x11ff, 0x91f: 0x1267, 0x920: 0x130f, 0x921: 0x1327, 0x922: 0x135b, 0x923: 0x135f, + 0x924: 0x13a3, 0x925: 0x13a7, 0x926: 0x13ff, 0x927: 0x1407, 0x928: 0x14db, 0x929: 0x151f, + 0x92a: 0x1537, 0x92b: 0x0b9b, 0x92c: 0x171e, 0x92d: 0x11e3, + 0x930: 0x06df, 0x931: 0x07e3, 0x932: 0x07a3, 0x933: 0x074b, 0x934: 0x078b, 0x935: 0x07b7, + 0x936: 0x0847, 0x937: 0x0863, 0x938: 0x094b, 0x939: 0x0937, 0x93a: 0x0947, 0x93b: 0x0963, + 0x93c: 0x09af, 0x93d: 0x09bf, 0x93e: 0x0a03, 0x93f: 0x0a0f, + // Block 0x25, offset 0x940 + 0x940: 0x0a2b, 0x941: 0x0a3b, 0x942: 0x0b23, 0x943: 0x0b2b, 0x944: 0x0b5b, 0x945: 0x0b7b, + 0x946: 0x0bab, 0x947: 0x0bc3, 0x948: 0x0bb3, 0x949: 0x0bd3, 0x94a: 0x0bc7, 0x94b: 0x0beb, + 0x94c: 0x0c07, 0x94d: 0x0c5f, 0x94e: 0x0c6b, 0x94f: 0x0c73, 0x950: 0x0c9b, 0x951: 0x0cdf, + 0x952: 0x0d0f, 0x953: 0x0d13, 0x954: 0x0d27, 0x955: 0x0da7, 0x956: 0x0db7, 0x957: 0x0e0f, + 0x958: 0x0e5b, 0x959: 0x0e53, 0x95a: 0x0e67, 0x95b: 0x0e83, 0x95c: 0x0ebb, 0x95d: 0x1013, + 0x95e: 0x0edf, 0x95f: 0x0f13, 0x960: 0x0f1f, 0x961: 0x0f5f, 0x962: 0x0f7b, 0x963: 0x0f9f, + 0x964: 0x0fc3, 0x965: 0x0fc7, 0x966: 0x0fe3, 0x967: 0x0fe7, 0x968: 0x0ff7, 0x969: 0x100b, + 0x96a: 0x1007, 0x96b: 0x1037, 0x96c: 0x10b3, 0x96d: 0x10cb, 0x96e: 0x10e3, 0x96f: 0x111b, + 0x970: 0x112f, 0x971: 0x114b, 0x972: 0x117b, 0x973: 0x122f, 0x974: 0x1257, 0x975: 0x12cb, + 0x976: 0x1313, 0x977: 0x131f, 0x978: 0x1327, 0x979: 0x133f, 0x97a: 0x1353, 0x97b: 0x1343, + 0x97c: 0x135b, 0x97d: 0x1357, 0x97e: 0x134f, 0x97f: 0x135f, + // Block 0x26, offset 0x980 + 0x980: 0x136b, 0x981: 0x13a7, 0x982: 0x13e3, 0x983: 0x1413, 0x984: 0x144b, 0x985: 0x146b, + 0x986: 0x14b7, 0x987: 0x14db, 0x988: 0x14fb, 0x989: 0x150f, 0x98a: 0x151f, 0x98b: 0x152b, + 0x98c: 0x1537, 0x98d: 0x158b, 0x98e: 0x162b, 0x98f: 0x16b5, 0x990: 0x16b0, 0x991: 0x16e2, + 0x992: 0x0607, 0x993: 0x062f, 0x994: 0x0633, 0x995: 0x1764, 0x996: 0x1791, 0x997: 0x1809, + 0x998: 0x1617, 0x999: 0x1627, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x06fb, 0x9c1: 0x06f3, 0x9c2: 0x0703, 0x9c3: 0x1647, 0x9c4: 0x0747, 0x9c5: 0x0757, + 0x9c6: 0x075b, 0x9c7: 0x0763, 0x9c8: 0x076b, 0x9c9: 0x076f, 0x9ca: 0x077b, 0x9cb: 0x0773, + 0x9cc: 0x05b3, 0x9cd: 0x165b, 0x9ce: 0x078f, 0x9cf: 0x0793, 0x9d0: 0x0797, 0x9d1: 0x07b3, + 0x9d2: 0x164c, 0x9d3: 0x05b7, 0x9d4: 0x079f, 0x9d5: 0x07bf, 0x9d6: 0x1656, 0x9d7: 0x07cf, + 0x9d8: 0x07d7, 0x9d9: 0x0737, 0x9da: 0x07df, 0x9db: 0x07e3, 0x9dc: 0x1831, 0x9dd: 0x07ff, + 0x9de: 0x0807, 0x9df: 0x05bf, 0x9e0: 0x081f, 0x9e1: 0x0823, 0x9e2: 0x082b, 0x9e3: 0x082f, + 0x9e4: 0x05c3, 0x9e5: 0x0847, 0x9e6: 0x084b, 0x9e7: 0x0857, 0x9e8: 0x0863, 0x9e9: 0x0867, + 0x9ea: 0x086b, 0x9eb: 0x0873, 0x9ec: 0x0893, 0x9ed: 0x0897, 0x9ee: 0x089f, 0x9ef: 0x08af, + 0x9f0: 0x08b7, 0x9f1: 0x08bb, 0x9f2: 0x08bb, 0x9f3: 0x08bb, 0x9f4: 0x166a, 0x9f5: 0x0e93, + 0x9f6: 0x08cf, 0x9f7: 0x08d7, 0x9f8: 0x166f, 0x9f9: 0x08e3, 0x9fa: 0x08eb, 0x9fb: 0x08f3, + 0x9fc: 0x091b, 0x9fd: 0x0907, 0x9fe: 0x0913, 0x9ff: 0x0917, + // Block 0x28, offset 0xa00 + 0xa00: 0x091f, 0xa01: 0x0927, 0xa02: 0x092b, 0xa03: 0x0933, 0xa04: 0x093b, 0xa05: 0x093f, + 0xa06: 0x093f, 0xa07: 0x0947, 0xa08: 0x094f, 0xa09: 0x0953, 0xa0a: 0x095f, 0xa0b: 0x0983, + 0xa0c: 0x0967, 0xa0d: 0x0987, 0xa0e: 0x096b, 0xa0f: 0x0973, 0xa10: 0x080b, 0xa11: 0x09cf, + 0xa12: 0x0997, 0xa13: 0x099b, 0xa14: 0x099f, 0xa15: 0x0993, 0xa16: 0x09a7, 0xa17: 0x09a3, + 0xa18: 0x09bb, 0xa19: 0x1674, 0xa1a: 0x09d7, 0xa1b: 0x09db, 0xa1c: 0x09e3, 0xa1d: 0x09ef, + 0xa1e: 0x09f7, 0xa1f: 0x0a13, 0xa20: 0x1679, 0xa21: 0x167e, 0xa22: 0x0a1f, 0xa23: 0x0a23, + 0xa24: 0x0a27, 0xa25: 0x0a1b, 0xa26: 0x0a2f, 0xa27: 0x05c7, 0xa28: 0x05cb, 0xa29: 0x0a37, + 0xa2a: 0x0a3f, 0xa2b: 0x0a3f, 0xa2c: 0x1683, 0xa2d: 0x0a5b, 0xa2e: 0x0a5f, 0xa2f: 0x0a63, + 0xa30: 0x0a6b, 0xa31: 0x1688, 0xa32: 0x0a73, 0xa33: 0x0a77, 0xa34: 0x0b4f, 0xa35: 0x0a7f, + 0xa36: 0x05cf, 0xa37: 0x0a8b, 0xa38: 0x0a9b, 0xa39: 0x0aa7, 0xa3a: 0x0aa3, 0xa3b: 0x1692, + 0xa3c: 0x0aaf, 0xa3d: 0x1697, 0xa3e: 0x0abb, 0xa3f: 0x0ab7, + // Block 0x29, offset 0xa40 + 0xa40: 0x0abf, 0xa41: 0x0acf, 0xa42: 0x0ad3, 0xa43: 0x05d3, 0xa44: 0x0ae3, 0xa45: 0x0aeb, + 0xa46: 0x0aef, 0xa47: 0x0af3, 0xa48: 0x05d7, 0xa49: 0x169c, 0xa4a: 0x05db, 0xa4b: 0x0b0f, + 0xa4c: 0x0b13, 0xa4d: 0x0b17, 0xa4e: 0x0b1f, 0xa4f: 0x1863, 0xa50: 0x0b37, 0xa51: 0x16a6, + 0xa52: 0x16a6, 0xa53: 0x11d7, 0xa54: 0x0b47, 0xa55: 0x0b47, 0xa56: 0x05df, 0xa57: 0x16c9, + 0xa58: 0x179b, 0xa59: 0x0b57, 0xa5a: 0x0b5f, 0xa5b: 0x05e3, 0xa5c: 0x0b73, 0xa5d: 0x0b83, + 0xa5e: 0x0b87, 0xa5f: 0x0b8f, 0xa60: 0x0b9f, 0xa61: 0x05eb, 0xa62: 0x05e7, 0xa63: 0x0ba3, + 0xa64: 0x16ab, 0xa65: 0x0ba7, 0xa66: 0x0bbb, 0xa67: 0x0bbf, 0xa68: 0x0bc3, 0xa69: 0x0bbf, + 0xa6a: 0x0bcf, 0xa6b: 0x0bd3, 0xa6c: 0x0be3, 0xa6d: 0x0bdb, 0xa6e: 0x0bdf, 0xa6f: 0x0be7, + 0xa70: 0x0beb, 0xa71: 0x0bef, 0xa72: 0x0bfb, 0xa73: 0x0bff, 0xa74: 0x0c17, 0xa75: 0x0c1f, + 0xa76: 0x0c2f, 0xa77: 0x0c43, 0xa78: 0x16ba, 0xa79: 0x0c3f, 0xa7a: 0x0c33, 0xa7b: 0x0c4b, + 0xa7c: 0x0c53, 0xa7d: 0x0c67, 0xa7e: 0x16bf, 0xa7f: 0x0c6f, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0c63, 0xa81: 0x0c5b, 0xa82: 0x05ef, 0xa83: 0x0c77, 0xa84: 0x0c7f, 0xa85: 0x0c87, + 0xa86: 0x0c7b, 0xa87: 0x05f3, 0xa88: 0x0c97, 0xa89: 0x0c9f, 0xa8a: 0x16c4, 0xa8b: 0x0ccb, + 0xa8c: 0x0cff, 0xa8d: 0x0cdb, 0xa8e: 0x05ff, 0xa8f: 0x0ce7, 0xa90: 0x05fb, 0xa91: 0x05f7, + 0xa92: 0x07c3, 0xa93: 0x07c7, 0xa94: 0x0d03, 0xa95: 0x0ceb, 0xa96: 0x11ab, 0xa97: 0x0663, + 0xa98: 0x0d0f, 0xa99: 0x0d13, 0xa9a: 0x0d17, 0xa9b: 0x0d2b, 0xa9c: 0x0d23, 0xa9d: 0x16dd, + 0xa9e: 0x0603, 0xa9f: 0x0d3f, 0xaa0: 0x0d33, 0xaa1: 0x0d4f, 0xaa2: 0x0d57, 0xaa3: 0x16e7, + 0xaa4: 0x0d5b, 0xaa5: 0x0d47, 0xaa6: 0x0d63, 0xaa7: 0x0607, 0xaa8: 0x0d67, 0xaa9: 0x0d6b, + 0xaaa: 0x0d6f, 0xaab: 0x0d7b, 0xaac: 0x16ec, 0xaad: 0x0d83, 0xaae: 0x060b, 0xaaf: 0x0d8f, + 0xab0: 0x16f1, 0xab1: 0x0d93, 0xab2: 0x060f, 0xab3: 0x0d9f, 0xab4: 0x0dab, 0xab5: 0x0db7, + 0xab6: 0x0dbb, 0xab7: 0x16f6, 0xab8: 0x168d, 0xab9: 0x16fb, 0xaba: 0x0ddb, 0xabb: 0x1700, + 0xabc: 0x0de7, 0xabd: 0x0def, 0xabe: 0x0ddf, 0xabf: 0x0dfb, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0e0b, 0xac1: 0x0e1b, 0xac2: 0x0e0f, 0xac3: 0x0e13, 0xac4: 0x0e1f, 0xac5: 0x0e23, + 0xac6: 0x1705, 0xac7: 0x0e07, 0xac8: 0x0e3b, 0xac9: 0x0e3f, 0xaca: 0x0613, 0xacb: 0x0e53, + 0xacc: 0x0e4f, 0xacd: 0x170a, 0xace: 0x0e33, 0xacf: 0x0e6f, 0xad0: 0x170f, 0xad1: 0x1714, + 0xad2: 0x0e73, 0xad3: 0x0e87, 0xad4: 0x0e83, 0xad5: 0x0e7f, 0xad6: 0x0617, 0xad7: 0x0e8b, + 0xad8: 0x0e9b, 0xad9: 0x0e97, 0xada: 0x0ea3, 0xadb: 0x1651, 0xadc: 0x0eb3, 0xadd: 0x1719, + 0xade: 0x0ebf, 0xadf: 0x1723, 0xae0: 0x0ed3, 0xae1: 0x0edf, 0xae2: 0x0ef3, 0xae3: 0x1728, + 0xae4: 0x0f07, 0xae5: 0x0f0b, 0xae6: 0x172d, 0xae7: 0x1732, 0xae8: 0x0f27, 0xae9: 0x0f37, + 0xaea: 0x061b, 0xaeb: 0x0f3b, 0xaec: 0x061f, 0xaed: 0x061f, 0xaee: 0x0f53, 0xaef: 0x0f57, + 0xaf0: 0x0f5f, 0xaf1: 0x0f63, 0xaf2: 0x0f6f, 0xaf3: 0x0623, 0xaf4: 0x0f87, 0xaf5: 0x1737, + 0xaf6: 0x0fa3, 0xaf7: 0x173c, 0xaf8: 0x0faf, 0xaf9: 0x16a1, 0xafa: 0x0fbf, 0xafb: 0x1741, + 0xafc: 0x1746, 0xafd: 0x174b, 0xafe: 0x0627, 0xaff: 0x062b, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0ff7, 0xb01: 0x1755, 0xb02: 0x1750, 0xb03: 0x175a, 0xb04: 0x175f, 0xb05: 0x0fff, + 0xb06: 0x1003, 0xb07: 0x1003, 0xb08: 0x100b, 0xb09: 0x0633, 0xb0a: 0x100f, 0xb0b: 0x0637, + 0xb0c: 0x063b, 0xb0d: 0x1769, 0xb0e: 0x1023, 0xb0f: 0x102b, 0xb10: 0x1037, 0xb11: 0x063f, + 0xb12: 0x176e, 0xb13: 0x105b, 0xb14: 0x1773, 0xb15: 0x1778, 0xb16: 0x107b, 0xb17: 0x1093, + 0xb18: 0x0643, 0xb19: 0x109b, 0xb1a: 0x109f, 0xb1b: 0x10a3, 0xb1c: 0x177d, 0xb1d: 0x1782, + 0xb1e: 0x1782, 0xb1f: 0x10bb, 0xb20: 0x0647, 0xb21: 0x1787, 0xb22: 0x10cf, 0xb23: 0x10d3, + 0xb24: 0x064b, 0xb25: 0x178c, 0xb26: 0x10ef, 0xb27: 0x064f, 0xb28: 0x10ff, 0xb29: 0x10f7, + 0xb2a: 0x1107, 0xb2b: 0x1796, 0xb2c: 0x111f, 0xb2d: 0x0653, 0xb2e: 0x112b, 0xb2f: 0x1133, + 0xb30: 0x1143, 0xb31: 0x0657, 0xb32: 0x17a0, 0xb33: 0x17a5, 0xb34: 0x065b, 0xb35: 0x17aa, + 0xb36: 0x115b, 0xb37: 0x17af, 0xb38: 0x1167, 0xb39: 0x1173, 0xb3a: 0x117b, 0xb3b: 0x17b4, + 0xb3c: 0x17b9, 0xb3d: 0x118f, 0xb3e: 0x17be, 0xb3f: 0x1197, + // Block 0x2d, offset 0xb40 + 0xb40: 0x16ce, 0xb41: 0x065f, 0xb42: 0x11af, 0xb43: 0x11b3, 0xb44: 0x0667, 0xb45: 0x11b7, + 0xb46: 0x0a33, 0xb47: 0x17c3, 0xb48: 0x17c8, 0xb49: 0x16d3, 0xb4a: 0x16d8, 0xb4b: 0x11d7, + 0xb4c: 0x11db, 0xb4d: 0x13f3, 0xb4e: 0x066b, 0xb4f: 0x1207, 0xb50: 0x1203, 0xb51: 0x120b, + 0xb52: 0x083f, 0xb53: 0x120f, 0xb54: 0x1213, 0xb55: 0x1217, 0xb56: 0x121f, 0xb57: 0x17cd, + 0xb58: 0x121b, 0xb59: 0x1223, 0xb5a: 0x1237, 0xb5b: 0x123b, 0xb5c: 0x1227, 0xb5d: 0x123f, + 0xb5e: 0x1253, 0xb5f: 0x1267, 0xb60: 0x1233, 0xb61: 0x1247, 0xb62: 0x124b, 0xb63: 0x124f, + 0xb64: 0x17d2, 0xb65: 0x17dc, 0xb66: 0x17d7, 0xb67: 0x066f, 0xb68: 0x126f, 0xb69: 0x1273, + 0xb6a: 0x127b, 0xb6b: 0x17f0, 0xb6c: 0x127f, 0xb6d: 0x17e1, 0xb6e: 0x0673, 0xb6f: 0x0677, + 0xb70: 0x17e6, 0xb71: 0x17eb, 0xb72: 0x067b, 0xb73: 0x129f, 0xb74: 0x12a3, 0xb75: 0x12a7, + 0xb76: 0x12ab, 0xb77: 0x12b7, 0xb78: 0x12b3, 0xb79: 0x12bf, 0xb7a: 0x12bb, 0xb7b: 0x12cb, + 0xb7c: 0x12c3, 0xb7d: 0x12c7, 0xb7e: 0x12cf, 0xb7f: 0x067f, + // Block 0x2e, offset 0xb80 + 0xb80: 0x12d7, 0xb81: 0x12db, 0xb82: 0x0683, 0xb83: 0x12eb, 0xb84: 0x12ef, 0xb85: 0x17f5, + 0xb86: 0x12fb, 0xb87: 0x12ff, 0xb88: 0x0687, 0xb89: 0x130b, 0xb8a: 0x05bb, 0xb8b: 0x17fa, + 0xb8c: 0x17ff, 0xb8d: 0x068b, 0xb8e: 0x068f, 0xb8f: 0x1337, 0xb90: 0x134f, 0xb91: 0x136b, + 0xb92: 0x137b, 0xb93: 0x1804, 0xb94: 0x138f, 0xb95: 0x1393, 0xb96: 0x13ab, 0xb97: 0x13b7, + 0xb98: 0x180e, 0xb99: 0x1660, 0xb9a: 0x13c3, 0xb9b: 0x13bf, 0xb9c: 0x13cb, 0xb9d: 0x1665, + 0xb9e: 0x13d7, 0xb9f: 0x13e3, 0xba0: 0x1813, 0xba1: 0x1818, 0xba2: 0x1423, 0xba3: 0x142f, + 0xba4: 0x1437, 0xba5: 0x181d, 0xba6: 0x143b, 0xba7: 0x1467, 0xba8: 0x1473, 0xba9: 0x1477, + 0xbaa: 0x146f, 0xbab: 0x1483, 0xbac: 0x1487, 0xbad: 0x1822, 0xbae: 0x1493, 0xbaf: 0x0693, + 0xbb0: 0x149b, 0xbb1: 0x1827, 0xbb2: 0x0697, 0xbb3: 0x14d3, 0xbb4: 0x0ac3, 0xbb5: 0x14eb, + 0xbb6: 0x182c, 0xbb7: 0x1836, 0xbb8: 0x069b, 0xbb9: 0x069f, 0xbba: 0x1513, 0xbbb: 0x183b, + 0xbbc: 0x06a3, 0xbbd: 0x1840, 0xbbe: 0x152b, 0xbbf: 0x152b, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x1533, 0xbc1: 0x1845, 0xbc2: 0x154b, 0xbc3: 0x06a7, 0xbc4: 0x155b, 0xbc5: 0x1567, + 0xbc6: 0x156f, 0xbc7: 0x1577, 0xbc8: 0x06ab, 0xbc9: 0x184a, 0xbca: 0x158b, 0xbcb: 0x15a7, + 0xbcc: 0x15b3, 0xbcd: 0x06af, 0xbce: 0x06b3, 0xbcf: 0x15b7, 0xbd0: 0x184f, 0xbd1: 0x06b7, + 0xbd2: 0x1854, 0xbd3: 0x1859, 0xbd4: 0x185e, 0xbd5: 0x15db, 0xbd6: 0x06bb, 0xbd7: 0x15ef, + 0xbd8: 0x15f7, 0xbd9: 0x15fb, 0xbda: 0x1603, 0xbdb: 0x160b, 0xbdc: 0x1613, 0xbdd: 0x1868, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2e, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2f, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x30, 0xcb: 0x31, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x32, + 0xd0: 0x09, 0xd1: 0x33, 0xd2: 0x34, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x35, + 0xd8: 0x36, 0xd9: 0x0c, 0xdb: 0x37, 0xdc: 0x38, 0xdd: 0x39, 0xdf: 0x3a, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x3b, 0x121: 0x3c, 0x123: 0x0d, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, + 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, + 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, + 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, + // Block 0x5, offset 0x140 + 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, + 0x14d: 0x5c, + 0x15c: 0x5d, 0x15f: 0x5e, + 0x162: 0x5f, 0x164: 0x60, + 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0e, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, + 0x170: 0x67, 0x173: 0x68, 0x177: 0x0f, + 0x178: 0x10, 0x179: 0x11, 0x17a: 0x12, 0x17b: 0x13, 0x17c: 0x14, 0x17d: 0x15, 0x17e: 0x16, 0x17f: 0x17, + // Block 0x6, offset 0x180 + 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, + 0x188: 0x6e, 0x189: 0x18, 0x18a: 0x19, 0x18b: 0x6f, 0x18c: 0x70, + 0x1ab: 0x71, + 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x75, 0x1c1: 0x1a, 0x1c2: 0x1b, 0x1c3: 0x1c, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, + // Block 0x8, offset 0x200 + 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, + 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, + 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, + 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, + 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, + // Block 0x9, offset 0x240 + 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, + 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, + 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, + 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, + 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, + 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, + 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, + // Block 0xa, offset 0x280 + 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, + 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, + 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, + 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, + 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, + 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, + 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, + 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, + 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, + 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, + 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, + // Block 0xc, offset 0x300 + 0x324: 0x1d, 0x325: 0x1e, 0x326: 0x1f, 0x327: 0x20, + 0x328: 0x21, 0x329: 0x22, 0x32a: 0x23, 0x32b: 0x24, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, + 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, + // Block 0xd, offset 0x340 + 0x347: 0x9c, + 0x34b: 0x9d, 0x34d: 0x9e, + 0x368: 0x9f, 0x36b: 0xa0, + 0x374: 0xa1, + 0x37d: 0xa2, + // Block 0xe, offset 0x380 + 0x381: 0xa3, 0x382: 0xa4, 0x384: 0xa5, 0x385: 0x82, 0x387: 0xa6, + 0x388: 0xa7, 0x38b: 0xa8, 0x38c: 0xa9, 0x38d: 0xaa, + 0x391: 0xab, 0x392: 0xac, 0x393: 0xad, 0x396: 0xae, 0x397: 0xaf, + 0x398: 0x73, 0x39a: 0xb0, 0x39c: 0xb1, + 0x3a0: 0xb2, 0x3a7: 0xb3, + 0x3a8: 0xb4, 0x3a9: 0xb5, 0x3aa: 0xb6, + 0x3b0: 0x73, 0x3b5: 0xb7, 0x3b6: 0xb8, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xb9, 0x3ec: 0xba, + // Block 0x10, offset 0x400 + 0x432: 0xbb, + // Block 0x11, offset 0x440 + 0x445: 0xbc, 0x446: 0xbd, 0x447: 0xbe, + 0x449: 0xbf, + // Block 0x12, offset 0x480 + 0x480: 0xc0, 0x484: 0xba, + 0x48b: 0xc1, + 0x4a3: 0xc2, 0x4a5: 0xc3, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xc4, + // Block 0x14, offset 0x500 + 0x520: 0x25, 0x521: 0x26, 0x522: 0x27, 0x523: 0x28, 0x524: 0x29, 0x525: 0x2a, 0x526: 0x2b, 0x527: 0x2c, + 0x528: 0x2d, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 151 entries, 302 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x63, 0x68, 0x6a, 0x72, 0x79, 0x7c, 0x84, 0x88, 0x8c, 0x8e, 0x90, 0x99, 0x9d, 0xa4, 0xa9, 0xac, 0xb6, 0xb9, 0xc0, 0xc8, 0xcb, 0xcd, 0xd0, 0xd2, 0xd7, 0xe8, 0xf4, 0xf6, 0xfc, 0xfe, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10b, 0x10e, 0x110, 0x113, 0x116, 0x11a, 0x11f, 0x128, 0x12a, 0x12d, 0x12f, 0x13a, 0x13e, 0x14c, 0x14f, 0x155, 0x15b, 0x166, 0x16a, 0x16c, 0x16e, 0x170, 0x172, 0x174, 0x17a, 0x17e, 0x180, 0x182, 0x18a, 0x18e, 0x191, 0x193, 0x195, 0x197, 0x19a, 0x19c, 0x19e, 0x1a0, 0x1a2, 0x1a8, 0x1ab, 0x1ad, 0x1b4, 0x1ba, 0x1c0, 0x1c8, 0x1ce, 0x1d4, 0x1da, 0x1de, 0x1ec, 0x1f5, 0x1f8, 0x1fb, 0x1fd, 0x200, 0x202, 0x206, 0x20b, 0x20d, 0x20f, 0x214, 0x21a, 0x21c, 0x21e, 0x220, 0x226, 0x229, 0x22b, 0x231, 0x234, 0x23c, 0x243, 0x246, 0x249, 0x24b, 0x24e, 0x256, 0x25a, 0x261, 0x264, 0x26a, 0x26c, 0x26f, 0x271, 0x274, 0x276, 0x278, 0x27a, 0x27c, 0x27f, 0x281, 0x283, 0x285, 0x287, 0x294, 0x29e, 0x2a0, 0x2a2, 0x2a8, 0x2aa, 0x2ac, 0x2af} + +// nfcSparseValues: 689 entries, 2756 bytes +var nfcSparseValues = [689]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46e5, lo: 0xa0, hi: 0xa1}, + {value: 0x4717, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4843, lo: 0x8a, hi: 0x8a}, + {value: 0x4861, lo: 0x8b, hi: 0x8b}, + {value: 0x36ca, lo: 0x8c, hi: 0x8c}, + {value: 0x36e2, lo: 0x8d, hi: 0x8d}, + {value: 0x4879, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3700, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a8, lo: 0x90, hi: 0x90}, + {value: 0x37b4, lo: 0x91, hi: 0x91}, + {value: 0x37a2, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x381a, lo: 0x97, hi: 0x97}, + {value: 0x37e4, lo: 0x9c, hi: 0x9c}, + {value: 0x37cc, lo: 0x9d, hi: 0x9d}, + {value: 0x37f6, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x3820, lo: 0xb6, hi: 0xb6}, + {value: 0x3826, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3844, lo: 0xa2, hi: 0xa2}, + {value: 0x384a, lo: 0xa3, hi: 0xa3}, + {value: 0x3856, lo: 0xa4, hi: 0xa4}, + {value: 0x3850, lo: 0xa5, hi: 0xa5}, + {value: 0x385c, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x386e, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x3862, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3868, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0xd, offset 0x63 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x68 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x6a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3edb, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee3, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3eeb, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x72 + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451f, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x79 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x7c + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2ca1, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455f, lo: 0x9c, hi: 0x9d}, + {value: 0x456f, lo: 0x9f, hi: 0x9f}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x84 + {value: 0x0000, lo: 0x03}, + {value: 0x4597, lo: 0xb3, hi: 0xb3}, + {value: 0x459f, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0x88 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4577, lo: 0x99, hi: 0x9b}, + {value: 0x458f, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0x8c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0x8e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0x90 + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb9, lo: 0x88, hi: 0x88}, + {value: 0x2cb1, lo: 0x8b, hi: 0x8b}, + {value: 0x2cc1, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a7, lo: 0x9c, hi: 0x9c}, + {value: 0x45af, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0x99 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc9, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0x9d + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cd1, lo: 0x8a, hi: 0x8a}, + {value: 0x2ce1, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd9, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xa4 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef3, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xa9 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xac + {value: 0x0000, lo: 0x09}, + {value: 0x2ce9, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cf1, lo: 0x87, hi: 0x87}, + {value: 0x2cf9, lo: 0x88, hi: 0x88}, + {value: 0x2f53, lo: 0x8a, hi: 0x8a}, + {value: 0x2ddb, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2d01, lo: 0x8a, hi: 0x8a}, + {value: 0x2d11, lo: 0x8b, hi: 0x8b}, + {value: 0x2d09, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xc0 + {value: 0x6be7, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3efb, lo: 0x9a, hi: 0x9a}, + {value: 0x2f5b, lo: 0x9c, hi: 0x9c}, + {value: 0x2de6, lo: 0x9d, hi: 0x9d}, + {value: 0x2d19, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xc8 + {value: 0x0000, lo: 0x02}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xcb + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xcd + {value: 0x0000, lo: 0x02}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x23, offset 0xd0 + {value: 0x0000, lo: 0x01}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + // Block 0x24, offset 0xd2 + {value: 0x0000, lo: 0x04}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xd7 + {value: 0x0000, lo: 0x10}, + {value: 0x2647, lo: 0x83, hi: 0x83}, + {value: 0x264e, lo: 0x8d, hi: 0x8d}, + {value: 0x2655, lo: 0x92, hi: 0x92}, + {value: 0x265c, lo: 0x97, hi: 0x97}, + {value: 0x2663, lo: 0x9c, hi: 0x9c}, + {value: 0x2640, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a87, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a90, lo: 0xb5, hi: 0xb5}, + {value: 0x45b7, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45bf, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0xe8 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a99, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x2671, lo: 0x93, hi: 0x93}, + {value: 0x2678, lo: 0x9d, hi: 0x9d}, + {value: 0x267f, lo: 0xa2, hi: 0xa2}, + {value: 0x2686, lo: 0xa7, hi: 0xa7}, + {value: 0x268d, lo: 0xac, hi: 0xac}, + {value: 0x266a, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0xf4 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0xf6 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d21, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0xfc + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0xfe + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0x100 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x102 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x104 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x106 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x108 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x10b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x10e + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x110 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x113 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x116 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x11a + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x36, offset 0x11f + {value: 0x0000, lo: 0x08}, + {value: 0x2d69, lo: 0x80, hi: 0x80}, + {value: 0x2d71, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d79, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x37, offset 0x128 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x38, offset 0x12a + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x39, offset 0x12d + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3a, offset 0x12f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3b, offset 0x13a + {value: 0x0004, lo: 0x03}, + {value: 0x0433, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3c, offset 0x13e + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x3d, offset 0x14c + {value: 0x427e, lo: 0x02}, + {value: 0x01b8, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x3e, offset 0x14f + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bbc, lo: 0x9a, hi: 0x9b}, + {value: 0x3bca, lo: 0xae, hi: 0xae}, + // Block 0x3f, offset 0x155 + {value: 0x000e, lo: 0x05}, + {value: 0x3bd1, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd8, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x40, offset 0x15b + {value: 0x6405, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be6, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bed, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf4, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bfb, lo: 0xa4, hi: 0xa5}, + {value: 0x3c02, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x41, offset 0x166 + {value: 0x0007, lo: 0x03}, + {value: 0x3c6b, lo: 0xa0, hi: 0xa1}, + {value: 0x3c95, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbf, lo: 0xaa, hi: 0xad}, + // Block 0x42, offset 0x16a + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x43, offset 0x16c + {value: 0x0000, lo: 0x01}, + {value: 0x44e0, lo: 0x9c, hi: 0x9c}, + // Block 0x44, offset 0x16e + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x45, offset 0x170 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x46, offset 0x172 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x47, offset 0x174 + {value: 0x0000, lo: 0x05}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xaf}, + // Block 0x48, offset 0x17a + {value: 0x0000, lo: 0x03}, + {value: 0x4aa2, lo: 0xb3, hi: 0xb3}, + {value: 0x4aa2, lo: 0xb5, hi: 0xb6}, + {value: 0x4aa2, lo: 0xba, hi: 0xbf}, + // Block 0x49, offset 0x17e + {value: 0x0000, lo: 0x01}, + {value: 0x4aa2, lo: 0x8f, hi: 0xa3}, + // Block 0x4a, offset 0x180 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4b, offset 0x182 + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4c, offset 0x18a + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4d, offset 0x18e + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x4e, offset 0x191 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x4f, offset 0x193 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x50, offset 0x195 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x51, offset 0x197 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x52, offset 0x19a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x53, offset 0x19c + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x54, offset 0x19e + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x55, offset 0x1a0 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x56, offset 0x1a2 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x57, offset 0x1a8 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x58, offset 0x1ab + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x59, offset 0x1ad + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5a, offset 0x1b4 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5b, offset 0x1ba + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5c, offset 0x1c0 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5d, offset 0x1c8 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x5e, offset 0x1ce + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x5f, offset 0x1d4 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x60, offset 0x1da + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x61, offset 0x1de + {value: 0x0006, lo: 0x0d}, + {value: 0x4393, lo: 0x9d, hi: 0x9d}, + {value: 0x8115, lo: 0x9e, hi: 0x9e}, + {value: 0x4405, lo: 0x9f, hi: 0x9f}, + {value: 0x43f3, lo: 0xaa, hi: 0xab}, + {value: 0x44f7, lo: 0xac, hi: 0xac}, + {value: 0x44ff, lo: 0xad, hi: 0xad}, + {value: 0x434b, lo: 0xae, hi: 0xb1}, + {value: 0x4369, lo: 0xb2, hi: 0xb4}, + {value: 0x4381, lo: 0xb5, hi: 0xb6}, + {value: 0x438d, lo: 0xb8, hi: 0xb8}, + {value: 0x4399, lo: 0xb9, hi: 0xbb}, + {value: 0x43b1, lo: 0xbc, hi: 0xbc}, + {value: 0x43b7, lo: 0xbe, hi: 0xbe}, + // Block 0x62, offset 0x1ec + {value: 0x0006, lo: 0x08}, + {value: 0x43bd, lo: 0x80, hi: 0x81}, + {value: 0x43c9, lo: 0x83, hi: 0x84}, + {value: 0x43db, lo: 0x86, hi: 0x89}, + {value: 0x43ff, lo: 0x8a, hi: 0x8a}, + {value: 0x437b, lo: 0x8b, hi: 0x8b}, + {value: 0x4363, lo: 0x8c, hi: 0x8c}, + {value: 0x43ab, lo: 0x8d, hi: 0x8d}, + {value: 0x43d5, lo: 0x8e, hi: 0x8e}, + // Block 0x63, offset 0x1f5 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x64, offset 0x1f8 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x65, offset 0x1fb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x66, offset 0x1fd + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x67, offset 0x200 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x68, offset 0x202 + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xa0, hi: 0xa6}, + {value: 0x812d, lo: 0xa7, hi: 0xad}, + {value: 0x8132, lo: 0xae, hi: 0xaf}, + // Block 0x69, offset 0x206 + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6a, offset 0x20b + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6b, offset 0x20d + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6c, offset 0x20f + {value: 0x0000, lo: 0x04}, + {value: 0x4aa2, lo: 0x9e, hi: 0x9f}, + {value: 0x4aa2, lo: 0xa3, hi: 0xa3}, + {value: 0x4aa2, lo: 0xa5, hi: 0xa6}, + {value: 0x4aa2, lo: 0xaa, hi: 0xaf}, + // Block 0x6d, offset 0x214 + {value: 0x0000, lo: 0x05}, + {value: 0x4aa2, lo: 0x82, hi: 0x87}, + {value: 0x4aa2, lo: 0x8a, hi: 0x8f}, + {value: 0x4aa2, lo: 0x92, hi: 0x97}, + {value: 0x4aa2, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x6e, offset 0x21a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6f, offset 0x21c + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x70, offset 0x21e + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x71, offset 0x220 + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x226 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x73, offset 0x229 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa4, hi: 0xa7}, + // Block 0x74, offset 0x22b + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x8132, lo: 0x88, hi: 0x8a}, + {value: 0x812d, lo: 0x8b, hi: 0x8b}, + {value: 0x8132, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x8d, hi: 0x90}, + // Block 0x75, offset 0x231 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x234 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x423b, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4245, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424f, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x77, offset 0x23c + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d81, lo: 0xae, hi: 0xae}, + {value: 0x2d8b, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x78, offset 0x243 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x79, offset 0x246 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x7a, offset 0x249 + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x7b, offset 0x24b + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x7c, offset 0x24e + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d95, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9f, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x7d, offset 0x256 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + {value: 0x8132, lo: 0x9e, hi: 0x9e}, + // Block 0x7e, offset 0x25a + {value: 0x6b57, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db3, lo: 0xbb, hi: 0xbb}, + {value: 0x2da9, lo: 0xbc, hi: 0xbd}, + {value: 0x2dbd, lo: 0xbe, hi: 0xbe}, + // Block 0x7f, offset 0x261 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x80, offset 0x264 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc7, lo: 0xba, hi: 0xba}, + {value: 0x2dd1, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x81, offset 0x26a + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x82, offset 0x26c + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x83, offset 0x26f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x84, offset 0x271 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb9, hi: 0xb9}, + {value: 0x8102, lo: 0xba, hi: 0xba}, + // Block 0x85, offset 0x274 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + // Block 0x86, offset 0x276 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x87, offset 0x278 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x88, offset 0x27a + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x89, offset 0x27c + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x8a, offset 0x27f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x97, hi: 0x97}, + // Block 0x8b, offset 0x281 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x8c, offset 0x283 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x8d, offset 0x285 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x8e, offset 0x287 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cf, lo: 0x9e, hi: 0x9e}, + {value: 0x45d9, lo: 0x9f, hi: 0x9f}, + {value: 0x460d, lo: 0xa0, hi: 0xa0}, + {value: 0x461b, lo: 0xa1, hi: 0xa1}, + {value: 0x4629, lo: 0xa2, hi: 0xa2}, + {value: 0x4637, lo: 0xa3, hi: 0xa3}, + {value: 0x4645, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8f, offset 0x294 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e3, lo: 0xbb, hi: 0xbb}, + {value: 0x45ed, lo: 0xbc, hi: 0xbc}, + {value: 0x4653, lo: 0xbd, hi: 0xbd}, + {value: 0x466f, lo: 0xbe, hi: 0xbe}, + {value: 0x4661, lo: 0xbf, hi: 0xbf}, + // Block 0x90, offset 0x29e + {value: 0x0000, lo: 0x01}, + {value: 0x467d, lo: 0x80, hi: 0x80}, + // Block 0x91, offset 0x2a0 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x92, offset 0x2a2 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x93, offset 0x2a8 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xac, hi: 0xaf}, + // Block 0x94, offset 0x2aa + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x95, offset 0x2ac + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x96, offset 0x2af + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 18684 bytes (18.25 KiB). Checksum: 113e23c477adfabd. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 92: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 92 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 94 blocks, 6016 entries, 12032 bytes +// The third block is the zero block. +var nfkcValues = [6016]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f72, 0xc1: 0x2f77, 0xc2: 0x468b, 0xc3: 0x2f7c, 0xc4: 0x469a, 0xc5: 0x469f, + 0xc6: 0xa000, 0xc7: 0x46a9, 0xc8: 0x2fe5, 0xc9: 0x2fea, 0xca: 0x46ae, 0xcb: 0x2ffe, + 0xcc: 0x3071, 0xcd: 0x3076, 0xce: 0x307b, 0xcf: 0x46c2, 0xd1: 0x3107, + 0xd2: 0x312a, 0xd3: 0x312f, 0xd4: 0x46cc, 0xd5: 0x46d1, 0xd6: 0x46e0, + 0xd8: 0xa000, 0xd9: 0x31b6, 0xda: 0x31bb, 0xdb: 0x31c0, 0xdc: 0x4712, 0xdd: 0x3238, + 0xe0: 0x327e, 0xe1: 0x3283, 0xe2: 0x471c, 0xe3: 0x3288, + 0xe4: 0x472b, 0xe5: 0x4730, 0xe6: 0xa000, 0xe7: 0x473a, 0xe8: 0x32f1, 0xe9: 0x32f6, + 0xea: 0x473f, 0xeb: 0x330a, 0xec: 0x3382, 0xed: 0x3387, 0xee: 0x338c, 0xef: 0x4753, + 0xf1: 0x3418, 0xf2: 0x343b, 0xf3: 0x3440, 0xf4: 0x475d, 0xf5: 0x4762, + 0xf6: 0x4771, 0xf8: 0xa000, 0xf9: 0x34cc, 0xfa: 0x34d1, 0xfb: 0x34d6, + 0xfc: 0x47a3, 0xfd: 0x3553, 0xff: 0x356c, + // Block 0x4, offset 0x100 + 0x100: 0x2f81, 0x101: 0x328d, 0x102: 0x4690, 0x103: 0x4721, 0x104: 0x2f9f, 0x105: 0x32ab, + 0x106: 0x2fb3, 0x107: 0x32bf, 0x108: 0x2fb8, 0x109: 0x32c4, 0x10a: 0x2fbd, 0x10b: 0x32c9, + 0x10c: 0x2fc2, 0x10d: 0x32ce, 0x10e: 0x2fcc, 0x10f: 0x32d8, + 0x112: 0x46b3, 0x113: 0x4744, 0x114: 0x2ff4, 0x115: 0x3300, 0x116: 0x2ff9, 0x117: 0x3305, + 0x118: 0x3017, 0x119: 0x3323, 0x11a: 0x3008, 0x11b: 0x3314, 0x11c: 0x3030, 0x11d: 0x333c, + 0x11e: 0x303a, 0x11f: 0x3346, 0x120: 0x303f, 0x121: 0x334b, 0x122: 0x3049, 0x123: 0x3355, + 0x124: 0x304e, 0x125: 0x335a, 0x128: 0x3080, 0x129: 0x3391, + 0x12a: 0x3085, 0x12b: 0x3396, 0x12c: 0x308a, 0x12d: 0x339b, 0x12e: 0x30ad, 0x12f: 0x33b9, + 0x130: 0x308f, 0x132: 0x195d, 0x133: 0x19ea, 0x134: 0x30b7, 0x135: 0x33c3, + 0x136: 0x30cb, 0x137: 0x33dc, 0x139: 0x30d5, 0x13a: 0x33e6, 0x13b: 0x30df, + 0x13c: 0x33f0, 0x13d: 0x30da, 0x13e: 0x33eb, 0x13f: 0x1baf, + // Block 0x5, offset 0x140 + 0x140: 0x1c37, 0x143: 0x3102, 0x144: 0x3413, 0x145: 0x311b, + 0x146: 0x342c, 0x147: 0x3111, 0x148: 0x3422, 0x149: 0x1c5f, + 0x14c: 0x46d6, 0x14d: 0x4767, 0x14e: 0x3134, 0x14f: 0x3445, 0x150: 0x313e, 0x151: 0x344f, + 0x154: 0x315c, 0x155: 0x346d, 0x156: 0x3175, 0x157: 0x3486, + 0x158: 0x3166, 0x159: 0x3477, 0x15a: 0x46f9, 0x15b: 0x478a, 0x15c: 0x317f, 0x15d: 0x3490, + 0x15e: 0x318e, 0x15f: 0x349f, 0x160: 0x46fe, 0x161: 0x478f, 0x162: 0x31a7, 0x163: 0x34bd, + 0x164: 0x3198, 0x165: 0x34ae, 0x168: 0x4708, 0x169: 0x4799, + 0x16a: 0x470d, 0x16b: 0x479e, 0x16c: 0x31c5, 0x16d: 0x34db, 0x16e: 0x31cf, 0x16f: 0x34e5, + 0x170: 0x31d4, 0x171: 0x34ea, 0x172: 0x31f2, 0x173: 0x3508, 0x174: 0x3215, 0x175: 0x352b, + 0x176: 0x323d, 0x177: 0x3558, 0x178: 0x3251, 0x179: 0x3260, 0x17a: 0x3580, 0x17b: 0x326a, + 0x17c: 0x358a, 0x17d: 0x326f, 0x17e: 0x358f, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2df1, 0x185: 0x2df7, + 0x186: 0x2dfd, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a0b, 0x18a: 0x198a, 0x18b: 0x198d, + 0x18c: 0x1a41, 0x18d: 0x2f8b, 0x18e: 0x3297, 0x18f: 0x3099, 0x190: 0x33a5, 0x191: 0x3143, + 0x192: 0x3454, 0x193: 0x31d9, 0x194: 0x34ef, 0x195: 0x39d2, 0x196: 0x3b61, 0x197: 0x39cb, + 0x198: 0x3b5a, 0x199: 0x39d9, 0x19a: 0x3b68, 0x19b: 0x39c4, 0x19c: 0x3b53, + 0x19e: 0x38b3, 0x19f: 0x3a42, 0x1a0: 0x38ac, 0x1a1: 0x3a3b, 0x1a2: 0x35b6, 0x1a3: 0x35c8, + 0x1a6: 0x3044, 0x1a7: 0x3350, 0x1a8: 0x30c1, 0x1a9: 0x33d2, + 0x1aa: 0x46ef, 0x1ab: 0x4780, 0x1ac: 0x3993, 0x1ad: 0x3b22, 0x1ae: 0x35da, 0x1af: 0x35e0, + 0x1b0: 0x33c8, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19d2, 0x1b4: 0x302b, 0x1b5: 0x3337, + 0x1b8: 0x30fd, 0x1b9: 0x340e, 0x1ba: 0x38ba, 0x1bb: 0x3a49, + 0x1bc: 0x35b0, 0x1bd: 0x35c2, 0x1be: 0x35bc, 0x1bf: 0x35ce, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f90, 0x1c1: 0x329c, 0x1c2: 0x2f95, 0x1c3: 0x32a1, 0x1c4: 0x300d, 0x1c5: 0x3319, + 0x1c6: 0x3012, 0x1c7: 0x331e, 0x1c8: 0x309e, 0x1c9: 0x33aa, 0x1ca: 0x30a3, 0x1cb: 0x33af, + 0x1cc: 0x3148, 0x1cd: 0x3459, 0x1ce: 0x314d, 0x1cf: 0x345e, 0x1d0: 0x316b, 0x1d1: 0x347c, + 0x1d2: 0x3170, 0x1d3: 0x3481, 0x1d4: 0x31de, 0x1d5: 0x34f4, 0x1d6: 0x31e3, 0x1d7: 0x34f9, + 0x1d8: 0x3189, 0x1d9: 0x349a, 0x1da: 0x31a2, 0x1db: 0x34b8, + 0x1de: 0x305d, 0x1df: 0x3369, + 0x1e6: 0x4695, 0x1e7: 0x4726, 0x1e8: 0x46bd, 0x1e9: 0x474e, + 0x1ea: 0x3962, 0x1eb: 0x3af1, 0x1ec: 0x393f, 0x1ed: 0x3ace, 0x1ee: 0x46db, 0x1ef: 0x476c, + 0x1f0: 0x395b, 0x1f1: 0x3aea, 0x1f2: 0x3247, 0x1f3: 0x3562, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49b1, 0x241: 0x49b6, 0x242: 0x9932, 0x243: 0x49bb, 0x244: 0x4a74, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x42a8, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x425d, 0x285: 0x447e, + 0x286: 0x35ec, 0x287: 0x00ce, 0x288: 0x360a, 0x289: 0x3616, 0x28a: 0x3628, + 0x28c: 0x3646, 0x28e: 0x3658, 0x28f: 0x3676, 0x290: 0x3e0b, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x363a, 0x2ab: 0x366a, 0x2ac: 0x4801, 0x2ad: 0x369a, 0x2ae: 0x482b, 0x2af: 0x36ac, + 0x2b0: 0x3e73, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4843, 0x2cb: 0x4861, + 0x2cc: 0x36ca, 0x2cd: 0x36e2, 0x2ce: 0x4879, 0x2d0: 0x01be, 0x2d1: 0x01d0, + 0x2d2: 0x01ac, 0x2d3: 0x430f, 0x2d4: 0x4315, 0x2d5: 0x01fa, 0x2d6: 0x01e8, + 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, + 0x2f9: 0x01a6, + // Block 0xc, offset 0x300 + 0x300: 0x3724, 0x301: 0x3730, 0x303: 0x371e, + 0x306: 0xa000, 0x307: 0x370c, + 0x30c: 0x3760, 0x30d: 0x3748, 0x30e: 0x3772, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3754, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d8, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x3736, 0x342: 0x37ba, + 0x350: 0x3712, 0x351: 0x3796, + 0x352: 0x3718, 0x353: 0x379c, 0x356: 0x372a, 0x357: 0x37ae, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x382c, 0x35b: 0x3832, 0x35c: 0x373c, 0x35d: 0x37c0, + 0x35e: 0x3742, 0x35f: 0x37c6, 0x362: 0x374e, 0x363: 0x37d2, + 0x364: 0x375a, 0x365: 0x37de, 0x366: 0x3766, 0x367: 0x37ea, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x3838, 0x36b: 0x383e, 0x36c: 0x3790, 0x36d: 0x3814, 0x36e: 0x376c, 0x36f: 0x37f0, + 0x370: 0x3778, 0x371: 0x37fc, 0x372: 0x377e, 0x373: 0x3802, 0x374: 0x3784, 0x375: 0x3808, + 0x378: 0x378a, 0x379: 0x380e, + // Block 0xe, offset 0x380 + 0x387: 0x1d64, + 0x391: 0x812d, + 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, + 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, + 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, + 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, + 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, + 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, + 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, + 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x812d, + 0x3f0: 0x811e, 0x3f5: 0x1d87, + 0x3f6: 0x2016, 0x3f7: 0x2052, 0x3f8: 0x204d, + // Block 0x10, offset 0x400 + 0x413: 0x812d, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, + 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, + 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x423: 0x812d, + 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x812d, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x812d, + 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x812d, 0x42e: 0x812d, 0x42f: 0x812d, + 0x430: 0x8116, 0x431: 0x8117, 0x432: 0x8118, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, + 0x436: 0x812d, 0x437: 0x8132, 0x438: 0x8132, 0x439: 0x812d, 0x43a: 0x812d, 0x43b: 0x8132, + 0x43c: 0x8132, 0x43d: 0x8132, 0x43e: 0x8132, 0x43f: 0x8132, + // Block 0x11, offset 0x440 + 0x445: 0xa000, + 0x446: 0x2d29, 0x447: 0xa000, 0x448: 0x2d31, 0x449: 0xa000, 0x44a: 0x2d39, 0x44b: 0xa000, + 0x44c: 0x2d41, 0x44d: 0xa000, 0x44e: 0x2d49, 0x451: 0xa000, + 0x452: 0x2d51, + 0x474: 0x8102, 0x475: 0x9900, + 0x47a: 0xa000, 0x47b: 0x2d59, + 0x47c: 0xa000, 0x47d: 0x2d61, 0x47e: 0xa000, 0x47f: 0xa000, + // Block 0x12, offset 0x480 + 0x480: 0x0069, 0x481: 0x006b, 0x482: 0x006f, 0x483: 0x0083, 0x484: 0x00f5, 0x485: 0x00f8, + 0x486: 0x0413, 0x487: 0x0085, 0x488: 0x0089, 0x489: 0x008b, 0x48a: 0x0104, 0x48b: 0x0107, + 0x48c: 0x010a, 0x48d: 0x008f, 0x48f: 0x0097, 0x490: 0x009b, 0x491: 0x00e0, + 0x492: 0x009f, 0x493: 0x00fe, 0x494: 0x0417, 0x495: 0x041b, 0x496: 0x00a1, 0x497: 0x00a9, + 0x498: 0x00ab, 0x499: 0x0423, 0x49a: 0x012b, 0x49b: 0x00ad, 0x49c: 0x0427, 0x49d: 0x01be, + 0x49e: 0x01c1, 0x49f: 0x01c4, 0x4a0: 0x01fa, 0x4a1: 0x01fd, 0x4a2: 0x0093, 0x4a3: 0x00a5, + 0x4a4: 0x00ab, 0x4a5: 0x00ad, 0x4a6: 0x01be, 0x4a7: 0x01c1, 0x4a8: 0x01eb, 0x4a9: 0x01fa, + 0x4aa: 0x01fd, + 0x4b8: 0x020c, + // Block 0x13, offset 0x4c0 + 0x4db: 0x00fb, 0x4dc: 0x0087, 0x4dd: 0x0101, + 0x4de: 0x00d4, 0x4df: 0x010a, 0x4e0: 0x008d, 0x4e1: 0x010d, 0x4e2: 0x0110, 0x4e3: 0x0116, + 0x4e4: 0x011c, 0x4e5: 0x011f, 0x4e6: 0x0122, 0x4e7: 0x042b, 0x4e8: 0x016a, 0x4e9: 0x0128, + 0x4ea: 0x042f, 0x4eb: 0x016d, 0x4ec: 0x0131, 0x4ed: 0x012e, 0x4ee: 0x0134, 0x4ef: 0x0137, + 0x4f0: 0x013a, 0x4f1: 0x013d, 0x4f2: 0x0140, 0x4f3: 0x014c, 0x4f4: 0x014f, 0x4f5: 0x00ec, + 0x4f6: 0x0152, 0x4f7: 0x0155, 0x4f8: 0x041f, 0x4f9: 0x0158, 0x4fa: 0x015b, 0x4fb: 0x00b5, + 0x4fc: 0x015e, 0x4fd: 0x0161, 0x4fe: 0x0164, 0x4ff: 0x01d0, + // Block 0x14, offset 0x500 + 0x500: 0x8132, 0x501: 0x8132, 0x502: 0x812d, 0x503: 0x8132, 0x504: 0x8132, 0x505: 0x8132, + 0x506: 0x8132, 0x507: 0x8132, 0x508: 0x8132, 0x509: 0x8132, 0x50a: 0x812d, 0x50b: 0x8132, + 0x50c: 0x8132, 0x50d: 0x8135, 0x50e: 0x812a, 0x50f: 0x812d, 0x510: 0x8129, 0x511: 0x8132, + 0x512: 0x8132, 0x513: 0x8132, 0x514: 0x8132, 0x515: 0x8132, 0x516: 0x8132, 0x517: 0x8132, + 0x518: 0x8132, 0x519: 0x8132, 0x51a: 0x8132, 0x51b: 0x8132, 0x51c: 0x8132, 0x51d: 0x8132, + 0x51e: 0x8132, 0x51f: 0x8132, 0x520: 0x8132, 0x521: 0x8132, 0x522: 0x8132, 0x523: 0x8132, + 0x524: 0x8132, 0x525: 0x8132, 0x526: 0x8132, 0x527: 0x8132, 0x528: 0x8132, 0x529: 0x8132, + 0x52a: 0x8132, 0x52b: 0x8132, 0x52c: 0x8132, 0x52d: 0x8132, 0x52e: 0x8132, 0x52f: 0x8132, + 0x530: 0x8132, 0x531: 0x8132, 0x532: 0x8132, 0x533: 0x8132, 0x534: 0x8132, 0x535: 0x8132, + 0x536: 0x8133, 0x537: 0x8131, 0x538: 0x8131, 0x539: 0x812d, 0x53b: 0x8132, + 0x53c: 0x8134, 0x53d: 0x812d, 0x53e: 0x8132, 0x53f: 0x812d, + // Block 0x15, offset 0x540 + 0x540: 0x2f9a, 0x541: 0x32a6, 0x542: 0x2fa4, 0x543: 0x32b0, 0x544: 0x2fa9, 0x545: 0x32b5, + 0x546: 0x2fae, 0x547: 0x32ba, 0x548: 0x38cf, 0x549: 0x3a5e, 0x54a: 0x2fc7, 0x54b: 0x32d3, + 0x54c: 0x2fd1, 0x54d: 0x32dd, 0x54e: 0x2fe0, 0x54f: 0x32ec, 0x550: 0x2fd6, 0x551: 0x32e2, + 0x552: 0x2fdb, 0x553: 0x32e7, 0x554: 0x38f2, 0x555: 0x3a81, 0x556: 0x38f9, 0x557: 0x3a88, + 0x558: 0x301c, 0x559: 0x3328, 0x55a: 0x3021, 0x55b: 0x332d, 0x55c: 0x3907, 0x55d: 0x3a96, + 0x55e: 0x3026, 0x55f: 0x3332, 0x560: 0x3035, 0x561: 0x3341, 0x562: 0x3053, 0x563: 0x335f, + 0x564: 0x3062, 0x565: 0x336e, 0x566: 0x3058, 0x567: 0x3364, 0x568: 0x3067, 0x569: 0x3373, + 0x56a: 0x306c, 0x56b: 0x3378, 0x56c: 0x30b2, 0x56d: 0x33be, 0x56e: 0x390e, 0x56f: 0x3a9d, + 0x570: 0x30bc, 0x571: 0x33cd, 0x572: 0x30c6, 0x573: 0x33d7, 0x574: 0x30d0, 0x575: 0x33e1, + 0x576: 0x46c7, 0x577: 0x4758, 0x578: 0x3915, 0x579: 0x3aa4, 0x57a: 0x30e9, 0x57b: 0x33fa, + 0x57c: 0x30e4, 0x57d: 0x33f5, 0x57e: 0x30ee, 0x57f: 0x33ff, + // Block 0x16, offset 0x580 + 0x580: 0x30f3, 0x581: 0x3404, 0x582: 0x30f8, 0x583: 0x3409, 0x584: 0x310c, 0x585: 0x341d, + 0x586: 0x3116, 0x587: 0x3427, 0x588: 0x3125, 0x589: 0x3436, 0x58a: 0x3120, 0x58b: 0x3431, + 0x58c: 0x3938, 0x58d: 0x3ac7, 0x58e: 0x3946, 0x58f: 0x3ad5, 0x590: 0x394d, 0x591: 0x3adc, + 0x592: 0x3954, 0x593: 0x3ae3, 0x594: 0x3152, 0x595: 0x3463, 0x596: 0x3157, 0x597: 0x3468, + 0x598: 0x3161, 0x599: 0x3472, 0x59a: 0x46f4, 0x59b: 0x4785, 0x59c: 0x399a, 0x59d: 0x3b29, + 0x59e: 0x317a, 0x59f: 0x348b, 0x5a0: 0x3184, 0x5a1: 0x3495, 0x5a2: 0x4703, 0x5a3: 0x4794, + 0x5a4: 0x39a1, 0x5a5: 0x3b30, 0x5a6: 0x39a8, 0x5a7: 0x3b37, 0x5a8: 0x39af, 0x5a9: 0x3b3e, + 0x5aa: 0x3193, 0x5ab: 0x34a4, 0x5ac: 0x319d, 0x5ad: 0x34b3, 0x5ae: 0x31b1, 0x5af: 0x34c7, + 0x5b0: 0x31ac, 0x5b1: 0x34c2, 0x5b2: 0x31ed, 0x5b3: 0x3503, 0x5b4: 0x31fc, 0x5b5: 0x3512, + 0x5b6: 0x31f7, 0x5b7: 0x350d, 0x5b8: 0x39b6, 0x5b9: 0x3b45, 0x5ba: 0x39bd, 0x5bb: 0x3b4c, + 0x5bc: 0x3201, 0x5bd: 0x3517, 0x5be: 0x3206, 0x5bf: 0x351c, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x320b, 0x5c1: 0x3521, 0x5c2: 0x3210, 0x5c3: 0x3526, 0x5c4: 0x321f, 0x5c5: 0x3535, + 0x5c6: 0x321a, 0x5c7: 0x3530, 0x5c8: 0x3224, 0x5c9: 0x353f, 0x5ca: 0x3229, 0x5cb: 0x3544, + 0x5cc: 0x322e, 0x5cd: 0x3549, 0x5ce: 0x324c, 0x5cf: 0x3567, 0x5d0: 0x3265, 0x5d1: 0x3585, + 0x5d2: 0x3274, 0x5d3: 0x3594, 0x5d4: 0x3279, 0x5d5: 0x3599, 0x5d6: 0x337d, 0x5d7: 0x34a9, + 0x5d8: 0x353a, 0x5d9: 0x3576, 0x5da: 0x1be3, 0x5db: 0x42da, + 0x5e0: 0x46a4, 0x5e1: 0x4735, 0x5e2: 0x2f86, 0x5e3: 0x3292, + 0x5e4: 0x387b, 0x5e5: 0x3a0a, 0x5e6: 0x3874, 0x5e7: 0x3a03, 0x5e8: 0x3889, 0x5e9: 0x3a18, + 0x5ea: 0x3882, 0x5eb: 0x3a11, 0x5ec: 0x38c1, 0x5ed: 0x3a50, 0x5ee: 0x3897, 0x5ef: 0x3a26, + 0x5f0: 0x3890, 0x5f1: 0x3a1f, 0x5f2: 0x38a5, 0x5f3: 0x3a34, 0x5f4: 0x389e, 0x5f5: 0x3a2d, + 0x5f6: 0x38c8, 0x5f7: 0x3a57, 0x5f8: 0x46b8, 0x5f9: 0x4749, 0x5fa: 0x3003, 0x5fb: 0x330f, + 0x5fc: 0x2fef, 0x5fd: 0x32fb, 0x5fe: 0x38dd, 0x5ff: 0x3a6c, + // Block 0x18, offset 0x600 + 0x600: 0x38d6, 0x601: 0x3a65, 0x602: 0x38eb, 0x603: 0x3a7a, 0x604: 0x38e4, 0x605: 0x3a73, + 0x606: 0x3900, 0x607: 0x3a8f, 0x608: 0x3094, 0x609: 0x33a0, 0x60a: 0x30a8, 0x60b: 0x33b4, + 0x60c: 0x46ea, 0x60d: 0x477b, 0x60e: 0x3139, 0x60f: 0x344a, 0x610: 0x3923, 0x611: 0x3ab2, + 0x612: 0x391c, 0x613: 0x3aab, 0x614: 0x3931, 0x615: 0x3ac0, 0x616: 0x392a, 0x617: 0x3ab9, + 0x618: 0x398c, 0x619: 0x3b1b, 0x61a: 0x3970, 0x61b: 0x3aff, 0x61c: 0x3969, 0x61d: 0x3af8, + 0x61e: 0x397e, 0x61f: 0x3b0d, 0x620: 0x3977, 0x621: 0x3b06, 0x622: 0x3985, 0x623: 0x3b14, + 0x624: 0x31e8, 0x625: 0x34fe, 0x626: 0x31ca, 0x627: 0x34e0, 0x628: 0x39e7, 0x629: 0x3b76, + 0x62a: 0x39e0, 0x62b: 0x3b6f, 0x62c: 0x39f5, 0x62d: 0x3b84, 0x62e: 0x39ee, 0x62f: 0x3b7d, + 0x630: 0x39fc, 0x631: 0x3b8b, 0x632: 0x3233, 0x633: 0x354e, 0x634: 0x325b, 0x635: 0x357b, + 0x636: 0x3256, 0x637: 0x3571, 0x638: 0x3242, 0x639: 0x355d, + // Block 0x19, offset 0x640 + 0x640: 0x4807, 0x641: 0x480d, 0x642: 0x4921, 0x643: 0x4939, 0x644: 0x4929, 0x645: 0x4941, + 0x646: 0x4931, 0x647: 0x4949, 0x648: 0x47ad, 0x649: 0x47b3, 0x64a: 0x4891, 0x64b: 0x48a9, + 0x64c: 0x4899, 0x64d: 0x48b1, 0x64e: 0x48a1, 0x64f: 0x48b9, 0x650: 0x4819, 0x651: 0x481f, + 0x652: 0x3dbb, 0x653: 0x3dcb, 0x654: 0x3dc3, 0x655: 0x3dd3, + 0x658: 0x47b9, 0x659: 0x47bf, 0x65a: 0x3ceb, 0x65b: 0x3cfb, 0x65c: 0x3cf3, 0x65d: 0x3d03, + 0x660: 0x4831, 0x661: 0x4837, 0x662: 0x4951, 0x663: 0x4969, + 0x664: 0x4959, 0x665: 0x4971, 0x666: 0x4961, 0x667: 0x4979, 0x668: 0x47c5, 0x669: 0x47cb, + 0x66a: 0x48c1, 0x66b: 0x48d9, 0x66c: 0x48c9, 0x66d: 0x48e1, 0x66e: 0x48d1, 0x66f: 0x48e9, + 0x670: 0x4849, 0x671: 0x484f, 0x672: 0x3e1b, 0x673: 0x3e33, 0x674: 0x3e23, 0x675: 0x3e3b, + 0x676: 0x3e2b, 0x677: 0x3e43, 0x678: 0x47d1, 0x679: 0x47d7, 0x67a: 0x3d1b, 0x67b: 0x3d33, + 0x67c: 0x3d23, 0x67d: 0x3d3b, 0x67e: 0x3d2b, 0x67f: 0x3d43, + // Block 0x1a, offset 0x680 + 0x680: 0x4855, 0x681: 0x485b, 0x682: 0x3e4b, 0x683: 0x3e5b, 0x684: 0x3e53, 0x685: 0x3e63, + 0x688: 0x47dd, 0x689: 0x47e3, 0x68a: 0x3d4b, 0x68b: 0x3d5b, + 0x68c: 0x3d53, 0x68d: 0x3d63, 0x690: 0x4867, 0x691: 0x486d, + 0x692: 0x3e83, 0x693: 0x3e9b, 0x694: 0x3e8b, 0x695: 0x3ea3, 0x696: 0x3e93, 0x697: 0x3eab, + 0x699: 0x47e9, 0x69b: 0x3d6b, 0x69d: 0x3d73, + 0x69f: 0x3d7b, 0x6a0: 0x487f, 0x6a1: 0x4885, 0x6a2: 0x4981, 0x6a3: 0x4999, + 0x6a4: 0x4989, 0x6a5: 0x49a1, 0x6a6: 0x4991, 0x6a7: 0x49a9, 0x6a8: 0x47ef, 0x6a9: 0x47f5, + 0x6aa: 0x48f1, 0x6ab: 0x4909, 0x6ac: 0x48f9, 0x6ad: 0x4911, 0x6ae: 0x4901, 0x6af: 0x4919, + 0x6b0: 0x47fb, 0x6b1: 0x4321, 0x6b2: 0x3694, 0x6b3: 0x4327, 0x6b4: 0x4825, 0x6b5: 0x432d, + 0x6b6: 0x36a6, 0x6b7: 0x4333, 0x6b8: 0x36c4, 0x6b9: 0x4339, 0x6ba: 0x36dc, 0x6bb: 0x433f, + 0x6bc: 0x4873, 0x6bd: 0x4345, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3da3, 0x6c1: 0x3dab, 0x6c2: 0x4187, 0x6c3: 0x41a5, 0x6c4: 0x4191, 0x6c5: 0x41af, + 0x6c6: 0x419b, 0x6c7: 0x41b9, 0x6c8: 0x3cdb, 0x6c9: 0x3ce3, 0x6ca: 0x40d3, 0x6cb: 0x40f1, + 0x6cc: 0x40dd, 0x6cd: 0x40fb, 0x6ce: 0x40e7, 0x6cf: 0x4105, 0x6d0: 0x3deb, 0x6d1: 0x3df3, + 0x6d2: 0x41c3, 0x6d3: 0x41e1, 0x6d4: 0x41cd, 0x6d5: 0x41eb, 0x6d6: 0x41d7, 0x6d7: 0x41f5, + 0x6d8: 0x3d0b, 0x6d9: 0x3d13, 0x6da: 0x410f, 0x6db: 0x412d, 0x6dc: 0x4119, 0x6dd: 0x4137, + 0x6de: 0x4123, 0x6df: 0x4141, 0x6e0: 0x3ec3, 0x6e1: 0x3ecb, 0x6e2: 0x41ff, 0x6e3: 0x421d, + 0x6e4: 0x4209, 0x6e5: 0x4227, 0x6e6: 0x4213, 0x6e7: 0x4231, 0x6e8: 0x3d83, 0x6e9: 0x3d8b, + 0x6ea: 0x414b, 0x6eb: 0x4169, 0x6ec: 0x4155, 0x6ed: 0x4173, 0x6ee: 0x415f, 0x6ef: 0x417d, + 0x6f0: 0x3688, 0x6f1: 0x3682, 0x6f2: 0x3d93, 0x6f3: 0x368e, 0x6f4: 0x3d9b, + 0x6f6: 0x4813, 0x6f7: 0x3db3, 0x6f8: 0x35f8, 0x6f9: 0x35f2, 0x6fa: 0x35e6, 0x6fb: 0x42f1, + 0x6fc: 0x35fe, 0x6fd: 0x428a, 0x6fe: 0x01d3, 0x6ff: 0x428a, + // Block 0x1c, offset 0x700 + 0x700: 0x42a3, 0x701: 0x4485, 0x702: 0x3ddb, 0x703: 0x36a0, 0x704: 0x3de3, + 0x706: 0x483d, 0x707: 0x3dfb, 0x708: 0x3604, 0x709: 0x42f7, 0x70a: 0x3610, 0x70b: 0x42fd, + 0x70c: 0x361c, 0x70d: 0x448c, 0x70e: 0x4493, 0x70f: 0x449a, 0x710: 0x36b8, 0x711: 0x36b2, + 0x712: 0x3e03, 0x713: 0x44e7, 0x716: 0x36be, 0x717: 0x3e13, + 0x718: 0x3634, 0x719: 0x362e, 0x71a: 0x3622, 0x71b: 0x4303, 0x71d: 0x44a1, + 0x71e: 0x44a8, 0x71f: 0x44af, 0x720: 0x36ee, 0x721: 0x36e8, 0x722: 0x3e6b, 0x723: 0x44ef, + 0x724: 0x36d0, 0x725: 0x36d6, 0x726: 0x36f4, 0x727: 0x3e7b, 0x728: 0x3664, 0x729: 0x365e, + 0x72a: 0x3652, 0x72b: 0x430f, 0x72c: 0x364c, 0x72d: 0x4477, 0x72e: 0x447e, 0x72f: 0x0081, + 0x732: 0x3eb3, 0x733: 0x36fa, 0x734: 0x3ebb, + 0x736: 0x488b, 0x737: 0x3ed3, 0x738: 0x3640, 0x739: 0x4309, 0x73a: 0x3670, 0x73b: 0x431b, + 0x73c: 0x367c, 0x73d: 0x425d, 0x73e: 0x428f, + // Block 0x1d, offset 0x740 + 0x740: 0x1bdb, 0x741: 0x1bdf, 0x742: 0x0047, 0x743: 0x1c57, 0x745: 0x1beb, + 0x746: 0x1bef, 0x747: 0x00e9, 0x749: 0x1c5b, 0x74a: 0x008f, 0x74b: 0x0051, + 0x74c: 0x0051, 0x74d: 0x0051, 0x74e: 0x0091, 0x74f: 0x00da, 0x750: 0x0053, 0x751: 0x0053, + 0x752: 0x0059, 0x753: 0x0099, 0x755: 0x005d, 0x756: 0x1990, + 0x759: 0x0061, 0x75a: 0x0063, 0x75b: 0x0065, 0x75c: 0x0065, 0x75d: 0x0065, + 0x760: 0x19a2, 0x761: 0x1bcb, 0x762: 0x19ab, + 0x764: 0x0075, 0x766: 0x01b8, 0x768: 0x0075, + 0x76a: 0x0057, 0x76b: 0x42d5, 0x76c: 0x0045, 0x76d: 0x0047, 0x76f: 0x008b, + 0x770: 0x004b, 0x771: 0x004d, 0x773: 0x005b, 0x774: 0x009f, 0x775: 0x0215, + 0x776: 0x0218, 0x777: 0x021b, 0x778: 0x021e, 0x779: 0x0093, 0x77b: 0x1b9b, + 0x77c: 0x01e8, 0x77d: 0x01c1, 0x77e: 0x0179, 0x77f: 0x01a0, + // Block 0x1e, offset 0x780 + 0x780: 0x0463, 0x785: 0x0049, + 0x786: 0x0089, 0x787: 0x008b, 0x788: 0x0093, 0x789: 0x0095, + 0x790: 0x2231, 0x791: 0x223d, + 0x792: 0x22f1, 0x793: 0x2219, 0x794: 0x229d, 0x795: 0x2225, 0x796: 0x22a3, 0x797: 0x22bb, + 0x798: 0x22c7, 0x799: 0x222b, 0x79a: 0x22cd, 0x79b: 0x2237, 0x79c: 0x22c1, 0x79d: 0x22d3, + 0x79e: 0x22d9, 0x79f: 0x1cbf, 0x7a0: 0x0053, 0x7a1: 0x195a, 0x7a2: 0x1ba7, 0x7a3: 0x1963, + 0x7a4: 0x006d, 0x7a5: 0x19ae, 0x7a6: 0x1bd3, 0x7a7: 0x1d4b, 0x7a8: 0x1966, 0x7a9: 0x0071, + 0x7aa: 0x19ba, 0x7ab: 0x1bd7, 0x7ac: 0x0059, 0x7ad: 0x0047, 0x7ae: 0x0049, 0x7af: 0x005b, + 0x7b0: 0x0093, 0x7b1: 0x19e7, 0x7b2: 0x1c1b, 0x7b3: 0x19f0, 0x7b4: 0x00ad, 0x7b5: 0x1a65, + 0x7b6: 0x1c4f, 0x7b7: 0x1d5f, 0x7b8: 0x19f3, 0x7b9: 0x00b1, 0x7ba: 0x1a68, 0x7bb: 0x1c53, + 0x7bc: 0x0099, 0x7bd: 0x0087, 0x7be: 0x0089, 0x7bf: 0x009b, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x3c09, 0x7c3: 0xa000, 0x7c4: 0x3c10, 0x7c5: 0xa000, + 0x7c7: 0x3c17, 0x7c8: 0xa000, 0x7c9: 0x3c1e, + 0x7cd: 0xa000, + 0x7e0: 0x2f68, 0x7e1: 0xa000, 0x7e2: 0x3c2c, + 0x7e4: 0xa000, 0x7e5: 0xa000, + 0x7ed: 0x3c25, 0x7ee: 0x2f63, 0x7ef: 0x2f6d, + 0x7f0: 0x3c33, 0x7f1: 0x3c3a, 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0x3c41, 0x7f5: 0x3c48, + 0x7f6: 0xa000, 0x7f7: 0xa000, 0x7f8: 0x3c4f, 0x7f9: 0x3c56, 0x7fa: 0xa000, 0x7fb: 0xa000, + 0x7fc: 0xa000, 0x7fd: 0xa000, + // Block 0x20, offset 0x800 + 0x800: 0x3c5d, 0x801: 0x3c64, 0x802: 0xa000, 0x803: 0xa000, 0x804: 0x3c79, 0x805: 0x3c80, + 0x806: 0xa000, 0x807: 0xa000, 0x808: 0x3c87, 0x809: 0x3c8e, + 0x811: 0xa000, + 0x812: 0xa000, + 0x822: 0xa000, + 0x828: 0xa000, 0x829: 0xa000, + 0x82b: 0xa000, 0x82c: 0x3ca3, 0x82d: 0x3caa, 0x82e: 0x3cb1, 0x82f: 0x3cb8, + 0x832: 0xa000, 0x833: 0xa000, 0x834: 0xa000, 0x835: 0xa000, + // Block 0x21, offset 0x840 + 0x860: 0x0023, 0x861: 0x0025, 0x862: 0x0027, 0x863: 0x0029, + 0x864: 0x002b, 0x865: 0x002d, 0x866: 0x002f, 0x867: 0x0031, 0x868: 0x0033, 0x869: 0x1882, + 0x86a: 0x1885, 0x86b: 0x1888, 0x86c: 0x188b, 0x86d: 0x188e, 0x86e: 0x1891, 0x86f: 0x1894, + 0x870: 0x1897, 0x871: 0x189a, 0x872: 0x189d, 0x873: 0x18a6, 0x874: 0x1a6b, 0x875: 0x1a6f, + 0x876: 0x1a73, 0x877: 0x1a77, 0x878: 0x1a7b, 0x879: 0x1a7f, 0x87a: 0x1a83, 0x87b: 0x1a87, + 0x87c: 0x1a8b, 0x87d: 0x1c83, 0x87e: 0x1c88, 0x87f: 0x1c8d, + // Block 0x22, offset 0x880 + 0x880: 0x1c92, 0x881: 0x1c97, 0x882: 0x1c9c, 0x883: 0x1ca1, 0x884: 0x1ca6, 0x885: 0x1cab, + 0x886: 0x1cb0, 0x887: 0x1cb5, 0x888: 0x187f, 0x889: 0x18a3, 0x88a: 0x18c7, 0x88b: 0x18eb, + 0x88c: 0x190f, 0x88d: 0x1918, 0x88e: 0x191e, 0x88f: 0x1924, 0x890: 0x192a, 0x891: 0x1b63, + 0x892: 0x1b67, 0x893: 0x1b6b, 0x894: 0x1b6f, 0x895: 0x1b73, 0x896: 0x1b77, 0x897: 0x1b7b, + 0x898: 0x1b7f, 0x899: 0x1b83, 0x89a: 0x1b87, 0x89b: 0x1b8b, 0x89c: 0x1af7, 0x89d: 0x1afb, + 0x89e: 0x1aff, 0x89f: 0x1b03, 0x8a0: 0x1b07, 0x8a1: 0x1b0b, 0x8a2: 0x1b0f, 0x8a3: 0x1b13, + 0x8a4: 0x1b17, 0x8a5: 0x1b1b, 0x8a6: 0x1b1f, 0x8a7: 0x1b23, 0x8a8: 0x1b27, 0x8a9: 0x1b2b, + 0x8aa: 0x1b2f, 0x8ab: 0x1b33, 0x8ac: 0x1b37, 0x8ad: 0x1b3b, 0x8ae: 0x1b3f, 0x8af: 0x1b43, + 0x8b0: 0x1b47, 0x8b1: 0x1b4b, 0x8b2: 0x1b4f, 0x8b3: 0x1b53, 0x8b4: 0x1b57, 0x8b5: 0x1b5b, + 0x8b6: 0x0043, 0x8b7: 0x0045, 0x8b8: 0x0047, 0x8b9: 0x0049, 0x8ba: 0x004b, 0x8bb: 0x004d, + 0x8bc: 0x004f, 0x8bd: 0x0051, 0x8be: 0x0053, 0x8bf: 0x0055, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x06bf, 0x8c1: 0x06e3, 0x8c2: 0x06ef, 0x8c3: 0x06ff, 0x8c4: 0x0707, 0x8c5: 0x0713, + 0x8c6: 0x071b, 0x8c7: 0x0723, 0x8c8: 0x072f, 0x8c9: 0x0783, 0x8ca: 0x079b, 0x8cb: 0x07ab, + 0x8cc: 0x07bb, 0x8cd: 0x07cb, 0x8ce: 0x07db, 0x8cf: 0x07fb, 0x8d0: 0x07ff, 0x8d1: 0x0803, + 0x8d2: 0x0837, 0x8d3: 0x085f, 0x8d4: 0x086f, 0x8d5: 0x0877, 0x8d6: 0x087b, 0x8d7: 0x0887, + 0x8d8: 0x08a3, 0x8d9: 0x08a7, 0x8da: 0x08bf, 0x8db: 0x08c3, 0x8dc: 0x08cb, 0x8dd: 0x08db, + 0x8de: 0x0977, 0x8df: 0x098b, 0x8e0: 0x09cb, 0x8e1: 0x09df, 0x8e2: 0x09e7, 0x8e3: 0x09eb, + 0x8e4: 0x09fb, 0x8e5: 0x0a17, 0x8e6: 0x0a43, 0x8e7: 0x0a4f, 0x8e8: 0x0a6f, 0x8e9: 0x0a7b, + 0x8ea: 0x0a7f, 0x8eb: 0x0a83, 0x8ec: 0x0a9b, 0x8ed: 0x0a9f, 0x8ee: 0x0acb, 0x8ef: 0x0ad7, + 0x8f0: 0x0adf, 0x8f1: 0x0ae7, 0x8f2: 0x0af7, 0x8f3: 0x0aff, 0x8f4: 0x0b07, 0x8f5: 0x0b33, + 0x8f6: 0x0b37, 0x8f7: 0x0b3f, 0x8f8: 0x0b43, 0x8f9: 0x0b4b, 0x8fa: 0x0b53, 0x8fb: 0x0b63, + 0x8fc: 0x0b7f, 0x8fd: 0x0bf7, 0x8fe: 0x0c0b, 0x8ff: 0x0c0f, + // Block 0x24, offset 0x900 + 0x900: 0x0c8f, 0x901: 0x0c93, 0x902: 0x0ca7, 0x903: 0x0cab, 0x904: 0x0cb3, 0x905: 0x0cbb, + 0x906: 0x0cc3, 0x907: 0x0ccf, 0x908: 0x0cf7, 0x909: 0x0d07, 0x90a: 0x0d1b, 0x90b: 0x0d8b, + 0x90c: 0x0d97, 0x90d: 0x0da7, 0x90e: 0x0db3, 0x90f: 0x0dbf, 0x910: 0x0dc7, 0x911: 0x0dcb, + 0x912: 0x0dcf, 0x913: 0x0dd3, 0x914: 0x0dd7, 0x915: 0x0e8f, 0x916: 0x0ed7, 0x917: 0x0ee3, + 0x918: 0x0ee7, 0x919: 0x0eeb, 0x91a: 0x0eef, 0x91b: 0x0ef7, 0x91c: 0x0efb, 0x91d: 0x0f0f, + 0x91e: 0x0f2b, 0x91f: 0x0f33, 0x920: 0x0f73, 0x921: 0x0f77, 0x922: 0x0f7f, 0x923: 0x0f83, + 0x924: 0x0f8b, 0x925: 0x0f8f, 0x926: 0x0fb3, 0x927: 0x0fb7, 0x928: 0x0fd3, 0x929: 0x0fd7, + 0x92a: 0x0fdb, 0x92b: 0x0fdf, 0x92c: 0x0ff3, 0x92d: 0x1017, 0x92e: 0x101b, 0x92f: 0x101f, + 0x930: 0x1043, 0x931: 0x1083, 0x932: 0x1087, 0x933: 0x10a7, 0x934: 0x10b7, 0x935: 0x10bf, + 0x936: 0x10df, 0x937: 0x1103, 0x938: 0x1147, 0x939: 0x114f, 0x93a: 0x1163, 0x93b: 0x116f, + 0x93c: 0x1177, 0x93d: 0x117f, 0x93e: 0x1183, 0x93f: 0x1187, + // Block 0x25, offset 0x940 + 0x940: 0x119f, 0x941: 0x11a3, 0x942: 0x11bf, 0x943: 0x11c7, 0x944: 0x11cf, 0x945: 0x11d3, + 0x946: 0x11df, 0x947: 0x11e7, 0x948: 0x11eb, 0x949: 0x11ef, 0x94a: 0x11f7, 0x94b: 0x11fb, + 0x94c: 0x129b, 0x94d: 0x12af, 0x94e: 0x12e3, 0x94f: 0x12e7, 0x950: 0x12ef, 0x951: 0x131b, + 0x952: 0x1323, 0x953: 0x132b, 0x954: 0x1333, 0x955: 0x136f, 0x956: 0x1373, 0x957: 0x137b, + 0x958: 0x137f, 0x959: 0x1383, 0x95a: 0x13af, 0x95b: 0x13b3, 0x95c: 0x13bb, 0x95d: 0x13cf, + 0x95e: 0x13d3, 0x95f: 0x13ef, 0x960: 0x13f7, 0x961: 0x13fb, 0x962: 0x141f, 0x963: 0x143f, + 0x964: 0x1453, 0x965: 0x1457, 0x966: 0x145f, 0x967: 0x148b, 0x968: 0x148f, 0x969: 0x149f, + 0x96a: 0x14c3, 0x96b: 0x14cf, 0x96c: 0x14df, 0x96d: 0x14f7, 0x96e: 0x14ff, 0x96f: 0x1503, + 0x970: 0x1507, 0x971: 0x150b, 0x972: 0x1517, 0x973: 0x151b, 0x974: 0x1523, 0x975: 0x153f, + 0x976: 0x1543, 0x977: 0x1547, 0x978: 0x155f, 0x979: 0x1563, 0x97a: 0x156b, 0x97b: 0x157f, + 0x97c: 0x1583, 0x97d: 0x1587, 0x97e: 0x158f, 0x97f: 0x1593, + // Block 0x26, offset 0x980 + 0x986: 0xa000, 0x98b: 0xa000, + 0x98c: 0x3f0b, 0x98d: 0xa000, 0x98e: 0x3f13, 0x98f: 0xa000, 0x990: 0x3f1b, 0x991: 0xa000, + 0x992: 0x3f23, 0x993: 0xa000, 0x994: 0x3f2b, 0x995: 0xa000, 0x996: 0x3f33, 0x997: 0xa000, + 0x998: 0x3f3b, 0x999: 0xa000, 0x99a: 0x3f43, 0x99b: 0xa000, 0x99c: 0x3f4b, 0x99d: 0xa000, + 0x99e: 0x3f53, 0x99f: 0xa000, 0x9a0: 0x3f5b, 0x9a1: 0xa000, 0x9a2: 0x3f63, + 0x9a4: 0xa000, 0x9a5: 0x3f6b, 0x9a6: 0xa000, 0x9a7: 0x3f73, 0x9a8: 0xa000, 0x9a9: 0x3f7b, + 0x9af: 0xa000, + 0x9b0: 0x3f83, 0x9b1: 0x3f8b, 0x9b2: 0xa000, 0x9b3: 0x3f93, 0x9b4: 0x3f9b, 0x9b5: 0xa000, + 0x9b6: 0x3fa3, 0x9b7: 0x3fab, 0x9b8: 0xa000, 0x9b9: 0x3fb3, 0x9ba: 0x3fbb, 0x9bb: 0xa000, + 0x9bc: 0x3fc3, 0x9bd: 0x3fcb, + // Block 0x27, offset 0x9c0 + 0x9d4: 0x3f03, + 0x9d9: 0x9903, 0x9da: 0x9903, 0x9db: 0x42df, 0x9dc: 0x42e5, 0x9dd: 0xa000, + 0x9de: 0x3fd3, 0x9df: 0x26b7, + 0x9e6: 0xa000, + 0x9eb: 0xa000, 0x9ec: 0x3fe3, 0x9ed: 0xa000, 0x9ee: 0x3feb, 0x9ef: 0xa000, + 0x9f0: 0x3ff3, 0x9f1: 0xa000, 0x9f2: 0x3ffb, 0x9f3: 0xa000, 0x9f4: 0x4003, 0x9f5: 0xa000, + 0x9f6: 0x400b, 0x9f7: 0xa000, 0x9f8: 0x4013, 0x9f9: 0xa000, 0x9fa: 0x401b, 0x9fb: 0xa000, + 0x9fc: 0x4023, 0x9fd: 0xa000, 0x9fe: 0x402b, 0x9ff: 0xa000, + // Block 0x28, offset 0xa00 + 0xa00: 0x4033, 0xa01: 0xa000, 0xa02: 0x403b, 0xa04: 0xa000, 0xa05: 0x4043, + 0xa06: 0xa000, 0xa07: 0x404b, 0xa08: 0xa000, 0xa09: 0x4053, + 0xa0f: 0xa000, 0xa10: 0x405b, 0xa11: 0x4063, + 0xa12: 0xa000, 0xa13: 0x406b, 0xa14: 0x4073, 0xa15: 0xa000, 0xa16: 0x407b, 0xa17: 0x4083, + 0xa18: 0xa000, 0xa19: 0x408b, 0xa1a: 0x4093, 0xa1b: 0xa000, 0xa1c: 0x409b, 0xa1d: 0x40a3, + 0xa2f: 0xa000, + 0xa30: 0xa000, 0xa31: 0xa000, 0xa32: 0xa000, 0xa34: 0x3fdb, + 0xa37: 0x40ab, 0xa38: 0x40b3, 0xa39: 0x40bb, 0xa3a: 0x40c3, + 0xa3d: 0xa000, 0xa3e: 0x40cb, 0xa3f: 0x26cc, + // Block 0x29, offset 0xa40 + 0xa40: 0x0367, 0xa41: 0x032b, 0xa42: 0x032f, 0xa43: 0x0333, 0xa44: 0x037b, 0xa45: 0x0337, + 0xa46: 0x033b, 0xa47: 0x033f, 0xa48: 0x0343, 0xa49: 0x0347, 0xa4a: 0x034b, 0xa4b: 0x034f, + 0xa4c: 0x0353, 0xa4d: 0x0357, 0xa4e: 0x035b, 0xa4f: 0x49c0, 0xa50: 0x49c6, 0xa51: 0x49cc, + 0xa52: 0x49d2, 0xa53: 0x49d8, 0xa54: 0x49de, 0xa55: 0x49e4, 0xa56: 0x49ea, 0xa57: 0x49f0, + 0xa58: 0x49f6, 0xa59: 0x49fc, 0xa5a: 0x4a02, 0xa5b: 0x4a08, 0xa5c: 0x4a0e, 0xa5d: 0x4a14, + 0xa5e: 0x4a1a, 0xa5f: 0x4a20, 0xa60: 0x4a26, 0xa61: 0x4a2c, 0xa62: 0x4a32, 0xa63: 0x4a38, + 0xa64: 0x03c3, 0xa65: 0x035f, 0xa66: 0x0363, 0xa67: 0x03e7, 0xa68: 0x03eb, 0xa69: 0x03ef, + 0xa6a: 0x03f3, 0xa6b: 0x03f7, 0xa6c: 0x03fb, 0xa6d: 0x03ff, 0xa6e: 0x036b, 0xa6f: 0x0403, + 0xa70: 0x0407, 0xa71: 0x036f, 0xa72: 0x0373, 0xa73: 0x0377, 0xa74: 0x037f, 0xa75: 0x0383, + 0xa76: 0x0387, 0xa77: 0x038b, 0xa78: 0x038f, 0xa79: 0x0393, 0xa7a: 0x0397, 0xa7b: 0x039b, + 0xa7c: 0x039f, 0xa7d: 0x03a3, 0xa7e: 0x03a7, 0xa7f: 0x03ab, + // Block 0x2a, offset 0xa80 + 0xa80: 0x03af, 0xa81: 0x03b3, 0xa82: 0x040b, 0xa83: 0x040f, 0xa84: 0x03b7, 0xa85: 0x03bb, + 0xa86: 0x03bf, 0xa87: 0x03c7, 0xa88: 0x03cb, 0xa89: 0x03cf, 0xa8a: 0x03d3, 0xa8b: 0x03d7, + 0xa8c: 0x03db, 0xa8d: 0x03df, 0xa8e: 0x03e3, + 0xa92: 0x06bf, 0xa93: 0x071b, 0xa94: 0x06cb, 0xa95: 0x097b, 0xa96: 0x06cf, 0xa97: 0x06e7, + 0xa98: 0x06d3, 0xa99: 0x0f93, 0xa9a: 0x0707, 0xa9b: 0x06db, 0xa9c: 0x06c3, 0xa9d: 0x09ff, + 0xa9e: 0x098f, 0xa9f: 0x072f, + // Block 0x2b, offset 0xac0 + 0xac0: 0x2057, 0xac1: 0x205d, 0xac2: 0x2063, 0xac3: 0x2069, 0xac4: 0x206f, 0xac5: 0x2075, + 0xac6: 0x207b, 0xac7: 0x2081, 0xac8: 0x2087, 0xac9: 0x208d, 0xaca: 0x2093, 0xacb: 0x2099, + 0xacc: 0x209f, 0xacd: 0x20a5, 0xace: 0x2729, 0xacf: 0x2732, 0xad0: 0x273b, 0xad1: 0x2744, + 0xad2: 0x274d, 0xad3: 0x2756, 0xad4: 0x275f, 0xad5: 0x2768, 0xad6: 0x2771, 0xad7: 0x2783, + 0xad8: 0x278c, 0xad9: 0x2795, 0xada: 0x279e, 0xadb: 0x27a7, 0xadc: 0x277a, 0xadd: 0x2baf, + 0xade: 0x2af0, 0xae0: 0x20ab, 0xae1: 0x20c3, 0xae2: 0x20b7, 0xae3: 0x210b, + 0xae4: 0x20c9, 0xae5: 0x20e7, 0xae6: 0x20b1, 0xae7: 0x20e1, 0xae8: 0x20bd, 0xae9: 0x20f3, + 0xaea: 0x2123, 0xaeb: 0x2141, 0xaec: 0x213b, 0xaed: 0x212f, 0xaee: 0x217d, 0xaef: 0x2111, + 0xaf0: 0x211d, 0xaf1: 0x2135, 0xaf2: 0x2129, 0xaf3: 0x2153, 0xaf4: 0x20ff, 0xaf5: 0x2147, + 0xaf6: 0x2171, 0xaf7: 0x2159, 0xaf8: 0x20ed, 0xaf9: 0x20cf, 0xafa: 0x2105, 0xafb: 0x2117, + 0xafc: 0x214d, 0xafd: 0x20d5, 0xafe: 0x2177, 0xaff: 0x20f9, + // Block 0x2c, offset 0xb00 + 0xb00: 0x215f, 0xb01: 0x20db, 0xb02: 0x2165, 0xb03: 0x216b, 0xb04: 0x092f, 0xb05: 0x0b03, + 0xb06: 0x0ca7, 0xb07: 0x10c7, + 0xb10: 0x1bc7, 0xb11: 0x18a9, + 0xb12: 0x18ac, 0xb13: 0x18af, 0xb14: 0x18b2, 0xb15: 0x18b5, 0xb16: 0x18b8, 0xb17: 0x18bb, + 0xb18: 0x18be, 0xb19: 0x18c1, 0xb1a: 0x18ca, 0xb1b: 0x18cd, 0xb1c: 0x18d0, 0xb1d: 0x18d3, + 0xb1e: 0x18d6, 0xb1f: 0x18d9, 0xb20: 0x0313, 0xb21: 0x031b, 0xb22: 0x031f, 0xb23: 0x0327, + 0xb24: 0x032b, 0xb25: 0x032f, 0xb26: 0x0337, 0xb27: 0x033f, 0xb28: 0x0343, 0xb29: 0x034b, + 0xb2a: 0x034f, 0xb2b: 0x0353, 0xb2c: 0x0357, 0xb2d: 0x035b, 0xb2e: 0x2e1b, 0xb2f: 0x2e23, + 0xb30: 0x2e2b, 0xb31: 0x2e33, 0xb32: 0x2e3b, 0xb33: 0x2e43, 0xb34: 0x2e4b, 0xb35: 0x2e53, + 0xb36: 0x2e63, 0xb37: 0x2e6b, 0xb38: 0x2e73, 0xb39: 0x2e7b, 0xb3a: 0x2e83, 0xb3b: 0x2e8b, + 0xb3c: 0x2ed6, 0xb3d: 0x2e9e, 0xb3e: 0x2e5b, + // Block 0x2d, offset 0xb40 + 0xb40: 0x06bf, 0xb41: 0x071b, 0xb42: 0x06cb, 0xb43: 0x097b, 0xb44: 0x071f, 0xb45: 0x07af, + 0xb46: 0x06c7, 0xb47: 0x07ab, 0xb48: 0x070b, 0xb49: 0x0887, 0xb4a: 0x0d07, 0xb4b: 0x0e8f, + 0xb4c: 0x0dd7, 0xb4d: 0x0d1b, 0xb4e: 0x145f, 0xb4f: 0x098b, 0xb50: 0x0ccf, 0xb51: 0x0d4b, + 0xb52: 0x0d0b, 0xb53: 0x104b, 0xb54: 0x08fb, 0xb55: 0x0f03, 0xb56: 0x1387, 0xb57: 0x105f, + 0xb58: 0x0843, 0xb59: 0x108f, 0xb5a: 0x0f9b, 0xb5b: 0x0a17, 0xb5c: 0x140f, 0xb5d: 0x077f, + 0xb5e: 0x08ab, 0xb5f: 0x0df7, 0xb60: 0x1527, 0xb61: 0x0743, 0xb62: 0x07d3, 0xb63: 0x0d9b, + 0xb64: 0x06cf, 0xb65: 0x06e7, 0xb66: 0x06d3, 0xb67: 0x0adb, 0xb68: 0x08ef, 0xb69: 0x087f, + 0xb6a: 0x0a57, 0xb6b: 0x0a4b, 0xb6c: 0x0feb, 0xb6d: 0x073f, 0xb6e: 0x139b, 0xb6f: 0x089b, + 0xb70: 0x09f3, 0xb71: 0x18dc, 0xb72: 0x18df, 0xb73: 0x18e2, 0xb74: 0x18e5, 0xb75: 0x18ee, + 0xb76: 0x18f1, 0xb77: 0x18f4, 0xb78: 0x18f7, 0xb79: 0x18fa, 0xb7a: 0x18fd, 0xb7b: 0x1900, + 0xb7c: 0x1903, 0xb7d: 0x1906, 0xb7e: 0x1909, 0xb7f: 0x1912, + // Block 0x2e, offset 0xb80 + 0xb80: 0x1cc9, 0xb81: 0x1cd8, 0xb82: 0x1ce7, 0xb83: 0x1cf6, 0xb84: 0x1d05, 0xb85: 0x1d14, + 0xb86: 0x1d23, 0xb87: 0x1d32, 0xb88: 0x1d41, 0xb89: 0x218f, 0xb8a: 0x21a1, 0xb8b: 0x21b3, + 0xb8c: 0x1954, 0xb8d: 0x1c07, 0xb8e: 0x19d5, 0xb8f: 0x1bab, 0xb90: 0x04cb, 0xb91: 0x04d3, + 0xb92: 0x04db, 0xb93: 0x04e3, 0xb94: 0x04eb, 0xb95: 0x04ef, 0xb96: 0x04f3, 0xb97: 0x04f7, + 0xb98: 0x04fb, 0xb99: 0x04ff, 0xb9a: 0x0503, 0xb9b: 0x0507, 0xb9c: 0x050b, 0xb9d: 0x050f, + 0xb9e: 0x0513, 0xb9f: 0x0517, 0xba0: 0x051b, 0xba1: 0x0523, 0xba2: 0x0527, 0xba3: 0x052b, + 0xba4: 0x052f, 0xba5: 0x0533, 0xba6: 0x0537, 0xba7: 0x053b, 0xba8: 0x053f, 0xba9: 0x0543, + 0xbaa: 0x0547, 0xbab: 0x054b, 0xbac: 0x054f, 0xbad: 0x0553, 0xbae: 0x0557, 0xbaf: 0x055b, + 0xbb0: 0x055f, 0xbb1: 0x0563, 0xbb2: 0x0567, 0xbb3: 0x056f, 0xbb4: 0x0577, 0xbb5: 0x057f, + 0xbb6: 0x0583, 0xbb7: 0x0587, 0xbb8: 0x058b, 0xbb9: 0x058f, 0xbba: 0x0593, 0xbbb: 0x0597, + 0xbbc: 0x059b, 0xbbd: 0x059f, 0xbbe: 0x05a3, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x2b0f, 0xbc1: 0x29ab, 0xbc2: 0x2b1f, 0xbc3: 0x2883, 0xbc4: 0x2ee7, 0xbc5: 0x288d, + 0xbc6: 0x2897, 0xbc7: 0x2f2b, 0xbc8: 0x29b8, 0xbc9: 0x28a1, 0xbca: 0x28ab, 0xbcb: 0x28b5, + 0xbcc: 0x29df, 0xbcd: 0x29ec, 0xbce: 0x29c5, 0xbcf: 0x29d2, 0xbd0: 0x2eac, 0xbd1: 0x29f9, + 0xbd2: 0x2a06, 0xbd3: 0x2bc1, 0xbd4: 0x26be, 0xbd5: 0x2bd4, 0xbd6: 0x2be7, 0xbd7: 0x2b2f, + 0xbd8: 0x2a13, 0xbd9: 0x2bfa, 0xbda: 0x2c0d, 0xbdb: 0x2a20, 0xbdc: 0x28bf, 0xbdd: 0x28c9, + 0xbde: 0x2eba, 0xbdf: 0x2a2d, 0xbe0: 0x2b3f, 0xbe1: 0x2ef8, 0xbe2: 0x28d3, 0xbe3: 0x28dd, + 0xbe4: 0x2a3a, 0xbe5: 0x28e7, 0xbe6: 0x28f1, 0xbe7: 0x26d3, 0xbe8: 0x26da, 0xbe9: 0x28fb, + 0xbea: 0x2905, 0xbeb: 0x2c20, 0xbec: 0x2a47, 0xbed: 0x2b4f, 0xbee: 0x2c33, 0xbef: 0x2a54, + 0xbf0: 0x2919, 0xbf1: 0x290f, 0xbf2: 0x2f3f, 0xbf3: 0x2a61, 0xbf4: 0x2c46, 0xbf5: 0x2923, + 0xbf6: 0x2b5f, 0xbf7: 0x292d, 0xbf8: 0x2a7b, 0xbf9: 0x2937, 0xbfa: 0x2a88, 0xbfb: 0x2f09, + 0xbfc: 0x2a6e, 0xbfd: 0x2b6f, 0xbfe: 0x2a95, 0xbff: 0x26e1, + // Block 0x30, offset 0xc00 + 0xc00: 0x2f1a, 0xc01: 0x2941, 0xc02: 0x294b, 0xc03: 0x2aa2, 0xc04: 0x2955, 0xc05: 0x295f, + 0xc06: 0x2969, 0xc07: 0x2b7f, 0xc08: 0x2aaf, 0xc09: 0x26e8, 0xc0a: 0x2c59, 0xc0b: 0x2e93, + 0xc0c: 0x2b8f, 0xc0d: 0x2abc, 0xc0e: 0x2ec8, 0xc0f: 0x2973, 0xc10: 0x297d, 0xc11: 0x2ac9, + 0xc12: 0x26ef, 0xc13: 0x2ad6, 0xc14: 0x2b9f, 0xc15: 0x26f6, 0xc16: 0x2c6c, 0xc17: 0x2987, + 0xc18: 0x1cba, 0xc19: 0x1cce, 0xc1a: 0x1cdd, 0xc1b: 0x1cec, 0xc1c: 0x1cfb, 0xc1d: 0x1d0a, + 0xc1e: 0x1d19, 0xc1f: 0x1d28, 0xc20: 0x1d37, 0xc21: 0x1d46, 0xc22: 0x2195, 0xc23: 0x21a7, + 0xc24: 0x21b9, 0xc25: 0x21c5, 0xc26: 0x21d1, 0xc27: 0x21dd, 0xc28: 0x21e9, 0xc29: 0x21f5, + 0xc2a: 0x2201, 0xc2b: 0x220d, 0xc2c: 0x2249, 0xc2d: 0x2255, 0xc2e: 0x2261, 0xc2f: 0x226d, + 0xc30: 0x2279, 0xc31: 0x1c17, 0xc32: 0x19c9, 0xc33: 0x1936, 0xc34: 0x1be7, 0xc35: 0x1a4a, + 0xc36: 0x1a59, 0xc37: 0x19cf, 0xc38: 0x1bff, 0xc39: 0x1c03, 0xc3a: 0x1960, 0xc3b: 0x2704, + 0xc3c: 0x2712, 0xc3d: 0x26fd, 0xc3e: 0x270b, 0xc3f: 0x2ae3, + // Block 0x31, offset 0xc40 + 0xc40: 0x1a4d, 0xc41: 0x1a35, 0xc42: 0x1c63, 0xc43: 0x1a1d, 0xc44: 0x19f6, 0xc45: 0x1969, + 0xc46: 0x1978, 0xc47: 0x1948, 0xc48: 0x1bf3, 0xc49: 0x1d55, 0xc4a: 0x1a50, 0xc4b: 0x1a38, + 0xc4c: 0x1c67, 0xc4d: 0x1c73, 0xc4e: 0x1a29, 0xc4f: 0x19ff, 0xc50: 0x1957, 0xc51: 0x1c1f, + 0xc52: 0x1bb3, 0xc53: 0x1b9f, 0xc54: 0x1bcf, 0xc55: 0x1c77, 0xc56: 0x1a2c, 0xc57: 0x19cc, + 0xc58: 0x1a02, 0xc59: 0x19e1, 0xc5a: 0x1a44, 0xc5b: 0x1c7b, 0xc5c: 0x1a2f, 0xc5d: 0x19c3, + 0xc5e: 0x1a05, 0xc5f: 0x1c3f, 0xc60: 0x1bf7, 0xc61: 0x1a17, 0xc62: 0x1c27, 0xc63: 0x1c43, + 0xc64: 0x1bfb, 0xc65: 0x1a1a, 0xc66: 0x1c2b, 0xc67: 0x22eb, 0xc68: 0x22ff, 0xc69: 0x1999, + 0xc6a: 0x1c23, 0xc6b: 0x1bb7, 0xc6c: 0x1ba3, 0xc6d: 0x1c4b, 0xc6e: 0x2719, 0xc6f: 0x27b0, + 0xc70: 0x1a5c, 0xc71: 0x1a47, 0xc72: 0x1c7f, 0xc73: 0x1a32, 0xc74: 0x1a53, 0xc75: 0x1a3b, + 0xc76: 0x1c6b, 0xc77: 0x1a20, 0xc78: 0x19f9, 0xc79: 0x1984, 0xc7a: 0x1a56, 0xc7b: 0x1a3e, + 0xc7c: 0x1c6f, 0xc7d: 0x1a23, 0xc7e: 0x19fc, 0xc7f: 0x1987, + // Block 0x32, offset 0xc80 + 0xc80: 0x1c2f, 0xc81: 0x1bbb, 0xc82: 0x1d50, 0xc83: 0x1939, 0xc84: 0x19bd, 0xc85: 0x19c0, + 0xc86: 0x22f8, 0xc87: 0x1b97, 0xc88: 0x19c6, 0xc89: 0x194b, 0xc8a: 0x19e4, 0xc8b: 0x194e, + 0xc8c: 0x19ed, 0xc8d: 0x196c, 0xc8e: 0x196f, 0xc8f: 0x1a08, 0xc90: 0x1a0e, 0xc91: 0x1a11, + 0xc92: 0x1c33, 0xc93: 0x1a14, 0xc94: 0x1a26, 0xc95: 0x1c3b, 0xc96: 0x1c47, 0xc97: 0x1993, + 0xc98: 0x1d5a, 0xc99: 0x1bbf, 0xc9a: 0x1996, 0xc9b: 0x1a5f, 0xc9c: 0x19a8, 0xc9d: 0x19b7, + 0xc9e: 0x22e5, 0xc9f: 0x22df, 0xca0: 0x1cc4, 0xca1: 0x1cd3, 0xca2: 0x1ce2, 0xca3: 0x1cf1, + 0xca4: 0x1d00, 0xca5: 0x1d0f, 0xca6: 0x1d1e, 0xca7: 0x1d2d, 0xca8: 0x1d3c, 0xca9: 0x2189, + 0xcaa: 0x219b, 0xcab: 0x21ad, 0xcac: 0x21bf, 0xcad: 0x21cb, 0xcae: 0x21d7, 0xcaf: 0x21e3, + 0xcb0: 0x21ef, 0xcb1: 0x21fb, 0xcb2: 0x2207, 0xcb3: 0x2243, 0xcb4: 0x224f, 0xcb5: 0x225b, + 0xcb6: 0x2267, 0xcb7: 0x2273, 0xcb8: 0x227f, 0xcb9: 0x2285, 0xcba: 0x228b, 0xcbb: 0x2291, + 0xcbc: 0x2297, 0xcbd: 0x22a9, 0xcbe: 0x22af, 0xcbf: 0x1c13, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x1377, 0xcc1: 0x0cfb, 0xcc2: 0x13d3, 0xcc3: 0x139f, 0xcc4: 0x0e57, 0xcc5: 0x06eb, + 0xcc6: 0x08df, 0xcc7: 0x162b, 0xcc8: 0x162b, 0xcc9: 0x0a0b, 0xcca: 0x145f, 0xccb: 0x0943, + 0xccc: 0x0a07, 0xccd: 0x0bef, 0xcce: 0x0fcf, 0xccf: 0x115f, 0xcd0: 0x1297, 0xcd1: 0x12d3, + 0xcd2: 0x1307, 0xcd3: 0x141b, 0xcd4: 0x0d73, 0xcd5: 0x0dff, 0xcd6: 0x0eab, 0xcd7: 0x0f43, + 0xcd8: 0x125f, 0xcd9: 0x1447, 0xcda: 0x1573, 0xcdb: 0x070f, 0xcdc: 0x08b3, 0xcdd: 0x0d87, + 0xcde: 0x0ecf, 0xcdf: 0x1293, 0xce0: 0x15c3, 0xce1: 0x0ab3, 0xce2: 0x0e77, 0xce3: 0x1283, + 0xce4: 0x1317, 0xce5: 0x0c23, 0xce6: 0x11bb, 0xce7: 0x12df, 0xce8: 0x0b1f, 0xce9: 0x0d0f, + 0xcea: 0x0e17, 0xceb: 0x0f1b, 0xcec: 0x1427, 0xced: 0x074f, 0xcee: 0x07e7, 0xcef: 0x0853, + 0xcf0: 0x0c8b, 0xcf1: 0x0d7f, 0xcf2: 0x0ecb, 0xcf3: 0x0fef, 0xcf4: 0x1177, 0xcf5: 0x128b, + 0xcf6: 0x12a3, 0xcf7: 0x13c7, 0xcf8: 0x14ef, 0xcf9: 0x15a3, 0xcfa: 0x15bf, 0xcfb: 0x102b, + 0xcfc: 0x106b, 0xcfd: 0x1123, 0xcfe: 0x1243, 0xcff: 0x147b, + // Block 0x34, offset 0xd00 + 0xd00: 0x15cb, 0xd01: 0x134b, 0xd02: 0x09c7, 0xd03: 0x0b3b, 0xd04: 0x10db, 0xd05: 0x119b, + 0xd06: 0x0eff, 0xd07: 0x1033, 0xd08: 0x1397, 0xd09: 0x14e7, 0xd0a: 0x09c3, 0xd0b: 0x0a8f, + 0xd0c: 0x0d77, 0xd0d: 0x0e2b, 0xd0e: 0x0e5f, 0xd0f: 0x1113, 0xd10: 0x113b, 0xd11: 0x14a7, + 0xd12: 0x084f, 0xd13: 0x11a7, 0xd14: 0x07f3, 0xd15: 0x07ef, 0xd16: 0x1097, 0xd17: 0x1127, + 0xd18: 0x125b, 0xd19: 0x14af, 0xd1a: 0x1367, 0xd1b: 0x0c27, 0xd1c: 0x0d73, 0xd1d: 0x1357, + 0xd1e: 0x06f7, 0xd1f: 0x0a63, 0xd20: 0x0b93, 0xd21: 0x0f2f, 0xd22: 0x0faf, 0xd23: 0x0873, + 0xd24: 0x103b, 0xd25: 0x075f, 0xd26: 0x0b77, 0xd27: 0x06d7, 0xd28: 0x0deb, 0xd29: 0x0ca3, + 0xd2a: 0x110f, 0xd2b: 0x08c7, 0xd2c: 0x09b3, 0xd2d: 0x0ffb, 0xd2e: 0x1263, 0xd2f: 0x133b, + 0xd30: 0x0db7, 0xd31: 0x13f7, 0xd32: 0x0de3, 0xd33: 0x0c37, 0xd34: 0x121b, 0xd35: 0x0c57, + 0xd36: 0x0fab, 0xd37: 0x072b, 0xd38: 0x07a7, 0xd39: 0x07eb, 0xd3a: 0x0d53, 0xd3b: 0x10fb, + 0xd3c: 0x11f3, 0xd3d: 0x1347, 0xd3e: 0x145b, 0xd3f: 0x085b, + // Block 0x35, offset 0xd40 + 0xd40: 0x090f, 0xd41: 0x0a17, 0xd42: 0x0b2f, 0xd43: 0x0cbf, 0xd44: 0x0e7b, 0xd45: 0x103f, + 0xd46: 0x1497, 0xd47: 0x157b, 0xd48: 0x15cf, 0xd49: 0x15e7, 0xd4a: 0x0837, 0xd4b: 0x0cf3, + 0xd4c: 0x0da3, 0xd4d: 0x13eb, 0xd4e: 0x0afb, 0xd4f: 0x0bd7, 0xd50: 0x0bf3, 0xd51: 0x0c83, + 0xd52: 0x0e6b, 0xd53: 0x0eb7, 0xd54: 0x0f67, 0xd55: 0x108b, 0xd56: 0x112f, 0xd57: 0x1193, + 0xd58: 0x13db, 0xd59: 0x126b, 0xd5a: 0x1403, 0xd5b: 0x147f, 0xd5c: 0x080f, 0xd5d: 0x083b, + 0xd5e: 0x0923, 0xd5f: 0x0ea7, 0xd60: 0x12f3, 0xd61: 0x133b, 0xd62: 0x0b1b, 0xd63: 0x0b8b, + 0xd64: 0x0c4f, 0xd65: 0x0daf, 0xd66: 0x10d7, 0xd67: 0x0f23, 0xd68: 0x073b, 0xd69: 0x097f, + 0xd6a: 0x0a63, 0xd6b: 0x0ac7, 0xd6c: 0x0b97, 0xd6d: 0x0f3f, 0xd6e: 0x0f5b, 0xd6f: 0x116b, + 0xd70: 0x118b, 0xd71: 0x1463, 0xd72: 0x14e3, 0xd73: 0x14f3, 0xd74: 0x152f, 0xd75: 0x0753, + 0xd76: 0x107f, 0xd77: 0x144f, 0xd78: 0x14cb, 0xd79: 0x0baf, 0xd7a: 0x0717, 0xd7b: 0x0777, + 0xd7c: 0x0a67, 0xd7d: 0x0a87, 0xd7e: 0x0caf, 0xd7f: 0x0d73, + // Block 0x36, offset 0xd80 + 0xd80: 0x0ec3, 0xd81: 0x0fcb, 0xd82: 0x1277, 0xd83: 0x1417, 0xd84: 0x1623, 0xd85: 0x0ce3, + 0xd86: 0x14a3, 0xd87: 0x0833, 0xd88: 0x0d2f, 0xd89: 0x0d3b, 0xd8a: 0x0e0f, 0xd8b: 0x0e47, + 0xd8c: 0x0f4b, 0xd8d: 0x0fa7, 0xd8e: 0x1027, 0xd8f: 0x110b, 0xd90: 0x153b, 0xd91: 0x07af, + 0xd92: 0x0c03, 0xd93: 0x14b3, 0xd94: 0x0767, 0xd95: 0x0aab, 0xd96: 0x0e2f, 0xd97: 0x13df, + 0xd98: 0x0b67, 0xd99: 0x0bb7, 0xd9a: 0x0d43, 0xd9b: 0x0f2f, 0xd9c: 0x14bb, 0xd9d: 0x0817, + 0xd9e: 0x08ff, 0xd9f: 0x0a97, 0xda0: 0x0cd3, 0xda1: 0x0d1f, 0xda2: 0x0d5f, 0xda3: 0x0df3, + 0xda4: 0x0f47, 0xda5: 0x0fbb, 0xda6: 0x1157, 0xda7: 0x12f7, 0xda8: 0x1303, 0xda9: 0x1457, + 0xdaa: 0x14d7, 0xdab: 0x0883, 0xdac: 0x0e4b, 0xdad: 0x0903, 0xdae: 0x0ec7, 0xdaf: 0x0f6b, + 0xdb0: 0x1287, 0xdb1: 0x14bf, 0xdb2: 0x15ab, 0xdb3: 0x15d3, 0xdb4: 0x0d37, 0xdb5: 0x0e27, + 0xdb6: 0x11c3, 0xdb7: 0x10b7, 0xdb8: 0x10c3, 0xdb9: 0x10e7, 0xdba: 0x0f17, 0xdbb: 0x0e9f, + 0xdbc: 0x1363, 0xdbd: 0x0733, 0xdbe: 0x122b, 0xdbf: 0x081b, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x080b, 0xdc1: 0x0b0b, 0xdc2: 0x0c2b, 0xdc3: 0x10f3, 0xdc4: 0x0a53, 0xdc5: 0x0e03, + 0xdc6: 0x0cef, 0xdc7: 0x13e7, 0xdc8: 0x12e7, 0xdc9: 0x14ab, 0xdca: 0x1323, 0xdcb: 0x0b27, + 0xdcc: 0x0787, 0xdcd: 0x095b, 0xdd0: 0x09af, + 0xdd2: 0x0cdf, 0xdd5: 0x07f7, 0xdd6: 0x0f1f, 0xdd7: 0x0fe3, + 0xdd8: 0x1047, 0xdd9: 0x1063, 0xdda: 0x1067, 0xddb: 0x107b, 0xddc: 0x14fb, 0xddd: 0x10eb, + 0xdde: 0x116f, 0xde0: 0x128f, 0xde2: 0x1353, + 0xde5: 0x1407, 0xde6: 0x1433, + 0xdea: 0x154f, 0xdeb: 0x1553, 0xdec: 0x1557, 0xded: 0x15bb, 0xdee: 0x142b, 0xdef: 0x14c7, + 0xdf0: 0x0757, 0xdf1: 0x077b, 0xdf2: 0x078f, 0xdf3: 0x084b, 0xdf4: 0x0857, 0xdf5: 0x0897, + 0xdf6: 0x094b, 0xdf7: 0x0967, 0xdf8: 0x096f, 0xdf9: 0x09ab, 0xdfa: 0x09b7, 0xdfb: 0x0a93, + 0xdfc: 0x0a9b, 0xdfd: 0x0ba3, 0xdfe: 0x0bcb, 0xdff: 0x0bd3, + // Block 0x38, offset 0xe00 + 0xe00: 0x0beb, 0xe01: 0x0c97, 0xe02: 0x0cc7, 0xe03: 0x0ce7, 0xe04: 0x0d57, 0xe05: 0x0e1b, + 0xe06: 0x0e37, 0xe07: 0x0e67, 0xe08: 0x0ebb, 0xe09: 0x0edb, 0xe0a: 0x0f4f, 0xe0b: 0x102f, + 0xe0c: 0x104b, 0xe0d: 0x1053, 0xe0e: 0x104f, 0xe0f: 0x1057, 0xe10: 0x105b, 0xe11: 0x105f, + 0xe12: 0x1073, 0xe13: 0x1077, 0xe14: 0x109b, 0xe15: 0x10af, 0xe16: 0x10cb, 0xe17: 0x112f, + 0xe18: 0x1137, 0xe19: 0x113f, 0xe1a: 0x1153, 0xe1b: 0x117b, 0xe1c: 0x11cb, 0xe1d: 0x11ff, + 0xe1e: 0x11ff, 0xe1f: 0x1267, 0xe20: 0x130f, 0xe21: 0x1327, 0xe22: 0x135b, 0xe23: 0x135f, + 0xe24: 0x13a3, 0xe25: 0x13a7, 0xe26: 0x13ff, 0xe27: 0x1407, 0xe28: 0x14db, 0xe29: 0x151f, + 0xe2a: 0x1537, 0xe2b: 0x0b9b, 0xe2c: 0x171e, 0xe2d: 0x11e3, + 0xe30: 0x06df, 0xe31: 0x07e3, 0xe32: 0x07a3, 0xe33: 0x074b, 0xe34: 0x078b, 0xe35: 0x07b7, + 0xe36: 0x0847, 0xe37: 0x0863, 0xe38: 0x094b, 0xe39: 0x0937, 0xe3a: 0x0947, 0xe3b: 0x0963, + 0xe3c: 0x09af, 0xe3d: 0x09bf, 0xe3e: 0x0a03, 0xe3f: 0x0a0f, + // Block 0x39, offset 0xe40 + 0xe40: 0x0a2b, 0xe41: 0x0a3b, 0xe42: 0x0b23, 0xe43: 0x0b2b, 0xe44: 0x0b5b, 0xe45: 0x0b7b, + 0xe46: 0x0bab, 0xe47: 0x0bc3, 0xe48: 0x0bb3, 0xe49: 0x0bd3, 0xe4a: 0x0bc7, 0xe4b: 0x0beb, + 0xe4c: 0x0c07, 0xe4d: 0x0c5f, 0xe4e: 0x0c6b, 0xe4f: 0x0c73, 0xe50: 0x0c9b, 0xe51: 0x0cdf, + 0xe52: 0x0d0f, 0xe53: 0x0d13, 0xe54: 0x0d27, 0xe55: 0x0da7, 0xe56: 0x0db7, 0xe57: 0x0e0f, + 0xe58: 0x0e5b, 0xe59: 0x0e53, 0xe5a: 0x0e67, 0xe5b: 0x0e83, 0xe5c: 0x0ebb, 0xe5d: 0x1013, + 0xe5e: 0x0edf, 0xe5f: 0x0f13, 0xe60: 0x0f1f, 0xe61: 0x0f5f, 0xe62: 0x0f7b, 0xe63: 0x0f9f, + 0xe64: 0x0fc3, 0xe65: 0x0fc7, 0xe66: 0x0fe3, 0xe67: 0x0fe7, 0xe68: 0x0ff7, 0xe69: 0x100b, + 0xe6a: 0x1007, 0xe6b: 0x1037, 0xe6c: 0x10b3, 0xe6d: 0x10cb, 0xe6e: 0x10e3, 0xe6f: 0x111b, + 0xe70: 0x112f, 0xe71: 0x114b, 0xe72: 0x117b, 0xe73: 0x122f, 0xe74: 0x1257, 0xe75: 0x12cb, + 0xe76: 0x1313, 0xe77: 0x131f, 0xe78: 0x1327, 0xe79: 0x133f, 0xe7a: 0x1353, 0xe7b: 0x1343, + 0xe7c: 0x135b, 0xe7d: 0x1357, 0xe7e: 0x134f, 0xe7f: 0x135f, + // Block 0x3a, offset 0xe80 + 0xe80: 0x136b, 0xe81: 0x13a7, 0xe82: 0x13e3, 0xe83: 0x1413, 0xe84: 0x144b, 0xe85: 0x146b, + 0xe86: 0x14b7, 0xe87: 0x14db, 0xe88: 0x14fb, 0xe89: 0x150f, 0xe8a: 0x151f, 0xe8b: 0x152b, + 0xe8c: 0x1537, 0xe8d: 0x158b, 0xe8e: 0x162b, 0xe8f: 0x16b5, 0xe90: 0x16b0, 0xe91: 0x16e2, + 0xe92: 0x0607, 0xe93: 0x062f, 0xe94: 0x0633, 0xe95: 0x1764, 0xe96: 0x1791, 0xe97: 0x1809, + 0xe98: 0x1617, 0xe99: 0x1627, + // Block 0x3b, offset 0xec0 + 0xec0: 0x19d8, 0xec1: 0x19db, 0xec2: 0x19de, 0xec3: 0x1c0b, 0xec4: 0x1c0f, 0xec5: 0x1a62, + 0xec6: 0x1a62, + 0xed3: 0x1d78, 0xed4: 0x1d69, 0xed5: 0x1d6e, 0xed6: 0x1d7d, 0xed7: 0x1d73, + 0xedd: 0x4393, + 0xede: 0x8115, 0xedf: 0x4405, 0xee0: 0x022d, 0xee1: 0x0215, 0xee2: 0x021e, 0xee3: 0x0221, + 0xee4: 0x0224, 0xee5: 0x0227, 0xee6: 0x022a, 0xee7: 0x0230, 0xee8: 0x0233, 0xee9: 0x0017, + 0xeea: 0x43f3, 0xeeb: 0x43f9, 0xeec: 0x44f7, 0xeed: 0x44ff, 0xeee: 0x434b, 0xeef: 0x4351, + 0xef0: 0x4357, 0xef1: 0x435d, 0xef2: 0x4369, 0xef3: 0x436f, 0xef4: 0x4375, 0xef5: 0x4381, + 0xef6: 0x4387, 0xef8: 0x438d, 0xef9: 0x4399, 0xefa: 0x439f, 0xefb: 0x43a5, + 0xefc: 0x43b1, 0xefe: 0x43b7, + // Block 0x3c, offset 0xf00 + 0xf00: 0x43bd, 0xf01: 0x43c3, 0xf03: 0x43c9, 0xf04: 0x43cf, + 0xf06: 0x43db, 0xf07: 0x43e1, 0xf08: 0x43e7, 0xf09: 0x43ed, 0xf0a: 0x43ff, 0xf0b: 0x437b, + 0xf0c: 0x4363, 0xf0d: 0x43ab, 0xf0e: 0x43d5, 0xf0f: 0x1d82, 0xf10: 0x0299, 0xf11: 0x0299, + 0xf12: 0x02a2, 0xf13: 0x02a2, 0xf14: 0x02a2, 0xf15: 0x02a2, 0xf16: 0x02a5, 0xf17: 0x02a5, + 0xf18: 0x02a5, 0xf19: 0x02a5, 0xf1a: 0x02ab, 0xf1b: 0x02ab, 0xf1c: 0x02ab, 0xf1d: 0x02ab, + 0xf1e: 0x029f, 0xf1f: 0x029f, 0xf20: 0x029f, 0xf21: 0x029f, 0xf22: 0x02a8, 0xf23: 0x02a8, + 0xf24: 0x02a8, 0xf25: 0x02a8, 0xf26: 0x029c, 0xf27: 0x029c, 0xf28: 0x029c, 0xf29: 0x029c, + 0xf2a: 0x02cf, 0xf2b: 0x02cf, 0xf2c: 0x02cf, 0xf2d: 0x02cf, 0xf2e: 0x02d2, 0xf2f: 0x02d2, + 0xf30: 0x02d2, 0xf31: 0x02d2, 0xf32: 0x02b1, 0xf33: 0x02b1, 0xf34: 0x02b1, 0xf35: 0x02b1, + 0xf36: 0x02ae, 0xf37: 0x02ae, 0xf38: 0x02ae, 0xf39: 0x02ae, 0xf3a: 0x02b4, 0xf3b: 0x02b4, + 0xf3c: 0x02b4, 0xf3d: 0x02b4, 0xf3e: 0x02b7, 0xf3f: 0x02b7, + // Block 0x3d, offset 0xf40 + 0xf40: 0x02b7, 0xf41: 0x02b7, 0xf42: 0x02c0, 0xf43: 0x02c0, 0xf44: 0x02bd, 0xf45: 0x02bd, + 0xf46: 0x02c3, 0xf47: 0x02c3, 0xf48: 0x02ba, 0xf49: 0x02ba, 0xf4a: 0x02c9, 0xf4b: 0x02c9, + 0xf4c: 0x02c6, 0xf4d: 0x02c6, 0xf4e: 0x02d5, 0xf4f: 0x02d5, 0xf50: 0x02d5, 0xf51: 0x02d5, + 0xf52: 0x02db, 0xf53: 0x02db, 0xf54: 0x02db, 0xf55: 0x02db, 0xf56: 0x02e1, 0xf57: 0x02e1, + 0xf58: 0x02e1, 0xf59: 0x02e1, 0xf5a: 0x02de, 0xf5b: 0x02de, 0xf5c: 0x02de, 0xf5d: 0x02de, + 0xf5e: 0x02e4, 0xf5f: 0x02e4, 0xf60: 0x02e7, 0xf61: 0x02e7, 0xf62: 0x02e7, 0xf63: 0x02e7, + 0xf64: 0x4471, 0xf65: 0x4471, 0xf66: 0x02ed, 0xf67: 0x02ed, 0xf68: 0x02ed, 0xf69: 0x02ed, + 0xf6a: 0x02ea, 0xf6b: 0x02ea, 0xf6c: 0x02ea, 0xf6d: 0x02ea, 0xf6e: 0x0308, 0xf6f: 0x0308, + 0xf70: 0x446b, 0xf71: 0x446b, + // Block 0x3e, offset 0xf80 + 0xf93: 0x02d8, 0xf94: 0x02d8, 0xf95: 0x02d8, 0xf96: 0x02d8, 0xf97: 0x02f6, + 0xf98: 0x02f6, 0xf99: 0x02f3, 0xf9a: 0x02f3, 0xf9b: 0x02f9, 0xf9c: 0x02f9, 0xf9d: 0x2052, + 0xf9e: 0x02ff, 0xf9f: 0x02ff, 0xfa0: 0x02f0, 0xfa1: 0x02f0, 0xfa2: 0x02fc, 0xfa3: 0x02fc, + 0xfa4: 0x0305, 0xfa5: 0x0305, 0xfa6: 0x0305, 0xfa7: 0x0305, 0xfa8: 0x028d, 0xfa9: 0x028d, + 0xfaa: 0x25ad, 0xfab: 0x25ad, 0xfac: 0x261d, 0xfad: 0x261d, 0xfae: 0x25ec, 0xfaf: 0x25ec, + 0xfb0: 0x2608, 0xfb1: 0x2608, 0xfb2: 0x2601, 0xfb3: 0x2601, 0xfb4: 0x260f, 0xfb5: 0x260f, + 0xfb6: 0x2616, 0xfb7: 0x2616, 0xfb8: 0x2616, 0xfb9: 0x25f3, 0xfba: 0x25f3, 0xfbb: 0x25f3, + 0xfbc: 0x0302, 0xfbd: 0x0302, 0xfbe: 0x0302, 0xfbf: 0x0302, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x25b4, 0xfc1: 0x25bb, 0xfc2: 0x25d7, 0xfc3: 0x25f3, 0xfc4: 0x25fa, 0xfc5: 0x1d8c, + 0xfc6: 0x1d91, 0xfc7: 0x1d96, 0xfc8: 0x1da5, 0xfc9: 0x1db4, 0xfca: 0x1db9, 0xfcb: 0x1dbe, + 0xfcc: 0x1dc3, 0xfcd: 0x1dc8, 0xfce: 0x1dd7, 0xfcf: 0x1de6, 0xfd0: 0x1deb, 0xfd1: 0x1df0, + 0xfd2: 0x1dff, 0xfd3: 0x1e0e, 0xfd4: 0x1e13, 0xfd5: 0x1e18, 0xfd6: 0x1e1d, 0xfd7: 0x1e2c, + 0xfd8: 0x1e31, 0xfd9: 0x1e40, 0xfda: 0x1e45, 0xfdb: 0x1e4a, 0xfdc: 0x1e59, 0xfdd: 0x1e5e, + 0xfde: 0x1e63, 0xfdf: 0x1e6d, 0xfe0: 0x1ea9, 0xfe1: 0x1eb8, 0xfe2: 0x1ec7, 0xfe3: 0x1ecc, + 0xfe4: 0x1ed1, 0xfe5: 0x1edb, 0xfe6: 0x1eea, 0xfe7: 0x1eef, 0xfe8: 0x1efe, 0xfe9: 0x1f03, + 0xfea: 0x1f08, 0xfeb: 0x1f17, 0xfec: 0x1f1c, 0xfed: 0x1f2b, 0xfee: 0x1f30, 0xfef: 0x1f35, + 0xff0: 0x1f3a, 0xff1: 0x1f3f, 0xff2: 0x1f44, 0xff3: 0x1f49, 0xff4: 0x1f4e, 0xff5: 0x1f53, + 0xff6: 0x1f58, 0xff7: 0x1f5d, 0xff8: 0x1f62, 0xff9: 0x1f67, 0xffa: 0x1f6c, 0xffb: 0x1f71, + 0xffc: 0x1f76, 0xffd: 0x1f7b, 0xffe: 0x1f80, 0xfff: 0x1f8a, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f8f, 0x1001: 0x1f94, 0x1002: 0x1f99, 0x1003: 0x1fa3, 0x1004: 0x1fa8, 0x1005: 0x1fb2, + 0x1006: 0x1fb7, 0x1007: 0x1fbc, 0x1008: 0x1fc1, 0x1009: 0x1fc6, 0x100a: 0x1fcb, 0x100b: 0x1fd0, + 0x100c: 0x1fd5, 0x100d: 0x1fda, 0x100e: 0x1fe9, 0x100f: 0x1ff8, 0x1010: 0x1ffd, 0x1011: 0x2002, + 0x1012: 0x2007, 0x1013: 0x200c, 0x1014: 0x2011, 0x1015: 0x201b, 0x1016: 0x2020, 0x1017: 0x2025, + 0x1018: 0x2034, 0x1019: 0x2043, 0x101a: 0x2048, 0x101b: 0x4423, 0x101c: 0x4429, 0x101d: 0x445f, + 0x101e: 0x44b6, 0x101f: 0x44bd, 0x1020: 0x44c4, 0x1021: 0x44cb, 0x1022: 0x44d2, 0x1023: 0x44d9, + 0x1024: 0x25c9, 0x1025: 0x25d0, 0x1026: 0x25d7, 0x1027: 0x25de, 0x1028: 0x25f3, 0x1029: 0x25fa, + 0x102a: 0x1d9b, 0x102b: 0x1da0, 0x102c: 0x1da5, 0x102d: 0x1daa, 0x102e: 0x1db4, 0x102f: 0x1db9, + 0x1030: 0x1dcd, 0x1031: 0x1dd2, 0x1032: 0x1dd7, 0x1033: 0x1ddc, 0x1034: 0x1de6, 0x1035: 0x1deb, + 0x1036: 0x1df5, 0x1037: 0x1dfa, 0x1038: 0x1dff, 0x1039: 0x1e04, 0x103a: 0x1e0e, 0x103b: 0x1e13, + 0x103c: 0x1f3f, 0x103d: 0x1f44, 0x103e: 0x1f53, 0x103f: 0x1f58, + // Block 0x41, offset 0x1040 + 0x1040: 0x1f5d, 0x1041: 0x1f71, 0x1042: 0x1f76, 0x1043: 0x1f7b, 0x1044: 0x1f80, 0x1045: 0x1f99, + 0x1046: 0x1fa3, 0x1047: 0x1fa8, 0x1048: 0x1fad, 0x1049: 0x1fc1, 0x104a: 0x1fdf, 0x104b: 0x1fe4, + 0x104c: 0x1fe9, 0x104d: 0x1fee, 0x104e: 0x1ff8, 0x104f: 0x1ffd, 0x1050: 0x445f, 0x1051: 0x202a, + 0x1052: 0x202f, 0x1053: 0x2034, 0x1054: 0x2039, 0x1055: 0x2043, 0x1056: 0x2048, 0x1057: 0x25b4, + 0x1058: 0x25bb, 0x1059: 0x25c2, 0x105a: 0x25d7, 0x105b: 0x25e5, 0x105c: 0x1d8c, 0x105d: 0x1d91, + 0x105e: 0x1d96, 0x105f: 0x1da5, 0x1060: 0x1daf, 0x1061: 0x1dbe, 0x1062: 0x1dc3, 0x1063: 0x1dc8, + 0x1064: 0x1dd7, 0x1065: 0x1de1, 0x1066: 0x1dff, 0x1067: 0x1e18, 0x1068: 0x1e1d, 0x1069: 0x1e2c, + 0x106a: 0x1e31, 0x106b: 0x1e40, 0x106c: 0x1e4a, 0x106d: 0x1e59, 0x106e: 0x1e5e, 0x106f: 0x1e63, + 0x1070: 0x1e6d, 0x1071: 0x1ea9, 0x1072: 0x1eae, 0x1073: 0x1eb8, 0x1074: 0x1ec7, 0x1075: 0x1ecc, + 0x1076: 0x1ed1, 0x1077: 0x1edb, 0x1078: 0x1eea, 0x1079: 0x1efe, 0x107a: 0x1f03, 0x107b: 0x1f08, + 0x107c: 0x1f17, 0x107d: 0x1f1c, 0x107e: 0x1f2b, 0x107f: 0x1f30, + // Block 0x42, offset 0x1080 + 0x1080: 0x1f35, 0x1081: 0x1f3a, 0x1082: 0x1f49, 0x1083: 0x1f4e, 0x1084: 0x1f62, 0x1085: 0x1f67, + 0x1086: 0x1f6c, 0x1087: 0x1f71, 0x1088: 0x1f76, 0x1089: 0x1f8a, 0x108a: 0x1f8f, 0x108b: 0x1f94, + 0x108c: 0x1f99, 0x108d: 0x1f9e, 0x108e: 0x1fb2, 0x108f: 0x1fb7, 0x1090: 0x1fbc, 0x1091: 0x1fc1, + 0x1092: 0x1fd0, 0x1093: 0x1fd5, 0x1094: 0x1fda, 0x1095: 0x1fe9, 0x1096: 0x1ff3, 0x1097: 0x2002, + 0x1098: 0x2007, 0x1099: 0x4453, 0x109a: 0x201b, 0x109b: 0x2020, 0x109c: 0x2025, 0x109d: 0x2034, + 0x109e: 0x203e, 0x109f: 0x25d7, 0x10a0: 0x25e5, 0x10a1: 0x1da5, 0x10a2: 0x1daf, 0x10a3: 0x1dd7, + 0x10a4: 0x1de1, 0x10a5: 0x1dff, 0x10a6: 0x1e09, 0x10a7: 0x1e6d, 0x10a8: 0x1e72, 0x10a9: 0x1e95, + 0x10aa: 0x1e9a, 0x10ab: 0x1f71, 0x10ac: 0x1f76, 0x10ad: 0x1f99, 0x10ae: 0x1fe9, 0x10af: 0x1ff3, + 0x10b0: 0x2034, 0x10b1: 0x203e, 0x10b2: 0x4507, 0x10b3: 0x450f, 0x10b4: 0x4517, 0x10b5: 0x1ef4, + 0x10b6: 0x1ef9, 0x10b7: 0x1f0d, 0x10b8: 0x1f12, 0x10b9: 0x1f21, 0x10ba: 0x1f26, 0x10bb: 0x1e77, + 0x10bc: 0x1e7c, 0x10bd: 0x1e9f, 0x10be: 0x1ea4, 0x10bf: 0x1e36, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x1e3b, 0x10c1: 0x1e22, 0x10c2: 0x1e27, 0x10c3: 0x1e4f, 0x10c4: 0x1e54, 0x10c5: 0x1ebd, + 0x10c6: 0x1ec2, 0x10c7: 0x1ee0, 0x10c8: 0x1ee5, 0x10c9: 0x1e81, 0x10ca: 0x1e86, 0x10cb: 0x1e8b, + 0x10cc: 0x1e95, 0x10cd: 0x1e90, 0x10ce: 0x1e68, 0x10cf: 0x1eb3, 0x10d0: 0x1ed6, 0x10d1: 0x1ef4, + 0x10d2: 0x1ef9, 0x10d3: 0x1f0d, 0x10d4: 0x1f12, 0x10d5: 0x1f21, 0x10d6: 0x1f26, 0x10d7: 0x1e77, + 0x10d8: 0x1e7c, 0x10d9: 0x1e9f, 0x10da: 0x1ea4, 0x10db: 0x1e36, 0x10dc: 0x1e3b, 0x10dd: 0x1e22, + 0x10de: 0x1e27, 0x10df: 0x1e4f, 0x10e0: 0x1e54, 0x10e1: 0x1ebd, 0x10e2: 0x1ec2, 0x10e3: 0x1ee0, + 0x10e4: 0x1ee5, 0x10e5: 0x1e81, 0x10e6: 0x1e86, 0x10e7: 0x1e8b, 0x10e8: 0x1e95, 0x10e9: 0x1e90, + 0x10ea: 0x1e68, 0x10eb: 0x1eb3, 0x10ec: 0x1ed6, 0x10ed: 0x1e81, 0x10ee: 0x1e86, 0x10ef: 0x1e8b, + 0x10f0: 0x1e95, 0x10f1: 0x1e72, 0x10f2: 0x1e9a, 0x10f3: 0x1eef, 0x10f4: 0x1e59, 0x10f5: 0x1e5e, + 0x10f6: 0x1e63, 0x10f7: 0x1e81, 0x10f8: 0x1e86, 0x10f9: 0x1e8b, 0x10fa: 0x1eef, 0x10fb: 0x1efe, + 0x10fc: 0x440b, 0x10fd: 0x440b, + // Block 0x44, offset 0x1100 + 0x1110: 0x2314, 0x1111: 0x2329, + 0x1112: 0x2329, 0x1113: 0x2330, 0x1114: 0x2337, 0x1115: 0x234c, 0x1116: 0x2353, 0x1117: 0x235a, + 0x1118: 0x237d, 0x1119: 0x237d, 0x111a: 0x23a0, 0x111b: 0x2399, 0x111c: 0x23b5, 0x111d: 0x23a7, + 0x111e: 0x23ae, 0x111f: 0x23d1, 0x1120: 0x23d1, 0x1121: 0x23ca, 0x1122: 0x23d8, 0x1123: 0x23d8, + 0x1124: 0x2402, 0x1125: 0x2402, 0x1126: 0x241e, 0x1127: 0x23e6, 0x1128: 0x23e6, 0x1129: 0x23df, + 0x112a: 0x23f4, 0x112b: 0x23f4, 0x112c: 0x23fb, 0x112d: 0x23fb, 0x112e: 0x2425, 0x112f: 0x2433, + 0x1130: 0x2433, 0x1131: 0x243a, 0x1132: 0x243a, 0x1133: 0x2441, 0x1134: 0x2448, 0x1135: 0x244f, + 0x1136: 0x2456, 0x1137: 0x2456, 0x1138: 0x245d, 0x1139: 0x246b, 0x113a: 0x2479, 0x113b: 0x2472, + 0x113c: 0x2480, 0x113d: 0x2480, 0x113e: 0x2495, 0x113f: 0x249c, + // Block 0x45, offset 0x1140 + 0x1140: 0x24cd, 0x1141: 0x24db, 0x1142: 0x24d4, 0x1143: 0x24b8, 0x1144: 0x24b8, 0x1145: 0x24e2, + 0x1146: 0x24e2, 0x1147: 0x24e9, 0x1148: 0x24e9, 0x1149: 0x2513, 0x114a: 0x251a, 0x114b: 0x2521, + 0x114c: 0x24f7, 0x114d: 0x2505, 0x114e: 0x2528, 0x114f: 0x252f, + 0x1152: 0x24fe, 0x1153: 0x2583, 0x1154: 0x258a, 0x1155: 0x2560, 0x1156: 0x2567, 0x1157: 0x254b, + 0x1158: 0x254b, 0x1159: 0x2552, 0x115a: 0x257c, 0x115b: 0x2575, 0x115c: 0x259f, 0x115d: 0x259f, + 0x115e: 0x230d, 0x115f: 0x2322, 0x1160: 0x231b, 0x1161: 0x2345, 0x1162: 0x233e, 0x1163: 0x2368, + 0x1164: 0x2361, 0x1165: 0x238b, 0x1166: 0x236f, 0x1167: 0x2384, 0x1168: 0x23bc, 0x1169: 0x2409, + 0x116a: 0x23ed, 0x116b: 0x242c, 0x116c: 0x24c6, 0x116d: 0x24f0, 0x116e: 0x2598, 0x116f: 0x2591, + 0x1170: 0x25a6, 0x1171: 0x253d, 0x1172: 0x24a3, 0x1173: 0x256e, 0x1174: 0x2495, 0x1175: 0x24cd, + 0x1176: 0x2464, 0x1177: 0x24b1, 0x1178: 0x2544, 0x1179: 0x2536, 0x117a: 0x24bf, 0x117b: 0x24aa, + 0x117c: 0x24bf, 0x117d: 0x2544, 0x117e: 0x2376, 0x117f: 0x2392, + // Block 0x46, offset 0x1180 + 0x1180: 0x250c, 0x1181: 0x2487, 0x1182: 0x2306, 0x1183: 0x24aa, 0x1184: 0x244f, 0x1185: 0x241e, + 0x1186: 0x23c3, 0x1187: 0x2559, + 0x11b0: 0x2417, 0x11b1: 0x248e, 0x11b2: 0x27c2, 0x11b3: 0x27b9, 0x11b4: 0x27ef, 0x11b5: 0x27dd, + 0x11b6: 0x27cb, 0x11b7: 0x27e6, 0x11b8: 0x27f8, 0x11b9: 0x2410, 0x11ba: 0x2c7f, 0x11bb: 0x2aff, + 0x11bc: 0x27d4, + // Block 0x47, offset 0x11c0 + 0x11d0: 0x0019, 0x11d1: 0x0483, + 0x11d2: 0x0487, 0x11d3: 0x0035, 0x11d4: 0x0037, 0x11d5: 0x0003, 0x11d6: 0x003f, 0x11d7: 0x04bf, + 0x11d8: 0x04c3, 0x11d9: 0x1b5f, + 0x11e0: 0x8132, 0x11e1: 0x8132, 0x11e2: 0x8132, 0x11e3: 0x8132, + 0x11e4: 0x8132, 0x11e5: 0x8132, 0x11e6: 0x8132, 0x11e7: 0x812d, 0x11e8: 0x812d, 0x11e9: 0x812d, + 0x11ea: 0x812d, 0x11eb: 0x812d, 0x11ec: 0x812d, 0x11ed: 0x812d, 0x11ee: 0x8132, 0x11ef: 0x8132, + 0x11f0: 0x1873, 0x11f1: 0x0443, 0x11f2: 0x043f, 0x11f3: 0x007f, 0x11f4: 0x007f, 0x11f5: 0x0011, + 0x11f6: 0x0013, 0x11f7: 0x00b7, 0x11f8: 0x00bb, 0x11f9: 0x04b7, 0x11fa: 0x04bb, 0x11fb: 0x04ab, + 0x11fc: 0x04af, 0x11fd: 0x0493, 0x11fe: 0x0497, 0x11ff: 0x048b, + // Block 0x48, offset 0x1200 + 0x1200: 0x048f, 0x1201: 0x049b, 0x1202: 0x049f, 0x1203: 0x04a3, 0x1204: 0x04a7, + 0x1207: 0x0077, 0x1208: 0x007b, 0x1209: 0x426c, 0x120a: 0x426c, 0x120b: 0x426c, + 0x120c: 0x426c, 0x120d: 0x007f, 0x120e: 0x007f, 0x120f: 0x007f, 0x1210: 0x0019, 0x1211: 0x0483, + 0x1212: 0x001d, 0x1214: 0x0037, 0x1215: 0x0035, 0x1216: 0x003f, 0x1217: 0x0003, + 0x1218: 0x0443, 0x1219: 0x0011, 0x121a: 0x0013, 0x121b: 0x00b7, 0x121c: 0x00bb, 0x121d: 0x04b7, + 0x121e: 0x04bb, 0x121f: 0x0007, 0x1220: 0x000d, 0x1221: 0x0015, 0x1222: 0x0017, 0x1223: 0x001b, + 0x1224: 0x0039, 0x1225: 0x003d, 0x1226: 0x003b, 0x1228: 0x0079, 0x1229: 0x0009, + 0x122a: 0x000b, 0x122b: 0x0041, + 0x1230: 0x42ad, 0x1231: 0x442f, 0x1232: 0x42b2, 0x1234: 0x42b7, + 0x1236: 0x42bc, 0x1237: 0x4435, 0x1238: 0x42c1, 0x1239: 0x443b, 0x123a: 0x42c6, 0x123b: 0x4441, + 0x123c: 0x42cb, 0x123d: 0x4447, 0x123e: 0x42d0, 0x123f: 0x444d, + // Block 0x49, offset 0x1240 + 0x1240: 0x0236, 0x1241: 0x4411, 0x1242: 0x4411, 0x1243: 0x4417, 0x1244: 0x4417, 0x1245: 0x4459, + 0x1246: 0x4459, 0x1247: 0x441d, 0x1248: 0x441d, 0x1249: 0x4465, 0x124a: 0x4465, 0x124b: 0x4465, + 0x124c: 0x4465, 0x124d: 0x0239, 0x124e: 0x0239, 0x124f: 0x023c, 0x1250: 0x023c, 0x1251: 0x023c, + 0x1252: 0x023c, 0x1253: 0x023f, 0x1254: 0x023f, 0x1255: 0x0242, 0x1256: 0x0242, 0x1257: 0x0242, + 0x1258: 0x0242, 0x1259: 0x0245, 0x125a: 0x0245, 0x125b: 0x0245, 0x125c: 0x0245, 0x125d: 0x0248, + 0x125e: 0x0248, 0x125f: 0x0248, 0x1260: 0x0248, 0x1261: 0x024b, 0x1262: 0x024b, 0x1263: 0x024b, + 0x1264: 0x024b, 0x1265: 0x024e, 0x1266: 0x024e, 0x1267: 0x024e, 0x1268: 0x024e, 0x1269: 0x0251, + 0x126a: 0x0251, 0x126b: 0x0254, 0x126c: 0x0254, 0x126d: 0x0257, 0x126e: 0x0257, 0x126f: 0x025a, + 0x1270: 0x025a, 0x1271: 0x025d, 0x1272: 0x025d, 0x1273: 0x025d, 0x1274: 0x025d, 0x1275: 0x0260, + 0x1276: 0x0260, 0x1277: 0x0260, 0x1278: 0x0260, 0x1279: 0x0263, 0x127a: 0x0263, 0x127b: 0x0263, + 0x127c: 0x0263, 0x127d: 0x0266, 0x127e: 0x0266, 0x127f: 0x0266, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0266, 0x1281: 0x0269, 0x1282: 0x0269, 0x1283: 0x0269, 0x1284: 0x0269, 0x1285: 0x026c, + 0x1286: 0x026c, 0x1287: 0x026c, 0x1288: 0x026c, 0x1289: 0x026f, 0x128a: 0x026f, 0x128b: 0x026f, + 0x128c: 0x026f, 0x128d: 0x0272, 0x128e: 0x0272, 0x128f: 0x0272, 0x1290: 0x0272, 0x1291: 0x0275, + 0x1292: 0x0275, 0x1293: 0x0275, 0x1294: 0x0275, 0x1295: 0x0278, 0x1296: 0x0278, 0x1297: 0x0278, + 0x1298: 0x0278, 0x1299: 0x027b, 0x129a: 0x027b, 0x129b: 0x027b, 0x129c: 0x027b, 0x129d: 0x027e, + 0x129e: 0x027e, 0x129f: 0x027e, 0x12a0: 0x027e, 0x12a1: 0x0281, 0x12a2: 0x0281, 0x12a3: 0x0281, + 0x12a4: 0x0281, 0x12a5: 0x0284, 0x12a6: 0x0284, 0x12a7: 0x0284, 0x12a8: 0x0284, 0x12a9: 0x0287, + 0x12aa: 0x0287, 0x12ab: 0x0287, 0x12ac: 0x0287, 0x12ad: 0x028a, 0x12ae: 0x028a, 0x12af: 0x028d, + 0x12b0: 0x028d, 0x12b1: 0x0290, 0x12b2: 0x0290, 0x12b3: 0x0290, 0x12b4: 0x0290, 0x12b5: 0x2e03, + 0x12b6: 0x2e03, 0x12b7: 0x2e0b, 0x12b8: 0x2e0b, 0x12b9: 0x2e13, 0x12ba: 0x2e13, 0x12bb: 0x1f85, + 0x12bc: 0x1f85, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x0081, 0x12c1: 0x0083, 0x12c2: 0x0085, 0x12c3: 0x0087, 0x12c4: 0x0089, 0x12c5: 0x008b, + 0x12c6: 0x008d, 0x12c7: 0x008f, 0x12c8: 0x0091, 0x12c9: 0x0093, 0x12ca: 0x0095, 0x12cb: 0x0097, + 0x12cc: 0x0099, 0x12cd: 0x009b, 0x12ce: 0x009d, 0x12cf: 0x009f, 0x12d0: 0x00a1, 0x12d1: 0x00a3, + 0x12d2: 0x00a5, 0x12d3: 0x00a7, 0x12d4: 0x00a9, 0x12d5: 0x00ab, 0x12d6: 0x00ad, 0x12d7: 0x00af, + 0x12d8: 0x00b1, 0x12d9: 0x00b3, 0x12da: 0x00b5, 0x12db: 0x00b7, 0x12dc: 0x00b9, 0x12dd: 0x00bb, + 0x12de: 0x00bd, 0x12df: 0x0477, 0x12e0: 0x047b, 0x12e1: 0x0487, 0x12e2: 0x049b, 0x12e3: 0x049f, + 0x12e4: 0x0483, 0x12e5: 0x05ab, 0x12e6: 0x05a3, 0x12e7: 0x04c7, 0x12e8: 0x04cf, 0x12e9: 0x04d7, + 0x12ea: 0x04df, 0x12eb: 0x04e7, 0x12ec: 0x056b, 0x12ed: 0x0573, 0x12ee: 0x057b, 0x12ef: 0x051f, + 0x12f0: 0x05af, 0x12f1: 0x04cb, 0x12f2: 0x04d3, 0x12f3: 0x04db, 0x12f4: 0x04e3, 0x12f5: 0x04eb, + 0x12f6: 0x04ef, 0x12f7: 0x04f3, 0x12f8: 0x04f7, 0x12f9: 0x04fb, 0x12fa: 0x04ff, 0x12fb: 0x0503, + 0x12fc: 0x0507, 0x12fd: 0x050b, 0x12fe: 0x050f, 0x12ff: 0x0513, + // Block 0x4c, offset 0x1300 + 0x1300: 0x0517, 0x1301: 0x051b, 0x1302: 0x0523, 0x1303: 0x0527, 0x1304: 0x052b, 0x1305: 0x052f, + 0x1306: 0x0533, 0x1307: 0x0537, 0x1308: 0x053b, 0x1309: 0x053f, 0x130a: 0x0543, 0x130b: 0x0547, + 0x130c: 0x054b, 0x130d: 0x054f, 0x130e: 0x0553, 0x130f: 0x0557, 0x1310: 0x055b, 0x1311: 0x055f, + 0x1312: 0x0563, 0x1313: 0x0567, 0x1314: 0x056f, 0x1315: 0x0577, 0x1316: 0x057f, 0x1317: 0x0583, + 0x1318: 0x0587, 0x1319: 0x058b, 0x131a: 0x058f, 0x131b: 0x0593, 0x131c: 0x0597, 0x131d: 0x05a7, + 0x131e: 0x4a7b, 0x131f: 0x4a81, 0x1320: 0x03c3, 0x1321: 0x0313, 0x1322: 0x0317, 0x1323: 0x4a3e, + 0x1324: 0x031b, 0x1325: 0x4a44, 0x1326: 0x4a4a, 0x1327: 0x031f, 0x1328: 0x0323, 0x1329: 0x0327, + 0x132a: 0x4a50, 0x132b: 0x4a56, 0x132c: 0x4a5c, 0x132d: 0x4a62, 0x132e: 0x4a68, 0x132f: 0x4a6e, + 0x1330: 0x0367, 0x1331: 0x032b, 0x1332: 0x032f, 0x1333: 0x0333, 0x1334: 0x037b, 0x1335: 0x0337, + 0x1336: 0x033b, 0x1337: 0x033f, 0x1338: 0x0343, 0x1339: 0x0347, 0x133a: 0x034b, 0x133b: 0x034f, + 0x133c: 0x0353, 0x133d: 0x0357, 0x133e: 0x035b, + // Block 0x4d, offset 0x1340 + 0x1342: 0x49c0, 0x1343: 0x49c6, 0x1344: 0x49cc, 0x1345: 0x49d2, + 0x1346: 0x49d8, 0x1347: 0x49de, 0x134a: 0x49e4, 0x134b: 0x49ea, + 0x134c: 0x49f0, 0x134d: 0x49f6, 0x134e: 0x49fc, 0x134f: 0x4a02, + 0x1352: 0x4a08, 0x1353: 0x4a0e, 0x1354: 0x4a14, 0x1355: 0x4a1a, 0x1356: 0x4a20, 0x1357: 0x4a26, + 0x135a: 0x4a2c, 0x135b: 0x4a32, 0x135c: 0x4a38, + 0x1360: 0x00bf, 0x1361: 0x00c2, 0x1362: 0x00cb, 0x1363: 0x4267, + 0x1364: 0x00c8, 0x1365: 0x00c5, 0x1366: 0x0447, 0x1368: 0x046b, 0x1369: 0x044b, + 0x136a: 0x044f, 0x136b: 0x0453, 0x136c: 0x0457, 0x136d: 0x046f, 0x136e: 0x0473, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0063, 0x1381: 0x0065, 0x1382: 0x0067, 0x1383: 0x0069, 0x1384: 0x006b, 0x1385: 0x006d, + 0x1386: 0x006f, 0x1387: 0x0071, 0x1388: 0x0073, 0x1389: 0x0075, 0x138a: 0x0083, 0x138b: 0x0085, + 0x138c: 0x0087, 0x138d: 0x0089, 0x138e: 0x008b, 0x138f: 0x008d, 0x1390: 0x008f, 0x1391: 0x0091, + 0x1392: 0x0093, 0x1393: 0x0095, 0x1394: 0x0097, 0x1395: 0x0099, 0x1396: 0x009b, 0x1397: 0x009d, + 0x1398: 0x009f, 0x1399: 0x00a1, 0x139a: 0x00a3, 0x139b: 0x00a5, 0x139c: 0x00a7, 0x139d: 0x00a9, + 0x139e: 0x00ab, 0x139f: 0x00ad, 0x13a0: 0x00af, 0x13a1: 0x00b1, 0x13a2: 0x00b3, 0x13a3: 0x00b5, + 0x13a4: 0x00dd, 0x13a5: 0x00f2, 0x13a8: 0x0173, 0x13a9: 0x0176, + 0x13aa: 0x0179, 0x13ab: 0x017c, 0x13ac: 0x017f, 0x13ad: 0x0182, 0x13ae: 0x0185, 0x13af: 0x0188, + 0x13b0: 0x018b, 0x13b1: 0x018e, 0x13b2: 0x0191, 0x13b3: 0x0194, 0x13b4: 0x0197, 0x13b5: 0x019a, + 0x13b6: 0x019d, 0x13b7: 0x01a0, 0x13b8: 0x01a3, 0x13b9: 0x0188, 0x13ba: 0x01a6, 0x13bb: 0x01a9, + 0x13bc: 0x01ac, 0x13bd: 0x01af, 0x13be: 0x01b2, 0x13bf: 0x01b5, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x01fd, 0x13c1: 0x0200, 0x13c2: 0x0203, 0x13c3: 0x045b, 0x13c4: 0x01c7, 0x13c5: 0x01d0, + 0x13c6: 0x01d6, 0x13c7: 0x01fa, 0x13c8: 0x01eb, 0x13c9: 0x01e8, 0x13ca: 0x0206, 0x13cb: 0x0209, + 0x13ce: 0x0021, 0x13cf: 0x0023, 0x13d0: 0x0025, 0x13d1: 0x0027, + 0x13d2: 0x0029, 0x13d3: 0x002b, 0x13d4: 0x002d, 0x13d5: 0x002f, 0x13d6: 0x0031, 0x13d7: 0x0033, + 0x13d8: 0x0021, 0x13d9: 0x0023, 0x13da: 0x0025, 0x13db: 0x0027, 0x13dc: 0x0029, 0x13dd: 0x002b, + 0x13de: 0x002d, 0x13df: 0x002f, 0x13e0: 0x0031, 0x13e1: 0x0033, 0x13e2: 0x0021, 0x13e3: 0x0023, + 0x13e4: 0x0025, 0x13e5: 0x0027, 0x13e6: 0x0029, 0x13e7: 0x002b, 0x13e8: 0x002d, 0x13e9: 0x002f, + 0x13ea: 0x0031, 0x13eb: 0x0033, 0x13ec: 0x0021, 0x13ed: 0x0023, 0x13ee: 0x0025, 0x13ef: 0x0027, + 0x13f0: 0x0029, 0x13f1: 0x002b, 0x13f2: 0x002d, 0x13f3: 0x002f, 0x13f4: 0x0031, 0x13f5: 0x0033, + 0x13f6: 0x0021, 0x13f7: 0x0023, 0x13f8: 0x0025, 0x13f9: 0x0027, 0x13fa: 0x0029, 0x13fb: 0x002b, + 0x13fc: 0x002d, 0x13fd: 0x002f, 0x13fe: 0x0031, 0x13ff: 0x0033, + // Block 0x50, offset 0x1400 + 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1405: 0x028a, + 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140a: 0x027b, 0x140b: 0x027e, + 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, + 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, 0x141c: 0x0293, 0x141d: 0x02e4, + 0x141e: 0x02cc, 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, + 0x1424: 0x0287, 0x1427: 0x024b, 0x1429: 0x0290, + 0x142a: 0x027b, 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143b: 0x0272, + // Block 0x51, offset 0x1440 + 0x1442: 0x0248, + 0x1447: 0x024b, 0x1449: 0x0290, 0x144b: 0x027e, + 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1451: 0x0263, + 0x1452: 0x0278, 0x1454: 0x0260, 0x1457: 0x024e, + 0x1459: 0x0266, 0x145b: 0x0272, 0x145d: 0x02e4, + 0x145f: 0x0296, 0x1461: 0x023c, 0x1462: 0x0248, + 0x1464: 0x0287, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, + 0x146a: 0x027b, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, + 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1474: 0x0260, 0x1475: 0x0242, + 0x1476: 0x0245, 0x1477: 0x024e, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, + 0x147c: 0x0293, 0x147e: 0x02cc, + // Block 0x52, offset 0x1480 + 0x1480: 0x0239, 0x1481: 0x023c, 0x1482: 0x0248, 0x1483: 0x0251, 0x1484: 0x0287, 0x1485: 0x028a, + 0x1486: 0x025a, 0x1487: 0x024b, 0x1488: 0x0269, 0x1489: 0x0290, 0x148b: 0x027e, + 0x148c: 0x0281, 0x148d: 0x0284, 0x148e: 0x025d, 0x148f: 0x026f, 0x1490: 0x0275, 0x1491: 0x0263, + 0x1492: 0x0278, 0x1493: 0x0257, 0x1494: 0x0260, 0x1495: 0x0242, 0x1496: 0x0245, 0x1497: 0x024e, + 0x1498: 0x0254, 0x1499: 0x0266, 0x149a: 0x026c, 0x149b: 0x0272, + 0x14a1: 0x023c, 0x14a2: 0x0248, 0x14a3: 0x0251, + 0x14a5: 0x028a, 0x14a6: 0x025a, 0x14a7: 0x024b, 0x14a8: 0x0269, 0x14a9: 0x0290, + 0x14ab: 0x027e, 0x14ac: 0x0281, 0x14ad: 0x0284, 0x14ae: 0x025d, 0x14af: 0x026f, + 0x14b0: 0x0275, 0x14b1: 0x0263, 0x14b2: 0x0278, 0x14b3: 0x0257, 0x14b4: 0x0260, 0x14b5: 0x0242, + 0x14b6: 0x0245, 0x14b7: 0x024e, 0x14b8: 0x0254, 0x14b9: 0x0266, 0x14ba: 0x026c, 0x14bb: 0x0272, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x1879, 0x14c1: 0x1876, 0x14c2: 0x187c, 0x14c3: 0x18a0, 0x14c4: 0x18c4, 0x14c5: 0x18e8, + 0x14c6: 0x190c, 0x14c7: 0x1915, 0x14c8: 0x191b, 0x14c9: 0x1921, 0x14ca: 0x1927, + 0x14d0: 0x1a8f, 0x14d1: 0x1a93, + 0x14d2: 0x1a97, 0x14d3: 0x1a9b, 0x14d4: 0x1a9f, 0x14d5: 0x1aa3, 0x14d6: 0x1aa7, 0x14d7: 0x1aab, + 0x14d8: 0x1aaf, 0x14d9: 0x1ab3, 0x14da: 0x1ab7, 0x14db: 0x1abb, 0x14dc: 0x1abf, 0x14dd: 0x1ac3, + 0x14de: 0x1ac7, 0x14df: 0x1acb, 0x14e0: 0x1acf, 0x14e1: 0x1ad3, 0x14e2: 0x1ad7, 0x14e3: 0x1adb, + 0x14e4: 0x1adf, 0x14e5: 0x1ae3, 0x14e6: 0x1ae7, 0x14e7: 0x1aeb, 0x14e8: 0x1aef, 0x14e9: 0x1af3, + 0x14ea: 0x2721, 0x14eb: 0x0047, 0x14ec: 0x0065, 0x14ed: 0x193c, 0x14ee: 0x19b4, + 0x14f0: 0x0043, 0x14f1: 0x0045, 0x14f2: 0x0047, 0x14f3: 0x0049, 0x14f4: 0x004b, 0x14f5: 0x004d, + 0x14f6: 0x004f, 0x14f7: 0x0051, 0x14f8: 0x0053, 0x14f9: 0x0055, 0x14fa: 0x0057, 0x14fb: 0x0059, + 0x14fc: 0x005b, 0x14fd: 0x005d, 0x14fe: 0x005f, 0x14ff: 0x0061, + // Block 0x54, offset 0x1500 + 0x1500: 0x26b0, 0x1501: 0x26c5, 0x1502: 0x0503, + 0x1510: 0x0c0f, 0x1511: 0x0a47, + 0x1512: 0x08d3, 0x1513: 0x45c7, 0x1514: 0x071b, 0x1515: 0x09ef, 0x1516: 0x132f, 0x1517: 0x09ff, + 0x1518: 0x0727, 0x1519: 0x0cd7, 0x151a: 0x0eaf, 0x151b: 0x0caf, 0x151c: 0x0827, 0x151d: 0x0b6b, + 0x151e: 0x07bf, 0x151f: 0x0cb7, 0x1520: 0x0813, 0x1521: 0x1117, 0x1522: 0x0f83, 0x1523: 0x138b, + 0x1524: 0x09d3, 0x1525: 0x090b, 0x1526: 0x0e63, 0x1527: 0x0c1b, 0x1528: 0x0c47, 0x1529: 0x06bf, + 0x152a: 0x06cb, 0x152b: 0x140b, 0x152c: 0x0adb, 0x152d: 0x06e7, 0x152e: 0x08ef, 0x152f: 0x0c3b, + 0x1530: 0x13b3, 0x1531: 0x0c13, 0x1532: 0x106f, 0x1533: 0x10ab, 0x1534: 0x08f7, 0x1535: 0x0e43, + 0x1536: 0x0d0b, 0x1537: 0x0d07, 0x1538: 0x0f97, 0x1539: 0x082b, 0x153a: 0x0957, 0x153b: 0x1443, + // Block 0x55, offset 0x1540 + 0x1540: 0x06fb, 0x1541: 0x06f3, 0x1542: 0x0703, 0x1543: 0x1647, 0x1544: 0x0747, 0x1545: 0x0757, + 0x1546: 0x075b, 0x1547: 0x0763, 0x1548: 0x076b, 0x1549: 0x076f, 0x154a: 0x077b, 0x154b: 0x0773, + 0x154c: 0x05b3, 0x154d: 0x165b, 0x154e: 0x078f, 0x154f: 0x0793, 0x1550: 0x0797, 0x1551: 0x07b3, + 0x1552: 0x164c, 0x1553: 0x05b7, 0x1554: 0x079f, 0x1555: 0x07bf, 0x1556: 0x1656, 0x1557: 0x07cf, + 0x1558: 0x07d7, 0x1559: 0x0737, 0x155a: 0x07df, 0x155b: 0x07e3, 0x155c: 0x1831, 0x155d: 0x07ff, + 0x155e: 0x0807, 0x155f: 0x05bf, 0x1560: 0x081f, 0x1561: 0x0823, 0x1562: 0x082b, 0x1563: 0x082f, + 0x1564: 0x05c3, 0x1565: 0x0847, 0x1566: 0x084b, 0x1567: 0x0857, 0x1568: 0x0863, 0x1569: 0x0867, + 0x156a: 0x086b, 0x156b: 0x0873, 0x156c: 0x0893, 0x156d: 0x0897, 0x156e: 0x089f, 0x156f: 0x08af, + 0x1570: 0x08b7, 0x1571: 0x08bb, 0x1572: 0x08bb, 0x1573: 0x08bb, 0x1574: 0x166a, 0x1575: 0x0e93, + 0x1576: 0x08cf, 0x1577: 0x08d7, 0x1578: 0x166f, 0x1579: 0x08e3, 0x157a: 0x08eb, 0x157b: 0x08f3, + 0x157c: 0x091b, 0x157d: 0x0907, 0x157e: 0x0913, 0x157f: 0x0917, + // Block 0x56, offset 0x1580 + 0x1580: 0x091f, 0x1581: 0x0927, 0x1582: 0x092b, 0x1583: 0x0933, 0x1584: 0x093b, 0x1585: 0x093f, + 0x1586: 0x093f, 0x1587: 0x0947, 0x1588: 0x094f, 0x1589: 0x0953, 0x158a: 0x095f, 0x158b: 0x0983, + 0x158c: 0x0967, 0x158d: 0x0987, 0x158e: 0x096b, 0x158f: 0x0973, 0x1590: 0x080b, 0x1591: 0x09cf, + 0x1592: 0x0997, 0x1593: 0x099b, 0x1594: 0x099f, 0x1595: 0x0993, 0x1596: 0x09a7, 0x1597: 0x09a3, + 0x1598: 0x09bb, 0x1599: 0x1674, 0x159a: 0x09d7, 0x159b: 0x09db, 0x159c: 0x09e3, 0x159d: 0x09ef, + 0x159e: 0x09f7, 0x159f: 0x0a13, 0x15a0: 0x1679, 0x15a1: 0x167e, 0x15a2: 0x0a1f, 0x15a3: 0x0a23, + 0x15a4: 0x0a27, 0x15a5: 0x0a1b, 0x15a6: 0x0a2f, 0x15a7: 0x05c7, 0x15a8: 0x05cb, 0x15a9: 0x0a37, + 0x15aa: 0x0a3f, 0x15ab: 0x0a3f, 0x15ac: 0x1683, 0x15ad: 0x0a5b, 0x15ae: 0x0a5f, 0x15af: 0x0a63, + 0x15b0: 0x0a6b, 0x15b1: 0x1688, 0x15b2: 0x0a73, 0x15b3: 0x0a77, 0x15b4: 0x0b4f, 0x15b5: 0x0a7f, + 0x15b6: 0x05cf, 0x15b7: 0x0a8b, 0x15b8: 0x0a9b, 0x15b9: 0x0aa7, 0x15ba: 0x0aa3, 0x15bb: 0x1692, + 0x15bc: 0x0aaf, 0x15bd: 0x1697, 0x15be: 0x0abb, 0x15bf: 0x0ab7, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0abf, 0x15c1: 0x0acf, 0x15c2: 0x0ad3, 0x15c3: 0x05d3, 0x15c4: 0x0ae3, 0x15c5: 0x0aeb, + 0x15c6: 0x0aef, 0x15c7: 0x0af3, 0x15c8: 0x05d7, 0x15c9: 0x169c, 0x15ca: 0x05db, 0x15cb: 0x0b0f, + 0x15cc: 0x0b13, 0x15cd: 0x0b17, 0x15ce: 0x0b1f, 0x15cf: 0x1863, 0x15d0: 0x0b37, 0x15d1: 0x16a6, + 0x15d2: 0x16a6, 0x15d3: 0x11d7, 0x15d4: 0x0b47, 0x15d5: 0x0b47, 0x15d6: 0x05df, 0x15d7: 0x16c9, + 0x15d8: 0x179b, 0x15d9: 0x0b57, 0x15da: 0x0b5f, 0x15db: 0x05e3, 0x15dc: 0x0b73, 0x15dd: 0x0b83, + 0x15de: 0x0b87, 0x15df: 0x0b8f, 0x15e0: 0x0b9f, 0x15e1: 0x05eb, 0x15e2: 0x05e7, 0x15e3: 0x0ba3, + 0x15e4: 0x16ab, 0x15e5: 0x0ba7, 0x15e6: 0x0bbb, 0x15e7: 0x0bbf, 0x15e8: 0x0bc3, 0x15e9: 0x0bbf, + 0x15ea: 0x0bcf, 0x15eb: 0x0bd3, 0x15ec: 0x0be3, 0x15ed: 0x0bdb, 0x15ee: 0x0bdf, 0x15ef: 0x0be7, + 0x15f0: 0x0beb, 0x15f1: 0x0bef, 0x15f2: 0x0bfb, 0x15f3: 0x0bff, 0x15f4: 0x0c17, 0x15f5: 0x0c1f, + 0x15f6: 0x0c2f, 0x15f7: 0x0c43, 0x15f8: 0x16ba, 0x15f9: 0x0c3f, 0x15fa: 0x0c33, 0x15fb: 0x0c4b, + 0x15fc: 0x0c53, 0x15fd: 0x0c67, 0x15fe: 0x16bf, 0x15ff: 0x0c6f, + // Block 0x58, offset 0x1600 + 0x1600: 0x0c63, 0x1601: 0x0c5b, 0x1602: 0x05ef, 0x1603: 0x0c77, 0x1604: 0x0c7f, 0x1605: 0x0c87, + 0x1606: 0x0c7b, 0x1607: 0x05f3, 0x1608: 0x0c97, 0x1609: 0x0c9f, 0x160a: 0x16c4, 0x160b: 0x0ccb, + 0x160c: 0x0cff, 0x160d: 0x0cdb, 0x160e: 0x05ff, 0x160f: 0x0ce7, 0x1610: 0x05fb, 0x1611: 0x05f7, + 0x1612: 0x07c3, 0x1613: 0x07c7, 0x1614: 0x0d03, 0x1615: 0x0ceb, 0x1616: 0x11ab, 0x1617: 0x0663, + 0x1618: 0x0d0f, 0x1619: 0x0d13, 0x161a: 0x0d17, 0x161b: 0x0d2b, 0x161c: 0x0d23, 0x161d: 0x16dd, + 0x161e: 0x0603, 0x161f: 0x0d3f, 0x1620: 0x0d33, 0x1621: 0x0d4f, 0x1622: 0x0d57, 0x1623: 0x16e7, + 0x1624: 0x0d5b, 0x1625: 0x0d47, 0x1626: 0x0d63, 0x1627: 0x0607, 0x1628: 0x0d67, 0x1629: 0x0d6b, + 0x162a: 0x0d6f, 0x162b: 0x0d7b, 0x162c: 0x16ec, 0x162d: 0x0d83, 0x162e: 0x060b, 0x162f: 0x0d8f, + 0x1630: 0x16f1, 0x1631: 0x0d93, 0x1632: 0x060f, 0x1633: 0x0d9f, 0x1634: 0x0dab, 0x1635: 0x0db7, + 0x1636: 0x0dbb, 0x1637: 0x16f6, 0x1638: 0x168d, 0x1639: 0x16fb, 0x163a: 0x0ddb, 0x163b: 0x1700, + 0x163c: 0x0de7, 0x163d: 0x0def, 0x163e: 0x0ddf, 0x163f: 0x0dfb, + // Block 0x59, offset 0x1640 + 0x1640: 0x0e0b, 0x1641: 0x0e1b, 0x1642: 0x0e0f, 0x1643: 0x0e13, 0x1644: 0x0e1f, 0x1645: 0x0e23, + 0x1646: 0x1705, 0x1647: 0x0e07, 0x1648: 0x0e3b, 0x1649: 0x0e3f, 0x164a: 0x0613, 0x164b: 0x0e53, + 0x164c: 0x0e4f, 0x164d: 0x170a, 0x164e: 0x0e33, 0x164f: 0x0e6f, 0x1650: 0x170f, 0x1651: 0x1714, + 0x1652: 0x0e73, 0x1653: 0x0e87, 0x1654: 0x0e83, 0x1655: 0x0e7f, 0x1656: 0x0617, 0x1657: 0x0e8b, + 0x1658: 0x0e9b, 0x1659: 0x0e97, 0x165a: 0x0ea3, 0x165b: 0x1651, 0x165c: 0x0eb3, 0x165d: 0x1719, + 0x165e: 0x0ebf, 0x165f: 0x1723, 0x1660: 0x0ed3, 0x1661: 0x0edf, 0x1662: 0x0ef3, 0x1663: 0x1728, + 0x1664: 0x0f07, 0x1665: 0x0f0b, 0x1666: 0x172d, 0x1667: 0x1732, 0x1668: 0x0f27, 0x1669: 0x0f37, + 0x166a: 0x061b, 0x166b: 0x0f3b, 0x166c: 0x061f, 0x166d: 0x061f, 0x166e: 0x0f53, 0x166f: 0x0f57, + 0x1670: 0x0f5f, 0x1671: 0x0f63, 0x1672: 0x0f6f, 0x1673: 0x0623, 0x1674: 0x0f87, 0x1675: 0x1737, + 0x1676: 0x0fa3, 0x1677: 0x173c, 0x1678: 0x0faf, 0x1679: 0x16a1, 0x167a: 0x0fbf, 0x167b: 0x1741, + 0x167c: 0x1746, 0x167d: 0x174b, 0x167e: 0x0627, 0x167f: 0x062b, + // Block 0x5a, offset 0x1680 + 0x1680: 0x0ff7, 0x1681: 0x1755, 0x1682: 0x1750, 0x1683: 0x175a, 0x1684: 0x175f, 0x1685: 0x0fff, + 0x1686: 0x1003, 0x1687: 0x1003, 0x1688: 0x100b, 0x1689: 0x0633, 0x168a: 0x100f, 0x168b: 0x0637, + 0x168c: 0x063b, 0x168d: 0x1769, 0x168e: 0x1023, 0x168f: 0x102b, 0x1690: 0x1037, 0x1691: 0x063f, + 0x1692: 0x176e, 0x1693: 0x105b, 0x1694: 0x1773, 0x1695: 0x1778, 0x1696: 0x107b, 0x1697: 0x1093, + 0x1698: 0x0643, 0x1699: 0x109b, 0x169a: 0x109f, 0x169b: 0x10a3, 0x169c: 0x177d, 0x169d: 0x1782, + 0x169e: 0x1782, 0x169f: 0x10bb, 0x16a0: 0x0647, 0x16a1: 0x1787, 0x16a2: 0x10cf, 0x16a3: 0x10d3, + 0x16a4: 0x064b, 0x16a5: 0x178c, 0x16a6: 0x10ef, 0x16a7: 0x064f, 0x16a8: 0x10ff, 0x16a9: 0x10f7, + 0x16aa: 0x1107, 0x16ab: 0x1796, 0x16ac: 0x111f, 0x16ad: 0x0653, 0x16ae: 0x112b, 0x16af: 0x1133, + 0x16b0: 0x1143, 0x16b1: 0x0657, 0x16b2: 0x17a0, 0x16b3: 0x17a5, 0x16b4: 0x065b, 0x16b5: 0x17aa, + 0x16b6: 0x115b, 0x16b7: 0x17af, 0x16b8: 0x1167, 0x16b9: 0x1173, 0x16ba: 0x117b, 0x16bb: 0x17b4, + 0x16bc: 0x17b9, 0x16bd: 0x118f, 0x16be: 0x17be, 0x16bf: 0x1197, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x16ce, 0x16c1: 0x065f, 0x16c2: 0x11af, 0x16c3: 0x11b3, 0x16c4: 0x0667, 0x16c5: 0x11b7, + 0x16c6: 0x0a33, 0x16c7: 0x17c3, 0x16c8: 0x17c8, 0x16c9: 0x16d3, 0x16ca: 0x16d8, 0x16cb: 0x11d7, + 0x16cc: 0x11db, 0x16cd: 0x13f3, 0x16ce: 0x066b, 0x16cf: 0x1207, 0x16d0: 0x1203, 0x16d1: 0x120b, + 0x16d2: 0x083f, 0x16d3: 0x120f, 0x16d4: 0x1213, 0x16d5: 0x1217, 0x16d6: 0x121f, 0x16d7: 0x17cd, + 0x16d8: 0x121b, 0x16d9: 0x1223, 0x16da: 0x1237, 0x16db: 0x123b, 0x16dc: 0x1227, 0x16dd: 0x123f, + 0x16de: 0x1253, 0x16df: 0x1267, 0x16e0: 0x1233, 0x16e1: 0x1247, 0x16e2: 0x124b, 0x16e3: 0x124f, + 0x16e4: 0x17d2, 0x16e5: 0x17dc, 0x16e6: 0x17d7, 0x16e7: 0x066f, 0x16e8: 0x126f, 0x16e9: 0x1273, + 0x16ea: 0x127b, 0x16eb: 0x17f0, 0x16ec: 0x127f, 0x16ed: 0x17e1, 0x16ee: 0x0673, 0x16ef: 0x0677, + 0x16f0: 0x17e6, 0x16f1: 0x17eb, 0x16f2: 0x067b, 0x16f3: 0x129f, 0x16f4: 0x12a3, 0x16f5: 0x12a7, + 0x16f6: 0x12ab, 0x16f7: 0x12b7, 0x16f8: 0x12b3, 0x16f9: 0x12bf, 0x16fa: 0x12bb, 0x16fb: 0x12cb, + 0x16fc: 0x12c3, 0x16fd: 0x12c7, 0x16fe: 0x12cf, 0x16ff: 0x067f, + // Block 0x5c, offset 0x1700 + 0x1700: 0x12d7, 0x1701: 0x12db, 0x1702: 0x0683, 0x1703: 0x12eb, 0x1704: 0x12ef, 0x1705: 0x17f5, + 0x1706: 0x12fb, 0x1707: 0x12ff, 0x1708: 0x0687, 0x1709: 0x130b, 0x170a: 0x05bb, 0x170b: 0x17fa, + 0x170c: 0x17ff, 0x170d: 0x068b, 0x170e: 0x068f, 0x170f: 0x1337, 0x1710: 0x134f, 0x1711: 0x136b, + 0x1712: 0x137b, 0x1713: 0x1804, 0x1714: 0x138f, 0x1715: 0x1393, 0x1716: 0x13ab, 0x1717: 0x13b7, + 0x1718: 0x180e, 0x1719: 0x1660, 0x171a: 0x13c3, 0x171b: 0x13bf, 0x171c: 0x13cb, 0x171d: 0x1665, + 0x171e: 0x13d7, 0x171f: 0x13e3, 0x1720: 0x1813, 0x1721: 0x1818, 0x1722: 0x1423, 0x1723: 0x142f, + 0x1724: 0x1437, 0x1725: 0x181d, 0x1726: 0x143b, 0x1727: 0x1467, 0x1728: 0x1473, 0x1729: 0x1477, + 0x172a: 0x146f, 0x172b: 0x1483, 0x172c: 0x1487, 0x172d: 0x1822, 0x172e: 0x1493, 0x172f: 0x0693, + 0x1730: 0x149b, 0x1731: 0x1827, 0x1732: 0x0697, 0x1733: 0x14d3, 0x1734: 0x0ac3, 0x1735: 0x14eb, + 0x1736: 0x182c, 0x1737: 0x1836, 0x1738: 0x069b, 0x1739: 0x069f, 0x173a: 0x1513, 0x173b: 0x183b, + 0x173c: 0x06a3, 0x173d: 0x1840, 0x173e: 0x152b, 0x173f: 0x152b, + // Block 0x5d, offset 0x1740 + 0x1740: 0x1533, 0x1741: 0x1845, 0x1742: 0x154b, 0x1743: 0x06a7, 0x1744: 0x155b, 0x1745: 0x1567, + 0x1746: 0x156f, 0x1747: 0x1577, 0x1748: 0x06ab, 0x1749: 0x184a, 0x174a: 0x158b, 0x174b: 0x15a7, + 0x174c: 0x15b3, 0x174d: 0x06af, 0x174e: 0x06b3, 0x174f: 0x15b7, 0x1750: 0x184f, 0x1751: 0x06b7, + 0x1752: 0x1854, 0x1753: 0x1859, 0x1754: 0x185e, 0x1755: 0x15db, 0x1756: 0x06bb, 0x1757: 0x15ef, + 0x1758: 0x15f7, 0x1759: 0x15fb, 0x175a: 0x1603, 0x175b: 0x160b, 0x175c: 0x1613, 0x175d: 0x1868, +} + +// nfkcIndex: 22 blocks, 1408 entries, 2816 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5d, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5e, 0xcb: 0x5f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x60, 0xd2: 0x61, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x62, + 0xd8: 0x63, 0xd9: 0x0d, 0xdb: 0x64, 0xdc: 0x65, 0xdd: 0x66, 0xdf: 0x67, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x68, 0x121: 0x69, 0x123: 0x0e, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, + 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, + 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, + 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, + // Block 0x5, offset 0x140 + 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, + 0x14d: 0x8a, + 0x15c: 0x8b, 0x15f: 0x8c, + 0x162: 0x8d, 0x164: 0x8e, + 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0f, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, + 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x10, 0x176: 0x11, 0x177: 0x12, + 0x178: 0x13, 0x179: 0x14, 0x17a: 0x15, 0x17b: 0x16, 0x17c: 0x17, 0x17d: 0x18, 0x17e: 0x19, 0x17f: 0x1a, + // Block 0x6, offset 0x180 + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1b, 0x185: 0x1c, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1d, 0x18a: 0x1e, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1f, 0x192: 0x20, 0x193: 0xa1, + 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, + 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x21, 0x1bd: 0x22, 0x1be: 0x23, 0x1bf: 0xab, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xac, 0x1c1: 0x24, 0x1c2: 0x25, 0x1c3: 0x26, 0x1c4: 0xad, 0x1c5: 0x27, 0x1c6: 0x28, + 0x1c8: 0x29, 0x1c9: 0x2a, 0x1ca: 0x2b, 0x1cb: 0x2c, 0x1cc: 0x2d, 0x1cd: 0x2e, 0x1ce: 0x2f, 0x1cf: 0x30, + // Block 0x8, offset 0x200 + 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, + 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, + 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, + 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, + 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, + // Block 0x9, offset 0x240 + 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, + 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, + 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, + 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, + 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, + 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, + 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, + 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, + // Block 0xa, offset 0x280 + 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, + 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, + 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, + 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, + 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, + 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, + 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, + 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, + 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, + 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, + 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, + // Block 0xc, offset 0x300 + 0x324: 0x31, 0x325: 0x32, 0x326: 0x33, 0x327: 0x34, + 0x328: 0x35, 0x329: 0x36, 0x32a: 0x37, 0x32b: 0x38, 0x32c: 0x39, 0x32d: 0x3a, 0x32e: 0x3b, 0x32f: 0x3c, + 0x330: 0x3d, 0x331: 0x3e, 0x332: 0x3f, 0x333: 0x40, 0x334: 0x41, 0x335: 0x42, 0x336: 0x43, 0x337: 0x44, + 0x338: 0x45, 0x339: 0x46, 0x33a: 0x47, 0x33b: 0x48, 0x33c: 0xc5, 0x33d: 0x49, 0x33e: 0x4a, 0x33f: 0x4b, + // Block 0xd, offset 0x340 + 0x347: 0xc6, + 0x34b: 0xc7, 0x34d: 0xc8, + 0x368: 0xc9, 0x36b: 0xca, + 0x374: 0xcb, + 0x37d: 0xcc, + // Block 0xe, offset 0x380 + 0x381: 0xcd, 0x382: 0xce, 0x384: 0xcf, 0x385: 0xb7, 0x387: 0xd0, + 0x388: 0xd1, 0x38b: 0xd2, 0x38c: 0xd3, 0x38d: 0xd4, + 0x391: 0xd5, 0x392: 0xd6, 0x393: 0xd7, 0x396: 0xd8, 0x397: 0xd9, + 0x398: 0xda, 0x39a: 0xdb, 0x39c: 0xdc, + 0x3a0: 0xdd, 0x3a7: 0xde, + 0x3a8: 0xdf, 0x3a9: 0xe0, 0x3aa: 0xe1, + 0x3b0: 0xda, 0x3b5: 0xe2, 0x3b6: 0xe3, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xe4, 0x3ec: 0xe5, + // Block 0x10, offset 0x400 + 0x432: 0xe6, + // Block 0x11, offset 0x440 + 0x445: 0xe7, 0x446: 0xe8, 0x447: 0xe9, + 0x449: 0xea, + 0x450: 0xeb, 0x451: 0xec, 0x452: 0xed, 0x453: 0xee, 0x454: 0xef, 0x455: 0xf0, 0x456: 0xf1, 0x457: 0xf2, + 0x458: 0xf3, 0x459: 0xf4, 0x45a: 0x4c, 0x45b: 0xf5, 0x45c: 0xf6, 0x45d: 0xf7, 0x45e: 0xf8, 0x45f: 0x4d, + // Block 0x12, offset 0x480 + 0x480: 0xf9, 0x484: 0xe5, + 0x48b: 0xfa, + 0x4a3: 0xfb, 0x4a5: 0xfc, + 0x4b8: 0x4e, 0x4b9: 0x4f, 0x4ba: 0x50, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x51, 0x4c5: 0xfd, 0x4c6: 0xfe, + 0x4c8: 0x52, 0x4c9: 0xff, + // Block 0x14, offset 0x500 + 0x520: 0x53, 0x521: 0x54, 0x522: 0x55, 0x523: 0x56, 0x524: 0x57, 0x525: 0x58, 0x526: 0x59, 0x527: 0x5a, + 0x528: 0x5b, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 164 entries, 328 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x70, 0x75, 0x77, 0x7f, 0x86, 0x89, 0x91, 0x95, 0x99, 0x9b, 0x9d, 0xa6, 0xaa, 0xb1, 0xb6, 0xb9, 0xc3, 0xc6, 0xcd, 0xd5, 0xd9, 0xdb, 0xdf, 0xe3, 0xe9, 0xfa, 0x106, 0x108, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11a, 0x11c, 0x11f, 0x122, 0x124, 0x127, 0x12a, 0x12e, 0x133, 0x13c, 0x13e, 0x141, 0x143, 0x14e, 0x159, 0x167, 0x175, 0x185, 0x193, 0x19a, 0x1a0, 0x1af, 0x1b3, 0x1b5, 0x1b9, 0x1bb, 0x1be, 0x1c0, 0x1c3, 0x1c5, 0x1c8, 0x1ca, 0x1cc, 0x1ce, 0x1da, 0x1e4, 0x1ee, 0x1f1, 0x1f5, 0x1f7, 0x1f9, 0x1fb, 0x1fd, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20e, 0x211, 0x215, 0x217, 0x21e, 0x224, 0x22a, 0x232, 0x238, 0x23e, 0x244, 0x248, 0x24a, 0x24c, 0x24e, 0x250, 0x256, 0x259, 0x25b, 0x261, 0x264, 0x26c, 0x273, 0x276, 0x279, 0x27b, 0x27e, 0x286, 0x28a, 0x291, 0x294, 0x29a, 0x29c, 0x29e, 0x2a1, 0x2a3, 0x2a6, 0x2a8, 0x2aa, 0x2ac, 0x2ae, 0x2b1, 0x2b3, 0x2b5, 0x2b7, 0x2b9, 0x2c6, 0x2d0, 0x2d2, 0x2d4, 0x2d8, 0x2dd, 0x2e9, 0x2ee, 0x2f7, 0x2fd, 0x302, 0x306, 0x30b, 0x30f, 0x31f, 0x32d, 0x33b, 0x349, 0x34f, 0x351, 0x353, 0x356, 0x361, 0x363} + +// nfkcSparseValues: 877 entries, 3508 bytes +var nfkcSparseValues = [877]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x427b, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x4267, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x425d, lo: 0xb4, hi: 0xb4}, + {value: 0x01dc, lo: 0xb5, hi: 0xb5}, + {value: 0x4294, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x221f, lo: 0xbc, hi: 0xbc}, + {value: 0x2213, lo: 0xbd, hi: 0xbd}, + {value: 0x22b5, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46e5, lo: 0xa0, hi: 0xa1}, + {value: 0x4717, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x4271, lo: 0x98, hi: 0x98}, + {value: 0x4276, lo: 0x99, hi: 0x9a}, + {value: 0x4299, lo: 0x9b, hi: 0x9b}, + {value: 0x4262, lo: 0x9c, hi: 0x9c}, + {value: 0x4285, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x0167, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a8, lo: 0x90, hi: 0x90}, + {value: 0x37b4, lo: 0x91, hi: 0x91}, + {value: 0x37a2, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x381a, lo: 0x97, hi: 0x97}, + {value: 0x37e4, lo: 0x9c, hi: 0x9c}, + {value: 0x37cc, lo: 0x9d, hi: 0x9d}, + {value: 0x37f6, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x3820, lo: 0xb6, hi: 0xb6}, + {value: 0x3826, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3844, lo: 0xa2, hi: 0xa2}, + {value: 0x384a, lo: 0xa3, hi: 0xa3}, + {value: 0x3856, lo: 0xa4, hi: 0xa4}, + {value: 0x3850, lo: 0xa5, hi: 0xa5}, + {value: 0x385c, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x386e, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x3862, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3868, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0xc, offset 0x70 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x75 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x77 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3edb, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee3, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3eeb, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0xf, offset 0x7f + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451f, lo: 0x98, hi: 0x9f}, + // Block 0x10, offset 0x86 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x11, offset 0x89 + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2ca1, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455f, lo: 0x9c, hi: 0x9d}, + {value: 0x456f, lo: 0x9f, hi: 0x9f}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x91 + {value: 0x0000, lo: 0x03}, + {value: 0x4597, lo: 0xb3, hi: 0xb3}, + {value: 0x459f, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x13, offset 0x95 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4577, lo: 0x99, hi: 0x9b}, + {value: 0x458f, lo: 0x9e, hi: 0x9e}, + // Block 0x14, offset 0x99 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x16, offset 0x9d + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb9, lo: 0x88, hi: 0x88}, + {value: 0x2cb1, lo: 0x8b, hi: 0x8b}, + {value: 0x2cc1, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a7, lo: 0x9c, hi: 0x9c}, + {value: 0x45af, lo: 0x9d, hi: 0x9d}, + // Block 0x17, offset 0xa6 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc9, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x18, offset 0xaa + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cd1, lo: 0x8a, hi: 0x8a}, + {value: 0x2ce1, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd9, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x19, offset 0xb1 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef3, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1a, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0xb9 + {value: 0x0000, lo: 0x09}, + {value: 0x2ce9, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cf1, lo: 0x87, hi: 0x87}, + {value: 0x2cf9, lo: 0x88, hi: 0x88}, + {value: 0x2f53, lo: 0x8a, hi: 0x8a}, + {value: 0x2ddb, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xc3 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1d, offset 0xc6 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2d01, lo: 0x8a, hi: 0x8a}, + {value: 0x2d11, lo: 0x8b, hi: 0x8b}, + {value: 0x2d09, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1e, offset 0xcd + {value: 0x6be7, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3efb, lo: 0x9a, hi: 0x9a}, + {value: 0x2f5b, lo: 0x9c, hi: 0x9c}, + {value: 0x2de6, lo: 0x9d, hi: 0x9d}, + {value: 0x2d19, lo: 0x9e, hi: 0x9f}, + // Block 0x1f, offset 0xd5 + {value: 0x0000, lo: 0x03}, + {value: 0x2624, lo: 0xb3, hi: 0xb3}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x20, offset 0xd9 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x21, offset 0xdb + {value: 0x0000, lo: 0x03}, + {value: 0x2639, lo: 0xb3, hi: 0xb3}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x22, offset 0xdf + {value: 0x0000, lo: 0x03}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + {value: 0x262b, lo: 0x9c, hi: 0x9c}, + {value: 0x2632, lo: 0x9d, hi: 0x9d}, + // Block 0x23, offset 0xe3 + {value: 0x0000, lo: 0x05}, + {value: 0x030b, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x24, offset 0xe9 + {value: 0x0000, lo: 0x10}, + {value: 0x2647, lo: 0x83, hi: 0x83}, + {value: 0x264e, lo: 0x8d, hi: 0x8d}, + {value: 0x2655, lo: 0x92, hi: 0x92}, + {value: 0x265c, lo: 0x97, hi: 0x97}, + {value: 0x2663, lo: 0x9c, hi: 0x9c}, + {value: 0x2640, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a87, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a90, lo: 0xb5, hi: 0xb5}, + {value: 0x45b7, lo: 0xb6, hi: 0xb6}, + {value: 0x45f7, lo: 0xb7, hi: 0xb7}, + {value: 0x45bf, lo: 0xb8, hi: 0xb8}, + {value: 0x4602, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x25, offset 0xfa + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a99, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x2671, lo: 0x93, hi: 0x93}, + {value: 0x2678, lo: 0x9d, hi: 0x9d}, + {value: 0x267f, lo: 0xa2, hi: 0xa2}, + {value: 0x2686, lo: 0xa7, hi: 0xa7}, + {value: 0x268d, lo: 0xac, hi: 0xac}, + {value: 0x266a, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0x106 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x27, offset 0x108 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d21, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x28, offset 0x10e + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x29, offset 0x110 + {value: 0x0000, lo: 0x01}, + {value: 0x030f, lo: 0xbc, hi: 0xbc}, + // Block 0x2a, offset 0x112 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0x114 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x116 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x118 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x11a + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x11c + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x11f + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x122 + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x124 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x127 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x12a + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x12e + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x36, offset 0x133 + {value: 0x0000, lo: 0x08}, + {value: 0x2d69, lo: 0x80, hi: 0x80}, + {value: 0x2d71, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d79, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x37, offset 0x13c + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x38, offset 0x13e + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x39, offset 0x141 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3a, offset 0x143 + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3b, offset 0x14e + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x159 + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043b, lo: 0x91, hi: 0x91}, + {value: 0x429e, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1873, lo: 0xa5, hi: 0xa5}, + {value: 0x1b5f, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2694, lo: 0xb3, hi: 0xb3}, + {value: 0x2801, lo: 0xb4, hi: 0xb4}, + {value: 0x269b, lo: 0xb6, hi: 0xb6}, + {value: 0x280b, lo: 0xb7, hi: 0xb7}, + {value: 0x186d, lo: 0xbc, hi: 0xbc}, + {value: 0x426c, lo: 0xbe, hi: 0xbe}, + // Block 0x3d, offset 0x167 + {value: 0x0002, lo: 0x0d}, + {value: 0x1933, lo: 0x87, hi: 0x87}, + {value: 0x1930, lo: 0x88, hi: 0x88}, + {value: 0x1870, lo: 0x89, hi: 0x89}, + {value: 0x2991, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x0467, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x175 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x0467, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x199c, lo: 0xa8, hi: 0xa8}, + // Block 0x3f, offset 0x185 + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x40, offset 0x193 + {value: 0x0007, lo: 0x06}, + {value: 0x2183, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bbc, lo: 0x9a, hi: 0x9b}, + {value: 0x3bca, lo: 0xae, hi: 0xae}, + // Block 0x41, offset 0x19a + {value: 0x000e, lo: 0x05}, + {value: 0x3bd1, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd8, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x42, offset 0x1a0 + {value: 0x0173, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be6, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bed, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf4, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bfb, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3c02, lo: 0xa6, hi: 0xa6}, + {value: 0x26a2, lo: 0xac, hi: 0xad}, + {value: 0x26a9, lo: 0xaf, hi: 0xaf}, + {value: 0x281f, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x43, offset 0x1af + {value: 0x0007, lo: 0x03}, + {value: 0x3c6b, lo: 0xa0, hi: 0xa1}, + {value: 0x3c95, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbf, lo: 0xaa, hi: 0xad}, + // Block 0x44, offset 0x1b3 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x45, offset 0x1b5 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x46, offset 0x1b9 + {value: 0x0000, lo: 0x01}, + {value: 0x299e, lo: 0x8c, hi: 0x8c}, + // Block 0x47, offset 0x1bb + {value: 0x0266, lo: 0x02}, + {value: 0x1b8f, lo: 0xb4, hi: 0xb4}, + {value: 0x192d, lo: 0xb5, hi: 0xb6}, + // Block 0x48, offset 0x1be + {value: 0x0000, lo: 0x01}, + {value: 0x44e0, lo: 0x9c, hi: 0x9c}, + // Block 0x49, offset 0x1c0 + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4a, offset 0x1c3 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x4b, offset 0x1c5 + {value: 0x0000, lo: 0x02}, + {value: 0x047f, lo: 0xaf, hi: 0xaf}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x4c, offset 0x1c8 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x4d, offset 0x1ca + {value: 0x0000, lo: 0x01}, + {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, + // Block 0x4e, offset 0x1cc + {value: 0x0000, lo: 0x01}, + {value: 0x162f, lo: 0xb3, hi: 0xb3}, + // Block 0x4f, offset 0x1ce + {value: 0x0004, lo: 0x0b}, + {value: 0x1597, lo: 0x80, hi: 0x82}, + {value: 0x15af, lo: 0x83, hi: 0x83}, + {value: 0x15c7, lo: 0x84, hi: 0x85}, + {value: 0x15d7, lo: 0x86, hi: 0x89}, + {value: 0x15eb, lo: 0x8a, hi: 0x8c}, + {value: 0x15ff, lo: 0x8d, hi: 0x8d}, + {value: 0x1607, lo: 0x8e, hi: 0x8e}, + {value: 0x160f, lo: 0x8f, hi: 0x90}, + {value: 0x161b, lo: 0x91, hi: 0x93}, + {value: 0x162b, lo: 0x94, hi: 0x94}, + {value: 0x1633, lo: 0x95, hi: 0x95}, + // Block 0x50, offset 0x1da + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xae}, + {value: 0x812f, lo: 0xaf, hi: 0xaf}, + {value: 0x04b3, lo: 0xb6, hi: 0xb6}, + {value: 0x0887, lo: 0xb8, hi: 0xba}, + // Block 0x51, offset 0x1e4 + {value: 0x0006, lo: 0x09}, + {value: 0x0313, lo: 0xb1, hi: 0xb1}, + {value: 0x0317, lo: 0xb2, hi: 0xb2}, + {value: 0x4a3e, lo: 0xb3, hi: 0xb3}, + {value: 0x031b, lo: 0xb4, hi: 0xb4}, + {value: 0x4a44, lo: 0xb5, hi: 0xb6}, + {value: 0x031f, lo: 0xb7, hi: 0xb7}, + {value: 0x0323, lo: 0xb8, hi: 0xb8}, + {value: 0x0327, lo: 0xb9, hi: 0xb9}, + {value: 0x4a50, lo: 0xba, hi: 0xbf}, + // Block 0x52, offset 0x1ee + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x53, offset 0x1f1 + {value: 0x0000, lo: 0x03}, + {value: 0x020f, lo: 0x9c, hi: 0x9c}, + {value: 0x0212, lo: 0x9d, hi: 0x9d}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x54, offset 0x1f5 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x55, offset 0x1f7 + {value: 0x0000, lo: 0x01}, + {value: 0x163b, lo: 0xb0, hi: 0xb0}, + // Block 0x56, offset 0x1f9 + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x57, offset 0x1fb + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x58, offset 0x1fd + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x59, offset 0x200 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x5a, offset 0x202 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x5b, offset 0x204 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x5c, offset 0x206 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x5d, offset 0x208 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x5e, offset 0x20e + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x5f, offset 0x211 + {value: 0x0008, lo: 0x03}, + {value: 0x1637, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1643, lo: 0x9f, hi: 0x9f}, + // Block 0x60, offset 0x215 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x61, offset 0x217 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x62, offset 0x21e + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x63, offset 0x224 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x64, offset 0x22a + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x65, offset 0x232 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x66, offset 0x238 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x67, offset 0x23e + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x68, offset 0x244 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x69, offset 0x248 + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6a, offset 0x24a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6b, offset 0x24c + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x6c, offset 0x24e + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x6d, offset 0x250 + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x6e, offset 0x256 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x6f, offset 0x259 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa4, hi: 0xa7}, + // Block 0x70, offset 0x25b + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x8132, lo: 0x88, hi: 0x8a}, + {value: 0x812d, lo: 0x8b, hi: 0x8b}, + {value: 0x8132, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x8d, hi: 0x90}, + // Block 0x71, offset 0x261 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x264 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x423b, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4245, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424f, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x73, offset 0x26c + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d81, lo: 0xae, hi: 0xae}, + {value: 0x2d8b, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x74, offset 0x273 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x75, offset 0x276 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x76, offset 0x279 + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x77, offset 0x27b + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x78, offset 0x27e + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d95, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9f, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x79, offset 0x286 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + {value: 0x8132, lo: 0x9e, hi: 0x9e}, + // Block 0x7a, offset 0x28a + {value: 0x6b57, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db3, lo: 0xbb, hi: 0xbb}, + {value: 0x2da9, lo: 0xbc, hi: 0xbd}, + {value: 0x2dbd, lo: 0xbe, hi: 0xbe}, + // Block 0x7b, offset 0x291 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7c, offset 0x294 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc7, lo: 0xba, hi: 0xba}, + {value: 0x2dd1, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7d, offset 0x29a + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x7e, offset 0x29c + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7f, offset 0x29e + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x80, offset 0x2a1 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x81, offset 0x2a3 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb9, hi: 0xb9}, + {value: 0x8102, lo: 0xba, hi: 0xba}, + // Block 0x82, offset 0x2a6 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + // Block 0x83, offset 0x2a8 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x84, offset 0x2aa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x85, offset 0x2ac + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x86, offset 0x2ae + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x87, offset 0x2b1 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x97, hi: 0x97}, + // Block 0x88, offset 0x2b3 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x89, offset 0x2b5 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x8a, offset 0x2b7 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x8b, offset 0x2b9 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cf, lo: 0x9e, hi: 0x9e}, + {value: 0x45d9, lo: 0x9f, hi: 0x9f}, + {value: 0x460d, lo: 0xa0, hi: 0xa0}, + {value: 0x461b, lo: 0xa1, hi: 0xa1}, + {value: 0x4629, lo: 0xa2, hi: 0xa2}, + {value: 0x4637, lo: 0xa3, hi: 0xa3}, + {value: 0x4645, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8c, offset 0x2c6 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e3, lo: 0xbb, hi: 0xbb}, + {value: 0x45ed, lo: 0xbc, hi: 0xbc}, + {value: 0x4653, lo: 0xbd, hi: 0xbd}, + {value: 0x466f, lo: 0xbe, hi: 0xbe}, + {value: 0x4661, lo: 0xbf, hi: 0xbf}, + // Block 0x8d, offset 0x2d0 + {value: 0x0000, lo: 0x01}, + {value: 0x467d, lo: 0x80, hi: 0x80}, + // Block 0x8e, offset 0x2d2 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8f, offset 0x2d4 + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x90, offset 0x2d8 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x91, offset 0x2dd + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x92, offset 0x2e9 + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x93, offset 0x2ee + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x94, offset 0x2f7 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x95, offset 0x2fd + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x96, offset 0x302 + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x97, offset 0x306 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x98, offset 0x30b + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x99, offset 0x30f + {value: 0x0003, lo: 0x0f}, + {value: 0x01b8, lo: 0x80, hi: 0x80}, + {value: 0x045f, lo: 0x81, hi: 0x81}, + {value: 0x01bb, lo: 0x82, hi: 0x9a}, + {value: 0x045b, lo: 0x9b, hi: 0x9b}, + {value: 0x01c7, lo: 0x9c, hi: 0x9c}, + {value: 0x01d0, lo: 0x9d, hi: 0x9d}, + {value: 0x01d6, lo: 0x9e, hi: 0x9e}, + {value: 0x01fa, lo: 0x9f, hi: 0x9f}, + {value: 0x01eb, lo: 0xa0, hi: 0xa0}, + {value: 0x01e8, lo: 0xa1, hi: 0xa1}, + {value: 0x0173, lo: 0xa2, hi: 0xb2}, + {value: 0x0188, lo: 0xb3, hi: 0xb3}, + {value: 0x01a6, lo: 0xb4, hi: 0xba}, + {value: 0x045f, lo: 0xbb, hi: 0xbb}, + {value: 0x01bb, lo: 0xbc, hi: 0xbf}, + // Block 0x9a, offset 0x31f + {value: 0x0003, lo: 0x0d}, + {value: 0x01c7, lo: 0x80, hi: 0x94}, + {value: 0x045b, lo: 0x95, hi: 0x95}, + {value: 0x01c7, lo: 0x96, hi: 0x96}, + {value: 0x01d0, lo: 0x97, hi: 0x97}, + {value: 0x01d6, lo: 0x98, hi: 0x98}, + {value: 0x01fa, lo: 0x99, hi: 0x99}, + {value: 0x01eb, lo: 0x9a, hi: 0x9a}, + {value: 0x01e8, lo: 0x9b, hi: 0x9b}, + {value: 0x0173, lo: 0x9c, hi: 0xac}, + {value: 0x0188, lo: 0xad, hi: 0xad}, + {value: 0x01a6, lo: 0xae, hi: 0xb4}, + {value: 0x045f, lo: 0xb5, hi: 0xb5}, + {value: 0x01bb, lo: 0xb6, hi: 0xbf}, + // Block 0x9b, offset 0x32d + {value: 0x0003, lo: 0x0d}, + {value: 0x01d9, lo: 0x80, hi: 0x8e}, + {value: 0x045b, lo: 0x8f, hi: 0x8f}, + {value: 0x01c7, lo: 0x90, hi: 0x90}, + {value: 0x01d0, lo: 0x91, hi: 0x91}, + {value: 0x01d6, lo: 0x92, hi: 0x92}, + {value: 0x01fa, lo: 0x93, hi: 0x93}, + {value: 0x01eb, lo: 0x94, hi: 0x94}, + {value: 0x01e8, lo: 0x95, hi: 0x95}, + {value: 0x0173, lo: 0x96, hi: 0xa6}, + {value: 0x0188, lo: 0xa7, hi: 0xa7}, + {value: 0x01a6, lo: 0xa8, hi: 0xae}, + {value: 0x045f, lo: 0xaf, hi: 0xaf}, + {value: 0x01bb, lo: 0xb0, hi: 0xbf}, + // Block 0x9c, offset 0x33b + {value: 0x0003, lo: 0x0d}, + {value: 0x01eb, lo: 0x80, hi: 0x88}, + {value: 0x045b, lo: 0x89, hi: 0x89}, + {value: 0x01c7, lo: 0x8a, hi: 0x8a}, + {value: 0x01d0, lo: 0x8b, hi: 0x8b}, + {value: 0x01d6, lo: 0x8c, hi: 0x8c}, + {value: 0x01fa, lo: 0x8d, hi: 0x8d}, + {value: 0x01eb, lo: 0x8e, hi: 0x8e}, + {value: 0x01e8, lo: 0x8f, hi: 0x8f}, + {value: 0x0173, lo: 0x90, hi: 0xa0}, + {value: 0x0188, lo: 0xa1, hi: 0xa1}, + {value: 0x01a6, lo: 0xa2, hi: 0xa8}, + {value: 0x045f, lo: 0xa9, hi: 0xa9}, + {value: 0x01bb, lo: 0xaa, hi: 0xbf}, + // Block 0x9d, offset 0x349 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x9e, offset 0x34f + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xac, hi: 0xaf}, + // Block 0x9f, offset 0x351 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0xa0, offset 0x353 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0xa1, offset 0x356 + {value: 0x0002, lo: 0x0a}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1951, lo: 0x8a, hi: 0x8a}, + {value: 0x1984, lo: 0x8b, hi: 0x8b}, + {value: 0x199f, lo: 0x8c, hi: 0x8c}, + {value: 0x19a5, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc3, lo: 0x8e, hi: 0x8e}, + {value: 0x19b1, lo: 0x8f, hi: 0x8f}, + {value: 0x197b, lo: 0xaa, hi: 0xaa}, + {value: 0x197e, lo: 0xab, hi: 0xab}, + {value: 0x1981, lo: 0xac, hi: 0xac}, + // Block 0xa2, offset 0x361 + {value: 0x0000, lo: 0x01}, + {value: 0x193f, lo: 0x90, hi: 0x90}, + // Block 0xa3, offset 0x363 + {value: 0x0028, lo: 0x09}, + {value: 0x2865, lo: 0x80, hi: 0x80}, + {value: 0x2829, lo: 0x81, hi: 0x81}, + {value: 0x2833, lo: 0x82, hi: 0x82}, + {value: 0x2847, lo: 0x83, hi: 0x84}, + {value: 0x2851, lo: 0x85, hi: 0x86}, + {value: 0x283d, lo: 0x87, hi: 0x87}, + {value: 0x285b, lo: 0x88, hi: 0x88}, + {value: 0x0b6f, lo: 0x90, hi: 0x90}, + {value: 0x08e7, lo: 0x91, hi: 0x91}, +} + +// recompMap: 7520 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 55KB (55977 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go new file mode 100644 index 000000000..96a130d30 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go @@ -0,0 +1,7761 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.16 +// +build go1.16 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "13.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [56]uint8{ + 0, 1, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, + 36, 84, 91, 103, 107, 118, 122, 129, + 130, 132, 202, 214, 216, 218, 220, 222, + 224, 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x1870 + firstCCC = 0x2CAB + endMulti = 0x2F77 + firstLeadingCCC = 0x49C5 + firstCCCZeroExcept = 0x4A8F + firstStarterWithNLead = 0x4AB6 + lastDecomp = 0x4AB8 + maxDecomp = 0x8000 +) + +// decomps: 19128 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x8D, 0x42, 0xCA, 0x90, 0x42, 0xCA, 0x91, 0x42, + 0xCA, 0x92, 0x42, 0xCA, 0x95, 0x42, 0xCA, 0x9D, + 0x42, 0xCA, 0x9F, 0x42, 0xCA, 0xB9, 0x42, 0xCE, + 0x91, 0x42, 0xCE, 0x92, 0x42, 0xCE, 0x93, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x94, 0x42, 0xCE, 0x95, 0x42, 0xCE, 0x96, + 0x42, 0xCE, 0x97, 0x42, 0xCE, 0x98, 0x42, 0xCE, + 0x99, 0x42, 0xCE, 0x9A, 0x42, 0xCE, 0x9B, 0x42, + 0xCE, 0x9C, 0x42, 0xCE, 0x9D, 0x42, 0xCE, 0x9E, + 0x42, 0xCE, 0x9F, 0x42, 0xCE, 0xA0, 0x42, 0xCE, + 0xA1, 0x42, 0xCE, 0xA3, 0x42, 0xCE, 0xA4, 0x42, + 0xCE, 0xA5, 0x42, 0xCE, 0xA6, 0x42, 0xCE, 0xA7, + 0x42, 0xCE, 0xA8, 0x42, 0xCE, 0xA9, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB1, 0x42, 0xCE, 0xB2, 0x42, 0xCE, 0xB3, 0x42, + 0xCE, 0xB4, 0x42, 0xCE, 0xB5, 0x42, 0xCE, 0xB6, + 0x42, 0xCE, 0xB7, 0x42, 0xCE, 0xB8, 0x42, 0xCE, + 0xB9, 0x42, 0xCE, 0xBA, 0x42, 0xCE, 0xBB, 0x42, + 0xCE, 0xBC, 0x42, 0xCE, 0xBD, 0x42, 0xCE, 0xBE, + 0x42, 0xCE, 0xBF, 0x42, 0xCF, 0x80, 0x42, 0xCF, + 0x81, 0x42, 0xCF, 0x82, 0x42, 0xCF, 0x83, 0x42, + 0xCF, 0x84, 0x42, 0xCF, 0x85, 0x42, 0xCF, 0x86, + // Bytes 200 - 23f + 0x42, 0xCF, 0x87, 0x42, 0xCF, 0x88, 0x42, 0xCF, + 0x89, 0x42, 0xCF, 0x9C, 0x42, 0xCF, 0x9D, 0x42, + 0xD0, 0xBD, 0x42, 0xD1, 0x8A, 0x42, 0xD1, 0x8C, + 0x42, 0xD7, 0x90, 0x42, 0xD7, 0x91, 0x42, 0xD7, + 0x92, 0x42, 0xD7, 0x93, 0x42, 0xD7, 0x94, 0x42, + 0xD7, 0x9B, 0x42, 0xD7, 0x9C, 0x42, 0xD7, 0x9D, + 0x42, 0xD7, 0xA2, 0x42, 0xD7, 0xA8, 0x42, 0xD7, + 0xAA, 0x42, 0xD8, 0xA1, 0x42, 0xD8, 0xA7, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA8, 0x42, 0xD8, 0xA9, 0x42, 0xD8, 0xAA, + 0x42, 0xD8, 0xAB, 0x42, 0xD8, 0xAC, 0x42, 0xD8, + 0xAD, 0x42, 0xD8, 0xAE, 0x42, 0xD8, 0xAF, 0x42, + 0xD8, 0xB0, 0x42, 0xD8, 0xB1, 0x42, 0xD8, 0xB2, + 0x42, 0xD8, 0xB3, 0x42, 0xD8, 0xB4, 0x42, 0xD8, + 0xB5, 0x42, 0xD8, 0xB6, 0x42, 0xD8, 0xB7, 0x42, + 0xD8, 0xB8, 0x42, 0xD8, 0xB9, 0x42, 0xD8, 0xBA, + 0x42, 0xD9, 0x81, 0x42, 0xD9, 0x82, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x83, 0x42, 0xD9, 0x84, 0x42, 0xD9, 0x85, 0x42, + 0xD9, 0x86, 0x42, 0xD9, 0x87, 0x42, 0xD9, 0x88, + 0x42, 0xD9, 0x89, 0x42, 0xD9, 0x8A, 0x42, 0xD9, + 0xAE, 0x42, 0xD9, 0xAF, 0x42, 0xD9, 0xB1, 0x42, + 0xD9, 0xB9, 0x42, 0xD9, 0xBA, 0x42, 0xD9, 0xBB, + 0x42, 0xD9, 0xBE, 0x42, 0xD9, 0xBF, 0x42, 0xDA, + 0x80, 0x42, 0xDA, 0x83, 0x42, 0xDA, 0x84, 0x42, + 0xDA, 0x86, 0x42, 0xDA, 0x87, 0x42, 0xDA, 0x88, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8C, 0x42, 0xDA, 0x8D, 0x42, 0xDA, + 0x8E, 0x42, 0xDA, 0x91, 0x42, 0xDA, 0x98, 0x42, + 0xDA, 0xA1, 0x42, 0xDA, 0xA4, 0x42, 0xDA, 0xA6, + 0x42, 0xDA, 0xA9, 0x42, 0xDA, 0xAD, 0x42, 0xDA, + 0xAF, 0x42, 0xDA, 0xB1, 0x42, 0xDA, 0xB3, 0x42, + 0xDA, 0xBA, 0x42, 0xDA, 0xBB, 0x42, 0xDA, 0xBE, + 0x42, 0xDB, 0x81, 0x42, 0xDB, 0x85, 0x42, 0xDB, + 0x86, 0x42, 0xDB, 0x87, 0x42, 0xDB, 0x88, 0x42, + // Bytes 300 - 33f + 0xDB, 0x89, 0x42, 0xDB, 0x8B, 0x42, 0xDB, 0x8C, + 0x42, 0xDB, 0x90, 0x42, 0xDB, 0x92, 0x43, 0xE0, + 0xBC, 0x8B, 0x43, 0xE1, 0x83, 0x9C, 0x43, 0xE1, + 0x84, 0x80, 0x43, 0xE1, 0x84, 0x81, 0x43, 0xE1, + 0x84, 0x82, 0x43, 0xE1, 0x84, 0x83, 0x43, 0xE1, + 0x84, 0x84, 0x43, 0xE1, 0x84, 0x85, 0x43, 0xE1, + 0x84, 0x86, 0x43, 0xE1, 0x84, 0x87, 0x43, 0xE1, + 0x84, 0x88, 0x43, 0xE1, 0x84, 0x89, 0x43, 0xE1, + // Bytes 340 - 37f + 0x84, 0x8A, 0x43, 0xE1, 0x84, 0x8B, 0x43, 0xE1, + 0x84, 0x8C, 0x43, 0xE1, 0x84, 0x8D, 0x43, 0xE1, + 0x84, 0x8E, 0x43, 0xE1, 0x84, 0x8F, 0x43, 0xE1, + 0x84, 0x90, 0x43, 0xE1, 0x84, 0x91, 0x43, 0xE1, + 0x84, 0x92, 0x43, 0xE1, 0x84, 0x94, 0x43, 0xE1, + 0x84, 0x95, 0x43, 0xE1, 0x84, 0x9A, 0x43, 0xE1, + 0x84, 0x9C, 0x43, 0xE1, 0x84, 0x9D, 0x43, 0xE1, + 0x84, 0x9E, 0x43, 0xE1, 0x84, 0xA0, 0x43, 0xE1, + // Bytes 380 - 3bf + 0x84, 0xA1, 0x43, 0xE1, 0x84, 0xA2, 0x43, 0xE1, + 0x84, 0xA3, 0x43, 0xE1, 0x84, 0xA7, 0x43, 0xE1, + 0x84, 0xA9, 0x43, 0xE1, 0x84, 0xAB, 0x43, 0xE1, + 0x84, 0xAC, 0x43, 0xE1, 0x84, 0xAD, 0x43, 0xE1, + 0x84, 0xAE, 0x43, 0xE1, 0x84, 0xAF, 0x43, 0xE1, + 0x84, 0xB2, 0x43, 0xE1, 0x84, 0xB6, 0x43, 0xE1, + 0x85, 0x80, 0x43, 0xE1, 0x85, 0x87, 0x43, 0xE1, + 0x85, 0x8C, 0x43, 0xE1, 0x85, 0x97, 0x43, 0xE1, + // Bytes 3c0 - 3ff + 0x85, 0x98, 0x43, 0xE1, 0x85, 0x99, 0x43, 0xE1, + 0x85, 0xA0, 0x43, 0xE1, 0x86, 0x84, 0x43, 0xE1, + 0x86, 0x85, 0x43, 0xE1, 0x86, 0x88, 0x43, 0xE1, + 0x86, 0x91, 0x43, 0xE1, 0x86, 0x92, 0x43, 0xE1, + 0x86, 0x94, 0x43, 0xE1, 0x86, 0x9E, 0x43, 0xE1, + 0x86, 0xA1, 0x43, 0xE1, 0x87, 0x87, 0x43, 0xE1, + 0x87, 0x88, 0x43, 0xE1, 0x87, 0x8C, 0x43, 0xE1, + 0x87, 0x8E, 0x43, 0xE1, 0x87, 0x93, 0x43, 0xE1, + // Bytes 400 - 43f + 0x87, 0x97, 0x43, 0xE1, 0x87, 0x99, 0x43, 0xE1, + 0x87, 0x9D, 0x43, 0xE1, 0x87, 0x9F, 0x43, 0xE1, + 0x87, 0xB1, 0x43, 0xE1, 0x87, 0xB2, 0x43, 0xE1, + 0xB4, 0x82, 0x43, 0xE1, 0xB4, 0x96, 0x43, 0xE1, + 0xB4, 0x97, 0x43, 0xE1, 0xB4, 0x9C, 0x43, 0xE1, + 0xB4, 0x9D, 0x43, 0xE1, 0xB4, 0xA5, 0x43, 0xE1, + 0xB5, 0xBB, 0x43, 0xE1, 0xB6, 0x85, 0x43, 0xE2, + 0x80, 0x82, 0x43, 0xE2, 0x80, 0x83, 0x43, 0xE2, + // Bytes 440 - 47f + 0x80, 0x90, 0x43, 0xE2, 0x80, 0x93, 0x43, 0xE2, + 0x80, 0x94, 0x43, 0xE2, 0x82, 0xA9, 0x43, 0xE2, + 0x86, 0x90, 0x43, 0xE2, 0x86, 0x91, 0x43, 0xE2, + 0x86, 0x92, 0x43, 0xE2, 0x86, 0x93, 0x43, 0xE2, + 0x88, 0x82, 0x43, 0xE2, 0x88, 0x87, 0x43, 0xE2, + 0x88, 0x91, 0x43, 0xE2, 0x88, 0x92, 0x43, 0xE2, + 0x94, 0x82, 0x43, 0xE2, 0x96, 0xA0, 0x43, 0xE2, + 0x97, 0x8B, 0x43, 0xE2, 0xA6, 0x85, 0x43, 0xE2, + // Bytes 480 - 4bf + 0xA6, 0x86, 0x43, 0xE2, 0xB5, 0xA1, 0x43, 0xE3, + 0x80, 0x81, 0x43, 0xE3, 0x80, 0x82, 0x43, 0xE3, + 0x80, 0x88, 0x43, 0xE3, 0x80, 0x89, 0x43, 0xE3, + 0x80, 0x8A, 0x43, 0xE3, 0x80, 0x8B, 0x43, 0xE3, + 0x80, 0x8C, 0x43, 0xE3, 0x80, 0x8D, 0x43, 0xE3, + 0x80, 0x8E, 0x43, 0xE3, 0x80, 0x8F, 0x43, 0xE3, + 0x80, 0x90, 0x43, 0xE3, 0x80, 0x91, 0x43, 0xE3, + 0x80, 0x92, 0x43, 0xE3, 0x80, 0x94, 0x43, 0xE3, + // Bytes 4c0 - 4ff + 0x80, 0x95, 0x43, 0xE3, 0x80, 0x96, 0x43, 0xE3, + 0x80, 0x97, 0x43, 0xE3, 0x82, 0xA1, 0x43, 0xE3, + 0x82, 0xA2, 0x43, 0xE3, 0x82, 0xA3, 0x43, 0xE3, + 0x82, 0xA4, 0x43, 0xE3, 0x82, 0xA5, 0x43, 0xE3, + 0x82, 0xA6, 0x43, 0xE3, 0x82, 0xA7, 0x43, 0xE3, + 0x82, 0xA8, 0x43, 0xE3, 0x82, 0xA9, 0x43, 0xE3, + 0x82, 0xAA, 0x43, 0xE3, 0x82, 0xAB, 0x43, 0xE3, + 0x82, 0xAD, 0x43, 0xE3, 0x82, 0xAF, 0x43, 0xE3, + // Bytes 500 - 53f + 0x82, 0xB1, 0x43, 0xE3, 0x82, 0xB3, 0x43, 0xE3, + 0x82, 0xB5, 0x43, 0xE3, 0x82, 0xB7, 0x43, 0xE3, + 0x82, 0xB9, 0x43, 0xE3, 0x82, 0xBB, 0x43, 0xE3, + 0x82, 0xBD, 0x43, 0xE3, 0x82, 0xBF, 0x43, 0xE3, + 0x83, 0x81, 0x43, 0xE3, 0x83, 0x83, 0x43, 0xE3, + 0x83, 0x84, 0x43, 0xE3, 0x83, 0x86, 0x43, 0xE3, + 0x83, 0x88, 0x43, 0xE3, 0x83, 0x8A, 0x43, 0xE3, + 0x83, 0x8B, 0x43, 0xE3, 0x83, 0x8C, 0x43, 0xE3, + // Bytes 540 - 57f + 0x83, 0x8D, 0x43, 0xE3, 0x83, 0x8E, 0x43, 0xE3, + 0x83, 0x8F, 0x43, 0xE3, 0x83, 0x92, 0x43, 0xE3, + 0x83, 0x95, 0x43, 0xE3, 0x83, 0x98, 0x43, 0xE3, + 0x83, 0x9B, 0x43, 0xE3, 0x83, 0x9E, 0x43, 0xE3, + 0x83, 0x9F, 0x43, 0xE3, 0x83, 0xA0, 0x43, 0xE3, + 0x83, 0xA1, 0x43, 0xE3, 0x83, 0xA2, 0x43, 0xE3, + 0x83, 0xA3, 0x43, 0xE3, 0x83, 0xA4, 0x43, 0xE3, + 0x83, 0xA5, 0x43, 0xE3, 0x83, 0xA6, 0x43, 0xE3, + // Bytes 580 - 5bf + 0x83, 0xA7, 0x43, 0xE3, 0x83, 0xA8, 0x43, 0xE3, + 0x83, 0xA9, 0x43, 0xE3, 0x83, 0xAA, 0x43, 0xE3, + 0x83, 0xAB, 0x43, 0xE3, 0x83, 0xAC, 0x43, 0xE3, + 0x83, 0xAD, 0x43, 0xE3, 0x83, 0xAF, 0x43, 0xE3, + 0x83, 0xB0, 0x43, 0xE3, 0x83, 0xB1, 0x43, 0xE3, + 0x83, 0xB2, 0x43, 0xE3, 0x83, 0xB3, 0x43, 0xE3, + 0x83, 0xBB, 0x43, 0xE3, 0x83, 0xBC, 0x43, 0xE3, + 0x92, 0x9E, 0x43, 0xE3, 0x92, 0xB9, 0x43, 0xE3, + // Bytes 5c0 - 5ff + 0x92, 0xBB, 0x43, 0xE3, 0x93, 0x9F, 0x43, 0xE3, + 0x94, 0x95, 0x43, 0xE3, 0x9B, 0xAE, 0x43, 0xE3, + 0x9B, 0xBC, 0x43, 0xE3, 0x9E, 0x81, 0x43, 0xE3, + 0xA0, 0xAF, 0x43, 0xE3, 0xA1, 0xA2, 0x43, 0xE3, + 0xA1, 0xBC, 0x43, 0xE3, 0xA3, 0x87, 0x43, 0xE3, + 0xA3, 0xA3, 0x43, 0xE3, 0xA4, 0x9C, 0x43, 0xE3, + 0xA4, 0xBA, 0x43, 0xE3, 0xA8, 0xAE, 0x43, 0xE3, + 0xA9, 0xAC, 0x43, 0xE3, 0xAB, 0xA4, 0x43, 0xE3, + // Bytes 600 - 63f + 0xAC, 0x88, 0x43, 0xE3, 0xAC, 0x99, 0x43, 0xE3, + 0xAD, 0x89, 0x43, 0xE3, 0xAE, 0x9D, 0x43, 0xE3, + 0xB0, 0x98, 0x43, 0xE3, 0xB1, 0x8E, 0x43, 0xE3, + 0xB4, 0xB3, 0x43, 0xE3, 0xB6, 0x96, 0x43, 0xE3, + 0xBA, 0xAC, 0x43, 0xE3, 0xBA, 0xB8, 0x43, 0xE3, + 0xBC, 0x9B, 0x43, 0xE3, 0xBF, 0xBC, 0x43, 0xE4, + 0x80, 0x88, 0x43, 0xE4, 0x80, 0x98, 0x43, 0xE4, + 0x80, 0xB9, 0x43, 0xE4, 0x81, 0x86, 0x43, 0xE4, + // Bytes 640 - 67f + 0x82, 0x96, 0x43, 0xE4, 0x83, 0xA3, 0x43, 0xE4, + 0x84, 0xAF, 0x43, 0xE4, 0x88, 0x82, 0x43, 0xE4, + 0x88, 0xA7, 0x43, 0xE4, 0x8A, 0xA0, 0x43, 0xE4, + 0x8C, 0x81, 0x43, 0xE4, 0x8C, 0xB4, 0x43, 0xE4, + 0x8D, 0x99, 0x43, 0xE4, 0x8F, 0x95, 0x43, 0xE4, + 0x8F, 0x99, 0x43, 0xE4, 0x90, 0x8B, 0x43, 0xE4, + 0x91, 0xAB, 0x43, 0xE4, 0x94, 0xAB, 0x43, 0xE4, + 0x95, 0x9D, 0x43, 0xE4, 0x95, 0xA1, 0x43, 0xE4, + // Bytes 680 - 6bf + 0x95, 0xAB, 0x43, 0xE4, 0x97, 0x97, 0x43, 0xE4, + 0x97, 0xB9, 0x43, 0xE4, 0x98, 0xB5, 0x43, 0xE4, + 0x9A, 0xBE, 0x43, 0xE4, 0x9B, 0x87, 0x43, 0xE4, + 0xA6, 0x95, 0x43, 0xE4, 0xA7, 0xA6, 0x43, 0xE4, + 0xA9, 0xAE, 0x43, 0xE4, 0xA9, 0xB6, 0x43, 0xE4, + 0xAA, 0xB2, 0x43, 0xE4, 0xAC, 0xB3, 0x43, 0xE4, + 0xAF, 0x8E, 0x43, 0xE4, 0xB3, 0x8E, 0x43, 0xE4, + 0xB3, 0xAD, 0x43, 0xE4, 0xB3, 0xB8, 0x43, 0xE4, + // Bytes 6c0 - 6ff + 0xB5, 0x96, 0x43, 0xE4, 0xB8, 0x80, 0x43, 0xE4, + 0xB8, 0x81, 0x43, 0xE4, 0xB8, 0x83, 0x43, 0xE4, + 0xB8, 0x89, 0x43, 0xE4, 0xB8, 0x8A, 0x43, 0xE4, + 0xB8, 0x8B, 0x43, 0xE4, 0xB8, 0x8D, 0x43, 0xE4, + 0xB8, 0x99, 0x43, 0xE4, 0xB8, 0xA6, 0x43, 0xE4, + 0xB8, 0xA8, 0x43, 0xE4, 0xB8, 0xAD, 0x43, 0xE4, + 0xB8, 0xB2, 0x43, 0xE4, 0xB8, 0xB6, 0x43, 0xE4, + 0xB8, 0xB8, 0x43, 0xE4, 0xB8, 0xB9, 0x43, 0xE4, + // Bytes 700 - 73f + 0xB8, 0xBD, 0x43, 0xE4, 0xB8, 0xBF, 0x43, 0xE4, + 0xB9, 0x81, 0x43, 0xE4, 0xB9, 0x99, 0x43, 0xE4, + 0xB9, 0x9D, 0x43, 0xE4, 0xBA, 0x82, 0x43, 0xE4, + 0xBA, 0x85, 0x43, 0xE4, 0xBA, 0x86, 0x43, 0xE4, + 0xBA, 0x8C, 0x43, 0xE4, 0xBA, 0x94, 0x43, 0xE4, + 0xBA, 0xA0, 0x43, 0xE4, 0xBA, 0xA4, 0x43, 0xE4, + 0xBA, 0xAE, 0x43, 0xE4, 0xBA, 0xBA, 0x43, 0xE4, + 0xBB, 0x80, 0x43, 0xE4, 0xBB, 0x8C, 0x43, 0xE4, + // Bytes 740 - 77f + 0xBB, 0xA4, 0x43, 0xE4, 0xBC, 0x81, 0x43, 0xE4, + 0xBC, 0x91, 0x43, 0xE4, 0xBD, 0xA0, 0x43, 0xE4, + 0xBE, 0x80, 0x43, 0xE4, 0xBE, 0x86, 0x43, 0xE4, + 0xBE, 0x8B, 0x43, 0xE4, 0xBE, 0xAE, 0x43, 0xE4, + 0xBE, 0xBB, 0x43, 0xE4, 0xBE, 0xBF, 0x43, 0xE5, + 0x80, 0x82, 0x43, 0xE5, 0x80, 0xAB, 0x43, 0xE5, + 0x81, 0xBA, 0x43, 0xE5, 0x82, 0x99, 0x43, 0xE5, + 0x83, 0x8F, 0x43, 0xE5, 0x83, 0x9A, 0x43, 0xE5, + // Bytes 780 - 7bf + 0x83, 0xA7, 0x43, 0xE5, 0x84, 0xAA, 0x43, 0xE5, + 0x84, 0xBF, 0x43, 0xE5, 0x85, 0x80, 0x43, 0xE5, + 0x85, 0x85, 0x43, 0xE5, 0x85, 0x8D, 0x43, 0xE5, + 0x85, 0x94, 0x43, 0xE5, 0x85, 0xA4, 0x43, 0xE5, + 0x85, 0xA5, 0x43, 0xE5, 0x85, 0xA7, 0x43, 0xE5, + 0x85, 0xA8, 0x43, 0xE5, 0x85, 0xA9, 0x43, 0xE5, + 0x85, 0xAB, 0x43, 0xE5, 0x85, 0xAD, 0x43, 0xE5, + 0x85, 0xB7, 0x43, 0xE5, 0x86, 0x80, 0x43, 0xE5, + // Bytes 7c0 - 7ff + 0x86, 0x82, 0x43, 0xE5, 0x86, 0x8D, 0x43, 0xE5, + 0x86, 0x92, 0x43, 0xE5, 0x86, 0x95, 0x43, 0xE5, + 0x86, 0x96, 0x43, 0xE5, 0x86, 0x97, 0x43, 0xE5, + 0x86, 0x99, 0x43, 0xE5, 0x86, 0xA4, 0x43, 0xE5, + 0x86, 0xAB, 0x43, 0xE5, 0x86, 0xAC, 0x43, 0xE5, + 0x86, 0xB5, 0x43, 0xE5, 0x86, 0xB7, 0x43, 0xE5, + 0x87, 0x89, 0x43, 0xE5, 0x87, 0x8C, 0x43, 0xE5, + 0x87, 0x9C, 0x43, 0xE5, 0x87, 0x9E, 0x43, 0xE5, + // Bytes 800 - 83f + 0x87, 0xA0, 0x43, 0xE5, 0x87, 0xB5, 0x43, 0xE5, + 0x88, 0x80, 0x43, 0xE5, 0x88, 0x83, 0x43, 0xE5, + 0x88, 0x87, 0x43, 0xE5, 0x88, 0x97, 0x43, 0xE5, + 0x88, 0x9D, 0x43, 0xE5, 0x88, 0xA9, 0x43, 0xE5, + 0x88, 0xBA, 0x43, 0xE5, 0x88, 0xBB, 0x43, 0xE5, + 0x89, 0x86, 0x43, 0xE5, 0x89, 0x8D, 0x43, 0xE5, + 0x89, 0xB2, 0x43, 0xE5, 0x89, 0xB7, 0x43, 0xE5, + 0x8A, 0x89, 0x43, 0xE5, 0x8A, 0x9B, 0x43, 0xE5, + // Bytes 840 - 87f + 0x8A, 0xA3, 0x43, 0xE5, 0x8A, 0xB3, 0x43, 0xE5, + 0x8A, 0xB4, 0x43, 0xE5, 0x8B, 0x87, 0x43, 0xE5, + 0x8B, 0x89, 0x43, 0xE5, 0x8B, 0x92, 0x43, 0xE5, + 0x8B, 0x9E, 0x43, 0xE5, 0x8B, 0xA4, 0x43, 0xE5, + 0x8B, 0xB5, 0x43, 0xE5, 0x8B, 0xB9, 0x43, 0xE5, + 0x8B, 0xBA, 0x43, 0xE5, 0x8C, 0x85, 0x43, 0xE5, + 0x8C, 0x86, 0x43, 0xE5, 0x8C, 0x95, 0x43, 0xE5, + 0x8C, 0x97, 0x43, 0xE5, 0x8C, 0x9A, 0x43, 0xE5, + // Bytes 880 - 8bf + 0x8C, 0xB8, 0x43, 0xE5, 0x8C, 0xBB, 0x43, 0xE5, + 0x8C, 0xBF, 0x43, 0xE5, 0x8D, 0x81, 0x43, 0xE5, + 0x8D, 0x84, 0x43, 0xE5, 0x8D, 0x85, 0x43, 0xE5, + 0x8D, 0x89, 0x43, 0xE5, 0x8D, 0x91, 0x43, 0xE5, + 0x8D, 0x94, 0x43, 0xE5, 0x8D, 0x9A, 0x43, 0xE5, + 0x8D, 0x9C, 0x43, 0xE5, 0x8D, 0xA9, 0x43, 0xE5, + 0x8D, 0xB0, 0x43, 0xE5, 0x8D, 0xB3, 0x43, 0xE5, + 0x8D, 0xB5, 0x43, 0xE5, 0x8D, 0xBD, 0x43, 0xE5, + // Bytes 8c0 - 8ff + 0x8D, 0xBF, 0x43, 0xE5, 0x8E, 0x82, 0x43, 0xE5, + 0x8E, 0xB6, 0x43, 0xE5, 0x8F, 0x83, 0x43, 0xE5, + 0x8F, 0x88, 0x43, 0xE5, 0x8F, 0x8A, 0x43, 0xE5, + 0x8F, 0x8C, 0x43, 0xE5, 0x8F, 0x9F, 0x43, 0xE5, + 0x8F, 0xA3, 0x43, 0xE5, 0x8F, 0xA5, 0x43, 0xE5, + 0x8F, 0xAB, 0x43, 0xE5, 0x8F, 0xAF, 0x43, 0xE5, + 0x8F, 0xB1, 0x43, 0xE5, 0x8F, 0xB3, 0x43, 0xE5, + 0x90, 0x86, 0x43, 0xE5, 0x90, 0x88, 0x43, 0xE5, + // Bytes 900 - 93f + 0x90, 0x8D, 0x43, 0xE5, 0x90, 0x8F, 0x43, 0xE5, + 0x90, 0x9D, 0x43, 0xE5, 0x90, 0xB8, 0x43, 0xE5, + 0x90, 0xB9, 0x43, 0xE5, 0x91, 0x82, 0x43, 0xE5, + 0x91, 0x88, 0x43, 0xE5, 0x91, 0xA8, 0x43, 0xE5, + 0x92, 0x9E, 0x43, 0xE5, 0x92, 0xA2, 0x43, 0xE5, + 0x92, 0xBD, 0x43, 0xE5, 0x93, 0xB6, 0x43, 0xE5, + 0x94, 0x90, 0x43, 0xE5, 0x95, 0x8F, 0x43, 0xE5, + 0x95, 0x93, 0x43, 0xE5, 0x95, 0x95, 0x43, 0xE5, + // Bytes 940 - 97f + 0x95, 0xA3, 0x43, 0xE5, 0x96, 0x84, 0x43, 0xE5, + 0x96, 0x87, 0x43, 0xE5, 0x96, 0x99, 0x43, 0xE5, + 0x96, 0x9D, 0x43, 0xE5, 0x96, 0xAB, 0x43, 0xE5, + 0x96, 0xB3, 0x43, 0xE5, 0x96, 0xB6, 0x43, 0xE5, + 0x97, 0x80, 0x43, 0xE5, 0x97, 0x82, 0x43, 0xE5, + 0x97, 0xA2, 0x43, 0xE5, 0x98, 0x86, 0x43, 0xE5, + 0x99, 0x91, 0x43, 0xE5, 0x99, 0xA8, 0x43, 0xE5, + 0x99, 0xB4, 0x43, 0xE5, 0x9B, 0x97, 0x43, 0xE5, + // Bytes 980 - 9bf + 0x9B, 0x9B, 0x43, 0xE5, 0x9B, 0xB9, 0x43, 0xE5, + 0x9C, 0x96, 0x43, 0xE5, 0x9C, 0x97, 0x43, 0xE5, + 0x9C, 0x9F, 0x43, 0xE5, 0x9C, 0xB0, 0x43, 0xE5, + 0x9E, 0x8B, 0x43, 0xE5, 0x9F, 0x8E, 0x43, 0xE5, + 0x9F, 0xB4, 0x43, 0xE5, 0xA0, 0x8D, 0x43, 0xE5, + 0xA0, 0xB1, 0x43, 0xE5, 0xA0, 0xB2, 0x43, 0xE5, + 0xA1, 0x80, 0x43, 0xE5, 0xA1, 0x9A, 0x43, 0xE5, + 0xA1, 0x9E, 0x43, 0xE5, 0xA2, 0xA8, 0x43, 0xE5, + // Bytes 9c0 - 9ff + 0xA2, 0xAC, 0x43, 0xE5, 0xA2, 0xB3, 0x43, 0xE5, + 0xA3, 0x98, 0x43, 0xE5, 0xA3, 0x9F, 0x43, 0xE5, + 0xA3, 0xAB, 0x43, 0xE5, 0xA3, 0xAE, 0x43, 0xE5, + 0xA3, 0xB0, 0x43, 0xE5, 0xA3, 0xB2, 0x43, 0xE5, + 0xA3, 0xB7, 0x43, 0xE5, 0xA4, 0x82, 0x43, 0xE5, + 0xA4, 0x86, 0x43, 0xE5, 0xA4, 0x8A, 0x43, 0xE5, + 0xA4, 0x95, 0x43, 0xE5, 0xA4, 0x9A, 0x43, 0xE5, + 0xA4, 0x9C, 0x43, 0xE5, 0xA4, 0xA2, 0x43, 0xE5, + // Bytes a00 - a3f + 0xA4, 0xA7, 0x43, 0xE5, 0xA4, 0xA9, 0x43, 0xE5, + 0xA5, 0x84, 0x43, 0xE5, 0xA5, 0x88, 0x43, 0xE5, + 0xA5, 0x91, 0x43, 0xE5, 0xA5, 0x94, 0x43, 0xE5, + 0xA5, 0xA2, 0x43, 0xE5, 0xA5, 0xB3, 0x43, 0xE5, + 0xA7, 0x98, 0x43, 0xE5, 0xA7, 0xAC, 0x43, 0xE5, + 0xA8, 0x9B, 0x43, 0xE5, 0xA8, 0xA7, 0x43, 0xE5, + 0xA9, 0xA2, 0x43, 0xE5, 0xA9, 0xA6, 0x43, 0xE5, + 0xAA, 0xB5, 0x43, 0xE5, 0xAC, 0x88, 0x43, 0xE5, + // Bytes a40 - a7f + 0xAC, 0xA8, 0x43, 0xE5, 0xAC, 0xBE, 0x43, 0xE5, + 0xAD, 0x90, 0x43, 0xE5, 0xAD, 0x97, 0x43, 0xE5, + 0xAD, 0xA6, 0x43, 0xE5, 0xAE, 0x80, 0x43, 0xE5, + 0xAE, 0x85, 0x43, 0xE5, 0xAE, 0x97, 0x43, 0xE5, + 0xAF, 0x83, 0x43, 0xE5, 0xAF, 0x98, 0x43, 0xE5, + 0xAF, 0xA7, 0x43, 0xE5, 0xAF, 0xAE, 0x43, 0xE5, + 0xAF, 0xB3, 0x43, 0xE5, 0xAF, 0xB8, 0x43, 0xE5, + 0xAF, 0xBF, 0x43, 0xE5, 0xB0, 0x86, 0x43, 0xE5, + // Bytes a80 - abf + 0xB0, 0x8F, 0x43, 0xE5, 0xB0, 0xA2, 0x43, 0xE5, + 0xB0, 0xB8, 0x43, 0xE5, 0xB0, 0xBF, 0x43, 0xE5, + 0xB1, 0xA0, 0x43, 0xE5, 0xB1, 0xA2, 0x43, 0xE5, + 0xB1, 0xA4, 0x43, 0xE5, 0xB1, 0xA5, 0x43, 0xE5, + 0xB1, 0xAE, 0x43, 0xE5, 0xB1, 0xB1, 0x43, 0xE5, + 0xB2, 0x8D, 0x43, 0xE5, 0xB3, 0x80, 0x43, 0xE5, + 0xB4, 0x99, 0x43, 0xE5, 0xB5, 0x83, 0x43, 0xE5, + 0xB5, 0x90, 0x43, 0xE5, 0xB5, 0xAB, 0x43, 0xE5, + // Bytes ac0 - aff + 0xB5, 0xAE, 0x43, 0xE5, 0xB5, 0xBC, 0x43, 0xE5, + 0xB6, 0xB2, 0x43, 0xE5, 0xB6, 0xBA, 0x43, 0xE5, + 0xB7, 0x9B, 0x43, 0xE5, 0xB7, 0xA1, 0x43, 0xE5, + 0xB7, 0xA2, 0x43, 0xE5, 0xB7, 0xA5, 0x43, 0xE5, + 0xB7, 0xA6, 0x43, 0xE5, 0xB7, 0xB1, 0x43, 0xE5, + 0xB7, 0xBD, 0x43, 0xE5, 0xB7, 0xBE, 0x43, 0xE5, + 0xB8, 0xA8, 0x43, 0xE5, 0xB8, 0xBD, 0x43, 0xE5, + 0xB9, 0xA9, 0x43, 0xE5, 0xB9, 0xB2, 0x43, 0xE5, + // Bytes b00 - b3f + 0xB9, 0xB4, 0x43, 0xE5, 0xB9, 0xBA, 0x43, 0xE5, + 0xB9, 0xBC, 0x43, 0xE5, 0xB9, 0xBF, 0x43, 0xE5, + 0xBA, 0xA6, 0x43, 0xE5, 0xBA, 0xB0, 0x43, 0xE5, + 0xBA, 0xB3, 0x43, 0xE5, 0xBA, 0xB6, 0x43, 0xE5, + 0xBB, 0x89, 0x43, 0xE5, 0xBB, 0x8A, 0x43, 0xE5, + 0xBB, 0x92, 0x43, 0xE5, 0xBB, 0x93, 0x43, 0xE5, + 0xBB, 0x99, 0x43, 0xE5, 0xBB, 0xAC, 0x43, 0xE5, + 0xBB, 0xB4, 0x43, 0xE5, 0xBB, 0xBE, 0x43, 0xE5, + // Bytes b40 - b7f + 0xBC, 0x84, 0x43, 0xE5, 0xBC, 0x8B, 0x43, 0xE5, + 0xBC, 0x93, 0x43, 0xE5, 0xBC, 0xA2, 0x43, 0xE5, + 0xBD, 0x90, 0x43, 0xE5, 0xBD, 0x93, 0x43, 0xE5, + 0xBD, 0xA1, 0x43, 0xE5, 0xBD, 0xA2, 0x43, 0xE5, + 0xBD, 0xA9, 0x43, 0xE5, 0xBD, 0xAB, 0x43, 0xE5, + 0xBD, 0xB3, 0x43, 0xE5, 0xBE, 0x8B, 0x43, 0xE5, + 0xBE, 0x8C, 0x43, 0xE5, 0xBE, 0x97, 0x43, 0xE5, + 0xBE, 0x9A, 0x43, 0xE5, 0xBE, 0xA9, 0x43, 0xE5, + // Bytes b80 - bbf + 0xBE, 0xAD, 0x43, 0xE5, 0xBF, 0x83, 0x43, 0xE5, + 0xBF, 0x8D, 0x43, 0xE5, 0xBF, 0x97, 0x43, 0xE5, + 0xBF, 0xB5, 0x43, 0xE5, 0xBF, 0xB9, 0x43, 0xE6, + 0x80, 0x92, 0x43, 0xE6, 0x80, 0x9C, 0x43, 0xE6, + 0x81, 0xB5, 0x43, 0xE6, 0x82, 0x81, 0x43, 0xE6, + 0x82, 0x94, 0x43, 0xE6, 0x83, 0x87, 0x43, 0xE6, + 0x83, 0x98, 0x43, 0xE6, 0x83, 0xA1, 0x43, 0xE6, + 0x84, 0x88, 0x43, 0xE6, 0x85, 0x84, 0x43, 0xE6, + // Bytes bc0 - bff + 0x85, 0x88, 0x43, 0xE6, 0x85, 0x8C, 0x43, 0xE6, + 0x85, 0x8E, 0x43, 0xE6, 0x85, 0xA0, 0x43, 0xE6, + 0x85, 0xA8, 0x43, 0xE6, 0x85, 0xBA, 0x43, 0xE6, + 0x86, 0x8E, 0x43, 0xE6, 0x86, 0x90, 0x43, 0xE6, + 0x86, 0xA4, 0x43, 0xE6, 0x86, 0xAF, 0x43, 0xE6, + 0x86, 0xB2, 0x43, 0xE6, 0x87, 0x9E, 0x43, 0xE6, + 0x87, 0xB2, 0x43, 0xE6, 0x87, 0xB6, 0x43, 0xE6, + 0x88, 0x80, 0x43, 0xE6, 0x88, 0x88, 0x43, 0xE6, + // Bytes c00 - c3f + 0x88, 0x90, 0x43, 0xE6, 0x88, 0x9B, 0x43, 0xE6, + 0x88, 0xAE, 0x43, 0xE6, 0x88, 0xB4, 0x43, 0xE6, + 0x88, 0xB6, 0x43, 0xE6, 0x89, 0x8B, 0x43, 0xE6, + 0x89, 0x93, 0x43, 0xE6, 0x89, 0x9D, 0x43, 0xE6, + 0x8A, 0x95, 0x43, 0xE6, 0x8A, 0xB1, 0x43, 0xE6, + 0x8B, 0x89, 0x43, 0xE6, 0x8B, 0x8F, 0x43, 0xE6, + 0x8B, 0x93, 0x43, 0xE6, 0x8B, 0x94, 0x43, 0xE6, + 0x8B, 0xBC, 0x43, 0xE6, 0x8B, 0xBE, 0x43, 0xE6, + // Bytes c40 - c7f + 0x8C, 0x87, 0x43, 0xE6, 0x8C, 0xBD, 0x43, 0xE6, + 0x8D, 0x90, 0x43, 0xE6, 0x8D, 0x95, 0x43, 0xE6, + 0x8D, 0xA8, 0x43, 0xE6, 0x8D, 0xBB, 0x43, 0xE6, + 0x8E, 0x83, 0x43, 0xE6, 0x8E, 0xA0, 0x43, 0xE6, + 0x8E, 0xA9, 0x43, 0xE6, 0x8F, 0x84, 0x43, 0xE6, + 0x8F, 0x85, 0x43, 0xE6, 0x8F, 0xA4, 0x43, 0xE6, + 0x90, 0x9C, 0x43, 0xE6, 0x90, 0xA2, 0x43, 0xE6, + 0x91, 0x92, 0x43, 0xE6, 0x91, 0xA9, 0x43, 0xE6, + // Bytes c80 - cbf + 0x91, 0xB7, 0x43, 0xE6, 0x91, 0xBE, 0x43, 0xE6, + 0x92, 0x9A, 0x43, 0xE6, 0x92, 0x9D, 0x43, 0xE6, + 0x93, 0x84, 0x43, 0xE6, 0x94, 0xAF, 0x43, 0xE6, + 0x94, 0xB4, 0x43, 0xE6, 0x95, 0x8F, 0x43, 0xE6, + 0x95, 0x96, 0x43, 0xE6, 0x95, 0xAC, 0x43, 0xE6, + 0x95, 0xB8, 0x43, 0xE6, 0x96, 0x87, 0x43, 0xE6, + 0x96, 0x97, 0x43, 0xE6, 0x96, 0x99, 0x43, 0xE6, + 0x96, 0xA4, 0x43, 0xE6, 0x96, 0xB0, 0x43, 0xE6, + // Bytes cc0 - cff + 0x96, 0xB9, 0x43, 0xE6, 0x97, 0x85, 0x43, 0xE6, + 0x97, 0xA0, 0x43, 0xE6, 0x97, 0xA2, 0x43, 0xE6, + 0x97, 0xA3, 0x43, 0xE6, 0x97, 0xA5, 0x43, 0xE6, + 0x98, 0x93, 0x43, 0xE6, 0x98, 0xA0, 0x43, 0xE6, + 0x99, 0x89, 0x43, 0xE6, 0x99, 0xB4, 0x43, 0xE6, + 0x9A, 0x88, 0x43, 0xE6, 0x9A, 0x91, 0x43, 0xE6, + 0x9A, 0x9C, 0x43, 0xE6, 0x9A, 0xB4, 0x43, 0xE6, + 0x9B, 0x86, 0x43, 0xE6, 0x9B, 0xB0, 0x43, 0xE6, + // Bytes d00 - d3f + 0x9B, 0xB4, 0x43, 0xE6, 0x9B, 0xB8, 0x43, 0xE6, + 0x9C, 0x80, 0x43, 0xE6, 0x9C, 0x88, 0x43, 0xE6, + 0x9C, 0x89, 0x43, 0xE6, 0x9C, 0x97, 0x43, 0xE6, + 0x9C, 0x9B, 0x43, 0xE6, 0x9C, 0xA1, 0x43, 0xE6, + 0x9C, 0xA8, 0x43, 0xE6, 0x9D, 0x8E, 0x43, 0xE6, + 0x9D, 0x93, 0x43, 0xE6, 0x9D, 0x96, 0x43, 0xE6, + 0x9D, 0x9E, 0x43, 0xE6, 0x9D, 0xBB, 0x43, 0xE6, + 0x9E, 0x85, 0x43, 0xE6, 0x9E, 0x97, 0x43, 0xE6, + // Bytes d40 - d7f + 0x9F, 0xB3, 0x43, 0xE6, 0x9F, 0xBA, 0x43, 0xE6, + 0xA0, 0x97, 0x43, 0xE6, 0xA0, 0x9F, 0x43, 0xE6, + 0xA0, 0xAA, 0x43, 0xE6, 0xA1, 0x92, 0x43, 0xE6, + 0xA2, 0x81, 0x43, 0xE6, 0xA2, 0x85, 0x43, 0xE6, + 0xA2, 0x8E, 0x43, 0xE6, 0xA2, 0xA8, 0x43, 0xE6, + 0xA4, 0x94, 0x43, 0xE6, 0xA5, 0x82, 0x43, 0xE6, + 0xA6, 0xA3, 0x43, 0xE6, 0xA7, 0xAA, 0x43, 0xE6, + 0xA8, 0x82, 0x43, 0xE6, 0xA8, 0x93, 0x43, 0xE6, + // Bytes d80 - dbf + 0xAA, 0xA8, 0x43, 0xE6, 0xAB, 0x93, 0x43, 0xE6, + 0xAB, 0x9B, 0x43, 0xE6, 0xAC, 0x84, 0x43, 0xE6, + 0xAC, 0xA0, 0x43, 0xE6, 0xAC, 0xA1, 0x43, 0xE6, + 0xAD, 0x94, 0x43, 0xE6, 0xAD, 0xA2, 0x43, 0xE6, + 0xAD, 0xA3, 0x43, 0xE6, 0xAD, 0xB2, 0x43, 0xE6, + 0xAD, 0xB7, 0x43, 0xE6, 0xAD, 0xB9, 0x43, 0xE6, + 0xAE, 0x9F, 0x43, 0xE6, 0xAE, 0xAE, 0x43, 0xE6, + 0xAE, 0xB3, 0x43, 0xE6, 0xAE, 0xBA, 0x43, 0xE6, + // Bytes dc0 - dff + 0xAE, 0xBB, 0x43, 0xE6, 0xAF, 0x8B, 0x43, 0xE6, + 0xAF, 0x8D, 0x43, 0xE6, 0xAF, 0x94, 0x43, 0xE6, + 0xAF, 0x9B, 0x43, 0xE6, 0xB0, 0x8F, 0x43, 0xE6, + 0xB0, 0x94, 0x43, 0xE6, 0xB0, 0xB4, 0x43, 0xE6, + 0xB1, 0x8E, 0x43, 0xE6, 0xB1, 0xA7, 0x43, 0xE6, + 0xB2, 0x88, 0x43, 0xE6, 0xB2, 0xBF, 0x43, 0xE6, + 0xB3, 0x8C, 0x43, 0xE6, 0xB3, 0x8D, 0x43, 0xE6, + 0xB3, 0xA5, 0x43, 0xE6, 0xB3, 0xA8, 0x43, 0xE6, + // Bytes e00 - e3f + 0xB4, 0x96, 0x43, 0xE6, 0xB4, 0x9B, 0x43, 0xE6, + 0xB4, 0x9E, 0x43, 0xE6, 0xB4, 0xB4, 0x43, 0xE6, + 0xB4, 0xBE, 0x43, 0xE6, 0xB5, 0x81, 0x43, 0xE6, + 0xB5, 0xA9, 0x43, 0xE6, 0xB5, 0xAA, 0x43, 0xE6, + 0xB5, 0xB7, 0x43, 0xE6, 0xB5, 0xB8, 0x43, 0xE6, + 0xB6, 0x85, 0x43, 0xE6, 0xB7, 0x8B, 0x43, 0xE6, + 0xB7, 0x9A, 0x43, 0xE6, 0xB7, 0xAA, 0x43, 0xE6, + 0xB7, 0xB9, 0x43, 0xE6, 0xB8, 0x9A, 0x43, 0xE6, + // Bytes e40 - e7f + 0xB8, 0xAF, 0x43, 0xE6, 0xB9, 0xAE, 0x43, 0xE6, + 0xBA, 0x80, 0x43, 0xE6, 0xBA, 0x9C, 0x43, 0xE6, + 0xBA, 0xBA, 0x43, 0xE6, 0xBB, 0x87, 0x43, 0xE6, + 0xBB, 0x8B, 0x43, 0xE6, 0xBB, 0x91, 0x43, 0xE6, + 0xBB, 0x9B, 0x43, 0xE6, 0xBC, 0x8F, 0x43, 0xE6, + 0xBC, 0x94, 0x43, 0xE6, 0xBC, 0xA2, 0x43, 0xE6, + 0xBC, 0xA3, 0x43, 0xE6, 0xBD, 0xAE, 0x43, 0xE6, + 0xBF, 0x86, 0x43, 0xE6, 0xBF, 0xAB, 0x43, 0xE6, + // Bytes e80 - ebf + 0xBF, 0xBE, 0x43, 0xE7, 0x80, 0x9B, 0x43, 0xE7, + 0x80, 0x9E, 0x43, 0xE7, 0x80, 0xB9, 0x43, 0xE7, + 0x81, 0x8A, 0x43, 0xE7, 0x81, 0xAB, 0x43, 0xE7, + 0x81, 0xB0, 0x43, 0xE7, 0x81, 0xB7, 0x43, 0xE7, + 0x81, 0xBD, 0x43, 0xE7, 0x82, 0x99, 0x43, 0xE7, + 0x82, 0xAD, 0x43, 0xE7, 0x83, 0x88, 0x43, 0xE7, + 0x83, 0x99, 0x43, 0xE7, 0x84, 0xA1, 0x43, 0xE7, + 0x85, 0x85, 0x43, 0xE7, 0x85, 0x89, 0x43, 0xE7, + // Bytes ec0 - eff + 0x85, 0xAE, 0x43, 0xE7, 0x86, 0x9C, 0x43, 0xE7, + 0x87, 0x8E, 0x43, 0xE7, 0x87, 0x90, 0x43, 0xE7, + 0x88, 0x90, 0x43, 0xE7, 0x88, 0x9B, 0x43, 0xE7, + 0x88, 0xA8, 0x43, 0xE7, 0x88, 0xAA, 0x43, 0xE7, + 0x88, 0xAB, 0x43, 0xE7, 0x88, 0xB5, 0x43, 0xE7, + 0x88, 0xB6, 0x43, 0xE7, 0x88, 0xBB, 0x43, 0xE7, + 0x88, 0xBF, 0x43, 0xE7, 0x89, 0x87, 0x43, 0xE7, + 0x89, 0x90, 0x43, 0xE7, 0x89, 0x99, 0x43, 0xE7, + // Bytes f00 - f3f + 0x89, 0x9B, 0x43, 0xE7, 0x89, 0xA2, 0x43, 0xE7, + 0x89, 0xB9, 0x43, 0xE7, 0x8A, 0x80, 0x43, 0xE7, + 0x8A, 0x95, 0x43, 0xE7, 0x8A, 0xAC, 0x43, 0xE7, + 0x8A, 0xAF, 0x43, 0xE7, 0x8B, 0x80, 0x43, 0xE7, + 0x8B, 0xBC, 0x43, 0xE7, 0x8C, 0xAA, 0x43, 0xE7, + 0x8D, 0xB5, 0x43, 0xE7, 0x8D, 0xBA, 0x43, 0xE7, + 0x8E, 0x84, 0x43, 0xE7, 0x8E, 0x87, 0x43, 0xE7, + 0x8E, 0x89, 0x43, 0xE7, 0x8E, 0x8B, 0x43, 0xE7, + // Bytes f40 - f7f + 0x8E, 0xA5, 0x43, 0xE7, 0x8E, 0xB2, 0x43, 0xE7, + 0x8F, 0x9E, 0x43, 0xE7, 0x90, 0x86, 0x43, 0xE7, + 0x90, 0x89, 0x43, 0xE7, 0x90, 0xA2, 0x43, 0xE7, + 0x91, 0x87, 0x43, 0xE7, 0x91, 0x9C, 0x43, 0xE7, + 0x91, 0xA9, 0x43, 0xE7, 0x91, 0xB1, 0x43, 0xE7, + 0x92, 0x85, 0x43, 0xE7, 0x92, 0x89, 0x43, 0xE7, + 0x92, 0x98, 0x43, 0xE7, 0x93, 0x8A, 0x43, 0xE7, + 0x93, 0x9C, 0x43, 0xE7, 0x93, 0xA6, 0x43, 0xE7, + // Bytes f80 - fbf + 0x94, 0x86, 0x43, 0xE7, 0x94, 0x98, 0x43, 0xE7, + 0x94, 0x9F, 0x43, 0xE7, 0x94, 0xA4, 0x43, 0xE7, + 0x94, 0xA8, 0x43, 0xE7, 0x94, 0xB0, 0x43, 0xE7, + 0x94, 0xB2, 0x43, 0xE7, 0x94, 0xB3, 0x43, 0xE7, + 0x94, 0xB7, 0x43, 0xE7, 0x94, 0xBB, 0x43, 0xE7, + 0x94, 0xBE, 0x43, 0xE7, 0x95, 0x99, 0x43, 0xE7, + 0x95, 0xA5, 0x43, 0xE7, 0x95, 0xB0, 0x43, 0xE7, + 0x96, 0x8B, 0x43, 0xE7, 0x96, 0x92, 0x43, 0xE7, + // Bytes fc0 - fff + 0x97, 0xA2, 0x43, 0xE7, 0x98, 0x90, 0x43, 0xE7, + 0x98, 0x9D, 0x43, 0xE7, 0x98, 0x9F, 0x43, 0xE7, + 0x99, 0x82, 0x43, 0xE7, 0x99, 0xA9, 0x43, 0xE7, + 0x99, 0xB6, 0x43, 0xE7, 0x99, 0xBD, 0x43, 0xE7, + 0x9A, 0xAE, 0x43, 0xE7, 0x9A, 0xBF, 0x43, 0xE7, + 0x9B, 0x8A, 0x43, 0xE7, 0x9B, 0x9B, 0x43, 0xE7, + 0x9B, 0xA3, 0x43, 0xE7, 0x9B, 0xA7, 0x43, 0xE7, + 0x9B, 0xAE, 0x43, 0xE7, 0x9B, 0xB4, 0x43, 0xE7, + // Bytes 1000 - 103f + 0x9C, 0x81, 0x43, 0xE7, 0x9C, 0x9E, 0x43, 0xE7, + 0x9C, 0x9F, 0x43, 0xE7, 0x9D, 0x80, 0x43, 0xE7, + 0x9D, 0x8A, 0x43, 0xE7, 0x9E, 0x8B, 0x43, 0xE7, + 0x9E, 0xA7, 0x43, 0xE7, 0x9F, 0x9B, 0x43, 0xE7, + 0x9F, 0xA2, 0x43, 0xE7, 0x9F, 0xB3, 0x43, 0xE7, + 0xA1, 0x8E, 0x43, 0xE7, 0xA1, 0xAB, 0x43, 0xE7, + 0xA2, 0x8C, 0x43, 0xE7, 0xA2, 0x91, 0x43, 0xE7, + 0xA3, 0x8A, 0x43, 0xE7, 0xA3, 0x8C, 0x43, 0xE7, + // Bytes 1040 - 107f + 0xA3, 0xBB, 0x43, 0xE7, 0xA4, 0xAA, 0x43, 0xE7, + 0xA4, 0xBA, 0x43, 0xE7, 0xA4, 0xBC, 0x43, 0xE7, + 0xA4, 0xBE, 0x43, 0xE7, 0xA5, 0x88, 0x43, 0xE7, + 0xA5, 0x89, 0x43, 0xE7, 0xA5, 0x90, 0x43, 0xE7, + 0xA5, 0x96, 0x43, 0xE7, 0xA5, 0x9D, 0x43, 0xE7, + 0xA5, 0x9E, 0x43, 0xE7, 0xA5, 0xA5, 0x43, 0xE7, + 0xA5, 0xBF, 0x43, 0xE7, 0xA6, 0x81, 0x43, 0xE7, + 0xA6, 0x8D, 0x43, 0xE7, 0xA6, 0x8E, 0x43, 0xE7, + // Bytes 1080 - 10bf + 0xA6, 0x8F, 0x43, 0xE7, 0xA6, 0xAE, 0x43, 0xE7, + 0xA6, 0xB8, 0x43, 0xE7, 0xA6, 0xBE, 0x43, 0xE7, + 0xA7, 0x8A, 0x43, 0xE7, 0xA7, 0x98, 0x43, 0xE7, + 0xA7, 0xAB, 0x43, 0xE7, 0xA8, 0x9C, 0x43, 0xE7, + 0xA9, 0x80, 0x43, 0xE7, 0xA9, 0x8A, 0x43, 0xE7, + 0xA9, 0x8F, 0x43, 0xE7, 0xA9, 0xB4, 0x43, 0xE7, + 0xA9, 0xBA, 0x43, 0xE7, 0xAA, 0x81, 0x43, 0xE7, + 0xAA, 0xB1, 0x43, 0xE7, 0xAB, 0x8B, 0x43, 0xE7, + // Bytes 10c0 - 10ff + 0xAB, 0xAE, 0x43, 0xE7, 0xAB, 0xB9, 0x43, 0xE7, + 0xAC, 0xA0, 0x43, 0xE7, 0xAE, 0x8F, 0x43, 0xE7, + 0xAF, 0x80, 0x43, 0xE7, 0xAF, 0x86, 0x43, 0xE7, + 0xAF, 0x89, 0x43, 0xE7, 0xB0, 0xBE, 0x43, 0xE7, + 0xB1, 0xA0, 0x43, 0xE7, 0xB1, 0xB3, 0x43, 0xE7, + 0xB1, 0xBB, 0x43, 0xE7, 0xB2, 0x92, 0x43, 0xE7, + 0xB2, 0xBE, 0x43, 0xE7, 0xB3, 0x92, 0x43, 0xE7, + 0xB3, 0x96, 0x43, 0xE7, 0xB3, 0xA3, 0x43, 0xE7, + // Bytes 1100 - 113f + 0xB3, 0xA7, 0x43, 0xE7, 0xB3, 0xA8, 0x43, 0xE7, + 0xB3, 0xB8, 0x43, 0xE7, 0xB4, 0x80, 0x43, 0xE7, + 0xB4, 0x90, 0x43, 0xE7, 0xB4, 0xA2, 0x43, 0xE7, + 0xB4, 0xAF, 0x43, 0xE7, 0xB5, 0x82, 0x43, 0xE7, + 0xB5, 0x9B, 0x43, 0xE7, 0xB5, 0xA3, 0x43, 0xE7, + 0xB6, 0xA0, 0x43, 0xE7, 0xB6, 0xBE, 0x43, 0xE7, + 0xB7, 0x87, 0x43, 0xE7, 0xB7, 0xB4, 0x43, 0xE7, + 0xB8, 0x82, 0x43, 0xE7, 0xB8, 0x89, 0x43, 0xE7, + // Bytes 1140 - 117f + 0xB8, 0xB7, 0x43, 0xE7, 0xB9, 0x81, 0x43, 0xE7, + 0xB9, 0x85, 0x43, 0xE7, 0xBC, 0xB6, 0x43, 0xE7, + 0xBC, 0xBE, 0x43, 0xE7, 0xBD, 0x91, 0x43, 0xE7, + 0xBD, 0xB2, 0x43, 0xE7, 0xBD, 0xB9, 0x43, 0xE7, + 0xBD, 0xBA, 0x43, 0xE7, 0xBE, 0x85, 0x43, 0xE7, + 0xBE, 0x8A, 0x43, 0xE7, 0xBE, 0x95, 0x43, 0xE7, + 0xBE, 0x9A, 0x43, 0xE7, 0xBE, 0xBD, 0x43, 0xE7, + 0xBF, 0xBA, 0x43, 0xE8, 0x80, 0x81, 0x43, 0xE8, + // Bytes 1180 - 11bf + 0x80, 0x85, 0x43, 0xE8, 0x80, 0x8C, 0x43, 0xE8, + 0x80, 0x92, 0x43, 0xE8, 0x80, 0xB3, 0x43, 0xE8, + 0x81, 0x86, 0x43, 0xE8, 0x81, 0xA0, 0x43, 0xE8, + 0x81, 0xAF, 0x43, 0xE8, 0x81, 0xB0, 0x43, 0xE8, + 0x81, 0xBE, 0x43, 0xE8, 0x81, 0xBF, 0x43, 0xE8, + 0x82, 0x89, 0x43, 0xE8, 0x82, 0x8B, 0x43, 0xE8, + 0x82, 0xAD, 0x43, 0xE8, 0x82, 0xB2, 0x43, 0xE8, + 0x84, 0x83, 0x43, 0xE8, 0x84, 0xBE, 0x43, 0xE8, + // Bytes 11c0 - 11ff + 0x87, 0x98, 0x43, 0xE8, 0x87, 0xA3, 0x43, 0xE8, + 0x87, 0xA8, 0x43, 0xE8, 0x87, 0xAA, 0x43, 0xE8, + 0x87, 0xAD, 0x43, 0xE8, 0x87, 0xB3, 0x43, 0xE8, + 0x87, 0xBC, 0x43, 0xE8, 0x88, 0x81, 0x43, 0xE8, + 0x88, 0x84, 0x43, 0xE8, 0x88, 0x8C, 0x43, 0xE8, + 0x88, 0x98, 0x43, 0xE8, 0x88, 0x9B, 0x43, 0xE8, + 0x88, 0x9F, 0x43, 0xE8, 0x89, 0xAE, 0x43, 0xE8, + 0x89, 0xAF, 0x43, 0xE8, 0x89, 0xB2, 0x43, 0xE8, + // Bytes 1200 - 123f + 0x89, 0xB8, 0x43, 0xE8, 0x89, 0xB9, 0x43, 0xE8, + 0x8A, 0x8B, 0x43, 0xE8, 0x8A, 0x91, 0x43, 0xE8, + 0x8A, 0x9D, 0x43, 0xE8, 0x8A, 0xB1, 0x43, 0xE8, + 0x8A, 0xB3, 0x43, 0xE8, 0x8A, 0xBD, 0x43, 0xE8, + 0x8B, 0xA5, 0x43, 0xE8, 0x8B, 0xA6, 0x43, 0xE8, + 0x8C, 0x9D, 0x43, 0xE8, 0x8C, 0xA3, 0x43, 0xE8, + 0x8C, 0xB6, 0x43, 0xE8, 0x8D, 0x92, 0x43, 0xE8, + 0x8D, 0x93, 0x43, 0xE8, 0x8D, 0xA3, 0x43, 0xE8, + // Bytes 1240 - 127f + 0x8E, 0xAD, 0x43, 0xE8, 0x8E, 0xBD, 0x43, 0xE8, + 0x8F, 0x89, 0x43, 0xE8, 0x8F, 0x8A, 0x43, 0xE8, + 0x8F, 0x8C, 0x43, 0xE8, 0x8F, 0x9C, 0x43, 0xE8, + 0x8F, 0xA7, 0x43, 0xE8, 0x8F, 0xAF, 0x43, 0xE8, + 0x8F, 0xB1, 0x43, 0xE8, 0x90, 0xBD, 0x43, 0xE8, + 0x91, 0x89, 0x43, 0xE8, 0x91, 0x97, 0x43, 0xE8, + 0x93, 0xAE, 0x43, 0xE8, 0x93, 0xB1, 0x43, 0xE8, + 0x93, 0xB3, 0x43, 0xE8, 0x93, 0xBC, 0x43, 0xE8, + // Bytes 1280 - 12bf + 0x94, 0x96, 0x43, 0xE8, 0x95, 0xA4, 0x43, 0xE8, + 0x97, 0x8D, 0x43, 0xE8, 0x97, 0xBA, 0x43, 0xE8, + 0x98, 0x86, 0x43, 0xE8, 0x98, 0x92, 0x43, 0xE8, + 0x98, 0xAD, 0x43, 0xE8, 0x98, 0xBF, 0x43, 0xE8, + 0x99, 0x8D, 0x43, 0xE8, 0x99, 0x90, 0x43, 0xE8, + 0x99, 0x9C, 0x43, 0xE8, 0x99, 0xA7, 0x43, 0xE8, + 0x99, 0xA9, 0x43, 0xE8, 0x99, 0xAB, 0x43, 0xE8, + 0x9A, 0x88, 0x43, 0xE8, 0x9A, 0xA9, 0x43, 0xE8, + // Bytes 12c0 - 12ff + 0x9B, 0xA2, 0x43, 0xE8, 0x9C, 0x8E, 0x43, 0xE8, + 0x9C, 0xA8, 0x43, 0xE8, 0x9D, 0xAB, 0x43, 0xE8, + 0x9D, 0xB9, 0x43, 0xE8, 0x9E, 0x86, 0x43, 0xE8, + 0x9E, 0xBA, 0x43, 0xE8, 0x9F, 0xA1, 0x43, 0xE8, + 0xA0, 0x81, 0x43, 0xE8, 0xA0, 0x9F, 0x43, 0xE8, + 0xA1, 0x80, 0x43, 0xE8, 0xA1, 0x8C, 0x43, 0xE8, + 0xA1, 0xA0, 0x43, 0xE8, 0xA1, 0xA3, 0x43, 0xE8, + 0xA3, 0x82, 0x43, 0xE8, 0xA3, 0x8F, 0x43, 0xE8, + // Bytes 1300 - 133f + 0xA3, 0x97, 0x43, 0xE8, 0xA3, 0x9E, 0x43, 0xE8, + 0xA3, 0xA1, 0x43, 0xE8, 0xA3, 0xB8, 0x43, 0xE8, + 0xA3, 0xBA, 0x43, 0xE8, 0xA4, 0x90, 0x43, 0xE8, + 0xA5, 0x81, 0x43, 0xE8, 0xA5, 0xA4, 0x43, 0xE8, + 0xA5, 0xBE, 0x43, 0xE8, 0xA6, 0x86, 0x43, 0xE8, + 0xA6, 0x8B, 0x43, 0xE8, 0xA6, 0x96, 0x43, 0xE8, + 0xA7, 0x92, 0x43, 0xE8, 0xA7, 0xA3, 0x43, 0xE8, + 0xA8, 0x80, 0x43, 0xE8, 0xAA, 0xA0, 0x43, 0xE8, + // Bytes 1340 - 137f + 0xAA, 0xAA, 0x43, 0xE8, 0xAA, 0xBF, 0x43, 0xE8, + 0xAB, 0x8B, 0x43, 0xE8, 0xAB, 0x92, 0x43, 0xE8, + 0xAB, 0x96, 0x43, 0xE8, 0xAB, 0xAD, 0x43, 0xE8, + 0xAB, 0xB8, 0x43, 0xE8, 0xAB, 0xBE, 0x43, 0xE8, + 0xAC, 0x81, 0x43, 0xE8, 0xAC, 0xB9, 0x43, 0xE8, + 0xAD, 0x98, 0x43, 0xE8, 0xAE, 0x80, 0x43, 0xE8, + 0xAE, 0x8A, 0x43, 0xE8, 0xB0, 0xB7, 0x43, 0xE8, + 0xB1, 0x86, 0x43, 0xE8, 0xB1, 0x88, 0x43, 0xE8, + // Bytes 1380 - 13bf + 0xB1, 0x95, 0x43, 0xE8, 0xB1, 0xB8, 0x43, 0xE8, + 0xB2, 0x9D, 0x43, 0xE8, 0xB2, 0xA1, 0x43, 0xE8, + 0xB2, 0xA9, 0x43, 0xE8, 0xB2, 0xAB, 0x43, 0xE8, + 0xB3, 0x81, 0x43, 0xE8, 0xB3, 0x82, 0x43, 0xE8, + 0xB3, 0x87, 0x43, 0xE8, 0xB3, 0x88, 0x43, 0xE8, + 0xB3, 0x93, 0x43, 0xE8, 0xB4, 0x88, 0x43, 0xE8, + 0xB4, 0x9B, 0x43, 0xE8, 0xB5, 0xA4, 0x43, 0xE8, + 0xB5, 0xB0, 0x43, 0xE8, 0xB5, 0xB7, 0x43, 0xE8, + // Bytes 13c0 - 13ff + 0xB6, 0xB3, 0x43, 0xE8, 0xB6, 0xBC, 0x43, 0xE8, + 0xB7, 0x8B, 0x43, 0xE8, 0xB7, 0xAF, 0x43, 0xE8, + 0xB7, 0xB0, 0x43, 0xE8, 0xBA, 0xAB, 0x43, 0xE8, + 0xBB, 0x8A, 0x43, 0xE8, 0xBB, 0x94, 0x43, 0xE8, + 0xBC, 0xA6, 0x43, 0xE8, 0xBC, 0xAA, 0x43, 0xE8, + 0xBC, 0xB8, 0x43, 0xE8, 0xBC, 0xBB, 0x43, 0xE8, + 0xBD, 0xA2, 0x43, 0xE8, 0xBE, 0x9B, 0x43, 0xE8, + 0xBE, 0x9E, 0x43, 0xE8, 0xBE, 0xB0, 0x43, 0xE8, + // Bytes 1400 - 143f + 0xBE, 0xB5, 0x43, 0xE8, 0xBE, 0xB6, 0x43, 0xE9, + 0x80, 0xA3, 0x43, 0xE9, 0x80, 0xB8, 0x43, 0xE9, + 0x81, 0x8A, 0x43, 0xE9, 0x81, 0xA9, 0x43, 0xE9, + 0x81, 0xB2, 0x43, 0xE9, 0x81, 0xBC, 0x43, 0xE9, + 0x82, 0x8F, 0x43, 0xE9, 0x82, 0x91, 0x43, 0xE9, + 0x82, 0x94, 0x43, 0xE9, 0x83, 0x8E, 0x43, 0xE9, + 0x83, 0x9E, 0x43, 0xE9, 0x83, 0xB1, 0x43, 0xE9, + 0x83, 0xBD, 0x43, 0xE9, 0x84, 0x91, 0x43, 0xE9, + // Bytes 1440 - 147f + 0x84, 0x9B, 0x43, 0xE9, 0x85, 0x89, 0x43, 0xE9, + 0x85, 0x8D, 0x43, 0xE9, 0x85, 0xAA, 0x43, 0xE9, + 0x86, 0x99, 0x43, 0xE9, 0x86, 0xB4, 0x43, 0xE9, + 0x87, 0x86, 0x43, 0xE9, 0x87, 0x8C, 0x43, 0xE9, + 0x87, 0x8F, 0x43, 0xE9, 0x87, 0x91, 0x43, 0xE9, + 0x88, 0xB4, 0x43, 0xE9, 0x88, 0xB8, 0x43, 0xE9, + 0x89, 0xB6, 0x43, 0xE9, 0x89, 0xBC, 0x43, 0xE9, + 0x8B, 0x97, 0x43, 0xE9, 0x8B, 0x98, 0x43, 0xE9, + // Bytes 1480 - 14bf + 0x8C, 0x84, 0x43, 0xE9, 0x8D, 0x8A, 0x43, 0xE9, + 0x8F, 0xB9, 0x43, 0xE9, 0x90, 0x95, 0x43, 0xE9, + 0x95, 0xB7, 0x43, 0xE9, 0x96, 0x80, 0x43, 0xE9, + 0x96, 0x8B, 0x43, 0xE9, 0x96, 0xAD, 0x43, 0xE9, + 0x96, 0xB7, 0x43, 0xE9, 0x98, 0x9C, 0x43, 0xE9, + 0x98, 0xAE, 0x43, 0xE9, 0x99, 0x8B, 0x43, 0xE9, + 0x99, 0x8D, 0x43, 0xE9, 0x99, 0xB5, 0x43, 0xE9, + 0x99, 0xB8, 0x43, 0xE9, 0x99, 0xBC, 0x43, 0xE9, + // Bytes 14c0 - 14ff + 0x9A, 0x86, 0x43, 0xE9, 0x9A, 0xA3, 0x43, 0xE9, + 0x9A, 0xB6, 0x43, 0xE9, 0x9A, 0xB7, 0x43, 0xE9, + 0x9A, 0xB8, 0x43, 0xE9, 0x9A, 0xB9, 0x43, 0xE9, + 0x9B, 0x83, 0x43, 0xE9, 0x9B, 0xA2, 0x43, 0xE9, + 0x9B, 0xA3, 0x43, 0xE9, 0x9B, 0xA8, 0x43, 0xE9, + 0x9B, 0xB6, 0x43, 0xE9, 0x9B, 0xB7, 0x43, 0xE9, + 0x9C, 0xA3, 0x43, 0xE9, 0x9C, 0xB2, 0x43, 0xE9, + 0x9D, 0x88, 0x43, 0xE9, 0x9D, 0x91, 0x43, 0xE9, + // Bytes 1500 - 153f + 0x9D, 0x96, 0x43, 0xE9, 0x9D, 0x9E, 0x43, 0xE9, + 0x9D, 0xA2, 0x43, 0xE9, 0x9D, 0xA9, 0x43, 0xE9, + 0x9F, 0x8B, 0x43, 0xE9, 0x9F, 0x9B, 0x43, 0xE9, + 0x9F, 0xA0, 0x43, 0xE9, 0x9F, 0xAD, 0x43, 0xE9, + 0x9F, 0xB3, 0x43, 0xE9, 0x9F, 0xBF, 0x43, 0xE9, + 0xA0, 0x81, 0x43, 0xE9, 0xA0, 0x85, 0x43, 0xE9, + 0xA0, 0x8B, 0x43, 0xE9, 0xA0, 0x98, 0x43, 0xE9, + 0xA0, 0xA9, 0x43, 0xE9, 0xA0, 0xBB, 0x43, 0xE9, + // Bytes 1540 - 157f + 0xA1, 0x9E, 0x43, 0xE9, 0xA2, 0xA8, 0x43, 0xE9, + 0xA3, 0x9B, 0x43, 0xE9, 0xA3, 0x9F, 0x43, 0xE9, + 0xA3, 0xA2, 0x43, 0xE9, 0xA3, 0xAF, 0x43, 0xE9, + 0xA3, 0xBC, 0x43, 0xE9, 0xA4, 0xA8, 0x43, 0xE9, + 0xA4, 0xA9, 0x43, 0xE9, 0xA6, 0x96, 0x43, 0xE9, + 0xA6, 0x99, 0x43, 0xE9, 0xA6, 0xA7, 0x43, 0xE9, + 0xA6, 0xAC, 0x43, 0xE9, 0xA7, 0x82, 0x43, 0xE9, + 0xA7, 0xB1, 0x43, 0xE9, 0xA7, 0xBE, 0x43, 0xE9, + // Bytes 1580 - 15bf + 0xA9, 0xAA, 0x43, 0xE9, 0xAA, 0xA8, 0x43, 0xE9, + 0xAB, 0x98, 0x43, 0xE9, 0xAB, 0x9F, 0x43, 0xE9, + 0xAC, 0x92, 0x43, 0xE9, 0xAC, 0xA5, 0x43, 0xE9, + 0xAC, 0xAF, 0x43, 0xE9, 0xAC, 0xB2, 0x43, 0xE9, + 0xAC, 0xBC, 0x43, 0xE9, 0xAD, 0x9A, 0x43, 0xE9, + 0xAD, 0xAF, 0x43, 0xE9, 0xB1, 0x80, 0x43, 0xE9, + 0xB1, 0x97, 0x43, 0xE9, 0xB3, 0xA5, 0x43, 0xE9, + 0xB3, 0xBD, 0x43, 0xE9, 0xB5, 0xA7, 0x43, 0xE9, + // Bytes 15c0 - 15ff + 0xB6, 0xB4, 0x43, 0xE9, 0xB7, 0xBA, 0x43, 0xE9, + 0xB8, 0x9E, 0x43, 0xE9, 0xB9, 0xB5, 0x43, 0xE9, + 0xB9, 0xBF, 0x43, 0xE9, 0xBA, 0x97, 0x43, 0xE9, + 0xBA, 0x9F, 0x43, 0xE9, 0xBA, 0xA5, 0x43, 0xE9, + 0xBA, 0xBB, 0x43, 0xE9, 0xBB, 0x83, 0x43, 0xE9, + 0xBB, 0x8D, 0x43, 0xE9, 0xBB, 0x8E, 0x43, 0xE9, + 0xBB, 0x91, 0x43, 0xE9, 0xBB, 0xB9, 0x43, 0xE9, + 0xBB, 0xBD, 0x43, 0xE9, 0xBB, 0xBE, 0x43, 0xE9, + // Bytes 1600 - 163f + 0xBC, 0x85, 0x43, 0xE9, 0xBC, 0x8E, 0x43, 0xE9, + 0xBC, 0x8F, 0x43, 0xE9, 0xBC, 0x93, 0x43, 0xE9, + 0xBC, 0x96, 0x43, 0xE9, 0xBC, 0xA0, 0x43, 0xE9, + 0xBC, 0xBB, 0x43, 0xE9, 0xBD, 0x83, 0x43, 0xE9, + 0xBD, 0x8A, 0x43, 0xE9, 0xBD, 0x92, 0x43, 0xE9, + 0xBE, 0x8D, 0x43, 0xE9, 0xBE, 0x8E, 0x43, 0xE9, + 0xBE, 0x9C, 0x43, 0xE9, 0xBE, 0x9F, 0x43, 0xE9, + 0xBE, 0xA0, 0x43, 0xEA, 0x9C, 0xA7, 0x43, 0xEA, + // Bytes 1640 - 167f + 0x9D, 0xAF, 0x43, 0xEA, 0xAC, 0xB7, 0x43, 0xEA, + 0xAD, 0x92, 0x44, 0xF0, 0xA0, 0x84, 0xA2, 0x44, + 0xF0, 0xA0, 0x94, 0x9C, 0x44, 0xF0, 0xA0, 0x94, + 0xA5, 0x44, 0xF0, 0xA0, 0x95, 0x8B, 0x44, 0xF0, + 0xA0, 0x98, 0xBA, 0x44, 0xF0, 0xA0, 0xA0, 0x84, + 0x44, 0xF0, 0xA0, 0xA3, 0x9E, 0x44, 0xF0, 0xA0, + 0xA8, 0xAC, 0x44, 0xF0, 0xA0, 0xAD, 0xA3, 0x44, + 0xF0, 0xA1, 0x93, 0xA4, 0x44, 0xF0, 0xA1, 0x9A, + // Bytes 1680 - 16bf + 0xA8, 0x44, 0xF0, 0xA1, 0x9B, 0xAA, 0x44, 0xF0, + 0xA1, 0xA7, 0x88, 0x44, 0xF0, 0xA1, 0xAC, 0x98, + 0x44, 0xF0, 0xA1, 0xB4, 0x8B, 0x44, 0xF0, 0xA1, + 0xB7, 0xA4, 0x44, 0xF0, 0xA1, 0xB7, 0xA6, 0x44, + 0xF0, 0xA2, 0x86, 0x83, 0x44, 0xF0, 0xA2, 0x86, + 0x9F, 0x44, 0xF0, 0xA2, 0x8C, 0xB1, 0x44, 0xF0, + 0xA2, 0x9B, 0x94, 0x44, 0xF0, 0xA2, 0xA1, 0x84, + 0x44, 0xF0, 0xA2, 0xA1, 0x8A, 0x44, 0xF0, 0xA2, + // Bytes 16c0 - 16ff + 0xAC, 0x8C, 0x44, 0xF0, 0xA2, 0xAF, 0xB1, 0x44, + 0xF0, 0xA3, 0x80, 0x8A, 0x44, 0xF0, 0xA3, 0x8A, + 0xB8, 0x44, 0xF0, 0xA3, 0x8D, 0x9F, 0x44, 0xF0, + 0xA3, 0x8E, 0x93, 0x44, 0xF0, 0xA3, 0x8E, 0x9C, + 0x44, 0xF0, 0xA3, 0x8F, 0x83, 0x44, 0xF0, 0xA3, + 0x8F, 0x95, 0x44, 0xF0, 0xA3, 0x91, 0xAD, 0x44, + 0xF0, 0xA3, 0x9A, 0xA3, 0x44, 0xF0, 0xA3, 0xA2, + 0xA7, 0x44, 0xF0, 0xA3, 0xAA, 0x8D, 0x44, 0xF0, + // Bytes 1700 - 173f + 0xA3, 0xAB, 0xBA, 0x44, 0xF0, 0xA3, 0xB2, 0xBC, + 0x44, 0xF0, 0xA3, 0xB4, 0x9E, 0x44, 0xF0, 0xA3, + 0xBB, 0x91, 0x44, 0xF0, 0xA3, 0xBD, 0x9E, 0x44, + 0xF0, 0xA3, 0xBE, 0x8E, 0x44, 0xF0, 0xA4, 0x89, + 0xA3, 0x44, 0xF0, 0xA4, 0x8B, 0xAE, 0x44, 0xF0, + 0xA4, 0x8E, 0xAB, 0x44, 0xF0, 0xA4, 0x98, 0x88, + 0x44, 0xF0, 0xA4, 0x9C, 0xB5, 0x44, 0xF0, 0xA4, + 0xA0, 0x94, 0x44, 0xF0, 0xA4, 0xB0, 0xB6, 0x44, + // Bytes 1740 - 177f + 0xF0, 0xA4, 0xB2, 0x92, 0x44, 0xF0, 0xA4, 0xBE, + 0xA1, 0x44, 0xF0, 0xA4, 0xBE, 0xB8, 0x44, 0xF0, + 0xA5, 0x81, 0x84, 0x44, 0xF0, 0xA5, 0x83, 0xB2, + 0x44, 0xF0, 0xA5, 0x83, 0xB3, 0x44, 0xF0, 0xA5, + 0x84, 0x99, 0x44, 0xF0, 0xA5, 0x84, 0xB3, 0x44, + 0xF0, 0xA5, 0x89, 0x89, 0x44, 0xF0, 0xA5, 0x90, + 0x9D, 0x44, 0xF0, 0xA5, 0x98, 0xA6, 0x44, 0xF0, + 0xA5, 0x9A, 0x9A, 0x44, 0xF0, 0xA5, 0x9B, 0x85, + // Bytes 1780 - 17bf + 0x44, 0xF0, 0xA5, 0xA5, 0xBC, 0x44, 0xF0, 0xA5, + 0xAA, 0xA7, 0x44, 0xF0, 0xA5, 0xAE, 0xAB, 0x44, + 0xF0, 0xA5, 0xB2, 0x80, 0x44, 0xF0, 0xA5, 0xB3, + 0x90, 0x44, 0xF0, 0xA5, 0xBE, 0x86, 0x44, 0xF0, + 0xA6, 0x87, 0x9A, 0x44, 0xF0, 0xA6, 0x88, 0xA8, + 0x44, 0xF0, 0xA6, 0x89, 0x87, 0x44, 0xF0, 0xA6, + 0x8B, 0x99, 0x44, 0xF0, 0xA6, 0x8C, 0xBE, 0x44, + 0xF0, 0xA6, 0x93, 0x9A, 0x44, 0xF0, 0xA6, 0x94, + // Bytes 17c0 - 17ff + 0xA3, 0x44, 0xF0, 0xA6, 0x96, 0xA8, 0x44, 0xF0, + 0xA6, 0x9E, 0xA7, 0x44, 0xF0, 0xA6, 0x9E, 0xB5, + 0x44, 0xF0, 0xA6, 0xAC, 0xBC, 0x44, 0xF0, 0xA6, + 0xB0, 0xB6, 0x44, 0xF0, 0xA6, 0xB3, 0x95, 0x44, + 0xF0, 0xA6, 0xB5, 0xAB, 0x44, 0xF0, 0xA6, 0xBC, + 0xAC, 0x44, 0xF0, 0xA6, 0xBE, 0xB1, 0x44, 0xF0, + 0xA7, 0x83, 0x92, 0x44, 0xF0, 0xA7, 0x8F, 0x8A, + 0x44, 0xF0, 0xA7, 0x99, 0xA7, 0x44, 0xF0, 0xA7, + // Bytes 1800 - 183f + 0xA2, 0xAE, 0x44, 0xF0, 0xA7, 0xA5, 0xA6, 0x44, + 0xF0, 0xA7, 0xB2, 0xA8, 0x44, 0xF0, 0xA7, 0xBB, + 0x93, 0x44, 0xF0, 0xA7, 0xBC, 0xAF, 0x44, 0xF0, + 0xA8, 0x97, 0x92, 0x44, 0xF0, 0xA8, 0x97, 0xAD, + 0x44, 0xF0, 0xA8, 0x9C, 0xAE, 0x44, 0xF0, 0xA8, + 0xAF, 0xBA, 0x44, 0xF0, 0xA8, 0xB5, 0xB7, 0x44, + 0xF0, 0xA9, 0x85, 0x85, 0x44, 0xF0, 0xA9, 0x87, + 0x9F, 0x44, 0xF0, 0xA9, 0x88, 0x9A, 0x44, 0xF0, + // Bytes 1840 - 187f + 0xA9, 0x90, 0x8A, 0x44, 0xF0, 0xA9, 0x92, 0x96, + 0x44, 0xF0, 0xA9, 0x96, 0xB6, 0x44, 0xF0, 0xA9, + 0xAC, 0xB0, 0x44, 0xF0, 0xAA, 0x83, 0x8E, 0x44, + 0xF0, 0xAA, 0x84, 0x85, 0x44, 0xF0, 0xAA, 0x88, + 0x8E, 0x44, 0xF0, 0xAA, 0x8A, 0x91, 0x44, 0xF0, + 0xAA, 0x8E, 0x92, 0x44, 0xF0, 0xAA, 0x98, 0x80, + 0x42, 0x21, 0x21, 0x42, 0x21, 0x3F, 0x42, 0x2E, + 0x2E, 0x42, 0x30, 0x2C, 0x42, 0x30, 0x2E, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2C, 0x42, 0x31, 0x2E, 0x42, 0x31, 0x30, + 0x42, 0x31, 0x31, 0x42, 0x31, 0x32, 0x42, 0x31, + 0x33, 0x42, 0x31, 0x34, 0x42, 0x31, 0x35, 0x42, + 0x31, 0x36, 0x42, 0x31, 0x37, 0x42, 0x31, 0x38, + 0x42, 0x31, 0x39, 0x42, 0x32, 0x2C, 0x42, 0x32, + 0x2E, 0x42, 0x32, 0x30, 0x42, 0x32, 0x31, 0x42, + 0x32, 0x32, 0x42, 0x32, 0x33, 0x42, 0x32, 0x34, + 0x42, 0x32, 0x35, 0x42, 0x32, 0x36, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x37, 0x42, 0x32, 0x38, 0x42, 0x32, 0x39, 0x42, + 0x33, 0x2C, 0x42, 0x33, 0x2E, 0x42, 0x33, 0x30, + 0x42, 0x33, 0x31, 0x42, 0x33, 0x32, 0x42, 0x33, + 0x33, 0x42, 0x33, 0x34, 0x42, 0x33, 0x35, 0x42, + 0x33, 0x36, 0x42, 0x33, 0x37, 0x42, 0x33, 0x38, + 0x42, 0x33, 0x39, 0x42, 0x34, 0x2C, 0x42, 0x34, + 0x2E, 0x42, 0x34, 0x30, 0x42, 0x34, 0x31, 0x42, + 0x34, 0x32, 0x42, 0x34, 0x33, 0x42, 0x34, 0x34, + // Bytes 1900 - 193f + 0x42, 0x34, 0x35, 0x42, 0x34, 0x36, 0x42, 0x34, + 0x37, 0x42, 0x34, 0x38, 0x42, 0x34, 0x39, 0x42, + 0x35, 0x2C, 0x42, 0x35, 0x2E, 0x42, 0x35, 0x30, + 0x42, 0x36, 0x2C, 0x42, 0x36, 0x2E, 0x42, 0x37, + 0x2C, 0x42, 0x37, 0x2E, 0x42, 0x38, 0x2C, 0x42, + 0x38, 0x2E, 0x42, 0x39, 0x2C, 0x42, 0x39, 0x2E, + 0x42, 0x3D, 0x3D, 0x42, 0x3F, 0x21, 0x42, 0x3F, + 0x3F, 0x42, 0x41, 0x55, 0x42, 0x42, 0x71, 0x42, + // Bytes 1940 - 197f + 0x43, 0x44, 0x42, 0x44, 0x4A, 0x42, 0x44, 0x5A, + 0x42, 0x44, 0x7A, 0x42, 0x47, 0x42, 0x42, 0x47, + 0x79, 0x42, 0x48, 0x50, 0x42, 0x48, 0x56, 0x42, + 0x48, 0x67, 0x42, 0x48, 0x7A, 0x42, 0x49, 0x49, + 0x42, 0x49, 0x4A, 0x42, 0x49, 0x55, 0x42, 0x49, + 0x56, 0x42, 0x49, 0x58, 0x42, 0x4B, 0x42, 0x42, + 0x4B, 0x4B, 0x42, 0x4B, 0x4D, 0x42, 0x4C, 0x4A, + 0x42, 0x4C, 0x6A, 0x42, 0x4D, 0x42, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x43, 0x42, 0x4D, 0x44, 0x42, 0x4D, 0x52, 0x42, + 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, 0x4E, 0x4A, + 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, 0x42, 0x50, + 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, 0x61, 0x42, + 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, 0x53, 0x4D, + 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, 0x42, 0x54, + 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, 0x43, 0x42, + 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, 0x58, 0x49, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, 0x42, 0x63, + 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, 0x61, 0x42, + 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, 0x64, 0x7A, + 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, 0x42, 0x66, + 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, 0x6D, 0x42, + 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, 0x69, 0x6A, + 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, 0x42, 0x69, + 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, 0x56, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, 0x6B, 0x6C, + 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, 0x42, 0x6C, + 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, 0x6E, 0x42, + 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, 0x6D, 0x33, + 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, 0x42, 0x6D, + 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, 0x67, 0x42, + 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, 0x6D, 0x73, + 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, 0x6A, 0x42, + 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, 0x6F, 0x56, + 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, 0x42, 0x70, + 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, 0x63, 0x42, + 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, 0x73, 0x74, + 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, 0x43, 0x28, + 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, 0x43, 0x28, + 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, 0x43, 0x28, + // Bytes 1a80 - 1abf + 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, 0x43, 0x28, + 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, 0x43, 0x28, + 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, 0x43, 0x28, + 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, 0x43, 0x28, + 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, 0x43, 0x28, + 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, 0x43, 0x28, + 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, 0x43, 0x28, + 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, 0x43, 0x28, + // Bytes 1ac0 - 1aff + 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, 0x43, 0x28, + 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, 0x43, 0x28, + 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, 0x43, 0x28, + 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, 0x43, 0x28, + 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, 0x43, 0x28, + 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, 0x43, 0x28, + 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, 0x43, 0x28, + 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, 0x43, 0x28, + // Bytes 1b00 - 1b3f + 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, 0x43, 0x28, + 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, 0x43, 0x28, + 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, 0x43, 0x28, + 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, 0x43, 0x28, + 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, 0x43, 0x28, + 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, 0x43, 0x28, + 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, 0x43, 0x28, + 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, 0x43, 0x28, + // Bytes 1b40 - 1b7f + 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, 0x43, 0x28, + 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, 0x43, 0x28, + 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, 0x43, 0x28, + 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, 0x43, 0x28, + 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, 0x43, 0x31, + 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, 0x43, 0x31, + 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, 0x43, 0x31, + 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, 0x43, 0x31, + // Bytes 1b80 - 1bbf + 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, 0x43, 0x31, + 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, 0x43, 0x32, + 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, 0x43, 0x3D, + 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, 0x43, 0x46, + 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, 0x43, 0x47, + 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, 0x43, 0x4C, + 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, 0x43, 0x4D, + 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, 0x43, 0x4D, + // Bytes 1bc0 - 1bff + 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, 0x43, 0x50, + 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, 0x43, 0x54, + 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, 0x43, 0x56, + 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, 0x43, 0x61, + 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, 0x43, 0x61, + 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, 0x43, 0x63, + 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, 0x43, 0x63, + 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, 0x43, 0x63, + // Bytes 1c00 - 1c3f + 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, 0x43, 0x64, + 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, 0x43, 0x66, + 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, 0x43, 0x67, + 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, 0x43, 0x69, + 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, 0x43, 0x6B, + 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, 0x43, 0x6B, + 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, 0x43, 0x6C, + 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, 0x43, 0x6D, + // Bytes 1c40 - 1c7f + 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, 0x43, 0x6D, + 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, 0x43, 0x72, + 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, 0x43, 0x78, + 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, 0x43, 0xC2, + 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, 0x43, 0xCE, + 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, 0x43, 0xCE, + 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, 0x43, 0xCE, + 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, 0x43, 0xCE, + // Bytes 1c80 - 1cbf + 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, 0x44, 0x28, + 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, 0x31, 0x29, + 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, 0x28, 0x31, + 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, 0x29, 0x44, + 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, 0x31, 0x36, + 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, 0x44, 0x28, + 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, 0x39, 0x29, + 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, 0x30, 0xE7, + // Bytes 1cc0 - 1cff + 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, 0x84, 0x44, + 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, 0xE6, 0x9C, + 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, 0x44, 0x32, + 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, 0x9C, 0x88, + 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, 0x33, 0xE6, + 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, 0x88, 0x44, + 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, 0xE6, 0x97, + 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, 0x44, 0x34, + // Bytes 1d00 - 1d3f + 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, 0x97, 0xA5, + 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, 0x35, 0xE7, + 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, 0xA5, 0x44, + 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, 0xE7, 0x82, + 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, 0x44, 0x37, + 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, 0x82, 0xB9, + 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, 0x38, 0xE6, + 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, 0xB9, 0x44, + // Bytes 1d40 - 1d7f + 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, 0xE6, 0x9C, + 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, 0x44, 0x56, + 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, 0x6D, 0x2E, + 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, 0x70, 0x2E, + 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, 0x69, 0x44, + 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, 0xB4, 0xD5, + 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, 0x44, 0xD5, + 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, 0xD5, 0xB6, + // Bytes 1d80 - 1dbf + 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, 0xD7, 0x90, + 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, 0xB4, 0x44, + 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, 0xA8, 0xD8, + 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, 0x44, 0xD8, + 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, 0xD8, 0xB2, + 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, 0xD8, 0xA8, + 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, 0x87, 0x44, + 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, 0xA8, 0xD9, + // Bytes 1dc0 - 1dff + 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, 0x44, 0xD8, + 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, 0xD8, 0xAE, + 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, 0xD8, 0xAA, + 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, 0x85, 0x44, + 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, 0xAA, 0xD9, + 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, 0x44, 0xD8, + 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, 0xD8, 0xAC, + 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, 0xD8, 0xAB, + // Bytes 1e00 - 1e3f + 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, 0x85, 0x44, + 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, 0xAB, 0xD9, + 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, 0x44, 0xD8, + 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, 0xD8, 0xAD, + 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, 0xD8, 0xAC, + 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, 0x8A, 0x44, + 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, 0xAD, 0xD9, + 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, 0x44, 0xD8, + // Bytes 1e40 - 1e7f + 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, 0xD8, 0xAC, + 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, 0xD8, 0xAE, + 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, 0x89, 0x44, + 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, 0xB3, 0xD8, + 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, 0x44, 0xD8, + 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, 0xD8, 0xB1, + 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, 0xD8, 0xB3, + 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, 0x89, 0x44, + // Bytes 1e80 - 1ebf + 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, 0xB4, 0xD8, + 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, 0x44, 0xD8, + 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, 0xD8, 0xB1, + 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, 0xD8, 0xB4, + 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, 0x89, 0x44, + 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, 0xB5, 0xD8, + 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, 0x44, 0xD8, + 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, 0xD9, 0x85, + // Bytes 1ec0 - 1eff + 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, 0xD8, 0xB5, + 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, 0xAC, 0x44, + 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, 0xB6, 0xD8, + 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, 0x44, 0xD8, + 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, 0xD9, 0x89, + 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, 0xD8, 0xB7, + 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, 0x85, 0x44, + 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, 0xB7, 0xD9, + // Bytes 1f00 - 1f3f + 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, 0x44, 0xD8, + 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, 0xD9, 0x85, + 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, 0xD8, 0xB9, + 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, 0xAC, 0x44, + 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, 0xBA, 0xD9, + 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, 0x44, 0xD9, + 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, 0xD8, 0xAD, + 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, 0xD9, 0x81, + // Bytes 1f40 - 1f7f + 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, 0x89, 0x44, + 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, 0x82, 0xD8, + 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, 0x44, 0xD9, + 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, 0xD9, 0x8A, + 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, 0xD9, 0x83, + 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, 0xAD, 0x44, + 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, 0x83, 0xD9, + 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, 0x44, 0xD9, + // Bytes 1f80 - 1fbf + 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, 0xD9, 0x8A, + 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, 0xD9, 0x84, + 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, 0xAD, 0x44, + 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, 0x84, 0xD9, + 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, 0x44, 0xD9, + 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, 0xD9, 0x8A, + 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, 0xD9, 0x85, + 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, 0xAD, 0x44, + // Bytes 1fc0 - 1fff + 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, 0x85, 0xD9, + 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, 0x44, 0xD9, + 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, 0xD8, 0xAC, + 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, 0xD9, 0x86, + 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, 0xB1, 0x44, + 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, 0x86, 0xD9, + 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, 0x44, 0xD9, + 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, 0xD9, 0x89, + // Bytes 2000 - 203f + 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, 0xD9, 0x87, + 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, 0x85, 0x44, + 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, 0x87, 0xD9, + 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, 0x44, 0xD9, + 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, 0xD8, 0xAD, + 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, 0xD9, 0x8A, + 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, 0xB2, 0x44, + 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, 0x8A, 0xD9, + // Bytes 2040 - 207f + 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, 0x44, 0xD9, + 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, 0xD9, 0x8A, + 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, 0xDB, 0x87, + 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, 0x80, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x86, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, 0x45, 0x28, + // Bytes 2080 - 20bf + 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8C, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x91, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, 0x45, 0x28, + 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, 0xE4, 0xB8, + 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, 0x89, 0x29, + // Bytes 20c0 - 20ff + 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, 0x45, 0x28, + 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, 0xE4, 0xBA, + 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, 0xA3, 0x29, + 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, 0x45, 0x28, + 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, 0xE5, 0x85, + 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, 0xAD, 0x29, + 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, 0x45, 0x28, + 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, 0xE5, 0x8D, + // Bytes 2100 - 213f + 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, 0x8D, 0x29, + 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, 0x45, 0x28, + 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, 0xE5, 0x9C, + 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, 0xA6, 0x29, + 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, 0x45, 0x28, + 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, 0xE6, 0x9C, + 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, 0xA8, 0x29, + 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, 0x45, 0x28, + // Bytes 2140 - 217f + 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, 0xE7, 0x81, + 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, 0xB9, 0x29, + 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, 0x45, 0x28, + 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, 0xE7, 0xA5, + 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, 0xAD, 0x29, + 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, 0x45, 0x28, + 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, 0xE8, 0xB2, + 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, 0x87, 0x29, + // Bytes 2180 - 21bf + 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, 0x45, 0x30, + 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0x30, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, 0x9C, 0x88, + 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x31, + 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x31, 0xE6, + 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x32, 0xE7, + // Bytes 21c0 - 21ff + 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, 0x45, 0x31, + 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x34, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, 0x45, 0x31, + 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x36, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, 0x45, 0x31, + // Bytes 2200 - 223f + 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x38, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x34, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x38, + // Bytes 2240 - 227f + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, 0x45, 0x32, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x30, 0xE7, + 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, 0x45, 0x32, + 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x32, 0xE7, + 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, 0x45, 0x32, + 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x34, 0xE7, + // Bytes 2280 - 22bf + 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x38, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x32, + 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, 0x30, 0xE6, + 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, 0x97, 0xA5, + 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, 0x45, 0x33, + // Bytes 22c0 - 22ff + 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, 0x84, 0x35, + 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x35, + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, 0x95, 0x6D, + 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, 0x45, 0x6D, + 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, 0xE2, 0x81, + 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, 0x88, 0x95, + // Bytes 2300 - 233f + 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, 0x95, 0x73, + 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD8, + 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xAA, 0xD8, + 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, + // Bytes 2340 - 237f + 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, 0x89, + 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, + 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xAA, + 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, 0xAA, 0xD9, + 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, 0xD9, 0x8A, + // Bytes 2380 - 23bf + 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, + 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAD, + 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xAD, 0xD9, + 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, 0xD8, + 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, 0xD9, 0x89, + 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, + // Bytes 23c0 - 23ff + 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, 0x46, 0xD8, + 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, + 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, 0xB3, 0xD9, + 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAC, 0xD9, + 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, 0x85, + 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, + // Bytes 2400 - 243f + 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB5, + 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, 0xB5, 0xD8, + 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, 0xD9, 0x84, + 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, 0x84, 0xDB, + 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x89, 0x46, + 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, + 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xB7, + // Bytes 2440 - 247f + 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB7, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x89, 0x46, + 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, + 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xBA, + 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xBA, 0xD9, + // Bytes 2480 - 24bf + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, 0xD8, 0xAE, + 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, 0x85, 0xD9, + 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, 0xDB, 0x92, + 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x83, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x83, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAC, + // Bytes 24c0 - 24ff + 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x85, 0x46, + 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD9, + 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD9, + 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD8, + // Bytes 2500 - 253f + 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD8, 0xAE, + 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x85, 0x46, + 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, + 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD9, 0x85, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, + 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, 0xAE, + 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, 0xAE, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, 0xD9, 0x8A, + // Bytes 2540 - 257f + 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, 0x46, 0xD9, + 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x86, + 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x89, 0x46, + // Bytes 2580 - 25bf + 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, + 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD9, 0x87, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x85, 0xD9, + 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xA7, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, 0x46, 0xD9, + // Bytes 25c0 - 25ff + 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x86, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x87, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, 0xD9, 0x8A, + // Bytes 2600 - 263f + 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, + 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x90, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x95, 0x46, + 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, 0x46, 0xE0, + 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, 0xE0, 0xBA, + 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, 0xBB, 0x8D, + // Bytes 2640 - 267f + 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, 0x80, 0xE0, + 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, 0xB7, 0x46, + 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, + 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBE, 0x92, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0x9C, 0xE0, + // Bytes 2680 - 26bf + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, 0xB7, 0x46, + 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0x46, 0xE2, + 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, 0xBB, 0xE3, + 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, 0xE3, 0x82, + // Bytes 26c0 - 26ff + 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0xB3, 0x46, + 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, 0x46, 0xE3, + 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, + 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, 0x83, 0x9B, + 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, 0x9F, 0xE3, + 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, 0xE3, 0x83, + 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xA0, + // Bytes 2700 - 273f + 0x46, 0xE4, 0xBB, 0xA4, 0xE5, 0x92, 0x8C, 0x46, + 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, 0xA3, 0x46, 0xE5, + 0xB9, 0xB3, 0xE6, 0x88, 0x90, 0x46, 0xE6, 0x98, + 0x8E, 0xE6, 0xB2, 0xBB, 0x46, 0xE6, 0x98, 0xAD, + 0xE5, 0x92, 0x8C, 0x47, 0x72, 0x61, 0x64, 0xE2, + 0x88, 0x95, 0x73, 0x47, 0xE3, 0x80, 0x94, 0x53, + 0xE3, 0x80, 0x95, 0x48, 0x28, 0xE1, 0x84, 0x80, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + // Bytes 2740 - 277f + 0x82, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x89, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8B, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8C, + // Bytes 2780 - 27bf + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x8C, 0xE1, 0x85, 0xAE, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x92, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x72, 0x61, 0x64, 0xE2, 0x88, + // Bytes 27c0 - 27ff + 0x95, 0x73, 0x32, 0x48, 0xD8, 0xA7, 0xD9, 0x83, + 0xD8, 0xA8, 0xD8, 0xB1, 0x48, 0xD8, 0xA7, 0xD9, + 0x84, 0xD9, 0x84, 0xD9, 0x87, 0x48, 0xD8, 0xB1, + 0xD8, 0xB3, 0xD9, 0x88, 0xD9, 0x84, 0x48, 0xD8, + 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, 0xD9, 0x84, 0x48, + 0xD8, 0xB5, 0xD9, 0x84, 0xD8, 0xB9, 0xD9, 0x85, + 0x48, 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, + 0x87, 0x48, 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, + // Bytes 2800 - 283f + 0xD8, 0xAF, 0x48, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, + 0x84, 0xD9, 0x85, 0x49, 0xE2, 0x80, 0xB2, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0x49, 0xE2, 0x80, + 0xB5, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x49, + 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0x49, 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0x49, 0xE3, 0x80, 0x94, 0xE4, + 0xB8, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, + // Bytes 2840 - 287f + 0x94, 0xE4, 0xBA, 0x8C, 0xE3, 0x80, 0x95, 0x49, + 0xE3, 0x80, 0x94, 0xE5, 0x8B, 0x9D, 0xE3, 0x80, + 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0xAE, 0x89, + 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, + 0x89, 0x93, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, + 0x94, 0xE6, 0x95, 0x97, 0xE3, 0x80, 0x95, 0x49, + 0xE3, 0x80, 0x94, 0xE6, 0x9C, 0xAC, 0xE3, 0x80, + 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE7, 0x82, 0xB9, + // Bytes 2880 - 28bf + 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE7, + 0x9B, 0x97, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x82, + 0xA2, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, + 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, + 0x81, 0x49, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0xA9, + 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x82, 0xAA, 0xE3, + 0x83, 0xB3, 0xE3, 0x82, 0xB9, 0x49, 0xE3, 0x82, + 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0x49, + // Bytes 28c0 - 28ff + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xAA, 0x49, 0xE3, 0x82, 0xB1, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xB9, 0x49, 0xE3, 0x82, 0xB3, 0xE3, + 0x83, 0xAB, 0xE3, 0x83, 0x8A, 0x49, 0xE3, 0x82, + 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0x49, + 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, + 0x88, 0x49, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, + 0xE3, 0x82, 0xB7, 0x49, 0xE3, 0x83, 0x88, 0xE3, + // Bytes 2900 - 293f + 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, + 0x8E, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x49, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0x84, 0x49, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, + 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x92, 0xE3, + 0x82, 0x9A, 0xE3, 0x82, 0xB3, 0x49, 0xE3, 0x83, + 0x95, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0x49, + 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, + // Bytes 2940 - 297f + 0xBD, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x9B, 0xE3, + 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, + 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0x49, + 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xAB, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0x83, + 0xE3, 0x83, 0x8F, 0x49, 0xE3, 0x83, 0x9E, 0xE3, + 0x83, 0xAB, 0xE3, 0x82, 0xAF, 0x49, 0xE3, 0x83, + // Bytes 2980 - 29bf + 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, + 0xE3, 0x83, 0xA6, 0xE3, 0x82, 0xA2, 0xE3, 0x83, + 0xB3, 0x49, 0xE3, 0x83, 0xAF, 0xE3, 0x83, 0x83, + 0xE3, 0x83, 0x88, 0x4C, 0xE2, 0x80, 0xB2, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x4C, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x4C, 0xE3, 0x82, + 0xA2, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x95, 0xE3, + // Bytes 29c0 - 29ff + 0x82, 0xA1, 0x4C, 0xE3, 0x82, 0xA8, 0xE3, 0x83, + 0xBC, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xBC, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xAD, 0xE3, 0x83, 0xB3, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, + 0x9E, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xA9, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE3, + 0x82, 0xAB, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAA, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xBC, + 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA5, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, + 0x83, 0xA0, 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAD, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x8D, 0x4C, + 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0xA4, 0xE3, 0x82, + // Bytes 2a40 - 2a7f + 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x82, 0xBF, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, + 0xB9, 0x4C, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x84, 0x4C, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xAF, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0xE3, + // Bytes 2a80 - 2abf + 0x83, 0xBC, 0xE3, 0x82, 0xBF, 0x4C, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0x8B, 0xE3, + 0x83, 0x92, 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, 0x4C, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xAB, 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x9E, + 0xE3, 0x82, 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAD, 0x4C, 0xE3, 0x83, 0x9F, 0xE3, 0x82, 0xAF, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, 0xE3, + 0x83, 0xA1, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAA, 0xE3, + 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, + 0x4C, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x92, 0xE3, + 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0x4C, 0xE6, 0xA0, + 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, 0xBC, 0x9A, 0xE7, + 0xA4, 0xBE, 0x4E, 0x28, 0xE1, 0x84, 0x8B, 0xE1, + // Bytes 2b00 - 2b3f + 0x85, 0xA9, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xAE, + 0x29, 0x4F, 0xD8, 0xAC, 0xD9, 0x84, 0x20, 0xD8, + 0xAC, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, + 0x87, 0x4F, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x88, 0x4F, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, + 0xA2, 0x4F, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + // Bytes 2b40 - 2b7f + 0xE3, 0x83, 0xAF, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4F, 0xE3, 0x82, 0xB5, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x81, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xA0, 0x4F, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAC, 0xE3, 0x83, + 0xAB, 0x4F, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0xAF, + 0xE3, 0x82, 0xBF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAB, 0x4F, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, + // Bytes 2b80 - 2bbf + 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, + 0x88, 0x4F, 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0xB3, + 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, + 0xB3, 0x4F, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x88, 0xE3, 0x83, + 0xB3, 0x4F, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xAB, 0x51, 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, + // Bytes 2bc0 - 2bff + 0xA9, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA5, 0xE1, + 0x86, 0xAB, 0x29, 0x52, 0xE3, 0x82, 0xAD, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xBF, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0x52, 0xE3, + 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xAF, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0xA0, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + // Bytes 2c00 - 2c3f + 0x88, 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x82, 0xAF, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0xA0, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x52, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0xE3, 0x82, + 0xBB, 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xA4, 0xE3, + 0x83, 0xAD, 0x52, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBB, 0xE3, + 0x83, 0xB3, 0xE3, 0x83, 0x88, 0x52, 0xE3, 0x83, + // Bytes 2c40 - 2c7f + 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA2, 0xE3, + 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, + 0x52, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0xE3, + 0x83, 0x83, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0xA7, + 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x9F, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, + // Bytes 2c80 - 2cbf + 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xB3, 0x61, 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, + 0x20, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, + 0x87, 0x20, 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, + 0xD9, 0x87, 0x20, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, + 0x84, 0xD9, 0x85, 0x06, 0xE0, 0xA7, 0x87, 0xE0, + 0xA6, 0xBE, 0x01, 0x06, 0xE0, 0xA7, 0x87, 0xE0, + 0xA7, 0x97, 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, + // Bytes 2cc0 - 2cff + 0xAC, 0xBE, 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, + 0xAD, 0x96, 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, + 0xAD, 0x97, 0x01, 0x06, 0xE0, 0xAE, 0x92, 0xE0, + 0xAF, 0x97, 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, + 0xAE, 0xBE, 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, + 0xAF, 0x97, 0x01, 0x06, 0xE0, 0xAF, 0x87, 0xE0, + 0xAE, 0xBE, 0x01, 0x06, 0xE0, 0xB2, 0xBF, 0xE0, + 0xB3, 0x95, 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, + // Bytes 2d00 - 2d3f + 0xB3, 0x95, 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, + 0xB3, 0x96, 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, + 0xB4, 0xBE, 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, + 0xB5, 0x97, 0x01, 0x06, 0xE0, 0xB5, 0x87, 0xE0, + 0xB4, 0xBE, 0x01, 0x06, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x9F, 0x01, 0x06, 0xE1, 0x80, 0xA5, 0xE1, + 0x80, 0xAE, 0x01, 0x06, 0xE1, 0xAC, 0x85, 0xE1, + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x87, 0xE1, + // Bytes 2d40 - 2d7f + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x89, 0xE1, + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x8B, 0xE1, + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x8D, 0xE1, + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x91, 0xE1, + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0xBA, 0xE1, + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0xBC, 0xE1, + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0xBE, 0xE1, + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0xBF, 0xE1, + // Bytes 2d80 - 2dbf + 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAD, 0x82, 0xE1, + 0xAC, 0xB5, 0x01, 0x08, 0xF0, 0x91, 0x84, 0xB1, + 0xF0, 0x91, 0x84, 0xA7, 0x01, 0x08, 0xF0, 0x91, + 0x84, 0xB2, 0xF0, 0x91, 0x84, 0xA7, 0x01, 0x08, + 0xF0, 0x91, 0x8D, 0x87, 0xF0, 0x91, 0x8C, 0xBE, + 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, 0x91, + 0x8D, 0x97, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, + 0xF0, 0x91, 0x92, 0xB0, 0x01, 0x08, 0xF0, 0x91, + // Bytes 2dc0 - 2dff + 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xBA, 0x01, 0x08, + 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xBD, + 0x01, 0x08, 0xF0, 0x91, 0x96, 0xB8, 0xF0, 0x91, + 0x96, 0xAF, 0x01, 0x08, 0xF0, 0x91, 0x96, 0xB9, + 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, 0x91, + 0xA4, 0xB5, 0xF0, 0x91, 0xA4, 0xB0, 0x01, 0x09, + 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, 0xB3, + 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, + // Bytes 2e00 - 2e3f + 0x8F, 0xE0, 0xB7, 0x8A, 0x16, 0x44, 0x44, 0x5A, + 0xCC, 0x8C, 0xCD, 0x44, 0x44, 0x7A, 0xCC, 0x8C, + 0xCD, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xCD, 0x46, + 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xCD, 0x46, + 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xCD, 0x46, + 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB9, 0x46, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, 0x46, + // Bytes 2e40 - 2e7f + 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, 0x46, + 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, 0x46, + // Bytes 2e80 - 2ebf + 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, 0x46, + 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, 0x49, + 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0x11, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, 0x85, + 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, 0x01, + // Bytes 2ec0 - 2eff + 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, + 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x11, 0x4C, 0xE3, + 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9B, + 0xE3, 0x82, 0x9A, 0x11, 0x4C, 0xE3, 0x83, 0xA4, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x82, + 0x99, 0x11, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, 0x85, + 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, 0xE1, + 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, 0xE3, + // Bytes 2f00 - 2f3f + 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xAF, + 0xE3, 0x82, 0x99, 0x11, 0x4F, 0xE3, 0x82, 0xB7, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0x11, 0x4F, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, + 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x11, 0x4F, 0xE3, + 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x11, 0x52, + // Bytes 2f40 - 2f7f + 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x11, 0x52, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x11, 0x86, + 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, 0x86, + 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, 0x03, + 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, 0xB8, + // Bytes 2f80 - 2fbf + 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, 0x41, + 0xCC, 0x80, 0xCD, 0x03, 0x41, 0xCC, 0x81, 0xCD, + 0x03, 0x41, 0xCC, 0x83, 0xCD, 0x03, 0x41, 0xCC, + 0x84, 0xCD, 0x03, 0x41, 0xCC, 0x89, 0xCD, 0x03, + 0x41, 0xCC, 0x8C, 0xCD, 0x03, 0x41, 0xCC, 0x8F, + 0xCD, 0x03, 0x41, 0xCC, 0x91, 0xCD, 0x03, 0x41, + 0xCC, 0xA5, 0xB9, 0x03, 0x41, 0xCC, 0xA8, 0xA9, + 0x03, 0x42, 0xCC, 0x87, 0xCD, 0x03, 0x42, 0xCC, + // Bytes 2fc0 - 2fff + 0xA3, 0xB9, 0x03, 0x42, 0xCC, 0xB1, 0xB9, 0x03, + 0x43, 0xCC, 0x81, 0xCD, 0x03, 0x43, 0xCC, 0x82, + 0xCD, 0x03, 0x43, 0xCC, 0x87, 0xCD, 0x03, 0x43, + 0xCC, 0x8C, 0xCD, 0x03, 0x44, 0xCC, 0x87, 0xCD, + 0x03, 0x44, 0xCC, 0x8C, 0xCD, 0x03, 0x44, 0xCC, + 0xA3, 0xB9, 0x03, 0x44, 0xCC, 0xA7, 0xA9, 0x03, + 0x44, 0xCC, 0xAD, 0xB9, 0x03, 0x44, 0xCC, 0xB1, + 0xB9, 0x03, 0x45, 0xCC, 0x80, 0xCD, 0x03, 0x45, + // Bytes 3000 - 303f + 0xCC, 0x81, 0xCD, 0x03, 0x45, 0xCC, 0x83, 0xCD, + 0x03, 0x45, 0xCC, 0x86, 0xCD, 0x03, 0x45, 0xCC, + 0x87, 0xCD, 0x03, 0x45, 0xCC, 0x88, 0xCD, 0x03, + 0x45, 0xCC, 0x89, 0xCD, 0x03, 0x45, 0xCC, 0x8C, + 0xCD, 0x03, 0x45, 0xCC, 0x8F, 0xCD, 0x03, 0x45, + 0xCC, 0x91, 0xCD, 0x03, 0x45, 0xCC, 0xA8, 0xA9, + 0x03, 0x45, 0xCC, 0xAD, 0xB9, 0x03, 0x45, 0xCC, + 0xB0, 0xB9, 0x03, 0x46, 0xCC, 0x87, 0xCD, 0x03, + // Bytes 3040 - 307f + 0x47, 0xCC, 0x81, 0xCD, 0x03, 0x47, 0xCC, 0x82, + 0xCD, 0x03, 0x47, 0xCC, 0x84, 0xCD, 0x03, 0x47, + 0xCC, 0x86, 0xCD, 0x03, 0x47, 0xCC, 0x87, 0xCD, + 0x03, 0x47, 0xCC, 0x8C, 0xCD, 0x03, 0x47, 0xCC, + 0xA7, 0xA9, 0x03, 0x48, 0xCC, 0x82, 0xCD, 0x03, + 0x48, 0xCC, 0x87, 0xCD, 0x03, 0x48, 0xCC, 0x88, + 0xCD, 0x03, 0x48, 0xCC, 0x8C, 0xCD, 0x03, 0x48, + 0xCC, 0xA3, 0xB9, 0x03, 0x48, 0xCC, 0xA7, 0xA9, + // Bytes 3080 - 30bf + 0x03, 0x48, 0xCC, 0xAE, 0xB9, 0x03, 0x49, 0xCC, + 0x80, 0xCD, 0x03, 0x49, 0xCC, 0x81, 0xCD, 0x03, + 0x49, 0xCC, 0x82, 0xCD, 0x03, 0x49, 0xCC, 0x83, + 0xCD, 0x03, 0x49, 0xCC, 0x84, 0xCD, 0x03, 0x49, + 0xCC, 0x86, 0xCD, 0x03, 0x49, 0xCC, 0x87, 0xCD, + 0x03, 0x49, 0xCC, 0x89, 0xCD, 0x03, 0x49, 0xCC, + 0x8C, 0xCD, 0x03, 0x49, 0xCC, 0x8F, 0xCD, 0x03, + 0x49, 0xCC, 0x91, 0xCD, 0x03, 0x49, 0xCC, 0xA3, + // Bytes 30c0 - 30ff + 0xB9, 0x03, 0x49, 0xCC, 0xA8, 0xA9, 0x03, 0x49, + 0xCC, 0xB0, 0xB9, 0x03, 0x4A, 0xCC, 0x82, 0xCD, + 0x03, 0x4B, 0xCC, 0x81, 0xCD, 0x03, 0x4B, 0xCC, + 0x8C, 0xCD, 0x03, 0x4B, 0xCC, 0xA3, 0xB9, 0x03, + 0x4B, 0xCC, 0xA7, 0xA9, 0x03, 0x4B, 0xCC, 0xB1, + 0xB9, 0x03, 0x4C, 0xCC, 0x81, 0xCD, 0x03, 0x4C, + 0xCC, 0x8C, 0xCD, 0x03, 0x4C, 0xCC, 0xA7, 0xA9, + 0x03, 0x4C, 0xCC, 0xAD, 0xB9, 0x03, 0x4C, 0xCC, + // Bytes 3100 - 313f + 0xB1, 0xB9, 0x03, 0x4D, 0xCC, 0x81, 0xCD, 0x03, + 0x4D, 0xCC, 0x87, 0xCD, 0x03, 0x4D, 0xCC, 0xA3, + 0xB9, 0x03, 0x4E, 0xCC, 0x80, 0xCD, 0x03, 0x4E, + 0xCC, 0x81, 0xCD, 0x03, 0x4E, 0xCC, 0x83, 0xCD, + 0x03, 0x4E, 0xCC, 0x87, 0xCD, 0x03, 0x4E, 0xCC, + 0x8C, 0xCD, 0x03, 0x4E, 0xCC, 0xA3, 0xB9, 0x03, + 0x4E, 0xCC, 0xA7, 0xA9, 0x03, 0x4E, 0xCC, 0xAD, + 0xB9, 0x03, 0x4E, 0xCC, 0xB1, 0xB9, 0x03, 0x4F, + // Bytes 3140 - 317f + 0xCC, 0x80, 0xCD, 0x03, 0x4F, 0xCC, 0x81, 0xCD, + 0x03, 0x4F, 0xCC, 0x86, 0xCD, 0x03, 0x4F, 0xCC, + 0x89, 0xCD, 0x03, 0x4F, 0xCC, 0x8B, 0xCD, 0x03, + 0x4F, 0xCC, 0x8C, 0xCD, 0x03, 0x4F, 0xCC, 0x8F, + 0xCD, 0x03, 0x4F, 0xCC, 0x91, 0xCD, 0x03, 0x50, + 0xCC, 0x81, 0xCD, 0x03, 0x50, 0xCC, 0x87, 0xCD, + 0x03, 0x52, 0xCC, 0x81, 0xCD, 0x03, 0x52, 0xCC, + 0x87, 0xCD, 0x03, 0x52, 0xCC, 0x8C, 0xCD, 0x03, + // Bytes 3180 - 31bf + 0x52, 0xCC, 0x8F, 0xCD, 0x03, 0x52, 0xCC, 0x91, + 0xCD, 0x03, 0x52, 0xCC, 0xA7, 0xA9, 0x03, 0x52, + 0xCC, 0xB1, 0xB9, 0x03, 0x53, 0xCC, 0x82, 0xCD, + 0x03, 0x53, 0xCC, 0x87, 0xCD, 0x03, 0x53, 0xCC, + 0xA6, 0xB9, 0x03, 0x53, 0xCC, 0xA7, 0xA9, 0x03, + 0x54, 0xCC, 0x87, 0xCD, 0x03, 0x54, 0xCC, 0x8C, + 0xCD, 0x03, 0x54, 0xCC, 0xA3, 0xB9, 0x03, 0x54, + 0xCC, 0xA6, 0xB9, 0x03, 0x54, 0xCC, 0xA7, 0xA9, + // Bytes 31c0 - 31ff + 0x03, 0x54, 0xCC, 0xAD, 0xB9, 0x03, 0x54, 0xCC, + 0xB1, 0xB9, 0x03, 0x55, 0xCC, 0x80, 0xCD, 0x03, + 0x55, 0xCC, 0x81, 0xCD, 0x03, 0x55, 0xCC, 0x82, + 0xCD, 0x03, 0x55, 0xCC, 0x86, 0xCD, 0x03, 0x55, + 0xCC, 0x89, 0xCD, 0x03, 0x55, 0xCC, 0x8A, 0xCD, + 0x03, 0x55, 0xCC, 0x8B, 0xCD, 0x03, 0x55, 0xCC, + 0x8C, 0xCD, 0x03, 0x55, 0xCC, 0x8F, 0xCD, 0x03, + 0x55, 0xCC, 0x91, 0xCD, 0x03, 0x55, 0xCC, 0xA3, + // Bytes 3200 - 323f + 0xB9, 0x03, 0x55, 0xCC, 0xA4, 0xB9, 0x03, 0x55, + 0xCC, 0xA8, 0xA9, 0x03, 0x55, 0xCC, 0xAD, 0xB9, + 0x03, 0x55, 0xCC, 0xB0, 0xB9, 0x03, 0x56, 0xCC, + 0x83, 0xCD, 0x03, 0x56, 0xCC, 0xA3, 0xB9, 0x03, + 0x57, 0xCC, 0x80, 0xCD, 0x03, 0x57, 0xCC, 0x81, + 0xCD, 0x03, 0x57, 0xCC, 0x82, 0xCD, 0x03, 0x57, + 0xCC, 0x87, 0xCD, 0x03, 0x57, 0xCC, 0x88, 0xCD, + 0x03, 0x57, 0xCC, 0xA3, 0xB9, 0x03, 0x58, 0xCC, + // Bytes 3240 - 327f + 0x87, 0xCD, 0x03, 0x58, 0xCC, 0x88, 0xCD, 0x03, + 0x59, 0xCC, 0x80, 0xCD, 0x03, 0x59, 0xCC, 0x81, + 0xCD, 0x03, 0x59, 0xCC, 0x82, 0xCD, 0x03, 0x59, + 0xCC, 0x83, 0xCD, 0x03, 0x59, 0xCC, 0x84, 0xCD, + 0x03, 0x59, 0xCC, 0x87, 0xCD, 0x03, 0x59, 0xCC, + 0x88, 0xCD, 0x03, 0x59, 0xCC, 0x89, 0xCD, 0x03, + 0x59, 0xCC, 0xA3, 0xB9, 0x03, 0x5A, 0xCC, 0x81, + 0xCD, 0x03, 0x5A, 0xCC, 0x82, 0xCD, 0x03, 0x5A, + // Bytes 3280 - 32bf + 0xCC, 0x87, 0xCD, 0x03, 0x5A, 0xCC, 0x8C, 0xCD, + 0x03, 0x5A, 0xCC, 0xA3, 0xB9, 0x03, 0x5A, 0xCC, + 0xB1, 0xB9, 0x03, 0x61, 0xCC, 0x80, 0xCD, 0x03, + 0x61, 0xCC, 0x81, 0xCD, 0x03, 0x61, 0xCC, 0x83, + 0xCD, 0x03, 0x61, 0xCC, 0x84, 0xCD, 0x03, 0x61, + 0xCC, 0x89, 0xCD, 0x03, 0x61, 0xCC, 0x8C, 0xCD, + 0x03, 0x61, 0xCC, 0x8F, 0xCD, 0x03, 0x61, 0xCC, + 0x91, 0xCD, 0x03, 0x61, 0xCC, 0xA5, 0xB9, 0x03, + // Bytes 32c0 - 32ff + 0x61, 0xCC, 0xA8, 0xA9, 0x03, 0x62, 0xCC, 0x87, + 0xCD, 0x03, 0x62, 0xCC, 0xA3, 0xB9, 0x03, 0x62, + 0xCC, 0xB1, 0xB9, 0x03, 0x63, 0xCC, 0x81, 0xCD, + 0x03, 0x63, 0xCC, 0x82, 0xCD, 0x03, 0x63, 0xCC, + 0x87, 0xCD, 0x03, 0x63, 0xCC, 0x8C, 0xCD, 0x03, + 0x64, 0xCC, 0x87, 0xCD, 0x03, 0x64, 0xCC, 0x8C, + 0xCD, 0x03, 0x64, 0xCC, 0xA3, 0xB9, 0x03, 0x64, + 0xCC, 0xA7, 0xA9, 0x03, 0x64, 0xCC, 0xAD, 0xB9, + // Bytes 3300 - 333f + 0x03, 0x64, 0xCC, 0xB1, 0xB9, 0x03, 0x65, 0xCC, + 0x80, 0xCD, 0x03, 0x65, 0xCC, 0x81, 0xCD, 0x03, + 0x65, 0xCC, 0x83, 0xCD, 0x03, 0x65, 0xCC, 0x86, + 0xCD, 0x03, 0x65, 0xCC, 0x87, 0xCD, 0x03, 0x65, + 0xCC, 0x88, 0xCD, 0x03, 0x65, 0xCC, 0x89, 0xCD, + 0x03, 0x65, 0xCC, 0x8C, 0xCD, 0x03, 0x65, 0xCC, + 0x8F, 0xCD, 0x03, 0x65, 0xCC, 0x91, 0xCD, 0x03, + 0x65, 0xCC, 0xA8, 0xA9, 0x03, 0x65, 0xCC, 0xAD, + // Bytes 3340 - 337f + 0xB9, 0x03, 0x65, 0xCC, 0xB0, 0xB9, 0x03, 0x66, + 0xCC, 0x87, 0xCD, 0x03, 0x67, 0xCC, 0x81, 0xCD, + 0x03, 0x67, 0xCC, 0x82, 0xCD, 0x03, 0x67, 0xCC, + 0x84, 0xCD, 0x03, 0x67, 0xCC, 0x86, 0xCD, 0x03, + 0x67, 0xCC, 0x87, 0xCD, 0x03, 0x67, 0xCC, 0x8C, + 0xCD, 0x03, 0x67, 0xCC, 0xA7, 0xA9, 0x03, 0x68, + 0xCC, 0x82, 0xCD, 0x03, 0x68, 0xCC, 0x87, 0xCD, + 0x03, 0x68, 0xCC, 0x88, 0xCD, 0x03, 0x68, 0xCC, + // Bytes 3380 - 33bf + 0x8C, 0xCD, 0x03, 0x68, 0xCC, 0xA3, 0xB9, 0x03, + 0x68, 0xCC, 0xA7, 0xA9, 0x03, 0x68, 0xCC, 0xAE, + 0xB9, 0x03, 0x68, 0xCC, 0xB1, 0xB9, 0x03, 0x69, + 0xCC, 0x80, 0xCD, 0x03, 0x69, 0xCC, 0x81, 0xCD, + 0x03, 0x69, 0xCC, 0x82, 0xCD, 0x03, 0x69, 0xCC, + 0x83, 0xCD, 0x03, 0x69, 0xCC, 0x84, 0xCD, 0x03, + 0x69, 0xCC, 0x86, 0xCD, 0x03, 0x69, 0xCC, 0x89, + 0xCD, 0x03, 0x69, 0xCC, 0x8C, 0xCD, 0x03, 0x69, + // Bytes 33c0 - 33ff + 0xCC, 0x8F, 0xCD, 0x03, 0x69, 0xCC, 0x91, 0xCD, + 0x03, 0x69, 0xCC, 0xA3, 0xB9, 0x03, 0x69, 0xCC, + 0xA8, 0xA9, 0x03, 0x69, 0xCC, 0xB0, 0xB9, 0x03, + 0x6A, 0xCC, 0x82, 0xCD, 0x03, 0x6A, 0xCC, 0x8C, + 0xCD, 0x03, 0x6B, 0xCC, 0x81, 0xCD, 0x03, 0x6B, + 0xCC, 0x8C, 0xCD, 0x03, 0x6B, 0xCC, 0xA3, 0xB9, + 0x03, 0x6B, 0xCC, 0xA7, 0xA9, 0x03, 0x6B, 0xCC, + 0xB1, 0xB9, 0x03, 0x6C, 0xCC, 0x81, 0xCD, 0x03, + // Bytes 3400 - 343f + 0x6C, 0xCC, 0x8C, 0xCD, 0x03, 0x6C, 0xCC, 0xA7, + 0xA9, 0x03, 0x6C, 0xCC, 0xAD, 0xB9, 0x03, 0x6C, + 0xCC, 0xB1, 0xB9, 0x03, 0x6D, 0xCC, 0x81, 0xCD, + 0x03, 0x6D, 0xCC, 0x87, 0xCD, 0x03, 0x6D, 0xCC, + 0xA3, 0xB9, 0x03, 0x6E, 0xCC, 0x80, 0xCD, 0x03, + 0x6E, 0xCC, 0x81, 0xCD, 0x03, 0x6E, 0xCC, 0x83, + 0xCD, 0x03, 0x6E, 0xCC, 0x87, 0xCD, 0x03, 0x6E, + 0xCC, 0x8C, 0xCD, 0x03, 0x6E, 0xCC, 0xA3, 0xB9, + // Bytes 3440 - 347f + 0x03, 0x6E, 0xCC, 0xA7, 0xA9, 0x03, 0x6E, 0xCC, + 0xAD, 0xB9, 0x03, 0x6E, 0xCC, 0xB1, 0xB9, 0x03, + 0x6F, 0xCC, 0x80, 0xCD, 0x03, 0x6F, 0xCC, 0x81, + 0xCD, 0x03, 0x6F, 0xCC, 0x86, 0xCD, 0x03, 0x6F, + 0xCC, 0x89, 0xCD, 0x03, 0x6F, 0xCC, 0x8B, 0xCD, + 0x03, 0x6F, 0xCC, 0x8C, 0xCD, 0x03, 0x6F, 0xCC, + 0x8F, 0xCD, 0x03, 0x6F, 0xCC, 0x91, 0xCD, 0x03, + 0x70, 0xCC, 0x81, 0xCD, 0x03, 0x70, 0xCC, 0x87, + // Bytes 3480 - 34bf + 0xCD, 0x03, 0x72, 0xCC, 0x81, 0xCD, 0x03, 0x72, + 0xCC, 0x87, 0xCD, 0x03, 0x72, 0xCC, 0x8C, 0xCD, + 0x03, 0x72, 0xCC, 0x8F, 0xCD, 0x03, 0x72, 0xCC, + 0x91, 0xCD, 0x03, 0x72, 0xCC, 0xA7, 0xA9, 0x03, + 0x72, 0xCC, 0xB1, 0xB9, 0x03, 0x73, 0xCC, 0x82, + 0xCD, 0x03, 0x73, 0xCC, 0x87, 0xCD, 0x03, 0x73, + 0xCC, 0xA6, 0xB9, 0x03, 0x73, 0xCC, 0xA7, 0xA9, + 0x03, 0x74, 0xCC, 0x87, 0xCD, 0x03, 0x74, 0xCC, + // Bytes 34c0 - 34ff + 0x88, 0xCD, 0x03, 0x74, 0xCC, 0x8C, 0xCD, 0x03, + 0x74, 0xCC, 0xA3, 0xB9, 0x03, 0x74, 0xCC, 0xA6, + 0xB9, 0x03, 0x74, 0xCC, 0xA7, 0xA9, 0x03, 0x74, + 0xCC, 0xAD, 0xB9, 0x03, 0x74, 0xCC, 0xB1, 0xB9, + 0x03, 0x75, 0xCC, 0x80, 0xCD, 0x03, 0x75, 0xCC, + 0x81, 0xCD, 0x03, 0x75, 0xCC, 0x82, 0xCD, 0x03, + 0x75, 0xCC, 0x86, 0xCD, 0x03, 0x75, 0xCC, 0x89, + 0xCD, 0x03, 0x75, 0xCC, 0x8A, 0xCD, 0x03, 0x75, + // Bytes 3500 - 353f + 0xCC, 0x8B, 0xCD, 0x03, 0x75, 0xCC, 0x8C, 0xCD, + 0x03, 0x75, 0xCC, 0x8F, 0xCD, 0x03, 0x75, 0xCC, + 0x91, 0xCD, 0x03, 0x75, 0xCC, 0xA3, 0xB9, 0x03, + 0x75, 0xCC, 0xA4, 0xB9, 0x03, 0x75, 0xCC, 0xA8, + 0xA9, 0x03, 0x75, 0xCC, 0xAD, 0xB9, 0x03, 0x75, + 0xCC, 0xB0, 0xB9, 0x03, 0x76, 0xCC, 0x83, 0xCD, + 0x03, 0x76, 0xCC, 0xA3, 0xB9, 0x03, 0x77, 0xCC, + 0x80, 0xCD, 0x03, 0x77, 0xCC, 0x81, 0xCD, 0x03, + // Bytes 3540 - 357f + 0x77, 0xCC, 0x82, 0xCD, 0x03, 0x77, 0xCC, 0x87, + 0xCD, 0x03, 0x77, 0xCC, 0x88, 0xCD, 0x03, 0x77, + 0xCC, 0x8A, 0xCD, 0x03, 0x77, 0xCC, 0xA3, 0xB9, + 0x03, 0x78, 0xCC, 0x87, 0xCD, 0x03, 0x78, 0xCC, + 0x88, 0xCD, 0x03, 0x79, 0xCC, 0x80, 0xCD, 0x03, + 0x79, 0xCC, 0x81, 0xCD, 0x03, 0x79, 0xCC, 0x82, + 0xCD, 0x03, 0x79, 0xCC, 0x83, 0xCD, 0x03, 0x79, + 0xCC, 0x84, 0xCD, 0x03, 0x79, 0xCC, 0x87, 0xCD, + // Bytes 3580 - 35bf + 0x03, 0x79, 0xCC, 0x88, 0xCD, 0x03, 0x79, 0xCC, + 0x89, 0xCD, 0x03, 0x79, 0xCC, 0x8A, 0xCD, 0x03, + 0x79, 0xCC, 0xA3, 0xB9, 0x03, 0x7A, 0xCC, 0x81, + 0xCD, 0x03, 0x7A, 0xCC, 0x82, 0xCD, 0x03, 0x7A, + 0xCC, 0x87, 0xCD, 0x03, 0x7A, 0xCC, 0x8C, 0xCD, + 0x03, 0x7A, 0xCC, 0xA3, 0xB9, 0x03, 0x7A, 0xCC, + 0xB1, 0xB9, 0x04, 0xC2, 0xA8, 0xCC, 0x80, 0xCE, + 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCE, 0x04, 0xC2, + // Bytes 35c0 - 35ff + 0xA8, 0xCD, 0x82, 0xCE, 0x04, 0xC3, 0x86, 0xCC, + 0x81, 0xCD, 0x04, 0xC3, 0x86, 0xCC, 0x84, 0xCD, + 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xCD, 0x04, 0xC3, + 0xA6, 0xCC, 0x81, 0xCD, 0x04, 0xC3, 0xA6, 0xCC, + 0x84, 0xCD, 0x04, 0xC3, 0xB8, 0xCC, 0x81, 0xCD, + 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xCD, 0x04, 0xC6, + 0xB7, 0xCC, 0x8C, 0xCD, 0x04, 0xCA, 0x92, 0xCC, + 0x8C, 0xCD, 0x04, 0xCE, 0x91, 0xCC, 0x80, 0xCD, + // Bytes 3600 - 363f + 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xCD, 0x04, 0xCE, + 0x91, 0xCC, 0x84, 0xCD, 0x04, 0xCE, 0x91, 0xCC, + 0x86, 0xCD, 0x04, 0xCE, 0x91, 0xCD, 0x85, 0xDD, + 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xCD, 0x04, 0xCE, + 0x95, 0xCC, 0x81, 0xCD, 0x04, 0xCE, 0x97, 0xCC, + 0x80, 0xCD, 0x04, 0xCE, 0x97, 0xCC, 0x81, 0xCD, + 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xDD, 0x04, 0xCE, + 0x99, 0xCC, 0x80, 0xCD, 0x04, 0xCE, 0x99, 0xCC, + // Bytes 3640 - 367f + 0x81, 0xCD, 0x04, 0xCE, 0x99, 0xCC, 0x84, 0xCD, + 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xCD, 0x04, 0xCE, + 0x99, 0xCC, 0x88, 0xCD, 0x04, 0xCE, 0x9F, 0xCC, + 0x80, 0xCD, 0x04, 0xCE, 0x9F, 0xCC, 0x81, 0xCD, + 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xCD, 0x04, 0xCE, + 0xA5, 0xCC, 0x80, 0xCD, 0x04, 0xCE, 0xA5, 0xCC, + 0x81, 0xCD, 0x04, 0xCE, 0xA5, 0xCC, 0x84, 0xCD, + 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xCD, 0x04, 0xCE, + // Bytes 3680 - 36bf + 0xA5, 0xCC, 0x88, 0xCD, 0x04, 0xCE, 0xA9, 0xCC, + 0x80, 0xCD, 0x04, 0xCE, 0xA9, 0xCC, 0x81, 0xCD, + 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xDD, 0x04, 0xCE, + 0xB1, 0xCC, 0x84, 0xCD, 0x04, 0xCE, 0xB1, 0xCC, + 0x86, 0xCD, 0x04, 0xCE, 0xB1, 0xCD, 0x85, 0xDD, + 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xCD, 0x04, 0xCE, + 0xB5, 0xCC, 0x81, 0xCD, 0x04, 0xCE, 0xB7, 0xCD, + 0x85, 0xDD, 0x04, 0xCE, 0xB9, 0xCC, 0x80, 0xCD, + // Bytes 36c0 - 36ff + 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xCD, 0x04, 0xCE, + 0xB9, 0xCC, 0x84, 0xCD, 0x04, 0xCE, 0xB9, 0xCC, + 0x86, 0xCD, 0x04, 0xCE, 0xB9, 0xCD, 0x82, 0xCD, + 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xCD, 0x04, 0xCE, + 0xBF, 0xCC, 0x81, 0xCD, 0x04, 0xCF, 0x81, 0xCC, + 0x93, 0xCD, 0x04, 0xCF, 0x81, 0xCC, 0x94, 0xCD, + 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xCD, 0x04, 0xCF, + 0x85, 0xCC, 0x81, 0xCD, 0x04, 0xCF, 0x85, 0xCC, + // Bytes 3700 - 373f + 0x84, 0xCD, 0x04, 0xCF, 0x85, 0xCC, 0x86, 0xCD, + 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xCD, 0x04, 0xCF, + 0x89, 0xCD, 0x85, 0xDD, 0x04, 0xCF, 0x92, 0xCC, + 0x81, 0xCD, 0x04, 0xCF, 0x92, 0xCC, 0x88, 0xCD, + 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xCD, 0x04, 0xD0, + 0x90, 0xCC, 0x86, 0xCD, 0x04, 0xD0, 0x90, 0xCC, + 0x88, 0xCD, 0x04, 0xD0, 0x93, 0xCC, 0x81, 0xCD, + 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xCD, 0x04, 0xD0, + // Bytes 3740 - 377f + 0x95, 0xCC, 0x86, 0xCD, 0x04, 0xD0, 0x95, 0xCC, + 0x88, 0xCD, 0x04, 0xD0, 0x96, 0xCC, 0x86, 0xCD, + 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xCD, 0x04, 0xD0, + 0x97, 0xCC, 0x88, 0xCD, 0x04, 0xD0, 0x98, 0xCC, + 0x80, 0xCD, 0x04, 0xD0, 0x98, 0xCC, 0x84, 0xCD, + 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xCD, 0x04, 0xD0, + 0x98, 0xCC, 0x88, 0xCD, 0x04, 0xD0, 0x9A, 0xCC, + 0x81, 0xCD, 0x04, 0xD0, 0x9E, 0xCC, 0x88, 0xCD, + // Bytes 3780 - 37bf + 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xCD, 0x04, 0xD0, + 0xA3, 0xCC, 0x86, 0xCD, 0x04, 0xD0, 0xA3, 0xCC, + 0x88, 0xCD, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, 0xCD, + 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xCD, 0x04, 0xD0, + 0xAB, 0xCC, 0x88, 0xCD, 0x04, 0xD0, 0xAD, 0xCC, + 0x88, 0xCD, 0x04, 0xD0, 0xB0, 0xCC, 0x86, 0xCD, + 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xCD, 0x04, 0xD0, + 0xB3, 0xCC, 0x81, 0xCD, 0x04, 0xD0, 0xB5, 0xCC, + // Bytes 37c0 - 37ff + 0x80, 0xCD, 0x04, 0xD0, 0xB5, 0xCC, 0x86, 0xCD, + 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xCD, 0x04, 0xD0, + 0xB6, 0xCC, 0x86, 0xCD, 0x04, 0xD0, 0xB6, 0xCC, + 0x88, 0xCD, 0x04, 0xD0, 0xB7, 0xCC, 0x88, 0xCD, + 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xCD, 0x04, 0xD0, + 0xB8, 0xCC, 0x84, 0xCD, 0x04, 0xD0, 0xB8, 0xCC, + 0x86, 0xCD, 0x04, 0xD0, 0xB8, 0xCC, 0x88, 0xCD, + 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xCD, 0x04, 0xD0, + // Bytes 3800 - 383f + 0xBE, 0xCC, 0x88, 0xCD, 0x04, 0xD1, 0x83, 0xCC, + 0x84, 0xCD, 0x04, 0xD1, 0x83, 0xCC, 0x86, 0xCD, + 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xCD, 0x04, 0xD1, + 0x83, 0xCC, 0x8B, 0xCD, 0x04, 0xD1, 0x87, 0xCC, + 0x88, 0xCD, 0x04, 0xD1, 0x8B, 0xCC, 0x88, 0xCD, + 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xCD, 0x04, 0xD1, + 0x96, 0xCC, 0x88, 0xCD, 0x04, 0xD1, 0xB4, 0xCC, + 0x8F, 0xCD, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, 0xCD, + // Bytes 3840 - 387f + 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xCD, 0x04, 0xD3, + 0x99, 0xCC, 0x88, 0xCD, 0x04, 0xD3, 0xA8, 0xCC, + 0x88, 0xCD, 0x04, 0xD3, 0xA9, 0xCC, 0x88, 0xCD, + 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xCD, 0x04, 0xD8, + 0xA7, 0xD9, 0x94, 0xCD, 0x04, 0xD8, 0xA7, 0xD9, + 0x95, 0xB9, 0x04, 0xD9, 0x88, 0xD9, 0x94, 0xCD, + 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xCD, 0x04, 0xDB, + 0x81, 0xD9, 0x94, 0xCD, 0x04, 0xDB, 0x92, 0xD9, + // Bytes 3880 - 38bf + 0x94, 0xCD, 0x04, 0xDB, 0x95, 0xD9, 0x94, 0xCD, + 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCE, 0x05, + 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, 0x41, + 0xCC, 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x41, 0xCC, + 0x82, 0xCC, 0x89, 0xCE, 0x05, 0x41, 0xCC, 0x86, + 0xCC, 0x80, 0xCE, 0x05, 0x41, 0xCC, 0x86, 0xCC, + 0x81, 0xCE, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x83, + 0xCE, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, 0xCE, + // Bytes 38c0 - 38ff + 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCE, 0x05, + 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x41, + 0xCC, 0x8A, 0xCC, 0x81, 0xCE, 0x05, 0x41, 0xCC, + 0xA3, 0xCC, 0x82, 0xCE, 0x05, 0x41, 0xCC, 0xA3, + 0xCC, 0x86, 0xCE, 0x05, 0x43, 0xCC, 0xA7, 0xCC, + 0x81, 0xCE, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x80, + 0xCE, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, 0xCE, + 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCE, 0x05, + // Bytes 3900 - 393f + 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCE, 0x05, 0x45, + 0xCC, 0x84, 0xCC, 0x80, 0xCE, 0x05, 0x45, 0xCC, + 0x84, 0xCC, 0x81, 0xCE, 0x05, 0x45, 0xCC, 0xA3, + 0xCC, 0x82, 0xCE, 0x05, 0x45, 0xCC, 0xA7, 0xCC, + 0x86, 0xCE, 0x05, 0x49, 0xCC, 0x88, 0xCC, 0x81, + 0xCE, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, 0xCE, + 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCE, 0x05, + 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, 0x4F, + // Bytes 3940 - 397f + 0xCC, 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x4F, 0xCC, + 0x82, 0xCC, 0x89, 0xCE, 0x05, 0x4F, 0xCC, 0x83, + 0xCC, 0x81, 0xCE, 0x05, 0x4F, 0xCC, 0x83, 0xCC, + 0x84, 0xCE, 0x05, 0x4F, 0xCC, 0x83, 0xCC, 0x88, + 0xCE, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, 0xCE, + 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCE, 0x05, + 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCE, 0x05, 0x4F, + 0xCC, 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x4F, 0xCC, + // Bytes 3980 - 39bf + 0x9B, 0xCC, 0x80, 0xCE, 0x05, 0x4F, 0xCC, 0x9B, + 0xCC, 0x81, 0xCE, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, + 0x83, 0xCE, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0x89, + 0xCE, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, 0xBA, + 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCE, 0x05, + 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCE, 0x05, 0x52, + 0xCC, 0xA3, 0xCC, 0x84, 0xCE, 0x05, 0x53, 0xCC, + 0x81, 0xCC, 0x87, 0xCE, 0x05, 0x53, 0xCC, 0x8C, + // Bytes 39c0 - 39ff + 0xCC, 0x87, 0xCE, 0x05, 0x53, 0xCC, 0xA3, 0xCC, + 0x87, 0xCE, 0x05, 0x55, 0xCC, 0x83, 0xCC, 0x81, + 0xCE, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, 0xCE, + 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x05, + 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x05, 0x55, + 0xCC, 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x55, 0xCC, + 0x88, 0xCC, 0x8C, 0xCE, 0x05, 0x55, 0xCC, 0x9B, + 0xCC, 0x80, 0xCE, 0x05, 0x55, 0xCC, 0x9B, 0xCC, + // Bytes 3a00 - 3a3f + 0x81, 0xCE, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x83, + 0xCE, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, 0xCE, + 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xBA, 0x05, + 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCE, 0x05, 0x61, + 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, 0x61, 0xCC, + 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x61, 0xCC, 0x82, + 0xCC, 0x89, 0xCE, 0x05, 0x61, 0xCC, 0x86, 0xCC, + 0x80, 0xCE, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x81, + // Bytes 3a40 - 3a7f + 0xCE, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, 0xCE, + 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCE, 0x05, + 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCE, 0x05, 0x61, + 0xCC, 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x61, 0xCC, + 0x8A, 0xCC, 0x81, 0xCE, 0x05, 0x61, 0xCC, 0xA3, + 0xCC, 0x82, 0xCE, 0x05, 0x61, 0xCC, 0xA3, 0xCC, + 0x86, 0xCE, 0x05, 0x63, 0xCC, 0xA7, 0xCC, 0x81, + 0xCE, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, 0xCE, + // Bytes 3a80 - 3abf + 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, + 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x65, + 0xCC, 0x82, 0xCC, 0x89, 0xCE, 0x05, 0x65, 0xCC, + 0x84, 0xCC, 0x80, 0xCE, 0x05, 0x65, 0xCC, 0x84, + 0xCC, 0x81, 0xCE, 0x05, 0x65, 0xCC, 0xA3, 0xCC, + 0x82, 0xCE, 0x05, 0x65, 0xCC, 0xA7, 0xCC, 0x86, + 0xCE, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, 0xCE, + 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCE, 0x05, + // Bytes 3ac0 - 3aff + 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCE, 0x05, 0x6F, + 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, 0x6F, 0xCC, + 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x6F, 0xCC, 0x82, + 0xCC, 0x89, 0xCE, 0x05, 0x6F, 0xCC, 0x83, 0xCC, + 0x81, 0xCE, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x84, + 0xCE, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, 0xCE, + 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCE, 0x05, + 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCE, 0x05, 0x6F, + // Bytes 3b00 - 3b3f + 0xCC, 0x87, 0xCC, 0x84, 0xCE, 0x05, 0x6F, 0xCC, + 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x6F, 0xCC, 0x9B, + 0xCC, 0x80, 0xCE, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, + 0x81, 0xCE, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x83, + 0xCE, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, 0xCE, + 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xBA, 0x05, + 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCE, 0x05, 0x6F, + 0xCC, 0xA8, 0xCC, 0x84, 0xCE, 0x05, 0x72, 0xCC, + // Bytes 3b40 - 3b7f + 0xA3, 0xCC, 0x84, 0xCE, 0x05, 0x73, 0xCC, 0x81, + 0xCC, 0x87, 0xCE, 0x05, 0x73, 0xCC, 0x8C, 0xCC, + 0x87, 0xCE, 0x05, 0x73, 0xCC, 0xA3, 0xCC, 0x87, + 0xCE, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, 0xCE, + 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCE, 0x05, + 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x05, 0x75, + 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x05, 0x75, 0xCC, + 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x75, 0xCC, 0x88, + // Bytes 3b80 - 3bbf + 0xCC, 0x8C, 0xCE, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0x80, 0xCE, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x81, + 0xCE, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, 0xCE, + 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCE, 0x05, + 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xBA, 0x05, 0xE1, + 0xBE, 0xBF, 0xCC, 0x80, 0xCE, 0x05, 0xE1, 0xBE, + 0xBF, 0xCC, 0x81, 0xCE, 0x05, 0xE1, 0xBE, 0xBF, + 0xCD, 0x82, 0xCE, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, + // Bytes 3bc0 - 3bff + 0x80, 0xCE, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, 0x81, + 0xCE, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, 0xCE, + 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, + 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x92, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, 0xB8, + // Bytes 3c00 - 3c3f + 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, + 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x83, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, 0x05, + // Bytes 3c40 - 3c7f + 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB3, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3c80 - 3cbf + 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x83, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + // Bytes 3cc0 - 3cff + 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xAB, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, 0x06, + 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, + // Bytes 3d00 - 3d3f + 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, + // Bytes 3d40 - 3d7f + 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x06, + 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x06, + 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, + // Bytes 3d80 - 3dbf + 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x06, + 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, + // Bytes 3dc0 - 3dff + 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDE, 0x06, + // Bytes 3e00 - 3e3f + 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDE, 0x06, + 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCE, 0x06, + 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, + // Bytes 3e40 - 3e7f + 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x06, + 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x06, + 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, + 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, + 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, + // Bytes 3e80 - 3ebf + 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x06, + 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x06, + 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCE, 0x06, + 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, + 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, + 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x06, + 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, + 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, + // Bytes 3ec0 - 3eff + 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x06, + 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDE, 0x06, + 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDE, 0x06, + 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, + 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, + 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDE, 0x06, + 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x0D, 0x06, + 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x0D, 0x06, + // Bytes 3f00 - 3f3f + 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x0D, 0x06, + 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x89, 0x06, + 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x15, 0x06, + 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x11, 0x06, + // Bytes 3f40 - 3f7f + 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x11, 0x06, + // Bytes 3f80 - 3fbf + 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x11, 0x06, + 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x11, 0x06, + 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x11, 0x06, + // Bytes 3fc0 - 3fff + 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x11, 0x06, + 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x11, 0x06, + 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x11, 0x06, + 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x11, 0x06, + // Bytes 4000 - 403f + 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x11, 0x06, + // Bytes 4040 - 407f + 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x11, 0x06, + // Bytes 4080 - 40bf + 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x11, 0x06, + 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x11, 0x06, + 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x11, 0x06, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x11, 0x06, + // Bytes 40c0 - 40ff + 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x11, 0x06, + 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x11, 0x08, + 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, + 0xDF, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x81, + 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x91, 0xCC, 0x93, + // Bytes 4100 - 413f + 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x91, + 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, + 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, + 0xDF, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x82, + 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x97, 0xCC, 0x93, + 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x97, + 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, + 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, + // Bytes 4140 - 417f + 0xDF, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x80, + 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x97, 0xCC, 0x94, + 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x97, + 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, + 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, + 0xDF, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x81, + 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xA9, 0xCC, 0x93, + 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xA9, + // Bytes 4180 - 41bf + 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, + 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, + 0xDF, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x82, + 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB1, 0xCC, 0x93, + 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB1, + 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, + 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, + 0xDF, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x80, + // Bytes 41c0 - 41ff + 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB1, 0xCC, 0x94, + 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB1, + 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, + 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, + 0xDF, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x81, + 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB7, 0xCC, 0x93, + 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB7, + 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, + // Bytes 4200 - 423f + 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, + 0xDF, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x82, + 0xCD, 0x85, 0xDF, 0x08, 0xCF, 0x89, 0xCC, 0x93, + 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, 0xCF, 0x89, + 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, + 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, + 0xDF, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x80, + 0xCD, 0x85, 0xDF, 0x08, 0xCF, 0x89, 0xCC, 0x94, + // Bytes 4240 - 427f + 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, 0xCF, 0x89, + 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, + 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, 0xBA, + 0x0D, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, 0x91, + 0x82, 0xBA, 0x0D, 0x08, 0xF0, 0x91, 0x82, 0xA5, + 0xF0, 0x91, 0x82, 0xBA, 0x0D, 0x42, 0xC2, 0xB4, + 0x01, 0x43, 0x20, 0xCC, 0x81, 0xCD, 0x43, 0x20, + 0xCC, 0x83, 0xCD, 0x43, 0x20, 0xCC, 0x84, 0xCD, + // Bytes 4280 - 42bf + 0x43, 0x20, 0xCC, 0x85, 0xCD, 0x43, 0x20, 0xCC, + 0x86, 0xCD, 0x43, 0x20, 0xCC, 0x87, 0xCD, 0x43, + 0x20, 0xCC, 0x88, 0xCD, 0x43, 0x20, 0xCC, 0x8A, + 0xCD, 0x43, 0x20, 0xCC, 0x8B, 0xCD, 0x43, 0x20, + 0xCC, 0x93, 0xCD, 0x43, 0x20, 0xCC, 0x94, 0xCD, + 0x43, 0x20, 0xCC, 0xA7, 0xA9, 0x43, 0x20, 0xCC, + 0xA8, 0xA9, 0x43, 0x20, 0xCC, 0xB3, 0xB9, 0x43, + 0x20, 0xCD, 0x82, 0xCD, 0x43, 0x20, 0xCD, 0x85, + // Bytes 42c0 - 42ff + 0xDD, 0x43, 0x20, 0xD9, 0x8B, 0x5D, 0x43, 0x20, + 0xD9, 0x8C, 0x61, 0x43, 0x20, 0xD9, 0x8D, 0x65, + 0x43, 0x20, 0xD9, 0x8E, 0x69, 0x43, 0x20, 0xD9, + 0x8F, 0x6D, 0x43, 0x20, 0xD9, 0x90, 0x71, 0x43, + 0x20, 0xD9, 0x91, 0x75, 0x43, 0x20, 0xD9, 0x92, + 0x79, 0x43, 0x41, 0xCC, 0x8A, 0xCD, 0x43, 0x73, + 0xCC, 0x87, 0xCD, 0x44, 0x20, 0xE3, 0x82, 0x99, + 0x11, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x11, 0x44, + // Bytes 4300 - 433f + 0xC2, 0xA8, 0xCC, 0x81, 0xCE, 0x44, 0xCE, 0x91, + 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0x95, 0xCC, 0x81, + 0xCD, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xCD, 0x44, + 0xCE, 0x99, 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0x9F, + 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0xA5, 0xCC, 0x81, + 0xCD, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xCD, 0x44, + 0xCE, 0xA9, 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0xB1, + 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0xB5, 0xCC, 0x81, + // Bytes 4340 - 437f + 0xCD, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x44, + 0xCE, 0xB9, 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0xBF, + 0xCC, 0x81, 0xCD, 0x44, 0xCF, 0x85, 0xCC, 0x81, + 0xCD, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x44, + 0xD7, 0x90, 0xD6, 0xB7, 0x35, 0x44, 0xD7, 0x90, + 0xD6, 0xB8, 0x39, 0x44, 0xD7, 0x90, 0xD6, 0xBC, + 0x45, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x45, 0x44, + 0xD7, 0x91, 0xD6, 0xBF, 0x4D, 0x44, 0xD7, 0x92, + // Bytes 4380 - 43bf + 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0x93, 0xD6, 0xBC, + 0x45, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x45, 0x44, + 0xD7, 0x95, 0xD6, 0xB9, 0x3D, 0x44, 0xD7, 0x95, + 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0x96, 0xD6, 0xBC, + 0x45, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x45, 0x44, + 0xD7, 0x99, 0xD6, 0xB4, 0x29, 0x44, 0xD7, 0x99, + 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0x9A, 0xD6, 0xBC, + 0x45, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x45, 0x44, + // Bytes 43c0 - 43ff + 0xD7, 0x9B, 0xD6, 0xBF, 0x4D, 0x44, 0xD7, 0x9C, + 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0x9E, 0xD6, 0xBC, + 0x45, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x45, 0x44, + 0xD7, 0xA1, 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0xA3, + 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0xA4, 0xD6, 0xBC, + 0x45, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x4D, 0x44, + 0xD7, 0xA6, 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0xA7, + 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0xA8, 0xD6, 0xBC, + // Bytes 4400 - 443f + 0x45, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x45, 0x44, + 0xD7, 0xA9, 0xD7, 0x81, 0x51, 0x44, 0xD7, 0xA9, + 0xD7, 0x82, 0x55, 0x44, 0xD7, 0xAA, 0xD6, 0xBC, + 0x45, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x35, 0x44, + 0xD8, 0xA7, 0xD9, 0x8B, 0x5D, 0x44, 0xD8, 0xA7, + 0xD9, 0x93, 0xCD, 0x44, 0xD8, 0xA7, 0xD9, 0x94, + 0xCD, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB9, 0x44, + 0xD8, 0xB0, 0xD9, 0xB0, 0x7D, 0x44, 0xD8, 0xB1, + // Bytes 4440 - 447f + 0xD9, 0xB0, 0x7D, 0x44, 0xD9, 0x80, 0xD9, 0x8B, + 0x5D, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x69, 0x44, + 0xD9, 0x80, 0xD9, 0x8F, 0x6D, 0x44, 0xD9, 0x80, + 0xD9, 0x90, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x91, + 0x75, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x79, 0x44, + 0xD9, 0x87, 0xD9, 0xB0, 0x7D, 0x44, 0xD9, 0x88, + 0xD9, 0x94, 0xCD, 0x44, 0xD9, 0x89, 0xD9, 0xB0, + 0x7D, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xCD, 0x44, + // Bytes 4480 - 44bf + 0xDB, 0x92, 0xD9, 0x94, 0xCD, 0x44, 0xDB, 0x95, + 0xD9, 0x94, 0xCD, 0x45, 0x20, 0xCC, 0x88, 0xCC, + 0x80, 0xCE, 0x45, 0x20, 0xCC, 0x88, 0xCC, 0x81, + 0xCE, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, 0xCE, + 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x45, + 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x45, 0x20, + 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x45, 0x20, 0xCC, + 0x94, 0xCC, 0x80, 0xCE, 0x45, 0x20, 0xCC, 0x94, + // Bytes 44c0 - 44ff + 0xCC, 0x81, 0xCE, 0x45, 0x20, 0xCC, 0x94, 0xCD, + 0x82, 0xCE, 0x45, 0x20, 0xD9, 0x8C, 0xD9, 0x91, + 0x76, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, 0x76, + 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x76, 0x45, + 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x76, 0x45, 0x20, + 0xD9, 0x90, 0xD9, 0x91, 0x76, 0x45, 0x20, 0xD9, + 0x91, 0xD9, 0xB0, 0x7E, 0x45, 0xE2, 0xAB, 0x9D, + 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, 0x88, + // Bytes 4500 - 453f + 0xCC, 0x81, 0xCE, 0x46, 0xCF, 0x85, 0xCC, 0x88, + 0xCC, 0x81, 0xCE, 0x46, 0xD7, 0xA9, 0xD6, 0xBC, + 0xD7, 0x81, 0x52, 0x46, 0xD7, 0xA9, 0xD6, 0xBC, + 0xD7, 0x82, 0x56, 0x46, 0xD9, 0x80, 0xD9, 0x8E, + 0xD9, 0x91, 0x76, 0x46, 0xD9, 0x80, 0xD9, 0x8F, + 0xD9, 0x91, 0x76, 0x46, 0xD9, 0x80, 0xD9, 0x90, + 0xD9, 0x91, 0x76, 0x46, 0xE0, 0xA4, 0x95, 0xE0, + 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0x96, 0xE0, + // Bytes 4540 - 457f + 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0x97, 0xE0, + 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0x9C, 0xE0, + 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0xA1, 0xE0, + 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0xA2, 0xE0, + 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0xAB, 0xE0, + 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0xAF, 0xE0, + 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA6, 0xA1, 0xE0, + 0xA6, 0xBC, 0x0D, 0x46, 0xE0, 0xA6, 0xA2, 0xE0, + // Bytes 4580 - 45bf + 0xA6, 0xBC, 0x0D, 0x46, 0xE0, 0xA6, 0xAF, 0xE0, + 0xA6, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0x96, 0xE0, + 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0x97, 0xE0, + 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0x9C, 0xE0, + 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0xAB, 0xE0, + 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0xB2, 0xE0, + 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0xB8, 0xE0, + 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xAC, 0xA1, 0xE0, + // Bytes 45c0 - 45ff + 0xAC, 0xBC, 0x0D, 0x46, 0xE0, 0xAC, 0xA2, 0xE0, + 0xAC, 0xBC, 0x0D, 0x46, 0xE0, 0xBE, 0xB2, 0xE0, + 0xBE, 0x80, 0xA1, 0x46, 0xE0, 0xBE, 0xB3, 0xE0, + 0xBE, 0x80, 0xA1, 0x46, 0xE3, 0x83, 0x86, 0xE3, + 0x82, 0x99, 0x11, 0x48, 0xF0, 0x9D, 0x85, 0x97, + 0xF0, 0x9D, 0x85, 0xA5, 0xB1, 0x48, 0xF0, 0x9D, + 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xB1, 0x48, + 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, + // Bytes 4600 - 463f + 0xB1, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, 0x9D, + 0x85, 0xA5, 0xB1, 0x49, 0xE0, 0xBE, 0xB2, 0xE0, + 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0xA2, 0x49, 0xE0, + 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, + 0xA2, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, + 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xB2, 0x4C, + 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, + 0xF0, 0x9D, 0x85, 0xAF, 0xB2, 0x4C, 0xF0, 0x9D, + // Bytes 4640 - 467f + 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, + 0x85, 0xB0, 0xB2, 0x4C, 0xF0, 0x9D, 0x85, 0x98, + 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB1, + 0xB2, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, + 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xB2, 0x4C, + 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, + 0xF0, 0x9D, 0x85, 0xAE, 0xB2, 0x4C, 0xF0, 0x9D, + 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, + // Bytes 4680 - 46bf + 0x85, 0xAF, 0xB2, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, + 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, + 0xB2, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, 0x9D, + 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xB2, 0x83, + 0x41, 0xCC, 0x82, 0xCD, 0x83, 0x41, 0xCC, 0x86, + 0xCD, 0x83, 0x41, 0xCC, 0x87, 0xCD, 0x83, 0x41, + 0xCC, 0x88, 0xCD, 0x83, 0x41, 0xCC, 0x8A, 0xCD, + 0x83, 0x41, 0xCC, 0xA3, 0xB9, 0x83, 0x43, 0xCC, + // Bytes 46c0 - 46ff + 0xA7, 0xA9, 0x83, 0x45, 0xCC, 0x82, 0xCD, 0x83, + 0x45, 0xCC, 0x84, 0xCD, 0x83, 0x45, 0xCC, 0xA3, + 0xB9, 0x83, 0x45, 0xCC, 0xA7, 0xA9, 0x83, 0x49, + 0xCC, 0x88, 0xCD, 0x83, 0x4C, 0xCC, 0xA3, 0xB9, + 0x83, 0x4F, 0xCC, 0x82, 0xCD, 0x83, 0x4F, 0xCC, + 0x83, 0xCD, 0x83, 0x4F, 0xCC, 0x84, 0xCD, 0x83, + 0x4F, 0xCC, 0x87, 0xCD, 0x83, 0x4F, 0xCC, 0x88, + 0xCD, 0x83, 0x4F, 0xCC, 0x9B, 0xB1, 0x83, 0x4F, + // Bytes 4700 - 473f + 0xCC, 0xA3, 0xB9, 0x83, 0x4F, 0xCC, 0xA8, 0xA9, + 0x83, 0x52, 0xCC, 0xA3, 0xB9, 0x83, 0x53, 0xCC, + 0x81, 0xCD, 0x83, 0x53, 0xCC, 0x8C, 0xCD, 0x83, + 0x53, 0xCC, 0xA3, 0xB9, 0x83, 0x55, 0xCC, 0x83, + 0xCD, 0x83, 0x55, 0xCC, 0x84, 0xCD, 0x83, 0x55, + 0xCC, 0x88, 0xCD, 0x83, 0x55, 0xCC, 0x9B, 0xB1, + 0x83, 0x61, 0xCC, 0x82, 0xCD, 0x83, 0x61, 0xCC, + 0x86, 0xCD, 0x83, 0x61, 0xCC, 0x87, 0xCD, 0x83, + // Bytes 4740 - 477f + 0x61, 0xCC, 0x88, 0xCD, 0x83, 0x61, 0xCC, 0x8A, + 0xCD, 0x83, 0x61, 0xCC, 0xA3, 0xB9, 0x83, 0x63, + 0xCC, 0xA7, 0xA9, 0x83, 0x65, 0xCC, 0x82, 0xCD, + 0x83, 0x65, 0xCC, 0x84, 0xCD, 0x83, 0x65, 0xCC, + 0xA3, 0xB9, 0x83, 0x65, 0xCC, 0xA7, 0xA9, 0x83, + 0x69, 0xCC, 0x88, 0xCD, 0x83, 0x6C, 0xCC, 0xA3, + 0xB9, 0x83, 0x6F, 0xCC, 0x82, 0xCD, 0x83, 0x6F, + 0xCC, 0x83, 0xCD, 0x83, 0x6F, 0xCC, 0x84, 0xCD, + // Bytes 4780 - 47bf + 0x83, 0x6F, 0xCC, 0x87, 0xCD, 0x83, 0x6F, 0xCC, + 0x88, 0xCD, 0x83, 0x6F, 0xCC, 0x9B, 0xB1, 0x83, + 0x6F, 0xCC, 0xA3, 0xB9, 0x83, 0x6F, 0xCC, 0xA8, + 0xA9, 0x83, 0x72, 0xCC, 0xA3, 0xB9, 0x83, 0x73, + 0xCC, 0x81, 0xCD, 0x83, 0x73, 0xCC, 0x8C, 0xCD, + 0x83, 0x73, 0xCC, 0xA3, 0xB9, 0x83, 0x75, 0xCC, + 0x83, 0xCD, 0x83, 0x75, 0xCC, 0x84, 0xCD, 0x83, + 0x75, 0xCC, 0x88, 0xCD, 0x83, 0x75, 0xCC, 0x9B, + // Bytes 47c0 - 47ff + 0xB1, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x84, + 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x84, 0xCE, 0x95, + 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0x95, 0xCC, 0x94, + 0xCD, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x84, + 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x84, 0xCE, 0x99, + 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0x99, 0xCC, 0x94, + 0xCD, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xCD, 0x84, + 0xCE, 0x9F, 0xCC, 0x94, 0xCD, 0x84, 0xCE, 0xA5, + // Bytes 4800 - 483f + 0xCC, 0x94, 0xCD, 0x84, 0xCE, 0xA9, 0xCC, 0x93, + 0xCD, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x84, + 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x84, 0xCE, 0xB1, + 0xCC, 0x81, 0xCD, 0x84, 0xCE, 0xB1, 0xCC, 0x93, + 0xCD, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x84, + 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x84, 0xCE, 0xB5, + 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0xB5, 0xCC, 0x94, + 0xCD, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x84, + // Bytes 4840 - 487f + 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x84, 0xCE, 0xB7, + 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0xB7, 0xCC, 0x94, + 0xCD, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x84, + 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x84, 0xCE, 0xB9, + 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0xB9, 0xCC, 0x94, + 0xCD, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xCD, 0x84, + 0xCE, 0xBF, 0xCC, 0x94, 0xCD, 0x84, 0xCF, 0x85, + 0xCC, 0x88, 0xCD, 0x84, 0xCF, 0x85, 0xCC, 0x93, + // Bytes 4880 - 48bf + 0xCD, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x84, + 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x84, 0xCF, 0x89, + 0xCC, 0x81, 0xCD, 0x84, 0xCF, 0x89, 0xCC, 0x93, + 0xCD, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x84, + 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x86, 0xCE, 0x91, + 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0x91, + 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0x91, + 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0x91, + // Bytes 48c0 - 48ff + 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0x91, + 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0x91, + 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0x97, + 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0x97, + 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0x97, + 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0x97, + 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0x97, + 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0x97, + // Bytes 4900 - 493f + 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xA9, + 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xA9, + 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xA9, + 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xA9, + 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xA9, + 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xA9, + 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xB1, + 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xB1, + // Bytes 4940 - 497f + 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xB1, + 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xB1, + 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xB1, + 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xB1, + 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xB7, + 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xB7, + 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xB7, + 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xB7, + // Bytes 4980 - 49bf + 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xB7, + 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xB7, + 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCF, 0x89, + 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCF, 0x89, + 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCF, 0x89, + 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCF, 0x89, + 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCF, 0x89, + 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCF, 0x89, + // Bytes 49c0 - 49ff + 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x42, 0xCC, 0x80, + 0xCD, 0x33, 0x42, 0xCC, 0x81, 0xCD, 0x33, 0x42, + 0xCC, 0x93, 0xCD, 0x33, 0x43, 0xE1, 0x85, 0xA1, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA5, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, 0xE1, + // Bytes 4a00 - 4a3f + 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA9, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAD, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, 0x00, + 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB1, + 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, 0x00, + // Bytes 4a40 - 4a7f + 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, 0xE1, + 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB5, + 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, 0x00, + 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, 0xE1, + 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB0, + 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, 0x00, + 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, 0xE1, + 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB4, + // Bytes 4a80 - 4abf + 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, 0x00, + 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x33, 0x43, + 0xE3, 0x82, 0x99, 0x11, 0x04, 0x43, 0xE3, 0x82, + 0x9A, 0x11, 0x04, 0x46, 0xE0, 0xBD, 0xB1, 0xE0, + 0xBD, 0xB2, 0xA2, 0x27, 0x46, 0xE0, 0xBD, 0xB1, + 0xE0, 0xBD, 0xB4, 0xA6, 0x27, 0x46, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBE, 0x80, 0xA2, 0x27, 0x00, 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10680 bytes (10.43 KiB). Checksum: a555db76d4becdd2. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 46: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 46 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 48 blocks, 3072 entries, 6144 bytes +// The third block is the zero block. +var nfcValues = [3072]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f86, 0xc1: 0x2f8b, 0xc2: 0x469f, 0xc3: 0x2f90, 0xc4: 0x46ae, 0xc5: 0x46b3, + 0xc6: 0xa000, 0xc7: 0x46bd, 0xc8: 0x2ff9, 0xc9: 0x2ffe, 0xca: 0x46c2, 0xcb: 0x3012, + 0xcc: 0x3085, 0xcd: 0x308a, 0xce: 0x308f, 0xcf: 0x46d6, 0xd1: 0x311b, + 0xd2: 0x313e, 0xd3: 0x3143, 0xd4: 0x46e0, 0xd5: 0x46e5, 0xd6: 0x46f4, + 0xd8: 0xa000, 0xd9: 0x31ca, 0xda: 0x31cf, 0xdb: 0x31d4, 0xdc: 0x4726, 0xdd: 0x324c, + 0xe0: 0x3292, 0xe1: 0x3297, 0xe2: 0x4730, 0xe3: 0x329c, + 0xe4: 0x473f, 0xe5: 0x4744, 0xe6: 0xa000, 0xe7: 0x474e, 0xe8: 0x3305, 0xe9: 0x330a, + 0xea: 0x4753, 0xeb: 0x331e, 0xec: 0x3396, 0xed: 0x339b, 0xee: 0x33a0, 0xef: 0x4767, + 0xf1: 0x342c, 0xf2: 0x344f, 0xf3: 0x3454, 0xf4: 0x4771, 0xf5: 0x4776, + 0xf6: 0x4785, 0xf8: 0xa000, 0xf9: 0x34e0, 0xfa: 0x34e5, 0xfb: 0x34ea, + 0xfc: 0x47b7, 0xfd: 0x3567, 0xff: 0x3580, + // Block 0x4, offset 0x100 + 0x100: 0x2f95, 0x101: 0x32a1, 0x102: 0x46a4, 0x103: 0x4735, 0x104: 0x2fb3, 0x105: 0x32bf, + 0x106: 0x2fc7, 0x107: 0x32d3, 0x108: 0x2fcc, 0x109: 0x32d8, 0x10a: 0x2fd1, 0x10b: 0x32dd, + 0x10c: 0x2fd6, 0x10d: 0x32e2, 0x10e: 0x2fe0, 0x10f: 0x32ec, + 0x112: 0x46c7, 0x113: 0x4758, 0x114: 0x3008, 0x115: 0x3314, 0x116: 0x300d, 0x117: 0x3319, + 0x118: 0x302b, 0x119: 0x3337, 0x11a: 0x301c, 0x11b: 0x3328, 0x11c: 0x3044, 0x11d: 0x3350, + 0x11e: 0x304e, 0x11f: 0x335a, 0x120: 0x3053, 0x121: 0x335f, 0x122: 0x305d, 0x123: 0x3369, + 0x124: 0x3062, 0x125: 0x336e, 0x128: 0x3094, 0x129: 0x33a5, + 0x12a: 0x3099, 0x12b: 0x33aa, 0x12c: 0x309e, 0x12d: 0x33af, 0x12e: 0x30c1, 0x12f: 0x33cd, + 0x130: 0x30a3, 0x134: 0x30cb, 0x135: 0x33d7, + 0x136: 0x30df, 0x137: 0x33f0, 0x139: 0x30e9, 0x13a: 0x33fa, 0x13b: 0x30f3, + 0x13c: 0x3404, 0x13d: 0x30ee, 0x13e: 0x33ff, + // Block 0x5, offset 0x140 + 0x143: 0x3116, 0x144: 0x3427, 0x145: 0x312f, + 0x146: 0x3440, 0x147: 0x3125, 0x148: 0x3436, + 0x14c: 0x46ea, 0x14d: 0x477b, 0x14e: 0x3148, 0x14f: 0x3459, 0x150: 0x3152, 0x151: 0x3463, + 0x154: 0x3170, 0x155: 0x3481, 0x156: 0x3189, 0x157: 0x349a, + 0x158: 0x317a, 0x159: 0x348b, 0x15a: 0x470d, 0x15b: 0x479e, 0x15c: 0x3193, 0x15d: 0x34a4, + 0x15e: 0x31a2, 0x15f: 0x34b3, 0x160: 0x4712, 0x161: 0x47a3, 0x162: 0x31bb, 0x163: 0x34d1, + 0x164: 0x31ac, 0x165: 0x34c2, 0x168: 0x471c, 0x169: 0x47ad, + 0x16a: 0x4721, 0x16b: 0x47b2, 0x16c: 0x31d9, 0x16d: 0x34ef, 0x16e: 0x31e3, 0x16f: 0x34f9, + 0x170: 0x31e8, 0x171: 0x34fe, 0x172: 0x3206, 0x173: 0x351c, 0x174: 0x3229, 0x175: 0x353f, + 0x176: 0x3251, 0x177: 0x356c, 0x178: 0x3265, 0x179: 0x3274, 0x17a: 0x3594, 0x17b: 0x327e, + 0x17c: 0x359e, 0x17d: 0x3283, 0x17e: 0x35a3, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f9f, 0x18e: 0x32ab, 0x18f: 0x30ad, 0x190: 0x33b9, 0x191: 0x3157, + 0x192: 0x3468, 0x193: 0x31ed, 0x194: 0x3503, 0x195: 0x39e6, 0x196: 0x3b75, 0x197: 0x39df, + 0x198: 0x3b6e, 0x199: 0x39ed, 0x19a: 0x3b7c, 0x19b: 0x39d8, 0x19c: 0x3b67, + 0x19e: 0x38c7, 0x19f: 0x3a56, 0x1a0: 0x38c0, 0x1a1: 0x3a4f, 0x1a2: 0x35ca, 0x1a3: 0x35dc, + 0x1a6: 0x3058, 0x1a7: 0x3364, 0x1a8: 0x30d5, 0x1a9: 0x33e6, + 0x1aa: 0x4703, 0x1ab: 0x4794, 0x1ac: 0x39a7, 0x1ad: 0x3b36, 0x1ae: 0x35ee, 0x1af: 0x35f4, + 0x1b0: 0x33dc, 0x1b4: 0x303f, 0x1b5: 0x334b, + 0x1b8: 0x3111, 0x1b9: 0x3422, 0x1ba: 0x38ce, 0x1bb: 0x3a5d, + 0x1bc: 0x35c4, 0x1bd: 0x35d6, 0x1be: 0x35d0, 0x1bf: 0x35e2, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2fa4, 0x1c1: 0x32b0, 0x1c2: 0x2fa9, 0x1c3: 0x32b5, 0x1c4: 0x3021, 0x1c5: 0x332d, + 0x1c6: 0x3026, 0x1c7: 0x3332, 0x1c8: 0x30b2, 0x1c9: 0x33be, 0x1ca: 0x30b7, 0x1cb: 0x33c3, + 0x1cc: 0x315c, 0x1cd: 0x346d, 0x1ce: 0x3161, 0x1cf: 0x3472, 0x1d0: 0x317f, 0x1d1: 0x3490, + 0x1d2: 0x3184, 0x1d3: 0x3495, 0x1d4: 0x31f2, 0x1d5: 0x3508, 0x1d6: 0x31f7, 0x1d7: 0x350d, + 0x1d8: 0x319d, 0x1d9: 0x34ae, 0x1da: 0x31b6, 0x1db: 0x34cc, + 0x1de: 0x3071, 0x1df: 0x337d, + 0x1e6: 0x46a9, 0x1e7: 0x473a, 0x1e8: 0x46d1, 0x1e9: 0x4762, + 0x1ea: 0x3976, 0x1eb: 0x3b05, 0x1ec: 0x3953, 0x1ed: 0x3ae2, 0x1ee: 0x46ef, 0x1ef: 0x4780, + 0x1f0: 0x396f, 0x1f1: 0x3afe, 0x1f2: 0x325b, 0x1f3: 0x3576, + // Block 0x8, offset 0x200 + 0x200: 0x9933, 0x201: 0x9933, 0x202: 0x9933, 0x203: 0x9933, 0x204: 0x9933, 0x205: 0x8133, + 0x206: 0x9933, 0x207: 0x9933, 0x208: 0x9933, 0x209: 0x9933, 0x20a: 0x9933, 0x20b: 0x9933, + 0x20c: 0x9933, 0x20d: 0x8133, 0x20e: 0x8133, 0x20f: 0x9933, 0x210: 0x8133, 0x211: 0x9933, + 0x212: 0x8133, 0x213: 0x9933, 0x214: 0x9933, 0x215: 0x8134, 0x216: 0x812e, 0x217: 0x812e, + 0x218: 0x812e, 0x219: 0x812e, 0x21a: 0x8134, 0x21b: 0x992c, 0x21c: 0x812e, 0x21d: 0x812e, + 0x21e: 0x812e, 0x21f: 0x812e, 0x220: 0x812e, 0x221: 0x812a, 0x222: 0x812a, 0x223: 0x992e, + 0x224: 0x992e, 0x225: 0x992e, 0x226: 0x992e, 0x227: 0x992a, 0x228: 0x992a, 0x229: 0x812e, + 0x22a: 0x812e, 0x22b: 0x812e, 0x22c: 0x812e, 0x22d: 0x992e, 0x22e: 0x992e, 0x22f: 0x812e, + 0x230: 0x992e, 0x231: 0x992e, 0x232: 0x812e, 0x233: 0x812e, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812e, 0x23a: 0x812e, 0x23b: 0x812e, + 0x23c: 0x812e, 0x23d: 0x8133, 0x23e: 0x8133, 0x23f: 0x8133, + // Block 0x9, offset 0x240 + 0x240: 0x49c5, 0x241: 0x49ca, 0x242: 0x9933, 0x243: 0x49cf, 0x244: 0x4a88, 0x245: 0x9937, + 0x246: 0x8133, 0x247: 0x812e, 0x248: 0x812e, 0x249: 0x812e, 0x24a: 0x8133, 0x24b: 0x8133, + 0x24c: 0x8133, 0x24d: 0x812e, 0x24e: 0x812e, 0x250: 0x8133, 0x251: 0x8133, + 0x252: 0x8133, 0x253: 0x812e, 0x254: 0x812e, 0x255: 0x812e, 0x256: 0x812e, 0x257: 0x8133, + 0x258: 0x8134, 0x259: 0x812e, 0x25a: 0x812e, 0x25b: 0x8133, 0x25c: 0x8135, 0x25d: 0x8136, + 0x25e: 0x8136, 0x25f: 0x8135, 0x260: 0x8136, 0x261: 0x8136, 0x262: 0x8135, 0x263: 0x8133, + 0x264: 0x8133, 0x265: 0x8133, 0x266: 0x8133, 0x267: 0x8133, 0x268: 0x8133, 0x269: 0x8133, + 0x26a: 0x8133, 0x26b: 0x8133, 0x26c: 0x8133, 0x26d: 0x8133, 0x26e: 0x8133, 0x26f: 0x8133, + 0x274: 0x0173, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35b8, + 0x286: 0x3600, 0x287: 0x00ce, 0x288: 0x361e, 0x289: 0x362a, 0x28a: 0x363c, + 0x28c: 0x365a, 0x28e: 0x366c, 0x28f: 0x368a, 0x290: 0x3e1f, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x364e, 0x2ab: 0x367e, 0x2ac: 0x4815, 0x2ad: 0x36ae, 0x2ae: 0x483f, 0x2af: 0x36c0, + 0x2b0: 0x3e87, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3738, 0x2c1: 0x3744, 0x2c3: 0x3732, + 0x2c6: 0xa000, 0x2c7: 0x3720, + 0x2cc: 0x3774, 0x2cd: 0x375c, 0x2ce: 0x3786, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3768, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37ec, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x374a, 0x302: 0x37ce, + 0x310: 0x3726, 0x311: 0x37aa, + 0x312: 0x372c, 0x313: 0x37b0, 0x316: 0x373e, 0x317: 0x37c2, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3840, 0x31b: 0x3846, 0x31c: 0x3750, 0x31d: 0x37d4, + 0x31e: 0x3756, 0x31f: 0x37da, 0x322: 0x3762, 0x323: 0x37e6, + 0x324: 0x376e, 0x325: 0x37f2, 0x326: 0x377a, 0x327: 0x37fe, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x384c, 0x32b: 0x3852, 0x32c: 0x37a4, 0x32d: 0x3828, 0x32e: 0x3780, 0x32f: 0x3804, + 0x330: 0x378c, 0x331: 0x3810, 0x332: 0x3792, 0x333: 0x3816, 0x334: 0x3798, 0x335: 0x381c, + 0x338: 0x379e, 0x339: 0x3822, + // Block 0xd, offset 0x340 + 0x351: 0x812e, + 0x352: 0x8133, 0x353: 0x8133, 0x354: 0x8133, 0x355: 0x8133, 0x356: 0x812e, 0x357: 0x8133, + 0x358: 0x8133, 0x359: 0x8133, 0x35a: 0x812f, 0x35b: 0x812e, 0x35c: 0x8133, 0x35d: 0x8133, + 0x35e: 0x8133, 0x35f: 0x8133, 0x360: 0x8133, 0x361: 0x8133, 0x362: 0x812e, 0x363: 0x812e, + 0x364: 0x812e, 0x365: 0x812e, 0x366: 0x812e, 0x367: 0x812e, 0x368: 0x8133, 0x369: 0x8133, + 0x36a: 0x812e, 0x36b: 0x8133, 0x36c: 0x8133, 0x36d: 0x812f, 0x36e: 0x8132, 0x36f: 0x8133, + 0x370: 0x8106, 0x371: 0x8107, 0x372: 0x8108, 0x373: 0x8109, 0x374: 0x810a, 0x375: 0x810b, + 0x376: 0x810c, 0x377: 0x810d, 0x378: 0x810e, 0x379: 0x810f, 0x37a: 0x810f, 0x37b: 0x8110, + 0x37c: 0x8111, 0x37d: 0x8112, 0x37f: 0x8113, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8117, + 0x38c: 0x8118, 0x38d: 0x8119, 0x38e: 0x811a, 0x38f: 0x811b, 0x390: 0x811c, 0x391: 0x811d, + 0x392: 0x811e, 0x393: 0x9933, 0x394: 0x9933, 0x395: 0x992e, 0x396: 0x812e, 0x397: 0x8133, + 0x398: 0x8133, 0x399: 0x8133, 0x39a: 0x8133, 0x39b: 0x8133, 0x39c: 0x812e, 0x39d: 0x8133, + 0x39e: 0x8133, 0x39f: 0x812e, + 0x3b0: 0x811f, + // Block 0xf, offset 0x3c0 + 0x3d3: 0x812e, 0x3d4: 0x8133, 0x3d5: 0x8133, 0x3d6: 0x8133, 0x3d7: 0x8133, + 0x3d8: 0x8133, 0x3d9: 0x8133, 0x3da: 0x8133, 0x3db: 0x8133, 0x3dc: 0x8133, 0x3dd: 0x8133, + 0x3de: 0x8133, 0x3df: 0x8133, 0x3e0: 0x8133, 0x3e1: 0x8133, 0x3e3: 0x812e, + 0x3e4: 0x8133, 0x3e5: 0x8133, 0x3e6: 0x812e, 0x3e7: 0x8133, 0x3e8: 0x8133, 0x3e9: 0x812e, + 0x3ea: 0x8133, 0x3eb: 0x8133, 0x3ec: 0x8133, 0x3ed: 0x812e, 0x3ee: 0x812e, 0x3ef: 0x812e, + 0x3f0: 0x8117, 0x3f1: 0x8118, 0x3f2: 0x8119, 0x3f3: 0x8133, 0x3f4: 0x8133, 0x3f5: 0x8133, + 0x3f6: 0x812e, 0x3f7: 0x8133, 0x3f8: 0x8133, 0x3f9: 0x812e, 0x3fa: 0x812e, 0x3fb: 0x8133, + 0x3fc: 0x8133, 0x3fd: 0x8133, 0x3fe: 0x8133, 0x3ff: 0x8133, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d33, 0x407: 0xa000, 0x408: 0x2d3b, 0x409: 0xa000, 0x40a: 0x2d43, 0x40b: 0xa000, + 0x40c: 0x2d4b, 0x40d: 0xa000, 0x40e: 0x2d53, 0x411: 0xa000, + 0x412: 0x2d5b, + 0x434: 0x8103, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d63, + 0x43c: 0xa000, 0x43d: 0x2d6b, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x8133, 0x441: 0x8133, 0x442: 0x812e, 0x443: 0x8133, 0x444: 0x8133, 0x445: 0x8133, + 0x446: 0x8133, 0x447: 0x8133, 0x448: 0x8133, 0x449: 0x8133, 0x44a: 0x812e, 0x44b: 0x8133, + 0x44c: 0x8133, 0x44d: 0x8136, 0x44e: 0x812b, 0x44f: 0x812e, 0x450: 0x812a, 0x451: 0x8133, + 0x452: 0x8133, 0x453: 0x8133, 0x454: 0x8133, 0x455: 0x8133, 0x456: 0x8133, 0x457: 0x8133, + 0x458: 0x8133, 0x459: 0x8133, 0x45a: 0x8133, 0x45b: 0x8133, 0x45c: 0x8133, 0x45d: 0x8133, + 0x45e: 0x8133, 0x45f: 0x8133, 0x460: 0x8133, 0x461: 0x8133, 0x462: 0x8133, 0x463: 0x8133, + 0x464: 0x8133, 0x465: 0x8133, 0x466: 0x8133, 0x467: 0x8133, 0x468: 0x8133, 0x469: 0x8133, + 0x46a: 0x8133, 0x46b: 0x8133, 0x46c: 0x8133, 0x46d: 0x8133, 0x46e: 0x8133, 0x46f: 0x8133, + 0x470: 0x8133, 0x471: 0x8133, 0x472: 0x8133, 0x473: 0x8133, 0x474: 0x8133, 0x475: 0x8133, + 0x476: 0x8134, 0x477: 0x8132, 0x478: 0x8132, 0x479: 0x812e, 0x47b: 0x8133, + 0x47c: 0x8135, 0x47d: 0x812e, 0x47e: 0x8133, 0x47f: 0x812e, + // Block 0x12, offset 0x480 + 0x480: 0x2fae, 0x481: 0x32ba, 0x482: 0x2fb8, 0x483: 0x32c4, 0x484: 0x2fbd, 0x485: 0x32c9, + 0x486: 0x2fc2, 0x487: 0x32ce, 0x488: 0x38e3, 0x489: 0x3a72, 0x48a: 0x2fdb, 0x48b: 0x32e7, + 0x48c: 0x2fe5, 0x48d: 0x32f1, 0x48e: 0x2ff4, 0x48f: 0x3300, 0x490: 0x2fea, 0x491: 0x32f6, + 0x492: 0x2fef, 0x493: 0x32fb, 0x494: 0x3906, 0x495: 0x3a95, 0x496: 0x390d, 0x497: 0x3a9c, + 0x498: 0x3030, 0x499: 0x333c, 0x49a: 0x3035, 0x49b: 0x3341, 0x49c: 0x391b, 0x49d: 0x3aaa, + 0x49e: 0x303a, 0x49f: 0x3346, 0x4a0: 0x3049, 0x4a1: 0x3355, 0x4a2: 0x3067, 0x4a3: 0x3373, + 0x4a4: 0x3076, 0x4a5: 0x3382, 0x4a6: 0x306c, 0x4a7: 0x3378, 0x4a8: 0x307b, 0x4a9: 0x3387, + 0x4aa: 0x3080, 0x4ab: 0x338c, 0x4ac: 0x30c6, 0x4ad: 0x33d2, 0x4ae: 0x3922, 0x4af: 0x3ab1, + 0x4b0: 0x30d0, 0x4b1: 0x33e1, 0x4b2: 0x30da, 0x4b3: 0x33eb, 0x4b4: 0x30e4, 0x4b5: 0x33f5, + 0x4b6: 0x46db, 0x4b7: 0x476c, 0x4b8: 0x3929, 0x4b9: 0x3ab8, 0x4ba: 0x30fd, 0x4bb: 0x340e, + 0x4bc: 0x30f8, 0x4bd: 0x3409, 0x4be: 0x3102, 0x4bf: 0x3413, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x3107, 0x4c1: 0x3418, 0x4c2: 0x310c, 0x4c3: 0x341d, 0x4c4: 0x3120, 0x4c5: 0x3431, + 0x4c6: 0x312a, 0x4c7: 0x343b, 0x4c8: 0x3139, 0x4c9: 0x344a, 0x4ca: 0x3134, 0x4cb: 0x3445, + 0x4cc: 0x394c, 0x4cd: 0x3adb, 0x4ce: 0x395a, 0x4cf: 0x3ae9, 0x4d0: 0x3961, 0x4d1: 0x3af0, + 0x4d2: 0x3968, 0x4d3: 0x3af7, 0x4d4: 0x3166, 0x4d5: 0x3477, 0x4d6: 0x316b, 0x4d7: 0x347c, + 0x4d8: 0x3175, 0x4d9: 0x3486, 0x4da: 0x4708, 0x4db: 0x4799, 0x4dc: 0x39ae, 0x4dd: 0x3b3d, + 0x4de: 0x318e, 0x4df: 0x349f, 0x4e0: 0x3198, 0x4e1: 0x34a9, 0x4e2: 0x4717, 0x4e3: 0x47a8, + 0x4e4: 0x39b5, 0x4e5: 0x3b44, 0x4e6: 0x39bc, 0x4e7: 0x3b4b, 0x4e8: 0x39c3, 0x4e9: 0x3b52, + 0x4ea: 0x31a7, 0x4eb: 0x34b8, 0x4ec: 0x31b1, 0x4ed: 0x34c7, 0x4ee: 0x31c5, 0x4ef: 0x34db, + 0x4f0: 0x31c0, 0x4f1: 0x34d6, 0x4f2: 0x3201, 0x4f3: 0x3517, 0x4f4: 0x3210, 0x4f5: 0x3526, + 0x4f6: 0x320b, 0x4f7: 0x3521, 0x4f8: 0x39ca, 0x4f9: 0x3b59, 0x4fa: 0x39d1, 0x4fb: 0x3b60, + 0x4fc: 0x3215, 0x4fd: 0x352b, 0x4fe: 0x321a, 0x4ff: 0x3530, + // Block 0x14, offset 0x500 + 0x500: 0x321f, 0x501: 0x3535, 0x502: 0x3224, 0x503: 0x353a, 0x504: 0x3233, 0x505: 0x3549, + 0x506: 0x322e, 0x507: 0x3544, 0x508: 0x3238, 0x509: 0x3553, 0x50a: 0x323d, 0x50b: 0x3558, + 0x50c: 0x3242, 0x50d: 0x355d, 0x50e: 0x3260, 0x50f: 0x357b, 0x510: 0x3279, 0x511: 0x3599, + 0x512: 0x3288, 0x513: 0x35a8, 0x514: 0x328d, 0x515: 0x35ad, 0x516: 0x3391, 0x517: 0x34bd, + 0x518: 0x354e, 0x519: 0x358a, 0x51b: 0x35e8, + 0x520: 0x46b8, 0x521: 0x4749, 0x522: 0x2f9a, 0x523: 0x32a6, + 0x524: 0x388f, 0x525: 0x3a1e, 0x526: 0x3888, 0x527: 0x3a17, 0x528: 0x389d, 0x529: 0x3a2c, + 0x52a: 0x3896, 0x52b: 0x3a25, 0x52c: 0x38d5, 0x52d: 0x3a64, 0x52e: 0x38ab, 0x52f: 0x3a3a, + 0x530: 0x38a4, 0x531: 0x3a33, 0x532: 0x38b9, 0x533: 0x3a48, 0x534: 0x38b2, 0x535: 0x3a41, + 0x536: 0x38dc, 0x537: 0x3a6b, 0x538: 0x46cc, 0x539: 0x475d, 0x53a: 0x3017, 0x53b: 0x3323, + 0x53c: 0x3003, 0x53d: 0x330f, 0x53e: 0x38f1, 0x53f: 0x3a80, + // Block 0x15, offset 0x540 + 0x540: 0x38ea, 0x541: 0x3a79, 0x542: 0x38ff, 0x543: 0x3a8e, 0x544: 0x38f8, 0x545: 0x3a87, + 0x546: 0x3914, 0x547: 0x3aa3, 0x548: 0x30a8, 0x549: 0x33b4, 0x54a: 0x30bc, 0x54b: 0x33c8, + 0x54c: 0x46fe, 0x54d: 0x478f, 0x54e: 0x314d, 0x54f: 0x345e, 0x550: 0x3937, 0x551: 0x3ac6, + 0x552: 0x3930, 0x553: 0x3abf, 0x554: 0x3945, 0x555: 0x3ad4, 0x556: 0x393e, 0x557: 0x3acd, + 0x558: 0x39a0, 0x559: 0x3b2f, 0x55a: 0x3984, 0x55b: 0x3b13, 0x55c: 0x397d, 0x55d: 0x3b0c, + 0x55e: 0x3992, 0x55f: 0x3b21, 0x560: 0x398b, 0x561: 0x3b1a, 0x562: 0x3999, 0x563: 0x3b28, + 0x564: 0x31fc, 0x565: 0x3512, 0x566: 0x31de, 0x567: 0x34f4, 0x568: 0x39fb, 0x569: 0x3b8a, + 0x56a: 0x39f4, 0x56b: 0x3b83, 0x56c: 0x3a09, 0x56d: 0x3b98, 0x56e: 0x3a02, 0x56f: 0x3b91, + 0x570: 0x3a10, 0x571: 0x3b9f, 0x572: 0x3247, 0x573: 0x3562, 0x574: 0x326f, 0x575: 0x358f, + 0x576: 0x326a, 0x577: 0x3585, 0x578: 0x3256, 0x579: 0x3571, + // Block 0x16, offset 0x580 + 0x580: 0x481b, 0x581: 0x4821, 0x582: 0x4935, 0x583: 0x494d, 0x584: 0x493d, 0x585: 0x4955, + 0x586: 0x4945, 0x587: 0x495d, 0x588: 0x47c1, 0x589: 0x47c7, 0x58a: 0x48a5, 0x58b: 0x48bd, + 0x58c: 0x48ad, 0x58d: 0x48c5, 0x58e: 0x48b5, 0x58f: 0x48cd, 0x590: 0x482d, 0x591: 0x4833, + 0x592: 0x3dcf, 0x593: 0x3ddf, 0x594: 0x3dd7, 0x595: 0x3de7, + 0x598: 0x47cd, 0x599: 0x47d3, 0x59a: 0x3cff, 0x59b: 0x3d0f, 0x59c: 0x3d07, 0x59d: 0x3d17, + 0x5a0: 0x4845, 0x5a1: 0x484b, 0x5a2: 0x4965, 0x5a3: 0x497d, + 0x5a4: 0x496d, 0x5a5: 0x4985, 0x5a6: 0x4975, 0x5a7: 0x498d, 0x5a8: 0x47d9, 0x5a9: 0x47df, + 0x5aa: 0x48d5, 0x5ab: 0x48ed, 0x5ac: 0x48dd, 0x5ad: 0x48f5, 0x5ae: 0x48e5, 0x5af: 0x48fd, + 0x5b0: 0x485d, 0x5b1: 0x4863, 0x5b2: 0x3e2f, 0x5b3: 0x3e47, 0x5b4: 0x3e37, 0x5b5: 0x3e4f, + 0x5b6: 0x3e3f, 0x5b7: 0x3e57, 0x5b8: 0x47e5, 0x5b9: 0x47eb, 0x5ba: 0x3d2f, 0x5bb: 0x3d47, + 0x5bc: 0x3d37, 0x5bd: 0x3d4f, 0x5be: 0x3d3f, 0x5bf: 0x3d57, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x4869, 0x5c1: 0x486f, 0x5c2: 0x3e5f, 0x5c3: 0x3e6f, 0x5c4: 0x3e67, 0x5c5: 0x3e77, + 0x5c8: 0x47f1, 0x5c9: 0x47f7, 0x5ca: 0x3d5f, 0x5cb: 0x3d6f, + 0x5cc: 0x3d67, 0x5cd: 0x3d77, 0x5d0: 0x487b, 0x5d1: 0x4881, + 0x5d2: 0x3e97, 0x5d3: 0x3eaf, 0x5d4: 0x3e9f, 0x5d5: 0x3eb7, 0x5d6: 0x3ea7, 0x5d7: 0x3ebf, + 0x5d9: 0x47fd, 0x5db: 0x3d7f, 0x5dd: 0x3d87, + 0x5df: 0x3d8f, 0x5e0: 0x4893, 0x5e1: 0x4899, 0x5e2: 0x4995, 0x5e3: 0x49ad, + 0x5e4: 0x499d, 0x5e5: 0x49b5, 0x5e6: 0x49a5, 0x5e7: 0x49bd, 0x5e8: 0x4803, 0x5e9: 0x4809, + 0x5ea: 0x4905, 0x5eb: 0x491d, 0x5ec: 0x490d, 0x5ed: 0x4925, 0x5ee: 0x4915, 0x5ef: 0x492d, + 0x5f0: 0x480f, 0x5f1: 0x4335, 0x5f2: 0x36a8, 0x5f3: 0x433b, 0x5f4: 0x4839, 0x5f5: 0x4341, + 0x5f6: 0x36ba, 0x5f7: 0x4347, 0x5f8: 0x36d8, 0x5f9: 0x434d, 0x5fa: 0x36f0, 0x5fb: 0x4353, + 0x5fc: 0x4887, 0x5fd: 0x4359, + // Block 0x18, offset 0x600 + 0x600: 0x3db7, 0x601: 0x3dbf, 0x602: 0x419b, 0x603: 0x41b9, 0x604: 0x41a5, 0x605: 0x41c3, + 0x606: 0x41af, 0x607: 0x41cd, 0x608: 0x3cef, 0x609: 0x3cf7, 0x60a: 0x40e7, 0x60b: 0x4105, + 0x60c: 0x40f1, 0x60d: 0x410f, 0x60e: 0x40fb, 0x60f: 0x4119, 0x610: 0x3dff, 0x611: 0x3e07, + 0x612: 0x41d7, 0x613: 0x41f5, 0x614: 0x41e1, 0x615: 0x41ff, 0x616: 0x41eb, 0x617: 0x4209, + 0x618: 0x3d1f, 0x619: 0x3d27, 0x61a: 0x4123, 0x61b: 0x4141, 0x61c: 0x412d, 0x61d: 0x414b, + 0x61e: 0x4137, 0x61f: 0x4155, 0x620: 0x3ed7, 0x621: 0x3edf, 0x622: 0x4213, 0x623: 0x4231, + 0x624: 0x421d, 0x625: 0x423b, 0x626: 0x4227, 0x627: 0x4245, 0x628: 0x3d97, 0x629: 0x3d9f, + 0x62a: 0x415f, 0x62b: 0x417d, 0x62c: 0x4169, 0x62d: 0x4187, 0x62e: 0x4173, 0x62f: 0x4191, + 0x630: 0x369c, 0x631: 0x3696, 0x632: 0x3da7, 0x633: 0x36a2, 0x634: 0x3daf, + 0x636: 0x4827, 0x637: 0x3dc7, 0x638: 0x360c, 0x639: 0x3606, 0x63a: 0x35fa, 0x63b: 0x4305, + 0x63c: 0x3612, 0x63d: 0x8100, 0x63e: 0x01d6, 0x63f: 0xa100, + // Block 0x19, offset 0x640 + 0x640: 0x8100, 0x641: 0x35be, 0x642: 0x3def, 0x643: 0x36b4, 0x644: 0x3df7, + 0x646: 0x4851, 0x647: 0x3e0f, 0x648: 0x3618, 0x649: 0x430b, 0x64a: 0x3624, 0x64b: 0x4311, + 0x64c: 0x3630, 0x64d: 0x3ba6, 0x64e: 0x3bad, 0x64f: 0x3bb4, 0x650: 0x36cc, 0x651: 0x36c6, + 0x652: 0x3e17, 0x653: 0x44fb, 0x656: 0x36d2, 0x657: 0x3e27, + 0x658: 0x3648, 0x659: 0x3642, 0x65a: 0x3636, 0x65b: 0x4317, 0x65d: 0x3bbb, + 0x65e: 0x3bc2, 0x65f: 0x3bc9, 0x660: 0x3702, 0x661: 0x36fc, 0x662: 0x3e7f, 0x663: 0x4503, + 0x664: 0x36e4, 0x665: 0x36ea, 0x666: 0x3708, 0x667: 0x3e8f, 0x668: 0x3678, 0x669: 0x3672, + 0x66a: 0x3666, 0x66b: 0x4323, 0x66c: 0x3660, 0x66d: 0x35b2, 0x66e: 0x42ff, 0x66f: 0x0081, + 0x672: 0x3ec7, 0x673: 0x370e, 0x674: 0x3ecf, + 0x676: 0x489f, 0x677: 0x3ee7, 0x678: 0x3654, 0x679: 0x431d, 0x67a: 0x3684, 0x67b: 0x432f, + 0x67c: 0x3690, 0x67d: 0x426d, 0x67e: 0xa100, + // Block 0x1a, offset 0x680 + 0x681: 0x3c1d, 0x683: 0xa000, 0x684: 0x3c24, 0x685: 0xa000, + 0x687: 0x3c2b, 0x688: 0xa000, 0x689: 0x3c32, + 0x68d: 0xa000, + 0x6a0: 0x2f7c, 0x6a1: 0xa000, 0x6a2: 0x3c40, + 0x6a4: 0xa000, 0x6a5: 0xa000, + 0x6ad: 0x3c39, 0x6ae: 0x2f77, 0x6af: 0x2f81, + 0x6b0: 0x3c47, 0x6b1: 0x3c4e, 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0x3c55, 0x6b5: 0x3c5c, + 0x6b6: 0xa000, 0x6b7: 0xa000, 0x6b8: 0x3c63, 0x6b9: 0x3c6a, 0x6ba: 0xa000, 0x6bb: 0xa000, + 0x6bc: 0xa000, 0x6bd: 0xa000, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3c71, 0x6c1: 0x3c78, 0x6c2: 0xa000, 0x6c3: 0xa000, 0x6c4: 0x3c8d, 0x6c5: 0x3c94, + 0x6c6: 0xa000, 0x6c7: 0xa000, 0x6c8: 0x3c9b, 0x6c9: 0x3ca2, + 0x6d1: 0xa000, + 0x6d2: 0xa000, + 0x6e2: 0xa000, + 0x6e8: 0xa000, 0x6e9: 0xa000, + 0x6eb: 0xa000, 0x6ec: 0x3cb7, 0x6ed: 0x3cbe, 0x6ee: 0x3cc5, 0x6ef: 0x3ccc, + 0x6f2: 0xa000, 0x6f3: 0xa000, 0x6f4: 0xa000, 0x6f5: 0xa000, + // Block 0x1c, offset 0x700 + 0x706: 0xa000, 0x70b: 0xa000, + 0x70c: 0x3f1f, 0x70d: 0xa000, 0x70e: 0x3f27, 0x70f: 0xa000, 0x710: 0x3f2f, 0x711: 0xa000, + 0x712: 0x3f37, 0x713: 0xa000, 0x714: 0x3f3f, 0x715: 0xa000, 0x716: 0x3f47, 0x717: 0xa000, + 0x718: 0x3f4f, 0x719: 0xa000, 0x71a: 0x3f57, 0x71b: 0xa000, 0x71c: 0x3f5f, 0x71d: 0xa000, + 0x71e: 0x3f67, 0x71f: 0xa000, 0x720: 0x3f6f, 0x721: 0xa000, 0x722: 0x3f77, + 0x724: 0xa000, 0x725: 0x3f7f, 0x726: 0xa000, 0x727: 0x3f87, 0x728: 0xa000, 0x729: 0x3f8f, + 0x72f: 0xa000, + 0x730: 0x3f97, 0x731: 0x3f9f, 0x732: 0xa000, 0x733: 0x3fa7, 0x734: 0x3faf, 0x735: 0xa000, + 0x736: 0x3fb7, 0x737: 0x3fbf, 0x738: 0xa000, 0x739: 0x3fc7, 0x73a: 0x3fcf, 0x73b: 0xa000, + 0x73c: 0x3fd7, 0x73d: 0x3fdf, + // Block 0x1d, offset 0x740 + 0x754: 0x3f17, + 0x759: 0x9904, 0x75a: 0x9904, 0x75b: 0x8100, 0x75c: 0x8100, 0x75d: 0xa000, + 0x75e: 0x3fe7, + 0x766: 0xa000, + 0x76b: 0xa000, 0x76c: 0x3ff7, 0x76d: 0xa000, 0x76e: 0x3fff, 0x76f: 0xa000, + 0x770: 0x4007, 0x771: 0xa000, 0x772: 0x400f, 0x773: 0xa000, 0x774: 0x4017, 0x775: 0xa000, + 0x776: 0x401f, 0x777: 0xa000, 0x778: 0x4027, 0x779: 0xa000, 0x77a: 0x402f, 0x77b: 0xa000, + 0x77c: 0x4037, 0x77d: 0xa000, 0x77e: 0x403f, 0x77f: 0xa000, + // Block 0x1e, offset 0x780 + 0x780: 0x4047, 0x781: 0xa000, 0x782: 0x404f, 0x784: 0xa000, 0x785: 0x4057, + 0x786: 0xa000, 0x787: 0x405f, 0x788: 0xa000, 0x789: 0x4067, + 0x78f: 0xa000, 0x790: 0x406f, 0x791: 0x4077, + 0x792: 0xa000, 0x793: 0x407f, 0x794: 0x4087, 0x795: 0xa000, 0x796: 0x408f, 0x797: 0x4097, + 0x798: 0xa000, 0x799: 0x409f, 0x79a: 0x40a7, 0x79b: 0xa000, 0x79c: 0x40af, 0x79d: 0x40b7, + 0x7af: 0xa000, + 0x7b0: 0xa000, 0x7b1: 0xa000, 0x7b2: 0xa000, 0x7b4: 0x3fef, + 0x7b7: 0x40bf, 0x7b8: 0x40c7, 0x7b9: 0x40cf, 0x7ba: 0x40d7, + 0x7bd: 0xa000, 0x7be: 0x40df, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x137a, 0x7c1: 0x0cfe, 0x7c2: 0x13d6, 0x7c3: 0x13a2, 0x7c4: 0x0e5a, 0x7c5: 0x06ee, + 0x7c6: 0x08e2, 0x7c7: 0x162e, 0x7c8: 0x162e, 0x7c9: 0x0a0e, 0x7ca: 0x1462, 0x7cb: 0x0946, + 0x7cc: 0x0a0a, 0x7cd: 0x0bf2, 0x7ce: 0x0fd2, 0x7cf: 0x1162, 0x7d0: 0x129a, 0x7d1: 0x12d6, + 0x7d2: 0x130a, 0x7d3: 0x141e, 0x7d4: 0x0d76, 0x7d5: 0x0e02, 0x7d6: 0x0eae, 0x7d7: 0x0f46, + 0x7d8: 0x1262, 0x7d9: 0x144a, 0x7da: 0x1576, 0x7db: 0x0712, 0x7dc: 0x08b6, 0x7dd: 0x0d8a, + 0x7de: 0x0ed2, 0x7df: 0x1296, 0x7e0: 0x15c6, 0x7e1: 0x0ab6, 0x7e2: 0x0e7a, 0x7e3: 0x1286, + 0x7e4: 0x131a, 0x7e5: 0x0c26, 0x7e6: 0x11be, 0x7e7: 0x12e2, 0x7e8: 0x0b22, 0x7e9: 0x0d12, + 0x7ea: 0x0e1a, 0x7eb: 0x0f1e, 0x7ec: 0x142a, 0x7ed: 0x0752, 0x7ee: 0x07ea, 0x7ef: 0x0856, + 0x7f0: 0x0c8e, 0x7f1: 0x0d82, 0x7f2: 0x0ece, 0x7f3: 0x0ff2, 0x7f4: 0x117a, 0x7f5: 0x128e, + 0x7f6: 0x12a6, 0x7f7: 0x13ca, 0x7f8: 0x14f2, 0x7f9: 0x15a6, 0x7fa: 0x15c2, 0x7fb: 0x102e, + 0x7fc: 0x106e, 0x7fd: 0x1126, 0x7fe: 0x1246, 0x7ff: 0x147e, + // Block 0x20, offset 0x800 + 0x800: 0x15ce, 0x801: 0x134e, 0x802: 0x09ca, 0x803: 0x0b3e, 0x804: 0x10de, 0x805: 0x119e, + 0x806: 0x0f02, 0x807: 0x1036, 0x808: 0x139a, 0x809: 0x14ea, 0x80a: 0x09c6, 0x80b: 0x0a92, + 0x80c: 0x0d7a, 0x80d: 0x0e2e, 0x80e: 0x0e62, 0x80f: 0x1116, 0x810: 0x113e, 0x811: 0x14aa, + 0x812: 0x0852, 0x813: 0x11aa, 0x814: 0x07f6, 0x815: 0x07f2, 0x816: 0x109a, 0x817: 0x112a, + 0x818: 0x125e, 0x819: 0x14b2, 0x81a: 0x136a, 0x81b: 0x0c2a, 0x81c: 0x0d76, 0x81d: 0x135a, + 0x81e: 0x06fa, 0x81f: 0x0a66, 0x820: 0x0b96, 0x821: 0x0f32, 0x822: 0x0fb2, 0x823: 0x0876, + 0x824: 0x103e, 0x825: 0x0762, 0x826: 0x0b7a, 0x827: 0x06da, 0x828: 0x0dee, 0x829: 0x0ca6, + 0x82a: 0x1112, 0x82b: 0x08ca, 0x82c: 0x09b6, 0x82d: 0x0ffe, 0x82e: 0x1266, 0x82f: 0x133e, + 0x830: 0x0dba, 0x831: 0x13fa, 0x832: 0x0de6, 0x833: 0x0c3a, 0x834: 0x121e, 0x835: 0x0c5a, + 0x836: 0x0fae, 0x837: 0x072e, 0x838: 0x07aa, 0x839: 0x07ee, 0x83a: 0x0d56, 0x83b: 0x10fe, + 0x83c: 0x11f6, 0x83d: 0x134a, 0x83e: 0x145e, 0x83f: 0x085e, + // Block 0x21, offset 0x840 + 0x840: 0x0912, 0x841: 0x0a1a, 0x842: 0x0b32, 0x843: 0x0cc2, 0x844: 0x0e7e, 0x845: 0x1042, + 0x846: 0x149a, 0x847: 0x157e, 0x848: 0x15d2, 0x849: 0x15ea, 0x84a: 0x083a, 0x84b: 0x0cf6, + 0x84c: 0x0da6, 0x84d: 0x13ee, 0x84e: 0x0afe, 0x84f: 0x0bda, 0x850: 0x0bf6, 0x851: 0x0c86, + 0x852: 0x0e6e, 0x853: 0x0eba, 0x854: 0x0f6a, 0x855: 0x108e, 0x856: 0x1132, 0x857: 0x1196, + 0x858: 0x13de, 0x859: 0x126e, 0x85a: 0x1406, 0x85b: 0x1482, 0x85c: 0x0812, 0x85d: 0x083e, + 0x85e: 0x0926, 0x85f: 0x0eaa, 0x860: 0x12f6, 0x861: 0x133e, 0x862: 0x0b1e, 0x863: 0x0b8e, + 0x864: 0x0c52, 0x865: 0x0db2, 0x866: 0x10da, 0x867: 0x0f26, 0x868: 0x073e, 0x869: 0x0982, + 0x86a: 0x0a66, 0x86b: 0x0aca, 0x86c: 0x0b9a, 0x86d: 0x0f42, 0x86e: 0x0f5e, 0x86f: 0x116e, + 0x870: 0x118e, 0x871: 0x1466, 0x872: 0x14e6, 0x873: 0x14f6, 0x874: 0x1532, 0x875: 0x0756, + 0x876: 0x1082, 0x877: 0x1452, 0x878: 0x14ce, 0x879: 0x0bb2, 0x87a: 0x071a, 0x87b: 0x077a, + 0x87c: 0x0a6a, 0x87d: 0x0a8a, 0x87e: 0x0cb2, 0x87f: 0x0d76, + // Block 0x22, offset 0x880 + 0x880: 0x0ec6, 0x881: 0x0fce, 0x882: 0x127a, 0x883: 0x141a, 0x884: 0x1626, 0x885: 0x0ce6, + 0x886: 0x14a6, 0x887: 0x0836, 0x888: 0x0d32, 0x889: 0x0d3e, 0x88a: 0x0e12, 0x88b: 0x0e4a, + 0x88c: 0x0f4e, 0x88d: 0x0faa, 0x88e: 0x102a, 0x88f: 0x110e, 0x890: 0x153e, 0x891: 0x07b2, + 0x892: 0x0c06, 0x893: 0x14b6, 0x894: 0x076a, 0x895: 0x0aae, 0x896: 0x0e32, 0x897: 0x13e2, + 0x898: 0x0b6a, 0x899: 0x0bba, 0x89a: 0x0d46, 0x89b: 0x0f32, 0x89c: 0x14be, 0x89d: 0x081a, + 0x89e: 0x0902, 0x89f: 0x0a9a, 0x8a0: 0x0cd6, 0x8a1: 0x0d22, 0x8a2: 0x0d62, 0x8a3: 0x0df6, + 0x8a4: 0x0f4a, 0x8a5: 0x0fbe, 0x8a6: 0x115a, 0x8a7: 0x12fa, 0x8a8: 0x1306, 0x8a9: 0x145a, + 0x8aa: 0x14da, 0x8ab: 0x0886, 0x8ac: 0x0e4e, 0x8ad: 0x0906, 0x8ae: 0x0eca, 0x8af: 0x0f6e, + 0x8b0: 0x128a, 0x8b1: 0x14c2, 0x8b2: 0x15ae, 0x8b3: 0x15d6, 0x8b4: 0x0d3a, 0x8b5: 0x0e2a, + 0x8b6: 0x11c6, 0x8b7: 0x10ba, 0x8b8: 0x10c6, 0x8b9: 0x10ea, 0x8ba: 0x0f1a, 0x8bb: 0x0ea2, + 0x8bc: 0x1366, 0x8bd: 0x0736, 0x8be: 0x122e, 0x8bf: 0x081e, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x080e, 0x8c1: 0x0b0e, 0x8c2: 0x0c2e, 0x8c3: 0x10f6, 0x8c4: 0x0a56, 0x8c5: 0x0e06, + 0x8c6: 0x0cf2, 0x8c7: 0x13ea, 0x8c8: 0x12ea, 0x8c9: 0x14ae, 0x8ca: 0x1326, 0x8cb: 0x0b2a, + 0x8cc: 0x078a, 0x8cd: 0x095e, 0x8d0: 0x09b2, + 0x8d2: 0x0ce2, 0x8d5: 0x07fa, 0x8d6: 0x0f22, 0x8d7: 0x0fe6, + 0x8d8: 0x104a, 0x8d9: 0x1066, 0x8da: 0x106a, 0x8db: 0x107e, 0x8dc: 0x14fe, 0x8dd: 0x10ee, + 0x8de: 0x1172, 0x8e0: 0x1292, 0x8e2: 0x1356, + 0x8e5: 0x140a, 0x8e6: 0x1436, + 0x8ea: 0x1552, 0x8eb: 0x1556, 0x8ec: 0x155a, 0x8ed: 0x15be, 0x8ee: 0x142e, 0x8ef: 0x14ca, + 0x8f0: 0x075a, 0x8f1: 0x077e, 0x8f2: 0x0792, 0x8f3: 0x084e, 0x8f4: 0x085a, 0x8f5: 0x089a, + 0x8f6: 0x094e, 0x8f7: 0x096a, 0x8f8: 0x0972, 0x8f9: 0x09ae, 0x8fa: 0x09ba, 0x8fb: 0x0a96, + 0x8fc: 0x0a9e, 0x8fd: 0x0ba6, 0x8fe: 0x0bce, 0x8ff: 0x0bd6, + // Block 0x24, offset 0x900 + 0x900: 0x0bee, 0x901: 0x0c9a, 0x902: 0x0cca, 0x903: 0x0cea, 0x904: 0x0d5a, 0x905: 0x0e1e, + 0x906: 0x0e3a, 0x907: 0x0e6a, 0x908: 0x0ebe, 0x909: 0x0ede, 0x90a: 0x0f52, 0x90b: 0x1032, + 0x90c: 0x104e, 0x90d: 0x1056, 0x90e: 0x1052, 0x90f: 0x105a, 0x910: 0x105e, 0x911: 0x1062, + 0x912: 0x1076, 0x913: 0x107a, 0x914: 0x109e, 0x915: 0x10b2, 0x916: 0x10ce, 0x917: 0x1132, + 0x918: 0x113a, 0x919: 0x1142, 0x91a: 0x1156, 0x91b: 0x117e, 0x91c: 0x11ce, 0x91d: 0x1202, + 0x91e: 0x1202, 0x91f: 0x126a, 0x920: 0x1312, 0x921: 0x132a, 0x922: 0x135e, 0x923: 0x1362, + 0x924: 0x13a6, 0x925: 0x13aa, 0x926: 0x1402, 0x927: 0x140a, 0x928: 0x14de, 0x929: 0x1522, + 0x92a: 0x153a, 0x92b: 0x0b9e, 0x92c: 0x1721, 0x92d: 0x11e6, + 0x930: 0x06e2, 0x931: 0x07e6, 0x932: 0x07a6, 0x933: 0x074e, 0x934: 0x078e, 0x935: 0x07ba, + 0x936: 0x084a, 0x937: 0x0866, 0x938: 0x094e, 0x939: 0x093a, 0x93a: 0x094a, 0x93b: 0x0966, + 0x93c: 0x09b2, 0x93d: 0x09c2, 0x93e: 0x0a06, 0x93f: 0x0a12, + // Block 0x25, offset 0x940 + 0x940: 0x0a2e, 0x941: 0x0a3e, 0x942: 0x0b26, 0x943: 0x0b2e, 0x944: 0x0b5e, 0x945: 0x0b7e, + 0x946: 0x0bae, 0x947: 0x0bc6, 0x948: 0x0bb6, 0x949: 0x0bd6, 0x94a: 0x0bca, 0x94b: 0x0bee, + 0x94c: 0x0c0a, 0x94d: 0x0c62, 0x94e: 0x0c6e, 0x94f: 0x0c76, 0x950: 0x0c9e, 0x951: 0x0ce2, + 0x952: 0x0d12, 0x953: 0x0d16, 0x954: 0x0d2a, 0x955: 0x0daa, 0x956: 0x0dba, 0x957: 0x0e12, + 0x958: 0x0e5e, 0x959: 0x0e56, 0x95a: 0x0e6a, 0x95b: 0x0e86, 0x95c: 0x0ebe, 0x95d: 0x1016, + 0x95e: 0x0ee2, 0x95f: 0x0f16, 0x960: 0x0f22, 0x961: 0x0f62, 0x962: 0x0f7e, 0x963: 0x0fa2, + 0x964: 0x0fc6, 0x965: 0x0fca, 0x966: 0x0fe6, 0x967: 0x0fea, 0x968: 0x0ffa, 0x969: 0x100e, + 0x96a: 0x100a, 0x96b: 0x103a, 0x96c: 0x10b6, 0x96d: 0x10ce, 0x96e: 0x10e6, 0x96f: 0x111e, + 0x970: 0x1132, 0x971: 0x114e, 0x972: 0x117e, 0x973: 0x1232, 0x974: 0x125a, 0x975: 0x12ce, + 0x976: 0x1316, 0x977: 0x1322, 0x978: 0x132a, 0x979: 0x1342, 0x97a: 0x1356, 0x97b: 0x1346, + 0x97c: 0x135e, 0x97d: 0x135a, 0x97e: 0x1352, 0x97f: 0x1362, + // Block 0x26, offset 0x980 + 0x980: 0x136e, 0x981: 0x13aa, 0x982: 0x13e6, 0x983: 0x1416, 0x984: 0x144e, 0x985: 0x146e, + 0x986: 0x14ba, 0x987: 0x14de, 0x988: 0x14fe, 0x989: 0x1512, 0x98a: 0x1522, 0x98b: 0x152e, + 0x98c: 0x153a, 0x98d: 0x158e, 0x98e: 0x162e, 0x98f: 0x16b8, 0x990: 0x16b3, 0x991: 0x16e5, + 0x992: 0x060a, 0x993: 0x0632, 0x994: 0x0636, 0x995: 0x1767, 0x996: 0x1794, 0x997: 0x180c, + 0x998: 0x161a, 0x999: 0x162a, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x06fe, 0x9c1: 0x06f6, 0x9c2: 0x0706, 0x9c3: 0x164a, 0x9c4: 0x074a, 0x9c5: 0x075a, + 0x9c6: 0x075e, 0x9c7: 0x0766, 0x9c8: 0x076e, 0x9c9: 0x0772, 0x9ca: 0x077e, 0x9cb: 0x0776, + 0x9cc: 0x05b6, 0x9cd: 0x165e, 0x9ce: 0x0792, 0x9cf: 0x0796, 0x9d0: 0x079a, 0x9d1: 0x07b6, + 0x9d2: 0x164f, 0x9d3: 0x05ba, 0x9d4: 0x07a2, 0x9d5: 0x07c2, 0x9d6: 0x1659, 0x9d7: 0x07d2, + 0x9d8: 0x07da, 0x9d9: 0x073a, 0x9da: 0x07e2, 0x9db: 0x07e6, 0x9dc: 0x1834, 0x9dd: 0x0802, + 0x9de: 0x080a, 0x9df: 0x05c2, 0x9e0: 0x0822, 0x9e1: 0x0826, 0x9e2: 0x082e, 0x9e3: 0x0832, + 0x9e4: 0x05c6, 0x9e5: 0x084a, 0x9e6: 0x084e, 0x9e7: 0x085a, 0x9e8: 0x0866, 0x9e9: 0x086a, + 0x9ea: 0x086e, 0x9eb: 0x0876, 0x9ec: 0x0896, 0x9ed: 0x089a, 0x9ee: 0x08a2, 0x9ef: 0x08b2, + 0x9f0: 0x08ba, 0x9f1: 0x08be, 0x9f2: 0x08be, 0x9f3: 0x08be, 0x9f4: 0x166d, 0x9f5: 0x0e96, + 0x9f6: 0x08d2, 0x9f7: 0x08da, 0x9f8: 0x1672, 0x9f9: 0x08e6, 0x9fa: 0x08ee, 0x9fb: 0x08f6, + 0x9fc: 0x091e, 0x9fd: 0x090a, 0x9fe: 0x0916, 0x9ff: 0x091a, + // Block 0x28, offset 0xa00 + 0xa00: 0x0922, 0xa01: 0x092a, 0xa02: 0x092e, 0xa03: 0x0936, 0xa04: 0x093e, 0xa05: 0x0942, + 0xa06: 0x0942, 0xa07: 0x094a, 0xa08: 0x0952, 0xa09: 0x0956, 0xa0a: 0x0962, 0xa0b: 0x0986, + 0xa0c: 0x096a, 0xa0d: 0x098a, 0xa0e: 0x096e, 0xa0f: 0x0976, 0xa10: 0x080e, 0xa11: 0x09d2, + 0xa12: 0x099a, 0xa13: 0x099e, 0xa14: 0x09a2, 0xa15: 0x0996, 0xa16: 0x09aa, 0xa17: 0x09a6, + 0xa18: 0x09be, 0xa19: 0x1677, 0xa1a: 0x09da, 0xa1b: 0x09de, 0xa1c: 0x09e6, 0xa1d: 0x09f2, + 0xa1e: 0x09fa, 0xa1f: 0x0a16, 0xa20: 0x167c, 0xa21: 0x1681, 0xa22: 0x0a22, 0xa23: 0x0a26, + 0xa24: 0x0a2a, 0xa25: 0x0a1e, 0xa26: 0x0a32, 0xa27: 0x05ca, 0xa28: 0x05ce, 0xa29: 0x0a3a, + 0xa2a: 0x0a42, 0xa2b: 0x0a42, 0xa2c: 0x1686, 0xa2d: 0x0a5e, 0xa2e: 0x0a62, 0xa2f: 0x0a66, + 0xa30: 0x0a6e, 0xa31: 0x168b, 0xa32: 0x0a76, 0xa33: 0x0a7a, 0xa34: 0x0b52, 0xa35: 0x0a82, + 0xa36: 0x05d2, 0xa37: 0x0a8e, 0xa38: 0x0a9e, 0xa39: 0x0aaa, 0xa3a: 0x0aa6, 0xa3b: 0x1695, + 0xa3c: 0x0ab2, 0xa3d: 0x169a, 0xa3e: 0x0abe, 0xa3f: 0x0aba, + // Block 0x29, offset 0xa40 + 0xa40: 0x0ac2, 0xa41: 0x0ad2, 0xa42: 0x0ad6, 0xa43: 0x05d6, 0xa44: 0x0ae6, 0xa45: 0x0aee, + 0xa46: 0x0af2, 0xa47: 0x0af6, 0xa48: 0x05da, 0xa49: 0x169f, 0xa4a: 0x05de, 0xa4b: 0x0b12, + 0xa4c: 0x0b16, 0xa4d: 0x0b1a, 0xa4e: 0x0b22, 0xa4f: 0x1866, 0xa50: 0x0b3a, 0xa51: 0x16a9, + 0xa52: 0x16a9, 0xa53: 0x11da, 0xa54: 0x0b4a, 0xa55: 0x0b4a, 0xa56: 0x05e2, 0xa57: 0x16cc, + 0xa58: 0x179e, 0xa59: 0x0b5a, 0xa5a: 0x0b62, 0xa5b: 0x05e6, 0xa5c: 0x0b76, 0xa5d: 0x0b86, + 0xa5e: 0x0b8a, 0xa5f: 0x0b92, 0xa60: 0x0ba2, 0xa61: 0x05ee, 0xa62: 0x05ea, 0xa63: 0x0ba6, + 0xa64: 0x16ae, 0xa65: 0x0baa, 0xa66: 0x0bbe, 0xa67: 0x0bc2, 0xa68: 0x0bc6, 0xa69: 0x0bc2, + 0xa6a: 0x0bd2, 0xa6b: 0x0bd6, 0xa6c: 0x0be6, 0xa6d: 0x0bde, 0xa6e: 0x0be2, 0xa6f: 0x0bea, + 0xa70: 0x0bee, 0xa71: 0x0bf2, 0xa72: 0x0bfe, 0xa73: 0x0c02, 0xa74: 0x0c1a, 0xa75: 0x0c22, + 0xa76: 0x0c32, 0xa77: 0x0c46, 0xa78: 0x16bd, 0xa79: 0x0c42, 0xa7a: 0x0c36, 0xa7b: 0x0c4e, + 0xa7c: 0x0c56, 0xa7d: 0x0c6a, 0xa7e: 0x16c2, 0xa7f: 0x0c72, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0c66, 0xa81: 0x0c5e, 0xa82: 0x05f2, 0xa83: 0x0c7a, 0xa84: 0x0c82, 0xa85: 0x0c8a, + 0xa86: 0x0c7e, 0xa87: 0x05f6, 0xa88: 0x0c9a, 0xa89: 0x0ca2, 0xa8a: 0x16c7, 0xa8b: 0x0cce, + 0xa8c: 0x0d02, 0xa8d: 0x0cde, 0xa8e: 0x0602, 0xa8f: 0x0cea, 0xa90: 0x05fe, 0xa91: 0x05fa, + 0xa92: 0x07c6, 0xa93: 0x07ca, 0xa94: 0x0d06, 0xa95: 0x0cee, 0xa96: 0x11ae, 0xa97: 0x0666, + 0xa98: 0x0d12, 0xa99: 0x0d16, 0xa9a: 0x0d1a, 0xa9b: 0x0d2e, 0xa9c: 0x0d26, 0xa9d: 0x16e0, + 0xa9e: 0x0606, 0xa9f: 0x0d42, 0xaa0: 0x0d36, 0xaa1: 0x0d52, 0xaa2: 0x0d5a, 0xaa3: 0x16ea, + 0xaa4: 0x0d5e, 0xaa5: 0x0d4a, 0xaa6: 0x0d66, 0xaa7: 0x060a, 0xaa8: 0x0d6a, 0xaa9: 0x0d6e, + 0xaaa: 0x0d72, 0xaab: 0x0d7e, 0xaac: 0x16ef, 0xaad: 0x0d86, 0xaae: 0x060e, 0xaaf: 0x0d92, + 0xab0: 0x16f4, 0xab1: 0x0d96, 0xab2: 0x0612, 0xab3: 0x0da2, 0xab4: 0x0dae, 0xab5: 0x0dba, + 0xab6: 0x0dbe, 0xab7: 0x16f9, 0xab8: 0x1690, 0xab9: 0x16fe, 0xaba: 0x0dde, 0xabb: 0x1703, + 0xabc: 0x0dea, 0xabd: 0x0df2, 0xabe: 0x0de2, 0xabf: 0x0dfe, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0e0e, 0xac1: 0x0e1e, 0xac2: 0x0e12, 0xac3: 0x0e16, 0xac4: 0x0e22, 0xac5: 0x0e26, + 0xac6: 0x1708, 0xac7: 0x0e0a, 0xac8: 0x0e3e, 0xac9: 0x0e42, 0xaca: 0x0616, 0xacb: 0x0e56, + 0xacc: 0x0e52, 0xacd: 0x170d, 0xace: 0x0e36, 0xacf: 0x0e72, 0xad0: 0x1712, 0xad1: 0x1717, + 0xad2: 0x0e76, 0xad3: 0x0e8a, 0xad4: 0x0e86, 0xad5: 0x0e82, 0xad6: 0x061a, 0xad7: 0x0e8e, + 0xad8: 0x0e9e, 0xad9: 0x0e9a, 0xada: 0x0ea6, 0xadb: 0x1654, 0xadc: 0x0eb6, 0xadd: 0x171c, + 0xade: 0x0ec2, 0xadf: 0x1726, 0xae0: 0x0ed6, 0xae1: 0x0ee2, 0xae2: 0x0ef6, 0xae3: 0x172b, + 0xae4: 0x0f0a, 0xae5: 0x0f0e, 0xae6: 0x1730, 0xae7: 0x1735, 0xae8: 0x0f2a, 0xae9: 0x0f3a, + 0xaea: 0x061e, 0xaeb: 0x0f3e, 0xaec: 0x0622, 0xaed: 0x0622, 0xaee: 0x0f56, 0xaef: 0x0f5a, + 0xaf0: 0x0f62, 0xaf1: 0x0f66, 0xaf2: 0x0f72, 0xaf3: 0x0626, 0xaf4: 0x0f8a, 0xaf5: 0x173a, + 0xaf6: 0x0fa6, 0xaf7: 0x173f, 0xaf8: 0x0fb2, 0xaf9: 0x16a4, 0xafa: 0x0fc2, 0xafb: 0x1744, + 0xafc: 0x1749, 0xafd: 0x174e, 0xafe: 0x062a, 0xaff: 0x062e, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0ffa, 0xb01: 0x1758, 0xb02: 0x1753, 0xb03: 0x175d, 0xb04: 0x1762, 0xb05: 0x1002, + 0xb06: 0x1006, 0xb07: 0x1006, 0xb08: 0x100e, 0xb09: 0x0636, 0xb0a: 0x1012, 0xb0b: 0x063a, + 0xb0c: 0x063e, 0xb0d: 0x176c, 0xb0e: 0x1026, 0xb0f: 0x102e, 0xb10: 0x103a, 0xb11: 0x0642, + 0xb12: 0x1771, 0xb13: 0x105e, 0xb14: 0x1776, 0xb15: 0x177b, 0xb16: 0x107e, 0xb17: 0x1096, + 0xb18: 0x0646, 0xb19: 0x109e, 0xb1a: 0x10a2, 0xb1b: 0x10a6, 0xb1c: 0x1780, 0xb1d: 0x1785, + 0xb1e: 0x1785, 0xb1f: 0x10be, 0xb20: 0x064a, 0xb21: 0x178a, 0xb22: 0x10d2, 0xb23: 0x10d6, + 0xb24: 0x064e, 0xb25: 0x178f, 0xb26: 0x10f2, 0xb27: 0x0652, 0xb28: 0x1102, 0xb29: 0x10fa, + 0xb2a: 0x110a, 0xb2b: 0x1799, 0xb2c: 0x1122, 0xb2d: 0x0656, 0xb2e: 0x112e, 0xb2f: 0x1136, + 0xb30: 0x1146, 0xb31: 0x065a, 0xb32: 0x17a3, 0xb33: 0x17a8, 0xb34: 0x065e, 0xb35: 0x17ad, + 0xb36: 0x115e, 0xb37: 0x17b2, 0xb38: 0x116a, 0xb39: 0x1176, 0xb3a: 0x117e, 0xb3b: 0x17b7, + 0xb3c: 0x17bc, 0xb3d: 0x1192, 0xb3e: 0x17c1, 0xb3f: 0x119a, + // Block 0x2d, offset 0xb40 + 0xb40: 0x16d1, 0xb41: 0x0662, 0xb42: 0x11b2, 0xb43: 0x11b6, 0xb44: 0x066a, 0xb45: 0x11ba, + 0xb46: 0x0a36, 0xb47: 0x17c6, 0xb48: 0x17cb, 0xb49: 0x16d6, 0xb4a: 0x16db, 0xb4b: 0x11da, + 0xb4c: 0x11de, 0xb4d: 0x13f6, 0xb4e: 0x066e, 0xb4f: 0x120a, 0xb50: 0x1206, 0xb51: 0x120e, + 0xb52: 0x0842, 0xb53: 0x1212, 0xb54: 0x1216, 0xb55: 0x121a, 0xb56: 0x1222, 0xb57: 0x17d0, + 0xb58: 0x121e, 0xb59: 0x1226, 0xb5a: 0x123a, 0xb5b: 0x123e, 0xb5c: 0x122a, 0xb5d: 0x1242, + 0xb5e: 0x1256, 0xb5f: 0x126a, 0xb60: 0x1236, 0xb61: 0x124a, 0xb62: 0x124e, 0xb63: 0x1252, + 0xb64: 0x17d5, 0xb65: 0x17df, 0xb66: 0x17da, 0xb67: 0x0672, 0xb68: 0x1272, 0xb69: 0x1276, + 0xb6a: 0x127e, 0xb6b: 0x17f3, 0xb6c: 0x1282, 0xb6d: 0x17e4, 0xb6e: 0x0676, 0xb6f: 0x067a, + 0xb70: 0x17e9, 0xb71: 0x17ee, 0xb72: 0x067e, 0xb73: 0x12a2, 0xb74: 0x12a6, 0xb75: 0x12aa, + 0xb76: 0x12ae, 0xb77: 0x12ba, 0xb78: 0x12b6, 0xb79: 0x12c2, 0xb7a: 0x12be, 0xb7b: 0x12ce, + 0xb7c: 0x12c6, 0xb7d: 0x12ca, 0xb7e: 0x12d2, 0xb7f: 0x0682, + // Block 0x2e, offset 0xb80 + 0xb80: 0x12da, 0xb81: 0x12de, 0xb82: 0x0686, 0xb83: 0x12ee, 0xb84: 0x12f2, 0xb85: 0x17f8, + 0xb86: 0x12fe, 0xb87: 0x1302, 0xb88: 0x068a, 0xb89: 0x130e, 0xb8a: 0x05be, 0xb8b: 0x17fd, + 0xb8c: 0x1802, 0xb8d: 0x068e, 0xb8e: 0x0692, 0xb8f: 0x133a, 0xb90: 0x1352, 0xb91: 0x136e, + 0xb92: 0x137e, 0xb93: 0x1807, 0xb94: 0x1392, 0xb95: 0x1396, 0xb96: 0x13ae, 0xb97: 0x13ba, + 0xb98: 0x1811, 0xb99: 0x1663, 0xb9a: 0x13c6, 0xb9b: 0x13c2, 0xb9c: 0x13ce, 0xb9d: 0x1668, + 0xb9e: 0x13da, 0xb9f: 0x13e6, 0xba0: 0x1816, 0xba1: 0x181b, 0xba2: 0x1426, 0xba3: 0x1432, + 0xba4: 0x143a, 0xba5: 0x1820, 0xba6: 0x143e, 0xba7: 0x146a, 0xba8: 0x1476, 0xba9: 0x147a, + 0xbaa: 0x1472, 0xbab: 0x1486, 0xbac: 0x148a, 0xbad: 0x1825, 0xbae: 0x1496, 0xbaf: 0x0696, + 0xbb0: 0x149e, 0xbb1: 0x182a, 0xbb2: 0x069a, 0xbb3: 0x14d6, 0xbb4: 0x0ac6, 0xbb5: 0x14ee, + 0xbb6: 0x182f, 0xbb7: 0x1839, 0xbb8: 0x069e, 0xbb9: 0x06a2, 0xbba: 0x1516, 0xbbb: 0x183e, + 0xbbc: 0x06a6, 0xbbd: 0x1843, 0xbbe: 0x152e, 0xbbf: 0x152e, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x1536, 0xbc1: 0x1848, 0xbc2: 0x154e, 0xbc3: 0x06aa, 0xbc4: 0x155e, 0xbc5: 0x156a, + 0xbc6: 0x1572, 0xbc7: 0x157a, 0xbc8: 0x06ae, 0xbc9: 0x184d, 0xbca: 0x158e, 0xbcb: 0x15aa, + 0xbcc: 0x15b6, 0xbcd: 0x06b2, 0xbce: 0x06b6, 0xbcf: 0x15ba, 0xbd0: 0x1852, 0xbd1: 0x06ba, + 0xbd2: 0x1857, 0xbd3: 0x185c, 0xbd4: 0x1861, 0xbd5: 0x15de, 0xbd6: 0x06be, 0xbd7: 0x15f2, + 0xbd8: 0x15fa, 0xbd9: 0x15fe, 0xbda: 0x1606, 0xbdb: 0x160e, 0xbdc: 0x1616, 0xbdd: 0x186b, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2e, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2f, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x30, 0xcb: 0x31, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x32, + 0xd0: 0x09, 0xd1: 0x33, 0xd2: 0x34, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x35, + 0xd8: 0x36, 0xd9: 0x0c, 0xdb: 0x37, 0xdc: 0x38, 0xdd: 0x39, 0xdf: 0x3a, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x3b, 0x121: 0x3c, 0x123: 0x0d, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, + 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, + 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, + 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, + // Block 0x5, offset 0x140 + 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, + 0x14d: 0x5c, + 0x15c: 0x5d, 0x15f: 0x5e, + 0x162: 0x5f, 0x164: 0x60, + 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16b: 0x64, 0x16c: 0x0e, 0x16d: 0x65, 0x16e: 0x66, 0x16f: 0x67, + 0x170: 0x68, 0x173: 0x69, 0x177: 0x0f, + 0x178: 0x10, 0x179: 0x11, 0x17a: 0x12, 0x17b: 0x13, 0x17c: 0x14, 0x17d: 0x15, 0x17e: 0x16, 0x17f: 0x17, + // Block 0x6, offset 0x180 + 0x180: 0x6a, 0x183: 0x6b, 0x184: 0x6c, 0x186: 0x6d, 0x187: 0x6e, + 0x188: 0x6f, 0x189: 0x18, 0x18a: 0x19, 0x18b: 0x70, 0x18c: 0x71, + 0x1ab: 0x72, + 0x1b3: 0x73, 0x1b5: 0x74, 0x1b7: 0x75, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x76, 0x1c1: 0x1a, 0x1c2: 0x1b, 0x1c3: 0x1c, 0x1c4: 0x77, 0x1c5: 0x78, + 0x1c9: 0x79, 0x1cc: 0x7a, 0x1cd: 0x7b, + // Block 0x8, offset 0x200 + 0x219: 0x7c, 0x21a: 0x7d, 0x21b: 0x7e, + 0x220: 0x7f, 0x223: 0x80, 0x224: 0x81, 0x225: 0x82, 0x226: 0x83, 0x227: 0x84, + 0x22a: 0x85, 0x22b: 0x86, 0x22f: 0x87, + 0x230: 0x88, 0x231: 0x89, 0x232: 0x8a, 0x233: 0x8b, 0x234: 0x8c, 0x235: 0x8d, 0x236: 0x8e, 0x237: 0x88, + 0x238: 0x89, 0x239: 0x8a, 0x23a: 0x8b, 0x23b: 0x8c, 0x23c: 0x8d, 0x23d: 0x8e, 0x23e: 0x88, 0x23f: 0x89, + // Block 0x9, offset 0x240 + 0x240: 0x8a, 0x241: 0x8b, 0x242: 0x8c, 0x243: 0x8d, 0x244: 0x8e, 0x245: 0x88, 0x246: 0x89, 0x247: 0x8a, + 0x248: 0x8b, 0x249: 0x8c, 0x24a: 0x8d, 0x24b: 0x8e, 0x24c: 0x88, 0x24d: 0x89, 0x24e: 0x8a, 0x24f: 0x8b, + 0x250: 0x8c, 0x251: 0x8d, 0x252: 0x8e, 0x253: 0x88, 0x254: 0x89, 0x255: 0x8a, 0x256: 0x8b, 0x257: 0x8c, + 0x258: 0x8d, 0x259: 0x8e, 0x25a: 0x88, 0x25b: 0x89, 0x25c: 0x8a, 0x25d: 0x8b, 0x25e: 0x8c, 0x25f: 0x8d, + 0x260: 0x8e, 0x261: 0x88, 0x262: 0x89, 0x263: 0x8a, 0x264: 0x8b, 0x265: 0x8c, 0x266: 0x8d, 0x267: 0x8e, + 0x268: 0x88, 0x269: 0x89, 0x26a: 0x8a, 0x26b: 0x8b, 0x26c: 0x8c, 0x26d: 0x8d, 0x26e: 0x8e, 0x26f: 0x88, + 0x270: 0x89, 0x271: 0x8a, 0x272: 0x8b, 0x273: 0x8c, 0x274: 0x8d, 0x275: 0x8e, 0x276: 0x88, 0x277: 0x89, + 0x278: 0x8a, 0x279: 0x8b, 0x27a: 0x8c, 0x27b: 0x8d, 0x27c: 0x8e, 0x27d: 0x88, 0x27e: 0x89, 0x27f: 0x8a, + // Block 0xa, offset 0x280 + 0x280: 0x8b, 0x281: 0x8c, 0x282: 0x8d, 0x283: 0x8e, 0x284: 0x88, 0x285: 0x89, 0x286: 0x8a, 0x287: 0x8b, + 0x288: 0x8c, 0x289: 0x8d, 0x28a: 0x8e, 0x28b: 0x88, 0x28c: 0x89, 0x28d: 0x8a, 0x28e: 0x8b, 0x28f: 0x8c, + 0x290: 0x8d, 0x291: 0x8e, 0x292: 0x88, 0x293: 0x89, 0x294: 0x8a, 0x295: 0x8b, 0x296: 0x8c, 0x297: 0x8d, + 0x298: 0x8e, 0x299: 0x88, 0x29a: 0x89, 0x29b: 0x8a, 0x29c: 0x8b, 0x29d: 0x8c, 0x29e: 0x8d, 0x29f: 0x8e, + 0x2a0: 0x88, 0x2a1: 0x89, 0x2a2: 0x8a, 0x2a3: 0x8b, 0x2a4: 0x8c, 0x2a5: 0x8d, 0x2a6: 0x8e, 0x2a7: 0x88, + 0x2a8: 0x89, 0x2a9: 0x8a, 0x2aa: 0x8b, 0x2ab: 0x8c, 0x2ac: 0x8d, 0x2ad: 0x8e, 0x2ae: 0x88, 0x2af: 0x89, + 0x2b0: 0x8a, 0x2b1: 0x8b, 0x2b2: 0x8c, 0x2b3: 0x8d, 0x2b4: 0x8e, 0x2b5: 0x88, 0x2b6: 0x89, 0x2b7: 0x8a, + 0x2b8: 0x8b, 0x2b9: 0x8c, 0x2ba: 0x8d, 0x2bb: 0x8e, 0x2bc: 0x88, 0x2bd: 0x89, 0x2be: 0x8a, 0x2bf: 0x8b, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8c, 0x2c1: 0x8d, 0x2c2: 0x8e, 0x2c3: 0x88, 0x2c4: 0x89, 0x2c5: 0x8a, 0x2c6: 0x8b, 0x2c7: 0x8c, + 0x2c8: 0x8d, 0x2c9: 0x8e, 0x2ca: 0x88, 0x2cb: 0x89, 0x2cc: 0x8a, 0x2cd: 0x8b, 0x2ce: 0x8c, 0x2cf: 0x8d, + 0x2d0: 0x8e, 0x2d1: 0x88, 0x2d2: 0x89, 0x2d3: 0x8a, 0x2d4: 0x8b, 0x2d5: 0x8c, 0x2d6: 0x8d, 0x2d7: 0x8e, + 0x2d8: 0x88, 0x2d9: 0x89, 0x2da: 0x8a, 0x2db: 0x8b, 0x2dc: 0x8c, 0x2dd: 0x8d, 0x2de: 0x8f, + // Block 0xc, offset 0x300 + 0x324: 0x1d, 0x325: 0x1e, 0x326: 0x1f, 0x327: 0x20, + 0x328: 0x21, 0x329: 0x22, 0x32a: 0x23, 0x32b: 0x24, 0x32c: 0x90, 0x32d: 0x91, 0x32e: 0x92, + 0x331: 0x93, 0x332: 0x94, 0x333: 0x95, 0x334: 0x96, + 0x338: 0x97, 0x339: 0x98, 0x33a: 0x99, 0x33b: 0x9a, 0x33e: 0x9b, 0x33f: 0x9c, + // Block 0xd, offset 0x340 + 0x347: 0x9d, + 0x34b: 0x9e, 0x34d: 0x9f, + 0x368: 0xa0, 0x36b: 0xa1, + 0x374: 0xa2, + 0x37a: 0xa3, 0x37d: 0xa4, + // Block 0xe, offset 0x380 + 0x381: 0xa5, 0x382: 0xa6, 0x384: 0xa7, 0x385: 0x83, 0x387: 0xa8, + 0x388: 0xa9, 0x38b: 0xaa, 0x38c: 0xab, 0x38d: 0xac, + 0x391: 0xad, 0x392: 0xae, 0x393: 0xaf, 0x396: 0xb0, 0x397: 0xb1, + 0x398: 0x74, 0x39a: 0xb2, 0x39c: 0xb3, + 0x3a0: 0xb4, 0x3a4: 0xb5, 0x3a5: 0xb6, 0x3a7: 0xb7, + 0x3a8: 0xb8, 0x3a9: 0xb9, 0x3aa: 0xba, + 0x3b0: 0x74, 0x3b5: 0xbb, 0x3b6: 0xbc, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xbd, 0x3ec: 0xbe, + 0x3ff: 0xbf, + // Block 0x10, offset 0x400 + 0x432: 0xc0, + // Block 0x11, offset 0x440 + 0x445: 0xc1, 0x446: 0xc2, 0x447: 0xc3, + 0x449: 0xc4, + // Block 0x12, offset 0x480 + 0x480: 0xc5, 0x484: 0xbe, + 0x48b: 0xc6, + 0x4a3: 0xc7, 0x4a5: 0xc8, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xc9, + // Block 0x14, offset 0x500 + 0x520: 0x25, 0x521: 0x26, 0x522: 0x27, 0x523: 0x28, 0x524: 0x29, 0x525: 0x2a, 0x526: 0x2b, 0x527: 0x2c, + 0x528: 0x2d, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 156 entries, 312 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x63, 0x68, 0x6a, 0x72, 0x79, 0x7c, 0x84, 0x88, 0x8c, 0x8e, 0x90, 0x99, 0x9d, 0xa4, 0xa9, 0xac, 0xb6, 0xb9, 0xc0, 0xc8, 0xcb, 0xcd, 0xd0, 0xd2, 0xd7, 0xe8, 0xf4, 0xf6, 0xfc, 0xfe, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10b, 0x10e, 0x110, 0x113, 0x116, 0x11a, 0x120, 0x122, 0x12b, 0x12d, 0x130, 0x132, 0x13d, 0x141, 0x14f, 0x152, 0x158, 0x15e, 0x169, 0x16d, 0x16f, 0x171, 0x173, 0x175, 0x177, 0x17d, 0x181, 0x183, 0x185, 0x18d, 0x191, 0x194, 0x196, 0x198, 0x19b, 0x19e, 0x1a0, 0x1a2, 0x1a4, 0x1a6, 0x1ac, 0x1af, 0x1b1, 0x1b8, 0x1be, 0x1c4, 0x1cc, 0x1d2, 0x1d8, 0x1de, 0x1e2, 0x1f0, 0x1f9, 0x1fc, 0x1ff, 0x201, 0x204, 0x206, 0x20a, 0x20f, 0x211, 0x213, 0x218, 0x21e, 0x220, 0x222, 0x224, 0x22a, 0x22d, 0x22f, 0x231, 0x237, 0x23a, 0x242, 0x249, 0x24c, 0x24f, 0x251, 0x254, 0x25c, 0x260, 0x267, 0x26a, 0x270, 0x272, 0x275, 0x277, 0x27a, 0x27f, 0x281, 0x283, 0x285, 0x287, 0x289, 0x28c, 0x28e, 0x290, 0x292, 0x294, 0x296, 0x2a3, 0x2ad, 0x2af, 0x2b1, 0x2b7, 0x2b9, 0x2bb, 0x2be} + +// nfcSparseValues: 704 entries, 2816 bytes +var nfcSparseValues = [704]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46f9, lo: 0xa0, hi: 0xa1}, + {value: 0x472b, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4857, lo: 0x8a, hi: 0x8a}, + {value: 0x4875, lo: 0x8b, hi: 0x8b}, + {value: 0x36de, lo: 0x8c, hi: 0x8c}, + {value: 0x36f6, lo: 0x8d, hi: 0x8d}, + {value: 0x488d, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3714, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37bc, lo: 0x90, hi: 0x90}, + {value: 0x37c8, lo: 0x91, hi: 0x91}, + {value: 0x37b6, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x382e, lo: 0x97, hi: 0x97}, + {value: 0x37f8, lo: 0x9c, hi: 0x9c}, + {value: 0x37e0, lo: 0x9d, hi: 0x9d}, + {value: 0x380a, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x3834, lo: 0xb6, hi: 0xb6}, + {value: 0x383a, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8114, lo: 0x81, hi: 0x82}, + {value: 0x8133, lo: 0x84, hi: 0x84}, + {value: 0x812e, lo: 0x85, hi: 0x85}, + {value: 0x810e, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8133, lo: 0x90, hi: 0x97}, + {value: 0x811a, lo: 0x98, hi: 0x98}, + {value: 0x811b, lo: 0x99, hi: 0x99}, + {value: 0x811c, lo: 0x9a, hi: 0x9a}, + {value: 0x3858, lo: 0xa2, hi: 0xa2}, + {value: 0x385e, lo: 0xa3, hi: 0xa3}, + {value: 0x386a, lo: 0xa4, hi: 0xa4}, + {value: 0x3864, lo: 0xa5, hi: 0xa5}, + {value: 0x3870, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x3882, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x3876, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x387c, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8133, lo: 0x96, hi: 0x9c}, + {value: 0x8133, lo: 0x9f, hi: 0xa2}, + {value: 0x812e, lo: 0xa3, hi: 0xa3}, + {value: 0x8133, lo: 0xa4, hi: 0xa4}, + {value: 0x8133, lo: 0xa7, hi: 0xa8}, + {value: 0x812e, lo: 0xaa, hi: 0xaa}, + {value: 0x8133, lo: 0xab, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x8120, lo: 0x91, hi: 0x91}, + {value: 0x8133, lo: 0xb0, hi: 0xb0}, + {value: 0x812e, lo: 0xb1, hi: 0xb1}, + {value: 0x8133, lo: 0xb2, hi: 0xb3}, + {value: 0x812e, lo: 0xb4, hi: 0xb4}, + {value: 0x8133, lo: 0xb5, hi: 0xb6}, + {value: 0x812e, lo: 0xb7, hi: 0xb9}, + {value: 0x8133, lo: 0xba, hi: 0xba}, + {value: 0x812e, lo: 0xbb, hi: 0xbc}, + {value: 0x8133, lo: 0xbd, hi: 0xbd}, + {value: 0x812e, lo: 0xbe, hi: 0xbe}, + {value: 0x8133, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8133, lo: 0x80, hi: 0x80}, + {value: 0x8133, lo: 0x81, hi: 0x81}, + {value: 0x812e, lo: 0x82, hi: 0x83}, + {value: 0x812e, lo: 0x84, hi: 0x85}, + {value: 0x812e, lo: 0x86, hi: 0x87}, + {value: 0x812e, lo: 0x88, hi: 0x89}, + {value: 0x8133, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x8133, lo: 0xab, hi: 0xb1}, + {value: 0x812e, lo: 0xb2, hi: 0xb2}, + {value: 0x8133, lo: 0xb3, hi: 0xb3}, + {value: 0x812e, lo: 0xbd, hi: 0xbd}, + // Block 0xd, offset 0x63 + {value: 0x0000, lo: 0x04}, + {value: 0x8133, lo: 0x96, hi: 0x99}, + {value: 0x8133, lo: 0x9b, hi: 0xa3}, + {value: 0x8133, lo: 0xa5, hi: 0xa7}, + {value: 0x8133, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x68 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x6a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3eef, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ef7, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3eff, lo: 0xb4, hi: 0xb4}, + {value: 0x9903, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x72 + {value: 0x0008, lo: 0x06}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x8133, lo: 0x91, hi: 0x91}, + {value: 0x812e, lo: 0x92, hi: 0x92}, + {value: 0x8133, lo: 0x93, hi: 0x93}, + {value: 0x8133, lo: 0x94, hi: 0x94}, + {value: 0x4533, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x79 + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x7c + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cab, lo: 0x8b, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x4573, lo: 0x9c, hi: 0x9d}, + {value: 0x4583, lo: 0x9f, hi: 0x9f}, + {value: 0x8133, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x84 + {value: 0x0000, lo: 0x03}, + {value: 0x45ab, lo: 0xb3, hi: 0xb3}, + {value: 0x45b3, lo: 0xb6, hi: 0xb6}, + {value: 0x8103, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0x88 + {value: 0x0008, lo: 0x03}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x458b, lo: 0x99, hi: 0x9b}, + {value: 0x45a3, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0x8c + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0x8e + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0x90 + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cc3, lo: 0x88, hi: 0x88}, + {value: 0x2cbb, lo: 0x8b, hi: 0x8b}, + {value: 0x2ccb, lo: 0x8c, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45bb, lo: 0x9c, hi: 0x9c}, + {value: 0x45c3, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0x99 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cd3, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0x9d + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cdb, lo: 0x8a, hi: 0x8a}, + {value: 0x2ceb, lo: 0x8b, hi: 0x8b}, + {value: 0x2ce3, lo: 0x8c, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xa4 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3f07, lo: 0x88, hi: 0x88}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x8121, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xa9 + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xac + {value: 0x0000, lo: 0x09}, + {value: 0x2cf3, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cfb, lo: 0x87, hi: 0x87}, + {value: 0x2d03, lo: 0x88, hi: 0x88}, + {value: 0x2f67, lo: 0x8a, hi: 0x8a}, + {value: 0x2def, lo: 0x8b, hi: 0x8b}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2d0b, lo: 0x8a, hi: 0x8a}, + {value: 0x2d1b, lo: 0x8b, hi: 0x8b}, + {value: 0x2d13, lo: 0x8c, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xc0 + {value: 0x6bdd, lo: 0x07}, + {value: 0x9905, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3f0f, lo: 0x9a, hi: 0x9a}, + {value: 0x2f6f, lo: 0x9c, hi: 0x9c}, + {value: 0x2dfa, lo: 0x9d, hi: 0x9d}, + {value: 0x2d23, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xc8 + {value: 0x0000, lo: 0x02}, + {value: 0x8123, lo: 0xb8, hi: 0xb9}, + {value: 0x8105, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xcb + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xcd + {value: 0x0000, lo: 0x02}, + {value: 0x8125, lo: 0xb8, hi: 0xb9}, + {value: 0x8105, lo: 0xba, hi: 0xba}, + // Block 0x23, offset 0xd0 + {value: 0x0000, lo: 0x01}, + {value: 0x8126, lo: 0x88, hi: 0x8b}, + // Block 0x24, offset 0xd2 + {value: 0x0000, lo: 0x04}, + {value: 0x812e, lo: 0x98, hi: 0x99}, + {value: 0x812e, lo: 0xb5, hi: 0xb5}, + {value: 0x812e, lo: 0xb7, hi: 0xb7}, + {value: 0x812c, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xd7 + {value: 0x0000, lo: 0x10}, + {value: 0x264a, lo: 0x83, hi: 0x83}, + {value: 0x2651, lo: 0x8d, hi: 0x8d}, + {value: 0x2658, lo: 0x92, hi: 0x92}, + {value: 0x265f, lo: 0x97, hi: 0x97}, + {value: 0x2666, lo: 0x9c, hi: 0x9c}, + {value: 0x2643, lo: 0xa9, hi: 0xa9}, + {value: 0x8127, lo: 0xb1, hi: 0xb1}, + {value: 0x8128, lo: 0xb2, hi: 0xb2}, + {value: 0x4a9b, lo: 0xb3, hi: 0xb3}, + {value: 0x8129, lo: 0xb4, hi: 0xb4}, + {value: 0x4aa4, lo: 0xb5, hi: 0xb5}, + {value: 0x45cb, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45d3, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8128, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0xe8 + {value: 0x0000, lo: 0x0b}, + {value: 0x8128, lo: 0x80, hi: 0x80}, + {value: 0x4aad, lo: 0x81, hi: 0x81}, + {value: 0x8133, lo: 0x82, hi: 0x83}, + {value: 0x8105, lo: 0x84, hi: 0x84}, + {value: 0x8133, lo: 0x86, hi: 0x87}, + {value: 0x2674, lo: 0x93, hi: 0x93}, + {value: 0x267b, lo: 0x9d, hi: 0x9d}, + {value: 0x2682, lo: 0xa2, hi: 0xa2}, + {value: 0x2689, lo: 0xa7, hi: 0xa7}, + {value: 0x2690, lo: 0xac, hi: 0xac}, + {value: 0x266d, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0xf4 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0xf6 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d2b, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8103, lo: 0xb7, hi: 0xb7}, + {value: 0x8105, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0xfc + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0xfe + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0x100 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x102 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x104 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x106 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x108 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x94, hi: 0x94}, + {value: 0x8105, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x10b + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x92, hi: 0x92}, + {value: 0x8133, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x10e + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x110 + {value: 0x0004, lo: 0x02}, + {value: 0x812f, lo: 0xb9, hi: 0xba}, + {value: 0x812e, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x113 + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0x97, hi: 0x97}, + {value: 0x812e, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x116 + {value: 0x0000, lo: 0x03}, + {value: 0x8105, lo: 0xa0, hi: 0xa0}, + {value: 0x8133, lo: 0xb5, hi: 0xbc}, + {value: 0x812e, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x11a + {value: 0x0000, lo: 0x05}, + {value: 0x8133, lo: 0xb0, hi: 0xb4}, + {value: 0x812e, lo: 0xb5, hi: 0xba}, + {value: 0x8133, lo: 0xbb, hi: 0xbc}, + {value: 0x812e, lo: 0xbd, hi: 0xbd}, + {value: 0x812e, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x120 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x80, hi: 0x80}, + // Block 0x37, offset 0x122 + {value: 0x0000, lo: 0x08}, + {value: 0x2d73, lo: 0x80, hi: 0x80}, + {value: 0x2d7b, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d83, lo: 0x83, hi: 0x83}, + {value: 0x8105, lo: 0x84, hi: 0x84}, + {value: 0x8133, lo: 0xab, hi: 0xab}, + {value: 0x812e, lo: 0xac, hi: 0xac}, + {value: 0x8133, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x12b + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x12d + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0xa6, hi: 0xa6}, + {value: 0x8105, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x130 + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x132 + {value: 0x0000, lo: 0x0a}, + {value: 0x8133, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812e, lo: 0x95, hi: 0x99}, + {value: 0x8133, lo: 0x9a, hi: 0x9b}, + {value: 0x812e, lo: 0x9c, hi: 0x9f}, + {value: 0x8133, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x8133, lo: 0xb4, hi: 0xb4}, + {value: 0x8133, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x13d + {value: 0x0004, lo: 0x03}, + {value: 0x0436, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3d, offset 0x141 + {value: 0x0000, lo: 0x0d}, + {value: 0x8133, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8133, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8133, lo: 0x9b, hi: 0x9c}, + {value: 0x8133, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8133, lo: 0xa7, hi: 0xa7}, + {value: 0x812e, lo: 0xa8, hi: 0xa8}, + {value: 0x8133, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812e, lo: 0xac, hi: 0xaf}, + {value: 0x8133, lo: 0xb0, hi: 0xb0}, + // Block 0x3e, offset 0x14f + {value: 0x4292, lo: 0x02}, + {value: 0x01bb, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x3f, offset 0x152 + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bd0, lo: 0x9a, hi: 0x9b}, + {value: 0x3bde, lo: 0xae, hi: 0xae}, + // Block 0x40, offset 0x158 + {value: 0x000e, lo: 0x05}, + {value: 0x3be5, lo: 0x8d, hi: 0x8e}, + {value: 0x3bec, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x41, offset 0x15e + {value: 0x63f1, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3bfa, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3c01, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3c08, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3c0f, lo: 0xa4, hi: 0xa5}, + {value: 0x3c16, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x42, offset 0x169 + {value: 0x0007, lo: 0x03}, + {value: 0x3c7f, lo: 0xa0, hi: 0xa1}, + {value: 0x3ca9, lo: 0xa2, hi: 0xa3}, + {value: 0x3cd3, lo: 0xaa, hi: 0xad}, + // Block 0x43, offset 0x16d + {value: 0x0004, lo: 0x01}, + {value: 0x048e, lo: 0xa9, hi: 0xaa}, + // Block 0x44, offset 0x16f + {value: 0x0000, lo: 0x01}, + {value: 0x44f4, lo: 0x9c, hi: 0x9c}, + // Block 0x45, offset 0x171 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xaf, hi: 0xb1}, + // Block 0x46, offset 0x173 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x47, offset 0x175 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xa0, hi: 0xbf}, + // Block 0x48, offset 0x177 + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x8134, lo: 0xac, hi: 0xac}, + {value: 0x812f, lo: 0xad, hi: 0xad}, + {value: 0x8130, lo: 0xae, hi: 0xaf}, + // Block 0x49, offset 0x17d + {value: 0x0000, lo: 0x03}, + {value: 0x4ab6, lo: 0xb3, hi: 0xb3}, + {value: 0x4ab6, lo: 0xb5, hi: 0xb6}, + {value: 0x4ab6, lo: 0xba, hi: 0xbf}, + // Block 0x4a, offset 0x181 + {value: 0x0000, lo: 0x01}, + {value: 0x4ab6, lo: 0x8f, hi: 0xa3}, + // Block 0x4b, offset 0x183 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4c, offset 0x185 + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4d, offset 0x18d + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4e, offset 0x191 + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0xaf, hi: 0xaf}, + {value: 0x8133, lo: 0xb4, hi: 0xbd}, + // Block 0x4f, offset 0x194 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0x9e, hi: 0x9f}, + // Block 0x50, offset 0x196 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xb0, hi: 0xb1}, + // Block 0x51, offset 0x198 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x86, hi: 0x86}, + {value: 0x8105, lo: 0xac, hi: 0xac}, + // Block 0x52, offset 0x19b + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x84, hi: 0x84}, + {value: 0x8133, lo: 0xa0, hi: 0xb1}, + // Block 0x53, offset 0x19e + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0xab, hi: 0xad}, + // Block 0x54, offset 0x1a0 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x93, hi: 0x93}, + // Block 0x55, offset 0x1a2 + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0xb3, hi: 0xb3}, + // Block 0x56, offset 0x1a4 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x80, hi: 0x80}, + // Block 0x57, offset 0x1a6 + {value: 0x0000, lo: 0x05}, + {value: 0x8133, lo: 0xb0, hi: 0xb0}, + {value: 0x8133, lo: 0xb2, hi: 0xb3}, + {value: 0x812e, lo: 0xb4, hi: 0xb4}, + {value: 0x8133, lo: 0xb7, hi: 0xb8}, + {value: 0x8133, lo: 0xbe, hi: 0xbf}, + // Block 0x58, offset 0x1ac + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0x81, hi: 0x81}, + {value: 0x8105, lo: 0xb6, hi: 0xb6}, + // Block 0x59, offset 0x1af + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xad, hi: 0xad}, + // Block 0x5a, offset 0x1b1 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5b, offset 0x1b8 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5c, offset 0x1be + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5d, offset 0x1c4 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5e, offset 0x1cc + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x5f, offset 0x1d2 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x60, offset 0x1d8 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x61, offset 0x1de + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x62, offset 0x1e2 + {value: 0x0006, lo: 0x0d}, + {value: 0x43a7, lo: 0x9d, hi: 0x9d}, + {value: 0x8116, lo: 0x9e, hi: 0x9e}, + {value: 0x4419, lo: 0x9f, hi: 0x9f}, + {value: 0x4407, lo: 0xaa, hi: 0xab}, + {value: 0x450b, lo: 0xac, hi: 0xac}, + {value: 0x4513, lo: 0xad, hi: 0xad}, + {value: 0x435f, lo: 0xae, hi: 0xb1}, + {value: 0x437d, lo: 0xb2, hi: 0xb4}, + {value: 0x4395, lo: 0xb5, hi: 0xb6}, + {value: 0x43a1, lo: 0xb8, hi: 0xb8}, + {value: 0x43ad, lo: 0xb9, hi: 0xbb}, + {value: 0x43c5, lo: 0xbc, hi: 0xbc}, + {value: 0x43cb, lo: 0xbe, hi: 0xbe}, + // Block 0x63, offset 0x1f0 + {value: 0x0006, lo: 0x08}, + {value: 0x43d1, lo: 0x80, hi: 0x81}, + {value: 0x43dd, lo: 0x83, hi: 0x84}, + {value: 0x43ef, lo: 0x86, hi: 0x89}, + {value: 0x4413, lo: 0x8a, hi: 0x8a}, + {value: 0x438f, lo: 0x8b, hi: 0x8b}, + {value: 0x4377, lo: 0x8c, hi: 0x8c}, + {value: 0x43bf, lo: 0x8d, hi: 0x8d}, + {value: 0x43e9, lo: 0x8e, hi: 0x8e}, + // Block 0x64, offset 0x1f9 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x65, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x66, offset 0x1ff + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x67, offset 0x201 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x68, offset 0x204 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x69, offset 0x206 + {value: 0x0000, lo: 0x03}, + {value: 0x8133, lo: 0xa0, hi: 0xa6}, + {value: 0x812e, lo: 0xa7, hi: 0xad}, + {value: 0x8133, lo: 0xae, hi: 0xaf}, + // Block 0x6a, offset 0x20a + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6b, offset 0x20f + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6c, offset 0x211 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6d, offset 0x213 + {value: 0x0000, lo: 0x04}, + {value: 0x4ab6, lo: 0x9e, hi: 0x9f}, + {value: 0x4ab6, lo: 0xa3, hi: 0xa3}, + {value: 0x4ab6, lo: 0xa5, hi: 0xa6}, + {value: 0x4ab6, lo: 0xaa, hi: 0xaf}, + // Block 0x6e, offset 0x218 + {value: 0x0000, lo: 0x05}, + {value: 0x4ab6, lo: 0x82, hi: 0x87}, + {value: 0x4ab6, lo: 0x8a, hi: 0x8f}, + {value: 0x4ab6, lo: 0x92, hi: 0x97}, + {value: 0x4ab6, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x6f, offset 0x21e + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0xbd, hi: 0xbd}, + // Block 0x70, offset 0x220 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0xa0, hi: 0xa0}, + // Block 0x71, offset 0x222 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xb6, hi: 0xba}, + // Block 0x72, offset 0x224 + {value: 0x002d, lo: 0x05}, + {value: 0x812e, lo: 0x8d, hi: 0x8d}, + {value: 0x8133, lo: 0x8f, hi: 0x8f}, + {value: 0x8133, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x73, offset 0x22a + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0xa5, hi: 0xa5}, + {value: 0x812e, lo: 0xa6, hi: 0xa6}, + // Block 0x74, offset 0x22d + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xa4, hi: 0xa7}, + // Block 0x75, offset 0x22f + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xab, hi: 0xac}, + // Block 0x76, offset 0x231 + {value: 0x0000, lo: 0x05}, + {value: 0x812e, lo: 0x86, hi: 0x87}, + {value: 0x8133, lo: 0x88, hi: 0x8a}, + {value: 0x812e, lo: 0x8b, hi: 0x8b}, + {value: 0x8133, lo: 0x8c, hi: 0x8c}, + {value: 0x812e, lo: 0x8d, hi: 0x90}, + // Block 0x77, offset 0x237 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x86, hi: 0x86}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x78, offset 0x23a + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x424f, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4259, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x4263, lo: 0xab, hi: 0xab}, + {value: 0x8105, lo: 0xb9, hi: 0xba}, + // Block 0x79, offset 0x242 + {value: 0x0000, lo: 0x06}, + {value: 0x8133, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d8b, lo: 0xae, hi: 0xae}, + {value: 0x2d95, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8105, lo: 0xb3, hi: 0xb4}, + // Block 0x7a, offset 0x249 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x80, hi: 0x80}, + {value: 0x8103, lo: 0x8a, hi: 0x8a}, + // Block 0x7b, offset 0x24c + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0xb5, hi: 0xb5}, + {value: 0x8103, lo: 0xb6, hi: 0xb6}, + // Block 0x7c, offset 0x24f + {value: 0x0002, lo: 0x01}, + {value: 0x8103, lo: 0xa9, hi: 0xaa}, + // Block 0x7d, offset 0x251 + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x7e, offset 0x254 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d9f, lo: 0x8b, hi: 0x8b}, + {value: 0x2da9, lo: 0x8c, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8133, lo: 0xa6, hi: 0xac}, + {value: 0x8133, lo: 0xb0, hi: 0xb4}, + // Block 0x7f, offset 0x25c + {value: 0x0000, lo: 0x03}, + {value: 0x8105, lo: 0x82, hi: 0x82}, + {value: 0x8103, lo: 0x86, hi: 0x86}, + {value: 0x8133, lo: 0x9e, hi: 0x9e}, + // Block 0x80, offset 0x260 + {value: 0x6b4d, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2dbd, lo: 0xbb, hi: 0xbb}, + {value: 0x2db3, lo: 0xbc, hi: 0xbd}, + {value: 0x2dc7, lo: 0xbe, hi: 0xbe}, + // Block 0x81, offset 0x267 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x82, hi: 0x82}, + {value: 0x8103, lo: 0x83, hi: 0x83}, + // Block 0x82, offset 0x26a + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dd1, lo: 0xba, hi: 0xba}, + {value: 0x2ddb, lo: 0xbb, hi: 0xbb}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x83, offset 0x270 + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0x80, hi: 0x80}, + // Block 0x84, offset 0x272 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0xb6, hi: 0xb6}, + {value: 0x8103, lo: 0xb7, hi: 0xb7}, + // Block 0x85, offset 0x275 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xab, hi: 0xab}, + // Block 0x86, offset 0x277 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0xb9, hi: 0xb9}, + {value: 0x8103, lo: 0xba, hi: 0xba}, + // Block 0x87, offset 0x27a + {value: 0x0000, lo: 0x04}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb5, hi: 0xb5}, + {value: 0x2de5, lo: 0xb8, hi: 0xb8}, + {value: 0x8105, lo: 0xbd, hi: 0xbe}, + // Block 0x88, offset 0x27f + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0x83, hi: 0x83}, + // Block 0x89, offset 0x281 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xa0, hi: 0xa0}, + // Block 0x8a, offset 0x283 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xb4, hi: 0xb4}, + // Block 0x8b, offset 0x285 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x87, hi: 0x87}, + // Block 0x8c, offset 0x287 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x99, hi: 0x99}, + // Block 0x8d, offset 0x289 + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0x82, hi: 0x82}, + {value: 0x8105, lo: 0x84, hi: 0x85}, + // Block 0x8e, offset 0x28c + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x97, hi: 0x97}, + // Block 0x8f, offset 0x28e + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x90, offset 0x290 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xb0, hi: 0xb6}, + // Block 0x91, offset 0x292 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb0, hi: 0xb1}, + // Block 0x92, offset 0x294 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x93, offset 0x296 + {value: 0x0000, lo: 0x0c}, + {value: 0x45e3, lo: 0x9e, hi: 0x9e}, + {value: 0x45ed, lo: 0x9f, hi: 0x9f}, + {value: 0x4621, lo: 0xa0, hi: 0xa0}, + {value: 0x462f, lo: 0xa1, hi: 0xa1}, + {value: 0x463d, lo: 0xa2, hi: 0xa2}, + {value: 0x464b, lo: 0xa3, hi: 0xa3}, + {value: 0x4659, lo: 0xa4, hi: 0xa4}, + {value: 0x812c, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8131, lo: 0xad, hi: 0xad}, + {value: 0x812c, lo: 0xae, hi: 0xb2}, + {value: 0x812e, lo: 0xbb, hi: 0xbf}, + // Block 0x94, offset 0x2a3 + {value: 0x0000, lo: 0x09}, + {value: 0x812e, lo: 0x80, hi: 0x82}, + {value: 0x8133, lo: 0x85, hi: 0x89}, + {value: 0x812e, lo: 0x8a, hi: 0x8b}, + {value: 0x8133, lo: 0xaa, hi: 0xad}, + {value: 0x45f7, lo: 0xbb, hi: 0xbb}, + {value: 0x4601, lo: 0xbc, hi: 0xbc}, + {value: 0x4667, lo: 0xbd, hi: 0xbd}, + {value: 0x4683, lo: 0xbe, hi: 0xbe}, + {value: 0x4675, lo: 0xbf, hi: 0xbf}, + // Block 0x95, offset 0x2ad + {value: 0x0000, lo: 0x01}, + {value: 0x4691, lo: 0x80, hi: 0x80}, + // Block 0x96, offset 0x2af + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0x82, hi: 0x84}, + // Block 0x97, offset 0x2b1 + {value: 0x0000, lo: 0x05}, + {value: 0x8133, lo: 0x80, hi: 0x86}, + {value: 0x8133, lo: 0x88, hi: 0x98}, + {value: 0x8133, lo: 0x9b, hi: 0xa1}, + {value: 0x8133, lo: 0xa3, hi: 0xa4}, + {value: 0x8133, lo: 0xa6, hi: 0xaa}, + // Block 0x98, offset 0x2b7 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xac, hi: 0xaf}, + // Block 0x99, offset 0x2b9 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x90, hi: 0x96}, + // Block 0x9a, offset 0x2bb + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0x84, hi: 0x89}, + {value: 0x8103, lo: 0x8a, hi: 0x8a}, + // Block 0x9b, offset 0x2be + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 18768 bytes (18.33 KiB). Checksum: c51186dd2412943d. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 92: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 92 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 94 blocks, 6016 entries, 12032 bytes +// The third block is the zero block. +var nfkcValues = [6016]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f86, 0xc1: 0x2f8b, 0xc2: 0x469f, 0xc3: 0x2f90, 0xc4: 0x46ae, 0xc5: 0x46b3, + 0xc6: 0xa000, 0xc7: 0x46bd, 0xc8: 0x2ff9, 0xc9: 0x2ffe, 0xca: 0x46c2, 0xcb: 0x3012, + 0xcc: 0x3085, 0xcd: 0x308a, 0xce: 0x308f, 0xcf: 0x46d6, 0xd1: 0x311b, + 0xd2: 0x313e, 0xd3: 0x3143, 0xd4: 0x46e0, 0xd5: 0x46e5, 0xd6: 0x46f4, + 0xd8: 0xa000, 0xd9: 0x31ca, 0xda: 0x31cf, 0xdb: 0x31d4, 0xdc: 0x4726, 0xdd: 0x324c, + 0xe0: 0x3292, 0xe1: 0x3297, 0xe2: 0x4730, 0xe3: 0x329c, + 0xe4: 0x473f, 0xe5: 0x4744, 0xe6: 0xa000, 0xe7: 0x474e, 0xe8: 0x3305, 0xe9: 0x330a, + 0xea: 0x4753, 0xeb: 0x331e, 0xec: 0x3396, 0xed: 0x339b, 0xee: 0x33a0, 0xef: 0x4767, + 0xf1: 0x342c, 0xf2: 0x344f, 0xf3: 0x3454, 0xf4: 0x4771, 0xf5: 0x4776, + 0xf6: 0x4785, 0xf8: 0xa000, 0xf9: 0x34e0, 0xfa: 0x34e5, 0xfb: 0x34ea, + 0xfc: 0x47b7, 0xfd: 0x3567, 0xff: 0x3580, + // Block 0x4, offset 0x100 + 0x100: 0x2f95, 0x101: 0x32a1, 0x102: 0x46a4, 0x103: 0x4735, 0x104: 0x2fb3, 0x105: 0x32bf, + 0x106: 0x2fc7, 0x107: 0x32d3, 0x108: 0x2fcc, 0x109: 0x32d8, 0x10a: 0x2fd1, 0x10b: 0x32dd, + 0x10c: 0x2fd6, 0x10d: 0x32e2, 0x10e: 0x2fe0, 0x10f: 0x32ec, + 0x112: 0x46c7, 0x113: 0x4758, 0x114: 0x3008, 0x115: 0x3314, 0x116: 0x300d, 0x117: 0x3319, + 0x118: 0x302b, 0x119: 0x3337, 0x11a: 0x301c, 0x11b: 0x3328, 0x11c: 0x3044, 0x11d: 0x3350, + 0x11e: 0x304e, 0x11f: 0x335a, 0x120: 0x3053, 0x121: 0x335f, 0x122: 0x305d, 0x123: 0x3369, + 0x124: 0x3062, 0x125: 0x336e, 0x128: 0x3094, 0x129: 0x33a5, + 0x12a: 0x3099, 0x12b: 0x33aa, 0x12c: 0x309e, 0x12d: 0x33af, 0x12e: 0x30c1, 0x12f: 0x33cd, + 0x130: 0x30a3, 0x132: 0x1960, 0x133: 0x19ed, 0x134: 0x30cb, 0x135: 0x33d7, + 0x136: 0x30df, 0x137: 0x33f0, 0x139: 0x30e9, 0x13a: 0x33fa, 0x13b: 0x30f3, + 0x13c: 0x3404, 0x13d: 0x30ee, 0x13e: 0x33ff, 0x13f: 0x1bb2, + // Block 0x5, offset 0x140 + 0x140: 0x1c3a, 0x143: 0x3116, 0x144: 0x3427, 0x145: 0x312f, + 0x146: 0x3440, 0x147: 0x3125, 0x148: 0x3436, 0x149: 0x1c62, + 0x14c: 0x46ea, 0x14d: 0x477b, 0x14e: 0x3148, 0x14f: 0x3459, 0x150: 0x3152, 0x151: 0x3463, + 0x154: 0x3170, 0x155: 0x3481, 0x156: 0x3189, 0x157: 0x349a, + 0x158: 0x317a, 0x159: 0x348b, 0x15a: 0x470d, 0x15b: 0x479e, 0x15c: 0x3193, 0x15d: 0x34a4, + 0x15e: 0x31a2, 0x15f: 0x34b3, 0x160: 0x4712, 0x161: 0x47a3, 0x162: 0x31bb, 0x163: 0x34d1, + 0x164: 0x31ac, 0x165: 0x34c2, 0x168: 0x471c, 0x169: 0x47ad, + 0x16a: 0x4721, 0x16b: 0x47b2, 0x16c: 0x31d9, 0x16d: 0x34ef, 0x16e: 0x31e3, 0x16f: 0x34f9, + 0x170: 0x31e8, 0x171: 0x34fe, 0x172: 0x3206, 0x173: 0x351c, 0x174: 0x3229, 0x175: 0x353f, + 0x176: 0x3251, 0x177: 0x356c, 0x178: 0x3265, 0x179: 0x3274, 0x17a: 0x3594, 0x17b: 0x327e, + 0x17c: 0x359e, 0x17d: 0x3283, 0x17e: 0x35a3, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2e05, 0x185: 0x2e0b, + 0x186: 0x2e11, 0x187: 0x1975, 0x188: 0x1978, 0x189: 0x1a0e, 0x18a: 0x198d, 0x18b: 0x1990, + 0x18c: 0x1a44, 0x18d: 0x2f9f, 0x18e: 0x32ab, 0x18f: 0x30ad, 0x190: 0x33b9, 0x191: 0x3157, + 0x192: 0x3468, 0x193: 0x31ed, 0x194: 0x3503, 0x195: 0x39e6, 0x196: 0x3b75, 0x197: 0x39df, + 0x198: 0x3b6e, 0x199: 0x39ed, 0x19a: 0x3b7c, 0x19b: 0x39d8, 0x19c: 0x3b67, + 0x19e: 0x38c7, 0x19f: 0x3a56, 0x1a0: 0x38c0, 0x1a1: 0x3a4f, 0x1a2: 0x35ca, 0x1a3: 0x35dc, + 0x1a6: 0x3058, 0x1a7: 0x3364, 0x1a8: 0x30d5, 0x1a9: 0x33e6, + 0x1aa: 0x4703, 0x1ab: 0x4794, 0x1ac: 0x39a7, 0x1ad: 0x3b36, 0x1ae: 0x35ee, 0x1af: 0x35f4, + 0x1b0: 0x33dc, 0x1b1: 0x1945, 0x1b2: 0x1948, 0x1b3: 0x19d5, 0x1b4: 0x303f, 0x1b5: 0x334b, + 0x1b8: 0x3111, 0x1b9: 0x3422, 0x1ba: 0x38ce, 0x1bb: 0x3a5d, + 0x1bc: 0x35c4, 0x1bd: 0x35d6, 0x1be: 0x35d0, 0x1bf: 0x35e2, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2fa4, 0x1c1: 0x32b0, 0x1c2: 0x2fa9, 0x1c3: 0x32b5, 0x1c4: 0x3021, 0x1c5: 0x332d, + 0x1c6: 0x3026, 0x1c7: 0x3332, 0x1c8: 0x30b2, 0x1c9: 0x33be, 0x1ca: 0x30b7, 0x1cb: 0x33c3, + 0x1cc: 0x315c, 0x1cd: 0x346d, 0x1ce: 0x3161, 0x1cf: 0x3472, 0x1d0: 0x317f, 0x1d1: 0x3490, + 0x1d2: 0x3184, 0x1d3: 0x3495, 0x1d4: 0x31f2, 0x1d5: 0x3508, 0x1d6: 0x31f7, 0x1d7: 0x350d, + 0x1d8: 0x319d, 0x1d9: 0x34ae, 0x1da: 0x31b6, 0x1db: 0x34cc, + 0x1de: 0x3071, 0x1df: 0x337d, + 0x1e6: 0x46a9, 0x1e7: 0x473a, 0x1e8: 0x46d1, 0x1e9: 0x4762, + 0x1ea: 0x3976, 0x1eb: 0x3b05, 0x1ec: 0x3953, 0x1ed: 0x3ae2, 0x1ee: 0x46ef, 0x1ef: 0x4780, + 0x1f0: 0x396f, 0x1f1: 0x3afe, 0x1f2: 0x325b, 0x1f3: 0x3576, + // Block 0x8, offset 0x200 + 0x200: 0x9933, 0x201: 0x9933, 0x202: 0x9933, 0x203: 0x9933, 0x204: 0x9933, 0x205: 0x8133, + 0x206: 0x9933, 0x207: 0x9933, 0x208: 0x9933, 0x209: 0x9933, 0x20a: 0x9933, 0x20b: 0x9933, + 0x20c: 0x9933, 0x20d: 0x8133, 0x20e: 0x8133, 0x20f: 0x9933, 0x210: 0x8133, 0x211: 0x9933, + 0x212: 0x8133, 0x213: 0x9933, 0x214: 0x9933, 0x215: 0x8134, 0x216: 0x812e, 0x217: 0x812e, + 0x218: 0x812e, 0x219: 0x812e, 0x21a: 0x8134, 0x21b: 0x992c, 0x21c: 0x812e, 0x21d: 0x812e, + 0x21e: 0x812e, 0x21f: 0x812e, 0x220: 0x812e, 0x221: 0x812a, 0x222: 0x812a, 0x223: 0x992e, + 0x224: 0x992e, 0x225: 0x992e, 0x226: 0x992e, 0x227: 0x992a, 0x228: 0x992a, 0x229: 0x812e, + 0x22a: 0x812e, 0x22b: 0x812e, 0x22c: 0x812e, 0x22d: 0x992e, 0x22e: 0x992e, 0x22f: 0x812e, + 0x230: 0x992e, 0x231: 0x992e, 0x232: 0x812e, 0x233: 0x812e, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812e, 0x23a: 0x812e, 0x23b: 0x812e, + 0x23c: 0x812e, 0x23d: 0x8133, 0x23e: 0x8133, 0x23f: 0x8133, + // Block 0x9, offset 0x240 + 0x240: 0x49c5, 0x241: 0x49ca, 0x242: 0x9933, 0x243: 0x49cf, 0x244: 0x4a88, 0x245: 0x9937, + 0x246: 0x8133, 0x247: 0x812e, 0x248: 0x812e, 0x249: 0x812e, 0x24a: 0x8133, 0x24b: 0x8133, + 0x24c: 0x8133, 0x24d: 0x812e, 0x24e: 0x812e, 0x250: 0x8133, 0x251: 0x8133, + 0x252: 0x8133, 0x253: 0x812e, 0x254: 0x812e, 0x255: 0x812e, 0x256: 0x812e, 0x257: 0x8133, + 0x258: 0x8134, 0x259: 0x812e, 0x25a: 0x812e, 0x25b: 0x8133, 0x25c: 0x8135, 0x25d: 0x8136, + 0x25e: 0x8136, 0x25f: 0x8135, 0x260: 0x8136, 0x261: 0x8136, 0x262: 0x8135, 0x263: 0x8133, + 0x264: 0x8133, 0x265: 0x8133, 0x266: 0x8133, 0x267: 0x8133, 0x268: 0x8133, 0x269: 0x8133, + 0x26a: 0x8133, 0x26b: 0x8133, 0x26c: 0x8133, 0x26d: 0x8133, 0x26e: 0x8133, 0x26f: 0x8133, + 0x274: 0x0173, + 0x27a: 0x42bc, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x4271, 0x285: 0x4492, + 0x286: 0x3600, 0x287: 0x00ce, 0x288: 0x361e, 0x289: 0x362a, 0x28a: 0x363c, + 0x28c: 0x365a, 0x28e: 0x366c, 0x28f: 0x368a, 0x290: 0x3e1f, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x364e, 0x2ab: 0x367e, 0x2ac: 0x4815, 0x2ad: 0x36ae, 0x2ae: 0x483f, 0x2af: 0x36c0, + 0x2b0: 0x3e87, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4857, 0x2cb: 0x4875, + 0x2cc: 0x36de, 0x2cd: 0x36f6, 0x2ce: 0x488d, 0x2d0: 0x01c1, 0x2d1: 0x01d3, + 0x2d2: 0x01af, 0x2d3: 0x4323, 0x2d4: 0x4329, 0x2d5: 0x01fd, 0x2d6: 0x01eb, + 0x2f0: 0x01d9, 0x2f1: 0x01ee, 0x2f2: 0x01f1, 0x2f4: 0x018b, 0x2f5: 0x01ca, + 0x2f9: 0x01a9, + // Block 0xc, offset 0x300 + 0x300: 0x3738, 0x301: 0x3744, 0x303: 0x3732, + 0x306: 0xa000, 0x307: 0x3720, + 0x30c: 0x3774, 0x30d: 0x375c, 0x30e: 0x3786, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3768, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37ec, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x374a, 0x342: 0x37ce, + 0x350: 0x3726, 0x351: 0x37aa, + 0x352: 0x372c, 0x353: 0x37b0, 0x356: 0x373e, 0x357: 0x37c2, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3840, 0x35b: 0x3846, 0x35c: 0x3750, 0x35d: 0x37d4, + 0x35e: 0x3756, 0x35f: 0x37da, 0x362: 0x3762, 0x363: 0x37e6, + 0x364: 0x376e, 0x365: 0x37f2, 0x366: 0x377a, 0x367: 0x37fe, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x384c, 0x36b: 0x3852, 0x36c: 0x37a4, 0x36d: 0x3828, 0x36e: 0x3780, 0x36f: 0x3804, + 0x370: 0x378c, 0x371: 0x3810, 0x372: 0x3792, 0x373: 0x3816, 0x374: 0x3798, 0x375: 0x381c, + 0x378: 0x379e, 0x379: 0x3822, + // Block 0xe, offset 0x380 + 0x387: 0x1d67, + 0x391: 0x812e, + 0x392: 0x8133, 0x393: 0x8133, 0x394: 0x8133, 0x395: 0x8133, 0x396: 0x812e, 0x397: 0x8133, + 0x398: 0x8133, 0x399: 0x8133, 0x39a: 0x812f, 0x39b: 0x812e, 0x39c: 0x8133, 0x39d: 0x8133, + 0x39e: 0x8133, 0x39f: 0x8133, 0x3a0: 0x8133, 0x3a1: 0x8133, 0x3a2: 0x812e, 0x3a3: 0x812e, + 0x3a4: 0x812e, 0x3a5: 0x812e, 0x3a6: 0x812e, 0x3a7: 0x812e, 0x3a8: 0x8133, 0x3a9: 0x8133, + 0x3aa: 0x812e, 0x3ab: 0x8133, 0x3ac: 0x8133, 0x3ad: 0x812f, 0x3ae: 0x8132, 0x3af: 0x8133, + 0x3b0: 0x8106, 0x3b1: 0x8107, 0x3b2: 0x8108, 0x3b3: 0x8109, 0x3b4: 0x810a, 0x3b5: 0x810b, + 0x3b6: 0x810c, 0x3b7: 0x810d, 0x3b8: 0x810e, 0x3b9: 0x810f, 0x3ba: 0x810f, 0x3bb: 0x8110, + 0x3bc: 0x8111, 0x3bd: 0x8112, 0x3bf: 0x8113, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8117, + 0x3cc: 0x8118, 0x3cd: 0x8119, 0x3ce: 0x811a, 0x3cf: 0x811b, 0x3d0: 0x811c, 0x3d1: 0x811d, + 0x3d2: 0x811e, 0x3d3: 0x9933, 0x3d4: 0x9933, 0x3d5: 0x992e, 0x3d6: 0x812e, 0x3d7: 0x8133, + 0x3d8: 0x8133, 0x3d9: 0x8133, 0x3da: 0x8133, 0x3db: 0x8133, 0x3dc: 0x812e, 0x3dd: 0x8133, + 0x3de: 0x8133, 0x3df: 0x812e, + 0x3f0: 0x811f, 0x3f5: 0x1d8a, + 0x3f6: 0x2019, 0x3f7: 0x2055, 0x3f8: 0x2050, + // Block 0x10, offset 0x400 + 0x413: 0x812e, 0x414: 0x8133, 0x415: 0x8133, 0x416: 0x8133, 0x417: 0x8133, + 0x418: 0x8133, 0x419: 0x8133, 0x41a: 0x8133, 0x41b: 0x8133, 0x41c: 0x8133, 0x41d: 0x8133, + 0x41e: 0x8133, 0x41f: 0x8133, 0x420: 0x8133, 0x421: 0x8133, 0x423: 0x812e, + 0x424: 0x8133, 0x425: 0x8133, 0x426: 0x812e, 0x427: 0x8133, 0x428: 0x8133, 0x429: 0x812e, + 0x42a: 0x8133, 0x42b: 0x8133, 0x42c: 0x8133, 0x42d: 0x812e, 0x42e: 0x812e, 0x42f: 0x812e, + 0x430: 0x8117, 0x431: 0x8118, 0x432: 0x8119, 0x433: 0x8133, 0x434: 0x8133, 0x435: 0x8133, + 0x436: 0x812e, 0x437: 0x8133, 0x438: 0x8133, 0x439: 0x812e, 0x43a: 0x812e, 0x43b: 0x8133, + 0x43c: 0x8133, 0x43d: 0x8133, 0x43e: 0x8133, 0x43f: 0x8133, + // Block 0x11, offset 0x440 + 0x445: 0xa000, + 0x446: 0x2d33, 0x447: 0xa000, 0x448: 0x2d3b, 0x449: 0xa000, 0x44a: 0x2d43, 0x44b: 0xa000, + 0x44c: 0x2d4b, 0x44d: 0xa000, 0x44e: 0x2d53, 0x451: 0xa000, + 0x452: 0x2d5b, + 0x474: 0x8103, 0x475: 0x9900, + 0x47a: 0xa000, 0x47b: 0x2d63, + 0x47c: 0xa000, 0x47d: 0x2d6b, 0x47e: 0xa000, 0x47f: 0xa000, + // Block 0x12, offset 0x480 + 0x480: 0x0069, 0x481: 0x006b, 0x482: 0x006f, 0x483: 0x0083, 0x484: 0x00f5, 0x485: 0x00f8, + 0x486: 0x0416, 0x487: 0x0085, 0x488: 0x0089, 0x489: 0x008b, 0x48a: 0x0104, 0x48b: 0x0107, + 0x48c: 0x010a, 0x48d: 0x008f, 0x48f: 0x0097, 0x490: 0x009b, 0x491: 0x00e0, + 0x492: 0x009f, 0x493: 0x00fe, 0x494: 0x041a, 0x495: 0x041e, 0x496: 0x00a1, 0x497: 0x00a9, + 0x498: 0x00ab, 0x499: 0x0426, 0x49a: 0x012b, 0x49b: 0x00ad, 0x49c: 0x042a, 0x49d: 0x01c1, + 0x49e: 0x01c4, 0x49f: 0x01c7, 0x4a0: 0x01fd, 0x4a1: 0x0200, 0x4a2: 0x0093, 0x4a3: 0x00a5, + 0x4a4: 0x00ab, 0x4a5: 0x00ad, 0x4a6: 0x01c1, 0x4a7: 0x01c4, 0x4a8: 0x01ee, 0x4a9: 0x01fd, + 0x4aa: 0x0200, + 0x4b8: 0x020f, + // Block 0x13, offset 0x4c0 + 0x4db: 0x00fb, 0x4dc: 0x0087, 0x4dd: 0x0101, + 0x4de: 0x00d4, 0x4df: 0x010a, 0x4e0: 0x008d, 0x4e1: 0x010d, 0x4e2: 0x0110, 0x4e3: 0x0116, + 0x4e4: 0x011c, 0x4e5: 0x011f, 0x4e6: 0x0122, 0x4e7: 0x042e, 0x4e8: 0x016d, 0x4e9: 0x0128, + 0x4ea: 0x0432, 0x4eb: 0x0170, 0x4ec: 0x0131, 0x4ed: 0x012e, 0x4ee: 0x0134, 0x4ef: 0x0137, + 0x4f0: 0x013a, 0x4f1: 0x013d, 0x4f2: 0x0140, 0x4f3: 0x014c, 0x4f4: 0x014f, 0x4f5: 0x00ec, + 0x4f6: 0x0152, 0x4f7: 0x0155, 0x4f8: 0x0422, 0x4f9: 0x0158, 0x4fa: 0x015b, 0x4fb: 0x00b5, + 0x4fc: 0x0161, 0x4fd: 0x0164, 0x4fe: 0x0167, 0x4ff: 0x01d3, + // Block 0x14, offset 0x500 + 0x500: 0x8133, 0x501: 0x8133, 0x502: 0x812e, 0x503: 0x8133, 0x504: 0x8133, 0x505: 0x8133, + 0x506: 0x8133, 0x507: 0x8133, 0x508: 0x8133, 0x509: 0x8133, 0x50a: 0x812e, 0x50b: 0x8133, + 0x50c: 0x8133, 0x50d: 0x8136, 0x50e: 0x812b, 0x50f: 0x812e, 0x510: 0x812a, 0x511: 0x8133, + 0x512: 0x8133, 0x513: 0x8133, 0x514: 0x8133, 0x515: 0x8133, 0x516: 0x8133, 0x517: 0x8133, + 0x518: 0x8133, 0x519: 0x8133, 0x51a: 0x8133, 0x51b: 0x8133, 0x51c: 0x8133, 0x51d: 0x8133, + 0x51e: 0x8133, 0x51f: 0x8133, 0x520: 0x8133, 0x521: 0x8133, 0x522: 0x8133, 0x523: 0x8133, + 0x524: 0x8133, 0x525: 0x8133, 0x526: 0x8133, 0x527: 0x8133, 0x528: 0x8133, 0x529: 0x8133, + 0x52a: 0x8133, 0x52b: 0x8133, 0x52c: 0x8133, 0x52d: 0x8133, 0x52e: 0x8133, 0x52f: 0x8133, + 0x530: 0x8133, 0x531: 0x8133, 0x532: 0x8133, 0x533: 0x8133, 0x534: 0x8133, 0x535: 0x8133, + 0x536: 0x8134, 0x537: 0x8132, 0x538: 0x8132, 0x539: 0x812e, 0x53b: 0x8133, + 0x53c: 0x8135, 0x53d: 0x812e, 0x53e: 0x8133, 0x53f: 0x812e, + // Block 0x15, offset 0x540 + 0x540: 0x2fae, 0x541: 0x32ba, 0x542: 0x2fb8, 0x543: 0x32c4, 0x544: 0x2fbd, 0x545: 0x32c9, + 0x546: 0x2fc2, 0x547: 0x32ce, 0x548: 0x38e3, 0x549: 0x3a72, 0x54a: 0x2fdb, 0x54b: 0x32e7, + 0x54c: 0x2fe5, 0x54d: 0x32f1, 0x54e: 0x2ff4, 0x54f: 0x3300, 0x550: 0x2fea, 0x551: 0x32f6, + 0x552: 0x2fef, 0x553: 0x32fb, 0x554: 0x3906, 0x555: 0x3a95, 0x556: 0x390d, 0x557: 0x3a9c, + 0x558: 0x3030, 0x559: 0x333c, 0x55a: 0x3035, 0x55b: 0x3341, 0x55c: 0x391b, 0x55d: 0x3aaa, + 0x55e: 0x303a, 0x55f: 0x3346, 0x560: 0x3049, 0x561: 0x3355, 0x562: 0x3067, 0x563: 0x3373, + 0x564: 0x3076, 0x565: 0x3382, 0x566: 0x306c, 0x567: 0x3378, 0x568: 0x307b, 0x569: 0x3387, + 0x56a: 0x3080, 0x56b: 0x338c, 0x56c: 0x30c6, 0x56d: 0x33d2, 0x56e: 0x3922, 0x56f: 0x3ab1, + 0x570: 0x30d0, 0x571: 0x33e1, 0x572: 0x30da, 0x573: 0x33eb, 0x574: 0x30e4, 0x575: 0x33f5, + 0x576: 0x46db, 0x577: 0x476c, 0x578: 0x3929, 0x579: 0x3ab8, 0x57a: 0x30fd, 0x57b: 0x340e, + 0x57c: 0x30f8, 0x57d: 0x3409, 0x57e: 0x3102, 0x57f: 0x3413, + // Block 0x16, offset 0x580 + 0x580: 0x3107, 0x581: 0x3418, 0x582: 0x310c, 0x583: 0x341d, 0x584: 0x3120, 0x585: 0x3431, + 0x586: 0x312a, 0x587: 0x343b, 0x588: 0x3139, 0x589: 0x344a, 0x58a: 0x3134, 0x58b: 0x3445, + 0x58c: 0x394c, 0x58d: 0x3adb, 0x58e: 0x395a, 0x58f: 0x3ae9, 0x590: 0x3961, 0x591: 0x3af0, + 0x592: 0x3968, 0x593: 0x3af7, 0x594: 0x3166, 0x595: 0x3477, 0x596: 0x316b, 0x597: 0x347c, + 0x598: 0x3175, 0x599: 0x3486, 0x59a: 0x4708, 0x59b: 0x4799, 0x59c: 0x39ae, 0x59d: 0x3b3d, + 0x59e: 0x318e, 0x59f: 0x349f, 0x5a0: 0x3198, 0x5a1: 0x34a9, 0x5a2: 0x4717, 0x5a3: 0x47a8, + 0x5a4: 0x39b5, 0x5a5: 0x3b44, 0x5a6: 0x39bc, 0x5a7: 0x3b4b, 0x5a8: 0x39c3, 0x5a9: 0x3b52, + 0x5aa: 0x31a7, 0x5ab: 0x34b8, 0x5ac: 0x31b1, 0x5ad: 0x34c7, 0x5ae: 0x31c5, 0x5af: 0x34db, + 0x5b0: 0x31c0, 0x5b1: 0x34d6, 0x5b2: 0x3201, 0x5b3: 0x3517, 0x5b4: 0x3210, 0x5b5: 0x3526, + 0x5b6: 0x320b, 0x5b7: 0x3521, 0x5b8: 0x39ca, 0x5b9: 0x3b59, 0x5ba: 0x39d1, 0x5bb: 0x3b60, + 0x5bc: 0x3215, 0x5bd: 0x352b, 0x5be: 0x321a, 0x5bf: 0x3530, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x321f, 0x5c1: 0x3535, 0x5c2: 0x3224, 0x5c3: 0x353a, 0x5c4: 0x3233, 0x5c5: 0x3549, + 0x5c6: 0x322e, 0x5c7: 0x3544, 0x5c8: 0x3238, 0x5c9: 0x3553, 0x5ca: 0x323d, 0x5cb: 0x3558, + 0x5cc: 0x3242, 0x5cd: 0x355d, 0x5ce: 0x3260, 0x5cf: 0x357b, 0x5d0: 0x3279, 0x5d1: 0x3599, + 0x5d2: 0x3288, 0x5d3: 0x35a8, 0x5d4: 0x328d, 0x5d5: 0x35ad, 0x5d6: 0x3391, 0x5d7: 0x34bd, + 0x5d8: 0x354e, 0x5d9: 0x358a, 0x5da: 0x1be6, 0x5db: 0x42ee, + 0x5e0: 0x46b8, 0x5e1: 0x4749, 0x5e2: 0x2f9a, 0x5e3: 0x32a6, + 0x5e4: 0x388f, 0x5e5: 0x3a1e, 0x5e6: 0x3888, 0x5e7: 0x3a17, 0x5e8: 0x389d, 0x5e9: 0x3a2c, + 0x5ea: 0x3896, 0x5eb: 0x3a25, 0x5ec: 0x38d5, 0x5ed: 0x3a64, 0x5ee: 0x38ab, 0x5ef: 0x3a3a, + 0x5f0: 0x38a4, 0x5f1: 0x3a33, 0x5f2: 0x38b9, 0x5f3: 0x3a48, 0x5f4: 0x38b2, 0x5f5: 0x3a41, + 0x5f6: 0x38dc, 0x5f7: 0x3a6b, 0x5f8: 0x46cc, 0x5f9: 0x475d, 0x5fa: 0x3017, 0x5fb: 0x3323, + 0x5fc: 0x3003, 0x5fd: 0x330f, 0x5fe: 0x38f1, 0x5ff: 0x3a80, + // Block 0x18, offset 0x600 + 0x600: 0x38ea, 0x601: 0x3a79, 0x602: 0x38ff, 0x603: 0x3a8e, 0x604: 0x38f8, 0x605: 0x3a87, + 0x606: 0x3914, 0x607: 0x3aa3, 0x608: 0x30a8, 0x609: 0x33b4, 0x60a: 0x30bc, 0x60b: 0x33c8, + 0x60c: 0x46fe, 0x60d: 0x478f, 0x60e: 0x314d, 0x60f: 0x345e, 0x610: 0x3937, 0x611: 0x3ac6, + 0x612: 0x3930, 0x613: 0x3abf, 0x614: 0x3945, 0x615: 0x3ad4, 0x616: 0x393e, 0x617: 0x3acd, + 0x618: 0x39a0, 0x619: 0x3b2f, 0x61a: 0x3984, 0x61b: 0x3b13, 0x61c: 0x397d, 0x61d: 0x3b0c, + 0x61e: 0x3992, 0x61f: 0x3b21, 0x620: 0x398b, 0x621: 0x3b1a, 0x622: 0x3999, 0x623: 0x3b28, + 0x624: 0x31fc, 0x625: 0x3512, 0x626: 0x31de, 0x627: 0x34f4, 0x628: 0x39fb, 0x629: 0x3b8a, + 0x62a: 0x39f4, 0x62b: 0x3b83, 0x62c: 0x3a09, 0x62d: 0x3b98, 0x62e: 0x3a02, 0x62f: 0x3b91, + 0x630: 0x3a10, 0x631: 0x3b9f, 0x632: 0x3247, 0x633: 0x3562, 0x634: 0x326f, 0x635: 0x358f, + 0x636: 0x326a, 0x637: 0x3585, 0x638: 0x3256, 0x639: 0x3571, + // Block 0x19, offset 0x640 + 0x640: 0x481b, 0x641: 0x4821, 0x642: 0x4935, 0x643: 0x494d, 0x644: 0x493d, 0x645: 0x4955, + 0x646: 0x4945, 0x647: 0x495d, 0x648: 0x47c1, 0x649: 0x47c7, 0x64a: 0x48a5, 0x64b: 0x48bd, + 0x64c: 0x48ad, 0x64d: 0x48c5, 0x64e: 0x48b5, 0x64f: 0x48cd, 0x650: 0x482d, 0x651: 0x4833, + 0x652: 0x3dcf, 0x653: 0x3ddf, 0x654: 0x3dd7, 0x655: 0x3de7, + 0x658: 0x47cd, 0x659: 0x47d3, 0x65a: 0x3cff, 0x65b: 0x3d0f, 0x65c: 0x3d07, 0x65d: 0x3d17, + 0x660: 0x4845, 0x661: 0x484b, 0x662: 0x4965, 0x663: 0x497d, + 0x664: 0x496d, 0x665: 0x4985, 0x666: 0x4975, 0x667: 0x498d, 0x668: 0x47d9, 0x669: 0x47df, + 0x66a: 0x48d5, 0x66b: 0x48ed, 0x66c: 0x48dd, 0x66d: 0x48f5, 0x66e: 0x48e5, 0x66f: 0x48fd, + 0x670: 0x485d, 0x671: 0x4863, 0x672: 0x3e2f, 0x673: 0x3e47, 0x674: 0x3e37, 0x675: 0x3e4f, + 0x676: 0x3e3f, 0x677: 0x3e57, 0x678: 0x47e5, 0x679: 0x47eb, 0x67a: 0x3d2f, 0x67b: 0x3d47, + 0x67c: 0x3d37, 0x67d: 0x3d4f, 0x67e: 0x3d3f, 0x67f: 0x3d57, + // Block 0x1a, offset 0x680 + 0x680: 0x4869, 0x681: 0x486f, 0x682: 0x3e5f, 0x683: 0x3e6f, 0x684: 0x3e67, 0x685: 0x3e77, + 0x688: 0x47f1, 0x689: 0x47f7, 0x68a: 0x3d5f, 0x68b: 0x3d6f, + 0x68c: 0x3d67, 0x68d: 0x3d77, 0x690: 0x487b, 0x691: 0x4881, + 0x692: 0x3e97, 0x693: 0x3eaf, 0x694: 0x3e9f, 0x695: 0x3eb7, 0x696: 0x3ea7, 0x697: 0x3ebf, + 0x699: 0x47fd, 0x69b: 0x3d7f, 0x69d: 0x3d87, + 0x69f: 0x3d8f, 0x6a0: 0x4893, 0x6a1: 0x4899, 0x6a2: 0x4995, 0x6a3: 0x49ad, + 0x6a4: 0x499d, 0x6a5: 0x49b5, 0x6a6: 0x49a5, 0x6a7: 0x49bd, 0x6a8: 0x4803, 0x6a9: 0x4809, + 0x6aa: 0x4905, 0x6ab: 0x491d, 0x6ac: 0x490d, 0x6ad: 0x4925, 0x6ae: 0x4915, 0x6af: 0x492d, + 0x6b0: 0x480f, 0x6b1: 0x4335, 0x6b2: 0x36a8, 0x6b3: 0x433b, 0x6b4: 0x4839, 0x6b5: 0x4341, + 0x6b6: 0x36ba, 0x6b7: 0x4347, 0x6b8: 0x36d8, 0x6b9: 0x434d, 0x6ba: 0x36f0, 0x6bb: 0x4353, + 0x6bc: 0x4887, 0x6bd: 0x4359, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3db7, 0x6c1: 0x3dbf, 0x6c2: 0x419b, 0x6c3: 0x41b9, 0x6c4: 0x41a5, 0x6c5: 0x41c3, + 0x6c6: 0x41af, 0x6c7: 0x41cd, 0x6c8: 0x3cef, 0x6c9: 0x3cf7, 0x6ca: 0x40e7, 0x6cb: 0x4105, + 0x6cc: 0x40f1, 0x6cd: 0x410f, 0x6ce: 0x40fb, 0x6cf: 0x4119, 0x6d0: 0x3dff, 0x6d1: 0x3e07, + 0x6d2: 0x41d7, 0x6d3: 0x41f5, 0x6d4: 0x41e1, 0x6d5: 0x41ff, 0x6d6: 0x41eb, 0x6d7: 0x4209, + 0x6d8: 0x3d1f, 0x6d9: 0x3d27, 0x6da: 0x4123, 0x6db: 0x4141, 0x6dc: 0x412d, 0x6dd: 0x414b, + 0x6de: 0x4137, 0x6df: 0x4155, 0x6e0: 0x3ed7, 0x6e1: 0x3edf, 0x6e2: 0x4213, 0x6e3: 0x4231, + 0x6e4: 0x421d, 0x6e5: 0x423b, 0x6e6: 0x4227, 0x6e7: 0x4245, 0x6e8: 0x3d97, 0x6e9: 0x3d9f, + 0x6ea: 0x415f, 0x6eb: 0x417d, 0x6ec: 0x4169, 0x6ed: 0x4187, 0x6ee: 0x4173, 0x6ef: 0x4191, + 0x6f0: 0x369c, 0x6f1: 0x3696, 0x6f2: 0x3da7, 0x6f3: 0x36a2, 0x6f4: 0x3daf, + 0x6f6: 0x4827, 0x6f7: 0x3dc7, 0x6f8: 0x360c, 0x6f9: 0x3606, 0x6fa: 0x35fa, 0x6fb: 0x4305, + 0x6fc: 0x3612, 0x6fd: 0x429e, 0x6fe: 0x01d6, 0x6ff: 0x429e, + // Block 0x1c, offset 0x700 + 0x700: 0x42b7, 0x701: 0x4499, 0x702: 0x3def, 0x703: 0x36b4, 0x704: 0x3df7, + 0x706: 0x4851, 0x707: 0x3e0f, 0x708: 0x3618, 0x709: 0x430b, 0x70a: 0x3624, 0x70b: 0x4311, + 0x70c: 0x3630, 0x70d: 0x44a0, 0x70e: 0x44a7, 0x70f: 0x44ae, 0x710: 0x36cc, 0x711: 0x36c6, + 0x712: 0x3e17, 0x713: 0x44fb, 0x716: 0x36d2, 0x717: 0x3e27, + 0x718: 0x3648, 0x719: 0x3642, 0x71a: 0x3636, 0x71b: 0x4317, 0x71d: 0x44b5, + 0x71e: 0x44bc, 0x71f: 0x44c3, 0x720: 0x3702, 0x721: 0x36fc, 0x722: 0x3e7f, 0x723: 0x4503, + 0x724: 0x36e4, 0x725: 0x36ea, 0x726: 0x3708, 0x727: 0x3e8f, 0x728: 0x3678, 0x729: 0x3672, + 0x72a: 0x3666, 0x72b: 0x4323, 0x72c: 0x3660, 0x72d: 0x448b, 0x72e: 0x4492, 0x72f: 0x0081, + 0x732: 0x3ec7, 0x733: 0x370e, 0x734: 0x3ecf, + 0x736: 0x489f, 0x737: 0x3ee7, 0x738: 0x3654, 0x739: 0x431d, 0x73a: 0x3684, 0x73b: 0x432f, + 0x73c: 0x3690, 0x73d: 0x4271, 0x73e: 0x42a3, + // Block 0x1d, offset 0x740 + 0x740: 0x1bde, 0x741: 0x1be2, 0x742: 0x0047, 0x743: 0x1c5a, 0x745: 0x1bee, + 0x746: 0x1bf2, 0x747: 0x00e9, 0x749: 0x1c5e, 0x74a: 0x008f, 0x74b: 0x0051, + 0x74c: 0x0051, 0x74d: 0x0051, 0x74e: 0x0091, 0x74f: 0x00da, 0x750: 0x0053, 0x751: 0x0053, + 0x752: 0x0059, 0x753: 0x0099, 0x755: 0x005d, 0x756: 0x1993, + 0x759: 0x0061, 0x75a: 0x0063, 0x75b: 0x0065, 0x75c: 0x0065, 0x75d: 0x0065, + 0x760: 0x19a5, 0x761: 0x1bce, 0x762: 0x19ae, + 0x764: 0x0075, 0x766: 0x01bb, 0x768: 0x0075, + 0x76a: 0x0057, 0x76b: 0x42e9, 0x76c: 0x0045, 0x76d: 0x0047, 0x76f: 0x008b, + 0x770: 0x004b, 0x771: 0x004d, 0x773: 0x005b, 0x774: 0x009f, 0x775: 0x0218, + 0x776: 0x021b, 0x777: 0x021e, 0x778: 0x0221, 0x779: 0x0093, 0x77b: 0x1b9e, + 0x77c: 0x01eb, 0x77d: 0x01c4, 0x77e: 0x017c, 0x77f: 0x01a3, + // Block 0x1e, offset 0x780 + 0x780: 0x0466, 0x785: 0x0049, + 0x786: 0x0089, 0x787: 0x008b, 0x788: 0x0093, 0x789: 0x0095, + 0x790: 0x2234, 0x791: 0x2240, + 0x792: 0x22f4, 0x793: 0x221c, 0x794: 0x22a0, 0x795: 0x2228, 0x796: 0x22a6, 0x797: 0x22be, + 0x798: 0x22ca, 0x799: 0x222e, 0x79a: 0x22d0, 0x79b: 0x223a, 0x79c: 0x22c4, 0x79d: 0x22d6, + 0x79e: 0x22dc, 0x79f: 0x1cc2, 0x7a0: 0x0053, 0x7a1: 0x195d, 0x7a2: 0x1baa, 0x7a3: 0x1966, + 0x7a4: 0x006d, 0x7a5: 0x19b1, 0x7a6: 0x1bd6, 0x7a7: 0x1d4e, 0x7a8: 0x1969, 0x7a9: 0x0071, + 0x7aa: 0x19bd, 0x7ab: 0x1bda, 0x7ac: 0x0059, 0x7ad: 0x0047, 0x7ae: 0x0049, 0x7af: 0x005b, + 0x7b0: 0x0093, 0x7b1: 0x19ea, 0x7b2: 0x1c1e, 0x7b3: 0x19f3, 0x7b4: 0x00ad, 0x7b5: 0x1a68, + 0x7b6: 0x1c52, 0x7b7: 0x1d62, 0x7b8: 0x19f6, 0x7b9: 0x00b1, 0x7ba: 0x1a6b, 0x7bb: 0x1c56, + 0x7bc: 0x0099, 0x7bd: 0x0087, 0x7be: 0x0089, 0x7bf: 0x009b, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x3c1d, 0x7c3: 0xa000, 0x7c4: 0x3c24, 0x7c5: 0xa000, + 0x7c7: 0x3c2b, 0x7c8: 0xa000, 0x7c9: 0x3c32, + 0x7cd: 0xa000, + 0x7e0: 0x2f7c, 0x7e1: 0xa000, 0x7e2: 0x3c40, + 0x7e4: 0xa000, 0x7e5: 0xa000, + 0x7ed: 0x3c39, 0x7ee: 0x2f77, 0x7ef: 0x2f81, + 0x7f0: 0x3c47, 0x7f1: 0x3c4e, 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0x3c55, 0x7f5: 0x3c5c, + 0x7f6: 0xa000, 0x7f7: 0xa000, 0x7f8: 0x3c63, 0x7f9: 0x3c6a, 0x7fa: 0xa000, 0x7fb: 0xa000, + 0x7fc: 0xa000, 0x7fd: 0xa000, + // Block 0x20, offset 0x800 + 0x800: 0x3c71, 0x801: 0x3c78, 0x802: 0xa000, 0x803: 0xa000, 0x804: 0x3c8d, 0x805: 0x3c94, + 0x806: 0xa000, 0x807: 0xa000, 0x808: 0x3c9b, 0x809: 0x3ca2, + 0x811: 0xa000, + 0x812: 0xa000, + 0x822: 0xa000, + 0x828: 0xa000, 0x829: 0xa000, + 0x82b: 0xa000, 0x82c: 0x3cb7, 0x82d: 0x3cbe, 0x82e: 0x3cc5, 0x82f: 0x3ccc, + 0x832: 0xa000, 0x833: 0xa000, 0x834: 0xa000, 0x835: 0xa000, + // Block 0x21, offset 0x840 + 0x860: 0x0023, 0x861: 0x0025, 0x862: 0x0027, 0x863: 0x0029, + 0x864: 0x002b, 0x865: 0x002d, 0x866: 0x002f, 0x867: 0x0031, 0x868: 0x0033, 0x869: 0x1885, + 0x86a: 0x1888, 0x86b: 0x188b, 0x86c: 0x188e, 0x86d: 0x1891, 0x86e: 0x1894, 0x86f: 0x1897, + 0x870: 0x189a, 0x871: 0x189d, 0x872: 0x18a0, 0x873: 0x18a9, 0x874: 0x1a6e, 0x875: 0x1a72, + 0x876: 0x1a76, 0x877: 0x1a7a, 0x878: 0x1a7e, 0x879: 0x1a82, 0x87a: 0x1a86, 0x87b: 0x1a8a, + 0x87c: 0x1a8e, 0x87d: 0x1c86, 0x87e: 0x1c8b, 0x87f: 0x1c90, + // Block 0x22, offset 0x880 + 0x880: 0x1c95, 0x881: 0x1c9a, 0x882: 0x1c9f, 0x883: 0x1ca4, 0x884: 0x1ca9, 0x885: 0x1cae, + 0x886: 0x1cb3, 0x887: 0x1cb8, 0x888: 0x1882, 0x889: 0x18a6, 0x88a: 0x18ca, 0x88b: 0x18ee, + 0x88c: 0x1912, 0x88d: 0x191b, 0x88e: 0x1921, 0x88f: 0x1927, 0x890: 0x192d, 0x891: 0x1b66, + 0x892: 0x1b6a, 0x893: 0x1b6e, 0x894: 0x1b72, 0x895: 0x1b76, 0x896: 0x1b7a, 0x897: 0x1b7e, + 0x898: 0x1b82, 0x899: 0x1b86, 0x89a: 0x1b8a, 0x89b: 0x1b8e, 0x89c: 0x1afa, 0x89d: 0x1afe, + 0x89e: 0x1b02, 0x89f: 0x1b06, 0x8a0: 0x1b0a, 0x8a1: 0x1b0e, 0x8a2: 0x1b12, 0x8a3: 0x1b16, + 0x8a4: 0x1b1a, 0x8a5: 0x1b1e, 0x8a6: 0x1b22, 0x8a7: 0x1b26, 0x8a8: 0x1b2a, 0x8a9: 0x1b2e, + 0x8aa: 0x1b32, 0x8ab: 0x1b36, 0x8ac: 0x1b3a, 0x8ad: 0x1b3e, 0x8ae: 0x1b42, 0x8af: 0x1b46, + 0x8b0: 0x1b4a, 0x8b1: 0x1b4e, 0x8b2: 0x1b52, 0x8b3: 0x1b56, 0x8b4: 0x1b5a, 0x8b5: 0x1b5e, + 0x8b6: 0x0043, 0x8b7: 0x0045, 0x8b8: 0x0047, 0x8b9: 0x0049, 0x8ba: 0x004b, 0x8bb: 0x004d, + 0x8bc: 0x004f, 0x8bd: 0x0051, 0x8be: 0x0053, 0x8bf: 0x0055, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x06c2, 0x8c1: 0x06e6, 0x8c2: 0x06f2, 0x8c3: 0x0702, 0x8c4: 0x070a, 0x8c5: 0x0716, + 0x8c6: 0x071e, 0x8c7: 0x0726, 0x8c8: 0x0732, 0x8c9: 0x0786, 0x8ca: 0x079e, 0x8cb: 0x07ae, + 0x8cc: 0x07be, 0x8cd: 0x07ce, 0x8ce: 0x07de, 0x8cf: 0x07fe, 0x8d0: 0x0802, 0x8d1: 0x0806, + 0x8d2: 0x083a, 0x8d3: 0x0862, 0x8d4: 0x0872, 0x8d5: 0x087a, 0x8d6: 0x087e, 0x8d7: 0x088a, + 0x8d8: 0x08a6, 0x8d9: 0x08aa, 0x8da: 0x08c2, 0x8db: 0x08c6, 0x8dc: 0x08ce, 0x8dd: 0x08de, + 0x8de: 0x097a, 0x8df: 0x098e, 0x8e0: 0x09ce, 0x8e1: 0x09e2, 0x8e2: 0x09ea, 0x8e3: 0x09ee, + 0x8e4: 0x09fe, 0x8e5: 0x0a1a, 0x8e6: 0x0a46, 0x8e7: 0x0a52, 0x8e8: 0x0a72, 0x8e9: 0x0a7e, + 0x8ea: 0x0a82, 0x8eb: 0x0a86, 0x8ec: 0x0a9e, 0x8ed: 0x0aa2, 0x8ee: 0x0ace, 0x8ef: 0x0ada, + 0x8f0: 0x0ae2, 0x8f1: 0x0aea, 0x8f2: 0x0afa, 0x8f3: 0x0b02, 0x8f4: 0x0b0a, 0x8f5: 0x0b36, + 0x8f6: 0x0b3a, 0x8f7: 0x0b42, 0x8f8: 0x0b46, 0x8f9: 0x0b4e, 0x8fa: 0x0b56, 0x8fb: 0x0b66, + 0x8fc: 0x0b82, 0x8fd: 0x0bfa, 0x8fe: 0x0c0e, 0x8ff: 0x0c12, + // Block 0x24, offset 0x900 + 0x900: 0x0c92, 0x901: 0x0c96, 0x902: 0x0caa, 0x903: 0x0cae, 0x904: 0x0cb6, 0x905: 0x0cbe, + 0x906: 0x0cc6, 0x907: 0x0cd2, 0x908: 0x0cfa, 0x909: 0x0d0a, 0x90a: 0x0d1e, 0x90b: 0x0d8e, + 0x90c: 0x0d9a, 0x90d: 0x0daa, 0x90e: 0x0db6, 0x90f: 0x0dc2, 0x910: 0x0dca, 0x911: 0x0dce, + 0x912: 0x0dd2, 0x913: 0x0dd6, 0x914: 0x0dda, 0x915: 0x0e92, 0x916: 0x0eda, 0x917: 0x0ee6, + 0x918: 0x0eea, 0x919: 0x0eee, 0x91a: 0x0ef2, 0x91b: 0x0efa, 0x91c: 0x0efe, 0x91d: 0x0f12, + 0x91e: 0x0f2e, 0x91f: 0x0f36, 0x920: 0x0f76, 0x921: 0x0f7a, 0x922: 0x0f82, 0x923: 0x0f86, + 0x924: 0x0f8e, 0x925: 0x0f92, 0x926: 0x0fb6, 0x927: 0x0fba, 0x928: 0x0fd6, 0x929: 0x0fda, + 0x92a: 0x0fde, 0x92b: 0x0fe2, 0x92c: 0x0ff6, 0x92d: 0x101a, 0x92e: 0x101e, 0x92f: 0x1022, + 0x930: 0x1046, 0x931: 0x1086, 0x932: 0x108a, 0x933: 0x10aa, 0x934: 0x10ba, 0x935: 0x10c2, + 0x936: 0x10e2, 0x937: 0x1106, 0x938: 0x114a, 0x939: 0x1152, 0x93a: 0x1166, 0x93b: 0x1172, + 0x93c: 0x117a, 0x93d: 0x1182, 0x93e: 0x1186, 0x93f: 0x118a, + // Block 0x25, offset 0x940 + 0x940: 0x11a2, 0x941: 0x11a6, 0x942: 0x11c2, 0x943: 0x11ca, 0x944: 0x11d2, 0x945: 0x11d6, + 0x946: 0x11e2, 0x947: 0x11ea, 0x948: 0x11ee, 0x949: 0x11f2, 0x94a: 0x11fa, 0x94b: 0x11fe, + 0x94c: 0x129e, 0x94d: 0x12b2, 0x94e: 0x12e6, 0x94f: 0x12ea, 0x950: 0x12f2, 0x951: 0x131e, + 0x952: 0x1326, 0x953: 0x132e, 0x954: 0x1336, 0x955: 0x1372, 0x956: 0x1376, 0x957: 0x137e, + 0x958: 0x1382, 0x959: 0x1386, 0x95a: 0x13b2, 0x95b: 0x13b6, 0x95c: 0x13be, 0x95d: 0x13d2, + 0x95e: 0x13d6, 0x95f: 0x13f2, 0x960: 0x13fa, 0x961: 0x13fe, 0x962: 0x1422, 0x963: 0x1442, + 0x964: 0x1456, 0x965: 0x145a, 0x966: 0x1462, 0x967: 0x148e, 0x968: 0x1492, 0x969: 0x14a2, + 0x96a: 0x14c6, 0x96b: 0x14d2, 0x96c: 0x14e2, 0x96d: 0x14fa, 0x96e: 0x1502, 0x96f: 0x1506, + 0x970: 0x150a, 0x971: 0x150e, 0x972: 0x151a, 0x973: 0x151e, 0x974: 0x1526, 0x975: 0x1542, + 0x976: 0x1546, 0x977: 0x154a, 0x978: 0x1562, 0x979: 0x1566, 0x97a: 0x156e, 0x97b: 0x1582, + 0x97c: 0x1586, 0x97d: 0x158a, 0x97e: 0x1592, 0x97f: 0x1596, + // Block 0x26, offset 0x980 + 0x986: 0xa000, 0x98b: 0xa000, + 0x98c: 0x3f1f, 0x98d: 0xa000, 0x98e: 0x3f27, 0x98f: 0xa000, 0x990: 0x3f2f, 0x991: 0xa000, + 0x992: 0x3f37, 0x993: 0xa000, 0x994: 0x3f3f, 0x995: 0xa000, 0x996: 0x3f47, 0x997: 0xa000, + 0x998: 0x3f4f, 0x999: 0xa000, 0x99a: 0x3f57, 0x99b: 0xa000, 0x99c: 0x3f5f, 0x99d: 0xa000, + 0x99e: 0x3f67, 0x99f: 0xa000, 0x9a0: 0x3f6f, 0x9a1: 0xa000, 0x9a2: 0x3f77, + 0x9a4: 0xa000, 0x9a5: 0x3f7f, 0x9a6: 0xa000, 0x9a7: 0x3f87, 0x9a8: 0xa000, 0x9a9: 0x3f8f, + 0x9af: 0xa000, + 0x9b0: 0x3f97, 0x9b1: 0x3f9f, 0x9b2: 0xa000, 0x9b3: 0x3fa7, 0x9b4: 0x3faf, 0x9b5: 0xa000, + 0x9b6: 0x3fb7, 0x9b7: 0x3fbf, 0x9b8: 0xa000, 0x9b9: 0x3fc7, 0x9ba: 0x3fcf, 0x9bb: 0xa000, + 0x9bc: 0x3fd7, 0x9bd: 0x3fdf, + // Block 0x27, offset 0x9c0 + 0x9d4: 0x3f17, + 0x9d9: 0x9904, 0x9da: 0x9904, 0x9db: 0x42f3, 0x9dc: 0x42f9, 0x9dd: 0xa000, + 0x9de: 0x3fe7, 0x9df: 0x26ba, + 0x9e6: 0xa000, + 0x9eb: 0xa000, 0x9ec: 0x3ff7, 0x9ed: 0xa000, 0x9ee: 0x3fff, 0x9ef: 0xa000, + 0x9f0: 0x4007, 0x9f1: 0xa000, 0x9f2: 0x400f, 0x9f3: 0xa000, 0x9f4: 0x4017, 0x9f5: 0xa000, + 0x9f6: 0x401f, 0x9f7: 0xa000, 0x9f8: 0x4027, 0x9f9: 0xa000, 0x9fa: 0x402f, 0x9fb: 0xa000, + 0x9fc: 0x4037, 0x9fd: 0xa000, 0x9fe: 0x403f, 0x9ff: 0xa000, + // Block 0x28, offset 0xa00 + 0xa00: 0x4047, 0xa01: 0xa000, 0xa02: 0x404f, 0xa04: 0xa000, 0xa05: 0x4057, + 0xa06: 0xa000, 0xa07: 0x405f, 0xa08: 0xa000, 0xa09: 0x4067, + 0xa0f: 0xa000, 0xa10: 0x406f, 0xa11: 0x4077, + 0xa12: 0xa000, 0xa13: 0x407f, 0xa14: 0x4087, 0xa15: 0xa000, 0xa16: 0x408f, 0xa17: 0x4097, + 0xa18: 0xa000, 0xa19: 0x409f, 0xa1a: 0x40a7, 0xa1b: 0xa000, 0xa1c: 0x40af, 0xa1d: 0x40b7, + 0xa2f: 0xa000, + 0xa30: 0xa000, 0xa31: 0xa000, 0xa32: 0xa000, 0xa34: 0x3fef, + 0xa37: 0x40bf, 0xa38: 0x40c7, 0xa39: 0x40cf, 0xa3a: 0x40d7, + 0xa3d: 0xa000, 0xa3e: 0x40df, 0xa3f: 0x26cf, + // Block 0x29, offset 0xa40 + 0xa40: 0x036a, 0xa41: 0x032e, 0xa42: 0x0332, 0xa43: 0x0336, 0xa44: 0x037e, 0xa45: 0x033a, + 0xa46: 0x033e, 0xa47: 0x0342, 0xa48: 0x0346, 0xa49: 0x034a, 0xa4a: 0x034e, 0xa4b: 0x0352, + 0xa4c: 0x0356, 0xa4d: 0x035a, 0xa4e: 0x035e, 0xa4f: 0x49d4, 0xa50: 0x49da, 0xa51: 0x49e0, + 0xa52: 0x49e6, 0xa53: 0x49ec, 0xa54: 0x49f2, 0xa55: 0x49f8, 0xa56: 0x49fe, 0xa57: 0x4a04, + 0xa58: 0x4a0a, 0xa59: 0x4a10, 0xa5a: 0x4a16, 0xa5b: 0x4a1c, 0xa5c: 0x4a22, 0xa5d: 0x4a28, + 0xa5e: 0x4a2e, 0xa5f: 0x4a34, 0xa60: 0x4a3a, 0xa61: 0x4a40, 0xa62: 0x4a46, 0xa63: 0x4a4c, + 0xa64: 0x03c6, 0xa65: 0x0362, 0xa66: 0x0366, 0xa67: 0x03ea, 0xa68: 0x03ee, 0xa69: 0x03f2, + 0xa6a: 0x03f6, 0xa6b: 0x03fa, 0xa6c: 0x03fe, 0xa6d: 0x0402, 0xa6e: 0x036e, 0xa6f: 0x0406, + 0xa70: 0x040a, 0xa71: 0x0372, 0xa72: 0x0376, 0xa73: 0x037a, 0xa74: 0x0382, 0xa75: 0x0386, + 0xa76: 0x038a, 0xa77: 0x038e, 0xa78: 0x0392, 0xa79: 0x0396, 0xa7a: 0x039a, 0xa7b: 0x039e, + 0xa7c: 0x03a2, 0xa7d: 0x03a6, 0xa7e: 0x03aa, 0xa7f: 0x03ae, + // Block 0x2a, offset 0xa80 + 0xa80: 0x03b2, 0xa81: 0x03b6, 0xa82: 0x040e, 0xa83: 0x0412, 0xa84: 0x03ba, 0xa85: 0x03be, + 0xa86: 0x03c2, 0xa87: 0x03ca, 0xa88: 0x03ce, 0xa89: 0x03d2, 0xa8a: 0x03d6, 0xa8b: 0x03da, + 0xa8c: 0x03de, 0xa8d: 0x03e2, 0xa8e: 0x03e6, + 0xa92: 0x06c2, 0xa93: 0x071e, 0xa94: 0x06ce, 0xa95: 0x097e, 0xa96: 0x06d2, 0xa97: 0x06ea, + 0xa98: 0x06d6, 0xa99: 0x0f96, 0xa9a: 0x070a, 0xa9b: 0x06de, 0xa9c: 0x06c6, 0xa9d: 0x0a02, + 0xa9e: 0x0992, 0xa9f: 0x0732, + // Block 0x2b, offset 0xac0 + 0xac0: 0x205a, 0xac1: 0x2060, 0xac2: 0x2066, 0xac3: 0x206c, 0xac4: 0x2072, 0xac5: 0x2078, + 0xac6: 0x207e, 0xac7: 0x2084, 0xac8: 0x208a, 0xac9: 0x2090, 0xaca: 0x2096, 0xacb: 0x209c, + 0xacc: 0x20a2, 0xacd: 0x20a8, 0xace: 0x2733, 0xacf: 0x273c, 0xad0: 0x2745, 0xad1: 0x274e, + 0xad2: 0x2757, 0xad3: 0x2760, 0xad4: 0x2769, 0xad5: 0x2772, 0xad6: 0x277b, 0xad7: 0x278d, + 0xad8: 0x2796, 0xad9: 0x279f, 0xada: 0x27a8, 0xadb: 0x27b1, 0xadc: 0x2784, 0xadd: 0x2bb9, + 0xade: 0x2afa, 0xae0: 0x20ae, 0xae1: 0x20c6, 0xae2: 0x20ba, 0xae3: 0x210e, + 0xae4: 0x20cc, 0xae5: 0x20ea, 0xae6: 0x20b4, 0xae7: 0x20e4, 0xae8: 0x20c0, 0xae9: 0x20f6, + 0xaea: 0x2126, 0xaeb: 0x2144, 0xaec: 0x213e, 0xaed: 0x2132, 0xaee: 0x2180, 0xaef: 0x2114, + 0xaf0: 0x2120, 0xaf1: 0x2138, 0xaf2: 0x212c, 0xaf3: 0x2156, 0xaf4: 0x2102, 0xaf5: 0x214a, + 0xaf6: 0x2174, 0xaf7: 0x215c, 0xaf8: 0x20f0, 0xaf9: 0x20d2, 0xafa: 0x2108, 0xafb: 0x211a, + 0xafc: 0x2150, 0xafd: 0x20d8, 0xafe: 0x217a, 0xaff: 0x20fc, + // Block 0x2c, offset 0xb00 + 0xb00: 0x2162, 0xb01: 0x20de, 0xb02: 0x2168, 0xb03: 0x216e, 0xb04: 0x0932, 0xb05: 0x0b06, + 0xb06: 0x0caa, 0xb07: 0x10ca, + 0xb10: 0x1bca, 0xb11: 0x18ac, + 0xb12: 0x18af, 0xb13: 0x18b2, 0xb14: 0x18b5, 0xb15: 0x18b8, 0xb16: 0x18bb, 0xb17: 0x18be, + 0xb18: 0x18c1, 0xb19: 0x18c4, 0xb1a: 0x18cd, 0xb1b: 0x18d0, 0xb1c: 0x18d3, 0xb1d: 0x18d6, + 0xb1e: 0x18d9, 0xb1f: 0x18dc, 0xb20: 0x0316, 0xb21: 0x031e, 0xb22: 0x0322, 0xb23: 0x032a, + 0xb24: 0x032e, 0xb25: 0x0332, 0xb26: 0x033a, 0xb27: 0x0342, 0xb28: 0x0346, 0xb29: 0x034e, + 0xb2a: 0x0352, 0xb2b: 0x0356, 0xb2c: 0x035a, 0xb2d: 0x035e, 0xb2e: 0x2e2f, 0xb2f: 0x2e37, + 0xb30: 0x2e3f, 0xb31: 0x2e47, 0xb32: 0x2e4f, 0xb33: 0x2e57, 0xb34: 0x2e5f, 0xb35: 0x2e67, + 0xb36: 0x2e77, 0xb37: 0x2e7f, 0xb38: 0x2e87, 0xb39: 0x2e8f, 0xb3a: 0x2e97, 0xb3b: 0x2e9f, + 0xb3c: 0x2eea, 0xb3d: 0x2eb2, 0xb3e: 0x2e6f, + // Block 0x2d, offset 0xb40 + 0xb40: 0x06c2, 0xb41: 0x071e, 0xb42: 0x06ce, 0xb43: 0x097e, 0xb44: 0x0722, 0xb45: 0x07b2, + 0xb46: 0x06ca, 0xb47: 0x07ae, 0xb48: 0x070e, 0xb49: 0x088a, 0xb4a: 0x0d0a, 0xb4b: 0x0e92, + 0xb4c: 0x0dda, 0xb4d: 0x0d1e, 0xb4e: 0x1462, 0xb4f: 0x098e, 0xb50: 0x0cd2, 0xb51: 0x0d4e, + 0xb52: 0x0d0e, 0xb53: 0x104e, 0xb54: 0x08fe, 0xb55: 0x0f06, 0xb56: 0x138a, 0xb57: 0x1062, + 0xb58: 0x0846, 0xb59: 0x1092, 0xb5a: 0x0f9e, 0xb5b: 0x0a1a, 0xb5c: 0x1412, 0xb5d: 0x0782, + 0xb5e: 0x08ae, 0xb5f: 0x0dfa, 0xb60: 0x152a, 0xb61: 0x0746, 0xb62: 0x07d6, 0xb63: 0x0d9e, + 0xb64: 0x06d2, 0xb65: 0x06ea, 0xb66: 0x06d6, 0xb67: 0x0ade, 0xb68: 0x08f2, 0xb69: 0x0882, + 0xb6a: 0x0a5a, 0xb6b: 0x0a4e, 0xb6c: 0x0fee, 0xb6d: 0x0742, 0xb6e: 0x139e, 0xb6f: 0x089e, + 0xb70: 0x09f6, 0xb71: 0x18df, 0xb72: 0x18e2, 0xb73: 0x18e5, 0xb74: 0x18e8, 0xb75: 0x18f1, + 0xb76: 0x18f4, 0xb77: 0x18f7, 0xb78: 0x18fa, 0xb79: 0x18fd, 0xb7a: 0x1900, 0xb7b: 0x1903, + 0xb7c: 0x1906, 0xb7d: 0x1909, 0xb7e: 0x190c, 0xb7f: 0x1915, + // Block 0x2e, offset 0xb80 + 0xb80: 0x1ccc, 0xb81: 0x1cdb, 0xb82: 0x1cea, 0xb83: 0x1cf9, 0xb84: 0x1d08, 0xb85: 0x1d17, + 0xb86: 0x1d26, 0xb87: 0x1d35, 0xb88: 0x1d44, 0xb89: 0x2192, 0xb8a: 0x21a4, 0xb8b: 0x21b6, + 0xb8c: 0x1957, 0xb8d: 0x1c0a, 0xb8e: 0x19d8, 0xb8f: 0x1bae, 0xb90: 0x04ce, 0xb91: 0x04d6, + 0xb92: 0x04de, 0xb93: 0x04e6, 0xb94: 0x04ee, 0xb95: 0x04f2, 0xb96: 0x04f6, 0xb97: 0x04fa, + 0xb98: 0x04fe, 0xb99: 0x0502, 0xb9a: 0x0506, 0xb9b: 0x050a, 0xb9c: 0x050e, 0xb9d: 0x0512, + 0xb9e: 0x0516, 0xb9f: 0x051a, 0xba0: 0x051e, 0xba1: 0x0526, 0xba2: 0x052a, 0xba3: 0x052e, + 0xba4: 0x0532, 0xba5: 0x0536, 0xba6: 0x053a, 0xba7: 0x053e, 0xba8: 0x0542, 0xba9: 0x0546, + 0xbaa: 0x054a, 0xbab: 0x054e, 0xbac: 0x0552, 0xbad: 0x0556, 0xbae: 0x055a, 0xbaf: 0x055e, + 0xbb0: 0x0562, 0xbb1: 0x0566, 0xbb2: 0x056a, 0xbb3: 0x0572, 0xbb4: 0x057a, 0xbb5: 0x0582, + 0xbb6: 0x0586, 0xbb7: 0x058a, 0xbb8: 0x058e, 0xbb9: 0x0592, 0xbba: 0x0596, 0xbbb: 0x059a, + 0xbbc: 0x059e, 0xbbd: 0x05a2, 0xbbe: 0x05a6, 0xbbf: 0x2700, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x2b19, 0xbc1: 0x29b5, 0xbc2: 0x2b29, 0xbc3: 0x288d, 0xbc4: 0x2efb, 0xbc5: 0x2897, + 0xbc6: 0x28a1, 0xbc7: 0x2f3f, 0xbc8: 0x29c2, 0xbc9: 0x28ab, 0xbca: 0x28b5, 0xbcb: 0x28bf, + 0xbcc: 0x29e9, 0xbcd: 0x29f6, 0xbce: 0x29cf, 0xbcf: 0x29dc, 0xbd0: 0x2ec0, 0xbd1: 0x2a03, + 0xbd2: 0x2a10, 0xbd3: 0x2bcb, 0xbd4: 0x26c1, 0xbd5: 0x2bde, 0xbd6: 0x2bf1, 0xbd7: 0x2b39, + 0xbd8: 0x2a1d, 0xbd9: 0x2c04, 0xbda: 0x2c17, 0xbdb: 0x2a2a, 0xbdc: 0x28c9, 0xbdd: 0x28d3, + 0xbde: 0x2ece, 0xbdf: 0x2a37, 0xbe0: 0x2b49, 0xbe1: 0x2f0c, 0xbe2: 0x28dd, 0xbe3: 0x28e7, + 0xbe4: 0x2a44, 0xbe5: 0x28f1, 0xbe6: 0x28fb, 0xbe7: 0x26d6, 0xbe8: 0x26dd, 0xbe9: 0x2905, + 0xbea: 0x290f, 0xbeb: 0x2c2a, 0xbec: 0x2a51, 0xbed: 0x2b59, 0xbee: 0x2c3d, 0xbef: 0x2a5e, + 0xbf0: 0x2923, 0xbf1: 0x2919, 0xbf2: 0x2f53, 0xbf3: 0x2a6b, 0xbf4: 0x2c50, 0xbf5: 0x292d, + 0xbf6: 0x2b69, 0xbf7: 0x2937, 0xbf8: 0x2a85, 0xbf9: 0x2941, 0xbfa: 0x2a92, 0xbfb: 0x2f1d, + 0xbfc: 0x2a78, 0xbfd: 0x2b79, 0xbfe: 0x2a9f, 0xbff: 0x26e4, + // Block 0x30, offset 0xc00 + 0xc00: 0x2f2e, 0xc01: 0x294b, 0xc02: 0x2955, 0xc03: 0x2aac, 0xc04: 0x295f, 0xc05: 0x2969, + 0xc06: 0x2973, 0xc07: 0x2b89, 0xc08: 0x2ab9, 0xc09: 0x26eb, 0xc0a: 0x2c63, 0xc0b: 0x2ea7, + 0xc0c: 0x2b99, 0xc0d: 0x2ac6, 0xc0e: 0x2edc, 0xc0f: 0x297d, 0xc10: 0x2987, 0xc11: 0x2ad3, + 0xc12: 0x26f2, 0xc13: 0x2ae0, 0xc14: 0x2ba9, 0xc15: 0x26f9, 0xc16: 0x2c76, 0xc17: 0x2991, + 0xc18: 0x1cbd, 0xc19: 0x1cd1, 0xc1a: 0x1ce0, 0xc1b: 0x1cef, 0xc1c: 0x1cfe, 0xc1d: 0x1d0d, + 0xc1e: 0x1d1c, 0xc1f: 0x1d2b, 0xc20: 0x1d3a, 0xc21: 0x1d49, 0xc22: 0x2198, 0xc23: 0x21aa, + 0xc24: 0x21bc, 0xc25: 0x21c8, 0xc26: 0x21d4, 0xc27: 0x21e0, 0xc28: 0x21ec, 0xc29: 0x21f8, + 0xc2a: 0x2204, 0xc2b: 0x2210, 0xc2c: 0x224c, 0xc2d: 0x2258, 0xc2e: 0x2264, 0xc2f: 0x2270, + 0xc30: 0x227c, 0xc31: 0x1c1a, 0xc32: 0x19cc, 0xc33: 0x1939, 0xc34: 0x1bea, 0xc35: 0x1a4d, + 0xc36: 0x1a5c, 0xc37: 0x19d2, 0xc38: 0x1c02, 0xc39: 0x1c06, 0xc3a: 0x1963, 0xc3b: 0x270e, + 0xc3c: 0x271c, 0xc3d: 0x2707, 0xc3e: 0x2715, 0xc3f: 0x2aed, + // Block 0x31, offset 0xc40 + 0xc40: 0x1a50, 0xc41: 0x1a38, 0xc42: 0x1c66, 0xc43: 0x1a20, 0xc44: 0x19f9, 0xc45: 0x196c, + 0xc46: 0x197b, 0xc47: 0x194b, 0xc48: 0x1bf6, 0xc49: 0x1d58, 0xc4a: 0x1a53, 0xc4b: 0x1a3b, + 0xc4c: 0x1c6a, 0xc4d: 0x1c76, 0xc4e: 0x1a2c, 0xc4f: 0x1a02, 0xc50: 0x195a, 0xc51: 0x1c22, + 0xc52: 0x1bb6, 0xc53: 0x1ba2, 0xc54: 0x1bd2, 0xc55: 0x1c7a, 0xc56: 0x1a2f, 0xc57: 0x19cf, + 0xc58: 0x1a05, 0xc59: 0x19e4, 0xc5a: 0x1a47, 0xc5b: 0x1c7e, 0xc5c: 0x1a32, 0xc5d: 0x19c6, + 0xc5e: 0x1a08, 0xc5f: 0x1c42, 0xc60: 0x1bfa, 0xc61: 0x1a1a, 0xc62: 0x1c2a, 0xc63: 0x1c46, + 0xc64: 0x1bfe, 0xc65: 0x1a1d, 0xc66: 0x1c2e, 0xc67: 0x22ee, 0xc68: 0x2302, 0xc69: 0x199c, + 0xc6a: 0x1c26, 0xc6b: 0x1bba, 0xc6c: 0x1ba6, 0xc6d: 0x1c4e, 0xc6e: 0x2723, 0xc6f: 0x27ba, + 0xc70: 0x1a5f, 0xc71: 0x1a4a, 0xc72: 0x1c82, 0xc73: 0x1a35, 0xc74: 0x1a56, 0xc75: 0x1a3e, + 0xc76: 0x1c6e, 0xc77: 0x1a23, 0xc78: 0x19fc, 0xc79: 0x1987, 0xc7a: 0x1a59, 0xc7b: 0x1a41, + 0xc7c: 0x1c72, 0xc7d: 0x1a26, 0xc7e: 0x19ff, 0xc7f: 0x198a, + // Block 0x32, offset 0xc80 + 0xc80: 0x1c32, 0xc81: 0x1bbe, 0xc82: 0x1d53, 0xc83: 0x193c, 0xc84: 0x19c0, 0xc85: 0x19c3, + 0xc86: 0x22fb, 0xc87: 0x1b9a, 0xc88: 0x19c9, 0xc89: 0x194e, 0xc8a: 0x19e7, 0xc8b: 0x1951, + 0xc8c: 0x19f0, 0xc8d: 0x196f, 0xc8e: 0x1972, 0xc8f: 0x1a0b, 0xc90: 0x1a11, 0xc91: 0x1a14, + 0xc92: 0x1c36, 0xc93: 0x1a17, 0xc94: 0x1a29, 0xc95: 0x1c3e, 0xc96: 0x1c4a, 0xc97: 0x1996, + 0xc98: 0x1d5d, 0xc99: 0x1bc2, 0xc9a: 0x1999, 0xc9b: 0x1a62, 0xc9c: 0x19ab, 0xc9d: 0x19ba, + 0xc9e: 0x22e8, 0xc9f: 0x22e2, 0xca0: 0x1cc7, 0xca1: 0x1cd6, 0xca2: 0x1ce5, 0xca3: 0x1cf4, + 0xca4: 0x1d03, 0xca5: 0x1d12, 0xca6: 0x1d21, 0xca7: 0x1d30, 0xca8: 0x1d3f, 0xca9: 0x218c, + 0xcaa: 0x219e, 0xcab: 0x21b0, 0xcac: 0x21c2, 0xcad: 0x21ce, 0xcae: 0x21da, 0xcaf: 0x21e6, + 0xcb0: 0x21f2, 0xcb1: 0x21fe, 0xcb2: 0x220a, 0xcb3: 0x2246, 0xcb4: 0x2252, 0xcb5: 0x225e, + 0xcb6: 0x226a, 0xcb7: 0x2276, 0xcb8: 0x2282, 0xcb9: 0x2288, 0xcba: 0x228e, 0xcbb: 0x2294, + 0xcbc: 0x229a, 0xcbd: 0x22ac, 0xcbe: 0x22b2, 0xcbf: 0x1c16, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x137a, 0xcc1: 0x0cfe, 0xcc2: 0x13d6, 0xcc3: 0x13a2, 0xcc4: 0x0e5a, 0xcc5: 0x06ee, + 0xcc6: 0x08e2, 0xcc7: 0x162e, 0xcc8: 0x162e, 0xcc9: 0x0a0e, 0xcca: 0x1462, 0xccb: 0x0946, + 0xccc: 0x0a0a, 0xccd: 0x0bf2, 0xcce: 0x0fd2, 0xccf: 0x1162, 0xcd0: 0x129a, 0xcd1: 0x12d6, + 0xcd2: 0x130a, 0xcd3: 0x141e, 0xcd4: 0x0d76, 0xcd5: 0x0e02, 0xcd6: 0x0eae, 0xcd7: 0x0f46, + 0xcd8: 0x1262, 0xcd9: 0x144a, 0xcda: 0x1576, 0xcdb: 0x0712, 0xcdc: 0x08b6, 0xcdd: 0x0d8a, + 0xcde: 0x0ed2, 0xcdf: 0x1296, 0xce0: 0x15c6, 0xce1: 0x0ab6, 0xce2: 0x0e7a, 0xce3: 0x1286, + 0xce4: 0x131a, 0xce5: 0x0c26, 0xce6: 0x11be, 0xce7: 0x12e2, 0xce8: 0x0b22, 0xce9: 0x0d12, + 0xcea: 0x0e1a, 0xceb: 0x0f1e, 0xcec: 0x142a, 0xced: 0x0752, 0xcee: 0x07ea, 0xcef: 0x0856, + 0xcf0: 0x0c8e, 0xcf1: 0x0d82, 0xcf2: 0x0ece, 0xcf3: 0x0ff2, 0xcf4: 0x117a, 0xcf5: 0x128e, + 0xcf6: 0x12a6, 0xcf7: 0x13ca, 0xcf8: 0x14f2, 0xcf9: 0x15a6, 0xcfa: 0x15c2, 0xcfb: 0x102e, + 0xcfc: 0x106e, 0xcfd: 0x1126, 0xcfe: 0x1246, 0xcff: 0x147e, + // Block 0x34, offset 0xd00 + 0xd00: 0x15ce, 0xd01: 0x134e, 0xd02: 0x09ca, 0xd03: 0x0b3e, 0xd04: 0x10de, 0xd05: 0x119e, + 0xd06: 0x0f02, 0xd07: 0x1036, 0xd08: 0x139a, 0xd09: 0x14ea, 0xd0a: 0x09c6, 0xd0b: 0x0a92, + 0xd0c: 0x0d7a, 0xd0d: 0x0e2e, 0xd0e: 0x0e62, 0xd0f: 0x1116, 0xd10: 0x113e, 0xd11: 0x14aa, + 0xd12: 0x0852, 0xd13: 0x11aa, 0xd14: 0x07f6, 0xd15: 0x07f2, 0xd16: 0x109a, 0xd17: 0x112a, + 0xd18: 0x125e, 0xd19: 0x14b2, 0xd1a: 0x136a, 0xd1b: 0x0c2a, 0xd1c: 0x0d76, 0xd1d: 0x135a, + 0xd1e: 0x06fa, 0xd1f: 0x0a66, 0xd20: 0x0b96, 0xd21: 0x0f32, 0xd22: 0x0fb2, 0xd23: 0x0876, + 0xd24: 0x103e, 0xd25: 0x0762, 0xd26: 0x0b7a, 0xd27: 0x06da, 0xd28: 0x0dee, 0xd29: 0x0ca6, + 0xd2a: 0x1112, 0xd2b: 0x08ca, 0xd2c: 0x09b6, 0xd2d: 0x0ffe, 0xd2e: 0x1266, 0xd2f: 0x133e, + 0xd30: 0x0dba, 0xd31: 0x13fa, 0xd32: 0x0de6, 0xd33: 0x0c3a, 0xd34: 0x121e, 0xd35: 0x0c5a, + 0xd36: 0x0fae, 0xd37: 0x072e, 0xd38: 0x07aa, 0xd39: 0x07ee, 0xd3a: 0x0d56, 0xd3b: 0x10fe, + 0xd3c: 0x11f6, 0xd3d: 0x134a, 0xd3e: 0x145e, 0xd3f: 0x085e, + // Block 0x35, offset 0xd40 + 0xd40: 0x0912, 0xd41: 0x0a1a, 0xd42: 0x0b32, 0xd43: 0x0cc2, 0xd44: 0x0e7e, 0xd45: 0x1042, + 0xd46: 0x149a, 0xd47: 0x157e, 0xd48: 0x15d2, 0xd49: 0x15ea, 0xd4a: 0x083a, 0xd4b: 0x0cf6, + 0xd4c: 0x0da6, 0xd4d: 0x13ee, 0xd4e: 0x0afe, 0xd4f: 0x0bda, 0xd50: 0x0bf6, 0xd51: 0x0c86, + 0xd52: 0x0e6e, 0xd53: 0x0eba, 0xd54: 0x0f6a, 0xd55: 0x108e, 0xd56: 0x1132, 0xd57: 0x1196, + 0xd58: 0x13de, 0xd59: 0x126e, 0xd5a: 0x1406, 0xd5b: 0x1482, 0xd5c: 0x0812, 0xd5d: 0x083e, + 0xd5e: 0x0926, 0xd5f: 0x0eaa, 0xd60: 0x12f6, 0xd61: 0x133e, 0xd62: 0x0b1e, 0xd63: 0x0b8e, + 0xd64: 0x0c52, 0xd65: 0x0db2, 0xd66: 0x10da, 0xd67: 0x0f26, 0xd68: 0x073e, 0xd69: 0x0982, + 0xd6a: 0x0a66, 0xd6b: 0x0aca, 0xd6c: 0x0b9a, 0xd6d: 0x0f42, 0xd6e: 0x0f5e, 0xd6f: 0x116e, + 0xd70: 0x118e, 0xd71: 0x1466, 0xd72: 0x14e6, 0xd73: 0x14f6, 0xd74: 0x1532, 0xd75: 0x0756, + 0xd76: 0x1082, 0xd77: 0x1452, 0xd78: 0x14ce, 0xd79: 0x0bb2, 0xd7a: 0x071a, 0xd7b: 0x077a, + 0xd7c: 0x0a6a, 0xd7d: 0x0a8a, 0xd7e: 0x0cb2, 0xd7f: 0x0d76, + // Block 0x36, offset 0xd80 + 0xd80: 0x0ec6, 0xd81: 0x0fce, 0xd82: 0x127a, 0xd83: 0x141a, 0xd84: 0x1626, 0xd85: 0x0ce6, + 0xd86: 0x14a6, 0xd87: 0x0836, 0xd88: 0x0d32, 0xd89: 0x0d3e, 0xd8a: 0x0e12, 0xd8b: 0x0e4a, + 0xd8c: 0x0f4e, 0xd8d: 0x0faa, 0xd8e: 0x102a, 0xd8f: 0x110e, 0xd90: 0x153e, 0xd91: 0x07b2, + 0xd92: 0x0c06, 0xd93: 0x14b6, 0xd94: 0x076a, 0xd95: 0x0aae, 0xd96: 0x0e32, 0xd97: 0x13e2, + 0xd98: 0x0b6a, 0xd99: 0x0bba, 0xd9a: 0x0d46, 0xd9b: 0x0f32, 0xd9c: 0x14be, 0xd9d: 0x081a, + 0xd9e: 0x0902, 0xd9f: 0x0a9a, 0xda0: 0x0cd6, 0xda1: 0x0d22, 0xda2: 0x0d62, 0xda3: 0x0df6, + 0xda4: 0x0f4a, 0xda5: 0x0fbe, 0xda6: 0x115a, 0xda7: 0x12fa, 0xda8: 0x1306, 0xda9: 0x145a, + 0xdaa: 0x14da, 0xdab: 0x0886, 0xdac: 0x0e4e, 0xdad: 0x0906, 0xdae: 0x0eca, 0xdaf: 0x0f6e, + 0xdb0: 0x128a, 0xdb1: 0x14c2, 0xdb2: 0x15ae, 0xdb3: 0x15d6, 0xdb4: 0x0d3a, 0xdb5: 0x0e2a, + 0xdb6: 0x11c6, 0xdb7: 0x10ba, 0xdb8: 0x10c6, 0xdb9: 0x10ea, 0xdba: 0x0f1a, 0xdbb: 0x0ea2, + 0xdbc: 0x1366, 0xdbd: 0x0736, 0xdbe: 0x122e, 0xdbf: 0x081e, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x080e, 0xdc1: 0x0b0e, 0xdc2: 0x0c2e, 0xdc3: 0x10f6, 0xdc4: 0x0a56, 0xdc5: 0x0e06, + 0xdc6: 0x0cf2, 0xdc7: 0x13ea, 0xdc8: 0x12ea, 0xdc9: 0x14ae, 0xdca: 0x1326, 0xdcb: 0x0b2a, + 0xdcc: 0x078a, 0xdcd: 0x095e, 0xdd0: 0x09b2, + 0xdd2: 0x0ce2, 0xdd5: 0x07fa, 0xdd6: 0x0f22, 0xdd7: 0x0fe6, + 0xdd8: 0x104a, 0xdd9: 0x1066, 0xdda: 0x106a, 0xddb: 0x107e, 0xddc: 0x14fe, 0xddd: 0x10ee, + 0xdde: 0x1172, 0xde0: 0x1292, 0xde2: 0x1356, + 0xde5: 0x140a, 0xde6: 0x1436, + 0xdea: 0x1552, 0xdeb: 0x1556, 0xdec: 0x155a, 0xded: 0x15be, 0xdee: 0x142e, 0xdef: 0x14ca, + 0xdf0: 0x075a, 0xdf1: 0x077e, 0xdf2: 0x0792, 0xdf3: 0x084e, 0xdf4: 0x085a, 0xdf5: 0x089a, + 0xdf6: 0x094e, 0xdf7: 0x096a, 0xdf8: 0x0972, 0xdf9: 0x09ae, 0xdfa: 0x09ba, 0xdfb: 0x0a96, + 0xdfc: 0x0a9e, 0xdfd: 0x0ba6, 0xdfe: 0x0bce, 0xdff: 0x0bd6, + // Block 0x38, offset 0xe00 + 0xe00: 0x0bee, 0xe01: 0x0c9a, 0xe02: 0x0cca, 0xe03: 0x0cea, 0xe04: 0x0d5a, 0xe05: 0x0e1e, + 0xe06: 0x0e3a, 0xe07: 0x0e6a, 0xe08: 0x0ebe, 0xe09: 0x0ede, 0xe0a: 0x0f52, 0xe0b: 0x1032, + 0xe0c: 0x104e, 0xe0d: 0x1056, 0xe0e: 0x1052, 0xe0f: 0x105a, 0xe10: 0x105e, 0xe11: 0x1062, + 0xe12: 0x1076, 0xe13: 0x107a, 0xe14: 0x109e, 0xe15: 0x10b2, 0xe16: 0x10ce, 0xe17: 0x1132, + 0xe18: 0x113a, 0xe19: 0x1142, 0xe1a: 0x1156, 0xe1b: 0x117e, 0xe1c: 0x11ce, 0xe1d: 0x1202, + 0xe1e: 0x1202, 0xe1f: 0x126a, 0xe20: 0x1312, 0xe21: 0x132a, 0xe22: 0x135e, 0xe23: 0x1362, + 0xe24: 0x13a6, 0xe25: 0x13aa, 0xe26: 0x1402, 0xe27: 0x140a, 0xe28: 0x14de, 0xe29: 0x1522, + 0xe2a: 0x153a, 0xe2b: 0x0b9e, 0xe2c: 0x1721, 0xe2d: 0x11e6, + 0xe30: 0x06e2, 0xe31: 0x07e6, 0xe32: 0x07a6, 0xe33: 0x074e, 0xe34: 0x078e, 0xe35: 0x07ba, + 0xe36: 0x084a, 0xe37: 0x0866, 0xe38: 0x094e, 0xe39: 0x093a, 0xe3a: 0x094a, 0xe3b: 0x0966, + 0xe3c: 0x09b2, 0xe3d: 0x09c2, 0xe3e: 0x0a06, 0xe3f: 0x0a12, + // Block 0x39, offset 0xe40 + 0xe40: 0x0a2e, 0xe41: 0x0a3e, 0xe42: 0x0b26, 0xe43: 0x0b2e, 0xe44: 0x0b5e, 0xe45: 0x0b7e, + 0xe46: 0x0bae, 0xe47: 0x0bc6, 0xe48: 0x0bb6, 0xe49: 0x0bd6, 0xe4a: 0x0bca, 0xe4b: 0x0bee, + 0xe4c: 0x0c0a, 0xe4d: 0x0c62, 0xe4e: 0x0c6e, 0xe4f: 0x0c76, 0xe50: 0x0c9e, 0xe51: 0x0ce2, + 0xe52: 0x0d12, 0xe53: 0x0d16, 0xe54: 0x0d2a, 0xe55: 0x0daa, 0xe56: 0x0dba, 0xe57: 0x0e12, + 0xe58: 0x0e5e, 0xe59: 0x0e56, 0xe5a: 0x0e6a, 0xe5b: 0x0e86, 0xe5c: 0x0ebe, 0xe5d: 0x1016, + 0xe5e: 0x0ee2, 0xe5f: 0x0f16, 0xe60: 0x0f22, 0xe61: 0x0f62, 0xe62: 0x0f7e, 0xe63: 0x0fa2, + 0xe64: 0x0fc6, 0xe65: 0x0fca, 0xe66: 0x0fe6, 0xe67: 0x0fea, 0xe68: 0x0ffa, 0xe69: 0x100e, + 0xe6a: 0x100a, 0xe6b: 0x103a, 0xe6c: 0x10b6, 0xe6d: 0x10ce, 0xe6e: 0x10e6, 0xe6f: 0x111e, + 0xe70: 0x1132, 0xe71: 0x114e, 0xe72: 0x117e, 0xe73: 0x1232, 0xe74: 0x125a, 0xe75: 0x12ce, + 0xe76: 0x1316, 0xe77: 0x1322, 0xe78: 0x132a, 0xe79: 0x1342, 0xe7a: 0x1356, 0xe7b: 0x1346, + 0xe7c: 0x135e, 0xe7d: 0x135a, 0xe7e: 0x1352, 0xe7f: 0x1362, + // Block 0x3a, offset 0xe80 + 0xe80: 0x136e, 0xe81: 0x13aa, 0xe82: 0x13e6, 0xe83: 0x1416, 0xe84: 0x144e, 0xe85: 0x146e, + 0xe86: 0x14ba, 0xe87: 0x14de, 0xe88: 0x14fe, 0xe89: 0x1512, 0xe8a: 0x1522, 0xe8b: 0x152e, + 0xe8c: 0x153a, 0xe8d: 0x158e, 0xe8e: 0x162e, 0xe8f: 0x16b8, 0xe90: 0x16b3, 0xe91: 0x16e5, + 0xe92: 0x060a, 0xe93: 0x0632, 0xe94: 0x0636, 0xe95: 0x1767, 0xe96: 0x1794, 0xe97: 0x180c, + 0xe98: 0x161a, 0xe99: 0x162a, + // Block 0x3b, offset 0xec0 + 0xec0: 0x19db, 0xec1: 0x19de, 0xec2: 0x19e1, 0xec3: 0x1c0e, 0xec4: 0x1c12, 0xec5: 0x1a65, + 0xec6: 0x1a65, + 0xed3: 0x1d7b, 0xed4: 0x1d6c, 0xed5: 0x1d71, 0xed6: 0x1d80, 0xed7: 0x1d76, + 0xedd: 0x43a7, + 0xede: 0x8116, 0xedf: 0x4419, 0xee0: 0x0230, 0xee1: 0x0218, 0xee2: 0x0221, 0xee3: 0x0224, + 0xee4: 0x0227, 0xee5: 0x022a, 0xee6: 0x022d, 0xee7: 0x0233, 0xee8: 0x0236, 0xee9: 0x0017, + 0xeea: 0x4407, 0xeeb: 0x440d, 0xeec: 0x450b, 0xeed: 0x4513, 0xeee: 0x435f, 0xeef: 0x4365, + 0xef0: 0x436b, 0xef1: 0x4371, 0xef2: 0x437d, 0xef3: 0x4383, 0xef4: 0x4389, 0xef5: 0x4395, + 0xef6: 0x439b, 0xef8: 0x43a1, 0xef9: 0x43ad, 0xefa: 0x43b3, 0xefb: 0x43b9, + 0xefc: 0x43c5, 0xefe: 0x43cb, + // Block 0x3c, offset 0xf00 + 0xf00: 0x43d1, 0xf01: 0x43d7, 0xf03: 0x43dd, 0xf04: 0x43e3, + 0xf06: 0x43ef, 0xf07: 0x43f5, 0xf08: 0x43fb, 0xf09: 0x4401, 0xf0a: 0x4413, 0xf0b: 0x438f, + 0xf0c: 0x4377, 0xf0d: 0x43bf, 0xf0e: 0x43e9, 0xf0f: 0x1d85, 0xf10: 0x029c, 0xf11: 0x029c, + 0xf12: 0x02a5, 0xf13: 0x02a5, 0xf14: 0x02a5, 0xf15: 0x02a5, 0xf16: 0x02a8, 0xf17: 0x02a8, + 0xf18: 0x02a8, 0xf19: 0x02a8, 0xf1a: 0x02ae, 0xf1b: 0x02ae, 0xf1c: 0x02ae, 0xf1d: 0x02ae, + 0xf1e: 0x02a2, 0xf1f: 0x02a2, 0xf20: 0x02a2, 0xf21: 0x02a2, 0xf22: 0x02ab, 0xf23: 0x02ab, + 0xf24: 0x02ab, 0xf25: 0x02ab, 0xf26: 0x029f, 0xf27: 0x029f, 0xf28: 0x029f, 0xf29: 0x029f, + 0xf2a: 0x02d2, 0xf2b: 0x02d2, 0xf2c: 0x02d2, 0xf2d: 0x02d2, 0xf2e: 0x02d5, 0xf2f: 0x02d5, + 0xf30: 0x02d5, 0xf31: 0x02d5, 0xf32: 0x02b4, 0xf33: 0x02b4, 0xf34: 0x02b4, 0xf35: 0x02b4, + 0xf36: 0x02b1, 0xf37: 0x02b1, 0xf38: 0x02b1, 0xf39: 0x02b1, 0xf3a: 0x02b7, 0xf3b: 0x02b7, + 0xf3c: 0x02b7, 0xf3d: 0x02b7, 0xf3e: 0x02ba, 0xf3f: 0x02ba, + // Block 0x3d, offset 0xf40 + 0xf40: 0x02ba, 0xf41: 0x02ba, 0xf42: 0x02c3, 0xf43: 0x02c3, 0xf44: 0x02c0, 0xf45: 0x02c0, + 0xf46: 0x02c6, 0xf47: 0x02c6, 0xf48: 0x02bd, 0xf49: 0x02bd, 0xf4a: 0x02cc, 0xf4b: 0x02cc, + 0xf4c: 0x02c9, 0xf4d: 0x02c9, 0xf4e: 0x02d8, 0xf4f: 0x02d8, 0xf50: 0x02d8, 0xf51: 0x02d8, + 0xf52: 0x02de, 0xf53: 0x02de, 0xf54: 0x02de, 0xf55: 0x02de, 0xf56: 0x02e4, 0xf57: 0x02e4, + 0xf58: 0x02e4, 0xf59: 0x02e4, 0xf5a: 0x02e1, 0xf5b: 0x02e1, 0xf5c: 0x02e1, 0xf5d: 0x02e1, + 0xf5e: 0x02e7, 0xf5f: 0x02e7, 0xf60: 0x02ea, 0xf61: 0x02ea, 0xf62: 0x02ea, 0xf63: 0x02ea, + 0xf64: 0x4485, 0xf65: 0x4485, 0xf66: 0x02f0, 0xf67: 0x02f0, 0xf68: 0x02f0, 0xf69: 0x02f0, + 0xf6a: 0x02ed, 0xf6b: 0x02ed, 0xf6c: 0x02ed, 0xf6d: 0x02ed, 0xf6e: 0x030b, 0xf6f: 0x030b, + 0xf70: 0x447f, 0xf71: 0x447f, + // Block 0x3e, offset 0xf80 + 0xf93: 0x02db, 0xf94: 0x02db, 0xf95: 0x02db, 0xf96: 0x02db, 0xf97: 0x02f9, + 0xf98: 0x02f9, 0xf99: 0x02f6, 0xf9a: 0x02f6, 0xf9b: 0x02fc, 0xf9c: 0x02fc, 0xf9d: 0x2055, + 0xf9e: 0x0302, 0xf9f: 0x0302, 0xfa0: 0x02f3, 0xfa1: 0x02f3, 0xfa2: 0x02ff, 0xfa3: 0x02ff, + 0xfa4: 0x0308, 0xfa5: 0x0308, 0xfa6: 0x0308, 0xfa7: 0x0308, 0xfa8: 0x0290, 0xfa9: 0x0290, + 0xfaa: 0x25b0, 0xfab: 0x25b0, 0xfac: 0x2620, 0xfad: 0x2620, 0xfae: 0x25ef, 0xfaf: 0x25ef, + 0xfb0: 0x260b, 0xfb1: 0x260b, 0xfb2: 0x2604, 0xfb3: 0x2604, 0xfb4: 0x2612, 0xfb5: 0x2612, + 0xfb6: 0x2619, 0xfb7: 0x2619, 0xfb8: 0x2619, 0xfb9: 0x25f6, 0xfba: 0x25f6, 0xfbb: 0x25f6, + 0xfbc: 0x0305, 0xfbd: 0x0305, 0xfbe: 0x0305, 0xfbf: 0x0305, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x25b7, 0xfc1: 0x25be, 0xfc2: 0x25da, 0xfc3: 0x25f6, 0xfc4: 0x25fd, 0xfc5: 0x1d8f, + 0xfc6: 0x1d94, 0xfc7: 0x1d99, 0xfc8: 0x1da8, 0xfc9: 0x1db7, 0xfca: 0x1dbc, 0xfcb: 0x1dc1, + 0xfcc: 0x1dc6, 0xfcd: 0x1dcb, 0xfce: 0x1dda, 0xfcf: 0x1de9, 0xfd0: 0x1dee, 0xfd1: 0x1df3, + 0xfd2: 0x1e02, 0xfd3: 0x1e11, 0xfd4: 0x1e16, 0xfd5: 0x1e1b, 0xfd6: 0x1e20, 0xfd7: 0x1e2f, + 0xfd8: 0x1e34, 0xfd9: 0x1e43, 0xfda: 0x1e48, 0xfdb: 0x1e4d, 0xfdc: 0x1e5c, 0xfdd: 0x1e61, + 0xfde: 0x1e66, 0xfdf: 0x1e70, 0xfe0: 0x1eac, 0xfe1: 0x1ebb, 0xfe2: 0x1eca, 0xfe3: 0x1ecf, + 0xfe4: 0x1ed4, 0xfe5: 0x1ede, 0xfe6: 0x1eed, 0xfe7: 0x1ef2, 0xfe8: 0x1f01, 0xfe9: 0x1f06, + 0xfea: 0x1f0b, 0xfeb: 0x1f1a, 0xfec: 0x1f1f, 0xfed: 0x1f2e, 0xfee: 0x1f33, 0xfef: 0x1f38, + 0xff0: 0x1f3d, 0xff1: 0x1f42, 0xff2: 0x1f47, 0xff3: 0x1f4c, 0xff4: 0x1f51, 0xff5: 0x1f56, + 0xff6: 0x1f5b, 0xff7: 0x1f60, 0xff8: 0x1f65, 0xff9: 0x1f6a, 0xffa: 0x1f6f, 0xffb: 0x1f74, + 0xffc: 0x1f79, 0xffd: 0x1f7e, 0xffe: 0x1f83, 0xfff: 0x1f8d, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f92, 0x1001: 0x1f97, 0x1002: 0x1f9c, 0x1003: 0x1fa6, 0x1004: 0x1fab, 0x1005: 0x1fb5, + 0x1006: 0x1fba, 0x1007: 0x1fbf, 0x1008: 0x1fc4, 0x1009: 0x1fc9, 0x100a: 0x1fce, 0x100b: 0x1fd3, + 0x100c: 0x1fd8, 0x100d: 0x1fdd, 0x100e: 0x1fec, 0x100f: 0x1ffb, 0x1010: 0x2000, 0x1011: 0x2005, + 0x1012: 0x200a, 0x1013: 0x200f, 0x1014: 0x2014, 0x1015: 0x201e, 0x1016: 0x2023, 0x1017: 0x2028, + 0x1018: 0x2037, 0x1019: 0x2046, 0x101a: 0x204b, 0x101b: 0x4437, 0x101c: 0x443d, 0x101d: 0x4473, + 0x101e: 0x44ca, 0x101f: 0x44d1, 0x1020: 0x44d8, 0x1021: 0x44df, 0x1022: 0x44e6, 0x1023: 0x44ed, + 0x1024: 0x25cc, 0x1025: 0x25d3, 0x1026: 0x25da, 0x1027: 0x25e1, 0x1028: 0x25f6, 0x1029: 0x25fd, + 0x102a: 0x1d9e, 0x102b: 0x1da3, 0x102c: 0x1da8, 0x102d: 0x1dad, 0x102e: 0x1db7, 0x102f: 0x1dbc, + 0x1030: 0x1dd0, 0x1031: 0x1dd5, 0x1032: 0x1dda, 0x1033: 0x1ddf, 0x1034: 0x1de9, 0x1035: 0x1dee, + 0x1036: 0x1df8, 0x1037: 0x1dfd, 0x1038: 0x1e02, 0x1039: 0x1e07, 0x103a: 0x1e11, 0x103b: 0x1e16, + 0x103c: 0x1f42, 0x103d: 0x1f47, 0x103e: 0x1f56, 0x103f: 0x1f5b, + // Block 0x41, offset 0x1040 + 0x1040: 0x1f60, 0x1041: 0x1f74, 0x1042: 0x1f79, 0x1043: 0x1f7e, 0x1044: 0x1f83, 0x1045: 0x1f9c, + 0x1046: 0x1fa6, 0x1047: 0x1fab, 0x1048: 0x1fb0, 0x1049: 0x1fc4, 0x104a: 0x1fe2, 0x104b: 0x1fe7, + 0x104c: 0x1fec, 0x104d: 0x1ff1, 0x104e: 0x1ffb, 0x104f: 0x2000, 0x1050: 0x4473, 0x1051: 0x202d, + 0x1052: 0x2032, 0x1053: 0x2037, 0x1054: 0x203c, 0x1055: 0x2046, 0x1056: 0x204b, 0x1057: 0x25b7, + 0x1058: 0x25be, 0x1059: 0x25c5, 0x105a: 0x25da, 0x105b: 0x25e8, 0x105c: 0x1d8f, 0x105d: 0x1d94, + 0x105e: 0x1d99, 0x105f: 0x1da8, 0x1060: 0x1db2, 0x1061: 0x1dc1, 0x1062: 0x1dc6, 0x1063: 0x1dcb, + 0x1064: 0x1dda, 0x1065: 0x1de4, 0x1066: 0x1e02, 0x1067: 0x1e1b, 0x1068: 0x1e20, 0x1069: 0x1e2f, + 0x106a: 0x1e34, 0x106b: 0x1e43, 0x106c: 0x1e4d, 0x106d: 0x1e5c, 0x106e: 0x1e61, 0x106f: 0x1e66, + 0x1070: 0x1e70, 0x1071: 0x1eac, 0x1072: 0x1eb1, 0x1073: 0x1ebb, 0x1074: 0x1eca, 0x1075: 0x1ecf, + 0x1076: 0x1ed4, 0x1077: 0x1ede, 0x1078: 0x1eed, 0x1079: 0x1f01, 0x107a: 0x1f06, 0x107b: 0x1f0b, + 0x107c: 0x1f1a, 0x107d: 0x1f1f, 0x107e: 0x1f2e, 0x107f: 0x1f33, + // Block 0x42, offset 0x1080 + 0x1080: 0x1f38, 0x1081: 0x1f3d, 0x1082: 0x1f4c, 0x1083: 0x1f51, 0x1084: 0x1f65, 0x1085: 0x1f6a, + 0x1086: 0x1f6f, 0x1087: 0x1f74, 0x1088: 0x1f79, 0x1089: 0x1f8d, 0x108a: 0x1f92, 0x108b: 0x1f97, + 0x108c: 0x1f9c, 0x108d: 0x1fa1, 0x108e: 0x1fb5, 0x108f: 0x1fba, 0x1090: 0x1fbf, 0x1091: 0x1fc4, + 0x1092: 0x1fd3, 0x1093: 0x1fd8, 0x1094: 0x1fdd, 0x1095: 0x1fec, 0x1096: 0x1ff6, 0x1097: 0x2005, + 0x1098: 0x200a, 0x1099: 0x4467, 0x109a: 0x201e, 0x109b: 0x2023, 0x109c: 0x2028, 0x109d: 0x2037, + 0x109e: 0x2041, 0x109f: 0x25da, 0x10a0: 0x25e8, 0x10a1: 0x1da8, 0x10a2: 0x1db2, 0x10a3: 0x1dda, + 0x10a4: 0x1de4, 0x10a5: 0x1e02, 0x10a6: 0x1e0c, 0x10a7: 0x1e70, 0x10a8: 0x1e75, 0x10a9: 0x1e98, + 0x10aa: 0x1e9d, 0x10ab: 0x1f74, 0x10ac: 0x1f79, 0x10ad: 0x1f9c, 0x10ae: 0x1fec, 0x10af: 0x1ff6, + 0x10b0: 0x2037, 0x10b1: 0x2041, 0x10b2: 0x451b, 0x10b3: 0x4523, 0x10b4: 0x452b, 0x10b5: 0x1ef7, + 0x10b6: 0x1efc, 0x10b7: 0x1f10, 0x10b8: 0x1f15, 0x10b9: 0x1f24, 0x10ba: 0x1f29, 0x10bb: 0x1e7a, + 0x10bc: 0x1e7f, 0x10bd: 0x1ea2, 0x10be: 0x1ea7, 0x10bf: 0x1e39, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x1e3e, 0x10c1: 0x1e25, 0x10c2: 0x1e2a, 0x10c3: 0x1e52, 0x10c4: 0x1e57, 0x10c5: 0x1ec0, + 0x10c6: 0x1ec5, 0x10c7: 0x1ee3, 0x10c8: 0x1ee8, 0x10c9: 0x1e84, 0x10ca: 0x1e89, 0x10cb: 0x1e8e, + 0x10cc: 0x1e98, 0x10cd: 0x1e93, 0x10ce: 0x1e6b, 0x10cf: 0x1eb6, 0x10d0: 0x1ed9, 0x10d1: 0x1ef7, + 0x10d2: 0x1efc, 0x10d3: 0x1f10, 0x10d4: 0x1f15, 0x10d5: 0x1f24, 0x10d6: 0x1f29, 0x10d7: 0x1e7a, + 0x10d8: 0x1e7f, 0x10d9: 0x1ea2, 0x10da: 0x1ea7, 0x10db: 0x1e39, 0x10dc: 0x1e3e, 0x10dd: 0x1e25, + 0x10de: 0x1e2a, 0x10df: 0x1e52, 0x10e0: 0x1e57, 0x10e1: 0x1ec0, 0x10e2: 0x1ec5, 0x10e3: 0x1ee3, + 0x10e4: 0x1ee8, 0x10e5: 0x1e84, 0x10e6: 0x1e89, 0x10e7: 0x1e8e, 0x10e8: 0x1e98, 0x10e9: 0x1e93, + 0x10ea: 0x1e6b, 0x10eb: 0x1eb6, 0x10ec: 0x1ed9, 0x10ed: 0x1e84, 0x10ee: 0x1e89, 0x10ef: 0x1e8e, + 0x10f0: 0x1e98, 0x10f1: 0x1e75, 0x10f2: 0x1e9d, 0x10f3: 0x1ef2, 0x10f4: 0x1e5c, 0x10f5: 0x1e61, + 0x10f6: 0x1e66, 0x10f7: 0x1e84, 0x10f8: 0x1e89, 0x10f9: 0x1e8e, 0x10fa: 0x1ef2, 0x10fb: 0x1f01, + 0x10fc: 0x441f, 0x10fd: 0x441f, + // Block 0x44, offset 0x1100 + 0x1110: 0x2317, 0x1111: 0x232c, + 0x1112: 0x232c, 0x1113: 0x2333, 0x1114: 0x233a, 0x1115: 0x234f, 0x1116: 0x2356, 0x1117: 0x235d, + 0x1118: 0x2380, 0x1119: 0x2380, 0x111a: 0x23a3, 0x111b: 0x239c, 0x111c: 0x23b8, 0x111d: 0x23aa, + 0x111e: 0x23b1, 0x111f: 0x23d4, 0x1120: 0x23d4, 0x1121: 0x23cd, 0x1122: 0x23db, 0x1123: 0x23db, + 0x1124: 0x2405, 0x1125: 0x2405, 0x1126: 0x2421, 0x1127: 0x23e9, 0x1128: 0x23e9, 0x1129: 0x23e2, + 0x112a: 0x23f7, 0x112b: 0x23f7, 0x112c: 0x23fe, 0x112d: 0x23fe, 0x112e: 0x2428, 0x112f: 0x2436, + 0x1130: 0x2436, 0x1131: 0x243d, 0x1132: 0x243d, 0x1133: 0x2444, 0x1134: 0x244b, 0x1135: 0x2452, + 0x1136: 0x2459, 0x1137: 0x2459, 0x1138: 0x2460, 0x1139: 0x246e, 0x113a: 0x247c, 0x113b: 0x2475, + 0x113c: 0x2483, 0x113d: 0x2483, 0x113e: 0x2498, 0x113f: 0x249f, + // Block 0x45, offset 0x1140 + 0x1140: 0x24d0, 0x1141: 0x24de, 0x1142: 0x24d7, 0x1143: 0x24bb, 0x1144: 0x24bb, 0x1145: 0x24e5, + 0x1146: 0x24e5, 0x1147: 0x24ec, 0x1148: 0x24ec, 0x1149: 0x2516, 0x114a: 0x251d, 0x114b: 0x2524, + 0x114c: 0x24fa, 0x114d: 0x2508, 0x114e: 0x252b, 0x114f: 0x2532, + 0x1152: 0x2501, 0x1153: 0x2586, 0x1154: 0x258d, 0x1155: 0x2563, 0x1156: 0x256a, 0x1157: 0x254e, + 0x1158: 0x254e, 0x1159: 0x2555, 0x115a: 0x257f, 0x115b: 0x2578, 0x115c: 0x25a2, 0x115d: 0x25a2, + 0x115e: 0x2310, 0x115f: 0x2325, 0x1160: 0x231e, 0x1161: 0x2348, 0x1162: 0x2341, 0x1163: 0x236b, + 0x1164: 0x2364, 0x1165: 0x238e, 0x1166: 0x2372, 0x1167: 0x2387, 0x1168: 0x23bf, 0x1169: 0x240c, + 0x116a: 0x23f0, 0x116b: 0x242f, 0x116c: 0x24c9, 0x116d: 0x24f3, 0x116e: 0x259b, 0x116f: 0x2594, + 0x1170: 0x25a9, 0x1171: 0x2540, 0x1172: 0x24a6, 0x1173: 0x2571, 0x1174: 0x2498, 0x1175: 0x24d0, + 0x1176: 0x2467, 0x1177: 0x24b4, 0x1178: 0x2547, 0x1179: 0x2539, 0x117a: 0x24c2, 0x117b: 0x24ad, + 0x117c: 0x24c2, 0x117d: 0x2547, 0x117e: 0x2379, 0x117f: 0x2395, + // Block 0x46, offset 0x1180 + 0x1180: 0x250f, 0x1181: 0x248a, 0x1182: 0x2309, 0x1183: 0x24ad, 0x1184: 0x2452, 0x1185: 0x2421, + 0x1186: 0x23c6, 0x1187: 0x255c, + 0x11b0: 0x241a, 0x11b1: 0x2491, 0x11b2: 0x27cc, 0x11b3: 0x27c3, 0x11b4: 0x27f9, 0x11b5: 0x27e7, + 0x11b6: 0x27d5, 0x11b7: 0x27f0, 0x11b8: 0x2802, 0x11b9: 0x2413, 0x11ba: 0x2c89, 0x11bb: 0x2b09, + 0x11bc: 0x27de, + // Block 0x47, offset 0x11c0 + 0x11d0: 0x0019, 0x11d1: 0x0486, + 0x11d2: 0x048a, 0x11d3: 0x0035, 0x11d4: 0x0037, 0x11d5: 0x0003, 0x11d6: 0x003f, 0x11d7: 0x04c2, + 0x11d8: 0x04c6, 0x11d9: 0x1b62, + 0x11e0: 0x8133, 0x11e1: 0x8133, 0x11e2: 0x8133, 0x11e3: 0x8133, + 0x11e4: 0x8133, 0x11e5: 0x8133, 0x11e6: 0x8133, 0x11e7: 0x812e, 0x11e8: 0x812e, 0x11e9: 0x812e, + 0x11ea: 0x812e, 0x11eb: 0x812e, 0x11ec: 0x812e, 0x11ed: 0x812e, 0x11ee: 0x8133, 0x11ef: 0x8133, + 0x11f0: 0x1876, 0x11f1: 0x0446, 0x11f2: 0x0442, 0x11f3: 0x007f, 0x11f4: 0x007f, 0x11f5: 0x0011, + 0x11f6: 0x0013, 0x11f7: 0x00b7, 0x11f8: 0x00bb, 0x11f9: 0x04ba, 0x11fa: 0x04be, 0x11fb: 0x04ae, + 0x11fc: 0x04b2, 0x11fd: 0x0496, 0x11fe: 0x049a, 0x11ff: 0x048e, + // Block 0x48, offset 0x1200 + 0x1200: 0x0492, 0x1201: 0x049e, 0x1202: 0x04a2, 0x1203: 0x04a6, 0x1204: 0x04aa, + 0x1207: 0x0077, 0x1208: 0x007b, 0x1209: 0x4280, 0x120a: 0x4280, 0x120b: 0x4280, + 0x120c: 0x4280, 0x120d: 0x007f, 0x120e: 0x007f, 0x120f: 0x007f, 0x1210: 0x0019, 0x1211: 0x0486, + 0x1212: 0x001d, 0x1214: 0x0037, 0x1215: 0x0035, 0x1216: 0x003f, 0x1217: 0x0003, + 0x1218: 0x0446, 0x1219: 0x0011, 0x121a: 0x0013, 0x121b: 0x00b7, 0x121c: 0x00bb, 0x121d: 0x04ba, + 0x121e: 0x04be, 0x121f: 0x0007, 0x1220: 0x000d, 0x1221: 0x0015, 0x1222: 0x0017, 0x1223: 0x001b, + 0x1224: 0x0039, 0x1225: 0x003d, 0x1226: 0x003b, 0x1228: 0x0079, 0x1229: 0x0009, + 0x122a: 0x000b, 0x122b: 0x0041, + 0x1230: 0x42c1, 0x1231: 0x4443, 0x1232: 0x42c6, 0x1234: 0x42cb, + 0x1236: 0x42d0, 0x1237: 0x4449, 0x1238: 0x42d5, 0x1239: 0x444f, 0x123a: 0x42da, 0x123b: 0x4455, + 0x123c: 0x42df, 0x123d: 0x445b, 0x123e: 0x42e4, 0x123f: 0x4461, + // Block 0x49, offset 0x1240 + 0x1240: 0x0239, 0x1241: 0x4425, 0x1242: 0x4425, 0x1243: 0x442b, 0x1244: 0x442b, 0x1245: 0x446d, + 0x1246: 0x446d, 0x1247: 0x4431, 0x1248: 0x4431, 0x1249: 0x4479, 0x124a: 0x4479, 0x124b: 0x4479, + 0x124c: 0x4479, 0x124d: 0x023c, 0x124e: 0x023c, 0x124f: 0x023f, 0x1250: 0x023f, 0x1251: 0x023f, + 0x1252: 0x023f, 0x1253: 0x0242, 0x1254: 0x0242, 0x1255: 0x0245, 0x1256: 0x0245, 0x1257: 0x0245, + 0x1258: 0x0245, 0x1259: 0x0248, 0x125a: 0x0248, 0x125b: 0x0248, 0x125c: 0x0248, 0x125d: 0x024b, + 0x125e: 0x024b, 0x125f: 0x024b, 0x1260: 0x024b, 0x1261: 0x024e, 0x1262: 0x024e, 0x1263: 0x024e, + 0x1264: 0x024e, 0x1265: 0x0251, 0x1266: 0x0251, 0x1267: 0x0251, 0x1268: 0x0251, 0x1269: 0x0254, + 0x126a: 0x0254, 0x126b: 0x0257, 0x126c: 0x0257, 0x126d: 0x025a, 0x126e: 0x025a, 0x126f: 0x025d, + 0x1270: 0x025d, 0x1271: 0x0260, 0x1272: 0x0260, 0x1273: 0x0260, 0x1274: 0x0260, 0x1275: 0x0263, + 0x1276: 0x0263, 0x1277: 0x0263, 0x1278: 0x0263, 0x1279: 0x0266, 0x127a: 0x0266, 0x127b: 0x0266, + 0x127c: 0x0266, 0x127d: 0x0269, 0x127e: 0x0269, 0x127f: 0x0269, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0269, 0x1281: 0x026c, 0x1282: 0x026c, 0x1283: 0x026c, 0x1284: 0x026c, 0x1285: 0x026f, + 0x1286: 0x026f, 0x1287: 0x026f, 0x1288: 0x026f, 0x1289: 0x0272, 0x128a: 0x0272, 0x128b: 0x0272, + 0x128c: 0x0272, 0x128d: 0x0275, 0x128e: 0x0275, 0x128f: 0x0275, 0x1290: 0x0275, 0x1291: 0x0278, + 0x1292: 0x0278, 0x1293: 0x0278, 0x1294: 0x0278, 0x1295: 0x027b, 0x1296: 0x027b, 0x1297: 0x027b, + 0x1298: 0x027b, 0x1299: 0x027e, 0x129a: 0x027e, 0x129b: 0x027e, 0x129c: 0x027e, 0x129d: 0x0281, + 0x129e: 0x0281, 0x129f: 0x0281, 0x12a0: 0x0281, 0x12a1: 0x0284, 0x12a2: 0x0284, 0x12a3: 0x0284, + 0x12a4: 0x0284, 0x12a5: 0x0287, 0x12a6: 0x0287, 0x12a7: 0x0287, 0x12a8: 0x0287, 0x12a9: 0x028a, + 0x12aa: 0x028a, 0x12ab: 0x028a, 0x12ac: 0x028a, 0x12ad: 0x028d, 0x12ae: 0x028d, 0x12af: 0x0290, + 0x12b0: 0x0290, 0x12b1: 0x0293, 0x12b2: 0x0293, 0x12b3: 0x0293, 0x12b4: 0x0293, 0x12b5: 0x2e17, + 0x12b6: 0x2e17, 0x12b7: 0x2e1f, 0x12b8: 0x2e1f, 0x12b9: 0x2e27, 0x12ba: 0x2e27, 0x12bb: 0x1f88, + 0x12bc: 0x1f88, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x0081, 0x12c1: 0x0083, 0x12c2: 0x0085, 0x12c3: 0x0087, 0x12c4: 0x0089, 0x12c5: 0x008b, + 0x12c6: 0x008d, 0x12c7: 0x008f, 0x12c8: 0x0091, 0x12c9: 0x0093, 0x12ca: 0x0095, 0x12cb: 0x0097, + 0x12cc: 0x0099, 0x12cd: 0x009b, 0x12ce: 0x009d, 0x12cf: 0x009f, 0x12d0: 0x00a1, 0x12d1: 0x00a3, + 0x12d2: 0x00a5, 0x12d3: 0x00a7, 0x12d4: 0x00a9, 0x12d5: 0x00ab, 0x12d6: 0x00ad, 0x12d7: 0x00af, + 0x12d8: 0x00b1, 0x12d9: 0x00b3, 0x12da: 0x00b5, 0x12db: 0x00b7, 0x12dc: 0x00b9, 0x12dd: 0x00bb, + 0x12de: 0x00bd, 0x12df: 0x047a, 0x12e0: 0x047e, 0x12e1: 0x048a, 0x12e2: 0x049e, 0x12e3: 0x04a2, + 0x12e4: 0x0486, 0x12e5: 0x05ae, 0x12e6: 0x05a6, 0x12e7: 0x04ca, 0x12e8: 0x04d2, 0x12e9: 0x04da, + 0x12ea: 0x04e2, 0x12eb: 0x04ea, 0x12ec: 0x056e, 0x12ed: 0x0576, 0x12ee: 0x057e, 0x12ef: 0x0522, + 0x12f0: 0x05b2, 0x12f1: 0x04ce, 0x12f2: 0x04d6, 0x12f3: 0x04de, 0x12f4: 0x04e6, 0x12f5: 0x04ee, + 0x12f6: 0x04f2, 0x12f7: 0x04f6, 0x12f8: 0x04fa, 0x12f9: 0x04fe, 0x12fa: 0x0502, 0x12fb: 0x0506, + 0x12fc: 0x050a, 0x12fd: 0x050e, 0x12fe: 0x0512, 0x12ff: 0x0516, + // Block 0x4c, offset 0x1300 + 0x1300: 0x051a, 0x1301: 0x051e, 0x1302: 0x0526, 0x1303: 0x052a, 0x1304: 0x052e, 0x1305: 0x0532, + 0x1306: 0x0536, 0x1307: 0x053a, 0x1308: 0x053e, 0x1309: 0x0542, 0x130a: 0x0546, 0x130b: 0x054a, + 0x130c: 0x054e, 0x130d: 0x0552, 0x130e: 0x0556, 0x130f: 0x055a, 0x1310: 0x055e, 0x1311: 0x0562, + 0x1312: 0x0566, 0x1313: 0x056a, 0x1314: 0x0572, 0x1315: 0x057a, 0x1316: 0x0582, 0x1317: 0x0586, + 0x1318: 0x058a, 0x1319: 0x058e, 0x131a: 0x0592, 0x131b: 0x0596, 0x131c: 0x059a, 0x131d: 0x05aa, + 0x131e: 0x4a8f, 0x131f: 0x4a95, 0x1320: 0x03c6, 0x1321: 0x0316, 0x1322: 0x031a, 0x1323: 0x4a52, + 0x1324: 0x031e, 0x1325: 0x4a58, 0x1326: 0x4a5e, 0x1327: 0x0322, 0x1328: 0x0326, 0x1329: 0x032a, + 0x132a: 0x4a64, 0x132b: 0x4a6a, 0x132c: 0x4a70, 0x132d: 0x4a76, 0x132e: 0x4a7c, 0x132f: 0x4a82, + 0x1330: 0x036a, 0x1331: 0x032e, 0x1332: 0x0332, 0x1333: 0x0336, 0x1334: 0x037e, 0x1335: 0x033a, + 0x1336: 0x033e, 0x1337: 0x0342, 0x1338: 0x0346, 0x1339: 0x034a, 0x133a: 0x034e, 0x133b: 0x0352, + 0x133c: 0x0356, 0x133d: 0x035a, 0x133e: 0x035e, + // Block 0x4d, offset 0x1340 + 0x1342: 0x49d4, 0x1343: 0x49da, 0x1344: 0x49e0, 0x1345: 0x49e6, + 0x1346: 0x49ec, 0x1347: 0x49f2, 0x134a: 0x49f8, 0x134b: 0x49fe, + 0x134c: 0x4a04, 0x134d: 0x4a0a, 0x134e: 0x4a10, 0x134f: 0x4a16, + 0x1352: 0x4a1c, 0x1353: 0x4a22, 0x1354: 0x4a28, 0x1355: 0x4a2e, 0x1356: 0x4a34, 0x1357: 0x4a3a, + 0x135a: 0x4a40, 0x135b: 0x4a46, 0x135c: 0x4a4c, + 0x1360: 0x00bf, 0x1361: 0x00c2, 0x1362: 0x00cb, 0x1363: 0x427b, + 0x1364: 0x00c8, 0x1365: 0x00c5, 0x1366: 0x044a, 0x1368: 0x046e, 0x1369: 0x044e, + 0x136a: 0x0452, 0x136b: 0x0456, 0x136c: 0x045a, 0x136d: 0x0472, 0x136e: 0x0476, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0063, 0x1381: 0x0065, 0x1382: 0x0067, 0x1383: 0x0069, 0x1384: 0x006b, 0x1385: 0x006d, + 0x1386: 0x006f, 0x1387: 0x0071, 0x1388: 0x0073, 0x1389: 0x0075, 0x138a: 0x0083, 0x138b: 0x0085, + 0x138c: 0x0087, 0x138d: 0x0089, 0x138e: 0x008b, 0x138f: 0x008d, 0x1390: 0x008f, 0x1391: 0x0091, + 0x1392: 0x0093, 0x1393: 0x0095, 0x1394: 0x0097, 0x1395: 0x0099, 0x1396: 0x009b, 0x1397: 0x009d, + 0x1398: 0x009f, 0x1399: 0x00a1, 0x139a: 0x00a3, 0x139b: 0x00a5, 0x139c: 0x00a7, 0x139d: 0x00a9, + 0x139e: 0x00ab, 0x139f: 0x00ad, 0x13a0: 0x00af, 0x13a1: 0x00b1, 0x13a2: 0x00b3, 0x13a3: 0x00b5, + 0x13a4: 0x00dd, 0x13a5: 0x00f2, 0x13a8: 0x0176, 0x13a9: 0x0179, + 0x13aa: 0x017c, 0x13ab: 0x017f, 0x13ac: 0x0182, 0x13ad: 0x0185, 0x13ae: 0x0188, 0x13af: 0x018b, + 0x13b0: 0x018e, 0x13b1: 0x0191, 0x13b2: 0x0194, 0x13b3: 0x0197, 0x13b4: 0x019a, 0x13b5: 0x019d, + 0x13b6: 0x01a0, 0x13b7: 0x01a3, 0x13b8: 0x01a6, 0x13b9: 0x018b, 0x13ba: 0x01a9, 0x13bb: 0x01ac, + 0x13bc: 0x01af, 0x13bd: 0x01b2, 0x13be: 0x01b5, 0x13bf: 0x01b8, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0200, 0x13c1: 0x0203, 0x13c2: 0x0206, 0x13c3: 0x045e, 0x13c4: 0x01ca, 0x13c5: 0x01d3, + 0x13c6: 0x01d9, 0x13c7: 0x01fd, 0x13c8: 0x01ee, 0x13c9: 0x01eb, 0x13ca: 0x0209, 0x13cb: 0x020c, + 0x13ce: 0x0021, 0x13cf: 0x0023, 0x13d0: 0x0025, 0x13d1: 0x0027, + 0x13d2: 0x0029, 0x13d3: 0x002b, 0x13d4: 0x002d, 0x13d5: 0x002f, 0x13d6: 0x0031, 0x13d7: 0x0033, + 0x13d8: 0x0021, 0x13d9: 0x0023, 0x13da: 0x0025, 0x13db: 0x0027, 0x13dc: 0x0029, 0x13dd: 0x002b, + 0x13de: 0x002d, 0x13df: 0x002f, 0x13e0: 0x0031, 0x13e1: 0x0033, 0x13e2: 0x0021, 0x13e3: 0x0023, + 0x13e4: 0x0025, 0x13e5: 0x0027, 0x13e6: 0x0029, 0x13e7: 0x002b, 0x13e8: 0x002d, 0x13e9: 0x002f, + 0x13ea: 0x0031, 0x13eb: 0x0033, 0x13ec: 0x0021, 0x13ed: 0x0023, 0x13ee: 0x0025, 0x13ef: 0x0027, + 0x13f0: 0x0029, 0x13f1: 0x002b, 0x13f2: 0x002d, 0x13f3: 0x002f, 0x13f4: 0x0031, 0x13f5: 0x0033, + 0x13f6: 0x0021, 0x13f7: 0x0023, 0x13f8: 0x0025, 0x13f9: 0x0027, 0x13fa: 0x0029, 0x13fb: 0x002b, + 0x13fc: 0x002d, 0x13fd: 0x002f, 0x13fe: 0x0031, 0x13ff: 0x0033, + // Block 0x50, offset 0x1400 + 0x1400: 0x023c, 0x1401: 0x023f, 0x1402: 0x024b, 0x1403: 0x0254, 0x1405: 0x028d, + 0x1406: 0x025d, 0x1407: 0x024e, 0x1408: 0x026c, 0x1409: 0x0293, 0x140a: 0x027e, 0x140b: 0x0281, + 0x140c: 0x0284, 0x140d: 0x0287, 0x140e: 0x0260, 0x140f: 0x0272, 0x1410: 0x0278, 0x1411: 0x0266, + 0x1412: 0x027b, 0x1413: 0x025a, 0x1414: 0x0263, 0x1415: 0x0245, 0x1416: 0x0248, 0x1417: 0x0251, + 0x1418: 0x0257, 0x1419: 0x0269, 0x141a: 0x026f, 0x141b: 0x0275, 0x141c: 0x0296, 0x141d: 0x02e7, + 0x141e: 0x02cf, 0x141f: 0x0299, 0x1421: 0x023f, 0x1422: 0x024b, + 0x1424: 0x028a, 0x1427: 0x024e, 0x1429: 0x0293, + 0x142a: 0x027e, 0x142b: 0x0281, 0x142c: 0x0284, 0x142d: 0x0287, 0x142e: 0x0260, 0x142f: 0x0272, + 0x1430: 0x0278, 0x1431: 0x0266, 0x1432: 0x027b, 0x1434: 0x0263, 0x1435: 0x0245, + 0x1436: 0x0248, 0x1437: 0x0251, 0x1439: 0x0269, 0x143b: 0x0275, + // Block 0x51, offset 0x1440 + 0x1442: 0x024b, + 0x1447: 0x024e, 0x1449: 0x0293, 0x144b: 0x0281, + 0x144d: 0x0287, 0x144e: 0x0260, 0x144f: 0x0272, 0x1451: 0x0266, + 0x1452: 0x027b, 0x1454: 0x0263, 0x1457: 0x0251, + 0x1459: 0x0269, 0x145b: 0x0275, 0x145d: 0x02e7, + 0x145f: 0x0299, 0x1461: 0x023f, 0x1462: 0x024b, + 0x1464: 0x028a, 0x1467: 0x024e, 0x1468: 0x026c, 0x1469: 0x0293, + 0x146a: 0x027e, 0x146c: 0x0284, 0x146d: 0x0287, 0x146e: 0x0260, 0x146f: 0x0272, + 0x1470: 0x0278, 0x1471: 0x0266, 0x1472: 0x027b, 0x1474: 0x0263, 0x1475: 0x0245, + 0x1476: 0x0248, 0x1477: 0x0251, 0x1479: 0x0269, 0x147a: 0x026f, 0x147b: 0x0275, + 0x147c: 0x0296, 0x147e: 0x02cf, + // Block 0x52, offset 0x1480 + 0x1480: 0x023c, 0x1481: 0x023f, 0x1482: 0x024b, 0x1483: 0x0254, 0x1484: 0x028a, 0x1485: 0x028d, + 0x1486: 0x025d, 0x1487: 0x024e, 0x1488: 0x026c, 0x1489: 0x0293, 0x148b: 0x0281, + 0x148c: 0x0284, 0x148d: 0x0287, 0x148e: 0x0260, 0x148f: 0x0272, 0x1490: 0x0278, 0x1491: 0x0266, + 0x1492: 0x027b, 0x1493: 0x025a, 0x1494: 0x0263, 0x1495: 0x0245, 0x1496: 0x0248, 0x1497: 0x0251, + 0x1498: 0x0257, 0x1499: 0x0269, 0x149a: 0x026f, 0x149b: 0x0275, + 0x14a1: 0x023f, 0x14a2: 0x024b, 0x14a3: 0x0254, + 0x14a5: 0x028d, 0x14a6: 0x025d, 0x14a7: 0x024e, 0x14a8: 0x026c, 0x14a9: 0x0293, + 0x14ab: 0x0281, 0x14ac: 0x0284, 0x14ad: 0x0287, 0x14ae: 0x0260, 0x14af: 0x0272, + 0x14b0: 0x0278, 0x14b1: 0x0266, 0x14b2: 0x027b, 0x14b3: 0x025a, 0x14b4: 0x0263, 0x14b5: 0x0245, + 0x14b6: 0x0248, 0x14b7: 0x0251, 0x14b8: 0x0257, 0x14b9: 0x0269, 0x14ba: 0x026f, 0x14bb: 0x0275, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x187c, 0x14c1: 0x1879, 0x14c2: 0x187f, 0x14c3: 0x18a3, 0x14c4: 0x18c7, 0x14c5: 0x18eb, + 0x14c6: 0x190f, 0x14c7: 0x1918, 0x14c8: 0x191e, 0x14c9: 0x1924, 0x14ca: 0x192a, + 0x14d0: 0x1a92, 0x14d1: 0x1a96, + 0x14d2: 0x1a9a, 0x14d3: 0x1a9e, 0x14d4: 0x1aa2, 0x14d5: 0x1aa6, 0x14d6: 0x1aaa, 0x14d7: 0x1aae, + 0x14d8: 0x1ab2, 0x14d9: 0x1ab6, 0x14da: 0x1aba, 0x14db: 0x1abe, 0x14dc: 0x1ac2, 0x14dd: 0x1ac6, + 0x14de: 0x1aca, 0x14df: 0x1ace, 0x14e0: 0x1ad2, 0x14e1: 0x1ad6, 0x14e2: 0x1ada, 0x14e3: 0x1ade, + 0x14e4: 0x1ae2, 0x14e5: 0x1ae6, 0x14e6: 0x1aea, 0x14e7: 0x1aee, 0x14e8: 0x1af2, 0x14e9: 0x1af6, + 0x14ea: 0x272b, 0x14eb: 0x0047, 0x14ec: 0x0065, 0x14ed: 0x193f, 0x14ee: 0x19b7, + 0x14f0: 0x0043, 0x14f1: 0x0045, 0x14f2: 0x0047, 0x14f3: 0x0049, 0x14f4: 0x004b, 0x14f5: 0x004d, + 0x14f6: 0x004f, 0x14f7: 0x0051, 0x14f8: 0x0053, 0x14f9: 0x0055, 0x14fa: 0x0057, 0x14fb: 0x0059, + 0x14fc: 0x005b, 0x14fd: 0x005d, 0x14fe: 0x005f, 0x14ff: 0x0061, + // Block 0x54, offset 0x1500 + 0x1500: 0x26b3, 0x1501: 0x26c8, 0x1502: 0x0506, + 0x1510: 0x0c12, 0x1511: 0x0a4a, + 0x1512: 0x08d6, 0x1513: 0x45db, 0x1514: 0x071e, 0x1515: 0x09f2, 0x1516: 0x1332, 0x1517: 0x0a02, + 0x1518: 0x072a, 0x1519: 0x0cda, 0x151a: 0x0eb2, 0x151b: 0x0cb2, 0x151c: 0x082a, 0x151d: 0x0b6e, + 0x151e: 0x07c2, 0x151f: 0x0cba, 0x1520: 0x0816, 0x1521: 0x111a, 0x1522: 0x0f86, 0x1523: 0x138e, + 0x1524: 0x09d6, 0x1525: 0x090e, 0x1526: 0x0e66, 0x1527: 0x0c1e, 0x1528: 0x0c4a, 0x1529: 0x06c2, + 0x152a: 0x06ce, 0x152b: 0x140e, 0x152c: 0x0ade, 0x152d: 0x06ea, 0x152e: 0x08f2, 0x152f: 0x0c3e, + 0x1530: 0x13b6, 0x1531: 0x0c16, 0x1532: 0x1072, 0x1533: 0x10ae, 0x1534: 0x08fa, 0x1535: 0x0e46, + 0x1536: 0x0d0e, 0x1537: 0x0d0a, 0x1538: 0x0f9a, 0x1539: 0x082e, 0x153a: 0x095a, 0x153b: 0x1446, + // Block 0x55, offset 0x1540 + 0x1540: 0x06fe, 0x1541: 0x06f6, 0x1542: 0x0706, 0x1543: 0x164a, 0x1544: 0x074a, 0x1545: 0x075a, + 0x1546: 0x075e, 0x1547: 0x0766, 0x1548: 0x076e, 0x1549: 0x0772, 0x154a: 0x077e, 0x154b: 0x0776, + 0x154c: 0x05b6, 0x154d: 0x165e, 0x154e: 0x0792, 0x154f: 0x0796, 0x1550: 0x079a, 0x1551: 0x07b6, + 0x1552: 0x164f, 0x1553: 0x05ba, 0x1554: 0x07a2, 0x1555: 0x07c2, 0x1556: 0x1659, 0x1557: 0x07d2, + 0x1558: 0x07da, 0x1559: 0x073a, 0x155a: 0x07e2, 0x155b: 0x07e6, 0x155c: 0x1834, 0x155d: 0x0802, + 0x155e: 0x080a, 0x155f: 0x05c2, 0x1560: 0x0822, 0x1561: 0x0826, 0x1562: 0x082e, 0x1563: 0x0832, + 0x1564: 0x05c6, 0x1565: 0x084a, 0x1566: 0x084e, 0x1567: 0x085a, 0x1568: 0x0866, 0x1569: 0x086a, + 0x156a: 0x086e, 0x156b: 0x0876, 0x156c: 0x0896, 0x156d: 0x089a, 0x156e: 0x08a2, 0x156f: 0x08b2, + 0x1570: 0x08ba, 0x1571: 0x08be, 0x1572: 0x08be, 0x1573: 0x08be, 0x1574: 0x166d, 0x1575: 0x0e96, + 0x1576: 0x08d2, 0x1577: 0x08da, 0x1578: 0x1672, 0x1579: 0x08e6, 0x157a: 0x08ee, 0x157b: 0x08f6, + 0x157c: 0x091e, 0x157d: 0x090a, 0x157e: 0x0916, 0x157f: 0x091a, + // Block 0x56, offset 0x1580 + 0x1580: 0x0922, 0x1581: 0x092a, 0x1582: 0x092e, 0x1583: 0x0936, 0x1584: 0x093e, 0x1585: 0x0942, + 0x1586: 0x0942, 0x1587: 0x094a, 0x1588: 0x0952, 0x1589: 0x0956, 0x158a: 0x0962, 0x158b: 0x0986, + 0x158c: 0x096a, 0x158d: 0x098a, 0x158e: 0x096e, 0x158f: 0x0976, 0x1590: 0x080e, 0x1591: 0x09d2, + 0x1592: 0x099a, 0x1593: 0x099e, 0x1594: 0x09a2, 0x1595: 0x0996, 0x1596: 0x09aa, 0x1597: 0x09a6, + 0x1598: 0x09be, 0x1599: 0x1677, 0x159a: 0x09da, 0x159b: 0x09de, 0x159c: 0x09e6, 0x159d: 0x09f2, + 0x159e: 0x09fa, 0x159f: 0x0a16, 0x15a0: 0x167c, 0x15a1: 0x1681, 0x15a2: 0x0a22, 0x15a3: 0x0a26, + 0x15a4: 0x0a2a, 0x15a5: 0x0a1e, 0x15a6: 0x0a32, 0x15a7: 0x05ca, 0x15a8: 0x05ce, 0x15a9: 0x0a3a, + 0x15aa: 0x0a42, 0x15ab: 0x0a42, 0x15ac: 0x1686, 0x15ad: 0x0a5e, 0x15ae: 0x0a62, 0x15af: 0x0a66, + 0x15b0: 0x0a6e, 0x15b1: 0x168b, 0x15b2: 0x0a76, 0x15b3: 0x0a7a, 0x15b4: 0x0b52, 0x15b5: 0x0a82, + 0x15b6: 0x05d2, 0x15b7: 0x0a8e, 0x15b8: 0x0a9e, 0x15b9: 0x0aaa, 0x15ba: 0x0aa6, 0x15bb: 0x1695, + 0x15bc: 0x0ab2, 0x15bd: 0x169a, 0x15be: 0x0abe, 0x15bf: 0x0aba, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0ac2, 0x15c1: 0x0ad2, 0x15c2: 0x0ad6, 0x15c3: 0x05d6, 0x15c4: 0x0ae6, 0x15c5: 0x0aee, + 0x15c6: 0x0af2, 0x15c7: 0x0af6, 0x15c8: 0x05da, 0x15c9: 0x169f, 0x15ca: 0x05de, 0x15cb: 0x0b12, + 0x15cc: 0x0b16, 0x15cd: 0x0b1a, 0x15ce: 0x0b22, 0x15cf: 0x1866, 0x15d0: 0x0b3a, 0x15d1: 0x16a9, + 0x15d2: 0x16a9, 0x15d3: 0x11da, 0x15d4: 0x0b4a, 0x15d5: 0x0b4a, 0x15d6: 0x05e2, 0x15d7: 0x16cc, + 0x15d8: 0x179e, 0x15d9: 0x0b5a, 0x15da: 0x0b62, 0x15db: 0x05e6, 0x15dc: 0x0b76, 0x15dd: 0x0b86, + 0x15de: 0x0b8a, 0x15df: 0x0b92, 0x15e0: 0x0ba2, 0x15e1: 0x05ee, 0x15e2: 0x05ea, 0x15e3: 0x0ba6, + 0x15e4: 0x16ae, 0x15e5: 0x0baa, 0x15e6: 0x0bbe, 0x15e7: 0x0bc2, 0x15e8: 0x0bc6, 0x15e9: 0x0bc2, + 0x15ea: 0x0bd2, 0x15eb: 0x0bd6, 0x15ec: 0x0be6, 0x15ed: 0x0bde, 0x15ee: 0x0be2, 0x15ef: 0x0bea, + 0x15f0: 0x0bee, 0x15f1: 0x0bf2, 0x15f2: 0x0bfe, 0x15f3: 0x0c02, 0x15f4: 0x0c1a, 0x15f5: 0x0c22, + 0x15f6: 0x0c32, 0x15f7: 0x0c46, 0x15f8: 0x16bd, 0x15f9: 0x0c42, 0x15fa: 0x0c36, 0x15fb: 0x0c4e, + 0x15fc: 0x0c56, 0x15fd: 0x0c6a, 0x15fe: 0x16c2, 0x15ff: 0x0c72, + // Block 0x58, offset 0x1600 + 0x1600: 0x0c66, 0x1601: 0x0c5e, 0x1602: 0x05f2, 0x1603: 0x0c7a, 0x1604: 0x0c82, 0x1605: 0x0c8a, + 0x1606: 0x0c7e, 0x1607: 0x05f6, 0x1608: 0x0c9a, 0x1609: 0x0ca2, 0x160a: 0x16c7, 0x160b: 0x0cce, + 0x160c: 0x0d02, 0x160d: 0x0cde, 0x160e: 0x0602, 0x160f: 0x0cea, 0x1610: 0x05fe, 0x1611: 0x05fa, + 0x1612: 0x07c6, 0x1613: 0x07ca, 0x1614: 0x0d06, 0x1615: 0x0cee, 0x1616: 0x11ae, 0x1617: 0x0666, + 0x1618: 0x0d12, 0x1619: 0x0d16, 0x161a: 0x0d1a, 0x161b: 0x0d2e, 0x161c: 0x0d26, 0x161d: 0x16e0, + 0x161e: 0x0606, 0x161f: 0x0d42, 0x1620: 0x0d36, 0x1621: 0x0d52, 0x1622: 0x0d5a, 0x1623: 0x16ea, + 0x1624: 0x0d5e, 0x1625: 0x0d4a, 0x1626: 0x0d66, 0x1627: 0x060a, 0x1628: 0x0d6a, 0x1629: 0x0d6e, + 0x162a: 0x0d72, 0x162b: 0x0d7e, 0x162c: 0x16ef, 0x162d: 0x0d86, 0x162e: 0x060e, 0x162f: 0x0d92, + 0x1630: 0x16f4, 0x1631: 0x0d96, 0x1632: 0x0612, 0x1633: 0x0da2, 0x1634: 0x0dae, 0x1635: 0x0dba, + 0x1636: 0x0dbe, 0x1637: 0x16f9, 0x1638: 0x1690, 0x1639: 0x16fe, 0x163a: 0x0dde, 0x163b: 0x1703, + 0x163c: 0x0dea, 0x163d: 0x0df2, 0x163e: 0x0de2, 0x163f: 0x0dfe, + // Block 0x59, offset 0x1640 + 0x1640: 0x0e0e, 0x1641: 0x0e1e, 0x1642: 0x0e12, 0x1643: 0x0e16, 0x1644: 0x0e22, 0x1645: 0x0e26, + 0x1646: 0x1708, 0x1647: 0x0e0a, 0x1648: 0x0e3e, 0x1649: 0x0e42, 0x164a: 0x0616, 0x164b: 0x0e56, + 0x164c: 0x0e52, 0x164d: 0x170d, 0x164e: 0x0e36, 0x164f: 0x0e72, 0x1650: 0x1712, 0x1651: 0x1717, + 0x1652: 0x0e76, 0x1653: 0x0e8a, 0x1654: 0x0e86, 0x1655: 0x0e82, 0x1656: 0x061a, 0x1657: 0x0e8e, + 0x1658: 0x0e9e, 0x1659: 0x0e9a, 0x165a: 0x0ea6, 0x165b: 0x1654, 0x165c: 0x0eb6, 0x165d: 0x171c, + 0x165e: 0x0ec2, 0x165f: 0x1726, 0x1660: 0x0ed6, 0x1661: 0x0ee2, 0x1662: 0x0ef6, 0x1663: 0x172b, + 0x1664: 0x0f0a, 0x1665: 0x0f0e, 0x1666: 0x1730, 0x1667: 0x1735, 0x1668: 0x0f2a, 0x1669: 0x0f3a, + 0x166a: 0x061e, 0x166b: 0x0f3e, 0x166c: 0x0622, 0x166d: 0x0622, 0x166e: 0x0f56, 0x166f: 0x0f5a, + 0x1670: 0x0f62, 0x1671: 0x0f66, 0x1672: 0x0f72, 0x1673: 0x0626, 0x1674: 0x0f8a, 0x1675: 0x173a, + 0x1676: 0x0fa6, 0x1677: 0x173f, 0x1678: 0x0fb2, 0x1679: 0x16a4, 0x167a: 0x0fc2, 0x167b: 0x1744, + 0x167c: 0x1749, 0x167d: 0x174e, 0x167e: 0x062a, 0x167f: 0x062e, + // Block 0x5a, offset 0x1680 + 0x1680: 0x0ffa, 0x1681: 0x1758, 0x1682: 0x1753, 0x1683: 0x175d, 0x1684: 0x1762, 0x1685: 0x1002, + 0x1686: 0x1006, 0x1687: 0x1006, 0x1688: 0x100e, 0x1689: 0x0636, 0x168a: 0x1012, 0x168b: 0x063a, + 0x168c: 0x063e, 0x168d: 0x176c, 0x168e: 0x1026, 0x168f: 0x102e, 0x1690: 0x103a, 0x1691: 0x0642, + 0x1692: 0x1771, 0x1693: 0x105e, 0x1694: 0x1776, 0x1695: 0x177b, 0x1696: 0x107e, 0x1697: 0x1096, + 0x1698: 0x0646, 0x1699: 0x109e, 0x169a: 0x10a2, 0x169b: 0x10a6, 0x169c: 0x1780, 0x169d: 0x1785, + 0x169e: 0x1785, 0x169f: 0x10be, 0x16a0: 0x064a, 0x16a1: 0x178a, 0x16a2: 0x10d2, 0x16a3: 0x10d6, + 0x16a4: 0x064e, 0x16a5: 0x178f, 0x16a6: 0x10f2, 0x16a7: 0x0652, 0x16a8: 0x1102, 0x16a9: 0x10fa, + 0x16aa: 0x110a, 0x16ab: 0x1799, 0x16ac: 0x1122, 0x16ad: 0x0656, 0x16ae: 0x112e, 0x16af: 0x1136, + 0x16b0: 0x1146, 0x16b1: 0x065a, 0x16b2: 0x17a3, 0x16b3: 0x17a8, 0x16b4: 0x065e, 0x16b5: 0x17ad, + 0x16b6: 0x115e, 0x16b7: 0x17b2, 0x16b8: 0x116a, 0x16b9: 0x1176, 0x16ba: 0x117e, 0x16bb: 0x17b7, + 0x16bc: 0x17bc, 0x16bd: 0x1192, 0x16be: 0x17c1, 0x16bf: 0x119a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x16d1, 0x16c1: 0x0662, 0x16c2: 0x11b2, 0x16c3: 0x11b6, 0x16c4: 0x066a, 0x16c5: 0x11ba, + 0x16c6: 0x0a36, 0x16c7: 0x17c6, 0x16c8: 0x17cb, 0x16c9: 0x16d6, 0x16ca: 0x16db, 0x16cb: 0x11da, + 0x16cc: 0x11de, 0x16cd: 0x13f6, 0x16ce: 0x066e, 0x16cf: 0x120a, 0x16d0: 0x1206, 0x16d1: 0x120e, + 0x16d2: 0x0842, 0x16d3: 0x1212, 0x16d4: 0x1216, 0x16d5: 0x121a, 0x16d6: 0x1222, 0x16d7: 0x17d0, + 0x16d8: 0x121e, 0x16d9: 0x1226, 0x16da: 0x123a, 0x16db: 0x123e, 0x16dc: 0x122a, 0x16dd: 0x1242, + 0x16de: 0x1256, 0x16df: 0x126a, 0x16e0: 0x1236, 0x16e1: 0x124a, 0x16e2: 0x124e, 0x16e3: 0x1252, + 0x16e4: 0x17d5, 0x16e5: 0x17df, 0x16e6: 0x17da, 0x16e7: 0x0672, 0x16e8: 0x1272, 0x16e9: 0x1276, + 0x16ea: 0x127e, 0x16eb: 0x17f3, 0x16ec: 0x1282, 0x16ed: 0x17e4, 0x16ee: 0x0676, 0x16ef: 0x067a, + 0x16f0: 0x17e9, 0x16f1: 0x17ee, 0x16f2: 0x067e, 0x16f3: 0x12a2, 0x16f4: 0x12a6, 0x16f5: 0x12aa, + 0x16f6: 0x12ae, 0x16f7: 0x12ba, 0x16f8: 0x12b6, 0x16f9: 0x12c2, 0x16fa: 0x12be, 0x16fb: 0x12ce, + 0x16fc: 0x12c6, 0x16fd: 0x12ca, 0x16fe: 0x12d2, 0x16ff: 0x0682, + // Block 0x5c, offset 0x1700 + 0x1700: 0x12da, 0x1701: 0x12de, 0x1702: 0x0686, 0x1703: 0x12ee, 0x1704: 0x12f2, 0x1705: 0x17f8, + 0x1706: 0x12fe, 0x1707: 0x1302, 0x1708: 0x068a, 0x1709: 0x130e, 0x170a: 0x05be, 0x170b: 0x17fd, + 0x170c: 0x1802, 0x170d: 0x068e, 0x170e: 0x0692, 0x170f: 0x133a, 0x1710: 0x1352, 0x1711: 0x136e, + 0x1712: 0x137e, 0x1713: 0x1807, 0x1714: 0x1392, 0x1715: 0x1396, 0x1716: 0x13ae, 0x1717: 0x13ba, + 0x1718: 0x1811, 0x1719: 0x1663, 0x171a: 0x13c6, 0x171b: 0x13c2, 0x171c: 0x13ce, 0x171d: 0x1668, + 0x171e: 0x13da, 0x171f: 0x13e6, 0x1720: 0x1816, 0x1721: 0x181b, 0x1722: 0x1426, 0x1723: 0x1432, + 0x1724: 0x143a, 0x1725: 0x1820, 0x1726: 0x143e, 0x1727: 0x146a, 0x1728: 0x1476, 0x1729: 0x147a, + 0x172a: 0x1472, 0x172b: 0x1486, 0x172c: 0x148a, 0x172d: 0x1825, 0x172e: 0x1496, 0x172f: 0x0696, + 0x1730: 0x149e, 0x1731: 0x182a, 0x1732: 0x069a, 0x1733: 0x14d6, 0x1734: 0x0ac6, 0x1735: 0x14ee, + 0x1736: 0x182f, 0x1737: 0x1839, 0x1738: 0x069e, 0x1739: 0x06a2, 0x173a: 0x1516, 0x173b: 0x183e, + 0x173c: 0x06a6, 0x173d: 0x1843, 0x173e: 0x152e, 0x173f: 0x152e, + // Block 0x5d, offset 0x1740 + 0x1740: 0x1536, 0x1741: 0x1848, 0x1742: 0x154e, 0x1743: 0x06aa, 0x1744: 0x155e, 0x1745: 0x156a, + 0x1746: 0x1572, 0x1747: 0x157a, 0x1748: 0x06ae, 0x1749: 0x184d, 0x174a: 0x158e, 0x174b: 0x15aa, + 0x174c: 0x15b6, 0x174d: 0x06b2, 0x174e: 0x06b6, 0x174f: 0x15ba, 0x1750: 0x1852, 0x1751: 0x06ba, + 0x1752: 0x1857, 0x1753: 0x185c, 0x1754: 0x1861, 0x1755: 0x15de, 0x1756: 0x06be, 0x1757: 0x15f2, + 0x1758: 0x15fa, 0x1759: 0x15fe, 0x175a: 0x1606, 0x175b: 0x160e, 0x175c: 0x1616, 0x175d: 0x186b, +} + +// nfkcIndex: 22 blocks, 1408 entries, 2816 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5d, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5e, 0xcb: 0x5f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x60, 0xd2: 0x61, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x62, + 0xd8: 0x63, 0xd9: 0x0d, 0xdb: 0x64, 0xdc: 0x65, 0xdd: 0x66, 0xdf: 0x67, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x68, 0x121: 0x69, 0x123: 0x0e, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, + 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, + 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, + 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, + // Block 0x5, offset 0x140 + 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, + 0x14d: 0x8a, + 0x15c: 0x8b, 0x15f: 0x8c, + 0x162: 0x8d, 0x164: 0x8e, + 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16b: 0x92, 0x16c: 0x0f, 0x16d: 0x93, 0x16e: 0x94, 0x16f: 0x95, + 0x170: 0x96, 0x173: 0x97, 0x174: 0x98, 0x175: 0x10, 0x176: 0x11, 0x177: 0x12, + 0x178: 0x13, 0x179: 0x14, 0x17a: 0x15, 0x17b: 0x16, 0x17c: 0x17, 0x17d: 0x18, 0x17e: 0x19, 0x17f: 0x1a, + // Block 0x6, offset 0x180 + 0x180: 0x99, 0x181: 0x9a, 0x182: 0x9b, 0x183: 0x9c, 0x184: 0x1b, 0x185: 0x1c, 0x186: 0x9d, 0x187: 0x9e, + 0x188: 0x9f, 0x189: 0x1d, 0x18a: 0x1e, 0x18b: 0xa0, 0x18c: 0xa1, + 0x191: 0x1f, 0x192: 0x20, 0x193: 0xa2, + 0x1a8: 0xa3, 0x1a9: 0xa4, 0x1ab: 0xa5, + 0x1b1: 0xa6, 0x1b3: 0xa7, 0x1b5: 0xa8, 0x1b7: 0xa9, + 0x1ba: 0xaa, 0x1bb: 0xab, 0x1bc: 0x21, 0x1bd: 0x22, 0x1be: 0x23, 0x1bf: 0xac, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xad, 0x1c1: 0x24, 0x1c2: 0x25, 0x1c3: 0x26, 0x1c4: 0xae, 0x1c5: 0x27, 0x1c6: 0x28, + 0x1c8: 0x29, 0x1c9: 0x2a, 0x1ca: 0x2b, 0x1cb: 0x2c, 0x1cc: 0x2d, 0x1cd: 0x2e, 0x1ce: 0x2f, 0x1cf: 0x30, + // Block 0x8, offset 0x200 + 0x219: 0xaf, 0x21a: 0xb0, 0x21b: 0xb1, 0x21d: 0xb2, 0x21f: 0xb3, + 0x220: 0xb4, 0x223: 0xb5, 0x224: 0xb6, 0x225: 0xb7, 0x226: 0xb8, 0x227: 0xb9, + 0x22a: 0xba, 0x22b: 0xbb, 0x22d: 0xbc, 0x22f: 0xbd, + 0x230: 0xbe, 0x231: 0xbf, 0x232: 0xc0, 0x233: 0xc1, 0x234: 0xc2, 0x235: 0xc3, 0x236: 0xc4, 0x237: 0xbe, + 0x238: 0xbf, 0x239: 0xc0, 0x23a: 0xc1, 0x23b: 0xc2, 0x23c: 0xc3, 0x23d: 0xc4, 0x23e: 0xbe, 0x23f: 0xbf, + // Block 0x9, offset 0x240 + 0x240: 0xc0, 0x241: 0xc1, 0x242: 0xc2, 0x243: 0xc3, 0x244: 0xc4, 0x245: 0xbe, 0x246: 0xbf, 0x247: 0xc0, + 0x248: 0xc1, 0x249: 0xc2, 0x24a: 0xc3, 0x24b: 0xc4, 0x24c: 0xbe, 0x24d: 0xbf, 0x24e: 0xc0, 0x24f: 0xc1, + 0x250: 0xc2, 0x251: 0xc3, 0x252: 0xc4, 0x253: 0xbe, 0x254: 0xbf, 0x255: 0xc0, 0x256: 0xc1, 0x257: 0xc2, + 0x258: 0xc3, 0x259: 0xc4, 0x25a: 0xbe, 0x25b: 0xbf, 0x25c: 0xc0, 0x25d: 0xc1, 0x25e: 0xc2, 0x25f: 0xc3, + 0x260: 0xc4, 0x261: 0xbe, 0x262: 0xbf, 0x263: 0xc0, 0x264: 0xc1, 0x265: 0xc2, 0x266: 0xc3, 0x267: 0xc4, + 0x268: 0xbe, 0x269: 0xbf, 0x26a: 0xc0, 0x26b: 0xc1, 0x26c: 0xc2, 0x26d: 0xc3, 0x26e: 0xc4, 0x26f: 0xbe, + 0x270: 0xbf, 0x271: 0xc0, 0x272: 0xc1, 0x273: 0xc2, 0x274: 0xc3, 0x275: 0xc4, 0x276: 0xbe, 0x277: 0xbf, + 0x278: 0xc0, 0x279: 0xc1, 0x27a: 0xc2, 0x27b: 0xc3, 0x27c: 0xc4, 0x27d: 0xbe, 0x27e: 0xbf, 0x27f: 0xc0, + // Block 0xa, offset 0x280 + 0x280: 0xc1, 0x281: 0xc2, 0x282: 0xc3, 0x283: 0xc4, 0x284: 0xbe, 0x285: 0xbf, 0x286: 0xc0, 0x287: 0xc1, + 0x288: 0xc2, 0x289: 0xc3, 0x28a: 0xc4, 0x28b: 0xbe, 0x28c: 0xbf, 0x28d: 0xc0, 0x28e: 0xc1, 0x28f: 0xc2, + 0x290: 0xc3, 0x291: 0xc4, 0x292: 0xbe, 0x293: 0xbf, 0x294: 0xc0, 0x295: 0xc1, 0x296: 0xc2, 0x297: 0xc3, + 0x298: 0xc4, 0x299: 0xbe, 0x29a: 0xbf, 0x29b: 0xc0, 0x29c: 0xc1, 0x29d: 0xc2, 0x29e: 0xc3, 0x29f: 0xc4, + 0x2a0: 0xbe, 0x2a1: 0xbf, 0x2a2: 0xc0, 0x2a3: 0xc1, 0x2a4: 0xc2, 0x2a5: 0xc3, 0x2a6: 0xc4, 0x2a7: 0xbe, + 0x2a8: 0xbf, 0x2a9: 0xc0, 0x2aa: 0xc1, 0x2ab: 0xc2, 0x2ac: 0xc3, 0x2ad: 0xc4, 0x2ae: 0xbe, 0x2af: 0xbf, + 0x2b0: 0xc0, 0x2b1: 0xc1, 0x2b2: 0xc2, 0x2b3: 0xc3, 0x2b4: 0xc4, 0x2b5: 0xbe, 0x2b6: 0xbf, 0x2b7: 0xc0, + 0x2b8: 0xc1, 0x2b9: 0xc2, 0x2ba: 0xc3, 0x2bb: 0xc4, 0x2bc: 0xbe, 0x2bd: 0xbf, 0x2be: 0xc0, 0x2bf: 0xc1, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc2, 0x2c1: 0xc3, 0x2c2: 0xc4, 0x2c3: 0xbe, 0x2c4: 0xbf, 0x2c5: 0xc0, 0x2c6: 0xc1, 0x2c7: 0xc2, + 0x2c8: 0xc3, 0x2c9: 0xc4, 0x2ca: 0xbe, 0x2cb: 0xbf, 0x2cc: 0xc0, 0x2cd: 0xc1, 0x2ce: 0xc2, 0x2cf: 0xc3, + 0x2d0: 0xc4, 0x2d1: 0xbe, 0x2d2: 0xbf, 0x2d3: 0xc0, 0x2d4: 0xc1, 0x2d5: 0xc2, 0x2d6: 0xc3, 0x2d7: 0xc4, + 0x2d8: 0xbe, 0x2d9: 0xbf, 0x2da: 0xc0, 0x2db: 0xc1, 0x2dc: 0xc2, 0x2dd: 0xc3, 0x2de: 0xc5, + // Block 0xc, offset 0x300 + 0x324: 0x31, 0x325: 0x32, 0x326: 0x33, 0x327: 0x34, + 0x328: 0x35, 0x329: 0x36, 0x32a: 0x37, 0x32b: 0x38, 0x32c: 0x39, 0x32d: 0x3a, 0x32e: 0x3b, 0x32f: 0x3c, + 0x330: 0x3d, 0x331: 0x3e, 0x332: 0x3f, 0x333: 0x40, 0x334: 0x41, 0x335: 0x42, 0x336: 0x43, 0x337: 0x44, + 0x338: 0x45, 0x339: 0x46, 0x33a: 0x47, 0x33b: 0x48, 0x33c: 0xc6, 0x33d: 0x49, 0x33e: 0x4a, 0x33f: 0x4b, + // Block 0xd, offset 0x340 + 0x347: 0xc7, + 0x34b: 0xc8, 0x34d: 0xc9, + 0x368: 0xca, 0x36b: 0xcb, + 0x374: 0xcc, + 0x37a: 0xcd, 0x37d: 0xce, + // Block 0xe, offset 0x380 + 0x381: 0xcf, 0x382: 0xd0, 0x384: 0xd1, 0x385: 0xb8, 0x387: 0xd2, + 0x388: 0xd3, 0x38b: 0xd4, 0x38c: 0xd5, 0x38d: 0xd6, + 0x391: 0xd7, 0x392: 0xd8, 0x393: 0xd9, 0x396: 0xda, 0x397: 0xdb, + 0x398: 0xdc, 0x39a: 0xdd, 0x39c: 0xde, + 0x3a0: 0xdf, 0x3a4: 0xe0, 0x3a5: 0xe1, 0x3a7: 0xe2, + 0x3a8: 0xe3, 0x3a9: 0xe4, 0x3aa: 0xe5, + 0x3b0: 0xdc, 0x3b5: 0xe6, 0x3b6: 0xe7, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xe8, 0x3ec: 0xe9, + 0x3ff: 0xea, + // Block 0x10, offset 0x400 + 0x432: 0xeb, + // Block 0x11, offset 0x440 + 0x445: 0xec, 0x446: 0xed, 0x447: 0xee, + 0x449: 0xef, + 0x450: 0xf0, 0x451: 0xf1, 0x452: 0xf2, 0x453: 0xf3, 0x454: 0xf4, 0x455: 0xf5, 0x456: 0xf6, 0x457: 0xf7, + 0x458: 0xf8, 0x459: 0xf9, 0x45a: 0x4c, 0x45b: 0xfa, 0x45c: 0xfb, 0x45d: 0xfc, 0x45e: 0xfd, 0x45f: 0x4d, + // Block 0x12, offset 0x480 + 0x480: 0xfe, 0x484: 0xe9, + 0x48b: 0xff, + 0x4a3: 0x100, 0x4a5: 0x101, + 0x4b8: 0x4e, 0x4b9: 0x4f, 0x4ba: 0x50, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x51, 0x4c5: 0x102, 0x4c6: 0x103, + 0x4c8: 0x52, 0x4c9: 0x104, + 0x4ef: 0x105, + // Block 0x14, offset 0x500 + 0x520: 0x53, 0x521: 0x54, 0x522: 0x55, 0x523: 0x56, 0x524: 0x57, 0x525: 0x58, 0x526: 0x59, 0x527: 0x5a, + 0x528: 0x5b, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 170 entries, 340 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x70, 0x75, 0x77, 0x7f, 0x86, 0x89, 0x91, 0x95, 0x99, 0x9b, 0x9d, 0xa6, 0xaa, 0xb1, 0xb6, 0xb9, 0xc3, 0xc6, 0xcd, 0xd5, 0xd9, 0xdb, 0xdf, 0xe3, 0xe9, 0xfa, 0x106, 0x108, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11a, 0x11c, 0x11f, 0x122, 0x124, 0x127, 0x12a, 0x12e, 0x134, 0x136, 0x13f, 0x141, 0x144, 0x146, 0x151, 0x15c, 0x16a, 0x178, 0x188, 0x196, 0x19d, 0x1a3, 0x1b2, 0x1b6, 0x1b8, 0x1bc, 0x1be, 0x1c1, 0x1c3, 0x1c6, 0x1c8, 0x1cb, 0x1cd, 0x1cf, 0x1d1, 0x1dd, 0x1e7, 0x1f1, 0x1f4, 0x1f8, 0x1fa, 0x1fc, 0x1fe, 0x201, 0x204, 0x206, 0x208, 0x20a, 0x20c, 0x212, 0x215, 0x21a, 0x21c, 0x223, 0x229, 0x22f, 0x237, 0x23d, 0x243, 0x249, 0x24d, 0x24f, 0x251, 0x253, 0x255, 0x25b, 0x25e, 0x260, 0x262, 0x268, 0x26b, 0x273, 0x27a, 0x27d, 0x280, 0x282, 0x285, 0x28d, 0x291, 0x298, 0x29b, 0x2a1, 0x2a3, 0x2a5, 0x2a8, 0x2aa, 0x2ad, 0x2b2, 0x2b4, 0x2b6, 0x2b8, 0x2ba, 0x2bc, 0x2bf, 0x2c1, 0x2c3, 0x2c5, 0x2c7, 0x2c9, 0x2d6, 0x2e0, 0x2e2, 0x2e4, 0x2e8, 0x2ed, 0x2f9, 0x2fe, 0x307, 0x30d, 0x312, 0x316, 0x31b, 0x31f, 0x32f, 0x33d, 0x34b, 0x359, 0x35f, 0x361, 0x363, 0x366, 0x371, 0x373, 0x37d} + +// nfkcSparseValues: 895 entries, 3580 bytes +var nfkcSparseValues = [895]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x428f, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x427b, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x4271, lo: 0xb4, hi: 0xb4}, + {value: 0x01df, lo: 0xb5, hi: 0xb5}, + {value: 0x42a8, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x2222, lo: 0xbc, hi: 0xbc}, + {value: 0x2216, lo: 0xbd, hi: 0xbd}, + {value: 0x22b8, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46f9, lo: 0xa0, hi: 0xa1}, + {value: 0x472b, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x4285, lo: 0x98, hi: 0x98}, + {value: 0x428a, lo: 0x99, hi: 0x9a}, + {value: 0x42ad, lo: 0x9b, hi: 0x9b}, + {value: 0x4276, lo: 0x9c, hi: 0x9c}, + {value: 0x4299, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x016a, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37bc, lo: 0x90, hi: 0x90}, + {value: 0x37c8, lo: 0x91, hi: 0x91}, + {value: 0x37b6, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x382e, lo: 0x97, hi: 0x97}, + {value: 0x37f8, lo: 0x9c, hi: 0x9c}, + {value: 0x37e0, lo: 0x9d, hi: 0x9d}, + {value: 0x380a, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x3834, lo: 0xb6, hi: 0xb6}, + {value: 0x383a, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8114, lo: 0x81, hi: 0x82}, + {value: 0x8133, lo: 0x84, hi: 0x84}, + {value: 0x812e, lo: 0x85, hi: 0x85}, + {value: 0x810e, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8133, lo: 0x90, hi: 0x97}, + {value: 0x811a, lo: 0x98, hi: 0x98}, + {value: 0x811b, lo: 0x99, hi: 0x99}, + {value: 0x811c, lo: 0x9a, hi: 0x9a}, + {value: 0x3858, lo: 0xa2, hi: 0xa2}, + {value: 0x385e, lo: 0xa3, hi: 0xa3}, + {value: 0x386a, lo: 0xa4, hi: 0xa4}, + {value: 0x3864, lo: 0xa5, hi: 0xa5}, + {value: 0x3870, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x3882, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x3876, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x387c, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8133, lo: 0x96, hi: 0x9c}, + {value: 0x8133, lo: 0x9f, hi: 0xa2}, + {value: 0x812e, lo: 0xa3, hi: 0xa3}, + {value: 0x8133, lo: 0xa4, hi: 0xa4}, + {value: 0x8133, lo: 0xa7, hi: 0xa8}, + {value: 0x812e, lo: 0xaa, hi: 0xaa}, + {value: 0x8133, lo: 0xab, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x8120, lo: 0x91, hi: 0x91}, + {value: 0x8133, lo: 0xb0, hi: 0xb0}, + {value: 0x812e, lo: 0xb1, hi: 0xb1}, + {value: 0x8133, lo: 0xb2, hi: 0xb3}, + {value: 0x812e, lo: 0xb4, hi: 0xb4}, + {value: 0x8133, lo: 0xb5, hi: 0xb6}, + {value: 0x812e, lo: 0xb7, hi: 0xb9}, + {value: 0x8133, lo: 0xba, hi: 0xba}, + {value: 0x812e, lo: 0xbb, hi: 0xbc}, + {value: 0x8133, lo: 0xbd, hi: 0xbd}, + {value: 0x812e, lo: 0xbe, hi: 0xbe}, + {value: 0x8133, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8133, lo: 0x80, hi: 0x80}, + {value: 0x8133, lo: 0x81, hi: 0x81}, + {value: 0x812e, lo: 0x82, hi: 0x83}, + {value: 0x812e, lo: 0x84, hi: 0x85}, + {value: 0x812e, lo: 0x86, hi: 0x87}, + {value: 0x812e, lo: 0x88, hi: 0x89}, + {value: 0x8133, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x04}, + {value: 0x8133, lo: 0xab, hi: 0xb1}, + {value: 0x812e, lo: 0xb2, hi: 0xb2}, + {value: 0x8133, lo: 0xb3, hi: 0xb3}, + {value: 0x812e, lo: 0xbd, hi: 0xbd}, + // Block 0xc, offset 0x70 + {value: 0x0000, lo: 0x04}, + {value: 0x8133, lo: 0x96, hi: 0x99}, + {value: 0x8133, lo: 0x9b, hi: 0xa3}, + {value: 0x8133, lo: 0xa5, hi: 0xa7}, + {value: 0x8133, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x75 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x77 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3eef, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ef7, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3eff, lo: 0xb4, hi: 0xb4}, + {value: 0x9903, lo: 0xbc, hi: 0xbc}, + // Block 0xf, offset 0x7f + {value: 0x0008, lo: 0x06}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x8133, lo: 0x91, hi: 0x91}, + {value: 0x812e, lo: 0x92, hi: 0x92}, + {value: 0x8133, lo: 0x93, hi: 0x93}, + {value: 0x8133, lo: 0x94, hi: 0x94}, + {value: 0x4533, lo: 0x98, hi: 0x9f}, + // Block 0x10, offset 0x86 + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x11, offset 0x89 + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cab, lo: 0x8b, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x4573, lo: 0x9c, hi: 0x9d}, + {value: 0x4583, lo: 0x9f, hi: 0x9f}, + {value: 0x8133, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x91 + {value: 0x0000, lo: 0x03}, + {value: 0x45ab, lo: 0xb3, hi: 0xb3}, + {value: 0x45b3, lo: 0xb6, hi: 0xb6}, + {value: 0x8103, lo: 0xbc, hi: 0xbc}, + // Block 0x13, offset 0x95 + {value: 0x0008, lo: 0x03}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x458b, lo: 0x99, hi: 0x9b}, + {value: 0x45a3, lo: 0x9e, hi: 0x9e}, + // Block 0x14, offset 0x99 + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + // Block 0x16, offset 0x9d + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cc3, lo: 0x88, hi: 0x88}, + {value: 0x2cbb, lo: 0x8b, hi: 0x8b}, + {value: 0x2ccb, lo: 0x8c, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45bb, lo: 0x9c, hi: 0x9c}, + {value: 0x45c3, lo: 0x9d, hi: 0x9d}, + // Block 0x17, offset 0xa6 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cd3, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x18, offset 0xaa + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cdb, lo: 0x8a, hi: 0x8a}, + {value: 0x2ceb, lo: 0x8b, hi: 0x8b}, + {value: 0x2ce3, lo: 0x8c, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x19, offset 0xb1 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3f07, lo: 0x88, hi: 0x88}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x8121, lo: 0x95, hi: 0x96}, + // Block 0x1a, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0xb9 + {value: 0x0000, lo: 0x09}, + {value: 0x2cf3, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cfb, lo: 0x87, hi: 0x87}, + {value: 0x2d03, lo: 0x88, hi: 0x88}, + {value: 0x2f67, lo: 0x8a, hi: 0x8a}, + {value: 0x2def, lo: 0x8b, hi: 0x8b}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xc3 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1d, offset 0xc6 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2d0b, lo: 0x8a, hi: 0x8a}, + {value: 0x2d1b, lo: 0x8b, hi: 0x8b}, + {value: 0x2d13, lo: 0x8c, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1e, offset 0xcd + {value: 0x6bdd, lo: 0x07}, + {value: 0x9905, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3f0f, lo: 0x9a, hi: 0x9a}, + {value: 0x2f6f, lo: 0x9c, hi: 0x9c}, + {value: 0x2dfa, lo: 0x9d, hi: 0x9d}, + {value: 0x2d23, lo: 0x9e, hi: 0x9f}, + // Block 0x1f, offset 0xd5 + {value: 0x0000, lo: 0x03}, + {value: 0x2627, lo: 0xb3, hi: 0xb3}, + {value: 0x8123, lo: 0xb8, hi: 0xb9}, + {value: 0x8105, lo: 0xba, hi: 0xba}, + // Block 0x20, offset 0xd9 + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0x88, hi: 0x8b}, + // Block 0x21, offset 0xdb + {value: 0x0000, lo: 0x03}, + {value: 0x263c, lo: 0xb3, hi: 0xb3}, + {value: 0x8125, lo: 0xb8, hi: 0xb9}, + {value: 0x8105, lo: 0xba, hi: 0xba}, + // Block 0x22, offset 0xdf + {value: 0x0000, lo: 0x03}, + {value: 0x8126, lo: 0x88, hi: 0x8b}, + {value: 0x262e, lo: 0x9c, hi: 0x9c}, + {value: 0x2635, lo: 0x9d, hi: 0x9d}, + // Block 0x23, offset 0xe3 + {value: 0x0000, lo: 0x05}, + {value: 0x030e, lo: 0x8c, hi: 0x8c}, + {value: 0x812e, lo: 0x98, hi: 0x99}, + {value: 0x812e, lo: 0xb5, hi: 0xb5}, + {value: 0x812e, lo: 0xb7, hi: 0xb7}, + {value: 0x812c, lo: 0xb9, hi: 0xb9}, + // Block 0x24, offset 0xe9 + {value: 0x0000, lo: 0x10}, + {value: 0x264a, lo: 0x83, hi: 0x83}, + {value: 0x2651, lo: 0x8d, hi: 0x8d}, + {value: 0x2658, lo: 0x92, hi: 0x92}, + {value: 0x265f, lo: 0x97, hi: 0x97}, + {value: 0x2666, lo: 0x9c, hi: 0x9c}, + {value: 0x2643, lo: 0xa9, hi: 0xa9}, + {value: 0x8127, lo: 0xb1, hi: 0xb1}, + {value: 0x8128, lo: 0xb2, hi: 0xb2}, + {value: 0x4a9b, lo: 0xb3, hi: 0xb3}, + {value: 0x8129, lo: 0xb4, hi: 0xb4}, + {value: 0x4aa4, lo: 0xb5, hi: 0xb5}, + {value: 0x45cb, lo: 0xb6, hi: 0xb6}, + {value: 0x460b, lo: 0xb7, hi: 0xb7}, + {value: 0x45d3, lo: 0xb8, hi: 0xb8}, + {value: 0x4616, lo: 0xb9, hi: 0xb9}, + {value: 0x8128, lo: 0xba, hi: 0xbd}, + // Block 0x25, offset 0xfa + {value: 0x0000, lo: 0x0b}, + {value: 0x8128, lo: 0x80, hi: 0x80}, + {value: 0x4aad, lo: 0x81, hi: 0x81}, + {value: 0x8133, lo: 0x82, hi: 0x83}, + {value: 0x8105, lo: 0x84, hi: 0x84}, + {value: 0x8133, lo: 0x86, hi: 0x87}, + {value: 0x2674, lo: 0x93, hi: 0x93}, + {value: 0x267b, lo: 0x9d, hi: 0x9d}, + {value: 0x2682, lo: 0xa2, hi: 0xa2}, + {value: 0x2689, lo: 0xa7, hi: 0xa7}, + {value: 0x2690, lo: 0xac, hi: 0xac}, + {value: 0x266d, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0x106 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x86, hi: 0x86}, + // Block 0x27, offset 0x108 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d2b, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8103, lo: 0xb7, hi: 0xb7}, + {value: 0x8105, lo: 0xb9, hi: 0xba}, + // Block 0x28, offset 0x10e + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x8d, hi: 0x8d}, + // Block 0x29, offset 0x110 + {value: 0x0000, lo: 0x01}, + {value: 0x0312, lo: 0xbc, hi: 0xbc}, + // Block 0x2a, offset 0x112 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0x114 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x116 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x118 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x11a + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x11c + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x94, hi: 0x94}, + {value: 0x8105, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x11f + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x92, hi: 0x92}, + {value: 0x8133, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x122 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x124 + {value: 0x0004, lo: 0x02}, + {value: 0x812f, lo: 0xb9, hi: 0xba}, + {value: 0x812e, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x127 + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0x97, hi: 0x97}, + {value: 0x812e, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x12a + {value: 0x0000, lo: 0x03}, + {value: 0x8105, lo: 0xa0, hi: 0xa0}, + {value: 0x8133, lo: 0xb5, hi: 0xbc}, + {value: 0x812e, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x12e + {value: 0x0000, lo: 0x05}, + {value: 0x8133, lo: 0xb0, hi: 0xb4}, + {value: 0x812e, lo: 0xb5, hi: 0xba}, + {value: 0x8133, lo: 0xbb, hi: 0xbc}, + {value: 0x812e, lo: 0xbd, hi: 0xbd}, + {value: 0x812e, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x134 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x80, hi: 0x80}, + // Block 0x37, offset 0x136 + {value: 0x0000, lo: 0x08}, + {value: 0x2d73, lo: 0x80, hi: 0x80}, + {value: 0x2d7b, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d83, lo: 0x83, hi: 0x83}, + {value: 0x8105, lo: 0x84, hi: 0x84}, + {value: 0x8133, lo: 0xab, hi: 0xab}, + {value: 0x812e, lo: 0xac, hi: 0xac}, + {value: 0x8133, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x13f + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x141 + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0xa6, hi: 0xa6}, + {value: 0x8105, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x144 + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x146 + {value: 0x0000, lo: 0x0a}, + {value: 0x8133, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812e, lo: 0x95, hi: 0x99}, + {value: 0x8133, lo: 0x9a, hi: 0x9b}, + {value: 0x812e, lo: 0x9c, hi: 0x9f}, + {value: 0x8133, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x8133, lo: 0xb4, hi: 0xb4}, + {value: 0x8133, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x151 + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x15c + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043e, lo: 0x91, hi: 0x91}, + {value: 0x42b2, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1876, lo: 0xa5, hi: 0xa5}, + {value: 0x1b62, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2697, lo: 0xb3, hi: 0xb3}, + {value: 0x280b, lo: 0xb4, hi: 0xb4}, + {value: 0x269e, lo: 0xb6, hi: 0xb6}, + {value: 0x2815, lo: 0xb7, hi: 0xb7}, + {value: 0x1870, lo: 0xbc, hi: 0xbc}, + {value: 0x4280, lo: 0xbe, hi: 0xbe}, + // Block 0x3e, offset 0x16a + {value: 0x0002, lo: 0x0d}, + {value: 0x1936, lo: 0x87, hi: 0x87}, + {value: 0x1933, lo: 0x88, hi: 0x88}, + {value: 0x1873, lo: 0x89, hi: 0x89}, + {value: 0x299b, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x046a, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x3f, offset 0x178 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x046a, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x199f, lo: 0xa8, hi: 0xa8}, + // Block 0x40, offset 0x188 + {value: 0x0000, lo: 0x0d}, + {value: 0x8133, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8133, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8133, lo: 0x9b, hi: 0x9c}, + {value: 0x8133, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8133, lo: 0xa7, hi: 0xa7}, + {value: 0x812e, lo: 0xa8, hi: 0xa8}, + {value: 0x8133, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812e, lo: 0xac, hi: 0xaf}, + {value: 0x8133, lo: 0xb0, hi: 0xb0}, + // Block 0x41, offset 0x196 + {value: 0x0007, lo: 0x06}, + {value: 0x2186, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bd0, lo: 0x9a, hi: 0x9b}, + {value: 0x3bde, lo: 0xae, hi: 0xae}, + // Block 0x42, offset 0x19d + {value: 0x000e, lo: 0x05}, + {value: 0x3be5, lo: 0x8d, hi: 0x8e}, + {value: 0x3bec, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x43, offset 0x1a3 + {value: 0x017a, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3bfa, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3c01, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3c08, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3c0f, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3c16, lo: 0xa6, hi: 0xa6}, + {value: 0x26a5, lo: 0xac, hi: 0xad}, + {value: 0x26ac, lo: 0xaf, hi: 0xaf}, + {value: 0x2829, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x44, offset 0x1b2 + {value: 0x0007, lo: 0x03}, + {value: 0x3c7f, lo: 0xa0, hi: 0xa1}, + {value: 0x3ca9, lo: 0xa2, hi: 0xa3}, + {value: 0x3cd3, lo: 0xaa, hi: 0xad}, + // Block 0x45, offset 0x1b6 + {value: 0x0004, lo: 0x01}, + {value: 0x048e, lo: 0xa9, hi: 0xaa}, + // Block 0x46, offset 0x1b8 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x47, offset 0x1bc + {value: 0x0000, lo: 0x01}, + {value: 0x29a8, lo: 0x8c, hi: 0x8c}, + // Block 0x48, offset 0x1be + {value: 0x0266, lo: 0x02}, + {value: 0x1b92, lo: 0xb4, hi: 0xb4}, + {value: 0x1930, lo: 0xb5, hi: 0xb6}, + // Block 0x49, offset 0x1c1 + {value: 0x0000, lo: 0x01}, + {value: 0x44f4, lo: 0x9c, hi: 0x9c}, + // Block 0x4a, offset 0x1c3 + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4b, offset 0x1c6 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xaf, hi: 0xb1}, + // Block 0x4c, offset 0x1c8 + {value: 0x0000, lo: 0x02}, + {value: 0x0482, lo: 0xaf, hi: 0xaf}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x4d, offset 0x1cb + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xa0, hi: 0xbf}, + // Block 0x4e, offset 0x1cd + {value: 0x0000, lo: 0x01}, + {value: 0x0dc6, lo: 0x9f, hi: 0x9f}, + // Block 0x4f, offset 0x1cf + {value: 0x0000, lo: 0x01}, + {value: 0x1632, lo: 0xb3, hi: 0xb3}, + // Block 0x50, offset 0x1d1 + {value: 0x0004, lo: 0x0b}, + {value: 0x159a, lo: 0x80, hi: 0x82}, + {value: 0x15b2, lo: 0x83, hi: 0x83}, + {value: 0x15ca, lo: 0x84, hi: 0x85}, + {value: 0x15da, lo: 0x86, hi: 0x89}, + {value: 0x15ee, lo: 0x8a, hi: 0x8c}, + {value: 0x1602, lo: 0x8d, hi: 0x8d}, + {value: 0x160a, lo: 0x8e, hi: 0x8e}, + {value: 0x1612, lo: 0x8f, hi: 0x90}, + {value: 0x161e, lo: 0x91, hi: 0x93}, + {value: 0x162e, lo: 0x94, hi: 0x94}, + {value: 0x1636, lo: 0x95, hi: 0x95}, + // Block 0x51, offset 0x1dd + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x8134, lo: 0xac, hi: 0xac}, + {value: 0x812f, lo: 0xad, hi: 0xad}, + {value: 0x8130, lo: 0xae, hi: 0xae}, + {value: 0x8130, lo: 0xaf, hi: 0xaf}, + {value: 0x04b6, lo: 0xb6, hi: 0xb6}, + {value: 0x088a, lo: 0xb8, hi: 0xba}, + // Block 0x52, offset 0x1e7 + {value: 0x0006, lo: 0x09}, + {value: 0x0316, lo: 0xb1, hi: 0xb1}, + {value: 0x031a, lo: 0xb2, hi: 0xb2}, + {value: 0x4a52, lo: 0xb3, hi: 0xb3}, + {value: 0x031e, lo: 0xb4, hi: 0xb4}, + {value: 0x4a58, lo: 0xb5, hi: 0xb6}, + {value: 0x0322, lo: 0xb7, hi: 0xb7}, + {value: 0x0326, lo: 0xb8, hi: 0xb8}, + {value: 0x032a, lo: 0xb9, hi: 0xb9}, + {value: 0x4a64, lo: 0xba, hi: 0xbf}, + // Block 0x53, offset 0x1f1 + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0xaf, hi: 0xaf}, + {value: 0x8133, lo: 0xb4, hi: 0xbd}, + // Block 0x54, offset 0x1f4 + {value: 0x0000, lo: 0x03}, + {value: 0x0212, lo: 0x9c, hi: 0x9c}, + {value: 0x0215, lo: 0x9d, hi: 0x9d}, + {value: 0x8133, lo: 0x9e, hi: 0x9f}, + // Block 0x55, offset 0x1f8 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xb0, hi: 0xb1}, + // Block 0x56, offset 0x1fa + {value: 0x0000, lo: 0x01}, + {value: 0x163e, lo: 0xb0, hi: 0xb0}, + // Block 0x57, offset 0x1fc + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x58, offset 0x1fe + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x86, hi: 0x86}, + {value: 0x8105, lo: 0xac, hi: 0xac}, + // Block 0x59, offset 0x201 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x84, hi: 0x84}, + {value: 0x8133, lo: 0xa0, hi: 0xb1}, + // Block 0x5a, offset 0x204 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0xab, hi: 0xad}, + // Block 0x5b, offset 0x206 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x93, hi: 0x93}, + // Block 0x5c, offset 0x208 + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0xb3, hi: 0xb3}, + // Block 0x5d, offset 0x20a + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x80, hi: 0x80}, + // Block 0x5e, offset 0x20c + {value: 0x0000, lo: 0x05}, + {value: 0x8133, lo: 0xb0, hi: 0xb0}, + {value: 0x8133, lo: 0xb2, hi: 0xb3}, + {value: 0x812e, lo: 0xb4, hi: 0xb4}, + {value: 0x8133, lo: 0xb7, hi: 0xb8}, + {value: 0x8133, lo: 0xbe, hi: 0xbf}, + // Block 0x5f, offset 0x212 + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0x81, hi: 0x81}, + {value: 0x8105, lo: 0xb6, hi: 0xb6}, + // Block 0x60, offset 0x215 + {value: 0x0008, lo: 0x04}, + {value: 0x163a, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1646, lo: 0x9f, hi: 0x9f}, + {value: 0x015e, lo: 0xa9, hi: 0xa9}, + // Block 0x61, offset 0x21a + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xad, hi: 0xad}, + // Block 0x62, offset 0x21c + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x63, offset 0x223 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x64, offset 0x229 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x65, offset 0x22f + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x66, offset 0x237 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x67, offset 0x23d + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x68, offset 0x243 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x69, offset 0x249 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x6a, offset 0x24d + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6b, offset 0x24f + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0xbd, hi: 0xbd}, + // Block 0x6c, offset 0x251 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0xa0, hi: 0xa0}, + // Block 0x6d, offset 0x253 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xb6, hi: 0xba}, + // Block 0x6e, offset 0x255 + {value: 0x002d, lo: 0x05}, + {value: 0x812e, lo: 0x8d, hi: 0x8d}, + {value: 0x8133, lo: 0x8f, hi: 0x8f}, + {value: 0x8133, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x6f, offset 0x25b + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0xa5, hi: 0xa5}, + {value: 0x812e, lo: 0xa6, hi: 0xa6}, + // Block 0x70, offset 0x25e + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xa4, hi: 0xa7}, + // Block 0x71, offset 0x260 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xab, hi: 0xac}, + // Block 0x72, offset 0x262 + {value: 0x0000, lo: 0x05}, + {value: 0x812e, lo: 0x86, hi: 0x87}, + {value: 0x8133, lo: 0x88, hi: 0x8a}, + {value: 0x812e, lo: 0x8b, hi: 0x8b}, + {value: 0x8133, lo: 0x8c, hi: 0x8c}, + {value: 0x812e, lo: 0x8d, hi: 0x90}, + // Block 0x73, offset 0x268 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x86, hi: 0x86}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x74, offset 0x26b + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x424f, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4259, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x4263, lo: 0xab, hi: 0xab}, + {value: 0x8105, lo: 0xb9, hi: 0xba}, + // Block 0x75, offset 0x273 + {value: 0x0000, lo: 0x06}, + {value: 0x8133, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d8b, lo: 0xae, hi: 0xae}, + {value: 0x2d95, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8105, lo: 0xb3, hi: 0xb4}, + // Block 0x76, offset 0x27a + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x80, hi: 0x80}, + {value: 0x8103, lo: 0x8a, hi: 0x8a}, + // Block 0x77, offset 0x27d + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0xb5, hi: 0xb5}, + {value: 0x8103, lo: 0xb6, hi: 0xb6}, + // Block 0x78, offset 0x280 + {value: 0x0002, lo: 0x01}, + {value: 0x8103, lo: 0xa9, hi: 0xaa}, + // Block 0x79, offset 0x282 + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x7a, offset 0x285 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d9f, lo: 0x8b, hi: 0x8b}, + {value: 0x2da9, lo: 0x8c, hi: 0x8c}, + {value: 0x8105, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8133, lo: 0xa6, hi: 0xac}, + {value: 0x8133, lo: 0xb0, hi: 0xb4}, + // Block 0x7b, offset 0x28d + {value: 0x0000, lo: 0x03}, + {value: 0x8105, lo: 0x82, hi: 0x82}, + {value: 0x8103, lo: 0x86, hi: 0x86}, + {value: 0x8133, lo: 0x9e, hi: 0x9e}, + // Block 0x7c, offset 0x291 + {value: 0x6b4d, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2dbd, lo: 0xbb, hi: 0xbb}, + {value: 0x2db3, lo: 0xbc, hi: 0xbd}, + {value: 0x2dc7, lo: 0xbe, hi: 0xbe}, + // Block 0x7d, offset 0x298 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0x82, hi: 0x82}, + {value: 0x8103, lo: 0x83, hi: 0x83}, + // Block 0x7e, offset 0x29b + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dd1, lo: 0xba, hi: 0xba}, + {value: 0x2ddb, lo: 0xbb, hi: 0xbb}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x7f, offset 0x2a1 + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0x80, hi: 0x80}, + // Block 0x80, offset 0x2a3 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xbf, hi: 0xbf}, + // Block 0x81, offset 0x2a5 + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0xb6, hi: 0xb6}, + {value: 0x8103, lo: 0xb7, hi: 0xb7}, + // Block 0x82, offset 0x2a8 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xab, hi: 0xab}, + // Block 0x83, offset 0x2aa + {value: 0x0000, lo: 0x02}, + {value: 0x8105, lo: 0xb9, hi: 0xb9}, + {value: 0x8103, lo: 0xba, hi: 0xba}, + // Block 0x84, offset 0x2ad + {value: 0x0000, lo: 0x04}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb5, hi: 0xb5}, + {value: 0x2de5, lo: 0xb8, hi: 0xb8}, + {value: 0x8105, lo: 0xbd, hi: 0xbe}, + // Block 0x85, offset 0x2b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8103, lo: 0x83, hi: 0x83}, + // Block 0x86, offset 0x2b4 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xa0, hi: 0xa0}, + // Block 0x87, offset 0x2b6 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0xb4, hi: 0xb4}, + // Block 0x88, offset 0x2b8 + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x87, hi: 0x87}, + // Block 0x89, offset 0x2ba + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x99, hi: 0x99}, + // Block 0x8a, offset 0x2bc + {value: 0x0000, lo: 0x02}, + {value: 0x8103, lo: 0x82, hi: 0x82}, + {value: 0x8105, lo: 0x84, hi: 0x85}, + // Block 0x8b, offset 0x2bf + {value: 0x0000, lo: 0x01}, + {value: 0x8105, lo: 0x97, hi: 0x97}, + // Block 0x8c, offset 0x2c1 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x8d, offset 0x2c3 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xb0, hi: 0xb6}, + // Block 0x8e, offset 0x2c5 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb0, hi: 0xb1}, + // Block 0x8f, offset 0x2c7 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x90, offset 0x2c9 + {value: 0x0000, lo: 0x0c}, + {value: 0x45e3, lo: 0x9e, hi: 0x9e}, + {value: 0x45ed, lo: 0x9f, hi: 0x9f}, + {value: 0x4621, lo: 0xa0, hi: 0xa0}, + {value: 0x462f, lo: 0xa1, hi: 0xa1}, + {value: 0x463d, lo: 0xa2, hi: 0xa2}, + {value: 0x464b, lo: 0xa3, hi: 0xa3}, + {value: 0x4659, lo: 0xa4, hi: 0xa4}, + {value: 0x812c, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8131, lo: 0xad, hi: 0xad}, + {value: 0x812c, lo: 0xae, hi: 0xb2}, + {value: 0x812e, lo: 0xbb, hi: 0xbf}, + // Block 0x91, offset 0x2d6 + {value: 0x0000, lo: 0x09}, + {value: 0x812e, lo: 0x80, hi: 0x82}, + {value: 0x8133, lo: 0x85, hi: 0x89}, + {value: 0x812e, lo: 0x8a, hi: 0x8b}, + {value: 0x8133, lo: 0xaa, hi: 0xad}, + {value: 0x45f7, lo: 0xbb, hi: 0xbb}, + {value: 0x4601, lo: 0xbc, hi: 0xbc}, + {value: 0x4667, lo: 0xbd, hi: 0xbd}, + {value: 0x4683, lo: 0xbe, hi: 0xbe}, + {value: 0x4675, lo: 0xbf, hi: 0xbf}, + // Block 0x92, offset 0x2e0 + {value: 0x0000, lo: 0x01}, + {value: 0x4691, lo: 0x80, hi: 0x80}, + // Block 0x93, offset 0x2e2 + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0x82, hi: 0x84}, + // Block 0x94, offset 0x2e4 + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x95, offset 0x2e8 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x96, offset 0x2ed + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x97, offset 0x2f9 + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x98, offset 0x2fe + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x99, offset 0x307 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x9a, offset 0x30d + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x9b, offset 0x312 + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x9c, offset 0x316 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x9d, offset 0x31b + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x9e, offset 0x31f + {value: 0x0003, lo: 0x0f}, + {value: 0x01bb, lo: 0x80, hi: 0x80}, + {value: 0x0462, lo: 0x81, hi: 0x81}, + {value: 0x01be, lo: 0x82, hi: 0x9a}, + {value: 0x045e, lo: 0x9b, hi: 0x9b}, + {value: 0x01ca, lo: 0x9c, hi: 0x9c}, + {value: 0x01d3, lo: 0x9d, hi: 0x9d}, + {value: 0x01d9, lo: 0x9e, hi: 0x9e}, + {value: 0x01fd, lo: 0x9f, hi: 0x9f}, + {value: 0x01ee, lo: 0xa0, hi: 0xa0}, + {value: 0x01eb, lo: 0xa1, hi: 0xa1}, + {value: 0x0176, lo: 0xa2, hi: 0xb2}, + {value: 0x018b, lo: 0xb3, hi: 0xb3}, + {value: 0x01a9, lo: 0xb4, hi: 0xba}, + {value: 0x0462, lo: 0xbb, hi: 0xbb}, + {value: 0x01be, lo: 0xbc, hi: 0xbf}, + // Block 0x9f, offset 0x32f + {value: 0x0003, lo: 0x0d}, + {value: 0x01ca, lo: 0x80, hi: 0x94}, + {value: 0x045e, lo: 0x95, hi: 0x95}, + {value: 0x01ca, lo: 0x96, hi: 0x96}, + {value: 0x01d3, lo: 0x97, hi: 0x97}, + {value: 0x01d9, lo: 0x98, hi: 0x98}, + {value: 0x01fd, lo: 0x99, hi: 0x99}, + {value: 0x01ee, lo: 0x9a, hi: 0x9a}, + {value: 0x01eb, lo: 0x9b, hi: 0x9b}, + {value: 0x0176, lo: 0x9c, hi: 0xac}, + {value: 0x018b, lo: 0xad, hi: 0xad}, + {value: 0x01a9, lo: 0xae, hi: 0xb4}, + {value: 0x0462, lo: 0xb5, hi: 0xb5}, + {value: 0x01be, lo: 0xb6, hi: 0xbf}, + // Block 0xa0, offset 0x33d + {value: 0x0003, lo: 0x0d}, + {value: 0x01dc, lo: 0x80, hi: 0x8e}, + {value: 0x045e, lo: 0x8f, hi: 0x8f}, + {value: 0x01ca, lo: 0x90, hi: 0x90}, + {value: 0x01d3, lo: 0x91, hi: 0x91}, + {value: 0x01d9, lo: 0x92, hi: 0x92}, + {value: 0x01fd, lo: 0x93, hi: 0x93}, + {value: 0x01ee, lo: 0x94, hi: 0x94}, + {value: 0x01eb, lo: 0x95, hi: 0x95}, + {value: 0x0176, lo: 0x96, hi: 0xa6}, + {value: 0x018b, lo: 0xa7, hi: 0xa7}, + {value: 0x01a9, lo: 0xa8, hi: 0xae}, + {value: 0x0462, lo: 0xaf, hi: 0xaf}, + {value: 0x01be, lo: 0xb0, hi: 0xbf}, + // Block 0xa1, offset 0x34b + {value: 0x0003, lo: 0x0d}, + {value: 0x01ee, lo: 0x80, hi: 0x88}, + {value: 0x045e, lo: 0x89, hi: 0x89}, + {value: 0x01ca, lo: 0x8a, hi: 0x8a}, + {value: 0x01d3, lo: 0x8b, hi: 0x8b}, + {value: 0x01d9, lo: 0x8c, hi: 0x8c}, + {value: 0x01fd, lo: 0x8d, hi: 0x8d}, + {value: 0x01ee, lo: 0x8e, hi: 0x8e}, + {value: 0x01eb, lo: 0x8f, hi: 0x8f}, + {value: 0x0176, lo: 0x90, hi: 0xa0}, + {value: 0x018b, lo: 0xa1, hi: 0xa1}, + {value: 0x01a9, lo: 0xa2, hi: 0xa8}, + {value: 0x0462, lo: 0xa9, hi: 0xa9}, + {value: 0x01be, lo: 0xaa, hi: 0xbf}, + // Block 0xa2, offset 0x359 + {value: 0x0000, lo: 0x05}, + {value: 0x8133, lo: 0x80, hi: 0x86}, + {value: 0x8133, lo: 0x88, hi: 0x98}, + {value: 0x8133, lo: 0x9b, hi: 0xa1}, + {value: 0x8133, lo: 0xa3, hi: 0xa4}, + {value: 0x8133, lo: 0xa6, hi: 0xaa}, + // Block 0xa3, offset 0x35f + {value: 0x0000, lo: 0x01}, + {value: 0x8133, lo: 0xac, hi: 0xaf}, + // Block 0xa4, offset 0x361 + {value: 0x0000, lo: 0x01}, + {value: 0x812e, lo: 0x90, hi: 0x96}, + // Block 0xa5, offset 0x363 + {value: 0x0000, lo: 0x02}, + {value: 0x8133, lo: 0x84, hi: 0x89}, + {value: 0x8103, lo: 0x8a, hi: 0x8a}, + // Block 0xa6, offset 0x366 + {value: 0x0002, lo: 0x0a}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1954, lo: 0x8a, hi: 0x8a}, + {value: 0x1987, lo: 0x8b, hi: 0x8b}, + {value: 0x19a2, lo: 0x8c, hi: 0x8c}, + {value: 0x19a8, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc6, lo: 0x8e, hi: 0x8e}, + {value: 0x19b4, lo: 0x8f, hi: 0x8f}, + {value: 0x197e, lo: 0xaa, hi: 0xaa}, + {value: 0x1981, lo: 0xab, hi: 0xab}, + {value: 0x1984, lo: 0xac, hi: 0xac}, + // Block 0xa7, offset 0x371 + {value: 0x0000, lo: 0x01}, + {value: 0x1942, lo: 0x90, hi: 0x90}, + // Block 0xa8, offset 0x373 + {value: 0x0028, lo: 0x09}, + {value: 0x286f, lo: 0x80, hi: 0x80}, + {value: 0x2833, lo: 0x81, hi: 0x81}, + {value: 0x283d, lo: 0x82, hi: 0x82}, + {value: 0x2851, lo: 0x83, hi: 0x84}, + {value: 0x285b, lo: 0x85, hi: 0x86}, + {value: 0x2847, lo: 0x87, hi: 0x87}, + {value: 0x2865, lo: 0x88, hi: 0x88}, + {value: 0x0b72, lo: 0x90, hi: 0x90}, + {value: 0x08ea, lo: 0x91, hi: 0x91}, + // Block 0xa9, offset 0x37d + {value: 0x0002, lo: 0x01}, + {value: 0x0021, lo: 0xb0, hi: 0xb9}, +} + +// recompMap: 7528 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "\x195\x190\x00\x01\x198" + // 0x19351930: 0x00011938 + "" + // Total size of tables: 55KB (56160 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go new file mode 100644 index 000000000..0175eae50 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go @@ -0,0 +1,7638 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build !go1.10 +// +build !go1.10 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "9.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [55]uint8{ + 0, 1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 84, 91, 103, 107, 118, 122, 129, 130, + 132, 202, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x186D + firstCCC = 0x2C9E + endMulti = 0x2F60 + firstLeadingCCC = 0x49AE + firstCCCZeroExcept = 0x4A78 + firstStarterWithNLead = 0x4A9F + lastDecomp = 0x4AA1 + maxDecomp = 0x8000 +) + +// decomps: 19105 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, + 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, + 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, + 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, + 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, + 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, + 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, + 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, + 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, + 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, + 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, + 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, + 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, + 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, + 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, + 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, + 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, + 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, + // Bytes 200 - 23f + 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, + 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, + 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, + 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, + 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, + 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, + 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, + 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, + 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, + 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, + 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, + 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, + 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, + 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, + 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, + 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, + 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, + 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, + 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, + 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, + 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, + 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, + 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, + 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, + 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, + 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, + 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, + 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, + 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, + // Bytes 300 - 33f + 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, + 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, + 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, + 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, + 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, + 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, + 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, + 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, + // Bytes 340 - 37f + 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, + 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, + 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, + 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, + 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, + 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, + 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, + 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, + // Bytes 380 - 3bf + 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, + 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, + 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, + 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, + 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, + 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, + 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, + 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, + // Bytes 3c0 - 3ff + 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, + 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, + 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, + 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, + 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, + 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, + 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, + 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, + // Bytes 400 - 43f + 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, + 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, + 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, + 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, + 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, + 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, + 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, + 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, + // Bytes 440 - 47f + 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, + 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, + 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, + 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, + 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, + 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, + 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, + 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, + // Bytes 480 - 4bf + 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, + 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, + 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, + 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, + 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, + 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, + 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, + 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, + // Bytes 4c0 - 4ff + 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, + 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, + 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, + 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, + 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, + 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, + 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, + 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, + // Bytes 500 - 53f + 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, + 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, + 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, + 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, + 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, + 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, + 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, + 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, + // Bytes 540 - 57f + 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, + 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, + 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, + 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, + 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, + 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, + 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, + 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, + // Bytes 580 - 5bf + 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, + 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, + 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, + 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, + 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, + 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, + 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, + 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, + // Bytes 5c0 - 5ff + 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, + 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, + 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, + 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, + 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, + 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, + 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, + 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, + // Bytes 600 - 63f + 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, + 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, + 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, + 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, + 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, + 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, + 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, + 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, + // Bytes 640 - 67f + 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, + 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, + 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, + 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, + 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, + 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, + 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, + 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, + // Bytes 680 - 6bf + 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, + 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, + 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, + 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, + 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, + 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, + 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, + 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, + // Bytes 6c0 - 6ff + 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, + 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, + 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, + 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, + 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, + 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, + 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, + 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, + // Bytes 700 - 73f + 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, + 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, + 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, + 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, + 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, + 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, + 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, + 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, + // Bytes 740 - 77f + 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, + 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, + 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, + 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, + 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, + 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, + 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, + 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, + // Bytes 780 - 7bf + 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, + 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, + 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, + 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, + 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, + 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, + 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, + 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, + // Bytes 7c0 - 7ff + 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, + 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, + 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, + 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, + 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, + 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, + 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, + 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, + // Bytes 800 - 83f + 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, + 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, + 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, + 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, + 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, + 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, + 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, + 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, + // Bytes 840 - 87f + 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, + 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, + 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, + 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, + 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, + 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, + 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, + 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, + // Bytes 880 - 8bf + 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, + 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, + 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, + 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, + 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, + 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, + 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, + 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, + // Bytes 8c0 - 8ff + 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, + 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, + 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, + 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, + 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, + 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, + 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, + 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, + // Bytes 900 - 93f + 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, + 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, + 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, + 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, + 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, + 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, + 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, + 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, + // Bytes 940 - 97f + 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, + 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, + 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, + 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, + 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, + 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, + 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, + 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, + // Bytes 980 - 9bf + 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, + 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, + 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, + 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, + 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, + 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, + 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, + 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, + // Bytes 9c0 - 9ff + 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, + 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, + 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, + 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, + 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, + 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, + 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, + 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, + // Bytes a00 - a3f + 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, + 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, + 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, + 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, + 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, + 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, + 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, + 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, + // Bytes a40 - a7f + 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, + 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, + 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, + 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, + 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, + 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, + 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, + 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, + // Bytes a80 - abf + 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, + 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, + 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, + 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, + 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, + 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, + 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, + 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, + // Bytes ac0 - aff + 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, + 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, + 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, + 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, + 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, + 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, + 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, + 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, + // Bytes b00 - b3f + 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, + 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, + 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, + 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, + 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, + 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, + 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, + 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, + // Bytes b40 - b7f + 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, + 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, + 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, + 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, + 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, + 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, + 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, + 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, + // Bytes b80 - bbf + 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, + 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, + 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, + 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, + 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, + 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, + 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, + 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, + // Bytes bc0 - bff + 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, + 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, + 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, + 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, + 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, + 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, + 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, + 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, + // Bytes c00 - c3f + 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, + 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, + 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, + 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, + 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, + 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, + 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, + 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, + // Bytes c40 - c7f + 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, + 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, + 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, + 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, + 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, + 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, + 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, + 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, + // Bytes c80 - cbf + 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, + 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, + 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, + 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, + 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, + 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, + 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, + 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, + // Bytes cc0 - cff + 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, + 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, + 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, + 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, + 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, + 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, + 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, + 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, + // Bytes d00 - d3f + 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, + 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, + 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, + 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, + 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, + 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, + 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, + 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, + // Bytes d40 - d7f + 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, + 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, + 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, + 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, + 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, + 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, + 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, + 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, + // Bytes d80 - dbf + 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, + 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, + 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, + 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, + 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, + 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, + 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, + 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, + // Bytes dc0 - dff + 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, + 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, + 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, + 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, + 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, + 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, + 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, + 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, + // Bytes e00 - e3f + 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, + 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, + 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, + 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, + 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, + 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, + 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, + 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, + // Bytes e40 - e7f + 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, + 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, + 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, + 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, + 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, + 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, + 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, + 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, + // Bytes e80 - ebf + 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, + 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, + 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, + 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, + 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, + 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, + 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, + 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, + // Bytes ec0 - eff + 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, + 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, + 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, + 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, + 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, + 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, + 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, + 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, + // Bytes f00 - f3f + 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, + 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, + 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, + 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, + 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, + 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, + 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, + 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, + // Bytes f40 - f7f + 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, + 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, + 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, + 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, + 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, + 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, + 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, + 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, + // Bytes f80 - fbf + 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, + 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, + 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, + 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, + 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, + 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, + 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, + 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, + // Bytes fc0 - fff + 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, + 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, + 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, + 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, + 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, + 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, + 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, + 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, + // Bytes 1000 - 103f + 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, + 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, + 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, + 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, + 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, + 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, + 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, + 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, + // Bytes 1040 - 107f + 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, + 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, + 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, + 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, + 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, + 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, + 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, + 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, + // Bytes 1080 - 10bf + 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, + 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, + 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, + 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, + 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, + 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, + 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, + 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, + // Bytes 10c0 - 10ff + 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, + 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, + 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, + 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, + 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, + 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, + 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, + 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, + // Bytes 1100 - 113f + 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, + 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, + 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, + 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, + 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, + 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, + 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, + 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, + // Bytes 1140 - 117f + 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, + 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, + 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, + 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, + 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, + 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, + 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, + 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, + // Bytes 1180 - 11bf + 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, + 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, + 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, + 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, + 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, + 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, + 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, + 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, + // Bytes 11c0 - 11ff + 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, + 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, + 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, + 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, + 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, + 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, + 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, + 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, + // Bytes 1200 - 123f + 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, + 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, + 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, + 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, + 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, + 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, + 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, + 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, + // Bytes 1240 - 127f + 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, + 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, + 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, + 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, + 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, + 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, + 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, + 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, + // Bytes 1280 - 12bf + 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, + 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, + 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, + 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, + 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, + 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, + 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, + 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, + // Bytes 12c0 - 12ff + 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, + 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, + 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, + 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, + 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, + 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, + 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, + 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, + // Bytes 1300 - 133f + 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, + 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, + 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, + 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, + 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, + 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, + 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, + 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, + // Bytes 1340 - 137f + 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, + 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, + 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, + 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, + 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, + 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, + 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, + 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, + // Bytes 1380 - 13bf + 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, + 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, + 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, + 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, + 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, + 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, + 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, + 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, + // Bytes 13c0 - 13ff + 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, + 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, + 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, + 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, + 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, + 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, + 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, + 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, + // Bytes 1400 - 143f + 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, + 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, + 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, + 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, + 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, + 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, + 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, + 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, + // Bytes 1440 - 147f + 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, + 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, + 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, + 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, + 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, + 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, + 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, + 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, + // Bytes 1480 - 14bf + 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, + 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, + 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, + 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, + 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, + 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, + 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, + 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, + // Bytes 14c0 - 14ff + 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, + 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, + 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, + 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, + 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, + 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, + 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, + 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, + // Bytes 1500 - 153f + 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, + 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, + 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, + 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, + 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, + 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, + 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, + 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, + // Bytes 1540 - 157f + 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, + 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, + 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, + 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, + 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, + 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, + 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, + 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, + // Bytes 1580 - 15bf + 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, + 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, + 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, + 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, + 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, + 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, + 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, + 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, + // Bytes 15c0 - 15ff + 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, + 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, + 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, + 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, + 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, + 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, + 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, + 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, + // Bytes 1600 - 163f + 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, + 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, + 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, + 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, + 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, + 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, + 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, + 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, + // Bytes 1640 - 167f + 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, + 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, + 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, + 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, + 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, + 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, + 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, + 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, + // Bytes 1680 - 16bf + 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, + 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, + 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, + 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, + 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, + 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, + 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, + 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, + // Bytes 16c0 - 16ff + 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, + 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, + 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, + 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, + 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, + 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, + 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, + 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, + // Bytes 1700 - 173f + 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, + 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, + 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, + 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, + 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, + 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, + 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, + 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, + // Bytes 1740 - 177f + 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, + 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, + 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, + 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, + 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, + 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, + 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, + 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, + // Bytes 1780 - 17bf + 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, + 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, + 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, + 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, + 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, + 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, + 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, + 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, + // Bytes 17c0 - 17ff + 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, + 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, + 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, + 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, + 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, + 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, + 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, + 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, + // Bytes 1800 - 183f + 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, + 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, + 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, + 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, + 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, + 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, + 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, + 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, + // Bytes 1840 - 187f + 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, + 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, + 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, + 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, + 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, + 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, + 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, + 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, + 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, + 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, + 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, + 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, + 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, + 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, + 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, + 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, + 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, + 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, + 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, + 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, + 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, + 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, + // Bytes 1900 - 193f + 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, + 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, + 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, + 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, + 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, + 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, + 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, + 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, + // Bytes 1940 - 197f + 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, + 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, + 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, + 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, + 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, + 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, + 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, + 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, + 0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, + 0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, + 0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, + 0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, + 0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, + 0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, + 0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, + 0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, + 0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, + 0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, + 0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, + 0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, + 0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, + 0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, + 0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, + 0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, + 0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, + 0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, + 0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, + 0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, + 0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, + 0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, + 0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, + 0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, + 0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, + 0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, + 0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, + 0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, + // Bytes 1a80 - 1abf + 0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, + 0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, + 0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, + 0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, + 0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, + 0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, + 0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, + 0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, + // Bytes 1ac0 - 1aff + 0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, + 0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, + 0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, + 0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, + 0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, + 0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, + 0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, + 0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, + // Bytes 1b00 - 1b3f + 0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, + 0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, + 0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, + 0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, + 0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, + 0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, + 0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, + 0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, + // Bytes 1b40 - 1b7f + 0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, + 0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, + 0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, + 0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, + 0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, + 0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, + 0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, + 0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, + // Bytes 1b80 - 1bbf + 0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, + 0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, + 0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, + 0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, + 0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, + 0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, + 0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, + 0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, + // Bytes 1bc0 - 1bff + 0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, + 0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, + 0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, + 0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, + 0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, + 0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, + 0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, + 0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, + // Bytes 1c00 - 1c3f + 0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, + 0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, + 0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, + 0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, + 0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, + 0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, + 0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, + 0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, + // Bytes 1c40 - 1c7f + 0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, + 0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, + 0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, + 0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, + 0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, + 0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, + 0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, + 0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, + // Bytes 1c80 - 1cbf + 0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, + 0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, + 0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, + 0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, + 0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, + 0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, + 0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, + 0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, + // Bytes 1cc0 - 1cff + 0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, + 0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, + 0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, + 0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, + 0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, + 0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, + 0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, + 0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, + // Bytes 1d00 - 1d3f + 0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, + 0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, + 0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, + 0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, + 0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, + 0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, + 0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, + 0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, + // Bytes 1d40 - 1d7f + 0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, + 0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, + 0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, + 0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, + 0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, + 0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, + 0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, + 0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, + // Bytes 1d80 - 1dbf + 0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, + 0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, + 0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, + 0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, + 0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, + 0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, + 0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, + 0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, + // Bytes 1dc0 - 1dff + 0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, + 0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, + 0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, + 0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, + 0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, + 0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, + 0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, + 0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, + // Bytes 1e00 - 1e3f + 0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, + 0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, + 0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, + 0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, + 0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, + 0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, + 0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, + 0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, + // Bytes 1e40 - 1e7f + 0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, + 0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, + 0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, + 0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, + 0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, + 0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, + 0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, + 0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1e80 - 1ebf + 0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, + 0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, + 0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, + 0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, + 0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, + 0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, + 0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, + 0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, + // Bytes 1ec0 - 1eff + 0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, + 0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, + 0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, + 0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, + 0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, + 0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, + 0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, + 0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, + // Bytes 1f00 - 1f3f + 0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, + 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, + 0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, + 0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, + 0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, + 0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, + 0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, + 0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, + // Bytes 1f40 - 1f7f + 0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, + 0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, + 0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, + 0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, + 0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, + 0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, + 0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, + 0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, + // Bytes 1f80 - 1fbf + 0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, + 0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, + 0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, + 0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, + 0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, + 0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, + 0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, + 0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, + // Bytes 1fc0 - 1fff + 0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, + 0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, + 0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, + 0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, + 0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, + 0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, + 0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, + 0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, + // Bytes 2000 - 203f + 0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, + 0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, + 0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, + 0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, + 0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, + 0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, + 0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, + 0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, + // Bytes 2040 - 207f + 0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, + 0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, + 0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, + 0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, + // Bytes 2080 - 20bf + 0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, + 0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, + 0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, + 0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, + // Bytes 20c0 - 20ff + 0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, + 0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, + 0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, + 0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, + 0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, + 0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, + 0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, + 0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, + // Bytes 2100 - 213f + 0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, + 0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, + 0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, + 0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, + 0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, + 0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, + 0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, + 0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, + // Bytes 2140 - 217f + 0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, + 0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, + 0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, + 0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, + 0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, + 0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, + 0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, + 0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, + // Bytes 2180 - 21bf + 0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, + 0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, + // Bytes 21c0 - 21ff + 0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, + // Bytes 2200 - 223f + 0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, + // Bytes 2240 - 227f + 0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, + // Bytes 2280 - 22bf + 0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, + 0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, + 0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + // Bytes 22c0 - 22ff + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, + 0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, + 0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, + 0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, + 0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, + 0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, + 0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, + // Bytes 2300 - 233f + 0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, + 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, + 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, + // Bytes 2340 - 237f + 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, + 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, + 0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, + // Bytes 2380 - 23bf + 0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, + 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, + 0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, + // Bytes 23c0 - 23ff + 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, + 0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, + 0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, + 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, + // Bytes 2400 - 243f + 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, + 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, + 0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, + 0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, + 0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, + // Bytes 2440 - 247f + 0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, + 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, + 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, + 0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, + // Bytes 2480 - 24bf + 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, + 0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, + 0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, + // Bytes 24c0 - 24ff + 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, + 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, + 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, + 0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, + // Bytes 2500 - 253f + 0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, + 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, + 0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, + 0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, + 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, + // Bytes 2540 - 257f + 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, + 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, + 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, + 0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, + // Bytes 2580 - 25bf + 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, + 0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, + 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, + 0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, + // Bytes 25c0 - 25ff + 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, + // Bytes 2600 - 263f + 0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, + 0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, + 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, + 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, + 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, + // Bytes 2640 - 267f + 0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, + 0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, + 0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, + // Bytes 2680 - 26bf + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, + 0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, + 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, + 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, + 0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, + 0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, + // Bytes 26c0 - 26ff + 0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, + 0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, + 0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, + 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, + 0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, + 0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, + 0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, + // Bytes 2700 - 273f + 0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90, + 0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46, + 0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72, + 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3, + 0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, + // Bytes 2740 - 277f + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29, + // Bytes 2780 - 27bf + 0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61, + 0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8, + 0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48, + // Bytes 27c0 - 27ff + 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, + 0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9, + 0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, + 0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8, + 0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84, + 0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8, + 0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2, + // Bytes 2800 - 283f + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3, + 0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B, + // Bytes 2840 - 287f + 0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C, + 0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95, + // Bytes 2880 - 28bf + 0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6, + 0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, + 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, + 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1, + // Bytes 28c0 - 28ff + 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3, + 0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A, + 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, + 0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3, + 0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3, + // Bytes 2900 - 293f + 0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3, + 0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98, + 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3, + // Bytes 2940 - 297f + 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3, + 0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF, + 0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82, + // Bytes 2980 - 29bf + 0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, + 0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82, + 0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3, + // Bytes 29c0 - 29ff + 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, + 0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, + 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, + 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82, + 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2a40 - 2a7f + 0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, + // Bytes 2a80 - 2abf + 0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3, + 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C, + 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, + 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92, + 0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9, + // Bytes 2b00 - 2b3f + 0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5, + // Bytes 2b40 - 2b7f + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B, + 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E, + // Bytes 2b80 - 2bbf + 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, + 0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84, + 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3, + // Bytes 2bc0 - 2bff + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2c00 - 2c3f + 0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3, + 0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83, + 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, + 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, + 0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, + 0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, + // Bytes 2c40 - 2c7f + 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, + 0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9, + // Bytes 2c80 - 2cbf + 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, + 0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, + 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2cc0 - 2cff + 0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0, + 0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2d00 - 2d3f + 0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0, + 0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1, + 0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1, + 0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + // Bytes 2d40 - 2d7f + 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0, + // Bytes 2d80 - 2dbf + 0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01, + 0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84, + 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, + 0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D, + 0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0, + 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01, + 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, + 0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, + // Bytes 2dc0 - 2dff + 0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96, + 0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, + 0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01, + 0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, + 0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44, + 0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC, + 0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9, + // Bytes 2e00 - 2e3f + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e40 - 2e7f + 0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, + 0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e80 - 2ebf + 0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, + 0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, + 0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, + 0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, + 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + // Bytes 2ec0 - 2eff + 0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83, + 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, + 0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, + 0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, + 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82, + 0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, + // Bytes 2f00 - 2f3f + 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, + 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, + 0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95, + // Bytes 2f40 - 2f7f + 0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, + 0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, + 0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, + 0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, + 0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81, + 0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41, + // Bytes 2f80 - 2fbf + 0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9, + 0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC, + 0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03, + 0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8, + 0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42, + 0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5, + 0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC, + 0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03, + // Bytes 2fc0 - 2fff + 0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87, + 0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44, + 0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5, + 0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC, + 0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03, + 0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83, + 0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45, + 0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9, + // Bytes 3000 - 303f + 0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC, + 0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03, + 0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8, + 0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45, + 0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9, + 0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC, + 0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03, + 0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87, + // Bytes 3040 - 307f + 0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47, + 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9, + 0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC, + 0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03, + 0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7, + 0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49, + 0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9, + 0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC, + // Bytes 3080 - 30bf + 0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03, + 0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87, + 0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49, + 0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9, + 0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC, + 0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03, + 0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82, + 0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B, + // Bytes 30c0 - 30ff + 0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5, + 0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC, + 0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03, + 0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7, + 0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C, + 0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9, + 0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC, + 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03, + // Bytes 3100 - 313f + 0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83, + 0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E, + 0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5, + 0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC, + 0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03, + 0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81, + 0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F, + 0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9, + // Bytes 3140 - 317f + 0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC, + 0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03, + 0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87, + 0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52, + 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9, + 0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC, + 0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03, + 0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82, + // Bytes 3180 - 31bf + 0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53, + 0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5, + 0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC, + 0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03, + 0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7, + 0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54, + 0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9, + 0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC, + // Bytes 31c0 - 31ff + 0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03, + 0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A, + 0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55, + 0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9, + 0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC, + 0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03, + 0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD, + 0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56, + // Bytes 3200 - 323f + 0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5, + 0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC, + 0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03, + 0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88, + 0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58, + 0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9, + 0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC, + 0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03, + // Bytes 3240 - 327f + 0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84, + 0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59, + 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9, + 0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC, + 0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03, + 0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C, + 0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, + 0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9, + // Bytes 3280 - 32bf + 0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC, + 0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03, + 0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C, + 0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61, + 0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5, + 0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC, + 0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03, + 0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81, + // Bytes 32c0 - 32ff + 0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63, + 0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9, + 0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC, + 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03, + 0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD, + 0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65, + 0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9, + 0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC, + // Bytes 3300 - 333f + 0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03, + 0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89, + 0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65, + 0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9, + 0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC, + 0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03, + 0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81, + 0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67, + // Bytes 3340 - 337f + 0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9, + 0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, + 0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03, + 0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87, + 0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68, + 0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5, + 0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC, + 0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3380 - 33bf + 0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81, + 0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69, + 0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9, + 0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC, + 0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03, + 0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91, + 0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69, + 0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5, + // Bytes 33c0 - 33ff + 0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC, + 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03, + 0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3, + 0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B, + 0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9, + 0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC, + 0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03, + 0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81, + // Bytes 3400 - 343f + 0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D, + 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9, + 0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC, + 0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03, + 0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3, + 0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E, + 0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5, + 0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC, + // Bytes 3440 - 347f + 0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03, + 0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B, + 0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F, + 0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9, + 0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC, + 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03, + 0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C, + 0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72, + // Bytes 3480 - 34bf + 0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5, + 0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC, + 0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03, + 0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7, + 0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74, + 0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9, + 0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC, + 0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03, + // Bytes 34c0 - 34ff + 0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1, + 0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75, + 0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9, + 0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC, + 0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03, + 0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C, + 0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75, + 0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5, + // Bytes 3500 - 353f + 0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC, + 0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03, + 0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83, + 0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77, + 0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9, + 0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC, + 0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03, + 0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3, + // Bytes 3540 - 357f + 0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78, + 0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9, + 0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC, + 0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03, + 0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87, + 0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79, + 0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9, + 0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC, + // Bytes 3580 - 35bf + 0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03, + 0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C, + 0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, + 0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80, + 0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04, + 0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86, + 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84, + 0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04, + // Bytes 35c0 - 35ff + 0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6, + 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81, + 0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04, + 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92, + 0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85, + // Bytes 3600 - 363f + 0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04, + 0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F, + // Bytes 3640 - 367f + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04, + // Bytes 3680 - 36bf + 0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85, + 0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7, + 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82, + // Bytes 36c0 - 36ff + 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81, + 0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94, + 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04, + 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85, + 0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86, + 0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04, + 0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92, + // Bytes 3700 - 373f + 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81, + 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3740 - 377f + 0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84, + 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04, + 0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A, + 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04, + 0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, + // Bytes 3780 - 37bf + 0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6, + // Bytes 37c0 - 37ff + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8, + 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04, + 0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83, + 0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86, + 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3800 - 383f + 0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87, + 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88, + 0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04, + 0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4, + 0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, + 0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04, + 0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8, + 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88, + // Bytes 3840 - 387f + 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04, + 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94, + 0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04, + 0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92, + 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94, + 0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + // Bytes 3880 - 38bf + 0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, + 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86, + 0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, + 0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, + 0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA, + 0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, + 0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41, + // Bytes 38c0 - 38ff + 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC, + 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7, + 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45, + 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, + // Bytes 3900 - 393f + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7, + 0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, + 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + 0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, + 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83, + // Bytes 3940 - 397f + 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC, + 0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, + 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, + 0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + 0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F, + 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, + 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, + 0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, + // Bytes 3980 - 39bf + 0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, + 0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, + 0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, + 0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53, + 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, + 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3, + 0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC, + 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, + // Bytes 39c0 - 39ff + 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, + 0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55, + 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B, + 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + // Bytes 3a00 - 3a3f + 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86, + 0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, + 0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, + 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA, + 0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + // Bytes 3a40 - 3a7f + 0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61, + 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3, + 0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC, + 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, + 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA, + 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, + 0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65, + // Bytes 3a80 - 3abf + 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, + 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3, + 0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC, + 0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, + 0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, + 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, + // Bytes 3ac0 - 3aff + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83, + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, + 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, + 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA, + 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, + 0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, + // Bytes 3b00 - 3b3f + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + 0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72, + 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC, + 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C, + 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC, + // Bytes 3b40 - 3b7f + 0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, + 0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA, + 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05, + 0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC, + 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B, + 0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, + // Bytes 3b80 - 3bbf + 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA, + 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05, + 0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1, + 0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE, + 0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, + 0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, + 0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, + 0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, + // Bytes 3bc0 - 3bff + 0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, + 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3c00 - 3c3f + 0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + // Bytes 3c40 - 3c7f + 0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + // Bytes 3c80 - 3cbf + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, + // Bytes 3cc0 - 3cff + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, + 0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + // Bytes 3d00 - 3d3f + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3d40 - 3d7f + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + // Bytes 3d80 - 3dbf + 0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + // Bytes 3dc0 - 3dff + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + // Bytes 3e00 - 3e3f + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3e40 - 3e7f + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + // Bytes 3e80 - 3ebf + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + // Bytes 3ec0 - 3eff + 0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85, + 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11, + // Bytes 3f00 - 3f3f + 0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f40 - 3f7f + 0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f80 - 3fbf + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D, + // Bytes 3fc0 - 3fff + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4000 - 403f + 0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4040 - 407f + 0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4080 - 40bf + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 40c0 - 40ff + 0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + // Bytes 4100 - 413f + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + // Bytes 4140 - 417f + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, + // Bytes 4180 - 41bf + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + // Bytes 41c0 - 41ff + 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + // Bytes 4200 - 423f + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, + // Bytes 4240 - 427f + 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, + 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, + 0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2, + 0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43, + 0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84, + 0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20, + 0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9, + 0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC, + // Bytes 4280 - 42bf + 0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43, + 0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94, + 0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20, + 0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5, + 0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD, + 0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43, + 0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D, + 0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20, + // Bytes 42c0 - 42ff + 0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D, + 0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9, + 0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43, + 0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82, + 0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D, + 0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE, + 0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9, + // Bytes 4300 - 433f + 0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, + 0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, + 0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC, + // Bytes 4340 - 437f + 0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9, + 0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7, + 0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7, + // Bytes 4380 - 43bf + 0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7, + 0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41, + // Bytes 43c0 - 43ff + 0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49, + 0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7, + 0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6, + // Bytes 4400 - 443f + 0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31, + 0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8, + 0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, + 0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8, + 0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9, + 0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65, + 0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9, + // Bytes 4440 - 447f + 0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9, + 0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75, + 0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9, + 0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9, + 0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, + 0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB, + 0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC, + // Bytes 4480 - 44bf + 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, + 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45, + 0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20, + 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, + 0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9, + 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, + // Bytes 44c0 - 44ff + 0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72, + 0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45, + 0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20, + 0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB, + 0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6, + 0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6, + // Bytes 4500 - 453f + 0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9, + 0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1, + // Bytes 4540 - 457f + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97, + // Bytes 4580 - 45bf + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3, + // Bytes 45c0 - 45ff + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85, + 0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, + 0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + 0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49, + // Bytes 4600 - 463f + 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, + 0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, + 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, + 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + // Bytes 4640 - 467f + 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE, + 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, + 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, + 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + // Bytes 4680 - 46bf + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, + 0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC, + 0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83, + 0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A, + 0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43, + 0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9, + 0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC, + 0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83, + // Bytes 46c0 - 46ff + 0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3, + 0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F, + 0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9, + 0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC, + 0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83, + 0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8, + 0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53, + 0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9, + // Bytes 4700 - 473f + 0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC, + 0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83, + 0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B, + 0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61, + 0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9, + 0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC, + 0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83, + 0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82, + // Bytes 4740 - 477f + 0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65, + 0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5, + 0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC, + 0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83, + 0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84, + 0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F, + 0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD, + 0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, + // Bytes 4780 - 47bf + 0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83, + 0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C, + 0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75, + 0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9, + 0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC, + 0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC, + // Bytes 47c0 - 47ff + 0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE, + // Bytes 4800 - 483f + 0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE, + 0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9, + 0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE, + 0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9, + // Bytes 4840 - 487f + 0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE, + 0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF, + 0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC, + 0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF, + 0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC, + // Bytes 4880 - 48bf + 0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + // Bytes 48c0 - 48ff + 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + // Bytes 4900 - 493f + 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + // Bytes 4940 - 497f + 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + // Bytes 4980 - 49bf + 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC, + 0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32, + 0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85, + // Bytes 49c0 - 49ff + 0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, + // Bytes 4a00 - 4a3f + 0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, + // Bytes 4a40 - 4a7f + 0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, + 0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, + 0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32, + 0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3, + // Bytes 4a80 - 4abf + 0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1, + 0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0, + 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00, + 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10332 bytes (10.09 KiB). Checksum: 51cc525b297fc970. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 44: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 44 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 46 blocks, 2944 entries, 5888 bytes +// The third block is the zero block. +var nfcValues = [2944]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, + // Block 0x5, offset 0x140 + 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35a1, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b, + 0x2c6: 0xa000, 0x2c7: 0x3709, + 0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x3733, 0x302: 0x37b7, + 0x310: 0x370f, 0x311: 0x3793, + 0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd, + 0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf, + 0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed, + 0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805, + 0x338: 0x3787, 0x339: 0x380b, + // Block 0xd, offset 0x340 + 0x351: 0x812d, + 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, + 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, + 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, + 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, + 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, + 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, + 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, + 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, + 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, + 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x812d, + 0x3b0: 0x811e, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xa000, + 0x3c6: 0x2d26, 0x3c7: 0xa000, 0x3c8: 0x2d2e, 0x3c9: 0xa000, 0x3ca: 0x2d36, 0x3cb: 0xa000, + 0x3cc: 0x2d3e, 0x3cd: 0xa000, 0x3ce: 0x2d46, 0x3d1: 0xa000, + 0x3d2: 0x2d4e, + 0x3f4: 0x8102, 0x3f5: 0x9900, + 0x3fa: 0xa000, 0x3fb: 0x2d56, + 0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000, + // Block 0x10, offset 0x400 + 0x400: 0x2f97, 0x401: 0x32a3, 0x402: 0x2fa1, 0x403: 0x32ad, 0x404: 0x2fa6, 0x405: 0x32b2, + 0x406: 0x2fab, 0x407: 0x32b7, 0x408: 0x38cc, 0x409: 0x3a5b, 0x40a: 0x2fc4, 0x40b: 0x32d0, + 0x40c: 0x2fce, 0x40d: 0x32da, 0x40e: 0x2fdd, 0x40f: 0x32e9, 0x410: 0x2fd3, 0x411: 0x32df, + 0x412: 0x2fd8, 0x413: 0x32e4, 0x414: 0x38ef, 0x415: 0x3a7e, 0x416: 0x38f6, 0x417: 0x3a85, + 0x418: 0x3019, 0x419: 0x3325, 0x41a: 0x301e, 0x41b: 0x332a, 0x41c: 0x3904, 0x41d: 0x3a93, + 0x41e: 0x3023, 0x41f: 0x332f, 0x420: 0x3032, 0x421: 0x333e, 0x422: 0x3050, 0x423: 0x335c, + 0x424: 0x305f, 0x425: 0x336b, 0x426: 0x3055, 0x427: 0x3361, 0x428: 0x3064, 0x429: 0x3370, + 0x42a: 0x3069, 0x42b: 0x3375, 0x42c: 0x30af, 0x42d: 0x33bb, 0x42e: 0x390b, 0x42f: 0x3a9a, + 0x430: 0x30b9, 0x431: 0x33ca, 0x432: 0x30c3, 0x433: 0x33d4, 0x434: 0x30cd, 0x435: 0x33de, + 0x436: 0x46c4, 0x437: 0x4755, 0x438: 0x3912, 0x439: 0x3aa1, 0x43a: 0x30e6, 0x43b: 0x33f7, + 0x43c: 0x30e1, 0x43d: 0x33f2, 0x43e: 0x30eb, 0x43f: 0x33fc, + // Block 0x11, offset 0x440 + 0x440: 0x30f0, 0x441: 0x3401, 0x442: 0x30f5, 0x443: 0x3406, 0x444: 0x3109, 0x445: 0x341a, + 0x446: 0x3113, 0x447: 0x3424, 0x448: 0x3122, 0x449: 0x3433, 0x44a: 0x311d, 0x44b: 0x342e, + 0x44c: 0x3935, 0x44d: 0x3ac4, 0x44e: 0x3943, 0x44f: 0x3ad2, 0x450: 0x394a, 0x451: 0x3ad9, + 0x452: 0x3951, 0x453: 0x3ae0, 0x454: 0x314f, 0x455: 0x3460, 0x456: 0x3154, 0x457: 0x3465, + 0x458: 0x315e, 0x459: 0x346f, 0x45a: 0x46f1, 0x45b: 0x4782, 0x45c: 0x3997, 0x45d: 0x3b26, + 0x45e: 0x3177, 0x45f: 0x3488, 0x460: 0x3181, 0x461: 0x3492, 0x462: 0x4700, 0x463: 0x4791, + 0x464: 0x399e, 0x465: 0x3b2d, 0x466: 0x39a5, 0x467: 0x3b34, 0x468: 0x39ac, 0x469: 0x3b3b, + 0x46a: 0x3190, 0x46b: 0x34a1, 0x46c: 0x319a, 0x46d: 0x34b0, 0x46e: 0x31ae, 0x46f: 0x34c4, + 0x470: 0x31a9, 0x471: 0x34bf, 0x472: 0x31ea, 0x473: 0x3500, 0x474: 0x31f9, 0x475: 0x350f, + 0x476: 0x31f4, 0x477: 0x350a, 0x478: 0x39b3, 0x479: 0x3b42, 0x47a: 0x39ba, 0x47b: 0x3b49, + 0x47c: 0x31fe, 0x47d: 0x3514, 0x47e: 0x3203, 0x47f: 0x3519, + // Block 0x12, offset 0x480 + 0x480: 0x3208, 0x481: 0x351e, 0x482: 0x320d, 0x483: 0x3523, 0x484: 0x321c, 0x485: 0x3532, + 0x486: 0x3217, 0x487: 0x352d, 0x488: 0x3221, 0x489: 0x353c, 0x48a: 0x3226, 0x48b: 0x3541, + 0x48c: 0x322b, 0x48d: 0x3546, 0x48e: 0x3249, 0x48f: 0x3564, 0x490: 0x3262, 0x491: 0x3582, + 0x492: 0x3271, 0x493: 0x3591, 0x494: 0x3276, 0x495: 0x3596, 0x496: 0x337a, 0x497: 0x34a6, + 0x498: 0x3537, 0x499: 0x3573, 0x49b: 0x35d1, + 0x4a0: 0x46a1, 0x4a1: 0x4732, 0x4a2: 0x2f83, 0x4a3: 0x328f, + 0x4a4: 0x3878, 0x4a5: 0x3a07, 0x4a6: 0x3871, 0x4a7: 0x3a00, 0x4a8: 0x3886, 0x4a9: 0x3a15, + 0x4aa: 0x387f, 0x4ab: 0x3a0e, 0x4ac: 0x38be, 0x4ad: 0x3a4d, 0x4ae: 0x3894, 0x4af: 0x3a23, + 0x4b0: 0x388d, 0x4b1: 0x3a1c, 0x4b2: 0x38a2, 0x4b3: 0x3a31, 0x4b4: 0x389b, 0x4b5: 0x3a2a, + 0x4b6: 0x38c5, 0x4b7: 0x3a54, 0x4b8: 0x46b5, 0x4b9: 0x4746, 0x4ba: 0x3000, 0x4bb: 0x330c, + 0x4bc: 0x2fec, 0x4bd: 0x32f8, 0x4be: 0x38da, 0x4bf: 0x3a69, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x38d3, 0x4c1: 0x3a62, 0x4c2: 0x38e8, 0x4c3: 0x3a77, 0x4c4: 0x38e1, 0x4c5: 0x3a70, + 0x4c6: 0x38fd, 0x4c7: 0x3a8c, 0x4c8: 0x3091, 0x4c9: 0x339d, 0x4ca: 0x30a5, 0x4cb: 0x33b1, + 0x4cc: 0x46e7, 0x4cd: 0x4778, 0x4ce: 0x3136, 0x4cf: 0x3447, 0x4d0: 0x3920, 0x4d1: 0x3aaf, + 0x4d2: 0x3919, 0x4d3: 0x3aa8, 0x4d4: 0x392e, 0x4d5: 0x3abd, 0x4d6: 0x3927, 0x4d7: 0x3ab6, + 0x4d8: 0x3989, 0x4d9: 0x3b18, 0x4da: 0x396d, 0x4db: 0x3afc, 0x4dc: 0x3966, 0x4dd: 0x3af5, + 0x4de: 0x397b, 0x4df: 0x3b0a, 0x4e0: 0x3974, 0x4e1: 0x3b03, 0x4e2: 0x3982, 0x4e3: 0x3b11, + 0x4e4: 0x31e5, 0x4e5: 0x34fb, 0x4e6: 0x31c7, 0x4e7: 0x34dd, 0x4e8: 0x39e4, 0x4e9: 0x3b73, + 0x4ea: 0x39dd, 0x4eb: 0x3b6c, 0x4ec: 0x39f2, 0x4ed: 0x3b81, 0x4ee: 0x39eb, 0x4ef: 0x3b7a, + 0x4f0: 0x39f9, 0x4f1: 0x3b88, 0x4f2: 0x3230, 0x4f3: 0x354b, 0x4f4: 0x3258, 0x4f5: 0x3578, + 0x4f6: 0x3253, 0x4f7: 0x356e, 0x4f8: 0x323f, 0x4f9: 0x355a, + // Block 0x14, offset 0x500 + 0x500: 0x4804, 0x501: 0x480a, 0x502: 0x491e, 0x503: 0x4936, 0x504: 0x4926, 0x505: 0x493e, + 0x506: 0x492e, 0x507: 0x4946, 0x508: 0x47aa, 0x509: 0x47b0, 0x50a: 0x488e, 0x50b: 0x48a6, + 0x50c: 0x4896, 0x50d: 0x48ae, 0x50e: 0x489e, 0x50f: 0x48b6, 0x510: 0x4816, 0x511: 0x481c, + 0x512: 0x3db8, 0x513: 0x3dc8, 0x514: 0x3dc0, 0x515: 0x3dd0, + 0x518: 0x47b6, 0x519: 0x47bc, 0x51a: 0x3ce8, 0x51b: 0x3cf8, 0x51c: 0x3cf0, 0x51d: 0x3d00, + 0x520: 0x482e, 0x521: 0x4834, 0x522: 0x494e, 0x523: 0x4966, + 0x524: 0x4956, 0x525: 0x496e, 0x526: 0x495e, 0x527: 0x4976, 0x528: 0x47c2, 0x529: 0x47c8, + 0x52a: 0x48be, 0x52b: 0x48d6, 0x52c: 0x48c6, 0x52d: 0x48de, 0x52e: 0x48ce, 0x52f: 0x48e6, + 0x530: 0x4846, 0x531: 0x484c, 0x532: 0x3e18, 0x533: 0x3e30, 0x534: 0x3e20, 0x535: 0x3e38, + 0x536: 0x3e28, 0x537: 0x3e40, 0x538: 0x47ce, 0x539: 0x47d4, 0x53a: 0x3d18, 0x53b: 0x3d30, + 0x53c: 0x3d20, 0x53d: 0x3d38, 0x53e: 0x3d28, 0x53f: 0x3d40, + // Block 0x15, offset 0x540 + 0x540: 0x4852, 0x541: 0x4858, 0x542: 0x3e48, 0x543: 0x3e58, 0x544: 0x3e50, 0x545: 0x3e60, + 0x548: 0x47da, 0x549: 0x47e0, 0x54a: 0x3d48, 0x54b: 0x3d58, + 0x54c: 0x3d50, 0x54d: 0x3d60, 0x550: 0x4864, 0x551: 0x486a, + 0x552: 0x3e80, 0x553: 0x3e98, 0x554: 0x3e88, 0x555: 0x3ea0, 0x556: 0x3e90, 0x557: 0x3ea8, + 0x559: 0x47e6, 0x55b: 0x3d68, 0x55d: 0x3d70, + 0x55f: 0x3d78, 0x560: 0x487c, 0x561: 0x4882, 0x562: 0x497e, 0x563: 0x4996, + 0x564: 0x4986, 0x565: 0x499e, 0x566: 0x498e, 0x567: 0x49a6, 0x568: 0x47ec, 0x569: 0x47f2, + 0x56a: 0x48ee, 0x56b: 0x4906, 0x56c: 0x48f6, 0x56d: 0x490e, 0x56e: 0x48fe, 0x56f: 0x4916, + 0x570: 0x47f8, 0x571: 0x431e, 0x572: 0x3691, 0x573: 0x4324, 0x574: 0x4822, 0x575: 0x432a, + 0x576: 0x36a3, 0x577: 0x4330, 0x578: 0x36c1, 0x579: 0x4336, 0x57a: 0x36d9, 0x57b: 0x433c, + 0x57c: 0x4870, 0x57d: 0x4342, + // Block 0x16, offset 0x580 + 0x580: 0x3da0, 0x581: 0x3da8, 0x582: 0x4184, 0x583: 0x41a2, 0x584: 0x418e, 0x585: 0x41ac, + 0x586: 0x4198, 0x587: 0x41b6, 0x588: 0x3cd8, 0x589: 0x3ce0, 0x58a: 0x40d0, 0x58b: 0x40ee, + 0x58c: 0x40da, 0x58d: 0x40f8, 0x58e: 0x40e4, 0x58f: 0x4102, 0x590: 0x3de8, 0x591: 0x3df0, + 0x592: 0x41c0, 0x593: 0x41de, 0x594: 0x41ca, 0x595: 0x41e8, 0x596: 0x41d4, 0x597: 0x41f2, + 0x598: 0x3d08, 0x599: 0x3d10, 0x59a: 0x410c, 0x59b: 0x412a, 0x59c: 0x4116, 0x59d: 0x4134, + 0x59e: 0x4120, 0x59f: 0x413e, 0x5a0: 0x3ec0, 0x5a1: 0x3ec8, 0x5a2: 0x41fc, 0x5a3: 0x421a, + 0x5a4: 0x4206, 0x5a5: 0x4224, 0x5a6: 0x4210, 0x5a7: 0x422e, 0x5a8: 0x3d80, 0x5a9: 0x3d88, + 0x5aa: 0x4148, 0x5ab: 0x4166, 0x5ac: 0x4152, 0x5ad: 0x4170, 0x5ae: 0x415c, 0x5af: 0x417a, + 0x5b0: 0x3685, 0x5b1: 0x367f, 0x5b2: 0x3d90, 0x5b3: 0x368b, 0x5b4: 0x3d98, + 0x5b6: 0x4810, 0x5b7: 0x3db0, 0x5b8: 0x35f5, 0x5b9: 0x35ef, 0x5ba: 0x35e3, 0x5bb: 0x42ee, + 0x5bc: 0x35fb, 0x5bd: 0x8100, 0x5be: 0x01d3, 0x5bf: 0xa100, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x8100, 0x5c1: 0x35a7, 0x5c2: 0x3dd8, 0x5c3: 0x369d, 0x5c4: 0x3de0, + 0x5c6: 0x483a, 0x5c7: 0x3df8, 0x5c8: 0x3601, 0x5c9: 0x42f4, 0x5ca: 0x360d, 0x5cb: 0x42fa, + 0x5cc: 0x3619, 0x5cd: 0x3b8f, 0x5ce: 0x3b96, 0x5cf: 0x3b9d, 0x5d0: 0x36b5, 0x5d1: 0x36af, + 0x5d2: 0x3e00, 0x5d3: 0x44e4, 0x5d6: 0x36bb, 0x5d7: 0x3e10, + 0x5d8: 0x3631, 0x5d9: 0x362b, 0x5da: 0x361f, 0x5db: 0x4300, 0x5dd: 0x3ba4, + 0x5de: 0x3bab, 0x5df: 0x3bb2, 0x5e0: 0x36eb, 0x5e1: 0x36e5, 0x5e2: 0x3e68, 0x5e3: 0x44ec, + 0x5e4: 0x36cd, 0x5e5: 0x36d3, 0x5e6: 0x36f1, 0x5e7: 0x3e78, 0x5e8: 0x3661, 0x5e9: 0x365b, + 0x5ea: 0x364f, 0x5eb: 0x430c, 0x5ec: 0x3649, 0x5ed: 0x359b, 0x5ee: 0x42e8, 0x5ef: 0x0081, + 0x5f2: 0x3eb0, 0x5f3: 0x36f7, 0x5f4: 0x3eb8, + 0x5f6: 0x4888, 0x5f7: 0x3ed0, 0x5f8: 0x363d, 0x5f9: 0x4306, 0x5fa: 0x366d, 0x5fb: 0x4318, + 0x5fc: 0x3679, 0x5fd: 0x4256, 0x5fe: 0xa100, + // Block 0x18, offset 0x600 + 0x601: 0x3c06, 0x603: 0xa000, 0x604: 0x3c0d, 0x605: 0xa000, + 0x607: 0x3c14, 0x608: 0xa000, 0x609: 0x3c1b, + 0x60d: 0xa000, + 0x620: 0x2f65, 0x621: 0xa000, 0x622: 0x3c29, + 0x624: 0xa000, 0x625: 0xa000, + 0x62d: 0x3c22, 0x62e: 0x2f60, 0x62f: 0x2f6a, + 0x630: 0x3c30, 0x631: 0x3c37, 0x632: 0xa000, 0x633: 0xa000, 0x634: 0x3c3e, 0x635: 0x3c45, + 0x636: 0xa000, 0x637: 0xa000, 0x638: 0x3c4c, 0x639: 0x3c53, 0x63a: 0xa000, 0x63b: 0xa000, + 0x63c: 0xa000, 0x63d: 0xa000, + // Block 0x19, offset 0x640 + 0x640: 0x3c5a, 0x641: 0x3c61, 0x642: 0xa000, 0x643: 0xa000, 0x644: 0x3c76, 0x645: 0x3c7d, + 0x646: 0xa000, 0x647: 0xa000, 0x648: 0x3c84, 0x649: 0x3c8b, + 0x651: 0xa000, + 0x652: 0xa000, + 0x662: 0xa000, + 0x668: 0xa000, 0x669: 0xa000, + 0x66b: 0xa000, 0x66c: 0x3ca0, 0x66d: 0x3ca7, 0x66e: 0x3cae, 0x66f: 0x3cb5, + 0x672: 0xa000, 0x673: 0xa000, 0x674: 0xa000, 0x675: 0xa000, + // Block 0x1a, offset 0x680 + 0x686: 0xa000, 0x68b: 0xa000, + 0x68c: 0x3f08, 0x68d: 0xa000, 0x68e: 0x3f10, 0x68f: 0xa000, 0x690: 0x3f18, 0x691: 0xa000, + 0x692: 0x3f20, 0x693: 0xa000, 0x694: 0x3f28, 0x695: 0xa000, 0x696: 0x3f30, 0x697: 0xa000, + 0x698: 0x3f38, 0x699: 0xa000, 0x69a: 0x3f40, 0x69b: 0xa000, 0x69c: 0x3f48, 0x69d: 0xa000, + 0x69e: 0x3f50, 0x69f: 0xa000, 0x6a0: 0x3f58, 0x6a1: 0xa000, 0x6a2: 0x3f60, + 0x6a4: 0xa000, 0x6a5: 0x3f68, 0x6a6: 0xa000, 0x6a7: 0x3f70, 0x6a8: 0xa000, 0x6a9: 0x3f78, + 0x6af: 0xa000, + 0x6b0: 0x3f80, 0x6b1: 0x3f88, 0x6b2: 0xa000, 0x6b3: 0x3f90, 0x6b4: 0x3f98, 0x6b5: 0xa000, + 0x6b6: 0x3fa0, 0x6b7: 0x3fa8, 0x6b8: 0xa000, 0x6b9: 0x3fb0, 0x6ba: 0x3fb8, 0x6bb: 0xa000, + 0x6bc: 0x3fc0, 0x6bd: 0x3fc8, + // Block 0x1b, offset 0x6c0 + 0x6d4: 0x3f00, + 0x6d9: 0x9903, 0x6da: 0x9903, 0x6db: 0x8100, 0x6dc: 0x8100, 0x6dd: 0xa000, + 0x6de: 0x3fd0, + 0x6e6: 0xa000, + 0x6eb: 0xa000, 0x6ec: 0x3fe0, 0x6ed: 0xa000, 0x6ee: 0x3fe8, 0x6ef: 0xa000, + 0x6f0: 0x3ff0, 0x6f1: 0xa000, 0x6f2: 0x3ff8, 0x6f3: 0xa000, 0x6f4: 0x4000, 0x6f5: 0xa000, + 0x6f6: 0x4008, 0x6f7: 0xa000, 0x6f8: 0x4010, 0x6f9: 0xa000, 0x6fa: 0x4018, 0x6fb: 0xa000, + 0x6fc: 0x4020, 0x6fd: 0xa000, 0x6fe: 0x4028, 0x6ff: 0xa000, + // Block 0x1c, offset 0x700 + 0x700: 0x4030, 0x701: 0xa000, 0x702: 0x4038, 0x704: 0xa000, 0x705: 0x4040, + 0x706: 0xa000, 0x707: 0x4048, 0x708: 0xa000, 0x709: 0x4050, + 0x70f: 0xa000, 0x710: 0x4058, 0x711: 0x4060, + 0x712: 0xa000, 0x713: 0x4068, 0x714: 0x4070, 0x715: 0xa000, 0x716: 0x4078, 0x717: 0x4080, + 0x718: 0xa000, 0x719: 0x4088, 0x71a: 0x4090, 0x71b: 0xa000, 0x71c: 0x4098, 0x71d: 0x40a0, + 0x72f: 0xa000, + 0x730: 0xa000, 0x731: 0xa000, 0x732: 0xa000, 0x734: 0x3fd8, + 0x737: 0x40a8, 0x738: 0x40b0, 0x739: 0x40b8, 0x73a: 0x40c0, + 0x73d: 0xa000, 0x73e: 0x40c8, + // Block 0x1d, offset 0x740 + 0x740: 0x1377, 0x741: 0x0cfb, 0x742: 0x13d3, 0x743: 0x139f, 0x744: 0x0e57, 0x745: 0x06eb, + 0x746: 0x08df, 0x747: 0x162b, 0x748: 0x162b, 0x749: 0x0a0b, 0x74a: 0x145f, 0x74b: 0x0943, + 0x74c: 0x0a07, 0x74d: 0x0bef, 0x74e: 0x0fcf, 0x74f: 0x115f, 0x750: 0x1297, 0x751: 0x12d3, + 0x752: 0x1307, 0x753: 0x141b, 0x754: 0x0d73, 0x755: 0x0dff, 0x756: 0x0eab, 0x757: 0x0f43, + 0x758: 0x125f, 0x759: 0x1447, 0x75a: 0x1573, 0x75b: 0x070f, 0x75c: 0x08b3, 0x75d: 0x0d87, + 0x75e: 0x0ecf, 0x75f: 0x1293, 0x760: 0x15c3, 0x761: 0x0ab3, 0x762: 0x0e77, 0x763: 0x1283, + 0x764: 0x1317, 0x765: 0x0c23, 0x766: 0x11bb, 0x767: 0x12df, 0x768: 0x0b1f, 0x769: 0x0d0f, + 0x76a: 0x0e17, 0x76b: 0x0f1b, 0x76c: 0x1427, 0x76d: 0x074f, 0x76e: 0x07e7, 0x76f: 0x0853, + 0x770: 0x0c8b, 0x771: 0x0d7f, 0x772: 0x0ecb, 0x773: 0x0fef, 0x774: 0x1177, 0x775: 0x128b, + 0x776: 0x12a3, 0x777: 0x13c7, 0x778: 0x14ef, 0x779: 0x15a3, 0x77a: 0x15bf, 0x77b: 0x102b, + 0x77c: 0x106b, 0x77d: 0x1123, 0x77e: 0x1243, 0x77f: 0x147b, + // Block 0x1e, offset 0x780 + 0x780: 0x15cb, 0x781: 0x134b, 0x782: 0x09c7, 0x783: 0x0b3b, 0x784: 0x10db, 0x785: 0x119b, + 0x786: 0x0eff, 0x787: 0x1033, 0x788: 0x1397, 0x789: 0x14e7, 0x78a: 0x09c3, 0x78b: 0x0a8f, + 0x78c: 0x0d77, 0x78d: 0x0e2b, 0x78e: 0x0e5f, 0x78f: 0x1113, 0x790: 0x113b, 0x791: 0x14a7, + 0x792: 0x084f, 0x793: 0x11a7, 0x794: 0x07f3, 0x795: 0x07ef, 0x796: 0x1097, 0x797: 0x1127, + 0x798: 0x125b, 0x799: 0x14af, 0x79a: 0x1367, 0x79b: 0x0c27, 0x79c: 0x0d73, 0x79d: 0x1357, + 0x79e: 0x06f7, 0x79f: 0x0a63, 0x7a0: 0x0b93, 0x7a1: 0x0f2f, 0x7a2: 0x0faf, 0x7a3: 0x0873, + 0x7a4: 0x103b, 0x7a5: 0x075f, 0x7a6: 0x0b77, 0x7a7: 0x06d7, 0x7a8: 0x0deb, 0x7a9: 0x0ca3, + 0x7aa: 0x110f, 0x7ab: 0x08c7, 0x7ac: 0x09b3, 0x7ad: 0x0ffb, 0x7ae: 0x1263, 0x7af: 0x133b, + 0x7b0: 0x0db7, 0x7b1: 0x13f7, 0x7b2: 0x0de3, 0x7b3: 0x0c37, 0x7b4: 0x121b, 0x7b5: 0x0c57, + 0x7b6: 0x0fab, 0x7b7: 0x072b, 0x7b8: 0x07a7, 0x7b9: 0x07eb, 0x7ba: 0x0d53, 0x7bb: 0x10fb, + 0x7bc: 0x11f3, 0x7bd: 0x1347, 0x7be: 0x145b, 0x7bf: 0x085b, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x090f, 0x7c1: 0x0a17, 0x7c2: 0x0b2f, 0x7c3: 0x0cbf, 0x7c4: 0x0e7b, 0x7c5: 0x103f, + 0x7c6: 0x1497, 0x7c7: 0x157b, 0x7c8: 0x15cf, 0x7c9: 0x15e7, 0x7ca: 0x0837, 0x7cb: 0x0cf3, + 0x7cc: 0x0da3, 0x7cd: 0x13eb, 0x7ce: 0x0afb, 0x7cf: 0x0bd7, 0x7d0: 0x0bf3, 0x7d1: 0x0c83, + 0x7d2: 0x0e6b, 0x7d3: 0x0eb7, 0x7d4: 0x0f67, 0x7d5: 0x108b, 0x7d6: 0x112f, 0x7d7: 0x1193, + 0x7d8: 0x13db, 0x7d9: 0x126b, 0x7da: 0x1403, 0x7db: 0x147f, 0x7dc: 0x080f, 0x7dd: 0x083b, + 0x7de: 0x0923, 0x7df: 0x0ea7, 0x7e0: 0x12f3, 0x7e1: 0x133b, 0x7e2: 0x0b1b, 0x7e3: 0x0b8b, + 0x7e4: 0x0c4f, 0x7e5: 0x0daf, 0x7e6: 0x10d7, 0x7e7: 0x0f23, 0x7e8: 0x073b, 0x7e9: 0x097f, + 0x7ea: 0x0a63, 0x7eb: 0x0ac7, 0x7ec: 0x0b97, 0x7ed: 0x0f3f, 0x7ee: 0x0f5b, 0x7ef: 0x116b, + 0x7f0: 0x118b, 0x7f1: 0x1463, 0x7f2: 0x14e3, 0x7f3: 0x14f3, 0x7f4: 0x152f, 0x7f5: 0x0753, + 0x7f6: 0x107f, 0x7f7: 0x144f, 0x7f8: 0x14cb, 0x7f9: 0x0baf, 0x7fa: 0x0717, 0x7fb: 0x0777, + 0x7fc: 0x0a67, 0x7fd: 0x0a87, 0x7fe: 0x0caf, 0x7ff: 0x0d73, + // Block 0x20, offset 0x800 + 0x800: 0x0ec3, 0x801: 0x0fcb, 0x802: 0x1277, 0x803: 0x1417, 0x804: 0x1623, 0x805: 0x0ce3, + 0x806: 0x14a3, 0x807: 0x0833, 0x808: 0x0d2f, 0x809: 0x0d3b, 0x80a: 0x0e0f, 0x80b: 0x0e47, + 0x80c: 0x0f4b, 0x80d: 0x0fa7, 0x80e: 0x1027, 0x80f: 0x110b, 0x810: 0x153b, 0x811: 0x07af, + 0x812: 0x0c03, 0x813: 0x14b3, 0x814: 0x0767, 0x815: 0x0aab, 0x816: 0x0e2f, 0x817: 0x13df, + 0x818: 0x0b67, 0x819: 0x0bb7, 0x81a: 0x0d43, 0x81b: 0x0f2f, 0x81c: 0x14bb, 0x81d: 0x0817, + 0x81e: 0x08ff, 0x81f: 0x0a97, 0x820: 0x0cd3, 0x821: 0x0d1f, 0x822: 0x0d5f, 0x823: 0x0df3, + 0x824: 0x0f47, 0x825: 0x0fbb, 0x826: 0x1157, 0x827: 0x12f7, 0x828: 0x1303, 0x829: 0x1457, + 0x82a: 0x14d7, 0x82b: 0x0883, 0x82c: 0x0e4b, 0x82d: 0x0903, 0x82e: 0x0ec7, 0x82f: 0x0f6b, + 0x830: 0x1287, 0x831: 0x14bf, 0x832: 0x15ab, 0x833: 0x15d3, 0x834: 0x0d37, 0x835: 0x0e27, + 0x836: 0x11c3, 0x837: 0x10b7, 0x838: 0x10c3, 0x839: 0x10e7, 0x83a: 0x0f17, 0x83b: 0x0e9f, + 0x83c: 0x1363, 0x83d: 0x0733, 0x83e: 0x122b, 0x83f: 0x081b, + // Block 0x21, offset 0x840 + 0x840: 0x080b, 0x841: 0x0b0b, 0x842: 0x0c2b, 0x843: 0x10f3, 0x844: 0x0a53, 0x845: 0x0e03, + 0x846: 0x0cef, 0x847: 0x13e7, 0x848: 0x12e7, 0x849: 0x14ab, 0x84a: 0x1323, 0x84b: 0x0b27, + 0x84c: 0x0787, 0x84d: 0x095b, 0x850: 0x09af, + 0x852: 0x0cdf, 0x855: 0x07f7, 0x856: 0x0f1f, 0x857: 0x0fe3, + 0x858: 0x1047, 0x859: 0x1063, 0x85a: 0x1067, 0x85b: 0x107b, 0x85c: 0x14fb, 0x85d: 0x10eb, + 0x85e: 0x116f, 0x860: 0x128f, 0x862: 0x1353, + 0x865: 0x1407, 0x866: 0x1433, + 0x86a: 0x154f, 0x86b: 0x1553, 0x86c: 0x1557, 0x86d: 0x15bb, 0x86e: 0x142b, 0x86f: 0x14c7, + 0x870: 0x0757, 0x871: 0x077b, 0x872: 0x078f, 0x873: 0x084b, 0x874: 0x0857, 0x875: 0x0897, + 0x876: 0x094b, 0x877: 0x0967, 0x878: 0x096f, 0x879: 0x09ab, 0x87a: 0x09b7, 0x87b: 0x0a93, + 0x87c: 0x0a9b, 0x87d: 0x0ba3, 0x87e: 0x0bcb, 0x87f: 0x0bd3, + // Block 0x22, offset 0x880 + 0x880: 0x0beb, 0x881: 0x0c97, 0x882: 0x0cc7, 0x883: 0x0ce7, 0x884: 0x0d57, 0x885: 0x0e1b, + 0x886: 0x0e37, 0x887: 0x0e67, 0x888: 0x0ebb, 0x889: 0x0edb, 0x88a: 0x0f4f, 0x88b: 0x102f, + 0x88c: 0x104b, 0x88d: 0x1053, 0x88e: 0x104f, 0x88f: 0x1057, 0x890: 0x105b, 0x891: 0x105f, + 0x892: 0x1073, 0x893: 0x1077, 0x894: 0x109b, 0x895: 0x10af, 0x896: 0x10cb, 0x897: 0x112f, + 0x898: 0x1137, 0x899: 0x113f, 0x89a: 0x1153, 0x89b: 0x117b, 0x89c: 0x11cb, 0x89d: 0x11ff, + 0x89e: 0x11ff, 0x89f: 0x1267, 0x8a0: 0x130f, 0x8a1: 0x1327, 0x8a2: 0x135b, 0x8a3: 0x135f, + 0x8a4: 0x13a3, 0x8a5: 0x13a7, 0x8a6: 0x13ff, 0x8a7: 0x1407, 0x8a8: 0x14db, 0x8a9: 0x151f, + 0x8aa: 0x1537, 0x8ab: 0x0b9b, 0x8ac: 0x171e, 0x8ad: 0x11e3, + 0x8b0: 0x06df, 0x8b1: 0x07e3, 0x8b2: 0x07a3, 0x8b3: 0x074b, 0x8b4: 0x078b, 0x8b5: 0x07b7, + 0x8b6: 0x0847, 0x8b7: 0x0863, 0x8b8: 0x094b, 0x8b9: 0x0937, 0x8ba: 0x0947, 0x8bb: 0x0963, + 0x8bc: 0x09af, 0x8bd: 0x09bf, 0x8be: 0x0a03, 0x8bf: 0x0a0f, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0a2b, 0x8c1: 0x0a3b, 0x8c2: 0x0b23, 0x8c3: 0x0b2b, 0x8c4: 0x0b5b, 0x8c5: 0x0b7b, + 0x8c6: 0x0bab, 0x8c7: 0x0bc3, 0x8c8: 0x0bb3, 0x8c9: 0x0bd3, 0x8ca: 0x0bc7, 0x8cb: 0x0beb, + 0x8cc: 0x0c07, 0x8cd: 0x0c5f, 0x8ce: 0x0c6b, 0x8cf: 0x0c73, 0x8d0: 0x0c9b, 0x8d1: 0x0cdf, + 0x8d2: 0x0d0f, 0x8d3: 0x0d13, 0x8d4: 0x0d27, 0x8d5: 0x0da7, 0x8d6: 0x0db7, 0x8d7: 0x0e0f, + 0x8d8: 0x0e5b, 0x8d9: 0x0e53, 0x8da: 0x0e67, 0x8db: 0x0e83, 0x8dc: 0x0ebb, 0x8dd: 0x1013, + 0x8de: 0x0edf, 0x8df: 0x0f13, 0x8e0: 0x0f1f, 0x8e1: 0x0f5f, 0x8e2: 0x0f7b, 0x8e3: 0x0f9f, + 0x8e4: 0x0fc3, 0x8e5: 0x0fc7, 0x8e6: 0x0fe3, 0x8e7: 0x0fe7, 0x8e8: 0x0ff7, 0x8e9: 0x100b, + 0x8ea: 0x1007, 0x8eb: 0x1037, 0x8ec: 0x10b3, 0x8ed: 0x10cb, 0x8ee: 0x10e3, 0x8ef: 0x111b, + 0x8f0: 0x112f, 0x8f1: 0x114b, 0x8f2: 0x117b, 0x8f3: 0x122f, 0x8f4: 0x1257, 0x8f5: 0x12cb, + 0x8f6: 0x1313, 0x8f7: 0x131f, 0x8f8: 0x1327, 0x8f9: 0x133f, 0x8fa: 0x1353, 0x8fb: 0x1343, + 0x8fc: 0x135b, 0x8fd: 0x1357, 0x8fe: 0x134f, 0x8ff: 0x135f, + // Block 0x24, offset 0x900 + 0x900: 0x136b, 0x901: 0x13a7, 0x902: 0x13e3, 0x903: 0x1413, 0x904: 0x144b, 0x905: 0x146b, + 0x906: 0x14b7, 0x907: 0x14db, 0x908: 0x14fb, 0x909: 0x150f, 0x90a: 0x151f, 0x90b: 0x152b, + 0x90c: 0x1537, 0x90d: 0x158b, 0x90e: 0x162b, 0x90f: 0x16b5, 0x910: 0x16b0, 0x911: 0x16e2, + 0x912: 0x0607, 0x913: 0x062f, 0x914: 0x0633, 0x915: 0x1764, 0x916: 0x1791, 0x917: 0x1809, + 0x918: 0x1617, 0x919: 0x1627, + // Block 0x25, offset 0x940 + 0x940: 0x06fb, 0x941: 0x06f3, 0x942: 0x0703, 0x943: 0x1647, 0x944: 0x0747, 0x945: 0x0757, + 0x946: 0x075b, 0x947: 0x0763, 0x948: 0x076b, 0x949: 0x076f, 0x94a: 0x077b, 0x94b: 0x0773, + 0x94c: 0x05b3, 0x94d: 0x165b, 0x94e: 0x078f, 0x94f: 0x0793, 0x950: 0x0797, 0x951: 0x07b3, + 0x952: 0x164c, 0x953: 0x05b7, 0x954: 0x079f, 0x955: 0x07bf, 0x956: 0x1656, 0x957: 0x07cf, + 0x958: 0x07d7, 0x959: 0x0737, 0x95a: 0x07df, 0x95b: 0x07e3, 0x95c: 0x1831, 0x95d: 0x07ff, + 0x95e: 0x0807, 0x95f: 0x05bf, 0x960: 0x081f, 0x961: 0x0823, 0x962: 0x082b, 0x963: 0x082f, + 0x964: 0x05c3, 0x965: 0x0847, 0x966: 0x084b, 0x967: 0x0857, 0x968: 0x0863, 0x969: 0x0867, + 0x96a: 0x086b, 0x96b: 0x0873, 0x96c: 0x0893, 0x96d: 0x0897, 0x96e: 0x089f, 0x96f: 0x08af, + 0x970: 0x08b7, 0x971: 0x08bb, 0x972: 0x08bb, 0x973: 0x08bb, 0x974: 0x166a, 0x975: 0x0e93, + 0x976: 0x08cf, 0x977: 0x08d7, 0x978: 0x166f, 0x979: 0x08e3, 0x97a: 0x08eb, 0x97b: 0x08f3, + 0x97c: 0x091b, 0x97d: 0x0907, 0x97e: 0x0913, 0x97f: 0x0917, + // Block 0x26, offset 0x980 + 0x980: 0x091f, 0x981: 0x0927, 0x982: 0x092b, 0x983: 0x0933, 0x984: 0x093b, 0x985: 0x093f, + 0x986: 0x093f, 0x987: 0x0947, 0x988: 0x094f, 0x989: 0x0953, 0x98a: 0x095f, 0x98b: 0x0983, + 0x98c: 0x0967, 0x98d: 0x0987, 0x98e: 0x096b, 0x98f: 0x0973, 0x990: 0x080b, 0x991: 0x09cf, + 0x992: 0x0997, 0x993: 0x099b, 0x994: 0x099f, 0x995: 0x0993, 0x996: 0x09a7, 0x997: 0x09a3, + 0x998: 0x09bb, 0x999: 0x1674, 0x99a: 0x09d7, 0x99b: 0x09db, 0x99c: 0x09e3, 0x99d: 0x09ef, + 0x99e: 0x09f7, 0x99f: 0x0a13, 0x9a0: 0x1679, 0x9a1: 0x167e, 0x9a2: 0x0a1f, 0x9a3: 0x0a23, + 0x9a4: 0x0a27, 0x9a5: 0x0a1b, 0x9a6: 0x0a2f, 0x9a7: 0x05c7, 0x9a8: 0x05cb, 0x9a9: 0x0a37, + 0x9aa: 0x0a3f, 0x9ab: 0x0a3f, 0x9ac: 0x1683, 0x9ad: 0x0a5b, 0x9ae: 0x0a5f, 0x9af: 0x0a63, + 0x9b0: 0x0a6b, 0x9b1: 0x1688, 0x9b2: 0x0a73, 0x9b3: 0x0a77, 0x9b4: 0x0b4f, 0x9b5: 0x0a7f, + 0x9b6: 0x05cf, 0x9b7: 0x0a8b, 0x9b8: 0x0a9b, 0x9b9: 0x0aa7, 0x9ba: 0x0aa3, 0x9bb: 0x1692, + 0x9bc: 0x0aaf, 0x9bd: 0x1697, 0x9be: 0x0abb, 0x9bf: 0x0ab7, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0abf, 0x9c1: 0x0acf, 0x9c2: 0x0ad3, 0x9c3: 0x05d3, 0x9c4: 0x0ae3, 0x9c5: 0x0aeb, + 0x9c6: 0x0aef, 0x9c7: 0x0af3, 0x9c8: 0x05d7, 0x9c9: 0x169c, 0x9ca: 0x05db, 0x9cb: 0x0b0f, + 0x9cc: 0x0b13, 0x9cd: 0x0b17, 0x9ce: 0x0b1f, 0x9cf: 0x1863, 0x9d0: 0x0b37, 0x9d1: 0x16a6, + 0x9d2: 0x16a6, 0x9d3: 0x11d7, 0x9d4: 0x0b47, 0x9d5: 0x0b47, 0x9d6: 0x05df, 0x9d7: 0x16c9, + 0x9d8: 0x179b, 0x9d9: 0x0b57, 0x9da: 0x0b5f, 0x9db: 0x05e3, 0x9dc: 0x0b73, 0x9dd: 0x0b83, + 0x9de: 0x0b87, 0x9df: 0x0b8f, 0x9e0: 0x0b9f, 0x9e1: 0x05eb, 0x9e2: 0x05e7, 0x9e3: 0x0ba3, + 0x9e4: 0x16ab, 0x9e5: 0x0ba7, 0x9e6: 0x0bbb, 0x9e7: 0x0bbf, 0x9e8: 0x0bc3, 0x9e9: 0x0bbf, + 0x9ea: 0x0bcf, 0x9eb: 0x0bd3, 0x9ec: 0x0be3, 0x9ed: 0x0bdb, 0x9ee: 0x0bdf, 0x9ef: 0x0be7, + 0x9f0: 0x0beb, 0x9f1: 0x0bef, 0x9f2: 0x0bfb, 0x9f3: 0x0bff, 0x9f4: 0x0c17, 0x9f5: 0x0c1f, + 0x9f6: 0x0c2f, 0x9f7: 0x0c43, 0x9f8: 0x16ba, 0x9f9: 0x0c3f, 0x9fa: 0x0c33, 0x9fb: 0x0c4b, + 0x9fc: 0x0c53, 0x9fd: 0x0c67, 0x9fe: 0x16bf, 0x9ff: 0x0c6f, + // Block 0x28, offset 0xa00 + 0xa00: 0x0c63, 0xa01: 0x0c5b, 0xa02: 0x05ef, 0xa03: 0x0c77, 0xa04: 0x0c7f, 0xa05: 0x0c87, + 0xa06: 0x0c7b, 0xa07: 0x05f3, 0xa08: 0x0c97, 0xa09: 0x0c9f, 0xa0a: 0x16c4, 0xa0b: 0x0ccb, + 0xa0c: 0x0cff, 0xa0d: 0x0cdb, 0xa0e: 0x05ff, 0xa0f: 0x0ce7, 0xa10: 0x05fb, 0xa11: 0x05f7, + 0xa12: 0x07c3, 0xa13: 0x07c7, 0xa14: 0x0d03, 0xa15: 0x0ceb, 0xa16: 0x11ab, 0xa17: 0x0663, + 0xa18: 0x0d0f, 0xa19: 0x0d13, 0xa1a: 0x0d17, 0xa1b: 0x0d2b, 0xa1c: 0x0d23, 0xa1d: 0x16dd, + 0xa1e: 0x0603, 0xa1f: 0x0d3f, 0xa20: 0x0d33, 0xa21: 0x0d4f, 0xa22: 0x0d57, 0xa23: 0x16e7, + 0xa24: 0x0d5b, 0xa25: 0x0d47, 0xa26: 0x0d63, 0xa27: 0x0607, 0xa28: 0x0d67, 0xa29: 0x0d6b, + 0xa2a: 0x0d6f, 0xa2b: 0x0d7b, 0xa2c: 0x16ec, 0xa2d: 0x0d83, 0xa2e: 0x060b, 0xa2f: 0x0d8f, + 0xa30: 0x16f1, 0xa31: 0x0d93, 0xa32: 0x060f, 0xa33: 0x0d9f, 0xa34: 0x0dab, 0xa35: 0x0db7, + 0xa36: 0x0dbb, 0xa37: 0x16f6, 0xa38: 0x168d, 0xa39: 0x16fb, 0xa3a: 0x0ddb, 0xa3b: 0x1700, + 0xa3c: 0x0de7, 0xa3d: 0x0def, 0xa3e: 0x0ddf, 0xa3f: 0x0dfb, + // Block 0x29, offset 0xa40 + 0xa40: 0x0e0b, 0xa41: 0x0e1b, 0xa42: 0x0e0f, 0xa43: 0x0e13, 0xa44: 0x0e1f, 0xa45: 0x0e23, + 0xa46: 0x1705, 0xa47: 0x0e07, 0xa48: 0x0e3b, 0xa49: 0x0e3f, 0xa4a: 0x0613, 0xa4b: 0x0e53, + 0xa4c: 0x0e4f, 0xa4d: 0x170a, 0xa4e: 0x0e33, 0xa4f: 0x0e6f, 0xa50: 0x170f, 0xa51: 0x1714, + 0xa52: 0x0e73, 0xa53: 0x0e87, 0xa54: 0x0e83, 0xa55: 0x0e7f, 0xa56: 0x0617, 0xa57: 0x0e8b, + 0xa58: 0x0e9b, 0xa59: 0x0e97, 0xa5a: 0x0ea3, 0xa5b: 0x1651, 0xa5c: 0x0eb3, 0xa5d: 0x1719, + 0xa5e: 0x0ebf, 0xa5f: 0x1723, 0xa60: 0x0ed3, 0xa61: 0x0edf, 0xa62: 0x0ef3, 0xa63: 0x1728, + 0xa64: 0x0f07, 0xa65: 0x0f0b, 0xa66: 0x172d, 0xa67: 0x1732, 0xa68: 0x0f27, 0xa69: 0x0f37, + 0xa6a: 0x061b, 0xa6b: 0x0f3b, 0xa6c: 0x061f, 0xa6d: 0x061f, 0xa6e: 0x0f53, 0xa6f: 0x0f57, + 0xa70: 0x0f5f, 0xa71: 0x0f63, 0xa72: 0x0f6f, 0xa73: 0x0623, 0xa74: 0x0f87, 0xa75: 0x1737, + 0xa76: 0x0fa3, 0xa77: 0x173c, 0xa78: 0x0faf, 0xa79: 0x16a1, 0xa7a: 0x0fbf, 0xa7b: 0x1741, + 0xa7c: 0x1746, 0xa7d: 0x174b, 0xa7e: 0x0627, 0xa7f: 0x062b, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0ff7, 0xa81: 0x1755, 0xa82: 0x1750, 0xa83: 0x175a, 0xa84: 0x175f, 0xa85: 0x0fff, + 0xa86: 0x1003, 0xa87: 0x1003, 0xa88: 0x100b, 0xa89: 0x0633, 0xa8a: 0x100f, 0xa8b: 0x0637, + 0xa8c: 0x063b, 0xa8d: 0x1769, 0xa8e: 0x1023, 0xa8f: 0x102b, 0xa90: 0x1037, 0xa91: 0x063f, + 0xa92: 0x176e, 0xa93: 0x105b, 0xa94: 0x1773, 0xa95: 0x1778, 0xa96: 0x107b, 0xa97: 0x1093, + 0xa98: 0x0643, 0xa99: 0x109b, 0xa9a: 0x109f, 0xa9b: 0x10a3, 0xa9c: 0x177d, 0xa9d: 0x1782, + 0xa9e: 0x1782, 0xa9f: 0x10bb, 0xaa0: 0x0647, 0xaa1: 0x1787, 0xaa2: 0x10cf, 0xaa3: 0x10d3, + 0xaa4: 0x064b, 0xaa5: 0x178c, 0xaa6: 0x10ef, 0xaa7: 0x064f, 0xaa8: 0x10ff, 0xaa9: 0x10f7, + 0xaaa: 0x1107, 0xaab: 0x1796, 0xaac: 0x111f, 0xaad: 0x0653, 0xaae: 0x112b, 0xaaf: 0x1133, + 0xab0: 0x1143, 0xab1: 0x0657, 0xab2: 0x17a0, 0xab3: 0x17a5, 0xab4: 0x065b, 0xab5: 0x17aa, + 0xab6: 0x115b, 0xab7: 0x17af, 0xab8: 0x1167, 0xab9: 0x1173, 0xaba: 0x117b, 0xabb: 0x17b4, + 0xabc: 0x17b9, 0xabd: 0x118f, 0xabe: 0x17be, 0xabf: 0x1197, + // Block 0x2b, offset 0xac0 + 0xac0: 0x16ce, 0xac1: 0x065f, 0xac2: 0x11af, 0xac3: 0x11b3, 0xac4: 0x0667, 0xac5: 0x11b7, + 0xac6: 0x0a33, 0xac7: 0x17c3, 0xac8: 0x17c8, 0xac9: 0x16d3, 0xaca: 0x16d8, 0xacb: 0x11d7, + 0xacc: 0x11db, 0xacd: 0x13f3, 0xace: 0x066b, 0xacf: 0x1207, 0xad0: 0x1203, 0xad1: 0x120b, + 0xad2: 0x083f, 0xad3: 0x120f, 0xad4: 0x1213, 0xad5: 0x1217, 0xad6: 0x121f, 0xad7: 0x17cd, + 0xad8: 0x121b, 0xad9: 0x1223, 0xada: 0x1237, 0xadb: 0x123b, 0xadc: 0x1227, 0xadd: 0x123f, + 0xade: 0x1253, 0xadf: 0x1267, 0xae0: 0x1233, 0xae1: 0x1247, 0xae2: 0x124b, 0xae3: 0x124f, + 0xae4: 0x17d2, 0xae5: 0x17dc, 0xae6: 0x17d7, 0xae7: 0x066f, 0xae8: 0x126f, 0xae9: 0x1273, + 0xaea: 0x127b, 0xaeb: 0x17f0, 0xaec: 0x127f, 0xaed: 0x17e1, 0xaee: 0x0673, 0xaef: 0x0677, + 0xaf0: 0x17e6, 0xaf1: 0x17eb, 0xaf2: 0x067b, 0xaf3: 0x129f, 0xaf4: 0x12a3, 0xaf5: 0x12a7, + 0xaf6: 0x12ab, 0xaf7: 0x12b7, 0xaf8: 0x12b3, 0xaf9: 0x12bf, 0xafa: 0x12bb, 0xafb: 0x12cb, + 0xafc: 0x12c3, 0xafd: 0x12c7, 0xafe: 0x12cf, 0xaff: 0x067f, + // Block 0x2c, offset 0xb00 + 0xb00: 0x12d7, 0xb01: 0x12db, 0xb02: 0x0683, 0xb03: 0x12eb, 0xb04: 0x12ef, 0xb05: 0x17f5, + 0xb06: 0x12fb, 0xb07: 0x12ff, 0xb08: 0x0687, 0xb09: 0x130b, 0xb0a: 0x05bb, 0xb0b: 0x17fa, + 0xb0c: 0x17ff, 0xb0d: 0x068b, 0xb0e: 0x068f, 0xb0f: 0x1337, 0xb10: 0x134f, 0xb11: 0x136b, + 0xb12: 0x137b, 0xb13: 0x1804, 0xb14: 0x138f, 0xb15: 0x1393, 0xb16: 0x13ab, 0xb17: 0x13b7, + 0xb18: 0x180e, 0xb19: 0x1660, 0xb1a: 0x13c3, 0xb1b: 0x13bf, 0xb1c: 0x13cb, 0xb1d: 0x1665, + 0xb1e: 0x13d7, 0xb1f: 0x13e3, 0xb20: 0x1813, 0xb21: 0x1818, 0xb22: 0x1423, 0xb23: 0x142f, + 0xb24: 0x1437, 0xb25: 0x181d, 0xb26: 0x143b, 0xb27: 0x1467, 0xb28: 0x1473, 0xb29: 0x1477, + 0xb2a: 0x146f, 0xb2b: 0x1483, 0xb2c: 0x1487, 0xb2d: 0x1822, 0xb2e: 0x1493, 0xb2f: 0x0693, + 0xb30: 0x149b, 0xb31: 0x1827, 0xb32: 0x0697, 0xb33: 0x14d3, 0xb34: 0x0ac3, 0xb35: 0x14eb, + 0xb36: 0x182c, 0xb37: 0x1836, 0xb38: 0x069b, 0xb39: 0x069f, 0xb3a: 0x1513, 0xb3b: 0x183b, + 0xb3c: 0x06a3, 0xb3d: 0x1840, 0xb3e: 0x152b, 0xb3f: 0x152b, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1533, 0xb41: 0x1845, 0xb42: 0x154b, 0xb43: 0x06a7, 0xb44: 0x155b, 0xb45: 0x1567, + 0xb46: 0x156f, 0xb47: 0x1577, 0xb48: 0x06ab, 0xb49: 0x184a, 0xb4a: 0x158b, 0xb4b: 0x15a7, + 0xb4c: 0x15b3, 0xb4d: 0x06af, 0xb4e: 0x06b3, 0xb4f: 0x15b7, 0xb50: 0x184f, 0xb51: 0x06b7, + 0xb52: 0x1854, 0xb53: 0x1859, 0xb54: 0x185e, 0xb55: 0x15db, 0xb56: 0x06bb, 0xb57: 0x15ef, + 0xb58: 0x15f7, 0xb59: 0x15fb, 0xb5a: 0x1603, 0xb5b: 0x160b, 0xb5c: 0x1613, 0xb5d: 0x1868, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2d, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x2e, 0xcb: 0x2f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x30, + 0xd0: 0x09, 0xd1: 0x31, 0xd2: 0x32, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x33, + 0xd8: 0x34, 0xd9: 0x0c, 0xdb: 0x35, 0xdc: 0x36, 0xdd: 0x37, 0xdf: 0x38, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x39, 0x121: 0x3a, 0x123: 0x3b, 0x124: 0x3c, 0x125: 0x3d, 0x126: 0x3e, 0x127: 0x3f, + 0x128: 0x40, 0x129: 0x41, 0x12a: 0x42, 0x12b: 0x43, 0x12c: 0x3e, 0x12d: 0x44, 0x12e: 0x45, 0x12f: 0x46, + 0x131: 0x47, 0x132: 0x48, 0x133: 0x49, 0x134: 0x4a, 0x135: 0x4b, 0x137: 0x4c, + 0x138: 0x4d, 0x139: 0x4e, 0x13a: 0x4f, 0x13b: 0x50, 0x13c: 0x51, 0x13d: 0x52, 0x13e: 0x53, 0x13f: 0x54, + // Block 0x5, offset 0x140 + 0x140: 0x55, 0x142: 0x56, 0x144: 0x57, 0x145: 0x58, 0x146: 0x59, 0x147: 0x5a, + 0x14d: 0x5b, + 0x15c: 0x5c, 0x15f: 0x5d, + 0x162: 0x5e, 0x164: 0x5f, + 0x168: 0x60, 0x169: 0x61, 0x16a: 0x62, 0x16c: 0x0d, 0x16d: 0x63, 0x16e: 0x64, 0x16f: 0x65, + 0x170: 0x66, 0x173: 0x67, 0x177: 0x68, + 0x178: 0x0e, 0x179: 0x0f, 0x17a: 0x10, 0x17b: 0x11, 0x17c: 0x12, 0x17d: 0x13, 0x17e: 0x14, 0x17f: 0x15, + // Block 0x6, offset 0x180 + 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, + 0x188: 0x6e, 0x189: 0x16, 0x18a: 0x17, 0x18b: 0x6f, 0x18c: 0x70, + 0x1ab: 0x71, + 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x75, 0x1c1: 0x18, 0x1c2: 0x19, 0x1c3: 0x1a, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, + // Block 0x8, offset 0x200 + 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, + 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, + 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, + 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, + 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, + // Block 0x9, offset 0x240 + 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, + 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, + 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, + 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, + 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, + 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, + 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, + // Block 0xa, offset 0x280 + 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, + 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, + 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, + 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, + 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, + 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, + 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, + 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, + 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, + 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, + 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, + // Block 0xc, offset 0x300 + 0x324: 0x1b, 0x325: 0x1c, 0x326: 0x1d, 0x327: 0x1e, + 0x328: 0x1f, 0x329: 0x20, 0x32a: 0x21, 0x32b: 0x22, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, + 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, + // Block 0xd, offset 0x340 + 0x347: 0x9c, + 0x34b: 0x9d, 0x34d: 0x9e, + 0x368: 0x9f, 0x36b: 0xa0, + // Block 0xe, offset 0x380 + 0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4, + 0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3e, 0x38d: 0xa7, + 0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac, + 0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae, + 0x3b0: 0x73, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xaf, 0x3ec: 0xb0, + // Block 0x10, offset 0x400 + 0x432: 0xb1, + // Block 0x11, offset 0x440 + 0x445: 0xb2, 0x446: 0xb3, 0x447: 0xb4, + 0x449: 0xb5, + // Block 0x12, offset 0x480 + 0x480: 0xb6, + 0x4a3: 0xb7, 0x4a5: 0xb8, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xb9, + // Block 0x14, offset 0x500 + 0x520: 0x23, 0x521: 0x24, 0x522: 0x25, 0x523: 0x26, 0x524: 0x27, 0x525: 0x28, 0x526: 0x29, 0x527: 0x2a, + 0x528: 0x2b, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 142 entries, 284 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc7, 0xce, 0xd6, 0xd9, 0xdb, 0xdd, 0xdf, 0xe4, 0xf5, 0x101, 0x103, 0x109, 0x10b, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x118, 0x11b, 0x11d, 0x120, 0x123, 0x127, 0x12c, 0x135, 0x137, 0x13a, 0x13c, 0x147, 0x157, 0x15b, 0x169, 0x16c, 0x172, 0x178, 0x183, 0x187, 0x189, 0x18b, 0x18d, 0x18f, 0x191, 0x197, 0x19b, 0x19d, 0x19f, 0x1a7, 0x1ab, 0x1ae, 0x1b0, 0x1b2, 0x1b4, 0x1b7, 0x1b9, 0x1bb, 0x1bd, 0x1bf, 0x1c5, 0x1c8, 0x1ca, 0x1d1, 0x1d7, 0x1dd, 0x1e5, 0x1eb, 0x1f1, 0x1f7, 0x1fb, 0x209, 0x212, 0x215, 0x218, 0x21a, 0x21d, 0x21f, 0x223, 0x228, 0x22a, 0x22c, 0x231, 0x237, 0x239, 0x23b, 0x23d, 0x243, 0x246, 0x249, 0x251, 0x258, 0x25b, 0x25e, 0x260, 0x268, 0x26b, 0x272, 0x275, 0x27b, 0x27d, 0x280, 0x282, 0x284, 0x286, 0x288, 0x295, 0x29f, 0x2a1, 0x2a3, 0x2a9, 0x2ab, 0x2ae} + +// nfcSparseValues: 688 entries, 2752 bytes +var nfcSparseValues = [688]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4840, lo: 0x8a, hi: 0x8a}, + {value: 0x485e, lo: 0x8b, hi: 0x8b}, + {value: 0x36c7, lo: 0x8c, hi: 0x8c}, + {value: 0x36df, lo: 0x8d, hi: 0x8d}, + {value: 0x4876, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x36fd, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + // Block 0xd, offset 0x62 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x67 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x69 + {value: 0x0000, lo: 0x10}, + {value: 0x8132, lo: 0x94, hi: 0xa1}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xa9, hi: 0xa9}, + {value: 0x8132, lo: 0xaa, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xaf}, + {value: 0x8116, lo: 0xb0, hi: 0xb0}, + {value: 0x8117, lo: 0xb1, hi: 0xb1}, + {value: 0x8118, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb5}, + {value: 0x812d, lo: 0xb6, hi: 0xb6}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x812d, lo: 0xb9, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbf}, + // Block 0x10, offset 0x7a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x11, offset 0x82 + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x12, offset 0x89 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x8c + {value: 0x0008, lo: 0x06}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + // Block 0x14, offset 0x93 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x97 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x16, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x17, offset 0x9d + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x18, offset 0x9f + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x19, offset 0xa8 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1a, offset 0xac + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1b, offset 0xb3 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xb8 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1d, offset 0xbb + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1e, offset 0xc5 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1f, offset 0xc7 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x20, offset 0xce + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x21, offset 0xd6 + {value: 0x0000, lo: 0x02}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x22, offset 0xd9 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x23, offset 0xdb + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x24, offset 0xdd + {value: 0x0000, lo: 0x01}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + // Block 0x25, offset 0xdf + {value: 0x0000, lo: 0x04}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0xe4 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x27, offset 0xf5 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x28, offset 0x101 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x29, offset 0x103 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x2a, offset 0x109 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2b, offset 0x10b + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2c, offset 0x10d + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2d, offset 0x10f + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2e, offset 0x111 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2f, offset 0x113 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x30, offset 0x115 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x31, offset 0x118 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x32, offset 0x11b + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x33, offset 0x11d + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x34, offset 0x120 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x35, offset 0x123 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x127 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x37, offset 0x12c + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x135 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x137 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x13a + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x13c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x147 + {value: 0x0000, lo: 0x0f}, + {value: 0x8132, lo: 0x80, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x82}, + {value: 0x8132, lo: 0x83, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8a}, + {value: 0x8132, lo: 0x8b, hi: 0x8c}, + {value: 0x8135, lo: 0x8d, hi: 0x8d}, + {value: 0x812a, lo: 0x8e, hi: 0x8e}, + {value: 0x812d, lo: 0x8f, hi: 0x8f}, + {value: 0x8129, lo: 0x90, hi: 0x90}, + {value: 0x8132, lo: 0x91, hi: 0xb5}, + {value: 0x8132, lo: 0xbb, hi: 0xbb}, + {value: 0x8134, lo: 0xbc, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x157 + {value: 0x0004, lo: 0x03}, + {value: 0x0433, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3e, offset 0x15b + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x3f, offset 0x169 + {value: 0x427b, lo: 0x02}, + {value: 0x01b8, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x40, offset 0x16c + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x41, offset 0x172 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x42, offset 0x178 + {value: 0x6408, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x43, offset 0x183 + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x44, offset 0x187 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x45, offset 0x189 + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x46, offset 0x18b + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x47, offset 0x18d + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x48, offset 0x18f + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x49, offset 0x191 + {value: 0x0000, lo: 0x05}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xaf}, + // Block 0x4a, offset 0x197 + {value: 0x0000, lo: 0x03}, + {value: 0x4a9f, lo: 0xb3, hi: 0xb3}, + {value: 0x4a9f, lo: 0xb5, hi: 0xb6}, + {value: 0x4a9f, lo: 0xba, hi: 0xbf}, + // Block 0x4b, offset 0x19b + {value: 0x0000, lo: 0x01}, + {value: 0x4a9f, lo: 0x8f, hi: 0xa3}, + // Block 0x4c, offset 0x19d + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4d, offset 0x19f + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4e, offset 0x1a7 + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4f, offset 0x1ab + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x50, offset 0x1ae + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x51, offset 0x1b0 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x52, offset 0x1b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x53, offset 0x1b4 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x54, offset 0x1b7 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x55, offset 0x1b9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x56, offset 0x1bb + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x57, offset 0x1bd + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x58, offset 0x1bf + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x59, offset 0x1c5 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x5a, offset 0x1c8 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x5b, offset 0x1ca + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5c, offset 0x1d1 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5d, offset 0x1d7 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5e, offset 0x1dd + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5f, offset 0x1e5 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x60, offset 0x1eb + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x61, offset 0x1f1 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x62, offset 0x1f7 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x63, offset 0x1fb + {value: 0x0006, lo: 0x0d}, + {value: 0x4390, lo: 0x9d, hi: 0x9d}, + {value: 0x8115, lo: 0x9e, hi: 0x9e}, + {value: 0x4402, lo: 0x9f, hi: 0x9f}, + {value: 0x43f0, lo: 0xaa, hi: 0xab}, + {value: 0x44f4, lo: 0xac, hi: 0xac}, + {value: 0x44fc, lo: 0xad, hi: 0xad}, + {value: 0x4348, lo: 0xae, hi: 0xb1}, + {value: 0x4366, lo: 0xb2, hi: 0xb4}, + {value: 0x437e, lo: 0xb5, hi: 0xb6}, + {value: 0x438a, lo: 0xb8, hi: 0xb8}, + {value: 0x4396, lo: 0xb9, hi: 0xbb}, + {value: 0x43ae, lo: 0xbc, hi: 0xbc}, + {value: 0x43b4, lo: 0xbe, hi: 0xbe}, + // Block 0x64, offset 0x209 + {value: 0x0006, lo: 0x08}, + {value: 0x43ba, lo: 0x80, hi: 0x81}, + {value: 0x43c6, lo: 0x83, hi: 0x84}, + {value: 0x43d8, lo: 0x86, hi: 0x89}, + {value: 0x43fc, lo: 0x8a, hi: 0x8a}, + {value: 0x4378, lo: 0x8b, hi: 0x8b}, + {value: 0x4360, lo: 0x8c, hi: 0x8c}, + {value: 0x43a8, lo: 0x8d, hi: 0x8d}, + {value: 0x43d2, lo: 0x8e, hi: 0x8e}, + // Block 0x65, offset 0x212 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x66, offset 0x215 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x67, offset 0x218 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x68, offset 0x21a + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x69, offset 0x21d + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x6a, offset 0x21f + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xa0, hi: 0xa6}, + {value: 0x812d, lo: 0xa7, hi: 0xad}, + {value: 0x8132, lo: 0xae, hi: 0xaf}, + // Block 0x6b, offset 0x223 + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6c, offset 0x228 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6d, offset 0x22a + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6e, offset 0x22c + {value: 0x0000, lo: 0x04}, + {value: 0x4a9f, lo: 0x9e, hi: 0x9f}, + {value: 0x4a9f, lo: 0xa3, hi: 0xa3}, + {value: 0x4a9f, lo: 0xa5, hi: 0xa6}, + {value: 0x4a9f, lo: 0xaa, hi: 0xaf}, + // Block 0x6f, offset 0x231 + {value: 0x0000, lo: 0x05}, + {value: 0x4a9f, lo: 0x82, hi: 0x87}, + {value: 0x4a9f, lo: 0x8a, hi: 0x8f}, + {value: 0x4a9f, lo: 0x92, hi: 0x97}, + {value: 0x4a9f, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x70, offset 0x237 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x71, offset 0x239 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x72, offset 0x23b + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x73, offset 0x23d + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x74, offset 0x243 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x75, offset 0x246 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x249 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x77, offset 0x251 + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x78, offset 0x258 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x79, offset 0x25b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x7a, offset 0x25e + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x7b, offset 0x260 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x7c, offset 0x268 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + // Block 0x7d, offset 0x26b + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7e, offset 0x272 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7f, offset 0x275 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x80, offset 0x27b + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x81, offset 0x27d + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x82, offset 0x280 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x83, offset 0x282 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x84, offset 0x284 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x85, offset 0x286 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x86, offset 0x288 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x87, offset 0x295 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x88, offset 0x29f + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x89, offset 0x2a1 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8a, offset 0x2a3 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x8b, offset 0x2a9 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x8c, offset 0x2ab + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x8d, offset 0x2ae + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 16994 bytes (16.60 KiB). Checksum: c3ed54ee046f3c46. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 90: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 90 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 92 blocks, 5888 entries, 11776 bytes +// The third block is the zero block. +var nfkcValues = [5888]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac, + // Block 0x5, offset 0x140 + 0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2dee, 0x185: 0x2df4, + 0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a, + 0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x42a5, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x425a, 0x285: 0x447b, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e, + 0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0, + 0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8, + 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, + 0x2f9: 0x01a6, + // Block 0xc, offset 0x300 + 0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b, + 0x306: 0xa000, 0x307: 0x3709, + 0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x3733, 0x342: 0x37b7, + 0x350: 0x370f, 0x351: 0x3793, + 0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd, + 0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf, + 0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed, + 0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805, + 0x378: 0x3787, 0x379: 0x380b, + // Block 0xe, offset 0x380 + 0x387: 0x1d61, + 0x391: 0x812d, + 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, + 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, + 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, + 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, + 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, + 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, + 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, + 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x812d, + 0x3f0: 0x811e, 0x3f5: 0x1d84, + 0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000, + 0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000, + 0x412: 0x2d4e, + 0x434: 0x8102, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d56, + 0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x0069, 0x441: 0x006b, 0x442: 0x006f, 0x443: 0x0083, 0x444: 0x00f5, 0x445: 0x00f8, + 0x446: 0x0413, 0x447: 0x0085, 0x448: 0x0089, 0x449: 0x008b, 0x44a: 0x0104, 0x44b: 0x0107, + 0x44c: 0x010a, 0x44d: 0x008f, 0x44f: 0x0097, 0x450: 0x009b, 0x451: 0x00e0, + 0x452: 0x009f, 0x453: 0x00fe, 0x454: 0x0417, 0x455: 0x041b, 0x456: 0x00a1, 0x457: 0x00a9, + 0x458: 0x00ab, 0x459: 0x0423, 0x45a: 0x012b, 0x45b: 0x00ad, 0x45c: 0x0427, 0x45d: 0x01be, + 0x45e: 0x01c1, 0x45f: 0x01c4, 0x460: 0x01fa, 0x461: 0x01fd, 0x462: 0x0093, 0x463: 0x00a5, + 0x464: 0x00ab, 0x465: 0x00ad, 0x466: 0x01be, 0x467: 0x01c1, 0x468: 0x01eb, 0x469: 0x01fa, + 0x46a: 0x01fd, + 0x478: 0x020c, + // Block 0x12, offset 0x480 + 0x49b: 0x00fb, 0x49c: 0x0087, 0x49d: 0x0101, + 0x49e: 0x00d4, 0x49f: 0x010a, 0x4a0: 0x008d, 0x4a1: 0x010d, 0x4a2: 0x0110, 0x4a3: 0x0116, + 0x4a4: 0x011c, 0x4a5: 0x011f, 0x4a6: 0x0122, 0x4a7: 0x042b, 0x4a8: 0x016a, 0x4a9: 0x0128, + 0x4aa: 0x042f, 0x4ab: 0x016d, 0x4ac: 0x0131, 0x4ad: 0x012e, 0x4ae: 0x0134, 0x4af: 0x0137, + 0x4b0: 0x013a, 0x4b1: 0x013d, 0x4b2: 0x0140, 0x4b3: 0x014c, 0x4b4: 0x014f, 0x4b5: 0x00ec, + 0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5, + 0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x2f97, 0x4c1: 0x32a3, 0x4c2: 0x2fa1, 0x4c3: 0x32ad, 0x4c4: 0x2fa6, 0x4c5: 0x32b2, + 0x4c6: 0x2fab, 0x4c7: 0x32b7, 0x4c8: 0x38cc, 0x4c9: 0x3a5b, 0x4ca: 0x2fc4, 0x4cb: 0x32d0, + 0x4cc: 0x2fce, 0x4cd: 0x32da, 0x4ce: 0x2fdd, 0x4cf: 0x32e9, 0x4d0: 0x2fd3, 0x4d1: 0x32df, + 0x4d2: 0x2fd8, 0x4d3: 0x32e4, 0x4d4: 0x38ef, 0x4d5: 0x3a7e, 0x4d6: 0x38f6, 0x4d7: 0x3a85, + 0x4d8: 0x3019, 0x4d9: 0x3325, 0x4da: 0x301e, 0x4db: 0x332a, 0x4dc: 0x3904, 0x4dd: 0x3a93, + 0x4de: 0x3023, 0x4df: 0x332f, 0x4e0: 0x3032, 0x4e1: 0x333e, 0x4e2: 0x3050, 0x4e3: 0x335c, + 0x4e4: 0x305f, 0x4e5: 0x336b, 0x4e6: 0x3055, 0x4e7: 0x3361, 0x4e8: 0x3064, 0x4e9: 0x3370, + 0x4ea: 0x3069, 0x4eb: 0x3375, 0x4ec: 0x30af, 0x4ed: 0x33bb, 0x4ee: 0x390b, 0x4ef: 0x3a9a, + 0x4f0: 0x30b9, 0x4f1: 0x33ca, 0x4f2: 0x30c3, 0x4f3: 0x33d4, 0x4f4: 0x30cd, 0x4f5: 0x33de, + 0x4f6: 0x46c4, 0x4f7: 0x4755, 0x4f8: 0x3912, 0x4f9: 0x3aa1, 0x4fa: 0x30e6, 0x4fb: 0x33f7, + 0x4fc: 0x30e1, 0x4fd: 0x33f2, 0x4fe: 0x30eb, 0x4ff: 0x33fc, + // Block 0x14, offset 0x500 + 0x500: 0x30f0, 0x501: 0x3401, 0x502: 0x30f5, 0x503: 0x3406, 0x504: 0x3109, 0x505: 0x341a, + 0x506: 0x3113, 0x507: 0x3424, 0x508: 0x3122, 0x509: 0x3433, 0x50a: 0x311d, 0x50b: 0x342e, + 0x50c: 0x3935, 0x50d: 0x3ac4, 0x50e: 0x3943, 0x50f: 0x3ad2, 0x510: 0x394a, 0x511: 0x3ad9, + 0x512: 0x3951, 0x513: 0x3ae0, 0x514: 0x314f, 0x515: 0x3460, 0x516: 0x3154, 0x517: 0x3465, + 0x518: 0x315e, 0x519: 0x346f, 0x51a: 0x46f1, 0x51b: 0x4782, 0x51c: 0x3997, 0x51d: 0x3b26, + 0x51e: 0x3177, 0x51f: 0x3488, 0x520: 0x3181, 0x521: 0x3492, 0x522: 0x4700, 0x523: 0x4791, + 0x524: 0x399e, 0x525: 0x3b2d, 0x526: 0x39a5, 0x527: 0x3b34, 0x528: 0x39ac, 0x529: 0x3b3b, + 0x52a: 0x3190, 0x52b: 0x34a1, 0x52c: 0x319a, 0x52d: 0x34b0, 0x52e: 0x31ae, 0x52f: 0x34c4, + 0x530: 0x31a9, 0x531: 0x34bf, 0x532: 0x31ea, 0x533: 0x3500, 0x534: 0x31f9, 0x535: 0x350f, + 0x536: 0x31f4, 0x537: 0x350a, 0x538: 0x39b3, 0x539: 0x3b42, 0x53a: 0x39ba, 0x53b: 0x3b49, + 0x53c: 0x31fe, 0x53d: 0x3514, 0x53e: 0x3203, 0x53f: 0x3519, + // Block 0x15, offset 0x540 + 0x540: 0x3208, 0x541: 0x351e, 0x542: 0x320d, 0x543: 0x3523, 0x544: 0x321c, 0x545: 0x3532, + 0x546: 0x3217, 0x547: 0x352d, 0x548: 0x3221, 0x549: 0x353c, 0x54a: 0x3226, 0x54b: 0x3541, + 0x54c: 0x322b, 0x54d: 0x3546, 0x54e: 0x3249, 0x54f: 0x3564, 0x550: 0x3262, 0x551: 0x3582, + 0x552: 0x3271, 0x553: 0x3591, 0x554: 0x3276, 0x555: 0x3596, 0x556: 0x337a, 0x557: 0x34a6, + 0x558: 0x3537, 0x559: 0x3573, 0x55a: 0x1be0, 0x55b: 0x42d7, + 0x560: 0x46a1, 0x561: 0x4732, 0x562: 0x2f83, 0x563: 0x328f, + 0x564: 0x3878, 0x565: 0x3a07, 0x566: 0x3871, 0x567: 0x3a00, 0x568: 0x3886, 0x569: 0x3a15, + 0x56a: 0x387f, 0x56b: 0x3a0e, 0x56c: 0x38be, 0x56d: 0x3a4d, 0x56e: 0x3894, 0x56f: 0x3a23, + 0x570: 0x388d, 0x571: 0x3a1c, 0x572: 0x38a2, 0x573: 0x3a31, 0x574: 0x389b, 0x575: 0x3a2a, + 0x576: 0x38c5, 0x577: 0x3a54, 0x578: 0x46b5, 0x579: 0x4746, 0x57a: 0x3000, 0x57b: 0x330c, + 0x57c: 0x2fec, 0x57d: 0x32f8, 0x57e: 0x38da, 0x57f: 0x3a69, + // Block 0x16, offset 0x580 + 0x580: 0x38d3, 0x581: 0x3a62, 0x582: 0x38e8, 0x583: 0x3a77, 0x584: 0x38e1, 0x585: 0x3a70, + 0x586: 0x38fd, 0x587: 0x3a8c, 0x588: 0x3091, 0x589: 0x339d, 0x58a: 0x30a5, 0x58b: 0x33b1, + 0x58c: 0x46e7, 0x58d: 0x4778, 0x58e: 0x3136, 0x58f: 0x3447, 0x590: 0x3920, 0x591: 0x3aaf, + 0x592: 0x3919, 0x593: 0x3aa8, 0x594: 0x392e, 0x595: 0x3abd, 0x596: 0x3927, 0x597: 0x3ab6, + 0x598: 0x3989, 0x599: 0x3b18, 0x59a: 0x396d, 0x59b: 0x3afc, 0x59c: 0x3966, 0x59d: 0x3af5, + 0x59e: 0x397b, 0x59f: 0x3b0a, 0x5a0: 0x3974, 0x5a1: 0x3b03, 0x5a2: 0x3982, 0x5a3: 0x3b11, + 0x5a4: 0x31e5, 0x5a5: 0x34fb, 0x5a6: 0x31c7, 0x5a7: 0x34dd, 0x5a8: 0x39e4, 0x5a9: 0x3b73, + 0x5aa: 0x39dd, 0x5ab: 0x3b6c, 0x5ac: 0x39f2, 0x5ad: 0x3b81, 0x5ae: 0x39eb, 0x5af: 0x3b7a, + 0x5b0: 0x39f9, 0x5b1: 0x3b88, 0x5b2: 0x3230, 0x5b3: 0x354b, 0x5b4: 0x3258, 0x5b5: 0x3578, + 0x5b6: 0x3253, 0x5b7: 0x356e, 0x5b8: 0x323f, 0x5b9: 0x355a, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x4804, 0x5c1: 0x480a, 0x5c2: 0x491e, 0x5c3: 0x4936, 0x5c4: 0x4926, 0x5c5: 0x493e, + 0x5c6: 0x492e, 0x5c7: 0x4946, 0x5c8: 0x47aa, 0x5c9: 0x47b0, 0x5ca: 0x488e, 0x5cb: 0x48a6, + 0x5cc: 0x4896, 0x5cd: 0x48ae, 0x5ce: 0x489e, 0x5cf: 0x48b6, 0x5d0: 0x4816, 0x5d1: 0x481c, + 0x5d2: 0x3db8, 0x5d3: 0x3dc8, 0x5d4: 0x3dc0, 0x5d5: 0x3dd0, + 0x5d8: 0x47b6, 0x5d9: 0x47bc, 0x5da: 0x3ce8, 0x5db: 0x3cf8, 0x5dc: 0x3cf0, 0x5dd: 0x3d00, + 0x5e0: 0x482e, 0x5e1: 0x4834, 0x5e2: 0x494e, 0x5e3: 0x4966, + 0x5e4: 0x4956, 0x5e5: 0x496e, 0x5e6: 0x495e, 0x5e7: 0x4976, 0x5e8: 0x47c2, 0x5e9: 0x47c8, + 0x5ea: 0x48be, 0x5eb: 0x48d6, 0x5ec: 0x48c6, 0x5ed: 0x48de, 0x5ee: 0x48ce, 0x5ef: 0x48e6, + 0x5f0: 0x4846, 0x5f1: 0x484c, 0x5f2: 0x3e18, 0x5f3: 0x3e30, 0x5f4: 0x3e20, 0x5f5: 0x3e38, + 0x5f6: 0x3e28, 0x5f7: 0x3e40, 0x5f8: 0x47ce, 0x5f9: 0x47d4, 0x5fa: 0x3d18, 0x5fb: 0x3d30, + 0x5fc: 0x3d20, 0x5fd: 0x3d38, 0x5fe: 0x3d28, 0x5ff: 0x3d40, + // Block 0x18, offset 0x600 + 0x600: 0x4852, 0x601: 0x4858, 0x602: 0x3e48, 0x603: 0x3e58, 0x604: 0x3e50, 0x605: 0x3e60, + 0x608: 0x47da, 0x609: 0x47e0, 0x60a: 0x3d48, 0x60b: 0x3d58, + 0x60c: 0x3d50, 0x60d: 0x3d60, 0x610: 0x4864, 0x611: 0x486a, + 0x612: 0x3e80, 0x613: 0x3e98, 0x614: 0x3e88, 0x615: 0x3ea0, 0x616: 0x3e90, 0x617: 0x3ea8, + 0x619: 0x47e6, 0x61b: 0x3d68, 0x61d: 0x3d70, + 0x61f: 0x3d78, 0x620: 0x487c, 0x621: 0x4882, 0x622: 0x497e, 0x623: 0x4996, + 0x624: 0x4986, 0x625: 0x499e, 0x626: 0x498e, 0x627: 0x49a6, 0x628: 0x47ec, 0x629: 0x47f2, + 0x62a: 0x48ee, 0x62b: 0x4906, 0x62c: 0x48f6, 0x62d: 0x490e, 0x62e: 0x48fe, 0x62f: 0x4916, + 0x630: 0x47f8, 0x631: 0x431e, 0x632: 0x3691, 0x633: 0x4324, 0x634: 0x4822, 0x635: 0x432a, + 0x636: 0x36a3, 0x637: 0x4330, 0x638: 0x36c1, 0x639: 0x4336, 0x63a: 0x36d9, 0x63b: 0x433c, + 0x63c: 0x4870, 0x63d: 0x4342, + // Block 0x19, offset 0x640 + 0x640: 0x3da0, 0x641: 0x3da8, 0x642: 0x4184, 0x643: 0x41a2, 0x644: 0x418e, 0x645: 0x41ac, + 0x646: 0x4198, 0x647: 0x41b6, 0x648: 0x3cd8, 0x649: 0x3ce0, 0x64a: 0x40d0, 0x64b: 0x40ee, + 0x64c: 0x40da, 0x64d: 0x40f8, 0x64e: 0x40e4, 0x64f: 0x4102, 0x650: 0x3de8, 0x651: 0x3df0, + 0x652: 0x41c0, 0x653: 0x41de, 0x654: 0x41ca, 0x655: 0x41e8, 0x656: 0x41d4, 0x657: 0x41f2, + 0x658: 0x3d08, 0x659: 0x3d10, 0x65a: 0x410c, 0x65b: 0x412a, 0x65c: 0x4116, 0x65d: 0x4134, + 0x65e: 0x4120, 0x65f: 0x413e, 0x660: 0x3ec0, 0x661: 0x3ec8, 0x662: 0x41fc, 0x663: 0x421a, + 0x664: 0x4206, 0x665: 0x4224, 0x666: 0x4210, 0x667: 0x422e, 0x668: 0x3d80, 0x669: 0x3d88, + 0x66a: 0x4148, 0x66b: 0x4166, 0x66c: 0x4152, 0x66d: 0x4170, 0x66e: 0x415c, 0x66f: 0x417a, + 0x670: 0x3685, 0x671: 0x367f, 0x672: 0x3d90, 0x673: 0x368b, 0x674: 0x3d98, + 0x676: 0x4810, 0x677: 0x3db0, 0x678: 0x35f5, 0x679: 0x35ef, 0x67a: 0x35e3, 0x67b: 0x42ee, + 0x67c: 0x35fb, 0x67d: 0x4287, 0x67e: 0x01d3, 0x67f: 0x4287, + // Block 0x1a, offset 0x680 + 0x680: 0x42a0, 0x681: 0x4482, 0x682: 0x3dd8, 0x683: 0x369d, 0x684: 0x3de0, + 0x686: 0x483a, 0x687: 0x3df8, 0x688: 0x3601, 0x689: 0x42f4, 0x68a: 0x360d, 0x68b: 0x42fa, + 0x68c: 0x3619, 0x68d: 0x4489, 0x68e: 0x4490, 0x68f: 0x4497, 0x690: 0x36b5, 0x691: 0x36af, + 0x692: 0x3e00, 0x693: 0x44e4, 0x696: 0x36bb, 0x697: 0x3e10, + 0x698: 0x3631, 0x699: 0x362b, 0x69a: 0x361f, 0x69b: 0x4300, 0x69d: 0x449e, + 0x69e: 0x44a5, 0x69f: 0x44ac, 0x6a0: 0x36eb, 0x6a1: 0x36e5, 0x6a2: 0x3e68, 0x6a3: 0x44ec, + 0x6a4: 0x36cd, 0x6a5: 0x36d3, 0x6a6: 0x36f1, 0x6a7: 0x3e78, 0x6a8: 0x3661, 0x6a9: 0x365b, + 0x6aa: 0x364f, 0x6ab: 0x430c, 0x6ac: 0x3649, 0x6ad: 0x4474, 0x6ae: 0x447b, 0x6af: 0x0081, + 0x6b2: 0x3eb0, 0x6b3: 0x36f7, 0x6b4: 0x3eb8, + 0x6b6: 0x4888, 0x6b7: 0x3ed0, 0x6b8: 0x363d, 0x6b9: 0x4306, 0x6ba: 0x366d, 0x6bb: 0x4318, + 0x6bc: 0x3679, 0x6bd: 0x425a, 0x6be: 0x428c, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x1bd8, 0x6c1: 0x1bdc, 0x6c2: 0x0047, 0x6c3: 0x1c54, 0x6c5: 0x1be8, + 0x6c6: 0x1bec, 0x6c7: 0x00e9, 0x6c9: 0x1c58, 0x6ca: 0x008f, 0x6cb: 0x0051, + 0x6cc: 0x0051, 0x6cd: 0x0051, 0x6ce: 0x0091, 0x6cf: 0x00da, 0x6d0: 0x0053, 0x6d1: 0x0053, + 0x6d2: 0x0059, 0x6d3: 0x0099, 0x6d5: 0x005d, 0x6d6: 0x198d, + 0x6d9: 0x0061, 0x6da: 0x0063, 0x6db: 0x0065, 0x6dc: 0x0065, 0x6dd: 0x0065, + 0x6e0: 0x199f, 0x6e1: 0x1bc8, 0x6e2: 0x19a8, + 0x6e4: 0x0075, 0x6e6: 0x01b8, 0x6e8: 0x0075, + 0x6ea: 0x0057, 0x6eb: 0x42d2, 0x6ec: 0x0045, 0x6ed: 0x0047, 0x6ef: 0x008b, + 0x6f0: 0x004b, 0x6f1: 0x004d, 0x6f3: 0x005b, 0x6f4: 0x009f, 0x6f5: 0x0215, + 0x6f6: 0x0218, 0x6f7: 0x021b, 0x6f8: 0x021e, 0x6f9: 0x0093, 0x6fb: 0x1b98, + 0x6fc: 0x01e8, 0x6fd: 0x01c1, 0x6fe: 0x0179, 0x6ff: 0x01a0, + // Block 0x1c, offset 0x700 + 0x700: 0x0463, 0x705: 0x0049, + 0x706: 0x0089, 0x707: 0x008b, 0x708: 0x0093, 0x709: 0x0095, + 0x710: 0x222e, 0x711: 0x223a, + 0x712: 0x22ee, 0x713: 0x2216, 0x714: 0x229a, 0x715: 0x2222, 0x716: 0x22a0, 0x717: 0x22b8, + 0x718: 0x22c4, 0x719: 0x2228, 0x71a: 0x22ca, 0x71b: 0x2234, 0x71c: 0x22be, 0x71d: 0x22d0, + 0x71e: 0x22d6, 0x71f: 0x1cbc, 0x720: 0x0053, 0x721: 0x195a, 0x722: 0x1ba4, 0x723: 0x1963, + 0x724: 0x006d, 0x725: 0x19ab, 0x726: 0x1bd0, 0x727: 0x1d48, 0x728: 0x1966, 0x729: 0x0071, + 0x72a: 0x19b7, 0x72b: 0x1bd4, 0x72c: 0x0059, 0x72d: 0x0047, 0x72e: 0x0049, 0x72f: 0x005b, + 0x730: 0x0093, 0x731: 0x19e4, 0x732: 0x1c18, 0x733: 0x19ed, 0x734: 0x00ad, 0x735: 0x1a62, + 0x736: 0x1c4c, 0x737: 0x1d5c, 0x738: 0x19f0, 0x739: 0x00b1, 0x73a: 0x1a65, 0x73b: 0x1c50, + 0x73c: 0x0099, 0x73d: 0x0087, 0x73e: 0x0089, 0x73f: 0x009b, + // Block 0x1d, offset 0x740 + 0x741: 0x3c06, 0x743: 0xa000, 0x744: 0x3c0d, 0x745: 0xa000, + 0x747: 0x3c14, 0x748: 0xa000, 0x749: 0x3c1b, + 0x74d: 0xa000, + 0x760: 0x2f65, 0x761: 0xa000, 0x762: 0x3c29, + 0x764: 0xa000, 0x765: 0xa000, + 0x76d: 0x3c22, 0x76e: 0x2f60, 0x76f: 0x2f6a, + 0x770: 0x3c30, 0x771: 0x3c37, 0x772: 0xa000, 0x773: 0xa000, 0x774: 0x3c3e, 0x775: 0x3c45, + 0x776: 0xa000, 0x777: 0xa000, 0x778: 0x3c4c, 0x779: 0x3c53, 0x77a: 0xa000, 0x77b: 0xa000, + 0x77c: 0xa000, 0x77d: 0xa000, + // Block 0x1e, offset 0x780 + 0x780: 0x3c5a, 0x781: 0x3c61, 0x782: 0xa000, 0x783: 0xa000, 0x784: 0x3c76, 0x785: 0x3c7d, + 0x786: 0xa000, 0x787: 0xa000, 0x788: 0x3c84, 0x789: 0x3c8b, + 0x791: 0xa000, + 0x792: 0xa000, + 0x7a2: 0xa000, + 0x7a8: 0xa000, 0x7a9: 0xa000, + 0x7ab: 0xa000, 0x7ac: 0x3ca0, 0x7ad: 0x3ca7, 0x7ae: 0x3cae, 0x7af: 0x3cb5, + 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0xa000, 0x7b5: 0xa000, + // Block 0x1f, offset 0x7c0 + 0x7e0: 0x0023, 0x7e1: 0x0025, 0x7e2: 0x0027, 0x7e3: 0x0029, + 0x7e4: 0x002b, 0x7e5: 0x002d, 0x7e6: 0x002f, 0x7e7: 0x0031, 0x7e8: 0x0033, 0x7e9: 0x1882, + 0x7ea: 0x1885, 0x7eb: 0x1888, 0x7ec: 0x188b, 0x7ed: 0x188e, 0x7ee: 0x1891, 0x7ef: 0x1894, + 0x7f0: 0x1897, 0x7f1: 0x189a, 0x7f2: 0x189d, 0x7f3: 0x18a6, 0x7f4: 0x1a68, 0x7f5: 0x1a6c, + 0x7f6: 0x1a70, 0x7f7: 0x1a74, 0x7f8: 0x1a78, 0x7f9: 0x1a7c, 0x7fa: 0x1a80, 0x7fb: 0x1a84, + 0x7fc: 0x1a88, 0x7fd: 0x1c80, 0x7fe: 0x1c85, 0x7ff: 0x1c8a, + // Block 0x20, offset 0x800 + 0x800: 0x1c8f, 0x801: 0x1c94, 0x802: 0x1c99, 0x803: 0x1c9e, 0x804: 0x1ca3, 0x805: 0x1ca8, + 0x806: 0x1cad, 0x807: 0x1cb2, 0x808: 0x187f, 0x809: 0x18a3, 0x80a: 0x18c7, 0x80b: 0x18eb, + 0x80c: 0x190f, 0x80d: 0x1918, 0x80e: 0x191e, 0x80f: 0x1924, 0x810: 0x192a, 0x811: 0x1b60, + 0x812: 0x1b64, 0x813: 0x1b68, 0x814: 0x1b6c, 0x815: 0x1b70, 0x816: 0x1b74, 0x817: 0x1b78, + 0x818: 0x1b7c, 0x819: 0x1b80, 0x81a: 0x1b84, 0x81b: 0x1b88, 0x81c: 0x1af4, 0x81d: 0x1af8, + 0x81e: 0x1afc, 0x81f: 0x1b00, 0x820: 0x1b04, 0x821: 0x1b08, 0x822: 0x1b0c, 0x823: 0x1b10, + 0x824: 0x1b14, 0x825: 0x1b18, 0x826: 0x1b1c, 0x827: 0x1b20, 0x828: 0x1b24, 0x829: 0x1b28, + 0x82a: 0x1b2c, 0x82b: 0x1b30, 0x82c: 0x1b34, 0x82d: 0x1b38, 0x82e: 0x1b3c, 0x82f: 0x1b40, + 0x830: 0x1b44, 0x831: 0x1b48, 0x832: 0x1b4c, 0x833: 0x1b50, 0x834: 0x1b54, 0x835: 0x1b58, + 0x836: 0x0043, 0x837: 0x0045, 0x838: 0x0047, 0x839: 0x0049, 0x83a: 0x004b, 0x83b: 0x004d, + 0x83c: 0x004f, 0x83d: 0x0051, 0x83e: 0x0053, 0x83f: 0x0055, + // Block 0x21, offset 0x840 + 0x840: 0x06bf, 0x841: 0x06e3, 0x842: 0x06ef, 0x843: 0x06ff, 0x844: 0x0707, 0x845: 0x0713, + 0x846: 0x071b, 0x847: 0x0723, 0x848: 0x072f, 0x849: 0x0783, 0x84a: 0x079b, 0x84b: 0x07ab, + 0x84c: 0x07bb, 0x84d: 0x07cb, 0x84e: 0x07db, 0x84f: 0x07fb, 0x850: 0x07ff, 0x851: 0x0803, + 0x852: 0x0837, 0x853: 0x085f, 0x854: 0x086f, 0x855: 0x0877, 0x856: 0x087b, 0x857: 0x0887, + 0x858: 0x08a3, 0x859: 0x08a7, 0x85a: 0x08bf, 0x85b: 0x08c3, 0x85c: 0x08cb, 0x85d: 0x08db, + 0x85e: 0x0977, 0x85f: 0x098b, 0x860: 0x09cb, 0x861: 0x09df, 0x862: 0x09e7, 0x863: 0x09eb, + 0x864: 0x09fb, 0x865: 0x0a17, 0x866: 0x0a43, 0x867: 0x0a4f, 0x868: 0x0a6f, 0x869: 0x0a7b, + 0x86a: 0x0a7f, 0x86b: 0x0a83, 0x86c: 0x0a9b, 0x86d: 0x0a9f, 0x86e: 0x0acb, 0x86f: 0x0ad7, + 0x870: 0x0adf, 0x871: 0x0ae7, 0x872: 0x0af7, 0x873: 0x0aff, 0x874: 0x0b07, 0x875: 0x0b33, + 0x876: 0x0b37, 0x877: 0x0b3f, 0x878: 0x0b43, 0x879: 0x0b4b, 0x87a: 0x0b53, 0x87b: 0x0b63, + 0x87c: 0x0b7f, 0x87d: 0x0bf7, 0x87e: 0x0c0b, 0x87f: 0x0c0f, + // Block 0x22, offset 0x880 + 0x880: 0x0c8f, 0x881: 0x0c93, 0x882: 0x0ca7, 0x883: 0x0cab, 0x884: 0x0cb3, 0x885: 0x0cbb, + 0x886: 0x0cc3, 0x887: 0x0ccf, 0x888: 0x0cf7, 0x889: 0x0d07, 0x88a: 0x0d1b, 0x88b: 0x0d8b, + 0x88c: 0x0d97, 0x88d: 0x0da7, 0x88e: 0x0db3, 0x88f: 0x0dbf, 0x890: 0x0dc7, 0x891: 0x0dcb, + 0x892: 0x0dcf, 0x893: 0x0dd3, 0x894: 0x0dd7, 0x895: 0x0e8f, 0x896: 0x0ed7, 0x897: 0x0ee3, + 0x898: 0x0ee7, 0x899: 0x0eeb, 0x89a: 0x0eef, 0x89b: 0x0ef7, 0x89c: 0x0efb, 0x89d: 0x0f0f, + 0x89e: 0x0f2b, 0x89f: 0x0f33, 0x8a0: 0x0f73, 0x8a1: 0x0f77, 0x8a2: 0x0f7f, 0x8a3: 0x0f83, + 0x8a4: 0x0f8b, 0x8a5: 0x0f8f, 0x8a6: 0x0fb3, 0x8a7: 0x0fb7, 0x8a8: 0x0fd3, 0x8a9: 0x0fd7, + 0x8aa: 0x0fdb, 0x8ab: 0x0fdf, 0x8ac: 0x0ff3, 0x8ad: 0x1017, 0x8ae: 0x101b, 0x8af: 0x101f, + 0x8b0: 0x1043, 0x8b1: 0x1083, 0x8b2: 0x1087, 0x8b3: 0x10a7, 0x8b4: 0x10b7, 0x8b5: 0x10bf, + 0x8b6: 0x10df, 0x8b7: 0x1103, 0x8b8: 0x1147, 0x8b9: 0x114f, 0x8ba: 0x1163, 0x8bb: 0x116f, + 0x8bc: 0x1177, 0x8bd: 0x117f, 0x8be: 0x1183, 0x8bf: 0x1187, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x119f, 0x8c1: 0x11a3, 0x8c2: 0x11bf, 0x8c3: 0x11c7, 0x8c4: 0x11cf, 0x8c5: 0x11d3, + 0x8c6: 0x11df, 0x8c7: 0x11e7, 0x8c8: 0x11eb, 0x8c9: 0x11ef, 0x8ca: 0x11f7, 0x8cb: 0x11fb, + 0x8cc: 0x129b, 0x8cd: 0x12af, 0x8ce: 0x12e3, 0x8cf: 0x12e7, 0x8d0: 0x12ef, 0x8d1: 0x131b, + 0x8d2: 0x1323, 0x8d3: 0x132b, 0x8d4: 0x1333, 0x8d5: 0x136f, 0x8d6: 0x1373, 0x8d7: 0x137b, + 0x8d8: 0x137f, 0x8d9: 0x1383, 0x8da: 0x13af, 0x8db: 0x13b3, 0x8dc: 0x13bb, 0x8dd: 0x13cf, + 0x8de: 0x13d3, 0x8df: 0x13ef, 0x8e0: 0x13f7, 0x8e1: 0x13fb, 0x8e2: 0x141f, 0x8e3: 0x143f, + 0x8e4: 0x1453, 0x8e5: 0x1457, 0x8e6: 0x145f, 0x8e7: 0x148b, 0x8e8: 0x148f, 0x8e9: 0x149f, + 0x8ea: 0x14c3, 0x8eb: 0x14cf, 0x8ec: 0x14df, 0x8ed: 0x14f7, 0x8ee: 0x14ff, 0x8ef: 0x1503, + 0x8f0: 0x1507, 0x8f1: 0x150b, 0x8f2: 0x1517, 0x8f3: 0x151b, 0x8f4: 0x1523, 0x8f5: 0x153f, + 0x8f6: 0x1543, 0x8f7: 0x1547, 0x8f8: 0x155f, 0x8f9: 0x1563, 0x8fa: 0x156b, 0x8fb: 0x157f, + 0x8fc: 0x1583, 0x8fd: 0x1587, 0x8fe: 0x158f, 0x8ff: 0x1593, + // Block 0x24, offset 0x900 + 0x906: 0xa000, 0x90b: 0xa000, + 0x90c: 0x3f08, 0x90d: 0xa000, 0x90e: 0x3f10, 0x90f: 0xa000, 0x910: 0x3f18, 0x911: 0xa000, + 0x912: 0x3f20, 0x913: 0xa000, 0x914: 0x3f28, 0x915: 0xa000, 0x916: 0x3f30, 0x917: 0xa000, + 0x918: 0x3f38, 0x919: 0xa000, 0x91a: 0x3f40, 0x91b: 0xa000, 0x91c: 0x3f48, 0x91d: 0xa000, + 0x91e: 0x3f50, 0x91f: 0xa000, 0x920: 0x3f58, 0x921: 0xa000, 0x922: 0x3f60, + 0x924: 0xa000, 0x925: 0x3f68, 0x926: 0xa000, 0x927: 0x3f70, 0x928: 0xa000, 0x929: 0x3f78, + 0x92f: 0xa000, + 0x930: 0x3f80, 0x931: 0x3f88, 0x932: 0xa000, 0x933: 0x3f90, 0x934: 0x3f98, 0x935: 0xa000, + 0x936: 0x3fa0, 0x937: 0x3fa8, 0x938: 0xa000, 0x939: 0x3fb0, 0x93a: 0x3fb8, 0x93b: 0xa000, + 0x93c: 0x3fc0, 0x93d: 0x3fc8, + // Block 0x25, offset 0x940 + 0x954: 0x3f00, + 0x959: 0x9903, 0x95a: 0x9903, 0x95b: 0x42dc, 0x95c: 0x42e2, 0x95d: 0xa000, + 0x95e: 0x3fd0, 0x95f: 0x26b4, + 0x966: 0xa000, + 0x96b: 0xa000, 0x96c: 0x3fe0, 0x96d: 0xa000, 0x96e: 0x3fe8, 0x96f: 0xa000, + 0x970: 0x3ff0, 0x971: 0xa000, 0x972: 0x3ff8, 0x973: 0xa000, 0x974: 0x4000, 0x975: 0xa000, + 0x976: 0x4008, 0x977: 0xa000, 0x978: 0x4010, 0x979: 0xa000, 0x97a: 0x4018, 0x97b: 0xa000, + 0x97c: 0x4020, 0x97d: 0xa000, 0x97e: 0x4028, 0x97f: 0xa000, + // Block 0x26, offset 0x980 + 0x980: 0x4030, 0x981: 0xa000, 0x982: 0x4038, 0x984: 0xa000, 0x985: 0x4040, + 0x986: 0xa000, 0x987: 0x4048, 0x988: 0xa000, 0x989: 0x4050, + 0x98f: 0xa000, 0x990: 0x4058, 0x991: 0x4060, + 0x992: 0xa000, 0x993: 0x4068, 0x994: 0x4070, 0x995: 0xa000, 0x996: 0x4078, 0x997: 0x4080, + 0x998: 0xa000, 0x999: 0x4088, 0x99a: 0x4090, 0x99b: 0xa000, 0x99c: 0x4098, 0x99d: 0x40a0, + 0x9af: 0xa000, + 0x9b0: 0xa000, 0x9b1: 0xa000, 0x9b2: 0xa000, 0x9b4: 0x3fd8, + 0x9b7: 0x40a8, 0x9b8: 0x40b0, 0x9b9: 0x40b8, 0x9ba: 0x40c0, + 0x9bd: 0xa000, 0x9be: 0x40c8, 0x9bf: 0x26c9, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0367, 0x9c1: 0x032b, 0x9c2: 0x032f, 0x9c3: 0x0333, 0x9c4: 0x037b, 0x9c5: 0x0337, + 0x9c6: 0x033b, 0x9c7: 0x033f, 0x9c8: 0x0343, 0x9c9: 0x0347, 0x9ca: 0x034b, 0x9cb: 0x034f, + 0x9cc: 0x0353, 0x9cd: 0x0357, 0x9ce: 0x035b, 0x9cf: 0x49bd, 0x9d0: 0x49c3, 0x9d1: 0x49c9, + 0x9d2: 0x49cf, 0x9d3: 0x49d5, 0x9d4: 0x49db, 0x9d5: 0x49e1, 0x9d6: 0x49e7, 0x9d7: 0x49ed, + 0x9d8: 0x49f3, 0x9d9: 0x49f9, 0x9da: 0x49ff, 0x9db: 0x4a05, 0x9dc: 0x4a0b, 0x9dd: 0x4a11, + 0x9de: 0x4a17, 0x9df: 0x4a1d, 0x9e0: 0x4a23, 0x9e1: 0x4a29, 0x9e2: 0x4a2f, 0x9e3: 0x4a35, + 0x9e4: 0x03c3, 0x9e5: 0x035f, 0x9e6: 0x0363, 0x9e7: 0x03e7, 0x9e8: 0x03eb, 0x9e9: 0x03ef, + 0x9ea: 0x03f3, 0x9eb: 0x03f7, 0x9ec: 0x03fb, 0x9ed: 0x03ff, 0x9ee: 0x036b, 0x9ef: 0x0403, + 0x9f0: 0x0407, 0x9f1: 0x036f, 0x9f2: 0x0373, 0x9f3: 0x0377, 0x9f4: 0x037f, 0x9f5: 0x0383, + 0x9f6: 0x0387, 0x9f7: 0x038b, 0x9f8: 0x038f, 0x9f9: 0x0393, 0x9fa: 0x0397, 0x9fb: 0x039b, + 0x9fc: 0x039f, 0x9fd: 0x03a3, 0x9fe: 0x03a7, 0x9ff: 0x03ab, + // Block 0x28, offset 0xa00 + 0xa00: 0x03af, 0xa01: 0x03b3, 0xa02: 0x040b, 0xa03: 0x040f, 0xa04: 0x03b7, 0xa05: 0x03bb, + 0xa06: 0x03bf, 0xa07: 0x03c7, 0xa08: 0x03cb, 0xa09: 0x03cf, 0xa0a: 0x03d3, 0xa0b: 0x03d7, + 0xa0c: 0x03db, 0xa0d: 0x03df, 0xa0e: 0x03e3, + 0xa12: 0x06bf, 0xa13: 0x071b, 0xa14: 0x06cb, 0xa15: 0x097b, 0xa16: 0x06cf, 0xa17: 0x06e7, + 0xa18: 0x06d3, 0xa19: 0x0f93, 0xa1a: 0x0707, 0xa1b: 0x06db, 0xa1c: 0x06c3, 0xa1d: 0x09ff, + 0xa1e: 0x098f, 0xa1f: 0x072f, + // Block 0x29, offset 0xa40 + 0xa40: 0x2054, 0xa41: 0x205a, 0xa42: 0x2060, 0xa43: 0x2066, 0xa44: 0x206c, 0xa45: 0x2072, + 0xa46: 0x2078, 0xa47: 0x207e, 0xa48: 0x2084, 0xa49: 0x208a, 0xa4a: 0x2090, 0xa4b: 0x2096, + 0xa4c: 0x209c, 0xa4d: 0x20a2, 0xa4e: 0x2726, 0xa4f: 0x272f, 0xa50: 0x2738, 0xa51: 0x2741, + 0xa52: 0x274a, 0xa53: 0x2753, 0xa54: 0x275c, 0xa55: 0x2765, 0xa56: 0x276e, 0xa57: 0x2780, + 0xa58: 0x2789, 0xa59: 0x2792, 0xa5a: 0x279b, 0xa5b: 0x27a4, 0xa5c: 0x2777, 0xa5d: 0x2bac, + 0xa5e: 0x2aed, 0xa60: 0x20a8, 0xa61: 0x20c0, 0xa62: 0x20b4, 0xa63: 0x2108, + 0xa64: 0x20c6, 0xa65: 0x20e4, 0xa66: 0x20ae, 0xa67: 0x20de, 0xa68: 0x20ba, 0xa69: 0x20f0, + 0xa6a: 0x2120, 0xa6b: 0x213e, 0xa6c: 0x2138, 0xa6d: 0x212c, 0xa6e: 0x217a, 0xa6f: 0x210e, + 0xa70: 0x211a, 0xa71: 0x2132, 0xa72: 0x2126, 0xa73: 0x2150, 0xa74: 0x20fc, 0xa75: 0x2144, + 0xa76: 0x216e, 0xa77: 0x2156, 0xa78: 0x20ea, 0xa79: 0x20cc, 0xa7a: 0x2102, 0xa7b: 0x2114, + 0xa7c: 0x214a, 0xa7d: 0x20d2, 0xa7e: 0x2174, 0xa7f: 0x20f6, + // Block 0x2a, offset 0xa80 + 0xa80: 0x215c, 0xa81: 0x20d8, 0xa82: 0x2162, 0xa83: 0x2168, 0xa84: 0x092f, 0xa85: 0x0b03, + 0xa86: 0x0ca7, 0xa87: 0x10c7, + 0xa90: 0x1bc4, 0xa91: 0x18a9, + 0xa92: 0x18ac, 0xa93: 0x18af, 0xa94: 0x18b2, 0xa95: 0x18b5, 0xa96: 0x18b8, 0xa97: 0x18bb, + 0xa98: 0x18be, 0xa99: 0x18c1, 0xa9a: 0x18ca, 0xa9b: 0x18cd, 0xa9c: 0x18d0, 0xa9d: 0x18d3, + 0xa9e: 0x18d6, 0xa9f: 0x18d9, 0xaa0: 0x0313, 0xaa1: 0x031b, 0xaa2: 0x031f, 0xaa3: 0x0327, + 0xaa4: 0x032b, 0xaa5: 0x032f, 0xaa6: 0x0337, 0xaa7: 0x033f, 0xaa8: 0x0343, 0xaa9: 0x034b, + 0xaaa: 0x034f, 0xaab: 0x0353, 0xaac: 0x0357, 0xaad: 0x035b, 0xaae: 0x2e18, 0xaaf: 0x2e20, + 0xab0: 0x2e28, 0xab1: 0x2e30, 0xab2: 0x2e38, 0xab3: 0x2e40, 0xab4: 0x2e48, 0xab5: 0x2e50, + 0xab6: 0x2e60, 0xab7: 0x2e68, 0xab8: 0x2e70, 0xab9: 0x2e78, 0xaba: 0x2e80, 0xabb: 0x2e88, + 0xabc: 0x2ed3, 0xabd: 0x2e9b, 0xabe: 0x2e58, + // Block 0x2b, offset 0xac0 + 0xac0: 0x06bf, 0xac1: 0x071b, 0xac2: 0x06cb, 0xac3: 0x097b, 0xac4: 0x071f, 0xac5: 0x07af, + 0xac6: 0x06c7, 0xac7: 0x07ab, 0xac8: 0x070b, 0xac9: 0x0887, 0xaca: 0x0d07, 0xacb: 0x0e8f, + 0xacc: 0x0dd7, 0xacd: 0x0d1b, 0xace: 0x145f, 0xacf: 0x098b, 0xad0: 0x0ccf, 0xad1: 0x0d4b, + 0xad2: 0x0d0b, 0xad3: 0x104b, 0xad4: 0x08fb, 0xad5: 0x0f03, 0xad6: 0x1387, 0xad7: 0x105f, + 0xad8: 0x0843, 0xad9: 0x108f, 0xada: 0x0f9b, 0xadb: 0x0a17, 0xadc: 0x140f, 0xadd: 0x077f, + 0xade: 0x08ab, 0xadf: 0x0df7, 0xae0: 0x1527, 0xae1: 0x0743, 0xae2: 0x07d3, 0xae3: 0x0d9b, + 0xae4: 0x06cf, 0xae5: 0x06e7, 0xae6: 0x06d3, 0xae7: 0x0adb, 0xae8: 0x08ef, 0xae9: 0x087f, + 0xaea: 0x0a57, 0xaeb: 0x0a4b, 0xaec: 0x0feb, 0xaed: 0x073f, 0xaee: 0x139b, 0xaef: 0x089b, + 0xaf0: 0x09f3, 0xaf1: 0x18dc, 0xaf2: 0x18df, 0xaf3: 0x18e2, 0xaf4: 0x18e5, 0xaf5: 0x18ee, + 0xaf6: 0x18f1, 0xaf7: 0x18f4, 0xaf8: 0x18f7, 0xaf9: 0x18fa, 0xafa: 0x18fd, 0xafb: 0x1900, + 0xafc: 0x1903, 0xafd: 0x1906, 0xafe: 0x1909, 0xaff: 0x1912, + // Block 0x2c, offset 0xb00 + 0xb00: 0x1cc6, 0xb01: 0x1cd5, 0xb02: 0x1ce4, 0xb03: 0x1cf3, 0xb04: 0x1d02, 0xb05: 0x1d11, + 0xb06: 0x1d20, 0xb07: 0x1d2f, 0xb08: 0x1d3e, 0xb09: 0x218c, 0xb0a: 0x219e, 0xb0b: 0x21b0, + 0xb0c: 0x1954, 0xb0d: 0x1c04, 0xb0e: 0x19d2, 0xb0f: 0x1ba8, 0xb10: 0x04cb, 0xb11: 0x04d3, + 0xb12: 0x04db, 0xb13: 0x04e3, 0xb14: 0x04eb, 0xb15: 0x04ef, 0xb16: 0x04f3, 0xb17: 0x04f7, + 0xb18: 0x04fb, 0xb19: 0x04ff, 0xb1a: 0x0503, 0xb1b: 0x0507, 0xb1c: 0x050b, 0xb1d: 0x050f, + 0xb1e: 0x0513, 0xb1f: 0x0517, 0xb20: 0x051b, 0xb21: 0x0523, 0xb22: 0x0527, 0xb23: 0x052b, + 0xb24: 0x052f, 0xb25: 0x0533, 0xb26: 0x0537, 0xb27: 0x053b, 0xb28: 0x053f, 0xb29: 0x0543, + 0xb2a: 0x0547, 0xb2b: 0x054b, 0xb2c: 0x054f, 0xb2d: 0x0553, 0xb2e: 0x0557, 0xb2f: 0x055b, + 0xb30: 0x055f, 0xb31: 0x0563, 0xb32: 0x0567, 0xb33: 0x056f, 0xb34: 0x0577, 0xb35: 0x057f, + 0xb36: 0x0583, 0xb37: 0x0587, 0xb38: 0x058b, 0xb39: 0x058f, 0xb3a: 0x0593, 0xb3b: 0x0597, + 0xb3c: 0x059b, 0xb3d: 0x059f, 0xb3e: 0x05a3, + // Block 0x2d, offset 0xb40 + 0xb40: 0x2b0c, 0xb41: 0x29a8, 0xb42: 0x2b1c, 0xb43: 0x2880, 0xb44: 0x2ee4, 0xb45: 0x288a, + 0xb46: 0x2894, 0xb47: 0x2f28, 0xb48: 0x29b5, 0xb49: 0x289e, 0xb4a: 0x28a8, 0xb4b: 0x28b2, + 0xb4c: 0x29dc, 0xb4d: 0x29e9, 0xb4e: 0x29c2, 0xb4f: 0x29cf, 0xb50: 0x2ea9, 0xb51: 0x29f6, + 0xb52: 0x2a03, 0xb53: 0x2bbe, 0xb54: 0x26bb, 0xb55: 0x2bd1, 0xb56: 0x2be4, 0xb57: 0x2b2c, + 0xb58: 0x2a10, 0xb59: 0x2bf7, 0xb5a: 0x2c0a, 0xb5b: 0x2a1d, 0xb5c: 0x28bc, 0xb5d: 0x28c6, + 0xb5e: 0x2eb7, 0xb5f: 0x2a2a, 0xb60: 0x2b3c, 0xb61: 0x2ef5, 0xb62: 0x28d0, 0xb63: 0x28da, + 0xb64: 0x2a37, 0xb65: 0x28e4, 0xb66: 0x28ee, 0xb67: 0x26d0, 0xb68: 0x26d7, 0xb69: 0x28f8, + 0xb6a: 0x2902, 0xb6b: 0x2c1d, 0xb6c: 0x2a44, 0xb6d: 0x2b4c, 0xb6e: 0x2c30, 0xb6f: 0x2a51, + 0xb70: 0x2916, 0xb71: 0x290c, 0xb72: 0x2f3c, 0xb73: 0x2a5e, 0xb74: 0x2c43, 0xb75: 0x2920, + 0xb76: 0x2b5c, 0xb77: 0x292a, 0xb78: 0x2a78, 0xb79: 0x2934, 0xb7a: 0x2a85, 0xb7b: 0x2f06, + 0xb7c: 0x2a6b, 0xb7d: 0x2b6c, 0xb7e: 0x2a92, 0xb7f: 0x26de, + // Block 0x2e, offset 0xb80 + 0xb80: 0x2f17, 0xb81: 0x293e, 0xb82: 0x2948, 0xb83: 0x2a9f, 0xb84: 0x2952, 0xb85: 0x295c, + 0xb86: 0x2966, 0xb87: 0x2b7c, 0xb88: 0x2aac, 0xb89: 0x26e5, 0xb8a: 0x2c56, 0xb8b: 0x2e90, + 0xb8c: 0x2b8c, 0xb8d: 0x2ab9, 0xb8e: 0x2ec5, 0xb8f: 0x2970, 0xb90: 0x297a, 0xb91: 0x2ac6, + 0xb92: 0x26ec, 0xb93: 0x2ad3, 0xb94: 0x2b9c, 0xb95: 0x26f3, 0xb96: 0x2c69, 0xb97: 0x2984, + 0xb98: 0x1cb7, 0xb99: 0x1ccb, 0xb9a: 0x1cda, 0xb9b: 0x1ce9, 0xb9c: 0x1cf8, 0xb9d: 0x1d07, + 0xb9e: 0x1d16, 0xb9f: 0x1d25, 0xba0: 0x1d34, 0xba1: 0x1d43, 0xba2: 0x2192, 0xba3: 0x21a4, + 0xba4: 0x21b6, 0xba5: 0x21c2, 0xba6: 0x21ce, 0xba7: 0x21da, 0xba8: 0x21e6, 0xba9: 0x21f2, + 0xbaa: 0x21fe, 0xbab: 0x220a, 0xbac: 0x2246, 0xbad: 0x2252, 0xbae: 0x225e, 0xbaf: 0x226a, + 0xbb0: 0x2276, 0xbb1: 0x1c14, 0xbb2: 0x19c6, 0xbb3: 0x1936, 0xbb4: 0x1be4, 0xbb5: 0x1a47, + 0xbb6: 0x1a56, 0xbb7: 0x19cc, 0xbb8: 0x1bfc, 0xbb9: 0x1c00, 0xbba: 0x1960, 0xbbb: 0x2701, + 0xbbc: 0x270f, 0xbbd: 0x26fa, 0xbbe: 0x2708, 0xbbf: 0x2ae0, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x1a4a, 0xbc1: 0x1a32, 0xbc2: 0x1c60, 0xbc3: 0x1a1a, 0xbc4: 0x19f3, 0xbc5: 0x1969, + 0xbc6: 0x1978, 0xbc7: 0x1948, 0xbc8: 0x1bf0, 0xbc9: 0x1d52, 0xbca: 0x1a4d, 0xbcb: 0x1a35, + 0xbcc: 0x1c64, 0xbcd: 0x1c70, 0xbce: 0x1a26, 0xbcf: 0x19fc, 0xbd0: 0x1957, 0xbd1: 0x1c1c, + 0xbd2: 0x1bb0, 0xbd3: 0x1b9c, 0xbd4: 0x1bcc, 0xbd5: 0x1c74, 0xbd6: 0x1a29, 0xbd7: 0x19c9, + 0xbd8: 0x19ff, 0xbd9: 0x19de, 0xbda: 0x1a41, 0xbdb: 0x1c78, 0xbdc: 0x1a2c, 0xbdd: 0x19c0, + 0xbde: 0x1a02, 0xbdf: 0x1c3c, 0xbe0: 0x1bf4, 0xbe1: 0x1a14, 0xbe2: 0x1c24, 0xbe3: 0x1c40, + 0xbe4: 0x1bf8, 0xbe5: 0x1a17, 0xbe6: 0x1c28, 0xbe7: 0x22e8, 0xbe8: 0x22fc, 0xbe9: 0x1996, + 0xbea: 0x1c20, 0xbeb: 0x1bb4, 0xbec: 0x1ba0, 0xbed: 0x1c48, 0xbee: 0x2716, 0xbef: 0x27ad, + 0xbf0: 0x1a59, 0xbf1: 0x1a44, 0xbf2: 0x1c7c, 0xbf3: 0x1a2f, 0xbf4: 0x1a50, 0xbf5: 0x1a38, + 0xbf6: 0x1c68, 0xbf7: 0x1a1d, 0xbf8: 0x19f6, 0xbf9: 0x1981, 0xbfa: 0x1a53, 0xbfb: 0x1a3b, + 0xbfc: 0x1c6c, 0xbfd: 0x1a20, 0xbfe: 0x19f9, 0xbff: 0x1984, + // Block 0x30, offset 0xc00 + 0xc00: 0x1c2c, 0xc01: 0x1bb8, 0xc02: 0x1d4d, 0xc03: 0x1939, 0xc04: 0x19ba, 0xc05: 0x19bd, + 0xc06: 0x22f5, 0xc07: 0x1b94, 0xc08: 0x19c3, 0xc09: 0x194b, 0xc0a: 0x19e1, 0xc0b: 0x194e, + 0xc0c: 0x19ea, 0xc0d: 0x196c, 0xc0e: 0x196f, 0xc0f: 0x1a05, 0xc10: 0x1a0b, 0xc11: 0x1a0e, + 0xc12: 0x1c30, 0xc13: 0x1a11, 0xc14: 0x1a23, 0xc15: 0x1c38, 0xc16: 0x1c44, 0xc17: 0x1990, + 0xc18: 0x1d57, 0xc19: 0x1bbc, 0xc1a: 0x1993, 0xc1b: 0x1a5c, 0xc1c: 0x19a5, 0xc1d: 0x19b4, + 0xc1e: 0x22e2, 0xc1f: 0x22dc, 0xc20: 0x1cc1, 0xc21: 0x1cd0, 0xc22: 0x1cdf, 0xc23: 0x1cee, + 0xc24: 0x1cfd, 0xc25: 0x1d0c, 0xc26: 0x1d1b, 0xc27: 0x1d2a, 0xc28: 0x1d39, 0xc29: 0x2186, + 0xc2a: 0x2198, 0xc2b: 0x21aa, 0xc2c: 0x21bc, 0xc2d: 0x21c8, 0xc2e: 0x21d4, 0xc2f: 0x21e0, + 0xc30: 0x21ec, 0xc31: 0x21f8, 0xc32: 0x2204, 0xc33: 0x2240, 0xc34: 0x224c, 0xc35: 0x2258, + 0xc36: 0x2264, 0xc37: 0x2270, 0xc38: 0x227c, 0xc39: 0x2282, 0xc3a: 0x2288, 0xc3b: 0x228e, + 0xc3c: 0x2294, 0xc3d: 0x22a6, 0xc3e: 0x22ac, 0xc3f: 0x1c10, + // Block 0x31, offset 0xc40 + 0xc40: 0x1377, 0xc41: 0x0cfb, 0xc42: 0x13d3, 0xc43: 0x139f, 0xc44: 0x0e57, 0xc45: 0x06eb, + 0xc46: 0x08df, 0xc47: 0x162b, 0xc48: 0x162b, 0xc49: 0x0a0b, 0xc4a: 0x145f, 0xc4b: 0x0943, + 0xc4c: 0x0a07, 0xc4d: 0x0bef, 0xc4e: 0x0fcf, 0xc4f: 0x115f, 0xc50: 0x1297, 0xc51: 0x12d3, + 0xc52: 0x1307, 0xc53: 0x141b, 0xc54: 0x0d73, 0xc55: 0x0dff, 0xc56: 0x0eab, 0xc57: 0x0f43, + 0xc58: 0x125f, 0xc59: 0x1447, 0xc5a: 0x1573, 0xc5b: 0x070f, 0xc5c: 0x08b3, 0xc5d: 0x0d87, + 0xc5e: 0x0ecf, 0xc5f: 0x1293, 0xc60: 0x15c3, 0xc61: 0x0ab3, 0xc62: 0x0e77, 0xc63: 0x1283, + 0xc64: 0x1317, 0xc65: 0x0c23, 0xc66: 0x11bb, 0xc67: 0x12df, 0xc68: 0x0b1f, 0xc69: 0x0d0f, + 0xc6a: 0x0e17, 0xc6b: 0x0f1b, 0xc6c: 0x1427, 0xc6d: 0x074f, 0xc6e: 0x07e7, 0xc6f: 0x0853, + 0xc70: 0x0c8b, 0xc71: 0x0d7f, 0xc72: 0x0ecb, 0xc73: 0x0fef, 0xc74: 0x1177, 0xc75: 0x128b, + 0xc76: 0x12a3, 0xc77: 0x13c7, 0xc78: 0x14ef, 0xc79: 0x15a3, 0xc7a: 0x15bf, 0xc7b: 0x102b, + 0xc7c: 0x106b, 0xc7d: 0x1123, 0xc7e: 0x1243, 0xc7f: 0x147b, + // Block 0x32, offset 0xc80 + 0xc80: 0x15cb, 0xc81: 0x134b, 0xc82: 0x09c7, 0xc83: 0x0b3b, 0xc84: 0x10db, 0xc85: 0x119b, + 0xc86: 0x0eff, 0xc87: 0x1033, 0xc88: 0x1397, 0xc89: 0x14e7, 0xc8a: 0x09c3, 0xc8b: 0x0a8f, + 0xc8c: 0x0d77, 0xc8d: 0x0e2b, 0xc8e: 0x0e5f, 0xc8f: 0x1113, 0xc90: 0x113b, 0xc91: 0x14a7, + 0xc92: 0x084f, 0xc93: 0x11a7, 0xc94: 0x07f3, 0xc95: 0x07ef, 0xc96: 0x1097, 0xc97: 0x1127, + 0xc98: 0x125b, 0xc99: 0x14af, 0xc9a: 0x1367, 0xc9b: 0x0c27, 0xc9c: 0x0d73, 0xc9d: 0x1357, + 0xc9e: 0x06f7, 0xc9f: 0x0a63, 0xca0: 0x0b93, 0xca1: 0x0f2f, 0xca2: 0x0faf, 0xca3: 0x0873, + 0xca4: 0x103b, 0xca5: 0x075f, 0xca6: 0x0b77, 0xca7: 0x06d7, 0xca8: 0x0deb, 0xca9: 0x0ca3, + 0xcaa: 0x110f, 0xcab: 0x08c7, 0xcac: 0x09b3, 0xcad: 0x0ffb, 0xcae: 0x1263, 0xcaf: 0x133b, + 0xcb0: 0x0db7, 0xcb1: 0x13f7, 0xcb2: 0x0de3, 0xcb3: 0x0c37, 0xcb4: 0x121b, 0xcb5: 0x0c57, + 0xcb6: 0x0fab, 0xcb7: 0x072b, 0xcb8: 0x07a7, 0xcb9: 0x07eb, 0xcba: 0x0d53, 0xcbb: 0x10fb, + 0xcbc: 0x11f3, 0xcbd: 0x1347, 0xcbe: 0x145b, 0xcbf: 0x085b, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x090f, 0xcc1: 0x0a17, 0xcc2: 0x0b2f, 0xcc3: 0x0cbf, 0xcc4: 0x0e7b, 0xcc5: 0x103f, + 0xcc6: 0x1497, 0xcc7: 0x157b, 0xcc8: 0x15cf, 0xcc9: 0x15e7, 0xcca: 0x0837, 0xccb: 0x0cf3, + 0xccc: 0x0da3, 0xccd: 0x13eb, 0xcce: 0x0afb, 0xccf: 0x0bd7, 0xcd0: 0x0bf3, 0xcd1: 0x0c83, + 0xcd2: 0x0e6b, 0xcd3: 0x0eb7, 0xcd4: 0x0f67, 0xcd5: 0x108b, 0xcd6: 0x112f, 0xcd7: 0x1193, + 0xcd8: 0x13db, 0xcd9: 0x126b, 0xcda: 0x1403, 0xcdb: 0x147f, 0xcdc: 0x080f, 0xcdd: 0x083b, + 0xcde: 0x0923, 0xcdf: 0x0ea7, 0xce0: 0x12f3, 0xce1: 0x133b, 0xce2: 0x0b1b, 0xce3: 0x0b8b, + 0xce4: 0x0c4f, 0xce5: 0x0daf, 0xce6: 0x10d7, 0xce7: 0x0f23, 0xce8: 0x073b, 0xce9: 0x097f, + 0xcea: 0x0a63, 0xceb: 0x0ac7, 0xcec: 0x0b97, 0xced: 0x0f3f, 0xcee: 0x0f5b, 0xcef: 0x116b, + 0xcf0: 0x118b, 0xcf1: 0x1463, 0xcf2: 0x14e3, 0xcf3: 0x14f3, 0xcf4: 0x152f, 0xcf5: 0x0753, + 0xcf6: 0x107f, 0xcf7: 0x144f, 0xcf8: 0x14cb, 0xcf9: 0x0baf, 0xcfa: 0x0717, 0xcfb: 0x0777, + 0xcfc: 0x0a67, 0xcfd: 0x0a87, 0xcfe: 0x0caf, 0xcff: 0x0d73, + // Block 0x34, offset 0xd00 + 0xd00: 0x0ec3, 0xd01: 0x0fcb, 0xd02: 0x1277, 0xd03: 0x1417, 0xd04: 0x1623, 0xd05: 0x0ce3, + 0xd06: 0x14a3, 0xd07: 0x0833, 0xd08: 0x0d2f, 0xd09: 0x0d3b, 0xd0a: 0x0e0f, 0xd0b: 0x0e47, + 0xd0c: 0x0f4b, 0xd0d: 0x0fa7, 0xd0e: 0x1027, 0xd0f: 0x110b, 0xd10: 0x153b, 0xd11: 0x07af, + 0xd12: 0x0c03, 0xd13: 0x14b3, 0xd14: 0x0767, 0xd15: 0x0aab, 0xd16: 0x0e2f, 0xd17: 0x13df, + 0xd18: 0x0b67, 0xd19: 0x0bb7, 0xd1a: 0x0d43, 0xd1b: 0x0f2f, 0xd1c: 0x14bb, 0xd1d: 0x0817, + 0xd1e: 0x08ff, 0xd1f: 0x0a97, 0xd20: 0x0cd3, 0xd21: 0x0d1f, 0xd22: 0x0d5f, 0xd23: 0x0df3, + 0xd24: 0x0f47, 0xd25: 0x0fbb, 0xd26: 0x1157, 0xd27: 0x12f7, 0xd28: 0x1303, 0xd29: 0x1457, + 0xd2a: 0x14d7, 0xd2b: 0x0883, 0xd2c: 0x0e4b, 0xd2d: 0x0903, 0xd2e: 0x0ec7, 0xd2f: 0x0f6b, + 0xd30: 0x1287, 0xd31: 0x14bf, 0xd32: 0x15ab, 0xd33: 0x15d3, 0xd34: 0x0d37, 0xd35: 0x0e27, + 0xd36: 0x11c3, 0xd37: 0x10b7, 0xd38: 0x10c3, 0xd39: 0x10e7, 0xd3a: 0x0f17, 0xd3b: 0x0e9f, + 0xd3c: 0x1363, 0xd3d: 0x0733, 0xd3e: 0x122b, 0xd3f: 0x081b, + // Block 0x35, offset 0xd40 + 0xd40: 0x080b, 0xd41: 0x0b0b, 0xd42: 0x0c2b, 0xd43: 0x10f3, 0xd44: 0x0a53, 0xd45: 0x0e03, + 0xd46: 0x0cef, 0xd47: 0x13e7, 0xd48: 0x12e7, 0xd49: 0x14ab, 0xd4a: 0x1323, 0xd4b: 0x0b27, + 0xd4c: 0x0787, 0xd4d: 0x095b, 0xd50: 0x09af, + 0xd52: 0x0cdf, 0xd55: 0x07f7, 0xd56: 0x0f1f, 0xd57: 0x0fe3, + 0xd58: 0x1047, 0xd59: 0x1063, 0xd5a: 0x1067, 0xd5b: 0x107b, 0xd5c: 0x14fb, 0xd5d: 0x10eb, + 0xd5e: 0x116f, 0xd60: 0x128f, 0xd62: 0x1353, + 0xd65: 0x1407, 0xd66: 0x1433, + 0xd6a: 0x154f, 0xd6b: 0x1553, 0xd6c: 0x1557, 0xd6d: 0x15bb, 0xd6e: 0x142b, 0xd6f: 0x14c7, + 0xd70: 0x0757, 0xd71: 0x077b, 0xd72: 0x078f, 0xd73: 0x084b, 0xd74: 0x0857, 0xd75: 0x0897, + 0xd76: 0x094b, 0xd77: 0x0967, 0xd78: 0x096f, 0xd79: 0x09ab, 0xd7a: 0x09b7, 0xd7b: 0x0a93, + 0xd7c: 0x0a9b, 0xd7d: 0x0ba3, 0xd7e: 0x0bcb, 0xd7f: 0x0bd3, + // Block 0x36, offset 0xd80 + 0xd80: 0x0beb, 0xd81: 0x0c97, 0xd82: 0x0cc7, 0xd83: 0x0ce7, 0xd84: 0x0d57, 0xd85: 0x0e1b, + 0xd86: 0x0e37, 0xd87: 0x0e67, 0xd88: 0x0ebb, 0xd89: 0x0edb, 0xd8a: 0x0f4f, 0xd8b: 0x102f, + 0xd8c: 0x104b, 0xd8d: 0x1053, 0xd8e: 0x104f, 0xd8f: 0x1057, 0xd90: 0x105b, 0xd91: 0x105f, + 0xd92: 0x1073, 0xd93: 0x1077, 0xd94: 0x109b, 0xd95: 0x10af, 0xd96: 0x10cb, 0xd97: 0x112f, + 0xd98: 0x1137, 0xd99: 0x113f, 0xd9a: 0x1153, 0xd9b: 0x117b, 0xd9c: 0x11cb, 0xd9d: 0x11ff, + 0xd9e: 0x11ff, 0xd9f: 0x1267, 0xda0: 0x130f, 0xda1: 0x1327, 0xda2: 0x135b, 0xda3: 0x135f, + 0xda4: 0x13a3, 0xda5: 0x13a7, 0xda6: 0x13ff, 0xda7: 0x1407, 0xda8: 0x14db, 0xda9: 0x151f, + 0xdaa: 0x1537, 0xdab: 0x0b9b, 0xdac: 0x171e, 0xdad: 0x11e3, + 0xdb0: 0x06df, 0xdb1: 0x07e3, 0xdb2: 0x07a3, 0xdb3: 0x074b, 0xdb4: 0x078b, 0xdb5: 0x07b7, + 0xdb6: 0x0847, 0xdb7: 0x0863, 0xdb8: 0x094b, 0xdb9: 0x0937, 0xdba: 0x0947, 0xdbb: 0x0963, + 0xdbc: 0x09af, 0xdbd: 0x09bf, 0xdbe: 0x0a03, 0xdbf: 0x0a0f, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0a2b, 0xdc1: 0x0a3b, 0xdc2: 0x0b23, 0xdc3: 0x0b2b, 0xdc4: 0x0b5b, 0xdc5: 0x0b7b, + 0xdc6: 0x0bab, 0xdc7: 0x0bc3, 0xdc8: 0x0bb3, 0xdc9: 0x0bd3, 0xdca: 0x0bc7, 0xdcb: 0x0beb, + 0xdcc: 0x0c07, 0xdcd: 0x0c5f, 0xdce: 0x0c6b, 0xdcf: 0x0c73, 0xdd0: 0x0c9b, 0xdd1: 0x0cdf, + 0xdd2: 0x0d0f, 0xdd3: 0x0d13, 0xdd4: 0x0d27, 0xdd5: 0x0da7, 0xdd6: 0x0db7, 0xdd7: 0x0e0f, + 0xdd8: 0x0e5b, 0xdd9: 0x0e53, 0xdda: 0x0e67, 0xddb: 0x0e83, 0xddc: 0x0ebb, 0xddd: 0x1013, + 0xdde: 0x0edf, 0xddf: 0x0f13, 0xde0: 0x0f1f, 0xde1: 0x0f5f, 0xde2: 0x0f7b, 0xde3: 0x0f9f, + 0xde4: 0x0fc3, 0xde5: 0x0fc7, 0xde6: 0x0fe3, 0xde7: 0x0fe7, 0xde8: 0x0ff7, 0xde9: 0x100b, + 0xdea: 0x1007, 0xdeb: 0x1037, 0xdec: 0x10b3, 0xded: 0x10cb, 0xdee: 0x10e3, 0xdef: 0x111b, + 0xdf0: 0x112f, 0xdf1: 0x114b, 0xdf2: 0x117b, 0xdf3: 0x122f, 0xdf4: 0x1257, 0xdf5: 0x12cb, + 0xdf6: 0x1313, 0xdf7: 0x131f, 0xdf8: 0x1327, 0xdf9: 0x133f, 0xdfa: 0x1353, 0xdfb: 0x1343, + 0xdfc: 0x135b, 0xdfd: 0x1357, 0xdfe: 0x134f, 0xdff: 0x135f, + // Block 0x38, offset 0xe00 + 0xe00: 0x136b, 0xe01: 0x13a7, 0xe02: 0x13e3, 0xe03: 0x1413, 0xe04: 0x144b, 0xe05: 0x146b, + 0xe06: 0x14b7, 0xe07: 0x14db, 0xe08: 0x14fb, 0xe09: 0x150f, 0xe0a: 0x151f, 0xe0b: 0x152b, + 0xe0c: 0x1537, 0xe0d: 0x158b, 0xe0e: 0x162b, 0xe0f: 0x16b5, 0xe10: 0x16b0, 0xe11: 0x16e2, + 0xe12: 0x0607, 0xe13: 0x062f, 0xe14: 0x0633, 0xe15: 0x1764, 0xe16: 0x1791, 0xe17: 0x1809, + 0xe18: 0x1617, 0xe19: 0x1627, + // Block 0x39, offset 0xe40 + 0xe40: 0x19d5, 0xe41: 0x19d8, 0xe42: 0x19db, 0xe43: 0x1c08, 0xe44: 0x1c0c, 0xe45: 0x1a5f, + 0xe46: 0x1a5f, + 0xe53: 0x1d75, 0xe54: 0x1d66, 0xe55: 0x1d6b, 0xe56: 0x1d7a, 0xe57: 0x1d70, + 0xe5d: 0x4390, + 0xe5e: 0x8115, 0xe5f: 0x4402, 0xe60: 0x022d, 0xe61: 0x0215, 0xe62: 0x021e, 0xe63: 0x0221, + 0xe64: 0x0224, 0xe65: 0x0227, 0xe66: 0x022a, 0xe67: 0x0230, 0xe68: 0x0233, 0xe69: 0x0017, + 0xe6a: 0x43f0, 0xe6b: 0x43f6, 0xe6c: 0x44f4, 0xe6d: 0x44fc, 0xe6e: 0x4348, 0xe6f: 0x434e, + 0xe70: 0x4354, 0xe71: 0x435a, 0xe72: 0x4366, 0xe73: 0x436c, 0xe74: 0x4372, 0xe75: 0x437e, + 0xe76: 0x4384, 0xe78: 0x438a, 0xe79: 0x4396, 0xe7a: 0x439c, 0xe7b: 0x43a2, + 0xe7c: 0x43ae, 0xe7e: 0x43b4, + // Block 0x3a, offset 0xe80 + 0xe80: 0x43ba, 0xe81: 0x43c0, 0xe83: 0x43c6, 0xe84: 0x43cc, + 0xe86: 0x43d8, 0xe87: 0x43de, 0xe88: 0x43e4, 0xe89: 0x43ea, 0xe8a: 0x43fc, 0xe8b: 0x4378, + 0xe8c: 0x4360, 0xe8d: 0x43a8, 0xe8e: 0x43d2, 0xe8f: 0x1d7f, 0xe90: 0x0299, 0xe91: 0x0299, + 0xe92: 0x02a2, 0xe93: 0x02a2, 0xe94: 0x02a2, 0xe95: 0x02a2, 0xe96: 0x02a5, 0xe97: 0x02a5, + 0xe98: 0x02a5, 0xe99: 0x02a5, 0xe9a: 0x02ab, 0xe9b: 0x02ab, 0xe9c: 0x02ab, 0xe9d: 0x02ab, + 0xe9e: 0x029f, 0xe9f: 0x029f, 0xea0: 0x029f, 0xea1: 0x029f, 0xea2: 0x02a8, 0xea3: 0x02a8, + 0xea4: 0x02a8, 0xea5: 0x02a8, 0xea6: 0x029c, 0xea7: 0x029c, 0xea8: 0x029c, 0xea9: 0x029c, + 0xeaa: 0x02cf, 0xeab: 0x02cf, 0xeac: 0x02cf, 0xead: 0x02cf, 0xeae: 0x02d2, 0xeaf: 0x02d2, + 0xeb0: 0x02d2, 0xeb1: 0x02d2, 0xeb2: 0x02b1, 0xeb3: 0x02b1, 0xeb4: 0x02b1, 0xeb5: 0x02b1, + 0xeb6: 0x02ae, 0xeb7: 0x02ae, 0xeb8: 0x02ae, 0xeb9: 0x02ae, 0xeba: 0x02b4, 0xebb: 0x02b4, + 0xebc: 0x02b4, 0xebd: 0x02b4, 0xebe: 0x02b7, 0xebf: 0x02b7, + // Block 0x3b, offset 0xec0 + 0xec0: 0x02b7, 0xec1: 0x02b7, 0xec2: 0x02c0, 0xec3: 0x02c0, 0xec4: 0x02bd, 0xec5: 0x02bd, + 0xec6: 0x02c3, 0xec7: 0x02c3, 0xec8: 0x02ba, 0xec9: 0x02ba, 0xeca: 0x02c9, 0xecb: 0x02c9, + 0xecc: 0x02c6, 0xecd: 0x02c6, 0xece: 0x02d5, 0xecf: 0x02d5, 0xed0: 0x02d5, 0xed1: 0x02d5, + 0xed2: 0x02db, 0xed3: 0x02db, 0xed4: 0x02db, 0xed5: 0x02db, 0xed6: 0x02e1, 0xed7: 0x02e1, + 0xed8: 0x02e1, 0xed9: 0x02e1, 0xeda: 0x02de, 0xedb: 0x02de, 0xedc: 0x02de, 0xedd: 0x02de, + 0xede: 0x02e4, 0xedf: 0x02e4, 0xee0: 0x02e7, 0xee1: 0x02e7, 0xee2: 0x02e7, 0xee3: 0x02e7, + 0xee4: 0x446e, 0xee5: 0x446e, 0xee6: 0x02ed, 0xee7: 0x02ed, 0xee8: 0x02ed, 0xee9: 0x02ed, + 0xeea: 0x02ea, 0xeeb: 0x02ea, 0xeec: 0x02ea, 0xeed: 0x02ea, 0xeee: 0x0308, 0xeef: 0x0308, + 0xef0: 0x4468, 0xef1: 0x4468, + // Block 0x3c, offset 0xf00 + 0xf13: 0x02d8, 0xf14: 0x02d8, 0xf15: 0x02d8, 0xf16: 0x02d8, 0xf17: 0x02f6, + 0xf18: 0x02f6, 0xf19: 0x02f3, 0xf1a: 0x02f3, 0xf1b: 0x02f9, 0xf1c: 0x02f9, 0xf1d: 0x204f, + 0xf1e: 0x02ff, 0xf1f: 0x02ff, 0xf20: 0x02f0, 0xf21: 0x02f0, 0xf22: 0x02fc, 0xf23: 0x02fc, + 0xf24: 0x0305, 0xf25: 0x0305, 0xf26: 0x0305, 0xf27: 0x0305, 0xf28: 0x028d, 0xf29: 0x028d, + 0xf2a: 0x25aa, 0xf2b: 0x25aa, 0xf2c: 0x261a, 0xf2d: 0x261a, 0xf2e: 0x25e9, 0xf2f: 0x25e9, + 0xf30: 0x2605, 0xf31: 0x2605, 0xf32: 0x25fe, 0xf33: 0x25fe, 0xf34: 0x260c, 0xf35: 0x260c, + 0xf36: 0x2613, 0xf37: 0x2613, 0xf38: 0x2613, 0xf39: 0x25f0, 0xf3a: 0x25f0, 0xf3b: 0x25f0, + 0xf3c: 0x0302, 0xf3d: 0x0302, 0xf3e: 0x0302, 0xf3f: 0x0302, + // Block 0x3d, offset 0xf40 + 0xf40: 0x25b1, 0xf41: 0x25b8, 0xf42: 0x25d4, 0xf43: 0x25f0, 0xf44: 0x25f7, 0xf45: 0x1d89, + 0xf46: 0x1d8e, 0xf47: 0x1d93, 0xf48: 0x1da2, 0xf49: 0x1db1, 0xf4a: 0x1db6, 0xf4b: 0x1dbb, + 0xf4c: 0x1dc0, 0xf4d: 0x1dc5, 0xf4e: 0x1dd4, 0xf4f: 0x1de3, 0xf50: 0x1de8, 0xf51: 0x1ded, + 0xf52: 0x1dfc, 0xf53: 0x1e0b, 0xf54: 0x1e10, 0xf55: 0x1e15, 0xf56: 0x1e1a, 0xf57: 0x1e29, + 0xf58: 0x1e2e, 0xf59: 0x1e3d, 0xf5a: 0x1e42, 0xf5b: 0x1e47, 0xf5c: 0x1e56, 0xf5d: 0x1e5b, + 0xf5e: 0x1e60, 0xf5f: 0x1e6a, 0xf60: 0x1ea6, 0xf61: 0x1eb5, 0xf62: 0x1ec4, 0xf63: 0x1ec9, + 0xf64: 0x1ece, 0xf65: 0x1ed8, 0xf66: 0x1ee7, 0xf67: 0x1eec, 0xf68: 0x1efb, 0xf69: 0x1f00, + 0xf6a: 0x1f05, 0xf6b: 0x1f14, 0xf6c: 0x1f19, 0xf6d: 0x1f28, 0xf6e: 0x1f2d, 0xf6f: 0x1f32, + 0xf70: 0x1f37, 0xf71: 0x1f3c, 0xf72: 0x1f41, 0xf73: 0x1f46, 0xf74: 0x1f4b, 0xf75: 0x1f50, + 0xf76: 0x1f55, 0xf77: 0x1f5a, 0xf78: 0x1f5f, 0xf79: 0x1f64, 0xf7a: 0x1f69, 0xf7b: 0x1f6e, + 0xf7c: 0x1f73, 0xf7d: 0x1f78, 0xf7e: 0x1f7d, 0xf7f: 0x1f87, + // Block 0x3e, offset 0xf80 + 0xf80: 0x1f8c, 0xf81: 0x1f91, 0xf82: 0x1f96, 0xf83: 0x1fa0, 0xf84: 0x1fa5, 0xf85: 0x1faf, + 0xf86: 0x1fb4, 0xf87: 0x1fb9, 0xf88: 0x1fbe, 0xf89: 0x1fc3, 0xf8a: 0x1fc8, 0xf8b: 0x1fcd, + 0xf8c: 0x1fd2, 0xf8d: 0x1fd7, 0xf8e: 0x1fe6, 0xf8f: 0x1ff5, 0xf90: 0x1ffa, 0xf91: 0x1fff, + 0xf92: 0x2004, 0xf93: 0x2009, 0xf94: 0x200e, 0xf95: 0x2018, 0xf96: 0x201d, 0xf97: 0x2022, + 0xf98: 0x2031, 0xf99: 0x2040, 0xf9a: 0x2045, 0xf9b: 0x4420, 0xf9c: 0x4426, 0xf9d: 0x445c, + 0xf9e: 0x44b3, 0xf9f: 0x44ba, 0xfa0: 0x44c1, 0xfa1: 0x44c8, 0xfa2: 0x44cf, 0xfa3: 0x44d6, + 0xfa4: 0x25c6, 0xfa5: 0x25cd, 0xfa6: 0x25d4, 0xfa7: 0x25db, 0xfa8: 0x25f0, 0xfa9: 0x25f7, + 0xfaa: 0x1d98, 0xfab: 0x1d9d, 0xfac: 0x1da2, 0xfad: 0x1da7, 0xfae: 0x1db1, 0xfaf: 0x1db6, + 0xfb0: 0x1dca, 0xfb1: 0x1dcf, 0xfb2: 0x1dd4, 0xfb3: 0x1dd9, 0xfb4: 0x1de3, 0xfb5: 0x1de8, + 0xfb6: 0x1df2, 0xfb7: 0x1df7, 0xfb8: 0x1dfc, 0xfb9: 0x1e01, 0xfba: 0x1e0b, 0xfbb: 0x1e10, + 0xfbc: 0x1f3c, 0xfbd: 0x1f41, 0xfbe: 0x1f50, 0xfbf: 0x1f55, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x1f5a, 0xfc1: 0x1f6e, 0xfc2: 0x1f73, 0xfc3: 0x1f78, 0xfc4: 0x1f7d, 0xfc5: 0x1f96, + 0xfc6: 0x1fa0, 0xfc7: 0x1fa5, 0xfc8: 0x1faa, 0xfc9: 0x1fbe, 0xfca: 0x1fdc, 0xfcb: 0x1fe1, + 0xfcc: 0x1fe6, 0xfcd: 0x1feb, 0xfce: 0x1ff5, 0xfcf: 0x1ffa, 0xfd0: 0x445c, 0xfd1: 0x2027, + 0xfd2: 0x202c, 0xfd3: 0x2031, 0xfd4: 0x2036, 0xfd5: 0x2040, 0xfd6: 0x2045, 0xfd7: 0x25b1, + 0xfd8: 0x25b8, 0xfd9: 0x25bf, 0xfda: 0x25d4, 0xfdb: 0x25e2, 0xfdc: 0x1d89, 0xfdd: 0x1d8e, + 0xfde: 0x1d93, 0xfdf: 0x1da2, 0xfe0: 0x1dac, 0xfe1: 0x1dbb, 0xfe2: 0x1dc0, 0xfe3: 0x1dc5, + 0xfe4: 0x1dd4, 0xfe5: 0x1dde, 0xfe6: 0x1dfc, 0xfe7: 0x1e15, 0xfe8: 0x1e1a, 0xfe9: 0x1e29, + 0xfea: 0x1e2e, 0xfeb: 0x1e3d, 0xfec: 0x1e47, 0xfed: 0x1e56, 0xfee: 0x1e5b, 0xfef: 0x1e60, + 0xff0: 0x1e6a, 0xff1: 0x1ea6, 0xff2: 0x1eab, 0xff3: 0x1eb5, 0xff4: 0x1ec4, 0xff5: 0x1ec9, + 0xff6: 0x1ece, 0xff7: 0x1ed8, 0xff8: 0x1ee7, 0xff9: 0x1efb, 0xffa: 0x1f00, 0xffb: 0x1f05, + 0xffc: 0x1f14, 0xffd: 0x1f19, 0xffe: 0x1f28, 0xfff: 0x1f2d, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f32, 0x1001: 0x1f37, 0x1002: 0x1f46, 0x1003: 0x1f4b, 0x1004: 0x1f5f, 0x1005: 0x1f64, + 0x1006: 0x1f69, 0x1007: 0x1f6e, 0x1008: 0x1f73, 0x1009: 0x1f87, 0x100a: 0x1f8c, 0x100b: 0x1f91, + 0x100c: 0x1f96, 0x100d: 0x1f9b, 0x100e: 0x1faf, 0x100f: 0x1fb4, 0x1010: 0x1fb9, 0x1011: 0x1fbe, + 0x1012: 0x1fcd, 0x1013: 0x1fd2, 0x1014: 0x1fd7, 0x1015: 0x1fe6, 0x1016: 0x1ff0, 0x1017: 0x1fff, + 0x1018: 0x2004, 0x1019: 0x4450, 0x101a: 0x2018, 0x101b: 0x201d, 0x101c: 0x2022, 0x101d: 0x2031, + 0x101e: 0x203b, 0x101f: 0x25d4, 0x1020: 0x25e2, 0x1021: 0x1da2, 0x1022: 0x1dac, 0x1023: 0x1dd4, + 0x1024: 0x1dde, 0x1025: 0x1dfc, 0x1026: 0x1e06, 0x1027: 0x1e6a, 0x1028: 0x1e6f, 0x1029: 0x1e92, + 0x102a: 0x1e97, 0x102b: 0x1f6e, 0x102c: 0x1f73, 0x102d: 0x1f96, 0x102e: 0x1fe6, 0x102f: 0x1ff0, + 0x1030: 0x2031, 0x1031: 0x203b, 0x1032: 0x4504, 0x1033: 0x450c, 0x1034: 0x4514, 0x1035: 0x1ef1, + 0x1036: 0x1ef6, 0x1037: 0x1f0a, 0x1038: 0x1f0f, 0x1039: 0x1f1e, 0x103a: 0x1f23, 0x103b: 0x1e74, + 0x103c: 0x1e79, 0x103d: 0x1e9c, 0x103e: 0x1ea1, 0x103f: 0x1e33, + // Block 0x41, offset 0x1040 + 0x1040: 0x1e38, 0x1041: 0x1e1f, 0x1042: 0x1e24, 0x1043: 0x1e4c, 0x1044: 0x1e51, 0x1045: 0x1eba, + 0x1046: 0x1ebf, 0x1047: 0x1edd, 0x1048: 0x1ee2, 0x1049: 0x1e7e, 0x104a: 0x1e83, 0x104b: 0x1e88, + 0x104c: 0x1e92, 0x104d: 0x1e8d, 0x104e: 0x1e65, 0x104f: 0x1eb0, 0x1050: 0x1ed3, 0x1051: 0x1ef1, + 0x1052: 0x1ef6, 0x1053: 0x1f0a, 0x1054: 0x1f0f, 0x1055: 0x1f1e, 0x1056: 0x1f23, 0x1057: 0x1e74, + 0x1058: 0x1e79, 0x1059: 0x1e9c, 0x105a: 0x1ea1, 0x105b: 0x1e33, 0x105c: 0x1e38, 0x105d: 0x1e1f, + 0x105e: 0x1e24, 0x105f: 0x1e4c, 0x1060: 0x1e51, 0x1061: 0x1eba, 0x1062: 0x1ebf, 0x1063: 0x1edd, + 0x1064: 0x1ee2, 0x1065: 0x1e7e, 0x1066: 0x1e83, 0x1067: 0x1e88, 0x1068: 0x1e92, 0x1069: 0x1e8d, + 0x106a: 0x1e65, 0x106b: 0x1eb0, 0x106c: 0x1ed3, 0x106d: 0x1e7e, 0x106e: 0x1e83, 0x106f: 0x1e88, + 0x1070: 0x1e92, 0x1071: 0x1e6f, 0x1072: 0x1e97, 0x1073: 0x1eec, 0x1074: 0x1e56, 0x1075: 0x1e5b, + 0x1076: 0x1e60, 0x1077: 0x1e7e, 0x1078: 0x1e83, 0x1079: 0x1e88, 0x107a: 0x1eec, 0x107b: 0x1efb, + 0x107c: 0x4408, 0x107d: 0x4408, + // Block 0x42, offset 0x1080 + 0x1090: 0x2311, 0x1091: 0x2326, + 0x1092: 0x2326, 0x1093: 0x232d, 0x1094: 0x2334, 0x1095: 0x2349, 0x1096: 0x2350, 0x1097: 0x2357, + 0x1098: 0x237a, 0x1099: 0x237a, 0x109a: 0x239d, 0x109b: 0x2396, 0x109c: 0x23b2, 0x109d: 0x23a4, + 0x109e: 0x23ab, 0x109f: 0x23ce, 0x10a0: 0x23ce, 0x10a1: 0x23c7, 0x10a2: 0x23d5, 0x10a3: 0x23d5, + 0x10a4: 0x23ff, 0x10a5: 0x23ff, 0x10a6: 0x241b, 0x10a7: 0x23e3, 0x10a8: 0x23e3, 0x10a9: 0x23dc, + 0x10aa: 0x23f1, 0x10ab: 0x23f1, 0x10ac: 0x23f8, 0x10ad: 0x23f8, 0x10ae: 0x2422, 0x10af: 0x2430, + 0x10b0: 0x2430, 0x10b1: 0x2437, 0x10b2: 0x2437, 0x10b3: 0x243e, 0x10b4: 0x2445, 0x10b5: 0x244c, + 0x10b6: 0x2453, 0x10b7: 0x2453, 0x10b8: 0x245a, 0x10b9: 0x2468, 0x10ba: 0x2476, 0x10bb: 0x246f, + 0x10bc: 0x247d, 0x10bd: 0x247d, 0x10be: 0x2492, 0x10bf: 0x2499, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x24ca, 0x10c1: 0x24d8, 0x10c2: 0x24d1, 0x10c3: 0x24b5, 0x10c4: 0x24b5, 0x10c5: 0x24df, + 0x10c6: 0x24df, 0x10c7: 0x24e6, 0x10c8: 0x24e6, 0x10c9: 0x2510, 0x10ca: 0x2517, 0x10cb: 0x251e, + 0x10cc: 0x24f4, 0x10cd: 0x2502, 0x10ce: 0x2525, 0x10cf: 0x252c, + 0x10d2: 0x24fb, 0x10d3: 0x2580, 0x10d4: 0x2587, 0x10d5: 0x255d, 0x10d6: 0x2564, 0x10d7: 0x2548, + 0x10d8: 0x2548, 0x10d9: 0x254f, 0x10da: 0x2579, 0x10db: 0x2572, 0x10dc: 0x259c, 0x10dd: 0x259c, + 0x10de: 0x230a, 0x10df: 0x231f, 0x10e0: 0x2318, 0x10e1: 0x2342, 0x10e2: 0x233b, 0x10e3: 0x2365, + 0x10e4: 0x235e, 0x10e5: 0x2388, 0x10e6: 0x236c, 0x10e7: 0x2381, 0x10e8: 0x23b9, 0x10e9: 0x2406, + 0x10ea: 0x23ea, 0x10eb: 0x2429, 0x10ec: 0x24c3, 0x10ed: 0x24ed, 0x10ee: 0x2595, 0x10ef: 0x258e, + 0x10f0: 0x25a3, 0x10f1: 0x253a, 0x10f2: 0x24a0, 0x10f3: 0x256b, 0x10f4: 0x2492, 0x10f5: 0x24ca, + 0x10f6: 0x2461, 0x10f7: 0x24ae, 0x10f8: 0x2541, 0x10f9: 0x2533, 0x10fa: 0x24bc, 0x10fb: 0x24a7, + 0x10fc: 0x24bc, 0x10fd: 0x2541, 0x10fe: 0x2373, 0x10ff: 0x238f, + // Block 0x44, offset 0x1100 + 0x1100: 0x2509, 0x1101: 0x2484, 0x1102: 0x2303, 0x1103: 0x24a7, 0x1104: 0x244c, 0x1105: 0x241b, + 0x1106: 0x23c0, 0x1107: 0x2556, + 0x1130: 0x2414, 0x1131: 0x248b, 0x1132: 0x27bf, 0x1133: 0x27b6, 0x1134: 0x27ec, 0x1135: 0x27da, + 0x1136: 0x27c8, 0x1137: 0x27e3, 0x1138: 0x27f5, 0x1139: 0x240d, 0x113a: 0x2c7c, 0x113b: 0x2afc, + 0x113c: 0x27d1, + // Block 0x45, offset 0x1140 + 0x1150: 0x0019, 0x1151: 0x0483, + 0x1152: 0x0487, 0x1153: 0x0035, 0x1154: 0x0037, 0x1155: 0x0003, 0x1156: 0x003f, 0x1157: 0x04bf, + 0x1158: 0x04c3, 0x1159: 0x1b5c, + 0x1160: 0x8132, 0x1161: 0x8132, 0x1162: 0x8132, 0x1163: 0x8132, + 0x1164: 0x8132, 0x1165: 0x8132, 0x1166: 0x8132, 0x1167: 0x812d, 0x1168: 0x812d, 0x1169: 0x812d, + 0x116a: 0x812d, 0x116b: 0x812d, 0x116c: 0x812d, 0x116d: 0x812d, 0x116e: 0x8132, 0x116f: 0x8132, + 0x1170: 0x1873, 0x1171: 0x0443, 0x1172: 0x043f, 0x1173: 0x007f, 0x1174: 0x007f, 0x1175: 0x0011, + 0x1176: 0x0013, 0x1177: 0x00b7, 0x1178: 0x00bb, 0x1179: 0x04b7, 0x117a: 0x04bb, 0x117b: 0x04ab, + 0x117c: 0x04af, 0x117d: 0x0493, 0x117e: 0x0497, 0x117f: 0x048b, + // Block 0x46, offset 0x1180 + 0x1180: 0x048f, 0x1181: 0x049b, 0x1182: 0x049f, 0x1183: 0x04a3, 0x1184: 0x04a7, + 0x1187: 0x0077, 0x1188: 0x007b, 0x1189: 0x4269, 0x118a: 0x4269, 0x118b: 0x4269, + 0x118c: 0x4269, 0x118d: 0x007f, 0x118e: 0x007f, 0x118f: 0x007f, 0x1190: 0x0019, 0x1191: 0x0483, + 0x1192: 0x001d, 0x1194: 0x0037, 0x1195: 0x0035, 0x1196: 0x003f, 0x1197: 0x0003, + 0x1198: 0x0443, 0x1199: 0x0011, 0x119a: 0x0013, 0x119b: 0x00b7, 0x119c: 0x00bb, 0x119d: 0x04b7, + 0x119e: 0x04bb, 0x119f: 0x0007, 0x11a0: 0x000d, 0x11a1: 0x0015, 0x11a2: 0x0017, 0x11a3: 0x001b, + 0x11a4: 0x0039, 0x11a5: 0x003d, 0x11a6: 0x003b, 0x11a8: 0x0079, 0x11a9: 0x0009, + 0x11aa: 0x000b, 0x11ab: 0x0041, + 0x11b0: 0x42aa, 0x11b1: 0x442c, 0x11b2: 0x42af, 0x11b4: 0x42b4, + 0x11b6: 0x42b9, 0x11b7: 0x4432, 0x11b8: 0x42be, 0x11b9: 0x4438, 0x11ba: 0x42c3, 0x11bb: 0x443e, + 0x11bc: 0x42c8, 0x11bd: 0x4444, 0x11be: 0x42cd, 0x11bf: 0x444a, + // Block 0x47, offset 0x11c0 + 0x11c0: 0x0236, 0x11c1: 0x440e, 0x11c2: 0x440e, 0x11c3: 0x4414, 0x11c4: 0x4414, 0x11c5: 0x4456, + 0x11c6: 0x4456, 0x11c7: 0x441a, 0x11c8: 0x441a, 0x11c9: 0x4462, 0x11ca: 0x4462, 0x11cb: 0x4462, + 0x11cc: 0x4462, 0x11cd: 0x0239, 0x11ce: 0x0239, 0x11cf: 0x023c, 0x11d0: 0x023c, 0x11d1: 0x023c, + 0x11d2: 0x023c, 0x11d3: 0x023f, 0x11d4: 0x023f, 0x11d5: 0x0242, 0x11d6: 0x0242, 0x11d7: 0x0242, + 0x11d8: 0x0242, 0x11d9: 0x0245, 0x11da: 0x0245, 0x11db: 0x0245, 0x11dc: 0x0245, 0x11dd: 0x0248, + 0x11de: 0x0248, 0x11df: 0x0248, 0x11e0: 0x0248, 0x11e1: 0x024b, 0x11e2: 0x024b, 0x11e3: 0x024b, + 0x11e4: 0x024b, 0x11e5: 0x024e, 0x11e6: 0x024e, 0x11e7: 0x024e, 0x11e8: 0x024e, 0x11e9: 0x0251, + 0x11ea: 0x0251, 0x11eb: 0x0254, 0x11ec: 0x0254, 0x11ed: 0x0257, 0x11ee: 0x0257, 0x11ef: 0x025a, + 0x11f0: 0x025a, 0x11f1: 0x025d, 0x11f2: 0x025d, 0x11f3: 0x025d, 0x11f4: 0x025d, 0x11f5: 0x0260, + 0x11f6: 0x0260, 0x11f7: 0x0260, 0x11f8: 0x0260, 0x11f9: 0x0263, 0x11fa: 0x0263, 0x11fb: 0x0263, + 0x11fc: 0x0263, 0x11fd: 0x0266, 0x11fe: 0x0266, 0x11ff: 0x0266, + // Block 0x48, offset 0x1200 + 0x1200: 0x0266, 0x1201: 0x0269, 0x1202: 0x0269, 0x1203: 0x0269, 0x1204: 0x0269, 0x1205: 0x026c, + 0x1206: 0x026c, 0x1207: 0x026c, 0x1208: 0x026c, 0x1209: 0x026f, 0x120a: 0x026f, 0x120b: 0x026f, + 0x120c: 0x026f, 0x120d: 0x0272, 0x120e: 0x0272, 0x120f: 0x0272, 0x1210: 0x0272, 0x1211: 0x0275, + 0x1212: 0x0275, 0x1213: 0x0275, 0x1214: 0x0275, 0x1215: 0x0278, 0x1216: 0x0278, 0x1217: 0x0278, + 0x1218: 0x0278, 0x1219: 0x027b, 0x121a: 0x027b, 0x121b: 0x027b, 0x121c: 0x027b, 0x121d: 0x027e, + 0x121e: 0x027e, 0x121f: 0x027e, 0x1220: 0x027e, 0x1221: 0x0281, 0x1222: 0x0281, 0x1223: 0x0281, + 0x1224: 0x0281, 0x1225: 0x0284, 0x1226: 0x0284, 0x1227: 0x0284, 0x1228: 0x0284, 0x1229: 0x0287, + 0x122a: 0x0287, 0x122b: 0x0287, 0x122c: 0x0287, 0x122d: 0x028a, 0x122e: 0x028a, 0x122f: 0x028d, + 0x1230: 0x028d, 0x1231: 0x0290, 0x1232: 0x0290, 0x1233: 0x0290, 0x1234: 0x0290, 0x1235: 0x2e00, + 0x1236: 0x2e00, 0x1237: 0x2e08, 0x1238: 0x2e08, 0x1239: 0x2e10, 0x123a: 0x2e10, 0x123b: 0x1f82, + 0x123c: 0x1f82, + // Block 0x49, offset 0x1240 + 0x1240: 0x0081, 0x1241: 0x0083, 0x1242: 0x0085, 0x1243: 0x0087, 0x1244: 0x0089, 0x1245: 0x008b, + 0x1246: 0x008d, 0x1247: 0x008f, 0x1248: 0x0091, 0x1249: 0x0093, 0x124a: 0x0095, 0x124b: 0x0097, + 0x124c: 0x0099, 0x124d: 0x009b, 0x124e: 0x009d, 0x124f: 0x009f, 0x1250: 0x00a1, 0x1251: 0x00a3, + 0x1252: 0x00a5, 0x1253: 0x00a7, 0x1254: 0x00a9, 0x1255: 0x00ab, 0x1256: 0x00ad, 0x1257: 0x00af, + 0x1258: 0x00b1, 0x1259: 0x00b3, 0x125a: 0x00b5, 0x125b: 0x00b7, 0x125c: 0x00b9, 0x125d: 0x00bb, + 0x125e: 0x00bd, 0x125f: 0x0477, 0x1260: 0x047b, 0x1261: 0x0487, 0x1262: 0x049b, 0x1263: 0x049f, + 0x1264: 0x0483, 0x1265: 0x05ab, 0x1266: 0x05a3, 0x1267: 0x04c7, 0x1268: 0x04cf, 0x1269: 0x04d7, + 0x126a: 0x04df, 0x126b: 0x04e7, 0x126c: 0x056b, 0x126d: 0x0573, 0x126e: 0x057b, 0x126f: 0x051f, + 0x1270: 0x05af, 0x1271: 0x04cb, 0x1272: 0x04d3, 0x1273: 0x04db, 0x1274: 0x04e3, 0x1275: 0x04eb, + 0x1276: 0x04ef, 0x1277: 0x04f3, 0x1278: 0x04f7, 0x1279: 0x04fb, 0x127a: 0x04ff, 0x127b: 0x0503, + 0x127c: 0x0507, 0x127d: 0x050b, 0x127e: 0x050f, 0x127f: 0x0513, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0517, 0x1281: 0x051b, 0x1282: 0x0523, 0x1283: 0x0527, 0x1284: 0x052b, 0x1285: 0x052f, + 0x1286: 0x0533, 0x1287: 0x0537, 0x1288: 0x053b, 0x1289: 0x053f, 0x128a: 0x0543, 0x128b: 0x0547, + 0x128c: 0x054b, 0x128d: 0x054f, 0x128e: 0x0553, 0x128f: 0x0557, 0x1290: 0x055b, 0x1291: 0x055f, + 0x1292: 0x0563, 0x1293: 0x0567, 0x1294: 0x056f, 0x1295: 0x0577, 0x1296: 0x057f, 0x1297: 0x0583, + 0x1298: 0x0587, 0x1299: 0x058b, 0x129a: 0x058f, 0x129b: 0x0593, 0x129c: 0x0597, 0x129d: 0x05a7, + 0x129e: 0x4a78, 0x129f: 0x4a7e, 0x12a0: 0x03c3, 0x12a1: 0x0313, 0x12a2: 0x0317, 0x12a3: 0x4a3b, + 0x12a4: 0x031b, 0x12a5: 0x4a41, 0x12a6: 0x4a47, 0x12a7: 0x031f, 0x12a8: 0x0323, 0x12a9: 0x0327, + 0x12aa: 0x4a4d, 0x12ab: 0x4a53, 0x12ac: 0x4a59, 0x12ad: 0x4a5f, 0x12ae: 0x4a65, 0x12af: 0x4a6b, + 0x12b0: 0x0367, 0x12b1: 0x032b, 0x12b2: 0x032f, 0x12b3: 0x0333, 0x12b4: 0x037b, 0x12b5: 0x0337, + 0x12b6: 0x033b, 0x12b7: 0x033f, 0x12b8: 0x0343, 0x12b9: 0x0347, 0x12ba: 0x034b, 0x12bb: 0x034f, + 0x12bc: 0x0353, 0x12bd: 0x0357, 0x12be: 0x035b, + // Block 0x4b, offset 0x12c0 + 0x12c2: 0x49bd, 0x12c3: 0x49c3, 0x12c4: 0x49c9, 0x12c5: 0x49cf, + 0x12c6: 0x49d5, 0x12c7: 0x49db, 0x12ca: 0x49e1, 0x12cb: 0x49e7, + 0x12cc: 0x49ed, 0x12cd: 0x49f3, 0x12ce: 0x49f9, 0x12cf: 0x49ff, + 0x12d2: 0x4a05, 0x12d3: 0x4a0b, 0x12d4: 0x4a11, 0x12d5: 0x4a17, 0x12d6: 0x4a1d, 0x12d7: 0x4a23, + 0x12da: 0x4a29, 0x12db: 0x4a2f, 0x12dc: 0x4a35, + 0x12e0: 0x00bf, 0x12e1: 0x00c2, 0x12e2: 0x00cb, 0x12e3: 0x4264, + 0x12e4: 0x00c8, 0x12e5: 0x00c5, 0x12e6: 0x0447, 0x12e8: 0x046b, 0x12e9: 0x044b, + 0x12ea: 0x044f, 0x12eb: 0x0453, 0x12ec: 0x0457, 0x12ed: 0x046f, 0x12ee: 0x0473, + // Block 0x4c, offset 0x1300 + 0x1300: 0x0063, 0x1301: 0x0065, 0x1302: 0x0067, 0x1303: 0x0069, 0x1304: 0x006b, 0x1305: 0x006d, + 0x1306: 0x006f, 0x1307: 0x0071, 0x1308: 0x0073, 0x1309: 0x0075, 0x130a: 0x0083, 0x130b: 0x0085, + 0x130c: 0x0087, 0x130d: 0x0089, 0x130e: 0x008b, 0x130f: 0x008d, 0x1310: 0x008f, 0x1311: 0x0091, + 0x1312: 0x0093, 0x1313: 0x0095, 0x1314: 0x0097, 0x1315: 0x0099, 0x1316: 0x009b, 0x1317: 0x009d, + 0x1318: 0x009f, 0x1319: 0x00a1, 0x131a: 0x00a3, 0x131b: 0x00a5, 0x131c: 0x00a7, 0x131d: 0x00a9, + 0x131e: 0x00ab, 0x131f: 0x00ad, 0x1320: 0x00af, 0x1321: 0x00b1, 0x1322: 0x00b3, 0x1323: 0x00b5, + 0x1324: 0x00dd, 0x1325: 0x00f2, 0x1328: 0x0173, 0x1329: 0x0176, + 0x132a: 0x0179, 0x132b: 0x017c, 0x132c: 0x017f, 0x132d: 0x0182, 0x132e: 0x0185, 0x132f: 0x0188, + 0x1330: 0x018b, 0x1331: 0x018e, 0x1332: 0x0191, 0x1333: 0x0194, 0x1334: 0x0197, 0x1335: 0x019a, + 0x1336: 0x019d, 0x1337: 0x01a0, 0x1338: 0x01a3, 0x1339: 0x0188, 0x133a: 0x01a6, 0x133b: 0x01a9, + 0x133c: 0x01ac, 0x133d: 0x01af, 0x133e: 0x01b2, 0x133f: 0x01b5, + // Block 0x4d, offset 0x1340 + 0x1340: 0x01fd, 0x1341: 0x0200, 0x1342: 0x0203, 0x1343: 0x045b, 0x1344: 0x01c7, 0x1345: 0x01d0, + 0x1346: 0x01d6, 0x1347: 0x01fa, 0x1348: 0x01eb, 0x1349: 0x01e8, 0x134a: 0x0206, 0x134b: 0x0209, + 0x134e: 0x0021, 0x134f: 0x0023, 0x1350: 0x0025, 0x1351: 0x0027, + 0x1352: 0x0029, 0x1353: 0x002b, 0x1354: 0x002d, 0x1355: 0x002f, 0x1356: 0x0031, 0x1357: 0x0033, + 0x1358: 0x0021, 0x1359: 0x0023, 0x135a: 0x0025, 0x135b: 0x0027, 0x135c: 0x0029, 0x135d: 0x002b, + 0x135e: 0x002d, 0x135f: 0x002f, 0x1360: 0x0031, 0x1361: 0x0033, 0x1362: 0x0021, 0x1363: 0x0023, + 0x1364: 0x0025, 0x1365: 0x0027, 0x1366: 0x0029, 0x1367: 0x002b, 0x1368: 0x002d, 0x1369: 0x002f, + 0x136a: 0x0031, 0x136b: 0x0033, 0x136c: 0x0021, 0x136d: 0x0023, 0x136e: 0x0025, 0x136f: 0x0027, + 0x1370: 0x0029, 0x1371: 0x002b, 0x1372: 0x002d, 0x1373: 0x002f, 0x1374: 0x0031, 0x1375: 0x0033, + 0x1376: 0x0021, 0x1377: 0x0023, 0x1378: 0x0025, 0x1379: 0x0027, 0x137a: 0x0029, 0x137b: 0x002b, + 0x137c: 0x002d, 0x137d: 0x002f, 0x137e: 0x0031, 0x137f: 0x0033, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0239, 0x1381: 0x023c, 0x1382: 0x0248, 0x1383: 0x0251, 0x1385: 0x028a, + 0x1386: 0x025a, 0x1387: 0x024b, 0x1388: 0x0269, 0x1389: 0x0290, 0x138a: 0x027b, 0x138b: 0x027e, + 0x138c: 0x0281, 0x138d: 0x0284, 0x138e: 0x025d, 0x138f: 0x026f, 0x1390: 0x0275, 0x1391: 0x0263, + 0x1392: 0x0278, 0x1393: 0x0257, 0x1394: 0x0260, 0x1395: 0x0242, 0x1396: 0x0245, 0x1397: 0x024e, + 0x1398: 0x0254, 0x1399: 0x0266, 0x139a: 0x026c, 0x139b: 0x0272, 0x139c: 0x0293, 0x139d: 0x02e4, + 0x139e: 0x02cc, 0x139f: 0x0296, 0x13a1: 0x023c, 0x13a2: 0x0248, + 0x13a4: 0x0287, 0x13a7: 0x024b, 0x13a9: 0x0290, + 0x13aa: 0x027b, 0x13ab: 0x027e, 0x13ac: 0x0281, 0x13ad: 0x0284, 0x13ae: 0x025d, 0x13af: 0x026f, + 0x13b0: 0x0275, 0x13b1: 0x0263, 0x13b2: 0x0278, 0x13b4: 0x0260, 0x13b5: 0x0242, + 0x13b6: 0x0245, 0x13b7: 0x024e, 0x13b9: 0x0266, 0x13bb: 0x0272, + // Block 0x4f, offset 0x13c0 + 0x13c2: 0x0248, + 0x13c7: 0x024b, 0x13c9: 0x0290, 0x13cb: 0x027e, + 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d1: 0x0263, + 0x13d2: 0x0278, 0x13d4: 0x0260, 0x13d7: 0x024e, + 0x13d9: 0x0266, 0x13db: 0x0272, 0x13dd: 0x02e4, + 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248, + 0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e8: 0x0269, 0x13e9: 0x0290, + 0x13ea: 0x027b, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f, + 0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242, + 0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fa: 0x026c, 0x13fb: 0x0272, + 0x13fc: 0x0293, 0x13fe: 0x02cc, + // Block 0x50, offset 0x1400 + 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1404: 0x0287, 0x1405: 0x028a, + 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140b: 0x027e, + 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, + 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, + 0x1421: 0x023c, 0x1422: 0x0248, 0x1423: 0x0251, + 0x1425: 0x028a, 0x1426: 0x025a, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290, + 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1433: 0x0257, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1438: 0x0254, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272, + // Block 0x51, offset 0x1440 + 0x1440: 0x1879, 0x1441: 0x1876, 0x1442: 0x187c, 0x1443: 0x18a0, 0x1444: 0x18c4, 0x1445: 0x18e8, + 0x1446: 0x190c, 0x1447: 0x1915, 0x1448: 0x191b, 0x1449: 0x1921, 0x144a: 0x1927, + 0x1450: 0x1a8c, 0x1451: 0x1a90, + 0x1452: 0x1a94, 0x1453: 0x1a98, 0x1454: 0x1a9c, 0x1455: 0x1aa0, 0x1456: 0x1aa4, 0x1457: 0x1aa8, + 0x1458: 0x1aac, 0x1459: 0x1ab0, 0x145a: 0x1ab4, 0x145b: 0x1ab8, 0x145c: 0x1abc, 0x145d: 0x1ac0, + 0x145e: 0x1ac4, 0x145f: 0x1ac8, 0x1460: 0x1acc, 0x1461: 0x1ad0, 0x1462: 0x1ad4, 0x1463: 0x1ad8, + 0x1464: 0x1adc, 0x1465: 0x1ae0, 0x1466: 0x1ae4, 0x1467: 0x1ae8, 0x1468: 0x1aec, 0x1469: 0x1af0, + 0x146a: 0x271e, 0x146b: 0x0047, 0x146c: 0x0065, 0x146d: 0x193c, 0x146e: 0x19b1, + 0x1470: 0x0043, 0x1471: 0x0045, 0x1472: 0x0047, 0x1473: 0x0049, 0x1474: 0x004b, 0x1475: 0x004d, + 0x1476: 0x004f, 0x1477: 0x0051, 0x1478: 0x0053, 0x1479: 0x0055, 0x147a: 0x0057, 0x147b: 0x0059, + 0x147c: 0x005b, 0x147d: 0x005d, 0x147e: 0x005f, 0x147f: 0x0061, + // Block 0x52, offset 0x1480 + 0x1480: 0x26ad, 0x1481: 0x26c2, 0x1482: 0x0503, + 0x1490: 0x0c0f, 0x1491: 0x0a47, + 0x1492: 0x08d3, 0x1493: 0x45c4, 0x1494: 0x071b, 0x1495: 0x09ef, 0x1496: 0x132f, 0x1497: 0x09ff, + 0x1498: 0x0727, 0x1499: 0x0cd7, 0x149a: 0x0eaf, 0x149b: 0x0caf, 0x149c: 0x0827, 0x149d: 0x0b6b, + 0x149e: 0x07bf, 0x149f: 0x0cb7, 0x14a0: 0x0813, 0x14a1: 0x1117, 0x14a2: 0x0f83, 0x14a3: 0x138b, + 0x14a4: 0x09d3, 0x14a5: 0x090b, 0x14a6: 0x0e63, 0x14a7: 0x0c1b, 0x14a8: 0x0c47, 0x14a9: 0x06bf, + 0x14aa: 0x06cb, 0x14ab: 0x140b, 0x14ac: 0x0adb, 0x14ad: 0x06e7, 0x14ae: 0x08ef, 0x14af: 0x0c3b, + 0x14b0: 0x13b3, 0x14b1: 0x0c13, 0x14b2: 0x106f, 0x14b3: 0x10ab, 0x14b4: 0x08f7, 0x14b5: 0x0e43, + 0x14b6: 0x0d0b, 0x14b7: 0x0d07, 0x14b8: 0x0f97, 0x14b9: 0x082b, 0x14ba: 0x0957, 0x14bb: 0x1443, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x06fb, 0x14c1: 0x06f3, 0x14c2: 0x0703, 0x14c3: 0x1647, 0x14c4: 0x0747, 0x14c5: 0x0757, + 0x14c6: 0x075b, 0x14c7: 0x0763, 0x14c8: 0x076b, 0x14c9: 0x076f, 0x14ca: 0x077b, 0x14cb: 0x0773, + 0x14cc: 0x05b3, 0x14cd: 0x165b, 0x14ce: 0x078f, 0x14cf: 0x0793, 0x14d0: 0x0797, 0x14d1: 0x07b3, + 0x14d2: 0x164c, 0x14d3: 0x05b7, 0x14d4: 0x079f, 0x14d5: 0x07bf, 0x14d6: 0x1656, 0x14d7: 0x07cf, + 0x14d8: 0x07d7, 0x14d9: 0x0737, 0x14da: 0x07df, 0x14db: 0x07e3, 0x14dc: 0x1831, 0x14dd: 0x07ff, + 0x14de: 0x0807, 0x14df: 0x05bf, 0x14e0: 0x081f, 0x14e1: 0x0823, 0x14e2: 0x082b, 0x14e3: 0x082f, + 0x14e4: 0x05c3, 0x14e5: 0x0847, 0x14e6: 0x084b, 0x14e7: 0x0857, 0x14e8: 0x0863, 0x14e9: 0x0867, + 0x14ea: 0x086b, 0x14eb: 0x0873, 0x14ec: 0x0893, 0x14ed: 0x0897, 0x14ee: 0x089f, 0x14ef: 0x08af, + 0x14f0: 0x08b7, 0x14f1: 0x08bb, 0x14f2: 0x08bb, 0x14f3: 0x08bb, 0x14f4: 0x166a, 0x14f5: 0x0e93, + 0x14f6: 0x08cf, 0x14f7: 0x08d7, 0x14f8: 0x166f, 0x14f9: 0x08e3, 0x14fa: 0x08eb, 0x14fb: 0x08f3, + 0x14fc: 0x091b, 0x14fd: 0x0907, 0x14fe: 0x0913, 0x14ff: 0x0917, + // Block 0x54, offset 0x1500 + 0x1500: 0x091f, 0x1501: 0x0927, 0x1502: 0x092b, 0x1503: 0x0933, 0x1504: 0x093b, 0x1505: 0x093f, + 0x1506: 0x093f, 0x1507: 0x0947, 0x1508: 0x094f, 0x1509: 0x0953, 0x150a: 0x095f, 0x150b: 0x0983, + 0x150c: 0x0967, 0x150d: 0x0987, 0x150e: 0x096b, 0x150f: 0x0973, 0x1510: 0x080b, 0x1511: 0x09cf, + 0x1512: 0x0997, 0x1513: 0x099b, 0x1514: 0x099f, 0x1515: 0x0993, 0x1516: 0x09a7, 0x1517: 0x09a3, + 0x1518: 0x09bb, 0x1519: 0x1674, 0x151a: 0x09d7, 0x151b: 0x09db, 0x151c: 0x09e3, 0x151d: 0x09ef, + 0x151e: 0x09f7, 0x151f: 0x0a13, 0x1520: 0x1679, 0x1521: 0x167e, 0x1522: 0x0a1f, 0x1523: 0x0a23, + 0x1524: 0x0a27, 0x1525: 0x0a1b, 0x1526: 0x0a2f, 0x1527: 0x05c7, 0x1528: 0x05cb, 0x1529: 0x0a37, + 0x152a: 0x0a3f, 0x152b: 0x0a3f, 0x152c: 0x1683, 0x152d: 0x0a5b, 0x152e: 0x0a5f, 0x152f: 0x0a63, + 0x1530: 0x0a6b, 0x1531: 0x1688, 0x1532: 0x0a73, 0x1533: 0x0a77, 0x1534: 0x0b4f, 0x1535: 0x0a7f, + 0x1536: 0x05cf, 0x1537: 0x0a8b, 0x1538: 0x0a9b, 0x1539: 0x0aa7, 0x153a: 0x0aa3, 0x153b: 0x1692, + 0x153c: 0x0aaf, 0x153d: 0x1697, 0x153e: 0x0abb, 0x153f: 0x0ab7, + // Block 0x55, offset 0x1540 + 0x1540: 0x0abf, 0x1541: 0x0acf, 0x1542: 0x0ad3, 0x1543: 0x05d3, 0x1544: 0x0ae3, 0x1545: 0x0aeb, + 0x1546: 0x0aef, 0x1547: 0x0af3, 0x1548: 0x05d7, 0x1549: 0x169c, 0x154a: 0x05db, 0x154b: 0x0b0f, + 0x154c: 0x0b13, 0x154d: 0x0b17, 0x154e: 0x0b1f, 0x154f: 0x1863, 0x1550: 0x0b37, 0x1551: 0x16a6, + 0x1552: 0x16a6, 0x1553: 0x11d7, 0x1554: 0x0b47, 0x1555: 0x0b47, 0x1556: 0x05df, 0x1557: 0x16c9, + 0x1558: 0x179b, 0x1559: 0x0b57, 0x155a: 0x0b5f, 0x155b: 0x05e3, 0x155c: 0x0b73, 0x155d: 0x0b83, + 0x155e: 0x0b87, 0x155f: 0x0b8f, 0x1560: 0x0b9f, 0x1561: 0x05eb, 0x1562: 0x05e7, 0x1563: 0x0ba3, + 0x1564: 0x16ab, 0x1565: 0x0ba7, 0x1566: 0x0bbb, 0x1567: 0x0bbf, 0x1568: 0x0bc3, 0x1569: 0x0bbf, + 0x156a: 0x0bcf, 0x156b: 0x0bd3, 0x156c: 0x0be3, 0x156d: 0x0bdb, 0x156e: 0x0bdf, 0x156f: 0x0be7, + 0x1570: 0x0beb, 0x1571: 0x0bef, 0x1572: 0x0bfb, 0x1573: 0x0bff, 0x1574: 0x0c17, 0x1575: 0x0c1f, + 0x1576: 0x0c2f, 0x1577: 0x0c43, 0x1578: 0x16ba, 0x1579: 0x0c3f, 0x157a: 0x0c33, 0x157b: 0x0c4b, + 0x157c: 0x0c53, 0x157d: 0x0c67, 0x157e: 0x16bf, 0x157f: 0x0c6f, + // Block 0x56, offset 0x1580 + 0x1580: 0x0c63, 0x1581: 0x0c5b, 0x1582: 0x05ef, 0x1583: 0x0c77, 0x1584: 0x0c7f, 0x1585: 0x0c87, + 0x1586: 0x0c7b, 0x1587: 0x05f3, 0x1588: 0x0c97, 0x1589: 0x0c9f, 0x158a: 0x16c4, 0x158b: 0x0ccb, + 0x158c: 0x0cff, 0x158d: 0x0cdb, 0x158e: 0x05ff, 0x158f: 0x0ce7, 0x1590: 0x05fb, 0x1591: 0x05f7, + 0x1592: 0x07c3, 0x1593: 0x07c7, 0x1594: 0x0d03, 0x1595: 0x0ceb, 0x1596: 0x11ab, 0x1597: 0x0663, + 0x1598: 0x0d0f, 0x1599: 0x0d13, 0x159a: 0x0d17, 0x159b: 0x0d2b, 0x159c: 0x0d23, 0x159d: 0x16dd, + 0x159e: 0x0603, 0x159f: 0x0d3f, 0x15a0: 0x0d33, 0x15a1: 0x0d4f, 0x15a2: 0x0d57, 0x15a3: 0x16e7, + 0x15a4: 0x0d5b, 0x15a5: 0x0d47, 0x15a6: 0x0d63, 0x15a7: 0x0607, 0x15a8: 0x0d67, 0x15a9: 0x0d6b, + 0x15aa: 0x0d6f, 0x15ab: 0x0d7b, 0x15ac: 0x16ec, 0x15ad: 0x0d83, 0x15ae: 0x060b, 0x15af: 0x0d8f, + 0x15b0: 0x16f1, 0x15b1: 0x0d93, 0x15b2: 0x060f, 0x15b3: 0x0d9f, 0x15b4: 0x0dab, 0x15b5: 0x0db7, + 0x15b6: 0x0dbb, 0x15b7: 0x16f6, 0x15b8: 0x168d, 0x15b9: 0x16fb, 0x15ba: 0x0ddb, 0x15bb: 0x1700, + 0x15bc: 0x0de7, 0x15bd: 0x0def, 0x15be: 0x0ddf, 0x15bf: 0x0dfb, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0e0b, 0x15c1: 0x0e1b, 0x15c2: 0x0e0f, 0x15c3: 0x0e13, 0x15c4: 0x0e1f, 0x15c5: 0x0e23, + 0x15c6: 0x1705, 0x15c7: 0x0e07, 0x15c8: 0x0e3b, 0x15c9: 0x0e3f, 0x15ca: 0x0613, 0x15cb: 0x0e53, + 0x15cc: 0x0e4f, 0x15cd: 0x170a, 0x15ce: 0x0e33, 0x15cf: 0x0e6f, 0x15d0: 0x170f, 0x15d1: 0x1714, + 0x15d2: 0x0e73, 0x15d3: 0x0e87, 0x15d4: 0x0e83, 0x15d5: 0x0e7f, 0x15d6: 0x0617, 0x15d7: 0x0e8b, + 0x15d8: 0x0e9b, 0x15d9: 0x0e97, 0x15da: 0x0ea3, 0x15db: 0x1651, 0x15dc: 0x0eb3, 0x15dd: 0x1719, + 0x15de: 0x0ebf, 0x15df: 0x1723, 0x15e0: 0x0ed3, 0x15e1: 0x0edf, 0x15e2: 0x0ef3, 0x15e3: 0x1728, + 0x15e4: 0x0f07, 0x15e5: 0x0f0b, 0x15e6: 0x172d, 0x15e7: 0x1732, 0x15e8: 0x0f27, 0x15e9: 0x0f37, + 0x15ea: 0x061b, 0x15eb: 0x0f3b, 0x15ec: 0x061f, 0x15ed: 0x061f, 0x15ee: 0x0f53, 0x15ef: 0x0f57, + 0x15f0: 0x0f5f, 0x15f1: 0x0f63, 0x15f2: 0x0f6f, 0x15f3: 0x0623, 0x15f4: 0x0f87, 0x15f5: 0x1737, + 0x15f6: 0x0fa3, 0x15f7: 0x173c, 0x15f8: 0x0faf, 0x15f9: 0x16a1, 0x15fa: 0x0fbf, 0x15fb: 0x1741, + 0x15fc: 0x1746, 0x15fd: 0x174b, 0x15fe: 0x0627, 0x15ff: 0x062b, + // Block 0x58, offset 0x1600 + 0x1600: 0x0ff7, 0x1601: 0x1755, 0x1602: 0x1750, 0x1603: 0x175a, 0x1604: 0x175f, 0x1605: 0x0fff, + 0x1606: 0x1003, 0x1607: 0x1003, 0x1608: 0x100b, 0x1609: 0x0633, 0x160a: 0x100f, 0x160b: 0x0637, + 0x160c: 0x063b, 0x160d: 0x1769, 0x160e: 0x1023, 0x160f: 0x102b, 0x1610: 0x1037, 0x1611: 0x063f, + 0x1612: 0x176e, 0x1613: 0x105b, 0x1614: 0x1773, 0x1615: 0x1778, 0x1616: 0x107b, 0x1617: 0x1093, + 0x1618: 0x0643, 0x1619: 0x109b, 0x161a: 0x109f, 0x161b: 0x10a3, 0x161c: 0x177d, 0x161d: 0x1782, + 0x161e: 0x1782, 0x161f: 0x10bb, 0x1620: 0x0647, 0x1621: 0x1787, 0x1622: 0x10cf, 0x1623: 0x10d3, + 0x1624: 0x064b, 0x1625: 0x178c, 0x1626: 0x10ef, 0x1627: 0x064f, 0x1628: 0x10ff, 0x1629: 0x10f7, + 0x162a: 0x1107, 0x162b: 0x1796, 0x162c: 0x111f, 0x162d: 0x0653, 0x162e: 0x112b, 0x162f: 0x1133, + 0x1630: 0x1143, 0x1631: 0x0657, 0x1632: 0x17a0, 0x1633: 0x17a5, 0x1634: 0x065b, 0x1635: 0x17aa, + 0x1636: 0x115b, 0x1637: 0x17af, 0x1638: 0x1167, 0x1639: 0x1173, 0x163a: 0x117b, 0x163b: 0x17b4, + 0x163c: 0x17b9, 0x163d: 0x118f, 0x163e: 0x17be, 0x163f: 0x1197, + // Block 0x59, offset 0x1640 + 0x1640: 0x16ce, 0x1641: 0x065f, 0x1642: 0x11af, 0x1643: 0x11b3, 0x1644: 0x0667, 0x1645: 0x11b7, + 0x1646: 0x0a33, 0x1647: 0x17c3, 0x1648: 0x17c8, 0x1649: 0x16d3, 0x164a: 0x16d8, 0x164b: 0x11d7, + 0x164c: 0x11db, 0x164d: 0x13f3, 0x164e: 0x066b, 0x164f: 0x1207, 0x1650: 0x1203, 0x1651: 0x120b, + 0x1652: 0x083f, 0x1653: 0x120f, 0x1654: 0x1213, 0x1655: 0x1217, 0x1656: 0x121f, 0x1657: 0x17cd, + 0x1658: 0x121b, 0x1659: 0x1223, 0x165a: 0x1237, 0x165b: 0x123b, 0x165c: 0x1227, 0x165d: 0x123f, + 0x165e: 0x1253, 0x165f: 0x1267, 0x1660: 0x1233, 0x1661: 0x1247, 0x1662: 0x124b, 0x1663: 0x124f, + 0x1664: 0x17d2, 0x1665: 0x17dc, 0x1666: 0x17d7, 0x1667: 0x066f, 0x1668: 0x126f, 0x1669: 0x1273, + 0x166a: 0x127b, 0x166b: 0x17f0, 0x166c: 0x127f, 0x166d: 0x17e1, 0x166e: 0x0673, 0x166f: 0x0677, + 0x1670: 0x17e6, 0x1671: 0x17eb, 0x1672: 0x067b, 0x1673: 0x129f, 0x1674: 0x12a3, 0x1675: 0x12a7, + 0x1676: 0x12ab, 0x1677: 0x12b7, 0x1678: 0x12b3, 0x1679: 0x12bf, 0x167a: 0x12bb, 0x167b: 0x12cb, + 0x167c: 0x12c3, 0x167d: 0x12c7, 0x167e: 0x12cf, 0x167f: 0x067f, + // Block 0x5a, offset 0x1680 + 0x1680: 0x12d7, 0x1681: 0x12db, 0x1682: 0x0683, 0x1683: 0x12eb, 0x1684: 0x12ef, 0x1685: 0x17f5, + 0x1686: 0x12fb, 0x1687: 0x12ff, 0x1688: 0x0687, 0x1689: 0x130b, 0x168a: 0x05bb, 0x168b: 0x17fa, + 0x168c: 0x17ff, 0x168d: 0x068b, 0x168e: 0x068f, 0x168f: 0x1337, 0x1690: 0x134f, 0x1691: 0x136b, + 0x1692: 0x137b, 0x1693: 0x1804, 0x1694: 0x138f, 0x1695: 0x1393, 0x1696: 0x13ab, 0x1697: 0x13b7, + 0x1698: 0x180e, 0x1699: 0x1660, 0x169a: 0x13c3, 0x169b: 0x13bf, 0x169c: 0x13cb, 0x169d: 0x1665, + 0x169e: 0x13d7, 0x169f: 0x13e3, 0x16a0: 0x1813, 0x16a1: 0x1818, 0x16a2: 0x1423, 0x16a3: 0x142f, + 0x16a4: 0x1437, 0x16a5: 0x181d, 0x16a6: 0x143b, 0x16a7: 0x1467, 0x16a8: 0x1473, 0x16a9: 0x1477, + 0x16aa: 0x146f, 0x16ab: 0x1483, 0x16ac: 0x1487, 0x16ad: 0x1822, 0x16ae: 0x1493, 0x16af: 0x0693, + 0x16b0: 0x149b, 0x16b1: 0x1827, 0x16b2: 0x0697, 0x16b3: 0x14d3, 0x16b4: 0x0ac3, 0x16b5: 0x14eb, + 0x16b6: 0x182c, 0x16b7: 0x1836, 0x16b8: 0x069b, 0x16b9: 0x069f, 0x16ba: 0x1513, 0x16bb: 0x183b, + 0x16bc: 0x06a3, 0x16bd: 0x1840, 0x16be: 0x152b, 0x16bf: 0x152b, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x1533, 0x16c1: 0x1845, 0x16c2: 0x154b, 0x16c3: 0x06a7, 0x16c4: 0x155b, 0x16c5: 0x1567, + 0x16c6: 0x156f, 0x16c7: 0x1577, 0x16c8: 0x06ab, 0x16c9: 0x184a, 0x16ca: 0x158b, 0x16cb: 0x15a7, + 0x16cc: 0x15b3, 0x16cd: 0x06af, 0x16ce: 0x06b3, 0x16cf: 0x15b7, 0x16d0: 0x184f, 0x16d1: 0x06b7, + 0x16d2: 0x1854, 0x16d3: 0x1859, 0x16d4: 0x185e, 0x16d5: 0x15db, 0x16d6: 0x06bb, 0x16d7: 0x15ef, + 0x16d8: 0x15f7, 0x16d9: 0x15fb, 0x16da: 0x1603, 0x16db: 0x160b, 0x16dc: 0x1613, 0x16dd: 0x1868, +} + +// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5a, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5b, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5c, 0xcb: 0x5d, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x5e, 0xd2: 0x5f, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x60, + 0xd8: 0x61, 0xd9: 0x0d, 0xdb: 0x62, 0xdc: 0x63, 0xdd: 0x64, 0xdf: 0x65, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x66, 0x121: 0x67, 0x123: 0x68, 0x124: 0x69, 0x125: 0x6a, 0x126: 0x6b, 0x127: 0x6c, + 0x128: 0x6d, 0x129: 0x6e, 0x12a: 0x6f, 0x12b: 0x70, 0x12c: 0x6b, 0x12d: 0x71, 0x12e: 0x72, 0x12f: 0x73, + 0x131: 0x74, 0x132: 0x75, 0x133: 0x76, 0x134: 0x77, 0x135: 0x78, 0x137: 0x79, + 0x138: 0x7a, 0x139: 0x7b, 0x13a: 0x7c, 0x13b: 0x7d, 0x13c: 0x7e, 0x13d: 0x7f, 0x13e: 0x80, 0x13f: 0x81, + // Block 0x5, offset 0x140 + 0x140: 0x82, 0x142: 0x83, 0x143: 0x84, 0x144: 0x85, 0x145: 0x86, 0x146: 0x87, 0x147: 0x88, + 0x14d: 0x89, + 0x15c: 0x8a, 0x15f: 0x8b, + 0x162: 0x8c, 0x164: 0x8d, + 0x168: 0x8e, 0x169: 0x8f, 0x16a: 0x90, 0x16c: 0x0e, 0x16d: 0x91, 0x16e: 0x92, 0x16f: 0x93, + 0x170: 0x94, 0x173: 0x95, 0x174: 0x96, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x97, + 0x178: 0x11, 0x179: 0x12, 0x17a: 0x13, 0x17b: 0x14, 0x17c: 0x15, 0x17d: 0x16, 0x17e: 0x17, 0x17f: 0x18, + // Block 0x6, offset 0x180 + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x19, 0x185: 0x1a, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1b, 0x18a: 0x1c, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1d, 0x192: 0x1e, 0x193: 0xa1, + 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, + 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x1f, 0x1bd: 0x20, 0x1be: 0x21, 0x1bf: 0xab, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xac, 0x1c1: 0x22, 0x1c2: 0x23, 0x1c3: 0x24, 0x1c4: 0xad, 0x1c5: 0x25, 0x1c6: 0x26, + 0x1c8: 0x27, 0x1c9: 0x28, 0x1ca: 0x29, 0x1cb: 0x2a, 0x1cc: 0x2b, 0x1cd: 0x2c, 0x1ce: 0x2d, 0x1cf: 0x2e, + // Block 0x8, offset 0x200 + 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, + 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, + 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, + 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, + 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, + // Block 0x9, offset 0x240 + 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, + 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, + 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, + 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, + 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, + 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, + 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, + 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, + // Block 0xa, offset 0x280 + 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, + 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, + 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, + 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, + 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, + 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, + 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, + 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, + 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, + 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, + 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, + // Block 0xc, offset 0x300 + 0x324: 0x2f, 0x325: 0x30, 0x326: 0x31, 0x327: 0x32, + 0x328: 0x33, 0x329: 0x34, 0x32a: 0x35, 0x32b: 0x36, 0x32c: 0x37, 0x32d: 0x38, 0x32e: 0x39, 0x32f: 0x3a, + 0x330: 0x3b, 0x331: 0x3c, 0x332: 0x3d, 0x333: 0x3e, 0x334: 0x3f, 0x335: 0x40, 0x336: 0x41, 0x337: 0x42, + 0x338: 0x43, 0x339: 0x44, 0x33a: 0x45, 0x33b: 0x46, 0x33c: 0xc5, 0x33d: 0x47, 0x33e: 0x48, 0x33f: 0x49, + // Block 0xd, offset 0x340 + 0x347: 0xc6, + 0x34b: 0xc7, 0x34d: 0xc8, + 0x368: 0xc9, 0x36b: 0xca, + // Block 0xe, offset 0x380 + 0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce, + 0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6b, 0x38d: 0xd1, + 0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6, + 0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9, + 0x3b0: 0xd7, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xda, 0x3ec: 0xdb, + // Block 0x10, offset 0x400 + 0x432: 0xdc, + // Block 0x11, offset 0x440 + 0x445: 0xdd, 0x446: 0xde, 0x447: 0xdf, + 0x449: 0xe0, + 0x450: 0xe1, 0x451: 0xe2, 0x452: 0xe3, 0x453: 0xe4, 0x454: 0xe5, 0x455: 0xe6, 0x456: 0xe7, 0x457: 0xe8, + 0x458: 0xe9, 0x459: 0xea, 0x45a: 0x4a, 0x45b: 0xeb, 0x45c: 0xec, 0x45d: 0xed, 0x45e: 0xee, 0x45f: 0x4b, + // Block 0x12, offset 0x480 + 0x480: 0xef, + 0x4a3: 0xf0, 0x4a5: 0xf1, + 0x4b8: 0x4c, 0x4b9: 0x4d, 0x4ba: 0x4e, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x4f, 0x4c5: 0xf2, 0x4c6: 0xf3, + 0x4c8: 0x50, 0x4c9: 0xf4, + // Block 0x14, offset 0x500 + 0x520: 0x51, 0x521: 0x52, 0x522: 0x53, 0x523: 0x54, 0x524: 0x55, 0x525: 0x56, 0x526: 0x57, 0x527: 0x58, + 0x528: 0x59, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 155 entries, 310 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd4, 0xdb, 0xe3, 0xe7, 0xe9, 0xec, 0xf0, 0xf6, 0x107, 0x113, 0x115, 0x11b, 0x11d, 0x11f, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12c, 0x12f, 0x131, 0x134, 0x137, 0x13b, 0x140, 0x149, 0x14b, 0x14e, 0x150, 0x15b, 0x166, 0x176, 0x184, 0x192, 0x1a2, 0x1b0, 0x1b7, 0x1bd, 0x1cc, 0x1d0, 0x1d2, 0x1d6, 0x1d8, 0x1db, 0x1dd, 0x1e0, 0x1e2, 0x1e5, 0x1e7, 0x1e9, 0x1eb, 0x1f7, 0x201, 0x20b, 0x20e, 0x212, 0x214, 0x216, 0x218, 0x21a, 0x21d, 0x21f, 0x221, 0x223, 0x225, 0x22b, 0x22e, 0x232, 0x234, 0x23b, 0x241, 0x247, 0x24f, 0x255, 0x25b, 0x261, 0x265, 0x267, 0x269, 0x26b, 0x26d, 0x273, 0x276, 0x279, 0x281, 0x288, 0x28b, 0x28e, 0x290, 0x298, 0x29b, 0x2a2, 0x2a5, 0x2ab, 0x2ad, 0x2af, 0x2b2, 0x2b4, 0x2b6, 0x2b8, 0x2ba, 0x2c7, 0x2d1, 0x2d3, 0x2d5, 0x2d9, 0x2de, 0x2ea, 0x2ef, 0x2f8, 0x2fe, 0x303, 0x307, 0x30c, 0x310, 0x320, 0x32e, 0x33c, 0x34a, 0x350, 0x352, 0x355, 0x35f, 0x361} + +// nfkcSparseValues: 875 entries, 3500 bytes +var nfkcSparseValues = [875]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x4278, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x4264, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x425a, lo: 0xb4, hi: 0xb4}, + {value: 0x01dc, lo: 0xb5, hi: 0xb5}, + {value: 0x4291, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x221c, lo: 0xbc, hi: 0xbc}, + {value: 0x2210, lo: 0xbd, hi: 0xbd}, + {value: 0x22b2, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x426e, lo: 0x98, hi: 0x98}, + {value: 0x4273, lo: 0x99, hi: 0x9a}, + {value: 0x4296, lo: 0x9b, hi: 0x9b}, + {value: 0x425f, lo: 0x9c, hi: 0x9c}, + {value: 0x4282, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x0167, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + // Block 0xc, offset 0x6f + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x74 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x76 + {value: 0x0000, lo: 0x10}, + {value: 0x8132, lo: 0x94, hi: 0xa1}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xa9, hi: 0xa9}, + {value: 0x8132, lo: 0xaa, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xaf}, + {value: 0x8116, lo: 0xb0, hi: 0xb0}, + {value: 0x8117, lo: 0xb1, hi: 0xb1}, + {value: 0x8118, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb5}, + {value: 0x812d, lo: 0xb6, hi: 0xb6}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x812d, lo: 0xb9, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbf}, + // Block 0xf, offset 0x87 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x8f + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x96 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x99 + {value: 0x0008, lo: 0x06}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + // Block 0x13, offset 0xa0 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0xa4 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0xa8 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0xaa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0xac + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0xb5 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xc0 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xc5 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xc8 + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xd2 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xd4 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xdb + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xe3 + {value: 0x0000, lo: 0x03}, + {value: 0x2621, lo: 0xb3, hi: 0xb3}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xe7 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xe9 + {value: 0x0000, lo: 0x02}, + {value: 0x2636, lo: 0xb3, hi: 0xb3}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x23, offset 0xec + {value: 0x0000, lo: 0x03}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + {value: 0x2628, lo: 0x9c, hi: 0x9c}, + {value: 0x262f, lo: 0x9d, hi: 0x9d}, + // Block 0x24, offset 0xf0 + {value: 0x0000, lo: 0x05}, + {value: 0x030b, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xf6 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x45f4, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x45ff, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0x107 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0x113 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0x115 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0x11b + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0x11d + {value: 0x0000, lo: 0x01}, + {value: 0x030f, lo: 0xbc, hi: 0xbc}, + // Block 0x2b, offset 0x11f + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2c, offset 0x121 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2d, offset 0x123 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2e, offset 0x125 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2f, offset 0x127 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x30, offset 0x129 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x31, offset 0x12c + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x32, offset 0x12f + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x33, offset 0x131 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x34, offset 0x134 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x35, offset 0x137 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x13b + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x37, offset 0x140 + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x149 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x14b + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x14e + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x150 + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x15b + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x166 + {value: 0x0000, lo: 0x0f}, + {value: 0x8132, lo: 0x80, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x82}, + {value: 0x8132, lo: 0x83, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8a}, + {value: 0x8132, lo: 0x8b, hi: 0x8c}, + {value: 0x8135, lo: 0x8d, hi: 0x8d}, + {value: 0x812a, lo: 0x8e, hi: 0x8e}, + {value: 0x812d, lo: 0x8f, hi: 0x8f}, + {value: 0x8129, lo: 0x90, hi: 0x90}, + {value: 0x8132, lo: 0x91, hi: 0xb5}, + {value: 0x8132, lo: 0xbb, hi: 0xbb}, + {value: 0x8134, lo: 0xbc, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x176 + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043b, lo: 0x91, hi: 0x91}, + {value: 0x429b, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1873, lo: 0xa5, hi: 0xa5}, + {value: 0x1b5c, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2691, lo: 0xb3, hi: 0xb3}, + {value: 0x27fe, lo: 0xb4, hi: 0xb4}, + {value: 0x2698, lo: 0xb6, hi: 0xb6}, + {value: 0x2808, lo: 0xb7, hi: 0xb7}, + {value: 0x186d, lo: 0xbc, hi: 0xbc}, + {value: 0x4269, lo: 0xbe, hi: 0xbe}, + // Block 0x3f, offset 0x184 + {value: 0x0002, lo: 0x0d}, + {value: 0x1933, lo: 0x87, hi: 0x87}, + {value: 0x1930, lo: 0x88, hi: 0x88}, + {value: 0x1870, lo: 0x89, hi: 0x89}, + {value: 0x298e, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x0467, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x40, offset 0x192 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x0467, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x1999, lo: 0xa8, hi: 0xa8}, + // Block 0x41, offset 0x1a2 + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x42, offset 0x1b0 + {value: 0x0007, lo: 0x06}, + {value: 0x2180, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x43, offset 0x1b7 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x44, offset 0x1bd + {value: 0x0173, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0x269f, lo: 0xac, hi: 0xad}, + {value: 0x26a6, lo: 0xaf, hi: 0xaf}, + {value: 0x281c, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x45, offset 0x1cc + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x46, offset 0x1d0 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x47, offset 0x1d2 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x48, offset 0x1d6 + {value: 0x0000, lo: 0x01}, + {value: 0x299b, lo: 0x8c, hi: 0x8c}, + // Block 0x49, offset 0x1d8 + {value: 0x0263, lo: 0x02}, + {value: 0x1b8c, lo: 0xb4, hi: 0xb4}, + {value: 0x192d, lo: 0xb5, hi: 0xb6}, + // Block 0x4a, offset 0x1db + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x4b, offset 0x1dd + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4c, offset 0x1e0 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x4d, offset 0x1e2 + {value: 0x0000, lo: 0x02}, + {value: 0x047f, lo: 0xaf, hi: 0xaf}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x4e, offset 0x1e5 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x4f, offset 0x1e7 + {value: 0x0000, lo: 0x01}, + {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, + // Block 0x50, offset 0x1e9 + {value: 0x0000, lo: 0x01}, + {value: 0x162f, lo: 0xb3, hi: 0xb3}, + // Block 0x51, offset 0x1eb + {value: 0x0004, lo: 0x0b}, + {value: 0x1597, lo: 0x80, hi: 0x82}, + {value: 0x15af, lo: 0x83, hi: 0x83}, + {value: 0x15c7, lo: 0x84, hi: 0x85}, + {value: 0x15d7, lo: 0x86, hi: 0x89}, + {value: 0x15eb, lo: 0x8a, hi: 0x8c}, + {value: 0x15ff, lo: 0x8d, hi: 0x8d}, + {value: 0x1607, lo: 0x8e, hi: 0x8e}, + {value: 0x160f, lo: 0x8f, hi: 0x90}, + {value: 0x161b, lo: 0x91, hi: 0x93}, + {value: 0x162b, lo: 0x94, hi: 0x94}, + {value: 0x1633, lo: 0x95, hi: 0x95}, + // Block 0x52, offset 0x1f7 + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xae}, + {value: 0x812f, lo: 0xaf, hi: 0xaf}, + {value: 0x04b3, lo: 0xb6, hi: 0xb6}, + {value: 0x0887, lo: 0xb8, hi: 0xba}, + // Block 0x53, offset 0x201 + {value: 0x0006, lo: 0x09}, + {value: 0x0313, lo: 0xb1, hi: 0xb1}, + {value: 0x0317, lo: 0xb2, hi: 0xb2}, + {value: 0x4a3b, lo: 0xb3, hi: 0xb3}, + {value: 0x031b, lo: 0xb4, hi: 0xb4}, + {value: 0x4a41, lo: 0xb5, hi: 0xb6}, + {value: 0x031f, lo: 0xb7, hi: 0xb7}, + {value: 0x0323, lo: 0xb8, hi: 0xb8}, + {value: 0x0327, lo: 0xb9, hi: 0xb9}, + {value: 0x4a4d, lo: 0xba, hi: 0xbf}, + // Block 0x54, offset 0x20b + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x55, offset 0x20e + {value: 0x0000, lo: 0x03}, + {value: 0x020f, lo: 0x9c, hi: 0x9c}, + {value: 0x0212, lo: 0x9d, hi: 0x9d}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x56, offset 0x212 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x57, offset 0x214 + {value: 0x0000, lo: 0x01}, + {value: 0x163b, lo: 0xb0, hi: 0xb0}, + // Block 0x58, offset 0x216 + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x59, offset 0x218 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x5a, offset 0x21a + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x5b, offset 0x21d + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x5c, offset 0x21f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x5d, offset 0x221 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x5e, offset 0x223 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x5f, offset 0x225 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x60, offset 0x22b + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x61, offset 0x22e + {value: 0x0008, lo: 0x03}, + {value: 0x1637, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1643, lo: 0x9f, hi: 0x9f}, + // Block 0x62, offset 0x232 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x63, offset 0x234 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x64, offset 0x23b + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x65, offset 0x241 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x66, offset 0x247 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x67, offset 0x24f + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x68, offset 0x255 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x69, offset 0x25b + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x6a, offset 0x261 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x6b, offset 0x265 + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6c, offset 0x267 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6d, offset 0x269 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x6e, offset 0x26b + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x6f, offset 0x26d + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x70, offset 0x273 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x71, offset 0x276 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x279 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x73, offset 0x281 + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x74, offset 0x288 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x75, offset 0x28b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x76, offset 0x28e + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x77, offset 0x290 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x78, offset 0x298 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + // Block 0x79, offset 0x29b + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7a, offset 0x2a2 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7b, offset 0x2a5 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7c, offset 0x2ab + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x7d, offset 0x2ad + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7e, offset 0x2af + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x7f, offset 0x2b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x80, offset 0x2b4 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x81, offset 0x2b6 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x82, offset 0x2b8 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x83, offset 0x2ba + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x84, offset 0x2c7 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x85, offset 0x2d1 + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x86, offset 0x2d3 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x87, offset 0x2d5 + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x88, offset 0x2d9 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x89, offset 0x2de + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x8a, offset 0x2ea + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x8b, offset 0x2ef + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x8c, offset 0x2f8 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x8d, offset 0x2fe + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x8e, offset 0x303 + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x8f, offset 0x307 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x90, offset 0x30c + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x91, offset 0x310 + {value: 0x0003, lo: 0x0f}, + {value: 0x01b8, lo: 0x80, hi: 0x80}, + {value: 0x045f, lo: 0x81, hi: 0x81}, + {value: 0x01bb, lo: 0x82, hi: 0x9a}, + {value: 0x045b, lo: 0x9b, hi: 0x9b}, + {value: 0x01c7, lo: 0x9c, hi: 0x9c}, + {value: 0x01d0, lo: 0x9d, hi: 0x9d}, + {value: 0x01d6, lo: 0x9e, hi: 0x9e}, + {value: 0x01fa, lo: 0x9f, hi: 0x9f}, + {value: 0x01eb, lo: 0xa0, hi: 0xa0}, + {value: 0x01e8, lo: 0xa1, hi: 0xa1}, + {value: 0x0173, lo: 0xa2, hi: 0xb2}, + {value: 0x0188, lo: 0xb3, hi: 0xb3}, + {value: 0x01a6, lo: 0xb4, hi: 0xba}, + {value: 0x045f, lo: 0xbb, hi: 0xbb}, + {value: 0x01bb, lo: 0xbc, hi: 0xbf}, + // Block 0x92, offset 0x320 + {value: 0x0003, lo: 0x0d}, + {value: 0x01c7, lo: 0x80, hi: 0x94}, + {value: 0x045b, lo: 0x95, hi: 0x95}, + {value: 0x01c7, lo: 0x96, hi: 0x96}, + {value: 0x01d0, lo: 0x97, hi: 0x97}, + {value: 0x01d6, lo: 0x98, hi: 0x98}, + {value: 0x01fa, lo: 0x99, hi: 0x99}, + {value: 0x01eb, lo: 0x9a, hi: 0x9a}, + {value: 0x01e8, lo: 0x9b, hi: 0x9b}, + {value: 0x0173, lo: 0x9c, hi: 0xac}, + {value: 0x0188, lo: 0xad, hi: 0xad}, + {value: 0x01a6, lo: 0xae, hi: 0xb4}, + {value: 0x045f, lo: 0xb5, hi: 0xb5}, + {value: 0x01bb, lo: 0xb6, hi: 0xbf}, + // Block 0x93, offset 0x32e + {value: 0x0003, lo: 0x0d}, + {value: 0x01d9, lo: 0x80, hi: 0x8e}, + {value: 0x045b, lo: 0x8f, hi: 0x8f}, + {value: 0x01c7, lo: 0x90, hi: 0x90}, + {value: 0x01d0, lo: 0x91, hi: 0x91}, + {value: 0x01d6, lo: 0x92, hi: 0x92}, + {value: 0x01fa, lo: 0x93, hi: 0x93}, + {value: 0x01eb, lo: 0x94, hi: 0x94}, + {value: 0x01e8, lo: 0x95, hi: 0x95}, + {value: 0x0173, lo: 0x96, hi: 0xa6}, + {value: 0x0188, lo: 0xa7, hi: 0xa7}, + {value: 0x01a6, lo: 0xa8, hi: 0xae}, + {value: 0x045f, lo: 0xaf, hi: 0xaf}, + {value: 0x01bb, lo: 0xb0, hi: 0xbf}, + // Block 0x94, offset 0x33c + {value: 0x0003, lo: 0x0d}, + {value: 0x01eb, lo: 0x80, hi: 0x88}, + {value: 0x045b, lo: 0x89, hi: 0x89}, + {value: 0x01c7, lo: 0x8a, hi: 0x8a}, + {value: 0x01d0, lo: 0x8b, hi: 0x8b}, + {value: 0x01d6, lo: 0x8c, hi: 0x8c}, + {value: 0x01fa, lo: 0x8d, hi: 0x8d}, + {value: 0x01eb, lo: 0x8e, hi: 0x8e}, + {value: 0x01e8, lo: 0x8f, hi: 0x8f}, + {value: 0x0173, lo: 0x90, hi: 0xa0}, + {value: 0x0188, lo: 0xa1, hi: 0xa1}, + {value: 0x01a6, lo: 0xa2, hi: 0xa8}, + {value: 0x045f, lo: 0xa9, hi: 0xa9}, + {value: 0x01bb, lo: 0xaa, hi: 0xbf}, + // Block 0x95, offset 0x34a + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x96, offset 0x350 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x97, offset 0x352 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x98, offset 0x355 + {value: 0x0002, lo: 0x09}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1951, lo: 0x8a, hi: 0x8a}, + {value: 0x1981, lo: 0x8b, hi: 0x8b}, + {value: 0x199c, lo: 0x8c, hi: 0x8c}, + {value: 0x19a2, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc0, lo: 0x8e, hi: 0x8e}, + {value: 0x19ae, lo: 0x8f, hi: 0x8f}, + {value: 0x197b, lo: 0xaa, hi: 0xaa}, + {value: 0x197e, lo: 0xab, hi: 0xab}, + // Block 0x99, offset 0x35f + {value: 0x0000, lo: 0x01}, + {value: 0x193f, lo: 0x90, hi: 0x90}, + // Block 0x9a, offset 0x361 + {value: 0x0028, lo: 0x09}, + {value: 0x2862, lo: 0x80, hi: 0x80}, + {value: 0x2826, lo: 0x81, hi: 0x81}, + {value: 0x2830, lo: 0x82, hi: 0x82}, + {value: 0x2844, lo: 0x83, hi: 0x84}, + {value: 0x284e, lo: 0x85, hi: 0x86}, + {value: 0x283a, lo: 0x87, hi: 0x87}, + {value: 0x2858, lo: 0x88, hi: 0x88}, + {value: 0x0b6f, lo: 0x90, hi: 0x90}, + {value: 0x08e7, lo: 0x91, hi: 0x91}, +} + +// recompMap: 7520 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54006 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/transform.go b/vendor/golang.org/x/text/unicode/norm/transform.go new file mode 100644 index 000000000..a1d366ae4 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/transform.go @@ -0,0 +1,88 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import ( + "unicode/utf8" + + "golang.org/x/text/transform" +) + +// Reset implements the Reset method of the transform.Transformer interface. +func (Form) Reset() {} + +// Transform implements the Transform method of the transform.Transformer +// interface. It may need to write segments of up to MaxSegmentSize at once. +// Users should either catch ErrShortDst and allow dst to grow or have dst be at +// least of size MaxTransformChunkSize to be guaranteed of progress. +func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + // Cap the maximum number of src bytes to check. + b := src + eof := atEOF + if ns := len(dst); ns < len(b) { + err = transform.ErrShortDst + eof = false + b = b[:ns] + } + i, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), eof) + n := copy(dst, b[:i]) + if !ok { + nDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF) + return nDst + n, nSrc + n, err + } + + if err == nil && n < len(src) && !atEOF { + err = transform.ErrShortSrc + } + return n, n, err +} + +func flushTransform(rb *reorderBuffer) bool { + // Write out (must fully fit in dst, or else it is an ErrShortDst). + if len(rb.out) < rb.nrune*utf8.UTFMax { + return false + } + rb.out = rb.out[rb.flushCopy(rb.out):] + return true +} + +var errs = []error{nil, transform.ErrShortDst, transform.ErrShortSrc} + +// transform implements the transform.Transformer interface. It is only called +// when quickSpan does not pass for a given string. +func (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + // TODO: get rid of reorderBuffer. See CL 23460044. + rb := reorderBuffer{} + rb.init(f, src) + for { + // Load segment into reorder buffer. + rb.setFlusher(dst[nDst:], flushTransform) + end := decomposeSegment(&rb, nSrc, atEOF) + if end < 0 { + return nDst, nSrc, errs[-end] + } + nDst = len(dst) - len(rb.out) + nSrc = end + + // Next quickSpan. + end = rb.nsrc + eof := atEOF + if n := nSrc + len(dst) - nDst; n < end { + err = transform.ErrShortDst + end = n + eof = false + } + end, ok := rb.f.quickSpan(rb.src, nSrc, end, eof) + n := copy(dst[nDst:], rb.src.bytes[nSrc:end]) + nSrc += n + nDst += n + if ok { + if err == nil && n < rb.nsrc && !atEOF { + err = transform.ErrShortSrc + } + return nDst, nSrc, err + } + } +} diff --git a/vendor/golang.org/x/text/unicode/norm/trie.go b/vendor/golang.org/x/text/unicode/norm/trie.go new file mode 100644 index 000000000..423386bf4 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/norm/trie.go @@ -0,0 +1,54 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +type valueRange struct { + value uint16 // header: value:stride + lo, hi byte // header: lo:n +} + +type sparseBlocks struct { + values []valueRange + offset []uint16 +} + +var nfcSparse = sparseBlocks{ + values: nfcSparseValues[:], + offset: nfcSparseOffset[:], +} + +var nfkcSparse = sparseBlocks{ + values: nfkcSparseValues[:], + offset: nfkcSparseOffset[:], +} + +var ( + nfcData = newNfcTrie(0) + nfkcData = newNfkcTrie(0) +) + +// lookupValue determines the type of block n and looks up the value for b. +// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block +// is a list of ranges with an accompanying value. Given a matching range r, +// the value for b is by r.value + (b - r.lo) * stride. +func (t *sparseBlocks) lookup(n uint32, b byte) uint16 { + offset := t.offset[n] + header := t.values[offset] + lo := offset + 1 + hi := lo + uint16(header.lo) + for lo < hi { + m := lo + (hi-lo)/2 + r := t.values[m] + if r.lo <= b && b <= r.hi { + return r.value + uint16(b-r.lo)*header.value + } + if b < r.lo { + hi = m + } else { + lo = m + 1 + } + } + return 0 +} diff --git a/vendor/google.golang.org/appengine/LICENSE b/vendor/google.golang.org/appengine/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/google.golang.org/appengine/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/google.golang.org/appengine/internal/api.go b/vendor/google.golang.org/appengine/internal/api.go new file mode 100644 index 000000000..721053c20 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/api.go @@ -0,0 +1,678 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build !appengine + +package internal + +import ( + "bytes" + "errors" + "fmt" + "io/ioutil" + "log" + "net" + "net/http" + "net/url" + "os" + "runtime" + "strconv" + "strings" + "sync" + "sync/atomic" + "time" + + "github.com/golang/protobuf/proto" + netcontext "golang.org/x/net/context" + + basepb "google.golang.org/appengine/internal/base" + logpb "google.golang.org/appengine/internal/log" + remotepb "google.golang.org/appengine/internal/remote_api" +) + +const ( + apiPath = "/rpc_http" + defaultTicketSuffix = "/default.20150612t184001.0" +) + +var ( + // Incoming headers. + ticketHeader = http.CanonicalHeaderKey("X-AppEngine-API-Ticket") + dapperHeader = http.CanonicalHeaderKey("X-Google-DapperTraceInfo") + traceHeader = http.CanonicalHeaderKey("X-Cloud-Trace-Context") + curNamespaceHeader = http.CanonicalHeaderKey("X-AppEngine-Current-Namespace") + userIPHeader = http.CanonicalHeaderKey("X-AppEngine-User-IP") + remoteAddrHeader = http.CanonicalHeaderKey("X-AppEngine-Remote-Addr") + devRequestIdHeader = http.CanonicalHeaderKey("X-Appengine-Dev-Request-Id") + + // Outgoing headers. + apiEndpointHeader = http.CanonicalHeaderKey("X-Google-RPC-Service-Endpoint") + apiEndpointHeaderValue = []string{"app-engine-apis"} + apiMethodHeader = http.CanonicalHeaderKey("X-Google-RPC-Service-Method") + apiMethodHeaderValue = []string{"/VMRemoteAPI.CallRemoteAPI"} + apiDeadlineHeader = http.CanonicalHeaderKey("X-Google-RPC-Service-Deadline") + apiContentType = http.CanonicalHeaderKey("Content-Type") + apiContentTypeValue = []string{"application/octet-stream"} + logFlushHeader = http.CanonicalHeaderKey("X-AppEngine-Log-Flush-Count") + + apiHTTPClient = &http.Client{ + Transport: &http.Transport{ + Proxy: http.ProxyFromEnvironment, + Dial: limitDial, + MaxIdleConns: 1000, + MaxIdleConnsPerHost: 10000, + IdleConnTimeout: 90 * time.Second, + }, + } + + defaultTicketOnce sync.Once + defaultTicket string + backgroundContextOnce sync.Once + backgroundContext netcontext.Context +) + +func apiURL() *url.URL { + host, port := "appengine.googleapis.internal", "10001" + if h := os.Getenv("API_HOST"); h != "" { + host = h + } + if p := os.Getenv("API_PORT"); p != "" { + port = p + } + return &url.URL{ + Scheme: "http", + Host: host + ":" + port, + Path: apiPath, + } +} + +func handleHTTP(w http.ResponseWriter, r *http.Request) { + c := &context{ + req: r, + outHeader: w.Header(), + apiURL: apiURL(), + } + r = r.WithContext(withContext(r.Context(), c)) + c.req = r + + stopFlushing := make(chan int) + + // Patch up RemoteAddr so it looks reasonable. + if addr := r.Header.Get(userIPHeader); addr != "" { + r.RemoteAddr = addr + } else if addr = r.Header.Get(remoteAddrHeader); addr != "" { + r.RemoteAddr = addr + } else { + // Should not normally reach here, but pick a sensible default anyway. + r.RemoteAddr = "127.0.0.1" + } + // The address in the headers will most likely be of these forms: + // 123.123.123.123 + // 2001:db8::1 + // net/http.Request.RemoteAddr is specified to be in "IP:port" form. + if _, _, err := net.SplitHostPort(r.RemoteAddr); err != nil { + // Assume the remote address is only a host; add a default port. + r.RemoteAddr = net.JoinHostPort(r.RemoteAddr, "80") + } + + // Start goroutine responsible for flushing app logs. + // This is done after adding c to ctx.m (and stopped before removing it) + // because flushing logs requires making an API call. + go c.logFlusher(stopFlushing) + + executeRequestSafely(c, r) + c.outHeader = nil // make sure header changes aren't respected any more + + stopFlushing <- 1 // any logging beyond this point will be dropped + + // Flush any pending logs asynchronously. + c.pendingLogs.Lock() + flushes := c.pendingLogs.flushes + if len(c.pendingLogs.lines) > 0 { + flushes++ + } + c.pendingLogs.Unlock() + flushed := make(chan struct{}) + go func() { + defer close(flushed) + // Force a log flush, because with very short requests we + // may not ever flush logs. + c.flushLog(true) + }() + w.Header().Set(logFlushHeader, strconv.Itoa(flushes)) + + // Avoid nil Write call if c.Write is never called. + if c.outCode != 0 { + w.WriteHeader(c.outCode) + } + if c.outBody != nil { + w.Write(c.outBody) + } + // Wait for the last flush to complete before returning, + // otherwise the security ticket will not be valid. + <-flushed +} + +func executeRequestSafely(c *context, r *http.Request) { + defer func() { + if x := recover(); x != nil { + logf(c, 4, "%s", renderPanic(x)) // 4 == critical + c.outCode = 500 + } + }() + + http.DefaultServeMux.ServeHTTP(c, r) +} + +func renderPanic(x interface{}) string { + buf := make([]byte, 16<<10) // 16 KB should be plenty + buf = buf[:runtime.Stack(buf, false)] + + // Remove the first few stack frames: + // this func + // the recover closure in the caller + // That will root the stack trace at the site of the panic. + const ( + skipStart = "internal.renderPanic" + skipFrames = 2 + ) + start := bytes.Index(buf, []byte(skipStart)) + p := start + for i := 0; i < skipFrames*2 && p+1 < len(buf); i++ { + p = bytes.IndexByte(buf[p+1:], '\n') + p + 1 + if p < 0 { + break + } + } + if p >= 0 { + // buf[start:p+1] is the block to remove. + // Copy buf[p+1:] over buf[start:] and shrink buf. + copy(buf[start:], buf[p+1:]) + buf = buf[:len(buf)-(p+1-start)] + } + + // Add panic heading. + head := fmt.Sprintf("panic: %v\n\n", x) + if len(head) > len(buf) { + // Extremely unlikely to happen. + return head + } + copy(buf[len(head):], buf) + copy(buf, head) + + return string(buf) +} + +// context represents the context of an in-flight HTTP request. +// It implements the appengine.Context and http.ResponseWriter interfaces. +type context struct { + req *http.Request + + outCode int + outHeader http.Header + outBody []byte + + pendingLogs struct { + sync.Mutex + lines []*logpb.UserAppLogLine + flushes int + } + + apiURL *url.URL +} + +var contextKey = "holds a *context" + +// jointContext joins two contexts in a superficial way. +// It takes values and timeouts from a base context, and only values from another context. +type jointContext struct { + base netcontext.Context + valuesOnly netcontext.Context +} + +func (c jointContext) Deadline() (time.Time, bool) { + return c.base.Deadline() +} + +func (c jointContext) Done() <-chan struct{} { + return c.base.Done() +} + +func (c jointContext) Err() error { + return c.base.Err() +} + +func (c jointContext) Value(key interface{}) interface{} { + if val := c.base.Value(key); val != nil { + return val + } + return c.valuesOnly.Value(key) +} + +// fromContext returns the App Engine context or nil if ctx is not +// derived from an App Engine context. +func fromContext(ctx netcontext.Context) *context { + c, _ := ctx.Value(&contextKey).(*context) + return c +} + +func withContext(parent netcontext.Context, c *context) netcontext.Context { + ctx := netcontext.WithValue(parent, &contextKey, c) + if ns := c.req.Header.Get(curNamespaceHeader); ns != "" { + ctx = withNamespace(ctx, ns) + } + return ctx +} + +func toContext(c *context) netcontext.Context { + return withContext(netcontext.Background(), c) +} + +func IncomingHeaders(ctx netcontext.Context) http.Header { + if c := fromContext(ctx); c != nil { + return c.req.Header + } + return nil +} + +func ReqContext(req *http.Request) netcontext.Context { + return req.Context() +} + +func WithContext(parent netcontext.Context, req *http.Request) netcontext.Context { + return jointContext{ + base: parent, + valuesOnly: req.Context(), + } +} + +// DefaultTicket returns a ticket used for background context or dev_appserver. +func DefaultTicket() string { + defaultTicketOnce.Do(func() { + if IsDevAppServer() { + defaultTicket = "testapp" + defaultTicketSuffix + return + } + appID := partitionlessAppID() + escAppID := strings.Replace(strings.Replace(appID, ":", "_", -1), ".", "_", -1) + majVersion := VersionID(nil) + if i := strings.Index(majVersion, "."); i > 0 { + majVersion = majVersion[:i] + } + defaultTicket = fmt.Sprintf("%s/%s.%s.%s", escAppID, ModuleName(nil), majVersion, InstanceID()) + }) + return defaultTicket +} + +func BackgroundContext() netcontext.Context { + backgroundContextOnce.Do(func() { + // Compute background security ticket. + ticket := DefaultTicket() + + c := &context{ + req: &http.Request{ + Header: http.Header{ + ticketHeader: []string{ticket}, + }, + }, + apiURL: apiURL(), + } + backgroundContext = toContext(c) + + // TODO(dsymonds): Wire up the shutdown handler to do a final flush. + go c.logFlusher(make(chan int)) + }) + + return backgroundContext +} + +// RegisterTestRequest registers the HTTP request req for testing, such that +// any API calls are sent to the provided URL. It returns a closure to delete +// the registration. +// It should only be used by aetest package. +func RegisterTestRequest(req *http.Request, apiURL *url.URL, decorate func(netcontext.Context) netcontext.Context) (*http.Request, func()) { + c := &context{ + req: req, + apiURL: apiURL, + } + ctx := withContext(decorate(req.Context()), c) + req = req.WithContext(ctx) + c.req = req + return req, func() {} +} + +var errTimeout = &CallError{ + Detail: "Deadline exceeded", + Code: int32(remotepb.RpcError_CANCELLED), + Timeout: true, +} + +func (c *context) Header() http.Header { return c.outHeader } + +// Copied from $GOROOT/src/pkg/net/http/transfer.go. Some response status +// codes do not permit a response body (nor response entity headers such as +// Content-Length, Content-Type, etc). +func bodyAllowedForStatus(status int) bool { + switch { + case status >= 100 && status <= 199: + return false + case status == 204: + return false + case status == 304: + return false + } + return true +} + +func (c *context) Write(b []byte) (int, error) { + if c.outCode == 0 { + c.WriteHeader(http.StatusOK) + } + if len(b) > 0 && !bodyAllowedForStatus(c.outCode) { + return 0, http.ErrBodyNotAllowed + } + c.outBody = append(c.outBody, b...) + return len(b), nil +} + +func (c *context) WriteHeader(code int) { + if c.outCode != 0 { + logf(c, 3, "WriteHeader called multiple times on request.") // error level + return + } + c.outCode = code +} + +func (c *context) post(body []byte, timeout time.Duration) (b []byte, err error) { + hreq := &http.Request{ + Method: "POST", + URL: c.apiURL, + Header: http.Header{ + apiEndpointHeader: apiEndpointHeaderValue, + apiMethodHeader: apiMethodHeaderValue, + apiContentType: apiContentTypeValue, + apiDeadlineHeader: []string{strconv.FormatFloat(timeout.Seconds(), 'f', -1, 64)}, + }, + Body: ioutil.NopCloser(bytes.NewReader(body)), + ContentLength: int64(len(body)), + Host: c.apiURL.Host, + } + if info := c.req.Header.Get(dapperHeader); info != "" { + hreq.Header.Set(dapperHeader, info) + } + if info := c.req.Header.Get(traceHeader); info != "" { + hreq.Header.Set(traceHeader, info) + } + + tr := apiHTTPClient.Transport.(*http.Transport) + + var timedOut int32 // atomic; set to 1 if timed out + t := time.AfterFunc(timeout, func() { + atomic.StoreInt32(&timedOut, 1) + tr.CancelRequest(hreq) + }) + defer t.Stop() + defer func() { + // Check if timeout was exceeded. + if atomic.LoadInt32(&timedOut) != 0 { + err = errTimeout + } + }() + + hresp, err := apiHTTPClient.Do(hreq) + if err != nil { + return nil, &CallError{ + Detail: fmt.Sprintf("service bridge HTTP failed: %v", err), + Code: int32(remotepb.RpcError_UNKNOWN), + } + } + defer hresp.Body.Close() + hrespBody, err := ioutil.ReadAll(hresp.Body) + if hresp.StatusCode != 200 { + return nil, &CallError{ + Detail: fmt.Sprintf("service bridge returned HTTP %d (%q)", hresp.StatusCode, hrespBody), + Code: int32(remotepb.RpcError_UNKNOWN), + } + } + if err != nil { + return nil, &CallError{ + Detail: fmt.Sprintf("service bridge response bad: %v", err), + Code: int32(remotepb.RpcError_UNKNOWN), + } + } + return hrespBody, nil +} + +func Call(ctx netcontext.Context, service, method string, in, out proto.Message) error { + if ns := NamespaceFromContext(ctx); ns != "" { + if fn, ok := NamespaceMods[service]; ok { + fn(in, ns) + } + } + + if f, ctx, ok := callOverrideFromContext(ctx); ok { + return f(ctx, service, method, in, out) + } + + // Handle already-done contexts quickly. + select { + case <-ctx.Done(): + return ctx.Err() + default: + } + + c := fromContext(ctx) + if c == nil { + // Give a good error message rather than a panic lower down. + return errNotAppEngineContext + } + + // Apply transaction modifications if we're in a transaction. + if t := transactionFromContext(ctx); t != nil { + if t.finished { + return errors.New("transaction context has expired") + } + applyTransaction(in, &t.transaction) + } + + // Default RPC timeout is 60s. + timeout := 60 * time.Second + if deadline, ok := ctx.Deadline(); ok { + timeout = deadline.Sub(time.Now()) + } + + data, err := proto.Marshal(in) + if err != nil { + return err + } + + ticket := c.req.Header.Get(ticketHeader) + // Use a test ticket under test environment. + if ticket == "" { + if appid := ctx.Value(&appIDOverrideKey); appid != nil { + ticket = appid.(string) + defaultTicketSuffix + } + } + // Fall back to use background ticket when the request ticket is not available in Flex or dev_appserver. + if ticket == "" { + ticket = DefaultTicket() + } + if dri := c.req.Header.Get(devRequestIdHeader); IsDevAppServer() && dri != "" { + ticket = dri + } + req := &remotepb.Request{ + ServiceName: &service, + Method: &method, + Request: data, + RequestId: &ticket, + } + hreqBody, err := proto.Marshal(req) + if err != nil { + return err + } + + hrespBody, err := c.post(hreqBody, timeout) + if err != nil { + return err + } + + res := &remotepb.Response{} + if err := proto.Unmarshal(hrespBody, res); err != nil { + return err + } + if res.RpcError != nil { + ce := &CallError{ + Detail: res.RpcError.GetDetail(), + Code: *res.RpcError.Code, + } + switch remotepb.RpcError_ErrorCode(ce.Code) { + case remotepb.RpcError_CANCELLED, remotepb.RpcError_DEADLINE_EXCEEDED: + ce.Timeout = true + } + return ce + } + if res.ApplicationError != nil { + return &APIError{ + Service: *req.ServiceName, + Detail: res.ApplicationError.GetDetail(), + Code: *res.ApplicationError.Code, + } + } + if res.Exception != nil || res.JavaException != nil { + // This shouldn't happen, but let's be defensive. + return &CallError{ + Detail: "service bridge returned exception", + Code: int32(remotepb.RpcError_UNKNOWN), + } + } + return proto.Unmarshal(res.Response, out) +} + +func (c *context) Request() *http.Request { + return c.req +} + +func (c *context) addLogLine(ll *logpb.UserAppLogLine) { + // Truncate long log lines. + // TODO(dsymonds): Check if this is still necessary. + const lim = 8 << 10 + if len(*ll.Message) > lim { + suffix := fmt.Sprintf("...(length %d)", len(*ll.Message)) + ll.Message = proto.String((*ll.Message)[:lim-len(suffix)] + suffix) + } + + c.pendingLogs.Lock() + c.pendingLogs.lines = append(c.pendingLogs.lines, ll) + c.pendingLogs.Unlock() +} + +var logLevelName = map[int64]string{ + 0: "DEBUG", + 1: "INFO", + 2: "WARNING", + 3: "ERROR", + 4: "CRITICAL", +} + +func logf(c *context, level int64, format string, args ...interface{}) { + if c == nil { + panic("not an App Engine context") + } + s := fmt.Sprintf(format, args...) + s = strings.TrimRight(s, "\n") // Remove any trailing newline characters. + c.addLogLine(&logpb.UserAppLogLine{ + TimestampUsec: proto.Int64(time.Now().UnixNano() / 1e3), + Level: &level, + Message: &s, + }) + // Only duplicate log to stderr if not running on App Engine second generation + if !IsSecondGen() { + log.Print(logLevelName[level] + ": " + s) + } +} + +// flushLog attempts to flush any pending logs to the appserver. +// It should not be called concurrently. +func (c *context) flushLog(force bool) (flushed bool) { + c.pendingLogs.Lock() + // Grab up to 30 MB. We can get away with up to 32 MB, but let's be cautious. + n, rem := 0, 30<<20 + for ; n < len(c.pendingLogs.lines); n++ { + ll := c.pendingLogs.lines[n] + // Each log line will require about 3 bytes of overhead. + nb := proto.Size(ll) + 3 + if nb > rem { + break + } + rem -= nb + } + lines := c.pendingLogs.lines[:n] + c.pendingLogs.lines = c.pendingLogs.lines[n:] + c.pendingLogs.Unlock() + + if len(lines) == 0 && !force { + // Nothing to flush. + return false + } + + rescueLogs := false + defer func() { + if rescueLogs { + c.pendingLogs.Lock() + c.pendingLogs.lines = append(lines, c.pendingLogs.lines...) + c.pendingLogs.Unlock() + } + }() + + buf, err := proto.Marshal(&logpb.UserAppLogGroup{ + LogLine: lines, + }) + if err != nil { + log.Printf("internal.flushLog: marshaling UserAppLogGroup: %v", err) + rescueLogs = true + return false + } + + req := &logpb.FlushRequest{ + Logs: buf, + } + res := &basepb.VoidProto{} + c.pendingLogs.Lock() + c.pendingLogs.flushes++ + c.pendingLogs.Unlock() + if err := Call(toContext(c), "logservice", "Flush", req, res); err != nil { + log.Printf("internal.flushLog: Flush RPC: %v", err) + rescueLogs = true + return false + } + return true +} + +const ( + // Log flushing parameters. + flushInterval = 1 * time.Second + forceFlushInterval = 60 * time.Second +) + +func (c *context) logFlusher(stop <-chan int) { + lastFlush := time.Now() + tick := time.NewTicker(flushInterval) + for { + select { + case <-stop: + // Request finished. + tick.Stop() + return + case <-tick.C: + force := time.Now().Sub(lastFlush) > forceFlushInterval + if c.flushLog(force) { + lastFlush = time.Now() + } + } + } +} + +func ContextForTesting(req *http.Request) netcontext.Context { + return toContext(&context{req: req}) +} diff --git a/vendor/google.golang.org/appengine/internal/api_classic.go b/vendor/google.golang.org/appengine/internal/api_classic.go new file mode 100644 index 000000000..f0f40b2e3 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/api_classic.go @@ -0,0 +1,169 @@ +// Copyright 2015 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build appengine + +package internal + +import ( + "errors" + "fmt" + "net/http" + "time" + + "appengine" + "appengine_internal" + basepb "appengine_internal/base" + + "github.com/golang/protobuf/proto" + netcontext "golang.org/x/net/context" +) + +var contextKey = "holds an appengine.Context" + +// fromContext returns the App Engine context or nil if ctx is not +// derived from an App Engine context. +func fromContext(ctx netcontext.Context) appengine.Context { + c, _ := ctx.Value(&contextKey).(appengine.Context) + return c +} + +// This is only for classic App Engine adapters. +func ClassicContextFromContext(ctx netcontext.Context) (appengine.Context, error) { + c := fromContext(ctx) + if c == nil { + return nil, errNotAppEngineContext + } + return c, nil +} + +func withContext(parent netcontext.Context, c appengine.Context) netcontext.Context { + ctx := netcontext.WithValue(parent, &contextKey, c) + + s := &basepb.StringProto{} + c.Call("__go__", "GetNamespace", &basepb.VoidProto{}, s, nil) + if ns := s.GetValue(); ns != "" { + ctx = NamespacedContext(ctx, ns) + } + + return ctx +} + +func IncomingHeaders(ctx netcontext.Context) http.Header { + if c := fromContext(ctx); c != nil { + if req, ok := c.Request().(*http.Request); ok { + return req.Header + } + } + return nil +} + +func ReqContext(req *http.Request) netcontext.Context { + return WithContext(netcontext.Background(), req) +} + +func WithContext(parent netcontext.Context, req *http.Request) netcontext.Context { + c := appengine.NewContext(req) + return withContext(parent, c) +} + +type testingContext struct { + appengine.Context + + req *http.Request +} + +func (t *testingContext) FullyQualifiedAppID() string { return "dev~testcontext" } +func (t *testingContext) Call(service, method string, _, _ appengine_internal.ProtoMessage, _ *appengine_internal.CallOptions) error { + if service == "__go__" && method == "GetNamespace" { + return nil + } + return fmt.Errorf("testingContext: unsupported Call") +} +func (t *testingContext) Request() interface{} { return t.req } + +func ContextForTesting(req *http.Request) netcontext.Context { + return withContext(netcontext.Background(), &testingContext{req: req}) +} + +func Call(ctx netcontext.Context, service, method string, in, out proto.Message) error { + if ns := NamespaceFromContext(ctx); ns != "" { + if fn, ok := NamespaceMods[service]; ok { + fn(in, ns) + } + } + + if f, ctx, ok := callOverrideFromContext(ctx); ok { + return f(ctx, service, method, in, out) + } + + // Handle already-done contexts quickly. + select { + case <-ctx.Done(): + return ctx.Err() + default: + } + + c := fromContext(ctx) + if c == nil { + // Give a good error message rather than a panic lower down. + return errNotAppEngineContext + } + + // Apply transaction modifications if we're in a transaction. + if t := transactionFromContext(ctx); t != nil { + if t.finished { + return errors.New("transaction context has expired") + } + applyTransaction(in, &t.transaction) + } + + var opts *appengine_internal.CallOptions + if d, ok := ctx.Deadline(); ok { + opts = &appengine_internal.CallOptions{ + Timeout: d.Sub(time.Now()), + } + } + + err := c.Call(service, method, in, out, opts) + switch v := err.(type) { + case *appengine_internal.APIError: + return &APIError{ + Service: v.Service, + Detail: v.Detail, + Code: v.Code, + } + case *appengine_internal.CallError: + return &CallError{ + Detail: v.Detail, + Code: v.Code, + Timeout: v.Timeout, + } + } + return err +} + +func handleHTTP(w http.ResponseWriter, r *http.Request) { + panic("handleHTTP called; this should be impossible") +} + +func logf(c appengine.Context, level int64, format string, args ...interface{}) { + var fn func(format string, args ...interface{}) + switch level { + case 0: + fn = c.Debugf + case 1: + fn = c.Infof + case 2: + fn = c.Warningf + case 3: + fn = c.Errorf + case 4: + fn = c.Criticalf + default: + // This shouldn't happen. + fn = c.Criticalf + } + fn(format, args...) +} diff --git a/vendor/google.golang.org/appengine/internal/api_common.go b/vendor/google.golang.org/appengine/internal/api_common.go new file mode 100644 index 000000000..e0c0b214b --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/api_common.go @@ -0,0 +1,123 @@ +// Copyright 2015 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package internal + +import ( + "errors" + "os" + + "github.com/golang/protobuf/proto" + netcontext "golang.org/x/net/context" +) + +var errNotAppEngineContext = errors.New("not an App Engine context") + +type CallOverrideFunc func(ctx netcontext.Context, service, method string, in, out proto.Message) error + +var callOverrideKey = "holds []CallOverrideFunc" + +func WithCallOverride(ctx netcontext.Context, f CallOverrideFunc) netcontext.Context { + // We avoid appending to any existing call override + // so we don't risk overwriting a popped stack below. + var cofs []CallOverrideFunc + if uf, ok := ctx.Value(&callOverrideKey).([]CallOverrideFunc); ok { + cofs = append(cofs, uf...) + } + cofs = append(cofs, f) + return netcontext.WithValue(ctx, &callOverrideKey, cofs) +} + +func callOverrideFromContext(ctx netcontext.Context) (CallOverrideFunc, netcontext.Context, bool) { + cofs, _ := ctx.Value(&callOverrideKey).([]CallOverrideFunc) + if len(cofs) == 0 { + return nil, nil, false + } + // We found a list of overrides; grab the last, and reconstitute a + // context that will hide it. + f := cofs[len(cofs)-1] + ctx = netcontext.WithValue(ctx, &callOverrideKey, cofs[:len(cofs)-1]) + return f, ctx, true +} + +type logOverrideFunc func(level int64, format string, args ...interface{}) + +var logOverrideKey = "holds a logOverrideFunc" + +func WithLogOverride(ctx netcontext.Context, f logOverrideFunc) netcontext.Context { + return netcontext.WithValue(ctx, &logOverrideKey, f) +} + +var appIDOverrideKey = "holds a string, being the full app ID" + +func WithAppIDOverride(ctx netcontext.Context, appID string) netcontext.Context { + return netcontext.WithValue(ctx, &appIDOverrideKey, appID) +} + +var namespaceKey = "holds the namespace string" + +func withNamespace(ctx netcontext.Context, ns string) netcontext.Context { + return netcontext.WithValue(ctx, &namespaceKey, ns) +} + +func NamespaceFromContext(ctx netcontext.Context) string { + // If there's no namespace, return the empty string. + ns, _ := ctx.Value(&namespaceKey).(string) + return ns +} + +// FullyQualifiedAppID returns the fully-qualified application ID. +// This may contain a partition prefix (e.g. "s~" for High Replication apps), +// or a domain prefix (e.g. "example.com:"). +func FullyQualifiedAppID(ctx netcontext.Context) string { + if id, ok := ctx.Value(&appIDOverrideKey).(string); ok { + return id + } + return fullyQualifiedAppID(ctx) +} + +func Logf(ctx netcontext.Context, level int64, format string, args ...interface{}) { + if f, ok := ctx.Value(&logOverrideKey).(logOverrideFunc); ok { + f(level, format, args...) + return + } + c := fromContext(ctx) + if c == nil { + panic(errNotAppEngineContext) + } + logf(c, level, format, args...) +} + +// NamespacedContext wraps a Context to support namespaces. +func NamespacedContext(ctx netcontext.Context, namespace string) netcontext.Context { + return withNamespace(ctx, namespace) +} + +// SetTestEnv sets the env variables for testing background ticket in Flex. +func SetTestEnv() func() { + var environ = []struct { + key, value string + }{ + {"GAE_LONG_APP_ID", "my-app-id"}, + {"GAE_MINOR_VERSION", "067924799508853122"}, + {"GAE_MODULE_INSTANCE", "0"}, + {"GAE_MODULE_NAME", "default"}, + {"GAE_MODULE_VERSION", "20150612t184001"}, + } + + for _, v := range environ { + old := os.Getenv(v.key) + os.Setenv(v.key, v.value) + v.value = old + } + return func() { // Restore old environment after the test completes. + for _, v := range environ { + if v.value == "" { + os.Unsetenv(v.key) + continue + } + os.Setenv(v.key, v.value) + } + } +} diff --git a/vendor/google.golang.org/appengine/internal/app_id.go b/vendor/google.golang.org/appengine/internal/app_id.go new file mode 100644 index 000000000..11df8c07b --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/app_id.go @@ -0,0 +1,28 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package internal + +import ( + "strings" +) + +func parseFullAppID(appid string) (partition, domain, displayID string) { + if i := strings.Index(appid, "~"); i != -1 { + partition, appid = appid[:i], appid[i+1:] + } + if i := strings.Index(appid, ":"); i != -1 { + domain, appid = appid[:i], appid[i+1:] + } + return partition, domain, appid +} + +// appID returns "appid" or "domain.com:appid". +func appID(fullAppID string) string { + _, dom, dis := parseFullAppID(fullAppID) + if dom != "" { + return dom + ":" + dis + } + return dis +} diff --git a/vendor/google.golang.org/appengine/internal/base/api_base.pb.go b/vendor/google.golang.org/appengine/internal/base/api_base.pb.go new file mode 100644 index 000000000..db4777e68 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/base/api_base.pb.go @@ -0,0 +1,308 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google.golang.org/appengine/internal/base/api_base.proto + +package base + +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 StringProto struct { + Value *string `protobuf:"bytes,1,req,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StringProto) Reset() { *m = StringProto{} } +func (m *StringProto) String() string { return proto.CompactTextString(m) } +func (*StringProto) ProtoMessage() {} +func (*StringProto) Descriptor() ([]byte, []int) { + return fileDescriptor_api_base_9d49f8792e0c1140, []int{0} +} +func (m *StringProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StringProto.Unmarshal(m, b) +} +func (m *StringProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StringProto.Marshal(b, m, deterministic) +} +func (dst *StringProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringProto.Merge(dst, src) +} +func (m *StringProto) XXX_Size() int { + return xxx_messageInfo_StringProto.Size(m) +} +func (m *StringProto) XXX_DiscardUnknown() { + xxx_messageInfo_StringProto.DiscardUnknown(m) +} + +var xxx_messageInfo_StringProto proto.InternalMessageInfo + +func (m *StringProto) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +type Integer32Proto struct { + Value *int32 `protobuf:"varint,1,req,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Integer32Proto) Reset() { *m = Integer32Proto{} } +func (m *Integer32Proto) String() string { return proto.CompactTextString(m) } +func (*Integer32Proto) ProtoMessage() {} +func (*Integer32Proto) Descriptor() ([]byte, []int) { + return fileDescriptor_api_base_9d49f8792e0c1140, []int{1} +} +func (m *Integer32Proto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Integer32Proto.Unmarshal(m, b) +} +func (m *Integer32Proto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Integer32Proto.Marshal(b, m, deterministic) +} +func (dst *Integer32Proto) XXX_Merge(src proto.Message) { + xxx_messageInfo_Integer32Proto.Merge(dst, src) +} +func (m *Integer32Proto) XXX_Size() int { + return xxx_messageInfo_Integer32Proto.Size(m) +} +func (m *Integer32Proto) XXX_DiscardUnknown() { + xxx_messageInfo_Integer32Proto.DiscardUnknown(m) +} + +var xxx_messageInfo_Integer32Proto proto.InternalMessageInfo + +func (m *Integer32Proto) GetValue() int32 { + if m != nil && m.Value != nil { + return *m.Value + } + return 0 +} + +type Integer64Proto struct { + Value *int64 `protobuf:"varint,1,req,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Integer64Proto) Reset() { *m = Integer64Proto{} } +func (m *Integer64Proto) String() string { return proto.CompactTextString(m) } +func (*Integer64Proto) ProtoMessage() {} +func (*Integer64Proto) Descriptor() ([]byte, []int) { + return fileDescriptor_api_base_9d49f8792e0c1140, []int{2} +} +func (m *Integer64Proto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Integer64Proto.Unmarshal(m, b) +} +func (m *Integer64Proto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Integer64Proto.Marshal(b, m, deterministic) +} +func (dst *Integer64Proto) XXX_Merge(src proto.Message) { + xxx_messageInfo_Integer64Proto.Merge(dst, src) +} +func (m *Integer64Proto) XXX_Size() int { + return xxx_messageInfo_Integer64Proto.Size(m) +} +func (m *Integer64Proto) XXX_DiscardUnknown() { + xxx_messageInfo_Integer64Proto.DiscardUnknown(m) +} + +var xxx_messageInfo_Integer64Proto proto.InternalMessageInfo + +func (m *Integer64Proto) GetValue() int64 { + if m != nil && m.Value != nil { + return *m.Value + } + return 0 +} + +type BoolProto struct { + Value *bool `protobuf:"varint,1,req,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BoolProto) Reset() { *m = BoolProto{} } +func (m *BoolProto) String() string { return proto.CompactTextString(m) } +func (*BoolProto) ProtoMessage() {} +func (*BoolProto) Descriptor() ([]byte, []int) { + return fileDescriptor_api_base_9d49f8792e0c1140, []int{3} +} +func (m *BoolProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BoolProto.Unmarshal(m, b) +} +func (m *BoolProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BoolProto.Marshal(b, m, deterministic) +} +func (dst *BoolProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_BoolProto.Merge(dst, src) +} +func (m *BoolProto) XXX_Size() int { + return xxx_messageInfo_BoolProto.Size(m) +} +func (m *BoolProto) XXX_DiscardUnknown() { + xxx_messageInfo_BoolProto.DiscardUnknown(m) +} + +var xxx_messageInfo_BoolProto proto.InternalMessageInfo + +func (m *BoolProto) GetValue() bool { + if m != nil && m.Value != nil { + return *m.Value + } + return false +} + +type DoubleProto struct { + Value *float64 `protobuf:"fixed64,1,req,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DoubleProto) Reset() { *m = DoubleProto{} } +func (m *DoubleProto) String() string { return proto.CompactTextString(m) } +func (*DoubleProto) ProtoMessage() {} +func (*DoubleProto) Descriptor() ([]byte, []int) { + return fileDescriptor_api_base_9d49f8792e0c1140, []int{4} +} +func (m *DoubleProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DoubleProto.Unmarshal(m, b) +} +func (m *DoubleProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DoubleProto.Marshal(b, m, deterministic) +} +func (dst *DoubleProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_DoubleProto.Merge(dst, src) +} +func (m *DoubleProto) XXX_Size() int { + return xxx_messageInfo_DoubleProto.Size(m) +} +func (m *DoubleProto) XXX_DiscardUnknown() { + xxx_messageInfo_DoubleProto.DiscardUnknown(m) +} + +var xxx_messageInfo_DoubleProto proto.InternalMessageInfo + +func (m *DoubleProto) GetValue() float64 { + if m != nil && m.Value != nil { + return *m.Value + } + return 0 +} + +type BytesProto struct { + Value []byte `protobuf:"bytes,1,req,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BytesProto) Reset() { *m = BytesProto{} } +func (m *BytesProto) String() string { return proto.CompactTextString(m) } +func (*BytesProto) ProtoMessage() {} +func (*BytesProto) Descriptor() ([]byte, []int) { + return fileDescriptor_api_base_9d49f8792e0c1140, []int{5} +} +func (m *BytesProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BytesProto.Unmarshal(m, b) +} +func (m *BytesProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BytesProto.Marshal(b, m, deterministic) +} +func (dst *BytesProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_BytesProto.Merge(dst, src) +} +func (m *BytesProto) XXX_Size() int { + return xxx_messageInfo_BytesProto.Size(m) +} +func (m *BytesProto) XXX_DiscardUnknown() { + xxx_messageInfo_BytesProto.DiscardUnknown(m) +} + +var xxx_messageInfo_BytesProto proto.InternalMessageInfo + +func (m *BytesProto) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +type VoidProto struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *VoidProto) Reset() { *m = VoidProto{} } +func (m *VoidProto) String() string { return proto.CompactTextString(m) } +func (*VoidProto) ProtoMessage() {} +func (*VoidProto) Descriptor() ([]byte, []int) { + return fileDescriptor_api_base_9d49f8792e0c1140, []int{6} +} +func (m *VoidProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_VoidProto.Unmarshal(m, b) +} +func (m *VoidProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_VoidProto.Marshal(b, m, deterministic) +} +func (dst *VoidProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_VoidProto.Merge(dst, src) +} +func (m *VoidProto) XXX_Size() int { + return xxx_messageInfo_VoidProto.Size(m) +} +func (m *VoidProto) XXX_DiscardUnknown() { + xxx_messageInfo_VoidProto.DiscardUnknown(m) +} + +var xxx_messageInfo_VoidProto proto.InternalMessageInfo + +func init() { + proto.RegisterType((*StringProto)(nil), "appengine.base.StringProto") + proto.RegisterType((*Integer32Proto)(nil), "appengine.base.Integer32Proto") + proto.RegisterType((*Integer64Proto)(nil), "appengine.base.Integer64Proto") + proto.RegisterType((*BoolProto)(nil), "appengine.base.BoolProto") + proto.RegisterType((*DoubleProto)(nil), "appengine.base.DoubleProto") + proto.RegisterType((*BytesProto)(nil), "appengine.base.BytesProto") + proto.RegisterType((*VoidProto)(nil), "appengine.base.VoidProto") +} + +func init() { + proto.RegisterFile("google.golang.org/appengine/internal/base/api_base.proto", fileDescriptor_api_base_9d49f8792e0c1140) +} + +var fileDescriptor_api_base_9d49f8792e0c1140 = []byte{ + // 199 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0xcf, 0x3f, 0x4b, 0xc6, 0x30, + 0x10, 0x06, 0x70, 0x5a, 0xad, 0xb4, 0x57, 0xe9, 0x20, 0x0e, 0x1d, 0xb5, 0x05, 0x71, 0x4a, 0x40, + 0x45, 0x9c, 0x83, 0x8b, 0x9b, 0x28, 0x38, 0xb8, 0x48, 0x8a, 0xc7, 0x11, 0x08, 0xb9, 0x90, 0xa6, + 0x82, 0xdf, 0x5e, 0xda, 0xd2, 0xfa, 0xc2, 0x9b, 0xed, 0xfe, 0xfc, 0xe0, 0xe1, 0x81, 0x27, 0x62, + 0x26, 0x8b, 0x82, 0xd8, 0x6a, 0x47, 0x82, 0x03, 0x49, 0xed, 0x3d, 0x3a, 0x32, 0x0e, 0xa5, 0x71, + 0x11, 0x83, 0xd3, 0x56, 0x0e, 0x7a, 0x44, 0xa9, 0xbd, 0xf9, 0x9a, 0x07, 0xe1, 0x03, 0x47, 0xbe, + 0x68, 0x76, 0x27, 0xe6, 0x6b, 0xd7, 0x43, 0xfd, 0x1e, 0x83, 0x71, 0xf4, 0xba, 0xbc, 0x2f, 0xa1, + 0xf8, 0xd1, 0x76, 0xc2, 0x36, 0xbb, 0xca, 0x6f, 0xab, 0xb7, 0x75, 0xe9, 0x6e, 0xa0, 0x79, 0x71, + 0x11, 0x09, 0xc3, 0xfd, 0x5d, 0xc2, 0x15, 0xc7, 0xee, 0xf1, 0x21, 0xe1, 0x4e, 0x36, 0x77, 0x0d, + 0x95, 0x62, 0xb6, 0x09, 0x52, 0x6e, 0xa4, 0x87, 0xfa, 0x99, 0xa7, 0xc1, 0x62, 0x02, 0x65, 0xff, + 0x79, 0xa0, 0x7e, 0x23, 0x8e, 0xab, 0x69, 0x0f, 0xcd, 0xb9, 0xca, 0xcb, 0xdd, 0xd5, 0x50, 0x7d, + 0xb0, 0xf9, 0x5e, 0x98, 0x3a, 0xfb, 0x3c, 0x9d, 0x9b, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xba, + 0x37, 0x25, 0xea, 0x44, 0x01, 0x00, 0x00, +} diff --git a/vendor/google.golang.org/appengine/internal/base/api_base.proto b/vendor/google.golang.org/appengine/internal/base/api_base.proto new file mode 100644 index 000000000..56cd7a3ca --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/base/api_base.proto @@ -0,0 +1,33 @@ +// Built-in base types for API calls. Primarily useful as return types. + +syntax = "proto2"; +option go_package = "base"; + +package appengine.base; + +message StringProto { + required string value = 1; +} + +message Integer32Proto { + required int32 value = 1; +} + +message Integer64Proto { + required int64 value = 1; +} + +message BoolProto { + required bool value = 1; +} + +message DoubleProto { + required double value = 1; +} + +message BytesProto { + required bytes value = 1 [ctype=CORD]; +} + +message VoidProto { +} diff --git a/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go b/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go new file mode 100644 index 000000000..2fb748289 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go @@ -0,0 +1,4367 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google.golang.org/appengine/internal/datastore/datastore_v3.proto + +package datastore + +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 Property_Meaning int32 + +const ( + Property_NO_MEANING Property_Meaning = 0 + Property_BLOB Property_Meaning = 14 + Property_TEXT Property_Meaning = 15 + Property_BYTESTRING Property_Meaning = 16 + Property_ATOM_CATEGORY Property_Meaning = 1 + Property_ATOM_LINK Property_Meaning = 2 + Property_ATOM_TITLE Property_Meaning = 3 + Property_ATOM_CONTENT Property_Meaning = 4 + Property_ATOM_SUMMARY Property_Meaning = 5 + Property_ATOM_AUTHOR Property_Meaning = 6 + Property_GD_WHEN Property_Meaning = 7 + Property_GD_EMAIL Property_Meaning = 8 + Property_GEORSS_POINT Property_Meaning = 9 + Property_GD_IM Property_Meaning = 10 + Property_GD_PHONENUMBER Property_Meaning = 11 + Property_GD_POSTALADDRESS Property_Meaning = 12 + Property_GD_RATING Property_Meaning = 13 + Property_BLOBKEY Property_Meaning = 17 + Property_ENTITY_PROTO Property_Meaning = 19 + Property_INDEX_VALUE Property_Meaning = 18 +) + +var Property_Meaning_name = map[int32]string{ + 0: "NO_MEANING", + 14: "BLOB", + 15: "TEXT", + 16: "BYTESTRING", + 1: "ATOM_CATEGORY", + 2: "ATOM_LINK", + 3: "ATOM_TITLE", + 4: "ATOM_CONTENT", + 5: "ATOM_SUMMARY", + 6: "ATOM_AUTHOR", + 7: "GD_WHEN", + 8: "GD_EMAIL", + 9: "GEORSS_POINT", + 10: "GD_IM", + 11: "GD_PHONENUMBER", + 12: "GD_POSTALADDRESS", + 13: "GD_RATING", + 17: "BLOBKEY", + 19: "ENTITY_PROTO", + 18: "INDEX_VALUE", +} +var Property_Meaning_value = map[string]int32{ + "NO_MEANING": 0, + "BLOB": 14, + "TEXT": 15, + "BYTESTRING": 16, + "ATOM_CATEGORY": 1, + "ATOM_LINK": 2, + "ATOM_TITLE": 3, + "ATOM_CONTENT": 4, + "ATOM_SUMMARY": 5, + "ATOM_AUTHOR": 6, + "GD_WHEN": 7, + "GD_EMAIL": 8, + "GEORSS_POINT": 9, + "GD_IM": 10, + "GD_PHONENUMBER": 11, + "GD_POSTALADDRESS": 12, + "GD_RATING": 13, + "BLOBKEY": 17, + "ENTITY_PROTO": 19, + "INDEX_VALUE": 18, +} + +func (x Property_Meaning) Enum() *Property_Meaning { + p := new(Property_Meaning) + *p = x + return p +} +func (x Property_Meaning) String() string { + return proto.EnumName(Property_Meaning_name, int32(x)) +} +func (x *Property_Meaning) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Property_Meaning_value, data, "Property_Meaning") + if err != nil { + return err + } + *x = Property_Meaning(value) + return nil +} +func (Property_Meaning) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{2, 0} +} + +type Property_FtsTokenizationOption int32 + +const ( + Property_HTML Property_FtsTokenizationOption = 1 + Property_ATOM Property_FtsTokenizationOption = 2 +) + +var Property_FtsTokenizationOption_name = map[int32]string{ + 1: "HTML", + 2: "ATOM", +} +var Property_FtsTokenizationOption_value = map[string]int32{ + "HTML": 1, + "ATOM": 2, +} + +func (x Property_FtsTokenizationOption) Enum() *Property_FtsTokenizationOption { + p := new(Property_FtsTokenizationOption) + *p = x + return p +} +func (x Property_FtsTokenizationOption) String() string { + return proto.EnumName(Property_FtsTokenizationOption_name, int32(x)) +} +func (x *Property_FtsTokenizationOption) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Property_FtsTokenizationOption_value, data, "Property_FtsTokenizationOption") + if err != nil { + return err + } + *x = Property_FtsTokenizationOption(value) + return nil +} +func (Property_FtsTokenizationOption) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{2, 1} +} + +type EntityProto_Kind int32 + +const ( + EntityProto_GD_CONTACT EntityProto_Kind = 1 + EntityProto_GD_EVENT EntityProto_Kind = 2 + EntityProto_GD_MESSAGE EntityProto_Kind = 3 +) + +var EntityProto_Kind_name = map[int32]string{ + 1: "GD_CONTACT", + 2: "GD_EVENT", + 3: "GD_MESSAGE", +} +var EntityProto_Kind_value = map[string]int32{ + "GD_CONTACT": 1, + "GD_EVENT": 2, + "GD_MESSAGE": 3, +} + +func (x EntityProto_Kind) Enum() *EntityProto_Kind { + p := new(EntityProto_Kind) + *p = x + return p +} +func (x EntityProto_Kind) String() string { + return proto.EnumName(EntityProto_Kind_name, int32(x)) +} +func (x *EntityProto_Kind) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(EntityProto_Kind_value, data, "EntityProto_Kind") + if err != nil { + return err + } + *x = EntityProto_Kind(value) + return nil +} +func (EntityProto_Kind) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{6, 0} +} + +type Index_Property_Direction int32 + +const ( + Index_Property_ASCENDING Index_Property_Direction = 1 + Index_Property_DESCENDING Index_Property_Direction = 2 +) + +var Index_Property_Direction_name = map[int32]string{ + 1: "ASCENDING", + 2: "DESCENDING", +} +var Index_Property_Direction_value = map[string]int32{ + "ASCENDING": 1, + "DESCENDING": 2, +} + +func (x Index_Property_Direction) Enum() *Index_Property_Direction { + p := new(Index_Property_Direction) + *p = x + return p +} +func (x Index_Property_Direction) String() string { + return proto.EnumName(Index_Property_Direction_name, int32(x)) +} +func (x *Index_Property_Direction) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Index_Property_Direction_value, data, "Index_Property_Direction") + if err != nil { + return err + } + *x = Index_Property_Direction(value) + return nil +} +func (Index_Property_Direction) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{8, 0, 0} +} + +type CompositeIndex_State int32 + +const ( + CompositeIndex_WRITE_ONLY CompositeIndex_State = 1 + CompositeIndex_READ_WRITE CompositeIndex_State = 2 + CompositeIndex_DELETED CompositeIndex_State = 3 + CompositeIndex_ERROR CompositeIndex_State = 4 +) + +var CompositeIndex_State_name = map[int32]string{ + 1: "WRITE_ONLY", + 2: "READ_WRITE", + 3: "DELETED", + 4: "ERROR", +} +var CompositeIndex_State_value = map[string]int32{ + "WRITE_ONLY": 1, + "READ_WRITE": 2, + "DELETED": 3, + "ERROR": 4, +} + +func (x CompositeIndex_State) Enum() *CompositeIndex_State { + p := new(CompositeIndex_State) + *p = x + return p +} +func (x CompositeIndex_State) String() string { + return proto.EnumName(CompositeIndex_State_name, int32(x)) +} +func (x *CompositeIndex_State) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(CompositeIndex_State_value, data, "CompositeIndex_State") + if err != nil { + return err + } + *x = CompositeIndex_State(value) + return nil +} +func (CompositeIndex_State) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{9, 0} +} + +type Snapshot_Status int32 + +const ( + Snapshot_INACTIVE Snapshot_Status = 0 + Snapshot_ACTIVE Snapshot_Status = 1 +) + +var Snapshot_Status_name = map[int32]string{ + 0: "INACTIVE", + 1: "ACTIVE", +} +var Snapshot_Status_value = map[string]int32{ + "INACTIVE": 0, + "ACTIVE": 1, +} + +func (x Snapshot_Status) Enum() *Snapshot_Status { + p := new(Snapshot_Status) + *p = x + return p +} +func (x Snapshot_Status) String() string { + return proto.EnumName(Snapshot_Status_name, int32(x)) +} +func (x *Snapshot_Status) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Snapshot_Status_value, data, "Snapshot_Status") + if err != nil { + return err + } + *x = Snapshot_Status(value) + return nil +} +func (Snapshot_Status) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{12, 0} +} + +type Query_Hint int32 + +const ( + Query_ORDER_FIRST Query_Hint = 1 + Query_ANCESTOR_FIRST Query_Hint = 2 + Query_FILTER_FIRST Query_Hint = 3 +) + +var Query_Hint_name = map[int32]string{ + 1: "ORDER_FIRST", + 2: "ANCESTOR_FIRST", + 3: "FILTER_FIRST", +} +var Query_Hint_value = map[string]int32{ + "ORDER_FIRST": 1, + "ANCESTOR_FIRST": 2, + "FILTER_FIRST": 3, +} + +func (x Query_Hint) Enum() *Query_Hint { + p := new(Query_Hint) + *p = x + return p +} +func (x Query_Hint) String() string { + return proto.EnumName(Query_Hint_name, int32(x)) +} +func (x *Query_Hint) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Query_Hint_value, data, "Query_Hint") + if err != nil { + return err + } + *x = Query_Hint(value) + return nil +} +func (Query_Hint) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{15, 0} +} + +type Query_Filter_Operator int32 + +const ( + Query_Filter_LESS_THAN Query_Filter_Operator = 1 + Query_Filter_LESS_THAN_OR_EQUAL Query_Filter_Operator = 2 + Query_Filter_GREATER_THAN Query_Filter_Operator = 3 + Query_Filter_GREATER_THAN_OR_EQUAL Query_Filter_Operator = 4 + Query_Filter_EQUAL Query_Filter_Operator = 5 + Query_Filter_IN Query_Filter_Operator = 6 + Query_Filter_EXISTS Query_Filter_Operator = 7 +) + +var Query_Filter_Operator_name = map[int32]string{ + 1: "LESS_THAN", + 2: "LESS_THAN_OR_EQUAL", + 3: "GREATER_THAN", + 4: "GREATER_THAN_OR_EQUAL", + 5: "EQUAL", + 6: "IN", + 7: "EXISTS", +} +var Query_Filter_Operator_value = map[string]int32{ + "LESS_THAN": 1, + "LESS_THAN_OR_EQUAL": 2, + "GREATER_THAN": 3, + "GREATER_THAN_OR_EQUAL": 4, + "EQUAL": 5, + "IN": 6, + "EXISTS": 7, +} + +func (x Query_Filter_Operator) Enum() *Query_Filter_Operator { + p := new(Query_Filter_Operator) + *p = x + return p +} +func (x Query_Filter_Operator) String() string { + return proto.EnumName(Query_Filter_Operator_name, int32(x)) +} +func (x *Query_Filter_Operator) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Query_Filter_Operator_value, data, "Query_Filter_Operator") + if err != nil { + return err + } + *x = Query_Filter_Operator(value) + return nil +} +func (Query_Filter_Operator) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{15, 0, 0} +} + +type Query_Order_Direction int32 + +const ( + Query_Order_ASCENDING Query_Order_Direction = 1 + Query_Order_DESCENDING Query_Order_Direction = 2 +) + +var Query_Order_Direction_name = map[int32]string{ + 1: "ASCENDING", + 2: "DESCENDING", +} +var Query_Order_Direction_value = map[string]int32{ + "ASCENDING": 1, + "DESCENDING": 2, +} + +func (x Query_Order_Direction) Enum() *Query_Order_Direction { + p := new(Query_Order_Direction) + *p = x + return p +} +func (x Query_Order_Direction) String() string { + return proto.EnumName(Query_Order_Direction_name, int32(x)) +} +func (x *Query_Order_Direction) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Query_Order_Direction_value, data, "Query_Order_Direction") + if err != nil { + return err + } + *x = Query_Order_Direction(value) + return nil +} +func (Query_Order_Direction) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{15, 1, 0} +} + +type Error_ErrorCode int32 + +const ( + Error_BAD_REQUEST Error_ErrorCode = 1 + Error_CONCURRENT_TRANSACTION Error_ErrorCode = 2 + Error_INTERNAL_ERROR Error_ErrorCode = 3 + Error_NEED_INDEX Error_ErrorCode = 4 + Error_TIMEOUT Error_ErrorCode = 5 + Error_PERMISSION_DENIED Error_ErrorCode = 6 + Error_BIGTABLE_ERROR Error_ErrorCode = 7 + Error_COMMITTED_BUT_STILL_APPLYING Error_ErrorCode = 8 + Error_CAPABILITY_DISABLED Error_ErrorCode = 9 + Error_TRY_ALTERNATE_BACKEND Error_ErrorCode = 10 + Error_SAFE_TIME_TOO_OLD Error_ErrorCode = 11 +) + +var Error_ErrorCode_name = map[int32]string{ + 1: "BAD_REQUEST", + 2: "CONCURRENT_TRANSACTION", + 3: "INTERNAL_ERROR", + 4: "NEED_INDEX", + 5: "TIMEOUT", + 6: "PERMISSION_DENIED", + 7: "BIGTABLE_ERROR", + 8: "COMMITTED_BUT_STILL_APPLYING", + 9: "CAPABILITY_DISABLED", + 10: "TRY_ALTERNATE_BACKEND", + 11: "SAFE_TIME_TOO_OLD", +} +var Error_ErrorCode_value = map[string]int32{ + "BAD_REQUEST": 1, + "CONCURRENT_TRANSACTION": 2, + "INTERNAL_ERROR": 3, + "NEED_INDEX": 4, + "TIMEOUT": 5, + "PERMISSION_DENIED": 6, + "BIGTABLE_ERROR": 7, + "COMMITTED_BUT_STILL_APPLYING": 8, + "CAPABILITY_DISABLED": 9, + "TRY_ALTERNATE_BACKEND": 10, + "SAFE_TIME_TOO_OLD": 11, +} + +func (x Error_ErrorCode) Enum() *Error_ErrorCode { + p := new(Error_ErrorCode) + *p = x + return p +} +func (x Error_ErrorCode) String() string { + return proto.EnumName(Error_ErrorCode_name, int32(x)) +} +func (x *Error_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Error_ErrorCode_value, data, "Error_ErrorCode") + if err != nil { + return err + } + *x = Error_ErrorCode(value) + return nil +} +func (Error_ErrorCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{19, 0} +} + +type PutRequest_AutoIdPolicy int32 + +const ( + PutRequest_CURRENT PutRequest_AutoIdPolicy = 0 + PutRequest_SEQUENTIAL PutRequest_AutoIdPolicy = 1 +) + +var PutRequest_AutoIdPolicy_name = map[int32]string{ + 0: "CURRENT", + 1: "SEQUENTIAL", +} +var PutRequest_AutoIdPolicy_value = map[string]int32{ + "CURRENT": 0, + "SEQUENTIAL": 1, +} + +func (x PutRequest_AutoIdPolicy) Enum() *PutRequest_AutoIdPolicy { + p := new(PutRequest_AutoIdPolicy) + *p = x + return p +} +func (x PutRequest_AutoIdPolicy) String() string { + return proto.EnumName(PutRequest_AutoIdPolicy_name, int32(x)) +} +func (x *PutRequest_AutoIdPolicy) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(PutRequest_AutoIdPolicy_value, data, "PutRequest_AutoIdPolicy") + if err != nil { + return err + } + *x = PutRequest_AutoIdPolicy(value) + return nil +} +func (PutRequest_AutoIdPolicy) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{23, 0} +} + +type BeginTransactionRequest_TransactionMode int32 + +const ( + BeginTransactionRequest_UNKNOWN BeginTransactionRequest_TransactionMode = 0 + BeginTransactionRequest_READ_ONLY BeginTransactionRequest_TransactionMode = 1 + BeginTransactionRequest_READ_WRITE BeginTransactionRequest_TransactionMode = 2 +) + +var BeginTransactionRequest_TransactionMode_name = map[int32]string{ + 0: "UNKNOWN", + 1: "READ_ONLY", + 2: "READ_WRITE", +} +var BeginTransactionRequest_TransactionMode_value = map[string]int32{ + "UNKNOWN": 0, + "READ_ONLY": 1, + "READ_WRITE": 2, +} + +func (x BeginTransactionRequest_TransactionMode) Enum() *BeginTransactionRequest_TransactionMode { + p := new(BeginTransactionRequest_TransactionMode) + *p = x + return p +} +func (x BeginTransactionRequest_TransactionMode) String() string { + return proto.EnumName(BeginTransactionRequest_TransactionMode_name, int32(x)) +} +func (x *BeginTransactionRequest_TransactionMode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(BeginTransactionRequest_TransactionMode_value, data, "BeginTransactionRequest_TransactionMode") + if err != nil { + return err + } + *x = BeginTransactionRequest_TransactionMode(value) + return nil +} +func (BeginTransactionRequest_TransactionMode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{36, 0} +} + +type Action struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Action) Reset() { *m = Action{} } +func (m *Action) String() string { return proto.CompactTextString(m) } +func (*Action) ProtoMessage() {} +func (*Action) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{0} +} +func (m *Action) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Action.Unmarshal(m, b) +} +func (m *Action) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Action.Marshal(b, m, deterministic) +} +func (dst *Action) XXX_Merge(src proto.Message) { + xxx_messageInfo_Action.Merge(dst, src) +} +func (m *Action) XXX_Size() int { + return xxx_messageInfo_Action.Size(m) +} +func (m *Action) XXX_DiscardUnknown() { + xxx_messageInfo_Action.DiscardUnknown(m) +} + +var xxx_messageInfo_Action proto.InternalMessageInfo + +type PropertyValue struct { + Int64Value *int64 `protobuf:"varint,1,opt,name=int64Value" json:"int64Value,omitempty"` + BooleanValue *bool `protobuf:"varint,2,opt,name=booleanValue" json:"booleanValue,omitempty"` + StringValue *string `protobuf:"bytes,3,opt,name=stringValue" json:"stringValue,omitempty"` + DoubleValue *float64 `protobuf:"fixed64,4,opt,name=doubleValue" json:"doubleValue,omitempty"` + Pointvalue *PropertyValue_PointValue `protobuf:"group,5,opt,name=PointValue,json=pointvalue" json:"pointvalue,omitempty"` + Uservalue *PropertyValue_UserValue `protobuf:"group,8,opt,name=UserValue,json=uservalue" json:"uservalue,omitempty"` + Referencevalue *PropertyValue_ReferenceValue `protobuf:"group,12,opt,name=ReferenceValue,json=referencevalue" json:"referencevalue,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PropertyValue) Reset() { *m = PropertyValue{} } +func (m *PropertyValue) String() string { return proto.CompactTextString(m) } +func (*PropertyValue) ProtoMessage() {} +func (*PropertyValue) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{1} +} +func (m *PropertyValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PropertyValue.Unmarshal(m, b) +} +func (m *PropertyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PropertyValue.Marshal(b, m, deterministic) +} +func (dst *PropertyValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_PropertyValue.Merge(dst, src) +} +func (m *PropertyValue) XXX_Size() int { + return xxx_messageInfo_PropertyValue.Size(m) +} +func (m *PropertyValue) XXX_DiscardUnknown() { + xxx_messageInfo_PropertyValue.DiscardUnknown(m) +} + +var xxx_messageInfo_PropertyValue proto.InternalMessageInfo + +func (m *PropertyValue) GetInt64Value() int64 { + if m != nil && m.Int64Value != nil { + return *m.Int64Value + } + return 0 +} + +func (m *PropertyValue) GetBooleanValue() bool { + if m != nil && m.BooleanValue != nil { + return *m.BooleanValue + } + return false +} + +func (m *PropertyValue) GetStringValue() string { + if m != nil && m.StringValue != nil { + return *m.StringValue + } + return "" +} + +func (m *PropertyValue) GetDoubleValue() float64 { + if m != nil && m.DoubleValue != nil { + return *m.DoubleValue + } + return 0 +} + +func (m *PropertyValue) GetPointvalue() *PropertyValue_PointValue { + if m != nil { + return m.Pointvalue + } + return nil +} + +func (m *PropertyValue) GetUservalue() *PropertyValue_UserValue { + if m != nil { + return m.Uservalue + } + return nil +} + +func (m *PropertyValue) GetReferencevalue() *PropertyValue_ReferenceValue { + if m != nil { + return m.Referencevalue + } + return nil +} + +type PropertyValue_PointValue struct { + X *float64 `protobuf:"fixed64,6,req,name=x" json:"x,omitempty"` + Y *float64 `protobuf:"fixed64,7,req,name=y" json:"y,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PropertyValue_PointValue) Reset() { *m = PropertyValue_PointValue{} } +func (m *PropertyValue_PointValue) String() string { return proto.CompactTextString(m) } +func (*PropertyValue_PointValue) ProtoMessage() {} +func (*PropertyValue_PointValue) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{1, 0} +} +func (m *PropertyValue_PointValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PropertyValue_PointValue.Unmarshal(m, b) +} +func (m *PropertyValue_PointValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PropertyValue_PointValue.Marshal(b, m, deterministic) +} +func (dst *PropertyValue_PointValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_PropertyValue_PointValue.Merge(dst, src) +} +func (m *PropertyValue_PointValue) XXX_Size() int { + return xxx_messageInfo_PropertyValue_PointValue.Size(m) +} +func (m *PropertyValue_PointValue) XXX_DiscardUnknown() { + xxx_messageInfo_PropertyValue_PointValue.DiscardUnknown(m) +} + +var xxx_messageInfo_PropertyValue_PointValue proto.InternalMessageInfo + +func (m *PropertyValue_PointValue) GetX() float64 { + if m != nil && m.X != nil { + return *m.X + } + return 0 +} + +func (m *PropertyValue_PointValue) GetY() float64 { + if m != nil && m.Y != nil { + return *m.Y + } + return 0 +} + +type PropertyValue_UserValue struct { + Email *string `protobuf:"bytes,9,req,name=email" json:"email,omitempty"` + AuthDomain *string `protobuf:"bytes,10,req,name=auth_domain,json=authDomain" json:"auth_domain,omitempty"` + Nickname *string `protobuf:"bytes,11,opt,name=nickname" json:"nickname,omitempty"` + FederatedIdentity *string `protobuf:"bytes,21,opt,name=federated_identity,json=federatedIdentity" json:"federated_identity,omitempty"` + FederatedProvider *string `protobuf:"bytes,22,opt,name=federated_provider,json=federatedProvider" json:"federated_provider,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PropertyValue_UserValue) Reset() { *m = PropertyValue_UserValue{} } +func (m *PropertyValue_UserValue) String() string { return proto.CompactTextString(m) } +func (*PropertyValue_UserValue) ProtoMessage() {} +func (*PropertyValue_UserValue) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{1, 1} +} +func (m *PropertyValue_UserValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PropertyValue_UserValue.Unmarshal(m, b) +} +func (m *PropertyValue_UserValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PropertyValue_UserValue.Marshal(b, m, deterministic) +} +func (dst *PropertyValue_UserValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_PropertyValue_UserValue.Merge(dst, src) +} +func (m *PropertyValue_UserValue) XXX_Size() int { + return xxx_messageInfo_PropertyValue_UserValue.Size(m) +} +func (m *PropertyValue_UserValue) XXX_DiscardUnknown() { + xxx_messageInfo_PropertyValue_UserValue.DiscardUnknown(m) +} + +var xxx_messageInfo_PropertyValue_UserValue proto.InternalMessageInfo + +func (m *PropertyValue_UserValue) GetEmail() string { + if m != nil && m.Email != nil { + return *m.Email + } + return "" +} + +func (m *PropertyValue_UserValue) GetAuthDomain() string { + if m != nil && m.AuthDomain != nil { + return *m.AuthDomain + } + return "" +} + +func (m *PropertyValue_UserValue) GetNickname() string { + if m != nil && m.Nickname != nil { + return *m.Nickname + } + return "" +} + +func (m *PropertyValue_UserValue) GetFederatedIdentity() string { + if m != nil && m.FederatedIdentity != nil { + return *m.FederatedIdentity + } + return "" +} + +func (m *PropertyValue_UserValue) GetFederatedProvider() string { + if m != nil && m.FederatedProvider != nil { + return *m.FederatedProvider + } + return "" +} + +type PropertyValue_ReferenceValue struct { + App *string `protobuf:"bytes,13,req,name=app" json:"app,omitempty"` + NameSpace *string `protobuf:"bytes,20,opt,name=name_space,json=nameSpace" json:"name_space,omitempty"` + Pathelement []*PropertyValue_ReferenceValue_PathElement `protobuf:"group,14,rep,name=PathElement,json=pathelement" json:"pathelement,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PropertyValue_ReferenceValue) Reset() { *m = PropertyValue_ReferenceValue{} } +func (m *PropertyValue_ReferenceValue) String() string { return proto.CompactTextString(m) } +func (*PropertyValue_ReferenceValue) ProtoMessage() {} +func (*PropertyValue_ReferenceValue) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{1, 2} +} +func (m *PropertyValue_ReferenceValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PropertyValue_ReferenceValue.Unmarshal(m, b) +} +func (m *PropertyValue_ReferenceValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PropertyValue_ReferenceValue.Marshal(b, m, deterministic) +} +func (dst *PropertyValue_ReferenceValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_PropertyValue_ReferenceValue.Merge(dst, src) +} +func (m *PropertyValue_ReferenceValue) XXX_Size() int { + return xxx_messageInfo_PropertyValue_ReferenceValue.Size(m) +} +func (m *PropertyValue_ReferenceValue) XXX_DiscardUnknown() { + xxx_messageInfo_PropertyValue_ReferenceValue.DiscardUnknown(m) +} + +var xxx_messageInfo_PropertyValue_ReferenceValue proto.InternalMessageInfo + +func (m *PropertyValue_ReferenceValue) GetApp() string { + if m != nil && m.App != nil { + return *m.App + } + return "" +} + +func (m *PropertyValue_ReferenceValue) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *PropertyValue_ReferenceValue) GetPathelement() []*PropertyValue_ReferenceValue_PathElement { + if m != nil { + return m.Pathelement + } + return nil +} + +type PropertyValue_ReferenceValue_PathElement struct { + Type *string `protobuf:"bytes,15,req,name=type" json:"type,omitempty"` + Id *int64 `protobuf:"varint,16,opt,name=id" json:"id,omitempty"` + Name *string `protobuf:"bytes,17,opt,name=name" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PropertyValue_ReferenceValue_PathElement) Reset() { + *m = PropertyValue_ReferenceValue_PathElement{} +} +func (m *PropertyValue_ReferenceValue_PathElement) String() string { return proto.CompactTextString(m) } +func (*PropertyValue_ReferenceValue_PathElement) ProtoMessage() {} +func (*PropertyValue_ReferenceValue_PathElement) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{1, 2, 0} +} +func (m *PropertyValue_ReferenceValue_PathElement) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PropertyValue_ReferenceValue_PathElement.Unmarshal(m, b) +} +func (m *PropertyValue_ReferenceValue_PathElement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PropertyValue_ReferenceValue_PathElement.Marshal(b, m, deterministic) +} +func (dst *PropertyValue_ReferenceValue_PathElement) XXX_Merge(src proto.Message) { + xxx_messageInfo_PropertyValue_ReferenceValue_PathElement.Merge(dst, src) +} +func (m *PropertyValue_ReferenceValue_PathElement) XXX_Size() int { + return xxx_messageInfo_PropertyValue_ReferenceValue_PathElement.Size(m) +} +func (m *PropertyValue_ReferenceValue_PathElement) XXX_DiscardUnknown() { + xxx_messageInfo_PropertyValue_ReferenceValue_PathElement.DiscardUnknown(m) +} + +var xxx_messageInfo_PropertyValue_ReferenceValue_PathElement proto.InternalMessageInfo + +func (m *PropertyValue_ReferenceValue_PathElement) GetType() string { + if m != nil && m.Type != nil { + return *m.Type + } + return "" +} + +func (m *PropertyValue_ReferenceValue_PathElement) GetId() int64 { + if m != nil && m.Id != nil { + return *m.Id + } + return 0 +} + +func (m *PropertyValue_ReferenceValue_PathElement) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +type Property struct { + Meaning *Property_Meaning `protobuf:"varint,1,opt,name=meaning,enum=appengine.Property_Meaning,def=0" json:"meaning,omitempty"` + MeaningUri *string `protobuf:"bytes,2,opt,name=meaning_uri,json=meaningUri" json:"meaning_uri,omitempty"` + Name *string `protobuf:"bytes,3,req,name=name" json:"name,omitempty"` + Value *PropertyValue `protobuf:"bytes,5,req,name=value" json:"value,omitempty"` + Multiple *bool `protobuf:"varint,4,req,name=multiple" json:"multiple,omitempty"` + Searchable *bool `protobuf:"varint,6,opt,name=searchable,def=0" json:"searchable,omitempty"` + FtsTokenizationOption *Property_FtsTokenizationOption `protobuf:"varint,8,opt,name=fts_tokenization_option,json=ftsTokenizationOption,enum=appengine.Property_FtsTokenizationOption" json:"fts_tokenization_option,omitempty"` + Locale *string `protobuf:"bytes,9,opt,name=locale,def=en" json:"locale,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Property) Reset() { *m = Property{} } +func (m *Property) String() string { return proto.CompactTextString(m) } +func (*Property) ProtoMessage() {} +func (*Property) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{2} +} +func (m *Property) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Property.Unmarshal(m, b) +} +func (m *Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Property.Marshal(b, m, deterministic) +} +func (dst *Property) XXX_Merge(src proto.Message) { + xxx_messageInfo_Property.Merge(dst, src) +} +func (m *Property) XXX_Size() int { + return xxx_messageInfo_Property.Size(m) +} +func (m *Property) XXX_DiscardUnknown() { + xxx_messageInfo_Property.DiscardUnknown(m) +} + +var xxx_messageInfo_Property proto.InternalMessageInfo + +const Default_Property_Meaning Property_Meaning = Property_NO_MEANING +const Default_Property_Searchable bool = false +const Default_Property_Locale string = "en" + +func (m *Property) GetMeaning() Property_Meaning { + if m != nil && m.Meaning != nil { + return *m.Meaning + } + return Default_Property_Meaning +} + +func (m *Property) GetMeaningUri() string { + if m != nil && m.MeaningUri != nil { + return *m.MeaningUri + } + return "" +} + +func (m *Property) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *Property) GetValue() *PropertyValue { + if m != nil { + return m.Value + } + return nil +} + +func (m *Property) GetMultiple() bool { + if m != nil && m.Multiple != nil { + return *m.Multiple + } + return false +} + +func (m *Property) GetSearchable() bool { + if m != nil && m.Searchable != nil { + return *m.Searchable + } + return Default_Property_Searchable +} + +func (m *Property) GetFtsTokenizationOption() Property_FtsTokenizationOption { + if m != nil && m.FtsTokenizationOption != nil { + return *m.FtsTokenizationOption + } + return Property_HTML +} + +func (m *Property) GetLocale() string { + if m != nil && m.Locale != nil { + return *m.Locale + } + return Default_Property_Locale +} + +type Path struct { + Element []*Path_Element `protobuf:"group,1,rep,name=Element,json=element" json:"element,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Path) Reset() { *m = Path{} } +func (m *Path) String() string { return proto.CompactTextString(m) } +func (*Path) ProtoMessage() {} +func (*Path) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{3} +} +func (m *Path) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Path.Unmarshal(m, b) +} +func (m *Path) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Path.Marshal(b, m, deterministic) +} +func (dst *Path) XXX_Merge(src proto.Message) { + xxx_messageInfo_Path.Merge(dst, src) +} +func (m *Path) XXX_Size() int { + return xxx_messageInfo_Path.Size(m) +} +func (m *Path) XXX_DiscardUnknown() { + xxx_messageInfo_Path.DiscardUnknown(m) +} + +var xxx_messageInfo_Path proto.InternalMessageInfo + +func (m *Path) GetElement() []*Path_Element { + if m != nil { + return m.Element + } + return nil +} + +type Path_Element struct { + Type *string `protobuf:"bytes,2,req,name=type" json:"type,omitempty"` + Id *int64 `protobuf:"varint,3,opt,name=id" json:"id,omitempty"` + Name *string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Path_Element) Reset() { *m = Path_Element{} } +func (m *Path_Element) String() string { return proto.CompactTextString(m) } +func (*Path_Element) ProtoMessage() {} +func (*Path_Element) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{3, 0} +} +func (m *Path_Element) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Path_Element.Unmarshal(m, b) +} +func (m *Path_Element) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Path_Element.Marshal(b, m, deterministic) +} +func (dst *Path_Element) XXX_Merge(src proto.Message) { + xxx_messageInfo_Path_Element.Merge(dst, src) +} +func (m *Path_Element) XXX_Size() int { + return xxx_messageInfo_Path_Element.Size(m) +} +func (m *Path_Element) XXX_DiscardUnknown() { + xxx_messageInfo_Path_Element.DiscardUnknown(m) +} + +var xxx_messageInfo_Path_Element proto.InternalMessageInfo + +func (m *Path_Element) GetType() string { + if m != nil && m.Type != nil { + return *m.Type + } + return "" +} + +func (m *Path_Element) GetId() int64 { + if m != nil && m.Id != nil { + return *m.Id + } + return 0 +} + +func (m *Path_Element) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +type Reference struct { + App *string `protobuf:"bytes,13,req,name=app" json:"app,omitempty"` + NameSpace *string `protobuf:"bytes,20,opt,name=name_space,json=nameSpace" json:"name_space,omitempty"` + Path *Path `protobuf:"bytes,14,req,name=path" json:"path,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Reference) Reset() { *m = Reference{} } +func (m *Reference) String() string { return proto.CompactTextString(m) } +func (*Reference) ProtoMessage() {} +func (*Reference) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{4} +} +func (m *Reference) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Reference.Unmarshal(m, b) +} +func (m *Reference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Reference.Marshal(b, m, deterministic) +} +func (dst *Reference) XXX_Merge(src proto.Message) { + xxx_messageInfo_Reference.Merge(dst, src) +} +func (m *Reference) XXX_Size() int { + return xxx_messageInfo_Reference.Size(m) +} +func (m *Reference) XXX_DiscardUnknown() { + xxx_messageInfo_Reference.DiscardUnknown(m) +} + +var xxx_messageInfo_Reference proto.InternalMessageInfo + +func (m *Reference) GetApp() string { + if m != nil && m.App != nil { + return *m.App + } + return "" +} + +func (m *Reference) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *Reference) GetPath() *Path { + if m != nil { + return m.Path + } + return nil +} + +type User struct { + Email *string `protobuf:"bytes,1,req,name=email" json:"email,omitempty"` + AuthDomain *string `protobuf:"bytes,2,req,name=auth_domain,json=authDomain" json:"auth_domain,omitempty"` + Nickname *string `protobuf:"bytes,3,opt,name=nickname" json:"nickname,omitempty"` + FederatedIdentity *string `protobuf:"bytes,6,opt,name=federated_identity,json=federatedIdentity" json:"federated_identity,omitempty"` + FederatedProvider *string `protobuf:"bytes,7,opt,name=federated_provider,json=federatedProvider" json:"federated_provider,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *User) Reset() { *m = User{} } +func (m *User) String() string { return proto.CompactTextString(m) } +func (*User) ProtoMessage() {} +func (*User) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{5} +} +func (m *User) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_User.Unmarshal(m, b) +} +func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_User.Marshal(b, m, deterministic) +} +func (dst *User) XXX_Merge(src proto.Message) { + xxx_messageInfo_User.Merge(dst, src) +} +func (m *User) XXX_Size() int { + return xxx_messageInfo_User.Size(m) +} +func (m *User) XXX_DiscardUnknown() { + xxx_messageInfo_User.DiscardUnknown(m) +} + +var xxx_messageInfo_User proto.InternalMessageInfo + +func (m *User) GetEmail() string { + if m != nil && m.Email != nil { + return *m.Email + } + return "" +} + +func (m *User) GetAuthDomain() string { + if m != nil && m.AuthDomain != nil { + return *m.AuthDomain + } + return "" +} + +func (m *User) GetNickname() string { + if m != nil && m.Nickname != nil { + return *m.Nickname + } + return "" +} + +func (m *User) GetFederatedIdentity() string { + if m != nil && m.FederatedIdentity != nil { + return *m.FederatedIdentity + } + return "" +} + +func (m *User) GetFederatedProvider() string { + if m != nil && m.FederatedProvider != nil { + return *m.FederatedProvider + } + return "" +} + +type EntityProto struct { + Key *Reference `protobuf:"bytes,13,req,name=key" json:"key,omitempty"` + EntityGroup *Path `protobuf:"bytes,16,req,name=entity_group,json=entityGroup" json:"entity_group,omitempty"` + Owner *User `protobuf:"bytes,17,opt,name=owner" json:"owner,omitempty"` + Kind *EntityProto_Kind `protobuf:"varint,4,opt,name=kind,enum=appengine.EntityProto_Kind" json:"kind,omitempty"` + KindUri *string `protobuf:"bytes,5,opt,name=kind_uri,json=kindUri" json:"kind_uri,omitempty"` + Property []*Property `protobuf:"bytes,14,rep,name=property" json:"property,omitempty"` + RawProperty []*Property `protobuf:"bytes,15,rep,name=raw_property,json=rawProperty" json:"raw_property,omitempty"` + Rank *int32 `protobuf:"varint,18,opt,name=rank" json:"rank,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *EntityProto) Reset() { *m = EntityProto{} } +func (m *EntityProto) String() string { return proto.CompactTextString(m) } +func (*EntityProto) ProtoMessage() {} +func (*EntityProto) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{6} +} +func (m *EntityProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EntityProto.Unmarshal(m, b) +} +func (m *EntityProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EntityProto.Marshal(b, m, deterministic) +} +func (dst *EntityProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_EntityProto.Merge(dst, src) +} +func (m *EntityProto) XXX_Size() int { + return xxx_messageInfo_EntityProto.Size(m) +} +func (m *EntityProto) XXX_DiscardUnknown() { + xxx_messageInfo_EntityProto.DiscardUnknown(m) +} + +var xxx_messageInfo_EntityProto proto.InternalMessageInfo + +func (m *EntityProto) GetKey() *Reference { + if m != nil { + return m.Key + } + return nil +} + +func (m *EntityProto) GetEntityGroup() *Path { + if m != nil { + return m.EntityGroup + } + return nil +} + +func (m *EntityProto) GetOwner() *User { + if m != nil { + return m.Owner + } + return nil +} + +func (m *EntityProto) GetKind() EntityProto_Kind { + if m != nil && m.Kind != nil { + return *m.Kind + } + return EntityProto_GD_CONTACT +} + +func (m *EntityProto) GetKindUri() string { + if m != nil && m.KindUri != nil { + return *m.KindUri + } + return "" +} + +func (m *EntityProto) GetProperty() []*Property { + if m != nil { + return m.Property + } + return nil +} + +func (m *EntityProto) GetRawProperty() []*Property { + if m != nil { + return m.RawProperty + } + return nil +} + +func (m *EntityProto) GetRank() int32 { + if m != nil && m.Rank != nil { + return *m.Rank + } + return 0 +} + +type CompositeProperty struct { + IndexId *int64 `protobuf:"varint,1,req,name=index_id,json=indexId" json:"index_id,omitempty"` + Value []string `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompositeProperty) Reset() { *m = CompositeProperty{} } +func (m *CompositeProperty) String() string { return proto.CompactTextString(m) } +func (*CompositeProperty) ProtoMessage() {} +func (*CompositeProperty) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{7} +} +func (m *CompositeProperty) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompositeProperty.Unmarshal(m, b) +} +func (m *CompositeProperty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompositeProperty.Marshal(b, m, deterministic) +} +func (dst *CompositeProperty) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompositeProperty.Merge(dst, src) +} +func (m *CompositeProperty) XXX_Size() int { + return xxx_messageInfo_CompositeProperty.Size(m) +} +func (m *CompositeProperty) XXX_DiscardUnknown() { + xxx_messageInfo_CompositeProperty.DiscardUnknown(m) +} + +var xxx_messageInfo_CompositeProperty proto.InternalMessageInfo + +func (m *CompositeProperty) GetIndexId() int64 { + if m != nil && m.IndexId != nil { + return *m.IndexId + } + return 0 +} + +func (m *CompositeProperty) GetValue() []string { + if m != nil { + return m.Value + } + return nil +} + +type Index struct { + EntityType *string `protobuf:"bytes,1,req,name=entity_type,json=entityType" json:"entity_type,omitempty"` + Ancestor *bool `protobuf:"varint,5,req,name=ancestor" json:"ancestor,omitempty"` + Property []*Index_Property `protobuf:"group,2,rep,name=Property,json=property" json:"property,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Index) Reset() { *m = Index{} } +func (m *Index) String() string { return proto.CompactTextString(m) } +func (*Index) ProtoMessage() {} +func (*Index) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{8} +} +func (m *Index) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Index.Unmarshal(m, b) +} +func (m *Index) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Index.Marshal(b, m, deterministic) +} +func (dst *Index) XXX_Merge(src proto.Message) { + xxx_messageInfo_Index.Merge(dst, src) +} +func (m *Index) XXX_Size() int { + return xxx_messageInfo_Index.Size(m) +} +func (m *Index) XXX_DiscardUnknown() { + xxx_messageInfo_Index.DiscardUnknown(m) +} + +var xxx_messageInfo_Index proto.InternalMessageInfo + +func (m *Index) GetEntityType() string { + if m != nil && m.EntityType != nil { + return *m.EntityType + } + return "" +} + +func (m *Index) GetAncestor() bool { + if m != nil && m.Ancestor != nil { + return *m.Ancestor + } + return false +} + +func (m *Index) GetProperty() []*Index_Property { + if m != nil { + return m.Property + } + return nil +} + +type Index_Property struct { + Name *string `protobuf:"bytes,3,req,name=name" json:"name,omitempty"` + Direction *Index_Property_Direction `protobuf:"varint,4,opt,name=direction,enum=appengine.Index_Property_Direction,def=1" json:"direction,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Index_Property) Reset() { *m = Index_Property{} } +func (m *Index_Property) String() string { return proto.CompactTextString(m) } +func (*Index_Property) ProtoMessage() {} +func (*Index_Property) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{8, 0} +} +func (m *Index_Property) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Index_Property.Unmarshal(m, b) +} +func (m *Index_Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Index_Property.Marshal(b, m, deterministic) +} +func (dst *Index_Property) XXX_Merge(src proto.Message) { + xxx_messageInfo_Index_Property.Merge(dst, src) +} +func (m *Index_Property) XXX_Size() int { + return xxx_messageInfo_Index_Property.Size(m) +} +func (m *Index_Property) XXX_DiscardUnknown() { + xxx_messageInfo_Index_Property.DiscardUnknown(m) +} + +var xxx_messageInfo_Index_Property proto.InternalMessageInfo + +const Default_Index_Property_Direction Index_Property_Direction = Index_Property_ASCENDING + +func (m *Index_Property) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *Index_Property) GetDirection() Index_Property_Direction { + if m != nil && m.Direction != nil { + return *m.Direction + } + return Default_Index_Property_Direction +} + +type CompositeIndex struct { + AppId *string `protobuf:"bytes,1,req,name=app_id,json=appId" json:"app_id,omitempty"` + Id *int64 `protobuf:"varint,2,req,name=id" json:"id,omitempty"` + Definition *Index `protobuf:"bytes,3,req,name=definition" json:"definition,omitempty"` + State *CompositeIndex_State `protobuf:"varint,4,req,name=state,enum=appengine.CompositeIndex_State" json:"state,omitempty"` + OnlyUseIfRequired *bool `protobuf:"varint,6,opt,name=only_use_if_required,json=onlyUseIfRequired,def=0" json:"only_use_if_required,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompositeIndex) Reset() { *m = CompositeIndex{} } +func (m *CompositeIndex) String() string { return proto.CompactTextString(m) } +func (*CompositeIndex) ProtoMessage() {} +func (*CompositeIndex) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{9} +} +func (m *CompositeIndex) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompositeIndex.Unmarshal(m, b) +} +func (m *CompositeIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompositeIndex.Marshal(b, m, deterministic) +} +func (dst *CompositeIndex) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompositeIndex.Merge(dst, src) +} +func (m *CompositeIndex) XXX_Size() int { + return xxx_messageInfo_CompositeIndex.Size(m) +} +func (m *CompositeIndex) XXX_DiscardUnknown() { + xxx_messageInfo_CompositeIndex.DiscardUnknown(m) +} + +var xxx_messageInfo_CompositeIndex proto.InternalMessageInfo + +const Default_CompositeIndex_OnlyUseIfRequired bool = false + +func (m *CompositeIndex) GetAppId() string { + if m != nil && m.AppId != nil { + return *m.AppId + } + return "" +} + +func (m *CompositeIndex) GetId() int64 { + if m != nil && m.Id != nil { + return *m.Id + } + return 0 +} + +func (m *CompositeIndex) GetDefinition() *Index { + if m != nil { + return m.Definition + } + return nil +} + +func (m *CompositeIndex) GetState() CompositeIndex_State { + if m != nil && m.State != nil { + return *m.State + } + return CompositeIndex_WRITE_ONLY +} + +func (m *CompositeIndex) GetOnlyUseIfRequired() bool { + if m != nil && m.OnlyUseIfRequired != nil { + return *m.OnlyUseIfRequired + } + return Default_CompositeIndex_OnlyUseIfRequired +} + +type IndexPostfix struct { + IndexValue []*IndexPostfix_IndexValue `protobuf:"bytes,1,rep,name=index_value,json=indexValue" json:"index_value,omitempty"` + Key *Reference `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"` + Before *bool `protobuf:"varint,3,opt,name=before,def=1" json:"before,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IndexPostfix) Reset() { *m = IndexPostfix{} } +func (m *IndexPostfix) String() string { return proto.CompactTextString(m) } +func (*IndexPostfix) ProtoMessage() {} +func (*IndexPostfix) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{10} +} +func (m *IndexPostfix) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IndexPostfix.Unmarshal(m, b) +} +func (m *IndexPostfix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IndexPostfix.Marshal(b, m, deterministic) +} +func (dst *IndexPostfix) XXX_Merge(src proto.Message) { + xxx_messageInfo_IndexPostfix.Merge(dst, src) +} +func (m *IndexPostfix) XXX_Size() int { + return xxx_messageInfo_IndexPostfix.Size(m) +} +func (m *IndexPostfix) XXX_DiscardUnknown() { + xxx_messageInfo_IndexPostfix.DiscardUnknown(m) +} + +var xxx_messageInfo_IndexPostfix proto.InternalMessageInfo + +const Default_IndexPostfix_Before bool = true + +func (m *IndexPostfix) GetIndexValue() []*IndexPostfix_IndexValue { + if m != nil { + return m.IndexValue + } + return nil +} + +func (m *IndexPostfix) GetKey() *Reference { + if m != nil { + return m.Key + } + return nil +} + +func (m *IndexPostfix) GetBefore() bool { + if m != nil && m.Before != nil { + return *m.Before + } + return Default_IndexPostfix_Before +} + +type IndexPostfix_IndexValue struct { + PropertyName *string `protobuf:"bytes,1,req,name=property_name,json=propertyName" json:"property_name,omitempty"` + Value *PropertyValue `protobuf:"bytes,2,req,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IndexPostfix_IndexValue) Reset() { *m = IndexPostfix_IndexValue{} } +func (m *IndexPostfix_IndexValue) String() string { return proto.CompactTextString(m) } +func (*IndexPostfix_IndexValue) ProtoMessage() {} +func (*IndexPostfix_IndexValue) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{10, 0} +} +func (m *IndexPostfix_IndexValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IndexPostfix_IndexValue.Unmarshal(m, b) +} +func (m *IndexPostfix_IndexValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IndexPostfix_IndexValue.Marshal(b, m, deterministic) +} +func (dst *IndexPostfix_IndexValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_IndexPostfix_IndexValue.Merge(dst, src) +} +func (m *IndexPostfix_IndexValue) XXX_Size() int { + return xxx_messageInfo_IndexPostfix_IndexValue.Size(m) +} +func (m *IndexPostfix_IndexValue) XXX_DiscardUnknown() { + xxx_messageInfo_IndexPostfix_IndexValue.DiscardUnknown(m) +} + +var xxx_messageInfo_IndexPostfix_IndexValue proto.InternalMessageInfo + +func (m *IndexPostfix_IndexValue) GetPropertyName() string { + if m != nil && m.PropertyName != nil { + return *m.PropertyName + } + return "" +} + +func (m *IndexPostfix_IndexValue) GetValue() *PropertyValue { + if m != nil { + return m.Value + } + return nil +} + +type IndexPosition struct { + Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` + Before *bool `protobuf:"varint,2,opt,name=before,def=1" json:"before,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IndexPosition) Reset() { *m = IndexPosition{} } +func (m *IndexPosition) String() string { return proto.CompactTextString(m) } +func (*IndexPosition) ProtoMessage() {} +func (*IndexPosition) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{11} +} +func (m *IndexPosition) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IndexPosition.Unmarshal(m, b) +} +func (m *IndexPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IndexPosition.Marshal(b, m, deterministic) +} +func (dst *IndexPosition) XXX_Merge(src proto.Message) { + xxx_messageInfo_IndexPosition.Merge(dst, src) +} +func (m *IndexPosition) XXX_Size() int { + return xxx_messageInfo_IndexPosition.Size(m) +} +func (m *IndexPosition) XXX_DiscardUnknown() { + xxx_messageInfo_IndexPosition.DiscardUnknown(m) +} + +var xxx_messageInfo_IndexPosition proto.InternalMessageInfo + +const Default_IndexPosition_Before bool = true + +func (m *IndexPosition) GetKey() string { + if m != nil && m.Key != nil { + return *m.Key + } + return "" +} + +func (m *IndexPosition) GetBefore() bool { + if m != nil && m.Before != nil { + return *m.Before + } + return Default_IndexPosition_Before +} + +type Snapshot struct { + Ts *int64 `protobuf:"varint,1,req,name=ts" json:"ts,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Snapshot) Reset() { *m = Snapshot{} } +func (m *Snapshot) String() string { return proto.CompactTextString(m) } +func (*Snapshot) ProtoMessage() {} +func (*Snapshot) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{12} +} +func (m *Snapshot) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Snapshot.Unmarshal(m, b) +} +func (m *Snapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Snapshot.Marshal(b, m, deterministic) +} +func (dst *Snapshot) XXX_Merge(src proto.Message) { + xxx_messageInfo_Snapshot.Merge(dst, src) +} +func (m *Snapshot) XXX_Size() int { + return xxx_messageInfo_Snapshot.Size(m) +} +func (m *Snapshot) XXX_DiscardUnknown() { + xxx_messageInfo_Snapshot.DiscardUnknown(m) +} + +var xxx_messageInfo_Snapshot proto.InternalMessageInfo + +func (m *Snapshot) GetTs() int64 { + if m != nil && m.Ts != nil { + return *m.Ts + } + return 0 +} + +type InternalHeader struct { + Qos *string `protobuf:"bytes,1,opt,name=qos" json:"qos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InternalHeader) Reset() { *m = InternalHeader{} } +func (m *InternalHeader) String() string { return proto.CompactTextString(m) } +func (*InternalHeader) ProtoMessage() {} +func (*InternalHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{13} +} +func (m *InternalHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InternalHeader.Unmarshal(m, b) +} +func (m *InternalHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InternalHeader.Marshal(b, m, deterministic) +} +func (dst *InternalHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_InternalHeader.Merge(dst, src) +} +func (m *InternalHeader) XXX_Size() int { + return xxx_messageInfo_InternalHeader.Size(m) +} +func (m *InternalHeader) XXX_DiscardUnknown() { + xxx_messageInfo_InternalHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_InternalHeader proto.InternalMessageInfo + +func (m *InternalHeader) GetQos() string { + if m != nil && m.Qos != nil { + return *m.Qos + } + return "" +} + +type Transaction struct { + Header *InternalHeader `protobuf:"bytes,4,opt,name=header" json:"header,omitempty"` + Handle *uint64 `protobuf:"fixed64,1,req,name=handle" json:"handle,omitempty"` + App *string `protobuf:"bytes,2,req,name=app" json:"app,omitempty"` + MarkChanges *bool `protobuf:"varint,3,opt,name=mark_changes,json=markChanges,def=0" json:"mark_changes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Transaction) Reset() { *m = Transaction{} } +func (m *Transaction) String() string { return proto.CompactTextString(m) } +func (*Transaction) ProtoMessage() {} +func (*Transaction) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{14} +} +func (m *Transaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Transaction.Unmarshal(m, b) +} +func (m *Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Transaction.Marshal(b, m, deterministic) +} +func (dst *Transaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_Transaction.Merge(dst, src) +} +func (m *Transaction) XXX_Size() int { + return xxx_messageInfo_Transaction.Size(m) +} +func (m *Transaction) XXX_DiscardUnknown() { + xxx_messageInfo_Transaction.DiscardUnknown(m) +} + +var xxx_messageInfo_Transaction proto.InternalMessageInfo + +const Default_Transaction_MarkChanges bool = false + +func (m *Transaction) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *Transaction) GetHandle() uint64 { + if m != nil && m.Handle != nil { + return *m.Handle + } + return 0 +} + +func (m *Transaction) GetApp() string { + if m != nil && m.App != nil { + return *m.App + } + return "" +} + +func (m *Transaction) GetMarkChanges() bool { + if m != nil && m.MarkChanges != nil { + return *m.MarkChanges + } + return Default_Transaction_MarkChanges +} + +type Query struct { + Header *InternalHeader `protobuf:"bytes,39,opt,name=header" json:"header,omitempty"` + App *string `protobuf:"bytes,1,req,name=app" json:"app,omitempty"` + NameSpace *string `protobuf:"bytes,29,opt,name=name_space,json=nameSpace" json:"name_space,omitempty"` + Kind *string `protobuf:"bytes,3,opt,name=kind" json:"kind,omitempty"` + Ancestor *Reference `protobuf:"bytes,17,opt,name=ancestor" json:"ancestor,omitempty"` + Filter []*Query_Filter `protobuf:"group,4,rep,name=Filter,json=filter" json:"filter,omitempty"` + SearchQuery *string `protobuf:"bytes,8,opt,name=search_query,json=searchQuery" json:"search_query,omitempty"` + Order []*Query_Order `protobuf:"group,9,rep,name=Order,json=order" json:"order,omitempty"` + Hint *Query_Hint `protobuf:"varint,18,opt,name=hint,enum=appengine.Query_Hint" json:"hint,omitempty"` + Count *int32 `protobuf:"varint,23,opt,name=count" json:"count,omitempty"` + Offset *int32 `protobuf:"varint,12,opt,name=offset,def=0" json:"offset,omitempty"` + Limit *int32 `protobuf:"varint,16,opt,name=limit" json:"limit,omitempty"` + CompiledCursor *CompiledCursor `protobuf:"bytes,30,opt,name=compiled_cursor,json=compiledCursor" json:"compiled_cursor,omitempty"` + EndCompiledCursor *CompiledCursor `protobuf:"bytes,31,opt,name=end_compiled_cursor,json=endCompiledCursor" json:"end_compiled_cursor,omitempty"` + CompositeIndex []*CompositeIndex `protobuf:"bytes,19,rep,name=composite_index,json=compositeIndex" json:"composite_index,omitempty"` + RequirePerfectPlan *bool `protobuf:"varint,20,opt,name=require_perfect_plan,json=requirePerfectPlan,def=0" json:"require_perfect_plan,omitempty"` + KeysOnly *bool `protobuf:"varint,21,opt,name=keys_only,json=keysOnly,def=0" json:"keys_only,omitempty"` + Transaction *Transaction `protobuf:"bytes,22,opt,name=transaction" json:"transaction,omitempty"` + Compile *bool `protobuf:"varint,25,opt,name=compile,def=0" json:"compile,omitempty"` + FailoverMs *int64 `protobuf:"varint,26,opt,name=failover_ms,json=failoverMs" json:"failover_ms,omitempty"` + Strong *bool `protobuf:"varint,32,opt,name=strong" json:"strong,omitempty"` + PropertyName []string `protobuf:"bytes,33,rep,name=property_name,json=propertyName" json:"property_name,omitempty"` + GroupByPropertyName []string `protobuf:"bytes,34,rep,name=group_by_property_name,json=groupByPropertyName" json:"group_by_property_name,omitempty"` + Distinct *bool `protobuf:"varint,24,opt,name=distinct" json:"distinct,omitempty"` + MinSafeTimeSeconds *int64 `protobuf:"varint,35,opt,name=min_safe_time_seconds,json=minSafeTimeSeconds" json:"min_safe_time_seconds,omitempty"` + SafeReplicaName []string `protobuf:"bytes,36,rep,name=safe_replica_name,json=safeReplicaName" json:"safe_replica_name,omitempty"` + PersistOffset *bool `protobuf:"varint,37,opt,name=persist_offset,json=persistOffset,def=0" json:"persist_offset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Query) Reset() { *m = Query{} } +func (m *Query) String() string { return proto.CompactTextString(m) } +func (*Query) ProtoMessage() {} +func (*Query) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{15} +} +func (m *Query) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Query.Unmarshal(m, b) +} +func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Query.Marshal(b, m, deterministic) +} +func (dst *Query) XXX_Merge(src proto.Message) { + xxx_messageInfo_Query.Merge(dst, src) +} +func (m *Query) XXX_Size() int { + return xxx_messageInfo_Query.Size(m) +} +func (m *Query) XXX_DiscardUnknown() { + xxx_messageInfo_Query.DiscardUnknown(m) +} + +var xxx_messageInfo_Query proto.InternalMessageInfo + +const Default_Query_Offset int32 = 0 +const Default_Query_RequirePerfectPlan bool = false +const Default_Query_KeysOnly bool = false +const Default_Query_Compile bool = false +const Default_Query_PersistOffset bool = false + +func (m *Query) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *Query) GetApp() string { + if m != nil && m.App != nil { + return *m.App + } + return "" +} + +func (m *Query) GetNameSpace() string { + if m != nil && m.NameSpace != nil { + return *m.NameSpace + } + return "" +} + +func (m *Query) GetKind() string { + if m != nil && m.Kind != nil { + return *m.Kind + } + return "" +} + +func (m *Query) GetAncestor() *Reference { + if m != nil { + return m.Ancestor + } + return nil +} + +func (m *Query) GetFilter() []*Query_Filter { + if m != nil { + return m.Filter + } + return nil +} + +func (m *Query) GetSearchQuery() string { + if m != nil && m.SearchQuery != nil { + return *m.SearchQuery + } + return "" +} + +func (m *Query) GetOrder() []*Query_Order { + if m != nil { + return m.Order + } + return nil +} + +func (m *Query) GetHint() Query_Hint { + if m != nil && m.Hint != nil { + return *m.Hint + } + return Query_ORDER_FIRST +} + +func (m *Query) GetCount() int32 { + if m != nil && m.Count != nil { + return *m.Count + } + return 0 +} + +func (m *Query) GetOffset() int32 { + if m != nil && m.Offset != nil { + return *m.Offset + } + return Default_Query_Offset +} + +func (m *Query) GetLimit() int32 { + if m != nil && m.Limit != nil { + return *m.Limit + } + return 0 +} + +func (m *Query) GetCompiledCursor() *CompiledCursor { + if m != nil { + return m.CompiledCursor + } + return nil +} + +func (m *Query) GetEndCompiledCursor() *CompiledCursor { + if m != nil { + return m.EndCompiledCursor + } + return nil +} + +func (m *Query) GetCompositeIndex() []*CompositeIndex { + if m != nil { + return m.CompositeIndex + } + return nil +} + +func (m *Query) GetRequirePerfectPlan() bool { + if m != nil && m.RequirePerfectPlan != nil { + return *m.RequirePerfectPlan + } + return Default_Query_RequirePerfectPlan +} + +func (m *Query) GetKeysOnly() bool { + if m != nil && m.KeysOnly != nil { + return *m.KeysOnly + } + return Default_Query_KeysOnly +} + +func (m *Query) GetTransaction() *Transaction { + if m != nil { + return m.Transaction + } + return nil +} + +func (m *Query) GetCompile() bool { + if m != nil && m.Compile != nil { + return *m.Compile + } + return Default_Query_Compile +} + +func (m *Query) GetFailoverMs() int64 { + if m != nil && m.FailoverMs != nil { + return *m.FailoverMs + } + return 0 +} + +func (m *Query) GetStrong() bool { + if m != nil && m.Strong != nil { + return *m.Strong + } + return false +} + +func (m *Query) GetPropertyName() []string { + if m != nil { + return m.PropertyName + } + return nil +} + +func (m *Query) GetGroupByPropertyName() []string { + if m != nil { + return m.GroupByPropertyName + } + return nil +} + +func (m *Query) GetDistinct() bool { + if m != nil && m.Distinct != nil { + return *m.Distinct + } + return false +} + +func (m *Query) GetMinSafeTimeSeconds() int64 { + if m != nil && m.MinSafeTimeSeconds != nil { + return *m.MinSafeTimeSeconds + } + return 0 +} + +func (m *Query) GetSafeReplicaName() []string { + if m != nil { + return m.SafeReplicaName + } + return nil +} + +func (m *Query) GetPersistOffset() bool { + if m != nil && m.PersistOffset != nil { + return *m.PersistOffset + } + return Default_Query_PersistOffset +} + +type Query_Filter struct { + Op *Query_Filter_Operator `protobuf:"varint,6,req,name=op,enum=appengine.Query_Filter_Operator" json:"op,omitempty"` + Property []*Property `protobuf:"bytes,14,rep,name=property" json:"property,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Query_Filter) Reset() { *m = Query_Filter{} } +func (m *Query_Filter) String() string { return proto.CompactTextString(m) } +func (*Query_Filter) ProtoMessage() {} +func (*Query_Filter) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{15, 0} +} +func (m *Query_Filter) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Query_Filter.Unmarshal(m, b) +} +func (m *Query_Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Query_Filter.Marshal(b, m, deterministic) +} +func (dst *Query_Filter) XXX_Merge(src proto.Message) { + xxx_messageInfo_Query_Filter.Merge(dst, src) +} +func (m *Query_Filter) XXX_Size() int { + return xxx_messageInfo_Query_Filter.Size(m) +} +func (m *Query_Filter) XXX_DiscardUnknown() { + xxx_messageInfo_Query_Filter.DiscardUnknown(m) +} + +var xxx_messageInfo_Query_Filter proto.InternalMessageInfo + +func (m *Query_Filter) GetOp() Query_Filter_Operator { + if m != nil && m.Op != nil { + return *m.Op + } + return Query_Filter_LESS_THAN +} + +func (m *Query_Filter) GetProperty() []*Property { + if m != nil { + return m.Property + } + return nil +} + +type Query_Order struct { + Property *string `protobuf:"bytes,10,req,name=property" json:"property,omitempty"` + Direction *Query_Order_Direction `protobuf:"varint,11,opt,name=direction,enum=appengine.Query_Order_Direction,def=1" json:"direction,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Query_Order) Reset() { *m = Query_Order{} } +func (m *Query_Order) String() string { return proto.CompactTextString(m) } +func (*Query_Order) ProtoMessage() {} +func (*Query_Order) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{15, 1} +} +func (m *Query_Order) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Query_Order.Unmarshal(m, b) +} +func (m *Query_Order) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Query_Order.Marshal(b, m, deterministic) +} +func (dst *Query_Order) XXX_Merge(src proto.Message) { + xxx_messageInfo_Query_Order.Merge(dst, src) +} +func (m *Query_Order) XXX_Size() int { + return xxx_messageInfo_Query_Order.Size(m) +} +func (m *Query_Order) XXX_DiscardUnknown() { + xxx_messageInfo_Query_Order.DiscardUnknown(m) +} + +var xxx_messageInfo_Query_Order proto.InternalMessageInfo + +const Default_Query_Order_Direction Query_Order_Direction = Query_Order_ASCENDING + +func (m *Query_Order) GetProperty() string { + if m != nil && m.Property != nil { + return *m.Property + } + return "" +} + +func (m *Query_Order) GetDirection() Query_Order_Direction { + if m != nil && m.Direction != nil { + return *m.Direction + } + return Default_Query_Order_Direction +} + +type CompiledQuery struct { + Primaryscan *CompiledQuery_PrimaryScan `protobuf:"group,1,req,name=PrimaryScan,json=primaryscan" json:"primaryscan,omitempty"` + Mergejoinscan []*CompiledQuery_MergeJoinScan `protobuf:"group,7,rep,name=MergeJoinScan,json=mergejoinscan" json:"mergejoinscan,omitempty"` + IndexDef *Index `protobuf:"bytes,21,opt,name=index_def,json=indexDef" json:"index_def,omitempty"` + Offset *int32 `protobuf:"varint,10,opt,name=offset,def=0" json:"offset,omitempty"` + Limit *int32 `protobuf:"varint,11,opt,name=limit" json:"limit,omitempty"` + KeysOnly *bool `protobuf:"varint,12,req,name=keys_only,json=keysOnly" json:"keys_only,omitempty"` + PropertyName []string `protobuf:"bytes,24,rep,name=property_name,json=propertyName" json:"property_name,omitempty"` + DistinctInfixSize *int32 `protobuf:"varint,25,opt,name=distinct_infix_size,json=distinctInfixSize" json:"distinct_infix_size,omitempty"` + Entityfilter *CompiledQuery_EntityFilter `protobuf:"group,13,opt,name=EntityFilter,json=entityfilter" json:"entityfilter,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompiledQuery) Reset() { *m = CompiledQuery{} } +func (m *CompiledQuery) String() string { return proto.CompactTextString(m) } +func (*CompiledQuery) ProtoMessage() {} +func (*CompiledQuery) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{16} +} +func (m *CompiledQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompiledQuery.Unmarshal(m, b) +} +func (m *CompiledQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompiledQuery.Marshal(b, m, deterministic) +} +func (dst *CompiledQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompiledQuery.Merge(dst, src) +} +func (m *CompiledQuery) XXX_Size() int { + return xxx_messageInfo_CompiledQuery.Size(m) +} +func (m *CompiledQuery) XXX_DiscardUnknown() { + xxx_messageInfo_CompiledQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_CompiledQuery proto.InternalMessageInfo + +const Default_CompiledQuery_Offset int32 = 0 + +func (m *CompiledQuery) GetPrimaryscan() *CompiledQuery_PrimaryScan { + if m != nil { + return m.Primaryscan + } + return nil +} + +func (m *CompiledQuery) GetMergejoinscan() []*CompiledQuery_MergeJoinScan { + if m != nil { + return m.Mergejoinscan + } + return nil +} + +func (m *CompiledQuery) GetIndexDef() *Index { + if m != nil { + return m.IndexDef + } + return nil +} + +func (m *CompiledQuery) GetOffset() int32 { + if m != nil && m.Offset != nil { + return *m.Offset + } + return Default_CompiledQuery_Offset +} + +func (m *CompiledQuery) GetLimit() int32 { + if m != nil && m.Limit != nil { + return *m.Limit + } + return 0 +} + +func (m *CompiledQuery) GetKeysOnly() bool { + if m != nil && m.KeysOnly != nil { + return *m.KeysOnly + } + return false +} + +func (m *CompiledQuery) GetPropertyName() []string { + if m != nil { + return m.PropertyName + } + return nil +} + +func (m *CompiledQuery) GetDistinctInfixSize() int32 { + if m != nil && m.DistinctInfixSize != nil { + return *m.DistinctInfixSize + } + return 0 +} + +func (m *CompiledQuery) GetEntityfilter() *CompiledQuery_EntityFilter { + if m != nil { + return m.Entityfilter + } + return nil +} + +type CompiledQuery_PrimaryScan struct { + IndexName *string `protobuf:"bytes,2,opt,name=index_name,json=indexName" json:"index_name,omitempty"` + StartKey *string `protobuf:"bytes,3,opt,name=start_key,json=startKey" json:"start_key,omitempty"` + StartInclusive *bool `protobuf:"varint,4,opt,name=start_inclusive,json=startInclusive" json:"start_inclusive,omitempty"` + EndKey *string `protobuf:"bytes,5,opt,name=end_key,json=endKey" json:"end_key,omitempty"` + EndInclusive *bool `protobuf:"varint,6,opt,name=end_inclusive,json=endInclusive" json:"end_inclusive,omitempty"` + StartPostfixValue []string `protobuf:"bytes,22,rep,name=start_postfix_value,json=startPostfixValue" json:"start_postfix_value,omitempty"` + EndPostfixValue []string `protobuf:"bytes,23,rep,name=end_postfix_value,json=endPostfixValue" json:"end_postfix_value,omitempty"` + EndUnappliedLogTimestampUs *int64 `protobuf:"varint,19,opt,name=end_unapplied_log_timestamp_us,json=endUnappliedLogTimestampUs" json:"end_unapplied_log_timestamp_us,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompiledQuery_PrimaryScan) Reset() { *m = CompiledQuery_PrimaryScan{} } +func (m *CompiledQuery_PrimaryScan) String() string { return proto.CompactTextString(m) } +func (*CompiledQuery_PrimaryScan) ProtoMessage() {} +func (*CompiledQuery_PrimaryScan) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{16, 0} +} +func (m *CompiledQuery_PrimaryScan) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompiledQuery_PrimaryScan.Unmarshal(m, b) +} +func (m *CompiledQuery_PrimaryScan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompiledQuery_PrimaryScan.Marshal(b, m, deterministic) +} +func (dst *CompiledQuery_PrimaryScan) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompiledQuery_PrimaryScan.Merge(dst, src) +} +func (m *CompiledQuery_PrimaryScan) XXX_Size() int { + return xxx_messageInfo_CompiledQuery_PrimaryScan.Size(m) +} +func (m *CompiledQuery_PrimaryScan) XXX_DiscardUnknown() { + xxx_messageInfo_CompiledQuery_PrimaryScan.DiscardUnknown(m) +} + +var xxx_messageInfo_CompiledQuery_PrimaryScan proto.InternalMessageInfo + +func (m *CompiledQuery_PrimaryScan) GetIndexName() string { + if m != nil && m.IndexName != nil { + return *m.IndexName + } + return "" +} + +func (m *CompiledQuery_PrimaryScan) GetStartKey() string { + if m != nil && m.StartKey != nil { + return *m.StartKey + } + return "" +} + +func (m *CompiledQuery_PrimaryScan) GetStartInclusive() bool { + if m != nil && m.StartInclusive != nil { + return *m.StartInclusive + } + return false +} + +func (m *CompiledQuery_PrimaryScan) GetEndKey() string { + if m != nil && m.EndKey != nil { + return *m.EndKey + } + return "" +} + +func (m *CompiledQuery_PrimaryScan) GetEndInclusive() bool { + if m != nil && m.EndInclusive != nil { + return *m.EndInclusive + } + return false +} + +func (m *CompiledQuery_PrimaryScan) GetStartPostfixValue() []string { + if m != nil { + return m.StartPostfixValue + } + return nil +} + +func (m *CompiledQuery_PrimaryScan) GetEndPostfixValue() []string { + if m != nil { + return m.EndPostfixValue + } + return nil +} + +func (m *CompiledQuery_PrimaryScan) GetEndUnappliedLogTimestampUs() int64 { + if m != nil && m.EndUnappliedLogTimestampUs != nil { + return *m.EndUnappliedLogTimestampUs + } + return 0 +} + +type CompiledQuery_MergeJoinScan struct { + IndexName *string `protobuf:"bytes,8,req,name=index_name,json=indexName" json:"index_name,omitempty"` + PrefixValue []string `protobuf:"bytes,9,rep,name=prefix_value,json=prefixValue" json:"prefix_value,omitempty"` + ValuePrefix *bool `protobuf:"varint,20,opt,name=value_prefix,json=valuePrefix,def=0" json:"value_prefix,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompiledQuery_MergeJoinScan) Reset() { *m = CompiledQuery_MergeJoinScan{} } +func (m *CompiledQuery_MergeJoinScan) String() string { return proto.CompactTextString(m) } +func (*CompiledQuery_MergeJoinScan) ProtoMessage() {} +func (*CompiledQuery_MergeJoinScan) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{16, 1} +} +func (m *CompiledQuery_MergeJoinScan) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompiledQuery_MergeJoinScan.Unmarshal(m, b) +} +func (m *CompiledQuery_MergeJoinScan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompiledQuery_MergeJoinScan.Marshal(b, m, deterministic) +} +func (dst *CompiledQuery_MergeJoinScan) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompiledQuery_MergeJoinScan.Merge(dst, src) +} +func (m *CompiledQuery_MergeJoinScan) XXX_Size() int { + return xxx_messageInfo_CompiledQuery_MergeJoinScan.Size(m) +} +func (m *CompiledQuery_MergeJoinScan) XXX_DiscardUnknown() { + xxx_messageInfo_CompiledQuery_MergeJoinScan.DiscardUnknown(m) +} + +var xxx_messageInfo_CompiledQuery_MergeJoinScan proto.InternalMessageInfo + +const Default_CompiledQuery_MergeJoinScan_ValuePrefix bool = false + +func (m *CompiledQuery_MergeJoinScan) GetIndexName() string { + if m != nil && m.IndexName != nil { + return *m.IndexName + } + return "" +} + +func (m *CompiledQuery_MergeJoinScan) GetPrefixValue() []string { + if m != nil { + return m.PrefixValue + } + return nil +} + +func (m *CompiledQuery_MergeJoinScan) GetValuePrefix() bool { + if m != nil && m.ValuePrefix != nil { + return *m.ValuePrefix + } + return Default_CompiledQuery_MergeJoinScan_ValuePrefix +} + +type CompiledQuery_EntityFilter struct { + Distinct *bool `protobuf:"varint,14,opt,name=distinct,def=0" json:"distinct,omitempty"` + Kind *string `protobuf:"bytes,17,opt,name=kind" json:"kind,omitempty"` + Ancestor *Reference `protobuf:"bytes,18,opt,name=ancestor" json:"ancestor,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompiledQuery_EntityFilter) Reset() { *m = CompiledQuery_EntityFilter{} } +func (m *CompiledQuery_EntityFilter) String() string { return proto.CompactTextString(m) } +func (*CompiledQuery_EntityFilter) ProtoMessage() {} +func (*CompiledQuery_EntityFilter) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{16, 2} +} +func (m *CompiledQuery_EntityFilter) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompiledQuery_EntityFilter.Unmarshal(m, b) +} +func (m *CompiledQuery_EntityFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompiledQuery_EntityFilter.Marshal(b, m, deterministic) +} +func (dst *CompiledQuery_EntityFilter) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompiledQuery_EntityFilter.Merge(dst, src) +} +func (m *CompiledQuery_EntityFilter) XXX_Size() int { + return xxx_messageInfo_CompiledQuery_EntityFilter.Size(m) +} +func (m *CompiledQuery_EntityFilter) XXX_DiscardUnknown() { + xxx_messageInfo_CompiledQuery_EntityFilter.DiscardUnknown(m) +} + +var xxx_messageInfo_CompiledQuery_EntityFilter proto.InternalMessageInfo + +const Default_CompiledQuery_EntityFilter_Distinct bool = false + +func (m *CompiledQuery_EntityFilter) GetDistinct() bool { + if m != nil && m.Distinct != nil { + return *m.Distinct + } + return Default_CompiledQuery_EntityFilter_Distinct +} + +func (m *CompiledQuery_EntityFilter) GetKind() string { + if m != nil && m.Kind != nil { + return *m.Kind + } + return "" +} + +func (m *CompiledQuery_EntityFilter) GetAncestor() *Reference { + if m != nil { + return m.Ancestor + } + return nil +} + +type CompiledCursor struct { + Position *CompiledCursor_Position `protobuf:"group,2,opt,name=Position,json=position" json:"position,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompiledCursor) Reset() { *m = CompiledCursor{} } +func (m *CompiledCursor) String() string { return proto.CompactTextString(m) } +func (*CompiledCursor) ProtoMessage() {} +func (*CompiledCursor) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{17} +} +func (m *CompiledCursor) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompiledCursor.Unmarshal(m, b) +} +func (m *CompiledCursor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompiledCursor.Marshal(b, m, deterministic) +} +func (dst *CompiledCursor) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompiledCursor.Merge(dst, src) +} +func (m *CompiledCursor) XXX_Size() int { + return xxx_messageInfo_CompiledCursor.Size(m) +} +func (m *CompiledCursor) XXX_DiscardUnknown() { + xxx_messageInfo_CompiledCursor.DiscardUnknown(m) +} + +var xxx_messageInfo_CompiledCursor proto.InternalMessageInfo + +func (m *CompiledCursor) GetPosition() *CompiledCursor_Position { + if m != nil { + return m.Position + } + return nil +} + +type CompiledCursor_Position struct { + StartKey *string `protobuf:"bytes,27,opt,name=start_key,json=startKey" json:"start_key,omitempty"` + Indexvalue []*CompiledCursor_Position_IndexValue `protobuf:"group,29,rep,name=IndexValue,json=indexvalue" json:"indexvalue,omitempty"` + Key *Reference `protobuf:"bytes,32,opt,name=key" json:"key,omitempty"` + StartInclusive *bool `protobuf:"varint,28,opt,name=start_inclusive,json=startInclusive,def=1" json:"start_inclusive,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompiledCursor_Position) Reset() { *m = CompiledCursor_Position{} } +func (m *CompiledCursor_Position) String() string { return proto.CompactTextString(m) } +func (*CompiledCursor_Position) ProtoMessage() {} +func (*CompiledCursor_Position) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{17, 0} +} +func (m *CompiledCursor_Position) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompiledCursor_Position.Unmarshal(m, b) +} +func (m *CompiledCursor_Position) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompiledCursor_Position.Marshal(b, m, deterministic) +} +func (dst *CompiledCursor_Position) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompiledCursor_Position.Merge(dst, src) +} +func (m *CompiledCursor_Position) XXX_Size() int { + return xxx_messageInfo_CompiledCursor_Position.Size(m) +} +func (m *CompiledCursor_Position) XXX_DiscardUnknown() { + xxx_messageInfo_CompiledCursor_Position.DiscardUnknown(m) +} + +var xxx_messageInfo_CompiledCursor_Position proto.InternalMessageInfo + +const Default_CompiledCursor_Position_StartInclusive bool = true + +func (m *CompiledCursor_Position) GetStartKey() string { + if m != nil && m.StartKey != nil { + return *m.StartKey + } + return "" +} + +func (m *CompiledCursor_Position) GetIndexvalue() []*CompiledCursor_Position_IndexValue { + if m != nil { + return m.Indexvalue + } + return nil +} + +func (m *CompiledCursor_Position) GetKey() *Reference { + if m != nil { + return m.Key + } + return nil +} + +func (m *CompiledCursor_Position) GetStartInclusive() bool { + if m != nil && m.StartInclusive != nil { + return *m.StartInclusive + } + return Default_CompiledCursor_Position_StartInclusive +} + +type CompiledCursor_Position_IndexValue struct { + Property *string `protobuf:"bytes,30,opt,name=property" json:"property,omitempty"` + Value *PropertyValue `protobuf:"bytes,31,req,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompiledCursor_Position_IndexValue) Reset() { *m = CompiledCursor_Position_IndexValue{} } +func (m *CompiledCursor_Position_IndexValue) String() string { return proto.CompactTextString(m) } +func (*CompiledCursor_Position_IndexValue) ProtoMessage() {} +func (*CompiledCursor_Position_IndexValue) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{17, 0, 0} +} +func (m *CompiledCursor_Position_IndexValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompiledCursor_Position_IndexValue.Unmarshal(m, b) +} +func (m *CompiledCursor_Position_IndexValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompiledCursor_Position_IndexValue.Marshal(b, m, deterministic) +} +func (dst *CompiledCursor_Position_IndexValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompiledCursor_Position_IndexValue.Merge(dst, src) +} +func (m *CompiledCursor_Position_IndexValue) XXX_Size() int { + return xxx_messageInfo_CompiledCursor_Position_IndexValue.Size(m) +} +func (m *CompiledCursor_Position_IndexValue) XXX_DiscardUnknown() { + xxx_messageInfo_CompiledCursor_Position_IndexValue.DiscardUnknown(m) +} + +var xxx_messageInfo_CompiledCursor_Position_IndexValue proto.InternalMessageInfo + +func (m *CompiledCursor_Position_IndexValue) GetProperty() string { + if m != nil && m.Property != nil { + return *m.Property + } + return "" +} + +func (m *CompiledCursor_Position_IndexValue) GetValue() *PropertyValue { + if m != nil { + return m.Value + } + return nil +} + +type Cursor struct { + Cursor *uint64 `protobuf:"fixed64,1,req,name=cursor" json:"cursor,omitempty"` + App *string `protobuf:"bytes,2,opt,name=app" json:"app,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Cursor) Reset() { *m = Cursor{} } +func (m *Cursor) String() string { return proto.CompactTextString(m) } +func (*Cursor) ProtoMessage() {} +func (*Cursor) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{18} +} +func (m *Cursor) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Cursor.Unmarshal(m, b) +} +func (m *Cursor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Cursor.Marshal(b, m, deterministic) +} +func (dst *Cursor) XXX_Merge(src proto.Message) { + xxx_messageInfo_Cursor.Merge(dst, src) +} +func (m *Cursor) XXX_Size() int { + return xxx_messageInfo_Cursor.Size(m) +} +func (m *Cursor) XXX_DiscardUnknown() { + xxx_messageInfo_Cursor.DiscardUnknown(m) +} + +var xxx_messageInfo_Cursor proto.InternalMessageInfo + +func (m *Cursor) GetCursor() uint64 { + if m != nil && m.Cursor != nil { + return *m.Cursor + } + return 0 +} + +func (m *Cursor) GetApp() string { + if m != nil && m.App != nil { + return *m.App + } + return "" +} + +type Error struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Error) Reset() { *m = Error{} } +func (m *Error) String() string { return proto.CompactTextString(m) } +func (*Error) ProtoMessage() {} +func (*Error) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{19} +} +func (m *Error) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Error.Unmarshal(m, b) +} +func (m *Error) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Error.Marshal(b, m, deterministic) +} +func (dst *Error) XXX_Merge(src proto.Message) { + xxx_messageInfo_Error.Merge(dst, src) +} +func (m *Error) XXX_Size() int { + return xxx_messageInfo_Error.Size(m) +} +func (m *Error) XXX_DiscardUnknown() { + xxx_messageInfo_Error.DiscardUnknown(m) +} + +var xxx_messageInfo_Error proto.InternalMessageInfo + +type Cost struct { + IndexWrites *int32 `protobuf:"varint,1,opt,name=index_writes,json=indexWrites" json:"index_writes,omitempty"` + IndexWriteBytes *int32 `protobuf:"varint,2,opt,name=index_write_bytes,json=indexWriteBytes" json:"index_write_bytes,omitempty"` + EntityWrites *int32 `protobuf:"varint,3,opt,name=entity_writes,json=entityWrites" json:"entity_writes,omitempty"` + EntityWriteBytes *int32 `protobuf:"varint,4,opt,name=entity_write_bytes,json=entityWriteBytes" json:"entity_write_bytes,omitempty"` + Commitcost *Cost_CommitCost `protobuf:"group,5,opt,name=CommitCost,json=commitcost" json:"commitcost,omitempty"` + ApproximateStorageDelta *int32 `protobuf:"varint,8,opt,name=approximate_storage_delta,json=approximateStorageDelta" json:"approximate_storage_delta,omitempty"` + IdSequenceUpdates *int32 `protobuf:"varint,9,opt,name=id_sequence_updates,json=idSequenceUpdates" json:"id_sequence_updates,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Cost) Reset() { *m = Cost{} } +func (m *Cost) String() string { return proto.CompactTextString(m) } +func (*Cost) ProtoMessage() {} +func (*Cost) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{20} +} +func (m *Cost) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Cost.Unmarshal(m, b) +} +func (m *Cost) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Cost.Marshal(b, m, deterministic) +} +func (dst *Cost) XXX_Merge(src proto.Message) { + xxx_messageInfo_Cost.Merge(dst, src) +} +func (m *Cost) XXX_Size() int { + return xxx_messageInfo_Cost.Size(m) +} +func (m *Cost) XXX_DiscardUnknown() { + xxx_messageInfo_Cost.DiscardUnknown(m) +} + +var xxx_messageInfo_Cost proto.InternalMessageInfo + +func (m *Cost) GetIndexWrites() int32 { + if m != nil && m.IndexWrites != nil { + return *m.IndexWrites + } + return 0 +} + +func (m *Cost) GetIndexWriteBytes() int32 { + if m != nil && m.IndexWriteBytes != nil { + return *m.IndexWriteBytes + } + return 0 +} + +func (m *Cost) GetEntityWrites() int32 { + if m != nil && m.EntityWrites != nil { + return *m.EntityWrites + } + return 0 +} + +func (m *Cost) GetEntityWriteBytes() int32 { + if m != nil && m.EntityWriteBytes != nil { + return *m.EntityWriteBytes + } + return 0 +} + +func (m *Cost) GetCommitcost() *Cost_CommitCost { + if m != nil { + return m.Commitcost + } + return nil +} + +func (m *Cost) GetApproximateStorageDelta() int32 { + if m != nil && m.ApproximateStorageDelta != nil { + return *m.ApproximateStorageDelta + } + return 0 +} + +func (m *Cost) GetIdSequenceUpdates() int32 { + if m != nil && m.IdSequenceUpdates != nil { + return *m.IdSequenceUpdates + } + return 0 +} + +type Cost_CommitCost struct { + RequestedEntityPuts *int32 `protobuf:"varint,6,opt,name=requested_entity_puts,json=requestedEntityPuts" json:"requested_entity_puts,omitempty"` + RequestedEntityDeletes *int32 `protobuf:"varint,7,opt,name=requested_entity_deletes,json=requestedEntityDeletes" json:"requested_entity_deletes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Cost_CommitCost) Reset() { *m = Cost_CommitCost{} } +func (m *Cost_CommitCost) String() string { return proto.CompactTextString(m) } +func (*Cost_CommitCost) ProtoMessage() {} +func (*Cost_CommitCost) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{20, 0} +} +func (m *Cost_CommitCost) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Cost_CommitCost.Unmarshal(m, b) +} +func (m *Cost_CommitCost) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Cost_CommitCost.Marshal(b, m, deterministic) +} +func (dst *Cost_CommitCost) XXX_Merge(src proto.Message) { + xxx_messageInfo_Cost_CommitCost.Merge(dst, src) +} +func (m *Cost_CommitCost) XXX_Size() int { + return xxx_messageInfo_Cost_CommitCost.Size(m) +} +func (m *Cost_CommitCost) XXX_DiscardUnknown() { + xxx_messageInfo_Cost_CommitCost.DiscardUnknown(m) +} + +var xxx_messageInfo_Cost_CommitCost proto.InternalMessageInfo + +func (m *Cost_CommitCost) GetRequestedEntityPuts() int32 { + if m != nil && m.RequestedEntityPuts != nil { + return *m.RequestedEntityPuts + } + return 0 +} + +func (m *Cost_CommitCost) GetRequestedEntityDeletes() int32 { + if m != nil && m.RequestedEntityDeletes != nil { + return *m.RequestedEntityDeletes + } + return 0 +} + +type GetRequest struct { + Header *InternalHeader `protobuf:"bytes,6,opt,name=header" json:"header,omitempty"` + Key []*Reference `protobuf:"bytes,1,rep,name=key" json:"key,omitempty"` + Transaction *Transaction `protobuf:"bytes,2,opt,name=transaction" json:"transaction,omitempty"` + FailoverMs *int64 `protobuf:"varint,3,opt,name=failover_ms,json=failoverMs" json:"failover_ms,omitempty"` + Strong *bool `protobuf:"varint,4,opt,name=strong" json:"strong,omitempty"` + AllowDeferred *bool `protobuf:"varint,5,opt,name=allow_deferred,json=allowDeferred,def=0" json:"allow_deferred,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetRequest) Reset() { *m = GetRequest{} } +func (m *GetRequest) String() string { return proto.CompactTextString(m) } +func (*GetRequest) ProtoMessage() {} +func (*GetRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{21} +} +func (m *GetRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetRequest.Unmarshal(m, b) +} +func (m *GetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetRequest.Marshal(b, m, deterministic) +} +func (dst *GetRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetRequest.Merge(dst, src) +} +func (m *GetRequest) XXX_Size() int { + return xxx_messageInfo_GetRequest.Size(m) +} +func (m *GetRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetRequest proto.InternalMessageInfo + +const Default_GetRequest_AllowDeferred bool = false + +func (m *GetRequest) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *GetRequest) GetKey() []*Reference { + if m != nil { + return m.Key + } + return nil +} + +func (m *GetRequest) GetTransaction() *Transaction { + if m != nil { + return m.Transaction + } + return nil +} + +func (m *GetRequest) GetFailoverMs() int64 { + if m != nil && m.FailoverMs != nil { + return *m.FailoverMs + } + return 0 +} + +func (m *GetRequest) GetStrong() bool { + if m != nil && m.Strong != nil { + return *m.Strong + } + return false +} + +func (m *GetRequest) GetAllowDeferred() bool { + if m != nil && m.AllowDeferred != nil { + return *m.AllowDeferred + } + return Default_GetRequest_AllowDeferred +} + +type GetResponse struct { + Entity []*GetResponse_Entity `protobuf:"group,1,rep,name=Entity,json=entity" json:"entity,omitempty"` + Deferred []*Reference `protobuf:"bytes,5,rep,name=deferred" json:"deferred,omitempty"` + InOrder *bool `protobuf:"varint,6,opt,name=in_order,json=inOrder,def=1" json:"in_order,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetResponse) Reset() { *m = GetResponse{} } +func (m *GetResponse) String() string { return proto.CompactTextString(m) } +func (*GetResponse) ProtoMessage() {} +func (*GetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{22} +} +func (m *GetResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetResponse.Unmarshal(m, b) +} +func (m *GetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetResponse.Marshal(b, m, deterministic) +} +func (dst *GetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetResponse.Merge(dst, src) +} +func (m *GetResponse) XXX_Size() int { + return xxx_messageInfo_GetResponse.Size(m) +} +func (m *GetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_GetResponse proto.InternalMessageInfo + +const Default_GetResponse_InOrder bool = true + +func (m *GetResponse) GetEntity() []*GetResponse_Entity { + if m != nil { + return m.Entity + } + return nil +} + +func (m *GetResponse) GetDeferred() []*Reference { + if m != nil { + return m.Deferred + } + return nil +} + +func (m *GetResponse) GetInOrder() bool { + if m != nil && m.InOrder != nil { + return *m.InOrder + } + return Default_GetResponse_InOrder +} + +type GetResponse_Entity struct { + Entity *EntityProto `protobuf:"bytes,2,opt,name=entity" json:"entity,omitempty"` + Key *Reference `protobuf:"bytes,4,opt,name=key" json:"key,omitempty"` + Version *int64 `protobuf:"varint,3,opt,name=version" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetResponse_Entity) Reset() { *m = GetResponse_Entity{} } +func (m *GetResponse_Entity) String() string { return proto.CompactTextString(m) } +func (*GetResponse_Entity) ProtoMessage() {} +func (*GetResponse_Entity) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{22, 0} +} +func (m *GetResponse_Entity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetResponse_Entity.Unmarshal(m, b) +} +func (m *GetResponse_Entity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetResponse_Entity.Marshal(b, m, deterministic) +} +func (dst *GetResponse_Entity) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetResponse_Entity.Merge(dst, src) +} +func (m *GetResponse_Entity) XXX_Size() int { + return xxx_messageInfo_GetResponse_Entity.Size(m) +} +func (m *GetResponse_Entity) XXX_DiscardUnknown() { + xxx_messageInfo_GetResponse_Entity.DiscardUnknown(m) +} + +var xxx_messageInfo_GetResponse_Entity proto.InternalMessageInfo + +func (m *GetResponse_Entity) GetEntity() *EntityProto { + if m != nil { + return m.Entity + } + return nil +} + +func (m *GetResponse_Entity) GetKey() *Reference { + if m != nil { + return m.Key + } + return nil +} + +func (m *GetResponse_Entity) GetVersion() int64 { + if m != nil && m.Version != nil { + return *m.Version + } + return 0 +} + +type PutRequest struct { + Header *InternalHeader `protobuf:"bytes,11,opt,name=header" json:"header,omitempty"` + Entity []*EntityProto `protobuf:"bytes,1,rep,name=entity" json:"entity,omitempty"` + Transaction *Transaction `protobuf:"bytes,2,opt,name=transaction" json:"transaction,omitempty"` + CompositeIndex []*CompositeIndex `protobuf:"bytes,3,rep,name=composite_index,json=compositeIndex" json:"composite_index,omitempty"` + Trusted *bool `protobuf:"varint,4,opt,name=trusted,def=0" json:"trusted,omitempty"` + Force *bool `protobuf:"varint,7,opt,name=force,def=0" json:"force,omitempty"` + MarkChanges *bool `protobuf:"varint,8,opt,name=mark_changes,json=markChanges,def=0" json:"mark_changes,omitempty"` + Snapshot []*Snapshot `protobuf:"bytes,9,rep,name=snapshot" json:"snapshot,omitempty"` + AutoIdPolicy *PutRequest_AutoIdPolicy `protobuf:"varint,10,opt,name=auto_id_policy,json=autoIdPolicy,enum=appengine.PutRequest_AutoIdPolicy,def=0" json:"auto_id_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PutRequest) Reset() { *m = PutRequest{} } +func (m *PutRequest) String() string { return proto.CompactTextString(m) } +func (*PutRequest) ProtoMessage() {} +func (*PutRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{23} +} +func (m *PutRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PutRequest.Unmarshal(m, b) +} +func (m *PutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PutRequest.Marshal(b, m, deterministic) +} +func (dst *PutRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PutRequest.Merge(dst, src) +} +func (m *PutRequest) XXX_Size() int { + return xxx_messageInfo_PutRequest.Size(m) +} +func (m *PutRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PutRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PutRequest proto.InternalMessageInfo + +const Default_PutRequest_Trusted bool = false +const Default_PutRequest_Force bool = false +const Default_PutRequest_MarkChanges bool = false +const Default_PutRequest_AutoIdPolicy PutRequest_AutoIdPolicy = PutRequest_CURRENT + +func (m *PutRequest) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *PutRequest) GetEntity() []*EntityProto { + if m != nil { + return m.Entity + } + return nil +} + +func (m *PutRequest) GetTransaction() *Transaction { + if m != nil { + return m.Transaction + } + return nil +} + +func (m *PutRequest) GetCompositeIndex() []*CompositeIndex { + if m != nil { + return m.CompositeIndex + } + return nil +} + +func (m *PutRequest) GetTrusted() bool { + if m != nil && m.Trusted != nil { + return *m.Trusted + } + return Default_PutRequest_Trusted +} + +func (m *PutRequest) GetForce() bool { + if m != nil && m.Force != nil { + return *m.Force + } + return Default_PutRequest_Force +} + +func (m *PutRequest) GetMarkChanges() bool { + if m != nil && m.MarkChanges != nil { + return *m.MarkChanges + } + return Default_PutRequest_MarkChanges +} + +func (m *PutRequest) GetSnapshot() []*Snapshot { + if m != nil { + return m.Snapshot + } + return nil +} + +func (m *PutRequest) GetAutoIdPolicy() PutRequest_AutoIdPolicy { + if m != nil && m.AutoIdPolicy != nil { + return *m.AutoIdPolicy + } + return Default_PutRequest_AutoIdPolicy +} + +type PutResponse struct { + Key []*Reference `protobuf:"bytes,1,rep,name=key" json:"key,omitempty"` + Cost *Cost `protobuf:"bytes,2,opt,name=cost" json:"cost,omitempty"` + Version []int64 `protobuf:"varint,3,rep,name=version" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PutResponse) Reset() { *m = PutResponse{} } +func (m *PutResponse) String() string { return proto.CompactTextString(m) } +func (*PutResponse) ProtoMessage() {} +func (*PutResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{24} +} +func (m *PutResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PutResponse.Unmarshal(m, b) +} +func (m *PutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PutResponse.Marshal(b, m, deterministic) +} +func (dst *PutResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_PutResponse.Merge(dst, src) +} +func (m *PutResponse) XXX_Size() int { + return xxx_messageInfo_PutResponse.Size(m) +} +func (m *PutResponse) XXX_DiscardUnknown() { + xxx_messageInfo_PutResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_PutResponse proto.InternalMessageInfo + +func (m *PutResponse) GetKey() []*Reference { + if m != nil { + return m.Key + } + return nil +} + +func (m *PutResponse) GetCost() *Cost { + if m != nil { + return m.Cost + } + return nil +} + +func (m *PutResponse) GetVersion() []int64 { + if m != nil { + return m.Version + } + return nil +} + +type TouchRequest struct { + Header *InternalHeader `protobuf:"bytes,10,opt,name=header" json:"header,omitempty"` + Key []*Reference `protobuf:"bytes,1,rep,name=key" json:"key,omitempty"` + CompositeIndex []*CompositeIndex `protobuf:"bytes,2,rep,name=composite_index,json=compositeIndex" json:"composite_index,omitempty"` + Force *bool `protobuf:"varint,3,opt,name=force,def=0" json:"force,omitempty"` + Snapshot []*Snapshot `protobuf:"bytes,9,rep,name=snapshot" json:"snapshot,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TouchRequest) Reset() { *m = TouchRequest{} } +func (m *TouchRequest) String() string { return proto.CompactTextString(m) } +func (*TouchRequest) ProtoMessage() {} +func (*TouchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{25} +} +func (m *TouchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TouchRequest.Unmarshal(m, b) +} +func (m *TouchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TouchRequest.Marshal(b, m, deterministic) +} +func (dst *TouchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_TouchRequest.Merge(dst, src) +} +func (m *TouchRequest) XXX_Size() int { + return xxx_messageInfo_TouchRequest.Size(m) +} +func (m *TouchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_TouchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_TouchRequest proto.InternalMessageInfo + +const Default_TouchRequest_Force bool = false + +func (m *TouchRequest) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *TouchRequest) GetKey() []*Reference { + if m != nil { + return m.Key + } + return nil +} + +func (m *TouchRequest) GetCompositeIndex() []*CompositeIndex { + if m != nil { + return m.CompositeIndex + } + return nil +} + +func (m *TouchRequest) GetForce() bool { + if m != nil && m.Force != nil { + return *m.Force + } + return Default_TouchRequest_Force +} + +func (m *TouchRequest) GetSnapshot() []*Snapshot { + if m != nil { + return m.Snapshot + } + return nil +} + +type TouchResponse struct { + Cost *Cost `protobuf:"bytes,1,opt,name=cost" json:"cost,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TouchResponse) Reset() { *m = TouchResponse{} } +func (m *TouchResponse) String() string { return proto.CompactTextString(m) } +func (*TouchResponse) ProtoMessage() {} +func (*TouchResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{26} +} +func (m *TouchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TouchResponse.Unmarshal(m, b) +} +func (m *TouchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TouchResponse.Marshal(b, m, deterministic) +} +func (dst *TouchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_TouchResponse.Merge(dst, src) +} +func (m *TouchResponse) XXX_Size() int { + return xxx_messageInfo_TouchResponse.Size(m) +} +func (m *TouchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_TouchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_TouchResponse proto.InternalMessageInfo + +func (m *TouchResponse) GetCost() *Cost { + if m != nil { + return m.Cost + } + return nil +} + +type DeleteRequest struct { + Header *InternalHeader `protobuf:"bytes,10,opt,name=header" json:"header,omitempty"` + Key []*Reference `protobuf:"bytes,6,rep,name=key" json:"key,omitempty"` + Transaction *Transaction `protobuf:"bytes,5,opt,name=transaction" json:"transaction,omitempty"` + Trusted *bool `protobuf:"varint,4,opt,name=trusted,def=0" json:"trusted,omitempty"` + Force *bool `protobuf:"varint,7,opt,name=force,def=0" json:"force,omitempty"` + MarkChanges *bool `protobuf:"varint,8,opt,name=mark_changes,json=markChanges,def=0" json:"mark_changes,omitempty"` + Snapshot []*Snapshot `protobuf:"bytes,9,rep,name=snapshot" json:"snapshot,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteRequest) Reset() { *m = DeleteRequest{} } +func (m *DeleteRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteRequest) ProtoMessage() {} +func (*DeleteRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{27} +} +func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteRequest.Unmarshal(m, b) +} +func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteRequest.Marshal(b, m, deterministic) +} +func (dst *DeleteRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteRequest.Merge(dst, src) +} +func (m *DeleteRequest) XXX_Size() int { + return xxx_messageInfo_DeleteRequest.Size(m) +} +func (m *DeleteRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteRequest proto.InternalMessageInfo + +const Default_DeleteRequest_Trusted bool = false +const Default_DeleteRequest_Force bool = false +const Default_DeleteRequest_MarkChanges bool = false + +func (m *DeleteRequest) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *DeleteRequest) GetKey() []*Reference { + if m != nil { + return m.Key + } + return nil +} + +func (m *DeleteRequest) GetTransaction() *Transaction { + if m != nil { + return m.Transaction + } + return nil +} + +func (m *DeleteRequest) GetTrusted() bool { + if m != nil && m.Trusted != nil { + return *m.Trusted + } + return Default_DeleteRequest_Trusted +} + +func (m *DeleteRequest) GetForce() bool { + if m != nil && m.Force != nil { + return *m.Force + } + return Default_DeleteRequest_Force +} + +func (m *DeleteRequest) GetMarkChanges() bool { + if m != nil && m.MarkChanges != nil { + return *m.MarkChanges + } + return Default_DeleteRequest_MarkChanges +} + +func (m *DeleteRequest) GetSnapshot() []*Snapshot { + if m != nil { + return m.Snapshot + } + return nil +} + +type DeleteResponse struct { + Cost *Cost `protobuf:"bytes,1,opt,name=cost" json:"cost,omitempty"` + Version []int64 `protobuf:"varint,3,rep,name=version" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteResponse) Reset() { *m = DeleteResponse{} } +func (m *DeleteResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteResponse) ProtoMessage() {} +func (*DeleteResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{28} +} +func (m *DeleteResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteResponse.Unmarshal(m, b) +} +func (m *DeleteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteResponse.Marshal(b, m, deterministic) +} +func (dst *DeleteResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteResponse.Merge(dst, src) +} +func (m *DeleteResponse) XXX_Size() int { + return xxx_messageInfo_DeleteResponse.Size(m) +} +func (m *DeleteResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteResponse proto.InternalMessageInfo + +func (m *DeleteResponse) GetCost() *Cost { + if m != nil { + return m.Cost + } + return nil +} + +func (m *DeleteResponse) GetVersion() []int64 { + if m != nil { + return m.Version + } + return nil +} + +type NextRequest struct { + Header *InternalHeader `protobuf:"bytes,5,opt,name=header" json:"header,omitempty"` + Cursor *Cursor `protobuf:"bytes,1,req,name=cursor" json:"cursor,omitempty"` + Count *int32 `protobuf:"varint,2,opt,name=count" json:"count,omitempty"` + Offset *int32 `protobuf:"varint,4,opt,name=offset,def=0" json:"offset,omitempty"` + Compile *bool `protobuf:"varint,3,opt,name=compile,def=0" json:"compile,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NextRequest) Reset() { *m = NextRequest{} } +func (m *NextRequest) String() string { return proto.CompactTextString(m) } +func (*NextRequest) ProtoMessage() {} +func (*NextRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{29} +} +func (m *NextRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NextRequest.Unmarshal(m, b) +} +func (m *NextRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NextRequest.Marshal(b, m, deterministic) +} +func (dst *NextRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NextRequest.Merge(dst, src) +} +func (m *NextRequest) XXX_Size() int { + return xxx_messageInfo_NextRequest.Size(m) +} +func (m *NextRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NextRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NextRequest proto.InternalMessageInfo + +const Default_NextRequest_Offset int32 = 0 +const Default_NextRequest_Compile bool = false + +func (m *NextRequest) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *NextRequest) GetCursor() *Cursor { + if m != nil { + return m.Cursor + } + return nil +} + +func (m *NextRequest) GetCount() int32 { + if m != nil && m.Count != nil { + return *m.Count + } + return 0 +} + +func (m *NextRequest) GetOffset() int32 { + if m != nil && m.Offset != nil { + return *m.Offset + } + return Default_NextRequest_Offset +} + +func (m *NextRequest) GetCompile() bool { + if m != nil && m.Compile != nil { + return *m.Compile + } + return Default_NextRequest_Compile +} + +type QueryResult struct { + Cursor *Cursor `protobuf:"bytes,1,opt,name=cursor" json:"cursor,omitempty"` + Result []*EntityProto `protobuf:"bytes,2,rep,name=result" json:"result,omitempty"` + SkippedResults *int32 `protobuf:"varint,7,opt,name=skipped_results,json=skippedResults" json:"skipped_results,omitempty"` + MoreResults *bool `protobuf:"varint,3,req,name=more_results,json=moreResults" json:"more_results,omitempty"` + KeysOnly *bool `protobuf:"varint,4,opt,name=keys_only,json=keysOnly" json:"keys_only,omitempty"` + IndexOnly *bool `protobuf:"varint,9,opt,name=index_only,json=indexOnly" json:"index_only,omitempty"` + SmallOps *bool `protobuf:"varint,10,opt,name=small_ops,json=smallOps" json:"small_ops,omitempty"` + CompiledQuery *CompiledQuery `protobuf:"bytes,5,opt,name=compiled_query,json=compiledQuery" json:"compiled_query,omitempty"` + CompiledCursor *CompiledCursor `protobuf:"bytes,6,opt,name=compiled_cursor,json=compiledCursor" json:"compiled_cursor,omitempty"` + Index []*CompositeIndex `protobuf:"bytes,8,rep,name=index" json:"index,omitempty"` + Version []int64 `protobuf:"varint,11,rep,name=version" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryResult) Reset() { *m = QueryResult{} } +func (m *QueryResult) String() string { return proto.CompactTextString(m) } +func (*QueryResult) ProtoMessage() {} +func (*QueryResult) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{30} +} +func (m *QueryResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryResult.Unmarshal(m, b) +} +func (m *QueryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryResult.Marshal(b, m, deterministic) +} +func (dst *QueryResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryResult.Merge(dst, src) +} +func (m *QueryResult) XXX_Size() int { + return xxx_messageInfo_QueryResult.Size(m) +} +func (m *QueryResult) XXX_DiscardUnknown() { + xxx_messageInfo_QueryResult.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryResult proto.InternalMessageInfo + +func (m *QueryResult) GetCursor() *Cursor { + if m != nil { + return m.Cursor + } + return nil +} + +func (m *QueryResult) GetResult() []*EntityProto { + if m != nil { + return m.Result + } + return nil +} + +func (m *QueryResult) GetSkippedResults() int32 { + if m != nil && m.SkippedResults != nil { + return *m.SkippedResults + } + return 0 +} + +func (m *QueryResult) GetMoreResults() bool { + if m != nil && m.MoreResults != nil { + return *m.MoreResults + } + return false +} + +func (m *QueryResult) GetKeysOnly() bool { + if m != nil && m.KeysOnly != nil { + return *m.KeysOnly + } + return false +} + +func (m *QueryResult) GetIndexOnly() bool { + if m != nil && m.IndexOnly != nil { + return *m.IndexOnly + } + return false +} + +func (m *QueryResult) GetSmallOps() bool { + if m != nil && m.SmallOps != nil { + return *m.SmallOps + } + return false +} + +func (m *QueryResult) GetCompiledQuery() *CompiledQuery { + if m != nil { + return m.CompiledQuery + } + return nil +} + +func (m *QueryResult) GetCompiledCursor() *CompiledCursor { + if m != nil { + return m.CompiledCursor + } + return nil +} + +func (m *QueryResult) GetIndex() []*CompositeIndex { + if m != nil { + return m.Index + } + return nil +} + +func (m *QueryResult) GetVersion() []int64 { + if m != nil { + return m.Version + } + return nil +} + +type AllocateIdsRequest struct { + Header *InternalHeader `protobuf:"bytes,4,opt,name=header" json:"header,omitempty"` + ModelKey *Reference `protobuf:"bytes,1,opt,name=model_key,json=modelKey" json:"model_key,omitempty"` + Size *int64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"` + Max *int64 `protobuf:"varint,3,opt,name=max" json:"max,omitempty"` + Reserve []*Reference `protobuf:"bytes,5,rep,name=reserve" json:"reserve,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AllocateIdsRequest) Reset() { *m = AllocateIdsRequest{} } +func (m *AllocateIdsRequest) String() string { return proto.CompactTextString(m) } +func (*AllocateIdsRequest) ProtoMessage() {} +func (*AllocateIdsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{31} +} +func (m *AllocateIdsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AllocateIdsRequest.Unmarshal(m, b) +} +func (m *AllocateIdsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AllocateIdsRequest.Marshal(b, m, deterministic) +} +func (dst *AllocateIdsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllocateIdsRequest.Merge(dst, src) +} +func (m *AllocateIdsRequest) XXX_Size() int { + return xxx_messageInfo_AllocateIdsRequest.Size(m) +} +func (m *AllocateIdsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AllocateIdsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AllocateIdsRequest proto.InternalMessageInfo + +func (m *AllocateIdsRequest) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *AllocateIdsRequest) GetModelKey() *Reference { + if m != nil { + return m.ModelKey + } + return nil +} + +func (m *AllocateIdsRequest) GetSize() int64 { + if m != nil && m.Size != nil { + return *m.Size + } + return 0 +} + +func (m *AllocateIdsRequest) GetMax() int64 { + if m != nil && m.Max != nil { + return *m.Max + } + return 0 +} + +func (m *AllocateIdsRequest) GetReserve() []*Reference { + if m != nil { + return m.Reserve + } + return nil +} + +type AllocateIdsResponse struct { + Start *int64 `protobuf:"varint,1,req,name=start" json:"start,omitempty"` + End *int64 `protobuf:"varint,2,req,name=end" json:"end,omitempty"` + Cost *Cost `protobuf:"bytes,3,opt,name=cost" json:"cost,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AllocateIdsResponse) Reset() { *m = AllocateIdsResponse{} } +func (m *AllocateIdsResponse) String() string { return proto.CompactTextString(m) } +func (*AllocateIdsResponse) ProtoMessage() {} +func (*AllocateIdsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{32} +} +func (m *AllocateIdsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AllocateIdsResponse.Unmarshal(m, b) +} +func (m *AllocateIdsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AllocateIdsResponse.Marshal(b, m, deterministic) +} +func (dst *AllocateIdsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllocateIdsResponse.Merge(dst, src) +} +func (m *AllocateIdsResponse) XXX_Size() int { + return xxx_messageInfo_AllocateIdsResponse.Size(m) +} +func (m *AllocateIdsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_AllocateIdsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_AllocateIdsResponse proto.InternalMessageInfo + +func (m *AllocateIdsResponse) GetStart() int64 { + if m != nil && m.Start != nil { + return *m.Start + } + return 0 +} + +func (m *AllocateIdsResponse) GetEnd() int64 { + if m != nil && m.End != nil { + return *m.End + } + return 0 +} + +func (m *AllocateIdsResponse) GetCost() *Cost { + if m != nil { + return m.Cost + } + return nil +} + +type CompositeIndices struct { + Index []*CompositeIndex `protobuf:"bytes,1,rep,name=index" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompositeIndices) Reset() { *m = CompositeIndices{} } +func (m *CompositeIndices) String() string { return proto.CompactTextString(m) } +func (*CompositeIndices) ProtoMessage() {} +func (*CompositeIndices) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{33} +} +func (m *CompositeIndices) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompositeIndices.Unmarshal(m, b) +} +func (m *CompositeIndices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompositeIndices.Marshal(b, m, deterministic) +} +func (dst *CompositeIndices) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompositeIndices.Merge(dst, src) +} +func (m *CompositeIndices) XXX_Size() int { + return xxx_messageInfo_CompositeIndices.Size(m) +} +func (m *CompositeIndices) XXX_DiscardUnknown() { + xxx_messageInfo_CompositeIndices.DiscardUnknown(m) +} + +var xxx_messageInfo_CompositeIndices proto.InternalMessageInfo + +func (m *CompositeIndices) GetIndex() []*CompositeIndex { + if m != nil { + return m.Index + } + return nil +} + +type AddActionsRequest struct { + Header *InternalHeader `protobuf:"bytes,3,opt,name=header" json:"header,omitempty"` + Transaction *Transaction `protobuf:"bytes,1,req,name=transaction" json:"transaction,omitempty"` + Action []*Action `protobuf:"bytes,2,rep,name=action" json:"action,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddActionsRequest) Reset() { *m = AddActionsRequest{} } +func (m *AddActionsRequest) String() string { return proto.CompactTextString(m) } +func (*AddActionsRequest) ProtoMessage() {} +func (*AddActionsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{34} +} +func (m *AddActionsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddActionsRequest.Unmarshal(m, b) +} +func (m *AddActionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddActionsRequest.Marshal(b, m, deterministic) +} +func (dst *AddActionsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddActionsRequest.Merge(dst, src) +} +func (m *AddActionsRequest) XXX_Size() int { + return xxx_messageInfo_AddActionsRequest.Size(m) +} +func (m *AddActionsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AddActionsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AddActionsRequest proto.InternalMessageInfo + +func (m *AddActionsRequest) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *AddActionsRequest) GetTransaction() *Transaction { + if m != nil { + return m.Transaction + } + return nil +} + +func (m *AddActionsRequest) GetAction() []*Action { + if m != nil { + return m.Action + } + return nil +} + +type AddActionsResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddActionsResponse) Reset() { *m = AddActionsResponse{} } +func (m *AddActionsResponse) String() string { return proto.CompactTextString(m) } +func (*AddActionsResponse) ProtoMessage() {} +func (*AddActionsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{35} +} +func (m *AddActionsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddActionsResponse.Unmarshal(m, b) +} +func (m *AddActionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddActionsResponse.Marshal(b, m, deterministic) +} +func (dst *AddActionsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddActionsResponse.Merge(dst, src) +} +func (m *AddActionsResponse) XXX_Size() int { + return xxx_messageInfo_AddActionsResponse.Size(m) +} +func (m *AddActionsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_AddActionsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_AddActionsResponse proto.InternalMessageInfo + +type BeginTransactionRequest struct { + Header *InternalHeader `protobuf:"bytes,3,opt,name=header" json:"header,omitempty"` + App *string `protobuf:"bytes,1,req,name=app" json:"app,omitempty"` + AllowMultipleEg *bool `protobuf:"varint,2,opt,name=allow_multiple_eg,json=allowMultipleEg,def=0" json:"allow_multiple_eg,omitempty"` + DatabaseId *string `protobuf:"bytes,4,opt,name=database_id,json=databaseId" json:"database_id,omitempty"` + Mode *BeginTransactionRequest_TransactionMode `protobuf:"varint,5,opt,name=mode,enum=appengine.BeginTransactionRequest_TransactionMode,def=0" json:"mode,omitempty"` + PreviousTransaction *Transaction `protobuf:"bytes,7,opt,name=previous_transaction,json=previousTransaction" json:"previous_transaction,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BeginTransactionRequest) Reset() { *m = BeginTransactionRequest{} } +func (m *BeginTransactionRequest) String() string { return proto.CompactTextString(m) } +func (*BeginTransactionRequest) ProtoMessage() {} +func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{36} +} +func (m *BeginTransactionRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BeginTransactionRequest.Unmarshal(m, b) +} +func (m *BeginTransactionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BeginTransactionRequest.Marshal(b, m, deterministic) +} +func (dst *BeginTransactionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_BeginTransactionRequest.Merge(dst, src) +} +func (m *BeginTransactionRequest) XXX_Size() int { + return xxx_messageInfo_BeginTransactionRequest.Size(m) +} +func (m *BeginTransactionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_BeginTransactionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_BeginTransactionRequest proto.InternalMessageInfo + +const Default_BeginTransactionRequest_AllowMultipleEg bool = false +const Default_BeginTransactionRequest_Mode BeginTransactionRequest_TransactionMode = BeginTransactionRequest_UNKNOWN + +func (m *BeginTransactionRequest) GetHeader() *InternalHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *BeginTransactionRequest) GetApp() string { + if m != nil && m.App != nil { + return *m.App + } + return "" +} + +func (m *BeginTransactionRequest) GetAllowMultipleEg() bool { + if m != nil && m.AllowMultipleEg != nil { + return *m.AllowMultipleEg + } + return Default_BeginTransactionRequest_AllowMultipleEg +} + +func (m *BeginTransactionRequest) GetDatabaseId() string { + if m != nil && m.DatabaseId != nil { + return *m.DatabaseId + } + return "" +} + +func (m *BeginTransactionRequest) GetMode() BeginTransactionRequest_TransactionMode { + if m != nil && m.Mode != nil { + return *m.Mode + } + return Default_BeginTransactionRequest_Mode +} + +func (m *BeginTransactionRequest) GetPreviousTransaction() *Transaction { + if m != nil { + return m.PreviousTransaction + } + return nil +} + +type CommitResponse struct { + Cost *Cost `protobuf:"bytes,1,opt,name=cost" json:"cost,omitempty"` + Version []*CommitResponse_Version `protobuf:"group,3,rep,name=Version,json=version" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CommitResponse) Reset() { *m = CommitResponse{} } +func (m *CommitResponse) String() string { return proto.CompactTextString(m) } +func (*CommitResponse) ProtoMessage() {} +func (*CommitResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{37} +} +func (m *CommitResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommitResponse.Unmarshal(m, b) +} +func (m *CommitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommitResponse.Marshal(b, m, deterministic) +} +func (dst *CommitResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommitResponse.Merge(dst, src) +} +func (m *CommitResponse) XXX_Size() int { + return xxx_messageInfo_CommitResponse.Size(m) +} +func (m *CommitResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CommitResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CommitResponse proto.InternalMessageInfo + +func (m *CommitResponse) GetCost() *Cost { + if m != nil { + return m.Cost + } + return nil +} + +func (m *CommitResponse) GetVersion() []*CommitResponse_Version { + if m != nil { + return m.Version + } + return nil +} + +type CommitResponse_Version struct { + RootEntityKey *Reference `protobuf:"bytes,4,req,name=root_entity_key,json=rootEntityKey" json:"root_entity_key,omitempty"` + Version *int64 `protobuf:"varint,5,req,name=version" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CommitResponse_Version) Reset() { *m = CommitResponse_Version{} } +func (m *CommitResponse_Version) String() string { return proto.CompactTextString(m) } +func (*CommitResponse_Version) ProtoMessage() {} +func (*CommitResponse_Version) Descriptor() ([]byte, []int) { + return fileDescriptor_datastore_v3_83b17b80c34f6179, []int{37, 0} +} +func (m *CommitResponse_Version) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommitResponse_Version.Unmarshal(m, b) +} +func (m *CommitResponse_Version) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommitResponse_Version.Marshal(b, m, deterministic) +} +func (dst *CommitResponse_Version) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommitResponse_Version.Merge(dst, src) +} +func (m *CommitResponse_Version) XXX_Size() int { + return xxx_messageInfo_CommitResponse_Version.Size(m) +} +func (m *CommitResponse_Version) XXX_DiscardUnknown() { + xxx_messageInfo_CommitResponse_Version.DiscardUnknown(m) +} + +var xxx_messageInfo_CommitResponse_Version proto.InternalMessageInfo + +func (m *CommitResponse_Version) GetRootEntityKey() *Reference { + if m != nil { + return m.RootEntityKey + } + return nil +} + +func (m *CommitResponse_Version) GetVersion() int64 { + if m != nil && m.Version != nil { + return *m.Version + } + return 0 +} + +func init() { + proto.RegisterType((*Action)(nil), "appengine.Action") + proto.RegisterType((*PropertyValue)(nil), "appengine.PropertyValue") + proto.RegisterType((*PropertyValue_PointValue)(nil), "appengine.PropertyValue.PointValue") + proto.RegisterType((*PropertyValue_UserValue)(nil), "appengine.PropertyValue.UserValue") + proto.RegisterType((*PropertyValue_ReferenceValue)(nil), "appengine.PropertyValue.ReferenceValue") + proto.RegisterType((*PropertyValue_ReferenceValue_PathElement)(nil), "appengine.PropertyValue.ReferenceValue.PathElement") + proto.RegisterType((*Property)(nil), "appengine.Property") + proto.RegisterType((*Path)(nil), "appengine.Path") + proto.RegisterType((*Path_Element)(nil), "appengine.Path.Element") + proto.RegisterType((*Reference)(nil), "appengine.Reference") + proto.RegisterType((*User)(nil), "appengine.User") + proto.RegisterType((*EntityProto)(nil), "appengine.EntityProto") + proto.RegisterType((*CompositeProperty)(nil), "appengine.CompositeProperty") + proto.RegisterType((*Index)(nil), "appengine.Index") + proto.RegisterType((*Index_Property)(nil), "appengine.Index.Property") + proto.RegisterType((*CompositeIndex)(nil), "appengine.CompositeIndex") + proto.RegisterType((*IndexPostfix)(nil), "appengine.IndexPostfix") + proto.RegisterType((*IndexPostfix_IndexValue)(nil), "appengine.IndexPostfix.IndexValue") + proto.RegisterType((*IndexPosition)(nil), "appengine.IndexPosition") + proto.RegisterType((*Snapshot)(nil), "appengine.Snapshot") + proto.RegisterType((*InternalHeader)(nil), "appengine.InternalHeader") + proto.RegisterType((*Transaction)(nil), "appengine.Transaction") + proto.RegisterType((*Query)(nil), "appengine.Query") + proto.RegisterType((*Query_Filter)(nil), "appengine.Query.Filter") + proto.RegisterType((*Query_Order)(nil), "appengine.Query.Order") + proto.RegisterType((*CompiledQuery)(nil), "appengine.CompiledQuery") + proto.RegisterType((*CompiledQuery_PrimaryScan)(nil), "appengine.CompiledQuery.PrimaryScan") + proto.RegisterType((*CompiledQuery_MergeJoinScan)(nil), "appengine.CompiledQuery.MergeJoinScan") + proto.RegisterType((*CompiledQuery_EntityFilter)(nil), "appengine.CompiledQuery.EntityFilter") + proto.RegisterType((*CompiledCursor)(nil), "appengine.CompiledCursor") + proto.RegisterType((*CompiledCursor_Position)(nil), "appengine.CompiledCursor.Position") + proto.RegisterType((*CompiledCursor_Position_IndexValue)(nil), "appengine.CompiledCursor.Position.IndexValue") + proto.RegisterType((*Cursor)(nil), "appengine.Cursor") + proto.RegisterType((*Error)(nil), "appengine.Error") + proto.RegisterType((*Cost)(nil), "appengine.Cost") + proto.RegisterType((*Cost_CommitCost)(nil), "appengine.Cost.CommitCost") + proto.RegisterType((*GetRequest)(nil), "appengine.GetRequest") + proto.RegisterType((*GetResponse)(nil), "appengine.GetResponse") + proto.RegisterType((*GetResponse_Entity)(nil), "appengine.GetResponse.Entity") + proto.RegisterType((*PutRequest)(nil), "appengine.PutRequest") + proto.RegisterType((*PutResponse)(nil), "appengine.PutResponse") + proto.RegisterType((*TouchRequest)(nil), "appengine.TouchRequest") + proto.RegisterType((*TouchResponse)(nil), "appengine.TouchResponse") + proto.RegisterType((*DeleteRequest)(nil), "appengine.DeleteRequest") + proto.RegisterType((*DeleteResponse)(nil), "appengine.DeleteResponse") + proto.RegisterType((*NextRequest)(nil), "appengine.NextRequest") + proto.RegisterType((*QueryResult)(nil), "appengine.QueryResult") + proto.RegisterType((*AllocateIdsRequest)(nil), "appengine.AllocateIdsRequest") + proto.RegisterType((*AllocateIdsResponse)(nil), "appengine.AllocateIdsResponse") + proto.RegisterType((*CompositeIndices)(nil), "appengine.CompositeIndices") + proto.RegisterType((*AddActionsRequest)(nil), "appengine.AddActionsRequest") + proto.RegisterType((*AddActionsResponse)(nil), "appengine.AddActionsResponse") + proto.RegisterType((*BeginTransactionRequest)(nil), "appengine.BeginTransactionRequest") + proto.RegisterType((*CommitResponse)(nil), "appengine.CommitResponse") + proto.RegisterType((*CommitResponse_Version)(nil), "appengine.CommitResponse.Version") +} + +func init() { + proto.RegisterFile("google.golang.org/appengine/internal/datastore/datastore_v3.proto", fileDescriptor_datastore_v3_83b17b80c34f6179) +} + +var fileDescriptor_datastore_v3_83b17b80c34f6179 = []byte{ + // 4156 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x73, 0xe3, 0x46, + 0x76, 0x37, 0xc1, 0xef, 0x47, 0x89, 0x82, 0x5a, 0xf3, 0xc1, 0xa1, 0x3f, 0x46, 0xc6, 0xac, 0x6d, + 0xd9, 0x6b, 0x73, 0x6c, 0xf9, 0x23, 0x5b, 0x4a, 0x76, 0x1d, 0x4a, 0xc4, 0x68, 0x90, 0xa1, 0x48, + 0xb9, 0x09, 0xd9, 0x9e, 0x5c, 0x50, 0x18, 0xa2, 0x29, 0x21, 0x43, 0x02, 0x30, 0x00, 0x6a, 0x46, + 0x93, 0xe4, 0x90, 0x4b, 0x2a, 0x55, 0x5b, 0xa9, 0x1c, 0x92, 0x4a, 0x25, 0xf9, 0x07, 0x72, 0xc8, + 0x39, 0x95, 0xaa, 0x54, 0xf6, 0x98, 0x5b, 0x0e, 0x7b, 0xc9, 0x31, 0x95, 0x73, 0xf2, 0x27, 0x24, + 0x39, 0xa4, 0xfa, 0x75, 0x03, 0x02, 0x28, 0x4a, 0x23, 0x6d, 0xf6, 0x90, 0x13, 0xd1, 0xef, 0xfd, + 0xba, 0xf1, 0xfa, 0xf5, 0xfb, 0x6c, 0x10, 0xba, 0xc7, 0xbe, 0x7f, 0x3c, 0x65, 0x9d, 0x63, 0x7f, + 0x6a, 0x7b, 0xc7, 0x1d, 0x3f, 0x3c, 0x7e, 0x68, 0x07, 0x01, 0xf3, 0x8e, 0x5d, 0x8f, 0x3d, 0x74, + 0xbd, 0x98, 0x85, 0x9e, 0x3d, 0x7d, 0xe8, 0xd8, 0xb1, 0x1d, 0xc5, 0x7e, 0xc8, 0xce, 0x9f, 0xac, + 0xd3, 0xcf, 0x3b, 0x41, 0xe8, 0xc7, 0x3e, 0xa9, 0xa7, 0x13, 0xb4, 0x1a, 0x54, 0xba, 0xe3, 0xd8, + 0xf5, 0x3d, 0xed, 0x1f, 0x2b, 0xb0, 0x7a, 0x18, 0xfa, 0x01, 0x0b, 0xe3, 0xb3, 0x6f, 0xed, 0xe9, + 0x9c, 0x91, 0x77, 0x00, 0x5c, 0x2f, 0xfe, 0xea, 0x0b, 0x1c, 0xb5, 0x0a, 0x9b, 0x85, 0xad, 0x22, + 0xcd, 0x50, 0x88, 0x06, 0x2b, 0xcf, 0x7c, 0x7f, 0xca, 0x6c, 0x4f, 0x20, 0x94, 0xcd, 0xc2, 0x56, + 0x8d, 0xe6, 0x68, 0x64, 0x13, 0x1a, 0x51, 0x1c, 0xba, 0xde, 0xb1, 0x80, 0x14, 0x37, 0x0b, 0x5b, + 0x75, 0x9a, 0x25, 0x71, 0x84, 0xe3, 0xcf, 0x9f, 0x4d, 0x99, 0x40, 0x94, 0x36, 0x0b, 0x5b, 0x05, + 0x9a, 0x25, 0x91, 0x3d, 0x80, 0xc0, 0x77, 0xbd, 0xf8, 0x14, 0x01, 0xe5, 0xcd, 0xc2, 0x16, 0x6c, + 0x3f, 0xe8, 0xa4, 0x7b, 0xe8, 0xe4, 0xa4, 0xee, 0x1c, 0x72, 0x28, 0x3e, 0xd2, 0xcc, 0x34, 0xf2, + 0xdb, 0x50, 0x9f, 0x47, 0x2c, 0x14, 0x6b, 0xd4, 0x70, 0x0d, 0xed, 0xd2, 0x35, 0x8e, 0x22, 0x16, + 0x8a, 0x25, 0xce, 0x27, 0x91, 0x21, 0x34, 0x43, 0x36, 0x61, 0x21, 0xf3, 0xc6, 0x4c, 0x2c, 0xb3, + 0x82, 0xcb, 0x7c, 0x70, 0xe9, 0x32, 0x34, 0x81, 0x8b, 0xb5, 0x16, 0xa6, 0xb7, 0xb7, 0x00, 0xce, + 0x85, 0x25, 0x2b, 0x50, 0x78, 0xd9, 0xaa, 0x6c, 0x2a, 0x5b, 0x05, 0x5a, 0x78, 0xc9, 0x47, 0x67, + 0xad, 0xaa, 0x18, 0x9d, 0xb5, 0xff, 0xa9, 0x00, 0xf5, 0x54, 0x26, 0x72, 0x0b, 0xca, 0x6c, 0x66, + 0xbb, 0xd3, 0x56, 0x7d, 0x53, 0xd9, 0xaa, 0x53, 0x31, 0x20, 0xf7, 0xa1, 0x61, 0xcf, 0xe3, 0x13, + 0xcb, 0xf1, 0x67, 0xb6, 0xeb, 0xb5, 0x00, 0x79, 0xc0, 0x49, 0x3d, 0xa4, 0x90, 0x36, 0xd4, 0x3c, + 0x77, 0xfc, 0xdc, 0xb3, 0x67, 0xac, 0xd5, 0xc0, 0x73, 0x48, 0xc7, 0xe4, 0x13, 0x20, 0x13, 0xe6, + 0xb0, 0xd0, 0x8e, 0x99, 0x63, 0xb9, 0x0e, 0xf3, 0x62, 0x37, 0x3e, 0x6b, 0xdd, 0x46, 0xd4, 0x7a, + 0xca, 0x31, 0x24, 0x23, 0x0f, 0x0f, 0x42, 0xff, 0xd4, 0x75, 0x58, 0xd8, 0xba, 0xb3, 0x00, 0x3f, + 0x94, 0x8c, 0xf6, 0xbf, 0x17, 0xa0, 0x99, 0xd7, 0x05, 0x51, 0xa1, 0x68, 0x07, 0x41, 0x6b, 0x15, + 0xa5, 0xe4, 0x8f, 0xe4, 0x6d, 0x00, 0x2e, 0x8a, 0x15, 0x05, 0xf6, 0x98, 0xb5, 0x6e, 0xe1, 0x5a, + 0x75, 0x4e, 0x19, 0x71, 0x02, 0x39, 0x82, 0x46, 0x60, 0xc7, 0x27, 0x6c, 0xca, 0x66, 0xcc, 0x8b, + 0x5b, 0xcd, 0xcd, 0xe2, 0x16, 0x6c, 0x7f, 0x7e, 0x4d, 0xd5, 0x77, 0x0e, 0xed, 0xf8, 0x44, 0x17, + 0x53, 0x69, 0x76, 0x9d, 0xb6, 0x0e, 0x8d, 0x0c, 0x8f, 0x10, 0x28, 0xc5, 0x67, 0x01, 0x6b, 0xad, + 0xa1, 0x5c, 0xf8, 0x4c, 0x9a, 0xa0, 0xb8, 0x4e, 0x4b, 0x45, 0xf3, 0x57, 0x5c, 0x87, 0x63, 0x50, + 0x87, 0xeb, 0x28, 0x22, 0x3e, 0x6b, 0xff, 0x51, 0x86, 0x5a, 0x22, 0x00, 0xe9, 0x42, 0x75, 0xc6, + 0x6c, 0xcf, 0xf5, 0x8e, 0xd1, 0x69, 0x9a, 0xdb, 0x6f, 0x2e, 0x11, 0xb3, 0x73, 0x20, 0x20, 0x3b, + 0x30, 0x18, 0x5a, 0x07, 0x7a, 0x77, 0x60, 0x0c, 0xf6, 0x69, 0x32, 0x8f, 0x1f, 0xa6, 0x7c, 0xb4, + 0xe6, 0xa1, 0x8b, 0x9e, 0x55, 0xa7, 0x20, 0x49, 0x47, 0xa1, 0x9b, 0x0a, 0x51, 0x14, 0x82, 0xe2, + 0x21, 0x76, 0xa0, 0x9c, 0xb8, 0x88, 0xb2, 0xd5, 0xd8, 0x6e, 0x5d, 0xa6, 0x1c, 0x2a, 0x60, 0xdc, + 0x20, 0x66, 0xf3, 0x69, 0xec, 0x06, 0x53, 0xee, 0x76, 0xca, 0x56, 0x8d, 0xa6, 0x63, 0xf2, 0x1e, + 0x40, 0xc4, 0xec, 0x70, 0x7c, 0x62, 0x3f, 0x9b, 0xb2, 0x56, 0x85, 0x7b, 0xf6, 0x4e, 0x79, 0x62, + 0x4f, 0x23, 0x46, 0x33, 0x0c, 0x62, 0xc3, 0xdd, 0x49, 0x1c, 0x59, 0xb1, 0xff, 0x9c, 0x79, 0xee, + 0x2b, 0x9b, 0x07, 0x12, 0xcb, 0x0f, 0xf8, 0x0f, 0xfa, 0x58, 0x73, 0xfb, 0xc3, 0x65, 0x5b, 0x7f, + 0x14, 0x47, 0x66, 0x66, 0xc6, 0x10, 0x27, 0xd0, 0xdb, 0x93, 0x65, 0x64, 0xd2, 0x86, 0xca, 0xd4, + 0x1f, 0xdb, 0x53, 0xd6, 0xaa, 0x73, 0x2d, 0xec, 0x28, 0xcc, 0xa3, 0x92, 0xa2, 0xfd, 0xb3, 0x02, + 0x55, 0xa9, 0x47, 0xd2, 0x84, 0x8c, 0x26, 0xd5, 0x37, 0x48, 0x0d, 0x4a, 0xbb, 0xfd, 0xe1, 0xae, + 0xda, 0xe4, 0x4f, 0xa6, 0xfe, 0xbd, 0xa9, 0xae, 0x71, 0xcc, 0xee, 0x53, 0x53, 0x1f, 0x99, 0x94, + 0x63, 0x54, 0xb2, 0x0e, 0xab, 0x5d, 0x73, 0x78, 0x60, 0xed, 0x75, 0x4d, 0x7d, 0x7f, 0x48, 0x9f, + 0xaa, 0x05, 0xb2, 0x0a, 0x75, 0x24, 0xf5, 0x8d, 0xc1, 0x13, 0x55, 0xe1, 0x33, 0x70, 0x68, 0x1a, + 0x66, 0x5f, 0x57, 0x8b, 0x44, 0x85, 0x15, 0x31, 0x63, 0x38, 0x30, 0xf5, 0x81, 0xa9, 0x96, 0x52, + 0xca, 0xe8, 0xe8, 0xe0, 0xa0, 0x4b, 0x9f, 0xaa, 0x65, 0xb2, 0x06, 0x0d, 0xa4, 0x74, 0x8f, 0xcc, + 0xc7, 0x43, 0xaa, 0x56, 0x48, 0x03, 0xaa, 0xfb, 0x3d, 0xeb, 0xbb, 0xc7, 0xfa, 0x40, 0xad, 0x92, + 0x15, 0xa8, 0xed, 0xf7, 0x2c, 0xfd, 0xa0, 0x6b, 0xf4, 0xd5, 0x1a, 0x9f, 0xbd, 0xaf, 0x0f, 0xe9, + 0x68, 0x64, 0x1d, 0x0e, 0x8d, 0x81, 0xa9, 0xd6, 0x49, 0x1d, 0xca, 0xfb, 0x3d, 0xcb, 0x38, 0x50, + 0x81, 0x10, 0x68, 0xee, 0xf7, 0xac, 0xc3, 0xc7, 0xc3, 0x81, 0x3e, 0x38, 0x3a, 0xd8, 0xd5, 0xa9, + 0xda, 0x20, 0xb7, 0x40, 0xe5, 0xb4, 0xe1, 0xc8, 0xec, 0xf6, 0xbb, 0xbd, 0x1e, 0xd5, 0x47, 0x23, + 0x75, 0x85, 0x4b, 0xbd, 0xdf, 0xb3, 0x68, 0xd7, 0xe4, 0xfb, 0x5a, 0xe5, 0x2f, 0xe4, 0x7b, 0x7f, + 0xa2, 0x3f, 0x55, 0xd7, 0xf9, 0x2b, 0xf4, 0x81, 0x69, 0x98, 0x4f, 0xad, 0x43, 0x3a, 0x34, 0x87, + 0xea, 0x06, 0x17, 0xd0, 0x18, 0xf4, 0xf4, 0xef, 0xad, 0x6f, 0xbb, 0xfd, 0x23, 0x5d, 0x25, 0xda, + 0x8f, 0xe1, 0xf6, 0xd2, 0x33, 0xe1, 0xaa, 0x7b, 0x6c, 0x1e, 0xf4, 0xd5, 0x02, 0x7f, 0xe2, 0x9b, + 0x52, 0x15, 0xed, 0x0f, 0xa0, 0xc4, 0x5d, 0x86, 0x7c, 0x06, 0xd5, 0xc4, 0x1b, 0x0b, 0xe8, 0x8d, + 0x77, 0xb3, 0x67, 0x6d, 0xc7, 0x27, 0x9d, 0xc4, 0xe3, 0x12, 0x5c, 0xbb, 0x0b, 0xd5, 0x45, 0x4f, + 0x53, 0x2e, 0x78, 0x5a, 0xf1, 0x82, 0xa7, 0x95, 0x32, 0x9e, 0x66, 0x43, 0x3d, 0xf5, 0xed, 0x9b, + 0x47, 0x91, 0x07, 0x50, 0xe2, 0xde, 0xdf, 0x6a, 0xa2, 0x87, 0xac, 0x2d, 0x08, 0x4c, 0x91, 0xa9, + 0xfd, 0x43, 0x01, 0x4a, 0x3c, 0xda, 0x9e, 0x07, 0xda, 0xc2, 0x15, 0x81, 0x56, 0xb9, 0x32, 0xd0, + 0x16, 0xaf, 0x15, 0x68, 0x2b, 0x37, 0x0b, 0xb4, 0xd5, 0x4b, 0x02, 0xad, 0xf6, 0x67, 0x45, 0x68, + 0xe8, 0x38, 0xf3, 0x10, 0x13, 0xfd, 0xfb, 0x50, 0x7c, 0xce, 0xce, 0x50, 0x3f, 0x8d, 0xed, 0x5b, + 0x99, 0xdd, 0xa6, 0x2a, 0xa4, 0x1c, 0x40, 0xb6, 0x61, 0x45, 0xbc, 0xd0, 0x3a, 0x0e, 0xfd, 0x79, + 0xd0, 0x52, 0x97, 0xab, 0xa7, 0x21, 0x40, 0xfb, 0x1c, 0x43, 0xde, 0x83, 0xb2, 0xff, 0xc2, 0x63, + 0x21, 0xc6, 0xc1, 0x3c, 0x98, 0x2b, 0x8f, 0x0a, 0x2e, 0x79, 0x08, 0xa5, 0xe7, 0xae, 0xe7, 0xe0, + 0x19, 0xe6, 0x23, 0x61, 0x46, 0xd0, 0xce, 0x13, 0xd7, 0x73, 0x28, 0x02, 0xc9, 0x3d, 0xa8, 0xf1, + 0x5f, 0x8c, 0x7b, 0x65, 0xdc, 0x68, 0x95, 0x8f, 0x79, 0xd0, 0x7b, 0x08, 0xb5, 0x40, 0xc6, 0x10, + 0x4c, 0x00, 0x8d, 0xed, 0x8d, 0x25, 0xe1, 0x85, 0xa6, 0x20, 0xf2, 0x15, 0xac, 0x84, 0xf6, 0x0b, + 0x2b, 0x9d, 0xb4, 0x76, 0xf9, 0xa4, 0x46, 0x68, 0xbf, 0x48, 0x23, 0x38, 0x81, 0x52, 0x68, 0x7b, + 0xcf, 0x5b, 0x64, 0xb3, 0xb0, 0x55, 0xa6, 0xf8, 0xac, 0x7d, 0x01, 0x25, 0x2e, 0x25, 0x8f, 0x08, + 0xfb, 0x3d, 0xf4, 0xff, 0xee, 0x9e, 0xa9, 0x16, 0x12, 0x7f, 0xfe, 0x96, 0x47, 0x03, 0x45, 0x72, + 0x0f, 0xf4, 0xd1, 0xa8, 0xbb, 0xaf, 0xab, 0x45, 0xad, 0x07, 0xeb, 0x7b, 0xfe, 0x2c, 0xf0, 0x23, + 0x37, 0x66, 0xe9, 0xf2, 0xf7, 0xa0, 0xe6, 0x7a, 0x0e, 0x7b, 0x69, 0xb9, 0x0e, 0x9a, 0x56, 0x91, + 0x56, 0x71, 0x6c, 0x38, 0xdc, 0xe4, 0x4e, 0x65, 0x31, 0x55, 0xe4, 0x26, 0x87, 0x03, 0xed, 0x2f, + 0x15, 0x28, 0x1b, 0x1c, 0xc1, 0x8d, 0x4f, 0x9e, 0x14, 0x7a, 0x8f, 0x30, 0x4c, 0x10, 0x24, 0x93, + 0xfb, 0x50, 0x1b, 0x6a, 0xb6, 0x37, 0x66, 0xbc, 0xe2, 0xc3, 0x3c, 0x50, 0xa3, 0xe9, 0x98, 0x7c, + 0x99, 0xd1, 0x9f, 0x82, 0x2e, 0x7b, 0x2f, 0xa3, 0x0a, 0x7c, 0xc1, 0x12, 0x2d, 0xb6, 0xff, 0xaa, + 0x90, 0x49, 0x6e, 0xcb, 0x12, 0x4f, 0x1f, 0xea, 0x8e, 0x1b, 0x32, 0xac, 0x23, 0xe5, 0x41, 0x3f, + 0xb8, 0x74, 0xe1, 0x4e, 0x2f, 0x81, 0xee, 0xd4, 0xbb, 0xa3, 0x3d, 0x7d, 0xd0, 0xe3, 0x99, 0xef, + 0x7c, 0x01, 0xed, 0x23, 0xa8, 0xa7, 0x10, 0x0c, 0xc7, 0x09, 0x48, 0x2d, 0x70, 0xf5, 0xf6, 0xf4, + 0x74, 0xac, 0x68, 0x7f, 0xad, 0x40, 0x33, 0xd5, 0xaf, 0xd0, 0xd0, 0x6d, 0xa8, 0xd8, 0x41, 0x90, + 0xa8, 0xb6, 0x4e, 0xcb, 0x76, 0x10, 0x18, 0x8e, 0x8c, 0x2d, 0x0a, 0x6a, 0x9b, 0xc7, 0x96, 0x4f, + 0x01, 0x1c, 0x36, 0x71, 0x3d, 0x17, 0x85, 0x2e, 0xa2, 0xc1, 0xab, 0x8b, 0x42, 0xd3, 0x0c, 0x86, + 0x7c, 0x09, 0xe5, 0x28, 0xb6, 0x63, 0x91, 0x2b, 0x9b, 0xdb, 0xf7, 0x33, 0xe0, 0xbc, 0x08, 0x9d, + 0x11, 0x87, 0x51, 0x81, 0x26, 0x5f, 0xc1, 0x2d, 0xdf, 0x9b, 0x9e, 0x59, 0xf3, 0x88, 0x59, 0xee, + 0xc4, 0x0a, 0xd9, 0x0f, 0x73, 0x37, 0x64, 0x4e, 0x3e, 0xa7, 0xae, 0x73, 0xc8, 0x51, 0xc4, 0x8c, + 0x09, 0x95, 0x7c, 0xed, 0x6b, 0x28, 0xe3, 0x3a, 0x7c, 0xcf, 0xdf, 0x51, 0xc3, 0xd4, 0xad, 0xe1, + 0xa0, 0xff, 0x54, 0xe8, 0x80, 0xea, 0xdd, 0x9e, 0x85, 0x44, 0x55, 0xe1, 0xc1, 0xbe, 0xa7, 0xf7, + 0x75, 0x53, 0xef, 0xa9, 0x45, 0x9e, 0x3d, 0x74, 0x4a, 0x87, 0x54, 0x2d, 0x69, 0xff, 0x53, 0x80, + 0x15, 0x94, 0xe7, 0xd0, 0x8f, 0xe2, 0x89, 0xfb, 0x92, 0xec, 0x41, 0x43, 0x98, 0xdd, 0xa9, 0x2c, + 0xe8, 0xb9, 0x33, 0x68, 0x8b, 0x7b, 0x96, 0x68, 0x31, 0x90, 0x75, 0xb4, 0x9b, 0x3e, 0x27, 0x21, + 0x45, 0x41, 0xa7, 0xbf, 0x22, 0xa4, 0xbc, 0x05, 0x95, 0x67, 0x6c, 0xe2, 0x87, 0x22, 0x04, 0xd6, + 0x76, 0x4a, 0x71, 0x38, 0x67, 0x54, 0xd2, 0xda, 0x36, 0xc0, 0xf9, 0xfa, 0xe4, 0x01, 0xac, 0x26, + 0xc6, 0x66, 0xa1, 0x71, 0x89, 0x93, 0x5b, 0x49, 0x88, 0x83, 0x5c, 0x75, 0xa3, 0x5c, 0xab, 0xba, + 0xd1, 0xbe, 0x86, 0xd5, 0x64, 0x3f, 0xe2, 0xfc, 0x54, 0x21, 0x79, 0x01, 0x63, 0xca, 0x82, 0x8c, + 0xca, 0x45, 0x19, 0xb5, 0x9f, 0x41, 0x6d, 0xe4, 0xd9, 0x41, 0x74, 0xe2, 0xc7, 0xdc, 0x7a, 0xe2, + 0x48, 0xfa, 0xaa, 0x12, 0x47, 0x9a, 0x06, 0x15, 0x7e, 0x38, 0xf3, 0x88, 0xbb, 0xbf, 0x31, 0xe8, + 0xee, 0x99, 0xc6, 0xb7, 0xba, 0xfa, 0x06, 0x01, 0xa8, 0xc8, 0xe7, 0x82, 0xa6, 0x41, 0xd3, 0x90, + 0xed, 0xd8, 0x63, 0x66, 0x3b, 0x2c, 0xe4, 0x12, 0xfc, 0xe0, 0x47, 0x89, 0x04, 0x3f, 0xf8, 0x91, + 0xf6, 0x17, 0x05, 0x68, 0x98, 0xa1, 0xed, 0x45, 0xb6, 0x30, 0xf7, 0xcf, 0xa0, 0x72, 0x82, 0x58, + 0x74, 0xa3, 0xc6, 0x82, 0x7f, 0x66, 0x17, 0xa3, 0x12, 0x48, 0xee, 0x40, 0xe5, 0xc4, 0xf6, 0x9c, + 0xa9, 0xd0, 0x5a, 0x85, 0xca, 0x51, 0x92, 0x1b, 0x95, 0xf3, 0xdc, 0xb8, 0x05, 0x2b, 0x33, 0x3b, + 0x7c, 0x6e, 0x8d, 0x4f, 0x6c, 0xef, 0x98, 0x45, 0xf2, 0x60, 0xa4, 0x05, 0x36, 0x38, 0x6b, 0x4f, + 0x70, 0xb4, 0xbf, 0x5f, 0x81, 0xf2, 0x37, 0x73, 0x16, 0x9e, 0x65, 0x04, 0xfa, 0xe0, 0xba, 0x02, + 0xc9, 0x17, 0x17, 0x2e, 0x4b, 0xca, 0x6f, 0x2f, 0x26, 0x65, 0x22, 0x53, 0x84, 0xc8, 0x95, 0x22, + 0x0b, 0x7c, 0x9a, 0x09, 0x63, 0xeb, 0x57, 0xd8, 0xda, 0x79, 0x70, 0x7b, 0x08, 0x95, 0x89, 0x3b, + 0x8d, 0x51, 0x75, 0x8b, 0xd5, 0x08, 0xee, 0xa5, 0xf3, 0x08, 0xd9, 0x54, 0xc2, 0xc8, 0xbb, 0xb0, + 0x22, 0x2a, 0x59, 0xeb, 0x07, 0xce, 0xc6, 0x82, 0x95, 0xf7, 0xa6, 0x48, 0x13, 0xbb, 0xff, 0x18, + 0xca, 0x7e, 0xc8, 0x37, 0x5f, 0xc7, 0x25, 0xef, 0x5c, 0x58, 0x72, 0xc8, 0xb9, 0x54, 0x80, 0xc8, + 0x87, 0x50, 0x3a, 0x71, 0xbd, 0x18, 0xb3, 0x46, 0x73, 0xfb, 0xf6, 0x05, 0xf0, 0x63, 0xd7, 0x8b, + 0x29, 0x42, 0x78, 0x98, 0x1f, 0xfb, 0x73, 0x2f, 0x6e, 0xdd, 0xc5, 0x0c, 0x23, 0x06, 0xe4, 0x1e, + 0x54, 0xfc, 0xc9, 0x24, 0x62, 0x31, 0x76, 0x96, 0xe5, 0x9d, 0xc2, 0xa7, 0x54, 0x12, 0xf8, 0x84, + 0xa9, 0x3b, 0x73, 0x63, 0xec, 0x43, 0xca, 0x54, 0x0c, 0xc8, 0x2e, 0xac, 0x8d, 0xfd, 0x59, 0xe0, + 0x4e, 0x99, 0x63, 0x8d, 0xe7, 0x61, 0xe4, 0x87, 0xad, 0x77, 0x2e, 0x1c, 0xd3, 0x9e, 0x44, 0xec, + 0x21, 0x80, 0x36, 0xc7, 0xb9, 0x31, 0x31, 0x60, 0x83, 0x79, 0x8e, 0xb5, 0xb8, 0xce, 0xfd, 0xd7, + 0xad, 0xb3, 0xce, 0x3c, 0x27, 0x4f, 0x4a, 0xc4, 0xc1, 0x48, 0x68, 0x61, 0xcc, 0x68, 0x6d, 0x60, + 0x90, 0xb9, 0x77, 0x69, 0xac, 0x14, 0xe2, 0x64, 0xc2, 0xf7, 0x6f, 0xc0, 0x2d, 0x19, 0x22, 0xad, + 0x80, 0x85, 0x13, 0x36, 0x8e, 0xad, 0x60, 0x6a, 0x7b, 0x58, 0xca, 0xa5, 0xc6, 0x4a, 0x24, 0xe4, + 0x50, 0x20, 0x0e, 0xa7, 0xb6, 0x47, 0x34, 0xa8, 0x3f, 0x67, 0x67, 0x91, 0xc5, 0x23, 0x29, 0x76, + 0xae, 0x29, 0xba, 0xc6, 0xe9, 0x43, 0x6f, 0x7a, 0x46, 0x7e, 0x02, 0x8d, 0xf8, 0xdc, 0xdb, 0xb0, + 0x61, 0x6d, 0xe4, 0x4e, 0x35, 0xe3, 0x8b, 0x34, 0x0b, 0x25, 0xf7, 0xa1, 0x2a, 0x35, 0xd4, 0xba, + 0x97, 0x5d, 0x3b, 0xa1, 0xf2, 0xc4, 0x3c, 0xb1, 0xdd, 0xa9, 0x7f, 0xca, 0x42, 0x6b, 0x16, 0xb5, + 0xda, 0xe2, 0xb6, 0x24, 0x21, 0x1d, 0x44, 0xdc, 0x4f, 0xa3, 0x38, 0xf4, 0xbd, 0xe3, 0xd6, 0x26, + 0xde, 0x93, 0xc8, 0xd1, 0xc5, 0xe0, 0xf7, 0x2e, 0x66, 0xfe, 0x7c, 0xf0, 0xfb, 0x1c, 0xee, 0x60, + 0x65, 0x66, 0x3d, 0x3b, 0xb3, 0xf2, 0x68, 0x0d, 0xd1, 0x1b, 0xc8, 0xdd, 0x3d, 0x3b, 0xcc, 0x4e, + 0x6a, 0x43, 0xcd, 0x71, 0xa3, 0xd8, 0xf5, 0xc6, 0x71, 0xab, 0x85, 0xef, 0x4c, 0xc7, 0xe4, 0x33, + 0xb8, 0x3d, 0x73, 0x3d, 0x2b, 0xb2, 0x27, 0xcc, 0x8a, 0x5d, 0xee, 0x9b, 0x6c, 0xec, 0x7b, 0x4e, + 0xd4, 0x7a, 0x80, 0x82, 0x93, 0x99, 0xeb, 0x8d, 0xec, 0x09, 0x33, 0xdd, 0x19, 0x1b, 0x09, 0x0e, + 0xf9, 0x08, 0xd6, 0x11, 0x1e, 0xb2, 0x60, 0xea, 0x8e, 0x6d, 0xf1, 0xfa, 0x1f, 0xe1, 0xeb, 0xd7, + 0x38, 0x83, 0x0a, 0x3a, 0xbe, 0xfa, 0x63, 0x68, 0x06, 0x2c, 0x8c, 0xdc, 0x28, 0xb6, 0xa4, 0x45, + 0xbf, 0x97, 0xd5, 0xda, 0xaa, 0x64, 0x0e, 0x91, 0xd7, 0xfe, 0xcf, 0x02, 0x54, 0x84, 0x73, 0x92, + 0x4f, 0x41, 0xf1, 0x03, 0xbc, 0x06, 0x69, 0x6e, 0x6f, 0x5e, 0xe2, 0xc1, 0x9d, 0x61, 0xc0, 0xeb, + 0x5e, 0x3f, 0xa4, 0x8a, 0x1f, 0xdc, 0xb8, 0x28, 0xd4, 0xfe, 0x10, 0x6a, 0xc9, 0x02, 0xbc, 0xbc, + 0xe8, 0xeb, 0xa3, 0x91, 0x65, 0x3e, 0xee, 0x0e, 0xd4, 0x02, 0xb9, 0x03, 0x24, 0x1d, 0x5a, 0x43, + 0x6a, 0xe9, 0xdf, 0x1c, 0x75, 0xfb, 0xaa, 0x82, 0x5d, 0x1a, 0xd5, 0xbb, 0xa6, 0x4e, 0x05, 0xb2, + 0x48, 0xee, 0xc1, 0xed, 0x2c, 0xe5, 0x1c, 0x5c, 0xc2, 0x14, 0x8c, 0x8f, 0x65, 0x52, 0x01, 0xc5, + 0x18, 0xa8, 0x15, 0x9e, 0x16, 0xf4, 0xef, 0x8d, 0x91, 0x39, 0x52, 0xab, 0xed, 0xbf, 0x29, 0x40, + 0x19, 0xc3, 0x06, 0x3f, 0x9f, 0x54, 0x72, 0x71, 0x5d, 0x73, 0x5e, 0xb9, 0x1a, 0xd9, 0x92, 0xaa, + 0x81, 0x01, 0x65, 0x73, 0x79, 0xf4, 0xf9, 0xb5, 0xd6, 0x53, 0x3f, 0x85, 0x12, 0x8f, 0x52, 0xbc, + 0x43, 0x1c, 0xd2, 0x9e, 0x4e, 0xad, 0x47, 0x06, 0x1d, 0xf1, 0x2a, 0x97, 0x40, 0xb3, 0x3b, 0xd8, + 0xd3, 0x47, 0xe6, 0x30, 0xa1, 0xa1, 0x56, 0x1e, 0x19, 0x7d, 0x33, 0x45, 0x15, 0xb5, 0x9f, 0xd7, + 0x60, 0x35, 0x89, 0x09, 0x22, 0x82, 0x3e, 0x82, 0x46, 0x10, 0xba, 0x33, 0x3b, 0x3c, 0x8b, 0xc6, + 0xb6, 0x87, 0x49, 0x01, 0xb6, 0x7f, 0xb4, 0x24, 0xaa, 0x88, 0x1d, 0x1d, 0x0a, 0xec, 0x68, 0x6c, + 0x7b, 0x34, 0x3b, 0x91, 0xf4, 0x61, 0x75, 0xc6, 0xc2, 0x63, 0xf6, 0x7b, 0xbe, 0xeb, 0xe1, 0x4a, + 0x55, 0x8c, 0xc8, 0xef, 0x5f, 0xba, 0xd2, 0x01, 0x47, 0xff, 0x8e, 0xef, 0x7a, 0xb8, 0x56, 0x7e, + 0x32, 0xf9, 0x04, 0xea, 0xa2, 0x12, 0x72, 0xd8, 0x04, 0x63, 0xc5, 0xb2, 0xda, 0x4f, 0xd4, 0xe8, + 0x3d, 0x36, 0xc9, 0xc4, 0x65, 0xb8, 0x34, 0x2e, 0x37, 0xb2, 0x71, 0xf9, 0xcd, 0x6c, 0x2c, 0x5a, + 0x11, 0x55, 0x78, 0x1a, 0x84, 0x2e, 0x38, 0x7c, 0x6b, 0x89, 0xc3, 0x77, 0x60, 0x23, 0xf1, 0x55, + 0xcb, 0xf5, 0x26, 0xee, 0x4b, 0x2b, 0x72, 0x5f, 0x89, 0xd8, 0x53, 0xa6, 0xeb, 0x09, 0xcb, 0xe0, + 0x9c, 0x91, 0xfb, 0x8a, 0x11, 0x23, 0xe9, 0xe0, 0x64, 0x0e, 0x5c, 0xc5, 0xab, 0xc9, 0xf7, 0x2e, + 0x55, 0x8f, 0x68, 0xbe, 0x64, 0x46, 0xcc, 0x4d, 0x6d, 0xff, 0x52, 0x81, 0x46, 0xe6, 0x1c, 0x78, + 0xf6, 0x16, 0xca, 0x42, 0x61, 0xc5, 0x55, 0x94, 0x50, 0x1f, 0x4a, 0xfa, 0x26, 0xd4, 0xa3, 0xd8, + 0x0e, 0x63, 0x8b, 0x17, 0x57, 0xb2, 0xdd, 0x45, 0xc2, 0x13, 0x76, 0x46, 0x3e, 0x80, 0x35, 0xc1, + 0x74, 0xbd, 0xf1, 0x74, 0x1e, 0xb9, 0xa7, 0xa2, 0x99, 0xaf, 0xd1, 0x26, 0x92, 0x8d, 0x84, 0x4a, + 0xee, 0x42, 0x95, 0x67, 0x21, 0xbe, 0x86, 0x68, 0xfa, 0x2a, 0xcc, 0x73, 0xf8, 0x0a, 0x0f, 0x60, + 0x95, 0x33, 0xce, 0xe7, 0x57, 0xc4, 0x2d, 0x33, 0xf3, 0x9c, 0xf3, 0xd9, 0x1d, 0xd8, 0x10, 0xaf, + 0x09, 0x44, 0xf1, 0x2a, 0x2b, 0xdc, 0x3b, 0xa8, 0xd8, 0x75, 0x64, 0xc9, 0xb2, 0x56, 0x14, 0x9c, + 0x1f, 0x01, 0xcf, 0x5e, 0x0b, 0xe8, 0xbb, 0x22, 0x94, 0x31, 0xcf, 0xc9, 0x61, 0x77, 0xe1, 0x1d, + 0x8e, 0x9d, 0x7b, 0x76, 0x10, 0x4c, 0x5d, 0xe6, 0x58, 0x53, 0xff, 0x18, 0x43, 0x66, 0x14, 0xdb, + 0xb3, 0xc0, 0x9a, 0x47, 0xad, 0x0d, 0x0c, 0x99, 0x6d, 0xe6, 0x39, 0x47, 0x09, 0xa8, 0xef, 0x1f, + 0x9b, 0x09, 0xe4, 0x28, 0x6a, 0xff, 0x3e, 0xac, 0xe6, 0xec, 0x71, 0x41, 0xa7, 0x35, 0x74, 0xfe, + 0x8c, 0x4e, 0xdf, 0x85, 0x95, 0x20, 0x64, 0xe7, 0xa2, 0xd5, 0x51, 0xb4, 0x86, 0xa0, 0x09, 0xb1, + 0xb6, 0x60, 0x05, 0x79, 0x96, 0x20, 0xe6, 0xf3, 0x63, 0x03, 0x59, 0x87, 0xc8, 0x69, 0xbf, 0x80, + 0x95, 0xec, 0x69, 0x93, 0x77, 0x33, 0x69, 0xa1, 0x99, 0xcb, 0x93, 0x69, 0x76, 0x48, 0x2a, 0xb2, + 0xf5, 0x4b, 0x2a, 0x32, 0x72, 0x9d, 0x8a, 0x4c, 0xfb, 0x2f, 0xd9, 0x9c, 0x65, 0x2a, 0x84, 0x9f, + 0x41, 0x2d, 0x90, 0xf5, 0x38, 0x5a, 0x52, 0xfe, 0x12, 0x3e, 0x0f, 0xee, 0x24, 0x95, 0x3b, 0x4d, + 0xe7, 0xb4, 0xff, 0x56, 0x81, 0x5a, 0x5a, 0xd0, 0xe7, 0x2c, 0xef, 0xcd, 0x05, 0xcb, 0x3b, 0x90, + 0x1a, 0x16, 0x0a, 0x7c, 0x1b, 0xa3, 0xc5, 0x27, 0xaf, 0x7f, 0xd7, 0xc5, 0xb6, 0xe7, 0x34, 0xdb, + 0xf6, 0x6c, 0xbe, 0xae, 0xed, 0xf9, 0xe4, 0xa2, 0xc1, 0xbf, 0x95, 0xe9, 0x2d, 0x16, 0xcc, 0xbe, + 0xfd, 0x7d, 0xae, 0x0f, 0xca, 0x26, 0x84, 0x77, 0xc4, 0x7e, 0xd2, 0x84, 0x90, 0xb6, 0x3f, 0xf7, + 0xaf, 0xd7, 0xfe, 0x6c, 0x43, 0x45, 0xea, 0xfc, 0x0e, 0x54, 0x64, 0x4d, 0x27, 0x1b, 0x04, 0x31, + 0x3a, 0x6f, 0x10, 0x0a, 0xb2, 0x4e, 0xd7, 0x7e, 0xae, 0x40, 0x59, 0x0f, 0x43, 0x3f, 0xd4, 0xfe, + 0x48, 0x81, 0x3a, 0x3e, 0xed, 0xf9, 0x0e, 0xe3, 0xd9, 0x60, 0xb7, 0xdb, 0xb3, 0xa8, 0xfe, 0xcd, + 0x91, 0x8e, 0xd9, 0xa0, 0x0d, 0x77, 0xf6, 0x86, 0x83, 0xbd, 0x23, 0x4a, 0xf5, 0x81, 0x69, 0x99, + 0xb4, 0x3b, 0x18, 0xf1, 0xb6, 0x67, 0x38, 0x50, 0x15, 0x9e, 0x29, 0x8c, 0x81, 0xa9, 0xd3, 0x41, + 0xb7, 0x6f, 0x89, 0x56, 0xb4, 0x88, 0x77, 0xb3, 0xba, 0xde, 0xb3, 0xf0, 0xd6, 0x51, 0x2d, 0xf1, + 0x96, 0xd5, 0x34, 0x0e, 0xf4, 0xe1, 0x91, 0xa9, 0x96, 0xc9, 0x6d, 0x58, 0x3f, 0xd4, 0xe9, 0x81, + 0x31, 0x1a, 0x19, 0xc3, 0x81, 0xd5, 0xd3, 0x07, 0x86, 0xde, 0x53, 0x2b, 0x7c, 0x9d, 0x5d, 0x63, + 0xdf, 0xec, 0xee, 0xf6, 0x75, 0xb9, 0x4e, 0x95, 0x6c, 0xc2, 0x5b, 0x7b, 0xc3, 0x83, 0x03, 0xc3, + 0x34, 0xf5, 0x9e, 0xb5, 0x7b, 0x64, 0x5a, 0x23, 0xd3, 0xe8, 0xf7, 0xad, 0xee, 0xe1, 0x61, 0xff, + 0x29, 0x4f, 0x60, 0x35, 0x72, 0x17, 0x36, 0xf6, 0xba, 0x87, 0xdd, 0x5d, 0xa3, 0x6f, 0x98, 0x4f, + 0xad, 0x9e, 0x31, 0xe2, 0xf3, 0x7b, 0x6a, 0x9d, 0x27, 0x6c, 0x93, 0x3e, 0xb5, 0xba, 0x7d, 0x14, + 0xcd, 0xd4, 0xad, 0xdd, 0xee, 0xde, 0x13, 0x7d, 0xd0, 0x53, 0x81, 0x0b, 0x30, 0xea, 0x3e, 0xd2, + 0x2d, 0x2e, 0x92, 0x65, 0x0e, 0x87, 0xd6, 0xb0, 0xdf, 0x53, 0x1b, 0xda, 0xbf, 0x14, 0xa1, 0xb4, + 0xe7, 0x47, 0x31, 0xf7, 0x46, 0xe1, 0xac, 0x2f, 0x42, 0x37, 0x66, 0xa2, 0x7f, 0x2b, 0x53, 0xd1, + 0x4b, 0x7f, 0x87, 0x24, 0x1e, 0x50, 0x32, 0x10, 0xeb, 0xd9, 0x19, 0xc7, 0x29, 0x88, 0x5b, 0x3b, + 0xc7, 0xed, 0x72, 0xb2, 0x88, 0x68, 0x78, 0x85, 0x23, 0xd7, 0x2b, 0x22, 0x4e, 0x06, 0x61, 0xb9, + 0xe0, 0xc7, 0x40, 0xb2, 0x20, 0xb9, 0x62, 0x09, 0x91, 0x6a, 0x06, 0x29, 0x96, 0xdc, 0x01, 0x18, + 0xfb, 0xb3, 0x99, 0x1b, 0x8f, 0xfd, 0x28, 0x96, 0x5f, 0xc8, 0xda, 0x39, 0x63, 0x8f, 0x62, 0x6e, + 0xf1, 0x33, 0x37, 0xe6, 0x8f, 0x34, 0x83, 0x26, 0x3b, 0x70, 0xcf, 0x0e, 0x82, 0xd0, 0x7f, 0xe9, + 0xce, 0xec, 0x98, 0x59, 0xdc, 0x73, 0xed, 0x63, 0x66, 0x39, 0x6c, 0x1a, 0xdb, 0xd8, 0x13, 0x95, + 0xe9, 0xdd, 0x0c, 0x60, 0x24, 0xf8, 0x3d, 0xce, 0xe6, 0x71, 0xd7, 0x75, 0xac, 0x88, 0xfd, 0x30, + 0xe7, 0x1e, 0x60, 0xcd, 0x03, 0xc7, 0xe6, 0x62, 0xd6, 0x45, 0x96, 0x72, 0x9d, 0x91, 0xe4, 0x1c, + 0x09, 0x46, 0xfb, 0x15, 0xc0, 0xb9, 0x14, 0x64, 0x1b, 0x6e, 0xf3, 0x3a, 0x9e, 0x45, 0x31, 0x73, + 0x2c, 0xb9, 0xdb, 0x60, 0x1e, 0x47, 0x18, 0xe2, 0xcb, 0x74, 0x23, 0x65, 0xca, 0x9b, 0xc2, 0x79, + 0x1c, 0x91, 0x9f, 0x40, 0xeb, 0xc2, 0x1c, 0x87, 0x4d, 0x19, 0x7f, 0x6d, 0x15, 0xa7, 0xdd, 0x59, + 0x98, 0xd6, 0x13, 0x5c, 0xed, 0x4f, 0x14, 0x80, 0x7d, 0x16, 0x53, 0xc1, 0xcd, 0x34, 0xb6, 0x95, + 0xeb, 0x36, 0xb6, 0xef, 0x27, 0x17, 0x08, 0xc5, 0xab, 0x63, 0xc0, 0x42, 0x97, 0xa1, 0xdc, 0xa4, + 0xcb, 0xc8, 0x35, 0x11, 0xc5, 0x2b, 0x9a, 0x88, 0x52, 0xae, 0x89, 0xf8, 0x18, 0x9a, 0xf6, 0x74, + 0xea, 0xbf, 0xe0, 0x05, 0x0d, 0x0b, 0x43, 0xe6, 0xa0, 0x11, 0x9c, 0xd7, 0xdb, 0xc8, 0xec, 0x49, + 0x9e, 0xf6, 0xe7, 0x0a, 0x34, 0x50, 0x15, 0x51, 0xe0, 0x7b, 0x11, 0x23, 0x5f, 0x42, 0x45, 0x5e, + 0x44, 0x8b, 0x8b, 0xfc, 0xb7, 0x33, 0xb2, 0x66, 0x70, 0xb2, 0x68, 0xa0, 0x12, 0xcc, 0x33, 0x42, + 0xe6, 0x75, 0x97, 0x2b, 0x25, 0x45, 0x91, 0xfb, 0x50, 0x73, 0x3d, 0x4b, 0xb4, 0xd4, 0x95, 0x4c, + 0x58, 0xac, 0xba, 0x1e, 0xd6, 0xb2, 0xed, 0x57, 0x50, 0x11, 0x2f, 0x21, 0x9d, 0x54, 0xa6, 0x8b, + 0xfa, 0xcb, 0xdc, 0x1c, 0xa7, 0xc2, 0xc8, 0xc3, 0x29, 0xbd, 0x2e, 0x40, 0xb7, 0xa0, 0x7a, 0xca, + 0x9b, 0x0f, 0xbc, 0xf4, 0xe3, 0xea, 0x4d, 0x86, 0xda, 0x1f, 0x97, 0x00, 0x0e, 0xe7, 0x4b, 0x0c, + 0xa4, 0x71, 0x5d, 0x03, 0xe9, 0xe4, 0xf4, 0xf8, 0x7a, 0x99, 0x7f, 0x75, 0x43, 0x59, 0xd2, 0x69, + 0x17, 0x6f, 0xda, 0x69, 0xdf, 0x87, 0x6a, 0x1c, 0xce, 0xb9, 0xa3, 0x08, 0x63, 0x4a, 0x5b, 0x5a, + 0x49, 0x25, 0x6f, 0x42, 0x79, 0xe2, 0x87, 0x63, 0x86, 0x8e, 0x95, 0xb2, 0x05, 0xed, 0xc2, 0x65, + 0x52, 0xed, 0xb2, 0xcb, 0x24, 0xde, 0xa0, 0x45, 0xf2, 0x1e, 0x0d, 0x0b, 0x99, 0x7c, 0x83, 0x96, + 0x5c, 0xb1, 0xd1, 0x14, 0x44, 0xbe, 0x81, 0xa6, 0x3d, 0x8f, 0x7d, 0xcb, 0xe5, 0x15, 0xda, 0xd4, + 0x1d, 0x9f, 0x61, 0xd9, 0xdd, 0xcc, 0x7f, 0xaf, 0x4f, 0x0f, 0xaa, 0xd3, 0x9d, 0xc7, 0xbe, 0xe1, + 0x1c, 0x22, 0x72, 0xa7, 0x2a, 0x93, 0x12, 0x5d, 0xb1, 0x33, 0x64, 0xed, 0xc7, 0xb0, 0x92, 0x85, + 0xf1, 0x04, 0x24, 0x81, 0xea, 0x1b, 0x3c, 0x3b, 0x8d, 0x78, 0x6a, 0x1b, 0x98, 0x46, 0xb7, 0xaf, + 0x16, 0xb4, 0x18, 0x1a, 0xb8, 0xbc, 0xf4, 0x8e, 0xeb, 0xba, 0xfd, 0x03, 0x28, 0x61, 0xf8, 0x55, + 0x2e, 0x7c, 0x0f, 0xc1, 0x98, 0x8b, 0xcc, 0xbc, 0xf9, 0x15, 0xb3, 0xe6, 0xf7, 0xdf, 0x05, 0x58, + 0x31, 0xfd, 0xf9, 0xf8, 0xe4, 0xa2, 0x01, 0xc2, 0xaf, 0x3b, 0x42, 0x2d, 0x31, 0x1f, 0xe5, 0xa6, + 0xe6, 0x93, 0x5a, 0x47, 0x71, 0x89, 0x75, 0xdc, 0xf4, 0xcc, 0xb5, 0x2f, 0x60, 0x55, 0x6e, 0x5e, + 0x6a, 0x3d, 0xd1, 0x66, 0xe1, 0x0a, 0x6d, 0x6a, 0xbf, 0x50, 0x60, 0x55, 0xc4, 0xf7, 0xff, 0xbb, + 0xd2, 0x2a, 0x37, 0x0c, 0xeb, 0xe5, 0x1b, 0x5d, 0x1e, 0xfd, 0xbf, 0xf4, 0x34, 0x6d, 0x08, 0xcd, + 0x44, 0x7d, 0x37, 0x50, 0xfb, 0x15, 0x46, 0xfc, 0x8b, 0x02, 0x34, 0x06, 0xec, 0xe5, 0x92, 0x20, + 0x5a, 0xbe, 0xee, 0x71, 0x7c, 0x98, 0x2b, 0x57, 0x1b, 0xdb, 0xeb, 0x59, 0x19, 0xc4, 0xd5, 0x63, + 0x52, 0xc1, 0xa6, 0xb7, 0xa8, 0xca, 0xf2, 0x5b, 0xd4, 0xd2, 0x62, 0xb7, 0x9e, 0xb9, 0xc5, 0x2b, + 0x2e, 0xbb, 0xc5, 0xd3, 0xfe, 0xad, 0x08, 0x0d, 0x6c, 0x90, 0x29, 0x8b, 0xe6, 0xd3, 0x38, 0x27, + 0x4c, 0xe1, 0x6a, 0x61, 0x3a, 0x50, 0x09, 0x71, 0x92, 0x74, 0xa5, 0x4b, 0x83, 0xbf, 0x40, 0x61, + 0x6b, 0xfc, 0xdc, 0x0d, 0x02, 0xe6, 0x58, 0x82, 0x92, 0x14, 0x30, 0x4d, 0x49, 0x16, 0x22, 0x44, + 0xbc, 0xfc, 0x9c, 0xf9, 0x21, 0x4b, 0x51, 0x45, 0xbc, 0x4f, 0x68, 0x70, 0x5a, 0x02, 0xc9, 0xdd, + 0x37, 0x88, 0xca, 0xe0, 0xfc, 0xbe, 0x21, 0xed, 0x35, 0x91, 0x5b, 0x47, 0xae, 0xe8, 0x35, 0x91, + 0xcd, 0xbb, 0xa8, 0x99, 0x3d, 0x9d, 0x5a, 0x7e, 0x10, 0xa1, 0xd3, 0xd4, 0x68, 0x0d, 0x09, 0xc3, + 0x20, 0x22, 0x5f, 0x43, 0x7a, 0x5d, 0x2c, 0x6f, 0xc9, 0xc5, 0x39, 0xb6, 0x2e, 0xbb, 0x58, 0xa0, + 0xab, 0xe3, 0xdc, 0xfd, 0xcf, 0x92, 0x1b, 0xea, 0xca, 0x4d, 0x6f, 0xa8, 0x1f, 0x42, 0x59, 0xc4, + 0xa8, 0xda, 0xeb, 0x62, 0x94, 0xc0, 0x65, 0xed, 0xb3, 0x91, 0xb7, 0xcf, 0x5f, 0x16, 0x80, 0x74, + 0xa7, 0x53, 0x7f, 0x6c, 0xc7, 0xcc, 0x70, 0xa2, 0x8b, 0x66, 0x7a, 0xed, 0xcf, 0x2e, 0x9f, 0x41, + 0x7d, 0xe6, 0x3b, 0x6c, 0x6a, 0x25, 0xdf, 0x94, 0x2e, 0xad, 0x7e, 0x10, 0xc6, 0x5b, 0x52, 0x02, + 0x25, 0xbc, 0xc4, 0x51, 0xb0, 0xee, 0xc0, 0x67, 0xde, 0x84, 0xcd, 0xec, 0x97, 0xb2, 0x14, 0xe1, + 0x8f, 0xa4, 0x03, 0xd5, 0x90, 0x45, 0x2c, 0x3c, 0x65, 0x57, 0x16, 0x55, 0x09, 0x48, 0x7b, 0x06, + 0x1b, 0xb9, 0x1d, 0x49, 0x47, 0xbe, 0x85, 0x5f, 0x2b, 0xc3, 0x58, 0x7e, 0xb4, 0x12, 0x03, 0xfe, + 0x3a, 0xe6, 0x25, 0x9f, 0x41, 0xf9, 0x63, 0xea, 0xf0, 0xc5, 0xab, 0xe2, 0xec, 0x1e, 0xa8, 0x59, + 0x4d, 0xbb, 0x63, 0x0c, 0x36, 0xf2, 0x54, 0x0a, 0xd7, 0x3b, 0x15, 0xed, 0xef, 0x0a, 0xb0, 0xde, + 0x75, 0x1c, 0xf1, 0x77, 0xc3, 0x25, 0xaa, 0x2f, 0x5e, 0x57, 0xf5, 0x0b, 0x81, 0x58, 0x84, 0x89, + 0x6b, 0x05, 0xe2, 0x0f, 0xa1, 0x92, 0xd6, 0x5a, 0xc5, 0x05, 0x77, 0x16, 0x72, 0x51, 0x09, 0xd0, + 0x6e, 0x01, 0xc9, 0x0a, 0x2b, 0xb4, 0xaa, 0xfd, 0x69, 0x11, 0xee, 0xee, 0xb2, 0x63, 0xd7, 0xcb, + 0xbe, 0xe2, 0x57, 0xdf, 0xc9, 0xc5, 0x4f, 0x65, 0x9f, 0xc1, 0xba, 0x28, 0xe4, 0x93, 0x7f, 0x62, + 0x59, 0xec, 0x58, 0x7e, 0x9d, 0x94, 0xb1, 0x6a, 0x0d, 0xf9, 0x07, 0x92, 0xad, 0xe3, 0x7f, 0xc5, + 0x1c, 0x3b, 0xb6, 0x9f, 0xd9, 0x11, 0xb3, 0x5c, 0x47, 0xfe, 0x59, 0x06, 0x12, 0x92, 0xe1, 0x90, + 0x21, 0x94, 0xb8, 0x0d, 0xa2, 0xeb, 0x36, 0xb7, 0xb7, 0x33, 0x62, 0x5d, 0xb2, 0x95, 0xac, 0x02, + 0x0f, 0x7c, 0x87, 0xed, 0x54, 0x8f, 0x06, 0x4f, 0x06, 0xc3, 0xef, 0x06, 0x14, 0x17, 0x22, 0x06, + 0xdc, 0x0a, 0x42, 0x76, 0xea, 0xfa, 0xf3, 0xc8, 0xca, 0x9e, 0x44, 0xf5, 0xca, 0x94, 0xb8, 0x91, + 0xcc, 0xc9, 0x10, 0xb5, 0x9f, 0xc2, 0xda, 0xc2, 0xcb, 0x78, 0x6d, 0x26, 0x5f, 0xa7, 0xbe, 0x41, + 0x56, 0xa1, 0x8e, 0x1f, 0xbb, 0x97, 0x7f, 0xfb, 0xd6, 0xfe, 0xb5, 0x80, 0x57, 0x4c, 0x33, 0x37, + 0xbe, 0x59, 0x06, 0xfb, 0xcd, 0x7c, 0x06, 0x83, 0xed, 0x77, 0xf3, 0xe6, 0x9b, 0x59, 0xb0, 0xf3, + 0xad, 0x00, 0xa6, 0x41, 0xa4, 0x6d, 0x43, 0x55, 0xd2, 0xc8, 0x6f, 0xc1, 0x5a, 0xe8, 0xfb, 0x71, + 0xd2, 0x89, 0x8a, 0x0e, 0xe4, 0xf2, 0x3f, 0xdb, 0xac, 0x72, 0xb0, 0x48, 0x06, 0x4f, 0xf2, 0xbd, + 0x48, 0x59, 0xfc, 0x0d, 0x44, 0x0e, 0x77, 0x1b, 0xbf, 0x5b, 0x4f, 0xff, 0xb7, 0xfb, 0xbf, 0x01, + 0x00, 0x00, 0xff, 0xff, 0x35, 0x9f, 0x30, 0x98, 0xf2, 0x2b, 0x00, 0x00, +} diff --git a/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto b/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto new file mode 100644 index 000000000..497b4d9a9 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto @@ -0,0 +1,551 @@ +syntax = "proto2"; +option go_package = "datastore"; + +package appengine; + +message Action{} + +message PropertyValue { + optional int64 int64Value = 1; + optional bool booleanValue = 2; + optional string stringValue = 3; + optional double doubleValue = 4; + + optional group PointValue = 5 { + required double x = 6; + required double y = 7; + } + + optional group UserValue = 8 { + required string email = 9; + required string auth_domain = 10; + optional string nickname = 11; + optional string federated_identity = 21; + optional string federated_provider = 22; + } + + optional group ReferenceValue = 12 { + required string app = 13; + optional string name_space = 20; + repeated group PathElement = 14 { + required string type = 15; + optional int64 id = 16; + optional string name = 17; + } + } +} + +message Property { + enum Meaning { + NO_MEANING = 0; + BLOB = 14; + TEXT = 15; + BYTESTRING = 16; + + ATOM_CATEGORY = 1; + ATOM_LINK = 2; + ATOM_TITLE = 3; + ATOM_CONTENT = 4; + ATOM_SUMMARY = 5; + ATOM_AUTHOR = 6; + + GD_WHEN = 7; + GD_EMAIL = 8; + GEORSS_POINT = 9; + GD_IM = 10; + + GD_PHONENUMBER = 11; + GD_POSTALADDRESS = 12; + + GD_RATING = 13; + + BLOBKEY = 17; + ENTITY_PROTO = 19; + + INDEX_VALUE = 18; + }; + + optional Meaning meaning = 1 [default = NO_MEANING]; + optional string meaning_uri = 2; + + required string name = 3; + + required PropertyValue value = 5; + + required bool multiple = 4; + + optional bool searchable = 6 [default=false]; + + enum FtsTokenizationOption { + HTML = 1; + ATOM = 2; + } + + optional FtsTokenizationOption fts_tokenization_option = 8; + + optional string locale = 9 [default = "en"]; +} + +message Path { + repeated group Element = 1 { + required string type = 2; + optional int64 id = 3; + optional string name = 4; + } +} + +message Reference { + required string app = 13; + optional string name_space = 20; + required Path path = 14; +} + +message User { + required string email = 1; + required string auth_domain = 2; + optional string nickname = 3; + optional string federated_identity = 6; + optional string federated_provider = 7; +} + +message EntityProto { + required Reference key = 13; + required Path entity_group = 16; + optional User owner = 17; + + enum Kind { + GD_CONTACT = 1; + GD_EVENT = 2; + GD_MESSAGE = 3; + } + optional Kind kind = 4; + optional string kind_uri = 5; + + repeated Property property = 14; + repeated Property raw_property = 15; + + optional int32 rank = 18; +} + +message CompositeProperty { + required int64 index_id = 1; + repeated string value = 2; +} + +message Index { + required string entity_type = 1; + required bool ancestor = 5; + repeated group Property = 2 { + required string name = 3; + enum Direction { + ASCENDING = 1; + DESCENDING = 2; + } + optional Direction direction = 4 [default = ASCENDING]; + } +} + +message CompositeIndex { + required string app_id = 1; + required int64 id = 2; + required Index definition = 3; + + enum State { + WRITE_ONLY = 1; + READ_WRITE = 2; + DELETED = 3; + ERROR = 4; + } + required State state = 4; + + optional bool only_use_if_required = 6 [default = false]; +} + +message IndexPostfix { + message IndexValue { + required string property_name = 1; + required PropertyValue value = 2; + } + + repeated IndexValue index_value = 1; + + optional Reference key = 2; + + optional bool before = 3 [default=true]; +} + +message IndexPosition { + optional string key = 1; + + optional bool before = 2 [default=true]; +} + +message Snapshot { + enum Status { + INACTIVE = 0; + ACTIVE = 1; + } + + required int64 ts = 1; +} + +message InternalHeader { + optional string qos = 1; +} + +message Transaction { + optional InternalHeader header = 4; + required fixed64 handle = 1; + required string app = 2; + optional bool mark_changes = 3 [default = false]; +} + +message Query { + optional InternalHeader header = 39; + + required string app = 1; + optional string name_space = 29; + + optional string kind = 3; + optional Reference ancestor = 17; + + repeated group Filter = 4 { + enum Operator { + LESS_THAN = 1; + LESS_THAN_OR_EQUAL = 2; + GREATER_THAN = 3; + GREATER_THAN_OR_EQUAL = 4; + EQUAL = 5; + IN = 6; + EXISTS = 7; + } + + required Operator op = 6; + repeated Property property = 14; + } + + optional string search_query = 8; + + repeated group Order = 9 { + enum Direction { + ASCENDING = 1; + DESCENDING = 2; + } + + required string property = 10; + optional Direction direction = 11 [default = ASCENDING]; + } + + enum Hint { + ORDER_FIRST = 1; + ANCESTOR_FIRST = 2; + FILTER_FIRST = 3; + } + optional Hint hint = 18; + + optional int32 count = 23; + + optional int32 offset = 12 [default = 0]; + + optional int32 limit = 16; + + optional CompiledCursor compiled_cursor = 30; + optional CompiledCursor end_compiled_cursor = 31; + + repeated CompositeIndex composite_index = 19; + + optional bool require_perfect_plan = 20 [default = false]; + + optional bool keys_only = 21 [default = false]; + + optional Transaction transaction = 22; + + optional bool compile = 25 [default = false]; + + optional int64 failover_ms = 26; + + optional bool strong = 32; + + repeated string property_name = 33; + + repeated string group_by_property_name = 34; + + optional bool distinct = 24; + + optional int64 min_safe_time_seconds = 35; + + repeated string safe_replica_name = 36; + + optional bool persist_offset = 37 [default=false]; +} + +message CompiledQuery { + required group PrimaryScan = 1 { + optional string index_name = 2; + + optional string start_key = 3; + optional bool start_inclusive = 4; + optional string end_key = 5; + optional bool end_inclusive = 6; + + repeated string start_postfix_value = 22; + repeated string end_postfix_value = 23; + + optional int64 end_unapplied_log_timestamp_us = 19; + } + + repeated group MergeJoinScan = 7 { + required string index_name = 8; + + repeated string prefix_value = 9; + + optional bool value_prefix = 20 [default=false]; + } + + optional Index index_def = 21; + + optional int32 offset = 10 [default = 0]; + + optional int32 limit = 11; + + required bool keys_only = 12; + + repeated string property_name = 24; + + optional int32 distinct_infix_size = 25; + + optional group EntityFilter = 13 { + optional bool distinct = 14 [default=false]; + + optional string kind = 17; + optional Reference ancestor = 18; + } +} + +message CompiledCursor { + optional group Position = 2 { + optional string start_key = 27; + + repeated group IndexValue = 29 { + optional string property = 30; + required PropertyValue value = 31; + } + + optional Reference key = 32; + + optional bool start_inclusive = 28 [default=true]; + } +} + +message Cursor { + required fixed64 cursor = 1; + + optional string app = 2; +} + +message Error { + enum ErrorCode { + BAD_REQUEST = 1; + CONCURRENT_TRANSACTION = 2; + INTERNAL_ERROR = 3; + NEED_INDEX = 4; + TIMEOUT = 5; + PERMISSION_DENIED = 6; + BIGTABLE_ERROR = 7; + COMMITTED_BUT_STILL_APPLYING = 8; + CAPABILITY_DISABLED = 9; + TRY_ALTERNATE_BACKEND = 10; + SAFE_TIME_TOO_OLD = 11; + } +} + +message Cost { + optional int32 index_writes = 1; + optional int32 index_write_bytes = 2; + optional int32 entity_writes = 3; + optional int32 entity_write_bytes = 4; + optional group CommitCost = 5 { + optional int32 requested_entity_puts = 6; + optional int32 requested_entity_deletes = 7; + }; + optional int32 approximate_storage_delta = 8; + optional int32 id_sequence_updates = 9; +} + +message GetRequest { + optional InternalHeader header = 6; + + repeated Reference key = 1; + optional Transaction transaction = 2; + + optional int64 failover_ms = 3; + + optional bool strong = 4; + + optional bool allow_deferred = 5 [default=false]; +} + +message GetResponse { + repeated group Entity = 1 { + optional EntityProto entity = 2; + optional Reference key = 4; + + optional int64 version = 3; + } + + repeated Reference deferred = 5; + + optional bool in_order = 6 [default=true]; +} + +message PutRequest { + optional InternalHeader header = 11; + + repeated EntityProto entity = 1; + optional Transaction transaction = 2; + repeated CompositeIndex composite_index = 3; + + optional bool trusted = 4 [default = false]; + + optional bool force = 7 [default = false]; + + optional bool mark_changes = 8 [default = false]; + repeated Snapshot snapshot = 9; + + enum AutoIdPolicy { + CURRENT = 0; + SEQUENTIAL = 1; + } + optional AutoIdPolicy auto_id_policy = 10 [default = CURRENT]; +} + +message PutResponse { + repeated Reference key = 1; + optional Cost cost = 2; + repeated int64 version = 3; +} + +message TouchRequest { + optional InternalHeader header = 10; + + repeated Reference key = 1; + repeated CompositeIndex composite_index = 2; + optional bool force = 3 [default = false]; + repeated Snapshot snapshot = 9; +} + +message TouchResponse { + optional Cost cost = 1; +} + +message DeleteRequest { + optional InternalHeader header = 10; + + repeated Reference key = 6; + optional Transaction transaction = 5; + + optional bool trusted = 4 [default = false]; + + optional bool force = 7 [default = false]; + + optional bool mark_changes = 8 [default = false]; + repeated Snapshot snapshot = 9; +} + +message DeleteResponse { + optional Cost cost = 1; + repeated int64 version = 3; +} + +message NextRequest { + optional InternalHeader header = 5; + + required Cursor cursor = 1; + optional int32 count = 2; + + optional int32 offset = 4 [default = 0]; + + optional bool compile = 3 [default = false]; +} + +message QueryResult { + optional Cursor cursor = 1; + + repeated EntityProto result = 2; + + optional int32 skipped_results = 7; + + required bool more_results = 3; + + optional bool keys_only = 4; + + optional bool index_only = 9; + + optional bool small_ops = 10; + + optional CompiledQuery compiled_query = 5; + + optional CompiledCursor compiled_cursor = 6; + + repeated CompositeIndex index = 8; + + repeated int64 version = 11; +} + +message AllocateIdsRequest { + optional InternalHeader header = 4; + + optional Reference model_key = 1; + + optional int64 size = 2; + + optional int64 max = 3; + + repeated Reference reserve = 5; +} + +message AllocateIdsResponse { + required int64 start = 1; + required int64 end = 2; + optional Cost cost = 3; +} + +message CompositeIndices { + repeated CompositeIndex index = 1; +} + +message AddActionsRequest { + optional InternalHeader header = 3; + + required Transaction transaction = 1; + repeated Action action = 2; +} + +message AddActionsResponse { +} + +message BeginTransactionRequest { + optional InternalHeader header = 3; + + required string app = 1; + optional bool allow_multiple_eg = 2 [default = false]; + optional string database_id = 4; + + enum TransactionMode { + UNKNOWN = 0; + READ_ONLY = 1; + READ_WRITE = 2; + } + optional TransactionMode mode = 5 [default = UNKNOWN]; + + optional Transaction previous_transaction = 7; +} + +message CommitResponse { + optional Cost cost = 1; + + repeated group Version = 3 { + required Reference root_entity_key = 4; + required int64 version = 5; + } +} diff --git a/vendor/google.golang.org/appengine/internal/identity.go b/vendor/google.golang.org/appengine/internal/identity.go new file mode 100644 index 000000000..9b4134e42 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/identity.go @@ -0,0 +1,55 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package internal + +import ( + "os" + + netcontext "golang.org/x/net/context" +) + +var ( + // This is set to true in identity_classic.go, which is behind the appengine build tag. + // The appengine build tag is set for the first generation runtimes (<= Go 1.9) but not + // the second generation runtimes (>= Go 1.11), so this indicates whether we're on a + // first-gen runtime. See IsStandard below for the second-gen check. + appengineStandard bool + + // This is set to true in identity_flex.go, which is behind the appenginevm build tag. + appengineFlex bool +) + +// AppID is the implementation of the wrapper function of the same name in +// ../identity.go. See that file for commentary. +func AppID(c netcontext.Context) string { + return appID(FullyQualifiedAppID(c)) +} + +// IsStandard is the implementation of the wrapper function of the same name in +// ../appengine.go. See that file for commentary. +func IsStandard() bool { + // appengineStandard will be true for first-gen runtimes (<= Go 1.9) but not + // second-gen (>= Go 1.11). + return appengineStandard || IsSecondGen() +} + +// IsStandard is the implementation of the wrapper function of the same name in +// ../appengine.go. See that file for commentary. +func IsSecondGen() bool { + // Second-gen runtimes set $GAE_ENV so we use that to check if we're on a second-gen runtime. + return os.Getenv("GAE_ENV") == "standard" +} + +// IsFlex is the implementation of the wrapper function of the same name in +// ../appengine.go. See that file for commentary. +func IsFlex() bool { + return appengineFlex +} + +// IsAppEngine is the implementation of the wrapper function of the same name in +// ../appengine.go. See that file for commentary. +func IsAppEngine() bool { + return IsStandard() || IsFlex() +} diff --git a/vendor/google.golang.org/appengine/internal/identity_classic.go b/vendor/google.golang.org/appengine/internal/identity_classic.go new file mode 100644 index 000000000..4e979f45e --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/identity_classic.go @@ -0,0 +1,61 @@ +// Copyright 2015 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build appengine + +package internal + +import ( + "appengine" + + netcontext "golang.org/x/net/context" +) + +func init() { + appengineStandard = true +} + +func DefaultVersionHostname(ctx netcontext.Context) string { + c := fromContext(ctx) + if c == nil { + panic(errNotAppEngineContext) + } + return appengine.DefaultVersionHostname(c) +} + +func Datacenter(_ netcontext.Context) string { return appengine.Datacenter() } +func ServerSoftware() string { return appengine.ServerSoftware() } +func InstanceID() string { return appengine.InstanceID() } +func IsDevAppServer() bool { return appengine.IsDevAppServer() } + +func RequestID(ctx netcontext.Context) string { + c := fromContext(ctx) + if c == nil { + panic(errNotAppEngineContext) + } + return appengine.RequestID(c) +} + +func ModuleName(ctx netcontext.Context) string { + c := fromContext(ctx) + if c == nil { + panic(errNotAppEngineContext) + } + return appengine.ModuleName(c) +} +func VersionID(ctx netcontext.Context) string { + c := fromContext(ctx) + if c == nil { + panic(errNotAppEngineContext) + } + return appengine.VersionID(c) +} + +func fullyQualifiedAppID(ctx netcontext.Context) string { + c := fromContext(ctx) + if c == nil { + panic(errNotAppEngineContext) + } + return c.FullyQualifiedAppID() +} diff --git a/vendor/google.golang.org/appengine/internal/identity_flex.go b/vendor/google.golang.org/appengine/internal/identity_flex.go new file mode 100644 index 000000000..d5e2e7b5e --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/identity_flex.go @@ -0,0 +1,11 @@ +// Copyright 2018 Google LLC. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build appenginevm + +package internal + +func init() { + appengineFlex = true +} diff --git a/vendor/google.golang.org/appengine/internal/identity_vm.go b/vendor/google.golang.org/appengine/internal/identity_vm.go new file mode 100644 index 000000000..5d8067263 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/identity_vm.go @@ -0,0 +1,134 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build !appengine + +package internal + +import ( + "log" + "net/http" + "os" + "strings" + + netcontext "golang.org/x/net/context" +) + +// These functions are implementations of the wrapper functions +// in ../appengine/identity.go. See that file for commentary. + +const ( + hDefaultVersionHostname = "X-AppEngine-Default-Version-Hostname" + hRequestLogId = "X-AppEngine-Request-Log-Id" + hDatacenter = "X-AppEngine-Datacenter" +) + +func ctxHeaders(ctx netcontext.Context) http.Header { + c := fromContext(ctx) + if c == nil { + return nil + } + return c.Request().Header +} + +func DefaultVersionHostname(ctx netcontext.Context) string { + return ctxHeaders(ctx).Get(hDefaultVersionHostname) +} + +func RequestID(ctx netcontext.Context) string { + return ctxHeaders(ctx).Get(hRequestLogId) +} + +func Datacenter(ctx netcontext.Context) string { + if dc := ctxHeaders(ctx).Get(hDatacenter); dc != "" { + return dc + } + // If the header isn't set, read zone from the metadata service. + // It has the format projects/[NUMERIC_PROJECT_ID]/zones/[ZONE] + zone, err := getMetadata("instance/zone") + if err != nil { + log.Printf("Datacenter: %v", err) + return "" + } + parts := strings.Split(string(zone), "/") + if len(parts) == 0 { + return "" + } + return parts[len(parts)-1] +} + +func ServerSoftware() string { + // TODO(dsymonds): Remove fallback when we've verified this. + if s := os.Getenv("SERVER_SOFTWARE"); s != "" { + return s + } + if s := os.Getenv("GAE_ENV"); s != "" { + return s + } + return "Google App Engine/1.x.x" +} + +// TODO(dsymonds): Remove the metadata fetches. + +func ModuleName(_ netcontext.Context) string { + if s := os.Getenv("GAE_MODULE_NAME"); s != "" { + return s + } + if s := os.Getenv("GAE_SERVICE"); s != "" { + return s + } + return string(mustGetMetadata("instance/attributes/gae_backend_name")) +} + +func VersionID(_ netcontext.Context) string { + if s1, s2 := os.Getenv("GAE_MODULE_VERSION"), os.Getenv("GAE_MINOR_VERSION"); s1 != "" && s2 != "" { + return s1 + "." + s2 + } + if s1, s2 := os.Getenv("GAE_VERSION"), os.Getenv("GAE_DEPLOYMENT_ID"); s1 != "" && s2 != "" { + return s1 + "." + s2 + } + return string(mustGetMetadata("instance/attributes/gae_backend_version")) + "." + string(mustGetMetadata("instance/attributes/gae_backend_minor_version")) +} + +func InstanceID() string { + if s := os.Getenv("GAE_MODULE_INSTANCE"); s != "" { + return s + } + if s := os.Getenv("GAE_INSTANCE"); s != "" { + return s + } + return string(mustGetMetadata("instance/attributes/gae_backend_instance")) +} + +func partitionlessAppID() string { + // gae_project has everything except the partition prefix. + if appID := os.Getenv("GAE_LONG_APP_ID"); appID != "" { + return appID + } + if project := os.Getenv("GOOGLE_CLOUD_PROJECT"); project != "" { + return project + } + return string(mustGetMetadata("instance/attributes/gae_project")) +} + +func fullyQualifiedAppID(_ netcontext.Context) string { + if s := os.Getenv("GAE_APPLICATION"); s != "" { + return s + } + appID := partitionlessAppID() + + part := os.Getenv("GAE_PARTITION") + if part == "" { + part = string(mustGetMetadata("instance/attributes/gae_partition")) + } + + if part != "" { + appID = part + "~" + appID + } + return appID +} + +func IsDevAppServer() bool { + return os.Getenv("RUN_WITH_DEVAPPSERVER") != "" +} diff --git a/vendor/google.golang.org/appengine/internal/internal.go b/vendor/google.golang.org/appengine/internal/internal.go new file mode 100644 index 000000000..051ea3980 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/internal.go @@ -0,0 +1,110 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// Package internal provides support for package appengine. +// +// Programs should not use this package directly. Its API is not stable. +// Use packages appengine and appengine/* instead. +package internal + +import ( + "fmt" + + "github.com/golang/protobuf/proto" + + remotepb "google.golang.org/appengine/internal/remote_api" +) + +// errorCodeMaps is a map of service name to the error code map for the service. +var errorCodeMaps = make(map[string]map[int32]string) + +// RegisterErrorCodeMap is called from API implementations to register their +// error code map. This should only be called from init functions. +func RegisterErrorCodeMap(service string, m map[int32]string) { + errorCodeMaps[service] = m +} + +type timeoutCodeKey struct { + service string + code int32 +} + +// timeoutCodes is the set of service+code pairs that represent timeouts. +var timeoutCodes = make(map[timeoutCodeKey]bool) + +func RegisterTimeoutErrorCode(service string, code int32) { + timeoutCodes[timeoutCodeKey{service, code}] = true +} + +// APIError is the type returned by appengine.Context's Call method +// when an API call fails in an API-specific way. This may be, for instance, +// a taskqueue API call failing with TaskQueueServiceError::UNKNOWN_QUEUE. +type APIError struct { + Service string + Detail string + Code int32 // API-specific error code +} + +func (e *APIError) Error() string { + if e.Code == 0 { + if e.Detail == "" { + return "APIError <empty>" + } + return e.Detail + } + s := fmt.Sprintf("API error %d", e.Code) + if m, ok := errorCodeMaps[e.Service]; ok { + s += " (" + e.Service + ": " + m[e.Code] + ")" + } else { + // Shouldn't happen, but provide a bit more detail if it does. + s = e.Service + " " + s + } + if e.Detail != "" { + s += ": " + e.Detail + } + return s +} + +func (e *APIError) IsTimeout() bool { + return timeoutCodes[timeoutCodeKey{e.Service, e.Code}] +} + +// CallError is the type returned by appengine.Context's Call method when an +// API call fails in a generic way, such as RpcError::CAPABILITY_DISABLED. +type CallError struct { + Detail string + Code int32 + // TODO: Remove this if we get a distinguishable error code. + Timeout bool +} + +func (e *CallError) Error() string { + var msg string + switch remotepb.RpcError_ErrorCode(e.Code) { + case remotepb.RpcError_UNKNOWN: + return e.Detail + case remotepb.RpcError_OVER_QUOTA: + msg = "Over quota" + case remotepb.RpcError_CAPABILITY_DISABLED: + msg = "Capability disabled" + case remotepb.RpcError_CANCELLED: + msg = "Canceled" + default: + msg = fmt.Sprintf("Call error %d", e.Code) + } + s := msg + ": " + e.Detail + if e.Timeout { + s += " (timeout)" + } + return s +} + +func (e *CallError) IsTimeout() bool { + return e.Timeout +} + +// NamespaceMods is a map from API service to a function that will mutate an RPC request to attach a namespace. +// The function should be prepared to be called on the same message more than once; it should only modify the +// RPC request the first time. +var NamespaceMods = make(map[string]func(m proto.Message, namespace string)) diff --git a/vendor/google.golang.org/appengine/internal/log/log_service.pb.go b/vendor/google.golang.org/appengine/internal/log/log_service.pb.go new file mode 100644 index 000000000..8545ac4ad --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/log/log_service.pb.go @@ -0,0 +1,1313 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google.golang.org/appengine/internal/log/log_service.proto + +package log + +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 LogServiceError_ErrorCode int32 + +const ( + LogServiceError_OK LogServiceError_ErrorCode = 0 + LogServiceError_INVALID_REQUEST LogServiceError_ErrorCode = 1 + LogServiceError_STORAGE_ERROR LogServiceError_ErrorCode = 2 +) + +var LogServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "INVALID_REQUEST", + 2: "STORAGE_ERROR", +} +var LogServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "INVALID_REQUEST": 1, + "STORAGE_ERROR": 2, +} + +func (x LogServiceError_ErrorCode) Enum() *LogServiceError_ErrorCode { + p := new(LogServiceError_ErrorCode) + *p = x + return p +} +func (x LogServiceError_ErrorCode) String() string { + return proto.EnumName(LogServiceError_ErrorCode_name, int32(x)) +} +func (x *LogServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(LogServiceError_ErrorCode_value, data, "LogServiceError_ErrorCode") + if err != nil { + return err + } + *x = LogServiceError_ErrorCode(value) + return nil +} +func (LogServiceError_ErrorCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{0, 0} +} + +type LogServiceError struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogServiceError) Reset() { *m = LogServiceError{} } +func (m *LogServiceError) String() string { return proto.CompactTextString(m) } +func (*LogServiceError) ProtoMessage() {} +func (*LogServiceError) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{0} +} +func (m *LogServiceError) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogServiceError.Unmarshal(m, b) +} +func (m *LogServiceError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogServiceError.Marshal(b, m, deterministic) +} +func (dst *LogServiceError) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogServiceError.Merge(dst, src) +} +func (m *LogServiceError) XXX_Size() int { + return xxx_messageInfo_LogServiceError.Size(m) +} +func (m *LogServiceError) XXX_DiscardUnknown() { + xxx_messageInfo_LogServiceError.DiscardUnknown(m) +} + +var xxx_messageInfo_LogServiceError proto.InternalMessageInfo + +type UserAppLogLine struct { + TimestampUsec *int64 `protobuf:"varint,1,req,name=timestamp_usec,json=timestampUsec" json:"timestamp_usec,omitempty"` + Level *int64 `protobuf:"varint,2,req,name=level" json:"level,omitempty"` + Message *string `protobuf:"bytes,3,req,name=message" json:"message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserAppLogLine) Reset() { *m = UserAppLogLine{} } +func (m *UserAppLogLine) String() string { return proto.CompactTextString(m) } +func (*UserAppLogLine) ProtoMessage() {} +func (*UserAppLogLine) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{1} +} +func (m *UserAppLogLine) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserAppLogLine.Unmarshal(m, b) +} +func (m *UserAppLogLine) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserAppLogLine.Marshal(b, m, deterministic) +} +func (dst *UserAppLogLine) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserAppLogLine.Merge(dst, src) +} +func (m *UserAppLogLine) XXX_Size() int { + return xxx_messageInfo_UserAppLogLine.Size(m) +} +func (m *UserAppLogLine) XXX_DiscardUnknown() { + xxx_messageInfo_UserAppLogLine.DiscardUnknown(m) +} + +var xxx_messageInfo_UserAppLogLine proto.InternalMessageInfo + +func (m *UserAppLogLine) GetTimestampUsec() int64 { + if m != nil && m.TimestampUsec != nil { + return *m.TimestampUsec + } + return 0 +} + +func (m *UserAppLogLine) GetLevel() int64 { + if m != nil && m.Level != nil { + return *m.Level + } + return 0 +} + +func (m *UserAppLogLine) GetMessage() string { + if m != nil && m.Message != nil { + return *m.Message + } + return "" +} + +type UserAppLogGroup struct { + LogLine []*UserAppLogLine `protobuf:"bytes,2,rep,name=log_line,json=logLine" json:"log_line,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserAppLogGroup) Reset() { *m = UserAppLogGroup{} } +func (m *UserAppLogGroup) String() string { return proto.CompactTextString(m) } +func (*UserAppLogGroup) ProtoMessage() {} +func (*UserAppLogGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{2} +} +func (m *UserAppLogGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserAppLogGroup.Unmarshal(m, b) +} +func (m *UserAppLogGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserAppLogGroup.Marshal(b, m, deterministic) +} +func (dst *UserAppLogGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserAppLogGroup.Merge(dst, src) +} +func (m *UserAppLogGroup) XXX_Size() int { + return xxx_messageInfo_UserAppLogGroup.Size(m) +} +func (m *UserAppLogGroup) XXX_DiscardUnknown() { + xxx_messageInfo_UserAppLogGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_UserAppLogGroup proto.InternalMessageInfo + +func (m *UserAppLogGroup) GetLogLine() []*UserAppLogLine { + if m != nil { + return m.LogLine + } + return nil +} + +type FlushRequest struct { + Logs []byte `protobuf:"bytes,1,opt,name=logs" json:"logs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FlushRequest) Reset() { *m = FlushRequest{} } +func (m *FlushRequest) String() string { return proto.CompactTextString(m) } +func (*FlushRequest) ProtoMessage() {} +func (*FlushRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{3} +} +func (m *FlushRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FlushRequest.Unmarshal(m, b) +} +func (m *FlushRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FlushRequest.Marshal(b, m, deterministic) +} +func (dst *FlushRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_FlushRequest.Merge(dst, src) +} +func (m *FlushRequest) XXX_Size() int { + return xxx_messageInfo_FlushRequest.Size(m) +} +func (m *FlushRequest) XXX_DiscardUnknown() { + xxx_messageInfo_FlushRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_FlushRequest proto.InternalMessageInfo + +func (m *FlushRequest) GetLogs() []byte { + if m != nil { + return m.Logs + } + return nil +} + +type SetStatusRequest struct { + Status *string `protobuf:"bytes,1,req,name=status" json:"status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetStatusRequest) Reset() { *m = SetStatusRequest{} } +func (m *SetStatusRequest) String() string { return proto.CompactTextString(m) } +func (*SetStatusRequest) ProtoMessage() {} +func (*SetStatusRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{4} +} +func (m *SetStatusRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetStatusRequest.Unmarshal(m, b) +} +func (m *SetStatusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetStatusRequest.Marshal(b, m, deterministic) +} +func (dst *SetStatusRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetStatusRequest.Merge(dst, src) +} +func (m *SetStatusRequest) XXX_Size() int { + return xxx_messageInfo_SetStatusRequest.Size(m) +} +func (m *SetStatusRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SetStatusRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SetStatusRequest proto.InternalMessageInfo + +func (m *SetStatusRequest) GetStatus() string { + if m != nil && m.Status != nil { + return *m.Status + } + return "" +} + +type LogOffset struct { + RequestId []byte `protobuf:"bytes,1,opt,name=request_id,json=requestId" json:"request_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogOffset) Reset() { *m = LogOffset{} } +func (m *LogOffset) String() string { return proto.CompactTextString(m) } +func (*LogOffset) ProtoMessage() {} +func (*LogOffset) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{5} +} +func (m *LogOffset) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogOffset.Unmarshal(m, b) +} +func (m *LogOffset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogOffset.Marshal(b, m, deterministic) +} +func (dst *LogOffset) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogOffset.Merge(dst, src) +} +func (m *LogOffset) XXX_Size() int { + return xxx_messageInfo_LogOffset.Size(m) +} +func (m *LogOffset) XXX_DiscardUnknown() { + xxx_messageInfo_LogOffset.DiscardUnknown(m) +} + +var xxx_messageInfo_LogOffset proto.InternalMessageInfo + +func (m *LogOffset) GetRequestId() []byte { + if m != nil { + return m.RequestId + } + return nil +} + +type LogLine struct { + Time *int64 `protobuf:"varint,1,req,name=time" json:"time,omitempty"` + Level *int32 `protobuf:"varint,2,req,name=level" json:"level,omitempty"` + LogMessage *string `protobuf:"bytes,3,req,name=log_message,json=logMessage" json:"log_message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogLine) Reset() { *m = LogLine{} } +func (m *LogLine) String() string { return proto.CompactTextString(m) } +func (*LogLine) ProtoMessage() {} +func (*LogLine) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{6} +} +func (m *LogLine) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogLine.Unmarshal(m, b) +} +func (m *LogLine) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogLine.Marshal(b, m, deterministic) +} +func (dst *LogLine) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogLine.Merge(dst, src) +} +func (m *LogLine) XXX_Size() int { + return xxx_messageInfo_LogLine.Size(m) +} +func (m *LogLine) XXX_DiscardUnknown() { + xxx_messageInfo_LogLine.DiscardUnknown(m) +} + +var xxx_messageInfo_LogLine proto.InternalMessageInfo + +func (m *LogLine) GetTime() int64 { + if m != nil && m.Time != nil { + return *m.Time + } + return 0 +} + +func (m *LogLine) GetLevel() int32 { + if m != nil && m.Level != nil { + return *m.Level + } + return 0 +} + +func (m *LogLine) GetLogMessage() string { + if m != nil && m.LogMessage != nil { + return *m.LogMessage + } + return "" +} + +type RequestLog struct { + AppId *string `protobuf:"bytes,1,req,name=app_id,json=appId" json:"app_id,omitempty"` + ModuleId *string `protobuf:"bytes,37,opt,name=module_id,json=moduleId,def=default" json:"module_id,omitempty"` + VersionId *string `protobuf:"bytes,2,req,name=version_id,json=versionId" json:"version_id,omitempty"` + RequestId []byte `protobuf:"bytes,3,req,name=request_id,json=requestId" json:"request_id,omitempty"` + Offset *LogOffset `protobuf:"bytes,35,opt,name=offset" json:"offset,omitempty"` + Ip *string `protobuf:"bytes,4,req,name=ip" json:"ip,omitempty"` + Nickname *string `protobuf:"bytes,5,opt,name=nickname" json:"nickname,omitempty"` + StartTime *int64 `protobuf:"varint,6,req,name=start_time,json=startTime" json:"start_time,omitempty"` + EndTime *int64 `protobuf:"varint,7,req,name=end_time,json=endTime" json:"end_time,omitempty"` + Latency *int64 `protobuf:"varint,8,req,name=latency" json:"latency,omitempty"` + Mcycles *int64 `protobuf:"varint,9,req,name=mcycles" json:"mcycles,omitempty"` + Method *string `protobuf:"bytes,10,req,name=method" json:"method,omitempty"` + Resource *string `protobuf:"bytes,11,req,name=resource" json:"resource,omitempty"` + HttpVersion *string `protobuf:"bytes,12,req,name=http_version,json=httpVersion" json:"http_version,omitempty"` + Status *int32 `protobuf:"varint,13,req,name=status" json:"status,omitempty"` + ResponseSize *int64 `protobuf:"varint,14,req,name=response_size,json=responseSize" json:"response_size,omitempty"` + Referrer *string `protobuf:"bytes,15,opt,name=referrer" json:"referrer,omitempty"` + UserAgent *string `protobuf:"bytes,16,opt,name=user_agent,json=userAgent" json:"user_agent,omitempty"` + UrlMapEntry *string `protobuf:"bytes,17,req,name=url_map_entry,json=urlMapEntry" json:"url_map_entry,omitempty"` + Combined *string `protobuf:"bytes,18,req,name=combined" json:"combined,omitempty"` + ApiMcycles *int64 `protobuf:"varint,19,opt,name=api_mcycles,json=apiMcycles" json:"api_mcycles,omitempty"` + Host *string `protobuf:"bytes,20,opt,name=host" json:"host,omitempty"` + Cost *float64 `protobuf:"fixed64,21,opt,name=cost" json:"cost,omitempty"` + TaskQueueName *string `protobuf:"bytes,22,opt,name=task_queue_name,json=taskQueueName" json:"task_queue_name,omitempty"` + TaskName *string `protobuf:"bytes,23,opt,name=task_name,json=taskName" json:"task_name,omitempty"` + WasLoadingRequest *bool `protobuf:"varint,24,opt,name=was_loading_request,json=wasLoadingRequest" json:"was_loading_request,omitempty"` + PendingTime *int64 `protobuf:"varint,25,opt,name=pending_time,json=pendingTime" json:"pending_time,omitempty"` + ReplicaIndex *int32 `protobuf:"varint,26,opt,name=replica_index,json=replicaIndex,def=-1" json:"replica_index,omitempty"` + Finished *bool `protobuf:"varint,27,opt,name=finished,def=1" json:"finished,omitempty"` + CloneKey []byte `protobuf:"bytes,28,opt,name=clone_key,json=cloneKey" json:"clone_key,omitempty"` + Line []*LogLine `protobuf:"bytes,29,rep,name=line" json:"line,omitempty"` + LinesIncomplete *bool `protobuf:"varint,36,opt,name=lines_incomplete,json=linesIncomplete" json:"lines_incomplete,omitempty"` + AppEngineRelease []byte `protobuf:"bytes,38,opt,name=app_engine_release,json=appEngineRelease" json:"app_engine_release,omitempty"` + ExitReason *int32 `protobuf:"varint,30,opt,name=exit_reason,json=exitReason" json:"exit_reason,omitempty"` + WasThrottledForTime *bool `protobuf:"varint,31,opt,name=was_throttled_for_time,json=wasThrottledForTime" json:"was_throttled_for_time,omitempty"` + WasThrottledForRequests *bool `protobuf:"varint,32,opt,name=was_throttled_for_requests,json=wasThrottledForRequests" json:"was_throttled_for_requests,omitempty"` + ThrottledTime *int64 `protobuf:"varint,33,opt,name=throttled_time,json=throttledTime" json:"throttled_time,omitempty"` + ServerName []byte `protobuf:"bytes,34,opt,name=server_name,json=serverName" json:"server_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RequestLog) Reset() { *m = RequestLog{} } +func (m *RequestLog) String() string { return proto.CompactTextString(m) } +func (*RequestLog) ProtoMessage() {} +func (*RequestLog) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{7} +} +func (m *RequestLog) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RequestLog.Unmarshal(m, b) +} +func (m *RequestLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RequestLog.Marshal(b, m, deterministic) +} +func (dst *RequestLog) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestLog.Merge(dst, src) +} +func (m *RequestLog) XXX_Size() int { + return xxx_messageInfo_RequestLog.Size(m) +} +func (m *RequestLog) XXX_DiscardUnknown() { + xxx_messageInfo_RequestLog.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestLog proto.InternalMessageInfo + +const Default_RequestLog_ModuleId string = "default" +const Default_RequestLog_ReplicaIndex int32 = -1 +const Default_RequestLog_Finished bool = true + +func (m *RequestLog) GetAppId() string { + if m != nil && m.AppId != nil { + return *m.AppId + } + return "" +} + +func (m *RequestLog) GetModuleId() string { + if m != nil && m.ModuleId != nil { + return *m.ModuleId + } + return Default_RequestLog_ModuleId +} + +func (m *RequestLog) GetVersionId() string { + if m != nil && m.VersionId != nil { + return *m.VersionId + } + return "" +} + +func (m *RequestLog) GetRequestId() []byte { + if m != nil { + return m.RequestId + } + return nil +} + +func (m *RequestLog) GetOffset() *LogOffset { + if m != nil { + return m.Offset + } + return nil +} + +func (m *RequestLog) GetIp() string { + if m != nil && m.Ip != nil { + return *m.Ip + } + return "" +} + +func (m *RequestLog) GetNickname() string { + if m != nil && m.Nickname != nil { + return *m.Nickname + } + return "" +} + +func (m *RequestLog) GetStartTime() int64 { + if m != nil && m.StartTime != nil { + return *m.StartTime + } + return 0 +} + +func (m *RequestLog) GetEndTime() int64 { + if m != nil && m.EndTime != nil { + return *m.EndTime + } + return 0 +} + +func (m *RequestLog) GetLatency() int64 { + if m != nil && m.Latency != nil { + return *m.Latency + } + return 0 +} + +func (m *RequestLog) GetMcycles() int64 { + if m != nil && m.Mcycles != nil { + return *m.Mcycles + } + return 0 +} + +func (m *RequestLog) GetMethod() string { + if m != nil && m.Method != nil { + return *m.Method + } + return "" +} + +func (m *RequestLog) GetResource() string { + if m != nil && m.Resource != nil { + return *m.Resource + } + return "" +} + +func (m *RequestLog) GetHttpVersion() string { + if m != nil && m.HttpVersion != nil { + return *m.HttpVersion + } + return "" +} + +func (m *RequestLog) GetStatus() int32 { + if m != nil && m.Status != nil { + return *m.Status + } + return 0 +} + +func (m *RequestLog) GetResponseSize() int64 { + if m != nil && m.ResponseSize != nil { + return *m.ResponseSize + } + return 0 +} + +func (m *RequestLog) GetReferrer() string { + if m != nil && m.Referrer != nil { + return *m.Referrer + } + return "" +} + +func (m *RequestLog) GetUserAgent() string { + if m != nil && m.UserAgent != nil { + return *m.UserAgent + } + return "" +} + +func (m *RequestLog) GetUrlMapEntry() string { + if m != nil && m.UrlMapEntry != nil { + return *m.UrlMapEntry + } + return "" +} + +func (m *RequestLog) GetCombined() string { + if m != nil && m.Combined != nil { + return *m.Combined + } + return "" +} + +func (m *RequestLog) GetApiMcycles() int64 { + if m != nil && m.ApiMcycles != nil { + return *m.ApiMcycles + } + return 0 +} + +func (m *RequestLog) GetHost() string { + if m != nil && m.Host != nil { + return *m.Host + } + return "" +} + +func (m *RequestLog) GetCost() float64 { + if m != nil && m.Cost != nil { + return *m.Cost + } + return 0 +} + +func (m *RequestLog) GetTaskQueueName() string { + if m != nil && m.TaskQueueName != nil { + return *m.TaskQueueName + } + return "" +} + +func (m *RequestLog) GetTaskName() string { + if m != nil && m.TaskName != nil { + return *m.TaskName + } + return "" +} + +func (m *RequestLog) GetWasLoadingRequest() bool { + if m != nil && m.WasLoadingRequest != nil { + return *m.WasLoadingRequest + } + return false +} + +func (m *RequestLog) GetPendingTime() int64 { + if m != nil && m.PendingTime != nil { + return *m.PendingTime + } + return 0 +} + +func (m *RequestLog) GetReplicaIndex() int32 { + if m != nil && m.ReplicaIndex != nil { + return *m.ReplicaIndex + } + return Default_RequestLog_ReplicaIndex +} + +func (m *RequestLog) GetFinished() bool { + if m != nil && m.Finished != nil { + return *m.Finished + } + return Default_RequestLog_Finished +} + +func (m *RequestLog) GetCloneKey() []byte { + if m != nil { + return m.CloneKey + } + return nil +} + +func (m *RequestLog) GetLine() []*LogLine { + if m != nil { + return m.Line + } + return nil +} + +func (m *RequestLog) GetLinesIncomplete() bool { + if m != nil && m.LinesIncomplete != nil { + return *m.LinesIncomplete + } + return false +} + +func (m *RequestLog) GetAppEngineRelease() []byte { + if m != nil { + return m.AppEngineRelease + } + return nil +} + +func (m *RequestLog) GetExitReason() int32 { + if m != nil && m.ExitReason != nil { + return *m.ExitReason + } + return 0 +} + +func (m *RequestLog) GetWasThrottledForTime() bool { + if m != nil && m.WasThrottledForTime != nil { + return *m.WasThrottledForTime + } + return false +} + +func (m *RequestLog) GetWasThrottledForRequests() bool { + if m != nil && m.WasThrottledForRequests != nil { + return *m.WasThrottledForRequests + } + return false +} + +func (m *RequestLog) GetThrottledTime() int64 { + if m != nil && m.ThrottledTime != nil { + return *m.ThrottledTime + } + return 0 +} + +func (m *RequestLog) GetServerName() []byte { + if m != nil { + return m.ServerName + } + return nil +} + +type LogModuleVersion struct { + ModuleId *string `protobuf:"bytes,1,opt,name=module_id,json=moduleId,def=default" json:"module_id,omitempty"` + VersionId *string `protobuf:"bytes,2,opt,name=version_id,json=versionId" json:"version_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogModuleVersion) Reset() { *m = LogModuleVersion{} } +func (m *LogModuleVersion) String() string { return proto.CompactTextString(m) } +func (*LogModuleVersion) ProtoMessage() {} +func (*LogModuleVersion) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{8} +} +func (m *LogModuleVersion) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogModuleVersion.Unmarshal(m, b) +} +func (m *LogModuleVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogModuleVersion.Marshal(b, m, deterministic) +} +func (dst *LogModuleVersion) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogModuleVersion.Merge(dst, src) +} +func (m *LogModuleVersion) XXX_Size() int { + return xxx_messageInfo_LogModuleVersion.Size(m) +} +func (m *LogModuleVersion) XXX_DiscardUnknown() { + xxx_messageInfo_LogModuleVersion.DiscardUnknown(m) +} + +var xxx_messageInfo_LogModuleVersion proto.InternalMessageInfo + +const Default_LogModuleVersion_ModuleId string = "default" + +func (m *LogModuleVersion) GetModuleId() string { + if m != nil && m.ModuleId != nil { + return *m.ModuleId + } + return Default_LogModuleVersion_ModuleId +} + +func (m *LogModuleVersion) GetVersionId() string { + if m != nil && m.VersionId != nil { + return *m.VersionId + } + return "" +} + +type LogReadRequest struct { + AppId *string `protobuf:"bytes,1,req,name=app_id,json=appId" json:"app_id,omitempty"` + VersionId []string `protobuf:"bytes,2,rep,name=version_id,json=versionId" json:"version_id,omitempty"` + ModuleVersion []*LogModuleVersion `protobuf:"bytes,19,rep,name=module_version,json=moduleVersion" json:"module_version,omitempty"` + StartTime *int64 `protobuf:"varint,3,opt,name=start_time,json=startTime" json:"start_time,omitempty"` + EndTime *int64 `protobuf:"varint,4,opt,name=end_time,json=endTime" json:"end_time,omitempty"` + Offset *LogOffset `protobuf:"bytes,5,opt,name=offset" json:"offset,omitempty"` + RequestId [][]byte `protobuf:"bytes,6,rep,name=request_id,json=requestId" json:"request_id,omitempty"` + MinimumLogLevel *int32 `protobuf:"varint,7,opt,name=minimum_log_level,json=minimumLogLevel" json:"minimum_log_level,omitempty"` + IncludeIncomplete *bool `protobuf:"varint,8,opt,name=include_incomplete,json=includeIncomplete" json:"include_incomplete,omitempty"` + Count *int64 `protobuf:"varint,9,opt,name=count" json:"count,omitempty"` + CombinedLogRegex *string `protobuf:"bytes,14,opt,name=combined_log_regex,json=combinedLogRegex" json:"combined_log_regex,omitempty"` + HostRegex *string `protobuf:"bytes,15,opt,name=host_regex,json=hostRegex" json:"host_regex,omitempty"` + ReplicaIndex *int32 `protobuf:"varint,16,opt,name=replica_index,json=replicaIndex" json:"replica_index,omitempty"` + IncludeAppLogs *bool `protobuf:"varint,10,opt,name=include_app_logs,json=includeAppLogs" json:"include_app_logs,omitempty"` + AppLogsPerRequest *int32 `protobuf:"varint,17,opt,name=app_logs_per_request,json=appLogsPerRequest" json:"app_logs_per_request,omitempty"` + IncludeHost *bool `protobuf:"varint,11,opt,name=include_host,json=includeHost" json:"include_host,omitempty"` + IncludeAll *bool `protobuf:"varint,12,opt,name=include_all,json=includeAll" json:"include_all,omitempty"` + CacheIterator *bool `protobuf:"varint,13,opt,name=cache_iterator,json=cacheIterator" json:"cache_iterator,omitempty"` + NumShards *int32 `protobuf:"varint,18,opt,name=num_shards,json=numShards" json:"num_shards,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogReadRequest) Reset() { *m = LogReadRequest{} } +func (m *LogReadRequest) String() string { return proto.CompactTextString(m) } +func (*LogReadRequest) ProtoMessage() {} +func (*LogReadRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{9} +} +func (m *LogReadRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogReadRequest.Unmarshal(m, b) +} +func (m *LogReadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogReadRequest.Marshal(b, m, deterministic) +} +func (dst *LogReadRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogReadRequest.Merge(dst, src) +} +func (m *LogReadRequest) XXX_Size() int { + return xxx_messageInfo_LogReadRequest.Size(m) +} +func (m *LogReadRequest) XXX_DiscardUnknown() { + xxx_messageInfo_LogReadRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_LogReadRequest proto.InternalMessageInfo + +func (m *LogReadRequest) GetAppId() string { + if m != nil && m.AppId != nil { + return *m.AppId + } + return "" +} + +func (m *LogReadRequest) GetVersionId() []string { + if m != nil { + return m.VersionId + } + return nil +} + +func (m *LogReadRequest) GetModuleVersion() []*LogModuleVersion { + if m != nil { + return m.ModuleVersion + } + return nil +} + +func (m *LogReadRequest) GetStartTime() int64 { + if m != nil && m.StartTime != nil { + return *m.StartTime + } + return 0 +} + +func (m *LogReadRequest) GetEndTime() int64 { + if m != nil && m.EndTime != nil { + return *m.EndTime + } + return 0 +} + +func (m *LogReadRequest) GetOffset() *LogOffset { + if m != nil { + return m.Offset + } + return nil +} + +func (m *LogReadRequest) GetRequestId() [][]byte { + if m != nil { + return m.RequestId + } + return nil +} + +func (m *LogReadRequest) GetMinimumLogLevel() int32 { + if m != nil && m.MinimumLogLevel != nil { + return *m.MinimumLogLevel + } + return 0 +} + +func (m *LogReadRequest) GetIncludeIncomplete() bool { + if m != nil && m.IncludeIncomplete != nil { + return *m.IncludeIncomplete + } + return false +} + +func (m *LogReadRequest) GetCount() int64 { + if m != nil && m.Count != nil { + return *m.Count + } + return 0 +} + +func (m *LogReadRequest) GetCombinedLogRegex() string { + if m != nil && m.CombinedLogRegex != nil { + return *m.CombinedLogRegex + } + return "" +} + +func (m *LogReadRequest) GetHostRegex() string { + if m != nil && m.HostRegex != nil { + return *m.HostRegex + } + return "" +} + +func (m *LogReadRequest) GetReplicaIndex() int32 { + if m != nil && m.ReplicaIndex != nil { + return *m.ReplicaIndex + } + return 0 +} + +func (m *LogReadRequest) GetIncludeAppLogs() bool { + if m != nil && m.IncludeAppLogs != nil { + return *m.IncludeAppLogs + } + return false +} + +func (m *LogReadRequest) GetAppLogsPerRequest() int32 { + if m != nil && m.AppLogsPerRequest != nil { + return *m.AppLogsPerRequest + } + return 0 +} + +func (m *LogReadRequest) GetIncludeHost() bool { + if m != nil && m.IncludeHost != nil { + return *m.IncludeHost + } + return false +} + +func (m *LogReadRequest) GetIncludeAll() bool { + if m != nil && m.IncludeAll != nil { + return *m.IncludeAll + } + return false +} + +func (m *LogReadRequest) GetCacheIterator() bool { + if m != nil && m.CacheIterator != nil { + return *m.CacheIterator + } + return false +} + +func (m *LogReadRequest) GetNumShards() int32 { + if m != nil && m.NumShards != nil { + return *m.NumShards + } + return 0 +} + +type LogReadResponse struct { + Log []*RequestLog `protobuf:"bytes,1,rep,name=log" json:"log,omitempty"` + Offset *LogOffset `protobuf:"bytes,2,opt,name=offset" json:"offset,omitempty"` + LastEndTime *int64 `protobuf:"varint,3,opt,name=last_end_time,json=lastEndTime" json:"last_end_time,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogReadResponse) Reset() { *m = LogReadResponse{} } +func (m *LogReadResponse) String() string { return proto.CompactTextString(m) } +func (*LogReadResponse) ProtoMessage() {} +func (*LogReadResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{10} +} +func (m *LogReadResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogReadResponse.Unmarshal(m, b) +} +func (m *LogReadResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogReadResponse.Marshal(b, m, deterministic) +} +func (dst *LogReadResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogReadResponse.Merge(dst, src) +} +func (m *LogReadResponse) XXX_Size() int { + return xxx_messageInfo_LogReadResponse.Size(m) +} +func (m *LogReadResponse) XXX_DiscardUnknown() { + xxx_messageInfo_LogReadResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_LogReadResponse proto.InternalMessageInfo + +func (m *LogReadResponse) GetLog() []*RequestLog { + if m != nil { + return m.Log + } + return nil +} + +func (m *LogReadResponse) GetOffset() *LogOffset { + if m != nil { + return m.Offset + } + return nil +} + +func (m *LogReadResponse) GetLastEndTime() int64 { + if m != nil && m.LastEndTime != nil { + return *m.LastEndTime + } + return 0 +} + +type LogUsageRecord struct { + VersionId *string `protobuf:"bytes,1,opt,name=version_id,json=versionId" json:"version_id,omitempty"` + StartTime *int32 `protobuf:"varint,2,opt,name=start_time,json=startTime" json:"start_time,omitempty"` + EndTime *int32 `protobuf:"varint,3,opt,name=end_time,json=endTime" json:"end_time,omitempty"` + Count *int64 `protobuf:"varint,4,opt,name=count" json:"count,omitempty"` + TotalSize *int64 `protobuf:"varint,5,opt,name=total_size,json=totalSize" json:"total_size,omitempty"` + Records *int32 `protobuf:"varint,6,opt,name=records" json:"records,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogUsageRecord) Reset() { *m = LogUsageRecord{} } +func (m *LogUsageRecord) String() string { return proto.CompactTextString(m) } +func (*LogUsageRecord) ProtoMessage() {} +func (*LogUsageRecord) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{11} +} +func (m *LogUsageRecord) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogUsageRecord.Unmarshal(m, b) +} +func (m *LogUsageRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogUsageRecord.Marshal(b, m, deterministic) +} +func (dst *LogUsageRecord) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogUsageRecord.Merge(dst, src) +} +func (m *LogUsageRecord) XXX_Size() int { + return xxx_messageInfo_LogUsageRecord.Size(m) +} +func (m *LogUsageRecord) XXX_DiscardUnknown() { + xxx_messageInfo_LogUsageRecord.DiscardUnknown(m) +} + +var xxx_messageInfo_LogUsageRecord proto.InternalMessageInfo + +func (m *LogUsageRecord) GetVersionId() string { + if m != nil && m.VersionId != nil { + return *m.VersionId + } + return "" +} + +func (m *LogUsageRecord) GetStartTime() int32 { + if m != nil && m.StartTime != nil { + return *m.StartTime + } + return 0 +} + +func (m *LogUsageRecord) GetEndTime() int32 { + if m != nil && m.EndTime != nil { + return *m.EndTime + } + return 0 +} + +func (m *LogUsageRecord) GetCount() int64 { + if m != nil && m.Count != nil { + return *m.Count + } + return 0 +} + +func (m *LogUsageRecord) GetTotalSize() int64 { + if m != nil && m.TotalSize != nil { + return *m.TotalSize + } + return 0 +} + +func (m *LogUsageRecord) GetRecords() int32 { + if m != nil && m.Records != nil { + return *m.Records + } + return 0 +} + +type LogUsageRequest struct { + AppId *string `protobuf:"bytes,1,req,name=app_id,json=appId" json:"app_id,omitempty"` + VersionId []string `protobuf:"bytes,2,rep,name=version_id,json=versionId" json:"version_id,omitempty"` + StartTime *int32 `protobuf:"varint,3,opt,name=start_time,json=startTime" json:"start_time,omitempty"` + EndTime *int32 `protobuf:"varint,4,opt,name=end_time,json=endTime" json:"end_time,omitempty"` + ResolutionHours *uint32 `protobuf:"varint,5,opt,name=resolution_hours,json=resolutionHours,def=1" json:"resolution_hours,omitempty"` + CombineVersions *bool `protobuf:"varint,6,opt,name=combine_versions,json=combineVersions" json:"combine_versions,omitempty"` + UsageVersion *int32 `protobuf:"varint,7,opt,name=usage_version,json=usageVersion" json:"usage_version,omitempty"` + VersionsOnly *bool `protobuf:"varint,8,opt,name=versions_only,json=versionsOnly" json:"versions_only,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogUsageRequest) Reset() { *m = LogUsageRequest{} } +func (m *LogUsageRequest) String() string { return proto.CompactTextString(m) } +func (*LogUsageRequest) ProtoMessage() {} +func (*LogUsageRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{12} +} +func (m *LogUsageRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogUsageRequest.Unmarshal(m, b) +} +func (m *LogUsageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogUsageRequest.Marshal(b, m, deterministic) +} +func (dst *LogUsageRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogUsageRequest.Merge(dst, src) +} +func (m *LogUsageRequest) XXX_Size() int { + return xxx_messageInfo_LogUsageRequest.Size(m) +} +func (m *LogUsageRequest) XXX_DiscardUnknown() { + xxx_messageInfo_LogUsageRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_LogUsageRequest proto.InternalMessageInfo + +const Default_LogUsageRequest_ResolutionHours uint32 = 1 + +func (m *LogUsageRequest) GetAppId() string { + if m != nil && m.AppId != nil { + return *m.AppId + } + return "" +} + +func (m *LogUsageRequest) GetVersionId() []string { + if m != nil { + return m.VersionId + } + return nil +} + +func (m *LogUsageRequest) GetStartTime() int32 { + if m != nil && m.StartTime != nil { + return *m.StartTime + } + return 0 +} + +func (m *LogUsageRequest) GetEndTime() int32 { + if m != nil && m.EndTime != nil { + return *m.EndTime + } + return 0 +} + +func (m *LogUsageRequest) GetResolutionHours() uint32 { + if m != nil && m.ResolutionHours != nil { + return *m.ResolutionHours + } + return Default_LogUsageRequest_ResolutionHours +} + +func (m *LogUsageRequest) GetCombineVersions() bool { + if m != nil && m.CombineVersions != nil { + return *m.CombineVersions + } + return false +} + +func (m *LogUsageRequest) GetUsageVersion() int32 { + if m != nil && m.UsageVersion != nil { + return *m.UsageVersion + } + return 0 +} + +func (m *LogUsageRequest) GetVersionsOnly() bool { + if m != nil && m.VersionsOnly != nil { + return *m.VersionsOnly + } + return false +} + +type LogUsageResponse struct { + Usage []*LogUsageRecord `protobuf:"bytes,1,rep,name=usage" json:"usage,omitempty"` + Summary *LogUsageRecord `protobuf:"bytes,2,opt,name=summary" json:"summary,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogUsageResponse) Reset() { *m = LogUsageResponse{} } +func (m *LogUsageResponse) String() string { return proto.CompactTextString(m) } +func (*LogUsageResponse) ProtoMessage() {} +func (*LogUsageResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_log_service_f054fd4b5012319d, []int{13} +} +func (m *LogUsageResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogUsageResponse.Unmarshal(m, b) +} +func (m *LogUsageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogUsageResponse.Marshal(b, m, deterministic) +} +func (dst *LogUsageResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogUsageResponse.Merge(dst, src) +} +func (m *LogUsageResponse) XXX_Size() int { + return xxx_messageInfo_LogUsageResponse.Size(m) +} +func (m *LogUsageResponse) XXX_DiscardUnknown() { + xxx_messageInfo_LogUsageResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_LogUsageResponse proto.InternalMessageInfo + +func (m *LogUsageResponse) GetUsage() []*LogUsageRecord { + if m != nil { + return m.Usage + } + return nil +} + +func (m *LogUsageResponse) GetSummary() *LogUsageRecord { + if m != nil { + return m.Summary + } + return nil +} + +func init() { + proto.RegisterType((*LogServiceError)(nil), "appengine.LogServiceError") + proto.RegisterType((*UserAppLogLine)(nil), "appengine.UserAppLogLine") + proto.RegisterType((*UserAppLogGroup)(nil), "appengine.UserAppLogGroup") + proto.RegisterType((*FlushRequest)(nil), "appengine.FlushRequest") + proto.RegisterType((*SetStatusRequest)(nil), "appengine.SetStatusRequest") + proto.RegisterType((*LogOffset)(nil), "appengine.LogOffset") + proto.RegisterType((*LogLine)(nil), "appengine.LogLine") + proto.RegisterType((*RequestLog)(nil), "appengine.RequestLog") + proto.RegisterType((*LogModuleVersion)(nil), "appengine.LogModuleVersion") + proto.RegisterType((*LogReadRequest)(nil), "appengine.LogReadRequest") + proto.RegisterType((*LogReadResponse)(nil), "appengine.LogReadResponse") + proto.RegisterType((*LogUsageRecord)(nil), "appengine.LogUsageRecord") + proto.RegisterType((*LogUsageRequest)(nil), "appengine.LogUsageRequest") + proto.RegisterType((*LogUsageResponse)(nil), "appengine.LogUsageResponse") +} + +func init() { + proto.RegisterFile("google.golang.org/appengine/internal/log/log_service.proto", fileDescriptor_log_service_f054fd4b5012319d) +} + +var fileDescriptor_log_service_f054fd4b5012319d = []byte{ + // 1553 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x72, 0xdb, 0xc6, + 0x15, 0x2e, 0x48, 0x51, 0x24, 0x0f, 0x49, 0x91, 0x5a, 0xcb, 0xce, 0xda, 0xae, 0x6b, 0x1a, 0x4e, + 0x1c, 0xd6, 0x93, 0x48, 0x93, 0xa4, 0x57, 0xca, 0x95, 0xd3, 0x2a, 0x8e, 0x26, 0xb4, 0xd5, 0x40, + 0x72, 0x3a, 0xd3, 0x1b, 0x0c, 0x0a, 0x1c, 0x81, 0x18, 0x2f, 0xb1, 0xc8, 0xee, 0xc2, 0x91, 0x72, + 0xdb, 0xdb, 0x3e, 0x46, 0x1f, 0xa2, 0xaf, 0xd2, 0xb7, 0xe9, 0xec, 0xd9, 0x05, 0x44, 0x2a, 0x4d, + 0xc6, 0x33, 0xb9, 0xe0, 0x10, 0xfb, 0x9d, 0x83, 0xdd, 0xf3, 0xf3, 0x9d, 0x6f, 0x01, 0xc7, 0xb9, + 0x94, 0xb9, 0xc0, 0xc3, 0x5c, 0x8a, 0xa4, 0xcc, 0x0f, 0xa5, 0xca, 0x8f, 0x92, 0xaa, 0xc2, 0x32, + 0x2f, 0x4a, 0x3c, 0x2a, 0x4a, 0x83, 0xaa, 0x4c, 0xc4, 0x91, 0x90, 0xb9, 0xfd, 0xc5, 0x1a, 0xd5, + 0xbb, 0x22, 0xc5, 0xc3, 0x4a, 0x49, 0x23, 0xd9, 0xb0, 0xf5, 0x0c, 0x5f, 0xc3, 0x74, 0x29, 0xf3, + 0x73, 0x67, 0x3e, 0x51, 0x4a, 0xaa, 0xf0, 0x4b, 0x18, 0xd2, 0xc3, 0x9f, 0x65, 0x86, 0x6c, 0x17, + 0x3a, 0x67, 0xdf, 0xce, 0x7e, 0xc7, 0xee, 0xc0, 0xf4, 0xf4, 0xf5, 0xf7, 0x2f, 0x96, 0xa7, 0x7f, + 0x89, 0xa3, 0x93, 0xef, 0xde, 0x9c, 0x9c, 0x5f, 0xcc, 0x02, 0xb6, 0x0f, 0x93, 0xf3, 0x8b, 0xb3, + 0xe8, 0xc5, 0xcb, 0x93, 0xf8, 0x24, 0x8a, 0xce, 0xa2, 0x59, 0x27, 0xcc, 0x61, 0xef, 0x8d, 0x46, + 0xf5, 0xa2, 0xaa, 0x96, 0x32, 0x5f, 0x16, 0x25, 0xb2, 0x8f, 0x60, 0xcf, 0x14, 0x6b, 0xd4, 0x26, + 0x59, 0x57, 0x71, 0xad, 0x31, 0xe5, 0xc1, 0xbc, 0xb3, 0xe8, 0x46, 0x93, 0x16, 0x7d, 0xa3, 0x31, + 0x65, 0x07, 0xd0, 0x13, 0xf8, 0x0e, 0x05, 0xef, 0x90, 0xd5, 0x2d, 0x18, 0x87, 0xfe, 0x1a, 0xb5, + 0x4e, 0x72, 0xe4, 0xdd, 0x79, 0x67, 0x31, 0x8c, 0x9a, 0x65, 0xf8, 0x12, 0xa6, 0x37, 0x07, 0xbd, + 0x54, 0xb2, 0xae, 0xd8, 0x9f, 0x60, 0x60, 0x73, 0x15, 0x45, 0x89, 0xbc, 0x33, 0xef, 0x2e, 0x46, + 0x9f, 0xdf, 0x3f, 0x6c, 0x33, 0x3d, 0xdc, 0x0e, 0x2b, 0xea, 0x0b, 0xf7, 0x10, 0x86, 0x30, 0xfe, + 0x5a, 0xd4, 0x7a, 0x15, 0xe1, 0x0f, 0x35, 0x6a, 0xc3, 0x18, 0xec, 0x08, 0x99, 0x6b, 0x1e, 0xcc, + 0x83, 0xc5, 0x38, 0xa2, 0xe7, 0xf0, 0x39, 0xcc, 0xce, 0xd1, 0x9c, 0x9b, 0xc4, 0xd4, 0xba, 0xf1, + 0xbb, 0x07, 0xbb, 0x9a, 0x00, 0xca, 0x67, 0x18, 0xf9, 0x55, 0xf8, 0x1c, 0x86, 0x4b, 0x99, 0x9f, + 0x5d, 0x5e, 0x6a, 0x34, 0xec, 0x11, 0x80, 0x72, 0xfe, 0x71, 0x91, 0xf9, 0x2d, 0x87, 0x1e, 0x39, + 0xcd, 0xc2, 0x0b, 0xe8, 0x37, 0x65, 0x62, 0xb0, 0x63, 0x0b, 0xe2, 0x8b, 0x43, 0xcf, 0xdb, 0x35, + 0xe9, 0x35, 0x35, 0x79, 0x0c, 0x23, 0x9b, 0xe6, 0x76, 0x5d, 0x40, 0xc8, 0xfc, 0x95, 0x2f, 0xcd, + 0x3f, 0x01, 0xc0, 0x47, 0xb9, 0x94, 0x39, 0xbb, 0x0b, 0xbb, 0x49, 0x55, 0xb9, 0xf3, 0xad, 0x6b, + 0x2f, 0xa9, 0xaa, 0xd3, 0x8c, 0x7d, 0x08, 0xc3, 0xb5, 0xcc, 0x6a, 0x81, 0xd6, 0xf2, 0xd1, 0x3c, + 0x58, 0x0c, 0x8f, 0xfb, 0x19, 0x5e, 0x26, 0xb5, 0x30, 0xd1, 0xc0, 0x59, 0x4e, 0x33, 0x9b, 0xc0, + 0x3b, 0x54, 0xba, 0x90, 0xa5, 0x75, 0xeb, 0xd0, 0x06, 0x43, 0x8f, 0x38, 0xf3, 0x46, 0x7e, 0x36, + 0x94, 0xcd, 0xfc, 0xd8, 0x27, 0xb0, 0x2b, 0xa9, 0x10, 0xfc, 0xe9, 0x3c, 0x58, 0x8c, 0x3e, 0x3f, + 0xd8, 0xe8, 0x47, 0x5b, 0xa4, 0xc8, 0xfb, 0xb0, 0x3d, 0xe8, 0x14, 0x15, 0xdf, 0xa1, 0x33, 0x3a, + 0x45, 0xc5, 0x1e, 0xc0, 0xa0, 0x2c, 0xd2, 0xb7, 0x65, 0xb2, 0x46, 0xde, 0xb3, 0x01, 0x46, 0xed, + 0xda, 0x1e, 0xac, 0x4d, 0xa2, 0x4c, 0x4c, 0x45, 0xdb, 0xa5, 0xa2, 0x0d, 0x09, 0xb9, 0xb0, 0x95, + 0xbb, 0x0f, 0x03, 0x2c, 0x33, 0x67, 0xec, 0x93, 0xb1, 0x8f, 0x65, 0x46, 0x26, 0x0e, 0x7d, 0x91, + 0x18, 0x2c, 0xd3, 0x6b, 0x3e, 0x70, 0x16, 0xbf, 0x24, 0xb2, 0xa5, 0xd7, 0xa9, 0x40, 0xcd, 0x87, + 0xce, 0xe2, 0x97, 0xb6, 0xd7, 0x6b, 0x34, 0x2b, 0x99, 0x71, 0x70, 0xbd, 0x76, 0x2b, 0x1b, 0xa1, + 0x42, 0x2d, 0x6b, 0x95, 0x22, 0x1f, 0x91, 0xa5, 0x5d, 0xb3, 0x27, 0x30, 0x5e, 0x19, 0x53, 0xc5, + 0xbe, 0x58, 0x7c, 0x4c, 0xf6, 0x91, 0xc5, 0xbe, 0x77, 0xd0, 0x06, 0x85, 0x26, 0xd4, 0x60, 0xbf, + 0x62, 0x4f, 0x61, 0xa2, 0x50, 0x57, 0xb2, 0xd4, 0x18, 0xeb, 0xe2, 0x27, 0xe4, 0x7b, 0x14, 0xce, + 0xb8, 0x01, 0xcf, 0x8b, 0x9f, 0xd0, 0x9d, 0x7d, 0x89, 0x4a, 0xa1, 0xe2, 0x53, 0x57, 0x9d, 0x66, + 0x6d, 0xab, 0x53, 0x6b, 0x54, 0x71, 0x92, 0x63, 0x69, 0xf8, 0x8c, 0xac, 0x43, 0x8b, 0xbc, 0xb0, + 0x00, 0x0b, 0x61, 0x52, 0x2b, 0x11, 0xaf, 0x93, 0x2a, 0xc6, 0xd2, 0xa8, 0x6b, 0xbe, 0xef, 0x62, + 0xab, 0x95, 0x78, 0x95, 0x54, 0x27, 0x16, 0xb2, 0xdb, 0xa7, 0x72, 0xfd, 0x8f, 0xa2, 0xc4, 0x8c, + 0x33, 0x97, 0x5a, 0xb3, 0xb6, 0x0c, 0x4c, 0xaa, 0x22, 0x6e, 0x8a, 0x75, 0x67, 0x1e, 0x2c, 0xba, + 0x11, 0x24, 0x55, 0xf1, 0xca, 0xd7, 0x8b, 0xc1, 0xce, 0x4a, 0x6a, 0xc3, 0x0f, 0xe8, 0x64, 0x7a, + 0xb6, 0x58, 0x6a, 0xb1, 0xbb, 0xf3, 0x60, 0x11, 0x44, 0xf4, 0xcc, 0x9e, 0xc1, 0xd4, 0x24, 0xfa, + 0x6d, 0xfc, 0x43, 0x8d, 0x35, 0xc6, 0xd4, 0xe8, 0x7b, 0xf4, 0xca, 0xc4, 0xc2, 0xdf, 0x59, 0xf4, + 0xb5, 0xed, 0xf6, 0x43, 0x18, 0x92, 0x1f, 0x79, 0x7c, 0xe0, 0x92, 0xb5, 0x00, 0x19, 0x0f, 0xe1, + 0xce, 0x8f, 0x89, 0x8e, 0x85, 0x4c, 0xb2, 0xa2, 0xcc, 0x63, 0xcf, 0x3e, 0xce, 0xe7, 0xc1, 0x62, + 0x10, 0xed, 0xff, 0x98, 0xe8, 0xa5, 0xb3, 0x34, 0x83, 0xfb, 0x04, 0xc6, 0x15, 0x96, 0xe4, 0x4b, + 0xfc, 0xb8, 0x4f, 0xe1, 0x8f, 0x3c, 0x46, 0x1c, 0xf9, 0xd8, 0x36, 0xa0, 0x12, 0x45, 0x9a, 0xc4, + 0x45, 0x99, 0xe1, 0x15, 0x7f, 0x30, 0x0f, 0x16, 0xbd, 0xe3, 0xce, 0xa7, 0x9f, 0xd9, 0x26, 0x90, + 0xe1, 0xd4, 0xe2, 0x6c, 0x0e, 0x83, 0xcb, 0xa2, 0x2c, 0xf4, 0x0a, 0x33, 0xfe, 0xd0, 0x1e, 0x78, + 0xbc, 0x63, 0x54, 0x8d, 0x51, 0x8b, 0xda, 0xd0, 0x53, 0x21, 0x4b, 0x8c, 0xdf, 0xe2, 0x35, 0xff, + 0x3d, 0x09, 0xc0, 0x80, 0x80, 0x6f, 0xf1, 0x9a, 0x3d, 0x83, 0x1d, 0x52, 0xab, 0x47, 0xa4, 0x56, + 0x6c, 0x7b, 0x3a, 0x48, 0xa6, 0xc8, 0xce, 0xfe, 0x08, 0x33, 0xfb, 0xaf, 0xe3, 0xa2, 0x4c, 0xe5, + 0xba, 0x12, 0x68, 0x90, 0x7f, 0x48, 0xf9, 0x4d, 0x09, 0x3f, 0x6d, 0x61, 0xf6, 0x09, 0x30, 0x3b, + 0xed, 0x6e, 0x9b, 0x58, 0xa1, 0xc0, 0x44, 0x23, 0x7f, 0x46, 0x07, 0xcf, 0x92, 0xaa, 0x3a, 0x21, + 0x43, 0xe4, 0x70, 0xdb, 0x49, 0xbc, 0x2a, 0x4c, 0xac, 0x30, 0xd1, 0xb2, 0xe4, 0x7f, 0xb0, 0x69, + 0x46, 0x60, 0xa1, 0x88, 0x10, 0xf6, 0x05, 0xdc, 0xb3, 0xc5, 0x35, 0x2b, 0x25, 0x8d, 0x11, 0x98, + 0xc5, 0x97, 0x52, 0xb9, 0xb2, 0x3d, 0xa6, 0xf3, 0x6d, 0xe9, 0x2f, 0x1a, 0xe3, 0xd7, 0x52, 0x51, + 0xf9, 0xbe, 0x84, 0x07, 0x3f, 0x7f, 0xc9, 0xf7, 0x45, 0xf3, 0x39, 0xbd, 0xf8, 0xc1, 0xad, 0x17, + 0x7d, 0x77, 0x34, 0xdd, 0x17, 0xed, 0x8b, 0x74, 0xd2, 0x13, 0x6a, 0xd0, 0xa4, 0x45, 0xe9, 0x8c, + 0xc7, 0x30, 0xb2, 0x97, 0x1a, 0x2a, 0x47, 0x8a, 0x90, 0x12, 0x04, 0x07, 0x59, 0x5a, 0x84, 0x7f, + 0x83, 0xd9, 0x52, 0xe6, 0xaf, 0x48, 0xc8, 0x9a, 0x81, 0xdb, 0xd2, 0xbc, 0xe0, 0x7d, 0x35, 0x2f, + 0xd8, 0xd2, 0xbc, 0xf0, 0xbf, 0x3d, 0xd8, 0x5b, 0xca, 0x3c, 0xc2, 0x24, 0x6b, 0x28, 0xf5, 0x0b, + 0x12, 0x7b, 0x7b, 0xa3, 0xee, 0xb6, 0x78, 0x7e, 0x05, 0x7b, 0x3e, 0x9a, 0x46, 0x23, 0xee, 0x10, + 0x0f, 0x1e, 0x6e, 0xf3, 0x60, 0x2b, 0x85, 0x68, 0xb2, 0xde, 0xca, 0x68, 0x5b, 0x07, 0xbb, 0x54, + 0xa9, 0x5f, 0xd0, 0xc1, 0x1d, 0x32, 0xb6, 0x3a, 0x78, 0xa3, 0xcd, 0xbd, 0xf7, 0xd0, 0xe6, 0x6d, + 0xa1, 0xdf, 0x9d, 0x77, 0xb7, 0x85, 0xfe, 0x39, 0xec, 0xaf, 0x8b, 0xb2, 0x58, 0xd7, 0xeb, 0x98, + 0xae, 0x60, 0xba, 0xb5, 0xfa, 0xc4, 0xa6, 0xa9, 0x37, 0x58, 0x46, 0xd3, 0xfd, 0xf5, 0x29, 0xb0, + 0xa2, 0x4c, 0x45, 0x9d, 0xe1, 0x26, 0x9d, 0x07, 0x6e, 0x5c, 0xbd, 0x65, 0x83, 0xd0, 0x07, 0xd0, + 0x4b, 0x65, 0x5d, 0x1a, 0x3e, 0xa4, 0xf8, 0xdd, 0xc2, 0xd2, 0xbc, 0x91, 0x23, 0x3a, 0x51, 0x61, + 0x8e, 0x57, 0x7c, 0x8f, 0x7a, 0x35, 0x6b, 0x2c, 0xd4, 0xa5, 0x1c, 0xaf, 0x6c, 0xf4, 0x56, 0x83, + 0xbc, 0x97, 0x53, 0xcb, 0xa1, 0x45, 0x9c, 0xf9, 0xe9, 0xed, 0x71, 0x9f, 0x51, 0xe4, 0xdb, 0xa3, + 0xbe, 0x80, 0x59, 0x13, 0xb6, 0xed, 0x35, 0x7d, 0x23, 0x00, 0x05, 0xbd, 0xe7, 0x71, 0xf7, 0x75, + 0xa1, 0xd9, 0x11, 0x1c, 0x34, 0x1e, 0x71, 0x85, 0x2d, 0xf3, 0xf9, 0x3e, 0xed, 0xba, 0x9f, 0x38, + 0xb7, 0xbf, 0xa2, 0xda, 0x50, 0xa4, 0x66, 0x6b, 0x92, 0xcd, 0x11, 0x6d, 0x3b, 0xf2, 0xd8, 0x37, + 0x56, 0x29, 0x1f, 0xc3, 0xa8, 0x3d, 0x5d, 0x08, 0x3e, 0x26, 0x0f, 0x68, 0x0e, 0x16, 0xc2, 0x8e, + 0x4d, 0x9a, 0xa4, 0x2b, 0x8c, 0x0b, 0x83, 0x2a, 0x31, 0x52, 0xf1, 0x09, 0xf9, 0x4c, 0x08, 0x3d, + 0xf5, 0xa0, 0xad, 0x44, 0x59, 0xaf, 0x63, 0xbd, 0x4a, 0x54, 0xa6, 0x39, 0xa3, 0x88, 0x86, 0x65, + 0xbd, 0x3e, 0x27, 0x20, 0xfc, 0x57, 0x40, 0xdf, 0x83, 0x8e, 0xdb, 0xee, 0xb2, 0x61, 0x1f, 0x43, + 0x57, 0xc8, 0x9c, 0x07, 0xc4, 0xcd, 0xbb, 0x1b, 0x2c, 0xb9, 0xf9, 0xc6, 0x88, 0xac, 0xc7, 0x06, + 0xa3, 0x3a, 0xef, 0xc1, 0xa8, 0x10, 0x26, 0x22, 0xd1, 0x26, 0x6e, 0xf9, 0xe9, 0xc8, 0x3b, 0xb2, + 0xe0, 0x89, 0xe3, 0x68, 0xf8, 0x9f, 0x80, 0x46, 0xed, 0x8d, 0xfd, 0xac, 0x89, 0x30, 0x95, 0xea, + 0xf6, 0x4c, 0x05, 0xb7, 0x86, 0xf3, 0xd6, 0x3c, 0x74, 0x5c, 0x7e, 0xff, 0x7f, 0x1e, 0xba, 0x64, + 0x6c, 0xe7, 0xa1, 0xe5, 0xd9, 0xce, 0x26, 0xcf, 0x1e, 0x01, 0x18, 0x69, 0x12, 0xe1, 0xee, 0xe1, + 0x9e, 0x9b, 0x2f, 0x42, 0xe8, 0x12, 0xe6, 0xd0, 0x57, 0x14, 0x97, 0xe6, 0xbb, 0x6e, 0x3b, 0xbf, + 0x0c, 0xff, 0xdd, 0xa1, 0x4a, 0xfa, 0xd0, 0x7f, 0x8b, 0x4c, 0xfc, 0x7c, 0xc4, 0x7b, 0xbf, 0x36, + 0xe2, 0xbd, 0xcd, 0x11, 0x9f, 0xd9, 0xcf, 0x11, 0x51, 0x1b, 0xbb, 0xf7, 0x4a, 0xd6, 0x4a, 0x53, + 0x0a, 0x93, 0xe3, 0xe0, 0xb3, 0x68, 0x7a, 0x63, 0xfa, 0xc6, 0x5a, 0xec, 0x25, 0xe3, 0x07, 0xa7, + 0xd1, 0x23, 0x97, 0xd4, 0x20, 0x9a, 0x7a, 0xdc, 0x8b, 0x0e, 0x7d, 0xa0, 0xd4, 0x36, 0xb1, 0x56, + 0xb8, 0xdc, 0xa8, 0x8f, 0x09, 0x6c, 0xa4, 0xe9, 0x29, 0x4c, 0x9a, 0x7d, 0x62, 0x59, 0x8a, 0x6b, + 0x3f, 0xe2, 0xe3, 0x06, 0x3c, 0x2b, 0xc5, 0x75, 0x78, 0x45, 0x2a, 0xed, 0xab, 0xe4, 0x09, 0x77, + 0x04, 0x3d, 0xda, 0xc8, 0x53, 0xee, 0xfe, 0x36, 0x8d, 0x36, 0xc8, 0x10, 0x39, 0x3f, 0xf6, 0x05, + 0xf4, 0x75, 0xbd, 0x5e, 0x27, 0xea, 0xda, 0x33, 0xef, 0x57, 0x5e, 0x69, 0x3c, 0xbf, 0xea, 0xfd, + 0xdd, 0x92, 0xf6, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x70, 0xd9, 0xa0, 0xf8, 0x48, 0x0d, 0x00, + 0x00, +} diff --git a/vendor/google.golang.org/appengine/internal/log/log_service.proto b/vendor/google.golang.org/appengine/internal/log/log_service.proto new file mode 100644 index 000000000..8981dc475 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/log/log_service.proto @@ -0,0 +1,150 @@ +syntax = "proto2"; +option go_package = "log"; + +package appengine; + +message LogServiceError { + enum ErrorCode { + OK = 0; + INVALID_REQUEST = 1; + STORAGE_ERROR = 2; + } +} + +message UserAppLogLine { + required int64 timestamp_usec = 1; + required int64 level = 2; + required string message = 3; +} + +message UserAppLogGroup { + repeated UserAppLogLine log_line = 2; +} + +message FlushRequest { + optional bytes logs = 1; +} + +message SetStatusRequest { + required string status = 1; +} + + +message LogOffset { + optional bytes request_id = 1; +} + +message LogLine { + required int64 time = 1; + required int32 level = 2; + required string log_message = 3; +} + +message RequestLog { + required string app_id = 1; + optional string module_id = 37 [default="default"]; + required string version_id = 2; + required bytes request_id = 3; + optional LogOffset offset = 35; + required string ip = 4; + optional string nickname = 5; + required int64 start_time = 6; + required int64 end_time = 7; + required int64 latency = 8; + required int64 mcycles = 9; + required string method = 10; + required string resource = 11; + required string http_version = 12; + required int32 status = 13; + required int64 response_size = 14; + optional string referrer = 15; + optional string user_agent = 16; + required string url_map_entry = 17; + required string combined = 18; + optional int64 api_mcycles = 19; + optional string host = 20; + optional double cost = 21; + + optional string task_queue_name = 22; + optional string task_name = 23; + + optional bool was_loading_request = 24; + optional int64 pending_time = 25; + optional int32 replica_index = 26 [default = -1]; + optional bool finished = 27 [default = true]; + optional bytes clone_key = 28; + + repeated LogLine line = 29; + + optional bool lines_incomplete = 36; + optional bytes app_engine_release = 38; + + optional int32 exit_reason = 30; + optional bool was_throttled_for_time = 31; + optional bool was_throttled_for_requests = 32; + optional int64 throttled_time = 33; + + optional bytes server_name = 34; +} + +message LogModuleVersion { + optional string module_id = 1 [default="default"]; + optional string version_id = 2; +} + +message LogReadRequest { + required string app_id = 1; + repeated string version_id = 2; + repeated LogModuleVersion module_version = 19; + + optional int64 start_time = 3; + optional int64 end_time = 4; + optional LogOffset offset = 5; + repeated bytes request_id = 6; + + optional int32 minimum_log_level = 7; + optional bool include_incomplete = 8; + optional int64 count = 9; + + optional string combined_log_regex = 14; + optional string host_regex = 15; + optional int32 replica_index = 16; + + optional bool include_app_logs = 10; + optional int32 app_logs_per_request = 17; + optional bool include_host = 11; + optional bool include_all = 12; + optional bool cache_iterator = 13; + optional int32 num_shards = 18; +} + +message LogReadResponse { + repeated RequestLog log = 1; + optional LogOffset offset = 2; + optional int64 last_end_time = 3; +} + +message LogUsageRecord { + optional string version_id = 1; + optional int32 start_time = 2; + optional int32 end_time = 3; + optional int64 count = 4; + optional int64 total_size = 5; + optional int32 records = 6; +} + +message LogUsageRequest { + required string app_id = 1; + repeated string version_id = 2; + optional int32 start_time = 3; + optional int32 end_time = 4; + optional uint32 resolution_hours = 5 [default = 1]; + optional bool combine_versions = 6; + optional int32 usage_version = 7; + optional bool versions_only = 8; +} + +message LogUsageResponse { + repeated LogUsageRecord usage = 1; + optional LogUsageRecord summary = 2; +} diff --git a/vendor/google.golang.org/appengine/internal/main.go b/vendor/google.golang.org/appengine/internal/main.go new file mode 100644 index 000000000..1e765312f --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/main.go @@ -0,0 +1,16 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build appengine + +package internal + +import ( + "appengine_internal" +) + +func Main() { + MainPath = "" + appengine_internal.Main() +} diff --git a/vendor/google.golang.org/appengine/internal/main_common.go b/vendor/google.golang.org/appengine/internal/main_common.go new file mode 100644 index 000000000..357dce4dd --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/main_common.go @@ -0,0 +1,7 @@ +package internal + +// MainPath stores the file path of the main package. On App Engine Standard +// using Go version 1.9 and below, this will be unset. On App Engine Flex and +// App Engine Standard second-gen (Go 1.11 and above), this will be the +// filepath to package main. +var MainPath string diff --git a/vendor/google.golang.org/appengine/internal/main_vm.go b/vendor/google.golang.org/appengine/internal/main_vm.go new file mode 100644 index 000000000..ddb79a333 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/main_vm.go @@ -0,0 +1,69 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// +build !appengine + +package internal + +import ( + "io" + "log" + "net/http" + "net/url" + "os" + "path/filepath" + "runtime" +) + +func Main() { + MainPath = filepath.Dir(findMainPath()) + installHealthChecker(http.DefaultServeMux) + + port := "8080" + if s := os.Getenv("PORT"); s != "" { + port = s + } + + host := "" + if IsDevAppServer() { + host = "127.0.0.1" + } + if err := http.ListenAndServe(host+":"+port, http.HandlerFunc(handleHTTP)); err != nil { + log.Fatalf("http.ListenAndServe: %v", err) + } +} + +// Find the path to package main by looking at the root Caller. +func findMainPath() string { + pc := make([]uintptr, 100) + n := runtime.Callers(2, pc) + frames := runtime.CallersFrames(pc[:n]) + for { + frame, more := frames.Next() + // Tests won't have package main, instead they have testing.tRunner + if frame.Function == "main.main" || frame.Function == "testing.tRunner" { + return frame.File + } + if !more { + break + } + } + return "" +} + +func installHealthChecker(mux *http.ServeMux) { + // If no health check handler has been installed by this point, add a trivial one. + const healthPath = "/_ah/health" + hreq := &http.Request{ + Method: "GET", + URL: &url.URL{ + Path: healthPath, + }, + } + if _, pat := mux.Handler(hreq); pat != healthPath { + mux.HandleFunc(healthPath, func(w http.ResponseWriter, r *http.Request) { + io.WriteString(w, "ok") + }) + } +} diff --git a/vendor/google.golang.org/appengine/internal/metadata.go b/vendor/google.golang.org/appengine/internal/metadata.go new file mode 100644 index 000000000..c4ba63bb4 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/metadata.go @@ -0,0 +1,60 @@ +// Copyright 2014 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package internal + +// This file has code for accessing metadata. +// +// References: +// https://cloud.google.com/compute/docs/metadata + +import ( + "fmt" + "io/ioutil" + "net/http" + "net/url" +) + +const ( + metadataHost = "metadata" + metadataPath = "/computeMetadata/v1/" +) + +var ( + metadataRequestHeaders = http.Header{ + "Metadata-Flavor": []string{"Google"}, + } +) + +// TODO(dsymonds): Do we need to support default values, like Python? +func mustGetMetadata(key string) []byte { + b, err := getMetadata(key) + if err != nil { + panic(fmt.Sprintf("Metadata fetch failed for '%s': %v", key, err)) + } + return b +} + +func getMetadata(key string) ([]byte, error) { + // TODO(dsymonds): May need to use url.Parse to support keys with query args. + req := &http.Request{ + Method: "GET", + URL: &url.URL{ + Scheme: "http", + Host: metadataHost, + Path: metadataPath + key, + }, + Header: metadataRequestHeaders, + Host: metadataHost, + } + resp, err := http.DefaultClient.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + if resp.StatusCode != 200 { + return nil, fmt.Errorf("metadata server returned HTTP %d", resp.StatusCode) + } + return ioutil.ReadAll(resp.Body) +} diff --git a/vendor/google.golang.org/appengine/internal/net.go b/vendor/google.golang.org/appengine/internal/net.go new file mode 100644 index 000000000..fe429720e --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/net.go @@ -0,0 +1,56 @@ +// Copyright 2014 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package internal + +// This file implements a network dialer that limits the number of concurrent connections. +// It is only used for API calls. + +import ( + "log" + "net" + "runtime" + "sync" + "time" +) + +var limitSem = make(chan int, 100) // TODO(dsymonds): Use environment variable. + +func limitRelease() { + // non-blocking + select { + case <-limitSem: + default: + // This should not normally happen. + log.Print("appengine: unbalanced limitSem release!") + } +} + +func limitDial(network, addr string) (net.Conn, error) { + limitSem <- 1 + + // Dial with a timeout in case the API host is MIA. + // The connection should normally be very fast. + conn, err := net.DialTimeout(network, addr, 10*time.Second) + if err != nil { + limitRelease() + return nil, err + } + lc := &limitConn{Conn: conn} + runtime.SetFinalizer(lc, (*limitConn).Close) // shouldn't usually be required + return lc, nil +} + +type limitConn struct { + close sync.Once + net.Conn +} + +func (lc *limitConn) Close() error { + defer lc.close.Do(func() { + limitRelease() + runtime.SetFinalizer(lc, nil) + }) + return lc.Conn.Close() +} diff --git a/vendor/google.golang.org/appengine/internal/regen.sh b/vendor/google.golang.org/appengine/internal/regen.sh new file mode 100644 index 000000000..2fdb546a6 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/regen.sh @@ -0,0 +1,40 @@ +#!/bin/bash -e +# +# This script rebuilds the generated code for the protocol buffers. +# To run this you will need protoc and goprotobuf installed; +# see https://github.com/golang/protobuf for instructions. + +PKG=google.golang.org/appengine + +function die() { + echo 1>&2 $* + exit 1 +} + +# Sanity check that the right tools are accessible. +for tool in go protoc protoc-gen-go; do + q=$(which $tool) || die "didn't find $tool" + echo 1>&2 "$tool: $q" +done + +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 + +# Run protoc once per package. +for dir in $(find $PKG/internal -name '*.proto' | xargs dirname | sort | uniq); do + echo 1>&2 "* $dir" + protoc --go_out=. $dir/*.proto +done + +for f in $(find $PKG/internal -name '*.pb.go'); do + # Remove proto.RegisterEnum calls. + # These cause duplicate registration panics when these packages + # are used on classic App Engine. proto.RegisterEnum only affects + # parsing the text format; we don't care about that. + # https://code.google.com/p/googleappengine/issues/detail?id=11670#c17 + sed -i '/proto.RegisterEnum/d' $f +done diff --git a/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go b/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go new file mode 100644 index 000000000..8d782a38e --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go @@ -0,0 +1,361 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google.golang.org/appengine/internal/remote_api/remote_api.proto + +package remote_api + +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 RpcError_ErrorCode int32 + +const ( + RpcError_UNKNOWN RpcError_ErrorCode = 0 + RpcError_CALL_NOT_FOUND RpcError_ErrorCode = 1 + RpcError_PARSE_ERROR RpcError_ErrorCode = 2 + RpcError_SECURITY_VIOLATION RpcError_ErrorCode = 3 + RpcError_OVER_QUOTA RpcError_ErrorCode = 4 + RpcError_REQUEST_TOO_LARGE RpcError_ErrorCode = 5 + RpcError_CAPABILITY_DISABLED RpcError_ErrorCode = 6 + RpcError_FEATURE_DISABLED RpcError_ErrorCode = 7 + RpcError_BAD_REQUEST RpcError_ErrorCode = 8 + RpcError_RESPONSE_TOO_LARGE RpcError_ErrorCode = 9 + RpcError_CANCELLED RpcError_ErrorCode = 10 + RpcError_REPLAY_ERROR RpcError_ErrorCode = 11 + RpcError_DEADLINE_EXCEEDED RpcError_ErrorCode = 12 +) + +var RpcError_ErrorCode_name = map[int32]string{ + 0: "UNKNOWN", + 1: "CALL_NOT_FOUND", + 2: "PARSE_ERROR", + 3: "SECURITY_VIOLATION", + 4: "OVER_QUOTA", + 5: "REQUEST_TOO_LARGE", + 6: "CAPABILITY_DISABLED", + 7: "FEATURE_DISABLED", + 8: "BAD_REQUEST", + 9: "RESPONSE_TOO_LARGE", + 10: "CANCELLED", + 11: "REPLAY_ERROR", + 12: "DEADLINE_EXCEEDED", +} +var RpcError_ErrorCode_value = map[string]int32{ + "UNKNOWN": 0, + "CALL_NOT_FOUND": 1, + "PARSE_ERROR": 2, + "SECURITY_VIOLATION": 3, + "OVER_QUOTA": 4, + "REQUEST_TOO_LARGE": 5, + "CAPABILITY_DISABLED": 6, + "FEATURE_DISABLED": 7, + "BAD_REQUEST": 8, + "RESPONSE_TOO_LARGE": 9, + "CANCELLED": 10, + "REPLAY_ERROR": 11, + "DEADLINE_EXCEEDED": 12, +} + +func (x RpcError_ErrorCode) Enum() *RpcError_ErrorCode { + p := new(RpcError_ErrorCode) + *p = x + return p +} +func (x RpcError_ErrorCode) String() string { + return proto.EnumName(RpcError_ErrorCode_name, int32(x)) +} +func (x *RpcError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(RpcError_ErrorCode_value, data, "RpcError_ErrorCode") + if err != nil { + return err + } + *x = RpcError_ErrorCode(value) + return nil +} +func (RpcError_ErrorCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_remote_api_1978114ec33a273d, []int{2, 0} +} + +type Request struct { + ServiceName *string `protobuf:"bytes,2,req,name=service_name,json=serviceName" json:"service_name,omitempty"` + Method *string `protobuf:"bytes,3,req,name=method" json:"method,omitempty"` + Request []byte `protobuf:"bytes,4,req,name=request" json:"request,omitempty"` + RequestId *string `protobuf:"bytes,5,opt,name=request_id,json=requestId" json:"request_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Request) Reset() { *m = Request{} } +func (m *Request) String() string { return proto.CompactTextString(m) } +func (*Request) ProtoMessage() {} +func (*Request) Descriptor() ([]byte, []int) { + return fileDescriptor_remote_api_1978114ec33a273d, []int{0} +} +func (m *Request) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Request.Unmarshal(m, b) +} +func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Request.Marshal(b, m, deterministic) +} +func (dst *Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_Request.Merge(dst, src) +} +func (m *Request) XXX_Size() int { + return xxx_messageInfo_Request.Size(m) +} +func (m *Request) XXX_DiscardUnknown() { + xxx_messageInfo_Request.DiscardUnknown(m) +} + +var xxx_messageInfo_Request proto.InternalMessageInfo + +func (m *Request) GetServiceName() string { + if m != nil && m.ServiceName != nil { + return *m.ServiceName + } + return "" +} + +func (m *Request) GetMethod() string { + if m != nil && m.Method != nil { + return *m.Method + } + return "" +} + +func (m *Request) GetRequest() []byte { + if m != nil { + return m.Request + } + return nil +} + +func (m *Request) GetRequestId() string { + if m != nil && m.RequestId != nil { + return *m.RequestId + } + return "" +} + +type ApplicationError struct { + Code *int32 `protobuf:"varint,1,req,name=code" json:"code,omitempty"` + Detail *string `protobuf:"bytes,2,req,name=detail" json:"detail,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApplicationError) Reset() { *m = ApplicationError{} } +func (m *ApplicationError) String() string { return proto.CompactTextString(m) } +func (*ApplicationError) ProtoMessage() {} +func (*ApplicationError) Descriptor() ([]byte, []int) { + return fileDescriptor_remote_api_1978114ec33a273d, []int{1} +} +func (m *ApplicationError) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationError.Unmarshal(m, b) +} +func (m *ApplicationError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationError.Marshal(b, m, deterministic) +} +func (dst *ApplicationError) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationError.Merge(dst, src) +} +func (m *ApplicationError) XXX_Size() int { + return xxx_messageInfo_ApplicationError.Size(m) +} +func (m *ApplicationError) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationError.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationError proto.InternalMessageInfo + +func (m *ApplicationError) GetCode() int32 { + if m != nil && m.Code != nil { + return *m.Code + } + return 0 +} + +func (m *ApplicationError) GetDetail() string { + if m != nil && m.Detail != nil { + return *m.Detail + } + return "" +} + +type RpcError struct { + Code *int32 `protobuf:"varint,1,req,name=code" json:"code,omitempty"` + Detail *string `protobuf:"bytes,2,opt,name=detail" json:"detail,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RpcError) Reset() { *m = RpcError{} } +func (m *RpcError) String() string { return proto.CompactTextString(m) } +func (*RpcError) ProtoMessage() {} +func (*RpcError) Descriptor() ([]byte, []int) { + return fileDescriptor_remote_api_1978114ec33a273d, []int{2} +} +func (m *RpcError) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RpcError.Unmarshal(m, b) +} +func (m *RpcError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RpcError.Marshal(b, m, deterministic) +} +func (dst *RpcError) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcError.Merge(dst, src) +} +func (m *RpcError) XXX_Size() int { + return xxx_messageInfo_RpcError.Size(m) +} +func (m *RpcError) XXX_DiscardUnknown() { + xxx_messageInfo_RpcError.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcError proto.InternalMessageInfo + +func (m *RpcError) GetCode() int32 { + if m != nil && m.Code != nil { + return *m.Code + } + return 0 +} + +func (m *RpcError) GetDetail() string { + if m != nil && m.Detail != nil { + return *m.Detail + } + return "" +} + +type Response struct { + Response []byte `protobuf:"bytes,1,opt,name=response" json:"response,omitempty"` + Exception []byte `protobuf:"bytes,2,opt,name=exception" json:"exception,omitempty"` + ApplicationError *ApplicationError `protobuf:"bytes,3,opt,name=application_error,json=applicationError" json:"application_error,omitempty"` + JavaException []byte `protobuf:"bytes,4,opt,name=java_exception,json=javaException" json:"java_exception,omitempty"` + RpcError *RpcError `protobuf:"bytes,5,opt,name=rpc_error,json=rpcError" json:"rpc_error,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Response) Reset() { *m = Response{} } +func (m *Response) String() string { return proto.CompactTextString(m) } +func (*Response) ProtoMessage() {} +func (*Response) Descriptor() ([]byte, []int) { + return fileDescriptor_remote_api_1978114ec33a273d, []int{3} +} +func (m *Response) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Response.Unmarshal(m, b) +} +func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Response.Marshal(b, m, deterministic) +} +func (dst *Response) XXX_Merge(src proto.Message) { + xxx_messageInfo_Response.Merge(dst, src) +} +func (m *Response) XXX_Size() int { + return xxx_messageInfo_Response.Size(m) +} +func (m *Response) XXX_DiscardUnknown() { + xxx_messageInfo_Response.DiscardUnknown(m) +} + +var xxx_messageInfo_Response proto.InternalMessageInfo + +func (m *Response) GetResponse() []byte { + if m != nil { + return m.Response + } + return nil +} + +func (m *Response) GetException() []byte { + if m != nil { + return m.Exception + } + return nil +} + +func (m *Response) GetApplicationError() *ApplicationError { + if m != nil { + return m.ApplicationError + } + return nil +} + +func (m *Response) GetJavaException() []byte { + if m != nil { + return m.JavaException + } + return nil +} + +func (m *Response) GetRpcError() *RpcError { + if m != nil { + return m.RpcError + } + return nil +} + +func init() { + proto.RegisterType((*Request)(nil), "remote_api.Request") + proto.RegisterType((*ApplicationError)(nil), "remote_api.ApplicationError") + proto.RegisterType((*RpcError)(nil), "remote_api.RpcError") + proto.RegisterType((*Response)(nil), "remote_api.Response") +} + +func init() { + proto.RegisterFile("google.golang.org/appengine/internal/remote_api/remote_api.proto", fileDescriptor_remote_api_1978114ec33a273d) +} + +var fileDescriptor_remote_api_1978114ec33a273d = []byte{ + // 531 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x51, 0x6e, 0xd3, 0x40, + 0x10, 0x86, 0xb1, 0x9b, 0x34, 0xf1, 0xc4, 0x2d, 0xdb, 0xa5, 0x14, 0x0b, 0x15, 0x29, 0x44, 0x42, + 0xca, 0x53, 0x2a, 0x38, 0x00, 0x62, 0x63, 0x6f, 0x91, 0x85, 0x65, 0xa7, 0x6b, 0xbb, 0x50, 0x5e, + 0x56, 0x2b, 0x67, 0x65, 0x8c, 0x12, 0xaf, 0xd9, 0x98, 0x8a, 0x17, 0x6e, 0xc0, 0xb5, 0x38, 0x0c, + 0xb7, 0x40, 0x36, 0x6e, 0x63, 0xf5, 0x89, 0xb7, 0x7f, 0x7e, 0x7b, 0xe6, 0x1b, 0xcd, 0xcc, 0xc2, + 0xbb, 0x5c, 0xa9, 0x7c, 0x23, 0x17, 0xb9, 0xda, 0x88, 0x32, 0x5f, 0x28, 0x9d, 0x5f, 0x88, 0xaa, + 0x92, 0x65, 0x5e, 0x94, 0xf2, 0xa2, 0x28, 0x6b, 0xa9, 0x4b, 0xb1, 0xb9, 0xd0, 0x72, 0xab, 0x6a, + 0xc9, 0x45, 0x55, 0xf4, 0xe4, 0xa2, 0xd2, 0xaa, 0x56, 0x18, 0xf6, 0xce, 0xec, 0x27, 0x8c, 0x98, + 0xfc, 0xf6, 0x5d, 0xee, 0x6a, 0xfc, 0x12, 0xec, 0x9d, 0xd4, 0xb7, 0x45, 0x26, 0x79, 0x29, 0xb6, + 0xd2, 0x31, 0xa7, 0xe6, 0xdc, 0x62, 0x93, 0xce, 0x0b, 0xc5, 0x56, 0xe2, 0x33, 0x38, 0xdc, 0xca, + 0xfa, 0x8b, 0x5a, 0x3b, 0x07, 0xed, 0xc7, 0x2e, 0xc2, 0x0e, 0x8c, 0xf4, 0xbf, 0x2a, 0xce, 0x60, + 0x6a, 0xce, 0x6d, 0x76, 0x17, 0xe2, 0x17, 0x00, 0x9d, 0xe4, 0xc5, 0xda, 0x19, 0x4e, 0x8d, 0xb9, + 0xc5, 0xac, 0xce, 0xf1, 0xd7, 0xb3, 0xb7, 0x80, 0x48, 0x55, 0x6d, 0x8a, 0x4c, 0xd4, 0x85, 0x2a, + 0xa9, 0xd6, 0x4a, 0x63, 0x0c, 0x83, 0x4c, 0xad, 0xa5, 0x63, 0x4c, 0xcd, 0xf9, 0x90, 0xb5, 0xba, + 0x01, 0xaf, 0x65, 0x2d, 0x8a, 0x4d, 0xd7, 0x55, 0x17, 0xcd, 0x7e, 0x9b, 0x30, 0x66, 0x55, 0xf6, + 0x7f, 0x89, 0x46, 0x2f, 0xf1, 0x97, 0x09, 0x56, 0x9b, 0xe5, 0x36, 0x7f, 0x4d, 0x60, 0x94, 0x86, + 0x1f, 0xc2, 0xe8, 0x63, 0x88, 0x1e, 0x61, 0x0c, 0xc7, 0x2e, 0x09, 0x02, 0x1e, 0x46, 0x09, 0xbf, + 0x8c, 0xd2, 0xd0, 0x43, 0x06, 0x7e, 0x0c, 0x93, 0x15, 0x61, 0x31, 0xe5, 0x94, 0xb1, 0x88, 0x21, + 0x13, 0x9f, 0x01, 0x8e, 0xa9, 0x9b, 0x32, 0x3f, 0xb9, 0xe1, 0xd7, 0x7e, 0x14, 0x90, 0xc4, 0x8f, + 0x42, 0x74, 0x80, 0x8f, 0x01, 0xa2, 0x6b, 0xca, 0xf8, 0x55, 0x1a, 0x25, 0x04, 0x0d, 0xf0, 0x53, + 0x38, 0x61, 0xf4, 0x2a, 0xa5, 0x71, 0xc2, 0x93, 0x28, 0xe2, 0x01, 0x61, 0xef, 0x29, 0x1a, 0xe2, + 0x67, 0xf0, 0xc4, 0x25, 0x2b, 0xb2, 0xf4, 0x83, 0xa6, 0x80, 0xe7, 0xc7, 0x64, 0x19, 0x50, 0x0f, + 0x1d, 0xe2, 0x53, 0x40, 0x97, 0x94, 0x24, 0x29, 0xa3, 0x7b, 0x77, 0xd4, 0xe0, 0x97, 0xc4, 0xe3, + 0x5d, 0x25, 0x34, 0x6e, 0xf0, 0x8c, 0xc6, 0xab, 0x28, 0x8c, 0x69, 0xaf, 0xae, 0x85, 0x8f, 0xc0, + 0x72, 0x49, 0xe8, 0xd2, 0xa0, 0xc9, 0x03, 0x8c, 0xc0, 0x66, 0x74, 0x15, 0x90, 0x9b, 0xae, 0xef, + 0x49, 0xd3, 0x8f, 0x47, 0x89, 0x17, 0xf8, 0x21, 0xe5, 0xf4, 0x93, 0x4b, 0xa9, 0x47, 0x3d, 0x64, + 0xcf, 0xfe, 0x18, 0x30, 0x66, 0x72, 0x57, 0xa9, 0x72, 0x27, 0xf1, 0x73, 0x18, 0xeb, 0x4e, 0x3b, + 0xc6, 0xd4, 0x98, 0xdb, 0xec, 0x3e, 0xc6, 0xe7, 0x60, 0xc9, 0x1f, 0x99, 0xac, 0x9a, 0x75, 0xb5, + 0x23, 0xb5, 0xd9, 0xde, 0xc0, 0x3e, 0x9c, 0x88, 0xfd, 0x3a, 0xb9, 0x6c, 0x06, 0xec, 0x1c, 0x4c, + 0x8d, 0xf9, 0xe4, 0xcd, 0xf9, 0xa2, 0x77, 0x87, 0x0f, 0x77, 0xce, 0x90, 0x78, 0x78, 0x05, 0xaf, + 0xe0, 0xf8, 0xab, 0xb8, 0x15, 0x7c, 0x4f, 0x1b, 0xb4, 0xb4, 0xa3, 0xc6, 0xa5, 0xf7, 0xc4, 0xd7, + 0x60, 0xe9, 0x2a, 0xeb, 0x48, 0xc3, 0x96, 0x74, 0xda, 0x27, 0xdd, 0x1d, 0x07, 0x1b, 0xeb, 0x4e, + 0x2d, 0xed, 0xcf, 0xbd, 0x07, 0xf0, 0x37, 0x00, 0x00, 0xff, 0xff, 0x38, 0xd1, 0x0f, 0x22, 0x4f, + 0x03, 0x00, 0x00, +} diff --git a/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto b/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto new file mode 100644 index 000000000..f21763a4e --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto @@ -0,0 +1,44 @@ +syntax = "proto2"; +option go_package = "remote_api"; + +package remote_api; + +message Request { + required string service_name = 2; + required string method = 3; + required bytes request = 4; + optional string request_id = 5; +} + +message ApplicationError { + required int32 code = 1; + required string detail = 2; +} + +message RpcError { + enum ErrorCode { + UNKNOWN = 0; + CALL_NOT_FOUND = 1; + PARSE_ERROR = 2; + SECURITY_VIOLATION = 3; + OVER_QUOTA = 4; + REQUEST_TOO_LARGE = 5; + CAPABILITY_DISABLED = 6; + FEATURE_DISABLED = 7; + BAD_REQUEST = 8; + RESPONSE_TOO_LARGE = 9; + CANCELLED = 10; + REPLAY_ERROR = 11; + DEADLINE_EXCEEDED = 12; + } + required int32 code = 1; + optional string detail = 2; +} + +message Response { + optional bytes response = 1; + optional bytes exception = 2; + optional ApplicationError application_error = 3; + optional bytes java_exception = 4; + optional RpcError rpc_error = 5; +} diff --git a/vendor/google.golang.org/appengine/internal/transaction.go b/vendor/google.golang.org/appengine/internal/transaction.go new file mode 100644 index 000000000..9006ae653 --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/transaction.go @@ -0,0 +1,115 @@ +// Copyright 2014 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package internal + +// This file implements hooks for applying datastore transactions. + +import ( + "errors" + "reflect" + + "github.com/golang/protobuf/proto" + netcontext "golang.org/x/net/context" + + basepb "google.golang.org/appengine/internal/base" + pb "google.golang.org/appengine/internal/datastore" +) + +var transactionSetters = make(map[reflect.Type]reflect.Value) + +// RegisterTransactionSetter registers a function that sets transaction information +// in a protocol buffer message. f should be a function with two arguments, +// the first being a protocol buffer type, and the second being *datastore.Transaction. +func RegisterTransactionSetter(f interface{}) { + v := reflect.ValueOf(f) + transactionSetters[v.Type().In(0)] = v +} + +// applyTransaction applies the transaction t to message pb +// by using the relevant setter passed to RegisterTransactionSetter. +func applyTransaction(pb proto.Message, t *pb.Transaction) { + v := reflect.ValueOf(pb) + if f, ok := transactionSetters[v.Type()]; ok { + f.Call([]reflect.Value{v, reflect.ValueOf(t)}) + } +} + +var transactionKey = "used for *Transaction" + +func transactionFromContext(ctx netcontext.Context) *transaction { + t, _ := ctx.Value(&transactionKey).(*transaction) + return t +} + +func withTransaction(ctx netcontext.Context, t *transaction) netcontext.Context { + return netcontext.WithValue(ctx, &transactionKey, t) +} + +type transaction struct { + transaction pb.Transaction + finished bool +} + +var ErrConcurrentTransaction = errors.New("internal: concurrent transaction") + +func RunTransactionOnce(c netcontext.Context, f func(netcontext.Context) error, xg bool, readOnly bool, previousTransaction *pb.Transaction) (*pb.Transaction, error) { + if transactionFromContext(c) != nil { + return nil, errors.New("nested transactions are not supported") + } + + // Begin the transaction. + t := &transaction{} + req := &pb.BeginTransactionRequest{ + App: proto.String(FullyQualifiedAppID(c)), + } + if xg { + req.AllowMultipleEg = proto.Bool(true) + } + if previousTransaction != nil { + req.PreviousTransaction = previousTransaction + } + if readOnly { + req.Mode = pb.BeginTransactionRequest_READ_ONLY.Enum() + } else { + req.Mode = pb.BeginTransactionRequest_READ_WRITE.Enum() + } + if err := Call(c, "datastore_v3", "BeginTransaction", req, &t.transaction); err != nil { + return nil, err + } + + // Call f, rolling back the transaction if f returns a non-nil error, or panics. + // The panic is not recovered. + defer func() { + if t.finished { + return + } + t.finished = true + // Ignore the error return value, since we are already returning a non-nil + // error (or we're panicking). + Call(c, "datastore_v3", "Rollback", &t.transaction, &basepb.VoidProto{}) + }() + if err := f(withTransaction(c, t)); err != nil { + return &t.transaction, err + } + t.finished = true + + // Commit the transaction. + res := &pb.CommitResponse{} + err := Call(c, "datastore_v3", "Commit", &t.transaction, res) + if ae, ok := err.(*APIError); ok { + /* TODO: restore this conditional + if appengine.IsDevAppServer() { + */ + // The Python Dev AppServer raises an ApplicationError with error code 2 (which is + // Error.CONCURRENT_TRANSACTION) and message "Concurrency exception.". + if ae.Code == int32(pb.Error_BAD_REQUEST) && ae.Detail == "ApplicationError: 2 Concurrency exception." { + return &t.transaction, ErrConcurrentTransaction + } + if ae.Code == int32(pb.Error_CONCURRENT_TRANSACTION) { + return &t.transaction, ErrConcurrentTransaction + } + } + return &t.transaction, err +} diff --git a/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go new file mode 100644 index 000000000..5f727750a --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go @@ -0,0 +1,527 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto + +package urlfetch + +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 URLFetchServiceError_ErrorCode int32 + +const ( + URLFetchServiceError_OK URLFetchServiceError_ErrorCode = 0 + URLFetchServiceError_INVALID_URL URLFetchServiceError_ErrorCode = 1 + URLFetchServiceError_FETCH_ERROR URLFetchServiceError_ErrorCode = 2 + URLFetchServiceError_UNSPECIFIED_ERROR URLFetchServiceError_ErrorCode = 3 + URLFetchServiceError_RESPONSE_TOO_LARGE URLFetchServiceError_ErrorCode = 4 + URLFetchServiceError_DEADLINE_EXCEEDED URLFetchServiceError_ErrorCode = 5 + URLFetchServiceError_SSL_CERTIFICATE_ERROR URLFetchServiceError_ErrorCode = 6 + URLFetchServiceError_DNS_ERROR URLFetchServiceError_ErrorCode = 7 + URLFetchServiceError_CLOSED URLFetchServiceError_ErrorCode = 8 + URLFetchServiceError_INTERNAL_TRANSIENT_ERROR URLFetchServiceError_ErrorCode = 9 + URLFetchServiceError_TOO_MANY_REDIRECTS URLFetchServiceError_ErrorCode = 10 + URLFetchServiceError_MALFORMED_REPLY URLFetchServiceError_ErrorCode = 11 + URLFetchServiceError_CONNECTION_ERROR URLFetchServiceError_ErrorCode = 12 +) + +var URLFetchServiceError_ErrorCode_name = map[int32]string{ + 0: "OK", + 1: "INVALID_URL", + 2: "FETCH_ERROR", + 3: "UNSPECIFIED_ERROR", + 4: "RESPONSE_TOO_LARGE", + 5: "DEADLINE_EXCEEDED", + 6: "SSL_CERTIFICATE_ERROR", + 7: "DNS_ERROR", + 8: "CLOSED", + 9: "INTERNAL_TRANSIENT_ERROR", + 10: "TOO_MANY_REDIRECTS", + 11: "MALFORMED_REPLY", + 12: "CONNECTION_ERROR", +} +var URLFetchServiceError_ErrorCode_value = map[string]int32{ + "OK": 0, + "INVALID_URL": 1, + "FETCH_ERROR": 2, + "UNSPECIFIED_ERROR": 3, + "RESPONSE_TOO_LARGE": 4, + "DEADLINE_EXCEEDED": 5, + "SSL_CERTIFICATE_ERROR": 6, + "DNS_ERROR": 7, + "CLOSED": 8, + "INTERNAL_TRANSIENT_ERROR": 9, + "TOO_MANY_REDIRECTS": 10, + "MALFORMED_REPLY": 11, + "CONNECTION_ERROR": 12, +} + +func (x URLFetchServiceError_ErrorCode) Enum() *URLFetchServiceError_ErrorCode { + p := new(URLFetchServiceError_ErrorCode) + *p = x + return p +} +func (x URLFetchServiceError_ErrorCode) String() string { + return proto.EnumName(URLFetchServiceError_ErrorCode_name, int32(x)) +} +func (x *URLFetchServiceError_ErrorCode) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(URLFetchServiceError_ErrorCode_value, data, "URLFetchServiceError_ErrorCode") + if err != nil { + return err + } + *x = URLFetchServiceError_ErrorCode(value) + return nil +} +func (URLFetchServiceError_ErrorCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_urlfetch_service_b245a7065f33bced, []int{0, 0} +} + +type URLFetchRequest_RequestMethod int32 + +const ( + URLFetchRequest_GET URLFetchRequest_RequestMethod = 1 + URLFetchRequest_POST URLFetchRequest_RequestMethod = 2 + URLFetchRequest_HEAD URLFetchRequest_RequestMethod = 3 + URLFetchRequest_PUT URLFetchRequest_RequestMethod = 4 + URLFetchRequest_DELETE URLFetchRequest_RequestMethod = 5 + URLFetchRequest_PATCH URLFetchRequest_RequestMethod = 6 +) + +var URLFetchRequest_RequestMethod_name = map[int32]string{ + 1: "GET", + 2: "POST", + 3: "HEAD", + 4: "PUT", + 5: "DELETE", + 6: "PATCH", +} +var URLFetchRequest_RequestMethod_value = map[string]int32{ + "GET": 1, + "POST": 2, + "HEAD": 3, + "PUT": 4, + "DELETE": 5, + "PATCH": 6, +} + +func (x URLFetchRequest_RequestMethod) Enum() *URLFetchRequest_RequestMethod { + p := new(URLFetchRequest_RequestMethod) + *p = x + return p +} +func (x URLFetchRequest_RequestMethod) String() string { + return proto.EnumName(URLFetchRequest_RequestMethod_name, int32(x)) +} +func (x *URLFetchRequest_RequestMethod) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(URLFetchRequest_RequestMethod_value, data, "URLFetchRequest_RequestMethod") + if err != nil { + return err + } + *x = URLFetchRequest_RequestMethod(value) + return nil +} +func (URLFetchRequest_RequestMethod) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_urlfetch_service_b245a7065f33bced, []int{1, 0} +} + +type URLFetchServiceError struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *URLFetchServiceError) Reset() { *m = URLFetchServiceError{} } +func (m *URLFetchServiceError) String() string { return proto.CompactTextString(m) } +func (*URLFetchServiceError) ProtoMessage() {} +func (*URLFetchServiceError) Descriptor() ([]byte, []int) { + return fileDescriptor_urlfetch_service_b245a7065f33bced, []int{0} +} +func (m *URLFetchServiceError) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_URLFetchServiceError.Unmarshal(m, b) +} +func (m *URLFetchServiceError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_URLFetchServiceError.Marshal(b, m, deterministic) +} +func (dst *URLFetchServiceError) XXX_Merge(src proto.Message) { + xxx_messageInfo_URLFetchServiceError.Merge(dst, src) +} +func (m *URLFetchServiceError) XXX_Size() int { + return xxx_messageInfo_URLFetchServiceError.Size(m) +} +func (m *URLFetchServiceError) XXX_DiscardUnknown() { + xxx_messageInfo_URLFetchServiceError.DiscardUnknown(m) +} + +var xxx_messageInfo_URLFetchServiceError proto.InternalMessageInfo + +type URLFetchRequest struct { + Method *URLFetchRequest_RequestMethod `protobuf:"varint,1,req,name=Method,enum=appengine.URLFetchRequest_RequestMethod" json:"Method,omitempty"` + Url *string `protobuf:"bytes,2,req,name=Url" json:"Url,omitempty"` + Header []*URLFetchRequest_Header `protobuf:"group,3,rep,name=Header,json=header" json:"header,omitempty"` + Payload []byte `protobuf:"bytes,6,opt,name=Payload" json:"Payload,omitempty"` + FollowRedirects *bool `protobuf:"varint,7,opt,name=FollowRedirects,def=1" json:"FollowRedirects,omitempty"` + Deadline *float64 `protobuf:"fixed64,8,opt,name=Deadline" json:"Deadline,omitempty"` + MustValidateServerCertificate *bool `protobuf:"varint,9,opt,name=MustValidateServerCertificate,def=1" json:"MustValidateServerCertificate,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *URLFetchRequest) Reset() { *m = URLFetchRequest{} } +func (m *URLFetchRequest) String() string { return proto.CompactTextString(m) } +func (*URLFetchRequest) ProtoMessage() {} +func (*URLFetchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_urlfetch_service_b245a7065f33bced, []int{1} +} +func (m *URLFetchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_URLFetchRequest.Unmarshal(m, b) +} +func (m *URLFetchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_URLFetchRequest.Marshal(b, m, deterministic) +} +func (dst *URLFetchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_URLFetchRequest.Merge(dst, src) +} +func (m *URLFetchRequest) XXX_Size() int { + return xxx_messageInfo_URLFetchRequest.Size(m) +} +func (m *URLFetchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_URLFetchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_URLFetchRequest proto.InternalMessageInfo + +const Default_URLFetchRequest_FollowRedirects bool = true +const Default_URLFetchRequest_MustValidateServerCertificate bool = true + +func (m *URLFetchRequest) GetMethod() URLFetchRequest_RequestMethod { + if m != nil && m.Method != nil { + return *m.Method + } + return URLFetchRequest_GET +} + +func (m *URLFetchRequest) GetUrl() string { + if m != nil && m.Url != nil { + return *m.Url + } + return "" +} + +func (m *URLFetchRequest) GetHeader() []*URLFetchRequest_Header { + if m != nil { + return m.Header + } + return nil +} + +func (m *URLFetchRequest) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *URLFetchRequest) GetFollowRedirects() bool { + if m != nil && m.FollowRedirects != nil { + return *m.FollowRedirects + } + return Default_URLFetchRequest_FollowRedirects +} + +func (m *URLFetchRequest) GetDeadline() float64 { + if m != nil && m.Deadline != nil { + return *m.Deadline + } + return 0 +} + +func (m *URLFetchRequest) GetMustValidateServerCertificate() bool { + if m != nil && m.MustValidateServerCertificate != nil { + return *m.MustValidateServerCertificate + } + return Default_URLFetchRequest_MustValidateServerCertificate +} + +type URLFetchRequest_Header struct { + Key *string `protobuf:"bytes,4,req,name=Key" json:"Key,omitempty"` + Value *string `protobuf:"bytes,5,req,name=Value" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *URLFetchRequest_Header) Reset() { *m = URLFetchRequest_Header{} } +func (m *URLFetchRequest_Header) String() string { return proto.CompactTextString(m) } +func (*URLFetchRequest_Header) ProtoMessage() {} +func (*URLFetchRequest_Header) Descriptor() ([]byte, []int) { + return fileDescriptor_urlfetch_service_b245a7065f33bced, []int{1, 0} +} +func (m *URLFetchRequest_Header) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_URLFetchRequest_Header.Unmarshal(m, b) +} +func (m *URLFetchRequest_Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_URLFetchRequest_Header.Marshal(b, m, deterministic) +} +func (dst *URLFetchRequest_Header) XXX_Merge(src proto.Message) { + xxx_messageInfo_URLFetchRequest_Header.Merge(dst, src) +} +func (m *URLFetchRequest_Header) XXX_Size() int { + return xxx_messageInfo_URLFetchRequest_Header.Size(m) +} +func (m *URLFetchRequest_Header) XXX_DiscardUnknown() { + xxx_messageInfo_URLFetchRequest_Header.DiscardUnknown(m) +} + +var xxx_messageInfo_URLFetchRequest_Header proto.InternalMessageInfo + +func (m *URLFetchRequest_Header) GetKey() string { + if m != nil && m.Key != nil { + return *m.Key + } + return "" +} + +func (m *URLFetchRequest_Header) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +type URLFetchResponse struct { + Content []byte `protobuf:"bytes,1,opt,name=Content" json:"Content,omitempty"` + StatusCode *int32 `protobuf:"varint,2,req,name=StatusCode" json:"StatusCode,omitempty"` + Header []*URLFetchResponse_Header `protobuf:"group,3,rep,name=Header,json=header" json:"header,omitempty"` + ContentWasTruncated *bool `protobuf:"varint,6,opt,name=ContentWasTruncated,def=0" json:"ContentWasTruncated,omitempty"` + ExternalBytesSent *int64 `protobuf:"varint,7,opt,name=ExternalBytesSent" json:"ExternalBytesSent,omitempty"` + ExternalBytesReceived *int64 `protobuf:"varint,8,opt,name=ExternalBytesReceived" json:"ExternalBytesReceived,omitempty"` + FinalUrl *string `protobuf:"bytes,9,opt,name=FinalUrl" json:"FinalUrl,omitempty"` + ApiCpuMilliseconds *int64 `protobuf:"varint,10,opt,name=ApiCpuMilliseconds,def=0" json:"ApiCpuMilliseconds,omitempty"` + ApiBytesSent *int64 `protobuf:"varint,11,opt,name=ApiBytesSent,def=0" json:"ApiBytesSent,omitempty"` + ApiBytesReceived *int64 `protobuf:"varint,12,opt,name=ApiBytesReceived,def=0" json:"ApiBytesReceived,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *URLFetchResponse) Reset() { *m = URLFetchResponse{} } +func (m *URLFetchResponse) String() string { return proto.CompactTextString(m) } +func (*URLFetchResponse) ProtoMessage() {} +func (*URLFetchResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_urlfetch_service_b245a7065f33bced, []int{2} +} +func (m *URLFetchResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_URLFetchResponse.Unmarshal(m, b) +} +func (m *URLFetchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_URLFetchResponse.Marshal(b, m, deterministic) +} +func (dst *URLFetchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_URLFetchResponse.Merge(dst, src) +} +func (m *URLFetchResponse) XXX_Size() int { + return xxx_messageInfo_URLFetchResponse.Size(m) +} +func (m *URLFetchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_URLFetchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_URLFetchResponse proto.InternalMessageInfo + +const Default_URLFetchResponse_ContentWasTruncated bool = false +const Default_URLFetchResponse_ApiCpuMilliseconds int64 = 0 +const Default_URLFetchResponse_ApiBytesSent int64 = 0 +const Default_URLFetchResponse_ApiBytesReceived int64 = 0 + +func (m *URLFetchResponse) GetContent() []byte { + if m != nil { + return m.Content + } + return nil +} + +func (m *URLFetchResponse) GetStatusCode() int32 { + if m != nil && m.StatusCode != nil { + return *m.StatusCode + } + return 0 +} + +func (m *URLFetchResponse) GetHeader() []*URLFetchResponse_Header { + if m != nil { + return m.Header + } + return nil +} + +func (m *URLFetchResponse) GetContentWasTruncated() bool { + if m != nil && m.ContentWasTruncated != nil { + return *m.ContentWasTruncated + } + return Default_URLFetchResponse_ContentWasTruncated +} + +func (m *URLFetchResponse) GetExternalBytesSent() int64 { + if m != nil && m.ExternalBytesSent != nil { + return *m.ExternalBytesSent + } + return 0 +} + +func (m *URLFetchResponse) GetExternalBytesReceived() int64 { + if m != nil && m.ExternalBytesReceived != nil { + return *m.ExternalBytesReceived + } + return 0 +} + +func (m *URLFetchResponse) GetFinalUrl() string { + if m != nil && m.FinalUrl != nil { + return *m.FinalUrl + } + return "" +} + +func (m *URLFetchResponse) GetApiCpuMilliseconds() int64 { + if m != nil && m.ApiCpuMilliseconds != nil { + return *m.ApiCpuMilliseconds + } + return Default_URLFetchResponse_ApiCpuMilliseconds +} + +func (m *URLFetchResponse) GetApiBytesSent() int64 { + if m != nil && m.ApiBytesSent != nil { + return *m.ApiBytesSent + } + return Default_URLFetchResponse_ApiBytesSent +} + +func (m *URLFetchResponse) GetApiBytesReceived() int64 { + if m != nil && m.ApiBytesReceived != nil { + return *m.ApiBytesReceived + } + return Default_URLFetchResponse_ApiBytesReceived +} + +type URLFetchResponse_Header struct { + Key *string `protobuf:"bytes,4,req,name=Key" json:"Key,omitempty"` + Value *string `protobuf:"bytes,5,req,name=Value" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *URLFetchResponse_Header) Reset() { *m = URLFetchResponse_Header{} } +func (m *URLFetchResponse_Header) String() string { return proto.CompactTextString(m) } +func (*URLFetchResponse_Header) ProtoMessage() {} +func (*URLFetchResponse_Header) Descriptor() ([]byte, []int) { + return fileDescriptor_urlfetch_service_b245a7065f33bced, []int{2, 0} +} +func (m *URLFetchResponse_Header) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_URLFetchResponse_Header.Unmarshal(m, b) +} +func (m *URLFetchResponse_Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_URLFetchResponse_Header.Marshal(b, m, deterministic) +} +func (dst *URLFetchResponse_Header) XXX_Merge(src proto.Message) { + xxx_messageInfo_URLFetchResponse_Header.Merge(dst, src) +} +func (m *URLFetchResponse_Header) XXX_Size() int { + return xxx_messageInfo_URLFetchResponse_Header.Size(m) +} +func (m *URLFetchResponse_Header) XXX_DiscardUnknown() { + xxx_messageInfo_URLFetchResponse_Header.DiscardUnknown(m) +} + +var xxx_messageInfo_URLFetchResponse_Header proto.InternalMessageInfo + +func (m *URLFetchResponse_Header) GetKey() string { + if m != nil && m.Key != nil { + return *m.Key + } + return "" +} + +func (m *URLFetchResponse_Header) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +func init() { + proto.RegisterType((*URLFetchServiceError)(nil), "appengine.URLFetchServiceError") + proto.RegisterType((*URLFetchRequest)(nil), "appengine.URLFetchRequest") + proto.RegisterType((*URLFetchRequest_Header)(nil), "appengine.URLFetchRequest.Header") + proto.RegisterType((*URLFetchResponse)(nil), "appengine.URLFetchResponse") + proto.RegisterType((*URLFetchResponse_Header)(nil), "appengine.URLFetchResponse.Header") +} + +func init() { + proto.RegisterFile("google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto", fileDescriptor_urlfetch_service_b245a7065f33bced) +} + +var fileDescriptor_urlfetch_service_b245a7065f33bced = []byte{ + // 770 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xdd, 0x6e, 0xe3, 0x54, + 0x10, 0xc6, 0x76, 0x7e, 0xa7, 0x5d, 0x7a, 0x76, 0xb6, 0x45, 0x66, 0xb5, 0xa0, 0x10, 0x09, 0x29, + 0x17, 0x90, 0x2e, 0x2b, 0x24, 0x44, 0xaf, 0x70, 0xed, 0x93, 0xad, 0xa9, 0x63, 0x47, 0xc7, 0x4e, + 0x61, 0xb9, 0xb1, 0xac, 0x78, 0x9a, 0x5a, 0xb2, 0xec, 0x60, 0x9f, 0x2c, 0xf4, 0x35, 0x78, 0x0d, + 0xde, 0x87, 0xa7, 0xe1, 0x02, 0x9d, 0xc4, 0xc9, 0x6e, 0xbb, 0xd1, 0x4a, 0x5c, 0x65, 0xe6, 0x9b, + 0xef, 0xcc, 0x99, 0x7c, 0xdf, 0xf8, 0x80, 0xb3, 0x2c, 0xcb, 0x65, 0x4e, 0xe3, 0x65, 0x99, 0x27, + 0xc5, 0x72, 0x5c, 0x56, 0xcb, 0xf3, 0x64, 0xb5, 0xa2, 0x62, 0x99, 0x15, 0x74, 0x9e, 0x15, 0x92, + 0xaa, 0x22, 0xc9, 0xcf, 0xd7, 0x55, 0x7e, 0x4b, 0x72, 0x71, 0xb7, 0x0f, 0xe2, 0x9a, 0xaa, 0xb7, + 0xd9, 0x82, 0xc6, 0xab, 0xaa, 0x94, 0x25, 0xf6, 0xf7, 0x67, 0x86, 0x7f, 0xeb, 0x70, 0x3a, 0x17, + 0xde, 0x44, 0xb1, 0xc2, 0x2d, 0x89, 0x57, 0x55, 0x59, 0x0d, 0xff, 0xd2, 0xa1, 0xbf, 0x89, 0xec, + 0x32, 0x25, 0xec, 0x80, 0x1e, 0x5c, 0xb3, 0x4f, 0xf0, 0x04, 0x8e, 0x5c, 0xff, 0xc6, 0xf2, 0x5c, + 0x27, 0x9e, 0x0b, 0x8f, 0x69, 0x0a, 0x98, 0xf0, 0xc8, 0xbe, 0x8a, 0xb9, 0x10, 0x81, 0x60, 0x3a, + 0x9e, 0xc1, 0xd3, 0xb9, 0x1f, 0xce, 0xb8, 0xed, 0x4e, 0x5c, 0xee, 0x34, 0xb0, 0x81, 0x9f, 0x01, + 0x0a, 0x1e, 0xce, 0x02, 0x3f, 0xe4, 0x71, 0x14, 0x04, 0xb1, 0x67, 0x89, 0xd7, 0x9c, 0xb5, 0x14, + 0xdd, 0xe1, 0x96, 0xe3, 0xb9, 0x3e, 0x8f, 0xf9, 0xaf, 0x36, 0xe7, 0x0e, 0x77, 0x58, 0x1b, 0x3f, + 0x87, 0xb3, 0x30, 0xf4, 0x62, 0x9b, 0x8b, 0xc8, 0x9d, 0xb8, 0xb6, 0x15, 0xf1, 0xa6, 0x53, 0x07, + 0x9f, 0x40, 0xdf, 0xf1, 0xc3, 0x26, 0xed, 0x22, 0x40, 0xc7, 0xf6, 0x82, 0x90, 0x3b, 0xac, 0x87, + 0x2f, 0xc0, 0x74, 0xfd, 0x88, 0x0b, 0xdf, 0xf2, 0xe2, 0x48, 0x58, 0x7e, 0xe8, 0x72, 0x3f, 0x6a, + 0x98, 0x7d, 0x35, 0x82, 0xba, 0x79, 0x6a, 0xf9, 0x6f, 0x62, 0xc1, 0x1d, 0x57, 0x70, 0x3b, 0x0a, + 0x19, 0xe0, 0x33, 0x38, 0x99, 0x5a, 0xde, 0x24, 0x10, 0x53, 0xee, 0xc4, 0x82, 0xcf, 0xbc, 0x37, + 0xec, 0x08, 0x4f, 0x81, 0xd9, 0x81, 0xef, 0x73, 0x3b, 0x72, 0x03, 0xbf, 0x69, 0x71, 0x3c, 0xfc, + 0xc7, 0x80, 0x93, 0x9d, 0x5a, 0x82, 0x7e, 0x5f, 0x53, 0x2d, 0xf1, 0x27, 0xe8, 0x4c, 0x49, 0xde, + 0x95, 0xa9, 0xa9, 0x0d, 0xf4, 0xd1, 0xa7, 0xaf, 0x46, 0xe3, 0xbd, 0xba, 0xe3, 0x47, 0xdc, 0x71, + 0xf3, 0xbb, 0xe5, 0x8b, 0xe6, 0x1c, 0x32, 0x30, 0xe6, 0x55, 0x6e, 0xea, 0x03, 0x7d, 0xd4, 0x17, + 0x2a, 0xc4, 0x1f, 0xa1, 0x73, 0x47, 0x49, 0x4a, 0x95, 0x69, 0x0c, 0x8c, 0x11, 0xbc, 0xfa, 0xea, + 0x23, 0x3d, 0xaf, 0x36, 0x44, 0xd1, 0x1c, 0xc0, 0x17, 0xd0, 0x9d, 0x25, 0xf7, 0x79, 0x99, 0xa4, + 0x66, 0x67, 0xa0, 0x8d, 0x8e, 0x2f, 0xf5, 0x9e, 0x26, 0x76, 0x10, 0x8e, 0xe1, 0x64, 0x52, 0xe6, + 0x79, 0xf9, 0x87, 0xa0, 0x34, 0xab, 0x68, 0x21, 0x6b, 0xb3, 0x3b, 0xd0, 0x46, 0xbd, 0x8b, 0x96, + 0xac, 0xd6, 0x24, 0x1e, 0x17, 0xf1, 0x39, 0xf4, 0x1c, 0x4a, 0xd2, 0x3c, 0x2b, 0xc8, 0xec, 0x0d, + 0xb4, 0x91, 0x26, 0xf6, 0x39, 0xfe, 0x0c, 0x5f, 0x4c, 0xd7, 0xb5, 0xbc, 0x49, 0xf2, 0x2c, 0x4d, + 0x24, 0xa9, 0xed, 0xa1, 0xca, 0xa6, 0x4a, 0x66, 0xb7, 0xd9, 0x22, 0x91, 0x64, 0xf6, 0xdf, 0xeb, + 0xfc, 0x71, 0xea, 0xf3, 0x97, 0xd0, 0xd9, 0xfe, 0x0f, 0x25, 0xc6, 0x35, 0xdd, 0x9b, 0xad, 0xad, + 0x18, 0xd7, 0x74, 0x8f, 0xa7, 0xd0, 0xbe, 0x49, 0xf2, 0x35, 0x99, 0xed, 0x0d, 0xb6, 0x4d, 0x86, + 0x1e, 0x3c, 0x79, 0xa0, 0x26, 0x76, 0xc1, 0x78, 0xcd, 0x23, 0xa6, 0x61, 0x0f, 0x5a, 0xb3, 0x20, + 0x8c, 0x98, 0xae, 0xa2, 0x2b, 0x6e, 0x39, 0xcc, 0x50, 0xc5, 0xd9, 0x3c, 0x62, 0x2d, 0xb5, 0x2e, + 0x0e, 0xf7, 0x78, 0xc4, 0x59, 0x1b, 0xfb, 0xd0, 0x9e, 0x59, 0x91, 0x7d, 0xc5, 0x3a, 0xc3, 0x7f, + 0x0d, 0x60, 0xef, 0x84, 0xad, 0x57, 0x65, 0x51, 0x13, 0x9a, 0xd0, 0xb5, 0xcb, 0x42, 0x52, 0x21, + 0x4d, 0x4d, 0x49, 0x29, 0x76, 0x29, 0x7e, 0x09, 0x10, 0xca, 0x44, 0xae, 0x6b, 0xf5, 0x71, 0x6c, + 0x8c, 0x6b, 0x8b, 0xf7, 0x10, 0xbc, 0x78, 0xe4, 0xdf, 0xf0, 0xa0, 0x7f, 0xdb, 0x6b, 0x1e, 0x1b, + 0xf8, 0x03, 0x3c, 0x6b, 0xae, 0xf9, 0x25, 0xa9, 0xa3, 0x6a, 0x5d, 0x28, 0x81, 0xb6, 0x66, 0xf6, + 0x2e, 0xda, 0xb7, 0x49, 0x5e, 0x93, 0x38, 0xc4, 0xc0, 0x6f, 0xe0, 0x29, 0xff, 0x73, 0xfb, 0x02, + 0x5c, 0xde, 0x4b, 0xaa, 0x43, 0x35, 0xb8, 0x72, 0xd7, 0x10, 0x1f, 0x16, 0xf0, 0x7b, 0x38, 0x7b, + 0x00, 0x0a, 0x5a, 0x50, 0xf6, 0x96, 0xd2, 0x8d, 0xcd, 0x86, 0x38, 0x5c, 0x54, 0xfb, 0x30, 0xc9, + 0x8a, 0x24, 0x57, 0xfb, 0xaa, 0xec, 0xed, 0x8b, 0x7d, 0x8e, 0xdf, 0x01, 0x5a, 0xab, 0xcc, 0x5e, + 0xad, 0xa7, 0x59, 0x9e, 0x67, 0x35, 0x2d, 0xca, 0x22, 0xad, 0x4d, 0x50, 0xed, 0x2e, 0xb4, 0x97, + 0xe2, 0x40, 0x11, 0xbf, 0x86, 0x63, 0x6b, 0x95, 0xbd, 0x9b, 0xf6, 0x68, 0x47, 0x7e, 0x00, 0xe3, + 0xb7, 0xc0, 0x76, 0xf9, 0x7e, 0xcc, 0xe3, 0x1d, 0xf5, 0x83, 0xd2, 0xff, 0x5f, 0xa6, 0x4b, 0xf8, + 0xad, 0xb7, 0x7b, 0x2a, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x9f, 0x6d, 0x24, 0x63, 0x05, + 0x00, 0x00, +} diff --git a/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto new file mode 100644 index 000000000..f695edf6a --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto @@ -0,0 +1,64 @@ +syntax = "proto2"; +option go_package = "urlfetch"; + +package appengine; + +message URLFetchServiceError { + enum ErrorCode { + OK = 0; + INVALID_URL = 1; + FETCH_ERROR = 2; + UNSPECIFIED_ERROR = 3; + RESPONSE_TOO_LARGE = 4; + DEADLINE_EXCEEDED = 5; + SSL_CERTIFICATE_ERROR = 6; + DNS_ERROR = 7; + CLOSED = 8; + INTERNAL_TRANSIENT_ERROR = 9; + TOO_MANY_REDIRECTS = 10; + MALFORMED_REPLY = 11; + CONNECTION_ERROR = 12; + } +} + +message URLFetchRequest { + enum RequestMethod { + GET = 1; + POST = 2; + HEAD = 3; + PUT = 4; + DELETE = 5; + PATCH = 6; + } + required RequestMethod Method = 1; + required string Url = 2; + repeated group Header = 3 { + required string Key = 4; + required string Value = 5; + } + optional bytes Payload = 6 [ctype=CORD]; + + optional bool FollowRedirects = 7 [default=true]; + + optional double Deadline = 8; + + optional bool MustValidateServerCertificate = 9 [default=true]; +} + +message URLFetchResponse { + optional bytes Content = 1; + required int32 StatusCode = 2; + repeated group Header = 3 { + required string Key = 4; + required string Value = 5; + } + optional bool ContentWasTruncated = 6 [default=false]; + optional int64 ExternalBytesSent = 7; + optional int64 ExternalBytesReceived = 8; + + optional string FinalUrl = 9; + + optional int64 ApiCpuMilliseconds = 10 [default=0]; + optional int64 ApiBytesSent = 11 [default=0]; + optional int64 ApiBytesReceived = 12 [default=0]; +} diff --git a/vendor/google.golang.org/appengine/urlfetch/urlfetch.go b/vendor/google.golang.org/appengine/urlfetch/urlfetch.go new file mode 100644 index 000000000..6ffe1e6d9 --- /dev/null +++ b/vendor/google.golang.org/appengine/urlfetch/urlfetch.go @@ -0,0 +1,210 @@ +// Copyright 2011 Google Inc. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +// Package urlfetch provides an http.RoundTripper implementation +// for fetching URLs via App Engine's urlfetch service. +package urlfetch // import "google.golang.org/appengine/urlfetch" + +import ( + "errors" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "strconv" + "strings" + "time" + + "github.com/golang/protobuf/proto" + "golang.org/x/net/context" + + "google.golang.org/appengine/internal" + pb "google.golang.org/appengine/internal/urlfetch" +) + +// Transport is an implementation of http.RoundTripper for +// App Engine. Users should generally create an http.Client using +// this transport and use the Client rather than using this transport +// directly. +type Transport struct { + Context context.Context + + // Controls whether the application checks the validity of SSL certificates + // over HTTPS connections. A value of false (the default) instructs the + // application to send a request to the server only if the certificate is + // valid and signed by a trusted certificate authority (CA), and also + // includes a hostname that matches the certificate. A value of true + // instructs the application to perform no certificate validation. + AllowInvalidServerCertificate bool +} + +// Verify statically that *Transport implements http.RoundTripper. +var _ http.RoundTripper = (*Transport)(nil) + +// Client returns an *http.Client using a default urlfetch Transport. This +// client will have the default deadline of 5 seconds, and will check the +// validity of SSL certificates. +// +// Any deadline of the provided context will be used for requests through this client; +// if the client does not have a deadline then a 5 second default is used. +func Client(ctx context.Context) *http.Client { + return &http.Client{ + Transport: &Transport{ + Context: ctx, + }, + } +} + +type bodyReader struct { + content []byte + truncated bool + closed bool +} + +// ErrTruncatedBody is the error returned after the final Read() from a +// response's Body if the body has been truncated by App Engine's proxy. +var ErrTruncatedBody = errors.New("urlfetch: truncated body") + +func statusCodeToText(code int) string { + if t := http.StatusText(code); t != "" { + return t + } + return strconv.Itoa(code) +} + +func (br *bodyReader) Read(p []byte) (n int, err error) { + if br.closed { + if br.truncated { + return 0, ErrTruncatedBody + } + return 0, io.EOF + } + n = copy(p, br.content) + if n > 0 { + br.content = br.content[n:] + return + } + if br.truncated { + br.closed = true + return 0, ErrTruncatedBody + } + return 0, io.EOF +} + +func (br *bodyReader) Close() error { + br.closed = true + br.content = nil + return nil +} + +// A map of the URL Fetch-accepted methods that take a request body. +var methodAcceptsRequestBody = map[string]bool{ + "POST": true, + "PUT": true, + "PATCH": true, +} + +// urlString returns a valid string given a URL. This function is necessary because +// the String method of URL doesn't correctly handle URLs with non-empty Opaque values. +// See http://code.google.com/p/go/issues/detail?id=4860. +func urlString(u *url.URL) string { + if u.Opaque == "" || strings.HasPrefix(u.Opaque, "//") { + return u.String() + } + aux := *u + aux.Opaque = "//" + aux.Host + aux.Opaque + return aux.String() +} + +// RoundTrip issues a single HTTP request and returns its response. Per the +// http.RoundTripper interface, RoundTrip only returns an error if there +// was an unsupported request or the URL Fetch proxy fails. +// Note that HTTP response codes such as 5xx, 403, 404, etc are not +// errors as far as the transport is concerned and will be returned +// with err set to nil. +func (t *Transport) RoundTrip(req *http.Request) (res *http.Response, err error) { + methNum, ok := pb.URLFetchRequest_RequestMethod_value[req.Method] + if !ok { + return nil, fmt.Errorf("urlfetch: unsupported HTTP method %q", req.Method) + } + + method := pb.URLFetchRequest_RequestMethod(methNum) + + freq := &pb.URLFetchRequest{ + Method: &method, + Url: proto.String(urlString(req.URL)), + FollowRedirects: proto.Bool(false), // http.Client's responsibility + MustValidateServerCertificate: proto.Bool(!t.AllowInvalidServerCertificate), + } + if deadline, ok := t.Context.Deadline(); ok { + freq.Deadline = proto.Float64(deadline.Sub(time.Now()).Seconds()) + } + + for k, vals := range req.Header { + for _, val := range vals { + freq.Header = append(freq.Header, &pb.URLFetchRequest_Header{ + Key: proto.String(k), + Value: proto.String(val), + }) + } + } + if methodAcceptsRequestBody[req.Method] && req.Body != nil { + // Avoid a []byte copy if req.Body has a Bytes method. + switch b := req.Body.(type) { + case interface { + Bytes() []byte + }: + freq.Payload = b.Bytes() + default: + freq.Payload, err = ioutil.ReadAll(req.Body) + if err != nil { + return nil, err + } + } + } + + fres := &pb.URLFetchResponse{} + if err := internal.Call(t.Context, "urlfetch", "Fetch", freq, fres); err != nil { + return nil, err + } + + res = &http.Response{} + res.StatusCode = int(*fres.StatusCode) + res.Status = fmt.Sprintf("%d %s", res.StatusCode, statusCodeToText(res.StatusCode)) + res.Header = make(http.Header) + res.Request = req + + // Faked: + res.ProtoMajor = 1 + res.ProtoMinor = 1 + res.Proto = "HTTP/1.1" + res.Close = true + + for _, h := range fres.Header { + hkey := http.CanonicalHeaderKey(*h.Key) + hval := *h.Value + if hkey == "Content-Length" { + // Will get filled in below for all but HEAD requests. + if req.Method == "HEAD" { + res.ContentLength, _ = strconv.ParseInt(hval, 10, 64) + } + continue + } + res.Header.Add(hkey, hval) + } + + if req.Method != "HEAD" { + res.ContentLength = int64(len(fres.Content)) + } + + truncated := fres.GetContentWasTruncated() + res.Body = &bodyReader{content: fres.Content, truncated: truncated} + return +} + +func init() { + internal.RegisterErrorCodeMap("urlfetch", pb.URLFetchServiceError_ErrorCode_name) + internal.RegisterTimeoutErrorCode("urlfetch", int32(pb.URLFetchServiceError_DEADLINE_EXCEEDED)) +} diff --git a/vendor/google.golang.org/protobuf/AUTHORS b/vendor/google.golang.org/protobuf/AUTHORS new file mode 100644 index 000000000..2b00ddba0 --- /dev/null +++ b/vendor/google.golang.org/protobuf/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at https://tip.golang.org/AUTHORS. diff --git a/vendor/google.golang.org/protobuf/CONTRIBUTORS b/vendor/google.golang.org/protobuf/CONTRIBUTORS new file mode 100644 index 000000000..1fbd3e976 --- /dev/null +++ b/vendor/google.golang.org/protobuf/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at https://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/google.golang.org/protobuf/LICENSE b/vendor/google.golang.org/protobuf/LICENSE new file mode 100644 index 000000000..49ea0f928 --- /dev/null +++ b/vendor/google.golang.org/protobuf/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2018 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/google.golang.org/protobuf/PATENTS b/vendor/google.golang.org/protobuf/PATENTS new file mode 100644 index 000000000..733099041 --- /dev/null +++ b/vendor/google.golang.org/protobuf/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/decode.go b/vendor/google.golang.org/protobuf/encoding/prototext/decode.go new file mode 100644 index 000000000..8fb1d9e08 --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/prototext/decode.go @@ -0,0 +1,773 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package prototext + +import ( + "fmt" + "unicode/utf8" + + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/encoding/text" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/internal/set" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + pref "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// Unmarshal reads the given []byte into the given proto.Message. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func Unmarshal(b []byte, m proto.Message) error { + return UnmarshalOptions{}.Unmarshal(b, m) +} + +// UnmarshalOptions is a configurable textproto format unmarshaler. +type UnmarshalOptions struct { + pragma.NoUnkeyedLiterals + + // AllowPartial accepts input for messages that will result in missing + // required fields. If AllowPartial is false (the default), Unmarshal will + // return error if there are any missing required fields. + AllowPartial bool + + // DiscardUnknown specifies whether to ignore unknown fields when parsing. + // An unknown field is any field whose field name or field number does not + // resolve to any known or extension field in the message. + // By default, unmarshal rejects unknown fields as an error. + DiscardUnknown bool + + // Resolver is used for looking up types when unmarshaling + // google.protobuf.Any messages or extension fields. + // If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + protoregistry.MessageTypeResolver + protoregistry.ExtensionTypeResolver + } +} + +// Unmarshal reads the given []byte and populates the given proto.Message +// using options in the UnmarshalOptions object. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func (o UnmarshalOptions) Unmarshal(b []byte, m proto.Message) error { + return o.unmarshal(b, m) +} + +// unmarshal is a centralized function that all unmarshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for unmarshal that do not go through this. +func (o UnmarshalOptions) unmarshal(b []byte, m proto.Message) error { + proto.Reset(m) + + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + + dec := decoder{text.NewDecoder(b), o} + if err := dec.unmarshalMessage(m.ProtoReflect(), false); err != nil { + return err + } + if o.AllowPartial { + return nil + } + return proto.CheckInitialized(m) +} + +type decoder struct { + *text.Decoder + opts UnmarshalOptions +} + +// newError returns an error object with position info. +func (d decoder) newError(pos int, f string, x ...interface{}) error { + line, column := d.Position(pos) + head := fmt.Sprintf("(line %d:%d): ", line, column) + return errors.New(head+f, x...) +} + +// unexpectedTokenError returns a syntax error for the given unexpected token. +func (d decoder) unexpectedTokenError(tok text.Token) error { + return d.syntaxError(tok.Pos(), "unexpected token: %s", tok.RawString()) +} + +// syntaxError returns a syntax error for given position. +func (d decoder) syntaxError(pos int, f string, x ...interface{}) error { + line, column := d.Position(pos) + head := fmt.Sprintf("syntax error (line %d:%d): ", line, column) + return errors.New(head+f, x...) +} + +// unmarshalMessage unmarshals into the given protoreflect.Message. +func (d decoder) unmarshalMessage(m pref.Message, checkDelims bool) error { + messageDesc := m.Descriptor() + if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) { + return errors.New("no support for proto1 MessageSets") + } + + if messageDesc.FullName() == genid.Any_message_fullname { + return d.unmarshalAny(m, checkDelims) + } + + if checkDelims { + tok, err := d.Read() + if err != nil { + return err + } + + if tok.Kind() != text.MessageOpen { + return d.unexpectedTokenError(tok) + } + } + + var seenNums set.Ints + var seenOneofs set.Ints + fieldDescs := messageDesc.Fields() + + for { + // Read field name. + tok, err := d.Read() + if err != nil { + return err + } + switch typ := tok.Kind(); typ { + case text.Name: + // Continue below. + case text.EOF: + if checkDelims { + return text.ErrUnexpectedEOF + } + return nil + default: + if checkDelims && typ == text.MessageClose { + return nil + } + return d.unexpectedTokenError(tok) + } + + // Resolve the field descriptor. + var name pref.Name + var fd pref.FieldDescriptor + var xt pref.ExtensionType + var xtErr error + var isFieldNumberName bool + + switch tok.NameKind() { + case text.IdentName: + name = pref.Name(tok.IdentName()) + fd = fieldDescs.ByTextName(string(name)) + + case text.TypeName: + // Handle extensions only. This code path is not for Any. + xt, xtErr = d.opts.Resolver.FindExtensionByName(pref.FullName(tok.TypeName())) + + case text.FieldNumber: + isFieldNumberName = true + num := pref.FieldNumber(tok.FieldNumber()) + if !num.IsValid() { + return d.newError(tok.Pos(), "invalid field number: %d", num) + } + fd = fieldDescs.ByNumber(num) + if fd == nil { + xt, xtErr = d.opts.Resolver.FindExtensionByNumber(messageDesc.FullName(), num) + } + } + + if xt != nil { + fd = xt.TypeDescriptor() + if !messageDesc.ExtensionRanges().Has(fd.Number()) || fd.ContainingMessage().FullName() != messageDesc.FullName() { + return d.newError(tok.Pos(), "message %v cannot be extended by %v", messageDesc.FullName(), fd.FullName()) + } + } else if xtErr != nil && xtErr != protoregistry.NotFound { + return d.newError(tok.Pos(), "unable to resolve [%s]: %v", tok.RawString(), xtErr) + } + if flags.ProtoLegacy { + if fd != nil && fd.IsWeak() && fd.Message().IsPlaceholder() { + fd = nil // reset since the weak reference is not linked in + } + } + + // Handle unknown fields. + if fd == nil { + if d.opts.DiscardUnknown || messageDesc.ReservedNames().Has(name) { + d.skipValue() + continue + } + return d.newError(tok.Pos(), "unknown field: %v", tok.RawString()) + } + + // Handle fields identified by field number. + if isFieldNumberName { + // TODO: Add an option to permit parsing field numbers. + // + // This requires careful thought as the MarshalOptions.EmitUnknown + // option allows formatting unknown fields as the field number and the + // best-effort textual representation of the field value. In that case, + // it may not be possible to unmarshal the value from a parser that does + // have information about the unknown field. + return d.newError(tok.Pos(), "cannot specify field by number: %v", tok.RawString()) + } + + switch { + case fd.IsList(): + kind := fd.Kind() + if kind != pref.MessageKind && kind != pref.GroupKind && !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + + list := m.Mutable(fd).List() + if err := d.unmarshalList(fd, list); err != nil { + return err + } + + case fd.IsMap(): + mmap := m.Mutable(fd).Map() + if err := d.unmarshalMap(fd, mmap); err != nil { + return err + } + + default: + kind := fd.Kind() + if kind != pref.MessageKind && kind != pref.GroupKind && !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + + // If field is a oneof, check if it has already been set. + if od := fd.ContainingOneof(); od != nil { + idx := uint64(od.Index()) + if seenOneofs.Has(idx) { + return d.newError(tok.Pos(), "error parsing %q, oneof %v is already set", tok.RawString(), od.FullName()) + } + seenOneofs.Set(idx) + } + + num := uint64(fd.Number()) + if seenNums.Has(num) { + return d.newError(tok.Pos(), "non-repeated field %q is repeated", tok.RawString()) + } + + if err := d.unmarshalSingular(fd, m); err != nil { + return err + } + seenNums.Set(num) + } + } + + return nil +} + +// unmarshalSingular unmarshals a non-repeated field value specified by the +// given FieldDescriptor. +func (d decoder) unmarshalSingular(fd pref.FieldDescriptor, m pref.Message) error { + var val pref.Value + var err error + switch fd.Kind() { + case pref.MessageKind, pref.GroupKind: + val = m.NewField(fd) + err = d.unmarshalMessage(val.Message(), true) + default: + val, err = d.unmarshalScalar(fd) + } + if err == nil { + m.Set(fd, val) + } + return err +} + +// unmarshalScalar unmarshals a scalar/enum protoreflect.Value specified by the +// given FieldDescriptor. +func (d decoder) unmarshalScalar(fd pref.FieldDescriptor) (pref.Value, error) { + tok, err := d.Read() + if err != nil { + return pref.Value{}, err + } + + if tok.Kind() != text.Scalar { + return pref.Value{}, d.unexpectedTokenError(tok) + } + + kind := fd.Kind() + switch kind { + case pref.BoolKind: + if b, ok := tok.Bool(); ok { + return pref.ValueOfBool(b), nil + } + + case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind: + if n, ok := tok.Int32(); ok { + return pref.ValueOfInt32(n), nil + } + + case pref.Int64Kind, pref.Sint64Kind, pref.Sfixed64Kind: + if n, ok := tok.Int64(); ok { + return pref.ValueOfInt64(n), nil + } + + case pref.Uint32Kind, pref.Fixed32Kind: + if n, ok := tok.Uint32(); ok { + return pref.ValueOfUint32(n), nil + } + + case pref.Uint64Kind, pref.Fixed64Kind: + if n, ok := tok.Uint64(); ok { + return pref.ValueOfUint64(n), nil + } + + case pref.FloatKind: + if n, ok := tok.Float32(); ok { + return pref.ValueOfFloat32(n), nil + } + + case pref.DoubleKind: + if n, ok := tok.Float64(); ok { + return pref.ValueOfFloat64(n), nil + } + + case pref.StringKind: + if s, ok := tok.String(); ok { + if strs.EnforceUTF8(fd) && !utf8.ValidString(s) { + return pref.Value{}, d.newError(tok.Pos(), "contains invalid UTF-8") + } + return pref.ValueOfString(s), nil + } + + case pref.BytesKind: + if b, ok := tok.String(); ok { + return pref.ValueOfBytes([]byte(b)), nil + } + + case pref.EnumKind: + if lit, ok := tok.Enum(); ok { + // Lookup EnumNumber based on name. + if enumVal := fd.Enum().Values().ByName(pref.Name(lit)); enumVal != nil { + return pref.ValueOfEnum(enumVal.Number()), nil + } + } + if num, ok := tok.Int32(); ok { + return pref.ValueOfEnum(pref.EnumNumber(num)), nil + } + + default: + panic(fmt.Sprintf("invalid scalar kind %v", kind)) + } + + return pref.Value{}, d.newError(tok.Pos(), "invalid value for %v type: %v", kind, tok.RawString()) +} + +// unmarshalList unmarshals into given protoreflect.List. A list value can +// either be in [] syntax or simply just a single scalar/message value. +func (d decoder) unmarshalList(fd pref.FieldDescriptor, list pref.List) error { + tok, err := d.Peek() + if err != nil { + return err + } + + switch fd.Kind() { + case pref.MessageKind, pref.GroupKind: + switch tok.Kind() { + case text.ListOpen: + d.Read() + for { + tok, err := d.Peek() + if err != nil { + return err + } + + switch tok.Kind() { + case text.ListClose: + d.Read() + return nil + case text.MessageOpen: + pval := list.NewElement() + if err := d.unmarshalMessage(pval.Message(), true); err != nil { + return err + } + list.Append(pval) + default: + return d.unexpectedTokenError(tok) + } + } + + case text.MessageOpen: + pval := list.NewElement() + if err := d.unmarshalMessage(pval.Message(), true); err != nil { + return err + } + list.Append(pval) + return nil + } + + default: + switch tok.Kind() { + case text.ListOpen: + d.Read() + for { + tok, err := d.Peek() + if err != nil { + return err + } + + switch tok.Kind() { + case text.ListClose: + d.Read() + return nil + case text.Scalar: + pval, err := d.unmarshalScalar(fd) + if err != nil { + return err + } + list.Append(pval) + default: + return d.unexpectedTokenError(tok) + } + } + + case text.Scalar: + pval, err := d.unmarshalScalar(fd) + if err != nil { + return err + } + list.Append(pval) + return nil + } + } + + return d.unexpectedTokenError(tok) +} + +// unmarshalMap unmarshals into given protoreflect.Map. A map value is a +// textproto message containing {key: <kvalue>, value: <mvalue>}. +func (d decoder) unmarshalMap(fd pref.FieldDescriptor, mmap pref.Map) error { + // Determine ahead whether map entry is a scalar type or a message type in + // order to call the appropriate unmarshalMapValue func inside + // unmarshalMapEntry. + var unmarshalMapValue func() (pref.Value, error) + switch fd.MapValue().Kind() { + case pref.MessageKind, pref.GroupKind: + unmarshalMapValue = func() (pref.Value, error) { + pval := mmap.NewValue() + if err := d.unmarshalMessage(pval.Message(), true); err != nil { + return pref.Value{}, err + } + return pval, nil + } + default: + unmarshalMapValue = func() (pref.Value, error) { + return d.unmarshalScalar(fd.MapValue()) + } + } + + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.MessageOpen: + return d.unmarshalMapEntry(fd, mmap, unmarshalMapValue) + + case text.ListOpen: + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.ListClose: + return nil + case text.MessageOpen: + if err := d.unmarshalMapEntry(fd, mmap, unmarshalMapValue); err != nil { + return err + } + default: + return d.unexpectedTokenError(tok) + } + } + + default: + return d.unexpectedTokenError(tok) + } +} + +// unmarshalMap unmarshals into given protoreflect.Map. A map value is a +// textproto message containing {key: <kvalue>, value: <mvalue>}. +func (d decoder) unmarshalMapEntry(fd pref.FieldDescriptor, mmap pref.Map, unmarshalMapValue func() (pref.Value, error)) error { + var key pref.MapKey + var pval pref.Value +Loop: + for { + // Read field name. + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.Name: + if tok.NameKind() != text.IdentName { + if !d.opts.DiscardUnknown { + return d.newError(tok.Pos(), "unknown map entry field %q", tok.RawString()) + } + d.skipValue() + continue Loop + } + // Continue below. + case text.MessageClose: + break Loop + default: + return d.unexpectedTokenError(tok) + } + + switch name := pref.Name(tok.IdentName()); name { + case genid.MapEntry_Key_field_name: + if !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + if key.IsValid() { + return d.newError(tok.Pos(), "map entry %q cannot be repeated", name) + } + val, err := d.unmarshalScalar(fd.MapKey()) + if err != nil { + return err + } + key = val.MapKey() + + case genid.MapEntry_Value_field_name: + if kind := fd.MapValue().Kind(); (kind != pref.MessageKind) && (kind != pref.GroupKind) { + if !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + } + if pval.IsValid() { + return d.newError(tok.Pos(), "map entry %q cannot be repeated", name) + } + pval, err = unmarshalMapValue() + if err != nil { + return err + } + + default: + if !d.opts.DiscardUnknown { + return d.newError(tok.Pos(), "unknown map entry field %q", name) + } + d.skipValue() + } + } + + if !key.IsValid() { + key = fd.MapKey().Default().MapKey() + } + if !pval.IsValid() { + switch fd.MapValue().Kind() { + case pref.MessageKind, pref.GroupKind: + // If value field is not set for message/group types, construct an + // empty one as default. + pval = mmap.NewValue() + default: + pval = fd.MapValue().Default() + } + } + mmap.Set(key, pval) + return nil +} + +// unmarshalAny unmarshals an Any textproto. It can either be in expanded form +// or non-expanded form. +func (d decoder) unmarshalAny(m pref.Message, checkDelims bool) error { + var typeURL string + var bValue []byte + var seenTypeUrl bool + var seenValue bool + var isExpanded bool + + if checkDelims { + tok, err := d.Read() + if err != nil { + return err + } + + if tok.Kind() != text.MessageOpen { + return d.unexpectedTokenError(tok) + } + } + +Loop: + for { + // Read field name. Can only have 3 possible field names, i.e. type_url, + // value and type URL name inside []. + tok, err := d.Read() + if err != nil { + return err + } + if typ := tok.Kind(); typ != text.Name { + if checkDelims { + if typ == text.MessageClose { + break Loop + } + } else if typ == text.EOF { + break Loop + } + return d.unexpectedTokenError(tok) + } + + switch tok.NameKind() { + case text.IdentName: + // Both type_url and value fields require field separator :. + if !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + + switch name := pref.Name(tok.IdentName()); name { + case genid.Any_TypeUrl_field_name: + if seenTypeUrl { + return d.newError(tok.Pos(), "duplicate %v field", genid.Any_TypeUrl_field_fullname) + } + if isExpanded { + return d.newError(tok.Pos(), "conflict with [%s] field", typeURL) + } + tok, err := d.Read() + if err != nil { + return err + } + var ok bool + typeURL, ok = tok.String() + if !ok { + return d.newError(tok.Pos(), "invalid %v field value: %v", genid.Any_TypeUrl_field_fullname, tok.RawString()) + } + seenTypeUrl = true + + case genid.Any_Value_field_name: + if seenValue { + return d.newError(tok.Pos(), "duplicate %v field", genid.Any_Value_field_fullname) + } + if isExpanded { + return d.newError(tok.Pos(), "conflict with [%s] field", typeURL) + } + tok, err := d.Read() + if err != nil { + return err + } + s, ok := tok.String() + if !ok { + return d.newError(tok.Pos(), "invalid %v field value: %v", genid.Any_Value_field_fullname, tok.RawString()) + } + bValue = []byte(s) + seenValue = true + + default: + if !d.opts.DiscardUnknown { + return d.newError(tok.Pos(), "invalid field name %q in %v message", tok.RawString(), genid.Any_message_fullname) + } + } + + case text.TypeName: + if isExpanded { + return d.newError(tok.Pos(), "cannot have more than one type") + } + if seenTypeUrl { + return d.newError(tok.Pos(), "conflict with type_url field") + } + typeURL = tok.TypeName() + var err error + bValue, err = d.unmarshalExpandedAny(typeURL, tok.Pos()) + if err != nil { + return err + } + isExpanded = true + + default: + if !d.opts.DiscardUnknown { + return d.newError(tok.Pos(), "invalid field name %q in %v message", tok.RawString(), genid.Any_message_fullname) + } + } + } + + fds := m.Descriptor().Fields() + if len(typeURL) > 0 { + m.Set(fds.ByNumber(genid.Any_TypeUrl_field_number), pref.ValueOfString(typeURL)) + } + if len(bValue) > 0 { + m.Set(fds.ByNumber(genid.Any_Value_field_number), pref.ValueOfBytes(bValue)) + } + return nil +} + +func (d decoder) unmarshalExpandedAny(typeURL string, pos int) ([]byte, error) { + mt, err := d.opts.Resolver.FindMessageByURL(typeURL) + if err != nil { + return nil, d.newError(pos, "unable to resolve message [%v]: %v", typeURL, err) + } + // Create new message for the embedded message type and unmarshal the value + // field into it. + m := mt.New() + if err := d.unmarshalMessage(m, true); err != nil { + return nil, err + } + // Serialize the embedded message and return the resulting bytes. + b, err := proto.MarshalOptions{ + AllowPartial: true, // Never check required fields inside an Any. + Deterministic: true, + }.Marshal(m.Interface()) + if err != nil { + return nil, d.newError(pos, "error in marshaling message into Any.value: %v", err) + } + return b, nil +} + +// skipValue makes the decoder parse a field value in order to advance the read +// to the next field. It relies on Read returning an error if the types are not +// in valid sequence. +func (d decoder) skipValue() error { + tok, err := d.Read() + if err != nil { + return err + } + // Only need to continue reading for messages and lists. + switch tok.Kind() { + case text.MessageOpen: + return d.skipMessageValue() + + case text.ListOpen: + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.ListClose: + return nil + case text.MessageOpen: + return d.skipMessageValue() + default: + // Skip items. This will not validate whether skipped values are + // of the same type or not, same behavior as C++ + // TextFormat::Parser::AllowUnknownField(true) version 3.8.0. + if err := d.skipValue(); err != nil { + return err + } + } + } + } + return nil +} + +// skipMessageValue makes the decoder parse and skip over all fields in a +// message. It assumes that the previous read type is MessageOpen. +func (d decoder) skipMessageValue() error { + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.MessageClose: + return nil + case text.Name: + if err := d.skipValue(); err != nil { + return err + } + } + } +} diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/doc.go b/vendor/google.golang.org/protobuf/encoding/prototext/doc.go new file mode 100644 index 000000000..162b4f98a --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/prototext/doc.go @@ -0,0 +1,7 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package prototext marshals and unmarshals protocol buffer messages as the +// textproto format. +package prototext diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/encode.go b/vendor/google.golang.org/protobuf/encoding/prototext/encode.go new file mode 100644 index 000000000..8d5304dc5 --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/prototext/encode.go @@ -0,0 +1,371 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package prototext + +import ( + "fmt" + "strconv" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/encoding/text" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/order" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + pref "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +const defaultIndent = " " + +// Format formats the message as a multiline string. +// This function is only intended for human consumption and ignores errors. +// Do not depend on the output being stable. It may change over time across +// different versions of the program. +func Format(m proto.Message) string { + return MarshalOptions{Multiline: true}.Format(m) +} + +// Marshal writes the given proto.Message in textproto format using default +// options. Do not depend on the output being stable. It may change over time +// across different versions of the program. +func Marshal(m proto.Message) ([]byte, error) { + return MarshalOptions{}.Marshal(m) +} + +// MarshalOptions is a configurable text format marshaler. +type MarshalOptions struct { + pragma.NoUnkeyedLiterals + + // Multiline specifies whether the marshaler should format the output in + // indented-form with every textual element on a new line. + // If Indent is an empty string, then an arbitrary indent is chosen. + Multiline bool + + // Indent specifies the set of indentation characters to use in a multiline + // formatted output such that every entry is preceded by Indent and + // terminated by a newline. If non-empty, then Multiline is treated as true. + // Indent can only be composed of space or tab characters. + Indent string + + // EmitASCII specifies whether to format strings and bytes as ASCII only + // as opposed to using UTF-8 encoding when possible. + EmitASCII bool + + // allowInvalidUTF8 specifies whether to permit the encoding of strings + // with invalid UTF-8. This is unexported as it is intended to only + // be specified by the Format method. + allowInvalidUTF8 bool + + // AllowPartial allows messages that have missing required fields to marshal + // without returning an error. If AllowPartial is false (the default), + // Marshal will return error if there are any missing required fields. + AllowPartial bool + + // EmitUnknown specifies whether to emit unknown fields in the output. + // If specified, the unmarshaler may be unable to parse the output. + // The default is to exclude unknown fields. + EmitUnknown bool + + // Resolver is used for looking up types when expanding google.protobuf.Any + // messages. If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + protoregistry.ExtensionTypeResolver + protoregistry.MessageTypeResolver + } +} + +// Format formats the message as a string. +// This method is only intended for human consumption and ignores errors. +// Do not depend on the output being stable. It may change over time across +// different versions of the program. +func (o MarshalOptions) Format(m proto.Message) string { + if m == nil || !m.ProtoReflect().IsValid() { + return "<nil>" // invalid syntax, but okay since this is for debugging + } + o.allowInvalidUTF8 = true + o.AllowPartial = true + o.EmitUnknown = true + b, _ := o.Marshal(m) + return string(b) +} + +// Marshal writes the given proto.Message in textproto format using options in +// MarshalOptions object. Do not depend on the output being stable. It may +// change over time across different versions of the program. +func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) { + return o.marshal(m) +} + +// marshal is a centralized function that all marshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for marshal that do not go through this. +func (o MarshalOptions) marshal(m proto.Message) ([]byte, error) { + var delims = [2]byte{'{', '}'} + + if o.Multiline && o.Indent == "" { + o.Indent = defaultIndent + } + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + + internalEnc, err := text.NewEncoder(o.Indent, delims, o.EmitASCII) + if err != nil { + return nil, err + } + + // Treat nil message interface as an empty message, + // in which case there is nothing to output. + if m == nil { + return []byte{}, nil + } + + enc := encoder{internalEnc, o} + err = enc.marshalMessage(m.ProtoReflect(), false) + if err != nil { + return nil, err + } + out := enc.Bytes() + if len(o.Indent) > 0 && len(out) > 0 { + out = append(out, '\n') + } + if o.AllowPartial { + return out, nil + } + return out, proto.CheckInitialized(m) +} + +type encoder struct { + *text.Encoder + opts MarshalOptions +} + +// marshalMessage marshals the given protoreflect.Message. +func (e encoder) marshalMessage(m pref.Message, inclDelims bool) error { + messageDesc := m.Descriptor() + if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) { + return errors.New("no support for proto1 MessageSets") + } + + if inclDelims { + e.StartMessage() + defer e.EndMessage() + } + + // Handle Any expansion. + if messageDesc.FullName() == genid.Any_message_fullname { + if e.marshalAny(m) { + return nil + } + // If unable to expand, continue on to marshal Any as a regular message. + } + + // Marshal fields. + var err error + order.RangeFields(m, order.IndexNameFieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + if err = e.marshalField(fd.TextName(), v, fd); err != nil { + return false + } + return true + }) + if err != nil { + return err + } + + // Marshal unknown fields. + if e.opts.EmitUnknown { + e.marshalUnknown(m.GetUnknown()) + } + + return nil +} + +// marshalField marshals the given field with protoreflect.Value. +func (e encoder) marshalField(name string, val pref.Value, fd pref.FieldDescriptor) error { + switch { + case fd.IsList(): + return e.marshalList(name, val.List(), fd) + case fd.IsMap(): + return e.marshalMap(name, val.Map(), fd) + default: + e.WriteName(name) + return e.marshalSingular(val, fd) + } +} + +// marshalSingular marshals the given non-repeated field value. This includes +// all scalar types, enums, messages, and groups. +func (e encoder) marshalSingular(val pref.Value, fd pref.FieldDescriptor) error { + kind := fd.Kind() + switch kind { + case pref.BoolKind: + e.WriteBool(val.Bool()) + + case pref.StringKind: + s := val.String() + if !e.opts.allowInvalidUTF8 && strs.EnforceUTF8(fd) && !utf8.ValidString(s) { + return errors.InvalidUTF8(string(fd.FullName())) + } + e.WriteString(s) + + case pref.Int32Kind, pref.Int64Kind, + pref.Sint32Kind, pref.Sint64Kind, + pref.Sfixed32Kind, pref.Sfixed64Kind: + e.WriteInt(val.Int()) + + case pref.Uint32Kind, pref.Uint64Kind, + pref.Fixed32Kind, pref.Fixed64Kind: + e.WriteUint(val.Uint()) + + case pref.FloatKind: + // Encoder.WriteFloat handles the special numbers NaN and infinites. + e.WriteFloat(val.Float(), 32) + + case pref.DoubleKind: + // Encoder.WriteFloat handles the special numbers NaN and infinites. + e.WriteFloat(val.Float(), 64) + + case pref.BytesKind: + e.WriteString(string(val.Bytes())) + + case pref.EnumKind: + num := val.Enum() + if desc := fd.Enum().Values().ByNumber(num); desc != nil { + e.WriteLiteral(string(desc.Name())) + } else { + // Use numeric value if there is no enum description. + e.WriteInt(int64(num)) + } + + case pref.MessageKind, pref.GroupKind: + return e.marshalMessage(val.Message(), true) + + default: + panic(fmt.Sprintf("%v has unknown kind: %v", fd.FullName(), kind)) + } + return nil +} + +// marshalList marshals the given protoreflect.List as multiple name-value fields. +func (e encoder) marshalList(name string, list pref.List, fd pref.FieldDescriptor) error { + size := list.Len() + for i := 0; i < size; i++ { + e.WriteName(name) + if err := e.marshalSingular(list.Get(i), fd); err != nil { + return err + } + } + return nil +} + +// marshalMap marshals the given protoreflect.Map as multiple name-value fields. +func (e encoder) marshalMap(name string, mmap pref.Map, fd pref.FieldDescriptor) error { + var err error + order.RangeEntries(mmap, order.GenericKeyOrder, func(key pref.MapKey, val pref.Value) bool { + e.WriteName(name) + e.StartMessage() + defer e.EndMessage() + + e.WriteName(string(genid.MapEntry_Key_field_name)) + err = e.marshalSingular(key.Value(), fd.MapKey()) + if err != nil { + return false + } + + e.WriteName(string(genid.MapEntry_Value_field_name)) + err = e.marshalSingular(val, fd.MapValue()) + if err != nil { + return false + } + return true + }) + return err +} + +// marshalUnknown parses the given []byte and marshals fields out. +// This function assumes proper encoding in the given []byte. +func (e encoder) marshalUnknown(b []byte) { + const dec = 10 + const hex = 16 + for len(b) > 0 { + num, wtype, n := protowire.ConsumeTag(b) + b = b[n:] + e.WriteName(strconv.FormatInt(int64(num), dec)) + + switch wtype { + case protowire.VarintType: + var v uint64 + v, n = protowire.ConsumeVarint(b) + e.WriteUint(v) + case protowire.Fixed32Type: + var v uint32 + v, n = protowire.ConsumeFixed32(b) + e.WriteLiteral("0x" + strconv.FormatUint(uint64(v), hex)) + case protowire.Fixed64Type: + var v uint64 + v, n = protowire.ConsumeFixed64(b) + e.WriteLiteral("0x" + strconv.FormatUint(v, hex)) + case protowire.BytesType: + var v []byte + v, n = protowire.ConsumeBytes(b) + e.WriteString(string(v)) + case protowire.StartGroupType: + e.StartMessage() + var v []byte + v, n = protowire.ConsumeGroup(num, b) + e.marshalUnknown(v) + e.EndMessage() + default: + panic(fmt.Sprintf("prototext: error parsing unknown field wire type: %v", wtype)) + } + + b = b[n:] + } +} + +// marshalAny marshals the given google.protobuf.Any message in expanded form. +// It returns true if it was able to marshal, else false. +func (e encoder) marshalAny(any pref.Message) bool { + // Construct the embedded message. + fds := any.Descriptor().Fields() + fdType := fds.ByNumber(genid.Any_TypeUrl_field_number) + typeURL := any.Get(fdType).String() + mt, err := e.opts.Resolver.FindMessageByURL(typeURL) + if err != nil { + return false + } + m := mt.New().Interface() + + // Unmarshal bytes into embedded message. + fdValue := fds.ByNumber(genid.Any_Value_field_number) + value := any.Get(fdValue) + err = proto.UnmarshalOptions{ + AllowPartial: true, + Resolver: e.opts.Resolver, + }.Unmarshal(value.Bytes(), m) + if err != nil { + return false + } + + // Get current encoder position. If marshaling fails, reset encoder output + // back to this position. + pos := e.Snapshot() + + // Field name is the proto field name enclosed in []. + e.WriteName("[" + typeURL + "]") + err = e.marshalMessage(m.ProtoReflect(), true) + if err != nil { + e.Reset(pos) + return false + } + return true +} diff --git a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go new file mode 100644 index 000000000..a427f8b70 --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go @@ -0,0 +1,538 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protowire parses and formats the raw wire encoding. +// See https://developers.google.com/protocol-buffers/docs/encoding. +// +// For marshaling and unmarshaling entire protobuf messages, +// use the "google.golang.org/protobuf/proto" package instead. +package protowire + +import ( + "io" + "math" + "math/bits" + + "google.golang.org/protobuf/internal/errors" +) + +// Number represents the field number. +type Number int32 + +const ( + MinValidNumber Number = 1 + FirstReservedNumber Number = 19000 + LastReservedNumber Number = 19999 + MaxValidNumber Number = 1<<29 - 1 +) + +// IsValid reports whether the field number is semantically valid. +// +// Note that while numbers within the reserved range are semantically invalid, +// they are syntactically valid in the wire format. +// Implementations may treat records with reserved field numbers as unknown. +func (n Number) IsValid() bool { + return MinValidNumber <= n && n < FirstReservedNumber || LastReservedNumber < n && n <= MaxValidNumber +} + +// Type represents the wire type. +type Type int8 + +const ( + VarintType Type = 0 + Fixed32Type Type = 5 + Fixed64Type Type = 1 + BytesType Type = 2 + StartGroupType Type = 3 + EndGroupType Type = 4 +) + +const ( + _ = -iota + errCodeTruncated + errCodeFieldNumber + errCodeOverflow + errCodeReserved + errCodeEndGroup +) + +var ( + errFieldNumber = errors.New("invalid field number") + errOverflow = errors.New("variable length integer overflow") + errReserved = errors.New("cannot parse reserved wire type") + errEndGroup = errors.New("mismatching end group marker") + errParse = errors.New("parse error") +) + +// ParseError converts an error code into an error value. +// This returns nil if n is a non-negative number. +func ParseError(n int) error { + if n >= 0 { + return nil + } + switch n { + case errCodeTruncated: + return io.ErrUnexpectedEOF + case errCodeFieldNumber: + return errFieldNumber + case errCodeOverflow: + return errOverflow + case errCodeReserved: + return errReserved + case errCodeEndGroup: + return errEndGroup + default: + return errParse + } +} + +// ConsumeField parses an entire field record (both tag and value) and returns +// the field number, the wire type, and the total length. +// This returns a negative length upon an error (see ParseError). +// +// The total length includes the tag header and the end group marker (if the +// field is a group). +func ConsumeField(b []byte) (Number, Type, int) { + num, typ, n := ConsumeTag(b) + if n < 0 { + return 0, 0, n // forward error code + } + m := ConsumeFieldValue(num, typ, b[n:]) + if m < 0 { + return 0, 0, m // forward error code + } + return num, typ, n + m +} + +// ConsumeFieldValue parses a field value and returns its length. +// This assumes that the field Number and wire Type have already been parsed. +// This returns a negative length upon an error (see ParseError). +// +// When parsing a group, the length includes the end group marker and +// the end group is verified to match the starting field number. +func ConsumeFieldValue(num Number, typ Type, b []byte) (n int) { + switch typ { + case VarintType: + _, n = ConsumeVarint(b) + return n + case Fixed32Type: + _, n = ConsumeFixed32(b) + return n + case Fixed64Type: + _, n = ConsumeFixed64(b) + return n + case BytesType: + _, n = ConsumeBytes(b) + return n + case StartGroupType: + n0 := len(b) + for { + num2, typ2, n := ConsumeTag(b) + if n < 0 { + return n // forward error code + } + b = b[n:] + if typ2 == EndGroupType { + if num != num2 { + return errCodeEndGroup + } + return n0 - len(b) + } + + n = ConsumeFieldValue(num2, typ2, b) + if n < 0 { + return n // forward error code + } + b = b[n:] + } + case EndGroupType: + return errCodeEndGroup + default: + return errCodeReserved + } +} + +// AppendTag encodes num and typ as a varint-encoded tag and appends it to b. +func AppendTag(b []byte, num Number, typ Type) []byte { + return AppendVarint(b, EncodeTag(num, typ)) +} + +// ConsumeTag parses b as a varint-encoded tag, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeTag(b []byte) (Number, Type, int) { + v, n := ConsumeVarint(b) + if n < 0 { + return 0, 0, n // forward error code + } + num, typ := DecodeTag(v) + if num < MinValidNumber { + return 0, 0, errCodeFieldNumber + } + return num, typ, n +} + +func SizeTag(num Number) int { + return SizeVarint(EncodeTag(num, 0)) // wire type has no effect on size +} + +// AppendVarint appends v to b as a varint-encoded uint64. +func AppendVarint(b []byte, v uint64) []byte { + switch { + case v < 1<<7: + b = append(b, byte(v)) + case v < 1<<14: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte(v>>7)) + case v < 1<<21: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte(v>>14)) + case v < 1<<28: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte(v>>21)) + case v < 1<<35: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte(v>>28)) + case v < 1<<42: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte(v>>35)) + case v < 1<<49: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte(v>>42)) + case v < 1<<56: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte(v>>49)) + case v < 1<<63: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte(v>>56)) + default: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte((v>>56)&0x7f|0x80), + 1) + } + return b +} + +// ConsumeVarint parses b as a varint-encoded uint64, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeVarint(b []byte) (v uint64, n int) { + var y uint64 + if len(b) <= 0 { + return 0, errCodeTruncated + } + v = uint64(b[0]) + if v < 0x80 { + return v, 1 + } + v -= 0x80 + + if len(b) <= 1 { + return 0, errCodeTruncated + } + y = uint64(b[1]) + v += y << 7 + if y < 0x80 { + return v, 2 + } + v -= 0x80 << 7 + + if len(b) <= 2 { + return 0, errCodeTruncated + } + y = uint64(b[2]) + v += y << 14 + if y < 0x80 { + return v, 3 + } + v -= 0x80 << 14 + + if len(b) <= 3 { + return 0, errCodeTruncated + } + y = uint64(b[3]) + v += y << 21 + if y < 0x80 { + return v, 4 + } + v -= 0x80 << 21 + + if len(b) <= 4 { + return 0, errCodeTruncated + } + y = uint64(b[4]) + v += y << 28 + if y < 0x80 { + return v, 5 + } + v -= 0x80 << 28 + + if len(b) <= 5 { + return 0, errCodeTruncated + } + y = uint64(b[5]) + v += y << 35 + if y < 0x80 { + return v, 6 + } + v -= 0x80 << 35 + + if len(b) <= 6 { + return 0, errCodeTruncated + } + y = uint64(b[6]) + v += y << 42 + if y < 0x80 { + return v, 7 + } + v -= 0x80 << 42 + + if len(b) <= 7 { + return 0, errCodeTruncated + } + y = uint64(b[7]) + v += y << 49 + if y < 0x80 { + return v, 8 + } + v -= 0x80 << 49 + + if len(b) <= 8 { + return 0, errCodeTruncated + } + y = uint64(b[8]) + v += y << 56 + if y < 0x80 { + return v, 9 + } + v -= 0x80 << 56 + + if len(b) <= 9 { + return 0, errCodeTruncated + } + y = uint64(b[9]) + v += y << 63 + if y < 2 { + return v, 10 + } + return 0, errCodeOverflow +} + +// SizeVarint returns the encoded size of a varint. +// The size is guaranteed to be within 1 and 10, inclusive. +func SizeVarint(v uint64) int { + // This computes 1 + (bits.Len64(v)-1)/7. + // 9/64 is a good enough approximation of 1/7 + return int(9*uint32(bits.Len64(v))+64) / 64 +} + +// AppendFixed32 appends v to b as a little-endian uint32. +func AppendFixed32(b []byte, v uint32) []byte { + return append(b, + byte(v>>0), + byte(v>>8), + byte(v>>16), + byte(v>>24)) +} + +// ConsumeFixed32 parses b as a little-endian uint32, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeFixed32(b []byte) (v uint32, n int) { + if len(b) < 4 { + return 0, errCodeTruncated + } + v = uint32(b[0])<<0 | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + return v, 4 +} + +// SizeFixed32 returns the encoded size of a fixed32; which is always 4. +func SizeFixed32() int { + return 4 +} + +// AppendFixed64 appends v to b as a little-endian uint64. +func AppendFixed64(b []byte, v uint64) []byte { + return append(b, + byte(v>>0), + byte(v>>8), + byte(v>>16), + byte(v>>24), + byte(v>>32), + byte(v>>40), + byte(v>>48), + byte(v>>56)) +} + +// ConsumeFixed64 parses b as a little-endian uint64, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeFixed64(b []byte) (v uint64, n int) { + if len(b) < 8 { + return 0, errCodeTruncated + } + v = uint64(b[0])<<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 + return v, 8 +} + +// SizeFixed64 returns the encoded size of a fixed64; which is always 8. +func SizeFixed64() int { + return 8 +} + +// AppendBytes appends v to b as a length-prefixed bytes value. +func AppendBytes(b []byte, v []byte) []byte { + return append(AppendVarint(b, uint64(len(v))), v...) +} + +// ConsumeBytes parses b as a length-prefixed bytes value, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeBytes(b []byte) (v []byte, n int) { + m, n := ConsumeVarint(b) + if n < 0 { + return nil, n // forward error code + } + if m > uint64(len(b[n:])) { + return nil, errCodeTruncated + } + return b[n:][:m], n + int(m) +} + +// SizeBytes returns the encoded size of a length-prefixed bytes value, +// given only the length. +func SizeBytes(n int) int { + return SizeVarint(uint64(n)) + n +} + +// AppendString appends v to b as a length-prefixed bytes value. +func AppendString(b []byte, v string) []byte { + return append(AppendVarint(b, uint64(len(v))), v...) +} + +// ConsumeString parses b as a length-prefixed bytes value, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeString(b []byte) (v string, n int) { + bb, n := ConsumeBytes(b) + return string(bb), n +} + +// AppendGroup appends v to b as group value, with a trailing end group marker. +// The value v must not contain the end marker. +func AppendGroup(b []byte, num Number, v []byte) []byte { + return AppendVarint(append(b, v...), EncodeTag(num, EndGroupType)) +} + +// ConsumeGroup parses b as a group value until the trailing end group marker, +// and verifies that the end marker matches the provided num. The value v +// does not contain the end marker, while the length does contain the end marker. +// This returns a negative length upon an error (see ParseError). +func ConsumeGroup(num Number, b []byte) (v []byte, n int) { + n = ConsumeFieldValue(num, StartGroupType, b) + if n < 0 { + return nil, n // forward error code + } + b = b[:n] + + // Truncate off end group marker, but need to handle denormalized varints. + // Assuming end marker is never 0 (which is always the case since + // EndGroupType is non-zero), we can truncate all trailing bytes where the + // lower 7 bits are all zero (implying that the varint is denormalized). + for len(b) > 0 && b[len(b)-1]&0x7f == 0 { + b = b[:len(b)-1] + } + b = b[:len(b)-SizeTag(num)] + return b, n +} + +// SizeGroup returns the encoded size of a group, given only the length. +func SizeGroup(num Number, n int) int { + return n + SizeTag(num) +} + +// DecodeTag decodes the field Number and wire Type from its unified form. +// The Number is -1 if the decoded field number overflows int32. +// Other than overflow, this does not check for field number validity. +func DecodeTag(x uint64) (Number, Type) { + // NOTE: MessageSet allows for larger field numbers than normal. + if x>>3 > uint64(math.MaxInt32) { + return -1, 0 + } + return Number(x >> 3), Type(x & 7) +} + +// EncodeTag encodes the field Number and wire Type into its unified form. +func EncodeTag(num Number, typ Type) uint64 { + return uint64(num)<<3 | uint64(typ&7) +} + +// DecodeZigZag decodes a zig-zag-encoded uint64 as an int64. +// Input: {…, 5, 3, 1, 0, 2, 4, 6, …} +// Output: {…, -3, -2, -1, 0, +1, +2, +3, …} +func DecodeZigZag(x uint64) int64 { + return int64(x>>1) ^ int64(x)<<63>>63 +} + +// EncodeZigZag encodes an int64 as a zig-zag-encoded uint64. +// Input: {…, -3, -2, -1, 0, +1, +2, +3, …} +// Output: {…, 5, 3, 1, 0, 2, 4, 6, …} +func EncodeZigZag(x int64) uint64 { + return uint64(x<<1) ^ uint64(x>>63) +} + +// DecodeBool decodes a uint64 as a bool. +// Input: { 0, 1, 2, …} +// Output: {false, true, true, …} +func DecodeBool(x uint64) bool { + return x != 0 +} + +// EncodeBool encodes a bool as a uint64. +// Input: {false, true} +// Output: { 0, 1} +func EncodeBool(x bool) uint64 { + if x { + return 1 + } + return 0 +} diff --git a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go new file mode 100644 index 000000000..360c63329 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go @@ -0,0 +1,318 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package descfmt provides functionality to format descriptors. +package descfmt + +import ( + "fmt" + "io" + "reflect" + "strconv" + "strings" + + "google.golang.org/protobuf/internal/detrand" + "google.golang.org/protobuf/internal/pragma" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type list interface { + Len() int + pragma.DoNotImplement +} + +func FormatList(s fmt.State, r rune, vs list) { + io.WriteString(s, formatListOpt(vs, true, r == 'v' && (s.Flag('+') || s.Flag('#')))) +} +func formatListOpt(vs list, isRoot, allowMulti bool) string { + start, end := "[", "]" + if isRoot { + var name string + switch vs.(type) { + case pref.Names: + name = "Names" + case pref.FieldNumbers: + name = "FieldNumbers" + case pref.FieldRanges: + name = "FieldRanges" + case pref.EnumRanges: + name = "EnumRanges" + case pref.FileImports: + name = "FileImports" + case pref.Descriptor: + name = reflect.ValueOf(vs).MethodByName("Get").Type().Out(0).Name() + "s" + default: + name = reflect.ValueOf(vs).Elem().Type().Name() + } + start, end = name+"{", "}" + } + + var ss []string + switch vs := vs.(type) { + case pref.Names: + for i := 0; i < vs.Len(); i++ { + ss = append(ss, fmt.Sprint(vs.Get(i))) + } + return start + joinStrings(ss, false) + end + case pref.FieldNumbers: + for i := 0; i < vs.Len(); i++ { + ss = append(ss, fmt.Sprint(vs.Get(i))) + } + return start + joinStrings(ss, false) + end + case pref.FieldRanges: + for i := 0; i < vs.Len(); i++ { + r := vs.Get(i) + if r[0]+1 == r[1] { + ss = append(ss, fmt.Sprintf("%d", r[0])) + } else { + ss = append(ss, fmt.Sprintf("%d:%d", r[0], r[1])) // enum ranges are end exclusive + } + } + return start + joinStrings(ss, false) + end + case pref.EnumRanges: + for i := 0; i < vs.Len(); i++ { + r := vs.Get(i) + if r[0] == r[1] { + ss = append(ss, fmt.Sprintf("%d", r[0])) + } else { + ss = append(ss, fmt.Sprintf("%d:%d", r[0], int64(r[1])+1)) // enum ranges are end inclusive + } + } + return start + joinStrings(ss, false) + end + case pref.FileImports: + for i := 0; i < vs.Len(); i++ { + var rs records + rs.Append(reflect.ValueOf(vs.Get(i)), "Path", "Package", "IsPublic", "IsWeak") + ss = append(ss, "{"+rs.Join()+"}") + } + return start + joinStrings(ss, allowMulti) + end + default: + _, isEnumValue := vs.(pref.EnumValueDescriptors) + for i := 0; i < vs.Len(); i++ { + m := reflect.ValueOf(vs).MethodByName("Get") + v := m.Call([]reflect.Value{reflect.ValueOf(i)})[0].Interface() + ss = append(ss, formatDescOpt(v.(pref.Descriptor), false, allowMulti && !isEnumValue)) + } + return start + joinStrings(ss, allowMulti && isEnumValue) + end + } +} + +// descriptorAccessors is a list of accessors to print for each descriptor. +// +// Do not print all accessors since some contain redundant information, +// while others are pointers that we do not want to follow since the descriptor +// is actually a cyclic graph. +// +// Using a list allows us to print the accessors in a sensible order. +var descriptorAccessors = map[reflect.Type][]string{ + reflect.TypeOf((*pref.FileDescriptor)(nil)).Elem(): {"Path", "Package", "Imports", "Messages", "Enums", "Extensions", "Services"}, + reflect.TypeOf((*pref.MessageDescriptor)(nil)).Elem(): {"IsMapEntry", "Fields", "Oneofs", "ReservedNames", "ReservedRanges", "RequiredNumbers", "ExtensionRanges", "Messages", "Enums", "Extensions"}, + reflect.TypeOf((*pref.FieldDescriptor)(nil)).Elem(): {"Number", "Cardinality", "Kind", "HasJSONName", "JSONName", "HasPresence", "IsExtension", "IsPacked", "IsWeak", "IsList", "IsMap", "MapKey", "MapValue", "HasDefault", "Default", "ContainingOneof", "ContainingMessage", "Message", "Enum"}, + reflect.TypeOf((*pref.OneofDescriptor)(nil)).Elem(): {"Fields"}, // not directly used; must keep in sync with formatDescOpt + reflect.TypeOf((*pref.EnumDescriptor)(nil)).Elem(): {"Values", "ReservedNames", "ReservedRanges"}, + reflect.TypeOf((*pref.EnumValueDescriptor)(nil)).Elem(): {"Number"}, + reflect.TypeOf((*pref.ServiceDescriptor)(nil)).Elem(): {"Methods"}, + reflect.TypeOf((*pref.MethodDescriptor)(nil)).Elem(): {"Input", "Output", "IsStreamingClient", "IsStreamingServer"}, +} + +func FormatDesc(s fmt.State, r rune, t pref.Descriptor) { + io.WriteString(s, formatDescOpt(t, true, r == 'v' && (s.Flag('+') || s.Flag('#')))) +} +func formatDescOpt(t pref.Descriptor, isRoot, allowMulti bool) string { + rv := reflect.ValueOf(t) + rt := rv.MethodByName("ProtoType").Type().In(0) + + start, end := "{", "}" + if isRoot { + start = rt.Name() + "{" + } + + _, isFile := t.(pref.FileDescriptor) + rs := records{allowMulti: allowMulti} + if t.IsPlaceholder() { + if isFile { + rs.Append(rv, "Path", "Package", "IsPlaceholder") + } else { + rs.Append(rv, "FullName", "IsPlaceholder") + } + } else { + switch { + case isFile: + rs.Append(rv, "Syntax") + case isRoot: + rs.Append(rv, "Syntax", "FullName") + default: + rs.Append(rv, "Name") + } + switch t := t.(type) { + case pref.FieldDescriptor: + for _, s := range descriptorAccessors[rt] { + switch s { + case "MapKey": + if k := t.MapKey(); k != nil { + rs.recs = append(rs.recs, [2]string{"MapKey", k.Kind().String()}) + } + case "MapValue": + if v := t.MapValue(); v != nil { + switch v.Kind() { + case pref.EnumKind: + rs.recs = append(rs.recs, [2]string{"MapValue", string(v.Enum().FullName())}) + case pref.MessageKind, pref.GroupKind: + rs.recs = append(rs.recs, [2]string{"MapValue", string(v.Message().FullName())}) + default: + rs.recs = append(rs.recs, [2]string{"MapValue", v.Kind().String()}) + } + } + case "ContainingOneof": + if od := t.ContainingOneof(); od != nil { + rs.recs = append(rs.recs, [2]string{"Oneof", string(od.Name())}) + } + case "ContainingMessage": + if t.IsExtension() { + rs.recs = append(rs.recs, [2]string{"Extendee", string(t.ContainingMessage().FullName())}) + } + case "Message": + if !t.IsMap() { + rs.Append(rv, s) + } + default: + rs.Append(rv, s) + } + } + case pref.OneofDescriptor: + var ss []string + fs := t.Fields() + for i := 0; i < fs.Len(); i++ { + ss = append(ss, string(fs.Get(i).Name())) + } + if len(ss) > 0 { + rs.recs = append(rs.recs, [2]string{"Fields", "[" + joinStrings(ss, false) + "]"}) + } + default: + rs.Append(rv, descriptorAccessors[rt]...) + } + if rv.MethodByName("GoType").IsValid() { + rs.Append(rv, "GoType") + } + } + return start + rs.Join() + end +} + +type records struct { + recs [][2]string + allowMulti bool +} + +func (rs *records) Append(v reflect.Value, accessors ...string) { + for _, a := range accessors { + var rv reflect.Value + if m := v.MethodByName(a); m.IsValid() { + rv = m.Call(nil)[0] + } + if v.Kind() == reflect.Struct && !rv.IsValid() { + rv = v.FieldByName(a) + } + if !rv.IsValid() { + panic(fmt.Sprintf("unknown accessor: %v.%s", v.Type(), a)) + } + if _, ok := rv.Interface().(pref.Value); ok { + rv = rv.MethodByName("Interface").Call(nil)[0] + if !rv.IsNil() { + rv = rv.Elem() + } + } + + // Ignore zero values. + var isZero bool + switch rv.Kind() { + case reflect.Interface, reflect.Slice: + isZero = rv.IsNil() + case reflect.Bool: + isZero = rv.Bool() == false + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + isZero = rv.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + isZero = rv.Uint() == 0 + case reflect.String: + isZero = rv.String() == "" + } + if n, ok := rv.Interface().(list); ok { + isZero = n.Len() == 0 + } + if isZero { + continue + } + + // Format the value. + var s string + v := rv.Interface() + switch v := v.(type) { + case list: + s = formatListOpt(v, false, rs.allowMulti) + case pref.FieldDescriptor, pref.OneofDescriptor, pref.EnumValueDescriptor, pref.MethodDescriptor: + s = string(v.(pref.Descriptor).Name()) + case pref.Descriptor: + s = string(v.FullName()) + case string: + s = strconv.Quote(v) + case []byte: + s = fmt.Sprintf("%q", v) + default: + s = fmt.Sprint(v) + } + rs.recs = append(rs.recs, [2]string{a, s}) + } +} + +func (rs *records) Join() string { + var ss []string + + // In single line mode, simply join all records with commas. + if !rs.allowMulti { + for _, r := range rs.recs { + ss = append(ss, r[0]+formatColon(0)+r[1]) + } + return joinStrings(ss, false) + } + + // In allowMulti line mode, align single line records for more readable output. + var maxLen int + flush := func(i int) { + for _, r := range rs.recs[len(ss):i] { + ss = append(ss, r[0]+formatColon(maxLen-len(r[0]))+r[1]) + } + maxLen = 0 + } + for i, r := range rs.recs { + if isMulti := strings.Contains(r[1], "\n"); isMulti { + flush(i) + ss = append(ss, r[0]+formatColon(0)+strings.Join(strings.Split(r[1], "\n"), "\n\t")) + } else if maxLen < len(r[0]) { + maxLen = len(r[0]) + } + } + flush(len(rs.recs)) + return joinStrings(ss, true) +} + +func formatColon(padding int) string { + // Deliberately introduce instability into the debug output to + // discourage users from performing string comparisons. + // This provides us flexibility to change the output in the future. + if detrand.Bool() { + return ":" + strings.Repeat(" ", 1+padding) // use non-breaking spaces (U+00a0) + } else { + return ":" + strings.Repeat(" ", 1+padding) // use regular spaces (U+0020) + } +} + +func joinStrings(ss []string, isMulti bool) string { + if len(ss) == 0 { + return "" + } + if isMulti { + return "\n\t" + strings.Join(ss, "\n\t") + "\n" + } + return strings.Join(ss, ", ") +} diff --git a/vendor/google.golang.org/protobuf/internal/descopts/options.go b/vendor/google.golang.org/protobuf/internal/descopts/options.go new file mode 100644 index 000000000..8401be8c8 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/descopts/options.go @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package descopts contains the nil pointers to concrete descriptor options. +// +// This package exists as a form of reverse dependency injection so that certain +// packages (e.g., internal/filedesc and internal/filetype can avoid a direct +// dependency on the descriptor proto package). +package descopts + +import pref "google.golang.org/protobuf/reflect/protoreflect" + +// These variables are set by the init function in descriptor.pb.go via logic +// in internal/filetype. In other words, so long as the descriptor proto package +// is linked in, these variables will be populated. +// +// Each variable is populated with a nil pointer to the options struct. +var ( + File pref.ProtoMessage + Enum pref.ProtoMessage + EnumValue pref.ProtoMessage + Message pref.ProtoMessage + Field pref.ProtoMessage + Oneof pref.ProtoMessage + ExtensionRange pref.ProtoMessage + Service pref.ProtoMessage + Method pref.ProtoMessage +) diff --git a/vendor/google.golang.org/protobuf/internal/detrand/rand.go b/vendor/google.golang.org/protobuf/internal/detrand/rand.go new file mode 100644 index 000000000..49c8676d4 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/detrand/rand.go @@ -0,0 +1,69 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package detrand provides deterministically random functionality. +// +// The pseudo-randomness of these functions is seeded by the program binary +// itself and guarantees that the output does not change within a program, +// while ensuring that the output is unstable across different builds. +package detrand + +import ( + "encoding/binary" + "hash/fnv" + "os" +) + +// Disable disables detrand such that all functions returns the zero value. +// This function is not concurrent-safe and must be called during program init. +func Disable() { + randSeed = 0 +} + +// Bool returns a deterministically random boolean. +func Bool() bool { + return randSeed%2 == 1 +} + +// Intn returns a deterministically random integer between 0 and n-1, inclusive. +func Intn(n int) int { + if n <= 0 { + panic("must be positive") + } + return int(randSeed % uint64(n)) +} + +// randSeed is a best-effort at an approximate hash of the Go binary. +var randSeed = binaryHash() + +func binaryHash() uint64 { + // Open the Go binary. + s, err := os.Executable() + if err != nil { + return 0 + } + f, err := os.Open(s) + if err != nil { + return 0 + } + defer f.Close() + + // Hash the size and several samples of the Go binary. + const numSamples = 8 + var buf [64]byte + h := fnv.New64() + fi, err := f.Stat() + if err != nil { + return 0 + } + binary.LittleEndian.PutUint64(buf[:8], uint64(fi.Size())) + h.Write(buf[:8]) + for i := int64(0); i < numSamples; i++ { + if _, err := f.ReadAt(buf[:], i*fi.Size()/numSamples); err != nil { + return 0 + } + h.Write(buf[:]) + } + return h.Sum64() +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go b/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go new file mode 100644 index 000000000..fdd9b13f2 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go @@ -0,0 +1,213 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package defval marshals and unmarshals textual forms of default values. +// +// This package handles both the form historically used in Go struct field tags +// and also the form used by google.protobuf.FieldDescriptorProto.default_value +// since they differ in superficial ways. +package defval + +import ( + "fmt" + "math" + "strconv" + + ptext "google.golang.org/protobuf/internal/encoding/text" + errors "google.golang.org/protobuf/internal/errors" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +// Format is the serialization format used to represent the default value. +type Format int + +const ( + _ Format = iota + + // Descriptor uses the serialization format that protoc uses with the + // google.protobuf.FieldDescriptorProto.default_value field. + Descriptor + + // GoTag uses the historical serialization format in Go struct field tags. + GoTag +) + +// Unmarshal deserializes the default string s according to the given kind k. +// When k is an enum, a list of enum value descriptors must be provided. +func Unmarshal(s string, k pref.Kind, evs pref.EnumValueDescriptors, f Format) (pref.Value, pref.EnumValueDescriptor, error) { + switch k { + case pref.BoolKind: + if f == GoTag { + switch s { + case "1": + return pref.ValueOfBool(true), nil, nil + case "0": + return pref.ValueOfBool(false), nil, nil + } + } else { + switch s { + case "true": + return pref.ValueOfBool(true), nil, nil + case "false": + return pref.ValueOfBool(false), nil, nil + } + } + case pref.EnumKind: + if f == GoTag { + // Go tags use the numeric form of the enum value. + if n, err := strconv.ParseInt(s, 10, 32); err == nil { + if ev := evs.ByNumber(pref.EnumNumber(n)); ev != nil { + return pref.ValueOfEnum(ev.Number()), ev, nil + } + } + } else { + // Descriptor default_value use the enum identifier. + ev := evs.ByName(pref.Name(s)) + if ev != nil { + return pref.ValueOfEnum(ev.Number()), ev, nil + } + } + case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind: + if v, err := strconv.ParseInt(s, 10, 32); err == nil { + return pref.ValueOfInt32(int32(v)), nil, nil + } + case pref.Int64Kind, pref.Sint64Kind, pref.Sfixed64Kind: + if v, err := strconv.ParseInt(s, 10, 64); err == nil { + return pref.ValueOfInt64(int64(v)), nil, nil + } + case pref.Uint32Kind, pref.Fixed32Kind: + if v, err := strconv.ParseUint(s, 10, 32); err == nil { + return pref.ValueOfUint32(uint32(v)), nil, nil + } + case pref.Uint64Kind, pref.Fixed64Kind: + if v, err := strconv.ParseUint(s, 10, 64); err == nil { + return pref.ValueOfUint64(uint64(v)), nil, nil + } + case pref.FloatKind, pref.DoubleKind: + var v float64 + var err error + switch s { + case "-inf": + v = math.Inf(-1) + case "inf": + v = math.Inf(+1) + case "nan": + v = math.NaN() + default: + v, err = strconv.ParseFloat(s, 64) + } + if err == nil { + if k == pref.FloatKind { + return pref.ValueOfFloat32(float32(v)), nil, nil + } else { + return pref.ValueOfFloat64(float64(v)), nil, nil + } + } + case pref.StringKind: + // String values are already unescaped and can be used as is. + return pref.ValueOfString(s), nil, nil + case pref.BytesKind: + if b, ok := unmarshalBytes(s); ok { + return pref.ValueOfBytes(b), nil, nil + } + } + return pref.Value{}, nil, errors.New("could not parse value for %v: %q", k, s) +} + +// Marshal serializes v as the default string according to the given kind k. +// When specifying the Descriptor format for an enum kind, the associated +// enum value descriptor must be provided. +func Marshal(v pref.Value, ev pref.EnumValueDescriptor, k pref.Kind, f Format) (string, error) { + switch k { + case pref.BoolKind: + if f == GoTag { + if v.Bool() { + return "1", nil + } else { + return "0", nil + } + } else { + if v.Bool() { + return "true", nil + } else { + return "false", nil + } + } + case pref.EnumKind: + if f == GoTag { + return strconv.FormatInt(int64(v.Enum()), 10), nil + } else { + return string(ev.Name()), nil + } + case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind, pref.Int64Kind, pref.Sint64Kind, pref.Sfixed64Kind: + return strconv.FormatInt(v.Int(), 10), nil + case pref.Uint32Kind, pref.Fixed32Kind, pref.Uint64Kind, pref.Fixed64Kind: + return strconv.FormatUint(v.Uint(), 10), nil + case pref.FloatKind, pref.DoubleKind: + f := v.Float() + switch { + case math.IsInf(f, -1): + return "-inf", nil + case math.IsInf(f, +1): + return "inf", nil + case math.IsNaN(f): + return "nan", nil + default: + if k == pref.FloatKind { + return strconv.FormatFloat(f, 'g', -1, 32), nil + } else { + return strconv.FormatFloat(f, 'g', -1, 64), nil + } + } + case pref.StringKind: + // String values are serialized as is without any escaping. + return v.String(), nil + case pref.BytesKind: + if s, ok := marshalBytes(v.Bytes()); ok { + return s, nil + } + } + return "", errors.New("could not format value for %v: %v", k, v) +} + +// unmarshalBytes deserializes bytes by applying C unescaping. +func unmarshalBytes(s string) ([]byte, bool) { + // Bytes values use the same escaping as the text format, + // however they lack the surrounding double quotes. + v, err := ptext.UnmarshalString(`"` + s + `"`) + if err != nil { + return nil, false + } + return []byte(v), true +} + +// marshalBytes serializes bytes by using C escaping. +// To match the exact output of protoc, this is identical to the +// CEscape function in strutil.cc of the protoc source code. +func marshalBytes(b []byte) (string, bool) { + var s []byte + for _, c := range b { + switch c { + case '\n': + s = append(s, `\n`...) + case '\r': + s = append(s, `\r`...) + case '\t': + s = append(s, `\t`...) + case '"': + s = append(s, `\"`...) + case '\'': + s = append(s, `\'`...) + case '\\': + s = append(s, `\\`...) + default: + if printableASCII := c >= 0x20 && c <= 0x7e; printableASCII { + s = append(s, c) + } else { + s = append(s, fmt.Sprintf(`\%03o`, c)...) + } + } + } + return string(s), true +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go b/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go new file mode 100644 index 000000000..c1866f3c1 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go @@ -0,0 +1,241 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package messageset encodes and decodes the obsolete MessageSet wire format. +package messageset + +import ( + "math" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +// The MessageSet wire format is equivalent to a message defined as follows, +// where each Item defines an extension field with a field number of 'type_id' +// and content of 'message'. MessageSet extensions must be non-repeated message +// fields. +// +// message MessageSet { +// repeated group Item = 1 { +// required int32 type_id = 2; +// required string message = 3; +// } +// } +const ( + FieldItem = protowire.Number(1) + FieldTypeID = protowire.Number(2) + FieldMessage = protowire.Number(3) +) + +// ExtensionName is the field name for extensions of MessageSet. +// +// A valid MessageSet extension must be of the form: +// message MyMessage { +// extend proto2.bridge.MessageSet { +// optional MyMessage message_set_extension = 1234; +// } +// ... +// } +const ExtensionName = "message_set_extension" + +// IsMessageSet returns whether the message uses the MessageSet wire format. +func IsMessageSet(md pref.MessageDescriptor) bool { + xmd, ok := md.(interface{ IsMessageSet() bool }) + return ok && xmd.IsMessageSet() +} + +// IsMessageSetExtension reports this field properly extends a MessageSet. +func IsMessageSetExtension(fd pref.FieldDescriptor) bool { + switch { + case fd.Name() != ExtensionName: + return false + case !IsMessageSet(fd.ContainingMessage()): + return false + case fd.FullName().Parent() != fd.Message().FullName(): + return false + } + return true +} + +// SizeField returns the size of a MessageSet item field containing an extension +// with the given field number, not counting the contents of the message subfield. +func SizeField(num protowire.Number) int { + return 2*protowire.SizeTag(FieldItem) + protowire.SizeTag(FieldTypeID) + protowire.SizeVarint(uint64(num)) +} + +// Unmarshal parses a MessageSet. +// +// It calls fn with the type ID and value of each item in the MessageSet. +// Unknown fields are discarded. +// +// If wantLen is true, the item values include the varint length prefix. +// This is ugly, but simplifies the fast-path decoder in internal/impl. +func Unmarshal(b []byte, wantLen bool, fn func(typeID protowire.Number, value []byte) error) error { + for len(b) > 0 { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return protowire.ParseError(n) + } + b = b[n:] + if num != FieldItem || wtyp != protowire.StartGroupType { + n := protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return protowire.ParseError(n) + } + b = b[n:] + continue + } + typeID, value, n, err := ConsumeFieldValue(b, wantLen) + if err != nil { + return err + } + b = b[n:] + if typeID == 0 { + continue + } + if err := fn(typeID, value); err != nil { + return err + } + } + return nil +} + +// ConsumeFieldValue parses b as a MessageSet item field value until and including +// the trailing end group marker. It assumes the start group tag has already been parsed. +// It returns the contents of the type_id and message subfields and the total +// item length. +// +// If wantLen is true, the returned message value includes the length prefix. +func ConsumeFieldValue(b []byte, wantLen bool) (typeid protowire.Number, message []byte, n int, err error) { + ilen := len(b) + for { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return 0, nil, 0, protowire.ParseError(n) + } + b = b[n:] + switch { + case num == FieldItem && wtyp == protowire.EndGroupType: + if wantLen && len(message) == 0 { + // The message field was missing, which should never happen. + // Be prepared for this case anyway. + message = protowire.AppendVarint(message, 0) + } + return typeid, message, ilen - len(b), nil + case num == FieldTypeID && wtyp == protowire.VarintType: + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, nil, 0, protowire.ParseError(n) + } + b = b[n:] + if v < 1 || v > math.MaxInt32 { + return 0, nil, 0, errors.New("invalid type_id in message set") + } + typeid = protowire.Number(v) + case num == FieldMessage && wtyp == protowire.BytesType: + m, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, nil, 0, protowire.ParseError(n) + } + if message == nil { + if wantLen { + message = b[:n:n] + } else { + message = m[:len(m):len(m)] + } + } else { + // This case should never happen in practice, but handle it for + // correctness: The MessageSet item contains multiple message + // fields, which need to be merged. + // + // In the case where we're returning the length, this becomes + // quite inefficient since we need to strip the length off + // the existing data and reconstruct it with the combined length. + if wantLen { + _, nn := protowire.ConsumeVarint(message) + m0 := message[nn:] + message = nil + message = protowire.AppendVarint(message, uint64(len(m0)+len(m))) + message = append(message, m0...) + message = append(message, m...) + } else { + message = append(message, m...) + } + } + b = b[n:] + default: + // We have no place to put it, so we just ignore unknown fields. + n := protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return 0, nil, 0, protowire.ParseError(n) + } + b = b[n:] + } + } +} + +// AppendFieldStart appends the start of a MessageSet item field containing +// an extension with the given number. The caller must add the message +// subfield (including the tag). +func AppendFieldStart(b []byte, num protowire.Number) []byte { + b = protowire.AppendTag(b, FieldItem, protowire.StartGroupType) + b = protowire.AppendTag(b, FieldTypeID, protowire.VarintType) + b = protowire.AppendVarint(b, uint64(num)) + return b +} + +// AppendFieldEnd appends the trailing end group marker for a MessageSet item field. +func AppendFieldEnd(b []byte) []byte { + return protowire.AppendTag(b, FieldItem, protowire.EndGroupType) +} + +// SizeUnknown returns the size of an unknown fields section in MessageSet format. +// +// See AppendUnknown. +func SizeUnknown(unknown []byte) (size int) { + for len(unknown) > 0 { + num, typ, n := protowire.ConsumeTag(unknown) + if n < 0 || typ != protowire.BytesType { + return 0 + } + unknown = unknown[n:] + _, n = protowire.ConsumeBytes(unknown) + if n < 0 { + return 0 + } + unknown = unknown[n:] + size += SizeField(num) + protowire.SizeTag(FieldMessage) + n + } + return size +} + +// AppendUnknown appends unknown fields to b in MessageSet format. +// +// For historic reasons, unresolved items in a MessageSet are stored in a +// message's unknown fields section in non-MessageSet format. That is, an +// unknown item with typeID T and value V appears in the unknown fields as +// a field with number T and value V. +// +// This function converts the unknown fields back into MessageSet form. +func AppendUnknown(b, unknown []byte) ([]byte, error) { + for len(unknown) > 0 { + num, typ, n := protowire.ConsumeTag(unknown) + if n < 0 || typ != protowire.BytesType { + return nil, errors.New("invalid data in message set unknown fields") + } + unknown = unknown[n:] + _, n = protowire.ConsumeBytes(unknown) + if n < 0 { + return nil, errors.New("invalid data in message set unknown fields") + } + b = AppendFieldStart(b, num) + b = protowire.AppendTag(b, FieldMessage, protowire.BytesType) + b = append(b, unknown[:n]...) + b = AppendFieldEnd(b) + unknown = unknown[n:] + } + return b, nil +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go b/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go new file mode 100644 index 000000000..38f1931c6 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go @@ -0,0 +1,207 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package tag marshals and unmarshals the legacy struct tags as generated +// by historical versions of protoc-gen-go. +package tag + +import ( + "reflect" + "strconv" + "strings" + + defval "google.golang.org/protobuf/internal/encoding/defval" + fdesc "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/strs" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +var byteType = reflect.TypeOf(byte(0)) + +// Unmarshal decodes the tag into a prototype.Field. +// +// The goType is needed to determine the original protoreflect.Kind since the +// tag does not record sufficient information to determine that. +// The type is the underlying field type (e.g., a repeated field may be +// represented by []T, but the Go type passed in is just T). +// A list of enum value descriptors must be provided for enum fields. +// This does not populate the Enum or Message (except for weak message). +// +// This function is a best effort attempt; parsing errors are ignored. +func Unmarshal(tag string, goType reflect.Type, evs pref.EnumValueDescriptors) pref.FieldDescriptor { + f := new(fdesc.Field) + f.L0.ParentFile = fdesc.SurrogateProto2 + for len(tag) > 0 { + i := strings.IndexByte(tag, ',') + if i < 0 { + i = len(tag) + } + switch s := tag[:i]; { + case strings.HasPrefix(s, "name="): + f.L0.FullName = pref.FullName(s[len("name="):]) + case strings.Trim(s, "0123456789") == "": + n, _ := strconv.ParseUint(s, 10, 32) + f.L1.Number = pref.FieldNumber(n) + case s == "opt": + f.L1.Cardinality = pref.Optional + case s == "req": + f.L1.Cardinality = pref.Required + case s == "rep": + f.L1.Cardinality = pref.Repeated + case s == "varint": + switch goType.Kind() { + case reflect.Bool: + f.L1.Kind = pref.BoolKind + case reflect.Int32: + f.L1.Kind = pref.Int32Kind + case reflect.Int64: + f.L1.Kind = pref.Int64Kind + case reflect.Uint32: + f.L1.Kind = pref.Uint32Kind + case reflect.Uint64: + f.L1.Kind = pref.Uint64Kind + } + case s == "zigzag32": + if goType.Kind() == reflect.Int32 { + f.L1.Kind = pref.Sint32Kind + } + case s == "zigzag64": + if goType.Kind() == reflect.Int64 { + f.L1.Kind = pref.Sint64Kind + } + case s == "fixed32": + switch goType.Kind() { + case reflect.Int32: + f.L1.Kind = pref.Sfixed32Kind + case reflect.Uint32: + f.L1.Kind = pref.Fixed32Kind + case reflect.Float32: + f.L1.Kind = pref.FloatKind + } + case s == "fixed64": + switch goType.Kind() { + case reflect.Int64: + f.L1.Kind = pref.Sfixed64Kind + case reflect.Uint64: + f.L1.Kind = pref.Fixed64Kind + case reflect.Float64: + f.L1.Kind = pref.DoubleKind + } + case s == "bytes": + switch { + case goType.Kind() == reflect.String: + f.L1.Kind = pref.StringKind + case goType.Kind() == reflect.Slice && goType.Elem() == byteType: + f.L1.Kind = pref.BytesKind + default: + f.L1.Kind = pref.MessageKind + } + case s == "group": + f.L1.Kind = pref.GroupKind + case strings.HasPrefix(s, "enum="): + f.L1.Kind = pref.EnumKind + case strings.HasPrefix(s, "json="): + jsonName := s[len("json="):] + if jsonName != strs.JSONCamelCase(string(f.L0.FullName.Name())) { + f.L1.StringName.InitJSON(jsonName) + } + case s == "packed": + f.L1.HasPacked = true + f.L1.IsPacked = true + case strings.HasPrefix(s, "weak="): + f.L1.IsWeak = true + f.L1.Message = fdesc.PlaceholderMessage(pref.FullName(s[len("weak="):])) + case strings.HasPrefix(s, "def="): + // The default tag is special in that everything afterwards is the + // default regardless of the presence of commas. + s, i = tag[len("def="):], len(tag) + v, ev, _ := defval.Unmarshal(s, f.L1.Kind, evs, defval.GoTag) + f.L1.Default = fdesc.DefaultValue(v, ev) + case s == "proto3": + f.L0.ParentFile = fdesc.SurrogateProto3 + } + tag = strings.TrimPrefix(tag[i:], ",") + } + + // The generator uses the group message name instead of the field name. + // We obtain the real field name by lowercasing the group name. + if f.L1.Kind == pref.GroupKind { + f.L0.FullName = pref.FullName(strings.ToLower(string(f.L0.FullName))) + } + return f +} + +// Marshal encodes the protoreflect.FieldDescriptor as a tag. +// +// The enumName must be provided if the kind is an enum. +// Historically, the formulation of the enum "name" was the proto package +// dot-concatenated with the generated Go identifier for the enum type. +// Depending on the context on how Marshal is called, there are different ways +// through which that information is determined. As such it is the caller's +// responsibility to provide a function to obtain that information. +func Marshal(fd pref.FieldDescriptor, enumName string) string { + var tag []string + switch fd.Kind() { + case pref.BoolKind, pref.EnumKind, pref.Int32Kind, pref.Uint32Kind, pref.Int64Kind, pref.Uint64Kind: + tag = append(tag, "varint") + case pref.Sint32Kind: + tag = append(tag, "zigzag32") + case pref.Sint64Kind: + tag = append(tag, "zigzag64") + case pref.Sfixed32Kind, pref.Fixed32Kind, pref.FloatKind: + tag = append(tag, "fixed32") + case pref.Sfixed64Kind, pref.Fixed64Kind, pref.DoubleKind: + tag = append(tag, "fixed64") + case pref.StringKind, pref.BytesKind, pref.MessageKind: + tag = append(tag, "bytes") + case pref.GroupKind: + tag = append(tag, "group") + } + tag = append(tag, strconv.Itoa(int(fd.Number()))) + switch fd.Cardinality() { + case pref.Optional: + tag = append(tag, "opt") + case pref.Required: + tag = append(tag, "req") + case pref.Repeated: + tag = append(tag, "rep") + } + if fd.IsPacked() { + tag = append(tag, "packed") + } + name := string(fd.Name()) + if fd.Kind() == pref.GroupKind { + // The name of the FieldDescriptor for a group field is + // lowercased. To find the original capitalization, we + // look in the field's MessageType. + name = string(fd.Message().Name()) + } + tag = append(tag, "name="+name) + if jsonName := fd.JSONName(); jsonName != "" && jsonName != name && !fd.IsExtension() { + // NOTE: The jsonName != name condition is suspect, but it preserve + // the exact same semantics from the previous generator. + tag = append(tag, "json="+jsonName) + } + if fd.IsWeak() { + tag = append(tag, "weak="+string(fd.Message().FullName())) + } + // The previous implementation does not tag extension fields as proto3, + // even when the field is defined in a proto3 file. Match that behavior + // for consistency. + if fd.Syntax() == pref.Proto3 && !fd.IsExtension() { + tag = append(tag, "proto3") + } + if fd.Kind() == pref.EnumKind && enumName != "" { + tag = append(tag, "enum="+enumName) + } + if fd.ContainingOneof() != nil { + tag = append(tag, "oneof") + } + // This must appear last in the tag, since commas in strings aren't escaped. + if fd.HasDefault() { + def, _ := defval.Marshal(fd.Default(), fd.DefaultEnumValue(), fd.Kind(), defval.GoTag) + tag = append(tag, "def="+def) + } + return strings.Join(tag, ",") +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go new file mode 100644 index 000000000..eb10ea102 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go @@ -0,0 +1,665 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +import ( + "bytes" + "fmt" + "io" + "regexp" + "strconv" + "unicode/utf8" + + "google.golang.org/protobuf/internal/errors" +) + +// Decoder is a token-based textproto decoder. +type Decoder struct { + // lastCall is last method called, either readCall or peekCall. + // Initial value is readCall. + lastCall call + + // lastToken contains the last read token. + lastToken Token + + // lastErr contains the last read error. + lastErr error + + // openStack is a stack containing the byte characters for MessageOpen and + // ListOpen kinds. The top of stack represents the message or the list that + // the current token is nested in. An empty stack means the current token is + // at the top level message. The characters '{' and '<' both represent the + // MessageOpen kind. + openStack []byte + + // orig is used in reporting line and column. + orig []byte + // in contains the unconsumed input. + in []byte +} + +// NewDecoder returns a Decoder to read the given []byte. +func NewDecoder(b []byte) *Decoder { + return &Decoder{orig: b, in: b} +} + +// ErrUnexpectedEOF means that EOF was encountered in the middle of the input. +var ErrUnexpectedEOF = errors.New("%v", io.ErrUnexpectedEOF) + +// call specifies which Decoder method was invoked. +type call uint8 + +const ( + readCall call = iota + peekCall +) + +// Peek looks ahead and returns the next token and error without advancing a read. +func (d *Decoder) Peek() (Token, error) { + defer func() { d.lastCall = peekCall }() + if d.lastCall == readCall { + d.lastToken, d.lastErr = d.Read() + } + return d.lastToken, d.lastErr +} + +// Read returns the next token. +// It will return an error if there is no valid token. +func (d *Decoder) Read() (Token, error) { + defer func() { d.lastCall = readCall }() + if d.lastCall == peekCall { + return d.lastToken, d.lastErr + } + + tok, err := d.parseNext(d.lastToken.kind) + if err != nil { + return Token{}, err + } + + switch tok.kind { + case comma, semicolon: + tok, err = d.parseNext(tok.kind) + if err != nil { + return Token{}, err + } + } + d.lastToken = tok + return tok, nil +} + +const ( + mismatchedFmt = "mismatched close character %q" + unexpectedFmt = "unexpected character %q" +) + +// parseNext parses the next Token based on given last kind. +func (d *Decoder) parseNext(lastKind Kind) (Token, error) { + // Trim leading spaces. + d.consume(0) + isEOF := false + if len(d.in) == 0 { + isEOF = true + } + + switch lastKind { + case EOF: + return d.consumeToken(EOF, 0, 0), nil + + case bof: + // Start of top level message. Next token can be EOF or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + return d.parseFieldName() + + case Name: + // Next token can be MessageOpen, ListOpen or Scalar. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case '{', '<': + d.pushOpenStack(ch) + return d.consumeToken(MessageOpen, 1, 0), nil + case '[': + d.pushOpenStack(ch) + return d.consumeToken(ListOpen, 1, 0), nil + default: + return d.parseScalar() + } + + case Scalar: + openKind, closeCh := d.currentOpenKind() + switch openKind { + case bof: + // Top level message. + // Next token can be EOF, comma, semicolon or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + switch d.in[0] { + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case MessageOpen: + // Next token can be MessageClose, comma, semicolon or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case ListOpen: + // Next token can be ListClose or comma. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case ']': + d.popOpenStack() + return d.consumeToken(ListClose, 1, 0), nil + case ',': + return d.consumeToken(comma, 1, 0), nil + default: + return Token{}, d.newSyntaxError(unexpectedFmt, ch) + } + } + + case MessageOpen: + // Next token can be MessageClose or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + _, closeCh := d.currentOpenKind() + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + default: + return d.parseFieldName() + } + + case MessageClose: + openKind, closeCh := d.currentOpenKind() + switch openKind { + case bof: + // Top level message. + // Next token can be EOF, comma, semicolon or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + switch ch := d.in[0]; ch { + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case MessageOpen: + // Next token can be MessageClose, comma, semicolon or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case ListOpen: + // Next token can be ListClose or comma + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(ListClose, 1, 0), nil + case ',': + return d.consumeToken(comma, 1, 0), nil + default: + return Token{}, d.newSyntaxError(unexpectedFmt, ch) + } + } + + case ListOpen: + // Next token can be ListClose, MessageStart or Scalar. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case ']': + d.popOpenStack() + return d.consumeToken(ListClose, 1, 0), nil + case '{', '<': + d.pushOpenStack(ch) + return d.consumeToken(MessageOpen, 1, 0), nil + default: + return d.parseScalar() + } + + case ListClose: + openKind, closeCh := d.currentOpenKind() + switch openKind { + case bof: + // Top level message. + // Next token can be EOF, comma, semicolon or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + switch ch := d.in[0]; ch { + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case MessageOpen: + // Next token can be MessageClose, comma, semicolon or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + default: + // It is not possible to have this case. Let it panic below. + } + + case comma, semicolon: + openKind, closeCh := d.currentOpenKind() + switch openKind { + case bof: + // Top level message. Next token can be EOF or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + return d.parseFieldName() + + case MessageOpen: + // Next token can be MessageClose or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + default: + return d.parseFieldName() + } + + case ListOpen: + if lastKind == semicolon { + // It is not be possible to have this case as logic here + // should not have produced a semicolon Token when inside a + // list. Let it panic below. + break + } + // Next token can be MessageOpen or Scalar. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case '{', '<': + d.pushOpenStack(ch) + return d.consumeToken(MessageOpen, 1, 0), nil + default: + return d.parseScalar() + } + } + } + + line, column := d.Position(len(d.orig) - len(d.in)) + panic(fmt.Sprintf("Decoder.parseNext: bug at handling line %d:%d with lastKind=%v", line, column, lastKind)) +} + +var otherCloseChar = map[byte]byte{ + '}': '>', + '>': '}', +} + +// currentOpenKind indicates whether current position is inside a message, list +// or top-level message by returning MessageOpen, ListOpen or bof respectively. +// If the returned kind is either a MessageOpen or ListOpen, it also returns the +// corresponding closing character. +func (d *Decoder) currentOpenKind() (Kind, byte) { + if len(d.openStack) == 0 { + return bof, 0 + } + openCh := d.openStack[len(d.openStack)-1] + switch openCh { + case '{': + return MessageOpen, '}' + case '<': + return MessageOpen, '>' + case '[': + return ListOpen, ']' + } + panic(fmt.Sprintf("Decoder: openStack contains invalid byte %s", string(openCh))) +} + +func (d *Decoder) pushOpenStack(ch byte) { + d.openStack = append(d.openStack, ch) +} + +func (d *Decoder) popOpenStack() { + d.openStack = d.openStack[:len(d.openStack)-1] +} + +// parseFieldName parses field name and separator. +func (d *Decoder) parseFieldName() (tok Token, err error) { + defer func() { + if err == nil && d.tryConsumeChar(':') { + tok.attrs |= hasSeparator + } + }() + + // Extension or Any type URL. + if d.in[0] == '[' { + return d.parseTypeName() + } + + // Identifier. + if size := parseIdent(d.in, false); size > 0 { + return d.consumeToken(Name, size, uint8(IdentName)), nil + } + + // Field number. Identify if input is a valid number that is not negative + // and is decimal integer within 32-bit range. + if num := parseNumber(d.in); num.size > 0 { + if !num.neg && num.kind == numDec { + if _, err := strconv.ParseInt(string(d.in[:num.size]), 10, 32); err == nil { + return d.consumeToken(Name, num.size, uint8(FieldNumber)), nil + } + } + return Token{}, d.newSyntaxError("invalid field number: %s", d.in[:num.size]) + } + + return Token{}, d.newSyntaxError("invalid field name: %s", errRegexp.Find(d.in)) +} + +// parseTypeName parses Any type URL or extension field name. The name is +// enclosed in [ and ] characters. The C++ parser does not handle many legal URL +// strings. This implementation is more liberal and allows for the pattern +// ^[-_a-zA-Z0-9]+([./][-_a-zA-Z0-9]+)*`). Whitespaces and comments are allowed +// in between [ ], '.', '/' and the sub names. +func (d *Decoder) parseTypeName() (Token, error) { + startPos := len(d.orig) - len(d.in) + // Use alias s to advance first in order to use d.in for error handling. + // Caller already checks for [ as first character. + s := consume(d.in[1:], 0) + if len(s) == 0 { + return Token{}, ErrUnexpectedEOF + } + + var name []byte + for len(s) > 0 && isTypeNameChar(s[0]) { + name = append(name, s[0]) + s = s[1:] + } + s = consume(s, 0) + + var closed bool + for len(s) > 0 && !closed { + switch { + case s[0] == ']': + s = s[1:] + closed = true + + case s[0] == '/', s[0] == '.': + if len(name) > 0 && (name[len(name)-1] == '/' || name[len(name)-1] == '.') { + return Token{}, d.newSyntaxError("invalid type URL/extension field name: %s", + d.orig[startPos:len(d.orig)-len(s)+1]) + } + name = append(name, s[0]) + s = s[1:] + s = consume(s, 0) + for len(s) > 0 && isTypeNameChar(s[0]) { + name = append(name, s[0]) + s = s[1:] + } + s = consume(s, 0) + + default: + return Token{}, d.newSyntaxError( + "invalid type URL/extension field name: %s", d.orig[startPos:len(d.orig)-len(s)+1]) + } + } + + if !closed { + return Token{}, ErrUnexpectedEOF + } + + // First character cannot be '.'. Last character cannot be '.' or '/'. + size := len(name) + if size == 0 || name[0] == '.' || name[size-1] == '.' || name[size-1] == '/' { + return Token{}, d.newSyntaxError("invalid type URL/extension field name: %s", + d.orig[startPos:len(d.orig)-len(s)]) + } + + d.in = s + endPos := len(d.orig) - len(d.in) + d.consume(0) + + return Token{ + kind: Name, + attrs: uint8(TypeName), + pos: startPos, + raw: d.orig[startPos:endPos], + str: string(name), + }, nil +} + +func isTypeNameChar(b byte) bool { + return (b == '-' || b == '_' || + ('0' <= b && b <= '9') || + ('a' <= b && b <= 'z') || + ('A' <= b && b <= 'Z')) +} + +func isWhiteSpace(b byte) bool { + switch b { + case ' ', '\n', '\r', '\t': + return true + default: + return false + } +} + +// parseIdent parses an unquoted proto identifier and returns size. +// If allowNeg is true, it allows '-' to be the first character in the +// identifier. This is used when parsing literal values like -infinity, etc. +// Regular expression matches an identifier: `^[_a-zA-Z][_a-zA-Z0-9]*` +func parseIdent(input []byte, allowNeg bool) int { + var size int + + s := input + if len(s) == 0 { + return 0 + } + + if allowNeg && s[0] == '-' { + s = s[1:] + size++ + if len(s) == 0 { + return 0 + } + } + + switch { + case s[0] == '_', + 'a' <= s[0] && s[0] <= 'z', + 'A' <= s[0] && s[0] <= 'Z': + s = s[1:] + size++ + default: + return 0 + } + + for len(s) > 0 && (s[0] == '_' || + 'a' <= s[0] && s[0] <= 'z' || + 'A' <= s[0] && s[0] <= 'Z' || + '0' <= s[0] && s[0] <= '9') { + s = s[1:] + size++ + } + + if len(s) > 0 && !isDelim(s[0]) { + return 0 + } + + return size +} + +// parseScalar parses for a string, literal or number value. +func (d *Decoder) parseScalar() (Token, error) { + if d.in[0] == '"' || d.in[0] == '\'' { + return d.parseStringValue() + } + + if tok, ok := d.parseLiteralValue(); ok { + return tok, nil + } + + if tok, ok := d.parseNumberValue(); ok { + return tok, nil + } + + return Token{}, d.newSyntaxError("invalid scalar value: %s", errRegexp.Find(d.in)) +} + +// parseLiteralValue parses a literal value. A literal value is used for +// bools, special floats and enums. This function simply identifies that the +// field value is a literal. +func (d *Decoder) parseLiteralValue() (Token, bool) { + size := parseIdent(d.in, true) + if size == 0 { + return Token{}, false + } + return d.consumeToken(Scalar, size, literalValue), true +} + +// consumeToken constructs a Token for given Kind from d.in and consumes given +// size-length from it. +func (d *Decoder) consumeToken(kind Kind, size int, attrs uint8) Token { + // Important to compute raw and pos before consuming. + tok := Token{ + kind: kind, + attrs: attrs, + pos: len(d.orig) - len(d.in), + raw: d.in[:size], + } + d.consume(size) + return tok +} + +// newSyntaxError returns a syntax error with line and column information for +// current position. +func (d *Decoder) newSyntaxError(f string, x ...interface{}) error { + e := errors.New(f, x...) + line, column := d.Position(len(d.orig) - len(d.in)) + return errors.New("syntax error (line %d:%d): %v", line, column, e) +} + +// Position returns line and column number of given index of the original input. +// It will panic if index is out of range. +func (d *Decoder) Position(idx int) (line int, column int) { + b := d.orig[:idx] + line = bytes.Count(b, []byte("\n")) + 1 + if i := bytes.LastIndexByte(b, '\n'); i >= 0 { + b = b[i+1:] + } + column = utf8.RuneCount(b) + 1 // ignore multi-rune characters + return line, column +} + +func (d *Decoder) tryConsumeChar(c byte) bool { + if len(d.in) > 0 && d.in[0] == c { + d.consume(1) + return true + } + return false +} + +// consume consumes n bytes of input and any subsequent whitespace or comments. +func (d *Decoder) consume(n int) { + d.in = consume(d.in, n) + return +} + +// consume consumes n bytes of input and any subsequent whitespace or comments. +func consume(b []byte, n int) []byte { + b = b[n:] + for len(b) > 0 { + switch b[0] { + case ' ', '\n', '\r', '\t': + b = b[1:] + case '#': + if i := bytes.IndexByte(b, '\n'); i >= 0 { + b = b[i+len("\n"):] + } else { + b = nil + } + default: + return b + } + } + return b +} + +// Any sequence that looks like a non-delimiter (for error reporting). +var errRegexp = regexp.MustCompile(`^([-+._a-zA-Z0-9\/]+|.)`) + +// isDelim returns true if given byte is a delimiter character. +func isDelim(c byte) bool { + return !(c == '-' || c == '+' || c == '.' || c == '_' || + ('a' <= c && c <= 'z') || + ('A' <= c && c <= 'Z') || + ('0' <= c && c <= '9')) +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go new file mode 100644 index 000000000..f2d90b789 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go @@ -0,0 +1,190 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +// parseNumberValue parses a number from the input and returns a Token object. +func (d *Decoder) parseNumberValue() (Token, bool) { + in := d.in + num := parseNumber(in) + if num.size == 0 { + return Token{}, false + } + numAttrs := num.kind + if num.neg { + numAttrs |= isNegative + } + strSize := num.size + last := num.size - 1 + if num.kind == numFloat && (d.in[last] == 'f' || d.in[last] == 'F') { + strSize = last + } + tok := Token{ + kind: Scalar, + attrs: numberValue, + pos: len(d.orig) - len(d.in), + raw: d.in[:num.size], + str: string(d.in[:strSize]), + numAttrs: numAttrs, + } + d.consume(num.size) + return tok, true +} + +const ( + numDec uint8 = (1 << iota) / 2 + numHex + numOct + numFloat +) + +// number is the result of parsing out a valid number from parseNumber. It +// contains data for doing float or integer conversion via the strconv package +// in conjunction with the input bytes. +type number struct { + kind uint8 + neg bool + size int +} + +// parseNumber constructs a number object from given input. It allows for the +// following patterns: +// integer: ^-?([1-9][0-9]*|0[xX][0-9a-fA-F]+|0[0-7]*) +// float: ^-?((0|[1-9][0-9]*)?([.][0-9]*)?([eE][+-]?[0-9]+)?[fF]?) +// It also returns the number of parsed bytes for the given number, 0 if it is +// not a number. +func parseNumber(input []byte) number { + kind := numDec + var size int + var neg bool + + s := input + if len(s) == 0 { + return number{} + } + + // Optional - + if s[0] == '-' { + neg = true + s = s[1:] + size++ + if len(s) == 0 { + return number{} + } + } + + // C++ allows for whitespace and comments in between the negative sign and + // the rest of the number. This logic currently does not but is consistent + // with v1. + + switch { + case s[0] == '0': + if len(s) > 1 { + switch { + case s[1] == 'x' || s[1] == 'X': + // Parse as hex number. + kind = numHex + n := 2 + s = s[2:] + for len(s) > 0 && (('0' <= s[0] && s[0] <= '9') || + ('a' <= s[0] && s[0] <= 'f') || + ('A' <= s[0] && s[0] <= 'F')) { + s = s[1:] + n++ + } + if n == 2 { + return number{} + } + size += n + + case '0' <= s[1] && s[1] <= '7': + // Parse as octal number. + kind = numOct + n := 2 + s = s[2:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '7' { + s = s[1:] + n++ + } + size += n + } + + if kind&(numHex|numOct) > 0 { + if len(s) > 0 && !isDelim(s[0]) { + return number{} + } + return number{kind: kind, neg: neg, size: size} + } + } + s = s[1:] + size++ + + case '1' <= s[0] && s[0] <= '9': + n := 1 + s = s[1:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + size += n + + case s[0] == '.': + // Set kind to numFloat to signify the intent to parse as float. And + // that it needs to have other digits after '.'. + kind = numFloat + + default: + return number{} + } + + // . followed by 0 or more digits. + if len(s) > 0 && s[0] == '.' { + n := 1 + s = s[1:] + // If decimal point was before any digits, it should be followed by + // other digits. + if len(s) == 0 && kind == numFloat { + return number{} + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + size += n + kind = numFloat + } + + // e or E followed by an optional - or + and 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + kind = numFloat + s = s[1:] + n := 1 + if s[0] == '+' || s[0] == '-' { + s = s[1:] + n++ + if len(s) == 0 { + return number{} + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + size += n + } + + // Optional suffix f or F for floats. + if len(s) > 0 && (s[0] == 'f' || s[0] == 'F') { + kind = numFloat + s = s[1:] + size++ + } + + // Check that next byte is a delimiter or it is at the end. + if len(s) > 0 && !isDelim(s[0]) { + return number{} + } + + return number{kind: kind, neg: neg, size: size} +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go new file mode 100644 index 000000000..d4d349023 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go @@ -0,0 +1,161 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +import ( + "bytes" + "strconv" + "strings" + "unicode" + "unicode/utf16" + "unicode/utf8" + + "google.golang.org/protobuf/internal/strs" +) + +// parseStringValue parses string field token. +// This differs from parseString since the text format allows +// multiple back-to-back string literals where they are semantically treated +// as a single large string with all values concatenated. +// +// E.g., `"foo" "bar" "baz"` => "foobarbaz" +func (d *Decoder) parseStringValue() (Token, error) { + // Note that the ending quote is sufficient to unambiguously mark the end + // of a string. Thus, the text grammar does not require intervening + // whitespace or control characters in-between strings. + // Thus, the following is valid: + // `"foo"'bar'"baz"` => "foobarbaz" + in0 := d.in + var ss []string + for len(d.in) > 0 && (d.in[0] == '"' || d.in[0] == '\'') { + s, err := d.parseString() + if err != nil { + return Token{}, err + } + ss = append(ss, s) + } + // d.in already points to the end of the value at this point. + return Token{ + kind: Scalar, + attrs: stringValue, + pos: len(d.orig) - len(in0), + raw: in0[:len(in0)-len(d.in)], + str: strings.Join(ss, ""), + }, nil +} + +// parseString parses a string value enclosed in " or '. +func (d *Decoder) parseString() (string, error) { + in := d.in + if len(in) == 0 { + return "", ErrUnexpectedEOF + } + quote := in[0] + in = in[1:] + i := indexNeedEscapeInBytes(in) + in, out := in[i:], in[:i:i] // set cap to prevent mutations + for len(in) > 0 { + switch r, n := utf8.DecodeRune(in); { + case r == utf8.RuneError && n == 1: + return "", d.newSyntaxError("invalid UTF-8 detected") + case r == 0 || r == '\n': + return "", d.newSyntaxError("invalid character %q in string", r) + case r == rune(quote): + in = in[1:] + d.consume(len(d.in) - len(in)) + return string(out), nil + case r == '\\': + if len(in) < 2 { + return "", ErrUnexpectedEOF + } + switch r := in[1]; r { + case '"', '\'', '\\', '?': + in, out = in[2:], append(out, r) + case 'a': + in, out = in[2:], append(out, '\a') + case 'b': + in, out = in[2:], append(out, '\b') + case 'n': + in, out = in[2:], append(out, '\n') + case 'r': + in, out = in[2:], append(out, '\r') + case 't': + in, out = in[2:], append(out, '\t') + case 'v': + in, out = in[2:], append(out, '\v') + case 'f': + in, out = in[2:], append(out, '\f') + case '0', '1', '2', '3', '4', '5', '6', '7': + // One, two, or three octal characters. + n := len(in[1:]) - len(bytes.TrimLeft(in[1:], "01234567")) + if n > 3 { + n = 3 + } + v, err := strconv.ParseUint(string(in[1:1+n]), 8, 8) + if err != nil { + return "", d.newSyntaxError("invalid octal escape code %q in string", in[:1+n]) + } + in, out = in[1+n:], append(out, byte(v)) + case 'x': + // One or two hexadecimal characters. + n := len(in[2:]) - len(bytes.TrimLeft(in[2:], "0123456789abcdefABCDEF")) + if n > 2 { + n = 2 + } + v, err := strconv.ParseUint(string(in[2:2+n]), 16, 8) + if err != nil { + return "", d.newSyntaxError("invalid hex escape code %q in string", in[:2+n]) + } + in, out = in[2+n:], append(out, byte(v)) + case 'u', 'U': + // Four or eight hexadecimal characters + n := 6 + if r == 'U' { + n = 10 + } + if len(in) < n { + return "", ErrUnexpectedEOF + } + v, err := strconv.ParseUint(string(in[2:n]), 16, 32) + if utf8.MaxRune < v || err != nil { + return "", d.newSyntaxError("invalid Unicode escape code %q in string", in[:n]) + } + in = in[n:] + + r := rune(v) + if utf16.IsSurrogate(r) { + if len(in) < 6 { + return "", ErrUnexpectedEOF + } + v, err := strconv.ParseUint(string(in[2:6]), 16, 16) + r = utf16.DecodeRune(r, rune(v)) + if in[0] != '\\' || in[1] != 'u' || r == unicode.ReplacementChar || err != nil { + return "", d.newSyntaxError("invalid Unicode escape code %q in string", in[:6]) + } + in = in[6:] + } + out = append(out, string(r)...) + default: + return "", d.newSyntaxError("invalid escape code %q in string", in[:2]) + } + default: + i := indexNeedEscapeInBytes(in[n:]) + in, out = in[n+i:], append(out, in[:n+i]...) + } + } + return "", ErrUnexpectedEOF +} + +// indexNeedEscapeInString returns the index of the character that needs +// escaping. If no characters need escaping, this returns the input length. +func indexNeedEscapeInBytes(b []byte) int { return indexNeedEscapeInString(strs.UnsafeString(b)) } + +// UnmarshalString returns an unescaped string given a textproto string value. +// String value needs to contain single or double quotes. This is only used by +// internal/encoding/defval package for unmarshaling bytes. +func UnmarshalString(s string) (string, error) { + d := NewDecoder([]byte(s)) + return d.parseString() +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go new file mode 100644 index 000000000..83d2b0d5a --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go @@ -0,0 +1,373 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +import ( + "bytes" + "fmt" + "math" + "strconv" + "strings" + + "google.golang.org/protobuf/internal/flags" +) + +// Kind represents a token kind expressible in the textproto format. +type Kind uint8 + +// Kind values. +const ( + Invalid Kind = iota + EOF + Name // Name indicates the field name. + Scalar // Scalar are scalar values, e.g. "string", 47, ENUM_LITERAL, true. + MessageOpen + MessageClose + ListOpen + ListClose + + // comma and semi-colon are only for parsing in between values and should not be exposed. + comma + semicolon + + // bof indicates beginning of file, which is the default token + // kind at the beginning of parsing. + bof = Invalid +) + +func (t Kind) String() string { + switch t { + case Invalid: + return "<invalid>" + case EOF: + return "eof" + case Scalar: + return "scalar" + case Name: + return "name" + case MessageOpen: + return "{" + case MessageClose: + return "}" + case ListOpen: + return "[" + case ListClose: + return "]" + case comma: + return "," + case semicolon: + return ";" + default: + return fmt.Sprintf("<invalid:%v>", uint8(t)) + } +} + +// NameKind represents different types of field names. +type NameKind uint8 + +// NameKind values. +const ( + IdentName NameKind = iota + 1 + TypeName + FieldNumber +) + +func (t NameKind) String() string { + switch t { + case IdentName: + return "IdentName" + case TypeName: + return "TypeName" + case FieldNumber: + return "FieldNumber" + default: + return fmt.Sprintf("<invalid:%v>", uint8(t)) + } +} + +// Bit mask in Token.attrs to indicate if a Name token is followed by the +// separator char ':'. The field name separator char is optional for message +// field or repeated message field, but required for all other types. Decoder +// simply indicates whether a Name token is followed by separator or not. It is +// up to the prototext package to validate. +const hasSeparator = 1 << 7 + +// Scalar value types. +const ( + numberValue = iota + 1 + stringValue + literalValue +) + +// Bit mask in Token.numAttrs to indicate that the number is a negative. +const isNegative = 1 << 7 + +// Token provides a parsed token kind and value. Values are provided by the +// different accessor methods. +type Token struct { + // Kind of the Token object. + kind Kind + // attrs contains metadata for the following Kinds: + // Name: hasSeparator bit and one of NameKind. + // Scalar: one of numberValue, stringValue, literalValue. + attrs uint8 + // numAttrs contains metadata for numberValue: + // - highest bit is whether negative or positive. + // - lower bits indicate one of numDec, numHex, numOct, numFloat. + numAttrs uint8 + // pos provides the position of the token in the original input. + pos int + // raw bytes of the serialized token. + // This is a subslice into the original input. + raw []byte + // str contains parsed string for the following: + // - stringValue of Scalar kind + // - numberValue of Scalar kind + // - TypeName of Name kind + str string +} + +// Kind returns the token kind. +func (t Token) Kind() Kind { + return t.kind +} + +// RawString returns the read value in string. +func (t Token) RawString() string { + return string(t.raw) +} + +// Pos returns the token position from the input. +func (t Token) Pos() int { + return t.pos +} + +// NameKind returns IdentName, TypeName or FieldNumber. +// It panics if type is not Name. +func (t Token) NameKind() NameKind { + if t.kind == Name { + return NameKind(t.attrs &^ hasSeparator) + } + panic(fmt.Sprintf("Token is not a Name type: %s", t.kind)) +} + +// HasSeparator returns true if the field name is followed by the separator char +// ':', else false. It panics if type is not Name. +func (t Token) HasSeparator() bool { + if t.kind == Name { + return t.attrs&hasSeparator != 0 + } + panic(fmt.Sprintf("Token is not a Name type: %s", t.kind)) +} + +// IdentName returns the value for IdentName type. +func (t Token) IdentName() string { + if t.kind == Name && t.attrs&uint8(IdentName) != 0 { + return string(t.raw) + } + panic(fmt.Sprintf("Token is not an IdentName: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator))) +} + +// TypeName returns the value for TypeName type. +func (t Token) TypeName() string { + if t.kind == Name && t.attrs&uint8(TypeName) != 0 { + return t.str + } + panic(fmt.Sprintf("Token is not a TypeName: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator))) +} + +// FieldNumber returns the value for FieldNumber type. It returns a +// non-negative int32 value. Caller will still need to validate for the correct +// field number range. +func (t Token) FieldNumber() int32 { + if t.kind != Name || t.attrs&uint8(FieldNumber) == 0 { + panic(fmt.Sprintf("Token is not a FieldNumber: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator))) + } + // Following should not return an error as it had already been called right + // before this Token was constructed. + num, _ := strconv.ParseInt(string(t.raw), 10, 32) + return int32(num) +} + +// String returns the string value for a Scalar type. +func (t Token) String() (string, bool) { + if t.kind != Scalar || t.attrs != stringValue { + return "", false + } + return t.str, true +} + +// Enum returns the literal value for a Scalar type for use as enum literals. +func (t Token) Enum() (string, bool) { + if t.kind != Scalar || t.attrs != literalValue || (len(t.raw) > 0 && t.raw[0] == '-') { + return "", false + } + return string(t.raw), true +} + +// Bool returns the bool value for a Scalar type. +func (t Token) Bool() (bool, bool) { + if t.kind != Scalar { + return false, false + } + switch t.attrs { + case literalValue: + if b, ok := boolLits[string(t.raw)]; ok { + return b, true + } + case numberValue: + // Unsigned integer representation of 0 or 1 is permitted: 00, 0x0, 01, + // 0x1, etc. + n, err := strconv.ParseUint(t.str, 0, 64) + if err == nil { + switch n { + case 0: + return false, true + case 1: + return true, true + } + } + } + return false, false +} + +// These exact boolean literals are the ones supported in C++. +var boolLits = map[string]bool{ + "t": true, + "true": true, + "True": true, + "f": false, + "false": false, + "False": false, +} + +// Uint64 returns the uint64 value for a Scalar type. +func (t Token) Uint64() (uint64, bool) { + if t.kind != Scalar || t.attrs != numberValue || + t.numAttrs&isNegative > 0 || t.numAttrs&numFloat > 0 { + return 0, false + } + n, err := strconv.ParseUint(t.str, 0, 64) + if err != nil { + return 0, false + } + return n, true +} + +// Uint32 returns the uint32 value for a Scalar type. +func (t Token) Uint32() (uint32, bool) { + if t.kind != Scalar || t.attrs != numberValue || + t.numAttrs&isNegative > 0 || t.numAttrs&numFloat > 0 { + return 0, false + } + n, err := strconv.ParseUint(t.str, 0, 32) + if err != nil { + return 0, false + } + return uint32(n), true +} + +// Int64 returns the int64 value for a Scalar type. +func (t Token) Int64() (int64, bool) { + if t.kind != Scalar || t.attrs != numberValue || t.numAttrs&numFloat > 0 { + return 0, false + } + if n, err := strconv.ParseInt(t.str, 0, 64); err == nil { + return n, true + } + // C++ accepts large positive hex numbers as negative values. + // This feature is here for proto1 backwards compatibility purposes. + if flags.ProtoLegacy && (t.numAttrs == numHex) { + if n, err := strconv.ParseUint(t.str, 0, 64); err == nil { + return int64(n), true + } + } + return 0, false +} + +// Int32 returns the int32 value for a Scalar type. +func (t Token) Int32() (int32, bool) { + if t.kind != Scalar || t.attrs != numberValue || t.numAttrs&numFloat > 0 { + return 0, false + } + if n, err := strconv.ParseInt(t.str, 0, 32); err == nil { + return int32(n), true + } + // C++ accepts large positive hex numbers as negative values. + // This feature is here for proto1 backwards compatibility purposes. + if flags.ProtoLegacy && (t.numAttrs == numHex) { + if n, err := strconv.ParseUint(t.str, 0, 32); err == nil { + return int32(n), true + } + } + return 0, false +} + +// Float64 returns the float64 value for a Scalar type. +func (t Token) Float64() (float64, bool) { + if t.kind != Scalar { + return 0, false + } + switch t.attrs { + case literalValue: + if f, ok := floatLits[strings.ToLower(string(t.raw))]; ok { + return f, true + } + case numberValue: + n, err := strconv.ParseFloat(t.str, 64) + if err == nil { + return n, true + } + nerr := err.(*strconv.NumError) + if nerr.Err == strconv.ErrRange { + return n, true + } + } + return 0, false +} + +// Float32 returns the float32 value for a Scalar type. +func (t Token) Float32() (float32, bool) { + if t.kind != Scalar { + return 0, false + } + switch t.attrs { + case literalValue: + if f, ok := floatLits[strings.ToLower(string(t.raw))]; ok { + return float32(f), true + } + case numberValue: + n, err := strconv.ParseFloat(t.str, 64) + if err == nil { + // Overflows are treated as (-)infinity. + return float32(n), true + } + nerr := err.(*strconv.NumError) + if nerr.Err == strconv.ErrRange { + return float32(n), true + } + } + return 0, false +} + +// These are the supported float literals which C++ permits case-insensitive +// variants of these. +var floatLits = map[string]float64{ + "nan": math.NaN(), + "inf": math.Inf(1), + "infinity": math.Inf(1), + "-inf": math.Inf(-1), + "-infinity": math.Inf(-1), +} + +// TokenEquals returns true if given Tokens are equal, else false. +func TokenEquals(x, y Token) bool { + return x.kind == y.kind && + x.attrs == y.attrs && + x.numAttrs == y.numAttrs && + x.pos == y.pos && + bytes.Equal(x.raw, y.raw) && + x.str == y.str +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go b/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go new file mode 100644 index 000000000..0ce8d6fb8 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package text implements the text format for protocol buffers. +// This package has no semantic understanding for protocol buffers and is only +// a parser and composer for the format. +// +// There is no formal specification for the protobuf text format, as such the +// C++ implementation (see google::protobuf::TextFormat) is the reference +// implementation of the text format. +// +// This package is neither a superset nor a subset of the C++ implementation. +// This implementation permits a more liberal grammar in some cases to be +// backwards compatible with the historical Go implementation. +// Future parsings unique to Go should not be added. +// Some grammars allowed by the C++ implementation are deliberately +// not implemented here because they are considered a bug by the protobuf team +// and should not be replicated. +// +// The Go implementation should implement a sufficient amount of the C++ +// grammar such that the default text serialization by C++ can be parsed by Go. +// However, just because the C++ parser accepts some input does not mean that +// the Go implementation should as well. +// +// The text format is almost a superset of JSON except: +// * message keys are not quoted strings, but identifiers +// * the top-level value must be a message without the delimiters +package text diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go b/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go new file mode 100644 index 000000000..aa66bdd06 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go @@ -0,0 +1,265 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +import ( + "math" + "math/bits" + "strconv" + "strings" + "unicode/utf8" + + "google.golang.org/protobuf/internal/detrand" + "google.golang.org/protobuf/internal/errors" +) + +// encType represents an encoding type. +type encType uint8 + +const ( + _ encType = (1 << iota) / 2 + name + scalar + messageOpen + messageClose +) + +// Encoder provides methods to write out textproto constructs and values. The user is +// responsible for producing valid sequences of constructs and values. +type Encoder struct { + encoderState + + indent string + delims [2]byte + outputASCII bool +} + +type encoderState struct { + lastType encType + indents []byte + out []byte +} + +// NewEncoder returns an Encoder. +// +// If indent is a non-empty string, it causes every entry in a List or Message +// to be preceded by the indent and trailed by a newline. +// +// If delims is not the zero value, it controls the delimiter characters used +// for messages (e.g., "{}" vs "<>"). +// +// If outputASCII is true, strings will be serialized in such a way that +// multi-byte UTF-8 sequences are escaped. This property ensures that the +// overall output is ASCII (as opposed to UTF-8). +func NewEncoder(indent string, delims [2]byte, outputASCII bool) (*Encoder, error) { + e := &Encoder{} + if len(indent) > 0 { + if strings.Trim(indent, " \t") != "" { + return nil, errors.New("indent may only be composed of space and tab characters") + } + e.indent = indent + } + switch delims { + case [2]byte{0, 0}: + e.delims = [2]byte{'{', '}'} + case [2]byte{'{', '}'}, [2]byte{'<', '>'}: + e.delims = delims + default: + return nil, errors.New("delimiters may only be \"{}\" or \"<>\"") + } + e.outputASCII = outputASCII + + return e, nil +} + +// Bytes returns the content of the written bytes. +func (e *Encoder) Bytes() []byte { + return e.out +} + +// StartMessage writes out the '{' or '<' symbol. +func (e *Encoder) StartMessage() { + e.prepareNext(messageOpen) + e.out = append(e.out, e.delims[0]) +} + +// EndMessage writes out the '}' or '>' symbol. +func (e *Encoder) EndMessage() { + e.prepareNext(messageClose) + e.out = append(e.out, e.delims[1]) +} + +// WriteName writes out the field name and the separator ':'. +func (e *Encoder) WriteName(s string) { + e.prepareNext(name) + e.out = append(e.out, s...) + e.out = append(e.out, ':') +} + +// WriteBool writes out the given boolean value. +func (e *Encoder) WriteBool(b bool) { + if b { + e.WriteLiteral("true") + } else { + e.WriteLiteral("false") + } +} + +// WriteString writes out the given string value. +func (e *Encoder) WriteString(s string) { + e.prepareNext(scalar) + e.out = appendString(e.out, s, e.outputASCII) +} + +func appendString(out []byte, in string, outputASCII bool) []byte { + out = append(out, '"') + i := indexNeedEscapeInString(in) + in, out = in[i:], append(out, in[:i]...) + for len(in) > 0 { + switch r, n := utf8.DecodeRuneInString(in); { + case r == utf8.RuneError && n == 1: + // We do not report invalid UTF-8 because strings in the text format + // are used to represent both the proto string and bytes type. + r = rune(in[0]) + fallthrough + case r < ' ' || r == '"' || r == '\\' || r == 0x7f: + out = append(out, '\\') + switch r { + case '"', '\\': + out = append(out, byte(r)) + case '\n': + out = append(out, 'n') + case '\r': + out = append(out, 'r') + case '\t': + out = append(out, 't') + default: + out = append(out, 'x') + out = append(out, "00"[1+(bits.Len32(uint32(r))-1)/4:]...) + out = strconv.AppendUint(out, uint64(r), 16) + } + in = in[n:] + case r >= utf8.RuneSelf && (outputASCII || r <= 0x009f): + out = append(out, '\\') + if r <= math.MaxUint16 { + out = append(out, 'u') + out = append(out, "0000"[1+(bits.Len32(uint32(r))-1)/4:]...) + out = strconv.AppendUint(out, uint64(r), 16) + } else { + out = append(out, 'U') + out = append(out, "00000000"[1+(bits.Len32(uint32(r))-1)/4:]...) + out = strconv.AppendUint(out, uint64(r), 16) + } + in = in[n:] + default: + i := indexNeedEscapeInString(in[n:]) + in, out = in[n+i:], append(out, in[:n+i]...) + } + } + out = append(out, '"') + return out +} + +// indexNeedEscapeInString returns the index of the character that needs +// escaping. If no characters need escaping, this returns the input length. +func indexNeedEscapeInString(s string) int { + for i := 0; i < len(s); i++ { + if c := s[i]; c < ' ' || c == '"' || c == '\'' || c == '\\' || c >= 0x7f { + return i + } + } + return len(s) +} + +// WriteFloat writes out the given float value for given bitSize. +func (e *Encoder) WriteFloat(n float64, bitSize int) { + e.prepareNext(scalar) + e.out = appendFloat(e.out, n, bitSize) +} + +func appendFloat(out []byte, n float64, bitSize int) []byte { + switch { + case math.IsNaN(n): + return append(out, "nan"...) + case math.IsInf(n, +1): + return append(out, "inf"...) + case math.IsInf(n, -1): + return append(out, "-inf"...) + default: + return strconv.AppendFloat(out, n, 'g', -1, bitSize) + } +} + +// WriteInt writes out the given signed integer value. +func (e *Encoder) WriteInt(n int64) { + e.prepareNext(scalar) + e.out = append(e.out, strconv.FormatInt(n, 10)...) +} + +// WriteUint writes out the given unsigned integer value. +func (e *Encoder) WriteUint(n uint64) { + e.prepareNext(scalar) + e.out = append(e.out, strconv.FormatUint(n, 10)...) +} + +// WriteLiteral writes out the given string as a literal value without quotes. +// This is used for writing enum literal strings. +func (e *Encoder) WriteLiteral(s string) { + e.prepareNext(scalar) + e.out = append(e.out, s...) +} + +// prepareNext adds possible space and indentation for the next value based +// on last encType and indent option. It also updates e.lastType to next. +func (e *Encoder) prepareNext(next encType) { + defer func() { + e.lastType = next + }() + + // Single line. + if len(e.indent) == 0 { + // Add space after each field before the next one. + if e.lastType&(scalar|messageClose) != 0 && next == name { + e.out = append(e.out, ' ') + // Add a random extra space to make output unstable. + if detrand.Bool() { + e.out = append(e.out, ' ') + } + } + return + } + + // Multi-line. + switch { + case e.lastType == name: + e.out = append(e.out, ' ') + // Add a random extra space after name: to make output unstable. + if detrand.Bool() { + e.out = append(e.out, ' ') + } + + case e.lastType == messageOpen && next != messageClose: + e.indents = append(e.indents, e.indent...) + e.out = append(e.out, '\n') + e.out = append(e.out, e.indents...) + + case e.lastType&(scalar|messageClose) != 0: + if next == messageClose { + e.indents = e.indents[:len(e.indents)-len(e.indent)] + } + e.out = append(e.out, '\n') + e.out = append(e.out, e.indents...) + } +} + +// Snapshot returns the current snapshot for use in Reset. +func (e *Encoder) Snapshot() encoderState { + return e.encoderState +} + +// Reset resets the Encoder to the given encoderState from a Snapshot. +func (e *Encoder) Reset(es encoderState) { + e.encoderState = es +} diff --git a/vendor/google.golang.org/protobuf/internal/errors/errors.go b/vendor/google.golang.org/protobuf/internal/errors/errors.go new file mode 100644 index 000000000..20c17b35e --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/errors/errors.go @@ -0,0 +1,89 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package errors implements functions to manipulate errors. +package errors + +import ( + "errors" + "fmt" + + "google.golang.org/protobuf/internal/detrand" +) + +// Error is a sentinel matching all errors produced by this package. +var Error = errors.New("protobuf error") + +// New formats a string according to the format specifier and arguments and +// returns an error that has a "proto" prefix. +func New(f string, x ...interface{}) error { + return &prefixError{s: format(f, x...)} +} + +type prefixError struct{ s string } + +var prefix = func() string { + // Deliberately introduce instability into the error message string to + // discourage users from performing error string comparisons. + if detrand.Bool() { + return "proto: " // use non-breaking spaces (U+00a0) + } else { + return "proto: " // use regular spaces (U+0020) + } +}() + +func (e *prefixError) Error() string { + return prefix + e.s +} + +func (e *prefixError) Unwrap() error { + return Error +} + +// Wrap returns an error that has a "proto" prefix, the formatted string described +// by the format specifier and arguments, and a suffix of err. The error wraps err. +func Wrap(err error, f string, x ...interface{}) error { + return &wrapError{ + s: format(f, x...), + err: err, + } +} + +type wrapError struct { + s string + err error +} + +func (e *wrapError) Error() string { + return format("%v%v: %v", prefix, e.s, e.err) +} + +func (e *wrapError) Unwrap() error { + return e.err +} + +func (e *wrapError) Is(target error) bool { + return target == Error +} + +func format(f string, x ...interface{}) string { + // avoid "proto: " prefix when chaining + for i := 0; i < len(x); i++ { + switch e := x[i].(type) { + case *prefixError: + x[i] = e.s + case *wrapError: + x[i] = format("%v: %v", e.s, e.err) + } + } + return fmt.Sprintf(f, x...) +} + +func InvalidUTF8(name string) error { + return New("field %v contains invalid UTF-8", name) +} + +func RequiredNotSet(name string) error { + return New("required field %v not set", name) +} diff --git a/vendor/google.golang.org/protobuf/internal/errors/is_go112.go b/vendor/google.golang.org/protobuf/internal/errors/is_go112.go new file mode 100644 index 000000000..f90e909b3 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/errors/is_go112.go @@ -0,0 +1,39 @@ +// Copyright 2020 The Go 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.13 + +package errors + +import "reflect" + +// Is is a copy of Go 1.13's errors.Is for use with older Go versions. +func Is(err, target error) bool { + if target == nil { + return err == target + } + + isComparable := reflect.TypeOf(target).Comparable() + for { + if isComparable && err == target { + return true + } + if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(target) { + return true + } + if err = unwrap(err); err == nil { + return false + } + } +} + +func unwrap(err error) error { + u, ok := err.(interface { + Unwrap() error + }) + if !ok { + return nil + } + return u.Unwrap() +} diff --git a/vendor/google.golang.org/protobuf/internal/errors/is_go113.go b/vendor/google.golang.org/protobuf/internal/errors/is_go113.go new file mode 100644 index 000000000..dc05f4191 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/errors/is_go113.go @@ -0,0 +1,12 @@ +// Copyright 2020 The Go 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.13 + +package errors + +import "errors" + +// Is is errors.Is. +func Is(err, target error) bool { return errors.Is(err, target) } diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/build.go b/vendor/google.golang.org/protobuf/internal/filedesc/build.go new file mode 100644 index 000000000..b293b6947 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/filedesc/build.go @@ -0,0 +1,158 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package filedesc provides functionality for constructing descriptors. +// +// The types in this package implement interfaces in the protoreflect package +// related to protobuf descripriptors. +package filedesc + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/reflect/protoreflect" + pref "google.golang.org/protobuf/reflect/protoreflect" + preg "google.golang.org/protobuf/reflect/protoregistry" +) + +// Builder construct a protoreflect.FileDescriptor from the raw descriptor. +type Builder struct { + // GoPackagePath is the Go package path that is invoking this builder. + GoPackagePath string + + // RawDescriptor is the wire-encoded bytes of FileDescriptorProto + // and must be populated. + RawDescriptor []byte + + // NumEnums is the total number of enums declared in the file. + NumEnums int32 + // NumMessages is the total number of messages declared in the file. + // It includes the implicit message declarations for map entries. + NumMessages int32 + // NumExtensions is the total number of extensions declared in the file. + NumExtensions int32 + // NumServices is the total number of services declared in the file. + NumServices int32 + + // TypeResolver resolves extension field types for descriptor options. + // If nil, it uses protoregistry.GlobalTypes. + TypeResolver interface { + preg.ExtensionTypeResolver + } + + // FileRegistry is use to lookup file, enum, and message dependencies. + // Once constructed, the file descriptor is registered here. + // If nil, it uses protoregistry.GlobalFiles. + FileRegistry interface { + FindFileByPath(string) (protoreflect.FileDescriptor, error) + FindDescriptorByName(pref.FullName) (pref.Descriptor, error) + RegisterFile(pref.FileDescriptor) error + } +} + +// resolverByIndex is an interface Builder.FileRegistry may implement. +// If so, it permits looking up an enum or message dependency based on the +// sub-list and element index into filetype.Builder.DependencyIndexes. +type resolverByIndex interface { + FindEnumByIndex(int32, int32, []Enum, []Message) pref.EnumDescriptor + FindMessageByIndex(int32, int32, []Enum, []Message) pref.MessageDescriptor +} + +// Indexes of each sub-list in filetype.Builder.DependencyIndexes. +const ( + listFieldDeps int32 = iota + listExtTargets + listExtDeps + listMethInDeps + listMethOutDeps +) + +// Out is the output of the Builder. +type Out struct { + File pref.FileDescriptor + + // Enums is all enum descriptors in "flattened ordering". + Enums []Enum + // Messages is all message descriptors in "flattened ordering". + // It includes the implicit message declarations for map entries. + Messages []Message + // Extensions is all extension descriptors in "flattened ordering". + Extensions []Extension + // Service is all service descriptors in "flattened ordering". + Services []Service +} + +// Build constructs a FileDescriptor given the parameters set in Builder. +// It assumes that the inputs are well-formed and panics if any inconsistencies +// are encountered. +// +// If NumEnums+NumMessages+NumExtensions+NumServices is zero, +// then Build automatically derives them from the raw descriptor. +func (db Builder) Build() (out Out) { + // Populate the counts if uninitialized. + if db.NumEnums+db.NumMessages+db.NumExtensions+db.NumServices == 0 { + db.unmarshalCounts(db.RawDescriptor, true) + } + + // Initialize resolvers and registries if unpopulated. + if db.TypeResolver == nil { + db.TypeResolver = preg.GlobalTypes + } + if db.FileRegistry == nil { + db.FileRegistry = preg.GlobalFiles + } + + fd := newRawFile(db) + out.File = fd + out.Enums = fd.allEnums + out.Messages = fd.allMessages + out.Extensions = fd.allExtensions + out.Services = fd.allServices + + if err := db.FileRegistry.RegisterFile(fd); err != nil { + panic(err) + } + return out +} + +// unmarshalCounts counts the number of enum, message, extension, and service +// declarations in the raw message, which is either a FileDescriptorProto +// or a MessageDescriptorProto depending on whether isFile is set. +func (db *Builder) unmarshalCounts(b []byte, isFile bool) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + if isFile { + switch num { + case genid.FileDescriptorProto_EnumType_field_number: + db.NumEnums++ + case genid.FileDescriptorProto_MessageType_field_number: + db.unmarshalCounts(v, false) + db.NumMessages++ + case genid.FileDescriptorProto_Extension_field_number: + db.NumExtensions++ + case genid.FileDescriptorProto_Service_field_number: + db.NumServices++ + } + } else { + switch num { + case genid.DescriptorProto_EnumType_field_number: + db.NumEnums++ + case genid.DescriptorProto_NestedType_field_number: + db.unmarshalCounts(v, false) + db.NumMessages++ + case genid.DescriptorProto_Extension_field_number: + db.NumExtensions++ + } + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc.go new file mode 100644 index 000000000..98ab142ae --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc.go @@ -0,0 +1,631 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "bytes" + "fmt" + "sync" + "sync/atomic" + + "google.golang.org/protobuf/internal/descfmt" + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/encoding/defval" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/internal/strs" + pref "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// The types in this file may have a suffix: +// • L0: Contains fields common to all descriptors (except File) and +// must be initialized up front. +// • L1: Contains fields specific to a descriptor and +// must be initialized up front. +// • L2: Contains fields that are lazily initialized when constructing +// from the raw file descriptor. When constructing as a literal, the L2 +// fields must be initialized up front. +// +// The types are exported so that packages like reflect/protodesc can +// directly construct descriptors. + +type ( + File struct { + fileRaw + L1 FileL1 + + once uint32 // atomically set if L2 is valid + mu sync.Mutex // protects L2 + L2 *FileL2 + } + FileL1 struct { + Syntax pref.Syntax + Path string + Package pref.FullName + + Enums Enums + Messages Messages + Extensions Extensions + Services Services + } + FileL2 struct { + Options func() pref.ProtoMessage + Imports FileImports + Locations SourceLocations + } +) + +func (fd *File) ParentFile() pref.FileDescriptor { return fd } +func (fd *File) Parent() pref.Descriptor { return nil } +func (fd *File) Index() int { return 0 } +func (fd *File) Syntax() pref.Syntax { return fd.L1.Syntax } +func (fd *File) Name() pref.Name { return fd.L1.Package.Name() } +func (fd *File) FullName() pref.FullName { return fd.L1.Package } +func (fd *File) IsPlaceholder() bool { return false } +func (fd *File) Options() pref.ProtoMessage { + if f := fd.lazyInit().Options; f != nil { + return f() + } + return descopts.File +} +func (fd *File) Path() string { return fd.L1.Path } +func (fd *File) Package() pref.FullName { return fd.L1.Package } +func (fd *File) Imports() pref.FileImports { return &fd.lazyInit().Imports } +func (fd *File) Enums() pref.EnumDescriptors { return &fd.L1.Enums } +func (fd *File) Messages() pref.MessageDescriptors { return &fd.L1.Messages } +func (fd *File) Extensions() pref.ExtensionDescriptors { return &fd.L1.Extensions } +func (fd *File) Services() pref.ServiceDescriptors { return &fd.L1.Services } +func (fd *File) SourceLocations() pref.SourceLocations { return &fd.lazyInit().Locations } +func (fd *File) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, fd) } +func (fd *File) ProtoType(pref.FileDescriptor) {} +func (fd *File) ProtoInternal(pragma.DoNotImplement) {} + +func (fd *File) lazyInit() *FileL2 { + if atomic.LoadUint32(&fd.once) == 0 { + fd.lazyInitOnce() + } + return fd.L2 +} + +func (fd *File) lazyInitOnce() { + fd.mu.Lock() + if fd.L2 == nil { + fd.lazyRawInit() // recursively initializes all L2 structures + } + atomic.StoreUint32(&fd.once, 1) + fd.mu.Unlock() +} + +// GoPackagePath is a pseudo-internal API for determining the Go package path +// that this file descriptor is declared in. +// +// WARNING: This method is exempt from the compatibility promise and may be +// removed in the future without warning. +func (fd *File) GoPackagePath() string { + return fd.builder.GoPackagePath +} + +type ( + Enum struct { + Base + L1 EnumL1 + L2 *EnumL2 // protected by fileDesc.once + } + EnumL1 struct { + eagerValues bool // controls whether EnumL2.Values is already populated + } + EnumL2 struct { + Options func() pref.ProtoMessage + Values EnumValues + ReservedNames Names + ReservedRanges EnumRanges + } + + EnumValue struct { + Base + L1 EnumValueL1 + } + EnumValueL1 struct { + Options func() pref.ProtoMessage + Number pref.EnumNumber + } +) + +func (ed *Enum) Options() pref.ProtoMessage { + if f := ed.lazyInit().Options; f != nil { + return f() + } + return descopts.Enum +} +func (ed *Enum) Values() pref.EnumValueDescriptors { + if ed.L1.eagerValues { + return &ed.L2.Values + } + return &ed.lazyInit().Values +} +func (ed *Enum) ReservedNames() pref.Names { return &ed.lazyInit().ReservedNames } +func (ed *Enum) ReservedRanges() pref.EnumRanges { return &ed.lazyInit().ReservedRanges } +func (ed *Enum) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, ed) } +func (ed *Enum) ProtoType(pref.EnumDescriptor) {} +func (ed *Enum) lazyInit() *EnumL2 { + ed.L0.ParentFile.lazyInit() // implicitly initializes L2 + return ed.L2 +} + +func (ed *EnumValue) Options() pref.ProtoMessage { + if f := ed.L1.Options; f != nil { + return f() + } + return descopts.EnumValue +} +func (ed *EnumValue) Number() pref.EnumNumber { return ed.L1.Number } +func (ed *EnumValue) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, ed) } +func (ed *EnumValue) ProtoType(pref.EnumValueDescriptor) {} + +type ( + Message struct { + Base + L1 MessageL1 + L2 *MessageL2 // protected by fileDesc.once + } + MessageL1 struct { + Enums Enums + Messages Messages + Extensions Extensions + IsMapEntry bool // promoted from google.protobuf.MessageOptions + IsMessageSet bool // promoted from google.protobuf.MessageOptions + } + MessageL2 struct { + Options func() pref.ProtoMessage + Fields Fields + Oneofs Oneofs + ReservedNames Names + ReservedRanges FieldRanges + RequiredNumbers FieldNumbers // must be consistent with Fields.Cardinality + ExtensionRanges FieldRanges + ExtensionRangeOptions []func() pref.ProtoMessage // must be same length as ExtensionRanges + } + + Field struct { + Base + L1 FieldL1 + } + FieldL1 struct { + Options func() pref.ProtoMessage + Number pref.FieldNumber + Cardinality pref.Cardinality // must be consistent with Message.RequiredNumbers + Kind pref.Kind + StringName stringName + IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto + IsWeak bool // promoted from google.protobuf.FieldOptions + HasPacked bool // promoted from google.protobuf.FieldOptions + IsPacked bool // promoted from google.protobuf.FieldOptions + HasEnforceUTF8 bool // promoted from google.protobuf.FieldOptions + EnforceUTF8 bool // promoted from google.protobuf.FieldOptions + Default defaultValue + ContainingOneof pref.OneofDescriptor // must be consistent with Message.Oneofs.Fields + Enum pref.EnumDescriptor + Message pref.MessageDescriptor + } + + Oneof struct { + Base + L1 OneofL1 + } + OneofL1 struct { + Options func() pref.ProtoMessage + Fields OneofFields // must be consistent with Message.Fields.ContainingOneof + } +) + +func (md *Message) Options() pref.ProtoMessage { + if f := md.lazyInit().Options; f != nil { + return f() + } + return descopts.Message +} +func (md *Message) IsMapEntry() bool { return md.L1.IsMapEntry } +func (md *Message) Fields() pref.FieldDescriptors { return &md.lazyInit().Fields } +func (md *Message) Oneofs() pref.OneofDescriptors { return &md.lazyInit().Oneofs } +func (md *Message) ReservedNames() pref.Names { return &md.lazyInit().ReservedNames } +func (md *Message) ReservedRanges() pref.FieldRanges { return &md.lazyInit().ReservedRanges } +func (md *Message) RequiredNumbers() pref.FieldNumbers { return &md.lazyInit().RequiredNumbers } +func (md *Message) ExtensionRanges() pref.FieldRanges { return &md.lazyInit().ExtensionRanges } +func (md *Message) ExtensionRangeOptions(i int) pref.ProtoMessage { + if f := md.lazyInit().ExtensionRangeOptions[i]; f != nil { + return f() + } + return descopts.ExtensionRange +} +func (md *Message) Enums() pref.EnumDescriptors { return &md.L1.Enums } +func (md *Message) Messages() pref.MessageDescriptors { return &md.L1.Messages } +func (md *Message) Extensions() pref.ExtensionDescriptors { return &md.L1.Extensions } +func (md *Message) ProtoType(pref.MessageDescriptor) {} +func (md *Message) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, md) } +func (md *Message) lazyInit() *MessageL2 { + md.L0.ParentFile.lazyInit() // implicitly initializes L2 + return md.L2 +} + +// IsMessageSet is a pseudo-internal API for checking whether a message +// should serialize in the proto1 message format. +// +// WARNING: This method is exempt from the compatibility promise and may be +// removed in the future without warning. +func (md *Message) IsMessageSet() bool { + return md.L1.IsMessageSet +} + +func (fd *Field) Options() pref.ProtoMessage { + if f := fd.L1.Options; f != nil { + return f() + } + return descopts.Field +} +func (fd *Field) Number() pref.FieldNumber { return fd.L1.Number } +func (fd *Field) Cardinality() pref.Cardinality { return fd.L1.Cardinality } +func (fd *Field) Kind() pref.Kind { return fd.L1.Kind } +func (fd *Field) HasJSONName() bool { return fd.L1.StringName.hasJSON } +func (fd *Field) JSONName() string { return fd.L1.StringName.getJSON(fd) } +func (fd *Field) TextName() string { return fd.L1.StringName.getText(fd) } +func (fd *Field) HasPresence() bool { + return fd.L1.Cardinality != pref.Repeated && (fd.L0.ParentFile.L1.Syntax == pref.Proto2 || fd.L1.Message != nil || fd.L1.ContainingOneof != nil) +} +func (fd *Field) HasOptionalKeyword() bool { + return (fd.L0.ParentFile.L1.Syntax == pref.Proto2 && fd.L1.Cardinality == pref.Optional && fd.L1.ContainingOneof == nil) || fd.L1.IsProto3Optional +} +func (fd *Field) IsPacked() bool { + if !fd.L1.HasPacked && fd.L0.ParentFile.L1.Syntax != pref.Proto2 && fd.L1.Cardinality == pref.Repeated { + switch fd.L1.Kind { + case pref.StringKind, pref.BytesKind, pref.MessageKind, pref.GroupKind: + default: + return true + } + } + return fd.L1.IsPacked +} +func (fd *Field) IsExtension() bool { return false } +func (fd *Field) IsWeak() bool { return fd.L1.IsWeak } +func (fd *Field) IsList() bool { return fd.Cardinality() == pref.Repeated && !fd.IsMap() } +func (fd *Field) IsMap() bool { return fd.Message() != nil && fd.Message().IsMapEntry() } +func (fd *Field) MapKey() pref.FieldDescriptor { + if !fd.IsMap() { + return nil + } + return fd.Message().Fields().ByNumber(genid.MapEntry_Key_field_number) +} +func (fd *Field) MapValue() pref.FieldDescriptor { + if !fd.IsMap() { + return nil + } + return fd.Message().Fields().ByNumber(genid.MapEntry_Value_field_number) +} +func (fd *Field) HasDefault() bool { return fd.L1.Default.has } +func (fd *Field) Default() pref.Value { return fd.L1.Default.get(fd) } +func (fd *Field) DefaultEnumValue() pref.EnumValueDescriptor { return fd.L1.Default.enum } +func (fd *Field) ContainingOneof() pref.OneofDescriptor { return fd.L1.ContainingOneof } +func (fd *Field) ContainingMessage() pref.MessageDescriptor { + return fd.L0.Parent.(pref.MessageDescriptor) +} +func (fd *Field) Enum() pref.EnumDescriptor { + return fd.L1.Enum +} +func (fd *Field) Message() pref.MessageDescriptor { + if fd.L1.IsWeak { + if d, _ := protoregistry.GlobalFiles.FindDescriptorByName(fd.L1.Message.FullName()); d != nil { + return d.(pref.MessageDescriptor) + } + } + return fd.L1.Message +} +func (fd *Field) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, fd) } +func (fd *Field) ProtoType(pref.FieldDescriptor) {} + +// EnforceUTF8 is a pseudo-internal API to determine whether to enforce UTF-8 +// validation for the string field. This exists for Google-internal use only +// since proto3 did not enforce UTF-8 validity prior to the open-source release. +// If this method does not exist, the default is to enforce valid UTF-8. +// +// WARNING: This method is exempt from the compatibility promise and may be +// removed in the future without warning. +func (fd *Field) EnforceUTF8() bool { + if fd.L1.HasEnforceUTF8 { + return fd.L1.EnforceUTF8 + } + return fd.L0.ParentFile.L1.Syntax == pref.Proto3 +} + +func (od *Oneof) IsSynthetic() bool { + return od.L0.ParentFile.L1.Syntax == pref.Proto3 && len(od.L1.Fields.List) == 1 && od.L1.Fields.List[0].HasOptionalKeyword() +} +func (od *Oneof) Options() pref.ProtoMessage { + if f := od.L1.Options; f != nil { + return f() + } + return descopts.Oneof +} +func (od *Oneof) Fields() pref.FieldDescriptors { return &od.L1.Fields } +func (od *Oneof) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, od) } +func (od *Oneof) ProtoType(pref.OneofDescriptor) {} + +type ( + Extension struct { + Base + L1 ExtensionL1 + L2 *ExtensionL2 // protected by fileDesc.once + } + ExtensionL1 struct { + Number pref.FieldNumber + Extendee pref.MessageDescriptor + Cardinality pref.Cardinality + Kind pref.Kind + } + ExtensionL2 struct { + Options func() pref.ProtoMessage + StringName stringName + IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto + IsPacked bool // promoted from google.protobuf.FieldOptions + Default defaultValue + Enum pref.EnumDescriptor + Message pref.MessageDescriptor + } +) + +func (xd *Extension) Options() pref.ProtoMessage { + if f := xd.lazyInit().Options; f != nil { + return f() + } + return descopts.Field +} +func (xd *Extension) Number() pref.FieldNumber { return xd.L1.Number } +func (xd *Extension) Cardinality() pref.Cardinality { return xd.L1.Cardinality } +func (xd *Extension) Kind() pref.Kind { return xd.L1.Kind } +func (xd *Extension) HasJSONName() bool { return xd.lazyInit().StringName.hasJSON } +func (xd *Extension) JSONName() string { return xd.lazyInit().StringName.getJSON(xd) } +func (xd *Extension) TextName() string { return xd.lazyInit().StringName.getText(xd) } +func (xd *Extension) HasPresence() bool { return xd.L1.Cardinality != pref.Repeated } +func (xd *Extension) HasOptionalKeyword() bool { + return (xd.L0.ParentFile.L1.Syntax == pref.Proto2 && xd.L1.Cardinality == pref.Optional) || xd.lazyInit().IsProto3Optional +} +func (xd *Extension) IsPacked() bool { return xd.lazyInit().IsPacked } +func (xd *Extension) IsExtension() bool { return true } +func (xd *Extension) IsWeak() bool { return false } +func (xd *Extension) IsList() bool { return xd.Cardinality() == pref.Repeated } +func (xd *Extension) IsMap() bool { return false } +func (xd *Extension) MapKey() pref.FieldDescriptor { return nil } +func (xd *Extension) MapValue() pref.FieldDescriptor { return nil } +func (xd *Extension) HasDefault() bool { return xd.lazyInit().Default.has } +func (xd *Extension) Default() pref.Value { return xd.lazyInit().Default.get(xd) } +func (xd *Extension) DefaultEnumValue() pref.EnumValueDescriptor { return xd.lazyInit().Default.enum } +func (xd *Extension) ContainingOneof() pref.OneofDescriptor { return nil } +func (xd *Extension) ContainingMessage() pref.MessageDescriptor { return xd.L1.Extendee } +func (xd *Extension) Enum() pref.EnumDescriptor { return xd.lazyInit().Enum } +func (xd *Extension) Message() pref.MessageDescriptor { return xd.lazyInit().Message } +func (xd *Extension) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, xd) } +func (xd *Extension) ProtoType(pref.FieldDescriptor) {} +func (xd *Extension) ProtoInternal(pragma.DoNotImplement) {} +func (xd *Extension) lazyInit() *ExtensionL2 { + xd.L0.ParentFile.lazyInit() // implicitly initializes L2 + return xd.L2 +} + +type ( + Service struct { + Base + L1 ServiceL1 + L2 *ServiceL2 // protected by fileDesc.once + } + ServiceL1 struct{} + ServiceL2 struct { + Options func() pref.ProtoMessage + Methods Methods + } + + Method struct { + Base + L1 MethodL1 + } + MethodL1 struct { + Options func() pref.ProtoMessage + Input pref.MessageDescriptor + Output pref.MessageDescriptor + IsStreamingClient bool + IsStreamingServer bool + } +) + +func (sd *Service) Options() pref.ProtoMessage { + if f := sd.lazyInit().Options; f != nil { + return f() + } + return descopts.Service +} +func (sd *Service) Methods() pref.MethodDescriptors { return &sd.lazyInit().Methods } +func (sd *Service) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, sd) } +func (sd *Service) ProtoType(pref.ServiceDescriptor) {} +func (sd *Service) ProtoInternal(pragma.DoNotImplement) {} +func (sd *Service) lazyInit() *ServiceL2 { + sd.L0.ParentFile.lazyInit() // implicitly initializes L2 + return sd.L2 +} + +func (md *Method) Options() pref.ProtoMessage { + if f := md.L1.Options; f != nil { + return f() + } + return descopts.Method +} +func (md *Method) Input() pref.MessageDescriptor { return md.L1.Input } +func (md *Method) Output() pref.MessageDescriptor { return md.L1.Output } +func (md *Method) IsStreamingClient() bool { return md.L1.IsStreamingClient } +func (md *Method) IsStreamingServer() bool { return md.L1.IsStreamingServer } +func (md *Method) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, md) } +func (md *Method) ProtoType(pref.MethodDescriptor) {} +func (md *Method) ProtoInternal(pragma.DoNotImplement) {} + +// Surrogate files are can be used to create standalone descriptors +// where the syntax is only information derived from the parent file. +var ( + SurrogateProto2 = &File{L1: FileL1{Syntax: pref.Proto2}, L2: &FileL2{}} + SurrogateProto3 = &File{L1: FileL1{Syntax: pref.Proto3}, L2: &FileL2{}} +) + +type ( + Base struct { + L0 BaseL0 + } + BaseL0 struct { + FullName pref.FullName // must be populated + ParentFile *File // must be populated + Parent pref.Descriptor + Index int + } +) + +func (d *Base) Name() pref.Name { return d.L0.FullName.Name() } +func (d *Base) FullName() pref.FullName { return d.L0.FullName } +func (d *Base) ParentFile() pref.FileDescriptor { + if d.L0.ParentFile == SurrogateProto2 || d.L0.ParentFile == SurrogateProto3 { + return nil // surrogate files are not real parents + } + return d.L0.ParentFile +} +func (d *Base) Parent() pref.Descriptor { return d.L0.Parent } +func (d *Base) Index() int { return d.L0.Index } +func (d *Base) Syntax() pref.Syntax { return d.L0.ParentFile.Syntax() } +func (d *Base) IsPlaceholder() bool { return false } +func (d *Base) ProtoInternal(pragma.DoNotImplement) {} + +type stringName struct { + hasJSON bool + once sync.Once + nameJSON string + nameText string +} + +// InitJSON initializes the name. It is exported for use by other internal packages. +func (s *stringName) InitJSON(name string) { + s.hasJSON = true + s.nameJSON = name +} + +func (s *stringName) lazyInit(fd pref.FieldDescriptor) *stringName { + s.once.Do(func() { + if fd.IsExtension() { + // For extensions, JSON and text are formatted the same way. + var name string + if messageset.IsMessageSetExtension(fd) { + name = string("[" + fd.FullName().Parent() + "]") + } else { + name = string("[" + fd.FullName() + "]") + } + s.nameJSON = name + s.nameText = name + } else { + // Format the JSON name. + if !s.hasJSON { + s.nameJSON = strs.JSONCamelCase(string(fd.Name())) + } + + // Format the text name. + s.nameText = string(fd.Name()) + if fd.Kind() == pref.GroupKind { + s.nameText = string(fd.Message().Name()) + } + } + }) + return s +} + +func (s *stringName) getJSON(fd pref.FieldDescriptor) string { return s.lazyInit(fd).nameJSON } +func (s *stringName) getText(fd pref.FieldDescriptor) string { return s.lazyInit(fd).nameText } + +func DefaultValue(v pref.Value, ev pref.EnumValueDescriptor) defaultValue { + dv := defaultValue{has: v.IsValid(), val: v, enum: ev} + if b, ok := v.Interface().([]byte); ok { + // Store a copy of the default bytes, so that we can detect + // accidental mutations of the original value. + dv.bytes = append([]byte(nil), b...) + } + return dv +} + +func unmarshalDefault(b []byte, k pref.Kind, pf *File, ed pref.EnumDescriptor) defaultValue { + var evs pref.EnumValueDescriptors + if k == pref.EnumKind { + // If the enum is declared within the same file, be careful not to + // blindly call the Values method, lest we bind ourselves in a deadlock. + if e, ok := ed.(*Enum); ok && e.L0.ParentFile == pf { + evs = &e.L2.Values + } else { + evs = ed.Values() + } + + // If we are unable to resolve the enum dependency, use a placeholder + // enum value since we will not be able to parse the default value. + if ed.IsPlaceholder() && pref.Name(b).IsValid() { + v := pref.ValueOfEnum(0) + ev := PlaceholderEnumValue(ed.FullName().Parent().Append(pref.Name(b))) + return DefaultValue(v, ev) + } + } + + v, ev, err := defval.Unmarshal(string(b), k, evs, defval.Descriptor) + if err != nil { + panic(err) + } + return DefaultValue(v, ev) +} + +type defaultValue struct { + has bool + val pref.Value + enum pref.EnumValueDescriptor + bytes []byte +} + +func (dv *defaultValue) get(fd pref.FieldDescriptor) pref.Value { + // Return the zero value as the default if unpopulated. + if !dv.has { + if fd.Cardinality() == pref.Repeated { + return pref.Value{} + } + switch fd.Kind() { + case pref.BoolKind: + return pref.ValueOfBool(false) + case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind: + return pref.ValueOfInt32(0) + case pref.Int64Kind, pref.Sint64Kind, pref.Sfixed64Kind: + return pref.ValueOfInt64(0) + case pref.Uint32Kind, pref.Fixed32Kind: + return pref.ValueOfUint32(0) + case pref.Uint64Kind, pref.Fixed64Kind: + return pref.ValueOfUint64(0) + case pref.FloatKind: + return pref.ValueOfFloat32(0) + case pref.DoubleKind: + return pref.ValueOfFloat64(0) + case pref.StringKind: + return pref.ValueOfString("") + case pref.BytesKind: + return pref.ValueOfBytes(nil) + case pref.EnumKind: + if evs := fd.Enum().Values(); evs.Len() > 0 { + return pref.ValueOfEnum(evs.Get(0).Number()) + } + return pref.ValueOfEnum(0) + } + } + + if len(dv.bytes) > 0 && !bytes.Equal(dv.bytes, dv.val.Bytes()) { + // TODO: Avoid panic if we're running with the race detector + // and instead spawn a goroutine that periodically resets + // this value back to the original to induce a race. + panic(fmt.Sprintf("detected mutation on the default bytes for %v", fd.FullName())) + } + return dv.val +} diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go new file mode 100644 index 000000000..66e1fee52 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go @@ -0,0 +1,471 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "sync" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/strs" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +// fileRaw is a data struct used when initializing a file descriptor from +// a raw FileDescriptorProto. +type fileRaw struct { + builder Builder + allEnums []Enum + allMessages []Message + allExtensions []Extension + allServices []Service +} + +func newRawFile(db Builder) *File { + fd := &File{fileRaw: fileRaw{builder: db}} + fd.initDecls(db.NumEnums, db.NumMessages, db.NumExtensions, db.NumServices) + fd.unmarshalSeed(db.RawDescriptor) + + // Extended message targets are eagerly resolved since registration + // needs this information at program init time. + for i := range fd.allExtensions { + xd := &fd.allExtensions[i] + xd.L1.Extendee = fd.resolveMessageDependency(xd.L1.Extendee, listExtTargets, int32(i)) + } + + fd.checkDecls() + return fd +} + +// initDecls pre-allocates slices for the exact number of enums, messages +// (including map entries), extensions, and services declared in the proto file. +// This is done to avoid regrowing the slice, which would change the address +// for any previously seen declaration. +// +// The alloc methods "allocates" slices by pulling from the capacity. +func (fd *File) initDecls(numEnums, numMessages, numExtensions, numServices int32) { + fd.allEnums = make([]Enum, 0, numEnums) + fd.allMessages = make([]Message, 0, numMessages) + fd.allExtensions = make([]Extension, 0, numExtensions) + fd.allServices = make([]Service, 0, numServices) +} + +func (fd *File) allocEnums(n int) []Enum { + total := len(fd.allEnums) + es := fd.allEnums[total : total+n] + fd.allEnums = fd.allEnums[:total+n] + return es +} +func (fd *File) allocMessages(n int) []Message { + total := len(fd.allMessages) + ms := fd.allMessages[total : total+n] + fd.allMessages = fd.allMessages[:total+n] + return ms +} +func (fd *File) allocExtensions(n int) []Extension { + total := len(fd.allExtensions) + xs := fd.allExtensions[total : total+n] + fd.allExtensions = fd.allExtensions[:total+n] + return xs +} +func (fd *File) allocServices(n int) []Service { + total := len(fd.allServices) + xs := fd.allServices[total : total+n] + fd.allServices = fd.allServices[:total+n] + return xs +} + +// checkDecls performs a sanity check that the expected number of expected +// declarations matches the number that were found in the descriptor proto. +func (fd *File) checkDecls() { + switch { + case len(fd.allEnums) != cap(fd.allEnums): + case len(fd.allMessages) != cap(fd.allMessages): + case len(fd.allExtensions) != cap(fd.allExtensions): + case len(fd.allServices) != cap(fd.allServices): + default: + return + } + panic("mismatching cardinality") +} + +func (fd *File) unmarshalSeed(b []byte) { + sb := getBuilder() + defer putBuilder(sb) + + var prevField pref.FieldNumber + var numEnums, numMessages, numExtensions, numServices int + var posEnums, posMessages, posExtensions, posServices int + b0 := b + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FileDescriptorProto_Syntax_field_number: + switch string(v) { + case "proto2": + fd.L1.Syntax = pref.Proto2 + case "proto3": + fd.L1.Syntax = pref.Proto3 + default: + panic("invalid syntax") + } + case genid.FileDescriptorProto_Name_field_number: + fd.L1.Path = sb.MakeString(v) + case genid.FileDescriptorProto_Package_field_number: + fd.L1.Package = pref.FullName(sb.MakeString(v)) + case genid.FileDescriptorProto_EnumType_field_number: + if prevField != genid.FileDescriptorProto_EnumType_field_number { + if numEnums > 0 { + panic("non-contiguous repeated field") + } + posEnums = len(b0) - len(b) - n - m + } + numEnums++ + case genid.FileDescriptorProto_MessageType_field_number: + if prevField != genid.FileDescriptorProto_MessageType_field_number { + if numMessages > 0 { + panic("non-contiguous repeated field") + } + posMessages = len(b0) - len(b) - n - m + } + numMessages++ + case genid.FileDescriptorProto_Extension_field_number: + if prevField != genid.FileDescriptorProto_Extension_field_number { + if numExtensions > 0 { + panic("non-contiguous repeated field") + } + posExtensions = len(b0) - len(b) - n - m + } + numExtensions++ + case genid.FileDescriptorProto_Service_field_number: + if prevField != genid.FileDescriptorProto_Service_field_number { + if numServices > 0 { + panic("non-contiguous repeated field") + } + posServices = len(b0) - len(b) - n - m + } + numServices++ + } + prevField = num + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + prevField = -1 // ignore known field numbers of unknown wire type + } + } + + // If syntax is missing, it is assumed to be proto2. + if fd.L1.Syntax == 0 { + fd.L1.Syntax = pref.Proto2 + } + + // Must allocate all declarations before parsing each descriptor type + // to ensure we handled all descriptors in "flattened ordering". + if numEnums > 0 { + fd.L1.Enums.List = fd.allocEnums(numEnums) + } + if numMessages > 0 { + fd.L1.Messages.List = fd.allocMessages(numMessages) + } + if numExtensions > 0 { + fd.L1.Extensions.List = fd.allocExtensions(numExtensions) + } + if numServices > 0 { + fd.L1.Services.List = fd.allocServices(numServices) + } + + if numEnums > 0 { + b := b0[posEnums:] + for i := range fd.L1.Enums.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + fd.L1.Enums.List[i].unmarshalSeed(v, sb, fd, fd, i) + b = b[n+m:] + } + } + if numMessages > 0 { + b := b0[posMessages:] + for i := range fd.L1.Messages.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + fd.L1.Messages.List[i].unmarshalSeed(v, sb, fd, fd, i) + b = b[n+m:] + } + } + if numExtensions > 0 { + b := b0[posExtensions:] + for i := range fd.L1.Extensions.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + fd.L1.Extensions.List[i].unmarshalSeed(v, sb, fd, fd, i) + b = b[n+m:] + } + } + if numServices > 0 { + b := b0[posServices:] + for i := range fd.L1.Services.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + fd.L1.Services.List[i].unmarshalSeed(v, sb, fd, fd, i) + b = b[n+m:] + } + } +} + +func (ed *Enum) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) { + ed.L0.ParentFile = pf + ed.L0.Parent = pd + ed.L0.Index = i + + var numValues int + for b := b; len(b) > 0; { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.EnumDescriptorProto_Name_field_number: + ed.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.EnumDescriptorProto_Value_field_number: + numValues++ + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + + // Only construct enum value descriptors for top-level enums since + // they are needed for registration. + if pd != pf { + return + } + ed.L1.eagerValues = true + ed.L2 = new(EnumL2) + ed.L2.Values.List = make([]EnumValue, numValues) + for i := 0; len(b) > 0; { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.EnumDescriptorProto_Value_field_number: + ed.L2.Values.List[i].unmarshalFull(v, sb, pf, ed, i) + i++ + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (md *Message) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) { + md.L0.ParentFile = pf + md.L0.Parent = pd + md.L0.Index = i + + var prevField pref.FieldNumber + var numEnums, numMessages, numExtensions int + var posEnums, posMessages, posExtensions int + b0 := b + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.DescriptorProto_Name_field_number: + md.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.DescriptorProto_EnumType_field_number: + if prevField != genid.DescriptorProto_EnumType_field_number { + if numEnums > 0 { + panic("non-contiguous repeated field") + } + posEnums = len(b0) - len(b) - n - m + } + numEnums++ + case genid.DescriptorProto_NestedType_field_number: + if prevField != genid.DescriptorProto_NestedType_field_number { + if numMessages > 0 { + panic("non-contiguous repeated field") + } + posMessages = len(b0) - len(b) - n - m + } + numMessages++ + case genid.DescriptorProto_Extension_field_number: + if prevField != genid.DescriptorProto_Extension_field_number { + if numExtensions > 0 { + panic("non-contiguous repeated field") + } + posExtensions = len(b0) - len(b) - n - m + } + numExtensions++ + case genid.DescriptorProto_Options_field_number: + md.unmarshalSeedOptions(v) + } + prevField = num + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + prevField = -1 // ignore known field numbers of unknown wire type + } + } + + // Must allocate all declarations before parsing each descriptor type + // to ensure we handled all descriptors in "flattened ordering". + if numEnums > 0 { + md.L1.Enums.List = pf.allocEnums(numEnums) + } + if numMessages > 0 { + md.L1.Messages.List = pf.allocMessages(numMessages) + } + if numExtensions > 0 { + md.L1.Extensions.List = pf.allocExtensions(numExtensions) + } + + if numEnums > 0 { + b := b0[posEnums:] + for i := range md.L1.Enums.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + md.L1.Enums.List[i].unmarshalSeed(v, sb, pf, md, i) + b = b[n+m:] + } + } + if numMessages > 0 { + b := b0[posMessages:] + for i := range md.L1.Messages.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + md.L1.Messages.List[i].unmarshalSeed(v, sb, pf, md, i) + b = b[n+m:] + } + } + if numExtensions > 0 { + b := b0[posExtensions:] + for i := range md.L1.Extensions.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + md.L1.Extensions.List[i].unmarshalSeed(v, sb, pf, md, i) + b = b[n+m:] + } + } +} + +func (md *Message) unmarshalSeedOptions(b []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.MessageOptions_MapEntry_field_number: + md.L1.IsMapEntry = protowire.DecodeBool(v) + case genid.MessageOptions_MessageSetWireFormat_field_number: + md.L1.IsMessageSet = protowire.DecodeBool(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (xd *Extension) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) { + xd.L0.ParentFile = pf + xd.L0.Parent = pd + xd.L0.Index = i + + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Number_field_number: + xd.L1.Number = pref.FieldNumber(v) + case genid.FieldDescriptorProto_Label_field_number: + xd.L1.Cardinality = pref.Cardinality(v) + case genid.FieldDescriptorProto_Type_field_number: + xd.L1.Kind = pref.Kind(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Name_field_number: + xd.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.FieldDescriptorProto_Extendee_field_number: + xd.L1.Extendee = PlaceholderMessage(makeFullName(sb, v)) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (sd *Service) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) { + sd.L0.ParentFile = pf + sd.L0.Parent = pd + sd.L0.Index = i + + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.ServiceDescriptorProto_Name_field_number: + sd.L0.FullName = appendFullName(sb, pd.FullName(), v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +var nameBuilderPool = sync.Pool{ + New: func() interface{} { return new(strs.Builder) }, +} + +func getBuilder() *strs.Builder { + return nameBuilderPool.Get().(*strs.Builder) +} +func putBuilder(b *strs.Builder) { + nameBuilderPool.Put(b) +} + +// makeFullName converts b to a protoreflect.FullName, +// where b must start with a leading dot. +func makeFullName(sb *strs.Builder, b []byte) pref.FullName { + if len(b) == 0 || b[0] != '.' { + panic("name reference must be fully qualified") + } + return pref.FullName(sb.MakeString(b[1:])) +} + +func appendFullName(sb *strs.Builder, prefix pref.FullName, suffix []byte) pref.FullName { + return sb.AppendFullName(prefix, pref.Name(strs.UnsafeString(suffix))) +} diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go new file mode 100644 index 000000000..198451e3e --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go @@ -0,0 +1,704 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "reflect" + "sync" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +func (fd *File) lazyRawInit() { + fd.unmarshalFull(fd.builder.RawDescriptor) + fd.resolveMessages() + fd.resolveExtensions() + fd.resolveServices() +} + +func (file *File) resolveMessages() { + var depIdx int32 + for i := range file.allMessages { + md := &file.allMessages[i] + + // Resolve message field dependencies. + for j := range md.L2.Fields.List { + fd := &md.L2.Fields.List[j] + + // Weak fields are resolved upon actual use. + if fd.L1.IsWeak { + continue + } + + // Resolve message field dependency. + switch fd.L1.Kind { + case pref.EnumKind: + fd.L1.Enum = file.resolveEnumDependency(fd.L1.Enum, listFieldDeps, depIdx) + depIdx++ + case pref.MessageKind, pref.GroupKind: + fd.L1.Message = file.resolveMessageDependency(fd.L1.Message, listFieldDeps, depIdx) + depIdx++ + } + + // Default is resolved here since it depends on Enum being resolved. + if v := fd.L1.Default.val; v.IsValid() { + fd.L1.Default = unmarshalDefault(v.Bytes(), fd.L1.Kind, file, fd.L1.Enum) + } + } + } +} + +func (file *File) resolveExtensions() { + var depIdx int32 + for i := range file.allExtensions { + xd := &file.allExtensions[i] + + // Resolve extension field dependency. + switch xd.L1.Kind { + case pref.EnumKind: + xd.L2.Enum = file.resolveEnumDependency(xd.L2.Enum, listExtDeps, depIdx) + depIdx++ + case pref.MessageKind, pref.GroupKind: + xd.L2.Message = file.resolveMessageDependency(xd.L2.Message, listExtDeps, depIdx) + depIdx++ + } + + // Default is resolved here since it depends on Enum being resolved. + if v := xd.L2.Default.val; v.IsValid() { + xd.L2.Default = unmarshalDefault(v.Bytes(), xd.L1.Kind, file, xd.L2.Enum) + } + } +} + +func (file *File) resolveServices() { + var depIdx int32 + for i := range file.allServices { + sd := &file.allServices[i] + + // Resolve method dependencies. + for j := range sd.L2.Methods.List { + md := &sd.L2.Methods.List[j] + md.L1.Input = file.resolveMessageDependency(md.L1.Input, listMethInDeps, depIdx) + md.L1.Output = file.resolveMessageDependency(md.L1.Output, listMethOutDeps, depIdx) + depIdx++ + } + } +} + +func (file *File) resolveEnumDependency(ed pref.EnumDescriptor, i, j int32) pref.EnumDescriptor { + r := file.builder.FileRegistry + if r, ok := r.(resolverByIndex); ok { + if ed2 := r.FindEnumByIndex(i, j, file.allEnums, file.allMessages); ed2 != nil { + return ed2 + } + } + for i := range file.allEnums { + if ed2 := &file.allEnums[i]; ed2.L0.FullName == ed.FullName() { + return ed2 + } + } + if d, _ := r.FindDescriptorByName(ed.FullName()); d != nil { + return d.(pref.EnumDescriptor) + } + return ed +} + +func (file *File) resolveMessageDependency(md pref.MessageDescriptor, i, j int32) pref.MessageDescriptor { + r := file.builder.FileRegistry + if r, ok := r.(resolverByIndex); ok { + if md2 := r.FindMessageByIndex(i, j, file.allEnums, file.allMessages); md2 != nil { + return md2 + } + } + for i := range file.allMessages { + if md2 := &file.allMessages[i]; md2.L0.FullName == md.FullName() { + return md2 + } + } + if d, _ := r.FindDescriptorByName(md.FullName()); d != nil { + return d.(pref.MessageDescriptor) + } + return md +} + +func (fd *File) unmarshalFull(b []byte) { + sb := getBuilder() + defer putBuilder(sb) + + var enumIdx, messageIdx, extensionIdx, serviceIdx int + var rawOptions []byte + fd.L2 = new(FileL2) + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FileDescriptorProto_PublicDependency_field_number: + fd.L2.Imports[v].IsPublic = true + case genid.FileDescriptorProto_WeakDependency_field_number: + fd.L2.Imports[v].IsWeak = true + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FileDescriptorProto_Dependency_field_number: + path := sb.MakeString(v) + imp, _ := fd.builder.FileRegistry.FindFileByPath(path) + if imp == nil { + imp = PlaceholderFile(path) + } + fd.L2.Imports = append(fd.L2.Imports, pref.FileImport{FileDescriptor: imp}) + case genid.FileDescriptorProto_EnumType_field_number: + fd.L1.Enums.List[enumIdx].unmarshalFull(v, sb) + enumIdx++ + case genid.FileDescriptorProto_MessageType_field_number: + fd.L1.Messages.List[messageIdx].unmarshalFull(v, sb) + messageIdx++ + case genid.FileDescriptorProto_Extension_field_number: + fd.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb) + extensionIdx++ + case genid.FileDescriptorProto_Service_field_number: + fd.L1.Services.List[serviceIdx].unmarshalFull(v, sb) + serviceIdx++ + case genid.FileDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + fd.L2.Options = fd.builder.optionsUnmarshaler(&descopts.File, rawOptions) +} + +func (ed *Enum) unmarshalFull(b []byte, sb *strs.Builder) { + var rawValues [][]byte + var rawOptions []byte + if !ed.L1.eagerValues { + ed.L2 = new(EnumL2) + } + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.EnumDescriptorProto_Value_field_number: + rawValues = append(rawValues, v) + case genid.EnumDescriptorProto_ReservedName_field_number: + ed.L2.ReservedNames.List = append(ed.L2.ReservedNames.List, pref.Name(sb.MakeString(v))) + case genid.EnumDescriptorProto_ReservedRange_field_number: + ed.L2.ReservedRanges.List = append(ed.L2.ReservedRanges.List, unmarshalEnumReservedRange(v)) + case genid.EnumDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if !ed.L1.eagerValues && len(rawValues) > 0 { + ed.L2.Values.List = make([]EnumValue, len(rawValues)) + for i, b := range rawValues { + ed.L2.Values.List[i].unmarshalFull(b, sb, ed.L0.ParentFile, ed, i) + } + } + ed.L2.Options = ed.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Enum, rawOptions) +} + +func unmarshalEnumReservedRange(b []byte) (r [2]pref.EnumNumber) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.EnumDescriptorProto_EnumReservedRange_Start_field_number: + r[0] = pref.EnumNumber(v) + case genid.EnumDescriptorProto_EnumReservedRange_End_field_number: + r[1] = pref.EnumNumber(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + return r +} + +func (vd *EnumValue) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) { + vd.L0.ParentFile = pf + vd.L0.Parent = pd + vd.L0.Index = i + + var rawOptions []byte + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.EnumValueDescriptorProto_Number_field_number: + vd.L1.Number = pref.EnumNumber(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.EnumValueDescriptorProto_Name_field_number: + // NOTE: Enum values are in the same scope as the enum parent. + vd.L0.FullName = appendFullName(sb, pd.Parent().FullName(), v) + case genid.EnumValueDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + vd.L1.Options = pf.builder.optionsUnmarshaler(&descopts.EnumValue, rawOptions) +} + +func (md *Message) unmarshalFull(b []byte, sb *strs.Builder) { + var rawFields, rawOneofs [][]byte + var enumIdx, messageIdx, extensionIdx int + var rawOptions []byte + md.L2 = new(MessageL2) + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.DescriptorProto_Field_field_number: + rawFields = append(rawFields, v) + case genid.DescriptorProto_OneofDecl_field_number: + rawOneofs = append(rawOneofs, v) + case genid.DescriptorProto_ReservedName_field_number: + md.L2.ReservedNames.List = append(md.L2.ReservedNames.List, pref.Name(sb.MakeString(v))) + case genid.DescriptorProto_ReservedRange_field_number: + md.L2.ReservedRanges.List = append(md.L2.ReservedRanges.List, unmarshalMessageReservedRange(v)) + case genid.DescriptorProto_ExtensionRange_field_number: + r, rawOptions := unmarshalMessageExtensionRange(v) + opts := md.L0.ParentFile.builder.optionsUnmarshaler(&descopts.ExtensionRange, rawOptions) + md.L2.ExtensionRanges.List = append(md.L2.ExtensionRanges.List, r) + md.L2.ExtensionRangeOptions = append(md.L2.ExtensionRangeOptions, opts) + case genid.DescriptorProto_EnumType_field_number: + md.L1.Enums.List[enumIdx].unmarshalFull(v, sb) + enumIdx++ + case genid.DescriptorProto_NestedType_field_number: + md.L1.Messages.List[messageIdx].unmarshalFull(v, sb) + messageIdx++ + case genid.DescriptorProto_Extension_field_number: + md.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb) + extensionIdx++ + case genid.DescriptorProto_Options_field_number: + md.unmarshalOptions(v) + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if len(rawFields) > 0 || len(rawOneofs) > 0 { + md.L2.Fields.List = make([]Field, len(rawFields)) + md.L2.Oneofs.List = make([]Oneof, len(rawOneofs)) + for i, b := range rawFields { + fd := &md.L2.Fields.List[i] + fd.unmarshalFull(b, sb, md.L0.ParentFile, md, i) + if fd.L1.Cardinality == pref.Required { + md.L2.RequiredNumbers.List = append(md.L2.RequiredNumbers.List, fd.L1.Number) + } + } + for i, b := range rawOneofs { + od := &md.L2.Oneofs.List[i] + od.unmarshalFull(b, sb, md.L0.ParentFile, md, i) + } + } + md.L2.Options = md.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Message, rawOptions) +} + +func (md *Message) unmarshalOptions(b []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.MessageOptions_MapEntry_field_number: + md.L1.IsMapEntry = protowire.DecodeBool(v) + case genid.MessageOptions_MessageSetWireFormat_field_number: + md.L1.IsMessageSet = protowire.DecodeBool(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func unmarshalMessageReservedRange(b []byte) (r [2]pref.FieldNumber) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.DescriptorProto_ReservedRange_Start_field_number: + r[0] = pref.FieldNumber(v) + case genid.DescriptorProto_ReservedRange_End_field_number: + r[1] = pref.FieldNumber(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + return r +} + +func unmarshalMessageExtensionRange(b []byte) (r [2]pref.FieldNumber, rawOptions []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.DescriptorProto_ExtensionRange_Start_field_number: + r[0] = pref.FieldNumber(v) + case genid.DescriptorProto_ExtensionRange_End_field_number: + r[1] = pref.FieldNumber(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.DescriptorProto_ExtensionRange_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + return r, rawOptions +} + +func (fd *Field) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) { + fd.L0.ParentFile = pf + fd.L0.Parent = pd + fd.L0.Index = i + + var rawTypeName []byte + var rawOptions []byte + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Number_field_number: + fd.L1.Number = pref.FieldNumber(v) + case genid.FieldDescriptorProto_Label_field_number: + fd.L1.Cardinality = pref.Cardinality(v) + case genid.FieldDescriptorProto_Type_field_number: + fd.L1.Kind = pref.Kind(v) + case genid.FieldDescriptorProto_OneofIndex_field_number: + // In Message.unmarshalFull, we allocate slices for both + // the field and oneof descriptors before unmarshaling either + // of them. This ensures pointers to slice elements are stable. + od := &pd.(*Message).L2.Oneofs.List[v] + od.L1.Fields.List = append(od.L1.Fields.List, fd) + if fd.L1.ContainingOneof != nil { + panic("oneof type already set") + } + fd.L1.ContainingOneof = od + case genid.FieldDescriptorProto_Proto3Optional_field_number: + fd.L1.IsProto3Optional = protowire.DecodeBool(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Name_field_number: + fd.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.FieldDescriptorProto_JsonName_field_number: + fd.L1.StringName.InitJSON(sb.MakeString(v)) + case genid.FieldDescriptorProto_DefaultValue_field_number: + fd.L1.Default.val = pref.ValueOfBytes(v) // temporarily store as bytes; later resolved in resolveMessages + case genid.FieldDescriptorProto_TypeName_field_number: + rawTypeName = v + case genid.FieldDescriptorProto_Options_field_number: + fd.unmarshalOptions(v) + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if rawTypeName != nil { + name := makeFullName(sb, rawTypeName) + switch fd.L1.Kind { + case pref.EnumKind: + fd.L1.Enum = PlaceholderEnum(name) + case pref.MessageKind, pref.GroupKind: + fd.L1.Message = PlaceholderMessage(name) + } + } + fd.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Field, rawOptions) +} + +func (fd *Field) unmarshalOptions(b []byte) { + const FieldOptions_EnforceUTF8 = 13 + + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldOptions_Packed_field_number: + fd.L1.HasPacked = true + fd.L1.IsPacked = protowire.DecodeBool(v) + case genid.FieldOptions_Weak_field_number: + fd.L1.IsWeak = protowire.DecodeBool(v) + case FieldOptions_EnforceUTF8: + fd.L1.HasEnforceUTF8 = true + fd.L1.EnforceUTF8 = protowire.DecodeBool(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (od *Oneof) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) { + od.L0.ParentFile = pf + od.L0.Parent = pd + od.L0.Index = i + + var rawOptions []byte + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.OneofDescriptorProto_Name_field_number: + od.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.OneofDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + od.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Oneof, rawOptions) +} + +func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) { + var rawTypeName []byte + var rawOptions []byte + xd.L2 = new(ExtensionL2) + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Proto3Optional_field_number: + xd.L2.IsProto3Optional = protowire.DecodeBool(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_JsonName_field_number: + xd.L2.StringName.InitJSON(sb.MakeString(v)) + case genid.FieldDescriptorProto_DefaultValue_field_number: + xd.L2.Default.val = pref.ValueOfBytes(v) // temporarily store as bytes; later resolved in resolveExtensions + case genid.FieldDescriptorProto_TypeName_field_number: + rawTypeName = v + case genid.FieldDescriptorProto_Options_field_number: + xd.unmarshalOptions(v) + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if rawTypeName != nil { + name := makeFullName(sb, rawTypeName) + switch xd.L1.Kind { + case pref.EnumKind: + xd.L2.Enum = PlaceholderEnum(name) + case pref.MessageKind, pref.GroupKind: + xd.L2.Message = PlaceholderMessage(name) + } + } + xd.L2.Options = xd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Field, rawOptions) +} + +func (xd *Extension) unmarshalOptions(b []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldOptions_Packed_field_number: + xd.L2.IsPacked = protowire.DecodeBool(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (sd *Service) unmarshalFull(b []byte, sb *strs.Builder) { + var rawMethods [][]byte + var rawOptions []byte + sd.L2 = new(ServiceL2) + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.ServiceDescriptorProto_Method_field_number: + rawMethods = append(rawMethods, v) + case genid.ServiceDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if len(rawMethods) > 0 { + sd.L2.Methods.List = make([]Method, len(rawMethods)) + for i, b := range rawMethods { + sd.L2.Methods.List[i].unmarshalFull(b, sb, sd.L0.ParentFile, sd, i) + } + } + sd.L2.Options = sd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Service, rawOptions) +} + +func (md *Method) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) { + md.L0.ParentFile = pf + md.L0.Parent = pd + md.L0.Index = i + + var rawOptions []byte + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.MethodDescriptorProto_ClientStreaming_field_number: + md.L1.IsStreamingClient = protowire.DecodeBool(v) + case genid.MethodDescriptorProto_ServerStreaming_field_number: + md.L1.IsStreamingServer = protowire.DecodeBool(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.MethodDescriptorProto_Name_field_number: + md.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.MethodDescriptorProto_InputType_field_number: + md.L1.Input = PlaceholderMessage(makeFullName(sb, v)) + case genid.MethodDescriptorProto_OutputType_field_number: + md.L1.Output = PlaceholderMessage(makeFullName(sb, v)) + case genid.MethodDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + md.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Method, rawOptions) +} + +// appendOptions appends src to dst, where the returned slice is never nil. +// This is necessary to distinguish between empty and unpopulated options. +func appendOptions(dst, src []byte) []byte { + if dst == nil { + dst = []byte{} + } + return append(dst, src...) +} + +// optionsUnmarshaler constructs a lazy unmarshal function for an options message. +// +// The type of message to unmarshal to is passed as a pointer since the +// vars in descopts may not yet be populated at the time this function is called. +func (db *Builder) optionsUnmarshaler(p *pref.ProtoMessage, b []byte) func() pref.ProtoMessage { + if b == nil { + return nil + } + var opts pref.ProtoMessage + var once sync.Once + return func() pref.ProtoMessage { + once.Do(func() { + if *p == nil { + panic("Descriptor.Options called without importing the descriptor package") + } + opts = reflect.New(reflect.TypeOf(*p).Elem()).Interface().(pref.ProtoMessage) + if err := (proto.UnmarshalOptions{ + AllowPartial: true, + Resolver: db.TypeResolver, + }).Unmarshal(b, opts); err != nil { + panic(err) + } + }) + return opts + } +} diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go new file mode 100644 index 000000000..aa294fff9 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go @@ -0,0 +1,450 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "fmt" + "math" + "sort" + "sync" + + "google.golang.org/protobuf/internal/genid" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/descfmt" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type FileImports []pref.FileImport + +func (p *FileImports) Len() int { return len(*p) } +func (p *FileImports) Get(i int) pref.FileImport { return (*p)[i] } +func (p *FileImports) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *FileImports) ProtoInternal(pragma.DoNotImplement) {} + +type Names struct { + List []pref.Name + once sync.Once + has map[pref.Name]int // protected by once +} + +func (p *Names) Len() int { return len(p.List) } +func (p *Names) Get(i int) pref.Name { return p.List[i] } +func (p *Names) Has(s pref.Name) bool { return p.lazyInit().has[s] > 0 } +func (p *Names) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *Names) ProtoInternal(pragma.DoNotImplement) {} +func (p *Names) lazyInit() *Names { + p.once.Do(func() { + if len(p.List) > 0 { + p.has = make(map[pref.Name]int, len(p.List)) + for _, s := range p.List { + p.has[s] = p.has[s] + 1 + } + } + }) + return p +} + +// CheckValid reports any errors with the set of names with an error message +// that completes the sentence: "ranges is invalid because it has ..." +func (p *Names) CheckValid() error { + for s, n := range p.lazyInit().has { + switch { + case n > 1: + return errors.New("duplicate name: %q", s) + case false && !s.IsValid(): + // NOTE: The C++ implementation does not validate the identifier. + // See https://github.com/protocolbuffers/protobuf/issues/6335. + return errors.New("invalid name: %q", s) + } + } + return nil +} + +type EnumRanges struct { + List [][2]pref.EnumNumber // start inclusive; end inclusive + once sync.Once + sorted [][2]pref.EnumNumber // protected by once +} + +func (p *EnumRanges) Len() int { return len(p.List) } +func (p *EnumRanges) Get(i int) [2]pref.EnumNumber { return p.List[i] } +func (p *EnumRanges) Has(n pref.EnumNumber) bool { + for ls := p.lazyInit().sorted; len(ls) > 0; { + i := len(ls) / 2 + switch r := enumRange(ls[i]); { + case n < r.Start(): + ls = ls[:i] // search lower + case n > r.End(): + ls = ls[i+1:] // search upper + default: + return true + } + } + return false +} +func (p *EnumRanges) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *EnumRanges) ProtoInternal(pragma.DoNotImplement) {} +func (p *EnumRanges) lazyInit() *EnumRanges { + p.once.Do(func() { + p.sorted = append(p.sorted, p.List...) + sort.Slice(p.sorted, func(i, j int) bool { + return p.sorted[i][0] < p.sorted[j][0] + }) + }) + return p +} + +// CheckValid reports any errors with the set of names with an error message +// that completes the sentence: "ranges is invalid because it has ..." +func (p *EnumRanges) CheckValid() error { + var rp enumRange + for i, r := range p.lazyInit().sorted { + r := enumRange(r) + switch { + case !(r.Start() <= r.End()): + return errors.New("invalid range: %v", r) + case !(rp.End() < r.Start()) && i > 0: + return errors.New("overlapping ranges: %v with %v", rp, r) + } + rp = r + } + return nil +} + +type enumRange [2]protoreflect.EnumNumber + +func (r enumRange) Start() protoreflect.EnumNumber { return r[0] } // inclusive +func (r enumRange) End() protoreflect.EnumNumber { return r[1] } // inclusive +func (r enumRange) String() string { + if r.Start() == r.End() { + return fmt.Sprintf("%d", r.Start()) + } + return fmt.Sprintf("%d to %d", r.Start(), r.End()) +} + +type FieldRanges struct { + List [][2]pref.FieldNumber // start inclusive; end exclusive + once sync.Once + sorted [][2]pref.FieldNumber // protected by once +} + +func (p *FieldRanges) Len() int { return len(p.List) } +func (p *FieldRanges) Get(i int) [2]pref.FieldNumber { return p.List[i] } +func (p *FieldRanges) Has(n pref.FieldNumber) bool { + for ls := p.lazyInit().sorted; len(ls) > 0; { + i := len(ls) / 2 + switch r := fieldRange(ls[i]); { + case n < r.Start(): + ls = ls[:i] // search lower + case n > r.End(): + ls = ls[i+1:] // search upper + default: + return true + } + } + return false +} +func (p *FieldRanges) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *FieldRanges) ProtoInternal(pragma.DoNotImplement) {} +func (p *FieldRanges) lazyInit() *FieldRanges { + p.once.Do(func() { + p.sorted = append(p.sorted, p.List...) + sort.Slice(p.sorted, func(i, j int) bool { + return p.sorted[i][0] < p.sorted[j][0] + }) + }) + return p +} + +// CheckValid reports any errors with the set of ranges with an error message +// that completes the sentence: "ranges is invalid because it has ..." +func (p *FieldRanges) CheckValid(isMessageSet bool) error { + var rp fieldRange + for i, r := range p.lazyInit().sorted { + r := fieldRange(r) + switch { + case !isValidFieldNumber(r.Start(), isMessageSet): + return errors.New("invalid field number: %d", r.Start()) + case !isValidFieldNumber(r.End(), isMessageSet): + return errors.New("invalid field number: %d", r.End()) + case !(r.Start() <= r.End()): + return errors.New("invalid range: %v", r) + case !(rp.End() < r.Start()) && i > 0: + return errors.New("overlapping ranges: %v with %v", rp, r) + } + rp = r + } + return nil +} + +// isValidFieldNumber reports whether the field number is valid. +// Unlike the FieldNumber.IsValid method, it allows ranges that cover the +// reserved number range. +func isValidFieldNumber(n protoreflect.FieldNumber, isMessageSet bool) bool { + return protowire.MinValidNumber <= n && (n <= protowire.MaxValidNumber || isMessageSet) +} + +// CheckOverlap reports an error if p and q overlap. +func (p *FieldRanges) CheckOverlap(q *FieldRanges) error { + rps := p.lazyInit().sorted + rqs := q.lazyInit().sorted + for pi, qi := 0, 0; pi < len(rps) && qi < len(rqs); { + rp := fieldRange(rps[pi]) + rq := fieldRange(rqs[qi]) + if !(rp.End() < rq.Start() || rq.End() < rp.Start()) { + return errors.New("overlapping ranges: %v with %v", rp, rq) + } + if rp.Start() < rq.Start() { + pi++ + } else { + qi++ + } + } + return nil +} + +type fieldRange [2]protoreflect.FieldNumber + +func (r fieldRange) Start() protoreflect.FieldNumber { return r[0] } // inclusive +func (r fieldRange) End() protoreflect.FieldNumber { return r[1] - 1 } // inclusive +func (r fieldRange) String() string { + if r.Start() == r.End() { + return fmt.Sprintf("%d", r.Start()) + } + return fmt.Sprintf("%d to %d", r.Start(), r.End()) +} + +type FieldNumbers struct { + List []pref.FieldNumber + once sync.Once + has map[pref.FieldNumber]struct{} // protected by once +} + +func (p *FieldNumbers) Len() int { return len(p.List) } +func (p *FieldNumbers) Get(i int) pref.FieldNumber { return p.List[i] } +func (p *FieldNumbers) Has(n pref.FieldNumber) bool { + p.once.Do(func() { + if len(p.List) > 0 { + p.has = make(map[pref.FieldNumber]struct{}, len(p.List)) + for _, n := range p.List { + p.has[n] = struct{}{} + } + } + }) + _, ok := p.has[n] + return ok +} +func (p *FieldNumbers) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *FieldNumbers) ProtoInternal(pragma.DoNotImplement) {} + +type OneofFields struct { + List []pref.FieldDescriptor + once sync.Once + byName map[pref.Name]pref.FieldDescriptor // protected by once + byJSON map[string]pref.FieldDescriptor // protected by once + byText map[string]pref.FieldDescriptor // protected by once + byNum map[pref.FieldNumber]pref.FieldDescriptor // protected by once +} + +func (p *OneofFields) Len() int { return len(p.List) } +func (p *OneofFields) Get(i int) pref.FieldDescriptor { return p.List[i] } +func (p *OneofFields) ByName(s pref.Name) pref.FieldDescriptor { return p.lazyInit().byName[s] } +func (p *OneofFields) ByJSONName(s string) pref.FieldDescriptor { return p.lazyInit().byJSON[s] } +func (p *OneofFields) ByTextName(s string) pref.FieldDescriptor { return p.lazyInit().byText[s] } +func (p *OneofFields) ByNumber(n pref.FieldNumber) pref.FieldDescriptor { return p.lazyInit().byNum[n] } +func (p *OneofFields) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *OneofFields) ProtoInternal(pragma.DoNotImplement) {} + +func (p *OneofFields) lazyInit() *OneofFields { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[pref.Name]pref.FieldDescriptor, len(p.List)) + p.byJSON = make(map[string]pref.FieldDescriptor, len(p.List)) + p.byText = make(map[string]pref.FieldDescriptor, len(p.List)) + p.byNum = make(map[pref.FieldNumber]pref.FieldDescriptor, len(p.List)) + for _, f := range p.List { + // Field names and numbers are guaranteed to be unique. + p.byName[f.Name()] = f + p.byJSON[f.JSONName()] = f + p.byText[f.TextName()] = f + p.byNum[f.Number()] = f + } + } + }) + return p +} + +type SourceLocations struct { + // List is a list of SourceLocations. + // The SourceLocation.Next field does not need to be populated + // as it will be lazily populated upon first need. + List []pref.SourceLocation + + // File is the parent file descriptor that these locations are relative to. + // If non-nil, ByDescriptor verifies that the provided descriptor + // is a child of this file descriptor. + File pref.FileDescriptor + + once sync.Once + byPath map[pathKey]int +} + +func (p *SourceLocations) Len() int { return len(p.List) } +func (p *SourceLocations) Get(i int) pref.SourceLocation { return p.lazyInit().List[i] } +func (p *SourceLocations) byKey(k pathKey) pref.SourceLocation { + if i, ok := p.lazyInit().byPath[k]; ok { + return p.List[i] + } + return pref.SourceLocation{} +} +func (p *SourceLocations) ByPath(path pref.SourcePath) pref.SourceLocation { + return p.byKey(newPathKey(path)) +} +func (p *SourceLocations) ByDescriptor(desc pref.Descriptor) pref.SourceLocation { + if p.File != nil && desc != nil && p.File != desc.ParentFile() { + return pref.SourceLocation{} // mismatching parent files + } + var pathArr [16]int32 + path := pathArr[:0] + for { + switch desc.(type) { + case pref.FileDescriptor: + // Reverse the path since it was constructed in reverse. + for i, j := 0, len(path)-1; i < j; i, j = i+1, j-1 { + path[i], path[j] = path[j], path[i] + } + return p.byKey(newPathKey(path)) + case pref.MessageDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case pref.FileDescriptor: + path = append(path, int32(genid.FileDescriptorProto_MessageType_field_number)) + case pref.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_NestedType_field_number)) + default: + return pref.SourceLocation{} + } + case pref.FieldDescriptor: + isExtension := desc.(pref.FieldDescriptor).IsExtension() + path = append(path, int32(desc.Index())) + desc = desc.Parent() + if isExtension { + switch desc.(type) { + case pref.FileDescriptor: + path = append(path, int32(genid.FileDescriptorProto_Extension_field_number)) + case pref.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_Extension_field_number)) + default: + return pref.SourceLocation{} + } + } else { + switch desc.(type) { + case pref.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_Field_field_number)) + default: + return pref.SourceLocation{} + } + } + case pref.OneofDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case pref.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_OneofDecl_field_number)) + default: + return pref.SourceLocation{} + } + case pref.EnumDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case pref.FileDescriptor: + path = append(path, int32(genid.FileDescriptorProto_EnumType_field_number)) + case pref.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_EnumType_field_number)) + default: + return pref.SourceLocation{} + } + case pref.EnumValueDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case pref.EnumDescriptor: + path = append(path, int32(genid.EnumDescriptorProto_Value_field_number)) + default: + return pref.SourceLocation{} + } + case pref.ServiceDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case pref.FileDescriptor: + path = append(path, int32(genid.FileDescriptorProto_Service_field_number)) + default: + return pref.SourceLocation{} + } + case pref.MethodDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case pref.ServiceDescriptor: + path = append(path, int32(genid.ServiceDescriptorProto_Method_field_number)) + default: + return pref.SourceLocation{} + } + default: + return pref.SourceLocation{} + } + } +} +func (p *SourceLocations) lazyInit() *SourceLocations { + p.once.Do(func() { + if len(p.List) > 0 { + // Collect all the indexes for a given path. + pathIdxs := make(map[pathKey][]int, len(p.List)) + for i, l := range p.List { + k := newPathKey(l.Path) + pathIdxs[k] = append(pathIdxs[k], i) + } + + // Update the next index for all locations. + p.byPath = make(map[pathKey]int, len(p.List)) + for k, idxs := range pathIdxs { + for i := 0; i < len(idxs)-1; i++ { + p.List[idxs[i]].Next = idxs[i+1] + } + p.List[idxs[len(idxs)-1]].Next = 0 + p.byPath[k] = idxs[0] // record the first location for this path + } + } + }) + return p +} +func (p *SourceLocations) ProtoInternal(pragma.DoNotImplement) {} + +// pathKey is a comparable representation of protoreflect.SourcePath. +type pathKey struct { + arr [16]uint8 // first n-1 path segments; last element is the length + str string // used if the path does not fit in arr +} + +func newPathKey(p pref.SourcePath) (k pathKey) { + if len(p) < len(k.arr) { + for i, ps := range p { + if ps < 0 || math.MaxUint8 <= ps { + return pathKey{str: p.String()} + } + k.arr[i] = uint8(ps) + } + k.arr[len(k.arr)-1] = uint8(len(p)) + return k + } + return pathKey{str: p.String()} +} diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go new file mode 100644 index 000000000..30db19fdc --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go @@ -0,0 +1,356 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package filedesc + +import ( + "fmt" + "sync" + + "google.golang.org/protobuf/internal/descfmt" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type Enums struct { + List []Enum + once sync.Once + byName map[protoreflect.Name]*Enum // protected by once +} + +func (p *Enums) Len() int { + return len(p.List) +} +func (p *Enums) Get(i int) protoreflect.EnumDescriptor { + return &p.List[i] +} +func (p *Enums) ByName(s protoreflect.Name) protoreflect.EnumDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Enums) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Enums) ProtoInternal(pragma.DoNotImplement) {} +func (p *Enums) lazyInit() *Enums { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Enum, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type EnumValues struct { + List []EnumValue + once sync.Once + byName map[protoreflect.Name]*EnumValue // protected by once + byNum map[protoreflect.EnumNumber]*EnumValue // protected by once +} + +func (p *EnumValues) Len() int { + return len(p.List) +} +func (p *EnumValues) Get(i int) protoreflect.EnumValueDescriptor { + return &p.List[i] +} +func (p *EnumValues) ByName(s protoreflect.Name) protoreflect.EnumValueDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *EnumValues) ByNumber(n protoreflect.EnumNumber) protoreflect.EnumValueDescriptor { + if d := p.lazyInit().byNum[n]; d != nil { + return d + } + return nil +} +func (p *EnumValues) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *EnumValues) ProtoInternal(pragma.DoNotImplement) {} +func (p *EnumValues) lazyInit() *EnumValues { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*EnumValue, len(p.List)) + p.byNum = make(map[protoreflect.EnumNumber]*EnumValue, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + if _, ok := p.byNum[d.Number()]; !ok { + p.byNum[d.Number()] = d + } + } + } + }) + return p +} + +type Messages struct { + List []Message + once sync.Once + byName map[protoreflect.Name]*Message // protected by once +} + +func (p *Messages) Len() int { + return len(p.List) +} +func (p *Messages) Get(i int) protoreflect.MessageDescriptor { + return &p.List[i] +} +func (p *Messages) ByName(s protoreflect.Name) protoreflect.MessageDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Messages) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Messages) ProtoInternal(pragma.DoNotImplement) {} +func (p *Messages) lazyInit() *Messages { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Message, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type Fields struct { + List []Field + once sync.Once + byName map[protoreflect.Name]*Field // protected by once + byJSON map[string]*Field // protected by once + byText map[string]*Field // protected by once + byNum map[protoreflect.FieldNumber]*Field // protected by once +} + +func (p *Fields) Len() int { + return len(p.List) +} +func (p *Fields) Get(i int) protoreflect.FieldDescriptor { + return &p.List[i] +} +func (p *Fields) ByName(s protoreflect.Name) protoreflect.FieldDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Fields) ByJSONName(s string) protoreflect.FieldDescriptor { + if d := p.lazyInit().byJSON[s]; d != nil { + return d + } + return nil +} +func (p *Fields) ByTextName(s string) protoreflect.FieldDescriptor { + if d := p.lazyInit().byText[s]; d != nil { + return d + } + return nil +} +func (p *Fields) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor { + if d := p.lazyInit().byNum[n]; d != nil { + return d + } + return nil +} +func (p *Fields) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Fields) ProtoInternal(pragma.DoNotImplement) {} +func (p *Fields) lazyInit() *Fields { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Field, len(p.List)) + p.byJSON = make(map[string]*Field, len(p.List)) + p.byText = make(map[string]*Field, len(p.List)) + p.byNum = make(map[protoreflect.FieldNumber]*Field, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + if _, ok := p.byJSON[d.JSONName()]; !ok { + p.byJSON[d.JSONName()] = d + } + if _, ok := p.byText[d.TextName()]; !ok { + p.byText[d.TextName()] = d + } + if _, ok := p.byNum[d.Number()]; !ok { + p.byNum[d.Number()] = d + } + } + } + }) + return p +} + +type Oneofs struct { + List []Oneof + once sync.Once + byName map[protoreflect.Name]*Oneof // protected by once +} + +func (p *Oneofs) Len() int { + return len(p.List) +} +func (p *Oneofs) Get(i int) protoreflect.OneofDescriptor { + return &p.List[i] +} +func (p *Oneofs) ByName(s protoreflect.Name) protoreflect.OneofDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Oneofs) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Oneofs) ProtoInternal(pragma.DoNotImplement) {} +func (p *Oneofs) lazyInit() *Oneofs { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Oneof, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type Extensions struct { + List []Extension + once sync.Once + byName map[protoreflect.Name]*Extension // protected by once +} + +func (p *Extensions) Len() int { + return len(p.List) +} +func (p *Extensions) Get(i int) protoreflect.ExtensionDescriptor { + return &p.List[i] +} +func (p *Extensions) ByName(s protoreflect.Name) protoreflect.ExtensionDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Extensions) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Extensions) ProtoInternal(pragma.DoNotImplement) {} +func (p *Extensions) lazyInit() *Extensions { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Extension, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type Services struct { + List []Service + once sync.Once + byName map[protoreflect.Name]*Service // protected by once +} + +func (p *Services) Len() int { + return len(p.List) +} +func (p *Services) Get(i int) protoreflect.ServiceDescriptor { + return &p.List[i] +} +func (p *Services) ByName(s protoreflect.Name) protoreflect.ServiceDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Services) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Services) ProtoInternal(pragma.DoNotImplement) {} +func (p *Services) lazyInit() *Services { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Service, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type Methods struct { + List []Method + once sync.Once + byName map[protoreflect.Name]*Method // protected by once +} + +func (p *Methods) Len() int { + return len(p.List) +} +func (p *Methods) Get(i int) protoreflect.MethodDescriptor { + return &p.List[i] +} +func (p *Methods) ByName(s protoreflect.Name) protoreflect.MethodDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Methods) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Methods) ProtoInternal(pragma.DoNotImplement) {} +func (p *Methods) lazyInit() *Methods { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Method, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go b/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go new file mode 100644 index 000000000..dbf2c605b --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go @@ -0,0 +1,107 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/pragma" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +var ( + emptyNames = new(Names) + emptyEnumRanges = new(EnumRanges) + emptyFieldRanges = new(FieldRanges) + emptyFieldNumbers = new(FieldNumbers) + emptySourceLocations = new(SourceLocations) + + emptyFiles = new(FileImports) + emptyMessages = new(Messages) + emptyFields = new(Fields) + emptyOneofs = new(Oneofs) + emptyEnums = new(Enums) + emptyEnumValues = new(EnumValues) + emptyExtensions = new(Extensions) + emptyServices = new(Services) +) + +// PlaceholderFile is a placeholder, representing only the file path. +type PlaceholderFile string + +func (f PlaceholderFile) ParentFile() pref.FileDescriptor { return f } +func (f PlaceholderFile) Parent() pref.Descriptor { return nil } +func (f PlaceholderFile) Index() int { return 0 } +func (f PlaceholderFile) Syntax() pref.Syntax { return 0 } +func (f PlaceholderFile) Name() pref.Name { return "" } +func (f PlaceholderFile) FullName() pref.FullName { return "" } +func (f PlaceholderFile) IsPlaceholder() bool { return true } +func (f PlaceholderFile) Options() pref.ProtoMessage { return descopts.File } +func (f PlaceholderFile) Path() string { return string(f) } +func (f PlaceholderFile) Package() pref.FullName { return "" } +func (f PlaceholderFile) Imports() pref.FileImports { return emptyFiles } +func (f PlaceholderFile) Messages() pref.MessageDescriptors { return emptyMessages } +func (f PlaceholderFile) Enums() pref.EnumDescriptors { return emptyEnums } +func (f PlaceholderFile) Extensions() pref.ExtensionDescriptors { return emptyExtensions } +func (f PlaceholderFile) Services() pref.ServiceDescriptors { return emptyServices } +func (f PlaceholderFile) SourceLocations() pref.SourceLocations { return emptySourceLocations } +func (f PlaceholderFile) ProtoType(pref.FileDescriptor) { return } +func (f PlaceholderFile) ProtoInternal(pragma.DoNotImplement) { return } + +// PlaceholderEnum is a placeholder, representing only the full name. +type PlaceholderEnum pref.FullName + +func (e PlaceholderEnum) ParentFile() pref.FileDescriptor { return nil } +func (e PlaceholderEnum) Parent() pref.Descriptor { return nil } +func (e PlaceholderEnum) Index() int { return 0 } +func (e PlaceholderEnum) Syntax() pref.Syntax { return 0 } +func (e PlaceholderEnum) Name() pref.Name { return pref.FullName(e).Name() } +func (e PlaceholderEnum) FullName() pref.FullName { return pref.FullName(e) } +func (e PlaceholderEnum) IsPlaceholder() bool { return true } +func (e PlaceholderEnum) Options() pref.ProtoMessage { return descopts.Enum } +func (e PlaceholderEnum) Values() pref.EnumValueDescriptors { return emptyEnumValues } +func (e PlaceholderEnum) ReservedNames() pref.Names { return emptyNames } +func (e PlaceholderEnum) ReservedRanges() pref.EnumRanges { return emptyEnumRanges } +func (e PlaceholderEnum) ProtoType(pref.EnumDescriptor) { return } +func (e PlaceholderEnum) ProtoInternal(pragma.DoNotImplement) { return } + +// PlaceholderEnumValue is a placeholder, representing only the full name. +type PlaceholderEnumValue pref.FullName + +func (e PlaceholderEnumValue) ParentFile() pref.FileDescriptor { return nil } +func (e PlaceholderEnumValue) Parent() pref.Descriptor { return nil } +func (e PlaceholderEnumValue) Index() int { return 0 } +func (e PlaceholderEnumValue) Syntax() pref.Syntax { return 0 } +func (e PlaceholderEnumValue) Name() pref.Name { return pref.FullName(e).Name() } +func (e PlaceholderEnumValue) FullName() pref.FullName { return pref.FullName(e) } +func (e PlaceholderEnumValue) IsPlaceholder() bool { return true } +func (e PlaceholderEnumValue) Options() pref.ProtoMessage { return descopts.EnumValue } +func (e PlaceholderEnumValue) Number() pref.EnumNumber { return 0 } +func (e PlaceholderEnumValue) ProtoType(pref.EnumValueDescriptor) { return } +func (e PlaceholderEnumValue) ProtoInternal(pragma.DoNotImplement) { return } + +// PlaceholderMessage is a placeholder, representing only the full name. +type PlaceholderMessage pref.FullName + +func (m PlaceholderMessage) ParentFile() pref.FileDescriptor { return nil } +func (m PlaceholderMessage) Parent() pref.Descriptor { return nil } +func (m PlaceholderMessage) Index() int { return 0 } +func (m PlaceholderMessage) Syntax() pref.Syntax { return 0 } +func (m PlaceholderMessage) Name() pref.Name { return pref.FullName(m).Name() } +func (m PlaceholderMessage) FullName() pref.FullName { return pref.FullName(m) } +func (m PlaceholderMessage) IsPlaceholder() bool { return true } +func (m PlaceholderMessage) Options() pref.ProtoMessage { return descopts.Message } +func (m PlaceholderMessage) IsMapEntry() bool { return false } +func (m PlaceholderMessage) Fields() pref.FieldDescriptors { return emptyFields } +func (m PlaceholderMessage) Oneofs() pref.OneofDescriptors { return emptyOneofs } +func (m PlaceholderMessage) ReservedNames() pref.Names { return emptyNames } +func (m PlaceholderMessage) ReservedRanges() pref.FieldRanges { return emptyFieldRanges } +func (m PlaceholderMessage) RequiredNumbers() pref.FieldNumbers { return emptyFieldNumbers } +func (m PlaceholderMessage) ExtensionRanges() pref.FieldRanges { return emptyFieldRanges } +func (m PlaceholderMessage) ExtensionRangeOptions(int) pref.ProtoMessage { panic("index out of range") } +func (m PlaceholderMessage) Messages() pref.MessageDescriptors { return emptyMessages } +func (m PlaceholderMessage) Enums() pref.EnumDescriptors { return emptyEnums } +func (m PlaceholderMessage) Extensions() pref.ExtensionDescriptors { return emptyExtensions } +func (m PlaceholderMessage) ProtoType(pref.MessageDescriptor) { return } +func (m PlaceholderMessage) ProtoInternal(pragma.DoNotImplement) { return } diff --git a/vendor/google.golang.org/protobuf/internal/filetype/build.go b/vendor/google.golang.org/protobuf/internal/filetype/build.go new file mode 100644 index 000000000..0a0dd35de --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/filetype/build.go @@ -0,0 +1,297 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package filetype provides functionality for wrapping descriptors +// with Go type information. +package filetype + +import ( + "reflect" + + "google.golang.org/protobuf/internal/descopts" + fdesc "google.golang.org/protobuf/internal/filedesc" + pimpl "google.golang.org/protobuf/internal/impl" + pref "google.golang.org/protobuf/reflect/protoreflect" + preg "google.golang.org/protobuf/reflect/protoregistry" +) + +// Builder constructs type descriptors from a raw file descriptor +// and associated Go types for each enum and message declaration. +// +// +// Flattened Ordering +// +// The protobuf type system represents declarations as a tree. Certain nodes in +// the tree require us to either associate it with a concrete Go type or to +// resolve a dependency, which is information that must be provided separately +// since it cannot be derived from the file descriptor alone. +// +// However, representing a tree as Go literals is difficult to simply do in a +// space and time efficient way. Thus, we store them as a flattened list of +// objects where the serialization order from the tree-based form is important. +// +// The "flattened ordering" is defined as a tree traversal of all enum, message, +// extension, and service declarations using the following algorithm: +// +// def VisitFileDecls(fd): +// for e in fd.Enums: yield e +// for m in fd.Messages: yield m +// for x in fd.Extensions: yield x +// for s in fd.Services: yield s +// for m in fd.Messages: yield from VisitMessageDecls(m) +// +// def VisitMessageDecls(md): +// for e in md.Enums: yield e +// for m in md.Messages: yield m +// for x in md.Extensions: yield x +// for m in md.Messages: yield from VisitMessageDecls(m) +// +// The traversal starts at the root file descriptor and yields each direct +// declaration within each node before traversing into sub-declarations +// that children themselves may have. +type Builder struct { + // File is the underlying file descriptor builder. + File fdesc.Builder + + // GoTypes is a unique set of the Go types for all declarations and + // dependencies. Each type is represented as a zero value of the Go type. + // + // Declarations are Go types generated for enums and messages directly + // declared (not publicly imported) in the proto source file. + // Messages for map entries are accounted for, but represented by nil. + // Enum declarations in "flattened ordering" come first, followed by + // message declarations in "flattened ordering". + // + // Dependencies are Go types for enums or messages referenced by + // message fields (excluding weak fields), for parent extended messages of + // extension fields, for enums or messages referenced by extension fields, + // and for input and output messages referenced by service methods. + // Dependencies must come after declarations, but the ordering of + // dependencies themselves is unspecified. + GoTypes []interface{} + + // DependencyIndexes is an ordered list of indexes into GoTypes for the + // dependencies of messages, extensions, or services. + // + // There are 5 sub-lists in "flattened ordering" concatenated back-to-back: + // 0. Message field dependencies: list of the enum or message type + // referred to by every message field. + // 1. Extension field targets: list of the extended parent message of + // every extension. + // 2. Extension field dependencies: list of the enum or message type + // referred to by every extension field. + // 3. Service method inputs: list of the input message type + // referred to by every service method. + // 4. Service method outputs: list of the output message type + // referred to by every service method. + // + // The offset into DependencyIndexes for the start of each sub-list + // is appended to the end in reverse order. + DependencyIndexes []int32 + + // EnumInfos is a list of enum infos in "flattened ordering". + EnumInfos []pimpl.EnumInfo + + // MessageInfos is a list of message infos in "flattened ordering". + // If provided, the GoType and PBType for each element is populated. + // + // Requirement: len(MessageInfos) == len(Build.Messages) + MessageInfos []pimpl.MessageInfo + + // ExtensionInfos is a list of extension infos in "flattened ordering". + // Each element is initialized and registered with the protoregistry package. + // + // Requirement: len(LegacyExtensions) == len(Build.Extensions) + ExtensionInfos []pimpl.ExtensionInfo + + // TypeRegistry is the registry to register each type descriptor. + // If nil, it uses protoregistry.GlobalTypes. + TypeRegistry interface { + RegisterMessage(pref.MessageType) error + RegisterEnum(pref.EnumType) error + RegisterExtension(pref.ExtensionType) error + } +} + +// Out is the output of the builder. +type Out struct { + File pref.FileDescriptor +} + +func (tb Builder) Build() (out Out) { + // Replace the resolver with one that resolves dependencies by index, + // which is faster and more reliable than relying on the global registry. + if tb.File.FileRegistry == nil { + tb.File.FileRegistry = preg.GlobalFiles + } + tb.File.FileRegistry = &resolverByIndex{ + goTypes: tb.GoTypes, + depIdxs: tb.DependencyIndexes, + fileRegistry: tb.File.FileRegistry, + } + + // Initialize registry if unpopulated. + if tb.TypeRegistry == nil { + tb.TypeRegistry = preg.GlobalTypes + } + + fbOut := tb.File.Build() + out.File = fbOut.File + + // Process enums. + enumGoTypes := tb.GoTypes[:len(fbOut.Enums)] + if len(tb.EnumInfos) != len(fbOut.Enums) { + panic("mismatching enum lengths") + } + if len(fbOut.Enums) > 0 { + for i := range fbOut.Enums { + tb.EnumInfos[i] = pimpl.EnumInfo{ + GoReflectType: reflect.TypeOf(enumGoTypes[i]), + Desc: &fbOut.Enums[i], + } + // Register enum types. + if err := tb.TypeRegistry.RegisterEnum(&tb.EnumInfos[i]); err != nil { + panic(err) + } + } + } + + // Process messages. + messageGoTypes := tb.GoTypes[len(fbOut.Enums):][:len(fbOut.Messages)] + if len(tb.MessageInfos) != len(fbOut.Messages) { + panic("mismatching message lengths") + } + if len(fbOut.Messages) > 0 { + for i := range fbOut.Messages { + if messageGoTypes[i] == nil { + continue // skip map entry + } + + tb.MessageInfos[i].GoReflectType = reflect.TypeOf(messageGoTypes[i]) + tb.MessageInfos[i].Desc = &fbOut.Messages[i] + + // Register message types. + if err := tb.TypeRegistry.RegisterMessage(&tb.MessageInfos[i]); err != nil { + panic(err) + } + } + + // As a special-case for descriptor.proto, + // locally register concrete message type for the options. + if out.File.Path() == "google/protobuf/descriptor.proto" && out.File.Package() == "google.protobuf" { + for i := range fbOut.Messages { + switch fbOut.Messages[i].Name() { + case "FileOptions": + descopts.File = messageGoTypes[i].(pref.ProtoMessage) + case "EnumOptions": + descopts.Enum = messageGoTypes[i].(pref.ProtoMessage) + case "EnumValueOptions": + descopts.EnumValue = messageGoTypes[i].(pref.ProtoMessage) + case "MessageOptions": + descopts.Message = messageGoTypes[i].(pref.ProtoMessage) + case "FieldOptions": + descopts.Field = messageGoTypes[i].(pref.ProtoMessage) + case "OneofOptions": + descopts.Oneof = messageGoTypes[i].(pref.ProtoMessage) + case "ExtensionRangeOptions": + descopts.ExtensionRange = messageGoTypes[i].(pref.ProtoMessage) + case "ServiceOptions": + descopts.Service = messageGoTypes[i].(pref.ProtoMessage) + case "MethodOptions": + descopts.Method = messageGoTypes[i].(pref.ProtoMessage) + } + } + } + } + + // Process extensions. + if len(tb.ExtensionInfos) != len(fbOut.Extensions) { + panic("mismatching extension lengths") + } + var depIdx int32 + for i := range fbOut.Extensions { + // For enum and message kinds, determine the referent Go type so + // that we can construct their constructors. + const listExtDeps = 2 + var goType reflect.Type + switch fbOut.Extensions[i].L1.Kind { + case pref.EnumKind: + j := depIdxs.Get(tb.DependencyIndexes, listExtDeps, depIdx) + goType = reflect.TypeOf(tb.GoTypes[j]) + depIdx++ + case pref.MessageKind, pref.GroupKind: + j := depIdxs.Get(tb.DependencyIndexes, listExtDeps, depIdx) + goType = reflect.TypeOf(tb.GoTypes[j]) + depIdx++ + default: + goType = goTypeForPBKind[fbOut.Extensions[i].L1.Kind] + } + if fbOut.Extensions[i].IsList() { + goType = reflect.SliceOf(goType) + } + + pimpl.InitExtensionInfo(&tb.ExtensionInfos[i], &fbOut.Extensions[i], goType) + + // Register extension types. + if err := tb.TypeRegistry.RegisterExtension(&tb.ExtensionInfos[i]); err != nil { + panic(err) + } + } + + return out +} + +var goTypeForPBKind = map[pref.Kind]reflect.Type{ + pref.BoolKind: reflect.TypeOf(bool(false)), + pref.Int32Kind: reflect.TypeOf(int32(0)), + pref.Sint32Kind: reflect.TypeOf(int32(0)), + pref.Sfixed32Kind: reflect.TypeOf(int32(0)), + pref.Int64Kind: reflect.TypeOf(int64(0)), + pref.Sint64Kind: reflect.TypeOf(int64(0)), + pref.Sfixed64Kind: reflect.TypeOf(int64(0)), + pref.Uint32Kind: reflect.TypeOf(uint32(0)), + pref.Fixed32Kind: reflect.TypeOf(uint32(0)), + pref.Uint64Kind: reflect.TypeOf(uint64(0)), + pref.Fixed64Kind: reflect.TypeOf(uint64(0)), + pref.FloatKind: reflect.TypeOf(float32(0)), + pref.DoubleKind: reflect.TypeOf(float64(0)), + pref.StringKind: reflect.TypeOf(string("")), + pref.BytesKind: reflect.TypeOf([]byte(nil)), +} + +type depIdxs []int32 + +// Get retrieves the jth element of the ith sub-list. +func (x depIdxs) Get(i, j int32) int32 { + return x[x[int32(len(x))-i-1]+j] +} + +type ( + resolverByIndex struct { + goTypes []interface{} + depIdxs depIdxs + fileRegistry + } + fileRegistry interface { + FindFileByPath(string) (pref.FileDescriptor, error) + FindDescriptorByName(pref.FullName) (pref.Descriptor, error) + RegisterFile(pref.FileDescriptor) error + } +) + +func (r *resolverByIndex) FindEnumByIndex(i, j int32, es []fdesc.Enum, ms []fdesc.Message) pref.EnumDescriptor { + if depIdx := int(r.depIdxs.Get(i, j)); int(depIdx) < len(es)+len(ms) { + return &es[depIdx] + } else { + return pimpl.Export{}.EnumDescriptorOf(r.goTypes[depIdx]) + } +} + +func (r *resolverByIndex) FindMessageByIndex(i, j int32, es []fdesc.Enum, ms []fdesc.Message) pref.MessageDescriptor { + if depIdx := int(r.depIdxs.Get(i, j)); depIdx < len(es)+len(ms) { + return &ms[depIdx-len(es)] + } else { + return pimpl.Export{}.MessageDescriptorOf(r.goTypes[depIdx]) + } +} diff --git a/vendor/google.golang.org/protobuf/internal/flags/flags.go b/vendor/google.golang.org/protobuf/internal/flags/flags.go new file mode 100644 index 000000000..58372dd34 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/flags/flags.go @@ -0,0 +1,24 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package flags provides a set of flags controlled by build tags. +package flags + +// ProtoLegacy specifies whether to enable support for legacy functionality +// such as MessageSets, weak fields, and various other obscure behavior +// that is necessary to maintain backwards compatibility with proto1 or +// the pre-release variants of proto2 and proto3. +// +// This is disabled by default unless built with the "protolegacy" tag. +// +// WARNING: The compatibility agreement covers nothing provided by this flag. +// As such, functionality may suddenly be removed or changed at our discretion. +const ProtoLegacy = protoLegacy + +// LazyUnmarshalExtensions specifies whether to lazily unmarshal extensions. +// +// Lazy extension unmarshaling validates the contents of message-valued +// extension fields at unmarshal time, but defers creating the message +// structure until the extension is first accessed. +const LazyUnmarshalExtensions = ProtoLegacy diff --git a/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go b/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go new file mode 100644 index 000000000..a72995f02 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go @@ -0,0 +1,9 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !protolegacy + +package flags + +const protoLegacy = false diff --git a/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go b/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go new file mode 100644 index 000000000..772e2f0e4 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go @@ -0,0 +1,9 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build protolegacy + +package flags + +const protoLegacy = true diff --git a/vendor/google.golang.org/protobuf/internal/genid/any_gen.go b/vendor/google.golang.org/protobuf/internal/genid/any_gen.go new file mode 100644 index 000000000..e6f7d47ab --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/any_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_any_proto = "google/protobuf/any.proto" + +// Names for google.protobuf.Any. +const ( + Any_message_name protoreflect.Name = "Any" + Any_message_fullname protoreflect.FullName = "google.protobuf.Any" +) + +// Field names for google.protobuf.Any. +const ( + Any_TypeUrl_field_name protoreflect.Name = "type_url" + Any_Value_field_name protoreflect.Name = "value" + + Any_TypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Any.type_url" + Any_Value_field_fullname protoreflect.FullName = "google.protobuf.Any.value" +) + +// Field numbers for google.protobuf.Any. +const ( + Any_TypeUrl_field_number protoreflect.FieldNumber = 1 + Any_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/api_gen.go b/vendor/google.golang.org/protobuf/internal/genid/api_gen.go new file mode 100644 index 000000000..df8f91850 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/api_gen.go @@ -0,0 +1,106 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_api_proto = "google/protobuf/api.proto" + +// Names for google.protobuf.Api. +const ( + Api_message_name protoreflect.Name = "Api" + Api_message_fullname protoreflect.FullName = "google.protobuf.Api" +) + +// Field names for google.protobuf.Api. +const ( + Api_Name_field_name protoreflect.Name = "name" + Api_Methods_field_name protoreflect.Name = "methods" + Api_Options_field_name protoreflect.Name = "options" + Api_Version_field_name protoreflect.Name = "version" + Api_SourceContext_field_name protoreflect.Name = "source_context" + Api_Mixins_field_name protoreflect.Name = "mixins" + Api_Syntax_field_name protoreflect.Name = "syntax" + + Api_Name_field_fullname protoreflect.FullName = "google.protobuf.Api.name" + Api_Methods_field_fullname protoreflect.FullName = "google.protobuf.Api.methods" + Api_Options_field_fullname protoreflect.FullName = "google.protobuf.Api.options" + Api_Version_field_fullname protoreflect.FullName = "google.protobuf.Api.version" + Api_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Api.source_context" + Api_Mixins_field_fullname protoreflect.FullName = "google.protobuf.Api.mixins" + Api_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Api.syntax" +) + +// Field numbers for google.protobuf.Api. +const ( + Api_Name_field_number protoreflect.FieldNumber = 1 + Api_Methods_field_number protoreflect.FieldNumber = 2 + Api_Options_field_number protoreflect.FieldNumber = 3 + Api_Version_field_number protoreflect.FieldNumber = 4 + Api_SourceContext_field_number protoreflect.FieldNumber = 5 + Api_Mixins_field_number protoreflect.FieldNumber = 6 + Api_Syntax_field_number protoreflect.FieldNumber = 7 +) + +// Names for google.protobuf.Method. +const ( + Method_message_name protoreflect.Name = "Method" + Method_message_fullname protoreflect.FullName = "google.protobuf.Method" +) + +// Field names for google.protobuf.Method. +const ( + Method_Name_field_name protoreflect.Name = "name" + Method_RequestTypeUrl_field_name protoreflect.Name = "request_type_url" + Method_RequestStreaming_field_name protoreflect.Name = "request_streaming" + Method_ResponseTypeUrl_field_name protoreflect.Name = "response_type_url" + Method_ResponseStreaming_field_name protoreflect.Name = "response_streaming" + Method_Options_field_name protoreflect.Name = "options" + Method_Syntax_field_name protoreflect.Name = "syntax" + + Method_Name_field_fullname protoreflect.FullName = "google.protobuf.Method.name" + Method_RequestTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.request_type_url" + Method_RequestStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.request_streaming" + Method_ResponseTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.response_type_url" + Method_ResponseStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.response_streaming" + Method_Options_field_fullname protoreflect.FullName = "google.protobuf.Method.options" + Method_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Method.syntax" +) + +// Field numbers for google.protobuf.Method. +const ( + Method_Name_field_number protoreflect.FieldNumber = 1 + Method_RequestTypeUrl_field_number protoreflect.FieldNumber = 2 + Method_RequestStreaming_field_number protoreflect.FieldNumber = 3 + Method_ResponseTypeUrl_field_number protoreflect.FieldNumber = 4 + Method_ResponseStreaming_field_number protoreflect.FieldNumber = 5 + Method_Options_field_number protoreflect.FieldNumber = 6 + Method_Syntax_field_number protoreflect.FieldNumber = 7 +) + +// Names for google.protobuf.Mixin. +const ( + Mixin_message_name protoreflect.Name = "Mixin" + Mixin_message_fullname protoreflect.FullName = "google.protobuf.Mixin" +) + +// Field names for google.protobuf.Mixin. +const ( + Mixin_Name_field_name protoreflect.Name = "name" + Mixin_Root_field_name protoreflect.Name = "root" + + Mixin_Name_field_fullname protoreflect.FullName = "google.protobuf.Mixin.name" + Mixin_Root_field_fullname protoreflect.FullName = "google.protobuf.Mixin.root" +) + +// Field numbers for google.protobuf.Mixin. +const ( + Mixin_Name_field_number protoreflect.FieldNumber = 1 + Mixin_Root_field_number protoreflect.FieldNumber = 2 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go new file mode 100644 index 000000000..e3cdf1c20 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go @@ -0,0 +1,829 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_descriptor_proto = "google/protobuf/descriptor.proto" + +// Names for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet" + FileDescriptorSet_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet" +) + +// Field names for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_File_field_name protoreflect.Name = "file" + + FileDescriptorSet_File_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet.file" +) + +// Field numbers for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_File_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_message_name protoreflect.Name = "FileDescriptorProto" + FileDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto" +) + +// Field names for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_Name_field_name protoreflect.Name = "name" + FileDescriptorProto_Package_field_name protoreflect.Name = "package" + FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency" + FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency" + FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency" + FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type" + FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type" + FileDescriptorProto_Service_field_name protoreflect.Name = "service" + FileDescriptorProto_Extension_field_name protoreflect.Name = "extension" + FileDescriptorProto_Options_field_name protoreflect.Name = "options" + FileDescriptorProto_SourceCodeInfo_field_name protoreflect.Name = "source_code_info" + FileDescriptorProto_Syntax_field_name protoreflect.Name = "syntax" + + FileDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.name" + FileDescriptorProto_Package_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.package" + FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency" + FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency" + FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency" + FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type" + FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type" + FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service" + FileDescriptorProto_Extension_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.extension" + FileDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.options" + FileDescriptorProto_SourceCodeInfo_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.source_code_info" + FileDescriptorProto_Syntax_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.syntax" +) + +// Field numbers for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + FileDescriptorProto_Package_field_number protoreflect.FieldNumber = 2 + FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3 + FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10 + FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11 + FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4 + FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5 + FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6 + FileDescriptorProto_Extension_field_number protoreflect.FieldNumber = 7 + FileDescriptorProto_Options_field_number protoreflect.FieldNumber = 8 + FileDescriptorProto_SourceCodeInfo_field_number protoreflect.FieldNumber = 9 + FileDescriptorProto_Syntax_field_number protoreflect.FieldNumber = 12 +) + +// Names for google.protobuf.DescriptorProto. +const ( + DescriptorProto_message_name protoreflect.Name = "DescriptorProto" + DescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto" +) + +// Field names for google.protobuf.DescriptorProto. +const ( + DescriptorProto_Name_field_name protoreflect.Name = "name" + DescriptorProto_Field_field_name protoreflect.Name = "field" + DescriptorProto_Extension_field_name protoreflect.Name = "extension" + DescriptorProto_NestedType_field_name protoreflect.Name = "nested_type" + DescriptorProto_EnumType_field_name protoreflect.Name = "enum_type" + DescriptorProto_ExtensionRange_field_name protoreflect.Name = "extension_range" + DescriptorProto_OneofDecl_field_name protoreflect.Name = "oneof_decl" + DescriptorProto_Options_field_name protoreflect.Name = "options" + DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" + DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" + + DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name" + DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field" + DescriptorProto_Extension_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension" + DescriptorProto_NestedType_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.nested_type" + DescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.enum_type" + DescriptorProto_ExtensionRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension_range" + DescriptorProto_OneofDecl_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.oneof_decl" + DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options" + DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range" + DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name" +) + +// Field numbers for google.protobuf.DescriptorProto. +const ( + DescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + DescriptorProto_Field_field_number protoreflect.FieldNumber = 2 + DescriptorProto_Extension_field_number protoreflect.FieldNumber = 6 + DescriptorProto_NestedType_field_number protoreflect.FieldNumber = 3 + DescriptorProto_EnumType_field_number protoreflect.FieldNumber = 4 + DescriptorProto_ExtensionRange_field_number protoreflect.FieldNumber = 5 + DescriptorProto_OneofDecl_field_number protoreflect.FieldNumber = 8 + DescriptorProto_Options_field_number protoreflect.FieldNumber = 7 + DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9 + DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10 +) + +// Names for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_message_name protoreflect.Name = "ExtensionRange" + DescriptorProto_ExtensionRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange" +) + +// Field names for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_Start_field_name protoreflect.Name = "start" + DescriptorProto_ExtensionRange_End_field_name protoreflect.Name = "end" + DescriptorProto_ExtensionRange_Options_field_name protoreflect.Name = "options" + + DescriptorProto_ExtensionRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.start" + DescriptorProto_ExtensionRange_End_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.end" + DescriptorProto_ExtensionRange_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.options" +) + +// Field numbers for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_Start_field_number protoreflect.FieldNumber = 1 + DescriptorProto_ExtensionRange_End_field_number protoreflect.FieldNumber = 2 + DescriptorProto_ExtensionRange_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_message_name protoreflect.Name = "ReservedRange" + DescriptorProto_ReservedRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange" +) + +// Field names for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_Start_field_name protoreflect.Name = "start" + DescriptorProto_ReservedRange_End_field_name protoreflect.Name = "end" + + DescriptorProto_ReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.start" + DescriptorProto_ReservedRange_End_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.end" +) + +// Field numbers for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_Start_field_number protoreflect.FieldNumber = 1 + DescriptorProto_ReservedRange_End_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_message_name protoreflect.Name = "ExtensionRangeOptions" + ExtensionRangeOptions_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions" +) + +// Field names for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + ExtensionRangeOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_message_name protoreflect.Name = "FieldDescriptorProto" + FieldDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto" +) + +// Field names for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_Name_field_name protoreflect.Name = "name" + FieldDescriptorProto_Number_field_name protoreflect.Name = "number" + FieldDescriptorProto_Label_field_name protoreflect.Name = "label" + FieldDescriptorProto_Type_field_name protoreflect.Name = "type" + FieldDescriptorProto_TypeName_field_name protoreflect.Name = "type_name" + FieldDescriptorProto_Extendee_field_name protoreflect.Name = "extendee" + FieldDescriptorProto_DefaultValue_field_name protoreflect.Name = "default_value" + FieldDescriptorProto_OneofIndex_field_name protoreflect.Name = "oneof_index" + FieldDescriptorProto_JsonName_field_name protoreflect.Name = "json_name" + FieldDescriptorProto_Options_field_name protoreflect.Name = "options" + FieldDescriptorProto_Proto3Optional_field_name protoreflect.Name = "proto3_optional" + + FieldDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.name" + FieldDescriptorProto_Number_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.number" + FieldDescriptorProto_Label_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.label" + FieldDescriptorProto_Type_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type" + FieldDescriptorProto_TypeName_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type_name" + FieldDescriptorProto_Extendee_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.extendee" + FieldDescriptorProto_DefaultValue_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.default_value" + FieldDescriptorProto_OneofIndex_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.oneof_index" + FieldDescriptorProto_JsonName_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.json_name" + FieldDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.options" + FieldDescriptorProto_Proto3Optional_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.proto3_optional" +) + +// Field numbers for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + FieldDescriptorProto_Number_field_number protoreflect.FieldNumber = 3 + FieldDescriptorProto_Label_field_number protoreflect.FieldNumber = 4 + FieldDescriptorProto_Type_field_number protoreflect.FieldNumber = 5 + FieldDescriptorProto_TypeName_field_number protoreflect.FieldNumber = 6 + FieldDescriptorProto_Extendee_field_number protoreflect.FieldNumber = 2 + FieldDescriptorProto_DefaultValue_field_number protoreflect.FieldNumber = 7 + FieldDescriptorProto_OneofIndex_field_number protoreflect.FieldNumber = 9 + FieldDescriptorProto_JsonName_field_number protoreflect.FieldNumber = 10 + FieldDescriptorProto_Options_field_number protoreflect.FieldNumber = 8 + FieldDescriptorProto_Proto3Optional_field_number protoreflect.FieldNumber = 17 +) + +// Full and short names for google.protobuf.FieldDescriptorProto.Type. +const ( + FieldDescriptorProto_Type_enum_fullname = "google.protobuf.FieldDescriptorProto.Type" + FieldDescriptorProto_Type_enum_name = "Type" +) + +// Full and short names for google.protobuf.FieldDescriptorProto.Label. +const ( + FieldDescriptorProto_Label_enum_fullname = "google.protobuf.FieldDescriptorProto.Label" + FieldDescriptorProto_Label_enum_name = "Label" +) + +// Names for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_message_name protoreflect.Name = "OneofDescriptorProto" + OneofDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto" +) + +// Field names for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_Name_field_name protoreflect.Name = "name" + OneofDescriptorProto_Options_field_name protoreflect.Name = "options" + + OneofDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.name" + OneofDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.options" +) + +// Field numbers for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + OneofDescriptorProto_Options_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_message_name protoreflect.Name = "EnumDescriptorProto" + EnumDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto" +) + +// Field names for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_Name_field_name protoreflect.Name = "name" + EnumDescriptorProto_Value_field_name protoreflect.Name = "value" + EnumDescriptorProto_Options_field_name protoreflect.Name = "options" + EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" + EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" + + EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name" + EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value" + EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options" + EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range" + EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name" +) + +// Field numbers for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + EnumDescriptorProto_Value_field_number protoreflect.FieldNumber = 2 + EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 + EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4 + EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5 +) + +// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_message_name protoreflect.Name = "EnumReservedRange" + EnumDescriptorProto_EnumReservedRange_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange" +) + +// Field names for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_Start_field_name protoreflect.Name = "start" + EnumDescriptorProto_EnumReservedRange_End_field_name protoreflect.Name = "end" + + EnumDescriptorProto_EnumReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.start" + EnumDescriptorProto_EnumReservedRange_End_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.end" +) + +// Field numbers for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_Start_field_number protoreflect.FieldNumber = 1 + EnumDescriptorProto_EnumReservedRange_End_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_message_name protoreflect.Name = "EnumValueDescriptorProto" + EnumValueDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto" +) + +// Field names for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_Name_field_name protoreflect.Name = "name" + EnumValueDescriptorProto_Number_field_name protoreflect.Name = "number" + EnumValueDescriptorProto_Options_field_name protoreflect.Name = "options" + + EnumValueDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.name" + EnumValueDescriptorProto_Number_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.number" + EnumValueDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.options" +) + +// Field numbers for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + EnumValueDescriptorProto_Number_field_number protoreflect.FieldNumber = 2 + EnumValueDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_message_name protoreflect.Name = "ServiceDescriptorProto" + ServiceDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto" +) + +// Field names for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_Name_field_name protoreflect.Name = "name" + ServiceDescriptorProto_Method_field_name protoreflect.Name = "method" + ServiceDescriptorProto_Options_field_name protoreflect.Name = "options" + + ServiceDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.name" + ServiceDescriptorProto_Method_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.method" + ServiceDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.options" +) + +// Field numbers for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + ServiceDescriptorProto_Method_field_number protoreflect.FieldNumber = 2 + ServiceDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_message_name protoreflect.Name = "MethodDescriptorProto" + MethodDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto" +) + +// Field names for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_Name_field_name protoreflect.Name = "name" + MethodDescriptorProto_InputType_field_name protoreflect.Name = "input_type" + MethodDescriptorProto_OutputType_field_name protoreflect.Name = "output_type" + MethodDescriptorProto_Options_field_name protoreflect.Name = "options" + MethodDescriptorProto_ClientStreaming_field_name protoreflect.Name = "client_streaming" + MethodDescriptorProto_ServerStreaming_field_name protoreflect.Name = "server_streaming" + + MethodDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.name" + MethodDescriptorProto_InputType_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.input_type" + MethodDescriptorProto_OutputType_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.output_type" + MethodDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.options" + MethodDescriptorProto_ClientStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.client_streaming" + MethodDescriptorProto_ServerStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.server_streaming" +) + +// Field numbers for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + MethodDescriptorProto_InputType_field_number protoreflect.FieldNumber = 2 + MethodDescriptorProto_OutputType_field_number protoreflect.FieldNumber = 3 + MethodDescriptorProto_Options_field_number protoreflect.FieldNumber = 4 + MethodDescriptorProto_ClientStreaming_field_number protoreflect.FieldNumber = 5 + MethodDescriptorProto_ServerStreaming_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.FileOptions. +const ( + FileOptions_message_name protoreflect.Name = "FileOptions" + FileOptions_message_fullname protoreflect.FullName = "google.protobuf.FileOptions" +) + +// Field names for google.protobuf.FileOptions. +const ( + FileOptions_JavaPackage_field_name protoreflect.Name = "java_package" + FileOptions_JavaOuterClassname_field_name protoreflect.Name = "java_outer_classname" + FileOptions_JavaMultipleFiles_field_name protoreflect.Name = "java_multiple_files" + FileOptions_JavaGenerateEqualsAndHash_field_name protoreflect.Name = "java_generate_equals_and_hash" + FileOptions_JavaStringCheckUtf8_field_name protoreflect.Name = "java_string_check_utf8" + FileOptions_OptimizeFor_field_name protoreflect.Name = "optimize_for" + FileOptions_GoPackage_field_name protoreflect.Name = "go_package" + FileOptions_CcGenericServices_field_name protoreflect.Name = "cc_generic_services" + FileOptions_JavaGenericServices_field_name protoreflect.Name = "java_generic_services" + FileOptions_PyGenericServices_field_name protoreflect.Name = "py_generic_services" + FileOptions_PhpGenericServices_field_name protoreflect.Name = "php_generic_services" + FileOptions_Deprecated_field_name protoreflect.Name = "deprecated" + FileOptions_CcEnableArenas_field_name protoreflect.Name = "cc_enable_arenas" + FileOptions_ObjcClassPrefix_field_name protoreflect.Name = "objc_class_prefix" + FileOptions_CsharpNamespace_field_name protoreflect.Name = "csharp_namespace" + FileOptions_SwiftPrefix_field_name protoreflect.Name = "swift_prefix" + FileOptions_PhpClassPrefix_field_name protoreflect.Name = "php_class_prefix" + FileOptions_PhpNamespace_field_name protoreflect.Name = "php_namespace" + FileOptions_PhpMetadataNamespace_field_name protoreflect.Name = "php_metadata_namespace" + FileOptions_RubyPackage_field_name protoreflect.Name = "ruby_package" + FileOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + FileOptions_JavaPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_package" + FileOptions_JavaOuterClassname_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_outer_classname" + FileOptions_JavaMultipleFiles_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_multiple_files" + FileOptions_JavaGenerateEqualsAndHash_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generate_equals_and_hash" + FileOptions_JavaStringCheckUtf8_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_string_check_utf8" + FileOptions_OptimizeFor_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.optimize_for" + FileOptions_GoPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.go_package" + FileOptions_CcGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_generic_services" + FileOptions_JavaGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generic_services" + FileOptions_PyGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.py_generic_services" + FileOptions_PhpGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_generic_services" + FileOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.deprecated" + FileOptions_CcEnableArenas_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_enable_arenas" + FileOptions_ObjcClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.objc_class_prefix" + FileOptions_CsharpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.csharp_namespace" + FileOptions_SwiftPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.swift_prefix" + FileOptions_PhpClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_class_prefix" + FileOptions_PhpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_namespace" + FileOptions_PhpMetadataNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_metadata_namespace" + FileOptions_RubyPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.ruby_package" + FileOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.FileOptions. +const ( + FileOptions_JavaPackage_field_number protoreflect.FieldNumber = 1 + FileOptions_JavaOuterClassname_field_number protoreflect.FieldNumber = 8 + FileOptions_JavaMultipleFiles_field_number protoreflect.FieldNumber = 10 + FileOptions_JavaGenerateEqualsAndHash_field_number protoreflect.FieldNumber = 20 + FileOptions_JavaStringCheckUtf8_field_number protoreflect.FieldNumber = 27 + FileOptions_OptimizeFor_field_number protoreflect.FieldNumber = 9 + FileOptions_GoPackage_field_number protoreflect.FieldNumber = 11 + FileOptions_CcGenericServices_field_number protoreflect.FieldNumber = 16 + FileOptions_JavaGenericServices_field_number protoreflect.FieldNumber = 17 + FileOptions_PyGenericServices_field_number protoreflect.FieldNumber = 18 + FileOptions_PhpGenericServices_field_number protoreflect.FieldNumber = 42 + FileOptions_Deprecated_field_number protoreflect.FieldNumber = 23 + FileOptions_CcEnableArenas_field_number protoreflect.FieldNumber = 31 + FileOptions_ObjcClassPrefix_field_number protoreflect.FieldNumber = 36 + FileOptions_CsharpNamespace_field_number protoreflect.FieldNumber = 37 + FileOptions_SwiftPrefix_field_number protoreflect.FieldNumber = 39 + FileOptions_PhpClassPrefix_field_number protoreflect.FieldNumber = 40 + FileOptions_PhpNamespace_field_number protoreflect.FieldNumber = 41 + FileOptions_PhpMetadataNamespace_field_number protoreflect.FieldNumber = 44 + FileOptions_RubyPackage_field_number protoreflect.FieldNumber = 45 + FileOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.FileOptions.OptimizeMode. +const ( + FileOptions_OptimizeMode_enum_fullname = "google.protobuf.FileOptions.OptimizeMode" + FileOptions_OptimizeMode_enum_name = "OptimizeMode" +) + +// Names for google.protobuf.MessageOptions. +const ( + MessageOptions_message_name protoreflect.Name = "MessageOptions" + MessageOptions_message_fullname protoreflect.FullName = "google.protobuf.MessageOptions" +) + +// Field names for google.protobuf.MessageOptions. +const ( + MessageOptions_MessageSetWireFormat_field_name protoreflect.Name = "message_set_wire_format" + MessageOptions_NoStandardDescriptorAccessor_field_name protoreflect.Name = "no_standard_descriptor_accessor" + MessageOptions_Deprecated_field_name protoreflect.Name = "deprecated" + MessageOptions_MapEntry_field_name protoreflect.Name = "map_entry" + MessageOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + MessageOptions_MessageSetWireFormat_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format" + MessageOptions_NoStandardDescriptorAccessor_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor" + MessageOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated" + MessageOptions_MapEntry_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.map_entry" + MessageOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.MessageOptions. +const ( + MessageOptions_MessageSetWireFormat_field_number protoreflect.FieldNumber = 1 + MessageOptions_NoStandardDescriptorAccessor_field_number protoreflect.FieldNumber = 2 + MessageOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + MessageOptions_MapEntry_field_number protoreflect.FieldNumber = 7 + MessageOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.FieldOptions. +const ( + FieldOptions_message_name protoreflect.Name = "FieldOptions" + FieldOptions_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions" +) + +// Field names for google.protobuf.FieldOptions. +const ( + FieldOptions_Ctype_field_name protoreflect.Name = "ctype" + FieldOptions_Packed_field_name protoreflect.Name = "packed" + FieldOptions_Jstype_field_name protoreflect.Name = "jstype" + FieldOptions_Lazy_field_name protoreflect.Name = "lazy" + FieldOptions_Deprecated_field_name protoreflect.Name = "deprecated" + FieldOptions_Weak_field_name protoreflect.Name = "weak" + FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + FieldOptions_Ctype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.ctype" + FieldOptions_Packed_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.packed" + FieldOptions_Jstype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.jstype" + FieldOptions_Lazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.lazy" + FieldOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.deprecated" + FieldOptions_Weak_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.weak" + FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.FieldOptions. +const ( + FieldOptions_Ctype_field_number protoreflect.FieldNumber = 1 + FieldOptions_Packed_field_number protoreflect.FieldNumber = 2 + FieldOptions_Jstype_field_number protoreflect.FieldNumber = 6 + FieldOptions_Lazy_field_number protoreflect.FieldNumber = 5 + FieldOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + FieldOptions_Weak_field_number protoreflect.FieldNumber = 10 + FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.FieldOptions.CType. +const ( + FieldOptions_CType_enum_fullname = "google.protobuf.FieldOptions.CType" + FieldOptions_CType_enum_name = "CType" +) + +// Full and short names for google.protobuf.FieldOptions.JSType. +const ( + FieldOptions_JSType_enum_fullname = "google.protobuf.FieldOptions.JSType" + FieldOptions_JSType_enum_name = "JSType" +) + +// Names for google.protobuf.OneofOptions. +const ( + OneofOptions_message_name protoreflect.Name = "OneofOptions" + OneofOptions_message_fullname protoreflect.FullName = "google.protobuf.OneofOptions" +) + +// Field names for google.protobuf.OneofOptions. +const ( + OneofOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + OneofOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.OneofOptions. +const ( + OneofOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.EnumOptions. +const ( + EnumOptions_message_name protoreflect.Name = "EnumOptions" + EnumOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumOptions" +) + +// Field names for google.protobuf.EnumOptions. +const ( + EnumOptions_AllowAlias_field_name protoreflect.Name = "allow_alias" + EnumOptions_Deprecated_field_name protoreflect.Name = "deprecated" + EnumOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + EnumOptions_AllowAlias_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias" + EnumOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated" + EnumOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.EnumOptions. +const ( + EnumOptions_AllowAlias_field_number protoreflect.FieldNumber = 2 + EnumOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + EnumOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_message_name protoreflect.Name = "EnumValueOptions" + EnumValueOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions" +) + +// Field names for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_Deprecated_field_name protoreflect.Name = "deprecated" + EnumValueOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + EnumValueOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.deprecated" + EnumValueOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_Deprecated_field_number protoreflect.FieldNumber = 1 + EnumValueOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.ServiceOptions. +const ( + ServiceOptions_message_name protoreflect.Name = "ServiceOptions" + ServiceOptions_message_fullname protoreflect.FullName = "google.protobuf.ServiceOptions" +) + +// Field names for google.protobuf.ServiceOptions. +const ( + ServiceOptions_Deprecated_field_name protoreflect.Name = "deprecated" + ServiceOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + ServiceOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.deprecated" + ServiceOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.ServiceOptions. +const ( + ServiceOptions_Deprecated_field_number protoreflect.FieldNumber = 33 + ServiceOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.MethodOptions. +const ( + MethodOptions_message_name protoreflect.Name = "MethodOptions" + MethodOptions_message_fullname protoreflect.FullName = "google.protobuf.MethodOptions" +) + +// Field names for google.protobuf.MethodOptions. +const ( + MethodOptions_Deprecated_field_name protoreflect.Name = "deprecated" + MethodOptions_IdempotencyLevel_field_name protoreflect.Name = "idempotency_level" + MethodOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + MethodOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.deprecated" + MethodOptions_IdempotencyLevel_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.idempotency_level" + MethodOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.MethodOptions. +const ( + MethodOptions_Deprecated_field_number protoreflect.FieldNumber = 33 + MethodOptions_IdempotencyLevel_field_number protoreflect.FieldNumber = 34 + MethodOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.MethodOptions.IdempotencyLevel. +const ( + MethodOptions_IdempotencyLevel_enum_fullname = "google.protobuf.MethodOptions.IdempotencyLevel" + MethodOptions_IdempotencyLevel_enum_name = "IdempotencyLevel" +) + +// Names for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_message_name protoreflect.Name = "UninterpretedOption" + UninterpretedOption_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption" +) + +// Field names for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_Name_field_name protoreflect.Name = "name" + UninterpretedOption_IdentifierValue_field_name protoreflect.Name = "identifier_value" + UninterpretedOption_PositiveIntValue_field_name protoreflect.Name = "positive_int_value" + UninterpretedOption_NegativeIntValue_field_name protoreflect.Name = "negative_int_value" + UninterpretedOption_DoubleValue_field_name protoreflect.Name = "double_value" + UninterpretedOption_StringValue_field_name protoreflect.Name = "string_value" + UninterpretedOption_AggregateValue_field_name protoreflect.Name = "aggregate_value" + + UninterpretedOption_Name_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.name" + UninterpretedOption_IdentifierValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.identifier_value" + UninterpretedOption_PositiveIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.positive_int_value" + UninterpretedOption_NegativeIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.negative_int_value" + UninterpretedOption_DoubleValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.double_value" + UninterpretedOption_StringValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.string_value" + UninterpretedOption_AggregateValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.aggregate_value" +) + +// Field numbers for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_Name_field_number protoreflect.FieldNumber = 2 + UninterpretedOption_IdentifierValue_field_number protoreflect.FieldNumber = 3 + UninterpretedOption_PositiveIntValue_field_number protoreflect.FieldNumber = 4 + UninterpretedOption_NegativeIntValue_field_number protoreflect.FieldNumber = 5 + UninterpretedOption_DoubleValue_field_number protoreflect.FieldNumber = 6 + UninterpretedOption_StringValue_field_number protoreflect.FieldNumber = 7 + UninterpretedOption_AggregateValue_field_number protoreflect.FieldNumber = 8 +) + +// Names for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_message_name protoreflect.Name = "NamePart" + UninterpretedOption_NamePart_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart" +) + +// Field names for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_NamePart_field_name protoreflect.Name = "name_part" + UninterpretedOption_NamePart_IsExtension_field_name protoreflect.Name = "is_extension" + + UninterpretedOption_NamePart_NamePart_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.name_part" + UninterpretedOption_NamePart_IsExtension_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.is_extension" +) + +// Field numbers for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_NamePart_field_number protoreflect.FieldNumber = 1 + UninterpretedOption_NamePart_IsExtension_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_message_name protoreflect.Name = "SourceCodeInfo" + SourceCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo" +) + +// Field names for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_Location_field_name protoreflect.Name = "location" + + SourceCodeInfo_Location_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.location" +) + +// Field numbers for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_Location_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_message_name protoreflect.Name = "Location" + SourceCodeInfo_Location_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location" +) + +// Field names for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_Path_field_name protoreflect.Name = "path" + SourceCodeInfo_Location_Span_field_name protoreflect.Name = "span" + SourceCodeInfo_Location_LeadingComments_field_name protoreflect.Name = "leading_comments" + SourceCodeInfo_Location_TrailingComments_field_name protoreflect.Name = "trailing_comments" + SourceCodeInfo_Location_LeadingDetachedComments_field_name protoreflect.Name = "leading_detached_comments" + + SourceCodeInfo_Location_Path_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.path" + SourceCodeInfo_Location_Span_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.span" + SourceCodeInfo_Location_LeadingComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_comments" + SourceCodeInfo_Location_TrailingComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.trailing_comments" + SourceCodeInfo_Location_LeadingDetachedComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_detached_comments" +) + +// Field numbers for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_Path_field_number protoreflect.FieldNumber = 1 + SourceCodeInfo_Location_Span_field_number protoreflect.FieldNumber = 2 + SourceCodeInfo_Location_LeadingComments_field_number protoreflect.FieldNumber = 3 + SourceCodeInfo_Location_TrailingComments_field_number protoreflect.FieldNumber = 4 + SourceCodeInfo_Location_LeadingDetachedComments_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_message_name protoreflect.Name = "GeneratedCodeInfo" + GeneratedCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo" +) + +// Field names for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_Annotation_field_name protoreflect.Name = "annotation" + + GeneratedCodeInfo_Annotation_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.annotation" +) + +// Field numbers for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_Annotation_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_message_name protoreflect.Name = "Annotation" + GeneratedCodeInfo_Annotation_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation" +) + +// Field names for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_Path_field_name protoreflect.Name = "path" + GeneratedCodeInfo_Annotation_SourceFile_field_name protoreflect.Name = "source_file" + GeneratedCodeInfo_Annotation_Begin_field_name protoreflect.Name = "begin" + GeneratedCodeInfo_Annotation_End_field_name protoreflect.Name = "end" + + GeneratedCodeInfo_Annotation_Path_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.path" + GeneratedCodeInfo_Annotation_SourceFile_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.source_file" + GeneratedCodeInfo_Annotation_Begin_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.begin" + GeneratedCodeInfo_Annotation_End_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.end" +) + +// Field numbers for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_Path_field_number protoreflect.FieldNumber = 1 + GeneratedCodeInfo_Annotation_SourceFile_field_number protoreflect.FieldNumber = 2 + GeneratedCodeInfo_Annotation_Begin_field_number protoreflect.FieldNumber = 3 + GeneratedCodeInfo_Annotation_End_field_number protoreflect.FieldNumber = 4 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/doc.go b/vendor/google.golang.org/protobuf/internal/genid/doc.go new file mode 100644 index 000000000..45ccd0121 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/doc.go @@ -0,0 +1,11 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package genid contains constants for declarations in descriptor.proto +// and the well-known types. +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +const GoogleProtobuf_package protoreflect.FullName = "google.protobuf" diff --git a/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go b/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go new file mode 100644 index 000000000..b070ef4fd --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_duration_proto = "google/protobuf/duration.proto" + +// Names for google.protobuf.Duration. +const ( + Duration_message_name protoreflect.Name = "Duration" + Duration_message_fullname protoreflect.FullName = "google.protobuf.Duration" +) + +// Field names for google.protobuf.Duration. +const ( + Duration_Seconds_field_name protoreflect.Name = "seconds" + Duration_Nanos_field_name protoreflect.Name = "nanos" + + Duration_Seconds_field_fullname protoreflect.FullName = "google.protobuf.Duration.seconds" + Duration_Nanos_field_fullname protoreflect.FullName = "google.protobuf.Duration.nanos" +) + +// Field numbers for google.protobuf.Duration. +const ( + Duration_Seconds_field_number protoreflect.FieldNumber = 1 + Duration_Nanos_field_number protoreflect.FieldNumber = 2 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go b/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go new file mode 100644 index 000000000..762abb34a --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go @@ -0,0 +1,19 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_empty_proto = "google/protobuf/empty.proto" + +// Names for google.protobuf.Empty. +const ( + Empty_message_name protoreflect.Name = "Empty" + Empty_message_fullname protoreflect.FullName = "google.protobuf.Empty" +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go b/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go new file mode 100644 index 000000000..70bed453f --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go @@ -0,0 +1,31 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_field_mask_proto = "google/protobuf/field_mask.proto" + +// Names for google.protobuf.FieldMask. +const ( + FieldMask_message_name protoreflect.Name = "FieldMask" + FieldMask_message_fullname protoreflect.FullName = "google.protobuf.FieldMask" +) + +// Field names for google.protobuf.FieldMask. +const ( + FieldMask_Paths_field_name protoreflect.Name = "paths" + + FieldMask_Paths_field_fullname protoreflect.FullName = "google.protobuf.FieldMask.paths" +) + +// Field numbers for google.protobuf.FieldMask. +const ( + FieldMask_Paths_field_number protoreflect.FieldNumber = 1 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/goname.go b/vendor/google.golang.org/protobuf/internal/genid/goname.go new file mode 100644 index 000000000..693d2e9e1 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/goname.go @@ -0,0 +1,25 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +// Go names of implementation-specific struct fields in generated messages. +const ( + State_goname = "state" + + SizeCache_goname = "sizeCache" + SizeCacheA_goname = "XXX_sizecache" + + WeakFields_goname = "weakFields" + WeakFieldsA_goname = "XXX_weak" + + UnknownFields_goname = "unknownFields" + UnknownFieldsA_goname = "XXX_unrecognized" + + ExtensionFields_goname = "extensionFields" + ExtensionFieldsA_goname = "XXX_InternalExtensions" + ExtensionFieldsB_goname = "XXX_extensions" + + WeakFieldPrefix_goname = "XXX_weak_" +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/map_entry.go b/vendor/google.golang.org/protobuf/internal/genid/map_entry.go new file mode 100644 index 000000000..8f9ea02ff --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/map_entry.go @@ -0,0 +1,16 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +// Generic field names and numbers for synthetic map entry messages. +const ( + MapEntry_Key_field_name protoreflect.Name = "key" + MapEntry_Value_field_name protoreflect.Name = "value" + + MapEntry_Key_field_number protoreflect.FieldNumber = 1 + MapEntry_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go b/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go new file mode 100644 index 000000000..3e99ae16c --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go @@ -0,0 +1,31 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_source_context_proto = "google/protobuf/source_context.proto" + +// Names for google.protobuf.SourceContext. +const ( + SourceContext_message_name protoreflect.Name = "SourceContext" + SourceContext_message_fullname protoreflect.FullName = "google.protobuf.SourceContext" +) + +// Field names for google.protobuf.SourceContext. +const ( + SourceContext_FileName_field_name protoreflect.Name = "file_name" + + SourceContext_FileName_field_fullname protoreflect.FullName = "google.protobuf.SourceContext.file_name" +) + +// Field numbers for google.protobuf.SourceContext. +const ( + SourceContext_FileName_field_number protoreflect.FieldNumber = 1 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go b/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go new file mode 100644 index 000000000..1a38944b2 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go @@ -0,0 +1,116 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_struct_proto = "google/protobuf/struct.proto" + +// Full and short names for google.protobuf.NullValue. +const ( + NullValue_enum_fullname = "google.protobuf.NullValue" + NullValue_enum_name = "NullValue" +) + +// Names for google.protobuf.Struct. +const ( + Struct_message_name protoreflect.Name = "Struct" + Struct_message_fullname protoreflect.FullName = "google.protobuf.Struct" +) + +// Field names for google.protobuf.Struct. +const ( + Struct_Fields_field_name protoreflect.Name = "fields" + + Struct_Fields_field_fullname protoreflect.FullName = "google.protobuf.Struct.fields" +) + +// Field numbers for google.protobuf.Struct. +const ( + Struct_Fields_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_message_name protoreflect.Name = "FieldsEntry" + Struct_FieldsEntry_message_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry" +) + +// Field names for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_Key_field_name protoreflect.Name = "key" + Struct_FieldsEntry_Value_field_name protoreflect.Name = "value" + + Struct_FieldsEntry_Key_field_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry.key" + Struct_FieldsEntry_Value_field_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry.value" +) + +// Field numbers for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_Key_field_number protoreflect.FieldNumber = 1 + Struct_FieldsEntry_Value_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.Value. +const ( + Value_message_name protoreflect.Name = "Value" + Value_message_fullname protoreflect.FullName = "google.protobuf.Value" +) + +// Field names for google.protobuf.Value. +const ( + Value_NullValue_field_name protoreflect.Name = "null_value" + Value_NumberValue_field_name protoreflect.Name = "number_value" + Value_StringValue_field_name protoreflect.Name = "string_value" + Value_BoolValue_field_name protoreflect.Name = "bool_value" + Value_StructValue_field_name protoreflect.Name = "struct_value" + Value_ListValue_field_name protoreflect.Name = "list_value" + + Value_NullValue_field_fullname protoreflect.FullName = "google.protobuf.Value.null_value" + Value_NumberValue_field_fullname protoreflect.FullName = "google.protobuf.Value.number_value" + Value_StringValue_field_fullname protoreflect.FullName = "google.protobuf.Value.string_value" + Value_BoolValue_field_fullname protoreflect.FullName = "google.protobuf.Value.bool_value" + Value_StructValue_field_fullname protoreflect.FullName = "google.protobuf.Value.struct_value" + Value_ListValue_field_fullname protoreflect.FullName = "google.protobuf.Value.list_value" +) + +// Field numbers for google.protobuf.Value. +const ( + Value_NullValue_field_number protoreflect.FieldNumber = 1 + Value_NumberValue_field_number protoreflect.FieldNumber = 2 + Value_StringValue_field_number protoreflect.FieldNumber = 3 + Value_BoolValue_field_number protoreflect.FieldNumber = 4 + Value_StructValue_field_number protoreflect.FieldNumber = 5 + Value_ListValue_field_number protoreflect.FieldNumber = 6 +) + +// Oneof names for google.protobuf.Value. +const ( + Value_Kind_oneof_name protoreflect.Name = "kind" + + Value_Kind_oneof_fullname protoreflect.FullName = "google.protobuf.Value.kind" +) + +// Names for google.protobuf.ListValue. +const ( + ListValue_message_name protoreflect.Name = "ListValue" + ListValue_message_fullname protoreflect.FullName = "google.protobuf.ListValue" +) + +// Field names for google.protobuf.ListValue. +const ( + ListValue_Values_field_name protoreflect.Name = "values" + + ListValue_Values_field_fullname protoreflect.FullName = "google.protobuf.ListValue.values" +) + +// Field numbers for google.protobuf.ListValue. +const ( + ListValue_Values_field_number protoreflect.FieldNumber = 1 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go b/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go new file mode 100644 index 000000000..f5cd5634c --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_timestamp_proto = "google/protobuf/timestamp.proto" + +// Names for google.protobuf.Timestamp. +const ( + Timestamp_message_name protoreflect.Name = "Timestamp" + Timestamp_message_fullname protoreflect.FullName = "google.protobuf.Timestamp" +) + +// Field names for google.protobuf.Timestamp. +const ( + Timestamp_Seconds_field_name protoreflect.Name = "seconds" + Timestamp_Nanos_field_name protoreflect.Name = "nanos" + + Timestamp_Seconds_field_fullname protoreflect.FullName = "google.protobuf.Timestamp.seconds" + Timestamp_Nanos_field_fullname protoreflect.FullName = "google.protobuf.Timestamp.nanos" +) + +// Field numbers for google.protobuf.Timestamp. +const ( + Timestamp_Seconds_field_number protoreflect.FieldNumber = 1 + Timestamp_Nanos_field_number protoreflect.FieldNumber = 2 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/type_gen.go b/vendor/google.golang.org/protobuf/internal/genid/type_gen.go new file mode 100644 index 000000000..3bc710138 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/type_gen.go @@ -0,0 +1,184 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_type_proto = "google/protobuf/type.proto" + +// Full and short names for google.protobuf.Syntax. +const ( + Syntax_enum_fullname = "google.protobuf.Syntax" + Syntax_enum_name = "Syntax" +) + +// Names for google.protobuf.Type. +const ( + Type_message_name protoreflect.Name = "Type" + Type_message_fullname protoreflect.FullName = "google.protobuf.Type" +) + +// Field names for google.protobuf.Type. +const ( + Type_Name_field_name protoreflect.Name = "name" + Type_Fields_field_name protoreflect.Name = "fields" + Type_Oneofs_field_name protoreflect.Name = "oneofs" + Type_Options_field_name protoreflect.Name = "options" + Type_SourceContext_field_name protoreflect.Name = "source_context" + Type_Syntax_field_name protoreflect.Name = "syntax" + + Type_Name_field_fullname protoreflect.FullName = "google.protobuf.Type.name" + Type_Fields_field_fullname protoreflect.FullName = "google.protobuf.Type.fields" + Type_Oneofs_field_fullname protoreflect.FullName = "google.protobuf.Type.oneofs" + Type_Options_field_fullname protoreflect.FullName = "google.protobuf.Type.options" + Type_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Type.source_context" + Type_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Type.syntax" +) + +// Field numbers for google.protobuf.Type. +const ( + Type_Name_field_number protoreflect.FieldNumber = 1 + Type_Fields_field_number protoreflect.FieldNumber = 2 + Type_Oneofs_field_number protoreflect.FieldNumber = 3 + Type_Options_field_number protoreflect.FieldNumber = 4 + Type_SourceContext_field_number protoreflect.FieldNumber = 5 + Type_Syntax_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.Field. +const ( + Field_message_name protoreflect.Name = "Field" + Field_message_fullname protoreflect.FullName = "google.protobuf.Field" +) + +// Field names for google.protobuf.Field. +const ( + Field_Kind_field_name protoreflect.Name = "kind" + Field_Cardinality_field_name protoreflect.Name = "cardinality" + Field_Number_field_name protoreflect.Name = "number" + Field_Name_field_name protoreflect.Name = "name" + Field_TypeUrl_field_name protoreflect.Name = "type_url" + Field_OneofIndex_field_name protoreflect.Name = "oneof_index" + Field_Packed_field_name protoreflect.Name = "packed" + Field_Options_field_name protoreflect.Name = "options" + Field_JsonName_field_name protoreflect.Name = "json_name" + Field_DefaultValue_field_name protoreflect.Name = "default_value" + + Field_Kind_field_fullname protoreflect.FullName = "google.protobuf.Field.kind" + Field_Cardinality_field_fullname protoreflect.FullName = "google.protobuf.Field.cardinality" + Field_Number_field_fullname protoreflect.FullName = "google.protobuf.Field.number" + Field_Name_field_fullname protoreflect.FullName = "google.protobuf.Field.name" + Field_TypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Field.type_url" + Field_OneofIndex_field_fullname protoreflect.FullName = "google.protobuf.Field.oneof_index" + Field_Packed_field_fullname protoreflect.FullName = "google.protobuf.Field.packed" + Field_Options_field_fullname protoreflect.FullName = "google.protobuf.Field.options" + Field_JsonName_field_fullname protoreflect.FullName = "google.protobuf.Field.json_name" + Field_DefaultValue_field_fullname protoreflect.FullName = "google.protobuf.Field.default_value" +) + +// Field numbers for google.protobuf.Field. +const ( + Field_Kind_field_number protoreflect.FieldNumber = 1 + Field_Cardinality_field_number protoreflect.FieldNumber = 2 + Field_Number_field_number protoreflect.FieldNumber = 3 + Field_Name_field_number protoreflect.FieldNumber = 4 + Field_TypeUrl_field_number protoreflect.FieldNumber = 6 + Field_OneofIndex_field_number protoreflect.FieldNumber = 7 + Field_Packed_field_number protoreflect.FieldNumber = 8 + Field_Options_field_number protoreflect.FieldNumber = 9 + Field_JsonName_field_number protoreflect.FieldNumber = 10 + Field_DefaultValue_field_number protoreflect.FieldNumber = 11 +) + +// Full and short names for google.protobuf.Field.Kind. +const ( + Field_Kind_enum_fullname = "google.protobuf.Field.Kind" + Field_Kind_enum_name = "Kind" +) + +// Full and short names for google.protobuf.Field.Cardinality. +const ( + Field_Cardinality_enum_fullname = "google.protobuf.Field.Cardinality" + Field_Cardinality_enum_name = "Cardinality" +) + +// Names for google.protobuf.Enum. +const ( + Enum_message_name protoreflect.Name = "Enum" + Enum_message_fullname protoreflect.FullName = "google.protobuf.Enum" +) + +// Field names for google.protobuf.Enum. +const ( + Enum_Name_field_name protoreflect.Name = "name" + Enum_Enumvalue_field_name protoreflect.Name = "enumvalue" + Enum_Options_field_name protoreflect.Name = "options" + Enum_SourceContext_field_name protoreflect.Name = "source_context" + Enum_Syntax_field_name protoreflect.Name = "syntax" + + Enum_Name_field_fullname protoreflect.FullName = "google.protobuf.Enum.name" + Enum_Enumvalue_field_fullname protoreflect.FullName = "google.protobuf.Enum.enumvalue" + Enum_Options_field_fullname protoreflect.FullName = "google.protobuf.Enum.options" + Enum_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Enum.source_context" + Enum_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Enum.syntax" +) + +// Field numbers for google.protobuf.Enum. +const ( + Enum_Name_field_number protoreflect.FieldNumber = 1 + Enum_Enumvalue_field_number protoreflect.FieldNumber = 2 + Enum_Options_field_number protoreflect.FieldNumber = 3 + Enum_SourceContext_field_number protoreflect.FieldNumber = 4 + Enum_Syntax_field_number protoreflect.FieldNumber = 5 +) + +// Names for google.protobuf.EnumValue. +const ( + EnumValue_message_name protoreflect.Name = "EnumValue" + EnumValue_message_fullname protoreflect.FullName = "google.protobuf.EnumValue" +) + +// Field names for google.protobuf.EnumValue. +const ( + EnumValue_Name_field_name protoreflect.Name = "name" + EnumValue_Number_field_name protoreflect.Name = "number" + EnumValue_Options_field_name protoreflect.Name = "options" + + EnumValue_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.name" + EnumValue_Number_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.number" + EnumValue_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.options" +) + +// Field numbers for google.protobuf.EnumValue. +const ( + EnumValue_Name_field_number protoreflect.FieldNumber = 1 + EnumValue_Number_field_number protoreflect.FieldNumber = 2 + EnumValue_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.Option. +const ( + Option_message_name protoreflect.Name = "Option" + Option_message_fullname protoreflect.FullName = "google.protobuf.Option" +) + +// Field names for google.protobuf.Option. +const ( + Option_Name_field_name protoreflect.Name = "name" + Option_Value_field_name protoreflect.Name = "value" + + Option_Name_field_fullname protoreflect.FullName = "google.protobuf.Option.name" + Option_Value_field_fullname protoreflect.FullName = "google.protobuf.Option.value" +) + +// Field numbers for google.protobuf.Option. +const ( + Option_Name_field_number protoreflect.FieldNumber = 1 + Option_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/wrappers.go b/vendor/google.golang.org/protobuf/internal/genid/wrappers.go new file mode 100644 index 000000000..429384b85 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/wrappers.go @@ -0,0 +1,13 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +// Generic field name and number for messages in wrappers.proto. +const ( + WrapperValue_Value_field_name protoreflect.Name = "value" + WrapperValue_Value_field_number protoreflect.FieldNumber = 1 +) diff --git a/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go b/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go new file mode 100644 index 000000000..72527d2ab --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go @@ -0,0 +1,175 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_wrappers_proto = "google/protobuf/wrappers.proto" + +// Names for google.protobuf.DoubleValue. +const ( + DoubleValue_message_name protoreflect.Name = "DoubleValue" + DoubleValue_message_fullname protoreflect.FullName = "google.protobuf.DoubleValue" +) + +// Field names for google.protobuf.DoubleValue. +const ( + DoubleValue_Value_field_name protoreflect.Name = "value" + + DoubleValue_Value_field_fullname protoreflect.FullName = "google.protobuf.DoubleValue.value" +) + +// Field numbers for google.protobuf.DoubleValue. +const ( + DoubleValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.FloatValue. +const ( + FloatValue_message_name protoreflect.Name = "FloatValue" + FloatValue_message_fullname protoreflect.FullName = "google.protobuf.FloatValue" +) + +// Field names for google.protobuf.FloatValue. +const ( + FloatValue_Value_field_name protoreflect.Name = "value" + + FloatValue_Value_field_fullname protoreflect.FullName = "google.protobuf.FloatValue.value" +) + +// Field numbers for google.protobuf.FloatValue. +const ( + FloatValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Int64Value. +const ( + Int64Value_message_name protoreflect.Name = "Int64Value" + Int64Value_message_fullname protoreflect.FullName = "google.protobuf.Int64Value" +) + +// Field names for google.protobuf.Int64Value. +const ( + Int64Value_Value_field_name protoreflect.Name = "value" + + Int64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int64Value.value" +) + +// Field numbers for google.protobuf.Int64Value. +const ( + Int64Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.UInt64Value. +const ( + UInt64Value_message_name protoreflect.Name = "UInt64Value" + UInt64Value_message_fullname protoreflect.FullName = "google.protobuf.UInt64Value" +) + +// Field names for google.protobuf.UInt64Value. +const ( + UInt64Value_Value_field_name protoreflect.Name = "value" + + UInt64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt64Value.value" +) + +// Field numbers for google.protobuf.UInt64Value. +const ( + UInt64Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Int32Value. +const ( + Int32Value_message_name protoreflect.Name = "Int32Value" + Int32Value_message_fullname protoreflect.FullName = "google.protobuf.Int32Value" +) + +// Field names for google.protobuf.Int32Value. +const ( + Int32Value_Value_field_name protoreflect.Name = "value" + + Int32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int32Value.value" +) + +// Field numbers for google.protobuf.Int32Value. +const ( + Int32Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.UInt32Value. +const ( + UInt32Value_message_name protoreflect.Name = "UInt32Value" + UInt32Value_message_fullname protoreflect.FullName = "google.protobuf.UInt32Value" +) + +// Field names for google.protobuf.UInt32Value. +const ( + UInt32Value_Value_field_name protoreflect.Name = "value" + + UInt32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt32Value.value" +) + +// Field numbers for google.protobuf.UInt32Value. +const ( + UInt32Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.BoolValue. +const ( + BoolValue_message_name protoreflect.Name = "BoolValue" + BoolValue_message_fullname protoreflect.FullName = "google.protobuf.BoolValue" +) + +// Field names for google.protobuf.BoolValue. +const ( + BoolValue_Value_field_name protoreflect.Name = "value" + + BoolValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BoolValue.value" +) + +// Field numbers for google.protobuf.BoolValue. +const ( + BoolValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.StringValue. +const ( + StringValue_message_name protoreflect.Name = "StringValue" + StringValue_message_fullname protoreflect.FullName = "google.protobuf.StringValue" +) + +// Field names for google.protobuf.StringValue. +const ( + StringValue_Value_field_name protoreflect.Name = "value" + + StringValue_Value_field_fullname protoreflect.FullName = "google.protobuf.StringValue.value" +) + +// Field numbers for google.protobuf.StringValue. +const ( + StringValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.BytesValue. +const ( + BytesValue_message_name protoreflect.Name = "BytesValue" + BytesValue_message_fullname protoreflect.FullName = "google.protobuf.BytesValue" +) + +// Field names for google.protobuf.BytesValue. +const ( + BytesValue_Value_field_name protoreflect.Name = "value" + + BytesValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BytesValue.value" +) + +// Field numbers for google.protobuf.BytesValue. +const ( + BytesValue_Value_field_number protoreflect.FieldNumber = 1 +) diff --git a/vendor/google.golang.org/protobuf/internal/impl/api_export.go b/vendor/google.golang.org/protobuf/internal/impl/api_export.go new file mode 100644 index 000000000..abee5f30e --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/api_export.go @@ -0,0 +1,177 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "strconv" + + "google.golang.org/protobuf/encoding/prototext" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/proto" + pref "google.golang.org/protobuf/reflect/protoreflect" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +// Export is a zero-length named type that exists only to export a set of +// functions that we do not want to appear in godoc. +type Export struct{} + +// NewError formats a string according to the format specifier and arguments and +// returns an error that has a "proto" prefix. +func (Export) NewError(f string, x ...interface{}) error { + return errors.New(f, x...) +} + +// enum is any enum type generated by protoc-gen-go +// and must be a named int32 type. +type enum = interface{} + +// EnumOf returns the protoreflect.Enum interface over e. +// It returns nil if e is nil. +func (Export) EnumOf(e enum) pref.Enum { + switch e := e.(type) { + case nil: + return nil + case pref.Enum: + return e + default: + return legacyWrapEnum(reflect.ValueOf(e)) + } +} + +// EnumDescriptorOf returns the protoreflect.EnumDescriptor for e. +// It returns nil if e is nil. +func (Export) EnumDescriptorOf(e enum) pref.EnumDescriptor { + switch e := e.(type) { + case nil: + return nil + case pref.Enum: + return e.Descriptor() + default: + return LegacyLoadEnumDesc(reflect.TypeOf(e)) + } +} + +// EnumTypeOf returns the protoreflect.EnumType for e. +// It returns nil if e is nil. +func (Export) EnumTypeOf(e enum) pref.EnumType { + switch e := e.(type) { + case nil: + return nil + case pref.Enum: + return e.Type() + default: + return legacyLoadEnumType(reflect.TypeOf(e)) + } +} + +// EnumStringOf returns the enum value as a string, either as the name if +// the number is resolvable, or the number formatted as a string. +func (Export) EnumStringOf(ed pref.EnumDescriptor, n pref.EnumNumber) string { + ev := ed.Values().ByNumber(n) + if ev != nil { + return string(ev.Name()) + } + return strconv.Itoa(int(n)) +} + +// message is any message type generated by protoc-gen-go +// and must be a pointer to a named struct type. +type message = interface{} + +// legacyMessageWrapper wraps a v2 message as a v1 message. +type legacyMessageWrapper struct{ m pref.ProtoMessage } + +func (m legacyMessageWrapper) Reset() { proto.Reset(m.m) } +func (m legacyMessageWrapper) String() string { return Export{}.MessageStringOf(m.m) } +func (m legacyMessageWrapper) ProtoMessage() {} + +// ProtoMessageV1Of converts either a v1 or v2 message to a v1 message. +// It returns nil if m is nil. +func (Export) ProtoMessageV1Of(m message) piface.MessageV1 { + switch mv := m.(type) { + case nil: + return nil + case piface.MessageV1: + return mv + case unwrapper: + return Export{}.ProtoMessageV1Of(mv.protoUnwrap()) + case pref.ProtoMessage: + return legacyMessageWrapper{mv} + default: + panic(fmt.Sprintf("message %T is neither a v1 or v2 Message", m)) + } +} + +func (Export) protoMessageV2Of(m message) pref.ProtoMessage { + switch mv := m.(type) { + case nil: + return nil + case pref.ProtoMessage: + return mv + case legacyMessageWrapper: + return mv.m + case piface.MessageV1: + return nil + default: + panic(fmt.Sprintf("message %T is neither a v1 or v2 Message", m)) + } +} + +// ProtoMessageV2Of converts either a v1 or v2 message to a v2 message. +// It returns nil if m is nil. +func (Export) ProtoMessageV2Of(m message) pref.ProtoMessage { + if m == nil { + return nil + } + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv + } + return legacyWrapMessage(reflect.ValueOf(m)).Interface() +} + +// MessageOf returns the protoreflect.Message interface over m. +// It returns nil if m is nil. +func (Export) MessageOf(m message) pref.Message { + if m == nil { + return nil + } + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv.ProtoReflect() + } + return legacyWrapMessage(reflect.ValueOf(m)) +} + +// MessageDescriptorOf returns the protoreflect.MessageDescriptor for m. +// It returns nil if m is nil. +func (Export) MessageDescriptorOf(m message) pref.MessageDescriptor { + if m == nil { + return nil + } + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv.ProtoReflect().Descriptor() + } + return LegacyLoadMessageDesc(reflect.TypeOf(m)) +} + +// MessageTypeOf returns the protoreflect.MessageType for m. +// It returns nil if m is nil. +func (Export) MessageTypeOf(m message) pref.MessageType { + if m == nil { + return nil + } + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv.ProtoReflect().Type() + } + return legacyLoadMessageType(reflect.TypeOf(m), "") +} + +// MessageStringOf returns the message value as a string, +// which is the message serialized in the protobuf text format. +func (Export) MessageStringOf(m pref.ProtoMessage) string { + return prototext.MarshalOptions{Multiline: false}.Format(m) +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/checkinit.go b/vendor/google.golang.org/protobuf/internal/impl/checkinit.go new file mode 100644 index 000000000..b82341e57 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/checkinit.go @@ -0,0 +1,141 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "sync" + + "google.golang.org/protobuf/internal/errors" + pref "google.golang.org/protobuf/reflect/protoreflect" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +func (mi *MessageInfo) checkInitialized(in piface.CheckInitializedInput) (piface.CheckInitializedOutput, error) { + var p pointer + if ms, ok := in.Message.(*messageState); ok { + p = ms.pointer() + } else { + p = in.Message.(*messageReflectWrapper).pointer() + } + return piface.CheckInitializedOutput{}, mi.checkInitializedPointer(p) +} + +func (mi *MessageInfo) checkInitializedPointer(p pointer) error { + mi.init() + if !mi.needsInitCheck { + return nil + } + if p.IsNil() { + for _, f := range mi.orderedCoderFields { + if f.isRequired { + return errors.RequiredNotSet(string(mi.Desc.Fields().ByNumber(f.num).FullName())) + } + } + return nil + } + if mi.extensionOffset.IsValid() { + e := p.Apply(mi.extensionOffset).Extensions() + if err := mi.isInitExtensions(e); err != nil { + return err + } + } + for _, f := range mi.orderedCoderFields { + if !f.isRequired && f.funcs.isInit == nil { + continue + } + fptr := p.Apply(f.offset) + if f.isPointer && fptr.Elem().IsNil() { + if f.isRequired { + return errors.RequiredNotSet(string(mi.Desc.Fields().ByNumber(f.num).FullName())) + } + continue + } + if f.funcs.isInit == nil { + continue + } + if err := f.funcs.isInit(fptr, f); err != nil { + return err + } + } + return nil +} + +func (mi *MessageInfo) isInitExtensions(ext *map[int32]ExtensionField) error { + if ext == nil { + return nil + } + for _, x := range *ext { + ei := getExtensionFieldInfo(x.Type()) + if ei.funcs.isInit == nil { + continue + } + v := x.Value() + if !v.IsValid() { + continue + } + if err := ei.funcs.isInit(v); err != nil { + return err + } + } + return nil +} + +var ( + needsInitCheckMu sync.Mutex + needsInitCheckMap sync.Map +) + +// needsInitCheck reports whether a message needs to be checked for partial initialization. +// +// It returns true if the message transitively includes any required or extension fields. +func needsInitCheck(md pref.MessageDescriptor) bool { + if v, ok := needsInitCheckMap.Load(md); ok { + if has, ok := v.(bool); ok { + return has + } + } + needsInitCheckMu.Lock() + defer needsInitCheckMu.Unlock() + return needsInitCheckLocked(md) +} + +func needsInitCheckLocked(md pref.MessageDescriptor) (has bool) { + if v, ok := needsInitCheckMap.Load(md); ok { + // If has is true, we've previously determined that this message + // needs init checks. + // + // If has is false, we've previously determined that it can never + // be uninitialized. + // + // If has is not a bool, we've just encountered a cycle in the + // message graph. In this case, it is safe to return false: If + // the message does have required fields, we'll detect them later + // in the graph traversal. + has, ok := v.(bool) + return ok && has + } + needsInitCheckMap.Store(md, struct{}{}) // avoid cycles while descending into this message + defer func() { + needsInitCheckMap.Store(md, has) + }() + if md.RequiredNumbers().Len() > 0 { + return true + } + if md.ExtensionRanges().Len() > 0 { + return true + } + for i := 0; i < md.Fields().Len(); i++ { + fd := md.Fields().Get(i) + // Map keys are never messages, so just consider the map value. + if fd.IsMap() { + fd = fd.MapValue() + } + fmd := fd.Message() + if fmd != nil && needsInitCheckLocked(fmd) { + return true + } + } + return false +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go b/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go new file mode 100644 index 000000000..08d35170b --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go @@ -0,0 +1,223 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "sync" + "sync/atomic" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type extensionFieldInfo struct { + wiretag uint64 + tagsize int + unmarshalNeedsValue bool + funcs valueCoderFuncs + validation validationInfo +} + +var legacyExtensionFieldInfoCache sync.Map // map[protoreflect.ExtensionType]*extensionFieldInfo + +func getExtensionFieldInfo(xt pref.ExtensionType) *extensionFieldInfo { + if xi, ok := xt.(*ExtensionInfo); ok { + xi.lazyInit() + return xi.info + } + return legacyLoadExtensionFieldInfo(xt) +} + +// legacyLoadExtensionFieldInfo dynamically loads a *ExtensionInfo for xt. +func legacyLoadExtensionFieldInfo(xt pref.ExtensionType) *extensionFieldInfo { + if xi, ok := legacyExtensionFieldInfoCache.Load(xt); ok { + return xi.(*extensionFieldInfo) + } + e := makeExtensionFieldInfo(xt.TypeDescriptor()) + if e, ok := legacyMessageTypeCache.LoadOrStore(xt, e); ok { + return e.(*extensionFieldInfo) + } + return e +} + +func makeExtensionFieldInfo(xd pref.ExtensionDescriptor) *extensionFieldInfo { + var wiretag uint64 + if !xd.IsPacked() { + wiretag = protowire.EncodeTag(xd.Number(), wireTypes[xd.Kind()]) + } else { + wiretag = protowire.EncodeTag(xd.Number(), protowire.BytesType) + } + e := &extensionFieldInfo{ + wiretag: wiretag, + tagsize: protowire.SizeVarint(wiretag), + funcs: encoderFuncsForValue(xd), + } + // Does the unmarshal function need a value passed to it? + // This is true for composite types, where we pass in a message, list, or map to fill in, + // and for enums, where we pass in a prototype value to specify the concrete enum type. + switch xd.Kind() { + case pref.MessageKind, pref.GroupKind, pref.EnumKind: + e.unmarshalNeedsValue = true + default: + if xd.Cardinality() == pref.Repeated { + e.unmarshalNeedsValue = true + } + } + return e +} + +type lazyExtensionValue struct { + atomicOnce uint32 // atomically set if value is valid + mu sync.Mutex + xi *extensionFieldInfo + value pref.Value + b []byte + fn func() pref.Value +} + +type ExtensionField struct { + typ pref.ExtensionType + + // value is either the value of GetValue, + // or a *lazyExtensionValue that then returns the value of GetValue. + value pref.Value + lazy *lazyExtensionValue +} + +func (f *ExtensionField) appendLazyBytes(xt pref.ExtensionType, xi *extensionFieldInfo, num protowire.Number, wtyp protowire.Type, b []byte) { + if f.lazy == nil { + f.lazy = &lazyExtensionValue{xi: xi} + } + f.typ = xt + f.lazy.xi = xi + f.lazy.b = protowire.AppendTag(f.lazy.b, num, wtyp) + f.lazy.b = append(f.lazy.b, b...) +} + +func (f *ExtensionField) canLazy(xt pref.ExtensionType) bool { + if f.typ == nil { + return true + } + if f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0 { + return true + } + return false +} + +func (f *ExtensionField) lazyInit() { + f.lazy.mu.Lock() + defer f.lazy.mu.Unlock() + if atomic.LoadUint32(&f.lazy.atomicOnce) == 1 { + return + } + if f.lazy.xi != nil { + b := f.lazy.b + val := f.typ.New() + for len(b) > 0 { + var tag uint64 + if b[0] < 0x80 { + tag = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + tag = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + tag, n = protowire.ConsumeVarint(b) + if n < 0 { + panic(errors.New("bad tag in lazy extension decoding")) + } + b = b[n:] + } + num := protowire.Number(tag >> 3) + wtyp := protowire.Type(tag & 7) + var out unmarshalOutput + var err error + val, out, err = f.lazy.xi.funcs.unmarshal(b, val, num, wtyp, lazyUnmarshalOptions) + if err != nil { + panic(errors.New("decode failure in lazy extension decoding: %v", err)) + } + b = b[out.n:] + } + f.lazy.value = val + } else { + f.lazy.value = f.lazy.fn() + } + f.lazy.xi = nil + f.lazy.fn = nil + f.lazy.b = nil + atomic.StoreUint32(&f.lazy.atomicOnce, 1) +} + +// Set sets the type and value of the extension field. +// This must not be called concurrently. +func (f *ExtensionField) Set(t pref.ExtensionType, v pref.Value) { + f.typ = t + f.value = v + f.lazy = nil +} + +// SetLazy sets the type and a value that is to be lazily evaluated upon first use. +// This must not be called concurrently. +func (f *ExtensionField) SetLazy(t pref.ExtensionType, fn func() pref.Value) { + f.typ = t + f.lazy = &lazyExtensionValue{fn: fn} +} + +// Value returns the value of the extension field. +// This may be called concurrently. +func (f *ExtensionField) Value() pref.Value { + if f.lazy != nil { + if atomic.LoadUint32(&f.lazy.atomicOnce) == 0 { + f.lazyInit() + } + return f.lazy.value + } + return f.value +} + +// Type returns the type of the extension field. +// This may be called concurrently. +func (f ExtensionField) Type() pref.ExtensionType { + return f.typ +} + +// IsSet returns whether the extension field is set. +// This may be called concurrently. +func (f ExtensionField) IsSet() bool { + return f.typ != nil +} + +// IsLazy reports whether a field is lazily encoded. +// It is exported for testing. +func IsLazy(m pref.Message, fd pref.FieldDescriptor) bool { + var mi *MessageInfo + var p pointer + switch m := m.(type) { + case *messageState: + mi = m.messageInfo() + p = m.pointer() + case *messageReflectWrapper: + mi = m.messageInfo() + p = m.pointer() + default: + return false + } + xd, ok := fd.(pref.ExtensionTypeDescriptor) + if !ok { + return false + } + xt := xd.Type() + ext := mi.extensionMap(p) + if ext == nil { + return false + } + f, ok := (*ext)[int32(fd.Number())] + if !ok { + return false + } + return f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0 +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_field.go b/vendor/google.golang.org/protobuf/internal/impl/codec_field.go new file mode 100644 index 000000000..cb4b482d1 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_field.go @@ -0,0 +1,830 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "sync" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/proto" + pref "google.golang.org/protobuf/reflect/protoreflect" + preg "google.golang.org/protobuf/reflect/protoregistry" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +type errInvalidUTF8 struct{} + +func (errInvalidUTF8) Error() string { return "string field contains invalid UTF-8" } +func (errInvalidUTF8) InvalidUTF8() bool { return true } +func (errInvalidUTF8) Unwrap() error { return errors.Error } + +// initOneofFieldCoders initializes the fast-path functions for the fields in a oneof. +// +// For size, marshal, and isInit operations, functions are set only on the first field +// in the oneof. The functions are called when the oneof is non-nil, and will dispatch +// to the appropriate field-specific function as necessary. +// +// The unmarshal function is set on each field individually as usual. +func (mi *MessageInfo) initOneofFieldCoders(od pref.OneofDescriptor, si structInfo) { + fs := si.oneofsByName[od.Name()] + ft := fs.Type + oneofFields := make(map[reflect.Type]*coderFieldInfo) + needIsInit := false + fields := od.Fields() + for i, lim := 0, fields.Len(); i < lim; i++ { + fd := od.Fields().Get(i) + num := fd.Number() + // Make a copy of the original coderFieldInfo for use in unmarshaling. + // + // oneofFields[oneofType].funcs.marshal is the field-specific marshal function. + // + // mi.coderFields[num].marshal is set on only the first field in the oneof, + // and dispatches to the field-specific marshaler in oneofFields. + cf := *mi.coderFields[num] + ot := si.oneofWrappersByNumber[num] + cf.ft = ot.Field(0).Type + cf.mi, cf.funcs = fieldCoder(fd, cf.ft) + oneofFields[ot] = &cf + if cf.funcs.isInit != nil { + needIsInit = true + } + mi.coderFields[num].funcs.unmarshal = func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + var vw reflect.Value // pointer to wrapper type + vi := p.AsValueOf(ft).Elem() // oneof field value of interface kind + if !vi.IsNil() && !vi.Elem().IsNil() && vi.Elem().Elem().Type() == ot { + vw = vi.Elem() + } else { + vw = reflect.New(ot) + } + out, err := cf.funcs.unmarshal(b, pointerOfValue(vw).Apply(zeroOffset), wtyp, &cf, opts) + if err != nil { + return out, err + } + vi.Set(vw) + return out, nil + } + } + getInfo := func(p pointer) (pointer, *coderFieldInfo) { + v := p.AsValueOf(ft).Elem() + if v.IsNil() { + return pointer{}, nil + } + v = v.Elem() // interface -> *struct + if v.IsNil() { + return pointer{}, nil + } + return pointerOfValue(v).Apply(zeroOffset), oneofFields[v.Elem().Type()] + } + first := mi.coderFields[od.Fields().Get(0).Number()] + first.funcs.size = func(p pointer, _ *coderFieldInfo, opts marshalOptions) int { + p, info := getInfo(p) + if info == nil || info.funcs.size == nil { + return 0 + } + return info.funcs.size(p, info, opts) + } + first.funcs.marshal = func(b []byte, p pointer, _ *coderFieldInfo, opts marshalOptions) ([]byte, error) { + p, info := getInfo(p) + if info == nil || info.funcs.marshal == nil { + return b, nil + } + return info.funcs.marshal(b, p, info, opts) + } + first.funcs.merge = func(dst, src pointer, _ *coderFieldInfo, opts mergeOptions) { + srcp, srcinfo := getInfo(src) + if srcinfo == nil || srcinfo.funcs.merge == nil { + return + } + dstp, dstinfo := getInfo(dst) + if dstinfo != srcinfo { + dst.AsValueOf(ft).Elem().Set(reflect.New(src.AsValueOf(ft).Elem().Elem().Elem().Type())) + dstp = pointerOfValue(dst.AsValueOf(ft).Elem().Elem()).Apply(zeroOffset) + } + srcinfo.funcs.merge(dstp, srcp, srcinfo, opts) + } + if needIsInit { + first.funcs.isInit = func(p pointer, _ *coderFieldInfo) error { + p, info := getInfo(p) + if info == nil || info.funcs.isInit == nil { + return nil + } + return info.funcs.isInit(p, info) + } + } +} + +func makeWeakMessageFieldCoder(fd pref.FieldDescriptor) pointerCoderFuncs { + var once sync.Once + var messageType pref.MessageType + lazyInit := func() { + once.Do(func() { + messageName := fd.Message().FullName() + messageType, _ = preg.GlobalTypes.FindMessageByName(messageName) + }) + } + + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + m, ok := p.WeakFields().get(f.num) + if !ok { + return 0 + } + lazyInit() + if messageType == nil { + panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName())) + } + return sizeMessage(m, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + m, ok := p.WeakFields().get(f.num) + if !ok { + return b, nil + } + lazyInit() + if messageType == nil { + panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName())) + } + return appendMessage(b, m, f.wiretag, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + fs := p.WeakFields() + m, ok := fs.get(f.num) + if !ok { + lazyInit() + if messageType == nil { + return unmarshalOutput{}, errUnknown + } + m = messageType.New().Interface() + fs.set(f.num, m) + } + return consumeMessage(b, m, wtyp, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + m, ok := p.WeakFields().get(f.num) + if !ok { + return nil + } + return proto.CheckInitialized(m) + }, + merge: func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + sm, ok := src.WeakFields().get(f.num) + if !ok { + return + } + dm, ok := dst.WeakFields().get(f.num) + if !ok { + lazyInit() + if messageType == nil { + panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName())) + } + dm = messageType.New().Interface() + dst.WeakFields().set(f.num, dm) + } + opts.Merge(dm, sm) + }, + } +} + +func makeMessageFieldCoder(fd pref.FieldDescriptor, ft reflect.Type) pointerCoderFuncs { + if mi := getMessageInfo(ft); mi != nil { + funcs := pointerCoderFuncs{ + size: sizeMessageInfo, + marshal: appendMessageInfo, + unmarshal: consumeMessageInfo, + merge: mergeMessage, + } + if needsInitCheck(mi.Desc) { + funcs.isInit = isInitMessageInfo + } + return funcs + } else { + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + m := asMessage(p.AsValueOf(ft).Elem()) + return sizeMessage(m, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + m := asMessage(p.AsValueOf(ft).Elem()) + return appendMessage(b, m, f.wiretag, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + mp := p.AsValueOf(ft).Elem() + if mp.IsNil() { + mp.Set(reflect.New(ft.Elem())) + } + return consumeMessage(b, asMessage(mp), wtyp, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + m := asMessage(p.AsValueOf(ft).Elem()) + return proto.CheckInitialized(m) + }, + merge: mergeMessage, + } + } +} + +func sizeMessageInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return protowire.SizeBytes(f.mi.sizePointer(p.Elem(), opts)) + f.tagsize +} + +func appendMessageInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(f.mi.sizePointer(p.Elem(), opts))) + return f.mi.marshalAppendPointer(b, p.Elem(), opts) +} + +func consumeMessageInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if p.Elem().IsNil() { + p.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem()))) + } + o, err := f.mi.unmarshalPointer(v, p.Elem(), 0, opts) + if err != nil { + return out, err + } + out.n = n + out.initialized = o.initialized + return out, nil +} + +func isInitMessageInfo(p pointer, f *coderFieldInfo) error { + return f.mi.checkInitializedPointer(p.Elem()) +} + +func sizeMessage(m proto.Message, tagsize int, _ marshalOptions) int { + return protowire.SizeBytes(proto.Size(m)) + tagsize +} + +func appendMessage(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(proto.Size(m))) + return opts.Options().MarshalAppend(b, m) +} + +func consumeMessage(b []byte, m proto.Message, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + o, err := opts.Options().UnmarshalState(piface.UnmarshalInput{ + Buf: v, + Message: m.ProtoReflect(), + }) + if err != nil { + return out, err + } + out.n = n + out.initialized = o.Flags&piface.UnmarshalInitialized != 0 + return out, nil +} + +func sizeMessageValue(v pref.Value, tagsize int, opts marshalOptions) int { + m := v.Message().Interface() + return sizeMessage(m, tagsize, opts) +} + +func appendMessageValue(b []byte, v pref.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + m := v.Message().Interface() + return appendMessage(b, m, wiretag, opts) +} + +func consumeMessageValue(b []byte, v pref.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (pref.Value, unmarshalOutput, error) { + m := v.Message().Interface() + out, err := consumeMessage(b, m, wtyp, opts) + return v, out, err +} + +func isInitMessageValue(v pref.Value) error { + m := v.Message().Interface() + return proto.CheckInitialized(m) +} + +var coderMessageValue = valueCoderFuncs{ + size: sizeMessageValue, + marshal: appendMessageValue, + unmarshal: consumeMessageValue, + isInit: isInitMessageValue, + merge: mergeMessageValue, +} + +func sizeGroupValue(v pref.Value, tagsize int, opts marshalOptions) int { + m := v.Message().Interface() + return sizeGroup(m, tagsize, opts) +} + +func appendGroupValue(b []byte, v pref.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + m := v.Message().Interface() + return appendGroup(b, m, wiretag, opts) +} + +func consumeGroupValue(b []byte, v pref.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (pref.Value, unmarshalOutput, error) { + m := v.Message().Interface() + out, err := consumeGroup(b, m, num, wtyp, opts) + return v, out, err +} + +var coderGroupValue = valueCoderFuncs{ + size: sizeGroupValue, + marshal: appendGroupValue, + unmarshal: consumeGroupValue, + isInit: isInitMessageValue, + merge: mergeMessageValue, +} + +func makeGroupFieldCoder(fd pref.FieldDescriptor, ft reflect.Type) pointerCoderFuncs { + num := fd.Number() + if mi := getMessageInfo(ft); mi != nil { + funcs := pointerCoderFuncs{ + size: sizeGroupType, + marshal: appendGroupType, + unmarshal: consumeGroupType, + merge: mergeMessage, + } + if needsInitCheck(mi.Desc) { + funcs.isInit = isInitMessageInfo + } + return funcs + } else { + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + m := asMessage(p.AsValueOf(ft).Elem()) + return sizeGroup(m, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + m := asMessage(p.AsValueOf(ft).Elem()) + return appendGroup(b, m, f.wiretag, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + mp := p.AsValueOf(ft).Elem() + if mp.IsNil() { + mp.Set(reflect.New(ft.Elem())) + } + return consumeGroup(b, asMessage(mp), num, wtyp, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + m := asMessage(p.AsValueOf(ft).Elem()) + return proto.CheckInitialized(m) + }, + merge: mergeMessage, + } + } +} + +func sizeGroupType(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return 2*f.tagsize + f.mi.sizePointer(p.Elem(), opts) +} + +func appendGroupType(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, f.wiretag) // start group + b, err := f.mi.marshalAppendPointer(b, p.Elem(), opts) + b = protowire.AppendVarint(b, f.wiretag+1) // end group + return b, err +} + +func consumeGroupType(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.StartGroupType { + return out, errUnknown + } + if p.Elem().IsNil() { + p.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem()))) + } + return f.mi.unmarshalPointer(b, p.Elem(), f.num, opts) +} + +func sizeGroup(m proto.Message, tagsize int, _ marshalOptions) int { + return 2*tagsize + proto.Size(m) +} + +func appendGroup(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) // start group + b, err := opts.Options().MarshalAppend(b, m) + b = protowire.AppendVarint(b, wiretag+1) // end group + return b, err +} + +func consumeGroup(b []byte, m proto.Message, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.StartGroupType { + return out, errUnknown + } + b, n := protowire.ConsumeGroup(num, b) + if n < 0 { + return out, errDecode + } + o, err := opts.Options().UnmarshalState(piface.UnmarshalInput{ + Buf: b, + Message: m.ProtoReflect(), + }) + if err != nil { + return out, err + } + out.n = n + out.initialized = o.Flags&piface.UnmarshalInitialized != 0 + return out, nil +} + +func makeMessageSliceFieldCoder(fd pref.FieldDescriptor, ft reflect.Type) pointerCoderFuncs { + if mi := getMessageInfo(ft); mi != nil { + funcs := pointerCoderFuncs{ + size: sizeMessageSliceInfo, + marshal: appendMessageSliceInfo, + unmarshal: consumeMessageSliceInfo, + merge: mergeMessageSlice, + } + if needsInitCheck(mi.Desc) { + funcs.isInit = isInitMessageSliceInfo + } + return funcs + } + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return sizeMessageSlice(p, ft, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return appendMessageSlice(b, p, f.wiretag, ft, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + return consumeMessageSlice(b, p, ft, wtyp, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + return isInitMessageSlice(p, ft) + }, + merge: mergeMessageSlice, + } +} + +func sizeMessageSliceInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int { + s := p.PointerSlice() + n := 0 + for _, v := range s { + n += protowire.SizeBytes(f.mi.sizePointer(v, opts)) + f.tagsize + } + return n +} + +func appendMessageSliceInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := p.PointerSlice() + var err error + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + siz := f.mi.sizePointer(v, opts) + b = protowire.AppendVarint(b, uint64(siz)) + b, err = f.mi.marshalAppendPointer(b, v, opts) + if err != nil { + return b, err + } + } + return b, nil +} + +func consumeMessageSliceInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + m := reflect.New(f.mi.GoReflectType.Elem()).Interface() + mp := pointerOfIface(m) + o, err := f.mi.unmarshalPointer(v, mp, 0, opts) + if err != nil { + return out, err + } + p.AppendPointerSlice(mp) + out.n = n + out.initialized = o.initialized + return out, nil +} + +func isInitMessageSliceInfo(p pointer, f *coderFieldInfo) error { + s := p.PointerSlice() + for _, v := range s { + if err := f.mi.checkInitializedPointer(v); err != nil { + return err + } + } + return nil +} + +func sizeMessageSlice(p pointer, goType reflect.Type, tagsize int, _ marshalOptions) int { + s := p.PointerSlice() + n := 0 + for _, v := range s { + m := asMessage(v.AsValueOf(goType.Elem())) + n += protowire.SizeBytes(proto.Size(m)) + tagsize + } + return n +} + +func appendMessageSlice(b []byte, p pointer, wiretag uint64, goType reflect.Type, opts marshalOptions) ([]byte, error) { + s := p.PointerSlice() + var err error + for _, v := range s { + m := asMessage(v.AsValueOf(goType.Elem())) + b = protowire.AppendVarint(b, wiretag) + siz := proto.Size(m) + b = protowire.AppendVarint(b, uint64(siz)) + b, err = opts.Options().MarshalAppend(b, m) + if err != nil { + return b, err + } + } + return b, nil +} + +func consumeMessageSlice(b []byte, p pointer, goType reflect.Type, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + mp := reflect.New(goType.Elem()) + o, err := opts.Options().UnmarshalState(piface.UnmarshalInput{ + Buf: v, + Message: asMessage(mp).ProtoReflect(), + }) + if err != nil { + return out, err + } + p.AppendPointerSlice(pointerOfValue(mp)) + out.n = n + out.initialized = o.Flags&piface.UnmarshalInitialized != 0 + return out, nil +} + +func isInitMessageSlice(p pointer, goType reflect.Type) error { + s := p.PointerSlice() + for _, v := range s { + m := asMessage(v.AsValueOf(goType.Elem())) + if err := proto.CheckInitialized(m); err != nil { + return err + } + } + return nil +} + +// Slices of messages + +func sizeMessageSliceValue(listv pref.Value, tagsize int, opts marshalOptions) int { + list := listv.List() + n := 0 + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + n += protowire.SizeBytes(proto.Size(m)) + tagsize + } + return n +} + +func appendMessageSliceValue(b []byte, listv pref.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + mopts := opts.Options() + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + b = protowire.AppendVarint(b, wiretag) + siz := proto.Size(m) + b = protowire.AppendVarint(b, uint64(siz)) + var err error + b, err = mopts.MarshalAppend(b, m) + if err != nil { + return b, err + } + } + return b, nil +} + +func consumeMessageSliceValue(b []byte, listv pref.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ pref.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp != protowire.BytesType { + return pref.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return pref.Value{}, out, errDecode + } + m := list.NewElement() + o, err := opts.Options().UnmarshalState(piface.UnmarshalInput{ + Buf: v, + Message: m.Message(), + }) + if err != nil { + return pref.Value{}, out, err + } + list.Append(m) + out.n = n + out.initialized = o.Flags&piface.UnmarshalInitialized != 0 + return listv, out, nil +} + +func isInitMessageSliceValue(listv pref.Value) error { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + if err := proto.CheckInitialized(m); err != nil { + return err + } + } + return nil +} + +var coderMessageSliceValue = valueCoderFuncs{ + size: sizeMessageSliceValue, + marshal: appendMessageSliceValue, + unmarshal: consumeMessageSliceValue, + isInit: isInitMessageSliceValue, + merge: mergeMessageListValue, +} + +func sizeGroupSliceValue(listv pref.Value, tagsize int, opts marshalOptions) int { + list := listv.List() + n := 0 + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + n += 2*tagsize + proto.Size(m) + } + return n +} + +func appendGroupSliceValue(b []byte, listv pref.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + mopts := opts.Options() + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + b = protowire.AppendVarint(b, wiretag) // start group + var err error + b, err = mopts.MarshalAppend(b, m) + if err != nil { + return b, err + } + b = protowire.AppendVarint(b, wiretag+1) // end group + } + return b, nil +} + +func consumeGroupSliceValue(b []byte, listv pref.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ pref.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp != protowire.StartGroupType { + return pref.Value{}, out, errUnknown + } + b, n := protowire.ConsumeGroup(num, b) + if n < 0 { + return pref.Value{}, out, errDecode + } + m := list.NewElement() + o, err := opts.Options().UnmarshalState(piface.UnmarshalInput{ + Buf: b, + Message: m.Message(), + }) + if err != nil { + return pref.Value{}, out, err + } + list.Append(m) + out.n = n + out.initialized = o.Flags&piface.UnmarshalInitialized != 0 + return listv, out, nil +} + +var coderGroupSliceValue = valueCoderFuncs{ + size: sizeGroupSliceValue, + marshal: appendGroupSliceValue, + unmarshal: consumeGroupSliceValue, + isInit: isInitMessageSliceValue, + merge: mergeMessageListValue, +} + +func makeGroupSliceFieldCoder(fd pref.FieldDescriptor, ft reflect.Type) pointerCoderFuncs { + num := fd.Number() + if mi := getMessageInfo(ft); mi != nil { + funcs := pointerCoderFuncs{ + size: sizeGroupSliceInfo, + marshal: appendGroupSliceInfo, + unmarshal: consumeGroupSliceInfo, + merge: mergeMessageSlice, + } + if needsInitCheck(mi.Desc) { + funcs.isInit = isInitMessageSliceInfo + } + return funcs + } + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return sizeGroupSlice(p, ft, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return appendGroupSlice(b, p, f.wiretag, ft, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + return consumeGroupSlice(b, p, num, wtyp, ft, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + return isInitMessageSlice(p, ft) + }, + merge: mergeMessageSlice, + } +} + +func sizeGroupSlice(p pointer, messageType reflect.Type, tagsize int, _ marshalOptions) int { + s := p.PointerSlice() + n := 0 + for _, v := range s { + m := asMessage(v.AsValueOf(messageType.Elem())) + n += 2*tagsize + proto.Size(m) + } + return n +} + +func appendGroupSlice(b []byte, p pointer, wiretag uint64, messageType reflect.Type, opts marshalOptions) ([]byte, error) { + s := p.PointerSlice() + var err error + for _, v := range s { + m := asMessage(v.AsValueOf(messageType.Elem())) + b = protowire.AppendVarint(b, wiretag) // start group + b, err = opts.Options().MarshalAppend(b, m) + if err != nil { + return b, err + } + b = protowire.AppendVarint(b, wiretag+1) // end group + } + return b, nil +} + +func consumeGroupSlice(b []byte, p pointer, num protowire.Number, wtyp protowire.Type, goType reflect.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.StartGroupType { + return out, errUnknown + } + b, n := protowire.ConsumeGroup(num, b) + if n < 0 { + return out, errDecode + } + mp := reflect.New(goType.Elem()) + o, err := opts.Options().UnmarshalState(piface.UnmarshalInput{ + Buf: b, + Message: asMessage(mp).ProtoReflect(), + }) + if err != nil { + return out, err + } + p.AppendPointerSlice(pointerOfValue(mp)) + out.n = n + out.initialized = o.Flags&piface.UnmarshalInitialized != 0 + return out, nil +} + +func sizeGroupSliceInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int { + s := p.PointerSlice() + n := 0 + for _, v := range s { + n += 2*f.tagsize + f.mi.sizePointer(v, opts) + } + return n +} + +func appendGroupSliceInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := p.PointerSlice() + var err error + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) // start group + b, err = f.mi.marshalAppendPointer(b, v, opts) + if err != nil { + return b, err + } + b = protowire.AppendVarint(b, f.wiretag+1) // end group + } + return b, nil +} + +func consumeGroupSliceInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + if wtyp != protowire.StartGroupType { + return unmarshalOutput{}, errUnknown + } + m := reflect.New(f.mi.GoReflectType.Elem()).Interface() + mp := pointerOfIface(m) + out, err := f.mi.unmarshalPointer(b, mp, f.num, opts) + if err != nil { + return out, err + } + p.AppendPointerSlice(mp) + return out, nil +} + +func asMessage(v reflect.Value) pref.ProtoMessage { + if m, ok := v.Interface().(pref.ProtoMessage); ok { + return m + } + return legacyWrapMessage(v).Interface() +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go b/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go new file mode 100644 index 000000000..1a509b63e --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go @@ -0,0 +1,5637 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package impl + +import ( + "math" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// sizeBool returns the size of wire encoding a bool pointer as a Bool. +func sizeBool(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Bool() + return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v)) +} + +// appendBool wire encodes a bool pointer as a Bool. +func appendBool(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bool() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + return b, nil +} + +// consumeBool wire decodes a bool pointer as a Bool. +func consumeBool(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Bool() = protowire.DecodeBool(v) + out.n = n + return out, nil +} + +var coderBool = pointerCoderFuncs{ + size: sizeBool, + marshal: appendBool, + unmarshal: consumeBool, + merge: mergeBool, +} + +// sizeBoolNoZero returns the size of wire encoding a bool pointer as a Bool. +// The zero value is not encoded. +func sizeBoolNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Bool() + if v == false { + return 0 + } + return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v)) +} + +// appendBoolNoZero wire encodes a bool pointer as a Bool. +// The zero value is not encoded. +func appendBoolNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bool() + if v == false { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + return b, nil +} + +var coderBoolNoZero = pointerCoderFuncs{ + size: sizeBoolNoZero, + marshal: appendBoolNoZero, + unmarshal: consumeBool, + merge: mergeBoolNoZero, +} + +// sizeBoolPtr returns the size of wire encoding a *bool pointer as a Bool. +// It panics if the pointer is nil. +func sizeBoolPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.BoolPtr() + return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v)) +} + +// appendBoolPtr wire encodes a *bool pointer as a Bool. +// It panics if the pointer is nil. +func appendBoolPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.BoolPtr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + return b, nil +} + +// consumeBoolPtr wire decodes a *bool pointer as a Bool. +func consumeBoolPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.BoolPtr() + if *vp == nil { + *vp = new(bool) + } + **vp = protowire.DecodeBool(v) + out.n = n + return out, nil +} + +var coderBoolPtr = pointerCoderFuncs{ + size: sizeBoolPtr, + marshal: appendBoolPtr, + unmarshal: consumeBoolPtr, + merge: mergeBoolPtr, +} + +// sizeBoolSlice returns the size of wire encoding a []bool pointer as a repeated Bool. +func sizeBoolSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.BoolSlice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v)) + } + return size +} + +// appendBoolSlice encodes a []bool pointer as a repeated Bool. +func appendBoolSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.BoolSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + } + return b, nil +} + +// consumeBoolSlice wire decodes a []bool pointer as a repeated Bool. +func consumeBoolSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.BoolSlice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, protowire.DecodeBool(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, protowire.DecodeBool(v)) + out.n = n + return out, nil +} + +var coderBoolSlice = pointerCoderFuncs{ + size: sizeBoolSlice, + marshal: appendBoolSlice, + unmarshal: consumeBoolSlice, + merge: mergeBoolSlice, +} + +// sizeBoolPackedSlice returns the size of wire encoding a []bool pointer as a packed repeated Bool. +func sizeBoolPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.BoolSlice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeBool(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendBoolPackedSlice encodes a []bool pointer as a packed repeated Bool. +func appendBoolPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.BoolSlice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeBool(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + } + return b, nil +} + +var coderBoolPackedSlice = pointerCoderFuncs{ + size: sizeBoolPackedSlice, + marshal: appendBoolPackedSlice, + unmarshal: consumeBoolSlice, + merge: mergeBoolSlice, +} + +// sizeBoolValue returns the size of wire encoding a bool value as a Bool. +func sizeBoolValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(protowire.EncodeBool(v.Bool())) +} + +// appendBoolValue encodes a bool value as a Bool. +func appendBoolValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool())) + return b, nil +} + +// consumeBoolValue decodes a bool value as a Bool. +func consumeBoolValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfBool(protowire.DecodeBool(v)), out, nil +} + +var coderBoolValue = valueCoderFuncs{ + size: sizeBoolValue, + marshal: appendBoolValue, + unmarshal: consumeBoolValue, + merge: mergeScalarValue, +} + +// sizeBoolSliceValue returns the size of wire encoding a []bool value as a repeated Bool. +func sizeBoolSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(protowire.EncodeBool(v.Bool())) + } + return size +} + +// appendBoolSliceValue encodes a []bool value as a repeated Bool. +func appendBoolSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool())) + } + return b, nil +} + +// consumeBoolSliceValue wire decodes a []bool value as a repeated Bool. +func consumeBoolSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v))) + out.n = n + return listv, out, nil +} + +var coderBoolSliceValue = valueCoderFuncs{ + size: sizeBoolSliceValue, + marshal: appendBoolSliceValue, + unmarshal: consumeBoolSliceValue, + merge: mergeListValue, +} + +// sizeBoolPackedSliceValue returns the size of wire encoding a []bool value as a packed repeated Bool. +func sizeBoolPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeBool(v.Bool())) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendBoolPackedSliceValue encodes a []bool value as a packed repeated Bool. +func appendBoolPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeBool(v.Bool())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool())) + } + return b, nil +} + +var coderBoolPackedSliceValue = valueCoderFuncs{ + size: sizeBoolPackedSliceValue, + marshal: appendBoolPackedSliceValue, + unmarshal: consumeBoolSliceValue, + merge: mergeListValue, +} + +// sizeEnumValue returns the size of wire encoding a value as a Enum. +func sizeEnumValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(uint64(v.Enum())) +} + +// appendEnumValue encodes a value as a Enum. +func appendEnumValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(v.Enum())) + return b, nil +} + +// consumeEnumValue decodes a value as a Enum. +func consumeEnumValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)), out, nil +} + +var coderEnumValue = valueCoderFuncs{ + size: sizeEnumValue, + marshal: appendEnumValue, + unmarshal: consumeEnumValue, + merge: mergeScalarValue, +} + +// sizeEnumSliceValue returns the size of wire encoding a [] value as a repeated Enum. +func sizeEnumSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(uint64(v.Enum())) + } + return size +} + +// appendEnumSliceValue encodes a [] value as a repeated Enum. +func appendEnumSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(v.Enum())) + } + return b, nil +} + +// consumeEnumSliceValue wire decodes a [] value as a repeated Enum. +func consumeEnumSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v))) + out.n = n + return listv, out, nil +} + +var coderEnumSliceValue = valueCoderFuncs{ + size: sizeEnumSliceValue, + marshal: appendEnumSliceValue, + unmarshal: consumeEnumSliceValue, + merge: mergeListValue, +} + +// sizeEnumPackedSliceValue returns the size of wire encoding a [] value as a packed repeated Enum. +func sizeEnumPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(v.Enum())) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendEnumPackedSliceValue encodes a [] value as a packed repeated Enum. +func appendEnumPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(v.Enum())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, uint64(v.Enum())) + } + return b, nil +} + +var coderEnumPackedSliceValue = valueCoderFuncs{ + size: sizeEnumPackedSliceValue, + marshal: appendEnumPackedSliceValue, + unmarshal: consumeEnumSliceValue, + merge: mergeListValue, +} + +// sizeInt32 returns the size of wire encoding a int32 pointer as a Int32. +func sizeInt32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt32 wire encodes a int32 pointer as a Int32. +func appendInt32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeInt32 wire decodes a int32 pointer as a Int32. +func consumeInt32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Int32() = int32(v) + out.n = n + return out, nil +} + +var coderInt32 = pointerCoderFuncs{ + size: sizeInt32, + marshal: appendInt32, + unmarshal: consumeInt32, + merge: mergeInt32, +} + +// sizeInt32NoZero returns the size of wire encoding a int32 pointer as a Int32. +// The zero value is not encoded. +func sizeInt32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt32NoZero wire encodes a int32 pointer as a Int32. +// The zero value is not encoded. +func appendInt32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +var coderInt32NoZero = pointerCoderFuncs{ + size: sizeInt32NoZero, + marshal: appendInt32NoZero, + unmarshal: consumeInt32, + merge: mergeInt32NoZero, +} + +// sizeInt32Ptr returns the size of wire encoding a *int32 pointer as a Int32. +// It panics if the pointer is nil. +func sizeInt32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Int32Ptr() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt32Ptr wire encodes a *int32 pointer as a Int32. +// It panics if the pointer is nil. +func appendInt32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeInt32Ptr wire decodes a *int32 pointer as a Int32. +func consumeInt32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Int32Ptr() + if *vp == nil { + *vp = new(int32) + } + **vp = int32(v) + out.n = n + return out, nil +} + +var coderInt32Ptr = pointerCoderFuncs{ + size: sizeInt32Ptr, + marshal: appendInt32Ptr, + unmarshal: consumeInt32Ptr, + merge: mergeInt32Ptr, +} + +// sizeInt32Slice returns the size of wire encoding a []int32 pointer as a repeated Int32. +func sizeInt32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(uint64(v)) + } + return size +} + +// appendInt32Slice encodes a []int32 pointer as a repeated Int32. +func appendInt32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +// consumeInt32Slice wire decodes a []int32 pointer as a repeated Int32. +func consumeInt32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, int32(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int32(v)) + out.n = n + return out, nil +} + +var coderInt32Slice = pointerCoderFuncs{ + size: sizeInt32Slice, + marshal: appendInt32Slice, + unmarshal: consumeInt32Slice, + merge: mergeInt32Slice, +} + +// sizeInt32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Int32. +func sizeInt32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendInt32PackedSlice encodes a []int32 pointer as a packed repeated Int32. +func appendInt32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +var coderInt32PackedSlice = pointerCoderFuncs{ + size: sizeInt32PackedSlice, + marshal: appendInt32PackedSlice, + unmarshal: consumeInt32Slice, + merge: mergeInt32Slice, +} + +// sizeInt32Value returns the size of wire encoding a int32 value as a Int32. +func sizeInt32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(uint64(int32(v.Int()))) +} + +// appendInt32Value encodes a int32 value as a Int32. +func appendInt32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(int32(v.Int()))) + return b, nil +} + +// consumeInt32Value decodes a int32 value as a Int32. +func consumeInt32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt32(int32(v)), out, nil +} + +var coderInt32Value = valueCoderFuncs{ + size: sizeInt32Value, + marshal: appendInt32Value, + unmarshal: consumeInt32Value, + merge: mergeScalarValue, +} + +// sizeInt32SliceValue returns the size of wire encoding a []int32 value as a repeated Int32. +func sizeInt32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(uint64(int32(v.Int()))) + } + return size +} + +// appendInt32SliceValue encodes a []int32 value as a repeated Int32. +func appendInt32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(int32(v.Int()))) + } + return b, nil +} + +// consumeInt32SliceValue wire decodes a []int32 value as a repeated Int32. +func consumeInt32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + out.n = n + return listv, out, nil +} + +var coderInt32SliceValue = valueCoderFuncs{ + size: sizeInt32SliceValue, + marshal: appendInt32SliceValue, + unmarshal: consumeInt32SliceValue, + merge: mergeListValue, +} + +// sizeInt32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Int32. +func sizeInt32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(int32(v.Int()))) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendInt32PackedSliceValue encodes a []int32 value as a packed repeated Int32. +func appendInt32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(int32(v.Int()))) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, uint64(int32(v.Int()))) + } + return b, nil +} + +var coderInt32PackedSliceValue = valueCoderFuncs{ + size: sizeInt32PackedSliceValue, + marshal: appendInt32PackedSliceValue, + unmarshal: consumeInt32SliceValue, + merge: mergeListValue, +} + +// sizeSint32 returns the size of wire encoding a int32 pointer as a Sint32. +func sizeSint32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) +} + +// appendSint32 wire encodes a int32 pointer as a Sint32. +func appendSint32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + return b, nil +} + +// consumeSint32 wire decodes a int32 pointer as a Sint32. +func consumeSint32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Int32() = int32(protowire.DecodeZigZag(v & math.MaxUint32)) + out.n = n + return out, nil +} + +var coderSint32 = pointerCoderFuncs{ + size: sizeSint32, + marshal: appendSint32, + unmarshal: consumeSint32, + merge: mergeInt32, +} + +// sizeSint32NoZero returns the size of wire encoding a int32 pointer as a Sint32. +// The zero value is not encoded. +func sizeSint32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) +} + +// appendSint32NoZero wire encodes a int32 pointer as a Sint32. +// The zero value is not encoded. +func appendSint32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + return b, nil +} + +var coderSint32NoZero = pointerCoderFuncs{ + size: sizeSint32NoZero, + marshal: appendSint32NoZero, + unmarshal: consumeSint32, + merge: mergeInt32NoZero, +} + +// sizeSint32Ptr returns the size of wire encoding a *int32 pointer as a Sint32. +// It panics if the pointer is nil. +func sizeSint32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Int32Ptr() + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) +} + +// appendSint32Ptr wire encodes a *int32 pointer as a Sint32. +// It panics if the pointer is nil. +func appendSint32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + return b, nil +} + +// consumeSint32Ptr wire decodes a *int32 pointer as a Sint32. +func consumeSint32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Int32Ptr() + if *vp == nil { + *vp = new(int32) + } + **vp = int32(protowire.DecodeZigZag(v & math.MaxUint32)) + out.n = n + return out, nil +} + +var coderSint32Ptr = pointerCoderFuncs{ + size: sizeSint32Ptr, + marshal: appendSint32Ptr, + unmarshal: consumeSint32Ptr, + merge: mergeInt32Ptr, +} + +// sizeSint32Slice returns the size of wire encoding a []int32 pointer as a repeated Sint32. +func sizeSint32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) + } + return size +} + +// appendSint32Slice encodes a []int32 pointer as a repeated Sint32. +func appendSint32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + } + return b, nil +} + +// consumeSint32Slice wire decodes a []int32 pointer as a repeated Sint32. +func consumeSint32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, int32(protowire.DecodeZigZag(v&math.MaxUint32))) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int32(protowire.DecodeZigZag(v&math.MaxUint32))) + out.n = n + return out, nil +} + +var coderSint32Slice = pointerCoderFuncs{ + size: sizeSint32Slice, + marshal: appendSint32Slice, + unmarshal: consumeSint32Slice, + merge: mergeInt32Slice, +} + +// sizeSint32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Sint32. +func sizeSint32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendSint32PackedSlice encodes a []int32 pointer as a packed repeated Sint32. +func appendSint32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + } + return b, nil +} + +var coderSint32PackedSlice = pointerCoderFuncs{ + size: sizeSint32PackedSlice, + marshal: appendSint32PackedSlice, + unmarshal: consumeSint32Slice, + merge: mergeInt32Slice, +} + +// sizeSint32Value returns the size of wire encoding a int32 value as a Sint32. +func sizeSint32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) +} + +// appendSint32Value encodes a int32 value as a Sint32. +func appendSint32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int())))) + return b, nil +} + +// consumeSint32Value decodes a int32 value as a Sint32. +func consumeSint32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))), out, nil +} + +var coderSint32Value = valueCoderFuncs{ + size: sizeSint32Value, + marshal: appendSint32Value, + unmarshal: consumeSint32Value, + merge: mergeScalarValue, +} + +// sizeSint32SliceValue returns the size of wire encoding a []int32 value as a repeated Sint32. +func sizeSint32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) + } + return size +} + +// appendSint32SliceValue encodes a []int32 value as a repeated Sint32. +func appendSint32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int())))) + } + return b, nil +} + +// consumeSint32SliceValue wire decodes a []int32 value as a repeated Sint32. +func consumeSint32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32)))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32)))) + out.n = n + return listv, out, nil +} + +var coderSint32SliceValue = valueCoderFuncs{ + size: sizeSint32SliceValue, + marshal: appendSint32SliceValue, + unmarshal: consumeSint32SliceValue, + merge: mergeListValue, +} + +// sizeSint32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Sint32. +func sizeSint32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendSint32PackedSliceValue encodes a []int32 value as a packed repeated Sint32. +func appendSint32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int())))) + } + return b, nil +} + +var coderSint32PackedSliceValue = valueCoderFuncs{ + size: sizeSint32PackedSliceValue, + marshal: appendSint32PackedSliceValue, + unmarshal: consumeSint32SliceValue, + merge: mergeListValue, +} + +// sizeUint32 returns the size of wire encoding a uint32 pointer as a Uint32. +func sizeUint32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint32() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendUint32 wire encodes a uint32 pointer as a Uint32. +func appendUint32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeUint32 wire decodes a uint32 pointer as a Uint32. +func consumeUint32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Uint32() = uint32(v) + out.n = n + return out, nil +} + +var coderUint32 = pointerCoderFuncs{ + size: sizeUint32, + marshal: appendUint32, + unmarshal: consumeUint32, + merge: mergeUint32, +} + +// sizeUint32NoZero returns the size of wire encoding a uint32 pointer as a Uint32. +// The zero value is not encoded. +func sizeUint32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendUint32NoZero wire encodes a uint32 pointer as a Uint32. +// The zero value is not encoded. +func appendUint32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +var coderUint32NoZero = pointerCoderFuncs{ + size: sizeUint32NoZero, + marshal: appendUint32NoZero, + unmarshal: consumeUint32, + merge: mergeUint32NoZero, +} + +// sizeUint32Ptr returns the size of wire encoding a *uint32 pointer as a Uint32. +// It panics if the pointer is nil. +func sizeUint32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Uint32Ptr() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendUint32Ptr wire encodes a *uint32 pointer as a Uint32. +// It panics if the pointer is nil. +func appendUint32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Uint32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeUint32Ptr wire decodes a *uint32 pointer as a Uint32. +func consumeUint32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Uint32Ptr() + if *vp == nil { + *vp = new(uint32) + } + **vp = uint32(v) + out.n = n + return out, nil +} + +var coderUint32Ptr = pointerCoderFuncs{ + size: sizeUint32Ptr, + marshal: appendUint32Ptr, + unmarshal: consumeUint32Ptr, + merge: mergeUint32Ptr, +} + +// sizeUint32Slice returns the size of wire encoding a []uint32 pointer as a repeated Uint32. +func sizeUint32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint32Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(uint64(v)) + } + return size +} + +// appendUint32Slice encodes a []uint32 pointer as a repeated Uint32. +func appendUint32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +// consumeUint32Slice wire decodes a []uint32 pointer as a repeated Uint32. +func consumeUint32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Uint32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, uint32(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, uint32(v)) + out.n = n + return out, nil +} + +var coderUint32Slice = pointerCoderFuncs{ + size: sizeUint32Slice, + marshal: appendUint32Slice, + unmarshal: consumeUint32Slice, + merge: mergeUint32Slice, +} + +// sizeUint32PackedSlice returns the size of wire encoding a []uint32 pointer as a packed repeated Uint32. +func sizeUint32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendUint32PackedSlice encodes a []uint32 pointer as a packed repeated Uint32. +func appendUint32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +var coderUint32PackedSlice = pointerCoderFuncs{ + size: sizeUint32PackedSlice, + marshal: appendUint32PackedSlice, + unmarshal: consumeUint32Slice, + merge: mergeUint32Slice, +} + +// sizeUint32Value returns the size of wire encoding a uint32 value as a Uint32. +func sizeUint32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(uint64(uint32(v.Uint()))) +} + +// appendUint32Value encodes a uint32 value as a Uint32. +func appendUint32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(uint32(v.Uint()))) + return b, nil +} + +// consumeUint32Value decodes a uint32 value as a Uint32. +func consumeUint32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfUint32(uint32(v)), out, nil +} + +var coderUint32Value = valueCoderFuncs{ + size: sizeUint32Value, + marshal: appendUint32Value, + unmarshal: consumeUint32Value, + merge: mergeScalarValue, +} + +// sizeUint32SliceValue returns the size of wire encoding a []uint32 value as a repeated Uint32. +func sizeUint32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(uint64(uint32(v.Uint()))) + } + return size +} + +// appendUint32SliceValue encodes a []uint32 value as a repeated Uint32. +func appendUint32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(uint32(v.Uint()))) + } + return b, nil +} + +// consumeUint32SliceValue wire decodes a []uint32 value as a repeated Uint32. +func consumeUint32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + out.n = n + return listv, out, nil +} + +var coderUint32SliceValue = valueCoderFuncs{ + size: sizeUint32SliceValue, + marshal: appendUint32SliceValue, + unmarshal: consumeUint32SliceValue, + merge: mergeListValue, +} + +// sizeUint32PackedSliceValue returns the size of wire encoding a []uint32 value as a packed repeated Uint32. +func sizeUint32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(uint32(v.Uint()))) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendUint32PackedSliceValue encodes a []uint32 value as a packed repeated Uint32. +func appendUint32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(uint32(v.Uint()))) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, uint64(uint32(v.Uint()))) + } + return b, nil +} + +var coderUint32PackedSliceValue = valueCoderFuncs{ + size: sizeUint32PackedSliceValue, + marshal: appendUint32PackedSliceValue, + unmarshal: consumeUint32SliceValue, + merge: mergeListValue, +} + +// sizeInt64 returns the size of wire encoding a int64 pointer as a Int64. +func sizeInt64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt64 wire encodes a int64 pointer as a Int64. +func appendInt64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeInt64 wire decodes a int64 pointer as a Int64. +func consumeInt64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Int64() = int64(v) + out.n = n + return out, nil +} + +var coderInt64 = pointerCoderFuncs{ + size: sizeInt64, + marshal: appendInt64, + unmarshal: consumeInt64, + merge: mergeInt64, +} + +// sizeInt64NoZero returns the size of wire encoding a int64 pointer as a Int64. +// The zero value is not encoded. +func sizeInt64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt64NoZero wire encodes a int64 pointer as a Int64. +// The zero value is not encoded. +func appendInt64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +var coderInt64NoZero = pointerCoderFuncs{ + size: sizeInt64NoZero, + marshal: appendInt64NoZero, + unmarshal: consumeInt64, + merge: mergeInt64NoZero, +} + +// sizeInt64Ptr returns the size of wire encoding a *int64 pointer as a Int64. +// It panics if the pointer is nil. +func sizeInt64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Int64Ptr() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt64Ptr wire encodes a *int64 pointer as a Int64. +// It panics if the pointer is nil. +func appendInt64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeInt64Ptr wire decodes a *int64 pointer as a Int64. +func consumeInt64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Int64Ptr() + if *vp == nil { + *vp = new(int64) + } + **vp = int64(v) + out.n = n + return out, nil +} + +var coderInt64Ptr = pointerCoderFuncs{ + size: sizeInt64Ptr, + marshal: appendInt64Ptr, + unmarshal: consumeInt64Ptr, + merge: mergeInt64Ptr, +} + +// sizeInt64Slice returns the size of wire encoding a []int64 pointer as a repeated Int64. +func sizeInt64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(uint64(v)) + } + return size +} + +// appendInt64Slice encodes a []int64 pointer as a repeated Int64. +func appendInt64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +// consumeInt64Slice wire decodes a []int64 pointer as a repeated Int64. +func consumeInt64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, int64(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int64(v)) + out.n = n + return out, nil +} + +var coderInt64Slice = pointerCoderFuncs{ + size: sizeInt64Slice, + marshal: appendInt64Slice, + unmarshal: consumeInt64Slice, + merge: mergeInt64Slice, +} + +// sizeInt64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Int64. +func sizeInt64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendInt64PackedSlice encodes a []int64 pointer as a packed repeated Int64. +func appendInt64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +var coderInt64PackedSlice = pointerCoderFuncs{ + size: sizeInt64PackedSlice, + marshal: appendInt64PackedSlice, + unmarshal: consumeInt64Slice, + merge: mergeInt64Slice, +} + +// sizeInt64Value returns the size of wire encoding a int64 value as a Int64. +func sizeInt64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(uint64(v.Int())) +} + +// appendInt64Value encodes a int64 value as a Int64. +func appendInt64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(v.Int())) + return b, nil +} + +// consumeInt64Value decodes a int64 value as a Int64. +func consumeInt64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt64(int64(v)), out, nil +} + +var coderInt64Value = valueCoderFuncs{ + size: sizeInt64Value, + marshal: appendInt64Value, + unmarshal: consumeInt64Value, + merge: mergeScalarValue, +} + +// sizeInt64SliceValue returns the size of wire encoding a []int64 value as a repeated Int64. +func sizeInt64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(uint64(v.Int())) + } + return size +} + +// appendInt64SliceValue encodes a []int64 value as a repeated Int64. +func appendInt64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(v.Int())) + } + return b, nil +} + +// consumeInt64SliceValue wire decodes a []int64 value as a repeated Int64. +func consumeInt64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + out.n = n + return listv, out, nil +} + +var coderInt64SliceValue = valueCoderFuncs{ + size: sizeInt64SliceValue, + marshal: appendInt64SliceValue, + unmarshal: consumeInt64SliceValue, + merge: mergeListValue, +} + +// sizeInt64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Int64. +func sizeInt64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(v.Int())) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendInt64PackedSliceValue encodes a []int64 value as a packed repeated Int64. +func appendInt64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(v.Int())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, uint64(v.Int())) + } + return b, nil +} + +var coderInt64PackedSliceValue = valueCoderFuncs{ + size: sizeInt64PackedSliceValue, + marshal: appendInt64PackedSliceValue, + unmarshal: consumeInt64SliceValue, + merge: mergeListValue, +} + +// sizeSint64 returns the size of wire encoding a int64 pointer as a Sint64. +func sizeSint64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v)) +} + +// appendSint64 wire encodes a int64 pointer as a Sint64. +func appendSint64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + return b, nil +} + +// consumeSint64 wire decodes a int64 pointer as a Sint64. +func consumeSint64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Int64() = protowire.DecodeZigZag(v) + out.n = n + return out, nil +} + +var coderSint64 = pointerCoderFuncs{ + size: sizeSint64, + marshal: appendSint64, + unmarshal: consumeSint64, + merge: mergeInt64, +} + +// sizeSint64NoZero returns the size of wire encoding a int64 pointer as a Sint64. +// The zero value is not encoded. +func sizeSint64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v)) +} + +// appendSint64NoZero wire encodes a int64 pointer as a Sint64. +// The zero value is not encoded. +func appendSint64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + return b, nil +} + +var coderSint64NoZero = pointerCoderFuncs{ + size: sizeSint64NoZero, + marshal: appendSint64NoZero, + unmarshal: consumeSint64, + merge: mergeInt64NoZero, +} + +// sizeSint64Ptr returns the size of wire encoding a *int64 pointer as a Sint64. +// It panics if the pointer is nil. +func sizeSint64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Int64Ptr() + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v)) +} + +// appendSint64Ptr wire encodes a *int64 pointer as a Sint64. +// It panics if the pointer is nil. +func appendSint64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + return b, nil +} + +// consumeSint64Ptr wire decodes a *int64 pointer as a Sint64. +func consumeSint64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Int64Ptr() + if *vp == nil { + *vp = new(int64) + } + **vp = protowire.DecodeZigZag(v) + out.n = n + return out, nil +} + +var coderSint64Ptr = pointerCoderFuncs{ + size: sizeSint64Ptr, + marshal: appendSint64Ptr, + unmarshal: consumeSint64Ptr, + merge: mergeInt64Ptr, +} + +// sizeSint64Slice returns the size of wire encoding a []int64 pointer as a repeated Sint64. +func sizeSint64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v)) + } + return size +} + +// appendSint64Slice encodes a []int64 pointer as a repeated Sint64. +func appendSint64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + } + return b, nil +} + +// consumeSint64Slice wire decodes a []int64 pointer as a repeated Sint64. +func consumeSint64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, protowire.DecodeZigZag(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, protowire.DecodeZigZag(v)) + out.n = n + return out, nil +} + +var coderSint64Slice = pointerCoderFuncs{ + size: sizeSint64Slice, + marshal: appendSint64Slice, + unmarshal: consumeSint64Slice, + merge: mergeInt64Slice, +} + +// sizeSint64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Sint64. +func sizeSint64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeZigZag(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendSint64PackedSlice encodes a []int64 pointer as a packed repeated Sint64. +func appendSint64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeZigZag(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + } + return b, nil +} + +var coderSint64PackedSlice = pointerCoderFuncs{ + size: sizeSint64PackedSlice, + marshal: appendSint64PackedSlice, + unmarshal: consumeSint64Slice, + merge: mergeInt64Slice, +} + +// sizeSint64Value returns the size of wire encoding a int64 value as a Sint64. +func sizeSint64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) +} + +// appendSint64Value encodes a int64 value as a Sint64. +func appendSint64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int())) + return b, nil +} + +// consumeSint64Value decodes a int64 value as a Sint64. +func consumeSint64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)), out, nil +} + +var coderSint64Value = valueCoderFuncs{ + size: sizeSint64Value, + marshal: appendSint64Value, + unmarshal: consumeSint64Value, + merge: mergeScalarValue, +} + +// sizeSint64SliceValue returns the size of wire encoding a []int64 value as a repeated Sint64. +func sizeSint64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) + } + return size +} + +// appendSint64SliceValue encodes a []int64 value as a repeated Sint64. +func appendSint64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int())) + } + return b, nil +} + +// consumeSint64SliceValue wire decodes a []int64 value as a repeated Sint64. +func consumeSint64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v))) + out.n = n + return listv, out, nil +} + +var coderSint64SliceValue = valueCoderFuncs{ + size: sizeSint64SliceValue, + marshal: appendSint64SliceValue, + unmarshal: consumeSint64SliceValue, + merge: mergeListValue, +} + +// sizeSint64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Sint64. +func sizeSint64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendSint64PackedSliceValue encodes a []int64 value as a packed repeated Sint64. +func appendSint64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int())) + } + return b, nil +} + +var coderSint64PackedSliceValue = valueCoderFuncs{ + size: sizeSint64PackedSliceValue, + marshal: appendSint64PackedSliceValue, + unmarshal: consumeSint64SliceValue, + merge: mergeListValue, +} + +// sizeUint64 returns the size of wire encoding a uint64 pointer as a Uint64. +func sizeUint64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint64() + return f.tagsize + protowire.SizeVarint(v) +} + +// appendUint64 wire encodes a uint64 pointer as a Uint64. +func appendUint64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, v) + return b, nil +} + +// consumeUint64 wire decodes a uint64 pointer as a Uint64. +func consumeUint64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Uint64() = v + out.n = n + return out, nil +} + +var coderUint64 = pointerCoderFuncs{ + size: sizeUint64, + marshal: appendUint64, + unmarshal: consumeUint64, + merge: mergeUint64, +} + +// sizeUint64NoZero returns the size of wire encoding a uint64 pointer as a Uint64. +// The zero value is not encoded. +func sizeUint64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(v) +} + +// appendUint64NoZero wire encodes a uint64 pointer as a Uint64. +// The zero value is not encoded. +func appendUint64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, v) + return b, nil +} + +var coderUint64NoZero = pointerCoderFuncs{ + size: sizeUint64NoZero, + marshal: appendUint64NoZero, + unmarshal: consumeUint64, + merge: mergeUint64NoZero, +} + +// sizeUint64Ptr returns the size of wire encoding a *uint64 pointer as a Uint64. +// It panics if the pointer is nil. +func sizeUint64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Uint64Ptr() + return f.tagsize + protowire.SizeVarint(v) +} + +// appendUint64Ptr wire encodes a *uint64 pointer as a Uint64. +// It panics if the pointer is nil. +func appendUint64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Uint64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, v) + return b, nil +} + +// consumeUint64Ptr wire decodes a *uint64 pointer as a Uint64. +func consumeUint64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Uint64Ptr() + if *vp == nil { + *vp = new(uint64) + } + **vp = v + out.n = n + return out, nil +} + +var coderUint64Ptr = pointerCoderFuncs{ + size: sizeUint64Ptr, + marshal: appendUint64Ptr, + unmarshal: consumeUint64Ptr, + merge: mergeUint64Ptr, +} + +// sizeUint64Slice returns the size of wire encoding a []uint64 pointer as a repeated Uint64. +func sizeUint64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint64Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(v) + } + return size +} + +// appendUint64Slice encodes a []uint64 pointer as a repeated Uint64. +func appendUint64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, v) + } + return b, nil +} + +// consumeUint64Slice wire decodes a []uint64 pointer as a repeated Uint64. +func consumeUint64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Uint64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, v) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, v) + out.n = n + return out, nil +} + +var coderUint64Slice = pointerCoderFuncs{ + size: sizeUint64Slice, + marshal: appendUint64Slice, + unmarshal: consumeUint64Slice, + merge: mergeUint64Slice, +} + +// sizeUint64PackedSlice returns the size of wire encoding a []uint64 pointer as a packed repeated Uint64. +func sizeUint64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(v) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendUint64PackedSlice encodes a []uint64 pointer as a packed repeated Uint64. +func appendUint64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(v) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, v) + } + return b, nil +} + +var coderUint64PackedSlice = pointerCoderFuncs{ + size: sizeUint64PackedSlice, + marshal: appendUint64PackedSlice, + unmarshal: consumeUint64Slice, + merge: mergeUint64Slice, +} + +// sizeUint64Value returns the size of wire encoding a uint64 value as a Uint64. +func sizeUint64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(v.Uint()) +} + +// appendUint64Value encodes a uint64 value as a Uint64. +func appendUint64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, v.Uint()) + return b, nil +} + +// consumeUint64Value decodes a uint64 value as a Uint64. +func consumeUint64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfUint64(v), out, nil +} + +var coderUint64Value = valueCoderFuncs{ + size: sizeUint64Value, + marshal: appendUint64Value, + unmarshal: consumeUint64Value, + merge: mergeScalarValue, +} + +// sizeUint64SliceValue returns the size of wire encoding a []uint64 value as a repeated Uint64. +func sizeUint64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(v.Uint()) + } + return size +} + +// appendUint64SliceValue encodes a []uint64 value as a repeated Uint64. +func appendUint64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, v.Uint()) + } + return b, nil +} + +// consumeUint64SliceValue wire decodes a []uint64 value as a repeated Uint64. +func consumeUint64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + out.n = n + return listv, out, nil +} + +var coderUint64SliceValue = valueCoderFuncs{ + size: sizeUint64SliceValue, + marshal: appendUint64SliceValue, + unmarshal: consumeUint64SliceValue, + merge: mergeListValue, +} + +// sizeUint64PackedSliceValue returns the size of wire encoding a []uint64 value as a packed repeated Uint64. +func sizeUint64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(v.Uint()) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendUint64PackedSliceValue encodes a []uint64 value as a packed repeated Uint64. +func appendUint64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(v.Uint()) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, v.Uint()) + } + return b, nil +} + +var coderUint64PackedSliceValue = valueCoderFuncs{ + size: sizeUint64PackedSliceValue, + marshal: appendUint64PackedSliceValue, + unmarshal: consumeUint64SliceValue, + merge: mergeListValue, +} + +// sizeSfixed32 returns the size of wire encoding a int32 pointer as a Sfixed32. +func sizeSfixed32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed32() +} + +// appendSfixed32 wire encodes a int32 pointer as a Sfixed32. +func appendSfixed32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, uint32(v)) + return b, nil +} + +// consumeSfixed32 wire decodes a int32 pointer as a Sfixed32. +func consumeSfixed32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *p.Int32() = int32(v) + out.n = n + return out, nil +} + +var coderSfixed32 = pointerCoderFuncs{ + size: sizeSfixed32, + marshal: appendSfixed32, + unmarshal: consumeSfixed32, + merge: mergeInt32, +} + +// sizeSfixed32NoZero returns the size of wire encoding a int32 pointer as a Sfixed32. +// The zero value is not encoded. +func sizeSfixed32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeFixed32() +} + +// appendSfixed32NoZero wire encodes a int32 pointer as a Sfixed32. +// The zero value is not encoded. +func appendSfixed32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, uint32(v)) + return b, nil +} + +var coderSfixed32NoZero = pointerCoderFuncs{ + size: sizeSfixed32NoZero, + marshal: appendSfixed32NoZero, + unmarshal: consumeSfixed32, + merge: mergeInt32NoZero, +} + +// sizeSfixed32Ptr returns the size of wire encoding a *int32 pointer as a Sfixed32. +// It panics if the pointer is nil. +func sizeSfixed32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed32() +} + +// appendSfixed32Ptr wire encodes a *int32 pointer as a Sfixed32. +// It panics if the pointer is nil. +func appendSfixed32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, uint32(v)) + return b, nil +} + +// consumeSfixed32Ptr wire decodes a *int32 pointer as a Sfixed32. +func consumeSfixed32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + vp := p.Int32Ptr() + if *vp == nil { + *vp = new(int32) + } + **vp = int32(v) + out.n = n + return out, nil +} + +var coderSfixed32Ptr = pointerCoderFuncs{ + size: sizeSfixed32Ptr, + marshal: appendSfixed32Ptr, + unmarshal: consumeSfixed32Ptr, + merge: mergeInt32Ptr, +} + +// sizeSfixed32Slice returns the size of wire encoding a []int32 pointer as a repeated Sfixed32. +func sizeSfixed32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed32()) + return size +} + +// appendSfixed32Slice encodes a []int32 pointer as a repeated Sfixed32. +func appendSfixed32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, uint32(v)) + } + return b, nil +} + +// consumeSfixed32Slice wire decodes a []int32 pointer as a repeated Sfixed32. +func consumeSfixed32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + s = append(s, int32(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int32(v)) + out.n = n + return out, nil +} + +var coderSfixed32Slice = pointerCoderFuncs{ + size: sizeSfixed32Slice, + marshal: appendSfixed32Slice, + unmarshal: consumeSfixed32Slice, + merge: mergeInt32Slice, +} + +// sizeSfixed32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Sfixed32. +func sizeSfixed32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed32() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendSfixed32PackedSlice encodes a []int32 pointer as a packed repeated Sfixed32. +func appendSfixed32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed32(b, uint32(v)) + } + return b, nil +} + +var coderSfixed32PackedSlice = pointerCoderFuncs{ + size: sizeSfixed32PackedSlice, + marshal: appendSfixed32PackedSlice, + unmarshal: consumeSfixed32Slice, + merge: mergeInt32Slice, +} + +// sizeSfixed32Value returns the size of wire encoding a int32 value as a Sfixed32. +func sizeSfixed32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed32() +} + +// appendSfixed32Value encodes a int32 value as a Sfixed32. +func appendSfixed32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, uint32(v.Int())) + return b, nil +} + +// consumeSfixed32Value decodes a int32 value as a Sfixed32. +func consumeSfixed32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt32(int32(v)), out, nil +} + +var coderSfixed32Value = valueCoderFuncs{ + size: sizeSfixed32Value, + marshal: appendSfixed32Value, + unmarshal: consumeSfixed32Value, + merge: mergeScalarValue, +} + +// sizeSfixed32SliceValue returns the size of wire encoding a []int32 value as a repeated Sfixed32. +func sizeSfixed32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed32()) + return size +} + +// appendSfixed32SliceValue encodes a []int32 value as a repeated Sfixed32. +func appendSfixed32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, uint32(v.Int())) + } + return b, nil +} + +// consumeSfixed32SliceValue wire decodes a []int32 value as a repeated Sfixed32. +func consumeSfixed32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + out.n = n + return listv, out, nil +} + +var coderSfixed32SliceValue = valueCoderFuncs{ + size: sizeSfixed32SliceValue, + marshal: appendSfixed32SliceValue, + unmarshal: consumeSfixed32SliceValue, + merge: mergeListValue, +} + +// sizeSfixed32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Sfixed32. +func sizeSfixed32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed32() + return tagsize + protowire.SizeBytes(n) +} + +// appendSfixed32PackedSliceValue encodes a []int32 value as a packed repeated Sfixed32. +func appendSfixed32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed32(b, uint32(v.Int())) + } + return b, nil +} + +var coderSfixed32PackedSliceValue = valueCoderFuncs{ + size: sizeSfixed32PackedSliceValue, + marshal: appendSfixed32PackedSliceValue, + unmarshal: consumeSfixed32SliceValue, + merge: mergeListValue, +} + +// sizeFixed32 returns the size of wire encoding a uint32 pointer as a Fixed32. +func sizeFixed32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed32() +} + +// appendFixed32 wire encodes a uint32 pointer as a Fixed32. +func appendFixed32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, v) + return b, nil +} + +// consumeFixed32 wire decodes a uint32 pointer as a Fixed32. +func consumeFixed32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *p.Uint32() = v + out.n = n + return out, nil +} + +var coderFixed32 = pointerCoderFuncs{ + size: sizeFixed32, + marshal: appendFixed32, + unmarshal: consumeFixed32, + merge: mergeUint32, +} + +// sizeFixed32NoZero returns the size of wire encoding a uint32 pointer as a Fixed32. +// The zero value is not encoded. +func sizeFixed32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeFixed32() +} + +// appendFixed32NoZero wire encodes a uint32 pointer as a Fixed32. +// The zero value is not encoded. +func appendFixed32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, v) + return b, nil +} + +var coderFixed32NoZero = pointerCoderFuncs{ + size: sizeFixed32NoZero, + marshal: appendFixed32NoZero, + unmarshal: consumeFixed32, + merge: mergeUint32NoZero, +} + +// sizeFixed32Ptr returns the size of wire encoding a *uint32 pointer as a Fixed32. +// It panics if the pointer is nil. +func sizeFixed32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed32() +} + +// appendFixed32Ptr wire encodes a *uint32 pointer as a Fixed32. +// It panics if the pointer is nil. +func appendFixed32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Uint32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, v) + return b, nil +} + +// consumeFixed32Ptr wire decodes a *uint32 pointer as a Fixed32. +func consumeFixed32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + vp := p.Uint32Ptr() + if *vp == nil { + *vp = new(uint32) + } + **vp = v + out.n = n + return out, nil +} + +var coderFixed32Ptr = pointerCoderFuncs{ + size: sizeFixed32Ptr, + marshal: appendFixed32Ptr, + unmarshal: consumeFixed32Ptr, + merge: mergeUint32Ptr, +} + +// sizeFixed32Slice returns the size of wire encoding a []uint32 pointer as a repeated Fixed32. +func sizeFixed32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint32Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed32()) + return size +} + +// appendFixed32Slice encodes a []uint32 pointer as a repeated Fixed32. +func appendFixed32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, v) + } + return b, nil +} + +// consumeFixed32Slice wire decodes a []uint32 pointer as a repeated Fixed32. +func consumeFixed32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Uint32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + s = append(s, v) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, v) + out.n = n + return out, nil +} + +var coderFixed32Slice = pointerCoderFuncs{ + size: sizeFixed32Slice, + marshal: appendFixed32Slice, + unmarshal: consumeFixed32Slice, + merge: mergeUint32Slice, +} + +// sizeFixed32PackedSlice returns the size of wire encoding a []uint32 pointer as a packed repeated Fixed32. +func sizeFixed32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint32Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed32() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendFixed32PackedSlice encodes a []uint32 pointer as a packed repeated Fixed32. +func appendFixed32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed32(b, v) + } + return b, nil +} + +var coderFixed32PackedSlice = pointerCoderFuncs{ + size: sizeFixed32PackedSlice, + marshal: appendFixed32PackedSlice, + unmarshal: consumeFixed32Slice, + merge: mergeUint32Slice, +} + +// sizeFixed32Value returns the size of wire encoding a uint32 value as a Fixed32. +func sizeFixed32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed32() +} + +// appendFixed32Value encodes a uint32 value as a Fixed32. +func appendFixed32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, uint32(v.Uint())) + return b, nil +} + +// consumeFixed32Value decodes a uint32 value as a Fixed32. +func consumeFixed32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfUint32(uint32(v)), out, nil +} + +var coderFixed32Value = valueCoderFuncs{ + size: sizeFixed32Value, + marshal: appendFixed32Value, + unmarshal: consumeFixed32Value, + merge: mergeScalarValue, +} + +// sizeFixed32SliceValue returns the size of wire encoding a []uint32 value as a repeated Fixed32. +func sizeFixed32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed32()) + return size +} + +// appendFixed32SliceValue encodes a []uint32 value as a repeated Fixed32. +func appendFixed32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, uint32(v.Uint())) + } + return b, nil +} + +// consumeFixed32SliceValue wire decodes a []uint32 value as a repeated Fixed32. +func consumeFixed32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + out.n = n + return listv, out, nil +} + +var coderFixed32SliceValue = valueCoderFuncs{ + size: sizeFixed32SliceValue, + marshal: appendFixed32SliceValue, + unmarshal: consumeFixed32SliceValue, + merge: mergeListValue, +} + +// sizeFixed32PackedSliceValue returns the size of wire encoding a []uint32 value as a packed repeated Fixed32. +func sizeFixed32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed32() + return tagsize + protowire.SizeBytes(n) +} + +// appendFixed32PackedSliceValue encodes a []uint32 value as a packed repeated Fixed32. +func appendFixed32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed32(b, uint32(v.Uint())) + } + return b, nil +} + +var coderFixed32PackedSliceValue = valueCoderFuncs{ + size: sizeFixed32PackedSliceValue, + marshal: appendFixed32PackedSliceValue, + unmarshal: consumeFixed32SliceValue, + merge: mergeListValue, +} + +// sizeFloat returns the size of wire encoding a float32 pointer as a Float. +func sizeFloat(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed32() +} + +// appendFloat wire encodes a float32 pointer as a Float. +func appendFloat(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Float32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(v)) + return b, nil +} + +// consumeFloat wire decodes a float32 pointer as a Float. +func consumeFloat(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *p.Float32() = math.Float32frombits(v) + out.n = n + return out, nil +} + +var coderFloat = pointerCoderFuncs{ + size: sizeFloat, + marshal: appendFloat, + unmarshal: consumeFloat, + merge: mergeFloat32, +} + +// sizeFloatNoZero returns the size of wire encoding a float32 pointer as a Float. +// The zero value is not encoded. +func sizeFloatNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Float32() + if v == 0 && !math.Signbit(float64(v)) { + return 0 + } + return f.tagsize + protowire.SizeFixed32() +} + +// appendFloatNoZero wire encodes a float32 pointer as a Float. +// The zero value is not encoded. +func appendFloatNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Float32() + if v == 0 && !math.Signbit(float64(v)) { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(v)) + return b, nil +} + +var coderFloatNoZero = pointerCoderFuncs{ + size: sizeFloatNoZero, + marshal: appendFloatNoZero, + unmarshal: consumeFloat, + merge: mergeFloat32NoZero, +} + +// sizeFloatPtr returns the size of wire encoding a *float32 pointer as a Float. +// It panics if the pointer is nil. +func sizeFloatPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed32() +} + +// appendFloatPtr wire encodes a *float32 pointer as a Float. +// It panics if the pointer is nil. +func appendFloatPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Float32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(v)) + return b, nil +} + +// consumeFloatPtr wire decodes a *float32 pointer as a Float. +func consumeFloatPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + vp := p.Float32Ptr() + if *vp == nil { + *vp = new(float32) + } + **vp = math.Float32frombits(v) + out.n = n + return out, nil +} + +var coderFloatPtr = pointerCoderFuncs{ + size: sizeFloatPtr, + marshal: appendFloatPtr, + unmarshal: consumeFloatPtr, + merge: mergeFloat32Ptr, +} + +// sizeFloatSlice returns the size of wire encoding a []float32 pointer as a repeated Float. +func sizeFloatSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Float32Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed32()) + return size +} + +// appendFloatSlice encodes a []float32 pointer as a repeated Float. +func appendFloatSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Float32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(v)) + } + return b, nil +} + +// consumeFloatSlice wire decodes a []float32 pointer as a repeated Float. +func consumeFloatSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Float32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + s = append(s, math.Float32frombits(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, math.Float32frombits(v)) + out.n = n + return out, nil +} + +var coderFloatSlice = pointerCoderFuncs{ + size: sizeFloatSlice, + marshal: appendFloatSlice, + unmarshal: consumeFloatSlice, + merge: mergeFloat32Slice, +} + +// sizeFloatPackedSlice returns the size of wire encoding a []float32 pointer as a packed repeated Float. +func sizeFloatPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Float32Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed32() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendFloatPackedSlice encodes a []float32 pointer as a packed repeated Float. +func appendFloatPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Float32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed32(b, math.Float32bits(v)) + } + return b, nil +} + +var coderFloatPackedSlice = pointerCoderFuncs{ + size: sizeFloatPackedSlice, + marshal: appendFloatPackedSlice, + unmarshal: consumeFloatSlice, + merge: mergeFloat32Slice, +} + +// sizeFloatValue returns the size of wire encoding a float32 value as a Float. +func sizeFloatValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed32() +} + +// appendFloatValue encodes a float32 value as a Float. +func appendFloatValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float()))) + return b, nil +} + +// consumeFloatValue decodes a float32 value as a Float. +func consumeFloatValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))), out, nil +} + +var coderFloatValue = valueCoderFuncs{ + size: sizeFloatValue, + marshal: appendFloatValue, + unmarshal: consumeFloatValue, + merge: mergeScalarValue, +} + +// sizeFloatSliceValue returns the size of wire encoding a []float32 value as a repeated Float. +func sizeFloatSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed32()) + return size +} + +// appendFloatSliceValue encodes a []float32 value as a repeated Float. +func appendFloatSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float()))) + } + return b, nil +} + +// consumeFloatSliceValue wire decodes a []float32 value as a repeated Float. +func consumeFloatSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v)))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v)))) + out.n = n + return listv, out, nil +} + +var coderFloatSliceValue = valueCoderFuncs{ + size: sizeFloatSliceValue, + marshal: appendFloatSliceValue, + unmarshal: consumeFloatSliceValue, + merge: mergeListValue, +} + +// sizeFloatPackedSliceValue returns the size of wire encoding a []float32 value as a packed repeated Float. +func sizeFloatPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed32() + return tagsize + protowire.SizeBytes(n) +} + +// appendFloatPackedSliceValue encodes a []float32 value as a packed repeated Float. +func appendFloatPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float()))) + } + return b, nil +} + +var coderFloatPackedSliceValue = valueCoderFuncs{ + size: sizeFloatPackedSliceValue, + marshal: appendFloatPackedSliceValue, + unmarshal: consumeFloatSliceValue, + merge: mergeListValue, +} + +// sizeSfixed64 returns the size of wire encoding a int64 pointer as a Sfixed64. +func sizeSfixed64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed64() +} + +// appendSfixed64 wire encodes a int64 pointer as a Sfixed64. +func appendSfixed64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, uint64(v)) + return b, nil +} + +// consumeSfixed64 wire decodes a int64 pointer as a Sfixed64. +func consumeSfixed64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *p.Int64() = int64(v) + out.n = n + return out, nil +} + +var coderSfixed64 = pointerCoderFuncs{ + size: sizeSfixed64, + marshal: appendSfixed64, + unmarshal: consumeSfixed64, + merge: mergeInt64, +} + +// sizeSfixed64NoZero returns the size of wire encoding a int64 pointer as a Sfixed64. +// The zero value is not encoded. +func sizeSfixed64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeFixed64() +} + +// appendSfixed64NoZero wire encodes a int64 pointer as a Sfixed64. +// The zero value is not encoded. +func appendSfixed64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, uint64(v)) + return b, nil +} + +var coderSfixed64NoZero = pointerCoderFuncs{ + size: sizeSfixed64NoZero, + marshal: appendSfixed64NoZero, + unmarshal: consumeSfixed64, + merge: mergeInt64NoZero, +} + +// sizeSfixed64Ptr returns the size of wire encoding a *int64 pointer as a Sfixed64. +// It panics if the pointer is nil. +func sizeSfixed64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed64() +} + +// appendSfixed64Ptr wire encodes a *int64 pointer as a Sfixed64. +// It panics if the pointer is nil. +func appendSfixed64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, uint64(v)) + return b, nil +} + +// consumeSfixed64Ptr wire decodes a *int64 pointer as a Sfixed64. +func consumeSfixed64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + vp := p.Int64Ptr() + if *vp == nil { + *vp = new(int64) + } + **vp = int64(v) + out.n = n + return out, nil +} + +var coderSfixed64Ptr = pointerCoderFuncs{ + size: sizeSfixed64Ptr, + marshal: appendSfixed64Ptr, + unmarshal: consumeSfixed64Ptr, + merge: mergeInt64Ptr, +} + +// sizeSfixed64Slice returns the size of wire encoding a []int64 pointer as a repeated Sfixed64. +func sizeSfixed64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed64()) + return size +} + +// appendSfixed64Slice encodes a []int64 pointer as a repeated Sfixed64. +func appendSfixed64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, uint64(v)) + } + return b, nil +} + +// consumeSfixed64Slice wire decodes a []int64 pointer as a repeated Sfixed64. +func consumeSfixed64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + s = append(s, int64(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int64(v)) + out.n = n + return out, nil +} + +var coderSfixed64Slice = pointerCoderFuncs{ + size: sizeSfixed64Slice, + marshal: appendSfixed64Slice, + unmarshal: consumeSfixed64Slice, + merge: mergeInt64Slice, +} + +// sizeSfixed64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Sfixed64. +func sizeSfixed64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed64() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendSfixed64PackedSlice encodes a []int64 pointer as a packed repeated Sfixed64. +func appendSfixed64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed64(b, uint64(v)) + } + return b, nil +} + +var coderSfixed64PackedSlice = pointerCoderFuncs{ + size: sizeSfixed64PackedSlice, + marshal: appendSfixed64PackedSlice, + unmarshal: consumeSfixed64Slice, + merge: mergeInt64Slice, +} + +// sizeSfixed64Value returns the size of wire encoding a int64 value as a Sfixed64. +func sizeSfixed64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed64() +} + +// appendSfixed64Value encodes a int64 value as a Sfixed64. +func appendSfixed64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, uint64(v.Int())) + return b, nil +} + +// consumeSfixed64Value decodes a int64 value as a Sfixed64. +func consumeSfixed64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt64(int64(v)), out, nil +} + +var coderSfixed64Value = valueCoderFuncs{ + size: sizeSfixed64Value, + marshal: appendSfixed64Value, + unmarshal: consumeSfixed64Value, + merge: mergeScalarValue, +} + +// sizeSfixed64SliceValue returns the size of wire encoding a []int64 value as a repeated Sfixed64. +func sizeSfixed64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed64()) + return size +} + +// appendSfixed64SliceValue encodes a []int64 value as a repeated Sfixed64. +func appendSfixed64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, uint64(v.Int())) + } + return b, nil +} + +// consumeSfixed64SliceValue wire decodes a []int64 value as a repeated Sfixed64. +func consumeSfixed64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + out.n = n + return listv, out, nil +} + +var coderSfixed64SliceValue = valueCoderFuncs{ + size: sizeSfixed64SliceValue, + marshal: appendSfixed64SliceValue, + unmarshal: consumeSfixed64SliceValue, + merge: mergeListValue, +} + +// sizeSfixed64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Sfixed64. +func sizeSfixed64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed64() + return tagsize + protowire.SizeBytes(n) +} + +// appendSfixed64PackedSliceValue encodes a []int64 value as a packed repeated Sfixed64. +func appendSfixed64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed64(b, uint64(v.Int())) + } + return b, nil +} + +var coderSfixed64PackedSliceValue = valueCoderFuncs{ + size: sizeSfixed64PackedSliceValue, + marshal: appendSfixed64PackedSliceValue, + unmarshal: consumeSfixed64SliceValue, + merge: mergeListValue, +} + +// sizeFixed64 returns the size of wire encoding a uint64 pointer as a Fixed64. +func sizeFixed64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed64() +} + +// appendFixed64 wire encodes a uint64 pointer as a Fixed64. +func appendFixed64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, v) + return b, nil +} + +// consumeFixed64 wire decodes a uint64 pointer as a Fixed64. +func consumeFixed64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *p.Uint64() = v + out.n = n + return out, nil +} + +var coderFixed64 = pointerCoderFuncs{ + size: sizeFixed64, + marshal: appendFixed64, + unmarshal: consumeFixed64, + merge: mergeUint64, +} + +// sizeFixed64NoZero returns the size of wire encoding a uint64 pointer as a Fixed64. +// The zero value is not encoded. +func sizeFixed64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeFixed64() +} + +// appendFixed64NoZero wire encodes a uint64 pointer as a Fixed64. +// The zero value is not encoded. +func appendFixed64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, v) + return b, nil +} + +var coderFixed64NoZero = pointerCoderFuncs{ + size: sizeFixed64NoZero, + marshal: appendFixed64NoZero, + unmarshal: consumeFixed64, + merge: mergeUint64NoZero, +} + +// sizeFixed64Ptr returns the size of wire encoding a *uint64 pointer as a Fixed64. +// It panics if the pointer is nil. +func sizeFixed64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed64() +} + +// appendFixed64Ptr wire encodes a *uint64 pointer as a Fixed64. +// It panics if the pointer is nil. +func appendFixed64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Uint64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, v) + return b, nil +} + +// consumeFixed64Ptr wire decodes a *uint64 pointer as a Fixed64. +func consumeFixed64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + vp := p.Uint64Ptr() + if *vp == nil { + *vp = new(uint64) + } + **vp = v + out.n = n + return out, nil +} + +var coderFixed64Ptr = pointerCoderFuncs{ + size: sizeFixed64Ptr, + marshal: appendFixed64Ptr, + unmarshal: consumeFixed64Ptr, + merge: mergeUint64Ptr, +} + +// sizeFixed64Slice returns the size of wire encoding a []uint64 pointer as a repeated Fixed64. +func sizeFixed64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint64Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed64()) + return size +} + +// appendFixed64Slice encodes a []uint64 pointer as a repeated Fixed64. +func appendFixed64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, v) + } + return b, nil +} + +// consumeFixed64Slice wire decodes a []uint64 pointer as a repeated Fixed64. +func consumeFixed64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Uint64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + s = append(s, v) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, v) + out.n = n + return out, nil +} + +var coderFixed64Slice = pointerCoderFuncs{ + size: sizeFixed64Slice, + marshal: appendFixed64Slice, + unmarshal: consumeFixed64Slice, + merge: mergeUint64Slice, +} + +// sizeFixed64PackedSlice returns the size of wire encoding a []uint64 pointer as a packed repeated Fixed64. +func sizeFixed64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint64Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed64() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendFixed64PackedSlice encodes a []uint64 pointer as a packed repeated Fixed64. +func appendFixed64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed64(b, v) + } + return b, nil +} + +var coderFixed64PackedSlice = pointerCoderFuncs{ + size: sizeFixed64PackedSlice, + marshal: appendFixed64PackedSlice, + unmarshal: consumeFixed64Slice, + merge: mergeUint64Slice, +} + +// sizeFixed64Value returns the size of wire encoding a uint64 value as a Fixed64. +func sizeFixed64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed64() +} + +// appendFixed64Value encodes a uint64 value as a Fixed64. +func appendFixed64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, v.Uint()) + return b, nil +} + +// consumeFixed64Value decodes a uint64 value as a Fixed64. +func consumeFixed64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfUint64(v), out, nil +} + +var coderFixed64Value = valueCoderFuncs{ + size: sizeFixed64Value, + marshal: appendFixed64Value, + unmarshal: consumeFixed64Value, + merge: mergeScalarValue, +} + +// sizeFixed64SliceValue returns the size of wire encoding a []uint64 value as a repeated Fixed64. +func sizeFixed64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed64()) + return size +} + +// appendFixed64SliceValue encodes a []uint64 value as a repeated Fixed64. +func appendFixed64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, v.Uint()) + } + return b, nil +} + +// consumeFixed64SliceValue wire decodes a []uint64 value as a repeated Fixed64. +func consumeFixed64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + out.n = n + return listv, out, nil +} + +var coderFixed64SliceValue = valueCoderFuncs{ + size: sizeFixed64SliceValue, + marshal: appendFixed64SliceValue, + unmarshal: consumeFixed64SliceValue, + merge: mergeListValue, +} + +// sizeFixed64PackedSliceValue returns the size of wire encoding a []uint64 value as a packed repeated Fixed64. +func sizeFixed64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed64() + return tagsize + protowire.SizeBytes(n) +} + +// appendFixed64PackedSliceValue encodes a []uint64 value as a packed repeated Fixed64. +func appendFixed64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed64(b, v.Uint()) + } + return b, nil +} + +var coderFixed64PackedSliceValue = valueCoderFuncs{ + size: sizeFixed64PackedSliceValue, + marshal: appendFixed64PackedSliceValue, + unmarshal: consumeFixed64SliceValue, + merge: mergeListValue, +} + +// sizeDouble returns the size of wire encoding a float64 pointer as a Double. +func sizeDouble(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed64() +} + +// appendDouble wire encodes a float64 pointer as a Double. +func appendDouble(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Float64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v)) + return b, nil +} + +// consumeDouble wire decodes a float64 pointer as a Double. +func consumeDouble(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *p.Float64() = math.Float64frombits(v) + out.n = n + return out, nil +} + +var coderDouble = pointerCoderFuncs{ + size: sizeDouble, + marshal: appendDouble, + unmarshal: consumeDouble, + merge: mergeFloat64, +} + +// sizeDoubleNoZero returns the size of wire encoding a float64 pointer as a Double. +// The zero value is not encoded. +func sizeDoubleNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Float64() + if v == 0 && !math.Signbit(float64(v)) { + return 0 + } + return f.tagsize + protowire.SizeFixed64() +} + +// appendDoubleNoZero wire encodes a float64 pointer as a Double. +// The zero value is not encoded. +func appendDoubleNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Float64() + if v == 0 && !math.Signbit(float64(v)) { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v)) + return b, nil +} + +var coderDoubleNoZero = pointerCoderFuncs{ + size: sizeDoubleNoZero, + marshal: appendDoubleNoZero, + unmarshal: consumeDouble, + merge: mergeFloat64NoZero, +} + +// sizeDoublePtr returns the size of wire encoding a *float64 pointer as a Double. +// It panics if the pointer is nil. +func sizeDoublePtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed64() +} + +// appendDoublePtr wire encodes a *float64 pointer as a Double. +// It panics if the pointer is nil. +func appendDoublePtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Float64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v)) + return b, nil +} + +// consumeDoublePtr wire decodes a *float64 pointer as a Double. +func consumeDoublePtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + vp := p.Float64Ptr() + if *vp == nil { + *vp = new(float64) + } + **vp = math.Float64frombits(v) + out.n = n + return out, nil +} + +var coderDoublePtr = pointerCoderFuncs{ + size: sizeDoublePtr, + marshal: appendDoublePtr, + unmarshal: consumeDoublePtr, + merge: mergeFloat64Ptr, +} + +// sizeDoubleSlice returns the size of wire encoding a []float64 pointer as a repeated Double. +func sizeDoubleSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Float64Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed64()) + return size +} + +// appendDoubleSlice encodes a []float64 pointer as a repeated Double. +func appendDoubleSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Float64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v)) + } + return b, nil +} + +// consumeDoubleSlice wire decodes a []float64 pointer as a repeated Double. +func consumeDoubleSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Float64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + s = append(s, math.Float64frombits(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, math.Float64frombits(v)) + out.n = n + return out, nil +} + +var coderDoubleSlice = pointerCoderFuncs{ + size: sizeDoubleSlice, + marshal: appendDoubleSlice, + unmarshal: consumeDoubleSlice, + merge: mergeFloat64Slice, +} + +// sizeDoublePackedSlice returns the size of wire encoding a []float64 pointer as a packed repeated Double. +func sizeDoublePackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Float64Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed64() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendDoublePackedSlice encodes a []float64 pointer as a packed repeated Double. +func appendDoublePackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Float64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed64(b, math.Float64bits(v)) + } + return b, nil +} + +var coderDoublePackedSlice = pointerCoderFuncs{ + size: sizeDoublePackedSlice, + marshal: appendDoublePackedSlice, + unmarshal: consumeDoubleSlice, + merge: mergeFloat64Slice, +} + +// sizeDoubleValue returns the size of wire encoding a float64 value as a Double. +func sizeDoubleValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed64() +} + +// appendDoubleValue encodes a float64 value as a Double. +func appendDoubleValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v.Float())) + return b, nil +} + +// consumeDoubleValue decodes a float64 value as a Double. +func consumeDoubleValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfFloat64(math.Float64frombits(v)), out, nil +} + +var coderDoubleValue = valueCoderFuncs{ + size: sizeDoubleValue, + marshal: appendDoubleValue, + unmarshal: consumeDoubleValue, + merge: mergeScalarValue, +} + +// sizeDoubleSliceValue returns the size of wire encoding a []float64 value as a repeated Double. +func sizeDoubleSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed64()) + return size +} + +// appendDoubleSliceValue encodes a []float64 value as a repeated Double. +func appendDoubleSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v.Float())) + } + return b, nil +} + +// consumeDoubleSliceValue wire decodes a []float64 value as a repeated Double. +func consumeDoubleSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v))) + out.n = n + return listv, out, nil +} + +var coderDoubleSliceValue = valueCoderFuncs{ + size: sizeDoubleSliceValue, + marshal: appendDoubleSliceValue, + unmarshal: consumeDoubleSliceValue, + merge: mergeListValue, +} + +// sizeDoublePackedSliceValue returns the size of wire encoding a []float64 value as a packed repeated Double. +func sizeDoublePackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed64() + return tagsize + protowire.SizeBytes(n) +} + +// appendDoublePackedSliceValue encodes a []float64 value as a packed repeated Double. +func appendDoublePackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed64(b, math.Float64bits(v.Float())) + } + return b, nil +} + +var coderDoublePackedSliceValue = valueCoderFuncs{ + size: sizeDoublePackedSliceValue, + marshal: appendDoublePackedSliceValue, + unmarshal: consumeDoubleSliceValue, + merge: mergeListValue, +} + +// sizeString returns the size of wire encoding a string pointer as a String. +func sizeString(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.String() + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendString wire encodes a string pointer as a String. +func appendString(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.String() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + return b, nil +} + +// consumeString wire decodes a string pointer as a String. +func consumeString(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *p.String() = string(v) + out.n = n + return out, nil +} + +var coderString = pointerCoderFuncs{ + size: sizeString, + marshal: appendString, + unmarshal: consumeString, + merge: mergeString, +} + +// appendStringValidateUTF8 wire encodes a string pointer as a String. +func appendStringValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.String() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + if !utf8.ValidString(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeStringValidateUTF8 wire decodes a string pointer as a String. +func consumeStringValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + *p.String() = string(v) + out.n = n + return out, nil +} + +var coderStringValidateUTF8 = pointerCoderFuncs{ + size: sizeString, + marshal: appendStringValidateUTF8, + unmarshal: consumeStringValidateUTF8, + merge: mergeString, +} + +// sizeStringNoZero returns the size of wire encoding a string pointer as a String. +// The zero value is not encoded. +func sizeStringNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.String() + if len(v) == 0 { + return 0 + } + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendStringNoZero wire encodes a string pointer as a String. +// The zero value is not encoded. +func appendStringNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.String() + if len(v) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + return b, nil +} + +var coderStringNoZero = pointerCoderFuncs{ + size: sizeStringNoZero, + marshal: appendStringNoZero, + unmarshal: consumeString, + merge: mergeStringNoZero, +} + +// appendStringNoZeroValidateUTF8 wire encodes a string pointer as a String. +// The zero value is not encoded. +func appendStringNoZeroValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.String() + if len(v) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + if !utf8.ValidString(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +var coderStringNoZeroValidateUTF8 = pointerCoderFuncs{ + size: sizeStringNoZero, + marshal: appendStringNoZeroValidateUTF8, + unmarshal: consumeStringValidateUTF8, + merge: mergeStringNoZero, +} + +// sizeStringPtr returns the size of wire encoding a *string pointer as a String. +// It panics if the pointer is nil. +func sizeStringPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.StringPtr() + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendStringPtr wire encodes a *string pointer as a String. +// It panics if the pointer is nil. +func appendStringPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.StringPtr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + return b, nil +} + +// consumeStringPtr wire decodes a *string pointer as a String. +func consumeStringPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + vp := p.StringPtr() + if *vp == nil { + *vp = new(string) + } + **vp = string(v) + out.n = n + return out, nil +} + +var coderStringPtr = pointerCoderFuncs{ + size: sizeStringPtr, + marshal: appendStringPtr, + unmarshal: consumeStringPtr, + merge: mergeStringPtr, +} + +// appendStringPtrValidateUTF8 wire encodes a *string pointer as a String. +// It panics if the pointer is nil. +func appendStringPtrValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.StringPtr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + if !utf8.ValidString(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeStringPtrValidateUTF8 wire decodes a *string pointer as a String. +func consumeStringPtrValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + vp := p.StringPtr() + if *vp == nil { + *vp = new(string) + } + **vp = string(v) + out.n = n + return out, nil +} + +var coderStringPtrValidateUTF8 = pointerCoderFuncs{ + size: sizeStringPtr, + marshal: appendStringPtrValidateUTF8, + unmarshal: consumeStringPtrValidateUTF8, + merge: mergeStringPtr, +} + +// sizeStringSlice returns the size of wire encoding a []string pointer as a repeated String. +func sizeStringSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.StringSlice() + for _, v := range s { + size += f.tagsize + protowire.SizeBytes(len(v)) + } + return size +} + +// appendStringSlice encodes a []string pointer as a repeated String. +func appendStringSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.StringSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + } + return b, nil +} + +// consumeStringSlice wire decodes a []string pointer as a repeated String. +func consumeStringSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.StringSlice() + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, string(v)) + out.n = n + return out, nil +} + +var coderStringSlice = pointerCoderFuncs{ + size: sizeStringSlice, + marshal: appendStringSlice, + unmarshal: consumeStringSlice, + merge: mergeStringSlice, +} + +// appendStringSliceValidateUTF8 encodes a []string pointer as a repeated String. +func appendStringSliceValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.StringSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + if !utf8.ValidString(v) { + return b, errInvalidUTF8{} + } + } + return b, nil +} + +// consumeStringSliceValidateUTF8 wire decodes a []string pointer as a repeated String. +func consumeStringSliceValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + sp := p.StringSlice() + *sp = append(*sp, string(v)) + out.n = n + return out, nil +} + +var coderStringSliceValidateUTF8 = pointerCoderFuncs{ + size: sizeStringSlice, + marshal: appendStringSliceValidateUTF8, + unmarshal: consumeStringSliceValidateUTF8, + merge: mergeStringSlice, +} + +// sizeStringValue returns the size of wire encoding a string value as a String. +func sizeStringValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeBytes(len(v.String())) +} + +// appendStringValue encodes a string value as a String. +func appendStringValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendString(b, v.String()) + return b, nil +} + +// consumeStringValue decodes a string value as a String. +func consumeStringValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfString(string(v)), out, nil +} + +var coderStringValue = valueCoderFuncs{ + size: sizeStringValue, + marshal: appendStringValue, + unmarshal: consumeStringValue, + merge: mergeScalarValue, +} + +// appendStringValueValidateUTF8 encodes a string value as a String. +func appendStringValueValidateUTF8(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendString(b, v.String()) + if !utf8.ValidString(v.String()) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeStringValueValidateUTF8 decodes a string value as a String. +func consumeStringValueValidateUTF8(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + if !utf8.Valid(v) { + return protoreflect.Value{}, out, errInvalidUTF8{} + } + out.n = n + return protoreflect.ValueOfString(string(v)), out, nil +} + +var coderStringValueValidateUTF8 = valueCoderFuncs{ + size: sizeStringValue, + marshal: appendStringValueValidateUTF8, + unmarshal: consumeStringValueValidateUTF8, + merge: mergeScalarValue, +} + +// sizeStringSliceValue returns the size of wire encoding a []string value as a repeated String. +func sizeStringSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeBytes(len(v.String())) + } + return size +} + +// appendStringSliceValue encodes a []string value as a repeated String. +func appendStringSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendString(b, v.String()) + } + return b, nil +} + +// consumeStringSliceValue wire decodes a []string value as a repeated String. +func consumeStringSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfString(string(v))) + out.n = n + return listv, out, nil +} + +var coderStringSliceValue = valueCoderFuncs{ + size: sizeStringSliceValue, + marshal: appendStringSliceValue, + unmarshal: consumeStringSliceValue, + merge: mergeListValue, +} + +// sizeBytes returns the size of wire encoding a []byte pointer as a Bytes. +func sizeBytes(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Bytes() + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendBytes wire encodes a []byte pointer as a Bytes. +func appendBytes(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bytes() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + return b, nil +} + +// consumeBytes wire decodes a []byte pointer as a Bytes. +func consumeBytes(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *p.Bytes() = append(emptyBuf[:], v...) + out.n = n + return out, nil +} + +var coderBytes = pointerCoderFuncs{ + size: sizeBytes, + marshal: appendBytes, + unmarshal: consumeBytes, + merge: mergeBytes, +} + +// appendBytesValidateUTF8 wire encodes a []byte pointer as a Bytes. +func appendBytesValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bytes() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + if !utf8.Valid(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeBytesValidateUTF8 wire decodes a []byte pointer as a Bytes. +func consumeBytesValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + *p.Bytes() = append(emptyBuf[:], v...) + out.n = n + return out, nil +} + +var coderBytesValidateUTF8 = pointerCoderFuncs{ + size: sizeBytes, + marshal: appendBytesValidateUTF8, + unmarshal: consumeBytesValidateUTF8, + merge: mergeBytes, +} + +// sizeBytesNoZero returns the size of wire encoding a []byte pointer as a Bytes. +// The zero value is not encoded. +func sizeBytesNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Bytes() + if len(v) == 0 { + return 0 + } + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendBytesNoZero wire encodes a []byte pointer as a Bytes. +// The zero value is not encoded. +func appendBytesNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bytes() + if len(v) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + return b, nil +} + +// consumeBytesNoZero wire decodes a []byte pointer as a Bytes. +// The zero value is not decoded. +func consumeBytesNoZero(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *p.Bytes() = append(([]byte)(nil), v...) + out.n = n + return out, nil +} + +var coderBytesNoZero = pointerCoderFuncs{ + size: sizeBytesNoZero, + marshal: appendBytesNoZero, + unmarshal: consumeBytesNoZero, + merge: mergeBytesNoZero, +} + +// appendBytesNoZeroValidateUTF8 wire encodes a []byte pointer as a Bytes. +// The zero value is not encoded. +func appendBytesNoZeroValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bytes() + if len(v) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + if !utf8.Valid(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeBytesNoZeroValidateUTF8 wire decodes a []byte pointer as a Bytes. +func consumeBytesNoZeroValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + *p.Bytes() = append(([]byte)(nil), v...) + out.n = n + return out, nil +} + +var coderBytesNoZeroValidateUTF8 = pointerCoderFuncs{ + size: sizeBytesNoZero, + marshal: appendBytesNoZeroValidateUTF8, + unmarshal: consumeBytesNoZeroValidateUTF8, + merge: mergeBytesNoZero, +} + +// sizeBytesSlice returns the size of wire encoding a [][]byte pointer as a repeated Bytes. +func sizeBytesSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.BytesSlice() + for _, v := range s { + size += f.tagsize + protowire.SizeBytes(len(v)) + } + return size +} + +// appendBytesSlice encodes a [][]byte pointer as a repeated Bytes. +func appendBytesSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.BytesSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + } + return b, nil +} + +// consumeBytesSlice wire decodes a [][]byte pointer as a repeated Bytes. +func consumeBytesSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.BytesSlice() + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, append(emptyBuf[:], v...)) + out.n = n + return out, nil +} + +var coderBytesSlice = pointerCoderFuncs{ + size: sizeBytesSlice, + marshal: appendBytesSlice, + unmarshal: consumeBytesSlice, + merge: mergeBytesSlice, +} + +// appendBytesSliceValidateUTF8 encodes a [][]byte pointer as a repeated Bytes. +func appendBytesSliceValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.BytesSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + if !utf8.Valid(v) { + return b, errInvalidUTF8{} + } + } + return b, nil +} + +// consumeBytesSliceValidateUTF8 wire decodes a [][]byte pointer as a repeated Bytes. +func consumeBytesSliceValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + sp := p.BytesSlice() + *sp = append(*sp, append(emptyBuf[:], v...)) + out.n = n + return out, nil +} + +var coderBytesSliceValidateUTF8 = pointerCoderFuncs{ + size: sizeBytesSlice, + marshal: appendBytesSliceValidateUTF8, + unmarshal: consumeBytesSliceValidateUTF8, + merge: mergeBytesSlice, +} + +// sizeBytesValue returns the size of wire encoding a []byte value as a Bytes. +func sizeBytesValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeBytes(len(v.Bytes())) +} + +// appendBytesValue encodes a []byte value as a Bytes. +func appendBytesValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendBytes(b, v.Bytes()) + return b, nil +} + +// consumeBytesValue decodes a []byte value as a Bytes. +func consumeBytesValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfBytes(append(emptyBuf[:], v...)), out, nil +} + +var coderBytesValue = valueCoderFuncs{ + size: sizeBytesValue, + marshal: appendBytesValue, + unmarshal: consumeBytesValue, + merge: mergeBytesValue, +} + +// sizeBytesSliceValue returns the size of wire encoding a [][]byte value as a repeated Bytes. +func sizeBytesSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeBytes(len(v.Bytes())) + } + return size +} + +// appendBytesSliceValue encodes a [][]byte value as a repeated Bytes. +func appendBytesSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendBytes(b, v.Bytes()) + } + return b, nil +} + +// consumeBytesSliceValue wire decodes a [][]byte value as a repeated Bytes. +func consumeBytesSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfBytes(append(emptyBuf[:], v...))) + out.n = n + return listv, out, nil +} + +var coderBytesSliceValue = valueCoderFuncs{ + size: sizeBytesSliceValue, + marshal: appendBytesSliceValue, + unmarshal: consumeBytesSliceValue, + merge: mergeBytesListValue, +} + +// We append to an empty array rather than a nil []byte to get non-nil zero-length byte slices. +var emptyBuf [0]byte + +var wireTypes = map[protoreflect.Kind]protowire.Type{ + protoreflect.BoolKind: protowire.VarintType, + protoreflect.EnumKind: protowire.VarintType, + protoreflect.Int32Kind: protowire.VarintType, + protoreflect.Sint32Kind: protowire.VarintType, + protoreflect.Uint32Kind: protowire.VarintType, + protoreflect.Int64Kind: protowire.VarintType, + protoreflect.Sint64Kind: protowire.VarintType, + protoreflect.Uint64Kind: protowire.VarintType, + protoreflect.Sfixed32Kind: protowire.Fixed32Type, + protoreflect.Fixed32Kind: protowire.Fixed32Type, + protoreflect.FloatKind: protowire.Fixed32Type, + protoreflect.Sfixed64Kind: protowire.Fixed64Type, + protoreflect.Fixed64Kind: protowire.Fixed64Type, + protoreflect.DoubleKind: protowire.Fixed64Type, + protoreflect.StringKind: protowire.BytesType, + protoreflect.BytesKind: protowire.BytesType, + protoreflect.MessageKind: protowire.BytesType, + protoreflect.GroupKind: protowire.StartGroupType, +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_map.go b/vendor/google.golang.org/protobuf/internal/impl/codec_map.go new file mode 100644 index 000000000..c1245fef4 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_map.go @@ -0,0 +1,388 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "reflect" + "sort" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/genid" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type mapInfo struct { + goType reflect.Type + keyWiretag uint64 + valWiretag uint64 + keyFuncs valueCoderFuncs + valFuncs valueCoderFuncs + keyZero pref.Value + keyKind pref.Kind + conv *mapConverter +} + +func encoderFuncsForMap(fd pref.FieldDescriptor, ft reflect.Type) (valueMessage *MessageInfo, funcs pointerCoderFuncs) { + // TODO: Consider generating specialized map coders. + keyField := fd.MapKey() + valField := fd.MapValue() + keyWiretag := protowire.EncodeTag(1, wireTypes[keyField.Kind()]) + valWiretag := protowire.EncodeTag(2, wireTypes[valField.Kind()]) + keyFuncs := encoderFuncsForValue(keyField) + valFuncs := encoderFuncsForValue(valField) + conv := newMapConverter(ft, fd) + + mapi := &mapInfo{ + goType: ft, + keyWiretag: keyWiretag, + valWiretag: valWiretag, + keyFuncs: keyFuncs, + valFuncs: valFuncs, + keyZero: keyField.Default(), + keyKind: keyField.Kind(), + conv: conv, + } + if valField.Kind() == pref.MessageKind { + valueMessage = getMessageInfo(ft.Elem()) + } + + funcs = pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return sizeMap(p.AsValueOf(ft).Elem(), mapi, f, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return appendMap(b, p.AsValueOf(ft).Elem(), mapi, f, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + mp := p.AsValueOf(ft) + if mp.Elem().IsNil() { + mp.Elem().Set(reflect.MakeMap(mapi.goType)) + } + if f.mi == nil { + return consumeMap(b, mp.Elem(), wtyp, mapi, f, opts) + } else { + return consumeMapOfMessage(b, mp.Elem(), wtyp, mapi, f, opts) + } + }, + } + switch valField.Kind() { + case pref.MessageKind: + funcs.merge = mergeMapOfMessage + case pref.BytesKind: + funcs.merge = mergeMapOfBytes + default: + funcs.merge = mergeMap + } + if valFuncs.isInit != nil { + funcs.isInit = func(p pointer, f *coderFieldInfo) error { + return isInitMap(p.AsValueOf(ft).Elem(), mapi, f) + } + } + return valueMessage, funcs +} + +const ( + mapKeyTagSize = 1 // field 1, tag size 1. + mapValTagSize = 1 // field 2, tag size 2. +) + +func sizeMap(mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) int { + if mapv.Len() == 0 { + return 0 + } + n := 0 + iter := mapRange(mapv) + for iter.Next() { + key := mapi.conv.keyConv.PBValueOf(iter.Key()).MapKey() + keySize := mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts) + var valSize int + value := mapi.conv.valConv.PBValueOf(iter.Value()) + if f.mi == nil { + valSize = mapi.valFuncs.size(value, mapValTagSize, opts) + } else { + p := pointerOfValue(iter.Value()) + valSize += mapValTagSize + valSize += protowire.SizeBytes(f.mi.sizePointer(p, opts)) + } + n += f.tagsize + protowire.SizeBytes(keySize+valSize) + } + return n +} + +func consumeMap(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + var ( + key = mapi.keyZero + val = mapi.conv.valConv.New() + ) + for len(b) > 0 { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return out, errDecode + } + if num > protowire.MaxValidNumber { + return out, errDecode + } + b = b[n:] + err := errUnknown + switch num { + case genid.MapEntry_Key_field_number: + var v pref.Value + var o unmarshalOutput + v, o, err = mapi.keyFuncs.unmarshal(b, key, num, wtyp, opts) + if err != nil { + break + } + key = v + n = o.n + case genid.MapEntry_Value_field_number: + var v pref.Value + var o unmarshalOutput + v, o, err = mapi.valFuncs.unmarshal(b, val, num, wtyp, opts) + if err != nil { + break + } + val = v + n = o.n + } + if err == errUnknown { + n = protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return out, errDecode + } + } else if err != nil { + return out, err + } + b = b[n:] + } + mapv.SetMapIndex(mapi.conv.keyConv.GoValueOf(key), mapi.conv.valConv.GoValueOf(val)) + out.n = n + return out, nil +} + +func consumeMapOfMessage(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + var ( + key = mapi.keyZero + val = reflect.New(f.mi.GoReflectType.Elem()) + ) + for len(b) > 0 { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return out, errDecode + } + if num > protowire.MaxValidNumber { + return out, errDecode + } + b = b[n:] + err := errUnknown + switch num { + case 1: + var v pref.Value + var o unmarshalOutput + v, o, err = mapi.keyFuncs.unmarshal(b, key, num, wtyp, opts) + if err != nil { + break + } + key = v + n = o.n + case 2: + if wtyp != protowire.BytesType { + break + } + var v []byte + v, n = protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + var o unmarshalOutput + o, err = f.mi.unmarshalPointer(v, pointerOfValue(val), 0, opts) + if o.initialized { + // Consider this map item initialized so long as we see + // an initialized value. + out.initialized = true + } + } + if err == errUnknown { + n = protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return out, errDecode + } + } else if err != nil { + return out, err + } + b = b[n:] + } + mapv.SetMapIndex(mapi.conv.keyConv.GoValueOf(key), val) + out.n = n + return out, nil +} + +func appendMapItem(b []byte, keyrv, valrv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + if f.mi == nil { + key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey() + val := mapi.conv.valConv.PBValueOf(valrv) + size := 0 + size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts) + size += mapi.valFuncs.size(val, mapValTagSize, opts) + b = protowire.AppendVarint(b, uint64(size)) + b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts) + if err != nil { + return nil, err + } + return mapi.valFuncs.marshal(b, val, mapi.valWiretag, opts) + } else { + key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey() + val := pointerOfValue(valrv) + valSize := f.mi.sizePointer(val, opts) + size := 0 + size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts) + size += mapValTagSize + protowire.SizeBytes(valSize) + b = protowire.AppendVarint(b, uint64(size)) + b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts) + if err != nil { + return nil, err + } + b = protowire.AppendVarint(b, mapi.valWiretag) + b = protowire.AppendVarint(b, uint64(valSize)) + return f.mi.marshalAppendPointer(b, val, opts) + } +} + +func appendMap(b []byte, mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + if mapv.Len() == 0 { + return b, nil + } + if opts.Deterministic() { + return appendMapDeterministic(b, mapv, mapi, f, opts) + } + iter := mapRange(mapv) + for iter.Next() { + var err error + b = protowire.AppendVarint(b, f.wiretag) + b, err = appendMapItem(b, iter.Key(), iter.Value(), mapi, f, opts) + if err != nil { + return b, err + } + } + return b, nil +} + +func appendMapDeterministic(b []byte, mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + keys := mapv.MapKeys() + sort.Slice(keys, func(i, j int) bool { + switch keys[i].Kind() { + case reflect.Bool: + return !keys[i].Bool() && keys[j].Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return keys[i].Int() < keys[j].Int() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return keys[i].Uint() < keys[j].Uint() + case reflect.Float32, reflect.Float64: + return keys[i].Float() < keys[j].Float() + case reflect.String: + return keys[i].String() < keys[j].String() + default: + panic("invalid kind: " + keys[i].Kind().String()) + } + }) + for _, key := range keys { + var err error + b = protowire.AppendVarint(b, f.wiretag) + b, err = appendMapItem(b, key, mapv.MapIndex(key), mapi, f, opts) + if err != nil { + return b, err + } + } + return b, nil +} + +func isInitMap(mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo) error { + if mi := f.mi; mi != nil { + mi.init() + if !mi.needsInitCheck { + return nil + } + iter := mapRange(mapv) + for iter.Next() { + val := pointerOfValue(iter.Value()) + if err := mi.checkInitializedPointer(val); err != nil { + return err + } + } + } else { + iter := mapRange(mapv) + for iter.Next() { + val := mapi.conv.valConv.PBValueOf(iter.Value()) + if err := mapi.valFuncs.isInit(val); err != nil { + return err + } + } + } + return nil +} + +func mergeMap(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + dstm := dst.AsValueOf(f.ft).Elem() + srcm := src.AsValueOf(f.ft).Elem() + if srcm.Len() == 0 { + return + } + if dstm.IsNil() { + dstm.Set(reflect.MakeMap(f.ft)) + } + iter := mapRange(srcm) + for iter.Next() { + dstm.SetMapIndex(iter.Key(), iter.Value()) + } +} + +func mergeMapOfBytes(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + dstm := dst.AsValueOf(f.ft).Elem() + srcm := src.AsValueOf(f.ft).Elem() + if srcm.Len() == 0 { + return + } + if dstm.IsNil() { + dstm.Set(reflect.MakeMap(f.ft)) + } + iter := mapRange(srcm) + for iter.Next() { + dstm.SetMapIndex(iter.Key(), reflect.ValueOf(append(emptyBuf[:], iter.Value().Bytes()...))) + } +} + +func mergeMapOfMessage(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + dstm := dst.AsValueOf(f.ft).Elem() + srcm := src.AsValueOf(f.ft).Elem() + if srcm.Len() == 0 { + return + } + if dstm.IsNil() { + dstm.Set(reflect.MakeMap(f.ft)) + } + iter := mapRange(srcm) + for iter.Next() { + val := reflect.New(f.ft.Elem().Elem()) + if f.mi != nil { + f.mi.mergePointer(pointerOfValue(val), pointerOfValue(iter.Value()), opts) + } else { + opts.Merge(asMessage(val), asMessage(iter.Value())) + } + dstm.SetMapIndex(iter.Key(), val) + } +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go b/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go new file mode 100644 index 000000000..2706bb67f --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go @@ -0,0 +1,37 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.12 + +package impl + +import "reflect" + +type mapIter struct { + v reflect.Value + keys []reflect.Value +} + +// mapRange provides a less-efficient equivalent to +// the Go 1.12 reflect.Value.MapRange method. +func mapRange(v reflect.Value) *mapIter { + return &mapIter{v: v} +} + +func (i *mapIter) Next() bool { + if i.keys == nil { + i.keys = i.v.MapKeys() + } else { + i.keys = i.keys[1:] + } + return len(i.keys) > 0 +} + +func (i *mapIter) Key() reflect.Value { + return i.keys[0] +} + +func (i *mapIter) Value() reflect.Value { + return i.v.MapIndex(i.keys[0]) +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go b/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go new file mode 100644 index 000000000..1533ef600 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go @@ -0,0 +1,11 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.12 + +package impl + +import "reflect" + +func mapRange(v reflect.Value) *reflect.MapIter { return v.MapRange() } diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_message.go b/vendor/google.golang.org/protobuf/internal/impl/codec_message.go new file mode 100644 index 000000000..cd40527ff --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_message.go @@ -0,0 +1,217 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "sort" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/order" + pref "google.golang.org/protobuf/reflect/protoreflect" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +// coderMessageInfo contains per-message information used by the fast-path functions. +// This is a different type from MessageInfo to keep MessageInfo as general-purpose as +// possible. +type coderMessageInfo struct { + methods piface.Methods + + orderedCoderFields []*coderFieldInfo + denseCoderFields []*coderFieldInfo + coderFields map[protowire.Number]*coderFieldInfo + sizecacheOffset offset + unknownOffset offset + unknownPtrKind bool + extensionOffset offset + needsInitCheck bool + isMessageSet bool + numRequiredFields uint8 +} + +type coderFieldInfo struct { + funcs pointerCoderFuncs // fast-path per-field functions + mi *MessageInfo // field's message + ft reflect.Type + validation validationInfo // information used by message validation + num pref.FieldNumber // field number + offset offset // struct field offset + wiretag uint64 // field tag (number + wire type) + tagsize int // size of the varint-encoded tag + isPointer bool // true if IsNil may be called on the struct field + isRequired bool // true if field is required +} + +func (mi *MessageInfo) makeCoderMethods(t reflect.Type, si structInfo) { + mi.sizecacheOffset = invalidOffset + mi.unknownOffset = invalidOffset + mi.extensionOffset = invalidOffset + + if si.sizecacheOffset.IsValid() && si.sizecacheType == sizecacheType { + mi.sizecacheOffset = si.sizecacheOffset + } + if si.unknownOffset.IsValid() && (si.unknownType == unknownFieldsAType || si.unknownType == unknownFieldsBType) { + mi.unknownOffset = si.unknownOffset + mi.unknownPtrKind = si.unknownType.Kind() == reflect.Ptr + } + if si.extensionOffset.IsValid() && si.extensionType == extensionFieldsType { + mi.extensionOffset = si.extensionOffset + } + + mi.coderFields = make(map[protowire.Number]*coderFieldInfo) + fields := mi.Desc.Fields() + preallocFields := make([]coderFieldInfo, fields.Len()) + for i := 0; i < fields.Len(); i++ { + fd := fields.Get(i) + + fs := si.fieldsByNumber[fd.Number()] + isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic() + if isOneof { + fs = si.oneofsByName[fd.ContainingOneof().Name()] + } + ft := fs.Type + var wiretag uint64 + if !fd.IsPacked() { + wiretag = protowire.EncodeTag(fd.Number(), wireTypes[fd.Kind()]) + } else { + wiretag = protowire.EncodeTag(fd.Number(), protowire.BytesType) + } + var fieldOffset offset + var funcs pointerCoderFuncs + var childMessage *MessageInfo + switch { + case ft == nil: + // This never occurs for generated message types. + // It implies that a hand-crafted type has missing Go fields + // for specific protobuf message fields. + funcs = pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return 0 + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return nil, nil + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + panic("missing Go struct field for " + string(fd.FullName())) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + panic("missing Go struct field for " + string(fd.FullName())) + }, + merge: func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + panic("missing Go struct field for " + string(fd.FullName())) + }, + } + case isOneof: + fieldOffset = offsetOf(fs, mi.Exporter) + case fd.IsWeak(): + fieldOffset = si.weakOffset + funcs = makeWeakMessageFieldCoder(fd) + default: + fieldOffset = offsetOf(fs, mi.Exporter) + childMessage, funcs = fieldCoder(fd, ft) + } + cf := &preallocFields[i] + *cf = coderFieldInfo{ + num: fd.Number(), + offset: fieldOffset, + wiretag: wiretag, + ft: ft, + tagsize: protowire.SizeVarint(wiretag), + funcs: funcs, + mi: childMessage, + validation: newFieldValidationInfo(mi, si, fd, ft), + isPointer: fd.Cardinality() == pref.Repeated || fd.HasPresence(), + isRequired: fd.Cardinality() == pref.Required, + } + mi.orderedCoderFields = append(mi.orderedCoderFields, cf) + mi.coderFields[cf.num] = cf + } + for i, oneofs := 0, mi.Desc.Oneofs(); i < oneofs.Len(); i++ { + if od := oneofs.Get(i); !od.IsSynthetic() { + mi.initOneofFieldCoders(od, si) + } + } + if messageset.IsMessageSet(mi.Desc) { + if !mi.extensionOffset.IsValid() { + panic(fmt.Sprintf("%v: MessageSet with no extensions field", mi.Desc.FullName())) + } + if !mi.unknownOffset.IsValid() { + panic(fmt.Sprintf("%v: MessageSet with no unknown field", mi.Desc.FullName())) + } + mi.isMessageSet = true + } + sort.Slice(mi.orderedCoderFields, func(i, j int) bool { + return mi.orderedCoderFields[i].num < mi.orderedCoderFields[j].num + }) + + var maxDense pref.FieldNumber + for _, cf := range mi.orderedCoderFields { + if cf.num >= 16 && cf.num >= 2*maxDense { + break + } + maxDense = cf.num + } + mi.denseCoderFields = make([]*coderFieldInfo, maxDense+1) + for _, cf := range mi.orderedCoderFields { + if int(cf.num) >= len(mi.denseCoderFields) { + break + } + mi.denseCoderFields[cf.num] = cf + } + + // To preserve compatibility with historic wire output, marshal oneofs last. + if mi.Desc.Oneofs().Len() > 0 { + sort.Slice(mi.orderedCoderFields, func(i, j int) bool { + fi := fields.ByNumber(mi.orderedCoderFields[i].num) + fj := fields.ByNumber(mi.orderedCoderFields[j].num) + return order.LegacyFieldOrder(fi, fj) + }) + } + + mi.needsInitCheck = needsInitCheck(mi.Desc) + if mi.methods.Marshal == nil && mi.methods.Size == nil { + mi.methods.Flags |= piface.SupportMarshalDeterministic + mi.methods.Marshal = mi.marshal + mi.methods.Size = mi.size + } + if mi.methods.Unmarshal == nil { + mi.methods.Flags |= piface.SupportUnmarshalDiscardUnknown + mi.methods.Unmarshal = mi.unmarshal + } + if mi.methods.CheckInitialized == nil { + mi.methods.CheckInitialized = mi.checkInitialized + } + if mi.methods.Merge == nil { + mi.methods.Merge = mi.merge + } +} + +// getUnknownBytes returns a *[]byte for the unknown fields. +// It is the caller's responsibility to check whether the pointer is nil. +// This function is specially designed to be inlineable. +func (mi *MessageInfo) getUnknownBytes(p pointer) *[]byte { + if mi.unknownPtrKind { + return *p.Apply(mi.unknownOffset).BytesPtr() + } else { + return p.Apply(mi.unknownOffset).Bytes() + } +} + +// mutableUnknownBytes returns a *[]byte for the unknown fields. +// The returned pointer is guaranteed to not be nil. +func (mi *MessageInfo) mutableUnknownBytes(p pointer) *[]byte { + if mi.unknownPtrKind { + bp := p.Apply(mi.unknownOffset).BytesPtr() + if *bp == nil { + *bp = new([]byte) + } + return *bp + } else { + return p.Apply(mi.unknownOffset).Bytes() + } +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go b/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go new file mode 100644 index 000000000..b7a23faf1 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go @@ -0,0 +1,123 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "sort" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" +) + +func sizeMessageSet(mi *MessageInfo, p pointer, opts marshalOptions) (size int) { + if !flags.ProtoLegacy { + return 0 + } + + ext := *p.Apply(mi.extensionOffset).Extensions() + for _, x := range ext { + xi := getExtensionFieldInfo(x.Type()) + if xi.funcs.size == nil { + continue + } + num, _ := protowire.DecodeTag(xi.wiretag) + size += messageset.SizeField(num) + size += xi.funcs.size(x.Value(), protowire.SizeTag(messageset.FieldMessage), opts) + } + + if u := mi.getUnknownBytes(p); u != nil { + size += messageset.SizeUnknown(*u) + } + + return size +} + +func marshalMessageSet(mi *MessageInfo, b []byte, p pointer, opts marshalOptions) ([]byte, error) { + if !flags.ProtoLegacy { + return b, errors.New("no support for message_set_wire_format") + } + + ext := *p.Apply(mi.extensionOffset).Extensions() + switch len(ext) { + case 0: + case 1: + // Fast-path for one extension: Don't bother sorting the keys. + for _, x := range ext { + var err error + b, err = marshalMessageSetField(mi, b, x, opts) + if err != nil { + return b, err + } + } + default: + // Sort the keys to provide a deterministic encoding. + // Not sure this is required, but the old code does it. + keys := make([]int, 0, len(ext)) + for k := range ext { + keys = append(keys, int(k)) + } + sort.Ints(keys) + for _, k := range keys { + var err error + b, err = marshalMessageSetField(mi, b, ext[int32(k)], opts) + if err != nil { + return b, err + } + } + } + + if u := mi.getUnknownBytes(p); u != nil { + var err error + b, err = messageset.AppendUnknown(b, *u) + if err != nil { + return b, err + } + } + + return b, nil +} + +func marshalMessageSetField(mi *MessageInfo, b []byte, x ExtensionField, opts marshalOptions) ([]byte, error) { + xi := getExtensionFieldInfo(x.Type()) + num, _ := protowire.DecodeTag(xi.wiretag) + b = messageset.AppendFieldStart(b, num) + b, err := xi.funcs.marshal(b, x.Value(), protowire.EncodeTag(messageset.FieldMessage, protowire.BytesType), opts) + if err != nil { + return b, err + } + b = messageset.AppendFieldEnd(b) + return b, nil +} + +func unmarshalMessageSet(mi *MessageInfo, b []byte, p pointer, opts unmarshalOptions) (out unmarshalOutput, err error) { + if !flags.ProtoLegacy { + return out, errors.New("no support for message_set_wire_format") + } + + ep := p.Apply(mi.extensionOffset).Extensions() + if *ep == nil { + *ep = make(map[int32]ExtensionField) + } + ext := *ep + initialized := true + err = messageset.Unmarshal(b, true, func(num protowire.Number, v []byte) error { + o, err := mi.unmarshalExtension(v, num, protowire.BytesType, ext, opts) + if err == errUnknown { + u := mi.mutableUnknownBytes(p) + *u = protowire.AppendTag(*u, num, protowire.BytesType) + *u = append(*u, v...) + return nil + } + if !o.initialized { + initialized = false + } + return err + }) + out.n = len(b) + out.initialized = initialized + return out, err +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go b/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go new file mode 100644 index 000000000..90705e3ae --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go @@ -0,0 +1,209 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build purego appengine + +package impl + +import ( + "reflect" + + "google.golang.org/protobuf/encoding/protowire" +) + +func sizeEnum(p pointer, f *coderFieldInfo, _ marshalOptions) (size int) { + v := p.v.Elem().Int() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +func appendEnum(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := p.v.Elem().Int() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +func consumeEnum(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, _ unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return out, errDecode + } + p.v.Elem().SetInt(int64(v)) + out.n = n + return out, nil +} + +func mergeEnum(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + dst.v.Elem().Set(src.v.Elem()) +} + +var coderEnum = pointerCoderFuncs{ + size: sizeEnum, + marshal: appendEnum, + unmarshal: consumeEnum, + merge: mergeEnum, +} + +func sizeEnumNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + if p.v.Elem().Int() == 0 { + return 0 + } + return sizeEnum(p, f, opts) +} + +func appendEnumNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + if p.v.Elem().Int() == 0 { + return b, nil + } + return appendEnum(b, p, f, opts) +} + +func mergeEnumNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + if src.v.Elem().Int() != 0 { + dst.v.Elem().Set(src.v.Elem()) + } +} + +var coderEnumNoZero = pointerCoderFuncs{ + size: sizeEnumNoZero, + marshal: appendEnumNoZero, + unmarshal: consumeEnum, + merge: mergeEnumNoZero, +} + +func sizeEnumPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return sizeEnum(pointer{p.v.Elem()}, f, opts) +} + +func appendEnumPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return appendEnum(b, pointer{p.v.Elem()}, f, opts) +} + +func consumeEnumPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + if p.v.Elem().IsNil() { + p.v.Elem().Set(reflect.New(p.v.Elem().Type().Elem())) + } + return consumeEnum(b, pointer{p.v.Elem()}, wtyp, f, opts) +} + +func mergeEnumPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + if !src.v.Elem().IsNil() { + v := reflect.New(dst.v.Type().Elem().Elem()) + v.Elem().Set(src.v.Elem().Elem()) + dst.v.Elem().Set(v) + } +} + +var coderEnumPtr = pointerCoderFuncs{ + size: sizeEnumPtr, + marshal: appendEnumPtr, + unmarshal: consumeEnumPtr, + merge: mergeEnumPtr, +} + +func sizeEnumSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := p.v.Elem() + for i, llen := 0, s.Len(); i < llen; i++ { + size += protowire.SizeVarint(uint64(s.Index(i).Int())) + f.tagsize + } + return size +} + +func appendEnumSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := p.v.Elem() + for i, llen := 0, s.Len(); i < llen; i++ { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(s.Index(i).Int())) + } + return b, nil +} + +func consumeEnumSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + s := p.v.Elem() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return out, errDecode + } + rv := reflect.New(s.Type().Elem()).Elem() + rv.SetInt(int64(v)) + s.Set(reflect.Append(s, rv)) + b = b[n:] + } + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return out, errDecode + } + rv := reflect.New(s.Type().Elem()).Elem() + rv.SetInt(int64(v)) + s.Set(reflect.Append(s, rv)) + out.n = n + return out, nil +} + +func mergeEnumSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + dst.v.Elem().Set(reflect.AppendSlice(dst.v.Elem(), src.v.Elem())) +} + +var coderEnumSlice = pointerCoderFuncs{ + size: sizeEnumSlice, + marshal: appendEnumSlice, + unmarshal: consumeEnumSlice, + merge: mergeEnumSlice, +} + +func sizeEnumPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := p.v.Elem() + llen := s.Len() + if llen == 0 { + return 0 + } + n := 0 + for i := 0; i < llen; i++ { + n += protowire.SizeVarint(uint64(s.Index(i).Int())) + } + return f.tagsize + protowire.SizeBytes(n) +} + +func appendEnumPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := p.v.Elem() + llen := s.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for i := 0; i < llen; i++ { + n += protowire.SizeVarint(uint64(s.Index(i).Int())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + b = protowire.AppendVarint(b, uint64(s.Index(i).Int())) + } + return b, nil +} + +var coderEnumPackedSlice = pointerCoderFuncs{ + size: sizeEnumPackedSlice, + marshal: appendEnumPackedSlice, + unmarshal: consumeEnumSlice, + merge: mergeEnumSlice, +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go b/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go new file mode 100644 index 000000000..e89971238 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go @@ -0,0 +1,557 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/strs" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +// pointerCoderFuncs is a set of pointer encoding functions. +type pointerCoderFuncs struct { + mi *MessageInfo + size func(p pointer, f *coderFieldInfo, opts marshalOptions) int + marshal func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) + unmarshal func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) + isInit func(p pointer, f *coderFieldInfo) error + merge func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) +} + +// valueCoderFuncs is a set of protoreflect.Value encoding functions. +type valueCoderFuncs struct { + size func(v pref.Value, tagsize int, opts marshalOptions) int + marshal func(b []byte, v pref.Value, wiretag uint64, opts marshalOptions) ([]byte, error) + unmarshal func(b []byte, v pref.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (pref.Value, unmarshalOutput, error) + isInit func(v pref.Value) error + merge func(dst, src pref.Value, opts mergeOptions) pref.Value +} + +// fieldCoder returns pointer functions for a field, used for operating on +// struct fields. +func fieldCoder(fd pref.FieldDescriptor, ft reflect.Type) (*MessageInfo, pointerCoderFuncs) { + switch { + case fd.IsMap(): + return encoderFuncsForMap(fd, ft) + case fd.Cardinality() == pref.Repeated && !fd.IsPacked(): + // Repeated fields (not packed). + if ft.Kind() != reflect.Slice { + break + } + ft := ft.Elem() + switch fd.Kind() { + case pref.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBoolSlice + } + case pref.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnumSlice + } + case pref.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32Slice + } + case pref.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32Slice + } + case pref.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32Slice + } + case pref.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64Slice + } + case pref.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64Slice + } + case pref.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64Slice + } + case pref.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32Slice + } + case pref.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32Slice + } + case pref.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloatSlice + } + case pref.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64Slice + } + case pref.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64Slice + } + case pref.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDoubleSlice + } + case pref.StringKind: + if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) { + return nil, coderStringSliceValidateUTF8 + } + if ft.Kind() == reflect.String { + return nil, coderStringSlice + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) { + return nil, coderBytesSliceValidateUTF8 + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytesSlice + } + case pref.BytesKind: + if ft.Kind() == reflect.String { + return nil, coderStringSlice + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytesSlice + } + case pref.MessageKind: + return getMessageInfo(ft), makeMessageSliceFieldCoder(fd, ft) + case pref.GroupKind: + return getMessageInfo(ft), makeGroupSliceFieldCoder(fd, ft) + } + case fd.Cardinality() == pref.Repeated && fd.IsPacked(): + // Packed repeated fields. + // + // Only repeated fields of primitive numeric types + // (Varint, Fixed32, or Fixed64 wire type) can be packed. + if ft.Kind() != reflect.Slice { + break + } + ft := ft.Elem() + switch fd.Kind() { + case pref.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBoolPackedSlice + } + case pref.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnumPackedSlice + } + case pref.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32PackedSlice + } + case pref.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32PackedSlice + } + case pref.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32PackedSlice + } + case pref.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64PackedSlice + } + case pref.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64PackedSlice + } + case pref.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64PackedSlice + } + case pref.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32PackedSlice + } + case pref.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32PackedSlice + } + case pref.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloatPackedSlice + } + case pref.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64PackedSlice + } + case pref.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64PackedSlice + } + case pref.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDoublePackedSlice + } + } + case fd.Kind() == pref.MessageKind: + return getMessageInfo(ft), makeMessageFieldCoder(fd, ft) + case fd.Kind() == pref.GroupKind: + return getMessageInfo(ft), makeGroupFieldCoder(fd, ft) + case fd.Syntax() == pref.Proto3 && fd.ContainingOneof() == nil: + // Populated oneof fields always encode even if set to the zero value, + // which normally are not encoded in proto3. + switch fd.Kind() { + case pref.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBoolNoZero + } + case pref.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnumNoZero + } + case pref.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32NoZero + } + case pref.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32NoZero + } + case pref.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32NoZero + } + case pref.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64NoZero + } + case pref.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64NoZero + } + case pref.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64NoZero + } + case pref.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32NoZero + } + case pref.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32NoZero + } + case pref.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloatNoZero + } + case pref.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64NoZero + } + case pref.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64NoZero + } + case pref.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDoubleNoZero + } + case pref.StringKind: + if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) { + return nil, coderStringNoZeroValidateUTF8 + } + if ft.Kind() == reflect.String { + return nil, coderStringNoZero + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) { + return nil, coderBytesNoZeroValidateUTF8 + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytesNoZero + } + case pref.BytesKind: + if ft.Kind() == reflect.String { + return nil, coderStringNoZero + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytesNoZero + } + } + case ft.Kind() == reflect.Ptr: + ft := ft.Elem() + switch fd.Kind() { + case pref.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBoolPtr + } + case pref.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnumPtr + } + case pref.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32Ptr + } + case pref.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32Ptr + } + case pref.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32Ptr + } + case pref.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64Ptr + } + case pref.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64Ptr + } + case pref.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64Ptr + } + case pref.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32Ptr + } + case pref.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32Ptr + } + case pref.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloatPtr + } + case pref.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64Ptr + } + case pref.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64Ptr + } + case pref.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDoublePtr + } + case pref.StringKind: + if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) { + return nil, coderStringPtrValidateUTF8 + } + if ft.Kind() == reflect.String { + return nil, coderStringPtr + } + case pref.BytesKind: + if ft.Kind() == reflect.String { + return nil, coderStringPtr + } + } + default: + switch fd.Kind() { + case pref.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBool + } + case pref.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnum + } + case pref.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32 + } + case pref.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32 + } + case pref.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32 + } + case pref.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64 + } + case pref.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64 + } + case pref.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64 + } + case pref.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32 + } + case pref.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32 + } + case pref.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloat + } + case pref.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64 + } + case pref.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64 + } + case pref.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDouble + } + case pref.StringKind: + if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) { + return nil, coderStringValidateUTF8 + } + if ft.Kind() == reflect.String { + return nil, coderString + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) { + return nil, coderBytesValidateUTF8 + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytes + } + case pref.BytesKind: + if ft.Kind() == reflect.String { + return nil, coderString + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytes + } + } + } + panic(fmt.Sprintf("invalid type: no encoder for %v %v %v/%v", fd.FullName(), fd.Cardinality(), fd.Kind(), ft)) +} + +// encoderFuncsForValue returns value functions for a field, used for +// extension values and map encoding. +func encoderFuncsForValue(fd pref.FieldDescriptor) valueCoderFuncs { + switch { + case fd.Cardinality() == pref.Repeated && !fd.IsPacked(): + switch fd.Kind() { + case pref.BoolKind: + return coderBoolSliceValue + case pref.EnumKind: + return coderEnumSliceValue + case pref.Int32Kind: + return coderInt32SliceValue + case pref.Sint32Kind: + return coderSint32SliceValue + case pref.Uint32Kind: + return coderUint32SliceValue + case pref.Int64Kind: + return coderInt64SliceValue + case pref.Sint64Kind: + return coderSint64SliceValue + case pref.Uint64Kind: + return coderUint64SliceValue + case pref.Sfixed32Kind: + return coderSfixed32SliceValue + case pref.Fixed32Kind: + return coderFixed32SliceValue + case pref.FloatKind: + return coderFloatSliceValue + case pref.Sfixed64Kind: + return coderSfixed64SliceValue + case pref.Fixed64Kind: + return coderFixed64SliceValue + case pref.DoubleKind: + return coderDoubleSliceValue + case pref.StringKind: + // We don't have a UTF-8 validating coder for repeated string fields. + // Value coders are used for extensions and maps. + // Extensions are never proto3, and maps never contain lists. + return coderStringSliceValue + case pref.BytesKind: + return coderBytesSliceValue + case pref.MessageKind: + return coderMessageSliceValue + case pref.GroupKind: + return coderGroupSliceValue + } + case fd.Cardinality() == pref.Repeated && fd.IsPacked(): + switch fd.Kind() { + case pref.BoolKind: + return coderBoolPackedSliceValue + case pref.EnumKind: + return coderEnumPackedSliceValue + case pref.Int32Kind: + return coderInt32PackedSliceValue + case pref.Sint32Kind: + return coderSint32PackedSliceValue + case pref.Uint32Kind: + return coderUint32PackedSliceValue + case pref.Int64Kind: + return coderInt64PackedSliceValue + case pref.Sint64Kind: + return coderSint64PackedSliceValue + case pref.Uint64Kind: + return coderUint64PackedSliceValue + case pref.Sfixed32Kind: + return coderSfixed32PackedSliceValue + case pref.Fixed32Kind: + return coderFixed32PackedSliceValue + case pref.FloatKind: + return coderFloatPackedSliceValue + case pref.Sfixed64Kind: + return coderSfixed64PackedSliceValue + case pref.Fixed64Kind: + return coderFixed64PackedSliceValue + case pref.DoubleKind: + return coderDoublePackedSliceValue + } + default: + switch fd.Kind() { + default: + case pref.BoolKind: + return coderBoolValue + case pref.EnumKind: + return coderEnumValue + case pref.Int32Kind: + return coderInt32Value + case pref.Sint32Kind: + return coderSint32Value + case pref.Uint32Kind: + return coderUint32Value + case pref.Int64Kind: + return coderInt64Value + case pref.Sint64Kind: + return coderSint64Value + case pref.Uint64Kind: + return coderUint64Value + case pref.Sfixed32Kind: + return coderSfixed32Value + case pref.Fixed32Kind: + return coderFixed32Value + case pref.FloatKind: + return coderFloatValue + case pref.Sfixed64Kind: + return coderSfixed64Value + case pref.Fixed64Kind: + return coderFixed64Value + case pref.DoubleKind: + return coderDoubleValue + case pref.StringKind: + if strs.EnforceUTF8(fd) { + return coderStringValueValidateUTF8 + } + return coderStringValue + case pref.BytesKind: + return coderBytesValue + case pref.MessageKind: + return coderMessageValue + case pref.GroupKind: + return coderGroupValue + } + } + panic(fmt.Sprintf("invalid field: no encoder for %v %v %v", fd.FullName(), fd.Cardinality(), fd.Kind())) +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go b/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go new file mode 100644 index 000000000..e118af1e2 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go @@ -0,0 +1,17 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !purego,!appengine + +package impl + +// When using unsafe pointers, we can just treat enum values as int32s. + +var ( + coderEnumNoZero = coderInt32NoZero + coderEnum = coderInt32 + coderEnumPtr = coderInt32Ptr + coderEnumSlice = coderInt32Slice + coderEnumPackedSlice = coderInt32PackedSlice +) diff --git a/vendor/google.golang.org/protobuf/internal/impl/convert.go b/vendor/google.golang.org/protobuf/internal/impl/convert.go new file mode 100644 index 000000000..acd61bb50 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/convert.go @@ -0,0 +1,496 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +// unwrapper unwraps the value to the underlying value. +// This is implemented by List and Map. +type unwrapper interface { + protoUnwrap() interface{} +} + +// A Converter coverts to/from Go reflect.Value types and protobuf protoreflect.Value types. +type Converter interface { + // PBValueOf converts a reflect.Value to a protoreflect.Value. + PBValueOf(reflect.Value) pref.Value + + // GoValueOf converts a protoreflect.Value to a reflect.Value. + GoValueOf(pref.Value) reflect.Value + + // IsValidPB returns whether a protoreflect.Value is compatible with this type. + IsValidPB(pref.Value) bool + + // IsValidGo returns whether a reflect.Value is compatible with this type. + IsValidGo(reflect.Value) bool + + // New returns a new field value. + // For scalars, it returns the default value of the field. + // For composite types, it returns a new mutable value. + New() pref.Value + + // Zero returns a new field value. + // For scalars, it returns the default value of the field. + // For composite types, it returns an immutable, empty value. + Zero() pref.Value +} + +// NewConverter matches a Go type with a protobuf field and returns a Converter +// that converts between the two. Enums must be a named int32 kind that +// implements protoreflect.Enum, and messages must be pointer to a named +// struct type that implements protoreflect.ProtoMessage. +// +// This matcher deliberately supports a wider range of Go types than what +// protoc-gen-go historically generated to be able to automatically wrap some +// v1 messages generated by other forks of protoc-gen-go. +func NewConverter(t reflect.Type, fd pref.FieldDescriptor) Converter { + switch { + case fd.IsList(): + return newListConverter(t, fd) + case fd.IsMap(): + return newMapConverter(t, fd) + default: + return newSingularConverter(t, fd) + } + panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName())) +} + +var ( + boolType = reflect.TypeOf(bool(false)) + int32Type = reflect.TypeOf(int32(0)) + int64Type = reflect.TypeOf(int64(0)) + uint32Type = reflect.TypeOf(uint32(0)) + uint64Type = reflect.TypeOf(uint64(0)) + float32Type = reflect.TypeOf(float32(0)) + float64Type = reflect.TypeOf(float64(0)) + stringType = reflect.TypeOf(string("")) + bytesType = reflect.TypeOf([]byte(nil)) + byteType = reflect.TypeOf(byte(0)) +) + +var ( + boolZero = pref.ValueOfBool(false) + int32Zero = pref.ValueOfInt32(0) + int64Zero = pref.ValueOfInt64(0) + uint32Zero = pref.ValueOfUint32(0) + uint64Zero = pref.ValueOfUint64(0) + float32Zero = pref.ValueOfFloat32(0) + float64Zero = pref.ValueOfFloat64(0) + stringZero = pref.ValueOfString("") + bytesZero = pref.ValueOfBytes(nil) +) + +func newSingularConverter(t reflect.Type, fd pref.FieldDescriptor) Converter { + defVal := func(fd pref.FieldDescriptor, zero pref.Value) pref.Value { + if fd.Cardinality() == pref.Repeated { + // Default isn't defined for repeated fields. + return zero + } + return fd.Default() + } + switch fd.Kind() { + case pref.BoolKind: + if t.Kind() == reflect.Bool { + return &boolConverter{t, defVal(fd, boolZero)} + } + case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind: + if t.Kind() == reflect.Int32 { + return &int32Converter{t, defVal(fd, int32Zero)} + } + case pref.Int64Kind, pref.Sint64Kind, pref.Sfixed64Kind: + if t.Kind() == reflect.Int64 { + return &int64Converter{t, defVal(fd, int64Zero)} + } + case pref.Uint32Kind, pref.Fixed32Kind: + if t.Kind() == reflect.Uint32 { + return &uint32Converter{t, defVal(fd, uint32Zero)} + } + case pref.Uint64Kind, pref.Fixed64Kind: + if t.Kind() == reflect.Uint64 { + return &uint64Converter{t, defVal(fd, uint64Zero)} + } + case pref.FloatKind: + if t.Kind() == reflect.Float32 { + return &float32Converter{t, defVal(fd, float32Zero)} + } + case pref.DoubleKind: + if t.Kind() == reflect.Float64 { + return &float64Converter{t, defVal(fd, float64Zero)} + } + case pref.StringKind: + if t.Kind() == reflect.String || (t.Kind() == reflect.Slice && t.Elem() == byteType) { + return &stringConverter{t, defVal(fd, stringZero)} + } + case pref.BytesKind: + if t.Kind() == reflect.String || (t.Kind() == reflect.Slice && t.Elem() == byteType) { + return &bytesConverter{t, defVal(fd, bytesZero)} + } + case pref.EnumKind: + // Handle enums, which must be a named int32 type. + if t.Kind() == reflect.Int32 { + return newEnumConverter(t, fd) + } + case pref.MessageKind, pref.GroupKind: + return newMessageConverter(t) + } + panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName())) +} + +type boolConverter struct { + goType reflect.Type + def pref.Value +} + +func (c *boolConverter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfBool(v.Bool()) +} +func (c *boolConverter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(v.Bool()).Convert(c.goType) +} +func (c *boolConverter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(bool) + return ok +} +func (c *boolConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *boolConverter) New() pref.Value { return c.def } +func (c *boolConverter) Zero() pref.Value { return c.def } + +type int32Converter struct { + goType reflect.Type + def pref.Value +} + +func (c *int32Converter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfInt32(int32(v.Int())) +} +func (c *int32Converter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(int32(v.Int())).Convert(c.goType) +} +func (c *int32Converter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(int32) + return ok +} +func (c *int32Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *int32Converter) New() pref.Value { return c.def } +func (c *int32Converter) Zero() pref.Value { return c.def } + +type int64Converter struct { + goType reflect.Type + def pref.Value +} + +func (c *int64Converter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfInt64(int64(v.Int())) +} +func (c *int64Converter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(int64(v.Int())).Convert(c.goType) +} +func (c *int64Converter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(int64) + return ok +} +func (c *int64Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *int64Converter) New() pref.Value { return c.def } +func (c *int64Converter) Zero() pref.Value { return c.def } + +type uint32Converter struct { + goType reflect.Type + def pref.Value +} + +func (c *uint32Converter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfUint32(uint32(v.Uint())) +} +func (c *uint32Converter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(uint32(v.Uint())).Convert(c.goType) +} +func (c *uint32Converter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(uint32) + return ok +} +func (c *uint32Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *uint32Converter) New() pref.Value { return c.def } +func (c *uint32Converter) Zero() pref.Value { return c.def } + +type uint64Converter struct { + goType reflect.Type + def pref.Value +} + +func (c *uint64Converter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfUint64(uint64(v.Uint())) +} +func (c *uint64Converter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(uint64(v.Uint())).Convert(c.goType) +} +func (c *uint64Converter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(uint64) + return ok +} +func (c *uint64Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *uint64Converter) New() pref.Value { return c.def } +func (c *uint64Converter) Zero() pref.Value { return c.def } + +type float32Converter struct { + goType reflect.Type + def pref.Value +} + +func (c *float32Converter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfFloat32(float32(v.Float())) +} +func (c *float32Converter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(float32(v.Float())).Convert(c.goType) +} +func (c *float32Converter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(float32) + return ok +} +func (c *float32Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *float32Converter) New() pref.Value { return c.def } +func (c *float32Converter) Zero() pref.Value { return c.def } + +type float64Converter struct { + goType reflect.Type + def pref.Value +} + +func (c *float64Converter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfFloat64(float64(v.Float())) +} +func (c *float64Converter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(float64(v.Float())).Convert(c.goType) +} +func (c *float64Converter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(float64) + return ok +} +func (c *float64Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *float64Converter) New() pref.Value { return c.def } +func (c *float64Converter) Zero() pref.Value { return c.def } + +type stringConverter struct { + goType reflect.Type + def pref.Value +} + +func (c *stringConverter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfString(v.Convert(stringType).String()) +} +func (c *stringConverter) GoValueOf(v pref.Value) reflect.Value { + // pref.Value.String never panics, so we go through an interface + // conversion here to check the type. + s := v.Interface().(string) + if c.goType.Kind() == reflect.Slice && s == "" { + return reflect.Zero(c.goType) // ensure empty string is []byte(nil) + } + return reflect.ValueOf(s).Convert(c.goType) +} +func (c *stringConverter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(string) + return ok +} +func (c *stringConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *stringConverter) New() pref.Value { return c.def } +func (c *stringConverter) Zero() pref.Value { return c.def } + +type bytesConverter struct { + goType reflect.Type + def pref.Value +} + +func (c *bytesConverter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + if c.goType.Kind() == reflect.String && v.Len() == 0 { + return pref.ValueOfBytes(nil) // ensure empty string is []byte(nil) + } + return pref.ValueOfBytes(v.Convert(bytesType).Bytes()) +} +func (c *bytesConverter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(v.Bytes()).Convert(c.goType) +} +func (c *bytesConverter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().([]byte) + return ok +} +func (c *bytesConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *bytesConverter) New() pref.Value { return c.def } +func (c *bytesConverter) Zero() pref.Value { return c.def } + +type enumConverter struct { + goType reflect.Type + def pref.Value +} + +func newEnumConverter(goType reflect.Type, fd pref.FieldDescriptor) Converter { + var def pref.Value + if fd.Cardinality() == pref.Repeated { + def = pref.ValueOfEnum(fd.Enum().Values().Get(0).Number()) + } else { + def = fd.Default() + } + return &enumConverter{goType, def} +} + +func (c *enumConverter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfEnum(pref.EnumNumber(v.Int())) +} + +func (c *enumConverter) GoValueOf(v pref.Value) reflect.Value { + return reflect.ValueOf(v.Enum()).Convert(c.goType) +} + +func (c *enumConverter) IsValidPB(v pref.Value) bool { + _, ok := v.Interface().(pref.EnumNumber) + return ok +} + +func (c *enumConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *enumConverter) New() pref.Value { + return c.def +} + +func (c *enumConverter) Zero() pref.Value { + return c.def +} + +type messageConverter struct { + goType reflect.Type +} + +func newMessageConverter(goType reflect.Type) Converter { + return &messageConverter{goType} +} + +func (c *messageConverter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + if c.isNonPointer() { + if v.CanAddr() { + v = v.Addr() // T => *T + } else { + v = reflect.Zero(reflect.PtrTo(v.Type())) + } + } + if m, ok := v.Interface().(pref.ProtoMessage); ok { + return pref.ValueOfMessage(m.ProtoReflect()) + } + return pref.ValueOfMessage(legacyWrapMessage(v)) +} + +func (c *messageConverter) GoValueOf(v pref.Value) reflect.Value { + m := v.Message() + var rv reflect.Value + if u, ok := m.(unwrapper); ok { + rv = reflect.ValueOf(u.protoUnwrap()) + } else { + rv = reflect.ValueOf(m.Interface()) + } + if c.isNonPointer() { + if rv.Type() != reflect.PtrTo(c.goType) { + panic(fmt.Sprintf("invalid type: got %v, want %v", rv.Type(), reflect.PtrTo(c.goType))) + } + if !rv.IsNil() { + rv = rv.Elem() // *T => T + } else { + rv = reflect.Zero(rv.Type().Elem()) + } + } + if rv.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", rv.Type(), c.goType)) + } + return rv +} + +func (c *messageConverter) IsValidPB(v pref.Value) bool { + m := v.Message() + var rv reflect.Value + if u, ok := m.(unwrapper); ok { + rv = reflect.ValueOf(u.protoUnwrap()) + } else { + rv = reflect.ValueOf(m.Interface()) + } + if c.isNonPointer() { + return rv.Type() == reflect.PtrTo(c.goType) + } + return rv.Type() == c.goType +} + +func (c *messageConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *messageConverter) New() pref.Value { + if c.isNonPointer() { + return c.PBValueOf(reflect.New(c.goType).Elem()) + } + return c.PBValueOf(reflect.New(c.goType.Elem())) +} + +func (c *messageConverter) Zero() pref.Value { + return c.PBValueOf(reflect.Zero(c.goType)) +} + +// isNonPointer reports whether the type is a non-pointer type. +// This never occurs for generated message types. +func (c *messageConverter) isNonPointer() bool { + return c.goType.Kind() != reflect.Ptr +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/convert_list.go b/vendor/google.golang.org/protobuf/internal/impl/convert_list.go new file mode 100644 index 000000000..6fccab520 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/convert_list.go @@ -0,0 +1,141 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +func newListConverter(t reflect.Type, fd pref.FieldDescriptor) Converter { + switch { + case t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Slice: + return &listPtrConverter{t, newSingularConverter(t.Elem().Elem(), fd)} + case t.Kind() == reflect.Slice: + return &listConverter{t, newSingularConverter(t.Elem(), fd)} + } + panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName())) +} + +type listConverter struct { + goType reflect.Type // []T + c Converter +} + +func (c *listConverter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + pv := reflect.New(c.goType) + pv.Elem().Set(v) + return pref.ValueOfList(&listReflect{pv, c.c}) +} + +func (c *listConverter) GoValueOf(v pref.Value) reflect.Value { + rv := v.List().(*listReflect).v + if rv.IsNil() { + return reflect.Zero(c.goType) + } + return rv.Elem() +} + +func (c *listConverter) IsValidPB(v pref.Value) bool { + list, ok := v.Interface().(*listReflect) + if !ok { + return false + } + return list.v.Type().Elem() == c.goType +} + +func (c *listConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *listConverter) New() pref.Value { + return pref.ValueOfList(&listReflect{reflect.New(c.goType), c.c}) +} + +func (c *listConverter) Zero() pref.Value { + return pref.ValueOfList(&listReflect{reflect.Zero(reflect.PtrTo(c.goType)), c.c}) +} + +type listPtrConverter struct { + goType reflect.Type // *[]T + c Converter +} + +func (c *listPtrConverter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfList(&listReflect{v, c.c}) +} + +func (c *listPtrConverter) GoValueOf(v pref.Value) reflect.Value { + return v.List().(*listReflect).v +} + +func (c *listPtrConverter) IsValidPB(v pref.Value) bool { + list, ok := v.Interface().(*listReflect) + if !ok { + return false + } + return list.v.Type() == c.goType +} + +func (c *listPtrConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *listPtrConverter) New() pref.Value { + return c.PBValueOf(reflect.New(c.goType.Elem())) +} + +func (c *listPtrConverter) Zero() pref.Value { + return c.PBValueOf(reflect.Zero(c.goType)) +} + +type listReflect struct { + v reflect.Value // *[]T + conv Converter +} + +func (ls *listReflect) Len() int { + if ls.v.IsNil() { + return 0 + } + return ls.v.Elem().Len() +} +func (ls *listReflect) Get(i int) pref.Value { + return ls.conv.PBValueOf(ls.v.Elem().Index(i)) +} +func (ls *listReflect) Set(i int, v pref.Value) { + ls.v.Elem().Index(i).Set(ls.conv.GoValueOf(v)) +} +func (ls *listReflect) Append(v pref.Value) { + ls.v.Elem().Set(reflect.Append(ls.v.Elem(), ls.conv.GoValueOf(v))) +} +func (ls *listReflect) AppendMutable() pref.Value { + if _, ok := ls.conv.(*messageConverter); !ok { + panic("invalid AppendMutable on list with non-message type") + } + v := ls.NewElement() + ls.Append(v) + return v +} +func (ls *listReflect) Truncate(i int) { + ls.v.Elem().Set(ls.v.Elem().Slice(0, i)) +} +func (ls *listReflect) NewElement() pref.Value { + return ls.conv.New() +} +func (ls *listReflect) IsValid() bool { + return !ls.v.IsNil() +} +func (ls *listReflect) protoUnwrap() interface{} { + return ls.v.Interface() +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/convert_map.go b/vendor/google.golang.org/protobuf/internal/impl/convert_map.go new file mode 100644 index 000000000..de06b2593 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/convert_map.go @@ -0,0 +1,121 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type mapConverter struct { + goType reflect.Type // map[K]V + keyConv, valConv Converter +} + +func newMapConverter(t reflect.Type, fd pref.FieldDescriptor) *mapConverter { + if t.Kind() != reflect.Map { + panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName())) + } + return &mapConverter{ + goType: t, + keyConv: newSingularConverter(t.Key(), fd.MapKey()), + valConv: newSingularConverter(t.Elem(), fd.MapValue()), + } +} + +func (c *mapConverter) PBValueOf(v reflect.Value) pref.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return pref.ValueOfMap(&mapReflect{v, c.keyConv, c.valConv}) +} + +func (c *mapConverter) GoValueOf(v pref.Value) reflect.Value { + return v.Map().(*mapReflect).v +} + +func (c *mapConverter) IsValidPB(v pref.Value) bool { + mapv, ok := v.Interface().(*mapReflect) + if !ok { + return false + } + return mapv.v.Type() == c.goType +} + +func (c *mapConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *mapConverter) New() pref.Value { + return c.PBValueOf(reflect.MakeMap(c.goType)) +} + +func (c *mapConverter) Zero() pref.Value { + return c.PBValueOf(reflect.Zero(c.goType)) +} + +type mapReflect struct { + v reflect.Value // map[K]V + keyConv Converter + valConv Converter +} + +func (ms *mapReflect) Len() int { + return ms.v.Len() +} +func (ms *mapReflect) Has(k pref.MapKey) bool { + rk := ms.keyConv.GoValueOf(k.Value()) + rv := ms.v.MapIndex(rk) + return rv.IsValid() +} +func (ms *mapReflect) Get(k pref.MapKey) pref.Value { + rk := ms.keyConv.GoValueOf(k.Value()) + rv := ms.v.MapIndex(rk) + if !rv.IsValid() { + return pref.Value{} + } + return ms.valConv.PBValueOf(rv) +} +func (ms *mapReflect) Set(k pref.MapKey, v pref.Value) { + rk := ms.keyConv.GoValueOf(k.Value()) + rv := ms.valConv.GoValueOf(v) + ms.v.SetMapIndex(rk, rv) +} +func (ms *mapReflect) Clear(k pref.MapKey) { + rk := ms.keyConv.GoValueOf(k.Value()) + ms.v.SetMapIndex(rk, reflect.Value{}) +} +func (ms *mapReflect) Mutable(k pref.MapKey) pref.Value { + if _, ok := ms.valConv.(*messageConverter); !ok { + panic("invalid Mutable on map with non-message value type") + } + v := ms.Get(k) + if !v.IsValid() { + v = ms.NewValue() + ms.Set(k, v) + } + return v +} +func (ms *mapReflect) Range(f func(pref.MapKey, pref.Value) bool) { + iter := mapRange(ms.v) + for iter.Next() { + k := ms.keyConv.PBValueOf(iter.Key()).MapKey() + v := ms.valConv.PBValueOf(iter.Value()) + if !f(k, v) { + return + } + } +} +func (ms *mapReflect) NewValue() pref.Value { + return ms.valConv.New() +} +func (ms *mapReflect) IsValid() bool { + return !ms.v.IsNil() +} +func (ms *mapReflect) protoUnwrap() interface{} { + return ms.v.Interface() +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/decode.go b/vendor/google.golang.org/protobuf/internal/impl/decode.go new file mode 100644 index 000000000..949dc49a6 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/decode.go @@ -0,0 +1,276 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "math/bits" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + preg "google.golang.org/protobuf/reflect/protoregistry" + "google.golang.org/protobuf/runtime/protoiface" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +var errDecode = errors.New("cannot parse invalid wire-format data") + +type unmarshalOptions struct { + flags protoiface.UnmarshalInputFlags + resolver interface { + FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) + FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) + } +} + +func (o unmarshalOptions) Options() proto.UnmarshalOptions { + return proto.UnmarshalOptions{ + Merge: true, + AllowPartial: true, + DiscardUnknown: o.DiscardUnknown(), + Resolver: o.resolver, + } +} + +func (o unmarshalOptions) DiscardUnknown() bool { return o.flags&piface.UnmarshalDiscardUnknown != 0 } + +func (o unmarshalOptions) IsDefault() bool { + return o.flags == 0 && o.resolver == preg.GlobalTypes +} + +var lazyUnmarshalOptions = unmarshalOptions{ + resolver: preg.GlobalTypes, +} + +type unmarshalOutput struct { + n int // number of bytes consumed + initialized bool +} + +// unmarshal is protoreflect.Methods.Unmarshal. +func (mi *MessageInfo) unmarshal(in piface.UnmarshalInput) (piface.UnmarshalOutput, error) { + var p pointer + if ms, ok := in.Message.(*messageState); ok { + p = ms.pointer() + } else { + p = in.Message.(*messageReflectWrapper).pointer() + } + out, err := mi.unmarshalPointer(in.Buf, p, 0, unmarshalOptions{ + flags: in.Flags, + resolver: in.Resolver, + }) + var flags piface.UnmarshalOutputFlags + if out.initialized { + flags |= piface.UnmarshalInitialized + } + return piface.UnmarshalOutput{ + Flags: flags, + }, err +} + +// errUnknown is returned during unmarshaling to indicate a parse error that +// should result in a field being placed in the unknown fields section (for example, +// when the wire type doesn't match) as opposed to the entire unmarshal operation +// failing (for example, when a field extends past the available input). +// +// This is a sentinel error which should never be visible to the user. +var errUnknown = errors.New("unknown") + +func (mi *MessageInfo) unmarshalPointer(b []byte, p pointer, groupTag protowire.Number, opts unmarshalOptions) (out unmarshalOutput, err error) { + mi.init() + if flags.ProtoLegacy && mi.isMessageSet { + return unmarshalMessageSet(mi, b, p, opts) + } + initialized := true + var requiredMask uint64 + var exts *map[int32]ExtensionField + start := len(b) + for len(b) > 0 { + // Parse the tag (field number and wire type). + var tag uint64 + if b[0] < 0x80 { + tag = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + tag = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + tag, n = protowire.ConsumeVarint(b) + if n < 0 { + return out, errDecode + } + b = b[n:] + } + var num protowire.Number + if n := tag >> 3; n < uint64(protowire.MinValidNumber) || n > uint64(protowire.MaxValidNumber) { + return out, errDecode + } else { + num = protowire.Number(n) + } + wtyp := protowire.Type(tag & 7) + + if wtyp == protowire.EndGroupType { + if num != groupTag { + return out, errDecode + } + groupTag = 0 + break + } + + var f *coderFieldInfo + if int(num) < len(mi.denseCoderFields) { + f = mi.denseCoderFields[num] + } else { + f = mi.coderFields[num] + } + var n int + err := errUnknown + switch { + case f != nil: + if f.funcs.unmarshal == nil { + break + } + var o unmarshalOutput + o, err = f.funcs.unmarshal(b, p.Apply(f.offset), wtyp, f, opts) + n = o.n + if err != nil { + break + } + requiredMask |= f.validation.requiredBit + if f.funcs.isInit != nil && !o.initialized { + initialized = false + } + default: + // Possible extension. + if exts == nil && mi.extensionOffset.IsValid() { + exts = p.Apply(mi.extensionOffset).Extensions() + if *exts == nil { + *exts = make(map[int32]ExtensionField) + } + } + if exts == nil { + break + } + var o unmarshalOutput + o, err = mi.unmarshalExtension(b, num, wtyp, *exts, opts) + if err != nil { + break + } + n = o.n + if !o.initialized { + initialized = false + } + } + if err != nil { + if err != errUnknown { + return out, err + } + n = protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return out, errDecode + } + if !opts.DiscardUnknown() && mi.unknownOffset.IsValid() { + u := mi.mutableUnknownBytes(p) + *u = protowire.AppendTag(*u, num, wtyp) + *u = append(*u, b[:n]...) + } + } + b = b[n:] + } + if groupTag != 0 { + return out, errDecode + } + if mi.numRequiredFields > 0 && bits.OnesCount64(requiredMask) != int(mi.numRequiredFields) { + initialized = false + } + if initialized { + out.initialized = true + } + out.n = start - len(b) + return out, nil +} + +func (mi *MessageInfo) unmarshalExtension(b []byte, num protowire.Number, wtyp protowire.Type, exts map[int32]ExtensionField, opts unmarshalOptions) (out unmarshalOutput, err error) { + x := exts[int32(num)] + xt := x.Type() + if xt == nil { + var err error + xt, err = opts.resolver.FindExtensionByNumber(mi.Desc.FullName(), num) + if err != nil { + if err == preg.NotFound { + return out, errUnknown + } + return out, errors.New("%v: unable to resolve extension %v: %v", mi.Desc.FullName(), num, err) + } + } + xi := getExtensionFieldInfo(xt) + if xi.funcs.unmarshal == nil { + return out, errUnknown + } + if flags.LazyUnmarshalExtensions { + if opts.IsDefault() && x.canLazy(xt) { + out, valid := skipExtension(b, xi, num, wtyp, opts) + switch valid { + case ValidationValid: + if out.initialized { + x.appendLazyBytes(xt, xi, num, wtyp, b[:out.n]) + exts[int32(num)] = x + return out, nil + } + case ValidationInvalid: + return out, errDecode + case ValidationUnknown: + } + } + } + ival := x.Value() + if !ival.IsValid() && xi.unmarshalNeedsValue { + // Create a new message, list, or map value to fill in. + // For enums, create a prototype value to let the unmarshal func know the + // concrete type. + ival = xt.New() + } + v, out, err := xi.funcs.unmarshal(b, ival, num, wtyp, opts) + if err != nil { + return out, err + } + if xi.funcs.isInit == nil { + out.initialized = true + } + x.Set(xt, v) + exts[int32(num)] = x + return out, nil +} + +func skipExtension(b []byte, xi *extensionFieldInfo, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, _ ValidationStatus) { + if xi.validation.mi == nil { + return out, ValidationUnknown + } + xi.validation.mi.init() + switch xi.validation.typ { + case validationTypeMessage: + if wtyp != protowire.BytesType { + return out, ValidationUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, ValidationUnknown + } + out, st := xi.validation.mi.validate(v, 0, opts) + out.n = n + return out, st + case validationTypeGroup: + if wtyp != protowire.StartGroupType { + return out, ValidationUnknown + } + out, st := xi.validation.mi.validate(b, num, opts) + return out, st + default: + return out, ValidationUnknown + } +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/encode.go b/vendor/google.golang.org/protobuf/internal/impl/encode.go new file mode 100644 index 000000000..845c67d6e --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/encode.go @@ -0,0 +1,201 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "math" + "sort" + "sync/atomic" + + "google.golang.org/protobuf/internal/flags" + proto "google.golang.org/protobuf/proto" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +type marshalOptions struct { + flags piface.MarshalInputFlags +} + +func (o marshalOptions) Options() proto.MarshalOptions { + return proto.MarshalOptions{ + AllowPartial: true, + Deterministic: o.Deterministic(), + UseCachedSize: o.UseCachedSize(), + } +} + +func (o marshalOptions) Deterministic() bool { return o.flags&piface.MarshalDeterministic != 0 } +func (o marshalOptions) UseCachedSize() bool { return o.flags&piface.MarshalUseCachedSize != 0 } + +// size is protoreflect.Methods.Size. +func (mi *MessageInfo) size(in piface.SizeInput) piface.SizeOutput { + var p pointer + if ms, ok := in.Message.(*messageState); ok { + p = ms.pointer() + } else { + p = in.Message.(*messageReflectWrapper).pointer() + } + size := mi.sizePointer(p, marshalOptions{ + flags: in.Flags, + }) + return piface.SizeOutput{Size: size} +} + +func (mi *MessageInfo) sizePointer(p pointer, opts marshalOptions) (size int) { + mi.init() + if p.IsNil() { + return 0 + } + if opts.UseCachedSize() && mi.sizecacheOffset.IsValid() { + if size := atomic.LoadInt32(p.Apply(mi.sizecacheOffset).Int32()); size >= 0 { + return int(size) + } + } + return mi.sizePointerSlow(p, opts) +} + +func (mi *MessageInfo) sizePointerSlow(p pointer, opts marshalOptions) (size int) { + if flags.ProtoLegacy && mi.isMessageSet { + size = sizeMessageSet(mi, p, opts) + if mi.sizecacheOffset.IsValid() { + atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), int32(size)) + } + return size + } + if mi.extensionOffset.IsValid() { + e := p.Apply(mi.extensionOffset).Extensions() + size += mi.sizeExtensions(e, opts) + } + for _, f := range mi.orderedCoderFields { + if f.funcs.size == nil { + continue + } + fptr := p.Apply(f.offset) + if f.isPointer && fptr.Elem().IsNil() { + continue + } + size += f.funcs.size(fptr, f, opts) + } + if mi.unknownOffset.IsValid() { + if u := mi.getUnknownBytes(p); u != nil { + size += len(*u) + } + } + if mi.sizecacheOffset.IsValid() { + if size > math.MaxInt32 { + // The size is too large for the int32 sizecache field. + // We will need to recompute the size when encoding; + // unfortunately expensive, but better than invalid output. + atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), -1) + } else { + atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), int32(size)) + } + } + return size +} + +// marshal is protoreflect.Methods.Marshal. +func (mi *MessageInfo) marshal(in piface.MarshalInput) (out piface.MarshalOutput, err error) { + var p pointer + if ms, ok := in.Message.(*messageState); ok { + p = ms.pointer() + } else { + p = in.Message.(*messageReflectWrapper).pointer() + } + b, err := mi.marshalAppendPointer(in.Buf, p, marshalOptions{ + flags: in.Flags, + }) + return piface.MarshalOutput{Buf: b}, err +} + +func (mi *MessageInfo) marshalAppendPointer(b []byte, p pointer, opts marshalOptions) ([]byte, error) { + mi.init() + if p.IsNil() { + return b, nil + } + if flags.ProtoLegacy && mi.isMessageSet { + return marshalMessageSet(mi, b, p, opts) + } + var err error + // The old marshaler encodes extensions at beginning. + if mi.extensionOffset.IsValid() { + e := p.Apply(mi.extensionOffset).Extensions() + // TODO: Special handling for MessageSet? + b, err = mi.appendExtensions(b, e, opts) + if err != nil { + return b, err + } + } + for _, f := range mi.orderedCoderFields { + if f.funcs.marshal == nil { + continue + } + fptr := p.Apply(f.offset) + if f.isPointer && fptr.Elem().IsNil() { + continue + } + b, err = f.funcs.marshal(b, fptr, f, opts) + if err != nil { + return b, err + } + } + if mi.unknownOffset.IsValid() && !mi.isMessageSet { + if u := mi.getUnknownBytes(p); u != nil { + b = append(b, (*u)...) + } + } + return b, nil +} + +func (mi *MessageInfo) sizeExtensions(ext *map[int32]ExtensionField, opts marshalOptions) (n int) { + if ext == nil { + return 0 + } + for _, x := range *ext { + xi := getExtensionFieldInfo(x.Type()) + if xi.funcs.size == nil { + continue + } + n += xi.funcs.size(x.Value(), xi.tagsize, opts) + } + return n +} + +func (mi *MessageInfo) appendExtensions(b []byte, ext *map[int32]ExtensionField, opts marshalOptions) ([]byte, error) { + if ext == nil { + return b, nil + } + + switch len(*ext) { + case 0: + return b, nil + case 1: + // Fast-path for one extension: Don't bother sorting the keys. + var err error + for _, x := range *ext { + xi := getExtensionFieldInfo(x.Type()) + b, err = xi.funcs.marshal(b, x.Value(), xi.wiretag, opts) + } + return b, err + default: + // Sort the keys to provide a deterministic encoding. + // Not sure this is required, but the old code does it. + keys := make([]int, 0, len(*ext)) + for k := range *ext { + keys = append(keys, int(k)) + } + sort.Ints(keys) + var err error + for _, k := range keys { + x := (*ext)[int32(k)] + xi := getExtensionFieldInfo(x.Type()) + b, err = xi.funcs.marshal(b, x.Value(), xi.wiretag, opts) + if err != nil { + return b, err + } + } + return b, nil + } +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/enum.go b/vendor/google.golang.org/protobuf/internal/impl/enum.go new file mode 100644 index 000000000..8c1eab4bf --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/enum.go @@ -0,0 +1,21 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "reflect" + + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type EnumInfo struct { + GoReflectType reflect.Type // int32 kind + Desc pref.EnumDescriptor +} + +func (t *EnumInfo) New(n pref.EnumNumber) pref.Enum { + return reflect.ValueOf(n).Convert(t.GoReflectType).Interface().(pref.Enum) +} +func (t *EnumInfo) Descriptor() pref.EnumDescriptor { return t.Desc } diff --git a/vendor/google.golang.org/protobuf/internal/impl/extension.go b/vendor/google.golang.org/protobuf/internal/impl/extension.go new file mode 100644 index 000000000..e904fd993 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/extension.go @@ -0,0 +1,156 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "reflect" + "sync" + "sync/atomic" + + pref "google.golang.org/protobuf/reflect/protoreflect" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +// ExtensionInfo implements ExtensionType. +// +// This type contains a number of exported fields for legacy compatibility. +// The only non-deprecated use of this type is through the methods of the +// ExtensionType interface. +type ExtensionInfo struct { + // An ExtensionInfo may exist in several stages of initialization. + // + // extensionInfoUninitialized: Some or all of the legacy exported + // fields may be set, but none of the unexported fields have been + // initialized. This is the starting state for an ExtensionInfo + // in legacy generated code. + // + // extensionInfoDescInit: The desc field is set, but other unexported fields + // may not be initialized. Legacy exported fields may or may not be set. + // This is the starting state for an ExtensionInfo in newly generated code. + // + // extensionInfoFullInit: The ExtensionInfo is fully initialized. + // This state is only entered after lazy initialization is complete. + init uint32 + mu sync.Mutex + + goType reflect.Type + desc extensionTypeDescriptor + conv Converter + info *extensionFieldInfo // for fast-path method implementations + + // ExtendedType is a typed nil-pointer to the parent message type that + // is being extended. It is possible for this to be unpopulated in v2 + // since the message may no longer implement the MessageV1 interface. + // + // Deprecated: Use the ExtendedType method instead. + ExtendedType piface.MessageV1 + + // ExtensionType is the zero value of the extension type. + // + // For historical reasons, reflect.TypeOf(ExtensionType) and the + // type returned by InterfaceOf may not be identical. + // + // Deprecated: Use InterfaceOf(xt.Zero()) instead. + ExtensionType interface{} + + // Field is the field number of the extension. + // + // Deprecated: Use the Descriptor().Number method instead. + Field int32 + + // Name is the fully qualified name of extension. + // + // Deprecated: Use the Descriptor().FullName method instead. + Name string + + // Tag is the protobuf struct tag used in the v1 API. + // + // Deprecated: Do not use. + Tag string + + // Filename is the proto filename in which the extension is defined. + // + // Deprecated: Use Descriptor().ParentFile().Path() instead. + Filename string +} + +// Stages of initialization: See the ExtensionInfo.init field. +const ( + extensionInfoUninitialized = 0 + extensionInfoDescInit = 1 + extensionInfoFullInit = 2 +) + +func InitExtensionInfo(xi *ExtensionInfo, xd pref.ExtensionDescriptor, goType reflect.Type) { + xi.goType = goType + xi.desc = extensionTypeDescriptor{xd, xi} + xi.init = extensionInfoDescInit +} + +func (xi *ExtensionInfo) New() pref.Value { + return xi.lazyInit().New() +} +func (xi *ExtensionInfo) Zero() pref.Value { + return xi.lazyInit().Zero() +} +func (xi *ExtensionInfo) ValueOf(v interface{}) pref.Value { + return xi.lazyInit().PBValueOf(reflect.ValueOf(v)) +} +func (xi *ExtensionInfo) InterfaceOf(v pref.Value) interface{} { + return xi.lazyInit().GoValueOf(v).Interface() +} +func (xi *ExtensionInfo) IsValidValue(v pref.Value) bool { + return xi.lazyInit().IsValidPB(v) +} +func (xi *ExtensionInfo) IsValidInterface(v interface{}) bool { + return xi.lazyInit().IsValidGo(reflect.ValueOf(v)) +} +func (xi *ExtensionInfo) TypeDescriptor() pref.ExtensionTypeDescriptor { + if atomic.LoadUint32(&xi.init) < extensionInfoDescInit { + xi.lazyInitSlow() + } + return &xi.desc +} + +func (xi *ExtensionInfo) lazyInit() Converter { + if atomic.LoadUint32(&xi.init) < extensionInfoFullInit { + xi.lazyInitSlow() + } + return xi.conv +} + +func (xi *ExtensionInfo) lazyInitSlow() { + xi.mu.Lock() + defer xi.mu.Unlock() + + if xi.init == extensionInfoFullInit { + return + } + defer atomic.StoreUint32(&xi.init, extensionInfoFullInit) + + if xi.desc.ExtensionDescriptor == nil { + xi.initFromLegacy() + } + if !xi.desc.ExtensionDescriptor.IsPlaceholder() { + if xi.ExtensionType == nil { + xi.initToLegacy() + } + xi.conv = NewConverter(xi.goType, xi.desc.ExtensionDescriptor) + xi.info = makeExtensionFieldInfo(xi.desc.ExtensionDescriptor) + xi.info.validation = newValidationInfo(xi.desc.ExtensionDescriptor, xi.goType) + } +} + +type extensionTypeDescriptor struct { + pref.ExtensionDescriptor + xi *ExtensionInfo +} + +func (xtd *extensionTypeDescriptor) Type() pref.ExtensionType { + return xtd.xi +} +func (xtd *extensionTypeDescriptor) Descriptor() pref.ExtensionDescriptor { + return xtd.ExtensionDescriptor +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go new file mode 100644 index 000000000..f7d7ffb51 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go @@ -0,0 +1,219 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "strings" + "sync" + + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +// legacyEnumName returns the name of enums used in legacy code. +// It is neither the protobuf full name nor the qualified Go name, +// but rather an odd hybrid of both. +func legacyEnumName(ed pref.EnumDescriptor) string { + var protoPkg string + enumName := string(ed.FullName()) + if fd := ed.ParentFile(); fd != nil { + protoPkg = string(fd.Package()) + enumName = strings.TrimPrefix(enumName, protoPkg+".") + } + if protoPkg == "" { + return strs.GoCamelCase(enumName) + } + return protoPkg + "." + strs.GoCamelCase(enumName) +} + +// legacyWrapEnum wraps v as a protoreflect.Enum, +// where v must be a int32 kind and not implement the v2 API already. +func legacyWrapEnum(v reflect.Value) pref.Enum { + et := legacyLoadEnumType(v.Type()) + return et.New(pref.EnumNumber(v.Int())) +} + +var legacyEnumTypeCache sync.Map // map[reflect.Type]protoreflect.EnumType + +// legacyLoadEnumType dynamically loads a protoreflect.EnumType for t, +// where t must be an int32 kind and not implement the v2 API already. +func legacyLoadEnumType(t reflect.Type) pref.EnumType { + // Fast-path: check if a EnumType is cached for this concrete type. + if et, ok := legacyEnumTypeCache.Load(t); ok { + return et.(pref.EnumType) + } + + // Slow-path: derive enum descriptor and initialize EnumType. + var et pref.EnumType + ed := LegacyLoadEnumDesc(t) + et = &legacyEnumType{ + desc: ed, + goType: t, + } + if et, ok := legacyEnumTypeCache.LoadOrStore(t, et); ok { + return et.(pref.EnumType) + } + return et +} + +type legacyEnumType struct { + desc pref.EnumDescriptor + goType reflect.Type + m sync.Map // map[protoreflect.EnumNumber]proto.Enum +} + +func (t *legacyEnumType) New(n pref.EnumNumber) pref.Enum { + if e, ok := t.m.Load(n); ok { + return e.(pref.Enum) + } + e := &legacyEnumWrapper{num: n, pbTyp: t, goTyp: t.goType} + t.m.Store(n, e) + return e +} +func (t *legacyEnumType) Descriptor() pref.EnumDescriptor { + return t.desc +} + +type legacyEnumWrapper struct { + num pref.EnumNumber + pbTyp pref.EnumType + goTyp reflect.Type +} + +func (e *legacyEnumWrapper) Descriptor() pref.EnumDescriptor { + return e.pbTyp.Descriptor() +} +func (e *legacyEnumWrapper) Type() pref.EnumType { + return e.pbTyp +} +func (e *legacyEnumWrapper) Number() pref.EnumNumber { + return e.num +} +func (e *legacyEnumWrapper) ProtoReflect() pref.Enum { + return e +} +func (e *legacyEnumWrapper) protoUnwrap() interface{} { + v := reflect.New(e.goTyp).Elem() + v.SetInt(int64(e.num)) + return v.Interface() +} + +var ( + _ pref.Enum = (*legacyEnumWrapper)(nil) + _ unwrapper = (*legacyEnumWrapper)(nil) +) + +var legacyEnumDescCache sync.Map // map[reflect.Type]protoreflect.EnumDescriptor + +// LegacyLoadEnumDesc returns an EnumDescriptor derived from the Go type, +// which must be an int32 kind and not implement the v2 API already. +// +// This is exported for testing purposes. +func LegacyLoadEnumDesc(t reflect.Type) pref.EnumDescriptor { + // Fast-path: check if an EnumDescriptor is cached for this concrete type. + if ed, ok := legacyEnumDescCache.Load(t); ok { + return ed.(pref.EnumDescriptor) + } + + // Slow-path: initialize EnumDescriptor from the raw descriptor. + ev := reflect.Zero(t).Interface() + if _, ok := ev.(pref.Enum); ok { + panic(fmt.Sprintf("%v already implements proto.Enum", t)) + } + edV1, ok := ev.(enumV1) + if !ok { + return aberrantLoadEnumDesc(t) + } + b, idxs := edV1.EnumDescriptor() + + var ed pref.EnumDescriptor + if len(idxs) == 1 { + ed = legacyLoadFileDesc(b).Enums().Get(idxs[0]) + } else { + md := legacyLoadFileDesc(b).Messages().Get(idxs[0]) + for _, i := range idxs[1 : len(idxs)-1] { + md = md.Messages().Get(i) + } + ed = md.Enums().Get(idxs[len(idxs)-1]) + } + if ed, ok := legacyEnumDescCache.LoadOrStore(t, ed); ok { + return ed.(protoreflect.EnumDescriptor) + } + return ed +} + +var aberrantEnumDescCache sync.Map // map[reflect.Type]protoreflect.EnumDescriptor + +// aberrantLoadEnumDesc returns an EnumDescriptor derived from the Go type, +// which must not implement protoreflect.Enum or enumV1. +// +// If the type does not implement enumV1, then there is no reliable +// way to derive the original protobuf type information. +// We are unable to use the global enum registry since it is +// unfortunately keyed by the protobuf full name, which we also do not know. +// Thus, this produces some bogus enum descriptor based on the Go type name. +func aberrantLoadEnumDesc(t reflect.Type) pref.EnumDescriptor { + // Fast-path: check if an EnumDescriptor is cached for this concrete type. + if ed, ok := aberrantEnumDescCache.Load(t); ok { + return ed.(pref.EnumDescriptor) + } + + // Slow-path: construct a bogus, but unique EnumDescriptor. + ed := &filedesc.Enum{L2: new(filedesc.EnumL2)} + ed.L0.FullName = AberrantDeriveFullName(t) // e.g., github_com.user.repo.MyEnum + ed.L0.ParentFile = filedesc.SurrogateProto3 + ed.L2.Values.List = append(ed.L2.Values.List, filedesc.EnumValue{}) + + // TODO: Use the presence of a UnmarshalJSON method to determine proto2? + + vd := &ed.L2.Values.List[0] + vd.L0.FullName = ed.L0.FullName + "_UNKNOWN" // e.g., github_com.user.repo.MyEnum_UNKNOWN + vd.L0.ParentFile = ed.L0.ParentFile + vd.L0.Parent = ed + + // TODO: We could use the String method to obtain some enum value names by + // starting at 0 and print the enum until it produces invalid identifiers. + // An exhaustive query is clearly impractical, but can be best-effort. + + if ed, ok := aberrantEnumDescCache.LoadOrStore(t, ed); ok { + return ed.(pref.EnumDescriptor) + } + return ed +} + +// AberrantDeriveFullName derives a fully qualified protobuf name for the given Go type +// The provided name is not guaranteed to be stable nor universally unique. +// It should be sufficiently unique within a program. +// +// This is exported for testing purposes. +func AberrantDeriveFullName(t reflect.Type) pref.FullName { + sanitize := func(r rune) rune { + switch { + case r == '/': + return '.' + case 'a' <= r && r <= 'z', 'A' <= r && r <= 'Z', '0' <= r && r <= '9': + return r + default: + return '_' + } + } + prefix := strings.Map(sanitize, t.PkgPath()) + suffix := strings.Map(sanitize, t.Name()) + if suffix == "" { + suffix = fmt.Sprintf("UnknownX%X", reflect.ValueOf(t).Pointer()) + } + + ss := append(strings.Split(prefix, "."), suffix) + for i, s := range ss { + if s == "" || ('0' <= s[0] && s[0] <= '9') { + ss[i] = "x" + s + } + } + return pref.FullName(strings.Join(ss, ".")) +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go new file mode 100644 index 000000000..e3fb0b578 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go @@ -0,0 +1,92 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "encoding/binary" + "encoding/json" + "hash/crc32" + "math" + "reflect" + + "google.golang.org/protobuf/internal/errors" + pref "google.golang.org/protobuf/reflect/protoreflect" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +// These functions exist to support exported APIs in generated protobufs. +// While these are deprecated, they cannot be removed for compatibility reasons. + +// LegacyEnumName returns the name of enums used in legacy code. +func (Export) LegacyEnumName(ed pref.EnumDescriptor) string { + return legacyEnumName(ed) +} + +// LegacyMessageTypeOf returns the protoreflect.MessageType for m, +// with name used as the message name if necessary. +func (Export) LegacyMessageTypeOf(m piface.MessageV1, name pref.FullName) pref.MessageType { + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv.ProtoReflect().Type() + } + return legacyLoadMessageType(reflect.TypeOf(m), name) +} + +// UnmarshalJSONEnum unmarshals an enum from a JSON-encoded input. +// The input can either be a string representing the enum value by name, +// or a number representing the enum number itself. +func (Export) UnmarshalJSONEnum(ed pref.EnumDescriptor, b []byte) (pref.EnumNumber, error) { + if b[0] == '"' { + var name pref.Name + if err := json.Unmarshal(b, &name); err != nil { + return 0, errors.New("invalid input for enum %v: %s", ed.FullName(), b) + } + ev := ed.Values().ByName(name) + if ev == nil { + return 0, errors.New("invalid value for enum %v: %s", ed.FullName(), name) + } + return ev.Number(), nil + } else { + var num pref.EnumNumber + if err := json.Unmarshal(b, &num); err != nil { + return 0, errors.New("invalid input for enum %v: %s", ed.FullName(), b) + } + return num, nil + } +} + +// CompressGZIP compresses the input as a GZIP-encoded file. +// The current implementation does no compression. +func (Export) CompressGZIP(in []byte) (out []byte) { + // RFC 1952, section 2.3.1. + var gzipHeader = [10]byte{0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff} + + // RFC 1951, section 3.2.4. + var blockHeader [5]byte + const maxBlockSize = math.MaxUint16 + numBlocks := 1 + len(in)/maxBlockSize + + // RFC 1952, section 2.3.1. + var gzipFooter [8]byte + binary.LittleEndian.PutUint32(gzipFooter[0:4], crc32.ChecksumIEEE(in)) + binary.LittleEndian.PutUint32(gzipFooter[4:8], uint32(len(in))) + + // Encode the input without compression using raw DEFLATE blocks. + out = make([]byte, 0, len(gzipHeader)+len(blockHeader)*numBlocks+len(in)+len(gzipFooter)) + out = append(out, gzipHeader[:]...) + for blockHeader[0] == 0 { + blockSize := maxBlockSize + if blockSize > len(in) { + blockHeader[0] = 0x01 // final bit per RFC 1951, section 3.2.3. + blockSize = len(in) + } + binary.LittleEndian.PutUint16(blockHeader[1:3], uint16(blockSize)^0x0000) + binary.LittleEndian.PutUint16(blockHeader[3:5], uint16(blockSize)^0xffff) + out = append(out, blockHeader[:]...) + out = append(out, in[:blockSize]...) + in = in[blockSize:] + } + out = append(out, gzipFooter[:]...) + return out +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go new file mode 100644 index 000000000..49e723161 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go @@ -0,0 +1,176 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "reflect" + + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/encoding/messageset" + ptag "google.golang.org/protobuf/internal/encoding/tag" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/pragma" + pref "google.golang.org/protobuf/reflect/protoreflect" + preg "google.golang.org/protobuf/reflect/protoregistry" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +func (xi *ExtensionInfo) initToLegacy() { + xd := xi.desc + var parent piface.MessageV1 + messageName := xd.ContainingMessage().FullName() + if mt, _ := preg.GlobalTypes.FindMessageByName(messageName); mt != nil { + // Create a new parent message and unwrap it if possible. + mv := mt.New().Interface() + t := reflect.TypeOf(mv) + if mv, ok := mv.(unwrapper); ok { + t = reflect.TypeOf(mv.protoUnwrap()) + } + + // Check whether the message implements the legacy v1 Message interface. + mz := reflect.Zero(t).Interface() + if mz, ok := mz.(piface.MessageV1); ok { + parent = mz + } + } + + // Determine the v1 extension type, which is unfortunately not the same as + // the v2 ExtensionType.GoType. + extType := xi.goType + switch extType.Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + extType = reflect.PtrTo(extType) // T -> *T for singular scalar fields + } + + // Reconstruct the legacy enum full name. + var enumName string + if xd.Kind() == pref.EnumKind { + enumName = legacyEnumName(xd.Enum()) + } + + // Derive the proto file that the extension was declared within. + var filename string + if fd := xd.ParentFile(); fd != nil { + filename = fd.Path() + } + + // For MessageSet extensions, the name used is the parent message. + name := xd.FullName() + if messageset.IsMessageSetExtension(xd) { + name = name.Parent() + } + + xi.ExtendedType = parent + xi.ExtensionType = reflect.Zero(extType).Interface() + xi.Field = int32(xd.Number()) + xi.Name = string(name) + xi.Tag = ptag.Marshal(xd, enumName) + xi.Filename = filename +} + +// initFromLegacy initializes an ExtensionInfo from +// the contents of the deprecated exported fields of the type. +func (xi *ExtensionInfo) initFromLegacy() { + // The v1 API returns "type incomplete" descriptors where only the + // field number is specified. In such a case, use a placeholder. + if xi.ExtendedType == nil || xi.ExtensionType == nil { + xd := placeholderExtension{ + name: pref.FullName(xi.Name), + number: pref.FieldNumber(xi.Field), + } + xi.desc = extensionTypeDescriptor{xd, xi} + return + } + + // Resolve enum or message dependencies. + var ed pref.EnumDescriptor + var md pref.MessageDescriptor + t := reflect.TypeOf(xi.ExtensionType) + isOptional := t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct + isRepeated := t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 + if isOptional || isRepeated { + t = t.Elem() + } + switch v := reflect.Zero(t).Interface().(type) { + case pref.Enum: + ed = v.Descriptor() + case enumV1: + ed = LegacyLoadEnumDesc(t) + case pref.ProtoMessage: + md = v.ProtoReflect().Descriptor() + case messageV1: + md = LegacyLoadMessageDesc(t) + } + + // Derive basic field information from the struct tag. + var evs pref.EnumValueDescriptors + if ed != nil { + evs = ed.Values() + } + fd := ptag.Unmarshal(xi.Tag, t, evs).(*filedesc.Field) + + // Construct a v2 ExtensionType. + xd := &filedesc.Extension{L2: new(filedesc.ExtensionL2)} + xd.L0.ParentFile = filedesc.SurrogateProto2 + xd.L0.FullName = pref.FullName(xi.Name) + xd.L1.Number = pref.FieldNumber(xi.Field) + xd.L1.Cardinality = fd.L1.Cardinality + xd.L1.Kind = fd.L1.Kind + xd.L2.IsPacked = fd.L1.IsPacked + xd.L2.Default = fd.L1.Default + xd.L1.Extendee = Export{}.MessageDescriptorOf(xi.ExtendedType) + xd.L2.Enum = ed + xd.L2.Message = md + + // Derive real extension field name for MessageSets. + if messageset.IsMessageSet(xd.L1.Extendee) && md.FullName() == xd.L0.FullName { + xd.L0.FullName = xd.L0.FullName.Append(messageset.ExtensionName) + } + + tt := reflect.TypeOf(xi.ExtensionType) + if isOptional { + tt = tt.Elem() + } + xi.goType = tt + xi.desc = extensionTypeDescriptor{xd, xi} +} + +type placeholderExtension struct { + name pref.FullName + number pref.FieldNumber +} + +func (x placeholderExtension) ParentFile() pref.FileDescriptor { return nil } +func (x placeholderExtension) Parent() pref.Descriptor { return nil } +func (x placeholderExtension) Index() int { return 0 } +func (x placeholderExtension) Syntax() pref.Syntax { return 0 } +func (x placeholderExtension) Name() pref.Name { return x.name.Name() } +func (x placeholderExtension) FullName() pref.FullName { return x.name } +func (x placeholderExtension) IsPlaceholder() bool { return true } +func (x placeholderExtension) Options() pref.ProtoMessage { return descopts.Field } +func (x placeholderExtension) Number() pref.FieldNumber { return x.number } +func (x placeholderExtension) Cardinality() pref.Cardinality { return 0 } +func (x placeholderExtension) Kind() pref.Kind { return 0 } +func (x placeholderExtension) HasJSONName() bool { return false } +func (x placeholderExtension) JSONName() string { return "[" + string(x.name) + "]" } +func (x placeholderExtension) TextName() string { return "[" + string(x.name) + "]" } +func (x placeholderExtension) HasPresence() bool { return false } +func (x placeholderExtension) HasOptionalKeyword() bool { return false } +func (x placeholderExtension) IsExtension() bool { return true } +func (x placeholderExtension) IsWeak() bool { return false } +func (x placeholderExtension) IsPacked() bool { return false } +func (x placeholderExtension) IsList() bool { return false } +func (x placeholderExtension) IsMap() bool { return false } +func (x placeholderExtension) MapKey() pref.FieldDescriptor { return nil } +func (x placeholderExtension) MapValue() pref.FieldDescriptor { return nil } +func (x placeholderExtension) HasDefault() bool { return false } +func (x placeholderExtension) Default() pref.Value { return pref.Value{} } +func (x placeholderExtension) DefaultEnumValue() pref.EnumValueDescriptor { return nil } +func (x placeholderExtension) ContainingOneof() pref.OneofDescriptor { return nil } +func (x placeholderExtension) ContainingMessage() pref.MessageDescriptor { return nil } +func (x placeholderExtension) Enum() pref.EnumDescriptor { return nil } +func (x placeholderExtension) Message() pref.MessageDescriptor { return nil } +func (x placeholderExtension) ProtoType(pref.FieldDescriptor) { return } +func (x placeholderExtension) ProtoInternal(pragma.DoNotImplement) { return } diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go new file mode 100644 index 000000000..9ab091086 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go @@ -0,0 +1,81 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "bytes" + "compress/gzip" + "io/ioutil" + "sync" + + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// Every enum and message type generated by protoc-gen-go since commit 2fc053c5 +// on February 25th, 2016 has had a method to get the raw descriptor. +// Types that were not generated by protoc-gen-go or were generated prior +// to that version are not supported. +// +// The []byte returned is the encoded form of a FileDescriptorProto message +// compressed using GZIP. The []int is the path from the top-level file +// to the specific message or enum declaration. +type ( + enumV1 interface { + EnumDescriptor() ([]byte, []int) + } + messageV1 interface { + Descriptor() ([]byte, []int) + } +) + +var legacyFileDescCache sync.Map // map[*byte]protoreflect.FileDescriptor + +// legacyLoadFileDesc unmarshals b as a compressed FileDescriptorProto message. +// +// This assumes that b is immutable and that b does not refer to part of a +// concatenated series of GZIP files (which would require shenanigans that +// rely on the concatenation properties of both protobufs and GZIP). +// File descriptors generated by protoc-gen-go do not rely on that property. +func legacyLoadFileDesc(b []byte) protoreflect.FileDescriptor { + // Fast-path: check whether we already have a cached file descriptor. + if fd, ok := legacyFileDescCache.Load(&b[0]); ok { + return fd.(protoreflect.FileDescriptor) + } + + // Slow-path: decompress and unmarshal the file descriptor proto. + zr, err := gzip.NewReader(bytes.NewReader(b)) + if err != nil { + panic(err) + } + b2, err := ioutil.ReadAll(zr) + if err != nil { + panic(err) + } + + fd := filedesc.Builder{ + RawDescriptor: b2, + FileRegistry: resolverOnly{protoregistry.GlobalFiles}, // do not register back to global registry + }.Build().File + if fd, ok := legacyFileDescCache.LoadOrStore(&b[0], fd); ok { + return fd.(protoreflect.FileDescriptor) + } + return fd +} + +type resolverOnly struct { + reg *protoregistry.Files +} + +func (r resolverOnly) FindFileByPath(path string) (protoreflect.FileDescriptor, error) { + return r.reg.FindFileByPath(path) +} +func (r resolverOnly) FindDescriptorByName(name protoreflect.FullName) (protoreflect.Descriptor, error) { + return r.reg.FindDescriptorByName(name) +} +func (resolverOnly) RegisterFile(protoreflect.FileDescriptor) error { + return nil +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go new file mode 100644 index 000000000..3759b010c --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go @@ -0,0 +1,558 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "strings" + "sync" + + "google.golang.org/protobuf/internal/descopts" + ptag "google.golang.org/protobuf/internal/encoding/tag" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" + pref "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +// legacyWrapMessage wraps v as a protoreflect.Message, +// where v must be a *struct kind and not implement the v2 API already. +func legacyWrapMessage(v reflect.Value) pref.Message { + t := v.Type() + if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct { + return aberrantMessage{v: v} + } + mt := legacyLoadMessageInfo(t, "") + return mt.MessageOf(v.Interface()) +} + +// legacyLoadMessageType dynamically loads a protoreflect.Type for t, +// where t must be not implement the v2 API already. +// The provided name is used if it cannot be determined from the message. +func legacyLoadMessageType(t reflect.Type, name pref.FullName) protoreflect.MessageType { + if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct { + return aberrantMessageType{t} + } + return legacyLoadMessageInfo(t, name) +} + +var legacyMessageTypeCache sync.Map // map[reflect.Type]*MessageInfo + +// legacyLoadMessageInfo dynamically loads a *MessageInfo for t, +// where t must be a *struct kind and not implement the v2 API already. +// The provided name is used if it cannot be determined from the message. +func legacyLoadMessageInfo(t reflect.Type, name pref.FullName) *MessageInfo { + // Fast-path: check if a MessageInfo is cached for this concrete type. + if mt, ok := legacyMessageTypeCache.Load(t); ok { + return mt.(*MessageInfo) + } + + // Slow-path: derive message descriptor and initialize MessageInfo. + mi := &MessageInfo{ + Desc: legacyLoadMessageDesc(t, name), + GoReflectType: t, + } + + var hasMarshal, hasUnmarshal bool + v := reflect.Zero(t).Interface() + if _, hasMarshal = v.(legacyMarshaler); hasMarshal { + mi.methods.Marshal = legacyMarshal + + // We have no way to tell whether the type's Marshal method + // supports deterministic serialization or not, but this + // preserves the v1 implementation's behavior of always + // calling Marshal methods when present. + mi.methods.Flags |= piface.SupportMarshalDeterministic + } + if _, hasUnmarshal = v.(legacyUnmarshaler); hasUnmarshal { + mi.methods.Unmarshal = legacyUnmarshal + } + if _, hasMerge := v.(legacyMerger); hasMerge || (hasMarshal && hasUnmarshal) { + mi.methods.Merge = legacyMerge + } + + if mi, ok := legacyMessageTypeCache.LoadOrStore(t, mi); ok { + return mi.(*MessageInfo) + } + return mi +} + +var legacyMessageDescCache sync.Map // map[reflect.Type]protoreflect.MessageDescriptor + +// LegacyLoadMessageDesc returns an MessageDescriptor derived from the Go type, +// which should be a *struct kind and must not implement the v2 API already. +// +// This is exported for testing purposes. +func LegacyLoadMessageDesc(t reflect.Type) pref.MessageDescriptor { + return legacyLoadMessageDesc(t, "") +} +func legacyLoadMessageDesc(t reflect.Type, name pref.FullName) pref.MessageDescriptor { + // Fast-path: check if a MessageDescriptor is cached for this concrete type. + if mi, ok := legacyMessageDescCache.Load(t); ok { + return mi.(pref.MessageDescriptor) + } + + // Slow-path: initialize MessageDescriptor from the raw descriptor. + mv := reflect.Zero(t).Interface() + if _, ok := mv.(pref.ProtoMessage); ok { + panic(fmt.Sprintf("%v already implements proto.Message", t)) + } + mdV1, ok := mv.(messageV1) + if !ok { + return aberrantLoadMessageDesc(t, name) + } + + // If this is a dynamic message type where there isn't a 1-1 mapping between + // Go and protobuf types, calling the Descriptor method on the zero value of + // the message type isn't likely to work. If it panics, swallow the panic and + // continue as if the Descriptor method wasn't present. + b, idxs := func() ([]byte, []int) { + defer func() { + recover() + }() + return mdV1.Descriptor() + }() + if b == nil { + return aberrantLoadMessageDesc(t, name) + } + + // If the Go type has no fields, then this might be a proto3 empty message + // from before the size cache was added. If there are any fields, check to + // see that at least one of them looks like something we generated. + if t.Elem().Kind() == reflect.Struct { + if nfield := t.Elem().NumField(); nfield > 0 { + hasProtoField := false + for i := 0; i < nfield; i++ { + f := t.Elem().Field(i) + if f.Tag.Get("protobuf") != "" || f.Tag.Get("protobuf_oneof") != "" || strings.HasPrefix(f.Name, "XXX_") { + hasProtoField = true + break + } + } + if !hasProtoField { + return aberrantLoadMessageDesc(t, name) + } + } + } + + md := legacyLoadFileDesc(b).Messages().Get(idxs[0]) + for _, i := range idxs[1:] { + md = md.Messages().Get(i) + } + if name != "" && md.FullName() != name { + panic(fmt.Sprintf("mismatching message name: got %v, want %v", md.FullName(), name)) + } + if md, ok := legacyMessageDescCache.LoadOrStore(t, md); ok { + return md.(protoreflect.MessageDescriptor) + } + return md +} + +var ( + aberrantMessageDescLock sync.Mutex + aberrantMessageDescCache map[reflect.Type]protoreflect.MessageDescriptor +) + +// aberrantLoadMessageDesc returns an MessageDescriptor derived from the Go type, +// which must not implement protoreflect.ProtoMessage or messageV1. +// +// This is a best-effort derivation of the message descriptor using the protobuf +// tags on the struct fields. +func aberrantLoadMessageDesc(t reflect.Type, name pref.FullName) pref.MessageDescriptor { + aberrantMessageDescLock.Lock() + defer aberrantMessageDescLock.Unlock() + if aberrantMessageDescCache == nil { + aberrantMessageDescCache = make(map[reflect.Type]protoreflect.MessageDescriptor) + } + return aberrantLoadMessageDescReentrant(t, name) +} +func aberrantLoadMessageDescReentrant(t reflect.Type, name pref.FullName) pref.MessageDescriptor { + // Fast-path: check if an MessageDescriptor is cached for this concrete type. + if md, ok := aberrantMessageDescCache[t]; ok { + return md + } + + // Slow-path: construct a descriptor from the Go struct type (best-effort). + // Cache the MessageDescriptor early on so that we can resolve internal + // cyclic references. + md := &filedesc.Message{L2: new(filedesc.MessageL2)} + md.L0.FullName = aberrantDeriveMessageName(t, name) + md.L0.ParentFile = filedesc.SurrogateProto2 + aberrantMessageDescCache[t] = md + + if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct { + return md + } + + // Try to determine if the message is using proto3 by checking scalars. + for i := 0; i < t.Elem().NumField(); i++ { + f := t.Elem().Field(i) + if tag := f.Tag.Get("protobuf"); tag != "" { + switch f.Type.Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + md.L0.ParentFile = filedesc.SurrogateProto3 + } + for _, s := range strings.Split(tag, ",") { + if s == "proto3" { + md.L0.ParentFile = filedesc.SurrogateProto3 + } + } + } + } + + // Obtain a list of oneof wrapper types. + var oneofWrappers []reflect.Type + for _, method := range []string{"XXX_OneofFuncs", "XXX_OneofWrappers"} { + if fn, ok := t.MethodByName(method); ok { + for _, v := range fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))}) { + if vs, ok := v.Interface().([]interface{}); ok { + for _, v := range vs { + oneofWrappers = append(oneofWrappers, reflect.TypeOf(v)) + } + } + } + } + } + + // Obtain a list of the extension ranges. + if fn, ok := t.MethodByName("ExtensionRangeArray"); ok { + vs := fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))})[0] + for i := 0; i < vs.Len(); i++ { + v := vs.Index(i) + md.L2.ExtensionRanges.List = append(md.L2.ExtensionRanges.List, [2]pref.FieldNumber{ + pref.FieldNumber(v.FieldByName("Start").Int()), + pref.FieldNumber(v.FieldByName("End").Int() + 1), + }) + md.L2.ExtensionRangeOptions = append(md.L2.ExtensionRangeOptions, nil) + } + } + + // Derive the message fields by inspecting the struct fields. + for i := 0; i < t.Elem().NumField(); i++ { + f := t.Elem().Field(i) + if tag := f.Tag.Get("protobuf"); tag != "" { + tagKey := f.Tag.Get("protobuf_key") + tagVal := f.Tag.Get("protobuf_val") + aberrantAppendField(md, f.Type, tag, tagKey, tagVal) + } + if tag := f.Tag.Get("protobuf_oneof"); tag != "" { + n := len(md.L2.Oneofs.List) + md.L2.Oneofs.List = append(md.L2.Oneofs.List, filedesc.Oneof{}) + od := &md.L2.Oneofs.List[n] + od.L0.FullName = md.FullName().Append(pref.Name(tag)) + od.L0.ParentFile = md.L0.ParentFile + od.L0.Parent = md + od.L0.Index = n + + for _, t := range oneofWrappers { + if t.Implements(f.Type) { + f := t.Elem().Field(0) + if tag := f.Tag.Get("protobuf"); tag != "" { + aberrantAppendField(md, f.Type, tag, "", "") + fd := &md.L2.Fields.List[len(md.L2.Fields.List)-1] + fd.L1.ContainingOneof = od + od.L1.Fields.List = append(od.L1.Fields.List, fd) + } + } + } + } + } + + return md +} + +func aberrantDeriveMessageName(t reflect.Type, name pref.FullName) pref.FullName { + if name.IsValid() { + return name + } + func() { + defer func() { recover() }() // swallow possible nil panics + if m, ok := reflect.Zero(t).Interface().(interface{ XXX_MessageName() string }); ok { + name = pref.FullName(m.XXX_MessageName()) + } + }() + if name.IsValid() { + return name + } + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + return AberrantDeriveFullName(t) +} + +func aberrantAppendField(md *filedesc.Message, goType reflect.Type, tag, tagKey, tagVal string) { + t := goType + isOptional := t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct + isRepeated := t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 + if isOptional || isRepeated { + t = t.Elem() + } + fd := ptag.Unmarshal(tag, t, placeholderEnumValues{}).(*filedesc.Field) + + // Append field descriptor to the message. + n := len(md.L2.Fields.List) + md.L2.Fields.List = append(md.L2.Fields.List, *fd) + fd = &md.L2.Fields.List[n] + fd.L0.FullName = md.FullName().Append(fd.Name()) + fd.L0.ParentFile = md.L0.ParentFile + fd.L0.Parent = md + fd.L0.Index = n + + if fd.L1.IsWeak || fd.L1.HasPacked { + fd.L1.Options = func() pref.ProtoMessage { + opts := descopts.Field.ProtoReflect().New() + if fd.L1.IsWeak { + opts.Set(opts.Descriptor().Fields().ByName("weak"), protoreflect.ValueOfBool(true)) + } + if fd.L1.HasPacked { + opts.Set(opts.Descriptor().Fields().ByName("packed"), protoreflect.ValueOfBool(fd.L1.IsPacked)) + } + return opts.Interface() + } + } + + // Populate Enum and Message. + if fd.Enum() == nil && fd.Kind() == pref.EnumKind { + switch v := reflect.Zero(t).Interface().(type) { + case pref.Enum: + fd.L1.Enum = v.Descriptor() + default: + fd.L1.Enum = LegacyLoadEnumDesc(t) + } + } + if fd.Message() == nil && (fd.Kind() == pref.MessageKind || fd.Kind() == pref.GroupKind) { + switch v := reflect.Zero(t).Interface().(type) { + case pref.ProtoMessage: + fd.L1.Message = v.ProtoReflect().Descriptor() + case messageV1: + fd.L1.Message = LegacyLoadMessageDesc(t) + default: + if t.Kind() == reflect.Map { + n := len(md.L1.Messages.List) + md.L1.Messages.List = append(md.L1.Messages.List, filedesc.Message{L2: new(filedesc.MessageL2)}) + md2 := &md.L1.Messages.List[n] + md2.L0.FullName = md.FullName().Append(pref.Name(strs.MapEntryName(string(fd.Name())))) + md2.L0.ParentFile = md.L0.ParentFile + md2.L0.Parent = md + md2.L0.Index = n + + md2.L1.IsMapEntry = true + md2.L2.Options = func() pref.ProtoMessage { + opts := descopts.Message.ProtoReflect().New() + opts.Set(opts.Descriptor().Fields().ByName("map_entry"), protoreflect.ValueOfBool(true)) + return opts.Interface() + } + + aberrantAppendField(md2, t.Key(), tagKey, "", "") + aberrantAppendField(md2, t.Elem(), tagVal, "", "") + + fd.L1.Message = md2 + break + } + fd.L1.Message = aberrantLoadMessageDescReentrant(t, "") + } + } +} + +type placeholderEnumValues struct { + protoreflect.EnumValueDescriptors +} + +func (placeholderEnumValues) ByNumber(n pref.EnumNumber) pref.EnumValueDescriptor { + return filedesc.PlaceholderEnumValue(pref.FullName(fmt.Sprintf("UNKNOWN_%d", n))) +} + +// legacyMarshaler is the proto.Marshaler interface superseded by protoiface.Methoder. +type legacyMarshaler interface { + Marshal() ([]byte, error) +} + +// legacyUnmarshaler is the proto.Unmarshaler interface superseded by protoiface.Methoder. +type legacyUnmarshaler interface { + Unmarshal([]byte) error +} + +// legacyMerger is the proto.Merger interface superseded by protoiface.Methoder. +type legacyMerger interface { + Merge(protoiface.MessageV1) +} + +var aberrantProtoMethods = &piface.Methods{ + Marshal: legacyMarshal, + Unmarshal: legacyUnmarshal, + Merge: legacyMerge, + + // We have no way to tell whether the type's Marshal method + // supports deterministic serialization or not, but this + // preserves the v1 implementation's behavior of always + // calling Marshal methods when present. + Flags: piface.SupportMarshalDeterministic, +} + +func legacyMarshal(in piface.MarshalInput) (piface.MarshalOutput, error) { + v := in.Message.(unwrapper).protoUnwrap() + marshaler, ok := v.(legacyMarshaler) + if !ok { + return piface.MarshalOutput{}, errors.New("%T does not implement Marshal", v) + } + out, err := marshaler.Marshal() + if in.Buf != nil { + out = append(in.Buf, out...) + } + return piface.MarshalOutput{ + Buf: out, + }, err +} + +func legacyUnmarshal(in piface.UnmarshalInput) (piface.UnmarshalOutput, error) { + v := in.Message.(unwrapper).protoUnwrap() + unmarshaler, ok := v.(legacyUnmarshaler) + if !ok { + return piface.UnmarshalOutput{}, errors.New("%T does not implement Unmarshal", v) + } + return piface.UnmarshalOutput{}, unmarshaler.Unmarshal(in.Buf) +} + +func legacyMerge(in piface.MergeInput) piface.MergeOutput { + // Check whether this supports the legacy merger. + dstv := in.Destination.(unwrapper).protoUnwrap() + merger, ok := dstv.(legacyMerger) + if ok { + merger.Merge(Export{}.ProtoMessageV1Of(in.Source)) + return piface.MergeOutput{Flags: piface.MergeComplete} + } + + // If legacy merger is unavailable, implement merge in terms of + // a marshal and unmarshal operation. + srcv := in.Source.(unwrapper).protoUnwrap() + marshaler, ok := srcv.(legacyMarshaler) + if !ok { + return piface.MergeOutput{} + } + dstv = in.Destination.(unwrapper).protoUnwrap() + unmarshaler, ok := dstv.(legacyUnmarshaler) + if !ok { + return piface.MergeOutput{} + } + b, err := marshaler.Marshal() + if err != nil { + return piface.MergeOutput{} + } + err = unmarshaler.Unmarshal(b) + if err != nil { + return piface.MergeOutput{} + } + return piface.MergeOutput{Flags: piface.MergeComplete} +} + +// aberrantMessageType implements MessageType for all types other than pointer-to-struct. +type aberrantMessageType struct { + t reflect.Type +} + +func (mt aberrantMessageType) New() pref.Message { + if mt.t.Kind() == reflect.Ptr { + return aberrantMessage{reflect.New(mt.t.Elem())} + } + return aberrantMessage{reflect.Zero(mt.t)} +} +func (mt aberrantMessageType) Zero() pref.Message { + return aberrantMessage{reflect.Zero(mt.t)} +} +func (mt aberrantMessageType) GoType() reflect.Type { + return mt.t +} +func (mt aberrantMessageType) Descriptor() pref.MessageDescriptor { + return LegacyLoadMessageDesc(mt.t) +} + +// aberrantMessage implements Message for all types other than pointer-to-struct. +// +// When the underlying type implements legacyMarshaler or legacyUnmarshaler, +// the aberrant Message can be marshaled or unmarshaled. Otherwise, there is +// not much that can be done with values of this type. +type aberrantMessage struct { + v reflect.Value +} + +// Reset implements the v1 proto.Message.Reset method. +func (m aberrantMessage) Reset() { + if mr, ok := m.v.Interface().(interface{ Reset() }); ok { + mr.Reset() + return + } + if m.v.Kind() == reflect.Ptr && !m.v.IsNil() { + m.v.Elem().Set(reflect.Zero(m.v.Type().Elem())) + } +} + +func (m aberrantMessage) ProtoReflect() pref.Message { + return m +} + +func (m aberrantMessage) Descriptor() pref.MessageDescriptor { + return LegacyLoadMessageDesc(m.v.Type()) +} +func (m aberrantMessage) Type() pref.MessageType { + return aberrantMessageType{m.v.Type()} +} +func (m aberrantMessage) New() pref.Message { + if m.v.Type().Kind() == reflect.Ptr { + return aberrantMessage{reflect.New(m.v.Type().Elem())} + } + return aberrantMessage{reflect.Zero(m.v.Type())} +} +func (m aberrantMessage) Interface() pref.ProtoMessage { + return m +} +func (m aberrantMessage) Range(f func(pref.FieldDescriptor, pref.Value) bool) { + return +} +func (m aberrantMessage) Has(pref.FieldDescriptor) bool { + return false +} +func (m aberrantMessage) Clear(pref.FieldDescriptor) { + panic("invalid Message.Clear on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) Get(fd pref.FieldDescriptor) pref.Value { + if fd.Default().IsValid() { + return fd.Default() + } + panic("invalid Message.Get on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) Set(pref.FieldDescriptor, pref.Value) { + panic("invalid Message.Set on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) Mutable(pref.FieldDescriptor) pref.Value { + panic("invalid Message.Mutable on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) NewField(pref.FieldDescriptor) pref.Value { + panic("invalid Message.NewField on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) WhichOneof(pref.OneofDescriptor) pref.FieldDescriptor { + panic("invalid Message.WhichOneof descriptor on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) GetUnknown() pref.RawFields { + return nil +} +func (m aberrantMessage) SetUnknown(pref.RawFields) { + // SetUnknown discards its input on messages which don't support unknown field storage. +} +func (m aberrantMessage) IsValid() bool { + if m.v.Kind() == reflect.Ptr { + return !m.v.IsNil() + } + return false +} +func (m aberrantMessage) ProtoMethods() *piface.Methods { + return aberrantProtoMethods +} +func (m aberrantMessage) protoUnwrap() interface{} { + return m.v.Interface() +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/merge.go b/vendor/google.golang.org/protobuf/internal/impl/merge.go new file mode 100644 index 000000000..c65bbc044 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/merge.go @@ -0,0 +1,176 @@ +// Copyright 2020 The Go 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 impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/proto" + pref "google.golang.org/protobuf/reflect/protoreflect" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +type mergeOptions struct{} + +func (o mergeOptions) Merge(dst, src proto.Message) { + proto.Merge(dst, src) +} + +// merge is protoreflect.Methods.Merge. +func (mi *MessageInfo) merge(in piface.MergeInput) piface.MergeOutput { + dp, ok := mi.getPointer(in.Destination) + if !ok { + return piface.MergeOutput{} + } + sp, ok := mi.getPointer(in.Source) + if !ok { + return piface.MergeOutput{} + } + mi.mergePointer(dp, sp, mergeOptions{}) + return piface.MergeOutput{Flags: piface.MergeComplete} +} + +func (mi *MessageInfo) mergePointer(dst, src pointer, opts mergeOptions) { + mi.init() + if dst.IsNil() { + panic(fmt.Sprintf("invalid value: merging into nil message")) + } + if src.IsNil() { + return + } + for _, f := range mi.orderedCoderFields { + if f.funcs.merge == nil { + continue + } + sfptr := src.Apply(f.offset) + if f.isPointer && sfptr.Elem().IsNil() { + continue + } + f.funcs.merge(dst.Apply(f.offset), sfptr, f, opts) + } + if mi.extensionOffset.IsValid() { + sext := src.Apply(mi.extensionOffset).Extensions() + dext := dst.Apply(mi.extensionOffset).Extensions() + if *dext == nil { + *dext = make(map[int32]ExtensionField) + } + for num, sx := range *sext { + xt := sx.Type() + xi := getExtensionFieldInfo(xt) + if xi.funcs.merge == nil { + continue + } + dx := (*dext)[num] + var dv pref.Value + if dx.Type() == sx.Type() { + dv = dx.Value() + } + if !dv.IsValid() && xi.unmarshalNeedsValue { + dv = xt.New() + } + dv = xi.funcs.merge(dv, sx.Value(), opts) + dx.Set(sx.Type(), dv) + (*dext)[num] = dx + } + } + if mi.unknownOffset.IsValid() { + su := mi.getUnknownBytes(src) + if su != nil && len(*su) > 0 { + du := mi.mutableUnknownBytes(dst) + *du = append(*du, *su...) + } + } +} + +func mergeScalarValue(dst, src pref.Value, opts mergeOptions) pref.Value { + return src +} + +func mergeBytesValue(dst, src pref.Value, opts mergeOptions) pref.Value { + return pref.ValueOfBytes(append(emptyBuf[:], src.Bytes()...)) +} + +func mergeListValue(dst, src pref.Value, opts mergeOptions) pref.Value { + dstl := dst.List() + srcl := src.List() + for i, llen := 0, srcl.Len(); i < llen; i++ { + dstl.Append(srcl.Get(i)) + } + return dst +} + +func mergeBytesListValue(dst, src pref.Value, opts mergeOptions) pref.Value { + dstl := dst.List() + srcl := src.List() + for i, llen := 0, srcl.Len(); i < llen; i++ { + sb := srcl.Get(i).Bytes() + db := append(emptyBuf[:], sb...) + dstl.Append(pref.ValueOfBytes(db)) + } + return dst +} + +func mergeMessageListValue(dst, src pref.Value, opts mergeOptions) pref.Value { + dstl := dst.List() + srcl := src.List() + for i, llen := 0, srcl.Len(); i < llen; i++ { + sm := srcl.Get(i).Message() + dm := proto.Clone(sm.Interface()).ProtoReflect() + dstl.Append(pref.ValueOfMessage(dm)) + } + return dst +} + +func mergeMessageValue(dst, src pref.Value, opts mergeOptions) pref.Value { + opts.Merge(dst.Message().Interface(), src.Message().Interface()) + return dst +} + +func mergeMessage(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + if f.mi != nil { + if dst.Elem().IsNil() { + dst.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem()))) + } + f.mi.mergePointer(dst.Elem(), src.Elem(), opts) + } else { + dm := dst.AsValueOf(f.ft).Elem() + sm := src.AsValueOf(f.ft).Elem() + if dm.IsNil() { + dm.Set(reflect.New(f.ft.Elem())) + } + opts.Merge(asMessage(dm), asMessage(sm)) + } +} + +func mergeMessageSlice(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + for _, sp := range src.PointerSlice() { + dm := reflect.New(f.ft.Elem().Elem()) + if f.mi != nil { + f.mi.mergePointer(pointerOfValue(dm), sp, opts) + } else { + opts.Merge(asMessage(dm), asMessage(sp.AsValueOf(f.ft.Elem().Elem()))) + } + dst.AppendPointerSlice(pointerOfValue(dm)) + } +} + +func mergeBytes(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Bytes() = append(emptyBuf[:], *src.Bytes()...) +} + +func mergeBytesNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Bytes() + if len(v) > 0 { + *dst.Bytes() = append(emptyBuf[:], v...) + } +} + +func mergeBytesSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.BytesSlice() + for _, v := range *src.BytesSlice() { + *ds = append(*ds, append(emptyBuf[:], v...)) + } +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go b/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go new file mode 100644 index 000000000..8816c274d --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go @@ -0,0 +1,209 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package impl + +import () + +func mergeBool(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Bool() = *src.Bool() +} + +func mergeBoolNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Bool() + if v != false { + *dst.Bool() = v + } +} + +func mergeBoolPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.BoolPtr() + if p != nil { + v := *p + *dst.BoolPtr() = &v + } +} + +func mergeBoolSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.BoolSlice() + ss := src.BoolSlice() + *ds = append(*ds, *ss...) +} + +func mergeInt32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Int32() = *src.Int32() +} + +func mergeInt32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Int32() + if v != 0 { + *dst.Int32() = v + } +} + +func mergeInt32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Int32Ptr() + if p != nil { + v := *p + *dst.Int32Ptr() = &v + } +} + +func mergeInt32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Int32Slice() + ss := src.Int32Slice() + *ds = append(*ds, *ss...) +} + +func mergeUint32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Uint32() = *src.Uint32() +} + +func mergeUint32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Uint32() + if v != 0 { + *dst.Uint32() = v + } +} + +func mergeUint32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Uint32Ptr() + if p != nil { + v := *p + *dst.Uint32Ptr() = &v + } +} + +func mergeUint32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Uint32Slice() + ss := src.Uint32Slice() + *ds = append(*ds, *ss...) +} + +func mergeInt64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Int64() = *src.Int64() +} + +func mergeInt64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Int64() + if v != 0 { + *dst.Int64() = v + } +} + +func mergeInt64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Int64Ptr() + if p != nil { + v := *p + *dst.Int64Ptr() = &v + } +} + +func mergeInt64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Int64Slice() + ss := src.Int64Slice() + *ds = append(*ds, *ss...) +} + +func mergeUint64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Uint64() = *src.Uint64() +} + +func mergeUint64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Uint64() + if v != 0 { + *dst.Uint64() = v + } +} + +func mergeUint64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Uint64Ptr() + if p != nil { + v := *p + *dst.Uint64Ptr() = &v + } +} + +func mergeUint64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Uint64Slice() + ss := src.Uint64Slice() + *ds = append(*ds, *ss...) +} + +func mergeFloat32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Float32() = *src.Float32() +} + +func mergeFloat32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Float32() + if v != 0 { + *dst.Float32() = v + } +} + +func mergeFloat32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Float32Ptr() + if p != nil { + v := *p + *dst.Float32Ptr() = &v + } +} + +func mergeFloat32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Float32Slice() + ss := src.Float32Slice() + *ds = append(*ds, *ss...) +} + +func mergeFloat64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Float64() = *src.Float64() +} + +func mergeFloat64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Float64() + if v != 0 { + *dst.Float64() = v + } +} + +func mergeFloat64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Float64Ptr() + if p != nil { + v := *p + *dst.Float64Ptr() = &v + } +} + +func mergeFloat64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Float64Slice() + ss := src.Float64Slice() + *ds = append(*ds, *ss...) +} + +func mergeString(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.String() = *src.String() +} + +func mergeStringNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.String() + if v != "" { + *dst.String() = v + } +} + +func mergeStringPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.StringPtr() + if p != nil { + v := *p + *dst.StringPtr() = &v + } +} + +func mergeStringSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.StringSlice() + ss := src.StringSlice() + *ds = append(*ds, *ss...) +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/message.go b/vendor/google.golang.org/protobuf/internal/impl/message.go new file mode 100644 index 000000000..a104e28e8 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/message.go @@ -0,0 +1,276 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "strconv" + "strings" + "sync" + "sync/atomic" + + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/reflect/protoreflect" + pref "google.golang.org/protobuf/reflect/protoreflect" + preg "google.golang.org/protobuf/reflect/protoregistry" +) + +// MessageInfo provides protobuf related functionality for a given Go type +// that represents a message. A given instance of MessageInfo is tied to +// exactly one Go type, which must be a pointer to a struct type. +// +// The exported fields must be populated before any methods are called +// and cannot be mutated after set. +type MessageInfo struct { + // GoReflectType is the underlying message Go type and must be populated. + GoReflectType reflect.Type // pointer to struct + + // Desc is the underlying message descriptor type and must be populated. + Desc pref.MessageDescriptor + + // Exporter must be provided in a purego environment in order to provide + // access to unexported fields. + Exporter exporter + + // OneofWrappers is list of pointers to oneof wrapper struct types. + OneofWrappers []interface{} + + initMu sync.Mutex // protects all unexported fields + initDone uint32 + + reflectMessageInfo // for reflection implementation + coderMessageInfo // for fast-path method implementations +} + +// exporter is a function that returns a reference to the ith field of v, +// where v is a pointer to a struct. It returns nil if it does not support +// exporting the requested field (e.g., already exported). +type exporter func(v interface{}, i int) interface{} + +// getMessageInfo returns the MessageInfo for any message type that +// is generated by our implementation of protoc-gen-go (for v2 and on). +// If it is unable to obtain a MessageInfo, it returns nil. +func getMessageInfo(mt reflect.Type) *MessageInfo { + m, ok := reflect.Zero(mt).Interface().(pref.ProtoMessage) + if !ok { + return nil + } + mr, ok := m.ProtoReflect().(interface{ ProtoMessageInfo() *MessageInfo }) + if !ok { + return nil + } + return mr.ProtoMessageInfo() +} + +func (mi *MessageInfo) init() { + // This function is called in the hot path. Inline the sync.Once logic, + // since allocating a closure for Once.Do is expensive. + // Keep init small to ensure that it can be inlined. + if atomic.LoadUint32(&mi.initDone) == 0 { + mi.initOnce() + } +} + +func (mi *MessageInfo) initOnce() { + mi.initMu.Lock() + defer mi.initMu.Unlock() + if mi.initDone == 1 { + return + } + + t := mi.GoReflectType + if t.Kind() != reflect.Ptr && t.Elem().Kind() != reflect.Struct { + panic(fmt.Sprintf("got %v, want *struct kind", t)) + } + t = t.Elem() + + si := mi.makeStructInfo(t) + mi.makeReflectFuncs(t, si) + mi.makeCoderMethods(t, si) + + atomic.StoreUint32(&mi.initDone, 1) +} + +// getPointer returns the pointer for a message, which should be of +// the type of the MessageInfo. If the message is of a different type, +// it returns ok==false. +func (mi *MessageInfo) getPointer(m pref.Message) (p pointer, ok bool) { + switch m := m.(type) { + case *messageState: + return m.pointer(), m.messageInfo() == mi + case *messageReflectWrapper: + return m.pointer(), m.messageInfo() == mi + } + return pointer{}, false +} + +type ( + SizeCache = int32 + WeakFields = map[int32]protoreflect.ProtoMessage + UnknownFields = unknownFieldsA // TODO: switch to unknownFieldsB + unknownFieldsA = []byte + unknownFieldsB = *[]byte + ExtensionFields = map[int32]ExtensionField +) + +var ( + sizecacheType = reflect.TypeOf(SizeCache(0)) + weakFieldsType = reflect.TypeOf(WeakFields(nil)) + unknownFieldsAType = reflect.TypeOf(unknownFieldsA(nil)) + unknownFieldsBType = reflect.TypeOf(unknownFieldsB(nil)) + extensionFieldsType = reflect.TypeOf(ExtensionFields(nil)) +) + +type structInfo struct { + sizecacheOffset offset + sizecacheType reflect.Type + weakOffset offset + weakType reflect.Type + unknownOffset offset + unknownType reflect.Type + extensionOffset offset + extensionType reflect.Type + + fieldsByNumber map[pref.FieldNumber]reflect.StructField + oneofsByName map[pref.Name]reflect.StructField + oneofWrappersByType map[reflect.Type]pref.FieldNumber + oneofWrappersByNumber map[pref.FieldNumber]reflect.Type +} + +func (mi *MessageInfo) makeStructInfo(t reflect.Type) structInfo { + si := structInfo{ + sizecacheOffset: invalidOffset, + weakOffset: invalidOffset, + unknownOffset: invalidOffset, + extensionOffset: invalidOffset, + + fieldsByNumber: map[pref.FieldNumber]reflect.StructField{}, + oneofsByName: map[pref.Name]reflect.StructField{}, + oneofWrappersByType: map[reflect.Type]pref.FieldNumber{}, + oneofWrappersByNumber: map[pref.FieldNumber]reflect.Type{}, + } + +fieldLoop: + for i := 0; i < t.NumField(); i++ { + switch f := t.Field(i); f.Name { + case genid.SizeCache_goname, genid.SizeCacheA_goname: + if f.Type == sizecacheType { + si.sizecacheOffset = offsetOf(f, mi.Exporter) + si.sizecacheType = f.Type + } + case genid.WeakFields_goname, genid.WeakFieldsA_goname: + if f.Type == weakFieldsType { + si.weakOffset = offsetOf(f, mi.Exporter) + si.weakType = f.Type + } + case genid.UnknownFields_goname, genid.UnknownFieldsA_goname: + if f.Type == unknownFieldsAType || f.Type == unknownFieldsBType { + si.unknownOffset = offsetOf(f, mi.Exporter) + si.unknownType = f.Type + } + case genid.ExtensionFields_goname, genid.ExtensionFieldsA_goname, genid.ExtensionFieldsB_goname: + if f.Type == extensionFieldsType { + si.extensionOffset = offsetOf(f, mi.Exporter) + si.extensionType = f.Type + } + default: + for _, s := range strings.Split(f.Tag.Get("protobuf"), ",") { + if len(s) > 0 && strings.Trim(s, "0123456789") == "" { + n, _ := strconv.ParseUint(s, 10, 64) + si.fieldsByNumber[pref.FieldNumber(n)] = f + continue fieldLoop + } + } + if s := f.Tag.Get("protobuf_oneof"); len(s) > 0 { + si.oneofsByName[pref.Name(s)] = f + continue fieldLoop + } + } + } + + // Derive a mapping of oneof wrappers to fields. + oneofWrappers := mi.OneofWrappers + for _, method := range []string{"XXX_OneofFuncs", "XXX_OneofWrappers"} { + if fn, ok := reflect.PtrTo(t).MethodByName(method); ok { + for _, v := range fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))}) { + if vs, ok := v.Interface().([]interface{}); ok { + oneofWrappers = vs + } + } + } + } + for _, v := range oneofWrappers { + tf := reflect.TypeOf(v).Elem() + f := tf.Field(0) + for _, s := range strings.Split(f.Tag.Get("protobuf"), ",") { + if len(s) > 0 && strings.Trim(s, "0123456789") == "" { + n, _ := strconv.ParseUint(s, 10, 64) + si.oneofWrappersByType[tf] = pref.FieldNumber(n) + si.oneofWrappersByNumber[pref.FieldNumber(n)] = tf + break + } + } + } + + return si +} + +func (mi *MessageInfo) New() protoreflect.Message { + return mi.MessageOf(reflect.New(mi.GoReflectType.Elem()).Interface()) +} +func (mi *MessageInfo) Zero() protoreflect.Message { + return mi.MessageOf(reflect.Zero(mi.GoReflectType).Interface()) +} +func (mi *MessageInfo) Descriptor() protoreflect.MessageDescriptor { + return mi.Desc +} +func (mi *MessageInfo) Enum(i int) protoreflect.EnumType { + mi.init() + fd := mi.Desc.Fields().Get(i) + return Export{}.EnumTypeOf(mi.fieldTypes[fd.Number()]) +} +func (mi *MessageInfo) Message(i int) protoreflect.MessageType { + mi.init() + fd := mi.Desc.Fields().Get(i) + switch { + case fd.IsWeak(): + mt, _ := preg.GlobalTypes.FindMessageByName(fd.Message().FullName()) + return mt + case fd.IsMap(): + return mapEntryType{fd.Message(), mi.fieldTypes[fd.Number()]} + default: + return Export{}.MessageTypeOf(mi.fieldTypes[fd.Number()]) + } +} + +type mapEntryType struct { + desc protoreflect.MessageDescriptor + valType interface{} // zero value of enum or message type +} + +func (mt mapEntryType) New() protoreflect.Message { + return nil +} +func (mt mapEntryType) Zero() protoreflect.Message { + return nil +} +func (mt mapEntryType) Descriptor() protoreflect.MessageDescriptor { + return mt.desc +} +func (mt mapEntryType) Enum(i int) protoreflect.EnumType { + fd := mt.desc.Fields().Get(i) + if fd.Enum() == nil { + return nil + } + return Export{}.EnumTypeOf(mt.valType) +} +func (mt mapEntryType) Message(i int) protoreflect.MessageType { + fd := mt.desc.Fields().Get(i) + if fd.Message() == nil { + return nil + } + return Export{}.MessageTypeOf(mt.valType) +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go b/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go new file mode 100644 index 000000000..9488b7261 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go @@ -0,0 +1,465 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/internal/detrand" + "google.golang.org/protobuf/internal/pragma" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type reflectMessageInfo struct { + fields map[pref.FieldNumber]*fieldInfo + oneofs map[pref.Name]*oneofInfo + + // fieldTypes contains the zero value of an enum or message field. + // For lists, it contains the element type. + // For maps, it contains the entry value type. + fieldTypes map[pref.FieldNumber]interface{} + + // denseFields is a subset of fields where: + // 0 < fieldDesc.Number() < len(denseFields) + // It provides faster access to the fieldInfo, but may be incomplete. + denseFields []*fieldInfo + + // rangeInfos is a list of all fields (not belonging to a oneof) and oneofs. + rangeInfos []interface{} // either *fieldInfo or *oneofInfo + + getUnknown func(pointer) pref.RawFields + setUnknown func(pointer, pref.RawFields) + extensionMap func(pointer) *extensionMap + + nilMessage atomicNilMessage +} + +// makeReflectFuncs generates the set of functions to support reflection. +func (mi *MessageInfo) makeReflectFuncs(t reflect.Type, si structInfo) { + mi.makeKnownFieldsFunc(si) + mi.makeUnknownFieldsFunc(t, si) + mi.makeExtensionFieldsFunc(t, si) + mi.makeFieldTypes(si) +} + +// makeKnownFieldsFunc generates functions for operations that can be performed +// on each protobuf message field. It takes in a reflect.Type representing the +// Go struct and matches message fields with struct fields. +// +// This code assumes that the struct is well-formed and panics if there are +// any discrepancies. +func (mi *MessageInfo) makeKnownFieldsFunc(si structInfo) { + mi.fields = map[pref.FieldNumber]*fieldInfo{} + md := mi.Desc + fds := md.Fields() + for i := 0; i < fds.Len(); i++ { + fd := fds.Get(i) + fs := si.fieldsByNumber[fd.Number()] + isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic() + if isOneof { + fs = si.oneofsByName[fd.ContainingOneof().Name()] + } + var fi fieldInfo + switch { + case fs.Type == nil: + fi = fieldInfoForMissing(fd) // never occurs for officially generated message types + case isOneof: + fi = fieldInfoForOneof(fd, fs, mi.Exporter, si.oneofWrappersByNumber[fd.Number()]) + case fd.IsMap(): + fi = fieldInfoForMap(fd, fs, mi.Exporter) + case fd.IsList(): + fi = fieldInfoForList(fd, fs, mi.Exporter) + case fd.IsWeak(): + fi = fieldInfoForWeakMessage(fd, si.weakOffset) + case fd.Message() != nil: + fi = fieldInfoForMessage(fd, fs, mi.Exporter) + default: + fi = fieldInfoForScalar(fd, fs, mi.Exporter) + } + mi.fields[fd.Number()] = &fi + } + + mi.oneofs = map[pref.Name]*oneofInfo{} + for i := 0; i < md.Oneofs().Len(); i++ { + od := md.Oneofs().Get(i) + mi.oneofs[od.Name()] = makeOneofInfo(od, si, mi.Exporter) + } + + mi.denseFields = make([]*fieldInfo, fds.Len()*2) + for i := 0; i < fds.Len(); i++ { + if fd := fds.Get(i); int(fd.Number()) < len(mi.denseFields) { + mi.denseFields[fd.Number()] = mi.fields[fd.Number()] + } + } + + for i := 0; i < fds.Len(); { + fd := fds.Get(i) + if od := fd.ContainingOneof(); od != nil && !od.IsSynthetic() { + mi.rangeInfos = append(mi.rangeInfos, mi.oneofs[od.Name()]) + i += od.Fields().Len() + } else { + mi.rangeInfos = append(mi.rangeInfos, mi.fields[fd.Number()]) + i++ + } + } + + // Introduce instability to iteration order, but keep it deterministic. + if len(mi.rangeInfos) > 1 && detrand.Bool() { + i := detrand.Intn(len(mi.rangeInfos) - 1) + mi.rangeInfos[i], mi.rangeInfos[i+1] = mi.rangeInfos[i+1], mi.rangeInfos[i] + } +} + +func (mi *MessageInfo) makeUnknownFieldsFunc(t reflect.Type, si structInfo) { + switch { + case si.unknownOffset.IsValid() && si.unknownType == unknownFieldsAType: + // Handle as []byte. + mi.getUnknown = func(p pointer) pref.RawFields { + if p.IsNil() { + return nil + } + return *p.Apply(mi.unknownOffset).Bytes() + } + mi.setUnknown = func(p pointer, b pref.RawFields) { + if p.IsNil() { + panic("invalid SetUnknown on nil Message") + } + *p.Apply(mi.unknownOffset).Bytes() = b + } + case si.unknownOffset.IsValid() && si.unknownType == unknownFieldsBType: + // Handle as *[]byte. + mi.getUnknown = func(p pointer) pref.RawFields { + if p.IsNil() { + return nil + } + bp := p.Apply(mi.unknownOffset).BytesPtr() + if *bp == nil { + return nil + } + return **bp + } + mi.setUnknown = func(p pointer, b pref.RawFields) { + if p.IsNil() { + panic("invalid SetUnknown on nil Message") + } + bp := p.Apply(mi.unknownOffset).BytesPtr() + if *bp == nil { + *bp = new([]byte) + } + **bp = b + } + default: + mi.getUnknown = func(pointer) pref.RawFields { + return nil + } + mi.setUnknown = func(p pointer, _ pref.RawFields) { + if p.IsNil() { + panic("invalid SetUnknown on nil Message") + } + } + } +} + +func (mi *MessageInfo) makeExtensionFieldsFunc(t reflect.Type, si structInfo) { + if si.extensionOffset.IsValid() { + mi.extensionMap = func(p pointer) *extensionMap { + if p.IsNil() { + return (*extensionMap)(nil) + } + v := p.Apply(si.extensionOffset).AsValueOf(extensionFieldsType) + return (*extensionMap)(v.Interface().(*map[int32]ExtensionField)) + } + } else { + mi.extensionMap = func(pointer) *extensionMap { + return (*extensionMap)(nil) + } + } +} +func (mi *MessageInfo) makeFieldTypes(si structInfo) { + md := mi.Desc + fds := md.Fields() + for i := 0; i < fds.Len(); i++ { + var ft reflect.Type + fd := fds.Get(i) + fs := si.fieldsByNumber[fd.Number()] + isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic() + if isOneof { + fs = si.oneofsByName[fd.ContainingOneof().Name()] + } + var isMessage bool + switch { + case fs.Type == nil: + continue // never occurs for officially generated message types + case isOneof: + if fd.Enum() != nil || fd.Message() != nil { + ft = si.oneofWrappersByNumber[fd.Number()].Field(0).Type + } + case fd.IsMap(): + if fd.MapValue().Enum() != nil || fd.MapValue().Message() != nil { + ft = fs.Type.Elem() + } + isMessage = fd.MapValue().Message() != nil + case fd.IsList(): + if fd.Enum() != nil || fd.Message() != nil { + ft = fs.Type.Elem() + } + isMessage = fd.Message() != nil + case fd.Enum() != nil: + ft = fs.Type + if fd.HasPresence() && ft.Kind() == reflect.Ptr { + ft = ft.Elem() + } + case fd.Message() != nil: + ft = fs.Type + if fd.IsWeak() { + ft = nil + } + isMessage = true + } + if isMessage && ft != nil && ft.Kind() != reflect.Ptr { + ft = reflect.PtrTo(ft) // never occurs for officially generated message types + } + if ft != nil { + if mi.fieldTypes == nil { + mi.fieldTypes = make(map[pref.FieldNumber]interface{}) + } + mi.fieldTypes[fd.Number()] = reflect.Zero(ft).Interface() + } + } +} + +type extensionMap map[int32]ExtensionField + +func (m *extensionMap) Range(f func(pref.FieldDescriptor, pref.Value) bool) { + if m != nil { + for _, x := range *m { + xd := x.Type().TypeDescriptor() + v := x.Value() + if xd.IsList() && v.List().Len() == 0 { + continue + } + if !f(xd, v) { + return + } + } + } +} +func (m *extensionMap) Has(xt pref.ExtensionType) (ok bool) { + if m == nil { + return false + } + xd := xt.TypeDescriptor() + x, ok := (*m)[int32(xd.Number())] + if !ok { + return false + } + switch { + case xd.IsList(): + return x.Value().List().Len() > 0 + case xd.IsMap(): + return x.Value().Map().Len() > 0 + case xd.Message() != nil: + return x.Value().Message().IsValid() + } + return true +} +func (m *extensionMap) Clear(xt pref.ExtensionType) { + delete(*m, int32(xt.TypeDescriptor().Number())) +} +func (m *extensionMap) Get(xt pref.ExtensionType) pref.Value { + xd := xt.TypeDescriptor() + if m != nil { + if x, ok := (*m)[int32(xd.Number())]; ok { + return x.Value() + } + } + return xt.Zero() +} +func (m *extensionMap) Set(xt pref.ExtensionType, v pref.Value) { + xd := xt.TypeDescriptor() + isValid := true + switch { + case !xt.IsValidValue(v): + isValid = false + case xd.IsList(): + isValid = v.List().IsValid() + case xd.IsMap(): + isValid = v.Map().IsValid() + case xd.Message() != nil: + isValid = v.Message().IsValid() + } + if !isValid { + panic(fmt.Sprintf("%v: assigning invalid value", xt.TypeDescriptor().FullName())) + } + + if *m == nil { + *m = make(map[int32]ExtensionField) + } + var x ExtensionField + x.Set(xt, v) + (*m)[int32(xd.Number())] = x +} +func (m *extensionMap) Mutable(xt pref.ExtensionType) pref.Value { + xd := xt.TypeDescriptor() + if xd.Kind() != pref.MessageKind && xd.Kind() != pref.GroupKind && !xd.IsList() && !xd.IsMap() { + panic("invalid Mutable on field with non-composite type") + } + if x, ok := (*m)[int32(xd.Number())]; ok { + return x.Value() + } + v := xt.New() + m.Set(xt, v) + return v +} + +// MessageState is a data structure that is nested as the first field in a +// concrete message. It provides a way to implement the ProtoReflect method +// in an allocation-free way without needing to have a shadow Go type generated +// for every message type. This technique only works using unsafe. +// +// +// Example generated code: +// +// type M struct { +// state protoimpl.MessageState +// +// Field1 int32 +// Field2 string +// Field3 *BarMessage +// ... +// } +// +// func (m *M) ProtoReflect() protoreflect.Message { +// mi := &file_fizz_buzz_proto_msgInfos[5] +// if protoimpl.UnsafeEnabled && m != nil { +// ms := protoimpl.X.MessageStateOf(Pointer(m)) +// if ms.LoadMessageInfo() == nil { +// ms.StoreMessageInfo(mi) +// } +// return ms +// } +// return mi.MessageOf(m) +// } +// +// The MessageState type holds a *MessageInfo, which must be atomically set to +// the message info associated with a given message instance. +// By unsafely converting a *M into a *MessageState, the MessageState object +// has access to all the information needed to implement protobuf reflection. +// It has access to the message info as its first field, and a pointer to the +// MessageState is identical to a pointer to the concrete message value. +// +// +// Requirements: +// • The type M must implement protoreflect.ProtoMessage. +// • The address of m must not be nil. +// • The address of m and the address of m.state must be equal, +// even though they are different Go types. +type MessageState struct { + pragma.NoUnkeyedLiterals + pragma.DoNotCompare + pragma.DoNotCopy + + atomicMessageInfo *MessageInfo +} + +type messageState MessageState + +var ( + _ pref.Message = (*messageState)(nil) + _ unwrapper = (*messageState)(nil) +) + +// messageDataType is a tuple of a pointer to the message data and +// a pointer to the message type. It is a generalized way of providing a +// reflective view over a message instance. The disadvantage of this approach +// is the need to allocate this tuple of 16B. +type messageDataType struct { + p pointer + mi *MessageInfo +} + +type ( + messageReflectWrapper messageDataType + messageIfaceWrapper messageDataType +) + +var ( + _ pref.Message = (*messageReflectWrapper)(nil) + _ unwrapper = (*messageReflectWrapper)(nil) + _ pref.ProtoMessage = (*messageIfaceWrapper)(nil) + _ unwrapper = (*messageIfaceWrapper)(nil) +) + +// MessageOf returns a reflective view over a message. The input must be a +// pointer to a named Go struct. If the provided type has a ProtoReflect method, +// it must be implemented by calling this method. +func (mi *MessageInfo) MessageOf(m interface{}) pref.Message { + if reflect.TypeOf(m) != mi.GoReflectType { + panic(fmt.Sprintf("type mismatch: got %T, want %v", m, mi.GoReflectType)) + } + p := pointerOfIface(m) + if p.IsNil() { + return mi.nilMessage.Init(mi) + } + return &messageReflectWrapper{p, mi} +} + +func (m *messageReflectWrapper) pointer() pointer { return m.p } +func (m *messageReflectWrapper) messageInfo() *MessageInfo { return m.mi } + +// Reset implements the v1 proto.Message.Reset method. +func (m *messageIfaceWrapper) Reset() { + if mr, ok := m.protoUnwrap().(interface{ Reset() }); ok { + mr.Reset() + return + } + rv := reflect.ValueOf(m.protoUnwrap()) + if rv.Kind() == reflect.Ptr && !rv.IsNil() { + rv.Elem().Set(reflect.Zero(rv.Type().Elem())) + } +} +func (m *messageIfaceWrapper) ProtoReflect() pref.Message { + return (*messageReflectWrapper)(m) +} +func (m *messageIfaceWrapper) protoUnwrap() interface{} { + return m.p.AsIfaceOf(m.mi.GoReflectType.Elem()) +} + +// checkField verifies that the provided field descriptor is valid. +// Exactly one of the returned values is populated. +func (mi *MessageInfo) checkField(fd pref.FieldDescriptor) (*fieldInfo, pref.ExtensionType) { + var fi *fieldInfo + if n := fd.Number(); 0 < n && int(n) < len(mi.denseFields) { + fi = mi.denseFields[n] + } else { + fi = mi.fields[n] + } + if fi != nil { + if fi.fieldDesc != fd { + if got, want := fd.FullName(), fi.fieldDesc.FullName(); got != want { + panic(fmt.Sprintf("mismatching field: got %v, want %v", got, want)) + } + panic(fmt.Sprintf("mismatching field: %v", fd.FullName())) + } + return fi, nil + } + + if fd.IsExtension() { + if got, want := fd.ContainingMessage().FullName(), mi.Desc.FullName(); got != want { + // TODO: Should this be exact containing message descriptor match? + panic(fmt.Sprintf("extension %v has mismatching containing message: got %v, want %v", fd.FullName(), got, want)) + } + if !mi.Desc.ExtensionRanges().Has(fd.Number()) { + panic(fmt.Sprintf("extension %v extends %v outside the extension range", fd.FullName(), mi.Desc.FullName())) + } + xtd, ok := fd.(pref.ExtensionTypeDescriptor) + if !ok { + panic(fmt.Sprintf("extension %v does not implement protoreflect.ExtensionTypeDescriptor", fd.FullName())) + } + return nil, xtd.Type() + } + panic(fmt.Sprintf("field %v is invalid", fd.FullName())) +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go b/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go new file mode 100644 index 000000000..343cf8721 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go @@ -0,0 +1,543 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "math" + "reflect" + "sync" + + "google.golang.org/protobuf/internal/flags" + pref "google.golang.org/protobuf/reflect/protoreflect" + preg "google.golang.org/protobuf/reflect/protoregistry" +) + +type fieldInfo struct { + fieldDesc pref.FieldDescriptor + + // These fields are used for protobuf reflection support. + has func(pointer) bool + clear func(pointer) + get func(pointer) pref.Value + set func(pointer, pref.Value) + mutable func(pointer) pref.Value + newMessage func() pref.Message + newField func() pref.Value +} + +func fieldInfoForMissing(fd pref.FieldDescriptor) fieldInfo { + // This never occurs for generated message types. + // It implies that a hand-crafted type has missing Go fields + // for specific protobuf message fields. + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + return false + }, + clear: func(p pointer) { + panic("missing Go struct field for " + string(fd.FullName())) + }, + get: func(p pointer) pref.Value { + return fd.Default() + }, + set: func(p pointer, v pref.Value) { + panic("missing Go struct field for " + string(fd.FullName())) + }, + mutable: func(p pointer) pref.Value { + panic("missing Go struct field for " + string(fd.FullName())) + }, + newMessage: func() pref.Message { + panic("missing Go struct field for " + string(fd.FullName())) + }, + newField: func() pref.Value { + if v := fd.Default(); v.IsValid() { + return v + } + panic("missing Go struct field for " + string(fd.FullName())) + }, + } +} + +func fieldInfoForOneof(fd pref.FieldDescriptor, fs reflect.StructField, x exporter, ot reflect.Type) fieldInfo { + ft := fs.Type + if ft.Kind() != reflect.Interface { + panic(fmt.Sprintf("field %v has invalid type: got %v, want interface kind", fd.FullName(), ft)) + } + if ot.Kind() != reflect.Struct { + panic(fmt.Sprintf("field %v has invalid type: got %v, want struct kind", fd.FullName(), ot)) + } + if !reflect.PtrTo(ot).Implements(ft) { + panic(fmt.Sprintf("field %v has invalid type: %v does not implement %v", fd.FullName(), ot, ft)) + } + conv := NewConverter(ot.Field(0).Type, fd) + isMessage := fd.Message() != nil + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + // NOTE: The logic below intentionally assumes that oneof fields are + // well-formatted. That is, the oneof interface never contains a + // typed nil pointer to one of the wrapper structs. + + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() { + return false + } + return true + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot { + // NOTE: We intentionally don't check for rv.Elem().IsNil() + // so that (*OneofWrapperType)(nil) gets cleared to nil. + return + } + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) pref.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() { + return conv.Zero() + } + rv = rv.Elem().Elem().Field(0) + return conv.PBValueOf(rv) + }, + set: func(p pointer, v pref.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() { + rv.Set(reflect.New(ot)) + } + rv = rv.Elem().Elem().Field(0) + rv.Set(conv.GoValueOf(v)) + }, + mutable: func(p pointer) pref.Value { + if !isMessage { + panic(fmt.Sprintf("field %v with invalid Mutable call on field with non-composite type", fd.FullName())) + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() { + rv.Set(reflect.New(ot)) + } + rv = rv.Elem().Elem().Field(0) + if rv.Kind() == reflect.Ptr && rv.IsNil() { + rv.Set(conv.GoValueOf(pref.ValueOfMessage(conv.New().Message()))) + } + return conv.PBValueOf(rv) + }, + newMessage: func() pref.Message { + return conv.New().Message() + }, + newField: func() pref.Value { + return conv.New() + }, + } +} + +func fieldInfoForMap(fd pref.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo { + ft := fs.Type + if ft.Kind() != reflect.Map { + panic(fmt.Sprintf("field %v has invalid type: got %v, want map kind", fd.FullName(), ft)) + } + conv := NewConverter(ft, fd) + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + return rv.Len() > 0 + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) pref.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.Len() == 0 { + return conv.Zero() + } + return conv.PBValueOf(rv) + }, + set: func(p pointer, v pref.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + pv := conv.GoValueOf(v) + if pv.IsNil() { + panic(fmt.Sprintf("map field %v cannot be set with read-only value", fd.FullName())) + } + rv.Set(pv) + }, + mutable: func(p pointer) pref.Value { + v := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if v.IsNil() { + v.Set(reflect.MakeMap(fs.Type)) + } + return conv.PBValueOf(v) + }, + newField: func() pref.Value { + return conv.New() + }, + } +} + +func fieldInfoForList(fd pref.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo { + ft := fs.Type + if ft.Kind() != reflect.Slice { + panic(fmt.Sprintf("field %v has invalid type: got %v, want slice kind", fd.FullName(), ft)) + } + conv := NewConverter(reflect.PtrTo(ft), fd) + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + return rv.Len() > 0 + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) pref.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type) + if rv.Elem().Len() == 0 { + return conv.Zero() + } + return conv.PBValueOf(rv) + }, + set: func(p pointer, v pref.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + pv := conv.GoValueOf(v) + if pv.IsNil() { + panic(fmt.Sprintf("list field %v cannot be set with read-only value", fd.FullName())) + } + rv.Set(pv.Elem()) + }, + mutable: func(p pointer) pref.Value { + v := p.Apply(fieldOffset).AsValueOf(fs.Type) + return conv.PBValueOf(v) + }, + newField: func() pref.Value { + return conv.New() + }, + } +} + +var ( + nilBytes = reflect.ValueOf([]byte(nil)) + emptyBytes = reflect.ValueOf([]byte{}) +) + +func fieldInfoForScalar(fd pref.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo { + ft := fs.Type + nullable := fd.HasPresence() + isBytes := ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 + if nullable { + if ft.Kind() != reflect.Ptr && ft.Kind() != reflect.Slice { + // This never occurs for generated message types. + // Despite the protobuf type system specifying presence, + // the Go field type cannot represent it. + nullable = false + } + if ft.Kind() == reflect.Ptr { + ft = ft.Elem() + } + } + conv := NewConverter(ft, fd) + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if nullable { + return !rv.IsNil() + } + switch rv.Kind() { + case reflect.Bool: + return rv.Bool() + case reflect.Int32, reflect.Int64: + return rv.Int() != 0 + case reflect.Uint32, reflect.Uint64: + return rv.Uint() != 0 + case reflect.Float32, reflect.Float64: + return rv.Float() != 0 || math.Signbit(rv.Float()) + case reflect.String, reflect.Slice: + return rv.Len() > 0 + default: + panic(fmt.Sprintf("field %v has invalid type: %v", fd.FullName(), rv.Type())) // should never happen + } + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) pref.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if nullable { + if rv.IsNil() { + return conv.Zero() + } + if rv.Kind() == reflect.Ptr { + rv = rv.Elem() + } + } + return conv.PBValueOf(rv) + }, + set: func(p pointer, v pref.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if nullable && rv.Kind() == reflect.Ptr { + if rv.IsNil() { + rv.Set(reflect.New(ft)) + } + rv = rv.Elem() + } + rv.Set(conv.GoValueOf(v)) + if isBytes && rv.Len() == 0 { + if nullable { + rv.Set(emptyBytes) // preserve presence + } else { + rv.Set(nilBytes) // do not preserve presence + } + } + }, + newField: func() pref.Value { + return conv.New() + }, + } +} + +func fieldInfoForWeakMessage(fd pref.FieldDescriptor, weakOffset offset) fieldInfo { + if !flags.ProtoLegacy { + panic("no support for proto1 weak fields") + } + + var once sync.Once + var messageType pref.MessageType + lazyInit := func() { + once.Do(func() { + messageName := fd.Message().FullName() + messageType, _ = preg.GlobalTypes.FindMessageByName(messageName) + if messageType == nil { + panic(fmt.Sprintf("weak message %v for field %v is not linked in", messageName, fd.FullName())) + } + }) + } + + num := fd.Number() + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + _, ok := p.Apply(weakOffset).WeakFields().get(num) + return ok + }, + clear: func(p pointer) { + p.Apply(weakOffset).WeakFields().clear(num) + }, + get: func(p pointer) pref.Value { + lazyInit() + if p.IsNil() { + return pref.ValueOfMessage(messageType.Zero()) + } + m, ok := p.Apply(weakOffset).WeakFields().get(num) + if !ok { + return pref.ValueOfMessage(messageType.Zero()) + } + return pref.ValueOfMessage(m.ProtoReflect()) + }, + set: func(p pointer, v pref.Value) { + lazyInit() + m := v.Message() + if m.Descriptor() != messageType.Descriptor() { + if got, want := m.Descriptor().FullName(), messageType.Descriptor().FullName(); got != want { + panic(fmt.Sprintf("field %v has mismatching message descriptor: got %v, want %v", fd.FullName(), got, want)) + } + panic(fmt.Sprintf("field %v has mismatching message descriptor: %v", fd.FullName(), m.Descriptor().FullName())) + } + p.Apply(weakOffset).WeakFields().set(num, m.Interface()) + }, + mutable: func(p pointer) pref.Value { + lazyInit() + fs := p.Apply(weakOffset).WeakFields() + m, ok := fs.get(num) + if !ok { + m = messageType.New().Interface() + fs.set(num, m) + } + return pref.ValueOfMessage(m.ProtoReflect()) + }, + newMessage: func() pref.Message { + lazyInit() + return messageType.New() + }, + newField: func() pref.Value { + lazyInit() + return pref.ValueOfMessage(messageType.New()) + }, + } +} + +func fieldInfoForMessage(fd pref.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo { + ft := fs.Type + conv := NewConverter(ft, fd) + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if fs.Type.Kind() != reflect.Ptr { + return !isZero(rv) + } + return !rv.IsNil() + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) pref.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + return conv.PBValueOf(rv) + }, + set: func(p pointer, v pref.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(conv.GoValueOf(v)) + if fs.Type.Kind() == reflect.Ptr && rv.IsNil() { + panic(fmt.Sprintf("field %v has invalid nil pointer", fd.FullName())) + } + }, + mutable: func(p pointer) pref.Value { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if fs.Type.Kind() == reflect.Ptr && rv.IsNil() { + rv.Set(conv.GoValueOf(conv.New())) + } + return conv.PBValueOf(rv) + }, + newMessage: func() pref.Message { + return conv.New().Message() + }, + newField: func() pref.Value { + return conv.New() + }, + } +} + +type oneofInfo struct { + oneofDesc pref.OneofDescriptor + which func(pointer) pref.FieldNumber +} + +func makeOneofInfo(od pref.OneofDescriptor, si structInfo, x exporter) *oneofInfo { + oi := &oneofInfo{oneofDesc: od} + if od.IsSynthetic() { + fs := si.fieldsByNumber[od.Fields().Get(0).Number()] + fieldOffset := offsetOf(fs, x) + oi.which = func(p pointer) pref.FieldNumber { + if p.IsNil() { + return 0 + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() { // valid on either *T or []byte + return 0 + } + return od.Fields().Get(0).Number() + } + } else { + fs := si.oneofsByName[od.Name()] + fieldOffset := offsetOf(fs, x) + oi.which = func(p pointer) pref.FieldNumber { + if p.IsNil() { + return 0 + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() { + return 0 + } + rv = rv.Elem() + if rv.IsNil() { + return 0 + } + return si.oneofWrappersByType[rv.Type().Elem()] + } + } + return oi +} + +// isZero is identical to reflect.Value.IsZero. +// TODO: Remove this when Go1.13 is the minimally supported Go version. +func isZero(v reflect.Value) bool { + switch v.Kind() { + 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 math.Float64bits(v.Float()) == 0 + case reflect.Complex64, reflect.Complex128: + c := v.Complex() + return math.Float64bits(real(c)) == 0 && math.Float64bits(imag(c)) == 0 + case reflect.Array: + for i := 0; i < v.Len(); i++ { + if !isZero(v.Index(i)) { + return false + } + } + return true + case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice, reflect.UnsafePointer: + return v.IsNil() + case reflect.String: + return v.Len() == 0 + case reflect.Struct: + for i := 0; i < v.NumField(); i++ { + if !isZero(v.Field(i)) { + return false + } + } + return true + default: + panic(&reflect.ValueError{"reflect.Value.IsZero", v.Kind()}) + } +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go b/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go new file mode 100644 index 000000000..741d6e5b6 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go @@ -0,0 +1,249 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package impl + +import ( + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +func (m *messageState) Descriptor() protoreflect.MessageDescriptor { + return m.messageInfo().Desc +} +func (m *messageState) Type() protoreflect.MessageType { + return m.messageInfo() +} +func (m *messageState) New() protoreflect.Message { + return m.messageInfo().New() +} +func (m *messageState) Interface() protoreflect.ProtoMessage { + return m.protoUnwrap().(protoreflect.ProtoMessage) +} +func (m *messageState) protoUnwrap() interface{} { + return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem()) +} +func (m *messageState) ProtoMethods() *protoiface.Methods { + m.messageInfo().init() + return &m.messageInfo().methods +} + +// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code +// to be able to retrieve a v2 MessageInfo struct. +// +// WARNING: This method is exempt from the compatibility promise and +// may be removed in the future without warning. +func (m *messageState) ProtoMessageInfo() *MessageInfo { + return m.messageInfo() +} + +func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + m.messageInfo().init() + for _, ri := range m.messageInfo().rangeInfos { + switch ri := ri.(type) { + case *fieldInfo: + if ri.has(m.pointer()) { + if !f(ri.fieldDesc, ri.get(m.pointer())) { + return + } + } + case *oneofInfo: + if n := ri.which(m.pointer()); n > 0 { + fi := m.messageInfo().fields[n] + if !f(fi.fieldDesc, fi.get(m.pointer())) { + return + } + } + } + } + m.messageInfo().extensionMap(m.pointer()).Range(f) +} +func (m *messageState) Has(fd protoreflect.FieldDescriptor) bool { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.has(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Has(xt) + } +} +func (m *messageState) Clear(fd protoreflect.FieldDescriptor) { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + fi.clear(m.pointer()) + } else { + m.messageInfo().extensionMap(m.pointer()).Clear(xt) + } +} +func (m *messageState) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.get(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Get(xt) + } +} +func (m *messageState) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + fi.set(m.pointer(), v) + } else { + m.messageInfo().extensionMap(m.pointer()).Set(xt, v) + } +} +func (m *messageState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.mutable(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Mutable(xt) + } +} +func (m *messageState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.newField() + } else { + return xt.New() + } +} +func (m *messageState) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + m.messageInfo().init() + if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { + return od.Fields().ByNumber(oi.which(m.pointer())) + } + panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName())) +} +func (m *messageState) GetUnknown() protoreflect.RawFields { + m.messageInfo().init() + return m.messageInfo().getUnknown(m.pointer()) +} +func (m *messageState) SetUnknown(b protoreflect.RawFields) { + m.messageInfo().init() + m.messageInfo().setUnknown(m.pointer(), b) +} +func (m *messageState) IsValid() bool { + return !m.pointer().IsNil() +} + +func (m *messageReflectWrapper) Descriptor() protoreflect.MessageDescriptor { + return m.messageInfo().Desc +} +func (m *messageReflectWrapper) Type() protoreflect.MessageType { + return m.messageInfo() +} +func (m *messageReflectWrapper) New() protoreflect.Message { + return m.messageInfo().New() +} +func (m *messageReflectWrapper) Interface() protoreflect.ProtoMessage { + if m, ok := m.protoUnwrap().(protoreflect.ProtoMessage); ok { + return m + } + return (*messageIfaceWrapper)(m) +} +func (m *messageReflectWrapper) protoUnwrap() interface{} { + return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem()) +} +func (m *messageReflectWrapper) ProtoMethods() *protoiface.Methods { + m.messageInfo().init() + return &m.messageInfo().methods +} + +// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code +// to be able to retrieve a v2 MessageInfo struct. +// +// WARNING: This method is exempt from the compatibility promise and +// may be removed in the future without warning. +func (m *messageReflectWrapper) ProtoMessageInfo() *MessageInfo { + return m.messageInfo() +} + +func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + m.messageInfo().init() + for _, ri := range m.messageInfo().rangeInfos { + switch ri := ri.(type) { + case *fieldInfo: + if ri.has(m.pointer()) { + if !f(ri.fieldDesc, ri.get(m.pointer())) { + return + } + } + case *oneofInfo: + if n := ri.which(m.pointer()); n > 0 { + fi := m.messageInfo().fields[n] + if !f(fi.fieldDesc, fi.get(m.pointer())) { + return + } + } + } + } + m.messageInfo().extensionMap(m.pointer()).Range(f) +} +func (m *messageReflectWrapper) Has(fd protoreflect.FieldDescriptor) bool { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.has(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Has(xt) + } +} +func (m *messageReflectWrapper) Clear(fd protoreflect.FieldDescriptor) { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + fi.clear(m.pointer()) + } else { + m.messageInfo().extensionMap(m.pointer()).Clear(xt) + } +} +func (m *messageReflectWrapper) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.get(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Get(xt) + } +} +func (m *messageReflectWrapper) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + fi.set(m.pointer(), v) + } else { + m.messageInfo().extensionMap(m.pointer()).Set(xt, v) + } +} +func (m *messageReflectWrapper) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.mutable(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Mutable(xt) + } +} +func (m *messageReflectWrapper) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.newField() + } else { + return xt.New() + } +} +func (m *messageReflectWrapper) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + m.messageInfo().init() + if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { + return od.Fields().ByNumber(oi.which(m.pointer())) + } + panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName())) +} +func (m *messageReflectWrapper) GetUnknown() protoreflect.RawFields { + m.messageInfo().init() + return m.messageInfo().getUnknown(m.pointer()) +} +func (m *messageReflectWrapper) SetUnknown(b protoreflect.RawFields) { + m.messageInfo().init() + m.messageInfo().setUnknown(m.pointer(), b) +} +func (m *messageReflectWrapper) IsValid() bool { + return !m.pointer().IsNil() +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go b/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go new file mode 100644 index 000000000..9e3ed821e --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go @@ -0,0 +1,178 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build purego appengine + +package impl + +import ( + "fmt" + "reflect" + "sync" +) + +const UnsafeEnabled = false + +// Pointer is an opaque pointer type. +type Pointer interface{} + +// offset represents the offset to a struct field, accessible from a pointer. +// The offset is the field index into a struct. +type offset struct { + index int + export exporter +} + +// offsetOf returns a field offset for the struct field. +func offsetOf(f reflect.StructField, x exporter) offset { + if len(f.Index) != 1 { + panic("embedded structs are not supported") + } + if f.PkgPath == "" { + return offset{index: f.Index[0]} // field is already exported + } + if x == nil { + panic("exporter must be provided for unexported field") + } + return offset{index: f.Index[0], export: x} +} + +// IsValid reports whether the offset is valid. +func (f offset) IsValid() bool { return f.index >= 0 } + +// invalidOffset is an invalid field offset. +var invalidOffset = offset{index: -1} + +// zeroOffset is a noop when calling pointer.Apply. +var zeroOffset = offset{index: 0} + +// pointer is an abstract representation of a pointer to a struct or field. +type pointer struct{ v reflect.Value } + +// pointerOf returns p as a pointer. +func pointerOf(p Pointer) pointer { + return pointerOfIface(p) +} + +// pointerOfValue returns v as a pointer. +func pointerOfValue(v reflect.Value) pointer { + return pointer{v: v} +} + +// pointerOfIface returns the pointer portion of an interface. +func pointerOfIface(v interface{}) pointer { + return pointer{v: reflect.ValueOf(v)} +} + +// IsNil reports whether the pointer is nil. +func (p pointer) IsNil() bool { + return p.v.IsNil() +} + +// Apply adds an offset to the pointer to derive a new pointer +// to a specified field. The current pointer must be pointing at a struct. +func (p pointer) Apply(f offset) pointer { + if f.export != nil { + if v := reflect.ValueOf(f.export(p.v.Interface(), f.index)); v.IsValid() { + return pointer{v: v} + } + } + return pointer{v: p.v.Elem().Field(f.index).Addr()} +} + +// AsValueOf treats p as a pointer to an object of type t and returns the value. +// It is equivalent to reflect.ValueOf(p.AsIfaceOf(t)) +func (p pointer) AsValueOf(t reflect.Type) reflect.Value { + if got := p.v.Type().Elem(); got != t { + panic(fmt.Sprintf("invalid type: got %v, want %v", got, t)) + } + return p.v +} + +// AsIfaceOf treats p as a pointer to an object of type t and returns the value. +// It is equivalent to p.AsValueOf(t).Interface() +func (p pointer) AsIfaceOf(t reflect.Type) interface{} { + return p.AsValueOf(t).Interface() +} + +func (p pointer) Bool() *bool { return p.v.Interface().(*bool) } +func (p pointer) BoolPtr() **bool { return p.v.Interface().(**bool) } +func (p pointer) BoolSlice() *[]bool { return p.v.Interface().(*[]bool) } +func (p pointer) Int32() *int32 { return p.v.Interface().(*int32) } +func (p pointer) Int32Ptr() **int32 { return p.v.Interface().(**int32) } +func (p pointer) Int32Slice() *[]int32 { return p.v.Interface().(*[]int32) } +func (p pointer) Int64() *int64 { return p.v.Interface().(*int64) } +func (p pointer) Int64Ptr() **int64 { return p.v.Interface().(**int64) } +func (p pointer) Int64Slice() *[]int64 { return p.v.Interface().(*[]int64) } +func (p pointer) Uint32() *uint32 { return p.v.Interface().(*uint32) } +func (p pointer) Uint32Ptr() **uint32 { return p.v.Interface().(**uint32) } +func (p pointer) Uint32Slice() *[]uint32 { return p.v.Interface().(*[]uint32) } +func (p pointer) Uint64() *uint64 { return p.v.Interface().(*uint64) } +func (p pointer) Uint64Ptr() **uint64 { return p.v.Interface().(**uint64) } +func (p pointer) Uint64Slice() *[]uint64 { return p.v.Interface().(*[]uint64) } +func (p pointer) Float32() *float32 { return p.v.Interface().(*float32) } +func (p pointer) Float32Ptr() **float32 { return p.v.Interface().(**float32) } +func (p pointer) Float32Slice() *[]float32 { return p.v.Interface().(*[]float32) } +func (p pointer) Float64() *float64 { return p.v.Interface().(*float64) } +func (p pointer) Float64Ptr() **float64 { return p.v.Interface().(**float64) } +func (p pointer) Float64Slice() *[]float64 { return p.v.Interface().(*[]float64) } +func (p pointer) String() *string { return p.v.Interface().(*string) } +func (p pointer) StringPtr() **string { return p.v.Interface().(**string) } +func (p pointer) StringSlice() *[]string { return p.v.Interface().(*[]string) } +func (p pointer) Bytes() *[]byte { return p.v.Interface().(*[]byte) } +func (p pointer) BytesPtr() **[]byte { return p.v.Interface().(**[]byte) } +func (p pointer) BytesSlice() *[][]byte { return p.v.Interface().(*[][]byte) } +func (p pointer) WeakFields() *weakFields { return (*weakFields)(p.v.Interface().(*WeakFields)) } +func (p pointer) Extensions() *map[int32]ExtensionField { + return p.v.Interface().(*map[int32]ExtensionField) +} + +func (p pointer) Elem() pointer { + return pointer{v: p.v.Elem()} +} + +// PointerSlice copies []*T from p as a new []pointer. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) PointerSlice() []pointer { + // TODO: reconsider this + if p.v.IsNil() { + return nil + } + n := p.v.Elem().Len() + s := make([]pointer, n) + for i := 0; i < n; i++ { + s[i] = pointer{v: p.v.Elem().Index(i)} + } + return s +} + +// AppendPointerSlice appends v to p, which must be a []*T. +func (p pointer) AppendPointerSlice(v pointer) { + sp := p.v.Elem() + sp.Set(reflect.Append(sp, v.v)) +} + +// SetPointer sets *p to v. +func (p pointer) SetPointer(v pointer) { + p.v.Elem().Set(v.v) +} + +func (Export) MessageStateOf(p Pointer) *messageState { panic("not supported") } +func (ms *messageState) pointer() pointer { panic("not supported") } +func (ms *messageState) messageInfo() *MessageInfo { panic("not supported") } +func (ms *messageState) LoadMessageInfo() *MessageInfo { panic("not supported") } +func (ms *messageState) StoreMessageInfo(mi *MessageInfo) { panic("not supported") } + +type atomicNilMessage struct { + once sync.Once + m messageReflectWrapper +} + +func (m *atomicNilMessage) Init(mi *MessageInfo) *messageReflectWrapper { + m.once.Do(func() { + m.m.p = pointerOfIface(reflect.Zero(mi.GoReflectType).Interface()) + m.m.mi = mi + }) + return &m.m +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go b/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go new file mode 100644 index 000000000..9ecf23a85 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go @@ -0,0 +1,174 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !purego,!appengine + +package impl + +import ( + "reflect" + "sync/atomic" + "unsafe" +) + +const UnsafeEnabled = true + +// Pointer is an opaque pointer type. +type Pointer unsafe.Pointer + +// offset represents the offset to a struct field, accessible from a pointer. +// The offset is the byte offset to the field from the start of the struct. +type offset uintptr + +// offsetOf returns a field offset for the struct field. +func offsetOf(f reflect.StructField, x exporter) offset { + return offset(f.Offset) +} + +// IsValid reports whether the offset is valid. +func (f offset) IsValid() bool { return f != invalidOffset } + +// invalidOffset is an invalid field offset. +var invalidOffset = ^offset(0) + +// zeroOffset is a noop when calling pointer.Apply. +var zeroOffset = offset(0) + +// pointer is a pointer to a message struct or field. +type pointer struct{ p unsafe.Pointer } + +// pointerOf returns p as a pointer. +func pointerOf(p Pointer) pointer { + return pointer{p: unsafe.Pointer(p)} +} + +// pointerOfValue returns v as a pointer. +func pointerOfValue(v reflect.Value) pointer { + return pointer{p: unsafe.Pointer(v.Pointer())} +} + +// pointerOfIface returns the pointer portion of an interface. +func pointerOfIface(v interface{}) pointer { + type ifaceHeader struct { + Type unsafe.Pointer + Data unsafe.Pointer + } + return pointer{p: (*ifaceHeader)(unsafe.Pointer(&v)).Data} +} + +// IsNil reports whether the pointer is nil. +func (p pointer) IsNil() bool { + return p.p == nil +} + +// Apply adds an offset to the pointer to derive a new pointer +// to a specified field. The pointer must be valid and pointing at a struct. +func (p pointer) Apply(f offset) pointer { + if p.IsNil() { + panic("invalid nil pointer") + } + return pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))} +} + +// AsValueOf treats p as a pointer to an object of type t and returns the value. +// It is equivalent to reflect.ValueOf(p.AsIfaceOf(t)) +func (p pointer) AsValueOf(t reflect.Type) reflect.Value { + return reflect.NewAt(t, p.p) +} + +// AsIfaceOf treats p as a pointer to an object of type t and returns the value. +// It is equivalent to p.AsValueOf(t).Interface() +func (p pointer) AsIfaceOf(t reflect.Type) interface{} { + // TODO: Use tricky unsafe magic to directly create ifaceHeader. + return p.AsValueOf(t).Interface() +} + +func (p pointer) Bool() *bool { return (*bool)(p.p) } +func (p pointer) BoolPtr() **bool { return (**bool)(p.p) } +func (p pointer) BoolSlice() *[]bool { return (*[]bool)(p.p) } +func (p pointer) Int32() *int32 { return (*int32)(p.p) } +func (p pointer) Int32Ptr() **int32 { return (**int32)(p.p) } +func (p pointer) Int32Slice() *[]int32 { return (*[]int32)(p.p) } +func (p pointer) Int64() *int64 { return (*int64)(p.p) } +func (p pointer) Int64Ptr() **int64 { return (**int64)(p.p) } +func (p pointer) Int64Slice() *[]int64 { return (*[]int64)(p.p) } +func (p pointer) Uint32() *uint32 { return (*uint32)(p.p) } +func (p pointer) Uint32Ptr() **uint32 { return (**uint32)(p.p) } +func (p pointer) Uint32Slice() *[]uint32 { return (*[]uint32)(p.p) } +func (p pointer) Uint64() *uint64 { return (*uint64)(p.p) } +func (p pointer) Uint64Ptr() **uint64 { return (**uint64)(p.p) } +func (p pointer) Uint64Slice() *[]uint64 { return (*[]uint64)(p.p) } +func (p pointer) Float32() *float32 { return (*float32)(p.p) } +func (p pointer) Float32Ptr() **float32 { return (**float32)(p.p) } +func (p pointer) Float32Slice() *[]float32 { return (*[]float32)(p.p) } +func (p pointer) Float64() *float64 { return (*float64)(p.p) } +func (p pointer) Float64Ptr() **float64 { return (**float64)(p.p) } +func (p pointer) Float64Slice() *[]float64 { return (*[]float64)(p.p) } +func (p pointer) String() *string { return (*string)(p.p) } +func (p pointer) StringPtr() **string { return (**string)(p.p) } +func (p pointer) StringSlice() *[]string { return (*[]string)(p.p) } +func (p pointer) Bytes() *[]byte { return (*[]byte)(p.p) } +func (p pointer) BytesPtr() **[]byte { return (**[]byte)(p.p) } +func (p pointer) BytesSlice() *[][]byte { return (*[][]byte)(p.p) } +func (p pointer) WeakFields() *weakFields { return (*weakFields)(p.p) } +func (p pointer) Extensions() *map[int32]ExtensionField { return (*map[int32]ExtensionField)(p.p) } + +func (p pointer) Elem() pointer { + return pointer{p: *(*unsafe.Pointer)(p.p)} +} + +// PointerSlice loads []*T from p as a []pointer. +// The value returned is aliased with the original slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) PointerSlice() []pointer { + // Super-tricky - p should point to a []*T where T is a + // message type. We load it as []pointer. + return *(*[]pointer)(p.p) +} + +// AppendPointerSlice appends v to p, which must be a []*T. +func (p pointer) AppendPointerSlice(v pointer) { + *(*[]pointer)(p.p) = append(*(*[]pointer)(p.p), v) +} + +// SetPointer sets *p to v. +func (p pointer) SetPointer(v pointer) { + *(*unsafe.Pointer)(p.p) = (unsafe.Pointer)(v.p) +} + +// Static check that MessageState does not exceed the size of a pointer. +const _ = uint(unsafe.Sizeof(unsafe.Pointer(nil)) - unsafe.Sizeof(MessageState{})) + +func (Export) MessageStateOf(p Pointer) *messageState { + // Super-tricky - see documentation on MessageState. + return (*messageState)(unsafe.Pointer(p)) +} +func (ms *messageState) pointer() pointer { + // Super-tricky - see documentation on MessageState. + return pointer{p: unsafe.Pointer(ms)} +} +func (ms *messageState) messageInfo() *MessageInfo { + mi := ms.LoadMessageInfo() + if mi == nil { + panic("invalid nil message info; this suggests memory corruption due to a race or shallow copy on the message struct") + } + return mi +} +func (ms *messageState) LoadMessageInfo() *MessageInfo { + return (*MessageInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&ms.atomicMessageInfo)))) +} +func (ms *messageState) StoreMessageInfo(mi *MessageInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&ms.atomicMessageInfo)), unsafe.Pointer(mi)) +} + +type atomicNilMessage struct{ p unsafe.Pointer } // p is a *messageReflectWrapper + +func (m *atomicNilMessage) Init(mi *MessageInfo) *messageReflectWrapper { + if p := atomic.LoadPointer(&m.p); p != nil { + return (*messageReflectWrapper)(p) + } + w := &messageReflectWrapper{mi: mi} + atomic.CompareAndSwapPointer(&m.p, nil, (unsafe.Pointer)(w)) + return (*messageReflectWrapper)(atomic.LoadPointer(&m.p)) +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/validate.go b/vendor/google.golang.org/protobuf/internal/impl/validate.go new file mode 100644 index 000000000..08cfb6054 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/validate.go @@ -0,0 +1,576 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "math" + "math/bits" + "reflect" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/strs" + pref "google.golang.org/protobuf/reflect/protoreflect" + preg "google.golang.org/protobuf/reflect/protoregistry" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +// ValidationStatus is the result of validating the wire-format encoding of a message. +type ValidationStatus int + +const ( + // ValidationUnknown indicates that unmarshaling the message might succeed or fail. + // The validator was unable to render a judgement. + // + // The only causes of this status are an aberrant message type appearing somewhere + // in the message or a failure in the extension resolver. + ValidationUnknown ValidationStatus = iota + 1 + + // ValidationInvalid indicates that unmarshaling the message will fail. + ValidationInvalid + + // ValidationValid indicates that unmarshaling the message will succeed. + ValidationValid +) + +func (v ValidationStatus) String() string { + switch v { + case ValidationUnknown: + return "ValidationUnknown" + case ValidationInvalid: + return "ValidationInvalid" + case ValidationValid: + return "ValidationValid" + default: + return fmt.Sprintf("ValidationStatus(%d)", int(v)) + } +} + +// Validate determines whether the contents of the buffer are a valid wire encoding +// of the message type. +// +// This function is exposed for testing. +func Validate(mt pref.MessageType, in piface.UnmarshalInput) (out piface.UnmarshalOutput, _ ValidationStatus) { + mi, ok := mt.(*MessageInfo) + if !ok { + return out, ValidationUnknown + } + if in.Resolver == nil { + in.Resolver = preg.GlobalTypes + } + o, st := mi.validate(in.Buf, 0, unmarshalOptions{ + flags: in.Flags, + resolver: in.Resolver, + }) + if o.initialized { + out.Flags |= piface.UnmarshalInitialized + } + return out, st +} + +type validationInfo struct { + mi *MessageInfo + typ validationType + keyType, valType validationType + + // For non-required fields, requiredBit is 0. + // + // For required fields, requiredBit's nth bit is set, where n is a + // unique index in the range [0, MessageInfo.numRequiredFields). + // + // If there are more than 64 required fields, requiredBit is 0. + requiredBit uint64 +} + +type validationType uint8 + +const ( + validationTypeOther validationType = iota + validationTypeMessage + validationTypeGroup + validationTypeMap + validationTypeRepeatedVarint + validationTypeRepeatedFixed32 + validationTypeRepeatedFixed64 + validationTypeVarint + validationTypeFixed32 + validationTypeFixed64 + validationTypeBytes + validationTypeUTF8String + validationTypeMessageSetItem +) + +func newFieldValidationInfo(mi *MessageInfo, si structInfo, fd pref.FieldDescriptor, ft reflect.Type) validationInfo { + var vi validationInfo + switch { + case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic(): + switch fd.Kind() { + case pref.MessageKind: + vi.typ = validationTypeMessage + if ot, ok := si.oneofWrappersByNumber[fd.Number()]; ok { + vi.mi = getMessageInfo(ot.Field(0).Type) + } + case pref.GroupKind: + vi.typ = validationTypeGroup + if ot, ok := si.oneofWrappersByNumber[fd.Number()]; ok { + vi.mi = getMessageInfo(ot.Field(0).Type) + } + case pref.StringKind: + if strs.EnforceUTF8(fd) { + vi.typ = validationTypeUTF8String + } + } + default: + vi = newValidationInfo(fd, ft) + } + if fd.Cardinality() == pref.Required { + // Avoid overflow. The required field check is done with a 64-bit mask, with + // any message containing more than 64 required fields always reported as + // potentially uninitialized, so it is not important to get a precise count + // of the required fields past 64. + if mi.numRequiredFields < math.MaxUint8 { + mi.numRequiredFields++ + vi.requiredBit = 1 << (mi.numRequiredFields - 1) + } + } + return vi +} + +func newValidationInfo(fd pref.FieldDescriptor, ft reflect.Type) validationInfo { + var vi validationInfo + switch { + case fd.IsList(): + switch fd.Kind() { + case pref.MessageKind: + vi.typ = validationTypeMessage + if ft.Kind() == reflect.Slice { + vi.mi = getMessageInfo(ft.Elem()) + } + case pref.GroupKind: + vi.typ = validationTypeGroup + if ft.Kind() == reflect.Slice { + vi.mi = getMessageInfo(ft.Elem()) + } + case pref.StringKind: + vi.typ = validationTypeBytes + if strs.EnforceUTF8(fd) { + vi.typ = validationTypeUTF8String + } + default: + switch wireTypes[fd.Kind()] { + case protowire.VarintType: + vi.typ = validationTypeRepeatedVarint + case protowire.Fixed32Type: + vi.typ = validationTypeRepeatedFixed32 + case protowire.Fixed64Type: + vi.typ = validationTypeRepeatedFixed64 + } + } + case fd.IsMap(): + vi.typ = validationTypeMap + switch fd.MapKey().Kind() { + case pref.StringKind: + if strs.EnforceUTF8(fd) { + vi.keyType = validationTypeUTF8String + } + } + switch fd.MapValue().Kind() { + case pref.MessageKind: + vi.valType = validationTypeMessage + if ft.Kind() == reflect.Map { + vi.mi = getMessageInfo(ft.Elem()) + } + case pref.StringKind: + if strs.EnforceUTF8(fd) { + vi.valType = validationTypeUTF8String + } + } + default: + switch fd.Kind() { + case pref.MessageKind: + vi.typ = validationTypeMessage + if !fd.IsWeak() { + vi.mi = getMessageInfo(ft) + } + case pref.GroupKind: + vi.typ = validationTypeGroup + vi.mi = getMessageInfo(ft) + case pref.StringKind: + vi.typ = validationTypeBytes + if strs.EnforceUTF8(fd) { + vi.typ = validationTypeUTF8String + } + default: + switch wireTypes[fd.Kind()] { + case protowire.VarintType: + vi.typ = validationTypeVarint + case protowire.Fixed32Type: + vi.typ = validationTypeFixed32 + case protowire.Fixed64Type: + vi.typ = validationTypeFixed64 + case protowire.BytesType: + vi.typ = validationTypeBytes + } + } + } + return vi +} + +func (mi *MessageInfo) validate(b []byte, groupTag protowire.Number, opts unmarshalOptions) (out unmarshalOutput, result ValidationStatus) { + mi.init() + type validationState struct { + typ validationType + keyType, valType validationType + endGroup protowire.Number + mi *MessageInfo + tail []byte + requiredMask uint64 + } + + // Pre-allocate some slots to avoid repeated slice reallocation. + states := make([]validationState, 0, 16) + states = append(states, validationState{ + typ: validationTypeMessage, + mi: mi, + }) + if groupTag > 0 { + states[0].typ = validationTypeGroup + states[0].endGroup = groupTag + } + initialized := true + start := len(b) +State: + for len(states) > 0 { + st := &states[len(states)-1] + for len(b) > 0 { + // Parse the tag (field number and wire type). + var tag uint64 + if b[0] < 0x80 { + tag = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + tag = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + tag, n = protowire.ConsumeVarint(b) + if n < 0 { + return out, ValidationInvalid + } + b = b[n:] + } + var num protowire.Number + if n := tag >> 3; n < uint64(protowire.MinValidNumber) || n > uint64(protowire.MaxValidNumber) { + return out, ValidationInvalid + } else { + num = protowire.Number(n) + } + wtyp := protowire.Type(tag & 7) + + if wtyp == protowire.EndGroupType { + if st.endGroup == num { + goto PopState + } + return out, ValidationInvalid + } + var vi validationInfo + switch { + case st.typ == validationTypeMap: + switch num { + case genid.MapEntry_Key_field_number: + vi.typ = st.keyType + case genid.MapEntry_Value_field_number: + vi.typ = st.valType + vi.mi = st.mi + vi.requiredBit = 1 + } + case flags.ProtoLegacy && st.mi.isMessageSet: + switch num { + case messageset.FieldItem: + vi.typ = validationTypeMessageSetItem + } + default: + var f *coderFieldInfo + if int(num) < len(st.mi.denseCoderFields) { + f = st.mi.denseCoderFields[num] + } else { + f = st.mi.coderFields[num] + } + if f != nil { + vi = f.validation + if vi.typ == validationTypeMessage && vi.mi == nil { + // Probable weak field. + // + // TODO: Consider storing the results of this lookup somewhere + // rather than recomputing it on every validation. + fd := st.mi.Desc.Fields().ByNumber(num) + if fd == nil || !fd.IsWeak() { + break + } + messageName := fd.Message().FullName() + messageType, err := preg.GlobalTypes.FindMessageByName(messageName) + switch err { + case nil: + vi.mi, _ = messageType.(*MessageInfo) + case preg.NotFound: + vi.typ = validationTypeBytes + default: + return out, ValidationUnknown + } + } + break + } + // Possible extension field. + // + // TODO: We should return ValidationUnknown when: + // 1. The resolver is not frozen. (More extensions may be added to it.) + // 2. The resolver returns preg.NotFound. + // In this case, a type added to the resolver in the future could cause + // unmarshaling to begin failing. Supporting this requires some way to + // determine if the resolver is frozen. + xt, err := opts.resolver.FindExtensionByNumber(st.mi.Desc.FullName(), num) + if err != nil && err != preg.NotFound { + return out, ValidationUnknown + } + if err == nil { + vi = getExtensionFieldInfo(xt).validation + } + } + if vi.requiredBit != 0 { + // Check that the field has a compatible wire type. + // We only need to consider non-repeated field types, + // since repeated fields (and maps) can never be required. + ok := false + switch vi.typ { + case validationTypeVarint: + ok = wtyp == protowire.VarintType + case validationTypeFixed32: + ok = wtyp == protowire.Fixed32Type + case validationTypeFixed64: + ok = wtyp == protowire.Fixed64Type + case validationTypeBytes, validationTypeUTF8String, validationTypeMessage: + ok = wtyp == protowire.BytesType + case validationTypeGroup: + ok = wtyp == protowire.StartGroupType + } + if ok { + st.requiredMask |= vi.requiredBit + } + } + + switch wtyp { + case protowire.VarintType: + if len(b) >= 10 { + switch { + case b[0] < 0x80: + b = b[1:] + case b[1] < 0x80: + b = b[2:] + case b[2] < 0x80: + b = b[3:] + case b[3] < 0x80: + b = b[4:] + case b[4] < 0x80: + b = b[5:] + case b[5] < 0x80: + b = b[6:] + case b[6] < 0x80: + b = b[7:] + case b[7] < 0x80: + b = b[8:] + case b[8] < 0x80: + b = b[9:] + case b[9] < 0x80 && b[9] < 2: + b = b[10:] + default: + return out, ValidationInvalid + } + } else { + switch { + case len(b) > 0 && b[0] < 0x80: + b = b[1:] + case len(b) > 1 && b[1] < 0x80: + b = b[2:] + case len(b) > 2 && b[2] < 0x80: + b = b[3:] + case len(b) > 3 && b[3] < 0x80: + b = b[4:] + case len(b) > 4 && b[4] < 0x80: + b = b[5:] + case len(b) > 5 && b[5] < 0x80: + b = b[6:] + case len(b) > 6 && b[6] < 0x80: + b = b[7:] + case len(b) > 7 && b[7] < 0x80: + b = b[8:] + case len(b) > 8 && b[8] < 0x80: + b = b[9:] + case len(b) > 9 && b[9] < 2: + b = b[10:] + default: + return out, ValidationInvalid + } + } + continue State + case protowire.BytesType: + var size uint64 + if len(b) >= 1 && b[0] < 0x80 { + size = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + size = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + size, n = protowire.ConsumeVarint(b) + if n < 0 { + return out, ValidationInvalid + } + b = b[n:] + } + if size > uint64(len(b)) { + return out, ValidationInvalid + } + v := b[:size] + b = b[size:] + switch vi.typ { + case validationTypeMessage: + if vi.mi == nil { + return out, ValidationUnknown + } + vi.mi.init() + fallthrough + case validationTypeMap: + if vi.mi != nil { + vi.mi.init() + } + states = append(states, validationState{ + typ: vi.typ, + keyType: vi.keyType, + valType: vi.valType, + mi: vi.mi, + tail: b, + }) + b = v + continue State + case validationTypeRepeatedVarint: + // Packed field. + for len(v) > 0 { + _, n := protowire.ConsumeVarint(v) + if n < 0 { + return out, ValidationInvalid + } + v = v[n:] + } + case validationTypeRepeatedFixed32: + // Packed field. + if len(v)%4 != 0 { + return out, ValidationInvalid + } + case validationTypeRepeatedFixed64: + // Packed field. + if len(v)%8 != 0 { + return out, ValidationInvalid + } + case validationTypeUTF8String: + if !utf8.Valid(v) { + return out, ValidationInvalid + } + } + case protowire.Fixed32Type: + if len(b) < 4 { + return out, ValidationInvalid + } + b = b[4:] + case protowire.Fixed64Type: + if len(b) < 8 { + return out, ValidationInvalid + } + b = b[8:] + case protowire.StartGroupType: + switch { + case vi.typ == validationTypeGroup: + if vi.mi == nil { + return out, ValidationUnknown + } + vi.mi.init() + states = append(states, validationState{ + typ: validationTypeGroup, + mi: vi.mi, + endGroup: num, + }) + continue State + case flags.ProtoLegacy && vi.typ == validationTypeMessageSetItem: + typeid, v, n, err := messageset.ConsumeFieldValue(b, false) + if err != nil { + return out, ValidationInvalid + } + xt, err := opts.resolver.FindExtensionByNumber(st.mi.Desc.FullName(), typeid) + switch { + case err == preg.NotFound: + b = b[n:] + case err != nil: + return out, ValidationUnknown + default: + xvi := getExtensionFieldInfo(xt).validation + if xvi.mi != nil { + xvi.mi.init() + } + states = append(states, validationState{ + typ: xvi.typ, + mi: xvi.mi, + tail: b[n:], + }) + b = v + continue State + } + default: + n := protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return out, ValidationInvalid + } + b = b[n:] + } + default: + return out, ValidationInvalid + } + } + if st.endGroup != 0 { + return out, ValidationInvalid + } + if len(b) != 0 { + return out, ValidationInvalid + } + b = st.tail + PopState: + numRequiredFields := 0 + switch st.typ { + case validationTypeMessage, validationTypeGroup: + numRequiredFields = int(st.mi.numRequiredFields) + case validationTypeMap: + // If this is a map field with a message value that contains + // required fields, require that the value be present. + if st.mi != nil && st.mi.numRequiredFields > 0 { + numRequiredFields = 1 + } + } + // If there are more than 64 required fields, this check will + // always fail and we will report that the message is potentially + // uninitialized. + if numRequiredFields > 0 && bits.OnesCount64(st.requiredMask) != numRequiredFields { + initialized = false + } + states = states[:len(states)-1] + } + out.n = start - len(b) + if initialized { + out.initialized = true + } + return out, ValidationValid +} diff --git a/vendor/google.golang.org/protobuf/internal/impl/weak.go b/vendor/google.golang.org/protobuf/internal/impl/weak.go new file mode 100644 index 000000000..009cbefd1 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/impl/weak.go @@ -0,0 +1,74 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + + pref "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// weakFields adds methods to the exported WeakFields type for internal use. +// +// The exported type is an alias to an unnamed type, so methods can't be +// defined directly on it. +type weakFields WeakFields + +func (w weakFields) get(num pref.FieldNumber) (pref.ProtoMessage, bool) { + m, ok := w[int32(num)] + return m, ok +} + +func (w *weakFields) set(num pref.FieldNumber, m pref.ProtoMessage) { + if *w == nil { + *w = make(weakFields) + } + (*w)[int32(num)] = m +} + +func (w *weakFields) clear(num pref.FieldNumber) { + delete(*w, int32(num)) +} + +func (Export) HasWeak(w WeakFields, num pref.FieldNumber) bool { + _, ok := w[int32(num)] + return ok +} + +func (Export) ClearWeak(w *WeakFields, num pref.FieldNumber) { + delete(*w, int32(num)) +} + +func (Export) GetWeak(w WeakFields, num pref.FieldNumber, name pref.FullName) pref.ProtoMessage { + if m, ok := w[int32(num)]; ok { + return m + } + mt, _ := protoregistry.GlobalTypes.FindMessageByName(name) + if mt == nil { + panic(fmt.Sprintf("message %v for weak field is not linked in", name)) + } + return mt.Zero().Interface() +} + +func (Export) SetWeak(w *WeakFields, num pref.FieldNumber, name pref.FullName, m pref.ProtoMessage) { + if m != nil { + mt, _ := protoregistry.GlobalTypes.FindMessageByName(name) + if mt == nil { + panic(fmt.Sprintf("message %v for weak field is not linked in", name)) + } + if mt != m.ProtoReflect().Type() { + panic(fmt.Sprintf("invalid message type for weak field: got %T, want %T", m, mt.Zero().Interface())) + } + } + if m == nil || !m.ProtoReflect().IsValid() { + delete(*w, int32(num)) + return + } + if *w == nil { + *w = make(weakFields) + } + (*w)[int32(num)] = m +} diff --git a/vendor/google.golang.org/protobuf/internal/order/order.go b/vendor/google.golang.org/protobuf/internal/order/order.go new file mode 100644 index 000000000..2a24953f6 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/order/order.go @@ -0,0 +1,89 @@ +// Copyright 2020 The Go 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 order + +import ( + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +// FieldOrder specifies the ordering to visit message fields. +// It is a function that reports whether x is ordered before y. +type FieldOrder func(x, y pref.FieldDescriptor) bool + +var ( + // AnyFieldOrder specifies no specific field ordering. + AnyFieldOrder FieldOrder = nil + + // LegacyFieldOrder sorts fields in the same ordering as emitted by + // wire serialization in the github.com/golang/protobuf implementation. + LegacyFieldOrder FieldOrder = func(x, y pref.FieldDescriptor) bool { + ox, oy := x.ContainingOneof(), y.ContainingOneof() + inOneof := func(od pref.OneofDescriptor) bool { + return od != nil && !od.IsSynthetic() + } + + // Extension fields sort before non-extension fields. + if x.IsExtension() != y.IsExtension() { + return x.IsExtension() && !y.IsExtension() + } + // Fields not within a oneof sort before those within a oneof. + if inOneof(ox) != inOneof(oy) { + return !inOneof(ox) && inOneof(oy) + } + // Fields in disjoint oneof sets are sorted by declaration index. + if ox != nil && oy != nil && ox != oy { + return ox.Index() < oy.Index() + } + // Fields sorted by field number. + return x.Number() < y.Number() + } + + // NumberFieldOrder sorts fields by their field number. + NumberFieldOrder FieldOrder = func(x, y pref.FieldDescriptor) bool { + return x.Number() < y.Number() + } + + // IndexNameFieldOrder sorts non-extension fields before extension fields. + // Non-extensions are sorted according to their declaration index. + // Extensions are sorted according to their full name. + IndexNameFieldOrder FieldOrder = func(x, y pref.FieldDescriptor) bool { + // Non-extension fields sort before extension fields. + if x.IsExtension() != y.IsExtension() { + return !x.IsExtension() && y.IsExtension() + } + // Extensions sorted by fullname. + if x.IsExtension() && y.IsExtension() { + return x.FullName() < y.FullName() + } + // Non-extensions sorted by declaration index. + return x.Index() < y.Index() + } +) + +// KeyOrder specifies the ordering to visit map entries. +// It is a function that reports whether x is ordered before y. +type KeyOrder func(x, y pref.MapKey) bool + +var ( + // AnyKeyOrder specifies no specific key ordering. + AnyKeyOrder KeyOrder = nil + + // GenericKeyOrder sorts false before true, numeric keys in ascending order, + // and strings in lexicographical ordering according to UTF-8 codepoints. + GenericKeyOrder KeyOrder = func(x, y pref.MapKey) bool { + switch x.Interface().(type) { + case bool: + return !x.Bool() && y.Bool() + case int32, int64: + return x.Int() < y.Int() + case uint32, uint64: + return x.Uint() < y.Uint() + case string: + return x.String() < y.String() + default: + panic("invalid map key type") + } + } +) diff --git a/vendor/google.golang.org/protobuf/internal/order/range.go b/vendor/google.golang.org/protobuf/internal/order/range.go new file mode 100644 index 000000000..c8090e0c5 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/order/range.go @@ -0,0 +1,115 @@ +// Copyright 2020 The Go 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 order provides ordered access to messages and maps. +package order + +import ( + "sort" + "sync" + + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type messageField struct { + fd pref.FieldDescriptor + v pref.Value +} + +var messageFieldPool = sync.Pool{ + New: func() interface{} { return new([]messageField) }, +} + +type ( + // FieldRnger is an interface for visiting all fields in a message. + // The protoreflect.Message type implements this interface. + FieldRanger interface{ Range(VisitField) } + // VisitField is called everytime a message field is visited. + VisitField = func(pref.FieldDescriptor, pref.Value) bool +) + +// RangeFields iterates over the fields of fs according to the specified order. +func RangeFields(fs FieldRanger, less FieldOrder, fn VisitField) { + if less == nil { + fs.Range(fn) + return + } + + // Obtain a pre-allocated scratch buffer. + p := messageFieldPool.Get().(*[]messageField) + fields := (*p)[:0] + defer func() { + if cap(fields) < 1024 { + *p = fields + messageFieldPool.Put(p) + } + }() + + // Collect all fields in the message and sort them. + fs.Range(func(fd pref.FieldDescriptor, v pref.Value) bool { + fields = append(fields, messageField{fd, v}) + return true + }) + sort.Slice(fields, func(i, j int) bool { + return less(fields[i].fd, fields[j].fd) + }) + + // Visit the fields in the specified ordering. + for _, f := range fields { + if !fn(f.fd, f.v) { + return + } + } +} + +type mapEntry struct { + k pref.MapKey + v pref.Value +} + +var mapEntryPool = sync.Pool{ + New: func() interface{} { return new([]mapEntry) }, +} + +type ( + // EntryRanger is an interface for visiting all fields in a message. + // The protoreflect.Map type implements this interface. + EntryRanger interface{ Range(VisitEntry) } + // VisitEntry is called everytime a map entry is visited. + VisitEntry = func(pref.MapKey, pref.Value) bool +) + +// RangeEntries iterates over the entries of es according to the specified order. +func RangeEntries(es EntryRanger, less KeyOrder, fn VisitEntry) { + if less == nil { + es.Range(fn) + return + } + + // Obtain a pre-allocated scratch buffer. + p := mapEntryPool.Get().(*[]mapEntry) + entries := (*p)[:0] + defer func() { + if cap(entries) < 1024 { + *p = entries + mapEntryPool.Put(p) + } + }() + + // Collect all entries in the map and sort them. + es.Range(func(k pref.MapKey, v pref.Value) bool { + entries = append(entries, mapEntry{k, v}) + return true + }) + sort.Slice(entries, func(i, j int) bool { + return less(entries[i].k, entries[j].k) + }) + + // Visit the entries in the specified ordering. + for _, e := range entries { + if !fn(e.k, e.v) { + return + } + } +} diff --git a/vendor/google.golang.org/protobuf/internal/pragma/pragma.go b/vendor/google.golang.org/protobuf/internal/pragma/pragma.go new file mode 100644 index 000000000..49dc4fcd9 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/pragma/pragma.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package pragma provides types that can be embedded into a struct to +// statically enforce or prevent certain language properties. +package pragma + +import "sync" + +// NoUnkeyedLiterals can be embedded in a struct to prevent unkeyed literals. +type NoUnkeyedLiterals struct{} + +// DoNotImplement can be embedded in an interface to prevent trivial +// implementations of the interface. +// +// This is useful to prevent unauthorized implementations of an interface +// so that it can be extended in the future for any protobuf language changes. +type DoNotImplement interface{ ProtoInternal(DoNotImplement) } + +// DoNotCompare can be embedded in a struct to prevent comparability. +type DoNotCompare [0]func() + +// DoNotCopy can be embedded in a struct to help prevent shallow copies. +// This does not rely on a Go language feature, but rather a special case +// within the vet checker. +// +// See https://golang.org/issues/8005. +type DoNotCopy [0]sync.Mutex diff --git a/vendor/google.golang.org/protobuf/internal/set/ints.go b/vendor/google.golang.org/protobuf/internal/set/ints.go new file mode 100644 index 000000000..d3d7f89ab --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/set/ints.go @@ -0,0 +1,58 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package set provides simple set data structures for uint64s. +package set + +import "math/bits" + +// int64s represents a set of integers within the range of 0..63. +type int64s uint64 + +func (bs *int64s) Len() int { + return bits.OnesCount64(uint64(*bs)) +} +func (bs *int64s) Has(n uint64) bool { + return uint64(*bs)&(uint64(1)<<n) > 0 +} +func (bs *int64s) Set(n uint64) { + *(*uint64)(bs) |= uint64(1) << n +} +func (bs *int64s) Clear(n uint64) { + *(*uint64)(bs) &^= uint64(1) << n +} + +// Ints represents a set of integers within the range of 0..math.MaxUint64. +type Ints struct { + lo int64s + hi map[uint64]struct{} +} + +func (bs *Ints) Len() int { + return bs.lo.Len() + len(bs.hi) +} +func (bs *Ints) Has(n uint64) bool { + if n < 64 { + return bs.lo.Has(n) + } + _, ok := bs.hi[n] + return ok +} +func (bs *Ints) Set(n uint64) { + if n < 64 { + bs.lo.Set(n) + return + } + if bs.hi == nil { + bs.hi = make(map[uint64]struct{}) + } + bs.hi[n] = struct{}{} +} +func (bs *Ints) Clear(n uint64) { + if n < 64 { + bs.lo.Clear(n) + return + } + delete(bs.hi, n) +} diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings.go b/vendor/google.golang.org/protobuf/internal/strs/strings.go new file mode 100644 index 000000000..0b74e7658 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/strs/strings.go @@ -0,0 +1,196 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package strs provides string manipulation functionality specific to protobuf. +package strs + +import ( + "go/token" + "strings" + "unicode" + "unicode/utf8" + + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// EnforceUTF8 reports whether to enforce strict UTF-8 validation. +func EnforceUTF8(fd protoreflect.FieldDescriptor) bool { + if flags.ProtoLegacy { + if fd, ok := fd.(interface{ EnforceUTF8() bool }); ok { + return fd.EnforceUTF8() + } + } + return fd.Syntax() == protoreflect.Proto3 +} + +// GoCamelCase camel-cases a protobuf name for use as a Go identifier. +// +// If there is an interior underscore followed by a lower case letter, +// drop the underscore and convert the letter to upper case. +func GoCamelCase(s string) string { + // Invariant: if the next letter is lower case, it must be converted + // to upper case. + // That is, we process a word at a time, where words are marked by _ or + // upper case letter. Digits are treated as words. + var b []byte + for i := 0; i < len(s); i++ { + c := s[i] + switch { + case c == '.' && i+1 < len(s) && isASCIILower(s[i+1]): + // Skip over '.' in ".{{lowercase}}". + case c == '.': + b = append(b, '_') // convert '.' to '_' + case c == '_' && (i == 0 || s[i-1] == '.'): + // Convert initial '_' to ensure we start with a capital letter. + // Do the same for '_' after '.' to match historic behavior. + b = append(b, 'X') // convert '_' to 'X' + case c == '_' && i+1 < len(s) && isASCIILower(s[i+1]): + // Skip over '_' in "_{{lowercase}}". + case isASCIIDigit(c): + b = append(b, c) + default: + // Assume we have a letter now - if not, it's a bogus identifier. + // The next word is a sequence of characters that must start upper case. + if isASCIILower(c) { + c -= 'a' - 'A' // convert lowercase to uppercase + } + b = append(b, c) + + // Accept lower case sequence that follows. + for ; i+1 < len(s) && isASCIILower(s[i+1]); i++ { + b = append(b, s[i+1]) + } + } + } + return string(b) +} + +// GoSanitized converts a string to a valid Go identifier. +func GoSanitized(s string) string { + // Sanitize the input to the set of valid characters, + // which must be '_' or be in the Unicode L or N categories. + s = strings.Map(func(r rune) rune { + if unicode.IsLetter(r) || unicode.IsDigit(r) { + return r + } + return '_' + }, s) + + // Prepend '_' in the event of a Go keyword conflict or if + // the identifier is invalid (does not start in the Unicode L category). + r, _ := utf8.DecodeRuneInString(s) + if token.Lookup(s).IsKeyword() || !unicode.IsLetter(r) { + return "_" + s + } + return s +} + +// JSONCamelCase converts a snake_case identifier to a camelCase identifier, +// according to the protobuf JSON specification. +func JSONCamelCase(s string) string { + var b []byte + var wasUnderscore bool + for i := 0; i < len(s); i++ { // proto identifiers are always ASCII + c := s[i] + if c != '_' { + if wasUnderscore && isASCIILower(c) { + c -= 'a' - 'A' // convert to uppercase + } + b = append(b, c) + } + wasUnderscore = c == '_' + } + return string(b) +} + +// JSONSnakeCase converts a camelCase identifier to a snake_case identifier, +// according to the protobuf JSON specification. +func JSONSnakeCase(s string) string { + var b []byte + for i := 0; i < len(s); i++ { // proto identifiers are always ASCII + c := s[i] + if isASCIIUpper(c) { + b = append(b, '_') + c += 'a' - 'A' // convert to lowercase + } + b = append(b, c) + } + return string(b) +} + +// MapEntryName derives the name of the map entry message given the field name. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:254-276,6057 +func MapEntryName(s string) string { + var b []byte + upperNext := true + for _, c := range s { + switch { + case c == '_': + upperNext = true + case upperNext: + b = append(b, byte(unicode.ToUpper(c))) + upperNext = false + default: + b = append(b, byte(c)) + } + } + b = append(b, "Entry"...) + return string(b) +} + +// EnumValueName derives the camel-cased enum value name. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:297-313 +func EnumValueName(s string) string { + var b []byte + upperNext := true + for _, c := range s { + switch { + case c == '_': + upperNext = true + case upperNext: + b = append(b, byte(unicode.ToUpper(c))) + upperNext = false + default: + b = append(b, byte(unicode.ToLower(c))) + upperNext = false + } + } + return string(b) +} + +// TrimEnumPrefix trims the enum name prefix from an enum value name, +// where the prefix is all lowercase without underscores. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:330-375 +func TrimEnumPrefix(s, prefix string) string { + s0 := s // original input + for len(s) > 0 && len(prefix) > 0 { + if s[0] == '_' { + s = s[1:] + continue + } + if unicode.ToLower(rune(s[0])) != rune(prefix[0]) { + return s0 // no prefix match + } + s, prefix = s[1:], prefix[1:] + } + if len(prefix) > 0 { + return s0 // no prefix match + } + s = strings.TrimLeft(s, "_") + if len(s) == 0 { + return s0 // avoid returning empty string + } + return s +} + +func isASCIILower(c byte) bool { + return 'a' <= c && c <= 'z' +} +func isASCIIUpper(c byte) bool { + return 'A' <= c && c <= 'Z' +} +func isASCIIDigit(c byte) bool { + return '0' <= c && c <= '9' +} diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go b/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go new file mode 100644 index 000000000..85e074c97 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go @@ -0,0 +1,27 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build purego appengine + +package strs + +import pref "google.golang.org/protobuf/reflect/protoreflect" + +func UnsafeString(b []byte) string { + return string(b) +} + +func UnsafeBytes(s string) []byte { + return []byte(s) +} + +type Builder struct{} + +func (*Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName { + return prefix.Append(name) +} + +func (*Builder) MakeString(b []byte) string { + return string(b) +} diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go new file mode 100644 index 000000000..2160c7019 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go @@ -0,0 +1,94 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !purego,!appengine + +package strs + +import ( + "unsafe" + + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +type ( + stringHeader struct { + Data unsafe.Pointer + Len int + } + sliceHeader struct { + Data unsafe.Pointer + Len int + Cap int + } +) + +// UnsafeString returns an unsafe string reference of b. +// The caller must treat the input slice as immutable. +// +// WARNING: Use carefully. The returned result must not leak to the end user +// unless the input slice is provably immutable. +func UnsafeString(b []byte) (s string) { + src := (*sliceHeader)(unsafe.Pointer(&b)) + dst := (*stringHeader)(unsafe.Pointer(&s)) + dst.Data = src.Data + dst.Len = src.Len + return s +} + +// UnsafeBytes returns an unsafe bytes slice reference of s. +// The caller must treat returned slice as immutable. +// +// WARNING: Use carefully. The returned result must not leak to the end user. +func UnsafeBytes(s string) (b []byte) { + src := (*stringHeader)(unsafe.Pointer(&s)) + dst := (*sliceHeader)(unsafe.Pointer(&b)) + dst.Data = src.Data + dst.Len = src.Len + dst.Cap = src.Len + return b +} + +// Builder builds a set of strings with shared lifetime. +// This differs from strings.Builder, which is for building a single string. +type Builder struct { + buf []byte +} + +// AppendFullName is equivalent to protoreflect.FullName.Append, +// but optimized for large batches where each name has a shared lifetime. +func (sb *Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName { + n := len(prefix) + len(".") + len(name) + if len(prefix) == 0 { + n -= len(".") + } + sb.grow(n) + sb.buf = append(sb.buf, prefix...) + sb.buf = append(sb.buf, '.') + sb.buf = append(sb.buf, name...) + return pref.FullName(sb.last(n)) +} + +// MakeString is equivalent to string(b), but optimized for large batches +// with a shared lifetime. +func (sb *Builder) MakeString(b []byte) string { + sb.grow(len(b)) + sb.buf = append(sb.buf, b...) + return sb.last(len(b)) +} + +func (sb *Builder) grow(n int) { + if cap(sb.buf)-len(sb.buf) >= n { + return + } + + // Unlike strings.Builder, we do not need to copy over the contents + // of the old buffer since our builder provides no API for + // retrieving previously created strings. + sb.buf = make([]byte, 2*(cap(sb.buf)+n)) +} + +func (sb *Builder) last(n int) string { + return UnsafeString(sb.buf[len(sb.buf)-n:]) +} diff --git a/vendor/google.golang.org/protobuf/internal/version/version.go b/vendor/google.golang.org/protobuf/internal/version/version.go new file mode 100644 index 000000000..5879131da --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/version/version.go @@ -0,0 +1,79 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package version records versioning information about this module. +package version + +import ( + "fmt" + "strings" +) + +// These constants determine the current version of this module. +// +// +// For our release process, we enforce the following rules: +// * Tagged releases use a tag that is identical to String. +// * Tagged releases never reference a commit where the String +// contains "devel". +// * The set of all commits in this repository where String +// does not contain "devel" must have a unique String. +// +// +// Steps for tagging a new release: +// 1. Create a new CL. +// +// 2. Update Minor, Patch, and/or PreRelease as necessary. +// PreRelease must not contain the string "devel". +// +// 3. Since the last released minor version, have there been any changes to +// generator that relies on new functionality in the runtime? +// If yes, then increment RequiredGenerated. +// +// 4. Since the last released minor version, have there been any changes to +// the runtime that removes support for old .pb.go source code? +// If yes, then increment SupportMinimum. +// +// 5. Send out the CL for review and submit it. +// Note that the next CL in step 8 must be submitted after this CL +// without any other CLs in-between. +// +// 6. Tag a new version, where the tag is is the current String. +// +// 7. Write release notes for all notable changes +// between this release and the last release. +// +// 8. Create a new CL. +// +// 9. Update PreRelease to include the string "devel". +// For example: "" -> "devel" or "rc.1" -> "rc.1.devel" +// +// 10. Send out the CL for review and submit it. +const ( + Major = 1 + Minor = 26 + Patch = 0 + PreRelease = "" +) + +// String formats the version string for this module in semver format. +// +// Examples: +// v1.20.1 +// v1.21.0-rc.1 +func String() string { + v := fmt.Sprintf("v%d.%d.%d", Major, Minor, Patch) + if PreRelease != "" { + v += "-" + PreRelease + + // TODO: Add metadata about the commit or build hash. + // See https://golang.org/issue/29814 + // See https://golang.org/issue/33533 + var metadata string + if strings.Contains(PreRelease, "devel") && metadata != "" { + v += "+" + metadata + } + } + return v +} diff --git a/vendor/google.golang.org/protobuf/proto/checkinit.go b/vendor/google.golang.org/protobuf/proto/checkinit.go new file mode 100644 index 000000000..3e9a6a2f6 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/checkinit.go @@ -0,0 +1,71 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// CheckInitialized returns an error if any required fields in m are not set. +func CheckInitialized(m Message) error { + // Treat a nil message interface as an "untyped" empty message, + // which we assume to have no required fields. + if m == nil { + return nil + } + + return checkInitialized(m.ProtoReflect()) +} + +// CheckInitialized returns an error if any required fields in m are not set. +func checkInitialized(m protoreflect.Message) error { + if methods := protoMethods(m); methods != nil && methods.CheckInitialized != nil { + _, err := methods.CheckInitialized(protoiface.CheckInitializedInput{ + Message: m, + }) + return err + } + return checkInitializedSlow(m) +} + +func checkInitializedSlow(m protoreflect.Message) error { + md := m.Descriptor() + fds := md.Fields() + for i, nums := 0, md.RequiredNumbers(); i < nums.Len(); i++ { + fd := fds.ByNumber(nums.Get(i)) + if !m.Has(fd) { + return errors.RequiredNotSet(string(fd.FullName())) + } + } + var err error + m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + switch { + case fd.IsList(): + if fd.Message() == nil { + return true + } + for i, list := 0, v.List(); i < list.Len() && err == nil; i++ { + err = checkInitialized(list.Get(i).Message()) + } + case fd.IsMap(): + if fd.MapValue().Message() == nil { + return true + } + v.Map().Range(func(key protoreflect.MapKey, v protoreflect.Value) bool { + err = checkInitialized(v.Message()) + return err == nil + }) + default: + if fd.Message() == nil { + return true + } + err = checkInitialized(v.Message()) + } + return err == nil + }) + return err +} diff --git a/vendor/google.golang.org/protobuf/proto/decode.go b/vendor/google.golang.org/protobuf/proto/decode.go new file mode 100644 index 000000000..49f9b8c88 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/decode.go @@ -0,0 +1,278 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + "google.golang.org/protobuf/runtime/protoiface" +) + +// UnmarshalOptions configures the unmarshaler. +// +// Example usage: +// err := UnmarshalOptions{DiscardUnknown: true}.Unmarshal(b, m) +type UnmarshalOptions struct { + pragma.NoUnkeyedLiterals + + // Merge merges the input into the destination message. + // The default behavior is to always reset the message before unmarshaling, + // unless Merge is specified. + Merge bool + + // AllowPartial accepts input for messages that will result in missing + // required fields. If AllowPartial is false (the default), Unmarshal will + // return an error if there are any missing required fields. + AllowPartial bool + + // If DiscardUnknown is set, unknown fields are ignored. + DiscardUnknown bool + + // Resolver is used for looking up types when unmarshaling extension fields. + // If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) + FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) + } +} + +// Unmarshal parses the wire-format message in b and places the result in m. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func Unmarshal(b []byte, m Message) error { + _, err := UnmarshalOptions{}.unmarshal(b, m.ProtoReflect()) + return err +} + +// Unmarshal parses the wire-format message in b and places the result in m. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func (o UnmarshalOptions) Unmarshal(b []byte, m Message) error { + _, err := o.unmarshal(b, m.ProtoReflect()) + return err +} + +// UnmarshalState parses a wire-format message and places the result in m. +// +// This method permits fine-grained control over the unmarshaler. +// Most users should use Unmarshal instead. +func (o UnmarshalOptions) UnmarshalState(in protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + return o.unmarshal(in.Buf, in.Message) +} + +// unmarshal is a centralized function that all unmarshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for unmarshal that do not go through this. +func (o UnmarshalOptions) unmarshal(b []byte, m protoreflect.Message) (out protoiface.UnmarshalOutput, err error) { + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + if !o.Merge { + Reset(m.Interface()) + } + allowPartial := o.AllowPartial + o.Merge = true + o.AllowPartial = true + methods := protoMethods(m) + if methods != nil && methods.Unmarshal != nil && + !(o.DiscardUnknown && methods.Flags&protoiface.SupportUnmarshalDiscardUnknown == 0) { + in := protoiface.UnmarshalInput{ + Message: m, + Buf: b, + Resolver: o.Resolver, + } + if o.DiscardUnknown { + in.Flags |= protoiface.UnmarshalDiscardUnknown + } + out, err = methods.Unmarshal(in) + } else { + err = o.unmarshalMessageSlow(b, m) + } + if err != nil { + return out, err + } + if allowPartial || (out.Flags&protoiface.UnmarshalInitialized != 0) { + return out, nil + } + return out, checkInitialized(m) +} + +func (o UnmarshalOptions) unmarshalMessage(b []byte, m protoreflect.Message) error { + _, err := o.unmarshal(b, m) + return err +} + +func (o UnmarshalOptions) unmarshalMessageSlow(b []byte, m protoreflect.Message) error { + md := m.Descriptor() + if messageset.IsMessageSet(md) { + return o.unmarshalMessageSet(b, m) + } + fields := md.Fields() + for len(b) > 0 { + // Parse the tag (field number and wire type). + num, wtyp, tagLen := protowire.ConsumeTag(b) + if tagLen < 0 { + return errDecode + } + if num > protowire.MaxValidNumber { + return errDecode + } + + // Find the field descriptor for this field number. + fd := fields.ByNumber(num) + if fd == nil && md.ExtensionRanges().Has(num) { + extType, err := o.Resolver.FindExtensionByNumber(md.FullName(), num) + if err != nil && err != protoregistry.NotFound { + return errors.New("%v: unable to resolve extension %v: %v", md.FullName(), num, err) + } + if extType != nil { + fd = extType.TypeDescriptor() + } + } + var err error + if fd == nil { + err = errUnknown + } else if flags.ProtoLegacy { + if fd.IsWeak() && fd.Message().IsPlaceholder() { + err = errUnknown // weak referent is not linked in + } + } + + // Parse the field value. + var valLen int + switch { + case err != nil: + case fd.IsList(): + valLen, err = o.unmarshalList(b[tagLen:], wtyp, m.Mutable(fd).List(), fd) + case fd.IsMap(): + valLen, err = o.unmarshalMap(b[tagLen:], wtyp, m.Mutable(fd).Map(), fd) + default: + valLen, err = o.unmarshalSingular(b[tagLen:], wtyp, m, fd) + } + if err != nil { + if err != errUnknown { + return err + } + valLen = protowire.ConsumeFieldValue(num, wtyp, b[tagLen:]) + if valLen < 0 { + return errDecode + } + if !o.DiscardUnknown { + m.SetUnknown(append(m.GetUnknown(), b[:tagLen+valLen]...)) + } + } + b = b[tagLen+valLen:] + } + return nil +} + +func (o UnmarshalOptions) unmarshalSingular(b []byte, wtyp protowire.Type, m protoreflect.Message, fd protoreflect.FieldDescriptor) (n int, err error) { + v, n, err := o.unmarshalScalar(b, wtyp, fd) + if err != nil { + return 0, err + } + switch fd.Kind() { + case protoreflect.GroupKind, protoreflect.MessageKind: + m2 := m.Mutable(fd).Message() + if err := o.unmarshalMessage(v.Bytes(), m2); err != nil { + return n, err + } + default: + // Non-message scalars replace the previous value. + m.Set(fd, v) + } + return n, nil +} + +func (o UnmarshalOptions) unmarshalMap(b []byte, wtyp protowire.Type, mapv protoreflect.Map, fd protoreflect.FieldDescriptor) (n int, err error) { + if wtyp != protowire.BytesType { + return 0, errUnknown + } + b, n = protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + var ( + keyField = fd.MapKey() + valField = fd.MapValue() + key protoreflect.Value + val protoreflect.Value + haveKey bool + haveVal bool + ) + switch valField.Kind() { + case protoreflect.GroupKind, protoreflect.MessageKind: + val = mapv.NewValue() + } + // Map entries are represented as a two-element message with fields + // containing the key and value. + for len(b) > 0 { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return 0, errDecode + } + if num > protowire.MaxValidNumber { + return 0, errDecode + } + b = b[n:] + err = errUnknown + switch num { + case genid.MapEntry_Key_field_number: + key, n, err = o.unmarshalScalar(b, wtyp, keyField) + if err != nil { + break + } + haveKey = true + case genid.MapEntry_Value_field_number: + var v protoreflect.Value + v, n, err = o.unmarshalScalar(b, wtyp, valField) + if err != nil { + break + } + switch valField.Kind() { + case protoreflect.GroupKind, protoreflect.MessageKind: + if err := o.unmarshalMessage(v.Bytes(), val.Message()); err != nil { + return 0, err + } + default: + val = v + } + haveVal = true + } + if err == errUnknown { + n = protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return 0, errDecode + } + } else if err != nil { + return 0, err + } + b = b[n:] + } + // Every map entry should have entries for key and value, but this is not strictly required. + if !haveKey { + key = keyField.Default() + } + if !haveVal { + switch valField.Kind() { + case protoreflect.GroupKind, protoreflect.MessageKind: + default: + val = valField.Default() + } + } + mapv.Set(key.MapKey(), val) + return n, nil +} + +// errUnknown is used internally to indicate fields which should be added +// to the unknown field set of a message. It is never returned from an exported +// function. +var errUnknown = errors.New("BUG: internal error (unknown)") + +var errDecode = errors.New("cannot parse invalid wire-format data") diff --git a/vendor/google.golang.org/protobuf/proto/decode_gen.go b/vendor/google.golang.org/protobuf/proto/decode_gen.go new file mode 100644 index 000000000..301eeb20f --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/decode_gen.go @@ -0,0 +1,603 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package proto + +import ( + "math" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// unmarshalScalar decodes a value of the given kind. +// +// Message values are decoded into a []byte which aliases the input data. +func (o UnmarshalOptions) unmarshalScalar(b []byte, wtyp protowire.Type, fd protoreflect.FieldDescriptor) (val protoreflect.Value, n int, err error) { + switch fd.Kind() { + case protoreflect.BoolKind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfBool(protowire.DecodeBool(v)), n, nil + case protoreflect.EnumKind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)), n, nil + case protoreflect.Int32Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt32(int32(v)), n, nil + case protoreflect.Sint32Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))), n, nil + case protoreflect.Uint32Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfUint32(uint32(v)), n, nil + case protoreflect.Int64Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt64(int64(v)), n, nil + case protoreflect.Sint64Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)), n, nil + case protoreflect.Uint64Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfUint64(v), n, nil + case protoreflect.Sfixed32Kind: + if wtyp != protowire.Fixed32Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt32(int32(v)), n, nil + case protoreflect.Fixed32Kind: + if wtyp != protowire.Fixed32Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfUint32(uint32(v)), n, nil + case protoreflect.FloatKind: + if wtyp != protowire.Fixed32Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))), n, nil + case protoreflect.Sfixed64Kind: + if wtyp != protowire.Fixed64Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt64(int64(v)), n, nil + case protoreflect.Fixed64Kind: + if wtyp != protowire.Fixed64Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfUint64(v), n, nil + case protoreflect.DoubleKind: + if wtyp != protowire.Fixed64Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfFloat64(math.Float64frombits(v)), n, nil + case protoreflect.StringKind: + if wtyp != protowire.BytesType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return val, 0, errDecode + } + if strs.EnforceUTF8(fd) && !utf8.Valid(v) { + return protoreflect.Value{}, 0, errors.InvalidUTF8(string(fd.FullName())) + } + return protoreflect.ValueOfString(string(v)), n, nil + case protoreflect.BytesKind: + if wtyp != protowire.BytesType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfBytes(append(emptyBuf[:], v...)), n, nil + case protoreflect.MessageKind: + if wtyp != protowire.BytesType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfBytes(v), n, nil + case protoreflect.GroupKind: + if wtyp != protowire.StartGroupType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeGroup(fd.Number(), b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfBytes(v), n, nil + default: + return val, 0, errUnknown + } +} + +func (o UnmarshalOptions) unmarshalList(b []byte, wtyp protowire.Type, list protoreflect.List, fd protoreflect.FieldDescriptor) (n int, err error) { + switch fd.Kind() { + case protoreflect.BoolKind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v))) + return n, nil + case protoreflect.EnumKind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v))) + return n, nil + case protoreflect.Int32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt32(int32(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + return n, nil + case protoreflect.Sint32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32)))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32)))) + return n, nil + case protoreflect.Uint32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfUint32(uint32(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + return n, nil + case protoreflect.Int64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt64(int64(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + return n, nil + case protoreflect.Sint64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v))) + return n, nil + case protoreflect.Uint64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfUint64(v)) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + return n, nil + case protoreflect.Sfixed32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed32(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt32(int32(v))) + } + return n, nil + } + if wtyp != protowire.Fixed32Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + return n, nil + case protoreflect.Fixed32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed32(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfUint32(uint32(v))) + } + return n, nil + } + if wtyp != protowire.Fixed32Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + return n, nil + case protoreflect.FloatKind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed32(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v)))) + } + return n, nil + } + if wtyp != protowire.Fixed32Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v)))) + return n, nil + case protoreflect.Sfixed64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed64(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt64(int64(v))) + } + return n, nil + } + if wtyp != protowire.Fixed64Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + return n, nil + case protoreflect.Fixed64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed64(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfUint64(v)) + } + return n, nil + } + if wtyp != protowire.Fixed64Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + return n, nil + case protoreflect.DoubleKind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed64(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v))) + } + return n, nil + } + if wtyp != protowire.Fixed64Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v))) + return n, nil + case protoreflect.StringKind: + if wtyp != protowire.BytesType { + return 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + if strs.EnforceUTF8(fd) && !utf8.Valid(v) { + return 0, errors.InvalidUTF8(string(fd.FullName())) + } + list.Append(protoreflect.ValueOfString(string(v))) + return n, nil + case protoreflect.BytesKind: + if wtyp != protowire.BytesType { + return 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfBytes(append(emptyBuf[:], v...))) + return n, nil + case protoreflect.MessageKind: + if wtyp != protowire.BytesType { + return 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + m := list.NewElement() + if err := o.unmarshalMessage(v, m.Message()); err != nil { + return 0, err + } + list.Append(m) + return n, nil + case protoreflect.GroupKind: + if wtyp != protowire.StartGroupType { + return 0, errUnknown + } + v, n := protowire.ConsumeGroup(fd.Number(), b) + if n < 0 { + return 0, errDecode + } + m := list.NewElement() + if err := o.unmarshalMessage(v, m.Message()); err != nil { + return 0, err + } + list.Append(m) + return n, nil + default: + return 0, errUnknown + } +} + +// We append to an empty array rather than a nil []byte to get non-nil zero-length byte slices. +var emptyBuf [0]byte diff --git a/vendor/google.golang.org/protobuf/proto/doc.go b/vendor/google.golang.org/protobuf/proto/doc.go new file mode 100644 index 000000000..c52d8c4ab --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/doc.go @@ -0,0 +1,94 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package proto provides functions operating on protocol buffer messages. +// +// For documentation on protocol buffers in general, see: +// +// https://developers.google.com/protocol-buffers +// +// For a tutorial on using protocol buffers with Go, see: +// +// https://developers.google.com/protocol-buffers/docs/gotutorial +// +// For a guide to generated Go protocol buffer code, see: +// +// https://developers.google.com/protocol-buffers/docs/reference/go-generated +// +// +// Binary serialization +// +// This package contains functions to convert to and from the wire format, +// an efficient binary serialization of protocol buffers. +// +// • Size reports the size of a message in the wire format. +// +// • Marshal converts a message to the wire format. +// The MarshalOptions type provides more control over wire marshaling. +// +// • Unmarshal converts a message from the wire format. +// The UnmarshalOptions type provides more control over wire unmarshaling. +// +// +// Basic message operations +// +// • Clone makes a deep copy of a message. +// +// • Merge merges the content of a message into another. +// +// • Equal compares two messages. For more control over comparisons +// and detailed reporting of differences, see package +// "google.golang.org/protobuf/testing/protocmp". +// +// • Reset clears the content of a message. +// +// • CheckInitialized reports whether all required fields in a message are set. +// +// +// Optional scalar constructors +// +// The API for some generated messages represents optional scalar fields +// as pointers to a value. For example, an optional string field has the +// Go type *string. +// +// • Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, and String +// take a value and return a pointer to a new instance of it, +// to simplify construction of optional field values. +// +// Generated enum types usually have an Enum method which performs the +// same operation. +// +// Optional scalar fields are only supported in proto2. +// +// +// Extension accessors +// +// • HasExtension, GetExtension, SetExtension, and ClearExtension +// access extension field values in a protocol buffer message. +// +// Extension fields are only supported in proto2. +// +// +// Related packages +// +// • Package "google.golang.org/protobuf/encoding/protojson" converts messages to +// and from JSON. +// +// • Package "google.golang.org/protobuf/encoding/prototext" converts messages to +// and from the text format. +// +// • Package "google.golang.org/protobuf/reflect/protoreflect" provides a +// reflection interface for protocol buffer data types. +// +// • Package "google.golang.org/protobuf/testing/protocmp" provides features +// to compare protocol buffer messages with the "github.com/google/go-cmp/cmp" +// package. +// +// • Package "google.golang.org/protobuf/types/dynamicpb" provides a dynamic +// message type, suitable for working with messages where the protocol buffer +// type is only known at runtime. +// +// This module contains additional packages for more specialized use cases. +// Consult the individual package documentation for details. +package proto diff --git a/vendor/google.golang.org/protobuf/proto/encode.go b/vendor/google.golang.org/protobuf/proto/encode.go new file mode 100644 index 000000000..d18239c23 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/encode.go @@ -0,0 +1,319 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/order" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// MarshalOptions configures the marshaler. +// +// Example usage: +// b, err := MarshalOptions{Deterministic: true}.Marshal(m) +type MarshalOptions struct { + pragma.NoUnkeyedLiterals + + // AllowPartial allows messages that have missing required fields to marshal + // without returning an error. If AllowPartial is false (the default), + // Marshal will return an error if there are any missing required fields. + AllowPartial bool + + // Deterministic controls whether the same message will always be + // serialized to the same bytes within the same binary. + // + // Setting this option guarantees that repeated serialization of + // the same message will return the same bytes, and that different + // processes of the same binary (which may be executing on different + // machines) will serialize equal messages to the same bytes. + // It has no effect on the resulting size of the encoded message compared + // to a non-deterministic marshal. + // + // Note that the deterministic serialization is NOT canonical across + // languages. It is not guaranteed to remain stable over time. It is + // unstable across different builds with schema changes due to unknown + // fields. Users who need canonical serialization (e.g., persistent + // storage in a canonical form, fingerprinting, etc.) must define + // their own canonicalization specification and implement their own + // serializer rather than relying on this API. + // + // If deterministic serialization is requested, map entries will be + // sorted by keys in lexographical order. This is an implementation + // detail and subject to change. + Deterministic bool + + // UseCachedSize indicates that the result of a previous Size call + // may be reused. + // + // Setting this option asserts that: + // + // 1. Size has previously been called on this message with identical + // options (except for UseCachedSize itself). + // + // 2. The message and all its submessages have not changed in any + // way since the Size call. + // + // If either of these invariants is violated, + // the results are undefined and may include panics or corrupted output. + // + // Implementations MAY take this option into account to provide + // better performance, but there is no guarantee that they will do so. + // There is absolutely no guarantee that Size followed by Marshal with + // UseCachedSize set will perform equivalently to Marshal alone. + UseCachedSize bool +} + +// Marshal returns the wire-format encoding of m. +func Marshal(m Message) ([]byte, error) { + // Treat nil message interface as an empty message; nothing to output. + if m == nil { + return nil, nil + } + + out, err := MarshalOptions{}.marshal(nil, m.ProtoReflect()) + if len(out.Buf) == 0 && err == nil { + out.Buf = emptyBytesForMessage(m) + } + return out.Buf, err +} + +// Marshal returns the wire-format encoding of m. +func (o MarshalOptions) Marshal(m Message) ([]byte, error) { + // Treat nil message interface as an empty message; nothing to output. + if m == nil { + return nil, nil + } + + out, err := o.marshal(nil, m.ProtoReflect()) + if len(out.Buf) == 0 && err == nil { + out.Buf = emptyBytesForMessage(m) + } + return out.Buf, err +} + +// emptyBytesForMessage returns a nil buffer if and only if m is invalid, +// otherwise it returns a non-nil empty buffer. +// +// This is to assist the edge-case where user-code does the following: +// m1.OptionalBytes, _ = proto.Marshal(m2) +// where they expect the proto2 "optional_bytes" field to be populated +// if any only if m2 is a valid message. +func emptyBytesForMessage(m Message) []byte { + if m == nil || !m.ProtoReflect().IsValid() { + return nil + } + return emptyBuf[:] +} + +// MarshalAppend appends the wire-format encoding of m to b, +// returning the result. +func (o MarshalOptions) MarshalAppend(b []byte, m Message) ([]byte, error) { + // Treat nil message interface as an empty message; nothing to append. + if m == nil { + return b, nil + } + + out, err := o.marshal(b, m.ProtoReflect()) + return out.Buf, err +} + +// MarshalState returns the wire-format encoding of a message. +// +// This method permits fine-grained control over the marshaler. +// Most users should use Marshal instead. +func (o MarshalOptions) MarshalState(in protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + return o.marshal(in.Buf, in.Message) +} + +// marshal is a centralized function that all marshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for marshal that do not go through this. +func (o MarshalOptions) marshal(b []byte, m protoreflect.Message) (out protoiface.MarshalOutput, err error) { + allowPartial := o.AllowPartial + o.AllowPartial = true + if methods := protoMethods(m); methods != nil && methods.Marshal != nil && + !(o.Deterministic && methods.Flags&protoiface.SupportMarshalDeterministic == 0) { + in := protoiface.MarshalInput{ + Message: m, + Buf: b, + } + if o.Deterministic { + in.Flags |= protoiface.MarshalDeterministic + } + if o.UseCachedSize { + in.Flags |= protoiface.MarshalUseCachedSize + } + if methods.Size != nil { + sout := methods.Size(protoiface.SizeInput{ + Message: m, + Flags: in.Flags, + }) + if cap(b) < len(b)+sout.Size { + in.Buf = make([]byte, len(b), growcap(cap(b), len(b)+sout.Size)) + copy(in.Buf, b) + } + in.Flags |= protoiface.MarshalUseCachedSize + } + out, err = methods.Marshal(in) + } else { + out.Buf, err = o.marshalMessageSlow(b, m) + } + if err != nil { + return out, err + } + if allowPartial { + return out, nil + } + return out, checkInitialized(m) +} + +func (o MarshalOptions) marshalMessage(b []byte, m protoreflect.Message) ([]byte, error) { + out, err := o.marshal(b, m) + return out.Buf, err +} + +// growcap scales up the capacity of a slice. +// +// Given a slice with a current capacity of oldcap and a desired +// capacity of wantcap, growcap returns a new capacity >= wantcap. +// +// The algorithm is mostly identical to the one used by append as of Go 1.14. +func growcap(oldcap, wantcap int) (newcap int) { + if wantcap > oldcap*2 { + newcap = wantcap + } else if oldcap < 1024 { + // The Go 1.14 runtime takes this case when len(s) < 1024, + // not when cap(s) < 1024. The difference doesn't seem + // significant here. + newcap = oldcap * 2 + } else { + newcap = oldcap + for 0 < newcap && newcap < wantcap { + newcap += newcap / 4 + } + if newcap <= 0 { + newcap = wantcap + } + } + return newcap +} + +func (o MarshalOptions) marshalMessageSlow(b []byte, m protoreflect.Message) ([]byte, error) { + if messageset.IsMessageSet(m.Descriptor()) { + return o.marshalMessageSet(b, m) + } + fieldOrder := order.AnyFieldOrder + if o.Deterministic { + // TODO: This should use a more natural ordering like NumberFieldOrder, + // but doing so breaks golden tests that make invalid assumption about + // output stability of this implementation. + fieldOrder = order.LegacyFieldOrder + } + var err error + order.RangeFields(m, fieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + b, err = o.marshalField(b, fd, v) + return err == nil + }) + if err != nil { + return b, err + } + b = append(b, m.GetUnknown()...) + return b, nil +} + +func (o MarshalOptions) marshalField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) { + switch { + case fd.IsList(): + return o.marshalList(b, fd, value.List()) + case fd.IsMap(): + return o.marshalMap(b, fd, value.Map()) + default: + b = protowire.AppendTag(b, fd.Number(), wireTypes[fd.Kind()]) + return o.marshalSingular(b, fd, value) + } +} + +func (o MarshalOptions) marshalList(b []byte, fd protoreflect.FieldDescriptor, list protoreflect.List) ([]byte, error) { + if fd.IsPacked() && list.Len() > 0 { + b = protowire.AppendTag(b, fd.Number(), protowire.BytesType) + b, pos := appendSpeculativeLength(b) + for i, llen := 0, list.Len(); i < llen; i++ { + var err error + b, err = o.marshalSingular(b, fd, list.Get(i)) + if err != nil { + return b, err + } + } + b = finishSpeculativeLength(b, pos) + return b, nil + } + + kind := fd.Kind() + for i, llen := 0, list.Len(); i < llen; i++ { + var err error + b = protowire.AppendTag(b, fd.Number(), wireTypes[kind]) + b, err = o.marshalSingular(b, fd, list.Get(i)) + if err != nil { + return b, err + } + } + return b, nil +} + +func (o MarshalOptions) marshalMap(b []byte, fd protoreflect.FieldDescriptor, mapv protoreflect.Map) ([]byte, error) { + keyf := fd.MapKey() + valf := fd.MapValue() + keyOrder := order.AnyKeyOrder + if o.Deterministic { + keyOrder = order.GenericKeyOrder + } + var err error + order.RangeEntries(mapv, keyOrder, func(key protoreflect.MapKey, value protoreflect.Value) bool { + b = protowire.AppendTag(b, fd.Number(), protowire.BytesType) + var pos int + b, pos = appendSpeculativeLength(b) + + b, err = o.marshalField(b, keyf, key.Value()) + if err != nil { + return false + } + b, err = o.marshalField(b, valf, value) + if err != nil { + return false + } + b = finishSpeculativeLength(b, pos) + return true + }) + return b, err +} + +// When encoding length-prefixed fields, we speculatively set aside some number of bytes +// for the length, encode the data, and then encode the length (shifting the data if necessary +// to make room). +const speculativeLength = 1 + +func appendSpeculativeLength(b []byte) ([]byte, int) { + pos := len(b) + b = append(b, "\x00\x00\x00\x00"[:speculativeLength]...) + return b, pos +} + +func finishSpeculativeLength(b []byte, pos int) []byte { + mlen := len(b) - pos - speculativeLength + msiz := protowire.SizeVarint(uint64(mlen)) + if msiz != speculativeLength { + for i := 0; i < msiz-speculativeLength; i++ { + b = append(b, 0) + } + copy(b[pos+msiz:], b[pos+speculativeLength:]) + b = b[:pos+msiz+mlen] + } + protowire.AppendVarint(b[:pos], uint64(mlen)) + return b +} diff --git a/vendor/google.golang.org/protobuf/proto/encode_gen.go b/vendor/google.golang.org/protobuf/proto/encode_gen.go new file mode 100644 index 000000000..185dacfb4 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/encode_gen.go @@ -0,0 +1,97 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package proto + +import ( + "math" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" +) + +var wireTypes = map[protoreflect.Kind]protowire.Type{ + protoreflect.BoolKind: protowire.VarintType, + protoreflect.EnumKind: protowire.VarintType, + protoreflect.Int32Kind: protowire.VarintType, + protoreflect.Sint32Kind: protowire.VarintType, + protoreflect.Uint32Kind: protowire.VarintType, + protoreflect.Int64Kind: protowire.VarintType, + protoreflect.Sint64Kind: protowire.VarintType, + protoreflect.Uint64Kind: protowire.VarintType, + protoreflect.Sfixed32Kind: protowire.Fixed32Type, + protoreflect.Fixed32Kind: protowire.Fixed32Type, + protoreflect.FloatKind: protowire.Fixed32Type, + protoreflect.Sfixed64Kind: protowire.Fixed64Type, + protoreflect.Fixed64Kind: protowire.Fixed64Type, + protoreflect.DoubleKind: protowire.Fixed64Type, + protoreflect.StringKind: protowire.BytesType, + protoreflect.BytesKind: protowire.BytesType, + protoreflect.MessageKind: protowire.BytesType, + protoreflect.GroupKind: protowire.StartGroupType, +} + +func (o MarshalOptions) marshalSingular(b []byte, fd protoreflect.FieldDescriptor, v protoreflect.Value) ([]byte, error) { + switch fd.Kind() { + case protoreflect.BoolKind: + b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool())) + case protoreflect.EnumKind: + b = protowire.AppendVarint(b, uint64(v.Enum())) + case protoreflect.Int32Kind: + b = protowire.AppendVarint(b, uint64(int32(v.Int()))) + case protoreflect.Sint32Kind: + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int())))) + case protoreflect.Uint32Kind: + b = protowire.AppendVarint(b, uint64(uint32(v.Uint()))) + case protoreflect.Int64Kind: + b = protowire.AppendVarint(b, uint64(v.Int())) + case protoreflect.Sint64Kind: + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int())) + case protoreflect.Uint64Kind: + b = protowire.AppendVarint(b, v.Uint()) + case protoreflect.Sfixed32Kind: + b = protowire.AppendFixed32(b, uint32(v.Int())) + case protoreflect.Fixed32Kind: + b = protowire.AppendFixed32(b, uint32(v.Uint())) + case protoreflect.FloatKind: + b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float()))) + case protoreflect.Sfixed64Kind: + b = protowire.AppendFixed64(b, uint64(v.Int())) + case protoreflect.Fixed64Kind: + b = protowire.AppendFixed64(b, v.Uint()) + case protoreflect.DoubleKind: + b = protowire.AppendFixed64(b, math.Float64bits(v.Float())) + case protoreflect.StringKind: + if strs.EnforceUTF8(fd) && !utf8.ValidString(v.String()) { + return b, errors.InvalidUTF8(string(fd.FullName())) + } + b = protowire.AppendString(b, v.String()) + case protoreflect.BytesKind: + b = protowire.AppendBytes(b, v.Bytes()) + case protoreflect.MessageKind: + var pos int + var err error + b, pos = appendSpeculativeLength(b) + b, err = o.marshalMessage(b, v.Message()) + if err != nil { + return b, err + } + b = finishSpeculativeLength(b, pos) + case protoreflect.GroupKind: + var err error + b, err = o.marshalMessage(b, v.Message()) + if err != nil { + return b, err + } + b = protowire.AppendVarint(b, protowire.EncodeTag(fd.Number(), protowire.EndGroupType)) + default: + return b, errors.New("invalid kind %v", fd.Kind()) + } + return b, nil +} diff --git a/vendor/google.golang.org/protobuf/proto/equal.go b/vendor/google.golang.org/protobuf/proto/equal.go new file mode 100644 index 000000000..4dba2b969 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/equal.go @@ -0,0 +1,167 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "bytes" + "math" + "reflect" + + "google.golang.org/protobuf/encoding/protowire" + pref "google.golang.org/protobuf/reflect/protoreflect" +) + +// Equal reports whether two messages are equal. +// If two messages marshal to the same bytes under deterministic serialization, +// then Equal is guaranteed to report true. +// +// Two messages are equal if they belong to the same message descriptor, +// have the same set of populated known and extension field values, +// and the same set of unknown fields values. If either of the top-level +// messages are invalid, then Equal reports true only if both are invalid. +// +// Scalar values are compared with the equivalent of the == operator in Go, +// except bytes values which are compared using bytes.Equal and +// floating point values which specially treat NaNs as equal. +// Message values are compared by recursively calling Equal. +// Lists are equal if each element value is also equal. +// Maps are equal if they have the same set of keys, where the pair of values +// for each key is also equal. +func Equal(x, y Message) bool { + if x == nil || y == nil { + return x == nil && y == nil + } + mx := x.ProtoReflect() + my := y.ProtoReflect() + if mx.IsValid() != my.IsValid() { + return false + } + return equalMessage(mx, my) +} + +// equalMessage compares two messages. +func equalMessage(mx, my pref.Message) bool { + if mx.Descriptor() != my.Descriptor() { + return false + } + + nx := 0 + equal := true + mx.Range(func(fd pref.FieldDescriptor, vx pref.Value) bool { + nx++ + vy := my.Get(fd) + equal = my.Has(fd) && equalField(fd, vx, vy) + return equal + }) + if !equal { + return false + } + ny := 0 + my.Range(func(fd pref.FieldDescriptor, vx pref.Value) bool { + ny++ + return true + }) + if nx != ny { + return false + } + + return equalUnknown(mx.GetUnknown(), my.GetUnknown()) +} + +// equalField compares two fields. +func equalField(fd pref.FieldDescriptor, x, y pref.Value) bool { + switch { + case fd.IsList(): + return equalList(fd, x.List(), y.List()) + case fd.IsMap(): + return equalMap(fd, x.Map(), y.Map()) + default: + return equalValue(fd, x, y) + } +} + +// equalMap compares two maps. +func equalMap(fd pref.FieldDescriptor, x, y pref.Map) bool { + if x.Len() != y.Len() { + return false + } + equal := true + x.Range(func(k pref.MapKey, vx pref.Value) bool { + vy := y.Get(k) + equal = y.Has(k) && equalValue(fd.MapValue(), vx, vy) + return equal + }) + return equal +} + +// equalList compares two lists. +func equalList(fd pref.FieldDescriptor, x, y pref.List) bool { + if x.Len() != y.Len() { + return false + } + for i := x.Len() - 1; i >= 0; i-- { + if !equalValue(fd, x.Get(i), y.Get(i)) { + return false + } + } + return true +} + +// equalValue compares two singular values. +func equalValue(fd pref.FieldDescriptor, x, y pref.Value) bool { + switch fd.Kind() { + case pref.BoolKind: + return x.Bool() == y.Bool() + case pref.EnumKind: + return x.Enum() == y.Enum() + case pref.Int32Kind, pref.Sint32Kind, + pref.Int64Kind, pref.Sint64Kind, + pref.Sfixed32Kind, pref.Sfixed64Kind: + return x.Int() == y.Int() + case pref.Uint32Kind, pref.Uint64Kind, + pref.Fixed32Kind, pref.Fixed64Kind: + return x.Uint() == y.Uint() + case pref.FloatKind, pref.DoubleKind: + fx := x.Float() + fy := y.Float() + if math.IsNaN(fx) || math.IsNaN(fy) { + return math.IsNaN(fx) && math.IsNaN(fy) + } + return fx == fy + case pref.StringKind: + return x.String() == y.String() + case pref.BytesKind: + return bytes.Equal(x.Bytes(), y.Bytes()) + case pref.MessageKind, pref.GroupKind: + return equalMessage(x.Message(), y.Message()) + default: + return x.Interface() == y.Interface() + } +} + +// equalUnknown compares unknown fields by direct comparison on the raw bytes +// of each individual field number. +func equalUnknown(x, y pref.RawFields) bool { + if len(x) != len(y) { + return false + } + if bytes.Equal([]byte(x), []byte(y)) { + return true + } + + mx := make(map[pref.FieldNumber]pref.RawFields) + my := make(map[pref.FieldNumber]pref.RawFields) + for len(x) > 0 { + fnum, _, n := protowire.ConsumeField(x) + mx[fnum] = append(mx[fnum], x[:n]...) + x = x[n:] + } + for len(y) > 0 { + fnum, _, n := protowire.ConsumeField(y) + my[fnum] = append(my[fnum], y[:n]...) + y = y[n:] + } + return reflect.DeepEqual(mx, my) +} diff --git a/vendor/google.golang.org/protobuf/proto/extension.go b/vendor/google.golang.org/protobuf/proto/extension.go new file mode 100644 index 000000000..5f293cda8 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/extension.go @@ -0,0 +1,92 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/reflect/protoreflect" +) + +// HasExtension reports whether an extension field is populated. +// It returns false if m is invalid or if xt does not extend m. +func HasExtension(m Message, xt protoreflect.ExtensionType) bool { + // Treat nil message interface as an empty message; no populated fields. + if m == nil { + return false + } + + // As a special-case, we reports invalid or mismatching descriptors + // as always not being populated (since they aren't). + if xt == nil || m.ProtoReflect().Descriptor() != xt.TypeDescriptor().ContainingMessage() { + return false + } + + return m.ProtoReflect().Has(xt.TypeDescriptor()) +} + +// ClearExtension clears an extension field such that subsequent +// HasExtension calls return false. +// It panics if m is invalid or if xt does not extend m. +func ClearExtension(m Message, xt protoreflect.ExtensionType) { + m.ProtoReflect().Clear(xt.TypeDescriptor()) +} + +// GetExtension retrieves the value for an extension field. +// If the field is unpopulated, it returns the default value for +// scalars and an immutable, empty value for lists or messages. +// It panics if xt does not extend m. +func GetExtension(m Message, xt protoreflect.ExtensionType) interface{} { + // Treat nil message interface as an empty message; return the default. + if m == nil { + return xt.InterfaceOf(xt.Zero()) + } + + return xt.InterfaceOf(m.ProtoReflect().Get(xt.TypeDescriptor())) +} + +// SetExtension stores the value of an extension field. +// It panics if m is invalid, xt does not extend m, or if type of v +// is invalid for the specified extension field. +func SetExtension(m Message, xt protoreflect.ExtensionType, v interface{}) { + xd := xt.TypeDescriptor() + pv := xt.ValueOf(v) + + // Specially treat an invalid list, map, or message as clear. + isValid := true + switch { + case xd.IsList(): + isValid = pv.List().IsValid() + case xd.IsMap(): + isValid = pv.Map().IsValid() + case xd.Message() != nil: + isValid = pv.Message().IsValid() + } + if !isValid { + m.ProtoReflect().Clear(xd) + return + } + + m.ProtoReflect().Set(xd, pv) +} + +// RangeExtensions iterates over every populated extension field in m in an +// undefined order, calling f for each extension type and value encountered. +// It returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current extension field. +func RangeExtensions(m Message, f func(protoreflect.ExtensionType, interface{}) bool) { + // Treat nil message interface as an empty message; nothing to range over. + if m == nil { + return + } + + m.ProtoReflect().Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + if fd.IsExtension() { + xt := fd.(protoreflect.ExtensionTypeDescriptor).Type() + vi := xt.InterfaceOf(v) + return f(xt, vi) + } + return true + }) +} diff --git a/vendor/google.golang.org/protobuf/proto/merge.go b/vendor/google.golang.org/protobuf/proto/merge.go new file mode 100644 index 000000000..d761ab331 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/merge.go @@ -0,0 +1,139 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "fmt" + + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// Merge merges src into dst, which must be a message with the same descriptor. +// +// Populated scalar fields in src are copied to dst, while populated +// singular messages in src are merged into dst by recursively calling Merge. +// The elements of every list field in src is appended to the corresponded +// list fields in dst. The entries of every map field in src is copied into +// the corresponding map field in dst, possibly replacing existing entries. +// The unknown fields of src are appended to the unknown fields of dst. +// +// It is semantically equivalent to unmarshaling the encoded form of src +// into dst with the UnmarshalOptions.Merge option specified. +func Merge(dst, src Message) { + // TODO: Should nil src be treated as semantically equivalent to a + // untyped, read-only, empty message? What about a nil dst? + + dstMsg, srcMsg := dst.ProtoReflect(), src.ProtoReflect() + if dstMsg.Descriptor() != srcMsg.Descriptor() { + if got, want := dstMsg.Descriptor().FullName(), srcMsg.Descriptor().FullName(); got != want { + panic(fmt.Sprintf("descriptor mismatch: %v != %v", got, want)) + } + panic("descriptor mismatch") + } + mergeOptions{}.mergeMessage(dstMsg, srcMsg) +} + +// Clone returns a deep copy of m. +// If the top-level message is invalid, it returns an invalid message as well. +func Clone(m Message) Message { + // NOTE: Most usages of Clone assume the following properties: + // t := reflect.TypeOf(m) + // t == reflect.TypeOf(m.ProtoReflect().New().Interface()) + // t == reflect.TypeOf(m.ProtoReflect().Type().Zero().Interface()) + // + // Embedding protobuf messages breaks this since the parent type will have + // a forwarded ProtoReflect method, but the Interface method will return + // the underlying embedded message type. + if m == nil { + return nil + } + src := m.ProtoReflect() + if !src.IsValid() { + return src.Type().Zero().Interface() + } + dst := src.New() + mergeOptions{}.mergeMessage(dst, src) + return dst.Interface() +} + +// mergeOptions provides a namespace for merge functions, and can be +// exported in the future if we add user-visible merge options. +type mergeOptions struct{} + +func (o mergeOptions) mergeMessage(dst, src protoreflect.Message) { + methods := protoMethods(dst) + if methods != nil && methods.Merge != nil { + in := protoiface.MergeInput{ + Destination: dst, + Source: src, + } + out := methods.Merge(in) + if out.Flags&protoiface.MergeComplete != 0 { + return + } + } + + if !dst.IsValid() { + panic(fmt.Sprintf("cannot merge into invalid %v message", dst.Descriptor().FullName())) + } + + src.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + switch { + case fd.IsList(): + o.mergeList(dst.Mutable(fd).List(), v.List(), fd) + case fd.IsMap(): + o.mergeMap(dst.Mutable(fd).Map(), v.Map(), fd.MapValue()) + case fd.Message() != nil: + o.mergeMessage(dst.Mutable(fd).Message(), v.Message()) + case fd.Kind() == protoreflect.BytesKind: + dst.Set(fd, o.cloneBytes(v)) + default: + dst.Set(fd, v) + } + return true + }) + + if len(src.GetUnknown()) > 0 { + dst.SetUnknown(append(dst.GetUnknown(), src.GetUnknown()...)) + } +} + +func (o mergeOptions) mergeList(dst, src protoreflect.List, fd protoreflect.FieldDescriptor) { + // Merge semantics appends to the end of the existing list. + for i, n := 0, src.Len(); i < n; i++ { + switch v := src.Get(i); { + case fd.Message() != nil: + dstv := dst.NewElement() + o.mergeMessage(dstv.Message(), v.Message()) + dst.Append(dstv) + case fd.Kind() == protoreflect.BytesKind: + dst.Append(o.cloneBytes(v)) + default: + dst.Append(v) + } + } +} + +func (o mergeOptions) mergeMap(dst, src protoreflect.Map, fd protoreflect.FieldDescriptor) { + // Merge semantics replaces, rather than merges into existing entries. + src.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool { + switch { + case fd.Message() != nil: + dstv := dst.NewValue() + o.mergeMessage(dstv.Message(), v.Message()) + dst.Set(k, dstv) + case fd.Kind() == protoreflect.BytesKind: + dst.Set(k, o.cloneBytes(v)) + default: + dst.Set(k, v) + } + return true + }) +} + +func (o mergeOptions) cloneBytes(v protoreflect.Value) protoreflect.Value { + return protoreflect.ValueOfBytes(append([]byte{}, v.Bytes()...)) +} diff --git a/vendor/google.golang.org/protobuf/proto/messageset.go b/vendor/google.golang.org/protobuf/proto/messageset.go new file mode 100644 index 000000000..312d5d45c --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/messageset.go @@ -0,0 +1,93 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/order" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +func (o MarshalOptions) sizeMessageSet(m protoreflect.Message) (size int) { + m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + size += messageset.SizeField(fd.Number()) + size += protowire.SizeTag(messageset.FieldMessage) + size += protowire.SizeBytes(o.size(v.Message())) + return true + }) + size += messageset.SizeUnknown(m.GetUnknown()) + return size +} + +func (o MarshalOptions) marshalMessageSet(b []byte, m protoreflect.Message) ([]byte, error) { + if !flags.ProtoLegacy { + return b, errors.New("no support for message_set_wire_format") + } + fieldOrder := order.AnyFieldOrder + if o.Deterministic { + fieldOrder = order.NumberFieldOrder + } + var err error + order.RangeFields(m, fieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + b, err = o.marshalMessageSetField(b, fd, v) + return err == nil + }) + if err != nil { + return b, err + } + return messageset.AppendUnknown(b, m.GetUnknown()) +} + +func (o MarshalOptions) marshalMessageSetField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) { + b = messageset.AppendFieldStart(b, fd.Number()) + b = protowire.AppendTag(b, messageset.FieldMessage, protowire.BytesType) + b = protowire.AppendVarint(b, uint64(o.Size(value.Message().Interface()))) + b, err := o.marshalMessage(b, value.Message()) + if err != nil { + return b, err + } + b = messageset.AppendFieldEnd(b) + return b, nil +} + +func (o UnmarshalOptions) unmarshalMessageSet(b []byte, m protoreflect.Message) error { + if !flags.ProtoLegacy { + return errors.New("no support for message_set_wire_format") + } + return messageset.Unmarshal(b, false, func(num protowire.Number, v []byte) error { + err := o.unmarshalMessageSetField(m, num, v) + if err == errUnknown { + unknown := m.GetUnknown() + unknown = protowire.AppendTag(unknown, num, protowire.BytesType) + unknown = protowire.AppendBytes(unknown, v) + m.SetUnknown(unknown) + return nil + } + return err + }) +} + +func (o UnmarshalOptions) unmarshalMessageSetField(m protoreflect.Message, num protowire.Number, v []byte) error { + md := m.Descriptor() + if !md.ExtensionRanges().Has(num) { + return errUnknown + } + xt, err := o.Resolver.FindExtensionByNumber(md.FullName(), num) + if err == protoregistry.NotFound { + return errUnknown + } + if err != nil { + return errors.New("%v: unable to resolve extension %v: %v", md.FullName(), num, err) + } + xd := xt.TypeDescriptor() + if err := o.unmarshalMessage(v, m.Mutable(xd).Message()); err != nil { + return err + } + return nil +} diff --git a/vendor/google.golang.org/protobuf/proto/proto.go b/vendor/google.golang.org/protobuf/proto/proto.go new file mode 100644 index 000000000..1f0d183b1 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/proto.go @@ -0,0 +1,43 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Message is the top-level interface that all messages must implement. +// It provides access to a reflective view of a message. +// Any implementation of this interface may be used with all functions in the +// protobuf module that accept a Message, except where otherwise specified. +// +// This is the v2 interface definition for protobuf messages. +// The v1 interface definition is "github.com/golang/protobuf/proto".Message. +// +// To convert a v1 message to a v2 message, +// use "github.com/golang/protobuf/proto".MessageV2. +// To convert a v2 message to a v1 message, +// use "github.com/golang/protobuf/proto".MessageV1. +type Message = protoreflect.ProtoMessage + +// Error matches all errors produced by packages in the protobuf module. +// +// That is, errors.Is(err, Error) reports whether an error is produced +// by this module. +var Error error + +func init() { + Error = errors.Error +} + +// MessageName returns the full name of m. +// If m is nil, it returns an empty string. +func MessageName(m Message) protoreflect.FullName { + if m == nil { + return "" + } + return m.ProtoReflect().Descriptor().FullName() +} diff --git a/vendor/google.golang.org/protobuf/proto/proto_methods.go b/vendor/google.golang.org/protobuf/proto/proto_methods.go new file mode 100644 index 000000000..d8dd604f6 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/proto_methods.go @@ -0,0 +1,19 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// The protoreflect build tag disables use of fast-path methods. +// +build !protoreflect + +package proto + +import ( + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +const hasProtoMethods = true + +func protoMethods(m protoreflect.Message) *protoiface.Methods { + return m.ProtoMethods() +} diff --git a/vendor/google.golang.org/protobuf/proto/proto_reflect.go b/vendor/google.golang.org/protobuf/proto/proto_reflect.go new file mode 100644 index 000000000..b103d4320 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/proto_reflect.go @@ -0,0 +1,19 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// The protoreflect build tag disables use of fast-path methods. +// +build protoreflect + +package proto + +import ( + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +const hasProtoMethods = false + +func protoMethods(m protoreflect.Message) *protoiface.Methods { + return nil +} diff --git a/vendor/google.golang.org/protobuf/proto/reset.go b/vendor/google.golang.org/protobuf/proto/reset.go new file mode 100644 index 000000000..3d7f89436 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/reset.go @@ -0,0 +1,43 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "fmt" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Reset clears every field in the message. +// The resulting message shares no observable memory with its previous state +// other than the memory for the message itself. +func Reset(m Message) { + if mr, ok := m.(interface{ Reset() }); ok && hasProtoMethods { + mr.Reset() + return + } + resetMessage(m.ProtoReflect()) +} + +func resetMessage(m protoreflect.Message) { + if !m.IsValid() { + panic(fmt.Sprintf("cannot reset invalid %v message", m.Descriptor().FullName())) + } + + // Clear all known fields. + fds := m.Descriptor().Fields() + for i := 0; i < fds.Len(); i++ { + m.Clear(fds.Get(i)) + } + + // Clear extension fields. + m.Range(func(fd protoreflect.FieldDescriptor, _ protoreflect.Value) bool { + m.Clear(fd) + return true + }) + + // Clear unknown fields. + m.SetUnknown(nil) +} diff --git a/vendor/google.golang.org/protobuf/proto/size.go b/vendor/google.golang.org/protobuf/proto/size.go new file mode 100644 index 000000000..554b9c6c0 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/size.go @@ -0,0 +1,97 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// Size returns the size in bytes of the wire-format encoding of m. +func Size(m Message) int { + return MarshalOptions{}.Size(m) +} + +// Size returns the size in bytes of the wire-format encoding of m. +func (o MarshalOptions) Size(m Message) int { + // Treat a nil message interface as an empty message; nothing to output. + if m == nil { + return 0 + } + + return o.size(m.ProtoReflect()) +} + +// size is a centralized function that all size operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for size that do not go through this. +func (o MarshalOptions) size(m protoreflect.Message) (size int) { + methods := protoMethods(m) + if methods != nil && methods.Size != nil { + out := methods.Size(protoiface.SizeInput{ + Message: m, + }) + return out.Size + } + if methods != nil && methods.Marshal != nil { + // This is not efficient, but we don't have any choice. + // This case is mainly used for legacy types with a Marshal method. + out, _ := methods.Marshal(protoiface.MarshalInput{ + Message: m, + }) + return len(out.Buf) + } + return o.sizeMessageSlow(m) +} + +func (o MarshalOptions) sizeMessageSlow(m protoreflect.Message) (size int) { + if messageset.IsMessageSet(m.Descriptor()) { + return o.sizeMessageSet(m) + } + m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + size += o.sizeField(fd, v) + return true + }) + size += len(m.GetUnknown()) + return size +} + +func (o MarshalOptions) sizeField(fd protoreflect.FieldDescriptor, value protoreflect.Value) (size int) { + num := fd.Number() + switch { + case fd.IsList(): + return o.sizeList(num, fd, value.List()) + case fd.IsMap(): + return o.sizeMap(num, fd, value.Map()) + default: + return protowire.SizeTag(num) + o.sizeSingular(num, fd.Kind(), value) + } +} + +func (o MarshalOptions) sizeList(num protowire.Number, fd protoreflect.FieldDescriptor, list protoreflect.List) (size int) { + if fd.IsPacked() && list.Len() > 0 { + content := 0 + for i, llen := 0, list.Len(); i < llen; i++ { + content += o.sizeSingular(num, fd.Kind(), list.Get(i)) + } + return protowire.SizeTag(num) + protowire.SizeBytes(content) + } + + for i, llen := 0, list.Len(); i < llen; i++ { + size += protowire.SizeTag(num) + o.sizeSingular(num, fd.Kind(), list.Get(i)) + } + return size +} + +func (o MarshalOptions) sizeMap(num protowire.Number, fd protoreflect.FieldDescriptor, mapv protoreflect.Map) (size int) { + mapv.Range(func(key protoreflect.MapKey, value protoreflect.Value) bool { + size += protowire.SizeTag(num) + size += protowire.SizeBytes(o.sizeField(fd.MapKey(), key.Value()) + o.sizeField(fd.MapValue(), value)) + return true + }) + return size +} diff --git a/vendor/google.golang.org/protobuf/proto/size_gen.go b/vendor/google.golang.org/protobuf/proto/size_gen.go new file mode 100644 index 000000000..3cf61a824 --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/size_gen.go @@ -0,0 +1,55 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/reflect/protoreflect" +) + +func (o MarshalOptions) sizeSingular(num protowire.Number, kind protoreflect.Kind, v protoreflect.Value) int { + switch kind { + case protoreflect.BoolKind: + return protowire.SizeVarint(protowire.EncodeBool(v.Bool())) + case protoreflect.EnumKind: + return protowire.SizeVarint(uint64(v.Enum())) + case protoreflect.Int32Kind: + return protowire.SizeVarint(uint64(int32(v.Int()))) + case protoreflect.Sint32Kind: + return protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) + case protoreflect.Uint32Kind: + return protowire.SizeVarint(uint64(uint32(v.Uint()))) + case protoreflect.Int64Kind: + return protowire.SizeVarint(uint64(v.Int())) + case protoreflect.Sint64Kind: + return protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) + case protoreflect.Uint64Kind: + return protowire.SizeVarint(v.Uint()) + case protoreflect.Sfixed32Kind: + return protowire.SizeFixed32() + case protoreflect.Fixed32Kind: + return protowire.SizeFixed32() + case protoreflect.FloatKind: + return protowire.SizeFixed32() + case protoreflect.Sfixed64Kind: + return protowire.SizeFixed64() + case protoreflect.Fixed64Kind: + return protowire.SizeFixed64() + case protoreflect.DoubleKind: + return protowire.SizeFixed64() + case protoreflect.StringKind: + return protowire.SizeBytes(len(v.String())) + case protoreflect.BytesKind: + return protowire.SizeBytes(len(v.Bytes())) + case protoreflect.MessageKind: + return protowire.SizeBytes(o.size(v.Message())) + case protoreflect.GroupKind: + return protowire.SizeGroup(num, o.size(v.Message())) + default: + return 0 + } +} diff --git a/vendor/google.golang.org/protobuf/proto/wrappers.go b/vendor/google.golang.org/protobuf/proto/wrappers.go new file mode 100644 index 000000000..653b12c3a --- /dev/null +++ b/vendor/google.golang.org/protobuf/proto/wrappers.go @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +// Bool stores v in a new bool value and returns a pointer to it. +func Bool(v bool) *bool { return &v } + +// Int32 stores v in a new int32 value and returns a pointer to it. +func Int32(v int32) *int32 { return &v } + +// Int64 stores v in a new int64 value and returns a pointer to it. +func Int64(v int64) *int64 { return &v } + +// Float32 stores v in a new float32 value and returns a pointer to it. +func Float32(v float32) *float32 { return &v } + +// Float64 stores v in a new float64 value and returns a pointer to it. +func Float64(v float64) *float64 { return &v } + +// Uint32 stores v in a new uint32 value and returns a pointer to it. +func Uint32(v uint32) *uint32 { return &v } + +// Uint64 stores v in a new uint64 value and returns a pointer to it. +func Uint64(v uint64) *uint64 { return &v } + +// String stores v in a new string value and returns a pointer to it. +func String(v string) *string { return &v } diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go new file mode 100644 index 000000000..e4dfb1205 --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go @@ -0,0 +1,276 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protodesc provides functionality for converting +// FileDescriptorProto messages to/from protoreflect.FileDescriptor values. +// +// The google.protobuf.FileDescriptorProto is a protobuf message that describes +// the type information for a .proto file in a form that is easily serializable. +// The protoreflect.FileDescriptor is a more structured representation of +// the FileDescriptorProto message where references and remote dependencies +// can be directly followed. +package protodesc + +import ( + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + + "google.golang.org/protobuf/types/descriptorpb" +) + +// Resolver is the resolver used by NewFile to resolve dependencies. +// The enums and messages provided must belong to some parent file, +// which is also registered. +// +// It is implemented by protoregistry.Files. +type Resolver interface { + FindFileByPath(string) (protoreflect.FileDescriptor, error) + FindDescriptorByName(protoreflect.FullName) (protoreflect.Descriptor, error) +} + +// FileOptions configures the construction of file descriptors. +type FileOptions struct { + pragma.NoUnkeyedLiterals + + // AllowUnresolvable configures New to permissively allow unresolvable + // file, enum, or message dependencies. Unresolved dependencies are replaced + // by placeholder equivalents. + // + // The following dependencies may be left unresolved: + // • Resolving an imported file. + // • Resolving the type for a message field or extension field. + // If the kind of the field is unknown, then a placeholder is used for both + // the Enum and Message accessors on the protoreflect.FieldDescriptor. + // • Resolving an enum value set as the default for an optional enum field. + // If unresolvable, the protoreflect.FieldDescriptor.Default is set to the + // first value in the associated enum (or zero if the also enum dependency + // is also unresolvable). The protoreflect.FieldDescriptor.DefaultEnumValue + // is populated with a placeholder. + // • Resolving the extended message type for an extension field. + // • Resolving the input or output message type for a service method. + // + // If the unresolved dependency uses a relative name, + // then the placeholder will contain an invalid FullName with a "*." prefix, + // indicating that the starting prefix of the full name is unknown. + AllowUnresolvable bool +} + +// NewFile creates a new protoreflect.FileDescriptor from the provided +// file descriptor message. See FileOptions.New for more information. +func NewFile(fd *descriptorpb.FileDescriptorProto, r Resolver) (protoreflect.FileDescriptor, error) { + return FileOptions{}.New(fd, r) +} + +// NewFiles creates a new protoregistry.Files from the provided +// FileDescriptorSet message. See FileOptions.NewFiles for more information. +func NewFiles(fd *descriptorpb.FileDescriptorSet) (*protoregistry.Files, error) { + return FileOptions{}.NewFiles(fd) +} + +// New creates a new protoreflect.FileDescriptor from the provided +// file descriptor message. The file must represent a valid proto file according +// to protobuf semantics. The returned descriptor is a deep copy of the input. +// +// Any imported files, enum types, or message types referenced in the file are +// resolved using the provided registry. When looking up an import file path, +// the path must be unique. The newly created file descriptor is not registered +// back into the provided file registry. +func (o FileOptions) New(fd *descriptorpb.FileDescriptorProto, r Resolver) (protoreflect.FileDescriptor, error) { + if r == nil { + r = (*protoregistry.Files)(nil) // empty resolver + } + + // Handle the file descriptor content. + f := &filedesc.File{L2: &filedesc.FileL2{}} + switch fd.GetSyntax() { + case "proto2", "": + f.L1.Syntax = protoreflect.Proto2 + case "proto3": + f.L1.Syntax = protoreflect.Proto3 + default: + return nil, errors.New("invalid syntax: %q", fd.GetSyntax()) + } + f.L1.Path = fd.GetName() + if f.L1.Path == "" { + return nil, errors.New("file path must be populated") + } + f.L1.Package = protoreflect.FullName(fd.GetPackage()) + if !f.L1.Package.IsValid() && f.L1.Package != "" { + return nil, errors.New("invalid package: %q", f.L1.Package) + } + if opts := fd.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.FileOptions) + f.L2.Options = func() protoreflect.ProtoMessage { return opts } + } + + f.L2.Imports = make(filedesc.FileImports, len(fd.GetDependency())) + for _, i := range fd.GetPublicDependency() { + if !(0 <= i && int(i) < len(f.L2.Imports)) || f.L2.Imports[i].IsPublic { + return nil, errors.New("invalid or duplicate public import index: %d", i) + } + f.L2.Imports[i].IsPublic = true + } + for _, i := range fd.GetWeakDependency() { + if !(0 <= i && int(i) < len(f.L2.Imports)) || f.L2.Imports[i].IsWeak { + return nil, errors.New("invalid or duplicate weak import index: %d", i) + } + f.L2.Imports[i].IsWeak = true + } + imps := importSet{f.Path(): true} + for i, path := range fd.GetDependency() { + imp := &f.L2.Imports[i] + f, err := r.FindFileByPath(path) + if err == protoregistry.NotFound && (o.AllowUnresolvable || imp.IsWeak) { + f = filedesc.PlaceholderFile(path) + } else if err != nil { + return nil, errors.New("could not resolve import %q: %v", path, err) + } + imp.FileDescriptor = f + + if imps[imp.Path()] { + return nil, errors.New("already imported %q", path) + } + imps[imp.Path()] = true + } + for i := range fd.GetDependency() { + imp := &f.L2.Imports[i] + imps.importPublic(imp.Imports()) + } + + // Handle source locations. + f.L2.Locations.File = f + for _, loc := range fd.GetSourceCodeInfo().GetLocation() { + var l protoreflect.SourceLocation + // TODO: Validate that the path points to an actual declaration? + l.Path = protoreflect.SourcePath(loc.GetPath()) + s := loc.GetSpan() + switch len(s) { + case 3: + l.StartLine, l.StartColumn, l.EndLine, l.EndColumn = int(s[0]), int(s[1]), int(s[0]), int(s[2]) + case 4: + l.StartLine, l.StartColumn, l.EndLine, l.EndColumn = int(s[0]), int(s[1]), int(s[2]), int(s[3]) + default: + return nil, errors.New("invalid span: %v", s) + } + // TODO: Validate that the span information is sensible? + // See https://github.com/protocolbuffers/protobuf/issues/6378. + if false && (l.EndLine < l.StartLine || l.StartLine < 0 || l.StartColumn < 0 || l.EndColumn < 0 || + (l.StartLine == l.EndLine && l.EndColumn <= l.StartColumn)) { + return nil, errors.New("invalid span: %v", s) + } + l.LeadingDetachedComments = loc.GetLeadingDetachedComments() + l.LeadingComments = loc.GetLeadingComments() + l.TrailingComments = loc.GetTrailingComments() + f.L2.Locations.List = append(f.L2.Locations.List, l) + } + + // Step 1: Allocate and derive the names for all declarations. + // This copies all fields from the descriptor proto except: + // google.protobuf.FieldDescriptorProto.type_name + // google.protobuf.FieldDescriptorProto.default_value + // google.protobuf.FieldDescriptorProto.oneof_index + // google.protobuf.FieldDescriptorProto.extendee + // google.protobuf.MethodDescriptorProto.input + // google.protobuf.MethodDescriptorProto.output + var err error + sb := new(strs.Builder) + r1 := make(descsByName) + if f.L1.Enums.List, err = r1.initEnumDeclarations(fd.GetEnumType(), f, sb); err != nil { + return nil, err + } + if f.L1.Messages.List, err = r1.initMessagesDeclarations(fd.GetMessageType(), f, sb); err != nil { + return nil, err + } + if f.L1.Extensions.List, err = r1.initExtensionDeclarations(fd.GetExtension(), f, sb); err != nil { + return nil, err + } + if f.L1.Services.List, err = r1.initServiceDeclarations(fd.GetService(), f, sb); err != nil { + return nil, err + } + + // Step 2: Resolve every dependency reference not handled by step 1. + r2 := &resolver{local: r1, remote: r, imports: imps, allowUnresolvable: o.AllowUnresolvable} + if err := r2.resolveMessageDependencies(f.L1.Messages.List, fd.GetMessageType()); err != nil { + return nil, err + } + if err := r2.resolveExtensionDependencies(f.L1.Extensions.List, fd.GetExtension()); err != nil { + return nil, err + } + if err := r2.resolveServiceDependencies(f.L1.Services.List, fd.GetService()); err != nil { + return nil, err + } + + // Step 3: Validate every enum, message, and extension declaration. + if err := validateEnumDeclarations(f.L1.Enums.List, fd.GetEnumType()); err != nil { + return nil, err + } + if err := validateMessageDeclarations(f.L1.Messages.List, fd.GetMessageType()); err != nil { + return nil, err + } + if err := validateExtensionDeclarations(f.L1.Extensions.List, fd.GetExtension()); err != nil { + return nil, err + } + + return f, nil +} + +type importSet map[string]bool + +func (is importSet) importPublic(imps protoreflect.FileImports) { + for i := 0; i < imps.Len(); i++ { + if imp := imps.Get(i); imp.IsPublic { + is[imp.Path()] = true + is.importPublic(imp.Imports()) + } + } +} + +// NewFiles creates a new protoregistry.Files from the provided +// FileDescriptorSet message. The descriptor set must include only +// valid files according to protobuf semantics. The returned descriptors +// are a deep copy of the input. +func (o FileOptions) NewFiles(fds *descriptorpb.FileDescriptorSet) (*protoregistry.Files, error) { + files := make(map[string]*descriptorpb.FileDescriptorProto) + for _, fd := range fds.File { + if _, ok := files[fd.GetName()]; ok { + return nil, errors.New("file appears multiple times: %q", fd.GetName()) + } + files[fd.GetName()] = fd + } + r := &protoregistry.Files{} + for _, fd := range files { + if err := o.addFileDeps(r, fd, files); err != nil { + return nil, err + } + } + return r, nil +} +func (o FileOptions) addFileDeps(r *protoregistry.Files, fd *descriptorpb.FileDescriptorProto, files map[string]*descriptorpb.FileDescriptorProto) error { + // Set the entry to nil while descending into a file's dependencies to detect cycles. + files[fd.GetName()] = nil + for _, dep := range fd.Dependency { + depfd, ok := files[dep] + if depfd == nil { + if ok { + return errors.New("import cycle in file: %q", dep) + } + continue + } + if err := o.addFileDeps(r, depfd, files); err != nil { + return err + } + } + // Delete the entry once dependencies are processed. + delete(files, fd.GetName()) + f, err := o.New(fd, r) + if err != nil { + return err + } + return r.RegisterFile(f) +} diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go new file mode 100644 index 000000000..37efda1af --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go @@ -0,0 +1,248 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protodesc + +import ( + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + "google.golang.org/protobuf/types/descriptorpb" +) + +type descsByName map[protoreflect.FullName]protoreflect.Descriptor + +func (r descsByName) initEnumDeclarations(eds []*descriptorpb.EnumDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (es []filedesc.Enum, err error) { + es = make([]filedesc.Enum, len(eds)) // allocate up-front to ensure stable pointers + for i, ed := range eds { + e := &es[i] + e.L2 = new(filedesc.EnumL2) + if e.L0, err = r.makeBase(e, parent, ed.GetName(), i, sb); err != nil { + return nil, err + } + if opts := ed.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.EnumOptions) + e.L2.Options = func() protoreflect.ProtoMessage { return opts } + } + for _, s := range ed.GetReservedName() { + e.L2.ReservedNames.List = append(e.L2.ReservedNames.List, protoreflect.Name(s)) + } + for _, rr := range ed.GetReservedRange() { + e.L2.ReservedRanges.List = append(e.L2.ReservedRanges.List, [2]protoreflect.EnumNumber{ + protoreflect.EnumNumber(rr.GetStart()), + protoreflect.EnumNumber(rr.GetEnd()), + }) + } + if e.L2.Values.List, err = r.initEnumValuesFromDescriptorProto(ed.GetValue(), e, sb); err != nil { + return nil, err + } + } + return es, nil +} + +func (r descsByName) initEnumValuesFromDescriptorProto(vds []*descriptorpb.EnumValueDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (vs []filedesc.EnumValue, err error) { + vs = make([]filedesc.EnumValue, len(vds)) // allocate up-front to ensure stable pointers + for i, vd := range vds { + v := &vs[i] + if v.L0, err = r.makeBase(v, parent, vd.GetName(), i, sb); err != nil { + return nil, err + } + if opts := vd.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.EnumValueOptions) + v.L1.Options = func() protoreflect.ProtoMessage { return opts } + } + v.L1.Number = protoreflect.EnumNumber(vd.GetNumber()) + } + return vs, nil +} + +func (r descsByName) initMessagesDeclarations(mds []*descriptorpb.DescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (ms []filedesc.Message, err error) { + ms = make([]filedesc.Message, len(mds)) // allocate up-front to ensure stable pointers + for i, md := range mds { + m := &ms[i] + m.L2 = new(filedesc.MessageL2) + if m.L0, err = r.makeBase(m, parent, md.GetName(), i, sb); err != nil { + return nil, err + } + if opts := md.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.MessageOptions) + m.L2.Options = func() protoreflect.ProtoMessage { return opts } + m.L1.IsMapEntry = opts.GetMapEntry() + m.L1.IsMessageSet = opts.GetMessageSetWireFormat() + } + for _, s := range md.GetReservedName() { + m.L2.ReservedNames.List = append(m.L2.ReservedNames.List, protoreflect.Name(s)) + } + for _, rr := range md.GetReservedRange() { + m.L2.ReservedRanges.List = append(m.L2.ReservedRanges.List, [2]protoreflect.FieldNumber{ + protoreflect.FieldNumber(rr.GetStart()), + protoreflect.FieldNumber(rr.GetEnd()), + }) + } + for _, xr := range md.GetExtensionRange() { + m.L2.ExtensionRanges.List = append(m.L2.ExtensionRanges.List, [2]protoreflect.FieldNumber{ + protoreflect.FieldNumber(xr.GetStart()), + protoreflect.FieldNumber(xr.GetEnd()), + }) + var optsFunc func() protoreflect.ProtoMessage + if opts := xr.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.ExtensionRangeOptions) + optsFunc = func() protoreflect.ProtoMessage { return opts } + } + m.L2.ExtensionRangeOptions = append(m.L2.ExtensionRangeOptions, optsFunc) + } + if m.L2.Fields.List, err = r.initFieldsFromDescriptorProto(md.GetField(), m, sb); err != nil { + return nil, err + } + if m.L2.Oneofs.List, err = r.initOneofsFromDescriptorProto(md.GetOneofDecl(), m, sb); err != nil { + return nil, err + } + if m.L1.Enums.List, err = r.initEnumDeclarations(md.GetEnumType(), m, sb); err != nil { + return nil, err + } + if m.L1.Messages.List, err = r.initMessagesDeclarations(md.GetNestedType(), m, sb); err != nil { + return nil, err + } + if m.L1.Extensions.List, err = r.initExtensionDeclarations(md.GetExtension(), m, sb); err != nil { + return nil, err + } + } + return ms, nil +} + +func (r descsByName) initFieldsFromDescriptorProto(fds []*descriptorpb.FieldDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (fs []filedesc.Field, err error) { + fs = make([]filedesc.Field, len(fds)) // allocate up-front to ensure stable pointers + for i, fd := range fds { + f := &fs[i] + if f.L0, err = r.makeBase(f, parent, fd.GetName(), i, sb); err != nil { + return nil, err + } + f.L1.IsProto3Optional = fd.GetProto3Optional() + if opts := fd.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.FieldOptions) + f.L1.Options = func() protoreflect.ProtoMessage { return opts } + f.L1.IsWeak = opts.GetWeak() + f.L1.HasPacked = opts.Packed != nil + f.L1.IsPacked = opts.GetPacked() + } + f.L1.Number = protoreflect.FieldNumber(fd.GetNumber()) + f.L1.Cardinality = protoreflect.Cardinality(fd.GetLabel()) + if fd.Type != nil { + f.L1.Kind = protoreflect.Kind(fd.GetType()) + } + if fd.JsonName != nil { + f.L1.StringName.InitJSON(fd.GetJsonName()) + } + } + return fs, nil +} + +func (r descsByName) initOneofsFromDescriptorProto(ods []*descriptorpb.OneofDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (os []filedesc.Oneof, err error) { + os = make([]filedesc.Oneof, len(ods)) // allocate up-front to ensure stable pointers + for i, od := range ods { + o := &os[i] + if o.L0, err = r.makeBase(o, parent, od.GetName(), i, sb); err != nil { + return nil, err + } + if opts := od.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.OneofOptions) + o.L1.Options = func() protoreflect.ProtoMessage { return opts } + } + } + return os, nil +} + +func (r descsByName) initExtensionDeclarations(xds []*descriptorpb.FieldDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (xs []filedesc.Extension, err error) { + xs = make([]filedesc.Extension, len(xds)) // allocate up-front to ensure stable pointers + for i, xd := range xds { + x := &xs[i] + x.L2 = new(filedesc.ExtensionL2) + if x.L0, err = r.makeBase(x, parent, xd.GetName(), i, sb); err != nil { + return nil, err + } + if opts := xd.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.FieldOptions) + x.L2.Options = func() protoreflect.ProtoMessage { return opts } + x.L2.IsPacked = opts.GetPacked() + } + x.L1.Number = protoreflect.FieldNumber(xd.GetNumber()) + x.L1.Cardinality = protoreflect.Cardinality(xd.GetLabel()) + if xd.Type != nil { + x.L1.Kind = protoreflect.Kind(xd.GetType()) + } + if xd.JsonName != nil { + x.L2.StringName.InitJSON(xd.GetJsonName()) + } + } + return xs, nil +} + +func (r descsByName) initServiceDeclarations(sds []*descriptorpb.ServiceDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (ss []filedesc.Service, err error) { + ss = make([]filedesc.Service, len(sds)) // allocate up-front to ensure stable pointers + for i, sd := range sds { + s := &ss[i] + s.L2 = new(filedesc.ServiceL2) + if s.L0, err = r.makeBase(s, parent, sd.GetName(), i, sb); err != nil { + return nil, err + } + if opts := sd.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.ServiceOptions) + s.L2.Options = func() protoreflect.ProtoMessage { return opts } + } + if s.L2.Methods.List, err = r.initMethodsFromDescriptorProto(sd.GetMethod(), s, sb); err != nil { + return nil, err + } + } + return ss, nil +} + +func (r descsByName) initMethodsFromDescriptorProto(mds []*descriptorpb.MethodDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (ms []filedesc.Method, err error) { + ms = make([]filedesc.Method, len(mds)) // allocate up-front to ensure stable pointers + for i, md := range mds { + m := &ms[i] + if m.L0, err = r.makeBase(m, parent, md.GetName(), i, sb); err != nil { + return nil, err + } + if opts := md.GetOptions(); opts != nil { + opts = proto.Clone(opts).(*descriptorpb.MethodOptions) + m.L1.Options = func() protoreflect.ProtoMessage { return opts } + } + m.L1.IsStreamingClient = md.GetClientStreaming() + m.L1.IsStreamingServer = md.GetServerStreaming() + } + return ms, nil +} + +func (r descsByName) makeBase(child, parent protoreflect.Descriptor, name string, idx int, sb *strs.Builder) (filedesc.BaseL0, error) { + if !protoreflect.Name(name).IsValid() { + return filedesc.BaseL0{}, errors.New("descriptor %q has an invalid nested name: %q", parent.FullName(), name) + } + + // Derive the full name of the child. + // Note that enum values are a sibling to the enum parent in the namespace. + var fullName protoreflect.FullName + if _, ok := parent.(protoreflect.EnumDescriptor); ok { + fullName = sb.AppendFullName(parent.FullName().Parent(), protoreflect.Name(name)) + } else { + fullName = sb.AppendFullName(parent.FullName(), protoreflect.Name(name)) + } + if _, ok := r[fullName]; ok { + return filedesc.BaseL0{}, errors.New("descriptor %q already declared", fullName) + } + r[fullName] = child + + // TODO: Verify that the full name does not already exist in the resolver? + // This is not as critical since most usages of NewFile will register + // the created file back into the registry, which will perform this check. + + return filedesc.BaseL0{ + FullName: fullName, + ParentFile: parent.ParentFile().(*filedesc.File), + Parent: parent, + Index: idx, + }, nil +} diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go new file mode 100644 index 000000000..cebb36cda --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go @@ -0,0 +1,286 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protodesc + +import ( + "google.golang.org/protobuf/internal/encoding/defval" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + + "google.golang.org/protobuf/types/descriptorpb" +) + +// resolver is a wrapper around a local registry of declarations within the file +// and the remote resolver. The remote resolver is restricted to only return +// descriptors that have been imported. +type resolver struct { + local descsByName + remote Resolver + imports importSet + + allowUnresolvable bool +} + +func (r *resolver) resolveMessageDependencies(ms []filedesc.Message, mds []*descriptorpb.DescriptorProto) (err error) { + for i, md := range mds { + m := &ms[i] + for j, fd := range md.GetField() { + f := &m.L2.Fields.List[j] + if f.L1.Cardinality == protoreflect.Required { + m.L2.RequiredNumbers.List = append(m.L2.RequiredNumbers.List, f.L1.Number) + } + if fd.OneofIndex != nil { + k := int(fd.GetOneofIndex()) + if !(0 <= k && k < len(md.GetOneofDecl())) { + return errors.New("message field %q has an invalid oneof index: %d", f.FullName(), k) + } + o := &m.L2.Oneofs.List[k] + f.L1.ContainingOneof = o + o.L1.Fields.List = append(o.L1.Fields.List, f) + } + + if f.L1.Kind, f.L1.Enum, f.L1.Message, err = r.findTarget(f.Kind(), f.Parent().FullName(), partialName(fd.GetTypeName()), f.IsWeak()); err != nil { + return errors.New("message field %q cannot resolve type: %v", f.FullName(), err) + } + if fd.DefaultValue != nil { + v, ev, err := unmarshalDefault(fd.GetDefaultValue(), f, r.allowUnresolvable) + if err != nil { + return errors.New("message field %q has invalid default: %v", f.FullName(), err) + } + f.L1.Default = filedesc.DefaultValue(v, ev) + } + } + + if err := r.resolveMessageDependencies(m.L1.Messages.List, md.GetNestedType()); err != nil { + return err + } + if err := r.resolveExtensionDependencies(m.L1.Extensions.List, md.GetExtension()); err != nil { + return err + } + } + return nil +} + +func (r *resolver) resolveExtensionDependencies(xs []filedesc.Extension, xds []*descriptorpb.FieldDescriptorProto) (err error) { + for i, xd := range xds { + x := &xs[i] + if x.L1.Extendee, err = r.findMessageDescriptor(x.Parent().FullName(), partialName(xd.GetExtendee()), false); err != nil { + return errors.New("extension field %q cannot resolve extendee: %v", x.FullName(), err) + } + if x.L1.Kind, x.L2.Enum, x.L2.Message, err = r.findTarget(x.Kind(), x.Parent().FullName(), partialName(xd.GetTypeName()), false); err != nil { + return errors.New("extension field %q cannot resolve type: %v", x.FullName(), err) + } + if xd.DefaultValue != nil { + v, ev, err := unmarshalDefault(xd.GetDefaultValue(), x, r.allowUnresolvable) + if err != nil { + return errors.New("extension field %q has invalid default: %v", x.FullName(), err) + } + x.L2.Default = filedesc.DefaultValue(v, ev) + } + } + return nil +} + +func (r *resolver) resolveServiceDependencies(ss []filedesc.Service, sds []*descriptorpb.ServiceDescriptorProto) (err error) { + for i, sd := range sds { + s := &ss[i] + for j, md := range sd.GetMethod() { + m := &s.L2.Methods.List[j] + m.L1.Input, err = r.findMessageDescriptor(m.Parent().FullName(), partialName(md.GetInputType()), false) + if err != nil { + return errors.New("service method %q cannot resolve input: %v", m.FullName(), err) + } + m.L1.Output, err = r.findMessageDescriptor(s.FullName(), partialName(md.GetOutputType()), false) + if err != nil { + return errors.New("service method %q cannot resolve output: %v", m.FullName(), err) + } + } + } + return nil +} + +// findTarget finds an enum or message descriptor if k is an enum, message, +// group, or unknown. If unknown, and the name could be resolved, the kind +// returned kind is set based on the type of the resolved descriptor. +func (r *resolver) findTarget(k protoreflect.Kind, scope protoreflect.FullName, ref partialName, isWeak bool) (protoreflect.Kind, protoreflect.EnumDescriptor, protoreflect.MessageDescriptor, error) { + switch k { + case protoreflect.EnumKind: + ed, err := r.findEnumDescriptor(scope, ref, isWeak) + if err != nil { + return 0, nil, nil, err + } + return k, ed, nil, nil + case protoreflect.MessageKind, protoreflect.GroupKind: + md, err := r.findMessageDescriptor(scope, ref, isWeak) + if err != nil { + return 0, nil, nil, err + } + return k, nil, md, nil + case 0: + // Handle unspecified kinds (possible with parsers that operate + // on a per-file basis without knowledge of dependencies). + d, err := r.findDescriptor(scope, ref) + if err == protoregistry.NotFound && (r.allowUnresolvable || isWeak) { + return k, filedesc.PlaceholderEnum(ref.FullName()), filedesc.PlaceholderMessage(ref.FullName()), nil + } else if err == protoregistry.NotFound { + return 0, nil, nil, errors.New("%q not found", ref.FullName()) + } else if err != nil { + return 0, nil, nil, err + } + switch d := d.(type) { + case protoreflect.EnumDescriptor: + return protoreflect.EnumKind, d, nil, nil + case protoreflect.MessageDescriptor: + return protoreflect.MessageKind, nil, d, nil + default: + return 0, nil, nil, errors.New("unknown kind") + } + default: + if ref != "" { + return 0, nil, nil, errors.New("target name cannot be specified for %v", k) + } + if !k.IsValid() { + return 0, nil, nil, errors.New("invalid kind: %d", k) + } + return k, nil, nil, nil + } +} + +// findDescriptor finds the descriptor by name, +// which may be a relative name within some scope. +// +// Suppose the scope was "fizz.buzz" and the reference was "Foo.Bar", +// then the following full names are searched: +// * fizz.buzz.Foo.Bar +// * fizz.Foo.Bar +// * Foo.Bar +func (r *resolver) findDescriptor(scope protoreflect.FullName, ref partialName) (protoreflect.Descriptor, error) { + if !ref.IsValid() { + return nil, errors.New("invalid name reference: %q", ref) + } + if ref.IsFull() { + scope, ref = "", ref[1:] + } + var foundButNotImported protoreflect.Descriptor + for { + // Derive the full name to search. + s := protoreflect.FullName(ref) + if scope != "" { + s = scope + "." + s + } + + // Check the current file for the descriptor. + if d, ok := r.local[s]; ok { + return d, nil + } + + // Check the remote registry for the descriptor. + d, err := r.remote.FindDescriptorByName(s) + if err == nil { + // Only allow descriptors covered by one of the imports. + if r.imports[d.ParentFile().Path()] { + return d, nil + } + foundButNotImported = d + } else if err != protoregistry.NotFound { + return nil, errors.Wrap(err, "%q", s) + } + + // Continue on at a higher level of scoping. + if scope == "" { + if d := foundButNotImported; d != nil { + return nil, errors.New("resolved %q, but %q is not imported", d.FullName(), d.ParentFile().Path()) + } + return nil, protoregistry.NotFound + } + scope = scope.Parent() + } +} + +func (r *resolver) findEnumDescriptor(scope protoreflect.FullName, ref partialName, isWeak bool) (protoreflect.EnumDescriptor, error) { + d, err := r.findDescriptor(scope, ref) + if err == protoregistry.NotFound && (r.allowUnresolvable || isWeak) { + return filedesc.PlaceholderEnum(ref.FullName()), nil + } else if err == protoregistry.NotFound { + return nil, errors.New("%q not found", ref.FullName()) + } else if err != nil { + return nil, err + } + ed, ok := d.(protoreflect.EnumDescriptor) + if !ok { + return nil, errors.New("resolved %q, but it is not an enum", d.FullName()) + } + return ed, nil +} + +func (r *resolver) findMessageDescriptor(scope protoreflect.FullName, ref partialName, isWeak bool) (protoreflect.MessageDescriptor, error) { + d, err := r.findDescriptor(scope, ref) + if err == protoregistry.NotFound && (r.allowUnresolvable || isWeak) { + return filedesc.PlaceholderMessage(ref.FullName()), nil + } else if err == protoregistry.NotFound { + return nil, errors.New("%q not found", ref.FullName()) + } else if err != nil { + return nil, err + } + md, ok := d.(protoreflect.MessageDescriptor) + if !ok { + return nil, errors.New("resolved %q, but it is not an message", d.FullName()) + } + return md, nil +} + +// partialName is the partial name. A leading dot means that the name is full, +// otherwise the name is relative to some current scope. +// See google.protobuf.FieldDescriptorProto.type_name. +type partialName string + +func (s partialName) IsFull() bool { + return len(s) > 0 && s[0] == '.' +} + +func (s partialName) IsValid() bool { + if s.IsFull() { + return protoreflect.FullName(s[1:]).IsValid() + } + return protoreflect.FullName(s).IsValid() +} + +const unknownPrefix = "*." + +// FullName converts the partial name to a full name on a best-effort basis. +// If relative, it creates an invalid full name, using a "*." prefix +// to indicate that the start of the full name is unknown. +func (s partialName) FullName() protoreflect.FullName { + if s.IsFull() { + return protoreflect.FullName(s[1:]) + } + return protoreflect.FullName(unknownPrefix + s) +} + +func unmarshalDefault(s string, fd protoreflect.FieldDescriptor, allowUnresolvable bool) (protoreflect.Value, protoreflect.EnumValueDescriptor, error) { + var evs protoreflect.EnumValueDescriptors + if fd.Enum() != nil { + evs = fd.Enum().Values() + } + v, ev, err := defval.Unmarshal(s, fd.Kind(), evs, defval.Descriptor) + if err != nil && allowUnresolvable && evs != nil && protoreflect.Name(s).IsValid() { + v = protoreflect.ValueOfEnum(0) + if evs.Len() > 0 { + v = protoreflect.ValueOfEnum(evs.Get(0).Number()) + } + ev = filedesc.PlaceholderEnumValue(fd.Enum().FullName().Parent().Append(protoreflect.Name(s))) + } else if err != nil { + return v, ev, err + } + if fd.Syntax() == protoreflect.Proto3 { + return v, ev, errors.New("cannot be specified under proto3 semantics") + } + if fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind || fd.Cardinality() == protoreflect.Repeated { + return v, ev, errors.New("cannot be specified on composite types") + } + return v, ev, nil +} diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go new file mode 100644 index 000000000..9af1d5648 --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go @@ -0,0 +1,374 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protodesc + +import ( + "strings" + "unicode" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" + + "google.golang.org/protobuf/types/descriptorpb" +) + +func validateEnumDeclarations(es []filedesc.Enum, eds []*descriptorpb.EnumDescriptorProto) error { + for i, ed := range eds { + e := &es[i] + if err := e.L2.ReservedNames.CheckValid(); err != nil { + return errors.New("enum %q reserved names has %v", e.FullName(), err) + } + if err := e.L2.ReservedRanges.CheckValid(); err != nil { + return errors.New("enum %q reserved ranges has %v", e.FullName(), err) + } + if len(ed.GetValue()) == 0 { + return errors.New("enum %q must contain at least one value declaration", e.FullName()) + } + allowAlias := ed.GetOptions().GetAllowAlias() + foundAlias := false + for i := 0; i < e.Values().Len(); i++ { + v1 := e.Values().Get(i) + if v2 := e.Values().ByNumber(v1.Number()); v1 != v2 { + foundAlias = true + if !allowAlias { + return errors.New("enum %q has conflicting non-aliased values on number %d: %q with %q", e.FullName(), v1.Number(), v1.Name(), v2.Name()) + } + } + } + if allowAlias && !foundAlias { + return errors.New("enum %q allows aliases, but none were found", e.FullName()) + } + if e.Syntax() == protoreflect.Proto3 { + if v := e.Values().Get(0); v.Number() != 0 { + return errors.New("enum %q using proto3 semantics must have zero number for the first value", v.FullName()) + } + // Verify that value names in proto3 do not conflict if the + // case-insensitive prefix is removed. + // See protoc v3.8.0: src/google/protobuf/descriptor.cc:4991-5055 + names := map[string]protoreflect.EnumValueDescriptor{} + prefix := strings.Replace(strings.ToLower(string(e.Name())), "_", "", -1) + for i := 0; i < e.Values().Len(); i++ { + v1 := e.Values().Get(i) + s := strs.EnumValueName(strs.TrimEnumPrefix(string(v1.Name()), prefix)) + if v2, ok := names[s]; ok && v1.Number() != v2.Number() { + return errors.New("enum %q using proto3 semantics has conflict: %q with %q", e.FullName(), v1.Name(), v2.Name()) + } + names[s] = v1 + } + } + + for j, vd := range ed.GetValue() { + v := &e.L2.Values.List[j] + if vd.Number == nil { + return errors.New("enum value %q must have a specified number", v.FullName()) + } + if e.L2.ReservedNames.Has(v.Name()) { + return errors.New("enum value %q must not use reserved name", v.FullName()) + } + if e.L2.ReservedRanges.Has(v.Number()) { + return errors.New("enum value %q must not use reserved number %d", v.FullName(), v.Number()) + } + } + } + return nil +} + +func validateMessageDeclarations(ms []filedesc.Message, mds []*descriptorpb.DescriptorProto) error { + for i, md := range mds { + m := &ms[i] + + // Handle the message descriptor itself. + isMessageSet := md.GetOptions().GetMessageSetWireFormat() + if err := m.L2.ReservedNames.CheckValid(); err != nil { + return errors.New("message %q reserved names has %v", m.FullName(), err) + } + if err := m.L2.ReservedRanges.CheckValid(isMessageSet); err != nil { + return errors.New("message %q reserved ranges has %v", m.FullName(), err) + } + if err := m.L2.ExtensionRanges.CheckValid(isMessageSet); err != nil { + return errors.New("message %q extension ranges has %v", m.FullName(), err) + } + if err := (*filedesc.FieldRanges).CheckOverlap(&m.L2.ReservedRanges, &m.L2.ExtensionRanges); err != nil { + return errors.New("message %q reserved and extension ranges has %v", m.FullName(), err) + } + for i := 0; i < m.Fields().Len(); i++ { + f1 := m.Fields().Get(i) + if f2 := m.Fields().ByNumber(f1.Number()); f1 != f2 { + return errors.New("message %q has conflicting fields: %q with %q", m.FullName(), f1.Name(), f2.Name()) + } + } + if isMessageSet && !flags.ProtoLegacy { + return errors.New("message %q is a MessageSet, which is a legacy proto1 feature that is no longer supported", m.FullName()) + } + if isMessageSet && (m.Syntax() != protoreflect.Proto2 || m.Fields().Len() > 0 || m.ExtensionRanges().Len() == 0) { + return errors.New("message %q is an invalid proto1 MessageSet", m.FullName()) + } + if m.Syntax() == protoreflect.Proto3 { + if m.ExtensionRanges().Len() > 0 { + return errors.New("message %q using proto3 semantics cannot have extension ranges", m.FullName()) + } + // Verify that field names in proto3 do not conflict if lowercased + // with all underscores removed. + // See protoc v3.8.0: src/google/protobuf/descriptor.cc:5830-5847 + names := map[string]protoreflect.FieldDescriptor{} + for i := 0; i < m.Fields().Len(); i++ { + f1 := m.Fields().Get(i) + s := strings.Replace(strings.ToLower(string(f1.Name())), "_", "", -1) + if f2, ok := names[s]; ok { + return errors.New("message %q using proto3 semantics has conflict: %q with %q", m.FullName(), f1.Name(), f2.Name()) + } + names[s] = f1 + } + } + + for j, fd := range md.GetField() { + f := &m.L2.Fields.List[j] + if m.L2.ReservedNames.Has(f.Name()) { + return errors.New("message field %q must not use reserved name", f.FullName()) + } + if !f.Number().IsValid() { + return errors.New("message field %q has an invalid number: %d", f.FullName(), f.Number()) + } + if !f.Cardinality().IsValid() { + return errors.New("message field %q has an invalid cardinality: %d", f.FullName(), f.Cardinality()) + } + if m.L2.ReservedRanges.Has(f.Number()) { + return errors.New("message field %q must not use reserved number %d", f.FullName(), f.Number()) + } + if m.L2.ExtensionRanges.Has(f.Number()) { + return errors.New("message field %q with number %d in extension range", f.FullName(), f.Number()) + } + if fd.Extendee != nil { + return errors.New("message field %q may not have extendee: %q", f.FullName(), fd.GetExtendee()) + } + if f.L1.IsProto3Optional { + if f.Syntax() != protoreflect.Proto3 { + return errors.New("message field %q under proto3 optional semantics must be specified in the proto3 syntax", f.FullName()) + } + if f.Cardinality() != protoreflect.Optional { + return errors.New("message field %q under proto3 optional semantics must have optional cardinality", f.FullName()) + } + if f.ContainingOneof() != nil && f.ContainingOneof().Fields().Len() != 1 { + return errors.New("message field %q under proto3 optional semantics must be within a single element oneof", f.FullName()) + } + } + if f.IsWeak() && !flags.ProtoLegacy { + return errors.New("message field %q is a weak field, which is a legacy proto1 feature that is no longer supported", f.FullName()) + } + if f.IsWeak() && (f.Syntax() != protoreflect.Proto2 || !isOptionalMessage(f) || f.ContainingOneof() != nil) { + return errors.New("message field %q may only be weak for an optional message", f.FullName()) + } + if f.IsPacked() && !isPackable(f) { + return errors.New("message field %q is not packable", f.FullName()) + } + if err := checkValidGroup(f); err != nil { + return errors.New("message field %q is an invalid group: %v", f.FullName(), err) + } + if err := checkValidMap(f); err != nil { + return errors.New("message field %q is an invalid map: %v", f.FullName(), err) + } + if f.Syntax() == protoreflect.Proto3 { + if f.Cardinality() == protoreflect.Required { + return errors.New("message field %q using proto3 semantics cannot be required", f.FullName()) + } + if f.Enum() != nil && !f.Enum().IsPlaceholder() && f.Enum().Syntax() != protoreflect.Proto3 { + return errors.New("message field %q using proto3 semantics may only depend on a proto3 enum", f.FullName()) + } + } + } + seenSynthetic := false // synthetic oneofs for proto3 optional must come after real oneofs + for j := range md.GetOneofDecl() { + o := &m.L2.Oneofs.List[j] + if o.Fields().Len() == 0 { + return errors.New("message oneof %q must contain at least one field declaration", o.FullName()) + } + if n := o.Fields().Len(); n-1 != (o.Fields().Get(n-1).Index() - o.Fields().Get(0).Index()) { + return errors.New("message oneof %q must have consecutively declared fields", o.FullName()) + } + + if o.IsSynthetic() { + seenSynthetic = true + continue + } + if !o.IsSynthetic() && seenSynthetic { + return errors.New("message oneof %q must be declared before synthetic oneofs", o.FullName()) + } + + for i := 0; i < o.Fields().Len(); i++ { + f := o.Fields().Get(i) + if f.Cardinality() != protoreflect.Optional { + return errors.New("message field %q belongs in a oneof and must be optional", f.FullName()) + } + if f.IsWeak() { + return errors.New("message field %q belongs in a oneof and must not be a weak reference", f.FullName()) + } + } + } + + if err := validateEnumDeclarations(m.L1.Enums.List, md.GetEnumType()); err != nil { + return err + } + if err := validateMessageDeclarations(m.L1.Messages.List, md.GetNestedType()); err != nil { + return err + } + if err := validateExtensionDeclarations(m.L1.Extensions.List, md.GetExtension()); err != nil { + return err + } + } + return nil +} + +func validateExtensionDeclarations(xs []filedesc.Extension, xds []*descriptorpb.FieldDescriptorProto) error { + for i, xd := range xds { + x := &xs[i] + // NOTE: Avoid using the IsValid method since extensions to MessageSet + // may have a field number higher than normal. This check only verifies + // that the number is not negative or reserved. We check again later + // if we know that the extendee is definitely not a MessageSet. + if n := x.Number(); n < 0 || (protowire.FirstReservedNumber <= n && n <= protowire.LastReservedNumber) { + return errors.New("extension field %q has an invalid number: %d", x.FullName(), x.Number()) + } + if !x.Cardinality().IsValid() || x.Cardinality() == protoreflect.Required { + return errors.New("extension field %q has an invalid cardinality: %d", x.FullName(), x.Cardinality()) + } + if xd.JsonName != nil { + // A bug in older versions of protoc would always populate the + // "json_name" option for extensions when it is meaningless. + // When it did so, it would always use the camel-cased field name. + if xd.GetJsonName() != strs.JSONCamelCase(string(x.Name())) { + return errors.New("extension field %q may not have an explicitly set JSON name: %q", x.FullName(), xd.GetJsonName()) + } + } + if xd.OneofIndex != nil { + return errors.New("extension field %q may not be part of a oneof", x.FullName()) + } + if md := x.ContainingMessage(); !md.IsPlaceholder() { + if !md.ExtensionRanges().Has(x.Number()) { + return errors.New("extension field %q extends %q with non-extension field number: %d", x.FullName(), md.FullName(), x.Number()) + } + isMessageSet := md.Options().(*descriptorpb.MessageOptions).GetMessageSetWireFormat() + if isMessageSet && !isOptionalMessage(x) { + return errors.New("extension field %q extends MessageSet and must be an optional message", x.FullName()) + } + if !isMessageSet && !x.Number().IsValid() { + return errors.New("extension field %q has an invalid number: %d", x.FullName(), x.Number()) + } + } + if xd.GetOptions().GetWeak() { + return errors.New("extension field %q cannot be a weak reference", x.FullName()) + } + if x.IsPacked() && !isPackable(x) { + return errors.New("extension field %q is not packable", x.FullName()) + } + if err := checkValidGroup(x); err != nil { + return errors.New("extension field %q is an invalid group: %v", x.FullName(), err) + } + if md := x.Message(); md != nil && md.IsMapEntry() { + return errors.New("extension field %q cannot be a map entry", x.FullName()) + } + if x.Syntax() == protoreflect.Proto3 { + switch x.ContainingMessage().FullName() { + case (*descriptorpb.FileOptions)(nil).ProtoReflect().Descriptor().FullName(): + case (*descriptorpb.EnumOptions)(nil).ProtoReflect().Descriptor().FullName(): + case (*descriptorpb.EnumValueOptions)(nil).ProtoReflect().Descriptor().FullName(): + case (*descriptorpb.MessageOptions)(nil).ProtoReflect().Descriptor().FullName(): + case (*descriptorpb.FieldOptions)(nil).ProtoReflect().Descriptor().FullName(): + case (*descriptorpb.OneofOptions)(nil).ProtoReflect().Descriptor().FullName(): + case (*descriptorpb.ExtensionRangeOptions)(nil).ProtoReflect().Descriptor().FullName(): + case (*descriptorpb.ServiceOptions)(nil).ProtoReflect().Descriptor().FullName(): + case (*descriptorpb.MethodOptions)(nil).ProtoReflect().Descriptor().FullName(): + default: + return errors.New("extension field %q cannot be declared in proto3 unless extended descriptor options", x.FullName()) + } + } + } + return nil +} + +// isOptionalMessage reports whether this is an optional message. +// If the kind is unknown, it is assumed to be a message. +func isOptionalMessage(fd protoreflect.FieldDescriptor) bool { + return (fd.Kind() == 0 || fd.Kind() == protoreflect.MessageKind) && fd.Cardinality() == protoreflect.Optional +} + +// isPackable checks whether the pack option can be specified. +func isPackable(fd protoreflect.FieldDescriptor) bool { + switch fd.Kind() { + case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind: + return false + } + return fd.IsList() +} + +// checkValidGroup reports whether fd is a valid group according to the same +// rules that protoc imposes. +func checkValidGroup(fd protoreflect.FieldDescriptor) error { + md := fd.Message() + switch { + case fd.Kind() != protoreflect.GroupKind: + return nil + case fd.Syntax() != protoreflect.Proto2: + return errors.New("invalid under proto2 semantics") + case md == nil || md.IsPlaceholder(): + return errors.New("message must be resolvable") + case fd.FullName().Parent() != md.FullName().Parent(): + return errors.New("message and field must be declared in the same scope") + case !unicode.IsUpper(rune(md.Name()[0])): + return errors.New("message name must start with an uppercase") + case fd.Name() != protoreflect.Name(strings.ToLower(string(md.Name()))): + return errors.New("field name must be lowercased form of the message name") + } + return nil +} + +// checkValidMap checks whether the field is a valid map according to the same +// rules that protoc imposes. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:6045-6115 +func checkValidMap(fd protoreflect.FieldDescriptor) error { + md := fd.Message() + switch { + case md == nil || !md.IsMapEntry(): + return nil + case fd.FullName().Parent() != md.FullName().Parent(): + return errors.New("message and field must be declared in the same scope") + case md.Name() != protoreflect.Name(strs.MapEntryName(string(fd.Name()))): + return errors.New("incorrect implicit map entry name") + case fd.Cardinality() != protoreflect.Repeated: + return errors.New("field must be repeated") + case md.Fields().Len() != 2: + return errors.New("message must have exactly two fields") + case md.ExtensionRanges().Len() > 0: + return errors.New("message must not have any extension ranges") + case md.Enums().Len()+md.Messages().Len()+md.Extensions().Len() > 0: + return errors.New("message must not have any nested declarations") + } + kf := md.Fields().Get(0) + vf := md.Fields().Get(1) + switch { + case kf.Name() != genid.MapEntry_Key_field_name || kf.Number() != genid.MapEntry_Key_field_number || kf.Cardinality() != protoreflect.Optional || kf.ContainingOneof() != nil || kf.HasDefault(): + return errors.New("invalid key field") + case vf.Name() != genid.MapEntry_Value_field_name || vf.Number() != genid.MapEntry_Value_field_number || vf.Cardinality() != protoreflect.Optional || vf.ContainingOneof() != nil || vf.HasDefault(): + return errors.New("invalid value field") + } + switch kf.Kind() { + case protoreflect.BoolKind: // bool + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: // int32 + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: // int64 + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: // uint32 + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: // uint64 + case protoreflect.StringKind: // string + default: + return errors.New("invalid key kind: %v", kf.Kind()) + } + if e := vf.Enum(); e != nil && e.Values().Len() > 0 && e.Values().Get(0).Number() != 0 { + return errors.New("map enum value must have zero number for the first value") + } + return nil +} diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go b/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go new file mode 100644 index 000000000..a7c5ceffc --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go @@ -0,0 +1,252 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protodesc + +import ( + "fmt" + "strings" + + "google.golang.org/protobuf/internal/encoding/defval" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + "google.golang.org/protobuf/types/descriptorpb" +) + +// ToFileDescriptorProto copies a protoreflect.FileDescriptor into a +// google.protobuf.FileDescriptorProto message. +func ToFileDescriptorProto(file protoreflect.FileDescriptor) *descriptorpb.FileDescriptorProto { + p := &descriptorpb.FileDescriptorProto{ + Name: proto.String(file.Path()), + Options: proto.Clone(file.Options()).(*descriptorpb.FileOptions), + } + if file.Package() != "" { + p.Package = proto.String(string(file.Package())) + } + for i, imports := 0, file.Imports(); i < imports.Len(); i++ { + imp := imports.Get(i) + p.Dependency = append(p.Dependency, imp.Path()) + if imp.IsPublic { + p.PublicDependency = append(p.PublicDependency, int32(i)) + } + if imp.IsWeak { + p.WeakDependency = append(p.WeakDependency, int32(i)) + } + } + for i, locs := 0, file.SourceLocations(); i < locs.Len(); i++ { + loc := locs.Get(i) + l := &descriptorpb.SourceCodeInfo_Location{} + l.Path = append(l.Path, loc.Path...) + if loc.StartLine == loc.EndLine { + l.Span = []int32{int32(loc.StartLine), int32(loc.StartColumn), int32(loc.EndColumn)} + } else { + l.Span = []int32{int32(loc.StartLine), int32(loc.StartColumn), int32(loc.EndLine), int32(loc.EndColumn)} + } + l.LeadingDetachedComments = append([]string(nil), loc.LeadingDetachedComments...) + if loc.LeadingComments != "" { + l.LeadingComments = proto.String(loc.LeadingComments) + } + if loc.TrailingComments != "" { + l.TrailingComments = proto.String(loc.TrailingComments) + } + if p.SourceCodeInfo == nil { + p.SourceCodeInfo = &descriptorpb.SourceCodeInfo{} + } + p.SourceCodeInfo.Location = append(p.SourceCodeInfo.Location, l) + + } + for i, messages := 0, file.Messages(); i < messages.Len(); i++ { + p.MessageType = append(p.MessageType, ToDescriptorProto(messages.Get(i))) + } + for i, enums := 0, file.Enums(); i < enums.Len(); i++ { + p.EnumType = append(p.EnumType, ToEnumDescriptorProto(enums.Get(i))) + } + for i, services := 0, file.Services(); i < services.Len(); i++ { + p.Service = append(p.Service, ToServiceDescriptorProto(services.Get(i))) + } + for i, exts := 0, file.Extensions(); i < exts.Len(); i++ { + p.Extension = append(p.Extension, ToFieldDescriptorProto(exts.Get(i))) + } + if syntax := file.Syntax(); syntax != protoreflect.Proto2 { + p.Syntax = proto.String(file.Syntax().String()) + } + return p +} + +// ToDescriptorProto copies a protoreflect.MessageDescriptor into a +// google.protobuf.DescriptorProto message. +func ToDescriptorProto(message protoreflect.MessageDescriptor) *descriptorpb.DescriptorProto { + p := &descriptorpb.DescriptorProto{ + Name: proto.String(string(message.Name())), + Options: proto.Clone(message.Options()).(*descriptorpb.MessageOptions), + } + for i, fields := 0, message.Fields(); i < fields.Len(); i++ { + p.Field = append(p.Field, ToFieldDescriptorProto(fields.Get(i))) + } + for i, exts := 0, message.Extensions(); i < exts.Len(); i++ { + p.Extension = append(p.Extension, ToFieldDescriptorProto(exts.Get(i))) + } + for i, messages := 0, message.Messages(); i < messages.Len(); i++ { + p.NestedType = append(p.NestedType, ToDescriptorProto(messages.Get(i))) + } + for i, enums := 0, message.Enums(); i < enums.Len(); i++ { + p.EnumType = append(p.EnumType, ToEnumDescriptorProto(enums.Get(i))) + } + for i, xranges := 0, message.ExtensionRanges(); i < xranges.Len(); i++ { + xrange := xranges.Get(i) + p.ExtensionRange = append(p.ExtensionRange, &descriptorpb.DescriptorProto_ExtensionRange{ + Start: proto.Int32(int32(xrange[0])), + End: proto.Int32(int32(xrange[1])), + Options: proto.Clone(message.ExtensionRangeOptions(i)).(*descriptorpb.ExtensionRangeOptions), + }) + } + for i, oneofs := 0, message.Oneofs(); i < oneofs.Len(); i++ { + p.OneofDecl = append(p.OneofDecl, ToOneofDescriptorProto(oneofs.Get(i))) + } + for i, ranges := 0, message.ReservedRanges(); i < ranges.Len(); i++ { + rrange := ranges.Get(i) + p.ReservedRange = append(p.ReservedRange, &descriptorpb.DescriptorProto_ReservedRange{ + Start: proto.Int32(int32(rrange[0])), + End: proto.Int32(int32(rrange[1])), + }) + } + for i, names := 0, message.ReservedNames(); i < names.Len(); i++ { + p.ReservedName = append(p.ReservedName, string(names.Get(i))) + } + return p +} + +// ToFieldDescriptorProto copies a protoreflect.FieldDescriptor into a +// google.protobuf.FieldDescriptorProto message. +func ToFieldDescriptorProto(field protoreflect.FieldDescriptor) *descriptorpb.FieldDescriptorProto { + p := &descriptorpb.FieldDescriptorProto{ + Name: proto.String(string(field.Name())), + Number: proto.Int32(int32(field.Number())), + Label: descriptorpb.FieldDescriptorProto_Label(field.Cardinality()).Enum(), + Options: proto.Clone(field.Options()).(*descriptorpb.FieldOptions), + } + if field.IsExtension() { + p.Extendee = fullNameOf(field.ContainingMessage()) + } + if field.Kind().IsValid() { + p.Type = descriptorpb.FieldDescriptorProto_Type(field.Kind()).Enum() + } + if field.Enum() != nil { + p.TypeName = fullNameOf(field.Enum()) + } + if field.Message() != nil { + p.TypeName = fullNameOf(field.Message()) + } + if field.HasJSONName() { + // A bug in older versions of protoc would always populate the + // "json_name" option for extensions when it is meaningless. + // When it did so, it would always use the camel-cased field name. + if field.IsExtension() { + p.JsonName = proto.String(strs.JSONCamelCase(string(field.Name()))) + } else { + p.JsonName = proto.String(field.JSONName()) + } + } + if field.Syntax() == protoreflect.Proto3 && field.HasOptionalKeyword() { + p.Proto3Optional = proto.Bool(true) + } + if field.HasDefault() { + def, err := defval.Marshal(field.Default(), field.DefaultEnumValue(), field.Kind(), defval.Descriptor) + if err != nil && field.DefaultEnumValue() != nil { + def = string(field.DefaultEnumValue().Name()) // occurs for unresolved enum values + } else if err != nil { + panic(fmt.Sprintf("%v: %v", field.FullName(), err)) + } + p.DefaultValue = proto.String(def) + } + if oneof := field.ContainingOneof(); oneof != nil { + p.OneofIndex = proto.Int32(int32(oneof.Index())) + } + return p +} + +// ToOneofDescriptorProto copies a protoreflect.OneofDescriptor into a +// google.protobuf.OneofDescriptorProto message. +func ToOneofDescriptorProto(oneof protoreflect.OneofDescriptor) *descriptorpb.OneofDescriptorProto { + return &descriptorpb.OneofDescriptorProto{ + Name: proto.String(string(oneof.Name())), + Options: proto.Clone(oneof.Options()).(*descriptorpb.OneofOptions), + } +} + +// ToEnumDescriptorProto copies a protoreflect.EnumDescriptor into a +// google.protobuf.EnumDescriptorProto message. +func ToEnumDescriptorProto(enum protoreflect.EnumDescriptor) *descriptorpb.EnumDescriptorProto { + p := &descriptorpb.EnumDescriptorProto{ + Name: proto.String(string(enum.Name())), + Options: proto.Clone(enum.Options()).(*descriptorpb.EnumOptions), + } + for i, values := 0, enum.Values(); i < values.Len(); i++ { + p.Value = append(p.Value, ToEnumValueDescriptorProto(values.Get(i))) + } + for i, ranges := 0, enum.ReservedRanges(); i < ranges.Len(); i++ { + rrange := ranges.Get(i) + p.ReservedRange = append(p.ReservedRange, &descriptorpb.EnumDescriptorProto_EnumReservedRange{ + Start: proto.Int32(int32(rrange[0])), + End: proto.Int32(int32(rrange[1])), + }) + } + for i, names := 0, enum.ReservedNames(); i < names.Len(); i++ { + p.ReservedName = append(p.ReservedName, string(names.Get(i))) + } + return p +} + +// ToEnumValueDescriptorProto copies a protoreflect.EnumValueDescriptor into a +// google.protobuf.EnumValueDescriptorProto message. +func ToEnumValueDescriptorProto(value protoreflect.EnumValueDescriptor) *descriptorpb.EnumValueDescriptorProto { + return &descriptorpb.EnumValueDescriptorProto{ + Name: proto.String(string(value.Name())), + Number: proto.Int32(int32(value.Number())), + Options: proto.Clone(value.Options()).(*descriptorpb.EnumValueOptions), + } +} + +// ToServiceDescriptorProto copies a protoreflect.ServiceDescriptor into a +// google.protobuf.ServiceDescriptorProto message. +func ToServiceDescriptorProto(service protoreflect.ServiceDescriptor) *descriptorpb.ServiceDescriptorProto { + p := &descriptorpb.ServiceDescriptorProto{ + Name: proto.String(string(service.Name())), + Options: proto.Clone(service.Options()).(*descriptorpb.ServiceOptions), + } + for i, methods := 0, service.Methods(); i < methods.Len(); i++ { + p.Method = append(p.Method, ToMethodDescriptorProto(methods.Get(i))) + } + return p +} + +// ToMethodDescriptorProto copies a protoreflect.MethodDescriptor into a +// google.protobuf.MethodDescriptorProto message. +func ToMethodDescriptorProto(method protoreflect.MethodDescriptor) *descriptorpb.MethodDescriptorProto { + p := &descriptorpb.MethodDescriptorProto{ + Name: proto.String(string(method.Name())), + InputType: fullNameOf(method.Input()), + OutputType: fullNameOf(method.Output()), + Options: proto.Clone(method.Options()).(*descriptorpb.MethodOptions), + } + if method.IsStreamingClient() { + p.ClientStreaming = proto.Bool(true) + } + if method.IsStreamingServer() { + p.ServerStreaming = proto.Bool(true) + } + return p +} + +func fullNameOf(d protoreflect.Descriptor) *string { + if d == nil { + return nil + } + if strings.HasPrefix(string(d.FullName()), unknownPrefix) { + return proto.String(string(d.FullName()[len(unknownPrefix):])) + } + return proto.String("." + string(d.FullName())) +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go new file mode 100644 index 000000000..6be5d16e9 --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go @@ -0,0 +1,77 @@ +// Copyright 2020 The Go 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 protoreflect + +import ( + "google.golang.org/protobuf/internal/pragma" +) + +// The following types are used by the fast-path Message.ProtoMethods method. +// +// To avoid polluting the public protoreflect API with types used only by +// low-level implementations, the canonical definitions of these types are +// in the runtime/protoiface package. The definitions here and in protoiface +// must be kept in sync. +type ( + methods = struct { + pragma.NoUnkeyedLiterals + Flags supportFlags + Size func(sizeInput) sizeOutput + Marshal func(marshalInput) (marshalOutput, error) + Unmarshal func(unmarshalInput) (unmarshalOutput, error) + Merge func(mergeInput) mergeOutput + CheckInitialized func(checkInitializedInput) (checkInitializedOutput, error) + } + supportFlags = uint64 + sizeInput = struct { + pragma.NoUnkeyedLiterals + Message Message + Flags uint8 + } + sizeOutput = struct { + pragma.NoUnkeyedLiterals + Size int + } + marshalInput = struct { + pragma.NoUnkeyedLiterals + Message Message + Buf []byte + Flags uint8 + } + marshalOutput = struct { + pragma.NoUnkeyedLiterals + Buf []byte + } + unmarshalInput = struct { + pragma.NoUnkeyedLiterals + Message Message + Buf []byte + Flags uint8 + Resolver interface { + FindExtensionByName(field FullName) (ExtensionType, error) + FindExtensionByNumber(message FullName, field FieldNumber) (ExtensionType, error) + } + } + unmarshalOutput = struct { + pragma.NoUnkeyedLiterals + Flags uint8 + } + mergeInput = struct { + pragma.NoUnkeyedLiterals + Source Message + Destination Message + } + mergeOutput = struct { + pragma.NoUnkeyedLiterals + Flags uint8 + } + checkInitializedInput = struct { + pragma.NoUnkeyedLiterals + Message Message + } + checkInitializedOutput = struct { + pragma.NoUnkeyedLiterals + } +) diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go new file mode 100644 index 000000000..dd85915bd --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go @@ -0,0 +1,504 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protoreflect provides interfaces to dynamically manipulate messages. +// +// This package includes type descriptors which describe the structure of types +// defined in proto source files and value interfaces which provide the +// ability to examine and manipulate the contents of messages. +// +// +// Protocol Buffer Descriptors +// +// Protobuf descriptors (e.g., EnumDescriptor or MessageDescriptor) +// are immutable objects that represent protobuf type information. +// They are wrappers around the messages declared in descriptor.proto. +// Protobuf descriptors alone lack any information regarding Go types. +// +// Enums and messages generated by this module implement Enum and ProtoMessage, +// where the Descriptor and ProtoReflect.Descriptor accessors respectively +// return the protobuf descriptor for the values. +// +// The protobuf descriptor interfaces are not meant to be implemented by +// user code since they might need to be extended in the future to support +// additions to the protobuf language. +// The "google.golang.org/protobuf/reflect/protodesc" package converts between +// google.protobuf.DescriptorProto messages and protobuf descriptors. +// +// +// Go Type Descriptors +// +// A type descriptor (e.g., EnumType or MessageType) is a constructor for +// a concrete Go type that represents the associated protobuf descriptor. +// There is commonly a one-to-one relationship between protobuf descriptors and +// Go type descriptors, but it can potentially be a one-to-many relationship. +// +// Enums and messages generated by this module implement Enum and ProtoMessage, +// where the Type and ProtoReflect.Type accessors respectively +// return the protobuf descriptor for the values. +// +// The "google.golang.org/protobuf/types/dynamicpb" package can be used to +// create Go type descriptors from protobuf descriptors. +// +// +// Value Interfaces +// +// The Enum and Message interfaces provide a reflective view over an +// enum or message instance. For enums, it provides the ability to retrieve +// the enum value number for any concrete enum type. For messages, it provides +// the ability to access or manipulate fields of the message. +// +// To convert a proto.Message to a protoreflect.Message, use the +// former's ProtoReflect method. Since the ProtoReflect method is new to the +// v2 message interface, it may not be present on older message implementations. +// The "github.com/golang/protobuf/proto".MessageReflect function can be used +// to obtain a reflective view on older messages. +// +// +// Relationships +// +// The following diagrams demonstrate the relationships between +// various types declared in this package. +// +// +// ┌───────────────────────────────────┐ +// V │ +// ┌────────────── New(n) ─────────────┐ │ +// │ │ │ +// │ ┌──── Descriptor() ──┐ │ ┌── Number() ──┐ │ +// │ │ V V │ V │ +// ╔════════════╗ ╔════════════════╗ ╔════════╗ ╔════════════╗ +// ║ EnumType ║ ║ EnumDescriptor ║ ║ Enum ║ ║ EnumNumber ║ +// ╚════════════╝ ╚════════════════╝ ╚════════╝ ╚════════════╝ +// Λ Λ │ │ +// │ └─── Descriptor() ──┘ │ +// │ │ +// └────────────────── Type() ───────┘ +// +// • An EnumType describes a concrete Go enum type. +// It has an EnumDescriptor and can construct an Enum instance. +// +// • An EnumDescriptor describes an abstract protobuf enum type. +// +// • An Enum is a concrete enum instance. Generated enums implement Enum. +// +// +// ┌──────────────── New() ─────────────────┐ +// │ │ +// │ ┌─── Descriptor() ─────┐ │ ┌── Interface() ───┐ +// │ │ V V │ V +// ╔═════════════╗ ╔═══════════════════╗ ╔═════════╗ ╔══════════════╗ +// ║ MessageType ║ ║ MessageDescriptor ║ ║ Message ║ ║ ProtoMessage ║ +// ╚═════════════╝ ╚═══════════════════╝ ╚═════════╝ ╚══════════════╝ +// Λ Λ │ │ Λ │ +// │ └──── Descriptor() ────┘ │ └─ ProtoReflect() ─┘ +// │ │ +// └─────────────────── Type() ─────────┘ +// +// • A MessageType describes a concrete Go message type. +// It has a MessageDescriptor and can construct a Message instance. +// +// • A MessageDescriptor describes an abstract protobuf message type. +// +// • A Message is a concrete message instance. Generated messages implement +// ProtoMessage, which can convert to/from a Message. +// +// +// ┌── TypeDescriptor() ──┐ ┌───── Descriptor() ─────┐ +// │ V │ V +// ╔═══════════════╗ ╔═════════════════════════╗ ╔═════════════════════╗ +// ║ ExtensionType ║ ║ ExtensionTypeDescriptor ║ ║ ExtensionDescriptor ║ +// ╚═══════════════╝ ╚═════════════════════════╝ ╚═════════════════════╝ +// Λ │ │ Λ │ Λ +// └─────── Type() ───────┘ │ └─── may implement ────┘ │ +// │ │ +// └────── implements ────────┘ +// +// • An ExtensionType describes a concrete Go implementation of an extension. +// It has an ExtensionTypeDescriptor and can convert to/from +// abstract Values and Go values. +// +// • An ExtensionTypeDescriptor is an ExtensionDescriptor +// which also has an ExtensionType. +// +// • An ExtensionDescriptor describes an abstract protobuf extension field and +// may not always be an ExtensionTypeDescriptor. +package protoreflect + +import ( + "fmt" + "strings" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/pragma" +) + +type doNotImplement pragma.DoNotImplement + +// ProtoMessage is the top-level interface that all proto messages implement. +// This is declared in the protoreflect package to avoid a cyclic dependency; +// use the proto.Message type instead, which aliases this type. +type ProtoMessage interface{ ProtoReflect() Message } + +// Syntax is the language version of the proto file. +type Syntax syntax + +type syntax int8 // keep exact type opaque as the int type may change + +const ( + Proto2 Syntax = 2 + Proto3 Syntax = 3 +) + +// IsValid reports whether the syntax is valid. +func (s Syntax) IsValid() bool { + switch s { + case Proto2, Proto3: + return true + default: + return false + } +} + +// String returns s as a proto source identifier (e.g., "proto2"). +func (s Syntax) String() string { + switch s { + case Proto2: + return "proto2" + case Proto3: + return "proto3" + default: + return fmt.Sprintf("<unknown:%d>", s) + } +} + +// GoString returns s as a Go source identifier (e.g., "Proto2"). +func (s Syntax) GoString() string { + switch s { + case Proto2: + return "Proto2" + case Proto3: + return "Proto3" + default: + return fmt.Sprintf("Syntax(%d)", s) + } +} + +// Cardinality determines whether a field is optional, required, or repeated. +type Cardinality cardinality + +type cardinality int8 // keep exact type opaque as the int type may change + +// Constants as defined by the google.protobuf.Cardinality enumeration. +const ( + Optional Cardinality = 1 // appears zero or one times + Required Cardinality = 2 // appears exactly one time; invalid with Proto3 + Repeated Cardinality = 3 // appears zero or more times +) + +// IsValid reports whether the cardinality is valid. +func (c Cardinality) IsValid() bool { + switch c { + case Optional, Required, Repeated: + return true + default: + return false + } +} + +// String returns c as a proto source identifier (e.g., "optional"). +func (c Cardinality) String() string { + switch c { + case Optional: + return "optional" + case Required: + return "required" + case Repeated: + return "repeated" + default: + return fmt.Sprintf("<unknown:%d>", c) + } +} + +// GoString returns c as a Go source identifier (e.g., "Optional"). +func (c Cardinality) GoString() string { + switch c { + case Optional: + return "Optional" + case Required: + return "Required" + case Repeated: + return "Repeated" + default: + return fmt.Sprintf("Cardinality(%d)", c) + } +} + +// Kind indicates the basic proto kind of a field. +type Kind kind + +type kind int8 // keep exact type opaque as the int type may change + +// Constants as defined by the google.protobuf.Field.Kind enumeration. +const ( + BoolKind Kind = 8 + EnumKind Kind = 14 + Int32Kind Kind = 5 + Sint32Kind Kind = 17 + Uint32Kind Kind = 13 + Int64Kind Kind = 3 + Sint64Kind Kind = 18 + Uint64Kind Kind = 4 + Sfixed32Kind Kind = 15 + Fixed32Kind Kind = 7 + FloatKind Kind = 2 + Sfixed64Kind Kind = 16 + Fixed64Kind Kind = 6 + DoubleKind Kind = 1 + StringKind Kind = 9 + BytesKind Kind = 12 + MessageKind Kind = 11 + GroupKind Kind = 10 +) + +// IsValid reports whether the kind is valid. +func (k Kind) IsValid() bool { + switch k { + case BoolKind, EnumKind, + Int32Kind, Sint32Kind, Uint32Kind, + Int64Kind, Sint64Kind, Uint64Kind, + Sfixed32Kind, Fixed32Kind, FloatKind, + Sfixed64Kind, Fixed64Kind, DoubleKind, + StringKind, BytesKind, MessageKind, GroupKind: + return true + default: + return false + } +} + +// String returns k as a proto source identifier (e.g., "bool"). +func (k Kind) String() string { + switch k { + case BoolKind: + return "bool" + case EnumKind: + return "enum" + case Int32Kind: + return "int32" + case Sint32Kind: + return "sint32" + case Uint32Kind: + return "uint32" + case Int64Kind: + return "int64" + case Sint64Kind: + return "sint64" + case Uint64Kind: + return "uint64" + case Sfixed32Kind: + return "sfixed32" + case Fixed32Kind: + return "fixed32" + case FloatKind: + return "float" + case Sfixed64Kind: + return "sfixed64" + case Fixed64Kind: + return "fixed64" + case DoubleKind: + return "double" + case StringKind: + return "string" + case BytesKind: + return "bytes" + case MessageKind: + return "message" + case GroupKind: + return "group" + default: + return fmt.Sprintf("<unknown:%d>", k) + } +} + +// GoString returns k as a Go source identifier (e.g., "BoolKind"). +func (k Kind) GoString() string { + switch k { + case BoolKind: + return "BoolKind" + case EnumKind: + return "EnumKind" + case Int32Kind: + return "Int32Kind" + case Sint32Kind: + return "Sint32Kind" + case Uint32Kind: + return "Uint32Kind" + case Int64Kind: + return "Int64Kind" + case Sint64Kind: + return "Sint64Kind" + case Uint64Kind: + return "Uint64Kind" + case Sfixed32Kind: + return "Sfixed32Kind" + case Fixed32Kind: + return "Fixed32Kind" + case FloatKind: + return "FloatKind" + case Sfixed64Kind: + return "Sfixed64Kind" + case Fixed64Kind: + return "Fixed64Kind" + case DoubleKind: + return "DoubleKind" + case StringKind: + return "StringKind" + case BytesKind: + return "BytesKind" + case MessageKind: + return "MessageKind" + case GroupKind: + return "GroupKind" + default: + return fmt.Sprintf("Kind(%d)", k) + } +} + +// FieldNumber is the field number in a message. +type FieldNumber = protowire.Number + +// FieldNumbers represent a list of field numbers. +type FieldNumbers interface { + // Len reports the number of fields in the list. + Len() int + // Get returns the ith field number. It panics if out of bounds. + Get(i int) FieldNumber + // Has reports whether n is within the list of fields. + Has(n FieldNumber) bool + + doNotImplement +} + +// FieldRanges represent a list of field number ranges. +type FieldRanges interface { + // Len reports the number of ranges in the list. + Len() int + // Get returns the ith range. It panics if out of bounds. + Get(i int) [2]FieldNumber // start inclusive; end exclusive + // Has reports whether n is within any of the ranges. + Has(n FieldNumber) bool + + doNotImplement +} + +// EnumNumber is the numeric value for an enum. +type EnumNumber int32 + +// EnumRanges represent a list of enum number ranges. +type EnumRanges interface { + // Len reports the number of ranges in the list. + Len() int + // Get returns the ith range. It panics if out of bounds. + Get(i int) [2]EnumNumber // start inclusive; end inclusive + // Has reports whether n is within any of the ranges. + Has(n EnumNumber) bool + + doNotImplement +} + +// Name is the short name for a proto declaration. This is not the name +// as used in Go source code, which might not be identical to the proto name. +type Name string // e.g., "Kind" + +// IsValid reports whether s is a syntactically valid name. +// An empty name is invalid. +func (s Name) IsValid() bool { + return consumeIdent(string(s)) == len(s) +} + +// Names represent a list of names. +type Names interface { + // Len reports the number of names in the list. + Len() int + // Get returns the ith name. It panics if out of bounds. + Get(i int) Name + // Has reports whether s matches any names in the list. + Has(s Name) bool + + doNotImplement +} + +// FullName is a qualified name that uniquely identifies a proto declaration. +// A qualified name is the concatenation of the proto package along with the +// fully-declared name (i.e., name of parent preceding the name of the child), +// with a '.' delimiter placed between each Name. +// +// This should not have any leading or trailing dots. +type FullName string // e.g., "google.protobuf.Field.Kind" + +// IsValid reports whether s is a syntactically valid full name. +// An empty full name is invalid. +func (s FullName) IsValid() bool { + i := consumeIdent(string(s)) + if i < 0 { + return false + } + for len(s) > i { + if s[i] != '.' { + return false + } + i++ + n := consumeIdent(string(s[i:])) + if n < 0 { + return false + } + i += n + } + return true +} + +func consumeIdent(s string) (i int) { + if len(s) == 0 || !isLetter(s[i]) { + return -1 + } + i++ + for len(s) > i && isLetterDigit(s[i]) { + i++ + } + return i +} +func isLetter(c byte) bool { + return c == '_' || ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') +} +func isLetterDigit(c byte) bool { + return isLetter(c) || ('0' <= c && c <= '9') +} + +// Name returns the short name, which is the last identifier segment. +// A single segment FullName is the Name itself. +func (n FullName) Name() Name { + if i := strings.LastIndexByte(string(n), '.'); i >= 0 { + return Name(n[i+1:]) + } + return Name(n) +} + +// Parent returns the full name with the trailing identifier removed. +// A single segment FullName has no parent. +func (n FullName) Parent() FullName { + if i := strings.LastIndexByte(string(n), '.'); i >= 0 { + return n[:i] + } + return "" +} + +// Append returns the qualified name appended with the provided short name. +// +// Invariant: n == n.Parent().Append(n.Name()) // assuming n is valid +func (n FullName) Append(s Name) FullName { + if n == "" { + return FullName(s) + } + return n + "." + FullName(s) +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go new file mode 100644 index 000000000..121ba3a07 --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go @@ -0,0 +1,128 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +import ( + "strconv" +) + +// SourceLocations is a list of source locations. +type SourceLocations interface { + // Len reports the number of source locations in the proto file. + Len() int + // Get returns the ith SourceLocation. It panics if out of bounds. + Get(int) SourceLocation + + // ByPath returns the SourceLocation for the given path, + // returning the first location if multiple exist for the same path. + // If multiple locations exist for the same path, + // then SourceLocation.Next index can be used to identify the + // index of the next SourceLocation. + // If no location exists for this path, it returns the zero value. + ByPath(path SourcePath) SourceLocation + + // ByDescriptor returns the SourceLocation for the given descriptor, + // returning the first location if multiple exist for the same path. + // If no location exists for this descriptor, it returns the zero value. + ByDescriptor(desc Descriptor) SourceLocation + + doNotImplement +} + +// SourceLocation describes a source location and +// corresponds with the google.protobuf.SourceCodeInfo.Location message. +type SourceLocation struct { + // Path is the path to the declaration from the root file descriptor. + // The contents of this slice must not be mutated. + Path SourcePath + + // StartLine and StartColumn are the zero-indexed starting location + // in the source file for the declaration. + StartLine, StartColumn int + // EndLine and EndColumn are the zero-indexed ending location + // in the source file for the declaration. + // In the descriptor.proto, the end line may be omitted if it is identical + // to the start line. Here, it is always populated. + EndLine, EndColumn int + + // LeadingDetachedComments are the leading detached comments + // for the declaration. The contents of this slice must not be mutated. + LeadingDetachedComments []string + // LeadingComments is the leading attached comment for the declaration. + LeadingComments string + // TrailingComments is the trailing attached comment for the declaration. + TrailingComments string + + // Next is an index into SourceLocations for the next source location that + // has the same Path. It is zero if there is no next location. + Next int +} + +// SourcePath identifies part of a file descriptor for a source location. +// The SourcePath is a sequence of either field numbers or indexes into +// a repeated field that form a path starting from the root file descriptor. +// +// See google.protobuf.SourceCodeInfo.Location.path. +type SourcePath []int32 + +// Equal reports whether p1 equals p2. +func (p1 SourcePath) Equal(p2 SourcePath) bool { + if len(p1) != len(p2) { + return false + } + for i := range p1 { + if p1[i] != p2[i] { + return false + } + } + return true +} + +// String formats the path in a humanly readable manner. +// The output is guaranteed to be deterministic, +// making it suitable for use as a key into a Go map. +// It is not guaranteed to be stable as the exact output could change +// in a future version of this module. +// +// Example output: +// .message_type[6].nested_type[15].field[3] +func (p SourcePath) String() string { + b := p.appendFileDescriptorProto(nil) + for _, i := range p { + b = append(b, '.') + b = strconv.AppendInt(b, int64(i), 10) + } + return string(b) +} + +type appendFunc func(*SourcePath, []byte) []byte + +func (p *SourcePath) appendSingularField(b []byte, name string, f appendFunc) []byte { + if len(*p) == 0 { + return b + } + b = append(b, '.') + b = append(b, name...) + *p = (*p)[1:] + if f != nil { + b = f(p, b) + } + return b +} + +func (p *SourcePath) appendRepeatedField(b []byte, name string, f appendFunc) []byte { + b = p.appendSingularField(b, name, nil) + if len(*p) == 0 || (*p)[0] < 0 { + return b + } + b = append(b, '[') + b = strconv.AppendUint(b, uint64((*p)[0]), 10) + b = append(b, ']') + *p = (*p)[1:] + if f != nil { + b = f(p, b) + } + return b +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go new file mode 100644 index 000000000..b03c1223c --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go @@ -0,0 +1,461 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package protoreflect + +func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendSingularField(b, "package", nil) + case 3: + b = p.appendRepeatedField(b, "dependency", nil) + case 10: + b = p.appendRepeatedField(b, "public_dependency", nil) + case 11: + b = p.appendRepeatedField(b, "weak_dependency", nil) + case 4: + b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto) + case 5: + b = p.appendRepeatedField(b, "enum_type", (*SourcePath).appendEnumDescriptorProto) + case 6: + b = p.appendRepeatedField(b, "service", (*SourcePath).appendServiceDescriptorProto) + case 7: + b = p.appendRepeatedField(b, "extension", (*SourcePath).appendFieldDescriptorProto) + case 8: + b = p.appendSingularField(b, "options", (*SourcePath).appendFileOptions) + case 9: + b = p.appendSingularField(b, "source_code_info", (*SourcePath).appendSourceCodeInfo) + case 12: + b = p.appendSingularField(b, "syntax", nil) + } + return b +} + +func (p *SourcePath) appendDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendRepeatedField(b, "field", (*SourcePath).appendFieldDescriptorProto) + case 6: + b = p.appendRepeatedField(b, "extension", (*SourcePath).appendFieldDescriptorProto) + case 3: + b = p.appendRepeatedField(b, "nested_type", (*SourcePath).appendDescriptorProto) + case 4: + b = p.appendRepeatedField(b, "enum_type", (*SourcePath).appendEnumDescriptorProto) + case 5: + b = p.appendRepeatedField(b, "extension_range", (*SourcePath).appendDescriptorProto_ExtensionRange) + case 8: + b = p.appendRepeatedField(b, "oneof_decl", (*SourcePath).appendOneofDescriptorProto) + case 7: + b = p.appendSingularField(b, "options", (*SourcePath).appendMessageOptions) + case 9: + b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange) + case 10: + b = p.appendRepeatedField(b, "reserved_name", nil) + } + return b +} + +func (p *SourcePath) appendEnumDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendRepeatedField(b, "value", (*SourcePath).appendEnumValueDescriptorProto) + case 3: + b = p.appendSingularField(b, "options", (*SourcePath).appendEnumOptions) + case 4: + b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange) + case 5: + b = p.appendRepeatedField(b, "reserved_name", nil) + } + return b +} + +func (p *SourcePath) appendServiceDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendRepeatedField(b, "method", (*SourcePath).appendMethodDescriptorProto) + case 3: + b = p.appendSingularField(b, "options", (*SourcePath).appendServiceOptions) + } + return b +} + +func (p *SourcePath) appendFieldDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 3: + b = p.appendSingularField(b, "number", nil) + case 4: + b = p.appendSingularField(b, "label", nil) + case 5: + b = p.appendSingularField(b, "type", nil) + case 6: + b = p.appendSingularField(b, "type_name", nil) + case 2: + b = p.appendSingularField(b, "extendee", nil) + case 7: + b = p.appendSingularField(b, "default_value", nil) + case 9: + b = p.appendSingularField(b, "oneof_index", nil) + case 10: + b = p.appendSingularField(b, "json_name", nil) + case 8: + b = p.appendSingularField(b, "options", (*SourcePath).appendFieldOptions) + case 17: + b = p.appendSingularField(b, "proto3_optional", nil) + } + return b +} + +func (p *SourcePath) appendFileOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "java_package", nil) + case 8: + b = p.appendSingularField(b, "java_outer_classname", nil) + case 10: + b = p.appendSingularField(b, "java_multiple_files", nil) + case 20: + b = p.appendSingularField(b, "java_generate_equals_and_hash", nil) + case 27: + b = p.appendSingularField(b, "java_string_check_utf8", nil) + case 9: + b = p.appendSingularField(b, "optimize_for", nil) + case 11: + b = p.appendSingularField(b, "go_package", nil) + case 16: + b = p.appendSingularField(b, "cc_generic_services", nil) + case 17: + b = p.appendSingularField(b, "java_generic_services", nil) + case 18: + b = p.appendSingularField(b, "py_generic_services", nil) + case 42: + b = p.appendSingularField(b, "php_generic_services", nil) + case 23: + b = p.appendSingularField(b, "deprecated", nil) + case 31: + b = p.appendSingularField(b, "cc_enable_arenas", nil) + case 36: + b = p.appendSingularField(b, "objc_class_prefix", nil) + case 37: + b = p.appendSingularField(b, "csharp_namespace", nil) + case 39: + b = p.appendSingularField(b, "swift_prefix", nil) + case 40: + b = p.appendSingularField(b, "php_class_prefix", nil) + case 41: + b = p.appendSingularField(b, "php_namespace", nil) + case 44: + b = p.appendSingularField(b, "php_metadata_namespace", nil) + case 45: + b = p.appendSingularField(b, "ruby_package", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendSourceCodeInfo(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendRepeatedField(b, "location", (*SourcePath).appendSourceCodeInfo_Location) + } + return b +} + +func (p *SourcePath) appendDescriptorProto_ExtensionRange(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "start", nil) + case 2: + b = p.appendSingularField(b, "end", nil) + case 3: + b = p.appendSingularField(b, "options", (*SourcePath).appendExtensionRangeOptions) + } + return b +} + +func (p *SourcePath) appendOneofDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendSingularField(b, "options", (*SourcePath).appendOneofOptions) + } + return b +} + +func (p *SourcePath) appendMessageOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "message_set_wire_format", nil) + case 2: + b = p.appendSingularField(b, "no_standard_descriptor_accessor", nil) + case 3: + b = p.appendSingularField(b, "deprecated", nil) + case 7: + b = p.appendSingularField(b, "map_entry", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendDescriptorProto_ReservedRange(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "start", nil) + case 2: + b = p.appendSingularField(b, "end", nil) + } + return b +} + +func (p *SourcePath) appendEnumValueDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendSingularField(b, "number", nil) + case 3: + b = p.appendSingularField(b, "options", (*SourcePath).appendEnumValueOptions) + } + return b +} + +func (p *SourcePath) appendEnumOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 2: + b = p.appendSingularField(b, "allow_alias", nil) + case 3: + b = p.appendSingularField(b, "deprecated", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendEnumDescriptorProto_EnumReservedRange(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "start", nil) + case 2: + b = p.appendSingularField(b, "end", nil) + } + return b +} + +func (p *SourcePath) appendMethodDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendSingularField(b, "input_type", nil) + case 3: + b = p.appendSingularField(b, "output_type", nil) + case 4: + b = p.appendSingularField(b, "options", (*SourcePath).appendMethodOptions) + case 5: + b = p.appendSingularField(b, "client_streaming", nil) + case 6: + b = p.appendSingularField(b, "server_streaming", nil) + } + return b +} + +func (p *SourcePath) appendServiceOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 33: + b = p.appendSingularField(b, "deprecated", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendFieldOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "ctype", nil) + case 2: + b = p.appendSingularField(b, "packed", nil) + case 6: + b = p.appendSingularField(b, "jstype", nil) + case 5: + b = p.appendSingularField(b, "lazy", nil) + case 3: + b = p.appendSingularField(b, "deprecated", nil) + case 10: + b = p.appendSingularField(b, "weak", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendUninterpretedOption(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 2: + b = p.appendRepeatedField(b, "name", (*SourcePath).appendUninterpretedOption_NamePart) + case 3: + b = p.appendSingularField(b, "identifier_value", nil) + case 4: + b = p.appendSingularField(b, "positive_int_value", nil) + case 5: + b = p.appendSingularField(b, "negative_int_value", nil) + case 6: + b = p.appendSingularField(b, "double_value", nil) + case 7: + b = p.appendSingularField(b, "string_value", nil) + case 8: + b = p.appendSingularField(b, "aggregate_value", nil) + } + return b +} + +func (p *SourcePath) appendSourceCodeInfo_Location(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendRepeatedField(b, "path", nil) + case 2: + b = p.appendRepeatedField(b, "span", nil) + case 3: + b = p.appendSingularField(b, "leading_comments", nil) + case 4: + b = p.appendSingularField(b, "trailing_comments", nil) + case 6: + b = p.appendRepeatedField(b, "leading_detached_comments", nil) + } + return b +} + +func (p *SourcePath) appendExtensionRangeOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendOneofOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendEnumValueOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "deprecated", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendMethodOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 33: + b = p.appendSingularField(b, "deprecated", nil) + case 34: + b = p.appendSingularField(b, "idempotency_level", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name_part", nil) + case 2: + b = p.appendSingularField(b, "is_extension", nil) + } + return b +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go new file mode 100644 index 000000000..8e53c44a9 --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go @@ -0,0 +1,665 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +// Descriptor provides a set of accessors that are common to every descriptor. +// Each descriptor type wraps the equivalent google.protobuf.XXXDescriptorProto, +// but provides efficient lookup and immutability. +// +// Each descriptor is comparable. Equality implies that the two types are +// exactly identical. However, it is possible for the same semantically +// identical proto type to be represented by multiple type descriptors. +// +// For example, suppose we have t1 and t2 which are both MessageDescriptors. +// If t1 == t2, then the types are definitely equal and all accessors return +// the same information. However, if t1 != t2, then it is still possible that +// they still represent the same proto type (e.g., t1.FullName == t2.FullName). +// This can occur if a descriptor type is created dynamically, or multiple +// versions of the same proto type are accidentally linked into the Go binary. +type Descriptor interface { + // ParentFile returns the parent file descriptor that this descriptor + // is declared within. The parent file for the file descriptor is itself. + // + // Support for this functionality is optional and may return nil. + ParentFile() FileDescriptor + + // Parent returns the parent containing this descriptor declaration. + // The following shows the mapping from child type to possible parent types: + // + // ╔═════════════════════╤═══════════════════════════════════╗ + // ║ Child type │ Possible parent types ║ + // ╠═════════════════════╪═══════════════════════════════════╣ + // ║ FileDescriptor │ nil ║ + // ║ MessageDescriptor │ FileDescriptor, MessageDescriptor ║ + // ║ FieldDescriptor │ FileDescriptor, MessageDescriptor ║ + // ║ OneofDescriptor │ MessageDescriptor ║ + // ║ EnumDescriptor │ FileDescriptor, MessageDescriptor ║ + // ║ EnumValueDescriptor │ EnumDescriptor ║ + // ║ ServiceDescriptor │ FileDescriptor ║ + // ║ MethodDescriptor │ ServiceDescriptor ║ + // ╚═════════════════════╧═══════════════════════════════════╝ + // + // Support for this functionality is optional and may return nil. + Parent() Descriptor + + // Index returns the index of this descriptor within its parent. + // It returns 0 if the descriptor does not have a parent or if the parent + // is unknown. + Index() int + + // Syntax is the protobuf syntax. + Syntax() Syntax // e.g., Proto2 or Proto3 + + // Name is the short name of the declaration (i.e., FullName.Name). + Name() Name // e.g., "Any" + + // FullName is the fully-qualified name of the declaration. + // + // The FullName is a concatenation of the full name of the type that this + // type is declared within and the declaration name. For example, + // field "foo_field" in message "proto.package.MyMessage" is + // uniquely identified as "proto.package.MyMessage.foo_field". + // Enum values are an exception to the rule (see EnumValueDescriptor). + FullName() FullName // e.g., "google.protobuf.Any" + + // IsPlaceholder reports whether type information is missing since a + // dependency is not resolved, in which case only name information is known. + // + // Placeholder types may only be returned by the following accessors + // as a result of unresolved dependencies or weak imports: + // + // ╔═══════════════════════════════════╤═════════════════════╗ + // ║ Accessor │ Descriptor ║ + // ╠═══════════════════════════════════╪═════════════════════╣ + // ║ FileImports.FileDescriptor │ FileDescriptor ║ + // ║ FieldDescriptor.Enum │ EnumDescriptor ║ + // ║ FieldDescriptor.Message │ MessageDescriptor ║ + // ║ FieldDescriptor.DefaultEnumValue │ EnumValueDescriptor ║ + // ║ FieldDescriptor.ContainingMessage │ MessageDescriptor ║ + // ║ MethodDescriptor.Input │ MessageDescriptor ║ + // ║ MethodDescriptor.Output │ MessageDescriptor ║ + // ╚═══════════════════════════════════╧═════════════════════╝ + // + // If true, only Name and FullName are valid. + // For FileDescriptor, the Path is also valid. + IsPlaceholder() bool + + // Options returns the descriptor options. The caller must not modify + // the returned value. + // + // To avoid a dependency cycle, this function returns a proto.Message value. + // The proto message type returned for each descriptor type is as follows: + // ╔═════════════════════╤══════════════════════════════════════════╗ + // ║ Go type │ Protobuf message type ║ + // ╠═════════════════════╪══════════════════════════════════════════╣ + // ║ FileDescriptor │ google.protobuf.FileOptions ║ + // ║ EnumDescriptor │ google.protobuf.EnumOptions ║ + // ║ EnumValueDescriptor │ google.protobuf.EnumValueOptions ║ + // ║ MessageDescriptor │ google.protobuf.MessageOptions ║ + // ║ FieldDescriptor │ google.protobuf.FieldOptions ║ + // ║ OneofDescriptor │ google.protobuf.OneofOptions ║ + // ║ ServiceDescriptor │ google.protobuf.ServiceOptions ║ + // ║ MethodDescriptor │ google.protobuf.MethodOptions ║ + // ╚═════════════════════╧══════════════════════════════════════════╝ + // + // This method returns a typed nil-pointer if no options are present. + // The caller must import the descriptorpb package to use this. + Options() ProtoMessage + + doNotImplement +} + +// FileDescriptor describes the types in a complete proto file and +// corresponds with the google.protobuf.FileDescriptorProto message. +// +// Top-level declarations: +// EnumDescriptor, MessageDescriptor, FieldDescriptor, and/or ServiceDescriptor. +type FileDescriptor interface { + Descriptor // Descriptor.FullName is identical to Package + + // Path returns the file name, relative to the source tree root. + Path() string // e.g., "path/to/file.proto" + // Package returns the protobuf package namespace. + Package() FullName // e.g., "google.protobuf" + + // Imports is a list of imported proto files. + Imports() FileImports + + // Enums is a list of the top-level enum declarations. + Enums() EnumDescriptors + // Messages is a list of the top-level message declarations. + Messages() MessageDescriptors + // Extensions is a list of the top-level extension declarations. + Extensions() ExtensionDescriptors + // Services is a list of the top-level service declarations. + Services() ServiceDescriptors + + // SourceLocations is a list of source locations. + SourceLocations() SourceLocations + + isFileDescriptor +} +type isFileDescriptor interface{ ProtoType(FileDescriptor) } + +// FileImports is a list of file imports. +type FileImports interface { + // Len reports the number of files imported by this proto file. + Len() int + // Get returns the ith FileImport. It panics if out of bounds. + Get(i int) FileImport + + doNotImplement +} + +// FileImport is the declaration for a proto file import. +type FileImport struct { + // FileDescriptor is the file type for the given import. + // It is a placeholder descriptor if IsWeak is set or if a dependency has + // not been regenerated to implement the new reflection APIs. + FileDescriptor + + // IsPublic reports whether this is a public import, which causes this file + // to alias declarations within the imported file. The intended use cases + // for this feature is the ability to move proto files without breaking + // existing dependencies. + // + // The current file and the imported file must be within proto package. + IsPublic bool + + // IsWeak reports whether this is a weak import, which does not impose + // a direct dependency on the target file. + // + // Weak imports are a legacy proto1 feature. Equivalent behavior is + // achieved using proto2 extension fields or proto3 Any messages. + IsWeak bool +} + +// MessageDescriptor describes a message and +// corresponds with the google.protobuf.DescriptorProto message. +// +// Nested declarations: +// FieldDescriptor, OneofDescriptor, FieldDescriptor, EnumDescriptor, +// and/or MessageDescriptor. +type MessageDescriptor interface { + Descriptor + + // IsMapEntry indicates that this is an auto-generated message type to + // represent the entry type for a map field. + // + // Map entry messages have only two fields: + // • a "key" field with a field number of 1 + // • a "value" field with a field number of 2 + // The key and value types are determined by these two fields. + // + // If IsMapEntry is true, it implies that FieldDescriptor.IsMap is true + // for some field with this message type. + IsMapEntry() bool + + // Fields is a list of nested field declarations. + Fields() FieldDescriptors + // Oneofs is a list of nested oneof declarations. + Oneofs() OneofDescriptors + + // ReservedNames is a list of reserved field names. + ReservedNames() Names + // ReservedRanges is a list of reserved ranges of field numbers. + ReservedRanges() FieldRanges + // RequiredNumbers is a list of required field numbers. + // In Proto3, it is always an empty list. + RequiredNumbers() FieldNumbers + // ExtensionRanges is the field ranges used for extension fields. + // In Proto3, it is always an empty ranges. + ExtensionRanges() FieldRanges + // ExtensionRangeOptions returns the ith extension range options. + // + // To avoid a dependency cycle, this method returns a proto.Message value, + // which always contains a google.protobuf.ExtensionRangeOptions message. + // This method returns a typed nil-pointer if no options are present. + // The caller must import the descriptorpb package to use this. + ExtensionRangeOptions(i int) ProtoMessage + + // Enums is a list of nested enum declarations. + Enums() EnumDescriptors + // Messages is a list of nested message declarations. + Messages() MessageDescriptors + // Extensions is a list of nested extension declarations. + Extensions() ExtensionDescriptors + + isMessageDescriptor +} +type isMessageDescriptor interface{ ProtoType(MessageDescriptor) } + +// MessageType encapsulates a MessageDescriptor with a concrete Go implementation. +// It is recommended that implementations of this interface also implement the +// MessageFieldTypes interface. +type MessageType interface { + // New returns a newly allocated empty message. + // It may return nil for synthetic messages representing a map entry. + New() Message + + // Zero returns an empty, read-only message. + // It may return nil for synthetic messages representing a map entry. + Zero() Message + + // Descriptor returns the message descriptor. + // + // Invariant: t.Descriptor() == t.New().Descriptor() + Descriptor() MessageDescriptor +} + +// MessageFieldTypes extends a MessageType by providing type information +// regarding enums and messages referenced by the message fields. +type MessageFieldTypes interface { + MessageType + + // Enum returns the EnumType for the ith field in Descriptor.Fields. + // It returns nil if the ith field is not an enum kind. + // It panics if out of bounds. + // + // Invariant: mt.Enum(i).Descriptor() == mt.Descriptor().Fields(i).Enum() + Enum(i int) EnumType + + // Message returns the MessageType for the ith field in Descriptor.Fields. + // It returns nil if the ith field is not a message or group kind. + // It panics if out of bounds. + // + // Invariant: mt.Message(i).Descriptor() == mt.Descriptor().Fields(i).Message() + Message(i int) MessageType +} + +// MessageDescriptors is a list of message declarations. +type MessageDescriptors interface { + // Len reports the number of messages. + Len() int + // Get returns the ith MessageDescriptor. It panics if out of bounds. + Get(i int) MessageDescriptor + // ByName returns the MessageDescriptor for a message named s. + // It returns nil if not found. + ByName(s Name) MessageDescriptor + + doNotImplement +} + +// FieldDescriptor describes a field within a message and +// corresponds with the google.protobuf.FieldDescriptorProto message. +// +// It is used for both normal fields defined within the parent message +// (e.g., MessageDescriptor.Fields) and fields that extend some remote message +// (e.g., FileDescriptor.Extensions or MessageDescriptor.Extensions). +type FieldDescriptor interface { + Descriptor + + // Number reports the unique number for this field. + Number() FieldNumber + // Cardinality reports the cardinality for this field. + Cardinality() Cardinality + // Kind reports the basic kind for this field. + Kind() Kind + + // HasJSONName reports whether this field has an explicitly set JSON name. + HasJSONName() bool + + // JSONName reports the name used for JSON serialization. + // It is usually the camel-cased form of the field name. + // Extension fields are represented by the full name surrounded by brackets. + JSONName() string + + // TextName reports the name used for text serialization. + // It is usually the name of the field, except that groups use the name + // of the inlined message, and extension fields are represented by the + // full name surrounded by brackets. + TextName() string + + // HasPresence reports whether the field distinguishes between unpopulated + // and default values. + HasPresence() bool + + // IsExtension reports whether this is an extension field. If false, + // then Parent and ContainingMessage refer to the same message. + // Otherwise, ContainingMessage and Parent likely differ. + IsExtension() bool + + // HasOptionalKeyword reports whether the "optional" keyword was explicitly + // specified in the source .proto file. + HasOptionalKeyword() bool + + // IsWeak reports whether this is a weak field, which does not impose a + // direct dependency on the target type. + // If true, then Message returns a placeholder type. + IsWeak() bool + + // IsPacked reports whether repeated primitive numeric kinds should be + // serialized using a packed encoding. + // If true, then it implies Cardinality is Repeated. + IsPacked() bool + + // IsList reports whether this field represents a list, + // where the value type for the associated field is a List. + // It is equivalent to checking whether Cardinality is Repeated and + // that IsMap reports false. + IsList() bool + + // IsMap reports whether this field represents a map, + // where the value type for the associated field is a Map. + // It is equivalent to checking whether Cardinality is Repeated, + // that the Kind is MessageKind, and that Message.IsMapEntry reports true. + IsMap() bool + + // MapKey returns the field descriptor for the key in the map entry. + // It returns nil if IsMap reports false. + MapKey() FieldDescriptor + + // MapValue returns the field descriptor for the value in the map entry. + // It returns nil if IsMap reports false. + MapValue() FieldDescriptor + + // HasDefault reports whether this field has a default value. + HasDefault() bool + + // Default returns the default value for scalar fields. + // For proto2, it is the default value as specified in the proto file, + // or the zero value if unspecified. + // For proto3, it is always the zero value of the scalar. + // The Value type is determined by the Kind. + Default() Value + + // DefaultEnumValue returns the enum value descriptor for the default value + // of an enum field, and is nil for any other kind of field. + DefaultEnumValue() EnumValueDescriptor + + // ContainingOneof is the containing oneof that this field belongs to, + // and is nil if this field is not part of a oneof. + ContainingOneof() OneofDescriptor + + // ContainingMessage is the containing message that this field belongs to. + // For extension fields, this may not necessarily be the parent message + // that the field is declared within. + ContainingMessage() MessageDescriptor + + // Enum is the enum descriptor if Kind is EnumKind. + // It returns nil for any other Kind. + Enum() EnumDescriptor + + // Message is the message descriptor if Kind is + // MessageKind or GroupKind. It returns nil for any other Kind. + Message() MessageDescriptor + + isFieldDescriptor +} +type isFieldDescriptor interface{ ProtoType(FieldDescriptor) } + +// FieldDescriptors is a list of field declarations. +type FieldDescriptors interface { + // Len reports the number of fields. + Len() int + // Get returns the ith FieldDescriptor. It panics if out of bounds. + Get(i int) FieldDescriptor + // ByName returns the FieldDescriptor for a field named s. + // It returns nil if not found. + ByName(s Name) FieldDescriptor + // ByJSONName returns the FieldDescriptor for a field with s as the JSON name. + // It returns nil if not found. + ByJSONName(s string) FieldDescriptor + // ByTextName returns the FieldDescriptor for a field with s as the text name. + // It returns nil if not found. + ByTextName(s string) FieldDescriptor + // ByNumber returns the FieldDescriptor for a field numbered n. + // It returns nil if not found. + ByNumber(n FieldNumber) FieldDescriptor + + doNotImplement +} + +// OneofDescriptor describes a oneof field set within a given message and +// corresponds with the google.protobuf.OneofDescriptorProto message. +type OneofDescriptor interface { + Descriptor + + // IsSynthetic reports whether this is a synthetic oneof created to support + // proto3 optional semantics. If true, Fields contains exactly one field + // with HasOptionalKeyword specified. + IsSynthetic() bool + + // Fields is a list of fields belonging to this oneof. + Fields() FieldDescriptors + + isOneofDescriptor +} +type isOneofDescriptor interface{ ProtoType(OneofDescriptor) } + +// OneofDescriptors is a list of oneof declarations. +type OneofDescriptors interface { + // Len reports the number of oneof fields. + Len() int + // Get returns the ith OneofDescriptor. It panics if out of bounds. + Get(i int) OneofDescriptor + // ByName returns the OneofDescriptor for a oneof named s. + // It returns nil if not found. + ByName(s Name) OneofDescriptor + + doNotImplement +} + +// ExtensionDescriptor is an alias of FieldDescriptor for documentation. +type ExtensionDescriptor = FieldDescriptor + +// ExtensionTypeDescriptor is an ExtensionDescriptor with an associated ExtensionType. +type ExtensionTypeDescriptor interface { + ExtensionDescriptor + + // Type returns the associated ExtensionType. + Type() ExtensionType + + // Descriptor returns the plain ExtensionDescriptor without the + // associated ExtensionType. + Descriptor() ExtensionDescriptor +} + +// ExtensionDescriptors is a list of field declarations. +type ExtensionDescriptors interface { + // Len reports the number of fields. + Len() int + // Get returns the ith ExtensionDescriptor. It panics if out of bounds. + Get(i int) ExtensionDescriptor + // ByName returns the ExtensionDescriptor for a field named s. + // It returns nil if not found. + ByName(s Name) ExtensionDescriptor + + doNotImplement +} + +// ExtensionType encapsulates an ExtensionDescriptor with a concrete +// Go implementation. The nested field descriptor must be for a extension field. +// +// While a normal field is a member of the parent message that it is declared +// within (see Descriptor.Parent), an extension field is a member of some other +// target message (see ExtensionDescriptor.Extendee) and may have no +// relationship with the parent. However, the full name of an extension field is +// relative to the parent that it is declared within. +// +// For example: +// syntax = "proto2"; +// package example; +// message FooMessage { +// extensions 100 to max; +// } +// message BarMessage { +// extends FooMessage { optional BarMessage bar_field = 100; } +// } +// +// Field "bar_field" is an extension of FooMessage, but its full name is +// "example.BarMessage.bar_field" instead of "example.FooMessage.bar_field". +type ExtensionType interface { + // New returns a new value for the field. + // For scalars, this returns the default value in native Go form. + New() Value + + // Zero returns a new value for the field. + // For scalars, this returns the default value in native Go form. + // For composite types, this returns an empty, read-only message, list, or map. + Zero() Value + + // TypeDescriptor returns the extension type descriptor. + TypeDescriptor() ExtensionTypeDescriptor + + // ValueOf wraps the input and returns it as a Value. + // ValueOf panics if the input value is invalid or not the appropriate type. + // + // ValueOf is more extensive than protoreflect.ValueOf for a given field's + // value as it has more type information available. + ValueOf(interface{}) Value + + // InterfaceOf completely unwraps the Value to the underlying Go type. + // InterfaceOf panics if the input is nil or does not represent the + // appropriate underlying Go type. For composite types, it panics if the + // value is not mutable. + // + // InterfaceOf is able to unwrap the Value further than Value.Interface + // as it has more type information available. + InterfaceOf(Value) interface{} + + // IsValidValue reports whether the Value is valid to assign to the field. + IsValidValue(Value) bool + + // IsValidInterface reports whether the input is valid to assign to the field. + IsValidInterface(interface{}) bool +} + +// EnumDescriptor describes an enum and +// corresponds with the google.protobuf.EnumDescriptorProto message. +// +// Nested declarations: +// EnumValueDescriptor. +type EnumDescriptor interface { + Descriptor + + // Values is a list of nested enum value declarations. + Values() EnumValueDescriptors + + // ReservedNames is a list of reserved enum names. + ReservedNames() Names + // ReservedRanges is a list of reserved ranges of enum numbers. + ReservedRanges() EnumRanges + + isEnumDescriptor +} +type isEnumDescriptor interface{ ProtoType(EnumDescriptor) } + +// EnumType encapsulates an EnumDescriptor with a concrete Go implementation. +type EnumType interface { + // New returns an instance of this enum type with its value set to n. + New(n EnumNumber) Enum + + // Descriptor returns the enum descriptor. + // + // Invariant: t.Descriptor() == t.New(0).Descriptor() + Descriptor() EnumDescriptor +} + +// EnumDescriptors is a list of enum declarations. +type EnumDescriptors interface { + // Len reports the number of enum types. + Len() int + // Get returns the ith EnumDescriptor. It panics if out of bounds. + Get(i int) EnumDescriptor + // ByName returns the EnumDescriptor for an enum named s. + // It returns nil if not found. + ByName(s Name) EnumDescriptor + + doNotImplement +} + +// EnumValueDescriptor describes an enum value and +// corresponds with the google.protobuf.EnumValueDescriptorProto message. +// +// All other proto declarations are in the namespace of the parent. +// However, enum values do not follow this rule and are within the namespace +// of the parent's parent (i.e., they are a sibling of the containing enum). +// Thus, a value named "FOO_VALUE" declared within an enum uniquely identified +// as "proto.package.MyEnum" has a full name of "proto.package.FOO_VALUE". +type EnumValueDescriptor interface { + Descriptor + + // Number returns the enum value as an integer. + Number() EnumNumber + + isEnumValueDescriptor +} +type isEnumValueDescriptor interface{ ProtoType(EnumValueDescriptor) } + +// EnumValueDescriptors is a list of enum value declarations. +type EnumValueDescriptors interface { + // Len reports the number of enum values. + Len() int + // Get returns the ith EnumValueDescriptor. It panics if out of bounds. + Get(i int) EnumValueDescriptor + // ByName returns the EnumValueDescriptor for the enum value named s. + // It returns nil if not found. + ByName(s Name) EnumValueDescriptor + // ByNumber returns the EnumValueDescriptor for the enum value numbered n. + // If multiple have the same number, the first one defined is returned + // It returns nil if not found. + ByNumber(n EnumNumber) EnumValueDescriptor + + doNotImplement +} + +// ServiceDescriptor describes a service and +// corresponds with the google.protobuf.ServiceDescriptorProto message. +// +// Nested declarations: MethodDescriptor. +type ServiceDescriptor interface { + Descriptor + + // Methods is a list of nested message declarations. + Methods() MethodDescriptors + + isServiceDescriptor +} +type isServiceDescriptor interface{ ProtoType(ServiceDescriptor) } + +// ServiceDescriptors is a list of service declarations. +type ServiceDescriptors interface { + // Len reports the number of services. + Len() int + // Get returns the ith ServiceDescriptor. It panics if out of bounds. + Get(i int) ServiceDescriptor + // ByName returns the ServiceDescriptor for a service named s. + // It returns nil if not found. + ByName(s Name) ServiceDescriptor + + doNotImplement +} + +// MethodDescriptor describes a method and +// corresponds with the google.protobuf.MethodDescriptorProto message. +type MethodDescriptor interface { + Descriptor + + // Input is the input message descriptor. + Input() MessageDescriptor + // Output is the output message descriptor. + Output() MessageDescriptor + // IsStreamingClient reports whether the client streams multiple messages. + IsStreamingClient() bool + // IsStreamingServer reports whether the server streams multiple messages. + IsStreamingServer() bool + + isMethodDescriptor +} +type isMethodDescriptor interface{ ProtoType(MethodDescriptor) } + +// MethodDescriptors is a list of method declarations. +type MethodDescriptors interface { + // Len reports the number of methods. + Len() int + // Get returns the ith MethodDescriptor. It panics if out of bounds. + Get(i int) MethodDescriptor + // ByName returns the MethodDescriptor for a service method named s. + // It returns nil if not found. + ByName(s Name) MethodDescriptor + + doNotImplement +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go new file mode 100644 index 000000000..f31981077 --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go @@ -0,0 +1,285 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +import "google.golang.org/protobuf/encoding/protowire" + +// Enum is a reflection interface for a concrete enum value, +// which provides type information and a getter for the enum number. +// Enum does not provide a mutable API since enums are commonly backed by +// Go constants, which are not addressable. +type Enum interface { + // Descriptor returns enum descriptor, which contains only the protobuf + // type information for the enum. + Descriptor() EnumDescriptor + + // Type returns the enum type, which encapsulates both Go and protobuf + // type information. If the Go type information is not needed, + // it is recommended that the enum descriptor be used instead. + Type() EnumType + + // Number returns the enum value as an integer. + Number() EnumNumber +} + +// Message is a reflective interface for a concrete message value, +// encapsulating both type and value information for the message. +// +// Accessor/mutators for individual fields are keyed by FieldDescriptor. +// For non-extension fields, the descriptor must exactly match the +// field known by the parent message. +// For extension fields, the descriptor must implement ExtensionTypeDescriptor, +// extend the parent message (i.e., have the same message FullName), and +// be within the parent's extension range. +// +// Each field Value can be a scalar or a composite type (Message, List, or Map). +// See Value for the Go types associated with a FieldDescriptor. +// Providing a Value that is invalid or of an incorrect type panics. +type Message interface { + // Descriptor returns message descriptor, which contains only the protobuf + // type information for the message. + Descriptor() MessageDescriptor + + // Type returns the message type, which encapsulates both Go and protobuf + // type information. If the Go type information is not needed, + // it is recommended that the message descriptor be used instead. + Type() MessageType + + // New returns a newly allocated and mutable empty message. + New() Message + + // Interface unwraps the message reflection interface and + // returns the underlying ProtoMessage interface. + Interface() ProtoMessage + + // Range iterates over every populated field in an undefined order, + // calling f for each field descriptor and value encountered. + // Range returns immediately if f returns false. + // While iterating, mutating operations may only be performed + // on the current field descriptor. + Range(f func(FieldDescriptor, Value) bool) + + // Has reports whether a field is populated. + // + // Some fields have the property of nullability where it is possible to + // distinguish between the default value of a field and whether the field + // was explicitly populated with the default value. Singular message fields, + // member fields of a oneof, and proto2 scalar fields are nullable. Such + // fields are populated only if explicitly set. + // + // In other cases (aside from the nullable cases above), + // a proto3 scalar field is populated if it contains a non-zero value, and + // a repeated field is populated if it is non-empty. + Has(FieldDescriptor) bool + + // Clear clears the field such that a subsequent Has call reports false. + // + // Clearing an extension field clears both the extension type and value + // associated with the given field number. + // + // Clear is a mutating operation and unsafe for concurrent use. + Clear(FieldDescriptor) + + // Get retrieves the value for a field. + // + // For unpopulated scalars, it returns the default value, where + // the default value of a bytes scalar is guaranteed to be a copy. + // For unpopulated composite types, it returns an empty, read-only view + // of the value; to obtain a mutable reference, use Mutable. + Get(FieldDescriptor) Value + + // Set stores the value for a field. + // + // For a field belonging to a oneof, it implicitly clears any other field + // that may be currently set within the same oneof. + // For extension fields, it implicitly stores the provided ExtensionType. + // When setting a composite type, it is unspecified whether the stored value + // aliases the source's memory in any way. If the composite value is an + // empty, read-only value, then it panics. + // + // Set is a mutating operation and unsafe for concurrent use. + Set(FieldDescriptor, Value) + + // Mutable returns a mutable reference to a composite type. + // + // If the field is unpopulated, it may allocate a composite value. + // For a field belonging to a oneof, it implicitly clears any other field + // that may be currently set within the same oneof. + // For extension fields, it implicitly stores the provided ExtensionType + // if not already stored. + // It panics if the field does not contain a composite type. + // + // Mutable is a mutating operation and unsafe for concurrent use. + Mutable(FieldDescriptor) Value + + // NewField returns a new value that is assignable to the field + // for the given descriptor. For scalars, this returns the default value. + // For lists, maps, and messages, this returns a new, empty, mutable value. + NewField(FieldDescriptor) Value + + // WhichOneof reports which field within the oneof is populated, + // returning nil if none are populated. + // It panics if the oneof descriptor does not belong to this message. + WhichOneof(OneofDescriptor) FieldDescriptor + + // GetUnknown retrieves the entire list of unknown fields. + // The caller may only mutate the contents of the RawFields + // if the mutated bytes are stored back into the message with SetUnknown. + GetUnknown() RawFields + + // SetUnknown stores an entire list of unknown fields. + // The raw fields must be syntactically valid according to the wire format. + // An implementation may panic if this is not the case. + // Once stored, the caller must not mutate the content of the RawFields. + // An empty RawFields may be passed to clear the fields. + // + // SetUnknown is a mutating operation and unsafe for concurrent use. + SetUnknown(RawFields) + + // IsValid reports whether the message is valid. + // + // An invalid message is an empty, read-only value. + // + // An invalid message often corresponds to a nil pointer of the concrete + // message type, but the details are implementation dependent. + // Validity is not part of the protobuf data model, and may not + // be preserved in marshaling or other operations. + IsValid() bool + + // ProtoMethods returns optional fast-path implementions of various operations. + // This method may return nil. + // + // The returned methods type is identical to + // "google.golang.org/protobuf/runtime/protoiface".Methods. + // Consult the protoiface package documentation for details. + ProtoMethods() *methods +} + +// RawFields is the raw bytes for an ordered sequence of fields. +// Each field contains both the tag (representing field number and wire type), +// and also the wire data itself. +type RawFields []byte + +// IsValid reports whether b is syntactically correct wire format. +func (b RawFields) IsValid() bool { + for len(b) > 0 { + _, _, n := protowire.ConsumeField(b) + if n < 0 { + return false + } + b = b[n:] + } + return true +} + +// List is a zero-indexed, ordered list. +// The element Value type is determined by FieldDescriptor.Kind. +// Providing a Value that is invalid or of an incorrect type panics. +type List interface { + // Len reports the number of entries in the List. + // Get, Set, and Truncate panic with out of bound indexes. + Len() int + + // Get retrieves the value at the given index. + // It never returns an invalid value. + Get(int) Value + + // Set stores a value for the given index. + // When setting a composite type, it is unspecified whether the set + // value aliases the source's memory in any way. + // + // Set is a mutating operation and unsafe for concurrent use. + Set(int, Value) + + // Append appends the provided value to the end of the list. + // When appending a composite type, it is unspecified whether the appended + // value aliases the source's memory in any way. + // + // Append is a mutating operation and unsafe for concurrent use. + Append(Value) + + // AppendMutable appends a new, empty, mutable message value to the end + // of the list and returns it. + // It panics if the list does not contain a message type. + AppendMutable() Value + + // Truncate truncates the list to a smaller length. + // + // Truncate is a mutating operation and unsafe for concurrent use. + Truncate(int) + + // NewElement returns a new value for a list element. + // For enums, this returns the first enum value. + // For other scalars, this returns the zero value. + // For messages, this returns a new, empty, mutable value. + NewElement() Value + + // IsValid reports whether the list is valid. + // + // An invalid list is an empty, read-only value. + // + // Validity is not part of the protobuf data model, and may not + // be preserved in marshaling or other operations. + IsValid() bool +} + +// Map is an unordered, associative map. +// The entry MapKey type is determined by FieldDescriptor.MapKey.Kind. +// The entry Value type is determined by FieldDescriptor.MapValue.Kind. +// Providing a MapKey or Value that is invalid or of an incorrect type panics. +type Map interface { + // Len reports the number of elements in the map. + Len() int + + // Range iterates over every map entry in an undefined order, + // calling f for each key and value encountered. + // Range calls f Len times unless f returns false, which stops iteration. + // While iterating, mutating operations may only be performed + // on the current map key. + Range(f func(MapKey, Value) bool) + + // Has reports whether an entry with the given key is in the map. + Has(MapKey) bool + + // Clear clears the entry associated with they given key. + // The operation does nothing if there is no entry associated with the key. + // + // Clear is a mutating operation and unsafe for concurrent use. + Clear(MapKey) + + // Get retrieves the value for an entry with the given key. + // It returns an invalid value for non-existent entries. + Get(MapKey) Value + + // Set stores the value for an entry with the given key. + // It panics when given a key or value that is invalid or the wrong type. + // When setting a composite type, it is unspecified whether the set + // value aliases the source's memory in any way. + // + // Set is a mutating operation and unsafe for concurrent use. + Set(MapKey, Value) + + // Mutable retrieves a mutable reference to the entry for the given key. + // If no entry exists for the key, it creates a new, empty, mutable value + // and stores it as the entry for the key. + // It panics if the map value is not a message. + Mutable(MapKey) Value + + // NewValue returns a new value assignable as a map value. + // For enums, this returns the first enum value. + // For other scalars, this returns the zero value. + // For messages, this returns a new, empty, mutable value. + NewValue() Value + + // IsValid reports whether the map is valid. + // + // An invalid map is an empty, read-only value. + // + // An invalid message often corresponds to a nil Go map value, + // but the details are implementation dependent. + // Validity is not part of the protobuf data model, and may not + // be preserved in marshaling or other operations. + IsValid() bool +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go new file mode 100644 index 000000000..918e685e1 --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go @@ -0,0 +1,59 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build purego appengine + +package protoreflect + +import "google.golang.org/protobuf/internal/pragma" + +type valueType int + +const ( + nilType valueType = iota + boolType + int32Type + int64Type + uint32Type + uint64Type + float32Type + float64Type + stringType + bytesType + enumType + ifaceType +) + +// value is a union where only one type can be represented at a time. +// This uses a distinct field for each type. This is type safe in Go, but +// occupies more memory than necessary (72B). +type value struct { + pragma.DoNotCompare // 0B + + typ valueType // 8B + num uint64 // 8B + str string // 16B + bin []byte // 24B + iface interface{} // 16B +} + +func valueOfString(v string) Value { + return Value{typ: stringType, str: v} +} +func valueOfBytes(v []byte) Value { + return Value{typ: bytesType, bin: v} +} +func valueOfIface(v interface{}) Value { + return Value{typ: ifaceType, iface: v} +} + +func (v Value) getString() string { + return v.str +} +func (v Value) getBytes() []byte { + return v.bin +} +func (v Value) getIface() interface{} { + return v.iface +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go new file mode 100644 index 000000000..5a3414724 --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go @@ -0,0 +1,411 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +import ( + "fmt" + "math" +) + +// Value is a union where only one Go type may be set at a time. +// The Value is used to represent all possible values a field may take. +// The following shows which Go type is used to represent each proto Kind: +// +// ╔════════════╤═════════════════════════════════════╗ +// ║ Go type │ Protobuf kind ║ +// ╠════════════╪═════════════════════════════════════╣ +// ║ bool │ BoolKind ║ +// ║ int32 │ Int32Kind, Sint32Kind, Sfixed32Kind ║ +// ║ int64 │ Int64Kind, Sint64Kind, Sfixed64Kind ║ +// ║ uint32 │ Uint32Kind, Fixed32Kind ║ +// ║ uint64 │ Uint64Kind, Fixed64Kind ║ +// ║ float32 │ FloatKind ║ +// ║ float64 │ DoubleKind ║ +// ║ string │ StringKind ║ +// ║ []byte │ BytesKind ║ +// ║ EnumNumber │ EnumKind ║ +// ║ Message │ MessageKind, GroupKind ║ +// ╚════════════╧═════════════════════════════════════╝ +// +// Multiple protobuf Kinds may be represented by a single Go type if the type +// can losslessly represent the information for the proto kind. For example, +// Int64Kind, Sint64Kind, and Sfixed64Kind are all represented by int64, +// but use different integer encoding methods. +// +// The List or Map types are used if the field cardinality is repeated. +// A field is a List if FieldDescriptor.IsList reports true. +// A field is a Map if FieldDescriptor.IsMap reports true. +// +// Converting to/from a Value and a concrete Go value panics on type mismatch. +// For example, ValueOf("hello").Int() panics because this attempts to +// retrieve an int64 from a string. +type Value value + +// The protoreflect API uses a custom Value union type instead of interface{} +// to keep the future open for performance optimizations. Using an interface{} +// always incurs an allocation for primitives (e.g., int64) since it needs to +// be boxed on the heap (as interfaces can only contain pointers natively). +// Instead, we represent the Value union as a flat struct that internally keeps +// track of which type is set. Using unsafe, the Value union can be reduced +// down to 24B, which is identical in size to a slice. +// +// The latest compiler (Go1.11) currently suffers from some limitations: +// • With inlining, the compiler should be able to statically prove that +// only one of these switch cases are taken and inline one specific case. +// See https://golang.org/issue/22310. + +// ValueOf returns a Value initialized with the concrete value stored in v. +// This panics if the type does not match one of the allowed types in the +// Value union. +func ValueOf(v interface{}) Value { + switch v := v.(type) { + case nil: + return Value{} + case bool: + return ValueOfBool(v) + case int32: + return ValueOfInt32(v) + case int64: + return ValueOfInt64(v) + case uint32: + return ValueOfUint32(v) + case uint64: + return ValueOfUint64(v) + case float32: + return ValueOfFloat32(v) + case float64: + return ValueOfFloat64(v) + case string: + return ValueOfString(v) + case []byte: + return ValueOfBytes(v) + case EnumNumber: + return ValueOfEnum(v) + case Message, List, Map: + return valueOfIface(v) + case ProtoMessage: + panic(fmt.Sprintf("invalid proto.Message(%T) type, expected a protoreflect.Message type", v)) + default: + panic(fmt.Sprintf("invalid type: %T", v)) + } +} + +// ValueOfBool returns a new boolean value. +func ValueOfBool(v bool) Value { + if v { + return Value{typ: boolType, num: 1} + } else { + return Value{typ: boolType, num: 0} + } +} + +// ValueOfInt32 returns a new int32 value. +func ValueOfInt32(v int32) Value { + return Value{typ: int32Type, num: uint64(v)} +} + +// ValueOfInt64 returns a new int64 value. +func ValueOfInt64(v int64) Value { + return Value{typ: int64Type, num: uint64(v)} +} + +// ValueOfUint32 returns a new uint32 value. +func ValueOfUint32(v uint32) Value { + return Value{typ: uint32Type, num: uint64(v)} +} + +// ValueOfUint64 returns a new uint64 value. +func ValueOfUint64(v uint64) Value { + return Value{typ: uint64Type, num: v} +} + +// ValueOfFloat32 returns a new float32 value. +func ValueOfFloat32(v float32) Value { + return Value{typ: float32Type, num: uint64(math.Float64bits(float64(v)))} +} + +// ValueOfFloat64 returns a new float64 value. +func ValueOfFloat64(v float64) Value { + return Value{typ: float64Type, num: uint64(math.Float64bits(float64(v)))} +} + +// ValueOfString returns a new string value. +func ValueOfString(v string) Value { + return valueOfString(v) +} + +// ValueOfBytes returns a new bytes value. +func ValueOfBytes(v []byte) Value { + return valueOfBytes(v[:len(v):len(v)]) +} + +// ValueOfEnum returns a new enum value. +func ValueOfEnum(v EnumNumber) Value { + return Value{typ: enumType, num: uint64(v)} +} + +// ValueOfMessage returns a new Message value. +func ValueOfMessage(v Message) Value { + return valueOfIface(v) +} + +// ValueOfList returns a new List value. +func ValueOfList(v List) Value { + return valueOfIface(v) +} + +// ValueOfMap returns a new Map value. +func ValueOfMap(v Map) Value { + return valueOfIface(v) +} + +// IsValid reports whether v is populated with a value. +func (v Value) IsValid() bool { + return v.typ != nilType +} + +// Interface returns v as an interface{}. +// +// Invariant: v == ValueOf(v).Interface() +func (v Value) Interface() interface{} { + switch v.typ { + case nilType: + return nil + case boolType: + return v.Bool() + case int32Type: + return int32(v.Int()) + case int64Type: + return int64(v.Int()) + case uint32Type: + return uint32(v.Uint()) + case uint64Type: + return uint64(v.Uint()) + case float32Type: + return float32(v.Float()) + case float64Type: + return float64(v.Float()) + case stringType: + return v.String() + case bytesType: + return v.Bytes() + case enumType: + return v.Enum() + default: + return v.getIface() + } +} + +func (v Value) typeName() string { + switch v.typ { + case nilType: + return "nil" + case boolType: + return "bool" + case int32Type: + return "int32" + case int64Type: + return "int64" + case uint32Type: + return "uint32" + case uint64Type: + return "uint64" + case float32Type: + return "float32" + case float64Type: + return "float64" + case stringType: + return "string" + case bytesType: + return "bytes" + case enumType: + return "enum" + default: + switch v := v.getIface().(type) { + case Message: + return "message" + case List: + return "list" + case Map: + return "map" + default: + return fmt.Sprintf("<unknown: %T>", v) + } + } +} + +func (v Value) panicMessage(what string) string { + return fmt.Sprintf("type mismatch: cannot convert %v to %s", v.typeName(), what) +} + +// Bool returns v as a bool and panics if the type is not a bool. +func (v Value) Bool() bool { + switch v.typ { + case boolType: + return v.num > 0 + default: + panic(v.panicMessage("bool")) + } +} + +// Int returns v as a int64 and panics if the type is not a int32 or int64. +func (v Value) Int() int64 { + switch v.typ { + case int32Type, int64Type: + return int64(v.num) + default: + panic(v.panicMessage("int")) + } +} + +// Uint returns v as a uint64 and panics if the type is not a uint32 or uint64. +func (v Value) Uint() uint64 { + switch v.typ { + case uint32Type, uint64Type: + return uint64(v.num) + default: + panic(v.panicMessage("uint")) + } +} + +// Float returns v as a float64 and panics if the type is not a float32 or float64. +func (v Value) Float() float64 { + switch v.typ { + case float32Type, float64Type: + return math.Float64frombits(uint64(v.num)) + default: + panic(v.panicMessage("float")) + } +} + +// String returns v as a string. Since this method implements fmt.Stringer, +// this returns the formatted string value for any non-string type. +func (v Value) String() string { + switch v.typ { + case stringType: + return v.getString() + default: + return fmt.Sprint(v.Interface()) + } +} + +// Bytes returns v as a []byte and panics if the type is not a []byte. +func (v Value) Bytes() []byte { + switch v.typ { + case bytesType: + return v.getBytes() + default: + panic(v.panicMessage("bytes")) + } +} + +// Enum returns v as a EnumNumber and panics if the type is not a EnumNumber. +func (v Value) Enum() EnumNumber { + switch v.typ { + case enumType: + return EnumNumber(v.num) + default: + panic(v.panicMessage("enum")) + } +} + +// Message returns v as a Message and panics if the type is not a Message. +func (v Value) Message() Message { + switch vi := v.getIface().(type) { + case Message: + return vi + default: + panic(v.panicMessage("message")) + } +} + +// List returns v as a List and panics if the type is not a List. +func (v Value) List() List { + switch vi := v.getIface().(type) { + case List: + return vi + default: + panic(v.panicMessage("list")) + } +} + +// Map returns v as a Map and panics if the type is not a Map. +func (v Value) Map() Map { + switch vi := v.getIface().(type) { + case Map: + return vi + default: + panic(v.panicMessage("map")) + } +} + +// MapKey returns v as a MapKey and panics for invalid MapKey types. +func (v Value) MapKey() MapKey { + switch v.typ { + case boolType, int32Type, int64Type, uint32Type, uint64Type, stringType: + return MapKey(v) + default: + panic(v.panicMessage("map key")) + } +} + +// MapKey is used to index maps, where the Go type of the MapKey must match +// the specified key Kind (see MessageDescriptor.IsMapEntry). +// The following shows what Go type is used to represent each proto Kind: +// +// ╔═════════╤═════════════════════════════════════╗ +// ║ Go type │ Protobuf kind ║ +// ╠═════════╪═════════════════════════════════════╣ +// ║ bool │ BoolKind ║ +// ║ int32 │ Int32Kind, Sint32Kind, Sfixed32Kind ║ +// ║ int64 │ Int64Kind, Sint64Kind, Sfixed64Kind ║ +// ║ uint32 │ Uint32Kind, Fixed32Kind ║ +// ║ uint64 │ Uint64Kind, Fixed64Kind ║ +// ║ string │ StringKind ║ +// ╚═════════╧═════════════════════════════════════╝ +// +// A MapKey is constructed and accessed through a Value: +// k := ValueOf("hash").MapKey() // convert string to MapKey +// s := k.String() // convert MapKey to string +// +// The MapKey is a strict subset of valid types used in Value; +// converting a Value to a MapKey with an invalid type panics. +type MapKey value + +// IsValid reports whether k is populated with a value. +func (k MapKey) IsValid() bool { + return Value(k).IsValid() +} + +// Interface returns k as an interface{}. +func (k MapKey) Interface() interface{} { + return Value(k).Interface() +} + +// Bool returns k as a bool and panics if the type is not a bool. +func (k MapKey) Bool() bool { + return Value(k).Bool() +} + +// Int returns k as a int64 and panics if the type is not a int32 or int64. +func (k MapKey) Int() int64 { + return Value(k).Int() +} + +// Uint returns k as a uint64 and panics if the type is not a uint32 or uint64. +func (k MapKey) Uint() uint64 { + return Value(k).Uint() +} + +// String returns k as a string. Since this method implements fmt.Stringer, +// this returns the formatted string value for any non-string type. +func (k MapKey) String() string { + return Value(k).String() +} + +// Value returns k as a Value. +func (k MapKey) Value() Value { + return Value(k) +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go new file mode 100644 index 000000000..c45debdca --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go @@ -0,0 +1,98 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !purego,!appengine + +package protoreflect + +import ( + "unsafe" + + "google.golang.org/protobuf/internal/pragma" +) + +type ( + stringHeader struct { + Data unsafe.Pointer + Len int + } + sliceHeader struct { + Data unsafe.Pointer + Len int + Cap int + } + ifaceHeader struct { + Type unsafe.Pointer + Data unsafe.Pointer + } +) + +var ( + nilType = typeOf(nil) + boolType = typeOf(*new(bool)) + int32Type = typeOf(*new(int32)) + int64Type = typeOf(*new(int64)) + uint32Type = typeOf(*new(uint32)) + uint64Type = typeOf(*new(uint64)) + float32Type = typeOf(*new(float32)) + float64Type = typeOf(*new(float64)) + stringType = typeOf(*new(string)) + bytesType = typeOf(*new([]byte)) + enumType = typeOf(*new(EnumNumber)) +) + +// typeOf returns a pointer to the Go type information. +// The pointer is comparable and equal if and only if the types are identical. +func typeOf(t interface{}) unsafe.Pointer { + return (*ifaceHeader)(unsafe.Pointer(&t)).Type +} + +// value is a union where only one type can be represented at a time. +// The struct is 24B large on 64-bit systems and requires the minimum storage +// necessary to represent each possible type. +// +// The Go GC needs to be able to scan variables containing pointers. +// As such, pointers and non-pointers cannot be intermixed. +type value struct { + pragma.DoNotCompare // 0B + + // typ stores the type of the value as a pointer to the Go type. + typ unsafe.Pointer // 8B + + // ptr stores the data pointer for a String, Bytes, or interface value. + ptr unsafe.Pointer // 8B + + // num stores a Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, or + // Enum value as a raw uint64. + // + // It is also used to store the length of a String or Bytes value; + // the capacity is ignored. + num uint64 // 8B +} + +func valueOfString(v string) Value { + p := (*stringHeader)(unsafe.Pointer(&v)) + return Value{typ: stringType, ptr: p.Data, num: uint64(len(v))} +} +func valueOfBytes(v []byte) Value { + p := (*sliceHeader)(unsafe.Pointer(&v)) + return Value{typ: bytesType, ptr: p.Data, num: uint64(len(v))} +} +func valueOfIface(v interface{}) Value { + p := (*ifaceHeader)(unsafe.Pointer(&v)) + return Value{typ: p.Type, ptr: p.Data} +} + +func (v Value) getString() (x string) { + *(*stringHeader)(unsafe.Pointer(&x)) = stringHeader{Data: v.ptr, Len: int(v.num)} + return x +} +func (v Value) getBytes() (x []byte) { + *(*sliceHeader)(unsafe.Pointer(&x)) = sliceHeader{Data: v.ptr, Len: int(v.num), Cap: int(v.num)} + return x +} +func (v Value) getIface() (x interface{}) { + *(*ifaceHeader)(unsafe.Pointer(&x)) = ifaceHeader{Type: v.typ, Data: v.ptr} + return x +} diff --git a/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go b/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go new file mode 100644 index 000000000..66dcbcd0d --- /dev/null +++ b/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go @@ -0,0 +1,869 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protoregistry provides data structures to register and lookup +// protobuf descriptor types. +// +// The Files registry contains file descriptors and provides the ability +// to iterate over the files or lookup a specific descriptor within the files. +// Files only contains protobuf descriptors and has no understanding of Go +// type information that may be associated with each descriptor. +// +// The Types registry contains descriptor types for which there is a known +// Go type associated with that descriptor. It provides the ability to iterate +// over the registered types or lookup a type by name. +package protoregistry + +import ( + "fmt" + "os" + "strings" + "sync" + + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// conflictPolicy configures the policy for handling registration conflicts. +// +// It can be over-written at compile time with a linker-initialized variable: +// go build -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" +// +// It can be over-written at program execution with an environment variable: +// GOLANG_PROTOBUF_REGISTRATION_CONFLICT=warn ./main +// +// Neither of the above are covered by the compatibility promise and +// may be removed in a future release of this module. +var conflictPolicy = "panic" // "panic" | "warn" | "ignore" + +// ignoreConflict reports whether to ignore a registration conflict +// given the descriptor being registered and the error. +// It is a variable so that the behavior is easily overridden in another file. +var ignoreConflict = func(d protoreflect.Descriptor, err error) bool { + const env = "GOLANG_PROTOBUF_REGISTRATION_CONFLICT" + const faq = "https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflict" + policy := conflictPolicy + if v := os.Getenv(env); v != "" { + policy = v + } + switch policy { + case "panic": + panic(fmt.Sprintf("%v\nSee %v\n", err, faq)) + case "warn": + fmt.Fprintf(os.Stderr, "WARNING: %v\nSee %v\n\n", err, faq) + return true + case "ignore": + return true + default: + panic("invalid " + env + " value: " + os.Getenv(env)) + } +} + +var globalMutex sync.RWMutex + +// GlobalFiles is a global registry of file descriptors. +var GlobalFiles *Files = new(Files) + +// GlobalTypes is the registry used by default for type lookups +// unless a local registry is provided by the user. +var GlobalTypes *Types = new(Types) + +// NotFound is a sentinel error value to indicate that the type was not found. +// +// Since registry lookup can happen in the critical performance path, resolvers +// must return this exact error value, not an error wrapping it. +var NotFound = errors.New("not found") + +// Files is a registry for looking up or iterating over files and the +// descriptors contained within them. +// The Find and Range methods are safe for concurrent use. +type Files struct { + // The map of descsByName contains: + // EnumDescriptor + // EnumValueDescriptor + // MessageDescriptor + // ExtensionDescriptor + // ServiceDescriptor + // *packageDescriptor + // + // Note that files are stored as a slice, since a package may contain + // multiple files. Only top-level declarations are registered. + // Note that enum values are in the top-level since that are in the same + // scope as the parent enum. + descsByName map[protoreflect.FullName]interface{} + filesByPath map[string]protoreflect.FileDescriptor +} + +type packageDescriptor struct { + files []protoreflect.FileDescriptor +} + +// RegisterFile registers the provided file descriptor. +// +// If any descriptor within the file conflicts with the descriptor of any +// previously registered file (e.g., two enums with the same full name), +// then the file is not registered and an error is returned. +// +// It is permitted for multiple files to have the same file path. +func (r *Files) RegisterFile(file protoreflect.FileDescriptor) error { + if r == GlobalFiles { + globalMutex.Lock() + defer globalMutex.Unlock() + } + if r.descsByName == nil { + r.descsByName = map[protoreflect.FullName]interface{}{ + "": &packageDescriptor{}, + } + r.filesByPath = make(map[string]protoreflect.FileDescriptor) + } + path := file.Path() + if prev := r.filesByPath[path]; prev != nil { + r.checkGenProtoConflict(path) + err := errors.New("file %q is already registered", file.Path()) + err = amendErrorWithCaller(err, prev, file) + if r == GlobalFiles && ignoreConflict(file, err) { + err = nil + } + return err + } + + for name := file.Package(); name != ""; name = name.Parent() { + switch prev := r.descsByName[name]; prev.(type) { + case nil, *packageDescriptor: + default: + err := errors.New("file %q has a package name conflict over %v", file.Path(), name) + err = amendErrorWithCaller(err, prev, file) + if r == GlobalFiles && ignoreConflict(file, err) { + err = nil + } + return err + } + } + var err error + var hasConflict bool + rangeTopLevelDescriptors(file, func(d protoreflect.Descriptor) { + if prev := r.descsByName[d.FullName()]; prev != nil { + hasConflict = true + err = errors.New("file %q has a name conflict over %v", file.Path(), d.FullName()) + err = amendErrorWithCaller(err, prev, file) + if r == GlobalFiles && ignoreConflict(d, err) { + err = nil + } + } + }) + if hasConflict { + return err + } + + for name := file.Package(); name != ""; name = name.Parent() { + if r.descsByName[name] == nil { + r.descsByName[name] = &packageDescriptor{} + } + } + p := r.descsByName[file.Package()].(*packageDescriptor) + p.files = append(p.files, file) + rangeTopLevelDescriptors(file, func(d protoreflect.Descriptor) { + r.descsByName[d.FullName()] = d + }) + r.filesByPath[path] = file + return nil +} + +// Several well-known types were hosted in the google.golang.org/genproto module +// but were later moved to this module. To avoid a weak dependency on the +// genproto module (and its relatively large set of transitive dependencies), +// we rely on a registration conflict to determine whether the genproto version +// is too old (i.e., does not contain aliases to the new type declarations). +func (r *Files) checkGenProtoConflict(path string) { + if r != GlobalFiles { + return + } + var prevPath string + const prevModule = "google.golang.org/genproto" + const prevVersion = "cb27e3aa (May 26th, 2020)" + switch path { + case "google/protobuf/field_mask.proto": + prevPath = prevModule + "/protobuf/field_mask" + case "google/protobuf/api.proto": + prevPath = prevModule + "/protobuf/api" + case "google/protobuf/type.proto": + prevPath = prevModule + "/protobuf/ptype" + case "google/protobuf/source_context.proto": + prevPath = prevModule + "/protobuf/source_context" + default: + return + } + pkgName := strings.TrimSuffix(strings.TrimPrefix(path, "google/protobuf/"), ".proto") + pkgName = strings.Replace(pkgName, "_", "", -1) + "pb" // e.g., "field_mask" => "fieldmaskpb" + currPath := "google.golang.org/protobuf/types/known/" + pkgName + panic(fmt.Sprintf(""+ + "duplicate registration of %q\n"+ + "\n"+ + "The generated definition for this file has moved:\n"+ + "\tfrom: %q\n"+ + "\tto: %q\n"+ + "A dependency on the %q module must\n"+ + "be at version %v or higher.\n"+ + "\n"+ + "Upgrade the dependency by running:\n"+ + "\tgo get -u %v\n", + path, prevPath, currPath, prevModule, prevVersion, prevPath)) +} + +// FindDescriptorByName looks up a descriptor by the full name. +// +// This returns (nil, NotFound) if not found. +func (r *Files) FindDescriptorByName(name protoreflect.FullName) (protoreflect.Descriptor, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + prefix := name + suffix := nameSuffix("") + for prefix != "" { + if d, ok := r.descsByName[prefix]; ok { + switch d := d.(type) { + case protoreflect.EnumDescriptor: + if d.FullName() == name { + return d, nil + } + case protoreflect.EnumValueDescriptor: + if d.FullName() == name { + return d, nil + } + case protoreflect.MessageDescriptor: + if d.FullName() == name { + return d, nil + } + if d := findDescriptorInMessage(d, suffix); d != nil && d.FullName() == name { + return d, nil + } + case protoreflect.ExtensionDescriptor: + if d.FullName() == name { + return d, nil + } + case protoreflect.ServiceDescriptor: + if d.FullName() == name { + return d, nil + } + if d := d.Methods().ByName(suffix.Pop()); d != nil && d.FullName() == name { + return d, nil + } + } + return nil, NotFound + } + prefix = prefix.Parent() + suffix = nameSuffix(name[len(prefix)+len("."):]) + } + return nil, NotFound +} + +func findDescriptorInMessage(md protoreflect.MessageDescriptor, suffix nameSuffix) protoreflect.Descriptor { + name := suffix.Pop() + if suffix == "" { + if ed := md.Enums().ByName(name); ed != nil { + return ed + } + for i := md.Enums().Len() - 1; i >= 0; i-- { + if vd := md.Enums().Get(i).Values().ByName(name); vd != nil { + return vd + } + } + if xd := md.Extensions().ByName(name); xd != nil { + return xd + } + if fd := md.Fields().ByName(name); fd != nil { + return fd + } + if od := md.Oneofs().ByName(name); od != nil { + return od + } + } + if md := md.Messages().ByName(name); md != nil { + if suffix == "" { + return md + } + return findDescriptorInMessage(md, suffix) + } + return nil +} + +type nameSuffix string + +func (s *nameSuffix) Pop() (name protoreflect.Name) { + if i := strings.IndexByte(string(*s), '.'); i >= 0 { + name, *s = protoreflect.Name((*s)[:i]), (*s)[i+1:] + } else { + name, *s = protoreflect.Name((*s)), "" + } + return name +} + +// FindFileByPath looks up a file by the path. +// +// This returns (nil, NotFound) if not found. +func (r *Files) FindFileByPath(path string) (protoreflect.FileDescriptor, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if fd, ok := r.filesByPath[path]; ok { + return fd, nil + } + return nil, NotFound +} + +// NumFiles reports the number of registered files. +func (r *Files) NumFiles() int { + if r == nil { + return 0 + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return len(r.filesByPath) +} + +// RangeFiles iterates over all registered files while f returns true. +// The iteration order is undefined. +func (r *Files) RangeFiles(f func(protoreflect.FileDescriptor) bool) { + if r == nil { + return + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, file := range r.filesByPath { + if !f(file) { + return + } + } +} + +// NumFilesByPackage reports the number of registered files in a proto package. +func (r *Files) NumFilesByPackage(name protoreflect.FullName) int { + if r == nil { + return 0 + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + p, ok := r.descsByName[name].(*packageDescriptor) + if !ok { + return 0 + } + return len(p.files) +} + +// RangeFilesByPackage iterates over all registered files in a given proto package +// while f returns true. The iteration order is undefined. +func (r *Files) RangeFilesByPackage(name protoreflect.FullName, f func(protoreflect.FileDescriptor) bool) { + if r == nil { + return + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + p, ok := r.descsByName[name].(*packageDescriptor) + if !ok { + return + } + for _, file := range p.files { + if !f(file) { + return + } + } +} + +// rangeTopLevelDescriptors iterates over all top-level descriptors in a file +// which will be directly entered into the registry. +func rangeTopLevelDescriptors(fd protoreflect.FileDescriptor, f func(protoreflect.Descriptor)) { + eds := fd.Enums() + for i := eds.Len() - 1; i >= 0; i-- { + f(eds.Get(i)) + vds := eds.Get(i).Values() + for i := vds.Len() - 1; i >= 0; i-- { + f(vds.Get(i)) + } + } + mds := fd.Messages() + for i := mds.Len() - 1; i >= 0; i-- { + f(mds.Get(i)) + } + xds := fd.Extensions() + for i := xds.Len() - 1; i >= 0; i-- { + f(xds.Get(i)) + } + sds := fd.Services() + for i := sds.Len() - 1; i >= 0; i-- { + f(sds.Get(i)) + } +} + +// MessageTypeResolver is an interface for looking up messages. +// +// A compliant implementation must deterministically return the same type +// if no error is encountered. +// +// The Types type implements this interface. +type MessageTypeResolver interface { + // FindMessageByName looks up a message by its full name. + // E.g., "google.protobuf.Any" + // + // This return (nil, NotFound) if not found. + FindMessageByName(message protoreflect.FullName) (protoreflect.MessageType, error) + + // FindMessageByURL looks up a message by a URL identifier. + // See documentation on google.protobuf.Any.type_url for the URL format. + // + // This returns (nil, NotFound) if not found. + FindMessageByURL(url string) (protoreflect.MessageType, error) +} + +// ExtensionTypeResolver is an interface for looking up extensions. +// +// A compliant implementation must deterministically return the same type +// if no error is encountered. +// +// The Types type implements this interface. +type ExtensionTypeResolver interface { + // FindExtensionByName looks up a extension field by the field's full name. + // Note that this is the full name of the field as determined by + // where the extension is declared and is unrelated to the full name of the + // message being extended. + // + // This returns (nil, NotFound) if not found. + FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) + + // FindExtensionByNumber looks up a extension field by the field number + // within some parent message, identified by full name. + // + // This returns (nil, NotFound) if not found. + FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) +} + +var ( + _ MessageTypeResolver = (*Types)(nil) + _ ExtensionTypeResolver = (*Types)(nil) +) + +// Types is a registry for looking up or iterating over descriptor types. +// The Find and Range methods are safe for concurrent use. +type Types struct { + typesByName typesByName + extensionsByMessage extensionsByMessage + + numEnums int + numMessages int + numExtensions int +} + +type ( + typesByName map[protoreflect.FullName]interface{} + extensionsByMessage map[protoreflect.FullName]extensionsByNumber + extensionsByNumber map[protoreflect.FieldNumber]protoreflect.ExtensionType +) + +// RegisterMessage registers the provided message type. +// +// If a naming conflict occurs, the type is not registered and an error is returned. +func (r *Types) RegisterMessage(mt protoreflect.MessageType) error { + // Under rare circumstances getting the descriptor might recursively + // examine the registry, so fetch it before locking. + md := mt.Descriptor() + + if r == GlobalTypes { + globalMutex.Lock() + defer globalMutex.Unlock() + } + + if err := r.register("message", md, mt); err != nil { + return err + } + r.numMessages++ + return nil +} + +// RegisterEnum registers the provided enum type. +// +// If a naming conflict occurs, the type is not registered and an error is returned. +func (r *Types) RegisterEnum(et protoreflect.EnumType) error { + // Under rare circumstances getting the descriptor might recursively + // examine the registry, so fetch it before locking. + ed := et.Descriptor() + + if r == GlobalTypes { + globalMutex.Lock() + defer globalMutex.Unlock() + } + + if err := r.register("enum", ed, et); err != nil { + return err + } + r.numEnums++ + return nil +} + +// RegisterExtension registers the provided extension type. +// +// If a naming conflict occurs, the type is not registered and an error is returned. +func (r *Types) RegisterExtension(xt protoreflect.ExtensionType) error { + // Under rare circumstances getting the descriptor might recursively + // examine the registry, so fetch it before locking. + // + // A known case where this can happen: Fetching the TypeDescriptor for a + // legacy ExtensionDesc can consult the global registry. + xd := xt.TypeDescriptor() + + if r == GlobalTypes { + globalMutex.Lock() + defer globalMutex.Unlock() + } + + field := xd.Number() + message := xd.ContainingMessage().FullName() + if prev := r.extensionsByMessage[message][field]; prev != nil { + err := errors.New("extension number %d is already registered on message %v", field, message) + err = amendErrorWithCaller(err, prev, xt) + if !(r == GlobalTypes && ignoreConflict(xd, err)) { + return err + } + } + + if err := r.register("extension", xd, xt); err != nil { + return err + } + if r.extensionsByMessage == nil { + r.extensionsByMessage = make(extensionsByMessage) + } + if r.extensionsByMessage[message] == nil { + r.extensionsByMessage[message] = make(extensionsByNumber) + } + r.extensionsByMessage[message][field] = xt + r.numExtensions++ + return nil +} + +func (r *Types) register(kind string, desc protoreflect.Descriptor, typ interface{}) error { + name := desc.FullName() + prev := r.typesByName[name] + if prev != nil { + err := errors.New("%v %v is already registered", kind, name) + err = amendErrorWithCaller(err, prev, typ) + if !(r == GlobalTypes && ignoreConflict(desc, err)) { + return err + } + } + if r.typesByName == nil { + r.typesByName = make(typesByName) + } + r.typesByName[name] = typ + return nil +} + +// FindEnumByName looks up an enum by its full name. +// E.g., "google.protobuf.Field.Kind". +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindEnumByName(enum protoreflect.FullName) (protoreflect.EnumType, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if v := r.typesByName[enum]; v != nil { + if et, _ := v.(protoreflect.EnumType); et != nil { + return et, nil + } + return nil, errors.New("found wrong type: got %v, want enum", typeName(v)) + } + return nil, NotFound +} + +// FindMessageByName looks up a message by its full name, +// e.g. "google.protobuf.Any". +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindMessageByName(message protoreflect.FullName) (protoreflect.MessageType, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if v := r.typesByName[message]; v != nil { + if mt, _ := v.(protoreflect.MessageType); mt != nil { + return mt, nil + } + return nil, errors.New("found wrong type: got %v, want message", typeName(v)) + } + return nil, NotFound +} + +// FindMessageByURL looks up a message by a URL identifier. +// See documentation on google.protobuf.Any.type_url for the URL format. +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindMessageByURL(url string) (protoreflect.MessageType, error) { + // This function is similar to FindMessageByName but + // truncates anything before and including '/' in the URL. + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + message := protoreflect.FullName(url) + if i := strings.LastIndexByte(url, '/'); i >= 0 { + message = message[i+len("/"):] + } + + if v := r.typesByName[message]; v != nil { + if mt, _ := v.(protoreflect.MessageType); mt != nil { + return mt, nil + } + return nil, errors.New("found wrong type: got %v, want message", typeName(v)) + } + return nil, NotFound +} + +// FindExtensionByName looks up a extension field by the field's full name. +// Note that this is the full name of the field as determined by +// where the extension is declared and is unrelated to the full name of the +// message being extended. +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if v := r.typesByName[field]; v != nil { + if xt, _ := v.(protoreflect.ExtensionType); xt != nil { + return xt, nil + } + + // MessageSet extensions are special in that the name of the extension + // is the name of the message type used to extend the MessageSet. + // This naming scheme is used by text and JSON serialization. + // + // This feature is protected by the ProtoLegacy flag since MessageSets + // are a proto1 feature that is long deprecated. + if flags.ProtoLegacy { + if _, ok := v.(protoreflect.MessageType); ok { + field := field.Append(messageset.ExtensionName) + if v := r.typesByName[field]; v != nil { + if xt, _ := v.(protoreflect.ExtensionType); xt != nil { + if messageset.IsMessageSetExtension(xt.TypeDescriptor()) { + return xt, nil + } + } + } + } + } + + return nil, errors.New("found wrong type: got %v, want extension", typeName(v)) + } + return nil, NotFound +} + +// FindExtensionByNumber looks up a extension field by the field number +// within some parent message, identified by full name. +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if xt, ok := r.extensionsByMessage[message][field]; ok { + return xt, nil + } + return nil, NotFound +} + +// NumEnums reports the number of registered enums. +func (r *Types) NumEnums() int { + if r == nil { + return 0 + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return r.numEnums +} + +// RangeEnums iterates over all registered enums while f returns true. +// Iteration order is undefined. +func (r *Types) RangeEnums(f func(protoreflect.EnumType) bool) { + if r == nil { + return + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, typ := range r.typesByName { + if et, ok := typ.(protoreflect.EnumType); ok { + if !f(et) { + return + } + } + } +} + +// NumMessages reports the number of registered messages. +func (r *Types) NumMessages() int { + if r == nil { + return 0 + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return r.numMessages +} + +// RangeMessages iterates over all registered messages while f returns true. +// Iteration order is undefined. +func (r *Types) RangeMessages(f func(protoreflect.MessageType) bool) { + if r == nil { + return + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, typ := range r.typesByName { + if mt, ok := typ.(protoreflect.MessageType); ok { + if !f(mt) { + return + } + } + } +} + +// NumExtensions reports the number of registered extensions. +func (r *Types) NumExtensions() int { + if r == nil { + return 0 + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return r.numExtensions +} + +// RangeExtensions iterates over all registered extensions while f returns true. +// Iteration order is undefined. +func (r *Types) RangeExtensions(f func(protoreflect.ExtensionType) bool) { + if r == nil { + return + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, typ := range r.typesByName { + if xt, ok := typ.(protoreflect.ExtensionType); ok { + if !f(xt) { + return + } + } + } +} + +// NumExtensionsByMessage reports the number of registered extensions for +// a given message type. +func (r *Types) NumExtensionsByMessage(message protoreflect.FullName) int { + if r == nil { + return 0 + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return len(r.extensionsByMessage[message]) +} + +// RangeExtensionsByMessage iterates over all registered extensions filtered +// by a given message type while f returns true. Iteration order is undefined. +func (r *Types) RangeExtensionsByMessage(message protoreflect.FullName, f func(protoreflect.ExtensionType) bool) { + if r == nil { + return + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, xt := range r.extensionsByMessage[message] { + if !f(xt) { + return + } + } +} + +func typeName(t interface{}) string { + switch t.(type) { + case protoreflect.EnumType: + return "enum" + case protoreflect.MessageType: + return "message" + case protoreflect.ExtensionType: + return "extension" + default: + return fmt.Sprintf("%T", t) + } +} + +func amendErrorWithCaller(err error, prev, curr interface{}) error { + prevPkg := goPackage(prev) + currPkg := goPackage(curr) + if prevPkg == "" || currPkg == "" || prevPkg == currPkg { + return err + } + return errors.New("%s\n\tpreviously from: %q\n\tcurrently from: %q", err, prevPkg, currPkg) +} + +func goPackage(v interface{}) string { + switch d := v.(type) { + case protoreflect.EnumType: + v = d.Descriptor() + case protoreflect.MessageType: + v = d.Descriptor() + case protoreflect.ExtensionType: + v = d.TypeDescriptor() + } + if d, ok := v.(protoreflect.Descriptor); ok { + v = d.ParentFile() + } + if d, ok := v.(interface{ GoPackagePath() string }); ok { + return d.GoPackagePath() + } + return "" +} diff --git a/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go b/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go new file mode 100644 index 000000000..c58727675 --- /dev/null +++ b/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go @@ -0,0 +1,15 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoiface + +type MessageV1 interface { + Reset() + String() string + ProtoMessage() +} + +type ExtensionRangeV1 struct { + Start, End int32 // both inclusive +} diff --git a/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go b/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go new file mode 100644 index 000000000..32c04f67e --- /dev/null +++ b/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go @@ -0,0 +1,167 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protoiface contains types referenced or implemented by messages. +// +// WARNING: This package should only be imported by message implementations. +// The functionality found in this package should be accessed through +// higher-level abstractions provided by the proto package. +package protoiface + +import ( + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Methods is a set of optional fast-path implementations of various operations. +type Methods = struct { + pragma.NoUnkeyedLiterals + + // Flags indicate support for optional features. + Flags SupportFlags + + // Size returns the size in bytes of the wire-format encoding of a message. + // Marshal must be provided if a custom Size is provided. + Size func(SizeInput) SizeOutput + + // Marshal formats a message in the wire-format encoding to the provided buffer. + // Size should be provided if a custom Marshal is provided. + // It must not return an error for a partial message. + Marshal func(MarshalInput) (MarshalOutput, error) + + // Unmarshal parses the wire-format encoding and merges the result into a message. + // It must not reset the target message or return an error for a partial message. + Unmarshal func(UnmarshalInput) (UnmarshalOutput, error) + + // Merge merges the contents of a source message into a destination message. + Merge func(MergeInput) MergeOutput + + // CheckInitialized returns an error if any required fields in the message are not set. + CheckInitialized func(CheckInitializedInput) (CheckInitializedOutput, error) +} + +// SupportFlags indicate support for optional features. +type SupportFlags = uint64 + +const ( + // SupportMarshalDeterministic reports whether MarshalOptions.Deterministic is supported. + SupportMarshalDeterministic SupportFlags = 1 << iota + + // SupportUnmarshalDiscardUnknown reports whether UnmarshalOptions.DiscardUnknown is supported. + SupportUnmarshalDiscardUnknown +) + +// SizeInput is input to the Size method. +type SizeInput = struct { + pragma.NoUnkeyedLiterals + + Message protoreflect.Message + Flags MarshalInputFlags +} + +// SizeOutput is output from the Size method. +type SizeOutput = struct { + pragma.NoUnkeyedLiterals + + Size int +} + +// MarshalInput is input to the Marshal method. +type MarshalInput = struct { + pragma.NoUnkeyedLiterals + + Message protoreflect.Message + Buf []byte // output is appended to this buffer + Flags MarshalInputFlags +} + +// MarshalOutput is output from the Marshal method. +type MarshalOutput = struct { + pragma.NoUnkeyedLiterals + + Buf []byte // contains marshaled message +} + +// MarshalInputFlags configure the marshaler. +// Most flags correspond to fields in proto.MarshalOptions. +type MarshalInputFlags = uint8 + +const ( + MarshalDeterministic MarshalInputFlags = 1 << iota + MarshalUseCachedSize +) + +// UnmarshalInput is input to the Unmarshal method. +type UnmarshalInput = struct { + pragma.NoUnkeyedLiterals + + Message protoreflect.Message + Buf []byte // input buffer + Flags UnmarshalInputFlags + Resolver interface { + FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) + FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) + } +} + +// UnmarshalOutput is output from the Unmarshal method. +type UnmarshalOutput = struct { + pragma.NoUnkeyedLiterals + + Flags UnmarshalOutputFlags +} + +// UnmarshalInputFlags configure the unmarshaler. +// Most flags correspond to fields in proto.UnmarshalOptions. +type UnmarshalInputFlags = uint8 + +const ( + UnmarshalDiscardUnknown UnmarshalInputFlags = 1 << iota +) + +// UnmarshalOutputFlags are output from the Unmarshal method. +type UnmarshalOutputFlags = uint8 + +const ( + // UnmarshalInitialized may be set on return if all required fields are known to be set. + // If unset, then it does not necessarily indicate that the message is uninitialized, + // only that its status could not be confirmed. + UnmarshalInitialized UnmarshalOutputFlags = 1 << iota +) + +// MergeInput is input to the Merge method. +type MergeInput = struct { + pragma.NoUnkeyedLiterals + + Source protoreflect.Message + Destination protoreflect.Message +} + +// MergeOutput is output from the Merge method. +type MergeOutput = struct { + pragma.NoUnkeyedLiterals + + Flags MergeOutputFlags +} + +// MergeOutputFlags are output from the Merge method. +type MergeOutputFlags = uint8 + +const ( + // MergeComplete reports whether the merge was performed. + // If unset, the merger must have made no changes to the destination. + MergeComplete MergeOutputFlags = 1 << iota +) + +// CheckInitializedInput is input to the CheckInitialized method. +type CheckInitializedInput = struct { + pragma.NoUnkeyedLiterals + + Message protoreflect.Message +} + +// CheckInitializedOutput is output from the CheckInitialized method. +type CheckInitializedOutput = struct { + pragma.NoUnkeyedLiterals +} diff --git a/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go b/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go new file mode 100644 index 000000000..4a1ab7fb3 --- /dev/null +++ b/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go @@ -0,0 +1,44 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protoimpl contains the default implementation for messages +// generated by protoc-gen-go. +// +// WARNING: This package should only ever be imported by generated messages. +// The compatibility agreement covers nothing except for functionality needed +// to keep existing generated messages operational. Breakages that occur due +// to unauthorized usages of this package are not the author's responsibility. +package protoimpl + +import ( + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/filetype" + "google.golang.org/protobuf/internal/impl" +) + +// UnsafeEnabled specifies whether package unsafe can be used. +const UnsafeEnabled = impl.UnsafeEnabled + +type ( + // Types used by generated code in init functions. + DescBuilder = filedesc.Builder + TypeBuilder = filetype.Builder + + // Types used by generated code to implement EnumType, MessageType, and ExtensionType. + EnumInfo = impl.EnumInfo + MessageInfo = impl.MessageInfo + ExtensionInfo = impl.ExtensionInfo + + // Types embedded in generated messages. + MessageState = impl.MessageState + SizeCache = impl.SizeCache + WeakFields = impl.WeakFields + UnknownFields = impl.UnknownFields + ExtensionFields = impl.ExtensionFields + ExtensionFieldV1 = impl.ExtensionField + + Pointer = impl.Pointer +) + +var X impl.Export diff --git a/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go b/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go new file mode 100644 index 000000000..ff094e1ba --- /dev/null +++ b/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go @@ -0,0 +1,56 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoimpl + +import ( + "google.golang.org/protobuf/internal/version" +) + +const ( + // MaxVersion is the maximum supported version for generated .pb.go files. + // It is always the current version of the module. + MaxVersion = version.Minor + + // GenVersion is the runtime version required by generated .pb.go files. + // This is incremented when generated code relies on new functionality + // in the runtime. + GenVersion = 20 + + // MinVersion is the minimum supported version for generated .pb.go files. + // This is incremented when the runtime drops support for old code. + MinVersion = 0 +) + +// EnforceVersion is used by code generated by protoc-gen-go +// to statically enforce minimum and maximum versions of this package. +// A compilation failure implies either that: +// * the runtime package is too old and needs to be updated OR +// * the generated code is too old and needs to be regenerated. +// +// The runtime package can be upgraded by running: +// go get google.golang.org/protobuf +// +// The generated code can be regenerated by running: +// protoc --go_out=${PROTOC_GEN_GO_ARGS} ${PROTO_FILES} +// +// Example usage by generated code: +// const ( +// // Verify that this generated code is sufficiently up-to-date. +// _ = protoimpl.EnforceVersion(genVersion - protoimpl.MinVersion) +// // Verify that runtime/protoimpl is sufficiently up-to-date. +// _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - genVersion) +// ) +// +// The genVersion is the current minor version used to generated the code. +// This compile-time check relies on negative integer overflow of a uint +// being a compilation failure (guaranteed by the Go specification). +type EnforceVersion uint + +// This enforces the following invariant: +// MinVersion ≤ GenVersion ≤ MaxVersion +const ( + _ = EnforceVersion(GenVersion - MinVersion) + _ = EnforceVersion(MaxVersion - GenVersion) +) diff --git a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go new file mode 100644 index 000000000..f77239fc3 --- /dev/null +++ b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go @@ -0,0 +1,4039 @@ +// 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. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/descriptor.proto + +package descriptorpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +type FieldDescriptorProto_Type int32 + +const ( + // 0 is reserved for errors. + // Order is weird for historical reasons. + FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1 + FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2 + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3 + FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4 + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5 + FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6 + FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7 + FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8 + FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9 + // Tag-delimited aggregate. + // Group type is deprecated and not supported in proto3. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. + FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10 + FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11 // Length-delimited aggregate. + // New in version 2. + FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12 + FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13 + FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14 + FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15 + FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16 + FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17 // Uses ZigZag encoding. + FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18 // Uses ZigZag encoding. +) + +// Enum value maps for FieldDescriptorProto_Type. +var ( + FieldDescriptorProto_Type_name = map[int32]string{ + 1: "TYPE_DOUBLE", + 2: "TYPE_FLOAT", + 3: "TYPE_INT64", + 4: "TYPE_UINT64", + 5: "TYPE_INT32", + 6: "TYPE_FIXED64", + 7: "TYPE_FIXED32", + 8: "TYPE_BOOL", + 9: "TYPE_STRING", + 10: "TYPE_GROUP", + 11: "TYPE_MESSAGE", + 12: "TYPE_BYTES", + 13: "TYPE_UINT32", + 14: "TYPE_ENUM", + 15: "TYPE_SFIXED32", + 16: "TYPE_SFIXED64", + 17: "TYPE_SINT32", + 18: "TYPE_SINT64", + } + FieldDescriptorProto_Type_value = map[string]int32{ + "TYPE_DOUBLE": 1, + "TYPE_FLOAT": 2, + "TYPE_INT64": 3, + "TYPE_UINT64": 4, + "TYPE_INT32": 5, + "TYPE_FIXED64": 6, + "TYPE_FIXED32": 7, + "TYPE_BOOL": 8, + "TYPE_STRING": 9, + "TYPE_GROUP": 10, + "TYPE_MESSAGE": 11, + "TYPE_BYTES": 12, + "TYPE_UINT32": 13, + "TYPE_ENUM": 14, + "TYPE_SFIXED32": 15, + "TYPE_SFIXED64": 16, + "TYPE_SINT32": 17, + "TYPE_SINT64": 18, + } +) + +func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type { + p := new(FieldDescriptorProto_Type) + *p = x + return p +} + +func (x FieldDescriptorProto_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_descriptor_proto_enumTypes[0].Descriptor() +} + +func (FieldDescriptorProto_Type) Type() protoreflect.EnumType { + return &file_google_protobuf_descriptor_proto_enumTypes[0] +} + +func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *FieldDescriptorProto_Type) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = FieldDescriptorProto_Type(num) + return nil +} + +// Deprecated: Use FieldDescriptorProto_Type.Descriptor instead. +func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 0} +} + +type FieldDescriptorProto_Label int32 + +const ( + // 0 is reserved for errors + FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1 + FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2 + FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3 +) + +// Enum value maps for FieldDescriptorProto_Label. +var ( + FieldDescriptorProto_Label_name = map[int32]string{ + 1: "LABEL_OPTIONAL", + 2: "LABEL_REQUIRED", + 3: "LABEL_REPEATED", + } + FieldDescriptorProto_Label_value = map[string]int32{ + "LABEL_OPTIONAL": 1, + "LABEL_REQUIRED": 2, + "LABEL_REPEATED": 3, + } +) + +func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label { + p := new(FieldDescriptorProto_Label) + *p = x + return p +} + +func (x FieldDescriptorProto_Label) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor() +} + +func (FieldDescriptorProto_Label) Type() protoreflect.EnumType { + return &file_google_protobuf_descriptor_proto_enumTypes[1] +} + +func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *FieldDescriptorProto_Label) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = FieldDescriptorProto_Label(num) + return nil +} + +// Deprecated: Use FieldDescriptorProto_Label.Descriptor instead. +func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 1} +} + +// Generated classes can be optimized for speed or code size. +type FileOptions_OptimizeMode int32 + +const ( + FileOptions_SPEED FileOptions_OptimizeMode = 1 // Generate complete code for parsing, serialization, + // etc. + FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2 // Use ReflectionOps to implement these methods. + FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3 // Generate code using MessageLite and the lite runtime. +) + +// Enum value maps for FileOptions_OptimizeMode. +var ( + FileOptions_OptimizeMode_name = map[int32]string{ + 1: "SPEED", + 2: "CODE_SIZE", + 3: "LITE_RUNTIME", + } + FileOptions_OptimizeMode_value = map[string]int32{ + "SPEED": 1, + "CODE_SIZE": 2, + "LITE_RUNTIME": 3, + } +) + +func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode { + p := new(FileOptions_OptimizeMode) + *p = x + return p +} + +func (x FileOptions_OptimizeMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor() +} + +func (FileOptions_OptimizeMode) Type() protoreflect.EnumType { + return &file_google_protobuf_descriptor_proto_enumTypes[2] +} + +func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *FileOptions_OptimizeMode) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = FileOptions_OptimizeMode(num) + return nil +} + +// Deprecated: Use FileOptions_OptimizeMode.Descriptor instead. +func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10, 0} +} + +type FieldOptions_CType int32 + +const ( + // Default mode. + FieldOptions_STRING FieldOptions_CType = 0 + FieldOptions_CORD FieldOptions_CType = 1 + FieldOptions_STRING_PIECE FieldOptions_CType = 2 +) + +// Enum value maps for FieldOptions_CType. +var ( + FieldOptions_CType_name = map[int32]string{ + 0: "STRING", + 1: "CORD", + 2: "STRING_PIECE", + } + FieldOptions_CType_value = map[string]int32{ + "STRING": 0, + "CORD": 1, + "STRING_PIECE": 2, + } +) + +func (x FieldOptions_CType) Enum() *FieldOptions_CType { + p := new(FieldOptions_CType) + *p = x + return p +} + +func (x FieldOptions_CType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor() +} + +func (FieldOptions_CType) Type() protoreflect.EnumType { + return &file_google_protobuf_descriptor_proto_enumTypes[3] +} + +func (x FieldOptions_CType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *FieldOptions_CType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = FieldOptions_CType(num) + return nil +} + +// Deprecated: Use FieldOptions_CType.Descriptor instead. +func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 0} +} + +type FieldOptions_JSType int32 + +const ( + // Use the default type. + FieldOptions_JS_NORMAL FieldOptions_JSType = 0 + // Use JavaScript strings. + FieldOptions_JS_STRING FieldOptions_JSType = 1 + // Use JavaScript numbers. + FieldOptions_JS_NUMBER FieldOptions_JSType = 2 +) + +// Enum value maps for FieldOptions_JSType. +var ( + FieldOptions_JSType_name = map[int32]string{ + 0: "JS_NORMAL", + 1: "JS_STRING", + 2: "JS_NUMBER", + } + FieldOptions_JSType_value = map[string]int32{ + "JS_NORMAL": 0, + "JS_STRING": 1, + "JS_NUMBER": 2, + } +) + +func (x FieldOptions_JSType) Enum() *FieldOptions_JSType { + p := new(FieldOptions_JSType) + *p = x + return p +} + +func (x FieldOptions_JSType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor() +} + +func (FieldOptions_JSType) Type() protoreflect.EnumType { + return &file_google_protobuf_descriptor_proto_enumTypes[4] +} + +func (x FieldOptions_JSType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *FieldOptions_JSType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = FieldOptions_JSType(num) + return nil +} + +// Deprecated: Use FieldOptions_JSType.Descriptor instead. +func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 1} +} + +// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, +// or neither? HTTP based RPC implementation may choose GET verb for safe +// methods, and PUT verb for idempotent methods instead of the default POST. +type MethodOptions_IdempotencyLevel int32 + +const ( + MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0 + MethodOptions_NO_SIDE_EFFECTS MethodOptions_IdempotencyLevel = 1 // implies idempotent + MethodOptions_IDEMPOTENT MethodOptions_IdempotencyLevel = 2 // idempotent, but may have side effects +) + +// Enum value maps for MethodOptions_IdempotencyLevel. +var ( + MethodOptions_IdempotencyLevel_name = map[int32]string{ + 0: "IDEMPOTENCY_UNKNOWN", + 1: "NO_SIDE_EFFECTS", + 2: "IDEMPOTENT", + } + MethodOptions_IdempotencyLevel_value = map[string]int32{ + "IDEMPOTENCY_UNKNOWN": 0, + "NO_SIDE_EFFECTS": 1, + "IDEMPOTENT": 2, + } +) + +func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel { + p := new(MethodOptions_IdempotencyLevel) + *p = x + return p +} + +func (x MethodOptions_IdempotencyLevel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor() +} + +func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType { + return &file_google_protobuf_descriptor_proto_enumTypes[5] +} + +func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = MethodOptions_IdempotencyLevel(num) + return nil +} + +// Deprecated: Use MethodOptions_IdempotencyLevel.Descriptor instead. +func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17, 0} +} + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +type FileDescriptorSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"` +} + +func (x *FileDescriptorSet) Reset() { + *x = FileDescriptorSet{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileDescriptorSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileDescriptorSet) ProtoMessage() {} + +func (x *FileDescriptorSet) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileDescriptorSet.ProtoReflect.Descriptor instead. +func (*FileDescriptorSet) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0} +} + +func (x *FileDescriptorSet) GetFile() []*FileDescriptorProto { + if x != nil { + return x.File + } + return nil +} + +// Describes a complete .proto file. +type FileDescriptorProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // file name, relative to root of source tree + Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"` // e.g. "foo", "foo.bar", etc. + // Names of files imported by this file. + Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"` + // Indexes of the public imported files in the dependency list above. + PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"` + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"` + // All top-level definitions in this file. + MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"` + EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` + Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"` + Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"` + Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"` + // The syntax of the proto file. + // The supported values are "proto2" and "proto3". + Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"` +} + +func (x *FileDescriptorProto) Reset() { + *x = FileDescriptorProto{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileDescriptorProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileDescriptorProto) ProtoMessage() {} + +func (x *FileDescriptorProto) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileDescriptorProto.ProtoReflect.Descriptor instead. +func (*FileDescriptorProto) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1} +} + +func (x *FileDescriptorProto) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *FileDescriptorProto) GetPackage() string { + if x != nil && x.Package != nil { + return *x.Package + } + return "" +} + +func (x *FileDescriptorProto) GetDependency() []string { + if x != nil { + return x.Dependency + } + return nil +} + +func (x *FileDescriptorProto) GetPublicDependency() []int32 { + if x != nil { + return x.PublicDependency + } + return nil +} + +func (x *FileDescriptorProto) GetWeakDependency() []int32 { + if x != nil { + return x.WeakDependency + } + return nil +} + +func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto { + if x != nil { + return x.MessageType + } + return nil +} + +func (x *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto { + if x != nil { + return x.EnumType + } + return nil +} + +func (x *FileDescriptorProto) GetService() []*ServiceDescriptorProto { + if x != nil { + return x.Service + } + return nil +} + +func (x *FileDescriptorProto) GetExtension() []*FieldDescriptorProto { + if x != nil { + return x.Extension + } + return nil +} + +func (x *FileDescriptorProto) GetOptions() *FileOptions { + if x != nil { + return x.Options + } + return nil +} + +func (x *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo { + if x != nil { + return x.SourceCodeInfo + } + return nil +} + +func (x *FileDescriptorProto) GetSyntax() string { + if x != nil && x.Syntax != nil { + return *x.Syntax + } + return "" +} + +// Describes a message type. +type DescriptorProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"` + Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"` + NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"` + EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` + ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"` + OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"` + Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"` + ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` +} + +func (x *DescriptorProto) Reset() { + *x = DescriptorProto{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DescriptorProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescriptorProto) ProtoMessage() {} + +func (x *DescriptorProto) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescriptorProto.ProtoReflect.Descriptor instead. +func (*DescriptorProto) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2} +} + +func (x *DescriptorProto) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *DescriptorProto) GetField() []*FieldDescriptorProto { + if x != nil { + return x.Field + } + return nil +} + +func (x *DescriptorProto) GetExtension() []*FieldDescriptorProto { + if x != nil { + return x.Extension + } + return nil +} + +func (x *DescriptorProto) GetNestedType() []*DescriptorProto { + if x != nil { + return x.NestedType + } + return nil +} + +func (x *DescriptorProto) GetEnumType() []*EnumDescriptorProto { + if x != nil { + return x.EnumType + } + return nil +} + +func (x *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange { + if x != nil { + return x.ExtensionRange + } + return nil +} + +func (x *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto { + if x != nil { + return x.OneofDecl + } + return nil +} + +func (x *DescriptorProto) GetOptions() *MessageOptions { + if x != nil { + return x.Options + } + return nil +} + +func (x *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange { + if x != nil { + return x.ReservedRange + } + return nil +} + +func (x *DescriptorProto) GetReservedName() []string { + if x != nil { + return x.ReservedName + } + return nil +} + +type ExtensionRangeOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +func (x *ExtensionRangeOptions) Reset() { + *x = ExtensionRangeOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtensionRangeOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtensionRangeOptions) ProtoMessage() {} + +func (x *ExtensionRangeOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtensionRangeOptions.ProtoReflect.Descriptor instead. +func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{3} +} + +var extRange_ExtensionRangeOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use ExtensionRangeOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*ExtensionRangeOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_ExtensionRangeOptions +} + +func (x *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +// Describes a field within a message. +type FieldDescriptorProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"` + Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"` + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"` + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"` + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"` + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + // TODO(kenton): Base-64 encode? + DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"` + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"` + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"` + Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` + // If true, this is a proto3 "optional". When a proto3 field is optional, it + // tracks presence regardless of field type. + // + // When proto3_optional is true, this field must be belong to a oneof to + // signal to old proto3 clients that presence is tracked for this field. This + // oneof is known as a "synthetic" oneof, and this field must be its sole + // member (each proto3 optional field gets its own synthetic oneof). Synthetic + // oneofs exist in the descriptor only, and do not generate any API. Synthetic + // oneofs must be ordered after all "real" oneofs. + // + // For message fields, proto3_optional doesn't create any semantic change, + // since non-repeated message fields always track presence. However it still + // indicates the semantic detail of whether the user wrote "optional" or not. + // This can be useful for round-tripping the .proto file. For consistency we + // give message fields a synthetic oneof also, even though it is not required + // to track presence. This is especially important because the parser can't + // tell if a field is a message or an enum, so it must always create a + // synthetic oneof. + // + // Proto2 optional fields do not set this flag, because they already indicate + // optional with `LABEL_OPTIONAL`. + Proto3Optional *bool `protobuf:"varint,17,opt,name=proto3_optional,json=proto3Optional" json:"proto3_optional,omitempty"` +} + +func (x *FieldDescriptorProto) Reset() { + *x = FieldDescriptorProto{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldDescriptorProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldDescriptorProto) ProtoMessage() {} + +func (x *FieldDescriptorProto) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FieldDescriptorProto.ProtoReflect.Descriptor instead. +func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4} +} + +func (x *FieldDescriptorProto) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *FieldDescriptorProto) GetNumber() int32 { + if x != nil && x.Number != nil { + return *x.Number + } + return 0 +} + +func (x *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label { + if x != nil && x.Label != nil { + return *x.Label + } + return FieldDescriptorProto_LABEL_OPTIONAL +} + +func (x *FieldDescriptorProto) GetType() FieldDescriptorProto_Type { + if x != nil && x.Type != nil { + return *x.Type + } + return FieldDescriptorProto_TYPE_DOUBLE +} + +func (x *FieldDescriptorProto) GetTypeName() string { + if x != nil && x.TypeName != nil { + return *x.TypeName + } + return "" +} + +func (x *FieldDescriptorProto) GetExtendee() string { + if x != nil && x.Extendee != nil { + return *x.Extendee + } + return "" +} + +func (x *FieldDescriptorProto) GetDefaultValue() string { + if x != nil && x.DefaultValue != nil { + return *x.DefaultValue + } + return "" +} + +func (x *FieldDescriptorProto) GetOneofIndex() int32 { + if x != nil && x.OneofIndex != nil { + return *x.OneofIndex + } + return 0 +} + +func (x *FieldDescriptorProto) GetJsonName() string { + if x != nil && x.JsonName != nil { + return *x.JsonName + } + return "" +} + +func (x *FieldDescriptorProto) GetOptions() *FieldOptions { + if x != nil { + return x.Options + } + return nil +} + +func (x *FieldDescriptorProto) GetProto3Optional() bool { + if x != nil && x.Proto3Optional != nil { + return *x.Proto3Optional + } + return false +} + +// Describes a oneof. +type OneofDescriptorProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` +} + +func (x *OneofDescriptorProto) Reset() { + *x = OneofDescriptorProto{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OneofDescriptorProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OneofDescriptorProto) ProtoMessage() {} + +func (x *OneofDescriptorProto) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OneofDescriptorProto.ProtoReflect.Descriptor instead. +func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{5} +} + +func (x *OneofDescriptorProto) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *OneofDescriptorProto) GetOptions() *OneofOptions { + if x != nil { + return x.Options + } + return nil +} + +// Describes an enum type. +type EnumDescriptorProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` + Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` + // Range of reserved numeric values. Reserved numeric values may not be used + // by enum values in the same enum declaration. Reserved ranges may not + // overlap. + ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` + // Reserved enum value names, which may not be reused. A given name may only + // be reserved once. + ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` +} + +func (x *EnumDescriptorProto) Reset() { + *x = EnumDescriptorProto{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnumDescriptorProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumDescriptorProto) ProtoMessage() {} + +func (x *EnumDescriptorProto) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumDescriptorProto.ProtoReflect.Descriptor instead. +func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6} +} + +func (x *EnumDescriptorProto) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto { + if x != nil { + return x.Value + } + return nil +} + +func (x *EnumDescriptorProto) GetOptions() *EnumOptions { + if x != nil { + return x.Options + } + return nil +} + +func (x *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange { + if x != nil { + return x.ReservedRange + } + return nil +} + +func (x *EnumDescriptorProto) GetReservedName() []string { + if x != nil { + return x.ReservedName + } + return nil +} + +// Describes a value within an enum. +type EnumValueDescriptorProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"` + Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` +} + +func (x *EnumValueDescriptorProto) Reset() { + *x = EnumValueDescriptorProto{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnumValueDescriptorProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumValueDescriptorProto) ProtoMessage() {} + +func (x *EnumValueDescriptorProto) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumValueDescriptorProto.ProtoReflect.Descriptor instead. +func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{7} +} + +func (x *EnumValueDescriptorProto) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *EnumValueDescriptorProto) GetNumber() int32 { + if x != nil && x.Number != nil { + return *x.Number + } + return 0 +} + +func (x *EnumValueDescriptorProto) GetOptions() *EnumValueOptions { + if x != nil { + return x.Options + } + return nil +} + +// Describes a service. +type ServiceDescriptorProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"` + Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` +} + +func (x *ServiceDescriptorProto) Reset() { + *x = ServiceDescriptorProto{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceDescriptorProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceDescriptorProto) ProtoMessage() {} + +func (x *ServiceDescriptorProto) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceDescriptorProto.ProtoReflect.Descriptor instead. +func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{8} +} + +func (x *ServiceDescriptorProto) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto { + if x != nil { + return x.Method + } + return nil +} + +func (x *ServiceDescriptorProto) GetOptions() *ServiceOptions { + if x != nil { + return x.Options + } + return nil +} + +// Describes a method of a service. +type MethodDescriptorProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"` + OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"` + Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"` + // Identifies if client streams multiple client messages + ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"` + // Identifies if server streams multiple server messages + ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"` +} + +// Default values for MethodDescriptorProto fields. +const ( + Default_MethodDescriptorProto_ClientStreaming = bool(false) + Default_MethodDescriptorProto_ServerStreaming = bool(false) +) + +func (x *MethodDescriptorProto) Reset() { + *x = MethodDescriptorProto{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MethodDescriptorProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MethodDescriptorProto) ProtoMessage() {} + +func (x *MethodDescriptorProto) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MethodDescriptorProto.ProtoReflect.Descriptor instead. +func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{9} +} + +func (x *MethodDescriptorProto) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *MethodDescriptorProto) GetInputType() string { + if x != nil && x.InputType != nil { + return *x.InputType + } + return "" +} + +func (x *MethodDescriptorProto) GetOutputType() string { + if x != nil && x.OutputType != nil { + return *x.OutputType + } + return "" +} + +func (x *MethodDescriptorProto) GetOptions() *MethodOptions { + if x != nil { + return x.Options + } + return nil +} + +func (x *MethodDescriptorProto) GetClientStreaming() bool { + if x != nil && x.ClientStreaming != nil { + return *x.ClientStreaming + } + return Default_MethodDescriptorProto_ClientStreaming +} + +func (x *MethodDescriptorProto) GetServerStreaming() bool { + if x != nil && x.ServerStreaming != nil { + return *x.ServerStreaming + } + return Default_MethodDescriptorProto_ServerStreaming +} + +type FileOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"` + // If set, all the classes from the .proto file are wrapped in a single + // outer class with the given name. This applies to both Proto1 + // (equivalent to the old "--one_java_file" option) and Proto2 (where + // a .proto always translates to a single class, but you may want to + // explicitly choose the class name). + JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"` + // If set true, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the outer class + // named by java_outer_classname. However, the outer class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"` + // This option does nothing. + // + // Deprecated: Do not use. + JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` + // If set true, then the Java2 code generator will generate code that + // throws an exception whenever an attempt is made to assign a non-UTF-8 + // byte sequence to a string field. + // Message reflection will do the same. + // However, an extension field still accepts non-UTF-8 byte sequences. + // This option has no effect on when used with the lite runtime. + JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"` + OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"` + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"` + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"` + JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"` + PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"` + PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"` + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"` + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=1" json:"cc_enable_arenas,omitempty"` + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"` + // Namespace for generated classes; defaults to the package. + CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"` + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"` + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"` + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"` + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be + // used for determining the namespace. + PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"` + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"` + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +// Default values for FileOptions fields. +const ( + Default_FileOptions_JavaMultipleFiles = bool(false) + Default_FileOptions_JavaStringCheckUtf8 = bool(false) + Default_FileOptions_OptimizeFor = FileOptions_SPEED + Default_FileOptions_CcGenericServices = bool(false) + Default_FileOptions_JavaGenericServices = bool(false) + Default_FileOptions_PyGenericServices = bool(false) + Default_FileOptions_PhpGenericServices = bool(false) + Default_FileOptions_Deprecated = bool(false) + Default_FileOptions_CcEnableArenas = bool(true) +) + +func (x *FileOptions) Reset() { + *x = FileOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileOptions) ProtoMessage() {} + +func (x *FileOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileOptions.ProtoReflect.Descriptor instead. +func (*FileOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10} +} + +var extRange_FileOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use FileOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*FileOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_FileOptions +} + +func (x *FileOptions) GetJavaPackage() string { + if x != nil && x.JavaPackage != nil { + return *x.JavaPackage + } + return "" +} + +func (x *FileOptions) GetJavaOuterClassname() string { + if x != nil && x.JavaOuterClassname != nil { + return *x.JavaOuterClassname + } + return "" +} + +func (x *FileOptions) GetJavaMultipleFiles() bool { + if x != nil && x.JavaMultipleFiles != nil { + return *x.JavaMultipleFiles + } + return Default_FileOptions_JavaMultipleFiles +} + +// Deprecated: Do not use. +func (x *FileOptions) GetJavaGenerateEqualsAndHash() bool { + if x != nil && x.JavaGenerateEqualsAndHash != nil { + return *x.JavaGenerateEqualsAndHash + } + return false +} + +func (x *FileOptions) GetJavaStringCheckUtf8() bool { + if x != nil && x.JavaStringCheckUtf8 != nil { + return *x.JavaStringCheckUtf8 + } + return Default_FileOptions_JavaStringCheckUtf8 +} + +func (x *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode { + if x != nil && x.OptimizeFor != nil { + return *x.OptimizeFor + } + return Default_FileOptions_OptimizeFor +} + +func (x *FileOptions) GetGoPackage() string { + if x != nil && x.GoPackage != nil { + return *x.GoPackage + } + return "" +} + +func (x *FileOptions) GetCcGenericServices() bool { + if x != nil && x.CcGenericServices != nil { + return *x.CcGenericServices + } + return Default_FileOptions_CcGenericServices +} + +func (x *FileOptions) GetJavaGenericServices() bool { + if x != nil && x.JavaGenericServices != nil { + return *x.JavaGenericServices + } + return Default_FileOptions_JavaGenericServices +} + +func (x *FileOptions) GetPyGenericServices() bool { + if x != nil && x.PyGenericServices != nil { + return *x.PyGenericServices + } + return Default_FileOptions_PyGenericServices +} + +func (x *FileOptions) GetPhpGenericServices() bool { + if x != nil && x.PhpGenericServices != nil { + return *x.PhpGenericServices + } + return Default_FileOptions_PhpGenericServices +} + +func (x *FileOptions) GetDeprecated() bool { + if x != nil && x.Deprecated != nil { + return *x.Deprecated + } + return Default_FileOptions_Deprecated +} + +func (x *FileOptions) GetCcEnableArenas() bool { + if x != nil && x.CcEnableArenas != nil { + return *x.CcEnableArenas + } + return Default_FileOptions_CcEnableArenas +} + +func (x *FileOptions) GetObjcClassPrefix() string { + if x != nil && x.ObjcClassPrefix != nil { + return *x.ObjcClassPrefix + } + return "" +} + +func (x *FileOptions) GetCsharpNamespace() string { + if x != nil && x.CsharpNamespace != nil { + return *x.CsharpNamespace + } + return "" +} + +func (x *FileOptions) GetSwiftPrefix() string { + if x != nil && x.SwiftPrefix != nil { + return *x.SwiftPrefix + } + return "" +} + +func (x *FileOptions) GetPhpClassPrefix() string { + if x != nil && x.PhpClassPrefix != nil { + return *x.PhpClassPrefix + } + return "" +} + +func (x *FileOptions) GetPhpNamespace() string { + if x != nil && x.PhpNamespace != nil { + return *x.PhpNamespace + } + return "" +} + +func (x *FileOptions) GetPhpMetadataNamespace() string { + if x != nil && x.PhpMetadataNamespace != nil { + return *x.PhpMetadataNamespace + } + return "" +} + +func (x *FileOptions) GetRubyPackage() string { + if x != nil && x.RubyPackage != nil { + return *x.RubyPackage + } + return "" +} + +func (x *FileOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +type MessageOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"` + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"` + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map<KeyType, ValueType> map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementations still need to work as + // if the field is a repeated message field. + // + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"` + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +// Default values for MessageOptions fields. +const ( + Default_MessageOptions_MessageSetWireFormat = bool(false) + Default_MessageOptions_NoStandardDescriptorAccessor = bool(false) + Default_MessageOptions_Deprecated = bool(false) +) + +func (x *MessageOptions) Reset() { + *x = MessageOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MessageOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageOptions) ProtoMessage() {} + +func (x *MessageOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MessageOptions.ProtoReflect.Descriptor instead. +func (*MessageOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{11} +} + +var extRange_MessageOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use MessageOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*MessageOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_MessageOptions +} + +func (x *MessageOptions) GetMessageSetWireFormat() bool { + if x != nil && x.MessageSetWireFormat != nil { + return *x.MessageSetWireFormat + } + return Default_MessageOptions_MessageSetWireFormat +} + +func (x *MessageOptions) GetNoStandardDescriptorAccessor() bool { + if x != nil && x.NoStandardDescriptorAccessor != nil { + return *x.NoStandardDescriptorAccessor + } + return Default_MessageOptions_NoStandardDescriptorAccessor +} + +func (x *MessageOptions) GetDeprecated() bool { + if x != nil && x.Deprecated != nil { + return *x.Deprecated + } + return Default_MessageOptions_Deprecated +} + +func (x *MessageOptions) GetMapEntry() bool { + if x != nil && x.MapEntry != nil { + return *x.MapEntry + } + return false +} + +func (x *MessageOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +type FieldOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is not yet implemented in the open source + // release -- sorry, we'll try to include it in a future version! + Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"` + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. + Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"` + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"` + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // + // Note that implementations may choose not to check required fields within + // a lazy sub-message. That is, calling IsInitialized() on the outer message + // may return true even if the inner message has missing required fields. + // This is necessary because otherwise the inner message would have to be + // parsed in order to perform the check, defeating the purpose of lazy + // parsing. An implementation which chooses not to check required fields + // must be consistent about it. That is, for any particular sub-message, the + // implementation must either *always* check its required fields, or *never* + // check its required fields, regardless of whether or not the message has + // been parsed. + Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"` + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` + // For Google-internal migration only. Do not use. + Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"` + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +// Default values for FieldOptions fields. +const ( + Default_FieldOptions_Ctype = FieldOptions_STRING + Default_FieldOptions_Jstype = FieldOptions_JS_NORMAL + Default_FieldOptions_Lazy = bool(false) + Default_FieldOptions_Deprecated = bool(false) + Default_FieldOptions_Weak = bool(false) +) + +func (x *FieldOptions) Reset() { + *x = FieldOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldOptions) ProtoMessage() {} + +func (x *FieldOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FieldOptions.ProtoReflect.Descriptor instead. +func (*FieldOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12} +} + +var extRange_FieldOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use FieldOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*FieldOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_FieldOptions +} + +func (x *FieldOptions) GetCtype() FieldOptions_CType { + if x != nil && x.Ctype != nil { + return *x.Ctype + } + return Default_FieldOptions_Ctype +} + +func (x *FieldOptions) GetPacked() bool { + if x != nil && x.Packed != nil { + return *x.Packed + } + return false +} + +func (x *FieldOptions) GetJstype() FieldOptions_JSType { + if x != nil && x.Jstype != nil { + return *x.Jstype + } + return Default_FieldOptions_Jstype +} + +func (x *FieldOptions) GetLazy() bool { + if x != nil && x.Lazy != nil { + return *x.Lazy + } + return Default_FieldOptions_Lazy +} + +func (x *FieldOptions) GetDeprecated() bool { + if x != nil && x.Deprecated != nil { + return *x.Deprecated + } + return Default_FieldOptions_Deprecated +} + +func (x *FieldOptions) GetWeak() bool { + if x != nil && x.Weak != nil { + return *x.Weak + } + return Default_FieldOptions_Weak +} + +func (x *FieldOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +type OneofOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +func (x *OneofOptions) Reset() { + *x = OneofOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OneofOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OneofOptions) ProtoMessage() {} + +func (x *OneofOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OneofOptions.ProtoReflect.Descriptor instead. +func (*OneofOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{13} +} + +var extRange_OneofOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use OneofOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*OneofOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_OneofOptions +} + +func (x *OneofOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +type EnumOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // Set this option to true to allow mapping different tag names to the same + // value. + AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"` + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +// Default values for EnumOptions fields. +const ( + Default_EnumOptions_Deprecated = bool(false) +) + +func (x *EnumOptions) Reset() { + *x = EnumOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnumOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumOptions) ProtoMessage() {} + +func (x *EnumOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumOptions.ProtoReflect.Descriptor instead. +func (*EnumOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{14} +} + +var extRange_EnumOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use EnumOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*EnumOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_EnumOptions +} + +func (x *EnumOptions) GetAllowAlias() bool { + if x != nil && x.AllowAlias != nil { + return *x.AllowAlias + } + return false +} + +func (x *EnumOptions) GetDeprecated() bool { + if x != nil && x.Deprecated != nil { + return *x.Deprecated + } + return Default_EnumOptions_Deprecated +} + +func (x *EnumOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +type EnumValueOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"` + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +// Default values for EnumValueOptions fields. +const ( + Default_EnumValueOptions_Deprecated = bool(false) +) + +func (x *EnumValueOptions) Reset() { + *x = EnumValueOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnumValueOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumValueOptions) ProtoMessage() {} + +func (x *EnumValueOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumValueOptions.ProtoReflect.Descriptor instead. +func (*EnumValueOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{15} +} + +var extRange_EnumValueOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use EnumValueOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*EnumValueOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_EnumValueOptions +} + +func (x *EnumValueOptions) GetDeprecated() bool { + if x != nil && x.Deprecated != nil { + return *x.Deprecated + } + return Default_EnumValueOptions_Deprecated +} + +func (x *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +type ServiceOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +// Default values for ServiceOptions fields. +const ( + Default_ServiceOptions_Deprecated = bool(false) +) + +func (x *ServiceOptions) Reset() { + *x = ServiceOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceOptions) ProtoMessage() {} + +func (x *ServiceOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceOptions.ProtoReflect.Descriptor instead. +func (*ServiceOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{16} +} + +var extRange_ServiceOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use ServiceOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*ServiceOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_ServiceOptions +} + +func (x *ServiceOptions) GetDeprecated() bool { + if x != nil && x.Deprecated != nil { + return *x.Deprecated + } + return Default_ServiceOptions_Deprecated +} + +func (x *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +type MethodOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` + IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"` + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` +} + +// Default values for MethodOptions fields. +const ( + Default_MethodOptions_Deprecated = bool(false) + Default_MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN +) + +func (x *MethodOptions) Reset() { + *x = MethodOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MethodOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MethodOptions) ProtoMessage() {} + +func (x *MethodOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MethodOptions.ProtoReflect.Descriptor instead. +func (*MethodOptions) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17} +} + +var extRange_MethodOptions = []protoiface.ExtensionRangeV1{ + {Start: 1000, End: 536870911}, +} + +// Deprecated: Use MethodOptions.ProtoReflect.Descriptor.ExtensionRanges instead. +func (*MethodOptions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 { + return extRange_MethodOptions +} + +func (x *MethodOptions) GetDeprecated() bool { + if x != nil && x.Deprecated != nil { + return *x.Deprecated + } + return Default_MethodOptions_Deprecated +} + +func (x *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel { + if x != nil && x.IdempotencyLevel != nil { + return *x.IdempotencyLevel + } + return Default_MethodOptions_IdempotencyLevel +} + +func (x *MethodOptions) GetUninterpretedOption() []*UninterpretedOption { + if x != nil { + return x.UninterpretedOption + } + return nil +} + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +type UninterpretedOption struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"` + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"` + PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"` + NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"` + DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"` + StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"` + AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"` +} + +func (x *UninterpretedOption) Reset() { + *x = UninterpretedOption{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UninterpretedOption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UninterpretedOption) ProtoMessage() {} + +func (x *UninterpretedOption) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UninterpretedOption.ProtoReflect.Descriptor instead. +func (*UninterpretedOption) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18} +} + +func (x *UninterpretedOption) GetName() []*UninterpretedOption_NamePart { + if x != nil { + return x.Name + } + return nil +} + +func (x *UninterpretedOption) GetIdentifierValue() string { + if x != nil && x.IdentifierValue != nil { + return *x.IdentifierValue + } + return "" +} + +func (x *UninterpretedOption) GetPositiveIntValue() uint64 { + if x != nil && x.PositiveIntValue != nil { + return *x.PositiveIntValue + } + return 0 +} + +func (x *UninterpretedOption) GetNegativeIntValue() int64 { + if x != nil && x.NegativeIntValue != nil { + return *x.NegativeIntValue + } + return 0 +} + +func (x *UninterpretedOption) GetDoubleValue() float64 { + if x != nil && x.DoubleValue != nil { + return *x.DoubleValue + } + return 0 +} + +func (x *UninterpretedOption) GetStringValue() []byte { + if x != nil { + return x.StringValue + } + return nil +} + +func (x *UninterpretedOption) GetAggregateValue() string { + if x != nil && x.AggregateValue != nil { + return *x.AggregateValue + } + return "" +} + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +type SourceCodeInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendant. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"` +} + +func (x *SourceCodeInfo) Reset() { + *x = SourceCodeInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceCodeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceCodeInfo) ProtoMessage() {} + +func (x *SourceCodeInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SourceCodeInfo.ProtoReflect.Descriptor instead. +func (*SourceCodeInfo) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19} +} + +func (x *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location { + if x != nil { + return x.Location + } + return nil +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +type GeneratedCodeInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"` +} + +func (x *GeneratedCodeInfo) Reset() { + *x = GeneratedCodeInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GeneratedCodeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GeneratedCodeInfo) ProtoMessage() {} + +func (x *GeneratedCodeInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GeneratedCodeInfo.ProtoReflect.Descriptor instead. +func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20} +} + +func (x *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation { + if x != nil { + return x.Annotation + } + return nil +} + +type DescriptorProto_ExtensionRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. + End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive. + Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` +} + +func (x *DescriptorProto_ExtensionRange) Reset() { + *x = DescriptorProto_ExtensionRange{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DescriptorProto_ExtensionRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescriptorProto_ExtensionRange) ProtoMessage() {} + +func (x *DescriptorProto_ExtensionRange) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescriptorProto_ExtensionRange.ProtoReflect.Descriptor instead. +func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *DescriptorProto_ExtensionRange) GetStart() int32 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *DescriptorProto_ExtensionRange) GetEnd() int32 { + if x != nil && x.End != nil { + return *x.End + } + return 0 +} + +func (x *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions { + if x != nil { + return x.Options + } + return nil +} + +// Range of reserved tag numbers. Reserved tag numbers may not be used by +// fields or extension ranges in the same message. Reserved ranges may +// not overlap. +type DescriptorProto_ReservedRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. + End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive. +} + +func (x *DescriptorProto_ReservedRange) Reset() { + *x = DescriptorProto_ReservedRange{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DescriptorProto_ReservedRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescriptorProto_ReservedRange) ProtoMessage() {} + +func (x *DescriptorProto_ReservedRange) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescriptorProto_ReservedRange.ProtoReflect.Descriptor instead. +func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *DescriptorProto_ReservedRange) GetStart() int32 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *DescriptorProto_ReservedRange) GetEnd() int32 { + if x != nil && x.End != nil { + return *x.End + } + return 0 +} + +// Range of reserved numeric values. Reserved values may not be used by +// entries in the same enum. Reserved ranges may not overlap. +// +// Note that this is distinct from DescriptorProto.ReservedRange in that it +// is inclusive such that it can appropriately represent the entire int32 +// domain. +type EnumDescriptorProto_EnumReservedRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. + End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Inclusive. +} + +func (x *EnumDescriptorProto_EnumReservedRange) Reset() { + *x = EnumDescriptorProto_EnumReservedRange{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnumDescriptorProto_EnumReservedRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {} + +func (x *EnumDescriptorProto_EnumReservedRange) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumDescriptorProto_EnumReservedRange.ProtoReflect.Descriptor instead. +func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *EnumDescriptorProto_EnumReservedRange) GetStart() int32 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 { + if x != nil && x.End != nil { + return *x.End + } + return 0 +} + +// The name of the uninterpreted option. Each string represents a segment in +// a dot-separated name. is_extension is true iff a segment represents an +// extension (denoted with parentheses in options specs in .proto files). +// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents +// "foo.(bar.baz).qux". +type UninterpretedOption_NamePart struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"` + IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"` +} + +func (x *UninterpretedOption_NamePart) Reset() { + *x = UninterpretedOption_NamePart{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UninterpretedOption_NamePart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UninterpretedOption_NamePart) ProtoMessage() {} + +func (x *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UninterpretedOption_NamePart.ProtoReflect.Descriptor instead. +func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18, 0} +} + +func (x *UninterpretedOption_NamePart) GetNamePart() string { + if x != nil && x.NamePart != nil { + return *x.NamePart + } + return "" +} + +func (x *UninterpretedOption_NamePart) GetIsExtension() bool { + if x != nil && x.IsExtension != nil { + return *x.IsExtension + } + return false +} + +type SourceCodeInfo_Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition. For + // example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"` + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to qux. + // // + // // Another line attached to qux. + // optional double qux = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to qux or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"` + TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"` + LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"` +} + +func (x *SourceCodeInfo_Location) Reset() { + *x = SourceCodeInfo_Location{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceCodeInfo_Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceCodeInfo_Location) ProtoMessage() {} + +func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SourceCodeInfo_Location.ProtoReflect.Descriptor instead. +func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0} +} + +func (x *SourceCodeInfo_Location) GetPath() []int32 { + if x != nil { + return x.Path + } + return nil +} + +func (x *SourceCodeInfo_Location) GetSpan() []int32 { + if x != nil { + return x.Span + } + return nil +} + +func (x *SourceCodeInfo_Location) GetLeadingComments() string { + if x != nil && x.LeadingComments != nil { + return *x.LeadingComments + } + return "" +} + +func (x *SourceCodeInfo_Location) GetTrailingComments() string { + if x != nil && x.TrailingComments != nil { + return *x.TrailingComments + } + return "" +} + +func (x *SourceCodeInfo_Location) GetLeadingDetachedComments() []string { + if x != nil { + return x.LeadingDetachedComments + } + return nil +} + +type GeneratedCodeInfo_Annotation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` + // Identifies the filesystem path to the original source .proto. + SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"` + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"` + // Identifies the ending offset in bytes in the generated code that + // relates to the identified offset. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"` +} + +func (x *GeneratedCodeInfo_Annotation) Reset() { + *x = GeneratedCodeInfo_Annotation{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_descriptor_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GeneratedCodeInfo_Annotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} + +func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GeneratedCodeInfo_Annotation.ProtoReflect.Descriptor instead. +func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20, 0} +} + +func (x *GeneratedCodeInfo_Annotation) GetPath() []int32 { + if x != nil { + return x.Path + } + return nil +} + +func (x *GeneratedCodeInfo_Annotation) GetSourceFile() string { + if x != nil && x.SourceFile != nil { + return *x.SourceFile + } + return "" +} + +func (x *GeneratedCodeInfo_Annotation) GetBegin() int32 { + if x != nil && x.Begin != nil { + return *x.Begin + } + return 0 +} + +func (x *GeneratedCodeInfo_Annotation) GetEnd() int32 { + if x != nil && x.End != nil { + return *x.End + } + return 0 +} + +var File_google_protobuf_descriptor_proto protoreflect.FileDescriptor + +var file_google_protobuf_descriptor_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x22, 0x4d, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x04, 0x66, 0x69, + 0x6c, 0x65, 0x22, 0xe4, 0x04, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x65, 0x61, 0x6b, 0x5f, 0x64, 0x65, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, + 0x77, 0x65, 0x61, 0x6b, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x43, + 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x65, 0x6e, + 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x22, 0xb9, 0x06, 0x0a, 0x0f, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x43, + 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, + 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x65, 0x63, + 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x63, 0x6c, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x1a, 0x7a, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x37, 0x0a, 0x0d, + 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x7c, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, + 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, + 0x80, 0x80, 0x02, 0x22, 0xc1, 0x06, 0x0a, 0x14, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x64, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x64, 0x65, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, + 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, + 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, + 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xb6, 0x02, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, + 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, + 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, + 0x34, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, + 0x36, 0x34, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, + 0x33, 0x32, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58, + 0x45, 0x44, 0x36, 0x34, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, + 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x0f, 0x12, 0x11, 0x0a, + 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x10, + 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, + 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x36, 0x34, + 0x10, 0x12, 0x22, 0x43, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, + 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, + 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x50, + 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x63, 0x0a, 0x14, 0x4f, 0x6e, 0x65, 0x6f, 0x66, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe3, 0x02, 0x0a, + 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, + 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, + 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, + 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x89, 0x02, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x10, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x91, + 0x09, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x61, 0x76, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x6a, 0x61, 0x76, 0x61, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x6a, 0x61, 0x76, 0x61, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1d, 0x6a, 0x61, + 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x3a, 0x0a, 0x16, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, + 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x74, 0x66, 0x38, 0x12, 0x53, 0x0a, 0x0c, + 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x3a, 0x05, 0x53, + 0x50, 0x45, 0x45, 0x44, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x46, 0x6f, + 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x12, 0x35, 0x0a, 0x13, 0x63, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x63, 0x63, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x15, 0x6a, 0x61, 0x76, 0x61, 0x5f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, + 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x12, 0x35, 0x0a, 0x13, 0x70, 0x79, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x3a, + 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x70, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x14, 0x70, 0x68, 0x70, + 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x12, + 0x70, 0x68, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, + 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x63, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x63, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a, + 0x63, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x24, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x77, 0x69, 0x66, 0x74, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x68, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, + 0x68, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, + 0x0d, 0x70, 0x68, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x29, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x68, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x68, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x2c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x14, 0x70, 0x68, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x62, 0x79, + 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x72, 0x75, 0x62, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x14, 0x75, + 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x02, 0x12, + 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, + 0x03, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x26, + 0x10, 0x27, 0x22, 0xd1, 0x02, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x57, 0x69, 0x72, 0x65, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x1f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, + 0x72, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x52, 0x1c, 0x6e, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, + 0x72, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x70, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, + 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, + 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0xe2, 0x03, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x06, 0x53, 0x54, 0x52, + 0x49, 0x4e, 0x47, 0x52, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, + 0x4d, 0x41, 0x4c, 0x52, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x04, 0x6c, + 0x61, 0x7a, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, + 0x52, 0x04, 0x6c, 0x61, 0x7a, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, + 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, + 0x04, 0x77, 0x65, 0x61, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, + 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, + 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x44, 0x10, + 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x45, 0x43, + 0x45, 0x10, 0x02, 0x22, 0x35, 0x0a, 0x06, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, + 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x4a, 0x53, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, + 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, + 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x73, 0x0a, 0x0c, 0x4f, + 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, + 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, + 0x22, 0xc0, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, + 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, + 0x05, 0x10, 0x06, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, + 0x80, 0x80, 0x80, 0x02, 0x22, 0x9c, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58, + 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, + 0x80, 0x80, 0x02, 0x22, 0xe0, 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, + 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x71, 0x0a, 0x11, + 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, + 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x10, 0x69, + 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x10, 0x49, 0x64, 0x65, + 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, + 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x53, 0x49, 0x44, + 0x45, 0x5f, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49, + 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, + 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9a, 0x03, 0x0a, 0x13, 0x55, 0x6e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x76, 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4a, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, + 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, + 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 0x0a, + 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, + 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, + 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd1, 0x01, + 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, + 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, + 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, + 0x64, 0x42, 0x7e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x48, 0x01, 0x5a, 0x2d, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, + 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, +} + +var ( + file_google_protobuf_descriptor_proto_rawDescOnce sync.Once + file_google_protobuf_descriptor_proto_rawDescData = file_google_protobuf_descriptor_proto_rawDesc +) + +func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte { + file_google_protobuf_descriptor_proto_rawDescOnce.Do(func() { + file_google_protobuf_descriptor_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_descriptor_proto_rawDescData) + }) + return file_google_protobuf_descriptor_proto_rawDescData +} + +var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_google_protobuf_descriptor_proto_goTypes = []interface{}{ + (FieldDescriptorProto_Type)(0), // 0: google.protobuf.FieldDescriptorProto.Type + (FieldDescriptorProto_Label)(0), // 1: google.protobuf.FieldDescriptorProto.Label + (FileOptions_OptimizeMode)(0), // 2: google.protobuf.FileOptions.OptimizeMode + (FieldOptions_CType)(0), // 3: google.protobuf.FieldOptions.CType + (FieldOptions_JSType)(0), // 4: google.protobuf.FieldOptions.JSType + (MethodOptions_IdempotencyLevel)(0), // 5: google.protobuf.MethodOptions.IdempotencyLevel + (*FileDescriptorSet)(nil), // 6: google.protobuf.FileDescriptorSet + (*FileDescriptorProto)(nil), // 7: google.protobuf.FileDescriptorProto + (*DescriptorProto)(nil), // 8: google.protobuf.DescriptorProto + (*ExtensionRangeOptions)(nil), // 9: google.protobuf.ExtensionRangeOptions + (*FieldDescriptorProto)(nil), // 10: google.protobuf.FieldDescriptorProto + (*OneofDescriptorProto)(nil), // 11: google.protobuf.OneofDescriptorProto + (*EnumDescriptorProto)(nil), // 12: google.protobuf.EnumDescriptorProto + (*EnumValueDescriptorProto)(nil), // 13: google.protobuf.EnumValueDescriptorProto + (*ServiceDescriptorProto)(nil), // 14: google.protobuf.ServiceDescriptorProto + (*MethodDescriptorProto)(nil), // 15: google.protobuf.MethodDescriptorProto + (*FileOptions)(nil), // 16: google.protobuf.FileOptions + (*MessageOptions)(nil), // 17: google.protobuf.MessageOptions + (*FieldOptions)(nil), // 18: google.protobuf.FieldOptions + (*OneofOptions)(nil), // 19: google.protobuf.OneofOptions + (*EnumOptions)(nil), // 20: google.protobuf.EnumOptions + (*EnumValueOptions)(nil), // 21: google.protobuf.EnumValueOptions + (*ServiceOptions)(nil), // 22: google.protobuf.ServiceOptions + (*MethodOptions)(nil), // 23: google.protobuf.MethodOptions + (*UninterpretedOption)(nil), // 24: google.protobuf.UninterpretedOption + (*SourceCodeInfo)(nil), // 25: google.protobuf.SourceCodeInfo + (*GeneratedCodeInfo)(nil), // 26: google.protobuf.GeneratedCodeInfo + (*DescriptorProto_ExtensionRange)(nil), // 27: google.protobuf.DescriptorProto.ExtensionRange + (*DescriptorProto_ReservedRange)(nil), // 28: google.protobuf.DescriptorProto.ReservedRange + (*EnumDescriptorProto_EnumReservedRange)(nil), // 29: google.protobuf.EnumDescriptorProto.EnumReservedRange + (*UninterpretedOption_NamePart)(nil), // 30: google.protobuf.UninterpretedOption.NamePart + (*SourceCodeInfo_Location)(nil), // 31: google.protobuf.SourceCodeInfo.Location + (*GeneratedCodeInfo_Annotation)(nil), // 32: google.protobuf.GeneratedCodeInfo.Annotation +} +var file_google_protobuf_descriptor_proto_depIdxs = []int32{ + 7, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto + 8, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto + 12, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto + 14, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto + 10, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto + 16, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions + 25, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo + 10, // 7: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto + 10, // 8: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto + 8, // 9: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto + 12, // 10: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto + 27, // 11: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange + 11, // 12: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto + 17, // 13: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions + 28, // 14: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange + 24, // 15: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 1, // 16: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label + 0, // 17: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type + 18, // 18: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions + 19, // 19: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions + 13, // 20: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto + 20, // 21: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions + 29, // 22: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange + 21, // 23: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions + 15, // 24: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto + 22, // 25: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions + 23, // 26: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions + 2, // 27: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode + 24, // 28: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 24, // 29: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 3, // 30: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType + 4, // 31: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType + 24, // 32: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 24, // 33: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 24, // 34: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 24, // 35: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 24, // 36: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 5, // 37: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel + 24, // 38: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 30, // 39: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart + 31, // 40: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location + 32, // 41: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation + 9, // 42: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions + 43, // [43:43] is the sub-list for method output_type + 43, // [43:43] is the sub-list for method input_type + 43, // [43:43] is the sub-list for extension type_name + 43, // [43:43] is the sub-list for extension extendee + 0, // [0:43] is the sub-list for field type_name +} + +func init() { file_google_protobuf_descriptor_proto_init() } +func file_google_protobuf_descriptor_proto_init() { + if File_google_protobuf_descriptor_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_protobuf_descriptor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileDescriptorSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileDescriptorProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DescriptorProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtensionRangeOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldDescriptorProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OneofDescriptorProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnumDescriptorProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnumValueDescriptorProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceDescriptorProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MethodDescriptorProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MessageOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OneofOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnumOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnumValueOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MethodOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UninterpretedOption); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceCodeInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GeneratedCodeInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DescriptorProto_ExtensionRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DescriptorProto_ReservedRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnumDescriptorProto_EnumReservedRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UninterpretedOption_NamePart); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceCodeInfo_Location); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_descriptor_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GeneratedCodeInfo_Annotation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_protobuf_descriptor_proto_rawDesc, + NumEnums: 6, + NumMessages: 27, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_protobuf_descriptor_proto_goTypes, + DependencyIndexes: file_google_protobuf_descriptor_proto_depIdxs, + EnumInfos: file_google_protobuf_descriptor_proto_enumTypes, + MessageInfos: file_google_protobuf_descriptor_proto_msgTypes, + }.Build() + File_google_protobuf_descriptor_proto = out.File + file_google_protobuf_descriptor_proto_rawDesc = nil + file_google_protobuf_descriptor_proto_goTypes = nil + file_google_protobuf_descriptor_proto_depIdxs = nil +} diff --git a/vendor/gopkg.in/square/go-jose.v2/.gitcookies.sh.enc b/vendor/gopkg.in/square/go-jose.v2/.gitcookies.sh.enc new file mode 100644 index 000000000..730e569b0 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/.gitcookies.sh.enc @@ -0,0 +1 @@ +'|&{tU|gG(Cy=+c:u:/p#~["4!nADK<ufha:B/ؤ_hST*wx-|Ӄ㣗A$$6G)8npˡ3̚ovB3]xݓ2lG|qRޯ 2 5R$Yݙl˫yAI"یûk|K[9=|@S3 #x?V,SwPog6&V6 D.dB 7 \ No newline at end of file diff --git a/vendor/gopkg.in/square/go-jose.v2/.gitignore b/vendor/gopkg.in/square/go-jose.v2/.gitignore new file mode 100644 index 000000000..95a851586 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/.gitignore @@ -0,0 +1,8 @@ +*~ +.*.swp +*.out +*.test +*.pem +*.cov +jose-util/jose-util +jose-util.t.err \ No newline at end of file diff --git a/vendor/gopkg.in/square/go-jose.v2/.travis.yml b/vendor/gopkg.in/square/go-jose.v2/.travis.yml new file mode 100644 index 000000000..ae69862df --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/.travis.yml @@ -0,0 +1,45 @@ +language: go + +sudo: false + +matrix: + fast_finish: true + allow_failures: + - go: tip + +go: +- '1.11.x' +- '1.12.x' +- tip + +go_import_path: gopkg.in/square/go-jose.v2 + +before_script: +- export PATH=$HOME/.local/bin:$PATH + +before_install: +# Install encrypted gitcookies to get around bandwidth-limits +# that is causing Travis-CI builds to fail. For more info, see +# https://github.com/golang/go/issues/12933 +- openssl aes-256-cbc -K $encrypted_1528c3c2cafd_key -iv $encrypted_1528c3c2cafd_iv -in .gitcookies.sh.enc -out .gitcookies.sh -d || true +- bash .gitcookies.sh || true +- go get github.com/wadey/gocovmerge +- go get github.com/mattn/goveralls +- go get github.com/stretchr/testify/assert +- go get github.com/stretchr/testify/require +- go get github.com/google/go-cmp/cmp +- go get golang.org/x/tools/cmd/cover || true +- go get code.google.com/p/go.tools/cmd/cover || true +- pip install cram --user + +script: +- go test . -v -covermode=count -coverprofile=profile.cov +- go test ./cipher -v -covermode=count -coverprofile=cipher/profile.cov +- go test ./jwt -v -covermode=count -coverprofile=jwt/profile.cov +- go test ./json -v # no coverage for forked encoding/json package +- cd jose-util && go build && PATH=$PWD:$PATH cram -v jose-util.t # cram tests jose-util +- cd .. + +after_success: +- gocovmerge *.cov */*.cov > merged.coverprofile +- $HOME/gopath/bin/goveralls -coverprofile merged.coverprofile -service=travis-ci diff --git a/vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md b/vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md new file mode 100644 index 000000000..3305db0f6 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md @@ -0,0 +1,10 @@ +Serious about security +====================== + +Square recognizes the important contributions the security research community +can make. We therefore encourage reporting security issues with the code +contained in this repository. + +If you believe you have discovered a security vulnerability, please follow the +guidelines at <https://bugcrowd.com/squareopensource>. + diff --git a/vendor/gopkg.in/square/go-jose.v2/CONTRIBUTING.md b/vendor/gopkg.in/square/go-jose.v2/CONTRIBUTING.md new file mode 100644 index 000000000..61b183651 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/CONTRIBUTING.md @@ -0,0 +1,14 @@ +# Contributing + +If you would like to contribute code to go-jose you can do so through GitHub by +forking the repository and sending a pull request. + +When submitting code, please make every effort to follow existing conventions +and style in order to keep the code as readable as possible. Please also make +sure all tests pass by running `go test`, and format your code with `go fmt`. +We also recommend using `golint` and `errcheck`. + +Before your code can be accepted into the project you must also sign the +[Individual Contributor License Agreement][1]. + + [1]: https://spreadsheets.google.com/spreadsheet/viewform?formkey=dDViT2xzUHAwRkI3X3k5Z0lQM091OGc6MQ&ndplr=1 diff --git a/vendor/gopkg.in/square/go-jose.v2/LICENSE b/vendor/gopkg.in/square/go-jose.v2/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/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/gopkg.in/square/go-jose.v2/README.md b/vendor/gopkg.in/square/go-jose.v2/README.md new file mode 100644 index 000000000..1791bfa8f --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/README.md @@ -0,0 +1,118 @@ +# Go JOSE + +[![godoc](http://img.shields.io/badge/godoc-version_1-blue.svg?style=flat)](https://godoc.org/gopkg.in/square/go-jose.v1) +[![godoc](http://img.shields.io/badge/godoc-version_2-blue.svg?style=flat)](https://godoc.org/gopkg.in/square/go-jose.v2) +[![license](http://img.shields.io/badge/license-apache_2.0-blue.svg?style=flat)](https://raw.githubusercontent.com/square/go-jose/master/LICENSE) +[![build](https://travis-ci.org/square/go-jose.svg?branch=v2)](https://travis-ci.org/square/go-jose) +[![coverage](https://coveralls.io/repos/github/square/go-jose/badge.svg?branch=v2)](https://coveralls.io/r/square/go-jose) + +Package jose aims to provide an implementation of the Javascript Object Signing +and Encryption set of standards. This includes support for JSON Web Encryption, +JSON Web Signature, and JSON Web Token standards. + +**Disclaimer**: This library contains encryption software that is subject to +the U.S. Export Administration Regulations. You may not export, re-export, +transfer or download this code or any part of it in violation of any United +States law, directive or regulation. In particular this software may not be +exported or re-exported in any form or on any media to Iran, North Sudan, +Syria, Cuba, or North Korea, or to denied persons or entities mentioned on any +US maintained blocked list. + +## Overview + +The implementation follows the +[JSON Web Encryption](http://dx.doi.org/10.17487/RFC7516) (RFC 7516), +[JSON Web Signature](http://dx.doi.org/10.17487/RFC7515) (RFC 7515), and +[JSON Web Token](http://dx.doi.org/10.17487/RFC7519) (RFC 7519). +Tables of supported algorithms are shown below. The library supports both +the compact and full serialization formats, and has optional support for +multiple recipients. It also comes with a small command-line utility +([`jose-util`](https://github.com/square/go-jose/tree/v2/jose-util)) +for dealing with JOSE messages in a shell. + +**Note**: We use a forked version of the `encoding/json` package from the Go +standard library which uses case-sensitive matching for member names (instead +of [case-insensitive matching](https://www.ietf.org/mail-archive/web/json/current/msg03763.html)). +This is to avoid differences in interpretation of messages between go-jose and +libraries in other languages. + +### Versions + +We use [gopkg.in](https://gopkg.in) for versioning. + +[Version 2](https://gopkg.in/square/go-jose.v2) +([branch](https://github.com/square/go-jose/tree/v2), +[doc](https://godoc.org/gopkg.in/square/go-jose.v2)) is the current version: + + import "gopkg.in/square/go-jose.v2" + +The old `v1` branch ([go-jose.v1](https://gopkg.in/square/go-jose.v1)) will +still receive backported bug fixes and security fixes, but otherwise +development is frozen. All new feature development takes place on the `v2` +branch. Version 2 also contains additional sub-packages such as the +[jwt](https://godoc.org/gopkg.in/square/go-jose.v2/jwt) implementation +contributed by [@shaxbee](https://github.com/shaxbee). + +### Supported algorithms + +See below for a table of supported algorithms. Algorithm identifiers match +the names in the [JSON Web Algorithms](http://dx.doi.org/10.17487/RFC7518) +standard where possible. The Godoc reference has a list of constants. + + Key encryption | Algorithm identifier(s) + :------------------------- | :------------------------------ + RSA-PKCS#1v1.5 | RSA1_5 + RSA-OAEP | RSA-OAEP, RSA-OAEP-256 + AES key wrap | A128KW, A192KW, A256KW + AES-GCM key wrap | A128GCMKW, A192GCMKW, A256GCMKW + ECDH-ES + AES key wrap | ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW + ECDH-ES (direct) | ECDH-ES<sup>1</sup> + Direct encryption | dir<sup>1</sup> + +<sup>1. Not supported in multi-recipient mode</sup> + + Signing / MAC | Algorithm identifier(s) + :------------------------- | :------------------------------ + RSASSA-PKCS#1v1.5 | RS256, RS384, RS512 + RSASSA-PSS | PS256, PS384, PS512 + HMAC | HS256, HS384, HS512 + ECDSA | ES256, ES384, ES512 + Ed25519 | EdDSA<sup>2</sup> + +<sup>2. Only available in version 2 of the package</sup> + + Content encryption | Algorithm identifier(s) + :------------------------- | :------------------------------ + AES-CBC+HMAC | A128CBC-HS256, A192CBC-HS384, A256CBC-HS512 + AES-GCM | A128GCM, A192GCM, A256GCM + + Compression | Algorithm identifiers(s) + :------------------------- | ------------------------------- + DEFLATE (RFC 1951) | DEF + +### Supported key types + +See below for a table of supported key types. These are understood by the +library, and can be passed to corresponding functions such as `NewEncrypter` or +`NewSigner`. Each of these keys can also be wrapped in a JWK if desired, which +allows attaching a key id. + + Algorithm(s) | Corresponding types + :------------------------- | ------------------------------- + RSA | *[rsa.PublicKey](http://golang.org/pkg/crypto/rsa/#PublicKey), *[rsa.PrivateKey](http://golang.org/pkg/crypto/rsa/#PrivateKey) + ECDH, ECDSA | *[ecdsa.PublicKey](http://golang.org/pkg/crypto/ecdsa/#PublicKey), *[ecdsa.PrivateKey](http://golang.org/pkg/crypto/ecdsa/#PrivateKey) + EdDSA<sup>1</sup> | [ed25519.PublicKey](https://godoc.org/golang.org/x/crypto/ed25519#PublicKey), [ed25519.PrivateKey](https://godoc.org/golang.org/x/crypto/ed25519#PrivateKey) + AES, HMAC | []byte + +<sup>1. Only available in version 2 of the package</sup> + +## Examples + +[![godoc](http://img.shields.io/badge/godoc-version_1-blue.svg?style=flat)](https://godoc.org/gopkg.in/square/go-jose.v1) +[![godoc](http://img.shields.io/badge/godoc-version_2-blue.svg?style=flat)](https://godoc.org/gopkg.in/square/go-jose.v2) + +Examples can be found in the Godoc +reference for this package. The +[`jose-util`](https://github.com/square/go-jose/tree/v2/jose-util) +subdirectory also contains a small command-line utility which might be useful +as an example. diff --git a/vendor/gopkg.in/square/go-jose.v2/asymmetric.go b/vendor/gopkg.in/square/go-jose.v2/asymmetric.go new file mode 100644 index 000000000..b69aa0369 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/asymmetric.go @@ -0,0 +1,592 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "crypto" + "crypto/aes" + "crypto/ecdsa" + "crypto/rand" + "crypto/rsa" + "crypto/sha1" + "crypto/sha256" + "errors" + "fmt" + "math/big" + + "golang.org/x/crypto/ed25519" + josecipher "gopkg.in/square/go-jose.v2/cipher" + "gopkg.in/square/go-jose.v2/json" +) + +// A generic RSA-based encrypter/verifier +type rsaEncrypterVerifier struct { + publicKey *rsa.PublicKey +} + +// A generic RSA-based decrypter/signer +type rsaDecrypterSigner struct { + privateKey *rsa.PrivateKey +} + +// A generic EC-based encrypter/verifier +type ecEncrypterVerifier struct { + publicKey *ecdsa.PublicKey +} + +type edEncrypterVerifier struct { + publicKey ed25519.PublicKey +} + +// A key generator for ECDH-ES +type ecKeyGenerator struct { + size int + algID string + publicKey *ecdsa.PublicKey +} + +// A generic EC-based decrypter/signer +type ecDecrypterSigner struct { + privateKey *ecdsa.PrivateKey +} + +type edDecrypterSigner struct { + privateKey ed25519.PrivateKey +} + +// newRSARecipient creates recipientKeyInfo based on the given key. +func newRSARecipient(keyAlg KeyAlgorithm, publicKey *rsa.PublicKey) (recipientKeyInfo, error) { + // Verify that key management algorithm is supported by this encrypter + switch keyAlg { + case RSA1_5, RSA_OAEP, RSA_OAEP_256: + default: + return recipientKeyInfo{}, ErrUnsupportedAlgorithm + } + + if publicKey == nil { + return recipientKeyInfo{}, errors.New("invalid public key") + } + + return recipientKeyInfo{ + keyAlg: keyAlg, + keyEncrypter: &rsaEncrypterVerifier{ + publicKey: publicKey, + }, + }, nil +} + +// newRSASigner creates a recipientSigInfo based on the given key. +func newRSASigner(sigAlg SignatureAlgorithm, privateKey *rsa.PrivateKey) (recipientSigInfo, error) { + // Verify that key management algorithm is supported by this encrypter + switch sigAlg { + case RS256, RS384, RS512, PS256, PS384, PS512: + default: + return recipientSigInfo{}, ErrUnsupportedAlgorithm + } + + if privateKey == nil { + return recipientSigInfo{}, errors.New("invalid private key") + } + + return recipientSigInfo{ + sigAlg: sigAlg, + publicKey: staticPublicKey(&JSONWebKey{ + Key: privateKey.Public(), + }), + signer: &rsaDecrypterSigner{ + privateKey: privateKey, + }, + }, nil +} + +func newEd25519Signer(sigAlg SignatureAlgorithm, privateKey ed25519.PrivateKey) (recipientSigInfo, error) { + if sigAlg != EdDSA { + return recipientSigInfo{}, ErrUnsupportedAlgorithm + } + + if privateKey == nil { + return recipientSigInfo{}, errors.New("invalid private key") + } + return recipientSigInfo{ + sigAlg: sigAlg, + publicKey: staticPublicKey(&JSONWebKey{ + Key: privateKey.Public(), + }), + signer: &edDecrypterSigner{ + privateKey: privateKey, + }, + }, nil +} + +// newECDHRecipient creates recipientKeyInfo based on the given key. +func newECDHRecipient(keyAlg KeyAlgorithm, publicKey *ecdsa.PublicKey) (recipientKeyInfo, error) { + // Verify that key management algorithm is supported by this encrypter + switch keyAlg { + case ECDH_ES, ECDH_ES_A128KW, ECDH_ES_A192KW, ECDH_ES_A256KW: + default: + return recipientKeyInfo{}, ErrUnsupportedAlgorithm + } + + if publicKey == nil || !publicKey.Curve.IsOnCurve(publicKey.X, publicKey.Y) { + return recipientKeyInfo{}, errors.New("invalid public key") + } + + return recipientKeyInfo{ + keyAlg: keyAlg, + keyEncrypter: &ecEncrypterVerifier{ + publicKey: publicKey, + }, + }, nil +} + +// newECDSASigner creates a recipientSigInfo based on the given key. +func newECDSASigner(sigAlg SignatureAlgorithm, privateKey *ecdsa.PrivateKey) (recipientSigInfo, error) { + // Verify that key management algorithm is supported by this encrypter + switch sigAlg { + case ES256, ES384, ES512: + default: + return recipientSigInfo{}, ErrUnsupportedAlgorithm + } + + if privateKey == nil { + return recipientSigInfo{}, errors.New("invalid private key") + } + + return recipientSigInfo{ + sigAlg: sigAlg, + publicKey: staticPublicKey(&JSONWebKey{ + Key: privateKey.Public(), + }), + signer: &ecDecrypterSigner{ + privateKey: privateKey, + }, + }, nil +} + +// Encrypt the given payload and update the object. +func (ctx rsaEncrypterVerifier) encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) { + encryptedKey, err := ctx.encrypt(cek, alg) + if err != nil { + return recipientInfo{}, err + } + + return recipientInfo{ + encryptedKey: encryptedKey, + header: &rawHeader{}, + }, nil +} + +// Encrypt the given payload. Based on the key encryption algorithm, +// this will either use RSA-PKCS1v1.5 or RSA-OAEP (with SHA-1 or SHA-256). +func (ctx rsaEncrypterVerifier) encrypt(cek []byte, alg KeyAlgorithm) ([]byte, error) { + switch alg { + case RSA1_5: + return rsa.EncryptPKCS1v15(RandReader, ctx.publicKey, cek) + case RSA_OAEP: + return rsa.EncryptOAEP(sha1.New(), RandReader, ctx.publicKey, cek, []byte{}) + case RSA_OAEP_256: + return rsa.EncryptOAEP(sha256.New(), RandReader, ctx.publicKey, cek, []byte{}) + } + + return nil, ErrUnsupportedAlgorithm +} + +// Decrypt the given payload and return the content encryption key. +func (ctx rsaDecrypterSigner) decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) { + return ctx.decrypt(recipient.encryptedKey, headers.getAlgorithm(), generator) +} + +// Decrypt the given payload. Based on the key encryption algorithm, +// this will either use RSA-PKCS1v1.5 or RSA-OAEP (with SHA-1 or SHA-256). +func (ctx rsaDecrypterSigner) decrypt(jek []byte, alg KeyAlgorithm, generator keyGenerator) ([]byte, error) { + // Note: The random reader on decrypt operations is only used for blinding, + // so stubbing is meanlingless (hence the direct use of rand.Reader). + switch alg { + case RSA1_5: + defer func() { + // DecryptPKCS1v15SessionKey sometimes panics on an invalid payload + // because of an index out of bounds error, which we want to ignore. + // This has been fixed in Go 1.3.1 (released 2014/08/13), the recover() + // only exists for preventing crashes with unpatched versions. + // See: https://groups.google.com/forum/#!topic/golang-dev/7ihX6Y6kx9k + // See: https://code.google.com/p/go/source/detail?r=58ee390ff31602edb66af41ed10901ec95904d33 + _ = recover() + }() + + // Perform some input validation. + keyBytes := ctx.privateKey.PublicKey.N.BitLen() / 8 + if keyBytes != len(jek) { + // Input size is incorrect, the encrypted payload should always match + // the size of the public modulus (e.g. using a 2048 bit key will + // produce 256 bytes of output). Reject this since it's invalid input. + return nil, ErrCryptoFailure + } + + cek, _, err := generator.genKey() + if err != nil { + return nil, ErrCryptoFailure + } + + // When decrypting an RSA-PKCS1v1.5 payload, we must take precautions to + // prevent chosen-ciphertext attacks as described in RFC 3218, "Preventing + // the Million Message Attack on Cryptographic Message Syntax". We are + // therefore deliberately ignoring errors here. + _ = rsa.DecryptPKCS1v15SessionKey(rand.Reader, ctx.privateKey, jek, cek) + + return cek, nil + case RSA_OAEP: + // Use rand.Reader for RSA blinding + return rsa.DecryptOAEP(sha1.New(), rand.Reader, ctx.privateKey, jek, []byte{}) + case RSA_OAEP_256: + // Use rand.Reader for RSA blinding + return rsa.DecryptOAEP(sha256.New(), rand.Reader, ctx.privateKey, jek, []byte{}) + } + + return nil, ErrUnsupportedAlgorithm +} + +// Sign the given payload +func (ctx rsaDecrypterSigner) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { + var hash crypto.Hash + + switch alg { + case RS256, PS256: + hash = crypto.SHA256 + case RS384, PS384: + hash = crypto.SHA384 + case RS512, PS512: + hash = crypto.SHA512 + default: + return Signature{}, ErrUnsupportedAlgorithm + } + + hasher := hash.New() + + // According to documentation, Write() on hash never fails + _, _ = hasher.Write(payload) + hashed := hasher.Sum(nil) + + var out []byte + var err error + + switch alg { + case RS256, RS384, RS512: + out, err = rsa.SignPKCS1v15(RandReader, ctx.privateKey, hash, hashed) + case PS256, PS384, PS512: + out, err = rsa.SignPSS(RandReader, ctx.privateKey, hash, hashed, &rsa.PSSOptions{ + SaltLength: rsa.PSSSaltLengthEqualsHash, + }) + } + + if err != nil { + return Signature{}, err + } + + return Signature{ + Signature: out, + protected: &rawHeader{}, + }, nil +} + +// Verify the given payload +func (ctx rsaEncrypterVerifier) verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error { + var hash crypto.Hash + + switch alg { + case RS256, PS256: + hash = crypto.SHA256 + case RS384, PS384: + hash = crypto.SHA384 + case RS512, PS512: + hash = crypto.SHA512 + default: + return ErrUnsupportedAlgorithm + } + + hasher := hash.New() + + // According to documentation, Write() on hash never fails + _, _ = hasher.Write(payload) + hashed := hasher.Sum(nil) + + switch alg { + case RS256, RS384, RS512: + return rsa.VerifyPKCS1v15(ctx.publicKey, hash, hashed, signature) + case PS256, PS384, PS512: + return rsa.VerifyPSS(ctx.publicKey, hash, hashed, signature, nil) + } + + return ErrUnsupportedAlgorithm +} + +// Encrypt the given payload and update the object. +func (ctx ecEncrypterVerifier) encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) { + switch alg { + case ECDH_ES: + // ECDH-ES mode doesn't wrap a key, the shared secret is used directly as the key. + return recipientInfo{ + header: &rawHeader{}, + }, nil + case ECDH_ES_A128KW, ECDH_ES_A192KW, ECDH_ES_A256KW: + default: + return recipientInfo{}, ErrUnsupportedAlgorithm + } + + generator := ecKeyGenerator{ + algID: string(alg), + publicKey: ctx.publicKey, + } + + switch alg { + case ECDH_ES_A128KW: + generator.size = 16 + case ECDH_ES_A192KW: + generator.size = 24 + case ECDH_ES_A256KW: + generator.size = 32 + } + + kek, header, err := generator.genKey() + if err != nil { + return recipientInfo{}, err + } + + block, err := aes.NewCipher(kek) + if err != nil { + return recipientInfo{}, err + } + + jek, err := josecipher.KeyWrap(block, cek) + if err != nil { + return recipientInfo{}, err + } + + return recipientInfo{ + encryptedKey: jek, + header: &header, + }, nil +} + +// Get key size for EC key generator +func (ctx ecKeyGenerator) keySize() int { + return ctx.size +} + +// Get a content encryption key for ECDH-ES +func (ctx ecKeyGenerator) genKey() ([]byte, rawHeader, error) { + priv, err := ecdsa.GenerateKey(ctx.publicKey.Curve, RandReader) + if err != nil { + return nil, rawHeader{}, err + } + + out := josecipher.DeriveECDHES(ctx.algID, []byte{}, []byte{}, priv, ctx.publicKey, ctx.size) + + b, err := json.Marshal(&JSONWebKey{ + Key: &priv.PublicKey, + }) + if err != nil { + return nil, nil, err + } + + headers := rawHeader{ + headerEPK: makeRawMessage(b), + } + + return out, headers, nil +} + +// Decrypt the given payload and return the content encryption key. +func (ctx ecDecrypterSigner) decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) { + epk, err := headers.getEPK() + if err != nil { + return nil, errors.New("square/go-jose: invalid epk header") + } + if epk == nil { + return nil, errors.New("square/go-jose: missing epk header") + } + + publicKey, ok := epk.Key.(*ecdsa.PublicKey) + if publicKey == nil || !ok { + return nil, errors.New("square/go-jose: invalid epk header") + } + + if !ctx.privateKey.Curve.IsOnCurve(publicKey.X, publicKey.Y) { + return nil, errors.New("square/go-jose: invalid public key in epk header") + } + + apuData, err := headers.getAPU() + if err != nil { + return nil, errors.New("square/go-jose: invalid apu header") + } + apvData, err := headers.getAPV() + if err != nil { + return nil, errors.New("square/go-jose: invalid apv header") + } + + deriveKey := func(algID string, size int) []byte { + return josecipher.DeriveECDHES(algID, apuData.bytes(), apvData.bytes(), ctx.privateKey, publicKey, size) + } + + var keySize int + + algorithm := headers.getAlgorithm() + switch algorithm { + case ECDH_ES: + // ECDH-ES uses direct key agreement, no key unwrapping necessary. + return deriveKey(string(headers.getEncryption()), generator.keySize()), nil + case ECDH_ES_A128KW: + keySize = 16 + case ECDH_ES_A192KW: + keySize = 24 + case ECDH_ES_A256KW: + keySize = 32 + default: + return nil, ErrUnsupportedAlgorithm + } + + key := deriveKey(string(algorithm), keySize) + block, err := aes.NewCipher(key) + if err != nil { + return nil, err + } + + return josecipher.KeyUnwrap(block, recipient.encryptedKey) +} + +func (ctx edDecrypterSigner) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { + if alg != EdDSA { + return Signature{}, ErrUnsupportedAlgorithm + } + + sig, err := ctx.privateKey.Sign(RandReader, payload, crypto.Hash(0)) + if err != nil { + return Signature{}, err + } + + return Signature{ + Signature: sig, + protected: &rawHeader{}, + }, nil +} + +func (ctx edEncrypterVerifier) verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error { + if alg != EdDSA { + return ErrUnsupportedAlgorithm + } + ok := ed25519.Verify(ctx.publicKey, payload, signature) + if !ok { + return errors.New("square/go-jose: ed25519 signature failed to verify") + } + return nil +} + +// Sign the given payload +func (ctx ecDecrypterSigner) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { + var expectedBitSize int + var hash crypto.Hash + + switch alg { + case ES256: + expectedBitSize = 256 + hash = crypto.SHA256 + case ES384: + expectedBitSize = 384 + hash = crypto.SHA384 + case ES512: + expectedBitSize = 521 + hash = crypto.SHA512 + } + + curveBits := ctx.privateKey.Curve.Params().BitSize + if expectedBitSize != curveBits { + return Signature{}, fmt.Errorf("square/go-jose: expected %d bit key, got %d bits instead", expectedBitSize, curveBits) + } + + hasher := hash.New() + + // According to documentation, Write() on hash never fails + _, _ = hasher.Write(payload) + hashed := hasher.Sum(nil) + + r, s, err := ecdsa.Sign(RandReader, ctx.privateKey, hashed) + if err != nil { + return Signature{}, err + } + + keyBytes := curveBits / 8 + if curveBits%8 > 0 { + keyBytes++ + } + + // We serialize the outputs (r and s) into big-endian byte arrays and pad + // them with zeros on the left to make sure the sizes work out. Both arrays + // must be keyBytes long, and the output must be 2*keyBytes long. + rBytes := r.Bytes() + rBytesPadded := make([]byte, keyBytes) + copy(rBytesPadded[keyBytes-len(rBytes):], rBytes) + + sBytes := s.Bytes() + sBytesPadded := make([]byte, keyBytes) + copy(sBytesPadded[keyBytes-len(sBytes):], sBytes) + + out := append(rBytesPadded, sBytesPadded...) + + return Signature{ + Signature: out, + protected: &rawHeader{}, + }, nil +} + +// Verify the given payload +func (ctx ecEncrypterVerifier) verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error { + var keySize int + var hash crypto.Hash + + switch alg { + case ES256: + keySize = 32 + hash = crypto.SHA256 + case ES384: + keySize = 48 + hash = crypto.SHA384 + case ES512: + keySize = 66 + hash = crypto.SHA512 + default: + return ErrUnsupportedAlgorithm + } + + if len(signature) != 2*keySize { + return fmt.Errorf("square/go-jose: invalid signature size, have %d bytes, wanted %d", len(signature), 2*keySize) + } + + hasher := hash.New() + + // According to documentation, Write() on hash never fails + _, _ = hasher.Write(payload) + hashed := hasher.Sum(nil) + + r := big.NewInt(0).SetBytes(signature[:keySize]) + s := big.NewInt(0).SetBytes(signature[keySize:]) + + match := ecdsa.Verify(ctx.publicKey, hashed, r, s) + if !match { + return errors.New("square/go-jose: ecdsa signature failed to verify") + } + + return nil +} diff --git a/vendor/gopkg.in/square/go-jose.v2/cipher/cbc_hmac.go b/vendor/gopkg.in/square/go-jose.v2/cipher/cbc_hmac.go new file mode 100644 index 000000000..126b85ce2 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/cipher/cbc_hmac.go @@ -0,0 +1,196 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package josecipher + +import ( + "bytes" + "crypto/cipher" + "crypto/hmac" + "crypto/sha256" + "crypto/sha512" + "crypto/subtle" + "encoding/binary" + "errors" + "hash" +) + +const ( + nonceBytes = 16 +) + +// NewCBCHMAC instantiates a new AEAD based on CBC+HMAC. +func NewCBCHMAC(key []byte, newBlockCipher func([]byte) (cipher.Block, error)) (cipher.AEAD, error) { + keySize := len(key) / 2 + integrityKey := key[:keySize] + encryptionKey := key[keySize:] + + blockCipher, err := newBlockCipher(encryptionKey) + if err != nil { + return nil, err + } + + var hash func() hash.Hash + switch keySize { + case 16: + hash = sha256.New + case 24: + hash = sha512.New384 + case 32: + hash = sha512.New + } + + return &cbcAEAD{ + hash: hash, + blockCipher: blockCipher, + authtagBytes: keySize, + integrityKey: integrityKey, + }, nil +} + +// An AEAD based on CBC+HMAC +type cbcAEAD struct { + hash func() hash.Hash + authtagBytes int + integrityKey []byte + blockCipher cipher.Block +} + +func (ctx *cbcAEAD) NonceSize() int { + return nonceBytes +} + +func (ctx *cbcAEAD) Overhead() int { + // Maximum overhead is block size (for padding) plus auth tag length, where + // the length of the auth tag is equivalent to the key size. + return ctx.blockCipher.BlockSize() + ctx.authtagBytes +} + +// Seal encrypts and authenticates the plaintext. +func (ctx *cbcAEAD) Seal(dst, nonce, plaintext, data []byte) []byte { + // Output buffer -- must take care not to mangle plaintext input. + ciphertext := make([]byte, uint64(len(plaintext))+uint64(ctx.Overhead()))[:len(plaintext)] + copy(ciphertext, plaintext) + ciphertext = padBuffer(ciphertext, ctx.blockCipher.BlockSize()) + + cbc := cipher.NewCBCEncrypter(ctx.blockCipher, nonce) + + cbc.CryptBlocks(ciphertext, ciphertext) + authtag := ctx.computeAuthTag(data, nonce, ciphertext) + + ret, out := resize(dst, uint64(len(dst))+uint64(len(ciphertext))+uint64(len(authtag))) + copy(out, ciphertext) + copy(out[len(ciphertext):], authtag) + + return ret +} + +// Open decrypts and authenticates the ciphertext. +func (ctx *cbcAEAD) Open(dst, nonce, ciphertext, data []byte) ([]byte, error) { + if len(ciphertext) < ctx.authtagBytes { + return nil, errors.New("square/go-jose: invalid ciphertext (too short)") + } + + offset := len(ciphertext) - ctx.authtagBytes + expectedTag := ctx.computeAuthTag(data, nonce, ciphertext[:offset]) + match := subtle.ConstantTimeCompare(expectedTag, ciphertext[offset:]) + if match != 1 { + return nil, errors.New("square/go-jose: invalid ciphertext (auth tag mismatch)") + } + + cbc := cipher.NewCBCDecrypter(ctx.blockCipher, nonce) + + // Make copy of ciphertext buffer, don't want to modify in place + buffer := append([]byte{}, []byte(ciphertext[:offset])...) + + if len(buffer)%ctx.blockCipher.BlockSize() > 0 { + return nil, errors.New("square/go-jose: invalid ciphertext (invalid length)") + } + + cbc.CryptBlocks(buffer, buffer) + + // Remove padding + plaintext, err := unpadBuffer(buffer, ctx.blockCipher.BlockSize()) + if err != nil { + return nil, err + } + + ret, out := resize(dst, uint64(len(dst))+uint64(len(plaintext))) + copy(out, plaintext) + + return ret, nil +} + +// Compute an authentication tag +func (ctx *cbcAEAD) computeAuthTag(aad, nonce, ciphertext []byte) []byte { + buffer := make([]byte, uint64(len(aad))+uint64(len(nonce))+uint64(len(ciphertext))+8) + n := 0 + n += copy(buffer, aad) + n += copy(buffer[n:], nonce) + n += copy(buffer[n:], ciphertext) + binary.BigEndian.PutUint64(buffer[n:], uint64(len(aad))*8) + + // According to documentation, Write() on hash.Hash never fails. + hmac := hmac.New(ctx.hash, ctx.integrityKey) + _, _ = hmac.Write(buffer) + + return hmac.Sum(nil)[:ctx.authtagBytes] +} + +// resize ensures the the given slice has a capacity of at least n bytes. +// If the capacity of the slice is less than n, a new slice is allocated +// and the existing data will be copied. +func resize(in []byte, n uint64) (head, tail []byte) { + if uint64(cap(in)) >= n { + head = in[:n] + } else { + head = make([]byte, n) + copy(head, in) + } + + tail = head[len(in):] + return +} + +// Apply padding +func padBuffer(buffer []byte, blockSize int) []byte { + missing := blockSize - (len(buffer) % blockSize) + ret, out := resize(buffer, uint64(len(buffer))+uint64(missing)) + padding := bytes.Repeat([]byte{byte(missing)}, missing) + copy(out, padding) + return ret +} + +// Remove padding +func unpadBuffer(buffer []byte, blockSize int) ([]byte, error) { + if len(buffer)%blockSize != 0 { + return nil, errors.New("square/go-jose: invalid padding") + } + + last := buffer[len(buffer)-1] + count := int(last) + + if count == 0 || count > blockSize || count > len(buffer) { + return nil, errors.New("square/go-jose: invalid padding") + } + + padding := bytes.Repeat([]byte{last}, count) + if !bytes.HasSuffix(buffer, padding) { + return nil, errors.New("square/go-jose: invalid padding") + } + + return buffer[:len(buffer)-count], nil +} diff --git a/vendor/gopkg.in/square/go-jose.v2/cipher/concat_kdf.go b/vendor/gopkg.in/square/go-jose.v2/cipher/concat_kdf.go new file mode 100644 index 000000000..f62c3bdba --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/cipher/concat_kdf.go @@ -0,0 +1,75 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package josecipher + +import ( + "crypto" + "encoding/binary" + "hash" + "io" +) + +type concatKDF struct { + z, info []byte + i uint32 + cache []byte + hasher hash.Hash +} + +// NewConcatKDF builds a KDF reader based on the given inputs. +func NewConcatKDF(hash crypto.Hash, z, algID, ptyUInfo, ptyVInfo, supPubInfo, supPrivInfo []byte) io.Reader { + buffer := make([]byte, uint64(len(algID))+uint64(len(ptyUInfo))+uint64(len(ptyVInfo))+uint64(len(supPubInfo))+uint64(len(supPrivInfo))) + n := 0 + n += copy(buffer, algID) + n += copy(buffer[n:], ptyUInfo) + n += copy(buffer[n:], ptyVInfo) + n += copy(buffer[n:], supPubInfo) + copy(buffer[n:], supPrivInfo) + + hasher := hash.New() + + return &concatKDF{ + z: z, + info: buffer, + hasher: hasher, + cache: []byte{}, + i: 1, + } +} + +func (ctx *concatKDF) Read(out []byte) (int, error) { + copied := copy(out, ctx.cache) + ctx.cache = ctx.cache[copied:] + + for copied < len(out) { + ctx.hasher.Reset() + + // Write on a hash.Hash never fails + _ = binary.Write(ctx.hasher, binary.BigEndian, ctx.i) + _, _ = ctx.hasher.Write(ctx.z) + _, _ = ctx.hasher.Write(ctx.info) + + hash := ctx.hasher.Sum(nil) + chunkCopied := copy(out[copied:], hash) + copied += chunkCopied + ctx.cache = hash[chunkCopied:] + + ctx.i++ + } + + return copied, nil +} diff --git a/vendor/gopkg.in/square/go-jose.v2/cipher/ecdh_es.go b/vendor/gopkg.in/square/go-jose.v2/cipher/ecdh_es.go new file mode 100644 index 000000000..093c64674 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/cipher/ecdh_es.go @@ -0,0 +1,86 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package josecipher + +import ( + "bytes" + "crypto" + "crypto/ecdsa" + "crypto/elliptic" + "encoding/binary" +) + +// DeriveECDHES derives a shared encryption key using ECDH/ConcatKDF as described in JWE/JWA. +// It is an error to call this function with a private/public key that are not on the same +// curve. Callers must ensure that the keys are valid before calling this function. Output +// size may be at most 1<<16 bytes (64 KiB). +func DeriveECDHES(alg string, apuData, apvData []byte, priv *ecdsa.PrivateKey, pub *ecdsa.PublicKey, size int) []byte { + if size > 1<<16 { + panic("ECDH-ES output size too large, must be less than or equal to 1<<16") + } + + // algId, partyUInfo, partyVInfo inputs must be prefixed with the length + algID := lengthPrefixed([]byte(alg)) + ptyUInfo := lengthPrefixed(apuData) + ptyVInfo := lengthPrefixed(apvData) + + // suppPubInfo is the encoded length of the output size in bits + supPubInfo := make([]byte, 4) + binary.BigEndian.PutUint32(supPubInfo, uint32(size)*8) + + if !priv.PublicKey.Curve.IsOnCurve(pub.X, pub.Y) { + panic("public key not on same curve as private key") + } + + z, _ := priv.Curve.ScalarMult(pub.X, pub.Y, priv.D.Bytes()) + zBytes := z.Bytes() + + // Note that calling z.Bytes() on a big.Int may strip leading zero bytes from + // the returned byte array. This can lead to a problem where zBytes will be + // shorter than expected which breaks the key derivation. Therefore we must pad + // to the full length of the expected coordinate here before calling the KDF. + octSize := dSize(priv.Curve) + if len(zBytes) != octSize { + zBytes = append(bytes.Repeat([]byte{0}, octSize-len(zBytes)), zBytes...) + } + + reader := NewConcatKDF(crypto.SHA256, zBytes, algID, ptyUInfo, ptyVInfo, supPubInfo, []byte{}) + key := make([]byte, size) + + // Read on the KDF will never fail + _, _ = reader.Read(key) + + return key +} + +// dSize returns the size in octets for a coordinate on a elliptic curve. +func dSize(curve elliptic.Curve) int { + order := curve.Params().P + bitLen := order.BitLen() + size := bitLen / 8 + if bitLen%8 != 0 { + size++ + } + return size +} + +func lengthPrefixed(data []byte) []byte { + out := make([]byte, len(data)+4) + binary.BigEndian.PutUint32(out, uint32(len(data))) + copy(out[4:], data) + return out +} diff --git a/vendor/gopkg.in/square/go-jose.v2/cipher/key_wrap.go b/vendor/gopkg.in/square/go-jose.v2/cipher/key_wrap.go new file mode 100644 index 000000000..1d36d5015 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/cipher/key_wrap.go @@ -0,0 +1,109 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package josecipher + +import ( + "crypto/cipher" + "crypto/subtle" + "encoding/binary" + "errors" +) + +var defaultIV = []byte{0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6} + +// KeyWrap implements NIST key wrapping; it wraps a content encryption key (cek) with the given block cipher. +func KeyWrap(block cipher.Block, cek []byte) ([]byte, error) { + if len(cek)%8 != 0 { + return nil, errors.New("square/go-jose: key wrap input must be 8 byte blocks") + } + + n := len(cek) / 8 + r := make([][]byte, n) + + for i := range r { + r[i] = make([]byte, 8) + copy(r[i], cek[i*8:]) + } + + buffer := make([]byte, 16) + tBytes := make([]byte, 8) + copy(buffer, defaultIV) + + for t := 0; t < 6*n; t++ { + copy(buffer[8:], r[t%n]) + + block.Encrypt(buffer, buffer) + + binary.BigEndian.PutUint64(tBytes, uint64(t+1)) + + for i := 0; i < 8; i++ { + buffer[i] = buffer[i] ^ tBytes[i] + } + copy(r[t%n], buffer[8:]) + } + + out := make([]byte, (n+1)*8) + copy(out, buffer[:8]) + for i := range r { + copy(out[(i+1)*8:], r[i]) + } + + return out, nil +} + +// KeyUnwrap implements NIST key unwrapping; it unwraps a content encryption key (cek) with the given block cipher. +func KeyUnwrap(block cipher.Block, ciphertext []byte) ([]byte, error) { + if len(ciphertext)%8 != 0 { + return nil, errors.New("square/go-jose: key wrap input must be 8 byte blocks") + } + + n := (len(ciphertext) / 8) - 1 + r := make([][]byte, n) + + for i := range r { + r[i] = make([]byte, 8) + copy(r[i], ciphertext[(i+1)*8:]) + } + + buffer := make([]byte, 16) + tBytes := make([]byte, 8) + copy(buffer[:8], ciphertext[:8]) + + for t := 6*n - 1; t >= 0; t-- { + binary.BigEndian.PutUint64(tBytes, uint64(t+1)) + + for i := 0; i < 8; i++ { + buffer[i] = buffer[i] ^ tBytes[i] + } + copy(buffer[8:], r[t%n]) + + block.Decrypt(buffer, buffer) + + copy(r[t%n], buffer[8:]) + } + + if subtle.ConstantTimeCompare(buffer[:8], defaultIV) == 0 { + return nil, errors.New("square/go-jose: failed to unwrap key") + } + + out := make([]byte, n*8) + for i := range r { + copy(out[i*8:], r[i]) + } + + return out, nil +} diff --git a/vendor/gopkg.in/square/go-jose.v2/crypter.go b/vendor/gopkg.in/square/go-jose.v2/crypter.go new file mode 100644 index 000000000..d24cabf6b --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/crypter.go @@ -0,0 +1,541 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "crypto/ecdsa" + "crypto/rsa" + "errors" + "fmt" + "reflect" + + "gopkg.in/square/go-jose.v2/json" +) + +// Encrypter represents an encrypter which produces an encrypted JWE object. +type Encrypter interface { + Encrypt(plaintext []byte) (*JSONWebEncryption, error) + EncryptWithAuthData(plaintext []byte, aad []byte) (*JSONWebEncryption, error) + Options() EncrypterOptions +} + +// A generic content cipher +type contentCipher interface { + keySize() int + encrypt(cek []byte, aad, plaintext []byte) (*aeadParts, error) + decrypt(cek []byte, aad []byte, parts *aeadParts) ([]byte, error) +} + +// A key generator (for generating/getting a CEK) +type keyGenerator interface { + keySize() int + genKey() ([]byte, rawHeader, error) +} + +// A generic key encrypter +type keyEncrypter interface { + encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) // Encrypt a key +} + +// A generic key decrypter +type keyDecrypter interface { + decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) // Decrypt a key +} + +// A generic encrypter based on the given key encrypter and content cipher. +type genericEncrypter struct { + contentAlg ContentEncryption + compressionAlg CompressionAlgorithm + cipher contentCipher + recipients []recipientKeyInfo + keyGenerator keyGenerator + extraHeaders map[HeaderKey]interface{} +} + +type recipientKeyInfo struct { + keyID string + keyAlg KeyAlgorithm + keyEncrypter keyEncrypter +} + +// EncrypterOptions represents options that can be set on new encrypters. +type EncrypterOptions struct { + Compression CompressionAlgorithm + + // Optional map of additional keys to be inserted into the protected header + // of a JWS object. Some specifications which make use of JWS like to insert + // additional values here. All values must be JSON-serializable. + ExtraHeaders map[HeaderKey]interface{} +} + +// WithHeader adds an arbitrary value to the ExtraHeaders map, initializing it +// if necessary. It returns itself and so can be used in a fluent style. +func (eo *EncrypterOptions) WithHeader(k HeaderKey, v interface{}) *EncrypterOptions { + if eo.ExtraHeaders == nil { + eo.ExtraHeaders = map[HeaderKey]interface{}{} + } + eo.ExtraHeaders[k] = v + return eo +} + +// WithContentType adds a content type ("cty") header and returns the updated +// EncrypterOptions. +func (eo *EncrypterOptions) WithContentType(contentType ContentType) *EncrypterOptions { + return eo.WithHeader(HeaderContentType, contentType) +} + +// WithType adds a type ("typ") header and returns the updated EncrypterOptions. +func (eo *EncrypterOptions) WithType(typ ContentType) *EncrypterOptions { + return eo.WithHeader(HeaderType, typ) +} + +// Recipient represents an algorithm/key to encrypt messages to. +// +// PBES2Count and PBES2Salt correspond with the "p2c" and "p2s" headers used +// on the password-based encryption algorithms PBES2-HS256+A128KW, +// PBES2-HS384+A192KW, and PBES2-HS512+A256KW. If they are not provided a safe +// default of 100000 will be used for the count and a 128-bit random salt will +// be generated. +type Recipient struct { + Algorithm KeyAlgorithm + Key interface{} + KeyID string + PBES2Count int + PBES2Salt []byte +} + +// NewEncrypter creates an appropriate encrypter based on the key type +func NewEncrypter(enc ContentEncryption, rcpt Recipient, opts *EncrypterOptions) (Encrypter, error) { + encrypter := &genericEncrypter{ + contentAlg: enc, + recipients: []recipientKeyInfo{}, + cipher: getContentCipher(enc), + } + if opts != nil { + encrypter.compressionAlg = opts.Compression + encrypter.extraHeaders = opts.ExtraHeaders + } + + if encrypter.cipher == nil { + return nil, ErrUnsupportedAlgorithm + } + + var keyID string + var rawKey interface{} + switch encryptionKey := rcpt.Key.(type) { + case JSONWebKey: + keyID, rawKey = encryptionKey.KeyID, encryptionKey.Key + case *JSONWebKey: + keyID, rawKey = encryptionKey.KeyID, encryptionKey.Key + case OpaqueKeyEncrypter: + keyID, rawKey = encryptionKey.KeyID(), encryptionKey + default: + rawKey = encryptionKey + } + + switch rcpt.Algorithm { + case DIRECT: + // Direct encryption mode must be treated differently + if reflect.TypeOf(rawKey) != reflect.TypeOf([]byte{}) { + return nil, ErrUnsupportedKeyType + } + if encrypter.cipher.keySize() != len(rawKey.([]byte)) { + return nil, ErrInvalidKeySize + } + encrypter.keyGenerator = staticKeyGenerator{ + key: rawKey.([]byte), + } + recipientInfo, _ := newSymmetricRecipient(rcpt.Algorithm, rawKey.([]byte)) + recipientInfo.keyID = keyID + if rcpt.KeyID != "" { + recipientInfo.keyID = rcpt.KeyID + } + encrypter.recipients = []recipientKeyInfo{recipientInfo} + return encrypter, nil + case ECDH_ES: + // ECDH-ES (w/o key wrapping) is similar to DIRECT mode + typeOf := reflect.TypeOf(rawKey) + if typeOf != reflect.TypeOf(&ecdsa.PublicKey{}) { + return nil, ErrUnsupportedKeyType + } + encrypter.keyGenerator = ecKeyGenerator{ + size: encrypter.cipher.keySize(), + algID: string(enc), + publicKey: rawKey.(*ecdsa.PublicKey), + } + recipientInfo, _ := newECDHRecipient(rcpt.Algorithm, rawKey.(*ecdsa.PublicKey)) + recipientInfo.keyID = keyID + if rcpt.KeyID != "" { + recipientInfo.keyID = rcpt.KeyID + } + encrypter.recipients = []recipientKeyInfo{recipientInfo} + return encrypter, nil + default: + // Can just add a standard recipient + encrypter.keyGenerator = randomKeyGenerator{ + size: encrypter.cipher.keySize(), + } + err := encrypter.addRecipient(rcpt) + return encrypter, err + } +} + +// NewMultiEncrypter creates a multi-encrypter based on the given parameters +func NewMultiEncrypter(enc ContentEncryption, rcpts []Recipient, opts *EncrypterOptions) (Encrypter, error) { + cipher := getContentCipher(enc) + + if cipher == nil { + return nil, ErrUnsupportedAlgorithm + } + if rcpts == nil || len(rcpts) == 0 { + return nil, fmt.Errorf("square/go-jose: recipients is nil or empty") + } + + encrypter := &genericEncrypter{ + contentAlg: enc, + recipients: []recipientKeyInfo{}, + cipher: cipher, + keyGenerator: randomKeyGenerator{ + size: cipher.keySize(), + }, + } + + if opts != nil { + encrypter.compressionAlg = opts.Compression + } + + for _, recipient := range rcpts { + err := encrypter.addRecipient(recipient) + if err != nil { + return nil, err + } + } + + return encrypter, nil +} + +func (ctx *genericEncrypter) addRecipient(recipient Recipient) (err error) { + var recipientInfo recipientKeyInfo + + switch recipient.Algorithm { + case DIRECT, ECDH_ES: + return fmt.Errorf("square/go-jose: key algorithm '%s' not supported in multi-recipient mode", recipient.Algorithm) + } + + recipientInfo, err = makeJWERecipient(recipient.Algorithm, recipient.Key) + if recipient.KeyID != "" { + recipientInfo.keyID = recipient.KeyID + } + + switch recipient.Algorithm { + case PBES2_HS256_A128KW, PBES2_HS384_A192KW, PBES2_HS512_A256KW: + if sr, ok := recipientInfo.keyEncrypter.(*symmetricKeyCipher); ok { + sr.p2c = recipient.PBES2Count + sr.p2s = recipient.PBES2Salt + } + } + + if err == nil { + ctx.recipients = append(ctx.recipients, recipientInfo) + } + return err +} + +func makeJWERecipient(alg KeyAlgorithm, encryptionKey interface{}) (recipientKeyInfo, error) { + switch encryptionKey := encryptionKey.(type) { + case *rsa.PublicKey: + return newRSARecipient(alg, encryptionKey) + case *ecdsa.PublicKey: + return newECDHRecipient(alg, encryptionKey) + case []byte: + return newSymmetricRecipient(alg, encryptionKey) + case string: + return newSymmetricRecipient(alg, []byte(encryptionKey)) + case *JSONWebKey: + recipient, err := makeJWERecipient(alg, encryptionKey.Key) + recipient.keyID = encryptionKey.KeyID + return recipient, err + } + if encrypter, ok := encryptionKey.(OpaqueKeyEncrypter); ok { + return newOpaqueKeyEncrypter(alg, encrypter) + } + return recipientKeyInfo{}, ErrUnsupportedKeyType +} + +// newDecrypter creates an appropriate decrypter based on the key type +func newDecrypter(decryptionKey interface{}) (keyDecrypter, error) { + switch decryptionKey := decryptionKey.(type) { + case *rsa.PrivateKey: + return &rsaDecrypterSigner{ + privateKey: decryptionKey, + }, nil + case *ecdsa.PrivateKey: + return &ecDecrypterSigner{ + privateKey: decryptionKey, + }, nil + case []byte: + return &symmetricKeyCipher{ + key: decryptionKey, + }, nil + case string: + return &symmetricKeyCipher{ + key: []byte(decryptionKey), + }, nil + case JSONWebKey: + return newDecrypter(decryptionKey.Key) + case *JSONWebKey: + return newDecrypter(decryptionKey.Key) + } + if okd, ok := decryptionKey.(OpaqueKeyDecrypter); ok { + return &opaqueKeyDecrypter{decrypter: okd}, nil + } + return nil, ErrUnsupportedKeyType +} + +// Implementation of encrypt method producing a JWE object. +func (ctx *genericEncrypter) Encrypt(plaintext []byte) (*JSONWebEncryption, error) { + return ctx.EncryptWithAuthData(plaintext, nil) +} + +// Implementation of encrypt method producing a JWE object. +func (ctx *genericEncrypter) EncryptWithAuthData(plaintext, aad []byte) (*JSONWebEncryption, error) { + obj := &JSONWebEncryption{} + obj.aad = aad + + obj.protected = &rawHeader{} + err := obj.protected.set(headerEncryption, ctx.contentAlg) + if err != nil { + return nil, err + } + + obj.recipients = make([]recipientInfo, len(ctx.recipients)) + + if len(ctx.recipients) == 0 { + return nil, fmt.Errorf("square/go-jose: no recipients to encrypt to") + } + + cek, headers, err := ctx.keyGenerator.genKey() + if err != nil { + return nil, err + } + + obj.protected.merge(&headers) + + for i, info := range ctx.recipients { + recipient, err := info.keyEncrypter.encryptKey(cek, info.keyAlg) + if err != nil { + return nil, err + } + + err = recipient.header.set(headerAlgorithm, info.keyAlg) + if err != nil { + return nil, err + } + + if info.keyID != "" { + err = recipient.header.set(headerKeyID, info.keyID) + if err != nil { + return nil, err + } + } + obj.recipients[i] = recipient + } + + if len(ctx.recipients) == 1 { + // Move per-recipient headers into main protected header if there's + // only a single recipient. + obj.protected.merge(obj.recipients[0].header) + obj.recipients[0].header = nil + } + + if ctx.compressionAlg != NONE { + plaintext, err = compress(ctx.compressionAlg, plaintext) + if err != nil { + return nil, err + } + + err = obj.protected.set(headerCompression, ctx.compressionAlg) + if err != nil { + return nil, err + } + } + + for k, v := range ctx.extraHeaders { + b, err := json.Marshal(v) + if err != nil { + return nil, err + } + (*obj.protected)[k] = makeRawMessage(b) + } + + authData := obj.computeAuthData() + parts, err := ctx.cipher.encrypt(cek, authData, plaintext) + if err != nil { + return nil, err + } + + obj.iv = parts.iv + obj.ciphertext = parts.ciphertext + obj.tag = parts.tag + + return obj, nil +} + +func (ctx *genericEncrypter) Options() EncrypterOptions { + return EncrypterOptions{ + Compression: ctx.compressionAlg, + ExtraHeaders: ctx.extraHeaders, + } +} + +// Decrypt and validate the object and return the plaintext. Note that this +// function does not support multi-recipient, if you desire multi-recipient +// decryption use DecryptMulti instead. +func (obj JSONWebEncryption) Decrypt(decryptionKey interface{}) ([]byte, error) { + headers := obj.mergedHeaders(nil) + + if len(obj.recipients) > 1 { + return nil, errors.New("square/go-jose: too many recipients in payload; expecting only one") + } + + critical, err := headers.getCritical() + if err != nil { + return nil, fmt.Errorf("square/go-jose: invalid crit header") + } + + if len(critical) > 0 { + return nil, fmt.Errorf("square/go-jose: unsupported crit header") + } + + decrypter, err := newDecrypter(decryptionKey) + if err != nil { + return nil, err + } + + cipher := getContentCipher(headers.getEncryption()) + if cipher == nil { + return nil, fmt.Errorf("square/go-jose: unsupported enc value '%s'", string(headers.getEncryption())) + } + + generator := randomKeyGenerator{ + size: cipher.keySize(), + } + + parts := &aeadParts{ + iv: obj.iv, + ciphertext: obj.ciphertext, + tag: obj.tag, + } + + authData := obj.computeAuthData() + + var plaintext []byte + recipient := obj.recipients[0] + recipientHeaders := obj.mergedHeaders(&recipient) + + cek, err := decrypter.decryptKey(recipientHeaders, &recipient, generator) + if err == nil { + // Found a valid CEK -- let's try to decrypt. + plaintext, err = cipher.decrypt(cek, authData, parts) + } + + if plaintext == nil { + return nil, ErrCryptoFailure + } + + // The "zip" header parameter may only be present in the protected header. + if comp := obj.protected.getCompression(); comp != "" { + plaintext, err = decompress(comp, plaintext) + } + + return plaintext, err +} + +// DecryptMulti decrypts and validates the object and returns the plaintexts, +// with support for multiple recipients. It returns the index of the recipient +// for which the decryption was successful, the merged headers for that recipient, +// and the plaintext. +func (obj JSONWebEncryption) DecryptMulti(decryptionKey interface{}) (int, Header, []byte, error) { + globalHeaders := obj.mergedHeaders(nil) + + critical, err := globalHeaders.getCritical() + if err != nil { + return -1, Header{}, nil, fmt.Errorf("square/go-jose: invalid crit header") + } + + if len(critical) > 0 { + return -1, Header{}, nil, fmt.Errorf("square/go-jose: unsupported crit header") + } + + decrypter, err := newDecrypter(decryptionKey) + if err != nil { + return -1, Header{}, nil, err + } + + encryption := globalHeaders.getEncryption() + cipher := getContentCipher(encryption) + if cipher == nil { + return -1, Header{}, nil, fmt.Errorf("square/go-jose: unsupported enc value '%s'", string(encryption)) + } + + generator := randomKeyGenerator{ + size: cipher.keySize(), + } + + parts := &aeadParts{ + iv: obj.iv, + ciphertext: obj.ciphertext, + tag: obj.tag, + } + + authData := obj.computeAuthData() + + index := -1 + var plaintext []byte + var headers rawHeader + + for i, recipient := range obj.recipients { + recipientHeaders := obj.mergedHeaders(&recipient) + + cek, err := decrypter.decryptKey(recipientHeaders, &recipient, generator) + if err == nil { + // Found a valid CEK -- let's try to decrypt. + plaintext, err = cipher.decrypt(cek, authData, parts) + if err == nil { + index = i + headers = recipientHeaders + break + } + } + } + + if plaintext == nil || err != nil { + return -1, Header{}, nil, ErrCryptoFailure + } + + // The "zip" header parameter may only be present in the protected header. + if comp := obj.protected.getCompression(); comp != "" { + plaintext, err = decompress(comp, plaintext) + } + + sanitized, err := headers.sanitized() + if err != nil { + return -1, Header{}, nil, fmt.Errorf("square/go-jose: failed to sanitize header: %v", err) + } + + return index, sanitized, plaintext, err +} diff --git a/vendor/gopkg.in/square/go-jose.v2/doc.go b/vendor/gopkg.in/square/go-jose.v2/doc.go new file mode 100644 index 000000000..dd1387f3f --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/doc.go @@ -0,0 +1,27 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + +Package jose aims to provide an implementation of the Javascript Object Signing +and Encryption set of standards. It implements encryption and signing based on +the JSON Web Encryption and JSON Web Signature standards, with optional JSON +Web Token support available in a sub-package. The library supports both the +compact and full serialization formats, and has optional support for multiple +recipients. + +*/ +package jose diff --git a/vendor/gopkg.in/square/go-jose.v2/encoding.go b/vendor/gopkg.in/square/go-jose.v2/encoding.go new file mode 100644 index 000000000..70f7385c4 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/encoding.go @@ -0,0 +1,185 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "bytes" + "compress/flate" + "encoding/base64" + "encoding/binary" + "io" + "math/big" + "strings" + "unicode" + + "gopkg.in/square/go-jose.v2/json" +) + +// Helper function to serialize known-good objects. +// Precondition: value is not a nil pointer. +func mustSerializeJSON(value interface{}) []byte { + out, err := json.Marshal(value) + if err != nil { + panic(err) + } + // We never want to serialize the top-level value "null," since it's not a + // valid JOSE message. But if a caller passes in a nil pointer to this method, + // MarshalJSON will happily serialize it as the top-level value "null". If + // that value is then embedded in another operation, for instance by being + // base64-encoded and fed as input to a signing algorithm + // (https://github.com/square/go-jose/issues/22), the result will be + // incorrect. Because this method is intended for known-good objects, and a nil + // pointer is not a known-good object, we are free to panic in this case. + // Note: It's not possible to directly check whether the data pointed at by an + // interface is a nil pointer, so we do this hacky workaround. + // https://groups.google.com/forum/#!topic/golang-nuts/wnH302gBa4I + if string(out) == "null" { + panic("Tried to serialize a nil pointer.") + } + return out +} + +// Strip all newlines and whitespace +func stripWhitespace(data string) string { + buf := strings.Builder{} + buf.Grow(len(data)) + for _, r := range data { + if !unicode.IsSpace(r) { + buf.WriteRune(r) + } + } + return buf.String() +} + +// Perform compression based on algorithm +func compress(algorithm CompressionAlgorithm, input []byte) ([]byte, error) { + switch algorithm { + case DEFLATE: + return deflate(input) + default: + return nil, ErrUnsupportedAlgorithm + } +} + +// Perform decompression based on algorithm +func decompress(algorithm CompressionAlgorithm, input []byte) ([]byte, error) { + switch algorithm { + case DEFLATE: + return inflate(input) + default: + return nil, ErrUnsupportedAlgorithm + } +} + +// Compress with DEFLATE +func deflate(input []byte) ([]byte, error) { + output := new(bytes.Buffer) + + // Writing to byte buffer, err is always nil + writer, _ := flate.NewWriter(output, 1) + _, _ = io.Copy(writer, bytes.NewBuffer(input)) + + err := writer.Close() + return output.Bytes(), err +} + +// Decompress with DEFLATE +func inflate(input []byte) ([]byte, error) { + output := new(bytes.Buffer) + reader := flate.NewReader(bytes.NewBuffer(input)) + + _, err := io.Copy(output, reader) + if err != nil { + return nil, err + } + + err = reader.Close() + return output.Bytes(), err +} + +// byteBuffer represents a slice of bytes that can be serialized to url-safe base64. +type byteBuffer struct { + data []byte +} + +func newBuffer(data []byte) *byteBuffer { + if data == nil { + return nil + } + return &byteBuffer{ + data: data, + } +} + +func newFixedSizeBuffer(data []byte, length int) *byteBuffer { + if len(data) > length { + panic("square/go-jose: invalid call to newFixedSizeBuffer (len(data) > length)") + } + pad := make([]byte, length-len(data)) + return newBuffer(append(pad, data...)) +} + +func newBufferFromInt(num uint64) *byteBuffer { + data := make([]byte, 8) + binary.BigEndian.PutUint64(data, num) + return newBuffer(bytes.TrimLeft(data, "\x00")) +} + +func (b *byteBuffer) MarshalJSON() ([]byte, error) { + return json.Marshal(b.base64()) +} + +func (b *byteBuffer) UnmarshalJSON(data []byte) error { + var encoded string + err := json.Unmarshal(data, &encoded) + if err != nil { + return err + } + + if encoded == "" { + return nil + } + + decoded, err := base64.RawURLEncoding.DecodeString(encoded) + if err != nil { + return err + } + + *b = *newBuffer(decoded) + + return nil +} + +func (b *byteBuffer) base64() string { + return base64.RawURLEncoding.EncodeToString(b.data) +} + +func (b *byteBuffer) bytes() []byte { + // Handling nil here allows us to transparently handle nil slices when serializing. + if b == nil { + return nil + } + return b.data +} + +func (b byteBuffer) bigInt() *big.Int { + return new(big.Int).SetBytes(b.data) +} + +func (b byteBuffer) toInt() int { + return int(b.bigInt().Int64()) +} diff --git a/vendor/gopkg.in/square/go-jose.v2/json/LICENSE b/vendor/gopkg.in/square/go-jose.v2/json/LICENSE new file mode 100644 index 000000000..744875676 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/json/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/gopkg.in/square/go-jose.v2/json/README.md b/vendor/gopkg.in/square/go-jose.v2/json/README.md new file mode 100644 index 000000000..86de5e558 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/json/README.md @@ -0,0 +1,13 @@ +# Safe JSON + +This repository contains a fork of the `encoding/json` package from Go 1.6. + +The following changes were made: + +* Object deserialization uses case-sensitive member name matching instead of + [case-insensitive matching](https://www.ietf.org/mail-archive/web/json/current/msg03763.html). + This is to avoid differences in the interpretation of JOSE messages between + go-jose and libraries written in other languages. +* When deserializing a JSON object, we check for duplicate keys and reject the + input whenever we detect a duplicate. Rather than trying to work with malformed + data, we prefer to reject it right away. diff --git a/vendor/gopkg.in/square/go-jose.v2/json/decode.go b/vendor/gopkg.in/square/go-jose.v2/json/decode.go new file mode 100644 index 000000000..37457e5a8 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/json/decode.go @@ -0,0 +1,1183 @@ +// 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. + +// Represents JSON data structure using native Go types: booleans, floats, +// strings, arrays, and maps. + +package json + +import ( + "bytes" + "encoding" + "encoding/base64" + "errors" + "fmt" + "reflect" + "runtime" + "strconv" + "unicode" + "unicode/utf16" + "unicode/utf8" +) + +// Unmarshal parses the JSON-encoded data and stores the result +// in the value pointed to by v. +// +// Unmarshal uses the inverse of the encodings that +// Marshal uses, allocating maps, slices, and pointers as necessary, +// with the following additional rules: +// +// To unmarshal JSON into a pointer, Unmarshal first handles the case of +// the JSON being the JSON literal null. In that case, Unmarshal sets +// the pointer to nil. Otherwise, Unmarshal unmarshals the JSON into +// the value pointed at by the pointer. If the pointer is nil, Unmarshal +// allocates a new value for it to point to. +// +// To unmarshal JSON into a struct, Unmarshal matches incoming object +// keys to the keys used by Marshal (either the struct field name or its tag), +// preferring an exact match but also accepting a case-insensitive match. +// Unmarshal will only set exported fields of the struct. +// +// To unmarshal JSON into an interface value, +// Unmarshal stores one of these in the interface value: +// +// bool, for JSON booleans +// float64, for JSON numbers +// string, for JSON strings +// []interface{}, for JSON arrays +// map[string]interface{}, for JSON objects +// nil for JSON null +// +// To unmarshal a JSON array into a slice, Unmarshal resets the slice length +// to zero and then appends each element to the slice. +// As a special case, to unmarshal an empty JSON array into a slice, +// Unmarshal replaces the slice with a new empty slice. +// +// To unmarshal a JSON array into a Go array, Unmarshal decodes +// JSON array elements into corresponding Go array elements. +// If the Go array is smaller than the JSON array, +// the additional JSON array elements are discarded. +// If the JSON array is smaller than the Go array, +// the additional Go array elements are set to zero values. +// +// To unmarshal a JSON object into a string-keyed map, Unmarshal first +// establishes a map to use, If the map is nil, Unmarshal allocates a new map. +// Otherwise Unmarshal reuses the existing map, keeping existing entries. +// Unmarshal then stores key-value pairs from the JSON object into the map. +// +// If a JSON value is not appropriate for a given target type, +// or if a JSON number overflows the target type, Unmarshal +// skips that field and completes the unmarshaling as best it can. +// If no more serious errors are encountered, Unmarshal returns +// an UnmarshalTypeError describing the earliest such error. +// +// The JSON null value unmarshals into an interface, map, pointer, or slice +// by setting that Go value to nil. Because null is often used in JSON to mean +// ``not present,'' unmarshaling a JSON null into any other Go type has no effect +// on the value and produces no error. +// +// When unmarshaling quoted strings, invalid UTF-8 or +// invalid UTF-16 surrogate pairs are not treated as an error. +// Instead, they are replaced by the Unicode replacement +// character U+FFFD. +// +func Unmarshal(data []byte, v interface{}) error { + // Check for well-formedness. + // Avoids filling out half a data structure + // before discovering a JSON syntax error. + var d decodeState + err := checkValid(data, &d.scan) + if err != nil { + return err + } + + d.init(data) + return d.unmarshal(v) +} + +// Unmarshaler is the interface implemented by objects +// that can unmarshal a JSON description of themselves. +// The input can be assumed to be a valid encoding of +// a JSON value. UnmarshalJSON must copy the JSON data +// if it wishes to retain the data after returning. +type Unmarshaler interface { + UnmarshalJSON([]byte) error +} + +// An UnmarshalTypeError describes a JSON value that was +// not appropriate for a value of a specific Go type. +type UnmarshalTypeError struct { + Value string // description of JSON value - "bool", "array", "number -5" + Type reflect.Type // type of Go value it could not be assigned to + Offset int64 // error occurred after reading Offset bytes +} + +func (e *UnmarshalTypeError) Error() string { + return "json: cannot unmarshal " + e.Value + " into Go value of type " + e.Type.String() +} + +// An UnmarshalFieldError describes a JSON object key that +// led to an unexported (and therefore unwritable) struct field. +// (No longer used; kept for compatibility.) +type UnmarshalFieldError struct { + Key string + Type reflect.Type + Field reflect.StructField +} + +func (e *UnmarshalFieldError) Error() string { + return "json: cannot unmarshal object key " + strconv.Quote(e.Key) + " into unexported field " + e.Field.Name + " of type " + e.Type.String() +} + +// An InvalidUnmarshalError describes an invalid argument passed to Unmarshal. +// (The argument to Unmarshal must be a non-nil pointer.) +type InvalidUnmarshalError struct { + Type reflect.Type +} + +func (e *InvalidUnmarshalError) Error() string { + if e.Type == nil { + return "json: Unmarshal(nil)" + } + + if e.Type.Kind() != reflect.Ptr { + return "json: Unmarshal(non-pointer " + e.Type.String() + ")" + } + return "json: Unmarshal(nil " + e.Type.String() + ")" +} + +func (d *decodeState) unmarshal(v interface{}) (err error) { + defer func() { + if r := recover(); r != nil { + if _, ok := r.(runtime.Error); ok { + panic(r) + } + err = r.(error) + } + }() + + rv := reflect.ValueOf(v) + if rv.Kind() != reflect.Ptr || rv.IsNil() { + return &InvalidUnmarshalError{reflect.TypeOf(v)} + } + + d.scan.reset() + // We decode rv not rv.Elem because the Unmarshaler interface + // test must be applied at the top level of the value. + d.value(rv) + return d.savedError +} + +// A Number represents a JSON number literal. +type Number string + +// String returns the literal text of the number. +func (n Number) String() string { return string(n) } + +// Float64 returns the number as a float64. +func (n Number) Float64() (float64, error) { + return strconv.ParseFloat(string(n), 64) +} + +// Int64 returns the number as an int64. +func (n Number) Int64() (int64, error) { + return strconv.ParseInt(string(n), 10, 64) +} + +// isValidNumber reports whether s is a valid JSON number literal. +func isValidNumber(s string) bool { + // This function implements the JSON numbers grammar. + // See https://tools.ietf.org/html/rfc7159#section-6 + // and http://json.org/number.gif + + if s == "" { + return false + } + + // Optional - + if s[0] == '-' { + s = s[1:] + if s == "" { + return false + } + } + + // Digits + switch { + default: + return false + + case s[0] == '0': + s = s[1:] + + case '1' <= s[0] && s[0] <= '9': + s = s[1:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // . followed by 1 or more digits. + if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { + s = s[2:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // e or E followed by an optional - or + and + // 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + s = s[1:] + if s[0] == '+' || s[0] == '-' { + s = s[1:] + if s == "" { + return false + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // Make sure we are at the end. + return s == "" +} + +// decodeState represents the state while decoding a JSON value. +type decodeState struct { + data []byte + off int // read offset in data + scan scanner + nextscan scanner // for calls to nextValue + savedError error + useNumber bool +} + +// errPhase is used for errors that should not happen unless +// there is a bug in the JSON decoder or something is editing +// the data slice while the decoder executes. +var errPhase = errors.New("JSON decoder out of sync - data changing underfoot?") + +func (d *decodeState) init(data []byte) *decodeState { + d.data = data + d.off = 0 + d.savedError = nil + return d +} + +// error aborts the decoding by panicking with err. +func (d *decodeState) error(err error) { + panic(err) +} + +// saveError saves the first err it is called with, +// for reporting at the end of the unmarshal. +func (d *decodeState) saveError(err error) { + if d.savedError == nil { + d.savedError = err + } +} + +// next cuts off and returns the next full JSON value in d.data[d.off:]. +// The next value is known to be an object or array, not a literal. +func (d *decodeState) next() []byte { + c := d.data[d.off] + item, rest, err := nextValue(d.data[d.off:], &d.nextscan) + if err != nil { + d.error(err) + } + d.off = len(d.data) - len(rest) + + // Our scanner has seen the opening brace/bracket + // and thinks we're still in the middle of the object. + // invent a closing brace/bracket to get it out. + if c == '{' { + d.scan.step(&d.scan, '}') + } else { + d.scan.step(&d.scan, ']') + } + + return item +} + +// scanWhile processes bytes in d.data[d.off:] until it +// receives a scan code not equal to op. +// It updates d.off and returns the new scan code. +func (d *decodeState) scanWhile(op int) int { + var newOp int + for { + if d.off >= len(d.data) { + newOp = d.scan.eof() + d.off = len(d.data) + 1 // mark processed EOF with len+1 + } else { + c := d.data[d.off] + d.off++ + newOp = d.scan.step(&d.scan, c) + } + if newOp != op { + break + } + } + return newOp +} + +// value decodes a JSON value from d.data[d.off:] into the value. +// it updates d.off to point past the decoded value. +func (d *decodeState) value(v reflect.Value) { + if !v.IsValid() { + _, rest, err := nextValue(d.data[d.off:], &d.nextscan) + if err != nil { + d.error(err) + } + d.off = len(d.data) - len(rest) + + // d.scan thinks we're still at the beginning of the item. + // Feed in an empty string - the shortest, simplest value - + // so that it knows we got to the end of the value. + if d.scan.redo { + // rewind. + d.scan.redo = false + d.scan.step = stateBeginValue + } + d.scan.step(&d.scan, '"') + d.scan.step(&d.scan, '"') + + n := len(d.scan.parseState) + if n > 0 && d.scan.parseState[n-1] == parseObjectKey { + // d.scan thinks we just read an object key; finish the object + d.scan.step(&d.scan, ':') + d.scan.step(&d.scan, '"') + d.scan.step(&d.scan, '"') + d.scan.step(&d.scan, '}') + } + + return + } + + switch op := d.scanWhile(scanSkipSpace); op { + default: + d.error(errPhase) + + case scanBeginArray: + d.array(v) + + case scanBeginObject: + d.object(v) + + case scanBeginLiteral: + d.literal(v) + } +} + +type unquotedValue struct{} + +// valueQuoted is like value but decodes a +// quoted string literal or literal null into an interface value. +// If it finds anything other than a quoted string literal or null, +// valueQuoted returns unquotedValue{}. +func (d *decodeState) valueQuoted() interface{} { + switch op := d.scanWhile(scanSkipSpace); op { + default: + d.error(errPhase) + + case scanBeginArray: + d.array(reflect.Value{}) + + case scanBeginObject: + d.object(reflect.Value{}) + + case scanBeginLiteral: + switch v := d.literalInterface().(type) { + case nil, string: + return v + } + } + return unquotedValue{} +} + +// indirect walks down v allocating pointers as needed, +// until it gets to a non-pointer. +// if it encounters an Unmarshaler, indirect stops and returns that. +// if decodingNull is true, indirect stops at the last pointer so it can be set to nil. +func (d *decodeState) indirect(v reflect.Value, decodingNull bool) (Unmarshaler, encoding.TextUnmarshaler, reflect.Value) { + // If v is a named type and is addressable, + // start with its address, so that if the type has pointer methods, + // we find them. + if v.Kind() != reflect.Ptr && v.Type().Name() != "" && v.CanAddr() { + v = v.Addr() + } + for { + // Load value from interface, but only if the result will be + // usefully addressable. + if v.Kind() == reflect.Interface && !v.IsNil() { + e := v.Elem() + if e.Kind() == reflect.Ptr && !e.IsNil() && (!decodingNull || e.Elem().Kind() == reflect.Ptr) { + v = e + continue + } + } + + if v.Kind() != reflect.Ptr { + break + } + + if v.Elem().Kind() != reflect.Ptr && decodingNull && v.CanSet() { + break + } + if v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + if v.Type().NumMethod() > 0 { + if u, ok := v.Interface().(Unmarshaler); ok { + return u, nil, reflect.Value{} + } + if u, ok := v.Interface().(encoding.TextUnmarshaler); ok { + return nil, u, reflect.Value{} + } + } + v = v.Elem() + } + return nil, nil, v +} + +// array consumes an array from d.data[d.off-1:], decoding into the value v. +// the first byte of the array ('[') has been read already. +func (d *decodeState) array(v reflect.Value) { + // Check for unmarshaler. + u, ut, pv := d.indirect(v, false) + if u != nil { + d.off-- + err := u.UnmarshalJSON(d.next()) + if err != nil { + d.error(err) + } + return + } + if ut != nil { + d.saveError(&UnmarshalTypeError{"array", v.Type(), int64(d.off)}) + d.off-- + d.next() + return + } + + v = pv + + // Check type of target. + switch v.Kind() { + case reflect.Interface: + if v.NumMethod() == 0 { + // Decoding into nil interface? Switch to non-reflect code. + v.Set(reflect.ValueOf(d.arrayInterface())) + return + } + // Otherwise it's invalid. + fallthrough + default: + d.saveError(&UnmarshalTypeError{"array", v.Type(), int64(d.off)}) + d.off-- + d.next() + return + case reflect.Array: + case reflect.Slice: + break + } + + i := 0 + for { + // Look ahead for ] - can only happen on first iteration. + op := d.scanWhile(scanSkipSpace) + if op == scanEndArray { + break + } + + // Back up so d.value can have the byte we just read. + d.off-- + d.scan.undo(op) + + // Get element of array, growing if necessary. + if v.Kind() == reflect.Slice { + // Grow slice if necessary + if i >= v.Cap() { + newcap := v.Cap() + v.Cap()/2 + if newcap < 4 { + newcap = 4 + } + newv := reflect.MakeSlice(v.Type(), v.Len(), newcap) + reflect.Copy(newv, v) + v.Set(newv) + } + if i >= v.Len() { + v.SetLen(i + 1) + } + } + + if i < v.Len() { + // Decode into element. + d.value(v.Index(i)) + } else { + // Ran out of fixed array: skip. + d.value(reflect.Value{}) + } + i++ + + // Next token must be , or ]. + op = d.scanWhile(scanSkipSpace) + if op == scanEndArray { + break + } + if op != scanArrayValue { + d.error(errPhase) + } + } + + if i < v.Len() { + if v.Kind() == reflect.Array { + // Array. Zero the rest. + z := reflect.Zero(v.Type().Elem()) + for ; i < v.Len(); i++ { + v.Index(i).Set(z) + } + } else { + v.SetLen(i) + } + } + if i == 0 && v.Kind() == reflect.Slice { + v.Set(reflect.MakeSlice(v.Type(), 0, 0)) + } +} + +var nullLiteral = []byte("null") + +// object consumes an object from d.data[d.off-1:], decoding into the value v. +// the first byte ('{') of the object has been read already. +func (d *decodeState) object(v reflect.Value) { + // Check for unmarshaler. + u, ut, pv := d.indirect(v, false) + if u != nil { + d.off-- + err := u.UnmarshalJSON(d.next()) + if err != nil { + d.error(err) + } + return + } + if ut != nil { + d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) + d.off-- + d.next() // skip over { } in input + return + } + v = pv + + // Decoding into nil interface? Switch to non-reflect code. + if v.Kind() == reflect.Interface && v.NumMethod() == 0 { + v.Set(reflect.ValueOf(d.objectInterface())) + return + } + + // Check type of target: struct or map[string]T + switch v.Kind() { + case reflect.Map: + // map must have string kind + t := v.Type() + if t.Key().Kind() != reflect.String { + d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) + d.off-- + d.next() // skip over { } in input + return + } + if v.IsNil() { + v.Set(reflect.MakeMap(t)) + } + case reflect.Struct: + + default: + d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) + d.off-- + d.next() // skip over { } in input + return + } + + var mapElem reflect.Value + keys := map[string]bool{} + + for { + // Read opening " of string key or closing }. + op := d.scanWhile(scanSkipSpace) + if op == scanEndObject { + // closing } - can only happen on first iteration. + break + } + if op != scanBeginLiteral { + d.error(errPhase) + } + + // Read key. + start := d.off - 1 + op = d.scanWhile(scanContinue) + item := d.data[start : d.off-1] + key, ok := unquote(item) + if !ok { + d.error(errPhase) + } + + // Check for duplicate keys. + _, ok = keys[key] + if !ok { + keys[key] = true + } else { + d.error(fmt.Errorf("json: duplicate key '%s' in object", key)) + } + + // Figure out field corresponding to key. + var subv reflect.Value + destring := false // whether the value is wrapped in a string to be decoded first + + if v.Kind() == reflect.Map { + elemType := v.Type().Elem() + if !mapElem.IsValid() { + mapElem = reflect.New(elemType).Elem() + } else { + mapElem.Set(reflect.Zero(elemType)) + } + subv = mapElem + } else { + var f *field + fields := cachedTypeFields(v.Type()) + for i := range fields { + ff := &fields[i] + if bytes.Equal(ff.nameBytes, []byte(key)) { + f = ff + break + } + } + if f != nil { + subv = v + destring = f.quoted + for _, i := range f.index { + if subv.Kind() == reflect.Ptr { + if subv.IsNil() { + subv.Set(reflect.New(subv.Type().Elem())) + } + subv = subv.Elem() + } + subv = subv.Field(i) + } + } + } + + // Read : before value. + if op == scanSkipSpace { + op = d.scanWhile(scanSkipSpace) + } + if op != scanObjectKey { + d.error(errPhase) + } + + // Read value. + if destring { + switch qv := d.valueQuoted().(type) { + case nil: + d.literalStore(nullLiteral, subv, false) + case string: + d.literalStore([]byte(qv), subv, true) + default: + d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal unquoted value into %v", subv.Type())) + } + } else { + d.value(subv) + } + + // Write value back to map; + // if using struct, subv points into struct already. + if v.Kind() == reflect.Map { + kv := reflect.ValueOf(key).Convert(v.Type().Key()) + v.SetMapIndex(kv, subv) + } + + // Next token must be , or }. + op = d.scanWhile(scanSkipSpace) + if op == scanEndObject { + break + } + if op != scanObjectValue { + d.error(errPhase) + } + } +} + +// literal consumes a literal from d.data[d.off-1:], decoding into the value v. +// The first byte of the literal has been read already +// (that's how the caller knows it's a literal). +func (d *decodeState) literal(v reflect.Value) { + // All bytes inside literal return scanContinue op code. + start := d.off - 1 + op := d.scanWhile(scanContinue) + + // Scan read one byte too far; back up. + d.off-- + d.scan.undo(op) + + d.literalStore(d.data[start:d.off], v, false) +} + +// convertNumber converts the number literal s to a float64 or a Number +// depending on the setting of d.useNumber. +func (d *decodeState) convertNumber(s string) (interface{}, error) { + if d.useNumber { + return Number(s), nil + } + f, err := strconv.ParseFloat(s, 64) + if err != nil { + return nil, &UnmarshalTypeError{"number " + s, reflect.TypeOf(0.0), int64(d.off)} + } + return f, nil +} + +var numberType = reflect.TypeOf(Number("")) + +// literalStore decodes a literal stored in item into v. +// +// fromQuoted indicates whether this literal came from unwrapping a +// string from the ",string" struct tag option. this is used only to +// produce more helpful error messages. +func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool) { + // Check for unmarshaler. + if len(item) == 0 { + //Empty string given + d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) + return + } + wantptr := item[0] == 'n' // null + u, ut, pv := d.indirect(v, wantptr) + if u != nil { + err := u.UnmarshalJSON(item) + if err != nil { + d.error(err) + } + return + } + if ut != nil { + if item[0] != '"' { + if fromQuoted { + d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) + } else { + d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) + } + return + } + s, ok := unquoteBytes(item) + if !ok { + if fromQuoted { + d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) + } else { + d.error(errPhase) + } + } + err := ut.UnmarshalText(s) + if err != nil { + d.error(err) + } + return + } + + v = pv + + switch c := item[0]; c { + case 'n': // null + switch v.Kind() { + case reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice: + v.Set(reflect.Zero(v.Type())) + // otherwise, ignore null for primitives/string + } + case 't', 'f': // true, false + value := c == 't' + switch v.Kind() { + default: + if fromQuoted { + d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) + } else { + d.saveError(&UnmarshalTypeError{"bool", v.Type(), int64(d.off)}) + } + case reflect.Bool: + v.SetBool(value) + case reflect.Interface: + if v.NumMethod() == 0 { + v.Set(reflect.ValueOf(value)) + } else { + d.saveError(&UnmarshalTypeError{"bool", v.Type(), int64(d.off)}) + } + } + + case '"': // string + s, ok := unquoteBytes(item) + if !ok { + if fromQuoted { + d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) + } else { + d.error(errPhase) + } + } + switch v.Kind() { + default: + d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) + case reflect.Slice: + if v.Type().Elem().Kind() != reflect.Uint8 { + d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) + break + } + b := make([]byte, base64.StdEncoding.DecodedLen(len(s))) + n, err := base64.StdEncoding.Decode(b, s) + if err != nil { + d.saveError(err) + break + } + v.SetBytes(b[:n]) + case reflect.String: + v.SetString(string(s)) + case reflect.Interface: + if v.NumMethod() == 0 { + v.Set(reflect.ValueOf(string(s))) + } else { + d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) + } + } + + default: // number + if c != '-' && (c < '0' || c > '9') { + if fromQuoted { + d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) + } else { + d.error(errPhase) + } + } + s := string(item) + switch v.Kind() { + default: + if v.Kind() == reflect.String && v.Type() == numberType { + v.SetString(s) + if !isValidNumber(s) { + d.error(fmt.Errorf("json: invalid number literal, trying to unmarshal %q into Number", item)) + } + break + } + if fromQuoted { + d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) + } else { + d.error(&UnmarshalTypeError{"number", v.Type(), int64(d.off)}) + } + case reflect.Interface: + n, err := d.convertNumber(s) + if err != nil { + d.saveError(err) + break + } + if v.NumMethod() != 0 { + d.saveError(&UnmarshalTypeError{"number", v.Type(), int64(d.off)}) + break + } + v.Set(reflect.ValueOf(n)) + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + n, err := strconv.ParseInt(s, 10, 64) + if err != nil || v.OverflowInt(n) { + d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) + break + } + v.SetInt(n) + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + n, err := strconv.ParseUint(s, 10, 64) + if err != nil || v.OverflowUint(n) { + d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) + break + } + v.SetUint(n) + + case reflect.Float32, reflect.Float64: + n, err := strconv.ParseFloat(s, v.Type().Bits()) + if err != nil || v.OverflowFloat(n) { + d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) + break + } + v.SetFloat(n) + } + } +} + +// The xxxInterface routines build up a value to be stored +// in an empty interface. They are not strictly necessary, +// but they avoid the weight of reflection in this common case. + +// valueInterface is like value but returns interface{} +func (d *decodeState) valueInterface() interface{} { + switch d.scanWhile(scanSkipSpace) { + default: + d.error(errPhase) + panic("unreachable") + case scanBeginArray: + return d.arrayInterface() + case scanBeginObject: + return d.objectInterface() + case scanBeginLiteral: + return d.literalInterface() + } +} + +// arrayInterface is like array but returns []interface{}. +func (d *decodeState) arrayInterface() []interface{} { + var v = make([]interface{}, 0) + for { + // Look ahead for ] - can only happen on first iteration. + op := d.scanWhile(scanSkipSpace) + if op == scanEndArray { + break + } + + // Back up so d.value can have the byte we just read. + d.off-- + d.scan.undo(op) + + v = append(v, d.valueInterface()) + + // Next token must be , or ]. + op = d.scanWhile(scanSkipSpace) + if op == scanEndArray { + break + } + if op != scanArrayValue { + d.error(errPhase) + } + } + return v +} + +// objectInterface is like object but returns map[string]interface{}. +func (d *decodeState) objectInterface() map[string]interface{} { + m := make(map[string]interface{}) + keys := map[string]bool{} + + for { + // Read opening " of string key or closing }. + op := d.scanWhile(scanSkipSpace) + if op == scanEndObject { + // closing } - can only happen on first iteration. + break + } + if op != scanBeginLiteral { + d.error(errPhase) + } + + // Read string key. + start := d.off - 1 + op = d.scanWhile(scanContinue) + item := d.data[start : d.off-1] + key, ok := unquote(item) + if !ok { + d.error(errPhase) + } + + // Check for duplicate keys. + _, ok = keys[key] + if !ok { + keys[key] = true + } else { + d.error(fmt.Errorf("json: duplicate key '%s' in object", key)) + } + + // Read : before value. + if op == scanSkipSpace { + op = d.scanWhile(scanSkipSpace) + } + if op != scanObjectKey { + d.error(errPhase) + } + + // Read value. + m[key] = d.valueInterface() + + // Next token must be , or }. + op = d.scanWhile(scanSkipSpace) + if op == scanEndObject { + break + } + if op != scanObjectValue { + d.error(errPhase) + } + } + return m +} + +// literalInterface is like literal but returns an interface value. +func (d *decodeState) literalInterface() interface{} { + // All bytes inside literal return scanContinue op code. + start := d.off - 1 + op := d.scanWhile(scanContinue) + + // Scan read one byte too far; back up. + d.off-- + d.scan.undo(op) + item := d.data[start:d.off] + + switch c := item[0]; c { + case 'n': // null + return nil + + case 't', 'f': // true, false + return c == 't' + + case '"': // string + s, ok := unquote(item) + if !ok { + d.error(errPhase) + } + return s + + default: // number + if c != '-' && (c < '0' || c > '9') { + d.error(errPhase) + } + n, err := d.convertNumber(string(item)) + if err != nil { + d.saveError(err) + } + return n + } +} + +// getu4 decodes \uXXXX from the beginning of s, returning the hex value, +// or it returns -1. +func getu4(s []byte) rune { + if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { + return -1 + } + r, err := strconv.ParseUint(string(s[2:6]), 16, 64) + if err != nil { + return -1 + } + return rune(r) +} + +// unquote converts a quoted JSON string literal s into an actual string t. +// The rules are different than for Go, so cannot use strconv.Unquote. +func unquote(s []byte) (t string, ok bool) { + s, ok = unquoteBytes(s) + t = string(s) + return +} + +func unquoteBytes(s []byte) (t []byte, ok bool) { + if len(s) < 2 || s[0] != '"' || s[len(s)-1] != '"' { + return + } + s = s[1 : len(s)-1] + + // Check for unusual characters. If there are none, + // then no unquoting is needed, so return a slice of the + // original bytes. + r := 0 + for r < len(s) { + c := s[r] + if c == '\\' || c == '"' || c < ' ' { + break + } + if c < utf8.RuneSelf { + r++ + continue + } + rr, size := utf8.DecodeRune(s[r:]) + if rr == utf8.RuneError && size == 1 { + break + } + r += size + } + if r == len(s) { + return s, true + } + + b := make([]byte, len(s)+2*utf8.UTFMax) + w := copy(b, s[0:r]) + for r < len(s) { + // Out of room? Can only happen if s is full of + // malformed UTF-8 and we're replacing each + // byte with RuneError. + if w >= len(b)-2*utf8.UTFMax { + nb := make([]byte, (len(b)+utf8.UTFMax)*2) + copy(nb, b[0:w]) + b = nb + } + switch c := s[r]; { + case c == '\\': + r++ + if r >= len(s) { + return + } + switch s[r] { + default: + return + case '"', '\\', '/', '\'': + b[w] = s[r] + r++ + w++ + case 'b': + b[w] = '\b' + r++ + w++ + case 'f': + b[w] = '\f' + r++ + w++ + case 'n': + b[w] = '\n' + r++ + w++ + case 'r': + b[w] = '\r' + r++ + w++ + case 't': + b[w] = '\t' + r++ + w++ + case 'u': + r-- + rr := getu4(s[r:]) + if rr < 0 { + return + } + r += 6 + if utf16.IsSurrogate(rr) { + rr1 := getu4(s[r:]) + if dec := utf16.DecodeRune(rr, rr1); dec != unicode.ReplacementChar { + // A valid pair; consume. + r += 6 + w += utf8.EncodeRune(b[w:], dec) + break + } + // Invalid surrogate; fall back to replacement rune. + rr = unicode.ReplacementChar + } + w += utf8.EncodeRune(b[w:], rr) + } + + // Quote, control characters are invalid. + case c == '"', c < ' ': + return + + // ASCII + case c < utf8.RuneSelf: + b[w] = c + r++ + w++ + + // Coerce to well-formed UTF-8. + default: + rr, size := utf8.DecodeRune(s[r:]) + r += size + w += utf8.EncodeRune(b[w:], rr) + } + } + return b[0:w], true +} diff --git a/vendor/gopkg.in/square/go-jose.v2/json/encode.go b/vendor/gopkg.in/square/go-jose.v2/json/encode.go new file mode 100644 index 000000000..1dae8bb7c --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/json/encode.go @@ -0,0 +1,1197 @@ +// 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. + +// Package json implements encoding and decoding of JSON objects as defined in +// RFC 4627. The mapping between JSON objects and Go values is described +// in the documentation for the Marshal and Unmarshal functions. +// +// See "JSON and Go" for an introduction to this package: +// https://golang.org/doc/articles/json_and_go.html +package json + +import ( + "bytes" + "encoding" + "encoding/base64" + "fmt" + "math" + "reflect" + "runtime" + "sort" + "strconv" + "strings" + "sync" + "unicode" + "unicode/utf8" +) + +// Marshal returns the JSON encoding of v. +// +// Marshal traverses the value v recursively. +// If an encountered value implements the Marshaler interface +// and is not a nil pointer, Marshal calls its MarshalJSON method +// to produce JSON. If no MarshalJSON method is present but the +// value implements encoding.TextMarshaler instead, Marshal calls +// its MarshalText method. +// The nil pointer exception is not strictly necessary +// but mimics a similar, necessary exception in the behavior of +// UnmarshalJSON. +// +// Otherwise, Marshal uses the following type-dependent default encodings: +// +// Boolean values encode as JSON booleans. +// +// Floating point, integer, and Number values encode as JSON numbers. +// +// String values encode as JSON strings coerced to valid UTF-8, +// replacing invalid bytes with the Unicode replacement rune. +// The angle brackets "<" and ">" are escaped to "\u003c" and "\u003e" +// to keep some browsers from misinterpreting JSON output as HTML. +// Ampersand "&" is also escaped to "\u0026" for the same reason. +// +// Array and slice values encode as JSON arrays, except that +// []byte encodes as a base64-encoded string, and a nil slice +// encodes as the null JSON object. +// +// Struct values encode as JSON objects. Each exported struct field +// becomes a member of the object unless +// - the field's tag is "-", or +// - the field is empty and its tag specifies the "omitempty" option. +// The empty values are false, 0, any +// nil pointer or interface value, and any array, slice, map, or string of +// length zero. The object's default key string is the struct field name +// but can be specified in the struct field's tag value. The "json" key in +// the struct field's tag value is the key name, followed by an optional comma +// and options. Examples: +// +// // Field is ignored by this package. +// Field int `json:"-"` +// +// // Field appears in JSON as key "myName". +// Field int `json:"myName"` +// +// // Field appears in JSON as key "myName" and +// // the field is omitted from the object if its value is empty, +// // as defined above. +// Field int `json:"myName,omitempty"` +// +// // Field appears in JSON as key "Field" (the default), but +// // the field is skipped if empty. +// // Note the leading comma. +// Field int `json:",omitempty"` +// +// The "string" option signals that a field is stored as JSON inside a +// JSON-encoded string. It applies only to fields of string, floating point, +// integer, or boolean types. This extra level of encoding is sometimes used +// when communicating with JavaScript programs: +// +// Int64String int64 `json:",string"` +// +// The key name will be used if it's a non-empty string consisting of +// only Unicode letters, digits, dollar signs, percent signs, hyphens, +// underscores and slashes. +// +// Anonymous struct fields are usually marshaled as if their inner exported fields +// were fields in the outer struct, subject to the usual Go visibility rules amended +// as described in the next paragraph. +// An anonymous struct field with a name given in its JSON tag is treated as +// having that name, rather than being anonymous. +// An anonymous struct field of interface type is treated the same as having +// that type as its name, rather than being anonymous. +// +// The Go visibility rules for struct fields are amended for JSON when +// deciding which field to marshal or unmarshal. If there are +// multiple fields at the same level, and that level is the least +// nested (and would therefore be the nesting level selected by the +// usual Go rules), the following extra rules apply: +// +// 1) Of those fields, if any are JSON-tagged, only tagged fields are considered, +// even if there are multiple untagged fields that would otherwise conflict. +// 2) If there is exactly one field (tagged or not according to the first rule), that is selected. +// 3) Otherwise there are multiple fields, and all are ignored; no error occurs. +// +// Handling of anonymous struct fields is new in Go 1.1. +// Prior to Go 1.1, anonymous struct fields were ignored. To force ignoring of +// an anonymous struct field in both current and earlier versions, give the field +// a JSON tag of "-". +// +// Map values encode as JSON objects. +// The map's key type must be string; the map keys are used as JSON object +// keys, subject to the UTF-8 coercion described for string values above. +// +// Pointer values encode as the value pointed to. +// A nil pointer encodes as the null JSON object. +// +// Interface values encode as the value contained in the interface. +// A nil interface value encodes as the null JSON object. +// +// Channel, complex, and function values cannot be encoded in JSON. +// Attempting to encode such a value causes Marshal to return +// an UnsupportedTypeError. +// +// JSON cannot represent cyclic data structures and Marshal does not +// handle them. Passing cyclic structures to Marshal will result in +// an infinite recursion. +// +func Marshal(v interface{}) ([]byte, error) { + e := &encodeState{} + err := e.marshal(v) + if err != nil { + return nil, err + } + return e.Bytes(), nil +} + +// MarshalIndent is like Marshal but applies Indent to format the output. +func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { + b, err := Marshal(v) + if err != nil { + return nil, err + } + var buf bytes.Buffer + err = Indent(&buf, b, prefix, indent) + if err != nil { + return nil, err + } + return buf.Bytes(), nil +} + +// HTMLEscape appends to dst the JSON-encoded src with <, >, &, U+2028 and U+2029 +// characters inside string literals changed to \u003c, \u003e, \u0026, \u2028, \u2029 +// so that the JSON will be safe to embed inside HTML <script> tags. +// For historical reasons, web browsers don't honor standard HTML +// escaping within <script> tags, so an alternative JSON encoding must +// be used. +func HTMLEscape(dst *bytes.Buffer, src []byte) { + // The characters can only appear in string literals, + // so just scan the string one byte at a time. + start := 0 + for i, c := range src { + if c == '<' || c == '>' || c == '&' { + if start < i { + dst.Write(src[start:i]) + } + dst.WriteString(`\u00`) + dst.WriteByte(hex[c>>4]) + dst.WriteByte(hex[c&0xF]) + start = i + 1 + } + // Convert U+2028 and U+2029 (E2 80 A8 and E2 80 A9). + if c == 0xE2 && i+2 < len(src) && src[i+1] == 0x80 && src[i+2]&^1 == 0xA8 { + if start < i { + dst.Write(src[start:i]) + } + dst.WriteString(`\u202`) + dst.WriteByte(hex[src[i+2]&0xF]) + start = i + 3 + } + } + if start < len(src) { + dst.Write(src[start:]) + } +} + +// Marshaler is the interface implemented by objects that +// can marshal themselves into valid JSON. +type Marshaler interface { + MarshalJSON() ([]byte, error) +} + +// An UnsupportedTypeError is returned by Marshal when attempting +// to encode an unsupported value type. +type UnsupportedTypeError struct { + Type reflect.Type +} + +func (e *UnsupportedTypeError) Error() string { + return "json: unsupported type: " + e.Type.String() +} + +type UnsupportedValueError struct { + Value reflect.Value + Str string +} + +func (e *UnsupportedValueError) Error() string { + return "json: unsupported value: " + e.Str +} + +// Before Go 1.2, an InvalidUTF8Error was returned by Marshal when +// attempting to encode a string value with invalid UTF-8 sequences. +// As of Go 1.2, Marshal instead coerces the string to valid UTF-8 by +// replacing invalid bytes with the Unicode replacement rune U+FFFD. +// This error is no longer generated but is kept for backwards compatibility +// with programs that might mention it. +type InvalidUTF8Error struct { + S string // the whole string value that caused the error +} + +func (e *InvalidUTF8Error) Error() string { + return "json: invalid UTF-8 in string: " + strconv.Quote(e.S) +} + +type MarshalerError struct { + Type reflect.Type + Err error +} + +func (e *MarshalerError) Error() string { + return "json: error calling MarshalJSON for type " + e.Type.String() + ": " + e.Err.Error() +} + +var hex = "0123456789abcdef" + +// An encodeState encodes JSON into a bytes.Buffer. +type encodeState struct { + bytes.Buffer // accumulated output + scratch [64]byte +} + +var encodeStatePool sync.Pool + +func newEncodeState() *encodeState { + if v := encodeStatePool.Get(); v != nil { + e := v.(*encodeState) + e.Reset() + return e + } + return new(encodeState) +} + +func (e *encodeState) marshal(v interface{}) (err error) { + defer func() { + if r := recover(); r != nil { + if _, ok := r.(runtime.Error); ok { + panic(r) + } + if s, ok := r.(string); ok { + panic(s) + } + err = r.(error) + } + }() + e.reflectValue(reflect.ValueOf(v)) + return nil +} + +func (e *encodeState) error(err error) { + panic(err) +} + +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 +} + +func (e *encodeState) reflectValue(v reflect.Value) { + valueEncoder(v)(e, v, false) +} + +type encoderFunc func(e *encodeState, v reflect.Value, quoted bool) + +var encoderCache struct { + sync.RWMutex + m map[reflect.Type]encoderFunc +} + +func valueEncoder(v reflect.Value) encoderFunc { + if !v.IsValid() { + return invalidValueEncoder + } + return typeEncoder(v.Type()) +} + +func typeEncoder(t reflect.Type) encoderFunc { + encoderCache.RLock() + f := encoderCache.m[t] + encoderCache.RUnlock() + if f != nil { + return f + } + + // To deal with recursive types, populate the map with an + // indirect func before we build it. This type waits on the + // real func (f) to be ready and then calls it. This indirect + // func is only used for recursive types. + encoderCache.Lock() + if encoderCache.m == nil { + encoderCache.m = make(map[reflect.Type]encoderFunc) + } + var wg sync.WaitGroup + wg.Add(1) + encoderCache.m[t] = func(e *encodeState, v reflect.Value, quoted bool) { + wg.Wait() + f(e, v, quoted) + } + encoderCache.Unlock() + + // Compute fields without lock. + // Might duplicate effort but won't hold other computations back. + f = newTypeEncoder(t, true) + wg.Done() + encoderCache.Lock() + encoderCache.m[t] = f + encoderCache.Unlock() + return f +} + +var ( + marshalerType = reflect.TypeOf(new(Marshaler)).Elem() + textMarshalerType = reflect.TypeOf(new(encoding.TextMarshaler)).Elem() +) + +// newTypeEncoder constructs an encoderFunc for a type. +// The returned encoder only checks CanAddr when allowAddr is true. +func newTypeEncoder(t reflect.Type, allowAddr bool) encoderFunc { + if t.Implements(marshalerType) { + return marshalerEncoder + } + if t.Kind() != reflect.Ptr && allowAddr { + if reflect.PtrTo(t).Implements(marshalerType) { + return newCondAddrEncoder(addrMarshalerEncoder, newTypeEncoder(t, false)) + } + } + + if t.Implements(textMarshalerType) { + return textMarshalerEncoder + } + if t.Kind() != reflect.Ptr && allowAddr { + if reflect.PtrTo(t).Implements(textMarshalerType) { + return newCondAddrEncoder(addrTextMarshalerEncoder, newTypeEncoder(t, false)) + } + } + + switch t.Kind() { + case reflect.Bool: + return boolEncoder + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return intEncoder + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return uintEncoder + case reflect.Float32: + return float32Encoder + case reflect.Float64: + return float64Encoder + case reflect.String: + return stringEncoder + case reflect.Interface: + return interfaceEncoder + case reflect.Struct: + return newStructEncoder(t) + case reflect.Map: + return newMapEncoder(t) + case reflect.Slice: + return newSliceEncoder(t) + case reflect.Array: + return newArrayEncoder(t) + case reflect.Ptr: + return newPtrEncoder(t) + default: + return unsupportedTypeEncoder + } +} + +func invalidValueEncoder(e *encodeState, v reflect.Value, quoted bool) { + e.WriteString("null") +} + +func marshalerEncoder(e *encodeState, v reflect.Value, quoted bool) { + if v.Kind() == reflect.Ptr && v.IsNil() { + e.WriteString("null") + return + } + m := v.Interface().(Marshaler) + b, err := m.MarshalJSON() + if err == nil { + // copy JSON into buffer, checking validity. + err = compact(&e.Buffer, b, true) + } + if err != nil { + e.error(&MarshalerError{v.Type(), err}) + } +} + +func addrMarshalerEncoder(e *encodeState, v reflect.Value, quoted bool) { + va := v.Addr() + if va.IsNil() { + e.WriteString("null") + return + } + m := va.Interface().(Marshaler) + b, err := m.MarshalJSON() + if err == nil { + // copy JSON into buffer, checking validity. + err = compact(&e.Buffer, b, true) + } + if err != nil { + e.error(&MarshalerError{v.Type(), err}) + } +} + +func textMarshalerEncoder(e *encodeState, v reflect.Value, quoted bool) { + if v.Kind() == reflect.Ptr && v.IsNil() { + e.WriteString("null") + return + } + m := v.Interface().(encoding.TextMarshaler) + b, err := m.MarshalText() + if err != nil { + e.error(&MarshalerError{v.Type(), err}) + } + e.stringBytes(b) +} + +func addrTextMarshalerEncoder(e *encodeState, v reflect.Value, quoted bool) { + va := v.Addr() + if va.IsNil() { + e.WriteString("null") + return + } + m := va.Interface().(encoding.TextMarshaler) + b, err := m.MarshalText() + if err != nil { + e.error(&MarshalerError{v.Type(), err}) + } + e.stringBytes(b) +} + +func boolEncoder(e *encodeState, v reflect.Value, quoted bool) { + if quoted { + e.WriteByte('"') + } + if v.Bool() { + e.WriteString("true") + } else { + e.WriteString("false") + } + if quoted { + e.WriteByte('"') + } +} + +func intEncoder(e *encodeState, v reflect.Value, quoted bool) { + b := strconv.AppendInt(e.scratch[:0], v.Int(), 10) + if quoted { + e.WriteByte('"') + } + e.Write(b) + if quoted { + e.WriteByte('"') + } +} + +func uintEncoder(e *encodeState, v reflect.Value, quoted bool) { + b := strconv.AppendUint(e.scratch[:0], v.Uint(), 10) + if quoted { + e.WriteByte('"') + } + e.Write(b) + if quoted { + e.WriteByte('"') + } +} + +type floatEncoder int // number of bits + +func (bits floatEncoder) encode(e *encodeState, v reflect.Value, quoted bool) { + f := v.Float() + if math.IsInf(f, 0) || math.IsNaN(f) { + e.error(&UnsupportedValueError{v, strconv.FormatFloat(f, 'g', -1, int(bits))}) + } + b := strconv.AppendFloat(e.scratch[:0], f, 'g', -1, int(bits)) + if quoted { + e.WriteByte('"') + } + e.Write(b) + if quoted { + e.WriteByte('"') + } +} + +var ( + float32Encoder = (floatEncoder(32)).encode + float64Encoder = (floatEncoder(64)).encode +) + +func stringEncoder(e *encodeState, v reflect.Value, quoted bool) { + if v.Type() == numberType { + numStr := v.String() + // In Go1.5 the empty string encodes to "0", while this is not a valid number literal + // we keep compatibility so check validity after this. + if numStr == "" { + numStr = "0" // Number's zero-val + } + if !isValidNumber(numStr) { + e.error(fmt.Errorf("json: invalid number literal %q", numStr)) + } + e.WriteString(numStr) + return + } + if quoted { + sb, err := Marshal(v.String()) + if err != nil { + e.error(err) + } + e.string(string(sb)) + } else { + e.string(v.String()) + } +} + +func interfaceEncoder(e *encodeState, v reflect.Value, quoted bool) { + if v.IsNil() { + e.WriteString("null") + return + } + e.reflectValue(v.Elem()) +} + +func unsupportedTypeEncoder(e *encodeState, v reflect.Value, quoted bool) { + e.error(&UnsupportedTypeError{v.Type()}) +} + +type structEncoder struct { + fields []field + fieldEncs []encoderFunc +} + +func (se *structEncoder) encode(e *encodeState, v reflect.Value, quoted bool) { + e.WriteByte('{') + first := true + for i, f := range se.fields { + fv := fieldByIndex(v, f.index) + if !fv.IsValid() || f.omitEmpty && isEmptyValue(fv) { + continue + } + if first { + first = false + } else { + e.WriteByte(',') + } + e.string(f.name) + e.WriteByte(':') + se.fieldEncs[i](e, fv, f.quoted) + } + e.WriteByte('}') +} + +func newStructEncoder(t reflect.Type) encoderFunc { + fields := cachedTypeFields(t) + se := &structEncoder{ + fields: fields, + fieldEncs: make([]encoderFunc, len(fields)), + } + for i, f := range fields { + se.fieldEncs[i] = typeEncoder(typeByIndex(t, f.index)) + } + return se.encode +} + +type mapEncoder struct { + elemEnc encoderFunc +} + +func (me *mapEncoder) encode(e *encodeState, v reflect.Value, _ bool) { + if v.IsNil() { + e.WriteString("null") + return + } + e.WriteByte('{') + var sv stringValues = v.MapKeys() + sort.Sort(sv) + for i, k := range sv { + if i > 0 { + e.WriteByte(',') + } + e.string(k.String()) + e.WriteByte(':') + me.elemEnc(e, v.MapIndex(k), false) + } + e.WriteByte('}') +} + +func newMapEncoder(t reflect.Type) encoderFunc { + if t.Key().Kind() != reflect.String { + return unsupportedTypeEncoder + } + me := &mapEncoder{typeEncoder(t.Elem())} + return me.encode +} + +func encodeByteSlice(e *encodeState, v reflect.Value, _ bool) { + if v.IsNil() { + e.WriteString("null") + return + } + s := v.Bytes() + e.WriteByte('"') + if len(s) < 1024 { + // for small buffers, using Encode directly is much faster. + dst := make([]byte, base64.StdEncoding.EncodedLen(len(s))) + base64.StdEncoding.Encode(dst, s) + e.Write(dst) + } else { + // for large buffers, avoid unnecessary extra temporary + // buffer space. + enc := base64.NewEncoder(base64.StdEncoding, e) + enc.Write(s) + enc.Close() + } + e.WriteByte('"') +} + +// sliceEncoder just wraps an arrayEncoder, checking to make sure the value isn't nil. +type sliceEncoder struct { + arrayEnc encoderFunc +} + +func (se *sliceEncoder) encode(e *encodeState, v reflect.Value, _ bool) { + if v.IsNil() { + e.WriteString("null") + return + } + se.arrayEnc(e, v, false) +} + +func newSliceEncoder(t reflect.Type) encoderFunc { + // Byte slices get special treatment; arrays don't. + if t.Elem().Kind() == reflect.Uint8 { + return encodeByteSlice + } + enc := &sliceEncoder{newArrayEncoder(t)} + return enc.encode +} + +type arrayEncoder struct { + elemEnc encoderFunc +} + +func (ae *arrayEncoder) encode(e *encodeState, v reflect.Value, _ bool) { + e.WriteByte('[') + n := v.Len() + for i := 0; i < n; i++ { + if i > 0 { + e.WriteByte(',') + } + ae.elemEnc(e, v.Index(i), false) + } + e.WriteByte(']') +} + +func newArrayEncoder(t reflect.Type) encoderFunc { + enc := &arrayEncoder{typeEncoder(t.Elem())} + return enc.encode +} + +type ptrEncoder struct { + elemEnc encoderFunc +} + +func (pe *ptrEncoder) encode(e *encodeState, v reflect.Value, quoted bool) { + if v.IsNil() { + e.WriteString("null") + return + } + pe.elemEnc(e, v.Elem(), quoted) +} + +func newPtrEncoder(t reflect.Type) encoderFunc { + enc := &ptrEncoder{typeEncoder(t.Elem())} + return enc.encode +} + +type condAddrEncoder struct { + canAddrEnc, elseEnc encoderFunc +} + +func (ce *condAddrEncoder) encode(e *encodeState, v reflect.Value, quoted bool) { + if v.CanAddr() { + ce.canAddrEnc(e, v, quoted) + } else { + ce.elseEnc(e, v, quoted) + } +} + +// newCondAddrEncoder returns an encoder that checks whether its value +// CanAddr and delegates to canAddrEnc if so, else to elseEnc. +func newCondAddrEncoder(canAddrEnc, elseEnc encoderFunc) encoderFunc { + enc := &condAddrEncoder{canAddrEnc: canAddrEnc, elseEnc: elseEnc} + return enc.encode +} + +func isValidTag(s string) bool { + if s == "" { + return false + } + for _, c := range s { + switch { + case strings.ContainsRune("!#$%&()*+-./:<=>?@[]^_{|}~ ", c): + // Backslash and quote chars are reserved, but + // otherwise any punctuation chars are allowed + // in a tag name. + default: + if !unicode.IsLetter(c) && !unicode.IsDigit(c) { + return false + } + } + } + return true +} + +func fieldByIndex(v reflect.Value, index []int) reflect.Value { + for _, i := range index { + if v.Kind() == reflect.Ptr { + if v.IsNil() { + return reflect.Value{} + } + v = v.Elem() + } + v = v.Field(i) + } + return v +} + +func typeByIndex(t reflect.Type, index []int) reflect.Type { + for _, i := range index { + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + t = t.Field(i).Type + } + return t +} + +// stringValues is a slice of reflect.Value holding *reflect.StringValue. +// It implements the methods to sort by string. +type stringValues []reflect.Value + +func (sv stringValues) Len() int { return len(sv) } +func (sv stringValues) Swap(i, j int) { sv[i], sv[j] = sv[j], sv[i] } +func (sv stringValues) Less(i, j int) bool { return sv.get(i) < sv.get(j) } +func (sv stringValues) get(i int) string { return sv[i].String() } + +// NOTE: keep in sync with stringBytes below. +func (e *encodeState) string(s string) int { + len0 := e.Len() + e.WriteByte('"') + start := 0 + for i := 0; i < len(s); { + if b := s[i]; b < utf8.RuneSelf { + if 0x20 <= b && b != '\\' && b != '"' && b != '<' && b != '>' && b != '&' { + i++ + continue + } + if start < i { + e.WriteString(s[start:i]) + } + switch b { + case '\\', '"': + e.WriteByte('\\') + e.WriteByte(b) + case '\n': + e.WriteByte('\\') + e.WriteByte('n') + case '\r': + e.WriteByte('\\') + e.WriteByte('r') + case '\t': + e.WriteByte('\\') + e.WriteByte('t') + default: + // This encodes bytes < 0x20 except for \n and \r, + // as well as <, > and &. The latter are escaped because they + // can lead to security holes when user-controlled strings + // are rendered into JSON and served to some browsers. + e.WriteString(`\u00`) + e.WriteByte(hex[b>>4]) + e.WriteByte(hex[b&0xF]) + } + i++ + start = i + continue + } + c, size := utf8.DecodeRuneInString(s[i:]) + if c == utf8.RuneError && size == 1 { + if start < i { + e.WriteString(s[start:i]) + } + e.WriteString(`\ufffd`) + i += size + start = i + continue + } + // U+2028 is LINE SEPARATOR. + // U+2029 is PARAGRAPH SEPARATOR. + // They are both technically valid characters in JSON strings, + // but don't work in JSONP, which has to be evaluated as JavaScript, + // and can lead to security holes there. It is valid JSON to + // escape them, so we do so unconditionally. + // See http://timelessrepo.com/json-isnt-a-javascript-subset for discussion. + if c == '\u2028' || c == '\u2029' { + if start < i { + e.WriteString(s[start:i]) + } + e.WriteString(`\u202`) + e.WriteByte(hex[c&0xF]) + i += size + start = i + continue + } + i += size + } + if start < len(s) { + e.WriteString(s[start:]) + } + e.WriteByte('"') + return e.Len() - len0 +} + +// NOTE: keep in sync with string above. +func (e *encodeState) stringBytes(s []byte) int { + len0 := e.Len() + e.WriteByte('"') + start := 0 + for i := 0; i < len(s); { + if b := s[i]; b < utf8.RuneSelf { + if 0x20 <= b && b != '\\' && b != '"' && b != '<' && b != '>' && b != '&' { + i++ + continue + } + if start < i { + e.Write(s[start:i]) + } + switch b { + case '\\', '"': + e.WriteByte('\\') + e.WriteByte(b) + case '\n': + e.WriteByte('\\') + e.WriteByte('n') + case '\r': + e.WriteByte('\\') + e.WriteByte('r') + case '\t': + e.WriteByte('\\') + e.WriteByte('t') + default: + // This encodes bytes < 0x20 except for \n and \r, + // as well as <, >, and &. The latter are escaped because they + // can lead to security holes when user-controlled strings + // are rendered into JSON and served to some browsers. + e.WriteString(`\u00`) + e.WriteByte(hex[b>>4]) + e.WriteByte(hex[b&0xF]) + } + i++ + start = i + continue + } + c, size := utf8.DecodeRune(s[i:]) + if c == utf8.RuneError && size == 1 { + if start < i { + e.Write(s[start:i]) + } + e.WriteString(`\ufffd`) + i += size + start = i + continue + } + // U+2028 is LINE SEPARATOR. + // U+2029 is PARAGRAPH SEPARATOR. + // They are both technically valid characters in JSON strings, + // but don't work in JSONP, which has to be evaluated as JavaScript, + // and can lead to security holes there. It is valid JSON to + // escape them, so we do so unconditionally. + // See http://timelessrepo.com/json-isnt-a-javascript-subset for discussion. + if c == '\u2028' || c == '\u2029' { + if start < i { + e.Write(s[start:i]) + } + e.WriteString(`\u202`) + e.WriteByte(hex[c&0xF]) + i += size + start = i + continue + } + i += size + } + if start < len(s) { + e.Write(s[start:]) + } + e.WriteByte('"') + return e.Len() - len0 +} + +// A field represents a single field found in a struct. +type field struct { + name string + nameBytes []byte // []byte(name) + + tag bool + index []int + typ reflect.Type + omitEmpty bool + quoted bool +} + +func fillField(f field) field { + f.nameBytes = []byte(f.name) + return f +} + +// byName sorts field by name, breaking ties with depth, +// then breaking ties with "name came from json tag", then +// breaking ties with index sequence. +type byName []field + +func (x byName) Len() int { return len(x) } + +func (x byName) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +func (x byName) Less(i, j int) bool { + if x[i].name != x[j].name { + return x[i].name < x[j].name + } + if len(x[i].index) != len(x[j].index) { + return len(x[i].index) < len(x[j].index) + } + if x[i].tag != x[j].tag { + return x[i].tag + } + return byIndex(x).Less(i, j) +} + +// byIndex sorts field by index sequence. +type byIndex []field + +func (x byIndex) Len() int { return len(x) } + +func (x byIndex) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +func (x byIndex) Less(i, j int) bool { + for k, xik := range x[i].index { + if k >= len(x[j].index) { + return false + } + if xik != x[j].index[k] { + return xik < x[j].index[k] + } + } + return len(x[i].index) < len(x[j].index) +} + +// typeFields returns a list of fields that JSON should recognize for the given type. +// The algorithm is breadth-first search over the set of structs to include - the top struct +// and then any reachable anonymous structs. +func typeFields(t reflect.Type) []field { + // Anonymous fields to explore at the current level and the next. + current := []field{} + next := []field{{typ: t}} + + // Count of queued names for current level and the next. + count := map[reflect.Type]int{} + nextCount := map[reflect.Type]int{} + + // Types already visited at an earlier level. + visited := map[reflect.Type]bool{} + + // Fields found. + var fields []field + + for len(next) > 0 { + current, next = next, current[:0] + count, nextCount = nextCount, map[reflect.Type]int{} + + for _, f := range current { + if visited[f.typ] { + continue + } + visited[f.typ] = true + + // Scan f.typ for fields to include. + for i := 0; i < f.typ.NumField(); i++ { + sf := f.typ.Field(i) + if sf.PkgPath != "" && !sf.Anonymous { // unexported + continue + } + tag := sf.Tag.Get("json") + if tag == "-" { + continue + } + name, opts := parseTag(tag) + if !isValidTag(name) { + name = "" + } + index := make([]int, len(f.index)+1) + copy(index, f.index) + index[len(f.index)] = i + + ft := sf.Type + if ft.Name() == "" && ft.Kind() == reflect.Ptr { + // Follow pointer. + ft = ft.Elem() + } + + // Only strings, floats, integers, and booleans can be quoted. + quoted := false + if opts.Contains("string") { + switch ft.Kind() { + case reflect.Bool, + reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, + reflect.Float32, reflect.Float64, + reflect.String: + quoted = true + } + } + + // Record found field and index sequence. + if name != "" || !sf.Anonymous || ft.Kind() != reflect.Struct { + tagged := name != "" + if name == "" { + name = sf.Name + } + fields = append(fields, fillField(field{ + name: name, + tag: tagged, + index: index, + typ: ft, + omitEmpty: opts.Contains("omitempty"), + quoted: quoted, + })) + if count[f.typ] > 1 { + // If there were multiple instances, add a second, + // so that the annihilation code will see a duplicate. + // It only cares about the distinction between 1 or 2, + // so don't bother generating any more copies. + fields = append(fields, fields[len(fields)-1]) + } + continue + } + + // Record new anonymous struct to explore in next round. + nextCount[ft]++ + if nextCount[ft] == 1 { + next = append(next, fillField(field{name: ft.Name(), index: index, typ: ft})) + } + } + } + } + + sort.Sort(byName(fields)) + + // Delete all fields that are hidden by the Go rules for embedded fields, + // except that fields with JSON tags are promoted. + + // The fields are sorted in primary order of name, secondary order + // of field index length. Loop over names; for each name, delete + // hidden fields by choosing the one dominant field that survives. + out := fields[:0] + for advance, i := 0, 0; i < len(fields); i += advance { + // One iteration per name. + // Find the sequence of fields with the name of this first field. + fi := fields[i] + name := fi.name + for advance = 1; i+advance < len(fields); advance++ { + fj := fields[i+advance] + if fj.name != name { + break + } + } + if advance == 1 { // Only one field with this name + out = append(out, fi) + continue + } + dominant, ok := dominantField(fields[i : i+advance]) + if ok { + out = append(out, dominant) + } + } + + fields = out + sort.Sort(byIndex(fields)) + + return fields +} + +// dominantField looks through the fields, all of which are known to +// have the same name, to find the single field that dominates the +// others using Go's embedding rules, modified by the presence of +// JSON tags. If there are multiple top-level fields, the boolean +// will be false: This condition is an error in Go and we skip all +// the fields. +func dominantField(fields []field) (field, bool) { + // The fields are sorted in increasing index-length order. The winner + // must therefore be one with the shortest index length. Drop all + // longer entries, which is easy: just truncate the slice. + length := len(fields[0].index) + tagged := -1 // Index of first tagged field. + for i, f := range fields { + if len(f.index) > length { + fields = fields[:i] + break + } + if f.tag { + if tagged >= 0 { + // Multiple tagged fields at the same level: conflict. + // Return no field. + return field{}, false + } + tagged = i + } + } + if tagged >= 0 { + return fields[tagged], true + } + // All remaining fields have the same length. If there's more than one, + // we have a conflict (two fields named "X" at the same level) and we + // return no field. + if len(fields) > 1 { + return field{}, false + } + return fields[0], true +} + +var fieldCache struct { + sync.RWMutex + m map[reflect.Type][]field +} + +// cachedTypeFields is like typeFields but uses a cache to avoid repeated work. +func cachedTypeFields(t reflect.Type) []field { + fieldCache.RLock() + f := fieldCache.m[t] + fieldCache.RUnlock() + if f != nil { + return f + } + + // Compute fields without lock. + // Might duplicate effort but won't hold other computations back. + f = typeFields(t) + if f == nil { + f = []field{} + } + + fieldCache.Lock() + if fieldCache.m == nil { + fieldCache.m = map[reflect.Type][]field{} + } + fieldCache.m[t] = f + fieldCache.Unlock() + return f +} diff --git a/vendor/gopkg.in/square/go-jose.v2/json/indent.go b/vendor/gopkg.in/square/go-jose.v2/json/indent.go new file mode 100644 index 000000000..7cd9f4db1 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/json/indent.go @@ -0,0 +1,141 @@ +// 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. + +package json + +import "bytes" + +// Compact appends to dst the JSON-encoded src with +// insignificant space characters elided. +func Compact(dst *bytes.Buffer, src []byte) error { + return compact(dst, src, false) +} + +func compact(dst *bytes.Buffer, src []byte, escape bool) error { + origLen := dst.Len() + var scan scanner + scan.reset() + start := 0 + for i, c := range src { + if escape && (c == '<' || c == '>' || c == '&') { + if start < i { + dst.Write(src[start:i]) + } + dst.WriteString(`\u00`) + dst.WriteByte(hex[c>>4]) + dst.WriteByte(hex[c&0xF]) + start = i + 1 + } + // Convert U+2028 and U+2029 (E2 80 A8 and E2 80 A9). + if c == 0xE2 && i+2 < len(src) && src[i+1] == 0x80 && src[i+2]&^1 == 0xA8 { + if start < i { + dst.Write(src[start:i]) + } + dst.WriteString(`\u202`) + dst.WriteByte(hex[src[i+2]&0xF]) + start = i + 3 + } + v := scan.step(&scan, c) + if v >= scanSkipSpace { + if v == scanError { + break + } + if start < i { + dst.Write(src[start:i]) + } + start = i + 1 + } + } + if scan.eof() == scanError { + dst.Truncate(origLen) + return scan.err + } + if start < len(src) { + dst.Write(src[start:]) + } + return nil +} + +func newline(dst *bytes.Buffer, prefix, indent string, depth int) { + dst.WriteByte('\n') + dst.WriteString(prefix) + for i := 0; i < depth; i++ { + dst.WriteString(indent) + } +} + +// Indent appends to dst an indented form of the JSON-encoded src. +// Each element in a JSON object or array begins on a new, +// indented line beginning with prefix followed by one or more +// copies of indent according to the indentation nesting. +// The data appended to dst does not begin with the prefix nor +// any indentation, to make it easier to embed inside other formatted JSON data. +// Although leading space characters (space, tab, carriage return, newline) +// at the beginning of src are dropped, trailing space characters +// at the end of src are preserved and copied to dst. +// For example, if src has no trailing spaces, neither will dst; +// if src ends in a trailing newline, so will dst. +func Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error { + origLen := dst.Len() + var scan scanner + scan.reset() + needIndent := false + depth := 0 + for _, c := range src { + scan.bytes++ + v := scan.step(&scan, c) + if v == scanSkipSpace { + continue + } + if v == scanError { + break + } + if needIndent && v != scanEndObject && v != scanEndArray { + needIndent = false + depth++ + newline(dst, prefix, indent, depth) + } + + // Emit semantically uninteresting bytes + // (in particular, punctuation in strings) unmodified. + if v == scanContinue { + dst.WriteByte(c) + continue + } + + // Add spacing around real punctuation. + switch c { + case '{', '[': + // delay indent so that empty object and array are formatted as {} and []. + needIndent = true + dst.WriteByte(c) + + case ',': + dst.WriteByte(c) + newline(dst, prefix, indent, depth) + + case ':': + dst.WriteByte(c) + dst.WriteByte(' ') + + case '}', ']': + if needIndent { + // suppress indent in empty object/array + needIndent = false + } else { + depth-- + newline(dst, prefix, indent, depth) + } + dst.WriteByte(c) + + default: + dst.WriteByte(c) + } + } + if scan.eof() == scanError { + dst.Truncate(origLen) + return scan.err + } + return nil +} diff --git a/vendor/gopkg.in/square/go-jose.v2/json/scanner.go b/vendor/gopkg.in/square/go-jose.v2/json/scanner.go new file mode 100644 index 000000000..ee6622e8c --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/json/scanner.go @@ -0,0 +1,623 @@ +// 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. + +package json + +// JSON value parser state machine. +// Just about at the limit of what is reasonable to write by hand. +// Some parts are a bit tedious, but overall it nicely factors out the +// otherwise common code from the multiple scanning functions +// in this package (Compact, Indent, checkValid, nextValue, etc). +// +// This file starts with two simple examples using the scanner +// before diving into the scanner itself. + +import "strconv" + +// checkValid verifies that data is valid JSON-encoded data. +// scan is passed in for use by checkValid to avoid an allocation. +func checkValid(data []byte, scan *scanner) error { + scan.reset() + for _, c := range data { + scan.bytes++ + if scan.step(scan, c) == scanError { + return scan.err + } + } + if scan.eof() == scanError { + return scan.err + } + return nil +} + +// nextValue splits data after the next whole JSON value, +// returning that value and the bytes that follow it as separate slices. +// scan is passed in for use by nextValue to avoid an allocation. +func nextValue(data []byte, scan *scanner) (value, rest []byte, err error) { + scan.reset() + for i, c := range data { + v := scan.step(scan, c) + if v >= scanEndObject { + switch v { + // probe the scanner with a space to determine whether we will + // get scanEnd on the next character. Otherwise, if the next character + // is not a space, scanEndTop allocates a needless error. + case scanEndObject, scanEndArray: + if scan.step(scan, ' ') == scanEnd { + return data[:i+1], data[i+1:], nil + } + case scanError: + return nil, nil, scan.err + case scanEnd: + return data[:i], data[i:], nil + } + } + } + if scan.eof() == scanError { + return nil, nil, scan.err + } + return data, nil, nil +} + +// A SyntaxError is a description of a JSON syntax error. +type SyntaxError struct { + msg string // description of error + Offset int64 // error occurred after reading Offset bytes +} + +func (e *SyntaxError) Error() string { return e.msg } + +// A scanner is a JSON scanning state machine. +// Callers call scan.reset() and then pass bytes in one at a time +// by calling scan.step(&scan, c) for each byte. +// The return value, referred to as an opcode, tells the +// caller about significant parsing events like beginning +// and ending literals, objects, and arrays, so that the +// caller can follow along if it wishes. +// The return value scanEnd indicates that a single top-level +// JSON value has been completed, *before* the byte that +// just got passed in. (The indication must be delayed in order +// to recognize the end of numbers: is 123 a whole value or +// the beginning of 12345e+6?). +type scanner struct { + // The step is a func to be called to execute the next transition. + // Also tried using an integer constant and a single func + // with a switch, but using the func directly was 10% faster + // on a 64-bit Mac Mini, and it's nicer to read. + step func(*scanner, byte) int + + // Reached end of top-level value. + endTop bool + + // Stack of what we're in the middle of - array values, object keys, object values. + parseState []int + + // Error that happened, if any. + err error + + // 1-byte redo (see undo method) + redo bool + redoCode int + redoState func(*scanner, byte) int + + // total bytes consumed, updated by decoder.Decode + bytes int64 +} + +// These values are returned by the state transition functions +// assigned to scanner.state and the method scanner.eof. +// They give details about the current state of the scan that +// callers might be interested to know about. +// It is okay to ignore the return value of any particular +// call to scanner.state: if one call returns scanError, +// every subsequent call will return scanError too. +const ( + // Continue. + scanContinue = iota // uninteresting byte + scanBeginLiteral // end implied by next result != scanContinue + scanBeginObject // begin object + scanObjectKey // just finished object key (string) + scanObjectValue // just finished non-last object value + scanEndObject // end object (implies scanObjectValue if possible) + scanBeginArray // begin array + scanArrayValue // just finished array value + scanEndArray // end array (implies scanArrayValue if possible) + scanSkipSpace // space byte; can skip; known to be last "continue" result + + // Stop. + scanEnd // top-level value ended *before* this byte; known to be first "stop" result + scanError // hit an error, scanner.err. +) + +// These values are stored in the parseState stack. +// They give the current state of a composite value +// being scanned. If the parser is inside a nested value +// the parseState describes the nested state, outermost at entry 0. +const ( + parseObjectKey = iota // parsing object key (before colon) + parseObjectValue // parsing object value (after colon) + parseArrayValue // parsing array value +) + +// reset prepares the scanner for use. +// It must be called before calling s.step. +func (s *scanner) reset() { + s.step = stateBeginValue + s.parseState = s.parseState[0:0] + s.err = nil + s.redo = false + s.endTop = false +} + +// eof tells the scanner that the end of input has been reached. +// It returns a scan status just as s.step does. +func (s *scanner) eof() int { + if s.err != nil { + return scanError + } + if s.endTop { + return scanEnd + } + s.step(s, ' ') + if s.endTop { + return scanEnd + } + if s.err == nil { + s.err = &SyntaxError{"unexpected end of JSON input", s.bytes} + } + return scanError +} + +// pushParseState pushes a new parse state p onto the parse stack. +func (s *scanner) pushParseState(p int) { + s.parseState = append(s.parseState, p) +} + +// popParseState pops a parse state (already obtained) off the stack +// and updates s.step accordingly. +func (s *scanner) popParseState() { + n := len(s.parseState) - 1 + s.parseState = s.parseState[0:n] + s.redo = false + if n == 0 { + s.step = stateEndTop + s.endTop = true + } else { + s.step = stateEndValue + } +} + +func isSpace(c byte) bool { + return c == ' ' || c == '\t' || c == '\r' || c == '\n' +} + +// stateBeginValueOrEmpty is the state after reading `[`. +func stateBeginValueOrEmpty(s *scanner, c byte) int { + if c <= ' ' && isSpace(c) { + return scanSkipSpace + } + if c == ']' { + return stateEndValue(s, c) + } + return stateBeginValue(s, c) +} + +// stateBeginValue is the state at the beginning of the input. +func stateBeginValue(s *scanner, c byte) int { + if c <= ' ' && isSpace(c) { + return scanSkipSpace + } + switch c { + case '{': + s.step = stateBeginStringOrEmpty + s.pushParseState(parseObjectKey) + return scanBeginObject + case '[': + s.step = stateBeginValueOrEmpty + s.pushParseState(parseArrayValue) + return scanBeginArray + case '"': + s.step = stateInString + return scanBeginLiteral + case '-': + s.step = stateNeg + return scanBeginLiteral + case '0': // beginning of 0.123 + s.step = state0 + return scanBeginLiteral + case 't': // beginning of true + s.step = stateT + return scanBeginLiteral + case 'f': // beginning of false + s.step = stateF + return scanBeginLiteral + case 'n': // beginning of null + s.step = stateN + return scanBeginLiteral + } + if '1' <= c && c <= '9' { // beginning of 1234.5 + s.step = state1 + return scanBeginLiteral + } + return s.error(c, "looking for beginning of value") +} + +// stateBeginStringOrEmpty is the state after reading `{`. +func stateBeginStringOrEmpty(s *scanner, c byte) int { + if c <= ' ' && isSpace(c) { + return scanSkipSpace + } + if c == '}' { + n := len(s.parseState) + s.parseState[n-1] = parseObjectValue + return stateEndValue(s, c) + } + return stateBeginString(s, c) +} + +// stateBeginString is the state after reading `{"key": value,`. +func stateBeginString(s *scanner, c byte) int { + if c <= ' ' && isSpace(c) { + return scanSkipSpace + } + if c == '"' { + s.step = stateInString + return scanBeginLiteral + } + return s.error(c, "looking for beginning of object key string") +} + +// stateEndValue is the state after completing a value, +// such as after reading `{}` or `true` or `["x"`. +func stateEndValue(s *scanner, c byte) int { + n := len(s.parseState) + if n == 0 { + // Completed top-level before the current byte. + s.step = stateEndTop + s.endTop = true + return stateEndTop(s, c) + } + if c <= ' ' && isSpace(c) { + s.step = stateEndValue + return scanSkipSpace + } + ps := s.parseState[n-1] + switch ps { + case parseObjectKey: + if c == ':' { + s.parseState[n-1] = parseObjectValue + s.step = stateBeginValue + return scanObjectKey + } + return s.error(c, "after object key") + case parseObjectValue: + if c == ',' { + s.parseState[n-1] = parseObjectKey + s.step = stateBeginString + return scanObjectValue + } + if c == '}' { + s.popParseState() + return scanEndObject + } + return s.error(c, "after object key:value pair") + case parseArrayValue: + if c == ',' { + s.step = stateBeginValue + return scanArrayValue + } + if c == ']' { + s.popParseState() + return scanEndArray + } + return s.error(c, "after array element") + } + return s.error(c, "") +} + +// stateEndTop is the state after finishing the top-level value, +// such as after reading `{}` or `[1,2,3]`. +// Only space characters should be seen now. +func stateEndTop(s *scanner, c byte) int { + if c != ' ' && c != '\t' && c != '\r' && c != '\n' { + // Complain about non-space byte on next call. + s.error(c, "after top-level value") + } + return scanEnd +} + +// stateInString is the state after reading `"`. +func stateInString(s *scanner, c byte) int { + if c == '"' { + s.step = stateEndValue + return scanContinue + } + if c == '\\' { + s.step = stateInStringEsc + return scanContinue + } + if c < 0x20 { + return s.error(c, "in string literal") + } + return scanContinue +} + +// stateInStringEsc is the state after reading `"\` during a quoted string. +func stateInStringEsc(s *scanner, c byte) int { + switch c { + case 'b', 'f', 'n', 'r', 't', '\\', '/', '"': + s.step = stateInString + return scanContinue + case 'u': + s.step = stateInStringEscU + return scanContinue + } + return s.error(c, "in string escape code") +} + +// stateInStringEscU is the state after reading `"\u` during a quoted string. +func stateInStringEscU(s *scanner, c byte) int { + if '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' { + s.step = stateInStringEscU1 + return scanContinue + } + // numbers + return s.error(c, "in \\u hexadecimal character escape") +} + +// stateInStringEscU1 is the state after reading `"\u1` during a quoted string. +func stateInStringEscU1(s *scanner, c byte) int { + if '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' { + s.step = stateInStringEscU12 + return scanContinue + } + // numbers + return s.error(c, "in \\u hexadecimal character escape") +} + +// stateInStringEscU12 is the state after reading `"\u12` during a quoted string. +func stateInStringEscU12(s *scanner, c byte) int { + if '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' { + s.step = stateInStringEscU123 + return scanContinue + } + // numbers + return s.error(c, "in \\u hexadecimal character escape") +} + +// stateInStringEscU123 is the state after reading `"\u123` during a quoted string. +func stateInStringEscU123(s *scanner, c byte) int { + if '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' { + s.step = stateInString + return scanContinue + } + // numbers + return s.error(c, "in \\u hexadecimal character escape") +} + +// stateNeg is the state after reading `-` during a number. +func stateNeg(s *scanner, c byte) int { + if c == '0' { + s.step = state0 + return scanContinue + } + if '1' <= c && c <= '9' { + s.step = state1 + return scanContinue + } + return s.error(c, "in numeric literal") +} + +// state1 is the state after reading a non-zero integer during a number, +// such as after reading `1` or `100` but not `0`. +func state1(s *scanner, c byte) int { + if '0' <= c && c <= '9' { + s.step = state1 + return scanContinue + } + return state0(s, c) +} + +// state0 is the state after reading `0` during a number. +func state0(s *scanner, c byte) int { + if c == '.' { + s.step = stateDot + return scanContinue + } + if c == 'e' || c == 'E' { + s.step = stateE + return scanContinue + } + return stateEndValue(s, c) +} + +// stateDot is the state after reading the integer and decimal point in a number, +// such as after reading `1.`. +func stateDot(s *scanner, c byte) int { + if '0' <= c && c <= '9' { + s.step = stateDot0 + return scanContinue + } + return s.error(c, "after decimal point in numeric literal") +} + +// stateDot0 is the state after reading the integer, decimal point, and subsequent +// digits of a number, such as after reading `3.14`. +func stateDot0(s *scanner, c byte) int { + if '0' <= c && c <= '9' { + return scanContinue + } + if c == 'e' || c == 'E' { + s.step = stateE + return scanContinue + } + return stateEndValue(s, c) +} + +// stateE is the state after reading the mantissa and e in a number, +// such as after reading `314e` or `0.314e`. +func stateE(s *scanner, c byte) int { + if c == '+' || c == '-' { + s.step = stateESign + return scanContinue + } + return stateESign(s, c) +} + +// stateESign is the state after reading the mantissa, e, and sign in a number, +// such as after reading `314e-` or `0.314e+`. +func stateESign(s *scanner, c byte) int { + if '0' <= c && c <= '9' { + s.step = stateE0 + return scanContinue + } + return s.error(c, "in exponent of numeric literal") +} + +// stateE0 is the state after reading the mantissa, e, optional sign, +// and at least one digit of the exponent in a number, +// such as after reading `314e-2` or `0.314e+1` or `3.14e0`. +func stateE0(s *scanner, c byte) int { + if '0' <= c && c <= '9' { + return scanContinue + } + return stateEndValue(s, c) +} + +// stateT is the state after reading `t`. +func stateT(s *scanner, c byte) int { + if c == 'r' { + s.step = stateTr + return scanContinue + } + return s.error(c, "in literal true (expecting 'r')") +} + +// stateTr is the state after reading `tr`. +func stateTr(s *scanner, c byte) int { + if c == 'u' { + s.step = stateTru + return scanContinue + } + return s.error(c, "in literal true (expecting 'u')") +} + +// stateTru is the state after reading `tru`. +func stateTru(s *scanner, c byte) int { + if c == 'e' { + s.step = stateEndValue + return scanContinue + } + return s.error(c, "in literal true (expecting 'e')") +} + +// stateF is the state after reading `f`. +func stateF(s *scanner, c byte) int { + if c == 'a' { + s.step = stateFa + return scanContinue + } + return s.error(c, "in literal false (expecting 'a')") +} + +// stateFa is the state after reading `fa`. +func stateFa(s *scanner, c byte) int { + if c == 'l' { + s.step = stateFal + return scanContinue + } + return s.error(c, "in literal false (expecting 'l')") +} + +// stateFal is the state after reading `fal`. +func stateFal(s *scanner, c byte) int { + if c == 's' { + s.step = stateFals + return scanContinue + } + return s.error(c, "in literal false (expecting 's')") +} + +// stateFals is the state after reading `fals`. +func stateFals(s *scanner, c byte) int { + if c == 'e' { + s.step = stateEndValue + return scanContinue + } + return s.error(c, "in literal false (expecting 'e')") +} + +// stateN is the state after reading `n`. +func stateN(s *scanner, c byte) int { + if c == 'u' { + s.step = stateNu + return scanContinue + } + return s.error(c, "in literal null (expecting 'u')") +} + +// stateNu is the state after reading `nu`. +func stateNu(s *scanner, c byte) int { + if c == 'l' { + s.step = stateNul + return scanContinue + } + return s.error(c, "in literal null (expecting 'l')") +} + +// stateNul is the state after reading `nul`. +func stateNul(s *scanner, c byte) int { + if c == 'l' { + s.step = stateEndValue + return scanContinue + } + return s.error(c, "in literal null (expecting 'l')") +} + +// stateError is the state after reaching a syntax error, +// such as after reading `[1}` or `5.1.2`. +func stateError(s *scanner, c byte) int { + return scanError +} + +// error records an error and switches to the error state. +func (s *scanner) error(c byte, context string) int { + s.step = stateError + s.err = &SyntaxError{"invalid character " + quoteChar(c) + " " + context, s.bytes} + return scanError +} + +// quoteChar formats c as a quoted character literal +func quoteChar(c byte) string { + // special cases - different from quoted strings + if c == '\'' { + return `'\''` + } + if c == '"' { + return `'"'` + } + + // use quoted string with different quotation marks + s := strconv.Quote(string(c)) + return "'" + s[1:len(s)-1] + "'" +} + +// undo causes the scanner to return scanCode from the next state transition. +// This gives callers a simple 1-byte undo mechanism. +func (s *scanner) undo(scanCode int) { + if s.redo { + panic("json: invalid use of scanner") + } + s.redoCode = scanCode + s.redoState = s.step + s.step = stateRedo + s.redo = true +} + +// stateRedo helps implement the scanner's 1-byte undo. +func stateRedo(s *scanner, c byte) int { + s.redo = false + s.step = s.redoState + return s.redoCode +} diff --git a/vendor/gopkg.in/square/go-jose.v2/json/stream.go b/vendor/gopkg.in/square/go-jose.v2/json/stream.go new file mode 100644 index 000000000..8ddcf4d27 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/json/stream.go @@ -0,0 +1,480 @@ +// 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. + +package json + +import ( + "bytes" + "errors" + "io" +) + +// A Decoder reads and decodes JSON objects from an input stream. +type Decoder struct { + r io.Reader + buf []byte + d decodeState + scanp int // start of unread data in buf + scan scanner + err error + + tokenState int + tokenStack []int +} + +// NewDecoder returns a new decoder that reads from r. +// +// The decoder introduces its own buffering and may +// read data from r beyond the JSON values requested. +func NewDecoder(r io.Reader) *Decoder { + return &Decoder{r: r} +} + +// UseNumber causes the Decoder to unmarshal a number into an interface{} as a +// Number instead of as a float64. +func (dec *Decoder) UseNumber() { dec.d.useNumber = true } + +// Decode reads the next JSON-encoded value from its +// input and stores it in the value pointed to by v. +// +// See the documentation for Unmarshal for details about +// the conversion of JSON into a Go value. +func (dec *Decoder) Decode(v interface{}) error { + if dec.err != nil { + return dec.err + } + + if err := dec.tokenPrepareForDecode(); err != nil { + return err + } + + if !dec.tokenValueAllowed() { + return &SyntaxError{msg: "not at beginning of value"} + } + + // Read whole value into buffer. + n, err := dec.readValue() + if err != nil { + return err + } + dec.d.init(dec.buf[dec.scanp : dec.scanp+n]) + dec.scanp += n + + // Don't save err from unmarshal into dec.err: + // the connection is still usable since we read a complete JSON + // object from it before the error happened. + err = dec.d.unmarshal(v) + + // fixup token streaming state + dec.tokenValueEnd() + + return err +} + +// Buffered returns a reader of the data remaining in the Decoder's +// buffer. The reader is valid until the next call to Decode. +func (dec *Decoder) Buffered() io.Reader { + return bytes.NewReader(dec.buf[dec.scanp:]) +} + +// readValue reads a JSON value into dec.buf. +// It returns the length of the encoding. +func (dec *Decoder) readValue() (int, error) { + dec.scan.reset() + + scanp := dec.scanp + var err error +Input: + for { + // Look in the buffer for a new value. + for i, c := range dec.buf[scanp:] { + dec.scan.bytes++ + v := dec.scan.step(&dec.scan, c) + if v == scanEnd { + scanp += i + break Input + } + // scanEnd is delayed one byte. + // We might block trying to get that byte from src, + // so instead invent a space byte. + if (v == scanEndObject || v == scanEndArray) && dec.scan.step(&dec.scan, ' ') == scanEnd { + scanp += i + 1 + break Input + } + if v == scanError { + dec.err = dec.scan.err + return 0, dec.scan.err + } + } + scanp = len(dec.buf) + + // Did the last read have an error? + // Delayed until now to allow buffer scan. + if err != nil { + if err == io.EOF { + if dec.scan.step(&dec.scan, ' ') == scanEnd { + break Input + } + if nonSpace(dec.buf) { + err = io.ErrUnexpectedEOF + } + } + dec.err = err + return 0, err + } + + n := scanp - dec.scanp + err = dec.refill() + scanp = dec.scanp + n + } + return scanp - dec.scanp, nil +} + +func (dec *Decoder) refill() error { + // Make room to read more into the buffer. + // First slide down data already consumed. + if dec.scanp > 0 { + n := copy(dec.buf, dec.buf[dec.scanp:]) + dec.buf = dec.buf[:n] + dec.scanp = 0 + } + + // Grow buffer if not large enough. + const minRead = 512 + if cap(dec.buf)-len(dec.buf) < minRead { + newBuf := make([]byte, len(dec.buf), 2*cap(dec.buf)+minRead) + copy(newBuf, dec.buf) + dec.buf = newBuf + } + + // Read. Delay error for next iteration (after scan). + n, err := dec.r.Read(dec.buf[len(dec.buf):cap(dec.buf)]) + dec.buf = dec.buf[0 : len(dec.buf)+n] + + return err +} + +func nonSpace(b []byte) bool { + for _, c := range b { + if !isSpace(c) { + return true + } + } + return false +} + +// An Encoder writes JSON objects to an output stream. +type Encoder struct { + w io.Writer + err error +} + +// NewEncoder returns a new encoder that writes to w. +func NewEncoder(w io.Writer) *Encoder { + return &Encoder{w: w} +} + +// Encode writes the JSON encoding of v to the stream, +// followed by a newline character. +// +// See the documentation for Marshal for details about the +// conversion of Go values to JSON. +func (enc *Encoder) Encode(v interface{}) error { + if enc.err != nil { + return enc.err + } + e := newEncodeState() + err := e.marshal(v) + if err != nil { + return err + } + + // Terminate each value with a newline. + // This makes the output look a little nicer + // when debugging, and some kind of space + // is required if the encoded value was a number, + // so that the reader knows there aren't more + // digits coming. + e.WriteByte('\n') + + if _, err = enc.w.Write(e.Bytes()); err != nil { + enc.err = err + } + encodeStatePool.Put(e) + return err +} + +// RawMessage is a raw encoded JSON object. +// It implements Marshaler and Unmarshaler and can +// be used to delay JSON decoding or precompute a JSON encoding. +type RawMessage []byte + +// MarshalJSON returns *m as the JSON encoding of m. +func (m *RawMessage) MarshalJSON() ([]byte, error) { + return *m, nil +} + +// UnmarshalJSON sets *m to a copy of data. +func (m *RawMessage) UnmarshalJSON(data []byte) error { + if m == nil { + return errors.New("json.RawMessage: UnmarshalJSON on nil pointer") + } + *m = append((*m)[0:0], data...) + return nil +} + +var _ Marshaler = (*RawMessage)(nil) +var _ Unmarshaler = (*RawMessage)(nil) + +// A Token holds a value of one of these types: +// +// Delim, for the four JSON delimiters [ ] { } +// bool, for JSON booleans +// float64, for JSON numbers +// Number, for JSON numbers +// string, for JSON string literals +// nil, for JSON null +// +type Token interface{} + +const ( + tokenTopValue = iota + tokenArrayStart + tokenArrayValue + tokenArrayComma + tokenObjectStart + tokenObjectKey + tokenObjectColon + tokenObjectValue + tokenObjectComma +) + +// advance tokenstate from a separator state to a value state +func (dec *Decoder) tokenPrepareForDecode() error { + // Note: Not calling peek before switch, to avoid + // putting peek into the standard Decode path. + // peek is only called when using the Token API. + switch dec.tokenState { + case tokenArrayComma: + c, err := dec.peek() + if err != nil { + return err + } + if c != ',' { + return &SyntaxError{"expected comma after array element", 0} + } + dec.scanp++ + dec.tokenState = tokenArrayValue + case tokenObjectColon: + c, err := dec.peek() + if err != nil { + return err + } + if c != ':' { + return &SyntaxError{"expected colon after object key", 0} + } + dec.scanp++ + dec.tokenState = tokenObjectValue + } + return nil +} + +func (dec *Decoder) tokenValueAllowed() bool { + switch dec.tokenState { + case tokenTopValue, tokenArrayStart, tokenArrayValue, tokenObjectValue: + return true + } + return false +} + +func (dec *Decoder) tokenValueEnd() { + switch dec.tokenState { + case tokenArrayStart, tokenArrayValue: + dec.tokenState = tokenArrayComma + case tokenObjectValue: + dec.tokenState = tokenObjectComma + } +} + +// A Delim is a JSON array or object delimiter, one of [ ] { or }. +type Delim rune + +func (d Delim) String() string { + return string(d) +} + +// Token returns the next JSON token in the input stream. +// At the end of the input stream, Token returns nil, io.EOF. +// +// Token guarantees that the delimiters [ ] { } it returns are +// properly nested and matched: if Token encounters an unexpected +// delimiter in the input, it will return an error. +// +// The input stream consists of basic JSON values—bool, string, +// number, and null—along with delimiters [ ] { } of type Delim +// to mark the start and end of arrays and objects. +// Commas and colons are elided. +func (dec *Decoder) Token() (Token, error) { + for { + c, err := dec.peek() + if err != nil { + return nil, err + } + switch c { + case '[': + if !dec.tokenValueAllowed() { + return dec.tokenError(c) + } + dec.scanp++ + dec.tokenStack = append(dec.tokenStack, dec.tokenState) + dec.tokenState = tokenArrayStart + return Delim('['), nil + + case ']': + if dec.tokenState != tokenArrayStart && dec.tokenState != tokenArrayComma { + return dec.tokenError(c) + } + dec.scanp++ + dec.tokenState = dec.tokenStack[len(dec.tokenStack)-1] + dec.tokenStack = dec.tokenStack[:len(dec.tokenStack)-1] + dec.tokenValueEnd() + return Delim(']'), nil + + case '{': + if !dec.tokenValueAllowed() { + return dec.tokenError(c) + } + dec.scanp++ + dec.tokenStack = append(dec.tokenStack, dec.tokenState) + dec.tokenState = tokenObjectStart + return Delim('{'), nil + + case '}': + if dec.tokenState != tokenObjectStart && dec.tokenState != tokenObjectComma { + return dec.tokenError(c) + } + dec.scanp++ + dec.tokenState = dec.tokenStack[len(dec.tokenStack)-1] + dec.tokenStack = dec.tokenStack[:len(dec.tokenStack)-1] + dec.tokenValueEnd() + return Delim('}'), nil + + case ':': + if dec.tokenState != tokenObjectColon { + return dec.tokenError(c) + } + dec.scanp++ + dec.tokenState = tokenObjectValue + continue + + case ',': + if dec.tokenState == tokenArrayComma { + dec.scanp++ + dec.tokenState = tokenArrayValue + continue + } + if dec.tokenState == tokenObjectComma { + dec.scanp++ + dec.tokenState = tokenObjectKey + continue + } + return dec.tokenError(c) + + case '"': + if dec.tokenState == tokenObjectStart || dec.tokenState == tokenObjectKey { + var x string + old := dec.tokenState + dec.tokenState = tokenTopValue + err := dec.Decode(&x) + dec.tokenState = old + if err != nil { + clearOffset(err) + return nil, err + } + dec.tokenState = tokenObjectColon + return x, nil + } + fallthrough + + default: + if !dec.tokenValueAllowed() { + return dec.tokenError(c) + } + var x interface{} + if err := dec.Decode(&x); err != nil { + clearOffset(err) + return nil, err + } + return x, nil + } + } +} + +func clearOffset(err error) { + if s, ok := err.(*SyntaxError); ok { + s.Offset = 0 + } +} + +func (dec *Decoder) tokenError(c byte) (Token, error) { + var context string + switch dec.tokenState { + case tokenTopValue: + context = " looking for beginning of value" + case tokenArrayStart, tokenArrayValue, tokenObjectValue: + context = " looking for beginning of value" + case tokenArrayComma: + context = " after array element" + case tokenObjectKey: + context = " looking for beginning of object key string" + case tokenObjectColon: + context = " after object key" + case tokenObjectComma: + context = " after object key:value pair" + } + return nil, &SyntaxError{"invalid character " + quoteChar(c) + " " + context, 0} +} + +// More reports whether there is another element in the +// current array or object being parsed. +func (dec *Decoder) More() bool { + c, err := dec.peek() + return err == nil && c != ']' && c != '}' +} + +func (dec *Decoder) peek() (byte, error) { + var err error + for { + for i := dec.scanp; i < len(dec.buf); i++ { + c := dec.buf[i] + if isSpace(c) { + continue + } + dec.scanp = i + return c, nil + } + // buffer has been scanned, now report any error + if err != nil { + return 0, err + } + err = dec.refill() + } +} + +/* +TODO + +// EncodeToken writes the given JSON token to the stream. +// It returns an error if the delimiters [ ] { } are not properly used. +// +// EncodeToken does not call Flush, because usually it is part of +// a larger operation such as Encode, and those will call Flush when finished. +// Callers that create an Encoder and then invoke EncodeToken directly, +// without using Encode, need to call Flush when finished to ensure that +// the JSON is written to the underlying writer. +func (e *Encoder) EncodeToken(t Token) error { + ... +} + +*/ diff --git a/vendor/gopkg.in/square/go-jose.v2/json/tags.go b/vendor/gopkg.in/square/go-jose.v2/json/tags.go new file mode 100644 index 000000000..c38fd5102 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/json/tags.go @@ -0,0 +1,44 @@ +// 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 json + +import ( + "strings" +) + +// tagOptions is the string following a comma in a struct field's "json" +// tag, or the empty string. It does not include the leading comma. +type tagOptions string + +// parseTag splits a struct field's json tag into its name and +// comma-separated options. +func parseTag(tag string) (string, tagOptions) { + if idx := strings.Index(tag, ","); idx != -1 { + return tag[:idx], tagOptions(tag[idx+1:]) + } + return tag, tagOptions("") +} + +// Contains reports whether a comma-separated list of options +// contains a particular substr flag. substr must be surrounded by a +// string boundary or commas. +func (o tagOptions) Contains(optionName string) bool { + if len(o) == 0 { + return false + } + s := string(o) + for s != "" { + var next string + i := strings.Index(s, ",") + if i >= 0 { + s, next = s[:i], s[i+1:] + } + if s == optionName { + return true + } + s = next + } + return false +} diff --git a/vendor/gopkg.in/square/go-jose.v2/jwe.go b/vendor/gopkg.in/square/go-jose.v2/jwe.go new file mode 100644 index 000000000..b5a6dcdf4 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/jwe.go @@ -0,0 +1,294 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "encoding/base64" + "fmt" + "strings" + + "gopkg.in/square/go-jose.v2/json" +) + +// rawJSONWebEncryption represents a raw JWE JSON object. Used for parsing/serializing. +type rawJSONWebEncryption struct { + Protected *byteBuffer `json:"protected,omitempty"` + Unprotected *rawHeader `json:"unprotected,omitempty"` + Header *rawHeader `json:"header,omitempty"` + Recipients []rawRecipientInfo `json:"recipients,omitempty"` + Aad *byteBuffer `json:"aad,omitempty"` + EncryptedKey *byteBuffer `json:"encrypted_key,omitempty"` + Iv *byteBuffer `json:"iv,omitempty"` + Ciphertext *byteBuffer `json:"ciphertext,omitempty"` + Tag *byteBuffer `json:"tag,omitempty"` +} + +// rawRecipientInfo represents a raw JWE Per-Recipient header JSON object. Used for parsing/serializing. +type rawRecipientInfo struct { + Header *rawHeader `json:"header,omitempty"` + EncryptedKey string `json:"encrypted_key,omitempty"` +} + +// JSONWebEncryption represents an encrypted JWE object after parsing. +type JSONWebEncryption struct { + Header Header + protected, unprotected *rawHeader + recipients []recipientInfo + aad, iv, ciphertext, tag []byte + original *rawJSONWebEncryption +} + +// recipientInfo represents a raw JWE Per-Recipient header JSON object after parsing. +type recipientInfo struct { + header *rawHeader + encryptedKey []byte +} + +// GetAuthData retrieves the (optional) authenticated data attached to the object. +func (obj JSONWebEncryption) GetAuthData() []byte { + if obj.aad != nil { + out := make([]byte, len(obj.aad)) + copy(out, obj.aad) + return out + } + + return nil +} + +// Get the merged header values +func (obj JSONWebEncryption) mergedHeaders(recipient *recipientInfo) rawHeader { + out := rawHeader{} + out.merge(obj.protected) + out.merge(obj.unprotected) + + if recipient != nil { + out.merge(recipient.header) + } + + return out +} + +// Get the additional authenticated data from a JWE object. +func (obj JSONWebEncryption) computeAuthData() []byte { + var protected string + + if obj.original != nil && obj.original.Protected != nil { + protected = obj.original.Protected.base64() + } else if obj.protected != nil { + protected = base64.RawURLEncoding.EncodeToString(mustSerializeJSON((obj.protected))) + } else { + protected = "" + } + + output := []byte(protected) + if obj.aad != nil { + output = append(output, '.') + output = append(output, []byte(base64.RawURLEncoding.EncodeToString(obj.aad))...) + } + + return output +} + +// ParseEncrypted parses an encrypted message in compact or full serialization format. +func ParseEncrypted(input string) (*JSONWebEncryption, error) { + input = stripWhitespace(input) + if strings.HasPrefix(input, "{") { + return parseEncryptedFull(input) + } + + return parseEncryptedCompact(input) +} + +// parseEncryptedFull parses a message in compact format. +func parseEncryptedFull(input string) (*JSONWebEncryption, error) { + var parsed rawJSONWebEncryption + err := json.Unmarshal([]byte(input), &parsed) + if err != nil { + return nil, err + } + + return parsed.sanitized() +} + +// sanitized produces a cleaned-up JWE object from the raw JSON. +func (parsed *rawJSONWebEncryption) sanitized() (*JSONWebEncryption, error) { + obj := &JSONWebEncryption{ + original: parsed, + unprotected: parsed.Unprotected, + } + + // Check that there is not a nonce in the unprotected headers + if parsed.Unprotected != nil { + if nonce := parsed.Unprotected.getNonce(); nonce != "" { + return nil, ErrUnprotectedNonce + } + } + if parsed.Header != nil { + if nonce := parsed.Header.getNonce(); nonce != "" { + return nil, ErrUnprotectedNonce + } + } + + if parsed.Protected != nil && len(parsed.Protected.bytes()) > 0 { + err := json.Unmarshal(parsed.Protected.bytes(), &obj.protected) + if err != nil { + return nil, fmt.Errorf("square/go-jose: invalid protected header: %s, %s", err, parsed.Protected.base64()) + } + } + + // Note: this must be called _after_ we parse the protected header, + // otherwise fields from the protected header will not get picked up. + var err error + mergedHeaders := obj.mergedHeaders(nil) + obj.Header, err = mergedHeaders.sanitized() + if err != nil { + return nil, fmt.Errorf("square/go-jose: cannot sanitize merged headers: %v (%v)", err, mergedHeaders) + } + + if len(parsed.Recipients) == 0 { + obj.recipients = []recipientInfo{ + { + header: parsed.Header, + encryptedKey: parsed.EncryptedKey.bytes(), + }, + } + } else { + obj.recipients = make([]recipientInfo, len(parsed.Recipients)) + for r := range parsed.Recipients { + encryptedKey, err := base64.RawURLEncoding.DecodeString(parsed.Recipients[r].EncryptedKey) + if err != nil { + return nil, err + } + + // Check that there is not a nonce in the unprotected header + if parsed.Recipients[r].Header != nil && parsed.Recipients[r].Header.getNonce() != "" { + return nil, ErrUnprotectedNonce + } + + obj.recipients[r].header = parsed.Recipients[r].Header + obj.recipients[r].encryptedKey = encryptedKey + } + } + + for _, recipient := range obj.recipients { + headers := obj.mergedHeaders(&recipient) + if headers.getAlgorithm() == "" || headers.getEncryption() == "" { + return nil, fmt.Errorf("square/go-jose: message is missing alg/enc headers") + } + } + + obj.iv = parsed.Iv.bytes() + obj.ciphertext = parsed.Ciphertext.bytes() + obj.tag = parsed.Tag.bytes() + obj.aad = parsed.Aad.bytes() + + return obj, nil +} + +// parseEncryptedCompact parses a message in compact format. +func parseEncryptedCompact(input string) (*JSONWebEncryption, error) { + parts := strings.Split(input, ".") + if len(parts) != 5 { + return nil, fmt.Errorf("square/go-jose: compact JWE format must have five parts") + } + + rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0]) + if err != nil { + return nil, err + } + + encryptedKey, err := base64.RawURLEncoding.DecodeString(parts[1]) + if err != nil { + return nil, err + } + + iv, err := base64.RawURLEncoding.DecodeString(parts[2]) + if err != nil { + return nil, err + } + + ciphertext, err := base64.RawURLEncoding.DecodeString(parts[3]) + if err != nil { + return nil, err + } + + tag, err := base64.RawURLEncoding.DecodeString(parts[4]) + if err != nil { + return nil, err + } + + raw := &rawJSONWebEncryption{ + Protected: newBuffer(rawProtected), + EncryptedKey: newBuffer(encryptedKey), + Iv: newBuffer(iv), + Ciphertext: newBuffer(ciphertext), + Tag: newBuffer(tag), + } + + return raw.sanitized() +} + +// CompactSerialize serializes an object using the compact serialization format. +func (obj JSONWebEncryption) CompactSerialize() (string, error) { + if len(obj.recipients) != 1 || obj.unprotected != nil || + obj.protected == nil || obj.recipients[0].header != nil { + return "", ErrNotSupported + } + + serializedProtected := mustSerializeJSON(obj.protected) + + return fmt.Sprintf( + "%s.%s.%s.%s.%s", + base64.RawURLEncoding.EncodeToString(serializedProtected), + base64.RawURLEncoding.EncodeToString(obj.recipients[0].encryptedKey), + base64.RawURLEncoding.EncodeToString(obj.iv), + base64.RawURLEncoding.EncodeToString(obj.ciphertext), + base64.RawURLEncoding.EncodeToString(obj.tag)), nil +} + +// FullSerialize serializes an object using the full JSON serialization format. +func (obj JSONWebEncryption) FullSerialize() string { + raw := rawJSONWebEncryption{ + Unprotected: obj.unprotected, + Iv: newBuffer(obj.iv), + Ciphertext: newBuffer(obj.ciphertext), + EncryptedKey: newBuffer(obj.recipients[0].encryptedKey), + Tag: newBuffer(obj.tag), + Aad: newBuffer(obj.aad), + Recipients: []rawRecipientInfo{}, + } + + if len(obj.recipients) > 1 { + for _, recipient := range obj.recipients { + info := rawRecipientInfo{ + Header: recipient.header, + EncryptedKey: base64.RawURLEncoding.EncodeToString(recipient.encryptedKey), + } + raw.Recipients = append(raw.Recipients, info) + } + } else { + // Use flattened serialization + raw.Header = obj.recipients[0].header + raw.EncryptedKey = newBuffer(obj.recipients[0].encryptedKey) + } + + if obj.protected != nil { + raw.Protected = newBuffer(mustSerializeJSON(obj.protected)) + } + + return string(mustSerializeJSON(raw)) +} diff --git a/vendor/gopkg.in/square/go-jose.v2/jwk.go b/vendor/gopkg.in/square/go-jose.v2/jwk.go new file mode 100644 index 000000000..2dc6aec4b --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/jwk.go @@ -0,0 +1,760 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "bytes" + "crypto" + "crypto/ecdsa" + "crypto/elliptic" + "crypto/rsa" + "crypto/sha1" + "crypto/sha256" + "crypto/x509" + "encoding/base64" + "encoding/hex" + "errors" + "fmt" + "math/big" + "net/url" + "reflect" + "strings" + + "golang.org/x/crypto/ed25519" + + "gopkg.in/square/go-jose.v2/json" +) + +// rawJSONWebKey represents a public or private key in JWK format, used for parsing/serializing. +type rawJSONWebKey struct { + Use string `json:"use,omitempty"` + Kty string `json:"kty,omitempty"` + Kid string `json:"kid,omitempty"` + Crv string `json:"crv,omitempty"` + Alg string `json:"alg,omitempty"` + K *byteBuffer `json:"k,omitempty"` + X *byteBuffer `json:"x,omitempty"` + Y *byteBuffer `json:"y,omitempty"` + N *byteBuffer `json:"n,omitempty"` + E *byteBuffer `json:"e,omitempty"` + // -- Following fields are only used for private keys -- + // RSA uses D, P and Q, while ECDSA uses only D. Fields Dp, Dq, and Qi are + // completely optional. Therefore for RSA/ECDSA, D != nil is a contract that + // we have a private key whereas D == nil means we have only a public key. + D *byteBuffer `json:"d,omitempty"` + P *byteBuffer `json:"p,omitempty"` + Q *byteBuffer `json:"q,omitempty"` + Dp *byteBuffer `json:"dp,omitempty"` + Dq *byteBuffer `json:"dq,omitempty"` + Qi *byteBuffer `json:"qi,omitempty"` + // Certificates + X5c []string `json:"x5c,omitempty"` + X5u *url.URL `json:"x5u,omitempty"` + X5tSHA1 string `json:"x5t,omitempty"` + X5tSHA256 string `json:"x5t#S256,omitempty"` +} + +// JSONWebKey represents a public or private key in JWK format. +type JSONWebKey struct { + // Cryptographic key, can be a symmetric or asymmetric key. + Key interface{} + // Key identifier, parsed from `kid` header. + KeyID string + // Key algorithm, parsed from `alg` header. + Algorithm string + // Key use, parsed from `use` header. + Use string + + // X.509 certificate chain, parsed from `x5c` header. + Certificates []*x509.Certificate + // X.509 certificate URL, parsed from `x5u` header. + CertificatesURL *url.URL + // X.509 certificate thumbprint (SHA-1), parsed from `x5t` header. + CertificateThumbprintSHA1 []byte + // X.509 certificate thumbprint (SHA-256), parsed from `x5t#S256` header. + CertificateThumbprintSHA256 []byte +} + +// MarshalJSON serializes the given key to its JSON representation. +func (k JSONWebKey) MarshalJSON() ([]byte, error) { + var raw *rawJSONWebKey + var err error + + switch key := k.Key.(type) { + case ed25519.PublicKey: + raw = fromEdPublicKey(key) + case *ecdsa.PublicKey: + raw, err = fromEcPublicKey(key) + case *rsa.PublicKey: + raw = fromRsaPublicKey(key) + case ed25519.PrivateKey: + raw, err = fromEdPrivateKey(key) + case *ecdsa.PrivateKey: + raw, err = fromEcPrivateKey(key) + case *rsa.PrivateKey: + raw, err = fromRsaPrivateKey(key) + case []byte: + raw, err = fromSymmetricKey(key) + default: + return nil, fmt.Errorf("square/go-jose: unknown key type '%s'", reflect.TypeOf(key)) + } + + if err != nil { + return nil, err + } + + raw.Kid = k.KeyID + raw.Alg = k.Algorithm + raw.Use = k.Use + + for _, cert := range k.Certificates { + raw.X5c = append(raw.X5c, base64.StdEncoding.EncodeToString(cert.Raw)) + } + + x5tSHA1Len := len(k.CertificateThumbprintSHA1) + x5tSHA256Len := len(k.CertificateThumbprintSHA256) + if x5tSHA1Len > 0 { + if x5tSHA1Len != sha1.Size { + return nil, fmt.Errorf("square/go-jose: invalid SHA-1 thumbprint (must be %d bytes, not %d)", sha1.Size, x5tSHA1Len) + } + raw.X5tSHA1 = base64.RawURLEncoding.EncodeToString(k.CertificateThumbprintSHA1) + } + if x5tSHA256Len > 0 { + if x5tSHA256Len != sha256.Size { + return nil, fmt.Errorf("square/go-jose: invalid SHA-256 thumbprint (must be %d bytes, not %d)", sha256.Size, x5tSHA256Len) + } + raw.X5tSHA256 = base64.RawURLEncoding.EncodeToString(k.CertificateThumbprintSHA256) + } + + // If cert chain is attached (as opposed to being behind a URL), check the + // keys thumbprints to make sure they match what is expected. This is to + // ensure we don't accidentally produce a JWK with semantically inconsistent + // data in the headers. + if len(k.Certificates) > 0 { + expectedSHA1 := sha1.Sum(k.Certificates[0].Raw) + expectedSHA256 := sha256.Sum256(k.Certificates[0].Raw) + + if len(k.CertificateThumbprintSHA1) > 0 && !bytes.Equal(k.CertificateThumbprintSHA1, expectedSHA1[:]) { + return nil, errors.New("square/go-jose: invalid SHA-1 thumbprint, does not match cert chain") + } + if len(k.CertificateThumbprintSHA256) > 0 && !bytes.Equal(k.CertificateThumbprintSHA256, expectedSHA256[:]) { + return nil, errors.New("square/go-jose: invalid or SHA-256 thumbprint, does not match cert chain") + } + } + + raw.X5u = k.CertificatesURL + + return json.Marshal(raw) +} + +// UnmarshalJSON reads a key from its JSON representation. +func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { + var raw rawJSONWebKey + err = json.Unmarshal(data, &raw) + if err != nil { + return err + } + + certs, err := parseCertificateChain(raw.X5c) + if err != nil { + return fmt.Errorf("square/go-jose: failed to unmarshal x5c field: %s", err) + } + + var key interface{} + var certPub interface{} + var keyPub interface{} + + if len(certs) > 0 { + // We need to check that leaf public key matches the key embedded in this + // JWK, as required by the standard (see RFC 7517, Section 4.7). Otherwise + // the JWK parsed could be semantically invalid. Technically, should also + // check key usage fields and other extensions on the cert here, but the + // standard doesn't exactly explain how they're supposed to map from the + // JWK representation to the X.509 extensions. + certPub = certs[0].PublicKey + } + + switch raw.Kty { + case "EC": + if raw.D != nil { + key, err = raw.ecPrivateKey() + if err == nil { + keyPub = key.(*ecdsa.PrivateKey).Public() + } + } else { + key, err = raw.ecPublicKey() + keyPub = key + } + case "RSA": + if raw.D != nil { + key, err = raw.rsaPrivateKey() + if err == nil { + keyPub = key.(*rsa.PrivateKey).Public() + } + } else { + key, err = raw.rsaPublicKey() + keyPub = key + } + case "oct": + if certPub != nil { + return errors.New("square/go-jose: invalid JWK, found 'oct' (symmetric) key with cert chain") + } + key, err = raw.symmetricKey() + case "OKP": + if raw.Crv == "Ed25519" && raw.X != nil { + if raw.D != nil { + key, err = raw.edPrivateKey() + if err == nil { + keyPub = key.(ed25519.PrivateKey).Public() + } + } else { + key, err = raw.edPublicKey() + keyPub = key + } + } else { + err = fmt.Errorf("square/go-jose: unknown curve %s'", raw.Crv) + } + default: + err = fmt.Errorf("square/go-jose: unknown json web key type '%s'", raw.Kty) + } + + if err != nil { + return + } + + if certPub != nil && keyPub != nil { + if !reflect.DeepEqual(certPub, keyPub) { + return errors.New("square/go-jose: invalid JWK, public keys in key and x5c fields to not match") + } + } + + *k = JSONWebKey{Key: key, KeyID: raw.Kid, Algorithm: raw.Alg, Use: raw.Use, Certificates: certs} + + k.CertificatesURL = raw.X5u + + // x5t parameters are base64url-encoded SHA thumbprints + // See RFC 7517, Section 4.8, https://tools.ietf.org/html/rfc7517#section-4.8 + x5tSHA1bytes, err := base64.RawURLEncoding.DecodeString(raw.X5tSHA1) + if err != nil { + return errors.New("square/go-jose: invalid JWK, x5t header has invalid encoding") + } + + // RFC 7517, Section 4.8 is ambiguous as to whether the digest output should be byte or hex, + // for this reason, after base64 decoding, if the size is sha1.Size it's likely that the value is a byte encoded + // checksum so we skip this. Otherwise if the checksum was hex encoded we expect a 40 byte sized array so we'll + // try to hex decode it. When Marshalling this value we'll always use a base64 encoded version of byte format checksum. + if len(x5tSHA1bytes) == 2*sha1.Size { + hx, err := hex.DecodeString(string(x5tSHA1bytes)) + if err != nil { + return fmt.Errorf("square/go-jose: invalid JWK, unable to hex decode x5t: %v", err) + + } + x5tSHA1bytes = hx + } + + k.CertificateThumbprintSHA1 = x5tSHA1bytes + + x5tSHA256bytes, err := base64.RawURLEncoding.DecodeString(raw.X5tSHA256) + if err != nil { + return errors.New("square/go-jose: invalid JWK, x5t#S256 header has invalid encoding") + } + + if len(x5tSHA256bytes) == 2*sha256.Size { + hx256, err := hex.DecodeString(string(x5tSHA256bytes)) + if err != nil { + return fmt.Errorf("square/go-jose: invalid JWK, unable to hex decode x5t#S256: %v", err) + } + x5tSHA256bytes = hx256 + } + + k.CertificateThumbprintSHA256 = x5tSHA256bytes + + x5tSHA1Len := len(k.CertificateThumbprintSHA1) + x5tSHA256Len := len(k.CertificateThumbprintSHA256) + if x5tSHA1Len > 0 && x5tSHA1Len != sha1.Size { + return errors.New("square/go-jose: invalid JWK, x5t header is of incorrect size") + } + if x5tSHA256Len > 0 && x5tSHA256Len != sha256.Size { + return errors.New("square/go-jose: invalid JWK, x5t#S256 header is of incorrect size") + } + + // If certificate chain *and* thumbprints are set, verify correctness. + if len(k.Certificates) > 0 { + leaf := k.Certificates[0] + sha1sum := sha1.Sum(leaf.Raw) + sha256sum := sha256.Sum256(leaf.Raw) + + if len(k.CertificateThumbprintSHA1) > 0 && !bytes.Equal(sha1sum[:], k.CertificateThumbprintSHA1) { + return errors.New("square/go-jose: invalid JWK, x5c thumbprint does not match x5t value") + } + + if len(k.CertificateThumbprintSHA256) > 0 && !bytes.Equal(sha256sum[:], k.CertificateThumbprintSHA256) { + return errors.New("square/go-jose: invalid JWK, x5c thumbprint does not match x5t#S256 value") + } + } + + return +} + +// JSONWebKeySet represents a JWK Set object. +type JSONWebKeySet struct { + Keys []JSONWebKey `json:"keys"` +} + +// Key convenience method returns keys by key ID. Specification states +// that a JWK Set "SHOULD" use distinct key IDs, but allows for some +// cases where they are not distinct. Hence method returns a slice +// of JSONWebKeys. +func (s *JSONWebKeySet) Key(kid string) []JSONWebKey { + var keys []JSONWebKey + for _, key := range s.Keys { + if key.KeyID == kid { + keys = append(keys, key) + } + } + + return keys +} + +const rsaThumbprintTemplate = `{"e":"%s","kty":"RSA","n":"%s"}` +const ecThumbprintTemplate = `{"crv":"%s","kty":"EC","x":"%s","y":"%s"}` +const edThumbprintTemplate = `{"crv":"%s","kty":"OKP",x":"%s"}` + +func ecThumbprintInput(curve elliptic.Curve, x, y *big.Int) (string, error) { + coordLength := curveSize(curve) + crv, err := curveName(curve) + if err != nil { + return "", err + } + + if len(x.Bytes()) > coordLength || len(y.Bytes()) > coordLength { + return "", errors.New("square/go-jose: invalid elliptic key (too large)") + } + + return fmt.Sprintf(ecThumbprintTemplate, crv, + newFixedSizeBuffer(x.Bytes(), coordLength).base64(), + newFixedSizeBuffer(y.Bytes(), coordLength).base64()), nil +} + +func rsaThumbprintInput(n *big.Int, e int) (string, error) { + return fmt.Sprintf(rsaThumbprintTemplate, + newBufferFromInt(uint64(e)).base64(), + newBuffer(n.Bytes()).base64()), nil +} + +func edThumbprintInput(ed ed25519.PublicKey) (string, error) { + crv := "Ed25519" + if len(ed) > 32 { + return "", errors.New("square/go-jose: invalid elliptic key (too large)") + } + return fmt.Sprintf(edThumbprintTemplate, crv, + newFixedSizeBuffer(ed, 32).base64()), nil +} + +// Thumbprint computes the JWK Thumbprint of a key using the +// indicated hash algorithm. +func (k *JSONWebKey) Thumbprint(hash crypto.Hash) ([]byte, error) { + var input string + var err error + switch key := k.Key.(type) { + case ed25519.PublicKey: + input, err = edThumbprintInput(key) + case *ecdsa.PublicKey: + input, err = ecThumbprintInput(key.Curve, key.X, key.Y) + case *ecdsa.PrivateKey: + input, err = ecThumbprintInput(key.Curve, key.X, key.Y) + case *rsa.PublicKey: + input, err = rsaThumbprintInput(key.N, key.E) + case *rsa.PrivateKey: + input, err = rsaThumbprintInput(key.N, key.E) + case ed25519.PrivateKey: + input, err = edThumbprintInput(ed25519.PublicKey(key[32:])) + default: + return nil, fmt.Errorf("square/go-jose: unknown key type '%s'", reflect.TypeOf(key)) + } + + if err != nil { + return nil, err + } + + h := hash.New() + h.Write([]byte(input)) + return h.Sum(nil), nil +} + +// IsPublic returns true if the JWK represents a public key (not symmetric, not private). +func (k *JSONWebKey) IsPublic() bool { + switch k.Key.(type) { + case *ecdsa.PublicKey, *rsa.PublicKey, ed25519.PublicKey: + return true + default: + return false + } +} + +// Public creates JSONWebKey with corresponding publik key if JWK represents asymmetric private key. +func (k *JSONWebKey) Public() JSONWebKey { + if k.IsPublic() { + return *k + } + ret := *k + switch key := k.Key.(type) { + case *ecdsa.PrivateKey: + ret.Key = key.Public() + case *rsa.PrivateKey: + ret.Key = key.Public() + case ed25519.PrivateKey: + ret.Key = key.Public() + default: + return JSONWebKey{} // returning invalid key + } + return ret +} + +// Valid checks that the key contains the expected parameters. +func (k *JSONWebKey) Valid() bool { + if k.Key == nil { + return false + } + switch key := k.Key.(type) { + case *ecdsa.PublicKey: + if key.Curve == nil || key.X == nil || key.Y == nil { + return false + } + case *ecdsa.PrivateKey: + if key.Curve == nil || key.X == nil || key.Y == nil || key.D == nil { + return false + } + case *rsa.PublicKey: + if key.N == nil || key.E == 0 { + return false + } + case *rsa.PrivateKey: + if key.N == nil || key.E == 0 || key.D == nil || len(key.Primes) < 2 { + return false + } + case ed25519.PublicKey: + if len(key) != 32 { + return false + } + case ed25519.PrivateKey: + if len(key) != 64 { + return false + } + default: + return false + } + return true +} + +func (key rawJSONWebKey) rsaPublicKey() (*rsa.PublicKey, error) { + if key.N == nil || key.E == nil { + return nil, fmt.Errorf("square/go-jose: invalid RSA key, missing n/e values") + } + + return &rsa.PublicKey{ + N: key.N.bigInt(), + E: key.E.toInt(), + }, nil +} + +func fromEdPublicKey(pub ed25519.PublicKey) *rawJSONWebKey { + return &rawJSONWebKey{ + Kty: "OKP", + Crv: "Ed25519", + X: newBuffer(pub), + } +} + +func fromRsaPublicKey(pub *rsa.PublicKey) *rawJSONWebKey { + return &rawJSONWebKey{ + Kty: "RSA", + N: newBuffer(pub.N.Bytes()), + E: newBufferFromInt(uint64(pub.E)), + } +} + +func (key rawJSONWebKey) ecPublicKey() (*ecdsa.PublicKey, error) { + var curve elliptic.Curve + switch key.Crv { + case "P-256": + curve = elliptic.P256() + case "P-384": + curve = elliptic.P384() + case "P-521": + curve = elliptic.P521() + default: + return nil, fmt.Errorf("square/go-jose: unsupported elliptic curve '%s'", key.Crv) + } + + if key.X == nil || key.Y == nil { + return nil, errors.New("square/go-jose: invalid EC key, missing x/y values") + } + + // The length of this octet string MUST be the full size of a coordinate for + // the curve specified in the "crv" parameter. + // https://tools.ietf.org/html/rfc7518#section-6.2.1.2 + if curveSize(curve) != len(key.X.data) { + return nil, fmt.Errorf("square/go-jose: invalid EC public key, wrong length for x") + } + + if curveSize(curve) != len(key.Y.data) { + return nil, fmt.Errorf("square/go-jose: invalid EC public key, wrong length for y") + } + + x := key.X.bigInt() + y := key.Y.bigInt() + + if !curve.IsOnCurve(x, y) { + return nil, errors.New("square/go-jose: invalid EC key, X/Y are not on declared curve") + } + + return &ecdsa.PublicKey{ + Curve: curve, + X: x, + Y: y, + }, nil +} + +func fromEcPublicKey(pub *ecdsa.PublicKey) (*rawJSONWebKey, error) { + if pub == nil || pub.X == nil || pub.Y == nil { + return nil, fmt.Errorf("square/go-jose: invalid EC key (nil, or X/Y missing)") + } + + name, err := curveName(pub.Curve) + if err != nil { + return nil, err + } + + size := curveSize(pub.Curve) + + xBytes := pub.X.Bytes() + yBytes := pub.Y.Bytes() + + if len(xBytes) > size || len(yBytes) > size { + return nil, fmt.Errorf("square/go-jose: invalid EC key (X/Y too large)") + } + + key := &rawJSONWebKey{ + Kty: "EC", + Crv: name, + X: newFixedSizeBuffer(xBytes, size), + Y: newFixedSizeBuffer(yBytes, size), + } + + return key, nil +} + +func (key rawJSONWebKey) edPrivateKey() (ed25519.PrivateKey, error) { + var missing []string + switch { + case key.D == nil: + missing = append(missing, "D") + case key.X == nil: + missing = append(missing, "X") + } + + if len(missing) > 0 { + return nil, fmt.Errorf("square/go-jose: invalid Ed25519 private key, missing %s value(s)", strings.Join(missing, ", ")) + } + + privateKey := make([]byte, ed25519.PrivateKeySize) + copy(privateKey[0:32], key.D.bytes()) + copy(privateKey[32:], key.X.bytes()) + rv := ed25519.PrivateKey(privateKey) + return rv, nil +} + +func (key rawJSONWebKey) edPublicKey() (ed25519.PublicKey, error) { + if key.X == nil { + return nil, fmt.Errorf("square/go-jose: invalid Ed key, missing x value") + } + publicKey := make([]byte, ed25519.PublicKeySize) + copy(publicKey[0:32], key.X.bytes()) + rv := ed25519.PublicKey(publicKey) + return rv, nil +} + +func (key rawJSONWebKey) rsaPrivateKey() (*rsa.PrivateKey, error) { + var missing []string + switch { + case key.N == nil: + missing = append(missing, "N") + case key.E == nil: + missing = append(missing, "E") + case key.D == nil: + missing = append(missing, "D") + case key.P == nil: + missing = append(missing, "P") + case key.Q == nil: + missing = append(missing, "Q") + } + + if len(missing) > 0 { + return nil, fmt.Errorf("square/go-jose: invalid RSA private key, missing %s value(s)", strings.Join(missing, ", ")) + } + + rv := &rsa.PrivateKey{ + PublicKey: rsa.PublicKey{ + N: key.N.bigInt(), + E: key.E.toInt(), + }, + D: key.D.bigInt(), + Primes: []*big.Int{ + key.P.bigInt(), + key.Q.bigInt(), + }, + } + + if key.Dp != nil { + rv.Precomputed.Dp = key.Dp.bigInt() + } + if key.Dq != nil { + rv.Precomputed.Dq = key.Dq.bigInt() + } + if key.Qi != nil { + rv.Precomputed.Qinv = key.Qi.bigInt() + } + + err := rv.Validate() + return rv, err +} + +func fromEdPrivateKey(ed ed25519.PrivateKey) (*rawJSONWebKey, error) { + raw := fromEdPublicKey(ed25519.PublicKey(ed[32:])) + + raw.D = newBuffer(ed[0:32]) + return raw, nil +} + +func fromRsaPrivateKey(rsa *rsa.PrivateKey) (*rawJSONWebKey, error) { + if len(rsa.Primes) != 2 { + return nil, ErrUnsupportedKeyType + } + + raw := fromRsaPublicKey(&rsa.PublicKey) + + raw.D = newBuffer(rsa.D.Bytes()) + raw.P = newBuffer(rsa.Primes[0].Bytes()) + raw.Q = newBuffer(rsa.Primes[1].Bytes()) + + if rsa.Precomputed.Dp != nil { + raw.Dp = newBuffer(rsa.Precomputed.Dp.Bytes()) + } + if rsa.Precomputed.Dq != nil { + raw.Dq = newBuffer(rsa.Precomputed.Dq.Bytes()) + } + if rsa.Precomputed.Qinv != nil { + raw.Qi = newBuffer(rsa.Precomputed.Qinv.Bytes()) + } + + return raw, nil +} + +func (key rawJSONWebKey) ecPrivateKey() (*ecdsa.PrivateKey, error) { + var curve elliptic.Curve + switch key.Crv { + case "P-256": + curve = elliptic.P256() + case "P-384": + curve = elliptic.P384() + case "P-521": + curve = elliptic.P521() + default: + return nil, fmt.Errorf("square/go-jose: unsupported elliptic curve '%s'", key.Crv) + } + + if key.X == nil || key.Y == nil || key.D == nil { + return nil, fmt.Errorf("square/go-jose: invalid EC private key, missing x/y/d values") + } + + // The length of this octet string MUST be the full size of a coordinate for + // the curve specified in the "crv" parameter. + // https://tools.ietf.org/html/rfc7518#section-6.2.1.2 + if curveSize(curve) != len(key.X.data) { + return nil, fmt.Errorf("square/go-jose: invalid EC private key, wrong length for x") + } + + if curveSize(curve) != len(key.Y.data) { + return nil, fmt.Errorf("square/go-jose: invalid EC private key, wrong length for y") + } + + // https://tools.ietf.org/html/rfc7518#section-6.2.2.1 + if dSize(curve) != len(key.D.data) { + return nil, fmt.Errorf("square/go-jose: invalid EC private key, wrong length for d") + } + + x := key.X.bigInt() + y := key.Y.bigInt() + + if !curve.IsOnCurve(x, y) { + return nil, errors.New("square/go-jose: invalid EC key, X/Y are not on declared curve") + } + + return &ecdsa.PrivateKey{ + PublicKey: ecdsa.PublicKey{ + Curve: curve, + X: x, + Y: y, + }, + D: key.D.bigInt(), + }, nil +} + +func fromEcPrivateKey(ec *ecdsa.PrivateKey) (*rawJSONWebKey, error) { + raw, err := fromEcPublicKey(&ec.PublicKey) + if err != nil { + return nil, err + } + + if ec.D == nil { + return nil, fmt.Errorf("square/go-jose: invalid EC private key") + } + + raw.D = newFixedSizeBuffer(ec.D.Bytes(), dSize(ec.PublicKey.Curve)) + + return raw, nil +} + +// dSize returns the size in octets for the "d" member of an elliptic curve +// private key. +// The length of this octet string MUST be ceiling(log-base-2(n)/8) +// octets (where n is the order of the curve). +// https://tools.ietf.org/html/rfc7518#section-6.2.2.1 +func dSize(curve elliptic.Curve) int { + order := curve.Params().P + bitLen := order.BitLen() + size := bitLen / 8 + if bitLen%8 != 0 { + size = size + 1 + } + return size +} + +func fromSymmetricKey(key []byte) (*rawJSONWebKey, error) { + return &rawJSONWebKey{ + Kty: "oct", + K: newBuffer(key), + }, nil +} + +func (key rawJSONWebKey) symmetricKey() ([]byte, error) { + if key.K == nil { + return nil, fmt.Errorf("square/go-jose: invalid OCT (symmetric) key, missing k value") + } + return key.K.bytes(), nil +} diff --git a/vendor/gopkg.in/square/go-jose.v2/jws.go b/vendor/gopkg.in/square/go-jose.v2/jws.go new file mode 100644 index 000000000..7e261f937 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/jws.go @@ -0,0 +1,366 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "bytes" + "encoding/base64" + "errors" + "fmt" + "strings" + + "gopkg.in/square/go-jose.v2/json" +) + +// rawJSONWebSignature represents a raw JWS JSON object. Used for parsing/serializing. +type rawJSONWebSignature struct { + Payload *byteBuffer `json:"payload,omitempty"` + Signatures []rawSignatureInfo `json:"signatures,omitempty"` + Protected *byteBuffer `json:"protected,omitempty"` + Header *rawHeader `json:"header,omitempty"` + Signature *byteBuffer `json:"signature,omitempty"` +} + +// rawSignatureInfo represents a single JWS signature over the JWS payload and protected header. +type rawSignatureInfo struct { + Protected *byteBuffer `json:"protected,omitempty"` + Header *rawHeader `json:"header,omitempty"` + Signature *byteBuffer `json:"signature,omitempty"` +} + +// JSONWebSignature represents a signed JWS object after parsing. +type JSONWebSignature struct { + payload []byte + // Signatures attached to this object (may be more than one for multi-sig). + // Be careful about accessing these directly, prefer to use Verify() or + // VerifyMulti() to ensure that the data you're getting is verified. + Signatures []Signature +} + +// Signature represents a single signature over the JWS payload and protected header. +type Signature struct { + // Merged header fields. Contains both protected and unprotected header + // values. Prefer using Protected and Unprotected fields instead of this. + // Values in this header may or may not have been signed and in general + // should not be trusted. + Header Header + + // Protected header. Values in this header were signed and + // will be verified as part of the signature verification process. + Protected Header + + // Unprotected header. Values in this header were not signed + // and in general should not be trusted. + Unprotected Header + + // The actual signature value + Signature []byte + + protected *rawHeader + header *rawHeader + original *rawSignatureInfo +} + +// ParseSigned parses a signed message in compact or full serialization format. +func ParseSigned(signature string) (*JSONWebSignature, error) { + signature = stripWhitespace(signature) + if strings.HasPrefix(signature, "{") { + return parseSignedFull(signature) + } + + return parseSignedCompact(signature, nil) +} + +// ParseDetached parses a signed message in compact serialization format with detached payload. +func ParseDetached(signature string, payload []byte) (*JSONWebSignature, error) { + if payload == nil { + return nil, errors.New("square/go-jose: nil payload") + } + return parseSignedCompact(stripWhitespace(signature), payload) +} + +// Get a header value +func (sig Signature) mergedHeaders() rawHeader { + out := rawHeader{} + out.merge(sig.protected) + out.merge(sig.header) + return out +} + +// Compute data to be signed +func (obj JSONWebSignature) computeAuthData(payload []byte, signature *Signature) ([]byte, error) { + var authData bytes.Buffer + + protectedHeader := new(rawHeader) + + if signature.original != nil && signature.original.Protected != nil { + if err := json.Unmarshal(signature.original.Protected.bytes(), protectedHeader); err != nil { + return nil, err + } + authData.WriteString(signature.original.Protected.base64()) + } else if signature.protected != nil { + protectedHeader = signature.protected + authData.WriteString(base64.RawURLEncoding.EncodeToString(mustSerializeJSON(protectedHeader))) + } + + needsBase64 := true + + if protectedHeader != nil { + var err error + if needsBase64, err = protectedHeader.getB64(); err != nil { + needsBase64 = true + } + } + + authData.WriteByte('.') + + if needsBase64 { + authData.WriteString(base64.RawURLEncoding.EncodeToString(payload)) + } else { + authData.Write(payload) + } + + return authData.Bytes(), nil +} + +// parseSignedFull parses a message in full format. +func parseSignedFull(input string) (*JSONWebSignature, error) { + var parsed rawJSONWebSignature + err := json.Unmarshal([]byte(input), &parsed) + if err != nil { + return nil, err + } + + return parsed.sanitized() +} + +// sanitized produces a cleaned-up JWS object from the raw JSON. +func (parsed *rawJSONWebSignature) sanitized() (*JSONWebSignature, error) { + if parsed.Payload == nil { + return nil, fmt.Errorf("square/go-jose: missing payload in JWS message") + } + + obj := &JSONWebSignature{ + payload: parsed.Payload.bytes(), + Signatures: make([]Signature, len(parsed.Signatures)), + } + + if len(parsed.Signatures) == 0 { + // No signatures array, must be flattened serialization + signature := Signature{} + if parsed.Protected != nil && len(parsed.Protected.bytes()) > 0 { + signature.protected = &rawHeader{} + err := json.Unmarshal(parsed.Protected.bytes(), signature.protected) + if err != nil { + return nil, err + } + } + + // Check that there is not a nonce in the unprotected header + if parsed.Header != nil && parsed.Header.getNonce() != "" { + return nil, ErrUnprotectedNonce + } + + signature.header = parsed.Header + signature.Signature = parsed.Signature.bytes() + // Make a fake "original" rawSignatureInfo to store the unprocessed + // Protected header. This is necessary because the Protected header can + // contain arbitrary fields not registered as part of the spec. See + // https://tools.ietf.org/html/draft-ietf-jose-json-web-signature-41#section-4 + // If we unmarshal Protected into a rawHeader with its explicit list of fields, + // we cannot marshal losslessly. So we have to keep around the original bytes. + // This is used in computeAuthData, which will first attempt to use + // the original bytes of a protected header, and fall back on marshaling the + // header struct only if those bytes are not available. + signature.original = &rawSignatureInfo{ + Protected: parsed.Protected, + Header: parsed.Header, + Signature: parsed.Signature, + } + + var err error + signature.Header, err = signature.mergedHeaders().sanitized() + if err != nil { + return nil, err + } + + if signature.header != nil { + signature.Unprotected, err = signature.header.sanitized() + if err != nil { + return nil, err + } + } + + if signature.protected != nil { + signature.Protected, err = signature.protected.sanitized() + if err != nil { + return nil, err + } + } + + // As per RFC 7515 Section 4.1.3, only public keys are allowed to be embedded. + jwk := signature.Header.JSONWebKey + if jwk != nil && (!jwk.Valid() || !jwk.IsPublic()) { + return nil, errors.New("square/go-jose: invalid embedded jwk, must be public key") + } + + obj.Signatures = append(obj.Signatures, signature) + } + + for i, sig := range parsed.Signatures { + if sig.Protected != nil && len(sig.Protected.bytes()) > 0 { + obj.Signatures[i].protected = &rawHeader{} + err := json.Unmarshal(sig.Protected.bytes(), obj.Signatures[i].protected) + if err != nil { + return nil, err + } + } + + // Check that there is not a nonce in the unprotected header + if sig.Header != nil && sig.Header.getNonce() != "" { + return nil, ErrUnprotectedNonce + } + + var err error + obj.Signatures[i].Header, err = obj.Signatures[i].mergedHeaders().sanitized() + if err != nil { + return nil, err + } + + if obj.Signatures[i].header != nil { + obj.Signatures[i].Unprotected, err = obj.Signatures[i].header.sanitized() + if err != nil { + return nil, err + } + } + + if obj.Signatures[i].protected != nil { + obj.Signatures[i].Protected, err = obj.Signatures[i].protected.sanitized() + if err != nil { + return nil, err + } + } + + obj.Signatures[i].Signature = sig.Signature.bytes() + + // As per RFC 7515 Section 4.1.3, only public keys are allowed to be embedded. + jwk := obj.Signatures[i].Header.JSONWebKey + if jwk != nil && (!jwk.Valid() || !jwk.IsPublic()) { + return nil, errors.New("square/go-jose: invalid embedded jwk, must be public key") + } + + // Copy value of sig + original := sig + + obj.Signatures[i].header = sig.Header + obj.Signatures[i].original = &original + } + + return obj, nil +} + +// parseSignedCompact parses a message in compact format. +func parseSignedCompact(input string, payload []byte) (*JSONWebSignature, error) { + parts := strings.Split(input, ".") + if len(parts) != 3 { + return nil, fmt.Errorf("square/go-jose: compact JWS format must have three parts") + } + + if parts[1] != "" && payload != nil { + return nil, fmt.Errorf("square/go-jose: payload is not detached") + } + + rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0]) + if err != nil { + return nil, err + } + + if payload == nil { + payload, err = base64.RawURLEncoding.DecodeString(parts[1]) + if err != nil { + return nil, err + } + } + + signature, err := base64.RawURLEncoding.DecodeString(parts[2]) + if err != nil { + return nil, err + } + + raw := &rawJSONWebSignature{ + Payload: newBuffer(payload), + Protected: newBuffer(rawProtected), + Signature: newBuffer(signature), + } + return raw.sanitized() +} + +func (obj JSONWebSignature) compactSerialize(detached bool) (string, error) { + if len(obj.Signatures) != 1 || obj.Signatures[0].header != nil || obj.Signatures[0].protected == nil { + return "", ErrNotSupported + } + + serializedProtected := base64.RawURLEncoding.EncodeToString(mustSerializeJSON(obj.Signatures[0].protected)) + payload := "" + signature := base64.RawURLEncoding.EncodeToString(obj.Signatures[0].Signature) + + if !detached { + payload = base64.RawURLEncoding.EncodeToString(obj.payload) + } + + return fmt.Sprintf("%s.%s.%s", serializedProtected, payload, signature), nil +} + +// CompactSerialize serializes an object using the compact serialization format. +func (obj JSONWebSignature) CompactSerialize() (string, error) { + return obj.compactSerialize(false) +} + +// DetachedCompactSerialize serializes an object using the compact serialization format with detached payload. +func (obj JSONWebSignature) DetachedCompactSerialize() (string, error) { + return obj.compactSerialize(true) +} + +// FullSerialize serializes an object using the full JSON serialization format. +func (obj JSONWebSignature) FullSerialize() string { + raw := rawJSONWebSignature{ + Payload: newBuffer(obj.payload), + } + + if len(obj.Signatures) == 1 { + if obj.Signatures[0].protected != nil { + serializedProtected := mustSerializeJSON(obj.Signatures[0].protected) + raw.Protected = newBuffer(serializedProtected) + } + raw.Header = obj.Signatures[0].header + raw.Signature = newBuffer(obj.Signatures[0].Signature) + } else { + raw.Signatures = make([]rawSignatureInfo, len(obj.Signatures)) + for i, signature := range obj.Signatures { + raw.Signatures[i] = rawSignatureInfo{ + Header: signature.header, + Signature: newBuffer(signature.Signature), + } + + if signature.protected != nil { + raw.Signatures[i].Protected = newBuffer(mustSerializeJSON(signature.protected)) + } + } + } + + return string(mustSerializeJSON(raw)) +} diff --git a/vendor/gopkg.in/square/go-jose.v2/opaque.go b/vendor/gopkg.in/square/go-jose.v2/opaque.go new file mode 100644 index 000000000..df747f992 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/opaque.go @@ -0,0 +1,144 @@ +/*- + * Copyright 2018 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +// OpaqueSigner is an interface that supports signing payloads with opaque +// private key(s). Private key operations preformed by implementors may, for +// example, occur in a hardware module. An OpaqueSigner may rotate signing keys +// transparently to the user of this interface. +type OpaqueSigner interface { + // Public returns the public key of the current signing key. + Public() *JSONWebKey + // Algs returns a list of supported signing algorithms. + Algs() []SignatureAlgorithm + // SignPayload signs a payload with the current signing key using the given + // algorithm. + SignPayload(payload []byte, alg SignatureAlgorithm) ([]byte, error) +} + +type opaqueSigner struct { + signer OpaqueSigner +} + +func newOpaqueSigner(alg SignatureAlgorithm, signer OpaqueSigner) (recipientSigInfo, error) { + var algSupported bool + for _, salg := range signer.Algs() { + if alg == salg { + algSupported = true + break + } + } + if !algSupported { + return recipientSigInfo{}, ErrUnsupportedAlgorithm + } + + return recipientSigInfo{ + sigAlg: alg, + publicKey: signer.Public, + signer: &opaqueSigner{ + signer: signer, + }, + }, nil +} + +func (o *opaqueSigner) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { + out, err := o.signer.SignPayload(payload, alg) + if err != nil { + return Signature{}, err + } + + return Signature{ + Signature: out, + protected: &rawHeader{}, + }, nil +} + +// OpaqueVerifier is an interface that supports verifying payloads with opaque +// public key(s). An OpaqueSigner may rotate signing keys transparently to the +// user of this interface. +type OpaqueVerifier interface { + VerifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error +} + +type opaqueVerifier struct { + verifier OpaqueVerifier +} + +func (o *opaqueVerifier) verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error { + return o.verifier.VerifyPayload(payload, signature, alg) +} + +// OpaqueKeyEncrypter is an interface that supports encrypting keys with an opaque key. +type OpaqueKeyEncrypter interface { + // KeyID returns the kid + KeyID() string + // Algs returns a list of supported key encryption algorithms. + Algs() []KeyAlgorithm + // encryptKey encrypts the CEK using the given algorithm. + encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) +} + +type opaqueKeyEncrypter struct { + encrypter OpaqueKeyEncrypter +} + +func newOpaqueKeyEncrypter(alg KeyAlgorithm, encrypter OpaqueKeyEncrypter) (recipientKeyInfo, error) { + var algSupported bool + for _, salg := range encrypter.Algs() { + if alg == salg { + algSupported = true + break + } + } + if !algSupported { + return recipientKeyInfo{}, ErrUnsupportedAlgorithm + } + + return recipientKeyInfo{ + keyID: encrypter.KeyID(), + keyAlg: alg, + keyEncrypter: &opaqueKeyEncrypter{ + encrypter: encrypter, + }, + }, nil +} + +func (oke *opaqueKeyEncrypter) encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) { + return oke.encrypter.encryptKey(cek, alg) +} + +//OpaqueKeyDecrypter is an interface that supports decrypting keys with an opaque key. +type OpaqueKeyDecrypter interface { + DecryptKey(encryptedKey []byte, header Header) ([]byte, error) +} + +type opaqueKeyDecrypter struct { + decrypter OpaqueKeyDecrypter +} + +func (okd *opaqueKeyDecrypter) decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) { + mergedHeaders := rawHeader{} + mergedHeaders.merge(&headers) + mergedHeaders.merge(recipient.header) + + header, err := mergedHeaders.sanitized() + if err != nil { + return nil, err + } + + return okd.decrypter.DecryptKey(recipient.encryptedKey, header) +} diff --git a/vendor/gopkg.in/square/go-jose.v2/shared.go b/vendor/gopkg.in/square/go-jose.v2/shared.go new file mode 100644 index 000000000..f8438641f --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/shared.go @@ -0,0 +1,520 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "crypto/elliptic" + "crypto/x509" + "encoding/base64" + "errors" + "fmt" + + "gopkg.in/square/go-jose.v2/json" +) + +// KeyAlgorithm represents a key management algorithm. +type KeyAlgorithm string + +// SignatureAlgorithm represents a signature (or MAC) algorithm. +type SignatureAlgorithm string + +// ContentEncryption represents a content encryption algorithm. +type ContentEncryption string + +// CompressionAlgorithm represents an algorithm used for plaintext compression. +type CompressionAlgorithm string + +// ContentType represents type of the contained data. +type ContentType string + +var ( + // ErrCryptoFailure represents an error in cryptographic primitive. This + // occurs when, for example, a message had an invalid authentication tag or + // could not be decrypted. + ErrCryptoFailure = errors.New("square/go-jose: error in cryptographic primitive") + + // ErrUnsupportedAlgorithm indicates that a selected algorithm is not + // supported. This occurs when trying to instantiate an encrypter for an + // algorithm that is not yet implemented. + ErrUnsupportedAlgorithm = errors.New("square/go-jose: unknown/unsupported algorithm") + + // ErrUnsupportedKeyType indicates that the given key type/format is not + // supported. This occurs when trying to instantiate an encrypter and passing + // it a key of an unrecognized type or with unsupported parameters, such as + // an RSA private key with more than two primes. + ErrUnsupportedKeyType = errors.New("square/go-jose: unsupported key type/format") + + // ErrInvalidKeySize indicates that the given key is not the correct size + // for the selected algorithm. This can occur, for example, when trying to + // encrypt with AES-256 but passing only a 128-bit key as input. + ErrInvalidKeySize = errors.New("square/go-jose: invalid key size for algorithm") + + // ErrNotSupported serialization of object is not supported. This occurs when + // trying to compact-serialize an object which can't be represented in + // compact form. + ErrNotSupported = errors.New("square/go-jose: compact serialization not supported for object") + + // ErrUnprotectedNonce indicates that while parsing a JWS or JWE object, a + // nonce header parameter was included in an unprotected header object. + ErrUnprotectedNonce = errors.New("square/go-jose: Nonce parameter included in unprotected header") +) + +// Key management algorithms +const ( + ED25519 = KeyAlgorithm("ED25519") + RSA1_5 = KeyAlgorithm("RSA1_5") // RSA-PKCS1v1.5 + RSA_OAEP = KeyAlgorithm("RSA-OAEP") // RSA-OAEP-SHA1 + RSA_OAEP_256 = KeyAlgorithm("RSA-OAEP-256") // RSA-OAEP-SHA256 + A128KW = KeyAlgorithm("A128KW") // AES key wrap (128) + A192KW = KeyAlgorithm("A192KW") // AES key wrap (192) + A256KW = KeyAlgorithm("A256KW") // AES key wrap (256) + DIRECT = KeyAlgorithm("dir") // Direct encryption + ECDH_ES = KeyAlgorithm("ECDH-ES") // ECDH-ES + ECDH_ES_A128KW = KeyAlgorithm("ECDH-ES+A128KW") // ECDH-ES + AES key wrap (128) + ECDH_ES_A192KW = KeyAlgorithm("ECDH-ES+A192KW") // ECDH-ES + AES key wrap (192) + ECDH_ES_A256KW = KeyAlgorithm("ECDH-ES+A256KW") // ECDH-ES + AES key wrap (256) + A128GCMKW = KeyAlgorithm("A128GCMKW") // AES-GCM key wrap (128) + A192GCMKW = KeyAlgorithm("A192GCMKW") // AES-GCM key wrap (192) + A256GCMKW = KeyAlgorithm("A256GCMKW") // AES-GCM key wrap (256) + PBES2_HS256_A128KW = KeyAlgorithm("PBES2-HS256+A128KW") // PBES2 + HMAC-SHA256 + AES key wrap (128) + PBES2_HS384_A192KW = KeyAlgorithm("PBES2-HS384+A192KW") // PBES2 + HMAC-SHA384 + AES key wrap (192) + PBES2_HS512_A256KW = KeyAlgorithm("PBES2-HS512+A256KW") // PBES2 + HMAC-SHA512 + AES key wrap (256) +) + +// Signature algorithms +const ( + EdDSA = SignatureAlgorithm("EdDSA") + HS256 = SignatureAlgorithm("HS256") // HMAC using SHA-256 + HS384 = SignatureAlgorithm("HS384") // HMAC using SHA-384 + HS512 = SignatureAlgorithm("HS512") // HMAC using SHA-512 + RS256 = SignatureAlgorithm("RS256") // RSASSA-PKCS-v1.5 using SHA-256 + RS384 = SignatureAlgorithm("RS384") // RSASSA-PKCS-v1.5 using SHA-384 + RS512 = SignatureAlgorithm("RS512") // RSASSA-PKCS-v1.5 using SHA-512 + ES256 = SignatureAlgorithm("ES256") // ECDSA using P-256 and SHA-256 + ES384 = SignatureAlgorithm("ES384") // ECDSA using P-384 and SHA-384 + ES512 = SignatureAlgorithm("ES512") // ECDSA using P-521 and SHA-512 + PS256 = SignatureAlgorithm("PS256") // RSASSA-PSS using SHA256 and MGF1-SHA256 + PS384 = SignatureAlgorithm("PS384") // RSASSA-PSS using SHA384 and MGF1-SHA384 + PS512 = SignatureAlgorithm("PS512") // RSASSA-PSS using SHA512 and MGF1-SHA512 +) + +// Content encryption algorithms +const ( + A128CBC_HS256 = ContentEncryption("A128CBC-HS256") // AES-CBC + HMAC-SHA256 (128) + A192CBC_HS384 = ContentEncryption("A192CBC-HS384") // AES-CBC + HMAC-SHA384 (192) + A256CBC_HS512 = ContentEncryption("A256CBC-HS512") // AES-CBC + HMAC-SHA512 (256) + A128GCM = ContentEncryption("A128GCM") // AES-GCM (128) + A192GCM = ContentEncryption("A192GCM") // AES-GCM (192) + A256GCM = ContentEncryption("A256GCM") // AES-GCM (256) +) + +// Compression algorithms +const ( + NONE = CompressionAlgorithm("") // No compression + DEFLATE = CompressionAlgorithm("DEF") // DEFLATE (RFC 1951) +) + +// A key in the protected header of a JWS object. Use of the Header... +// constants is preferred to enhance type safety. +type HeaderKey string + +const ( + HeaderType HeaderKey = "typ" // string + HeaderContentType = "cty" // string + + // These are set by go-jose and shouldn't need to be set by consumers of the + // library. + headerAlgorithm = "alg" // string + headerEncryption = "enc" // ContentEncryption + headerCompression = "zip" // CompressionAlgorithm + headerCritical = "crit" // []string + + headerAPU = "apu" // *byteBuffer + headerAPV = "apv" // *byteBuffer + headerEPK = "epk" // *JSONWebKey + headerIV = "iv" // *byteBuffer + headerTag = "tag" // *byteBuffer + headerX5c = "x5c" // []*x509.Certificate + + headerJWK = "jwk" // *JSONWebKey + headerKeyID = "kid" // string + headerNonce = "nonce" // string + headerB64 = "b64" // bool + + headerP2C = "p2c" // *byteBuffer (int) + headerP2S = "p2s" // *byteBuffer ([]byte) + +) + +// supportedCritical is the set of supported extensions that are understood and processed. +var supportedCritical = map[string]bool{ + headerB64: true, +} + +// rawHeader represents the JOSE header for JWE/JWS objects (used for parsing). +// +// The decoding of the constituent items is deferred because we want to marshal +// some members into particular structs rather than generic maps, but at the +// same time we need to receive any extra fields unhandled by this library to +// pass through to consuming code in case it wants to examine them. +type rawHeader map[HeaderKey]*json.RawMessage + +// Header represents the read-only JOSE header for JWE/JWS objects. +type Header struct { + KeyID string + JSONWebKey *JSONWebKey + Algorithm string + Nonce string + + // Unverified certificate chain parsed from x5c header. + certificates []*x509.Certificate + + // Any headers not recognised above get unmarshaled + // from JSON in a generic manner and placed in this map. + ExtraHeaders map[HeaderKey]interface{} +} + +// Certificates verifies & returns the certificate chain present +// in the x5c header field of a message, if one was present. Returns +// an error if there was no x5c header present or the chain could +// not be validated with the given verify options. +func (h Header) Certificates(opts x509.VerifyOptions) ([][]*x509.Certificate, error) { + if len(h.certificates) == 0 { + return nil, errors.New("square/go-jose: no x5c header present in message") + } + + leaf := h.certificates[0] + if opts.Intermediates == nil { + opts.Intermediates = x509.NewCertPool() + for _, intermediate := range h.certificates[1:] { + opts.Intermediates.AddCert(intermediate) + } + } + + return leaf.Verify(opts) +} + +func (parsed rawHeader) set(k HeaderKey, v interface{}) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + parsed[k] = makeRawMessage(b) + return nil +} + +// getString gets a string from the raw JSON, defaulting to "". +func (parsed rawHeader) getString(k HeaderKey) string { + v, ok := parsed[k] + if !ok || v == nil { + return "" + } + var s string + err := json.Unmarshal(*v, &s) + if err != nil { + return "" + } + return s +} + +// getByteBuffer gets a byte buffer from the raw JSON. Returns (nil, nil) if +// not specified. +func (parsed rawHeader) getByteBuffer(k HeaderKey) (*byteBuffer, error) { + v := parsed[k] + if v == nil { + return nil, nil + } + var bb *byteBuffer + err := json.Unmarshal(*v, &bb) + if err != nil { + return nil, err + } + return bb, nil +} + +// getAlgorithm extracts parsed "alg" from the raw JSON as a KeyAlgorithm. +func (parsed rawHeader) getAlgorithm() KeyAlgorithm { + return KeyAlgorithm(parsed.getString(headerAlgorithm)) +} + +// getSignatureAlgorithm extracts parsed "alg" from the raw JSON as a SignatureAlgorithm. +func (parsed rawHeader) getSignatureAlgorithm() SignatureAlgorithm { + return SignatureAlgorithm(parsed.getString(headerAlgorithm)) +} + +// getEncryption extracts parsed "enc" from the raw JSON. +func (parsed rawHeader) getEncryption() ContentEncryption { + return ContentEncryption(parsed.getString(headerEncryption)) +} + +// getCompression extracts parsed "zip" from the raw JSON. +func (parsed rawHeader) getCompression() CompressionAlgorithm { + return CompressionAlgorithm(parsed.getString(headerCompression)) +} + +func (parsed rawHeader) getNonce() string { + return parsed.getString(headerNonce) +} + +// getEPK extracts parsed "epk" from the raw JSON. +func (parsed rawHeader) getEPK() (*JSONWebKey, error) { + v := parsed[headerEPK] + if v == nil { + return nil, nil + } + var epk *JSONWebKey + err := json.Unmarshal(*v, &epk) + if err != nil { + return nil, err + } + return epk, nil +} + +// getAPU extracts parsed "apu" from the raw JSON. +func (parsed rawHeader) getAPU() (*byteBuffer, error) { + return parsed.getByteBuffer(headerAPU) +} + +// getAPV extracts parsed "apv" from the raw JSON. +func (parsed rawHeader) getAPV() (*byteBuffer, error) { + return parsed.getByteBuffer(headerAPV) +} + +// getIV extracts parsed "iv" frpom the raw JSON. +func (parsed rawHeader) getIV() (*byteBuffer, error) { + return parsed.getByteBuffer(headerIV) +} + +// getTag extracts parsed "tag" frpom the raw JSON. +func (parsed rawHeader) getTag() (*byteBuffer, error) { + return parsed.getByteBuffer(headerTag) +} + +// getJWK extracts parsed "jwk" from the raw JSON. +func (parsed rawHeader) getJWK() (*JSONWebKey, error) { + v := parsed[headerJWK] + if v == nil { + return nil, nil + } + var jwk *JSONWebKey + err := json.Unmarshal(*v, &jwk) + if err != nil { + return nil, err + } + return jwk, nil +} + +// getCritical extracts parsed "crit" from the raw JSON. If omitted, it +// returns an empty slice. +func (parsed rawHeader) getCritical() ([]string, error) { + v := parsed[headerCritical] + if v == nil { + return nil, nil + } + + var q []string + err := json.Unmarshal(*v, &q) + if err != nil { + return nil, err + } + return q, nil +} + +// getS2C extracts parsed "p2c" from the raw JSON. +func (parsed rawHeader) getP2C() (int, error) { + v := parsed[headerP2C] + if v == nil { + return 0, nil + } + + var p2c int + err := json.Unmarshal(*v, &p2c) + if err != nil { + return 0, err + } + return p2c, nil +} + +// getS2S extracts parsed "p2s" from the raw JSON. +func (parsed rawHeader) getP2S() (*byteBuffer, error) { + return parsed.getByteBuffer(headerP2S) +} + +// getB64 extracts parsed "b64" from the raw JSON, defaulting to true. +func (parsed rawHeader) getB64() (bool, error) { + v := parsed[headerB64] + if v == nil { + return true, nil + } + + var b64 bool + err := json.Unmarshal(*v, &b64) + if err != nil { + return true, err + } + return b64, nil +} + +// sanitized produces a cleaned-up header object from the raw JSON. +func (parsed rawHeader) sanitized() (h Header, err error) { + for k, v := range parsed { + if v == nil { + continue + } + switch k { + case headerJWK: + var jwk *JSONWebKey + err = json.Unmarshal(*v, &jwk) + if err != nil { + err = fmt.Errorf("failed to unmarshal JWK: %v: %#v", err, string(*v)) + return + } + h.JSONWebKey = jwk + case headerKeyID: + var s string + err = json.Unmarshal(*v, &s) + if err != nil { + err = fmt.Errorf("failed to unmarshal key ID: %v: %#v", err, string(*v)) + return + } + h.KeyID = s + case headerAlgorithm: + var s string + err = json.Unmarshal(*v, &s) + if err != nil { + err = fmt.Errorf("failed to unmarshal algorithm: %v: %#v", err, string(*v)) + return + } + h.Algorithm = s + case headerNonce: + var s string + err = json.Unmarshal(*v, &s) + if err != nil { + err = fmt.Errorf("failed to unmarshal nonce: %v: %#v", err, string(*v)) + return + } + h.Nonce = s + case headerX5c: + c := []string{} + err = json.Unmarshal(*v, &c) + if err != nil { + err = fmt.Errorf("failed to unmarshal x5c header: %v: %#v", err, string(*v)) + return + } + h.certificates, err = parseCertificateChain(c) + if err != nil { + err = fmt.Errorf("failed to unmarshal x5c header: %v: %#v", err, string(*v)) + return + } + default: + if h.ExtraHeaders == nil { + h.ExtraHeaders = map[HeaderKey]interface{}{} + } + var v2 interface{} + err = json.Unmarshal(*v, &v2) + if err != nil { + err = fmt.Errorf("failed to unmarshal value: %v: %#v", err, string(*v)) + return + } + h.ExtraHeaders[k] = v2 + } + } + return +} + +func parseCertificateChain(chain []string) ([]*x509.Certificate, error) { + out := make([]*x509.Certificate, len(chain)) + for i, cert := range chain { + raw, err := base64.StdEncoding.DecodeString(cert) + if err != nil { + return nil, err + } + out[i], err = x509.ParseCertificate(raw) + if err != nil { + return nil, err + } + } + return out, nil +} + +func (dst rawHeader) isSet(k HeaderKey) bool { + dvr := dst[k] + if dvr == nil { + return false + } + + var dv interface{} + err := json.Unmarshal(*dvr, &dv) + if err != nil { + return true + } + + if dvStr, ok := dv.(string); ok { + return dvStr != "" + } + + return true +} + +// Merge headers from src into dst, giving precedence to headers from l. +func (dst rawHeader) merge(src *rawHeader) { + if src == nil { + return + } + + for k, v := range *src { + if dst.isSet(k) { + continue + } + + dst[k] = v + } +} + +// Get JOSE name of curve +func curveName(crv elliptic.Curve) (string, error) { + switch crv { + case elliptic.P256(): + return "P-256", nil + case elliptic.P384(): + return "P-384", nil + case elliptic.P521(): + return "P-521", nil + default: + return "", fmt.Errorf("square/go-jose: unsupported/unknown elliptic curve") + } +} + +// Get size of curve in bytes +func curveSize(crv elliptic.Curve) int { + bits := crv.Params().BitSize + + div := bits / 8 + mod := bits % 8 + + if mod == 0 { + return div + } + + return div + 1 +} + +func makeRawMessage(b []byte) *json.RawMessage { + rm := json.RawMessage(b) + return &rm +} diff --git a/vendor/gopkg.in/square/go-jose.v2/signing.go b/vendor/gopkg.in/square/go-jose.v2/signing.go new file mode 100644 index 000000000..bad820cea --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/signing.go @@ -0,0 +1,441 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "bytes" + "crypto/ecdsa" + "crypto/rsa" + "encoding/base64" + "errors" + "fmt" + + "golang.org/x/crypto/ed25519" + + "gopkg.in/square/go-jose.v2/json" +) + +// NonceSource represents a source of random nonces to go into JWS objects +type NonceSource interface { + Nonce() (string, error) +} + +// Signer represents a signer which takes a payload and produces a signed JWS object. +type Signer interface { + Sign(payload []byte) (*JSONWebSignature, error) + Options() SignerOptions +} + +// SigningKey represents an algorithm/key used to sign a message. +type SigningKey struct { + Algorithm SignatureAlgorithm + Key interface{} +} + +// SignerOptions represents options that can be set when creating signers. +type SignerOptions struct { + NonceSource NonceSource + EmbedJWK bool + + // Optional map of additional keys to be inserted into the protected header + // of a JWS object. Some specifications which make use of JWS like to insert + // additional values here. All values must be JSON-serializable. + ExtraHeaders map[HeaderKey]interface{} +} + +// WithHeader adds an arbitrary value to the ExtraHeaders map, initializing it +// if necessary. It returns itself and so can be used in a fluent style. +func (so *SignerOptions) WithHeader(k HeaderKey, v interface{}) *SignerOptions { + if so.ExtraHeaders == nil { + so.ExtraHeaders = map[HeaderKey]interface{}{} + } + so.ExtraHeaders[k] = v + return so +} + +// WithContentType adds a content type ("cty") header and returns the updated +// SignerOptions. +func (so *SignerOptions) WithContentType(contentType ContentType) *SignerOptions { + return so.WithHeader(HeaderContentType, contentType) +} + +// WithType adds a type ("typ") header and returns the updated SignerOptions. +func (so *SignerOptions) WithType(typ ContentType) *SignerOptions { + return so.WithHeader(HeaderType, typ) +} + +// WithCritical adds the given names to the critical ("crit") header and returns +// the updated SignerOptions. +func (so *SignerOptions) WithCritical(names ...string) *SignerOptions { + if so.ExtraHeaders[headerCritical] == nil { + so.WithHeader(headerCritical, make([]string, 0, len(names))) + } + crit := so.ExtraHeaders[headerCritical].([]string) + so.ExtraHeaders[headerCritical] = append(crit, names...) + return so +} + +// WithBase64 adds a base64url-encode payload ("b64") header and returns the updated +// SignerOptions. When the "b64" value is "false", the payload is not base64 encoded. +func (so *SignerOptions) WithBase64(b64 bool) *SignerOptions { + if !b64 { + so.WithHeader(headerB64, b64) + so.WithCritical(headerB64) + } + return so +} + +type payloadSigner interface { + signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) +} + +type payloadVerifier interface { + verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error +} + +type genericSigner struct { + recipients []recipientSigInfo + nonceSource NonceSource + embedJWK bool + extraHeaders map[HeaderKey]interface{} +} + +type recipientSigInfo struct { + sigAlg SignatureAlgorithm + publicKey func() *JSONWebKey + signer payloadSigner +} + +func staticPublicKey(jwk *JSONWebKey) func() *JSONWebKey { + return func() *JSONWebKey { + return jwk + } +} + +// NewSigner creates an appropriate signer based on the key type +func NewSigner(sig SigningKey, opts *SignerOptions) (Signer, error) { + return NewMultiSigner([]SigningKey{sig}, opts) +} + +// NewMultiSigner creates a signer for multiple recipients +func NewMultiSigner(sigs []SigningKey, opts *SignerOptions) (Signer, error) { + signer := &genericSigner{recipients: []recipientSigInfo{}} + + if opts != nil { + signer.nonceSource = opts.NonceSource + signer.embedJWK = opts.EmbedJWK + signer.extraHeaders = opts.ExtraHeaders + } + + for _, sig := range sigs { + err := signer.addRecipient(sig.Algorithm, sig.Key) + if err != nil { + return nil, err + } + } + + return signer, nil +} + +// newVerifier creates a verifier based on the key type +func newVerifier(verificationKey interface{}) (payloadVerifier, error) { + switch verificationKey := verificationKey.(type) { + case ed25519.PublicKey: + return &edEncrypterVerifier{ + publicKey: verificationKey, + }, nil + case *rsa.PublicKey: + return &rsaEncrypterVerifier{ + publicKey: verificationKey, + }, nil + case *ecdsa.PublicKey: + return &ecEncrypterVerifier{ + publicKey: verificationKey, + }, nil + case []byte: + return &symmetricMac{ + key: verificationKey, + }, nil + case JSONWebKey: + return newVerifier(verificationKey.Key) + case *JSONWebKey: + return newVerifier(verificationKey.Key) + } + if ov, ok := verificationKey.(OpaqueVerifier); ok { + return &opaqueVerifier{verifier: ov}, nil + } + return nil, ErrUnsupportedKeyType +} + +func (ctx *genericSigner) addRecipient(alg SignatureAlgorithm, signingKey interface{}) error { + recipient, err := makeJWSRecipient(alg, signingKey) + if err != nil { + return err + } + + ctx.recipients = append(ctx.recipients, recipient) + return nil +} + +func makeJWSRecipient(alg SignatureAlgorithm, signingKey interface{}) (recipientSigInfo, error) { + switch signingKey := signingKey.(type) { + case ed25519.PrivateKey: + return newEd25519Signer(alg, signingKey) + case *rsa.PrivateKey: + return newRSASigner(alg, signingKey) + case *ecdsa.PrivateKey: + return newECDSASigner(alg, signingKey) + case []byte: + return newSymmetricSigner(alg, signingKey) + case JSONWebKey: + return newJWKSigner(alg, signingKey) + case *JSONWebKey: + return newJWKSigner(alg, *signingKey) + } + if signer, ok := signingKey.(OpaqueSigner); ok { + return newOpaqueSigner(alg, signer) + } + return recipientSigInfo{}, ErrUnsupportedKeyType +} + +func newJWKSigner(alg SignatureAlgorithm, signingKey JSONWebKey) (recipientSigInfo, error) { + recipient, err := makeJWSRecipient(alg, signingKey.Key) + if err != nil { + return recipientSigInfo{}, err + } + if recipient.publicKey != nil && recipient.publicKey() != nil { + // recipient.publicKey is a JWK synthesized for embedding when recipientSigInfo + // was created for the inner key (such as a RSA or ECDSA public key). It contains + // the pub key for embedding, but doesn't have extra params like key id. + publicKey := signingKey + publicKey.Key = recipient.publicKey().Key + recipient.publicKey = staticPublicKey(&publicKey) + + // This should be impossible, but let's check anyway. + if !recipient.publicKey().IsPublic() { + return recipientSigInfo{}, errors.New("square/go-jose: public key was unexpectedly not public") + } + } + return recipient, nil +} + +func (ctx *genericSigner) Sign(payload []byte) (*JSONWebSignature, error) { + obj := &JSONWebSignature{} + obj.payload = payload + obj.Signatures = make([]Signature, len(ctx.recipients)) + + for i, recipient := range ctx.recipients { + protected := map[HeaderKey]interface{}{ + headerAlgorithm: string(recipient.sigAlg), + } + + if recipient.publicKey != nil && recipient.publicKey() != nil { + // We want to embed the JWK or set the kid header, but not both. Having a protected + // header that contains an embedded JWK while also simultaneously containing the kid + // header is confusing, and at least in ACME the two are considered to be mutually + // exclusive. The fact that both can exist at the same time is a somewhat unfortunate + // result of the JOSE spec. We've decided that this library will only include one or + // the other to avoid this confusion. + // + // See https://github.com/square/go-jose/issues/157 for more context. + if ctx.embedJWK { + protected[headerJWK] = recipient.publicKey() + } else { + keyID := recipient.publicKey().KeyID + if keyID != "" { + protected[headerKeyID] = keyID + } + } + } + + if ctx.nonceSource != nil { + nonce, err := ctx.nonceSource.Nonce() + if err != nil { + return nil, fmt.Errorf("square/go-jose: Error generating nonce: %v", err) + } + protected[headerNonce] = nonce + } + + for k, v := range ctx.extraHeaders { + protected[k] = v + } + + serializedProtected := mustSerializeJSON(protected) + needsBase64 := true + + if b64, ok := protected[headerB64]; ok { + if needsBase64, ok = b64.(bool); !ok { + return nil, errors.New("square/go-jose: Invalid b64 header parameter") + } + } + + var input bytes.Buffer + + input.WriteString(base64.RawURLEncoding.EncodeToString(serializedProtected)) + input.WriteByte('.') + + if needsBase64 { + input.WriteString(base64.RawURLEncoding.EncodeToString(payload)) + } else { + input.Write(payload) + } + + signatureInfo, err := recipient.signer.signPayload(input.Bytes(), recipient.sigAlg) + if err != nil { + return nil, err + } + + signatureInfo.protected = &rawHeader{} + for k, v := range protected { + b, err := json.Marshal(v) + if err != nil { + return nil, fmt.Errorf("square/go-jose: Error marshalling item %#v: %v", k, err) + } + (*signatureInfo.protected)[k] = makeRawMessage(b) + } + obj.Signatures[i] = signatureInfo + } + + return obj, nil +} + +func (ctx *genericSigner) Options() SignerOptions { + return SignerOptions{ + NonceSource: ctx.nonceSource, + EmbedJWK: ctx.embedJWK, + ExtraHeaders: ctx.extraHeaders, + } +} + +// Verify validates the signature on the object and returns the payload. +// This function does not support multi-signature, if you desire multi-sig +// verification use VerifyMulti instead. +// +// Be careful when verifying signatures based on embedded JWKs inside the +// payload header. You cannot assume that the key received in a payload is +// trusted. +func (obj JSONWebSignature) Verify(verificationKey interface{}) ([]byte, error) { + err := obj.DetachedVerify(obj.payload, verificationKey) + if err != nil { + return nil, err + } + return obj.payload, nil +} + +// UnsafePayloadWithoutVerification returns the payload without +// verifying it. The content returned from this function cannot be +// trusted. +func (obj JSONWebSignature) UnsafePayloadWithoutVerification() []byte { + return obj.payload +} + +// DetachedVerify validates a detached signature on the given payload. In +// most cases, you will probably want to use Verify instead. DetachedVerify +// is only useful if you have a payload and signature that are separated from +// each other. +func (obj JSONWebSignature) DetachedVerify(payload []byte, verificationKey interface{}) error { + verifier, err := newVerifier(verificationKey) + if err != nil { + return err + } + + if len(obj.Signatures) > 1 { + return errors.New("square/go-jose: too many signatures in payload; expecting only one") + } + + signature := obj.Signatures[0] + headers := signature.mergedHeaders() + critical, err := headers.getCritical() + if err != nil { + return err + } + + for _, name := range critical { + if !supportedCritical[name] { + return ErrCryptoFailure + } + } + + input, err := obj.computeAuthData(payload, &signature) + if err != nil { + return ErrCryptoFailure + } + + alg := headers.getSignatureAlgorithm() + err = verifier.verifyPayload(input, signature.Signature, alg) + if err == nil { + return nil + } + + return ErrCryptoFailure +} + +// VerifyMulti validates (one of the multiple) signatures on the object and +// returns the index of the signature that was verified, along with the signature +// object and the payload. We return the signature and index to guarantee that +// callers are getting the verified value. +func (obj JSONWebSignature) VerifyMulti(verificationKey interface{}) (int, Signature, []byte, error) { + idx, sig, err := obj.DetachedVerifyMulti(obj.payload, verificationKey) + if err != nil { + return -1, Signature{}, nil, err + } + return idx, sig, obj.payload, nil +} + +// DetachedVerifyMulti validates a detached signature on the given payload with +// a signature/object that has potentially multiple signers. This returns the index +// of the signature that was verified, along with the signature object. We return +// the signature and index to guarantee that callers are getting the verified value. +// +// In most cases, you will probably want to use Verify or VerifyMulti instead. +// DetachedVerifyMulti is only useful if you have a payload and signature that are +// separated from each other, and the signature can have multiple signers at the +// same time. +func (obj JSONWebSignature) DetachedVerifyMulti(payload []byte, verificationKey interface{}) (int, Signature, error) { + verifier, err := newVerifier(verificationKey) + if err != nil { + return -1, Signature{}, err + } + +outer: + for i, signature := range obj.Signatures { + headers := signature.mergedHeaders() + critical, err := headers.getCritical() + if err != nil { + continue + } + + for _, name := range critical { + if !supportedCritical[name] { + continue outer + } + } + + input, err := obj.computeAuthData(payload, &signature) + if err != nil { + continue + } + + alg := headers.getSignatureAlgorithm() + err = verifier.verifyPayload(input, signature.Signature, alg) + if err == nil { + return i, signature, nil + } + } + + return -1, Signature{}, ErrCryptoFailure +} diff --git a/vendor/gopkg.in/square/go-jose.v2/symmetric.go b/vendor/gopkg.in/square/go-jose.v2/symmetric.go new file mode 100644 index 000000000..264a0fe37 --- /dev/null +++ b/vendor/gopkg.in/square/go-jose.v2/symmetric.go @@ -0,0 +1,482 @@ +/*- + * Copyright 2014 Square Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package jose + +import ( + "bytes" + "crypto/aes" + "crypto/cipher" + "crypto/hmac" + "crypto/rand" + "crypto/sha256" + "crypto/sha512" + "crypto/subtle" + "errors" + "fmt" + "hash" + "io" + + "golang.org/x/crypto/pbkdf2" + "gopkg.in/square/go-jose.v2/cipher" +) + +// Random reader (stubbed out in tests) +var RandReader = rand.Reader + +const ( + // RFC7518 recommends a minimum of 1,000 iterations: + // https://tools.ietf.org/html/rfc7518#section-4.8.1.2 + // NIST recommends a minimum of 10,000: + // https://pages.nist.gov/800-63-3/sp800-63b.html + // 1Password uses 100,000: + // https://support.1password.com/pbkdf2/ + defaultP2C = 100000 + // Default salt size: 128 bits + defaultP2SSize = 16 +) + +// Dummy key cipher for shared symmetric key mode +type symmetricKeyCipher struct { + key []byte // Pre-shared content-encryption key + p2c int // PBES2 Count + p2s []byte // PBES2 Salt Input +} + +// Signer/verifier for MAC modes +type symmetricMac struct { + key []byte +} + +// Input/output from an AEAD operation +type aeadParts struct { + iv, ciphertext, tag []byte +} + +// A content cipher based on an AEAD construction +type aeadContentCipher struct { + keyBytes int + authtagBytes int + getAead func(key []byte) (cipher.AEAD, error) +} + +// Random key generator +type randomKeyGenerator struct { + size int +} + +// Static key generator +type staticKeyGenerator struct { + key []byte +} + +// Create a new content cipher based on AES-GCM +func newAESGCM(keySize int) contentCipher { + return &aeadContentCipher{ + keyBytes: keySize, + authtagBytes: 16, + getAead: func(key []byte) (cipher.AEAD, error) { + aes, err := aes.NewCipher(key) + if err != nil { + return nil, err + } + + return cipher.NewGCM(aes) + }, + } +} + +// Create a new content cipher based on AES-CBC+HMAC +func newAESCBC(keySize int) contentCipher { + return &aeadContentCipher{ + keyBytes: keySize * 2, + authtagBytes: keySize, + getAead: func(key []byte) (cipher.AEAD, error) { + return josecipher.NewCBCHMAC(key, aes.NewCipher) + }, + } +} + +// Get an AEAD cipher object for the given content encryption algorithm +func getContentCipher(alg ContentEncryption) contentCipher { + switch alg { + case A128GCM: + return newAESGCM(16) + case A192GCM: + return newAESGCM(24) + case A256GCM: + return newAESGCM(32) + case A128CBC_HS256: + return newAESCBC(16) + case A192CBC_HS384: + return newAESCBC(24) + case A256CBC_HS512: + return newAESCBC(32) + default: + return nil + } +} + +// getPbkdf2Params returns the key length and hash function used in +// pbkdf2.Key. +func getPbkdf2Params(alg KeyAlgorithm) (int, func() hash.Hash) { + switch alg { + case PBES2_HS256_A128KW: + return 16, sha256.New + case PBES2_HS384_A192KW: + return 24, sha512.New384 + case PBES2_HS512_A256KW: + return 32, sha512.New + default: + panic("invalid algorithm") + } +} + +// getRandomSalt generates a new salt of the given size. +func getRandomSalt(size int) ([]byte, error) { + salt := make([]byte, size) + _, err := io.ReadFull(RandReader, salt) + if err != nil { + return nil, err + } + + return salt, nil +} + +// newSymmetricRecipient creates a JWE encrypter based on AES-GCM key wrap. +func newSymmetricRecipient(keyAlg KeyAlgorithm, key []byte) (recipientKeyInfo, error) { + switch keyAlg { + case DIRECT, A128GCMKW, A192GCMKW, A256GCMKW, A128KW, A192KW, A256KW: + case PBES2_HS256_A128KW, PBES2_HS384_A192KW, PBES2_HS512_A256KW: + default: + return recipientKeyInfo{}, ErrUnsupportedAlgorithm + } + + return recipientKeyInfo{ + keyAlg: keyAlg, + keyEncrypter: &symmetricKeyCipher{ + key: key, + }, + }, nil +} + +// newSymmetricSigner creates a recipientSigInfo based on the given key. +func newSymmetricSigner(sigAlg SignatureAlgorithm, key []byte) (recipientSigInfo, error) { + // Verify that key management algorithm is supported by this encrypter + switch sigAlg { + case HS256, HS384, HS512: + default: + return recipientSigInfo{}, ErrUnsupportedAlgorithm + } + + return recipientSigInfo{ + sigAlg: sigAlg, + signer: &symmetricMac{ + key: key, + }, + }, nil +} + +// Generate a random key for the given content cipher +func (ctx randomKeyGenerator) genKey() ([]byte, rawHeader, error) { + key := make([]byte, ctx.size) + _, err := io.ReadFull(RandReader, key) + if err != nil { + return nil, rawHeader{}, err + } + + return key, rawHeader{}, nil +} + +// Key size for random generator +func (ctx randomKeyGenerator) keySize() int { + return ctx.size +} + +// Generate a static key (for direct mode) +func (ctx staticKeyGenerator) genKey() ([]byte, rawHeader, error) { + cek := make([]byte, len(ctx.key)) + copy(cek, ctx.key) + return cek, rawHeader{}, nil +} + +// Key size for static generator +func (ctx staticKeyGenerator) keySize() int { + return len(ctx.key) +} + +// Get key size for this cipher +func (ctx aeadContentCipher) keySize() int { + return ctx.keyBytes +} + +// Encrypt some data +func (ctx aeadContentCipher) encrypt(key, aad, pt []byte) (*aeadParts, error) { + // Get a new AEAD instance + aead, err := ctx.getAead(key) + if err != nil { + return nil, err + } + + // Initialize a new nonce + iv := make([]byte, aead.NonceSize()) + _, err = io.ReadFull(RandReader, iv) + if err != nil { + return nil, err + } + + ciphertextAndTag := aead.Seal(nil, iv, pt, aad) + offset := len(ciphertextAndTag) - ctx.authtagBytes + + return &aeadParts{ + iv: iv, + ciphertext: ciphertextAndTag[:offset], + tag: ciphertextAndTag[offset:], + }, nil +} + +// Decrypt some data +func (ctx aeadContentCipher) decrypt(key, aad []byte, parts *aeadParts) ([]byte, error) { + aead, err := ctx.getAead(key) + if err != nil { + return nil, err + } + + if len(parts.iv) != aead.NonceSize() || len(parts.tag) < ctx.authtagBytes { + return nil, ErrCryptoFailure + } + + return aead.Open(nil, parts.iv, append(parts.ciphertext, parts.tag...), aad) +} + +// Encrypt the content encryption key. +func (ctx *symmetricKeyCipher) encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) { + switch alg { + case DIRECT: + return recipientInfo{ + header: &rawHeader{}, + }, nil + case A128GCMKW, A192GCMKW, A256GCMKW: + aead := newAESGCM(len(ctx.key)) + + parts, err := aead.encrypt(ctx.key, []byte{}, cek) + if err != nil { + return recipientInfo{}, err + } + + header := &rawHeader{} + header.set(headerIV, newBuffer(parts.iv)) + header.set(headerTag, newBuffer(parts.tag)) + + return recipientInfo{ + header: header, + encryptedKey: parts.ciphertext, + }, nil + case A128KW, A192KW, A256KW: + block, err := aes.NewCipher(ctx.key) + if err != nil { + return recipientInfo{}, err + } + + jek, err := josecipher.KeyWrap(block, cek) + if err != nil { + return recipientInfo{}, err + } + + return recipientInfo{ + encryptedKey: jek, + header: &rawHeader{}, + }, nil + case PBES2_HS256_A128KW, PBES2_HS384_A192KW, PBES2_HS512_A256KW: + if len(ctx.p2s) == 0 { + salt, err := getRandomSalt(defaultP2SSize) + if err != nil { + return recipientInfo{}, err + } + ctx.p2s = salt + } + + if ctx.p2c <= 0 { + ctx.p2c = defaultP2C + } + + // salt is UTF8(Alg) || 0x00 || Salt Input + salt := bytes.Join([][]byte{[]byte(alg), ctx.p2s}, []byte{0x00}) + + // derive key + keyLen, h := getPbkdf2Params(alg) + key := pbkdf2.Key(ctx.key, salt, ctx.p2c, keyLen, h) + + // use AES cipher with derived key + block, err := aes.NewCipher(key) + if err != nil { + return recipientInfo{}, err + } + + jek, err := josecipher.KeyWrap(block, cek) + if err != nil { + return recipientInfo{}, err + } + + header := &rawHeader{} + header.set(headerP2C, ctx.p2c) + header.set(headerP2S, newBuffer(ctx.p2s)) + + return recipientInfo{ + encryptedKey: jek, + header: header, + }, nil + } + + return recipientInfo{}, ErrUnsupportedAlgorithm +} + +// Decrypt the content encryption key. +func (ctx *symmetricKeyCipher) decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) { + switch headers.getAlgorithm() { + case DIRECT: + cek := make([]byte, len(ctx.key)) + copy(cek, ctx.key) + return cek, nil + case A128GCMKW, A192GCMKW, A256GCMKW: + aead := newAESGCM(len(ctx.key)) + + iv, err := headers.getIV() + if err != nil { + return nil, fmt.Errorf("square/go-jose: invalid IV: %v", err) + } + tag, err := headers.getTag() + if err != nil { + return nil, fmt.Errorf("square/go-jose: invalid tag: %v", err) + } + + parts := &aeadParts{ + iv: iv.bytes(), + ciphertext: recipient.encryptedKey, + tag: tag.bytes(), + } + + cek, err := aead.decrypt(ctx.key, []byte{}, parts) + if err != nil { + return nil, err + } + + return cek, nil + case A128KW, A192KW, A256KW: + block, err := aes.NewCipher(ctx.key) + if err != nil { + return nil, err + } + + cek, err := josecipher.KeyUnwrap(block, recipient.encryptedKey) + if err != nil { + return nil, err + } + return cek, nil + case PBES2_HS256_A128KW, PBES2_HS384_A192KW, PBES2_HS512_A256KW: + p2s, err := headers.getP2S() + if err != nil { + return nil, fmt.Errorf("square/go-jose: invalid P2S: %v", err) + } + if p2s == nil || len(p2s.data) == 0 { + return nil, fmt.Errorf("square/go-jose: invalid P2S: must be present") + } + + p2c, err := headers.getP2C() + if err != nil { + return nil, fmt.Errorf("square/go-jose: invalid P2C: %v", err) + } + if p2c <= 0 { + return nil, fmt.Errorf("square/go-jose: invalid P2C: must be a positive integer") + } + + // salt is UTF8(Alg) || 0x00 || Salt Input + alg := headers.getAlgorithm() + salt := bytes.Join([][]byte{[]byte(alg), p2s.bytes()}, []byte{0x00}) + + // derive key + keyLen, h := getPbkdf2Params(alg) + key := pbkdf2.Key(ctx.key, salt, p2c, keyLen, h) + + // use AES cipher with derived key + block, err := aes.NewCipher(key) + if err != nil { + return nil, err + } + + cek, err := josecipher.KeyUnwrap(block, recipient.encryptedKey) + if err != nil { + return nil, err + } + return cek, nil + } + + return nil, ErrUnsupportedAlgorithm +} + +// Sign the given payload +func (ctx symmetricMac) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { + mac, err := ctx.hmac(payload, alg) + if err != nil { + return Signature{}, errors.New("square/go-jose: failed to compute hmac") + } + + return Signature{ + Signature: mac, + protected: &rawHeader{}, + }, nil +} + +// Verify the given payload +func (ctx symmetricMac) verifyPayload(payload []byte, mac []byte, alg SignatureAlgorithm) error { + expected, err := ctx.hmac(payload, alg) + if err != nil { + return errors.New("square/go-jose: failed to compute hmac") + } + + if len(mac) != len(expected) { + return errors.New("square/go-jose: invalid hmac") + } + + match := subtle.ConstantTimeCompare(mac, expected) + if match != 1 { + return errors.New("square/go-jose: invalid hmac") + } + + return nil +} + +// Compute the HMAC based on the given alg value +func (ctx symmetricMac) hmac(payload []byte, alg SignatureAlgorithm) ([]byte, error) { + var hash func() hash.Hash + + switch alg { + case HS256: + hash = sha256.New + case HS384: + hash = sha512.New384 + case HS512: + hash = sha512.New + default: + return nil, ErrUnsupportedAlgorithm + } + + hmac := hmac.New(hash, ctx.key) + + // According to documentation, Write() on hash never fails + _, _ = hmac.Write(payload) + return hmac.Sum(nil), nil +} diff --git a/vendor/gopkg.in/yaml.v2/.travis.yml b/vendor/gopkg.in/yaml.v2/.travis.yml new file mode 100644 index 000000000..7348c50c0 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/.travis.yml @@ -0,0 +1,17 @@ +language: go + +go: + - "1.4.x" + - "1.5.x" + - "1.6.x" + - "1.7.x" + - "1.8.x" + - "1.9.x" + - "1.10.x" + - "1.11.x" + - "1.12.x" + - "1.13.x" + - "1.14.x" + - "tip" + +go_import_path: gopkg.in/yaml.v2 diff --git a/vendor/gopkg.in/yaml.v2/LICENSE b/vendor/gopkg.in/yaml.v2/LICENSE new file mode 100644 index 000000000..8dada3eda --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/gopkg.in/yaml.v2/LICENSE.libyaml b/vendor/gopkg.in/yaml.v2/LICENSE.libyaml new file mode 100644 index 000000000..8da58fbf6 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/LICENSE.libyaml @@ -0,0 +1,31 @@ +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original copyright and license: + + apic.go + emitterc.go + parserc.go + readerc.go + scannerc.go + writerc.go + yamlh.go + yamlprivateh.go + +Copyright (c) 2006 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/gopkg.in/yaml.v2/NOTICE b/vendor/gopkg.in/yaml.v2/NOTICE new file mode 100644 index 000000000..866d74a7a --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/NOTICE @@ -0,0 +1,13 @@ +Copyright 2011-2016 Canonical Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/gopkg.in/yaml.v2/README.md b/vendor/gopkg.in/yaml.v2/README.md new file mode 100644 index 000000000..b50c6e877 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/README.md @@ -0,0 +1,133 @@ +# YAML support for the Go language + +Introduction +------------ + +The yaml package enables Go programs to comfortably encode and decode YAML +values. It was developed within [Canonical](https://www.canonical.com) as +part of the [juju](https://juju.ubuntu.com) project, and is based on a +pure Go port of the well-known [libyaml](http://pyyaml.org/wiki/LibYAML) +C library to parse and generate YAML data quickly and reliably. + +Compatibility +------------- + +The yaml package supports most of YAML 1.1 and 1.2, including support for +anchors, tags, map merging, etc. Multi-document unmarshalling is not yet +implemented, and base-60 floats from YAML 1.1 are purposefully not +supported since they're a poor design and are gone in YAML 1.2. + +Installation and usage +---------------------- + +The import path for the package is *gopkg.in/yaml.v2*. + +To install it, run: + + go get gopkg.in/yaml.v2 + +API documentation +----------------- + +If opened in a browser, the import path itself leads to the API documentation: + + * [https://gopkg.in/yaml.v2](https://gopkg.in/yaml.v2) + +API stability +------------- + +The package API for yaml v2 will remain stable as described in [gopkg.in](https://gopkg.in). + + +License +------- + +The yaml package is licensed under the Apache License 2.0. Please see the LICENSE file for details. + + +Example +------- + +```Go +package main + +import ( + "fmt" + "log" + + "gopkg.in/yaml.v2" +) + +var data = ` +a: Easy! +b: + c: 2 + d: [3, 4] +` + +// Note: struct fields must be public in order for unmarshal to +// correctly populate the data. +type T struct { + A string + B struct { + RenamedC int `yaml:"c"` + D []int `yaml:",flow"` + } +} + +func main() { + t := T{} + + err := yaml.Unmarshal([]byte(data), &t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t:\n%v\n\n", t) + + d, err := yaml.Marshal(&t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t dump:\n%s\n\n", string(d)) + + m := make(map[interface{}]interface{}) + + err = yaml.Unmarshal([]byte(data), &m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m:\n%v\n\n", m) + + d, err = yaml.Marshal(&m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m dump:\n%s\n\n", string(d)) +} +``` + +This example will generate the following output: + +``` +--- t: +{Easy! {2 [3 4]}} + +--- t dump: +a: Easy! +b: + c: 2 + d: [3, 4] + + +--- m: +map[a:Easy! b:map[c:2 d:[3 4]]] + +--- m dump: +a: Easy! +b: + c: 2 + d: + - 3 + - 4 +``` + diff --git a/vendor/gopkg.in/yaml.v2/apic.go b/vendor/gopkg.in/yaml.v2/apic.go new file mode 100644 index 000000000..acf71402c --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/apic.go @@ -0,0 +1,744 @@ +package yaml + +import ( + "io" +) + +func yaml_insert_token(parser *yaml_parser_t, pos int, token *yaml_token_t) { + //fmt.Println("yaml_insert_token", "pos:", pos, "typ:", token.typ, "head:", parser.tokens_head, "len:", len(parser.tokens)) + + // Check if we can move the queue at the beginning of the buffer. + if parser.tokens_head > 0 && len(parser.tokens) == cap(parser.tokens) { + if parser.tokens_head != len(parser.tokens) { + copy(parser.tokens, parser.tokens[parser.tokens_head:]) + } + parser.tokens = parser.tokens[:len(parser.tokens)-parser.tokens_head] + parser.tokens_head = 0 + } + parser.tokens = append(parser.tokens, *token) + if pos < 0 { + return + } + copy(parser.tokens[parser.tokens_head+pos+1:], parser.tokens[parser.tokens_head+pos:]) + parser.tokens[parser.tokens_head+pos] = *token +} + +// Create a new parser object. +func yaml_parser_initialize(parser *yaml_parser_t) bool { + *parser = yaml_parser_t{ + raw_buffer: make([]byte, 0, input_raw_buffer_size), + buffer: make([]byte, 0, input_buffer_size), + } + return true +} + +// Destroy a parser object. +func yaml_parser_delete(parser *yaml_parser_t) { + *parser = yaml_parser_t{} +} + +// String read handler. +func yaml_string_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + if parser.input_pos == len(parser.input) { + return 0, io.EOF + } + n = copy(buffer, parser.input[parser.input_pos:]) + parser.input_pos += n + return n, nil +} + +// Reader read handler. +func yaml_reader_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + return parser.input_reader.Read(buffer) +} + +// Set a string input. +func yaml_parser_set_input_string(parser *yaml_parser_t, input []byte) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_string_read_handler + parser.input = input + parser.input_pos = 0 +} + +// Set a file input. +func yaml_parser_set_input_reader(parser *yaml_parser_t, r io.Reader) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_reader_read_handler + parser.input_reader = r +} + +// Set the source encoding. +func yaml_parser_set_encoding(parser *yaml_parser_t, encoding yaml_encoding_t) { + if parser.encoding != yaml_ANY_ENCODING { + panic("must set the encoding only once") + } + parser.encoding = encoding +} + +var disableLineWrapping = false + +// Create a new emitter object. +func yaml_emitter_initialize(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{ + buffer: make([]byte, output_buffer_size), + raw_buffer: make([]byte, 0, output_raw_buffer_size), + states: make([]yaml_emitter_state_t, 0, initial_stack_size), + events: make([]yaml_event_t, 0, initial_queue_size), + } + if disableLineWrapping { + emitter.best_width = -1 + } +} + +// Destroy an emitter object. +func yaml_emitter_delete(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{} +} + +// String write handler. +func yaml_string_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + *emitter.output_buffer = append(*emitter.output_buffer, buffer...) + return nil +} + +// yaml_writer_write_handler uses emitter.output_writer to write the +// emitted text. +func yaml_writer_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + _, err := emitter.output_writer.Write(buffer) + return err +} + +// Set a string output. +func yaml_emitter_set_output_string(emitter *yaml_emitter_t, output_buffer *[]byte) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_string_write_handler + emitter.output_buffer = output_buffer +} + +// Set a file output. +func yaml_emitter_set_output_writer(emitter *yaml_emitter_t, w io.Writer) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_writer_write_handler + emitter.output_writer = w +} + +// Set the output encoding. +func yaml_emitter_set_encoding(emitter *yaml_emitter_t, encoding yaml_encoding_t) { + if emitter.encoding != yaml_ANY_ENCODING { + panic("must set the output encoding only once") + } + emitter.encoding = encoding +} + +// Set the canonical output style. +func yaml_emitter_set_canonical(emitter *yaml_emitter_t, canonical bool) { + emitter.canonical = canonical +} + +//// Set the indentation increment. +func yaml_emitter_set_indent(emitter *yaml_emitter_t, indent int) { + if indent < 2 || indent > 9 { + indent = 2 + } + emitter.best_indent = indent +} + +// Set the preferred line width. +func yaml_emitter_set_width(emitter *yaml_emitter_t, width int) { + if width < 0 { + width = -1 + } + emitter.best_width = width +} + +// Set if unescaped non-ASCII characters are allowed. +func yaml_emitter_set_unicode(emitter *yaml_emitter_t, unicode bool) { + emitter.unicode = unicode +} + +// Set the preferred line break character. +func yaml_emitter_set_break(emitter *yaml_emitter_t, line_break yaml_break_t) { + emitter.line_break = line_break +} + +///* +// * Destroy a token object. +// */ +// +//YAML_DECLARE(void) +//yaml_token_delete(yaml_token_t *token) +//{ +// assert(token); // Non-NULL token object expected. +// +// switch (token.type) +// { +// case YAML_TAG_DIRECTIVE_TOKEN: +// yaml_free(token.data.tag_directive.handle); +// yaml_free(token.data.tag_directive.prefix); +// break; +// +// case YAML_ALIAS_TOKEN: +// yaml_free(token.data.alias.value); +// break; +// +// case YAML_ANCHOR_TOKEN: +// yaml_free(token.data.anchor.value); +// break; +// +// case YAML_TAG_TOKEN: +// yaml_free(token.data.tag.handle); +// yaml_free(token.data.tag.suffix); +// break; +// +// case YAML_SCALAR_TOKEN: +// yaml_free(token.data.scalar.value); +// break; +// +// default: +// break; +// } +// +// memset(token, 0, sizeof(yaml_token_t)); +//} +// +///* +// * Check if a string is a valid UTF-8 sequence. +// * +// * Check 'reader.c' for more details on UTF-8 encoding. +// */ +// +//static int +//yaml_check_utf8(yaml_char_t *start, size_t length) +//{ +// yaml_char_t *end = start+length; +// yaml_char_t *pointer = start; +// +// while (pointer < end) { +// unsigned char octet; +// unsigned int width; +// unsigned int value; +// size_t k; +// +// octet = pointer[0]; +// width = (octet & 0x80) == 0x00 ? 1 : +// (octet & 0xE0) == 0xC0 ? 2 : +// (octet & 0xF0) == 0xE0 ? 3 : +// (octet & 0xF8) == 0xF0 ? 4 : 0; +// value = (octet & 0x80) == 0x00 ? octet & 0x7F : +// (octet & 0xE0) == 0xC0 ? octet & 0x1F : +// (octet & 0xF0) == 0xE0 ? octet & 0x0F : +// (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; +// if (!width) return 0; +// if (pointer+width > end) return 0; +// for (k = 1; k < width; k ++) { +// octet = pointer[k]; +// if ((octet & 0xC0) != 0x80) return 0; +// value = (value << 6) + (octet & 0x3F); +// } +// if (!((width == 1) || +// (width == 2 && value >= 0x80) || +// (width == 3 && value >= 0x800) || +// (width == 4 && value >= 0x10000))) return 0; +// +// pointer += width; +// } +// +// return 1; +//} +// + +// Create STREAM-START. +func yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + encoding: encoding, + } +} + +// Create STREAM-END. +func yaml_stream_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + } +} + +// Create DOCUMENT-START. +func yaml_document_start_event_initialize( + event *yaml_event_t, + version_directive *yaml_version_directive_t, + tag_directives []yaml_tag_directive_t, + implicit bool, +) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: implicit, + } +} + +// Create DOCUMENT-END. +func yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + implicit: implicit, + } +} + +///* +// * Create ALIAS. +// */ +// +//YAML_DECLARE(int) +//yaml_alias_event_initialize(event *yaml_event_t, anchor *yaml_char_t) +//{ +// mark yaml_mark_t = { 0, 0, 0 } +// anchor_copy *yaml_char_t = NULL +// +// assert(event) // Non-NULL event object is expected. +// assert(anchor) // Non-NULL anchor is expected. +// +// if (!yaml_check_utf8(anchor, strlen((char *)anchor))) return 0 +// +// anchor_copy = yaml_strdup(anchor) +// if (!anchor_copy) +// return 0 +// +// ALIAS_EVENT_INIT(*event, anchor_copy, mark, mark) +// +// return 1 +//} + +// Create SCALAR. +func yaml_scalar_event_initialize(event *yaml_event_t, anchor, tag, value []byte, plain_implicit, quoted_implicit bool, style yaml_scalar_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + anchor: anchor, + tag: tag, + value: value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-START. +func yaml_sequence_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_sequence_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-END. +func yaml_sequence_end_event_initialize(event *yaml_event_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + } + return true +} + +// Create MAPPING-START. +func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } +} + +// Create MAPPING-END. +func yaml_mapping_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + } +} + +// Destroy an event object. +func yaml_event_delete(event *yaml_event_t) { + *event = yaml_event_t{} +} + +///* +// * Create a document object. +// */ +// +//YAML_DECLARE(int) +//yaml_document_initialize(document *yaml_document_t, +// version_directive *yaml_version_directive_t, +// tag_directives_start *yaml_tag_directive_t, +// tag_directives_end *yaml_tag_directive_t, +// start_implicit int, end_implicit int) +//{ +// struct { +// error yaml_error_type_t +// } context +// struct { +// start *yaml_node_t +// end *yaml_node_t +// top *yaml_node_t +// } nodes = { NULL, NULL, NULL } +// version_directive_copy *yaml_version_directive_t = NULL +// struct { +// start *yaml_tag_directive_t +// end *yaml_tag_directive_t +// top *yaml_tag_directive_t +// } tag_directives_copy = { NULL, NULL, NULL } +// value yaml_tag_directive_t = { NULL, NULL } +// mark yaml_mark_t = { 0, 0, 0 } +// +// assert(document) // Non-NULL document object is expected. +// assert((tag_directives_start && tag_directives_end) || +// (tag_directives_start == tag_directives_end)) +// // Valid tag directives are expected. +// +// if (!STACK_INIT(&context, nodes, INITIAL_STACK_SIZE)) goto error +// +// if (version_directive) { +// version_directive_copy = yaml_malloc(sizeof(yaml_version_directive_t)) +// if (!version_directive_copy) goto error +// version_directive_copy.major = version_directive.major +// version_directive_copy.minor = version_directive.minor +// } +// +// if (tag_directives_start != tag_directives_end) { +// tag_directive *yaml_tag_directive_t +// if (!STACK_INIT(&context, tag_directives_copy, INITIAL_STACK_SIZE)) +// goto error +// for (tag_directive = tag_directives_start +// tag_directive != tag_directives_end; tag_directive ++) { +// assert(tag_directive.handle) +// assert(tag_directive.prefix) +// if (!yaml_check_utf8(tag_directive.handle, +// strlen((char *)tag_directive.handle))) +// goto error +// if (!yaml_check_utf8(tag_directive.prefix, +// strlen((char *)tag_directive.prefix))) +// goto error +// value.handle = yaml_strdup(tag_directive.handle) +// value.prefix = yaml_strdup(tag_directive.prefix) +// if (!value.handle || !value.prefix) goto error +// if (!PUSH(&context, tag_directives_copy, value)) +// goto error +// value.handle = NULL +// value.prefix = NULL +// } +// } +// +// DOCUMENT_INIT(*document, nodes.start, nodes.end, version_directive_copy, +// tag_directives_copy.start, tag_directives_copy.top, +// start_implicit, end_implicit, mark, mark) +// +// return 1 +// +//error: +// STACK_DEL(&context, nodes) +// yaml_free(version_directive_copy) +// while (!STACK_EMPTY(&context, tag_directives_copy)) { +// value yaml_tag_directive_t = POP(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// } +// STACK_DEL(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// +// return 0 +//} +// +///* +// * Destroy a document object. +// */ +// +//YAML_DECLARE(void) +//yaml_document_delete(document *yaml_document_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// tag_directive *yaml_tag_directive_t +// +// context.error = YAML_NO_ERROR // Eliminate a compiler warning. +// +// assert(document) // Non-NULL document object is expected. +// +// while (!STACK_EMPTY(&context, document.nodes)) { +// node yaml_node_t = POP(&context, document.nodes) +// yaml_free(node.tag) +// switch (node.type) { +// case YAML_SCALAR_NODE: +// yaml_free(node.data.scalar.value) +// break +// case YAML_SEQUENCE_NODE: +// STACK_DEL(&context, node.data.sequence.items) +// break +// case YAML_MAPPING_NODE: +// STACK_DEL(&context, node.data.mapping.pairs) +// break +// default: +// assert(0) // Should not happen. +// } +// } +// STACK_DEL(&context, document.nodes) +// +// yaml_free(document.version_directive) +// for (tag_directive = document.tag_directives.start +// tag_directive != document.tag_directives.end +// tag_directive++) { +// yaml_free(tag_directive.handle) +// yaml_free(tag_directive.prefix) +// } +// yaml_free(document.tag_directives.start) +// +// memset(document, 0, sizeof(yaml_document_t)) +//} +// +///** +// * Get a document node. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_node(document *yaml_document_t, index int) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (index > 0 && document.nodes.start + index <= document.nodes.top) { +// return document.nodes.start + index - 1 +// } +// return NULL +//} +// +///** +// * Get the root object. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_root_node(document *yaml_document_t) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (document.nodes.top != document.nodes.start) { +// return document.nodes.start +// } +// return NULL +//} +// +///* +// * Add a scalar node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_scalar(document *yaml_document_t, +// tag *yaml_char_t, value *yaml_char_t, length int, +// style yaml_scalar_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// value_copy *yaml_char_t = NULL +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// assert(value) // Non-NULL value is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SCALAR_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (length < 0) { +// length = strlen((char *)value) +// } +// +// if (!yaml_check_utf8(value, length)) goto error +// value_copy = yaml_malloc(length+1) +// if (!value_copy) goto error +// memcpy(value_copy, value, length) +// value_copy[length] = '\0' +// +// SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// yaml_free(tag_copy) +// yaml_free(value_copy) +// +// return 0 +//} +// +///* +// * Add a sequence node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_sequence(document *yaml_document_t, +// tag *yaml_char_t, style yaml_sequence_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_item_t +// end *yaml_node_item_t +// top *yaml_node_item_t +// } items = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SEQUENCE_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, items, INITIAL_STACK_SIZE)) goto error +// +// SEQUENCE_NODE_INIT(node, tag_copy, items.start, items.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, items) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Add a mapping node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_mapping(document *yaml_document_t, +// tag *yaml_char_t, style yaml_mapping_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_pair_t +// end *yaml_node_pair_t +// top *yaml_node_pair_t +// } pairs = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_MAPPING_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, pairs, INITIAL_STACK_SIZE)) goto error +// +// MAPPING_NODE_INIT(node, tag_copy, pairs.start, pairs.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, pairs) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Append an item to a sequence node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_sequence_item(document *yaml_document_t, +// sequence int, item int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// assert(document) // Non-NULL document is required. +// assert(sequence > 0 +// && document.nodes.start + sequence <= document.nodes.top) +// // Valid sequence id is required. +// assert(document.nodes.start[sequence-1].type == YAML_SEQUENCE_NODE) +// // A sequence node is required. +// assert(item > 0 && document.nodes.start + item <= document.nodes.top) +// // Valid item id is required. +// +// if (!PUSH(&context, +// document.nodes.start[sequence-1].data.sequence.items, item)) +// return 0 +// +// return 1 +//} +// +///* +// * Append a pair of a key and a value to a mapping node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_mapping_pair(document *yaml_document_t, +// mapping int, key int, value int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// pair yaml_node_pair_t +// +// assert(document) // Non-NULL document is required. +// assert(mapping > 0 +// && document.nodes.start + mapping <= document.nodes.top) +// // Valid mapping id is required. +// assert(document.nodes.start[mapping-1].type == YAML_MAPPING_NODE) +// // A mapping node is required. +// assert(key > 0 && document.nodes.start + key <= document.nodes.top) +// // Valid key id is required. +// assert(value > 0 && document.nodes.start + value <= document.nodes.top) +// // Valid value id is required. +// +// pair.key = key +// pair.value = value +// +// if (!PUSH(&context, +// document.nodes.start[mapping-1].data.mapping.pairs, pair)) +// return 0 +// +// return 1 +//} +// +// diff --git a/vendor/gopkg.in/yaml.v2/decode.go b/vendor/gopkg.in/yaml.v2/decode.go new file mode 100644 index 000000000..129bc2a97 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/decode.go @@ -0,0 +1,815 @@ +package yaml + +import ( + "encoding" + "encoding/base64" + "fmt" + "io" + "math" + "reflect" + "strconv" + "time" +) + +const ( + documentNode = 1 << iota + mappingNode + sequenceNode + scalarNode + aliasNode +) + +type node struct { + kind int + line, column int + tag string + // For an alias node, alias holds the resolved alias. + alias *node + value string + implicit bool + children []*node + anchors map[string]*node +} + +// ---------------------------------------------------------------------------- +// Parser, produces a node tree out of a libyaml event stream. + +type parser struct { + parser yaml_parser_t + event yaml_event_t + doc *node + doneInit bool +} + +func newParser(b []byte) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + if len(b) == 0 { + b = []byte{'\n'} + } + yaml_parser_set_input_string(&p.parser, b) + return &p +} + +func newParserFromReader(r io.Reader) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + yaml_parser_set_input_reader(&p.parser, r) + return &p +} + +func (p *parser) init() { + if p.doneInit { + return + } + p.expect(yaml_STREAM_START_EVENT) + p.doneInit = true +} + +func (p *parser) destroy() { + if p.event.typ != yaml_NO_EVENT { + yaml_event_delete(&p.event) + } + yaml_parser_delete(&p.parser) +} + +// expect consumes an event from the event stream and +// checks that it's of the expected type. +func (p *parser) expect(e yaml_event_type_t) { + if p.event.typ == yaml_NO_EVENT { + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + } + if p.event.typ == yaml_STREAM_END_EVENT { + failf("attempted to go past the end of stream; corrupted value?") + } + if p.event.typ != e { + p.parser.problem = fmt.Sprintf("expected %s event but got %s", e, p.event.typ) + p.fail() + } + yaml_event_delete(&p.event) + p.event.typ = yaml_NO_EVENT +} + +// peek peeks at the next event in the event stream, +// puts the results into p.event and returns the event type. +func (p *parser) peek() yaml_event_type_t { + if p.event.typ != yaml_NO_EVENT { + return p.event.typ + } + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + return p.event.typ +} + +func (p *parser) fail() { + var where string + var line int + if p.parser.problem_mark.line != 0 { + line = p.parser.problem_mark.line + // Scanner errors don't iterate line before returning error + if p.parser.error == yaml_SCANNER_ERROR { + line++ + } + } else if p.parser.context_mark.line != 0 { + line = p.parser.context_mark.line + } + if line != 0 { + where = "line " + strconv.Itoa(line) + ": " + } + var msg string + if len(p.parser.problem) > 0 { + msg = p.parser.problem + } else { + msg = "unknown problem parsing YAML content" + } + failf("%s%s", where, msg) +} + +func (p *parser) anchor(n *node, anchor []byte) { + if anchor != nil { + p.doc.anchors[string(anchor)] = n + } +} + +func (p *parser) parse() *node { + p.init() + switch p.peek() { + case yaml_SCALAR_EVENT: + return p.scalar() + case yaml_ALIAS_EVENT: + return p.alias() + case yaml_MAPPING_START_EVENT: + return p.mapping() + case yaml_SEQUENCE_START_EVENT: + return p.sequence() + case yaml_DOCUMENT_START_EVENT: + return p.document() + case yaml_STREAM_END_EVENT: + // Happens when attempting to decode an empty buffer. + return nil + default: + panic("attempted to parse unknown event: " + p.event.typ.String()) + } +} + +func (p *parser) node(kind int) *node { + return &node{ + kind: kind, + line: p.event.start_mark.line, + column: p.event.start_mark.column, + } +} + +func (p *parser) document() *node { + n := p.node(documentNode) + n.anchors = make(map[string]*node) + p.doc = n + p.expect(yaml_DOCUMENT_START_EVENT) + n.children = append(n.children, p.parse()) + p.expect(yaml_DOCUMENT_END_EVENT) + return n +} + +func (p *parser) alias() *node { + n := p.node(aliasNode) + n.value = string(p.event.anchor) + n.alias = p.doc.anchors[n.value] + if n.alias == nil { + failf("unknown anchor '%s' referenced", n.value) + } + p.expect(yaml_ALIAS_EVENT) + return n +} + +func (p *parser) scalar() *node { + n := p.node(scalarNode) + n.value = string(p.event.value) + n.tag = string(p.event.tag) + n.implicit = p.event.implicit + p.anchor(n, p.event.anchor) + p.expect(yaml_SCALAR_EVENT) + return n +} + +func (p *parser) sequence() *node { + n := p.node(sequenceNode) + p.anchor(n, p.event.anchor) + p.expect(yaml_SEQUENCE_START_EVENT) + for p.peek() != yaml_SEQUENCE_END_EVENT { + n.children = append(n.children, p.parse()) + } + p.expect(yaml_SEQUENCE_END_EVENT) + return n +} + +func (p *parser) mapping() *node { + n := p.node(mappingNode) + p.anchor(n, p.event.anchor) + p.expect(yaml_MAPPING_START_EVENT) + for p.peek() != yaml_MAPPING_END_EVENT { + n.children = append(n.children, p.parse(), p.parse()) + } + p.expect(yaml_MAPPING_END_EVENT) + return n +} + +// ---------------------------------------------------------------------------- +// Decoder, unmarshals a node into a provided value. + +type decoder struct { + doc *node + aliases map[*node]bool + mapType reflect.Type + terrors []string + strict bool + + decodeCount int + aliasCount int + aliasDepth int +} + +var ( + mapItemType = reflect.TypeOf(MapItem{}) + durationType = reflect.TypeOf(time.Duration(0)) + defaultMapType = reflect.TypeOf(map[interface{}]interface{}{}) + ifaceType = defaultMapType.Elem() + timeType = reflect.TypeOf(time.Time{}) + ptrTimeType = reflect.TypeOf(&time.Time{}) +) + +func newDecoder(strict bool) *decoder { + d := &decoder{mapType: defaultMapType, strict: strict} + d.aliases = make(map[*node]bool) + return d +} + +func (d *decoder) terror(n *node, tag string, out reflect.Value) { + if n.tag != "" { + tag = n.tag + } + value := n.value + if tag != yaml_SEQ_TAG && tag != yaml_MAP_TAG { + if len(value) > 10 { + value = " `" + value[:7] + "...`" + } else { + value = " `" + value + "`" + } + } + d.terrors = append(d.terrors, fmt.Sprintf("line %d: cannot unmarshal %s%s into %s", n.line+1, shortTag(tag), value, out.Type())) +} + +func (d *decoder) callUnmarshaler(n *node, u Unmarshaler) (good bool) { + terrlen := len(d.terrors) + err := u.UnmarshalYAML(func(v interface{}) (err error) { + defer handleErr(&err) + d.unmarshal(n, reflect.ValueOf(v)) + if len(d.terrors) > terrlen { + issues := d.terrors[terrlen:] + d.terrors = d.terrors[:terrlen] + return &TypeError{issues} + } + return nil + }) + if e, ok := err.(*TypeError); ok { + d.terrors = append(d.terrors, e.Errors...) + return false + } + if err != nil { + fail(err) + } + return true +} + +// d.prepare initializes and dereferences pointers and calls UnmarshalYAML +// if a value is found to implement it. +// It returns the initialized and dereferenced out value, whether +// unmarshalling was already done by UnmarshalYAML, and if so whether +// its types unmarshalled appropriately. +// +// If n holds a null value, prepare returns before doing anything. +func (d *decoder) prepare(n *node, out reflect.Value) (newout reflect.Value, unmarshaled, good bool) { + if n.tag == yaml_NULL_TAG || n.kind == scalarNode && n.tag == "" && (n.value == "null" || n.value == "~" || n.value == "" && n.implicit) { + return out, false, false + } + again := true + for again { + again = false + if out.Kind() == reflect.Ptr { + if out.IsNil() { + out.Set(reflect.New(out.Type().Elem())) + } + out = out.Elem() + again = true + } + if out.CanAddr() { + if u, ok := out.Addr().Interface().(Unmarshaler); ok { + good = d.callUnmarshaler(n, u) + return out, true, good + } + } + } + return out, false, false +} + +const ( + // 400,000 decode operations is ~500kb of dense object declarations, or + // ~5kb of dense object declarations with 10000% alias expansion + alias_ratio_range_low = 400000 + + // 4,000,000 decode operations is ~5MB of dense object declarations, or + // ~4.5MB of dense object declarations with 10% alias expansion + alias_ratio_range_high = 4000000 + + // alias_ratio_range is the range over which we scale allowed alias ratios + alias_ratio_range = float64(alias_ratio_range_high - alias_ratio_range_low) +) + +func allowedAliasRatio(decodeCount int) float64 { + switch { + case decodeCount <= alias_ratio_range_low: + // allow 99% to come from alias expansion for small-to-medium documents + return 0.99 + case decodeCount >= alias_ratio_range_high: + // allow 10% to come from alias expansion for very large documents + return 0.10 + default: + // scale smoothly from 99% down to 10% over the range. + // this maps to 396,000 - 400,000 allowed alias-driven decodes over the range. + // 400,000 decode operations is ~100MB of allocations in worst-case scenarios (single-item maps). + return 0.99 - 0.89*(float64(decodeCount-alias_ratio_range_low)/alias_ratio_range) + } +} + +func (d *decoder) unmarshal(n *node, out reflect.Value) (good bool) { + d.decodeCount++ + if d.aliasDepth > 0 { + d.aliasCount++ + } + if d.aliasCount > 100 && d.decodeCount > 1000 && float64(d.aliasCount)/float64(d.decodeCount) > allowedAliasRatio(d.decodeCount) { + failf("document contains excessive aliasing") + } + switch n.kind { + case documentNode: + return d.document(n, out) + case aliasNode: + return d.alias(n, out) + } + out, unmarshaled, good := d.prepare(n, out) + if unmarshaled { + return good + } + switch n.kind { + case scalarNode: + good = d.scalar(n, out) + case mappingNode: + good = d.mapping(n, out) + case sequenceNode: + good = d.sequence(n, out) + default: + panic("internal error: unknown node kind: " + strconv.Itoa(n.kind)) + } + return good +} + +func (d *decoder) document(n *node, out reflect.Value) (good bool) { + if len(n.children) == 1 { + d.doc = n + d.unmarshal(n.children[0], out) + return true + } + return false +} + +func (d *decoder) alias(n *node, out reflect.Value) (good bool) { + if d.aliases[n] { + // TODO this could actually be allowed in some circumstances. + failf("anchor '%s' value contains itself", n.value) + } + d.aliases[n] = true + d.aliasDepth++ + good = d.unmarshal(n.alias, out) + d.aliasDepth-- + delete(d.aliases, n) + return good +} + +var zeroValue reflect.Value + +func resetMap(out reflect.Value) { + for _, k := range out.MapKeys() { + out.SetMapIndex(k, zeroValue) + } +} + +func (d *decoder) scalar(n *node, out reflect.Value) bool { + var tag string + var resolved interface{} + if n.tag == "" && !n.implicit { + tag = yaml_STR_TAG + resolved = n.value + } else { + tag, resolved = resolve(n.tag, n.value) + if tag == yaml_BINARY_TAG { + data, err := base64.StdEncoding.DecodeString(resolved.(string)) + if err != nil { + failf("!!binary value contains invalid base64 data") + } + resolved = string(data) + } + } + if resolved == nil { + if out.Kind() == reflect.Map && !out.CanAddr() { + resetMap(out) + } else { + out.Set(reflect.Zero(out.Type())) + } + return true + } + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + // We've resolved to exactly the type we want, so use that. + out.Set(resolvedv) + return true + } + // Perhaps we can use the value as a TextUnmarshaler to + // set its value. + if out.CanAddr() { + u, ok := out.Addr().Interface().(encoding.TextUnmarshaler) + if ok { + var text []byte + if tag == yaml_BINARY_TAG { + text = []byte(resolved.(string)) + } else { + // We let any value be unmarshaled into TextUnmarshaler. + // That might be more lax than we'd like, but the + // TextUnmarshaler itself should bowl out any dubious values. + text = []byte(n.value) + } + err := u.UnmarshalText(text) + if err != nil { + fail(err) + } + return true + } + } + switch out.Kind() { + case reflect.String: + if tag == yaml_BINARY_TAG { + out.SetString(resolved.(string)) + return true + } + if resolved != nil { + out.SetString(n.value) + return true + } + case reflect.Interface: + if resolved == nil { + out.Set(reflect.Zero(out.Type())) + } else if tag == yaml_TIMESTAMP_TAG { + // It looks like a timestamp but for backward compatibility + // reasons we set it as a string, so that code that unmarshals + // timestamp-like values into interface{} will continue to + // see a string and not a time.Time. + // TODO(v3) Drop this. + out.Set(reflect.ValueOf(n.value)) + } else { + out.Set(reflect.ValueOf(resolved)) + } + return true + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + switch resolved := resolved.(type) { + case int: + if !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case int64: + if !out.OverflowInt(resolved) { + out.SetInt(resolved) + return true + } + case uint64: + if resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case float64: + if resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case string: + if out.Type() == durationType { + d, err := time.ParseDuration(resolved) + if err == nil { + out.SetInt(int64(d)) + return true + } + } + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + switch resolved := resolved.(type) { + case int: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case int64: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case uint64: + if !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case float64: + if resolved <= math.MaxUint64 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + } + case reflect.Bool: + switch resolved := resolved.(type) { + case bool: + out.SetBool(resolved) + return true + } + case reflect.Float32, reflect.Float64: + switch resolved := resolved.(type) { + case int: + out.SetFloat(float64(resolved)) + return true + case int64: + out.SetFloat(float64(resolved)) + return true + case uint64: + out.SetFloat(float64(resolved)) + return true + case float64: + out.SetFloat(resolved) + return true + } + case reflect.Struct: + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + out.Set(resolvedv) + return true + } + case reflect.Ptr: + if out.Type().Elem() == reflect.TypeOf(resolved) { + // TODO DOes this make sense? When is out a Ptr except when decoding a nil value? + elem := reflect.New(out.Type().Elem()) + elem.Elem().Set(reflect.ValueOf(resolved)) + out.Set(elem) + return true + } + } + d.terror(n, tag, out) + return false +} + +func settableValueOf(i interface{}) reflect.Value { + v := reflect.ValueOf(i) + sv := reflect.New(v.Type()).Elem() + sv.Set(v) + return sv +} + +func (d *decoder) sequence(n *node, out reflect.Value) (good bool) { + l := len(n.children) + + var iface reflect.Value + switch out.Kind() { + case reflect.Slice: + out.Set(reflect.MakeSlice(out.Type(), l, l)) + case reflect.Array: + if l != out.Len() { + failf("invalid array: want %d elements but got %d", out.Len(), l) + } + case reflect.Interface: + // No type hints. Will have to use a generic sequence. + iface = out + out = settableValueOf(make([]interface{}, l)) + default: + d.terror(n, yaml_SEQ_TAG, out) + return false + } + et := out.Type().Elem() + + j := 0 + for i := 0; i < l; i++ { + e := reflect.New(et).Elem() + if ok := d.unmarshal(n.children[i], e); ok { + out.Index(j).Set(e) + j++ + } + } + if out.Kind() != reflect.Array { + out.Set(out.Slice(0, j)) + } + if iface.IsValid() { + iface.Set(out) + } + return true +} + +func (d *decoder) mapping(n *node, out reflect.Value) (good bool) { + switch out.Kind() { + case reflect.Struct: + return d.mappingStruct(n, out) + case reflect.Slice: + return d.mappingSlice(n, out) + case reflect.Map: + // okay + case reflect.Interface: + if d.mapType.Kind() == reflect.Map { + iface := out + out = reflect.MakeMap(d.mapType) + iface.Set(out) + } else { + slicev := reflect.New(d.mapType).Elem() + if !d.mappingSlice(n, slicev) { + return false + } + out.Set(slicev) + return true + } + default: + d.terror(n, yaml_MAP_TAG, out) + return false + } + outt := out.Type() + kt := outt.Key() + et := outt.Elem() + + mapType := d.mapType + if outt.Key() == ifaceType && outt.Elem() == ifaceType { + d.mapType = outt + } + + if out.IsNil() { + out.Set(reflect.MakeMap(outt)) + } + l := len(n.children) + for i := 0; i < l; i += 2 { + if isMerge(n.children[i]) { + d.merge(n.children[i+1], out) + continue + } + k := reflect.New(kt).Elem() + if d.unmarshal(n.children[i], k) { + kkind := k.Kind() + if kkind == reflect.Interface { + kkind = k.Elem().Kind() + } + if kkind == reflect.Map || kkind == reflect.Slice { + failf("invalid map key: %#v", k.Interface()) + } + e := reflect.New(et).Elem() + if d.unmarshal(n.children[i+1], e) { + d.setMapIndex(n.children[i+1], out, k, e) + } + } + } + d.mapType = mapType + return true +} + +func (d *decoder) setMapIndex(n *node, out, k, v reflect.Value) { + if d.strict && out.MapIndex(k) != zeroValue { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: key %#v already set in map", n.line+1, k.Interface())) + return + } + out.SetMapIndex(k, v) +} + +func (d *decoder) mappingSlice(n *node, out reflect.Value) (good bool) { + outt := out.Type() + if outt.Elem() != mapItemType { + d.terror(n, yaml_MAP_TAG, out) + return false + } + + mapType := d.mapType + d.mapType = outt + + var slice []MapItem + var l = len(n.children) + for i := 0; i < l; i += 2 { + if isMerge(n.children[i]) { + d.merge(n.children[i+1], out) + continue + } + item := MapItem{} + k := reflect.ValueOf(&item.Key).Elem() + if d.unmarshal(n.children[i], k) { + v := reflect.ValueOf(&item.Value).Elem() + if d.unmarshal(n.children[i+1], v) { + slice = append(slice, item) + } + } + } + out.Set(reflect.ValueOf(slice)) + d.mapType = mapType + return true +} + +func (d *decoder) mappingStruct(n *node, out reflect.Value) (good bool) { + sinfo, err := getStructInfo(out.Type()) + if err != nil { + panic(err) + } + name := settableValueOf("") + l := len(n.children) + + var inlineMap reflect.Value + var elemType reflect.Type + if sinfo.InlineMap != -1 { + inlineMap = out.Field(sinfo.InlineMap) + inlineMap.Set(reflect.New(inlineMap.Type()).Elem()) + elemType = inlineMap.Type().Elem() + } + + var doneFields []bool + if d.strict { + doneFields = make([]bool, len(sinfo.FieldsList)) + } + for i := 0; i < l; i += 2 { + ni := n.children[i] + if isMerge(ni) { + d.merge(n.children[i+1], out) + continue + } + if !d.unmarshal(ni, name) { + continue + } + if info, ok := sinfo.FieldsMap[name.String()]; ok { + if d.strict { + if doneFields[info.Id] { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s already set in type %s", ni.line+1, name.String(), out.Type())) + continue + } + doneFields[info.Id] = true + } + var field reflect.Value + if info.Inline == nil { + field = out.Field(info.Num) + } else { + field = out.FieldByIndex(info.Inline) + } + d.unmarshal(n.children[i+1], field) + } else if sinfo.InlineMap != -1 { + if inlineMap.IsNil() { + inlineMap.Set(reflect.MakeMap(inlineMap.Type())) + } + value := reflect.New(elemType).Elem() + d.unmarshal(n.children[i+1], value) + d.setMapIndex(n.children[i+1], inlineMap, name, value) + } else if d.strict { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s not found in type %s", ni.line+1, name.String(), out.Type())) + } + } + return true +} + +func failWantMap() { + failf("map merge requires map or sequence of maps as the value") +} + +func (d *decoder) merge(n *node, out reflect.Value) { + switch n.kind { + case mappingNode: + d.unmarshal(n, out) + case aliasNode: + if n.alias != nil && n.alias.kind != mappingNode { + failWantMap() + } + d.unmarshal(n, out) + case sequenceNode: + // Step backwards as earlier nodes take precedence. + for i := len(n.children) - 1; i >= 0; i-- { + ni := n.children[i] + if ni.kind == aliasNode { + if ni.alias != nil && ni.alias.kind != mappingNode { + failWantMap() + } + } else if ni.kind != mappingNode { + failWantMap() + } + d.unmarshal(ni, out) + } + default: + failWantMap() + } +} + +func isMerge(n *node) bool { + return n.kind == scalarNode && n.value == "<<" && (n.implicit == true || n.tag == yaml_MERGE_TAG) +} diff --git a/vendor/gopkg.in/yaml.v2/emitterc.go b/vendor/gopkg.in/yaml.v2/emitterc.go new file mode 100644 index 000000000..a1c2cc526 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/emitterc.go @@ -0,0 +1,1685 @@ +package yaml + +import ( + "bytes" + "fmt" +) + +// Flush the buffer if needed. +func flush(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) { + return yaml_emitter_flush(emitter) + } + return true +} + +// Put a character to the output buffer. +func put(emitter *yaml_emitter_t, value byte) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + emitter.buffer[emitter.buffer_pos] = value + emitter.buffer_pos++ + emitter.column++ + return true +} + +// Put a line break to the output buffer. +func put_break(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + switch emitter.line_break { + case yaml_CR_BREAK: + emitter.buffer[emitter.buffer_pos] = '\r' + emitter.buffer_pos += 1 + case yaml_LN_BREAK: + emitter.buffer[emitter.buffer_pos] = '\n' + emitter.buffer_pos += 1 + case yaml_CRLN_BREAK: + emitter.buffer[emitter.buffer_pos+0] = '\r' + emitter.buffer[emitter.buffer_pos+1] = '\n' + emitter.buffer_pos += 2 + default: + panic("unknown line break setting") + } + emitter.column = 0 + emitter.line++ + return true +} + +// Copy a character from a string into buffer. +func write(emitter *yaml_emitter_t, s []byte, i *int) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + p := emitter.buffer_pos + w := width(s[*i]) + switch w { + case 4: + emitter.buffer[p+3] = s[*i+3] + fallthrough + case 3: + emitter.buffer[p+2] = s[*i+2] + fallthrough + case 2: + emitter.buffer[p+1] = s[*i+1] + fallthrough + case 1: + emitter.buffer[p+0] = s[*i+0] + default: + panic("unknown character width") + } + emitter.column++ + emitter.buffer_pos += w + *i += w + return true +} + +// Write a whole string into buffer. +func write_all(emitter *yaml_emitter_t, s []byte) bool { + for i := 0; i < len(s); { + if !write(emitter, s, &i) { + return false + } + } + return true +} + +// Copy a line break character from a string into buffer. +func write_break(emitter *yaml_emitter_t, s []byte, i *int) bool { + if s[*i] == '\n' { + if !put_break(emitter) { + return false + } + *i++ + } else { + if !write(emitter, s, i) { + return false + } + emitter.column = 0 + emitter.line++ + } + return true +} + +// Set an emitter error and return false. +func yaml_emitter_set_emitter_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_EMITTER_ERROR + emitter.problem = problem + return false +} + +// Emit an event. +func yaml_emitter_emit(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.events = append(emitter.events, *event) + for !yaml_emitter_need_more_events(emitter) { + event := &emitter.events[emitter.events_head] + if !yaml_emitter_analyze_event(emitter, event) { + return false + } + if !yaml_emitter_state_machine(emitter, event) { + return false + } + yaml_event_delete(event) + emitter.events_head++ + } + return true +} + +// Check if we need to accumulate more events before emitting. +// +// We accumulate extra +// - 1 event for DOCUMENT-START +// - 2 events for SEQUENCE-START +// - 3 events for MAPPING-START +// +func yaml_emitter_need_more_events(emitter *yaml_emitter_t) bool { + if emitter.events_head == len(emitter.events) { + return true + } + var accumulate int + switch emitter.events[emitter.events_head].typ { + case yaml_DOCUMENT_START_EVENT: + accumulate = 1 + break + case yaml_SEQUENCE_START_EVENT: + accumulate = 2 + break + case yaml_MAPPING_START_EVENT: + accumulate = 3 + break + default: + return false + } + if len(emitter.events)-emitter.events_head > accumulate { + return false + } + var level int + for i := emitter.events_head; i < len(emitter.events); i++ { + switch emitter.events[i].typ { + case yaml_STREAM_START_EVENT, yaml_DOCUMENT_START_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT: + level++ + case yaml_STREAM_END_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_END_EVENT, yaml_MAPPING_END_EVENT: + level-- + } + if level == 0 { + return false + } + } + return true +} + +// Append a directive to the directives stack. +func yaml_emitter_append_tag_directive(emitter *yaml_emitter_t, value *yaml_tag_directive_t, allow_duplicates bool) bool { + for i := 0; i < len(emitter.tag_directives); i++ { + if bytes.Equal(value.handle, emitter.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_emitter_set_emitter_error(emitter, "duplicate %TAG directive") + } + } + + // [Go] Do we actually need to copy this given garbage collection + // and the lack of deallocating destructors? + tag_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(tag_copy.handle, value.handle) + copy(tag_copy.prefix, value.prefix) + emitter.tag_directives = append(emitter.tag_directives, tag_copy) + return true +} + +// Increase the indentation level. +func yaml_emitter_increase_indent(emitter *yaml_emitter_t, flow, indentless bool) bool { + emitter.indents = append(emitter.indents, emitter.indent) + if emitter.indent < 0 { + if flow { + emitter.indent = emitter.best_indent + } else { + emitter.indent = 0 + } + } else if !indentless { + emitter.indent += emitter.best_indent + } + return true +} + +// State dispatcher. +func yaml_emitter_state_machine(emitter *yaml_emitter_t, event *yaml_event_t) bool { + switch emitter.state { + default: + case yaml_EMIT_STREAM_START_STATE: + return yaml_emitter_emit_stream_start(emitter, event) + + case yaml_EMIT_FIRST_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, true) + + case yaml_EMIT_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, false) + + case yaml_EMIT_DOCUMENT_CONTENT_STATE: + return yaml_emitter_emit_document_content(emitter, event) + + case yaml_EMIT_DOCUMENT_END_STATE: + return yaml_emitter_emit_document_end(emitter, event) + + case yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, true) + + case yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, false) + + case yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, true) + + case yaml_EMIT_FLOW_MAPPING_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, false) + + case yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, true) + + case yaml_EMIT_FLOW_MAPPING_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, false) + + case yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, true) + + case yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, false) + + case yaml_EMIT_END_STATE: + return yaml_emitter_set_emitter_error(emitter, "expected nothing after STREAM-END") + } + panic("invalid emitter state") +} + +// Expect STREAM-START. +func yaml_emitter_emit_stream_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_STREAM_START_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected STREAM-START") + } + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = event.encoding + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = yaml_UTF8_ENCODING + } + } + if emitter.best_indent < 2 || emitter.best_indent > 9 { + emitter.best_indent = 2 + } + if emitter.best_width >= 0 && emitter.best_width <= emitter.best_indent*2 { + emitter.best_width = 80 + } + if emitter.best_width < 0 { + emitter.best_width = 1<<31 - 1 + } + if emitter.line_break == yaml_ANY_BREAK { + emitter.line_break = yaml_LN_BREAK + } + + emitter.indent = -1 + emitter.line = 0 + emitter.column = 0 + emitter.whitespace = true + emitter.indention = true + + if emitter.encoding != yaml_UTF8_ENCODING { + if !yaml_emitter_write_bom(emitter) { + return false + } + } + emitter.state = yaml_EMIT_FIRST_DOCUMENT_START_STATE + return true +} + +// Expect DOCUMENT-START or STREAM-END. +func yaml_emitter_emit_document_start(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + + if event.typ == yaml_DOCUMENT_START_EVENT { + + if event.version_directive != nil { + if !yaml_emitter_analyze_version_directive(emitter, event.version_directive) { + return false + } + } + + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_analyze_tag_directive(emitter, tag_directive) { + return false + } + if !yaml_emitter_append_tag_directive(emitter, tag_directive, false) { + return false + } + } + + for i := 0; i < len(default_tag_directives); i++ { + tag_directive := &default_tag_directives[i] + if !yaml_emitter_append_tag_directive(emitter, tag_directive, true) { + return false + } + } + + implicit := event.implicit + if !first || emitter.canonical { + implicit = false + } + + if emitter.open_ended && (event.version_directive != nil || len(event.tag_directives) > 0) { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if event.version_directive != nil { + implicit = false + if !yaml_emitter_write_indicator(emitter, []byte("%YAML"), true, false, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("1.1"), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if len(event.tag_directives) > 0 { + implicit = false + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_write_indicator(emitter, []byte("%TAG"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_handle(emitter, tag_directive.handle) { + return false + } + if !yaml_emitter_write_tag_content(emitter, tag_directive.prefix, true) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + if yaml_emitter_check_empty_document(emitter) { + implicit = false + } + if !implicit { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("---"), true, false, false) { + return false + } + if emitter.canonical { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + emitter.state = yaml_EMIT_DOCUMENT_CONTENT_STATE + return true + } + + if event.typ == yaml_STREAM_END_EVENT { + if emitter.open_ended { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_END_STATE + return true + } + + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-START or STREAM-END") +} + +// Expect the root node. +func yaml_emitter_emit_document_content(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.states = append(emitter.states, yaml_EMIT_DOCUMENT_END_STATE) + return yaml_emitter_emit_node(emitter, event, true, false, false, false) +} + +// Expect DOCUMENT-END. +func yaml_emitter_emit_document_end(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_DOCUMENT_END_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-END") + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !event.implicit { + // [Go] Allocate the slice elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_DOCUMENT_START_STATE + emitter.tag_directives = emitter.tag_directives[:0] + return true +} + +// Expect a flow item node. +func yaml_emitter_emit_flow_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'['}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_SEQUENCE_END_EVENT { + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.canonical && !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{']'}, false, false, false) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + + return true + } + + if !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE) + return yaml_emitter_emit_node(emitter, event, false, true, false, false) +} + +// Expect a flow key node. +func yaml_emitter_emit_flow_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'{'}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_MAPPING_END_EVENT { + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.canonical && !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'}'}, false, false, false) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + + if !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if !emitter.canonical && yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, false) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a flow value node. +func yaml_emitter_emit_flow_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, false) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_KEY_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a block item node. +func yaml_emitter_emit_block_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, emitter.mapping_context && !emitter.indention) { + return false + } + } + if event.typ == yaml_SEQUENCE_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'-'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE) + return yaml_emitter_emit_node(emitter, event, false, true, false, false) +} + +// Expect a block key node. +func yaml_emitter_emit_block_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, false) { + return false + } + } + if event.typ == yaml_MAPPING_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a block value node. +func yaml_emitter_emit_block_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, true) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_KEY_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a node. +func yaml_emitter_emit_node(emitter *yaml_emitter_t, event *yaml_event_t, + root bool, sequence bool, mapping bool, simple_key bool) bool { + + emitter.root_context = root + emitter.sequence_context = sequence + emitter.mapping_context = mapping + emitter.simple_key_context = simple_key + + switch event.typ { + case yaml_ALIAS_EVENT: + return yaml_emitter_emit_alias(emitter, event) + case yaml_SCALAR_EVENT: + return yaml_emitter_emit_scalar(emitter, event) + case yaml_SEQUENCE_START_EVENT: + return yaml_emitter_emit_sequence_start(emitter, event) + case yaml_MAPPING_START_EVENT: + return yaml_emitter_emit_mapping_start(emitter, event) + default: + return yaml_emitter_set_emitter_error(emitter, + fmt.Sprintf("expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS, but got %v", event.typ)) + } +} + +// Expect ALIAS. +func yaml_emitter_emit_alias(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SCALAR. +func yaml_emitter_emit_scalar(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_select_scalar_style(emitter, event) { + return false + } + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + if !yaml_emitter_process_scalar(emitter) { + return false + } + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SEQUENCE-START. +func yaml_emitter_emit_sequence_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.sequence_style() == yaml_FLOW_SEQUENCE_STYLE || + yaml_emitter_check_empty_sequence(emitter) { + emitter.state = yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE + } + return true +} + +// Expect MAPPING-START. +func yaml_emitter_emit_mapping_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.mapping_style() == yaml_FLOW_MAPPING_STYLE || + yaml_emitter_check_empty_mapping(emitter) { + emitter.state = yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE + } + return true +} + +// Check if the document content is an empty scalar. +func yaml_emitter_check_empty_document(emitter *yaml_emitter_t) bool { + return false // [Go] Huh? +} + +// Check if the next events represent an empty sequence. +func yaml_emitter_check_empty_sequence(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_SEQUENCE_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_SEQUENCE_END_EVENT +} + +// Check if the next events represent an empty mapping. +func yaml_emitter_check_empty_mapping(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_MAPPING_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_MAPPING_END_EVENT +} + +// Check if the next node can be expressed as a simple key. +func yaml_emitter_check_simple_key(emitter *yaml_emitter_t) bool { + length := 0 + switch emitter.events[emitter.events_head].typ { + case yaml_ALIAS_EVENT: + length += len(emitter.anchor_data.anchor) + case yaml_SCALAR_EVENT: + if emitter.scalar_data.multiline { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + + len(emitter.scalar_data.value) + case yaml_SEQUENCE_START_EVENT: + if !yaml_emitter_check_empty_sequence(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + case yaml_MAPPING_START_EVENT: + if !yaml_emitter_check_empty_mapping(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + default: + return false + } + return length <= 128 +} + +// Determine an acceptable scalar style. +func yaml_emitter_select_scalar_style(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + no_tag := len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 + if no_tag && !event.implicit && !event.quoted_implicit { + return yaml_emitter_set_emitter_error(emitter, "neither tag nor implicit flags are specified") + } + + style := event.scalar_style() + if style == yaml_ANY_SCALAR_STYLE { + style = yaml_PLAIN_SCALAR_STYLE + } + if emitter.canonical { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + if emitter.simple_key_context && emitter.scalar_data.multiline { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + + if style == yaml_PLAIN_SCALAR_STYLE { + if emitter.flow_level > 0 && !emitter.scalar_data.flow_plain_allowed || + emitter.flow_level == 0 && !emitter.scalar_data.block_plain_allowed { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if len(emitter.scalar_data.value) == 0 && (emitter.flow_level > 0 || emitter.simple_key_context) { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if no_tag && !event.implicit { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_SINGLE_QUOTED_SCALAR_STYLE { + if !emitter.scalar_data.single_quoted_allowed { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_LITERAL_SCALAR_STYLE || style == yaml_FOLDED_SCALAR_STYLE { + if !emitter.scalar_data.block_allowed || emitter.flow_level > 0 || emitter.simple_key_context { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + + if no_tag && !event.quoted_implicit && style != yaml_PLAIN_SCALAR_STYLE { + emitter.tag_data.handle = []byte{'!'} + } + emitter.scalar_data.style = style + return true +} + +// Write an anchor. +func yaml_emitter_process_anchor(emitter *yaml_emitter_t) bool { + if emitter.anchor_data.anchor == nil { + return true + } + c := []byte{'&'} + if emitter.anchor_data.alias { + c[0] = '*' + } + if !yaml_emitter_write_indicator(emitter, c, true, false, false) { + return false + } + return yaml_emitter_write_anchor(emitter, emitter.anchor_data.anchor) +} + +// Write a tag. +func yaml_emitter_process_tag(emitter *yaml_emitter_t) bool { + if len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 { + return true + } + if len(emitter.tag_data.handle) > 0 { + if !yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle) { + return false + } + if len(emitter.tag_data.suffix) > 0 { + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + } + } else { + // [Go] Allocate these slices elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("!<"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, false, false, false) { + return false + } + } + return true +} + +// Write a scalar. +func yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool { + switch emitter.scalar_data.style { + case yaml_PLAIN_SCALAR_STYLE: + return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_SINGLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_DOUBLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_double_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_LITERAL_SCALAR_STYLE: + return yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value) + + case yaml_FOLDED_SCALAR_STYLE: + return yaml_emitter_write_folded_scalar(emitter, emitter.scalar_data.value) + } + panic("unknown scalar style") +} + +// Check if a %YAML directive is valid. +func yaml_emitter_analyze_version_directive(emitter *yaml_emitter_t, version_directive *yaml_version_directive_t) bool { + if version_directive.major != 1 || version_directive.minor != 1 { + return yaml_emitter_set_emitter_error(emitter, "incompatible %YAML directive") + } + return true +} + +// Check if a %TAG directive is valid. +func yaml_emitter_analyze_tag_directive(emitter *yaml_emitter_t, tag_directive *yaml_tag_directive_t) bool { + handle := tag_directive.handle + prefix := tag_directive.prefix + if len(handle) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag handle must not be empty") + } + if handle[0] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must start with '!'") + } + if handle[len(handle)-1] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must end with '!'") + } + for i := 1; i < len(handle)-1; i += width(handle[i]) { + if !is_alpha(handle, i) { + return yaml_emitter_set_emitter_error(emitter, "tag handle must contain alphanumerical characters only") + } + } + if len(prefix) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag prefix must not be empty") + } + return true +} + +// Check if an anchor is valid. +func yaml_emitter_analyze_anchor(emitter *yaml_emitter_t, anchor []byte, alias bool) bool { + if len(anchor) == 0 { + problem := "anchor value must not be empty" + if alias { + problem = "alias value must not be empty" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + for i := 0; i < len(anchor); i += width(anchor[i]) { + if !is_alpha(anchor, i) { + problem := "anchor value must contain alphanumerical characters only" + if alias { + problem = "alias value must contain alphanumerical characters only" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + } + emitter.anchor_data.anchor = anchor + emitter.anchor_data.alias = alias + return true +} + +// Check if a tag is valid. +func yaml_emitter_analyze_tag(emitter *yaml_emitter_t, tag []byte) bool { + if len(tag) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag value must not be empty") + } + for i := 0; i < len(emitter.tag_directives); i++ { + tag_directive := &emitter.tag_directives[i] + if bytes.HasPrefix(tag, tag_directive.prefix) { + emitter.tag_data.handle = tag_directive.handle + emitter.tag_data.suffix = tag[len(tag_directive.prefix):] + return true + } + } + emitter.tag_data.suffix = tag + return true +} + +// Check if a scalar is valid. +func yaml_emitter_analyze_scalar(emitter *yaml_emitter_t, value []byte) bool { + var ( + block_indicators = false + flow_indicators = false + line_breaks = false + special_characters = false + + leading_space = false + leading_break = false + trailing_space = false + trailing_break = false + break_space = false + space_break = false + + preceded_by_whitespace = false + followed_by_whitespace = false + previous_space = false + previous_break = false + ) + + emitter.scalar_data.value = value + + if len(value) == 0 { + emitter.scalar_data.multiline = false + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = false + return true + } + + if len(value) >= 3 && ((value[0] == '-' && value[1] == '-' && value[2] == '-') || (value[0] == '.' && value[1] == '.' && value[2] == '.')) { + block_indicators = true + flow_indicators = true + } + + preceded_by_whitespace = true + for i, w := 0, 0; i < len(value); i += w { + w = width(value[i]) + followed_by_whitespace = i+w >= len(value) || is_blank(value, i+w) + + if i == 0 { + switch value[i] { + case '#', ',', '[', ']', '{', '}', '&', '*', '!', '|', '>', '\'', '"', '%', '@', '`': + flow_indicators = true + block_indicators = true + case '?', ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '-': + if followed_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } else { + switch value[i] { + case ',', '?', '[', ']', '{', '}': + flow_indicators = true + case ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '#': + if preceded_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } + + if !is_printable(value, i) || !is_ascii(value, i) && !emitter.unicode { + special_characters = true + } + if is_space(value, i) { + if i == 0 { + leading_space = true + } + if i+width(value[i]) == len(value) { + trailing_space = true + } + if previous_break { + break_space = true + } + previous_space = true + previous_break = false + } else if is_break(value, i) { + line_breaks = true + if i == 0 { + leading_break = true + } + if i+width(value[i]) == len(value) { + trailing_break = true + } + if previous_space { + space_break = true + } + previous_space = false + previous_break = true + } else { + previous_space = false + previous_break = false + } + + // [Go]: Why 'z'? Couldn't be the end of the string as that's the loop condition. + preceded_by_whitespace = is_blankz(value, i) + } + + emitter.scalar_data.multiline = line_breaks + emitter.scalar_data.flow_plain_allowed = true + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = true + + if leading_space || leading_break || trailing_space || trailing_break { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if trailing_space { + emitter.scalar_data.block_allowed = false + } + if break_space { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + } + if space_break || special_characters { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + emitter.scalar_data.block_allowed = false + } + if line_breaks { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if flow_indicators { + emitter.scalar_data.flow_plain_allowed = false + } + if block_indicators { + emitter.scalar_data.block_plain_allowed = false + } + return true +} + +// Check if the event data is valid. +func yaml_emitter_analyze_event(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + emitter.anchor_data.anchor = nil + emitter.tag_data.handle = nil + emitter.tag_data.suffix = nil + emitter.scalar_data.value = nil + + switch event.typ { + case yaml_ALIAS_EVENT: + if !yaml_emitter_analyze_anchor(emitter, event.anchor, true) { + return false + } + + case yaml_SCALAR_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || (!event.implicit && !event.quoted_implicit)) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + if !yaml_emitter_analyze_scalar(emitter, event.value) { + return false + } + + case yaml_SEQUENCE_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + + case yaml_MAPPING_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + } + return true +} + +// Write the BOM character. +func yaml_emitter_write_bom(emitter *yaml_emitter_t) bool { + if !flush(emitter) { + return false + } + pos := emitter.buffer_pos + emitter.buffer[pos+0] = '\xEF' + emitter.buffer[pos+1] = '\xBB' + emitter.buffer[pos+2] = '\xBF' + emitter.buffer_pos += 3 + return true +} + +func yaml_emitter_write_indent(emitter *yaml_emitter_t) bool { + indent := emitter.indent + if indent < 0 { + indent = 0 + } + if !emitter.indention || emitter.column > indent || (emitter.column == indent && !emitter.whitespace) { + if !put_break(emitter) { + return false + } + } + for emitter.column < indent { + if !put(emitter, ' ') { + return false + } + } + emitter.whitespace = true + emitter.indention = true + return true +} + +func yaml_emitter_write_indicator(emitter *yaml_emitter_t, indicator []byte, need_whitespace, is_whitespace, is_indention bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, indicator) { + return false + } + emitter.whitespace = is_whitespace + emitter.indention = (emitter.indention && is_indention) + emitter.open_ended = false + return true +} + +func yaml_emitter_write_anchor(emitter *yaml_emitter_t, value []byte) bool { + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_handle(emitter *yaml_emitter_t, value []byte) bool { + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_content(emitter *yaml_emitter_t, value []byte, need_whitespace bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + for i := 0; i < len(value); { + var must_write bool + switch value[i] { + case ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '_', '.', '~', '*', '\'', '(', ')', '[', ']': + must_write = true + default: + must_write = is_alpha(value, i) + } + if must_write { + if !write(emitter, value, &i) { + return false + } + } else { + w := width(value[i]) + for k := 0; k < w; k++ { + octet := value[i] + i++ + if !put(emitter, '%') { + return false + } + + c := octet >> 4 + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + + c = octet & 0x0f + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + } + } + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_plain_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + + emitter.whitespace = false + emitter.indention = false + if emitter.root_context { + emitter.open_ended = true + } + + return true +} + +func yaml_emitter_write_single_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, true, false, false) { + return false + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if value[i] == '\'' { + if !put(emitter, '\'') { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_double_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + spaces := false + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, true, false, false) { + return false + } + + for i := 0; i < len(value); { + if !is_printable(value, i) || (!emitter.unicode && !is_ascii(value, i)) || + is_bom(value, i) || is_break(value, i) || + value[i] == '"' || value[i] == '\\' { + + octet := value[i] + + var w int + var v rune + switch { + case octet&0x80 == 0x00: + w, v = 1, rune(octet&0x7F) + case octet&0xE0 == 0xC0: + w, v = 2, rune(octet&0x1F) + case octet&0xF0 == 0xE0: + w, v = 3, rune(octet&0x0F) + case octet&0xF8 == 0xF0: + w, v = 4, rune(octet&0x07) + } + for k := 1; k < w; k++ { + octet = value[i+k] + v = (v << 6) + (rune(octet) & 0x3F) + } + i += w + + if !put(emitter, '\\') { + return false + } + + var ok bool + switch v { + case 0x00: + ok = put(emitter, '0') + case 0x07: + ok = put(emitter, 'a') + case 0x08: + ok = put(emitter, 'b') + case 0x09: + ok = put(emitter, 't') + case 0x0A: + ok = put(emitter, 'n') + case 0x0b: + ok = put(emitter, 'v') + case 0x0c: + ok = put(emitter, 'f') + case 0x0d: + ok = put(emitter, 'r') + case 0x1b: + ok = put(emitter, 'e') + case 0x22: + ok = put(emitter, '"') + case 0x5c: + ok = put(emitter, '\\') + case 0x85: + ok = put(emitter, 'N') + case 0xA0: + ok = put(emitter, '_') + case 0x2028: + ok = put(emitter, 'L') + case 0x2029: + ok = put(emitter, 'P') + default: + if v <= 0xFF { + ok = put(emitter, 'x') + w = 2 + } else if v <= 0xFFFF { + ok = put(emitter, 'u') + w = 4 + } else { + ok = put(emitter, 'U') + w = 8 + } + for k := (w - 1) * 4; ok && k >= 0; k -= 4 { + digit := byte((v >> uint(k)) & 0x0F) + if digit < 10 { + ok = put(emitter, digit+'0') + } else { + ok = put(emitter, digit+'A'-10) + } + } + } + if !ok { + return false + } + spaces = false + } else if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 { + if !yaml_emitter_write_indent(emitter) { + return false + } + if is_space(value, i+1) { + if !put(emitter, '\\') { + return false + } + } + i += width(value[i]) + } else if !write(emitter, value, &i) { + return false + } + spaces = true + } else { + if !write(emitter, value, &i) { + return false + } + spaces = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_block_scalar_hints(emitter *yaml_emitter_t, value []byte) bool { + if is_space(value, 0) || is_break(value, 0) { + indent_hint := []byte{'0' + byte(emitter.best_indent)} + if !yaml_emitter_write_indicator(emitter, indent_hint, false, false, false) { + return false + } + } + + emitter.open_ended = false + + var chomp_hint [1]byte + if len(value) == 0 { + chomp_hint[0] = '-' + } else { + i := len(value) - 1 + for value[i]&0xC0 == 0x80 { + i-- + } + if !is_break(value, i) { + chomp_hint[0] = '-' + } else if i == 0 { + chomp_hint[0] = '+' + emitter.open_ended = true + } else { + i-- + for value[i]&0xC0 == 0x80 { + i-- + } + if is_break(value, i) { + chomp_hint[0] = '+' + emitter.open_ended = true + } + } + } + if chomp_hint[0] != 0 { + if !yaml_emitter_write_indicator(emitter, chomp_hint[:], false, false, false) { + return false + } + } + return true +} + +func yaml_emitter_write_literal_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'|'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + if !put_break(emitter) { + return false + } + emitter.indention = true + emitter.whitespace = true + breaks := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + breaks = false + } + } + + return true +} + +func yaml_emitter_write_folded_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + + if !put_break(emitter) { + return false + } + emitter.indention = true + emitter.whitespace = true + + breaks := true + leading_spaces := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !breaks && !leading_spaces && value[i] == '\n' { + k := 0 + for is_break(value, k) { + k += width(value[k]) + } + if !is_blankz(value, k) { + if !put_break(emitter) { + return false + } + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + leading_spaces = is_blank(value, i) + } + if !breaks && is_space(value, i) && !is_space(value, i+1) && emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + emitter.indention = false + breaks = false + } + } + return true +} diff --git a/vendor/gopkg.in/yaml.v2/encode.go b/vendor/gopkg.in/yaml.v2/encode.go new file mode 100644 index 000000000..0ee738e11 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/encode.go @@ -0,0 +1,390 @@ +package yaml + +import ( + "encoding" + "fmt" + "io" + "reflect" + "regexp" + "sort" + "strconv" + "strings" + "time" + "unicode/utf8" +) + +// jsonNumber is the interface of the encoding/json.Number datatype. +// Repeating the interface here avoids a dependency on encoding/json, and also +// supports other libraries like jsoniter, which use a similar datatype with +// the same interface. Detecting this interface is useful when dealing with +// structures containing json.Number, which is a string under the hood. The +// encoder should prefer the use of Int64(), Float64() and string(), in that +// order, when encoding this type. +type jsonNumber interface { + Float64() (float64, error) + Int64() (int64, error) + String() string +} + +type encoder struct { + emitter yaml_emitter_t + event yaml_event_t + out []byte + flow bool + // doneInit holds whether the initial stream_start_event has been + // emitted. + doneInit bool +} + +func newEncoder() *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_string(&e.emitter, &e.out) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func newEncoderWithWriter(w io.Writer) *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_writer(&e.emitter, w) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func (e *encoder) init() { + if e.doneInit { + return + } + yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING) + e.emit() + e.doneInit = true +} + +func (e *encoder) finish() { + e.emitter.open_ended = false + yaml_stream_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) destroy() { + yaml_emitter_delete(&e.emitter) +} + +func (e *encoder) emit() { + // This will internally delete the e.event value. + e.must(yaml_emitter_emit(&e.emitter, &e.event)) +} + +func (e *encoder) must(ok bool) { + if !ok { + msg := e.emitter.problem + if msg == "" { + msg = "unknown problem generating YAML content" + } + failf("%s", msg) + } +} + +func (e *encoder) marshalDoc(tag string, in reflect.Value) { + e.init() + yaml_document_start_event_initialize(&e.event, nil, nil, true) + e.emit() + e.marshal(tag, in) + yaml_document_end_event_initialize(&e.event, true) + e.emit() +} + +func (e *encoder) marshal(tag string, in reflect.Value) { + if !in.IsValid() || in.Kind() == reflect.Ptr && in.IsNil() { + e.nilv() + return + } + iface := in.Interface() + switch m := iface.(type) { + case jsonNumber: + integer, err := m.Int64() + if err == nil { + // In this case the json.Number is a valid int64 + in = reflect.ValueOf(integer) + break + } + float, err := m.Float64() + if err == nil { + // In this case the json.Number is a valid float64 + in = reflect.ValueOf(float) + break + } + // fallback case - no number could be obtained + in = reflect.ValueOf(m.String()) + case time.Time, *time.Time: + // Although time.Time implements TextMarshaler, + // we don't want to treat it as a string for YAML + // purposes because YAML has special support for + // timestamps. + case Marshaler: + v, err := m.MarshalYAML() + if err != nil { + fail(err) + } + if v == nil { + e.nilv() + return + } + in = reflect.ValueOf(v) + case encoding.TextMarshaler: + text, err := m.MarshalText() + if err != nil { + fail(err) + } + in = reflect.ValueOf(string(text)) + case nil: + e.nilv() + return + } + switch in.Kind() { + case reflect.Interface: + e.marshal(tag, in.Elem()) + case reflect.Map: + e.mapv(tag, in) + case reflect.Ptr: + if in.Type() == ptrTimeType { + e.timev(tag, in.Elem()) + } else { + e.marshal(tag, in.Elem()) + } + case reflect.Struct: + if in.Type() == timeType { + e.timev(tag, in) + } else { + e.structv(tag, in) + } + case reflect.Slice, reflect.Array: + if in.Type().Elem() == mapItemType { + e.itemsv(tag, in) + } else { + e.slicev(tag, in) + } + case reflect.String: + e.stringv(tag, in) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + if in.Type() == durationType { + e.stringv(tag, reflect.ValueOf(iface.(time.Duration).String())) + } else { + e.intv(tag, in) + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + e.uintv(tag, in) + case reflect.Float32, reflect.Float64: + e.floatv(tag, in) + case reflect.Bool: + e.boolv(tag, in) + default: + panic("cannot marshal type: " + in.Type().String()) + } +} + +func (e *encoder) mapv(tag string, in reflect.Value) { + e.mappingv(tag, func() { + keys := keyList(in.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + e.marshal("", k) + e.marshal("", in.MapIndex(k)) + } + }) +} + +func (e *encoder) itemsv(tag string, in reflect.Value) { + e.mappingv(tag, func() { + slice := in.Convert(reflect.TypeOf([]MapItem{})).Interface().([]MapItem) + for _, item := range slice { + e.marshal("", reflect.ValueOf(item.Key)) + e.marshal("", reflect.ValueOf(item.Value)) + } + }) +} + +func (e *encoder) structv(tag string, in reflect.Value) { + sinfo, err := getStructInfo(in.Type()) + if err != nil { + panic(err) + } + e.mappingv(tag, func() { + for _, info := range sinfo.FieldsList { + var value reflect.Value + if info.Inline == nil { + value = in.Field(info.Num) + } else { + value = in.FieldByIndex(info.Inline) + } + if info.OmitEmpty && isZero(value) { + continue + } + e.marshal("", reflect.ValueOf(info.Key)) + e.flow = info.Flow + e.marshal("", value) + } + if sinfo.InlineMap >= 0 { + m := in.Field(sinfo.InlineMap) + if m.Len() > 0 { + e.flow = false + keys := keyList(m.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + if _, found := sinfo.FieldsMap[k.String()]; found { + panic(fmt.Sprintf("Can't have key %q in inlined map; conflicts with struct field", k.String())) + } + e.marshal("", k) + e.flow = false + e.marshal("", m.MapIndex(k)) + } + } + } + }) +} + +func (e *encoder) mappingv(tag string, f func()) { + implicit := tag == "" + style := yaml_BLOCK_MAPPING_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_MAPPING_STYLE + } + yaml_mapping_start_event_initialize(&e.event, nil, []byte(tag), implicit, style) + e.emit() + f() + yaml_mapping_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) slicev(tag string, in reflect.Value) { + implicit := tag == "" + style := yaml_BLOCK_SEQUENCE_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_SEQUENCE_STYLE + } + e.must(yaml_sequence_start_event_initialize(&e.event, nil, []byte(tag), implicit, style)) + e.emit() + n := in.Len() + for i := 0; i < n; i++ { + e.marshal("", in.Index(i)) + } + e.must(yaml_sequence_end_event_initialize(&e.event)) + e.emit() +} + +// isBase60 returns whether s is in base 60 notation as defined in YAML 1.1. +// +// The base 60 float notation in YAML 1.1 is a terrible idea and is unsupported +// in YAML 1.2 and by this package, but these should be marshalled quoted for +// the time being for compatibility with other parsers. +func isBase60Float(s string) (result bool) { + // Fast path. + if s == "" { + return false + } + c := s[0] + if !(c == '+' || c == '-' || c >= '0' && c <= '9') || strings.IndexByte(s, ':') < 0 { + return false + } + // Do the full match. + return base60float.MatchString(s) +} + +// From http://yaml.org/type/float.html, except the regular expression there +// is bogus. In practice parsers do not enforce the "\.[0-9_]*" suffix. +var base60float = regexp.MustCompile(`^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+(?:\.[0-9_]*)?$`) + +func (e *encoder) stringv(tag string, in reflect.Value) { + var style yaml_scalar_style_t + s := in.String() + canUsePlain := true + switch { + case !utf8.ValidString(s): + if tag == yaml_BINARY_TAG { + failf("explicitly tagged !!binary data must be base64-encoded") + } + if tag != "" { + failf("cannot marshal invalid UTF-8 data as %s", shortTag(tag)) + } + // It can't be encoded directly as YAML so use a binary tag + // and encode it as base64. + tag = yaml_BINARY_TAG + s = encodeBase64(s) + case tag == "": + // Check to see if it would resolve to a specific + // tag when encoded unquoted. If it doesn't, + // there's no need to quote it. + rtag, _ := resolve("", s) + canUsePlain = rtag == yaml_STR_TAG && !isBase60Float(s) + } + // Note: it's possible for user code to emit invalid YAML + // if they explicitly specify a tag and a string containing + // text that's incompatible with that tag. + switch { + case strings.Contains(s, "\n"): + style = yaml_LITERAL_SCALAR_STYLE + case canUsePlain: + style = yaml_PLAIN_SCALAR_STYLE + default: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + e.emitScalar(s, "", tag, style) +} + +func (e *encoder) boolv(tag string, in reflect.Value) { + var s string + if in.Bool() { + s = "true" + } else { + s = "false" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) intv(tag string, in reflect.Value) { + s := strconv.FormatInt(in.Int(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) uintv(tag string, in reflect.Value) { + s := strconv.FormatUint(in.Uint(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) timev(tag string, in reflect.Value) { + t := in.Interface().(time.Time) + s := t.Format(time.RFC3339Nano) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) floatv(tag string, in reflect.Value) { + // Issue #352: When formatting, use the precision of the underlying value + precision := 64 + if in.Kind() == reflect.Float32 { + precision = 32 + } + + s := strconv.FormatFloat(in.Float(), 'g', -1, precision) + switch s { + case "+Inf": + s = ".inf" + case "-Inf": + s = "-.inf" + case "NaN": + s = ".nan" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) nilv() { + e.emitScalar("null", "", "", yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) emitScalar(value, anchor, tag string, style yaml_scalar_style_t) { + implicit := tag == "" + e.must(yaml_scalar_event_initialize(&e.event, []byte(anchor), []byte(tag), []byte(value), implicit, implicit, style)) + e.emit() +} diff --git a/vendor/gopkg.in/yaml.v2/go.mod b/vendor/gopkg.in/yaml.v2/go.mod new file mode 100644 index 000000000..2cbb85aea --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/go.mod @@ -0,0 +1,5 @@ +module gopkg.in/yaml.v2 + +go 1.15 + +require gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 diff --git a/vendor/gopkg.in/yaml.v2/parserc.go b/vendor/gopkg.in/yaml.v2/parserc.go new file mode 100644 index 000000000..81d05dfe5 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/parserc.go @@ -0,0 +1,1095 @@ +package yaml + +import ( + "bytes" +) + +// The parser implements the following grammar: +// +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// implicit_document ::= block_node DOCUMENT-END* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// block_node_or_indentless_sequence ::= +// ALIAS +// | properties (block_content | indentless_block_sequence)? +// | block_content +// | indentless_block_sequence +// block_node ::= ALIAS +// | properties block_content? +// | block_content +// flow_node ::= ALIAS +// | properties flow_content? +// | flow_content +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// block_content ::= block_collection | flow_collection | SCALAR +// flow_content ::= flow_collection | SCALAR +// block_collection ::= block_sequence | block_mapping +// flow_collection ::= flow_sequence | flow_mapping +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// block_mapping ::= BLOCK-MAPPING_START +// ((KEY block_node_or_indentless_sequence?)? +// (VALUE block_node_or_indentless_sequence?)?)* +// BLOCK-END +// flow_sequence ::= FLOW-SEQUENCE-START +// (flow_sequence_entry FLOW-ENTRY)* +// flow_sequence_entry? +// FLOW-SEQUENCE-END +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// flow_mapping ::= FLOW-MAPPING-START +// (flow_mapping_entry FLOW-ENTRY)* +// flow_mapping_entry? +// FLOW-MAPPING-END +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + +// Peek the next token in the token queue. +func peek_token(parser *yaml_parser_t) *yaml_token_t { + if parser.token_available || yaml_parser_fetch_more_tokens(parser) { + return &parser.tokens[parser.tokens_head] + } + return nil +} + +// Remove the next token from the queue (must be called after peek_token). +func skip_token(parser *yaml_parser_t) { + parser.token_available = false + parser.tokens_parsed++ + parser.stream_end_produced = parser.tokens[parser.tokens_head].typ == yaml_STREAM_END_TOKEN + parser.tokens_head++ +} + +// Get the next event. +func yaml_parser_parse(parser *yaml_parser_t, event *yaml_event_t) bool { + // Erase the event object. + *event = yaml_event_t{} + + // No events after the end of the stream or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR || parser.state == yaml_PARSE_END_STATE { + return true + } + + // Generate the next event. + return yaml_parser_state_machine(parser, event) +} + +// Set parser error. +func yaml_parser_set_parser_error(parser *yaml_parser_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +func yaml_parser_set_parser_error_context(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +// State dispatcher. +func yaml_parser_state_machine(parser *yaml_parser_t, event *yaml_event_t) bool { + //trace("yaml_parser_state_machine", "state:", parser.state.String()) + + switch parser.state { + case yaml_PARSE_STREAM_START_STATE: + return yaml_parser_parse_stream_start(parser, event) + + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, true) + + case yaml_PARSE_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, false) + + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return yaml_parser_parse_document_content(parser, event) + + case yaml_PARSE_DOCUMENT_END_STATE: + return yaml_parser_parse_document_end(parser, event) + + case yaml_PARSE_BLOCK_NODE_STATE: + return yaml_parser_parse_node(parser, event, true, false) + + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return yaml_parser_parse_node(parser, event, true, true) + + case yaml_PARSE_FLOW_NODE_STATE: + return yaml_parser_parse_node(parser, event, false, false) + + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, true) + + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, false) + + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_indentless_sequence_entry(parser, event) + + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, true) + + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, false) + + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return yaml_parser_parse_block_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, true) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, false) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_key(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_end(parser, event) + + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, true) + + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, true) + + default: + panic("invalid parser state") + } +} + +// Parse the production: +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// ************ +func yaml_parser_parse_stream_start(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_STREAM_START_TOKEN { + return yaml_parser_set_parser_error(parser, "did not find expected <stream-start>", token.start_mark) + } + parser.state = yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + encoding: token.encoding, + } + skip_token(parser) + return true +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// * +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// ************************* +func yaml_parser_parse_document_start(parser *yaml_parser_t, event *yaml_event_t, implicit bool) bool { + + token := peek_token(parser) + if token == nil { + return false + } + + // Parse extra document end indicators. + if !implicit { + for token.typ == yaml_DOCUMENT_END_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + if implicit && token.typ != yaml_VERSION_DIRECTIVE_TOKEN && + token.typ != yaml_TAG_DIRECTIVE_TOKEN && + token.typ != yaml_DOCUMENT_START_TOKEN && + token.typ != yaml_STREAM_END_TOKEN { + // Parse an implicit document. + if !yaml_parser_process_directives(parser, nil, nil) { + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_BLOCK_NODE_STATE + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + } else if token.typ != yaml_STREAM_END_TOKEN { + // Parse an explicit document. + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + start_mark := token.start_mark + if !yaml_parser_process_directives(parser, &version_directive, &tag_directives) { + return false + } + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_DOCUMENT_START_TOKEN { + yaml_parser_set_parser_error(parser, + "did not find expected <document start>", token.start_mark) + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_DOCUMENT_CONTENT_STATE + end_mark := token.end_mark + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: false, + } + skip_token(parser) + + } else { + // Parse the stream end. + parser.state = yaml_PARSE_END_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + } + + return true +} + +// Parse the productions: +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// *********** +// +func yaml_parser_parse_document_content(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN || + token.typ == yaml_TAG_DIRECTIVE_TOKEN || + token.typ == yaml_DOCUMENT_START_TOKEN || + token.typ == yaml_DOCUMENT_END_TOKEN || + token.typ == yaml_STREAM_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + return yaml_parser_process_empty_scalar(parser, event, + token.start_mark) + } + return yaml_parser_parse_node(parser, event, true, false) +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// ************* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// +func yaml_parser_parse_document_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + start_mark := token.start_mark + end_mark := token.start_mark + + implicit := true + if token.typ == yaml_DOCUMENT_END_TOKEN { + end_mark = token.end_mark + skip_token(parser) + implicit = false + } + + parser.tag_directives = parser.tag_directives[:0] + + parser.state = yaml_PARSE_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + start_mark: start_mark, + end_mark: end_mark, + implicit: implicit, + } + return true +} + +// Parse the productions: +// block_node_or_indentless_sequence ::= +// ALIAS +// ***** +// | properties (block_content | indentless_block_sequence)? +// ********** * +// | block_content | indentless_block_sequence +// * +// block_node ::= ALIAS +// ***** +// | properties block_content? +// ********** * +// | block_content +// * +// flow_node ::= ALIAS +// ***** +// | properties flow_content? +// ********** * +// | flow_content +// * +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// ************************* +// block_content ::= block_collection | flow_collection | SCALAR +// ****** +// flow_content ::= flow_collection | SCALAR +// ****** +func yaml_parser_parse_node(parser *yaml_parser_t, event *yaml_event_t, block, indentless_sequence bool) bool { + //defer trace("yaml_parser_parse_node", "block:", block, "indentless_sequence:", indentless_sequence)() + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_ALIAS_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + *event = yaml_event_t{ + typ: yaml_ALIAS_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + anchor: token.value, + } + skip_token(parser) + return true + } + + start_mark := token.start_mark + end_mark := token.start_mark + + var tag_token bool + var tag_handle, tag_suffix, anchor []byte + var tag_mark yaml_mark_t + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + start_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } else if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + start_mark = token.start_mark + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + var tag []byte + if tag_token { + if len(tag_handle) == 0 { + tag = tag_suffix + tag_suffix = nil + } else { + for i := range parser.tag_directives { + if bytes.Equal(parser.tag_directives[i].handle, tag_handle) { + tag = append([]byte(nil), parser.tag_directives[i].prefix...) + tag = append(tag, tag_suffix...) + break + } + } + if len(tag) == 0 { + yaml_parser_set_parser_error_context(parser, + "while parsing a node", start_mark, + "found undefined tag handle", tag_mark) + return false + } + } + } + + implicit := len(tag) == 0 + if indentless_sequence && token.typ == yaml_BLOCK_ENTRY_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + return true + } + if token.typ == yaml_SCALAR_TOKEN { + var plain_implicit, quoted_implicit bool + end_mark = token.end_mark + if (len(tag) == 0 && token.style == yaml_PLAIN_SCALAR_STYLE) || (len(tag) == 1 && tag[0] == '!') { + plain_implicit = true + } else if len(tag) == 0 { + quoted_implicit = true + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + value: token.value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(token.style), + } + skip_token(parser) + return true + } + if token.typ == yaml_FLOW_SEQUENCE_START_TOKEN { + // [Go] Some of the events below can be merged as they differ only on style. + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_SEQUENCE_STYLE), + } + return true + } + if token.typ == yaml_FLOW_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + return true + } + if block && token.typ == yaml_BLOCK_SEQUENCE_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + return true + } + if block && token.typ == yaml_BLOCK_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_MAPPING_STYLE), + } + return true + } + if len(anchor) > 0 || len(tag) > 0 { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + quoted_implicit: false, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true + } + + context := "while parsing a flow node" + if block { + context = "while parsing a block node" + } + yaml_parser_set_parser_error_context(parser, context, start_mark, + "did not find expected node content", token.start_mark) + return false +} + +// Parse the productions: +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// ******************** *********** * ********* +// +func yaml_parser_parse_block_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } else { + parser.state = yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } + if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block collection", context_mark, + "did not find expected '-' indicator", token.start_mark) +} + +// Parse the productions: +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// *********** * +func yaml_parser_parse_indentless_sequence_entry(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && + token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be token.end_mark? + } + return true +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// ******************* +// ((KEY block_node_or_indentless_sequence?)? +// *** * +// (VALUE block_node_or_indentless_sequence?)?)* +// +// BLOCK-END +// ********* +// +func yaml_parser_parse_block_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_KEY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } else { + parser.state = yaml_PARSE_BLOCK_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } else if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block mapping", context_mark, + "did not find expected key", token.start_mark) +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// +// ((KEY block_node_or_indentless_sequence?)? +// +// (VALUE block_node_or_indentless_sequence?)?)* +// ***** * +// BLOCK-END +// +// +func yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence ::= FLOW-SEQUENCE-START +// ******************* +// (flow_sequence_entry FLOW-ENTRY)* +// * ********** +// flow_sequence_entry? +// * +// FLOW-SEQUENCE-END +// ***************** +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * +// +func yaml_parser_parse_flow_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow sequence", context_mark, + "did not find expected ',' or ']'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + implicit: true, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + skip_token(parser) + return true + } else if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + skip_token(parser) + return true +} + +// +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// *** * +// +func yaml_parser_parse_flow_sequence_entry_mapping_key(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + mark := token.end_mark + skip_token(parser) + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// ***** * +// +func yaml_parser_parse_flow_sequence_entry_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * +// +func yaml_parser_parse_flow_sequence_entry_mapping_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be end_mark? + } + return true +} + +// Parse the productions: +// flow_mapping ::= FLOW-MAPPING-START +// ****************** +// (flow_mapping_entry FLOW-ENTRY)* +// * ********** +// flow_mapping_entry? +// ****************** +// FLOW-MAPPING-END +// **************** +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * *** * +// +func yaml_parser_parse_flow_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow mapping", context_mark, + "did not find expected ',' or '}'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } else { + parser.state = yaml_PARSE_FLOW_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + } else if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + return true +} + +// Parse the productions: +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * ***** * +// +func yaml_parser_parse_flow_mapping_value(parser *yaml_parser_t, event *yaml_event_t, empty bool) bool { + token := peek_token(parser) + if token == nil { + return false + } + if empty { + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Generate an empty scalar event. +func yaml_parser_process_empty_scalar(parser *yaml_parser_t, event *yaml_event_t, mark yaml_mark_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: mark, + end_mark: mark, + value: nil, // Empty + implicit: true, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true +} + +var default_tag_directives = []yaml_tag_directive_t{ + {[]byte("!"), []byte("!")}, + {[]byte("!!"), []byte("tag:yaml.org,2002:")}, +} + +// Parse directives. +func yaml_parser_process_directives(parser *yaml_parser_t, + version_directive_ref **yaml_version_directive_t, + tag_directives_ref *[]yaml_tag_directive_t) bool { + + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + + token := peek_token(parser) + if token == nil { + return false + } + + for token.typ == yaml_VERSION_DIRECTIVE_TOKEN || token.typ == yaml_TAG_DIRECTIVE_TOKEN { + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN { + if version_directive != nil { + yaml_parser_set_parser_error(parser, + "found duplicate %YAML directive", token.start_mark) + return false + } + if token.major != 1 || token.minor != 1 { + yaml_parser_set_parser_error(parser, + "found incompatible YAML document", token.start_mark) + return false + } + version_directive = &yaml_version_directive_t{ + major: token.major, + minor: token.minor, + } + } else if token.typ == yaml_TAG_DIRECTIVE_TOKEN { + value := yaml_tag_directive_t{ + handle: token.value, + prefix: token.prefix, + } + if !yaml_parser_append_tag_directive(parser, value, false, token.start_mark) { + return false + } + tag_directives = append(tag_directives, value) + } + + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + + for i := range default_tag_directives { + if !yaml_parser_append_tag_directive(parser, default_tag_directives[i], true, token.start_mark) { + return false + } + } + + if version_directive_ref != nil { + *version_directive_ref = version_directive + } + if tag_directives_ref != nil { + *tag_directives_ref = tag_directives + } + return true +} + +// Append a tag directive to the directives stack. +func yaml_parser_append_tag_directive(parser *yaml_parser_t, value yaml_tag_directive_t, allow_duplicates bool, mark yaml_mark_t) bool { + for i := range parser.tag_directives { + if bytes.Equal(value.handle, parser.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_parser_set_parser_error(parser, "found duplicate %TAG directive", mark) + } + } + + // [Go] I suspect the copy is unnecessary. This was likely done + // because there was no way to track ownership of the data. + value_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(value_copy.handle, value.handle) + copy(value_copy.prefix, value.prefix) + parser.tag_directives = append(parser.tag_directives, value_copy) + return true +} diff --git a/vendor/gopkg.in/yaml.v2/readerc.go b/vendor/gopkg.in/yaml.v2/readerc.go new file mode 100644 index 000000000..7c1f5fac3 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/readerc.go @@ -0,0 +1,412 @@ +package yaml + +import ( + "io" +) + +// Set the reader error and return 0. +func yaml_parser_set_reader_error(parser *yaml_parser_t, problem string, offset int, value int) bool { + parser.error = yaml_READER_ERROR + parser.problem = problem + parser.problem_offset = offset + parser.problem_value = value + return false +} + +// Byte order marks. +const ( + bom_UTF8 = "\xef\xbb\xbf" + bom_UTF16LE = "\xff\xfe" + bom_UTF16BE = "\xfe\xff" +) + +// Determine the input stream encoding by checking the BOM symbol. If no BOM is +// found, the UTF-8 encoding is assumed. Return 1 on success, 0 on failure. +func yaml_parser_determine_encoding(parser *yaml_parser_t) bool { + // Ensure that we had enough bytes in the raw buffer. + for !parser.eof && len(parser.raw_buffer)-parser.raw_buffer_pos < 3 { + if !yaml_parser_update_raw_buffer(parser) { + return false + } + } + + // Determine the encoding. + buf := parser.raw_buffer + pos := parser.raw_buffer_pos + avail := len(buf) - pos + if avail >= 2 && buf[pos] == bom_UTF16LE[0] && buf[pos+1] == bom_UTF16LE[1] { + parser.encoding = yaml_UTF16LE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 2 && buf[pos] == bom_UTF16BE[0] && buf[pos+1] == bom_UTF16BE[1] { + parser.encoding = yaml_UTF16BE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 3 && buf[pos] == bom_UTF8[0] && buf[pos+1] == bom_UTF8[1] && buf[pos+2] == bom_UTF8[2] { + parser.encoding = yaml_UTF8_ENCODING + parser.raw_buffer_pos += 3 + parser.offset += 3 + } else { + parser.encoding = yaml_UTF8_ENCODING + } + return true +} + +// Update the raw buffer. +func yaml_parser_update_raw_buffer(parser *yaml_parser_t) bool { + size_read := 0 + + // Return if the raw buffer is full. + if parser.raw_buffer_pos == 0 && len(parser.raw_buffer) == cap(parser.raw_buffer) { + return true + } + + // Return on EOF. + if parser.eof { + return true + } + + // Move the remaining bytes in the raw buffer to the beginning. + if parser.raw_buffer_pos > 0 && parser.raw_buffer_pos < len(parser.raw_buffer) { + copy(parser.raw_buffer, parser.raw_buffer[parser.raw_buffer_pos:]) + } + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)-parser.raw_buffer_pos] + parser.raw_buffer_pos = 0 + + // Call the read handler to fill the buffer. + size_read, err := parser.read_handler(parser, parser.raw_buffer[len(parser.raw_buffer):cap(parser.raw_buffer)]) + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)+size_read] + if err == io.EOF { + parser.eof = true + } else if err != nil { + return yaml_parser_set_reader_error(parser, "input error: "+err.Error(), parser.offset, -1) + } + return true +} + +// Ensure that the buffer contains at least `length` characters. +// Return true on success, false on failure. +// +// The length is supposed to be significantly less that the buffer size. +func yaml_parser_update_buffer(parser *yaml_parser_t, length int) bool { + if parser.read_handler == nil { + panic("read handler must be set") + } + + // [Go] This function was changed to guarantee the requested length size at EOF. + // The fact we need to do this is pretty awful, but the description above implies + // for that to be the case, and there are tests + + // If the EOF flag is set and the raw buffer is empty, do nothing. + if parser.eof && parser.raw_buffer_pos == len(parser.raw_buffer) { + // [Go] ACTUALLY! Read the documentation of this function above. + // This is just broken. To return true, we need to have the + // given length in the buffer. Not doing that means every single + // check that calls this function to make sure the buffer has a + // given length is Go) panicking; or C) accessing invalid memory. + //return true + } + + // Return if the buffer contains enough characters. + if parser.unread >= length { + return true + } + + // Determine the input encoding if it is not known yet. + if parser.encoding == yaml_ANY_ENCODING { + if !yaml_parser_determine_encoding(parser) { + return false + } + } + + // Move the unread characters to the beginning of the buffer. + buffer_len := len(parser.buffer) + if parser.buffer_pos > 0 && parser.buffer_pos < buffer_len { + copy(parser.buffer, parser.buffer[parser.buffer_pos:]) + buffer_len -= parser.buffer_pos + parser.buffer_pos = 0 + } else if parser.buffer_pos == buffer_len { + buffer_len = 0 + parser.buffer_pos = 0 + } + + // Open the whole buffer for writing, and cut it before returning. + parser.buffer = parser.buffer[:cap(parser.buffer)] + + // Fill the buffer until it has enough characters. + first := true + for parser.unread < length { + + // Fill the raw buffer if necessary. + if !first || parser.raw_buffer_pos == len(parser.raw_buffer) { + if !yaml_parser_update_raw_buffer(parser) { + parser.buffer = parser.buffer[:buffer_len] + return false + } + } + first = false + + // Decode the raw buffer. + inner: + for parser.raw_buffer_pos != len(parser.raw_buffer) { + var value rune + var width int + + raw_unread := len(parser.raw_buffer) - parser.raw_buffer_pos + + // Decode the next character. + switch parser.encoding { + case yaml_UTF8_ENCODING: + // Decode a UTF-8 character. Check RFC 3629 + // (http://www.ietf.org/rfc/rfc3629.txt) for more details. + // + // The following table (taken from the RFC) is used for + // decoding. + // + // Char. number range | UTF-8 octet sequence + // (hexadecimal) | (binary) + // --------------------+------------------------------------ + // 0000 0000-0000 007F | 0xxxxxxx + // 0000 0080-0000 07FF | 110xxxxx 10xxxxxx + // 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx + // 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + // + // Additionally, the characters in the range 0xD800-0xDFFF + // are prohibited as they are reserved for use with UTF-16 + // surrogate pairs. + + // Determine the length of the UTF-8 sequence. + octet := parser.raw_buffer[parser.raw_buffer_pos] + switch { + case octet&0x80 == 0x00: + width = 1 + case octet&0xE0 == 0xC0: + width = 2 + case octet&0xF0 == 0xE0: + width = 3 + case octet&0xF8 == 0xF0: + width = 4 + default: + // The leading octet is invalid. + return yaml_parser_set_reader_error(parser, + "invalid leading UTF-8 octet", + parser.offset, int(octet)) + } + + // Check if the raw buffer contains an incomplete character. + if width > raw_unread { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-8 octet sequence", + parser.offset, -1) + } + break inner + } + + // Decode the leading octet. + switch { + case octet&0x80 == 0x00: + value = rune(octet & 0x7F) + case octet&0xE0 == 0xC0: + value = rune(octet & 0x1F) + case octet&0xF0 == 0xE0: + value = rune(octet & 0x0F) + case octet&0xF8 == 0xF0: + value = rune(octet & 0x07) + default: + value = 0 + } + + // Check and decode the trailing octets. + for k := 1; k < width; k++ { + octet = parser.raw_buffer[parser.raw_buffer_pos+k] + + // Check if the octet is valid. + if (octet & 0xC0) != 0x80 { + return yaml_parser_set_reader_error(parser, + "invalid trailing UTF-8 octet", + parser.offset+k, int(octet)) + } + + // Decode the octet. + value = (value << 6) + rune(octet&0x3F) + } + + // Check the length of the sequence against the value. + switch { + case width == 1: + case width == 2 && value >= 0x80: + case width == 3 && value >= 0x800: + case width == 4 && value >= 0x10000: + default: + return yaml_parser_set_reader_error(parser, + "invalid length of a UTF-8 sequence", + parser.offset, -1) + } + + // Check the range of the value. + if value >= 0xD800 && value <= 0xDFFF || value > 0x10FFFF { + return yaml_parser_set_reader_error(parser, + "invalid Unicode character", + parser.offset, int(value)) + } + + case yaml_UTF16LE_ENCODING, yaml_UTF16BE_ENCODING: + var low, high int + if parser.encoding == yaml_UTF16LE_ENCODING { + low, high = 0, 1 + } else { + low, high = 1, 0 + } + + // The UTF-16 encoding is not as simple as one might + // naively think. Check RFC 2781 + // (http://www.ietf.org/rfc/rfc2781.txt). + // + // Normally, two subsequent bytes describe a Unicode + // character. However a special technique (called a + // surrogate pair) is used for specifying character + // values larger than 0xFFFF. + // + // A surrogate pair consists of two pseudo-characters: + // high surrogate area (0xD800-0xDBFF) + // low surrogate area (0xDC00-0xDFFF) + // + // The following formulas are used for decoding + // and encoding characters using surrogate pairs: + // + // U = U' + 0x10000 (0x01 00 00 <= U <= 0x10 FF FF) + // U' = yyyyyyyyyyxxxxxxxxxx (0 <= U' <= 0x0F FF FF) + // W1 = 110110yyyyyyyyyy + // W2 = 110111xxxxxxxxxx + // + // where U is the character value, W1 is the high surrogate + // area, W2 is the low surrogate area. + + // Check for incomplete UTF-16 character. + if raw_unread < 2 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 character", + parser.offset, -1) + } + break inner + } + + // Get the character. + value = rune(parser.raw_buffer[parser.raw_buffer_pos+low]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high]) << 8) + + // Check for unexpected low surrogate area. + if value&0xFC00 == 0xDC00 { + return yaml_parser_set_reader_error(parser, + "unexpected low surrogate area", + parser.offset, int(value)) + } + + // Check for a high surrogate area. + if value&0xFC00 == 0xD800 { + width = 4 + + // Check for incomplete surrogate pair. + if raw_unread < 4 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 surrogate pair", + parser.offset, -1) + } + break inner + } + + // Get the next character. + value2 := rune(parser.raw_buffer[parser.raw_buffer_pos+low+2]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high+2]) << 8) + + // Check for a low surrogate area. + if value2&0xFC00 != 0xDC00 { + return yaml_parser_set_reader_error(parser, + "expected low surrogate area", + parser.offset+2, int(value2)) + } + + // Generate the value of the surrogate pair. + value = 0x10000 + ((value & 0x3FF) << 10) + (value2 & 0x3FF) + } else { + width = 2 + } + + default: + panic("impossible") + } + + // Check if the character is in the allowed range: + // #x9 | #xA | #xD | [#x20-#x7E] (8 bit) + // | #x85 | [#xA0-#xD7FF] | [#xE000-#xFFFD] (16 bit) + // | [#x10000-#x10FFFF] (32 bit) + switch { + case value == 0x09: + case value == 0x0A: + case value == 0x0D: + case value >= 0x20 && value <= 0x7E: + case value == 0x85: + case value >= 0xA0 && value <= 0xD7FF: + case value >= 0xE000 && value <= 0xFFFD: + case value >= 0x10000 && value <= 0x10FFFF: + default: + return yaml_parser_set_reader_error(parser, + "control characters are not allowed", + parser.offset, int(value)) + } + + // Move the raw pointers. + parser.raw_buffer_pos += width + parser.offset += width + + // Finally put the character into the buffer. + if value <= 0x7F { + // 0000 0000-0000 007F . 0xxxxxxx + parser.buffer[buffer_len+0] = byte(value) + buffer_len += 1 + } else if value <= 0x7FF { + // 0000 0080-0000 07FF . 110xxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xC0 + (value >> 6)) + parser.buffer[buffer_len+1] = byte(0x80 + (value & 0x3F)) + buffer_len += 2 + } else if value <= 0xFFFF { + // 0000 0800-0000 FFFF . 1110xxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xE0 + (value >> 12)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + (value & 0x3F)) + buffer_len += 3 + } else { + // 0001 0000-0010 FFFF . 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xF0 + (value >> 18)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 12) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+3] = byte(0x80 + (value & 0x3F)) + buffer_len += 4 + } + + parser.unread++ + } + + // On EOF, put NUL into the buffer and return. + if parser.eof { + parser.buffer[buffer_len] = 0 + buffer_len++ + parser.unread++ + break + } + } + // [Go] Read the documentation of this function above. To return true, + // we need to have the given length in the buffer. Not doing that means + // every single check that calls this function to make sure the buffer + // has a given length is Go) panicking; or C) accessing invalid memory. + // This happens here due to the EOF above breaking early. + for buffer_len < length { + parser.buffer[buffer_len] = 0 + buffer_len++ + } + parser.buffer = parser.buffer[:buffer_len] + return true +} diff --git a/vendor/gopkg.in/yaml.v2/resolve.go b/vendor/gopkg.in/yaml.v2/resolve.go new file mode 100644 index 000000000..4120e0c91 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/resolve.go @@ -0,0 +1,258 @@ +package yaml + +import ( + "encoding/base64" + "math" + "regexp" + "strconv" + "strings" + "time" +) + +type resolveMapItem struct { + value interface{} + tag string +} + +var resolveTable = make([]byte, 256) +var resolveMap = make(map[string]resolveMapItem) + +func init() { + t := resolveTable + t[int('+')] = 'S' // Sign + t[int('-')] = 'S' + for _, c := range "0123456789" { + t[int(c)] = 'D' // Digit + } + for _, c := range "yYnNtTfFoO~" { + t[int(c)] = 'M' // In map + } + t[int('.')] = '.' // Float (potentially in map) + + var resolveMapList = []struct { + v interface{} + tag string + l []string + }{ + {true, yaml_BOOL_TAG, []string{"y", "Y", "yes", "Yes", "YES"}}, + {true, yaml_BOOL_TAG, []string{"true", "True", "TRUE"}}, + {true, yaml_BOOL_TAG, []string{"on", "On", "ON"}}, + {false, yaml_BOOL_TAG, []string{"n", "N", "no", "No", "NO"}}, + {false, yaml_BOOL_TAG, []string{"false", "False", "FALSE"}}, + {false, yaml_BOOL_TAG, []string{"off", "Off", "OFF"}}, + {nil, yaml_NULL_TAG, []string{"", "~", "null", "Null", "NULL"}}, + {math.NaN(), yaml_FLOAT_TAG, []string{".nan", ".NaN", ".NAN"}}, + {math.Inf(+1), yaml_FLOAT_TAG, []string{".inf", ".Inf", ".INF"}}, + {math.Inf(+1), yaml_FLOAT_TAG, []string{"+.inf", "+.Inf", "+.INF"}}, + {math.Inf(-1), yaml_FLOAT_TAG, []string{"-.inf", "-.Inf", "-.INF"}}, + {"<<", yaml_MERGE_TAG, []string{"<<"}}, + } + + m := resolveMap + for _, item := range resolveMapList { + for _, s := range item.l { + m[s] = resolveMapItem{item.v, item.tag} + } + } +} + +const longTagPrefix = "tag:yaml.org,2002:" + +func shortTag(tag string) string { + // TODO This can easily be made faster and produce less garbage. + if strings.HasPrefix(tag, longTagPrefix) { + return "!!" + tag[len(longTagPrefix):] + } + return tag +} + +func longTag(tag string) string { + if strings.HasPrefix(tag, "!!") { + return longTagPrefix + tag[2:] + } + return tag +} + +func resolvableTag(tag string) bool { + switch tag { + case "", yaml_STR_TAG, yaml_BOOL_TAG, yaml_INT_TAG, yaml_FLOAT_TAG, yaml_NULL_TAG, yaml_TIMESTAMP_TAG: + return true + } + return false +} + +var yamlStyleFloat = regexp.MustCompile(`^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$`) + +func resolve(tag string, in string) (rtag string, out interface{}) { + if !resolvableTag(tag) { + return tag, in + } + + defer func() { + switch tag { + case "", rtag, yaml_STR_TAG, yaml_BINARY_TAG: + return + case yaml_FLOAT_TAG: + if rtag == yaml_INT_TAG { + switch v := out.(type) { + case int64: + rtag = yaml_FLOAT_TAG + out = float64(v) + return + case int: + rtag = yaml_FLOAT_TAG + out = float64(v) + return + } + } + } + failf("cannot decode %s `%s` as a %s", shortTag(rtag), in, shortTag(tag)) + }() + + // Any data is accepted as a !!str or !!binary. + // Otherwise, the prefix is enough of a hint about what it might be. + hint := byte('N') + if in != "" { + hint = resolveTable[in[0]] + } + if hint != 0 && tag != yaml_STR_TAG && tag != yaml_BINARY_TAG { + // Handle things we can lookup in a map. + if item, ok := resolveMap[in]; ok { + return item.tag, item.value + } + + // Base 60 floats are a bad idea, were dropped in YAML 1.2, and + // are purposefully unsupported here. They're still quoted on + // the way out for compatibility with other parser, though. + + switch hint { + case 'M': + // We've already checked the map above. + + case '.': + // Not in the map, so maybe a normal float. + floatv, err := strconv.ParseFloat(in, 64) + if err == nil { + return yaml_FLOAT_TAG, floatv + } + + case 'D', 'S': + // Int, float, or timestamp. + // Only try values as a timestamp if the value is unquoted or there's an explicit + // !!timestamp tag. + if tag == "" || tag == yaml_TIMESTAMP_TAG { + t, ok := parseTimestamp(in) + if ok { + return yaml_TIMESTAMP_TAG, t + } + } + + plain := strings.Replace(in, "_", "", -1) + intv, err := strconv.ParseInt(plain, 0, 64) + if err == nil { + if intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + uintv, err := strconv.ParseUint(plain, 0, 64) + if err == nil { + return yaml_INT_TAG, uintv + } + if yamlStyleFloat.MatchString(plain) { + floatv, err := strconv.ParseFloat(plain, 64) + if err == nil { + return yaml_FLOAT_TAG, floatv + } + } + if strings.HasPrefix(plain, "0b") { + intv, err := strconv.ParseInt(plain[2:], 2, 64) + if err == nil { + if intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + uintv, err := strconv.ParseUint(plain[2:], 2, 64) + if err == nil { + return yaml_INT_TAG, uintv + } + } else if strings.HasPrefix(plain, "-0b") { + intv, err := strconv.ParseInt("-" + plain[3:], 2, 64) + if err == nil { + if true || intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + } + default: + panic("resolveTable item not yet handled: " + string(rune(hint)) + " (with " + in + ")") + } + } + return yaml_STR_TAG, in +} + +// encodeBase64 encodes s as base64 that is broken up into multiple lines +// as appropriate for the resulting length. +func encodeBase64(s string) string { + const lineLen = 70 + encLen := base64.StdEncoding.EncodedLen(len(s)) + lines := encLen/lineLen + 1 + buf := make([]byte, encLen*2+lines) + in := buf[0:encLen] + out := buf[encLen:] + base64.StdEncoding.Encode(in, []byte(s)) + k := 0 + for i := 0; i < len(in); i += lineLen { + j := i + lineLen + if j > len(in) { + j = len(in) + } + k += copy(out[k:], in[i:j]) + if lines > 1 { + out[k] = '\n' + k++ + } + } + return string(out[:k]) +} + +// This is a subset of the formats allowed by the regular expression +// defined at http://yaml.org/type/timestamp.html. +var allowedTimestampFormats = []string{ + "2006-1-2T15:4:5.999999999Z07:00", // RCF3339Nano with short date fields. + "2006-1-2t15:4:5.999999999Z07:00", // RFC3339Nano with short date fields and lower-case "t". + "2006-1-2 15:4:5.999999999", // space separated with no time zone + "2006-1-2", // date only + // Notable exception: time.Parse cannot handle: "2001-12-14 21:59:43.10 -5" + // from the set of examples. +} + +// parseTimestamp parses s as a timestamp string and +// returns the timestamp and reports whether it succeeded. +// Timestamp formats are defined at http://yaml.org/type/timestamp.html +func parseTimestamp(s string) (time.Time, bool) { + // TODO write code to check all the formats supported by + // http://yaml.org/type/timestamp.html instead of using time.Parse. + + // Quick check: all date formats start with YYYY-. + i := 0 + for ; i < len(s); i++ { + if c := s[i]; c < '0' || c > '9' { + break + } + } + if i != 4 || i == len(s) || s[i] != '-' { + return time.Time{}, false + } + for _, format := range allowedTimestampFormats { + if t, err := time.Parse(format, s); err == nil { + return t, true + } + } + return time.Time{}, false +} diff --git a/vendor/gopkg.in/yaml.v2/scannerc.go b/vendor/gopkg.in/yaml.v2/scannerc.go new file mode 100644 index 000000000..0b9bb6030 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/scannerc.go @@ -0,0 +1,2711 @@ +package yaml + +import ( + "bytes" + "fmt" +) + +// Introduction +// ************ +// +// The following notes assume that you are familiar with the YAML specification +// (http://yaml.org/spec/1.2/spec.html). We mostly follow it, although in +// some cases we are less restrictive that it requires. +// +// The process of transforming a YAML stream into a sequence of events is +// divided on two steps: Scanning and Parsing. +// +// The Scanner transforms the input stream into a sequence of tokens, while the +// parser transform the sequence of tokens produced by the Scanner into a +// sequence of parsing events. +// +// The Scanner is rather clever and complicated. The Parser, on the contrary, +// is a straightforward implementation of a recursive-descendant parser (or, +// LL(1) parser, as it is usually called). +// +// Actually there are two issues of Scanning that might be called "clever", the +// rest is quite straightforward. The issues are "block collection start" and +// "simple keys". Both issues are explained below in details. +// +// Here the Scanning step is explained and implemented. We start with the list +// of all the tokens produced by the Scanner together with short descriptions. +// +// Now, tokens: +// +// STREAM-START(encoding) # The stream start. +// STREAM-END # The stream end. +// VERSION-DIRECTIVE(major,minor) # The '%YAML' directive. +// TAG-DIRECTIVE(handle,prefix) # The '%TAG' directive. +// DOCUMENT-START # '---' +// DOCUMENT-END # '...' +// BLOCK-SEQUENCE-START # Indentation increase denoting a block +// BLOCK-MAPPING-START # sequence or a block mapping. +// BLOCK-END # Indentation decrease. +// FLOW-SEQUENCE-START # '[' +// FLOW-SEQUENCE-END # ']' +// BLOCK-SEQUENCE-START # '{' +// BLOCK-SEQUENCE-END # '}' +// BLOCK-ENTRY # '-' +// FLOW-ENTRY # ',' +// KEY # '?' or nothing (simple keys). +// VALUE # ':' +// ALIAS(anchor) # '*anchor' +// ANCHOR(anchor) # '&anchor' +// TAG(handle,suffix) # '!handle!suffix' +// SCALAR(value,style) # A scalar. +// +// The following two tokens are "virtual" tokens denoting the beginning and the +// end of the stream: +// +// STREAM-START(encoding) +// STREAM-END +// +// We pass the information about the input stream encoding with the +// STREAM-START token. +// +// The next two tokens are responsible for tags: +// +// VERSION-DIRECTIVE(major,minor) +// TAG-DIRECTIVE(handle,prefix) +// +// Example: +// +// %YAML 1.1 +// %TAG ! !foo +// %TAG !yaml! tag:yaml.org,2002: +// --- +// +// The correspoding sequence of tokens: +// +// STREAM-START(utf-8) +// VERSION-DIRECTIVE(1,1) +// TAG-DIRECTIVE("!","!foo") +// TAG-DIRECTIVE("!yaml","tag:yaml.org,2002:") +// DOCUMENT-START +// STREAM-END +// +// Note that the VERSION-DIRECTIVE and TAG-DIRECTIVE tokens occupy a whole +// line. +// +// The document start and end indicators are represented by: +// +// DOCUMENT-START +// DOCUMENT-END +// +// Note that if a YAML stream contains an implicit document (without '---' +// and '...' indicators), no DOCUMENT-START and DOCUMENT-END tokens will be +// produced. +// +// In the following examples, we present whole documents together with the +// produced tokens. +// +// 1. An implicit document: +// +// 'a scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// STREAM-END +// +// 2. An explicit document: +// +// --- +// 'a scalar' +// ... +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// SCALAR("a scalar",single-quoted) +// DOCUMENT-END +// STREAM-END +// +// 3. Several documents in a stream: +// +// 'a scalar' +// --- +// 'another scalar' +// --- +// 'yet another scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// DOCUMENT-START +// SCALAR("another scalar",single-quoted) +// DOCUMENT-START +// SCALAR("yet another scalar",single-quoted) +// STREAM-END +// +// We have already introduced the SCALAR token above. The following tokens are +// used to describe aliases, anchors, tag, and scalars: +// +// ALIAS(anchor) +// ANCHOR(anchor) +// TAG(handle,suffix) +// SCALAR(value,style) +// +// The following series of examples illustrate the usage of these tokens: +// +// 1. A recursive sequence: +// +// &A [ *A ] +// +// Tokens: +// +// STREAM-START(utf-8) +// ANCHOR("A") +// FLOW-SEQUENCE-START +// ALIAS("A") +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A tagged scalar: +// +// !!float "3.14" # A good approximation. +// +// Tokens: +// +// STREAM-START(utf-8) +// TAG("!!","float") +// SCALAR("3.14",double-quoted) +// STREAM-END +// +// 3. Various scalar styles: +// +// --- # Implicit empty plain scalars do not produce tokens. +// --- a plain scalar +// --- 'a single-quoted scalar' +// --- "a double-quoted scalar" +// --- |- +// a literal scalar +// --- >- +// a folded +// scalar +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// DOCUMENT-START +// SCALAR("a plain scalar",plain) +// DOCUMENT-START +// SCALAR("a single-quoted scalar",single-quoted) +// DOCUMENT-START +// SCALAR("a double-quoted scalar",double-quoted) +// DOCUMENT-START +// SCALAR("a literal scalar",literal) +// DOCUMENT-START +// SCALAR("a folded scalar",folded) +// STREAM-END +// +// Now it's time to review collection-related tokens. We will start with +// flow collections: +// +// FLOW-SEQUENCE-START +// FLOW-SEQUENCE-END +// FLOW-MAPPING-START +// FLOW-MAPPING-END +// FLOW-ENTRY +// KEY +// VALUE +// +// The tokens FLOW-SEQUENCE-START, FLOW-SEQUENCE-END, FLOW-MAPPING-START, and +// FLOW-MAPPING-END represent the indicators '[', ']', '{', and '}' +// correspondingly. FLOW-ENTRY represent the ',' indicator. Finally the +// indicators '?' and ':', which are used for denoting mapping keys and values, +// are represented by the KEY and VALUE tokens. +// +// The following examples show flow collections: +// +// 1. A flow sequence: +// +// [item 1, item 2, item 3] +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-SEQUENCE-START +// SCALAR("item 1",plain) +// FLOW-ENTRY +// SCALAR("item 2",plain) +// FLOW-ENTRY +// SCALAR("item 3",plain) +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A flow mapping: +// +// { +// a simple key: a value, # Note that the KEY token is produced. +// ? a complex key: another value, +// } +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// FLOW-ENTRY +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// FLOW-ENTRY +// FLOW-MAPPING-END +// STREAM-END +// +// A simple key is a key which is not denoted by the '?' indicator. Note that +// the Scanner still produce the KEY token whenever it encounters a simple key. +// +// For scanning block collections, the following tokens are used (note that we +// repeat KEY and VALUE here): +// +// BLOCK-SEQUENCE-START +// BLOCK-MAPPING-START +// BLOCK-END +// BLOCK-ENTRY +// KEY +// VALUE +// +// The tokens BLOCK-SEQUENCE-START and BLOCK-MAPPING-START denote indentation +// increase that precedes a block collection (cf. the INDENT token in Python). +// The token BLOCK-END denote indentation decrease that ends a block collection +// (cf. the DEDENT token in Python). However YAML has some syntax pecularities +// that makes detections of these tokens more complex. +// +// The tokens BLOCK-ENTRY, KEY, and VALUE are used to represent the indicators +// '-', '?', and ':' correspondingly. +// +// The following examples show how the tokens BLOCK-SEQUENCE-START, +// BLOCK-MAPPING-START, and BLOCK-END are emitted by the Scanner: +// +// 1. Block sequences: +// +// - item 1 +// - item 2 +// - +// - item 3.1 +// - item 3.2 +// - +// key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 3.1",plain) +// BLOCK-ENTRY +// SCALAR("item 3.2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Block mappings: +// +// a simple key: a value # The KEY token is produced here. +// ? a complex key +// : another value +// a mapping: +// key 1: value 1 +// key 2: value 2 +// a sequence: +// - item 1 +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// KEY +// SCALAR("a mapping",plain) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML does not always require to start a new block collection from a new +// line. If the current line contains only '-', '?', and ':' indicators, a new +// block collection may start at the current line. The following examples +// illustrate this case: +// +// 1. Collections in a sequence: +// +// - - item 1 +// - item 2 +// - key 1: value 1 +// key 2: value 2 +// - ? complex key +// : complex value +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("complex key") +// VALUE +// SCALAR("complex value") +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Collections in a mapping: +// +// ? a sequence +// : - item 1 +// - item 2 +// ? a mapping +// : key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// KEY +// SCALAR("a mapping",plain) +// VALUE +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML also permits non-indented sequences if they are included into a block +// mapping. In this case, the token BLOCK-SEQUENCE-START is not produced: +// +// key: +// - item 1 # BLOCK-SEQUENCE-START is NOT produced here. +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key",plain) +// VALUE +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// + +// Ensure that the buffer contains the required number of characters. +// Return true on success, false on failure (reader error or memory error). +func cache(parser *yaml_parser_t, length int) bool { + // [Go] This was inlined: !cache(A, B) -> unread < B && !update(A, B) + return parser.unread >= length || yaml_parser_update_buffer(parser, length) +} + +// Advance the buffer pointer. +func skip(parser *yaml_parser_t) { + parser.mark.index++ + parser.mark.column++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) +} + +func skip_line(parser *yaml_parser_t) { + if is_crlf(parser.buffer, parser.buffer_pos) { + parser.mark.index += 2 + parser.mark.column = 0 + parser.mark.line++ + parser.unread -= 2 + parser.buffer_pos += 2 + } else if is_break(parser.buffer, parser.buffer_pos) { + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) + } +} + +// Copy a character to a string buffer and advance pointers. +func read(parser *yaml_parser_t, s []byte) []byte { + w := width(parser.buffer[parser.buffer_pos]) + if w == 0 { + panic("invalid character sequence") + } + if len(s) == 0 { + s = make([]byte, 0, 32) + } + if w == 1 && len(s)+w <= cap(s) { + s = s[:len(s)+1] + s[len(s)-1] = parser.buffer[parser.buffer_pos] + parser.buffer_pos++ + } else { + s = append(s, parser.buffer[parser.buffer_pos:parser.buffer_pos+w]...) + parser.buffer_pos += w + } + parser.mark.index++ + parser.mark.column++ + parser.unread-- + return s +} + +// Copy a line break character to a string buffer and advance pointers. +func read_line(parser *yaml_parser_t, s []byte) []byte { + buf := parser.buffer + pos := parser.buffer_pos + switch { + case buf[pos] == '\r' && buf[pos+1] == '\n': + // CR LF . LF + s = append(s, '\n') + parser.buffer_pos += 2 + parser.mark.index++ + parser.unread-- + case buf[pos] == '\r' || buf[pos] == '\n': + // CR|LF . LF + s = append(s, '\n') + parser.buffer_pos += 1 + case buf[pos] == '\xC2' && buf[pos+1] == '\x85': + // NEL . LF + s = append(s, '\n') + parser.buffer_pos += 2 + case buf[pos] == '\xE2' && buf[pos+1] == '\x80' && (buf[pos+2] == '\xA8' || buf[pos+2] == '\xA9'): + // LS|PS . LS|PS + s = append(s, buf[parser.buffer_pos:pos+3]...) + parser.buffer_pos += 3 + default: + return s + } + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + return s +} + +// Get the next token. +func yaml_parser_scan(parser *yaml_parser_t, token *yaml_token_t) bool { + // Erase the token object. + *token = yaml_token_t{} // [Go] Is this necessary? + + // No tokens after STREAM-END or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR { + return true + } + + // Ensure that the tokens queue contains enough tokens. + if !parser.token_available { + if !yaml_parser_fetch_more_tokens(parser) { + return false + } + } + + // Fetch the next token from the queue. + *token = parser.tokens[parser.tokens_head] + parser.tokens_head++ + parser.tokens_parsed++ + parser.token_available = false + + if token.typ == yaml_STREAM_END_TOKEN { + parser.stream_end_produced = true + } + return true +} + +// Set the scanner error and return false. +func yaml_parser_set_scanner_error(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string) bool { + parser.error = yaml_SCANNER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = parser.mark + return false +} + +func yaml_parser_set_scanner_tag_error(parser *yaml_parser_t, directive bool, context_mark yaml_mark_t, problem string) bool { + context := "while parsing a tag" + if directive { + context = "while parsing a %TAG directive" + } + return yaml_parser_set_scanner_error(parser, context, context_mark, problem) +} + +func trace(args ...interface{}) func() { + pargs := append([]interface{}{"+++"}, args...) + fmt.Println(pargs...) + pargs = append([]interface{}{"---"}, args...) + return func() { fmt.Println(pargs...) } +} + +// Ensure that the tokens queue contains at least one token which can be +// returned to the Parser. +func yaml_parser_fetch_more_tokens(parser *yaml_parser_t) bool { + // While we need more tokens to fetch, do it. + for { + if parser.tokens_head != len(parser.tokens) { + // If queue is non-empty, check if any potential simple key may + // occupy the head position. + head_tok_idx, ok := parser.simple_keys_by_tok[parser.tokens_parsed] + if !ok { + break + } else if valid, ok := yaml_simple_key_is_valid(parser, &parser.simple_keys[head_tok_idx]); !ok { + return false + } else if !valid { + break + } + } + // Fetch the next token. + if !yaml_parser_fetch_next_token(parser) { + return false + } + } + + parser.token_available = true + return true +} + +// The dispatcher for token fetchers. +func yaml_parser_fetch_next_token(parser *yaml_parser_t) bool { + // Ensure that the buffer is initialized. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we just started scanning. Fetch STREAM-START then. + if !parser.stream_start_produced { + return yaml_parser_fetch_stream_start(parser) + } + + // Eat whitespaces and comments until we reach the next token. + if !yaml_parser_scan_to_next_token(parser) { + return false + } + + // Check the indentation level against the current column. + if !yaml_parser_unroll_indent(parser, parser.mark.column) { + return false + } + + // Ensure that the buffer contains at least 4 characters. 4 is the length + // of the longest indicators ('--- ' and '... '). + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + // Is it the end of the stream? + if is_z(parser.buffer, parser.buffer_pos) { + return yaml_parser_fetch_stream_end(parser) + } + + // Is it a directive? + if parser.mark.column == 0 && parser.buffer[parser.buffer_pos] == '%' { + return yaml_parser_fetch_directive(parser) + } + + buf := parser.buffer + pos := parser.buffer_pos + + // Is it the document start indicator? + if parser.mark.column == 0 && buf[pos] == '-' && buf[pos+1] == '-' && buf[pos+2] == '-' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_START_TOKEN) + } + + // Is it the document end indicator? + if parser.mark.column == 0 && buf[pos] == '.' && buf[pos+1] == '.' && buf[pos+2] == '.' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_END_TOKEN) + } + + // Is it the flow sequence start indicator? + if buf[pos] == '[' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_SEQUENCE_START_TOKEN) + } + + // Is it the flow mapping start indicator? + if parser.buffer[parser.buffer_pos] == '{' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_MAPPING_START_TOKEN) + } + + // Is it the flow sequence end indicator? + if parser.buffer[parser.buffer_pos] == ']' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_SEQUENCE_END_TOKEN) + } + + // Is it the flow mapping end indicator? + if parser.buffer[parser.buffer_pos] == '}' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_MAPPING_END_TOKEN) + } + + // Is it the flow entry indicator? + if parser.buffer[parser.buffer_pos] == ',' { + return yaml_parser_fetch_flow_entry(parser) + } + + // Is it the block entry indicator? + if parser.buffer[parser.buffer_pos] == '-' && is_blankz(parser.buffer, parser.buffer_pos+1) { + return yaml_parser_fetch_block_entry(parser) + } + + // Is it the key indicator? + if parser.buffer[parser.buffer_pos] == '?' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_key(parser) + } + + // Is it the value indicator? + if parser.buffer[parser.buffer_pos] == ':' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_value(parser) + } + + // Is it an alias? + if parser.buffer[parser.buffer_pos] == '*' { + return yaml_parser_fetch_anchor(parser, yaml_ALIAS_TOKEN) + } + + // Is it an anchor? + if parser.buffer[parser.buffer_pos] == '&' { + return yaml_parser_fetch_anchor(parser, yaml_ANCHOR_TOKEN) + } + + // Is it a tag? + if parser.buffer[parser.buffer_pos] == '!' { + return yaml_parser_fetch_tag(parser) + } + + // Is it a literal scalar? + if parser.buffer[parser.buffer_pos] == '|' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, true) + } + + // Is it a folded scalar? + if parser.buffer[parser.buffer_pos] == '>' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, false) + } + + // Is it a single-quoted scalar? + if parser.buffer[parser.buffer_pos] == '\'' { + return yaml_parser_fetch_flow_scalar(parser, true) + } + + // Is it a double-quoted scalar? + if parser.buffer[parser.buffer_pos] == '"' { + return yaml_parser_fetch_flow_scalar(parser, false) + } + + // Is it a plain scalar? + // + // A plain scalar may start with any non-blank characters except + // + // '-', '?', ':', ',', '[', ']', '{', '}', + // '#', '&', '*', '!', '|', '>', '\'', '\"', + // '%', '@', '`'. + // + // In the block context (and, for the '-' indicator, in the flow context + // too), it may also start with the characters + // + // '-', '?', ':' + // + // if it is followed by a non-space character. + // + // The last rule is more restrictive than the specification requires. + // [Go] Make this logic more reasonable. + //switch parser.buffer[parser.buffer_pos] { + //case '-', '?', ':', ',', '?', '-', ',', ':', ']', '[', '}', '{', '&', '#', '!', '*', '>', '|', '"', '\'', '@', '%', '-', '`': + //} + if !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '-' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}' || parser.buffer[parser.buffer_pos] == '#' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '*' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '|' || + parser.buffer[parser.buffer_pos] == '>' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '"' || parser.buffer[parser.buffer_pos] == '%' || + parser.buffer[parser.buffer_pos] == '@' || parser.buffer[parser.buffer_pos] == '`') || + (parser.buffer[parser.buffer_pos] == '-' && !is_blank(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level == 0 && + (parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':') && + !is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_plain_scalar(parser) + } + + // If we don't determine the token type so far, it is an error. + return yaml_parser_set_scanner_error(parser, + "while scanning for the next token", parser.mark, + "found character that cannot start any token") +} + +func yaml_simple_key_is_valid(parser *yaml_parser_t, simple_key *yaml_simple_key_t) (valid, ok bool) { + if !simple_key.possible { + return false, true + } + + // The 1.2 specification says: + // + // "If the ? indicator is omitted, parsing needs to see past the + // implicit key to recognize it as such. To limit the amount of + // lookahead required, the “:” indicator must appear at most 1024 + // Unicode characters beyond the start of the key. In addition, the key + // is restricted to a single line." + // + if simple_key.mark.line < parser.mark.line || simple_key.mark.index+1024 < parser.mark.index { + // Check if the potential simple key to be removed is required. + if simple_key.required { + return false, yaml_parser_set_scanner_error(parser, + "while scanning a simple key", simple_key.mark, + "could not find expected ':'") + } + simple_key.possible = false + return false, true + } + return true, true +} + +// Check if a simple key may start at the current position and add it if +// needed. +func yaml_parser_save_simple_key(parser *yaml_parser_t) bool { + // A simple key is required at the current position if the scanner is in + // the block context and the current column coincides with the indentation + // level. + + required := parser.flow_level == 0 && parser.indent == parser.mark.column + + // + // If the current position may start a simple key, save it. + // + if parser.simple_key_allowed { + simple_key := yaml_simple_key_t{ + possible: true, + required: required, + token_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head), + mark: parser.mark, + } + + if !yaml_parser_remove_simple_key(parser) { + return false + } + parser.simple_keys[len(parser.simple_keys)-1] = simple_key + parser.simple_keys_by_tok[simple_key.token_number] = len(parser.simple_keys) - 1 + } + return true +} + +// Remove a potential simple key at the current flow level. +func yaml_parser_remove_simple_key(parser *yaml_parser_t) bool { + i := len(parser.simple_keys) - 1 + if parser.simple_keys[i].possible { + // If the key is required, it is an error. + if parser.simple_keys[i].required { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", parser.simple_keys[i].mark, + "could not find expected ':'") + } + // Remove the key from the stack. + parser.simple_keys[i].possible = false + delete(parser.simple_keys_by_tok, parser.simple_keys[i].token_number) + } + return true +} + +// max_flow_level limits the flow_level +const max_flow_level = 10000 + +// Increase the flow level and resize the simple key list if needed. +func yaml_parser_increase_flow_level(parser *yaml_parser_t) bool { + // Reset the simple key on the next level. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{ + possible: false, + required: false, + token_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head), + mark: parser.mark, + }) + + // Increase the flow level. + parser.flow_level++ + if parser.flow_level > max_flow_level { + return yaml_parser_set_scanner_error(parser, + "while increasing flow level", parser.simple_keys[len(parser.simple_keys)-1].mark, + fmt.Sprintf("exceeded max depth of %d", max_flow_level)) + } + return true +} + +// Decrease the flow level. +func yaml_parser_decrease_flow_level(parser *yaml_parser_t) bool { + if parser.flow_level > 0 { + parser.flow_level-- + last := len(parser.simple_keys) - 1 + delete(parser.simple_keys_by_tok, parser.simple_keys[last].token_number) + parser.simple_keys = parser.simple_keys[:last] + } + return true +} + +// max_indents limits the indents stack size +const max_indents = 10000 + +// Push the current indentation level to the stack and set the new level +// the current column is greater than the indentation level. In this case, +// append or insert the specified token into the token queue. +func yaml_parser_roll_indent(parser *yaml_parser_t, column, number int, typ yaml_token_type_t, mark yaml_mark_t) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + if parser.indent < column { + // Push the current indentation level to the stack and set the new + // indentation level. + parser.indents = append(parser.indents, parser.indent) + parser.indent = column + if len(parser.indents) > max_indents { + return yaml_parser_set_scanner_error(parser, + "while increasing indent level", parser.simple_keys[len(parser.simple_keys)-1].mark, + fmt.Sprintf("exceeded max depth of %d", max_indents)) + } + + // Create a token and insert it into the queue. + token := yaml_token_t{ + typ: typ, + start_mark: mark, + end_mark: mark, + } + if number > -1 { + number -= parser.tokens_parsed + } + yaml_insert_token(parser, number, &token) + } + return true +} + +// Pop indentation levels from the indents stack until the current level +// becomes less or equal to the column. For each indentation level, append +// the BLOCK-END token. +func yaml_parser_unroll_indent(parser *yaml_parser_t, column int) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + // Loop through the indentation levels in the stack. + for parser.indent > column { + // Create a token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_END_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + } + yaml_insert_token(parser, -1, &token) + + // Pop the indentation level. + parser.indent = parser.indents[len(parser.indents)-1] + parser.indents = parser.indents[:len(parser.indents)-1] + } + return true +} + +// Initialize the scanner and produce the STREAM-START token. +func yaml_parser_fetch_stream_start(parser *yaml_parser_t) bool { + + // Set the initial indentation. + parser.indent = -1 + + // Initialize the simple key stack. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{}) + + parser.simple_keys_by_tok = make(map[int]int) + + // A simple key is allowed at the beginning of the stream. + parser.simple_key_allowed = true + + // We have started. + parser.stream_start_produced = true + + // Create the STREAM-START token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_START_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + encoding: parser.encoding, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the STREAM-END token and shut down the scanner. +func yaml_parser_fetch_stream_end(parser *yaml_parser_t) bool { + + // Force new line. + if parser.mark.column != 0 { + parser.mark.column = 0 + parser.mark.line++ + } + + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the STREAM-END token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_END_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce a VERSION-DIRECTIVE or TAG-DIRECTIVE token. +func yaml_parser_fetch_directive(parser *yaml_parser_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the YAML-DIRECTIVE or TAG-DIRECTIVE token. + token := yaml_token_t{} + if !yaml_parser_scan_directive(parser, &token) { + return false + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the DOCUMENT-START or DOCUMENT-END token. +func yaml_parser_fetch_document_indicator(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Consume the token. + start_mark := parser.mark + + skip(parser) + skip(parser) + skip(parser) + + end_mark := parser.mark + + // Create the DOCUMENT-START or DOCUMENT-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. +func yaml_parser_fetch_flow_collection_start(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // The indicators '[' and '{' may start a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // Increase the flow level. + if !yaml_parser_increase_flow_level(parser) { + return false + } + + // A simple key may follow the indicators '[' and '{'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-START of FLOW-MAPPING-START token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. +func yaml_parser_fetch_flow_collection_end(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset any potential simple key on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Decrease the flow level. + if !yaml_parser_decrease_flow_level(parser) { + return false + } + + // No simple keys after the indicators ']' and '}'. + parser.simple_key_allowed = false + + // Consume the token. + + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-END of FLOW-MAPPING-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-ENTRY token. +func yaml_parser_fetch_flow_entry(parser *yaml_parser_t) bool { + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after ','. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_FLOW_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the BLOCK-ENTRY token. +func yaml_parser_fetch_block_entry(parser *yaml_parser_t) bool { + // Check if the scanner is in the block context. + if parser.flow_level == 0 { + // Check if we are allowed to start a new entry. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "block sequence entries are not allowed in this context") + } + // Add the BLOCK-SEQUENCE-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_SEQUENCE_START_TOKEN, parser.mark) { + return false + } + } else { + // It is an error for the '-' indicator to occur in the flow context, + // but we let the Parser detect and report about it because the Parser + // is able to point to the context. + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '-'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the BLOCK-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the KEY token. +func yaml_parser_fetch_key(parser *yaml_parser_t) bool { + + // In the block context, additional checks are required. + if parser.flow_level == 0 { + // Check if we are allowed to start a new key (not nessesary simple). + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping keys are not allowed in this context") + } + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '?' in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the KEY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the VALUE token. +func yaml_parser_fetch_value(parser *yaml_parser_t) bool { + + simple_key := &parser.simple_keys[len(parser.simple_keys)-1] + + // Have we found a simple key? + if valid, ok := yaml_simple_key_is_valid(parser, simple_key); !ok { + return false + + } else if valid { + + // Create the KEY token and insert it into the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: simple_key.mark, + end_mark: simple_key.mark, + } + yaml_insert_token(parser, simple_key.token_number-parser.tokens_parsed, &token) + + // In the block context, we may need to add the BLOCK-MAPPING-START token. + if !yaml_parser_roll_indent(parser, simple_key.mark.column, + simple_key.token_number, + yaml_BLOCK_MAPPING_START_TOKEN, simple_key.mark) { + return false + } + + // Remove the simple key. + simple_key.possible = false + delete(parser.simple_keys_by_tok, simple_key.token_number) + + // A simple key cannot follow another simple key. + parser.simple_key_allowed = false + + } else { + // The ':' indicator follows a complex key. + + // In the block context, extra checks are required. + if parser.flow_level == 0 { + + // Check if we are allowed to start a complex value. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping values are not allowed in this context") + } + + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Simple keys after ':' are allowed in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + } + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the VALUE token and append it to the queue. + token := yaml_token_t{ + typ: yaml_VALUE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the ALIAS or ANCHOR token. +func yaml_parser_fetch_anchor(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // An anchor or an alias could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow an anchor or an alias. + parser.simple_key_allowed = false + + // Create the ALIAS or ANCHOR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_anchor(parser, &token, typ) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the TAG token. +func yaml_parser_fetch_tag(parser *yaml_parser_t) bool { + // A tag could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a tag. + parser.simple_key_allowed = false + + // Create the TAG token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_tag(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. +func yaml_parser_fetch_block_scalar(parser *yaml_parser_t, literal bool) bool { + // Remove any potential simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // A simple key may follow a block scalar. + parser.simple_key_allowed = true + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_block_scalar(parser, &token, literal) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. +func yaml_parser_fetch_flow_scalar(parser *yaml_parser_t, single bool) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_flow_scalar(parser, &token, single) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,plain) token. +func yaml_parser_fetch_plain_scalar(parser *yaml_parser_t) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_plain_scalar(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Eat whitespaces and comments until the next token is found. +func yaml_parser_scan_to_next_token(parser *yaml_parser_t) bool { + + // Until the next token is not found. + for { + // Allow the BOM mark to start a line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.mark.column == 0 && is_bom(parser.buffer, parser.buffer_pos) { + skip(parser) + } + + // Eat whitespaces. + // Tabs are allowed: + // - in the flow context + // - in the block context, but not at the beginning of the line or + // after '-', '?', or ':' (complex value). + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for parser.buffer[parser.buffer_pos] == ' ' || ((parser.flow_level > 0 || !parser.simple_key_allowed) && parser.buffer[parser.buffer_pos] == '\t') { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Eat a comment until a line break. + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // If it is a line break, eat it. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + + // In the block context, a new line may start a simple key. + if parser.flow_level == 0 { + parser.simple_key_allowed = true + } + } else { + break // We have found a token. + } + } + + return true +} + +// Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// +func yaml_parser_scan_directive(parser *yaml_parser_t, token *yaml_token_t) bool { + // Eat '%'. + start_mark := parser.mark + skip(parser) + + // Scan the directive name. + var name []byte + if !yaml_parser_scan_directive_name(parser, start_mark, &name) { + return false + } + + // Is it a YAML directive? + if bytes.Equal(name, []byte("YAML")) { + // Scan the VERSION directive value. + var major, minor int8 + if !yaml_parser_scan_version_directive_value(parser, start_mark, &major, &minor) { + return false + } + end_mark := parser.mark + + // Create a VERSION-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_VERSION_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + major: major, + minor: minor, + } + + // Is it a TAG directive? + } else if bytes.Equal(name, []byte("TAG")) { + // Scan the TAG directive value. + var handle, prefix []byte + if !yaml_parser_scan_tag_directive_value(parser, start_mark, &handle, &prefix) { + return false + } + end_mark := parser.mark + + // Create a TAG-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_TAG_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + prefix: prefix, + } + + // Unknown directive. + } else { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unknown directive name") + return false + } + + // Eat the rest of the line including any comments. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + return true +} + +// Scan the directive name. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^ +// +func yaml_parser_scan_directive_name(parser *yaml_parser_t, start_mark yaml_mark_t, name *[]byte) bool { + // Consume the directive name. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + var s []byte + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the name is empty. + if len(s) == 0 { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "could not find expected directive name") + return false + } + + // Check for an blank character after the name. + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unexpected non-alphabetical character") + return false + } + *name = s + return true +} + +// Scan the value of VERSION-DIRECTIVE. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^^^ +func yaml_parser_scan_version_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, major, minor *int8) bool { + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the major version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, major) { + return false + } + + // Eat '.'. + if parser.buffer[parser.buffer_pos] != '.' { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected digit or '.' character") + } + + skip(parser) + + // Consume the minor version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, minor) { + return false + } + return true +} + +const max_number_length = 2 + +// Scan the version number of VERSION-DIRECTIVE. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^ +// %YAML 1.1 # a comment \n +// ^ +func yaml_parser_scan_version_directive_number(parser *yaml_parser_t, start_mark yaml_mark_t, number *int8) bool { + + // Repeat while the next character is digit. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var value, length int8 + for is_digit(parser.buffer, parser.buffer_pos) { + // Check if the number is too long. + length++ + if length > max_number_length { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "found extremely long version number") + } + value = value*10 + int8(as_digit(parser.buffer, parser.buffer_pos)) + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the number was present. + if length == 0 { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected version number") + } + *number = value + return true +} + +// Scan the value of a TAG-DIRECTIVE token. +// +// Scope: +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// +func yaml_parser_scan_tag_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, handle, prefix *[]byte) bool { + var handle_value, prefix_value []byte + + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a handle. + if !yaml_parser_scan_tag_handle(parser, true, start_mark, &handle_value) { + return false + } + + // Expect a whitespace. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blank(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace") + return false + } + + // Eat whitespaces. + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a prefix. + if !yaml_parser_scan_tag_uri(parser, true, nil, start_mark, &prefix_value) { + return false + } + + // Expect a whitespace or line break. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace or line break") + return false + } + + *handle = handle_value + *prefix = prefix_value + return true +} + +func yaml_parser_scan_anchor(parser *yaml_parser_t, token *yaml_token_t, typ yaml_token_type_t) bool { + var s []byte + + // Eat the indicator character. + start_mark := parser.mark + skip(parser) + + // Consume the value. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + end_mark := parser.mark + + /* + * Check if length of the anchor is greater than 0 and it is followed by + * a whitespace character or one of the indicators: + * + * '?', ':', ',', ']', '}', '%', '@', '`'. + */ + + if len(s) == 0 || + !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '}' || + parser.buffer[parser.buffer_pos] == '%' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '`') { + context := "while scanning an alias" + if typ == yaml_ANCHOR_TOKEN { + context = "while scanning an anchor" + } + yaml_parser_set_scanner_error(parser, context, start_mark, + "did not find expected alphabetic or numeric character") + return false + } + + // Create a token. + *token = yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + value: s, + } + + return true +} + +/* + * Scan a TAG token. + */ + +func yaml_parser_scan_tag(parser *yaml_parser_t, token *yaml_token_t) bool { + var handle, suffix []byte + + start_mark := parser.mark + + // Check if the tag is in the canonical form. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + if parser.buffer[parser.buffer_pos+1] == '<' { + // Keep the handle as '' + + // Eat '!<' + skip(parser) + skip(parser) + + // Consume the tag value. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + + // Check for '>' and eat it. + if parser.buffer[parser.buffer_pos] != '>' { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find the expected '>'") + return false + } + + skip(parser) + } else { + // The tag has either the '!suffix' or the '!handle!suffix' form. + + // First, try to scan a handle. + if !yaml_parser_scan_tag_handle(parser, false, start_mark, &handle) { + return false + } + + // Check if it is, indeed, handle. + if handle[0] == '!' && len(handle) > 1 && handle[len(handle)-1] == '!' { + // Scan the suffix now. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + } else { + // It wasn't a handle after all. Scan the rest of the tag. + if !yaml_parser_scan_tag_uri(parser, false, handle, start_mark, &suffix) { + return false + } + + // Set the handle to '!'. + handle = []byte{'!'} + + // A special case: the '!' tag. Set the handle to '' and the + // suffix to '!'. + if len(suffix) == 0 { + handle, suffix = suffix, handle + } + } + } + + // Check the character which ends the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find expected whitespace or line break") + return false + } + + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_TAG_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + suffix: suffix, + } + return true +} + +// Scan a tag handle. +func yaml_parser_scan_tag_handle(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, handle *[]byte) bool { + // Check the initial '!' character. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] != '!' { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + + var s []byte + + // Copy the '!' character. + s = read(parser, s) + + // Copy all subsequent alphabetical and numerical characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the trailing character is '!' and copy it. + if parser.buffer[parser.buffer_pos] == '!' { + s = read(parser, s) + } else { + // It's either the '!' tag or not really a tag handle. If it's a %TAG + // directive, it's an error. If it's a tag token, it must be a part of URI. + if directive && string(s) != "!" { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + } + + *handle = s + return true +} + +// Scan a tag. +func yaml_parser_scan_tag_uri(parser *yaml_parser_t, directive bool, head []byte, start_mark yaml_mark_t, uri *[]byte) bool { + //size_t length = head ? strlen((char *)head) : 0 + var s []byte + hasTag := len(head) > 0 + + // Copy the head if needed. + // + // Note that we don't copy the leading '!' character. + if len(head) > 1 { + s = append(s, head[1:]...) + } + + // Scan the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // The set of characters that may appear in URI is as follows: + // + // '0'-'9', 'A'-'Z', 'a'-'z', '_', '-', ';', '/', '?', ':', '@', '&', + // '=', '+', '$', ',', '.', '!', '~', '*', '\'', '(', ')', '[', ']', + // '%'. + // [Go] Convert this into more reasonable logic. + for is_alpha(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == ';' || + parser.buffer[parser.buffer_pos] == '/' || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '=' || + parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '$' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '.' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '~' || + parser.buffer[parser.buffer_pos] == '*' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '(' || parser.buffer[parser.buffer_pos] == ')' || + parser.buffer[parser.buffer_pos] == '[' || parser.buffer[parser.buffer_pos] == ']' || + parser.buffer[parser.buffer_pos] == '%' { + // Check if it is a URI-escape sequence. + if parser.buffer[parser.buffer_pos] == '%' { + if !yaml_parser_scan_uri_escapes(parser, directive, start_mark, &s) { + return false + } + } else { + s = read(parser, s) + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + hasTag = true + } + + if !hasTag { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected tag URI") + return false + } + *uri = s + return true +} + +// Decode an URI-escape sequence corresponding to a single UTF-8 character. +func yaml_parser_scan_uri_escapes(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, s *[]byte) bool { + + // Decode the required number of characters. + w := 1024 + for w > 0 { + // Check for a URI-escaped octet. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + + if !(parser.buffer[parser.buffer_pos] == '%' && + is_hex(parser.buffer, parser.buffer_pos+1) && + is_hex(parser.buffer, parser.buffer_pos+2)) { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find URI escaped octet") + } + + // Get the octet. + octet := byte((as_hex(parser.buffer, parser.buffer_pos+1) << 4) + as_hex(parser.buffer, parser.buffer_pos+2)) + + // If it is the leading octet, determine the length of the UTF-8 sequence. + if w == 1024 { + w = width(octet) + if w == 0 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect leading UTF-8 octet") + } + } else { + // Check if the trailing octet is correct. + if octet&0xC0 != 0x80 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect trailing UTF-8 octet") + } + } + + // Copy the octet and move the pointers. + *s = append(*s, octet) + skip(parser) + skip(parser) + skip(parser) + w-- + } + return true +} + +// Scan a block scalar. +func yaml_parser_scan_block_scalar(parser *yaml_parser_t, token *yaml_token_t, literal bool) bool { + // Eat the indicator '|' or '>'. + start_mark := parser.mark + skip(parser) + + // Scan the additional block scalar indicators. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check for a chomping indicator. + var chomping, increment int + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + // Set the chomping method and eat the indicator. + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + + // Check for an indentation indicator. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_digit(parser.buffer, parser.buffer_pos) { + // Check that the indentation is greater than 0. + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + + // Get the indentation level and eat the indicator. + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + } + + } else if is_digit(parser.buffer, parser.buffer_pos) { + // Do the same as above, but in the opposite order. + + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + } + } + + // Eat whitespaces and comments to the end of the line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + end_mark := parser.mark + + // Set the indentation level if it was specified. + var indent int + if increment > 0 { + if parser.indent >= 0 { + indent = parser.indent + increment + } else { + indent = increment + } + } + + // Scan the leading line breaks and determine the indentation level if needed. + var s, leading_break, trailing_breaks []byte + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + + // Scan the block scalar content. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var leading_blank, trailing_blank bool + for parser.mark.column == indent && !is_z(parser.buffer, parser.buffer_pos) { + // We are at the beginning of a non-empty line. + + // Is it a trailing whitespace? + trailing_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Check if we need to fold the leading line break. + if !literal && !leading_blank && !trailing_blank && len(leading_break) > 0 && leading_break[0] == '\n' { + // Do we need to join the lines by space? + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } + } else { + s = append(s, leading_break...) + } + leading_break = leading_break[:0] + + // Append the remaining line breaks. + s = append(s, trailing_breaks...) + trailing_breaks = trailing_breaks[:0] + + // Is it a leading whitespace? + leading_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Consume the current line. + for !is_breakz(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + leading_break = read_line(parser, leading_break) + + // Eat the following indentation spaces and line breaks. + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + } + + // Chomp the tail. + if chomping != -1 { + s = append(s, leading_break...) + } + if chomping == 1 { + s = append(s, trailing_breaks...) + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_LITERAL_SCALAR_STYLE, + } + if !literal { + token.style = yaml_FOLDED_SCALAR_STYLE + } + return true +} + +// Scan indentation spaces and line breaks for a block scalar. Determine the +// indentation level if needed. +func yaml_parser_scan_block_scalar_breaks(parser *yaml_parser_t, indent *int, breaks *[]byte, start_mark yaml_mark_t, end_mark *yaml_mark_t) bool { + *end_mark = parser.mark + + // Eat the indentation spaces and line breaks. + max_indent := 0 + for { + // Eat the indentation spaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for (*indent == 0 || parser.mark.column < *indent) && is_space(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.mark.column > max_indent { + max_indent = parser.mark.column + } + + // Check for a tab character messing the indentation. + if (*indent == 0 || parser.mark.column < *indent) && is_tab(parser.buffer, parser.buffer_pos) { + return yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found a tab character where an indentation space is expected") + } + + // Have we found a non-empty line? + if !is_break(parser.buffer, parser.buffer_pos) { + break + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + // [Go] Should really be returning breaks instead. + *breaks = read_line(parser, *breaks) + *end_mark = parser.mark + } + + // Determine the indentation level if needed. + if *indent == 0 { + *indent = max_indent + if *indent < parser.indent+1 { + *indent = parser.indent + 1 + } + if *indent < 1 { + *indent = 1 + } + } + return true +} + +// Scan a quoted scalar. +func yaml_parser_scan_flow_scalar(parser *yaml_parser_t, token *yaml_token_t, single bool) bool { + // Eat the left quote. + start_mark := parser.mark + skip(parser) + + // Consume the content of the quoted scalar. + var s, leading_break, trailing_breaks, whitespaces []byte + for { + // Check that there are no document indicators at the beginning of the line. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected document indicator") + return false + } + + // Check for EOF. + if is_z(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected end of stream") + return false + } + + // Consume non-blank characters. + leading_blanks := false + for !is_blankz(parser.buffer, parser.buffer_pos) { + if single && parser.buffer[parser.buffer_pos] == '\'' && parser.buffer[parser.buffer_pos+1] == '\'' { + // Is is an escaped single quote. + s = append(s, '\'') + skip(parser) + skip(parser) + + } else if single && parser.buffer[parser.buffer_pos] == '\'' { + // It is a right single quote. + break + } else if !single && parser.buffer[parser.buffer_pos] == '"' { + // It is a right double quote. + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' && is_break(parser.buffer, parser.buffer_pos+1) { + // It is an escaped line break. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + skip(parser) + skip_line(parser) + leading_blanks = true + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' { + // It is an escape sequence. + code_length := 0 + + // Check the escape character. + switch parser.buffer[parser.buffer_pos+1] { + case '0': + s = append(s, 0) + case 'a': + s = append(s, '\x07') + case 'b': + s = append(s, '\x08') + case 't', '\t': + s = append(s, '\x09') + case 'n': + s = append(s, '\x0A') + case 'v': + s = append(s, '\x0B') + case 'f': + s = append(s, '\x0C') + case 'r': + s = append(s, '\x0D') + case 'e': + s = append(s, '\x1B') + case ' ': + s = append(s, '\x20') + case '"': + s = append(s, '"') + case '\'': + s = append(s, '\'') + case '\\': + s = append(s, '\\') + case 'N': // NEL (#x85) + s = append(s, '\xC2') + s = append(s, '\x85') + case '_': // #xA0 + s = append(s, '\xC2') + s = append(s, '\xA0') + case 'L': // LS (#x2028) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA8') + case 'P': // PS (#x2029) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA9') + case 'x': + code_length = 2 + case 'u': + code_length = 4 + case 'U': + code_length = 8 + default: + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found unknown escape character") + return false + } + + skip(parser) + skip(parser) + + // Consume an arbitrary escape code. + if code_length > 0 { + var value int + + // Scan the character value. + if parser.unread < code_length && !yaml_parser_update_buffer(parser, code_length) { + return false + } + for k := 0; k < code_length; k++ { + if !is_hex(parser.buffer, parser.buffer_pos+k) { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "did not find expected hexdecimal number") + return false + } + value = (value << 4) + as_hex(parser.buffer, parser.buffer_pos+k) + } + + // Check the value and write the character. + if (value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found invalid Unicode character escape code") + return false + } + if value <= 0x7F { + s = append(s, byte(value)) + } else if value <= 0x7FF { + s = append(s, byte(0xC0+(value>>6))) + s = append(s, byte(0x80+(value&0x3F))) + } else if value <= 0xFFFF { + s = append(s, byte(0xE0+(value>>12))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } else { + s = append(s, byte(0xF0+(value>>18))) + s = append(s, byte(0x80+((value>>12)&0x3F))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } + + // Advance the pointer. + for k := 0; k < code_length; k++ { + skip(parser) + } + } + } else { + // It is a non-escaped non-blank character. + s = read(parser, s) + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we are at the end of the scalar. + if single { + if parser.buffer[parser.buffer_pos] == '\'' { + break + } + } else { + if parser.buffer[parser.buffer_pos] == '"' { + break + } + } + + // Consume blank characters. + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Join the whitespaces or fold line breaks. + if leading_blanks { + // Do we need to fold line breaks? + if len(leading_break) > 0 && leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Eat the right quote. + skip(parser) + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_SINGLE_QUOTED_SCALAR_STYLE, + } + if !single { + token.style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + return true +} + +// Scan a plain scalar. +func yaml_parser_scan_plain_scalar(parser *yaml_parser_t, token *yaml_token_t) bool { + + var s, leading_break, trailing_breaks, whitespaces []byte + var leading_blanks bool + var indent = parser.indent + 1 + + start_mark := parser.mark + end_mark := parser.mark + + // Consume the content of the plain scalar. + for { + // Check for a document indicator. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + break + } + + // Check for a comment. + if parser.buffer[parser.buffer_pos] == '#' { + break + } + + // Consume non-blank characters. + for !is_blankz(parser.buffer, parser.buffer_pos) { + + // Check for indicators that may end a plain scalar. + if (parser.buffer[parser.buffer_pos] == ':' && is_blankz(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level > 0 && + (parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}')) { + break + } + + // Check if we need to join whitespaces and breaks. + if leading_blanks || len(whitespaces) > 0 { + if leading_blanks { + // Do we need to fold line breaks? + if leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + leading_blanks = false + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Copy the character. + s = read(parser, s) + + end_mark = parser.mark + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + // Is it the end? + if !(is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos)) { + break + } + + // Consume blank characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + + // Check for tab characters that abuse indentation. + if leading_blanks && parser.mark.column < indent && is_tab(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a plain scalar", + start_mark, "found a tab character that violates indentation") + return false + } + + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check indentation level. + if parser.flow_level == 0 && parser.mark.column < indent { + break + } + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_PLAIN_SCALAR_STYLE, + } + + // Note that we change the 'simple_key_allowed' flag. + if leading_blanks { + parser.simple_key_allowed = true + } + return true +} diff --git a/vendor/gopkg.in/yaml.v2/sorter.go b/vendor/gopkg.in/yaml.v2/sorter.go new file mode 100644 index 000000000..4c45e660a --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/sorter.go @@ -0,0 +1,113 @@ +package yaml + +import ( + "reflect" + "unicode" +) + +type keyList []reflect.Value + +func (l keyList) Len() int { return len(l) } +func (l keyList) Swap(i, j int) { l[i], l[j] = l[j], l[i] } +func (l keyList) Less(i, j int) bool { + a := l[i] + b := l[j] + ak := a.Kind() + bk := b.Kind() + for (ak == reflect.Interface || ak == reflect.Ptr) && !a.IsNil() { + a = a.Elem() + ak = a.Kind() + } + for (bk == reflect.Interface || bk == reflect.Ptr) && !b.IsNil() { + b = b.Elem() + bk = b.Kind() + } + af, aok := keyFloat(a) + bf, bok := keyFloat(b) + if aok && bok { + if af != bf { + return af < bf + } + if ak != bk { + return ak < bk + } + return numLess(a, b) + } + if ak != reflect.String || bk != reflect.String { + return ak < bk + } + ar, br := []rune(a.String()), []rune(b.String()) + for i := 0; i < len(ar) && i < len(br); i++ { + if ar[i] == br[i] { + continue + } + al := unicode.IsLetter(ar[i]) + bl := unicode.IsLetter(br[i]) + if al && bl { + return ar[i] < br[i] + } + if al || bl { + return bl + } + var ai, bi int + var an, bn int64 + if ar[i] == '0' || br[i] == '0' { + for j := i-1; j >= 0 && unicode.IsDigit(ar[j]); j-- { + if ar[j] != '0' { + an = 1 + bn = 1 + break + } + } + } + for ai = i; ai < len(ar) && unicode.IsDigit(ar[ai]); ai++ { + an = an*10 + int64(ar[ai]-'0') + } + for bi = i; bi < len(br) && unicode.IsDigit(br[bi]); bi++ { + bn = bn*10 + int64(br[bi]-'0') + } + if an != bn { + return an < bn + } + if ai != bi { + return ai < bi + } + return ar[i] < br[i] + } + return len(ar) < len(br) +} + +// keyFloat returns a float value for v if it is a number/bool +// and whether it is a number/bool or not. +func keyFloat(v reflect.Value) (f float64, ok bool) { + switch v.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return float64(v.Int()), true + case reflect.Float32, reflect.Float64: + return v.Float(), true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return float64(v.Uint()), true + case reflect.Bool: + if v.Bool() { + return 1, true + } + return 0, true + } + return 0, false +} + +// numLess returns whether a < b. +// a and b must necessarily have the same kind. +func numLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return a.Int() < b.Int() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Bool: + return !a.Bool() && b.Bool() + } + panic("not a number") +} diff --git a/vendor/gopkg.in/yaml.v2/writerc.go b/vendor/gopkg.in/yaml.v2/writerc.go new file mode 100644 index 000000000..a2dde608c --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/writerc.go @@ -0,0 +1,26 @@ +package yaml + +// Set the writer error and return false. +func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_WRITER_ERROR + emitter.problem = problem + return false +} + +// Flush the output buffer. +func yaml_emitter_flush(emitter *yaml_emitter_t) bool { + if emitter.write_handler == nil { + panic("write handler not set") + } + + // Check if the buffer is empty. + if emitter.buffer_pos == 0 { + return true + } + + if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil { + return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error()) + } + emitter.buffer_pos = 0 + return true +} diff --git a/vendor/gopkg.in/yaml.v2/yaml.go b/vendor/gopkg.in/yaml.v2/yaml.go new file mode 100644 index 000000000..30813884c --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/yaml.go @@ -0,0 +1,478 @@ +// Package yaml implements YAML support for the Go language. +// +// Source code and other details for the project are available at GitHub: +// +// https://github.com/go-yaml/yaml +// +package yaml + +import ( + "errors" + "fmt" + "io" + "reflect" + "strings" + "sync" +) + +// MapSlice encodes and decodes as a YAML map. +// The order of keys is preserved when encoding and decoding. +type MapSlice []MapItem + +// MapItem is an item in a MapSlice. +type MapItem struct { + Key, Value interface{} +} + +// The Unmarshaler interface may be implemented by types to customize their +// behavior when being unmarshaled from a YAML document. The UnmarshalYAML +// method receives a function that may be called to unmarshal the original +// YAML value into a field or variable. It is safe to call the unmarshal +// function parameter more than once if necessary. +type Unmarshaler interface { + UnmarshalYAML(unmarshal func(interface{}) error) error +} + +// The Marshaler interface may be implemented by types to customize their +// behavior when being marshaled into a YAML document. The returned value +// is marshaled in place of the original value implementing Marshaler. +// +// If an error is returned by MarshalYAML, the marshaling procedure stops +// and returns with the provided error. +type Marshaler interface { + MarshalYAML() (interface{}, error) +} + +// Unmarshal decodes the first document found within the in byte slice +// and assigns decoded values into the out value. +// +// Maps and pointers (to a struct, string, int, etc) are accepted as out +// values. If an internal pointer within a struct is not initialized, +// the yaml package will initialize it if necessary for unmarshalling +// the provided data. The out parameter must not be nil. +// +// The type of the decoded values should be compatible with the respective +// values in out. If one or more values cannot be decoded due to a type +// mismatches, decoding continues partially until the end of the YAML +// content, and a *yaml.TypeError is returned with details for all +// missed values. +// +// Struct fields are only unmarshalled if they are exported (have an +// upper case first letter), and are unmarshalled using the field name +// lowercased as the default key. Custom keys may be defined via the +// "yaml" name in the field tag: the content preceding the first comma +// is used as the key, and the following comma-separated options are +// used to tweak the marshalling process (see Marshal). +// Conflicting names result in a runtime error. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// var t T +// yaml.Unmarshal([]byte("a: 1\nb: 2"), &t) +// +// See the documentation of Marshal for the format of tags and a list of +// supported tag options. +// +func Unmarshal(in []byte, out interface{}) (err error) { + return unmarshal(in, out, false) +} + +// UnmarshalStrict is like Unmarshal except that any fields that are found +// in the data that do not have corresponding struct members, or mapping +// keys that are duplicates, will result in +// an error. +func UnmarshalStrict(in []byte, out interface{}) (err error) { + return unmarshal(in, out, true) +} + +// A Decoder reads and decodes YAML values from an input stream. +type Decoder struct { + strict bool + parser *parser +} + +// NewDecoder returns a new decoder that reads from r. +// +// The decoder introduces its own buffering and may read +// data from r beyond the YAML values requested. +func NewDecoder(r io.Reader) *Decoder { + return &Decoder{ + parser: newParserFromReader(r), + } +} + +// SetStrict sets whether strict decoding behaviour is enabled when +// decoding items in the data (see UnmarshalStrict). By default, decoding is not strict. +func (dec *Decoder) SetStrict(strict bool) { + dec.strict = strict +} + +// Decode reads the next YAML-encoded value from its input +// and stores it in the value pointed to by v. +// +// See the documentation for Unmarshal for details about the +// conversion of YAML into a Go value. +func (dec *Decoder) Decode(v interface{}) (err error) { + d := newDecoder(dec.strict) + defer handleErr(&err) + node := dec.parser.parse() + if node == nil { + return io.EOF + } + out := reflect.ValueOf(v) + if out.Kind() == reflect.Ptr && !out.IsNil() { + out = out.Elem() + } + d.unmarshal(node, out) + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +func unmarshal(in []byte, out interface{}, strict bool) (err error) { + defer handleErr(&err) + d := newDecoder(strict) + p := newParser(in) + defer p.destroy() + node := p.parse() + if node != nil { + v := reflect.ValueOf(out) + if v.Kind() == reflect.Ptr && !v.IsNil() { + v = v.Elem() + } + d.unmarshal(node, v) + } + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +// Marshal serializes the value provided into a YAML document. The structure +// of the generated document will reflect the structure of the value itself. +// Maps and pointers (to struct, string, int, etc) are accepted as the in value. +// +// Struct fields are only marshalled if they are exported (have an upper case +// first letter), and are marshalled using the field name lowercased as the +// default key. Custom keys may be defined via the "yaml" name in the field +// tag: the content preceding the first comma is used as the key, and the +// following comma-separated options are used to tweak the marshalling process. +// Conflicting names result in a runtime error. +// +// The field tag format accepted is: +// +// `(...) yaml:"[<key>][,<flag1>[,<flag2>]]" (...)` +// +// The following flags are currently supported: +// +// omitempty Only include the field if it's not set to the zero +// value for the type or to empty slices or maps. +// Zero valued structs will be omitted if all their public +// fields are zero, unless they implement an IsZero +// method (see the IsZeroer interface type), in which +// case the field will be excluded if IsZero returns true. +// +// flow Marshal using a flow style (useful for structs, +// sequences and maps). +// +// inline Inline the field, which must be a struct or a map, +// causing all of its fields or keys to be processed as if +// they were part of the outer struct. For maps, keys must +// not conflict with the yaml keys of other struct fields. +// +// In addition, if the key is "-", the field is ignored. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// yaml.Marshal(&T{B: 2}) // Returns "b: 2\n" +// yaml.Marshal(&T{F: 1}} // Returns "a: 1\nb: 0\n" +// +func Marshal(in interface{}) (out []byte, err error) { + defer handleErr(&err) + e := newEncoder() + defer e.destroy() + e.marshalDoc("", reflect.ValueOf(in)) + e.finish() + out = e.out + return +} + +// An Encoder writes YAML values to an output stream. +type Encoder struct { + encoder *encoder +} + +// NewEncoder returns a new encoder that writes to w. +// The Encoder should be closed after use to flush all data +// to w. +func NewEncoder(w io.Writer) *Encoder { + return &Encoder{ + encoder: newEncoderWithWriter(w), + } +} + +// Encode writes the YAML encoding of v to the stream. +// If multiple items are encoded to the stream, the +// second and subsequent document will be preceded +// with a "---" document separator, but the first will not. +// +// See the documentation for Marshal for details about the conversion of Go +// values to YAML. +func (e *Encoder) Encode(v interface{}) (err error) { + defer handleErr(&err) + e.encoder.marshalDoc("", reflect.ValueOf(v)) + return nil +} + +// Close closes the encoder by writing any remaining data. +// It does not write a stream terminating string "...". +func (e *Encoder) Close() (err error) { + defer handleErr(&err) + e.encoder.finish() + return nil +} + +func handleErr(err *error) { + if v := recover(); v != nil { + if e, ok := v.(yamlError); ok { + *err = e.err + } else { + panic(v) + } + } +} + +type yamlError struct { + err error +} + +func fail(err error) { + panic(yamlError{err}) +} + +func failf(format string, args ...interface{}) { + panic(yamlError{fmt.Errorf("yaml: "+format, args...)}) +} + +// A TypeError is returned by Unmarshal when one or more fields in +// the YAML document cannot be properly decoded into the requested +// types. When this error is returned, the value is still +// unmarshaled partially. +type TypeError struct { + Errors []string +} + +func (e *TypeError) Error() string { + return fmt.Sprintf("yaml: unmarshal errors:\n %s", strings.Join(e.Errors, "\n ")) +} + +// -------------------------------------------------------------------------- +// Maintain a mapping of keys to structure field indexes + +// The code in this section was copied from mgo/bson. + +// structInfo holds details for the serialization of fields of +// a given struct. +type structInfo struct { + FieldsMap map[string]fieldInfo + FieldsList []fieldInfo + + // InlineMap is the number of the field in the struct that + // contains an ,inline map, or -1 if there's none. + InlineMap int +} + +type fieldInfo struct { + Key string + Num int + OmitEmpty bool + Flow bool + // Id holds the unique field identifier, so we can cheaply + // check for field duplicates without maintaining an extra map. + Id int + + // Inline holds the field index if the field is part of an inlined struct. + Inline []int +} + +var structMap = make(map[reflect.Type]*structInfo) +var fieldMapMutex sync.RWMutex + +func getStructInfo(st reflect.Type) (*structInfo, error) { + fieldMapMutex.RLock() + sinfo, found := structMap[st] + fieldMapMutex.RUnlock() + if found { + return sinfo, nil + } + + n := st.NumField() + fieldsMap := make(map[string]fieldInfo) + fieldsList := make([]fieldInfo, 0, n) + inlineMap := -1 + for i := 0; i != n; i++ { + field := st.Field(i) + if field.PkgPath != "" && !field.Anonymous { + continue // Private field + } + + info := fieldInfo{Num: i} + + tag := field.Tag.Get("yaml") + if tag == "" && strings.Index(string(field.Tag), ":") < 0 { + tag = string(field.Tag) + } + if tag == "-" { + continue + } + + inline := false + fields := strings.Split(tag, ",") + if len(fields) > 1 { + for _, flag := range fields[1:] { + switch flag { + case "omitempty": + info.OmitEmpty = true + case "flow": + info.Flow = true + case "inline": + inline = true + default: + return nil, errors.New(fmt.Sprintf("Unsupported flag %q in tag %q of type %s", flag, tag, st)) + } + } + tag = fields[0] + } + + if inline { + switch field.Type.Kind() { + case reflect.Map: + if inlineMap >= 0 { + return nil, errors.New("Multiple ,inline maps in struct " + st.String()) + } + if field.Type.Key() != reflect.TypeOf("") { + return nil, errors.New("Option ,inline needs a map with string keys in struct " + st.String()) + } + inlineMap = info.Num + case reflect.Struct: + sinfo, err := getStructInfo(field.Type) + if err != nil { + return nil, err + } + for _, finfo := range sinfo.FieldsList { + if _, found := fieldsMap[finfo.Key]; found { + msg := "Duplicated key '" + finfo.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + if finfo.Inline == nil { + finfo.Inline = []int{i, finfo.Num} + } else { + finfo.Inline = append([]int{i}, finfo.Inline...) + } + finfo.Id = len(fieldsList) + fieldsMap[finfo.Key] = finfo + fieldsList = append(fieldsList, finfo) + } + default: + //return nil, errors.New("Option ,inline needs a struct value or map field") + return nil, errors.New("Option ,inline needs a struct value field") + } + continue + } + + if tag != "" { + info.Key = tag + } else { + info.Key = strings.ToLower(field.Name) + } + + if _, found = fieldsMap[info.Key]; found { + msg := "Duplicated key '" + info.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + + info.Id = len(fieldsList) + fieldsList = append(fieldsList, info) + fieldsMap[info.Key] = info + } + + sinfo = &structInfo{ + FieldsMap: fieldsMap, + FieldsList: fieldsList, + InlineMap: inlineMap, + } + + fieldMapMutex.Lock() + structMap[st] = sinfo + fieldMapMutex.Unlock() + return sinfo, nil +} + +// IsZeroer is used to check whether an object is zero to +// determine whether it should be omitted when marshaling +// with the omitempty flag. One notable implementation +// is time.Time. +type IsZeroer interface { + IsZero() bool +} + +func isZero(v reflect.Value) bool { + kind := v.Kind() + if z, ok := v.Interface().(IsZeroer); ok { + if (kind == reflect.Ptr || kind == reflect.Interface) && v.IsNil() { + return true + } + return z.IsZero() + } + switch kind { + case reflect.String: + return len(v.String()) == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + case reflect.Slice: + return v.Len() == 0 + case reflect.Map: + return v.Len() == 0 + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Struct: + vt := v.Type() + for i := v.NumField() - 1; i >= 0; i-- { + if vt.Field(i).PkgPath != "" { + continue // Private field + } + if !isZero(v.Field(i)) { + return false + } + } + return true + } + return false +} + +// FutureLineWrap globally disables line wrapping when encoding long strings. +// This is a temporary and thus deprecated method introduced to faciliate +// migration towards v3, which offers more control of line lengths on +// individual encodings, and has a default matching the behavior introduced +// by this function. +// +// The default formatting of v2 was erroneously changed in v2.3.0 and reverted +// in v2.4.0, at which point this function was introduced to help migration. +func FutureLineWrap() { + disableLineWrapping = true +} diff --git a/vendor/gopkg.in/yaml.v2/yamlh.go b/vendor/gopkg.in/yaml.v2/yamlh.go new file mode 100644 index 000000000..f6a9c8e34 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/yamlh.go @@ -0,0 +1,739 @@ +package yaml + +import ( + "fmt" + "io" +) + +// The version directive data. +type yaml_version_directive_t struct { + major int8 // The major version number. + minor int8 // The minor version number. +} + +// The tag directive data. +type yaml_tag_directive_t struct { + handle []byte // The tag handle. + prefix []byte // The tag prefix. +} + +type yaml_encoding_t int + +// The stream encoding. +const ( + // Let the parser choose the encoding. + yaml_ANY_ENCODING yaml_encoding_t = iota + + yaml_UTF8_ENCODING // The default UTF-8 encoding. + yaml_UTF16LE_ENCODING // The UTF-16-LE encoding with BOM. + yaml_UTF16BE_ENCODING // The UTF-16-BE encoding with BOM. +) + +type yaml_break_t int + +// Line break types. +const ( + // Let the parser choose the break type. + yaml_ANY_BREAK yaml_break_t = iota + + yaml_CR_BREAK // Use CR for line breaks (Mac style). + yaml_LN_BREAK // Use LN for line breaks (Unix style). + yaml_CRLN_BREAK // Use CR LN for line breaks (DOS style). +) + +type yaml_error_type_t int + +// Many bad things could happen with the parser and emitter. +const ( + // No error is produced. + yaml_NO_ERROR yaml_error_type_t = iota + + yaml_MEMORY_ERROR // Cannot allocate or reallocate a block of memory. + yaml_READER_ERROR // Cannot read or decode the input stream. + yaml_SCANNER_ERROR // Cannot scan the input stream. + yaml_PARSER_ERROR // Cannot parse the input stream. + yaml_COMPOSER_ERROR // Cannot compose a YAML document. + yaml_WRITER_ERROR // Cannot write to the output stream. + yaml_EMITTER_ERROR // Cannot emit a YAML stream. +) + +// The pointer position. +type yaml_mark_t struct { + index int // The position index. + line int // The position line. + column int // The position column. +} + +// Node Styles + +type yaml_style_t int8 + +type yaml_scalar_style_t yaml_style_t + +// Scalar styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SCALAR_STYLE yaml_scalar_style_t = iota + + yaml_PLAIN_SCALAR_STYLE // The plain scalar style. + yaml_SINGLE_QUOTED_SCALAR_STYLE // The single-quoted scalar style. + yaml_DOUBLE_QUOTED_SCALAR_STYLE // The double-quoted scalar style. + yaml_LITERAL_SCALAR_STYLE // The literal scalar style. + yaml_FOLDED_SCALAR_STYLE // The folded scalar style. +) + +type yaml_sequence_style_t yaml_style_t + +// Sequence styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SEQUENCE_STYLE yaml_sequence_style_t = iota + + yaml_BLOCK_SEQUENCE_STYLE // The block sequence style. + yaml_FLOW_SEQUENCE_STYLE // The flow sequence style. +) + +type yaml_mapping_style_t yaml_style_t + +// Mapping styles. +const ( + // Let the emitter choose the style. + yaml_ANY_MAPPING_STYLE yaml_mapping_style_t = iota + + yaml_BLOCK_MAPPING_STYLE // The block mapping style. + yaml_FLOW_MAPPING_STYLE // The flow mapping style. +) + +// Tokens + +type yaml_token_type_t int + +// Token types. +const ( + // An empty token. + yaml_NO_TOKEN yaml_token_type_t = iota + + yaml_STREAM_START_TOKEN // A STREAM-START token. + yaml_STREAM_END_TOKEN // A STREAM-END token. + + yaml_VERSION_DIRECTIVE_TOKEN // A VERSION-DIRECTIVE token. + yaml_TAG_DIRECTIVE_TOKEN // A TAG-DIRECTIVE token. + yaml_DOCUMENT_START_TOKEN // A DOCUMENT-START token. + yaml_DOCUMENT_END_TOKEN // A DOCUMENT-END token. + + yaml_BLOCK_SEQUENCE_START_TOKEN // A BLOCK-SEQUENCE-START token. + yaml_BLOCK_MAPPING_START_TOKEN // A BLOCK-SEQUENCE-END token. + yaml_BLOCK_END_TOKEN // A BLOCK-END token. + + yaml_FLOW_SEQUENCE_START_TOKEN // A FLOW-SEQUENCE-START token. + yaml_FLOW_SEQUENCE_END_TOKEN // A FLOW-SEQUENCE-END token. + yaml_FLOW_MAPPING_START_TOKEN // A FLOW-MAPPING-START token. + yaml_FLOW_MAPPING_END_TOKEN // A FLOW-MAPPING-END token. + + yaml_BLOCK_ENTRY_TOKEN // A BLOCK-ENTRY token. + yaml_FLOW_ENTRY_TOKEN // A FLOW-ENTRY token. + yaml_KEY_TOKEN // A KEY token. + yaml_VALUE_TOKEN // A VALUE token. + + yaml_ALIAS_TOKEN // An ALIAS token. + yaml_ANCHOR_TOKEN // An ANCHOR token. + yaml_TAG_TOKEN // A TAG token. + yaml_SCALAR_TOKEN // A SCALAR token. +) + +func (tt yaml_token_type_t) String() string { + switch tt { + case yaml_NO_TOKEN: + return "yaml_NO_TOKEN" + case yaml_STREAM_START_TOKEN: + return "yaml_STREAM_START_TOKEN" + case yaml_STREAM_END_TOKEN: + return "yaml_STREAM_END_TOKEN" + case yaml_VERSION_DIRECTIVE_TOKEN: + return "yaml_VERSION_DIRECTIVE_TOKEN" + case yaml_TAG_DIRECTIVE_TOKEN: + return "yaml_TAG_DIRECTIVE_TOKEN" + case yaml_DOCUMENT_START_TOKEN: + return "yaml_DOCUMENT_START_TOKEN" + case yaml_DOCUMENT_END_TOKEN: + return "yaml_DOCUMENT_END_TOKEN" + case yaml_BLOCK_SEQUENCE_START_TOKEN: + return "yaml_BLOCK_SEQUENCE_START_TOKEN" + case yaml_BLOCK_MAPPING_START_TOKEN: + return "yaml_BLOCK_MAPPING_START_TOKEN" + case yaml_BLOCK_END_TOKEN: + return "yaml_BLOCK_END_TOKEN" + case yaml_FLOW_SEQUENCE_START_TOKEN: + return "yaml_FLOW_SEQUENCE_START_TOKEN" + case yaml_FLOW_SEQUENCE_END_TOKEN: + return "yaml_FLOW_SEQUENCE_END_TOKEN" + case yaml_FLOW_MAPPING_START_TOKEN: + return "yaml_FLOW_MAPPING_START_TOKEN" + case yaml_FLOW_MAPPING_END_TOKEN: + return "yaml_FLOW_MAPPING_END_TOKEN" + case yaml_BLOCK_ENTRY_TOKEN: + return "yaml_BLOCK_ENTRY_TOKEN" + case yaml_FLOW_ENTRY_TOKEN: + return "yaml_FLOW_ENTRY_TOKEN" + case yaml_KEY_TOKEN: + return "yaml_KEY_TOKEN" + case yaml_VALUE_TOKEN: + return "yaml_VALUE_TOKEN" + case yaml_ALIAS_TOKEN: + return "yaml_ALIAS_TOKEN" + case yaml_ANCHOR_TOKEN: + return "yaml_ANCHOR_TOKEN" + case yaml_TAG_TOKEN: + return "yaml_TAG_TOKEN" + case yaml_SCALAR_TOKEN: + return "yaml_SCALAR_TOKEN" + } + return "<unknown token>" +} + +// The token structure. +type yaml_token_t struct { + // The token type. + typ yaml_token_type_t + + // The start/end of the token. + start_mark, end_mark yaml_mark_t + + // The stream encoding (for yaml_STREAM_START_TOKEN). + encoding yaml_encoding_t + + // The alias/anchor/scalar value or tag/tag directive handle + // (for yaml_ALIAS_TOKEN, yaml_ANCHOR_TOKEN, yaml_SCALAR_TOKEN, yaml_TAG_TOKEN, yaml_TAG_DIRECTIVE_TOKEN). + value []byte + + // The tag suffix (for yaml_TAG_TOKEN). + suffix []byte + + // The tag directive prefix (for yaml_TAG_DIRECTIVE_TOKEN). + prefix []byte + + // The scalar style (for yaml_SCALAR_TOKEN). + style yaml_scalar_style_t + + // The version directive major/minor (for yaml_VERSION_DIRECTIVE_TOKEN). + major, minor int8 +} + +// Events + +type yaml_event_type_t int8 + +// Event types. +const ( + // An empty event. + yaml_NO_EVENT yaml_event_type_t = iota + + yaml_STREAM_START_EVENT // A STREAM-START event. + yaml_STREAM_END_EVENT // A STREAM-END event. + yaml_DOCUMENT_START_EVENT // A DOCUMENT-START event. + yaml_DOCUMENT_END_EVENT // A DOCUMENT-END event. + yaml_ALIAS_EVENT // An ALIAS event. + yaml_SCALAR_EVENT // A SCALAR event. + yaml_SEQUENCE_START_EVENT // A SEQUENCE-START event. + yaml_SEQUENCE_END_EVENT // A SEQUENCE-END event. + yaml_MAPPING_START_EVENT // A MAPPING-START event. + yaml_MAPPING_END_EVENT // A MAPPING-END event. +) + +var eventStrings = []string{ + yaml_NO_EVENT: "none", + yaml_STREAM_START_EVENT: "stream start", + yaml_STREAM_END_EVENT: "stream end", + yaml_DOCUMENT_START_EVENT: "document start", + yaml_DOCUMENT_END_EVENT: "document end", + yaml_ALIAS_EVENT: "alias", + yaml_SCALAR_EVENT: "scalar", + yaml_SEQUENCE_START_EVENT: "sequence start", + yaml_SEQUENCE_END_EVENT: "sequence end", + yaml_MAPPING_START_EVENT: "mapping start", + yaml_MAPPING_END_EVENT: "mapping end", +} + +func (e yaml_event_type_t) String() string { + if e < 0 || int(e) >= len(eventStrings) { + return fmt.Sprintf("unknown event %d", e) + } + return eventStrings[e] +} + +// The event structure. +type yaml_event_t struct { + + // The event type. + typ yaml_event_type_t + + // The start and end of the event. + start_mark, end_mark yaml_mark_t + + // The document encoding (for yaml_STREAM_START_EVENT). + encoding yaml_encoding_t + + // The version directive (for yaml_DOCUMENT_START_EVENT). + version_directive *yaml_version_directive_t + + // The list of tag directives (for yaml_DOCUMENT_START_EVENT). + tag_directives []yaml_tag_directive_t + + // The anchor (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_ALIAS_EVENT). + anchor []byte + + // The tag (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + tag []byte + + // The scalar value (for yaml_SCALAR_EVENT). + value []byte + + // Is the document start/end indicator implicit, or the tag optional? + // (for yaml_DOCUMENT_START_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_SCALAR_EVENT). + implicit bool + + // Is the tag optional for any non-plain style? (for yaml_SCALAR_EVENT). + quoted_implicit bool + + // The style (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + style yaml_style_t +} + +func (e *yaml_event_t) scalar_style() yaml_scalar_style_t { return yaml_scalar_style_t(e.style) } +func (e *yaml_event_t) sequence_style() yaml_sequence_style_t { return yaml_sequence_style_t(e.style) } +func (e *yaml_event_t) mapping_style() yaml_mapping_style_t { return yaml_mapping_style_t(e.style) } + +// Nodes + +const ( + yaml_NULL_TAG = "tag:yaml.org,2002:null" // The tag !!null with the only possible value: null. + yaml_BOOL_TAG = "tag:yaml.org,2002:bool" // The tag !!bool with the values: true and false. + yaml_STR_TAG = "tag:yaml.org,2002:str" // The tag !!str for string values. + yaml_INT_TAG = "tag:yaml.org,2002:int" // The tag !!int for integer values. + yaml_FLOAT_TAG = "tag:yaml.org,2002:float" // The tag !!float for float values. + yaml_TIMESTAMP_TAG = "tag:yaml.org,2002:timestamp" // The tag !!timestamp for date and time values. + + yaml_SEQ_TAG = "tag:yaml.org,2002:seq" // The tag !!seq is used to denote sequences. + yaml_MAP_TAG = "tag:yaml.org,2002:map" // The tag !!map is used to denote mapping. + + // Not in original libyaml. + yaml_BINARY_TAG = "tag:yaml.org,2002:binary" + yaml_MERGE_TAG = "tag:yaml.org,2002:merge" + + yaml_DEFAULT_SCALAR_TAG = yaml_STR_TAG // The default scalar tag is !!str. + yaml_DEFAULT_SEQUENCE_TAG = yaml_SEQ_TAG // The default sequence tag is !!seq. + yaml_DEFAULT_MAPPING_TAG = yaml_MAP_TAG // The default mapping tag is !!map. +) + +type yaml_node_type_t int + +// Node types. +const ( + // An empty node. + yaml_NO_NODE yaml_node_type_t = iota + + yaml_SCALAR_NODE // A scalar node. + yaml_SEQUENCE_NODE // A sequence node. + yaml_MAPPING_NODE // A mapping node. +) + +// An element of a sequence node. +type yaml_node_item_t int + +// An element of a mapping node. +type yaml_node_pair_t struct { + key int // The key of the element. + value int // The value of the element. +} + +// The node structure. +type yaml_node_t struct { + typ yaml_node_type_t // The node type. + tag []byte // The node tag. + + // The node data. + + // The scalar parameters (for yaml_SCALAR_NODE). + scalar struct { + value []byte // The scalar value. + length int // The length of the scalar value. + style yaml_scalar_style_t // The scalar style. + } + + // The sequence parameters (for YAML_SEQUENCE_NODE). + sequence struct { + items_data []yaml_node_item_t // The stack of sequence items. + style yaml_sequence_style_t // The sequence style. + } + + // The mapping parameters (for yaml_MAPPING_NODE). + mapping struct { + pairs_data []yaml_node_pair_t // The stack of mapping pairs (key, value). + pairs_start *yaml_node_pair_t // The beginning of the stack. + pairs_end *yaml_node_pair_t // The end of the stack. + pairs_top *yaml_node_pair_t // The top of the stack. + style yaml_mapping_style_t // The mapping style. + } + + start_mark yaml_mark_t // The beginning of the node. + end_mark yaml_mark_t // The end of the node. + +} + +// The document structure. +type yaml_document_t struct { + + // The document nodes. + nodes []yaml_node_t + + // The version directive. + version_directive *yaml_version_directive_t + + // The list of tag directives. + tag_directives_data []yaml_tag_directive_t + tag_directives_start int // The beginning of the tag directives list. + tag_directives_end int // The end of the tag directives list. + + start_implicit int // Is the document start indicator implicit? + end_implicit int // Is the document end indicator implicit? + + // The start/end of the document. + start_mark, end_mark yaml_mark_t +} + +// The prototype of a read handler. +// +// The read handler is called when the parser needs to read more bytes from the +// source. The handler should write not more than size bytes to the buffer. +// The number of written bytes should be set to the size_read variable. +// +// [in,out] data A pointer to an application data specified by +// yaml_parser_set_input(). +// [out] buffer The buffer to write the data from the source. +// [in] size The size of the buffer. +// [out] size_read The actual number of bytes read from the source. +// +// On success, the handler should return 1. If the handler failed, +// the returned value should be 0. On EOF, the handler should set the +// size_read to 0 and return 1. +type yaml_read_handler_t func(parser *yaml_parser_t, buffer []byte) (n int, err error) + +// This structure holds information about a potential simple key. +type yaml_simple_key_t struct { + possible bool // Is a simple key possible? + required bool // Is a simple key required? + token_number int // The number of the token. + mark yaml_mark_t // The position mark. +} + +// The states of the parser. +type yaml_parser_state_t int + +const ( + yaml_PARSE_STREAM_START_STATE yaml_parser_state_t = iota + + yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE // Expect the beginning of an implicit document. + yaml_PARSE_DOCUMENT_START_STATE // Expect DOCUMENT-START. + yaml_PARSE_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_PARSE_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_PARSE_BLOCK_NODE_STATE // Expect a block node. + yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE // Expect a block node or indentless sequence. + yaml_PARSE_FLOW_NODE_STATE // Expect a flow node. + yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a block sequence. + yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE // Expect an entry of a block sequence. + yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE // Expect an entry of an indentless sequence. + yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_PARSE_BLOCK_MAPPING_KEY_STATE // Expect a block mapping key. + yaml_PARSE_BLOCK_MAPPING_VALUE_STATE // Expect a block mapping value. + yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE // Expect an entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE // Expect a key of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE // Expect a value of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE // Expect the and of an ordered mapping entry. + yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE // Expect an empty value of a flow mapping. + yaml_PARSE_END_STATE // Expect nothing. +) + +func (ps yaml_parser_state_t) String() string { + switch ps { + case yaml_PARSE_STREAM_START_STATE: + return "yaml_PARSE_STREAM_START_STATE" + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return "yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_START_STATE: + return "yaml_PARSE_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return "yaml_PARSE_DOCUMENT_CONTENT_STATE" + case yaml_PARSE_DOCUMENT_END_STATE: + return "yaml_PARSE_DOCUMENT_END_STATE" + case yaml_PARSE_BLOCK_NODE_STATE: + return "yaml_PARSE_BLOCK_NODE_STATE" + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return "yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE" + case yaml_PARSE_FLOW_NODE_STATE: + return "yaml_PARSE_FLOW_NODE_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return "yaml_PARSE_BLOCK_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE" + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE" + case yaml_PARSE_END_STATE: + return "yaml_PARSE_END_STATE" + } + return "<unknown parser state>" +} + +// This structure holds aliases data. +type yaml_alias_data_t struct { + anchor []byte // The anchor. + index int // The node id. + mark yaml_mark_t // The anchor mark. +} + +// The parser structure. +// +// All members are internal. Manage the structure using the +// yaml_parser_ family of functions. +type yaml_parser_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + + problem string // Error description. + + // The byte about which the problem occurred. + problem_offset int + problem_value int + problem_mark yaml_mark_t + + // The error context. + context string + context_mark yaml_mark_t + + // Reader stuff + + read_handler yaml_read_handler_t // Read handler. + + input_reader io.Reader // File input data. + input []byte // String input data. + input_pos int + + eof bool // EOF flag + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + unread int // The number of unread characters in the buffer. + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The input encoding. + + offset int // The offset of the current position (in bytes). + mark yaml_mark_t // The mark of the current position. + + // Scanner stuff + + stream_start_produced bool // Have we started to scan the input stream? + stream_end_produced bool // Have we reached the end of the input stream? + + flow_level int // The number of unclosed '[' and '{' indicators. + + tokens []yaml_token_t // The tokens queue. + tokens_head int // The head of the tokens queue. + tokens_parsed int // The number of tokens fetched from the queue. + token_available bool // Does the tokens queue contain a token ready for dequeueing. + + indent int // The current indentation level. + indents []int // The indentation levels stack. + + simple_key_allowed bool // May a simple key occur at the current position? + simple_keys []yaml_simple_key_t // The stack of simple keys. + simple_keys_by_tok map[int]int // possible simple_key indexes indexed by token_number + + // Parser stuff + + state yaml_parser_state_t // The current parser state. + states []yaml_parser_state_t // The parser states stack. + marks []yaml_mark_t // The stack of marks. + tag_directives []yaml_tag_directive_t // The list of TAG directives. + + // Dumper stuff + + aliases []yaml_alias_data_t // The alias data. + + document *yaml_document_t // The currently parsed document. +} + +// Emitter Definitions + +// The prototype of a write handler. +// +// The write handler is called when the emitter needs to flush the accumulated +// characters to the output. The handler should write @a size bytes of the +// @a buffer to the output. +// +// @param[in,out] data A pointer to an application data specified by +// yaml_emitter_set_output(). +// @param[in] buffer The buffer with bytes to be written. +// @param[in] size The size of the buffer. +// +// @returns On success, the handler should return @c 1. If the handler failed, +// the returned value should be @c 0. +// +type yaml_write_handler_t func(emitter *yaml_emitter_t, buffer []byte) error + +type yaml_emitter_state_t int + +// The emitter states. +const ( + // Expect STREAM-START. + yaml_EMIT_STREAM_START_STATE yaml_emitter_state_t = iota + + yaml_EMIT_FIRST_DOCUMENT_START_STATE // Expect the first DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_START_STATE // Expect DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_EMIT_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a flow sequence. + yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE // Expect an item of a flow sequence. + yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a block sequence. + yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE // Expect an item of a block sequence. + yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_KEY_STATE // Expect the key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_VALUE_STATE // Expect a value of a block mapping. + yaml_EMIT_END_STATE // Expect nothing. +) + +// The emitter structure. +// +// All members are internal. Manage the structure using the @c yaml_emitter_ +// family of functions. +type yaml_emitter_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + problem string // Error description. + + // Writer stuff + + write_handler yaml_write_handler_t // Write handler. + + output_buffer *[]byte // String output data. + output_writer io.Writer // File output data. + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The stream encoding. + + // Emitter stuff + + canonical bool // If the output is in the canonical style? + best_indent int // The number of indentation spaces. + best_width int // The preferred width of the output lines. + unicode bool // Allow unescaped non-ASCII characters? + line_break yaml_break_t // The preferred line break. + + state yaml_emitter_state_t // The current emitter state. + states []yaml_emitter_state_t // The stack of states. + + events []yaml_event_t // The event queue. + events_head int // The head of the event queue. + + indents []int // The stack of indentation levels. + + tag_directives []yaml_tag_directive_t // The list of tag directives. + + indent int // The current indentation level. + + flow_level int // The current flow level. + + root_context bool // Is it the document root context? + sequence_context bool // Is it a sequence context? + mapping_context bool // Is it a mapping context? + simple_key_context bool // Is it a simple mapping key context? + + line int // The current line. + column int // The current column. + whitespace bool // If the last character was a whitespace? + indention bool // If the last character was an indentation character (' ', '-', '?', ':')? + open_ended bool // If an explicit document end is required? + + // Anchor analysis. + anchor_data struct { + anchor []byte // The anchor value. + alias bool // Is it an alias? + } + + // Tag analysis. + tag_data struct { + handle []byte // The tag handle. + suffix []byte // The tag suffix. + } + + // Scalar analysis. + scalar_data struct { + value []byte // The scalar value. + multiline bool // Does the scalar contain line breaks? + flow_plain_allowed bool // Can the scalar be expessed in the flow plain style? + block_plain_allowed bool // Can the scalar be expressed in the block plain style? + single_quoted_allowed bool // Can the scalar be expressed in the single quoted style? + block_allowed bool // Can the scalar be expressed in the literal or folded styles? + style yaml_scalar_style_t // The output style. + } + + // Dumper stuff + + opened bool // If the stream was already opened? + closed bool // If the stream was already closed? + + // The information associated with the document nodes. + anchors *struct { + references int // The number of references. + anchor int // The anchor id. + serialized bool // If the node has been emitted? + } + + last_anchor_id int // The last assigned anchor id. + + document *yaml_document_t // The currently emitted document. +} diff --git a/vendor/gopkg.in/yaml.v2/yamlprivateh.go b/vendor/gopkg.in/yaml.v2/yamlprivateh.go new file mode 100644 index 000000000..8110ce3c3 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/yamlprivateh.go @@ -0,0 +1,173 @@ +package yaml + +const ( + // The size of the input raw buffer. + input_raw_buffer_size = 512 + + // The size of the input buffer. + // It should be possible to decode the whole raw buffer. + input_buffer_size = input_raw_buffer_size * 3 + + // The size of the output buffer. + output_buffer_size = 128 + + // The size of the output raw buffer. + // It should be possible to encode the whole output buffer. + output_raw_buffer_size = (output_buffer_size*2 + 2) + + // The size of other stacks and queues. + initial_stack_size = 16 + initial_queue_size = 16 + initial_string_size = 16 +) + +// Check if the character at the specified position is an alphabetical +// character, a digit, '_', or '-'. +func is_alpha(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'Z' || b[i] >= 'a' && b[i] <= 'z' || b[i] == '_' || b[i] == '-' +} + +// Check if the character at the specified position is a digit. +func is_digit(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' +} + +// Get the value of a digit. +func as_digit(b []byte, i int) int { + return int(b[i]) - '0' +} + +// Check if the character at the specified position is a hex-digit. +func is_hex(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'F' || b[i] >= 'a' && b[i] <= 'f' +} + +// Get the value of a hex-digit. +func as_hex(b []byte, i int) int { + bi := b[i] + if bi >= 'A' && bi <= 'F' { + return int(bi) - 'A' + 10 + } + if bi >= 'a' && bi <= 'f' { + return int(bi) - 'a' + 10 + } + return int(bi) - '0' +} + +// Check if the character is ASCII. +func is_ascii(b []byte, i int) bool { + return b[i] <= 0x7F +} + +// Check if the character at the start of the buffer can be printed unescaped. +func is_printable(b []byte, i int) bool { + return ((b[i] == 0x0A) || // . == #x0A + (b[i] >= 0x20 && b[i] <= 0x7E) || // #x20 <= . <= #x7E + (b[i] == 0xC2 && b[i+1] >= 0xA0) || // #0xA0 <= . <= #xD7FF + (b[i] > 0xC2 && b[i] < 0xED) || + (b[i] == 0xED && b[i+1] < 0xA0) || + (b[i] == 0xEE) || + (b[i] == 0xEF && // #xE000 <= . <= #xFFFD + !(b[i+1] == 0xBB && b[i+2] == 0xBF) && // && . != #xFEFF + !(b[i+1] == 0xBF && (b[i+2] == 0xBE || b[i+2] == 0xBF)))) +} + +// Check if the character at the specified position is NUL. +func is_z(b []byte, i int) bool { + return b[i] == 0x00 +} + +// Check if the beginning of the buffer is a BOM. +func is_bom(b []byte, i int) bool { + return b[0] == 0xEF && b[1] == 0xBB && b[2] == 0xBF +} + +// Check if the character at the specified position is space. +func is_space(b []byte, i int) bool { + return b[i] == ' ' +} + +// Check if the character at the specified position is tab. +func is_tab(b []byte, i int) bool { + return b[i] == '\t' +} + +// Check if the character at the specified position is blank (space or tab). +func is_blank(b []byte, i int) bool { + //return is_space(b, i) || is_tab(b, i) + return b[i] == ' ' || b[i] == '\t' +} + +// Check if the character at the specified position is a line break. +func is_break(b []byte, i int) bool { + return (b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9) // PS (#x2029) +} + +func is_crlf(b []byte, i int) bool { + return b[i] == '\r' && b[i+1] == '\n' +} + +// Check if the character is a line break or NUL. +func is_breakz(b []byte, i int) bool { + //return is_break(b, i) || is_z(b, i) + return ( // is_break: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + // is_z: + b[i] == 0) +} + +// Check if the character is a line break, space, or NUL. +func is_spacez(b []byte, i int) bool { + //return is_space(b, i) || is_breakz(b, i) + return ( // is_space: + b[i] == ' ' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Check if the character is a line break, space, tab, or NUL. +func is_blankz(b []byte, i int) bool { + //return is_blank(b, i) || is_breakz(b, i) + return ( // is_blank: + b[i] == ' ' || b[i] == '\t' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Determine the width of the character. +func width(b byte) int { + // Don't replace these by a switch without first + // confirming that it is being inlined. + if b&0x80 == 0x00 { + return 1 + } + if b&0xE0 == 0xC0 { + return 2 + } + if b&0xF0 == 0xE0 { + return 3 + } + if b&0xF8 == 0xF0 { + return 4 + } + return 0 + +} diff --git a/vendor/gopkg.in/yaml.v3/LICENSE b/vendor/gopkg.in/yaml.v3/LICENSE new file mode 100644 index 000000000..2683e4bb1 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/LICENSE @@ -0,0 +1,50 @@ + +This project is covered by two different licenses: MIT and Apache. + +#### MIT License #### + +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original MIT license, with the additional +copyright staring in 2011 when the project was ported over: + + apic.go emitterc.go parserc.go readerc.go scannerc.go + writerc.go yamlh.go yamlprivateh.go + +Copyright (c) 2006-2010 Kirill Simonov +Copyright (c) 2006-2011 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +### Apache License ### + +All the remaining project files are covered by the Apache license: + +Copyright (c) 2011-2019 Canonical Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/gopkg.in/yaml.v3/NOTICE b/vendor/gopkg.in/yaml.v3/NOTICE new file mode 100644 index 000000000..866d74a7a --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/NOTICE @@ -0,0 +1,13 @@ +Copyright 2011-2016 Canonical Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/gopkg.in/yaml.v3/README.md b/vendor/gopkg.in/yaml.v3/README.md new file mode 100644 index 000000000..08eb1babd --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/README.md @@ -0,0 +1,150 @@ +# YAML support for the Go language + +Introduction +------------ + +The yaml package enables Go programs to comfortably encode and decode YAML +values. It was developed within [Canonical](https://www.canonical.com) as +part of the [juju](https://juju.ubuntu.com) project, and is based on a +pure Go port of the well-known [libyaml](http://pyyaml.org/wiki/LibYAML) +C library to parse and generate YAML data quickly and reliably. + +Compatibility +------------- + +The yaml package supports most of YAML 1.2, but preserves some behavior +from 1.1 for backwards compatibility. + +Specifically, as of v3 of the yaml package: + + - YAML 1.1 bools (_yes/no, on/off_) are supported as long as they are being + decoded into a typed bool value. Otherwise they behave as a string. Booleans + in YAML 1.2 are _true/false_ only. + - Octals encode and decode as _0777_ per YAML 1.1, rather than _0o777_ + as specified in YAML 1.2, because most parsers still use the old format. + Octals in the _0o777_ format are supported though, so new files work. + - Does not support base-60 floats. These are gone from YAML 1.2, and were + actually never supported by this package as it's clearly a poor choice. + +and offers backwards +compatibility with YAML 1.1 in some cases. +1.2, including support for +anchors, tags, map merging, etc. Multi-document unmarshalling is not yet +implemented, and base-60 floats from YAML 1.1 are purposefully not +supported since they're a poor design and are gone in YAML 1.2. + +Installation and usage +---------------------- + +The import path for the package is *gopkg.in/yaml.v3*. + +To install it, run: + + go get gopkg.in/yaml.v3 + +API documentation +----------------- + +If opened in a browser, the import path itself leads to the API documentation: + + - [https://gopkg.in/yaml.v3](https://gopkg.in/yaml.v3) + +API stability +------------- + +The package API for yaml v3 will remain stable as described in [gopkg.in](https://gopkg.in). + + +License +------- + +The yaml package is licensed under the MIT and Apache License 2.0 licenses. +Please see the LICENSE file for details. + + +Example +------- + +```Go +package main + +import ( + "fmt" + "log" + + "gopkg.in/yaml.v3" +) + +var data = ` +a: Easy! +b: + c: 2 + d: [3, 4] +` + +// Note: struct fields must be public in order for unmarshal to +// correctly populate the data. +type T struct { + A string + B struct { + RenamedC int `yaml:"c"` + D []int `yaml:",flow"` + } +} + +func main() { + t := T{} + + err := yaml.Unmarshal([]byte(data), &t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t:\n%v\n\n", t) + + d, err := yaml.Marshal(&t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t dump:\n%s\n\n", string(d)) + + m := make(map[interface{}]interface{}) + + err = yaml.Unmarshal([]byte(data), &m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m:\n%v\n\n", m) + + d, err = yaml.Marshal(&m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m dump:\n%s\n\n", string(d)) +} +``` + +This example will generate the following output: + +``` +--- t: +{Easy! {2 [3 4]}} + +--- t dump: +a: Easy! +b: + c: 2 + d: [3, 4] + + +--- m: +map[a:Easy! b:map[c:2 d:[3 4]]] + +--- m dump: +a: Easy! +b: + c: 2 + d: + - 3 + - 4 +``` + diff --git a/vendor/gopkg.in/yaml.v3/apic.go b/vendor/gopkg.in/yaml.v3/apic.go new file mode 100644 index 000000000..ae7d049f1 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/apic.go @@ -0,0 +1,747 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "io" +) + +func yaml_insert_token(parser *yaml_parser_t, pos int, token *yaml_token_t) { + //fmt.Println("yaml_insert_token", "pos:", pos, "typ:", token.typ, "head:", parser.tokens_head, "len:", len(parser.tokens)) + + // Check if we can move the queue at the beginning of the buffer. + if parser.tokens_head > 0 && len(parser.tokens) == cap(parser.tokens) { + if parser.tokens_head != len(parser.tokens) { + copy(parser.tokens, parser.tokens[parser.tokens_head:]) + } + parser.tokens = parser.tokens[:len(parser.tokens)-parser.tokens_head] + parser.tokens_head = 0 + } + parser.tokens = append(parser.tokens, *token) + if pos < 0 { + return + } + copy(parser.tokens[parser.tokens_head+pos+1:], parser.tokens[parser.tokens_head+pos:]) + parser.tokens[parser.tokens_head+pos] = *token +} + +// Create a new parser object. +func yaml_parser_initialize(parser *yaml_parser_t) bool { + *parser = yaml_parser_t{ + raw_buffer: make([]byte, 0, input_raw_buffer_size), + buffer: make([]byte, 0, input_buffer_size), + } + return true +} + +// Destroy a parser object. +func yaml_parser_delete(parser *yaml_parser_t) { + *parser = yaml_parser_t{} +} + +// String read handler. +func yaml_string_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + if parser.input_pos == len(parser.input) { + return 0, io.EOF + } + n = copy(buffer, parser.input[parser.input_pos:]) + parser.input_pos += n + return n, nil +} + +// Reader read handler. +func yaml_reader_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + return parser.input_reader.Read(buffer) +} + +// Set a string input. +func yaml_parser_set_input_string(parser *yaml_parser_t, input []byte) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_string_read_handler + parser.input = input + parser.input_pos = 0 +} + +// Set a file input. +func yaml_parser_set_input_reader(parser *yaml_parser_t, r io.Reader) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_reader_read_handler + parser.input_reader = r +} + +// Set the source encoding. +func yaml_parser_set_encoding(parser *yaml_parser_t, encoding yaml_encoding_t) { + if parser.encoding != yaml_ANY_ENCODING { + panic("must set the encoding only once") + } + parser.encoding = encoding +} + +// Create a new emitter object. +func yaml_emitter_initialize(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{ + buffer: make([]byte, output_buffer_size), + raw_buffer: make([]byte, 0, output_raw_buffer_size), + states: make([]yaml_emitter_state_t, 0, initial_stack_size), + events: make([]yaml_event_t, 0, initial_queue_size), + best_width: -1, + } +} + +// Destroy an emitter object. +func yaml_emitter_delete(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{} +} + +// String write handler. +func yaml_string_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + *emitter.output_buffer = append(*emitter.output_buffer, buffer...) + return nil +} + +// yaml_writer_write_handler uses emitter.output_writer to write the +// emitted text. +func yaml_writer_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + _, err := emitter.output_writer.Write(buffer) + return err +} + +// Set a string output. +func yaml_emitter_set_output_string(emitter *yaml_emitter_t, output_buffer *[]byte) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_string_write_handler + emitter.output_buffer = output_buffer +} + +// Set a file output. +func yaml_emitter_set_output_writer(emitter *yaml_emitter_t, w io.Writer) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_writer_write_handler + emitter.output_writer = w +} + +// Set the output encoding. +func yaml_emitter_set_encoding(emitter *yaml_emitter_t, encoding yaml_encoding_t) { + if emitter.encoding != yaml_ANY_ENCODING { + panic("must set the output encoding only once") + } + emitter.encoding = encoding +} + +// Set the canonical output style. +func yaml_emitter_set_canonical(emitter *yaml_emitter_t, canonical bool) { + emitter.canonical = canonical +} + +// Set the indentation increment. +func yaml_emitter_set_indent(emitter *yaml_emitter_t, indent int) { + if indent < 2 || indent > 9 { + indent = 2 + } + emitter.best_indent = indent +} + +// Set the preferred line width. +func yaml_emitter_set_width(emitter *yaml_emitter_t, width int) { + if width < 0 { + width = -1 + } + emitter.best_width = width +} + +// Set if unescaped non-ASCII characters are allowed. +func yaml_emitter_set_unicode(emitter *yaml_emitter_t, unicode bool) { + emitter.unicode = unicode +} + +// Set the preferred line break character. +func yaml_emitter_set_break(emitter *yaml_emitter_t, line_break yaml_break_t) { + emitter.line_break = line_break +} + +///* +// * Destroy a token object. +// */ +// +//YAML_DECLARE(void) +//yaml_token_delete(yaml_token_t *token) +//{ +// assert(token); // Non-NULL token object expected. +// +// switch (token.type) +// { +// case YAML_TAG_DIRECTIVE_TOKEN: +// yaml_free(token.data.tag_directive.handle); +// yaml_free(token.data.tag_directive.prefix); +// break; +// +// case YAML_ALIAS_TOKEN: +// yaml_free(token.data.alias.value); +// break; +// +// case YAML_ANCHOR_TOKEN: +// yaml_free(token.data.anchor.value); +// break; +// +// case YAML_TAG_TOKEN: +// yaml_free(token.data.tag.handle); +// yaml_free(token.data.tag.suffix); +// break; +// +// case YAML_SCALAR_TOKEN: +// yaml_free(token.data.scalar.value); +// break; +// +// default: +// break; +// } +// +// memset(token, 0, sizeof(yaml_token_t)); +//} +// +///* +// * Check if a string is a valid UTF-8 sequence. +// * +// * Check 'reader.c' for more details on UTF-8 encoding. +// */ +// +//static int +//yaml_check_utf8(yaml_char_t *start, size_t length) +//{ +// yaml_char_t *end = start+length; +// yaml_char_t *pointer = start; +// +// while (pointer < end) { +// unsigned char octet; +// unsigned int width; +// unsigned int value; +// size_t k; +// +// octet = pointer[0]; +// width = (octet & 0x80) == 0x00 ? 1 : +// (octet & 0xE0) == 0xC0 ? 2 : +// (octet & 0xF0) == 0xE0 ? 3 : +// (octet & 0xF8) == 0xF0 ? 4 : 0; +// value = (octet & 0x80) == 0x00 ? octet & 0x7F : +// (octet & 0xE0) == 0xC0 ? octet & 0x1F : +// (octet & 0xF0) == 0xE0 ? octet & 0x0F : +// (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; +// if (!width) return 0; +// if (pointer+width > end) return 0; +// for (k = 1; k < width; k ++) { +// octet = pointer[k]; +// if ((octet & 0xC0) != 0x80) return 0; +// value = (value << 6) + (octet & 0x3F); +// } +// if (!((width == 1) || +// (width == 2 && value >= 0x80) || +// (width == 3 && value >= 0x800) || +// (width == 4 && value >= 0x10000))) return 0; +// +// pointer += width; +// } +// +// return 1; +//} +// + +// Create STREAM-START. +func yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + encoding: encoding, + } +} + +// Create STREAM-END. +func yaml_stream_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + } +} + +// Create DOCUMENT-START. +func yaml_document_start_event_initialize( + event *yaml_event_t, + version_directive *yaml_version_directive_t, + tag_directives []yaml_tag_directive_t, + implicit bool, +) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: implicit, + } +} + +// Create DOCUMENT-END. +func yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + implicit: implicit, + } +} + +// Create ALIAS. +func yaml_alias_event_initialize(event *yaml_event_t, anchor []byte) bool { + *event = yaml_event_t{ + typ: yaml_ALIAS_EVENT, + anchor: anchor, + } + return true +} + +// Create SCALAR. +func yaml_scalar_event_initialize(event *yaml_event_t, anchor, tag, value []byte, plain_implicit, quoted_implicit bool, style yaml_scalar_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + anchor: anchor, + tag: tag, + value: value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-START. +func yaml_sequence_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_sequence_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-END. +func yaml_sequence_end_event_initialize(event *yaml_event_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + } + return true +} + +// Create MAPPING-START. +func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } +} + +// Create MAPPING-END. +func yaml_mapping_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + } +} + +// Destroy an event object. +func yaml_event_delete(event *yaml_event_t) { + *event = yaml_event_t{} +} + +///* +// * Create a document object. +// */ +// +//YAML_DECLARE(int) +//yaml_document_initialize(document *yaml_document_t, +// version_directive *yaml_version_directive_t, +// tag_directives_start *yaml_tag_directive_t, +// tag_directives_end *yaml_tag_directive_t, +// start_implicit int, end_implicit int) +//{ +// struct { +// error yaml_error_type_t +// } context +// struct { +// start *yaml_node_t +// end *yaml_node_t +// top *yaml_node_t +// } nodes = { NULL, NULL, NULL } +// version_directive_copy *yaml_version_directive_t = NULL +// struct { +// start *yaml_tag_directive_t +// end *yaml_tag_directive_t +// top *yaml_tag_directive_t +// } tag_directives_copy = { NULL, NULL, NULL } +// value yaml_tag_directive_t = { NULL, NULL } +// mark yaml_mark_t = { 0, 0, 0 } +// +// assert(document) // Non-NULL document object is expected. +// assert((tag_directives_start && tag_directives_end) || +// (tag_directives_start == tag_directives_end)) +// // Valid tag directives are expected. +// +// if (!STACK_INIT(&context, nodes, INITIAL_STACK_SIZE)) goto error +// +// if (version_directive) { +// version_directive_copy = yaml_malloc(sizeof(yaml_version_directive_t)) +// if (!version_directive_copy) goto error +// version_directive_copy.major = version_directive.major +// version_directive_copy.minor = version_directive.minor +// } +// +// if (tag_directives_start != tag_directives_end) { +// tag_directive *yaml_tag_directive_t +// if (!STACK_INIT(&context, tag_directives_copy, INITIAL_STACK_SIZE)) +// goto error +// for (tag_directive = tag_directives_start +// tag_directive != tag_directives_end; tag_directive ++) { +// assert(tag_directive.handle) +// assert(tag_directive.prefix) +// if (!yaml_check_utf8(tag_directive.handle, +// strlen((char *)tag_directive.handle))) +// goto error +// if (!yaml_check_utf8(tag_directive.prefix, +// strlen((char *)tag_directive.prefix))) +// goto error +// value.handle = yaml_strdup(tag_directive.handle) +// value.prefix = yaml_strdup(tag_directive.prefix) +// if (!value.handle || !value.prefix) goto error +// if (!PUSH(&context, tag_directives_copy, value)) +// goto error +// value.handle = NULL +// value.prefix = NULL +// } +// } +// +// DOCUMENT_INIT(*document, nodes.start, nodes.end, version_directive_copy, +// tag_directives_copy.start, tag_directives_copy.top, +// start_implicit, end_implicit, mark, mark) +// +// return 1 +// +//error: +// STACK_DEL(&context, nodes) +// yaml_free(version_directive_copy) +// while (!STACK_EMPTY(&context, tag_directives_copy)) { +// value yaml_tag_directive_t = POP(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// } +// STACK_DEL(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// +// return 0 +//} +// +///* +// * Destroy a document object. +// */ +// +//YAML_DECLARE(void) +//yaml_document_delete(document *yaml_document_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// tag_directive *yaml_tag_directive_t +// +// context.error = YAML_NO_ERROR // Eliminate a compiler warning. +// +// assert(document) // Non-NULL document object is expected. +// +// while (!STACK_EMPTY(&context, document.nodes)) { +// node yaml_node_t = POP(&context, document.nodes) +// yaml_free(node.tag) +// switch (node.type) { +// case YAML_SCALAR_NODE: +// yaml_free(node.data.scalar.value) +// break +// case YAML_SEQUENCE_NODE: +// STACK_DEL(&context, node.data.sequence.items) +// break +// case YAML_MAPPING_NODE: +// STACK_DEL(&context, node.data.mapping.pairs) +// break +// default: +// assert(0) // Should not happen. +// } +// } +// STACK_DEL(&context, document.nodes) +// +// yaml_free(document.version_directive) +// for (tag_directive = document.tag_directives.start +// tag_directive != document.tag_directives.end +// tag_directive++) { +// yaml_free(tag_directive.handle) +// yaml_free(tag_directive.prefix) +// } +// yaml_free(document.tag_directives.start) +// +// memset(document, 0, sizeof(yaml_document_t)) +//} +// +///** +// * Get a document node. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_node(document *yaml_document_t, index int) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (index > 0 && document.nodes.start + index <= document.nodes.top) { +// return document.nodes.start + index - 1 +// } +// return NULL +//} +// +///** +// * Get the root object. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_root_node(document *yaml_document_t) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (document.nodes.top != document.nodes.start) { +// return document.nodes.start +// } +// return NULL +//} +// +///* +// * Add a scalar node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_scalar(document *yaml_document_t, +// tag *yaml_char_t, value *yaml_char_t, length int, +// style yaml_scalar_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// value_copy *yaml_char_t = NULL +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// assert(value) // Non-NULL value is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SCALAR_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (length < 0) { +// length = strlen((char *)value) +// } +// +// if (!yaml_check_utf8(value, length)) goto error +// value_copy = yaml_malloc(length+1) +// if (!value_copy) goto error +// memcpy(value_copy, value, length) +// value_copy[length] = '\0' +// +// SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// yaml_free(tag_copy) +// yaml_free(value_copy) +// +// return 0 +//} +// +///* +// * Add a sequence node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_sequence(document *yaml_document_t, +// tag *yaml_char_t, style yaml_sequence_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_item_t +// end *yaml_node_item_t +// top *yaml_node_item_t +// } items = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SEQUENCE_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, items, INITIAL_STACK_SIZE)) goto error +// +// SEQUENCE_NODE_INIT(node, tag_copy, items.start, items.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, items) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Add a mapping node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_mapping(document *yaml_document_t, +// tag *yaml_char_t, style yaml_mapping_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_pair_t +// end *yaml_node_pair_t +// top *yaml_node_pair_t +// } pairs = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_MAPPING_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, pairs, INITIAL_STACK_SIZE)) goto error +// +// MAPPING_NODE_INIT(node, tag_copy, pairs.start, pairs.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, pairs) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Append an item to a sequence node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_sequence_item(document *yaml_document_t, +// sequence int, item int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// assert(document) // Non-NULL document is required. +// assert(sequence > 0 +// && document.nodes.start + sequence <= document.nodes.top) +// // Valid sequence id is required. +// assert(document.nodes.start[sequence-1].type == YAML_SEQUENCE_NODE) +// // A sequence node is required. +// assert(item > 0 && document.nodes.start + item <= document.nodes.top) +// // Valid item id is required. +// +// if (!PUSH(&context, +// document.nodes.start[sequence-1].data.sequence.items, item)) +// return 0 +// +// return 1 +//} +// +///* +// * Append a pair of a key and a value to a mapping node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_mapping_pair(document *yaml_document_t, +// mapping int, key int, value int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// pair yaml_node_pair_t +// +// assert(document) // Non-NULL document is required. +// assert(mapping > 0 +// && document.nodes.start + mapping <= document.nodes.top) +// // Valid mapping id is required. +// assert(document.nodes.start[mapping-1].type == YAML_MAPPING_NODE) +// // A mapping node is required. +// assert(key > 0 && document.nodes.start + key <= document.nodes.top) +// // Valid key id is required. +// assert(value > 0 && document.nodes.start + value <= document.nodes.top) +// // Valid value id is required. +// +// pair.key = key +// pair.value = value +// +// if (!PUSH(&context, +// document.nodes.start[mapping-1].data.mapping.pairs, pair)) +// return 0 +// +// return 1 +//} +// +// diff --git a/vendor/gopkg.in/yaml.v3/decode.go b/vendor/gopkg.in/yaml.v3/decode.go new file mode 100644 index 000000000..df36e3a30 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/decode.go @@ -0,0 +1,950 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yaml + +import ( + "encoding" + "encoding/base64" + "fmt" + "io" + "math" + "reflect" + "strconv" + "time" +) + +// ---------------------------------------------------------------------------- +// Parser, produces a node tree out of a libyaml event stream. + +type parser struct { + parser yaml_parser_t + event yaml_event_t + doc *Node + anchors map[string]*Node + doneInit bool + textless bool +} + +func newParser(b []byte) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + if len(b) == 0 { + b = []byte{'\n'} + } + yaml_parser_set_input_string(&p.parser, b) + return &p +} + +func newParserFromReader(r io.Reader) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + yaml_parser_set_input_reader(&p.parser, r) + return &p +} + +func (p *parser) init() { + if p.doneInit { + return + } + p.anchors = make(map[string]*Node) + p.expect(yaml_STREAM_START_EVENT) + p.doneInit = true +} + +func (p *parser) destroy() { + if p.event.typ != yaml_NO_EVENT { + yaml_event_delete(&p.event) + } + yaml_parser_delete(&p.parser) +} + +// expect consumes an event from the event stream and +// checks that it's of the expected type. +func (p *parser) expect(e yaml_event_type_t) { + if p.event.typ == yaml_NO_EVENT { + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + } + if p.event.typ == yaml_STREAM_END_EVENT { + failf("attempted to go past the end of stream; corrupted value?") + } + if p.event.typ != e { + p.parser.problem = fmt.Sprintf("expected %s event but got %s", e, p.event.typ) + p.fail() + } + yaml_event_delete(&p.event) + p.event.typ = yaml_NO_EVENT +} + +// peek peeks at the next event in the event stream, +// puts the results into p.event and returns the event type. +func (p *parser) peek() yaml_event_type_t { + if p.event.typ != yaml_NO_EVENT { + return p.event.typ + } + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + return p.event.typ +} + +func (p *parser) fail() { + var where string + var line int + if p.parser.context_mark.line != 0 { + line = p.parser.context_mark.line + // Scanner errors don't iterate line before returning error + if p.parser.error == yaml_SCANNER_ERROR { + line++ + } + } else if p.parser.problem_mark.line != 0 { + line = p.parser.problem_mark.line + // Scanner errors don't iterate line before returning error + if p.parser.error == yaml_SCANNER_ERROR { + line++ + } + } + if line != 0 { + where = "line " + strconv.Itoa(line) + ": " + } + var msg string + if len(p.parser.problem) > 0 { + msg = p.parser.problem + } else { + msg = "unknown problem parsing YAML content" + } + failf("%s%s", where, msg) +} + +func (p *parser) anchor(n *Node, anchor []byte) { + if anchor != nil { + n.Anchor = string(anchor) + p.anchors[n.Anchor] = n + } +} + +func (p *parser) parse() *Node { + p.init() + switch p.peek() { + case yaml_SCALAR_EVENT: + return p.scalar() + case yaml_ALIAS_EVENT: + return p.alias() + case yaml_MAPPING_START_EVENT: + return p.mapping() + case yaml_SEQUENCE_START_EVENT: + return p.sequence() + case yaml_DOCUMENT_START_EVENT: + return p.document() + case yaml_STREAM_END_EVENT: + // Happens when attempting to decode an empty buffer. + return nil + case yaml_TAIL_COMMENT_EVENT: + panic("internal error: unexpected tail comment event (please report)") + default: + panic("internal error: attempted to parse unknown event (please report): " + p.event.typ.String()) + } +} + +func (p *parser) node(kind Kind, defaultTag, tag, value string) *Node { + var style Style + if tag != "" && tag != "!" { + tag = shortTag(tag) + style = TaggedStyle + } else if defaultTag != "" { + tag = defaultTag + } else if kind == ScalarNode { + tag, _ = resolve("", value) + } + n := &Node{ + Kind: kind, + Tag: tag, + Value: value, + Style: style, + } + if !p.textless { + n.Line = p.event.start_mark.line + 1 + n.Column = p.event.start_mark.column + 1 + n.HeadComment = string(p.event.head_comment) + n.LineComment = string(p.event.line_comment) + n.FootComment = string(p.event.foot_comment) + } + return n +} + +func (p *parser) parseChild(parent *Node) *Node { + child := p.parse() + parent.Content = append(parent.Content, child) + return child +} + +func (p *parser) document() *Node { + n := p.node(DocumentNode, "", "", "") + p.doc = n + p.expect(yaml_DOCUMENT_START_EVENT) + p.parseChild(n) + if p.peek() == yaml_DOCUMENT_END_EVENT { + n.FootComment = string(p.event.foot_comment) + } + p.expect(yaml_DOCUMENT_END_EVENT) + return n +} + +func (p *parser) alias() *Node { + n := p.node(AliasNode, "", "", string(p.event.anchor)) + n.Alias = p.anchors[n.Value] + if n.Alias == nil { + failf("unknown anchor '%s' referenced", n.Value) + } + p.expect(yaml_ALIAS_EVENT) + return n +} + +func (p *parser) scalar() *Node { + var parsedStyle = p.event.scalar_style() + var nodeStyle Style + switch { + case parsedStyle&yaml_DOUBLE_QUOTED_SCALAR_STYLE != 0: + nodeStyle = DoubleQuotedStyle + case parsedStyle&yaml_SINGLE_QUOTED_SCALAR_STYLE != 0: + nodeStyle = SingleQuotedStyle + case parsedStyle&yaml_LITERAL_SCALAR_STYLE != 0: + nodeStyle = LiteralStyle + case parsedStyle&yaml_FOLDED_SCALAR_STYLE != 0: + nodeStyle = FoldedStyle + } + var nodeValue = string(p.event.value) + var nodeTag = string(p.event.tag) + var defaultTag string + if nodeStyle == 0 { + if nodeValue == "<<" { + defaultTag = mergeTag + } + } else { + defaultTag = strTag + } + n := p.node(ScalarNode, defaultTag, nodeTag, nodeValue) + n.Style |= nodeStyle + p.anchor(n, p.event.anchor) + p.expect(yaml_SCALAR_EVENT) + return n +} + +func (p *parser) sequence() *Node { + n := p.node(SequenceNode, seqTag, string(p.event.tag), "") + if p.event.sequence_style()&yaml_FLOW_SEQUENCE_STYLE != 0 { + n.Style |= FlowStyle + } + p.anchor(n, p.event.anchor) + p.expect(yaml_SEQUENCE_START_EVENT) + for p.peek() != yaml_SEQUENCE_END_EVENT { + p.parseChild(n) + } + n.LineComment = string(p.event.line_comment) + n.FootComment = string(p.event.foot_comment) + p.expect(yaml_SEQUENCE_END_EVENT) + return n +} + +func (p *parser) mapping() *Node { + n := p.node(MappingNode, mapTag, string(p.event.tag), "") + block := true + if p.event.mapping_style()&yaml_FLOW_MAPPING_STYLE != 0 { + block = false + n.Style |= FlowStyle + } + p.anchor(n, p.event.anchor) + p.expect(yaml_MAPPING_START_EVENT) + for p.peek() != yaml_MAPPING_END_EVENT { + k := p.parseChild(n) + if block && k.FootComment != "" { + // Must be a foot comment for the prior value when being dedented. + if len(n.Content) > 2 { + n.Content[len(n.Content)-3].FootComment = k.FootComment + k.FootComment = "" + } + } + v := p.parseChild(n) + if k.FootComment == "" && v.FootComment != "" { + k.FootComment = v.FootComment + v.FootComment = "" + } + if p.peek() == yaml_TAIL_COMMENT_EVENT { + if k.FootComment == "" { + k.FootComment = string(p.event.foot_comment) + } + p.expect(yaml_TAIL_COMMENT_EVENT) + } + } + n.LineComment = string(p.event.line_comment) + n.FootComment = string(p.event.foot_comment) + if n.Style&FlowStyle == 0 && n.FootComment != "" && len(n.Content) > 1 { + n.Content[len(n.Content)-2].FootComment = n.FootComment + n.FootComment = "" + } + p.expect(yaml_MAPPING_END_EVENT) + return n +} + +// ---------------------------------------------------------------------------- +// Decoder, unmarshals a node into a provided value. + +type decoder struct { + doc *Node + aliases map[*Node]bool + terrors []string + + stringMapType reflect.Type + generalMapType reflect.Type + + knownFields bool + uniqueKeys bool + decodeCount int + aliasCount int + aliasDepth int +} + +var ( + nodeType = reflect.TypeOf(Node{}) + durationType = reflect.TypeOf(time.Duration(0)) + stringMapType = reflect.TypeOf(map[string]interface{}{}) + generalMapType = reflect.TypeOf(map[interface{}]interface{}{}) + ifaceType = generalMapType.Elem() + timeType = reflect.TypeOf(time.Time{}) + ptrTimeType = reflect.TypeOf(&time.Time{}) +) + +func newDecoder() *decoder { + d := &decoder{ + stringMapType: stringMapType, + generalMapType: generalMapType, + uniqueKeys: true, + } + d.aliases = make(map[*Node]bool) + return d +} + +func (d *decoder) terror(n *Node, tag string, out reflect.Value) { + if n.Tag != "" { + tag = n.Tag + } + value := n.Value + if tag != seqTag && tag != mapTag { + if len(value) > 10 { + value = " `" + value[:7] + "...`" + } else { + value = " `" + value + "`" + } + } + d.terrors = append(d.terrors, fmt.Sprintf("line %d: cannot unmarshal %s%s into %s", n.Line, shortTag(tag), value, out.Type())) +} + +func (d *decoder) callUnmarshaler(n *Node, u Unmarshaler) (good bool) { + err := u.UnmarshalYAML(n) + if e, ok := err.(*TypeError); ok { + d.terrors = append(d.terrors, e.Errors...) + return false + } + if err != nil { + fail(err) + } + return true +} + +func (d *decoder) callObsoleteUnmarshaler(n *Node, u obsoleteUnmarshaler) (good bool) { + terrlen := len(d.terrors) + err := u.UnmarshalYAML(func(v interface{}) (err error) { + defer handleErr(&err) + d.unmarshal(n, reflect.ValueOf(v)) + if len(d.terrors) > terrlen { + issues := d.terrors[terrlen:] + d.terrors = d.terrors[:terrlen] + return &TypeError{issues} + } + return nil + }) + if e, ok := err.(*TypeError); ok { + d.terrors = append(d.terrors, e.Errors...) + return false + } + if err != nil { + fail(err) + } + return true +} + +// d.prepare initializes and dereferences pointers and calls UnmarshalYAML +// if a value is found to implement it. +// It returns the initialized and dereferenced out value, whether +// unmarshalling was already done by UnmarshalYAML, and if so whether +// its types unmarshalled appropriately. +// +// If n holds a null value, prepare returns before doing anything. +func (d *decoder) prepare(n *Node, out reflect.Value) (newout reflect.Value, unmarshaled, good bool) { + if n.ShortTag() == nullTag { + return out, false, false + } + again := true + for again { + again = false + if out.Kind() == reflect.Ptr { + if out.IsNil() { + out.Set(reflect.New(out.Type().Elem())) + } + out = out.Elem() + again = true + } + if out.CanAddr() { + outi := out.Addr().Interface() + if u, ok := outi.(Unmarshaler); ok { + good = d.callUnmarshaler(n, u) + return out, true, good + } + if u, ok := outi.(obsoleteUnmarshaler); ok { + good = d.callObsoleteUnmarshaler(n, u) + return out, true, good + } + } + } + return out, false, false +} + +func (d *decoder) fieldByIndex(n *Node, v reflect.Value, index []int) (field reflect.Value) { + if n.ShortTag() == nullTag { + return reflect.Value{} + } + for _, num := range index { + for { + if v.Kind() == reflect.Ptr { + if v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + v = v.Elem() + continue + } + break + } + v = v.Field(num) + } + return v +} + +const ( + // 400,000 decode operations is ~500kb of dense object declarations, or + // ~5kb of dense object declarations with 10000% alias expansion + alias_ratio_range_low = 400000 + + // 4,000,000 decode operations is ~5MB of dense object declarations, or + // ~4.5MB of dense object declarations with 10% alias expansion + alias_ratio_range_high = 4000000 + + // alias_ratio_range is the range over which we scale allowed alias ratios + alias_ratio_range = float64(alias_ratio_range_high - alias_ratio_range_low) +) + +func allowedAliasRatio(decodeCount int) float64 { + switch { + case decodeCount <= alias_ratio_range_low: + // allow 99% to come from alias expansion for small-to-medium documents + return 0.99 + case decodeCount >= alias_ratio_range_high: + // allow 10% to come from alias expansion for very large documents + return 0.10 + default: + // scale smoothly from 99% down to 10% over the range. + // this maps to 396,000 - 400,000 allowed alias-driven decodes over the range. + // 400,000 decode operations is ~100MB of allocations in worst-case scenarios (single-item maps). + return 0.99 - 0.89*(float64(decodeCount-alias_ratio_range_low)/alias_ratio_range) + } +} + +func (d *decoder) unmarshal(n *Node, out reflect.Value) (good bool) { + d.decodeCount++ + if d.aliasDepth > 0 { + d.aliasCount++ + } + if d.aliasCount > 100 && d.decodeCount > 1000 && float64(d.aliasCount)/float64(d.decodeCount) > allowedAliasRatio(d.decodeCount) { + failf("document contains excessive aliasing") + } + if out.Type() == nodeType { + out.Set(reflect.ValueOf(n).Elem()) + return true + } + switch n.Kind { + case DocumentNode: + return d.document(n, out) + case AliasNode: + return d.alias(n, out) + } + out, unmarshaled, good := d.prepare(n, out) + if unmarshaled { + return good + } + switch n.Kind { + case ScalarNode: + good = d.scalar(n, out) + case MappingNode: + good = d.mapping(n, out) + case SequenceNode: + good = d.sequence(n, out) + case 0: + if n.IsZero() { + return d.null(out) + } + fallthrough + default: + failf("cannot decode node with unknown kind %d", n.Kind) + } + return good +} + +func (d *decoder) document(n *Node, out reflect.Value) (good bool) { + if len(n.Content) == 1 { + d.doc = n + d.unmarshal(n.Content[0], out) + return true + } + return false +} + +func (d *decoder) alias(n *Node, out reflect.Value) (good bool) { + if d.aliases[n] { + // TODO this could actually be allowed in some circumstances. + failf("anchor '%s' value contains itself", n.Value) + } + d.aliases[n] = true + d.aliasDepth++ + good = d.unmarshal(n.Alias, out) + d.aliasDepth-- + delete(d.aliases, n) + return good +} + +var zeroValue reflect.Value + +func resetMap(out reflect.Value) { + for _, k := range out.MapKeys() { + out.SetMapIndex(k, zeroValue) + } +} + +func (d *decoder) null(out reflect.Value) bool { + if out.CanAddr() { + switch out.Kind() { + case reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice: + out.Set(reflect.Zero(out.Type())) + return true + } + } + return false +} + +func (d *decoder) scalar(n *Node, out reflect.Value) bool { + var tag string + var resolved interface{} + if n.indicatedString() { + tag = strTag + resolved = n.Value + } else { + tag, resolved = resolve(n.Tag, n.Value) + if tag == binaryTag { + data, err := base64.StdEncoding.DecodeString(resolved.(string)) + if err != nil { + failf("!!binary value contains invalid base64 data") + } + resolved = string(data) + } + } + if resolved == nil { + return d.null(out) + } + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + // We've resolved to exactly the type we want, so use that. + out.Set(resolvedv) + return true + } + // Perhaps we can use the value as a TextUnmarshaler to + // set its value. + if out.CanAddr() { + u, ok := out.Addr().Interface().(encoding.TextUnmarshaler) + if ok { + var text []byte + if tag == binaryTag { + text = []byte(resolved.(string)) + } else { + // We let any value be unmarshaled into TextUnmarshaler. + // That might be more lax than we'd like, but the + // TextUnmarshaler itself should bowl out any dubious values. + text = []byte(n.Value) + } + err := u.UnmarshalText(text) + if err != nil { + fail(err) + } + return true + } + } + switch out.Kind() { + case reflect.String: + if tag == binaryTag { + out.SetString(resolved.(string)) + return true + } + out.SetString(n.Value) + return true + case reflect.Interface: + out.Set(reflect.ValueOf(resolved)) + return true + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + // This used to work in v2, but it's very unfriendly. + isDuration := out.Type() == durationType + + switch resolved := resolved.(type) { + case int: + if !isDuration && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case int64: + if !isDuration && !out.OverflowInt(resolved) { + out.SetInt(resolved) + return true + } + case uint64: + if !isDuration && resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case float64: + if !isDuration && resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case string: + if out.Type() == durationType { + d, err := time.ParseDuration(resolved) + if err == nil { + out.SetInt(int64(d)) + return true + } + } + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + switch resolved := resolved.(type) { + case int: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case int64: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case uint64: + if !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case float64: + if resolved <= math.MaxUint64 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + } + case reflect.Bool: + switch resolved := resolved.(type) { + case bool: + out.SetBool(resolved) + return true + case string: + // This offers some compatibility with the 1.1 spec (https://yaml.org/type/bool.html). + // It only works if explicitly attempting to unmarshal into a typed bool value. + switch resolved { + case "y", "Y", "yes", "Yes", "YES", "on", "On", "ON": + out.SetBool(true) + return true + case "n", "N", "no", "No", "NO", "off", "Off", "OFF": + out.SetBool(false) + return true + } + } + case reflect.Float32, reflect.Float64: + switch resolved := resolved.(type) { + case int: + out.SetFloat(float64(resolved)) + return true + case int64: + out.SetFloat(float64(resolved)) + return true + case uint64: + out.SetFloat(float64(resolved)) + return true + case float64: + out.SetFloat(resolved) + return true + } + case reflect.Struct: + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + out.Set(resolvedv) + return true + } + case reflect.Ptr: + panic("yaml internal error: please report the issue") + } + d.terror(n, tag, out) + return false +} + +func settableValueOf(i interface{}) reflect.Value { + v := reflect.ValueOf(i) + sv := reflect.New(v.Type()).Elem() + sv.Set(v) + return sv +} + +func (d *decoder) sequence(n *Node, out reflect.Value) (good bool) { + l := len(n.Content) + + var iface reflect.Value + switch out.Kind() { + case reflect.Slice: + out.Set(reflect.MakeSlice(out.Type(), l, l)) + case reflect.Array: + if l != out.Len() { + failf("invalid array: want %d elements but got %d", out.Len(), l) + } + case reflect.Interface: + // No type hints. Will have to use a generic sequence. + iface = out + out = settableValueOf(make([]interface{}, l)) + default: + d.terror(n, seqTag, out) + return false + } + et := out.Type().Elem() + + j := 0 + for i := 0; i < l; i++ { + e := reflect.New(et).Elem() + if ok := d.unmarshal(n.Content[i], e); ok { + out.Index(j).Set(e) + j++ + } + } + if out.Kind() != reflect.Array { + out.Set(out.Slice(0, j)) + } + if iface.IsValid() { + iface.Set(out) + } + return true +} + +func (d *decoder) mapping(n *Node, out reflect.Value) (good bool) { + l := len(n.Content) + if d.uniqueKeys { + nerrs := len(d.terrors) + for i := 0; i < l; i += 2 { + ni := n.Content[i] + for j := i + 2; j < l; j += 2 { + nj := n.Content[j] + if ni.Kind == nj.Kind && ni.Value == nj.Value { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: mapping key %#v already defined at line %d", nj.Line, nj.Value, ni.Line)) + } + } + } + if len(d.terrors) > nerrs { + return false + } + } + switch out.Kind() { + case reflect.Struct: + return d.mappingStruct(n, out) + case reflect.Map: + // okay + case reflect.Interface: + iface := out + if isStringMap(n) { + out = reflect.MakeMap(d.stringMapType) + } else { + out = reflect.MakeMap(d.generalMapType) + } + iface.Set(out) + default: + d.terror(n, mapTag, out) + return false + } + + outt := out.Type() + kt := outt.Key() + et := outt.Elem() + + stringMapType := d.stringMapType + generalMapType := d.generalMapType + if outt.Elem() == ifaceType { + if outt.Key().Kind() == reflect.String { + d.stringMapType = outt + } else if outt.Key() == ifaceType { + d.generalMapType = outt + } + } + + mapIsNew := false + if out.IsNil() { + out.Set(reflect.MakeMap(outt)) + mapIsNew = true + } + for i := 0; i < l; i += 2 { + if isMerge(n.Content[i]) { + d.merge(n.Content[i+1], out) + continue + } + k := reflect.New(kt).Elem() + if d.unmarshal(n.Content[i], k) { + kkind := k.Kind() + if kkind == reflect.Interface { + kkind = k.Elem().Kind() + } + if kkind == reflect.Map || kkind == reflect.Slice { + failf("invalid map key: %#v", k.Interface()) + } + e := reflect.New(et).Elem() + if d.unmarshal(n.Content[i+1], e) || n.Content[i+1].ShortTag() == nullTag && (mapIsNew || !out.MapIndex(k).IsValid()) { + out.SetMapIndex(k, e) + } + } + } + d.stringMapType = stringMapType + d.generalMapType = generalMapType + return true +} + +func isStringMap(n *Node) bool { + if n.Kind != MappingNode { + return false + } + l := len(n.Content) + for i := 0; i < l; i += 2 { + if n.Content[i].ShortTag() != strTag { + return false + } + } + return true +} + +func (d *decoder) mappingStruct(n *Node, out reflect.Value) (good bool) { + sinfo, err := getStructInfo(out.Type()) + if err != nil { + panic(err) + } + + var inlineMap reflect.Value + var elemType reflect.Type + if sinfo.InlineMap != -1 { + inlineMap = out.Field(sinfo.InlineMap) + inlineMap.Set(reflect.New(inlineMap.Type()).Elem()) + elemType = inlineMap.Type().Elem() + } + + for _, index := range sinfo.InlineUnmarshalers { + field := d.fieldByIndex(n, out, index) + d.prepare(n, field) + } + + var doneFields []bool + if d.uniqueKeys { + doneFields = make([]bool, len(sinfo.FieldsList)) + } + name := settableValueOf("") + l := len(n.Content) + for i := 0; i < l; i += 2 { + ni := n.Content[i] + if isMerge(ni) { + d.merge(n.Content[i+1], out) + continue + } + if !d.unmarshal(ni, name) { + continue + } + if info, ok := sinfo.FieldsMap[name.String()]; ok { + if d.uniqueKeys { + if doneFields[info.Id] { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s already set in type %s", ni.Line, name.String(), out.Type())) + continue + } + doneFields[info.Id] = true + } + var field reflect.Value + if info.Inline == nil { + field = out.Field(info.Num) + } else { + field = d.fieldByIndex(n, out, info.Inline) + } + d.unmarshal(n.Content[i+1], field) + } else if sinfo.InlineMap != -1 { + if inlineMap.IsNil() { + inlineMap.Set(reflect.MakeMap(inlineMap.Type())) + } + value := reflect.New(elemType).Elem() + d.unmarshal(n.Content[i+1], value) + inlineMap.SetMapIndex(name, value) + } else if d.knownFields { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s not found in type %s", ni.Line, name.String(), out.Type())) + } + } + return true +} + +func failWantMap() { + failf("map merge requires map or sequence of maps as the value") +} + +func (d *decoder) merge(n *Node, out reflect.Value) { + switch n.Kind { + case MappingNode: + d.unmarshal(n, out) + case AliasNode: + if n.Alias != nil && n.Alias.Kind != MappingNode { + failWantMap() + } + d.unmarshal(n, out) + case SequenceNode: + // Step backwards as earlier nodes take precedence. + for i := len(n.Content) - 1; i >= 0; i-- { + ni := n.Content[i] + if ni.Kind == AliasNode { + if ni.Alias != nil && ni.Alias.Kind != MappingNode { + failWantMap() + } + } else if ni.Kind != MappingNode { + failWantMap() + } + d.unmarshal(ni, out) + } + default: + failWantMap() + } +} + +func isMerge(n *Node) bool { + return n.Kind == ScalarNode && n.Value == "<<" && (n.Tag == "" || n.Tag == "!" || shortTag(n.Tag) == mergeTag) +} diff --git a/vendor/gopkg.in/yaml.v3/emitterc.go b/vendor/gopkg.in/yaml.v3/emitterc.go new file mode 100644 index 000000000..0f47c9ca8 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/emitterc.go @@ -0,0 +1,2020 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "bytes" + "fmt" +) + +// Flush the buffer if needed. +func flush(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) { + return yaml_emitter_flush(emitter) + } + return true +} + +// Put a character to the output buffer. +func put(emitter *yaml_emitter_t, value byte) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + emitter.buffer[emitter.buffer_pos] = value + emitter.buffer_pos++ + emitter.column++ + return true +} + +// Put a line break to the output buffer. +func put_break(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + switch emitter.line_break { + case yaml_CR_BREAK: + emitter.buffer[emitter.buffer_pos] = '\r' + emitter.buffer_pos += 1 + case yaml_LN_BREAK: + emitter.buffer[emitter.buffer_pos] = '\n' + emitter.buffer_pos += 1 + case yaml_CRLN_BREAK: + emitter.buffer[emitter.buffer_pos+0] = '\r' + emitter.buffer[emitter.buffer_pos+1] = '\n' + emitter.buffer_pos += 2 + default: + panic("unknown line break setting") + } + if emitter.column == 0 { + emitter.space_above = true + } + emitter.column = 0 + emitter.line++ + // [Go] Do this here and below and drop from everywhere else (see commented lines). + emitter.indention = true + return true +} + +// Copy a character from a string into buffer. +func write(emitter *yaml_emitter_t, s []byte, i *int) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + p := emitter.buffer_pos + w := width(s[*i]) + switch w { + case 4: + emitter.buffer[p+3] = s[*i+3] + fallthrough + case 3: + emitter.buffer[p+2] = s[*i+2] + fallthrough + case 2: + emitter.buffer[p+1] = s[*i+1] + fallthrough + case 1: + emitter.buffer[p+0] = s[*i+0] + default: + panic("unknown character width") + } + emitter.column++ + emitter.buffer_pos += w + *i += w + return true +} + +// Write a whole string into buffer. +func write_all(emitter *yaml_emitter_t, s []byte) bool { + for i := 0; i < len(s); { + if !write(emitter, s, &i) { + return false + } + } + return true +} + +// Copy a line break character from a string into buffer. +func write_break(emitter *yaml_emitter_t, s []byte, i *int) bool { + if s[*i] == '\n' { + if !put_break(emitter) { + return false + } + *i++ + } else { + if !write(emitter, s, i) { + return false + } + if emitter.column == 0 { + emitter.space_above = true + } + emitter.column = 0 + emitter.line++ + // [Go] Do this here and above and drop from everywhere else (see commented lines). + emitter.indention = true + } + return true +} + +// Set an emitter error and return false. +func yaml_emitter_set_emitter_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_EMITTER_ERROR + emitter.problem = problem + return false +} + +// Emit an event. +func yaml_emitter_emit(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.events = append(emitter.events, *event) + for !yaml_emitter_need_more_events(emitter) { + event := &emitter.events[emitter.events_head] + if !yaml_emitter_analyze_event(emitter, event) { + return false + } + if !yaml_emitter_state_machine(emitter, event) { + return false + } + yaml_event_delete(event) + emitter.events_head++ + } + return true +} + +// Check if we need to accumulate more events before emitting. +// +// We accumulate extra +// - 1 event for DOCUMENT-START +// - 2 events for SEQUENCE-START +// - 3 events for MAPPING-START +// +func yaml_emitter_need_more_events(emitter *yaml_emitter_t) bool { + if emitter.events_head == len(emitter.events) { + return true + } + var accumulate int + switch emitter.events[emitter.events_head].typ { + case yaml_DOCUMENT_START_EVENT: + accumulate = 1 + break + case yaml_SEQUENCE_START_EVENT: + accumulate = 2 + break + case yaml_MAPPING_START_EVENT: + accumulate = 3 + break + default: + return false + } + if len(emitter.events)-emitter.events_head > accumulate { + return false + } + var level int + for i := emitter.events_head; i < len(emitter.events); i++ { + switch emitter.events[i].typ { + case yaml_STREAM_START_EVENT, yaml_DOCUMENT_START_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT: + level++ + case yaml_STREAM_END_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_END_EVENT, yaml_MAPPING_END_EVENT: + level-- + } + if level == 0 { + return false + } + } + return true +} + +// Append a directive to the directives stack. +func yaml_emitter_append_tag_directive(emitter *yaml_emitter_t, value *yaml_tag_directive_t, allow_duplicates bool) bool { + for i := 0; i < len(emitter.tag_directives); i++ { + if bytes.Equal(value.handle, emitter.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_emitter_set_emitter_error(emitter, "duplicate %TAG directive") + } + } + + // [Go] Do we actually need to copy this given garbage collection + // and the lack of deallocating destructors? + tag_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(tag_copy.handle, value.handle) + copy(tag_copy.prefix, value.prefix) + emitter.tag_directives = append(emitter.tag_directives, tag_copy) + return true +} + +// Increase the indentation level. +func yaml_emitter_increase_indent(emitter *yaml_emitter_t, flow, indentless bool) bool { + emitter.indents = append(emitter.indents, emitter.indent) + if emitter.indent < 0 { + if flow { + emitter.indent = emitter.best_indent + } else { + emitter.indent = 0 + } + } else if !indentless { + // [Go] This was changed so that indentations are more regular. + if emitter.states[len(emitter.states)-1] == yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE { + // The first indent inside a sequence will just skip the "- " indicator. + emitter.indent += 2 + } else { + // Everything else aligns to the chosen indentation. + emitter.indent = emitter.best_indent*((emitter.indent+emitter.best_indent)/emitter.best_indent) + } + } + return true +} + +// State dispatcher. +func yaml_emitter_state_machine(emitter *yaml_emitter_t, event *yaml_event_t) bool { + switch emitter.state { + default: + case yaml_EMIT_STREAM_START_STATE: + return yaml_emitter_emit_stream_start(emitter, event) + + case yaml_EMIT_FIRST_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, true) + + case yaml_EMIT_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, false) + + case yaml_EMIT_DOCUMENT_CONTENT_STATE: + return yaml_emitter_emit_document_content(emitter, event) + + case yaml_EMIT_DOCUMENT_END_STATE: + return yaml_emitter_emit_document_end(emitter, event) + + case yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, true, false) + + case yaml_EMIT_FLOW_SEQUENCE_TRAIL_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, false, true) + + case yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, false, false) + + case yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, true, false) + + case yaml_EMIT_FLOW_MAPPING_TRAIL_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, false, true) + + case yaml_EMIT_FLOW_MAPPING_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, false, false) + + case yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, true) + + case yaml_EMIT_FLOW_MAPPING_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, false) + + case yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, true) + + case yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, false) + + case yaml_EMIT_END_STATE: + return yaml_emitter_set_emitter_error(emitter, "expected nothing after STREAM-END") + } + panic("invalid emitter state") +} + +// Expect STREAM-START. +func yaml_emitter_emit_stream_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_STREAM_START_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected STREAM-START") + } + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = event.encoding + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = yaml_UTF8_ENCODING + } + } + if emitter.best_indent < 2 || emitter.best_indent > 9 { + emitter.best_indent = 2 + } + if emitter.best_width >= 0 && emitter.best_width <= emitter.best_indent*2 { + emitter.best_width = 80 + } + if emitter.best_width < 0 { + emitter.best_width = 1<<31 - 1 + } + if emitter.line_break == yaml_ANY_BREAK { + emitter.line_break = yaml_LN_BREAK + } + + emitter.indent = -1 + emitter.line = 0 + emitter.column = 0 + emitter.whitespace = true + emitter.indention = true + emitter.space_above = true + emitter.foot_indent = -1 + + if emitter.encoding != yaml_UTF8_ENCODING { + if !yaml_emitter_write_bom(emitter) { + return false + } + } + emitter.state = yaml_EMIT_FIRST_DOCUMENT_START_STATE + return true +} + +// Expect DOCUMENT-START or STREAM-END. +func yaml_emitter_emit_document_start(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + + if event.typ == yaml_DOCUMENT_START_EVENT { + + if event.version_directive != nil { + if !yaml_emitter_analyze_version_directive(emitter, event.version_directive) { + return false + } + } + + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_analyze_tag_directive(emitter, tag_directive) { + return false + } + if !yaml_emitter_append_tag_directive(emitter, tag_directive, false) { + return false + } + } + + for i := 0; i < len(default_tag_directives); i++ { + tag_directive := &default_tag_directives[i] + if !yaml_emitter_append_tag_directive(emitter, tag_directive, true) { + return false + } + } + + implicit := event.implicit + if !first || emitter.canonical { + implicit = false + } + + if emitter.open_ended && (event.version_directive != nil || len(event.tag_directives) > 0) { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if event.version_directive != nil { + implicit = false + if !yaml_emitter_write_indicator(emitter, []byte("%YAML"), true, false, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("1.1"), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if len(event.tag_directives) > 0 { + implicit = false + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_write_indicator(emitter, []byte("%TAG"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_handle(emitter, tag_directive.handle) { + return false + } + if !yaml_emitter_write_tag_content(emitter, tag_directive.prefix, true) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + if yaml_emitter_check_empty_document(emitter) { + implicit = false + } + if !implicit { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("---"), true, false, false) { + return false + } + if emitter.canonical || true { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + if len(emitter.head_comment) > 0 { + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if !put_break(emitter) { + return false + } + } + + emitter.state = yaml_EMIT_DOCUMENT_CONTENT_STATE + return true + } + + if event.typ == yaml_STREAM_END_EVENT { + if emitter.open_ended { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_END_STATE + return true + } + + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-START or STREAM-END") +} + +// Expect the root node. +func yaml_emitter_emit_document_content(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.states = append(emitter.states, yaml_EMIT_DOCUMENT_END_STATE) + + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if !yaml_emitter_emit_node(emitter, event, true, false, false, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +// Expect DOCUMENT-END. +func yaml_emitter_emit_document_end(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_DOCUMENT_END_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-END") + } + // [Go] Force document foot separation. + emitter.foot_indent = 0 + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + emitter.foot_indent = -1 + if !yaml_emitter_write_indent(emitter) { + return false + } + if !event.implicit { + // [Go] Allocate the slice elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_DOCUMENT_START_STATE + emitter.tag_directives = emitter.tag_directives[:0] + return true +} + +// Expect a flow item node. +func yaml_emitter_emit_flow_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first, trail bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'['}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_SEQUENCE_END_EVENT { + if emitter.canonical && !first && !trail { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.column == 0 || emitter.canonical && !first { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{']'}, false, false, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + + return true + } + + if !first && !trail { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if emitter.column == 0 { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if len(emitter.line_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0 { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_TRAIL_ITEM_STATE) + } else { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE) + } + if !yaml_emitter_emit_node(emitter, event, false, true, false, false) { + return false + } + if len(emitter.line_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0 { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +// Expect a flow key node. +func yaml_emitter_emit_flow_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first, trail bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'{'}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_MAPPING_END_EVENT { + if (emitter.canonical || len(emitter.head_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0) && !first && !trail { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if !yaml_emitter_process_head_comment(emitter) { + return false + } + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.canonical && !first { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'}'}, false, false, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + + if !first && !trail { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + + if !yaml_emitter_process_head_comment(emitter) { + return false + } + + if emitter.column == 0 { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if !emitter.canonical && yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, false) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a flow value node. +func yaml_emitter_emit_flow_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, false) { + return false + } + } + if len(emitter.line_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0 { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_TRAIL_KEY_STATE) + } else { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_KEY_STATE) + } + if !yaml_emitter_emit_node(emitter, event, false, false, true, false) { + return false + } + if len(emitter.line_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0 { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +// Expect a block item node. +func yaml_emitter_emit_block_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, false) { + return false + } + } + if event.typ == yaml_SEQUENCE_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'-'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE) + if !yaml_emitter_emit_node(emitter, event, false, true, false, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +// Expect a block key node. +func yaml_emitter_emit_block_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, false) { + return false + } + } + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if event.typ == yaml_MAPPING_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if len(emitter.line_comment) > 0 { + // [Go] A line comment was provided for the key. That's unusual as the + // scanner associates line comments with the value. Either way, + // save the line comment and render it appropriately later. + emitter.key_line_comment = emitter.line_comment + emitter.line_comment = nil + } + if yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a block value node. +func yaml_emitter_emit_block_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, true) { + return false + } + } + if len(emitter.key_line_comment) > 0 { + // [Go] Line comments are generally associated with the value, but when there's + // no value on the same line as a mapping key they end up attached to the + // key itself. + if event.typ == yaml_SCALAR_EVENT { + if len(emitter.line_comment) == 0 { + // A scalar is coming and it has no line comments by itself yet, + // so just let it handle the line comment as usual. If it has a + // line comment, we can't have both so the one from the key is lost. + emitter.line_comment = emitter.key_line_comment + emitter.key_line_comment = nil + } + } else if event.sequence_style() != yaml_FLOW_SEQUENCE_STYLE && (event.typ == yaml_MAPPING_START_EVENT || event.typ == yaml_SEQUENCE_START_EVENT) { + // An indented block follows, so write the comment right now. + emitter.line_comment, emitter.key_line_comment = emitter.key_line_comment, emitter.line_comment + if !yaml_emitter_process_line_comment(emitter) { + return false + } + emitter.line_comment, emitter.key_line_comment = emitter.key_line_comment, emitter.line_comment + } + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_KEY_STATE) + if !yaml_emitter_emit_node(emitter, event, false, false, true, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +func yaml_emitter_silent_nil_event(emitter *yaml_emitter_t, event *yaml_event_t) bool { + return event.typ == yaml_SCALAR_EVENT && event.implicit && !emitter.canonical && len(emitter.scalar_data.value) == 0 +} + +// Expect a node. +func yaml_emitter_emit_node(emitter *yaml_emitter_t, event *yaml_event_t, + root bool, sequence bool, mapping bool, simple_key bool) bool { + + emitter.root_context = root + emitter.sequence_context = sequence + emitter.mapping_context = mapping + emitter.simple_key_context = simple_key + + switch event.typ { + case yaml_ALIAS_EVENT: + return yaml_emitter_emit_alias(emitter, event) + case yaml_SCALAR_EVENT: + return yaml_emitter_emit_scalar(emitter, event) + case yaml_SEQUENCE_START_EVENT: + return yaml_emitter_emit_sequence_start(emitter, event) + case yaml_MAPPING_START_EVENT: + return yaml_emitter_emit_mapping_start(emitter, event) + default: + return yaml_emitter_set_emitter_error(emitter, + fmt.Sprintf("expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS, but got %v", event.typ)) + } +} + +// Expect ALIAS. +func yaml_emitter_emit_alias(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SCALAR. +func yaml_emitter_emit_scalar(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_select_scalar_style(emitter, event) { + return false + } + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + if !yaml_emitter_process_scalar(emitter) { + return false + } + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SEQUENCE-START. +func yaml_emitter_emit_sequence_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.sequence_style() == yaml_FLOW_SEQUENCE_STYLE || + yaml_emitter_check_empty_sequence(emitter) { + emitter.state = yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE + } + return true +} + +// Expect MAPPING-START. +func yaml_emitter_emit_mapping_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.mapping_style() == yaml_FLOW_MAPPING_STYLE || + yaml_emitter_check_empty_mapping(emitter) { + emitter.state = yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE + } + return true +} + +// Check if the document content is an empty scalar. +func yaml_emitter_check_empty_document(emitter *yaml_emitter_t) bool { + return false // [Go] Huh? +} + +// Check if the next events represent an empty sequence. +func yaml_emitter_check_empty_sequence(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_SEQUENCE_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_SEQUENCE_END_EVENT +} + +// Check if the next events represent an empty mapping. +func yaml_emitter_check_empty_mapping(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_MAPPING_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_MAPPING_END_EVENT +} + +// Check if the next node can be expressed as a simple key. +func yaml_emitter_check_simple_key(emitter *yaml_emitter_t) bool { + length := 0 + switch emitter.events[emitter.events_head].typ { + case yaml_ALIAS_EVENT: + length += len(emitter.anchor_data.anchor) + case yaml_SCALAR_EVENT: + if emitter.scalar_data.multiline { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + + len(emitter.scalar_data.value) + case yaml_SEQUENCE_START_EVENT: + if !yaml_emitter_check_empty_sequence(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + case yaml_MAPPING_START_EVENT: + if !yaml_emitter_check_empty_mapping(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + default: + return false + } + return length <= 128 +} + +// Determine an acceptable scalar style. +func yaml_emitter_select_scalar_style(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + no_tag := len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 + if no_tag && !event.implicit && !event.quoted_implicit { + return yaml_emitter_set_emitter_error(emitter, "neither tag nor implicit flags are specified") + } + + style := event.scalar_style() + if style == yaml_ANY_SCALAR_STYLE { + style = yaml_PLAIN_SCALAR_STYLE + } + if emitter.canonical { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + if emitter.simple_key_context && emitter.scalar_data.multiline { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + + if style == yaml_PLAIN_SCALAR_STYLE { + if emitter.flow_level > 0 && !emitter.scalar_data.flow_plain_allowed || + emitter.flow_level == 0 && !emitter.scalar_data.block_plain_allowed { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if len(emitter.scalar_data.value) == 0 && (emitter.flow_level > 0 || emitter.simple_key_context) { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if no_tag && !event.implicit { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_SINGLE_QUOTED_SCALAR_STYLE { + if !emitter.scalar_data.single_quoted_allowed { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_LITERAL_SCALAR_STYLE || style == yaml_FOLDED_SCALAR_STYLE { + if !emitter.scalar_data.block_allowed || emitter.flow_level > 0 || emitter.simple_key_context { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + + if no_tag && !event.quoted_implicit && style != yaml_PLAIN_SCALAR_STYLE { + emitter.tag_data.handle = []byte{'!'} + } + emitter.scalar_data.style = style + return true +} + +// Write an anchor. +func yaml_emitter_process_anchor(emitter *yaml_emitter_t) bool { + if emitter.anchor_data.anchor == nil { + return true + } + c := []byte{'&'} + if emitter.anchor_data.alias { + c[0] = '*' + } + if !yaml_emitter_write_indicator(emitter, c, true, false, false) { + return false + } + return yaml_emitter_write_anchor(emitter, emitter.anchor_data.anchor) +} + +// Write a tag. +func yaml_emitter_process_tag(emitter *yaml_emitter_t) bool { + if len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 { + return true + } + if len(emitter.tag_data.handle) > 0 { + if !yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle) { + return false + } + if len(emitter.tag_data.suffix) > 0 { + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + } + } else { + // [Go] Allocate these slices elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("!<"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, false, false, false) { + return false + } + } + return true +} + +// Write a scalar. +func yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool { + switch emitter.scalar_data.style { + case yaml_PLAIN_SCALAR_STYLE: + return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_SINGLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_DOUBLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_double_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_LITERAL_SCALAR_STYLE: + return yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value) + + case yaml_FOLDED_SCALAR_STYLE: + return yaml_emitter_write_folded_scalar(emitter, emitter.scalar_data.value) + } + panic("unknown scalar style") +} + +// Write a head comment. +func yaml_emitter_process_head_comment(emitter *yaml_emitter_t) bool { + if len(emitter.tail_comment) > 0 { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_comment(emitter, emitter.tail_comment) { + return false + } + emitter.tail_comment = emitter.tail_comment[:0] + emitter.foot_indent = emitter.indent + if emitter.foot_indent < 0 { + emitter.foot_indent = 0 + } + } + + if len(emitter.head_comment) == 0 { + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_comment(emitter, emitter.head_comment) { + return false + } + emitter.head_comment = emitter.head_comment[:0] + return true +} + +// Write an line comment. +func yaml_emitter_process_line_comment(emitter *yaml_emitter_t) bool { + if len(emitter.line_comment) == 0 { + return true + } + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !yaml_emitter_write_comment(emitter, emitter.line_comment) { + return false + } + emitter.line_comment = emitter.line_comment[:0] + return true +} + +// Write a foot comment. +func yaml_emitter_process_foot_comment(emitter *yaml_emitter_t) bool { + if len(emitter.foot_comment) == 0 { + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_comment(emitter, emitter.foot_comment) { + return false + } + emitter.foot_comment = emitter.foot_comment[:0] + emitter.foot_indent = emitter.indent + if emitter.foot_indent < 0 { + emitter.foot_indent = 0 + } + return true +} + +// Check if a %YAML directive is valid. +func yaml_emitter_analyze_version_directive(emitter *yaml_emitter_t, version_directive *yaml_version_directive_t) bool { + if version_directive.major != 1 || version_directive.minor != 1 { + return yaml_emitter_set_emitter_error(emitter, "incompatible %YAML directive") + } + return true +} + +// Check if a %TAG directive is valid. +func yaml_emitter_analyze_tag_directive(emitter *yaml_emitter_t, tag_directive *yaml_tag_directive_t) bool { + handle := tag_directive.handle + prefix := tag_directive.prefix + if len(handle) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag handle must not be empty") + } + if handle[0] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must start with '!'") + } + if handle[len(handle)-1] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must end with '!'") + } + for i := 1; i < len(handle)-1; i += width(handle[i]) { + if !is_alpha(handle, i) { + return yaml_emitter_set_emitter_error(emitter, "tag handle must contain alphanumerical characters only") + } + } + if len(prefix) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag prefix must not be empty") + } + return true +} + +// Check if an anchor is valid. +func yaml_emitter_analyze_anchor(emitter *yaml_emitter_t, anchor []byte, alias bool) bool { + if len(anchor) == 0 { + problem := "anchor value must not be empty" + if alias { + problem = "alias value must not be empty" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + for i := 0; i < len(anchor); i += width(anchor[i]) { + if !is_alpha(anchor, i) { + problem := "anchor value must contain alphanumerical characters only" + if alias { + problem = "alias value must contain alphanumerical characters only" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + } + emitter.anchor_data.anchor = anchor + emitter.anchor_data.alias = alias + return true +} + +// Check if a tag is valid. +func yaml_emitter_analyze_tag(emitter *yaml_emitter_t, tag []byte) bool { + if len(tag) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag value must not be empty") + } + for i := 0; i < len(emitter.tag_directives); i++ { + tag_directive := &emitter.tag_directives[i] + if bytes.HasPrefix(tag, tag_directive.prefix) { + emitter.tag_data.handle = tag_directive.handle + emitter.tag_data.suffix = tag[len(tag_directive.prefix):] + return true + } + } + emitter.tag_data.suffix = tag + return true +} + +// Check if a scalar is valid. +func yaml_emitter_analyze_scalar(emitter *yaml_emitter_t, value []byte) bool { + var ( + block_indicators = false + flow_indicators = false + line_breaks = false + special_characters = false + tab_characters = false + + leading_space = false + leading_break = false + trailing_space = false + trailing_break = false + break_space = false + space_break = false + + preceded_by_whitespace = false + followed_by_whitespace = false + previous_space = false + previous_break = false + ) + + emitter.scalar_data.value = value + + if len(value) == 0 { + emitter.scalar_data.multiline = false + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = false + return true + } + + if len(value) >= 3 && ((value[0] == '-' && value[1] == '-' && value[2] == '-') || (value[0] == '.' && value[1] == '.' && value[2] == '.')) { + block_indicators = true + flow_indicators = true + } + + preceded_by_whitespace = true + for i, w := 0, 0; i < len(value); i += w { + w = width(value[i]) + followed_by_whitespace = i+w >= len(value) || is_blank(value, i+w) + + if i == 0 { + switch value[i] { + case '#', ',', '[', ']', '{', '}', '&', '*', '!', '|', '>', '\'', '"', '%', '@', '`': + flow_indicators = true + block_indicators = true + case '?', ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '-': + if followed_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } else { + switch value[i] { + case ',', '?', '[', ']', '{', '}': + flow_indicators = true + case ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '#': + if preceded_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } + + if value[i] == '\t' { + tab_characters = true + } else if !is_printable(value, i) || !is_ascii(value, i) && !emitter.unicode { + special_characters = true + } + if is_space(value, i) { + if i == 0 { + leading_space = true + } + if i+width(value[i]) == len(value) { + trailing_space = true + } + if previous_break { + break_space = true + } + previous_space = true + previous_break = false + } else if is_break(value, i) { + line_breaks = true + if i == 0 { + leading_break = true + } + if i+width(value[i]) == len(value) { + trailing_break = true + } + if previous_space { + space_break = true + } + previous_space = false + previous_break = true + } else { + previous_space = false + previous_break = false + } + + // [Go]: Why 'z'? Couldn't be the end of the string as that's the loop condition. + preceded_by_whitespace = is_blankz(value, i) + } + + emitter.scalar_data.multiline = line_breaks + emitter.scalar_data.flow_plain_allowed = true + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = true + + if leading_space || leading_break || trailing_space || trailing_break { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if trailing_space { + emitter.scalar_data.block_allowed = false + } + if break_space { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + } + if space_break || tab_characters || special_characters { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + } + if space_break || special_characters { + emitter.scalar_data.block_allowed = false + } + if line_breaks { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if flow_indicators { + emitter.scalar_data.flow_plain_allowed = false + } + if block_indicators { + emitter.scalar_data.block_plain_allowed = false + } + return true +} + +// Check if the event data is valid. +func yaml_emitter_analyze_event(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + emitter.anchor_data.anchor = nil + emitter.tag_data.handle = nil + emitter.tag_data.suffix = nil + emitter.scalar_data.value = nil + + if len(event.head_comment) > 0 { + emitter.head_comment = event.head_comment + } + if len(event.line_comment) > 0 { + emitter.line_comment = event.line_comment + } + if len(event.foot_comment) > 0 { + emitter.foot_comment = event.foot_comment + } + if len(event.tail_comment) > 0 { + emitter.tail_comment = event.tail_comment + } + + switch event.typ { + case yaml_ALIAS_EVENT: + if !yaml_emitter_analyze_anchor(emitter, event.anchor, true) { + return false + } + + case yaml_SCALAR_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || (!event.implicit && !event.quoted_implicit)) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + if !yaml_emitter_analyze_scalar(emitter, event.value) { + return false + } + + case yaml_SEQUENCE_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + + case yaml_MAPPING_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + } + return true +} + +// Write the BOM character. +func yaml_emitter_write_bom(emitter *yaml_emitter_t) bool { + if !flush(emitter) { + return false + } + pos := emitter.buffer_pos + emitter.buffer[pos+0] = '\xEF' + emitter.buffer[pos+1] = '\xBB' + emitter.buffer[pos+2] = '\xBF' + emitter.buffer_pos += 3 + return true +} + +func yaml_emitter_write_indent(emitter *yaml_emitter_t) bool { + indent := emitter.indent + if indent < 0 { + indent = 0 + } + if !emitter.indention || emitter.column > indent || (emitter.column == indent && !emitter.whitespace) { + if !put_break(emitter) { + return false + } + } + if emitter.foot_indent == indent { + if !put_break(emitter) { + return false + } + } + for emitter.column < indent { + if !put(emitter, ' ') { + return false + } + } + emitter.whitespace = true + //emitter.indention = true + emitter.space_above = false + emitter.foot_indent = -1 + return true +} + +func yaml_emitter_write_indicator(emitter *yaml_emitter_t, indicator []byte, need_whitespace, is_whitespace, is_indention bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, indicator) { + return false + } + emitter.whitespace = is_whitespace + emitter.indention = (emitter.indention && is_indention) + emitter.open_ended = false + return true +} + +func yaml_emitter_write_anchor(emitter *yaml_emitter_t, value []byte) bool { + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_handle(emitter *yaml_emitter_t, value []byte) bool { + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_content(emitter *yaml_emitter_t, value []byte, need_whitespace bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + for i := 0; i < len(value); { + var must_write bool + switch value[i] { + case ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '_', '.', '~', '*', '\'', '(', ')', '[', ']': + must_write = true + default: + must_write = is_alpha(value, i) + } + if must_write { + if !write(emitter, value, &i) { + return false + } + } else { + w := width(value[i]) + for k := 0; k < w; k++ { + octet := value[i] + i++ + if !put(emitter, '%') { + return false + } + + c := octet >> 4 + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + + c = octet & 0x0f + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + } + } + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_plain_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + if len(value) > 0 && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + //emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + + if len(value) > 0 { + emitter.whitespace = false + } + emitter.indention = false + if emitter.root_context { + emitter.open_ended = true + } + + return true +} + +func yaml_emitter_write_single_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, true, false, false) { + return false + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + //emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if value[i] == '\'' { + if !put(emitter, '\'') { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_double_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + spaces := false + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, true, false, false) { + return false + } + + for i := 0; i < len(value); { + if !is_printable(value, i) || (!emitter.unicode && !is_ascii(value, i)) || + is_bom(value, i) || is_break(value, i) || + value[i] == '"' || value[i] == '\\' { + + octet := value[i] + + var w int + var v rune + switch { + case octet&0x80 == 0x00: + w, v = 1, rune(octet&0x7F) + case octet&0xE0 == 0xC0: + w, v = 2, rune(octet&0x1F) + case octet&0xF0 == 0xE0: + w, v = 3, rune(octet&0x0F) + case octet&0xF8 == 0xF0: + w, v = 4, rune(octet&0x07) + } + for k := 1; k < w; k++ { + octet = value[i+k] + v = (v << 6) + (rune(octet) & 0x3F) + } + i += w + + if !put(emitter, '\\') { + return false + } + + var ok bool + switch v { + case 0x00: + ok = put(emitter, '0') + case 0x07: + ok = put(emitter, 'a') + case 0x08: + ok = put(emitter, 'b') + case 0x09: + ok = put(emitter, 't') + case 0x0A: + ok = put(emitter, 'n') + case 0x0b: + ok = put(emitter, 'v') + case 0x0c: + ok = put(emitter, 'f') + case 0x0d: + ok = put(emitter, 'r') + case 0x1b: + ok = put(emitter, 'e') + case 0x22: + ok = put(emitter, '"') + case 0x5c: + ok = put(emitter, '\\') + case 0x85: + ok = put(emitter, 'N') + case 0xA0: + ok = put(emitter, '_') + case 0x2028: + ok = put(emitter, 'L') + case 0x2029: + ok = put(emitter, 'P') + default: + if v <= 0xFF { + ok = put(emitter, 'x') + w = 2 + } else if v <= 0xFFFF { + ok = put(emitter, 'u') + w = 4 + } else { + ok = put(emitter, 'U') + w = 8 + } + for k := (w - 1) * 4; ok && k >= 0; k -= 4 { + digit := byte((v >> uint(k)) & 0x0F) + if digit < 10 { + ok = put(emitter, digit+'0') + } else { + ok = put(emitter, digit+'A'-10) + } + } + } + if !ok { + return false + } + spaces = false + } else if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 { + if !yaml_emitter_write_indent(emitter) { + return false + } + if is_space(value, i+1) { + if !put(emitter, '\\') { + return false + } + } + i += width(value[i]) + } else if !write(emitter, value, &i) { + return false + } + spaces = true + } else { + if !write(emitter, value, &i) { + return false + } + spaces = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_block_scalar_hints(emitter *yaml_emitter_t, value []byte) bool { + if is_space(value, 0) || is_break(value, 0) { + indent_hint := []byte{'0' + byte(emitter.best_indent)} + if !yaml_emitter_write_indicator(emitter, indent_hint, false, false, false) { + return false + } + } + + emitter.open_ended = false + + var chomp_hint [1]byte + if len(value) == 0 { + chomp_hint[0] = '-' + } else { + i := len(value) - 1 + for value[i]&0xC0 == 0x80 { + i-- + } + if !is_break(value, i) { + chomp_hint[0] = '-' + } else if i == 0 { + chomp_hint[0] = '+' + emitter.open_ended = true + } else { + i-- + for value[i]&0xC0 == 0x80 { + i-- + } + if is_break(value, i) { + chomp_hint[0] = '+' + emitter.open_ended = true + } + } + } + if chomp_hint[0] != 0 { + if !yaml_emitter_write_indicator(emitter, chomp_hint[:], false, false, false) { + return false + } + } + return true +} + +func yaml_emitter_write_literal_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'|'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + //emitter.indention = true + emitter.whitespace = true + breaks := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !write_break(emitter, value, &i) { + return false + } + //emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + breaks = false + } + } + + return true +} + +func yaml_emitter_write_folded_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + + //emitter.indention = true + emitter.whitespace = true + + breaks := true + leading_spaces := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !breaks && !leading_spaces && value[i] == '\n' { + k := 0 + for is_break(value, k) { + k += width(value[k]) + } + if !is_blankz(value, k) { + if !put_break(emitter) { + return false + } + } + } + if !write_break(emitter, value, &i) { + return false + } + //emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + leading_spaces = is_blank(value, i) + } + if !breaks && is_space(value, i) && !is_space(value, i+1) && emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + emitter.indention = false + breaks = false + } + } + return true +} + +func yaml_emitter_write_comment(emitter *yaml_emitter_t, comment []byte) bool { + breaks := false + pound := false + for i := 0; i < len(comment); { + if is_break(comment, i) { + if !write_break(emitter, comment, &i) { + return false + } + //emitter.indention = true + breaks = true + pound = false + } else { + if breaks && !yaml_emitter_write_indent(emitter) { + return false + } + if !pound { + if comment[i] != '#' && (!put(emitter, '#') || !put(emitter, ' ')) { + return false + } + pound = true + } + if !write(emitter, comment, &i) { + return false + } + emitter.indention = false + breaks = false + } + } + if !breaks && !put_break(emitter) { + return false + } + + emitter.whitespace = true + //emitter.indention = true + return true +} diff --git a/vendor/gopkg.in/yaml.v3/encode.go b/vendor/gopkg.in/yaml.v3/encode.go new file mode 100644 index 000000000..de9e72a3e --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/encode.go @@ -0,0 +1,577 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yaml + +import ( + "encoding" + "fmt" + "io" + "reflect" + "regexp" + "sort" + "strconv" + "strings" + "time" + "unicode/utf8" +) + +type encoder struct { + emitter yaml_emitter_t + event yaml_event_t + out []byte + flow bool + indent int + doneInit bool +} + +func newEncoder() *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_string(&e.emitter, &e.out) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func newEncoderWithWriter(w io.Writer) *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_writer(&e.emitter, w) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func (e *encoder) init() { + if e.doneInit { + return + } + if e.indent == 0 { + e.indent = 4 + } + e.emitter.best_indent = e.indent + yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING) + e.emit() + e.doneInit = true +} + +func (e *encoder) finish() { + e.emitter.open_ended = false + yaml_stream_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) destroy() { + yaml_emitter_delete(&e.emitter) +} + +func (e *encoder) emit() { + // This will internally delete the e.event value. + e.must(yaml_emitter_emit(&e.emitter, &e.event)) +} + +func (e *encoder) must(ok bool) { + if !ok { + msg := e.emitter.problem + if msg == "" { + msg = "unknown problem generating YAML content" + } + failf("%s", msg) + } +} + +func (e *encoder) marshalDoc(tag string, in reflect.Value) { + e.init() + var node *Node + if in.IsValid() { + node, _ = in.Interface().(*Node) + } + if node != nil && node.Kind == DocumentNode { + e.nodev(in) + } else { + yaml_document_start_event_initialize(&e.event, nil, nil, true) + e.emit() + e.marshal(tag, in) + yaml_document_end_event_initialize(&e.event, true) + e.emit() + } +} + +func (e *encoder) marshal(tag string, in reflect.Value) { + tag = shortTag(tag) + if !in.IsValid() || in.Kind() == reflect.Ptr && in.IsNil() { + e.nilv() + return + } + iface := in.Interface() + switch value := iface.(type) { + case *Node: + e.nodev(in) + return + case Node: + if !in.CanAddr() { + var n = reflect.New(in.Type()).Elem() + n.Set(in) + in = n + } + e.nodev(in.Addr()) + return + case time.Time: + e.timev(tag, in) + return + case *time.Time: + e.timev(tag, in.Elem()) + return + case time.Duration: + e.stringv(tag, reflect.ValueOf(value.String())) + return + case Marshaler: + v, err := value.MarshalYAML() + if err != nil { + fail(err) + } + if v == nil { + e.nilv() + return + } + e.marshal(tag, reflect.ValueOf(v)) + return + case encoding.TextMarshaler: + text, err := value.MarshalText() + if err != nil { + fail(err) + } + in = reflect.ValueOf(string(text)) + case nil: + e.nilv() + return + } + switch in.Kind() { + case reflect.Interface: + e.marshal(tag, in.Elem()) + case reflect.Map: + e.mapv(tag, in) + case reflect.Ptr: + e.marshal(tag, in.Elem()) + case reflect.Struct: + e.structv(tag, in) + case reflect.Slice, reflect.Array: + e.slicev(tag, in) + case reflect.String: + e.stringv(tag, in) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + e.intv(tag, in) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + e.uintv(tag, in) + case reflect.Float32, reflect.Float64: + e.floatv(tag, in) + case reflect.Bool: + e.boolv(tag, in) + default: + panic("cannot marshal type: " + in.Type().String()) + } +} + +func (e *encoder) mapv(tag string, in reflect.Value) { + e.mappingv(tag, func() { + keys := keyList(in.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + e.marshal("", k) + e.marshal("", in.MapIndex(k)) + } + }) +} + +func (e *encoder) fieldByIndex(v reflect.Value, index []int) (field reflect.Value) { + for _, num := range index { + for { + if v.Kind() == reflect.Ptr { + if v.IsNil() { + return reflect.Value{} + } + v = v.Elem() + continue + } + break + } + v = v.Field(num) + } + return v +} + +func (e *encoder) structv(tag string, in reflect.Value) { + sinfo, err := getStructInfo(in.Type()) + if err != nil { + panic(err) + } + e.mappingv(tag, func() { + for _, info := range sinfo.FieldsList { + var value reflect.Value + if info.Inline == nil { + value = in.Field(info.Num) + } else { + value = e.fieldByIndex(in, info.Inline) + if !value.IsValid() { + continue + } + } + if info.OmitEmpty && isZero(value) { + continue + } + e.marshal("", reflect.ValueOf(info.Key)) + e.flow = info.Flow + e.marshal("", value) + } + if sinfo.InlineMap >= 0 { + m := in.Field(sinfo.InlineMap) + if m.Len() > 0 { + e.flow = false + keys := keyList(m.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + if _, found := sinfo.FieldsMap[k.String()]; found { + panic(fmt.Sprintf("cannot have key %q in inlined map: conflicts with struct field", k.String())) + } + e.marshal("", k) + e.flow = false + e.marshal("", m.MapIndex(k)) + } + } + } + }) +} + +func (e *encoder) mappingv(tag string, f func()) { + implicit := tag == "" + style := yaml_BLOCK_MAPPING_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_MAPPING_STYLE + } + yaml_mapping_start_event_initialize(&e.event, nil, []byte(tag), implicit, style) + e.emit() + f() + yaml_mapping_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) slicev(tag string, in reflect.Value) { + implicit := tag == "" + style := yaml_BLOCK_SEQUENCE_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_SEQUENCE_STYLE + } + e.must(yaml_sequence_start_event_initialize(&e.event, nil, []byte(tag), implicit, style)) + e.emit() + n := in.Len() + for i := 0; i < n; i++ { + e.marshal("", in.Index(i)) + } + e.must(yaml_sequence_end_event_initialize(&e.event)) + e.emit() +} + +// isBase60 returns whether s is in base 60 notation as defined in YAML 1.1. +// +// The base 60 float notation in YAML 1.1 is a terrible idea and is unsupported +// in YAML 1.2 and by this package, but these should be marshalled quoted for +// the time being for compatibility with other parsers. +func isBase60Float(s string) (result bool) { + // Fast path. + if s == "" { + return false + } + c := s[0] + if !(c == '+' || c == '-' || c >= '0' && c <= '9') || strings.IndexByte(s, ':') < 0 { + return false + } + // Do the full match. + return base60float.MatchString(s) +} + +// From http://yaml.org/type/float.html, except the regular expression there +// is bogus. In practice parsers do not enforce the "\.[0-9_]*" suffix. +var base60float = regexp.MustCompile(`^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+(?:\.[0-9_]*)?$`) + +// isOldBool returns whether s is bool notation as defined in YAML 1.1. +// +// We continue to force strings that YAML 1.1 would interpret as booleans to be +// rendered as quotes strings so that the marshalled output valid for YAML 1.1 +// parsing. +func isOldBool(s string) (result bool) { + switch s { + case "y", "Y", "yes", "Yes", "YES", "on", "On", "ON", + "n", "N", "no", "No", "NO", "off", "Off", "OFF": + return true + default: + return false + } +} + +func (e *encoder) stringv(tag string, in reflect.Value) { + var style yaml_scalar_style_t + s := in.String() + canUsePlain := true + switch { + case !utf8.ValidString(s): + if tag == binaryTag { + failf("explicitly tagged !!binary data must be base64-encoded") + } + if tag != "" { + failf("cannot marshal invalid UTF-8 data as %s", shortTag(tag)) + } + // It can't be encoded directly as YAML so use a binary tag + // and encode it as base64. + tag = binaryTag + s = encodeBase64(s) + case tag == "": + // Check to see if it would resolve to a specific + // tag when encoded unquoted. If it doesn't, + // there's no need to quote it. + rtag, _ := resolve("", s) + canUsePlain = rtag == strTag && !(isBase60Float(s) || isOldBool(s)) + } + // Note: it's possible for user code to emit invalid YAML + // if they explicitly specify a tag and a string containing + // text that's incompatible with that tag. + switch { + case strings.Contains(s, "\n"): + if e.flow { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } else { + style = yaml_LITERAL_SCALAR_STYLE + } + case canUsePlain: + style = yaml_PLAIN_SCALAR_STYLE + default: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + e.emitScalar(s, "", tag, style, nil, nil, nil, nil) +} + +func (e *encoder) boolv(tag string, in reflect.Value) { + var s string + if in.Bool() { + s = "true" + } else { + s = "false" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) intv(tag string, in reflect.Value) { + s := strconv.FormatInt(in.Int(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) uintv(tag string, in reflect.Value) { + s := strconv.FormatUint(in.Uint(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) timev(tag string, in reflect.Value) { + t := in.Interface().(time.Time) + s := t.Format(time.RFC3339Nano) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) floatv(tag string, in reflect.Value) { + // Issue #352: When formatting, use the precision of the underlying value + precision := 64 + if in.Kind() == reflect.Float32 { + precision = 32 + } + + s := strconv.FormatFloat(in.Float(), 'g', -1, precision) + switch s { + case "+Inf": + s = ".inf" + case "-Inf": + s = "-.inf" + case "NaN": + s = ".nan" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) nilv() { + e.emitScalar("null", "", "", yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) emitScalar(value, anchor, tag string, style yaml_scalar_style_t, head, line, foot, tail []byte) { + // TODO Kill this function. Replace all initialize calls by their underlining Go literals. + implicit := tag == "" + if !implicit { + tag = longTag(tag) + } + e.must(yaml_scalar_event_initialize(&e.event, []byte(anchor), []byte(tag), []byte(value), implicit, implicit, style)) + e.event.head_comment = head + e.event.line_comment = line + e.event.foot_comment = foot + e.event.tail_comment = tail + e.emit() +} + +func (e *encoder) nodev(in reflect.Value) { + e.node(in.Interface().(*Node), "") +} + +func (e *encoder) node(node *Node, tail string) { + // Zero nodes behave as nil. + if node.Kind == 0 && node.IsZero() { + e.nilv() + return + } + + // If the tag was not explicitly requested, and dropping it won't change the + // implicit tag of the value, don't include it in the presentation. + var tag = node.Tag + var stag = shortTag(tag) + var forceQuoting bool + if tag != "" && node.Style&TaggedStyle == 0 { + if node.Kind == ScalarNode { + if stag == strTag && node.Style&(SingleQuotedStyle|DoubleQuotedStyle|LiteralStyle|FoldedStyle) != 0 { + tag = "" + } else { + rtag, _ := resolve("", node.Value) + if rtag == stag { + tag = "" + } else if stag == strTag { + tag = "" + forceQuoting = true + } + } + } else { + var rtag string + switch node.Kind { + case MappingNode: + rtag = mapTag + case SequenceNode: + rtag = seqTag + } + if rtag == stag { + tag = "" + } + } + } + + switch node.Kind { + case DocumentNode: + yaml_document_start_event_initialize(&e.event, nil, nil, true) + e.event.head_comment = []byte(node.HeadComment) + e.emit() + for _, node := range node.Content { + e.node(node, "") + } + yaml_document_end_event_initialize(&e.event, true) + e.event.foot_comment = []byte(node.FootComment) + e.emit() + + case SequenceNode: + style := yaml_BLOCK_SEQUENCE_STYLE + if node.Style&FlowStyle != 0 { + style = yaml_FLOW_SEQUENCE_STYLE + } + e.must(yaml_sequence_start_event_initialize(&e.event, []byte(node.Anchor), []byte(longTag(tag)), tag == "", style)) + e.event.head_comment = []byte(node.HeadComment) + e.emit() + for _, node := range node.Content { + e.node(node, "") + } + e.must(yaml_sequence_end_event_initialize(&e.event)) + e.event.line_comment = []byte(node.LineComment) + e.event.foot_comment = []byte(node.FootComment) + e.emit() + + case MappingNode: + style := yaml_BLOCK_MAPPING_STYLE + if node.Style&FlowStyle != 0 { + style = yaml_FLOW_MAPPING_STYLE + } + yaml_mapping_start_event_initialize(&e.event, []byte(node.Anchor), []byte(longTag(tag)), tag == "", style) + e.event.tail_comment = []byte(tail) + e.event.head_comment = []byte(node.HeadComment) + e.emit() + + // The tail logic below moves the foot comment of prior keys to the following key, + // since the value for each key may be a nested structure and the foot needs to be + // processed only the entirety of the value is streamed. The last tail is processed + // with the mapping end event. + var tail string + for i := 0; i+1 < len(node.Content); i += 2 { + k := node.Content[i] + foot := k.FootComment + if foot != "" { + kopy := *k + kopy.FootComment = "" + k = &kopy + } + e.node(k, tail) + tail = foot + + v := node.Content[i+1] + e.node(v, "") + } + + yaml_mapping_end_event_initialize(&e.event) + e.event.tail_comment = []byte(tail) + e.event.line_comment = []byte(node.LineComment) + e.event.foot_comment = []byte(node.FootComment) + e.emit() + + case AliasNode: + yaml_alias_event_initialize(&e.event, []byte(node.Value)) + e.event.head_comment = []byte(node.HeadComment) + e.event.line_comment = []byte(node.LineComment) + e.event.foot_comment = []byte(node.FootComment) + e.emit() + + case ScalarNode: + value := node.Value + if !utf8.ValidString(value) { + if stag == binaryTag { + failf("explicitly tagged !!binary data must be base64-encoded") + } + if stag != "" { + failf("cannot marshal invalid UTF-8 data as %s", stag) + } + // It can't be encoded directly as YAML so use a binary tag + // and encode it as base64. + tag = binaryTag + value = encodeBase64(value) + } + + style := yaml_PLAIN_SCALAR_STYLE + switch { + case node.Style&DoubleQuotedStyle != 0: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + case node.Style&SingleQuotedStyle != 0: + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + case node.Style&LiteralStyle != 0: + style = yaml_LITERAL_SCALAR_STYLE + case node.Style&FoldedStyle != 0: + style = yaml_FOLDED_SCALAR_STYLE + case strings.Contains(value, "\n"): + style = yaml_LITERAL_SCALAR_STYLE + case forceQuoting: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + + e.emitScalar(value, node.Anchor, tag, style, []byte(node.HeadComment), []byte(node.LineComment), []byte(node.FootComment), []byte(tail)) + default: + failf("cannot encode node with unknown kind %d", node.Kind) + } +} diff --git a/vendor/gopkg.in/yaml.v3/go.mod b/vendor/gopkg.in/yaml.v3/go.mod new file mode 100644 index 000000000..f407ea321 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/go.mod @@ -0,0 +1,5 @@ +module "gopkg.in/yaml.v3" + +require ( + "gopkg.in/check.v1" v0.0.0-20161208181325-20d25e280405 +) diff --git a/vendor/gopkg.in/yaml.v3/parserc.go b/vendor/gopkg.in/yaml.v3/parserc.go new file mode 100644 index 000000000..ac66fccc0 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/parserc.go @@ -0,0 +1,1249 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "bytes" +) + +// The parser implements the following grammar: +// +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// implicit_document ::= block_node DOCUMENT-END* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// block_node_or_indentless_sequence ::= +// ALIAS +// | properties (block_content | indentless_block_sequence)? +// | block_content +// | indentless_block_sequence +// block_node ::= ALIAS +// | properties block_content? +// | block_content +// flow_node ::= ALIAS +// | properties flow_content? +// | flow_content +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// block_content ::= block_collection | flow_collection | SCALAR +// flow_content ::= flow_collection | SCALAR +// block_collection ::= block_sequence | block_mapping +// flow_collection ::= flow_sequence | flow_mapping +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// block_mapping ::= BLOCK-MAPPING_START +// ((KEY block_node_or_indentless_sequence?)? +// (VALUE block_node_or_indentless_sequence?)?)* +// BLOCK-END +// flow_sequence ::= FLOW-SEQUENCE-START +// (flow_sequence_entry FLOW-ENTRY)* +// flow_sequence_entry? +// FLOW-SEQUENCE-END +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// flow_mapping ::= FLOW-MAPPING-START +// (flow_mapping_entry FLOW-ENTRY)* +// flow_mapping_entry? +// FLOW-MAPPING-END +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + +// Peek the next token in the token queue. +func peek_token(parser *yaml_parser_t) *yaml_token_t { + if parser.token_available || yaml_parser_fetch_more_tokens(parser) { + token := &parser.tokens[parser.tokens_head] + yaml_parser_unfold_comments(parser, token) + return token + } + return nil +} + +// yaml_parser_unfold_comments walks through the comments queue and joins all +// comments behind the position of the provided token into the respective +// top-level comment slices in the parser. +func yaml_parser_unfold_comments(parser *yaml_parser_t, token *yaml_token_t) { + for parser.comments_head < len(parser.comments) && token.start_mark.index >= parser.comments[parser.comments_head].token_mark.index { + comment := &parser.comments[parser.comments_head] + if len(comment.head) > 0 { + if token.typ == yaml_BLOCK_END_TOKEN { + // No heads on ends, so keep comment.head for a follow up token. + break + } + if len(parser.head_comment) > 0 { + parser.head_comment = append(parser.head_comment, '\n') + } + parser.head_comment = append(parser.head_comment, comment.head...) + } + if len(comment.foot) > 0 { + if len(parser.foot_comment) > 0 { + parser.foot_comment = append(parser.foot_comment, '\n') + } + parser.foot_comment = append(parser.foot_comment, comment.foot...) + } + if len(comment.line) > 0 { + if len(parser.line_comment) > 0 { + parser.line_comment = append(parser.line_comment, '\n') + } + parser.line_comment = append(parser.line_comment, comment.line...) + } + *comment = yaml_comment_t{} + parser.comments_head++ + } +} + +// Remove the next token from the queue (must be called after peek_token). +func skip_token(parser *yaml_parser_t) { + parser.token_available = false + parser.tokens_parsed++ + parser.stream_end_produced = parser.tokens[parser.tokens_head].typ == yaml_STREAM_END_TOKEN + parser.tokens_head++ +} + +// Get the next event. +func yaml_parser_parse(parser *yaml_parser_t, event *yaml_event_t) bool { + // Erase the event object. + *event = yaml_event_t{} + + // No events after the end of the stream or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR || parser.state == yaml_PARSE_END_STATE { + return true + } + + // Generate the next event. + return yaml_parser_state_machine(parser, event) +} + +// Set parser error. +func yaml_parser_set_parser_error(parser *yaml_parser_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +func yaml_parser_set_parser_error_context(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +// State dispatcher. +func yaml_parser_state_machine(parser *yaml_parser_t, event *yaml_event_t) bool { + //trace("yaml_parser_state_machine", "state:", parser.state.String()) + + switch parser.state { + case yaml_PARSE_STREAM_START_STATE: + return yaml_parser_parse_stream_start(parser, event) + + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, true) + + case yaml_PARSE_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, false) + + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return yaml_parser_parse_document_content(parser, event) + + case yaml_PARSE_DOCUMENT_END_STATE: + return yaml_parser_parse_document_end(parser, event) + + case yaml_PARSE_BLOCK_NODE_STATE: + return yaml_parser_parse_node(parser, event, true, false) + + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return yaml_parser_parse_node(parser, event, true, true) + + case yaml_PARSE_FLOW_NODE_STATE: + return yaml_parser_parse_node(parser, event, false, false) + + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, true) + + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, false) + + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_indentless_sequence_entry(parser, event) + + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, true) + + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, false) + + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return yaml_parser_parse_block_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, true) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, false) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_key(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_end(parser, event) + + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, true) + + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, true) + + default: + panic("invalid parser state") + } +} + +// Parse the production: +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// ************ +func yaml_parser_parse_stream_start(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_STREAM_START_TOKEN { + return yaml_parser_set_parser_error(parser, "did not find expected <stream-start>", token.start_mark) + } + parser.state = yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + encoding: token.encoding, + } + skip_token(parser) + return true +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// * +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// ************************* +func yaml_parser_parse_document_start(parser *yaml_parser_t, event *yaml_event_t, implicit bool) bool { + + token := peek_token(parser) + if token == nil { + return false + } + + // Parse extra document end indicators. + if !implicit { + for token.typ == yaml_DOCUMENT_END_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + if implicit && token.typ != yaml_VERSION_DIRECTIVE_TOKEN && + token.typ != yaml_TAG_DIRECTIVE_TOKEN && + token.typ != yaml_DOCUMENT_START_TOKEN && + token.typ != yaml_STREAM_END_TOKEN { + // Parse an implicit document. + if !yaml_parser_process_directives(parser, nil, nil) { + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_BLOCK_NODE_STATE + + var head_comment []byte + if len(parser.head_comment) > 0 { + // [Go] Scan the header comment backwards, and if an empty line is found, break + // the header so the part before the last empty line goes into the + // document header, while the bottom of it goes into a follow up event. + for i := len(parser.head_comment) - 1; i > 0; i-- { + if parser.head_comment[i] == '\n' { + if i == len(parser.head_comment)-1 { + head_comment = parser.head_comment[:i] + parser.head_comment = parser.head_comment[i+1:] + break + } else if parser.head_comment[i-1] == '\n' { + head_comment = parser.head_comment[:i-1] + parser.head_comment = parser.head_comment[i+1:] + break + } + } + } + } + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + + head_comment: head_comment, + } + + } else if token.typ != yaml_STREAM_END_TOKEN { + // Parse an explicit document. + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + start_mark := token.start_mark + if !yaml_parser_process_directives(parser, &version_directive, &tag_directives) { + return false + } + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_DOCUMENT_START_TOKEN { + yaml_parser_set_parser_error(parser, + "did not find expected <document start>", token.start_mark) + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_DOCUMENT_CONTENT_STATE + end_mark := token.end_mark + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: false, + } + skip_token(parser) + + } else { + // Parse the stream end. + parser.state = yaml_PARSE_END_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + } + + return true +} + +// Parse the productions: +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// *********** +// +func yaml_parser_parse_document_content(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN || + token.typ == yaml_TAG_DIRECTIVE_TOKEN || + token.typ == yaml_DOCUMENT_START_TOKEN || + token.typ == yaml_DOCUMENT_END_TOKEN || + token.typ == yaml_STREAM_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + return yaml_parser_process_empty_scalar(parser, event, + token.start_mark) + } + return yaml_parser_parse_node(parser, event, true, false) +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// ************* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// +func yaml_parser_parse_document_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + start_mark := token.start_mark + end_mark := token.start_mark + + implicit := true + if token.typ == yaml_DOCUMENT_END_TOKEN { + end_mark = token.end_mark + skip_token(parser) + implicit = false + } + + parser.tag_directives = parser.tag_directives[:0] + + parser.state = yaml_PARSE_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + start_mark: start_mark, + end_mark: end_mark, + implicit: implicit, + } + yaml_parser_set_event_comments(parser, event) + if len(event.head_comment) > 0 && len(event.foot_comment) == 0 { + event.foot_comment = event.head_comment + event.head_comment = nil + } + return true +} + +func yaml_parser_set_event_comments(parser *yaml_parser_t, event *yaml_event_t) { + event.head_comment = parser.head_comment + event.line_comment = parser.line_comment + event.foot_comment = parser.foot_comment + parser.head_comment = nil + parser.line_comment = nil + parser.foot_comment = nil + parser.tail_comment = nil + parser.stem_comment = nil +} + +// Parse the productions: +// block_node_or_indentless_sequence ::= +// ALIAS +// ***** +// | properties (block_content | indentless_block_sequence)? +// ********** * +// | block_content | indentless_block_sequence +// * +// block_node ::= ALIAS +// ***** +// | properties block_content? +// ********** * +// | block_content +// * +// flow_node ::= ALIAS +// ***** +// | properties flow_content? +// ********** * +// | flow_content +// * +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// ************************* +// block_content ::= block_collection | flow_collection | SCALAR +// ****** +// flow_content ::= flow_collection | SCALAR +// ****** +func yaml_parser_parse_node(parser *yaml_parser_t, event *yaml_event_t, block, indentless_sequence bool) bool { + //defer trace("yaml_parser_parse_node", "block:", block, "indentless_sequence:", indentless_sequence)() + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_ALIAS_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + *event = yaml_event_t{ + typ: yaml_ALIAS_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + anchor: token.value, + } + yaml_parser_set_event_comments(parser, event) + skip_token(parser) + return true + } + + start_mark := token.start_mark + end_mark := token.start_mark + + var tag_token bool + var tag_handle, tag_suffix, anchor []byte + var tag_mark yaml_mark_t + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + start_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } else if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + start_mark = token.start_mark + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + var tag []byte + if tag_token { + if len(tag_handle) == 0 { + tag = tag_suffix + tag_suffix = nil + } else { + for i := range parser.tag_directives { + if bytes.Equal(parser.tag_directives[i].handle, tag_handle) { + tag = append([]byte(nil), parser.tag_directives[i].prefix...) + tag = append(tag, tag_suffix...) + break + } + } + if len(tag) == 0 { + yaml_parser_set_parser_error_context(parser, + "while parsing a node", start_mark, + "found undefined tag handle", tag_mark) + return false + } + } + } + + implicit := len(tag) == 0 + if indentless_sequence && token.typ == yaml_BLOCK_ENTRY_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + return true + } + if token.typ == yaml_SCALAR_TOKEN { + var plain_implicit, quoted_implicit bool + end_mark = token.end_mark + if (len(tag) == 0 && token.style == yaml_PLAIN_SCALAR_STYLE) || (len(tag) == 1 && tag[0] == '!') { + plain_implicit = true + } else if len(tag) == 0 { + quoted_implicit = true + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + value: token.value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(token.style), + } + yaml_parser_set_event_comments(parser, event) + skip_token(parser) + return true + } + if token.typ == yaml_FLOW_SEQUENCE_START_TOKEN { + // [Go] Some of the events below can be merged as they differ only on style. + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_SEQUENCE_STYLE), + } + yaml_parser_set_event_comments(parser, event) + return true + } + if token.typ == yaml_FLOW_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + yaml_parser_set_event_comments(parser, event) + return true + } + if block && token.typ == yaml_BLOCK_SEQUENCE_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + if parser.stem_comment != nil { + event.head_comment = parser.stem_comment + parser.stem_comment = nil + } + return true + } + if block && token.typ == yaml_BLOCK_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_MAPPING_STYLE), + } + if parser.stem_comment != nil { + event.head_comment = parser.stem_comment + parser.stem_comment = nil + } + return true + } + if len(anchor) > 0 || len(tag) > 0 { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + quoted_implicit: false, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true + } + + context := "while parsing a flow node" + if block { + context = "while parsing a block node" + } + yaml_parser_set_parser_error_context(parser, context, start_mark, + "did not find expected node content", token.start_mark) + return false +} + +// Parse the productions: +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// ******************** *********** * ********* +// +func yaml_parser_parse_block_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + prior_head_len := len(parser.head_comment) + skip_token(parser) + yaml_parser_split_stem_comment(parser, prior_head_len) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } else { + parser.state = yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } + if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block collection", context_mark, + "did not find expected '-' indicator", token.start_mark) +} + +// Parse the productions: +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// *********** * +func yaml_parser_parse_indentless_sequence_entry(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + prior_head_len := len(parser.head_comment) + skip_token(parser) + yaml_parser_split_stem_comment(parser, prior_head_len) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && + token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be token.end_mark? + } + return true +} + +// Split stem comment from head comment. +// +// When a sequence or map is found under a sequence entry, the former head comment +// is assigned to the underlying sequence or map as a whole, not the individual +// sequence or map entry as would be expected otherwise. To handle this case the +// previous head comment is moved aside as the stem comment. +func yaml_parser_split_stem_comment(parser *yaml_parser_t, stem_len int) { + if stem_len == 0 { + return + } + + token := peek_token(parser) + if token.typ != yaml_BLOCK_SEQUENCE_START_TOKEN && token.typ != yaml_BLOCK_MAPPING_START_TOKEN { + return + } + + parser.stem_comment = parser.head_comment[:stem_len] + if len(parser.head_comment) == stem_len { + parser.head_comment = nil + } else { + // Copy suffix to prevent very strange bugs if someone ever appends + // further bytes to the prefix in the stem_comment slice above. + parser.head_comment = append([]byte(nil), parser.head_comment[stem_len+1:]...) + } +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// ******************* +// ((KEY block_node_or_indentless_sequence?)? +// *** * +// (VALUE block_node_or_indentless_sequence?)?)* +// +// BLOCK-END +// ********* +// +func yaml_parser_parse_block_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + // [Go] A tail comment was left from the prior mapping value processed. Emit an event + // as it needs to be processed with that value and not the following key. + if len(parser.tail_comment) > 0 { + *event = yaml_event_t{ + typ: yaml_TAIL_COMMENT_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + foot_comment: parser.tail_comment, + } + parser.tail_comment = nil + return true + } + + if token.typ == yaml_KEY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } else { + parser.state = yaml_PARSE_BLOCK_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } else if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + yaml_parser_set_event_comments(parser, event) + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block mapping", context_mark, + "did not find expected key", token.start_mark) +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// +// ((KEY block_node_or_indentless_sequence?)? +// +// (VALUE block_node_or_indentless_sequence?)?)* +// ***** * +// BLOCK-END +// +// +func yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence ::= FLOW-SEQUENCE-START +// ******************* +// (flow_sequence_entry FLOW-ENTRY)* +// * ********** +// flow_sequence_entry? +// * +// FLOW-SEQUENCE-END +// ***************** +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * +// +func yaml_parser_parse_flow_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow sequence", context_mark, + "did not find expected ',' or ']'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + implicit: true, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + skip_token(parser) + return true + } else if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + yaml_parser_set_event_comments(parser, event) + + skip_token(parser) + return true +} + +// +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// *** * +// +func yaml_parser_parse_flow_sequence_entry_mapping_key(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + mark := token.end_mark + skip_token(parser) + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// ***** * +// +func yaml_parser_parse_flow_sequence_entry_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * +// +func yaml_parser_parse_flow_sequence_entry_mapping_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be end_mark? + } + return true +} + +// Parse the productions: +// flow_mapping ::= FLOW-MAPPING-START +// ****************** +// (flow_mapping_entry FLOW-ENTRY)* +// * ********** +// flow_mapping_entry? +// ****************** +// FLOW-MAPPING-END +// **************** +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * *** * +// +func yaml_parser_parse_flow_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow mapping", context_mark, + "did not find expected ',' or '}'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } else { + parser.state = yaml_PARSE_FLOW_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + } else if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + yaml_parser_set_event_comments(parser, event) + skip_token(parser) + return true +} + +// Parse the productions: +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * ***** * +// +func yaml_parser_parse_flow_mapping_value(parser *yaml_parser_t, event *yaml_event_t, empty bool) bool { + token := peek_token(parser) + if token == nil { + return false + } + if empty { + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Generate an empty scalar event. +func yaml_parser_process_empty_scalar(parser *yaml_parser_t, event *yaml_event_t, mark yaml_mark_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: mark, + end_mark: mark, + value: nil, // Empty + implicit: true, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true +} + +var default_tag_directives = []yaml_tag_directive_t{ + {[]byte("!"), []byte("!")}, + {[]byte("!!"), []byte("tag:yaml.org,2002:")}, +} + +// Parse directives. +func yaml_parser_process_directives(parser *yaml_parser_t, + version_directive_ref **yaml_version_directive_t, + tag_directives_ref *[]yaml_tag_directive_t) bool { + + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + + token := peek_token(parser) + if token == nil { + return false + } + + for token.typ == yaml_VERSION_DIRECTIVE_TOKEN || token.typ == yaml_TAG_DIRECTIVE_TOKEN { + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN { + if version_directive != nil { + yaml_parser_set_parser_error(parser, + "found duplicate %YAML directive", token.start_mark) + return false + } + if token.major != 1 || token.minor != 1 { + yaml_parser_set_parser_error(parser, + "found incompatible YAML document", token.start_mark) + return false + } + version_directive = &yaml_version_directive_t{ + major: token.major, + minor: token.minor, + } + } else if token.typ == yaml_TAG_DIRECTIVE_TOKEN { + value := yaml_tag_directive_t{ + handle: token.value, + prefix: token.prefix, + } + if !yaml_parser_append_tag_directive(parser, value, false, token.start_mark) { + return false + } + tag_directives = append(tag_directives, value) + } + + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + + for i := range default_tag_directives { + if !yaml_parser_append_tag_directive(parser, default_tag_directives[i], true, token.start_mark) { + return false + } + } + + if version_directive_ref != nil { + *version_directive_ref = version_directive + } + if tag_directives_ref != nil { + *tag_directives_ref = tag_directives + } + return true +} + +// Append a tag directive to the directives stack. +func yaml_parser_append_tag_directive(parser *yaml_parser_t, value yaml_tag_directive_t, allow_duplicates bool, mark yaml_mark_t) bool { + for i := range parser.tag_directives { + if bytes.Equal(value.handle, parser.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_parser_set_parser_error(parser, "found duplicate %TAG directive", mark) + } + } + + // [Go] I suspect the copy is unnecessary. This was likely done + // because there was no way to track ownership of the data. + value_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(value_copy.handle, value.handle) + copy(value_copy.prefix, value.prefix) + parser.tag_directives = append(parser.tag_directives, value_copy) + return true +} diff --git a/vendor/gopkg.in/yaml.v3/readerc.go b/vendor/gopkg.in/yaml.v3/readerc.go new file mode 100644 index 000000000..b7de0a89c --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/readerc.go @@ -0,0 +1,434 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "io" +) + +// Set the reader error and return 0. +func yaml_parser_set_reader_error(parser *yaml_parser_t, problem string, offset int, value int) bool { + parser.error = yaml_READER_ERROR + parser.problem = problem + parser.problem_offset = offset + parser.problem_value = value + return false +} + +// Byte order marks. +const ( + bom_UTF8 = "\xef\xbb\xbf" + bom_UTF16LE = "\xff\xfe" + bom_UTF16BE = "\xfe\xff" +) + +// Determine the input stream encoding by checking the BOM symbol. If no BOM is +// found, the UTF-8 encoding is assumed. Return 1 on success, 0 on failure. +func yaml_parser_determine_encoding(parser *yaml_parser_t) bool { + // Ensure that we had enough bytes in the raw buffer. + for !parser.eof && len(parser.raw_buffer)-parser.raw_buffer_pos < 3 { + if !yaml_parser_update_raw_buffer(parser) { + return false + } + } + + // Determine the encoding. + buf := parser.raw_buffer + pos := parser.raw_buffer_pos + avail := len(buf) - pos + if avail >= 2 && buf[pos] == bom_UTF16LE[0] && buf[pos+1] == bom_UTF16LE[1] { + parser.encoding = yaml_UTF16LE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 2 && buf[pos] == bom_UTF16BE[0] && buf[pos+1] == bom_UTF16BE[1] { + parser.encoding = yaml_UTF16BE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 3 && buf[pos] == bom_UTF8[0] && buf[pos+1] == bom_UTF8[1] && buf[pos+2] == bom_UTF8[2] { + parser.encoding = yaml_UTF8_ENCODING + parser.raw_buffer_pos += 3 + parser.offset += 3 + } else { + parser.encoding = yaml_UTF8_ENCODING + } + return true +} + +// Update the raw buffer. +func yaml_parser_update_raw_buffer(parser *yaml_parser_t) bool { + size_read := 0 + + // Return if the raw buffer is full. + if parser.raw_buffer_pos == 0 && len(parser.raw_buffer) == cap(parser.raw_buffer) { + return true + } + + // Return on EOF. + if parser.eof { + return true + } + + // Move the remaining bytes in the raw buffer to the beginning. + if parser.raw_buffer_pos > 0 && parser.raw_buffer_pos < len(parser.raw_buffer) { + copy(parser.raw_buffer, parser.raw_buffer[parser.raw_buffer_pos:]) + } + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)-parser.raw_buffer_pos] + parser.raw_buffer_pos = 0 + + // Call the read handler to fill the buffer. + size_read, err := parser.read_handler(parser, parser.raw_buffer[len(parser.raw_buffer):cap(parser.raw_buffer)]) + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)+size_read] + if err == io.EOF { + parser.eof = true + } else if err != nil { + return yaml_parser_set_reader_error(parser, "input error: "+err.Error(), parser.offset, -1) + } + return true +} + +// Ensure that the buffer contains at least `length` characters. +// Return true on success, false on failure. +// +// The length is supposed to be significantly less that the buffer size. +func yaml_parser_update_buffer(parser *yaml_parser_t, length int) bool { + if parser.read_handler == nil { + panic("read handler must be set") + } + + // [Go] This function was changed to guarantee the requested length size at EOF. + // The fact we need to do this is pretty awful, but the description above implies + // for that to be the case, and there are tests + + // If the EOF flag is set and the raw buffer is empty, do nothing. + if parser.eof && parser.raw_buffer_pos == len(parser.raw_buffer) { + // [Go] ACTUALLY! Read the documentation of this function above. + // This is just broken. To return true, we need to have the + // given length in the buffer. Not doing that means every single + // check that calls this function to make sure the buffer has a + // given length is Go) panicking; or C) accessing invalid memory. + //return true + } + + // Return if the buffer contains enough characters. + if parser.unread >= length { + return true + } + + // Determine the input encoding if it is not known yet. + if parser.encoding == yaml_ANY_ENCODING { + if !yaml_parser_determine_encoding(parser) { + return false + } + } + + // Move the unread characters to the beginning of the buffer. + buffer_len := len(parser.buffer) + if parser.buffer_pos > 0 && parser.buffer_pos < buffer_len { + copy(parser.buffer, parser.buffer[parser.buffer_pos:]) + buffer_len -= parser.buffer_pos + parser.buffer_pos = 0 + } else if parser.buffer_pos == buffer_len { + buffer_len = 0 + parser.buffer_pos = 0 + } + + // Open the whole buffer for writing, and cut it before returning. + parser.buffer = parser.buffer[:cap(parser.buffer)] + + // Fill the buffer until it has enough characters. + first := true + for parser.unread < length { + + // Fill the raw buffer if necessary. + if !first || parser.raw_buffer_pos == len(parser.raw_buffer) { + if !yaml_parser_update_raw_buffer(parser) { + parser.buffer = parser.buffer[:buffer_len] + return false + } + } + first = false + + // Decode the raw buffer. + inner: + for parser.raw_buffer_pos != len(parser.raw_buffer) { + var value rune + var width int + + raw_unread := len(parser.raw_buffer) - parser.raw_buffer_pos + + // Decode the next character. + switch parser.encoding { + case yaml_UTF8_ENCODING: + // Decode a UTF-8 character. Check RFC 3629 + // (http://www.ietf.org/rfc/rfc3629.txt) for more details. + // + // The following table (taken from the RFC) is used for + // decoding. + // + // Char. number range | UTF-8 octet sequence + // (hexadecimal) | (binary) + // --------------------+------------------------------------ + // 0000 0000-0000 007F | 0xxxxxxx + // 0000 0080-0000 07FF | 110xxxxx 10xxxxxx + // 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx + // 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + // + // Additionally, the characters in the range 0xD800-0xDFFF + // are prohibited as they are reserved for use with UTF-16 + // surrogate pairs. + + // Determine the length of the UTF-8 sequence. + octet := parser.raw_buffer[parser.raw_buffer_pos] + switch { + case octet&0x80 == 0x00: + width = 1 + case octet&0xE0 == 0xC0: + width = 2 + case octet&0xF0 == 0xE0: + width = 3 + case octet&0xF8 == 0xF0: + width = 4 + default: + // The leading octet is invalid. + return yaml_parser_set_reader_error(parser, + "invalid leading UTF-8 octet", + parser.offset, int(octet)) + } + + // Check if the raw buffer contains an incomplete character. + if width > raw_unread { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-8 octet sequence", + parser.offset, -1) + } + break inner + } + + // Decode the leading octet. + switch { + case octet&0x80 == 0x00: + value = rune(octet & 0x7F) + case octet&0xE0 == 0xC0: + value = rune(octet & 0x1F) + case octet&0xF0 == 0xE0: + value = rune(octet & 0x0F) + case octet&0xF8 == 0xF0: + value = rune(octet & 0x07) + default: + value = 0 + } + + // Check and decode the trailing octets. + for k := 1; k < width; k++ { + octet = parser.raw_buffer[parser.raw_buffer_pos+k] + + // Check if the octet is valid. + if (octet & 0xC0) != 0x80 { + return yaml_parser_set_reader_error(parser, + "invalid trailing UTF-8 octet", + parser.offset+k, int(octet)) + } + + // Decode the octet. + value = (value << 6) + rune(octet&0x3F) + } + + // Check the length of the sequence against the value. + switch { + case width == 1: + case width == 2 && value >= 0x80: + case width == 3 && value >= 0x800: + case width == 4 && value >= 0x10000: + default: + return yaml_parser_set_reader_error(parser, + "invalid length of a UTF-8 sequence", + parser.offset, -1) + } + + // Check the range of the value. + if value >= 0xD800 && value <= 0xDFFF || value > 0x10FFFF { + return yaml_parser_set_reader_error(parser, + "invalid Unicode character", + parser.offset, int(value)) + } + + case yaml_UTF16LE_ENCODING, yaml_UTF16BE_ENCODING: + var low, high int + if parser.encoding == yaml_UTF16LE_ENCODING { + low, high = 0, 1 + } else { + low, high = 1, 0 + } + + // The UTF-16 encoding is not as simple as one might + // naively think. Check RFC 2781 + // (http://www.ietf.org/rfc/rfc2781.txt). + // + // Normally, two subsequent bytes describe a Unicode + // character. However a special technique (called a + // surrogate pair) is used for specifying character + // values larger than 0xFFFF. + // + // A surrogate pair consists of two pseudo-characters: + // high surrogate area (0xD800-0xDBFF) + // low surrogate area (0xDC00-0xDFFF) + // + // The following formulas are used for decoding + // and encoding characters using surrogate pairs: + // + // U = U' + 0x10000 (0x01 00 00 <= U <= 0x10 FF FF) + // U' = yyyyyyyyyyxxxxxxxxxx (0 <= U' <= 0x0F FF FF) + // W1 = 110110yyyyyyyyyy + // W2 = 110111xxxxxxxxxx + // + // where U is the character value, W1 is the high surrogate + // area, W2 is the low surrogate area. + + // Check for incomplete UTF-16 character. + if raw_unread < 2 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 character", + parser.offset, -1) + } + break inner + } + + // Get the character. + value = rune(parser.raw_buffer[parser.raw_buffer_pos+low]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high]) << 8) + + // Check for unexpected low surrogate area. + if value&0xFC00 == 0xDC00 { + return yaml_parser_set_reader_error(parser, + "unexpected low surrogate area", + parser.offset, int(value)) + } + + // Check for a high surrogate area. + if value&0xFC00 == 0xD800 { + width = 4 + + // Check for incomplete surrogate pair. + if raw_unread < 4 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 surrogate pair", + parser.offset, -1) + } + break inner + } + + // Get the next character. + value2 := rune(parser.raw_buffer[parser.raw_buffer_pos+low+2]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high+2]) << 8) + + // Check for a low surrogate area. + if value2&0xFC00 != 0xDC00 { + return yaml_parser_set_reader_error(parser, + "expected low surrogate area", + parser.offset+2, int(value2)) + } + + // Generate the value of the surrogate pair. + value = 0x10000 + ((value & 0x3FF) << 10) + (value2 & 0x3FF) + } else { + width = 2 + } + + default: + panic("impossible") + } + + // Check if the character is in the allowed range: + // #x9 | #xA | #xD | [#x20-#x7E] (8 bit) + // | #x85 | [#xA0-#xD7FF] | [#xE000-#xFFFD] (16 bit) + // | [#x10000-#x10FFFF] (32 bit) + switch { + case value == 0x09: + case value == 0x0A: + case value == 0x0D: + case value >= 0x20 && value <= 0x7E: + case value == 0x85: + case value >= 0xA0 && value <= 0xD7FF: + case value >= 0xE000 && value <= 0xFFFD: + case value >= 0x10000 && value <= 0x10FFFF: + default: + return yaml_parser_set_reader_error(parser, + "control characters are not allowed", + parser.offset, int(value)) + } + + // Move the raw pointers. + parser.raw_buffer_pos += width + parser.offset += width + + // Finally put the character into the buffer. + if value <= 0x7F { + // 0000 0000-0000 007F . 0xxxxxxx + parser.buffer[buffer_len+0] = byte(value) + buffer_len += 1 + } else if value <= 0x7FF { + // 0000 0080-0000 07FF . 110xxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xC0 + (value >> 6)) + parser.buffer[buffer_len+1] = byte(0x80 + (value & 0x3F)) + buffer_len += 2 + } else if value <= 0xFFFF { + // 0000 0800-0000 FFFF . 1110xxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xE0 + (value >> 12)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + (value & 0x3F)) + buffer_len += 3 + } else { + // 0001 0000-0010 FFFF . 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xF0 + (value >> 18)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 12) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+3] = byte(0x80 + (value & 0x3F)) + buffer_len += 4 + } + + parser.unread++ + } + + // On EOF, put NUL into the buffer and return. + if parser.eof { + parser.buffer[buffer_len] = 0 + buffer_len++ + parser.unread++ + break + } + } + // [Go] Read the documentation of this function above. To return true, + // we need to have the given length in the buffer. Not doing that means + // every single check that calls this function to make sure the buffer + // has a given length is Go) panicking; or C) accessing invalid memory. + // This happens here due to the EOF above breaking early. + for buffer_len < length { + parser.buffer[buffer_len] = 0 + buffer_len++ + } + parser.buffer = parser.buffer[:buffer_len] + return true +} diff --git a/vendor/gopkg.in/yaml.v3/resolve.go b/vendor/gopkg.in/yaml.v3/resolve.go new file mode 100644 index 000000000..64ae88805 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/resolve.go @@ -0,0 +1,326 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yaml + +import ( + "encoding/base64" + "math" + "regexp" + "strconv" + "strings" + "time" +) + +type resolveMapItem struct { + value interface{} + tag string +} + +var resolveTable = make([]byte, 256) +var resolveMap = make(map[string]resolveMapItem) + +func init() { + t := resolveTable + t[int('+')] = 'S' // Sign + t[int('-')] = 'S' + for _, c := range "0123456789" { + t[int(c)] = 'D' // Digit + } + for _, c := range "yYnNtTfFoO~" { + t[int(c)] = 'M' // In map + } + t[int('.')] = '.' // Float (potentially in map) + + var resolveMapList = []struct { + v interface{} + tag string + l []string + }{ + {true, boolTag, []string{"true", "True", "TRUE"}}, + {false, boolTag, []string{"false", "False", "FALSE"}}, + {nil, nullTag, []string{"", "~", "null", "Null", "NULL"}}, + {math.NaN(), floatTag, []string{".nan", ".NaN", ".NAN"}}, + {math.Inf(+1), floatTag, []string{".inf", ".Inf", ".INF"}}, + {math.Inf(+1), floatTag, []string{"+.inf", "+.Inf", "+.INF"}}, + {math.Inf(-1), floatTag, []string{"-.inf", "-.Inf", "-.INF"}}, + {"<<", mergeTag, []string{"<<"}}, + } + + m := resolveMap + for _, item := range resolveMapList { + for _, s := range item.l { + m[s] = resolveMapItem{item.v, item.tag} + } + } +} + +const ( + nullTag = "!!null" + boolTag = "!!bool" + strTag = "!!str" + intTag = "!!int" + floatTag = "!!float" + timestampTag = "!!timestamp" + seqTag = "!!seq" + mapTag = "!!map" + binaryTag = "!!binary" + mergeTag = "!!merge" +) + +var longTags = make(map[string]string) +var shortTags = make(map[string]string) + +func init() { + for _, stag := range []string{nullTag, boolTag, strTag, intTag, floatTag, timestampTag, seqTag, mapTag, binaryTag, mergeTag} { + ltag := longTag(stag) + longTags[stag] = ltag + shortTags[ltag] = stag + } +} + +const longTagPrefix = "tag:yaml.org,2002:" + +func shortTag(tag string) string { + if strings.HasPrefix(tag, longTagPrefix) { + if stag, ok := shortTags[tag]; ok { + return stag + } + return "!!" + tag[len(longTagPrefix):] + } + return tag +} + +func longTag(tag string) string { + if strings.HasPrefix(tag, "!!") { + if ltag, ok := longTags[tag]; ok { + return ltag + } + return longTagPrefix + tag[2:] + } + return tag +} + +func resolvableTag(tag string) bool { + switch tag { + case "", strTag, boolTag, intTag, floatTag, nullTag, timestampTag: + return true + } + return false +} + +var yamlStyleFloat = regexp.MustCompile(`^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$`) + +func resolve(tag string, in string) (rtag string, out interface{}) { + tag = shortTag(tag) + if !resolvableTag(tag) { + return tag, in + } + + defer func() { + switch tag { + case "", rtag, strTag, binaryTag: + return + case floatTag: + if rtag == intTag { + switch v := out.(type) { + case int64: + rtag = floatTag + out = float64(v) + return + case int: + rtag = floatTag + out = float64(v) + return + } + } + } + failf("cannot decode %s `%s` as a %s", shortTag(rtag), in, shortTag(tag)) + }() + + // Any data is accepted as a !!str or !!binary. + // Otherwise, the prefix is enough of a hint about what it might be. + hint := byte('N') + if in != "" { + hint = resolveTable[in[0]] + } + if hint != 0 && tag != strTag && tag != binaryTag { + // Handle things we can lookup in a map. + if item, ok := resolveMap[in]; ok { + return item.tag, item.value + } + + // Base 60 floats are a bad idea, were dropped in YAML 1.2, and + // are purposefully unsupported here. They're still quoted on + // the way out for compatibility with other parser, though. + + switch hint { + case 'M': + // We've already checked the map above. + + case '.': + // Not in the map, so maybe a normal float. + floatv, err := strconv.ParseFloat(in, 64) + if err == nil { + return floatTag, floatv + } + + case 'D', 'S': + // Int, float, or timestamp. + // Only try values as a timestamp if the value is unquoted or there's an explicit + // !!timestamp tag. + if tag == "" || tag == timestampTag { + t, ok := parseTimestamp(in) + if ok { + return timestampTag, t + } + } + + plain := strings.Replace(in, "_", "", -1) + intv, err := strconv.ParseInt(plain, 0, 64) + if err == nil { + if intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + uintv, err := strconv.ParseUint(plain, 0, 64) + if err == nil { + return intTag, uintv + } + if yamlStyleFloat.MatchString(plain) { + floatv, err := strconv.ParseFloat(plain, 64) + if err == nil { + return floatTag, floatv + } + } + if strings.HasPrefix(plain, "0b") { + intv, err := strconv.ParseInt(plain[2:], 2, 64) + if err == nil { + if intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + uintv, err := strconv.ParseUint(plain[2:], 2, 64) + if err == nil { + return intTag, uintv + } + } else if strings.HasPrefix(plain, "-0b") { + intv, err := strconv.ParseInt("-"+plain[3:], 2, 64) + if err == nil { + if true || intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + } + // Octals as introduced in version 1.2 of the spec. + // Octals from the 1.1 spec, spelled as 0777, are still + // decoded by default in v3 as well for compatibility. + // May be dropped in v4 depending on how usage evolves. + if strings.HasPrefix(plain, "0o") { + intv, err := strconv.ParseInt(plain[2:], 8, 64) + if err == nil { + if intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + uintv, err := strconv.ParseUint(plain[2:], 8, 64) + if err == nil { + return intTag, uintv + } + } else if strings.HasPrefix(plain, "-0o") { + intv, err := strconv.ParseInt("-"+plain[3:], 8, 64) + if err == nil { + if true || intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + } + default: + panic("internal error: missing handler for resolver table: " + string(rune(hint)) + " (with " + in + ")") + } + } + return strTag, in +} + +// encodeBase64 encodes s as base64 that is broken up into multiple lines +// as appropriate for the resulting length. +func encodeBase64(s string) string { + const lineLen = 70 + encLen := base64.StdEncoding.EncodedLen(len(s)) + lines := encLen/lineLen + 1 + buf := make([]byte, encLen*2+lines) + in := buf[0:encLen] + out := buf[encLen:] + base64.StdEncoding.Encode(in, []byte(s)) + k := 0 + for i := 0; i < len(in); i += lineLen { + j := i + lineLen + if j > len(in) { + j = len(in) + } + k += copy(out[k:], in[i:j]) + if lines > 1 { + out[k] = '\n' + k++ + } + } + return string(out[:k]) +} + +// This is a subset of the formats allowed by the regular expression +// defined at http://yaml.org/type/timestamp.html. +var allowedTimestampFormats = []string{ + "2006-1-2T15:4:5.999999999Z07:00", // RCF3339Nano with short date fields. + "2006-1-2t15:4:5.999999999Z07:00", // RFC3339Nano with short date fields and lower-case "t". + "2006-1-2 15:4:5.999999999", // space separated with no time zone + "2006-1-2", // date only + // Notable exception: time.Parse cannot handle: "2001-12-14 21:59:43.10 -5" + // from the set of examples. +} + +// parseTimestamp parses s as a timestamp string and +// returns the timestamp and reports whether it succeeded. +// Timestamp formats are defined at http://yaml.org/type/timestamp.html +func parseTimestamp(s string) (time.Time, bool) { + // TODO write code to check all the formats supported by + // http://yaml.org/type/timestamp.html instead of using time.Parse. + + // Quick check: all date formats start with YYYY-. + i := 0 + for ; i < len(s); i++ { + if c := s[i]; c < '0' || c > '9' { + break + } + } + if i != 4 || i == len(s) || s[i] != '-' { + return time.Time{}, false + } + for _, format := range allowedTimestampFormats { + if t, err := time.Parse(format, s); err == nil { + return t, true + } + } + return time.Time{}, false +} diff --git a/vendor/gopkg.in/yaml.v3/scannerc.go b/vendor/gopkg.in/yaml.v3/scannerc.go new file mode 100644 index 000000000..ca0070108 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/scannerc.go @@ -0,0 +1,3038 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "bytes" + "fmt" +) + +// Introduction +// ************ +// +// The following notes assume that you are familiar with the YAML specification +// (http://yaml.org/spec/1.2/spec.html). We mostly follow it, although in +// some cases we are less restrictive that it requires. +// +// The process of transforming a YAML stream into a sequence of events is +// divided on two steps: Scanning and Parsing. +// +// The Scanner transforms the input stream into a sequence of tokens, while the +// parser transform the sequence of tokens produced by the Scanner into a +// sequence of parsing events. +// +// The Scanner is rather clever and complicated. The Parser, on the contrary, +// is a straightforward implementation of a recursive-descendant parser (or, +// LL(1) parser, as it is usually called). +// +// Actually there are two issues of Scanning that might be called "clever", the +// rest is quite straightforward. The issues are "block collection start" and +// "simple keys". Both issues are explained below in details. +// +// Here the Scanning step is explained and implemented. We start with the list +// of all the tokens produced by the Scanner together with short descriptions. +// +// Now, tokens: +// +// STREAM-START(encoding) # The stream start. +// STREAM-END # The stream end. +// VERSION-DIRECTIVE(major,minor) # The '%YAML' directive. +// TAG-DIRECTIVE(handle,prefix) # The '%TAG' directive. +// DOCUMENT-START # '---' +// DOCUMENT-END # '...' +// BLOCK-SEQUENCE-START # Indentation increase denoting a block +// BLOCK-MAPPING-START # sequence or a block mapping. +// BLOCK-END # Indentation decrease. +// FLOW-SEQUENCE-START # '[' +// FLOW-SEQUENCE-END # ']' +// BLOCK-SEQUENCE-START # '{' +// BLOCK-SEQUENCE-END # '}' +// BLOCK-ENTRY # '-' +// FLOW-ENTRY # ',' +// KEY # '?' or nothing (simple keys). +// VALUE # ':' +// ALIAS(anchor) # '*anchor' +// ANCHOR(anchor) # '&anchor' +// TAG(handle,suffix) # '!handle!suffix' +// SCALAR(value,style) # A scalar. +// +// The following two tokens are "virtual" tokens denoting the beginning and the +// end of the stream: +// +// STREAM-START(encoding) +// STREAM-END +// +// We pass the information about the input stream encoding with the +// STREAM-START token. +// +// The next two tokens are responsible for tags: +// +// VERSION-DIRECTIVE(major,minor) +// TAG-DIRECTIVE(handle,prefix) +// +// Example: +// +// %YAML 1.1 +// %TAG ! !foo +// %TAG !yaml! tag:yaml.org,2002: +// --- +// +// The correspoding sequence of tokens: +// +// STREAM-START(utf-8) +// VERSION-DIRECTIVE(1,1) +// TAG-DIRECTIVE("!","!foo") +// TAG-DIRECTIVE("!yaml","tag:yaml.org,2002:") +// DOCUMENT-START +// STREAM-END +// +// Note that the VERSION-DIRECTIVE and TAG-DIRECTIVE tokens occupy a whole +// line. +// +// The document start and end indicators are represented by: +// +// DOCUMENT-START +// DOCUMENT-END +// +// Note that if a YAML stream contains an implicit document (without '---' +// and '...' indicators), no DOCUMENT-START and DOCUMENT-END tokens will be +// produced. +// +// In the following examples, we present whole documents together with the +// produced tokens. +// +// 1. An implicit document: +// +// 'a scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// STREAM-END +// +// 2. An explicit document: +// +// --- +// 'a scalar' +// ... +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// SCALAR("a scalar",single-quoted) +// DOCUMENT-END +// STREAM-END +// +// 3. Several documents in a stream: +// +// 'a scalar' +// --- +// 'another scalar' +// --- +// 'yet another scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// DOCUMENT-START +// SCALAR("another scalar",single-quoted) +// DOCUMENT-START +// SCALAR("yet another scalar",single-quoted) +// STREAM-END +// +// We have already introduced the SCALAR token above. The following tokens are +// used to describe aliases, anchors, tag, and scalars: +// +// ALIAS(anchor) +// ANCHOR(anchor) +// TAG(handle,suffix) +// SCALAR(value,style) +// +// The following series of examples illustrate the usage of these tokens: +// +// 1. A recursive sequence: +// +// &A [ *A ] +// +// Tokens: +// +// STREAM-START(utf-8) +// ANCHOR("A") +// FLOW-SEQUENCE-START +// ALIAS("A") +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A tagged scalar: +// +// !!float "3.14" # A good approximation. +// +// Tokens: +// +// STREAM-START(utf-8) +// TAG("!!","float") +// SCALAR("3.14",double-quoted) +// STREAM-END +// +// 3. Various scalar styles: +// +// --- # Implicit empty plain scalars do not produce tokens. +// --- a plain scalar +// --- 'a single-quoted scalar' +// --- "a double-quoted scalar" +// --- |- +// a literal scalar +// --- >- +// a folded +// scalar +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// DOCUMENT-START +// SCALAR("a plain scalar",plain) +// DOCUMENT-START +// SCALAR("a single-quoted scalar",single-quoted) +// DOCUMENT-START +// SCALAR("a double-quoted scalar",double-quoted) +// DOCUMENT-START +// SCALAR("a literal scalar",literal) +// DOCUMENT-START +// SCALAR("a folded scalar",folded) +// STREAM-END +// +// Now it's time to review collection-related tokens. We will start with +// flow collections: +// +// FLOW-SEQUENCE-START +// FLOW-SEQUENCE-END +// FLOW-MAPPING-START +// FLOW-MAPPING-END +// FLOW-ENTRY +// KEY +// VALUE +// +// The tokens FLOW-SEQUENCE-START, FLOW-SEQUENCE-END, FLOW-MAPPING-START, and +// FLOW-MAPPING-END represent the indicators '[', ']', '{', and '}' +// correspondingly. FLOW-ENTRY represent the ',' indicator. Finally the +// indicators '?' and ':', which are used for denoting mapping keys and values, +// are represented by the KEY and VALUE tokens. +// +// The following examples show flow collections: +// +// 1. A flow sequence: +// +// [item 1, item 2, item 3] +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-SEQUENCE-START +// SCALAR("item 1",plain) +// FLOW-ENTRY +// SCALAR("item 2",plain) +// FLOW-ENTRY +// SCALAR("item 3",plain) +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A flow mapping: +// +// { +// a simple key: a value, # Note that the KEY token is produced. +// ? a complex key: another value, +// } +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// FLOW-ENTRY +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// FLOW-ENTRY +// FLOW-MAPPING-END +// STREAM-END +// +// A simple key is a key which is not denoted by the '?' indicator. Note that +// the Scanner still produce the KEY token whenever it encounters a simple key. +// +// For scanning block collections, the following tokens are used (note that we +// repeat KEY and VALUE here): +// +// BLOCK-SEQUENCE-START +// BLOCK-MAPPING-START +// BLOCK-END +// BLOCK-ENTRY +// KEY +// VALUE +// +// The tokens BLOCK-SEQUENCE-START and BLOCK-MAPPING-START denote indentation +// increase that precedes a block collection (cf. the INDENT token in Python). +// The token BLOCK-END denote indentation decrease that ends a block collection +// (cf. the DEDENT token in Python). However YAML has some syntax pecularities +// that makes detections of these tokens more complex. +// +// The tokens BLOCK-ENTRY, KEY, and VALUE are used to represent the indicators +// '-', '?', and ':' correspondingly. +// +// The following examples show how the tokens BLOCK-SEQUENCE-START, +// BLOCK-MAPPING-START, and BLOCK-END are emitted by the Scanner: +// +// 1. Block sequences: +// +// - item 1 +// - item 2 +// - +// - item 3.1 +// - item 3.2 +// - +// key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 3.1",plain) +// BLOCK-ENTRY +// SCALAR("item 3.2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Block mappings: +// +// a simple key: a value # The KEY token is produced here. +// ? a complex key +// : another value +// a mapping: +// key 1: value 1 +// key 2: value 2 +// a sequence: +// - item 1 +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// KEY +// SCALAR("a mapping",plain) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML does not always require to start a new block collection from a new +// line. If the current line contains only '-', '?', and ':' indicators, a new +// block collection may start at the current line. The following examples +// illustrate this case: +// +// 1. Collections in a sequence: +// +// - - item 1 +// - item 2 +// - key 1: value 1 +// key 2: value 2 +// - ? complex key +// : complex value +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("complex key") +// VALUE +// SCALAR("complex value") +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Collections in a mapping: +// +// ? a sequence +// : - item 1 +// - item 2 +// ? a mapping +// : key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// KEY +// SCALAR("a mapping",plain) +// VALUE +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML also permits non-indented sequences if they are included into a block +// mapping. In this case, the token BLOCK-SEQUENCE-START is not produced: +// +// key: +// - item 1 # BLOCK-SEQUENCE-START is NOT produced here. +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key",plain) +// VALUE +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// + +// Ensure that the buffer contains the required number of characters. +// Return true on success, false on failure (reader error or memory error). +func cache(parser *yaml_parser_t, length int) bool { + // [Go] This was inlined: !cache(A, B) -> unread < B && !update(A, B) + return parser.unread >= length || yaml_parser_update_buffer(parser, length) +} + +// Advance the buffer pointer. +func skip(parser *yaml_parser_t) { + if !is_blank(parser.buffer, parser.buffer_pos) { + parser.newlines = 0 + } + parser.mark.index++ + parser.mark.column++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) +} + +func skip_line(parser *yaml_parser_t) { + if is_crlf(parser.buffer, parser.buffer_pos) { + parser.mark.index += 2 + parser.mark.column = 0 + parser.mark.line++ + parser.unread -= 2 + parser.buffer_pos += 2 + parser.newlines++ + } else if is_break(parser.buffer, parser.buffer_pos) { + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) + parser.newlines++ + } +} + +// Copy a character to a string buffer and advance pointers. +func read(parser *yaml_parser_t, s []byte) []byte { + if !is_blank(parser.buffer, parser.buffer_pos) { + parser.newlines = 0 + } + w := width(parser.buffer[parser.buffer_pos]) + if w == 0 { + panic("invalid character sequence") + } + if len(s) == 0 { + s = make([]byte, 0, 32) + } + if w == 1 && len(s)+w <= cap(s) { + s = s[:len(s)+1] + s[len(s)-1] = parser.buffer[parser.buffer_pos] + parser.buffer_pos++ + } else { + s = append(s, parser.buffer[parser.buffer_pos:parser.buffer_pos+w]...) + parser.buffer_pos += w + } + parser.mark.index++ + parser.mark.column++ + parser.unread-- + return s +} + +// Copy a line break character to a string buffer and advance pointers. +func read_line(parser *yaml_parser_t, s []byte) []byte { + buf := parser.buffer + pos := parser.buffer_pos + switch { + case buf[pos] == '\r' && buf[pos+1] == '\n': + // CR LF . LF + s = append(s, '\n') + parser.buffer_pos += 2 + parser.mark.index++ + parser.unread-- + case buf[pos] == '\r' || buf[pos] == '\n': + // CR|LF . LF + s = append(s, '\n') + parser.buffer_pos += 1 + case buf[pos] == '\xC2' && buf[pos+1] == '\x85': + // NEL . LF + s = append(s, '\n') + parser.buffer_pos += 2 + case buf[pos] == '\xE2' && buf[pos+1] == '\x80' && (buf[pos+2] == '\xA8' || buf[pos+2] == '\xA9'): + // LS|PS . LS|PS + s = append(s, buf[parser.buffer_pos:pos+3]...) + parser.buffer_pos += 3 + default: + return s + } + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + parser.newlines++ + return s +} + +// Get the next token. +func yaml_parser_scan(parser *yaml_parser_t, token *yaml_token_t) bool { + // Erase the token object. + *token = yaml_token_t{} // [Go] Is this necessary? + + // No tokens after STREAM-END or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR { + return true + } + + // Ensure that the tokens queue contains enough tokens. + if !parser.token_available { + if !yaml_parser_fetch_more_tokens(parser) { + return false + } + } + + // Fetch the next token from the queue. + *token = parser.tokens[parser.tokens_head] + parser.tokens_head++ + parser.tokens_parsed++ + parser.token_available = false + + if token.typ == yaml_STREAM_END_TOKEN { + parser.stream_end_produced = true + } + return true +} + +// Set the scanner error and return false. +func yaml_parser_set_scanner_error(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string) bool { + parser.error = yaml_SCANNER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = parser.mark + return false +} + +func yaml_parser_set_scanner_tag_error(parser *yaml_parser_t, directive bool, context_mark yaml_mark_t, problem string) bool { + context := "while parsing a tag" + if directive { + context = "while parsing a %TAG directive" + } + return yaml_parser_set_scanner_error(parser, context, context_mark, problem) +} + +func trace(args ...interface{}) func() { + pargs := append([]interface{}{"+++"}, args...) + fmt.Println(pargs...) + pargs = append([]interface{}{"---"}, args...) + return func() { fmt.Println(pargs...) } +} + +// Ensure that the tokens queue contains at least one token which can be +// returned to the Parser. +func yaml_parser_fetch_more_tokens(parser *yaml_parser_t) bool { + // While we need more tokens to fetch, do it. + for { + // [Go] The comment parsing logic requires a lookahead of two tokens + // so that foot comments may be parsed in time of associating them + // with the tokens that are parsed before them, and also for line + // comments to be transformed into head comments in some edge cases. + if parser.tokens_head < len(parser.tokens)-2 { + // If a potential simple key is at the head position, we need to fetch + // the next token to disambiguate it. + head_tok_idx, ok := parser.simple_keys_by_tok[parser.tokens_parsed] + if !ok { + break + } else if valid, ok := yaml_simple_key_is_valid(parser, &parser.simple_keys[head_tok_idx]); !ok { + return false + } else if !valid { + break + } + } + // Fetch the next token. + if !yaml_parser_fetch_next_token(parser) { + return false + } + } + + parser.token_available = true + return true +} + +// The dispatcher for token fetchers. +func yaml_parser_fetch_next_token(parser *yaml_parser_t) (ok bool) { + // Ensure that the buffer is initialized. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we just started scanning. Fetch STREAM-START then. + if !parser.stream_start_produced { + return yaml_parser_fetch_stream_start(parser) + } + + scan_mark := parser.mark + + // Eat whitespaces and comments until we reach the next token. + if !yaml_parser_scan_to_next_token(parser) { + return false + } + + // [Go] While unrolling indents, transform the head comments of prior + // indentation levels observed after scan_start into foot comments at + // the respective indexes. + + // Check the indentation level against the current column. + if !yaml_parser_unroll_indent(parser, parser.mark.column, scan_mark) { + return false + } + + // Ensure that the buffer contains at least 4 characters. 4 is the length + // of the longest indicators ('--- ' and '... '). + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + // Is it the end of the stream? + if is_z(parser.buffer, parser.buffer_pos) { + return yaml_parser_fetch_stream_end(parser) + } + + // Is it a directive? + if parser.mark.column == 0 && parser.buffer[parser.buffer_pos] == '%' { + return yaml_parser_fetch_directive(parser) + } + + buf := parser.buffer + pos := parser.buffer_pos + + // Is it the document start indicator? + if parser.mark.column == 0 && buf[pos] == '-' && buf[pos+1] == '-' && buf[pos+2] == '-' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_START_TOKEN) + } + + // Is it the document end indicator? + if parser.mark.column == 0 && buf[pos] == '.' && buf[pos+1] == '.' && buf[pos+2] == '.' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_END_TOKEN) + } + + comment_mark := parser.mark + if len(parser.tokens) > 0 && (parser.flow_level == 0 && buf[pos] == ':' || parser.flow_level > 0 && buf[pos] == ',') { + // Associate any following comments with the prior token. + comment_mark = parser.tokens[len(parser.tokens)-1].start_mark + } + defer func() { + if !ok { + return + } + if len(parser.tokens) > 0 && parser.tokens[len(parser.tokens)-1].typ == yaml_BLOCK_ENTRY_TOKEN { + // Sequence indicators alone have no line comments. It becomes + // a head comment for whatever follows. + return + } + if !yaml_parser_scan_line_comment(parser, comment_mark) { + ok = false + return + } + }() + + // Is it the flow sequence start indicator? + if buf[pos] == '[' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_SEQUENCE_START_TOKEN) + } + + // Is it the flow mapping start indicator? + if parser.buffer[parser.buffer_pos] == '{' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_MAPPING_START_TOKEN) + } + + // Is it the flow sequence end indicator? + if parser.buffer[parser.buffer_pos] == ']' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_SEQUENCE_END_TOKEN) + } + + // Is it the flow mapping end indicator? + if parser.buffer[parser.buffer_pos] == '}' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_MAPPING_END_TOKEN) + } + + // Is it the flow entry indicator? + if parser.buffer[parser.buffer_pos] == ',' { + return yaml_parser_fetch_flow_entry(parser) + } + + // Is it the block entry indicator? + if parser.buffer[parser.buffer_pos] == '-' && is_blankz(parser.buffer, parser.buffer_pos+1) { + return yaml_parser_fetch_block_entry(parser) + } + + // Is it the key indicator? + if parser.buffer[parser.buffer_pos] == '?' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_key(parser) + } + + // Is it the value indicator? + if parser.buffer[parser.buffer_pos] == ':' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_value(parser) + } + + // Is it an alias? + if parser.buffer[parser.buffer_pos] == '*' { + return yaml_parser_fetch_anchor(parser, yaml_ALIAS_TOKEN) + } + + // Is it an anchor? + if parser.buffer[parser.buffer_pos] == '&' { + return yaml_parser_fetch_anchor(parser, yaml_ANCHOR_TOKEN) + } + + // Is it a tag? + if parser.buffer[parser.buffer_pos] == '!' { + return yaml_parser_fetch_tag(parser) + } + + // Is it a literal scalar? + if parser.buffer[parser.buffer_pos] == '|' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, true) + } + + // Is it a folded scalar? + if parser.buffer[parser.buffer_pos] == '>' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, false) + } + + // Is it a single-quoted scalar? + if parser.buffer[parser.buffer_pos] == '\'' { + return yaml_parser_fetch_flow_scalar(parser, true) + } + + // Is it a double-quoted scalar? + if parser.buffer[parser.buffer_pos] == '"' { + return yaml_parser_fetch_flow_scalar(parser, false) + } + + // Is it a plain scalar? + // + // A plain scalar may start with any non-blank characters except + // + // '-', '?', ':', ',', '[', ']', '{', '}', + // '#', '&', '*', '!', '|', '>', '\'', '\"', + // '%', '@', '`'. + // + // In the block context (and, for the '-' indicator, in the flow context + // too), it may also start with the characters + // + // '-', '?', ':' + // + // if it is followed by a non-space character. + // + // The last rule is more restrictive than the specification requires. + // [Go] TODO Make this logic more reasonable. + //switch parser.buffer[parser.buffer_pos] { + //case '-', '?', ':', ',', '?', '-', ',', ':', ']', '[', '}', '{', '&', '#', '!', '*', '>', '|', '"', '\'', '@', '%', '-', '`': + //} + if !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '-' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}' || parser.buffer[parser.buffer_pos] == '#' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '*' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '|' || + parser.buffer[parser.buffer_pos] == '>' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '"' || parser.buffer[parser.buffer_pos] == '%' || + parser.buffer[parser.buffer_pos] == '@' || parser.buffer[parser.buffer_pos] == '`') || + (parser.buffer[parser.buffer_pos] == '-' && !is_blank(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level == 0 && + (parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':') && + !is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_plain_scalar(parser) + } + + // If we don't determine the token type so far, it is an error. + return yaml_parser_set_scanner_error(parser, + "while scanning for the next token", parser.mark, + "found character that cannot start any token") +} + +func yaml_simple_key_is_valid(parser *yaml_parser_t, simple_key *yaml_simple_key_t) (valid, ok bool) { + if !simple_key.possible { + return false, true + } + + // The 1.2 specification says: + // + // "If the ? indicator is omitted, parsing needs to see past the + // implicit key to recognize it as such. To limit the amount of + // lookahead required, the “:” indicator must appear at most 1024 + // Unicode characters beyond the start of the key. In addition, the key + // is restricted to a single line." + // + if simple_key.mark.line < parser.mark.line || simple_key.mark.index+1024 < parser.mark.index { + // Check if the potential simple key to be removed is required. + if simple_key.required { + return false, yaml_parser_set_scanner_error(parser, + "while scanning a simple key", simple_key.mark, + "could not find expected ':'") + } + simple_key.possible = false + return false, true + } + return true, true +} + +// Check if a simple key may start at the current position and add it if +// needed. +func yaml_parser_save_simple_key(parser *yaml_parser_t) bool { + // A simple key is required at the current position if the scanner is in + // the block context and the current column coincides with the indentation + // level. + + required := parser.flow_level == 0 && parser.indent == parser.mark.column + + // + // If the current position may start a simple key, save it. + // + if parser.simple_key_allowed { + simple_key := yaml_simple_key_t{ + possible: true, + required: required, + token_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head), + mark: parser.mark, + } + + if !yaml_parser_remove_simple_key(parser) { + return false + } + parser.simple_keys[len(parser.simple_keys)-1] = simple_key + parser.simple_keys_by_tok[simple_key.token_number] = len(parser.simple_keys) - 1 + } + return true +} + +// Remove a potential simple key at the current flow level. +func yaml_parser_remove_simple_key(parser *yaml_parser_t) bool { + i := len(parser.simple_keys) - 1 + if parser.simple_keys[i].possible { + // If the key is required, it is an error. + if parser.simple_keys[i].required { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", parser.simple_keys[i].mark, + "could not find expected ':'") + } + // Remove the key from the stack. + parser.simple_keys[i].possible = false + delete(parser.simple_keys_by_tok, parser.simple_keys[i].token_number) + } + return true +} + +// max_flow_level limits the flow_level +const max_flow_level = 10000 + +// Increase the flow level and resize the simple key list if needed. +func yaml_parser_increase_flow_level(parser *yaml_parser_t) bool { + // Reset the simple key on the next level. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{ + possible: false, + required: false, + token_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head), + mark: parser.mark, + }) + + // Increase the flow level. + parser.flow_level++ + if parser.flow_level > max_flow_level { + return yaml_parser_set_scanner_error(parser, + "while increasing flow level", parser.simple_keys[len(parser.simple_keys)-1].mark, + fmt.Sprintf("exceeded max depth of %d", max_flow_level)) + } + return true +} + +// Decrease the flow level. +func yaml_parser_decrease_flow_level(parser *yaml_parser_t) bool { + if parser.flow_level > 0 { + parser.flow_level-- + last := len(parser.simple_keys) - 1 + delete(parser.simple_keys_by_tok, parser.simple_keys[last].token_number) + parser.simple_keys = parser.simple_keys[:last] + } + return true +} + +// max_indents limits the indents stack size +const max_indents = 10000 + +// Push the current indentation level to the stack and set the new level +// the current column is greater than the indentation level. In this case, +// append or insert the specified token into the token queue. +func yaml_parser_roll_indent(parser *yaml_parser_t, column, number int, typ yaml_token_type_t, mark yaml_mark_t) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + if parser.indent < column { + // Push the current indentation level to the stack and set the new + // indentation level. + parser.indents = append(parser.indents, parser.indent) + parser.indent = column + if len(parser.indents) > max_indents { + return yaml_parser_set_scanner_error(parser, + "while increasing indent level", parser.simple_keys[len(parser.simple_keys)-1].mark, + fmt.Sprintf("exceeded max depth of %d", max_indents)) + } + + // Create a token and insert it into the queue. + token := yaml_token_t{ + typ: typ, + start_mark: mark, + end_mark: mark, + } + if number > -1 { + number -= parser.tokens_parsed + } + yaml_insert_token(parser, number, &token) + } + return true +} + +// Pop indentation levels from the indents stack until the current level +// becomes less or equal to the column. For each indentation level, append +// the BLOCK-END token. +func yaml_parser_unroll_indent(parser *yaml_parser_t, column int, scan_mark yaml_mark_t) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + block_mark := scan_mark + block_mark.index-- + + // Loop through the indentation levels in the stack. + for parser.indent > column { + + // [Go] Reposition the end token before potential following + // foot comments of parent blocks. For that, search + // backwards for recent comments that were at the same + // indent as the block that is ending now. + stop_index := block_mark.index + for i := len(parser.comments) - 1; i >= 0; i-- { + comment := &parser.comments[i] + + if comment.end_mark.index < stop_index { + // Don't go back beyond the start of the comment/whitespace scan, unless column < 0. + // If requested indent column is < 0, then the document is over and everything else + // is a foot anyway. + break + } + if comment.start_mark.column == parser.indent+1 { + // This is a good match. But maybe there's a former comment + // at that same indent level, so keep searching. + block_mark = comment.start_mark + } + + // While the end of the former comment matches with + // the start of the following one, we know there's + // nothing in between and scanning is still safe. + stop_index = comment.scan_mark.index + } + + // Create a token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_END_TOKEN, + start_mark: block_mark, + end_mark: block_mark, + } + yaml_insert_token(parser, -1, &token) + + // Pop the indentation level. + parser.indent = parser.indents[len(parser.indents)-1] + parser.indents = parser.indents[:len(parser.indents)-1] + } + return true +} + +// Initialize the scanner and produce the STREAM-START token. +func yaml_parser_fetch_stream_start(parser *yaml_parser_t) bool { + + // Set the initial indentation. + parser.indent = -1 + + // Initialize the simple key stack. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{}) + + parser.simple_keys_by_tok = make(map[int]int) + + // A simple key is allowed at the beginning of the stream. + parser.simple_key_allowed = true + + // We have started. + parser.stream_start_produced = true + + // Create the STREAM-START token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_START_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + encoding: parser.encoding, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the STREAM-END token and shut down the scanner. +func yaml_parser_fetch_stream_end(parser *yaml_parser_t) bool { + + // Force new line. + if parser.mark.column != 0 { + parser.mark.column = 0 + parser.mark.line++ + } + + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1, parser.mark) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the STREAM-END token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_END_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce a VERSION-DIRECTIVE or TAG-DIRECTIVE token. +func yaml_parser_fetch_directive(parser *yaml_parser_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1, parser.mark) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the YAML-DIRECTIVE or TAG-DIRECTIVE token. + token := yaml_token_t{} + if !yaml_parser_scan_directive(parser, &token) { + return false + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the DOCUMENT-START or DOCUMENT-END token. +func yaml_parser_fetch_document_indicator(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1, parser.mark) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Consume the token. + start_mark := parser.mark + + skip(parser) + skip(parser) + skip(parser) + + end_mark := parser.mark + + // Create the DOCUMENT-START or DOCUMENT-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. +func yaml_parser_fetch_flow_collection_start(parser *yaml_parser_t, typ yaml_token_type_t) bool { + + // The indicators '[' and '{' may start a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // Increase the flow level. + if !yaml_parser_increase_flow_level(parser) { + return false + } + + // A simple key may follow the indicators '[' and '{'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-START of FLOW-MAPPING-START token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. +func yaml_parser_fetch_flow_collection_end(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset any potential simple key on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Decrease the flow level. + if !yaml_parser_decrease_flow_level(parser) { + return false + } + + // No simple keys after the indicators ']' and '}'. + parser.simple_key_allowed = false + + // Consume the token. + + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-END of FLOW-MAPPING-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-ENTRY token. +func yaml_parser_fetch_flow_entry(parser *yaml_parser_t) bool { + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after ','. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_FLOW_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the BLOCK-ENTRY token. +func yaml_parser_fetch_block_entry(parser *yaml_parser_t) bool { + // Check if the scanner is in the block context. + if parser.flow_level == 0 { + // Check if we are allowed to start a new entry. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "block sequence entries are not allowed in this context") + } + // Add the BLOCK-SEQUENCE-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_SEQUENCE_START_TOKEN, parser.mark) { + return false + } + } else { + // It is an error for the '-' indicator to occur in the flow context, + // but we let the Parser detect and report about it because the Parser + // is able to point to the context. + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '-'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the BLOCK-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the KEY token. +func yaml_parser_fetch_key(parser *yaml_parser_t) bool { + + // In the block context, additional checks are required. + if parser.flow_level == 0 { + // Check if we are allowed to start a new key (not nessesary simple). + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping keys are not allowed in this context") + } + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '?' in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the KEY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the VALUE token. +func yaml_parser_fetch_value(parser *yaml_parser_t) bool { + + simple_key := &parser.simple_keys[len(parser.simple_keys)-1] + + // Have we found a simple key? + if valid, ok := yaml_simple_key_is_valid(parser, simple_key); !ok { + return false + + } else if valid { + + // Create the KEY token and insert it into the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: simple_key.mark, + end_mark: simple_key.mark, + } + yaml_insert_token(parser, simple_key.token_number-parser.tokens_parsed, &token) + + // In the block context, we may need to add the BLOCK-MAPPING-START token. + if !yaml_parser_roll_indent(parser, simple_key.mark.column, + simple_key.token_number, + yaml_BLOCK_MAPPING_START_TOKEN, simple_key.mark) { + return false + } + + // Remove the simple key. + simple_key.possible = false + delete(parser.simple_keys_by_tok, simple_key.token_number) + + // A simple key cannot follow another simple key. + parser.simple_key_allowed = false + + } else { + // The ':' indicator follows a complex key. + + // In the block context, extra checks are required. + if parser.flow_level == 0 { + + // Check if we are allowed to start a complex value. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping values are not allowed in this context") + } + + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Simple keys after ':' are allowed in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + } + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the VALUE token and append it to the queue. + token := yaml_token_t{ + typ: yaml_VALUE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the ALIAS or ANCHOR token. +func yaml_parser_fetch_anchor(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // An anchor or an alias could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow an anchor or an alias. + parser.simple_key_allowed = false + + // Create the ALIAS or ANCHOR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_anchor(parser, &token, typ) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the TAG token. +func yaml_parser_fetch_tag(parser *yaml_parser_t) bool { + // A tag could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a tag. + parser.simple_key_allowed = false + + // Create the TAG token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_tag(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. +func yaml_parser_fetch_block_scalar(parser *yaml_parser_t, literal bool) bool { + // Remove any potential simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // A simple key may follow a block scalar. + parser.simple_key_allowed = true + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_block_scalar(parser, &token, literal) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. +func yaml_parser_fetch_flow_scalar(parser *yaml_parser_t, single bool) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_flow_scalar(parser, &token, single) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,plain) token. +func yaml_parser_fetch_plain_scalar(parser *yaml_parser_t) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_plain_scalar(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Eat whitespaces and comments until the next token is found. +func yaml_parser_scan_to_next_token(parser *yaml_parser_t) bool { + + scan_mark := parser.mark + + // Until the next token is not found. + for { + // Allow the BOM mark to start a line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.mark.column == 0 && is_bom(parser.buffer, parser.buffer_pos) { + skip(parser) + } + + // Eat whitespaces. + // Tabs are allowed: + // - in the flow context + // - in the block context, but not at the beginning of the line or + // after '-', '?', or ':' (complex value). + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for parser.buffer[parser.buffer_pos] == ' ' || ((parser.flow_level > 0 || !parser.simple_key_allowed) && parser.buffer[parser.buffer_pos] == '\t') { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if we just had a line comment under a sequence entry that + // looks more like a header to the following content. Similar to this: + // + // - # The comment + // - Some data + // + // If so, transform the line comment to a head comment and reposition. + if len(parser.comments) > 0 && len(parser.tokens) > 1 { + tokenA := parser.tokens[len(parser.tokens)-2] + tokenB := parser.tokens[len(parser.tokens)-1] + comment := &parser.comments[len(parser.comments)-1] + if tokenA.typ == yaml_BLOCK_SEQUENCE_START_TOKEN && tokenB.typ == yaml_BLOCK_ENTRY_TOKEN && len(comment.line) > 0 && !is_break(parser.buffer, parser.buffer_pos) { + // If it was in the prior line, reposition so it becomes a + // header of the follow up token. Otherwise, keep it in place + // so it becomes a header of the former. + comment.head = comment.line + comment.line = nil + if comment.start_mark.line == parser.mark.line-1 { + comment.token_mark = parser.mark + } + } + } + + // Eat a comment until a line break. + if parser.buffer[parser.buffer_pos] == '#' { + if !yaml_parser_scan_comments(parser, scan_mark) { + return false + } + } + + // If it is a line break, eat it. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + + // In the block context, a new line may start a simple key. + if parser.flow_level == 0 { + parser.simple_key_allowed = true + } + } else { + break // We have found a token. + } + } + + return true +} + +// Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// +func yaml_parser_scan_directive(parser *yaml_parser_t, token *yaml_token_t) bool { + // Eat '%'. + start_mark := parser.mark + skip(parser) + + // Scan the directive name. + var name []byte + if !yaml_parser_scan_directive_name(parser, start_mark, &name) { + return false + } + + // Is it a YAML directive? + if bytes.Equal(name, []byte("YAML")) { + // Scan the VERSION directive value. + var major, minor int8 + if !yaml_parser_scan_version_directive_value(parser, start_mark, &major, &minor) { + return false + } + end_mark := parser.mark + + // Create a VERSION-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_VERSION_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + major: major, + minor: minor, + } + + // Is it a TAG directive? + } else if bytes.Equal(name, []byte("TAG")) { + // Scan the TAG directive value. + var handle, prefix []byte + if !yaml_parser_scan_tag_directive_value(parser, start_mark, &handle, &prefix) { + return false + } + end_mark := parser.mark + + // Create a TAG-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_TAG_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + prefix: prefix, + } + + // Unknown directive. + } else { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unknown directive name") + return false + } + + // Eat the rest of the line including any comments. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + if parser.buffer[parser.buffer_pos] == '#' { + // [Go] Discard this inline comment for the time being. + //if !yaml_parser_scan_line_comment(parser, start_mark) { + // return false + //} + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + return true +} + +// Scan the directive name. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^ +// +func yaml_parser_scan_directive_name(parser *yaml_parser_t, start_mark yaml_mark_t, name *[]byte) bool { + // Consume the directive name. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + var s []byte + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the name is empty. + if len(s) == 0 { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "could not find expected directive name") + return false + } + + // Check for an blank character after the name. + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unexpected non-alphabetical character") + return false + } + *name = s + return true +} + +// Scan the value of VERSION-DIRECTIVE. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^^^ +func yaml_parser_scan_version_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, major, minor *int8) bool { + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the major version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, major) { + return false + } + + // Eat '.'. + if parser.buffer[parser.buffer_pos] != '.' { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected digit or '.' character") + } + + skip(parser) + + // Consume the minor version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, minor) { + return false + } + return true +} + +const max_number_length = 2 + +// Scan the version number of VERSION-DIRECTIVE. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^ +// %YAML 1.1 # a comment \n +// ^ +func yaml_parser_scan_version_directive_number(parser *yaml_parser_t, start_mark yaml_mark_t, number *int8) bool { + + // Repeat while the next character is digit. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var value, length int8 + for is_digit(parser.buffer, parser.buffer_pos) { + // Check if the number is too long. + length++ + if length > max_number_length { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "found extremely long version number") + } + value = value*10 + int8(as_digit(parser.buffer, parser.buffer_pos)) + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the number was present. + if length == 0 { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected version number") + } + *number = value + return true +} + +// Scan the value of a TAG-DIRECTIVE token. +// +// Scope: +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// +func yaml_parser_scan_tag_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, handle, prefix *[]byte) bool { + var handle_value, prefix_value []byte + + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a handle. + if !yaml_parser_scan_tag_handle(parser, true, start_mark, &handle_value) { + return false + } + + // Expect a whitespace. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blank(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace") + return false + } + + // Eat whitespaces. + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a prefix. + if !yaml_parser_scan_tag_uri(parser, true, nil, start_mark, &prefix_value) { + return false + } + + // Expect a whitespace or line break. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace or line break") + return false + } + + *handle = handle_value + *prefix = prefix_value + return true +} + +func yaml_parser_scan_anchor(parser *yaml_parser_t, token *yaml_token_t, typ yaml_token_type_t) bool { + var s []byte + + // Eat the indicator character. + start_mark := parser.mark + skip(parser) + + // Consume the value. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + end_mark := parser.mark + + /* + * Check if length of the anchor is greater than 0 and it is followed by + * a whitespace character or one of the indicators: + * + * '?', ':', ',', ']', '}', '%', '@', '`'. + */ + + if len(s) == 0 || + !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '}' || + parser.buffer[parser.buffer_pos] == '%' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '`') { + context := "while scanning an alias" + if typ == yaml_ANCHOR_TOKEN { + context = "while scanning an anchor" + } + yaml_parser_set_scanner_error(parser, context, start_mark, + "did not find expected alphabetic or numeric character") + return false + } + + // Create a token. + *token = yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + value: s, + } + + return true +} + +/* + * Scan a TAG token. + */ + +func yaml_parser_scan_tag(parser *yaml_parser_t, token *yaml_token_t) bool { + var handle, suffix []byte + + start_mark := parser.mark + + // Check if the tag is in the canonical form. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + if parser.buffer[parser.buffer_pos+1] == '<' { + // Keep the handle as '' + + // Eat '!<' + skip(parser) + skip(parser) + + // Consume the tag value. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + + // Check for '>' and eat it. + if parser.buffer[parser.buffer_pos] != '>' { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find the expected '>'") + return false + } + + skip(parser) + } else { + // The tag has either the '!suffix' or the '!handle!suffix' form. + + // First, try to scan a handle. + if !yaml_parser_scan_tag_handle(parser, false, start_mark, &handle) { + return false + } + + // Check if it is, indeed, handle. + if handle[0] == '!' && len(handle) > 1 && handle[len(handle)-1] == '!' { + // Scan the suffix now. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + } else { + // It wasn't a handle after all. Scan the rest of the tag. + if !yaml_parser_scan_tag_uri(parser, false, handle, start_mark, &suffix) { + return false + } + + // Set the handle to '!'. + handle = []byte{'!'} + + // A special case: the '!' tag. Set the handle to '' and the + // suffix to '!'. + if len(suffix) == 0 { + handle, suffix = suffix, handle + } + } + } + + // Check the character which ends the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find expected whitespace or line break") + return false + } + + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_TAG_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + suffix: suffix, + } + return true +} + +// Scan a tag handle. +func yaml_parser_scan_tag_handle(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, handle *[]byte) bool { + // Check the initial '!' character. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] != '!' { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + + var s []byte + + // Copy the '!' character. + s = read(parser, s) + + // Copy all subsequent alphabetical and numerical characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the trailing character is '!' and copy it. + if parser.buffer[parser.buffer_pos] == '!' { + s = read(parser, s) + } else { + // It's either the '!' tag or not really a tag handle. If it's a %TAG + // directive, it's an error. If it's a tag token, it must be a part of URI. + if directive && string(s) != "!" { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + } + + *handle = s + return true +} + +// Scan a tag. +func yaml_parser_scan_tag_uri(parser *yaml_parser_t, directive bool, head []byte, start_mark yaml_mark_t, uri *[]byte) bool { + //size_t length = head ? strlen((char *)head) : 0 + var s []byte + hasTag := len(head) > 0 + + // Copy the head if needed. + // + // Note that we don't copy the leading '!' character. + if len(head) > 1 { + s = append(s, head[1:]...) + } + + // Scan the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // The set of characters that may appear in URI is as follows: + // + // '0'-'9', 'A'-'Z', 'a'-'z', '_', '-', ';', '/', '?', ':', '@', '&', + // '=', '+', '$', ',', '.', '!', '~', '*', '\'', '(', ')', '[', ']', + // '%'. + // [Go] TODO Convert this into more reasonable logic. + for is_alpha(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == ';' || + parser.buffer[parser.buffer_pos] == '/' || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '=' || + parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '$' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '.' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '~' || + parser.buffer[parser.buffer_pos] == '*' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '(' || parser.buffer[parser.buffer_pos] == ')' || + parser.buffer[parser.buffer_pos] == '[' || parser.buffer[parser.buffer_pos] == ']' || + parser.buffer[parser.buffer_pos] == '%' { + // Check if it is a URI-escape sequence. + if parser.buffer[parser.buffer_pos] == '%' { + if !yaml_parser_scan_uri_escapes(parser, directive, start_mark, &s) { + return false + } + } else { + s = read(parser, s) + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + hasTag = true + } + + if !hasTag { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected tag URI") + return false + } + *uri = s + return true +} + +// Decode an URI-escape sequence corresponding to a single UTF-8 character. +func yaml_parser_scan_uri_escapes(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, s *[]byte) bool { + + // Decode the required number of characters. + w := 1024 + for w > 0 { + // Check for a URI-escaped octet. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + + if !(parser.buffer[parser.buffer_pos] == '%' && + is_hex(parser.buffer, parser.buffer_pos+1) && + is_hex(parser.buffer, parser.buffer_pos+2)) { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find URI escaped octet") + } + + // Get the octet. + octet := byte((as_hex(parser.buffer, parser.buffer_pos+1) << 4) + as_hex(parser.buffer, parser.buffer_pos+2)) + + // If it is the leading octet, determine the length of the UTF-8 sequence. + if w == 1024 { + w = width(octet) + if w == 0 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect leading UTF-8 octet") + } + } else { + // Check if the trailing octet is correct. + if octet&0xC0 != 0x80 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect trailing UTF-8 octet") + } + } + + // Copy the octet and move the pointers. + *s = append(*s, octet) + skip(parser) + skip(parser) + skip(parser) + w-- + } + return true +} + +// Scan a block scalar. +func yaml_parser_scan_block_scalar(parser *yaml_parser_t, token *yaml_token_t, literal bool) bool { + // Eat the indicator '|' or '>'. + start_mark := parser.mark + skip(parser) + + // Scan the additional block scalar indicators. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check for a chomping indicator. + var chomping, increment int + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + // Set the chomping method and eat the indicator. + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + + // Check for an indentation indicator. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_digit(parser.buffer, parser.buffer_pos) { + // Check that the indentation is greater than 0. + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + + // Get the indentation level and eat the indicator. + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + } + + } else if is_digit(parser.buffer, parser.buffer_pos) { + // Do the same as above, but in the opposite order. + + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + } + } + + // Eat whitespaces and comments to the end of the line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.buffer[parser.buffer_pos] == '#' { + if !yaml_parser_scan_line_comment(parser, start_mark) { + return false + } + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + end_mark := parser.mark + + // Set the indentation level if it was specified. + var indent int + if increment > 0 { + if parser.indent >= 0 { + indent = parser.indent + increment + } else { + indent = increment + } + } + + // Scan the leading line breaks and determine the indentation level if needed. + var s, leading_break, trailing_breaks []byte + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + + // Scan the block scalar content. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var leading_blank, trailing_blank bool + for parser.mark.column == indent && !is_z(parser.buffer, parser.buffer_pos) { + // We are at the beginning of a non-empty line. + + // Is it a trailing whitespace? + trailing_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Check if we need to fold the leading line break. + if !literal && !leading_blank && !trailing_blank && len(leading_break) > 0 && leading_break[0] == '\n' { + // Do we need to join the lines by space? + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } + } else { + s = append(s, leading_break...) + } + leading_break = leading_break[:0] + + // Append the remaining line breaks. + s = append(s, trailing_breaks...) + trailing_breaks = trailing_breaks[:0] + + // Is it a leading whitespace? + leading_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Consume the current line. + for !is_breakz(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + leading_break = read_line(parser, leading_break) + + // Eat the following indentation spaces and line breaks. + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + } + + // Chomp the tail. + if chomping != -1 { + s = append(s, leading_break...) + } + if chomping == 1 { + s = append(s, trailing_breaks...) + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_LITERAL_SCALAR_STYLE, + } + if !literal { + token.style = yaml_FOLDED_SCALAR_STYLE + } + return true +} + +// Scan indentation spaces and line breaks for a block scalar. Determine the +// indentation level if needed. +func yaml_parser_scan_block_scalar_breaks(parser *yaml_parser_t, indent *int, breaks *[]byte, start_mark yaml_mark_t, end_mark *yaml_mark_t) bool { + *end_mark = parser.mark + + // Eat the indentation spaces and line breaks. + max_indent := 0 + for { + // Eat the indentation spaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for (*indent == 0 || parser.mark.column < *indent) && is_space(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.mark.column > max_indent { + max_indent = parser.mark.column + } + + // Check for a tab character messing the indentation. + if (*indent == 0 || parser.mark.column < *indent) && is_tab(parser.buffer, parser.buffer_pos) { + return yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found a tab character where an indentation space is expected") + } + + // Have we found a non-empty line? + if !is_break(parser.buffer, parser.buffer_pos) { + break + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + // [Go] Should really be returning breaks instead. + *breaks = read_line(parser, *breaks) + *end_mark = parser.mark + } + + // Determine the indentation level if needed. + if *indent == 0 { + *indent = max_indent + if *indent < parser.indent+1 { + *indent = parser.indent + 1 + } + if *indent < 1 { + *indent = 1 + } + } + return true +} + +// Scan a quoted scalar. +func yaml_parser_scan_flow_scalar(parser *yaml_parser_t, token *yaml_token_t, single bool) bool { + // Eat the left quote. + start_mark := parser.mark + skip(parser) + + // Consume the content of the quoted scalar. + var s, leading_break, trailing_breaks, whitespaces []byte + for { + // Check that there are no document indicators at the beginning of the line. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected document indicator") + return false + } + + // Check for EOF. + if is_z(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected end of stream") + return false + } + + // Consume non-blank characters. + leading_blanks := false + for !is_blankz(parser.buffer, parser.buffer_pos) { + if single && parser.buffer[parser.buffer_pos] == '\'' && parser.buffer[parser.buffer_pos+1] == '\'' { + // Is is an escaped single quote. + s = append(s, '\'') + skip(parser) + skip(parser) + + } else if single && parser.buffer[parser.buffer_pos] == '\'' { + // It is a right single quote. + break + } else if !single && parser.buffer[parser.buffer_pos] == '"' { + // It is a right double quote. + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' && is_break(parser.buffer, parser.buffer_pos+1) { + // It is an escaped line break. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + skip(parser) + skip_line(parser) + leading_blanks = true + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' { + // It is an escape sequence. + code_length := 0 + + // Check the escape character. + switch parser.buffer[parser.buffer_pos+1] { + case '0': + s = append(s, 0) + case 'a': + s = append(s, '\x07') + case 'b': + s = append(s, '\x08') + case 't', '\t': + s = append(s, '\x09') + case 'n': + s = append(s, '\x0A') + case 'v': + s = append(s, '\x0B') + case 'f': + s = append(s, '\x0C') + case 'r': + s = append(s, '\x0D') + case 'e': + s = append(s, '\x1B') + case ' ': + s = append(s, '\x20') + case '"': + s = append(s, '"') + case '\'': + s = append(s, '\'') + case '\\': + s = append(s, '\\') + case 'N': // NEL (#x85) + s = append(s, '\xC2') + s = append(s, '\x85') + case '_': // #xA0 + s = append(s, '\xC2') + s = append(s, '\xA0') + case 'L': // LS (#x2028) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA8') + case 'P': // PS (#x2029) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA9') + case 'x': + code_length = 2 + case 'u': + code_length = 4 + case 'U': + code_length = 8 + default: + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found unknown escape character") + return false + } + + skip(parser) + skip(parser) + + // Consume an arbitrary escape code. + if code_length > 0 { + var value int + + // Scan the character value. + if parser.unread < code_length && !yaml_parser_update_buffer(parser, code_length) { + return false + } + for k := 0; k < code_length; k++ { + if !is_hex(parser.buffer, parser.buffer_pos+k) { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "did not find expected hexdecimal number") + return false + } + value = (value << 4) + as_hex(parser.buffer, parser.buffer_pos+k) + } + + // Check the value and write the character. + if (value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found invalid Unicode character escape code") + return false + } + if value <= 0x7F { + s = append(s, byte(value)) + } else if value <= 0x7FF { + s = append(s, byte(0xC0+(value>>6))) + s = append(s, byte(0x80+(value&0x3F))) + } else if value <= 0xFFFF { + s = append(s, byte(0xE0+(value>>12))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } else { + s = append(s, byte(0xF0+(value>>18))) + s = append(s, byte(0x80+((value>>12)&0x3F))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } + + // Advance the pointer. + for k := 0; k < code_length; k++ { + skip(parser) + } + } + } else { + // It is a non-escaped non-blank character. + s = read(parser, s) + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we are at the end of the scalar. + if single { + if parser.buffer[parser.buffer_pos] == '\'' { + break + } + } else { + if parser.buffer[parser.buffer_pos] == '"' { + break + } + } + + // Consume blank characters. + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Join the whitespaces or fold line breaks. + if leading_blanks { + // Do we need to fold line breaks? + if len(leading_break) > 0 && leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Eat the right quote. + skip(parser) + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_SINGLE_QUOTED_SCALAR_STYLE, + } + if !single { + token.style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + return true +} + +// Scan a plain scalar. +func yaml_parser_scan_plain_scalar(parser *yaml_parser_t, token *yaml_token_t) bool { + + var s, leading_break, trailing_breaks, whitespaces []byte + var leading_blanks bool + var indent = parser.indent + 1 + + start_mark := parser.mark + end_mark := parser.mark + + // Consume the content of the plain scalar. + for { + // Check for a document indicator. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + break + } + + // Check for a comment. + if parser.buffer[parser.buffer_pos] == '#' { + break + } + + // Consume non-blank characters. + for !is_blankz(parser.buffer, parser.buffer_pos) { + + // Check for indicators that may end a plain scalar. + if (parser.buffer[parser.buffer_pos] == ':' && is_blankz(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level > 0 && + (parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}')) { + break + } + + // Check if we need to join whitespaces and breaks. + if leading_blanks || len(whitespaces) > 0 { + if leading_blanks { + // Do we need to fold line breaks? + if leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + leading_blanks = false + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Copy the character. + s = read(parser, s) + + end_mark = parser.mark + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + // Is it the end? + if !(is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos)) { + break + } + + // Consume blank characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + + // Check for tab characters that abuse indentation. + if leading_blanks && parser.mark.column < indent && is_tab(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a plain scalar", + start_mark, "found a tab character that violates indentation") + return false + } + + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check indentation level. + if parser.flow_level == 0 && parser.mark.column < indent { + break + } + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_PLAIN_SCALAR_STYLE, + } + + // Note that we change the 'simple_key_allowed' flag. + if leading_blanks { + parser.simple_key_allowed = true + } + return true +} + +func yaml_parser_scan_line_comment(parser *yaml_parser_t, token_mark yaml_mark_t) bool { + if parser.newlines > 0 { + return true + } + + var start_mark yaml_mark_t + var text []byte + + for peek := 0; peek < 512; peek++ { + if parser.unread < peek+1 && !yaml_parser_update_buffer(parser, peek+1) { + break + } + if is_blank(parser.buffer, parser.buffer_pos+peek) { + continue + } + if parser.buffer[parser.buffer_pos+peek] == '#' { + seen := parser.mark.index+peek + for { + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_breakz(parser.buffer, parser.buffer_pos) { + if parser.mark.index >= seen { + break + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } else if parser.mark.index >= seen { + if len(text) == 0 { + start_mark = parser.mark + } + text = read(parser, text) + } else { + skip(parser) + } + } + } + break + } + if len(text) > 0 { + parser.comments = append(parser.comments, yaml_comment_t{ + token_mark: token_mark, + start_mark: start_mark, + line: text, + }) + } + return true +} + +func yaml_parser_scan_comments(parser *yaml_parser_t, scan_mark yaml_mark_t) bool { + token := parser.tokens[len(parser.tokens)-1] + + if token.typ == yaml_FLOW_ENTRY_TOKEN && len(parser.tokens) > 1 { + token = parser.tokens[len(parser.tokens)-2] + } + + var token_mark = token.start_mark + var start_mark yaml_mark_t + var next_indent = parser.indent + if next_indent < 0 { + next_indent = 0 + } + + var recent_empty = false + var first_empty = parser.newlines <= 1 + + var line = parser.mark.line + var column = parser.mark.column + + var text []byte + + // The foot line is the place where a comment must start to + // still be considered as a foot of the prior content. + // If there's some content in the currently parsed line, then + // the foot is the line below it. + var foot_line = -1 + if scan_mark.line > 0 { + foot_line = parser.mark.line-parser.newlines+1 + if parser.newlines == 0 && parser.mark.column > 1 { + foot_line++ + } + } + + var peek = 0 + for ; peek < 512; peek++ { + if parser.unread < peek+1 && !yaml_parser_update_buffer(parser, peek+1) { + break + } + column++ + if is_blank(parser.buffer, parser.buffer_pos+peek) { + continue + } + c := parser.buffer[parser.buffer_pos+peek] + var close_flow = parser.flow_level > 0 && (c == ']' || c == '}') + if close_flow || is_breakz(parser.buffer, parser.buffer_pos+peek) { + // Got line break or terminator. + if close_flow || !recent_empty { + if close_flow || first_empty && (start_mark.line == foot_line && token.typ != yaml_VALUE_TOKEN || start_mark.column-1 < next_indent) { + // This is the first empty line and there were no empty lines before, + // so this initial part of the comment is a foot of the prior token + // instead of being a head for the following one. Split it up. + // Alternatively, this might also be the last comment inside a flow + // scope, so it must be a footer. + if len(text) > 0 { + if start_mark.column-1 < next_indent { + // If dedented it's unrelated to the prior token. + token_mark = start_mark + } + parser.comments = append(parser.comments, yaml_comment_t{ + scan_mark: scan_mark, + token_mark: token_mark, + start_mark: start_mark, + end_mark: yaml_mark_t{parser.mark.index + peek, line, column}, + foot: text, + }) + scan_mark = yaml_mark_t{parser.mark.index + peek, line, column} + token_mark = scan_mark + text = nil + } + } else { + if len(text) > 0 && parser.buffer[parser.buffer_pos+peek] != 0 { + text = append(text, '\n') + } + } + } + if !is_break(parser.buffer, parser.buffer_pos+peek) { + break + } + first_empty = false + recent_empty = true + column = 0 + line++ + continue + } + + if len(text) > 0 && (close_flow || column-1 < next_indent && column != start_mark.column) { + // The comment at the different indentation is a foot of the + // preceding data rather than a head of the upcoming one. + parser.comments = append(parser.comments, yaml_comment_t{ + scan_mark: scan_mark, + token_mark: token_mark, + start_mark: start_mark, + end_mark: yaml_mark_t{parser.mark.index + peek, line, column}, + foot: text, + }) + scan_mark = yaml_mark_t{parser.mark.index + peek, line, column} + token_mark = scan_mark + text = nil + } + + if parser.buffer[parser.buffer_pos+peek] != '#' { + break + } + + if len(text) == 0 { + start_mark = yaml_mark_t{parser.mark.index + peek, line, column} + } else { + text = append(text, '\n') + } + + recent_empty = false + + // Consume until after the consumed comment line. + seen := parser.mark.index+peek + for { + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_breakz(parser.buffer, parser.buffer_pos) { + if parser.mark.index >= seen { + break + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } else if parser.mark.index >= seen { + text = read(parser, text) + } else { + skip(parser) + } + } + + peek = 0 + column = 0 + line = parser.mark.line + next_indent = parser.indent + if next_indent < 0 { + next_indent = 0 + } + } + + if len(text) > 0 { + parser.comments = append(parser.comments, yaml_comment_t{ + scan_mark: scan_mark, + token_mark: start_mark, + start_mark: start_mark, + end_mark: yaml_mark_t{parser.mark.index + peek - 1, line, column}, + head: text, + }) + } + return true +} diff --git a/vendor/gopkg.in/yaml.v3/sorter.go b/vendor/gopkg.in/yaml.v3/sorter.go new file mode 100644 index 000000000..9210ece7e --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/sorter.go @@ -0,0 +1,134 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yaml + +import ( + "reflect" + "unicode" +) + +type keyList []reflect.Value + +func (l keyList) Len() int { return len(l) } +func (l keyList) Swap(i, j int) { l[i], l[j] = l[j], l[i] } +func (l keyList) Less(i, j int) bool { + a := l[i] + b := l[j] + ak := a.Kind() + bk := b.Kind() + for (ak == reflect.Interface || ak == reflect.Ptr) && !a.IsNil() { + a = a.Elem() + ak = a.Kind() + } + for (bk == reflect.Interface || bk == reflect.Ptr) && !b.IsNil() { + b = b.Elem() + bk = b.Kind() + } + af, aok := keyFloat(a) + bf, bok := keyFloat(b) + if aok && bok { + if af != bf { + return af < bf + } + if ak != bk { + return ak < bk + } + return numLess(a, b) + } + if ak != reflect.String || bk != reflect.String { + return ak < bk + } + ar, br := []rune(a.String()), []rune(b.String()) + digits := false + for i := 0; i < len(ar) && i < len(br); i++ { + if ar[i] == br[i] { + digits = unicode.IsDigit(ar[i]) + continue + } + al := unicode.IsLetter(ar[i]) + bl := unicode.IsLetter(br[i]) + if al && bl { + return ar[i] < br[i] + } + if al || bl { + if digits { + return al + } else { + return bl + } + } + var ai, bi int + var an, bn int64 + if ar[i] == '0' || br[i] == '0' { + for j := i - 1; j >= 0 && unicode.IsDigit(ar[j]); j-- { + if ar[j] != '0' { + an = 1 + bn = 1 + break + } + } + } + for ai = i; ai < len(ar) && unicode.IsDigit(ar[ai]); ai++ { + an = an*10 + int64(ar[ai]-'0') + } + for bi = i; bi < len(br) && unicode.IsDigit(br[bi]); bi++ { + bn = bn*10 + int64(br[bi]-'0') + } + if an != bn { + return an < bn + } + if ai != bi { + return ai < bi + } + return ar[i] < br[i] + } + return len(ar) < len(br) +} + +// keyFloat returns a float value for v if it is a number/bool +// and whether it is a number/bool or not. +func keyFloat(v reflect.Value) (f float64, ok bool) { + switch v.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return float64(v.Int()), true + case reflect.Float32, reflect.Float64: + return v.Float(), true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return float64(v.Uint()), true + case reflect.Bool: + if v.Bool() { + return 1, true + } + return 0, true + } + return 0, false +} + +// numLess returns whether a < b. +// a and b must necessarily have the same kind. +func numLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return a.Int() < b.Int() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Bool: + return !a.Bool() && b.Bool() + } + panic("not a number") +} diff --git a/vendor/gopkg.in/yaml.v3/writerc.go b/vendor/gopkg.in/yaml.v3/writerc.go new file mode 100644 index 000000000..b8a116bf9 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/writerc.go @@ -0,0 +1,48 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +// Set the writer error and return false. +func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_WRITER_ERROR + emitter.problem = problem + return false +} + +// Flush the output buffer. +func yaml_emitter_flush(emitter *yaml_emitter_t) bool { + if emitter.write_handler == nil { + panic("write handler not set") + } + + // Check if the buffer is empty. + if emitter.buffer_pos == 0 { + return true + } + + if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil { + return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error()) + } + emitter.buffer_pos = 0 + return true +} diff --git a/vendor/gopkg.in/yaml.v3/yaml.go b/vendor/gopkg.in/yaml.v3/yaml.go new file mode 100644 index 000000000..8cec6da48 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/yaml.go @@ -0,0 +1,698 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package yaml implements YAML support for the Go language. +// +// Source code and other details for the project are available at GitHub: +// +// https://github.com/go-yaml/yaml +// +package yaml + +import ( + "errors" + "fmt" + "io" + "reflect" + "strings" + "sync" + "unicode/utf8" +) + +// The Unmarshaler interface may be implemented by types to customize their +// behavior when being unmarshaled from a YAML document. +type Unmarshaler interface { + UnmarshalYAML(value *Node) error +} + +type obsoleteUnmarshaler interface { + UnmarshalYAML(unmarshal func(interface{}) error) error +} + +// The Marshaler interface may be implemented by types to customize their +// behavior when being marshaled into a YAML document. The returned value +// is marshaled in place of the original value implementing Marshaler. +// +// If an error is returned by MarshalYAML, the marshaling procedure stops +// and returns with the provided error. +type Marshaler interface { + MarshalYAML() (interface{}, error) +} + +// Unmarshal decodes the first document found within the in byte slice +// and assigns decoded values into the out value. +// +// Maps and pointers (to a struct, string, int, etc) are accepted as out +// values. If an internal pointer within a struct is not initialized, +// the yaml package will initialize it if necessary for unmarshalling +// the provided data. The out parameter must not be nil. +// +// The type of the decoded values should be compatible with the respective +// values in out. If one or more values cannot be decoded due to a type +// mismatches, decoding continues partially until the end of the YAML +// content, and a *yaml.TypeError is returned with details for all +// missed values. +// +// Struct fields are only unmarshalled if they are exported (have an +// upper case first letter), and are unmarshalled using the field name +// lowercased as the default key. Custom keys may be defined via the +// "yaml" name in the field tag: the content preceding the first comma +// is used as the key, and the following comma-separated options are +// used to tweak the marshalling process (see Marshal). +// Conflicting names result in a runtime error. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// var t T +// yaml.Unmarshal([]byte("a: 1\nb: 2"), &t) +// +// See the documentation of Marshal for the format of tags and a list of +// supported tag options. +// +func Unmarshal(in []byte, out interface{}) (err error) { + return unmarshal(in, out, false) +} + +// A Decoder reads and decodes YAML values from an input stream. +type Decoder struct { + parser *parser + knownFields bool +} + +// NewDecoder returns a new decoder that reads from r. +// +// The decoder introduces its own buffering and may read +// data from r beyond the YAML values requested. +func NewDecoder(r io.Reader) *Decoder { + return &Decoder{ + parser: newParserFromReader(r), + } +} + +// KnownFields ensures that the keys in decoded mappings to +// exist as fields in the struct being decoded into. +func (dec *Decoder) KnownFields(enable bool) { + dec.knownFields = enable +} + +// Decode reads the next YAML-encoded value from its input +// and stores it in the value pointed to by v. +// +// See the documentation for Unmarshal for details about the +// conversion of YAML into a Go value. +func (dec *Decoder) Decode(v interface{}) (err error) { + d := newDecoder() + d.knownFields = dec.knownFields + defer handleErr(&err) + node := dec.parser.parse() + if node == nil { + return io.EOF + } + out := reflect.ValueOf(v) + if out.Kind() == reflect.Ptr && !out.IsNil() { + out = out.Elem() + } + d.unmarshal(node, out) + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +// Decode decodes the node and stores its data into the value pointed to by v. +// +// See the documentation for Unmarshal for details about the +// conversion of YAML into a Go value. +func (n *Node) Decode(v interface{}) (err error) { + d := newDecoder() + defer handleErr(&err) + out := reflect.ValueOf(v) + if out.Kind() == reflect.Ptr && !out.IsNil() { + out = out.Elem() + } + d.unmarshal(n, out) + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +func unmarshal(in []byte, out interface{}, strict bool) (err error) { + defer handleErr(&err) + d := newDecoder() + p := newParser(in) + defer p.destroy() + node := p.parse() + if node != nil { + v := reflect.ValueOf(out) + if v.Kind() == reflect.Ptr && !v.IsNil() { + v = v.Elem() + } + d.unmarshal(node, v) + } + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +// Marshal serializes the value provided into a YAML document. The structure +// of the generated document will reflect the structure of the value itself. +// Maps and pointers (to struct, string, int, etc) are accepted as the in value. +// +// Struct fields are only marshalled if they are exported (have an upper case +// first letter), and are marshalled using the field name lowercased as the +// default key. Custom keys may be defined via the "yaml" name in the field +// tag: the content preceding the first comma is used as the key, and the +// following comma-separated options are used to tweak the marshalling process. +// Conflicting names result in a runtime error. +// +// The field tag format accepted is: +// +// `(...) yaml:"[<key>][,<flag1>[,<flag2>]]" (...)` +// +// The following flags are currently supported: +// +// omitempty Only include the field if it's not set to the zero +// value for the type or to empty slices or maps. +// Zero valued structs will be omitted if all their public +// fields are zero, unless they implement an IsZero +// method (see the IsZeroer interface type), in which +// case the field will be excluded if IsZero returns true. +// +// flow Marshal using a flow style (useful for structs, +// sequences and maps). +// +// inline Inline the field, which must be a struct or a map, +// causing all of its fields or keys to be processed as if +// they were part of the outer struct. For maps, keys must +// not conflict with the yaml keys of other struct fields. +// +// In addition, if the key is "-", the field is ignored. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// yaml.Marshal(&T{B: 2}) // Returns "b: 2\n" +// yaml.Marshal(&T{F: 1}} // Returns "a: 1\nb: 0\n" +// +func Marshal(in interface{}) (out []byte, err error) { + defer handleErr(&err) + e := newEncoder() + defer e.destroy() + e.marshalDoc("", reflect.ValueOf(in)) + e.finish() + out = e.out + return +} + +// An Encoder writes YAML values to an output stream. +type Encoder struct { + encoder *encoder +} + +// NewEncoder returns a new encoder that writes to w. +// The Encoder should be closed after use to flush all data +// to w. +func NewEncoder(w io.Writer) *Encoder { + return &Encoder{ + encoder: newEncoderWithWriter(w), + } +} + +// Encode writes the YAML encoding of v to the stream. +// If multiple items are encoded to the stream, the +// second and subsequent document will be preceded +// with a "---" document separator, but the first will not. +// +// See the documentation for Marshal for details about the conversion of Go +// values to YAML. +func (e *Encoder) Encode(v interface{}) (err error) { + defer handleErr(&err) + e.encoder.marshalDoc("", reflect.ValueOf(v)) + return nil +} + +// Encode encodes value v and stores its representation in n. +// +// See the documentation for Marshal for details about the +// conversion of Go values into YAML. +func (n *Node) Encode(v interface{}) (err error) { + defer handleErr(&err) + e := newEncoder() + defer e.destroy() + e.marshalDoc("", reflect.ValueOf(v)) + e.finish() + p := newParser(e.out) + p.textless = true + defer p.destroy() + doc := p.parse() + *n = *doc.Content[0] + return nil +} + +// SetIndent changes the used indentation used when encoding. +func (e *Encoder) SetIndent(spaces int) { + if spaces < 0 { + panic("yaml: cannot indent to a negative number of spaces") + } + e.encoder.indent = spaces +} + +// Close closes the encoder by writing any remaining data. +// It does not write a stream terminating string "...". +func (e *Encoder) Close() (err error) { + defer handleErr(&err) + e.encoder.finish() + return nil +} + +func handleErr(err *error) { + if v := recover(); v != nil { + if e, ok := v.(yamlError); ok { + *err = e.err + } else { + panic(v) + } + } +} + +type yamlError struct { + err error +} + +func fail(err error) { + panic(yamlError{err}) +} + +func failf(format string, args ...interface{}) { + panic(yamlError{fmt.Errorf("yaml: "+format, args...)}) +} + +// A TypeError is returned by Unmarshal when one or more fields in +// the YAML document cannot be properly decoded into the requested +// types. When this error is returned, the value is still +// unmarshaled partially. +type TypeError struct { + Errors []string +} + +func (e *TypeError) Error() string { + return fmt.Sprintf("yaml: unmarshal errors:\n %s", strings.Join(e.Errors, "\n ")) +} + +type Kind uint32 + +const ( + DocumentNode Kind = 1 << iota + SequenceNode + MappingNode + ScalarNode + AliasNode +) + +type Style uint32 + +const ( + TaggedStyle Style = 1 << iota + DoubleQuotedStyle + SingleQuotedStyle + LiteralStyle + FoldedStyle + FlowStyle +) + +// Node represents an element in the YAML document hierarchy. While documents +// are typically encoded and decoded into higher level types, such as structs +// and maps, Node is an intermediate representation that allows detailed +// control over the content being decoded or encoded. +// +// It's worth noting that although Node offers access into details such as +// line numbers, colums, and comments, the content when re-encoded will not +// have its original textual representation preserved. An effort is made to +// render the data plesantly, and to preserve comments near the data they +// describe, though. +// +// Values that make use of the Node type interact with the yaml package in the +// same way any other type would do, by encoding and decoding yaml data +// directly or indirectly into them. +// +// For example: +// +// var person struct { +// Name string +// Address yaml.Node +// } +// err := yaml.Unmarshal(data, &person) +// +// Or by itself: +// +// var person Node +// err := yaml.Unmarshal(data, &person) +// +type Node struct { + // Kind defines whether the node is a document, a mapping, a sequence, + // a scalar value, or an alias to another node. The specific data type of + // scalar nodes may be obtained via the ShortTag and LongTag methods. + Kind Kind + + // Style allows customizing the apperance of the node in the tree. + Style Style + + // Tag holds the YAML tag defining the data type for the value. + // When decoding, this field will always be set to the resolved tag, + // even when it wasn't explicitly provided in the YAML content. + // When encoding, if this field is unset the value type will be + // implied from the node properties, and if it is set, it will only + // be serialized into the representation if TaggedStyle is used or + // the implicit tag diverges from the provided one. + Tag string + + // Value holds the unescaped and unquoted represenation of the value. + Value string + + // Anchor holds the anchor name for this node, which allows aliases to point to it. + Anchor string + + // Alias holds the node that this alias points to. Only valid when Kind is AliasNode. + Alias *Node + + // Content holds contained nodes for documents, mappings, and sequences. + Content []*Node + + // HeadComment holds any comments in the lines preceding the node and + // not separated by an empty line. + HeadComment string + + // LineComment holds any comments at the end of the line where the node is in. + LineComment string + + // FootComment holds any comments following the node and before empty lines. + FootComment string + + // Line and Column hold the node position in the decoded YAML text. + // These fields are not respected when encoding the node. + Line int + Column int +} + +// IsZero returns whether the node has all of its fields unset. +func (n *Node) IsZero() bool { + return n.Kind == 0 && n.Style == 0 && n.Tag == "" && n.Value == "" && n.Anchor == "" && n.Alias == nil && n.Content == nil && + n.HeadComment == "" && n.LineComment == "" && n.FootComment == "" && n.Line == 0 && n.Column == 0 +} + + +// LongTag returns the long form of the tag that indicates the data type for +// the node. If the Tag field isn't explicitly defined, one will be computed +// based on the node properties. +func (n *Node) LongTag() string { + return longTag(n.ShortTag()) +} + +// ShortTag returns the short form of the YAML tag that indicates data type for +// the node. If the Tag field isn't explicitly defined, one will be computed +// based on the node properties. +func (n *Node) ShortTag() string { + if n.indicatedString() { + return strTag + } + if n.Tag == "" || n.Tag == "!" { + switch n.Kind { + case MappingNode: + return mapTag + case SequenceNode: + return seqTag + case AliasNode: + if n.Alias != nil { + return n.Alias.ShortTag() + } + case ScalarNode: + tag, _ := resolve("", n.Value) + return tag + case 0: + // Special case to make the zero value convenient. + if n.IsZero() { + return nullTag + } + } + return "" + } + return shortTag(n.Tag) +} + +func (n *Node) indicatedString() bool { + return n.Kind == ScalarNode && + (shortTag(n.Tag) == strTag || + (n.Tag == "" || n.Tag == "!") && n.Style&(SingleQuotedStyle|DoubleQuotedStyle|LiteralStyle|FoldedStyle) != 0) +} + +// SetString is a convenience function that sets the node to a string value +// and defines its style in a pleasant way depending on its content. +func (n *Node) SetString(s string) { + n.Kind = ScalarNode + if utf8.ValidString(s) { + n.Value = s + n.Tag = strTag + } else { + n.Value = encodeBase64(s) + n.Tag = binaryTag + } + if strings.Contains(n.Value, "\n") { + n.Style = LiteralStyle + } +} + +// -------------------------------------------------------------------------- +// Maintain a mapping of keys to structure field indexes + +// The code in this section was copied from mgo/bson. + +// structInfo holds details for the serialization of fields of +// a given struct. +type structInfo struct { + FieldsMap map[string]fieldInfo + FieldsList []fieldInfo + + // InlineMap is the number of the field in the struct that + // contains an ,inline map, or -1 if there's none. + InlineMap int + + // InlineUnmarshalers holds indexes to inlined fields that + // contain unmarshaler values. + InlineUnmarshalers [][]int +} + +type fieldInfo struct { + Key string + Num int + OmitEmpty bool + Flow bool + // Id holds the unique field identifier, so we can cheaply + // check for field duplicates without maintaining an extra map. + Id int + + // Inline holds the field index if the field is part of an inlined struct. + Inline []int +} + +var structMap = make(map[reflect.Type]*structInfo) +var fieldMapMutex sync.RWMutex +var unmarshalerType reflect.Type + +func init() { + var v Unmarshaler + unmarshalerType = reflect.ValueOf(&v).Elem().Type() +} + +func getStructInfo(st reflect.Type) (*structInfo, error) { + fieldMapMutex.RLock() + sinfo, found := structMap[st] + fieldMapMutex.RUnlock() + if found { + return sinfo, nil + } + + n := st.NumField() + fieldsMap := make(map[string]fieldInfo) + fieldsList := make([]fieldInfo, 0, n) + inlineMap := -1 + inlineUnmarshalers := [][]int(nil) + for i := 0; i != n; i++ { + field := st.Field(i) + if field.PkgPath != "" && !field.Anonymous { + continue // Private field + } + + info := fieldInfo{Num: i} + + tag := field.Tag.Get("yaml") + if tag == "" && strings.Index(string(field.Tag), ":") < 0 { + tag = string(field.Tag) + } + if tag == "-" { + continue + } + + inline := false + fields := strings.Split(tag, ",") + if len(fields) > 1 { + for _, flag := range fields[1:] { + switch flag { + case "omitempty": + info.OmitEmpty = true + case "flow": + info.Flow = true + case "inline": + inline = true + default: + return nil, errors.New(fmt.Sprintf("unsupported flag %q in tag %q of type %s", flag, tag, st)) + } + } + tag = fields[0] + } + + if inline { + switch field.Type.Kind() { + case reflect.Map: + if inlineMap >= 0 { + return nil, errors.New("multiple ,inline maps in struct " + st.String()) + } + if field.Type.Key() != reflect.TypeOf("") { + return nil, errors.New("option ,inline needs a map with string keys in struct " + st.String()) + } + inlineMap = info.Num + case reflect.Struct, reflect.Ptr: + ftype := field.Type + for ftype.Kind() == reflect.Ptr { + ftype = ftype.Elem() + } + if ftype.Kind() != reflect.Struct { + return nil, errors.New("option ,inline may only be used on a struct or map field") + } + if reflect.PtrTo(ftype).Implements(unmarshalerType) { + inlineUnmarshalers = append(inlineUnmarshalers, []int{i}) + } else { + sinfo, err := getStructInfo(ftype) + if err != nil { + return nil, err + } + for _, index := range sinfo.InlineUnmarshalers { + inlineUnmarshalers = append(inlineUnmarshalers, append([]int{i}, index...)) + } + for _, finfo := range sinfo.FieldsList { + if _, found := fieldsMap[finfo.Key]; found { + msg := "duplicated key '" + finfo.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + if finfo.Inline == nil { + finfo.Inline = []int{i, finfo.Num} + } else { + finfo.Inline = append([]int{i}, finfo.Inline...) + } + finfo.Id = len(fieldsList) + fieldsMap[finfo.Key] = finfo + fieldsList = append(fieldsList, finfo) + } + } + default: + return nil, errors.New("option ,inline may only be used on a struct or map field") + } + continue + } + + if tag != "" { + info.Key = tag + } else { + info.Key = strings.ToLower(field.Name) + } + + if _, found = fieldsMap[info.Key]; found { + msg := "duplicated key '" + info.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + + info.Id = len(fieldsList) + fieldsList = append(fieldsList, info) + fieldsMap[info.Key] = info + } + + sinfo = &structInfo{ + FieldsMap: fieldsMap, + FieldsList: fieldsList, + InlineMap: inlineMap, + InlineUnmarshalers: inlineUnmarshalers, + } + + fieldMapMutex.Lock() + structMap[st] = sinfo + fieldMapMutex.Unlock() + return sinfo, nil +} + +// IsZeroer is used to check whether an object is zero to +// determine whether it should be omitted when marshaling +// with the omitempty flag. One notable implementation +// is time.Time. +type IsZeroer interface { + IsZero() bool +} + +func isZero(v reflect.Value) bool { + kind := v.Kind() + if z, ok := v.Interface().(IsZeroer); ok { + if (kind == reflect.Ptr || kind == reflect.Interface) && v.IsNil() { + return true + } + return z.IsZero() + } + switch kind { + case reflect.String: + return len(v.String()) == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + case reflect.Slice: + return v.Len() == 0 + case reflect.Map: + return v.Len() == 0 + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Struct: + vt := v.Type() + for i := v.NumField() - 1; i >= 0; i-- { + if vt.Field(i).PkgPath != "" { + continue // Private field + } + if !isZero(v.Field(i)) { + return false + } + } + return true + } + return false +} diff --git a/vendor/gopkg.in/yaml.v3/yamlh.go b/vendor/gopkg.in/yaml.v3/yamlh.go new file mode 100644 index 000000000..7c6d00770 --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/yamlh.go @@ -0,0 +1,807 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "fmt" + "io" +) + +// The version directive data. +type yaml_version_directive_t struct { + major int8 // The major version number. + minor int8 // The minor version number. +} + +// The tag directive data. +type yaml_tag_directive_t struct { + handle []byte // The tag handle. + prefix []byte // The tag prefix. +} + +type yaml_encoding_t int + +// The stream encoding. +const ( + // Let the parser choose the encoding. + yaml_ANY_ENCODING yaml_encoding_t = iota + + yaml_UTF8_ENCODING // The default UTF-8 encoding. + yaml_UTF16LE_ENCODING // The UTF-16-LE encoding with BOM. + yaml_UTF16BE_ENCODING // The UTF-16-BE encoding with BOM. +) + +type yaml_break_t int + +// Line break types. +const ( + // Let the parser choose the break type. + yaml_ANY_BREAK yaml_break_t = iota + + yaml_CR_BREAK // Use CR for line breaks (Mac style). + yaml_LN_BREAK // Use LN for line breaks (Unix style). + yaml_CRLN_BREAK // Use CR LN for line breaks (DOS style). +) + +type yaml_error_type_t int + +// Many bad things could happen with the parser and emitter. +const ( + // No error is produced. + yaml_NO_ERROR yaml_error_type_t = iota + + yaml_MEMORY_ERROR // Cannot allocate or reallocate a block of memory. + yaml_READER_ERROR // Cannot read or decode the input stream. + yaml_SCANNER_ERROR // Cannot scan the input stream. + yaml_PARSER_ERROR // Cannot parse the input stream. + yaml_COMPOSER_ERROR // Cannot compose a YAML document. + yaml_WRITER_ERROR // Cannot write to the output stream. + yaml_EMITTER_ERROR // Cannot emit a YAML stream. +) + +// The pointer position. +type yaml_mark_t struct { + index int // The position index. + line int // The position line. + column int // The position column. +} + +// Node Styles + +type yaml_style_t int8 + +type yaml_scalar_style_t yaml_style_t + +// Scalar styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SCALAR_STYLE yaml_scalar_style_t = 0 + + yaml_PLAIN_SCALAR_STYLE yaml_scalar_style_t = 1 << iota // The plain scalar style. + yaml_SINGLE_QUOTED_SCALAR_STYLE // The single-quoted scalar style. + yaml_DOUBLE_QUOTED_SCALAR_STYLE // The double-quoted scalar style. + yaml_LITERAL_SCALAR_STYLE // The literal scalar style. + yaml_FOLDED_SCALAR_STYLE // The folded scalar style. +) + +type yaml_sequence_style_t yaml_style_t + +// Sequence styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SEQUENCE_STYLE yaml_sequence_style_t = iota + + yaml_BLOCK_SEQUENCE_STYLE // The block sequence style. + yaml_FLOW_SEQUENCE_STYLE // The flow sequence style. +) + +type yaml_mapping_style_t yaml_style_t + +// Mapping styles. +const ( + // Let the emitter choose the style. + yaml_ANY_MAPPING_STYLE yaml_mapping_style_t = iota + + yaml_BLOCK_MAPPING_STYLE // The block mapping style. + yaml_FLOW_MAPPING_STYLE // The flow mapping style. +) + +// Tokens + +type yaml_token_type_t int + +// Token types. +const ( + // An empty token. + yaml_NO_TOKEN yaml_token_type_t = iota + + yaml_STREAM_START_TOKEN // A STREAM-START token. + yaml_STREAM_END_TOKEN // A STREAM-END token. + + yaml_VERSION_DIRECTIVE_TOKEN // A VERSION-DIRECTIVE token. + yaml_TAG_DIRECTIVE_TOKEN // A TAG-DIRECTIVE token. + yaml_DOCUMENT_START_TOKEN // A DOCUMENT-START token. + yaml_DOCUMENT_END_TOKEN // A DOCUMENT-END token. + + yaml_BLOCK_SEQUENCE_START_TOKEN // A BLOCK-SEQUENCE-START token. + yaml_BLOCK_MAPPING_START_TOKEN // A BLOCK-SEQUENCE-END token. + yaml_BLOCK_END_TOKEN // A BLOCK-END token. + + yaml_FLOW_SEQUENCE_START_TOKEN // A FLOW-SEQUENCE-START token. + yaml_FLOW_SEQUENCE_END_TOKEN // A FLOW-SEQUENCE-END token. + yaml_FLOW_MAPPING_START_TOKEN // A FLOW-MAPPING-START token. + yaml_FLOW_MAPPING_END_TOKEN // A FLOW-MAPPING-END token. + + yaml_BLOCK_ENTRY_TOKEN // A BLOCK-ENTRY token. + yaml_FLOW_ENTRY_TOKEN // A FLOW-ENTRY token. + yaml_KEY_TOKEN // A KEY token. + yaml_VALUE_TOKEN // A VALUE token. + + yaml_ALIAS_TOKEN // An ALIAS token. + yaml_ANCHOR_TOKEN // An ANCHOR token. + yaml_TAG_TOKEN // A TAG token. + yaml_SCALAR_TOKEN // A SCALAR token. +) + +func (tt yaml_token_type_t) String() string { + switch tt { + case yaml_NO_TOKEN: + return "yaml_NO_TOKEN" + case yaml_STREAM_START_TOKEN: + return "yaml_STREAM_START_TOKEN" + case yaml_STREAM_END_TOKEN: + return "yaml_STREAM_END_TOKEN" + case yaml_VERSION_DIRECTIVE_TOKEN: + return "yaml_VERSION_DIRECTIVE_TOKEN" + case yaml_TAG_DIRECTIVE_TOKEN: + return "yaml_TAG_DIRECTIVE_TOKEN" + case yaml_DOCUMENT_START_TOKEN: + return "yaml_DOCUMENT_START_TOKEN" + case yaml_DOCUMENT_END_TOKEN: + return "yaml_DOCUMENT_END_TOKEN" + case yaml_BLOCK_SEQUENCE_START_TOKEN: + return "yaml_BLOCK_SEQUENCE_START_TOKEN" + case yaml_BLOCK_MAPPING_START_TOKEN: + return "yaml_BLOCK_MAPPING_START_TOKEN" + case yaml_BLOCK_END_TOKEN: + return "yaml_BLOCK_END_TOKEN" + case yaml_FLOW_SEQUENCE_START_TOKEN: + return "yaml_FLOW_SEQUENCE_START_TOKEN" + case yaml_FLOW_SEQUENCE_END_TOKEN: + return "yaml_FLOW_SEQUENCE_END_TOKEN" + case yaml_FLOW_MAPPING_START_TOKEN: + return "yaml_FLOW_MAPPING_START_TOKEN" + case yaml_FLOW_MAPPING_END_TOKEN: + return "yaml_FLOW_MAPPING_END_TOKEN" + case yaml_BLOCK_ENTRY_TOKEN: + return "yaml_BLOCK_ENTRY_TOKEN" + case yaml_FLOW_ENTRY_TOKEN: + return "yaml_FLOW_ENTRY_TOKEN" + case yaml_KEY_TOKEN: + return "yaml_KEY_TOKEN" + case yaml_VALUE_TOKEN: + return "yaml_VALUE_TOKEN" + case yaml_ALIAS_TOKEN: + return "yaml_ALIAS_TOKEN" + case yaml_ANCHOR_TOKEN: + return "yaml_ANCHOR_TOKEN" + case yaml_TAG_TOKEN: + return "yaml_TAG_TOKEN" + case yaml_SCALAR_TOKEN: + return "yaml_SCALAR_TOKEN" + } + return "<unknown token>" +} + +// The token structure. +type yaml_token_t struct { + // The token type. + typ yaml_token_type_t + + // The start/end of the token. + start_mark, end_mark yaml_mark_t + + // The stream encoding (for yaml_STREAM_START_TOKEN). + encoding yaml_encoding_t + + // The alias/anchor/scalar value or tag/tag directive handle + // (for yaml_ALIAS_TOKEN, yaml_ANCHOR_TOKEN, yaml_SCALAR_TOKEN, yaml_TAG_TOKEN, yaml_TAG_DIRECTIVE_TOKEN). + value []byte + + // The tag suffix (for yaml_TAG_TOKEN). + suffix []byte + + // The tag directive prefix (for yaml_TAG_DIRECTIVE_TOKEN). + prefix []byte + + // The scalar style (for yaml_SCALAR_TOKEN). + style yaml_scalar_style_t + + // The version directive major/minor (for yaml_VERSION_DIRECTIVE_TOKEN). + major, minor int8 +} + +// Events + +type yaml_event_type_t int8 + +// Event types. +const ( + // An empty event. + yaml_NO_EVENT yaml_event_type_t = iota + + yaml_STREAM_START_EVENT // A STREAM-START event. + yaml_STREAM_END_EVENT // A STREAM-END event. + yaml_DOCUMENT_START_EVENT // A DOCUMENT-START event. + yaml_DOCUMENT_END_EVENT // A DOCUMENT-END event. + yaml_ALIAS_EVENT // An ALIAS event. + yaml_SCALAR_EVENT // A SCALAR event. + yaml_SEQUENCE_START_EVENT // A SEQUENCE-START event. + yaml_SEQUENCE_END_EVENT // A SEQUENCE-END event. + yaml_MAPPING_START_EVENT // A MAPPING-START event. + yaml_MAPPING_END_EVENT // A MAPPING-END event. + yaml_TAIL_COMMENT_EVENT +) + +var eventStrings = []string{ + yaml_NO_EVENT: "none", + yaml_STREAM_START_EVENT: "stream start", + yaml_STREAM_END_EVENT: "stream end", + yaml_DOCUMENT_START_EVENT: "document start", + yaml_DOCUMENT_END_EVENT: "document end", + yaml_ALIAS_EVENT: "alias", + yaml_SCALAR_EVENT: "scalar", + yaml_SEQUENCE_START_EVENT: "sequence start", + yaml_SEQUENCE_END_EVENT: "sequence end", + yaml_MAPPING_START_EVENT: "mapping start", + yaml_MAPPING_END_EVENT: "mapping end", + yaml_TAIL_COMMENT_EVENT: "tail comment", +} + +func (e yaml_event_type_t) String() string { + if e < 0 || int(e) >= len(eventStrings) { + return fmt.Sprintf("unknown event %d", e) + } + return eventStrings[e] +} + +// The event structure. +type yaml_event_t struct { + + // The event type. + typ yaml_event_type_t + + // The start and end of the event. + start_mark, end_mark yaml_mark_t + + // The document encoding (for yaml_STREAM_START_EVENT). + encoding yaml_encoding_t + + // The version directive (for yaml_DOCUMENT_START_EVENT). + version_directive *yaml_version_directive_t + + // The list of tag directives (for yaml_DOCUMENT_START_EVENT). + tag_directives []yaml_tag_directive_t + + // The comments + head_comment []byte + line_comment []byte + foot_comment []byte + tail_comment []byte + + // The anchor (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_ALIAS_EVENT). + anchor []byte + + // The tag (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + tag []byte + + // The scalar value (for yaml_SCALAR_EVENT). + value []byte + + // Is the document start/end indicator implicit, or the tag optional? + // (for yaml_DOCUMENT_START_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_SCALAR_EVENT). + implicit bool + + // Is the tag optional for any non-plain style? (for yaml_SCALAR_EVENT). + quoted_implicit bool + + // The style (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + style yaml_style_t +} + +func (e *yaml_event_t) scalar_style() yaml_scalar_style_t { return yaml_scalar_style_t(e.style) } +func (e *yaml_event_t) sequence_style() yaml_sequence_style_t { return yaml_sequence_style_t(e.style) } +func (e *yaml_event_t) mapping_style() yaml_mapping_style_t { return yaml_mapping_style_t(e.style) } + +// Nodes + +const ( + yaml_NULL_TAG = "tag:yaml.org,2002:null" // The tag !!null with the only possible value: null. + yaml_BOOL_TAG = "tag:yaml.org,2002:bool" // The tag !!bool with the values: true and false. + yaml_STR_TAG = "tag:yaml.org,2002:str" // The tag !!str for string values. + yaml_INT_TAG = "tag:yaml.org,2002:int" // The tag !!int for integer values. + yaml_FLOAT_TAG = "tag:yaml.org,2002:float" // The tag !!float for float values. + yaml_TIMESTAMP_TAG = "tag:yaml.org,2002:timestamp" // The tag !!timestamp for date and time values. + + yaml_SEQ_TAG = "tag:yaml.org,2002:seq" // The tag !!seq is used to denote sequences. + yaml_MAP_TAG = "tag:yaml.org,2002:map" // The tag !!map is used to denote mapping. + + // Not in original libyaml. + yaml_BINARY_TAG = "tag:yaml.org,2002:binary" + yaml_MERGE_TAG = "tag:yaml.org,2002:merge" + + yaml_DEFAULT_SCALAR_TAG = yaml_STR_TAG // The default scalar tag is !!str. + yaml_DEFAULT_SEQUENCE_TAG = yaml_SEQ_TAG // The default sequence tag is !!seq. + yaml_DEFAULT_MAPPING_TAG = yaml_MAP_TAG // The default mapping tag is !!map. +) + +type yaml_node_type_t int + +// Node types. +const ( + // An empty node. + yaml_NO_NODE yaml_node_type_t = iota + + yaml_SCALAR_NODE // A scalar node. + yaml_SEQUENCE_NODE // A sequence node. + yaml_MAPPING_NODE // A mapping node. +) + +// An element of a sequence node. +type yaml_node_item_t int + +// An element of a mapping node. +type yaml_node_pair_t struct { + key int // The key of the element. + value int // The value of the element. +} + +// The node structure. +type yaml_node_t struct { + typ yaml_node_type_t // The node type. + tag []byte // The node tag. + + // The node data. + + // The scalar parameters (for yaml_SCALAR_NODE). + scalar struct { + value []byte // The scalar value. + length int // The length of the scalar value. + style yaml_scalar_style_t // The scalar style. + } + + // The sequence parameters (for YAML_SEQUENCE_NODE). + sequence struct { + items_data []yaml_node_item_t // The stack of sequence items. + style yaml_sequence_style_t // The sequence style. + } + + // The mapping parameters (for yaml_MAPPING_NODE). + mapping struct { + pairs_data []yaml_node_pair_t // The stack of mapping pairs (key, value). + pairs_start *yaml_node_pair_t // The beginning of the stack. + pairs_end *yaml_node_pair_t // The end of the stack. + pairs_top *yaml_node_pair_t // The top of the stack. + style yaml_mapping_style_t // The mapping style. + } + + start_mark yaml_mark_t // The beginning of the node. + end_mark yaml_mark_t // The end of the node. + +} + +// The document structure. +type yaml_document_t struct { + + // The document nodes. + nodes []yaml_node_t + + // The version directive. + version_directive *yaml_version_directive_t + + // The list of tag directives. + tag_directives_data []yaml_tag_directive_t + tag_directives_start int // The beginning of the tag directives list. + tag_directives_end int // The end of the tag directives list. + + start_implicit int // Is the document start indicator implicit? + end_implicit int // Is the document end indicator implicit? + + // The start/end of the document. + start_mark, end_mark yaml_mark_t +} + +// The prototype of a read handler. +// +// The read handler is called when the parser needs to read more bytes from the +// source. The handler should write not more than size bytes to the buffer. +// The number of written bytes should be set to the size_read variable. +// +// [in,out] data A pointer to an application data specified by +// yaml_parser_set_input(). +// [out] buffer The buffer to write the data from the source. +// [in] size The size of the buffer. +// [out] size_read The actual number of bytes read from the source. +// +// On success, the handler should return 1. If the handler failed, +// the returned value should be 0. On EOF, the handler should set the +// size_read to 0 and return 1. +type yaml_read_handler_t func(parser *yaml_parser_t, buffer []byte) (n int, err error) + +// This structure holds information about a potential simple key. +type yaml_simple_key_t struct { + possible bool // Is a simple key possible? + required bool // Is a simple key required? + token_number int // The number of the token. + mark yaml_mark_t // The position mark. +} + +// The states of the parser. +type yaml_parser_state_t int + +const ( + yaml_PARSE_STREAM_START_STATE yaml_parser_state_t = iota + + yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE // Expect the beginning of an implicit document. + yaml_PARSE_DOCUMENT_START_STATE // Expect DOCUMENT-START. + yaml_PARSE_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_PARSE_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_PARSE_BLOCK_NODE_STATE // Expect a block node. + yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE // Expect a block node or indentless sequence. + yaml_PARSE_FLOW_NODE_STATE // Expect a flow node. + yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a block sequence. + yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE // Expect an entry of a block sequence. + yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE // Expect an entry of an indentless sequence. + yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_PARSE_BLOCK_MAPPING_KEY_STATE // Expect a block mapping key. + yaml_PARSE_BLOCK_MAPPING_VALUE_STATE // Expect a block mapping value. + yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE // Expect an entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE // Expect a key of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE // Expect a value of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE // Expect the and of an ordered mapping entry. + yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE // Expect an empty value of a flow mapping. + yaml_PARSE_END_STATE // Expect nothing. +) + +func (ps yaml_parser_state_t) String() string { + switch ps { + case yaml_PARSE_STREAM_START_STATE: + return "yaml_PARSE_STREAM_START_STATE" + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return "yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_START_STATE: + return "yaml_PARSE_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return "yaml_PARSE_DOCUMENT_CONTENT_STATE" + case yaml_PARSE_DOCUMENT_END_STATE: + return "yaml_PARSE_DOCUMENT_END_STATE" + case yaml_PARSE_BLOCK_NODE_STATE: + return "yaml_PARSE_BLOCK_NODE_STATE" + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return "yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE" + case yaml_PARSE_FLOW_NODE_STATE: + return "yaml_PARSE_FLOW_NODE_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return "yaml_PARSE_BLOCK_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE" + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE" + case yaml_PARSE_END_STATE: + return "yaml_PARSE_END_STATE" + } + return "<unknown parser state>" +} + +// This structure holds aliases data. +type yaml_alias_data_t struct { + anchor []byte // The anchor. + index int // The node id. + mark yaml_mark_t // The anchor mark. +} + +// The parser structure. +// +// All members are internal. Manage the structure using the +// yaml_parser_ family of functions. +type yaml_parser_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + + problem string // Error description. + + // The byte about which the problem occurred. + problem_offset int + problem_value int + problem_mark yaml_mark_t + + // The error context. + context string + context_mark yaml_mark_t + + // Reader stuff + + read_handler yaml_read_handler_t // Read handler. + + input_reader io.Reader // File input data. + input []byte // String input data. + input_pos int + + eof bool // EOF flag + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + unread int // The number of unread characters in the buffer. + + newlines int // The number of line breaks since last non-break/non-blank character + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The input encoding. + + offset int // The offset of the current position (in bytes). + mark yaml_mark_t // The mark of the current position. + + // Comments + + head_comment []byte // The current head comments + line_comment []byte // The current line comments + foot_comment []byte // The current foot comments + tail_comment []byte // Foot comment that happens at the end of a block. + stem_comment []byte // Comment in item preceding a nested structure (list inside list item, etc) + + comments []yaml_comment_t // The folded comments for all parsed tokens + comments_head int + + // Scanner stuff + + stream_start_produced bool // Have we started to scan the input stream? + stream_end_produced bool // Have we reached the end of the input stream? + + flow_level int // The number of unclosed '[' and '{' indicators. + + tokens []yaml_token_t // The tokens queue. + tokens_head int // The head of the tokens queue. + tokens_parsed int // The number of tokens fetched from the queue. + token_available bool // Does the tokens queue contain a token ready for dequeueing. + + indent int // The current indentation level. + indents []int // The indentation levels stack. + + simple_key_allowed bool // May a simple key occur at the current position? + simple_keys []yaml_simple_key_t // The stack of simple keys. + simple_keys_by_tok map[int]int // possible simple_key indexes indexed by token_number + + // Parser stuff + + state yaml_parser_state_t // The current parser state. + states []yaml_parser_state_t // The parser states stack. + marks []yaml_mark_t // The stack of marks. + tag_directives []yaml_tag_directive_t // The list of TAG directives. + + // Dumper stuff + + aliases []yaml_alias_data_t // The alias data. + + document *yaml_document_t // The currently parsed document. +} + +type yaml_comment_t struct { + + scan_mark yaml_mark_t // Position where scanning for comments started + token_mark yaml_mark_t // Position after which tokens will be associated with this comment + start_mark yaml_mark_t // Position of '#' comment mark + end_mark yaml_mark_t // Position where comment terminated + + head []byte + line []byte + foot []byte +} + +// Emitter Definitions + +// The prototype of a write handler. +// +// The write handler is called when the emitter needs to flush the accumulated +// characters to the output. The handler should write @a size bytes of the +// @a buffer to the output. +// +// @param[in,out] data A pointer to an application data specified by +// yaml_emitter_set_output(). +// @param[in] buffer The buffer with bytes to be written. +// @param[in] size The size of the buffer. +// +// @returns On success, the handler should return @c 1. If the handler failed, +// the returned value should be @c 0. +// +type yaml_write_handler_t func(emitter *yaml_emitter_t, buffer []byte) error + +type yaml_emitter_state_t int + +// The emitter states. +const ( + // Expect STREAM-START. + yaml_EMIT_STREAM_START_STATE yaml_emitter_state_t = iota + + yaml_EMIT_FIRST_DOCUMENT_START_STATE // Expect the first DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_START_STATE // Expect DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_EMIT_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a flow sequence. + yaml_EMIT_FLOW_SEQUENCE_TRAIL_ITEM_STATE // Expect the next item of a flow sequence, with the comma already written out + yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE // Expect an item of a flow sequence. + yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_TRAIL_KEY_STATE // Expect the next key of a flow mapping, with the comma already written out + yaml_EMIT_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a block sequence. + yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE // Expect an item of a block sequence. + yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_KEY_STATE // Expect the key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_VALUE_STATE // Expect a value of a block mapping. + yaml_EMIT_END_STATE // Expect nothing. +) + +// The emitter structure. +// +// All members are internal. Manage the structure using the @c yaml_emitter_ +// family of functions. +type yaml_emitter_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + problem string // Error description. + + // Writer stuff + + write_handler yaml_write_handler_t // Write handler. + + output_buffer *[]byte // String output data. + output_writer io.Writer // File output data. + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The stream encoding. + + // Emitter stuff + + canonical bool // If the output is in the canonical style? + best_indent int // The number of indentation spaces. + best_width int // The preferred width of the output lines. + unicode bool // Allow unescaped non-ASCII characters? + line_break yaml_break_t // The preferred line break. + + state yaml_emitter_state_t // The current emitter state. + states []yaml_emitter_state_t // The stack of states. + + events []yaml_event_t // The event queue. + events_head int // The head of the event queue. + + indents []int // The stack of indentation levels. + + tag_directives []yaml_tag_directive_t // The list of tag directives. + + indent int // The current indentation level. + + flow_level int // The current flow level. + + root_context bool // Is it the document root context? + sequence_context bool // Is it a sequence context? + mapping_context bool // Is it a mapping context? + simple_key_context bool // Is it a simple mapping key context? + + line int // The current line. + column int // The current column. + whitespace bool // If the last character was a whitespace? + indention bool // If the last character was an indentation character (' ', '-', '?', ':')? + open_ended bool // If an explicit document end is required? + + space_above bool // Is there's an empty line above? + foot_indent int // The indent used to write the foot comment above, or -1 if none. + + // Anchor analysis. + anchor_data struct { + anchor []byte // The anchor value. + alias bool // Is it an alias? + } + + // Tag analysis. + tag_data struct { + handle []byte // The tag handle. + suffix []byte // The tag suffix. + } + + // Scalar analysis. + scalar_data struct { + value []byte // The scalar value. + multiline bool // Does the scalar contain line breaks? + flow_plain_allowed bool // Can the scalar be expessed in the flow plain style? + block_plain_allowed bool // Can the scalar be expressed in the block plain style? + single_quoted_allowed bool // Can the scalar be expressed in the single quoted style? + block_allowed bool // Can the scalar be expressed in the literal or folded styles? + style yaml_scalar_style_t // The output style. + } + + // Comments + head_comment []byte + line_comment []byte + foot_comment []byte + tail_comment []byte + + key_line_comment []byte + + // Dumper stuff + + opened bool // If the stream was already opened? + closed bool // If the stream was already closed? + + // The information associated with the document nodes. + anchors *struct { + references int // The number of references. + anchor int // The anchor id. + serialized bool // If the node has been emitted? + } + + last_anchor_id int // The last assigned anchor id. + + document *yaml_document_t // The currently emitted document. +} diff --git a/vendor/gopkg.in/yaml.v3/yamlprivateh.go b/vendor/gopkg.in/yaml.v3/yamlprivateh.go new file mode 100644 index 000000000..e88f9c54a --- /dev/null +++ b/vendor/gopkg.in/yaml.v3/yamlprivateh.go @@ -0,0 +1,198 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +const ( + // The size of the input raw buffer. + input_raw_buffer_size = 512 + + // The size of the input buffer. + // It should be possible to decode the whole raw buffer. + input_buffer_size = input_raw_buffer_size * 3 + + // The size of the output buffer. + output_buffer_size = 128 + + // The size of the output raw buffer. + // It should be possible to encode the whole output buffer. + output_raw_buffer_size = (output_buffer_size*2 + 2) + + // The size of other stacks and queues. + initial_stack_size = 16 + initial_queue_size = 16 + initial_string_size = 16 +) + +// Check if the character at the specified position is an alphabetical +// character, a digit, '_', or '-'. +func is_alpha(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'Z' || b[i] >= 'a' && b[i] <= 'z' || b[i] == '_' || b[i] == '-' +} + +// Check if the character at the specified position is a digit. +func is_digit(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' +} + +// Get the value of a digit. +func as_digit(b []byte, i int) int { + return int(b[i]) - '0' +} + +// Check if the character at the specified position is a hex-digit. +func is_hex(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'F' || b[i] >= 'a' && b[i] <= 'f' +} + +// Get the value of a hex-digit. +func as_hex(b []byte, i int) int { + bi := b[i] + if bi >= 'A' && bi <= 'F' { + return int(bi) - 'A' + 10 + } + if bi >= 'a' && bi <= 'f' { + return int(bi) - 'a' + 10 + } + return int(bi) - '0' +} + +// Check if the character is ASCII. +func is_ascii(b []byte, i int) bool { + return b[i] <= 0x7F +} + +// Check if the character at the start of the buffer can be printed unescaped. +func is_printable(b []byte, i int) bool { + return ((b[i] == 0x0A) || // . == #x0A + (b[i] >= 0x20 && b[i] <= 0x7E) || // #x20 <= . <= #x7E + (b[i] == 0xC2 && b[i+1] >= 0xA0) || // #0xA0 <= . <= #xD7FF + (b[i] > 0xC2 && b[i] < 0xED) || + (b[i] == 0xED && b[i+1] < 0xA0) || + (b[i] == 0xEE) || + (b[i] == 0xEF && // #xE000 <= . <= #xFFFD + !(b[i+1] == 0xBB && b[i+2] == 0xBF) && // && . != #xFEFF + !(b[i+1] == 0xBF && (b[i+2] == 0xBE || b[i+2] == 0xBF)))) +} + +// Check if the character at the specified position is NUL. +func is_z(b []byte, i int) bool { + return b[i] == 0x00 +} + +// Check if the beginning of the buffer is a BOM. +func is_bom(b []byte, i int) bool { + return b[0] == 0xEF && b[1] == 0xBB && b[2] == 0xBF +} + +// Check if the character at the specified position is space. +func is_space(b []byte, i int) bool { + return b[i] == ' ' +} + +// Check if the character at the specified position is tab. +func is_tab(b []byte, i int) bool { + return b[i] == '\t' +} + +// Check if the character at the specified position is blank (space or tab). +func is_blank(b []byte, i int) bool { + //return is_space(b, i) || is_tab(b, i) + return b[i] == ' ' || b[i] == '\t' +} + +// Check if the character at the specified position is a line break. +func is_break(b []byte, i int) bool { + return (b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9) // PS (#x2029) +} + +func is_crlf(b []byte, i int) bool { + return b[i] == '\r' && b[i+1] == '\n' +} + +// Check if the character is a line break or NUL. +func is_breakz(b []byte, i int) bool { + //return is_break(b, i) || is_z(b, i) + return ( + // is_break: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + // is_z: + b[i] == 0) +} + +// Check if the character is a line break, space, or NUL. +func is_spacez(b []byte, i int) bool { + //return is_space(b, i) || is_breakz(b, i) + return ( + // is_space: + b[i] == ' ' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Check if the character is a line break, space, tab, or NUL. +func is_blankz(b []byte, i int) bool { + //return is_blank(b, i) || is_breakz(b, i) + return ( + // is_blank: + b[i] == ' ' || b[i] == '\t' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Determine the width of the character. +func width(b byte) int { + // Don't replace these by a switch without first + // confirming that it is being inlined. + if b&0x80 == 0x00 { + return 1 + } + if b&0xE0 == 0xC0 { + return 2 + } + if b&0xF0 == 0xE0 { + return 3 + } + if b&0xF8 == 0xF0 { + return 4 + } + return 0 + +} diff --git a/vendor/mellium.im/sasl/.gitignore b/vendor/mellium.im/sasl/.gitignore new file mode 100644 index 000000000..ec356a1a2 --- /dev/null +++ b/vendor/mellium.im/sasl/.gitignore @@ -0,0 +1,6 @@ +*.sw[op] +*.svg +*.xml +*.out +Gopkg.lock +vendor/ diff --git a/vendor/mellium.im/sasl/LICENSE.md b/vendor/mellium.im/sasl/LICENSE.md new file mode 100644 index 000000000..a4d3c2aad --- /dev/null +++ b/vendor/mellium.im/sasl/LICENSE.md @@ -0,0 +1,25 @@ +## The BSD 2-Clause License + +Copyright © 2014 The Mellium Contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. 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/mellium.im/sasl/Makefile b/vendor/mellium.im/sasl/Makefile new file mode 100644 index 000000000..01de94bc2 --- /dev/null +++ b/vendor/mellium.im/sasl/Makefile @@ -0,0 +1,20 @@ +PACKAGES=$$(go list ./... | grep -v '/vendor/') + +.PHONEY: test +test: + go test -cover $(PACKAGES) + +.PHONEY: bench +bench: + go test -cover -bench . -benchmem -run 'Benchmark.*' $(PACKAGES) + +.PHONEY: vet +vet: + go vet $(PACKAGES) + +deps.svg: *.go + ( echo "digraph G {"; \ + go list -f '{{range .Imports}}{{printf "\t%q -> %q;\n" $$.ImportPath .}}{{end}}' \ + $$(go list -f '{{join .Deps " "}}' .) .; \ + echo "}"; \ + ) | dot -Tsvg -o $@ diff --git a/vendor/mellium.im/sasl/README.md b/vendor/mellium.im/sasl/README.md new file mode 100644 index 000000000..2c5845a03 --- /dev/null +++ b/vendor/mellium.im/sasl/README.md @@ -0,0 +1,22 @@ +# SASL + +[![GoDoc](https://godoc.org/mellium.im/sasl?status.svg)](https://godoc.org/mellium.im/sasl) +[![License](https://img.shields.io/badge/license-FreeBSD-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) + +[![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/purple_img.png)](https://www.buymeacoffee.com/samwhited) + +A Go library implementing the Simple Authentication and Security Layer (SASL) as +defined by [RFC 4422][rfc4422]. + +## Issues and feature requests + +To file a bug report, please use the [issue tracker][issues]. + +## License + +The package may be used under the terms of the BSD 2-Clause License a copy of +which may be found in the file [LICENSE.md][LICENSE]. + +[rfc4422]: https://tools.ietf.org/html/rfc4422 +[issues]: https://bitbucket.org/mellium/sasl/issues?status=new&status=open +[LICENSE]: ./LICENSE.md diff --git a/vendor/mellium.im/sasl/bitbucket-pipelines.yml b/vendor/mellium.im/sasl/bitbucket-pipelines.yml new file mode 100644 index 000000000..cd90ef00e --- /dev/null +++ b/vendor/mellium.im/sasl/bitbucket-pipelines.yml @@ -0,0 +1,10 @@ +image: golang:latest +pipelines: + default: + - step: + script: + - go version + - go vet ./... + - go test -race ./... + - go test -cover ./... + - go test -bench . -benchmem ./... diff --git a/vendor/mellium.im/sasl/doc.go b/vendor/mellium.im/sasl/doc.go new file mode 100644 index 000000000..9e7b7221e --- /dev/null +++ b/vendor/mellium.im/sasl/doc.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Mellium Contributors. +// Use of this source code is governed by the BSD 2-clause license that can be +// found in the LICENSE file. + +// Package sasl implements the Simple Authentication and Security Layer (SASL) +// as defined by RFC 4422. +// +// Most users of this package will only need to create a Negotiator using +// NewClient or NewServer and call its Step method repeatedly. +// Authors implementing SASL mechanisms other than the builtin ones will want to +// create a Mechanism struct which will likely use the other methods on the +// Negotiator. +// +// Be advised: This API is still unstable and is subject to change. +package sasl // import "mellium.im/sasl" diff --git a/vendor/mellium.im/sasl/go.mod b/vendor/mellium.im/sasl/go.mod new file mode 100644 index 000000000..818e1ef63 --- /dev/null +++ b/vendor/mellium.im/sasl/go.mod @@ -0,0 +1,3 @@ +module mellium.im/sasl + +require golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b diff --git a/vendor/mellium.im/sasl/go.sum b/vendor/mellium.im/sasl/go.sum new file mode 100644 index 000000000..07edbc187 --- /dev/null +++ b/vendor/mellium.im/sasl/go.sum @@ -0,0 +1,2 @@ +golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b h1:2b9XGzhjiYsYPnKXoEfL7klWZQIt8IfyRCz62gCqqlQ= +golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= diff --git a/vendor/mellium.im/sasl/mechanism.go b/vendor/mellium.im/sasl/mechanism.go new file mode 100644 index 000000000..7cf166d7b --- /dev/null +++ b/vendor/mellium.im/sasl/mechanism.go @@ -0,0 +1,58 @@ +// Copyright 2016 The Mellium Contributors. +// Use of this source code is governed by the BSD 2-clause license that can be +// found in the LICENSE file. + +package sasl + +import ( + "crypto/sha1" + "crypto/sha256" + "errors" +) + +// Define common errors used by SASL mechanisms and negotiators. +var ( + ErrInvalidState = errors.New("Invalid state") + ErrInvalidChallenge = errors.New("Invalid or missing challenge") + ErrAuthn = errors.New("Authentication error") + ErrTooManySteps = errors.New("Step called too many times") +) + +var ( + // Plain is a Mechanism that implements the PLAIN authentication mechanism + // as defined by RFC 4616. + Plain Mechanism = plain + + // ScramSha256Plus is a Mechanism that implements the SCRAM-SHA-256-PLUS + // authentication mechanism defined in RFC 7677. The only supported channel + // binding type is tls-unique as defined in RFC 5929. + ScramSha256Plus Mechanism = scram("SCRAM-SHA-256-PLUS", sha256.New) + + // ScramSha256 is a Mechanism that implements the SCRAM-SHA-256 + // authentication mechanism defined in RFC 7677. + ScramSha256 Mechanism = scram("SCRAM-SHA-256", sha256.New) + + // ScramSha1Plus is a Mechanism that implements the SCRAM-SHA-1-PLUS + // authentication mechanism defined in RFC 5802. The only supported channel + // binding type is tls-unique as defined in RFC 5929. + ScramSha1Plus Mechanism = scram("SCRAM-SHA-1-PLUS", sha1.New) + + // ScramSha1 is a Mechanism that implements the SCRAM-SHA-1 authentication + // mechanism defined in RFC 5802. + ScramSha1 Mechanism = scram("SCRAM-SHA-1", sha1.New) +) + +// Mechanism represents a SASL mechanism that can be used by a Client or Server +// to perform the actual negotiation. Base64 encoding the final challenges and +// responses should not be performed by the mechanism. +// +// Mechanisms must be stateless and may be shared between goroutines. When a +// mechanism needs to store state between the different steps it can return +// anything that it needs to store and the value will be cached by the +// negotiator and passed in as the data parameter when the next challenge is +// received. +type Mechanism struct { + Name string + Start func(n *Negotiator) (more bool, resp []byte, cache interface{}, err error) + Next func(n *Negotiator, challenge []byte, data interface{}) (more bool, resp []byte, cache interface{}, err error) +} diff --git a/vendor/mellium.im/sasl/negotiator.go b/vendor/mellium.im/sasl/negotiator.go new file mode 100644 index 000000000..217ff2a1b --- /dev/null +++ b/vendor/mellium.im/sasl/negotiator.go @@ -0,0 +1,192 @@ +// Copyright 2016 The Mellium Contributors. +// Use of this source code is governed by the BSD 2-clause license that can be +// found in the LICENSE file. + +package sasl + +import ( + "crypto/rand" + "crypto/tls" + "strings" +) + +// State represents the current state of a Negotiator. +// The first two bits represent the actual state of the state machine and the +// last 3 bits are a bitmask that define the machines behavior. +// The remaining bits should not be used. +type State uint8 + +// The current step of the Server or Client (represented by the first two bits +// of the state byte). +const ( + Initial State = iota + AuthTextSent + ResponseSent + ValidServerResponse + + // Bitmask used for extracting the step from the state byte. + StepMask = 0x3 +) + +const ( + // RemoteCB bit is on if the remote client or server supports channel binding. + RemoteCB State = 1 << (iota + 3) + + // Errored bit is on if the machine has errored. + Errored + + // Receiving bit is on if the machine is a server. + Receiving +) + +// NewClient creates a new SASL Negotiator that supports creating authentication +// requests using the given mechanism. +func NewClient(m Mechanism, opts ...Option) *Negotiator { + machine := &Negotiator{ + mechanism: m, + nonce: nonce(noncerandlen, rand.Reader), + } + getOpts(machine, opts...) + for _, rname := range machine.remoteMechanisms { + lname := m.Name + if lname == rname && strings.HasSuffix(lname, "-PLUS") { + machine.state |= RemoteCB + return machine + } + } + return machine +} + +// NewServer creates a new SASL Negotiator that supports receiving +// authentication requests using the given mechanism. +// A nil permissions function is the same as a function that always returns +// false. +func NewServer(m Mechanism, permissions func(*Negotiator) bool, opts ...Option) *Negotiator { + machine := &Negotiator{ + mechanism: m, + nonce: nonce(noncerandlen, rand.Reader), + state: AuthTextSent | Receiving, + } + getOpts(machine, opts...) + if permissions != nil { + machine.permissions = permissions + } + for _, rname := range machine.remoteMechanisms { + lname := m.Name + if lname == rname && strings.HasSuffix(lname, "-PLUS") { + machine.state |= RemoteCB + return machine + } + } + return machine +} + +// A Negotiator represents a SASL client or server state machine that can +// attempt to negotiate auth. Negotiators should not be used from multiple +// goroutines, and must be reset between negotiation attempts. +type Negotiator struct { + tlsState *tls.ConnectionState + remoteMechanisms []string + credentials func() (Username, Password, Identity []byte) + permissions func(*Negotiator) bool + mechanism Mechanism + state State + nonce []byte + cache interface{} +} + +// Nonce returns a unique nonce that is reset for each negotiation attempt. It +// is used by SASL Mechanisms and should generally not be called directly. +func (c *Negotiator) Nonce() []byte { + return c.nonce +} + +// Step attempts to transition the state machine to its next state. If Step is +// called after a previous invocation generates an error (and the state machine +// has not been reset to its initial state), Step panics. +func (c *Negotiator) Step(challenge []byte) (more bool, resp []byte, err error) { + if c.state&Errored == Errored { + panic("sasl: Step called on a SASL state machine that has errored") + } + defer func() { + if err != nil { + c.state |= Errored + } + }() + + switch c.state & StepMask { + case Initial: + more, resp, c.cache, err = c.mechanism.Start(c) + c.state = c.state&^StepMask | AuthTextSent + case AuthTextSent: + more, resp, c.cache, err = c.mechanism.Next(c, challenge, c.cache) + c.state = c.state&^StepMask | ResponseSent + case ResponseSent: + more, resp, c.cache, err = c.mechanism.Next(c, challenge, c.cache) + c.state = c.state&^StepMask | ValidServerResponse + case ValidServerResponse: + more, resp, c.cache, err = c.mechanism.Next(c, challenge, c.cache) + } + + if err != nil { + return false, nil, err + } + + return more, resp, err +} + +// State returns the internal state of the SASL state machine. +func (c *Negotiator) State() State { + return c.state +} + +// Reset resets the state machine to its initial state so that it can be reused +// in another SASL exchange. +func (c *Negotiator) Reset() { + c.state = c.state & (Receiving | RemoteCB) + + // Skip the start step for servers + if c.state&Receiving == Receiving { + c.state = c.state&^StepMask | AuthTextSent + } + + c.nonce = nonce(noncerandlen, rand.Reader) + c.cache = nil +} + +// Credentials returns a username, and password for authentication and optional +// identity for authorization. +func (c *Negotiator) Credentials() (username, password, identity []byte) { + if c.credentials != nil { + return c.credentials() + } + return +} + +// Permissions is the callback used by the server to authenticate the user. +func (c *Negotiator) Permissions(opts ...Option) bool { + if c.permissions != nil { + nn := *c + getOpts(&nn, opts...) + return c.permissions(&nn) + } + return false +} + +// TLSState is the state of any TLS connections being used to negotiate SASL +// (it can be used for channel binding). +func (c *Negotiator) TLSState() *tls.ConnectionState { + if c.tlsState != nil { + return c.tlsState + } + return nil +} + +// RemoteMechanisms is a list of mechanisms as advertised by the other side of a +// SASL negotiation. +func (c *Negotiator) RemoteMechanisms() []string { + if c.remoteMechanisms != nil { + return c.remoteMechanisms + } + return nil +} diff --git a/vendor/mellium.im/sasl/nonce.go b/vendor/mellium.im/sasl/nonce.go new file mode 100644 index 000000000..8e8666fd2 --- /dev/null +++ b/vendor/mellium.im/sasl/nonce.go @@ -0,0 +1,30 @@ +// Copyright 2016 The Mellium Contributors. +// Use of this source code is governed by the BSD 2-clause license that can be +// found in the LICENSE file. + +package sasl + +import ( + "encoding/base64" + "io" +) + +// Generates a nonce with n random bytes base64 encoded to ensure that it meets +// the criteria for inclusion in a SCRAM message. +func nonce(n int, r io.Reader) []byte { + if n < 1 { + panic("Cannot generate zero or negative length nonce") + } + b := make([]byte, n) + n2, err := r.Read(b) + switch { + case err != nil: + panic(err) + case n2 != n: + panic("Could not read enough randomness to generate nonce") + } + val := make([]byte, base64.RawStdEncoding.EncodedLen(n)) + base64.RawStdEncoding.Encode(val, b) + + return val +} diff --git a/vendor/mellium.im/sasl/options.go b/vendor/mellium.im/sasl/options.go new file mode 100644 index 000000000..427a2be59 --- /dev/null +++ b/vendor/mellium.im/sasl/options.go @@ -0,0 +1,53 @@ +// Copyright 2016 The Mellium Contributors. +// Use of this source code is governed by the BSD 2-clause license that can be +// found in the LICENSE file. + +package sasl + +import ( + "crypto/tls" +) + +// An Option represents an input to a SASL state machine. +type Option func(*Negotiator) + +func getOpts(n *Negotiator, o ...Option) { + n.credentials = func() (username, password, identity []byte) { + return + } + n.permissions = func(_ *Negotiator) bool { + return false + } + for _, f := range o { + f(n) + } +} + +// TLSState lets the state machine negotiate channel binding with a TLS session +// if supported by the underlying mechanism. +func TLSState(cs tls.ConnectionState) Option { + return func(n *Negotiator) { + n.tlsState = &cs + } +} + +// RemoteMechanisms sets a list of mechanisms supported by the remote client or +// server with which the state machine will be negotiating. +// It is used to determine if the server supports channel binding. +func RemoteMechanisms(m ...string) Option { + return func(n *Negotiator) { + n.remoteMechanisms = m + } +} + +// Credentials provides the negotiator with a username and password to +// authenticate with and (optionally) an authorization identity. +// Identity will normally be left empty to act as the username. +// The Credentials function is called lazily and may be called multiple times by +// the mechanism. +// It is not memoized by the negotiator. +func Credentials(f func() (Username, Password, Identity []byte)) Option { + return func(n *Negotiator) { + n.credentials = f + } +} diff --git a/vendor/mellium.im/sasl/plain.go b/vendor/mellium.im/sasl/plain.go new file mode 100644 index 000000000..e48643fbb --- /dev/null +++ b/vendor/mellium.im/sasl/plain.go @@ -0,0 +1,52 @@ +// Copyright 2016 The Mellium Contributors. +// Use of this source code is governed by the BSD 2-clause license that can be +// found in the LICENSE file. + +package sasl + +import ( + "bytes" +) + +var plainSep = []byte{0} + +var plain = Mechanism{ + Name: "PLAIN", + Start: func(m *Negotiator) (more bool, resp []byte, _ interface{}, err error) { + username, password, identity := m.credentials() + payload := make([]byte, 0, len(identity)+len(username)+len(password)+2) + payload = append(payload, identity...) + payload = append(payload, '\x00') + payload = append(payload, username...) + payload = append(payload, '\x00') + payload = append(payload, password...) + return false, payload, nil, nil + }, + Next: func(m *Negotiator, challenge []byte, _ interface{}) (more bool, resp []byte, _ interface{}, err error) { + // If we're a client, or we're a server that's past the AuthTextSent step, + // we should never actually hit this step. + if m.State()&Receiving != Receiving || m.State()&StepMask != AuthTextSent { + err = ErrTooManySteps + return + } + + // If we're a server, validate that the challenge looks like: + // "Identity\x00Username\x00Password" + parts := bytes.Split(challenge, plainSep) + if len(parts) != 3 { + err = ErrInvalidChallenge + return + } + + if m.Permissions(Credentials(func() (Username, Password, Identity []byte) { + return parts[1], parts[2], parts[0] + })) { + // Everything checks out as far as we know and the server should continue + // to authenticate the user. + return + } + + err = ErrAuthn + return + }, +} diff --git a/vendor/mellium.im/sasl/scram.go b/vendor/mellium.im/sasl/scram.go new file mode 100644 index 000000000..6e6bdc3c2 --- /dev/null +++ b/vendor/mellium.im/sasl/scram.go @@ -0,0 +1,227 @@ +// Copyright 2016 The Mellium Contributors. +// Use of this source code is governed by the BSD 2-clause license that can be +// found in the LICENSE file. + +package sasl + +import ( + "bytes" + "crypto/hmac" + "encoding/base64" + "errors" + "hash" + "strconv" + "strings" + + "golang.org/x/crypto/pbkdf2" +) + +const ( + gs2HeaderCBSupport = "p=tls-unique," + gs2HeaderNoServerCBSupport = "y," + gs2HeaderNoCBSupport = "n," +) + +var ( + clientKeyInput = []byte("Client Key") + serverKeyInput = []byte("Server Key") +) + +// The number of random bytes to generate for a nonce. +const noncerandlen = 16 + +func getGS2Header(name string, n *Negotiator) (gs2Header []byte) { + _, _, identity := n.Credentials() + switch { + case n.TLSState() == nil || !strings.HasSuffix(name, "-PLUS"): + // We do not support channel binding + gs2Header = []byte(gs2HeaderNoCBSupport) + case n.State()&RemoteCB == RemoteCB: + // We support channel binding and the server does too + gs2Header = []byte(gs2HeaderCBSupport) + case n.State()&RemoteCB != RemoteCB: + // We support channel binding but the server does not + gs2Header = []byte(gs2HeaderNoServerCBSupport) + } + if len(identity) > 0 { + gs2Header = append(gs2Header, []byte(`a=`)...) + gs2Header = append(gs2Header, identity...) + } + gs2Header = append(gs2Header, ',') + return +} + +func scram(name string, fn func() hash.Hash) Mechanism { + // BUG(ssw): We need a way to cache the SCRAM client and server key + // calculations. + return Mechanism{ + Name: name, + Start: func(m *Negotiator) (bool, []byte, interface{}, error) { + user, _, _ := m.Credentials() + + // Escape "=" and ",". This is mostly the same as bytes.Replace but + // faster because we can do both replacements in a single pass. + n := bytes.Count(user, []byte{'='}) + bytes.Count(user, []byte{','}) + username := make([]byte, len(user)+(n*2)) + w := 0 + start := 0 + for i := 0; i < n; i++ { + j := start + j += bytes.IndexAny(user[start:], "=,") + w += copy(username[w:], user[start:j]) + switch user[j] { + case '=': + w += copy(username[w:], "=3D") + case ',': + w += copy(username[w:], "=2C") + } + start = j + 1 + } + copy(username[w:], user[start:]) + + clientFirstMessage := make([]byte, 5+len(m.Nonce())+len(username)) + copy(clientFirstMessage, "n=") + copy(clientFirstMessage[2:], username) + copy(clientFirstMessage[2+len(username):], ",r=") + copy(clientFirstMessage[5+len(username):], m.Nonce()) + + return true, append(getGS2Header(name, m), clientFirstMessage...), clientFirstMessage, nil + }, + Next: func(m *Negotiator, challenge []byte, data interface{}) (more bool, resp []byte, cache interface{}, err error) { + if challenge == nil || len(challenge) == 0 { + return more, resp, cache, ErrInvalidChallenge + } + + if m.State()&Receiving == Receiving { + panic("not yet implemented") + } + return scramClientNext(name, fn, m, challenge, data) + }, + } +} + +func scramClientNext(name string, fn func() hash.Hash, m *Negotiator, challenge []byte, data interface{}) (more bool, resp []byte, cache interface{}, err error) { + _, password, _ := m.Credentials() + state := m.State() + + switch state & StepMask { + case AuthTextSent: + iter := -1 + var salt, nonce []byte + for _, field := range bytes.Split(challenge, []byte{','}) { + if len(field) < 3 || (len(field) >= 2 && field[1] != '=') { + continue + } + switch field[0] { + case 'i': + ival := string(bytes.TrimRight(field[2:], "\x00")) + + if iter, err = strconv.Atoi(ival); err != nil { + return + } + case 's': + salt = make([]byte, base64.StdEncoding.DecodedLen(len(field)-2)) + var n int + n, err = base64.StdEncoding.Decode(salt, field[2:]) + salt = salt[:n] + if err != nil { + return + } + case 'r': + nonce = field[2:] + case 'm': + // RFC 5802: + // m: This attribute is reserved for future extensibility. In this + // version of SCRAM, its presence in a client or a server message + // MUST cause authentication failure when the attribute is parsed by + // the other end. + err = errors.New("Server sent reserved attribute `m'") + return + } + } + + switch { + case iter < 0: + err = errors.New("Iteration count is missing") + return + case iter < 0: + err = errors.New("Iteration count is invalid") + return + case nonce == nil || !bytes.HasPrefix(nonce, m.Nonce()): + err = errors.New("Server nonce does not match client nonce") + return + case salt == nil: + err = errors.New("Server sent empty salt") + return + } + + gs2Header := getGS2Header(name, m) + tlsState := m.TLSState() + var channelBinding []byte + if tlsState != nil && strings.HasSuffix(name, "-PLUS") { + channelBinding = make( + []byte, + 2+base64.StdEncoding.EncodedLen(len(gs2Header)+len(tlsState.TLSUnique)), + ) + base64.StdEncoding.Encode(channelBinding[2:], append(gs2Header, tlsState.TLSUnique...)) + channelBinding[0] = 'c' + channelBinding[1] = '=' + } else { + channelBinding = make( + []byte, + 2+base64.StdEncoding.EncodedLen(len(gs2Header)), + ) + base64.StdEncoding.Encode(channelBinding[2:], gs2Header) + channelBinding[0] = 'c' + channelBinding[1] = '=' + } + clientFinalMessageWithoutProof := append(channelBinding, []byte(",r=")...) + clientFinalMessageWithoutProof = append(clientFinalMessageWithoutProof, nonce...) + + clientFirstMessage := data.([]byte) + authMessage := append(clientFirstMessage, ',') + authMessage = append(authMessage, challenge...) + authMessage = append(authMessage, ',') + authMessage = append(authMessage, clientFinalMessageWithoutProof...) + + saltedPassword := pbkdf2.Key(password, salt, iter, fn().Size(), fn) + + h := hmac.New(fn, saltedPassword) + h.Write(serverKeyInput) + serverKey := h.Sum(nil) + h.Reset() + + h.Write(clientKeyInput) + clientKey := h.Sum(nil) + + h = hmac.New(fn, serverKey) + h.Write(authMessage) + serverSignature := h.Sum(nil) + + h = fn() + h.Write(clientKey) + storedKey := h.Sum(nil) + h = hmac.New(fn, storedKey) + h.Write(authMessage) + clientSignature := h.Sum(nil) + clientProof := make([]byte, len(clientKey)) + xorBytes(clientProof, clientKey, clientSignature) + + encodedClientProof := make([]byte, base64.StdEncoding.EncodedLen(len(clientProof))) + base64.StdEncoding.Encode(encodedClientProof, clientProof) + clientFinalMessage := append(clientFinalMessageWithoutProof, []byte(",p=")...) + clientFinalMessage = append(clientFinalMessage, encodedClientProof...) + + return true, clientFinalMessage, serverSignature, nil + case ResponseSent: + clientCalculatedServerFinalMessage := "v=" + base64.StdEncoding.EncodeToString(data.([]byte)) + if clientCalculatedServerFinalMessage != string(challenge) { + err = ErrAuthn + return + } + // Success! + return false, nil, nil, nil + } + err = ErrInvalidState + return +} diff --git a/vendor/mellium.im/sasl/xor_generic.go b/vendor/mellium.im/sasl/xor_generic.go new file mode 100644 index 000000000..4576e632c --- /dev/null +++ b/vendor/mellium.im/sasl/xor_generic.go @@ -0,0 +1,24 @@ +// 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. + +// This file was split out from Go's crypto/cipher/xor.go + +// +build !386,!amd64,!ppc64,!ppc64le,!s390x,!appengine + +package sasl + +func xorBytes(dst, a, b []byte) int { + n := len(a) + if len(b) < n { + n = len(b) + } + for i := 0; i < n; i++ { + dst[i] = a[i] ^ b[i] + } + return n +} + +func xorWords(dst, a, b []byte) { + xorBytes(dst, a, b) +} diff --git a/vendor/mellium.im/sasl/xor_unaligned.go b/vendor/mellium.im/sasl/xor_unaligned.go new file mode 100644 index 000000000..a6b6bebcc --- /dev/null +++ b/vendor/mellium.im/sasl/xor_unaligned.go @@ -0,0 +1,52 @@ +// 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. + +// This file was split out from Go's crypto/cipher/xor.go + +// +build 386 amd64 ppc64 ppc64le s390x appengine + +package sasl + +import ( + "unsafe" +) + +const wordSize = int(unsafe.Sizeof(uintptr(0))) + +// xorBytes xors in bulk. It only works on architectures that support unaligned +// read/writes. +func xorBytes(dst, a, b []byte) int { + n := len(a) + if len(b) < n { + n = len(b) + } + + w := n / wordSize + if w > 0 { + dw := *(*[]uintptr)(unsafe.Pointer(&dst)) + aw := *(*[]uintptr)(unsafe.Pointer(&a)) + bw := *(*[]uintptr)(unsafe.Pointer(&b)) + for i := 0; i < w; i++ { + dw[i] = aw[i] ^ bw[i] + } + } + + for i := (n - n%wordSize); i < n; i++ { + dst[i] = a[i] ^ b[i] + } + + return n +} + +// xorWords XORs multiples of 4 or 8 bytes (depending on architecture.) The +// arguments are assumed to be of equal length. +func xorWords(dst, a, b []byte) { + dw := *(*[]uintptr)(unsafe.Pointer(&dst)) + aw := *(*[]uintptr)(unsafe.Pointer(&a)) + bw := *(*[]uintptr)(unsafe.Pointer(&b)) + n := len(b) / wordSize + for i := 0; i < n; i++ { + dw[i] = aw[i] ^ bw[i] + } +} diff --git a/vendor/modules.txt b/vendor/modules.txt new file mode 100644 index 000000000..1c81f9444 --- /dev/null +++ b/vendor/modules.txt @@ -0,0 +1,491 @@ +# github.com/aymerick/douceur v0.2.0 +github.com/aymerick/douceur/css +github.com/aymerick/douceur/parser +# github.com/buckket/go-blurhash v1.1.0 +## explicit +github.com/buckket/go-blurhash +github.com/buckket/go-blurhash/base83 +# github.com/coreos/go-oidc/v3 v3.0.0 +## explicit +github.com/coreos/go-oidc/v3/oidc +# github.com/cpuguy83/go-md2man/v2 v2.0.1 +## explicit +github.com/cpuguy83/go-md2man/v2/md2man +# github.com/davecgh/go-spew v1.1.1 +github.com/davecgh/go-spew/spew +# github.com/dgrijalva/jwt-go v3.2.0+incompatible +github.com/dgrijalva/jwt-go +# github.com/dsoprea/go-exif v0.0.0-20210625224831-a6301f85c82b +## explicit +github.com/dsoprea/go-exif +# github.com/dsoprea/go-exif/v2 v2.0.0-20210625224831-a6301f85c82b +## explicit +github.com/dsoprea/go-exif/v2 +github.com/dsoprea/go-exif/v2/common +github.com/dsoprea/go-exif/v2/undefined +# github.com/dsoprea/go-iptc v0.0.0-20200610044640-bc9ca208b413 +## explicit +github.com/dsoprea/go-iptc +# github.com/dsoprea/go-jpeg-image-structure v0.0.0-20210512043942-b434301c6836 +## explicit +github.com/dsoprea/go-jpeg-image-structure +# github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd +## explicit +github.com/dsoprea/go-logging +# github.com/dsoprea/go-photoshop-info-format v0.0.0-20200610045659-121dd752914d +## explicit +github.com/dsoprea/go-photoshop-info-format +# github.com/dsoprea/go-png-image-structure v0.0.0-20210512210324-29b889a6093d +## explicit +github.com/dsoprea/go-png-image-structure +# github.com/dsoprea/go-utility v0.0.0-20200717064901-2fccff4aa15e +## explicit +github.com/dsoprea/go-utility/image +# github.com/gin-contrib/cors v1.3.1 +## explicit +github.com/gin-contrib/cors +# github.com/gin-contrib/sessions v0.0.3 +## explicit +github.com/gin-contrib/sessions +github.com/gin-contrib/sessions/memstore +# github.com/gin-contrib/sse v0.1.0 +github.com/gin-contrib/sse +# github.com/gin-gonic/gin v1.7.2-0.20210722225815-d4ca9a0fb121 +## explicit +github.com/gin-gonic/gin +github.com/gin-gonic/gin/binding +github.com/gin-gonic/gin/internal/bytesconv +github.com/gin-gonic/gin/internal/json +github.com/gin-gonic/gin/render +# github.com/go-errors/errors v1.4.0 +## explicit +github.com/go-errors/errors +# github.com/go-fed/activity v1.0.1-0.20210426194615-e0de0863dcc1 +## explicit +github.com/go-fed/activity/pub +github.com/go-fed/activity/streams +github.com/go-fed/activity/streams/impl/activitystreams/property_accuracy +github.com/go-fed/activity/streams/impl/activitystreams/property_actor +github.com/go-fed/activity/streams/impl/activitystreams/property_altitude +github.com/go-fed/activity/streams/impl/activitystreams/property_anyof +github.com/go-fed/activity/streams/impl/activitystreams/property_attachment +github.com/go-fed/activity/streams/impl/activitystreams/property_attributedto +github.com/go-fed/activity/streams/impl/activitystreams/property_audience +github.com/go-fed/activity/streams/impl/activitystreams/property_bcc +github.com/go-fed/activity/streams/impl/activitystreams/property_bto +github.com/go-fed/activity/streams/impl/activitystreams/property_cc +github.com/go-fed/activity/streams/impl/activitystreams/property_closed +github.com/go-fed/activity/streams/impl/activitystreams/property_content +github.com/go-fed/activity/streams/impl/activitystreams/property_context +github.com/go-fed/activity/streams/impl/activitystreams/property_current +github.com/go-fed/activity/streams/impl/activitystreams/property_deleted +github.com/go-fed/activity/streams/impl/activitystreams/property_describes +github.com/go-fed/activity/streams/impl/activitystreams/property_duration +github.com/go-fed/activity/streams/impl/activitystreams/property_endtime +github.com/go-fed/activity/streams/impl/activitystreams/property_first +github.com/go-fed/activity/streams/impl/activitystreams/property_followers +github.com/go-fed/activity/streams/impl/activitystreams/property_following +github.com/go-fed/activity/streams/impl/activitystreams/property_formertype +github.com/go-fed/activity/streams/impl/activitystreams/property_generator +github.com/go-fed/activity/streams/impl/activitystreams/property_height +github.com/go-fed/activity/streams/impl/activitystreams/property_href +github.com/go-fed/activity/streams/impl/activitystreams/property_hreflang +github.com/go-fed/activity/streams/impl/activitystreams/property_icon +github.com/go-fed/activity/streams/impl/activitystreams/property_image +github.com/go-fed/activity/streams/impl/activitystreams/property_inbox +github.com/go-fed/activity/streams/impl/activitystreams/property_inreplyto +github.com/go-fed/activity/streams/impl/activitystreams/property_instrument +github.com/go-fed/activity/streams/impl/activitystreams/property_items +github.com/go-fed/activity/streams/impl/activitystreams/property_last +github.com/go-fed/activity/streams/impl/activitystreams/property_latitude +github.com/go-fed/activity/streams/impl/activitystreams/property_liked +github.com/go-fed/activity/streams/impl/activitystreams/property_likes +github.com/go-fed/activity/streams/impl/activitystreams/property_location +github.com/go-fed/activity/streams/impl/activitystreams/property_longitude +github.com/go-fed/activity/streams/impl/activitystreams/property_mediatype +github.com/go-fed/activity/streams/impl/activitystreams/property_name +github.com/go-fed/activity/streams/impl/activitystreams/property_next +github.com/go-fed/activity/streams/impl/activitystreams/property_object +github.com/go-fed/activity/streams/impl/activitystreams/property_oneof +github.com/go-fed/activity/streams/impl/activitystreams/property_ordereditems +github.com/go-fed/activity/streams/impl/activitystreams/property_origin +github.com/go-fed/activity/streams/impl/activitystreams/property_outbox +github.com/go-fed/activity/streams/impl/activitystreams/property_partof +github.com/go-fed/activity/streams/impl/activitystreams/property_preferredusername +github.com/go-fed/activity/streams/impl/activitystreams/property_prev +github.com/go-fed/activity/streams/impl/activitystreams/property_preview +github.com/go-fed/activity/streams/impl/activitystreams/property_published +github.com/go-fed/activity/streams/impl/activitystreams/property_radius +github.com/go-fed/activity/streams/impl/activitystreams/property_rel +github.com/go-fed/activity/streams/impl/activitystreams/property_relationship +github.com/go-fed/activity/streams/impl/activitystreams/property_replies +github.com/go-fed/activity/streams/impl/activitystreams/property_result +github.com/go-fed/activity/streams/impl/activitystreams/property_shares +github.com/go-fed/activity/streams/impl/activitystreams/property_source +github.com/go-fed/activity/streams/impl/activitystreams/property_startindex +github.com/go-fed/activity/streams/impl/activitystreams/property_starttime +github.com/go-fed/activity/streams/impl/activitystreams/property_streams +github.com/go-fed/activity/streams/impl/activitystreams/property_subject +github.com/go-fed/activity/streams/impl/activitystreams/property_summary +github.com/go-fed/activity/streams/impl/activitystreams/property_tag +github.com/go-fed/activity/streams/impl/activitystreams/property_target +github.com/go-fed/activity/streams/impl/activitystreams/property_to +github.com/go-fed/activity/streams/impl/activitystreams/property_totalitems +github.com/go-fed/activity/streams/impl/activitystreams/property_units +github.com/go-fed/activity/streams/impl/activitystreams/property_updated +github.com/go-fed/activity/streams/impl/activitystreams/property_url +github.com/go-fed/activity/streams/impl/activitystreams/property_width +github.com/go-fed/activity/streams/impl/activitystreams/type_accept +github.com/go-fed/activity/streams/impl/activitystreams/type_activity +github.com/go-fed/activity/streams/impl/activitystreams/type_add +github.com/go-fed/activity/streams/impl/activitystreams/type_announce +github.com/go-fed/activity/streams/impl/activitystreams/type_application +github.com/go-fed/activity/streams/impl/activitystreams/type_arrive +github.com/go-fed/activity/streams/impl/activitystreams/type_article +github.com/go-fed/activity/streams/impl/activitystreams/type_audio +github.com/go-fed/activity/streams/impl/activitystreams/type_block +github.com/go-fed/activity/streams/impl/activitystreams/type_collection +github.com/go-fed/activity/streams/impl/activitystreams/type_collectionpage +github.com/go-fed/activity/streams/impl/activitystreams/type_create +github.com/go-fed/activity/streams/impl/activitystreams/type_delete +github.com/go-fed/activity/streams/impl/activitystreams/type_dislike +github.com/go-fed/activity/streams/impl/activitystreams/type_document +github.com/go-fed/activity/streams/impl/activitystreams/type_event +github.com/go-fed/activity/streams/impl/activitystreams/type_flag +github.com/go-fed/activity/streams/impl/activitystreams/type_follow +github.com/go-fed/activity/streams/impl/activitystreams/type_group +github.com/go-fed/activity/streams/impl/activitystreams/type_ignore +github.com/go-fed/activity/streams/impl/activitystreams/type_image +github.com/go-fed/activity/streams/impl/activitystreams/type_intransitiveactivity +github.com/go-fed/activity/streams/impl/activitystreams/type_invite +github.com/go-fed/activity/streams/impl/activitystreams/type_join +github.com/go-fed/activity/streams/impl/activitystreams/type_leave +github.com/go-fed/activity/streams/impl/activitystreams/type_like +github.com/go-fed/activity/streams/impl/activitystreams/type_link +github.com/go-fed/activity/streams/impl/activitystreams/type_listen +github.com/go-fed/activity/streams/impl/activitystreams/type_mention +github.com/go-fed/activity/streams/impl/activitystreams/type_move +github.com/go-fed/activity/streams/impl/activitystreams/type_note +github.com/go-fed/activity/streams/impl/activitystreams/type_object +github.com/go-fed/activity/streams/impl/activitystreams/type_offer +github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollection +github.com/go-fed/activity/streams/impl/activitystreams/type_orderedcollectionpage +github.com/go-fed/activity/streams/impl/activitystreams/type_organization +github.com/go-fed/activity/streams/impl/activitystreams/type_page +github.com/go-fed/activity/streams/impl/activitystreams/type_person +github.com/go-fed/activity/streams/impl/activitystreams/type_place +github.com/go-fed/activity/streams/impl/activitystreams/type_profile +github.com/go-fed/activity/streams/impl/activitystreams/type_question +github.com/go-fed/activity/streams/impl/activitystreams/type_read +github.com/go-fed/activity/streams/impl/activitystreams/type_reject +github.com/go-fed/activity/streams/impl/activitystreams/type_relationship +github.com/go-fed/activity/streams/impl/activitystreams/type_remove +github.com/go-fed/activity/streams/impl/activitystreams/type_service +github.com/go-fed/activity/streams/impl/activitystreams/type_tentativeaccept +github.com/go-fed/activity/streams/impl/activitystreams/type_tentativereject +github.com/go-fed/activity/streams/impl/activitystreams/type_tombstone +github.com/go-fed/activity/streams/impl/activitystreams/type_travel +github.com/go-fed/activity/streams/impl/activitystreams/type_undo +github.com/go-fed/activity/streams/impl/activitystreams/type_update +github.com/go-fed/activity/streams/impl/activitystreams/type_video +github.com/go-fed/activity/streams/impl/activitystreams/type_view +github.com/go-fed/activity/streams/impl/forgefed/property_assignedto +github.com/go-fed/activity/streams/impl/forgefed/property_committed +github.com/go-fed/activity/streams/impl/forgefed/property_committedby +github.com/go-fed/activity/streams/impl/forgefed/property_dependants +github.com/go-fed/activity/streams/impl/forgefed/property_dependedby +github.com/go-fed/activity/streams/impl/forgefed/property_dependencies +github.com/go-fed/activity/streams/impl/forgefed/property_dependson +github.com/go-fed/activity/streams/impl/forgefed/property_description +github.com/go-fed/activity/streams/impl/forgefed/property_earlyitems +github.com/go-fed/activity/streams/impl/forgefed/property_filesadded +github.com/go-fed/activity/streams/impl/forgefed/property_filesmodified +github.com/go-fed/activity/streams/impl/forgefed/property_filesremoved +github.com/go-fed/activity/streams/impl/forgefed/property_forks +github.com/go-fed/activity/streams/impl/forgefed/property_hash +github.com/go-fed/activity/streams/impl/forgefed/property_isresolved +github.com/go-fed/activity/streams/impl/forgefed/property_ref +github.com/go-fed/activity/streams/impl/forgefed/property_team +github.com/go-fed/activity/streams/impl/forgefed/property_ticketstrackedby +github.com/go-fed/activity/streams/impl/forgefed/property_tracksticketsfor +github.com/go-fed/activity/streams/impl/forgefed/type_branch +github.com/go-fed/activity/streams/impl/forgefed/type_commit +github.com/go-fed/activity/streams/impl/forgefed/type_push +github.com/go-fed/activity/streams/impl/forgefed/type_repository +github.com/go-fed/activity/streams/impl/forgefed/type_ticket +github.com/go-fed/activity/streams/impl/forgefed/type_ticketdependency +github.com/go-fed/activity/streams/impl/jsonld/property_id +github.com/go-fed/activity/streams/impl/jsonld/property_type +github.com/go-fed/activity/streams/impl/toot/property_blurhash +github.com/go-fed/activity/streams/impl/toot/property_discoverable +github.com/go-fed/activity/streams/impl/toot/property_featured +github.com/go-fed/activity/streams/impl/toot/property_signaturealgorithm +github.com/go-fed/activity/streams/impl/toot/property_signaturevalue +github.com/go-fed/activity/streams/impl/toot/property_voterscount +github.com/go-fed/activity/streams/impl/toot/type_emoji +github.com/go-fed/activity/streams/impl/toot/type_identityproof +github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_owner +github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickey +github.com/go-fed/activity/streams/impl/w3idsecurityv1/property_publickeypem +github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey +github.com/go-fed/activity/streams/values/anyURI +github.com/go-fed/activity/streams/values/bcp47 +github.com/go-fed/activity/streams/values/boolean +github.com/go-fed/activity/streams/values/dateTime +github.com/go-fed/activity/streams/values/duration +github.com/go-fed/activity/streams/values/float +github.com/go-fed/activity/streams/values/langString +github.com/go-fed/activity/streams/values/nonNegativeInteger +github.com/go-fed/activity/streams/values/rfc2045 +github.com/go-fed/activity/streams/values/rfc5988 +github.com/go-fed/activity/streams/values/string +github.com/go-fed/activity/streams/vocab +# github.com/go-fed/httpsig v1.1.0 +## explicit +github.com/go-fed/httpsig +# github.com/go-pg/pg/extra/pgdebug v0.2.0 +## explicit +github.com/go-pg/pg/extra/pgdebug +# github.com/go-pg/pg/v10 v10.10.3 +## explicit +github.com/go-pg/pg/v10 +github.com/go-pg/pg/v10/internal +github.com/go-pg/pg/v10/internal/parser +github.com/go-pg/pg/v10/internal/pool +github.com/go-pg/pg/v10/orm +github.com/go-pg/pg/v10/pgjson +github.com/go-pg/pg/v10/types +# github.com/go-pg/zerochecker v0.2.0 +github.com/go-pg/zerochecker +# github.com/go-playground/locales v0.13.0 +github.com/go-playground/locales +github.com/go-playground/locales/currency +# github.com/go-playground/universal-translator v0.17.0 +github.com/go-playground/universal-translator +# github.com/go-playground/validator/v10 v10.7.0 +## explicit +github.com/go-playground/validator/v10 +# github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b +github.com/go-xmlfmt/xmlfmt +# github.com/goccy/go-json v0.5.1 +github.com/goccy/go-json +github.com/goccy/go-json/internal/encoder +github.com/goccy/go-json/internal/encoder/vm +github.com/goccy/go-json/internal/encoder/vm_escaped +github.com/goccy/go-json/internal/encoder/vm_escaped_indent +github.com/goccy/go-json/internal/encoder/vm_indent +github.com/goccy/go-json/internal/errors +github.com/goccy/go-json/internal/runtime +# github.com/golang/geo v0.0.0-20210211234256-740aa86cb551 +## explicit +github.com/golang/geo/r1 +github.com/golang/geo/r2 +github.com/golang/geo/r3 +github.com/golang/geo/s1 +github.com/golang/geo/s2 +# github.com/golang/mock v1.6.0 +## explicit +# github.com/golang/protobuf v1.5.2 +github.com/golang/protobuf/proto +# github.com/google/uuid v1.3.0 +## explicit +github.com/google/uuid +# github.com/gorilla/context v1.1.1 +github.com/gorilla/context +# github.com/gorilla/css v1.0.0 +github.com/gorilla/css/scanner +# github.com/gorilla/securecookie v1.1.1 +github.com/gorilla/securecookie +# github.com/gorilla/sessions v1.2.1 +## explicit +github.com/gorilla/sessions +# github.com/gorilla/websocket v1.4.2 +## explicit +github.com/gorilla/websocket +# github.com/h2non/filetype v1.1.1 +## explicit +github.com/h2non/filetype +github.com/h2non/filetype/matchers +github.com/h2non/filetype/matchers/isobmff +github.com/h2non/filetype/types +# github.com/jinzhu/inflection v1.0.0 +github.com/jinzhu/inflection +# github.com/json-iterator/go v1.1.11 +## explicit +github.com/json-iterator/go +# github.com/leodido/go-urn v1.2.1 +## explicit +github.com/leodido/go-urn +# github.com/mattn/go-isatty v0.0.13 +## explicit +github.com/mattn/go-isatty +# github.com/microcosm-cc/bluemonday v1.0.15 +## explicit +github.com/microcosm-cc/bluemonday +github.com/microcosm-cc/bluemonday/css +# github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd +## explicit +github.com/modern-go/concurrent +# github.com/modern-go/reflect2 v1.0.1 +## explicit +github.com/modern-go/reflect2 +# github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 +## explicit +github.com/nfnt/resize +# github.com/oklog/ulid v1.3.1 +## explicit +github.com/oklog/ulid +# github.com/onsi/gomega v1.14.0 +## explicit +# github.com/pmezard/go-difflib v1.0.0 +github.com/pmezard/go-difflib/difflib +# github.com/quasoft/memstore v0.0.0-20191010062613-2bce066d2b0b +## explicit +github.com/quasoft/memstore +# github.com/russross/blackfriday/v2 v2.1.0 +## explicit +github.com/russross/blackfriday/v2 +# github.com/sirupsen/logrus v1.8.1 +## explicit +github.com/sirupsen/logrus +# github.com/stretchr/testify v1.7.0 +## explicit +github.com/stretchr/testify/assert +github.com/stretchr/testify/require +github.com/stretchr/testify/suite +# github.com/superseriousbusiness/exifremove v0.0.0-20210330092427-6acd27eac203 +## explicit +github.com/superseriousbusiness/exifremove/pkg/exifremove +# github.com/superseriousbusiness/oauth2/v4 v4.3.0-SSB +## explicit +github.com/superseriousbusiness/oauth2/v4 +github.com/superseriousbusiness/oauth2/v4/errors +github.com/superseriousbusiness/oauth2/v4/generates +github.com/superseriousbusiness/oauth2/v4/manage +github.com/superseriousbusiness/oauth2/v4/models +github.com/superseriousbusiness/oauth2/v4/server +# github.com/tidwall/buntdb v1.2.4 +## explicit +# github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc +github.com/tmthrgd/go-hex +# github.com/ugorji/go/codec v1.2.6 +github.com/ugorji/go/codec +# github.com/urfave/cli/v2 v2.3.0 +## explicit +github.com/urfave/cli/v2 +# github.com/vmihailenco/bufpool v0.1.11 +github.com/vmihailenco/bufpool +# github.com/vmihailenco/msgpack/v5 v5.3.4 +## explicit +github.com/vmihailenco/msgpack/v5 +github.com/vmihailenco/msgpack/v5/msgpcode +# github.com/vmihailenco/tagparser v0.1.2 +github.com/vmihailenco/tagparser +github.com/vmihailenco/tagparser/internal +github.com/vmihailenco/tagparser/internal/parser +# github.com/vmihailenco/tagparser/v2 v2.0.0 +github.com/vmihailenco/tagparser/v2 +github.com/vmihailenco/tagparser/v2/internal +github.com/vmihailenco/tagparser/v2/internal/parser +# github.com/wagslane/go-password-validator v0.3.0 +## explicit +github.com/wagslane/go-password-validator +# golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 +## explicit +golang.org/x/crypto/acme +golang.org/x/crypto/acme/autocert +golang.org/x/crypto/bcrypt +golang.org/x/crypto/blake2b +golang.org/x/crypto/blake2s +golang.org/x/crypto/blowfish +golang.org/x/crypto/chacha20 +golang.org/x/crypto/curve25519 +golang.org/x/crypto/curve25519/internal/field +golang.org/x/crypto/ed25519 +golang.org/x/crypto/ed25519/internal/edwards25519 +golang.org/x/crypto/internal/subtle +golang.org/x/crypto/pbkdf2 +golang.org/x/crypto/poly1305 +golang.org/x/crypto/ripemd160 +golang.org/x/crypto/sha3 +golang.org/x/crypto/ssh +golang.org/x/crypto/ssh/internal/bcrypt_pbkdf +# golang.org/x/net v0.0.0-20210614182718-04defd469f4e +golang.org/x/net/context +golang.org/x/net/context/ctxhttp +golang.org/x/net/html +golang.org/x/net/html/atom +golang.org/x/net/idna +# golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 +## explicit +golang.org/x/oauth2 +golang.org/x/oauth2/internal +# golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c +## explicit +golang.org/x/sys/cpu +golang.org/x/sys/internal/unsafeheader +golang.org/x/sys/unix +golang.org/x/sys/windows +# golang.org/x/text v0.3.6 +## explicit +golang.org/x/text/internal/language +golang.org/x/text/internal/language/compact +golang.org/x/text/internal/tag +golang.org/x/text/language +golang.org/x/text/secure/bidirule +golang.org/x/text/transform +golang.org/x/text/unicode/bidi +golang.org/x/text/unicode/norm +# google.golang.org/appengine v1.6.7 +google.golang.org/appengine/internal +google.golang.org/appengine/internal/base +google.golang.org/appengine/internal/datastore +google.golang.org/appengine/internal/log +google.golang.org/appengine/internal/remote_api +google.golang.org/appengine/internal/urlfetch +google.golang.org/appengine/urlfetch +# google.golang.org/protobuf v1.26.0 +google.golang.org/protobuf/encoding/prototext +google.golang.org/protobuf/encoding/protowire +google.golang.org/protobuf/internal/descfmt +google.golang.org/protobuf/internal/descopts +google.golang.org/protobuf/internal/detrand +google.golang.org/protobuf/internal/encoding/defval +google.golang.org/protobuf/internal/encoding/messageset +google.golang.org/protobuf/internal/encoding/tag +google.golang.org/protobuf/internal/encoding/text +google.golang.org/protobuf/internal/errors +google.golang.org/protobuf/internal/filedesc +google.golang.org/protobuf/internal/filetype +google.golang.org/protobuf/internal/flags +google.golang.org/protobuf/internal/genid +google.golang.org/protobuf/internal/impl +google.golang.org/protobuf/internal/order +google.golang.org/protobuf/internal/pragma +google.golang.org/protobuf/internal/set +google.golang.org/protobuf/internal/strs +google.golang.org/protobuf/internal/version +google.golang.org/protobuf/proto +google.golang.org/protobuf/reflect/protodesc +google.golang.org/protobuf/reflect/protoreflect +google.golang.org/protobuf/reflect/protoregistry +google.golang.org/protobuf/runtime/protoiface +google.golang.org/protobuf/runtime/protoimpl +google.golang.org/protobuf/types/descriptorpb +# gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c +## explicit +# gopkg.in/square/go-jose.v2 v2.5.1 +gopkg.in/square/go-jose.v2 +gopkg.in/square/go-jose.v2/cipher +gopkg.in/square/go-jose.v2/json +# gopkg.in/yaml.v2 v2.4.0 +## explicit +gopkg.in/yaml.v2 +# gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b +## explicit +gopkg.in/yaml.v3 +# mellium.im/sasl v0.2.1 +mellium.im/sasl +# mvdan.cc/xurls/v2 v2.3.0 +## explicit +mvdan.cc/xurls/v2 diff --git a/vendor/mvdan.cc/xurls/v2/.gitignore b/vendor/mvdan.cc/xurls/v2/.gitignore new file mode 100644 index 000000000..663c8cb54 --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/.gitignore @@ -0,0 +1,3 @@ +cmd/xurls/xurls +generate/tldsgen/tldsgen +generate/regexgen/regexgen diff --git a/vendor/mvdan.cc/xurls/v2/LICENSE b/vendor/mvdan.cc/xurls/v2/LICENSE new file mode 100644 index 000000000..7d71d51a5 --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2015, Daniel Martí. 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 copyright holder 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/mvdan.cc/xurls/v2/README.md b/vendor/mvdan.cc/xurls/v2/README.md new file mode 100644 index 000000000..67f721ede --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/README.md @@ -0,0 +1,37 @@ +# xurls + +[![Go Reference](https://pkg.go.dev/badge/mvdan.cc/xurls/v2.svg)](https://pkg.go.dev/mvdan.cc/xurls/v2) + +Extract urls from text using regular expressions. Requires Go 1.15 or later. + +```go +import "mvdan.cc/xurls/v2" + +func main() { + rxRelaxed := xurls.Relaxed() + rxRelaxed.FindString("Do gophers live in golang.org?") // "golang.org" + rxRelaxed.FindString("This string does not have a URL") // "" + + rxStrict := xurls.Strict() + rxStrict.FindAllString("must have scheme: http://foo.com/.", -1) // []string{"http://foo.com/"} + rxStrict.FindAllString("no scheme, no match: foo.com", -1) // []string{} +} +``` + +Since API is centered around [regexp.Regexp](https://golang.org/pkg/regexp/#Regexp), +many other methods are available, such as finding the [byte indexes](https://golang.org/pkg/regexp/#Regexp.FindAllIndex) +for all matches. + +Note that calling the exposed functions means compiling a regular expression, so +repeated calls should be avoided. + +#### cmd/xurls + +To install the tool globally: + + cd $(mktemp -d); go mod init tmp; GO111MODULE=on go get mvdan.cc/xurls/v2/cmd/xurls + +```shell +$ echo "Do gophers live in http://golang.org?" | xurls +http://golang.org +``` diff --git a/vendor/mvdan.cc/xurls/v2/go.mod b/vendor/mvdan.cc/xurls/v2/go.mod new file mode 100644 index 000000000..6e3249907 --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/go.mod @@ -0,0 +1,5 @@ +module mvdan.cc/xurls/v2 + +go 1.15 + +require github.com/rogpeppe/go-internal v1.8.0 diff --git a/vendor/mvdan.cc/xurls/v2/go.sum b/vendor/mvdan.cc/xurls/v2/go.sum new file mode 100644 index 000000000..3559ed0d8 --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/go.sum @@ -0,0 +1,13 @@ +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= diff --git a/vendor/mvdan.cc/xurls/v2/schemes.go b/vendor/mvdan.cc/xurls/v2/schemes.go new file mode 100644 index 000000000..5f6a80ae4 --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/schemes.go @@ -0,0 +1,353 @@ +// Generated by schemesgen + +package xurls + +// Schemes is a sorted list of all IANA assigned schemes. +// +// Source: +// https://www.iana.org/assignments/uri-schemes/uri-schemes-1.csv +var Schemes = []string{ + `aaa`, + `aaas`, + `about`, + `acap`, + `acct`, + `acd`, + `acr`, + `adiumxtra`, + `adt`, + `afp`, + `afs`, + `aim`, + `amss`, + `android`, + `appdata`, + `apt`, + `ark`, + `attachment`, + `aw`, + `barion`, + `beshare`, + `bitcoin`, + `bitcoincash`, + `blob`, + `bolo`, + `browserext`, + `cabal`, + `calculator`, + `callto`, + `cap`, + `cast`, + `casts`, + `chrome`, + `chrome-extension`, + `cid`, + `coap`, + `coap+tcp`, + `coap+ws`, + `coaps`, + `coaps+tcp`, + `coaps+ws`, + `com-eventbrite-attendee`, + `content`, + `content-type`, + `conti`, + `crid`, + `cvs`, + `dab`, + `dat`, + `data`, + `dav`, + `diaspora`, + `dict`, + `did`, + `dis`, + `dlna-playcontainer`, + `dlna-playsingle`, + `dns`, + `dntp`, + `doi`, + `dpp`, + `drm`, + `drop`, + `dtmi`, + `dtn`, + `dvb`, + `dvx`, + `dweb`, + `ed2k`, + `elsi`, + `embedded`, + `ens`, + `ethereum`, + `example`, + `facetime`, + `fax`, + `feed`, + `feedready`, + `file`, + `filesystem`, + `finger`, + `first-run-pen-experience`, + `fish`, + `fm`, + `ftp`, + `fuchsia-pkg`, + `geo`, + `gg`, + `git`, + `gizmoproject`, + `go`, + `gopher`, + `graph`, + `gtalk`, + `h323`, + `ham`, + `hcap`, + `hcp`, + `http`, + `https`, + `hxxp`, + `hxxps`, + `hydrazone`, + `hyper`, + `iax`, + `icap`, + `icon`, + `im`, + `imap`, + `info`, + `iotdisco`, + `ipfs`, + `ipn`, + `ipns`, + `ipp`, + `ipps`, + `irc`, + `irc6`, + `ircs`, + `iris`, + `iris.beep`, + `iris.lwz`, + `iris.xpc`, + `iris.xpcs`, + `isostore`, + `itms`, + `jabber`, + `jar`, + `jms`, + `keyparc`, + `lastfm`, + `lbry`, + `ldap`, + `ldaps`, + `leaptofrogans`, + `lorawan`, + `lvlt`, + `magnet`, + `mailserver`, + `mailto`, + `maps`, + `market`, + `matrix`, + `message`, + `microsoft.windows.camera`, + `microsoft.windows.camera.multipicker`, + `microsoft.windows.camera.picker`, + `mid`, + `mms`, + `modem`, + `mongodb`, + `moz`, + `ms-access`, + `ms-browser-extension`, + `ms-calculator`, + `ms-drive-to`, + `ms-enrollment`, + `ms-excel`, + `ms-eyecontrolspeech`, + `ms-gamebarservices`, + `ms-gamingoverlay`, + `ms-getoffice`, + `ms-help`, + `ms-infopath`, + `ms-inputapp`, + `ms-lockscreencomponent-config`, + `ms-media-stream-id`, + `ms-mixedrealitycapture`, + `ms-mobileplans`, + `ms-officeapp`, + `ms-people`, + `ms-project`, + `ms-powerpoint`, + `ms-publisher`, + `ms-restoretabcompanion`, + `ms-screenclip`, + `ms-screensketch`, + `ms-search`, + `ms-search-repair`, + `ms-secondary-screen-controller`, + `ms-secondary-screen-setup`, + `ms-settings`, + `ms-settings-airplanemode`, + `ms-settings-bluetooth`, + `ms-settings-camera`, + `ms-settings-cellular`, + `ms-settings-cloudstorage`, + `ms-settings-connectabledevices`, + `ms-settings-displays-topology`, + `ms-settings-emailandaccounts`, + `ms-settings-language`, + `ms-settings-location`, + `ms-settings-lock`, + `ms-settings-nfctransactions`, + `ms-settings-notifications`, + `ms-settings-power`, + `ms-settings-privacy`, + `ms-settings-proximity`, + `ms-settings-screenrotation`, + `ms-settings-wifi`, + `ms-settings-workplace`, + `ms-spd`, + `ms-sttoverlay`, + `ms-transit-to`, + `ms-useractivityset`, + `ms-virtualtouchpad`, + `ms-visio`, + `ms-walk-to`, + `ms-whiteboard`, + `ms-whiteboard-cmd`, + `ms-word`, + `msnim`, + `msrp`, + `msrps`, + `mss`, + `mt`, + `mtqp`, + `mumble`, + `mupdate`, + `mvn`, + `news`, + `nfs`, + `ni`, + `nih`, + `nntp`, + `notes`, + `num`, + `ocf`, + `oid`, + `onenote`, + `onenote-cmd`, + `opaquelocktoken`, + `openpgp4fpr`, + `otpauth`, + `pack`, + `palm`, + `paparazzi`, + `payment`, + `payto`, + `pkcs11`, + `platform`, + `pop`, + `pres`, + `prospero`, + `proxy`, + `pwid`, + `psyc`, + `pttp`, + `qb`, + `query`, + `quic-transport`, + `redis`, + `rediss`, + `reload`, + `res`, + `resource`, + `rmi`, + `rsync`, + `rtmfp`, + `rtmp`, + `rtsp`, + `rtsps`, + `rtspu`, + `sarif`, + `secondlife`, + `secret-token`, + `service`, + `session`, + `sftp`, + `sgn`, + `shc`, + `shttp`, + `sieve`, + `simpleledger`, + `sip`, + `sips`, + `skype`, + `smb`, + `sms`, + `smtp`, + `snews`, + `snmp`, + `soap.beep`, + `soap.beeps`, + `soldat`, + `spiffe`, + `spotify`, + `ssb`, + `ssh`, + `steam`, + `stun`, + `stuns`, + `submit`, + `swh`, + `svn`, + `tag`, + `teamspeak`, + `tel`, + `teliaeid`, + `telnet`, + `tftp`, + `things`, + `thismessage`, + `tip`, + `tn3270`, + `tool`, + `turn`, + `turns`, + `tv`, + `udp`, + `unreal`, + `upt`, + `urn`, + `ut2004`, + `v-event`, + `vemmi`, + `ventrilo`, + `videotex`, + `vnc`, + `view-source`, + `vscode`, + `vscode-insiders`, + `vsls`, + `wais`, + `wcr`, + `webcal`, + `wifi`, + `wpid`, + `ws`, + `wss`, + `wtai`, + `wyciwyg`, + `xcon`, + `xcon-userid`, + `xfire`, + `xmlrpc.beep`, + `xmlrpc.beeps`, + `xmpp`, + `xri`, + `ymsgr`, + `z39.50`, + `z39.50r`, + `z39.50s`, +} diff --git a/vendor/mvdan.cc/xurls/v2/tlds.go b/vendor/mvdan.cc/xurls/v2/tlds.go new file mode 100644 index 000000000..5b1ca5fd0 --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/tlds.go @@ -0,0 +1,1519 @@ +// Generated by tldsgen + +package xurls + +// TLDs is a sorted list of all public top-level domains. +// +// Sources: +// * https://data.iana.org/TLD/tlds-alpha-by-domain.txt +// * https://publicsuffix.org/list/effective_tld_names.dat +var TLDs = []string{ + `aaa`, + `aarp`, + `abarth`, + `abb`, + `abbott`, + `abbvie`, + `abc`, + `able`, + `abogado`, + `abudhabi`, + `ac`, + `academy`, + `accenture`, + `accountant`, + `accountants`, + `aco`, + `actor`, + `ad`, + `adac`, + `ads`, + `adult`, + `ae`, + `aeg`, + `aero`, + `aetna`, + `af`, + `afamilycompany`, + `afl`, + `africa`, + `ag`, + `agakhan`, + `agency`, + `ai`, + `aig`, + `airbus`, + `airforce`, + `airtel`, + `akdn`, + `al`, + `alfaromeo`, + `alibaba`, + `alipay`, + `allfinanz`, + `allstate`, + `ally`, + `alsace`, + `alstom`, + `am`, + `amazon`, + `americanexpress`, + `americanfamily`, + `amex`, + `amfam`, + `amica`, + `amsterdam`, + `analytics`, + `android`, + `anquan`, + `anz`, + `ao`, + `aol`, + `apartments`, + `app`, + `apple`, + `aq`, + `aquarelle`, + `ar`, + `arab`, + `aramco`, + `archi`, + `army`, + `arpa`, + `art`, + `arte`, + `as`, + `asda`, + `asia`, + `associates`, + `at`, + `athleta`, + `attorney`, + `au`, + `auction`, + `audi`, + `audible`, + `audio`, + `auspost`, + `author`, + `auto`, + `autos`, + `avianca`, + `aw`, + `aws`, + `ax`, + `axa`, + `az`, + `azure`, + `ba`, + `baby`, + `baidu`, + `banamex`, + `bananarepublic`, + `band`, + `bank`, + `bar`, + `barcelona`, + `barclaycard`, + `barclays`, + `barefoot`, + `bargains`, + `baseball`, + `basketball`, + `bauhaus`, + `bayern`, + `bb`, + `bbc`, + `bbt`, + `bbva`, + `bcg`, + `bcn`, + `bd`, + `be`, + `beats`, + `beauty`, + `beer`, + `bentley`, + `berlin`, + `best`, + `bestbuy`, + `bet`, + `bf`, + `bg`, + `bh`, + `bharti`, + `bi`, + `bible`, + `bid`, + `bike`, + `bing`, + `bingo`, + `bio`, + `biz`, + `bj`, + `black`, + `blackfriday`, + `blockbuster`, + `blog`, + `bloomberg`, + `blue`, + `bm`, + `bms`, + `bmw`, + `bn`, + `bnpparibas`, + `bo`, + `boats`, + `boehringer`, + `bofa`, + `bom`, + `bond`, + `boo`, + `book`, + `booking`, + `bosch`, + `bostik`, + `boston`, + `bot`, + `boutique`, + `box`, + `br`, + `bradesco`, + `bridgestone`, + `broadway`, + `broker`, + `brother`, + `brussels`, + `bs`, + `bt`, + `budapest`, + `bugatti`, + `build`, + `builders`, + `business`, + `buy`, + `buzz`, + `bv`, + `bw`, + `by`, + `bz`, + `bzh`, + `ca`, + `cab`, + `cafe`, + `cal`, + `call`, + `calvinklein`, + `cam`, + `camera`, + `camp`, + `cancerresearch`, + `canon`, + `capetown`, + `capital`, + `capitalone`, + `car`, + `caravan`, + `cards`, + `care`, + `career`, + `careers`, + `cars`, + `casa`, + `case`, + `cash`, + `casino`, + `cat`, + `catering`, + `catholic`, + `cba`, + `cbn`, + `cbre`, + `cbs`, + `cc`, + `cd`, + `center`, + `ceo`, + `cern`, + `cf`, + `cfa`, + `cfd`, + `cg`, + `ch`, + `chanel`, + `channel`, + `charity`, + `chase`, + `chat`, + `cheap`, + `chintai`, + `christmas`, + `chrome`, + `church`, + `ci`, + `cipriani`, + `circle`, + `cisco`, + `citadel`, + `citi`, + `citic`, + `city`, + `cityeats`, + `ck`, + `cl`, + `claims`, + `cleaning`, + `click`, + `clinic`, + `clinique`, + `clothing`, + `cloud`, + `club`, + `clubmed`, + `cm`, + `cn`, + `co`, + `coach`, + `codes`, + `coffee`, + `college`, + `cologne`, + `com`, + `comcast`, + `commbank`, + `community`, + `company`, + `compare`, + `computer`, + `comsec`, + `condos`, + `construction`, + `consulting`, + `contact`, + `contractors`, + `cooking`, + `cookingchannel`, + `cool`, + `coop`, + `corsica`, + `country`, + `coupon`, + `coupons`, + `courses`, + `cpa`, + `cr`, + `credit`, + `creditcard`, + `creditunion`, + `cricket`, + `crown`, + `crs`, + `cruise`, + `cruises`, + `csc`, + `cu`, + `cuisinella`, + `cv`, + `cw`, + `cx`, + `cy`, + `cymru`, + `cyou`, + `cz`, + `dabur`, + `dad`, + `dance`, + `data`, + `date`, + `dating`, + `datsun`, + `day`, + `dclk`, + `dds`, + `de`, + `deal`, + `dealer`, + `deals`, + `degree`, + `delivery`, + `dell`, + `deloitte`, + `delta`, + `democrat`, + `dental`, + `dentist`, + `desi`, + `design`, + `dev`, + `dhl`, + `diamonds`, + `diet`, + `digital`, + `direct`, + `directory`, + `discount`, + `discover`, + `dish`, + `diy`, + `dj`, + `dk`, + `dm`, + `dnp`, + `do`, + `docs`, + `doctor`, + `dog`, + `domains`, + `dot`, + `download`, + `drive`, + `dtv`, + `dubai`, + `duck`, + `dunlop`, + `dupont`, + `durban`, + `dvag`, + `dvr`, + `dz`, + `earth`, + `eat`, + `ec`, + `eco`, + `edeka`, + `edu`, + `education`, + `ee`, + `eg`, + `email`, + `emerck`, + `energy`, + `engineer`, + `engineering`, + `enterprises`, + `epson`, + `equipment`, + `er`, + `ericsson`, + `erni`, + `es`, + `esq`, + `estate`, + `et`, + `etisalat`, + `eu`, + `eurovision`, + `eus`, + `events`, + `exchange`, + `expert`, + `exposed`, + `express`, + `extraspace`, + `fage`, + `fail`, + `fairwinds`, + `faith`, + `family`, + `fan`, + `fans`, + `farm`, + `farmers`, + `fashion`, + `fast`, + `fedex`, + `feedback`, + `ferrari`, + `ferrero`, + `fi`, + `fiat`, + `fidelity`, + `fido`, + `film`, + `final`, + `finance`, + `financial`, + `fire`, + `firestone`, + `firmdale`, + `fish`, + `fishing`, + `fit`, + `fitness`, + `fj`, + `fk`, + `flickr`, + `flights`, + `flir`, + `florist`, + `flowers`, + `fly`, + `fm`, + `fo`, + `foo`, + `food`, + `foodnetwork`, + `football`, + `ford`, + `forex`, + `forsale`, + `forum`, + `foundation`, + `fox`, + `fr`, + `free`, + `fresenius`, + `frl`, + `frogans`, + `frontdoor`, + `frontier`, + `ftr`, + `fujitsu`, + `fun`, + `fund`, + `furniture`, + `futbol`, + `fyi`, + `ga`, + `gal`, + `gallery`, + `gallo`, + `gallup`, + `game`, + `games`, + `gap`, + `garden`, + `gay`, + `gb`, + `gbiz`, + `gd`, + `gdn`, + `ge`, + `gea`, + `gent`, + `genting`, + `george`, + `gf`, + `gg`, + `ggee`, + `gh`, + `gi`, + `gift`, + `gifts`, + `gives`, + `giving`, + `gl`, + `glade`, + `glass`, + `gle`, + `global`, + `globo`, + `gm`, + `gmail`, + `gmbh`, + `gmo`, + `gmx`, + `gn`, + `godaddy`, + `gold`, + `goldpoint`, + `golf`, + `goo`, + `goodyear`, + `goog`, + `google`, + `gop`, + `got`, + `gov`, + `gp`, + `gq`, + `gr`, + `grainger`, + `graphics`, + `gratis`, + `green`, + `gripe`, + `grocery`, + `group`, + `gs`, + `gt`, + `gu`, + `guardian`, + `gucci`, + `guge`, + `guide`, + `guitars`, + `guru`, + `gw`, + `gy`, + `hair`, + `hamburg`, + `hangout`, + `haus`, + `hbo`, + `hdfc`, + `hdfcbank`, + `health`, + `healthcare`, + `help`, + `helsinki`, + `here`, + `hermes`, + `hgtv`, + `hiphop`, + `hisamitsu`, + `hitachi`, + `hiv`, + `hk`, + `hkt`, + `hm`, + `hn`, + `hockey`, + `holdings`, + `holiday`, + `homedepot`, + `homegoods`, + `homes`, + `homesense`, + `honda`, + `horse`, + `hospital`, + `host`, + `hosting`, + `hot`, + `hoteles`, + `hotels`, + `hotmail`, + `house`, + `how`, + `hr`, + `hsbc`, + `ht`, + `hu`, + `hughes`, + `hyatt`, + `hyundai`, + `ibm`, + `icbc`, + `ice`, + `icu`, + `id`, + `ie`, + `ieee`, + `ifm`, + `ikano`, + `il`, + `im`, + `imamat`, + `imdb`, + `immo`, + `immobilien`, + `in`, + `inc`, + `industries`, + `infiniti`, + `info`, + `ing`, + `ink`, + `institute`, + `insurance`, + `insure`, + `int`, + `international`, + `intuit`, + `investments`, + `io`, + `ipiranga`, + `iq`, + `ir`, + `irish`, + `is`, + `ismaili`, + `ist`, + `istanbul`, + `it`, + `itau`, + `itv`, + `jaguar`, + `java`, + `jcb`, + `je`, + `jeep`, + `jetzt`, + `jewelry`, + `jio`, + `jll`, + `jm`, + `jmp`, + `jnj`, + `jo`, + `jobs`, + `joburg`, + `jot`, + `joy`, + `jp`, + `jpmorgan`, + `jprs`, + `juegos`, + `juniper`, + `kaufen`, + `kddi`, + `ke`, + `kerryhotels`, + `kerrylogistics`, + `kerryproperties`, + `kfh`, + `kg`, + `kh`, + `ki`, + `kia`, + `kim`, + `kinder`, + `kindle`, + `kitchen`, + `kiwi`, + `km`, + `kn`, + `koeln`, + `komatsu`, + `kosher`, + `kp`, + `kpmg`, + `kpn`, + `kr`, + `krd`, + `kred`, + `kuokgroup`, + `kw`, + `ky`, + `kyoto`, + `kz`, + `la`, + `lacaixa`, + `lamborghini`, + `lamer`, + `lancaster`, + `lancia`, + `land`, + `landrover`, + `lanxess`, + `lasalle`, + `lat`, + `latino`, + `latrobe`, + `law`, + `lawyer`, + `lb`, + `lc`, + `lds`, + `lease`, + `leclerc`, + `lefrak`, + `legal`, + `lego`, + `lexus`, + `lgbt`, + `li`, + `lidl`, + `life`, + `lifeinsurance`, + `lifestyle`, + `lighting`, + `like`, + `lilly`, + `limited`, + `limo`, + `lincoln`, + `linde`, + `link`, + `lipsy`, + `live`, + `living`, + `lixil`, + `lk`, + `llc`, + `llp`, + `loan`, + `loans`, + `locker`, + `locus`, + `loft`, + `lol`, + `london`, + `lotte`, + `lotto`, + `love`, + `lpl`, + `lplfinancial`, + `lr`, + `ls`, + `lt`, + `ltd`, + `ltda`, + `lu`, + `lundbeck`, + `luxe`, + `luxury`, + `lv`, + `ly`, + `ma`, + `macys`, + `madrid`, + `maif`, + `maison`, + `makeup`, + `man`, + `management`, + `mango`, + `map`, + `market`, + `marketing`, + `markets`, + `marriott`, + `marshalls`, + `maserati`, + `mattel`, + `mba`, + `mc`, + `mckinsey`, + `md`, + `me`, + `med`, + `media`, + `meet`, + `melbourne`, + `meme`, + `memorial`, + `men`, + `menu`, + `merckmsd`, + `mg`, + `mh`, + `miami`, + `microsoft`, + `mil`, + `mini`, + `mint`, + `mit`, + `mitsubishi`, + `mk`, + `ml`, + `mlb`, + `mls`, + `mm`, + `mma`, + `mn`, + `mo`, + `mobi`, + `mobile`, + `moda`, + `moe`, + `moi`, + `mom`, + `monash`, + `money`, + `monster`, + `mormon`, + `mortgage`, + `moscow`, + `moto`, + `motorcycles`, + `mov`, + `movie`, + `mp`, + `mq`, + `mr`, + `ms`, + `msd`, + `mt`, + `mtn`, + `mtr`, + `mu`, + `museum`, + `music`, + `mutual`, + `mv`, + `mw`, + `mx`, + `my`, + `mz`, + `na`, + `nab`, + `nagoya`, + `name`, + `natura`, + `navy`, + `nba`, + `nc`, + `ne`, + `nec`, + `net`, + `netbank`, + `netflix`, + `network`, + `neustar`, + `new`, + `news`, + `next`, + `nextdirect`, + `nexus`, + `nf`, + `nfl`, + `ng`, + `ngo`, + `nhk`, + `ni`, + `nico`, + `nike`, + `nikon`, + `ninja`, + `nissan`, + `nissay`, + `nl`, + `no`, + `nokia`, + `northwesternmutual`, + `norton`, + `now`, + `nowruz`, + `nowtv`, + `np`, + `nr`, + `nra`, + `nrw`, + `ntt`, + `nu`, + `nyc`, + `nz`, + `obi`, + `observer`, + `off`, + `office`, + `okinawa`, + `olayan`, + `olayangroup`, + `oldnavy`, + `ollo`, + `om`, + `omega`, + `one`, + `ong`, + `onion`, + `onl`, + `online`, + `ooo`, + `open`, + `oracle`, + `orange`, + `org`, + `organic`, + `origins`, + `osaka`, + `otsuka`, + `ott`, + `ovh`, + `pa`, + `page`, + `panasonic`, + `paris`, + `pars`, + `partners`, + `parts`, + `party`, + `passagens`, + `pay`, + `pccw`, + `pe`, + `pet`, + `pf`, + `pfizer`, + `pg`, + `ph`, + `pharmacy`, + `phd`, + `philips`, + `phone`, + `photo`, + `photography`, + `photos`, + `physio`, + `pics`, + `pictet`, + `pictures`, + `pid`, + `pin`, + `ping`, + `pink`, + `pioneer`, + `pizza`, + `pk`, + `pl`, + `place`, + `play`, + `playstation`, + `plumbing`, + `plus`, + `pm`, + `pn`, + `pnc`, + `pohl`, + `poker`, + `politie`, + `porn`, + `post`, + `pr`, + `pramerica`, + `praxi`, + `press`, + `prime`, + `pro`, + `prod`, + `productions`, + `prof`, + `progressive`, + `promo`, + `properties`, + `property`, + `protection`, + `pru`, + `prudential`, + `ps`, + `pt`, + `pub`, + `pw`, + `pwc`, + `py`, + `qa`, + `qpon`, + `quebec`, + `quest`, + `qvc`, + `racing`, + `radio`, + `raid`, + `re`, + `read`, + `realestate`, + `realtor`, + `realty`, + `recipes`, + `red`, + `redstone`, + `redumbrella`, + `rehab`, + `reise`, + `reisen`, + `reit`, + `reliance`, + `ren`, + `rent`, + `rentals`, + `repair`, + `report`, + `republican`, + `rest`, + `restaurant`, + `review`, + `reviews`, + `rexroth`, + `rich`, + `richardli`, + `ricoh`, + `ril`, + `rio`, + `rip`, + `rmit`, + `ro`, + `rocher`, + `rocks`, + `rodeo`, + `rogers`, + `room`, + `rs`, + `rsvp`, + `ru`, + `rugby`, + `ruhr`, + `run`, + `rw`, + `rwe`, + `ryukyu`, + `sa`, + `saarland`, + `safe`, + `safety`, + `sakura`, + `sale`, + `salon`, + `samsclub`, + `samsung`, + `sandvik`, + `sandvikcoromant`, + `sanofi`, + `sap`, + `sarl`, + `sas`, + `save`, + `saxo`, + `sb`, + `sbi`, + `sbs`, + `sc`, + `sca`, + `scb`, + `schaeffler`, + `schmidt`, + `scholarships`, + `school`, + `schule`, + `schwarz`, + `science`, + `scjohnson`, + `scot`, + `sd`, + `se`, + `search`, + `seat`, + `secure`, + `security`, + `seek`, + `select`, + `sener`, + `services`, + `ses`, + `seven`, + `sew`, + `sex`, + `sexy`, + `sfr`, + `sg`, + `sh`, + `shangrila`, + `sharp`, + `shaw`, + `shell`, + `shia`, + `shiksha`, + `shoes`, + `shop`, + `shopping`, + `shouji`, + `show`, + `showtime`, + `si`, + `silk`, + `sina`, + `singles`, + `site`, + `sj`, + `sk`, + `ski`, + `skin`, + `sky`, + `skype`, + `sl`, + `sling`, + `sm`, + `smart`, + `smile`, + `sn`, + `sncf`, + `so`, + `soccer`, + `social`, + `softbank`, + `software`, + `sohu`, + `solar`, + `solutions`, + `song`, + `sony`, + `soy`, + `spa`, + `space`, + `sport`, + `spot`, + `sr`, + `srl`, + `ss`, + `st`, + `stada`, + `staples`, + `star`, + `statebank`, + `statefarm`, + `stc`, + `stcgroup`, + `stockholm`, + `storage`, + `store`, + `stream`, + `studio`, + `study`, + `style`, + `su`, + `sucks`, + `supplies`, + `supply`, + `support`, + `surf`, + `surgery`, + `suzuki`, + `sv`, + `swatch`, + `swiftcover`, + `swiss`, + `sx`, + `sy`, + `sydney`, + `systems`, + `sz`, + `tab`, + `taipei`, + `talk`, + `taobao`, + `target`, + `tatamotors`, + `tatar`, + `tattoo`, + `tax`, + `taxi`, + `tc`, + `tci`, + `td`, + `tdk`, + `team`, + `tech`, + `technology`, + `tel`, + `temasek`, + `tennis`, + `teva`, + `tf`, + `tg`, + `th`, + `thd`, + `theater`, + `theatre`, + `tiaa`, + `tickets`, + `tienda`, + `tiffany`, + `tips`, + `tires`, + `tirol`, + `tj`, + `tjmaxx`, + `tjx`, + `tk`, + `tkmaxx`, + `tl`, + `tm`, + `tmall`, + `tn`, + `to`, + `today`, + `tokyo`, + `tools`, + `top`, + `toray`, + `toshiba`, + `total`, + `tours`, + `town`, + `toyota`, + `toys`, + `tr`, + `trade`, + `trading`, + `training`, + `travel`, + `travelchannel`, + `travelers`, + `travelersinsurance`, + `trust`, + `trv`, + `tt`, + `tube`, + `tui`, + `tunes`, + `tushu`, + `tv`, + `tvs`, + `tw`, + `tz`, + `ua`, + `ubank`, + `ubs`, + `ug`, + `uk`, + `unicom`, + `university`, + `uno`, + `uol`, + `ups`, + `us`, + `uy`, + `uz`, + `va`, + `vacations`, + `vana`, + `vanguard`, + `vc`, + `ve`, + `vegas`, + `ventures`, + `verisign`, + `vermögensberater`, + `vermögensberatung`, + `versicherung`, + `vet`, + `vg`, + `vi`, + `viajes`, + `video`, + `vig`, + `viking`, + `villas`, + `vin`, + `vip`, + `virgin`, + `visa`, + `vision`, + `viva`, + `vivo`, + `vlaanderen`, + `vn`, + `vodka`, + `volkswagen`, + `volvo`, + `vote`, + `voting`, + `voto`, + `voyage`, + `vu`, + `vuelos`, + `wales`, + `walmart`, + `walter`, + `wang`, + `wanggou`, + `watch`, + `watches`, + `weather`, + `weatherchannel`, + `webcam`, + `weber`, + `website`, + `wed`, + `wedding`, + `weibo`, + `weir`, + `wf`, + `whoswho`, + `wien`, + `wiki`, + `williamhill`, + `win`, + `windows`, + `wine`, + `winners`, + `wme`, + `wolterskluwer`, + `woodside`, + `work`, + `works`, + `world`, + `wow`, + `ws`, + `wtc`, + `wtf`, + `xbox`, + `xerox`, + `xfinity`, + `xihuan`, + `xin`, + `xxx`, + `xyz`, + `yachts`, + `yahoo`, + `yamaxun`, + `yandex`, + `ye`, + `yodobashi`, + `yoga`, + `yokohama`, + `you`, + `youtube`, + `yt`, + `yun`, + `za`, + `zappos`, + `zara`, + `zero`, + `zip`, + `zm`, + `zone`, + `zuerich`, + `zw`, + `ελ`, + `ευ`, + `бг`, + `бел`, + `дети`, + `ею`, + `католик`, + `ком`, + `мкд`, + `мон`, + `москва`, + `онлайн`, + `орг`, + `рус`, + `рф`, + `сайт`, + `срб`, + `укр`, + `қаз`, + `հայ`, + `קום`, + `ابوظبي`, + `اتصالات`, + `ارامكو`, + `الاردن`, + `البحرين`, + `الجزائر`, + `السعودية`, + `السعوديه`, + `السعودیة`, + `السعودیۃ`, + `العليان`, + `المغرب`, + `اليمن`, + `امارات`, + `ايران`, + `ایران`, + `بارت`, + `بازار`, + `بيتك`, + `بھارت`, + `تونس`, + `سودان`, + `سوريا`, + `سورية`, + `شبكة`, + `عراق`, + `عرب`, + `عمان`, + `فلسطين`, + `قطر`, + `كاثوليك`, + `كوم`, + `مصر`, + `مليسيا`, + `موريتانيا`, + `موقع`, + `همراه`, + `پاكستان`, + `پاکستان`, + `ڀارت`, + `कॉम`, + `नेट`, + `भारत`, + `भारतम्`, + `भारोत`, + `संगठन`, + `বাংলা`, + `ভারত`, + `ভাৰত`, + `ਭਾਰਤ`, + `ભારત`, + `ଭାରତ`, + `இந்தியா`, + `இலங்கை`, + `சிங்கப்பூர்`, + `భారత్`, + `ಭಾರತ`, + `ഭാരതം`, + `ලංකා`, + `คอม`, + `ไทย`, + `ລາວ`, + `გე`, + `みんな`, + `アマゾン`, + `クラウド`, + `グーグル`, + `コム`, + `ストア`, + `セール`, + `ファッション`, + `ポイント`, + `世界`, + `中信`, + `中国`, + `中國`, + `中文网`, + `亚马逊`, + `企业`, + `佛山`, + `信息`, + `健康`, + `八卦`, + `公司`, + `公益`, + `台湾`, + `台灣`, + `商城`, + `商店`, + `商标`, + `嘉里`, + `嘉里大酒店`, + `在线`, + `大众汽车`, + `大拿`, + `天主教`, + `娱乐`, + `家電`, + `广东`, + `微博`, + `慈善`, + `我爱你`, + `手机`, + `招聘`, + `政务`, + `政府`, + `新加坡`, + `新闻`, + `时尚`, + `書籍`, + `机构`, + `淡马锡`, + `游戏`, + `澳門`, + `澳门`, + `点看`, + `移动`, + `组织机构`, + `网址`, + `网店`, + `网站`, + `网络`, + `联通`, + `臺灣`, + `诺基亚`, + `谷歌`, + `购物`, + `通販`, + `集团`, + `電訊盈科`, + `飞利浦`, + `食品`, + `餐厅`, + `香格里拉`, + `香港`, + `닷넷`, + `닷컴`, + `삼성`, + `한국`, +} diff --git a/vendor/mvdan.cc/xurls/v2/tlds_pseudo.go b/vendor/mvdan.cc/xurls/v2/tlds_pseudo.go new file mode 100644 index 000000000..94c67d15b --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/tlds_pseudo.go @@ -0,0 +1,24 @@ +// Copyright (c) 2015, Daniel Martí <mvdan@mvdan.cc> +// See LICENSE for licensing information + +package xurls + +// PseudoTLDs is a sorted list of some widely used unofficial TLDs. +// +// Sources: +// * https://en.wikipedia.org/wiki/Pseudo-top-level_domain +// * https://en.wikipedia.org/wiki/Category:Pseudo-top-level_domains +// * https://tools.ietf.org/html/draft-grothoff-iesg-special-use-p2p-names-00 +// * https://www.iana.org/assignments/special-use-domain-names/special-use-domain-names.xhtml +var PseudoTLDs = []string{ + `bit`, // Namecoin + `example`, // Example domain + `exit`, // Tor exit node + `gnu`, // GNS by public key + `i2p`, // I2P network + `invalid`, // Invalid domain + `local`, // Local network + `localhost`, // Local network + `test`, // Test domain + `zkey`, // GNS domain name +} diff --git a/vendor/mvdan.cc/xurls/v2/unicode.go b/vendor/mvdan.cc/xurls/v2/unicode.go new file mode 100644 index 000000000..40995e469 --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/unicode.go @@ -0,0 +1,5 @@ +// Generated by unicodegen + +package xurls + +const otherPuncMinusDoubleQuote = "!#%&'\\*,\\./:;\\?@\\\\¡§¶·¿;·՚՛՜՝՞՟։׀׃׆׳״؉؊،؍؛؞؟٪٫٬٭۔܀܁܂܃܄܅܆܇܈܉܊܋܌܍߷߸߹࠰࠱࠲࠳࠴࠵࠶࠷࠸࠹࠺࠻࠼࠽࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄༅༆༇༈༉༊་༌།༎༏༐༑༒༔྅࿐࿑࿒࿓࿔࿙࿚၊။၌၍၎၏჻፠፡።፣፤፥፦፧፨᙮᛫᛬᛭᜵᜶។៕៖៘៙៚᠀᠁᠂᠃᠄᠅᠇᠈᠉᠊᥄᥅᨞᨟᪠᪡᪢᪣᪤᪥᪦᪨᪩᪪᪫᪬᪭᭚᭛᭜᭝᭞᭟᭠᯼᯽᯾᯿᰻᰼᰽᰾᰿᱾᱿᳀᳁᳂᳃᳄᳅᳆᳇᳓‖‗†‡•‣․‥…‧‰‱′″‴‵‶‷‸※‼‽‾⁁⁂⁃⁇⁈⁉⁊⁋⁌⁍⁎⁏⁐⁑⁓⁕⁖⁗⁘⁙⁚⁛⁜⁝⁞⳹⳺⳻⳼⳾⳿⵰⸀⸁⸆⸇⸈⸋⸎⸏⸐⸑⸒⸓⸔⸕⸖⸘⸙⸛⸞⸟⸪⸫⸬⸭⸮⸰⸱⸲⸳⸴⸵⸶⸷⸸⸹⸼⸽⸾⸿⹁⹃⹄⹅⹆⹇⹈⹉⹊⹋⹌⹍⹎⹏⹒、。〃〽・꓾꓿꘍꘎꘏꙳꙾꛲꛳꛴꛵꛶꛷꡴꡵꡶꡷꣎꣏꣸꣹꣺꣼꤮꤯꥟꧁꧂꧃꧄꧅꧆꧇꧈꧉꧊꧋꧌꧍꧞꧟꩜꩝꩞꩟꫞꫟꫰꫱꯫︐︑︒︓︔︕︖︙︰﹅﹆﹉﹊﹋﹌﹐﹑﹒﹔﹕﹖﹗﹟﹠﹡﹨﹪﹫!"#%&'*,./:;?@\。、・𐄀𐄁𐄂𐎟𐏐𐕯𐡗𐤟𐤿𐩐𐩑𐩒𐩓𐩔𐩕𐩖𐩗𐩘𐩿𐫰𐫱𐫲𐫳𐫴𐫵𐫶𐬹𐬺𐬻𐬼𐬽𐬾𐬿𐮙𐮚𐮛𐮜𐽕𐽖𐽗𐽘𐽙𑁇𑁈𑁉𑁊𑁋𑁌𑁍𑂻𑂼𑂾𑂿𑃀𑃁𑅀𑅁𑅂𑅃𑅴𑅵𑇅𑇆𑇇𑇈𑇍𑇛𑇝𑇞𑇟𑈸𑈹𑈺𑈻𑈼𑈽𑊩𑑋𑑌𑑍𑑎𑑏𑑚𑑛𑑝𑓆𑗁𑗂𑗃𑗄𑗅𑗆𑗇𑗈𑗉𑗊𑗋𑗌𑗍𑗎𑗏𑗐𑗑𑗒𑗓𑗔𑗕𑗖𑗗𑙁𑙂𑙃𑙠𑙡𑙢𑙣𑙤𑙥𑙦𑙧𑙨𑙩𑙪𑙫𑙬𑜼𑜽𑜾𑠻𑥄𑥅𑥆𑧢𑨿𑩀𑩁𑩂𑩃𑩄𑩅𑩆𑪚𑪛𑪜𑪞𑪟𑪠𑪡𑪢𑱁𑱂𑱃𑱄𑱅𑱰𑱱𑻷𑻸𑿿𒑰𒑱𒑲𒑳𒑴𖩮𖩯𖫵𖬷𖬸𖬹𖬺𖬻𖭄𖺗𖺘𖺙𖺚𖿢𛲟𝪇𝪈𝪉𝪊𝪋𞥞𞥟" diff --git a/vendor/mvdan.cc/xurls/v2/xurls.go b/vendor/mvdan.cc/xurls/v2/xurls.go new file mode 100644 index 000000000..053e6436f --- /dev/null +++ b/vendor/mvdan.cc/xurls/v2/xurls.go @@ -0,0 +1,140 @@ +// Copyright (c) 2015, Daniel Martí <mvdan@mvdan.cc> +// See LICENSE for licensing information + +// Package xurls extracts urls from plain text using regular expressions. +package xurls + +import ( + "regexp" + "strings" + "unicode/utf8" +) + +//go:generate go run ./generate/tldsgen +//go:generate go run ./generate/schemesgen +//go:generate go run ./generate/unicodegen + +const ( + letter = `\p{L}` + mark = `\p{M}` + number = `\p{N}` + iriChar = letter + mark + number + currency = `\p{Sc}` + otherSymb = `\p{So}` + endChar = iriChar + `/\-_+&~%=#` + currency + otherSymb + midChar = endChar + "_*" + otherPuncMinusDoubleQuote + wellParen = `\([` + midChar + `]*(\([` + midChar + `]*\)[` + midChar + `]*)*\)` + wellBrack = `\[[` + midChar + `]*(\[[` + midChar + `]*\][` + midChar + `]*)*\]` + wellBrace = `\{[` + midChar + `]*(\{[` + midChar + `]*\}[` + midChar + `]*)*\}` + wellAll = wellParen + `|` + wellBrack + `|` + wellBrace + pathCont = `([` + midChar + `]*(` + wellAll + `|[` + endChar + `])+)+` + + iri = `[` + iriChar + `]([` + iriChar + `\-]*[` + iriChar + `])?` + domain = `(` + iri + `\.)+` + octet = `(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])` + ipv4Addr = `\b` + octet + `\.` + octet + `\.` + octet + `\.` + octet + `\b` + ipv6Addr = `([0-9a-fA-F]{1,4}:([0-9a-fA-F]{1,4}:([0-9a-fA-F]{1,4}:([0-9a-fA-F]{1,4}:([0-9a-fA-F]{1,4}:[0-9a-fA-F]{0,4}|:[0-9a-fA-F]{1,4})?|(:[0-9a-fA-F]{1,4}){0,2})|(:[0-9a-fA-F]{1,4}){0,3})|(:[0-9a-fA-F]{1,4}){0,4})|:(:[0-9a-fA-F]{1,4}){0,5})((:[0-9a-fA-F]{1,4}){2}|:(25[0-5]|(2[0-4]|1[0-9]|[1-9])?[0-9])(\.(25[0-5]|(2[0-4]|1[0-9]|[1-9])?[0-9])){3})|(([0-9a-fA-F]{1,4}:){1,6}|:):[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){7}:` + ipAddr = `(` + ipv4Addr + `|` + ipv6Addr + `)` + port = `(:[0-9]*)?` +) + +// AnyScheme can be passed to StrictMatchingScheme to match any possibly valid +// scheme, and not just the known ones. +var AnyScheme = `([a-zA-Z][a-zA-Z.\-+]*://|` + anyOf(SchemesNoAuthority...) + `:)` + +// SchemesNoAuthority is a sorted list of some well-known url schemes that are +// followed by ":" instead of "://". The list includes both officially +// registered and unofficial schemes. +var SchemesNoAuthority = []string{ + `bitcoin`, // Bitcoin + `cid`, // Content-ID + `file`, // Files + `magnet`, // Torrent magnets + `mailto`, // Mail + `mid`, // Message-ID + `sms`, // SMS + `tel`, // Telephone + `xmpp`, // XMPP +} + +// SchemesUnofficial is a sorted list of some well-known url schemes which +// aren't officially registered just yet. They tend to correspond to software. +// +// Mostly collected from https://en.wikipedia.org/wiki/List_of_URI_schemes#Unofficial_but_common_URI_schemes. +var SchemesUnofficial = []string{ + `jdbc`, // Java database Connectivity + `postgres`, // PostgreSQL (short form) + `postgresql`, // PostgreSQL + `slack`, // Slack + `zoommtg`, // Zoom (desktop) + `zoomus`, // Zoom (mobile) +} + +func anyOf(strs ...string) string { + var b strings.Builder + b.WriteByte('(') + for i, s := range strs { + if i != 0 { + b.WriteByte('|') + } + b.WriteString(regexp.QuoteMeta(s)) + } + b.WriteByte(')') + return b.String() +} + +func strictExp() string { + schemes := `((` + anyOf(Schemes...) + `|` + anyOf(SchemesUnofficial...) + `)://|` + anyOf(SchemesNoAuthority...) + `:)` + return `(?i)` + schemes + `(?-i)` + pathCont +} + +func relaxedExp() string { + var asciiTLDs, unicodeTLDs []string + for i, tld := range TLDs { + if tld[0] >= utf8.RuneSelf { + asciiTLDs = TLDs[:i:i] + unicodeTLDs = TLDs[i:] + break + } + } + punycode := `xn--[a-z0-9-]+` + + // Use \b to make sure ASCII TLDs are immediately followed by a word break. + // We can't do that with unicode TLDs, as they don't see following + // whitespace as a word break. + tlds := `(?i)(` + punycode + `|` + anyOf(append(asciiTLDs, PseudoTLDs...)...) + `\b|` + anyOf(unicodeTLDs...) + `)(?-i)` + site := domain + tlds + + hostName := `(` + site + `|` + ipAddr + `)` + webURL := hostName + port + `(/|/` + pathCont + `)?` + email := `[a-zA-Z0-9._%\-+]+@` + site + return strictExp() + `|` + webURL + `|` + email +} + +// Strict produces a regexp that matches any URL with a scheme in either the +// Schemes or SchemesNoAuthority lists. +func Strict() *regexp.Regexp { + re := regexp.MustCompile(strictExp()) + re.Longest() + return re +} + +// Relaxed produces a regexp that matches any URL matched by Strict, plus any +// URL with no scheme or email address. +func Relaxed() *regexp.Regexp { + re := regexp.MustCompile(relaxedExp()) + re.Longest() + return re +} + +// StrictMatchingScheme produces a regexp similar to Strict, but requiring that +// the scheme match the given regular expression. See AnyScheme too. +func StrictMatchingScheme(exp string) (*regexp.Regexp, error) { + strictMatching := `(?i)(` + exp + `)(?-i)` + pathCont + re, err := regexp.Compile(strictMatching) + if err != nil { + return nil, err + } + re.Longest() + return re, nil +}